Blog

POUR L’AMOUR DES CHATBOTS

A l’ère du digital et de la technologie, on entend souvent parler des robots conversationnels mis à la disposition de différentes audiences, capables de communiquer et d’interagir avec les interlocuteurs ; ces robots sont appelés ChatBots ou agents conversationnels. Trop classique comme définition, non ?

Nous allons essayer de découvrir ensemble ce qui est derrière ce terme controversé: Agent conversationnel qui fait la une des dernières revues scientifiques et de technologies de pointe.

Vous avez entendu parlé d’AI : intelligence artificielle ?

Lorsqu’on mentionne lntelligence artificielle, plusieurs mots ou notions nous interceptent comme le Machine Learning, le Deep Learning, le NLP : Natural Language Processing, le RPA : Robotic Process Automation, etc.

Ces expressions me paraissaient complexes jusqu’au jour où j’ai intégré Vneuron en tant qu’ingénieur avant- vente ; j’ai commencé à travailler sur les ChatBots et à découvrir ce produit.

Au début, j’avoue que c’était un défi pour moi et pour toute l’équipe d’ailleurs. Alors, j’ai essayé de comprendre le mécanisme derrière ce talking robot qui pouvait communiquer avec moi convenablement et répondre à mes questions.

Tout d’abord, il fallait connaître l’utilité de chaque technologie et algorithme adoptés (utilisés) dans le ChatBot. Si on considère que le ChatBot est basé sur le Machine Learning donc il fallait chercher la technique la plus performante à utiliser pour aboutir à des résultats satisfaisants.

D’un autre côte, il est impératif que le ChatBot ait une personnalité cohérente, puisse mener des conversations poussées et être capable de détecter l’humeur de son interlocuteur même à travers des émoticônes. Dans ce cas, on parle souvent de NLP : Natural Langage Processing.

Il fallait combiner toutes ces techniques dans une même plateforme et construire le Bot Studio propre à Vneuron : un studio graphique de création de ChatBot basé sur les API et les technologies de l’Intelligence Artificielle.

Mais comment le ChatBot fonctionne-t-il ?

Loin des notions complexes, on va expliquer  le fonctionnement du ChatBot d’une manière assez simple : le ChatBot reçoit un message de l’utilisateur, l’interprète et réagit selon l’intention de l’interlocuteur.


La question qui se pose maintenant est comment le ChatBot interprète-t-il le message de l’utilisateur ?

Selon le contenu, le ChatBot aiguille les requêtes de son interlocuteur. Le message pourrait être un texte, une image, un message vocal, etc.

Message = Image

Grâce au Machine Learning et plus précisément le Deep Learning, nous avons établi une base de données de référence associée au ChatBot ; on peut citer l’exemple de ImageNet, LFW Face Databas, etc.

Lorsque le ChatBot détecte que le message envoyé par l’interlocuteur est une image, il déclenche un algorithme de classification ; dans notre cas, nous utilisons souvent les CNNs : Réseaux de neurones à convolution.

Un premier traitement sur le contenu de l’image à travers l’algorithme de classification est effectué ; ceci va permettre de détecter si l’image représente un visage ou un objet quelconque ; on parle dans ce cas de Face Recognition ou de la reconnaissance faciale. Grâce aux réseaux de neurones, nous allons extraire un vecteur représentatif du visage en question ; ce vecteur sera comparé avec la base de données de référence du ChatBot pour renvoyer un résultat quant à la reconnaissance de l’utilisateur.

Dans le cas où le traitement du la reconnaissance faciale renvoie un False (Erroné), l’algorithme de classification des objets se déclenche, on parle dans ce cas de l’object detection classification.  A la différence de l’algo précédent celui la produit un vecteur de probabilité. Qui représente la probabilité d’appartenance de l’objet aux différentes classes possibles.

Message = Texte

Lorsque le message de l’utilisateur s’agit d’un texte, le ChatBot se base sur différentes approches pour répondre à son interlocuteur. En effet, le Chatbot est muni d’une architecture modulaire qui permet d’intégrer facilement un nouvel algorithme d’intent detection ou / et de génération de réponses.

La première approche est le Rule Based. En adoptant cette approche, le ChatBot répond à des questions en se basant sur des règles sur lesquelles il est entraîné. On opte généralement pour cette approche pour les patterns assez simples et maîtrisés. En ce qui concerne notre ChatBot, cette alternative est utilisée pour le Behavior  du Bot : la personnalité du robot ; âge, nom, sexe, etc. Dans notre cas, on utilise souvent les AIML : Artificial Intelligence Markup Language ; un langage basé sur le XML permettant de définir des règles (rules) que le ChatBot emploiera.

La deuxième approche consiste au Machine Learning. Nous adoptons une méthode extractive des données : le ChatBot analyse le contenu pour en extraire l’intention, les entités et les métadonnées.  Le résultat peut être une expression logique, un menu, un fichier multimédia ou même une action.

Tout d’abord, au niveau du Bot studio, nous définissons les Intents qui traduisent  les intentions de l’utilisateur lorsqu’il interagit avec le ChatBot.

Grâce aux techniques de l’intelligence artificielle et le Machine Learning, le ChatBot va apprendre à mener une conversation et interagir avec son interlocuteur pour répondre à ses questions et ses attentes.

Ensuite, nous définissons les Entities qui peuvent être des valeurs, une adresse e-mail, un montant, etc. qui peuvent être exploités tout au long du processus de la configuration du ChatBot.  Les entités peuvent être récupérées à travers la discussion avec l’utilisateur ou récupérée à travers un WebService (on donne l’exemple de l’interfaçage avec le CRM).

Une rubrique de Contexts est également offerte au niveau du Bot studio. Les contextes facilitent la compréhension des intents de l’utilisateur.

Après la configuration de tous les éléments de notre ChatBot, nous lançons l’apprentissage ; la composante du training offre plusieurs algorithmes du Machine Learning.

Nous pouvons maintenant effectuer les tests nécessaires pour s’assurer de la fiabilité des réponses de notre ChatBot.

Après le déploiement du ChatBot, celui-là s’améliore, enrichit sa base de vocabulaire grâce au training régulier et devient même capable de deviner l’humeur de l’interlocuteur ; nos algorithmes d’AI comportent la composante NLP : Natural Language Processing.

Et Vneuron, dans tout cela ?

LE BOT STUDIO

Comme déjà mentionné, Vneuron a conçu son propre studio de conception et de création de ChatBots. Ce Bot Studio offre un large éventail de fonctionnalités avec un haut degré de flexibilité, notamment, le déploiement de l’application ChatBot sur différent canaux : Facebook messenger, Slack, Skype, etc.

Grâce à son interface ergonomique et facile à manipule, il est désormais possible de configurer et personnaliser des ChatBots selon les besoins.

Le Bot Studio donne également une visibilité sur les réponses du ChatBot et permet de les optimiser dans le cas d’une mal classification des Patters.

LE HANDOUT

Vneuron a intégré une interface de Handout dans le Bot Studio. Cette fonctionnalité permet à un utilisateur humain de prendre la main et de continuer la discussion (en annonçant cela à l’utilisateur). Le handout offre la possibilité de suivre en temps réel la discussion entre le ChatBot et les différents utilisateurs.

ANALYTICS ET REPORTING

Le bot studio est également doté d’une interface d’un module de statistiques puissant et complet qui permet de donner un aperçu détaillé sur un certain nombre de requêtes.

DES OFFRES VERTICALES

Nous avons réussi à personnaliser notre ChatBot au profit de nos clients dans différents secteurs d’activités : Banques, Assurances, Télécommunications, Grande distribution, etc. De plus, le Bot Studio est une application extensible et ouverte capable de s’interfacer avec les systèmes d’informations et les CRMs les plus connus du marché.

 

VERS D’AUTRES PERSPECTIVES

Notre priorité à Vneuron est la Recherche et le développement pour être en concordance avec cette course technologique. Nous améliorons et optimisons nos produits tous les jours.

Notre objectif est d’intégrer au niveau du ChatBot la technique de Machine Comprehension et la composante « Generation response »  avec un seuil de fiabilité assez élevé pour un traitement de processus 100% automatisé.

 

Ecrit par Malek BAHRI, Ingénieur Avant-Vente, Vneuron.