chatbots, by VISEO
LinkedIn Google Plus Twitter Email

Chatbots: A quoi servent ces agents conversationnels?

Et comment développer un chatbot?
01 Décembre 2016

Jean-Philippe Encausse, développeur VISEO, apporte une réponse précise et technique

Tout ce que vous avez besoin de savoir sur les chatbots sont dans cet article rédigé par Jean-Philippe Encausse, développeur VISEO Techno.

Découvrez Jean-Philippe Encausse, auteur de cette analyse sur les Chatbots, dans cette interview à lire par ailleurs.

Depuis plus de 50 ans, un des fantasmes de l’informaticien est de créer une intelligence artificielle avec laquelle il sera en mesure de converser… Souvenez-vous du film « WarGames » (1983) dans lequel un ordinateur déclenche une guerre nucléaire, ou « IronMan » qui discute avec son assistant Jarvis. Pour ma part, je me suis lancé en 2012 sur SARAH inspiré de la série TV « Eureka ». Le film « Her » est aussi une anticipation très inspirante. Ce rêve est en passe de devenir une réalité avec les avancées réalisées en matière de Deep Learning et d’analyse du langage naturel (voir notre centre de R&I par ailleurs à ce sujet). C’est une des raisons pour lesquelles nous voyons apparaître de plus en plus d’agents conversationnels ou de robots.

Mais tout d'abord, qu’est ce qu’un bot?

Un agent conversationnel est un programme ayant la capacité de dialoguer via des interfaces textuelles ou vocales. 

Il peut être plus ou moins complexe, animé par des humains (Mechanical Turk), un moteur de règles ou une intelligence artificielle allant chercher des informations dans des bases de connaissances (comme Wikipedia ou métier).

Il peut être proactif, ne pas simplement répondre à des questions mais aussi interroger l’utilisateur au moment opportun de la journée.

Bref, rien de nouveau!

Dès 1964, Joseph Weizenbaum écrivait le programme ELIZA qui s’amusait à jouer les psychothérapeutes en reformulant les affirmations des patients en questions. Bluffant pour l’époque, il posait la question du test de Turing:

Le critère de pouvoir parler avec un humain sans qu’il se rende compte qu’il a affaire à un ordinateur a été posé en critère d’intelligence artificielle.

Le protocole IRC date de 1988, c’est l’ancêtre des «salons de discussion». Déjà à l’époque il était possible d’envoyer des commandes textuelles pour déclencher des scripts (des bots).

En 1995, ALICE va populariser le langage AIML qui simplifie l’écriture de la conscience d’un agent conversationnel. Ce n’est plus du code mais du XML qui est utilisé pour décrire les réponses du bot et rendre plus accessible la technologie.

Dans les années 2000 les premiers services SaaS permettent la création de Bot souvent assistant de page web et levier marketing pour les marques. Le site ChatBot.org en recense plus de 1200 !

Mais avançons, en 2006 Violet sort le Nabaztag qui d’une part va personnifier un bot dans un objet physique (comme Furby). Et d’autre part, fournir une API de synthèse vocale puis plus tard de reconnaissance vocale aux développeurs.

En 2008, des chercheurs ont fait le travail d’annoter un énorme corpus de texte permettant à l’ensemble de la communauté scientifique de travailler sur de nouveaux algorithmes d’analyse du langage naturel ce qui a entraîné une nouvelle vague de ChatBot.

En 2010, c’est l’arrivée de SIRI qui paradoxalement freine considérablement le sujet ChatBot (ce saut de technologie à du décourager plus d’un chercheur). Apple utilise une approche Deep Learning (réseaux de neurones) complètement différente. C’est aussi à cette époque que IBM Watson gagne au Jeopardy.

Puis tout s’accélère, dans les grandes lignes:

  • Septembre 2012, première version de SARAH reposant sur Microsoft Kinect
  • Novembre 2014, Amazon présente Echo, un objet physique ! communicant en Anglais uniquement
  • En 2015 un nouveau dataset de données annotées est fourni à la communauté améliorant à nouveau l’ensemble des algorithmes
  • En 2016 Facebook présente Messenger (pour contourner Google) sur les traces de WeChat (2011) en Asie.

C’est une révélation ! Les gens passent un temps considérable sur un media (et donc une app) ou les marques sont totalement absentes !

C’est ainsi qu’un alignement des planètes se fait entre des technologies enfin fiables et des consommateurs (et non plus des geeks) qui utilisent intensivement les outils de discussions.

A quoi ça sert?

Pour certaines personnes les bots vont remplacer toutes les applications mobiles. C’est un petit peu extrême! En fait, il est important de comprendre que les bots proposent une nouvelle ergonomie qui vient en complément des appspour fournir une expérience utilisateur plus simple ou plus fluide.

Il peut intervenir a tout les étapes d’interaction avec des clients BtB ou BtC.

Consider: Les « FanBots » qui engagent déjà une audience ont naturellement beaucoup de succès. Par exemple, Disney fait parler les personnages de Zootopia pour le lancement du film éponyme. De même les « Gaming Bot » fonctionnent très bien par leur côté simple et ludique. On y retrouve les mécaniques des MUDou livres dont vous êtes le héros.

Evaluate: Le bot peut intervenir pour faciliter la demande d’un devis, faire une recherche de produit / service / hôtel / train. Il peut conseiller ou devenir coach.

Buy: Il intervient lors du processus d’achat pour réserver un hôtel ou un vol, commander un repas, faire livrer des fleurs… Dans le cas de PizzaHut, 40% des utilisateurs payent directement dans l’application et 50% vont jusqu’au bout du processus de commande. La prise de commande (après la première) prend moins d’une minute. Avec la reconnaissance vocale, des outils comme Amazon Echo permettent une prise de commande sans les mains et surtout sans ce mobile aux interfaces compliquées.

Care: Le care est le sujet qui revient plus régulièrement. Le bot est souvent utilisé pour masquer tous les outils 1.0 «adminsitratifs». Il permet d’humaniser une FAQ, faire le suivi de livraison, SAV, ou d’une réclamation.

Comment ça marche?

Le principe est de développer un programme avec le comportement suivant:

 

-Réception d’un flux audio et conversion en texte
-Réception d’un flux texte
-Compréhension du langage naturel (NLP ou NLU)
-Détection de l’intention (réserver un voyage, acheter un produit, se renseigner sur un sujet, …
-Détection des entités (Marques, Villes, Quantités, Mesures, Catégories, Dates, …)
-Traitement de l’action à effectuer
-Emission d’une réponse
-Vocalisation de la réponse

Continuez votre lecture sur le blog pour tout comprendre au fonctionnement technique d'un chatbot: architecture, backend, ergonomie, etc...