Amalia Todirascu-Courtierddata.over-blog.com/xxxyyy/3/94/57/27/coursAnalysesyntaxe1011.pdf · Plan...

Preview:

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

Recommended