Amalia Todirascu todiras@unistra.fr Analyse syntaxique Amalia Todirascu todiras@unistra.fr
Plan Présentation des problématiques du TAL Etiquetage morpho-syntaxique, approches générales + Prise en main d'outils (TreeTagger, Flemm) Analyse syntaxique : présentation générale + Prise en main d'outils (Cordial) Ressources pour le Tal (grammaires, lexiques)
Plan du cours Les objectifs d'un outil d'analyse syntaxique automatique Notions: grammaire, lexique, arbre syntaxique Comment fonctionne un outil d'analyse syntaxique automatique ? approche classique approche statistique approche robuste
Motivation Les objectifs des outils TAL sont de comprendre le sense du texte, en passant par la syntaxe Une personne qui parle sa langue maternelle va identifier les phrases mal-formées du point de vue syntaxique, en revanche les outils de TAL doivent acquerir cette capacité Un analyseur syntaxique automatique utilise une grammaire un lexique un moyen de raisonner pour distinguer les phrases correctes et les erreurs
Motivation (II) Matériel d'étude pour: Applications TAL: les linguistes les traducteurs les chercheurs TAL Applications TAL: Outils d'aide à la traduction Apprentissage d'une langue étrangère Recherche d'information dans une base textuelle Applications de commerce électronique
Un exemple d'annotation Annotation pour "Goriot payait encore douze cents francs de pension." STA:fcl S:prop("Goriot") Goriot P:v-fin('payer' IMPF 3S IND) payait fA:adv("encore") encore Od:np =DN:num("douze") douze =H:n('cent' M P) cents =DN:adj('franc' M P) francs =DN:pp ==H:prp("de") de ==DP:n('pension' F S) pension 14/03/2009 Séminaire de formation LILPA
Grammaire, lexique, arbre Point de vue linguistique Une grammaire = un ensemble de règles qui identifient les phrases correctes d'une langue Le lexique = l'ensemble des mots qui sont reconnus par une langue Point de vue TAL Grammaire = un ensemble de règles qui s'appliquent pour construire la structure syntaxique de la phrase Lexique = l'ensemble des mots d'une langue en format électronique, avec leurs propriétés morpho-syntaxiques
Lexique Collection des mots avec leurs propriétés morpho-syntaxiques, sémantiques Parfois seulement les lemmes sont disponibles Génération automatique des formes fléchies Utilisation des étiquetteurs peut remplacer le lexique Exemples <forme: abeilles, cat: nom, lemme:abeille, nombre:pl, genre: fém> <forme: suis, cat: verbe, lemme:être, mode: indicatif, temps: présent, pers: 1, nombre: sg> <forme: suis, cat: verbe, lemme:suivre, mode: indicatif, temps: présent, pers: 1, nombre: sg>
Problèmes Ambiguïtés – plusieurs analyses syntaxiques seront possibles Eventuellement l'information sémantique peut servir pour éliminer les alternatives Lexiques de grande taille pour une couverture linguistique appropriée incomplètitude Traitement des erreurs – impossible si on s'appuie sur un lexique
Grammaire (I) Chomsky (Structures Syntaxiques, 1969) propose une grammaire générative pour l'anglais Caractériser la notion de grammaticalité Trouver un ensemble de règles qui décrivent l'infinité des phrases produites dans une langue Premiers élements pour un traitement automatique de la syntaxe
Grammaire en TAL (II) Utilisées pour la génération d'un langage et pour identifier si une phrase fait partie du langage (analyse) Composition Un symbole initial Un ensemble de composants syntaxiques identifiables par la grammaire Un ensemble de règles de transformation (dont au moins une ayant le symbole initial à gauche) Un ensembles de mots (le lexique)
Exemple – une grammaire du group nominal GN – symbole initial REL, GP – catégories intermédiaires Catégories lexicales: N, Adj, Prep, PronRel, Det, P Règles GN -> Det N GN -> Det N Adj GN -> GN GP GP -> Prep GN GN -> GN PronRel P
Exemple – les règles appliquées P-> GN GV GN->Pron GN-> Det N GP GN-> Det N GV-> V GN GP-> Prep GN Pron -> Je V -> vois Det-> un N-> homme Prep -> avec Det -> des N-> jumelles
Arbre Syntaxique (I) Chomsky propose une théorie qui permet de modéliser la syntaxe pour être utilisable par une machine; Une règle de transformation d'une grammaire = un noeud dans l'arbre syntaxique avec ses descendants GN -> Det N Adj GN Det N Adj
Séminaire de formation LILPA fcl prop v-fin np adv Goriot payait encore num n adj pp de prp cents douze francs pension fcl prop v-fin adv np np num n adj pp pp prp n 14/03/2009 Séminaire de formation LILPA
Comment construire un arbre syntaxique pour un texte? Ressources: Grammaire et lexique Stratégies possibles: du haut vers le bas (du noeud racine vers les feuilles) du bas vers le haut (des feuilles vers le noeud racine) L'algorithme qui applique les régles de grammaire Entrée: la phrase à analyser Sortie: l'arbre syntaxique associée, si la phrase est correcte, sinon échec
Stratégie descendente S_courant = P le symbole initial de la grammaire Tant que il y a encore des règles dans la grammaire G Si S_courant est une catégorie lexicale et le mot de la phrase d'entrée fait partie du lexique et a la même catégorie lexicale, stop Sinon, identifie les règles ayant à gauche le symbole S_courant Choix d'une règle et transformation S_courant = le premier élément à droite de la règle choisie
Problèmes Si plusieurs règles avec le même symbole gauche disponibles => plusieurs arbres Si un mot n’est pas dans le lexique, impossibilité de construire l’arbre syntaxique Si la grammaire n’est pas complète, impossibilité de construire l’arbre syntaxique Règles circulaires => branches infinies GN-> Det N GN -> GN GP
La stratégie ascendente S_courant = P le symbole initial de la grammaire; R – l’ensemble des règles de la grammaire; Pile – la pile des symboles à interpreter Tant qu’il y a des mots dans la phrase d’entrée Choix du mot suivant et cherche le mot dans le lexique Si le mot est dans le lexique, sélectionne la catégorie lexicale, rajoute un nœud dans l’arbre et dans la pile des symboles P Si les derniers n symboles de la pile forment la partie droite d’une règle, alors construit le nœud dans l’arbre et ajoute le symbole gauche de la règle utilisé en Pile Si Pile = {P}, alors succes, sinon echec
Problèmes de la stratégie ascendente Règles circulaires => branches infinies aussi Si un mot n’est pas dans le lexique, l’algorithme s’arrête Il faut revenir en arrière s’il y a plusieurs règles applicables
Un exemple : Analyseurs syntaxiques en ligne FIPS http://www.latl.unige.ch/ (Laboratoire d’Analyse et de Technologie du Langage) Langues traitées : Anglais, Français, Allemand, Italien Modèle chomskyen, théorie GB => architecture modulaire du programme Modules universaux Modules spécifiques principes paramètres 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA FIPS -Utilisation Copier-coller le texte Sélectionner l’application (le type de sortie) Parser : analyse syntaxique seule Tagger : analyse syntaxique + étiquettes XML : (bug) schéma X-barre Cliquer sur ‘Analyser’ 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA FIPS - Parser 14/03/2009 Séminaire de formation LILPA
Plan du cours Les objectifs d'un outil d'analyse syntaxique automatique Notions: grammaire, lexique, arbre syntaxique Comment fonctionne un outil d'analyse syntaxique automatique ? approche classique approche statistique approche robuste
Analyse syntaxique – divers approches Analyse syntaxique “classique” (Gazdar 1996, Shieber 1984) Une phrase correcte = un arbre syntaxique complet Analyse syntaxique robuste (S.Abney 1991) Identifier que les constituents syntaxiques “pertinents” Analyse syntaxique statistique (Caroll 1996, Bod & all 2003) Les règles de grammaires sont décorées avec des probabilités
Problèmes comment gérer les ambiguïtés? lexicales syntaxiques sémantiques ressources linguistiques incomplètes (grammaires, patrons) quantité importante de textes à traiter
Analyse statistique proposée pour résoudre les problèmes des analyseurs syntaxiques une méthode possible : grammaires probabilistes (indépendentes de contexte) (Charniak 1996) nécessite une phase d'apprentissage sur les données
Grammaires probabilistes Un symbole de départ (le composant maximal à identifier) un ensemble de composants syntaxiques ou catégories lexicales (symboles non-terminaux) N un ensemble de symboles terminaux (mots) T un ensemble de règles A -> A1…An (A N, Ai TN ) un ensemble de probabilités pi associés à chaque règle A pi(A->A1…An)=1
Un exemple de grammaire probabiliste P-> GN VN (1.0) GP-> Prep GN (1.0) GV-> V GN (0.7) GV -> GV GP (0.3) GN -> GN GP (0.4) V-> saw (1.0) Prep-> with (1.0) GN -> astronomers (0.1) GN-> ears (0.18) GN -> saw (0.04) GN-> stars (0.18) GN -> telescopes (0.1)
Arbres syntaxiques probabilistes les règles de grammaires s'appliquent pour créer l'arbre syntaxique associé au texte la probabilité de l'arbre = produit de tous les règles qui s'appliquent pour construire l'arbre P(Arbre|R) = p(ri), ri règle qui s'applique pour construire l'arbre
Un exemple P GN GV V N GP Prep astronomers saw stars with ears p(t1)=1*0.1*0.7*1.0*0.4*0.18*1.0*1.0*0.18
Analyse statistique apprentissage analyse syntaxique de la phrase: des règles de grammaire des probabilités à partir d'un corpus (arboré), et des exemples positifs analyse syntaxique de la phrase: construire un arbre syntaxique le plus probable, étant donnée une grammaire
Apprentissage sur un corpus arboré, on peut extraire les règles trouvés dans le corpus si S est la phrase à analyser, et T est l'arbre syntaxique associé, les règles LHS->RHS alors la probabilité: P(T|S) = i=1..n P(LHSi->RHSi|LHSi) P(LHSi->RHSi|LHSi) = Count(LHSi, RHSi)/Count(LHSi)
Apprentissage (II) à partir d'un corpus étiqueté, il faut calculer la probabilité que n mots apparaissent ensemble Log-likelihood n12 = n1* - n11 n21 = n*1 – n11 n22 = n** - n11 w2 ¬ w2 w1 n11 n12 ¬ w1 n21 n22
L'analyseur syntaxique cherche l'arbre T qui maximise la quantité P(T|S) un algorithme qui est basé sur un diagramme, construite sur les mots de la phrase d'entrée (Caroll, Briscoe, 1996) liste de clés états
Autre modèle DOP (Data Oriented Parsing) (R.Bod 2003) chaque personne produit un nombre infini de phrases d'où l'idée de stocker tous les sous-arbres d'un arbre syntaxique identifié dans le corpus quand on présente une nouvelle phrase: on décompose en segments on identifie les arbres partiels on recompose pour avoir l'arbre syntaxique le plus probable
DOP une règle qui identifie les phrases correctes des règles de décomposition des arbres racine (sélectionner un nœud racine et extraire le sous-arbre) frontière (sélectionner d'autres nœuds que les nœuds racines et effacer ces arbres) des règles de compositions substitution comment calculer la probabilité d'une phrase à base des fréquences de ses fragments P(t) = nb(t)/(t'(racine(t)=racine(t'))*nb(t'))
Avantages et limites avantages limites apprentissage à partir des données, donc à des exemples rééls limites la taille et la qualité du corpus d'entraînement sont très importantes validation linguistique est nécessaire
Problèmes liés aux grammaires Niveau d'ambiguïté élévé Information contextuelle nécessaire pour la desambiguïsation Couverture linguistique Exceptions pour les phénomènes spécifiques Traitement des erreurs - alternatives Analyse syntaxique partielle (S.Abney 1991) Analyse statistique (Carroll, 1999, Bod, 2003)
Séminaire de formation LILPA Cordial analyseur http://www.synapse-fr.com/ Cordial_Analyseur/Presentation_Cordial_Analyseur.htm Logiciel commercial : pas d’information précise sur les principes de fonctionnement Installation sur sa propre machine, interface d’utilisation Choix des paramètres d’analyse 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA Cordial analyseur Deux possibilités de sorties: en arbre en liste Dans les deux cas : relations (SUJ, COD, COI, Circonstant, Attribut, etc.) groupes syntaxiques Sortie liste étiquette morphosyntaxique classe sémantique 14/03/2009 Séminaire de formation LILPA
Analyse syntaxique – divers approches Analyse syntaxique “classique” (Gazdar 1996, Shieber 1984) Une phrase correcte = un arbre syntaxique complet Analyse syntaxique robuste (S.Abney 1991) Identifier que les constituents syntaxiques “pertinents” Analyse syntaxique statistique (Caroll 1996, Bod & all 2003) Les règles de grammaires sont décorées avec des probabilités
Analyseurs syntaxiques en ligne 1. VISL http://beta.visl.sdu.dk/visl/fr/parsing/automatic/ Langues traitées : Danois, Anglais, Esperanto, Français, Allemand, Portugais, Espagnol, Italien, Norvégien (bokmål) Constraint Grammar Règles contextuelles écrites par des linguistes (par opposition à une analyse probabiliste, statistique) 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA VISL - Utilisation Choisir une sortie : arbre ou structure plate Copier-coller le texte à analyser Cliquer sur ‘Go!’ 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA VISL - Arbre 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA VISL - Arbre 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA VISL – Structure plate 14/03/2009 Séminaire de formation LILPA
Analyseurs syntaxiques en ligne 2. XFG http://www.xlfg.org/ Développé par L. Clement Langues traitées : Anglais, Français Grammaire LFG (Lexical Functional Grammar) 14/03/2009 Séminaire de formation LILPA
Analyseurs syntaxiques en ligne 3. XIP http://www.xrce.xerox.com/xip/page1.jsp Développé par S. Aït-Mokhtar et J.-P. Chanod Langues traitées : Anglais, Français, Espagnol, Italien, Portugais Grammaire de dépendances entre ‘tokens’ 14/03/2009 Séminaire de formation LILPA
Grammaires de dépendance NP V NP R0 VMOD SBJ NMOD EN D N ROOT EN V D N Karl travaille le soir Karl travaille le soir
Grammaires de dépendance (II) ROOT R0 NP V NP V:travaille SBJ VMOD NE:Karl EN D N N:soir NMOD Karl travaille le soir D:le 51
Grammaires de dépendance ROOT R0 Formalisme: T = terminaux N = non-terminaux L = étiquettes ROOT = noeud initial règles: RI : règle de catégorisation : X y1 | … | yn RII : règle de dépendence : X(Y1…Yi*Yi+1…Yn) RIII: catégories liées avec ROOT V:travaille SBJ VMOD EN:Karl N:soir NMOD D:le 52
Séminaire de formation LILPA XIP - Utilisation Choisir la langue Copier-coller le texte à analyser Choisir une sortie minimale (analyse syntaxique) totale (lemme + analyse syntaxique) arbre arbre complet (?) extraction d’entités (fournit uniquement les Entités Nommées) format xml Cliquer sur ‘Start parsing’ 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA XIP – ‘full output’ 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA XIP – ‘tree’ 14/03/2009 Séminaire de formation LILPA
Séminaire de formation LILPA Conclusion Pas de standard Objectifs, fonctionnement des analyseurs divers => Evaluation et comparaison difficiles Relative médiocrité des performances pour le français, campagne d’évaluation EASY 14/03/2009 Séminaire de formation LILPA
Evaluation des analyseurs Résultats de Syntex lors de la campagne EASY Précision, rappel et f-mesure, avec le rang de classement de SYNTEX (r) et l’écart avec l’analyseur classé deuxième pour la précision et la f-mesure (S-n°2), et l’écart l’analyseur classé premier pour le rappel (S-n°1) 14/03/2009 Séminaire de formation LILPA
Evaluation des analyseurs (II) Corpus Littéraire Corpus Le Monde 14/03/2009 Séminaire de formation LILPA
Evaluation (III) Nouvelle campagne: PASSAGE (2007-2009) http://atoll.inria.fr/passage mise à disposition des corpus de référence plate-forme d'annotations outils de visualisation
Références bibliographiques N.Chomsky – Structures syntaxiques, Editions du Seuil, 1969 Steven Abney - Parsing By Chunks. In: Robert Berwick, Steven Abney and Carol Tenny (eds.), Principle-Based Parsing. Kluwer Academic Publishers, Dordrecht. 1991 R. Bod, J. Hay and S. Jannedy (eds.) - Probabilistic Linguistics, The MIT Press, 2003 Carroll, J. and Briscoe, E. (1996) “Apportioning development effort in a probabilistic LR parsing system through evaluation”. In Proceedings of the ACL/SIGDAT Conference on Empirical Methods in Natural Language Processing, University of Pennsylvania, PA. 92-100. Charniak, E. (1997) "Statistical parsing with a context-free grammar and word statistics", Proceedings of the Fourteen National Conference on Artificial Intelligence, AAAI Press/MIT Press, Menlo Park Collins, M.J. (1996) A New Statistical Parser Based on Bigram Lexical Dependencies (1996) In Proceedings of the 34th Annual Meeting of the Association for Computational Linguistics
Séminaire de formation LILPA Références Abeillé, A., L. Clément, and F. Toussenel. (2003). `Building a treebank for French', in A. Abeillé (ed) Treebanks , Kluwer, Dordrecht Ait-Mokhtar, S., Chanod J.-P. (1997) Incremental finite-state parsing. In Proceedings of Applied Natural Language Processing 1997, Washington, DC. April 97 Bick, Eckhard (2006). A Constraint Grammar-Based Parser for Spanish. In: Proceedings of TIL 2006 - 4th Workshop on Information and Human Language Technology (Ribeirão Preto, October 27-28, 2006). ISBN 85-87837-11-7 Bourigault D., Fabre C., Frérot C., Jacques M.-P. & Ozdowska S. (2005), Syntex, analyseur syntaxique de corpus, in Actes des 12èmes journées sur le Traitement Automatique des Langues Naturelles, Dourdan, France Joshi, A. (1994). Introduction to Tree Adjoining Grammars. In Computational Intelligence Lopez, P. (1999). Analyse d'énoncés oraux pour le dialogue homme-machine à l'aide de grammaires lexicalisées d'arbres, Thèse, INRIA-Lorraine Wehrli, E. (2005) Fips, a “Deep” Linguistic Multilingual Parser, Proceedings of the 5th Workshop on Important Unresolved Matters, pages 120–127, Ann Arbor, June 2005, Association for Computational Linguistics 14/03/2009 Séminaire de formation LILPA
Evaluation (I) Un dossier de 6-8 pages : Contenu soit vous présentez un outil d'analyse automatique (étiqueteur, analyseur syntaxique) ou une ressource utilisée pour l'analyse (lexique, grammaire) avec les avantages et les limites soit vous comparez deux outils de même catégorie avec les avantages et les inconvenients de chaque outil Date limite : 4 novembre 2010
Evaluation (II) pas de reprise à l'identique du texte/source Web consulté en cas de reprise identique, on cite l'auteur et on met le texte entre "" pas plus de 15% dédiées aux images (copies d'ecran) indiquer les sources consultées (même si pages Web)