Contesti di input e output

I contesti di input e output vengono applicati ai intent. Lavorano insieme per controllare il flusso della conversazione:

  • I contesti di output controllano i contesti attivi. Quando viene trovata una corrispondenza per un'intenzione, tutti i contesti di output configurati per quell'intenzione diventano attivi.
  • I contesti di input controllano la corrispondenza degli intent. Quando i contesti sono attivi, Dialogflow ha maggiori probabilità di trovare una corrispondenza con gli intent configurati con contesti di input che sono un sottoinsieme dei contesti attualmente attivi.

Con i contesti puoi:

  • Controlla l'ordine della corrispondenza dell'intenzione.
  • Crea intent specifici per il contesto con le stesse frasi di addestramento.

Ad esempio, considera le seguenti intenzioni:

Nome dell'intent Frasi di addestramento Parametri Contesti di input Contesti di output Risposta
pet-init "Che aspetto hanno?" - - - "Che tipo di animale ti piace?"
pet-select-dogs "Mi piacciono i cani" - - cani "Cosa vuoi sapere sui cani?"
pet-select-cats "Mi piacciono i gatti" - - gatti "Cosa vuoi sapere sui gatti?"
dog-show "Che aspetto hanno?" - cani - "Ecco una foto di un cane."
mostra-di-gatti "Che aspetto hanno?" - gatti - "Ecco una foto di un gatto."

Quando l'utente finale dice I like dogs:

  • L'intent pet-select-dogs è associato.
  • Il contesto di output è dogs, quindi diventa il contesto attivo.

Quando l'utente finale dice I like cats:

  • L'intent pet-select-cats è associato.
  • Il contesto di output è cats, quindi diventa il contesto attivo.

Quando l'utente finale dice What do they look like?:

  • Se dogs è il contesto attivo:
    • L'intent dog-show è associato.
    • All'utente finale viene mostrata l'immagine di un cane.
  • Se cats è il contesto attivo:
    • L'intent cat-show è associato.
    • All'utente finale viene mostrata l'immagine di un gatto.
  • Se non è presente alcun contesto attivo:
    • L'intent pet-init è associato.
    • All'utente finale viene chiesto che tipo di animale domestico preferisce.

Contesti di output

A un intent possono essere applicati più contesti di output. Quando viene trovata una corrispondenza per un'intenzione, tutti i contesti di output applicati all'intenzione diventano attivi.

Riferimenti ai parametri per i contesti attivi

Quando viene trovata una corrispondenza per un'intenzione con un contesto di output, i valori dei parametri raccolti possono essere utilizzati come spazio di archiviazione temporaneo con riferimenti ai parametri per i contesti attivi. È possibile accedere a questi valori durante la corrispondenza degli intent futuri, per tutto il tempo in cui il contesto rimane attivo.

Ad esempio, considera la seguente variante dell'esempio di animale domestico riportato sopra:

Nome dell'intent Frasi di addestramento Parametri Contesti di input Contesti di output Risposta
pet-init "Che aspetto hanno?" - - - "Che tipo di animale ti piace?"
pet-select "Mi piacciono i cani", "Mi piacciono i gatti" animale domestico - pet-chosen "Cosa vuoi sapere su $pet?"
pet-show "Che aspetto hanno?" - pet-chosen - "Ecco una foto di un #pet-chosen.pet."

Quando l'utente finale dice I like dogs o I like cats:

  • L'intent pet-select è associato.
  • Il pet parametro è impostato sul tipo di animale domestico scelto.
  • Il contesto di output è pet-chosen, quindi diventa il contesto attivo.

Quando l'utente finale dice What do they look like?:

  • Se pet-chosen è il contesto attivo:
    • L'intent pet-show è associato.
    • Se l'utente finale ha selezionato dogs nel turno di conversazione precedente, gli viene mostrata un'immagine di un cane.
    • Se l'utente finale ha selezionato cats nel turno di conversazione precedente, gli viene mostrata un'immagine di un gatto.
  • Se non è presente alcun contesto attivo:
    • L'intent pet-init è associato.
    • All'utente finale viene chiesto di selezionare un tipo di animale domestico.

Durata

Ogni contesto attivo ha una durata che definisce il numero di turni di conversazione per i quali il contesto rimane attivo. La durata predefinita è di cinque turni di conversazione per gli intenti normali e di due turni di conversazione per gli intent di follow-up. Puoi eseguire l'override della durata predefinita per qualsiasi contesto. Inoltre, tutti i contesti scadono 20 minuti dopo essere diventati attivi. Quando un'intenzione viene associata a un contesto di output già attivo, la durata e il timer di scadenza vengono reimpostati.

Ad esempio, considera le seguenti descrizioni dell'intent per un agente di informazioni sugli animali domestici:

Nome dell'intent Frasi di addestramento Parametri Contesti di input Contesti di output Risposta
pet-init "Che aspetto hanno?", "Che suono fanno?", "Quanto sono grandi?" - - - "Che tipo di animale ti piace?"
pet-select "Mi piacciono i cani", "Mi piacciono i gatti" animale domestico - pet-chosen (lifespan = 2) "Cosa vuoi sapere su $pet?"
pet-show "Che aspetto hanno?" - pet-chosen - "Ecco una foto di #pet-chosen.pet. Cos'altro vuoi sapere?"
pet-audio "Che suono fanno?" - pet-chosen - "Ecco un suono di #pet-chosen.pet. Cos'altro vuoi sapere?"
taglia dell'animale "Quanto sono grandi?" - pet-chosen - "Ecco una tabella delle taglie di #pet-chosen.pet. Cos'altro vuoi sapere?"

La tabella seguente mostra un dialogo di esempio per questo agente di informazioni sugli animali domestici, che illustra la durata del contesto pet-chosen:

Girare Finestra di dialogo Spiegazione
1 Agente: che tipo di animale ti piace? L'intent pet-init è associato.
2 Utente: mi piacciono i gatti.
Agente: cosa vuoi sapere sui gatti?
L'intent pet-select è associato. Il contesto di output pet-chosen diventa il contesto attivo.
3 Utente: Che aspetto hanno?
Agente: Ecco una foto di un gatto. Che altro vuoi sapere?
L'intent pet-show ha un contesto di input pet-chosen, quindi è associato. Il contesto pet-chosen è attivo da 1 turno.
4 Utente: come suonano?
Agente: ecco il suono di un gatto. Cos'altro vuoi sapere?
L'intent pet-audio ha un contesto di input pet-chosen, quindi è associato. Il contesto pet-chosen è attivo da 2 turni.
5 Utente: Che dimensioni hanno?
Agente: Che tipo di animale ti piace?
L'intent pet-init viene nuovamente associato perché il contesto pet-chosen non è più attivo.

Contesti di input

Quando i contesti sono attivi, Dialogflow ha maggiori probabilità di trovare una corrispondenza con gli intent configurati con contesti di input corrispondenti ai contesti attualmente attivi. Le regole dettagliate di corrispondenza degli intent sono le seguenti:

  1. L'elenco del contesto di input di un'intenzione deve essere un sottoinsieme dell'elenco del contesto attualmente attivo per poter essere associato. Questo vale anche per gli intent senza contesti di input.
  2. Per gli intent che soddisfano la regola 1, quelli con un elenco di contesti di input che corrisponde maggiormente all'elenco di contesti attualmente attivo hanno maggiori probabilità di essere abbinati.

Ad esempio:

  • Gli intent senza contesti di input possono essere abbinati in qualsiasi momento.
  • Quando non sono attivi, possono essere abbinati solo gli intent senza contesti di input.
  • Se i contesti "A" e "B" sono attivi, non è possibile associare un'intenzione con contesti di input "A" e "C".
  • Se i contesti "A", "B" e "C" sono attivi, è possibile associare un'intenzione con i contesti di input "A" e "B".
  • Se i contesti "A" e "B" sono attivi, è più probabile che venga trovato un match per un intent con contesti di input "A" e "B" rispetto a un intent senza contesto di input o a un intent con solo "A" come contesto di input.