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.