analyse syntaxique amalia todirascu todiras@unistra.fr
Post on 03-Apr-2015
131 Views
Preview:
TRANSCRIPT
Analyse syntaxique
Amalia Todirascutodiras@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: 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
14/03/2009 Séminaire de formation LILPA 6
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
14/03/2009 Séminaire de formation LILPA 15
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
14/03/2009 Séminaire de formation LILPA 21
Un exemple : Analyseurs syntaxiques en ligneFIPS 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
principesparamètres
14/03/2009 Séminaire de formation LILPA 22
FIPS -Utilisation
1. Copier-coller le texte2. Sélectionner l’application (le type de sortie)
1. Parser : analyse syntaxique seule2. Tagger : analyse syntaxique + étiquettes3. XML : (bug) schéma X-barre
3. Cliquer sur ‘Analyser’
14/03/2009 Séminaire de formation LILPA 23
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 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 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)
14/03/2009 Séminaire de formation LILPA 40
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
14/03/2009 Séminaire de formation LILPA 41
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
14/03/2009 Séminaire de formation LILPA 43
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)
14/03/2009 Séminaire de formation LILPA 44
VISL - Utilisation
1. Choisir une sortie :• arbre ou structure plate
2. Copier-coller le texte à analyser3. Cliquer sur ‘Go!’
14/03/2009 Séminaire de formation LILPA 45
VISL - Arbre
14/03/2009 Séminaire de formation LILPA 46
VISL - Arbre
14/03/2009 Séminaire de formation LILPA 47
VISL – Structure plate
14/03/2009 Séminaire de formation LILPA 48
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)
14/03/2009 Séminaire de formation LILPA 49
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’
Grammaires de dépendance
S
NP NPV
EN
travaille
D N
Karl le soir Karl
ENROOT
travaille le soir
V D N
NMODSBJ
VMODR0
Grammaires de dépendance (II)
51
S
NP NPV
EN
travaille
D N
Karl le soir
ROOT
V:travaille
NE:Karl N:soir
D:le
R0
SBJ VMOD
NMOD
Grammaires de dépendance 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
52
ROOT
V:travaille
EN:Karl N:soir
D:le
R0
SBJ VMOD
NMOD
14/03/2009 Séminaire de formation LILPA 53
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’
14/03/2009 Séminaire de formation LILPA 54
XIP – ‘full output’
14/03/2009 Séminaire de formation LILPA 55
XIP – ‘tree’
14/03/2009 Séminaire de formation LILPA 56
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 57
Evaluation des analyseursRé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 58
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
14/03/2009 Séminaire de formation LILPA 61
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
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)
top related