Sviluppare un chatbot con Google Chat – prima parte

Vi sarà già capitato, finendo su una pagina web di un qualche provider di servizi, di essere stati invitati ad interagire su una chat di richiesta informazioni e di scoprire che a darvi supporto non era un essere umano, ma un assistente virtuale. Si tratta di una Chatbot, ovvero di un robot software che interagisce attraverso un canale chat.

 

Con la diffusione degli strumenti di machine learning e intelligenza artificiale, sempre più alla portata di tutti, è diventato possibile aggiungere alle applicazioni interfacce diverse da quella puramente grafica.

 

Grazie alla comprensione ed elaborazione del linguaggio naturale è possibile infatti cercare risposte ad una domanda ponendola semplicemente come faremmo ad un essere umano.

In questo modo, non solo i vostri siti web ma anche le vostre webapp potrebbero arricchirsi di una interfaccia con cui potete interagire in modo del tutto naturale, così come fareste rivolgendovi un vostro collega:

“Potresti inviarmi per email la fattura 2019.22?”, “Puoi mandarmi il link alla commessa A22.2018?”, “Quale è il fatturato totale di Marzo 2015?” 

Tutti esempi di domande che potreste porre al vostro ChatBot aziendale rendendo il lavoro ancora più efficiente e dinamico di quanto non sia oggi. 

 

Ma quanto è complesso creare un ChatBot aziendale, quali strumenti sono oggi disponibili ed è veramente alla portata delle micro e piccole aziende senza dover sostenere investimenti ingenti?

Vediamolo nel dettaglio con un esempio in questo articolo di Simone Bracaloni, Senior Software Engineer @ Wondersys

 

Bisogna dire prima di tutto che un chatbot esiste ed opera solo grazie ad una infrastruttura di comunicazione, quella della chat appunto, che deve essere a sua volta in grado di ospitare, se così vogliamo dire, il chatbot.  Molti servizi di chat infatti supportano i chatbot, in una versione elementare, già da molto tempo.

 

Per anni, a partire dal 1988 quando il protocollo IRC è stato standardizzato, I canali IRC sono stati le chat per antonomasia e i primi bot nacquero da subito in questo ecosistema, con le funzioni piú diverse. Per citare qualche esempio, questi Bot si occupano di dare il benvenuto ai nuovi utenti nel canale, descriverne il funzionamento e le regole e anche registrare i messaggi e creare degli archivi ordinati e indicizzati. Su wikipedia si legge: “Un bot IRC è un insieme di script o un programma indipendente che si collega ad un server IRC proprio come fa un client, e gli altri utenti IRC lo vedono proprio come uno di loro. Il bot IRC è diverso da un normale client che fornisce accesso interattivo per gli utenti umani, esso esegue funzioni automatizzate.

 

Quindi gli ingredienti per creare un bot sono semplici, un canale di chat e un software in grado di partecipare al canale come se fosse un utente.

 

Due cose importanti però sono cambiate dal 1988: 

  1. Le chat sono diventate uno strumento di lavoro e non più solo di svago
  2. Software come i Bot hanno acquisito i superpoteri con il perfezionarsi degli algoritmi di intelligenza artificiale,  in particolare per quanto concerne il riconoscimento del linguaggio naturale.

 

Vediamo adesso un esempio concreto di cosa significhi creare un Bot nel 2020. Ci occorre un servizio di chat, che sia sicuro e privato, perché vogliamo usarlo per comunicare istantaneamente con i nostri colleghi di lavoro in giro per il mondo. Vogliamo che questo servizio sia gestito, perché non vogliamo perdere troppo tempo nel setup del servizio, non abbiamo il tempo o le capacità per  lanciare e gestire macchie e server IRC.

Ci occorre infine che questo servizio di chat supporti i Bot, magari nativamente, che sia in gradi di interagire con loro nel modo migliore e che si possa integrare un con sistema di progettazione dei Bot semplice ed efficace. 

 

Scopriamo che non dobbiamo andare molto lontano, possiamo scegliere Google Chat, il nuovissimo servizio di messaggistica istantanea presente nella suite Google Workspace.

 

Per il nostro esempio, ci poniamo un obiettivo semplice, un bot a cui possiamo chiedere le previsioni del tempo direttamente nella nostra room delle attività ricreative aziendali.

Vedremo poi che quando si tratta di linguaggio naturale ci sono ben poche cose semplici, ma scopriremo anche che con strumenti come Google Dialogflow abbiamo tutto quel che ci serve per sfide ben più complesse. 

 

Bene, partiamo!

 

 

 

Se non ne abbiamo già una, creiamo la room dove vogliamo installare il nostro Bot.  

Andiamo su https://chat.google.com/ e clicchiamo in altro a sinistra  sul bottone + 

 

Scegliamo le persone che vogliamo includere nella nostra stanza e clicchiamo su “Crea”

Notiamo che alcuni bot sono già disponibili e potremmo quindi “invitarli nella nostra chat” perché possano partecipare alle nostre discussioni. E’ il caso ad esempio dei bot di Google Drive che ci permette ad esempio di assegnare i permessi su un documento senza lasciare la chat. 

 

Adesso che abbiamo la nostra room vogliamo sviluppare il nostro MeteoBot. Questo lo vedremo nel dettaglio la prossima settimana in cui illustreremo come sviluppare il bot con Google e Dialogflow e ci metteremo all’opera con la scrittura del codice.

 

Un saluto a tutti e a presto!

 

Simone Bracaloni

Senior Software Engineer @ Wondersys