31/10/2018 4 Minutes read Innovation 

Crash test : Les assistants personnels

Premiers tests et retours sur l'intérêt et le développement d'application sur les assistants personnels Amazon Echo et Google Home.

Mobilité contre immobilité

Bougez, soyez mobile, vas là-bas, reviens ici… tout bouge aujourd’hui, et la technologie nous accompagne, voire nous y encourage, comme les traqueurs d’activité par exemple. Les smartphones, les montres connectées nous suivent et font office d’assistant personnel. « OK Google, donne-moi la météo pour ce week-end. »  « Siri, rappelle-moi que j’ai rendez-vous avec Mathilde à 16h. »

Dans toute cette agitation, on en oublierait presque qu’il y a des moments d’immobilité. La maison, le bureau ou même la voiture sont des espaces dans lesquels on ne se déplace plus, du moins dans l’environnement proche. L’intérêt des assistants personnels nomades est-il alors remis en question ? Pas vraiment. Les services sont toujours disponibles ; vous ne manquerez pas votre rendez-vous avec Mathilde. Alors quelle place pour leur cousins sédentaires ?

De la contrainte naissent les possibles

Tout comme le design produit ou l’architecture, ce sont les contraintes qui forgent un service cohérent. Contraintes d’UX, de mobilité, ou d’environnement. C’est justement dans cette dernière contrainte que les Amazon Echo et autres Google Home peuvent tirer leur épingle du jeu.

La technologie nomade est générale ou user centric only alors que sa cousine sédentaire évolue dans un environnement contraint mais connu : maison, bureau, voiture. Ses capacités sont donc plus spécifiques, moins générales, plus étendues dans cet environnement.

Le service n’est plus dans votre smartphone, mais chez vous, avec vous. Inutile de sortir le téléphone, il suffit de demander à voix haute. Ajoutez à ça un service qui s’adapte aux habitudes de son utilisateur et vous avez l’assistant de vos rêves.

Privacy by design

Forcément, le sujet de la sécurité des données est à prendre en compte dès la conception. Je ne m’étendrai pas dessus, ce n’est pas le sujet de l’article. Mais une remarque tout de même : la voix est comme une empreinte digitale vocale et devrait être traitée avec la même attention que celle-ci ou que la reconnaissance faciale.

La technologie est d’ailleurs déjà disponible pour un Speech-To-Text traité en local, sans envoi de son sur le réseau. Snips et Pepper de SoftBank Robotics utilisent d’ailleurs ce système local. Pourquoi s’en priver ? Ce n’est hélas pas le cas de l’Amazon Echo ou du Google Home.

Dans le vif du sujet

C’est bien beau tout ça mais qu’en est-il du développement d’applications sur ces bêtes-là ? Nous avons pu mettre la main sur un Amazon Echo et un Google Home, les assistants personnels sédentaires les plus en vue actuellement.

Pour nos tests de prise en main, nous avons choisi de développer la partie service (qui va traiter la demande de l’utilisateur et y répondre) de nos applications Google et Amazon sur une fonction Lambda pour mutualiser ce développement. Lambda est un service d’Amazon qui permet de créer et d’héberger notre service sur le cloud.

Amazon Echo

Pour créer une application, Amazon nous propose quelque chose de simple, composé de deux couches :

  • Une skill (l’application elle-même)
  • Une fonction Lambda

La skill va prendre en charge toute la partie déclaration de l’application et interaction. C’est ici que vous déclarez vos Intents, Entitites, l’invocation, la déclaration de l’application, etc.

La fonction Lambda traite la commande vocale qu’elle reçoit sous forme de JSON et renvoie une String qui sera dite par Alexa. Simple !

L’installation se fait naturellement par la page dédiée à la gestion de votre Amazon Echo. Un développement sans douleur, ce qui n’a pas forcément été le cas avec son cousin estampillé Google.

Google Home

Les Actions chez Google requièrent plus de couches pour les connecter à une Lambda.

  • La Lambda bien sûr
  • Une API Gateway sur AWS pour faire la liaison entre la Lambda et Api.ai
  • Api.ai qui va rassembler toutes les schémas d’interaction (intents et entities).
  • La déclaration de l’Action sur la console Google qui déclare l’application et le nom d’invocation.

Pas de problème particulier pour le développement de l’Action, sinon qu’il y a plus d’étapes à réaliser que sur Amazon Echo. La séparation entre Api.ai et l’Action sur la console notamment est un peu dommage par rapport à Amazon.

Par contre, un simulateur est disponible sur Api.ai pour tester le tout par écrit ou par la voix. Un très bon point !

Le nom de l’invocation

Le choix du nom de l’application est plus contraignant que sur Amazon Echo. Il faut absolument qu’il y ait deux mots, certains sont réservés (Bot par exemple). Si vous souhaitez donner un nom original (dans notre cas Ekibot), vous devez montrer patte blanche et en faire la demande à Google, qui vérifiera que vous possédez bien le nom de domaine.

Dans les cas les plus communs, vous devrez donc choisir deux mots du dictionnaire comme : Half Pigeon, ou Red Dummy, c’est gratuit, c’est cadeau.

Quelques déboires

L’Action est prête, le Google Home branché et configuré. Selon la doc, il suffit d’avoir l’Action et le device connectés au même compte Google pour qu’elle soit déployée automatiquement pour être testée.

Ok Google, can I talk to Little Robot?

Rien, l’application n’est pas reconnue ou même installée. On reprend tout depuis le début histoire de vérifier que l’on a rien oublié. La réponse vient finalement, après frustration et injures, du support de Google.

Au moment de nos tests, les actions n’étaient déployables que sur les devices configurés en anglais US. Le nôtre était en anglais UK. Un détail d’importance… Dans le cas où l’on devrait développer une Action pour l’Europe, même anglophone, cette limitation est rédhibitoire. En espérant une mise à jour des conditions de déploiement bientôt.

Une fois la langue changée, aucun problème, on interagit bien avec le Google Home qui a téléchargé automatiquement l’application.

À noter au passage que _”OK Google” _a tendance à réveiller les smartphones Android branchés à portée de voix… Embêtant…

Les langues

Amazon Echo supporte aujourd’hui l’anglais US, UK et l’allemand. Le device de Google, quant à lui, en supporte plus. Pas moins de cinq langues, dont beaucoup d’anglais (US, UK, Canada et Australie) et le français canadien. À noter qu’il sort en France le 3 août, une sixième langue viendra donc s’y ajouter.

On peut regretter que la déclaration des applications sur ces assistants personnels ne soient pas internationalisables facilement. Pour chaque langue ajoutée, il faudra redéclarer un agent complet sur Api.ai ou une nouvelle Skill sur Amazon.

Les assistants personnels en bref

Selon nos tests, Google Home est plutôt un assistant personnel de bureau : il faut être en face et relativement proche pour que votre commande soit reconnue. Son design indique d’ailleurs clairement un avant et un arrière.

Contrairement à l’Amazon Echo qui se destine à un usage moins contraint. Nous avons pu le lancer et contrôler nos lumières depuis n’importe quel point de la pièce sans aucun problème.

Enfin, le développement nous a paru bien plus simple et rapide à mettre en place sur l’Echo d’Amazon que sur son homologue de Google.

Il y a clairement un côté Internet of Things à développer sur ces machines. Elles sont statiques et donc ancrées au coeur de la maison, des habitudes de ses résidents. Une exploitation correcte et respectueuse utilisée par un service efficace permettrait d’en faire de parfaites conciergeries pour tous mais surtout pour chacun.

Lire plus d’articles

  • 4 Minutes read par Gary Jobe

    La voix : une approche multimodale nécessaire

    Lire la suite