xip un analyseur incrémental robuste

30
XIP Un analyseur incrémental robuste Laura Monceaux & Isabelle Robba Séminaire LIR – 04 / 06 / 02

Upload: zilya

Post on 14-Jan-2016

49 views

Category:

Documents


0 download

DESCRIPTION

XIP Un analyseur incrémental robuste. Laura Monceaux & Isabelle Robba Séminaire LIR – 04 / 06 / 02. Plan de l’exposé. Qu’est-ce-qu’un analyseur robuste ? Architecture de XIP Structure des données Présentation des différentes règles Désambiguïsation Segmentation Marquage et Remaniement - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XIP Un analyseur incrémental robuste

XIPUn analyseur incrémental robuste

Laura Monceaux & Isabelle Robba

Séminaire LIR – 04 / 06 / 02

Page 2: XIP Un analyseur incrémental robuste

Plan de l’exposé

Qu’est-ce-qu’un analyseur robuste ? Architecture de XIP Structure des données Présentation des différentes règles

– Désambiguïsation– Segmentation– Marquage et Remaniement– Extraction des dépendances

Conclusion & Démonstration

Page 3: XIP Un analyseur incrémental robuste

Définition d'un analyseur robuste

Robustesse : capacité d'un analyseur à fournir des analyses "correctes" pour des corpus "tout venant"– Produire une analyse même minimale pour

toute entrée– Limiter le nombre d’analyses produites ou

donner des indications sur les préférences choisies

Page 4: XIP Un analyseur incrémental robuste

Vers des analyseurs robustes…

Plusieurs approches :– Analyseurs utilisant des modèles traditionnels avec

un mécanisme particulier pour éliminer les échecs ou sélectionner la meilleure analyse (Frank et al, 98: extension LFG)

– Approches probabilistes : calcul de la structure la plus probable en utilisant des règles extraites d'un corpus annoté

– Analyseurs partiels : structures minimales éventuellement sous spécifiées, néanmoins utilisables pour une analyse plus complète

– Systèmes hybrides

Page 5: XIP Un analyseur incrémental robuste

Architecture de XIP

Pré-traitement

Contrôle des entrées

Désambiguïsation

Segmentation

Analyse des dépendances

Règles de désambiguïsation

Règles de

dépendance

Règles de segmentation

Texte en entrée

Texte analysé morphologiquement

Texte désambiguïsé

Texte annoté syntaxiquement

Page 6: XIP Un analyseur incrémental robuste

Aspects généraux

Incrémental grâce à des paquets ordonnés de règles

Pas de retour en arrière Déterministe pour la segmentation en

constituants Non déterministe pour l'extraction des

dépendances

Page 7: XIP Un analyseur incrémental robuste

Données et opérateurs Les données sont représentées par une suite de nœuds Un nœud : nom + [ couples trait valeur ]

Dog : noun [lemme: dog, surface: Dog, uppercase: +, sing: +]chases : verb [lemme: chase, surface: chases, pres: +,

person:3 sing: +]

Les opérateurs pour décrire la séquence des nœuds : , une concaténation de nœuds() des éléments optionnels; la disjonction* 0 ou plusieurs éléments+ un ou plusieurs éléments? n'importe quel élément~ tout sauf cet élément

Page 8: XIP Un analyseur incrémental robuste

Les opérateurs pour comparer les nœuds :

:: égalité entre 2 nœuds

~: différence entre 2 nœuds

< le nœud de gauche précède celui de droite

> le nœud de gauche suit celui de droite

L'exploration du contenu d'un nœud :

{} indique qu'un sous-nœud doit être examiné

TRE (tree regular expression)

NP {det, noun} , FV {verb}

NP {det, noun [last]}; NP {pron}, FV {verb}

Données et opérateurs

Page 9: XIP Un analyseur incrémental robuste

Différents types de règlePré-traitement

Désambiguïsation

Segmentation

Analyse des dépendances

Règles de désambiguïsation

Règles de

dépendance

Règles de segmentation

Règles de marquage et remaniement

Texte en entrée

Texte analysé morphologiquement

Texte désambiguïsé

Texte annoté syntaxiquement

Page 10: XIP Un analyseur incrémental robuste

Règles de désambiguïsation Elles choisissent l'interprétation la plus probable d'un

mot en fonction de son contexte

Elles désambiguïsent certains traits

Règles de la forme :

interprétations = | Contexte-G | choix | Contexte-D |

Exemples : noun,verb = verb | det |

noun,verb = | det | noun

The Bridge.VBridge.N

span.Vspan.N

the flow.Vflow.N

Page 11: XIP Un analyseur incrémental robuste

/*** REGLE DESAMB 132 ***\

/prefer noun if preceded by unambiguous det\

1> noun,verb = |det[pron:~,prep:~,adj:~]| ?[verb:~].

garde les interprétations qui n'ont pas le trait verb

/*** REGLE DESAMB 137 ***\

/prefer verb if sequence: Noun Pron Verb \

1> noun,verb = |noun[verb:~,adv:~,conj:~],

pron%[prep:~]| verb.

garde l'interprétation verb et désambiguïse le pronom

Règles de désambiguïsation

Page 12: XIP Un analyseur incrémental robuste

Règles de segmentation Elles groupent les nœuds en segments (chunks) afin de

faciliter l'extraction des dépendances

Règles organisées par niveaux, pas de retour arrière, règles non récursives

2 types de règles (un seul par niveau):– ID / LP : identifier des paquets de nœuds

partiellement ordonnés

nœud non lexical -> |Ctxte| suite de nœuds |Ctxte|[ensemble de traits] < [ensemble de traits]

– Séquence : identifier des sous séquences ordonnées de nœuds

nœud non lexical = |Ctxte| séq. ord. de nœuds | Ctxte |

Page 13: XIP Un analyseur incrémental robuste

9 catégories de segments pour le français :NP : groupe nominal FV : noyau verbal AP : groupe adjectival GV : participe présent PP : groupe prépositionnel IV : verbe infinitif

BG : tête de subordonnée INS : incise SC : clause

Le chat de la voisine - au demeurant peu aimable – est parti en miaulant capturer une souris qui traînait là.

{ SC {NP {Le chat} PP {de NP {la voisine} } INS {- AP {au demeurant peu aimable} -}

FV {est parti} } GV {en miaulant} IV {capturer}

NP {une souris} SC { BG {qui} FV {traînait} } là .}

Règles de segmentation

Page 14: XIP Un analyseur incrémental robuste

Règles de segmentation : ID / LP

Entrée lue de droite à gauche Appliquées sur la séquence la plus longue

possible

NP -> det [first], noun [last], noun*, adj*, adv*

DetThe

ADVvery

ADJbeautiful

Nounshepherd

Noun dog

• 43 règles ID pour construire : NP (18), PP (5), AP (2), FV (3), GV (3), IV (8), GV (3), INS (2)

• 5 règles LP pour vérifier des contraintes d'ordre sur le contenu des NP

Page 15: XIP Un analyseur incrémental robuste

Règles de segmentation : séquence Entrée lue de gauche à droite Appliquées sur la séquence la plus courte ou

la plus longue (@)

NP = det, adv*, adj*, noun+.

DetThe

ADVvery

ADJbeautiful

Nounshepherd

Noun dog

• 12 règles de séquence pour construire les SC

Page 16: XIP Un analyseur incrémental robuste

DiRègles:1> AP -> (adv+[last:~]),adj[verb:~].2> NP -> |?[noun:~]| AP[first:+], noun[last:+,proper:~].4> FV [verb:+] -> (neg[first:+]),(adv[psneg:+,first:~]), (pron+[nom:~,dem:~,poss:~,rel:~]), (punct+

[first:~]), (adv+[first:~]), verb[inf:~,partpre:~,partpas:~,last:+].

PLRègles:2> [det:+] < [noun:+]2> [adj:+] < [noun:+,proper:+]

Séquence:7> SC = BG,?*[fin:~, scbegin:~],FV./* From the beginning of the sentence to the main FV *\9> SC = ?[start:+],?*[fin:~,scbegin:~],FV.

Règles de segmentation : exemples

Page 17: XIP Un analyseur incrémental robuste

Règles de modification de l’arbre des segments

Règles de marquage– Instanciation de caractéristiques spécifiques sur

les nœuds de l’arbre de chunks – FV[passive:+] { aux[be], verb[ppe] }

Verbe[ppe]

mangée

FV

est

Aux

NP [passive:+]

Page 18: XIP Un analyseur incrémental robuste

#1

#3

#5#4

#2

Règles de modification de l’arbre des segments

Règles de remaniement

– Reconstruction de certaines sections de l’arbre des segments

– PP#1 {?*#2, NP#3 {?*#4,#5[last]}} = #1{#2,#4,#5}

NP

avec

Prep

PP

NomDet

sourireleavec

Prep

PP

NomDet

sourirele

Page 19: XIP Un analyseur incrémental robuste

Calcul des dépendancesRelations n-aires :

– Dépendances syntaxiques standard (ex : Sujet, Objet …)

– Relations plus « larges » incluant des relations entre phrases (ex : co-référence)

Différents types de fonctions :

– Créer une nouvelle relation entre les nœuds

– Assigner de nouvelles caractéristiques à un nœud de l’arbre des segments

– Supprimer une relation existante

– Renommer une relation de dépendance existante

Page 20: XIP Un analyseur incrémental robuste

24 relations de dépendance– SUBJ– INTERROG – SUBJCLIT / sujet clitique: le chat vient-il; aussi dort-elle...; le chat, dit-il,– VARG / complement direct: COD, infinitives, etc.\– DEEPSUBJ /deep subject\– DEEPOBJ /deep objet\– COREF / antecedent relative\– VMOD / verb PP mod (modified by [arg] feature if matches some argument)\– NMOD NARG/ noun PP mod (modified by [arg] feature if matches some

argument)\– ADJARG / ADJ PP mod (modified by [arg] feature if matches some argument)\– NN / Noun modifying a Noun: genre clown\

Page 21: XIP Un analyseur incrémental robuste

24 relations de dépendance– SEQNP / sequence of NPs: apposition, lists\– COORDITEMS / coordinated items (coorditems [noun],

coorditems[noun,prep], coorditems[sc]\– PREPOBJ / prep PPobj relation\– DETERM / determination\– STRAYNP / stray NP\– CLOSEDNP / closed NP \– REFLEX / reflex: reflexive construction: il se lave\– AUXIL /auxiliary verbs\– CONNECT /connector introducing clause : e.g. quand tu veux– NEGAT / negation: ne mange\– PRECOMMA /comma before a given chunk\– MWEHEAD/ head of an MWE expression\

Page 22: XIP Un analyseur incrémental robuste

Sorties de XIP

SUBJ_NOUN(parti,chat)

SUBJ_REL_COREF_NOUN(traînait,souris) SUBJ(capturer,chat)

VARG_NOUN_DIR(capturer,souris) VARG_INF_DIR(parti,capturer)

COREF_POSIT1_REL(souris,qui) VMOD_POSIT1_ADV(traînait,là)

NMOD_POSIT1_RIGHT_ADJ(voisine,aimable)

NMOD_POSIT1_NOUN_INDIR(chat,de,voisine)

PREPOBJ_CLOSED(de,voisine)

DETERM_DEF_NOUN_DET(Le,chat)

Le chat de la voisine - au demeurant peu aimable – est parti en miaulant capturer une souris qui traînait là.

Page 23: XIP Un analyseur incrémental robuste

Calcul des dépendances

En entrée : arbre des segments Forme des règles :

|pattern| if <conditions> <d-term1>…<d-termK>

Expression régulièrequi décrit une partie

de l’arbre des segments

Expression booléenconstruit à partir des

termes de dépendances, des opérateurs, …

Dépendances de la forme :

Name [f-list] (a1,…,an)

Nom de la relation

caractéristiquesarguments

Page 24: XIP Un analyseur incrémental robuste

#2

#3

#1

Création de dépendancesRègle : | SC { NP { ?*, #1[last]}, VP { ?*, #2[last] } }, NP

{ ?*, #3[last] } | if (~Subj(#,#2)) Subj (#1,#2) ,Obj (#2,#3)

Arbre des segments : TOP

SCNP

NP VP

Det

Det

Nom

Nom

chatLe

Verbe

mange

la souris

Subj(chat,manger)

Obj(manger,souris)

Page 25: XIP Un analyseur incrémental robuste

#2

Ajout de nouvelles caractéristiquesBut : Raffiner les relations de dépendances

en leur ajoutant des caractéristiquesExemple de règle :

|NP {?*, #1[last]}, VP[passive:+] {?*, #2[last]} | Subj [passive:+] (#1,#2)

#1

Det Nom

sourisLa

Verbe

mangée

NP VP [passive:+]

Aux

est parSubj [pass:+] (souris,manger)

Page 26: XIP Un analyseur incrémental robuste

Renommer les dépendances

Le caractère ^ marque la relation modifiée dans la règle

Exemple :– Changement d’un VMOD en VARG si

sous-cadre de catégorisation est compatible avec la préposition

– If (^Vmod(#2, #1) & prep(#3,#1) & #2[fsubcat] : #3[fsubcat] ) Varg(#2, #1)

Page 27: XIP Un analyseur incrémental robuste

Suppression de relations de dépendance

Le caractère ^ marque la relation de dépendance à supprimer

Le caractère ~ permet de supprimer l’élément pointé

Exemple :if ( Subj[left](#2, #1) & ^Subj[right](#3,#1) ) ~

Page 28: XIP Un analyseur incrémental robuste

Extraction de co-référence

Connecter tous les noms à la phrase S| S#2 { ?*, Noun#} | NwithinS(#2,#1)

Extraction du pronom co-référence possible | S#3, S{ SC { ?*, FV { ?*, #1Verb[last] }}} |

if ( subj[imperso:~] ( #2 [pron, clit ,p3 ,indef :~ ],#1) & NwithinS(#3, #4) ) Coref (#2, #4)

Page 29: XIP Un analyseur incrémental robuste

Extraction de la co-référenceR1 : | S#3 { ?*, Noun#} | NwithinS(#3,#4)

R2 : | S#3, S{SC {?*, FV {?*, #1Verb[last]}}} | if (subj [ imper:~](#2 [pron, clit ,p3 ,indef :~ ],#1) & Nwithin (#3, #4) Coref (#2, #4)

TOP

S S

NP

Jean

NP FV

Pronom

il

Verbe

travaille

SC

#3

#4

#2

#1

Page 30: XIP Un analyseur incrémental robuste

Conclusion

But : construire un ensemble de dépendances Plusieurs formes d'entrées : utilisation d'un

autre segmenteur, tokenizeur, … Grammaire incrémentale, facilement modifiable Meilleurs résultats que IFSP notamment pour le

traitement des questions Disponible en français et en anglais Versions Unix, Linux et Windows