24
Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN. IUT DIJON | DEPARTEMENT INFORMATIQUE Livrable 1 : Dossier rédigé PROJET CHATBOT

Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

0

Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN. IUT DIJON | DEPARTEMENT INFORMATIQUE

Livrable 1 : Dossier rédigé PROJET CHATBOT

Page 2: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

1

TABLE DES MATIERES

0. RÉSUMÉ DU DOCUMENT ................................................................................................................................ 2

1. INTRODUCTION ..................................................................................................................................................................... 2

1.1. Qu’est-ce qu’un chatbot ? ..................................................................................................................................... 3

1.2. Depuis quand existent les chatbots ? .................................................................................................... 8

1.3. Besoins du « client » et objectifs du projet ........................................................................................ 9

2. ETUDE ARGUMENTEE DE L’EXISTANT ET DES SOLUTIONS PROCHES ............. 10

2.1. Etude de l’existant ..................................................................................................................................................... 10

2.2. Etude argumentée et comparative de solutions dans le domaine des agents conversationnels ............................................................................................................................................... 11

2.2.1. Les acteurs importants ............................................................................................................................................ 11

2.2.2. Etude comparative ................................................................................................................................................... 13

2.2.3. Etudes sur le domaine du chatbot ................................................................................................................ 15

3. PRESENTATION DES TECHNOLOGIES CHOISIES ET JUSTIFICATION ................. 17

3.1. Introduction ....................................................................................................................................................................... 17

3.2. Fonctionnement .......................................................................................................................................................... 17

3.3. Avantages ............................................................................................................................................................................ 18

3.4. Annexe .................................................................................................................................................................................... 19

3.4.1. Extraction d’entités et d’intentions ................................................................................................................ 19

3.4.2. Apprentissage .............................................................................................................................................................. 19

3.5. Etude argumentée des avantages / inconvénients des API chatbot sous forme d’un tableau ........................................................................................................................................................... 20

4. SOURCES ET SUPPORTS ........................................................................................................................................... 23

Page 3: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

2

0. RÉSUMÉ DU DOCUMENT

Le présent document consiste en la formulation synthétique de l’ensemble des aspects du projet réalisé. Celui-ci définit explicitement et de manière concise le sujet, le besoin du « client », M. Nicolle et contient un comparatif des solutions pouvant être exploitées pour réaliser un agent conversationnel, différents éléments contextuels les concernant ainsi qu’une étude approfondie et comparative entre différentes interfaces de programmation, dont celle-retenue par le groupe avec l’accord de M. Nicolle au cours de réunions, rasa.ai.

1. INTRODUCTION

Le projet Chatbot consiste à la création d’un « chatbot », autrement appelé agent conversationnel en français. Nous verrons ce qu’est précisément un chatbot dans la partie suivante.

Les chatbots sont des avancées technologiques en pleine expansion aujourd’hui et pourraient bien être, dans le futur, au centre de la partie e-marketing des entreprises partout dans le monde. En effet, ils pourraient faire office de successeurs/partie essentielle aux sites internet « basiques ». Ce dernier est donc destiné à être intégré au site web du client et à être utilisé comme une interface.

Un point intéressant du projet est que nous en sommes en quelques sortes la définition. Le chatbot doit bien sûr être totalement fonctionnel à la fin du projet, c’est-à-dire qu’il doit être capable d’analyser les mots clés d’une question pour donner une réponse suffisamment claire et précise pour que le client du site web sur lequel sera implémenté le chatbot soit satisfait. Une fois une telle version atteinte, il nous sera possible de continuer à améliorer notre chatbot pour qu’il puisse développer une compréhension de plus en plus avancée.

D’un point de vue fonctionnel, le chatbot devra être capable d’effectuer une séquence d’actions bien précise. La première étape est d’analyser la question, ou la requête, que l’utilisateur aura posée. Il devra être capable de déterminer la nature des différents mots (sujet, verbe, adjectif, complément, …), d’en extraire une entité précise (le nom, possiblement agrémenté d’un ou plusieurs adjectifs et compléments), et de la traduire en entité informatique grâce à l’API choisie (voir partie 3). Une fois cela fait, le chatbot devra envoyer une requête à « dbpedia », un wiki spécialisé dans le traitement de la langue pour les intelligences artificielles. Dans celle-ci, il devra vérifier que le mot recherché existe dans la base de données puis, si c’est le cas, extraire une définition, des traductions dans d’autres langues (avec les drapeaux associés à ces langues), des synonymes, des mots apparentés, et enfin les domaines dans lesquels le mot est utilisé. Si le mot n’existe pas, le chatbot devra rechercher des mots apparentés à la recherche d’origine puis reproduire la séquence d’actions précédente avec le mot le plus proche trouvé. Enfin, à partir du résultat de cette requête, il devra formuler une réponse retournant toutes les informations demandées.

Si le temps le permet, les fonctionnalités supplémentaires facultatives suivantes pourront être travaillées :

• Mettre en ligne le chatbot avec l’aide d’un ingénieur extérieur au projet (nécessite un produit fonctionnel et commercialisable).

• Travailler la compréhension des phrases entrées par l’utilisateur, notamment les subtilités de la langue comme les négations.

Page 4: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

3

1.1. Qu’est-ce qu’un chatbot ?

Un chatbot est un robot logiciel pouvant dialoguer avec un individu ou consommateur par le biais d’un service de conversations automatisées effectuées en grande partie en langage naturel. Le chatbot utilise à l’origine des bibliothèques de questions et réponses. Cet outil est aujourd'hui très utilisé sur Internet par les services clients de marques ou de commerçants en ligne à travers la messagerie instantanée.

Les bots repèrent les mots-clés et répondent grâce à des réponses pré-enregistrées qui, elles, ont été conçues par les humains. Les chatbots ne sont pas totalement autonomes, et l’humain reste pour l’instant au cœur de ce commerce conversationnel. Cette intelligence artificielle se doit d’être préalablement entraînée par une équipe, et doit être constamment supervisée et contrôlée. Ils suivent des règles conçues par les développeurs. En d’autres termes, les bots réalisent des actions indépendantes entre elles, généralement basées sur le principe suivant : « SI [une requête précise], ALORS [une réponse précise] ». A savoir que les réponses d’un chatbot restent limitées, et les sujets plus délicats ne peuvent être traités facilement.

On peut distinguer 3 composants dans un chatbot :

L’interface utilisateur, à travers laquelle les utilisateurs peuvent interagir avec le bot. Il peut s’agir de Messenger, Slack, une application de SMS ou simplement d’un site web.

Le moteur, qui traite les messages des utilisateurs et qui fonctionne sur le même principe que nos autres back-end1, avec une base de données pour stocker les données des utilisateurs, des appels à des services externes, etc

Le moteur de Traitement Automatique du Langage Naturel (NLU), qui transforme les entrées des utilisateurs en actions exécutables par le moteur

1 Back-end : Application d’arrière-plan qui n’interagit pas directement avec l’utilisateur (« Partie immergée de l’iceberg »).

Les diagrammes ci-contre et ci-après montrent comment un chatbot basique analyse une entrée texte par un humain (interlocuteur) et construit une réponse.

Page 5: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

4

Durant ces dernières années l’intelligence artificielle n’a cessé de se développer. Ainsi, des études prédisent l’arrivée de « bots » dans les foyers courant 2020.

Ils sont déjà très utilisés dans trois domaines bien précis.

- La relation avec le client afin de répondre au plus vite à ses questions. - L’augmentation du potentiel de l’e-commerce en créent un nouveau canal de vente. - Améliorer l’accès à l’information et répondre aux problématiques au sein des

entreprises.

Page 6: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

5

A. Les IA

Le chatbot est donc une association de deux technologies entre le « Messaging », qui est apparu ces dernières années avec les messageries instantanées comme Messenger, Snapchat, WhatsApp, etc., et l’explosion de l’intelligence artificielle développée par les grosses compagnies comme Facebook, Google ou par de grands hommes comme Elon Musk. Enfant de ces derniers, le chatbot est né, et aujourd’hui des API2 sont disponibles en libre accès un peu partout sur internet.

Depuis 1950, les méthodes de vente ont évolué. Au début, la vente à distance se faisait par téléphone. Puis, l’apparition d’internet a révolutionné le marché. Enfin, quelques années plus tard, les smartphones s’utilisent de pair avec internet. Aujourd’hui, soucieux de chercher toujours plus rapide, d’assister, de guider mais surtout afin de mieux influencer le client, nous cherchons une manière de parler avec lui comme s’il le faisait avec ses amis sur une messagerie instantanée, tout en l’assistant dans son choix d’achat.

2 Interface, définie par un ensemble de méthodes et fonctions, vouée à faciliter la mise en place d’un programme, sans avoir à partir de 0. C’est en quelque sorte une bibliothèque facilitant le codage.

Page 7: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

6

Les chatbots parmi les IA

Un chatbot peut être identifié comme une IA, mais attention, il en existe plusieurs types qui sont classés par le niveau des réponses qu’ils peuvent donner.

Comme décrit plus haut, suivant le niveau de l’IA, le bot n’est pas qualifié de la même manière. Le chatbot se situe donc entre un simple bot et un assistant personnel. Il est capable de répondre de manière convenable en faisant appel à des applications et API tierces. Mais alors qu’apporte-t-il ?

B. Que faire d’un chatbot ?

Pour les sites web commerçants, il peut être utilisé dans les trois phases d’un achat.

Avant l’achat, il va conseiller le client sur le produit le mieux adapté à son besoin. Aussi, il aura la possibilité d’informer le client en temps réel sur la nature et la disponibilité en stock des produits.

Pendant l’achat, dans le cas d’une rupture de stock d’un produit, il pourra rediriger le client vers le meilleur produit substituent. Nous pouvons aussi imaginer qu’il prenne et gère les commandes ou réservations d’un magasin ou d’un hôtel.

Après l’achat, pas de délai de réponse aux questions à propos de sa commande, tout est en instantané. Possibilité de fidéliser le client ou encore de le réengager. Le chatbot peut même gérer des retours et remboursements, mais uniquement de très faible importance. On peut d’ailleurs noter une hausse de feedback client avec l’utilisation d’un chatbot.

Nous nous sommes placés dans le cadre d’une relation : Client Chatbot Commerce, mais nous pouvons aussi imaginer une relation : Collaborateur 1ChatbotCollaborateur 2

Dans ce cas, le chatbot du collaborateur 2 aura pour but d’aider le collaborateur 1 à trouver une solution à un problème, à augmenter sa productivité ou encore à maximiser sa gestion.

Page 8: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

7

C. Fonctionnement et avantages

Le chatbot peut avoir différentes formes d’interactions avec l’homme. Parmi elles, nous référençons les suivantes.

Les entreprises munies d’un chatbot ont pu observer un gain de productivité de leur SAV, l’amélioration de leurs services, et donc, par conséquent, de l’image de la marque elle-même auprès de ses clients. Elles remarquent également un impact sur leur fonction RH, et enfin une augmentation de leur profitabilité, mise en avant par une augmentation du chiffre

d’affaire de l’entreprise.

Plusieurs avantages sont à tirer pour l’entreprise. Ne serait-ce que dans la réponse à leurs clients, qui est effectuée automatiquement, dans un délai presque inexistant. A la fois le client et l’entreprise gagnent du temps.

Page 9: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

8

1.2. Depuis quand existent les chatbots ?

L’un des premiers chatbots, contrairement à ce qu’on pourrait penser, est apparu il y a presque 60 ans. La première personne à s’être intéressé dans le domaine des chatbots est Alan Turing, mathématicien et cryptologue. En 1950, dans le domaine de l’intelligence artificielle, il propose un test encore très populaire aujourd’hui : le test de Turing. Celui-ci permet de juger la faculté d’une machine à imiter une conversation humaine. Un robot passe le test de Turing s’il est considéré comme un humain 30% du temps pendant un échange de 5 minutes ou plus.

Le premier robot à avoir approché le test de Turing est « ELIZA », créé par Joseph Weizenbaum en 1960. Ce programme transformait les affirmations des patients de psychothérapeutes en questions. Le bot leur adressait ensuite une réponse grâce à un système de reconnaissance de mots clés et de réponses préenregistrées. C’est la première fois que des utilisateurs ont pu ressentir un attachement pour un robot.

En 1995, l’un des bots les plus récompensés de l’histoire, ALICE, fut développé par Richard Wallace. Ce bot était doté de nouvelles capacités comme un système d’identification et était capable de déterminer la personnalité de ses interlocuteurs. De nos jours, ce programme reste une référence en matière de chatbots. Cependant, on attend encore aujourd’hui un robot qui pourra tenir une conversation quelconque avec un être humain sans qu’on puisse déterminer sa réelle nature d’automate.

Aujourd’hui, la plupart des chatbots sont développés dans le but de gérer les relations entre une compagnie et un utilisateur (BtoC, Business to Consumer). En général, ils sont conçus pour améliorer l’expérience des utilisateurs, et souvent dans l’intérêt de générer un profit dans une entreprise. Mais ils peuvent également être très bénéfiques aux personnes ayant des difficultés dans l’utilisation d’outils numériques. D’après une récente étude publiée par Gartner, ¼ des foyers des pays développés utiliseront un chatbot d’ici 2019.

Page 10: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

9

1.3. Besoins du « client » et objectifs du projet

M. Nicolle souhaite faire réaliser un agent conversationnel (chatbot) plus performant que l’existant. Le chatbot doit en effet être capable de déterminer la nature des différents mots dans une phrase venant d’un utilisateur. Celui-ci devra ensuite identifier les noms dans la phrase, puis extraire ces noms en entités. Si le chatbot est capable de cela, il devra ensuite envoyer une requête à DBPedia3 , afin d’obtenir une définition des entités analysées ou éventuellement des traductions. Le chatbot devra être capable d’utiliser des mots apparentés pour donner la définition d’un mot proche si le mot employé par l’utilisateur n’est pas présent dans la base de données DBPedia.

L’agent conversationnel doit ainsi répondre à un utilisateur en donnant la définition d’un mot qui a été demandé par ce dernier : l’utilisateur pose une question sur un mot, « qu’est-ce qu’un fruit » ; le chatbot analysera cette phrase, comprendra que « fruit » est un nom appartenant à une entité préalablement déclarée, puis le chatbot devra répondre à l’utilisateur en donnant une définition de « fruit » venant de DBPEDIA. Il devra également donner les traductions de ce nom dans différentes langues.

Ce besoin est le premier auquel nous devons répondre. Le chatbot doit également pouvoir répondre aux besoins suivant à partir de l’analyse d’une phrase :

- Donner différentes traductions du mot. - Donner une liste de synonymes et mots apparentés. - Donner une liste de domaines où le mot est utilisé.

Concernant l’affichage des informations, deux éventualités ont été envisagées :

- Afficher toutes les informations précédemment citées, en même temps ou non. - Afficher des informations ciblées sur un mot en fonction de ce que souhaite l’utilisateur.

Pour cette solution, le chatbot devra être capable de comprendre si l’utilisateur souhaite obtenir pour un mot une traduction, une définition ou des synonymes. Cette solution est plus complexe et pourra être mise en place après la réalisation de la première méthode d’affichage des informations.

3 Base de données regroupant des informations sur de nombreux mots

Page 11: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

10

2. ETUDE ARGUMENTEE DE L’EXISTANT ET DES SOLUTIONS PROCHES

2.1. Etude de l’existant

M. Nicolle possède d’ores et déjà un ChatBot, disponible à l’adresse suivante :

http://checksem.u-bourgogne.fr/AgentConvers/CheckBot

Ce chatbot est disponible en deux langues, français et anglais, et son interface est la suivante :

Cet agent conversationnel a pour but de donner des définitions de mot. Il fonctionne sur le principe de classes et de sous-classes : Par exemple, le mot « bâtiment » est une super-classe, et cette super-classe contient des sous-classes comme « hôpital », « maison », etc. Le robot donne également des « propriétés associeées ».

Le chatbot semble moins bien fonctionner en français, à cause de l’encodage du texte et de la compréhension des accents :

Page 12: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

11

Voici également un exemple de conversation en anglais :

Le « client », M. Nicolle, souhaite qu’un chatbot, similaire mais amélioré, soit réalisé, en respectant les conditions énoncées précédemment.

2.2. Etude argumentée et comparative de solutions dans le domaine des agents conversationnels

2.2.1. Les acteurs importants

Les agents conversationnels, ou chatbots, sont aujourd’hui au centre de l’attention en matière de nouvelles technologies informatiques. En effet, le mot « chatbot » est un « buzzword 4 », il suffit pour confirmer cela de prendre connaissance des statistiques de recherche du mot sur Google Trends.

L’intérêt pour ces derniers est en plein essor depuis avril 2016, date à laquelle Facebook ouvre une plateforme de développement de chatbots sur Messenger5. La raison de l’engouement actuel pour les chatbots est étroitement liée à l’apparition des nouvelles plateformes sur lesquelles ceux-ci se développent. Aujourd’hui très populaires, ils se déploient sur toutes les applications de messagerie, très cotées auprès des utilisateurs, pendant que les assistants personnels connaissent une grande montée en popularité. Les progrès majeurs en intelligence artificielle ces dernières années ont également rendu accessible au grand public la possibilité de développer des agents conversationnels sur les applications de messagerie de leur choix. Ces chatbots fonctionnent tous sur le modèle entités/intentions (« entities/intent

4 Mot qui est à la mode à un moment ou dans un contexte particulier. 5 Service de messagerie instantanée de Facebook

Page 13: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

12

») qui sont extraites depuis une entrée brute (texte ou voix convertie en texte) grâce au raisonnement du « Natural Langage Processing » et du « Natural Langage Understanding ».

Cet intérêt pour les chatbots est également marqué du côté des grands acteurs du web : « « Bots » are the new apps, pretty much everyone today who’s building applications, whether they be desktop apps, or mobile apps, or websites, will build bots as the new interface.6», explique Satya Nadella, le directeur général de Microsoft. Pour résumer, le CEO de Microsoft nous explique qu’aujourd’hui, toute personne développant des applications se doit d’utiliser des bots/chatbots comme nouvelle interface avec l’utilisateur. Ceci n’est pas étonnant venant de M. Nadella, juste après le développement de Cortana sur Windows 10, un agent conversationnel prenant directement place dans le système d’exploitation. Pour Microsoft, les bots ou chatbots sont un moyen de faire passer l’information plus facilement à un utilisateur.

Mais Microsoft n’est pas la seule société dans cet état d’esprit. Facebook a déjà commencé à faire naître énormément de bots sur leur application de messagerie, Messenger, et d’autres compagnies explorent l’expérience de l’assistance « cloud-based », dans des applications ou services, comme Google avec leur nouvelle application de messagerie Allo et leur assistant personnel Google Assistant. On peut aussi parler d’Amazon, avec leur « Echo speaker », une enceinte intelligente, et leur assistant Alexa.

D’autre part, les grandes sociétés font sans cesse grandir l’intérêt pour les chatbots. Google a récemment acquis Api.ai, un moteur de traitement et de compréhension automatique du langage naturel. Il en va de même avec Facebook, comme énoncé précédemment, avec l'acquisition de Wit.ai, plateforme web de développement de chatbots disposant d’un moteur de langage naturel également, et permettant une intégration instantanée sur deux services de messagerie instantanée, WhatsApp et Messenger. D’autres plateformes s’imposent également : des acteurs indépendants comme Kik, principalement aux Etats-Unis, WeChat, principalement en Chine, ou encore Slack, utilisé en entreprise.

6 Les « Bots » sont les applications de demain, à peu près toutes les personnes qui en construisent aujourd’hui, que ce soit sur ordinateur, sur mobile ou sur des sites internet, utiliseront des bots comme interfaces.

Page 14: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

13

2.2.2. Etude comparative

A. Introduction

Aujourd’hui, beaucoup de marques ont mis à la disposition de leurs utilisateurs des chatbots. Parmi elles, on peut citer H&M, Sephora, Burger king, eBay, Expedia, HP, Shopify, SalesForce, Zalando, Unicef, Wall Street Journal, CNN, etc. Cependant, leur domaine de prédilection n’étant pas l’innovation technologique, mais le commerce, toutes ces marques se sont contentées d’implémenter des chatbots de bas niveau pour offrir un début d’aide à leurs clients. Afin de pouvoir se placer vis-à-vis de l’existant, il faut ainsi regarder ce qu’il se fait du côté des 4 piliers des innovations technologiques dans le monde du marché :

• Facebook

• Microsoft

• Amazon

• Google

B. Quels buts et quelles fonctionnalités pour les différents chatbots ?

a. Objectifs en commun

Concernant les grands noms de l’innovation, on peut retrouver un objectif en commun : se débarrasser du nombre important d’applications pour se concentrer sur un intermédiaire qui servirait d’interface simple et intuitive entre l’utilisateur et la technologie.

Contrairement aux entreprises marchandes qui voient les chatbots comme un moyen de remplacer les services d’après-vente et de renseignements, Google, Microsoft ou Facebook voient plutôt une sorte de guide, d’assistant personnel.

b. Divergences

Là où les 4 firmes se distinguent les unes par rapport aux autres, c’est à propos de leurs objectifs à long terme.

1. Facebook

Le but ultime de Facebook concernant les chatbots serait de créer un assistant possédant une IA presque humaine, capable de raisonner et de répondre à tout et n’importe quoi. On comprend ici un objectif d’intelligence très poussée.

Page 15: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

14

2. Microsoft

Contrairement à l’entreprise de Mark Zuckerberg, celle de Bill Gates vise un chatbot capable de comprendre et de partager des émotions avec ses utilisateurs, voire de créer un lien d’amitié avec eux. L’objectif final serait donc de raisonner à un niveau émotionnel.

3. Google

Afin de se démarquer de la concurrence, Google se concentre sur ses acquis : contrairement aux autres, ils possèdent des services de communication omniprésents (Gmail notamment). La firme souhaite ainsi améliorer ses services en proposant des chatbots capables de comprendre et de répondre à des mails, une sorte de « secrétaire technologique ».

4. Amazon

Ici, on a affaire à une entreprise d’e-Commerce. Les objectifs s’éloignent donc légèrement de ceux des 3 autres piliers. Dans ce cas, Amazon se lance à la recherche de technologies qui permettraient à la marque de conserver leur leadership sur l’eCommerce. L’objectif est donc de faciliter et de fluidifier l’utilisation de la plateforme grâce aux chatbots. De plus, Amazon se concentre beaucoup plus que les trois autres firmes sur les chatbots à manipulation vocale.

C. Comparaison entre les 4 piliers du secteur (2017)

Page 16: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

15

2.2.3. Etudes sur le domaine du chatbot

A. Étude sur les entreprises ayant des chatbots

On présente ici une étude menée par la startup française « Botnation AI ». L’étude avait pour but de vérifier la fréquence de réponse des grandes marques sur les réseaux sociaux. Divers résultats ont été trouvés par rapport au secteur des marques, notamment à propos de leur temps/fréquence de réponse.

D’après cette étude, seulement 5% des grandes entreprises utilisent des chatbots sur leurs réseaux sociaux. La startup mesure un taux de réponse sur les pages Facebook des marques non-équipées égal à seulement 20%, avec un temps moyen de réponse de 2 heures et 48 minutes. En revanche, pour les pages équipées d’un chatbot, la réponse, en plus d’être immédiate, est assurée 24H/24 et 7J/7. De plus, l’agent conversationnel offre une conversation personnalisée, là où la qualité des réponses des pages sans chatbot est aléatoire.

Dans cette même étude, nous pouvons lire que plus de 80% des pages ne fournissent aucune réponse. Pourcentage non négligeable si nous prenons la personne comme un potentiel client. Cela voudrait dire que plus de 80% des marques perdent une vente chaque fois qu’un potentiel client les contacte, à cause de l’absence de réponse. Alors qu’un chatbot, en plus d’être totalement automatisée, sera disponible à tout instant en fournissant une réponse immédiate et une conversation personnalisée à l’envie du client. Nous pouvons alors nous poser des questions concernant le fait que seulement 5% des grandes entreprises étudiées sont équipées d’un chatbot. Bien sûr, celui-ci devra être adapté au domaine et au type de client, afin de bénéficier de la meilleure expérience.

Page 17: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

16

B. Et demain ?

Les entreprises peuvent être réticentes à l’idée d’investir dans un chatbot, et c’est compréhensible. Cependant, il est important de prendre en considération les chiffres suivants.

D’après une étude, aujourd’hui, 4 applications téléchargées sur 5 sont des applications de messagerie instantanée. Nous avons vu précédemment le rapport qu’entretient les chatbots avec les applications de messagerie. Nous pouvons alors affirmer que les applications de messagerie instantanée, avec leurs 3 milliards d’utilisateurs par mois, ne sont pas à négliger. De plus, on nous dit que d’ici 2020, 80% des entreprises utiliseront un chatbot. Enfin, quand on regarde l’avis des Français sur les chatbots, nous pouvons être enthousiastes quant au fait que 50% des français estiment que les chatbots vont dans les années à venir leur simplifier la vie.

Page 18: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

17

3. PRESENTATION DES TECHNOLOGIES CHOISIES ET JUSTIFICATION

3.1. Introduction

Lors de nos recherches, nous avons trouvé et classé plusieurs API7 selon différents attributs (voir tableau en annexe) qui pourraient faciliter le développement d’un chat bot, nous permettant ainsi de ne pas avoir à partir de 0 (« start from scratch »).

L’une des API ayant retenu notre attention est RASA NLU, que nous appellerons RASA. C’est un outil de traitement automatique du langage naturel (NLP - Natural Language Processing) ouvert (open-source) et donc gratuit, utilisant le langage Python.

L’installation se fait facilement en ligne de commande avec pip, un « package manager 8».

RASA NLU fonctionne de pair avec RASA CORE, qui permet de développer l’intelligence artificielle du ChatBot

3.2. Fonctionnement

RASA fonctionne comme la plupart des API permettant de créer des agents conversationnels (chat bot). En effet, cette API utilise le NLP afin d’extraire à partir de données en entrée (texte ou voix convertie en texte) des intentions (intents) qui font référence à des méthodes (‘donner_meteo’, ‘rechercher_restaurant’, ‘saluer’, etc.) qui seront appelées lors de contexte, c’est-à-dire en fonction des données que va envoyer un utilisateur au chat bot :

De plus, les API de NLP comme RASA et d’autres classent des données contenues dans un texte, qui sont importantes à la compréhension, en entités (entities).

Prenons l’exemple d’une entité « City » : Tous les mots qui feront référence à cette entité seront stockés et classés, puis, grâce à l’ajout de données par le développeur ou grâce à des questions d’utilisateurs auxquelles le bot n’avait jamais fait face, le chat bot va apprendre à reconnaître (machine learning) des noms de villes dans des phrases puis stocker ces noms dans l’entité correspondante. Le développeur peut par exemple stocker dans City « New York », « Paris », « Dijon », « Berlin », etc. Puis, par la suite, le développeur interrogera son chat bot pour vérifier qu’il reconnaisse bien les entités de type City, et le bot pourra reconnaître grâce au machine learning des noms de villes, qu’il ne connaît pas forcément.

Un bref exemple montrant l’extraction d’entités et d’intentions est disponible en annexe.

Grâce à l’ensemble des entités et intentions, le bot sera capable de raisonner mais fera des erreurs, c’est inévitable. C’est pourquoi le bot doit être « entrainé » grâce à Rasa Core. En effet,

7 Interface, définie par un ensemble de méthodes et fonctions, vouée à faciliter la mise en place d’un programme, sans avoir à partir de 0. C’est en quelque sorte une bibliothèque facilitant le codage. 8 Un gestionnaire de paquets est un (ou plusieurs) outil(s) automatisant le processus d'installation, désinstallation, mise à jour de logiciels installés sur un système informatique. Ils permettent de mettre à disposition simplement des milliers de paquetages lors d'une installation standard.

Page 19: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

18

que se passe-t-il si un utilisateur pose une question et que le bot ne répond pas ou pire, répond hors-sujet ? Le bot doit donc être entrainé pour correctement réagir à différentes situations lors de sa phase de développement pour pouvoir ensuite bien réagir lors de conversations avec des utilisateurs.

Le schéma ci-dessus nous montre le cas où un utilisateur demande « Quelle sera la météo demain ? », mais le bot répond « Comment l’avez-vous aimée ». Cette réponse n’était pas attendue, c’est pourquoi il faudra corriger l’attitude du bot face à cette même question, de manière à ce qu’il puisse mieux extraire entités et intentions, en identifiant par exemple « weather » à un « intent : request_weather » pour récupérer des données météorologiques puis en identifiant « tomorrow » à un « intent : get_time », par exemple. Ainsi le bot aura toutes les informations nécessaires pour proposer une réponse cohérente, telle que « Il fera 20° à Dijon demain ». Il y a donc un travail d’apprentissage à réaliser pour que le bot puisse réagir dans différents contextes, en fonction du domaine du chat bot et de l’utilisation que l’on attend de celui-ci. Un bref exemple d’apprentissage à partir d’une conversation est disponible en annexe.

3.3. Avantages

Rasa est une API qui fonctionne comme la plupart des API de chatbot, sur le principe du NLU/NLP, alors pourquoi choisir Rasa en particulier ?

Rasa est utilisable avec les backend 9 « spacy », « sklearn » et « MITIE ». MITIE supporte uniquement l’anglais tandis que spacy et sklearn supportent l’anglais, l’allemand, l’espagnol et le français – spaCy et sklearn fonctionnent souvent de pair. En d’autres termes, Rasa possède des modules d’extraction d’entités (extractor) qui permettent de développer le chat bot en français.

Cependant, si on le souhaite, on peut également rajouter un backend personnel de notre choix. Nous ne sommes pas limités à ceux proposés ci-dessus.

9 Back-end : Application d’arrière-plan qui n’interagit pas directement avec l’utilisateur (« Partie immergée de l’iceberg »).

Page 20: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

19

Outre le fait de pouvoir utiliser la langue française avec Rasa, l’API présente deux caractéristiques qui la font se démarquer :

- Rasa est plus rapide que les autres API : elle tourne localement, aucune requête http n’est nécessaire.

- Rasa est Open Source. Mais contrairement à d’autres API, Rasa ne collecte aucune donnée lors de son utilisation.

Rasa propose aussi la possibilité d’importer des applications de chatbot créés sur wit.ai ou api.ai. L’API dispose d’une documentation correcte, est facile à mettre en place et semble aisée d’utilisation.

C’est pour ces différents critères que nous souhaitons travailler avec cette API.

3.4. Annexe

3.4.1. Extraction d’entités et d’intentions

Voici un exemple de fonctionnement du traitement avec rasa (le traitement serait le même avec une API utilisant le NLU/NLP). Le chat bot reçoit en entrée un texte brut, ici « Show me chinese restaurants ». Le chatbot extrait alors directement l’intention de l’utilisateur, « l’intent », qui est de rechercher un restaurant : « restaurant_search ». Le chat bot extrait également différentes entités, comme « chinese » ou « cuisine » qui lui permettront de préciser sa recherche. Ainsi celui-ci pourra interroger une base de données pour ensuite formuler une réponse cohérente.

3.4.2. Apprentissage : Fonctionnement de Rasa Core

Page 21: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

20

Le principe de fonctionnement d’un chat bot repose en partie sur l’apprentissage. Voici un exemple concret où, grâce au développeur, le bot apprendra par la suite à mieux réagir dans une conversation.

Premièrement, le bot reçoit un texte brut en entrée, qu’il a interprété comme des salutations. Dès lors, le bot extrait l’intention : « greet » et veut faire l’action « ack_dosearch ». Dans ce cas,

l’action n’est pas correcte ; que peut bien vouloir rechercher le bot ? Il est dans ce cas illogique de lancer une recherche. L’interface

en lignes de commandes propose alors plusieurs choix, comme celui de dire que l’intention extraite est bonne mais l’action est mauvaise. On entre alors 2, puis il nous est demandé quelle aurait été la

décision cohérente que le robot aurait pu prendre dans cette situation. En l’occurrence, il aurait été logique de saluer l’utilisateur. On entre alors 3, puis le robot mémorise pour la suite, qu’il faudra dans des situations similaires, réaliser l’action « action_greet ».

3.5. Etude argumentée des avantages / inconvénients des API chatbot sous forme d’un tableau

Figure 2

Figure 1

Figure 3

Page 22: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

21

A la fin de notre recherche, après la mise en commun de nos travaux, nous avons réalisé pour plus de lisibilité un tableau récapitulatif avec les meilleures API vis-à-vis de nos critères. Parmi elles, nous retrouvons bien sûr RASA, qui est l’API que nous gardons, mais également quelques alternatives qui ont retenu notre attention.

Page 23: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

22

Nom de l'API Rasa.ai ChatScript

MS Bot

FrameworkBotkit

IBM Watson

Conversation

Service

Pandorabots

Licence Open source MIT license

Open source et

disponible pour

tous

sur github

Open source

Une version

propose la

gratuité de l'API,

et il y a des

offres standart

et premium qui

elles sont

payantes

License

payante après

un éssai de 10

jours

Language de

l'APIPython C,C++ C#, Javascript Javascript

Node SDK

Java SDK

Python SDK

iOS SDK

Unity SDK

SDKs:

Java

Node.js

Python

Ruby

PHP

Go

Langue

doc/codeAnglais Anglais Anglais Français Anglais Français

Documentation Très bonne Bonne Très bonne Correct Très bonne Correct

Portabilité

Fonctionne

sous

Windows, Mac

et Linux

Fonctionne

sous

Windows, Mac

et Linux

Fonctionne

uniquement

sous Windows

Fonctionne

uniquement

sous Windows

Fonctionne

uniquement

sous Windows

Fonctionne

sous

Windows, Mac

et Linux

OSWindows/Mac/L

inux

Windows/Mac/L

inuxWindows Windows Windows

Windows/Mac/

Linux

Facilité de

déploiementOui Oui Oui Oui Oui Oui

Fonctionnalités

nombreusesOui Moyen Moyen Non Moyen Moyen

CommunautéCommunauté

présente

Communauté

présente

mais peu active

Communauté

présente

Peu/pas de

communauté

Communauté

présente

Communauté

très présente

Domaine/clients

Assurance

Banque

Santé

Télécomunicatio

ns

Voyage

ChatScript est

la base de

l'entreprise

linguistique

naturelle pour

une variété de

startups

technologiques

Permet de

fabriquer et

déployer de

bots de hautes

qualités

Botkit permet la

création

d'application et

de ChatBot ainsi

que de leur

intégration sur

les principales

plates-formes de

messagerie

Elle est utile

dans les

domaines de la

sécurité social,

dans la finance

et dans le

commenrce.

Convient pour

les cas

basiques, la

publicité,

enseignement

en ligne,

universités

Pour des

discussions

textuelles ou

vocales

"Canaux" localement -

À partir de sites

web ou

d'applications

pour écrire des

sms, de Skype,

de Facebook

Messenger et

d'autres

services

populaires

Slack, Cisco

Spark, Microsoft

Teams,

Facebook

Messenger,

Twilio SMS,

Twilio IPM,

Skyoe,

Group.me,

Telegram, Kik,

email

Fonctionne à

partir d'image,

de texte et de

paroles

articulées

Apparait dans

les

discussions,

sur les

applications

natives,

sur internet,

dans les jeu,

les réseaux

sociaux

Page 24: Livrable 1 : Dossier rédigé - Dorian Naaji · 2017-10-24 · 0 Raphaël CORDEROT, Emmanuel DEREPAS (CP), Bastien GRENIER, Alexis GUYOT, Dorian NAAJI, Valentin NOËL, Lélian RUFFIN

23

4. SOURCES ET SUPPORTS

Rasa NLU - site officiel

Tom Bocklisch – Presentation on conversational AI: building clever chatbots

Open-source language understanding for bots by Alan Nichol, RASA author

Les différents chatbots à travers l’histoire

L’investissement des « Big 4 » dans le domaine des chatbots

25 Chatbot Platforms : A comparative table

Compte-rendu de Anne Sophie Varnier : Psychanalyse du chatbot

chatbotslife.com

Liste de 74 bots "web-programmable"

Etude by cgi.fr

Infographie chatbot

10 chiffres à connaître sur les chatbots

IBM Watson

ChatScript

Microsoft Bot Framework