560 likes | 946 Views
Analyse syntaxique profonde sur corpus. « Alpage à Barcelone 2007 » Benoit Crabbé. Plan de l’exposé . Motivations et objectifs de recherche Motivations générales Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques
E N D
Analyse syntaxique profonde sur corpus « Alpage à Barcelone 2007 » Benoit Crabbé
Plan de l’exposé • Motivations et objectifs de recherche • Motivations générales • Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques • Analyse syntaxique statistique du Français • Algorithmes d’analyse • Développement de grammaire sur le FTB • Premiers résultats • Perspectives • Collaborations et Intégration dans ALPAGE
Motivations générales • Spécificité dans ALPAGE ? • Linguiste • Idéologie : « Computational linguistics » • Utilisation de l’informatique pour apporter un éclairage nouveau sur l’étude de la langue française • En retour : volonté d’exprimer une théorie formalisée « computer friendly » du Français • Question générale • Que tirer comme généralités de la linguistique de corpus ? • Volonté de (contribuer à) formuler une grammaire du français informée explicitement par les données empiriques (stats) • Inspiration type Claire Blanche-Benveniste (GARS): • (Variationnisme) Contrastes de différents registres de langage : • oral vs écrit • Confronter théorie introspective vs approche empirique
Besoin premier Données structurées • Produire un observatoire sur la langue • Française en particulier • Produire des ressources • Corpus annotés en syntaxe • Différents genres (oral/écrit) • Produire les moyens de les exploiter • Méthode qualitative (concordances) • Méthodes quantitatives (stats) • N’existe à peu près pas pour le français… • Et pas en syntaxe…
Quels types de données ? • Corpus annotés et corrigés suivant une grammaire explicite • Au moins constituants et fonctions • Bonnes propriétés informatiques • Bonne expressivité linguistique • La partie essentielle dans l’annotation d’un corpus c’est la conception des guides d’annotation (= de la grammaire) : • = Explicitation de la théorie • = Revient à décrire explicitement une grammaire de performance (!) • Conséquence = favorise la cohérence de l’annotation • Pour le Français on pourrait s’inspirer de la GGF et du FTB
Plan de l’exposé • Motivations et objectifs de recherche • Motivations générales • Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques • Analyse syntaxique statistique du Français • Algorithmes d’analyse • Développement de grammaire sur le FTB • Premiers résultats • Perspectives • Collaborations et Intégration dans ALPAGE
Problèmes du parsing symbolique pour l’analyse de corpus • Trois problèmes de l’analyse symbolique : • Ambiguité • Non Robustesse • Ouverture des données • Admettons que l’ambiguité puisse être résolue par des heuristiques de préférences (ex. Frazier & Fodor 78) • La non robustesse est fondamentale : • Distinction grammatical ~ non-grammatical • ex. Accord (Point fort de TAG) : • En théorie : La fille que le gars qui est venu hier a estimé que Pierre imagine que le frère de Julie pense que le garçon a aperçue • En corpus : Le professeur de français que le frère de Paul a vue hier s’en est allée. Mais c’était bien une femme !
Propriété formelle d’un corpus : loi de Zipf • Les objets d’un corpus sont en distribution de Zipf : • Les mots • Les règles de grammaire • … • La distribution pour le LN est une distribution de rang/fréquence, pour chaque mot : • Rang (r) = fonction du Nbre d’occurrences du mot • (ordre décroissant) • Fréquence f(r) = Nbre de d’occurrences du mot de rang • Loi de Zipf (version intuitive) : • Conséquences : • Très peu de mots très fréquents • Très grand nombre de mots de basse fréquence
Loi de Zipf Distribution Rang/Fréquence d’une PCFG extraite du FTB (treebank3+)
Conséquences • L’analyse automatique de la langue naturelle à large couverture demande de gérer le mieux possible les objets inconnus • Méthodes de lissage en Stats • Méthodes de prétraitement en analyse symbolique • Problème grammaire symbolique pour anal. corpus : • Env. 2/3 des règles n’apparaissent que 1 ou 2 fois • Ecrire une grammaire exhaustive est inenvisageable • Demande d’écrire « indéfiniment » des règles aussi générales que les autrespour un nombre infini de cas rarissimes • --> Crée ambiguité • Nécessité de distinguer le vraiment général du rarissime • Idem pour les lexiques
La grammaire sur corpus • Annoter = écrire une grammaire • Avantage sur la méthode symbolique : • Les cas rares sont associés à l’exemple annoté • Induction d’une grammaire de treebank • Probabilités associées aux règles • Surgénéralisation -> robustesse • Robustesse intéressante • Produit généralement des arbres complets • Facilite le calcul sémantique (ex. RMRS)
Plan de l’exposé • Motivations et objectifs de recherche • Motivations générales • Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques • Analyse syntaxique statistique du Français • Algorithmes d’analyse • Développement de grammaire sur le FTB • Premiers résultats • Perspectives • Collaborations et Intégration dans ALPAGE
Paradigmes d’analyse syntaxique • Paradigme génératif* • Modèles bayésiens de type PCFG • « La grammaire engendre une chaine de surface » • Paradigme discriminatif • Modèles de type Maximum d’entropie et CRF • « Etant donnée une chaine de surface et l’ensemble des analyses possibles, l’application d’un ensemble de contraintes ordonne les modèles pour garder le meilleur » • Modèles mixtes • Génératif : rapide mais expressivité réduite • Discriminatif : expressif mais lent • ==> Mixte : reranking (Charniak 05, Collins 06): • (1) Générer un sous-ensemble des solutions • (2) Appliquer des contraintes pour les ordonner entre elles • Machine learning • Arbres de décision (Magerman 94); SSN (Henderson & Titov 03)
Paradigme génératif • Modèles non lexicalisés • Vanilla PCFG • BitPar (CKY all paths) • Algos de Johnson (CKY Best First, 90s) • Problème formel de PCFG : • Hypothèse d’indépendance conditionnelle est trop forte ==> Réintroduire des dépendances conditionnelles • Parent Transformation : (Johnson 99) • Accurate Unlexicalised Parsing (Klein and Manning 2003) • Berkeley Parser : Algorithme de Petrov (2006-2007) • Modèles lexicalisés (Collins 96-99, Bikel 2004-5, Charniak 2000-5) • Problème de PCFG pour la langue nat : • Interaction avec le lexique • Idée : combiner un modèle de langage en dépendances lexicales avec un modèle de langage en constituants • Problème à addresser : dispersion des données
PCFG • Modèle de langage : • CFG dont chaque règle A --> est associée à une probabilité telle que : • Une PCFG définit une distribution de probabilité sur l’ensemble des arbres finis générés par la grammaire. Telle que la probabilité d’un arbre (t) : • Autrement dit, on calcule la probabilité conjointe d’engendrer cet arbre en posant une hypothèse d’indépendance conditionnelle entre les instances de règles qui interviennent pour dériver cet arbre
Modèles non lexicalisés 1 : le split • SPLIT • Problème PCFG : conditions d’indépendance trop fortes • « Coup de codage » (< HMM Trigrammes) • Ex. Parent annotation (Johnson 1998) • => Transformation (réversible) du Treebank • Idée : • Un NP^S est un sujet, un NP^VP est un objet • Un NP sujet est structurellement différent d’un NP Objet : • NP suj. plus court (pronom ou NP défini) qu’un NP objet ==>
Modèles non lexicalisés 2 : le merge • MERGE • Problème du split • Spécialise trop les règles -> éparpillement des données • Idée du MERGE : lissage • Ex. Markovisation des règles (Klein,Manning 2003) • = Mise en CNF dégénérée (// hyp. simplif. HMM) Base CNF = Markov(2) Markov(1) Markov(0)
Modèles non lexicalisés 3 : split/merge • Algorithme de Berkeley (Petrov/Klein 06-07) • Split/merge sur les catégories de la grammaire • + Markovisation d’ordre k • Utilise EM (< Dedans-Dehors < Baum Welch HMM) • Convergence non garantie ! • Remarque 1 : • L’algorithme apprend tout seul à reconnaître des types de constituants potentiellement intéressants : • Grammaires des unités monétaires… • Remarque 2 : • Algorithme qui repose uniquement s/ propriétés formelles et de l’apprentissage • => multilingue
Architecture du processus Entrainement : Transfo Estimation Treebank Treebank’ Grammaire Analyse : Parsing Transfo-1 Raw Text Treebank’ Treebank
Modèles lexicalisés • Collins 96-99 (Bikel 2004)/ Charniak 97 • Intuition : • Combiner à la fois modèle PCFG et dépendances lexicales • Trois Modèles de langage : • Modèle 1 : Head Driven • Modèle 2 : Sous-cat (non illustré dans le talk) • Modèle 3 : Dépendances à longue distance (non illustré) • + Un algorithme de Lissage • + Modèle de Repli (Backoff,non illustré) • + Modèle de lissage lexical basique (suffixes prédéfinis, non illustré)
Lexicalisation motivations • Besoin d’informations lexicales ! • Sous-catégorisation • Coordination (scope) • Exemple, PCFG décide arbitrairement : ?
Lexicalisation Annotation • Annote les têtes (Unité Lexicale + catégorie) • Annotation semi-automatique par transduction sur la grammaire (Magerman 95) • Problème : données beaucoup trop dispersées, demande d’estimer des probabilités pour des règles du type : VP<lance,V> --> V<lance,V> NP<bille,N> càd : P(V<lance,V>, NP<bille,N> | VP<lance,V) ==>
Modèle 1 (Lecture algorithmique) • Pseudo-Markovisation • Hypothèse d’indépendance : • Un élément de la règle dépend uniquement de la tête et de LHS • Exemple : VP<lance,V> --> STOP V<lance,V> NP<bille,N> STOP • Vue d’une règle de grammaire : • Génération de la tête : P(H|LHS) = P (V<lance,V> | VP<lance,V>) • Génération de la partie gauche : P(Li | H, LHS) • Génération de la partie droite : P(Ri | H, LHS)
Modèle 1 (Lecture probabiliste) • Soit : • On a le modèle suivant (modèle 1): • Complications supplémentaires : • Ajout d’un paramètre de distance par rapport à la tête • (Modèle 2) Ajout d’un paramètre ‘cadre de sous-cat’ pour les verbes gauche tête droite
Vision harissienne… • Empruntée à (Pereira 00) • Z. Harris 91 : propose informellement une grammaire de dépendances basée sur la théorie de l’information (Collins l’implante largement) • Sélection lexico-sémantique (ex. traduits) : • L’enfant dort ; Les oiseaux dorment peu; la ville dort ; les arbres dorment en hiver ; le soleil dort… COURANT <<>> INATTENDU • Digression (Corrélation probabilité / grammaticalité peu claire) • Chomsky 56 : argument prosodique (Pereira 00 : prob) • les idées vertes incolores dorment furieusement (Proba haute) • * furieusement vertes dorment idées les incolores (Proba basse)
Plan de l’exposé • Motivations et objectifs de recherche • Motivations générales • Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques • Analyse syntaxique statistique du Français • Algorithmes d’analyse • Développement de grammaire sur le FTB • Premiers résultats • Perspectives • Collaborations et Intégration dans ALPAGE
Grammaire du français • But privilégié à long terme : • Syntaxe sur corpus : • Données quantitatives sur la syntaxe du français • Contraste entre grammaire de l’oral et grammaire de l’écrit à partir de corpus annotés en syntaxe • But à court/moyen terme : • Produire les annotations • Outil privilégié : • Parser statistique • Moyen envisagé : • Augmentation du French Treebank • Ecrit et Oral (ESTER2)
Analyse du français • Utilisation du French Treebank • Version très récente • Ré-annotation des composants internes de mots composés • Fonctions syntaxiques (dépendants verbaux) • Spécificités (vs PTB) • Annote les mots composés • Morphologie • Lemmes • Cat et sous-cat
FTB : Exemple <SENT nb="453"> <w cat="ADV" ee="ADV" ei="ADV" lemma="pourtant"> Pourtant </w> <w cat="PONCT" ee="PONCT-W" ei="PONCTW" lemma="," subcat="W"> ,</w> <w cat="ADV" ee="ADV" ei="ADV" lemma="globalement"> globalement </w> <w cat="PONCT" ee="PONCT-W" ei="PONCTW" lemma="," subcat="W"> , </w> <NP fct="SUJ"> <w cat="D" ee="D-def-fs" ei="Dfs" lemma="le" mph="fs" subcat="def"> l’ </w> <w cat="N" ee="N-C-fs" ei="NCfs" lemma="économie" mph="fs" subcat="C"> économie </w> </NP> <VN> <w cat="ADV" ee="ADV-neg" ei="ADV" lemma="ne" subcat="neg"> n’ </w> <w cat="V" ee="V--P3s" ei="VP3s" lemma="être" mph="P3s" subcat=""> est </w> </VN> <w cat="ADV" ee="ADV-neg" ei="ADV" lemma="pas" subcat="neg"> pas </w> <AP fct="ATS"> <w cat="A" ee="A-qual-fs" ei="Afs" lemma="apathique" mph="fs" subcat="qual"> apathique </w> </AP> <w cat="PONCT" ee="PONCT-S" ei="PONCTS" lemma="." subcat="S"> . </w> </SENT>
Fiche signalétique du FTB Token counts : 385458 Type counts : 24098 Tag token counts : 385458 Non Tag Symbol token counts : 242551 Function token counts : 65055 Sentence counts : 12351 Compound tokens : 55950 (14.52%)
Stats brutes diverses PCFG Fonctions Symboles Tags 45420 PP --> P NP 22828 NP --> D N 14788 VN --> V 13825 NP --> N 11674 NP --> D N PP 10673 AP --> A 4535 NP --> D N AP 4528 VN --> CL V 4204 NP --> PRO 3340 VN --> V V 2972 N --> N A COORD --> C NP … 20756 MOD 19056 SUJ 15162 OBJ 3320 ATS 2253 A-OBJ 2192 DE-OBJ 1469 P-OBJ 272 obj 245 ATO 124 SUJ/OBJ 64 SUJ/A-OBJ 45 Aobj 32 SUJ/DE-OBJ 27 DEobj 9 OBJ/A-OBJ 8 SUJ/MOD 6 SUJ/ATS 5 SUJ/P-OBJ 2 DE-OBJ/OBJ A-OBJ/DE-OBJ … 88702 NP 48883 PP 28298 VN 13687 AP 12351 SENT 9286 N 8813 COORD 7024 VPinf 4929 VPpart 3636 Srel 3576 ADV 3298 P 3287 Ssub 2395 D 1682 Sint 778 C 732 AdP 500 V 352 A 307 PRO 28 ET 5 CL 2 I 96372 N 66102 D 62965 P 50481 PONCT 39841 V 26385 A 15662 ADV 11320 C 8433 CL 6116 PRO 1502 ET 235 PREF 44 I
Construction de l’outil d’annotation • Analyseur syntaxique dérivé du French Treebank comme outil d’annotation • Buts de l’outil d’annotation : • Doit être aussi ‘correct ?’ (angl. accurate) que possible => peu d’intérêt pour les questions d’efficacité • Sorties aussi riches que les données d’entraînement => But non standard en stat parsing : • Categories (+sous-cats) • Morphologie + lemmes • Mots composés (originalité du FTB : 14% des tokens !) • Fonctions syntaxiques • En cours… deux étapes : • Analyse en constituants • Analyse en fonctions syntaxiques (prospectif) • Corollaire : proposer des améliorations à la grammaire existante
Cinq+ expériences • Génération de treebanks opérationnels à partir du FTB • Treebank 1 • Baseline • Treebank 2 • But : interface avec analyseur morphologique • Variante : Treebank2+ (mots composés) • Treebank 3 (en cours) • But : maximiser la correction de la grammaire induite • Variante : Treebank3+ (mots composés) • Treebank 4 (prospectif) • But : maximiser la correction de la grammaire induite • Variante prévue : Treebank4+ (mots composés) • Treebank 5 (prospectif, non illustré dans le talk) • But : extraction de fonctions syntaxiques • Variante prévue : Treebank5+ (mots composés)
TreeBank 1 • But • Fournit une baseline indicative • Contenu • Utilise uniquement les catégories majeures • Mots composés sont ignorés (Catégories des composés ont même statut que les autres) • Fusion des traces • Ex : du/P -None-/D --> du/P+D • Fusion des nombres en chiffres arabes : 19 000 , 8 --> 19000,8 • Exemple :
Treebank 2 • But • Produire un jeu de tags interfacé avec un analyseur morpho (ex. FLEMM) • Contenu = Treebank 1 + : • Ajout des infos du trait subcat + morphologie sur les Terminaux • Enrichissement artificiel des annotations de mots composés (traits de souscat non annotés) pour éviter les biais • Variante (Treebank2+) • Fusion des mots composés = 1 seul Token
Treebank 2 • Jeu de tags compatible avec FLEMM-TT • =>> Inférence de morphologie • =>> ‘Many to one’ mapping sur FLEMM-TT
Treebank 3 • But • Améliorer la correction de l’analyse • Contenu • Modifications des catégories non terminales (heuristiques) • Se rappeler de la parent transfo de Johnson ! 1) Enrichissement du jeu de tags de traits : MODE,WH, REL… 2) Propagation des traits dans les arbres //grammaires symboliques
Treebank 4 (Prospectif) • But : • Améliorer la correction de l’analyse • Contenu : Modifications structurelles des arbres • Identifier un/des constituants S clairs (vs SENT) • Introduction d’un niveau SBAR vs S • Introduction d’un trait INV (inversion) • Mise en évidence des structures à extraction (WH, REL) • Mise en évidence des complémenteurs • Gérer la coordination • … [à voir] • Normalisation de la ponctuation • Cause d’éparpillement des données • Idée générale : remonter la ponctuation • Ponctuation « parenthétique » : descendue au niveau du constituant parenthésé si possible • Traiter le ‘:’ comme une CS • Problème: • Difficile de garantir la correction automatisée des modifications • Suggère des extensions/modifs du schéma d’annotation
Plan de l’exposé • Motivations et objectifs de recherche • Motivations générales • Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques • Analyse syntaxique statistique du Français • Algorithmes d’analyse • Développement de grammaire sur le FTB • Premiers résultats • Perspectives • Collaborations et Intégration dans ALPAGE
Evaluations I • But : • Décider quel algorithme d’analyse est le mieux adapté pour parser le français (Charniak ignoré, trop spécifique au PTB) • Protocole : • Concertation avec S. Petrov • Vieux Treebank d’Edinburgh (composés fusionnés): • 80% entrainment 10% dev 10% test • Unlexicalised Parsing : • Berkeley parser : sans modifications • Tagging accurracy : bug < schéma d’annotation • Parsing : Labelled F1-Score : bug < schéma d’annotation • Parsing coverage : bug < schéma d’annotation • Lexicalised Parsing : • Bikel (Collins emulation, Abishek Arun Edinburgh) • Tagging accurracy : 95.20% (Tagger = TNT) • Parsing : Labelled F1-Score : 79.13 • Parsing coverage : 99.97%
Evaluations II • But : • Comparer différents schémas d’annotation • Protocole • French Treebank récent • 80% entrainement 10% dev 10% test • Berkeley parser : évaluation par evalb avec paramètres Collins • Expériences : • Treebank 1 : • Tagging accurracy : 97.84% • Parsing : Labelled F1-Score : 82.16 • Parsing coverage : 100% • Treebank 2 : • Tagging accurracy : 91.49% • Parsing Labelled F1-Score : 82.43 • Parsing coverage : 99.9% • Treebank2+ : • Tagging accurracy : 96.40 • Parsing Labelled F1-Score : 83.57 • Parsing coverage : 99.9% • Treebank3+: • Tagging accurracy : 96.73 • Parsing Labelled F1-Score : 84.23 • Parsing coverage : 99.9%
Commentaires • On choisit l’analyseur de Berkeley • Hypothèse : Bikel biaisé par des heuristiques X-BAR type PTB. FTB ne suit pas X-BAR.--> suggère : modif. sérieuses de l’algo Bikel pour le Français • Mise en place d’un ‘Vanilla PCFG’ : TNT + LNCKY de Johnson • Avec Treebank3+, on obtient F = 84.23 ; meilleur résultat en constituants obtenu à ce jour pour le français : • Edinburgh-fr : F = 79.13 Dublin-mft : F = 83.5 • Avec Treebank 1 on obtient les meilleurs résultats en tagging ? • Comparaison avec autres langues : • Anglais : F = 90.6 (Charniak 05 = 92.0) • Allemand : F = 80.75 (Berkeley) • Chinois : F = 86.3 (Berkeley) • Espagnol : F = 85.1 (Collins 05) • Italien : F = 68.49 (Corazza 04 , mini treebank de 1500 phrases)
Améliorations envisagées • Il y a encore pas mal de marge pour améliorer… • >> Thématique de recherche (Mots composés) :On voit que les mots composés sont mal gérés (Treebank2 vs 2+): • Suggère une stratégie en pipeline avec dico + apprentissage endogène à la Bourigault • Suggère une stratégie originale en pipeline inversé : augmentation de l’annotation du FTB (subcat) pour les mots composés. Parsing d’abord avec détection des mots composés à postériori. • Expériences à venir avec Treebank 4 et 5 • Error mining • Meilleur modèle de langage pour estimer les mots inconnus • Réutilisation de l’algo de Brants /Samuelsson (TNT)
Remarque choix des transformations • Comment trouver les bonnes transformations ? • Deux aspects • Théorie linguistique sert de guide • Théorie de l’information aussi : • Faire baisser l’entropie croisée de la grammaire • Mais pas le F-Score : • Dépendant d’un+ algorithme • Synthèse : • En modifiant le Treebank, on fait « tourner un EM à la main » en cherchant à converger vers le modèle d’entropie minimale (en fait l’entropie croisée pour des raisons techniques)
Remarque implémentation • Travail d’implantation sous-jacent : • Architecture ciblée = pipeline UNIX • Python + lib NLTK • Format de travail = PTB/Brown • Permet la réutilisation d’outils de la communauté • Parsers (Berkeley, Johnson), evalb, tgrep2, etc. • Taggers : Brill/MXPOST • Segmenteur : MXTERMINATOR • Format IMS • IMS CWB, TNT, TreeTagger • Commandes ciblées : • convert (= recode) • tsed (= sed) • tdiff (= diff) • tgrep (= grep) • twc (= wc) • treeviewer • Analyse de données : R
Plan de l’exposé • Motivations et objectifs de recherche • Motivations générales • Inadéquation des grammaires symboliques pour l’analyse de corpus et préférence aux modèles statistiques • Analyse syntaxique statistique du Français • Algorithmes d’analyse • Développement de grammaire sur le FTB • Premiers résultats • Perspectives • Collaborations et Intégration dans ALPAGE
Perspective Analyse fonctionnelle • Tâche connue : • Functional Role Labelling • Intérêt : • Comparaison avec l’état de l’art français (Syntex/PASSAGE) • Annotation en fonctions ‘de surface’ • Pas très utile pour le TAL (--> dépendances sémantiques) • Jeu de fonctions envisagé : • Jeu de RASP (= GDE++ de Caroll et. Al.) • Plus fin que Passage et FTB, possible de le dégrader pour comparaisons • Annotation : • Relationnelle ou sur constituants ? • => les deux mais préférence pour annotation sur constituants
Techniquement • Deux options : • Approche intégrée • Le parser annote directement en fonctions • = Usage de catégories complexes • Problème attendu : éparpillement des données • Approche en pipeline • Le parser annote uniquement en constituants • Tagger fonctionnel en seconde passe
Pipeline • Pipeline : • Tagger Fonctionnel • Stat • (voir Blaheta et Charniak, Merlo et Henderson) • (Proposition) symbolique : • Adapter l’algo d’annotation de Collins à des fins d’annotation fonctionnelle • Identifier têtes (Magerman 95) • Identifier arguments • Extraire relations (n-tuples avec n = 3 or 4), exemple : Jean demande à Marie de partir à quatre heures (sujet, Jean, demander) (objet, à, Marie, demander) (xcomp,de,partir,demander) (sujet,Marie,partir) //optionnel dans un premier temps (mod,à,heures,partir) // dépend de la désambig.