Chatbot / Voicebot : savez-vous vraiment comment fonctionnent ces technologies ?5 min read

Les chatbots se sont fortement développés ces dernières années. Ils commencent à être utilisés dans de nombreux secteurs (ex. service client) et leurs usages sont multiples. Mais de quoi s’agit-il vraiment, comment fonctionnent-ils et qu’apportent-ils ?

Chatbot / Voicebot : savez-vous vraiment comment fonctionnent ces technologies ?

 

Un chatbot : de quoi s’agit-il vraiment ?

 

CHATBOT = TCHAT + BOT​

​Un chatbot est une application qui simule une conversation entre une machine et un humain.​

Généralement, le bot répond aux questions posées par l’humain, et non l’inverse. Deux façons permettent de converser avec un bot : l’écriture ou la voix. Dans le premier cas, on parlera de chatbot, et dans le second cas, de voicebot.

Un chatbot peut être déployé sur différents points de contact, en voici quelques-uns :

  • Facebook Messenger
  • Site web
  • Application mobile
  • Mega AI Bot (Google assistant, Amazon Alexa, Apple Siri, Microsoft Cortona)
  • Skype for Business
  • SMS
  • Trello

Plus particulièrement, les voicebots sont accessibles, entre autres, via les enceintes connectées, les plus connues étant :

  • La gamme Amazon Echo (Amazon Echo Dot, Amazon Echo Plus, Amazon Echo Spot…)
  • La gamme Google Home (Google Home Mini, Google Home, Google Home Maxi)
  • L’enceinte Apple (HomePod)

Les 2 premiers constructeurs proposent également leurs assistants vocaux sur d’autres devices, parfois originaux comme Amazon Echo disponible sur un micro-ondes.

 

Le fonctionnement d’un chatbot

 

Quelle que soit la solution utilisée pour construire un chatbot, toutes utilisent les notions suivantes pour comprendre le sens d’une phrase et apporter une réponse.

Chatbots : Intentions, entités et arbres de décision

 

Intentions et Entités

Afin de comprendre ce qu’est une intention et une entité, nous pouvons prendre la phrase suivante (écrite ou dictée donc).

« Je souhaiterais réserver une table pour ce soir à 18h pour 4 personnes »

Dans cette phrase :

  1. L’intention est identifiée grâce aux mots « réserver une table ». L’utilisateur souhaite donc réserver une table. Il aurait pu utiliser d’autres mots (ou couples de mots), tels que mettre de côté une table, faire une réservation, booker une table, prendre RDV, etc., le système les aurait associés à la même intention.
  2. Trois entités sont présentes : la date (ce soir), l’heure (18h), le nombre de personnes (4 personnes). Comme pour l’intention, l’utilisateur aurait pu utiliser d’autres mots :
  • Date : ce soir, ce samedi, le 2 mars 2019, vendredi prochain…
  • Heure : 8h du matin, 8h du soir, 4h de l’après-midi…
  • Nombre de personnes : 2 convives, 3 invités…

 

Un autre exemple :

« Va-t-il pleuvoir ce week-end ? »

Dans cette phrase :

  • L’intention « pluie ou non » est identifiée grâce aux « va-t-il pleuvoir » (d’autres ensembles de mots auraient pu être utilisés et identifiés comme par exemple : de la pluie prévue…
  • L’entité « date » grâce à « ce week-end »

En synthèse, l’intention permet d’identifier l’objectif et/ou le sens de la phrase, les entités représentent les variables.

 

Les chatbots utilisent les arbres de décision

 

Comme dans la quasi-totalité des projets informatiques, les chatbots utilisent les conditions et donc les arbres de décision.

Par exemple, si le chatbot doit répondre à l’intention « météo » (quel temps fera-t-il ? quel est la météo prévue…), l’utilisateur doit apporter des variables, les fameuses entités (un lieu, une date). L’arbre de décision va permettre de couvrir les situations où une ou plusieurs de ces entités sont absentes. Exemples :

SITUATION INTENTION ENTITÉ DE TYPE LIEU ENTITÉ DE TYPE DATE CONCLUSION
1. Quel temps fera-t-il ce week-end à Lille ? OK OK OK Le bot peut répondre car il a toutes les informations nécessaires pour répondre.
2. Quel temps fera-t-il ce week-end ? OK KO OK Le bot ne peut pas répondre car il lui manque un lieu, il pourrait ainsi demander : « Pourriez-vous préciser le lieu ? »
3. Quel temps fera-t-il à Lille ? OK OK KO Le bot ne peut pas répondre car il lui manque une date, il pourrait ainsi demander : « Pourriez-vous préciser la date ? »
4. Quel temps fera-t-il ? OK KO KO Le bot ne peut pas répondre car il lui manque une date et un lieu, il pourrait ainsi demander : « Pourriez-vous préciser la date ainsi que le lieu concerné ? »

 

Étapes inhérentes à la construction d’un chatbot

Afin de comprendre l’utilité de l’arbre de décision dans la construction d’un chatbot, il est important de comprendre les principales étapes inhérentes à la construction d’un chatbot. Concrètement, que doit donc faire l’administrateur/développeur pour construire un chatbot ?

1/ Il doit choisir les intentions et entités qu’il souhaite que la machine reconnaisse, quel que soit l’outil utilisé (DialogFlow, IBM Watson Assistant, Clustaar, etc.).

2/ Il doit ensuite les faire apprendre au système, pour cela, il va renseigner un certain nombre de phrases et/ou mots pour chacune des intentions et entités préalablement identifiées.

A noter : certaines entités telle qu’une date par exemple sont exemptes de ce travail car gérées nativement par le système (ex. pour une horaire, l’administrateur ne va pas renseigner : 00H00, 00H01, 00H02, 00H03, 00H04…, pour une date : 01/01/2019, 02/01/2019, 03/01/2019…).

Par ailleurs, les outils plus sérieux du marché intègrent un dictionnaire de synonyme et connaissent le singulier/pluriel des mots. Il n’y a donc pas besoin, par exemple, de faire apprendre au système :
– Qu’est-ce qu’un cheval ? ET « Parle-moi des chevaux »,
– Vendez-vous des fruits ? ET « Proposez-vous des ananas ? »

3/ Enfin, il va mettre en place un arbre de décision. Concrètement :

  • Si intention A + entité A ont été identifiés, le système doit répondre XXX
  • Si intention A + entité B ont été identifiés, le système doit répondre YYY
  • Si intention B + entité A ont été identifiés, le système doit répondre ZZZ
  • … etc.

L’outil peut, dans la grande majorité des cas, identifier les variables manquantes pour répondre correctement à une question posée. Dans ce cas, il demandera à l’utilisateur de les indiquer.

Exemple :Chatbot : exemple de conversation

 

Dans cet article, nous avons voulu vous montrer le fonctionnement ainsi que les grandes étapes de création d’un chatbot de nouvelle génération (i.e. qui reconnaît les intentions et les entités d’une phrase). Ces chatbots n’utilisent pas de processus de type machine learning (le processus d’amélioration continue nécessitant un travail humain et non automatique). Une future génération d’outils de création de chatbots devrait apparaître ces prochaines années et intégrer du machine learning.

Nos équipes se tiennent bien évidemment à votre disposition pour échanger sur ces sujets.

 

Il n'existe pas de commentaire pour le moment.

Laissez un commentaire

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

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.