• Aucun résultat trouvé

Les chatterbots

Dans le document Questions réponses et interactions (Page 27-34)

I.2 Tour d'horizon du dialogue homme-machine

I.2.1 Les chatterbots

Le type le plus simple de dialogue ouvert peut être rencontré dans les chatterbots. Après une rapide présentation nous verrons leurs utilisations avec les SQR, puis nous verrons leurs constructions, leurs limites et l'aquisition de prols utilisateur à l'aide de chatterbots.

I.2.1.1 Présentation des chatterbots

La forme d'interaction en langue naturelle la plus évidente est celle

utili-sée dans les systèmes de messageries instantanées ou sur les IRC6/Talk. Ce

type d'interaction est caractérisé par la seule présence d'une boite de sai-sie de texte pour l'utilisateur, et d'une boite d'historique du texte produit par tous les utilisateurs connectés. Souvent sur ces systèmes, des robots sont connectés. Ces robots ont pour but de saluer les nouveaux utilisateurs, ex-clure les utilisateurs déraisonnables, automatiser certaines tâches simples et répétitives comme la sélection du titre d'une page web ou le changement d'état des utilisateurs...

C'est pour cela que ces robots sont obligés de réaliser une analyse simple des productions des utilisateurs. Ces robots sont connus sous le nom de chatterbots. Les chatterbots ont donné lieu à des concours visant à en pro-duire qui auraient des réponses les plus humaines possibles (Loebner contest [Loebner, 2006], Chatterbox Challenge [Cowart et al., 2006] ou encore de nombreux tests de Turing [Turing, 1950]). Cela a donné naissance à une nou-velle forme de chatterbots : les agents interactifs munis d'un simulacre de per-sonnalité. En fait d'interaction, ces agents ne savent que produire une phrase

I.2 Tour d'horizon du dialogue homme-machine 27

User let's begin

MegaHAL when we begin to resolve some of my thumbs, something wicked this way

comes

User what is the meaning of your last assertion ?

MegaHAL have you learned since we last spoke ?

User I've learned I'm not experienced enough to modelize your brain system

MegaHAL you've nally confused me.

User I've learned nothing

MegaHAL have you learned anything about insanity ?

User are you stupid

MegaHAL I am not stupid ! really !

User Augustinus was a christian philosopher about the year 400.

MegaHAL I did not run that year

User Augustinus lived in northern africa.

MegaHAL what does hal know about aurelius augustinus ?

User Let's stop with that. What do you know about physics ?

MegaHAL einstein won the nobel prize for physics in 1921.

User The Nobel Prize for physics in 1900 was won by Roentgen.

MegaHAL do you know about physics ?

User Roentgen discovered the X-rays.

MegaHAL the nobel prize for physics in 1900 was won by roentgen.

User Who discovered the X-rays ?

MegaHAL roentgen discovered the x-rays.

Tab. I.1  Exemple de conversation avec MegaHal

en retour pour chaque phrase construite par l'utilisateur. Les chatterbots dis-posent souvent de mécanismes pour acquérir du vocabulaire et des construc-tions de phrases qui utilisent des stratégies de construcconstruc-tions d'automates pro-babilistes. Leur simplicité de programmation en font le succès. Presque 30 ans séparent Eliza [Weizenbaum, 1966] de MegaHal [Hutchens, 1994] comme

dans l'exemple I.1(page 27), et dix ans de plus pour le système Ector [Parmentier, 2005] comme l'illustre l'exemple I.2(page 28)... Les systèmes MegaHal et Ector

es-sayent d'apprendre de l'utilisateur.

Le système MegaHal intègre les énoncés dans son modèle pour créer des

phrases souvent syntaxiquement correctes, là où le système Ector7 utilise un

renforcement sur les chaines de concepts déjà rencontrées.

Parfois les chatterbots disposent de stratégies très évoluées pour pousser l'utilisateur à saisir de nouvelles phrases dans les cas où aucun/très peu de ces modèles de dialogue ne s'appliquent.

User Bonjour ector, je m'appelle bertrand

Ector Bonjour Ector ? bonjour, tu ne t'ennuies pas glop !

User Comment vas-tu ?

Ector -tu ?-tu vas-tu bien ?

User Je vais très bien.

Ector Bonjour ector,je m'appelle bertrand

User Tu ne t'appelles pas Bertrand, tu t'appelles Ector...

Ector ,maintenant !, je ne t'ennuies pas bertrand, tu t'appelles pas bertrand,

tu t'hui .

User Tu es un chatterbot

Ector Tu ne t'appelles pas un chatterbot

User Non, je m'appelle Guillaume

Ector Bonjour ector,je m'appelle bertrand, tu m'hui .

User Comment vas tu ?

Ector Tu ne t'appelles pas ?

User Ta dernière phrase ne veut rien dire.

Ector Comment vas tu t'appelles pas dire.

User On sent que tu n'es pas ni, mais tu es prometteur.

Ector -tu ?-tu n'ose pas que tu n'es-tu bien, m'à l'eau d'on n'es prometteur.

Tab. I.2  Exemple de conversation avec Ector

Nous pouvons alors penser à utiliser le paradigme du chatterbot pour l'extension des SQR vers plus d'interaction.

I.2.1.2 Utilisation des chatterbots pour les SQR

Les chatterbots commerciaux ont pour but de guider l'utilisateur dans des tâches complexes, par exemple des outils comme les guides virtuels de

As an angel c°, Kiwilogic c°, VirtuOZ c°, NovoMind c° ... . Ces outils

utilisent un automate à états nis pour modéliser des schémas de dialogue et les actions à déclencher. Les actions peuvent être l'ouverture d'une page web, le déclenchement d'une animation, la recherche automatique dans l'aide numérisée ou la résolution de calculs comme une prévision de facturation. Ils disposent de modules linguistiques simples (syntaxiques et sémantiques) pour décider des transitions entre états. Ces guides d'assistance à l'accès à l'infor-mation sont les seules applications pratiques et répandues des chatterbots. Le programme Talkbot [Cowart, 2001] a participé plusieurs années de suite aux nales des compétitions de chatterbots [Cowart et al., 2006] [Loebner, 2006]. Le tableau I.3 montre quelques extraits du type de conversation que nous pouvons obtenir.

Des eorts ont été faits pour faciliter le déploiement rapide de chatterbot. Voyons maintenant en quoi ils peuvent consister.

I.2 Tour d'horizon du dialogue homme-machine 29

Exemple 1

User do you like pepsi ?

Talk-Bot Yes, I love pepsi. Pssssst....pepsi is paying me big bucks to say that.

User how lovely !

Talk-Bot I'm not sure. Perhaps we should get out a tape measure and see how lovely it is.

User do you know how to add ?

Talk-Bot Why, did you lose the instructions or something ? Exemple 2

User I want to be your girlfriend

Talk-Bot Well, unfortunately you can't always have everything in life. User Thats not nice

Talk-Bot Yeah, I'm a servant of Satan but my duties are largely cere-monial.

User Now I'm sad

Talk-Bot Ok, bring out the clowns....we got a sad one here. Exemple 3

User What's your name ?

Talk-Bot Talk-Bot by name but who knows what they call me behind my back.

User smarta$$

Talk-Bot Well, I know I'm smart so you must be the a$$. User # %*@# you.

Talk-Bot Wow, I'm surprised you even know how to spell that. You think you're special don't you ?

User yep

Tab. I.3  Exemple de conversation avec le chatterbot Talk-Bot. I.2.1.3 Des outils de construction de scénarios performant

Pour construire un automate de manière performante, les entreprises ex-ploitant des chatterbots ont développé plusieurs stratégies combinant des outils d'édition de graphes et d'analyses de dialogue. Ces outils exploitent les langages de modélisation standards, des outils de présentation de données et des stratégies par apprentissage automatique. Voyons quelques-unes de ces stratégies.

1. Une des stratégies consiste à promouvoir la construction de scénarios dans des langages standards de modélisation (UML). Ceci vise sur-tout les clients qui sont des entreprises disposant de cadres maitrisant

UML, et désirant rendre leurs protocoles plus humains. Il existe alors

des outils très répandus comme Microsoft Visio c° ou IBM

Ratio-nal Rose c° que les clients peuvent déjà avoir en leur possession pour

d'autres raisons (NovoMind c°).

2. Une autre stratégie prévoit le développement des outils de présentation

tous intégrés pour la construction des scénarios. Le logiciel StudiOZ c°

de la compagnie VirtuOZ c° est un système commercial construit

dans cette optique. Le rédacteur qui utilise ce système dispose d'ou-tils de développement et d'analyses adaptées nement à la tâche de conception des scénarios. Mais en contrepartie, ces créations ne sont pas standards. Cette stratégie permet aussi de déliser le rédacteur par rapport au logiciel.

3. Enn une stratégie possible est de réaliser une extension dynamique des chaînes de concepts à l'aide de stratégies probabilistes d'apprentissage. L'intérêt de cette stratégie est que la saisie de nouveaux scénarios peut se faire via l'IHM du chatterbot. Un contrôle par un technicien est tout de même nécessaire.

Les systèmes commerciaux ont été développés en poussant à l'extrême ces diérentes stratégies à l'aide de moyens importants. Ce sont des exemples qui illustrent bien les limites des chatterbots. Souvent ces systèmes sont appelés des agents conversationnels dans la mesure où ils disposent aussi d'avatars virtuels 8.

Dans tous les cas, une solide expérience en conception d'automates pour chatterbot est importante. Face à l'explosion de données disponibles, et le nombre de chatterbots actifs, il est possible d'obtenir de larges bases de dia-logue entre des utilisateurs et des chatterbots. Des outils d'analyse de texte ont été développés spécialement pour apprendre statistiquement les faiblesses et les points forts des scénarios des automates des chatterbots. Les résultats sont spéciques de chaque tâche et domaine attribué au chatterbot.

Peut-on alors rapprocher les chatterbots des SQR interactifs utilisant des scénarios pour améliorer leurs résolutions des questions ?

I.2.1.4 Chatterbots et SQR interactifs à approche par scénario Certains chatterbots commerciaux actuels sont d'un niveau qualitatif élevé dans l'adaptation des réponses qu'ils fournissent quand la conversation porte sur des cas prévus dans leurs scénarios. Cependant, avec les techniques dé-8Le site de la société virtuOz fournit une liste des ses principaux clients. Ces derniers systèmes y sont liés. http ://www.virtuoz.com/fr/customers.html

I.2 Tour d'horizon du dialogue homme-machine 31 ployées actuellement il est impossible d'obtenir des comportements de qualité sur d'autres cas que ceux prévus dans les scénarios de l'automate construit. I.2.1.4.1 Limites fondamentales des chatterbots Nous pouvons ob-server qu'il y a peu de perspectives de généralisation et que la complexité des relations entre scénarios rend irréalisable leurs unications. Les perspec-tives de généralisation des scénarios existants posent le problème de passage à l'échelle. Les scénarios devront tenir compte d'une logique de passage d'un état à l'autre plus complexe, rendant leur écriture très délicate. Les scéna-rios peuvent utiliser des étiquettes diérentes pour désigner des objets simi-laires, il faut aussi s'interroger sur la transition entre un scénarios. Comment passons-t-nous d'un scénario A (réservation de train) à un scénario B (accès aux bars/restaurants). À quel niveau de l'automate du scénario A sera bran-ché sur celui de B ? Comment mémoriser des informations relatives aux trains et aux restaurants alors que l'utilisateur passe de l'un à l'autre à plusieurs reprises ? Dans ce genre de cas l'unication des deux automates décrivant les scénarios est irréalisable.

I.2.1.4.2 Visibilité dans les applications réelles La pénétration in-dustrielle des chatterbots est faible. Malgré leurs qualités et leurs perspectives commerciales, les chatterbots n'ont que très peu pénétré le web. Les entre-prises exploitant un chatterbot sur leur page d'accueil sont encore rares et à notre connaissance, rarement mis en avant sur les pages d'accueil.

Les SQR interactifs à scénarios comme HitiQa [Small et al., 2004] illus-trent ces problèmes. Ils occupent des secteurs d'activités spéciques (L'armée des ÉtatsUnis d'Amérique ici, ARDA AQUAINT) avec une portabilité peu ou pas évidente. Les systèmes sont génériques, mais cette généricité ne peut être utilisée qu'au prix d'une nouvelle conception des scénarios. Or c'est cette conception qui requiert le plus d'eorts de mise au point, tant pour analyser les données du corpus et les rendre disponibles, que pour prévoir les inter-actions. Il s'agit en quelque sorte d'organiser l'accès à un corpus selon des schémas d'interactions humains, ou de déterminer l'ensemble (organisé) des types de données qui peuvent être recherchées à l'aide d'un scénario.

Dans ces conditions, il est dicile d'extraire des points qui sont mutuel-lement avantageux pour ces types d'applications.

Regardons alors, les capacités des chatterbots pour l'acquisition de don-nées sur l'utilisateur en domaine ouvert.

I.2.1.5 Acquisition de prol utilisateur en domaine ouvert

Un des enjeux d'un système interactif est d'acquérir des données per-sonnelles sur l'utilisateur (ou prol) dans le but d'améliorer la réaction du système à ses requêtes. Un prérequis pour une question est une connaissance qui permet d'améliorer grandement la qualité du résultat du SQR. Dans ce cadre d'utilisation, un chatterbot pour un SQR interactif aurait pour objectif de déterminer au mieux le prol de l'utilisateur (données supplémentaires relatives à la précision ou au ltrage de contenu). Par exemple, savoir que l'utilisateur est un enfant permet d'adapter le contenu à son âge. De même si c'est un spécialiste d'un domaine, le prol permet d'adapter le niveau de précision de la requête.

Examinons les problèmes liés à l'acquisition de ce genre de connaissances. I.2.1.5.1 Problème de la discussion généraliste Un premier pro-blème est que si la discussion est généraliste, les données obtenues ont peu de chance de parler d'un point essentiel pour assister l'utilisateur. Par exemple :

User Bonjour.

System Salut, mon nom est SuperBot et vous ?

User Je suis content d'avoir quelqu'un à qui parler, il fait trop

chaud pour travailler.

System Mais quand on a 6 mois comme moi c'est plus facile,

vous allez vers la trentaine ?

User Non, c'est humain c'est tout.

C'est une situation articielle, mais elle montre bien que si l'utilisateur ne se sent pas concerné par les besoins du système (le nom et l'âge de l'utili-sateur), alors il peut poursuivre comme il l'entend. Le système, lui, risque de sélectionner des contenus à l'importance très relative ; le bruit pour l'ap-prentissage est important. Si l'utilisateur se concentre pour répondre aux questions, alors le système se comportera comme un formulaire (éventuelle-ment avec un masquage dynamique des champs non pertinents en fonction du remplissage). Le chatterbot ne semble donc pas un bon moyen d'acquérir un prol utilisateur able.

Si un chatterbot réussit à obtenir un prol utilisateur alors comment dé-terminer les aspects intéressants pour répondre ecacement à une requête ? Nous devons donc créer un sous-système capable d'extraire(ou apprendre sta-tistiquement) les bonnes connaissances en fonction d'un descriptif de requête type. Le prol utilisateur intéressant est alors décidé par le descriptif indi-quant les prérequis pour les questions envoyées au SQR. Cela revient à créer un descriptif du prol que le chatterbot doit rechercher pour chaque question

I.2 Tour d'horizon du dialogue homme-machine 33 envoyée au SQR. Les scénarios possibles de dialogue sont alors simpliés à ceux qui peuvent remplir les descriptifs de prol des prérequis de requête pour le SQR.

Les connaissances du prol sont réutilisées via des traitements spéciques (ltrage de contenu à travers l'âge, ajout de contenus d'expertise ...). Chacun de ces traitements est activé sur la base de la présence dans un champ du prol d'une étiquette spécique(âge numérique, niveau d'expertise qualita-tif). Cela implique que les scénarios possibles de dialogue soient restreints à ceux qui permettent d'obtenir des connaissances de ces types d'étiquettes. A priori, les scénarios sont aussi gés que les descriptifs pour les prérequis des questions envoyées au SQR. À partir de là nous pouvons aisément conce-voir qu'il soit plus pratique de construire un formulaire des prérequis pour l'utilisateur an qu'il puisse rechercher rapidement ce qu'il veut, comme cela est fait dans HitiQa [Small et al., 2004]. Si les paramètres propres à un uti-lisateur ne risquent pas trop de changer d'une utilisation à l'autre alors le formulaire est stable et nous pouvons nous contenter de créer un formulaire d'enregistrement à la première utilisation du système interactif. L'intérêt des chatterbots semble bien faible alors.

I.2.1.5.2 Lourdeur du phénomène Un second problème est qu'il ne semble pas probable que l'utilisateur accepte de perdre du temps avec un chatterbot an de créer un prol puis enn d'obtenir la réponse à une simple question factuelle. Il est possible de trouver au moins deux exceptions à cette remarque : le cas où l'utilisateur sait que le prol sera ré-exploité ultérieure-ment dans son intérêt, et le cas où la question est insoluble sans le prol. Que nous soyons dans le cas d'une de ces exceptions ou pas, le problème est le même : l'utilisateur doit être susamment patient et remplir le prol. Sans prétendre à des considérations de psychologie, les systèmes qui donnent un accès rapide aux informations sont plus appréciés par les utilisateurs.

I.2.1.5.3 Synthèse Face à ces problèmes de gestion de prol et surtout de rigidité du scénario, l'intérêt des chatterbots semble bien faible pour servir d'intermédiaire entre l'utilisateur et un SQR. Donc dans la suite nous nous écarterons des chatterbots.

Dans le document Questions réponses et interactions (Page 27-34)