R et encodage des caractères

Dans l’article précédent, consacré à la production d’une représentation cartographique avec R, le tableau de données pris en entrée a été lu avec la fonction read.csv(). Comme son nom l’indique, cette fonction permet de lire des données structurées au format CSV, à partir d’une URL ou du chemin d’accès d’un fichier, afin de les convertir en un type de données propre à R et les manipuler.

Cependant, en fonction du ou des systèmes d’écriture présents dans le document d’origine, il peut arriver que les caractères soient affichés de façon erratique. Voici comment résoudre le problème, simplement en déclarant les paramètres appropriés de read.csv().

Continuer la lecture de « R et encodage des caractères »

Déclaration XML automatique

Lorsqu’on automatise la création d’un corpus, ou tout autre document, structuré en XML, il est important de veiller à générer également une déclaration XML cohérente avec le contenu du fichier. Il y a plusieurs façons d’y parvenir, notamment en faisant appel à bs4 ou à xml.etree.ElementTree.

Continuer la lecture de « Déclaration XML automatique »

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 »

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 »

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 »
Rechercher dans OpenEdition Search

Vous allez être redirigé vers OpenEdition Search