Data Science et service client : la forme des données

--

Précédemment sur le blog d’Hubware, je présentais pourquoi il est crucial de bien décrire un problème avant d’essayer de le résoudre.

Dans l’exemple du service client, le problème est celui du diagnostic. De nombreux clients interagissent avec une machine bien huilée (un commerce, une banque, etc). Cette majorité reste silencieuse, et ignore paisiblement la complexité du mécanisme.

Or, parfois, le mécanisme dysfonctionne. Le client se retrouve dans la situation suivante :

Le conseiller voit le mécanisme de l’intérieur, peut identifier ce qui n’a pas marché, et donc résoudre le problème du client !

Aidez-moi, Conseiller, vous êtes mon seul espoir

Possède-t-il des lunettes magiques ? Non. Voici ce qu’il a sous les yeux.

Polyvalent sinon rien

Ci-dessus sont représentées les nombreuses sources de données auxquelles le conseiller a accès. Passons-les en revue.

Le système d’information

Une entreprise typique manipule une quantité considérable d’informations. Un commerce a des fournisseurs, un catalogue. Les clients passent des commandes, qui entraînent des mouvements de stocks, des livraisons. Les clients ont un nom, une adresse, un panier, un historique…

Ces données sont dites structurées. Tout comme un livre de comptes, une liste de courses, elles sont faites pour être explorées mécaniquement.

Chaque entreprise a son petit éventail de logiciels qui permettent aux conseillers de fouiller ces données, à force de clics et de formulaires. C’est souvent fastidieux, mais cela permet de savoir que Mme Untel a passé la commande 3401213, et que celle-ci concerne un produit X de la marque Z.

D’une entreprise à l’autre, on retrouve des types d’information similaires. La plupart des e-commerces représentent le concept de « date estimée de livraison » d’une façon ou d’une autre.

D’un service client à l’autre, les conseillers mettent plus ou moins de temps à récupérer l’information dont ils ont besoin. Mais laquelle ?

Le message entrant

Tout dépend du message du client. S’il demande « où est ma commande », il va falloir consulter son dernier achat, la livraison associée et son état. S’il demande « tel produit sera-t-il bientôt disponible », ce sera le catalogue et les fournisseurs appropriés.

Encore faut-il comprendre le message du client. Dans un système d’information bien conçu, chaque information a une place dédiée et fixe. Si un conseiller cherche le descriptif d’un produit, il saura où le trouver.

Le client, pour sa part, communique en langage naturel : en français, anglais, allemand… C’est une donnée non structurée. Impossible de formaliser simplement les phrases que nous utilisons, de dire que le quatrième mot de chaque texte correspond à l’intention de l’auteur.

Le langage est extrêmement flexible. Il existe quelques douzaines de façons d’expliquer votre problème, en utilisant des mots différents, en changeant la tournure des phrases. Pourvu que votre message soit suffisamment détaillé, le conseiller qui vous lira vous comprendra.

Que faire, ensuite, de votre demande ?

La procédure et le bon sens

Un conseiller fraîchement engagé ne saura pas répondre aux clients. Où se trouve l’historique des livraisons ? Quelles formulations employer ?

Cette connaissance est souvent décrite de façon informelle. Une présentation, lors de la formation du conseiller, décrit la procédure à suivre en cas de retour d’un produit. Les premiers jours de travail entraînent le conseiller à s’orienter dans les outils de l’entreprise.

En particulier, les formulations d’usage, les réponses toutes faites aux questions les plus fréquentes, sont parfois intégrées au logiciel de gestion de relation client… ou copiées-collées depuis un éditeur de texte.

Avec l’expérience, le conseiller affine encore ses compétences, en sachant reconnaître un client dans une situation exceptionnelle, savoir à quel moment octroyer un bon d’achat, écrire des réponses personnalisées, etc. Ce savoir-faire n’est presque jamais explicité. Il est extrêmement difficile à transmettre.

La forme des données

Le travail d’un conseiller demande donc de jongler avec des informations de différentes sortes, et alors ?

Le problème est que ce jonglage est pénible, et prend du temps ! Parcourir un système d’information est l’équivalent moderne de chercher dans un dictionnaire papier la date de naissance d’une personnalité : le faire une fois ça va, le faire toute la journée est insupportable.

C’est d’ailleurs notre mission chez Hubware : accompagner le travail des conseillers, grâce à un Assistant intelligent qui (entre autres) leur donne un accès immédiat aux informations dont ils ont besoin.

Or, comme nous l’avons décrit dans notre précédent article, afin de suivre le conseiller, la machine doit avoir accès aux mêmes sources d’information.

La machine n’a pas encore de bon sens, mais on y travaille

De notre point de vue, celui des concepteurs de la machine, nous devons trouver un moyen d’exploiter ces sources efficacement. Reprenons-les dans l’ordre, cette fois avec les regards croisés du data scientist et de l’ingénieur.

Le système d’information

Les données structurées sont apparemment une aubaine : déjà conçues pour être exploitées par une machine, il suffit juste de les récupérer et de les passer à la machine, n’est-ce pas ?

Hélas, non :

  • les bases de données de l’entreprise sont accessibles par un logiciel dédié, mais pas forcément par une API ouverte (i.e. un service qui permet de les récupérer de façon « brute » depuis l’extérieur) ;
  • chaque entreprise possède son organisation. Une date de livraison va parfois être associée à un produit, parfois à un achat, parfois à un colis ;
  • certaines données ne correspondent pas au même concept. Chez un commerçant « traditionnel », le délai de livraison se calcule dès le passage de la commande. Pour un site de vente privée, il se calcule à partir de la fin de la vente.

Sans compter les problèmes de format, de données incomplètes, pas à jour, instables, erronées, indisponibles pour cause de maintenance… Nous pouvons néanmoins nous en sortir, moyennant quelques discussions avec les équipes de l’entreprise et une quantité indéterminée de café.

Ceci était la partie facile.

Le message entrant

Pour une machine, un texte en langage naturel n’est qu’une suite de caractères. La donnée elle-même n’a pas de structure. Or, pour un humain, le langage est organisé !

Un texte se découpe en mots, en phrases, en paragraphes, possède une orthographe, une grammaire, une syntaxe, une morphologie. Le langage suit des règles, et les brise fréquemment. Les mots ont un sens, ils se rattachent à des concepts abstraits, des objets physiques, des événements. Ce sens est ambigu : un texte s’interprète en fonction de son contexte.

Les humains nagent intuitivement dans cette complexité depuis leur plus jeune âge. Pour une machine, comprendre un texte est un miracle de subtilité.

Les dernières avancées en traitement du langage naturel (le sous-domaine approprié de l’intelligence artificielle) nous permettent une compréhension partielle du texte : extraire le type de la demande formulée par le client, les produits qu’il mentionne, replacer son vocabulaire dans le contexte de l’entreprise…

Afin de permettre à la machine d’apprendre à extraire ce genre d’information, il lui faut des exemples, des textes représentatifs de chaque catégorie de demandes, des textes où l’information à extraire est clairement annotée, et ainsi de suite.

Ces annotations sont coûteuses, par l’expertise de l’humain qui les réalise, et fastidieuses. Nous développons donc, chez Hubware, des techniques pour annoter de grandes quantités de données, de façon fiable, avec un minimum d’intervention humaine.

Le plus difficile reste encore à faire.

La procédure et… le bon sens ?

Exprimer une procédure à suivre à une machine revient à la programmer. La tâche est notoirement ardue, car toute règle humaine a de nombreuses exceptions. Essayez donc d’expliquer à quelqu’un, précisément, quand utiliser le tutoiement ou le vouvoiement.

Si un client demande où est passée sa commande, et qu’elle apparaît comme « au point relais », lui répondre qu’elle est disponible. Sauf si le client précise qu’il a déjà tenté d’aller la chercher. Ou si la commande attend depuis plus de 15 jours. Ou si le point relais est fermé pour congés, ce qui n’apparaît nulle part dans votre système mais que le client vient de signaler.

Même le conseiller le plus expérimenté ne pourra pas énumérer tous les cas particuliers qui peuvent survenir. Il saura pourtant s’adapter chaque fois qu’un nouveau spécimen se présentera.

Pas la machine.

Aucune machine n’est encore assez intelligente pour embrasser pleinement le chaos du monde réel.

Comme pour le langage, des milliers de scientifiques y travaillent.

À bien les observer, la diversité des sources de données apparaît clairement. Comment la machine peut-elle apprendre de tout cela ?

Le reflet d’un système

Photo by Farsai C. on Unsplash

Un dès pièges les plus cruels du big data est de considérer que toutes les données se ressemblent.

« On a plein de données, une machine surpuissante, la machine trouvera bien un moyen d’en faire quelque chose ». L’apprentissage ne marche pas comme ça.

Un bébé humain passe des mois entiers à écouter des gens parler, avant de pouvoir prononcer la moindre phrase intelligible dans sa langue maternelle. Un adulte, par contre, a déjà une idée de ce à quoi le langage ressemble, et peut apprendre quelques phrases dans une nouvelle langue en moins d’une journée.

L’apprentissage par les machines, aujourd’hui, ressemble plus à celui des adultes. Il se base sur un mécanisme existant.

Le service client est une invention humaine. Nous savons comment le mécanisme est censé marcher. C’est cette connaissance qui guide le conseiller lorsqu’il recherche, ce qui ne va pas, pour répondre au client.

Ce mécanisme guide également notre Assistant. Nous savons, notamment, qui a besoin de quelles données, à quel moment, et lesquelles nous pouvons manipuler le plus efficacement.

Par exemple, nous pouvons épargner aux conseillers des heures de clics fastidieux, car nous savons quelles informations ils vont péniblement extraire de leur système. L’Assistant le fait pour eux.

Notre Assistant détecte une question simple et fréquente du client. Nous demandons aux experts du service si les conseillers veulent s’en décharger. Si c’est le cas, l’Assistant y répondra pour eux.

Nous comparons la procédure informelle décrite par les service, avec les observations que notre Assistant collecte. Nous en discutons avec les conseillers, et chaque retour d’expérience fait progresser l’Assistant.

Notre stratégie est d’intervenir sur des points précis du service, partout dans le service.

Pas de masses de données informes. Pas de temps perdu sur des problèmes insolubles. Pas de « magie du big data ».

Grâce à notre connaissance des données du service client, nous pouvons cibler ce dont nous avons besoin pour aider l’humain à coup sûr. Nos travaux s’adaptent à chaque source de données, de la plus explicite à la plus ambiguë, pour en retirer ce qui sera utile à notre Assistant.

Le conseiller sait s’orienter dans les données. Notre Assistant apprend à faire de même.

En quatre mots : comprendre, pour mieux aider !

Ces sujets vous concernent ? Vous souhaitez en savoir plus ?

Contactez-nous dès maintenant !

En attendant, retrouvez nous sur Twitter, Facebook, LinkedIn et notre site hubwa.re !

Si vous aimez cet article, 👏 ci-dessous.

--

--