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

Slides:



Advertisements
Présentations similaires
Déductions logiques et calcul de représentations sémantiques Alain Lecomte UMR SFL Séminaire « Logique, Sémantique, Dialogue » - partie I.
Advertisements

Transformation de documents XML
L’interrogation par mot interrogatif
Chapitre I : Systèmes d’exploitation
le langage les éléments
Outils de développements
Analyse Sémantique de Requêtes en Langue Naturelle pour un Agent Assistant d’Interface. Un modèle de réécriture procédurale conduite par relaxation de.
We are taking the language L to be a way of computing expressions, a recursive definition of a set EXP. (i) a set of features (ii) principles for assembling.
Fonctionnement du moteur Prolog
Christelle Scharff IFI Juin 2004
Systèmes d’exploitation
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Structures de données linéaires
Quelques exemples de situations de travail ritualisées brèves...
Pour un système formel de description linguistique
La base textuelle FRANTEXT
Métagrammaire RLT, 7/02/02. Plan n Rappels : compilateur de BG n Essais sur les verbes n Questions.
Le français dans tous les sens
4 - Les automates et les lexiques morphologiques : le contenu mot fléchilemmepartie du discourstraits de flexion Habituellement, un lexique morphologique.
La subordination complétive
Bases de données lexicales
SELECT {* | Expression [Alias] [,...] } FROM Table [WHERE Condition] [ORDER BY { Expression | Alias } [ ASC | DESC ] [NULLS FIRST | NULLS LAST ] [,...]
Phrase complexe (Grevisse, par )
Nature ou fonction d’un mot
Les pronoms objets directs et indirects
Xpath XML Path language par Yves Bekkers
Les applications évoluées (traduction automatique) nécessitent beaucoup d'informations lexicales : délimitation des mots composés, lemmes... Cela fait.
1 DTSI / Service Cognitique Robotique et Interaction OUTILEX Démonstrateur du CEA-LIST : moteur d'interrogation crosslingue (français, anglais, espagnol)
Utilisation et utilité d’un extracteur de dépendances
Systeme Question-Reponse SQR
Chapitre 3 Syntaxe et sémantique.
Chapitre 2 La description du langage
Partie II Sémantique.
LE DEVELOPPEMENT DU LANGAGE
Description des langages
Les pronoms accentués Leçon 15. Forms In the answer to the questions below, the noun is replaced by a pronoun: Jean mange avec Florence? -Oui, il mange.
Programmation logique Le Langage PROLOG
Rappel Modèle analyse-synthèse de la compilation
L'analyse doit mettre en évidence la nature et la fonction du mot
Architecture et modularité du modèle L'exemple de GUST et des grammaires de correspondance polarisées Sylvain Kahane Modyco, Université Paris.
Vers une analyse syntaxique à granularité variable Tristan Van rullen
Créer des packages.
Optimisation de requêtes
CoRRecT : Démarche coopérative pour l’évaluation de systèmes de reconnaissance de termes Chantal Enguehard IRIN – Université de Nantes 2 rue de la Houssinière.
L’EXAMEN de FRANÇAIS Le jeudi, 16 juin 2011.
Arbres binaires et tables de hachage
Fast and Furious Decision Tree Induction
La phrase complexe révisions.
Les classes de mots… en bref
Maria Malek - EISTI - CPI11 Présentation d’UNIX –1969, laboratoire Bell –Systèmes multi-tâches multi-utilisateurs –Architecture Le noyau –Gestion de la.
Diffusion Nationale TOULOUSE – Décembre 2008 STS Web Services libres Gérer les services libres.
Programmation annuelle: Etude de la langue
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Introduction Formalisation de GUST basée sur GUP (GUST = Grammaire d’Unification Sens-Texte, Kahane 2001) (GUP = Grammaire d’Unification Polarisée, Kahane.
Récupération par projection de ressources langagières Par Youssef BOUOULID IDRISSI 10 Avril 2003 Cours IFT6010 Université de Montréal Département d’informatique.
CSI 3525, Grammaires, page 1 Description des langages –Syntaxe et sémantique –Grammaires –Sémantique axiomatique.
Module d’auto-apprentissage
Règles d’or à suivre en rédaction
les mots variables et les mots invariables.
Initiation aux bases de données et à la programmation événementielle
Appariement syntaxique question-réponse Séminaire groupe LIR 21/10/2003.
Ecole ______________________________________
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
Un modèle flexible d'édition intelligente de documents structurés basé sur des techniques de "chart-parsing" Marc Dymetman Exposé LIMSI, 14 déc
De Arnault Chazareix :
Types de pronoms.
Les relatives infinitives ou la construction d’un inobservable Sylvain Kahane Modyco, Université Paris 10 Lattice, Université Paris 7 COLDOC, Université.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Le syntagme prépositionnel
De la théorie Sens-Texte à une grammaire d'unification Sylvain Kahane Lattice, Université Paris 7 EHESS, 30 mars 2001.
Transcription de la présentation:

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 –Extraction des dépendances Conclusion & Démonstration

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

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

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

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

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

 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

Différents types de règle Pré-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

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.V Bridge.N span.V span.N the flow.V flow.N

/*** 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

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 |

9 catégories de segments pour le français : NP : groupe nominalFV : noyau verbal AP : groupe adjectivalGV : participe présent PP : groupe prépositionnelIV : 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

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* Det The ADV very ADJ beautiful Noun shepherd 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

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+. Det The ADV very ADJ beautiful Noun shepherd Noun dog 12 règles de séquence pour construire les SC

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

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:+]

#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 sourirele avec Prep PP NomDet sourirele

Calcul des dépendances Relations 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

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\

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\

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à.

Calcul des dépendances En entrée : arbre des segments Forme des règles : |pattern| if … Expression régulière qui décrit une partie de l’arbre des segments Expression booléen construit à partir des termes de dépendances, des opérateurs, … Dépendances de la forme : Name [f-list] (a1,…,an) Nom de la relation caractéristiques arguments

#2#3#1 Création de dépendances Règle : | SC { NP { ?*, #1[last]}, VP { ?*, #2[last] } }, NP { ?*, #3[last] } | if (~Subj(#,#2)) Subj (#1,#2),Obj (#2,#3) Arbre des segments : TOP SC NP VP Det Nom chatLe Verbe mange lasouris Subj(chat,manger) Obj(manger,souris)

#2 Ajout de nouvelles caractéristiques But : Raffiner les relations de dépendances en leur ajoutant des caractéristiques Exemple de règle : |NP {?*, #1[last]}, VP[passive:+] {?*, #2[last]} | Subj [passive:+] (#1,#2) #1 DetNom sourisLa Verbe mangée NPVP [passive:+] Aux estpar Subj [pass:+] (souris,manger)

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)

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) ) ~

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)

Extraction de la co-référence R1 : | 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

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