• Aucun résultat trouvé

4.2 Utiliser l’évaluation subjective de l’utilisateur au cours de l’interaction . 102

4.2.2 Simulation d’évaluations subjectives en cours d’interaction

Bien que nous souhaitons à terme, grâces à nos diverses propositions, proposer un cadre d’apprentissage à même de nous affranchir du recours à la simulation (optimisa-tion de la politique de dialogue avec de véritables interac(optimisa-tions), nous comptons dans le cadre d’une étude préliminaire exploiter un simulateur existant afin d’évaluer sur des conditions d’apprentissage et de tests plus paramétrables l’impact de l’ajout de ces récompenses sociales sur la convergence d’une politique apprise. Pour ce faire, nous avons pris pour outil de référence le simulateur utilisateur au niveau intentionnel (actes de dialogue) par agenda tel que décrit dans (Schatzmann et al.,2007b).

Cette approche décompose l’état mental de l’utilisateur S en un agenda A et un objectif à atteindreG:

S= (A,G)avecG= (C,R) (4.7)

G correspond à une représentation du but utilisateur. Son objectif est de garantir que l’utilisateur simulé réagit d’une manière cohérente et orientée vers sa réalisation.

C0 =

Sys1 Bonjour, comment puis-je vous aider ?

A1 = Usr1 Je cherche un bar qui sert de la bière Sys2 Ok, un bar à vin. Quelle partie de la ville

Sys3 Vous cherchez un bar qui sert de la bière, est-ce exact ?

Usr3 Oui, un bar dans la partie ouest de la ville Sys4 Il n’y a pas de bar à bière dans cette zone

Mais le Kings Shilling, près du Château, est un bar à bière très réputé.

Sys5 Pouvez-vous répéter s’il vous plaît ?

A5 =

request(phone) bye()

Usr5 Quel est son numéro de téléphone ? Sys6 Son numéro de téléphone est le 728-64-32.

R6 =

TABLE4.1 –Exemple de gestion de l’agenda pour la simulation utilisateur sur un dialogue concer-nant la tâche TownInfo. Atet Gtne sont visibles que quand des modifications leur sont apportées.

Le but utilisateur se décompose pour cela en un ensemble de contraintesC et de re-quêtes R. Les contraintes correspondent aux arguments de la négociation (valeur des concepts). Ces derniers peuvent notamment être l’objet d’évolutions au cours de l’in-teraction (changement explicite de but). L’offre effectuée par le système devra cepen-dant les satisfaire pour que l’utilisateur considère effectivement qu’il s’agit là d’une réponse à son but. Les requêtes représentent quant à elles les informations que l’utili-sateur cherche à obtenir de la part du système. Par exemple, cela pourra être l’adresse ou le numéro de téléphone d’un restaurant ou encore les horaires d’une ligne de bus.

L’agenda A est ici défini comme une pile contenant les actes de dialogue utilisateur en attente. Ces actes sont localement (au tour courant) jugés nécessaires pour atteindre l’objectif de l’utilisateur.

L’exemple donné dans le tableau 4.1 illustre sur un exemple concret d’interaction (tâche de recherche d’informations touristiques sur des établissements d’une ville, Tow-nInfo, décrite plus en détail dans la section 4.3.1) la plupart des mécanismes de mise à jour de l’agenda et du but utilisateur intervenant au cours du dialogue pour en per-mettre l’évolution réaliste.

Au début du dialogue, un nouvel objectif est généré en utilisant la base de données

4.2. Utiliser l’évaluation subjective de l’utilisateur au cours de l’interaction

exploitée également par le système (C0 et R0). L’agenda est alors initialisé en y ajou-tant toutes les contraintes sous forme d’actes de dialogue de typeinform, puis toutes les requêtes en actes de typerequestet enfin un actebye() au bas de la pile pour pouvoir mettre fin au dialogue (voirA1). Les actes de dialogue utilisateur effectivement trans-mis au système sont construits à partir desnactes de dialogue placés au sommet deA.

Dans ce cas de figure,nreprésente le niveau courant de prise d’initiative de l’utilisateur simulé. Ce niveau est déterminé dynamiquement selon un taux de prise d’initiative éta-bli pour l’utilisateur. Plus celui-ci est haut, plusna de chance d’être grand. Lors de la réception d’un nouvel acte de dialogue en provenance de la machine, les informations données par le système seront analysées et de nouveaux actes utilisateurs seront insérés dans l’agenda. Tous les actes qui ne sont plus pertinents au regard de AetGsont en-suite supprimés. Selon leur niveau de priorité les nouveaux actes pourront être ajoutés en haut de la pile. C’est par exemple le cas lorsqu’une contrainte utilisateur est violée par le système (comme dansA2) ou si le système pose une question ou demande une confirmation à l’utilisateur (voirA3).

Différents profils utilisateurs peuvent être modélisés en agissant sur le mécanisme de prise de décisions de l’utilisateur simulé en réglant sa patience (tolérance aux com-portements non appropriés du système) et son taux de prise d’initiative (nombre maxi-mal d’informations transmises au système en un tour de parole). Le lecteur peut se référer à (Schatzmann et al.,2007b) et (Keizer et al.,2010) pour avoir plus de détails sur cette méthode de simulation et les moyens de raffiner les modèles dont elle fait usage avec des données d’apprentissage.

Afin de nous affranchir du besoin de simuler de vrais comportements sociaux, qui nécessiteraient l’utilisation de corpus d’apprentissage spécifiques, nous nous conten-tons dans cette étude préliminaire de l’identification de situations dans lesquelles un utilisateur (selon son profil) serait susceptible d’émettre un jugement subjectif (qu’il soit positif ou négatif) sur la tournure prise par l’interaction. Par exemple, l’identifica-tion d’une situal’identifica-tion très négative où l’utilisateur pourrait manifester au système son mécontentement en haussant le ton « non je n’ai pas du tout dit ça ! » ou en grimaçant.

L’hypothèse que nous faisons dans cette simulation est que la nature du jugement que peut émettre l’utilisateur sur le déroulement de l’interaction est en fait fonction des évolutions deAet de G. Prenons pour cela un exemple concret. DansA2, la présence d’un acte de négation (negate) au sommet de Aest du au fait qu’une contrainte de G a été violée par le système (icidrinks=beer). Cela peut être perçu comme un indice qui pourrait influencer négativement le jugement que ferait un vrai utilisateur sur le dérou-lement de l’interaction. De la même manière, l’acte d’affirmationaffirmau sommet de A3pourrait à l’inverse contribuer à l’émission de signaux exprimant un jugement plus favorable. En suivant cette logique, le type de l’acte de dialogue au sommetApeut être employé pour déterminer la valence de l’appréciation que l’utilisateur pourrait vouloir transmettre au système au tour courant.

Ainsi, la simulation des évaluations subjectives (calcul de ψsocial) que nous avons choisie, nécessite en tout premier lieu de collecter sur A et G un ensemble d’indices (positifs/négatifs) qui permettront par la suite de déterminer dans quelle situation

dia-Indices positifs Indices négatifs

1 Acte de dialogue positif au sommet deA 1 Acte de dialogue négatif au sommet deA

(affirm, confirm, etc.) (negate, deny, etc.)

2 Nombre d’attributs remplis dansR 2 Taille de l’agenda

3 Résolution partielle de la tâche atteinte 3 Nombre de tours effectués

4 Résolution totale de la tâche atteinte 4 Information déjà transmise au sommet deA TABLE4.2 –Liste des indices positifs et négatifs extraient de l’agenda et du but utilisateur.

logique se trouve l’utilisateur et ce faisant être à même d’émettre une hypothèse sur son état émotionnel.

Le tableau4.2donne la liste complète des indices ainsi employés dans notre étude.

Il fait état de quatre indices positifs et négatifs extraits à chaque pas de tempstsur At

etGt. Bien sur cette liste pourrait être facilement complétée et améliorée mais nous sou-haitons montrer que la simulation peut permettre de montrer l’intérêt des approches proposées même dans un cadre volontairement simplifié (et aussi peu couteux en dé-veloppement).

Dans un second temps les valeurs des indices collectées sont pondérées avec un facteur d’importance (dépendant notamment du profil de l’utilisateur simulé) afin de déterminer la valeurψsocial pour un état donné. Nous avons fait le choix de nous rap-procher de la façon dont les mesures subjectives sont traitées dans le paradigme d’éva-luation PARADISE (Walker et al.,1997). Ainsi, cette valeur sera fonction d’une échelle d’accord en cinq points allant de « très négatif » à « très positif » (échelle de Likert).

Pour ce faire, la somme de toutes les valeurs pondérées extraites des indices donne un score globalHt ∈ [−1, 1]. Ce dernier sera replacé sur l’échelle de Likert considérée en utilisant un seuilξ.

Ainsi, à chaque pas de tempst,ψsocialest définie comme suit :

ψsocial(st) =τ×

τest un facteur d’échelle (nombre réel) permettant de régler l’importanceRsocialpar rapport àRenv.

Le calcul de la fonction de récompense sociale peut être décomposé en trois étapes : 1. Collecte d’indices positifs et négatifs sur le nouvel étatst+1(plus exactement sur

At+1etGt+1que nous supposons liés à l’état du dialoguest+1) ; 2. Calcul deψsocial(st+1);

3. Estimation de la récompense sociale attribuée en utilisant l’équation4.6qui fait également intervenir la valeurψsocial(st)déterminée avecAtetGt.

Un exemple d’un tel processus est résumé dans le tableau4.3. La première colonne représente l’état du dialogue st tel que perçu au travers de l’agenda At et du butGt

4.2. Utiliser l’évaluation subjective de l’utilisateur au cours de l’interaction

st Indices positifs Indices négatifs ψsocial(st) Rsocial

s3 1(1) 2(-6), 3(-4) 0,5

s4 2(2/3) 3(1) 2(-2) 3(-5) 1 0,45

TABLE4.3 –Exemple du calcul de la récompense sociale simulée avecγ=0.95etτ=1.

correspondants (voir tableau 4.1). Les deuxième et troisième colonnes sont respective-ment les listes des indices positifs et négatifs détectés avec leur valeur respective entre parenthèses. Par exemple, dans la première rangée et la troisième colonne, l’indice 2 correspond au nombre d’actes de dialogue encore dans l’agenda (voir la deuxième co-lonne du tableau 4.2), la valeur 6 est déterminée à partir de A3, le signe − indique que l’indice est négatif. La quatrième colonne correspond àψsocial (c’est à dire au score de Likert) calculé grâce à l’équation4.8. Pour déterminer cette valeur il est nécessaire d’avoir recours à une pondération sur les indices pour à la fois normaliser leur valeur et en régler l’importance les unes par rapport aux autres (scoreHt). Ainsi, différents pro-fils « sociaux » pourront être modélisé en faisant varier cette pondération. Nous avons notamment fait usage de cette capacité dans nos expériences lorsque nous avons modé-lisé deux profils utilisateur simulé différents : un expert et un novice (voir section4.3.3).

Enfin, la dernière colonne indique la récompense sociale attribuée en appliquant l’équa-tion4.6dans le contexte courant. Avecγ = 0, 95 etτ =1, on obtient le score positif de 0, 45 qui traduit une évolution favorable de la situation entres3ets4.