Accueil    |     BAO 1     |     BAO 2     |     BAO 3     |     BAO 4     |     Contacts
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:

    Médias
    TreetaggerExtraction Nom Nom
    Extraction Nom Adj et Adj Nom
    Extraction Nom-Prep-Nom
    CordialExtraction Nom Nom
    Extraction Nom Adj et Adj Nom
    Extraction Nom Prep Nom

    Culture
    TreetaggerExtraction Nom Nom
    Extraction Nom Adj et Adj Nom
    Extraction Nom-Prep-Nom
    CordialExtraction Nom Nom
    Extraction Nom Adj et Adj Nom
    Extraction Nom Prep Nom




    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



    Exemple de feuille de style Xsl
    XSLFeuille de style Nom Nom
    Feuille de style Nom Adj et Adj Nom
    Extraction Nom-Prep-Nom



    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
  • Copyright © 2009 Cécile Darmé & Elodie Nijean