Faire un chatbot intelligent c’est le défi de tout concepteur d’agent conversationnel, de toute agence. L’enjeu pour avoir un chatbot intelligent c’est d’avoir un chatbot qui comprend correctement ce que dit l’utilisateur et lui apporte la réponse correspondante pour que la conversation puisse progresser et se poursuivre. Cette étape de compréhension s’appuie sur différentes solutions, souvent basées sur des algorithmes « d’intelligence artificielle », est ce que l’on appelle le NLU (Natural Langage Understanding).
Du CamemBERT pour faire un chatbot intelligent ?
De récents progrès significatifs ont eu lieu dans ce domaine, notamment avec le transformer BERT de Google, dont on entend beaucoup parler dans le contexte du SEO mais qui a des applications bien plus larges.
De son nom complet “Bidirectional Encoder Representations from Transformers”, BERT est le premier d’une longue famille de “transformers”, des modèles que l’on “pré-entraîne” entre autres pour la compréhension du langage naturel. Google déploie progressivement ce transformer (voir la définition 14 de notre lexique) pour améliorer la compréhension des requêtes en langage naturel. Il existe différentes variantes, comme RoBERTa, et notamment en fonction de la langue : la version entraînée sur un jeu de données françaises s’appelle CamemBERT.
BERT et ses variantes viennent apporter une amélioration pour certains traitements, notamment par rapport à d’autres types de transformers comme GPT, moins adapté à certaines situations. Ces nouveaux transformers sont donc très prometteurs mais demandent encore d’être exploités sur des cas d’usage précis sur la détection d’intentions.
Un chatbot intelligent, c’est un chatbot capable de raisonner !
Une des applications intéressantes de RoBERTa a été réalisée par AI2. Il s’agit du modèle ROVER (Reasoning Over Rules) qui possède 2 capacités très intéressantes :
- la compréhension de la négation dans une phrase
- l’association d’idées pour en déduire une conclusion
La compréhension de la négation est déjà un défi de taille, surtout en français d’ailleurs, tant les formulations peuvent avoir des variations et les nuances peut-être nombreuses. La capacité à raisonner en associant différentes phrases pour en tirer une ou plusieurs conclusions est un défi encore plus important que ROVER relève de manière impressionnante.
Voici un exemple concret :
Issue de la page de démonstration, cet exemple montre la puissance de ce modèle, qu’il reste néanmoins encore possible de tromper dans certains cas. Vous pouvez tester par vous-même en créant vos propres règles.
L’UX Conversationnelle au secours du Natural Language Understanding
Que ce soit grâce à BERT et ses variantes, à d’autres types de modèles NLU, ou parfois tout simplement grâce à des listes de mot clés et synonymes, il est clé d’avoir une approche conversationnelle qui va aider le chatbot à comprendre.
Cela signifie lui donner du contexte, inciter l’utilisateur à formuler sa phrase d’une certaine manière mais aussi anticiper les faiblesses des modèles NLU pour les éviter. A vrai dire, vous pourriez avoir les meilleurs modèles NLU au monde, sans une bonne conception du scénario conversationnel, votre chatbot intelligent pourrait bien être très bête…
N’oubliez pas…
La mise en place d’un agent conversationnel nécessite :