Construire la base de connaissances d'un chatbot

|

|

Le besoin
La solution
Ils peuvent vous aider

Le besoin

Créer la base de connaissances d'un chatbot

Je suis responsable commercial d'un site de vente en ligne de matériel et d'équipement cycliste et je souhaite améliorer l'expérience commerciale de mes clients en intégrant un chatbot à notre site pour accompagner mes clients dans leurs achats. En effet, certains produits vendus sur notre plateforme sont des produits de haute technicité à propos desquels un client peut avoir des questions. L'objectif est que le client dubitatif  sur un produit ou perdu dans ses achats puisse s'adresser  à un assistant tout comme il le ferait en boutique pour avoir un renseignement, par exemple pour vérifier si le dérailleur qu'il a trouvé correspond bien à celui dont il a besoin pour réparer son cycle.

Je comprends que le chatbot doit disposer de connaissances spécifiques à mon activité pour être efficace. Cependant, je ne sais pas quelles informations fournir, comment les mettre à disposition du chatbot, et, surtout, comme les mettre à jour.

Nos fournisseurs mettent à notre disposition des fichiers sous la forme de tableurs qui décrivent les produits que nous revendons. Ces fichiers contiennent des colonnes spécifiques aux différents types de produits.

Par exemple, le fichier concernant les dérailleurs contient notamment :

  • une colonne "nombre de vitesses" qui décrit le nombre de vitesses du dérailleur,
  • une colonne "compatibilité" qui décrit les marques et modèles des composants avec lesquels ce dérailleur est compatible.

Ces fichiers contiennent également des descriptions textuelles du produit, qui constituent souvent des arguments de vente et des précisions sur le produit que les champs descriptifs classiques ne contiennent pas.

Par exemple :

"Le dérailleur arrière Shimano Alivio M3100 présente un profil compact qui vous permet de rouler agressivement avec moins de cassures de rythme grâce à sa conception Shimano SHADOW."

Comment mettre à disposition ces informations au chatbot pour que le client potentiel soit renseigné de la façon la plus complète et la plus pertinente possible ?

La solution

Analyse, collecte et extraction de données pour construire une base de connaissances adaptée au besoin

L'objectif d'un chatbot (agent conversationnel, en français) est de simuler la posture d'un commercial, c'est-à-dire simuler la compréhension d'un besoin exprimé par un prospect en langage naturel, puis de trouver le produit qui répond le mieux à ce besoin parmi ceux proposés en catalogue. Le chatbot doit donc avoir à disposition l'ensemble des informations du catalogue. Il ne s'agit pas d'établir une simple liste d'informations mais bien de structurer cette information de façon fine en fonction du domaine.

Définir le périmètre et l'infrastructure

Avant de créer la base de connaissances, il est important de définir le périmètre du chatbot : qui sera la cible, à quels types de besoins le chatbot devra-t-il répondre :

  • achats guidés,
  • infos produits,
  • expérience client,
  • SAV/support,
  • etc.

Plus le périmètre du chatbot est restreint, plus le chatbot a de chances d'être performant mais il devra pour cela guider l'utilisateur à travers un chemin prédéfini et clairement balisé (à l'aide de boutons et de choix restreints, par exemple) afin d'éviter les questions hors périmètre et donc hors des compétences du chatbot.

Une fois la cible et le périmètre clairement définis, vient le choix de l'infrastructure. En effet, il existe actuellement plusieurs moyens de créer un chatbot :

  • chatbot avec une technologie développée en interne, qui permet d'être totalement indépendant et 100% made in France, par exemple,
  • infrastructure préexistante qu’il faut adapter au besoin spécifique de ce chatbot,
  • plateforme d’IA avancée qui permet de créer un chatbot très rapidement et facilement en utilisant une API.

De ce choix dépendront le format des données attendues pour créer la base de connaissances du chatbot et la quantité de travail à fournir pour construire le chatbot dans son ensemble.

Maintenant, comment construire la base de connaissances du chatbot à partir du catalogue de produits de l'entreprise ?

Extraire les informations utiles concernant les produits

Les données à extraire et qui vont constituer la base de connaissances du chatbot peuvent être transmises par les fournisseurs sous différents formats.

Informations organisées dans un tableur

Les catalogues de produits fournis par les fournisseurs peuvent être structurés dans un tableur, c'est-à-dire présentés dans un vaste tableau divisé en lignes et colonnes composées de cellules contenant du texte ou des nombres, entre autres. Ces catalogues regroupent notamment des descriptions textuelles riches en informations. Il faut donc extraire ces dernières et en représenter le sens dans une base de connaissances dont le chatbot pourra se servir pour guider le client dans ses futurs achats.

Les ontologies ou taxinomies sont idéales pour représenter ces informations. Les premières servent à représenter de manière hiérarchisée des éléments (termes ou concepts) au sein d'un graphe où les relations sont soit sémantiques, soit de subsomption. Les secondes, quant à elles, permettent de représenter la manière dont les termes ou concepts sont emboîtés par des relations d'hyponymie ou d'hyperonymie.

Par exemple, une ontologie pour décrire les composants d'un cycle pourrait de manière informelle être décrite comme suit :

  • un dérailleur arrière est un dérailleur,
  • un dérailleur possède un certain nombre de vitesses,
  • un dérailleur est un composant de vélo,
  • un composant possède des caractéristiques.

La construction d'une telle ontologie se fait dans un premier temps manuellement par un expert, donc un commercial (ou un technicien spécialisé) dans le cadre de vente, puisque c'est lui qui connaît le plus précisément les produits, et en collaboration avec un spécialiste des ontologies.

Il est cependant possible de réutiliser et compléter des ontologies existantes afin de ne pas avoir à formaliser tout un domaine à partir de zéro. Il existe en effet sur le web des ontologies disponibles en libre accès, qui sont soit spécifiques à un domaine, comme par exemple la cuisine, ou générales, comme DBpedia, une ontologie qui vise à structurer les connaissances de Wikipédia. Ces ontologies peuvent être utilisées soit entièrement, soit partiellement comme base pouvant être enrichie en fonction du besoin.

Une telle ontologie doit ensuite être peuplée, c'est-à-dire qu'on va y ajouter des termes en fonction de leurs caractéristiques.

Par exemple, le produit dérailleur arrière Shimano Alivio M3100 est un dérailleur arrière, comme son nom l'indique, mais les relations établies lors de la construction de l'ontologie permettent d'inférer d'autres caractéristiques :

  • caractéristique 1 : composant de vélo,
  • caractéristique 2 : composant de la transmission du vélo,
  • caractéristique 3 : possède plusieurs vitesses (9 pour ce modèle),
  • caractéristique 4 : possède des caractéristiques techniques.

Exemple d'ontologie correspondante :

Contrairement à la construction, le peuplement de l'ontologie peut faire l'objet d'une automatisation. En effet, l'ontologie peut être peuplée automatiquement en extrayant les produits décrits dans les fichiers de produits de nos fournisseurs.

Par exemple, si une colonne du tableur contient un champ "nombre de vitesses", il est possible d'en extraire automatiquement la valeur afin qu'elle devienne la caractéristique "nombre de vitesses" du produit décrit dans l'ontologie. C'est l'avantage des données structurées.

Informations présentes dans des descriptions de produits

Les données non structurées, c'est-à-dire rédigées en langage naturel et donc non formatées pour être facilement lisibles par un programme, nécessitent une étape supplémentaire d'extraction des entités.

Extraction d'entités

Les descriptions des produits peuvent aussi servir à peupler automatiquement l'ontologie. Contrairement aux caractéristiques bien organisées dans un tableur, les descriptions en langage naturel nécessitent une étape d'extraction des entités. Celle-ci vise à localiser et classer les entités nommées présentes dans du texte non structuré. Cela revient en général à identifier des informations comme des dates, des personnes, des organisations ou des lieux ou, dans un contexte spécifique comme celui du commerce, des informations propres au domaine considéré, par exemple : Idéal sprinter à partir de Conduite agressive.

La plupart des outils d'extraction d'entités actuels reposent sur des modèles statistiques pré-entraînés capables d'extraire ces entités grâce à leur contexte d'énonciation ou grâce à certains indices linguistiques (majuscules pour les marques, par exemple), entre autres. Cependant, il est possible de spécifier les connaissances du modèle en ré-entraînant ces modèles pré-entraînés sur du vocabulaire spécifique (ici, les pièces de vélo et le jargon du cyclisme, notamment) pour être capable de détecter des produits tels que "dérailleur" ou des marques telles que "Shimano".

Création des questions de la base de connaissances

La création des questions qui formeront la base de connaissances du chatbot peut se faire de différentes manières, selon l'infrastructure choisie.

Avec saisie manuelle

L'objectif est de rédiger toutes les questions potentielles des utilisateurs ainsi que leurs alternatives. Il est aussi nécessaire de définir les synonymes et antonymes, les mots-clés pertinents, ainsi que la signification des acronymes en toutes lettres afin d'avoir le maximum d'indices possible pour identifier la ou les intentions de l'utilisateur lors de sa future conversation en langage naturel. Ce travail est long et laborieux mais il permet d'avoir un chatbot assez précis et certaines étapes peuvent être automatisées. Il est cependant difficile à maintenir en cas de mis à jour du catalogue de produits.

Sans saisie manuelle

Il existe aussi un autre moyen de générer des questions de manière quasi automatique sans saisie manuelle. En effet, la technologie de machine reading permet de créer une base de connaissances à partir d'une documentation d'entreprise rédigée sous divers formats. Pour cela, les documents sont convertis en HTML et un pré-traitement est appliqué de manière à les rendre les plus lisibles possible afin que tous les éléments présents dans des balises titres soient transformés en questions, et toutes les balises paragraphes, en réponses correspondantes. Ainsi, la documentation rédigée en langage naturel issue de l'entreprise est transformée en base de connaissances sous forme de questions/réponses pour le chatbot.

Voici un exemple concret :

 

Fiche produit

 

Base de connaissances du chatbot

Question (ajoutée automatiquement) : [Quelles sont les informations pour le] Dérailleur arrière SHIMANO ALIVIO - Dérailleur arrière SHIMANO SHADOW RD 9 vitesses [?]

Question alternative (ajoutée manuellement) : Quelles sont les caractéristiques du dérailleur arrière SHIMANO ALIVIO M3100 ?

Réponse associée (ajoutée automatiquement aux deux questions) : Le dérailleur arrière SHIMANO ALIVIO M3100 présente un profil compact qui vous permet de rouler agressivement avec moins de cassures de rythme grâce à sa conception SHIMANO SHADOW.

 

Cette façon de procéder facilite la mise à jour régulière des informations de l'entreprise puisqu'il suffit d'ajouter les nouveaux documents à la base de connaissances et d'adapter le pré-traitement à ceux-ci afin de générer de nouvelles questions pertinentes et de supprimer les anciennes.

Points d'attention

Pour enrichir les connaissances du chatbot et/ou élargir son périmètre, il peut être intéressant de combiner les informations contenues dans le catalogue de produits du fournisseur avec celles d'une FAQ déjà présente sur le site, ou bien d'avis clients sur les produits, ou encore d'échanges clients avec le service après-vente.  C'est en grande partie la qualité de la base de connaissances qui va déterminer les performances du chatbot, et donc sa pertinence et son succès auprès des utilisateurs.

Par Angeline Lacassagne
Linguiste informaticienne

Ils peuvent vous aider

Demande de mise en relation concernant l'étude de cas Construire la base de connaissances d’un chatbot
Veuillez recopier le texte ci-dessous afin de pouvoir envoyer votre message. Attention aux majuscules !
 
Automatisation de la relation client via des interfaces conversationnelles et des chatbots. Clustaar permet aux marques d'aider leurs clients en répondant automatiquement à des demandes d'informations ou de support.
 
Synapse est expert en Intelligence Artificielle appliquée au texte. Notre raison d'être est d'accompagner nos clients dans la transmission de leurs connaissances. En ce sens, Synapse intervient tout au niveau de 3 leviers : - Créer de la connaissance, à travers un outil d'aide à l'écriture qui permet d'écrire l'esprit libre : Cordial. - Structurer de la connaissance, à travers des outils d'analyse sémantique. - Partager de la connaissance, à travers un chatbot capable de se connecter à la documentation d'une entreprise et de générer automatiquement sa base de connaissances.
 
Datapolitics met la donnée au service de l'action publique. La data est partout, volumineuse, et peu structurée : son utilisation dépasse rapidement le cadre du fichier Excel. Avec Datapolitics, passez la vitesse supérieure en bénéficiant des multiples possibilités offertes par la datascience. Propulsez vos contenus au meilleur niveau grâce à nos algorithmes et nos intelligences artificielles. Nous collectons aujourd'hui les prises de position des gouvernants ou de ceux qui aspirent à le devenir et produisons des analyses automatiques au travers de la plateforme Hedwige.
 
QWAM développe des solutions logicielles d'intelligence artificielle appliquée au traitement du langage naturel. Nos solutions combinent les approches sémantiques, big data, machine learning et deep learning. QWAM intervient pour répondre aux besoins d'exploitation avancée des données textuelles existantes au sein des entreprises et organisations ou bien disponibles sur le web.
 
Callity est né en 2018 du constat que les solutions de Quality Monitoring et de Speech Analytics traditionnelles étaient dépassées. Qui peut dire aujourd’hui qu’il exploite pleinement l’ensemble de ses interactions clients ? Personne ! Chez Callity nous oeuvrons pour changer cela via une plateforme SaaS moderne, utilisant pleinement les possibilités offertes par l'intelligence artificielle, qui permette aux marques d'exploiter 100% des conversations clients et les transformer en stratégies d'acquisition, de fidélisation et de formation efficaces.
 
Semantiweb apporte un décodage marketing des contenus conversationnels spontanés des internautes. Cette expertise donne une valeur stratégique aux annonceurs, permet de créer une intimité clients, détecte les tendances de consommation et traduit les insights des marchés en les rendant opérationnels pour l’entreprise, la marque et le produit.
 
Lingua Custodia est une Fintech leader du Traitement Automatique des Langues (TAL) pour la Finance basée en France et au Luxembourg. Elle a développé son expertise avec une offre pointue de traduction automatique spécialisée par type de document financier. La société propose aujourd'hui également des services de transcription automatique, des services d'analyse linguistique de document et des services d'extraction de données via sa plateforme en ligne ou par API. Ses clients sont des institutions financières et les départements financiers de grandes sociétés et ETI.
 
Kairntech développe une plateforme d'IA visant à démocratiser et accélérer le développement d'applications basées sur le TAL au sein de l’entreprise. L’objectif est de pouvoir créer rapidement et sans programmation des robots permettant d’analyser automatiquement de grandes quantités de texte avec une très grande précision, faisant économiser du temps et des efforts. Nous aidons les professionnels de l’information et les analystes (auditeurs, analystes marketing, chercheurs scientifiques, enquêteurs…) à bâtir des applications pour gagner en efficacité tout en prenant de meilleures décisions.
 
L'APIL, association à but non lucratif, rassemble l'expertise des personnes et des industriels du traitement automatique des langues. Elle a pour ambition de promouvoir le traitement automatique des langues auprès des utilisateurs, qu'ils soient industriels ou grand public. Nous animons un réseau d'expertise en collaboration avec les acteurs spécialisés du domaine : forum JeunesTalents en collaboration avec l'ATALA, les rencontres entre membres industriels, ou l'accompagnement de projets collaboratifs innovants en partenariat international.

Vous fournissez de telles solutions et vous souhaitez faire partie de nos partenaires, contactez-nous.

Les technologies à mettre en oeuvre

Extraction d'information, de quoi s'agit-il ?
L’extraction d’information, à quoi ça sert ? L’ex­trac­tion d’in­for­ma­tion consiste à iden­ti­fier, dans des textes en langue natu­relle, des infor­ma­tions types : noms de per­sonnes ou de...
Dialogueurs / Agents conversationnels, de quoi parle-t-on ?
Qu’est-ce qu’un agent conversationnel ? Un agent conver­sa­tion­nel – ou chat­bot en anglais – inter­agit en langue natu­relle, à l’o­ral ou à l’é­crit, avec l’u­ti­li­sa­teur afin...

Ces études de cas peuvent aussi vous intéresser

Comment gérer les avis négatifs et minimiser l'impact des cas de crise sur les réseaux sociaux

Je suis responsable réseaux sociaux pour une marque de cosmétiques et je souhaite pouvoir mesurer la satisfaction de nos clients sur les réseaux sociaux afin de prendre en compte ces retours pour mieux communiquer autour de mon entreprise, ainsi que réagir au plus vite lors de potentiels cas de crise.

Un système de questions-réponses basé sur les commentaires de clients

Je suis responsable des ventes d'une entreprise de vente en ligne. Nous avons une section de commentaires où les clients publient leurs expériences d'utilisation ainsi qu'une section de questions où les prospects se renseignent sur des produits. La section de commentaires constituant une source d'informations précieuse contenant souvent des éléments non contenus dans les fichiers descriptifs envoyés par des fournisseurs, je voudrais savoir comment les avis clients peuvent être exploités afin de proposer des réponses automatiques aux questions des prospects.

Classer la polarité des avis clients de manière fine

Je suis responsable du service après-vente d'un site de vente en ligne et nous avons actuellement un système de prédiction automatique permettant de classer les avis de clients comme positifs, négatifs et neutres. Cependant, nous aimerions un système de détection qui, au lieu de donner une étiquette globale à un texte entier, fournisse des informations à un niveau plus fin. Existe-t-il des solutions de ce genre ?