Formation doctorale - Construire des nuages arborés avec TreeCloud

Séance du 18 janvier 2014. La formation donnée le 6 février 2016 peut être trouvée ici.


Objectifs




Au menu

  1. Installer le logiciel TreeCloud sur Windows
  2. Prendre en main le logiciel TreeCloud
  3. Utiliser d'autres logiciels en combinaison avec TreeCloud

TreeCloud est programmé en Python. Il faut donc commencer par installer Python 2.7.6 (Windows x86 MSI Installer) en le téléchargeant à cette adresse.

Pour construire et afficher les arbres, TreeCloud utilise SplitsTree. Il faut donc installer SplitsTree en téléchargeant la version 4.10 (pas la dernière version !). SplitsTree étant programmé en Java, si vous n'avez pas Java sur votre ordinateur, il faut aussi le télécharger.

Il reste maintenant à installer Treecloud. Pour cela, il faut télécharger ce fichier Treecloud1.4.2beta.zip, puis le décompresser dans un dossier du disque dur dont l'adresse ne contient pas d'espace, par exemple C:\Treecloud\.

Double-cliquez sur le programme TreeCloud.exe dans le dossier où vous avez décompressé le fichier zip téléchargé ci-dessus.

La fenêtre principale de TreeCloud s'ouvre. Il faut commencer par configurer le programme en remplissant les champs Emplacement de Python (par exemple C:\Python27\python.exe, à adapter selon votre configuration) et Emplacement de SplitsTree (par exemple C:\Program Files (x86)\SplitsTree\SplitsTree.exe, à adapter selon votre configuration).

Voici un corpus possible : discours d'Obama.

Nous allons commencer par créer un dossier où tous les fichiers créés aujourd'hui pour l'utilisation de TreeCloud seront situés. On choisira un nom de dossier sans espace, par exemple C:\Treecloud\20140118Formation. Vous pouvez y déposer des fichiers de type texte (extension .txt) qui contiennent les corpus sur lesquels vous souhaitez travailler.

Construire un premier nuage arboré

Double-cliquez sur le programme TreeCloud.exe dans le dossier où vous avez décompressé le fichier zip téléchargé ci-dessus.

Copiez-collez un texte quelconque dans le cadre Texte à visualiser, ou bien chargez un fichier texte à l'aide du bouton Ouvrir un fichier texte.

Cliquez sur Calcule le nuage arboré avec TreeCloud !. Au bout de quelques secondes, SplitsTree devrait s'ouvrir et le nuage arboré devrait apparaître.

Vous trouverez quelques indications sur les diverses options dans le manuel d'utilisateur, le fichier ManualTreecloud.pdf situé dans le même dossier que le programme Treecloud.exe. Essayez de faire varier certains paramètres comme les couleurs, les longueurs d'arête, le nombre de mots du nuage arboré, ou encore l'antidictionnaire.

Manipuler le nuage arboré sur SplitsTree

Il est possible de zoomer/dézoomer avec les boutons loupe + et -. Il est possible de faire tourner l'arbre avec les boutons flèche gauche et droite

Pour chercher un mot dans le nuage arboré, on peut utiliser CTRL F ou le bouton des jumelles A.

On peut déplacer les étiquettes en les faisant glisser avec la souris. Pour recolorer les branches de l'arbre, les étiquettes, etc., il faut les sélectionner (CTRL A pour tout sélectionner) puis utiliser le menu View, Format nodes and edges (CTRL J). Pour modifier les branches, il faut cocher Line Color dans la fenêtre qui s'ouvre. Pour modifier les étiquettes, il faut cocher Label Color dans cette fenêtre.

Pour exporter l'image en bonne qualité, on peut utiliser le menu File, Export image (CTRL M), puis choisir Save visible region et Format : PDF (par exemple) puis cliquer sur Apply avant d'indiquer le nom de fichier choisi.

OpenOffice et Notepad2

Si ce n'est pas déjà fait, installez OpenOffice et Notepad 2 (programme d'installation de Notepad 2 pour x64)

Utiliser des séparateurs pour fixer les fenêtes de cooccurrence

Plutôt que d'utiliser des fenêtres glissantes pour calculer la cooccurrence, il est possible de délimiter des blocs de texte qui serviront de fenêtres de cooccurrence, en utilisant un séparateur. Le séparateur doit être un mot qui n'apparaît pas dans le texte, par exemple aaaaa.

Par exemple, considérons les avis cinéma de la critique cinéma Monique Pantel. On souhaite que deux mots apparaissent à proximité dans le nuage arboré s'ils apparaissent fréquemment dans une même critique de film. On dispose du fichier OpenOffice monique_pantel.csv :
monique_pantel.csv

Nous allons voir comment obtenir un fichier où les critiques sont séparées par aaaaa :
Fichier avec séparateurs

Pour cela, sélectionnez toutes les critiques de la colonne D du fichier Open Office, et copiez-les (touches CTRL C). Attention, ne sélectionnez pas la colonne entière (il y aurait trop de lignes), mais seulement les cases non vides de la colonne D.

Ouvrez Notepad 2 et collez-les dans Notepad 2. Enregistrez le fichier obtenu sous le nom monique_pantel.txt.

Pour insérer un aaaaa à chaque retour à la ligne, utilisez la fonction rechercher/remplacer (menu Edit, Replace ou bien CTRL H). Recopiez les informations de la fenêtre ci-dessous (attention, il y a un espace après le aaaaa du Replace with, mais pas après le \n du Search string), en pensant à cocher Transform backslashes (cela permettra d'interpréter \n comme un retour à la ligne) puis cliquez sur Replace all :
Rechercher/remplacer

Enregistrez le fichier ainsi modifié (CTRL S, vous obtenez ainsi le fichier monique_pantel.txt) et chargez-le dans TreeCloud pour obtenir un nuage arboré des critiques de Monique Pantel. Pensez à indiquer à gauche de la fenêtre aaaaa dans le champ Séparateur :
Treecloud avec séparateur aaaaa

on obtient alors le nuage arboré suivant, coloré chronologiquement :
Treecloud avec séparateur aaaaa

Colorer les mots en fonction des notes attribuées

Pour colorer les mots en fonction des notes attribuées, on peut réorganiser le corpus de telle manière que les critiques avec de mauvaises notes sont au début, et celles avec de bonnes notes à la fin : on pourra alors utiliser la coloration chronologique qui fera apparaître en rouge les mots liés aux critiques les plus négatives

Pour cela, dans OpenOffice, triez la colonne E par ordre croissant (menu Données, Trier, Trier selon : Colonne E, croissant) puis sélectionnez dans la colonne D les critiques correspondant aux notes non nulles dans la colonne E (car la note 0 indique une absence d'avis). Copiez les cellules sélectionnées puis reproduisez les démarches ci-dessus pour afficher le nuage arboré où vous devriez remarquer certains adjectifs négatifs en rouge, et des adjectifs positifs en bleu.

Lexico3

Construire le nuage arboré du contexte d'un mot

Afin d'utiliser Lexico 3 pour construire tous les contextes d'un mot (par exemple le mot formidable), il est préférable de commencer par convertir tous les texte en minuscules, pour traiter également la forme Formidable avec une majuscule en début de mot. Pour cela, dans Notepad2, sélectionnez tout le texte (CTRL A) puis allez dans le menu Edit, Convert, Lower case (CTRL U). Enregistrez le fichier obtenu

Ouvrez dans Lexico3 le fichier obtenu puis créez-y la concordance de formidable

:
Concordance formidable

Copiez le contenu de la fenêtre de concordance Lexico3 et dans collez-le dans Notepad2. Reproduisez la procédure vue ci-dessus pour insérer des séparateurs aaaaa à chaque retour à la ligne.

En début de ligne, il arrive que le premier mot ne soit pas complet. Nous allons donc supprimer le premier mot de chaque ligne avec une procédure de rechercher/remplacer. Ouvrez dans Notepad2 la fenêtre rechercher/remplacer (CTRL H). Dans Search String, indiquez "aaaaa [^ ]* " (notez l'espace à la fin) et dans Replace with, indiquez "aaaaa " (là aussi, un espace à la fin). Cochez alors la case Regular expression search :
Enlever parties de mots

Cliquez sur Replace all. Le code du Search string permet de repérer le mot aaaaa suivi d'un espace suivi d'un mot ne contenant pas d'espace, suivi d'un espace. Ainsi, si l'on remplace cela par aaaaa suivi d'un espace, cela revient à supprimer le premier mot.

Supprimez le premier mot de la première ligne du fichier (il n'a pas été supprimé car il n'y avait pas de aaaaa).

Vous pouvez désormais enregistrer votre fichier, par exemple sous le nom monique_pantel-formidable.txt, puis le charger dans TreeCloud pour obtenir la visualisation des contextes du mot formidable (mots qui apparaissent plus de 4 fois dans ces contextes) :
Treecloud contextes formidable

Unitex

Prendre en compte les mots composés du texte

Quand plusieurs mots sont séparés par le caractère _, TreeCloud les considère comme un seul mot. Par ailleurs, Unitex peut étiqueter les mots composés d'un texte en les entourant par les balises <CDIC> et </CDIC>. Nous allons donc remplacer les mots entre ces balises par les mêmes mots séparés par le caractère _.

Pour cela, on utilise encore la fonction rechercher/remplacer de Notepad 2, en cochant Regular expression search, et en remplaçant "<CDIC>([^< ]*) ([^<]*)</CDIC>" par "<CDIC>\1_\2</CDIC>". Il faut répéter l'opération jusqu'à ce qu'aucun remplacement ne soit effectuer.

Puis il faut répéter toute l'opération précédente en remplaçant "<CDIC>([^<-]*)-([^<]*)</CDIC>" par "<CDIC>\1_\2</CDIC>", à nouveau jusqu'à ce qu'aucun remplacement ne soit effectué.

Enfin, il faut supprimer les balises <CDIC> et </CDIC> en remplaçant "<CDIC>" par "" et "</CDIC>" par "".

Avant d'enregistrer, il faut convertir le fichier à l'encodage accepté par TreeCloud : dans le menu File, Encoding, choisir ANSI.