26 août 2016

A la découverte des chatbots - Définition & Usage

Design & Code

Nicolas

Erny

26 août 2016

A la découverte des chatbots - Définition & Usage

Design & Code

Nicolas

Erny

26 août 2016

A la découverte des chatbots - Définition & Usage

Design & Code

Nicolas

Erny

Dans cet article, nous allons tout d'abord essayer de comprendre ce qu'est un chatbot (définition), leur intérêt et comment les rendre efficaces et pertinents. Dans un second temps, nous nous intéresserons à la création d'un chatbot en utilisant Microsoft Bot Framework.

Mais qu'est-ce que c'est un chatbot (définition) ?

Il s'agit d'un agent conversationnel, c'est à dire un programme capable de simuler une conversation en langage naturel.

Pourquoi un tel engouement autour de ce nouveau buzzword ?

La raison est en fait très simple. Les plateformes de messagerie instantanée comme Facebook Messenger ou WhatsApp sont en pleine croissance. Ces applications sont actuellement le premier moyen pour atteindre les utilisateurs (1,2 milliards d’utilisateurs mensuels), toutes générations confondues. Les entreprises l’ont parfaitement compris. C’est ainsi que les applications de type Messenger participent à toutes les étapes de vie du consommateur :

  • Notoriété des marques

  • Acquisition de nouveaux consommateurs

  • Achat

  • Service

Les chatbots sont désormais au coeur de cette nouvelle stratégie des marques.

Les différents types de chatbots

Linéaire

Un chatbot linéaire est basé sur un arbre décisionnel. Il impose ainsi à l’utilisateur de faire un certain nombre d’actions correspondant au parcours de cet arbre.

Prenons comme exemple un chatbot spécialisé dans la restauration. Le schéma suivant décrit un arbre de décision simplifié.

chatbot

Une réservation va se faire en plusieurs étapes guidées:

  • Choix du restaurant

  • Nombre de personnes

  • Horaires

  • Nom du restaurant

Avec ce type de chatbots, les contraintes sont fortes sur l’utilisateur qui a donc uniquement un rôle passif dans la conversation.

Inconvénients des chatbots linéaires:

  • Ils ne gèrent pas les questions ouvertes

  • Ils nécessitent beaucoup d’étapes avant de fournir une réponse pertinente

Non Linéaire

En utilisant l’intelligence artificielle, on s’éloigne du schéma contraint des bots linéaires afin de rendre l’expérience utilisateur beaucoup plus humaine.

Le chatbot va être capable d’analyser et d’interpréter des questions ouvertes en utilisant des briques NLP (Natural Language Processing). Le nombre d’étapes nécessaires avant d’obtenir une réponse pertinente se retrouve ainsi réduit.

Si on reprend l'exemple précédent du chatbot spécialisé dans la restauration, l'utilisateur va pouvoir maintenant formuler des requêtes simples en langage naturel :

"Réserve une table pour 3 à 19h chez Barney."

On peut ainsi réserver une table en une seule étape. L'expérience utilisateur se retrouve donc considérablement améliorée.

Le schéma ci-dessous récapitule le fonctionnement des chatbots linéaires et non linéaires.

chatbot

Hybride

Un chatbot hybride est à la fois linéaire et non linéaire. En effet, il se base sur un arbre de décision ainsi qu'une partie IA.

Lorsqu’on atteint les limites de compréhension du module d’IA, le bot bascule sur la partie linéaire afin de recadrer la conversation.

Comment réussir son chatbot ?

Plusieurs éléments sont essentiels à un chatbot performant ! Vous pouvez retrouver un guide mis à jour en 2021 traitant des capacités conversationnelles que doit posséder un chatbot, et diverses informations sur la définition d'un chatbot. D'ailleurs si vous souhaitez expérimenter la création d'un chatbot, testez notre solution Chatbot Fabric gratuitement sur notre plateforme SaaS XComponent

Conversation

L’objectif est d’obtenir une expérience intuitive et humaine. Pour cela, il faut se concentrer sur les éléments suivants :

  • Gestion du rythme : afin de se rapprocher d’une conversation humaine, les messages et les délais de réponse doivent être courts (message de 80 caractères maximum / 3 secondes maximum de temps de réponse) de manière à conserver une certaine fluidité.

  • Proposer une expérience digitale riche qui génère de l’émotion. On peut utiliser des emojis et des médias diversifiés (gif, vidéos…)

  • Contextualisation des réponses pour les rendre plus personnelles

  • Small talks : le bot doit être capable de comprendre tous les petits mots (banalités) et interjections

User Interface (UI)

Dans un chatbot, une conversation se matérialise au travers d'une UI. Dans sa forme la plus simple, la UI est composée essentiellement de texte (les phrases de la conversation). Mais l'interface peut facilement s'enrichir : emojis, images, vidéos, liens etc...

L'exemple ci-dessous montre la UI riche d'un chatbot d'une compagnie aérienne :

chatbot

Philosophie d’un chatbot : créer de la valeur en faisant gagner du temps aux utilisateurs.

Pour cela, il est important de faire des choix de UI pertinents. Par exemple, on utilise des boutons ou des liens uniquement quand cela apporte un gain pour l’utilisateur.

Escalade vers l’humain

Les chatbots deviennent de plus en plus intelligents. Cependant, ils ne peuvent complètement remplacer les interventions humaines.

Les scénarios suivants illustrent justement des cas où une interaction humaine est souhaitable :

  • Incompréhension : le chatbot n'arrive pas à comprendre les requêtes de l'utilisateur

  • Demande explicite : l'utilisateur émet le souhait explicite de parler à quelqu'un.

  • Détection d’un sentiment utilisateur et agir en conséquence.

L’escalade vers l’humain est quelque chose d'important pour éviter de perdre un utilisateur, qui est, ne l'oublions pas, un consommateur potentiel !

Maintenant que l'on connait la définition d'un chatbot, les éléments-clés de la conception d'un chatbot, on va s'intéresser à la phase de réalisation à travers la découverte du Microsoft Bot Framework.

Microsoft Bot Framework

Microsoft fournit un framework pour faciliter la création de chatbots : Microsoft Bot Framework.

Deux langages sont supportés actuellement: C# et nodejs.

A noter que le Bot Framework n’est pas encore compatible dotnet core. Il faudra donc se tourner vers nodejs pour développer un chatbot sur linux ou macOS avec le Bot Framework.

chatbot

Il est composé des briques suivantes:

  • Bot builder : SDK permettant de coder un bot

  • Channels permettant de connecter bots et utilisateurs : Skype, Facebook Messenger, Slack…

  • Bot connector permettant de configurer un bot sur différents channels

Le véritable point fort du Bot Framework est qu’il permet d’écrire une seule fois notre chatbot et de l’exposer sur plusieurs canaux.

Le SDK permet par exemple :

  • d’implémenter des conversations avec des dialogues. On peut coupler nos dialogues avec Luis, moteur capable d'analyser et d'interpréter du texte.

  • de créer des FAQs avec Qnamaker

  • de créer des contenus riches (UI)

  • de personnaliser son bot pour un canal particulier

Il est important de souligner que nous pouvons tout à fait n'utiliser qu'une ou quelques-unes de ces briques.

Pour résumer, les chatbots s'inscrivent de plus en plus dans la stratégie des marques (exemple : le bot Voyages Sncf). Mais pour que cette approche devienne payante, il faut mettre en place un certain nombre de bonnes pratiques : type de chatbots, conversations, UI, escalade vers l'humain... Afin de pouvoir développer et déployer facilement des chatbots sur différents canaux (Facebook, Slack...), on s'est intéressé au Microsoft Bot Framework. Pour découvrir plus en détails ce framework, je vous conseille l'article suivant. Sources

Microsoft Experiences 2017 - Conférence "Designez votre expérience chatbot" Alexandre Croiseaux / Christofer Maneu https://blog.thechatbotfactory.com/les-chatbots-sont-ils-tous-idiots-d48cbf0b9b9