Upload
dinhkien
View
226
Download
1
Embed Size (px)
Citation preview
Analyse syntaxique
Amalia Todirascu-Courtier
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:
– 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
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
fcl
pension
prop v-fin npadv
Goriot payait encore num n adj pp
de
prpcentsdouze nfrancs
fcl prop v-fin adv np
np num n adj pp
pp prp n
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
FIPS -Utilisation
1. Copier-coller le texte
2. Sélectionner l’application (le type de sortie)1. Parser : analyse syntaxique seule
2. Tagger : analyse syntaxique + étiquettes
3. XML : (bug) schéma X-barre
3. Cliquer sur ‘Analyser’
FIPS - Parser
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
∈T∪N )● 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 exempleP
GN GV
V GN
N GP
Prep N
astronomers
saw
stars
with earsp(t1)=1*0.1*0.7*1.0*0.4*0.18*1.0*1.0*0.18
Analyse statistique
● apprentissage – 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 – n11n22 = n** - n11
w2 ¬ w2
w1 n11 n12
¬ w1 n21 n22
∑ ∑= = ∗
∗∗∗=
2
1
2
1 **
**log2j i ji
ijij nn
nnnLL
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– 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)
Cordial analyseur
● 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
http://www.synapse-fr.com/Cordial_Analyseur/Presentation_Cordial_Analyseur.htm
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
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 ligne1. 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)
VISL - Utilisation
1. Choisir une sortie :• arbre ou structure plate
1. Copier-coller le texte à analyser2. Cliquer sur ‘Go!’
VISL - Arbre
VISL - Arbre
VISL – Structure plate
Analyseurs syntaxiques en ligne2. XFG
● http://www.xlfg.org/● Développé par L. Clement● Langues traitées :
– Anglais, Français● Grammaire LFG (Lexical Functional Grammar)
Analyseurs syntaxiques en ligne3. 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’
XIP - Utilisation
1. Choisir la langue2. Copier-coller le texte à analyser3. Choisir une sortie
1. minimale (analyse syntaxique)2. totale (lemme + analyse syntaxique)3. arbre4. arbre complet (?)5. extraction d’entités (fournit uniquement les Entités
Nommées)6. format xml
4. Cliquer sur ‘Start parsing’
XIP – ‘full output’
XIP – ‘tree’
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
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)
Evaluation des analyseurs (II)
Corpus Littéraire Corpus Le Monde
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
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