Prédire la satisfaction du client en utilisant Deep Learning

Les entreprises peuvent prédire la satisfaction des clients et le NPS en utilisant l'intelligence artificielle.

Introduction

En 2020, une importante banque nous a demandé de l'aide. Cette banque avait le meilleur service client numérique du secteur, quotidiennement ils étaient capables de répondre à des milliers de demandes de clients en temps réel via le chat, Whatsapp, et d'autres canaux. Cependant, elle avait un problème : à la fin de chaque conversation, elle demandait au client s'il était satisfait du service, mais seuls 15 % répondaient à la question, ce qui leur permettait de prendre des mesures de fidélisation ou de vente.
Il y avait 85% qui ne répondaient pas et qui ne pouvaient donc pas déclencher d'actions concrètes.
À partir de milliers de conversations sauvegardées qui avaient une réponse concrète, nous avons entraîné les modèles de détection personnalisés de Deep-Talk.ai à prédire la satisfaction des clients à l'aide de centaines de variables générées pendant une conversation.
Nos modèles combinent différentes sources de données pour faire les prédictions, d'une part, nous générons des clusters des conversations et d'autre part, nous utilisons les données numériques associées à une conversation telles que les temps d'attente, la durée des conversations, le nombre de messages, etc.
En utilisant une API fournie par Deep Talk, la banque a implémenté dans son système de centre de contact une métrique spéciale qui prédit la satisfaction du client dans chacune des conversations auxquelles les cadres ont assisté, même si le client n'a pas répondu à l'enquête.

L'ensemble de données

Les clients évaluent les conversations sur une échelle d'étoiles allant de une à cinq, ou de une à sept étoiles, le nombre d'étoiles correspondant à une plus grande satisfaction. Nous divisons les conversations en deux groupes en fonction de leur classement par étoiles. Les conversations avec 1 ou 2 étoiles reçoivent une valeur cible de 0 (conversations mal notées), les conversations avec 4 ou 5 étoiles (6 ou 7 pour une échelle de notation à 7 étoiles) reçoivent une valeur cible de 1 (conversations bien notées). Nous ne tenons pas compte des conversations qui ont reçu d'autres valeurs de notation.

Nous filtrons les conversations dans lesquelles le client n'a pas répondu à la première réponse du cadre, car dans ces cas, il n'y a pas eu de véritable conversation.

Il nous reste environ 120 000 conversations, dont 80 % appartiennent au groupe positif, ce qui rend l'ensemble de données assez déséquilibré. Pour construire le modèle, nous divisons ces conversations en un ensemble de formation, de validation et de test. Ici, nous créons un ensemble de validation et de test équilibré, de sorte que nous pouvons utiliser la précision de prédiction comme une métrique fiable pour évaluer nos modèles. Lorsque nous équilibrons l'ensemble de données, nous effectuons un équilibrage par étiquette afin de respecter l'origine de toutes les conversations (étiquettes de projet telles que "Société x", "récupération de mot de passe", ...). Ainsi, notre jeu de données de test final est équilibré par étiquette et dans sa totalité.
Le déséquilibre de l'ensemble de données d'entraînement est laissé comme un hyperparamètre : Pendant la formation, nous construisons des modèles avec différents niveaux de déséquilibre pour voir comment le déséquilibre affecte la performance du modèle.

Pour chaque conversation, nous calculons diverses métadonnées (telles que le temps de réponse moyen de l'utilisateur, la durée de la conversation, le nombre de jetons utilisés, ...) et utilisons l'API NLP de Google pour recueillir les sentiments des conversations. Ces caractéristiques sont utilisées lors de la construction du modèle en plus du texte pur de la conversation. Dans ce qui suit, nous traitons les caractéristiques de sentiment et les autres caractéristiques de métadonnées de la même manière. Par conséquent, nous parlerons simplement de caractéristiques de métadonnées.

Méthodologie

Nous construisons des caractéristiques de texte dépendant de l'utilisateur, ce qui signifie que nous construisons des caractéristiques distinctes pour le texte provenant de l'utilisateur ou du client. Pour transformer le texte en caractéristiques numériques, nous utilisons la statistique tf-idf (term frequency - inverse document frequency) qui tente de refléter l'importance d'un token dans son contexte. Les hyperparamètres pour la tokénisation (gamme de ngrams, méthode de prétraitement, méthode de tokénisation, etc.) sont modifiés pendant la formation et optimisés en utilisant l'ensemble de données de validation.
Nous utilisons la SVD (décomposition en valeurs singulières) pour réduire la dimensionnalité des caractéristiques résultantes. Là encore, le nombre de composantes de la SVD est laissé comme un hyperparamètre à définir avec l'ensemble de données de validation.

Les caractéristiques des métadonnées sont mises à l'échelle dans un intervalle de [0, 1], mais aucun autre prétraitement n'est appliqué. Nous calculons la médiane pour chaque caractéristique afin de remplacer les valeurs manquantes par celle-ci. Pendant l'apprentissage, nous utilisons différents sous-ensembles de caractéristiques de métadonnées afin de limiter le nombre de caractéristiques et d'éviter un ajustement excessif.

Nous empilons les caractéristiques du texte et des métadonnées dans un seul tableau et formons un classificateur final avec celui-ci. Ici, nous nous sommes concentrés sur un classificateur de régression logistique.

Résultats

La précision finale que nous pouvons obtenir en combinant les métadonnées et les caractéristiques textuelles est de 74,9 % sur l'ensemble de test équilibré. Comme nous n'utilisons pas les caractéristiques de sentiment dans le déploiement (car nous devrions nous connecter à l'API NLP de Google), un modèle reposant uniquement sur les caractéristiques de texte est actuellement déployé. Ce modèle a une précision légèrement inférieure à celle de l'ensemble de test, soit 74,2 %. Le modèle construit 200 caractéristiques textuelles par type de personne (client et utilisateur) sur la base d'une plage de ngrams (1, 3).

En général, nous constatons que les caractéristiques dérivées du texte sont beaucoup plus importantes pour le modèle que les caractéristiques des métadonnées. Cependant, les caractéristiques des métadonnées permettent d'augmenter la précision de 0,5 à 1%.

Voici des exemples de jetons qui aident le plus le modèle à prendre une décision : "muchas gracias", "nada mas", "solo eso", "pero no", "no tengo", "no puedo", "invitamos communique través", "solo para asistencia", "sucursales", "acepta cargo".

Métadonnées d'analyse

Même si les caractéristiques des métadonnées n'ont pas un impact important sur la précision finale de la prédiction de la satisfaction du client, il est important de comprendre comment la satisfaction du client est corrélée avec elles. Pour mieux comprendre l'importance des caractéristiques des métadonnées, nous avons effectué une analyse qui quantifie le moment où une conversation est deux fois plus susceptible de recevoir une évaluation négative. Parmi toutes les conversations, seules 20 % ont reçu une évaluation négative. Nous avons cherché des régions dans l'espace des métadonnées dans lesquelles ce taux augmente pour atteindre le double de sa valeur. Une telle analyse sera très utile à l'avenir si nous voulons faire des prédictions en direct de la satisfaction du client pendant une conversation. Nous résumons ici rapidement nos résultats en énumérant les caractéristiques de métadonnées les plus importantes qui présentent une forte corrélation avec une probabilité plus élevée qu'une conversation reçoive une évaluation négative.

  • le sentiment moyen du client dans le dernier tiers de la conversation
  • longueur du dernier segment utilisateur
  • nombre total de segments
  • temps par message
  • temps de réponse moyen à l'utilisateur
  • nombre de jetons utilisés par le client
  • temps de réponse moyen au client

Nous supposons qu'en particulier ces caractéristiques aident à augmenter la précision de la prédiction de la satisfaction du client, cependant, nous n'avons pas encore effectué une analyse détaillée à ce sujet.

Résumé et perspectives

Nous avons mis en production un modèle qui peut prédire la satisfaction du client à la fin d'une conversation avec une précision de 74,2%. Cela peut aider la banque à obtenir un meilleur rapport de la satisfaction de ses clients à partir des conversations passées. Seulement environ 28% de toutes les conversations de la Banque reçoivent une évaluation. Ce modèle peut aider la banque à mieux comprendre comment ses utilisateurs ont perçu les 72% restants de leurs conversations. Outre cette application informative, le modèle peut aider la Banque à mieux contrôler la satisfaction à l'avenir, car elle peut recevoir un retour d'information, même si une conversation n'est pas évaluée.