Nozioni di base su Dialogflow ES

In questa pagina vengono descritte le nozioni di base sull'utilizzo di Dialogflow ES. Leggi questa pagina prima di passare a qualsiasi altro documento o guida rapida.

Aiutare gli utenti a interagire con la tecnologia

Le interfacce dei computer tradizionali richiedono input strutturati e prevedibili per funzionare correttamente, il che rende l'utilizzo di queste interfacce innaturale e talvolta difficile. Se gli utenti finali non riescono a capire facilmente questo input strutturato, hanno difficoltà a capire cosa fare. Idealmente, le tue interfacce possono dedurre ciò che gli utenti finali vogliono, in base al linguaggio naturale che utilizzano.

Ad esempio, considera una richiesta semplice dell'utente come "Quali sono le previsioni meteo di oggi?". Altri utenti finali potrebbero chiedere:

  • "Che tempo fa adesso?"
  • "Qual è la temperatura prevista a Milano domani?"
  • "Che tempo farà il 21?"

Anche con queste semplici domande, puoi vedere che le esperienze di conversazione sono difficili da implementare. L'interpretazione e l'elaborazione del linguaggio naturale richiede un parser linguistico molto robusto. Dialogflow gestisce questo aspetto per te, in modo che tu possa offrire un'esperienza di conversazione di alta qualità all'utente finale.

Agenti

Un agente Dialogflow è un agente virtuale che gestisce le conversazioni simultanee con gli utenti finali. È un modulo di comprensione del linguaggio naturale che capisce le sfumature del linguaggio umano. Dialogflow converte il testo o l'audio dell'utente finale durante una conversazione in dati strutturati comprensibili nelle tue app e nei tuoi servizi. Sei tu a progettare e creare un agente Dialogflow per gestire i tipi di conversazioni richiesti per il tuo sistema.

Un agente Dialogflow è simile a un agente di call center umano. Li addestri a entrambi per gestire gli scenari di conversazione previsti e la formazione non deve essere eccessivamente esplicita.

Intent

Un intent classifica l'intenzione di un utente finale per un turno di conversazione. Per ogni agente devi definire molti intent, in cui quelli combinati possono gestire una conversazione completa. Quando un utente finale scrive o dice qualcosa, definito espressione dell'utente finale, Dialogflow abbina l'espressione dell'utente finale all'intent migliore nel tuo agente. La corrispondenza di un intent è nota anche come classificazione di intent.

Ad esempio, puoi creare un agente meteorologico che riconosca e risponda alle domande degli utenti finali sul meteo. È probabile che tu definisca un intento per le domande sulle previsioni meteo. Se un utente finale dice "Qual è la previsione?", Dialogflow abbinerà l'espressione dell'utente finale all'intent di previsione. Puoi anche definire l'intent per estrarre informazioni utili dall'espressione dell'utente finale, come l'ora o la località della previsione meteo desiderata. Questi dati estratti sono importanti per consentire al sistema di eseguire una query meteo per l'utente finale.

Agente che estrae dati dall'espressione dell'utente finale che richiede il meteo

Un intent di base contiene quanto segue:

  • Frasi di addestramento: queste sono frasi di esempio che potrebbero dire gli utenti finali. Quando un'espressione dell'utente finale assomiglia a una di queste frasi, Dialogflow corrisponde all'intent. Non è necessario definire ogni possibile esempio, perché il machine learning integrato di Dialogflow si espande nell'elenco con altre frasi simili.
  • Azione: puoi definire un'azione per ciascun intent. In caso di corrispondenza di un intent, Dialogflow fornisce l'azione al sistema e puoi utilizzarla per attivare determinate azioni definite nel sistema.
  • Parametri: quando viene trovata una corrispondenza di intent in fase di runtime, Dialogflow fornisce i valori estratti dall'espressione dell'utente finale come parametri. Ogni parametro ha un tipo, chiamato tipo di entità, che determina esattamente il modo in cui vengono estratti i dati. A differenza dell'input non elaborato dell'utente finale, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.
  • Risposte: definisci risposte testuali, vocali o visive da restituire all'utente finale. che possono fornire risposte all'utente finale, chiedere maggiori informazioni all'utente finale o terminare la conversazione.

Il seguente diagramma mostra il flusso di base per la corrispondenza degli intent e la risposta all'utente finale:

Agente e intent che gestisce un'espressione dell'utente finale

Entità

Ogni parametro intent ha un tipo, chiamato tipo di entità, che determina esattamente il modo in cui vengono estratti i dati da un'espressione dell'utente finale.

Dialogflow fornisce entità di sistema predefinite che possono corrispondere a molti tipi di dati comuni. Ad esempio, esistono entità di sistema per la corrispondenza di date, orari, colori, indirizzi email e così via. Puoi anche creare le tue entità personalizzate per associare i dati personalizzati. Ad esempio, puoi definire un'entità vegetable che può corrispondere ai tipi di verdure disponibili per l'acquisto con l'agente di un negozio di alimentari.

Contesti

I contesti di Dialogflow sono simili a quelli del linguaggio naturale. Se una persona ti dice "è arancione", hai bisogno di contesto per capire a cosa si riferisce "questa persona". Analogamente, affinché Dialogflow possa gestire un'espressione dell'utente finale come questa, è necessario fornire il contesto per associare correttamente un intent.

Utilizzando i contesti, puoi controllare il flusso di una conversazione. Puoi configurare i contesti per un intent impostando contesti di input e di output, identificati da nomi di stringa. Quando viene individuata la corrispondenza di un intent, tutti i contesti di output configurati per tale intent diventano attivi. Sebbene tutti i contesti siano attivi, è più probabile che Dialogflow corrisponda agli intent configurati con contesti di input corrispondenti a quelli attualmente attivi.

Il seguente diagramma mostra un esempio di utilizzo del contesto per un agente bancario.

Diagramma dell'interazione dell'utente con intent e contesto.
  1. L'utente finale chiede informazioni sul conto corrente.
  2. Dialogflow abbina questa espressione dell'utente finale all'intent CheckingInfo. Questo intent ha un contesto di output checking, che diventa attivo.
  3. L'agente chiede all'utente finale il tipo di informazioni che vuole sul suo conto corrente.
  4. L'utente finale risponde con "il mio saldo".
  5. Dialogflow abbina questa espressione dell'utente finale all'intent CheckingBalance. Questo intent ha un contesto di input checking, che deve essere attivo per soddisfare questo intent. Un intent SavingsBalance simile può anche esistere per la corrispondenza della stessa espressione dell'utente finale quando è attivo un contesto savings.
  6. Dopo che il sistema ha eseguito le query sul database necessarie, l'agente risponde con il saldo del conto corrente.

Intent di follow-up

Puoi utilizzare intent di follow-up per impostare automaticamente i contesti per coppie di intent. Un intent di follow-up è un elemento secondario dell'intent principale associato. Quando crei un intent di follow-up, un contesto di output viene aggiunto automaticamente all'intent padre e un contesto di input con lo stesso nome viene aggiunto all'intent di follow-up. Un intent di follow-up viene abbinato solo quando l'intent principale viene abbinato nell'ultima svolta di conversazione. Puoi anche creare più livelli di intent di follow-up nidificati.

Dialogflow fornisce molti intent di follow-up predefiniti per le risposte comuni degli utenti finali, come "sì", "no" o "annulla". Puoi anche creare intent di follow-up per gestire le risposte personalizzate.

Console Dialogflow

Dialogflow fornisce un'interfaccia utente web chiamata console di Dialogflow (consulta la documentazione, console aperta). che puoi utilizzare per creare, creare e testare gli agenti.

La console di Dialogflow è diversa da quella di Google Cloud Platform (GCP) (consulta la documentazione, apri la console). La console di Dialogflow viene utilizzata per gestire gli agenti Dialogflow, mentre la console di GCP viene utilizzata per gestire le impostazioni di Dialogflow specifiche di GCP (ad esempio, la fatturazione) e altre risorse di Google Cloud.

Nella maggior parte dei casi, per creare gli agenti devi utilizzare la console di Dialogflow, ma puoi anche utilizzare l'API Dialogflow per creare agenti per scenari avanzati.

Interazioni degli utenti con le integrazioni

Dialogflow si integra con molte piattaforme di conversazione popolari, come l'Assistente Google, Slack e Facebook Messenger. Se vuoi creare un agente per una di queste piattaforme, utilizza una delle tante opzioni di integrazioni. Le interazioni dirette dell'utente finale vengono gestite per te, così puoi concentrarti sulla creazione del tuo agente. Ogni integrazione gestisce le interazioni degli utenti finali in un modo specifico per la piattaforma, perciò consulta la documentazione della tua piattaforma di integrazione per maggiori dettagli.

Evasione degli ordini per le integrazioni

Per impostazione predefinita, l'agente risponde a un intent corrispondente con una risposta statica. Se utilizzi una delle opzioni di integrazione, puoi fornire una risposta più dinamica utilizzando fulfillment. Quando abiliti il fulfillment per un intent, Dialogflow risponde a tale intent chiamando un servizio definito da te. Ad esempio, se un utente finale vuole pianificare un taglio di capelli per il venerdì, il servizio può controllare il database e rispondere all'utente finale con informazioni sulla disponibilità per il venerdì.

Ogni intent ha un'impostazione per abilitare il fulfillment. Se un intent richiede un'azione da parte del sistema o una risposta dinamica, devi abilitare il fulfillment per l'intent. Se viene trovata una corrispondenza per un intent senza fulfillment, Dialogflow utilizza la risposta statica che hai definito per l'intent.

Quando viene abbinata un intent con fulfillment abilitato, Dialogflow invia una richiesta al tuo servizio webhook con informazioni sull'intent corrispondente. Il sistema può eseguire le azioni richieste e rispondere a Dialogflow con informazioni su come procedere. Quando il fulfillment è abilitato, la risposta statica definita per l'intent viene utilizzata solo in caso di errore del servizio webhook. Il seguente diagramma mostra il flusso di elaborazione per il fulfillment.

Diagramma che mostra il flusso per l'evasione degli ordini
  1. L'utente finale digita o pronuncia un'espressione.
  2. Dialogflow abbina l'espressione dell'utente finale a un intent ed estrae i parametri.
  3. Dialogflow invia una richiesta di webhook al servizio webhook. Questo messaggio contiene informazioni sull'intent con corrispondenza, l'azione, i parametri e la risposta definiti per l'intent.
  4. Il servizio esegue le azioni in base alle esigenze, ad esempio query sul database o chiamate API esterne.
  5. Il servizio invia un messaggio di risposta webhook a Dialogflow. Questo messaggio contiene la risposta che deve essere inviata all'utente finale.
  6. Dialogflow invia la risposta all'utente finale.
  7. L'utente finale vede o sente la risposta.

Interazioni degli utenti con l'API

Se non utilizzi una delle opzioni di integrazione, devi scrivere codice che interagisca direttamente con l'utente finale. Devi inoltre interagire direttamente con l'API di Dialogflow per ogni svolta di conversazione per inviare espressioni degli utenti finali e ricevere corrispondenze di intent. Il seguente diagramma mostra il flusso di elaborazione durante l'interazione con l'API.

Diagramma che mostra il flusso per l'API
  1. L'utente finale digita o pronuncia un'espressione.
  2. Il servizio invia questa espressione dell'utente finale a Dialogflow in un messaggio di richiesta di rilevamento dell'intent.
  3. Dialogflow invia un messaggio di risposta per il rilevamento dell'intent al tuo servizio. Questo messaggio contiene informazioni sull'intent con corrispondenza, l'azione, i parametri e la risposta definiti per l'intent.
  4. Il servizio esegue le azioni in base alle esigenze, ad esempio query sul database o chiamate API esterne.
  5. Il servizio invia una risposta all'utente finale.
  6. L'utente finale vede o sente la risposta.