BAO3

Traitement de la sortie Cordial avec Perl

Le fichier de sortie de Cordial est composé de trois colonnes, séparées d'une tabulation.
Une fois que nous avons trouvé ce modèle, nous pouvons manipuler le fichier avec des expressions régulières, ce qui est particulièrement pratique en Perl.
Nous pouvons déjà écrire une première expression régulière :
^([^\t]+?)\t[^\t]+?\t([^\t]+?)$
avec les parenthèses qui incluent ce dont nous avons besoin.
Et Cordial ne prend pas systématiquement les espaces comme un délimiteur. Il peut exister donc des espaces à l'intérieur des tokens dans le fichier de sortie de Cordial. Pour faciliter notre prochain travail, nous remplaçons les espaces par un autre caractère, disons un #.
Nous avons donc : $f =~ s/ /#/g;

Puisque nous utilisons des expressions régulières, dans la liste des patrons morphosyntaxiques, nous écrirons déjà sous forme des expressions régulières. Et on veut extraire plusieurs patrons morphosyntaxiques en même temps, donc une boucle while qui lit ligne par ligne la liste des patrons.

Scripts et produits

Ici on prend "nombre + nom", "verbe + nom + préposition" et "verbe + déterminant + nom + adjectif" comme patrons. Tous les trois sont confondus dans un fichier.

Tree-tagger et XSLT

A l'étape BAO2, nous avons dit que la sortie de la méthode tree-tagger est un fichier XML. Nous pouvons donc l'extraire par des feuilles de style.

Feuilles de style et résultats

Analyse

En comparant le résultat des deux outils Cordial et tree-tagger, nous pouvons constater des différences entre eux.

1. Un chiffre, trois couvertures

Tree-tagger considère toujours les chiffres comme des nombre (NUM), alors que Cordial prend en compte le contexte. Dans une date, par exemple "le 2 avril", il considère "2" comme un nom, alors que dans "176 000 personnes", il considère "176 000" comme un adjectif. Dans "premier ministre", il considère "premier" comme un adjectif aussi.

2. Un espace blanc n'est pas toujours un délimiteur pour Cordial

Selon Cordial, "face à" est un préposition, alors que selon tree-tagger, c'est un nom plus une préposition.
Pour Cordial, "pour la première fois" est un adverbe, mais tree-tagger le considère comme une suite de quatre mots.
Idem pour "moteur de recherche" que Cordial marque comme un seul nom.

3. Cordial court plus vite

Pour faire l'étiquetage d'un même corpus, notre programme Perl qui appelle tree-tagger tourne pendant des heures, alors que Cordial fait le travail en moins d'une minute.

Conlusion

En conclusion, on dirait que Cordial est plus performant : il est plus vite, prend en considération le contexte et l'étiquetage est donc plus pertinant. Le seul inconvénient de ce logiciel est qu'il n'accepte que l'encodage ISO. En convertissant les fichiers, certains caractères peuvent être ignorés et cela pourraient exercer une influence sur le résultat, mais Cordial est capable de corriger les erreurs d'orthographe.
Cependant le nombre d'expériences qui ont été faites reste assez limité. Pour une comparaison plus pertinente, il aurait fallu avoir plus d'expériences.