Interpretazione del formato dell'evento di input - Amazon Lex

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à.

Interpretazione del formato dell'evento di input

Il primo passaggio per integrare una funzione Lambda nel tuo bot Amazon Lex V2 consiste nel comprendere i campi dell'evento Amazon Lex V2 e determinare le informazioni da questi campi che desideri utilizzare durante la scrittura dello script. Il seguente oggetto JSON mostra il formato generale di un evento Amazon Lex V2 passato a una funzione Lambda:

Nota

Il formato di input può cambiare senza una modifica corrispondente a. messageVersion Il codice non dovrebbe generare un errore se sono presenti nuovi campi.

{ "messageVersion": "1.0", "invocationSource": "DialogCodeHook | FulfillmentCodeHook", "inputMode": "DTMF | Speech | Text", "responseContentType": "audio/mpeg | audio/ogg | audio/pcm | text/plain; charset=utf-8", "sessionId": string, "inputTranscript": string, "invocationLabel": string, "bot": { "id": string, "name": string, "localeId": string, "version": string, "aliasId": string, "aliasName": string }, "interpretations": [ { "interpretationSource": "Bedrock | Lex", "intent": { // see Intento for details about the structure }, "nluConfidence": number, "sentimentResponse": { "sentiment": "MIXED | NEGATIVE | NEUTRAL | POSITIVE", "sentimentScore": { "mixed": number, "negative": number, "neutral": number, "positive": number } } }, ... ], "proposedNextState": { "dialogAction": { "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }, "intent": { // see Intento for details about the structure }, "prompt": { "attempt": string } }, "requestAttributes": { string: string, ... }, "sessionState": { // see Stato della sessione for details about the structure }, "transcriptions": [ { "transcription": string, "transcriptionConfidence": number, "resolvedContext": { "intent": string }, "resolvedSlots": { slot name: { // see Slot for details about the structure }, ... } }, ... ] }

Ogni campo dell'evento di input è descritto di seguito:

La versione del messaggio che identifica il formato dei dati degli eventi che entrano nella funzione Lambda e il formato previsto della risposta da una funzione Lambda.

Nota

Puoi configurare questo valore quando definisci un intento. Nell'attuale implementazione, Amazon Lex V2 supporta solo la versione 1.0 dei messaggi. Pertanto, la console presuppone il valore predefinito di 1.0 e non mostra la versione del messaggio.

Il code hook che ha chiamato la funzione Lambda. I valori possibili sono i seguenti:

DialogCodeHook— Amazon Lex V2 ha chiamato la funzione Lambda dopo l'input dell'utente.

FulfillmentCodeHook— Amazon Lex V2 ha richiamato la funzione Lambda dopo aver riempito tutti gli slot richiesti e l'intento è pronto per l'adempimento.

La modalità di espressione dell'utente. I valori possibili sono i seguenti:

DTMF— L'utente inserisce l'enunciato utilizzando una tastiera tattile (Dual Tone Multi-Frequency).

Speech— L'utente ha pronunciato l'enunciato.

Text— L'utente ha digitato l'enunciato.

La modalità di risposta del bot all'utente. text/plain; charset=utf-8indica che l'ultima espressione è stata scritta, mentre un valore che inizia con audio indica che l'ultima espressione è stata pronunciata.

L'identificatore alfanumerico di sessione utilizzato per la conversazione.

Una trascrizione dell'input dell'utente.

  • Per l'immissione di testo, si tratta del testo digitato dall'utente. Per l'input DTMF, questa è la chiave immessa dall'utente.

  • Per l'input vocale, questo è il testo in cui Amazon Lex V2 converte l'enunciato dell'utente per richiamare un intento o riempire uno slot.

Un valore che indica la risposta che ha richiamato la funzione Lambda. È possibile impostare etichette di chiamata per la risposta iniziale, gli slot e la risposta di conferma.

Informazioni sul bot che ha elaborato la richiesta, costituite dai seguenti campi:

  • id — L'identificatore assegnato al bot al momento della sua creazione. Puoi visualizzare l'ID del bot nella console Amazon Lex V2 nella pagina delle impostazioni del bot.

  • nome: il nome che hai dato al bot quando lo hai creato.

  • localeID: l'identificatore del locale che hai usato per il bot. Per un elenco delle impostazioni locali, consulta. Lingue e impostazioni locali supportate da Amazon Lex V2

  • version — La versione del bot che ha elaborato la richiesta.

  • aliasID: l'identificatore assegnato all'alias del bot al momento della creazione. Puoi visualizzare l'ID alias del bot nella console Amazon Lex V2 nella pagina Alias. Se non riesci a visualizzare l'ID dell'alias nell'elenco, scegli l'icona a forma di ingranaggio in alto a destra e attiva l'ID alias.

  • AliasName: il nome che hai assegnato all'alias del bot.

Un elenco di informazioni sugli intenti che Amazon Lex V2 considera possibili corrispondenze all'enunciato dell'utente. Ogni elemento è una struttura che fornisce informazioni sulla corrispondenza dell'enunciato a un intento, con il seguente formato:

{ "intent": { // see Intento for details about the structure }, "interpretationSource": "Bedrock | Lex", "nluConfidence": number, "sentimentResponse": { "sentiment": "MIXED | NEGATIVE | NEUTRAL | POSITIVE", "sentimentScore": { "mixed": number, "negative": number, "neutral": number, "positive": number } } }

I campi all'interno della struttura sono i seguenti:

  • intento: una struttura contenente informazioni sull'intento. IntentoPer ulteriori dettagli sulla struttura, vedere.

  • NLUConfidence: un punteggio che indica quanto Amazon Lex V2 sia sicuro che l'intento corrisponda all'intento dell'utente.

  • SentimentResponse — Un'analisi del sentimento della risposta, contenente i seguenti campi:

    • sentiment: indica se il sentimento dell'enunciato è,,, o. POSITIVE NEGATIVE NEUTRAL MIXED

    • SentimentScore: una struttura che associa ogni sentimento a un numero che indica quanto Amazon Lex V2 sia sicuro che l'enunciato trasmetta quel sentimento.

  • InterpretationSource: indica se uno slot viene risolto da Amazon Lex o Amazon Bedrock.

Se la funzione Lambda imposta dialogAction of sessionState toDelegate, questo campo viene visualizzato e mostra la proposta di Amazon Lex V2 per il passaggio successivo della conversazione. Altrimenti, lo stato successivo dipende dalle impostazioni restituite nella risposta della funzione Lambda. Questa struttura è presente solo se entrambe le seguenti affermazioni sono vere:

  1. Il invocationSource valore è DialogCodeHook

  2. Il previsto type di dialogAction èElicitSlot.

Puoi utilizzare queste informazioni per aggiungere runtimeHints qualcosa al momento giusto della conversazione. Miglioramento del riconoscimento dei valori degli slot con suggerimenti di runtimePer ulteriori informazioni, consulta. proposedNextStateè una struttura contenente i seguenti campi:

La struttura di proposedNextState è la seguente:

"proposedNextState": { "dialogAction": { "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }, "intent": { // see Intento for details about the structure }, "prompt": { "attempt": string } }
  • DialogAction: contiene informazioni sulla fase successiva proposta da Amazon Lex V2. I campi della struttura sono i seguenti:

    • slotToElicit— Lo slot da ottenere successivamente, come proposto da Amazon Lex V2. Questo campo viene visualizzato solo se ètype. ElicitSlot

    • type — La fase successiva della conversazione proposta da Amazon Lex V2. I valori possibili sono i seguenti:

      Delegate— Amazon Lex V2 determina l'azione successiva.

      ElicitIntent— L'azione successiva consiste nel suscitare un intento da parte dell'utente.

      ElicitSlot— L'azione successiva consiste nell'ottenere un valore di slot dall'utente.

      Close— Termina il processo di adempimento degli intenti e indica che non ci sarà alcuna risposta da parte dell'utente.

      ConfirmIntent— L'azione successiva consiste nel chiedere all'utente se gli slot sono corretti e l'intento è pronto per essere soddisfatto.

  • intento: l'intento che il bot ha determinato che l'utente sta cercando di soddisfare. Vedi Intento per i dettagli sulla struttura.

  • prompt: una struttura contenente il campoattempt, che corrisponde a un valore che specifica quante volte Amazon Lex V2 ha richiesto all'utente lo slot successivo. I valori possibili sono Initial per il primo tentativo eRetry1,, Retry2 Retry3Retry4, e Retry5 per i tentativi successivi.

Una struttura contenente gli attributi specifici della richiesta che il client invia nella richiesta. Utilizza gli attributi di richiesta per inviare informazioni che non devono essere conservate per l'intera sessione. Se non ci sono attributi della richiesta, il valore sarà null. Per ulteriori informazioni, consulta Impostazione degli attributi della richiesta.

Lo stato attuale della conversazione tra l'utente e il tuo bot Amazon Lex V2. Stato della sessionePer ulteriori dettagli sulla struttura, consulta.

Un elenco di trascrizioni che Amazon Lex V2 considera possibili corrispondenze all'enunciato dell'utente. Per ulteriori informazioni, consulta Utilizzo dei punteggi di confidenza nella trascrizione vocale. Ogni elemento è un oggetto con il seguente formato, contenente informazioni su una possibile trascrizione:

{ "transcription": string, "transcriptionConfidence": number, "resolvedContext": { "intent": string }, "resolvedSlots": { slot name: { // see Slot for details about the structure }, ... } }

I campi sono descritti di seguito:

  • trascrizione: una trascrizione che Amazon Lex V2 considera una possibile corrispondenza con l'enunciato audio dell'utente.

  • TranscriptionConfidence: un punteggio che indica quanto Amazon Lex V2 sia sicuro che l'intento corrisponda all'intento dell'utente.

  • ResolvedContext: una struttura contenente il campointent, che corrisponde all'intento a cui si riferisce l'enunciato.

  • resolvedSlots — Una struttura le cui chiavi sono i nomi di ogni slot che viene risolto dall'enunciato. Ogni nome di slot corrisponde a una struttura contenente informazioni su quello slot. Vedi Slot per i dettagli sulla struttura.