• Aucun résultat trouvé

Chapitre 7 Moteur de dialogue dirigé par le modèle

7.2. Compléments au MCPM

7.2.5. Paramétrage du moteur

L’information et les actions possibles étant définies, le moteur doit être capable d’effectuer des choix parmi ces possibles (quand il s’agit de faire agir le patient) et de calculer la prochaine étape suite à une action du joueur.

Pour réaliser ses calculs le moteur se base sur un certain nombre de paramètres dont la valeur a vocation à être fixée par un expert du domaine sur lequel porte le dialogue. Ces paramètres sont regroupés dans la catégorie PatientProfileInit.

En plus de ces paramètres initiaux qui témoignent du caractère du patient, un certain nombre de variables peuvent être initialisées pour chaque scénario de manière à représenter l’état du patient au début de la consultation, ainsi que la difficulté à la mener. Ils font partie de la catégorie PatientProfileCoefficient.

Enfin le moteur maintient à jour l’état actuel du patient au moyen d’un certains nombres de valeurs qui sont regroupées dans la catégorie PatientStatusValue. Ces valeurs sont calculées à chaque étape du dialogue en associant les caractéristiques des phrases utilisées par le médecin aux paramètres des catégories PatientProfileInit et

PatientProfileCoefficient. Les nouvelles valeurs de PatientStatusValue sont ensuite utilisées

par le moteur pour déterminer la prochaine action du patient.

Plus formellement chacune des catégories de paramètres décrites prend la forme d’un vecteur de valeurs. En voici la liste :

• 335R\∞Y8eT∞*

Ce vecteur spécifie les valeurs initiales des traits de caractères du patient. • 335R\∞Y8gR8\\

Ce vecteur décrit les facteurs de changement des traits de caractères du patient en fonction des caractéristiques des phrases utilisés par le médecin. Il agit comme un amplificateur-amortisseur qui permet de paramétrer la sensibilité du patient face aux actions du médecin.

• Oô`*±\\

Chaque action du médecin est caractérisée par ce vecteur qui représente l’effet de l’action sur l’état actuel du patient. Il est spécifié à partir du vecteur Oô`*g656` qui reprend la modélisation des actions telle que définie dans le modèle MCPM de notre ontologie.

• 3P*6*S7

Ce vecteur représente l’état actuel du patient. • 3ô`*g656`

Ce vecteur est l’équivalent pour le patient du vecteur Oô`*g656`. Il représente donc les caractéristiques des actions du patient

La Figure 7.7 présente le cycle des interactions entre ces différentes valeurs.

Figure 7.7 : Interactions et influence des paramètres utilisés par le moteur

7.2.5.1. Nature et valeurs des paramètres dans le cas d’AgileDoctor

Dans le cas d’AgileDoctor, les expérimentations menées nous ont conduits à instancier les vecteurs de paramètres du moteur de jeu de la façon suivante :

• 335R\∞Y8eT∞* = [bTb*äê, bTb*≤wíä, bTb*≥¥¥ê, bTb*ä≥Vm]

initùü représente le niveau de confiance initial du patient envers son médecin. init´®µù évalue son niveau de perturbation, initû††ü son agressivité et enfin initùûß™ sa loquacité.

• 335R\∞Y8gR8\\ = `R8\\ä≥Vm, `R8\\≥¥¥ê, `R8\\≤wíä, 35R¨¢£, 35R¨§

Ces trois propriétés désignent les caractéristiques du profil initial du patient qui correspondent aux propriétés du concept « PatientType » de l’ontologie « Profil du patient ».

La première, `R8\\ä≥Vm (talkative), indique la propension du patient à donner plus ou moins d’information pendant ses actions. Elle est utilisée par le moteur pour savoir

PatientAction_Caracteristics 3ô`*g656` = [dô`*`w] choisir PatientStatus_Values 3P*6*S7 = [d7_w] calcul DoctorAction_Caracteristics Oô`*g656` = [Uô`*`w] PatientProfile_Init 335R\bY8eTb* = [dbTb*w] PatientProfile_Coefficient 335R\bY8gR8\\ = [d`R8\w]

lesquels, parmi les nœuds d’information cibles de l’action du médecin, seront révélés par l’action du patient. Plus cette propriété est élevée, plus le nombre de nœuds révélés sera important.

La deuxième, `R8\\≥¥¥ê (aggressive), mesure la faculté du patient à bien s’entendre avec son médecin. Elle influence les choix du moteur en ce qui concerne la forme des phrases utilisées par le patient mais joue aussi un rôle dans le fait que la session de dialogue puisse sortir de l’état normal.

La troisième, `R8\\≤wíä (chaotic), représente la capacité du patient à énoncer clairement ses problèmes et à comprendre les questions et les explications du médecin. Là encore cette caractéristique est utilisée par le moteur pour calculer si la session reste dans l’état normal ou en sort et pour sélectionner la forme des phrases utilisées par le patient.

Enfin 35R¨¢£ et 35R¨§ spécifient la probabilité du patient d’entrer dans les états de session « DU » (Don’t Understand) ou Q (Questionning). Pour chaque action du médecin, cette probabilité sera corrélée au niveau de clarté de la phrase utilisée pour calculer le nouvel état de la session.

• Oô`*±\\ = [Uô`*±\\∂5, Uô`*±\\Ob7*, Uô`*±\\ôcc5] avec

Oô`*g656` = [Uô`*gY865, Uô`*Q87d8`*, Uô`*Q8677S58, Uô`*±fd6*ℎ∑, Uô`*PSddR5*] La composition du vecteur Oô`*g656` détermine les critères considérés comme important dans la construction de la relation médecin-patient. Le choix d’implémentation fait ici met en avant les notions de clarté (Uô`*gY865), de respect (Uô`*Q87d8`*), de rassurance (Uô`*Q8677S58 ), d’empathie (Uô`*±fd6*ℎ∑) et de soutien (Uô`*PSddR5*). A partir de la caractérisation des actions selon ces critères, l’ontologie permet de définir le vecteur Oô`*±\\ qui spécifie l’effet de l’action sur respectivement la confiance du patient (Uô`*±\\∂5 ), sa confusion (Uô`*±\\Ob7* ), et son agressivité (Uô`*±\\ôcc5). • 3P*6*S7 = [d*äê, d*≤wíä, 7*6*S7≤wíä, d*≥¥¥ê, d*ä≥Vm]

Ce vecteur qui représente l’état actuel du patient (par opposition à son état au début de la consultation) est composé de ptùü qui représente la confiance actuelle du patient envers son médecin, de pt´®µù qui désigne son état de confusion, de ptû††ü pour son degré d’agressivité et enfin de ptùûß™ pour sa loquacité.

• 3ô`*g656` = [dô`*∏RTc , dô`*ôcc5 , dô`*gY865 ]

Nous avons choisi de quantifier les phrases utilisés par le patient de la façon suivante : dô`*∏RTc quantifie la longueur de la phrase utilisée par le patient, dô`*ôcc5 donne sa valeur d’agressivité et enfin dô`*gY865 son niveau de clarté. .

Le Table 7.3 synthétise ces choix.

Table 7.3: Synthèse de la composition des vecteurs utilisés par le moteur de dialogue.

Confiance Confusion Agressivité Loquacité Prob. DU Prob. Q 335R\∞Y8eT∞* initùü init´®µù initû††ü inittalk

335R\∞Y8gR8\\ coeffdist coeffaggr coefftalk 35R¨¢£ 35R¨§

Oô`*±\\ Uô`*±\\∂5 Uô`*±\\Ob7* Uô`*±\\ôcc5

3P*6*S7 ptùü pt´®µù ptû††ü ptùûß™

3ô`*g656` dô`*gY865 dô`*ôcc5 dô`*∏RTc

La Figure 7.8 présente une vision globale de l’influence des vecteurs les uns sur les autres.

Figure 7.8: Circuit de l’influence des paramètres dans le cas d’AgileDoctor.

Le Table 7.4 présente une vue récapitulative de l’implémentation proposée en précisant les plages de valeur possibles pour les paramètres ainsi que leurs valeurs par défaut, ces dernières étant calculée en prenant pour base un jeu d’un niveau de difficulté relativement facile où le degré d’agressivité et de confusion du patient est relativement faible.

Table 7.4: Plages de valeur et valeurs par défaut des vecteurs du moteur dans le cas d’AgileDoctor.