Boîte à outils 3 : Extraction de patrons syntaxiques
Objectifs :
Il s'agit ici d'extraire des patrons syntaxiques à partir des fichiers étiquetés créés dans la BaO2.
On recherche les patrons NOM NOM, NOM ADJ et NOM PREP NOM
Pour cela, on a deux solutions :
- à partir des fichiers xml créés avec Treetagger, on peut utiliser des requêtes Xpath.
- à partir des fichiers .cnr de Cordial, on va lancer un script créé par l'un de nos professeurs, M. J-M Daube.
Les requêtes Xpath
Pour récupérer les occurences répondant à ces patrons, nous avons utilisé Cooktop. Pour les deux premières requêtes, nous avons entré directement notre requête Xpath et demandé à Coooktop les valeurs. Mais comme le montre les copies d'écrans suivantes, Cooktop ne nous met pas sur la même ligne le couple-résultat. Il nous a alors fallu ensuite "retravailler" nos fichiers. La troisième requête ayant été effectuée un peu plus tard, nous avions alors découvert (et commencé à intégrer XSLT) et nous avons alors utilisé une feuille de style, ce qui nous permet d'améliorer la présentation finale.
(1) Première requête :
values:(//element[./data[contains(text(),'NOM')]]/following-sibling::element[1][./data[contains(text(),'NOM')]]/data[3]/text()) | (//element[./data[contains(text(),'NOM')]]/preceding-sibling::element[1][./data[contains(text(),'NOM')]]/data[3]/text() )
ce qui nous donnera des fichiers comme :
(2) Deuxième requête :
values:(//element[./data[contains(text(),'NOM')]]/following-sibling::element[1][./data[contains(text(),'ADJ')]]/data[3]/text()) |
(//element[./data[contains(text(),'ADJ')]]/preceding-sibling::element[1][./data[contains(text(),'NOM')]]/data[3]/text() )
On aura par exemple les couples suivants comme résultat :
(3) Troisième requête :
Grà¢ce au fichier xsl téléchargeable ici, nous avons obtenu des fichiers qui se présentaient sous cette forme :
Exemple de A_la_une
Le script pour Cordial
Il s'agit d'appliquer à la sortie Cordial un script Perl, lequel prend en arguments la sortie de l'étiquetage et un fichier listant les patrons syntaxiques à extraire. On a en sortie un fichier texte, de structure analogue à notre sortie obtenue avec les requêtes Xpath sur la sortie Tree-Tagger.
Le script est visible ICI :