Cartographier des données linguistiques avec Python – 3

Les précédents articles consacrés à la cartographie de données linguistiques avec Python permettaient de créer une carte sur laquelle les informations d’un fichier CSV étaient représentées par une ou plusieurs séries de points. Dans certains cas, il est plus pertinent de ne pas représenter des points indépendants, mais plutôt une aire, une surface.

Voici comment faire, toujours en partant d’un fichier CSV (ou TSV) contenant une série de coordonnées géographiques.

Continuer la lecture de « Cartographier des données linguistiques avec Python – 3 »

Cartographier des données linguistiques avec Python – 2

Lorsqu’on sait produire une carte avec des données représentées par des points, il est très simple d’ajouter plusieurs séries de données correspondant à autant de séries de points. Pour améliorer la lisibilité de l’ensemble, il peut devenir intéressant (voire indispensable) de ne pas afficher la totalité des données simultanément.

Pour les cartes créées avec folium, c’est ce que permet de faire la classe LayerControl().

Continuer la lecture de « Cartographier des données linguistiques avec Python – 2 »

Cartographier des données linguistiques avec Python – 1

Certaines recherches en linguistique peuvent donner lieu à une collecte de données géographiques, et bénéficieraient alors grandement d’une représentation visuelle sous forme de carte.

Même sans grandes connaissances de la géomatique, il est possible de produire des représentations cartographiques, certes basiques mais informatives. Pour commencer, je vous présente dans cet article comment produire, à partir d’un fichier CSV, une carte en HTML avec des données représentées par des points, en Python 3.

Continuer la lecture de « Cartographier des données linguistiques avec Python – 1 »

Didόmena dans votre carnet Hypothèses

Didόmena est un entrepôt de données collaboratif qui permet aux membres des unités de recherche sous tutelle de l’EHESS de stocker durablement leurs données, mais aussi de les partager. Comme l’indiquent le site ainsi que la plaquette de présentation de la plateforme, “les données y sont décrites selon les standards de l’information scientifique et technique”, qui respectent les principes FAIR : Findable, Accessible, Interoperable, Reusable.

Il est notamment très simple d’afficher un jeu de données de Didόmena sur un carnet Hypothèses. Voici comment faire.

Continuer la lecture de « Didόmena dans votre carnet Hypothèses »

Sélecteur 1000 langues en HTML

Pour créer des questionnaires ou formulaires relatifs à des projets de recherche en linguistique, il est parfois nécessaire de proposer à l’utilisateur/utilisatrice de renseigner une ou plusieurs langue(s) : par exemple pour indiquer quelle(s) langue(s) lui sont connues, lister les langues présentes dans son environnement à une période donnée, spécifier quelle(s) langue(s) elle ou il utilise selon les contextes, renseigner dans quelle(s) langue(s) est rédigé un document donné, etc. Il est beaucoup plus simple, notamment pour analyser ensuite les réponses fournies, de disposer d’une liste de référence affichée sous forme de liste déroulante plutôt que de recueillir une réponse sous forme de texte libre.

Je vous présente ici un sélecteur prêt à l’emploi, au format HTML, qui permet de faire un choix parmi une liste de 1193 langues différentes.

Continuer la lecture de « Sélecteur 1000 langues en HTML »

Dico pour qui ?

Attention, ceci est un article de vulgarisation ! Si vous avez déjà des connaissances en lexicographie bilingue, vous n’apprendrez peut-être rien de nouveau. Dans le cas contraire, cet article vous permettra de mieux comprendre comment sont conçus les dictionnaires bilingues. La lecture de l’article Les types de dictionnaires est conseillée avant d’aborder celui-ci.

Les dictionnaires bilingues sont des outils d’apprentissage des langues, et on sait que dans un dictionnaire bilingue, il y a une langue source et une langue cible (éventuellement dite langue de traduction).

Intuitivement, il semblerait logique que le public visé par un dictionnaire bilingue soit des personnes qui connaissent déjà la langue source, et qui apprennent la langue cible : on connaît un mot, et on cherche sa traduction.

… Et, intuitivement, il semblerait aussi logique que le public visé par un dictionnaire bilingue soit des personnes qui ne connaissent pas la langue cible, et qui apprennent la langue source : on tombe sur un mot qu’on ne comprend pas, et on cherche sa traduction.

Mais alors, que faire face à une telle ambivalence ?

Continuer la lecture de « Dico pour qui ? »

SudachiPy VS spaCy

L’article consacré aux nouveaux modèles spaCy pour le chinois et le japonais montrait un exemple d’utilisation pour le chinois. Ceci avait permis de comparer la sortie produite par spaCy à celle de Jieba, étiqueteur morphosyntaxique qui avait également fait l’objet d’un article sur ce carnet.

Tout comme la segmentation du chinois avec spaCy est (par défaut) issue de Jieba, la segmentation du japonais s’appuie sur SudachiPy. Puisque j’ai depuis présenté l’installation et le fonctionnement de SudachiPy, voici maintenant un aperçu de l’étiquetage du japonais avec spaCy.

Continuer la lecture de « SudachiPy VS spaCy »

Uniformisation d’encodage en deux étapes

La lecture préalable de l’article Fiabilité de chardet est fortement conseillée.

Lorsqu’on travaille avec un corpus textuel composé de nombreux fichiers dont l’encodage n’est pas uniforme, l’une des premières étapes de traitement est de convertir l’ensemble du corpus vers un encodage unique et reconnu par les outils qui seront utilisés ensuite. Il existe plusieurs façons d’y parvenir, telle que celle présentée dans cet article, qui fait appel à chardet.

Toutefois, en fonction de la composition du corpus et des objectifs poursuivis, détecter et convertir en masse l’encodage de l’ensemble des fichiers n’est pas forcément la solution la plus efficace. Voici une alternative où la détection et la conversion constituent deux étapes distinctes.

Continuer la lecture de « Uniformisation d’encodage en deux étapes »

Parser un flux de syndication avec Python

En faisant des recherches pour l’écriture d’un programme, je suis tombé par hasard sur la documentation de feedparser, qui permet de lire les informations d’un flux RSS (ou Atom) avec Python. Ce n’était pas ce que je cherchais, mais j’ai quand même voulu tester, à titre informatif : il s’avère que c’est extrêmement simple.

Continuer la lecture de « Parser un flux de syndication avec Python »

Étiquetage morphosyntaxique avec SudachiPy

J’ai présenté dans de précédents articles deux librairies Python permettant de réaliser un étiquetage morphosyntaxique (ou POS-tagging) sur des textes écrits en chinois : PyNLPIR et Jieba.

Voici maintenant quelques mots sur un étiqueteur permettant de traiter des textes en japonais : SudachiPy, la version librairie Python de l’étiqueteur et analyseur morphologique Sudachi.

Continuer la lecture de « Étiquetage morphosyntaxique avec SudachiPy »

Les types de dictionnaires

Attention, ceci est un article de vulgarisation ! Si vous avez déjà une certaine connaissance de la lexicographie, il ne sera certainement pas instructif pour vous. Si ce n’est pas le cas, vous trouverez ici quelques explications qui vous permettront d’aborder sereinement de prochains articles de ce carnet portant sur les dictionnaires, bilingues notamment.

Les dictionnaires sont des outils couramment utilisés, dans le cadre de la scolarité ou de la vie quotidienne. On peut d’ailleurs s’en servir sans avoir une connaissance particulière des principes de leur conception ou des critères sur lesquels est constitué leur contenu. Par exemple, savez-vous que Le Petit Robert et Le Petit Larousse illustré relèvent de deux types de dictionnaires différents ?

Pour y voir plus clair, je vous propose ici une brève description de quelques grands types de dictionnaires. Ce ne sera pas exhaustif, mais ces explications devraient permettre à toute personne non spécialiste de se repérer dans de prochains articles de ce carnet, qui évoqueront éventuellement cette typologie.

Continuer la lecture de « Les types de dictionnaires »

Fiabilité de chardet

L’utilisation de chardet a déjà été évoquée sur ce carnet, dans cet article consacré à l’uniformisation de l’encodage d’un corpus textuel.

J’y indiquais que chardet.detect() permettait d’identifier l’encodage d’un fichier ouvert en binaire, afin de le décoder correctement. Le résultat retourné par cette fonction se présente sous forme d’un dictionnaire : celui-ci contient le nom de l’encodage reconnu à la clé encoding, mais également un indice de confiance dont la valeur correspond à la clé confidence.

Comprendre ce qu’est cet indice peut s’avérer utile, notamment pour repérer dans quels cas l’encodage risque d’être mal détecté.

Continuer la lecture de « Fiabilité de chardet »

Modèles chinois et japonais pour spaCy

La dernière mise à jour de spaCy (v2.3) inclut (entre autres) des modèles pour le chinois et pour le japonais. La segmentation et l’étiquetage s’appuient sur SudachiPy pour le japonais, et la segmentation est réalisée avec Jieba (par défaut) pour le chinois.

Si vous utilisez cette version de spaCy avec les paramètres par défaut pour segmenter un texte en chinois, vous devriez donc obtenir un résultat assez proche de la segmentation avec Jieba présentée dans un précédent article de ce carnet. Attention, ce ne sera pas forcément complètement identique, et l’étiquetage a également de grandes chances d’être différent.

Continuer la lecture de « Modèles chinois et japonais pour spaCy »

Uniformiser l’encodage d’un corpus avec Python

Quelques articles de ce carnet ont déjà été consacrés au traitement de données dans le cadre de la constitution d’un corpus, notamment l’étiquetage morphosyntaxique (pour le chinois, avec les étiqueteurs PyNLPIR et Jieba). Toutefois je n’y avais pas abordé la question de l’encodage des caractères.

Concernant les corpus écrits, l’encodage est un paramètre important.
Il doit :

  • Permettre la reconnaissance de tous les caractères présents dans le corpus .
  • Être le même dans tous les fichiers composant le corpus.
  • Être compatible avec les outils de traitement qui seront utilisés par la suite.

Lorsqu’on construit un corpus textuel, les données ne valident pas forcément ces critères au moment de leur collecte, et il est alors indispensable d’uniformiser l’encodage au plus vite.

Je vais détailler ici l’écriture d’un script Python permettant de convertir automatiquement en utf-8 un ensemble de fichiers, quel(s) que soi(en)t leur(s) encodage(s) d’origine.

Continuer la lecture de « Uniformiser l’encodage d’un corpus avec Python »

Frise chronologique avec LaTeX

Les concours externes ITA du CNRS sont ouverts pour cette année. C’est en passant l’un de ces concours l’année dernière que j’ai commencé à travailler à mon poste actuel, la passation du concours est donc encore un événement récent pour moi.

Je ne vais pas ici donner de conseils pour la constitution du dossier ou la préparation du concours à proprement parler, mais je voudrais vous montrer une méthode qui peut être efficace pour présenter un parcours professionnel et/ou de formation, sous forme de frise chronologique avec LaTeX. Je l’ai moi-même utilisée dans le diaporama accompagnant ma présentation orale lors de l’audition pour le concours.

Continuer la lecture de « Frise chronologique avec LaTeX »
Rechercher dans OpenEdition Search

Vous allez être redirigé vers OpenEdition Search