Agent conversationnel

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un agent conversationnel est un agent qui dialogue avec un utilisateur. La recherche sur cette Interface Homme-machine est influencée par la compétition sur le test de Turing (1950) : donner l'illusion qu'un programme pense par un dialogue sensé. Un utilisateur est invité à formuler sa demande en langage naturel, elle est affinée par un échange convivial, dont le logiciel interprète une requête opérationnelle pour son système d'information. Un agent conversationnel peut en plus rechercher l'Effet ELIZA. ELIZA, un des premiers chatterbots, simulait un psychothérapeute rogérien, plusieurs personnes en seraient devenues dépendantes sur le plan émotionnel. Les agents conversationnels débordent donc la recherche ou le divertissement, ils mettent en œuvre des connaissances linguistiques, psychologiques, et bien sûr informatiques.

Méthode[modifier | modifier le code]

Un chatterbot est un programme (robot) qui tente de converser avec une personne durant quelques minutes ou plus en donnant l'apparence d'une conversation avec un humain. Il est vrai qu'une bonne compréhension de la conversation est nécessaire à la tenue d'un dialogue sensé, mais la plupart des chatterbots ne s'y essayent pas. Ils repèrent plutôt les mots-clés ou les expressions de leur interlocuteur pour retrouver des réponses préparées ou calculées à l'avance et qui peuvent mener la conversation plus loin d'une manière plus ou moins intelligente, mais sans nécessiter de comprendre de quoi ils parlent. Cette méthode des "mots-clés" a comme défaut majeur de nécessiter une base de données conséquente pour parvenir à livrer des résultats satisfaisants (référence article CodeProject). En effet, les mots-clés que de tels chatterbots reconnaissent sont souvent des sous-expressions couramment utilisées tel que "j'aime" ou "je hais" qui sont utilisées par le programme pour faire un effet d'écho avec la réponse de l'utilisateur. Cependant une telle méthode ne fonctionne que durant un court laps de temps (seulement pour un échange de deux ou trois réponses), après quoi le discours de la machine devient clairement artificiel. Pour combler à cela, les concepteurs de chatterbots rajoutent souvent des expressions complètes (telles que "j'aime le chocolat"), et cela a tendance à rapidement augmenter la taille de la base de données. Généralement, une base de données satisfaisante contient de 5000 à 10000 entrées.

Cependant la méthode ci-dessus ne peut pas se prêter aisément au stockage de données, et c'est une des raisons pour lesquelles beaucoup de chatterbots l'utilisant ne peuvent stocker d'informations sur l'utilisateur avec lequel ils communiquent. Certains programmes cependant essaient d'utiliser de meilleures méthodes de communication. Une méthode permettant l'apprentissage est d'utiliser un système qui se base à la fois sur la méthode de reconnaissance des mots-clés décrite ci-dessus, mais aussi sur un système de reconnaissance des mots et d'analyse linguistique. De tels systèmes lancent généralement l'analyse linguistique sur la phrase entrée par l'utilisateur pour tenter d'en extraire des informations leur permettant de répondre de façon exacte selon des informations stockées en base de données (base de connaissances). Si le processus échoue, ces programmes utilisent la méthode "mots-clés", en utilisant une base de données classique. Cette dernière méthode n'améliore certes pas la taille de la base de données, mais elle permet au chatterbot de traiter de nouveaux cas de langue. Par exemple, avec la méthode des mots-clés si la base de données contient une entrée "WHO IS THAT" et que l'utilisateur entre "WHOS THAT", le robot a toutes les chances de ne pas répondre juste, tandis qu'avec une analyse de l'entrée utilisateur, il est susceptible de répondre à la question.

Le fait que les chatterbots ne comprennent pas l'information qu'ils traitent est d'ailleurs la raison pour laquelle on classe généralement les agents conversationnels dans le type de l'IA faible. L'IA faible est une IA qui cherche à imiter le comportement humain (la conversation notamment), le langage naturel, mais sans chercher à comprendre le sens de l'information qu'elle traite. C'est la majeure différence avec l'IA forte, qui, elle, vise à simuler une véritable compréhension de l'information.

Historique[modifier | modifier le code]

Les premiers chatterbots ont été ELIZA, PARRY, et SHRDLU.

ELIZA fut créé en 1966. Elle avait été créée par Joseph Weizenbaum, du Massachusetts Institute of Technology (MIT), et ne prenait que 3 pages en langage SNOBOL. Elle faisait grand usage de la technique de l'écholalie.

  • Elle commençait par poser une question neutre (Bonjour. Pourquoi venez-vous me voir ?) à la personne testée, puis analysait à chaque fois la réponse pour tenter de reposer une question en relation avec celle-ci.
  • Si une question lui était posée, elle demandait pourquoi on lui posait la question
  • Si une phrase contenait le mot computer, elle demandait : Dites-vous cela parce que je suis une machine ?
  • etc.

Des concours de chatterbot sont organisés chaque année pour promouvoir l'émulation dans ce domaine. Actuellement, on assiste à la naissance de nombreux chatterbots, en partie grâce au Prix Loebner, qui essaye d'être une sorte de test de Turing. Lors de ces concours, afin d'évaluer les chatterbot, le jury peut dialoguer soit avec un humain soit avec une chatterbox à travers une interface clavier/écran. Au bout d'un certain temps, le jury doit évaluer si le candidat testé est une machine ou pas.

Les chatterbots les plus audacieux sont ceux qui tentent d'extraire des connaissances de leurs conversations comme ECTOR (en anglais, learning bots), mais ce sont aussi ceux dont les résultats sont actuellement les moins impressionnants.

Applications commerciales[modifier | modifier le code]

Depuis quelques années, les agents conversationnels fleurissent sur internet et les sociétés qui en profitent sont maintenant légions. Le support client et le télémarketing sont les cibles privilégiées de ces nouveaux venus du web[1].

Cependant, il faut noter que ces agents-là ne veulent pas leurrer les utilisateurs, ils sont spécialisés dans un sujet particulier (vente d'un produit particulier, support client d'une entreprise particulière) et se contentent simplement de recentrer la conversation dès que celle-ci s'en éloigne. Ils sont néanmoins dotés, dans la plupart des cas, d'un protocole social qui les rend plus "humains".

Pièges[modifier | modifier le code]

Voici quelques pièges (souvent faciles à déjouer) grâce auxquels le jury peut deviner si le candidat est une chatterbox ou non :

  • Demander combien fait 7×410/4.3 : si le candidat répond trop vite, il ne fera aucun doute qu'il est une chatterbox. Mais la plupart des chatterboxs simulent justement des temps de réflexion variables.
  • Tenter de provoquer une réaction en déclarant quelque chose d'incroyable, bien que la réponse évidente soit : Pourquoi changez-vous brusquement de sujet ?
  • Demander (par exemple) ce qui d'un avion à réaction ou de l'index de l'utilisateur est le plus gros. Un chatterbot ne réussira pas à répondre alors que c'est évident pour un candidat humain.
  • Faire appel à de la perception visuelle, par exemple "Si je retourne la lettre W, quelle autre lettre obtiens-je ?"

Techniques pour leurrer le jury[modifier | modifier le code]

  • Essayer de simuler un suivi de conversation.
  • Être très imprévisible.
  • Éviter les questions incomprises : par exemple, en répondant "patientez quelques instants, il y a quelqu'un à la porte".
  • Séduire l'utilisateur avec l'interface féminine.

Notes et références[modifier | modifier le code]

  1. Article sur Eco89, http://eco.rue89.com/2008/12/01/e-commerce-des-androides-au-service-des-clients

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]