Comparatif des moteurs de chatbot
Si vous souhaitez développer votre propre chatbot textuel ou vocal, vous serez confrontés à la question suivante : quel moteur de langage naturel choisir selon mes contraintes et exigences.
Nous proposons de vous partager notre avis sur cinq des moteurs de langage naturel les plus répandus actuellement :
Ce comparatif a été réalisé de manière indépendante. OCTO n’a aucun accord ou partenariat avec les acteurs cités.
Ces moteurs évoluent très vites, il est donc important de revoir les détails des moteurs avant de prendre une décision.
Rappels des concepts de base d’un moteur NLU
NLU/NLP
Nous distinguons les deux acronymes suivants :
- NLU - Natural Language Understanding : discipline de l'intelligence artificielle liée à la compréhension du langage
- NLP - Natural Language Processing : discipline de l'intelligence artificielle liée à l'interaction complète incluant la compréhension et la génération de langage naturel (NLG)
Intentions et utterances
L'intention (ou intent) est ce que souhaite savoir ou faire l’utilisateur.
Les énoncés (ou utterances) sont différentes formulations de la même intention.
Exemples d’énoncés pour l'intention “Obtenir la météo”
- Quel temps fait-il aujourd'hui à Paris ?
- Quelle est la météo à Paris aujourd'hui ?
- Est-ce qu’il fait beau aujourd’hui à Paris ?
Entités / Slots
Les entités, appelées aussi parfois slots, sont les éléments de contexte. C’est ce sur quoi repose l’intention.
On peut voir cela comme les paramètres qui seront transmis à une API métier.
Dans l’exemple précédent, il y a donc deux entités :
- aujourd’hui : entité de type temps
- Paris : entité de type lieu
Dialogflow (Google) :
Description
Dialogflow est une startup rachetée par Google fin 2016. Le nom de la marque a changé récemment, vous avez peut être plutôt entendu parler d’api.ai.
Deux modèles de prix (lien), gratuit avec limitation au volume et entreprise payant (avec support).
On aime :
- Gestion de réponses spécifiques par plateforme (ex : slack, google assistant…) permettant de renvoyer des messages à un format compréhensible par celle-ci
- Très nombreux connecteurs pour déployer le chatbot sur de nombreuses plateformes (Messenger, Slack, Viber, Twitter, Skype, Alexa…)
- Fenêtre de chat de test très complète, affichant utterance, réponses du moteur, contextes, intent, action, entités détectées, valeurs ainsi que le flux JSON
- Très nombreux prebuild domains (template de chatbot en anglais). Exemple : commande au restaurant
- Intégration facile d’APIs métier via un webhook exposé sur internet
- Possibilité de coder un webhook simple via un éditeur web dans la console d’administration *. Il est ensuite déployé dans Google Cloud Function.
* Attention, cette utilisation n’est pertinente que pour un agent de test ou démo, car le code n’est pas versionné et non testable. Nous recommandons plutôt d’appeler un webhook donc le code est testé et versionné.
On aime moins :
- Page d’Analytics trop sommaire, seul le top 5 des intentions et le nombre de sessions/queries par période sont affichés
- Intégration avec l’outil d’analytics Chatbase nécessitant une implémentation dédiée (plan de taggage)
- Malgré l’intégration dans l’univers de Google Cloud Service, peu de paramétrage sur le fonctionnement (hébergement) disponible.
Langues gérées (lien) :
Francais, Anglais, Allemand, Néerlandais, Italien, Portugais, Espagnol, Brésilien, Russe, Ukrainien, Japonais, Coréen, Chinois
LUIS (Microsoft) :
Language Understanding Intelligence Service
Description
LUIS fait parti des Microsoft Cognitive Services. C’est un moteur NLU (Natural Language Understanding) hébergé sur le cloud de Microsoft. LUIS ne propose que le moteur NLU, c’est à dire la compréhension du langage, et ne permet pas de générer de réponse. Il doit être intégré dans le développement custom d’un chatbot.
Deux modèles de prix (lien), gratuit: jusqu’à 10K requêtes par mois et payant: gratuit jusqu'à 50 requêtes par seconde puis 1,265€ par millier d'appels.
On aime :
- Interface d’administration proposant un tableau de bord présentant les indicateurs principaux de l’agent
- Moteur complété par le bot framework (SDK open source en C# ou NodeJS) pour développer son chatbot
- Déploiement des bots sur différentes plateformes et publication sur un store publique grâce au bot directory
- Séparation de la configuration du moteur (définition des intents et entities) et de son entraînement.
On aime moins :
- Pas de réponse ou de gestion de conversation, à implémenter via le botframework par exemple.
- Nombre de custom entities limité à 8. Nécessité de faire des entités composites pour en créer plus.
Langues gérées (lien) :
Français, Anglais, Italien, Portugais, Espagnol, Brésilien, Coréen, Chinois
Wit.ai (Facebook) :
Description
Startup rachetée par Facebook en janvier 2015. Contrairement aux autres moteurs, il n’y a pas de distinction entre intention et entités, car tout est intent :
- free-text et ou keywords pour les entités
- trait pour les intentions
Modèle de prix (lien) gratuit sans limitation.
On aime :
- Logs des historiques des conversations passées sous forme d’un dialogue chat.
- Gestion d’un très grand nombre de langues.
On aime moins :
- API parfois instable.
- Aucune aide proposée pour déployer son chatbot.
- Agents hébergés dans le cloud sans information de leur localisation
Remarque : les stories en beta ne seront plus supportées à partir de février 2018. Elles permettaient de gérer des arbres de conversations. Certaines instabilités ont sans doute eu raison de cette fonctionnalité qui va donc disparaître complètement.
Langues gérées (lien) :
Albanian, Arabic, Azerbaijani, Bengali, Bosnian, Bulgarian, Burmese, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Georgian, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, Latin, Lithuanian, Macedonian, Malay, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swahili, Swedish, Tagalog, Tamil, Thai, Turkish, Ukrainian and Vietnamese.
Recast.ai :
Description
Recast est une startup française, rachetée par SAP, qui propose un moteur NLP.
Modèle de prix (lien) gratuit sans limitation dans la limitation de 3 requêtes par seconde.
On aime :
- Déploiement facile son chatbot sur plusieurs plateformes via des bot connector. Possibilité de développer soi-même son propre bot connector.
- Communauté de développeurs partageant des entités spécialisées pouvant être ré-utilisées dans votre chatbot.
- Offre payante permettant d’avoir son chatbot hébergé sur une instance Azure dédiée.
On aime moins :
- API complexe même en v2.
- Impossibilité pour les conversations conçues depuis l’interface graphique se de se connecter à des APIs. Limitation à de la saisie de contenu éditorial.
Langues gérées (lien) :
Anglais, français, espagnol en mode avancé, toute les autres en mode basic (seulement intent classification et custom entities)
Watson Conversation (IBM) :
Description
Conversation est le module d'IBM Watson permettant de créer un chatbot. Watson Conversation fait partie de la suite IBM Watson comportant de nombreux services similaires aux Cognitives Services de Microsoft. Deux modèles de prix (lien), gratuit jusqu’à 10K requêtes/mois puis payant 0,0025 $/appel d'API.
On aime :
- Détection automatique des entités dans les utterances. Pas de taggage manuel requis.
On aime moins :
- Temps d'entraînement beaucoup plus long que les autres moteurs : plusieurs minutes !
- Fenêtre chat de test ne présentant que très peu d’information (pas les flux json)
- Création d’un bot compliqué car trop d’étape avant de pouvoir créer son agent : création d’un compte (IBM, bluemix), une organisation, un espace…
- Période d’essaie limitée à 30 jours, puis carte bleue requise.
Langues gérées (lien) :
Anglais, arabe, chinois, tchèque, néerlandais, français, allemand, italien, japonais, coréen, portugais (Br), espagnole
Lex (Amazon) :
Description
Lex est le moteur NLP utilisé par Amazon Alexa.
Deux modèles de prix (lien), gratuit la première année et payant avec 10K requêtes écrites / mois gratuites puis 0,00075$ la requête ou 5K requêtes orales / mois gratuites puis 0,004$ la requête.
On aime
- Taggage des versions du modèle, des intents ou des entités.
- Taggage des entités dans les intentions de manière explicite en indiquant des slots ensuite typés.
On aime moins
- Seul l’anglais américain supporté. Français non supporté pour le moment.
- Passage obligé par Amazon Lambda pour connecter une API.
- Messages d’erreur non explicites lorsque le build du modèle est en échec.
- Fenêtre de test n’affichant que la réponse textuelle. Aucune autre information n'est disponible.
Langues gérées (lien) :
Anglais américain
Conclusion
Il est important de rappeler que les moteurs présentés ci-dessus évoluent très vite en terme de fonctionnalités, intégrations, interface d’administration.
Pour le moment, chez OCTO nous avons une préférence pour Dialogflow car son interface d’administration est simple et propose un nombre de fonctionnalités important. De plus, il permet de déployer son chatbot sur quasiment toutes les plateformes.
Tous les moteurs de ce comparatif sont des solutions SaaS (Cloud). Cela induit effectivement des questions de confidentialité car les données peuvent transitées ou être hébergées sur des serveurs hors de l’Europe et il n’est pas indiqué clairement le traitement fait sur les données. Par contre, l’utilisation de ces moteurs par un grand nombre d’utilisateurs permet d’améliorer leur performances générales.
Pour conclure, voici une synthèse comparative des différentes solutions (attention les fonctionnalités évoluent rapidement):
Pour en savoir plus sur les chatbots et les bonnes pratiques de création, notre formation sur 2 jours est un passage obligé.