Étiquetage syntaxique

Cordial et Treetagger

Une fois le texte isolé, on peut passer à l'analyse centrale du travail qui est le traitement morpho-syntaxique et l'étiquetage qui va en résulter. Chaque texte va être analysé deux fois pour comparer le résultat obtenus par les deux logiciels.

Version Treetagger

  • pré-traitement
  • Treetagger prends en entrée un fichier texte comportant un mot par ligne my @mots = split(/\s/, $fichier);
    print join("\n", @mots), "\n";
  • Texte traité par Treetagger
  • L'appel de Treetagger peut se faire depuis la console ce qui est pratique. La version de tree tagger utilisée est celle pour OS X mais le fichier par utilisé est celui de linux: treetagger/tree-tagger-MacOSX-3.2/bin/tree-tagger -no-unknown -lemma'-token french-par-linux-3.1.bin $entree $sortie
  • formatage du résultat en XML
  • s/([^\t]*)\t([^\t]*)\t(.*)/\n<element><data type=\"string\">$1<\/data><data type=\"type\">$2<\/data><data type=\"lemma\">$3<\/data><\/element>/;

    On passe de l'étiquetage FORME TYPE LEMME au balisage

    <element>

    <data type="string">FORME</data>

    <data type="type">TYPE</data> 

    <data type="lemma">LEMME</data>

    </element>

Version Cordial

  • Texte étiquetté par cordial
  • Cordial nécessite une utilisation manuelle depuis la GUI. Le résultat est le fichier ".src".
  • formatage du réusultat en XML
  • L'étiquetage effectué par cordial se présente sous une forme assez similaire mais transformation en XML doit tenir compte de certaines différences d'ordre: FORME LEMME TYPE. On a simplement à inverser l'ordre de l'étiquette lemme et type pour pouvoir entrer dans les mêmes balises XML.

     s/^([^\t]*)\t([^\t]*)\t([^\t]*).*$/\n<element>\n <data type=\"type\">$3<\/data>\n <data type=\"lemma\">$2<\/data>\n <data type=\"string\">$1<\/data>\n<\/element>/

“Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.”

– Jamie Zawinski.