Agent conversationnel

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

Un agent conversationnel ou chatbot 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 lui donnant l'impression de converser elle-même avec une personne. Une bonne compréhension de la conversation serait utile pour tenir un dialogue sensé, mais la plupart des chatterbots ne s'y essayent pas. Ils repèrent surtout quelques mots dits déclencheurs, voire des expressions de leur interlocuteur, pour retrouver des réponses dont le schéma est programmé 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.

Par exemple dans le cas d'ELIZA, la présence du mot "père" (ou "mère") dans une phrase du sujet était associée à une réponse : « Pouvez-vous me parler un peu de vos relations avec votre père (mère) ? ». Des indicateurs sont en général positionnés pour que le même type de réponse ne soit pas utilisé plus d'une fois.

Cette méthode des "mots-clés" a comme défaut majeur d'exiger une base de données importante pour donner des résultats satisfaisants (référence article CodeProject), bien qu'ELIZA ait tenu en 5 pages de SNOBOL. 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 déteste...", qui sont utilisées par le programme pour faire écho au propos de l'utilisateur ("Depuis quand aimez-vous... ?", "Quelqu'un d'autre dans votre famille aimait-il... ?). Cette méthode ne fonctionne que peu de temps (typiquement deux ou trois réponses, rarement plus de dix), avant que le discours de la machine soit perçu comme 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 fondé à la fois sur la méthode de reconnaissance des mots-clés décrite ci-dessus et 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. La frontière entre les deux est floue, par exemple avec des applications comme SIRI.

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 ?"
  • Donner une information dans une phrase, puis rendre cette information indispensable dans la phrase suivante, car les logiciels de conversation n'ont généralement pas d'apprentissage.

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]