Boîte à outils 2

Etiquetage avec Treetagger et Cordial

La Boîte à outils 2 consiste à tagger, c'est-à-dire à marquer les catégories grammaticales des textes obtenus en sortie de la BàO 1. Ce traitement sera nécessaire afin de pouvoir extraire les patrons syntaxiques dans la BàO 3.

Treetagger

Pour l'étiquetage avec Treetagger, nous avons ajouté quelques lignes de code au script de parcours d'arborescence de fichier (BàO 1). Ces quelques lignes font appel à Treetagger comme suit: tree-tagger [options]<paramètrese><textin><textout>. Le script procède en deux étapes, d'abord le titre puis le résumé. Le tout est transformé au format XML pour l'étape suivante.

sub etiquetageavectreetagger {
    my ($titre,$texte)=@_;
    #----- le titre
    my $codage="utf-8";
    my $tmptag="texteaetiqueter.txt";
    open (TMPFILE,">:encoding(utf-8)", $tmptag);
    print TMPFILE $titre,"\n";
    close(TMPFILE);
    #-----------------------------------------------
    #Commande Treetagger (elle s'écrit sur une seule ligne)
    system("/usr/local/ActivePerl-5.14/bin/perl tokenise-utf8.pl 
    $tmptag | ./tree-tagger ./french-par-linux-3.2-utf8.bin 
    -lemma -token -no-unknown -sgml > treetagger.txt");
    #------------------------------------------------
    # Cette commande s'écrit sur une seule ligne
    system("/usr/local/ActivePerl-5.14/bin/perl 
    treetagger2xml-utf8.pl treetagger.txt $codage");
    #-------------------------------------------
    # lecture du resultat tagge en xml :
    open(OUT,"<:encoding(utf-8)","treetagger.txt.xml");
    my $fistline=;
    my $titreetiquete="";
    while (my $l=) {
	$titreetiquete.=$l;
    }
    close(OUT);
    #----- le resume
    open (TMPFILE,">:encoding(utf-8)", $tmptag);
    print TMPFILE $texte,"\n";
    close(TMPFILE);
    #-----------------------------------------------
    #Commande Treetagger (elle s'écrit sur une seule ligne)
    system("/usr/local/ActivePerl-5.14/bin/perl tokenise-utf8.pl 
    $tmptag | ./tree-tagger ./french-par-linux-3.2-utf8.bin 
    -lemma -token -no-unknown -sgml > treetagger.txt");
    #------------------------------------------------
    # Cette commande s'écrit sur une seule ligne
    system("/usr/local/ActivePerl-5.14/bin/perl 
    treetagger2xml-utf8.pl treetagger.txt $codage");
    #-------------------------------------------
    # lecture du resultat tagge en xml :
    open(OUT,"<:encoding(utf-8)","treetagger.txt.xml");
    my $fistline=;
    my $texteetiquete="";
    while (my $l=) {
	$texteetiquete.=$l;
    }
    close(OUT);
    # on renvoie les resultats :
    return ($titreetiquete,$texteetiquete);
}
    

Pour avoir l'étiquetage en tokens et en lemmes, nous avons intégré à la commmande Treetagger plusieurs options: -lemma pour avoir les lemmes, -token pour avoir les tokens, -no-unknown permet de ne pas avoir de catégorie UNKNOWN dans le fichier étiqueté et enfin l'option-sgml qui permet à TreeTagger de ne pas interpréter les balises. On obtient en sortie des textes étiquetés au format texte brut qui seront ensuite transformés au format .xml par ce même script.


Remarque: /usr/local/ActivePerl-5.14/bin/perl est le chemin perl utilisé sous un mac

Pour télécharger le script en entier commenté, cliquez ici

Pour télécharger les résultats obtenus, cliquez ici

Cordial

Pour procéder à l'étiquetage avec Cordial, il a fallu changer l'encodage des sortie txt de la BàO 1 en ISO Latin 1.

On n'oublie surtout pas de modifier les paramètres pour obtenir le format désiré:

Il faut noté que pour cette étape qui se fait à la main, rubrique par rubrique, nous avons été confrontées à des problèmes de beug de la part de Cordial. Il a fallu intervenir sur les fichiers en cause en supprimant les parties problématiques avant de les passer à nouveau dans Cordial.

On obtient des fichiers taggés au format .cnr qu'il faudra changer au format .txt pour les passer à la moulinette BàO 3.

Pour télécharger les fichiers résultats, cliquez ici