BàO 2


Boite à outils 2: Etiquetage


Basé sur le résultat de BàO 1. Une fois que le corpus est filté et nettoyé, nous avons deux méhotde pour réaliser l'étiquettage:


I: Treetagger + Script Perl;

II: Cordial


Afin d'optimiser notre programme, nous ajoutons l'élément qui vérifie la rubrique du journal




La methode Treetagger


Pour étiqueter la sortie en format xml, on utilise le Treetagger en l'ajoutant dans notre script, tandis qu'on utilise le logiciel Gordial pour étiqueter le fichier en format txt. Le logiciel Treetagger est un logiciel moins efficace que Cordial pour certains points, il permet tout de même de tokéniser et d'étiqueter avec suffisamment de précision pour que nous puissions analyser les fichiers résultats.


Le programme doit construire un fichier structuré(XML) qui contient les contenus textuels étiquetés des balises DESCRIPTION et TITLE



Script:


Basé sur l'étape dernière, nous ajoutons un sous-programme pour nous aider à faire l'étiquetage des données.

      
#------------------------------------------------------------------------------------------------------------------
# Etape 3: etiquette : applique un traitement d’étiquetage sur chacun des fichiers rencontrés au moment du parcours
#------------------------------------------------------------------------------------------------------------------
sub etiquette
{
  my $var1 = shift(@_); #$_[0]
  my $var2 = shift(@_); #$_[1]

  open (my $f1, ">>:encoding(utf8)", "title.txt") or die "NE PEUT PAS OUVIRE LE FICHIER !"; #>> ==> ajouter
  open (my $f2, ">>:encoding(utf8)", "description.txt") or die "NE PEUT PAS OUVIRE LE FICHIER !";

  print $f1 "$var1\n\n"; #ecrit dans title.txt $var1 qui a la valeur de $title
  print $f2 "$var2\n\n"; #ecrit dans description.txt $var2 qui a la valeur de $description 

  close $f1;
  close $f2;

  #on veut lancer une commande hors la programme perl:
  system("perl tokenise-utf8.pl title.txt | tree-tagger -token -lemma -no-unknown french-utf8.par > title_etiquette.txt"); 
  #Tree-tagger [opt°] <input> <output>
  system("perl treetagger2xml-utf8.pl title_etiquette.txt utf8"); #résultat est contenu dans title_tag.txt.xml
  open ($f1, "<:encoding(utf8)", "title_etiquette.txt.xml") or die "NE PEUT PAS OUVIRE LE FICHIER !";
  my $title_tag = "";
  my $ligne = <$f1>;
  while (my $ligne = <$f1>) 
  {
    $title_tag = $title_tag . $ligne;
  }
  close $f1;

  system("perl tokenise-utf8.pl description.txt | tree-tagger -token -lemma -no-unknown french-utf8.par > des_etiquette.txt");
  system("perl treetagger2xml-utf8.pl des_etiquette.txt utf8");  #résultat est contenu dans description_tag.txt.xml
  open (my $f2, "<:encoding(utf8)", "des_etiquette.txt.xml") or die "NE PEUT PAS OUVIRE LE FICHIER !";
  my $description_tag = "";
  my $ligne = <$f2>;
  while (my $ligne = <$f2>) 
  {
    $description_tag = $description_tag . $ligne;
  }
  close $f2;
  return $title_tag, $description_tag;     # envoyer deux valeur qui contiennent le contenue de title
} # fin de etiquette



Afin d'éviter les affichages d'erreurs liés aux charactères spéciaux


On force l'utilistion de l'encodge utf8. Les lignes de commandes sont ajoutées au début de script

      
#ce fichier en tête peut evider Wide character
use utf8;
binmode(STDIN, ':encoding(utf8)');
binmode(STDOUT, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

      
      

Pour voir le script complet, cliquez sur le lien suivant


Fichier sortie avec Treetagger

Rubrique 3208:   XML   


Rubrique 3210:   XML   


Rubrique 3224:   XML   


Rubrique 823353:   XML   



La methode Cordial


Pour étiqueter la sortie en format xml, on utilise le Treetagger en l'ajoutant dans notre script, tandis qu'on utilise le logiciel Gordial pour étiqueter le fichier en format txt. Cordial Ce logiciel ne traite que les textes codés en iso. On doit donc convertir le fichier utf-8 en iso. Après avoir chargé le fichier, on peut obtenir le résultat qu'on veut en changeant le paramètre.


Fichier sortie avec Cordial

Rubrique 3208: A la Une    CNR   


Rubrique 3210: International    CNR   


Rubrique 3224: France    CNR   


Rubrique 823353: Présidentielle 2017   CNR