A chaque étape d’une conversation, un chatbot fait appel à un modèle NLP qui lui permet de comprendre ce que lui dit l’utilisateur. Ce modèle doit être au préalable entraîné. C’est que qu’on appelle le machine learning.
On distingue deux méthodes d’entrainement : l’apprentissage supervisé et l’apprentissage non-supervisé ou clustering.
L’apprentissage supervisé
En apprentissage supervisé, on se base sur des données annotées par un ou plusieurs humains pour pouvoir l’imiter par la suite.
Prenons par exemple des images de chats et des images de chiens. Pendant l’apprentissage nous allons superviser le modèle de machine learning en lui montrant des images de chats en lui disant que ce sont des chats puis des images de chiens en lui disant que ce sont des chiens.
L’objectif est d’entraîner le modèle à reconnaître et interpréter une image inédite et de pouvoir distinguer s’il s’agit d’une image de chien ou d’une image de chat.
Dans le cadre d’un projet de chatbot de service client pour un opérateur téléphonique, le chatbot va devoir discerner la nature exacte du problème de chaque utilisateur. Pour cela, nous allons par exemple annoter des phrases qui signifient que l’utilisateur souhaite signaler un « problème de carte sim » et d’autres phrases qui signifient que l’utilisateur souhaite signaler un « vol de portable ».

La contrainte principale de cette méthode est qu’elle implique l’intervention d’un humain pour annoter les données avant que l’entraînement du modèle de machine learning soit réalisé.
L’apprentissage non-supervisé
En apprentissage non-supervisé, aucune instruction n’est fournie au modèle. C’est à l’algorithme de déterminer les critères les plus pertinents pour classer les données.
Reprenons notre exemple d’images de chats et de chiens. Contrairement à l’apprentissage supervisé, le modèle ne va pas s’appuyer sur l’humain pour classer ces images mais sur ce qu’on appelle « la variance« . Le concept de variance consiste à mesurer le degré de différence entre les données.
- Si le modèle analyse une catégorie composée d’images mélangées de chiens et de chats, la variance sera maximale, c’est-à-dire que les images au sein de la catégorie ont un degré de différence important.
- Si le modèle analyse deux catégories distinctes avec l’une composée d’images de chats et l’autre composée d’images de chiens, la variance sera minimale, c’est-à-dire que les images au sein de chaque catégorie ont un degré de différence faible. (tous des chats par exemple)
Un algorithme non-supervisé aura donc pour but de diminuer la variance initiale entre les données en répartissant ces données en plusieurs catégories.
Reprenons notre exemple de projet de chatbot de service client pour un opérateur téléphonique. L’opérateur dispose d’un grand nombre de conversations avec des clients ayant eu des problèmes de nature type (problème de carte sim, vol de portable, etc.). Il s’agit donc, pour le modèle, de séparer toutes ces conversations en différentes catégories en fonction de la nature du problème qu’elles soulèvent. Le modèle va répartir les phrases en plusieurs catégories : par exemple, il placera d’un côté les phrases qui signifient que l’utilisateur souhaite signaler un « problème de carte sim » et de l’autre les phrases qui signifient que l’utilisateur souhaite signaler un « vol de portable ».

Cette méthode représente un gain de temps important puisqu’elle ne nécessite pas d’intervention humaine. Toutefois, elle présente des risques d’incompréhension en raison des faux positifs ou de mauvais classement des données de la part du modèle, comme ça a été le cas avec cette IA qui a confondu un poumon atteint de la Covid-19 avec celle d’un chat noir !
L’approche Like a Bot
La méthode utilisée par Like a Bot est dites « hybride », c’est à dire que les deux méthodes d’apprentissage sont utilisées afin d’entraîner les modèles. La méthode non-supervisée qui permet de générer un jeu de données de qualité, et la méthode supervisée qui permet d’entraîner un modèle puissant.Vous souhaitez en savoir plus sur cette méthode ? Découvrez notre article l’IA pour aider l’IA : Classifier pour mieux annoter.