BOITE A OUTILS 2: Etiquetage


Dans cette seconde étape, l'objectif est d'étiqueter morphosyntaxiquement le contenu textuel de nos fameuses balises <title> et <description>.
Il s'agira, autrement dit, de prendre en entrée les sorties de l'étape d'extraction qu'il faudra étiqueter via deux procédés. Ce traitement se fera d'une part avec TreeTagger, et dans un deuxième temps avec Cordial.

Example pic

1) Etiquetage avec TreeTagger:

TreeTagger est un programme utilisable en ligne de commande, il prend en entrée un flux textuel obligatoirement tokenizé (le programme ne peut traiter qu'un mot par ligne, ce qui va nécessiter un pré-traitement).
L'étiquetage par ce moyen sera donc mis en place avec l'extraction. Ce qui implique de faire appel à TreeTagger via la commande system(). On a donc rajouté à nos scripts de bao1, sous cette commande, l'appel au programme tokenise.pl ainsi qu'à TreeTager.exe


sub lancetreetagger {
  system("perl TreeTagger/tokenise-fr.pl $outputtmp | tree-tagger.exe TreeTagger/french.par -lemma -token -no-unknown -sgml > $folder./treetagger_$rubrique");
      system("perl treetagger2xml.pl $folder./treetagger_$rubrique");
}

En clair, la sortie temporaire de texte brut est tokenisée dans un premier temps: syntaxe = 'perl tokenise.pl SORTIE_texte.txt'
le résultat est redirigé (par le pipe) vers l'application TreeTagger.exe . A cette dernière, il faut donner, pour arguments, le fichier TreeTagger de langue (.par) et préciser, pour le deuxième, les options ( -option_1 -option_2 -option_n). Pour l'écriture du résultat ( > ) nous avons fait le choix de la réaliser dans un dossier que l'on crée en amont avec nos programmes BAO-1 adaptés. Il faut dire grosso modo qu'à partir de la deuxième BAO notre programme auquel l'étiquetage a été rajouté commence à avoir beaucoup de sorties, d'où la création, dans un souci de clarté et d'organisation, d'un folder dans lequel on enregistre les sorties de chaque requête (chaque requête se matérialise, rappelons-le par un chiffre entré en ligne de commande). A l'instar des noms de sorties, les noms de folders sont tributaires de la variable de rubrique. Voilà ce que donneraient des requêtes successives:


Example pic

Retour au code. Dans le deuxième appel à la commande système. On fait intervenir un deuxième programme Perl pour transformer la sortie étiquetée par TreeTagger au format XML. Ce programme fourni est disponible sur le site du cours. Vous le trouverez sous ce lien.

Pour visionner notre script REGEX auquel on a intégré TreeTagger cliquez sur ce lien.

Cliquez sur ce lien si pour télécharger nos nouveaux scripts extracteurs-étiqueteurs (REGEX et RSS).
La sortie voyage dont on avait présenté l'aperçu plus haut est téléchargeable ici.


2)Etiquetage avec Cordial:

Passons à présent à l'approche un peu moins automatique. L'utilisation de Cordial se fait sur interface graphique:

Example pic

Cordial prend donc en entrée le résultat de l'extraction, du texte brut. Il faudra alors charger la sortie de la BAO1 que l'on veut étiqueter dans cet outil, sélectionner les options d'étiquetage, faire tourner le programme et il ne restera plus qu'à récupérer la sortie (.cnr)
Voici à titre d'exemple l'aperçu de la sortie étiquetée avec Cordial de la rubrique 'Europe':



Voici un autre aperçu de la sortie étiquetée globale : " requête '*' ". Un fichier au poids conséquent.

Ces deux dernières sorties sont disponibles en téléchargement ici.



Arezki SADOUNE, Leidiana Martins, Latéfa Faïz. 2010 - 2011
Nos vifs remerciements à nos enseignants, M.Fleury, M.Daube et M.Belmouhoub, sans l'aide desquels ce travail n'aurait pas été réalisable.