Choisir sa plateforme de développement de chatbot

Alors que l’offre de plateformes de création de chatbot continue à grandir, le choix d’une technologie lors du démarrage d’un projet peut tourner au casse-tête. Nous vous proposons de faire entrer les éditeurs dans l’OCTOgone pour les départager ! 🥊

Note: le terme plateforme désigne ici l’ensemble du logiciel et des services permettant de construire, d’héberger et d’administrer un chatbot. Plus spécifiquement les briques suivantes : connecteurs vers une messagerie, reconnaissance du langage (Natural Language Understanding), création de scénarios, construction des réponses, intégration d’API spécifiques, monitoring et entraînement / correction du machine learning. Ces plateformes sont souvent proposées en SaaS mais pas uniquement.

De nombreuses entreprises ayant déjà un ou plusieurs chatbots peuvent se poser la question de la plateforme la plus adaptée. Souvent issus d’initiatives isolées (DSI, Marketing, RH…), ces projets chatbots présentent plusieurs problèmes pour l’entreprise:

  • Ils dépendent de contrats/licenses différents : éditeur, prestataire, interne, en open-source ou services en lignes
  • Ils sont développés avec des technologies différentes
  • Les bonnes pratiques en terme de conversationnel ne sont pas partagés entre les projets
  • Les chatbots ne cohabitent pas et ne permettent pas le partage de données entre eux
  • Ils ne fournissent pas une expérience unifiée pour l’utilisateur

Ce sont ces 2 derniers points que nous aborderons dans cet article.

Quelles options pour proposer une expérience bot cohérente et unifiée pour l'utilisateur?

Les utilisateurs s’attendent à un point d’entrée unique et harmonisé tirant parti des multiples connaissances de vos chatbots sans avoir à s’adresser explicitement à l’un ou l’autre en fonction du besoin. Pour cela, il existe deux solutions :

Meta-bot

La première est la mise en place d’un Méta-bot : un chatbot unique du point de vue utilisateur et qui peut communiquer avec les différents autre chatbots pour récupérer l’information auprès du plus légitime. En fonction des éditeurs, vous entendrez aussi les noms de Master Bot ou Orchestrateur.

Les méta-bots en sont encore à leurs débuts mais nous avons la conviction qu’ils vont se développer. C’est pourquoi OCTO rejoint l’Alliance for Open Chatbot pour participer à la construction d’un standard ouvert permettant l’interconnexion des chatbots. Nous souhaitons ainsi contribuer aux développement des méta-bots, agrégeant plusieurs agents conversationnels et leurs connaissances pour offrir des expériences plus fluides à nos clients et utilisateurs.

One bot to rule them all

La seconde solution est de ne garder qu’un seul chatbot et d’y “rapatrier” la connaissance (entraînement, réponses, scénarios) des autres chatbots qui, à terme, seront amenés à disparaître. Ainsi, il ne vous restera qu’une seule plateforme chatbot sur laquelle s'appuiera toute l'expérience utilisateur. Il faut donc que votre plateforme conversationnelle soit assez polyvalente et puissent gérer des chatbots complexes et multi-domaines avec notamment la notion de droits et rôles par périmètre fonctionnel.

Si vous choisissez cette solution ou démarrez un nouveau projet, nous vous proposons quelques critères de choix pour départager les différentes solutions du marché.

L’OCTOgone pour choisir une plateforme chatbot adaptée :

Voici les catégories de critères d’évaluation des plateformes chatbots qu’il convient de prendre en compte en amont du projet:

Schéma présentant les différents critèresCatégories de critères de choix d’une plateforme chatbot

Capacités du moteur de reconnaissance de langage naturel (ou Natural Language Understanding) :

Le moteur NLU est le coeur du chatbot, responsable de déterminer le sens d’une phrase de l’utilisateur pour déterminer quelle réponse lui apporter ou quelle action déclencher. C’est un des critères principaux de choix.

Ex:

  • Quelles sont les performances de la reconnaissance de phrases ? Si elle s’appuie sur du machine learning, faut-il beaucoup de phrases d'entraînement ?
  • Quelles langues sont gérées par le moteur ?
  • Est-il capable d’extraire des entités au sein de la phrase ?
  • Des entités complexes comme les dates ou les villes sont-elles nativement gérées ?
  • Connecteurs de déploiement intégrés :

Pour que l’utilisateur interagisse avec le chatbot, il lui faut un point d’entrée: il peut s’agir d’une enceinte connectée, d’une messagerie instantanée ou d’une bulle de chat dans un site web ou une application métier.

Ex: - Le chatbot peut-il être facilement déployé sur les messageries grand public (ex: Messenger) ? - Des connecteurs sont-ils prévus pour les solutions professionnels comme des outils de support utilisateurs (CRM, Ticketing, SAP, Salesforce…) ? - Est-il possible d’intégrer le chatbot via SDK ou API dans une portail web existant ou une application mobile (Android, iOS)? - Quel est le niveau de personnalisation de l’interface de chatbot lors de son intégration (si marque blanche) ?

Richesse des interactions utilisateurs :

Une messagerie instantanée ne se limite pas à du texte, un chatbot ne devrait pas non plus !

Ex: - Les réponses du chatbot sont-elles uniquement textuelles ou peut-on y ajouter des images / vidéos / carrousels et autres contenus ? - Est-il possible quel le chatbot déclenche des actions si il est intégré à une application web ? (ex: ajout d’un article à un panier e-commerce) - Est-il possible de créer des composants visuels sur-mesure ?

Fonctionnalités du Dialog Manager :

Le Dialog Manager décide de la réponse à apporter à l’utilisateur selon la reconnaissance du moteur NLU. Du simple question-réponse type FAQ aux scénarios complexes, il faut s’assurer qu’il ne devienne pas un facteur limitant.

Ex: - Le gestionnaire de dialogues peut-il gérer des scénarios complexes de type “arbre de décision” ? - Le chatbot peut-il conserver un contexte d’informations pour éviter de reposer des questions auxquelles il connaît la réponse ? - Est-il possible d’appeler une API / du code pour formuler une réponse ? - Est-il possible de passer le relai à un humain à un moment donné de la conversation ? Si oui, avec quels outils de LiveChat ?

Compatibilité avec un meta-bot :

Si il n’existe pas encore de standard partagé entre tous les éditeurs, certaines plateformes rendent possible la création de méta-bots englobant tous les chatbots de la platefome ou des chatbots externes via les interfaces de programmation exposées.

Ex: - Est-ce que la notion de méta-bot est native à la plateforme ou à créer spécifiquement ? - Le chatbot créé est-il accessible programmatiquement via une API ? - Peut-on faire passer des informations de contexte du méta-bot au chatbot et inversement ? - Communique-t-il les scores de confiance lors de la reconnaissance ? - Le chatbot peut-il indiquer au méta-bot la fin d’une conversation dans ses réponses?

Conformité aux contraintes entreprise :

Selon le secteur d’activité, les données manipulées et la politique d’entreprise, d’autres contraintes, plus généralistes, peuvent s’ajouter.

Ex: - Est-il possible d’héberger le chatbot on-premise ? - La plateforme respecte-t-elle la politique d’entreprise concernant l’hébergement des données (localisation, chiffrement) ? - Quelle niveau réversibilité est proposée ?

Accessibilité par des profils non techniques :

L’implication de profils “métiers“ nécessaire pour le succès d’un projet chatbot. Leur contribution peut aller de l’expression de besoin à la création et au déploiement du chatbot en autonomie.

Ex: - Est-il nécessaire de maîtriser la programmation pour modifier une réponse du chatbot ou créer un nouveau scénario? - Qui peut entraîner et corriger l’analyse du moteur de langage naturel ? - La plateforme permet-elle de suivre les parcours utilisateurs (analytics et monitoring conversationnel) des interactions avec le chatbot ? - Peut-on facilement identifier et accéder aux phrases mal comprises par le chatbot?

Parmi ces critères, certains deviendront éliminatoires selon les besoins du projets. En fonction de vos besoins, le support de la langue française sera bien souvent obligatoire, comme la possibilité de faire des appels à des API pour formuler une réponse ou le type d’hébergement proposé.

D’autres critères techniques ou fonctionnels seront à pondérer en tenant compte des spécificités de votre entreprise ou votre projet. A cela, s’ajouteront des éléments plus classiques lors du choix d’une technologie : pérennité de l’éditeur, modèle de pricing / licenses, support de la communauté...

Vous obtiendrez alors un comparatif de solutions comme celui-ci:

Extrait d'un benchmark OCTO comparant différentes plate-formes de botBenchmark OCTO composé de ~100 critères techniques et fonctionnels

Il n’existe pas de solution ultime et qui répondrait à tous vos besoins pour les 3 prochaines années. Chaque entreprise, chaque projet a ses propres besoins et contraintes, qui déterminent l’ensemble des questions à se poser dont nous venons de voir les principaux critères. Nous espérons que cet article pourra vous guider dans votre démarche et dans le choix d’une solution pour votre prochain projet chatbot.