Google Assistant au Google Developer Days 2017

Google Assistant au Google Developer Days 2017

Google Assistant aux Google Developer Days 2017.

 

Google Assistant a été présenté 2 fois pendant ces Developer Days, lors de la keynote et lors d’une session dédiée. Ce qu’ils attendent de l’intelligence artificielle : comprendre le contexte et les émotions.

On a eu le droit à une belle démo, presque bluffante.

L’assistant devient comme un pote qui retient les informations que tu lui donnes sur toi, basiquement ton équipe de sport préférée, l’adresse de ton domicile, de ton travail… mais aussi des détails très spécifiques. Et là, l’assistant passe de pote à stalker hyper creepy ! Pour l’exemple, le speaker lui donne comme détail qu’il peut se baigner dans le lac de Zurich quand il fait 25°. L’assistant lui répond juste OK, presque d’un air dédaigneux. Mais quand il lui demande « Est-ce que je peux me baigner dans le lac de Zurich demain ? », l’assistant répond alors « Non, il fait que 22° demain !».

Google assistant peut aussi utiliser des images et donc si on est vraiment des feignasses, on peut lui montrer des billets d’une monnaie étrangère et lui demander combien ça fait dans notre devise.

La démo était vraiment bien faite et si ça vous intéresse, je vous fournis le lien, et ça commence à partir de la 33e minute -> Vidéo

On nous a ensuite expliqué un peu plus en détail comment on pouvait développer des applis avec cet assistant que ce soit pour Android Wear, Android Auto, Google Home et bien sûr pour un smartphone.

Ils ont créé une API (enfin…racheté une start-up qui avait créé une API), api.ai, que l’on peut utiliser pour nos propres applications. L’assistant connaitra alors le nom de notre application et on pourra l’utiliser via l’assistant.

Donc cette API pourrait donner un dialogue qui ressemblerait à ça:

« Ok Google, talk to Omnilog 

- Ok 

- Combien me reste-t-il de jour de congés ? 

- Tu es en négatif sur tes RTT, par contre, il te reste encore 10 jours de CP

- Tu peux poser 2 jours de congés à partir du 2 Novembre ?

- Ok, j’ai posé tes congés les 2 et 3 Novembre.»

 

La conversation est alors gérée via api.ai qui peut être entrainée pour répondre au mieux aux demandes des utilisateurs. L’API reconnaît automatiquement certains mots qui sont alors classés dans des catégories selon le contexte utilisé. Par exemple, dans un contexte qui va parler à Julien Maillard, si on parle de poulet, il va classer le mot dans les protéines. Dans un autre contexte, il aurait pu classer ce mot dans la catégorie animaux tout simplement.

Pour tester les réponses de l’API, ils ont mis en place Actions on Google. Dans cette interface, on peut essayer de lui donner des phrases et vérifier la réponse qu’il génère.

Concrètement, pour créer une appli avec Google Assistant, il faut commencer par aller sur la console de développement de api.ai, créer les intents et les entities.

Les entities permettent de définir des champs lexicaux pour certaines informations.

Des entities « système » existent déjà comme la langue, la durée, des adresses, les dates…

Exemple d'entities

 

Après avoir fait cela, il faut activer la partie « Fullfilment » dans la console d’api.ai afin d’utiliser notre propre web service.

Maintenant, on peut enfin créer notre intent.

Les intents vont définir les questions que l’utilisateur peut poser et les réponses ou les actions associées. Dans les questions, on peut intégrer les entities précédemment créées et les ajouter aux paramètres de notre future requête. Ensuite on crée les réponses, en premier lieu, on peut mettre une réponse par défaut en cas d’erreur de réseau par exemple. Ensuite on coche la case « Use webhook » dans la partie « fulfillment » afin de d’envoyer les requêtes vers nos web services.

Ensuite, il faut commencer à coder notre partie serveur. Le serveur recevra une requête POST avec les paramètres choisis dans les intents. La réponse devra se faire en JSON et contenant les paramètres :

  •  « speech » qui va définir ce que va répondre l’assistant ;
  • « displayText » qui sera, le cas échéant, le texte affiché sur le téléphone ;
  • « data » qui sont des données additionnelles qui peuvent être utiles au client ;
  • « contextOut » qui est un tableau d’objets contextuels, « source » qui est une chaine de caractère représentant la data source ;
  • « followupEvent » qui est optionnel et qui est un objet avec un nom et des paramètres et qui est à destination d’api.ai.

L’ensemble intents/entities est appelé agent et est amené à être inclus dans notre application. Sur le schéma ci-dessous, il est représenté en orange.

Le code labs sur ce sujet est en ligne et accessible à tous (sauf pour ceux qui utilisent le navigateur Opera) : Codes Labs

 

Roxane A.

P.S. : On pourrait aussi faire un nouvel agent qui permettrait de saisir nos temps ou valider nos présences et frais (et peut être que de cette façon ce serait fait plus systématiquement !  ;) )

Commentaires

Alexandre Saison
Bon article, j'ai participer a un Meetup Jeudi dernier, le 16/11/17 dans lequel on nous proposait un talk pour creer des action sur google Assistant. J'essaierai de partager les slide de la prez des que possible si ca peut interesser quelqu'un
rattana
Bon article, merci d'avoir partagé. Technologiquement, c'est bluffant, mais il n'y a que moi qui tique sur le fait que cette technologie va surtout permettre à Evil-Google d'en savoir encore plus sur nous ? pour mieux nous vendre la dernière crème anti-ride ou autre élargisseur de virilité ?

Ajouter un commentaire