BAO 3
Objectif
Le but dans cette boite à outils est d'extraire des patrons syntaxiques à partir des fichiers étiquetés obtenus grâce à Treetagger et Cordial.
Quand nous parlons de patrons syntaxique, il s'agit d'extraire les suites de mots comportant les séquences NOM NOM, NOM ADJ et NOM PREP NOM.
Nous avons obtenu dans les étapes précédantes 4 fichiers étiquetés dont:
2 fichiers au format xml étiquetés avec Treetagger
2 fichiers au format cnr étiquetés avec Cordial
Après avoir soumis nos fichiers à Cooktop et à Cordial nous avons obtenu les résultats suivant:
Comment avons-nous obtenu ces résultats?
Méthode 1: A partir d'un fichier xml
Des outils comme XML copy editor et cooktop nous permettent de procéder à des extractions de séquence.
XPath désigne un moyen d'accéder à un nœud quelconque de l'arborescence d'un document XML.
Les requêtes XPATH que nous lançons via cette console sont un peu difficiles à comprendre au début mais compréhensibles avec le temps.
La requête Nom-Nom
values:(//element[./data[contains(text(),'NOM')]]/following-sibling::element[1][./data[contains(text(),'NOM')]]/data[3])|(//element[./data[contains(text(),'NOM')]]/preceding-sibling::element[1][./data[contains(text(),'NOM')]]/data[3])
La requête Nom-Adj
values:(//element[./data[contains(text(),'NOM')]]/following-sibling::element[1][./data[contains(text(),'ADJ')]]/data[3])|(//element[./data[contains(text(),'ADJ')]]/preceding-sibling::element[1][./data[contains(text(),'NOM')]]/data[3])
Nous demandons donc a XPATH d'aller récupérer la valeur des noeuds "element".
On précise si c'est un NOM ou ADJ ou PREP. Nous cherchons à récupérer l'élément de type X
suivi de (following-sibling::element[1]) de l'élément de type Y
et / ou
précédé de preceding-sibling::element[1] X ou Y
Grâce à celle-ci nous pouvons procéder à l'extraction via la feuille de style au format xsl.
Qu'est-ce qu'une feuille de style xsl?
Une feuille de style XSL est un fichier qui décrit comment doivent être présentés les documents XML
Dans la feuille xsl nous avons inséré les requêtes XPATH dans nos règles.
Ici nous indiquons le chemin qu'il doit parcourir afin de récupérer le texte dans les noeuds.
Les problèmes
Ce message d'erreur nous a été affiché pratiquement toutes les fois où nous tentions d'appliquer une règle sur des noeuds. Nous problèmes se sont résolus avec le temps et surtout une fois après avoir compris où étaient les erreurs.
Il nous a fallu vérifier la validité de notre document. On s'est rendu compte que certains de nos fichiers étaient mal formés. Cooktop a reconnu les caractères à problèmes.
Nous avons ensuite vérifié que les chemins sur lesquels on appliquait les règles étaient bien formulées.
Nous pouvons également extraire les patrons en utilisant un script perl Nom-adj, Nom-Nom, Nom-Prep-Nom
mais notre fichier XML contenait le récapitulatif des paragraphes étiquetées. On a donc ajouté une expression régulière pour s'ajouter à la boucle if. Cependant ces scripts fonctionnent correctemment.
Méthode 2: A partir d'un fichier texte
Nous nous sommes basés sur les résultats obtenus dans la BO2. Les fichiers .cnr nous servirons pour l'extraction des patrons.
Déjà étiquetés, nous pourrons commencer l'extraction.
Pour ce faire nous nous sommes servis d'un script pour:
NOM-NOM Script
NOM-ADJ Script
NOM-PREP-NOM Script
Nous avons lancé en ligne de commande
Comparaison des outils
Pour comparer les outils, nous avons effectué un traitement lexicométrique par outils et par patron.
Nous avons récupéré tous les patrons NOM-NOM, NOM-ADJ, NOM-PREP-NOM avec Cordial et Treetagger.
.
Voir fichier pour Lexico3
Ces statistiques mettent en évidence différents résultats:
D'une part on peut dire que TREETAGGER est plus efficace pour extraire les patrons.
Il a en effet recensé nettement plus d'occurences et de formes que Cordial. A en juger les résultats, Treetagger détecterait mieux les séquences NOM NOM,NOM ADJ, NOM PREP NOM? A voir...
Si on regarde de plus près les résultats obtenus, on constate que l'étiquetage a été correctement effectué avec TREETAGGER. Exemple
"
NAM
Guyane
Guyane
" . Quant à Cordial, les résultats sont moins prometteurs. L'étiquetage semble déjà différent de celui effectué par Treetagger.
Mais on a surtout constaté dans nos séquences extraites, de nombreuses erreurs. (exemple: chaque jour ADV)
D'autre part on peut conclure que sur ce corpus il serait plus facile de trouver une séquence NOM PREP NOM que NOM NOM. Peut-on donc l'expliquer par le fait que le français est une des langues qui utilise le plus de prépositions différentes ?
Nous ne pouvons pas l'affirmer à 100% en se basant seulement sur notre corpus, pourtant nos résultats répondent partiellement à cette question.
Il se trouve que les prépositions sont des mots-outils qui n'ont pas toujours rééllement le même sens et ce en fonction du contexte dans lequel ils sont utilisés. Ce qui expliquerait également le nombre important de séquences NOM PREP NOM dans notre corpus.
Retourner en haut de la page
|