Kontext der Absicht festlegen - 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.

Kontext der Absicht festlegen

Sie können Amazon Lex kontextabhängige Absichten auslösen lassen. Ein Kontext ist eine Zustandsvariable, die mit einer Absicht verknüpft werden kann, wenn Sie einen Bot definieren. Sie konfigurieren die Kontexte für eine Absicht, wenn Sie die Absicht mithilfe der Konsole oder mithilfe der CreateIntentOperation erstellen. Sie können den Kontext nur im englischen (US) (en-US) Gebietsschema verwenden.

Es gibt zwei Arten von Beziehungen für Kontexte, Ausgabekontexte und Eingabekontexte. Ein Ausgabekontext wird aktiv, wenn eine zugehörige Absicht erfüllt ist. In der Antwort des RecognizeTextRecognizeUtteranceOR-Vorgangs wird ein Ausgabekontext an Ihre Anwendung zurückgegeben und für die aktuelle Sitzung festgelegt. Nachdem ein Kontext aktiviert wurde, bleibt er für die Anzahl der Runden oder das Zeitlimit aktiv, das bei der Definition des Kontextes konfiguriert wurde.

Ein Eingabekontext spezifiziert Bedingungen, unter denen eine Absicht erkannt werden kann. Eine Absicht kann während einer Konversation nur erkannt werden, wenn alle zugehörigen Eingabekontexte aktiv sind. Eine Absicht ohne Eingabekontexte ist immer anerkennungswürdig.

Amazon Lex verwaltet automatisch den Lebenszyklus von Kontexten, die aktiviert werden, indem Absichten mit Ausgabekontexten erfüllt werden. Sie können in einem Aufruf der RecognizeUtterance Operation RecognizeText oder auch aktive Kontexte festlegen.

Sie können den Kontext einer Konversation auch mithilfe der Lambda-Funktion für die Absicht festlegen. Der Ausgabekontext von Amazon Lex wird an das Eingabeereignis der Lambda-Funktion gesendet. Die Lambda-Funktion kann in ihrer Antwort Kontexte senden. Weitere Informationen finden Sie unter Aktivierung benutzerdefinierter Logik mit AWS Lambda Funktionen.

Angenommen, Sie haben die Absicht, einen Mietwagen zu buchen, der so konfiguriert ist, dass er einen Ausgabekontext namens „book_car_filled“ zurückgibt. Wenn die Absicht erfüllt ist, legt Amazon Lex die Ausgabekontextvariable „book_car_filled“ fest. Da es sich bei „book_car_filled“ um einen aktiven Kontext handelt, wird eine Absicht, bei der der Kontext „book_car_filled“ als Eingabekontext festgelegt wurde, nun für die Erkennung berücksichtigt, sofern eine Benutzeräußerung als Versuch erkannt wird, diese Absicht hervorzurufen. Sie können dies für Zwecke verwenden, die erst nach der Buchung eines Autos Sinn machen, z. B. um eine Quittung per E-Mail zu senden oder eine Reservierung zu ändern.

Ausgabekontext

Amazon Lex aktiviert die Ausgabekontexte einer Absicht, wenn die Absicht erfüllt ist. Sie können den Ausgabekontext verwenden, um zu kontrollieren, welche Absichten in Frage kommen, um der aktuellen Absicht nachzugehen.

Jeder Kontext hat eine Liste von Parametern, die in der Sitzung verwaltet werden. Die Parameter sind die Slot-Werte für die erfüllte Absicht. Sie können diese Parameter verwenden, um Slot-Werte für andere Zwecke vorab auszufüllen. Weitere Informationen finden Sie unter Standardwerte für Steckplätze verwenden.

Sie konfigurieren den Ausgabekontext, wenn Sie eine Absicht mit der Konsole oder mit der CreateIntentOperation erstellen. Sie können eine Absicht mit mehr als einem Ausgabekontext konfigurieren. Wenn die Absicht erfüllt ist, werden alle Ausgabekontexte aktiviert und in der RecognizeTextRecognizeUtteranceODER-Antwort zurückgegeben.

Wenn Sie einen Ausgabekontext definieren, definieren Sie auch dessen Lebensdauer, die Dauer oder Anzahl der Runden, in denen der Kontext in den Antworten von Amazon Lex enthalten ist. Eine Runde ist eine Anfrage aus Ihrer Bewerbung an Amazon Lex. Sobald die Anzahl der Runden oder die Zeit abgelaufen ist, ist der Kontext nicht mehr aktiv.

Ihre Anwendung kann den Ausgabekontext nach Bedarf verwenden. Ihre Anwendung kann den Ausgabekontext beispielsweise verwenden, um:

  • Ändern Sie das Verhalten der Anwendung je nach Kontext. Beispielsweise könnte ein Reiseantrag für den Kontext „book_car_filled“ eine andere Aktion als „rental_hotel_filled“ haben.

  • Geben Sie den Ausgabekontext als Eingabekontext für die nächste Äußerung an Amazon Lex zurück. Wenn Amazon Lex die Äußerung als Versuch anerkennt, eine Absicht hervorzurufen, verwendet es den Kontext, um die Absichten, die zurückgegeben werden können, auf solche mit dem angegebenen Kontext zu beschränken.

Eingabekontext

Sie legen einen Eingabekontext fest, um die Punkte in der Konversation einzuschränken, an denen die Absicht erkannt wird. Absichten ohne Eingabekontext können immer erkannt werden.

Sie legen die Eingabekontexte fest, auf die ein Intent reagiert, indem Sie die Konsole oder die CreateIntent Operation verwenden. Eine Absicht kann mehr als einen Eingabekontext haben.

Bei einer Absicht mit mehr als einem Eingabekontext müssen alle Kontexte aktiv sein, um die Absicht auszulösen. Sie können einen Eingabekontext festlegen, wenn Sie die PutSessionOperation RecognizeText, RecognizeUtterance, oder aufrufen.

Sie können die Slots so konfigurieren, dass sie Standardwerte aus dem aktuellen aktiven Kontext übernehmen. Standardwerte werden verwendet, wenn Amazon Lex eine neue Absicht erkennt, aber keinen Slot-Wert erhält. Sie geben den Kontextnamen und den Steckplatznamen im Formular an#context-name.parameter-name, wenn Sie den Slot definieren. Weitere Informationen finden Sie unter Standardwerte für Steckplätze verwenden.