Chatbots : créez votre premier agent conversationnel - Partie 1

Ces derniers mois nous assistons à une effervescence autour des agents conversationnels, aussi appelés chatbots. Un chatbot est un programme avec lequel on interagit via langage naturel, qu’il soit parlé ou écrit. Google a même été jusqu’à intégrer un assistant virtuel au sein même de toutes les conversations qui ont lieu sur sa nouvelle appli de messagerie, Google Allo. Google Assistant, c’est son nom, est un agent auquel il est possible de poser des questions, de faire effectuer des recherches online ou encore de jouer à des petits jeux textuels. Il y a fort à parier qu’il permettra également à l’avenir de réserver des places de spectacle ou encore de restaurant.

Outre celle de Google, toutes les applications de messagerie s’ouvrent petit à petit aux bots via des API : un développeur qui le souhaite peut ainsi créer des bots sur Kik, Skype ou encore sur Facebook Messenger. En Avril dernier, Facebook a annoncé le lancement de la Messenger Platform, un ensemble d’outils permettant à tous les développeurs de créer des chatbots. Nous vous proposons ici de comprendre les étapes nécessaires à création de la base d’un bot via la plateform Wit.

Fonctionnement

Un chatbot sera composé de deux parties principales :

  • La première brique sera un script serveur chargé de recevoir les messages envoyés depuis Facebook Messenger (ou toute autre messagerie) par l’humain, les transmettre à un moteur d’Intelligence Artificielle (IA), et renvoyer une réponse dans la conversation Messenger.
  • La seconde brique sera le fameux moteur d’IA, chargé de comprendre le langage naturel. C’est cette brique qui est au cœur de la démarche de Facebook pour démocratiser l’usage desbots, car elle est de loin la plus complexe.

Ce moteur d’IA est disponible et utilisable entièrement gratuitement à l’adresse suivante :

http://wit.ai .Contrairement à ce que l’on pourrait croire, rien ne bride son utilisation à Facebook Messenger. Elle peut ainsi très bien être utilisée avec tout autre messagerie proposant une API pour envoyer/recevoir des messages.

Voici un schéma représentant le workflow de données lors d’une conversation avec un chatbot

schema-chatbot

Nous nous concentrerons dans la suite de cet article sur la brique d’IA proposée par Facebook afin de comprendre la philosophie de son fonctionnement. Aussi, les exemples resteront volontairement très simples afin de rester aussi concis que possible, mais il faut savoir que dans 99% des cas un chatbot sera sensiblement plus complexe car il devra entre autres interroger des API externes (données Météo, récupération de news, données client,etc…), récupérer et stocker des informations dans une base de données, etc…

Création de l’application

La première étape consiste à créer une application sur Wit.ai que l’on nommera pour notre exemple « LeProgrammeur » et qui sera en langue Française :

create-a-new-app

Nous allons ensuite devoir définir ce que l’on souhaite que notre chatbot soit capable de faire. Ou, autrement dit, à quelles requêtes on veut qu’il soit capable de répondre.

Pour cet exemple nous ne gèrerons que des choses simplistes en décidant que le bot ne soit capable de répondre que lorsque :

  • On le salue
  • On lui demande comment il va

Wit appelle ces différents cas des « stories ».

 

Scénarios et entités

Cliquez sur « Create a story » pour créer notre premier scénario.

Il va maintenant falloir comprendre le concept d’entité qui est au cœur du fonctionnement de Wit. Une entité représente une intention utilisateur comme « saluer », « convertir une devise », « réserver une place de cinéma », « rechercher un article », etc… Et une story sera donc composée de 1 à N succession d’entités.

Voici par exemple une story pour demander la météo à un bot pourrait se faire de la manière suivante :

HumainBot
Quel temps fait-il ?
 A quel endroit ?
A Paris 
 Quand ?
Aujourd’hui 
 Il fait beau à Paris ce jour.

 

Créons maintenant notre première entité.

Pour cela, écrivez « Bonjour » dans le champ « User says… ».

Sélectionnez ensuite le texte avec la souris et écrivez, par exemple, « greetings » dans le champ « Create an entity for « Bonjour » » et appuyez deux fois sur la touche Entrée afin de créer une entité personnalisée.

create-bonjour

En cliquant dans le champ de création d’entité vous verrez que wit propose déjà plusieurs entités déjà éduquées permettant par exemple de récupérer une date, un email, une distance, une somme, etc… Avant de créer une entité personnalisée vérifiez qu’elle n’existe pas déjà dans cette liste.

Comme nous le verrons après, une entité personnalisée aura l’inconvénient de devoir être éduquée par la suite, ce qui n’est pas le cas des entités déjà existantes.

François Dursus

Creative developer, Le LAB SQLI

0 commentaires

votre commentaire

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Inscription newsletter

Ne manquez plus nos derniers articles !