[retour au menu]

Boîtes à outils 1 et 2: Perl et étiquetage

filtrage et étiquetage automatique de fils RSS


  1. Objectifs:
  2. Outils : 
  3. Travail demandé :
  4. Mise en oeuvre:
    1. remonter
    2. 1ère partie: Etiquetage récursif                 
    3. 2ème partie : Cordial et TreeTagger
  5. Conclusion

Objectifs:

    Créer une chaîne de traitements textuels prenant en entrée une arborescence contenant des fichiers de fils d'actualité issus du site "lemonde.fr" et donnant en sortie des fichiers de différents formats contenant chacun l'ensemble du corpus.

Outils : 

TreeTagger : étiqueteur morpho-syntaxique  (licence libre ) en ligne de commande, disponible pour Windows et Linux.

Cordial : étiqueteur morpho-syntaxique ( licence commerciale ) avec interface graphique, disponible uniquement pour Windows.

La chaine de traîtement est programmée en Perl, certaines sorties utilisent le méta-langage XML.

Travail demandé :

Il s'agissait de partir d'un script fourni lisant récursivement une arborescence pour extraire les contenus des fichiers se trouvant dans ses différents répertoires (lien), et d'y insérer des traitements sur  fichiers. Il était  demandé de filtrer les contenus des balises "description"  d'un ensemble de fichiers xml (des fils RSS issus du site lemonde.fr) , d'étiqueter leurs contenus et de présenter une sortie du résultat au format XML.


Mise en oeuvre:

remonter

1ère partie: Etiquetage récursif                 

Le programme qu'on a construit prend en argument un répertoire (syntaxe : perl  etiqueteur_recursif.pl <repertoire>) et renvoie en sortie quatre fichier:

filsDePressesortie.txt : le contenu des balises description au format texte brut .
filsDePressesortietag.txt : le contenu des balises description étiquetés à l'aide de TreeTagger au format texte brut .filsDePressesortie.xml: le contenu des balises description au format XML. Une feuille de style xslt y est associée.
filsDePressesortietag.xml (extrait): le contenu des balises description étiquetés à l'aide de TreeTagger au format XML . Une feuille de style xslt y est associée.
(programme commenté) (programme original)
Note : pour le découpage en mots du texte (tokenisation), on a utilisé un script Perl fourni avec la distribution Windows du TreeTagger : tokenize.pl

remonter

2ème partie : Cordial et TreeTagger

Il nous était demandé d'étiqueter le corpus à l'aide de Cordial. Comme Cordial ne fonctionne que de manière autonome, nous n'avons pu intégré son étiquetage dans la chaine de traitement. On est donc parti du fichier filsDePressesortie.txt (voir infra), qui contient tout le corpus qui nous intéresse au format texte, que l'on a soumis à Cordial  (fichier résultat: filDePresseSortieCordial.txt).
On a ensuite modifié le script fourni treetagger2xml.pl afin de l'adapter au format d'étiquetage de Cordial (script cordial2xml.pl), on l'a appliqué sur filDePresseSortieCordial.txt, ce qui nous donne le fichier sortieCordial.xml(extrait).
On a créé ensuite une feuille de style xslt (cordial.xsl) qui met en valeur toutes les prépositions (étiquette Cordial PREP ).

Le même traitement a été réalisé à partir de la sortie étiquetée par TreeTagger du programme précédent et à l'aide du treetagger2xml.pl , mettant en valeur lui aussi les prépositions ( fichier sortietag.txt.xml (extrait) associé à la feuille de style treetagger.xsl)


- voir un extrait du résultat pour Cordial.
- voir un extrait du résultat pour TreeTagger.

On peut ainsi avoir une interface agréable pour comparer les deux étiqueteurs. On peut par exemple remarquer que Cordial étiquete des expressions prépositionnelles figées, tel que "au moment de" ou "au cours de" ce que ne fait pas TreeTagger.

remonter

Conclusion


TreeTagger est un outil très puissant car insérable dans une chaîne de traitement. Ce n'est pas le cas de Cordial qui est un logiciel pour Windows indépendant. Ce dernier semble par contre faire des analyses plus fines: il est notamment capable de traiter d'expressions figées et indique les genres. Les deux programmes semblent donc répondre à des besoins différents: Un souci d'interopérabilité pour TreeTagger, un souci de description plus détaillée  pour Cordial.

[retour au menu]