Créer un chatbot - Enjeux et plateformes - Suricats Consulting

Depuis quelques temps, le bot a le vent en poupe ! Pas nés de la dernière ligne de code – les premiers bot remontent tout de même aux années 50 avec un regain d’intérêt mid-90’s – ils font de plus en plus parler d’eux comme étant l’avenir du Web et le futur des Apps. Ils ne sont désormais plus uniquement l’apanage des grands du Web : Facebook, Microsoft et consort en ont fait leur cheval de bataille depuis 2016, en lançant leur propre bot store pour se positionner comme acteurs structurant du marché.
Avec des algorithmes d’intelligence artificielle de plus en plus performants et des possibilités d’analyse des données de plus en plus larges, ces bots sont passés du simple « gadget » à un véritable assistant personnalisé dont le potentiel des usages est encore très largement à explorer… Portées par cette tendance, de plus en plus d’entreprises se tournent vers ces nouveaux outils conversationnels intelligents qu’elles cherchent à mettre à profit en les intégrant au SI pour renforcer la qualité de leurs interactions avec l’utilisateur.

Forts de ce constat, et de quelques sollicitations clients, nous avons décidé de céder aux sirènes du bot. En nous appuyant sur un écosystème foisonnant, notamment de start-ups, nous nous sommes interrogés à notre tour sur ce qui les rend si populaires et, bien sûr, identifier les raisons et enjeux autour d’une telle explosion.

Un chatbot est fondamentalement une application conversationnelle qui permet à un utilisateur de dialoguer, que ce soit via les réseaux sociaux (Facebook Messenger, Whatsapp, etc.) ou directement sur un site internet. Jusque-là rien de révolutionnaire ! Mais les chatbots ont réussi à prendre un tout nouvel essor du fait de leur capacité à interpréter finement l’intention de l’utilisateur avec lequel il interagit, voire même son humeur. Cela permet au bot de disposer d’informations plus précises pour répondre aux requêtes utilisateurs, avec un résultat bien supérieur aux réponses prédéfinies, sans grande valeur ajoutée, d’il y a encore quelques années. Cette nouvelle dimension est rendue possible par l’usage combiné de l’intelligence artificielle – en particulier autour de l’intelligence conversationnelle – et des API qui offrent une consommation simplifiée des données du SI.

Ouvrons maintenant le capot d’un chatbot, au travers du modèle d’architecture simplifié que nous illustrons ci-dessous.

architecture-chatbot
  • Côté Front, l’interface d’échange avec l’utilisateur (e.g. une plateforme de messagerie). Elle assure la transmission des demandes au bot et restitue le résultat à l’utilisateur. Une première brique intermédiaire – le « BotConnector » – rend le bot indépendant des spécificités de la plateforme de messagerie avec laquelle il communique.
  • Au centre : le bot. Il répond aux requêtes de l’utilisateur grâce à un arbre de décision conversationnel préconfiguré. Il apporte les réponses adaptées à une série de questions préétablies et permet ainsi une véritable discussion entre le bot et l’utilisateur.
  • Côté Back, deux composants essentiels pour apporter une pertinence à l’échange avec l’utilisateur :

l’analyseur de langage (NLP) qui constitue l’intelligence du chatbot, capable d’interpréter la demande et d’en déduire les intentions de l’utilisateur. Requête après requête, cette couche d’intelligence « apprend » et améliore sa compréhension fine et précise de la demande utilisateur ;

la couche « métier » du bot, qui apporte le corps de la réponse en s’appuyant sur les services métier que le SI expose au travers des API.

Pour répondre à votre curiosité bien naturelle, détaillons chaque composant :

La plateforme de messagerie : Slack, Facebook Messenger, Skype, Telegram, ou un extranet de l’Entreprise
Ce sont les différents « moyens » de conversation que l’utilisateur peut choisir pour échanger avec le bot. Chaque plateforme utilise un protocole dédié, qu’il soit public ou non. S’il est plutôt simple de s’interfacer avec une seule plateforme, offrir à l’utilisateur le choix de son canal de communication exige de multiplier les interfaces, et la maîtrise de tous les protocoles devient réellement complexe.

Le BotConnector
Le BotConnector répond à cette complexité et permet de s’intégrer simplement dans plusieurs plateformes de conversations au travers d’une seule et même interface. Il évite donc de devoir développer (et maintenir !) un bot multi plateformes ou une version spécifique du bot adaptée aux spécificités de chacune des plateformes possibles. Les enjeux et la valeur d’un bot ne sont clairement pas là !

Les solutions de BotConnector sont récentes (2016). Elles permettent aux développeurs de bots de toucher rapidement et sans effort un large public.
Nous avons pu tester avec Bonheur Microsoft Bot Connect, Recast Bot Connector

Le « Natural Language Processing Manager »
Le Natural Language Processing est un domaine de l’intelligence artificielle centré autour de la logique conversationnelle. Il regroupe différents concepts qui donnent au bot sa capacité à comprendre le sens d’une phrase, quelles que soient les fautes de frappe ou les errances orthographiques et grammaticales de l’auteur. Cette phase d’interprétation requiert une étape d’entraînement pendant laquelle le NLP Manager est confronté à des cas réels. Il s’agit de le corriger à chaque erreur afin qu’il puisse « apprendre » à reconnaître le sens des phrases qui lui seront soumises. Petit enfant deviendra grand.
Plusieurs NLP du marché nous ont montré leur pertinence : recast.ai, api.ai, davy

Le BOT
Le bot est avant tout un workflow conversationnel, qui est déroulé pendant l’échange avec l’utilisateur afin de lui apporter les réponses adaptées à ses demandes. Le bot est au centre de l’architecture, interfacé avec le NLP Manager qui lui donne le sens de la demande utilisateur et les API qui lui remontent l’information dont il a besoin.

Open API
Il s’agit d’API publiques qui permettent à tout un chacun de consommer des données dites « ouvertes », proposées par des acteurs tels que Météo France, SNCF ou RATP.
Beaucoup de bots profitent de ces APIs pour construire des réponses riches et diversifiées à l’utilisateur sur ses préoccupations quotidiennes – et cela bien plus intuitivement qu’au travers d’un site web.

Services du SI
Répondre à des questions plus complexes requiert un accès au Système d’Information et l’exploitation des données personnelles qu’il contient. On parle de consulter le solde de son compte bancaire ou d’exécuter un virement.

On se frotte alors aux problématiques sensibles d’identification, d’authentification et d’autorisation de l’utilisateur pour accéder à ses données confidentielles.

Pour être aussi pertinent qu’un bon bot, il nous fallait expérimenter, itérer et faire émerger quelques points d’attention précis pour bien structurer son projet « bot ». Sans attendre vos questions, nous nous proposons de vous restituer les 5 principaux enseignements que nous avons retenus pour créer un chatbot – certains pour un gain de valeur côté métier, d’autres pour s’éviter des écueils d’ordre technique.

1. Faire émerger des cas d’usage précis au service du client final et de l’organisation globale de l’entreprise

A quel enjeu métier répond votre bot ? Améliorer l’expérience client en apportant des réponses construites et pertinentes à un besoin précis formulé par un utilisateur ? Automatiser une FAQ pour désengorger le service client et le recentrer sur des thématiques d’expertise ? Développer une stratégie marketing multicanale en ouvrant un nouveau canal d’interaction avec le client « techno-savvy » et collecter ainsi de la donnée client ?

On comprend que le choix des bons cas d’usage est clef pour positionner le bot comme un véritable outil au service des client et de l’entreprise.

2. Rendre la discussion la plus fluide possible

Dès les phases amont du projet, il convient de bien réfléchir au parcours de discussion, d’identifier les ouvertures et les chemins possibles et ne pas être trop verbeux. L’utilisateur doit croire à une discussion « humaine ». Plus les informations fournies au moteur d’Intelligence Artificielle sont riches et diversifiées, plus il comprendra le contexte et plus la réponse qu’il fournira au bot sera proche d’une conversation « réelle ». Il est essentiel de construire avec soin une base de connaissance représentative des conversations « possibles ». Certaines IA nécessitent moins d’entraînement et deviennent plus efficace rapidement, on parle alors de “deep learning”.

Le choix du composant NLP est un critère différenciant pour un bot. Selon qu’il soit spécifique à un domaine (ex: Destygo, IA pour le voyage) ou généraliste (recast.ai), la phase d’acquisition du contexte métier (i.e. phase d’entraînement) sera plus ou moins longue. Pour une entreprise, cette base de connaissance constituera l’ADN des bots qui seront proposés à ses utilisateurs.
À noter : à ce jour les outils de NLP ne gèrent pas de manière efficace l’identification de la langue de la discussion (expérience dans un contexte multi langues)

3. Être indépendant technologiquement des canaux de communication

Afin de pouvoir lancer son bot de manière efficace et rapide, il est préférable de rester indépendant de la plateforme de messagerie. Nous recommandons de choisir (au moins dans une phase initiale) une technologie assurant un bon niveau d’abstraction, permettant de faire évoluer le bot de manière centralisée quelle que soit son intégration sur les plateformes de messagerie.

Cependant, l’utilisation d’un BotConnector ne permet pas de s’abstraire de l’ensemble des spécificités d’une plateforme de messagerie. L’utilisation des composants graphiques spécifiques peut se révéler nécessaire (carrousel, boutons) pour s’intégrer pleinement au “style” de chacune des UX des plateformes. Il est essentiel, de notre point de vue, de respecter le plus possible les principes de fonctionnement ergonomiques de chacune d’elle.

4. Concevoir les bots comme de nouveaux cas d’usage valorisant les API de l’entreprise

L’exposition des données et des services de l’entreprise est un pré requis à la mise en place d’un bot intelligent et personnalisé. L’ouverture du SI par les API constitue une avancée majeure dans la transformation digitale des entreprises. La mise en place d’une gouvernance des API permet ainsi à l’entreprise de piloter le cycle de vie de son API (sécurité, performance, throttling, caching, analytics…) et ainsi de satisfaire les besoins des développeurs ou des consommateurs qui l’utilisent.
Cette étape charnière du projet requiert une analyse complète de l’intégration dans le SI par des profils experts d’architectes de façon à adresser toutes les problématiques techniques dans le contexte utilisateur. Cette étape est forcément spécifique et peut devenir particulièrement complexe selon la nature des données manipulées et des technologies des legacys.

5. Sécuriser les accès aux données du SI

Le bot constitue un nouveau point d’entrée dans le SI et il est indispensable de mettre en place un service d’identification et d’authentification des utilisateurs du bot afin de piloter finement l’accès aux données du SI par les appels API. Dans ce cadre, la mise en place d’une fédération des identités d’un utilisateur entre la plateforme de messagerie et le SI interne de l’entreprise est nécessaire.
Il est indispensable de monitorer le comportement des bots pour assurer la fiabilité des échanges avec les API du SI.
organisation-chatbot

La mise au point d’un bot doit se construire sur un processus itératif (démarche agile) et la collaboration active des acteurs métier, IT et Production.

Nous avons souligné l’importance à accorder à la définition des cas d’usage. Nous préconisons, pour cela, une approche par le design thinking. Cette phase amont d’étude et d’idéation permet de fédérer les métiers autour de personae cibles, de réfléchir à des cas d’usages répondant à des besoins et des douleurs identifiées, et de construire les parcours types. Cette phase structurante, menée par des acteurs métier, permet de construire les diagrammes de séquences (modélisation UML) associés aux types de conversation entre le bot et l’utilisateur, pour chacun des personaes.
Ce livrable est clef pour la phase d’identification des API (aussi bien internes qu’externes) qui seront consommées pour répondre aux besoins. Ces API serviront à alimenter le bot en données utiles. Cette étape est probablement la plus complexe à mettre en œuvre puisqu’elle soulève toutes les problématiques précédemment évoquées autour de la gestion des API (sécurité, gouvernance, etc.).
Pour réaliser au mieux cette phase, nous préconisons la tenue d’ateliers de conception des API, animé par un architecte expert en « API economy » qui apportera les bonnes pratiques (ontologie des ressources, normes REST, gouvernance API,…). L’architecte API formalisera le contrat d’interface, réponse technique aux besoins métiers.

Aujourd’hui, toutes les solutions de NLP proposent une interface de conception. Celle-ci permet aux acteurs métier, en coordination avec l’IT, d’alimenter facilement le dictionnaire sémantique et de ce fait, d’enrichir l’IA spécifiquement au langage métier. Ensuite, la phase d’entraînement de l’IA est monitorée par l’interface de conception du NLP. En parallèle, il est important de structurer des scénarios de tests nominaux (cas passant et cas d’erreur), qui seront joués par le bot et qui assureront que le bot ne « dérive » pas dans ses réponses au fil du temps. La courbe d’apprentissage d’un bot varie en fonction de la complexité du contexte métier. Il faut donner du temps au temps et la création d’un bot « parfait » n’est pas possible dès la première itération.

L’étape au cœur du développement d’un bot de qualité est l’intégration de l’IA et de l’ensemble des API construites et livrées de façon itérative. Nous préconisons la méthode dite de “test & learn”.
Cette étape permet l’articulation de l’ensemble des travaux réalisés au préalable. Elle mobilise à la fois la MOE et les différents experts nécessaires (sécurité, authentification, …). L’implémentation du bot peut se réaliser en Node.js, java, python ou autres en fonction du patrimoine technologiques de l’entreprise.

Pour terminer … les tests – étape clef où l’on vérifie toutes les fonctionnalités du bot et donc, sa valeur. Au-delà de la détection des erreurs, il convient d’analyser l’expérience de l’utilisateur et comprendre comment rendre le bot encore plus performant. Il est recommandé de répartir les tests sur des petits groupes d’utilisateurs aux profils différents afin que les développeurs du bot puissent anticiper les problèmes et/ou les incohérences qui peuvent apparaître, avant la publication du bot.

Conclusion

Le développement de l’intelligence artificielle a permis de donner une nouvelle dimension aux outils conversationnels, plébiscités par de plus en plus de marques et d’entreprises séduites par ce nouveau moyen de communication direct avec leurs clients. En ouvrant les portes de leur SI et en permettant de consommer les données appropriées par l’ouverture de leurs API, elles sont désormais capables de développer des cas d’usage plus complexes et plus personnalisés laissant imaginer une refonte complète de l’expérience utilisateur. Les projets de mise en œuvre de bot pourrait à ce titre devenir un des enjeux stratégiques du développement de la relation client pour les entreprises, tiré par l’accélération de l’IA (foisonnement des acteurs sur le marché des NLP et de l’intelligence conversationnelle, développement de la reconnaissance vocale pour de nouveaux usages et un nouveau mode d’interaction, développement de l’intelligence “émotionnelle” pour un contact plus humain). Cela induit des problématiques légitimes pour les entreprises sur les choix d’intégration de ces solutions dans les SI et plus largement sur la sécurisation des données internes.

La tendance déjà marquée de l’usage des bots va dans le sens de la substitution des apps, on parle « invisible apps ». D’ici quelques années, nous ne consommerons plus les applications de la même manière, peut-être nous adresserons nous uniquement à un bot pour toutes nos demandes, par SMS ou Whatsapp, comme s’il s’agissait d’un de nos proches. Ces « invisibles apps » – comme nouveaux moyens de communication unique – permettraient d’offrir un service simplifié, une expérience utilisateur unifiée et une intelligence contextuelle au service des utilisateurs finaux dans une relation “humanisée” et de confiance. Les invisibles apps arrivent petit à petit, et la transition se prépare dès maintenant : alors à vos BOTs, prêts, partez !

NOUS CONTACTER

Pour nous envoyer un e-mail, c'est par ici!

Envoi en cours...

©2017 SURICATS CONSULTING Conseil Numérique

&

Se connecter

Oubli de mot de passe ?