Questa pagina descrive le nozioni di base sull'utilizzo di Dialogflow ES. Ti consigliamo di leggere questa pagina prima di procedere con altri documenti o guide rapide.
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 comprendere facilmente questo input strutturato, hanno difficoltà a capire cosa fare. Idealmente, le tue interfacce possono dedurre ciò che vogliono gli utenti finali, in base al linguaggio naturale che utilizzano.
Ad esempio, considera una semplice richiesta dell'utente come "Quali sono le previsioni del tempo per oggi?". Altri utenti finali potrebbero anche chiedere:
- "Che tempo fa in questo momento?"
- "Quale sarà la temperatura a San Francisco domani?"
- "Che tempo farà il 21?"
Anche con queste semplici domande, puoi notare che le esperienze conversazionali sono difficili da implementare. L'interpretazione e l'elaborazione del linguaggio naturale richiedono un parser linguistico molto solido. Dialogflow gestisce questa operazione per te, in modo che tu possa offrire un'esperienza conversazionale di alta qualità per gli utenti finali.
Agenti
Un agente di Dialogflow agent è un agente virtuale che gestisce conversazioni simultanee con gli utenti finali. È un modulo di comprensione del linguaggio naturale che comprende le sfumature del linguaggio umano. Dialogflow converte il testo o l'audio dell'utente finale durante una conversazione in dati strutturati comprensibili dalle tue app e dai tuoi servizi. Progetti e crei un agente di Dialogflow per gestire i tipi di conversazioni richiesti per il tuo sistema.
Un agente di Dialogflow è simile a un agente umano del call center. Li addestri entrambi a gestire gli scenari di conversazione previsti, e l'addestramento non deve essere eccessivamente esplicito.
Intent
Un intent classifica l'intenzione di un utente finale per un turno di conversazione. Per ogni agente, definisci molti intent, la cui combinazione può gestire una conversazione completa. Quando un utente finale scrive o dice qualcosa, definita espressione dell'utente finale, Dialogflow associa l'espressione dell'utente finale all'intent migliore nel tuo agente. L'associazione di un intent è nota anche come classificazione degli intent.
Ad esempio, puoi creare un agente meteo che riconosca e risponda alle domande degli utenti finali sul meteo. Probabilmente definirai un intent per le domande sulle previsioni del tempo. Se un utente finale dice "Quali sono le previsioni?", Dialogflow associa l'espressione dell'utente finale all'intent di previsione. Puoi anche definire l'intent per estrarre informazioni utili dall'espressione dell'utente finale, come un'ora o una località per le previsioni del tempo desiderate. Questi dati estratti sono importanti per il tuo sistema per eseguire una query meteo per l'utente finale.
Un intent di base contiene quanto segue:
- Frasi di addestramento: sono frasi di esempio di ciò che gli utenti finali potrebbero dire. Quando un'espressione dell'utente finale assomiglia a una di queste frasi, Dialogflow associa l'intent. Non devi definire ogni possibile esempio, perché il machine learning integrato di Dialogflow espande l'elenco con altre frasi simili.
- Azione: Puoi definire un'azione per ogni intent. Quando viene associato un intent, Dialogflow fornisce l'azione al tuo sistema, e puoi utilizzare l'azione per attivare determinate azioni definite nel tuo sistema.
- Parametri: quando un intent viene associato 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 come vengono estratti i dati. A differenza dell'input utente finale non elaborato, i parametri sono dati strutturati che possono essere facilmente utilizzati per eseguire una logica o generare risposte.
- Risposte: Definisci risposte di testo, vocali o visive da restituire all'utente finale. Queste possono fornire risposte all'utente finale, chiedere all'utente finale ulteriori informazioni, o terminare la conversazione.
Il seguente diagramma mostra il flusso di base per l'associazione degli intent e la risposta all'utente finale:
Entità
Ogni parametro dell'intent ha un tipo, chiamato , che determina esattamente come 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 entità personalizzate per la corrispondenza di dati personalizzati. Ad esempio, puoi definire un'entità vegetale che può corrispondere ai tipi di verdure disponibili per l'acquisto con un agente di un negozio di alimentari.
Contesti
I contesti di Dialogflow sono simili al contesto del linguaggio naturale. Se una persona ti dice "sono arancioni", hai bisogno di un contesto per capire a cosa si riferisce "sono". Allo stesso modo, affinché Dialogflow gestisca un'espressione dell'utente finale come questa, è necessario fornire un contesto per associare correttamente un intent.
Utilizzando i contesti, puoi controllare il flusso di una conversazione. Puoi configurare i contesti per un intent impostando i contesti di input e output, identificati da nomi di stringhe. Quando viene associato un intent, tutti i contesti di output configurati per quell'intent diventano attivi. Quando i contesti sono attivi, è più probabile che Dialogflow associ gli intent configurati con contesti di input che corrispondono ai contesti attualmente attivi.
Il seguente diagramma mostra un esempio che utilizza il contesto per un agente bancario.
- L'utente finale chiede informazioni sul suo conto corrente.
-
Dialogflow associa questa espressione dell'utente finale all'intent
CheckingInfo. Questo intent ha un contesto di outputchecking, quindi questo contesto diventa attivo. - L'agente chiede all'utente finale il tipo di informazioni che vuole sul suo conto corrente.
- L'utente finale risponde con "il mio saldo".
-
Dialogflow associa questa espressione dell'utente finale all'intent
CheckingBalance. Questo intent ha un contesto di inputchecking, che deve essere attivo per associare questo intent. Potrebbe esistere anche un intentSavingsBalancesimile per associare la stessa espressione dell'utente finale quando è attivo un contestosavings - Dopo che il sistema ha eseguito le query di database necessarie, l'agente risponde con il saldo del conto corrente.
Intenti di follow-up
Puoi utilizzare gli intent di follow-up per impostare automaticamente i contesti per le coppie di intent. Un intent di follow-up è un figlio del relativo intent principale. Quando crei un intent di follow-up, al parent intent viene aggiunto automaticamente un contesto di output e all'intent di follow-up viene aggiunto un contesto di input con lo stesso nome. Un intent di follow-up viene associato solo quando l'intent principale viene associato nel turno di conversazione precedente. 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 i tuoi intent di follow-up per gestire le risposte personalizzate.
Console Dialogflow
Dialogflow fornisce un'interfaccia utente web chiamata console Dialogflow (consulta la documentazione, apri la console). Utilizza questa console per creare, sviluppare e testare gli agenti.
La console Dialogflow è diversa dalla console Google Cloud Platform (GCP) (consulta la documentazione, apri la console). La console Dialogflow viene utilizzata per gestire gli agenti di Dialogflow, mentre la console di GCP viene utilizzata per gestire le impostazioni di Dialogflow specifiche di GCP (ad esempio, la fatturazione) e altre risorse GCP.
Nella maggior parte dei casi, devi utilizzare la console Dialogflow per creare gli agenti, ma puoi anche utilizzare l'API Dialogflow per creare agenti per scenari avanzati.
Interazioni utente con le integrazioni
Dialogflow si integra con molte piattaforme di conversazione comuni come Assistente Google, Slack e Facebook Messenger. Se vuoi creare un agente per una di queste piattaforme, devi utilizzare una delle numerose opzioni di integrazione. Le interazioni dirette degli utenti finali vengono gestite per te, in modo che tu possa concentrarti sulla creazione dell'agente. Ogni integrazione gestisce le interazioni degli utenti finali in modo specifico per la piattaforma, quindi consulta la documentazione della piattaforma di integrazione per i dettagli.
Fulfillment per le integrazioni
Per impostazione predefinita, l'agente risponde a un intent associato con una risposta statica. Se utilizzi una delle opzioni di integrazione, puoi fornire una risposta più dinamica utilizzando il fulfillment. Quando abiliti il fulfillment per un intent, Dialogflow risponde a quell'intent chiamando un servizio che definisci. Ad esempio, se un utente finale vuole prenotare un taglio di capelli per venerdì, il tuo servizio può controllare il database e rispondere all'utente finale con le informazioni sulla disponibilità per venerdì.
Ogni intent ha un'impostazione per abilitare il fulfillment. Se un intent richiede un'azione da parte del tuo sistema o una risposta dinamica, devi abilitare il fulfillment per l'intent. Se viene associato un intent senza fulfillment abilitato, Dialogflow utilizza la risposta statica definita per l'intent.
Quando viene associato un intent con il fulfillment abilitato, Dialogflow invia una richiesta al servizio webhook con informazioni sull'intent associato. Il tuo 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 se il tuo servizio webhook non riesce. Il seguente diagramma mostra il flusso di elaborazione per il fulfillment.
- L'utente finale digita o pronuncia un'espressione.
- Dialogflow associa l'espressione dell'utente finale a un intent ed estrae i parametri.
- Dialogflow invia un messaggio di richiesta webhook al servizio webhook. Questo messaggio contiene informazioni sull'intent associato, sull'azione, sui parametri, e sulla risposta definiti per l'intent.
- Il servizio esegue le azioni necessarie, come query di database o chiamate API esterne.
- Il servizio invia un messaggio di risposta webhook a Dialogflow. Questo messaggio contiene la risposta che deve essere inviata all'utente finale.
- Dialogflow invia la risposta all'utente finale.
- L'utente finale vede o ascolta la risposta.
Interazioni utente con l'API
Se non utilizzi una delle opzioni di integrazione , devi scrivere codice che interagisca direttamente con l'utente finale. Devi anche interagire direttamente con l'API Dialogflow per ogni turno di conversazione per inviare le espressioni dell'utente finale e ricevere le corrispondenze degli intent. Il seguente diagramma mostra il flusso di elaborazione durante l'interazione con l'API.
- L'utente finale digita o pronuncia un'espressione.
- Il servizio invia questa espressione dell'utente finale a Dialogflow in un messaggio di richiesta di rilevamento dell'intent.
- Dialogflow invia un messaggio di risposta di rilevamento dell'intent al tuo servizio. Questo messaggio contiene informazioni sull'intent associato, sull'azione, sui parametri, e sulla risposta definiti per l'intent.
- Il servizio esegue le azioni necessarie, come query di database o chiamate API esterne.
- Il servizio invia una risposta all'utente finale.
- L'utente finale vede o ascolta la risposta.