Top 10 des capacités conversationnelles indispensables d’un bot 

Homme en train de coder sur son ordinateur

Le marché français et mondial des bots (chatbot, callbot, voicebot) est particulièrement fourni. On retrouve des pure-players plus ou moins récents et de grands éditeurs qui ajoutent une brique conversationnelle dans des solutions à l’origine très différentes. Il y a aussi les intégrateurs qui proposent du “sur-mesure”.

Mais tous les produits sont loin d’être équivalents. Nous vous proposons une grille de lecture qui – en fonction de vos objectifs et de vos exigences en matière d’expérience utilisateur – pourra vous aider à vous y retrouver. Cet article illustre la richesse de notre stratégie conversationnelle et propose des repères pour étudier les diverses offres qui sont à votre disposition.

Le NLP, le moteur indispensable d’un bot ia

Le fonctionnement d’un robot conversationnel repose sur un moteur de reconnaissance du langage naturel  – NLP pour Natural Language Processing – qui permet la compréhension correcte d’une part, mais aussi l’expression d’autre part.

Dydu dispose depuis le début de sa propre brique linguistique, nous ne reposons pas sur un acteur externe pour le traitement du langage naturel. Cela nous permet d’être totalement indépendants. Notre brique linguistique gère particulièrement bien le français et est à même de gérer une dizaine de langues.

De manière simplifiée

Notre brique linguistique calcule une distance entre la requête de l’utilisateur et l’ensemble des formulations comprises dans la base de connaissances. La base de connaissances est l’ensemble des questions, réponses et les variantes de formulations d’un chatbot. Lorsque cette distance (différence) est assez faible, le chatbot peut fournir la réponse à la question. On calcule cette distance grâce à un score de matching. En fonction du score obtenu, le bot répond immédiatement, propose des reformulations ou indique qu’il ne comprend pas la question. Cela permet d’assurer une pertinence des réponses bien plus importante qu’un système basé sur des mots-clés.

Ce mode de fonctionnement permet également d’identifier rapidement les requêtes qui nécessitent encore d’enrichir la base de connaissances, sans avoir besoin de vérifier en permanence ce qui fonctionne déjà. Afin d’éviter une explosion combinatoire et minimiser la charge de travail pour l’utilisateur, le logiciel propose une structure arborescente possible des phrases facilitée par la mise en place de groupes de formulations (ensemble de mots ou d’expressions synonymes ou similaires). 

Plus précisément

Le NLP dydu corrige l’orthographe, identifie les lemmes, repère les synonymes et hyperonymes, “racinise” les mots (stemming). Il effectue un calcul de distance entre tous les mots pour comprendre le sens général de la phrase. Il découpe la demande de l’utilisateur en intentions et entités. Ainsi, il matche la question de l’utilisateur avec le contenu existant dans la base de connaissances pour fournir une réponse adéquate au niveau de la phrase globale. On évite ainsi les choix intermédiaires à chaque étape qui sont autant de fausses routes possibles.

Cet algorithme va être au cœur de la performance de la solution mais de nombreuses  fonctionnalités extrêmement simples à gérer vont aussi contribuer à construire une véritable stratégie conversationnelle. Cela va permettre à l’échange d’être le plus naturel possible.

Les capacités conversationnelles indispensables d’un bot 

Enchaîner plusieurs réponses sur un même sujet

Dans une conversation entre humains, vous ne répétez pas constamment le sujet de départ. Cela paraît évident mais beaucoup de moteurs de reconnaissance du langage vont exiger que le thème abordé soit explicite dans chaque question. La gestion “des conditions de rebond” par le logiciel dydu permet d’enchainer plusieurs questions sur un même sujet. L’utilisateur n’a pas besoin de le répéter systématiquement. Par exemple, si on pose comme première question : “la mutuelle est-elle obligatoire ?”, la réponse sera “oui […] » Naturellement vient la question : “combien ça coûte ?”. Le bot comprendra “combien coûte la mutuelle » sans que cela ait besoin d’être précisé.

Proposer des réponses alternatives

Si on pose 2 fois la même question, en général c’est que la première réponse n’était pas satisfaisante. La possibilité d’y répondre une seconde fois avec une formulation alternative, une image ou un exemple concret correspond à une situation courante dans les échanges.

Expliquer

Certaines réponses peuvent être complexes. Comme dans la vie, parfois un schéma vaut mieux qu’un long discours. On pourra le présenter dans un panneau latéral ouvert comme partie intégrante de la réponse pour montrer une image ou une vidéo. On pourra aussi recourir à une formulation de la réponse sous forme d’étapes (step actions). Et ce sera particulièrement utile dans le cas de questions relatives à des façons de procéder.

Anticiper la question de l’utilisateur

Souvent et spontanément, on cherche à finir la question ou la phrase de l’autre, non pas  pour l’interrompre mais montrer son écoute et sa considération.

Dès lors que l’utilisateur se met à taper du texte dans le champ de saisie du bot, le matching fonctionne. Grace à l’auto-suggestion, le bot suggère dynamiquement des questions pré-existantes. Cette fonctionnalité est plus sophistiquée que l’auto-complétion proposée sur de nombreux téléphone mobiles. La présentation et le nombre de ces suggestions peut intégralement être paramétrée et largement optimiser les échanges. L’utilisateur n’aura qu’à cliquer sur sa question plutôt que de la taper intégralement. A noter que ce mécanisme s’appuie sur le moteur NLP dydu. C’est-à-dire que là encore cela n’utilise pas de mots clés. Cela permet de sortir des suggestions avec le vocabulaire de la marque quand bien même l’utilisateur a saisi ses propres mots. Par exemple “espace client” vs “agence en ligne”.

Poser les questions nécessaires pour apporter la bonne réponse

Sur certains sujets, le bot devra récupérer certaines informations pour fournir la réponse adéquate. Après avoir récupéré tout ce qui a déjà été fourni spontanément par l’utilisateur dans la conversation, le chatbot va demander dynamiquement à l’utilisateur de renseigner la ou les informations manquantes (Slot filling). Ce sera notamment le cas dans la recherche de billets ou d’événements, pour laquelle il convient de connaître lieu(x), date(s), heure(s)…

Préciser une réponse par un complément d’information ou une suggestion d’action

On peut en effet considérer qu’il est plus utile et pertinent d’utiliser des compléments de réponses en fonction de données propres à la conversation de l’utilisateur final. Le bot reconnaît un comportement ou des expressions prédéfinies utilisés au cours de la conversation et déclenche une action spécifique. Par exemple, il peut donner une réponse et proposer une url de redirection dans un second temps. Autre exemple, si le bot n’a pas donné de réponse plus de 2 fois au cours de la conversation ou si les mots « résilier » ou « modifier mon contrat » ont été utilisés, une escalade vers un opérateur humain pourra être définie comme automatique. Chaque administrateur de bot peut définir ce qui est le plus approprié à son entreprise.

Donner des réponses personnalisées

C’est souvent ce qui fera la valeur perçue de votre bot. Et c’est sur ce sujet que les performances du moteur dydu sont surement les plus performantes intrinsèquement. Mais aussi parce que la connexion via API avec d’autres systèmes d’information vont permettre au bot d’enrichir son discours avec des éléments spécifiques à l’utilisateur. Dans le cadre d’une connexion à un CRM, il sera possible d’identifier un client existant disposant par exemple de codes promotionnels spécifiques. Dans une banque, il sera possible après authentification de communiquer son solde bancaire à l’utilisateur titulaire. Autre exemple, dans le cadre d’une connexion à un SIRH, il sera possible à un collaborateur de connaître son solde de jours de congés exact et non pas uniquement le nombre de jours de congés offerts à tous les collaborateurs de l’entreprise.

Dans la mesure où votre bot est plus pertinent lorsqu’il apporte des réponses courtes et précises, une réponse peut être fournie sous forme d’arbre de décision.

Les arbres de décisions permettent de gérer contextuellement la question de l’utilisateur. Ainsi pour répondre précisément à la question, le bot va articuler des sous questions nécessaires à sa réponse finale. Par exemple si vous demandez au chatbot de votre mairie comment obtenir un acte d’état civil, il va vous demander de choisir entre acte de naissance, acte de décès et acte de mariage. Au premier clic, le bot demandera si le demandeur est né en France ou à l’étranger. Enfin, le bot précisera les modalités d’obtention d’un acte de naissance pour un citoyen français.

La compréhension du contexte de l’utilisateur est clef pour pouvoir apporter une réponse spécifique et non générique. 

L’utilisation des variables permet au chatbot de récupérer des données utilisateurs au cours de la conversation. Et de les exploiter pour répondre à l’utilisateur du bot.

Ces variables peuvent se récupérer par une déclaration explicite de l’utilisateur. Ou un transfert du contexte du chatbot (via la page web où il est présent, sa géolocalisation ou son numéro de téléphone dans la cadre d’un callbot). Ou encore une information issue d’une API. Il peut s’agir du nom de l’utilisateur, de son âge, de son type de contrat ou tout autre type de renseignement que l’utilisateur aura donné au cours de la conversation, ou qui aura été récupéré via une authentification (forcément acceptée par l’utilisateur et encadrée par la RGPD).

Savoir gérer les digressions

Lorsqu’une conversation « entre » dans un arbre de décision, rien n’empêche l’utilisateur de poser une question sur un autre sujet. On pourra très simplement lui répondre et dérouler la fin de l’arbre de décision ensuite.

Voici un exemple :

  • Utilisateur : « Je souhaite recevoir ma facture par email »
  • Bot : « Pour souscrire gratuitement au service de facture dématérialisé, j’ai besoin que vous me communiquiez votre référence client. (Dans l’arbre de décision on attend ici la saisie de la référence client, mais l’utilisateur va solliciter une autre connaissance)
  • Utilisateur : « Où puis-je trouver ma référence client ? »
  • Bot : « Vous pouvez trouver votre référence client sur vos factures, en haut à droite ».
  • Utilisateur : « 1234ABCD »

Alors, l’arbre initial reprend…

Deviner une réponse à partir de l’historique de la conversation

Une autre fonctionnalité native permet, sans créer d’arbre de décision, de mieux comprendre une question de l’utilisateur en fonction de l’historique des questions posées.

Imaginons qu’une base de connaissance RH contient les connaissances suivantes :

  • A quoi sert l’application XX ?
  • Comment installer l’application XX ?
  • A quoi sert l’application YY ?
  • Comment installer l’application YY ?

On peut alors imaginer une conversation de type :

Visuel chatbot dydu

En considérant la question seule et sans contexte, le moteur ne peut pas déterminer qu’il s’agit de la connaissance relative à l’installation de l’application XX ou YY. Mais en utilisant l’historique de la conversation, il donnera à l’utilisateur la réponse à la question « Comment installer l’application XX ».

Juste être poli 🙂

“Bonjour”, “au revoir”, “merci”, “raconte moi une blague”… Pas d’expérience conversationnelle sans “small talks” qui permettent de fluidifier les échanges. Tous les bots ne disposent pas en standard du socle relationnel ou base sociale qui, s’il est à créer, prend tout simplement beaucoup de temps. 

En résumé, c’est parce que la technologie dydu sait tenir compte du contexte et aborder plusieurs sujets en même temps, qu’elle peut optimiser les interactions avec vos utilisateurs. Et c’est bien ce qu’ils recherchent : quelque soit leur façon de s’exprimer, obtenir des réponses précises à leurs questions, vite et bien. En bref, et c’est en amélioration continue, la technologie dydu se met à la place de ses interlocuteurs !

Lire les autres articles de la série Stratégie Conversationnelle :