Crea un agente Dialogflow ES
Questa guida mostra come utilizzare la console Dialogflow per creare e testare un agente semplice.
Prima di iniziare
Prima di leggere questa guida, devi:
- Leggi le nozioni di base su Dialogflow.
- Esegui i passaggi di configurazione.
Crea un agente
Se non hai ancora creato un agente, creane uno ora:
- Vai alla console Dialogflow ES.
- Se richiesto, accedi alla console di Dialogflow. Per ulteriori informazioni, consulta la panoramica della console di Dialogflow.
- Fai clic su Crea agente nel menu della barra laterale a sinistra. Se hai già altri agenti, fai clic sul nome dell'agente, scorri verso il basso e fai clic su Crea nuovo agente.
- Inserisci il nome dell'agente, la lingua predefinita e il fuso orario predefinito.
- Se hai già creato un progetto, inseriscilo. Se vuoi consentire alla console Dialogflow di creare il progetto, seleziona Crea un nuovo progetto Google.
- Fai clic su pulsante Crea.
Importa il file di esempio nell'agente
I passaggi descritti in questa guida fanno delle supposizioni sul tuo agente, quindi devi import un agente preparato per questa guida. Durante l'importazione, questi passaggi utilizzano l'opzione restore, che sovrascrive tutte le impostazioni, gli intent e le entità dell'agente.
L'agente preparato per questa guida è un nuovo agente senza intent o entità definiti dall'utente.
Per importare il file:
-
Scarica il
file
new-agent.zip
. - Vai alla console Dialogflow ES.
- Seleziona il tuo agente.
- Fai clic sul pulsante settings delle impostazioni accanto al nome dell'agente.
- Seleziona la scheda Esporta e importa.
- Seleziona Ripristina da file ZIP e segui le istruzioni per ripristinare il file ZIP scaricato.
Intent
Gli intent classificano l'intenzione di un utente finale per un turno di conversazione. Per ogni agente, definisci molti intent, in cui gli intent combinati possono gestire una conversazione completa.
Intent predefiniti
Quando crei un agente, vengono creati automaticamente due intent predefiniti:
- Intent di benvenuto predefinito: viene associato quando l'utente finale inizia una conversazione con il tuo agente. Questo intento deve restituire una risposta che consenta all'utente finale di sapere cosa fa il tuo agente o cosa può dire per iniziare una conversazione.
- Intent di riserva predefinito: viene associato quando l'agente non riesce a trovare una corrispondenza tra l'espressione dell'utente finale e nessun altro intent.
Per visualizzare queste intenzioni, vai all'elenco delle intenzioni per il tuo agente:
- Vai alla console Dialogflow ES.
- Seleziona l'agente appena creato.
- Fai clic su Intent nel menu della barra laterale a sinistra.
Al centro della console viene visualizzato l'elenco degli intent per l'agente.
Testare l'intent di riserva predefinito
Il simulatore Dialogflow si trova sul lato destro della console. Con il simulatore, puoi testare il tuo agente parlando o digitando i messaggi.
Prova subito l'agente:
- Fai clic sul campo Prova ora.
- Digita
What is your name?
. - Premi Invio.
La risposta dell'agente viene visualizzata nella sezione Risposta predefinita. Poiché il tuo input non corrisponde a nessun intento, è stato trovato un intento di riserva predefinito e hai ricevuto una delle risposte predefinite.
Creare un nuovo intento
I passaggi in questa sezione creano un'intenzione che può rispondere alla domanda "Come ti chiami?". Per ogni intento, definisci molte frasi di addestramento. Una frase di addestramento è un esempio di ciò che un utente finale potrebbe digitare o dire al tuo agente, conosciuta anche come espressione dell'utente finale. Devi definire molte frasi di addestramento che forniscono a Dialogflow una serie di espressioni che devono corrispondere a un'intenzione.
Crea un'intenzione:
- Fai clic sul pulsante Aggiungi intenzione accanto a Intent nel menu della barra laterale a sinistra.
- Inserisci
get-agent-name
nel campo Nome intent. - Nella sezione Frasi di addestramento, fai clic su Aggiungi frasi di addestramento.
Inserisci le seguenti frasi di addestramento, premendo Invio dopo ogni voce:
What is your name?
Do you have a name?
Tell me your name
Nella sezione Risposte, inserisci quanto segue nella sezione Risposta di testo:
My name is Dialogflow!
Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Testa l'intento
Nel simulatore, digita What's your name?
e premi Invio.
L'agente risponde correttamente all'espressione, anche se è leggermente diversa dalle frasi di addestramento che hai fornito.
Dialogflow utilizza frasi di addestramento come esempi per un modello di machine learning per abbinare le espressioni dell'utente finale agli intent. Il modello controlla l'espressione rispetto a ogni intento nell'agente, attribuendo a ogni intento un punteggio e abbinando l'intento con il punteggio più alto. Se l'intenzione con il punteggio più alto ha un punteggio molto basso, viene associata l'intenzione di riserva.
Parametri ed entità
Quando un'intenzione viene associata in fase di esecuzione, 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 alcune operazioni logiche o generare risposte.Quando crei un agente, controlla la modalità di estrazione dei dati annotando parti delle frasi di addestramento e configurando i parametri associati.
Creare parametri
Crea un nuovo intent con parametri:
- Fai clic sul pulsante Più accanto a Intent nel menu della barra laterale a sinistra.
- Assegna un nome all'intent
set-language
nella parte superiore del modulo dell'intent. - Aggiungi le seguenti frasi di addestramento:
I know English
I speak French
I know how to write in German
Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Dialogflow rileva automaticamente i parametri nelle frasi di addestramento riconosciuti come entità di sistema. Si tratta di entità fornite da Dialogflow per molti tipi di dati comuni come località, colore e data.
Sotto la sezione Frasi di addestramento, Dialogflow crea una riga nella tabella Azione e parametri:
- Obbligatorio: la casella di controllo non è selezionata, pertanto questo parametro è facoltativo.
- Nome parametro:questo parametro viene chiamato automaticamente
language
, poiché è riconosciuto come lingua. - Entità:questo è il tipo di entità. È riconosciuta come entità di sistema
@sys.language
. - Valore:questo è l'identificatore da utilizzare quando fai riferimento al valore di questo parametro.
- È elenco: la casella di controllo non è selezionata, pertanto il parametro non è un elenco.
Utilizzare i dati del parametro in una risposta
Il valore di un parametro può essere utilizzato nelle risposte.
Ad esempio, puoi utilizzare il riferimento al parametro $language
nelle risposte durante la creazione di un agente.
In fase di esecuzione, verrà sostituita con la lingua specificata nell'espressione dell'utente finale.
Aggiungi una risposta che utilizza un parametro:
- Scorri verso il basso fino alla sezione Risposte.
- Aggiungi la seguente risposta di testo:
Wow! I didn't know you knew $language.
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Testa il parametro
Nel simulatore, inserisci I know Russian
.
Puoi vedere che Dialogflow estrae correttamente il parametro language
con il valore Russian
e che Russian
è stato inserito correttamente dove è stato utilizzato il riferimento del parametro nella risposta.
Crea le tue entità
Nella maggior parte dei casi, hai dati specifici che devi raccogliere dagli utenti che non sono forniti dalle entità di sistema. Per gestire questo problema, puoi creare entità personalizzate.
Crea un'entità personalizzata:
- Fai clic sul pulsante Aggiungi entità accanto a Entità nel menu della barra laterale a sinistra.
- Inserisci
language-programming
per il nome dell'entità. Aggiungi le seguenti voci di entità (righe):
Valore di riferimento Sinonimi JavaScript JavaScript, js, ECMAScript Java Java Python Python, py Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Dialogflow può gestire cose semplici come la pluralità e le lettere maiuscole, ma devi aggiungere tutti i possibili sinonimi per le voci. Più ne aggiungi, meglio l'agente può determinare le tue entità.
Utilizzare la nuova entità
Aggiungi frasi di addestramento all'intent set-language
che utilizzano la nuova entità:
- Fai clic su Intent nel menu della barra laterale a sinistra.
- Fai clic sull'intenzione
set-language
. - Aggiungi le seguenti frasi di addestramento:
I know javascript
I know how to code in Java
- Tieni presente che i linguaggi di programmazione in queste frasi di addestramento vengono annotati automaticamente e aggiunti ai parametri nella sezione Azione e parametri.
- Nella sezione Risposte, aggiungi la seconda risposta di testo seguente:
$language-programming is an excellent programming language.
. - Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Prova la nuova entità
Nel simulatore, inserisci I know how to code in py
.
Puoi vedere che Dialogflow ha estratto correttamente py
per il parametro language-programming
, lo ha identificato come entità Python
e ha inserito il valore nella risposta.
Contesti
Per controllare il flusso della conversazione, puoi utilizzare il contesto.
Aggiungere un intent di follow-up
Gli intent di follow-up offrono un modo semplice per controllare una conversazione senza dover creare e gestire manualmente i contesti.
Quando crei un'intenzione di follow-up, un contesto di output viene aggiunto all'intenzione principale e un contesto di input con lo stesso nome viene aggiunto all'intenzione secondaria. Ciò significa che l'intento di follow-up viene associato solo quando l'intento principale viene associato nel turno di conversazione precedente.
Aggiungi un intent di follow-up personalizzato all'intent set-language
:
- Seleziona l'intenzione
set-language
creata nei passaggi precedenti. - Nella sezione Risposta, aggiorna la risposta di testo:
Wow! I didn't know you knew $language. How long have you known $language?
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
- Fai clic su Intent nel menu della barra laterale a sinistra.
- Passa il mouse sopra l'intenzione
set-language
e fai clic su Aggiungi intenzione di follow-up. - Fai clic su Personalizzato nell'elenco visualizzato.
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Dialogflow assegna automaticamente il nome set-language - custom
all'intent di follow-up.
Corrispondenza di intent con intent di follow-up
Gli intent di follow-up vengono abbinati solo dopo l'abbinamento dell'intent principale.
Poiché l'intent set-language - custom
viene associato solo dopo l'intent set-language
, puoi presumere che all'utente sia appena stata posta la domanda How long have you known $language?
.
Ora puoi aggiungere frasi di addestramento per le risposte probabili degli utenti a questa domanda:
- Fai clic su Intent nel menu della barra laterale a sinistra.
- Fai clic sull'intenzione
set-language - custom
. - Aggiungi le seguenti frasi di addestramento:
3 years
about 4 days
for 5 years
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Testa l'intent di follow-up
Inserisci I know French
nel simulatore,
poi rispondi alla domanda How long have you known French
con about 2 weeks
.
Sebbene non sia presente una risposta per la seconda espressione (about 2 weeks
),
puoi vedere che l'espressione corrisponde all'intenzione corretta
(set-language - custom
)
e che il parametro della durata viene analizzato correttamente (2 weeks
).
Intent e contesti
Controlla l'intent set-language
per verificare che set-language-followup
sia elencato come contesto di output e che sia preceduto dal numero 2.
Questo numero è chiamato
lifetime.
Dopo la corrispondenza dell'intent set-language
, il contesto set-language-followup
è attivo e associato alla conversazione per due turni (periodo di attività di 2).
Pertanto, quando l'utente risponde alla domanda,How long have you known $language?
,
il contesto set-language-followup
è attivo.
Controlla l'intent set-language - custom
per verificare che set-language-followup
sia indicato come contesto di input, che corrisponde al contesto di output per l'intent set-language
.
Tutti gli intent con un contesto di input che corrisponde a un contesto attivo sono fortemente favoriti quando Dialogflow corrisponde agli intent.
Contesti e parametri
I contesti memorizzano i valori dei parametri e puoi accedere ai valori dei parametri definiti nell'intent set-language
quando il relativo contesto di output è attivo.
Nell'intent set-language - custom
,
hai chiesto solo la durata del periodo di tempo in cui l'utente conosce la lingua,
e non la lingua stessa a cui si fa riferimento.
Per fare riferimento alla lingua nella risposta:
- Aggiorna la risposta di testo dell'intento
set-language - custom
suI can't believe you've known #set-language-followup.language for $duration!
- Fai clic sul pulsante Salva e attendi che la finestra di dialogo Formazione agenti annunci il completamento della formazione.
Il riferimento #set-language-followup.language
è noto come
riferimento parametro per un contesto attivo.
Testa il parametro di contesto
Inserisci I know French
nel simulatore e poi rispondi alla domanda con 1 week
.
Tieni presente che il valore parametro language
viene recuperato dal contesto.
Produzione
Prima di eseguire l'agente in produzione, assicurati di implementare le best practice per la produzione.
Passaggi successivi
Prova la guida rapida all'evasione degli ordini.