2.2 La gestion de l’interaction
2.2.1 Approches déterministes
Les principaux paradigmes
Gestion par graphe le rôle principal du DM étant de décider quelle action le
sys-tème doit prendre en chaque point du dialogue, une des approches les plus « simples »
consiste à laisser le concepteur définir entièrement la structure de l’interaction sous la
forme d’un graphe dirigé (Green,1986; Sutton et al.,1996; McTear,1998). Ce dernier
représente la séquence des tours de parole système mais aussi les réponses possibles de
la part de l’utilisateur à chaque point de l’interaction.
Graphe
Oui Non Italienne Française …. Cher modérée ...Début Demander type de nourriture Présenter résultat Demander gamme de prix Confirmer tout Fin
Sys
1Bonjour et bienvenue sur le système RestInfo. Vous voulez que je
cherche un restaurant servant quel type de nourriture ?
Usr
1Française
Sys
2Dans quelle gamme de prix ?
Usr
2Bon marché
Sys
3Je récapitule vous êtes à la recherche d’un restaurant français dans la
gamme de prix bon marché, c’est bien ça ?
Usr
3Oui
Sys
4Le « Bistrot du coin » avenue Foch correspond à votre demande...
T
ABLE2.4 –Exemple simplifié de gestion du dialogue par un graphe sur une tâche de recherche
d’information sur des restaurants.
Un exemple d’une telle gestion est donné dans le tableau2.4. Les nœuds du graphe
représentent ici l’ensemble des états dans lesquels peut se trouver le système. Ces états
sont associés à des actions systèmes (par exemple, poser une question ou accéder aux
informations d’une base de données). Les arcs, eux, représentent les transitions qui
existent (du point de vue du concepteur) entre ces états. Ces dernières sont
condition-nées par des évènements tels qu’une réponse particulière de la part de l’utilisateur à
une question système.
En suivant ce paradigme, le DM dispose d’un contrôle total sur le cours de
l’inter-action, le plus souvent en posant des questions dirigées à l’utilisateur pour limiter le
champ de ses réponses. De ce fait, ce type d’ approches est communément dénommé
comme étant « à initiative du système »
5.
5. La notion d’initiative est liée au degré de liberté qui est laissé à celui qui va s’exprimer par celui qui
vient de s’exprimer. On dit qu’un participant a l’initiative quand celui-ci guide l’interaction, par exemple
en posant des questions précises. On parle d’initiative mixte quand les deux participants se laissent la
possibilité de prendre temporairement l’initiative au cours du même dialogue.
Dans l’industrie, les systèmes déployés sont généralement basés sur des approches
similaires et reposent sur des langages etframeworksde spécification haut niveau comme
le standard W3C VoiceXML
6, ou encore l’AIML (Wallace,2003).
Le principal inconvénient de ce mode de gestion réside dans sa rigidité qui rend
le déroulement du dialogue peu naturel. En effet, dans ce paradigme les capacités de
compréhension du système sont souvent réduites à celles requises dans l’état courant
de l’interaction (pour effectuer une transition). De plus, dans ce mode de
fonctionne-ment l’utilisateur ne peut pas donner les informations au système dans l’ordre qu’il
souhaite ou encore poser des questions au système et prendre ainsi l’initiative.
Gestion par formulaire le paradigme dit du remplissage de formulaire (Ward et
Is-sar, 1994; Goddeau et al., 1996) offre une vision plus flexible du problème. Dans ce
paradigme, le système modélise au travers d’un formulaire les éléments informatifs
utiles à la résolution de la tâche de dialogue. Ces derniers comprennent des
informa-tions que l’utilisateur peut vouloir exprimer ou demander au système (et inversement).
Pour référer à ces éléments, on distinguera le champ (nom du concept) de sa valeur
(information renseignant ce concept). Un exemple de formulaire est donné dans le
ta-bleau2.5.
La gestion du dialogue consiste alors à gérer l’état de remplissage du formulaire
avec les informations transmises par l’utilisateur mais aussi à exploiter son taux de
remplissage (champs non spécifiés, etc.) et son rapport avec des données du domaine
(base de données, etc.) pour déterminer la prochaine action système.
Formulaire
Champs Valeurs
Type de nourriture française
Gamme de prix bon marché
Sys
1Bonjour et bienvenue sur le système RestInfo.
Com-ment puis-je vous aider ?
Usr
2Je cherche un restaurant français bon marché
Sys
2Confirmez-vous que vous êtes à la recherche d’un
restaurant français dans la gamme de prix bon
mar-ché ?
Usr
3Oui
Sys
3Le « Bistrot du coin » avenue Foch correspond à votre
demande
T
ABLE2.5 –Exemple simplifié de gestion par formulaire du dialogue sur une tâche de recherche
d’information sur des restaurants.
Cette approche offre plus de liberté à l’utilisateur car il peut spécifier sa requête
librement (ordre des informations données au système non contraint) et peut même
prendre l’initiative localement (par exemple en demandant au système la valeur d’un
champ). Il est à noter que cette technique peut être combinée avec des approches de
gestion par graphe pour pouvoir traiter plusieurs tâches connexes, chacune pouvant
être représentée par un formulaire.
Gestion par plans si les approches à base de formulaire sont particulièrement bien
adaptées pour des tâches relatives à la recherche d’information, elles sont difficilement
applicables en l’état à des domaines sortant de cette problématique. En effet, pour une
tâche telle que l’apprentissage d’une langue étrangère où les deux participants doivent
œuvrer de paire pour atteindre le but visé (dialogues collaboratifs), des approches à
base de plans peuvent être préférées.
Inspirée notamment des travaux présentés dans (Cohen et Perrault,1979;Perrault
et Allen,1980), ces approches proposent de modéliser l’état mental de l’utilisateur
(gé-néralement sous forme de buts et de croyances) afin que le DM essaye de reconstruire
le plan (possiblement partagé) que souhaite poursuivre actuellement l’utilisateur (qui
supposé être rationnel) pour être à même d’y répondre de façon adéquate.
Dans ce formalisme, un plan est constitué d’un ensemble d’actions (ici les actes de
dialogue système). Chaque action est définie par : unentête, représentant le nom et les
paramètres de l’action, despré-conditions, qui doivent être remplies pour que
l’opé-ration soit applicable, uncorps, qui représente la réalisation concrète de l’action
(sous-actions), et deseffetsqui décrivent l’impact de l’action sur l’état du monde. Ainsi, un
plan est défini comme étant une séquence bien formée d’actions de telle sorte que leurs
effets soient également les pré-conditions des actions suivantes. Un exemple est donné
dans le tableau2.6.
Entête Inform(Speaker,Hearer,LocalTime)
Pré-conditions Knows(Speaker,LocalTime)Wants(Speaker,Inform(Speaker,Hearer,LocalTime))
Corps Believes(Hearer,Wants(Speaker,Knows(Hearer,LocalTime)))
Effets Knows(Hearer,LocalTime)
T
ABLE2.6 –Exemple de définition d’une action employée dans la gestion de l’interaction par plan
pour donner à l’utilisateur de l’heure locale.
Une fois les opérations identifiées, la conversation peut alors être guidée par un
planificateur/raisonneur qui va devoir construire en fonction de l’état courant de
l’in-teraction un plan valide pour atteindre le but utilisateur grâce aux opérations mises à sa
disposition. Parmi les systèmes utilisant ce paradigme, nous pouvons citer les systèmes
TRAINS (Allen et al., 1995, 1996), RAILTEL (Bennacef et al., 1996),TRIPS (Ferguson
et al.,1998) ou encoreARISE(Lamel et al.,2000).
Gestion par agendas cette approche a également été étendue à des approches dites
basées sur les agendas, comme celle proposée par le gestionnaire de dialogue
Raven-claw(Bohus et Rudnicky,2003). Ce mode de gestion repose sur une décomposition
une sous-tâche précise et est lui-même géré par un agenda (Rudnicky et Xu,1999).
Gé-néralement une structure arborescente est adoptée pour traduire les relations d’ordre
entre les différentes sous-tâches et actions (voir figure2.6).
AskRegistered Login RoomLine Dialog Engine Dialog Task Specification RoomLine Login GreetUser AskName Welcome GetQuery GetResults DiscussResults Properties Location DateTime Whiteboard Projector Network Suspend Dialog Stack AskRegistered Expectation Agenda
Registered: [yes]->true, [no]->false
Registered: [yes]->true, [no]->false
Name: [user_name]
Registered: [yes]->true, [no]->false
Name: [user_name] DateTime: [date_time] Location: [location] Network: [with_network]->true, [without_network]->false … … …
System: Are you a registered user?
User: Yes, this is John Doe.
Parse: [yes](yes) [user_name](john doe) User Input Resume Name Registered DateTime Location
Network Projector Whiteboard Results