Azioni e parametri

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

In questa pagina vengono descritte le impostazioni relative a azioni e parametri per gli intent e il modo in cui vengono utilizzate quando gli intent sono abbinati al runtime.

Dove trovare questi dati

Quando crei un agente, comunemente si utilizza la console di Dialogflow ES (consulta la documentazione, open console). Le istruzioni che seguono riguardano l'utilizzo della console. Per accedere ai dati di azioni e parametri:

  1. Vai alla console di Dialogflow ES.
  2. Seleziona un agente.
  3. Seleziona Intent nel menu della barra laterale a sinistra.
  4. Seleziona un intent.
  5. Scorri verso il basso fino alla sezione Azione e parametri.

Screenshot dei campi di azione e parametri

Se stai creando un agente utilizzando l'API anziché la console, consulta il riferimento per intent. I nomi dei campi dell'API sono simili ai nomi dei campi della console. Le istruzioni riportate di seguito evidenziano eventuali differenze importanti tra la console e l'API.

Azioni

Il campo action è un campo semplice e utile per agevolare l'esecuzione della logica nel servizio.

Quando crei un agente, puoi impostare questo campo su qualsiasi testo che ritieni utile.

Quando un intent corrisponde a un runtime, Dialogflow mostra il valore dell'azione alla richiesta webhook di fulfillment o alla risposta dell'interazione API. Può essere usato per attivare logiche specifiche nel tuo servizio.

Parametri

Quando un intent corrisponde a un runtime, Dialogflow mostra 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 una logica o generare risposte.

Quando crei un agente, puoi controllare in che modo vengono estratti i dati annotando parti delle frasi di addestramento e configurando i parametri associati.

Il seguente elenco mostra i campi della configurazione di un parametro. Gli esempi sono mostrati per la frase di addestramento "Prenota una sala martedì", dove "Martedì" ha un'annotazione.

  • Obbligatorio: seleziona questa casella se il parametro è obbligatorio per completare l'intent. Consulta la sezione Riempimento dell'area con i parametri obbligatori riportata di seguito.
  • Nome parametro: un nome che identifica il parametro. Esempio: date.
  • Entità: il tipo di entità associato al parametro. Esempio: @sys.date.
  • Valore: nella maggior parte dei casi, questo valore è impostato su un riferimento parametro come $parameter-name, utilizzato come segnaposto per il valore estratto in fase di esecuzione. Tuttavia, questo campo può essere utilizzato anche per selezionare valori alternativi. Consulta la sezione Valori dei parametri e riferimenti ai parametri di seguito. Esempio: $date.
  • È elenco: seleziona questa casella se i valori devono essere restituiti come elenco. Consulta la sezione Parametri dell'elenco di seguito.
  • Prompt: domande che l'agente chiederà all'utente finale se il parametro non è stato fornito. Questo campo viene utilizzato solo se è selezionato il campo Obbligatorio. Consulta la sezione Riempimento dell'area con i parametri obbligatori riportata di seguito.
  • Valore predefinito: è il valore predefinito per il parametro quando l'utente finale non lo fornisce. Per modificare il valore predefinito nella console, passa il mouse sopra la riga del parametro e fai clic sul menu a destra.

Quando un intent viene abbinato in fase di runtime, Dialogflow fornisce dati sui parametri alla richiesta di webhook di fulfillment o alla risposta dell'interazione API. Questi vengono forniti come mappatura dai nomi dei parametri ai valori dei parametri.

Quando crei un agente, le tue risposte possono includere valori dei parametri. Consulta Valori dei parametri e riferimenti ai parametri di seguito.

Parametri elenco

Quando crei un agente con la console, la selezione dell'opzione È elenco configura il parametro come elenco. Gli elenchi possono contenere più elementi. Ad esempio, un agente di produzione potrebbe richiedere le seguenti espressioni di utenti finali:

  • "Voglio mele"
  • "Voglio mele e arance"
  • "Voglio mele, arance e banane"

Quando annota le frasi di addestramento con i parametri dell'elenco, le frasi possono contenere uno o più esempi di parametri e puoi annotarli separatamente:

Screenshot dell'annotazione del parametro elenco.

Valori e riferimenti dei parametri

I riferimenti ai parametri sono variabili che contengono i valori parametro estratti in fase di esecuzione. Quando crei un agente, puoi utilizzare i riferimenti ai parametri nelle risposte di intent, nelle richieste di parametri e nel campo Valore.

Ad esempio, puoi utilizzare $parameter-name in una risposta intent. Quando Dialogflow risponde all'utente, sostituisce il riferimento al parametro con il valore del parametro estratto in fase di esecuzione. Questo è utile per riepilogare le informazioni fornite dall'utente finale. Ad esempio, la tua risposta all'intenzione potrebbe essere simile al seguente: "Ok, ho prenotato una stanza per te il giorno $date".

Riferimento parametro 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 viene cercata una particolare entità, il testo viene spesso convertito in 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 parametro esattamente come è stato scritto o pronunciato dall'utente finale, utilizza il formato seguente:

$parameter-name.original

Ad esempio, se il nome del parametro è date, puoi fare riferimento al valore originale come $date.original.

Riferimento parametro per date ambigue

Quando un parametro è associato all'entità di sistema @sys.date e l'utente finale fornisce una data parziale (senza specificare il mese, il giorno e l'anno), la finestra di dialogo corrisponderà alla data più vicina in futuro. Tuttavia, puoi anche recuperare varianti di questa data.

Puoi recuperare la corrispondenza parziale esplicita, in cui Dialogflow sostituisce la parte sconosciuta con Us 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 odierna è l'11 agosto 2021, il nome del tuo parametro è date e l'utente dice"13 agosto":

Riferimento parametri Valore risolto
$date 2021-08-13
$date.partial UUUU 08-13
$date.recente 2020-08-13

Riferimento parametro per un'entità composita

Le entità composte sono entità che contengono altre entità secondarie. Per fare riferimento al valore dell'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

I contesti possono servire come spazio di archiviazione temporaneo per i valori dei parametri. Per fare riferimento a un valore 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 del parametro come #reservation.room.

Riferimento parametro per un parametro evento

Per fare riferimento a un parametro event, utilizza il seguente formato:

#event-name.parameter-name

Ad esempio, se il nome del parametro è duration e il nome evento è alarm, puoi fare riferimento al parametro evento come #alarm.duration.

Campo Valore parametro

I riferimenti ai parametri nel campo Valore hanno un significato speciale. I contenuti di questo campo determinano il valore risolto$parameter-nameper le risposte intent e i prompt dei parametri. Dialogflow elabora i dati dei parametri nel seguente ordine:

  1. Estrai il valore del parametro dall'espressione dell'utente finale utilizzando l'entità associata.
  2. Risolvi i contenuti del campo Valore.
  3. Imposta $parameter-name sui contenuti risolti del campo Valore del parametro. Se il campo Value (Valore) non è impostato su $parameter-name, questo comporta la reimpostazione del valore $parameter-name.
  4. Risolvi i contenuti per le risposte di intent e le richieste di parametri.

Ecco alcuni esempi che illustrano gli effetti dell'ordine per un'espressione dell'utente finale "Voglio acquistare una piccolacamicia".

Posizione riferimento parametro Contenuti configurati Contenuti risolti
Campo del parametro Valore $size [taglia] S
Risposta intent Hai scelto la taglia: $size Hai scelto la taglia: S
Posizione riferimento parametro Contenuti configurati Contenuti risolti
Campo del parametro Valore $size.original small
Risposta intent Hai scelto la taglia: $size Hai scelto la taglia: small
Posizione riferimento parametro Contenuti configurati Contenuti risolti
Campo del parametro Valore $size [taglia] S
Risposta intent Hai scelto le dimensioni: $size.original Hai scelto la taglia: small

Riempimento slot con parametri obbligatori

Quando crei un agente, puoi contrassegnare i parametri come richiesto. Un intent non è completo finché l'utente finale non ha fornito i dati per ognuno di questi parametri obbligatori.

Screenshot dei campi dei parametri obbligatori

Quando viene cercata una corrispondenza tra un intent e il runtime, l'agente Dialogflow continua a raccogliere informazioni dall'utente finale finché quest'ultimo non ha fornito i dati per ognuno dei parametri obbligatori. Questa procedura è chiamata riempimento delle aree annuncio.

Dialogflow non invia una richiesta di webhook di evasione finché non ha raccolto tutti i dati richiesti dall'utente finale, a meno che non sia abilitato il webhook per il riempimento dell'area.

Dialogflow invia una risposta di interazione API per ogni passaggio del riempimento dell'area. Per ciascuna di queste risposte che riempiono l'area, l'intent e l'azione saranno gli stessi e verranno forniti i parametri raccolti finora.

Quando crei un agente, fornisci le richieste che l'agente utilizzerà per ottenere i dati dei parametri dall'utente finale. Puoi anche fornire varianti del messaggio in modo che l'agente non faccia sempre la stessa domanda.

Screenshot dei prompt dei parametri

Ad esempio, tieni presente che l'agente del tuo negozio di abbigliamento ha un intento con i parametri obbligatori per:

  • tipo di abbigliamento
  • quantity
  • dimensioni
  • colore

La conclusione di un intent può avere il seguente aspetto:

Utente: vorrei acquistare una t-shirt.
Agente: quanti ne vuoi?
Utente: 3
Agente: di che colore preferisci?
Utente: nero
Agente: quale dimensione?
Utente: Medium
Agente: Ok, erano tre magliette nere in 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 richiedere i dati mancanti. Ad esempio, l'utente finale potrebbe dire "Mi piacerebbe acquistare tre magliette nere". Dialogflow chiede le dimensioni dell'utente.

Parametri di ordinamento

Quando crei un agente, puoi ordinare i parametri, che determinano l'ordine in cui l'agente chiederà all'utente finale i dati mancanti.

Quando crei un agente dalla console, passando il mouse sopra un parametro viene visualizzata un'icona di riordinamento a destra. Puoi trascinare questa icona per cambiare la posizione del parametro nell'elenco.

Riferimenti relativi ai parametri nei messaggi

Quando crei un agente, puoi utilizzare i riferimenti ai parametri nei messaggi, ma solo per i parametri obbligatori prima della richiesta. Ad esempio, se il parametro color è precedente al parametro quantity, puoi utilizzare il seguente prompt per il parametro quantity: How many $color t-shirts would you like to buy?

Annulla riempimento slot

Quando l'utente finale pronuncia una frase di uscita come "Annulla", "Stop it", "Just's sufficienti" e così via, l'agente risponde con "quo, Ok, annullato" e cancella i contesti di riempimento degli slot.

Se utilizzi l'API, il campo DetectIntentResponse.queryResult.cancelsSlotFilling è impostato su true quando viene annullata la compilazione delle aree annuncio. Per maggiori informazioni, consulta la documentazione detectIntent del tipo Sessions.