Impostazione del contesto dell'intento - Amazon Lex versione 1

Se utilizzi Amazon Lex V2, consulta invece la guida Amazon Lex V2.

 

Se utilizzi Amazon Lex V1, ti consigliamo di aggiornare i bot ad Amazon Lex V2. Non stiamo più aggiungendo nuove funzionalità alla V1 e consigliamo vivamente di utilizzare la V2 per tutti i nuovi bot.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impostazione del contesto dell'intento

Puoi impostare gli intenti di attivazione di Amazon Lex in base al contesto. Un contesto è una variabile di stato che può essere associata a un intento quando si definisce un bot.

I contesti per un intento si configurano quando si crea l'intento utilizzando la console o utilizzando l'PutIntentoperazione. Puoi usare solo i contesti nella lingua inglese (USA) (en-US) e solo se imposti ilenableModelImprovements parametro sutrue quando hai creato il bot con l'PutBotoperazione.

Esistono due tipi di relazioni per i contesti, i contesti di output e i contesti di input. Un contesto di output diventa attivo quando viene soddisfatto un intento associato. Un contesto di output viene restituito all'applicazione nella risposta dell'PostContentoperazionePostText or ed è impostato per la sessione corrente. Dopo l'attivazione, un contesto rimane attivo per il numero di turni o il limite di tempo configurato al momento della definizione del contesto.

Un contesto di input specifica le condizioni in base alle quali un intento può essere riconosciuto. Un'intenzione può essere riconosciuta durante una conversazione solo quando tutti i suoi contesti di input sono attivi. Un'intenzione senza contesti di input è sempre idonea al riconoscimento.

Amazon Lex gestisce automaticamente il ciclo di vita dei contesti attivati soddisfacendo gli intenti con contesti di output. È inoltre possibile impostare contesti attivi in una chiamata all'PostTextoperazionePostContent o.

È inoltre possibile impostare il contesto di una conversazione utilizzando la funzione Lambda per l'intento. Il contesto di output di Amazon Lex viene inviato all'evento di input della funzione Lambda. La funzione Lambda può inviare contesti nella sua risposta. Per ulteriori informazioni, consulta Formato di evento di input e di risposta della funzione Lambda.

Ad esempio, supponiamo che tu abbia intenzione di prenotare un'auto a noleggio configurata per restituire un contesto di output chiamato «book_car_fulfilled». Quando l'intento è soddisfatto, Amazon Lex imposta la variabile di contesto di output «book_car_fulfilled». Poiché «book_car_fulfilled» è un contesto attivo, un intento con il contesto «book_car_fulfilled» impostato come contesto di input viene ora considerato per il riconoscimento, a condizione che un'espressione dell'utente venga riconosciuta come un tentativo di suscitare tale intento. Puoi usarlo per scopi che hanno senso solo dopo aver prenotato un'auto, come inviare una ricevuta via e-mail o modificare una prenotazione.

Contesto di output

Amazon Lex rende attivi i contesti di output di un intento quando l'intento viene soddisfatto. È possibile utilizzare il contesto di output per controllare gli intenti idonei a dare seguito all'intento corrente.

Ogni contesto ha un elenco di parametri che vengono mantenuti nella sessione. I parametri sono i valori dello slot per l'intento raggiunto. È possibile utilizzare questi parametri per precompilare i valori degli slot per altri scopi. Per ulteriori informazioni, consulta Utilizzo dei valori di slot predefiniti.

Il contesto di output viene configurato quando si crea un intento con la console o con l'PutIntentoperazione. È possibile configurare un intento con più di un contesto di output. Quando l'intento è soddisfatto, tutti i contesti di output vengono attivati e restituiti nellaPostContent rispostaPostText or.

Quanto segue mostra l'assegnazione di un contesto di output a un intento utilizzando la console.

Tag di output etichettato order_complete con un tempo di vita di 5 turni o 90 secondi.

Quando definisci un contesto di output, definisci anche la sua durata di vita, la durata o il numero di turni in cui il contesto è incluso nelle risposte di Amazon Lex. Un turno è una richiesta della tua applicazione ad Amazon Lex. Una volta scaduto il numero di turni o il tempo, il contesto non è più attivo.

L'applicazione può utilizzare il contesto di output secondo necessità. Ad esempio, l'applicazione può utilizzare il contesto di output per:

  • Modifica il comportamento dell'applicazione in base al contesto. Ad esempio, un'applicazione di viaggio potrebbe avere un'azione diversa per il contesto «book_car_fulfilled» rispetto a «rental_hotel_fulfilled».

  • Restituisci il contesto di output ad Amazon Lex come contesto di input per l'enunciato successivo. Se Amazon Lex riconosce l'enunciato come un tentativo di suscitare un intento, utilizza il contesto per limitare gli intenti che possono essere restituiti a quelli con il contesto specificato.

Contesto di input

È possibile impostare un contesto di input per limitare i punti della conversazione in cui viene riconosciuto l'intento. Gli intenti senza un contesto di input possono sempre essere riconosciuti.

È possibile impostare i contesti di input a cui risponde un intento utilizzando la console o l'PutIntentoperazione. Un intento può avere più di un contesto di input. Di seguito viene illustrata l'assegnazione di un contesto di input a un intento utilizzando la console.

Tag di input etichettato order_complete.

Per un intento con più di un contesto di input, tutti i contesti devono essere attivi per attivare l'intento. È possibile impostare un contesto di input quando si chiama l'PutSessionoperazionePostTextPostContent, o.

È possibile configurare gli slot con l'intento di prendere i valori predefiniti dal contesto attivo corrente. I valori predefiniti vengono utilizzati quando Amazon Lex riconosce un nuovo intento ma non riceve un valore di slot. Il nome del contesto e il nome dello slot vengono specificati nel modulo#context-name.parameter-name quando si definisce lo slot. Per ulteriori informazioni, consulta Utilizzo dei valori di slot predefiniti.