Gemeinsame Strukturen im Lambda-Ereignis und der Lambda-Antwort - Amazon Lex

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Gemeinsame Strukturen im Lambda-Ereignis und der Lambda-Antwort

Innerhalb der Lambda-Antwort gibt es eine Reihe von Strukturen, die sich wiederholen. Einzelheiten zu diesen gemeinsamen Strukturen finden Sie in diesem Abschnitt.

Absicht

"intent": { "confirmationState": "Confirmed | Denied | None", "name": string, "slots": { // see Slots for details about the structure }, "state": "Failed | Fulfilled | FulfillmentInProgress | InProgress | ReadyForFulfillment | Waiting", "kendraResponse": { // Only present when intent is KendraSearchIntent. For details, see // https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax } }

Das intent Feld ist einem Objekt mit den folgenden Feldern zugeordnet:

Gibt an, ob der Benutzer die Zeitfenster für die Absicht bestätigt hat und ob die Absicht zur Ausführung bereit ist. Die folgenden Werte sind möglich:

Confirmed— Der Benutzer bestätigt, dass die Slot-Werte korrekt sind.

Denied— Der Benutzer gibt an, dass die Slot-Werte falsch sind.

None— Der Benutzer hat die Bestätigungsphase noch nicht erreicht.

Der Name der Absicht.

Informationen über die Slots, die zur Erfüllung der Absicht erforderlich sind. Einzelheiten Slots zur Struktur finden Sie unter.

Gibt den Erfüllungsstatus für die Absicht an. Die folgenden Werte sind möglich:

Failed— Der Bot konnte die Absicht nicht erfüllen.

Fulfilled— Der Bot hat die Erfüllung der Absicht abgeschlossen.

FulfillmentInProgress— Der Bot ist gerade dabei, die Absicht zu erfüllen.

InProgress— Der Bot ist gerade dabei, die Slot-Werte zu ermitteln, die zur Erfüllung der Absicht erforderlich sind.

ReadyForFulfillment— Der Bot hat alle Slot-Werte für die Absicht ermittelt und ist bereit, die Absicht zu erfüllen.

Waiting— Der Bot wartet auf eine Antwort des Benutzers (beschränkt auf Streaming-Konversationen).

Enthält Informationen zu den Ergebnissen der Kendra-Suchabfrage. Dieses Feld wird nur angezeigt, wenn die Absicht a KendraSearchIntent ist. Weitere Informationen finden Sie in der Antwortsyntax im Query-API-Aufruf für Kendra.

Slots

Das slots Feld existiert innerhalb einer intent Struktur und ist einer Struktur zugeordnet, deren Schlüssel die Namen der Slots für diese Absicht sind. Wenn es sich bei dem Slot nicht um einen Slot mit mehreren Werten handelt (Verwendung mehrerer Werte in einem Slotweitere Informationen finden Sie unter), wird er einer Struktur mit dem folgenden Format zugeordnet. Beachten Sie, dass der istshape. Scalar

{ slot name: { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } } }

Wenn es sich bei dem Slot um einen Slot mit mehreren Werten handelt, enthält das Objekt, dem er zugeordnet ist, ein weiteres Feld namensvalues, das einer Liste von Strukturen zugeordnet ist, von denen jede Informationen über einen Slot enthält, aus dem der Slot mit mehreren Werten besteht. Das Format der einzelnen Objekte in der Liste entspricht dem Format des Objekts, dem ein regulärer Slot zugeordnet ist. Beachten Sie, dass das shape istList, aber das shape der Komponenten, die sich darunter befinden, values istScalar.

{ slot name: { "shape": "List", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] }, "values": [ { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, ... ] }

Die Felder im Slot-Objekt werden im Folgenden beschrieben:

Die Form des Schlitzes. Dieser Wert wird List verwendet, wenn der Steckplatz mehrere Werte enthält (Verwendung mehrerer Werte in einem Slotweitere Informationen finden Sie unter) und Scalar andernfalls.

Ein Objekt, das Informationen über den Wert, den der Benutzer für einen Slot angegeben hat, und die Interpretation von Amazon Lex im folgenden Format enthält:

{ "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] }

Die Felder werden im Folgenden beschrieben:

  • originalValue — Der Teil der Benutzerantwort auf die Slot-Abfrage, von dem Amazon Lex feststellt, dass er für den Slot-Wert relevant ist.

  • InterpretedValue — Der Wert, den Amazon Lex anhand der Benutzereingabe für den Slot bestimmt.

  • ResolvedValues — Eine Liste von Werten, von denen Amazon Lex feststellt, dass sie mögliche Auflösungen für die Benutzereingabe sind.

Eine Liste von Objekten, die Informationen über die Slots enthält, aus denen der Slot mit mehreren Werten besteht. Das Format der einzelnen Objekte entspricht dem eines normalen Slots mit den oben beschriebenen value Feldern shape und. valueserscheint nur, wenn der Slot aus mehreren Werten besteht (Verwendung mehrerer Werte in einem Slotweitere Informationen finden Sie unter). Das folgende JSON-Objekt zeigt zwei Komponenten-Slots:

"values": [ { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, { "shape": "Scalar", "value": { "originalValue": string, "interpretedValue": string, "resolvedValues": [ string, ... ] } }, ... ]

Status der Sitzung

Das sessionState Feld ist einem Objekt zugeordnet, das Informationen über den Status der Konversation mit dem Benutzer enthält. Die tatsächlichen Felder, die im Objekt angezeigt werden, hängen von der Art der Dialogaktion ab. Informationen zu Erforderliche Felder in der Antwort den erforderlichen Feldern in einer Lambda-Antwort finden Sie unter. Das Format des sessionState Objekts ist wie folgt:

"sessionState": { "activeContexts": [ { "name": string, "contextAttributes": { string: string }, "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } }, ... ], "sessionAttributes": { string: string, ... }, "runtimeHints": { "slotHints": { intent name: { slot name: { "runtimeHintValues": [ { "phrase": string }, ... ] }, ... }, ... } }, "dialogAction": { "slotElicitationStyle": "Default | SpellByLetter | SpellByWord", "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }, "intent": { // see Absicht for details about the structure }, "originatingRequestId": string }

Die Felder werden im Folgenden beschrieben:

Eine Liste von Objekten, die Informationen über einen Kontext enthalten, den ein Benutzer in einer Sitzung verwendet. Verwenden Sie Kontexte, um die Erkennung von Absichten zu erleichtern und zu kontrollieren. Weitere Informationen zu Kontexten finden Sie unterKontext der Absicht festlegen. Jedes Objekt ist wie folgt formatiert:

{ "name": string, "contextAttributes": { string: string }, "timeToLive": { "timeToLiveInSeconds": number, "turnsToLive": number } }

Die Felder werden im Folgenden beschrieben:

  • name — Der Name des Kontextes.

  • contextAttributes — Ein Objekt, das die Namen der Attribute für den Kontext und die Werte enthält, denen sie zugeordnet sind.

  • timeToLive— Ein Objekt, das angibt, wie lange der Kontext aktiv bleibt. Dieses Objekt kann eines oder beide der folgenden Felder enthalten:

    • timeToLiveInSeconds— Die Anzahl der Sekunden, für die der Kontext aktiv bleibt.

    • turnsToLive— Die Anzahl der Runden, in denen der Kontext aktiv bleibt.

Eine Zuordnung von Schlüssel/Wert-Paaren, die sitzungsspezifische Kontextinformationen darstellen. Weitere Informationen finden Sie unter Sitzungsattribute einrichten. Das Objekt ist wie folgt formatiert:

{ string: string, ... }

Bietet Hinweise zu den Ausdrücken, die ein Kunde wahrscheinlich für einen Slot verwenden wird, um die Audioerkennung zu verbessern. Die Werte, die Sie in den Hinweisen angeben, verbessern die Audioerkennung dieser Werte im Vergleich zu ähnlich klingenden Wörtern. Das Format des runtimeHints Objekts ist wie folgt:

{ "slotHints": { intent name: { slot name: { "runtimeHintValues": [ { "phrase": string }, ... ] }, ... }, ... } }

Das slotHints Feld ist einem Objekt zugeordnet, dessen Felder die Namen der Absichten im Bot sind. Jeder Absichtsname ist einem Objekt zugeordnet, dessen Felder die Namen der Slots für diese Absicht sind. Jeder Slot-Name ist einer Struktur mit einem einzigen Feld zugeordnetruntimeHintValues, bei dem es sich um eine Liste von Objekten handelt. Jedes Objekt enthält ein phrase Feld, das einem Hinweis zugeordnet ist.

Bestimmt die nächste Aktion, die Amazon Lex V2 ausführen soll. Das Format des Objekts ist wie folgt:

{ "slotElicitationStyle": "Default | SpellByLetter | SpellByWord", "slotToElicit": string, "type": "Close | ConfirmIntent | Delegate | ElicitIntent | ElicitSlot" }

Die Felder werden im Folgenden beschrieben:

  • slotElicitationStyle— Legt fest, wie Amazon Lex V2 die vom Benutzer eingegebenen Audioeingaben interpretiert, falls der Wert type von dialogAction istElicitSlot. Weitere Informationen finden Sie unter Erfassung von Slot-Werten mit Rechtschreibstilen. Die folgenden Werte sind möglich:

    Default— Amazon Lex V2 interpretiert die Audioeingabe standardmäßig, um einen Slot zu füllen.

    SpellByLetter— Amazon Lex V2 wartet auf die Schreibweise des Slot-Werts durch den Benutzer.

    SpellByWord— Amazon Lex V2 überwacht die Schreibweise des Slot-Werts durch den Benutzer und verwendet dabei Wörter, die jedem Buchstaben zugeordnet sind (z. B. „a wie in Apple“).

  • slotToElicit— Definiert den Slot, der dem Benutzer abgefragt werden soll, ob der type Wert von ist. dialogAction ElicitSlot

  • type — Definiert die Aktion, die der Bot ausführen soll. Die folgenden Werte sind möglich:

    Delegate— Lässt Amazon Lex V2 den nächsten Schritt bestimmen.

    ElicitIntent— Fordert den Kunden auf, eine Absicht zu äußern.

    ConfirmIntent— Bestätigt die Slot-Werte des Kunden und ob die Absicht zur Erfüllung bereit ist.

    ElicitSlot— Fordert den Kunden auf, einen Slot-Wert für eine Absicht anzugeben.

    Close— Beendet den Prozess zur Erfüllung der Absicht.

Sehen Sie Absicht sich die Struktur des intent Feldes an.

Eine eindeutige Kennung für die Anfrage. Dieses Feld ist für die Lambda-Antwort optional.