Objective :

Dans BàO1 le programme parcours et extrait les contenus textuels rubrique par rubrique de tous les fichiers RSS de l'arborescence 2018 et produit deux sorties un fichier TXT et un fichier XML pour chaque rubrique. Dans la Bào 2 on a continué à enrichir le script construit pour la BàO1pour qu’il parcourt les fichiers RSS de l'arborescence 2018 et fait l’étiquetage du fichier XML via Tree-Tagger et produire un autre étiquetage via Talismane.

Le script perl:

intégration du programme d'étiquetage via treetagger et Talismane dans le programme construit pour la BàO1 : Load-BAO2-wip.pl

    Ce script est lancé de la manière suivante : perl Load-BAO2-wip.pl 2018/ 3246

On prend le script de la première Boîte à Outils. Puis on ajoute quelques modifications. Après avoir nettoyé les variables « titres » et « description », on appelle en premier la fonction d’étiquetage via « Tree-Tagger » qu'on a appelé « tiquetageTT » et après la fonction d’étiquetage via Talismane qu'on a appelé « etiquetageTalismane ».



	my ($titreTT,$descriptionTT) = &etiquetageTT($titrenettoye, $descriptionnettoye);
	print OUTXML "$titreTT\n";
	print OUTXML "$descriptionTT\n";
	print OUTXML "\n";
					}
				}
	my $etiquetTa = &etiquetageTalismane($pourtalismane);
	print TALISMANE "$etiquetTa";
						


    La fonction qui l'étiquetage avec Tree-Tagger :

Dans la fonction d’étiquetage de « Tree-Tagger » on a intégré deux autre programmes. Le premier « tokenise-utf8.pl » un script qui permet de segmenter le contenu textuel en tokens et treetagger2xml-utf8.pl qui transforme la sortie du TreeTagger au format XML ; sans oublier l'application tree-tagger.exe qui permet de faire l’étiquetage.

Script de tokenisation : tokenise-utf8.pl
Script de transformation au format XML : treetagger2xml-utf8.pl

sub etiquetageTT {


my $vartitre = $_[0];
my $vardesc = $_[1];
my $titretagge;
my $descriptiontagge;
open (TMP, ">:encoding(utf8)", "temp.txt");
print TMP $vartitre ;
close TMP;
system("perl tokenise-utf8.pl -f temp.txt | ./tree-tagger -token -lemma -no-unknown french-utf8.par > temp_tag.txt");
system("perl treetagger2xml-utf8.pl temp_tag.txt utf8");
{
local $/=undef;
open(FIC1, "<:encoding(utf8)", "temp_tag.txt.xml");
$titretagge = ;
close FIC1;
$titretagge =~ s/<\?xml.+?>//;
}

open (TMP, ">:encoding(utf8)", "temp.txt");
print TMP $vardesc ;
close TMP;
system("perl tokenise-utf8.pl -f temp.txt | ./tree-tagger -token -lemma -no-unknown french-utf8.par > temp_tag.txt");
system("perl treetagger2xml-utf8.pl temp_tag.txt utf8");
{
local $/=undef;
open(FIC1, "<:encoding(utf8)", "temp_tag.txt.xml");
$descriptiontagge = ;
$descriptiontagge =~ s/<\?xml.+?>//;
close FIC1;
}
print "$titretagge\n";
#my $rep = ;
return $titretagge, $descriptiontagge;
}

    							 


    La fonction qui l'étiquetage avec Talismane :

sub etiquetageTalismane {

my $var = shift @_;
open (TMP, ">:encoding(utf8)", "bao1_test.txt" );
print TMP $var;
close TMP;
system ("java -Xmx1G -Dconfig.file=../TALISMANE-BAO2019-DISTRIB/talismane-fr-5.0.4.conf -jar ../TALISMANE-BAO2019-DISTRIB/talismane-core-5.1.2.jar --analyse --sessionId=fr --encoding=UTF8 --inFile=bao1_test.txt --outFile=bao1_test.tal");
my $lefil;
{
local $/=undef;
open(FIC1, "<:encoding(utf8)", "bao1_test.tal");
$lefil = ;
close FIC1;
}
return $lefil;

}


    							 


Les sorties :

Sortie Tree-Tagger :

Talismane :


Voici les fichiers de sortie générés par le programme pour les 2 rubriques sélectionnées: