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

Comment faire du business sur Amazon ? [GUIDE COMPLET 2022]

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

Nomad '✨Maker - TOP✨ Ai GENERATOR

T🌴'artistiK -📗 Books and Publications Spotlight | Lulu

Diagnostiquer et récupérer une messagerie piratée | AVG

115 idées de revenus passifs pour obtenir de l'argent pour travailler pour vous en 2021 - Blog Ippei

6 tunnels de vente indispensables pour vendre sur Internet

ai-collection/README.fr.md at main · ai-collection/ai-collection · GitHub

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

Stratégie dropshipping : Les 10 leviers marketing pour votre boutique