Chatbots : Déployer son bot vocal en “stand-alone” ou via un agrégateur de bot comme Google Assistant?

le 23/11/2017 par Guillaume Moizan
Tags: Product & Design, UX

Les chatbots vocaux sont indéniablement un sujet d’actualité ! La plupart des géants du web y ont investi massivement et proposent chacun leur version d’un assistant vocal et une enceinte connectée sur laquelle il est déployé.

Comment prendre part à cet engouement ? Vaut-il mieux créer son bot vocal et le déployer sur sa propre plate-forme ou faut-il chercher à s’intégrer aux assistants vocaux des GAFAs (Amazon Alexa, Google Assistant, Microsoft Cortana, Apple Siri…)?

Cet article a pour but de clarifier les possibilités qu’offrent les principaux acteurs du marché pour déployer son bot vocal et leurs avantages respectifs.

Les chatbots vocaux : un sujet du moment

L’amélioration des technologies liées à l’intelligence artificielle a permis aux géants du web d’en faire un sujet stratégique, chacun cherchant à faire de son assistant personnel, un outil du quotidien.

Google a déjà lancé cet été son Google Home, enceinte connectée embarquant Google Assistant, en France. Ces assistants vocaux sont donc déjà présents physiquement dans les foyers français.

En plus de proposer des devices et des assistants vocaux, les géants du web permettent aux développeurs de créer leur propre bot grâce à un ensemble d’outils qu’ils mettent à leur disposition.

Les possibilitées de déploiement d’un bot vocal

Après avoir créé un chatbot vocal, il existe deux manières principales de le rendre accessible aux utilisateurs :

  • Publier son bot sur sa propre webapp / sa propre application mobile
  • Rendre le bot accessible via un agrégateur de bot

L’agrégateur de bot prend souvent la forme d’un assistant virtuel comme Siri, Alexa, Cortana ou Google Assistant. Ces assistants possèdent un ensemble de fonctions natives (lancer un timer, noter un rendez-vous, faire une division…) mais peuvent s’appuyer sur des applications tierces (comme notre bot) pour étendre leurs capacités.

Les plateformes de création de chatbots intègrent la possibilité de les déployer sur plus ou moins de canaux, qu’ils soient textuels ou vocaux. Note : Nous parlerons ensuite de moteurs NLU (pour Natural Language Understanding), il s’agit de la brique centrale d’un chatbot. Son rôle est d’analyser les messages de l’utilisateur pour déterminer ce qu’il veut exprimer.

Schéma d’un bot multicanal basé sur Dialogflow

Le schéma du fonctionnement permet d’identifier deux dépendances / relations avec la plateforme via laquelle le bot est déployé :

  • Le device par lequel il est accessible
  • Le moteur NLU sur lequel il est basé

Le choix de notre plateforme va donc être conditionné par deux choses : le type d’interaction souhaité avec l’utilisateur (dépendant du device et de ses capacités), les possibilités offertes par le moteur NLU faciliter l’intégration à cette plate-forme.

Publier son bot seul ou via un agrégateur de bot?

Les possibilités offertes par les agrégateurs de bot comme Alexa Siri ou Google Assistant diffèrent selon la solution choisie. Certains proposent ainsi le référencement sur un store, d'autres l'affichage d'images sur le téléphone de l'utilisateur via une "companion app". Ces possibilités ne sont toutefois pas figées et évoluent rapidement : Le Google Home ne permettait pas aux développeurs français de déployer leur “Actions” et les rendre accessibles au grand public à sa sortie, c’est désormais possible. De la même manière, nous attendons l’annonce de la disponibilité de l’Amazon Echo et de sa plateforme Alexa pour le marché français, en fin d’année voire début 2018.

Les interactions avec notre bot diffèrent selon la manière dont il est accessible

Comparons les avantages que peuvent offrir le choix d’un agrégateur de bot (assistant personnel vocal) ou au contraire d’un déploiement sur sa propre plateforme.

Avantages d’un agrégateur de bot :

  • Un seul point d’entrée pour l’utilisateur :  il est plus susceptible d’utiliser le service si il ne doit pas faire l’effort de visiter un site ou lancer une application mobile spécifique avant d'interagir avec lui.
  • Possibilité d’être référencé sur un store : comme les skills d’Alexa, augmentant la visibilité du bot, lui permettant d’être trouvé par une recherche sur le store.
  • L’exploitation de services offerts par la plateforme : Exemple : les companion apps qui permettent d’afficher du texte ou des images sur le téléphone de l’utilisateur, en complément de la voix.
  • Moins de développement selon l’intégration proposée par le moteur NLU (moteur de langage naturel) : l’intégration d’une solution Speech-To-Text (conversion de la voix en texte) et Text-To-Speech (synthèse vocale) est déjà gérée par l’agrégateur. Le déploiement peut même ne nécessiter aucun code selon la plate-forme.
  • Aucune installation nécessaire : certains assistants vocaux permettent de faire appel à un bot tiers sans installation ou configuration particulière.
  • Déploiement sur plusieurs type de devices : Un assistant virtuel peut être présent à la fois sur une enceinte connectée au sein du foyer, sur un smartphone ou même dans une voiture. Une fois notre bot déployé via l’assistant, il sera accessible depuis l’ensemble des devices supportant l’assistant.
  • L’intégration native de certains bots : L’intégration native est possible sur certaines plateformes mais reste limitée à un nombre réduit d’acteurs, souvent des partenaires. Il permet de déclencher l’appel à un bot sans devoir préciser son nom. C’est le cas pour des fonctionnalités de hauts niveau comme la musique, la domotique, les informations:  comme c’est le cas des ampoules Philips Hue ou Spotify. Une fois configuré, l’utilisateur peut demander à son assistant d’allumer la lumière de son salon ou dans lancer le dernier album de son groupe favori sans se soucier de quel bot ou application s’en occupera. Ex : “Ok Google, allume la lumière du salon”

Inconvénients d’un agrégateur de bot :

  • Les conditions d’entrées des agrégateurs : Comme lors d’une publication d’une application mobile sur un store, il faut respecter un certain nombre de conditions, parfois nébuleuses, soumises à validation par l’éditeur de l’agrégateur
  • La compétition pour les noms de bot : Pour accéder aux services d’un bot via un assistant, nous devons l’appeler par son nom. Il doit donc être unique mais si possible également facile à retenir, à énoncer, etc.

Avantages d’un bot seul, intégré dans une application propriétaire (web ou mobile):

  • Pas besoin d’invoquer le bot par son nom en commençant sa phrase par une expression du type : “Siri, envoie un message avec [WhatsApp]”. Ce qui permet une interaction plus naturelle avec le bot.
  • Plus grande maîtrise des interactions avec l’utilisateur : le bot étant intégré dans une application ou une webapp, le développeur n’est pas limité aux possibilités offertes par l’agrégateur mais peut interagir directement avec l’application (ouverture d’un écran pré-rempli, action dans l’app...).
  • Confidentialité : Si des informations sensibles sont potentiellement énoncées par l’utilisateur, utiliser sa propre application peut permettre d’éviter au flux audio de transiter par des serveurs que l’on ne maîtrise pas.

Inconvénients d’un bot seul, intégré dans une application propriétaire (web ou mobile):

  • (Mobile) l’installation requise : si l’utilisateur n’est pas encore convaincu de l’utilité du bot, il est moins susceptible de l’essayer si il doit passer par une étape d’installation
  • Coût de développement : le développement d’une application, web ou mobile, demande une complexité supplémentaire qui peut être coûteuse et ajouter un délai supplémentaire avant de rendre le bot accessible.

Les possibilitées offertes par les principaux moteurs NLU pour déployer un chatbot vocal dans sa propre application

Déployer un chatbot vocal sur sa propre application nécessite deux étapes principales :

  • Intégrer une interface s’appuyant des outils de Speech-To-Text et Text-To-Speech pour permettre de transcrire les paroles de l’utilisateur en texte compréhensible par un moteur NLU et pouvoir lui répondre.

  • Brancher cette interface utilisateur à un moteur NLU. Étape souvent rendue possible par les SDK proposés par les éditeurs des moteurs NLU.

Les détails de l’implémentation et leur complexité varient selon la nature de l’application, le ou les langages sur lesquels elle s’appuient et les SDK disponibles. Par exemple : Le moteur NLU Dialogflow propose des SDK pour de nombreux environnements différents (Android, iOS, Javascript, Ruby, C++, Java…)

Les possibilitées offertes par les principaux moteurs NLU pour déployer un chatbot vocal sur un agrégateur de bot

Le déploiement d’un service sur un agrégateur de bot n’est pas toujours facile suivant le moteur NLU et l’agrégateur de bot. Nous allons voir quelles solutions proposent les principaux moteurs NLU du marché.

Siri ne fait pas parti de ce comparatif car, à l’heure actuelle, l’intégrations de services tiers passe uniquement par le SiriKit et l'enrichissement d’applications iOS existantes. On peut imaginer qu’avec la sortie d’HomePod en fin d’année, il sera possible aux développeurs de créer leur propre bot vocal pour Siri.

* L’export d’un bot désigne la possibilitée de réutiliser le schéma décrivant ses entitées / ses intentions / ses phrases d’exemples / etc. pour faciliter la création d’un bot/skill sur une autre plate-forme

Conclusion

Le choix de déployer son bot vocal via un agrégateur de bot ou sur sa propre plate-forme dépend des contraintes et des besoins de chacun.

À noter, qu’il est tout de même possible de développer un chatbot vocal qui pourra être à la fois déployé sur un agrégateur de bot et dans une application propriétaire.

Actuellement Google, Amazon et Microsoft sont les seuls 3 géants du web à proposer un assistant vocal, respectivement Assistant, Alexa et Cortana. Ils fournissent chacun des SDK permettant de développer son propre chatbot vocal qui peut être déployé facilement sur leur assistant. Par contre, les compatibilités avec les plateformes concurrentes restent rares.

Dialogflow, le moteur NLU de Google, se distingue en proposant une solution de déploiement de bot pour chaque assistant (Alexa, Cortana et Google Assistant.)

Si vous souhaitez tester vous même des bots déjà déployés sur un assistant personnel, le plus simple est de passer par Google Assistant (via un téléphone Android ou par l’application iOS) et de lui demander de parler à l’un des bots disponibles en France : Voyages-SNCF, l’Equipe, Akinator, ...

Si vous n’avez pas encore eu l’occasion de le faire, nous vous conseillons de lire l’article Portrait robot d'un bot