Introduzione a dialogflow

Le chat sono ormai, al giorno d’oggi, parte integrante della nostra vita quotidiana. Tutti i giorni sin da quando ci svegliamo fin quando andiamo a letto facciamo uso di questa tecnologia, è diventato un servizio sempre più fondamentale arrivando a sostituire il più classico SMS, la trasmissione dei messaggi via chat avviene tramite internet, quindi è gratuita, a differenza degli SMS che sono a pagamento. Le chat sono ormai diffuse su qualsiasi dispositivo e qualsiasi piattaforma anche se vengono maggiormente usate su cellulare, per l’appunto in sostituzione dei più vecchi SMS. Che si usi uno smartphone, un pc o un tablet non c’è differenza poiché le piattaforme per chat sono ovunque, parliamo di: whatsapp, skype, viber persino i social hanno chat integrate come facebook, instagram etc. Si sono così radicate nella cultura umana che hanno iniziato a sviluppare anche un linguaggio tutto loro, nel quale abbreviamo alcune parole o frasi per scriverle più velocemente, ci permette di esporre, oltre che i concetti che possiamo comunicare normalmente con il dialogo, emozioni o piccoli pensieri attraverso le cosiddette emoticon!

Cos'é Dialogflow

Cos’é Dialogflow | Sito ufficiale dialogflow.com

Insomma la chat è qualcosa che ormai è completamente integrato nelle nostre vite, talmente tanto da condizionare ed influire anche la distribuzione di servizi o i rapporti con le aziende. Infatti al giorno d’oggi è cosa comune fare una prenotazione per una pizza o un servizio tramite chat, oppure contattare il servizio clienti di un’azienda sempre via chat, insomma questo mezzo di comunicazione si è aggiudicato un posto anche nel mondo lavorativo e delle aziende. Ma cosa ne pensereste se vi dicessimo che in questi ultimi casi può capitare che dall’altro lato della chat non ci sia una persona, ma una macchina ?

Sembra incredibile a dirsi, ma le moderne tecnologie hanno permesso la creazione di algoritmi di machine learning che hanno a loro volta consentito la creazione di applicazioni che rispondono nelle chat con frasi che sembrano scritte da persone. Inoltre questo algoritmo è capace di imparare, il suo sviluppo è continuo, relazionandosi con gli utenti infatti

L’algoritmo di Google che impara a scrivere come un umano

l’algoritmo aggiunge sempre nuove cose al suo database e affina le sue capacità di comunicazione con gli umani. Google ha proposto un modo semplice per permettere a chiunque di creare il proprio algoritmo di conversazione automatico per chat, così che qualsiasi azienda o impresa possa di iniziare a sviluppare in maniera facile e veloce il proprio “bot”, così vengono chiamati questi interlocutori digitali, stiamo parlando di Dialogflow.

Come funziona algoritmo di Dialogflow

Foto presa da https://thenextweb.com

Creare un bot per le conversazioni è facilissimo grazie a Dialogflow, come detto queste macchine imparano da sole il linguaggio umano, basterà infatti creare un modello iniziale, ponendo a Dialogflow le domande che si presume gli utenti presenteranno più spesso e fornendogli le eventuali risposte, Dialogflow inizierà così a creare un primo modello su cui basarsi, che poi migliorerà e affinerà con ogni interazione.
Andiamo a vedere nel dettaglio cosa sia Dialogflow, quali sono le sue caratteristiche, come funziona e perché è così rivoluzionario.

La storia di Dialogflow e della compagnia che l’ha prodotto

La compagnia che ha creato per Google Dialogflow era chiamata Speaktoit, questa era un’azienda specializzata nella realizzazione di bot per chat per le interazioni uomo-macchina basate su linguaggio umano naturale. La compagnia era famosa per la creazione di “Assistant” un bot per Android, Ios e windows smartphone che era in grado di eseguire dei compiti e rispondere in modo naturale a domande poste dagli utenti, ovviamente in linguaggio umano. Speaktoit ha inoltre creato un motore che incorpora nelle conversazioni, oltre che alle frasi ricevute dagli utenti, tutto lo storico dei messaggi scambiati con questi, la loro posizione geografica e le preferenze dell’utente.

API.AI la sua storia

Nel settembre del 2014, Speaktoit ha rilasciato api.ai un motore che supportava l’utilizzo della “voce” per Assistant, permettendo così di aggiungere interfacce vocali alle applicazioni basate su Android, Ios, HTML5 e Cordova. Questo motore conteneva funzioni di riconoscimento vocale, comprensione del linguaggio naturale, e funzioni per la conversione del linguaggio da testuale a parlato. Api.ai permette agli sviluppatori di “internet of things” ossia “l’internet delle cose” (una rete che connette macchinari permettendo loro di scambiare dati e interagire, molto utile all’interno delle aziende per esempio) di includere delle interfacce basate su linguaggio naturale nei loro prodotti.

Api.ai

Api.ai

Nel 2016 Google ha comprato questa compagnia, inizialmente la compagnia acquisita prese il nome di API.AI; produceva strumenti per facilitare gli sviluppatori nella creazione di app per l’assistente vocale di Google. Nell’Ottobre del 2017 il nome dell’engine fu cambiato da api.ai a Dialogflow, come noi oggi lo conosciamo. Interessante vero? Continuamo…

Cos’è Dialogflow

Dialogflow è quindi un tool che facilita agli sviluppatori il compito di creare interfacce utente basate su chat scritta o vocale. Questo è ampiamente sfruttato dalle aziende per i loro servizi clienti, il commercio, la produttività o come detto apparecchiature Iot. Dialogflow è un servizio fornito da Google e in quanto tale gira sui loro server, che grazie alla grande potenza ne permettono l’utilizzo da parte di miliardi di utenti contemporaneamente. Come detto è uno degli engine più sfruttati per la creazione e per lo sviluppo di applicazioni sull’assistente di Google. L’obbiettivo di Dialogflaw è di rendere questi processi di creazione più semplici ed immediati tramite l’impiego di un’interfaccia user friendly e il machine learning. Lo stesso sistema lo vedremo nella creazione del telegram bot qui nel mio blog.

Le funzionalità di Dialogflow

Dialog flow comprende moltissime funzionalità per la creazione di bot per la conversazione con gli utenti in maniera naturale e “umana”. Come già spiegato questa rete di conversazione viene creata dando a Dialogflow un modello di base su cui iniziare il suo funzionamento, bisogna infatti conferirgli le risposte alle domande che si ritenga più facile possano essergli poste. In seguito Dialogflow imparerà da solo attraverso l’elaborazione delle conversazioni con gli utenti, così da ricavare sempre più informazioni ed integrarle, per avere un linguaggio che risulti intelligente e veloce.

Dialogflow traning spelling grammaticale | Bot che impara

Dialogflow traning spelling grammaticale | Bot che impara

Questo grazie al machine learning e alla comprensione del linguaggio naturale, che consente all’applicazione di riconoscere all’interno della chat con l’utente entità predefinite, quali ad esempio ora, data numeri o specifiche parole. Sono presenti una serie di entità di base, ma sarà possibile “addestrare” il proprio bot ed estendere lo spettro di entità che conosce. Si potrà fornire a Dialogflaw dati sulla propria azienda in blocco, in seguito l’applicativo stesso grazie ai connettori di conoscenza sarà in grado di riconoscere le informazioni utili all’interno del blocco.

I connettori di conoscenza di Dialogflow

Questi connettori sfruttano le tecnologie di ricerca di Google e di Google assistant per poter riconoscere all’interno del blocco di informazioni quelle utili allo sviluppo del linguaggio del bot. Dialogflow predispone inoltre di un modello per il riconoscimento vocale. Sarà possibile oltre che interagire con conversazioni testuali introdurre funzioni per il riconoscimento vocale che permetteranno a queste applicazione di rapportarsi con l’utenza non solo attraverso l’utilizzo di interfacce basate sulle chat scritte.

Questo tool consente di sviluppare in modo semplice e veloce bot per chat supportati da tantissime applicazioni.

Integrazioni di Dialogflow

Dialogflow si integra facilmente con tutte le più famose piattaforme per la conversazione, come Google assistant, Whatsapp e Facebook messenger ma non solo anche telegram come vedremo nella seconda della guida al telegram bot.

Integrazioni Dialogflow Telegram

Integrazioni Dialogflow Telegram

Dialogflow supporta tre tipi diversi di integrazione con le applicazioni:

  • built-in integrations: Questa tipologia comprende tutte le integrazioni native di Dialogflow che possono essere configurate attraverso la sua console di sviluppo. Questo tipo di integrazione supporta piattaforme come : Google Assistant, Dialogflow messanger, Dialogflow phone gateway, chat in Hangout, Facebook messenger, telegram, line e slack;
  • integrazioni open source fornite da Google: queste integrazioni sono state sviluppate e fornite da Google stessa. Ognuno è libero di sfruttarle e modificarle per poi ripubblicare.
  • integrazione con i partner: queste sono integrazioni che sono state realizzate dai partner di Google. Le integrazioni fin ora sviluppate dai partner di Google sono quella con Genesys, SingalWave, Voximplant.
  • integrazioni indipendenti: l’ultimo tipo di integrazione è quello fornito da indipendenti che non sono in alcun modo affiliati con Google. Dal momento che queste interazioni sono sviluppate in modo totalmente indipendente Google non fornisce nessun tipo di supporto, questo viene fornito direttamente dal proprietario dell’integrazione

Dialogflow possiede un editor integrato per poter andare a lavorare e modificare il codice sorgente in modo tale da adattarlo a specifiche esigenze, così facendo si potranno creare applicazioni che non necessitino di server (applicazioni serverless). In alternativa si potrà fornire un proprio WebHook.
Dialogflow supporta inoltre lo sviluppo attraverso svariati linguaggi di programmazione, come C#, java, Node.Js, Go, Python, PHP, Ruby.

Dialogflow editor Webhook

Dialogflow editor Webhook

Analizzare performance del bot nella Dashboard di Dialogflow

In Dailogflow è inoltre presente una dashboard di analisi che riporta dati ed informazioni riguardanti le interazioni degli utenti col bot, in questo modo gli sviluppatori possono valutare le sue performance in base alle risposte alle domande poste degli utenti e ottimizzarlo di conseguenza. Inoltre l’applicazione può analizzare i sentiment degli utenti verso il bot, attraverso un sistema di punteggio che permette di capire quali siano i punti critici del bot e cercare di sistemarli o ottimizzarli.

Cosa succede se l’ortografia dell’interlocutore del bot non è corretta?

Molte persone quando si trovano a relazionarsi in chat in modo frettoloso non sono molto attente ad avere un’ortografia o una grammatica perfetta. Dialogflow ha un sistema di correzione automatica degli errori grammaticali, che gli permette nonostante questi di comprendere in modo adeguato il testo e di rispondere correttamente alla domande che gli viene posta, la tecnologia che sfrutta è simile a quella che Google applica solitamente ad altri prodotti, come il suo assistente vocale. Potentissimo vero? Continua a leggere…

Dialogflow traning spelling grammaticale | Bot che impara

Dialogflow traning spelling grammaticale | Bot che impara

A chi e per quali tipologie di attività è indirizzato Dialogflow ?

Certo, molti utenti potrebbero divertirsi a creare bot per la conversazione senza uno scopo ben preciso, giusto per poterne vedere gli sviluppi e le sue interazioni con le persone, tuttavia Dialogflow è stato pensato con degli intenti ben precisi e grazie alle capacità di cui è provvisto può essere utilizzato in svariati ambiti.

Dialogflow per chat supporto azienda

Dialogflow per chat supporto azienda | Agenti demo per iniziare subito.

Dialogflow può essere utilizzato efficacemente per lo sviluppo di applicazioni destinate al reparto assistenza clienti di un’azienda, con il giusto “allenamento” infatti il bot creato attraverso questo sistema sarà in grado di eseguire follow-up degli appuntamenti, potrà pianificarli e gestirli, magari organizzarli in modo tale che poi si possa incontrare il cliente per fornirgli assistenza diretta dal vivo. Dialogflow potrà rispondere a domande che vengono poste di frequente, così in alcuni casi sarà possibile risolvere richieste degli utenti senza nemmeno interagire con loro, sarà il bot a provvedere e quindi a far risparmiare parecchio tempo. Potrà infine assistere l’utente qualora questo ponga delle richiesta particolarmente semplici da svolgere per il bot.

È possibile sviluppare con Dialogflow applicativi destinati al campo del commercio, i bot saranno in grado di gestire su qualsiasi piattaforma l’acquisto, la vendita di beni o programmare consegne per un cliente, pensate ad esempio ad una pizzeria che sviluppa un bot tramite Dialogflow, sarà in grado di prendere l’ordine dal cliente, riconoscere la varietà di pizza che desidera comprare, eventuali bevande, riferire il costo totale e registrarlo, dopodiché chiedere l’indirizzo di consegna e registrare anche questo, in modo tale che chi di dovere possa poi prelevare l’ordine già compilato automaticamente e procedere alla consegna. Sarà possibile sviluppare bot per l’utilizzo a livello aziendale, i dipendenti di un’azienda potrebbero interagire direttamente con il bot per accedere ad informazioni importanti e migliorare così la produttività all’interno della stessa.

Dialogflow può essere utilizzato anche all’interno di dispositivi IoT, questi saranno così capaci di capire il contesto delle interazioni con gli utenti e di produrre risposte più precise e puntuali.

Le versioni di Dialogflow

Dialogflow è disponibile in più versioni, ognuna di queste ha diverse funzionalità a seconda del livello, la prima è gratis e dispone della quantità minore di possibilità, c’è poi una versione intermedia denominata enterprise edition essential, ed infine la versione finale che è quella più completa denominata enterprise edition plus.

Standard edition

  • la standard edition comprende l’utilizzo dei connettori di conoscenza (che sono in fase beta) in modo gratuito ma limitato;
  • l’integrazione dell’asssitente Google è gratuita ma anche in questo caso limitata;
  • il rilevamento delle richieste tramite riconoscimento vocale è gratuito ma limitato;
  • le funzioni di output audio sono gratis ma limitate;
  • le funzioni di analisi del sentiment non sono presenti in questa versione;
  • la funzionalità di chiamata telefonica è presente ma limitata;
  • le funzionalità di chiamate ai numeri verdi non sono presenti;
  • l’assistenza prevista per questa edizione dell’applicazione sono limitate alla community e via email.

Enterprise edition essential

Questa è la prima versione a pagamento, le funzioni supportare comprendono:

  • connettori di conoscenza in fase beta limitata;
  • riconoscimento del testo e assistente Google a 0,002 $ a richiesta;
  • riconoscimento di input audio a 0,0065 per ogni 15 secondi di audio;
  • output audio con voci standar 4$ per un milione di caratteri o in alternativa con voci WaveNet 16$ per un milione di caratteri;
  • analisi del sentiment disponibile in maniera illimitata, si può scegliere di acquistare l’analisi da 0 ad 1 milione di query e il prezzo è di 1$ ogni 1000 query analizzati, da 1 milione fino a 5 milioni a 0,5 $ ogni 1000 query, da 5 a 20 milioni di query a 0,25$ ogni 1000 query;
  • le chiamate telefoniche sono supportate in maniera illimitata a 0,05$ per ogni minuto di conversazione;
  • le chiamate al numero verde sono supportate a 0,06$ per ogni minuto di conversazione;
  • assistenza idonei ai pacchetti di assistenza cloud

Enterprise edition plus

le funzioni supportate da questa edizione sono

  • connettori di conoscenza in beta in maniera illimitata;
  • riconoscimento testo e assistente di Google a 0,004$ per ogni richiesta;
  • riconoscimento audio a 0,0085 ogni 15 secondi di audio;
  • output audio anche questo con la scelta tra più voci, standard: 4$ per un milione di caratteri o con voci WaveNet a 16$ per milione di caratteri;
  • analisi del sentiment da 0 a 1 milione di query a 1$ ogni 1000 query, da 1 a 5 milioni di query a 0,5 per ogni 1000 query infine da 5 a 20 milioni di query a 0,25 ogni 1000 query;
  • chiamate telefoniche illimitate a 0,065 per ogni minuto di conversazione;
  • chiamata verso numeri verdi 0,075$ al minuto;
  • assistenza anche in questo caso idonea ai pacchetti di assistenza cloud.

Il primo di questi servizi godono dei termini di servizio di Dialogflow standard che potete controllare sul sito, le ultime due edizioni invece hanno dei termini di servizio differenti, anche questi controllabili sul sito.

Conclusione cos’é dialogflow

Dialogflow è un’ottimo tool per le aziende, consente lo sviluppo di bot che permettono di ottimizzare alcuni processi, come l’assitenza ai clienti o l’acquisizione di ordini. Queste sono solo alcune funzioni possibili garantite dai bot sviluppati con questo applicativo.

La programmazione è resa facile dalla semplicità di comprensione dell’interfaccia del tool, dalla presenza di una console interna al programma che consente la modifica del codice in maniera veloce, il supporto a diverse piattaforme di destinazione e dalla rete neurale, che permetterà di “addestrare” il bot in modo intuitivo, fornendogli degli esempi su cui basarsi per poi iniziare a costruire un database di informazioni più ampio in modo completamente autonomo.

Nella creazione del nostro telegram bot (guida parte 1) hai imparato a creare il bot iniziale per prendere la tua api, questo step é importante per il bot che andremo a creare e intanto puoi puoi prendere confidenza con Dialog Flow che sará parte importante del nostro bot avanzato per telegram. Peró guardati anche la seconda parte della guida dove ti insegno come pubblicare gli articoli di WordPress su Telegram. Crea un account gratuito su Dialogflow