Archives par mot-clé : lemmatisation

Iramuteq avant la classification et les statistiques

En épilogue dans un précédent billet, j’évoquais mes débuts avec Iramuteq et l’ajout d’un peu plus de 200 expressions dans son dictionnaire pour pouvoir le faire tourner.

Finalement, j’ai fait bien plus qu’ajouter des expressions, et il m’a fallu plusieurs semaines avant de pouvoir enfin examiner une classification cohérente de mon corpus.

Du coup, je me suis dit : et si je me faisais un petit mode d’emploi, pour la prochaine fois ?
Histoire de ne pas perdre trop de temps avec un nouveau corpus.

Puis, j’ai pensé : bah, peut-être que d’autres seraient intéressés, qui sait ?

Alors voilà non pas comment je m’y suis pris, parce que j’ai un peu navigué à vue, mais comment je m’y prendrais la prochaine fois dans un contexte similaire.

Soyons précis tout d’abord, quel est le contexte ?

Je travaille en environnement Mac. J’utilise la version 0,7 alpha 2 du 22/12/2014 d’Iramuteq, qui est l’acronyme d’Interface de R pour les Analyses Multidimensionnelles de Textes et de Questionnaires. Le logiciel est libre GNU GPL, il est développé au sein du Lerass. Mon corpus est constitué d’une sélection d’articles de presse nationale quotidienne issus de la base Europress.

1 – Récupérer les articles depuis Europress

Dans cette base, il est possible de télécharger 4 fichiers différents pour chaque groupe de 50 articles : une liste des articles, aux formats PDF et HTML, le texte intégral des articles, aux formats PDF et HTML. Les 4 sont utiles, à différentes étapes, donc ça vaut le coup de prendre le temps de tous les récupérer.

Une fois tous ces fichiers récupérés, créer un répertoire spécifique pour Iramuteq, si possible directement à la racine du disque, ou pas trop loin, pour ne pas créer un chemin d’accès trop long. Coller uniquement les fichiers HTML du texte intégral des articles (donc autant de fichiers que de groupes de 50 articles) dans ce répertoire. Dans Iramuteq, choisir importer depuis Europress, désigner le répertoire en question, valider.

Hop, on obtient en retour, dans ce même répertoire, un fichier texte « corpus.txt » qui reprend tous les articles dans un format compréhensible par Iramuteq. C’est à dire que les variables « source », « date », « année et mois », et « année » sont déjà créées avec leurs modalités renseignées pour chaque article. Quand on en a 400, c’est toujours ça de pris !

Problème : les auteurs ne sont pas isolés dans une variable, certains intitulés sont repris en source, mais qui ne sont pas pertinents (pour moi) comme « quotidien deuxième édition ». De plus, j’aimerais pouvoir isoler le titre du corps de l’article.

Extrait du corpus import Europress par Iramuteq
Extrait du corpus importé d’Europress par Iramuteq

2 – Structurer le corpus

Ouvrir le corpus dans OpenOffice (qui conservera le jeu de caractère d’origine, UTF8, sinon c’est la panique) et patiemment, article par article : ajouter la variable *auteur et sa modalité (« nom de l’auteur », sinon, quand il n’y en a pas : « non », pour pouvoir isoler les articles non signés), couper chaque article en 2 thématiques (-*titre et -*corps), supprimer les sources non pertinentes (si nécessaire), supprimer les termes « de notre correspondant », « Illustration(s) », les crédits photos, c’est à dire tout ce qui ne sera pas nécessaire pour l’analyse et qui risque de créer de fortes occurrences dans les statistiques, et enfin, passer le correcteur orthographique pour déceler les espaces en trop ou en moins, les tirets qui coupent les mots en 2 (oui, oui), bref toutes les scories dont on se passerait bien et qui empêchent Iramuteq de reconnaître un mot.

Extrait corpus structuré
Extrait du corpus structuré pour Iramuteq
Localisation des dictionnaires Iramuteq sous Mac
Localisation des dictionnaires Iramuteq sous Mac

3 – Ajouter les expressions non connues dans le dictionnaire d’Iramuteq

Là, c’est spécifique Mac : le fichier est caché. Si, si. Un outil bien utile dans ces cas-là : Onyx. A son ouverture, annuler les 2 premières boîtes de dialogue (vérifications des disques). Dans le menu « Paramètres », onglet « Finder », cocher la case « Afficher les fichiers et dossiers cachés ». Attention, tous les fichiers et dossiers cachés seront visibles, mais si on n’y touche pas tout va bien 😉 . Les dictionnaires sont dans le répertoire « .iramuteq » sous votre nom d’utilisateur Mac. Dupliquer « expression_fr.txt » et « lexique_fr.txt » pour conserver les originaux. Les renommer. Prudence est mère de sûreté…

Ouvrir le corpus structuré dans OpenOffice et lancer une magnifique recherche, sans pleurer en voyant le nombre d’occurrences s’afficher : tous les tirets. Ah ben oui, y a pas, faut passer par là. Ouvrir le dictionnaire des expressions en vis-à-vis (tiens, une expression), toujours dans OpenOffice, mais dans le tableur, et pour chaque expression trouvée dans le corpus, vérifier si elle existe dans le dictionnaire.

Pour chaque expression non trouvée, l’ajouter en fin de fichier : première colonne = expression telle que trouvée dans le corpus, deuxième colonne = expression telle qu’elle doit être transformée, colonnes suivantes : nature, genre, nombre. Les autres colonnes peuvent rester vides.

Extrait du dictionnaire d'expressions Iramuteq
Extrait du dictionnaire d’expressions Iramuteq

Une fois toutes vos expressions ajoutées, sélectionner les lignes correspondantes (elles sont à la fin du fichier, remember), les copier et les coller dans une nouvelle feuille. Supprimer la première colonne, copier la seconde colonne pour la coller à la place de la première (donc, oui, deux colonnes sont identiques). Ouvrir le fichier lexique_fr_txt dans OpenOffice, dans un tableur, copier et coller, en fin de fichier, les lignes figurant dans la nouvelle feuille précédemment créée. Sélectionner la colonne qui contient la catégorie grammaticale et passer tout en caractères minuscules. Trier chacun des 2 fichiers expression_fr.txt et lexique_fr.txt par ordre alphabétique de la première colonne. Enregistrer. Yes ! Les expressions sont ajoutées et seront prises en compte par Iramuteq.

4 – Ouvrir le corpus dans Iramuteq

Extrait du fichier des formes actives Iramuteq
Extrait du fichier des formes actives Iramuteq

Tada !!! ça y est, on est fin prêt, on se frotte les mains, on y va ! Ouvrir le corpus et lancer les statistiques. Ouvrir le fichier des formes actives (répertoireducorpus\corpus_corpus_1\corpus_stat_1\formes_actives.csv) dans OpenOffice (tableur) et filtrer sur la colonne C = nr (non reconnu). Pleurer. Ne pas s’arracher les cheveux. Pourquoi ? Parce qu’on va trouver plein de mots non lemmatisés. Don’t panic ! Tout va bien se passer. Se resservir un gros mug de thé. Que vois-je ? Oh, voilà déjà 2 formes d’un même mot, « état », qui lui, est bien lemmatisé mais seulement quand il a son accent… Et oui ! Des tas de surprises bien sympathiques !

Soit corriger dans le corpus, soit ajouter dans le lexique ou dans les expressions (et donc le lexique ensuite) tout ce qu’on trouve de suspect dans les formes actives non reconnues.

5 – Ajouter les expressions sans tirets

Dans Iramuteq, cette fois, dans les statistiques du corpus, chercher dans les formes actives celles qui semblent pouvoir être une partie d’une expression sans tirets. Hein ? Par exemple, le mot « code » tout seul est-il intéressant pour l’analyse qu’on veut faire ? Un doute ? Clic droit sur la forme, concordancier : on voit le mot dans le corpus et donc dans son environnement. Peut-être serait-il intéressant d’ajouter les expressions « code pénal », « code d’accès », « code confidentiel » ? On commence ici à rentrer dans l’analyse donc tout dépend du travail de recherche. J’ai par exemple ajouté, parce que ça avait un sens dans mon cas, l’expression « base_de_données ». Le mot carte également : carte d’identité, carte grise, carte bleue, carte à puce ?

6 – Se lancer dans Iramuteq

Cette fois, c’est bon. Le corpus est nickel, les expressions et le lexique sont parfaits, tout va bien. On peut se jeter à corps perdu (tiens, encore une expression) dans les statistiques et les classifications, tester les 3 modes, comparer les classes obtenues et le pourcentage de segments de texte classés.

Au total, j’ai ajouté 612 formes dans le lexique, dont 330 expressions… Compter quelques semaines de boulot quand même… Mais pour quel résultat ! De belles classes bien pertinentes ! De quoi aborder l’analyse le cœur léger 😉