B. Habert
Projet Communautés

Cours 2

Cooccurrences dans une fenêtre syntaxique

Données disponibles

Les données utilisées sont cette fois les dépendances syntaxiques fournies par Syntex (développé par Didier Bourigault, Cécile Fabre, et al. à l'ERSS).

Précisions sur LM10 et l'obtention des dépendances syntaxiques

Les dépendances proviennent du même corpus : les phrases en barrage dans LM10

Elles sont de la forme (archive des dépendances) :

<mois><mois,année><doc><§><phrase>   <POS1>     <lemme1><rel> <POS2>    <lemme2>

01      0100    683121  1       1       N       galette r_sur   N       littoral
01      0100    683121  2       1       V       repérer r_SUJ   N       cellule
01      0100    683121  2       1       V       repérer r_SUJ   S       cellule de crise
01      0100    683121  2       1       N       cellule r_EPI   N       crise
01      0100    683121  2       1       N       cellule r_EPI   S       crise de le plan
01      0100    683121  2       1       N       crise   r_EPI   N       plan
01      0100    683121  2       1       N       plan    r_EPI   NP      Charente-maritime
01      0100    683121  2       2       V       survoler        r_SUJ   N       hélicoptère
01      0100    683121  2       2       V       survoler        r_OBJ   N       zone
01      0100    683121  2       2       V       repérer r_OBJ   N       plaque

Un programme proche de celui de la séance précédente permet de construire un graphe (au format GraphML) en fonction de paramètres à régler :
  1. "patrons" (ou motifs) souhaités ;
  2. degré plancher d'un noeud (le degré d'un noeud est le nombre d'arêtes qui sont incidents à ce noeud, qui ont ce noeud pour extrémité) ;
  3. fréquence plancher de la cooccurrence.

Patrons présents dans l'archive (précédés de leur fréquence)

Forme d'appel du programme :

perl ContextesSyntexLM10AutourPivot2CooccurrencesGraphML.pl  <fichier d'entrée><fichier de sortie><pivot><patrons gardés séparés par des espaces><cooccurrence plancher><degré plancher>

Exemple :
perl ContextesSyntexLM10AutourPivot2CooccurrencesGraphML.pl LM10NbarrageTripletsSyntexAnMoisDocParPhrasePOS1L1RPOS2L2Win.txt LM10NbarrageTripletsNN_ANPlancherDegre20PlancherCooc40.gml barrage 'Nr_EPIN Nr_EPIA' 20 40

Les patrons sont séparés par des espaces. Un patron colle la catégorie du premier lemme, la relation en place, le deuxième lemme. Ici, le programme cherchera un N en relation r_EPI avec un deuxième N ou un N en relation r_EPI avec un A. On peut utiliser des expressions régulières dans ces patrons (par exemple 'V(r_SUJ|r_OBJ)N' fournirait toutes les relations sujets et objets présentes.

Le programme fournit par ailleurs des indications sur le graphe résultant (ici graphe de 503 noeuds et 640 arêtes).

Comme pour la séance précédente, il faut transformer le fichier au format GraphML en fichier au format Pajek pour pouvoir examiner le résultat avec ce dernier logiciel.

Comparaison de cooccurrences

Examiner des graphes Pajek obtenus dans des conditions similaires (par exemple, patron 'Nr_EPIA Ar_EPIN Nr_EPIN' avec les contextes syntaxiques et en ne gardant que les N et les A dans les contextes phrastiques.

Tester plusieurs niveaux d'élagage pour obtenir des graphes dont au moins une partie peut être visualisée commodément.

Caractériser les phénomènes que l'on observe selon le type de contexte employé (nombre de noeuds et d'arêtes du graphe, "interprétabilité" des cooccurrences isolées, etc.).

Graphes "bruts" et délimitation de zones denses


L'élagage des graphes par les deux programmes fournis est brutal : dans les deux cas, un plancher sur les cooccurrences, pour le second, un plancher sur le degré des noeuds.

On examinera la démarche de Jean Véronis et Olivier Ferret (cf. documentation en ligne sur la page du cours) et on essaiera de déterminer en quoi elle se distingue de cet élagage brutal.

Que faudrait-il savoir faire pour isoler des zones "intéressantes" dans le graphe ?