Les chatbots se sont fortement développés ces dernières années et commencent à être utilisés dans de nombreux secteurs (ex. service client). Mais de quoi s’agit-il vraiment, comment fonctionnent-ils et qu’apportent-ils ?
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.
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 :
- 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.
- 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.
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/ Le chat automatisé 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, l’agent conversationnel 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 :
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.
Votre adresse de messagerie est uniquement utilisée par Business & Decision, responsable de traitement, aux fins de traitement de votre demande et d’envoi de toute communication de Business & Decision en relation avec votre demande uniquement. En savoir plus sur la gestion de vos données et vos droits.