SlideShare une entreprise Scribd logo
INRIA
Jouer avec des analyseurs syntaxiques
Éric Villemonte de la Clergerie
INRIA Paris-Rocquencourt
http://alpage.inria.fr
TALN
Marseille, 1-4 Juillet 2014
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 1 / 20
INRIA
Motivations
Développement d’un analyseur symbolique du français, avec FRMG
mais envie d’explorer les approches statistiques:
BONSAI: 3 systèmes évalués en 2010 sur le French TreeBank (FTB)
bons résultats de TALISMANE sur FTB, en 2013
Opportunité de participer à la campagne SPMRL 2013
9 langues à morphologie riche
Arabe, Basque, Français, Allemand, Hébreu, Hongrois, Coréen, Polonais, Suédois
diverses configurations testées, dont traitement de treillis de mots
⇒ développement rapide de DYALOG-SR
DYALOG-SR pour conduire des expériences plus poussées sur le français
xp1: comparaison avec d’autres systèmes statistiques
xp2: utilisation de treillis de mots produits par SXPIPE
xp3: couplage avec FRMG
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 2 / 20
INRIA
DYALOG-SR
Effort d’un homme.mois pour développer et régler DYALOG-SR pour SPMRL’13:
analyseur par transitions shift-reduce pour des dépendances projectives
(à la MALT, Nivre)
une stratégie simple de type arc-standard
utilisation de programmation dynamique avec items (∼ Huang & Sagae),
au dessus de DYALOG
utilisation de beams [faisceaux] ⇒ gains importants
apprentissage avec perceptron moyenné, et stratégie early update
jeu standard de features (traits) du premier et second ordre,
certaines avec des valeurs listes (e.g. pour les traits morphosyntaxiques)
Minimun de réglages pour les 9 langues et type de données (gold/pred)
(pour cause de manque de temps !)
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 3 / 20
INRIA
Stratégie arc-standard étendue
Stratégie d’analyse projective, avec
une transition Shift
shift
m :< j, S, la1, la2, la3 >: c
m + 1 :< k, S|la1, la2, la3, la4 >: c + ξ
j k l p q
la1 la2 la3 la4
deux transitions Reduce (gauche et droite)
rel
m :< j, S|s1|s0, la1, la2, la3 >: c
m + 1 :< j, S|s1 l s0, la1, la2, la3 >: c + λ
re l
m :< j, S|s1|s0, la1, la2, la3 >: c
m + 1 :< j, S|s1 l s0, la1, la2, la3 >: c + ρ
avec des coûts de configuration c et des coûts de transitions ξ, λ, ρ
étendu avec des identifiants de lookahead lai
nécessaire pour garder trace des chemins dans les treillis de mots
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 4 / 20
INRIA
Analyser des treillis de mots
Une des tâches de SPMRL’13 portait sur l’analyse de treillis de mots (∼ DAGs),
utilisés pour représenter des ambiguïtés de segmentation:
0 1 2 3 4 5 6
1:AIF/NN
2:AIF/VB
3:AIF/NNT
4:LA/RB
5:NISH/VB
6:NISH/NN
7:L/PREP
8:LHSTIR/VB
length=2
9:HSTIR/VB
10:ZAT/PRP
Problèmes:
1 validité des chemins suivis dans les treillis
⇒ nécessité de conserver des identifiants de lookahead lai
+ l’apprentissage requiert un oracle sur le bon chemin,
construit par alignement
Note: # de configurations multiplié par le # de chemins partiels valides
2 les chemins peuvent être de longueurs différentes,
avec le risque de favoriser les plus longs chemins
⇒ introduction d’un trait length de compensation (par apprentissage)
en pratique: utile mais moins qu’attendu (gain=0.25)
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 5 / 20
INRIA
Analyser des treillis pour l’hébreu
Testé sur l’hebreu, avec de bons résultats:
des faisceaux plus larges sont nécessaires
(pour compenser les ambiguïtés du treillis, avec 2.76 arcs par token)
mais seulement une faible chute en performance versus le cas non-treillis
et des gains très importants versus un apprentissage de base: TED=76.35
(en utilisant un modèle appris sans treillis avec beam=6)
6 8 10 12 14 16
83
84
85
86
87
88 sans treillis, meilleur faisceau=6
avec treillis
largeur du faisceau
100∗TEDaccuracy
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 6 / 20
INRIA
Résultats SPMRL 2013
DYALOG-SR deuxième sur l’ensemble des 9 langues et 4 configurations
juste devant MALT avec traits optimisés par MALTOPTIMIZER
Pour le français, pas particulièrement bon !
DYALOG-SR autres systèmes
configuration test beam meilleur baseline moyenne
gold/full 87.69 8 90.29 79.86 85.99
gold/5k 85.66 8 88.73 78.16 84.49
pred/full 82.06 8 85.86 77.98 81.03
pred/5k 80.11 4 83.60 76.54 79.31
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 7 / 20
INRIA
XP1: sur FTB, avec étiquetage prédit (par MELT)
Utilisation French TreeBank (journalistique, train=9881/dev=1235/test=1235):
étiquetage et lemmatisation avec MELT (Denis & Sagot)
traits morphosyntaxiques fournis par LEFFF (Sagot)
Extension du jeu de traits
traits liés à la ponctuation, entre sommet de pile s0 et prochain mot la1
Programmation Dynamique: configurations ; items + pauvres en info
⇒ traits portant seulement sur 2 premiers éléments de pile so et s1
mais en fait, possible d’exploiter également s2
rel
I = m: j, s0, s1, la1, la2, la3 :(c, ι)
It = _: _, _, s2, _, _, _ :(c , ι ) ∈ tail(I)
J = m + 1: j, s1 l s0, s2, la1, la2, la3 :(c + δ, ι + δ)
δ = ι + λ
tail(J) ∪= tail(It )
back(J) +=(l , I, It , c + δ)
Mise à jour encore plus agressive, avec utilisation d’une marge fluctuante
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 8 / 20
INRIA
XP2: sur FTB, avec treillis de mots (avec SXPIPE)
Treillis de mots produits par SXPIPE (Sagot),
plus transformation pour permettre l’alignement:
n tokens FTB ; 1 lexème LEFFF ⇒ éclatement,
avec ajout X:cpmd et part=i sur les composants
10 avril _DATE_artf/nc 10/nc:cmpd (part=1) avril/nc:cmpd (part=2)
1 token FTB ; n lexèmes LEFFF ⇒ fusion, avec catégories X1 + · · · + Xn
en_surface en/prep surface/nc en_surface/P+N
n tokens FTB ; m lexèmes LEFFF ⇒ fusion et éclatement
Fusion ⇒ création d’environ 10,000 catégories:
suppression de certaines impossibles (cl+nc)
abstraction par aggl pour n > 2
avec_un_bel_ensemble avec/prep un/det bel/adj ensemble/nc
avec_un_bel_ensemble/aggl
#tokens #arcs arcs/token #catégories dont X+Y #(cmpd) #(X+Y)
278K 560K 2.01 188 131 5.5% 2.3%
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 9 / 20
INRIA
XP2: adaptations
XP2 ≡ traitement joint syntaxe, étiquetage morphosyntaxique, & segmentation
⇒ traits spécifiques pour l’étiquetage
shift
m: j, S, la1, la2, la3 :c
m + 1: k, S|la1, la2, la3, la4 :c + ξ
Lors d’un shift, très important d’avoir des traits liés à la4
en effet, le choix de la4 n’est plus ensuite remis en cause !
Faisceaux utiles mais coûteux pour traiter des treillis de mots
; Taille de faisceau localement adaptée à l’ambiguïté locale des treillis
b(m) = b ∗ max
(m−1)/2≤i≤(m+1)/2
(1, log(|chemins(source = i, longueur = 3))|)
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 10 / 20
INRIA
XP3: sur FTB, par couplage (avec FRMG)
Argument TALISMANE: injection de contraintes linguistiques
⇒ intéressant de coupler DYALOG-SR avec FRMG
Approche statique: ajout de traits de guidage sur les occurrences
frmg_label : label vers gouverneur
frmg_delta : distance signée au gouverneur
10 ses DET frmg_label=det|frmg_delta=1
11 adversaires NC frmg_label=suj|frmg_delta=3
12 politiques ADJ frmg_label=mod|frmg_delta=-1
13 ne ADV frmg_label=mod|frmg_delta=1
14 proposent V frmg_label=obj|frmg_delta=-5
15 aucune DET frmg_label=det|frmg_delta=1
16 solution NC frmg_label=obj|frmg_delta=-2
17 alternative ADJ frmg_label=mod|frmg_delta=-1
Très simple et déjà de très bons résultats
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 11 / 20
INRIA
XP3: couplage dynamique
Approche dynamique: être plus précis dans le guidage en ne proposant une
réduction que lorsque gouverneur et gouverné sont en position sur la pile
16 solution NC frmg_label=obj|frmg_delta=-2
16 solution
14 proposent
⇒ ajout traits reduce_left et reduce_left_obj
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 12 / 20
INRIA
Résultats (LAS, sans ponctuation)
système dev test
FRMG init 80.85 82.08
FRMG +tuning 86.20 87.49
BKY 86.50 86.80
MALT 86.90 87.30
MST 87.50 88.20
TALISMANE (b=1) 86.80 87.20
TALISMANE (b=20) 88.10 88.50
Le Roux (2012) – 89.20
MATE+MELT – 89.20
DYALOG-SR (b=1 i=5) 86.94 87.71
DYALOG-SR (b=8 i=10) 88.17 89.01
DYALOG-SR treillis (b=1 i=8) 82.60 83.68
DYALOG-SR treillis (b=10 i=9) 87.23 87.90
DYALOG-SR treillis (b=12 i=7) 87.15 88.15
DYALOG-SR+FRMG (b=1 i=6) 88.21 89.38
DYALOG-SR+FRMG (b=10 i=7) 89.02 90.25
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 13 / 20
INRIA
Impact des faisceaux
2 4 6 8 10
83
84
85
86
87
88
89
largeur du faisceau
LAS
DYALOG-SR
DYALOG-SR+SXPIPE
DYALOG-SR+FRMG
Utilité des faisceaux, surtout pour les treillis de mots
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 14 / 20
INRIA
Comparaison (par label)
60 80
root
suj
obj
deobj
aobj
pobj
ats
mod
det
coord
modrel
1,235
2,017
7,944
288
360
265
345
7,645
5,195
832
334
rappel (%)
labelsdesdépendances
FRMG
dsr
dsr+FRMG
60 80
root
suj
obj
deobj
aobj
pobj
ats
mod
det
coord
modrel
1,235
2,017
7,944
288
360
265
345
7,645
5,195
832
334
précision (%)
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 15 / 20
INRIA
Comparaison (critères topologiques)
Les trois systèmes comparés selon
longueur des dépendances
profondeur
taille de la fratrie
rang dans la fratrie
distance
rappel(%)
102
103
104
0 5 10 15
60
80
100
FRMG
dsr
dsr+FRMG
distance
précision(%)
0 5 10 15
60
80
100
FRMG
dsr
dsr+FRMG
Constat: Couplage quasiment toujours meilleur que DYALOG-SR et FRMG
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 16 / 20
INRIA
Comparaison sur le corpus hétérogène SEQUOIA
FTB test
Europar
annodis
emea-fr-dev
emea-fr-test
frwiki
80
82
84
86
88
90
1,235
561
529
574
544
996
LAS
FRMG
dsr
dsr+FRMG
Europar
annodis
emea-fr-dev
emea-fr-test
frwiki
0
20
40
%∆erreur
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 17 / 20
INRIA
Premières conclusion
DYALOG-SR: une approche simple,
complétée par Programmation Dynamique et faisceaux ⇒ bons résultats
Mais, meilleurs performances avec injection
d’information plus globale (localité étendue)
d’information linguistique
Indication sur les limites des approches de type MALT:
Les approches avec décisions plus globales semblent plus judicieuses à terme
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 18 / 20
INRIA
Quelques expériences supplémentaires
Malgré ses limites et à cause de sa simplicité, d’autres expériences
Utilisation de DYALOG-SR pour guider FRMG
éventuellement sur les treillis SXPIPE, aussi utilisés par FRMG
Participation à la campagne SemEval 2014
⇒ extension pour produire des graphes de dépendances sémantiques
; jeu plus riche de transitions
⇒ comparer stratégies arc-eager et arc-standard
premier essai d’une transition SWAP pour la non-projectivité
des idées pour une approche plus systématique
DYALOG-SR est librement disponible
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 19 / 20
INRIA
Synthèse des résultats SPMRL’13
DYALOG-SR other systems
language test dev b best baseline mean
Arabic 85.87 86.99 4 89.83 82.28 86.11
Basque 80.39 81.09 6 86.68 69.19 79.58
French 87.69 87.94 8 90.29 79.86 85.99
German 88.25 90.89 6 91.83 79.98 86.80
Hebrew 80.70 81.31 8 83.87 76.61 80.13
Hungarian 79.60 79.09 4 88.06 72.34 81.36
Korean 88.23 89.24 6 89.59 88.43 88.91
Polish 86.00 86.94 8 89.58 77.70 83.79
Swedish 79.80 75.94 6 83.97 75.73 79.21
(a) gold/full
DYALOG-SR other systems
language test dev b best baseline mean
Arabic 83.25 84.24 8 87.35 80.36 83.79
Basque 79.11 79.03 8 85.69 67.13 78.33
French 85.66 0.00 8 88.73 78.16 84.49
German 83.88 87.21 6 87.70 76.64 83.06
Hebrew 80.70 81.31 8 83.87 76.61 80.13
Hungarian 78.42 79.09 4 87.21 71.27 80.42
Korean 81.91 84.50 6 83.74 81.93 82.74
Polish 85.67 0.00 8 89.16 76.64 83.13
Swedish 79.80 0.00 6 83.97 75.73 79.21
(b) gold/5k
DYALOG-SR other systems
language test dev b best baseline mean
Arabic 81.20 82.18 8 86.21 80.36 82.57
Basque 77.55 78.47 4 85.14 70.11 79.13
French 82.06 82.88 8 85.86 77.98 81.03
German 84.80 88.38 8 89.65 77.81 84.33
Hebrew 73.63 74.74 6 80.89 69.97 73.30
Hungarian 75.58 75.74 6 86.13 70.15 79.23
Korean 81.02 82.45 6 86.62 82.06 83.09
Polish 82.56 83.87 8 87.07 75.63 81.40
Swedish 77.54 73.37 8 82.13 73.21 77.65
(c) pred/full
DYALOG-SR other systems
language test dev b best baseline mean
Arabic 78.65 79.25 8 83.66 78.48 80.19
Basque 76.06 76.11 6 83.84 68.12 77.76
French 80.11 0.00 4 83.60 76.54 79.31
German 73.07 84.69 8 85.08 74.81 79.34
Hebrew 73.63 74.74 6 80.89 69.97 73.30
Hungarian 74.48 75.55 6 85.24 69.08 78.31
Korean 73.79 76.66 6 80.80 74.87 76.34
Polish 82.04 0.00 8 86.69 75.29 80.96
Swedish 77.54 72.44 8 82.13 73.21 77.65
(d) pred/5k
INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 20 / 20

Contenu connexe

Tendances

Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
Sana Aroussi
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
borhen boukthir
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
abdellah12
 
Claire epita-février2014
Claire epita-février2014Claire epita-février2014
Claire epita-février2014
Yves Caseau
 

Tendances (20)

bac info : série récursivité
bac info : série récursivitébac info : série récursivité
bac info : série récursivité
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubi
 
Résumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrementRésumer sur les fichier et les enregistrement
Résumer sur les fichier et les enregistrement
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'information1 entropie-capacite theorie de l'information
1 entropie-capacite theorie de l'information
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Claire epita-février2014
Claire epita-février2014Claire epita-février2014
Claire epita-février2014
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)Bac info 2000-2015 (Tunisie)
Bac info 2000-2015 (Tunisie)
 
Récursivité
RécursivitéRécursivité
Récursivité
 
cours algorithme
cours algorithmecours algorithme
cours algorithme
 
ALF 8 - Generation du code
ALF 8 - Generation du codeALF 8 - Generation du code
ALF 8 - Generation du code
 
Chap7 simulation numérique
Chap7 simulation numériqueChap7 simulation numérique
Chap7 simulation numérique
 
Serie2
Serie2Serie2
Serie2
 

Similaire à Jouer avec des analyseurs syntaxiques

Mat lab1
Mat lab1Mat lab1
Mat lab1
fouadDD
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdf
kamouf
 

Similaire à Jouer avec des analyseurs syntaxiques (20)

Cours de Matlab
Cours de MatlabCours de Matlab
Cours de Matlab
 
Mat lab1
Mat lab1Mat lab1
Mat lab1
 
c4.pdf
c4.pdfc4.pdf
c4.pdf
 
Mathématiques et Python
Mathématiques et PythonMathématiques et Python
Mathématiques et Python
 
Assembleur
AssembleurAssembleur
Assembleur
 
Théorie des langages - 01 - Compilation
Théorie des langages - 01 - CompilationThéorie des langages - 01 - Compilation
Théorie des langages - 01 - Compilation
 
Distances sémantiques dans des applications utilisant le web sémantique
Distances sémantiques dans des applications utilisant le web sémantiqueDistances sémantiques dans des applications utilisant le web sémantique
Distances sémantiques dans des applications utilisant le web sémantique
 
Les nouveautés de Java 21 - Devoxx France 2024.pdf
Les nouveautés de Java 21 - Devoxx France 2024.pdfLes nouveautés de Java 21 - Devoxx France 2024.pdf
Les nouveautés de Java 21 - Devoxx France 2024.pdf
 
IPv6 training
IPv6 trainingIPv6 training
IPv6 training
 
Tp1 matlab
Tp1 matlab Tp1 matlab
Tp1 matlab
 
Langage Perl
Langage PerlLangage Perl
Langage Perl
 
réseaux de neurones artificielles pour la reconnaissance optique du Tifinaghe
réseaux de neurones artificielles pour la reconnaissance optique du Tifinagheréseaux de neurones artificielles pour la reconnaissance optique du Tifinaghe
réseaux de neurones artificielles pour la reconnaissance optique du Tifinaghe
 
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
 
2-Algo.ppt
2-Algo.ppt2-Algo.ppt
2-Algo.ppt
 
Les nouveautés de Java 21 - Rencontres dev Toulon octobre 2023.pdf
Les nouveautés de Java 21 - Rencontres dev Toulon octobre 2023.pdfLes nouveautés de Java 21 - Rencontres dev Toulon octobre 2023.pdf
Les nouveautés de Java 21 - Rencontres dev Toulon octobre 2023.pdf
 
Les nouveautés de Java 21 - Devoxx MA 2023.pdf
Les nouveautés de Java 21 - Devoxx MA 2023.pdfLes nouveautés de Java 21 - Devoxx MA 2023.pdf
Les nouveautés de Java 21 - Devoxx MA 2023.pdf
 
examen en DSP 2023.pdf
examen en DSP 2023.pdfexamen en DSP 2023.pdf
examen en DSP 2023.pdf
 
Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)Présentation Javascript à l'ESI (Alger)
Présentation Javascript à l'ESI (Alger)
 
Cours-optimisation.pdf
Cours-optimisation.pdfCours-optimisation.pdf
Cours-optimisation.pdf
 
Coursmp
CoursmpCoursmp
Coursmp
 

Jouer avec des analyseurs syntaxiques

  • 1. INRIA Jouer avec des analyseurs syntaxiques Éric Villemonte de la Clergerie INRIA Paris-Rocquencourt http://alpage.inria.fr TALN Marseille, 1-4 Juillet 2014 INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 1 / 20
  • 2. INRIA Motivations Développement d’un analyseur symbolique du français, avec FRMG mais envie d’explorer les approches statistiques: BONSAI: 3 systèmes évalués en 2010 sur le French TreeBank (FTB) bons résultats de TALISMANE sur FTB, en 2013 Opportunité de participer à la campagne SPMRL 2013 9 langues à morphologie riche Arabe, Basque, Français, Allemand, Hébreu, Hongrois, Coréen, Polonais, Suédois diverses configurations testées, dont traitement de treillis de mots ⇒ développement rapide de DYALOG-SR DYALOG-SR pour conduire des expériences plus poussées sur le français xp1: comparaison avec d’autres systèmes statistiques xp2: utilisation de treillis de mots produits par SXPIPE xp3: couplage avec FRMG INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 2 / 20
  • 3. INRIA DYALOG-SR Effort d’un homme.mois pour développer et régler DYALOG-SR pour SPMRL’13: analyseur par transitions shift-reduce pour des dépendances projectives (à la MALT, Nivre) une stratégie simple de type arc-standard utilisation de programmation dynamique avec items (∼ Huang & Sagae), au dessus de DYALOG utilisation de beams [faisceaux] ⇒ gains importants apprentissage avec perceptron moyenné, et stratégie early update jeu standard de features (traits) du premier et second ordre, certaines avec des valeurs listes (e.g. pour les traits morphosyntaxiques) Minimun de réglages pour les 9 langues et type de données (gold/pred) (pour cause de manque de temps !) INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 3 / 20
  • 4. INRIA Stratégie arc-standard étendue Stratégie d’analyse projective, avec une transition Shift shift m :< j, S, la1, la2, la3 >: c m + 1 :< k, S|la1, la2, la3, la4 >: c + ξ j k l p q la1 la2 la3 la4 deux transitions Reduce (gauche et droite) rel m :< j, S|s1|s0, la1, la2, la3 >: c m + 1 :< j, S|s1 l s0, la1, la2, la3 >: c + λ re l m :< j, S|s1|s0, la1, la2, la3 >: c m + 1 :< j, S|s1 l s0, la1, la2, la3 >: c + ρ avec des coûts de configuration c et des coûts de transitions ξ, λ, ρ étendu avec des identifiants de lookahead lai nécessaire pour garder trace des chemins dans les treillis de mots INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 4 / 20
  • 5. INRIA Analyser des treillis de mots Une des tâches de SPMRL’13 portait sur l’analyse de treillis de mots (∼ DAGs), utilisés pour représenter des ambiguïtés de segmentation: 0 1 2 3 4 5 6 1:AIF/NN 2:AIF/VB 3:AIF/NNT 4:LA/RB 5:NISH/VB 6:NISH/NN 7:L/PREP 8:LHSTIR/VB length=2 9:HSTIR/VB 10:ZAT/PRP Problèmes: 1 validité des chemins suivis dans les treillis ⇒ nécessité de conserver des identifiants de lookahead lai + l’apprentissage requiert un oracle sur le bon chemin, construit par alignement Note: # de configurations multiplié par le # de chemins partiels valides 2 les chemins peuvent être de longueurs différentes, avec le risque de favoriser les plus longs chemins ⇒ introduction d’un trait length de compensation (par apprentissage) en pratique: utile mais moins qu’attendu (gain=0.25) INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 5 / 20
  • 6. INRIA Analyser des treillis pour l’hébreu Testé sur l’hebreu, avec de bons résultats: des faisceaux plus larges sont nécessaires (pour compenser les ambiguïtés du treillis, avec 2.76 arcs par token) mais seulement une faible chute en performance versus le cas non-treillis et des gains très importants versus un apprentissage de base: TED=76.35 (en utilisant un modèle appris sans treillis avec beam=6) 6 8 10 12 14 16 83 84 85 86 87 88 sans treillis, meilleur faisceau=6 avec treillis largeur du faisceau 100∗TEDaccuracy INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 6 / 20
  • 7. INRIA Résultats SPMRL 2013 DYALOG-SR deuxième sur l’ensemble des 9 langues et 4 configurations juste devant MALT avec traits optimisés par MALTOPTIMIZER Pour le français, pas particulièrement bon ! DYALOG-SR autres systèmes configuration test beam meilleur baseline moyenne gold/full 87.69 8 90.29 79.86 85.99 gold/5k 85.66 8 88.73 78.16 84.49 pred/full 82.06 8 85.86 77.98 81.03 pred/5k 80.11 4 83.60 76.54 79.31 INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 7 / 20
  • 8. INRIA XP1: sur FTB, avec étiquetage prédit (par MELT) Utilisation French TreeBank (journalistique, train=9881/dev=1235/test=1235): étiquetage et lemmatisation avec MELT (Denis & Sagot) traits morphosyntaxiques fournis par LEFFF (Sagot) Extension du jeu de traits traits liés à la ponctuation, entre sommet de pile s0 et prochain mot la1 Programmation Dynamique: configurations ; items + pauvres en info ⇒ traits portant seulement sur 2 premiers éléments de pile so et s1 mais en fait, possible d’exploiter également s2 rel I = m: j, s0, s1, la1, la2, la3 :(c, ι) It = _: _, _, s2, _, _, _ :(c , ι ) ∈ tail(I) J = m + 1: j, s1 l s0, s2, la1, la2, la3 :(c + δ, ι + δ) δ = ι + λ tail(J) ∪= tail(It ) back(J) +=(l , I, It , c + δ) Mise à jour encore plus agressive, avec utilisation d’une marge fluctuante INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 8 / 20
  • 9. INRIA XP2: sur FTB, avec treillis de mots (avec SXPIPE) Treillis de mots produits par SXPIPE (Sagot), plus transformation pour permettre l’alignement: n tokens FTB ; 1 lexème LEFFF ⇒ éclatement, avec ajout X:cpmd et part=i sur les composants 10 avril _DATE_artf/nc 10/nc:cmpd (part=1) avril/nc:cmpd (part=2) 1 token FTB ; n lexèmes LEFFF ⇒ fusion, avec catégories X1 + · · · + Xn en_surface en/prep surface/nc en_surface/P+N n tokens FTB ; m lexèmes LEFFF ⇒ fusion et éclatement Fusion ⇒ création d’environ 10,000 catégories: suppression de certaines impossibles (cl+nc) abstraction par aggl pour n > 2 avec_un_bel_ensemble avec/prep un/det bel/adj ensemble/nc avec_un_bel_ensemble/aggl #tokens #arcs arcs/token #catégories dont X+Y #(cmpd) #(X+Y) 278K 560K 2.01 188 131 5.5% 2.3% INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 9 / 20
  • 10. INRIA XP2: adaptations XP2 ≡ traitement joint syntaxe, étiquetage morphosyntaxique, & segmentation ⇒ traits spécifiques pour l’étiquetage shift m: j, S, la1, la2, la3 :c m + 1: k, S|la1, la2, la3, la4 :c + ξ Lors d’un shift, très important d’avoir des traits liés à la4 en effet, le choix de la4 n’est plus ensuite remis en cause ! Faisceaux utiles mais coûteux pour traiter des treillis de mots ; Taille de faisceau localement adaptée à l’ambiguïté locale des treillis b(m) = b ∗ max (m−1)/2≤i≤(m+1)/2 (1, log(|chemins(source = i, longueur = 3))|) INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 10 / 20
  • 11. INRIA XP3: sur FTB, par couplage (avec FRMG) Argument TALISMANE: injection de contraintes linguistiques ⇒ intéressant de coupler DYALOG-SR avec FRMG Approche statique: ajout de traits de guidage sur les occurrences frmg_label : label vers gouverneur frmg_delta : distance signée au gouverneur 10 ses DET frmg_label=det|frmg_delta=1 11 adversaires NC frmg_label=suj|frmg_delta=3 12 politiques ADJ frmg_label=mod|frmg_delta=-1 13 ne ADV frmg_label=mod|frmg_delta=1 14 proposent V frmg_label=obj|frmg_delta=-5 15 aucune DET frmg_label=det|frmg_delta=1 16 solution NC frmg_label=obj|frmg_delta=-2 17 alternative ADJ frmg_label=mod|frmg_delta=-1 Très simple et déjà de très bons résultats INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 11 / 20
  • 12. INRIA XP3: couplage dynamique Approche dynamique: être plus précis dans le guidage en ne proposant une réduction que lorsque gouverneur et gouverné sont en position sur la pile 16 solution NC frmg_label=obj|frmg_delta=-2 16 solution 14 proposent ⇒ ajout traits reduce_left et reduce_left_obj INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 12 / 20
  • 13. INRIA Résultats (LAS, sans ponctuation) système dev test FRMG init 80.85 82.08 FRMG +tuning 86.20 87.49 BKY 86.50 86.80 MALT 86.90 87.30 MST 87.50 88.20 TALISMANE (b=1) 86.80 87.20 TALISMANE (b=20) 88.10 88.50 Le Roux (2012) – 89.20 MATE+MELT – 89.20 DYALOG-SR (b=1 i=5) 86.94 87.71 DYALOG-SR (b=8 i=10) 88.17 89.01 DYALOG-SR treillis (b=1 i=8) 82.60 83.68 DYALOG-SR treillis (b=10 i=9) 87.23 87.90 DYALOG-SR treillis (b=12 i=7) 87.15 88.15 DYALOG-SR+FRMG (b=1 i=6) 88.21 89.38 DYALOG-SR+FRMG (b=10 i=7) 89.02 90.25 INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 13 / 20
  • 14. INRIA Impact des faisceaux 2 4 6 8 10 83 84 85 86 87 88 89 largeur du faisceau LAS DYALOG-SR DYALOG-SR+SXPIPE DYALOG-SR+FRMG Utilité des faisceaux, surtout pour les treillis de mots INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 14 / 20
  • 15. INRIA Comparaison (par label) 60 80 root suj obj deobj aobj pobj ats mod det coord modrel 1,235 2,017 7,944 288 360 265 345 7,645 5,195 832 334 rappel (%) labelsdesdépendances FRMG dsr dsr+FRMG 60 80 root suj obj deobj aobj pobj ats mod det coord modrel 1,235 2,017 7,944 288 360 265 345 7,645 5,195 832 334 précision (%) INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 15 / 20
  • 16. INRIA Comparaison (critères topologiques) Les trois systèmes comparés selon longueur des dépendances profondeur taille de la fratrie rang dans la fratrie distance rappel(%) 102 103 104 0 5 10 15 60 80 100 FRMG dsr dsr+FRMG distance précision(%) 0 5 10 15 60 80 100 FRMG dsr dsr+FRMG Constat: Couplage quasiment toujours meilleur que DYALOG-SR et FRMG INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 16 / 20
  • 17. INRIA Comparaison sur le corpus hétérogène SEQUOIA FTB test Europar annodis emea-fr-dev emea-fr-test frwiki 80 82 84 86 88 90 1,235 561 529 574 544 996 LAS FRMG dsr dsr+FRMG Europar annodis emea-fr-dev emea-fr-test frwiki 0 20 40 %∆erreur INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 17 / 20
  • 18. INRIA Premières conclusion DYALOG-SR: une approche simple, complétée par Programmation Dynamique et faisceaux ⇒ bons résultats Mais, meilleurs performances avec injection d’information plus globale (localité étendue) d’information linguistique Indication sur les limites des approches de type MALT: Les approches avec décisions plus globales semblent plus judicieuses à terme INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 18 / 20
  • 19. INRIA Quelques expériences supplémentaires Malgré ses limites et à cause de sa simplicité, d’autres expériences Utilisation de DYALOG-SR pour guider FRMG éventuellement sur les treillis SXPIPE, aussi utilisés par FRMG Participation à la campagne SemEval 2014 ⇒ extension pour produire des graphes de dépendances sémantiques ; jeu plus riche de transitions ⇒ comparer stratégies arc-eager et arc-standard premier essai d’une transition SWAP pour la non-projectivité des idées pour une approche plus systématique DYALOG-SR est librement disponible INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 19 / 20
  • 20. INRIA Synthèse des résultats SPMRL’13 DYALOG-SR other systems language test dev b best baseline mean Arabic 85.87 86.99 4 89.83 82.28 86.11 Basque 80.39 81.09 6 86.68 69.19 79.58 French 87.69 87.94 8 90.29 79.86 85.99 German 88.25 90.89 6 91.83 79.98 86.80 Hebrew 80.70 81.31 8 83.87 76.61 80.13 Hungarian 79.60 79.09 4 88.06 72.34 81.36 Korean 88.23 89.24 6 89.59 88.43 88.91 Polish 86.00 86.94 8 89.58 77.70 83.79 Swedish 79.80 75.94 6 83.97 75.73 79.21 (a) gold/full DYALOG-SR other systems language test dev b best baseline mean Arabic 83.25 84.24 8 87.35 80.36 83.79 Basque 79.11 79.03 8 85.69 67.13 78.33 French 85.66 0.00 8 88.73 78.16 84.49 German 83.88 87.21 6 87.70 76.64 83.06 Hebrew 80.70 81.31 8 83.87 76.61 80.13 Hungarian 78.42 79.09 4 87.21 71.27 80.42 Korean 81.91 84.50 6 83.74 81.93 82.74 Polish 85.67 0.00 8 89.16 76.64 83.13 Swedish 79.80 0.00 6 83.97 75.73 79.21 (b) gold/5k DYALOG-SR other systems language test dev b best baseline mean Arabic 81.20 82.18 8 86.21 80.36 82.57 Basque 77.55 78.47 4 85.14 70.11 79.13 French 82.06 82.88 8 85.86 77.98 81.03 German 84.80 88.38 8 89.65 77.81 84.33 Hebrew 73.63 74.74 6 80.89 69.97 73.30 Hungarian 75.58 75.74 6 86.13 70.15 79.23 Korean 81.02 82.45 6 86.62 82.06 83.09 Polish 82.56 83.87 8 87.07 75.63 81.40 Swedish 77.54 73.37 8 82.13 73.21 77.65 (c) pred/full DYALOG-SR other systems language test dev b best baseline mean Arabic 78.65 79.25 8 83.66 78.48 80.19 Basque 76.06 76.11 6 83.84 68.12 77.76 French 80.11 0.00 4 83.60 76.54 79.31 German 73.07 84.69 8 85.08 74.81 79.34 Hebrew 73.63 74.74 6 80.89 69.97 73.30 Hungarian 74.48 75.55 6 85.24 69.08 78.31 Korean 73.79 76.66 6 80.80 74.87 76.34 Polish 82.04 0.00 8 86.69 75.29 80.96 Swedish 77.54 72.44 8 82.13 73.21 77.65 (d) pred/5k INRIA Éric de la Clergerie Jouer avec des analyseurs syntaxiques 07/02/2014 20 / 20