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 :
- "patrons" (ou motifs) souhaités ;
- 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é) ;
- 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 ?