Guide pratique : réussir son projet chatbot

Toutes les clés pour mettre votre entreprise sur la bonne voie

Avant Propos

S'y retrouver dans la jungle des robots.

Je m'appelle Thomas et je suis le co-fondateur de Vizir.co. Nous avons développé une solution de création de chatbots pour automatiser les processus des entreprises. 

J'ai écrit cet article comme un retour d'expérience pour aider les prochains DSI, DRH, chefs de projets, etc... à s'y retrouver dans la création de nouveaux projets chatbots.

Sommaire

1. A quoi servent les chatbots ?


Comprendre leurs usages pour viser juste.

Comme dans tout projet informatique (solution, site web, applications mobiles, etc...), la première étape et la plus importante est de bien comprendre à quoi servent les chatbots et dans quels cas ils ont un intérêt, et dans quels cas il faut mieux s'en passer. 

Dans un autre article du blog, j'ai proposé une définition simple des chatbots, que je vous rappelle ici : 

 

Un chatbot est un programme informatique accessible depuis une interface de messagerie instantanée.

 

Ce programme informatique peut être utilisé pour 3 grandes catégories de cas d'usages : 

  1. Chatbots métier : leur objectif est d'automatiser les processus métiers qui impliquent un client ou un employé et une entreprise. En B2C (client), on retrouve des cas d'usages de service client ou d'automatisation de transactions (Bruno, OuiSNCF). En B2B il s'agit d'automatisation de process métiers (création de document, process d'achats) ou également de support utilisateur (help desk).
  2. Assistants personnels : leur objectif est de vous assister dans votre quotidien. Ils se matérialisent aujourd'hui par des robots à commande vocale présents sur votre smartphone (Siri, Google Assistant) ou sur des enceintes connectées (Google Home, Alexa, Apple HomePod, etc...). Ils répondent à des requêtes simples du type : "OK Google, allume la lumière", "Alexa, ajoute un pack de lait à ma liste de course".
  3. Médias et communication : leur objectif est de vous permettre d'accéder à du contenu depuis une messagerie instantanée. Ils sont présents via email (Flint) et surtout via Messenger (Jam, Techcrunch, Maroon5,...). 

types de chatbots

Nous nous concentrerons ici sur le 1er cas d'usage : les chatbots métiers.

Dans ce cadre, le chatbot est utile si les conditions suivantes sont réunies :

  • Le cas d'usage nécessite une conversation entre l'utilisateur et l'entreprise,
  • Ces conversations sont actuellement gérées manuellement (téléphone, email) ou pas gérées du tout (nouveau process).
  • Le nombre de conversations est élevé

Voici les avantages du chatbot par rapport aux autres formats (logiciel, web, mobile) : 

  1. Accéder au programme via une interface transparente et naturelle (messagerie instantanée)
  2. Supprimer les frictions à l'usage : échange en langage naturel
  3. Collecter des données structurées

 

Comment marche un chatbot ?


Comprendre les briques technologiques pour s'assurer de la bonne exécution

Avant de vous lancer dans un projet chatbot, vous devez comprendre comment ils fonctionnent. Vous saurez alors quelles ressources vous devrez mobiliser.

Tout chatbot est composé de 3 éléments qui se combinent :

  1. Compréhension du langage naturel (NLU : Natural Language Understanding)
  2. Logique de conversation
  3. Actions à réaliser (POST / GET API)

Compréhension du langage naturel

Il s'agit d'algorithmes capables de transformer en code informatique une requête exprimée en langage naturel (voix ou texte). 

L'objectif de ces algorithmes est de détecter dans la phrase :

  • une intention : le but global de la phrase
  • un ou plusieurs objets (entités) : la précision de l'intention (sorte de COD)

Voici un exemple : 

fonctionnement nlu

La NLU va comprendre que l'utilisateur a pour intention de créer un nouveau contrat. 

Et que ce contrat doit être réalisé pour le client Renault.

 

Pour que votre NLU sache détecter ces éléments vous devrez lui indiquer les intentions et les entités qu'elle doit comprendre. 

Donc, et c'est important : vous devez paramétrer les sujets que votre chatbot doit pouvoir comprendre. 

Vous devez donc établir une liste de sujets que le chatbot doit comprendre, autrement il ne les comprendra pas, c'est aussi simple que cela 👌. 

Voici la façon de construire cette liste : 

  1. Lister les sujets que le chatbot doit comprendre et qui sont dans son coeur de métier
  2. Lister les sujets que le chatbot doit comprendre et qui ne sont pas dans son coeur de métier (small talk = personnalité)
  3. Acter que tous les autres sujets non répertoriés ne seront pas compris par le chatbot

Souvent, nos clients qui automatisent des processus existants ont accès à une liste de requêtes émises par leurs clients ou leurs employés (ex : appels au call center, etc...), ce qui simplifie leur travail.

Une fois que vous avez votre liste de sujets à traiter, il faut les traduire en combinaisons d'intentions et d'entités. 

Il faut ensuite paramétrer ces intentions et entités dans l'outil de NLU. 

Enfin, vous devrez renseigner 10 à 15 requêtes utilisateurs pour chaque couple intention entité. 

Ces requêtes permettent à la NLU de calculer les probabilités d'intention et d'entité dans d'autres requêtes formulées de façon différente par les autres utilisateurs, en production. C'est la beauté du machine learning 🤟.

Logique de conversation

Le paramétrage de la NLU n'est que la première étape de la conversation. Il faut y ajouter ensuite la logique. 

En effet, comme dans une discussion entre humains, le fait de se comprendre n'est pas suffisant pour avoir une conversation intelligible. Il faut une logique de conversation.

C'est ce qu'on va voir ici. 

Une fois la requête tapée par l'utilisateur, le chatbot exécute une action qui correspond à la logique qu'on lui a donnée. 

Cette logique peut se gérer de deux façons : 

  1. Logique programmatique : le bot suit des indications paramétrées par son développeur (vous et moi). Il s'agit donc d'une logique programmée comme on peut trouver dans n'importe quel programme informatique classique (if this then that),
  2. Logique probabiliste : dans certains cas complexes, il est impossible de prévoir l'ensemble des scénarios possibles. Il faut alors utiliser des algorithmes de machine learning capables de prédire eux-mêmes quelle est l'action logique à réaliser. 

Aujourd'hui, dans la majorité des cas, c'est l'option 1 qui est mise en oeuvre. Plusieurs outils peuvent être utilisés pour réaliser ces arbres conditionnels (Excel, mind map, etc...).

L'option 2 est au stade de la R&D chez Vizir, et nécessite des données de conversations déjà disponibles et bien structurées. 

Actions à réaliser

Le chatbot qui automatise les processus a (normalement, sinon ça va mal) des objectifs prédéfinis.

Exemples :

  • créer un document,
  • router un ticket support,
  • passer en discussion avec un humain,
  • prendre un RDV,
  • calculer un prix,
  • avoir la météo du Frasnois, etc...

Ces actions ne sont pas à proprement parler dans le chatbot. Elles font appel à des services externes grâce à des connecteurs qu'on appelle API. 

Ces API permettent par exemple d'envoyer des données dans un algorithme pour le faire fonctionner et récupérer ensuite le résultat. 

Les étapes pour créer un chatbot


Vers l'infini et l'au-delà !

launch GIFBravo d'être arrivé jusqu'ici 🎉 !!

Si vous êtes là c'est que vous avez vraiment un projet chatbot en tête.

On va donc passer aux choses sérieuses : les étapes pour créer votre chatbot. 

 

Parlons peu, parlons bien, voici les étapes à suivre avant le début du paramétrage : 

  1. Identifier le cas d'usage que vous souhaitez automatiser
  2. Définir les objectifs du chatbot : réduire le nombre d'appel, automatiser une tâche (création d'un document, d'un ticket support,...)
  3. Fixer les KPI de votre chatbot (en accord avec vos objectifs)
  4. Définir le support de partage de votre chatbot (web, messagerie instantanée, SMS,...)
  5. Identifier les sujets que la NLU doit comprendre (coeur de métier et small talk)
  6. Transposer ces sujets en combinaisons d'intentions et d'entités
  7. Définir les cas où le robot apporte une réponse simple (message) ou renvoie vers un scénario (objectif)
  8. Écrire le contenu pour les réponses simples
  9. Écrire les scénarios pour les objectifs
  10. Définir les éléments de la conversation que vous souhaitez sauvegarder dans le profil utilisateur (attributs)
  11. Définir les actions que le bot doit effectuer (call API, envoi email, création ticket support,...)

Voici maintenant les étapes de paramétrage à réaliser : 

  1. Paramétrer la NLU dans votre outil : renseigner les intentions, les entités, et rentrer quinze requêtes pour chaque couple intention-entité
  2. Intégrer les contenus de réponse simple dans votre outil de création de chatbot
  3. Créer les scénarios et intégrer le contenu des scénarios
  4. Positionner les trackers pour sauvegarder les attributs utilisateurs
  5. Créer la logique de conversation entre la NLU, les réponses simples et les scénarios
  6. Intégrer les connecteurs API si besoin
  7. Disposer d'une interface pour tester le bot (web, messenger, sms,...)

Une fois que le premier paramétrage est réalisé : 

  1. Tester le bot avec l'équipe projet et faire les premières modifications
  2. Si insatisfaisant refaire l'étape précédente autant de fois que nécessaire
  3. Si satisfaisant, alors trouver un panel de testeur de 10 à 15 personnes et leur demander de tester la NLU (en la challengeant au maximum) et les scénarios
  4. Faire une passe d'attribution des requêtes mal comprises (permet d'augmenter la précision de la NLU)
  5. Publier le chatbot

Les ressources humaines et techniques pour créer un chabot


Ce dont vous aurez besoin pour réussir un projet chatbot

Cette question est étroitement liée au type de solution pour laquelle vous opterez.

Il existe trois types d'acteurs sur le marché du chatbot :

  1. Les technologies dites "core" : il s'agit de frameworks de développement de chatbot, principalement basés sur la brique NLU. 
  2. Les technologies sur étagère : il s'agit de produits, souvent SaaS, qui intègrent l'ensemble de la chaîne de valeur de la création d'un chatbot, et qui ne nécessite pas de développement spécifiques
  3. Les agences et cabinet de conseil : ils utiliseront la technologie 1 ou 2 et vous accompagneront sur le projet. 

Voici un résumé des ressources internes et externes à déployer dans chacun des trois cas.

Je vous ai détaillé chacune des solutions juste en dessous, ne manquez pas de les lire.

 

ressources chatbot

 

Les technologies "core"

Il s'agit de frameworks de développement basés sur la brique NLU. 

Voici en résumé ce que vous devrez faire : 

  • Choisir une solution de NLU (rasa.ai, snips.ai, luis.ai, dialogflow.com, etc...)
  • Gérer le projet dans sa globalité
  • Avoir des développeurs qui se basent sur la NLU et qui construisent l'ensemble du programme (logique, contenu, etc...) à la main

Selon notre expérience, voici les ressources humaines dont vous aurez besoin pour mener à bien un projet chatbot classique :

  • Un chef de projet spécialisé dans le digital, idéalement dans la création de chatbots (pas facile à trouver 😞)
  • Un intégrateur NLU, capable de transposer vos sujets à traiter en un paramétrage NLU correct (pas facile non plus 😢)
  • Un développeur back-end (généralement NodeJS) qui va se charger de toute la logique du chatbot et des actions API
  • Un développeur front end pour réaliser l'interface de conversation (s'il s'agit d'un chatbot web)
  • Un ingénieur en machine learning 

Un chatbot réalisé sur un framework de la sorte prend en moyenne 4 mois de développement avant la mise en production. 

Après la mise en production, vous devrez conserver l'ensemble de l'équipe à temps complet pour réaliser les modifications et optimisations du chatbot. Il faudra voir ces recrutements comme un investissement R&D car pour être efficace, l'équipe devra se tenir informée et tester les nouvelles technologies qui arrivent constamment sur le marché. 

Il restera à payer les coûts produit si vous n'optez pas pour une solution open source (rasa.ai et snips.ai). Ces coûts restent faibles. Chez Luis.ai (Microsoft), la solution coûte 1,265€ pour 1000 requêtes. Une conversation compte en moyenne 15 requêtes, cela vous reviendra donc à 0.085€ par conversation.

Les technologies SaaS

Il s'agit là de produits sur étagère qui permettent à des utilisateurs (vous) de paramétrer leur chatbot. Vous serez autonome sur la gestion chatbot.

Ce que vous devrez faire : 

  • Choisir la solution SaaS de votre choix
  • En fonction de la complexité du bot et de votre budget, savoir si vous paramètrerez le robot ou si vous laissez le prestataire le faire
  • Idem pour les éventuels développements spécifiques
  • Tester le bot
  • Se former à l'utilisation de l'outil SaaS

Selon notre expérience, voici les ressources internes dont vous aurez besoin : 

  • Un responsable projet : env. 2 jours par semaine pendant 8 semaines.
  • Un garant métier pour la rédaction / validation du contenu et des process : env. 1 jours par semaine pendant 4 semaines
  • Un expert technique pour la rédaction / validation de l'architecture technique et des flux d'informations entre le SI et le chatbot : env. 1 jour par semaine pendant 3 semaines.

Un développement d'un chatbot avec une solution SaaS prend en moyenne 8 semaines avant mise en production.

Après la mise en production, un responsable chatbot devra être conservé (souvent le responsable projet). Il sera en charge d'analyser les performances du robot, et de modifier son contenu si nécessaire.

Il vous restera à payer les coûts produits. Le prix de ce type de solution débute en général à  2000€ ht / mois.

Les agences de communication et cabinets de conseil

Certaines entreprises préfèrent se faire accompagner par une agence de communication ou par leur cabinet de conseil.

Dans ce cas vous devrez : 

  • Vous assurer que votre partenaire dispose de toutes les compétences listées pour les technologies core)
  • Choisir un framework de développement de bot pour ne pas repartir de 0
  • Bien expliquer le cas d'usage au partenaire, et faire un choix technologique en accord avec ce cas d'usage

Voici les ressources internes dont vous aurez besoin : 

  • Un chef de projet chatbot : 2 jours / semaine pendant 16 semaines
  • Un expert métier : 1 jour / semaine pendant 16 semaines
  • Un expert SI : 1 jour / semaine pendant 16 semaines

La durée globale d'un projet chatbot développé par une agence ou un cabinet de conseil est de 16 semaines. Ils prennent souvent plus de temps en amont du projet (réflexion, etc...). C'est là que réside leur valeur ajoutée.

Après la mise en production, un responsable chatbot devra être conservé et votre contrat avec le partenaire devra continuer. Il sera en charge de réaliser les modifications et de vous les facturer. 

Il vous restera à payer les coûts produits qui, si la solution à bien été choisie, devraient être nuls ou quasi nuls (cf budget technologie core).

 

Conclusion

Selon moi il y a deux écoles, et c'est vraiment ce que nous constatons sur le marché.

Certaines entreprises prennent le choix stratégique d'internaliser la compétence de création de chatbot. Le dirigeant porte une vision forte de ce que les robots conversationnels peuvent apporter en interne et en externe. La société a déjà réalisé des projets chatbots en mode POC, connait le déroulé du projet et les compétences nécessaires. Elle est financièrement en mesure d'investir dans des recrutements dédiés à ce pôle d'activité. L'équipe recrutée doit être en mesure de suivre les évolutions constantes des technologies liées aux chatbots et doit maîtriser plusieurs technologies différentes qui peuvent servir le mieux chacun des cas d'usages ciblés.

D'autres entreprises ont compris que les chatbots sont un outil qui peut servir des cas d'usages très larges, et que les technologies et les compétences nécessaires sont différentes en fonction de ces cas d'usages. Elles optent pour l'externalisation vers des solutions SaaS, expertes dans leur domaine. Cela leur permet de réduire le budget projet, d'accélérer la durée de livraison et de maximiser les chances de succès grâce à l'autonomie des équipes sur la solution.

Mon humble avis serait d'éviter d'outsourcer votre projet bot à une agence. Cela coûte cher, augmente les possibilités d'échec, vous rend dépendant de l'agence / cabinet avec qui vous travaillez et ne vous aide pas assez à monter en compétence sur le sujet chatbot en interne. Il est en revanche intéressant de travailler avec une agence / cabinet de conseil en complément d'une des solutions précédentes, par exemple pour travailler sur le contenu ou le design du chatbot.

La durée d'un projet chatbot


La durée pour mettre un chatbot en production.

L'une des questions qui me revient souvent est la durée estimée du projet. Plus concrètement : "Quand est-ce qu'on pourra mettre en production ?".

En ce qui nous concerne, la durée d'un chatbot commence dès que le client à choisi la solution et a réuni les ressources internes nécessaires. Inutile de démarrer le projet si certains acteurs nécessaires ne sont pas disponibles

Ensuite la durée du projet dépend de la solution pour laquelle vous avez optée (cf plus haut).

Voici l'ordre de grandeur que nous avons constaté : 

  • Technologie "core", chatbot développé en interne : 16 semaines
  • Technologie SaaS, chatbot développé par le prestataire : 8 semaines
  • Technologie SaaS, chatbot développé en interne : 12 semaines
  • Technologie "core", chatbot développé par un prestataire : 16 semaines

Faire appel à un produit SaaS spécialisé dans la création de chatbot vous permettra d'aller beaucoup plus vite que les autres solutions. 

La technologie est déjà prête et la majorité du travail consiste à paramétrer le chatbot (contenu, etc...). 

Si vous laissez le soin aux experts de la solution de faire le paramétrage pour vous, vous gagnerez encore plus de temps. 

Le temps est précieux pour un projet chatbot. Plus vous disposez d'un version finale rapidement, plus vous pouvez vous laisser du temps pour tester le chatbot. Et plus vous testez le chatbot, plus vous pouvez l'améliorer (NLU, scénarios,...) et plus vous augmentez vos chances de réussite.

Quel budget pour créer un chatbot ?


Les business models et les tarifs estimés.

Il s'agit d'une question centrale (bien entendu) pour la réussite d'un projet chatbot dans l'automatisation de process. 

Dans ce type de cas d'usage, la valeur dégagée par le bot peut être corrélée au temps humain qu'il permet d'économiser. 

D'un autre côté, la création d'un chatbot de qualité représente un budget qui peut s'avérer important car plusieurs technologies interviennent, nécessite des tests élargis, etc...

L'équation devient alors très simple :

 

Est-ce que le temps que me fait gagner le chatbot + la valeur perçue par mes clients > coût de création et de maintenance du chatbot ?

 

Cette équation est vraie à une seule condition :

 

Le chatbot a un ou plusieurs objectifs définis , mesurables et comparables avec le process pré-existant.

 

Il s'agit souvent de tâches répétitives et à faible valeur ajoutée, que vos équipes n'ont plus le temps / l'envie de gérer. 

 

Estimez votre budget chatbot

 

Voici un tableau qui récapitule le coût global en fonction de la solution choisie : 

 

  • Technologie "core" : vous aurez besoin de recruter 4 personnes à temps plein pour la création de votre premier chatbot. Ils pourront ensuite en créer d'autres ce qui amortira le coût. Coût global annuel : 300 000€ (salaire annuel brut chargé entreprise de 75k€)
  • Technologie SaaS : vous aurez besoin de ressources minimes en interne (pas de nouvelle recrue). Coût global annuel : 24 000€, coût de setup : 15 000€
  • Agence / conseil : les ressources seront limitées en interne, avec un gros budget de setup et de run. Coût global annuel : 36 000€ (forfait de 6 jours par mois à 500€ / jour pour la maintenance & modifications). Coût de setup : 75 000€ (moyenne de 150 jours à 500€ / jour).

J'en reviens à mon analyse précédente : 

  • Vous souhaitez internaliser la compétence de création de bot et vous recrutez une équipe capable d'utiliser plusieurs frameworks et technologies différentes pour l'ensemble de vos cas d'usages. C'est un investissement lourd qui doit être mûrement réfléchi (avez-vous assez de cas d'usages en interne, le volume des tâches est-il intéressant, la SI est-elle prête, etc...). 
  • Vous souhaitez avoir des résultats concrets dans un temps court, vous devez acclimater vos équipes métier et SI à ce que sont les bots : passez par une solution SaaS qui correspond à votre cas d'usage. N'hésitez pas à signer avec plusieurs partenaires pour les bots. Ils ont chacun leurs spécificités et permettent de mieux traiter certains cas et pas d'autres. 

Comment intégrer un chatbot à votre SI ?


Connaître les implications SI et sécurité

Souvenez-vous, l'une des valeurs principales du chatbot c'est de pouvoir se connecter avec votre SI pour réaliser des actions personnalisées.

Voici quelques exemples : 

  • chercher dans un catalogue produit
  • créer un ticket support, envoyer un email
  • avoir le statut d'un item (ticket support, livraison d'un colis,...)
  • récupérer des données sur l'utilisateur (nombre de documents validés, nombre de jours de congés restant,...)
  • etc...

Tout cela ne peut se faire sans se connecter à votre SI et sans avoir un login SSO entre votre système et le système du chatbot. 

Il faut donc réfléchir aux éléments que vous pourrez connecter avec le chatbot avec plus ou moins de complexité. 

Votre SI doit donc être accessible via des API, des connecteurs qui permettent aux programmes d'échanger entre eux. 

Conclusion


Something Powerful

Ce qu'il faut retenir ☝️!

La première chose à faire est d'identifier votre cas d'usage et de comprendre quelles sont les technologies nécessaires pour le mener à bien (NLU, logique, contenu, API, etc...). 

Ensuite vous devrez choisir quelle méthode de développement choisir : monter une équipe en interne, faire appel à une solution sur étagère dédiée ou faire appel à une agence. 

En résumé, voici les avantages et les inconvénients pour chaque solution : 

  • équipe interne : gros budget nécessaire, courbe d'apprentissage longue et continue, délais allongés, mais bonne maîtrise de la techno
  • produit SaaS : budget et ressources limitées, rapidité d'exécution, taux de succès élevé, montée en compétence graduelle de vos équipes, mais vous devrez probablement travailler avec plusieurs prestataires en fonction de leurs spécificité
  • agence : gros budget nécessaire, bien choisir l'agence (spécialisée dans les bots)

Il faudra enfin s'assurer votre capacité à mobiliser des ressources internes, notamment au niveau IT (architecture / sécurité).

🏁🏁🏁🏁🏁🏁

Bravo (et merci) d'avoir terminé cet article. N'hésitez pas à remplir le formulaire ci-dessous si vous souhaitez en parler avec moi par téléphone pendant 20 minutes. 👇👇👇👇👇👇

Envie d'en savoir plus ?


Entrez vos infos ci-dessous et l'un de nos conseillers vous recontactera pour faire un point sur votre projet.