METHODES + RESULTATS

1.PERL - REGEX

Le script



Explication du script

Notre objectif du script est de pouvoir rechercher des patrons dans un document vertical (un item par ligne) à l'aide des expressions régulières qui fonctionnent horizontalement (ligne à ligne). Alors, on devrait transformer le document vertical en document horizontal. L'idée est que pour chaque ligne, on mémorise le mot et sa POS et ensuite les concatène avec les autres éléments de la phrase. On voudrait obtenir une phrase de type: "mot/POS mot/POS mot/POS ..." avec $phrase=$phrase.$mot."/".$pos." ";

Pour chaque patron dans la liste TERMINO, on le transforme en RegEx et le stocke dans la variable $patron2.
$patron2=~s/([^ ]+)/\[\^ \]\+\/\\b$1/g;.
Prenons par exemple le patron: NC ADJ. Avec RegEx ([^ ]+), on obtient alors NC et ADJ séparamment. Et on le remplace par \[\^ \]\+\/\\b$1 ($1 correspond au sous-motif ([^ ]+) ). On recherche ensuite dans notre phrase concaténée un motif qui correspond bien au motif de $patron2 ([^ ]+/NC).

while ($phrase=~/(?=\s($patron2))/g)

IMPORTANT: "?=" une assertion de regard en avant

Puis on enlève l'étiquette de POS et ne garde que la forme.
my $terme=$1;
$terme=~s/\/[^ ]+//g;



Exécution

Fichier de patrons

perl extractionpatrons.pl sortie-3210-talismane.txt termino



Résultats

Fichiers TXT

Méthodes + Résultats

XSLT + XPATH + XQUERY

A découvrir