BàO #4 [ Des textes aux graphes ]

Objectif

Le but de cette quatrième et dernière boîte à outils est d'engendrer des graphes projetant les relations d'"attirance" qu'entretiennent les termes d'un patron morphosyntaxique donné.

Ces mots, qui peuvent être filtrés à partir d'un motif, sont représentés par les noeuds du graphe et les flèches qui les relient indiquent le sens de lecture et la fréquence à laquelle apparaît la cooccurrence.

Nous avons choisi d'étudier les réseaux d'attraction apparaissant pour "Sarkozy", qui, au vu du contexte politique de 2009, nous semblait être une belle entité nommée à suivre dans les fils de presse du journal LeMonde.

Réalisation

Pour ce faire, nous avons tout d'abord défini les patrons qui nous paraissaient pertinents à extraire des corpus étiquetés, en plus des extractions déjà réalisées dans la BàO #3. Après quelques essais, nous avons sélectionnés les patrons suivants, qui s'intéressent principalement à l'environnement nominal, adjectival et verbal où pourrait apparaître le motif [Ss]arko :

Treetagger :
ADJ NOM
NOM ADJ
NOM NOM
NOM PRP NOM
NOM PRP NOM NOM
NOM NOM PRP NOM
NOM VER
NOM VER VER
NOM VER ADJ
NOM VER PRP NOM

<-- parfait sarkozyste -->
<-- milices sarkoziennes -->
<-- réforme Sarkozy -->
<-- hostilités contre Sarkozy -->
<-- échec pour Nicolas Sarkozy -->
<-- Nicolas Sarkozy en RDV -->
<-- Sarkozy veut / sarkozyste destabilisé -->
<-- Sarkozy avait promis / Sarkozy souhaite faire -->
<-- Sarkozy est populiste -->
<-- Menaces adressées à Sarkozy -->
Cordial :
ADJ NC
NC ADJ
NC NC
NC PREP NC
NC PREP NC NC
NC NC PREP NC
NC V
NC V V
NC V ADJ
NC V PREP NC

Note : ces listes ne contiennent pas les patrons n'ayant ramené aucun résultat pertinent, tels que NOM NOM ADJ ou encore NOM PRP NOM ADJ.


Afin d'augmenter la précision de nos résultats et puisque nous savions que l'étiquetage n'était pas toujours fiable, nous avons procédé à quelques ajustements au niveau des noms :

  • Pour la sortie de Treetagger : remplacement des NAM par NOM ("Sarkozy" est d'ailleurs considéré comme NOM et "Nicolas" comme NAM)
  • Pour la sortie de Cordial : remplacement des NP par NC.

Note : nous n'avons pas modifié les différences d'étiquetage au niveau des autres catégories, puisque nous aurions alors perdu les effets de ces divergences dans les graphes.



A partir du fichier contenant le motif recherché (MOTIF=[Ss]arko, pour également récuperer des termes comme "antisarkozysme"), nous avons lancé le programme patron2graphe.exe sur chacun des fichiers obtenus après l'extraction de patron. Ce programme, extrait du logiciel Le Trameur, s'utilise en ligne de commande et sa syntaxe d'exécution est la suivante (le fichier contenant le motif étant facultatif) :

Marjorie&Axel@pluriTAL ~
$ patron2graphe.exe "<encodage-des-fichiers>" <fichier-patrons-extraits.txt> [<fichier-motif-à-filtrer.txt>]

Graphes

Après un rangement manuel des noeuds, voici les résultats obtenus pour chaque patron morphosyntaxique :

  • Patron ADJ NOM / ADJ NC :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron ADJ NOM
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron ADJ NC
  • Patron NOM ADJ / NC ADJ :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM ADJ
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC ADJ
  • Patron NOM NOM / NC NC :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM NOM
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC NC
  • Patron NOM PRP NOM / NC PREP NC :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM PRP NOM
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC PREP NC
  • Patron NOM PRP NOM NOM / NC PREP NC NC :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM PRP NOM NOM
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC PREP NC NC
  • Patron NOM NOM PRP NOM / NC NC PREP NC :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM NOM PRP NOM
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC NC PREP NC
  • Patron NOM VER / NC V :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM VER
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC V
  • Patron NOM VER VER / NC V V :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM VER VER
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC V V
  • Patron NOM VER ADJ / NC V ADJ :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM VER ADJ
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC V ADJ
  • Patron NOM VER PRP NOM / NC V PREP NC :
Avec TreeTagger :
Graphe obtenu à partir de l'extraction de Treetagger pour le patron NOM VER PRP NOM
Avec Cordial :
Graphe obtenu à partir de l'extraction de Cordial pour le patron NC V PREP NC

Quelques remarques sur les graphes :

  • Lorsqu'un nom est "composé" avec un autre élément (Bruni-Sarkozy, anti-Sarkozy, anti-bande), Treetagger le considère comme un adjectif (voir par exemple le graphe NOM ADJ où les flèches pointent vers Sarkozy, ou encore le graphe NOM VER PRP NOM, où anti-bande-->voulu-->par-->Sarkozy brille par son absence) ;
  • Treetagger et Cordial font la même erreur pour critique, qu'ils étiquettent ADJ (on voit bien ici les limites des modèles statistiques, la phrase source étant Le 10 Downing Street a peu goûté le fait que Nicolas Sarkozy critique, lors de son intervention télévisée jeudi, la baisse de la TVA décidée par Gordon Brown);
  • Seul Treetagger reconnaît bien les termes sarkozyennes et sarkozyste comme des ADJ (sarkozyste étant bien un adjectif dans ce contexte ; comme quoi, un modèle purement probabiliste n'a pas que des inconvénients...);
  • "One" est un NC pour Cordial, et un ADJ pour TreeTagger ;
  • Certains patrons contenant des prépositions ne sont ramenés que par Cordial, comme ceux comportant face à (face ayant été reconnu comme NOM par TreeTagger), sur et avec (Internet et Beach ayant été étiquetés ADJ).
  • Les divergences dans les étiquettes se remarquent très nettement : TreeTagger ramène également les amalgames au ou aux (à + déterminant le(s)) et des, car ceux-ci sont étiquetés PRP:det (tandis que Cordial les étiquette DETDMS [Masculin Singulier] et DETDPIG [Pluriel Invariant en Genre]);
  • On voit bien que les cafouillages peuvent venir des deux côtés, et cela est notamment visible sur le graphe NOM VER ADJ / NC V ADJ, où Hosni et tout sont considérés comme des ADJ par Treetagger et Cordial respectivement.

Au final, seul le graphe ADJ NOM / ADJ NC (qui ne rassemble d'ailleurs que trois malheureux patrons) est commun aux deux extractions filtrées...!

Télécharger les fichiers

Retrouvez ici l'intégralité des fichiers de la BàO #4

Scripts de pré-traitement

Cliquez ici pour télécharger NCtoNP.pl (remplacer les NP par des NC dans Cordial)

Cliquez pour télécharger genererpatrons.pl
(obtenir un fichier par patron à partir des
extractions de la BàO #3)

Programme patron2graphe

Cliquez ici pour télécharger le programme

Patrons traités

Cliquez ici pour télécharger les patrons utilisés

Patrons traités

Cliquez ici pour télécharger les graphes