In questa pagina vengono descritte le impostazioni di azioni e parametri per gli intent e come vengono utilizzati quando viene abbinata la corrispondenza degli intent in fase di runtime.
Dove trovare questi dati
Quando crei un agente, è più comune utilizzare Console Dialogflow ES (visita la documentazione e apri la console). Le istruzioni riportate di seguito riguardano l'utilizzo della console. Per accedere ai dati relativi ad azioni e parametri:
- Vai alla console di Dialogflow ES.
- Seleziona un agente.
- Seleziona Intent nel menu della barra laterale a sinistra.
- Seleziona un intent.
- Scorri verso il basso fino alla sezione Azione e parametri.
Se stai creando un agente utilizzando l'API anziché la console, consulta Riferimento agli intent. I nomi dei campi delle API sono simili a quelli dei campi della console. Le istruzioni riportate di seguito evidenziano eventuali differenze importanti tra la console e l'API.
Azioni
Il campo action è un semplice campo pratico che aiuta a eseguire la logica nel tuo servizio.
Quando crei un agente, puoi impostare questo campo sul testo che ritieni utile.
Quando viene trovata una corrispondenza per un intent in fase di runtime, Dialogflow fornisce il valore dell'azione la richiesta webhook di fulfillment o la risposta di interazione API. Può essere utilizzato per attivare una logica specifica nel tuo servizio.
Parametri
Quando viene trovata una corrispondenza per un 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 come vengono estratti i dati. A differenza dell'input dell'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, puoi controllare il modo in cui i dati vengono estratti annotazione delle frasi di addestramento e la configurazione dei parametri associati.
Il seguente elenco mostra i campi di una configurazione parametro. Gli esempi sono mostrati per la frase di addestramento "prenota una stanza il martedì", dove "Martedì" è annotato.
- Obbligatorio: seleziona questa casella se il parametro è necessario per completare l'intent. Consulta la sezione Completamento degli slot con i parametri obbligatori di seguito.
- Nome parametro:
Un nome che identifica il parametro.
Esempio:
date
. - Entità:
La
tipo di entità
associati al parametro.
Esempio:
@sys.date
. - Valore:
Nella maggior parte dei casi, viene impostato un riferimento a un parametro come
$parameter-name
, che viene utilizzato come segnaposto per il valore estratto in fase di runtime. Tuttavia, questo campo può essere utilizzato per selezionare anche valori alternativi. Consulta le Valori e riferimenti dei parametri di seguito. Esempio:$date
. - È elenco: seleziona questa casella se i valori devono essere restituiti come elenco. Consulta le Elenca parametri di seguito.
- Prompt: Domande che l'agente porrà all'utente finale se questo parametro non è stato fornito. Questo campo viene utilizzato solo se il campo Obbligatorio è selezionato. Consulta le Riempimento degli slot con i parametri richiesti di seguito.
- Valore predefinito: Questo è il valore predefinito per il parametro quando l'utente finale non ne fornisce uno. Per modificare il valore predefinito con la console, devi passare il mouse sopra la riga del parametro e fare clic sul menu a destra.
Quando un'intenzione viene associata a runtime, Dialogflow fornisce i dati dei parametri alla richiesta webhook di adempimento o alla risposta all'interazione con l'API. Questi vengono forniti come mappatura dai nomi dei parametri ai valori dei parametri.
Quando crei un agente, le tue risposte possono includere valori di parametro. Consulta la sezione Valori e riferimenti dei parametri riportata di seguito.
Parametri dell'elenco
Quando crei un agente con la console, se selezioni l'opzione È elenco, il parametro viene configurato come elenco. Gli elenchi possono contenere più elementi. Ad esempio, un agente di ordinamento dei prodotti può aspettarsi le seguenti espressioni dell'utente finale:
- "Voglio delle mele"
- "Voglio mele e arance"
- "Voglio mele, arance e banane"
Quando si annotano frasi di addestramento con parametri degli elenchi, le frasi possono contenere uno o più esempi di parametri, e annotali separatamente:
Dopo aver annotato almeno due parole o frasi con lo stesso parametro in una singola frase di addestramento, l'opzione È elenco viene abilitata automaticamente. Se disattivi questa opzione, ma mantieni la stessa annotazione, L'opzione È elenco verrà ricontrollata automaticamente una volta aperta la pagina con questa annotazione.
Negli agenti multilingue, l'opzione È un elenco non è specifica per la lingua.
Valori e riferimenti dei parametri
I riferimenti ai parametri sono variabili che contengono i valori dei parametri estratti in fase di runtime. Quando crei un agente, puoi utilizzare riferimenti ai parametri nelle risposte per intent, delle richieste di parametri e il campo del parametro Valore.
Ad esempio, puoi utilizzare $parameter-name
in una risposta di intent.
Quando Dialogflow risponde all'utente,
sostituisce il riferimento al parametro
con il valore parametro estratto in fase di runtime.
È utile per riepilogare le informazioni fornite dall'utente finale.
Ad esempio, la risposta all'intent potrebbe essere simile alla seguente:
"Ok, ho prenotato una camera per te il giorno $date".
Riferimento ai parametri di base
Per fare riferimento a un valore parametro estratto dall'entità associata, utilizza il seguente formato:
$parameter-name
Ad esempio:
se il nome del parametro è date
,
puoi farvi riferimento come $date
.
Riferimento parametro per un valore originale
Quando il testo viene associato a una determinata entità, spesso viene convertito in un testo più pratico per l'elaborazione. Ad esempio, la parola "mele" in un'espressione dell'utente finale può essere estratta come "mela" per un'entità di frutta. Per fare riferimento a un valore del parametro esattamente come è stato scritto o pronunciato dall'utente finale, utilizza il seguente formato:
$parameter-name.original
Ad esempio:
se il nome del parametro è date
,
puoi fare riferimento al valore originale come $date.original
.
Riferimento ai parametri per date ambigue
Quando un parametro è associato all'entità di sistema @sys.date
e l'utente finale fornisce una data parziale (senza specificare mese, giorno e anno), Dialogflow corrisponderà alla data più vicina nel futuro.
Tuttavia, puoi anche recuperare varianti di questa data.
Puoi recuperare la corrispondenza parziale esplicita
in cui Dialogflow sostituisce la parte sconosciuta con U
utilizzando il seguente formato:
$parameter-name.partial
Puoi recuperare la data più vicina nel passato utilizzando il seguente formato:
$parameter-name.recent
Ad esempio, se la data di oggi è l'11 agosto 2021,
il nome del parametro è date
,
e l'utente dice "13 agosto":
Riferimento ai parametri | Valore risolto |
---|---|
$date | 2021-08-13 |
$date.partial | UUUU-08-13 |
$date.recent | 2020-08-13 |
Riferimento ai parametri per un'entità composita
Entità composte sono entità che contengono altre entità secondarie. Per fare riferimento al valore di un'entità secondaria di un parametro, utilizza il seguente formato:
$parameter-name.sub-entity-name
Ad esempio, se il nome del parametro è move
,
e il nome dell'entità secondaria è direction
,
puoi fare riferimento al valore dell'entità secondaria come $move.direction
.
Riferimento parametro per un contesto attivo
Contesti può servire come archiviazione temporanea dei valori parametro. Per fare riferimento a un valore del parametro ottenuto da un contesto attivo, utilizza il seguente formato:
#context-name.parameter-name
Ad esempio, se il nome del parametro è room
,
e reservation
è un contesto attivo,
puoi fare riferimento al valore parametro come #reservation.room
.
Riferimento ai parametri per un parametro evento
Per fare riferimento a un parametro evento, utilizza il seguente formato:
#event-name.parameter-name
Ad esempio, se il nome del parametro è duration
,
e il nome dell'evento è alarm
,
puoi fare riferimento al parametro evento come #alarm.duration
.
Campo Valore parametro
I riferimenti ai parametri nel campo Valore del parametro hanno un significato speciale.
I contenuti di questo campo determinano il valore risolto per$parameter-name
nelle risposte all'intent e nei prompt dei parametri.
Dialogflow elabora i dati dei parametri nel seguente ordine:
- Estrai il valore parametro dall'espressione dell'utente finale utilizzando l'entità associata.
- Risolvi il contenuto del campo del parametro Valore.
- Imposta
$parameter-name
sui contenuti risolti del campo del parametro Valore. Se il campo Valore non è impostato su$parameter-name
, il valore di$parameter-name
viene reimpostato su un altro valore. - Risolvi i contenuti per le risposte all'intent e i prompt dei parametri.
Ecco alcuni esempi per illustrare gli effetti di questo ordine per l'espressione di utente finale "Voglio acquistare una camicia small".
Posizione del riferimento del parametro | Contenuti configurati | Contenuti risolti |
---|---|---|
Campo Valore del parametro | $size | S |
Risposta all'intent | Hai scelto la taglia: $size | Hai scelto la taglia: S |
Posizione di riferimento dei parametri | Contenuti configurati | Contenuti risolti |
---|---|---|
Campo Valore del parametro | $size.original | small |
Risposta all'intent | Hai scelto la taglia: $size | Hai scelto la taglia: piccola |
Posizione di riferimento dei parametri | Contenuti configurati | Contenuti risolti |
---|---|---|
Campo Valore del parametro | $size | S |
Risposta all'intent | Hai scelto la taglia: $size.original | Hai scelto la taglia: piccola |
Riempimento degli slot con i parametri richiesti
Quando crei un agente, puoi contrassegnare i parametri come obbligatori. Un intent non è completo fino a quando l'utente finale non fornisce i dati per ognuno di questi parametri obbligatori.
Quando viene trovata una corrispondenza per un intent in fase di runtime, l'agente Dialogflow continua a raccogliere informazioni dall'utente finale. finché l'utente finale non fornisce i dati per ognuno dei parametri richiesti. Questa procedura è chiamata compilazione degli slot.
Dialogflow non invia una richiesta di webhook per l'evasione fino a quando non ha raccolto tutti i dati richiesti dall'utente finale, a meno che non sia attivato il webhook per il completamento degli slot.
Dialogflow invia una risposta di interazione API per ogni passaggio di riempimento degli slot. Per ognuna di queste risposte di riempimento degli slot, l'intenzione e l'azione saranno la stessa, e verranno forniti i parametri raccolti finora.
Quando crei un agente, fornisci dei prompt che l'agente utilizzerà per ottenere i dati dei parametri dall'utente finale. Puoi anche fornire varianti del prompt, quindi l'agente non pone sempre la stessa domanda.
Ad esempio, supponiamo che l'agente del tuo negozio di abbigliamento abbia un'intenzione con parametri obbligatori per:
- tipo di indumento
- quantity
- dimensioni
- color
La compilazione di un'intenzione potrebbe avere il seguente aspetto:
Utente: vorrei acquistare una t-shirt.
Agente: quanti ne vuoi?
Utente: 3
Agent: Di che colore?
Utente: nero
Agent: Che taglia?
Utente: medio
Agente: Ok, erano tre t-shirt nere di taglia media
Se l'utente finale fornisce i dati per più di un parametro in una singola espressione, Dialogflow raccoglie i dati forniti e continua a chiedere quelli mancanti. Ad esempio, l'utente finale potrebbe dire "Vorrei acquistare tre t-shirt nere". Dialogflow chiederà all'utente le dimensioni.
Parametri di ordinamento
Quando crei un agente, puoi ordinare i parametri, che determina l'ordine in cui l'agente chiederà all'utente finale di visualizzare i dati mancanti.
Quando crei un agente dalla console, Se passi il mouse sopra un parametro, a destra viene visualizzata un'icona di riordinamento. Puoi trascinare questa icona per modificare la posizione del parametro nell'elenco.
Riferimenti dei parametri nei prompt
Quando crei un agente,
puoi utilizzare riferimenti ai parametri nei prompt,
ma solo per i parametri obbligatori prima del prompt.
Ad esempio, se il parametro color
si trova prima del parametro quantity
,
puoi utilizzare questo prompt per il parametro quantity
:
How many $color t-shirts would you like to buy?
Annulla compilazione slot
Quando l'utente finale pronuncia una frase di uscita come "Annulla", "Interrompi", "È sufficiente" e così via. l'agente risponde con "Ok, annullato" e cancella i contesti di riempimento degli slot.
Se utilizzi l'API,
il campo DetectIntentResponse.queryResult.cancelsSlotFilling
è impostato su
true
quando il riempimento degli slot viene annullato.
Per saperne di più, consulta la documentazione detectIntent
del tipo Sessions
.