BAO 2 - Etiquetage des contenus textuels

Cette deuxième boîte à outils concerne l'étiquetage morphosyntaxique des contenus textuels extraits grâce à la première boîte à outils. Il s'agit en réalité de la première boîte à outils agrémentée des "parties étiquetage" de deux étiqueteurs : TreeTagger et Talismane (les différents programmes annexes utilisés dans cette boîte à outils ont tous été fournis en cours). Le but est de pouvoir ensuite réaliser des extractions de patrons morphosyntaxiques sur chaque rubrique afin d'en obtenir des terminologies pertinentes. Cette étape s'avère donc être cruciale pour la suite du projet.

Etiquetage avec Treetagger

Pour cet étiquetage, une nouvelle procédure lui est dédiée, la "sub etiquetageTT", qui s'occupe du titre puis de la description de chaque article séparément. Pour faire l'étiquetage à l'aide de ce programme, on tokenise déjà les textes à l'aide du programme Perl "tokenise-utf8.pl" puis on appelle l'étiqueteur à proprement parler. Ensuite, on reformate les données textuelles étiquetées au format XML à l'aide du programme Perl "treetagger2xml-utf8.pl". Le même processus est donc appliqué sur chaque titre et chaque description. La sortie finale obtenue pour cet étiquetage est un fichier XML organisé de la même manière que dans la première boîte à outils (chaque article comporte une date, un titre et une description) pour chaque rubrique choisie.

Remarques

Ce script écrit dans le cadre de la deuxième boîte à outils est assez long à exécuter sur des rubriques importantes comme la 3210 et il ne faut donc pas faire l'erreur (que nous avions commencé à faire ! ) de l'exécuter dans une machine virtuelle (sinon le script risque de durer des longues heures littéralement interminables) ! Nous l'avons donc exécuté dans Cygwin (Lucie) et dans le Powershell de Windows (Clémence). Afin d'exécuter le script sous Windows, il a fallu retirer un simple "./" devant l'appel de l'étiqueteur TreeTagger pour que tout fonctionne parfaitement. Tout en bas de cette page, vous trouverez donc deux versions de cette boîte à outils : la version "classique" exécutable par Cygwin ou Ubuntu puis la version "Windows" exécutable seulement par un système Windows via le Powershell.

En ce qui concerne, les sorties XML étiquetées par TreeTagger, il a fallu simplement remplacer les "&"en "&" à nouveau afin que les fichiers soient valides. Un simple "rechercher et remplacer" sur Notepadd++ a suffit à faire cela puisqu'il n'y en avait pas beaucoup dans les fichiers. Nous avions décidé, dans la première boîte à outils, de nettoyer les entités XML afin que celles-ci ne se fassent pas étiqueter, ce qui aurait pu générer de nombreuses erreurs dans nos sorties. De cette manière, nous sommes sûres que l'analyse produite par la suite pourra être de qualité grâce à cette précaution.

Vous trouvez ci-dessous les sorties XML étiquetées par TreeTagger obtenues grâce à ce script pour chaque rubrique en cliquant sur les boutons appropriés :

Etiquetage avec Talismane

Pour cet étiquetage, une autre procédure lui est dédiée : la "sub etiquetageTalismane". Talismane est un programme Java, nous le précisons lors de son appel à l'intérieur de notre script. La technique adoptée pour étiqueter les contenus textuels avec cet étiqueteur est différente. En effet, avec TreeTagger, on étiquette chaque titre et chaque description de chaque article au fur et à mesure. Avec Talismane, on étiquette chaque fil RSS (chaque fichier rubrique d'un jour) en une fois grâce à une variable qui s'incrémente au fur et à mesure (par ailleurs, fait attention à ce que les phrases soient bien distinctes et on ajoute des ancres autour de chaque titre et de chaque description pour obtenir un étiquetage correct phrase par phrase). En effet, Talismane est un programme assez lent (pour ne pas dire très lent) et il est donc préférable de ne pas l'appeler pour chaque petit morceau de texte. Malgré cette optimisation, le script reste assez long à exécuter, justement en raison de la lenteur de l'étiqueteur Talismane. La sortie obtenue par cet étiquetage est une sortie au format texte.

Remarques

L'intérêt d'étiqueter les mêmes contenus avec deux étiqueteurs différentes est de pouvoir ensuite comparer les résultats que nous obtenons grâce à ceux-ci. Dans la troisième boîte à outils dont l'objectif est d'extraire des patrons morphosyntaxiques, nous n'obtiendrons pas forcément les mêmes extractions en raison d'erreurs d'étiquetage ou encore de différences d'étiquetage. Par ailleurs, les étiqueteurs ne génèrent pas le même type d'analyse. TreeTagger nous fournit une analyse morphosyntaxique classique avec chaque forme décrite par son lemme et sa catégorie grammaticale. Quant à Talismane, il fournit ces mêmes informations et ajoute une analyse en dépendance : nous pouvons connaître la relation de dépendance qui existe entre un gouverneur et son dépendant. Son analyse est donc beaucoup plus raffinée que celle de TreeTagger. D'ailleurs, les étiquettes de Talismane sont plus précises dans la mesure où des informations morphologiques sont ajoutées (informations de personne, de nombre, de genre et de temps).

Vous trouverez ci-dessous les sorties texte étiquetées par Talismane obtenues grâce à ce script pour chaque rubrique en cliquant sur les boutons appropriés :

Le programme commenté de manière détaillée est quant à lui disponible ci-dessous, cliquez sur le bouton correspondant à la version souhaitée (ce programme se lance de la même manière que pour la BAO 1) :