Results Malt parsing

Transcription

Results Malt parsing
Results Malt parsing
Christophe Cerisara
December 5, 2008
Agenda
1. Etude : utilite de la syntaxe pour la reco ?
I
I
etude manuelle (Christian)
discussion
2. Utilisation de parsers stochastiques
I
I
presentation MALT (Christophe)
discussion
3. Table ronde: autres pistes a explorer
4. Definition du plan de travail
5. Quid apres l’ARC ?
6. Divers
Discussion
I
importance de la segmentation ?
I
importance de la prosodie ?
I
Lien avec projet ”Rhapsodie” ?
Pourquoi utiliser un parser stochastique
I
Hypothese de base = Les phrases bien reconnues sont
syntaxiquement plus correctes que les phrases mal reconnues
Verifiee par Christian ?? Est-ce suffisant ?
I
On veut un score associe a un parsing. A la difference de
Syntex, les parsers stochastiques donnent une probabilite.
I
Syntex est une ”boite noire”: un parser stochastique peut etre
modifie a notre volonte
I
Syntex ne peut pas evoluer: le parser peut etre appris sur de
grands corpus, et adapte sur des corpus dedies a certaines
taches.
I
Recommandation des reviewers:
Je voulais apprendre P(mot|parent, relation), mais ces probas
devraient etre modelisees / utilisees dans les parsers
stochastiques ?!
Quel parser stochastique ?
I
Standford parser: tres bon parser, mais c’est un parser en
structure de phrase alors que Syntex est un parser de
dependances. Equivalences ??
I
Malt parser: bon parser en dependances, open-source, JAVA.
I
Evaluations CONLL ??
Malt Parser
I
Dependency (no structure tree) lexicalized (from both forms /
POStags) parser
I
Based on a classifier (by default: SVM) that maps features to
actions
I
Written in Java, Open Source
I
Very good results in CONLL evaluations
Parsing algorithm:
I
”Nivre” algorithm: linear-time, restricted to projective dep.
structures
I
(non-)projective structures ???
input file: CONLL data format
Field
1
2
3
name
ID
FORM
LEMMA
4
5
CPOSTAG
POSTAG
6
FEATS
7
HEAD
8
DEPREL
9
PHEAD
10
PDEPREL
Description
Token counter, starting at 1 for each new sentence.
Word form or punctuation symbol.
Lemma or stem (depending on particular data set) of word form, or an underscore if
not available.
Coarse-grained part-of-speech tag, where tagset depends on the language.
Fine-grained part-of-speech tag, where the tagset depends on the language,
or identical to the coarse-grained part-of-speech tag if not available
Unordered set of syntactic and/or morphological features (depending on the particular
language), separated by a vertical bar (—), or an underscore if not available.
Head of the current token, which is either a value of ID or zero (’0’). Note that
depending on the original treebank annotation, there may be multiple tokens with an ID of zero.
Dependency relation to the HEAD. The set of dependency relations depends on the
particular language. Note that depending on the original treebank annotation, the
dependency relation may be meaningfull or simply ’ROOT’.
Projective head of current token, which is either a value of ID or zero (’0’),
or an underscore if not available. Note that depending on the original treebank annotation, there
may be multiple tokens an with ID of zero. The dependency structure resulting from the PHEAD
column is guaranteed to be projective (but is not available for all languages), whereas
the structures resulting from the HEAD column will be non-projective for some sentences of some
languages (but is always available).
Dependency relation to the PHEAD, or an underscore if not available. The set of
dependency relations depends on the particular language. Note that depending on the
original treebank annotation, the dependency relation may be meaningfull or simply ’ROOT’.
Classifier input: Features and output: Actions
Features
I
FORM
I
POSTAG
I
DEPREL
I
LEMMA
I
...
Actions
I
SHIFT (input.pop + stack.push)
I
REDUCE (stack.pop)
I
RIGHT-ARC (arc(stack.peek,input.peek) + input.pop +
stack.push
I
LEFT-ARC (arc(input.peek,stack.peek) + stack.pop
Parsing algorithm
Exemple: “le chat mange du poisson”
input
le chat mange du poisson
SHIFT
chat mange du poisson
LEFTARC
chat mange du poisson
SHIFT
mange du poisson
LEFTARC
mange du poisson
RIGHTARC du poisson
SHIFT
poisson
LEFTARC
poisson
RIGHTARC
stack
le
chat
mange
du mange
mange
poisson mange
Types of classifiers
I
I
Malt integrates a SVM classifier, but it fails to load 1 month
of ”Le Monde” !
I have implemented 2 other classifiers:
I
I
I
1-NN
Naive Bayes
Tests with the CONLL 2006 evaluation script
Results on ”Le Monde”
I
Model = 1-NN
I
Training on 1 month of ”Le Monde”
I
Test on 40 sentences of another month of ”Le Monde”
Labeled attachment score
Unlabeled attachment score
Label accuracy score
741/919*100
778/919*100
784/919*100
80.63 %
84.66 %
85.31 %
Results on ”ESTER”
I
Model = 1-NN
I
Training on 1 month of ”Le Monde”
I
Test on 50 sentences recognized by julius (ESTER1)
Labeled attachment score
Unlabeled attachment score
Label accuracy score
511/722*100
592/722*100
537/722*100
70.78 %
81.99 %
74.38 %
Results on ”ESTER”
I
Model = 1-NN
I
Training on 1 month of ”Le Monde”
I
Test on 50 sentences reference transcription (ESTER1)
Labeled attachment score
Unlabeled attachment score
Label accuracy score
510/722*100
576/722*100
540/722*100
71.83%
81.13%
76.06%
This is not a problem of speech recognition errors, but of training
DB mismatch !
Parsing on ”ESTER”
Bon exemple 1:
_
NOMPREP
_ _ _
_
ADJ
ADJ
ADV
d'
Prep
Prep
de
1
ici
dix
jours
Adv Adj?P NomXXDate
Adv Adj?P NomXXDate
ici
dix
jour
2
3
4
Figure: Reference: d=0.6667
d'
Prep
Prep
de
1
ici que
dix
jours
Adv CSub Adj?P NomXXDate
Adv CSub Adj?P NomXXDate
ici que
dix
jour
2
3
4
5
Recognized: d=1.6667
Parsing on ”ESTER”
_
_
SUJ
_
PREP
DET
PREP
DET
PREP
NOMPREP
NOMPREP
NOMPREP
DET
les
marines
Det?? Nom?P
Det?? Nom?P
le
marine
1
2
_
_
_
_
assistent
VCONJP
VCONJP
assister
3
_
DET
à
la
scène
Prep Det?? NomFS
Prep Det?? NomFS
à
le
scène
4
5
6
_
OBJ
CC
médusés
PpaMP
PpaMP
méduser
7
une
Det??
Det??
un
8
manifestation
NomFS
NomFS
manifestation
9
de
chiites avec slogans
et
Prep Nom?P Prep Nom?P CCoordNom
Prep Nom?P Prep Nom?P CCoordNom
de
chiite avec slogan
et
10
11
12
13
14
banderoles
Nom?P
Nom?P
banderole
15
_
PREP
DET
PREP PREP
NOMPREP
NOMPREP
DET
l'
ARPE
mais même les
Det?? NomPrXXInc CCoord Adv Pro
Det?? NomPrXXInc CCoord Adv Pro
le
Arpe
mais même le
1
2
3
4
5
CC
assistent
VCONJP
VCONJP
assister
6
à
la
scène
Prep Det?? NomFS
Prep Det?? NomFS
à
le
scène
7
8
9
Figure: Reference: d=0.9
NOMPREP
CC
médusés
PpaMP
PpaMP
méduser
10
qu'
une
CSub Det??
CSub Det??
que
un
11
12
manifestation
NomFS
NomFS
manifestation
13
CC
de
chiites avec slogans
et
Prep Nom?P Prep Nom?P CCoordNom
Prep Nom?P Prep Nom?P CCoordNom
de
chiite avec slogan
et
14
15
16
17
18
Recognized: d=1.8125
banderoles
Nom?P
Nom?P
banderole
19
Parsing on ”ESTER”
_
_
_
_
SUJ
SUJ
ADV ADV
CC
CC
DET
rétablissent
VCONJP
VCONJP
rétablir
1
DET
l'
eau
et
l'
Det?? Nom?S CCoordNom Det??
Det?? Nom?S CCoordNom Det??
le
eau
et
le
2
3
4
5
_
ils
Pro
Pro
il
7
ne
font pas le
Adv VCONJP Adv Det??
Adv VCONJP Adv Det??
ne faire pas le
8
9
10
11
nécessaire
Adj?S
Adj?S
nécessaire
12
_
CC
CC
DET
la
Det??
Det??
le
1
électricité
Nom?S
Nom?S
électricité
6
SUJ
ADV ADV ATTS
DET
mission
et
l'
NomFS CCoordNom Det??
NomFS CCoordNom Det??
mission
et
le
2
3
4
Figure: Reference: d=1.63
électricité
Nom?S
Nom?S
électricité
5
ils
Pro
Pro
il
6
ne sont pas
Adv VCONJP Adv
Adv VCONJP Adv
ne
être pas
7
8
9
nécessaires
Adj?P
Adj?P
nécessaire
10
Recognized: d=0.72
Parsing on ”ESTER”
_
_
_
_
CC
DET
CC
DET PREP
DET
ADJ
NOMPREP
PREP
ADJ
des armes de
Det Nom?P Prep
Det Nom?P Prep
de arme de
1
2
3
destruction
Nom?S
Nom?S
destruction
4
_
NOMPREP
massive
AdjFS
AdjFS
massif
5
_
toujours
Adv
Adv
toujours
6
aucune trace
mais
Det NomFS CCoordNom
Det NomFS CCoordNom
aucun trace
mais
7
8
9
_
un millier de
Det??
Det??
un millier de
10
spécialistes
Nom?P
Nom?P
spécialiste
11
envoyés
PpaMP
PpaMP
envoyer
12
sur le terrain
AdvGP
AdvGP
sur le terrain
13
_
CC
DET
CC
DET PREP
DET
ADJ
NOMPREP
PREP
ADJ
des armes de
Det Nom?P Prep
Det Nom?P Prep
de arme de
1
2
3
par Washington
Prep
NomPr
Prep
NomPr
par Washington
14
15
destruction
Nom?S
Nom?S
destruction
4
NOMPREP
massive
AdjFS
AdjFS
massif
5
toujours
Adv
Adv
toujours
6
aucune trace
mais
Det NomFS CCoordNom
Det NomFS CCoordNom
aucun trace
mais
7
8
9
Figure: Reference: d=2.14
un millier de
Det??
Det??
un millier de
10
spécialistes
Nom?P
Nom?P
spécialiste
11
envoyés
PpaMP
PpaMP
envoyer
12
sur le terrain
AdvGP
AdvGP
sur le terrain
13
par Washington
Prep
NomPr
Prep
NomPr
par Washington
14
15
Recognized: d=1.35
Results on ”Le Monde”
I
Model = Naive Bayes
P(F |A) = P(F1 , · · · , FN |A) =
Y
P(Fi |A)
i
P(Fi |A) =
#(Fi , A)
#A
I
Training on 1 month of ”Le Monde”
I
Test on 50 sentences recognized by julius (ESTER1)
Labeled attachment score
Unlabeled attachment score
Label accuracy score
567/722*100
594/722*100
591/722*100
78.53 %
82.27 %
81.86 %
Results on ”Le Monde”
I
Model = Naive Bayes
I
Training on 1 month of ”Le Monde”
I
Test on 50 reference transcriptions (ESTER1)
Labeled attachment score
Unlabeled attachment score
Label accuracy score
I
565/710*100
588/710*100
591/710*100
79.58 %
82.82 %
83.24 %
Results are about the same on reference and recognized
transcripts: recognition errors are not a problem
Visualisation des scores de parsing...
./testMaltScore.sh
./testSyntexScore.sh
Training
85.5
85
84.5
84
83.5
83
82.5
82
0
20
40
60
80
100
120
140
160
180
200
Figure: Parsing accuracy in function of the training corpus size
Analyse
I
Hypothese 1 = Les phrases bien reconnues sont
syntaxiquement plus correctes que les phrases mal reconnues
I
Hypothese 2 = Le score de Malt est proportionnel la
correction syntaxique des phrases
Cela ne semble pas verifie ! Faut-il verifier manuellement ?
I
Hypothese 3 = bijection entre les actions et la dependency
structure: Peut-on en deduire
P(W |actions)P(actions) ' P(W |structure)P(structure) ??
I
I
I
I
Pour faire un lien vers la gauche, il faut SHIFT + LEFTARC
Pour faire un lien vers la droite, il faut SHIFT + RIGHTARC
Pour faire un lien 2 mots a gauche, il faut SHIFT + SHIFT +
REDUCE + LEFTARC
Pour faire un lien 2 mots a droite, il faut SHIFT + REDUCE
+ RIGHTARC
Conclusions
I
Malt n’arrive pas analyser suffisamment bien les phrases,
meme correctes ??
I
I
le modele bayesien ne fait pas les bonnes hypotheses
d’independance ?
autre raison ?
I
Le score de Malt est-il proportionnel au ”recouvrement” de
l’analyse ?
I
L’analyse de Syntex est-elle meilleure que celle de Malt ?
I
L’analyse de Syntex est-elle suffisamment bonne pour
quantifier la ”syntacticite” d’une phrase ?
Retour a Syntex...
Comparaison qualitative des analyses de Syntex sur les phrases de
reference et reconnues:
I
il y a plus de liens dans les phrases de reference ?!
I
taille des chunks plus grande pour les bons mots
I
autres indices ?
score de ”recouvrement syntaxique” =
#(wordswithhead)/#(words)
System
Accuracy
Baseline
88.87 %
score de ”recouvrement syntaxique” 97.45 %
Discussion
I
faut-il essayer d’ameliorer le classifier pour que Malt rattrape
les performances de Syntex ?
I
faut-il repartir de Syntex, et developper des indices de
recouvrement syntaxique ? (taille des chunks, nb de
dependances, ...)
I
autres idees ?
Table ronde
I
Random Indexing sur relations syntaxique: normalisation / ...
est-ce que ca existe / deja publie ?
I
Integration dans la reco: nbest / mesure de confiance /
ngrams probleme des nbest: Maximum gain: 82.11 % (1-best)
up to 85.11 % (100-best oracle)
I
Passer des relations syntaxiques aux relations predicatives :
chercher les arguments des predicats dans les sous-arbres
I
Est-ce que les grammaires de dependances existent avec des
classes de plus haut niveau que morpho-syntaxique (ex:
classes de complement de temps) ?
I
Faut-il introduire la reco d’entite nommee / resolution de
reference / desambiguisation pour aller vers la semantique ?
Plan de travail
I
TODO list + deadlines + responsables
I
Quels sont les autres travaux (theses, post-doc, stages, ...)
lies RAPSODIS en cours ou prevus ?
Perspectives
I
projet europeen ?
I
action d’envergure INRIA ?
Decisions
Pistes a explorer:
I
Segmentation en phrases: utiliser 3 sources d’information:
prosodie, lexique/syntaxe, densite des ¡/s¿ Soumettre a la
campagne d’evaluation ESTER2 en mars 2009 ?
I
Malt parser: changer de classifieur
I
Score de grammaticalite: utiliser des indices comme la
proportion de mots avec tete, la taille des chunks. Voir
”learning within sentence semantic coherence”
I
Random Indexing sur relations syntaxiques: voir InfoMAP,
package RI
I
Adaptation thematique des modeles de langage
Suite a l’echec de recrutement de post-doc, les aspects integration
dans un systeme de reco sont abandonnes pour le moment.