Descriptif projet bao Descriptif projet bao




Boîte à Outils 2

Étiquetage morpho-syntaxique du corpus

Objectif

Cette deuxième étape consiste à réaliser un étiquetage morpho-syntaxique des fichiers obtenus précédemment :

  • Les fichiers en format texte seront étiquetés avec le logiciel Cordial
  • Les fichiers XML seront étiquetés avec TreeTagger

Étiquetage avec Cordial

Cordial est un logiciel qui ne fonctionne pas en ligne de commande, il faut passer par une interface graphique, ce qui fait impossible d´automatiser ou introduire cette étape dans notre script.

On va étiqueter chaque fichier correspondant à chaque rubrique pour obtenir des fichiers « tabulaires » (aspect important pour les prochains traitements...) qui contiendront le terme traité, le lemme et la catégorie grammaticale. Il faut remarquer que Cordial ne traite que des fichiers encodés en ISO-8859-1. Conséquemment, on a dû transformer les fichiers créés (on rappelle que ces fichiers étaient encodés en UTF-8) en ISO-LATIN-1 avec la commande unix « iconv ». Après avoir étiqueté les fichiers, on les a transformé en UTF-8.

Voici un exemple du résultat de l´étiquetage avec Cordial (rubrique Europe, 3214) :



Étiquetage avec TreeTagger

Dans ce cas là, on va intégrer dans notre programme construit dans la BàO 1 un sous-programme qui applique un traitement d´étiquetage sur chacun des fichiers rencontrés lors du parcours de l´arborescence. En plus, en sortie, ce programme devra construire un fichier structuré, c´est-a-dire, en format XML, qui lui contiendra le résultat de ce traitement.

Quels sont les données a traiter? On va étiqueter les contenus textuels qui se trouvent à l´intérieur des balises « title » et « description » des fichiers XML produits dans la première étape.

Le sous-programme étiquetage

On récupère le script construit lors de la prémière étape de la Boîte à Outils 1. C´est juste après le nettoyage des variables « title » et « description » où on appliquera le sous-programme « étiquetage ». Ce sous-programme prend comme arguments les deux variables, « title » et « description » et il est divisé en deux parties, chacune traitant chaque variable. Comme TreeTagger et les programmes tokenise et treetagger2xml peuvent se lancer en ligne de commande, c´était plus rapide de les intégrer dans le script d´extraction. Comme notre script principal est écrit en Perl, il ne fallait qu´utiliser « system » pour automatiser le traitement. En premier lieu, on utilise « tokenise-utf8.pl », un script perl pour segmenter le contenu textuel en tokens et ensuite on fera appel au programme TreeTagger pour l´étiqueter. En dernier lieu, on transforme le fichier obtenu (les données segmentés et étiquetés des variables « title » et « description ») en format XML avec le programme « treetagger2xml-utf8.pl », qui transforme la sortie du TreeTagger au format XML. On applique ce même procédé aux deux variables.

sous-programme etiquetage

Le résultat

Après tous les traitements mentionnés, la sortie obtenue ressemble à ceci :
treetagger

Le résultat obtenu après l´étiquetage de Cordial ressemble à ceci:


cordial

Le script final correspondant à la Boîte à Outils 2 se trouve ici.

En bas, vous pouvez accédez aux fichiers sorties obtenus après la Boîte à Outils 2 :

Rubrique 3208: sortie TreeTagger et sortie Cordial

Rubrique 3210: sortie TreeTagger et sortie Cordial

Rubrique 3214: sortie TreeTagger et sortie Cordial

Rubrique 3224: sortie TreeTagger et sortie Cordial

Comparaison étiquetage Cordial et TreeTagger

Une fois qu´on a étiqueté toutes les rubriques avec ces deux étiqueteurs, on va examiner d´un peu près les résultats pour observer s´il y a des différences dans les étiquetages produits.

  • Cordial a l´habitude de gérer l´apostrophe comme un séparateur de mots. Cependant, TreeTagger fait justement le contraire et traite les deux mots ensemble. Par exemple, pour « J´adore » on trouve des étiquetages différents selon l´outil utilisé : Cordial rend comme étiquetage « J´ » comme PPER1S, mais TreeTagger prend le pronom et le verbe ensemble comme NAM. Voici un autre exemple avec les mots « l´ingénierie » et « l´entreprise » : - Cordial :
    L' le DETDFS
    entreprise entreprise NCFS

    - TreeTagger :
    <element><data type="type">NAM</data><data type="lemma">L’entreprise</data><data type=“string">L’entreprise</data></element>
    <element><data type="type">NOM</data><data type="lemma">l’ingénierie</data><data type="string">l’ingénierie</data></element>

  • C´est également le cas des tirets d´union, Cordial les prend comme séparateurs mais TreeTagger pas. Un exemple : « social-démocrate ». Pour Cordial « social » est un ADJFS et « -démocrate » un ADJSING. Cependant, TreeTagger met l´étiquette ADJ pour tous les deux comme s´il s´agissait d´un seul mot.
    Voici un exemple très illustratif :
    intensifie intensifier VINDP3S -t t PARTEUPH -il il PPER3S
    ---------
    <element><data type="type">ADJ</data><data type="lemma">s’intensifie-t-il</data><data type="string">s’intensifie-t-il</data></element>
    C´est pas difficile d´attribuer chaque étiquetage à son étiqueteur... Évidemment, celui qui traite le verbe et les pronoms séparément correspond à Cordial et l´autre à TreeTagger.