— 1 — Un modèle de dialogue à base de scripts 1. Introduction Dans ce chapitre

— 1 — Un modèle de dialogue à base de scripts 1. Introduction Dans ce chapitre le lecteur trouvera un exemple détaillé de la réalisation d'un dialogue homme machine multimodal pour un logiciel de dessin (ICPdraw = Interaction et Communication Parlée pour le dessin). Le modèle de dialogue adopté est fondé sur les scripts de dialogue et le modèle de tâche sur les scripts de tâche. Il s’agit d’un cas d’école, volontairement simplifié pour en faciliter la compréhension. ICPdraw est une application de dessin (type MacDraw™) multimodale [Caelen, 92a]. L'utilisateur dispose d'une palette d'outils graphiques et de menus de fonctions et il dispose d’un langage d’interaction proprement multimodal (parole, clavier, geste à la souris). Le logiciel prévoit l’ensemble des fonctions habituelles nécessaires au dessin : sélection de plusieurs objets par pointage ou entourage ou désignation verbale, déplacement des objets, changement des coloris, dessin d’objets géométriques, etc. Ces objets géométriques peuvent être groupés, cachés ou saisis par des “poignées”. Le contexte interactionnel est synergique (c’est-à-dire qu’on peut parler en même temps que l’on agit avec la souris, par exemple énoncer la commande “dessine un cercle ici” accompagnée d’un clic souris de désignation du lieu). Les explications, les demandes de confirmation, les demande de précision et les aides sont fournies à l’utilisateur par synthèse vocale ou par affichage textuel dans la zone de dialogue ou sur des fenêtres volatiles lorsque la réponse est longue. Un aperçu général de l'interface est donné fig. 1. File Edit Configure Iconbox ICPdraw ICPdraw Which color? draw>green Events Speaking... Sentence hyp. 1. green 0.95 2. blue 0.2 Fig. 1 : L’interafce graphique d’ICPdraw (version Xwindows). Elle est composée de quatre fenêtres, la première (ICPdraw) est découpée en zones et menus définissant l'espace de travail graphique et l’espace de dialogue, la deuxième (Iconbox) contient un logo, la troisième (Events) visualise l’état des canaux de communication et indique, par exemple, à l'utilisateur quand il peut parler, la — 2 — quatrième (Sentence hyp.) visualise les résultats du système de reconnaissance vocale (les 4 meilleures hypothèses sont retenues et rangées selon un score décroissant). 2. Les langages d'interaction d’ICPdraw On distingue dans ICPdraw quatre types de langages d’interaction : • le langage d’interaction verbale pour la manipulation des objets de l’application, • le langage d’interaction gestuelle, qui est une extension à la désignation par pointage et à la sélection de menus et d’outils, • le langage de demande d’aide, permettant à l’utilisateur de demander des aides en cours de travail (comment faire, comment dire, etc.), • le langage de réplique qui lui est autorisé en réponse aux questions de la machine. Le langage de manipulation Le langage interne de manipulation des objets d’ICPdraw est défini comme une liste de commandes dont la forme logique est : Com(<arg1><arg2>...<argn>) Com représente une commande (action élémentaire), argi sont les arguments de la commande. A ce langage interne correspond un langage externe multimodal (à destination de l'utilisateur), à deux composantes, langagière et gestuelle. La composante langagière Les énoncés admissibles dans le langage oral sont des énoncés : • bien formés comme : “dessiner un cercle vert ici” • avec ellipse des mots grammaticaux comme : “dessiner cercle vert ici” • de réitération comme : “encore” ou “...cercle vert” • de rectification comme : “non... vert” • de confirmation comme : “oui” Ils peuvent être décrits par la grammaire Go (avec une signification évidente des notations, | opérateur "ou", . opérateur "et", () élément facultatif, {} liste) : Go Com -> Action | Réitération | Rectification Action -> Vo.(GN).(GPL) | Vo.Pr.(GPL) Action -> Vi Réitération -> GN | GPL | AdjC Réitération -> {encore} Rectification -> non.GN | non.GPL | non.AdjC — 3 — Rectification -> plus.AdjT Tâche -> Vo.(GT) GT -> (Dét.).NT GN -> (Dét).(AdjT).N.(AdjC) | Dét.AdjT | Dét.AdjC GPL -> LocP | LocA Pr -> PP | PD PP -> {le, les} PD -> {çà} Vo -> {dessiner, déplacer, effacer, dupliquer} Vi -> {annuler, quitter} Dét -> {le, les, un, deux, trois, quatre, ce, ces} AdjT -> {grand, petit} N -> {carré, cercle, triangle, trait} NT -> {noms des tâches répertoriées} AdjC -> {blanc, noir, bleu, jaune, rouge, vert} LocP -> {à droite, à gauche, en haut, en bas, au centre} LocA -> {ici, là, vers là, par ici, par là} Le module qui traite des entrées en langage naturel (parlées ou écrites) dispose d'analyseurs linguistiques capables de fournir la structure des constituants (c- structure) et la structure fonctionnelle (f-structure) de la commande. Ces analyseurs utilisent le formalisme des grammaires lexicales fonctionnelles [Reynier, 90] et fonctionnent avec le système de reconnaissance automatique de parole continue ECHO (voir annexes). ECHO utilise des modèles de Markov cachés. La composante gestuelle Le langage gestuel comprend des actions de désignation/sélection et des actions de dessin à main levée. Il se formalise par la grammaire Gg : Gg Définitions A1 : enfoncement du bouton n°1 de la souris A2 : enfoncement du bouton n°2 de la souris R : relâchement d'un bouton Traj : trajectoire du curseur de la souris A1(Lieu).R : désigne un lieu de la zone de travail A1(Lieu).Traj.R : désigne une aire de la zone de travail Grammaire Gg : Action -> A1(Obj).R | A1(Lieu).Traj.R (sélection d’ objet(s)) Action -> A1(palette_carré).R.A1(Lieu).R (dessiner un carré) Action -> A2(Lieu).Traj(carré).R (dessine un carré) Action -> A1(palette_triangle).R.A1(Lieu).R (dessiner un triangle) Action -> Traj(triangle).R (dessiner un triangle) Action -> A1(palette_cercle).R.A1(Lieu).R (dessiner un cercle) Action -> Traj(cercle).R (dessiner un cercle) — 4 — Action -> (Désigne(obj)).A1(palette_kill).R (effacer cet objet) Action -> Traj(Z) | Traj(α)).R (effacer cet objet) Action -> A1(Obj).Traj.R (déplacer cet objet) Action -> Traj.R (dupliquer cet objet) La racine commune aux deux grammaires Go et Gg est l’entrée “Com”. L’union des deux grammaires en une seule définit la grammaire multimodale Gm = Go U Gg. Le langage de demande d’aide Le langage de demande d'aide définit l'ensemble des énoncés de demande d’aide que peut formuler l'utilisateur. L'aide est activée par le contrôleur de dialogue ou sur demande de l'utilisateur. Cette aide est présentée oralement (synthèse de la parole) ou de manière écrite (dans une fenêtre volatile). Il ne s’agit pas ici pour la machine de générer des énoncés complexes et extrêmement variés : on peut simplement utiliser des phrases “à trous” dans lesquelles sont insérés les éléments variables. La demande d’aide porte sur : • les objets de l’application (type, couleur, position), • les opérations possibles sur les objets, • les langages d’interaction, • l’aide elle-même. La grammaire du langage de demande d'aide Ga est la suivante : Ga Dem_aide -> Dem_aide_obj | Dem_aide_op | Dem_aide_l | Dem_aide_aide Dem_aide_obj -> quel.N | quelles.sont.les.couleurs Dem_aide_obj -> quelle.est.la.couleur.du.N Dem_aide_obj -> quelle.est.la.taille.du.N Dem_aide_obj -> où.est.le.N Dem_aide_op -> comment.Vi | comment.Vo | comment.V Dem_aide_op -> qu’est.ce.que.LocP Dem_aide_op -> qu’est.ce.que.LocA Dem_aide_l -> quel.est.le.vocabulaire Dem_aide_l -> quels.sont.les.gestes Dem_aide_aide -> aide V -> {réitérer, rectifier, corriger, confirmer} Vo -> {dessiner, déplacer, effacer, dupliquer} Vi -> {annuler, quitter} N -> {carré, cercle, triangle, trait} LocP -> {à droite, à gauche, en haut, en bas, au centre} LocA -> {ici, là, vers là, par ici, par là} — 5 — Ce langage est assez sommaire car il n’a d’intérêt que pour le début de l’apprentissage de l’utilisateur qui a surtout besoin de savoir ce qu’il peut faire, comment le faire et comment l’exprimer. Il y a des demandes de précison comme “qu’est.ce.que.LocP” qui lui permettent de avoir ce que signifie exactement “à droite”, “à gauche”, etc. Le langage de réplique Dans les cas d’ambiguïté de commande, d’imprécision, d’erreur, d’incompréhension, etc. la machine est amenée à poser des questions à l’utilisateur. De la part de la machine le langage est figé mais les réponses de l’utilisateur peuvent être relativement variées (mais on peut fermer le nombre de réponses en choisissant judicieusement la forme des questions). Elles sont régies par une grammaire dite des répliques, sensible au contexte de la question. Ces contextes sont : • Clarification, confirmation • Réparation des erreurs, • Demande de précision, • Incompréhension. Carification, confirmation Grammaire des répliques Gr Qc1 : “Quel objet parmi ceux-ci ?” + clignotement R -> GN | {celui-là, celui-ci} Qc2 : “L’objet précédent ?” R -> {oui, non} Qc3 : “Est-ce d’accord ?” R -> {oui, non} etc. Réparation des erreurs Qe1 : “Je ne peux pas exécuter votre commande” Qe2 : “Désolé, je ne peux rien faire” Qe3 : “Désolé, je ne sais pas répondre à la question” Qe4 : “Voulez-vous annuler ?” R -> {oui, non} etc. Demande de précision Qo : “Quel objet ?” R -> GN | {celui-là, celui-ci} Qc : “De quelle couleur ?” R -> AdjC Qt : “De quelle taille ?” R -> AdjT Ql : “Où ?” R -> LocP | LocA etc. Incompréhension Qi1 : “Pouvez-vous répéter ?” R -> Enoncé_com| Dem_aide Qi2 : “Pouvez-vous reformuler votre demande ?” R -> Dem_aide Qi3 : “Pouvez-vous reformuler votre commande ?” R -> Dem_com etc. Le modèle de tâches — 6 — On ne peut pas dire que dans les tâches de conception comme le dessin, il y ait un véritable modèle de uploads/Finance/ un-modele-de-dialogue.pdf

  • 26
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 14, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 0.0915MB