CHATTERBOTS.FR

CHATTERBOTS.FR



Qu'est ce qu'un agent conversationnel ?



Un agent conversationnel, ou chatterbot, est un programme qui a pour but de simuler une conversation naturelle. Dans la fiction, on peut citer HAL, dans 2001 : odyssée de l'espace, le MCP dans Tron ou Lisa dans la série Code LISA.
L'un des premier chatterbot fut Eliza, un programme qui essayait de jouer le rĂŽle d'un psy.
C'est d'ailleurs une constante qu'on retrouve souvent chez ces programmes. MĂȘme chez le plus basique, le programmeur a souvent intĂ©grĂ© une rĂ©ponse pour des phrases comme "je suis triste" ou "j'ai besoin de parler".
La plupart des chatterbots actuels, qu'ils soient amateurs ou professionels, fonctionnent avec une liste de questions/réponses, un peu comme ça:
SI l'utilisateur tape "bonjour"
ALORS répondre "Salut !"./


C'est un fonctionnement trÚs basique, qui demande d'entrer plusieurs milliers de possibilités pour réussir à soutenir une conversation simple.
Rien que pour la salutation, il faut prévoir une vingtaine de possibilités : Bonjour, bonsoir, salut, coucou, slt, lu, salu, toc toc, kikoo, bjr, plop, etc.

Il est évidemment impossible de prévoir toutes les phrases possibles. La solution est de réagir à des morceaux de phrase.
Par exemple :
Si l'utilisateur tape "fromage"
alors répondre soit "Moi j'adore le fromage !", "Le fromage ça pue."

Ce qui donnera quelque chose comme :
"Je vais bouffer du fromage je reviens
-Moi j'adore le fromage !""

Une autre technique pour varier les réponses consiste à reprendre une partie de la phrase de l'utilisateur.
Si l'utilisateur tape "je vais X"
alors répondre soit "Pourquoi tu vas X ?", "Tu vas souvent X ?"

Ca donne parfois des bons résultats :
"Je vais Ă  la piscine.
-Pourquoi tu vas Ă  la piscine ?"


et des mauvais :
"Je vais bouffer du fromage je reviens
-Pourquoi tu vas bouffer du fromage je reviens ?"

Au programmeur de faire attention, par exemple en inversant les pronoms (ce qui n'est pas si Ă©vident) ou en se limitant Ă  un seul verbe.


La technique d'Eliza était de répondre à une question par une autre :
"Qui es tu ?
-PréfÚres-tu que je sois ou que je ne sois pas ?
-Non, je m'en fous.
-Pourquoi es tu si négatif ?"


Associé (ou non) à ce systÚme de détection de morceaux de phrases pré-programmées, un chatterbot peut utiliser d'autres systÚmes, par exemple :

-RĂ©utiliser des phrases de l'utilisateur :


"Bonjour.
-Bonjour.
-Ca va ?
-Ca va ?
-ArrĂȘte de rĂ©pĂ©ter tout ce que je dis !
-ArrĂȘte de rĂ©pĂ©ter tout ce que je dis !"

Puis, lorsqu'on le réutilise :

"Bonjour.
-Ca va ?
-Oui ca va et toi ?
-Oui ca va et toi ?
-Ca va ?
-ArrĂȘte de rĂ©pĂ©ter tout ce que je dis !"


Ce type de systĂšme a plusieurs dĂ©fauts : tout d'abord, il n'y a aucune notion de contexte. Une rĂ©ponse peut ĂȘtre valable lorsqu'on parle d'un sujet mais ne plus ĂȘtre valable pour un autre. Ensuite, les utilisateurs peuvent souvent du coq Ă  l'Ăąne, sans se soucier de rĂ©pondre Ă  la question posĂ©e par le robot. Autre chose, le robot n'a pas de personnalitĂ© propre, il peut se retrouver avec plusieurs sexe et Ăąges diffĂ©rents. Enfin, les robots fonctionnant de cette façon finissent souvent pas ĂȘtre trĂšs vulgaires....

Certains utilisent des "ChaĂźne de Markov", comme Megahal (Ă  tester sur irc.ogamenet.net #tfr) et de Pyborg
Cela permet de générer des phrases gramaticalement en détectant quels mots se rassemblent entre eux, en réutilisant de smots présents dans la question de l'utilisateur.

Il en ressort souvent des choses interressantes, générées par le bot, avec un sujet verbe complement bien à sa place.
Par exemple :
"C'est l'heure de manger.
-Rien de plus en service actuellement, nous regrettons de ne pas te manger."
Jabberwacky, utilisant un systĂšme similaire, aurait appris le français tout seul, ce qui est trĂšs impressionant. Par contre, il peut changer de nom et d'Ăąge au cours d'une mĂȘme conversation.

-Construire une base de connaissance :

Pour rĂ©pondre Ă  des questions du type "combien une hirondelle a-t-elle de pattes ?", plutĂŽt que d'imaginer chaque question, il peut ĂȘtre plus rapide de crĂ©er une base de donnĂ©e avec des attributs du type : hirondelle=>oiseau, oiseau=>deux pattes. C'est ce que fait MylĂšne ou le systĂšme de Patrice Dargenton.
C'est un travail énorme, qui ne sert qu'à répondre à des questions piÚges. Ce n'est pas parce qu'un programme est capable de faire des syllogisme qu'il peut mener une conversation.

A noter qu'il existe une base de connaissance open source, Cyc".

Commentaires

Posts les plus consultés de ce blog

TOP outils de rĂ©fĂ©rencement gratuits qui valent la peine d'ĂȘtre utilisĂ©s en 2023

Les outils de rĂ©fĂ©rencement gratuits qui valent vraiment la peine d'ĂȘtre utilisĂ©s

Changement de domaine en 2023 : tout ce que vous devez savoir

Chatbot Dialogflow : Tutoriel NoCode NLP pour les spĂ©cialistes du marketing | Landbot

Revenu passif : idées pour gagner de l'argent (en dormant)

Meilleurs outils de rĂ©fĂ©rencement 🛠 organisĂ©e par Saijo George

La toolbox du growth hacker 💎 - Outils - Growthhacking.fr | CommunautĂ© française de growth hacking

Comment signer avec une maison de disques ? Voici notre guide ultime pour 2024

100 outils pour lancer sa startup sans argent (mais pas sans talent)