Atelier Un système de dialogue homme-machine : PVE Jean Caelen, Anne Xuereb
Architecture Logiques Requêtes Énoncé oral Modèles Acous. Reconnaissance Modèle Langage Morpho-syntaxe Chaîne orthographique Référents Tâches Concepts Compréhension Plan Logiques Schéma sémantique Objets Acte de langage Gestion de la tâche Requêtes Interprétation Gestion du dialogue But SDRS Ontologie jeux Stratégies Génération Buts dialogiques Action sur le monde Synthèse TTS Énoncé oral
Interprétation (pragmatique) Prend une structure de type sémantique en entrée et fournit une structure de même type en sortie mais enrichie par les actes de langage (la force illocutoire et le contenu propositionnel de l’acte). Calcule la SDRS, relations rhétoriques et attachements Traite les référents, présupposés et les implicatures. Données pour l’interpréteur Règles de calcul de l’acte Fp Prise en compte des marqueurs discursifs Résolution des attentes Règles de construction de la SDRS Calcul du type de relation rhétorique Rattachement de l’acte Construction du nœud topique Résolution des référents Résolution des présuppositions et des implicatures La SDRS à chaque pas du dialogue
Gestion du dialogue Calcule le but et décide de la stratégie. Il envoie ensuite le but à résoudre au gestionnaire de tâche et les éléments de réponse au générateur de sortie. Il distribue les effets des actions à prendre en compte et les remises à jour aux différents modules. Il utilise des règles de calcul des stratégies et des règles de gestion des buts dialogiques (par exemple à l’aide de piles ou de files d’attente). Données pour le contrôleur de dialogue Le jeu de dialogue réglé par : des règles de déclenchement de stratégies, des règles de comportement, des règles de reprise/relance par des sous-dialogues. Les données de gestion des intérêts (matrices, arbres de conflits) Une ontologie pour repérer l’avancée du jeu (et prédire les effets projectifs) – sorte de modèle d’activité du dialogue
Ontologie
Gestion de la tâche Données du gestionnaire de tâche Est un planificateur classique. Il prend en entrée le but à résoudre et développe un plan pour l’atteindre. En cas d’échec il en donne les raisons et propose des solutions de repli. En cas d’incomplétude ou d’imprécision dans la formulation du but en entrée, il indique les paramètres en cause (par exemple lorsque les pré-conditions ou les contraintes ne sont pas satisfaites). Données du gestionnaire de tâche Langage de requêtes Sélectionner (salle, taille, matériel) Consulter_agenda (salle, date) Réserver ( pers, salle, date) Envoyer-message (but, auteur, pers, mode) Etc. Modèle de tâches BD d’objets
Sélectionner (salle, taille, matériel) Consulter_agenda (pers, salle, date) Réserver (pers, salle, date) Pré-conditions : possède-droit(pers, salle) (date > date-courante) identifier(salle) Corps : modifier-agenda (salle, date) Contraintes : est-disponible(salle, date) if-échec : Compte-rendu(effets) if-succès : Confirmer(pers) Réserver(Matériel) Prévenir(participants) Possède-droit(pers, salle) Identifier(salle) Pré-condition : appartient (pers, entreprise) Pré-cond : appartient (salle, entreprise) corps : Vérifier-droit(pers, salle) corps : Vérif-existe(salle, taille, matériel) if-échec : possède-droit(pers, salle) if-échec : existe(salle) if-succès : possède-droit(pers, salle) if-succès : existe(salle) Modifier-agenda(salle, date) pré-conditions : droit-accès(agenda(salle)) corps : Ecrire-réservé(pers, date) Objet : Salle Lafayette Objet : Salle Bleue Id_Propriétaire : direction Id_Propriétaire : équipe-projet Id_Agenda : ag_Lafayette Id_Agenda : ag_Bleue Effet : appartient(salle, entreprise) Effet : appartient(salle, entreprise) Taille-max : 50 Taille-max : 10 Matériel : vidéo-projection Matériel : vidéo-projection OU tableau-tactile BD
BD EnvoiMessage (but, auteur, dest, op, mode) : ITER Message (but, auteur, pers, mode) Pré-conditions : possède-droit(auteur, pers) identifier(dest, pers, op) Corps : Composition (but, message) Expédition (pers, mode) Contraintes : mode if-échec : Compte-rendu(effets) if-succès : Confirmer(pers) Prévenir(auteur) Possède-droit(auteur, pers) Identifier(dest, pers, op) Pré-condition : appartient (pers, entreprise) Pré-cond : appartient (dest, pers) corps : Vérifier-droit(pers) corps : Extraction-op(pers) if-échec : possède-droit(auteur) if-échec : liste(dest) if-succès : possède-droit(auteur) if-succès : liste(dest) Composition (but, message) Pré-condition : identifier(but) corps : Ecrire(but, message) Pers : Chef-Projet Pers : Membres-PVE Id_Chef-projet : Olivier Causse Id_Membre : Jean Caelen Id_Membre : Olivier Causse Id_Membre : Solange Hollard Id_Membre : Evelyne Millien Id_Membre : Luc Rodet BD
Le cycle des opérations I>> O1 : Mise du schéma sémantique sous une forme logique p appelée contenu propositionnel, I>> O2 : Calcul de la force illocutoire FUp, I>> O3 : Calcul de la SDRS et résolution des sous-spécifications, D>> O4 : Détermination du but de FUp et ordonnancement des buts en attente, pour faire émerger le but courant, D>> O5 : Calcul de la stratégie, T>> O6 : Tentative de résolution du but courant, au regard du modèle de tâche, D+T+G>> O7 : Si succès alors action, D+I+T>> O8 : Si échec alors analyse de l’échec puis activation de demande de correction ou de négociation, D>> O9 : Ordonnancement des buts (élimination des buts satisfaits et intégration des nouveaux buts), G>> O10 : Génération de l’énoncé de la machine et synthèse vocale, Tous>> O11 : Mise à jour des connaissances et des historiques. Cette opération est effectuée par chaque module pour son propre compte,
Les échanges de données (b) (f) (e) (c) Compréhension Contrôleur du Dialogue Générateur Gestionnaire de Tâche Interpréteur
Exemple de dialogue (avec SDRS) U : Luc Blanc à l’appareil. 1 Est-ce que la salle Lafayette est disponible demain ? 2 M : Non. 3 Elle est disponible jeudi 4 U : Bon eh bien réservez-la moi 5 M : Voulez-vous réserver aussi le rétro-projecteur ? 6 U : Oui, merci 7 Cet exemple illustre quelques autres problèmes à résoudre : « Luc Blanc » est un présupposé à la fois qu’il s’agit du prénom et du nom d’un usager mais aussi qu’il fait partie de l’entreprise et qu’il est familier du système « jeudi » est certainement la première date de disponibilité la plus proche après lundi « réservez-la » contient une anaphore de salle mais aussi de date car la proposition « jeudi » n’a pas été remise en question « rétro-projecteur » présuppose que la salle Lafayette peut-être équipée d’un tel appareil, que Luc Blanc en aura peut-être besoin et qu’il vaut mieux de toutes façons le réserver à l’avance.
SDRS 1 1 U I FS [a1 : personne ; Identité+annonce(a1) ; a1 = « Luc Blanc »] « Luc Blanc à l’appareil » D Consultation ontologie de jeux dialogiques : Identité+annonce s’unifie à /présentation présentation := FS (NomComplet) FS (Titre, Nom) FS (Rôle) donc l’acte 1 est reconnu comme acte de présentation 1 Jeu/ouverture /présentation/ Présupposition : Luc Blanc = Prénom, Nom Implicature : a1 est membre a1.NomComplet = Luc Blanc ; a1 = U ?b1 = cM(U) => envoie requête Identifier(U) à T T U=Luc Blanc, U Chef-Projet U Membres-PVE ‡b1= cM(U) U est membre et chef de projet Calcul attente : Jeu/Demande de service Jeu/Offre de service Calcul stratégie : δcoopératif SDRS 1
SDRS 1 Arrière-plan 2 2 U I FFS s2 :salle, d2 :date, e2 :booléen, disponibilité_salle(s2,d2) s2=Lafayette ; d2=j+1 ; e2=disponibilité_salle(s2,d2), e2= ? « Est-ce que la salle Lafayette est disponible demain ? » D Consultation ontologie de jeux dialogiques : Disponibilité_salle termes dans l’attente Jeu/demande de service Donc 2 Jeu/demande de service/termes Applique règles de comportement face à FFSU sachant δcoopératif Donc ?b2 = disponibilité_salle(Lafayette, J+1) Tentative de résolution de b2 donc envoi de la requête Consulter-agenda(Lafayette, J+1, e2) à T T e2 = 0 Envoi au générateur de FS(e2) SDRS 1 Arrière-plan 2
SDRS 3 1 Arrière-plan 2 QAP 3 M G FS « non » « Non » I Mise à jour de la SDRS : FS[neg(x) x= ?] La sous-spécification sur x se résout par prop(x) ; x=2 ; QAP (2, 3) D Réponse complète mais insuffisante en stratégie coopérative donc élargissement de la requête dans le jeu en cours : relaxation de la variable date sous contrainte de disponibilité e2=1 => Consulter-agenda(Lafayette, date, 1) T date = jeudi †b2, envoi au générateur de FSM(date) SDRS 1 Arrière-plan 2 QAP 3
SDRS 3 4 1 Arrière-plan T1 topique *234 2 QAP IQAP 4 M G FS [v :indéfini ; d3 :date ; e3 : booléen ; agenda+annonce(v, d3, e3) ; v=s2 ; e3=0 ; d3 = plus proche jeudi] « Elle est disponible jeudi » I Mise à jour de la SDRS : Topique T1 : QAP (2, 3) ; IQAP(2, 4) Référents : U=Luc Blanc ; s2=Salle Lafayette ; d2=J+1 ; d3=+proche jeudi Toutes les relations à potentiel ouvrant sont fermées (QAP, IQAP) Tous les référents sont résolus 1 Arrière-plan 3 2 QAP 4 IQAP T1 topique *234 SDRS
SDRS 5 3 4 1 Arrière-plan cont. T1 topique *234 2 QAP IQAP 5 U FF [v : indéfini ; réservation+demande (v,) v=?] « Bon eh bien, réservez-la moi » D ‡b2, ?b3 = réserver(U, v) => requête Réserver(U, v, d) Consultation ontologie : Jeu/demande de service/exécution T v = indéfini, d = indéfini Envoi d’une demande de résolution des variables v et d à I SDRS : topique T1 isomorphe à Jeu/demande de service/ termes Recherche de salle et date dans le topique T1 : v=s2 ; d=d5 référents définis et accessibles dans T1 donc v=Lafayette et d= jeudi ouverture nouveau topique T2 (5) rattachement par Coordination (T1, T2) Envoi de la requête Réserver(U, v, d) à T Exécution avec succès de Réserver(U,v,d) et proposition offre-service (réserver matériel, etc.) †b3, Calcul stratégie : δcoopératif Stratégie coopérative et offre de service dans l’ontologie, instancié en Réserver_matériel dans T, d’où ?b4 = Réserver-matériel(m) m=rétro-projecteur Envoi FFS(m) à G SDRS 1 Arrière-plan 3 2 QAP 4 IQAP T1 topique *234 cont. 5
SDRS 3 4 *567 1 Arrière-plan topique *14 T2 5 6 Elabq QAP 2 6 M G FFS [rétroprojecteur(r6) ; matériel+demande(r6)] « Voulez-vous réserver aussi le rétro-projecteur ? » I Mise à jour de la SDRS : Topique T2: Elabq (5, 6) Topique T3 : continuation (T1, T3) 7 U FS [confirmation] « Oui, merci » *567 1 Arrière-plan topique *14 T2 5 6 Elabq QAP 3 2 4 IQAP 7 T1 *234 T3 cont. SDRS
Exercice U : allô, je voudrais réserver une salle pour lundi 1, 2 M : oui. Quel est votre nom ? 3 U : je suis Boris. 4 M : désolé, toutes les salles sont déjà prises… mais je vais me renseigner pour savoir si un arrangement est possible. Je vous rappelle. 5 U : bon… merci… 6 M : <calcule la fonction d’utilité de chaque acteur dans l’agenda de réservation à la date « lundi », choisit Marie Rainer et l’appelle> M : bonjour madame Rainer, 7 vous est-il possible de déplacer votre réunion de lundi ? 8 R : oui, pas de problème… 9 déplacez-moi pour le lendemain, même lieu 10 M : merci, je réserve votre salle pour le lendemain, mardi. Ce sera toujours la salle Bleue à 11h. 11 M : <rappelle le Demandeur> allô ? Madame Rainer accepte de reporter sa réunion. Je peux vous réserver la salle Bleue pour lundi à 10h. 12, 13 Cela vous convient ? 14