Scrivi la tua prima Action per Assistant

Juna Salviati
GDG Google Developer Group & WTM Rome
3 min readJun 24, 2019

Google Assistant è un assistente virtuale sviluppato da Google, con il quale si può interagire utilizzando il linguaggio naturale.

Se sei un amante dei fumetti puoi pensare che sia un po’ come Alfred in Batman, se invece ti senti un po’ più tecnologico puoi vederlo come il tuo Jarvis. 😉

Che cosa farai

Seguendo questo codelab, creerai una semplice Action che funzionerà nel seguente modo:

  • Gli utenti inizieranno la conversazione invocando la tua Action, che risponderà con un messaggio di benvenuto personalizzato.
  • Gli utenti potranno richiedere di conoscere fatti realtivi ad alcune donne importanti nella storia.
  • La Action selezionerà un fatto e lo proporrà all’utente.
  • Gli utenti potranno terminare la conversazione in qualsiasi momento.

Che cosa imparerai

  • Capirai come funzionano Actions e DialogFlow.
  • Capirai come creare un agent DialogFlow.
  • Capirai come definire delle frasi di training in DialogFlow.
  • Capirai come testare la tua Action.
  • Capirai come implementare la tua Action utilizzando le Cloud Functions e le librerie DialogFlow.

Hey Google, che succede dietro le quinte?

Come potrai immaginare, quello che entra in gioco quando dici “Ok Google” è un mix di vari servizi e processi: speech-to-text, NLP, speech-to-text, risposte dal backend…

Ma perchè c’è bisogno di tutto questo?

Per poter funzionare, l’Assistant deve essere in grado di capire cosa vogliamo fare e quali informazioni servono per poter portare a termine il compito che gli stiamo dando.

Il linguaggio umano è un tipo di input estremamente difficile da elaborare, tanto che tutte le tecniche di analisi basate su regole delle sue componenti sintattiche (cioè della sua forma) e semantiche (cioè del suo significato) finiscono per dare risultati poco soddisfacenti.

Quello che ci vuole quindi è un approccio totalmente diverso, basato su particolari algoritmi che permettono alla macchina di dedurre tramite un “modello” come trattare qualsiasi tipo di input a fronte di un addestramento condotto su un input già classificato (“training data”).

Per facilitare le cose, Google mette a disposizione DialogFlow, uno strumento che permette di sviluppare “interfacce a conversazione” (“conversational interfaces”): DialogFlow infatti incorpora tutti i servizi che sono necessari affinché la nostra Action possa comprendere cosa fare (“quale intent lanciare”) e quali parametri servono per farlo (“quali entities sono necessarie”).

A questo punto, al programmatore non rimane che implementare un backend che, a fronte dei parametri ricevuti in input, invii delle risposte formattate secondo lo standard che l’Assistant si aspetta di ricevere (ovvero faccia il fulfillment).

--

--