BOITE A OUTILS 3 : Extraction de patrons

Obejctifs

Cette troisième boîte à outils va permettre d'extraire des suites de mots à l'aide de patrons syntaxiques. Elle utilise les résultats obtenus avec la BaO2. Nous avons décidé de n'utiliser que les sorties Cordial car les résultats avec l'étiquetage avec Cordial nous semblait plus précis. Les résultats avec cette boîte à outils vont permettre la recherche de mots en coocurrences dans Bao4 à l'aide de graphes.

Nous avons décidé de nous intéresser aux syntagmes nominaux, et plus précisément aux formes ADJ NOM, NOM ADJ et NOM PREP NOM. Cette liste est réduite car en testant avec des expressions régulières complexes, le programme générait des suites de mots qui n'étaient pas des syntagmes nominaux. Nous avons essayé de faire une liste de toutes les combinaisons (adj nom adj, adj nom prep nom, adj nom prem nom adj) mais dans ce cas-là nous avions énormément de doublons.

Choix du script

Plusieurs méthodes ont été proposés pour extraire les patrons syntaxiques. Nous avons choisi la méthode de M. Serge Fleury qui consiste à créer plusieurs listes : une pour les lemmes, une pour les tokens, une pour l'étiquette syntaxique(pos), une pour la liste des pos et une pour ctte même liste mais segmentée.

Le programme prend en arguments le fichier cordial .cnr et un fichier des pos.

Le liste des pos est écrite telle une expression régulière. Le signe # est un délimiteur. Il va servir de signe caractère pour la fonction split du programme afin de récupérer chaque étiquette séparremment.

Le programme va comparer la les étiquettes du fichier Cordial à celles du fichier de pos. S'il y a correspondance entre les deux étiquettes, le programme regarde l'étiquette suivante jusqu'à ce qu'il n'y ait plus correspondance. A partir de ce moment si le nombre d'éléments du patron correspond au nombre d'éléments trouvés en correspondance, le programme extrait les tokens correspondants de la liste des tokens.

Comme nous avons fait le choix de traiter le corpus du Monde par rubrique, nous aovns écrit un petit programme qui traite chaque rubrique une par une. En sortie nous avons donc un fichier avec une liste de syntagmes nominaux par rubrique.

Ce programme est une réutilisation du sous-programme "parcours arborescence fichiers" que vous pouvez trouver en première dans nos BaO précédentes. Une fois l'arborescence parcourue, pour chaque fichier nous lançons la commande system suivante :

Pour créer le nom de nos fichiers de sortie, nous avons réutilisé le nom du fichier cordial et changé l'extension :

Une fois ce programme lancé nous obtenons un fichier de ce type :

Vous trouverez nos résultats ici : les fichiers txt et xml.

Les scripts ici : extract-terminologie-cordial-OK.pl et parcours-bao3.pl

Image bannière © Copyright Off Beat Mum · Design : MD DR & AG