BARI - Nell’ambito delle attività volte a semplificare le interazioni dei cittadini con i sistemi digitali dell’amministrazione comunale, questa mattina l’assessore all’Innovazione tecnologica Eugenio Di Sciascio, accompagnato dall’ingegner Valerio Summo, funzionario della ripartizione IT, ha presentato alla stampa il chatbot EVA (Egov Virtual Assistant), parte del progetto EGOV2 egov.comune.bari.it, effettuando anche una dimostrazione “dal vivo” delle potenzialità dell’applicazione.
Un chatbot è un agente software che simula, attraverso un’elaborazione automatica, le conversazioni umane e consente agli utenti di comunicare con un sistema digitale come se stessero parlando con un umano. L’elaborazione avviene attraverso tecniche di artificial intelligence (AI), quali machine learning e rule-based grammar matching.
EVA è stato progettato in modo da consentire al cittadino di:
· porre quesiti generici sui servizi comunali
· ricercare un servizio di Egov, con relativo link alla scheda servizio
· ottenere un certificato
· disporre di un help (Faqbot) in fase di compilazione di un form (es. cambio di residenza)
Ad oggi, il chatbot è stato addestrato per gestire e comprendere le seguenti tipologie di messaggi:
· domande e quesiti generici su 26 tematiche differenti
· ricerca e individuazione di 13 servizi Egov già attivi sul portale egov.comune.bari.it (certificati anagrafici, dichiarazioni, pagamenti)
· emissione diretta di un certificato anagrafico (tra quelli attivi sulla piattaforma) contestuale alla conversazione con il chatbot per gli utenti autenticati con SPID/CIE.
· supporto alla compilazione di un web form (Cambio di Residenza) per gli utenti autenticati con SPID/CIE
“Con l’introduzione di questo agente automatico dotato di intelligenza artificiale - ha dichiarato Eugenio Di Sciascio - intendiamo supportare e assistere l’utente interessato ad utilizzare i servizi digitali dell’amministrazione comunale, a partire da quelli presenti nell’ambito della piattaforma EGOV2.
Da oggi la amministrazione si dota così di un’assistente virtuale capace di interagire con i cittadini in una serie di attività che riguardano ad esempio la richiesta di informazioni o il supporto alla compilazione di certificati, alcuni dei quali già oggi vengono prodotti con il supporto di EVA senza necessità di compilare alcunché .
EVA è un progetto on going: l’architettura informatica è stata già completata, ma continueremo a lavorare con il personale dell’urp e con i funzionari di diverse ripartizioni, a cominciare da quelli dei servizi demografici, per ampliare progressivamente la base di conoscenza disponibile a partire dalle domande più frequenti rivolte agli uffici e consentire a questo assistente virtuale di “imparare”, acquisendo via via nuove funzionalità e conoscenze.
Il nostro auspicio è che da oggi, grazie a questo nuovo servizio, i cittadini possano ottenere risposte semplici e immediate a molti dei loro quesiti senza necessità di effettuare ricerche dentro i siti dell’amministrazione e riducendo di conseguenza i tempi necessari per ottenere informazioni e servizi”
“Dietro questo nuovo assistente virtuale c’è dialogflow, di google - ha spiegato Valerio Summo - in grado di interpretare il linguaggio naturale delle persone che potranno interrogare EVA per ricevere informazioni sui servizi online o ottenere alcuni certificati nel corso dell’interazione con questo chatbot. Attraverso la comprensione del linguaggio naturale, EVA supporterà i cittadini nell’individuazione del servizio di egovernment prescelto e nel relativo utilizzo. Allo stato i temi già implementati nel servizi riguardano informazioni generiche su organizzazione degli uffici, contatti e recapiti oltre che istruzioni puntuali per l’utilizzo dei servizi scolastici e per la richiesta di dichiarazioni e certificati anagrafici, ma a breve se ne aggiungeranno altri”.
EVA - Egov Virtual Assistant
Architettura
Qui di seguito l’architettura applicativa e la descrizione delle principali componenti software:
Widget
Il widget è il componente software attraverso il quale l’utente interagisce con l’ambiente Chatbot.
Si tratta di una webapp realizzata con framework Angular ed integrata all’interno della piattaforma Liferay con cui è stato sviluppato il nuovo portale egov.comune.bari.it
Il widget si connette a Dialogflow tramite un web proxy che a sua volta indirizzerà le risposte al widget (effettuando le opportune conversioni tra i protocolli).
Dialogflow, ad ogni domanda, verifica se l’intent è configurato per servire la risposta tramite fulfillment.
In tal caso per ottenere la risposta, Dialogflow utilizza la webhook app della piattaforma che esegue le seguenti operazioni:
1. Interroga i servizi Egov (se necessario)
2. Elabora la risposta arricchendola di informazioni ed eventuali azioni (rappresentate sotto forma di pulsanti nella chat)
3. Inoltra la risposta a Dialogflow
Proxy App
L’applicazione Proxy realizzata in Node, implementa un vero e proprio proxy per la comunicazione tra il Widget web e Dialogflow. Questa applicazione si occupa di svolgere i seguenti compiti:
· Nasconde le credenziali per l’accesso a Dialogflow, per cui la comunicazione con DialogFlow deve avvenire obbligatoriamente “server side”;
· Implementa la traduzione del protocollo tra Dialogflow e il Widget web;
· Interpreta il markdown presente nelle risposte Dialogflow adattandolo al protocollo JSON supportato dal Widget web.
WebHook App
Si tratta di una web app realizzata in Node ed è fondamentale per elaborare la logica applicativa di tutte le risposte che sono fornite in modalità dinamica. Tali risposte, all’occorrenza, sono arricchite da servizi di backend applicativo come nel caso di informazioni su Certificati, e servizi in generale.
Utilizza un protocollo proprietario basato sul formato di output: JSON. Dialogflow invia ad un indirizzo web tutte le chiamate sugli intent per i quali è attivata una o entrambe le opzioni di fulfillment.
Dialogflow
Dialogflow è la piattaforma Google per il Natural Language Understanding (NLU), adottata per la comprensione dei messaggi in linguaggio naturale dell’utente e per la creazione di esperienze conversazionali ricche e naturali. Dialogflow offre agli utenti la possibilità di utilizzare interfacce utente innovative, conversazionali ed AI-based.
Oltre ad una semplice Dashboard per la costruzione e l’addestramento di agent e bot intelligenti, Dialogflow dispone anche di un insieme di API ed Extension Points che permettono l’integrazione con altri software.
Una volta che il messaggio dell’utente è stato decodificato, viene individuato l’intent corrispondente e vengono eseguite le azioni correlate che si concludono sempre con l’invio di una risposta all’utente. Gli algoritmi di matching che vengono utilizzati sono di due tipi:
· Rule-based grammar matching
· Machine Learning.