DialogFlow, Chatterbot, AllenNLP, ... Quelle plateforme de service de Chatbot utiliser ? - Image


Auteur : Agence MIT | 02-07-2020 | Tags: IA NLP AllenNLP Chatterbot DialogFlow Python Chatbot Virtualassistans

Chatterbot (et plateformes similaires)

Chatterbot est une librairie Python pour la création de chatbots personnalisés.

Pour l’utiliser, il faut créer une liste des conversations et entraîner le modèle en se basant dessus. La création de cette liste reste une tâche fastidieuse, pourtant obligatoire pour que le bot sache les différents scénarios auxquels il sera confronté en production.

Un autre grand problème dans ce type de système et qu’on n’a pas un contrôle raisonnable sur le modèle et ses paramètres, on se contente de lui fournir les données et on ne sait rien d’autre sur ce qui se passe dans la phase d’entrainement.

Chatterbot est un exemple de ce type de systèmes qui occupent maintenant une grande portion des plateformes commercialisées.

Les problèmes avec cette approche émergent surtout quand le bot ne fonctionne pas comme prévu (et généralement nous nous trouvons dans cette situation à un moment ou l’autre sur la majorité des projets) c’est ce que les développeurs appellent le débugage.

AllenNLP

AllenNLP est une librairie Python, basé sur Pytorch, et utilisée par des grandes boites et institutions : Facebook Research, Amazon Alexa, Airbnb, University of Washington, etc.
AllenNLP est connu et puissant quand il s’agit de lui donner un texte puis lui demander des questions à propos des informations citées dans ce texte.

Un des points fort de AllenNLP c’est qu’il propose des implémentations de ce qu’on appelle ‘état de l’art’ des modèles de l’intelligence artificielle les plus efficaces.

On peut donc choisir le modèle adapté à nos besoins, télécharger les poids et utiliser ce modèle, sans avoir besoin de l’entrainer nous-même. Ce qui nous fait gagner en temps et en ressources.

AllenNLP est un choix raisonnable dans les cas où on n’a pas besoin d’une base de données d’entrainement ‘’spécifique à un domaine singulier’’, et si notre objectif est que notre bot comprenne un texte donné : c’est de la compréhension du texte (Natural Language Understanding).

AllenNLP n’est donc pas vraiment conçu pour les chatbots dans leur sens courant, c’est-à-dire pour entretenir une conversion.

Il y a par contre un autre cas d’utilisation pour cette librairie, c’est quand on veut créer un chatbot ‘from scratch’ nous pouvons utiliser les modèles de l’état de l’art déjà implémentés pour gagner en temps (et éventuellement en efficacité aussi).

DialogFlow

DialogFlow est une plateforme développée par Google. Elle adopte une approche hybride : tente d'abord d'obtenir une correspondance grammaticale basée sur des règles.

Si aucune correspondance n'est établie, il passe à la mise en correspondance par les outils de Machine Learning.

DialogFlow présente plusieurs avantages : D’abord il supporte la reconnaissance vocale, il est bien documenté, il supporte plusieurs langues, il peut être intégré avec d’autre plateformes tel que Slack, Messenger, Telegram etc.

Par ailleurs, DialogFlow est doté d’outils de correction orthographique et de grammaire, et présente un temps de réponse optimal quand on le compare avec d’autres solutions.

DialogFlow donne relativement plus de contrôle sur modèle, à savoir la possibilité de personnaliser les paramètres, un choix riche des actions à faire : envoi du texte, audio, media, exécution d’une tache prédéfinie, ainsi que la possibilité d’importer/exporter le bot.

DialogFlow est accessible via deux passerelles : Console ou API. De plus, il offre un tableau de bord avancé pour la visualisation des statistiques et performances de votre bot. Vous pouvez ainsi améliorer davantage l'expérience utilisateur que vous offrez.

Conclusion

Beaucoup de défis se présente quand on est réellement dans la construction des chatbots qui sont sensés mener des conversations complexes en plusieurs niveaux de profondeur. Jusqu’à présent, les chatbots sont des outils "extrêmement intelligents".

La compréhension du langage humain est l’une des tâches extraordinairement difficiles pour les machines. Ceci dit, nous ne sommes plus dans l’ère où les chatbots ne font que répondre aux questions en consultant une base de données des questions/réponses prédéfinies.

En implémentant votre chatbot à l’aide des plateformes que nous avions présenté dans cet article, vous les doterez d’un niveau d’intelligence incontestablement significatif, et par conséquent vous allez offrir vos clients une meilleure expérience.