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 contraintes G.Pitel 14/02/2002
Cadre et problématiques Agent conversationnel / assistant d’interface : projet InterViews Sous – problèmes Analyse LN par motifs : [S.Gérard] Questions sur le fonctionnement : requêtes formelles [N.Sabouret] Ordres / Questions sur la structure : [G.Pitel] Cadre applicatif Assistant WebMail Application jouet LIMSI-CNRS ASP Navigation – Guillaume Pitel
Inspirations Affordance [W. Gibson 71] Un locuteur parle en fonction de la manière dont il catégorise l’environnement qu’il perçoit. Dans le cas des AAI, c’est l’aspect visuel qui détermine les expressions utilisées. Sémantique Procédurale [Johnson-Laird 77, Woods 81, Winograd 71] Le sens n’existe que par sa réalisation, ce qui est représenté n’est donc plus que l’interprétation des observations qui conduisent à une réaction. Le problème de cette approche est son aspect ad hoc, nécessitant une adaptation à chaque nouvelle tâche. Analyse prédictive [Word Expert Parsing, S. Small 80] En combinant des règles de production réactives, et des règles de prédiction, la famille des « Expectation Driven Parsers » combine les caractéristiques des analyseurs ascendants et descendants. LIMSI-CNRS ASP Navigation – Guillaume Pitel
Mon modèle Structure : Algorithme : Granularité variable modèle médiateur, implémenté dans un graphe d’entités appelées observateurs, interagissant avec un historique du dialogue et la description de l’application médiatisée. Algorithme : Analyse « parallèle », réécriture procédurale, relaxation de contraintes ( posées par l’algorithme lui-même au fur et à mesure de l’analyse) Granularité variable Généricité – indépendance vis-à-vis de la tâche Extensibilité LIMSI-CNRS ASP Navigation – Guillaume Pitel
Modèle Médiateur - Affordance Phénomène « Une grille avec des cases, des bords, des coins, …. » Utilisateur Application « Mets un rond dans une case du bord gauche » Représentation cognitive // informatique Médiateur LIMSI-CNRS ASP Navigation – Guillaume Pitel
Graphe d’observateurs - Principes Affordance - Observateurs conçus à partir de la perception de l’utilisateur, ils sont déclenchés en «reconnaissant» un motif XML dans la séquence de concepts formant l’environnement. Ex : <ordre><déplacer>…</déplacer> <objet-physique-libre>… </objet-physique-libre> <position-destination></position-destination></ordre> Récriture Procédurale - Observateurs implémentant une fonction de récriture du motif reconnu, marquant une zone interprétée avec un nouveau point de vue. La fonction peut prendre en compte les données disponibles dans la mémoire du dialogue ou dans la description de l’application médiatisée. Ex : {entrée = <combi-rel-spatiales></combi-rel-spatiales><position> </position>, sortie = <position>…</position>} Analyse prédictive – quand un motif ne peut être que partiellement reconnu, l’algorithme cherche si d’autres observateurs peuvent fournir les concepts manquant. LIMSI-CNRS ASP Navigation – Guillaume Pitel
Définition d’un observateur Règle d’activation (R) motif de balises XML servant de contraintes partiellement satisfaisables appliquées sur l’environnement Mode d’activation (M) réactif et/ou proactif Procédure de réécriture (PT) appliquée à la partie de phrase reconnue plus haut, elle peut soit : marquer la zone interprétée par l’observateur avec une balise XML appeler une fonction de l’application produire un message à l’intention de l’utilisateur si elle a un type, il est connu de l’algorithme d’analyse LIMSI-CNRS ASP Navigation – Guillaume Pitel
Exemple d’observateur instance-objet position verbe-mettre ordre Réactif M R = <ordre> * (<verbe-mettre> * </verbe-mettre>,<instance-objet>i </instance-objet>,<position>p </position>) * </ordre> R Concepts Activateurs Concept créé <action-mettre objet=i position=p>R </action-mettre> PT action-mettre LIMSI-CNRS ASP Navigation – Guillaume Pitel
Algorithme d’analyse Environnement : dialogue de l’utilisateur et description de l’application. L’environnement est décrit en XML, sans DTD. Fonctionnement permanent. A chaque nouvelle information, provenant de l’utilisateur, de l’application ou des observateurs, les observateurs qui ont la balise nouvelle dans leur règle d’activation sont vérifiés. Vérification de contraintes. Les règles qui ne sont pas vérifiées, si elles n’échouent que partiellement, se mettent en attente des balises manquantes. L’algorithme d’analyse va alors pouvoir déclencher les observateurs proactifs qui produisent ces balises. Un graphe de connexion des observateurs est implicitement créé (à partir des balises dans R et celle produite par PT ) Problématique proche du domaine de la planification (on recherchera les chemins de récriture possibles grâce aux algorithmes de résolution de contraintes, par exemple) LIMSI-CNRS ASP Navigation – Guillaume Pitel
Algorithme d’analyse Intégre une analyse multi-niveaux (syntaxique, grammatical, pragmatique, …). Les balises imbriquées permettent d’être interprétées de deux manières: soit les interprétations sont contradictoires, soit elles sont complémentaires. Ex : <design_couleur valeur=‘bleu’><adjectif>bleu</adjectif></design_couleur> <adjectif><nom>bleu</nom></adjectif> Au final, c’est l’interprétation des observateurs qui va désambiguïser quand il y en a besoin. L’analyse produit un graphe acyclique de récritures représentable en XML: a b c d e On a une disjonction, avec le choix entre (f, h1) OU (f, h2) f f h1 d g h2 1 2 3 4 LIMSI-CNRS ASP Navigation – Guillaume Pitel
Algorithme d’analyse On garde donc l’information spatiale dans la phrase : <A>xxx</A><B>yyy</B><C>zzz</C><D>www</D> <E><A>xxx</A></E><F><B>yyy</B><C>zzz</C></F><D>www</D> <G id=123><E>…</E></G><F>…</F><G id=123><D>www</D></G> <H1 id=435><H2 id=436><G id=123>…</G></H1></H2>… LIMSI-CNRS ASP Navigation – Guillaume Pitel
Exemple : Application jouet Actions : Déplacer, Supprimer, Créer Références : Couleurs, Formes, Position Objets du discours : Actions, Couleurs, Formes, Eléments de grille, relations spatiales LIMSI-CNRS ASP Navigation – Guillaume Pitel