Extraire des réponses à des questions de prospects à partir des avis clients
|
|
Le besoin
Un système de questions-réponses basé sur les commentaires de clients
Répondre rapidement aux questions des prospects est un élément crucial pour convertir ces derniers en clients. À moins de recruter, à grands frais, un grand nombre d'agents humains pour qu'ils puissent travailler à tour de rôle, il est quasiment inenvisageable d'assurer une présence humaine 24 h/24. Cependant, laisser les prospects en attente de réponses, c'est prendre le risque de les voir partir vers des sites concurrents et, à plus long terme, de se voir attribuer l'image d'une entreprise de vente en ligne incapable d'interagir rapidement avec des clients potentiels.
Forts d'une section de commentaires riches d'informations, nous avons besoin d'un système de questions-réponses apte à comprendre les questions des prospects ainsi qu'à proposer des éléments de réponse pertinents basés sur les avis clients.
La solution
Que peut m'apporter le NLP
Informer et guider les prospects de manière automatisée
Il existe plusieurs approches pour répondre automatiquement aux questions de prospects :
- De manière moins directe, l'analyse de sentiments à base d'aspects (aspect-based sentiment analysis, ABSA en anglais) permet d'orienter les prospects vers des informations plus ciblées : retours sur les docteurs ou l'équipe d'accueil d'un centre dentaire, polarité des commentaires de clients sur la durée de batterie d'une montre électronique, etc.
- A partir des informations contenues dans le catalogue de produits, il est également possible d'intégrer un chatbot à son site de commerce en ligne via la structuration des informations sous forme d'ontologies.
L'ABSA a l'avantage d'exploiter les avis clients disponibles déjà en masse sur des produits ou entreprises, comme le montre l'écran ci-dessous tiré d'une page sur Google Maps. En cliquant sur les boutons, les utilisateurs peuvent obtenir des renseignements extraits grâce à l'analyse automatique.
L'avantage principal d'un chatbot basé sur des ontologies consiste à répondre aux questions des prospects à l'aide du langage naturel, et ce, sans se limiter à des aspects pré-définis.
Ces deux approches étant complémentaires l'une de l'autre et non satisfaisantes dans le cas où les prospects demandent des informations plus précises, les grands sites de commerce en ligne tels qu'Amazon mettent souvent en place également une section de questions-réponses sous la présentation des produits. Les commerçants et les clients ayant déjà acheté un article peuvent ainsi répondre aux questions des prospects, comme le montre l'écran suivant. Vu que le processus est manuel, le délai de réponse peut souvent varier entre quelques heures et plusieurs jours.
Extraction de réponses basée sur les commentaires de clients
Pour raccourcir le temps de délai des réponses et profiter pleinement des commentaires de clients, il existe une troisième approche, appelée système de questions-réponses extractif (extractive question answering en anglais). Cette solution consiste à retrouver les segments de texte les plus pertinents à une question donnée, illustrée à l'aide de l'écran ci-dessous où la réponse à la question "quelle est la première œuvre de Beethoven" est extraite d'une biographie indexée sur Google (extrait optimisé selon la terminologie de Google).
En effet, lorsque les commentaires sont trop nombreux, les prospects peuvent se perdre dans la masse d'information et, par conséquent, quitter le site avant de trouver sa réponse. Un système capable d'extraire les réponses à partir des commentaires est une solution idéale pour pallier ce problème car :
- Un tel système trie les commentaires en fonction de sa pertinence, permettant aux prospects de se focaliser rapidement sur les commentaires qui les intéressent.
- En plus, le segment de texte le plus informatif est remis en relief, maximisant le gain de temps pour les lecteurs.
- Tout le processus est automatisé.
Principales composantes d'un système d'extraction de réponses
3 composantes sont en général nécessaires à la mise en place complète d'un système d'extraction de réponses :
- Un sélecteur de passage ou de commentaire en l'occurrence (retriever en anglais) pour sélectionner les textes pertinents à la requête (question de prospect).
- Un ordonnanceur de passage, intégré souvent dans le sélecteur, pour ordonner les textes sélectionnés.
- Un lecteur de passage (reader en anglais) pour extraire les réponses.
Prenons un exemple concret. Un prospect pose une question sur la qualité des touches d'un clavier, l'étape 1 consistera à sélectionner les commentaires en lien avec les touches, l'étape 2 ordonne les commentaires sélectionnés en fonction de leur pertinence, car il est courant de sélectionner un nombre limité de textes pour ne pas submerger le prospect. Enfin, l'étape 3 identifie le début et la fin de la réponse qui serait contenue dans chaque commentaire.
Le retriever est généralement mis en place grâce à la comparaison du texte de la question avec chaque commentaire. Pour cela, deux familles de méthodes sont possibles :
- Les méthodes non deep learning basées sur une représentation vectorielle d'un texte du type TF-IDF (voir cette FAQ sur le fonctionnement d'un module de recherche textuelle pour une présentation plus détaillée). Ces méthodes ont l'avantage de consommer moins de ressources computationnelles avec à la clef un temps de traitement relativement court.
- Les méthodes deep learning basées sur une représentation vectorielle sémantique produite par un modèle de langue pré-entraîné du type BERT, plus gourmandes en termes de puissance de calcul mais qui offrent de meilleures performances notamment dans le cas où le mot-clé de la question n'est pas contenue dans les commentaires. Un autre atout de ces méthodes est sa plus grande robustesse face à des textes contenant des fautes de frappe et des erreurs grammaticales.
Du côté du reader, les meilleures solutions d'aujourd'hui sont basées sur le deep learning, notamment à l'aide de l'apprentissage de transfert (transfer learning).
Dans un premier temps, un modèle de langue pré-entraîné (du type CamemBERT en français) est ajusté sur un jeu de données de questions-réponses couvrant des domaines très variés pour que ce premier acquière des capacités de compréhension globales lui permettant d'extraire des réponses à partir d'un texte. Ensuite, un jeu de données spécifiques, commentaires de clients dans notre cas, est utilisé pour poursuivre l'entraînement du modèle afin qu'il acquière des connaissances spécifiques à un domaine donné (adaptation de domaine, domain adaptation en anglais).
Cette méthode à deux phases répond à une réalité : peu d'entreprises disposent de grandes quantités de données sous forme de questions-réponses annotées dont la création pose de lourdes contraintes budgétaires. Pour cette raison, l'apprentissage de transfert seul est généralement non suffisant et il est plus efficace de prendre un modèle « général » et de l'adapter en fonction de ses besoins.
L'écran ci-dessous montre l'avantage et le fonctionnement d'un modèle ajusté, mais non adapté de CamemBERT sur 3 jeux de données généraux. Il s'agit ici d'une question plutôt difficile car « de mauvaise qualité », qui plus est mal orthographiée, est une notion subjective et un mot-clé absent dans le commentaire (contexte sur l'écran).
Enfin, il tout à fait possible de concevoir des systèmes de questions-réponses multilingues, comme illustrent les deux écrans ci-dessous provenant du modèle XML-Roberta, un modèle de langue pré-entraîné multilingue utilisé par de nombreuses entreprises (il s'agit ici de français et anglais). Notons que bien que la réponse en français reste la même, la confiance du modèle est plus basse par rapport au modèle unilingue ci-dessus (0.223 vs. 0.682).
Points d'attention
La performance d'un système de questions-réponses extractif tient à plusieurs facteurs, dont entre autres la précision du retriever et la capacité compréhensive du reader. Il est de ce fait crucial de veiller au bon fonctionnement de l'ensemble du pipeline afin de bâtir un système réussi. Il est aussi important de noter qu'il est tout à fait possible de combiner les commentaires de clients, les informations contenues dans le catalogue de produits ainsi que des ontologies dont la synergie permettra de maximiser la probabilité de bien répondre aux questions de prospects.