Les chatbots apprennent-ils tous seuls ?

Écrit par Thomas Maître on 12 oct. 2018 16:25:44
Thomas Maître
Retrouvez-moi sur:

Cette question nous revient très régulièrement de la part de nos clients. 

Elle vient d'un imaginaire lié à l'intelligence artificielle, et au terme Machine Learning : cette machine aussi intelligente qu'un humain, et qui devrait donc apprendre et raisonner en autonomie. 

Ce n'est malheureusement pas (encore) le cas...

 

L'apprentissage pour chaque brique technologique

Un chatbot utilise 3 grands types de technologies : 

  1. La NLU : Natural Language Understanding, soit la compréhension du langage naturel,
  2. La logique : ce que le bot doit faire quand il comprend quelque chose
  3. Les APIs : les programmes externes chez qui il peut récupérer les infos demandées

C'est donc un ensemble de technologies qui composent un programme informatique. Point. 

Une fois que vous avez compris cela, vous aurez compris pourquoi le chatbot ne peut pas apprendre en complète autonomie.

 

La NLU

Il s'agit d'algorithmes de machine learning qui permettent d'extraire des données structurées à partir d'un texte parlé ou écrit. 

Vous devez créer une application de NLU pour votre cas d'usage précis. C'est l'une des premières étapes pour créer un chatbot.

C'est-à-dire que vous devez prévoir l'ensemble des sujets que votre chatbot doit comprendre. Il ne comprendra pas le reste, et n'apprendra pas tout seul à répondre à des sujets qui n'étaient pas prévus. 

Une fois que vous avez listé tous vos sujets, vous paramétrez le tout en lui donnant des exemples de requêtes pour chaque sujet qu'il doit comprendre. J'ai détaillé la façon de paramétrer la NLU dans cet article.

Le machine learning va permettre à l'algorithme de comprendre des centaines voire des milliers de façons d'exprimer un sujet (intention + entité) à partir de 10 à 15 phrases que vous aurez rentrées à la main. 

Vous allez lui apprendre à détecter un sens à partir d'un nombre réduit de phrases. Il sera ensuite en mesure de prédire s'il retrouve tel ou tel sens dans une nouvelle phrase exprimée de manière totalement différente. 

Par ailleurs, plus vous avez de phrases labellisées pour un sujet donné, plus les prédictions de l'algorithme seront précises. 

Malheureusement ce travail de labellisation ne se fait pas automatiquement. Par exemple, chez Vizir, nous vous montrerons l'ensemble des requêtes tapées par tous les utilisateurs, avec le score de prédiction que la NLU a trouvé (note entre 0 et 1). Vous devrez donc attribuer un maximum de requêtes, de trois façons possibles : 

  1. Prédiction OK : il suffit de valider l'attribution
  2. Prédiction erronée, sujet existant : il faut attribuer la requête au sujet correspondant
  3. Prédiction erronée, sujet inexistant : à vous de décider si vous souhaitez créer un nouveau sujet ou occulter cette requête car hors sujet

Vous l'aurez compris, ce travail est nécessaire pour faire évoluer la compréhension de votre chatbot dans le temps. 

Si vous pensiez qu'un chatbot pouvait apprendre tout seul à comprendre les sujets, c'était presque vrai, mais finalement faux. 

Surtout, ce qui est faux, c'est de penser que vous n'aurez rien à faire pour faire en sorte que votre NLU fonctionne correctement. C'est comme les plantes, il faut l'arroser 🌿👌

 

La logique

Comme je le rappelle dans cet article, la logique des bots est généralement scriptée (arbre conditionnel).

Aucune forme d'apprentissage automatique n'est possible dans ce cas. 

Chez Vizir, on travaille sur des logiques de conversations gérées par du machine learning

Nos chatbots automatisent des tâches humaines et ont donc des objectifs précis. Le robot a également besoin d'un certain nombre d'informations à collecter et vérifier avant de remplir l'objectif. 

Dans une démarche classique, on fait passer l'utilisateur dans un scénario de questions réponses plus ou moins complexe, avec des règles fixées, jusqu'à la réalisation de l'objectif final (créer un document, un ticket support, etc...).

Dans une démarche machine learning, l'algorithme décide du chemin logique à suivre en fonction de la mémoire utilisateur. 

Dans ce cas là, et comme dans la NLU, le bot travaille en autonomie mais il apprend de manière supervisée. 

En l'occurence, l'utilisateur final va suivre le process et valider ou non si le process s'est passé correctement. En fonction de cette réponse, et de la validation d'un superviseur (l'admin du bot) l'algorithme apprend à optimiser le parcours.

 

Conclusion

Croire que les chatbots, et l'IA en général, sont des algorithmes capables d'apprendre seuls sans supervision est un erreur fondamentale. 

Le machine learning, technologie de base pour les chatbots et d'autres applications d'IA (computer vision, etc...) est capable d'apprendre ce qu'on lui dit d'apprendre. 

Il faut donc : 

  1. préparer les sujets qu'il doit apprendre
  2. lui donner assez de données pour qu'il puisse commencer apprendre ce qu'il doit apprendre
  3. continuer à l'entraîner régulièrement pour qu'il puisse s'améliorer dans le temps

Les projets chatbots ont donc besoin d'un chef de projet qui sera en fait en charge de gérer le chatbot dans le temps. C'est l'une des ressources pour créer un chatbot dont vous ne pourrez pas vous passer. Une sorte de tuteur ...

 

Topics: chatbot