Boîte à outils 3: Extraction de patrons


L'objectif de la BAO3 est d'extraire des patrons syntaxiques à partir des données étiquetées et cela grâce à trois méthodes. La première méthode est un programme Perl qui extrait les patrons à partir des fichiers au format txt étiquetés par Cordial.

Les patrons syntaxiques à extraire sont : / NOM ADJ/ / NOM NOM/ /NOM PREP NOM/

Méthode daube sur fichier cordial

Les patrons syntaxiques sont contenus dans un fichier que j'ai nommé schemaPOS.txt (attention au vocabulaire de Cordial, les  noms communs équivalent à des NC mais si on veut spécifier par exemple NCFS est un nom commun féminin singulier.)


  • Le programmel utilise des listes pour extraire les patrons syntaxiques que l'on souhaite. Le programme prend en entrée le fichier étiquetés par Cordial dont on veut extraire les patrons syntaxiques suivi du fichier qui contient les POS à extraire (ici schemaPOS.txt) et pour finir on spécifie le nom du fichier de sortie. En sortie on obtient une liste contenant les POS pour  le fichier d'entrée.
  • Le programme se lance comme ceci: perl BAO3-Cordial.pl fichier-entrée.cnr schemaPOS.txt >> fichier-sortie.txt
  • Voici un exemple de la sortie que l'on obtient mais pour tous les POS que l'on voulait extraire. Pour avoir chaque POS en particulier il suffit d'avoir uniquement le schéma des parties syntaxiques que l'on veut extraire sur une ligne. Vous pouvez trouver les fichiers avec les patrons extraits ici.













méthode belmouhoub sur fichier treetagger


Cette méthode consiste à utiliser le module XML::XPATH sur les fichiers XML. XML::XPATH permets de faire des requêtes XPATH avec le programme. Il prend en entrée le fichier XML étiqueté à traiter et un fichier avec les patrons et on obtient en sortie un fichier avec les patrons extraits. L'inconvénient de cette méthode est qu'elle ne peut pas traiter de fichiers trop lourds et malheureusement certains des fichiers étiquetés avec Treetagger ne peuvent pas être traités par ce programme. Pour régler ce problème il a fallu morceller les fichiers concernés. La commande split associé à l'option -b (permet de spécifier la taille des fichiers de sortie). Après, il faut s'arranger pour que le résultat soit bien formé, veiller que la découpe ne soit pas en plein milieu d'un élément, ajouter des balises en fin et début des documents aprèschaque découpe.

Voici un exemple de sortie que l'on obtient (NOM ADJ de la rubrique MEDIA)









SCRIPT

méthode de la feuille de style Xslt de fleury

La troisième et dernière méthode est l'utilisation d'une feuille de style XSLT avec des requêtes XPATH qui va transformer les fichiers XML de la BAO2 taggés par Treetagger et va renvoyer les patrons que l'on cherche. Les requêtes XPATH permettent l'affichage des noeuds qui nous intéressent dans la structure XML.

Voici les résultats que l'on obtient par exemple pour le patron /NOM PREP NOM/ sur la rubrique MEDIA:



Vous trouverez toutes les feuilles de style ci-dessous.