MEMUS: evoluzione di un chatbot (Parte 1)

Un primo esempio di sviluppo di un assistente virtuale con Dialogflow (Parte 1).
Gli assistenti virtuali sono chatbot evoluti che sfruttano l’intelligenza artificiale e in particolare utilizzano algoritmi di machine learning per gestire il dialogo con gli umani. Questi sistemi possono aiutare a condurre una vera e propria attività, possono ricordarti gli appuntamenti, gestire le tue liste di cose da fare, inviare messaggi e così via. Gli assistenti virtuali sono pertanto considerati interfacce di conversazione o anche agenti intelligenti.
Sempre più diffusi, i chatbot e gli assistenti virtuali sono utilizzati come mezzo per interagire con gli esseri umani tramite messaggi testuali o audio (si pensi a Siri di Apple o Alexa di Amazon). L’intelligenza artificiale, in alcuni scenari, svolge un ruolo innovativo nel servizio clienti: questi interagiscono col bot per avere risposte a domande riguardanti un prodotto, per avere informazioni relative al prodotto o anche per prenotare un appuntamento con il responsabile della produzione.

telegram chatbot conversation
Da queste nozioni nasce MEMUS, il chatbot che permette di effettuare prenotazioni direttamente da una chat.
Attualmente è in fase di progettazione, tuttavia è già pronta una versione BETA che come esempio permette di prenotare un taglio di capelli, una rifinitura della barba o uno shampo dal barbiere. Ovviamente è solo uno dei tanti task che MEMUS si propone di fare: in futuro sarà possibile prenotare una visita sanitaria, aiutare l’utente nella scelta di un particolare prodotto o semplicemente ordinare una pizza a domicilio.
MEMUS è quindi un agente virtuale personale. Sviluppato con Dialogflow, sfrutta tutta la flessibilità di node.js e la potenza del Machine Learning, per assistere l’utente nella prenotazione di un appuntamento. Presto potrà aiutare gli utenti nello svolgimento delle attività quotidiane come impostare la sveglia, programmare altri tipi di appuntamento, effettuare ricerche, digitare messaggi e così via.
Il backstage di MEMUS: modifica del Fulfillment.

dialogflow fulfillment code
La personalizzazione dell’assistente virtuale richiede l’implementazione di codice ad hoc (node.js) prestando attenzione a quali sono i compiti che il bot deve svolgere all’interno del dialogo. Il codice si trova in una sezione denominata fulfillment.
Una prima modifica (con non pochi grattacapi) ha riguardato il fuso orario: la piattaforma dialogflow è progettata per lavorare con date e orari che rispettino formato e abitudini prettamente anglosassoni. Ad esempio, le ore mattutine e quelle pomeridiane sono scandite dalle parole am e pm (ante meridiem e post meridiem). Pertanto, utilizzando i regex ho dovuto aggiustare il tiro riportando tutto in formato data e ora nostrani.
Tra le altre integrazioni, l’utilizzo di nodemailer per l’invio di un messaggio di conferma degli appuntamenti tramite posta elettronica e le API di Google Calendar per consultare e fissare l’appuntamento scrivendo direttamente sul calendario dell’esercente.
Sviluppi Futuri e campi di Applicazione.
I campi di applicazione sono i più disparati e spaziano dal settore commerciale ai campi della medicina dell’istruzione. Vendite al dettaglio. Help Desk. Raccolta differenziata. Si pensi che alcuni assistenti virtuali sono stati pensati per aiutare persone con disabilità e altri possono essere utili a effettuare un triage a distanza per velocizzare gli ingressi in una struttura ospedaliera.
Uno dei filoni a cui sto lavorando riguarda l’interazione non diadica tra più partecipanti in una chat. L’obiettivo è di far dialogare tra loro due o più agenti virtuali e farli interagire con utenti umani. Attualmente in letteratura si trova qualcosa abbinato al settore del cultural heritage: ad esempio visite guidate assistite all’interno di un museo o di un parco archeologico. Ma il campo in questione rimane ancora una vera e propria scommessa.
Infine l’utilizzo di una piattaforma open source come RASA non è da escludere. In questo post mostro le differenze principali tra Dialogflow e RASA.
Per chi fosse interessato a provare MEMUS può contattarlo sulla piattaforma Telegram o aggiungere @memus_prenotazioni_bot ai contatti. Inoltre per informazioni su eventuali sviluppi, suggerimenti e proposte di collaborazione basterà inviare una mail a angelo.ambrisi@gmail.com.