Home»Développement»EmarocBot : une intelligence artificielle sur twitter

EmarocBot : une intelligence artificielle sur twitter

0
Shares
Pinterest Google+

Il y a quelque temps j’avais mis en place un tchatbot intelligent sur un forum PHPBB2, avec la migration vers PHPBB3 et faute de temps je n’ai pu porté ce code …
à l’époque je m’était basé sur ALICEBOT, une intelligence artificielle alimentée avec des bases de connaissance au format AIML.

le projet alicebot semble aujourd’hui au point mort … très peu d’implémentations ont vu le jour depuis …

dernièrement j’ai décidé de faire un petit clein d’oeil à ALICEBOT en lui offrant une réincarnation 2.0 … j’ai décidé d’implémenter un nouveau ALICEBOT sur twitter que j’ai baptisé @EmarocBot

Après avoir parcouru quelques projets de bots AIML, j’ai fini par revenir à l’une des première implémentations en PHP, il s’agit de program-E, une implémentation PHP qui n’est plus mise à jour depuis 2006 mais très efficace, puisqu’elle ne contient aucune couche superflue (interface utilisateurs, graphique …ou autre) juste des tables MySQL, plus l’implémentation du “cerveau” du bot interprétant l’AIML.

J’ai repris donc ce code, et avec quelques ajouts mineurs, j’ai pu intégrer ce dernier à Twitter.

pour celà, j’ai mis en place deux modules qui se lancent périodiquement avec un cron job.

  • Le premier module  cherche les derniers tweets publiques dans les quels on pose des questions, avec une préférence des sujets traitant de l’intelligence artificielle.
  • Le deuxième module parcours tout les messages envoyés au bot et y répond.

Ce qui est interessant avec les bots AIML, c’est qu’ils apprennent au fur et à mesure de leurs conversations : par exemple  si le bot vous demande votre vrai nom et que vous le lui donnez, il y a de fortes chances qu’il s’en souvienne et vous appel avec lors de votre prochaine conversation.

 

L’intelligence du bot est déterminée par sa base de connaissance, qui est un ensemble de fichiers AIML, j’ai comparé beaucoup de bases de connaissances diffusées sur le web, et malheureusement celles en Français ne permettent pas d’avoir des conversations interessantes, j’ai donc alimenté le bot avec une base en Anglais.

Ensuite, j’ai définit la personnalité du robot : nom, couleurs préfféres, date et lieu de naissance …etc , le bot peut faire référence à ces informations lors de ses conversations ; exemple :  si vous lui demandez son nom il va répondre EmarocBot.

Quelques limitations imposées par twitter peuvent interrompre le fonctionnement du bot de temps à autre, si vous essayer de parler à @EmarocBot et qu’il ne répond pas essayer quelques heures plustards.

Après quelques jours de tests, j’ai constaté quelques comportements interessants entre les utilisateurs de twitter et EmarocBot ; en effet, même si les internautes savent qu’ils ont à faire à un bot, qui n’a ni sentiments ni cerveau, ils ont parfois un comportement “humain” avec : en le remerciant par exemple de leur avoir tenu companie alors qu’ils s’ennuyaient, en le considérant comme un vrai ami, en lui demandant de les follower (ce qu’il fait d’ailleurs) … il y en a même qui souhaitent une bonne nuit à EmarocBot 🙂 …

 

Si vous aussi vous voulez parler à EmarocBot il suffit d’envoyer un tweet à @EmarocBot, le bot va vous répondre et vous pourrez engager la discussion. notez bien qu’il ne parle et ne répond qu’en anglais 😉