

Hinweis zum Ende des Supports: Am 15. September 2025 AWS wird der Support für Amazon Lex V1 eingestellt. Nach dem 15. September 2025 können Sie nicht mehr auf die Amazon-Lex-V1-Konsole oder die Amazon-Lex-V1-Ressourcen zugreifen. Wenn Sie Amazon Lex V2 verwenden, lesen Sie stattdessen das [Amazon Lex V2-Handbuch](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html). 

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.

# Amazon Lex: So funktioniert's
<a name="how-it-works"></a>

Mit Amazon Lex können Sie Anwendungen mithilfe einer Sprach- oder Textoberfläche erstellen, die auf derselben Technologie basiert wie Amazon Alexa. Im Folgenden sind die typischen Schritte aufgeführt, die Sie bei der Arbeit mit Amazon Lex ausführen:

1. Erstellen Sie einen Bot und konfigurieren Sie diesen mit einer oder mehreren Absichten, die Sie unterstützen möchten. Konfigurieren Sie den Bot so, dass er das Ziel (die Absicht) des Benutzers versteht, mit dem Benutzer kommuniziert, um Informationen zu erhalten, und die Absicht des Benutzers erfüllt.

1. Testen Sie den Bot. Sie können den Testfenster-Client verwenden, der von der Amazon Lex-Konsole bereitgestellt wird.

1. Veröffentlichen Sie eine Version und erstellen Sie einen Alias.

1. Stellen Sie den Bot bereit. Sie können den Bot auf Plattformen wie mobilen Anwendungen oder Messaging-Plattformen wie Facebook Messenger bereitstellen. 

Bevor Sie beginnen, sollten Sie sich mit den folgenden Kernkonzepten und der Terminologie von Amazon Lex vertraut machen:
+ **Bot** — Ein Bot führt automatisierte Aufgaben wie die Bestellung einer Pizza, die Buchung eines Hotels, die Bestellung von Blumen usw. aus. Ein Amazon Lex Lex-Bot wird durch automatische Spracherkennung (ASR) und Natural Language Understanding (NLU) unterstützt. Jeder Bot muss in Ihrem Konto einen eindeutigen Namen haben.

   

  Amazon Lex Lex-Bots können Benutzereingaben verstehen, die mit Text oder Sprache bereitgestellt werden, und sich in natürlicher Sprache unterhalten. Sie können Lambda-Funktionen erstellen und sie als Code-Hooks zu Ihrer Intent-Konfiguration hinzufügen, um Aufgaben zur Überprüfung und Erfüllung von Benutzerdaten durchzuführen. 

   
+ **Absicht** — Eine Absicht steht für eine Aktion, die der Benutzer ausführen möchte. Sie erstellen einen Bot, um eine oder mehrere Absichten zu unterstützen. Beispiel: Sie möchten einen Bot erstellen, der Pizza und Getränke bestellt. Für jede Absicht geben Sie die folgenden erforderlichen Informationen ein: 

   
  + **Name der Absicht** — Ein beschreibender Name für die Absicht. Beispiel, **OrderPizza**. Die Namen der Absichten müssen in Ihrem Konto eindeutig sein.
  + **Beispieläußerungen** — Wie ein Nutzer die Absicht vermitteln könnte. Ein Benutzer könnte zum Beispiel sagen: „Kann ich bitte eine Pizza bestellen?“ oder „Ich möchte eine Pizza bestellen.“ 
  + **So erfüllen Sie die Absicht** — Wie Sie die Absicht erfüllen möchten, nachdem der Nutzer die erforderlichen Informationen angegeben hat (z. B. eine Bestellung bei einer Pizzeria vor Ort aufgeben). Wir empfehlen, dass Sie eine Lambda-Funktion erstellen, um die Absicht zu erfüllen.

     

     Sie können die Absicht optional so konfigurieren, dass Amazon Lex die Informationen einfach an die Client-Anwendung zurücksendet, um die erforderliche Erfüllung durchzuführen. 

     

  Neben benutzerdefinierten Intents wie der Bestellung einer Pizza bietet Amazon Lex auch integrierte Intents, mit denen Sie Ihren Bot schnell einrichten können. Weitere Informationen finden Sie unter [Integrierte Absichten und Slot-Typen](howitworks-builtins.md). 

   
+ **Slot** — Eine Absicht kann null oder mehr Slots oder Parameter erfordern. Sie fügen Slots als Teil der Konfiguration einer Absicht hinzu. Zur Laufzeit fordert Amazon Lex den Benutzer zur Eingabe bestimmter Slot-Werte auf. Der Benutzer muss Werte für alle *erforderlichen* Slots angeben, bevor Amazon Lex die Absicht erfüllen kann.

   

  So erfordert die Absicht `OrderPizza` Slots wie Größe der Pizza, Art der Kruste und Anzahl der Pizzen. Bei der Konfiguration der Absicht fügen Sie diese Slots hinzu. Für jeden Slot geben Sie den Slot-Typ und eine Aufforderung an, die Amazon Lex an den Client senden soll, um Daten vom Benutzer abzurufen. Ein Benutzer kann mit einem Slot-Wert antworten, der zusätzliche Wörter wie „große Pizza bitte“ oder „Bleiben wir bei klein“ enthält. Amazon Lex kann den beabsichtigten Slot-Wert immer noch verstehen. 

   
+ **Steckplatztyp** — Jeder Steckplatz hat einen Typ. Sie können benutzerdefinierte Slot-Typen erstellen oder integrierte Slot-Typen verwenden. Jeder Slot-Typ muss in Ihrem Konto einen eindeutigen Namen haben. Beispiel: Sie möchten die folgenden Slot-Typen für die Absicht `OrderPizza` erstellen und verwenden:

   
  + Größe - Mit Aufzählungsswerten `Small``Medium`, und `Large`.
  + Kruste - Mit Aufzählungswerten `Thick` und `Thin`.

   

  

  Amazon Lex bietet auch integrierte Steckplatztypen. `AMAZON.NUMBER` ist beispielsweise ein integrierter Slot-Typ, den Sie für die Anzahl bestellter Pizzas verwenden können. Weitere Informationen finden Sie unter [Integrierte Absichten und Slot-Typen](howitworks-builtins.md).

Eine Liste der AWS-Regionen, in denen Amazon Lex verfügbar ist, finden Sie unter [AWS-Regionen und Endpunkte](https://docs.aws.amazon.com/general/latest/gr/rande.html#lex_region) in der *Amazon Web Services General Reference.*

In den folgenden Themen finden Sie zusätzliche Informationen. Wir empfehlen, dass Sie diese nacheinander lesen und dann mit den [Erste Schritte mit Amazon Lex](getting-started.md)-Übungen fortfahren.

**Topics**
+ [In Amazon Lex unterstützte Sprachen](how-it-works-language.md)
+ [Programmiermodell](programming-model.md)
+ [Verwalten von Mitteilungen](howitworks-manage-prompts.md)
+ [Verwaltung von Konversation-Kontext](context-mgmt.md)
+ [Verwendung von Konfidenzwerten](confidence-scores.md)
+ [Konversationsprotokolle](conversation-logs.md)
+ [Verwaltung von Sitzungen mit der Amazon Lex API](how-session-api.md)
+ [Bot-Bereitstellungsoptionen](chatbot-service.md)
+ [Integrierte Absichten und Slot-Typen](howitworks-builtins.md)
+ [Benutzerdefinierte Slot-Typen](howitworks-custom-slots.md)
+ [Slot-Verschleierung](how-obfuscate.md)
+ [Stimmungsanalyse](sentiment-analysis.md)
+ [Kennzeichnen Ihrer Amazon Lex Lex-Ressourcen](how-it-works-tags.md)

# In Amazon Lex unterstützte Sprachen
<a name="how-it-works-language"></a>

Amazon Lex V1 unterstützt eine Vielzahl von Sprachen und Gebietsschemas. Die unterstützten Sprachen und die Funktionen, die sie unterstützen, sind in den folgenden Tabellen aufgeführt. 

Amazon Lex V2 unterstützt weitere Sprachen, siehe [Unterstützte Sprachen in Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html)

<a name="topiclist"></a>

## Unterstützte Sprachen und Gebietsschemas
<a name="supported-languages-and-locales"></a>

Amazon Lex V1 unterstützt die folgenden Sprachen und Gebietsschemas.


| Code | Sprache und Gebietsschema | 
| --- | --- | 
| de-DE | Deutsch (Deutsch) | 
| en-AU | Englisch (Australien) | 
| en-GB | Englisch (UK) | 
| en-IN | Englisch (Indien) | 
| en-US | Englisch (USA) | 
| es-419 | Spanisch (Lateinamerika) | 
| es-ES | Spanisch (Spanien) | 
| es-US | Spanisch (USA) | 
| fr-CA | Französisch (Kanada) | 
| fr-FR | Französisch (Frankreich) | 
| it-IT | Italienisch (Italien) | 
| ja-JP | Japanisch (Japan) | 
| ko-KR | Koreanisch (Korea) | 

## Sprachen und Gebietsschemas, die von Amazon Lex Features unterstützt werden
<a name="supported-languages-features"></a>

Alle Amazon Lex Lex-Funktionen werden in allen Sprachen und Gebietsschemas unterstützt, mit Ausnahme der in dieser Tabelle aufgeführten.


| Feature | Unterstützte Sprachen und Gebietsschemas | 
| --- | --- | 
| [Den Absichtskontext festlegen](context-mgmt-active-context.md) | Englisch (amerikanisch) (en-US) | 

# Programmiermodell
<a name="programming-model"></a>

Ein *Bot* ist der primäre Ressourcentyp in Amazon Lex. Die anderen Ressourcentypen in Amazon Lex sind *Intent*, *Slot-Typ*, *Alias* und *Bot-Channel-Assoziation*. 

Sie erstellen einen Bot mithilfe der Amazon Lex Lex-Konsole oder der Modelbuilding-API. Die Konsole besitzt eine grafische Benutzeroberfläche, die Sie zum Erstellen eines betriebsfähigen Bots für Ihre Anwendung verwenden können. Wenn Sie möchten, können Sie die Modelbuilding-API über das AWS CLI oder Ihr eigenes benutzerdefiniertes Programm verwenden, um einen Bot zu erstellen. 

Nach dem Erstellen eines Bots stellen Sie ihn auf einer der [unterstützten Plattformen](https://docs.aws.amazon.com/lex/latest/dg/chatbot-service.html) bereit oder integrieren ihn in die eigene Anwendung. Wenn ein Benutzer mit dem Bot interagiert, sendet die Client-Anwendung mithilfe der Amazon Lex Runtime-API Anfragen an den Bot. Wenn ein Benutzer beispielsweise sagt „Ich möchte Pizza bestellen“, sendet Ihr Kunde diese Eingabe mithilfe einer der Runtime-API-Operationen an Amazon Lex. Benutzer können Eingaben in Form von Sprache oder Text bereitstellen. 

Sie können auch Lambda-Funktionen erstellen und sie in einer Absicht verwenden. Verwenden Sie diese Lambda-Funktionscode-Hooks, um Laufzeitaktivitäten wie Initialisierung, Validierung von Benutzereingaben und Erfüllung von Absichten durchzuführen. In den folgenden Abschnitten finden Sie zusätzliche Informationen.

**Topics**
+ [Operationen der Modellerstellung-API](#programming-model-build-time-api)
+ [Laufzeit-API-Operationen](#programming-model-runtime-api)
+ [Lambda-Funktionen als Code-Hooks](#prog-model-lambda)

## Operationen der Modellerstellung-API
<a name="programming-model-build-time-api"></a>

Verwenden Sie die Operationen der Modellerstellung-API, um Bots, Absichten und Slot-Typen zu erstellen. Sie können die Modellerstellung-API auch zum Verwalten, Aktualisieren und Löschen von Ressourcen für den Bot verwenden. Operationen der Modellerstellung-API:
+ [PutBot](API_PutBot.md), [PutBotAlias](API_PutBotAlias.md), [PutIntent](API_PutIntent.md) und [PutSlotType](API_PutSlotType.md) zum Erstellen und Aktualisieren von Bots, Bot-Aliassen, Absichten und Slot-Typen.
+ [CreateBotVersion](API_CreateBotVersion.md), [CreateIntentVersion](API_CreateIntentVersion.md) und [CreateSlotTypeVersion](API_CreateSlotTypeVersion.md) zum Erstellen und Veröffentlichen von Versionen der Bots, Absichten und Slot-Typen.
+ [GetBot](API_GetBot.md) und [GetBots](API_GetBots.md), um einen bestimmten Bot oder eine Liste von Bots abzurufen, den bzw. die Sie erstellt haben.
+ [GetIntent](API_GetIntent.md) und [GetIntents](API_GetIntents.md), um eine bestimmte Absicht oder eine Liste von Absichten abzurufen, die Sie erstellt haben.
+ [GetSlotType](API_GetSlotType.md) und [GetSlotTypes](API_GetSlotTypes.md), um einen bestimmten Slot-Typ oder eine Liste von Slot-Typen abzurufen, den bzw. die Sie erstellt haben.
+ [GetBuiltinIntent](API_GetBuiltinIntent.md)[GetBuiltinIntents](API_GetBuiltinIntents.md), und [GetBuiltinSlotTypes](API_GetBuiltinSlotTypes.md) um einen integrierten Amazon Lex-Intent zu erhalten, eine Liste der integrierten Amazon Lex Lex-Intents bzw. eine Liste der integrierten Slot-Typen, die Sie in Ihrem Bot verwenden können.
+ [GetBotChannelAssociation](API_GetBotChannelAssociation.md) und [GetBotChannelAssociations](API_GetBotChannelAssociations.md) zum Abrufen einer Zuordnung zwischen dem Bot und einer Messaging-Plattform oder einer Liste der Zuordnungen zwischen dem Bot und den Messaging-Plattformen.
+ [DeleteBot](API_DeleteBot.md), [DeleteBotAlias](API_DeleteBotAlias.md), [DeleteBotChannelAssociation](API_DeleteBotChannelAssociation.md), [DeleteIntent](API_DeleteIntent.md) und [DeleteSlotType](API_DeleteSlotType.md), um nicht benötigte Ressourcen aus dem Konto zu entfernen.

Sie können die Modelbuilding-API verwenden, um benutzerdefinierte Tools zur Verwaltung Ihrer Amazon Lex-Ressourcen zu erstellen. Es gilt beispielsweise ein Limit von jeweils 100 Versionen für Bots, Absichten und Slot-Typen. Sie können die Modellerstellung-API verwenden, um ein Tool zu entwickeln, das automatisch alte Versionen löscht, wenn ein Bot sich diesem Limit nähert.

Um sicherzustellen, dass jeweils nur ein Vorgang eine Ressource aktualisiert, verwendet Amazon Lex Prüfsummen. Wenn Sie eine `Put` API-Operation —[PutBot](API_PutBot.md), oder [PutSlotType](API_PutSlotType.md) — verwenden [PutBotAlias](API_PutBotAlias.md)[PutIntent](API_PutIntent.md), um eine Ressource zu aktualisieren, müssen Sie die aktuelle Prüfsumme der Ressource in der Anfrage übergeben. Wenn zwei Tools gleichzeitig versuchen, eine Ressource zu aktualisieren, übergeben beide dieselbe aktuelle Prüfsumme. Die erste Anfrage, Amazon Lex zu erreichen, entspricht der aktuellen Prüfsumme der Ressource. Bis die zweite Anforderung ankommt, hat sich die Prüfsumme geändert. Das zweite Tool empfängt eine `PreconditionFailedException`-Ausnahme und die Aktualisierung wird beendet.

Die `Get` Operationen — [GetBot](API_GetBot.md)[GetIntent](API_GetIntent.md), und [GetSlotType](API_GetSlotType.md) — sind letztlich konsistent. Wenn Sie eine `Get`-Operation unmittelbar nach dem Erstellen oder Ändern einer Ressource mit einer der `Put`-Operationen verwenden, werden die Änderungen möglicherweise nicht zurückgegeben. Nachdem eine `Get`-Operation die letzte Aktualisierung zurückgegeben hat, wird immer die aktualisierte Ressource zurückgegeben, bis diese erneut geändert wird. Sie können bestimmen, ob eine aktualisierte Ressource zurückgegeben wurde, indem Sie die Prüfsumme heranziehen.

## Laufzeit-API-Operationen
<a name="programming-model-runtime-api"></a>

 Client-Anwendungen verwenden die folgenden Runtime-API-Operationen, um mit Amazon Lex zu kommunizieren: 
+ [PostContent](API_runtime_PostContent.md)— Nimmt Sprach- oder Texteingaben entgegen und gibt Informationen zur Absicht sowie eine Text- oder Sprachnachricht zurück, die dem Benutzer übermittelt werden sollen. Derzeit unterstützt Amazon Lex die folgenden Audioformate:

   

  Eingabeaudioformate: LPCM und Opus 

  Ausgabeaudioformate: MPEG, OGG und PCM

   

  Die Operation `PostContent` unterstützt Audioeingaben bei 8 kHz und 16 kHz. Anwendungen, bei denen der Endbenutzer über das Telefon mit Amazon Lex spricht, wie z. B. ein automatisiertes Call Center, können 8-kHz-Audio direkt weiterleiten. 

   
+ [PostText](API_runtime_PostText.md): Nimmt Text als Eingabe entgegen und gibt Absichtsdaten und eine Textmitteilung für den Benutzer zurück.

Ihre Client-Anwendung verwendet die Runtime-API, um einen bestimmten Amazon Lex Lex-Bot aufzurufen, der Äußerungen verarbeitet — Benutzertext oder Spracheingabe. Nehmen wir zum Beispiel an, dass ein Benutzer sagt: "Ich möchte Pizza." Der Client sendet diese Benutzereingabe mithilfe einer der Amazon Lex Runtime-API-Operationen an einen Bot. Anhand der Benutzereingabe erkennt Amazon Lex, dass es sich bei der Benutzeranfrage um die im Bot definierte `OrderPizza` Absicht handelt. Amazon Lex verwickelt den Benutzer in eine Konversation, um die erforderlichen Informationen oder Slot-Daten wie Pizzagröße, Beläge und Anzahl der Pizzen zu sammeln. Nachdem der Benutzer alle erforderlichen Slot-Daten bereitgestellt hat, ruft Amazon Lex entweder den Lambda-Funktionscode-Hook auf, um die Absicht zu erfüllen, oder gibt die Absichtsdaten an den Client zurück, je nachdem, wie die Absicht konfiguriert ist.

Verwenden Sie die Operation [PostContent](API_runtime_PostContent.md), wenn der Bot Spracheingaben verwendet. Beispielsweise kann eine automatisierte Callcenter-Anwendung Sprache an einen Amazon Lex Lex-Bot statt an einen Agenten senden, um Kundenanfragen zu beantworten. Sie können das 8-kHz-Audioformat verwenden, um Audio direkt vom Telefon an Amazon Lex zu senden.

Das Testfenster in der Amazon Lex-Konsole verwendet die [PostContent](API_runtime_PostContent.md) API, um Text- und Sprachanfragen an Amazon Lex zu senden. Sie verwenden dieses Testfenster in den [Erste Schritte mit Amazon Lex](getting-started.md)-Übungen.

## Lambda-Funktionen als Code-Hooks
<a name="prog-model-lambda"></a>

Sie können Ihren Amazon Lex Lex-Bot so konfigurieren, dass er eine Lambda-Funktion als Code-Hook aufruft. Der Code-Haken kann mehrere Aufgaben haben:
+ Passt die Benutzerinteraktion an — wenn Joe beispielsweise nach verfügbaren Pizzabelägen fragt, können Sie Vorkenntnisse über Joes Auswahl nutzen, um eine Teilmenge der Beläge anzuzeigen.
+ Überprüft die Benutzereingabe. Nehmen wir an, Jen möchte nach Geschäftsschluss Blumen abholen. Sie können die Zeit überprüfen, die Lena angegeben hat, und eine entsprechende Antwort senden.
+ Erfüllt die Absicht des Benutzers — Nachdem Joe alle Informationen für seine Pizzabestellung bereitgestellt hat, kann Amazon Lex eine Lambda-Funktion aufrufen, um die Bestellung bei einer lokalen Pizzeria aufzugeben.

Wenn Sie eine Absicht konfigurieren, geben Sie Lambda-Funktionen an den folgenden Stellen als Code-Hooks an: 
+ Dialog-Code-Hook für Initialisierung und Validierung — Diese Lambda-Funktion wird bei jeder Benutzereingabe aufgerufen, vorausgesetzt, Amazon Lex hat die Benutzerabsicht verstanden.
+ Fulfillment Code Hook — Diese Lambda-Funktion wird aufgerufen, nachdem der Benutzer alle Slot-Daten bereitgestellt hat, die zur Erfüllung der Absicht erforderlich sind.

Sie wählen die Absicht und legen die Code-Hooks in der Amazon Lex-Konsole fest, wie im folgenden Screenshot gezeigt:

![\[Die Amazon Lex Lex-Konsole zeigt Lambda-Funktionscode-Hooks.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/how-works-10.png)


Sie können die Code-Haken auch mit den Feldern `dialogCodeHook` und `fulfillmentActivity` in der Operation [PutIntent](API_PutIntent.md) festlegen.

Eine Lambda-Funktion kann die Initialisierung, Validierung und Ausführung durchführen. Die Ereignisdaten, die die Lambda-Funktion empfängt, enthalten ein Feld, das den Anrufer entweder als Dialog- oder Fulfillment-Code-Hook identifiziert. Sie können diese Informationen verwenden, um den entsprechenden Teil Ihres Codes auszuführen.

Sie können eine Lambda-Funktion verwenden, um einen Bot zu erstellen, der in komplexen Dialogen navigieren kann. Sie verwenden das `dialogAction` Feld in der Antwort der Lambda-Funktion, um Amazon Lex anzuweisen, bestimmte Aktionen zu ergreifen. Beispielsweise können Sie die `ElicitSlot` Dialogaktion verwenden, um Amazon Lex anzuweisen, den Benutzer nach einem Slot-Wert zu fragen, der nicht erforderlich ist. Wenn Sie eine Klärungsaufforderung definiert haben, können Sie die Dialogaktion `ElicitIntent` verwenden, um eine neue Absicht zu erfragen, wenn der Benutzer mit der vorherigen Absicht fertig ist.

Weitere Informationen finden Sie unter [Verwendung von Lambda-Funktionen](using-lambda.md).

# Verwalten von Mitteilungen
<a name="howitworks-manage-prompts"></a>

**Topics**
+ [Mitteilungstypen](#msg-prompts-msg-types)
+ [Kontexte zum Konfigurieren von Mitteilungen](#msg-prompts-context-for-msgs)
+ [Unterstützte Mitteilungsformate](#msg-prompts-formats)
+ [Mitteilungsgruppen](#message-groups)
+ [Antwort-Karten](#msg-prompts-resp-card)

Wenn Sie einen Bot erstellen, können Sie erklärende oder Informationsmitteilungen konfigurieren, die dieser an den Client senden soll. Betrachten Sie die folgenden Beispiele:
+ Sie könnten den Bot mit der folgenden Eingabeaufforderung zur Klärung des Sachverhalts konfigurieren: 

  ```
  I don't understand. What would you like to do?
  ```

  Amazon Lex sendet diese Nachricht an den Kunden, wenn er die Absicht des Benutzers nicht versteht. 

   
+ Nehmen wir an, dass Sie einen Bot erstellen, um die Absicht `OrderPizza` zu unterstützen. Für die Bestellung einer Pizza möchten Sie, dass Benutzer weitere Informationen eingeben, zum Beispiel zur Größe der Pizza, zu Belägen und zum Krustentyp. Sie könnten die folgenden Eingabeaufforderungen konfigurieren:

  ```
  What size pizza do you want?
  What toppings do you want?
  Do you want thick or thin crust?
  ```

  Nachdem Amazon Lex die Absicht des Benutzers festgestellt hat, Pizza zu bestellen, sendet Amazon Lex diese Nachrichten an den Kunden, um Informationen vom Benutzer zu erhalten.

Dieser Abschnitt erklärt das Entwerfen von Benutzerinteraktionen in Ihrer Bot-Konfiguration. 

## Mitteilungstypen
<a name="msg-prompts-msg-types"></a>

Bei einer Mitteilung kann es sich um eine Eingabeaufforderung oder eine Anweisung handeln.
+ Eine *Eingabeaufforderung* ist in der Regel eine Frage und erwartet eine Antwort des Benutzers. 
+ Eine *Anweisung* dient zu Informationszwecken. Eine Antwort des Benutzers wird nicht erwartet.

Eine Mitteilung kann Verweise auf Slot, Sitzungsattribute und Anforderungsattribute enthalten. Zur Laufzeit ersetzt Amazon Lex diese Verweise durch tatsächliche Werte. 

Verwenden Sie die folgende Syntax, um auf festgelegte Slot-Werte zu verweisen:

```
{SlotName} 
```

Verwenden Sie die folgende Syntax, um auf Sitzungsattribute zu verweisen:

```
[SessionAttributeName] 
```

Verwenden Sie die folgende Syntax, um auf Anforderungsattribute zu verweisen:

```
((RequestAttributeName)) 
```

Mitteilungen können Slot-Werte, Sitzungsattribute und Anforderungsattribute enthalten. 

Nehmen wir zum Beispiel an, dass Sie die folgende Nachricht in der OrderPizza Absicht Ihres Bots konfigurieren:

```
"Hey [FirstName], your {PizzaTopping} pizza will arrive in [DeliveryTime] minutes." 
```

Diese Mitteilung bezieht sich sowohl auf Slot-Werte (`PizzaTopping`) als auch auf Sitzungsattribute (`FirstName` und `DeliveryTime`). Zur Laufzeit ersetzt Amazon Lex diese Platzhalter durch Werte und gibt die folgende Meldung an den Client zurück:

```
"Hey John, your cheese pizza will arrive in 30 minutes." 
```

Um eckige ([]) oder geschweifte Klammern (\$1\$1) in eine Mitteilung einzufügen, verwenden Sie den umgekehrten Schrägstrich (\$1). Die folgende Mitteilung enthält beispielsweise geschweifte und eckige Klammern: 

```
\{Text\} \[Text\]
```

Der an den Client zurückgegebene Text sieht wie folgt aus:

```
{Text} [Text]
```

Weitere Informationen zu Sitzungsattributen enthalten die Beschreibungen der Laufzeit-API-Operationen [PostText](API_runtime_PostText.md) und [PostContent](API_runtime_PostContent.md). Ein Beispiel finden Sie unter [Reise buchen](ex-book-trip.md). 

Lambda-Funktionen können auch Nachrichten generieren und sie an Amazon Lex zurücksenden, um sie an den Benutzer zu senden. Wenn Sie bei der Konfiguration Ihrer Absicht Lambda-Funktionen hinzufügen, können Sie Nachrichten dynamisch erstellen. Indem Sie die Nachrichten bei der Konfiguration Ihres Bots angeben, müssen Sie in Ihrer Lambda-Funktion keine Eingabeaufforderung erstellen.

## Kontexte zum Konfigurieren von Mitteilungen
<a name="msg-prompts-context-for-msgs"></a>

Wenn Sie Ihren Bot erstellen, können Sie Nachrichten in verschiedenen Kontexten erstellen, z. B. Klarstellungsaufforderungen im Bot, Aufforderungen zur Angabe von Slot-Werten und Nachrichten aus Absichten. Amazon Lex wählt in jedem Kontext eine passende Nachricht aus, die an Ihren Benutzer zurückgesendet wird. Sie können eine Gruppe von Mitteilungen für jeden Kontext bereitstellen. Wenn Sie dies tun, wählt Amazon Lex nach dem Zufallsprinzip eine Nachricht aus der Gruppe aus. Sie können auch das Format der Mitteilung angeben oder die Mitteilungen zusammen gruppieren. Weitere Informationen finden Sie unter [Unterstützte Mitteilungsformate](#msg-prompts-formats).

Wenn Sie eine Lambda-Funktion mit einer Absicht verknüpft haben, können Sie jede der Nachrichten überschreiben, die Sie zur Build-Zeit konfiguriert haben. Eine Lambda-Funktion ist jedoch nicht erforderlich, um eine dieser Nachrichten zu verwenden.

### Bot-Mitteilungen
<a name="msg-prompts-bot"></a>

Sie können Ihren Bot mit Hinweisen zur Klärung und Meldungen zum Ende der Sitzung konfigurieren. Zur Laufzeit verwendet Amazon Lex die Klarstellungsaufforderung, ** wenn es die Absicht des Benutzers nicht versteht. Sie können konfigurieren, wie oft Amazon Lex eine Klarstellung anfordert, bevor die Nachricht zum Sitzungsende gesendet wird. Sie konfigurieren Meldungen auf Bot-Ebene im Bereich **Fehlerbehandlung** der Amazon Lex-Konsole, wie in der folgenden Abbildung dargestellt:

![\[Abschnitt zur Fehlerbehandlung auf der Registerkarte „Editor“ der Konsole. Es können Klarstellungsaufforderungen und eine Phrase zum Aufhören angegeben werden.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/how-works-20.png)


Mit der API konfigurieren Sie Mitteilungen, indem Sie die Felder `clarificationPrompt` und `abortStatement` in der Operation [PutBot](API_PutBot.md) festlegen.

Wenn Sie eine Lambda-Funktion mit einer Absicht verwenden, gibt die Lambda-Funktion möglicherweise eine Antwort zurück, in der Amazon Lex angewiesen wird, nach der Absicht eines Benutzers zu fragen. Wenn die Lambda-Funktion keine solche Meldung bereitstellt, verwendet Amazon Lex die Klarstellungsaufforderung.

### Slot-Eingabeaufforderungen
<a name="msg-prompts-slots"></a>

Geben Sie mindestens eine Aufforderungsmitteilung für jeden der erforderlichen Slots in einer Absicht an. Zur Laufzeit verwendet Amazon Lex eine dieser Nachrichten, um den Benutzer aufzufordern, einen Wert für den Slot anzugeben. Beispielsweise für einen `cityName` Slot ist die folgende Aufforderung gültig: 

```
Which city would you like to fly to?
```

Sie können eine oder mehrere Eingabeaufforderungen für jeden Slot mithilfe der Konsole einrichten. Mit der Operation [PutIntent](API_PutIntent.md) können Sie auch Gruppen von Eingabeaufforderungen erstellen. Weitere Informationen finden Sie unter [Mitteilungsgruppen](#message-groups).

### Antworten
<a name="msg-prompts-response"></a>

Verwenden Sie den Abschnitt **Responses (Antworten)** in der Konsole, um dynamische Unterhaltungen für Ihren Bot zu erstellen. Sie können eine oder mehrere Mitteilungsgruppen für eine Antwort erstellen. Zur Laufzeit erstellt Amazon Lex eine Antwort, indem es eine Nachricht aus jeder Nachrichtengruppe auswählt. Weitere Informationen zu Mitteilungsgruppen finden Sie unter [Mitteilungsgruppen](#message-groups). 

Ihre erste Mitteilungsgruppe könnte beispielsweise unterschiedliche Grußformeln enthalten: „Hallo”, „Guten Tag” und „Grüße”. Die zweite Mitteilungsgruppe könnte verschiedene Einführungen enthalten: „Ich bin der Reservierungs-Bot” und „Dies ist der Reservierungs-Bot.” Eine dritte Mitteilungsgruppe könnte die Fähigkeiten des Bots beschreiben: „Ich helfe Ihnen bei Reservierungen von Mietwagen und Hotelzimmern”, „Sie können Mietwagen reservieren und Hotelbuchungen vornehmen” und „Ich kann Ihnen dabei helfen, ein Auto zu mieten und ein Hotelzimmer zu buchen.”

Lex verwendet eine Mitteilung aus jeder Mitteilungsgruppe, um die Antworten in einem Gespräch dynamisch zu erstellen. Eine Interaktion könnte beispielsweise die folgende sein:

![\[Eine mögliche Konversation mit einem Bot.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/default-response-10b.png)


Ein anderer könnte der folgende sein:

![\[Eine weitere mögliche Konversation mit einem Bot.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/default-response-20c.png)


In beiden Fällen kann der Benutzer mit einer neuen Absicht antworten, wie beispielsweise der Absicht `BookCar` oder `BookHotel`.

Sie können den Bot so einrichten, dass er als Antwort eine Folgefrage stellt. Für die vorausgehende Interaktion könnten Sie beispielsweise eine vierte Mitteilungsgruppe mit den folgenden Fragen erstellen: „Kann ich Ihnen helfen, ein Auto oder ein Hotelzimmer zu reservieren?”, „Möchten Sie jetzt eine Reservierung vornehmen?” und „Gibt es etwas, das ich für Sie tun kann?” Für Nachrichten, die „Nein” als Antwort enthalten, können Sie eine Folge-Eingabeaufforderung erstellen. Das folgende Bild zeigt ein Beispiel:

![\[Aufforderung zur Weiterverfolgung einer Konversation mit einem Bot.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/default-response-25a.png)


Um eine Folge-Eingabeaufforderung zu erstellen, wählen Sie **Wait for user reply** (Auf Antwort des Benutzers warten). Geben Sie dann die Nachricht oder die Nachrichten ein, die Sie senden möchten, wenn der Benutzer „Nein” sagt. Wenn Sie eine Antwort erstellen, die als Folge-Eingabeaufforderung verwendet werden soll, müssen Sie auch eine geeignete Aussage für den Fall festlegen, dass die Antwort auf die Aussage „Nein” lautet. Die folgenden Bilder dienen als Beispiel:

![\[Nachrichtenkonfiguration für den Fall, dass ein Benutzer „Nein“ sagt.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/default-response-30b.png)


Verwenden Sie die Operation `PutIntent`, um mit der API Antworten zu einer Absicht hinzuzufügen. Um eine Antwort festzulegen, richten Sie das Feld `conclusionStatement` in der Anfrage `PutIntent` ein. Um eine Folge-Eingabeaufforderung festzulegen, richten Sie das Feld `followUpPrompt` ein und fügen Sie die Aussage ein, die gesendet werden soll, wenn der Benutzer mit „Nein” antwortet. Sie können nicht das Feld `conclusionStatement` und das Feld `followUpPrompt` gleichzeitig für dieselbe Absicht einrichten.

## Unterstützte Mitteilungsformate
<a name="msg-prompts-formats"></a>

Wenn Sie die [PostText](API_runtime_PostText.md) Operation verwenden oder wenn Sie die [PostContent](API_runtime_PostContent.md) Operation mit eingestelltem `Accept` Header auf verwenden`text/plain;charset=utf8`, unterstützt Amazon Lex Nachrichten in den folgenden Formaten:
+ `PlainText`— Die Nachricht enthält einfachen UTF-8-Text.
+ `SSML`— Die Nachricht enthält Text, der für die Sprachausgabe formatiert ist.
+ `CustomPayload`— Die Nachricht enthält ein benutzerdefiniertes Format, das Sie für Ihren Kunden erstellt haben. Sie können die Nutzlast definieren, um den Anforderungen Ihrer Anwendung zu entsprechen.
+ `Composite`— Die Nachricht ist eine Sammlung von Nachrichten, eine aus jeder Nachrichtengruppe. Weitere Informationen zu Mitteilungsgruppen finden Sie unter [Mitteilungsgruppen](#message-groups).

Standardmäßig gibt Amazon Lex eine der für eine bestimmte Aufforderung definierten Nachrichten zurück. Wenn Sie beispielsweise fünf Nachrichten definieren, um einen Slot-Wert auszulösen, wählt Amazon Lex eine der Nachrichten nach dem Zufallsprinzip aus und gibt sie an den Client zurück.

Wenn Sie möchten, dass Amazon Lex in einer Laufzeitanforderung einen bestimmten Nachrichtentyp an den Client zurückgibt, legen Sie den `x-amzn-lex:accept-content-types` Anforderungsparameter fest. Die Antwort ist auf den angefragten Typ bzw. die angefragten Typen beschränkt. Wenn es mehr als eine Nachricht des angegebenen Typs gibt, gibt Amazon Lex eine nach dem Zufallsprinzip zurück. Weitere Informationen zum Header `x-amz-lex:accept-content-types` finden Sie unter [Einrichten des Antworttyps](context-mgmt-request-attribs.md#special-response).

## Mitteilungsgruppen
<a name="message-groups"></a>

Eine *Mitteilungsgruppe* ist eine Gruppe von geeigneten Antworten auf eine bestimmte Eingabeaufforderung. Verwenden Sie Nachrichtengruppen, wenn Sie möchten, dass Ihr Bot die Antworten in einer Konversation dynamisch erstellt. Wenn Amazon Lex eine Antwort an die Client-Anwendung zurückgibt, wählt es nach dem Zufallsprinzip eine Nachricht aus jeder Gruppe aus. Sie können maximal fünf Mitteilungsgruppen für jede Antwort erstellen. Jede Gruppe kann maximal fünf Mitteilungen enthalten. Informationen zum Erstellen von Mitteilungsgruppen in der Konsole finden Sie unter [Antworten](#msg-prompts-response).

Zum Erstellen einer Mitteilungsgruppe können Sie die Konsole verwenden oder Sie können die Operationen [PutBot](API_PutBot.md), [PutIntent](API_PutIntent.md) oder [PutSlotType](API_PutSlotType.md) verwenden, um einer Mitteilung eine Gruppennummer zuzuweisen. Wenn Sie keine Nachrichtengruppe oder nur eine Nachrichtengruppe erstellen, sendet Amazon Lex eine einzelne Nachricht in dem `Message` Feld. Client-Anwendungen erhalten nur dann mehrere Mitteilungen in einer Antwort, wenn Sie mehr als eine Mitteilungsgruppe in der Konsole erstellt haben oder wenn Sie beim Erstellen oder Aktualisieren einer Absicht mit der Operation [PutIntent](API_PutIntent.md) mehr als eine Mitteilungsgruppe erstellen, 

Wenn Amazon Lex eine Nachricht von einer Gruppe sendet, enthält das `Message` Feld der Antwort ein maskiertes JSON-Objekt, das die Nachrichten enthält. Das folgende Beispiel zeigt den Inhalt des Felds `Message`, wenn es mehrere Mitteilungen enthält.

**Anmerkung**  
Das Beispiel ist aus Gründen der Lesbarkeit formatiert. Eine Antwort enthält keine Zeilenumbrüche.

```
{\"messages\":[
   {\"type\":\"PlainText\",\"group\":0,\"value\":\"Plain text\"},
   {\"type\":\"SSML\",\"group\":1,\"value\":\"SSML text\"},
   {\"type\":\"CustomPayload\",\"group\":2,\"value\":\"Custom payload\"}
]}
```

Sie können das Format für die Mitteilungen festlegen. Dabei kann es sich um eines der folgenden Formate handeln:
+ PlainText— Die Nachricht ist in reinem UTF-8-Text.
+ SSML – Die Mitteilung wird in Speech Synthesis Markup Language (SSML) verfasst.
+ CustomPayload— Die Nachricht hat ein benutzerdefiniertes Format, das Sie angegeben haben.

Um das Format der Mitteilungen zu kontrollieren, das die Operationen `PostContent` und `PostText` im Feld `Message` zurückgeben, richten Sie das Anfrageattribut `x-amz-lex:accept-content-types` ein. Wenn Sie beispielsweise den Header auf die folgende Option festlegen, erhalten Sie nur Klartext- und SSML-Mitteilungen in der Antwort:

```
x-amz-lex:accept-content-types: PlainText,SSML
```

Wenn Sie ein bestimmtes Mitteilungsformat anfragen und eine Mitteilungsgruppe keine Mitteilung in diesem Format enthält, erhalten Sie die Ausnahme `NoUsableMessageException`. Wenn Sie eine Mitteilungsgruppe verwenden, um Mitteilungen nach Typ zu gruppieren, verwenden Sie nicht den Header `x-amz-lex:accept-content-types`.

Weitere Informationen zum Header `x-amz-lex:accept-content-types` finden Sie unter [Einrichten des Antworttyps](context-mgmt-request-attribs.md#special-response).

## Antwort-Karten
<a name="msg-prompts-resp-card"></a>

**Anmerkung**  
Antwortkarten funktionieren nicht mit dem Amazon Connect Connect-Chat. Ähnliche Funktionen finden [Sie jedoch unter Interaktive Nachrichten zum Chat hinzufügen](https://docs.aws.amazon.com/connect/latest/adminguide/interactive-messages.html).

Ein *Antwortkarte* enthält eine Reihe von geeigneten Reaktionen auf eine Eingabeaufforderung. Verwenden Sie Antwortkarten, um Interaktionen für die Benutzer zu vereinfachen und die Genauigkeit des Bots zu steigern, indem Rechtschreibfehler in Textinteraktionen reduziert werden. Sie können für jede Aufforderung, die Amazon Lex an Ihre Client-Anwendung sendet, eine Antwortkarte senden. Sie können Antwortkarten mit Facebook Messenger, Slack, Twilio und Ihren eigenen Client-Anwendungen verwenden.

In einer Taxianwendung können Sie beispielsweise in der Antwortkarte eine Option für "Home" konfigurieren und als Wert die Anschrift des Benutzers zuweisen. Wenn der Benutzer diese Option auswählt, erhält Amazon Lex die gesamte Adresse als Eingabetext. Sehen Sie sich das folgende Bild an:

![\[Beispiel-Antwortkarte.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/resp-console-5.png)


Sie können eine Antwortkarte für die folgenden Aufforderungen definieren:
+ Abschlussansage
+ Bestätigungsaufforderung
+ Follow-up-Aufforderung
+ Ablehnung
+ Slot-Typ-Äußerungen

Sie können für jede Aufforderung nur eine Antwortkarte definieren. 

Sie konfigurieren Antwortkarten, wenn Sie eine Absicht erstellen. Sie können mit der Konsole oder der Operation [PutIntent](API_PutIntent.md) zum Zeitpunkt der Erstellung eine statische Antwortkarte definieren. Oder Sie können eine dynamische Antwortkarte zur Laufzeit in einer Lambda-Funktion definieren. Wenn Sie statische und dynamische Antwortkarten definieren, haben die dynamischen Antwortkarten Vorrang. 

Amazon Lex sendet Antwortkarten in dem Format, das der Kunde versteht. Die Antwortkarten werden für Facebook Messenger, Slack und Twilio konvertiert. Für andere Kunden sendet Amazon Lex in der [PostText](API_runtime_PostText.md) Antwort eine JSON-Struktur. Wenn der Kunde beispielsweise Facebook Messenger ist, wandelt Amazon Lex die Antwortkarte in eine generische Vorlage um. Weitere Informationen zu generischen Facebook Messenger-Vorlagen erhalten Sie unter [Generic Template](https://developers.facebook.com/docs/messenger-platform/send-api-reference/generic-template) auf der Facebook-Website. Ein Beispiel für die JSON-Struktur erhalten Sie unter [Dynamisches Generieren von Antwortkarten](#msg-prompts-resp-card-dynamic).

Sie können Antwortkarten nur mit der Operation [PostText](API_runtime_PostText.md) verwenden. Sie können Antwortkarten nicht mit der Operation [PostContent](API_runtime_PostContent.md) verwenden. 

### Definieren statischer Antwortkarten
<a name="msg-prompts-resp-card-static"></a>

Definieren Sie statische Antwortkarten mit dem [PutBot](API_PutBot.md) Vorgang oder der Amazon Lex Lex-Konsole, wenn Sie eine Absicht erstellen. Eine statische Antwortkarte wird zusammen mit der Absicht definiert. Verwenden Sie eine statische Antwortkarte, wenn die Antworten feststehen. Nehmen wir an, dass Sie einen Bot mit einer Absicht erstellen, die über einen Slot für das Aroma verfügt. Beim Definieren des Aroma-Slots geben Sie Aufforderungen an, wie im folgenden Konsolen-Screenshot gezeigt:

![\[Der Absichtseditor in der Konsole.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/resp-console-10a.png)


Bei der Definition von Eingabeaufforderungen können Sie optional eine Antwortkarte zuordnen und Details für den [PutBot](API_PutBot.md) Vorgang definieren, oder, wie im folgenden Beispiel gezeigt, in der Amazon Lex Lex-Konsole:

![\[Die Konsole zeigt den Antwortkarteneditor.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/resp-console-20a.png)


Nehmen wir nun an, dass der Bot in Facebook Messenger integriert wurde. Der Benutzer kann auf die Schaltflächen klicken, um ein Aroma zu wählen, siehe die folgende Abbildung:

![\[Eine Antwortkarte in Facebook Messenger.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/resp-fb-exampleA.png)


Zum Anpassen des Inhalts einer Antwortkarte können Sie auf die Sitzungsattribute verweisen. Zur Laufzeit ersetzt Amazon Lex diese Verweise durch entsprechende Werte aus den Sitzungsattributen. Weitere Informationen finden Sie unter [Festlegen von Sitzungsattributen](context-mgmt-session-attribs.md). Ein Beispiel finden Sie unter [Verwendung einer Antwortkarte](ex-resp-card.md).

### Dynamisches Generieren von Antwortkarten
<a name="msg-prompts-resp-card-dynamic"></a>

Um Antwortkarten zur Laufzeit dynamisch zu generieren, verwenden Sie die Lambda-Funktion für Initialisierung und Validierung für die Absicht. Verwenden Sie eine dynamische Antwortkarte, wenn die Antworten zur Laufzeit in der Lambda-Funktion bestimmt werden. Als Reaktion auf Benutzereingaben generiert die Lambda-Funktion eine Antwortkarte und gibt sie im `dialogAction` Abschnitt der Antwort zurück. Weitere Informationen finden Sie unter [Reaktion-Format](lambda-input-response-format.md#using-lambda-response-format). 

Das Folgende ist eine Teilantwort einer Lambda-Funktion, die das `responseCard` Element zeigt. Sie generiert eine Benutzererfahrung, die der im vorhergehenden Abschnitt gezeigten ähnelt.

```
responseCard: {
  "version": 1,
  "contentType": "application/vnd.amazonaws.card.generic",
  "genericAttachments": [
    {
      "title": "What Flavor?",
      "subtitle": "What flavor do you want?",
      "imageUrl": "Link to image",
      "attachmentLinkUrl": "Link to attachment",
      "buttons": [
        {
          "text": "Lemon",
          "value": "lemon"
        },
        {
          "text": "Raspberry",
          "value": "raspberry"
        },
        {
          "text": "Plain",
          "value": "plain"
        }
      ]
    }
  ]
}
```

Ein Beispiel finden Sie unter [Einen Termin vereinbaren](ex1-sch-appt.md).

# Verwaltung von Konversation-Kontext
<a name="context-mgmt"></a>

Der *Konversationskontext* ist die Information, die ein Benutzer, Ihre Anwendung oder eine Lambda-Funktion einem Amazon Lex Lex-Bot zur Erfüllung einer Absicht zur Verfügung stellt. Der Konversationskontext umfasst vom Benutzer bereitgestellte Slot-Daten, von der Client-Anwendung festgelegte Anforderungsattribute und Sitzungsattribute, die von der Client-Anwendung und den Lambda-Funktionen erstellt werden. 

**Topics**
+ [Den Absichtskontext festlegen](context-mgmt-active-context.md)
+ [Verwenden von Standard-Slot-Werten](context-mgmt-default.md)
+ [Festlegen von Sitzungsattributen](context-mgmt-session-attribs.md)
+ [Festlegen von Anforderungsattributen](context-mgmt-request-attribs.md)
+ [Festlegen der Sitzungs-Zeitüberschreitung](context-mgmt-session-timeout.md)
+ [Freigeben von Informationen zwischen Absichten](context-mgmt-cross-intent.md)
+ [Festlegen von komplexen Attributen](context-mgmt-complex-attributes.md)

# Den Absichtskontext festlegen
<a name="context-mgmt-active-context"></a>

Sie können Amazon Lex *kontextabhängige* Absichten auslösen lassen. Ein *Kontext* ist eine Statusvariable, die einer Absicht zugeordnet 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 [PutIntent](API_PutIntent.md) Operation erstellen. Sie können Kontexte nur im Gebietsschema Englisch (US) (en-US) verwenden, und das auch nur, wenn Sie den `enableModelImprovements` Parameter `true` bei der Erstellung des Bots mit der [PutBot](API_PutBot.md) Operation auf festgelegt haben.

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 der [PostContent](API_runtime_PostContent.md) Operation [PostText](API_runtime_PostText.md) oder wird ein Ausgabekontext an Ihre Anwendung zurückgegeben, und er wird 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 Kontexts konfiguriert wurde. 

Ein *Eingabekontext* legt Bedingungen fest, unter denen eine Absicht erkannt werden kann. Eine Absicht kann während einer Konversation nur erkannt werden, wenn alle ihre Eingabekontexte aktiv sind. Eine Absicht ohne Eingabekontexte kann immer anerkannt werden. 

Amazon Lex verwaltet automatisch den Lebenszyklus von Kontexten, die durch die Erfüllung von Absichten mit Ausgabekontexten aktiviert werden. Sie können auch aktive Kontexte in einem Aufruf der `PostText` Operation `PostContent` oder 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 [Eingabeereignis und Antwortformat der Lambda-Funktion](lambda-input-response-format.md).

Nehmen wir zum Beispiel an, Sie möchten einen Mietwagen buchen, der so konfiguriert ist, dass er einen Ausgabekontext namens „book\$1car\$1filled“ zurückgibt. Wenn die Absicht erfüllt ist, legt Amazon Lex die Ausgabekontextvariable „book\$1car\$1filled“ fest. Da es sich bei „book\$1car\$1filled“ um einen aktiven Kontext handelt, wird eine Absicht, bei der der Kontext „book\$1car\$1filled“ als Eingabekontext festgelegt ist, nun für die Erkennung in Betracht gezogen, sofern eine Benutzeräußerung als Versuch erkannt wird, diese Absicht auszulösen. Sie können dies für Absichten verwenden, die erst nach der Buchung eines Autos Sinn ergeben, z. B. das Versenden einer Quittung per E-Mail oder das Ändern einer Reservierung.

## Ausgabekontext
<a name="context-output"></a>

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

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. [Verwenden von Standard-Slot-Werten](context-mgmt-default.md)

Sie konfigurieren den Ausgabekontext, wenn Sie eine Absicht mit der Konsole oder mit der [PutIntent](API_PutIntent.md) Operation 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 [PostContent](API_runtime_PostContent.md) Antwort [PostText](API_runtime_PostText.md) oder zurückgegeben.

Im Folgenden wird das Zuweisen eines Ausgabekontextes zu einer Absicht mithilfe der Konsole gezeigt.

![\[Ausgabe-Tag mit der Bezeichnung order_complete mit einer Gültigkeitsdauer von 5 Umdrehungen oder 90 Sekunden.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/context-output.png)


Wenn Sie einen Ausgabekontext definieren, definieren Sie auch seine *Gültigkeitsdauer*, also die Dauer oder Anzahl der Runden, in denen der Kontext in Antworten von Amazon Lex enthalten ist. Ein *Turn* ist eine Anfrage von Ihrer Anwendung 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 für folgende Zwecke verwenden:
+ Ändern Sie das Verhalten der Anwendung auf der Grundlage des Kontextes. Beispielsweise könnte eine Reiseanwendung für den Kontext „book\$1car\$1filled“ eine andere Aktion als für „rental\$1hotel\$1filled“ 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 erkennt, 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
<a name="context-input"></a>

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 eine Absicht reagiert, indem Sie die Konsole oder den `PutIntent` Vorgang verwenden. Eine Absicht kann mehr als einen Eingabekontext haben. Im Folgenden wird gezeigt, wie einer Absicht mithilfe der Konsole ein Eingabekontext zugewiesen wird.

![\[Eingabe-Tag mit der Bezeichnung order_complete.\]](http://docs.aws.amazon.com/de_de/lex/latest/dg/images/context-input.png)


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 [PutSession](API_runtime_PutSession.md) Operation [PostText](API_runtime_PostText.md)[PostContent](API_runtime_PostContent.md), oder aufrufen. 

Sie können die Slots so konfigurieren, dass sie Standardwerte aus dem aktuell 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 Slot-Namen im Formular an`#context-name.parameter-name`, wenn Sie den Slot definieren. Weitere Informationen finden Sie unter [Verwenden von Standard-Slot-Werten](context-mgmt-default.md).

# Verwenden von Standard-Slot-Werten
<a name="context-mgmt-default"></a>

Wenn Sie einen Standardwert verwenden, geben Sie eine Quelle für einen Slot-Wert an, der für neue Absichten gefüllt werden soll, wenn durch die Benutzereingabe kein Slot bereitgestellt wird. Bei dieser Quelle kann es sich um vorherige Dialogfelder, Anfragen oder Sitzungsattribute oder um einen festen Wert handeln, den Sie bei der Erstellung festlegen. 

Sie können Folgendes als Quelle für Ihre Standardwerte verwenden.
+ Vorheriger Dialog (Kontexte) — \$1context -name.parameter-name
+ Sitzungsattribute — [Attributname]
+ Attribute anfordern — <attribute-name>
+ Fester Wert — Jeder Wert, der nicht mit dem vorherigen Wert übereinstimmt

Wenn Sie die [PutIntent](API_PutIntent.md) Operation verwenden, um Slots zu einer Absicht hinzuzufügen, können Sie eine Liste mit Standardwerten hinzufügen. Standardwerte werden in der Reihenfolge verwendet, in der sie aufgelistet sind. Nehmen wir zum Beispiel an, Sie haben eine Absicht mit einem Slot mit der folgenden Definition:

```
"slots": [
    {
        "name": "reservation-start-date",
        "defaultValueSpec": {
            "defaultValueList": [
                {
                    "defaultValue": "#book-car-fulfilled.startDate"
                },
                {  
                    "defaultValue": "[reservationStartDate]"
                }
            ]
        },
        Other slot configuration settings
    }
]
```

Wenn die Absicht erkannt wird, wird der Wert des Slots mit dem Namen reservation-start-date "" auf einen der folgenden Werte gesetzt.

1. Wenn der Kontext book-car-fulfilled "" aktiv ist, wird der Wert des Parameters „StartDate“ als Standardwert verwendet.

1. Wenn der Kontext book-car-fulfilled "" nicht aktiv ist oder wenn der Parameter „StartDate“ nicht festgelegt ist, wird der Wert des Sitzungsattributs reservationStartDate "" als Standardwert verwendet.

1. Wenn keiner der ersten beiden Standardwerte verwendet wird, hat der Slot keinen Standardwert und Amazon Lex ruft wie gewohnt einen Wert ab.

Wenn ein Standardwert für den Slot verwendet wird, wird der Slot nicht abgerufen, auch wenn er erforderlich ist.

# Festlegen von Sitzungsattributen
<a name="context-mgmt-session-attribs"></a>

*Sitzungsattribute* enthalten anwendungsspezifische Informationen, die während einer Sitzung zwischen einem Bot und einer Client-Anwendung ausgetauscht werden. Amazon Lex übergibt Sitzungsattribute an alle Lambda-Funktionen, die für einen Bot konfiguriert sind. Wenn eine Lambda-Funktion Sitzungsattribute hinzufügt oder aktualisiert, gibt Amazon Lex die neuen Informationen zurück an die Client-Anwendung. Beispiel:
+ In [Übung 1: Erstellen eines Amazon Lex Lex-Bot mithilfe eines Blueprints (Konsole)](gs-bp.md) nutzt der Beispiel-Bot das Sitzungsattribut `price` für die Verwaltung des Blumenpreises. Die Lambda-Funktion legt dieses Attribut auf der Grundlage der Art der bestellten Blumen fest. Weitere Informationen finden Sie unter [Schritt 5 (optional): Prüfen der Details des Informationsflusses (Konsole)](gs-bp-details-after-lambda.md). 
+ In [Reise buchen](ex-book-trip.md) verwendet der Beispiel-Bot das Sitzungsattribut `currentReservation` zur Verwaltung einer Kopie der Slot-Typ-Daten während der Konversation, um ein Hotel oder einen Mietwagen zu buchen. Weitere Informationen finden Sie unter [Informationsfluss im Detail](book-trip-detail-flow.md).

Verwenden Sie Sitzungsattribute in Ihren Lambda-Funktionen, um einen Bot zu initialisieren und Eingabeaufforderungen und Antwortkarten anzupassen. Beispiel:
+ Initialisierung — Bei einem Bot zur Pizzabestellung übergibt die Client-Anwendung den Standort des Benutzers als Sitzungsattribut beim ersten Aufruf der Operation oder. [PostContent](API_runtime_PostContent.md) [PostText](API_runtime_PostText.md) Beispiel, `"Location": "111 Maple Street"`. Die Lambda-Funktion verwendet diese Informationen, um die nächstgelegene Pizzeria zu finden, in der die Bestellung aufgegeben werden kann.
+ Ansagen Personalize — Konfigurieren Sie Eingabeaufforderungen und Antwortkarten so, dass sie sich auf Sitzungsattribute beziehen. Zum Beispiel: „Hey [FirstName], welche Toppings hätten Sie gern?“ Wenn Sie den Vornamen des Benutzers als Sitzungsattribut (`{"FirstName": "Jo"}`) übergeben, ersetzt Amazon Lex den Platzhalter durch den Namen. Anschließend sendet die Anwendung eine personalisierte Aufforderung an den Benutzer "Hallo Jo, welchen Belag wünschen Sie?"

Sitzungsattribute bleiben für die Dauer der Sitzung bestehen. Amazon Lex speichert sie bis zum Ende der Sitzung in einem verschlüsselten Datenspeicher. Der Client kann Sitzungsattribute in einer Anforderung erstellen, indem er entweder die Operation [PostContent](API_runtime_PostContent.md) oder die Operation [PostText](API_runtime_PostText.md) aufruft, wobei das Feld `sessionAttributes` auf einen Wert gesetzt ist. Eine Lambda-Funktion kann in einer Antwort ein Sitzungsattribut erstellen. Nachdem der Client oder eine Lambda-Funktion ein Sitzungsattribut erstellt hat, wird der gespeicherte Attributwert immer dann verwendet, wenn die Client-Anwendung kein `sessionAttribute` Feld in eine Anfrage an Amazon Lex einbezieht.

Angenommen, Sie haben zwei Sitzungsattribute `{"x": "1", "y": "2"}`. Wenn der Client die `PostText` Operation `PostContent` or aufruft, ohne das `sessionAttributes` Feld anzugeben, ruft Amazon Lex die Lambda-Funktion mit den gespeicherten Sitzungsattributen (`{"x": 1, "y": 2}`) auf. Wenn die Lambda-Funktion keine Sitzungsattribute zurückgibt, gibt Amazon Lex die gespeicherten Sitzungsattribute an die Client-Anwendung zurück.

Wenn entweder die Client-Anwendung oder eine Lambda-Funktion Sitzungsattribute weitergibt, aktualisiert Amazon Lex die gespeicherten Sitzungsattribute. Wird ein bestehender Wert wie ` {"x": 2}` übergeben, wird der gespeicherte Wert aktualisiert. Wenn Sie einen neuen Satz Sitzungsattribute übergeben, wie z. B. `{"z": 3}`, werden die vorhandenen Werte entfernt, und nur der neue Wert wird beibehalten. Wird eine leere Zuordnung, `{}`, übergeben, werden die gespeicherten Werte gelöscht.

Um Sitzungsattribute an Amazon Lex zu senden, erstellen Sie eine string-to-string Zuordnung der Attribute. Das folgende Beispiel zeigt, wie Sitzungsattribute zugeordnet werden: 

```
{
   "attributeName": "attributeValue",
   "attributeName": "attributeValue"
}
```

Bei der `PostText`-Operation fügen Sie die Zuordnung wie folgt mittels des Felds `sessionAttributes` in den Text der Anforderung ein:

```
"sessionAttributes": {
   "attributeName": "attributeValue",
   "attributeName": "attributeValue"
}
```

Bei der `PostContent`-Operation kodieren Sie die Zuordnung mit base64 und senden diese als `x-amz-lex-session-attributes`-Header.

Wenn Sie binäre oder strukturierte Daten in einem Sitzungsattribut übermitteln, müssen Sie die Daten zunächst in eine einfache Zeichenfolge transformieren. Weitere Informationen finden Sie unter [Festlegen von komplexen Attributen](context-mgmt-complex-attributes.md).

# Festlegen von Anforderungsattributen
<a name="context-mgmt-request-attribs"></a>

*Anforderungsattribute* enthalten anforderungsspezifische Informationen und gelten nur für die aktuelle Anforderung. Eine Client-Anwendung sendet diese Informationen an Amazon Lex. Verwenden Sie Anforderungsattribute zur Weitergabe von Informationen, die nicht während der ganzen Sitzung erhalten bleiben müssen. Sie können eigene Anforderungsattribute erstellen oder vordefinierte verwenden. Zum Senden von Anforderungsattributen nutzen Sie den `x-amz-lex-request-attributes`-Header in einem [PostContent](API_runtime_PostContent.md) oder das `requestAttributes`-Feld in einer [PostText](API_runtime_PostText.md)-Anforderung. Da Anforderungsattribute nicht wie Sitzungsattribute anforderungsübergreifend erhalten bleiben, werden sie nicht in `PostContent`- oder `PostText`-Antworten zurückgegeben. 

**Anmerkung**  
Nutzen Sie Sitzungsattribute, wenn Sie möchten, dass Informationen anforderungsübergreifend erhalten bleiben.

Der Namespace `x-amz-lex:` ist für die vordefinierten Anforderungsattribute reserviert. Erstellen Sie keine Anforderungsattribute mit dem Präfix `x-amz-lex:`.

## Festlegen von vordefinierten Anforderungsattributen
<a name="context-mgmt-special"></a>

Amazon Lex bietet vordefinierte Anforderungsattribute zur Verwaltung der Art und Weise, wie Informationen verarbeitet werden, die an Ihren Bot gesendet werden. Die Attribute bleiben nicht für die gesamte Sitzung erhalten, daher müssen Sie die vordefinierten Attribute in jede Anforderung mit einschließen. Alle vordefinierten Attribute befinden sich im Namespace `x-amz-lex:`.

Zusätzlich zu den folgenden vordefinierten Attributen bietet Amazon Lex vordefinierte Attribute für Messaging-Plattformen. Eine Liste dieser Attribute finden Sie unter [Bereitstellung eines Amazon Lex Lex-Bot auf einer Messaging-Plattform](example1.md).

### Einrichten des Antworttyps
<a name="special-response"></a>

Wenn Sie über zwei Client-Anwendungen mit unterschiedlichen Funktionen verfügen, müssen Sie das Format der Mitteilungen in einer Antwort möglicherweise einschränken. Beispielsweise möchten Sie die an einen Web-Client gesendeten Mitteilungen auf Klartext beschränken, einen mobilen Client jedoch befähigen, sowohl Klartext als auch Speech Synthesis Markup Language (SSML) zu verwenden. Um das Format der von den Operationen [PostContent](API_runtime_PostContent.md) und [PostText](API_runtime_PostText.md) zurückgegebenen Mitteilungen einzurichten, verwenden Sie das Anforderungsattribut `x-amz-lex:accept-content-types"`. 

Sie können das Attribut auf eine beliebige Kombination der folgenden Mitteilungstypen festlegen: 
+ `PlainText`— Die Nachricht enthält einfachen UTF-8-Text.
+ `SSML`— Die Nachricht enthält Text, der für die Sprachausgabe formatiert ist.
+ `CustomPayload`— Die Nachricht enthält ein benutzerdefiniertes Format, das Sie für Ihren Kunden erstellt haben. Sie können die Nutzlast definieren, um den Anforderungen Ihrer Anwendung zu entsprechen.

Amazon Lex gibt nur Nachrichten mit dem angegebenen Typ im `Message` Feld der Antwort zurück. Sie können mehr als einen Wert festlegen, indem Sie die einzelnen Werte durch Komma trennen. Wenn Sie Mitteilungsgruppen verwenden, muss jede Mitteilungsgruppe mindestens eine Mitteilung des angegebenen Typs enthalten. Andernfalls erhalten Sie den Fehler `NoUsableMessageException`. Weitere Informationen finden Sie unter [Mitteilungsgruppen](howitworks-manage-prompts.md#message-groups).

**Anmerkung**  
Das Anforderungsattribut `x-amz-lex:accept-content-types` hat keine Auswirkungen auf den Inhalt des HTML-Texts. Der Inhalt einer `PostText`-Operation ist immer UTF-8-Klartext. Der Text einer Antwort der `PostContent`-Operation enthält Daten in dem im Header `Accept` der Anforderung festgelegten Format.

### Einstellen der bevorzugten Zeitzone
<a name="special-time-zone"></a>

Nutzen Sie das Anforderungsattribut `x-amz-lex:time-zone`, um die Zeitzone festzulegen, die zum Auflösen von Datumsangaben verwendet wird, sodass diese relativ zur Zeitzone des Benutzers ist. Wenn Sie in dem Attribut `x-amz-lex:time-zone` keine Zeitzone angeben, ist der Standardwert von der Region abhängig, die Sie für Ihren Bot verwenden.


| Region | Standardzeitzone | 
| --- | --- | 
| USA Ost (Nord-Virginia) |  America/New\$1York  | 
| USA West (Oregon) |  America/Los\$1Angeles  | 
| Asien-Pazifik (Singapur) |  Asia/Singapore  | 
| Asien-Pazifik (Sydney) |  Australia/Sydney  | 
| Asien-Pazifik (Tokio) |  Asia/Tokyo  | 
| Europe (Frankfurt) |  Europe/Berlin  | 
| Europa (Irland) |  Europe/Dublin  | 
| Europa (London) |  Europe/London  | 

Wenn der Benutzer beispielsweise auf die Aufforderung „An welchem Tag möchten Sie, dass Ihr Paket geliefert wird?“ antwortet `tomorrow` Das tatsächliche *Datum*, an dem das Paket zugestellt wird, hängt von der Zeitzone des Benutzers ab. Beispiel: Wenn es in New York am 16. September 01:00 Uhr ist, ist in Los Angeles erst der 15. September und die dortige Uhrzeit ist 22:00 Uhr. Wenn Ihr Dienst in der Region USA Ost (Nord-Virginia) läuft und eine Person in Los Angeles ein Paket bestellt, das „morgen“ unter Verwendung der Standardzeitzone zugestellt werden soll, wird das Paket am 17. und nicht am 16. zugestellt. Wenn Sie jedoch das Anforderungsattribut `x-amz-lex:time-zone` auf `America/Los_Angeles` setzen, wird das Paket am 16. ausgeliefert.

Sie können das Attribut auf einen beliebigen IANA (Internet Assigned Number Authority)-Zeitzonennamen setzen. Eine Liste der Zeitzonennamen finden Sie unter dem Artikel zu der [Liste der TZ-Datenbankzeitzonen](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) auf Wikipedia.

## Festlegen von benutzerdefinierten Anforderungsattributen
<a name="context-mgmt-user"></a>

Ein *benutzerdefiniertes Anforderungsattribut* besteht aus Daten, die Sie bei jeder Anforderung an Ihren Bot senden. Sie senden die Informationen im `amz-lex-request-attributes`-Header einer `PostContent`-Anforderung oder im Feld `requestAttributes` einer `PostText`-Anforderung. 

Um Anforderungsattribute an Amazon Lex zu senden, erstellen Sie eine string-to-string Zuordnung der Attribute. Das folgende Beispiel zeigt, wie Anforderungsattribute zugewiesen werden: 

```
{
   "attributeName": "attributeValue",
   "attributeName": "attributeValue"
}
```

Bei der `PostText`-Operation fügen Sie die Zuordnung wie folgt mittels des Felds `requestAttributes` in den Text der Anforderung ein:

```
"requestAttributes": {
   "attributeName": "attributeValue",
   "attributeName": "attributeValue"
}
```

Bei der `PostContent`-Operation kodieren Sie die Zuordnung mit base64 und senden diese als `x-amz-lex-request-attributes`-Header.

Wenn Sie binäre oder strukturierte Daten in einem Anforderungsattribut übermitteln, müssen Sie die Daten zunächst in eine einfache Zeichenfolge transformieren. Weitere Informationen finden Sie unter [Festlegen von komplexen Attributen](context-mgmt-complex-attributes.md).

# Festlegen der Sitzungs-Zeitüberschreitung
<a name="context-mgmt-session-timeout"></a>

Amazon Lex speichert Kontextinformationen — Slot-Daten und Sitzungsattribute — bis eine Konversationssitzung endet. Um zu steuern, wie lange eine Sitzung für einen Bot dauert, legen Sie einen Zeitüberschreitungswert für die Sitzung fest. Standardmäßig dauert eine Sitzung 5 Minuten, Sie können aber auch eine Dauer zwischen 0 und 1 440 Minuten (24 Stunden) angeben. 

Angenommen, Sie erstellen einen `ShoeOrdering`-Bot zur Unterstützung von Absichten wie `OrderShoes` und `GetOrderStatus`. Wenn Amazon Lex feststellt, dass der Benutzer beabsichtigt, Schuhe zu bestellen, fragt es nach Slot-Daten. Sie fragt beispielsweise nach Schuhgröße, Farbe, Marke etc. Wenn der Benutzer einige der Slot-Daten angibt, den Schuhkauf aber nicht abschließt, merkt sich Amazon Lex alle Slot-Daten und Sitzungsattribute für die gesamte Sitzung. Wenn der Benutzer vor Ablauf der Sitzung zu dieser zurückkehrt, kann er die fehlenden Slot-Daten bereitstellen und den Kauf abschließen.

In der Amazon Lex Lex-Konsole legen Sie das Sitzungs-Timeout fest, wenn Sie einen Bot erstellen. Mit der AWS-Befehlszeilenschnittstelle (AWS-CLI) oder API legen Sie das Timeout fest, wenn Sie einen Bot mit dem [PutBot](API_PutBot.md) Vorgang erstellen oder aktualisieren, indem Sie das Feld [IdleSession TTLIn](https://docs.aws.amazon.com/lex/latest/dg/API_PutBot.html#lex-PutBot-request-idleSessionTTLInSeconds) Seconds festlegen.

# Freigeben von Informationen zwischen Absichten
<a name="context-mgmt-cross-intent"></a>

Amazon Lex unterstützt den Informationsaustausch zwischen Absichten. Teilen Sie mit Sitzungsattributen Informationen zwischen Absichten. 

Angenommen, ein Benutzer des Bots `ShoeOrdering` bestellt Schuhe. Der Bot schaltet sich in die Konversation mit dem Benutzer ein und erfasst Slot-Daten wie Schuhgröße, Farbe und Marke. Wenn der Benutzer eine Bestellung aufgibt, legt die Lambda-Funktion, die die Bestellung erfüllt, das `orderNumber` Sitzungsattribut fest, das die Bestellnummer enthält. Der Benutzer verwendet die Absicht `GetOrderStatus`, um den Status der Bestellung zu erhalten. Der Bot kann den Benutzer nach Slot-Daten fragen, wie beispielsweise Bestellnummer oder -datum. Wenn der Bot die notwendigen Informationen hat, gibt er den Status der Bestellung zurück.

Wenn Sie der Meinung sind, dass Ihre Benutzer möglicherweise Absichten während der Sitzung ändern, können Sie Ihren Bot so konfigurieren, dass der Status der letzten Bestellung wiedergegeben wird. Anstatt den Benutzer erneut nach Bestellinformationen zu fragen, nutzen Sie das Sitzungsattribut `orderNumber`, um Informationen absichtsübergreifend zu teilen und die Absicht `GetOrderStatus` zu erfüllen. Der Bot führt dies durch, indem er den Status der letzten vom Benutzer aufgegebenen Bestellung zurückgibt.

Ein Beispiel für gemeinsame Nutzung von Informationen für mehrere Absichten finden Sie unter [Reise buchen](ex-book-trip.md).

# Festlegen von komplexen Attributen
<a name="context-mgmt-complex-attributes"></a>

Sitzungs- und Anforderungsattribute sind string-to-string Zuordnungen von Attributen und Werten. In vielen Fällen können Sie mit der Zeichenfolgen-Zuordnung Attributwerte zwischen Ihrer Clientanwendung und einem Bot übertragen. In einigen Fällen müssen Sie jedoch möglicherweise binäre Daten oder eine komplexe Struktur übertragen, die schwer in eine Zeichenfolgen-Zuordnung konvertiert werden kann. Das folgende JSON-Objekt stellt beispielsweise ein Array der drei beliebtesten Städte in den USA dar:

```
{
   "cities": [
      {
         "city": {
            "name": "New York",
            "state": "New York",
            "pop": "8537673"
         }
      },
      {
         "city": {
            "name": "Los Angeles",
            "state": "California",
            "pop": "3976322"
         }
      },
      {
         "city": {
            "name": "Chicago",
            "state": "Illinois",
            "pop": "2704958"
         }
      }
   ]
}
```

Dieses Datenarray lässt sich nicht gut in eine string-to-string Map übertragen. In diesem Fall können Sie ein Objekt in eine einfache Zeichenfolge transformieren, sodass Sie sie mit den Operationen [PostContent](API_runtime_PostContent.md) und [PostText](API_runtime_PostText.md) an Ihren Bot senden können. 

Wenn Sie beispielsweise verwenden, können Sie die `JSON.stringify` Operation verwenden JavaScript, um ein Objekt in JSON zu konvertieren, und die `JSON.parse` Operation, um JSON-Text in ein JavaScript Objekt zu konvertieren:

```
// To convert an object to a string.
var jsonString = JSON.stringify(object, null, 2);
// To convert a string to an object.
var obj = JSON.parse(JSON string);
```

Um Sitzungsattribute mit dem `PostContent` Vorgang zu senden, müssen Sie die Attribute base64-kodieren, bevor Sie sie dem Anforderungsheader hinzufügen, wie im folgenden JavaScript Code gezeigt:

```
var encodedAttributes = new Buffer(attributeString).toString("base64");
```

Sie können binäre Daten an die Operationen `PostContent` und `PostText` senden, indem Sie die Daten zunächst in eine mit base64 kodierte Zeichenfolge konvertieren und diese Zeichenfolge dann als Wert in den Sitzungsattributen übermitteln:

```
"sessionAttributes" : {
   "binaryData": "base64 encoded data"
}
```

# Verwendung von Konfidenzwerten
<a name="confidence-scores"></a>

Wenn ein Benutzer eine Äußerung macht, verwendet Amazon Lex Natural Language Understanding (NLU), um die Anfrage des Benutzers zu verstehen und die richtige Absicht zurückzugeben. Standardmäßig gibt Amazon Lex die wahrscheinlichste Absicht zurück, die von Ihrem Bot definiert wurde.

In einigen Fällen kann es für Amazon Lex schwierig sein, die wahrscheinlichste Absicht zu ermitteln. Beispielsweise könnte der Benutzer eine mehrdeutige Äußerung machen, oder es könnten zwei ähnliche Absichten vorliegen. Um die richtige Absicht zu ermitteln, können Sie Ihr Fachwissen mit den *Konfidenzwerten* einer Liste alternativer Absichten kombinieren. Ein Vertrauenswert ist eine von Amazon Lex abgegebene Bewertung, die zeigt, wie sicher es ist, dass eine Absicht die richtige Absicht ist.

Um den Unterschied zwischen zwei alternativen Absichten zu ermitteln, können Sie deren Konfidenzwerte vergleichen. Wenn beispielsweise eine Absicht einen Konfidenzwert von 0,95 und eine andere einen Wert von 0,65 hat, ist die erste Absicht wahrscheinlich richtig. Wenn jedoch eine Absicht einen Wert von 0,75 und eine andere einen Wert von 0,72 hat, besteht eine Mehrdeutigkeit zwischen den beiden Absichten, sodass Sie anhand von Domänenwissen in Ihrer Anwendung möglicherweise unterscheiden können.

Sie können Konfidenzwerte auch verwenden, um Testanwendungen zu erstellen, mit denen ermittelt wird, ob Änderungen an den Äußerungen einer Absicht das Verhalten des Bots beeinflussen. Sie können beispielsweise anhand einer Reihe von Äußerungen die Konfidenzwerte für die Absichten eines Bots ermitteln und die Absichten dann mit neuen Äußerungen aktualisieren. Anschließend können Sie die Konfidenzwerte überprüfen, um festzustellen, ob eine Verbesserung eingetreten ist.

Bei den Vertrauenswerten, die Amazon Lex zurückgibt, handelt es sich um Vergleichswerte. Sie sollten sich nicht auf sie als absolute Punktzahl verlassen. Die Werte können sich aufgrund von Verbesserungen an Amazon Lex ändern.

Wenn Sie Konfidenzwerte verwenden, gibt Amazon Lex die wahrscheinlichste Absicht und bis zu 4 alternative Absichten mit den zugehörigen Werten in jeder Antwort zurück. Wenn alle Konfidenzwerte unter einem Schwellenwert liegen, schließt Amazon Lex die `AMAZON.FallbackIntent``AMAZON.KendraSearchIntent`, die oder beide ein, sofern Sie sie konfiguriert haben. Sie können den Standardschwellenwert verwenden oder Ihren eigenen Schwellenwert festlegen.

Der folgende JSON-Code zeigt das `alternativeIntents` Feld in der Antwort auf den [PostText](API_runtime_PostText.md) Vorgang.

```
   "alternativeIntents": [ 
      { 
         "intentName": "string",
         "nluIntentConfidence": { 
            "score": number
         },
         "slots": { 
            "string" : "string" 
         }
      }
   ],
```

Legen Sie den Schwellenwert fest, wenn Sie einen Bot erstellen oder aktualisieren. Sie können entweder die API oder die Amazon Lex-Konsole verwenden. Für die unten aufgeführten Regionen müssen Sie sich anmelden, um Genauigkeitsverbesserungen und Zuverlässigkeitswerte zu erhalten. Wählen Sie in der Konsole im Abschnitt **Erweiterte Optionen** die Option Konfidenzwerte aus. Legen Sie mithilfe der API den `enableModelImprovements` Parameter fest, wenn Sie den [PutBot](API_PutBot.md) Vorgang aufrufen. :
+ USA Ost (Nord-Virginia): (us-east-1)
+ USA West (Oregon): (us-west-2)
+ Asien-Pazifik (Sydney): (ap-southeast-2)
+ Europa (Irland) (eu-west-1)

In allen anderen Regionen sind Verbesserungen der Genauigkeit und Unterstützung von Konfidenzwerten standardmäßig verfügbar.

Um den Konfidenzschwellenwert zu ändern, legen Sie ihn in der Konsole oder mithilfe der [PutBot](API_PutBot.md) Operation fest. Der Schwellenwert muss eine Zahl zwischen 1,00 und 0,00 sein.

Um die Konsole zu verwenden, legen Sie den Vertrauensschwellenwert fest, wenn Sie Ihren Bot erstellen oder aktualisieren.

**So legen Sie den Vertrauensschwellenwert bei der Erstellung eines Bots fest (Konsole)**
+ Geben **Sie unter Create your bot** einen Wert in das Feld **Confidence Score Threshold** ein.

**Um den Vertrauensschwellenwert zu aktualisieren (Konsole)**

1. Wählen Sie aus der Liste Ihrer Bots den Bot aus, den Sie aktualisieren möchten.

1. Wählen Sie die Registerkarte **Einstellungen**.

1. Wählen Sie in der linken Navigationsleiste **Allgemein** aus.

1. Aktualisieren Sie den Wert im Feld **Schwellenwert für den Vertrauenswert**.

**Um den Konfidenzschwellenwert (SDK) festzulegen oder zu aktualisieren**
+ Stellen Sie den `nluIntentConfidenceThreshold` Parameter der [PutBot](API_PutBot.md) Operation ein. Der folgende JSON-Code zeigt, wie der Parameter gesetzt wird.

  ```
     "nluIntentConfidenceThreshold": 0.75,
  ```

## Verwaltung von Sitzungen
<a name="confidence-scores-session-management"></a>

Um die Absicht zu ändern, die Amazon Lex in einer Konversation mit dem Benutzer verwendet, können Sie die Antwort aus Ihrer Dialogcode-Hook-Lambda-Funktion verwenden, oder Sie können die Sitzungsverwaltung APIs in Ihrer benutzerdefinierten Anwendung verwenden. 

### Verwenden einer Lambda-Funktion
<a name="session-management-lambda"></a>

Wenn Sie eine Lambda-Funktion verwenden, ruft Amazon Lex sie mit einer JSON-Struktur auf, die die Eingabe für die Funktion enthält. Die JSON-Struktur enthält ein Feld namens`currentIntent`, das die Absicht enthält, die Amazon Lex als wahrscheinlichste Absicht für die Äußerung des Benutzers identifiziert hat. Die JSON-Struktur umfasst auch ein `alternativeIntents` Feld, das bis zu vier zusätzliche Absichten enthält, die der Absicht des Benutzers entsprechen können. Jede Absicht enthält ein Feld namens`nluIntentConfidenceScore`, das den Vertrauenswert enthält, den Amazon Lex der Absicht zugewiesen hat.

Um eine alternative Absicht zu verwenden, geben Sie sie in der Dialogaktion `ConfirmIntent` oder in der `ElicitSlot` Dialogaktion in Ihrer Lambda-Funktion an.

Weitere Informationen finden Sie unter [Verwendung von Lambda-Funktionen](using-lambda.md).

### Verwenden der Session Management API
<a name="session-management-API"></a>

Um eine andere Absicht als die aktuelle Absicht zu verwenden, verwenden Sie die [PutSession](API_runtime_PutSession.md) Operation. Wenn Sie beispielsweise entscheiden, dass die erste Alternative der von Amazon Lex ausgewählten Absicht vorzuziehen ist, können Sie den `PutSession` Vorgang verwenden, um die Absichten so zu ändern, dass die nächste Absicht, mit der der Benutzer interagiert, die von Ihnen gewählte ist.

Weitere Informationen finden Sie unter [Verwaltung von Sitzungen mit der Amazon Lex API](how-session-api.md).

# Konversationsprotokolle
<a name="conversation-logs"></a>

Sie aktivieren *Konversationsprotokolle* zum Speichern von Bot-Interaktionen. Sie können diese Protokolle verwenden, um die Leistung Ihres Bots zu überprüfen und Probleme mit Konversationen zu beheben. Sie können Text für die [PostText](API_runtime_PostText.md)-Operation protokollieren. Sie können sowohl Text als auch Audio für die [PostContent](API_runtime_PostContent.md)-Operation protokollieren. Wenn Sie Konversationsprotokolle aktivieren, erhalten Sie eine detaillierte Ansicht der Konversationen, die Benutzer mit Ihrem Bot haben.

Beispielsweise hat eine Sitzung mit Ihrem Bot eine Sitzungs-ID. Sie können diese ID verwenden, um das Transkript der Konversation zu erhalten, einschließlich der Äußerungen des Benutzers und der entsprechenden Bot-Antworten. Sie erhalten auch Metadaten wie den Namen der Absicht und Slot-Werte für eine Äußerung.

**Anmerkung**  
Sie können keine Konversationsprotokolle mit einem Bot verwenden, der dem Children's Online Privacy Protection Act (COPPA) unterliegt.

Konversationsprotokolle werden für einen Alias konfiguriert. Jeder Alias kann unterschiedliche Einstellungen für seine Text- und Audioprotokolle haben. Sie können Textprotokolle, Audioprotokolle oder beides für jeden Alias aktivieren. Textprotokolle speichern Texteingaben, Transkripte von Audioeingaben und zugehörige Metadaten in CloudWatch Protokollen. Audioprotokolle speichern Audioeingaben in Amazon S3. Sie können die Verschlüsselung von Text- und Audioprotokollen mithilfe von AWS KMS Customer Managed aktivieren CMKs.

Verwenden Sie die Konsole oder die [PutBotAlias](API_PutBotAlias.md)-Operation, um die Protokollierung zu konfigurieren. Sie können keine Konversationen für den `$LATEST` Alias Ihres Bots oder für den in der Amazon Lex Lex-Konsole verfügbaren Test-Bot protokollieren. Nach der Aktivierung von Konversationsprotokollen für einen Alias [PostContent](API_runtime_PostContent.md) oder einer [PostText](API_runtime_PostText.md) Operation für diesen Alias werden die Text- oder Audioäußerungen in der konfigurierten Protokollgruppe oder im S3-Bucket CloudWatch protokolliert.

**Topics**
+ [IAM-Richtlinien für Konversationsprotokolle](conversation-logs-policies.md)
+ [Konfigurieren von Konversationsprotokollen](conversation-logs-configure.md)
+ [Verschlüsseln von Konversationsprotokollen](conversation-logs-encrypting.md)
+ [Textprotokolle in Amazon CloudWatch Logs anzeigen](conversation-logs-cw.md)
+ [Zugreifen auf Audioprotokolle in Amazon S3](conversation-logs-s3.md)
+ [Den Status des Konversationsprotokolls mit CloudWatch Metriken überwachen](conversation-logs-monitoring.md)

# IAM-Richtlinien für Konversationsprotokolle
<a name="conversation-logs-policies"></a>

Abhängig von der Art der Protokollierung, die Sie auswählen, benötigt Amazon Lex die Erlaubnis, Amazon CloudWatch Logs- und Amazon Simple Storage Service (S3) -Buckets zum Speichern Ihrer Protokolle zu verwenden. Sie müssen AWS Identity and Access Management Rollen und Berechtigungen erstellen, damit Amazon Lex auf diese Ressourcen zugreifen kann. 

## Erstellen einer IAM-Rolle und von Richtlinien für Konversationsprotokolle
<a name="conversation-logs-role-and-policy"></a>

Um Konversationsprotokolle zu aktivieren, müssen Sie Schreibberechtigungen für CloudWatch Logs und Amazon S3 erteilen. Wenn Sie die Objektverschlüsselung für Ihre S3-Objekte aktivieren, müssen Sie Zugriffsberechtigungen für die AWS KMS Schlüssel erteilen, die zur Verschlüsselung der Objekte verwendet werden. 

Sie können das IAM AWS-Managementkonsole, die IAM-API oder die verwenden, um die Rolle und die Richtlinien AWS Command Line Interface zu erstellen. In diesen Anweisungen werden AWS CLI die Rolle und die Richtlinien erstellt. Informationen zum Erstellen von Richtlinien mit der Konsole finden Sie unter [Creating Policies on the JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor) im *AWS Identity and Access Management-Benutzerhandbuch*.

**Anmerkung**  
Der folgende Code ist für Linux und MacOS formatiert. Ersetzen Sie unter Windows das Linux-Zeilenfortsetzungszeichen (\$1) durch ein Caret-Zeichen (^).



**So erstellen Sie eine IAM-Rolle für Konversationsprotokolle**

1. Erstellen Sie ein Dokument im aktuellen Verzeichnis mit dem Namen **LexConversationLogsAssumeRolePolicyDocument.json**, fügen Sie den folgenden Code hinzu und speichern Sie es. In diesem Richtliniendokument wird Amazon Lex als vertrauenswürdige Entität zur Rolle hinzugefügt. Auf diese Weise kann Lex die Rolle übernehmen, um Protokolle für die Ressourcen bereitzustellen, die für Konversationsprotokolle konfiguriert sind.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lex.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Führen Sie in der den folgenden Befehl aus AWS CLI, um die IAM-Rolle für Konversationsprotokolle zu erstellen.

   ```
   aws iam create-role \
       --role-name role-name \
       --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json
   ```

Erstellen Sie als Nächstes eine Richtlinie und fügen Sie sie der Rolle hinzu, die es Amazon Lex ermöglicht, in CloudWatch Logs zu schreiben. 

**Um eine IAM-Richtlinie für die Protokollierung von Konversationstext in Logs zu CloudWatch erstellen**

1. Erstellen Sie ein Dokument im aktuellen Verzeichnis namens**LexConversationLogsCloudWatchLogsPolicy.json**, fügen Sie ihm die folgende IAM-Richtlinie hinzu und speichern Sie es.

1. Erstellen Sie in der AWS CLI die IAM-Richtlinie, die der Protokollgruppe CloudWatch Logs Schreibberechtigungen gewährt.

   ```
   aws iam create-policy \
       --policy-name cloudwatch-policy-name \
       --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
   ```

1. Ordnen Sie die Richtlinie der IAM-Rolle zu, die Sie für Konversationsprotokolle erstellt haben.

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name \
       --role-name role-name
   ```

Wenn Sie Audio in einem S3-Bucket protokollieren, erstellen Sie eine Richtlinie, die es Amazon Lex ermöglicht, in den Bucket zu schreiben.

**Um eine IAM-Richtlinie für die Audioprotokollierung in einem S3-Bucket zu erstellen**

1. Erstellen Sie ein Dokument im aktuellen Verzeichnis mit dem Namen **LexConversationLogsS3Policy.json**, fügen Sie die folgende Richtlinie hinzu und speichern Sie es.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::bucket-name/*"
         }
     ]
   }
   ```

------

1. Erstellen Sie in der die IAM-Richtlinie AWS CLI, die Schreibberechtigungen für Ihren S3-Bucket gewährt.

   ```
   aws iam create-policy \
       --policy-name s3-policy-name \
       --policy-document file://LexConversationLogsS3Policy.json
   ```

1. Fügen Sie die Richtlinie der Rolle an, die Sie für Konversationsprotokolle erstellt haben.

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/s3-policy-name \
       --role-name role-name
   ```

## Erteilen Sie die Erlaubnis, eine IAM-Rolle zu übergeben
<a name="conversation-logs-pass-role"></a>

Wenn Sie die Konsole, das oder ein AWS SDK verwenden AWS Command Line Interface, um eine IAM-Rolle für Konversationsprotokolle anzugeben, muss der Benutzer, der die IAM-Rolle für Konversationsprotokolle angibt, berechtigt sein, die Rolle an Amazon Lex weiterzugeben. Damit der Benutzer die Rolle an Amazon Lex weitergeben kann, müssen Sie dem Benutzer, der Rolle oder der Gruppe die `PassRole` entsprechende Berechtigung erteilen. 

Die folgende Richtlinie definiert die Berechtigung, die dem Benutzer, der Rolle oder der Gruppe erteilt werden soll. Sie können die `iam:AssociatedResourceArn` und `iam:PassedToService`-Bedingungsschlüssel verwenden, um den Umfang der Berechtigung einzuschränken. Weitere Informationen finden Sie unter [Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle an einen AWS Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) und [IAM- und AWS STS Bedingungskontextschlüssel](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) im *AWS Identity and Access Management Benutzerhandbuch*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "lex.amazonaws.com"
                },
                "StringLike": {
                    "iam:AssociatedResourceARN": "arn:aws:lex:region:123456789012:bot:bot-name:bot-alias"
                }
            }
        }
    ]
}
```

------

# Konfigurieren von Konversationsprotokollen
<a name="conversation-logs-configure"></a>

Sie aktivieren und deaktivieren Konversationsprotokolle über die Konsole oder das `conversationLogs`-Feld der `PutBotAlias`-Operation. Sie können Audioprotokolle, Textprotokolle oder beides aktivieren oder deaktivieren. Die Protokollierung beginnt bei neuen Botsitzungen. Änderungen an den Protokolleinstellungen werden für aktive Sitzungen nicht berücksichtigt.

Um Textprotokolle zu speichern, verwenden Sie eine Amazon CloudWatch Logs-Protokollgruppe in Ihrem AWS Konto. Sie können jede gültige Protokollgruppe verwenden. Die Protokollgruppe muss sich in derselben Region wie der Amazon Lex Lex-Bot befinden. Weitere Informationen zum Erstellen einer CloudWatch Logs-Protokollgruppe finden Sie unter [Working with Log Groups and Log Streams](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) im *Amazon CloudWatch Logs-Benutzerhandbuch*.

Verwenden Sie zum Speichern von Audioprotokollen einen Amazon S3 S3-Bucket in Ihrem AWS Konto. Sie können jeden gültigen S3-Bucket verwenden. Der Bucket muss sich in derselben Region wie der Amazon Lex Lex-Bot befinden. Weitere Informationen zum Erstellen eines S3-Buckets finden Sie unter [Create a Bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html) im *Amazon Simple Storage Service Getting Started Guide*.

Sie müssen eine IAM-Rolle mit Richtlinien bereitstellen, die es Amazon Lex ermöglichen, in die konfigurierte Protokollgruppe oder den konfigurierten Bucket zu schreiben. Weitere Informationen finden Sie unter [Erstellen einer IAM-Rolle und von Richtlinien für Konversationsprotokolle](conversation-logs-policies.md#conversation-logs-role-and-policy).

Wenn Sie mit dem eine serviceverknüpfte Rolle erstellen AWS Command Line Interface, müssen Sie der Rolle ein benutzerdefiniertes Suffix hinzufügen, indem Sie die folgende `custom-suffix` Option verwenden:

```
aws iam create-service-linked-role \
    --aws-service-name lex.amazon.aws.com \
    --custom-suffix suffix
```

Die IAM-Rolle, die Sie zum Aktivieren von Konversationsprotokollen verwenden, muss über die entsprechende Berechtigung verfügen. `iam:PassRole` Die folgende Richtlinie sollte an die Rolle angefügt werden.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

## Aktivieren von Konversationsprotokollen
<a name="conversation-logs-enable"></a>

**So aktivieren Sie Protokolle über die Konsole**

1. Öffnen Sie die Amazon Lex Lex-Konsole [https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex).

1. Wählen Sie aus der Liste einen Bot aus.

1. Wählen Sie die Registerkarte **Settings (Einstellungen)** und dann im linken Menü **Conversation logs (Konversationsprotokolle)** aus.

1. Wählen Sie in der Liste der Aliasse das Einstellungssymbol für den Alias aus, für den Sie Konversationsprotokolle konfigurieren möchten.

1. Wählen Sie aus, ob Text, Audio oder beides protokolliert werden soll. 

1. Geben Sie für die Textprotokollierung den Namen der Amazon CloudWatch Logs-Protokollgruppe ein.

1. Geben Sie für die Audioprotokollierung die S3-Bucket-Informationen ein.

1. Optional. Um Audioprotokolle zu verschlüsseln, wählen Sie den AWS KMS Schlüssel aus, der für die Verschlüsselung verwendet werden soll.

1. Wählen Sie eine IAM-Rolle mit den erforderlichen Berechtigungen.

1. Wählen Sie **Save (Speichern)**, um Konversationen zu protokollieren.

**So aktivieren Sie Textprotokolle mit der API**

1. Rufen Sie die [PutBotAlias](API_PutBotAlias.md)-Operation mit einem Eintrag im `logSettings`-Element des `conversationLogs`-Feldes auf.
   + Setzen Sie das `destination`-Element auf `CLOUDWATCH_LOGS`.
   + Setzen Sie das `logType`-Element auf `TEXT`.
   + Legen Sie für das `resourceArn` Mitglied den Amazon-Ressourcennamen (ARN) der CloudWatch Logs-Protokollgruppe fest, die das Ziel für die Logs ist

1. Setzen Sie das `iamRoleArn` Mitglied des `conversationLogs` Felds auf den Amazon-Ressourcennamen (ARN) einer IAM-Rolle, die über die erforderlichen Berechtigungen zum Aktivieren von Konversationsprotokollen für die angegebenen Ressourcen verfügt.

**So aktivieren Sie Audioprotokolle mit der API**

1. Rufen Sie die [PutBotAlias](API_PutBotAlias.md)-Operation mit einem Eintrag im `logSettings`-Element des `conversationLogs`-Feldes auf.
   + Setzen Sie das `destination`-Element auf `S3`.
   + Setzen Sie das `logType`-Element auf `AUDIO`.
   + Setzen Sie das `resourceArn`-Element auf den ARN des Amazon S3-Buckets, in dem die Audioprotokolle gespeichert sind.
   + Optional. Um Audioprotokolle mit einem bestimmten AWS KMS Schlüssel zu verschlüsseln, legen Sie das `kmsKeyArn` Mitglied des ARN des Schlüssels fest, der für die Verschlüsselung verwendet wird.

1. Setzen Sie das `iamRoleArn` Mitglied des `conversationLogs` Felds auf den Amazon-Ressourcennamen (ARN) einer IAM-Rolle, die über die erforderlichen Berechtigungen zum Aktivieren von Konversationsprotokollen für die angegebenen Ressourcen verfügt.

## Deaktivieren von Konversationsprotokollen
<a name="conversation-logs-disable"></a>

**So deaktivieren Sie Protokolle über die Konsole**

1. Öffnen Sie die Amazon Lex Lex-Konsole [https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex).

1. Wählen Sie aus der Liste einen Bot aus.

1. Wählen Sie die Registerkarte **Settings (Einstellungen)** und dann im linken Menü **Conversation logs (Konversationsprotokolle)** aus.

1. Wählen Sie in der Liste der Aliasse das Einstellungssymbol für den Alias aus, für den Sie Konversationsprotokolle konfigurieren möchten.

1. Entfernen Sie die Markierung bei Text, Audio oder beidem, um die Protokollierung zu deaktivieren.

1. Wählen Sie **Save (Speichern)**, um die Protokollierung von Konversationen zu beenden.

**So deaktivieren Sie Protokolle mit der API**
+ Rufen Sie die `PutBotAlias`-Operation ohne das `conversationLogs`-Feld auf.

**So deaktivieren Sie Textprotokolle mit der API**
+ 
  + Wenn Sie Audio protokollieren:
    + Rufen Sie die [PutBotAlias](API_PutBotAlias.md)-Operation mit einem `logSettings`-Eintrag nur für `AUDIO` auf.
    + Der Aufruf der `PutBotAlias`-Operation darf keinen `logSettings`-Eintrag für `TEXT` haben.
  + Wenn Sie keine Audiodaten protokollieren
    + Rufen Sie die [PutBotAlias](API_PutBotAlias.md)-Operation ohne das `conversationLogs`-Feld auf.

**So deaktivieren Sie Audioprotokolle mit der API**
+ 
  + Wenn Sie Text protokollieren
    + Rufen Sie die [PutBotAlias](API_PutBotAlias.md)-Operation mit einem `logSettings`-Eintrag nur für `TEXT` auf.
    + Der Aufruf der `PutBotAlias`-Operation darf keinen `logSettings`-Eintrag für `AUDIO` haben.
  + Wenn Sie keinen Text protokollieren
    + Rufen Sie die [PutBotAlias](API_PutBotAlias.md)-Operation ohne das `conversationLogs`-Feld auf.

# Verschlüsseln von Konversationsprotokollen
<a name="conversation-logs-encrypting"></a>

Sie können eine Verschlüsselung verwenden, um den Inhalt Ihrer Konversationsprotokolle zu schützen. Für Text- und Audioprotokolle können Sie AWS KMS Customer Managed verwenden, CMKs um Daten in Ihrer CloudWatch Logs-Protokollgruppe und Ihrem S3-Bucket zu verschlüsseln.

**Anmerkung**  
Amazon Lex unterstützt nur symmetrisch CMKs. Sie können kein asymmetrisches CMK verwenden, um Ihre Daten zu verschlüsseln.

Sie aktivieren die Verschlüsselung mithilfe eines AWS KMS Schlüssels in der Protokollgruppe CloudWatch Logs, den Amazon Lex für Textprotokolle verwendet. Sie können in den Protokolleinstellungen keinen AWS KMS Schlüssel angeben, um die AWS KMS Verschlüsselung Ihrer Protokollgruppe zu aktivieren. Weitere Informationen finden Sie unter [Verschlüsseln von Protokolldaten in CloudWatch Logs Using AWS KMS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html) im *Amazon CloudWatch Logs-Benutzerhandbuch*.

Für Audioprotokolle verwenden Sie die Standardverschlüsselung in Ihrem S3-Bucket oder geben einen AWS KMS Schlüssel zur Verschlüsselung Ihrer Audioobjekte an. Selbst wenn Ihr S3-Bucket die Standardverschlüsselung verwendet, können Sie dennoch einen anderen AWS KMS Schlüssel zum Verschlüsseln Ihrer Audioobjekte angeben. Weitere Informationen finden Sie unter [Amazon S3 S3-Standardverschlüsselung für S3-Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) im *Amazon Simple Storage Service Developer Guide*.

Amazon Lex benötigt AWS KMS Berechtigungen, wenn Sie Ihre Audioprotokolle verschlüsseln möchten. Sie müssen der IAM-Rolle, die für Konversationsprotokolle verwendet wird, zusätzliche Richtlinien hinzufügen. Wenn Sie die Standardverschlüsselung für Ihren S3-Bucket verwenden, muss Ihre Richtlinie Zugriff auf den für diesen Bucket konfigurierten AWS KMS Schlüssel gewähren. Wenn Sie in Ihren Audioprotokolleinstellungen einen AWS KMS Schlüssel angeben, müssen Sie Zugriff auf diesen Schlüssel gewähren.

Wenn Sie keine Rolle für Konversationsprotokolle erstellt haben, finden Sie weitere Informationen unter [IAM-Richtlinien für Konversationsprotokolle](conversation-logs-policies.md).

**Um eine IAM-Richtlinie für die Verwendung eines AWS KMS Schlüssels zum Verschlüsseln von Audioprotokollen zu erstellen**

1. Erstellen Sie ein Dokument im aktuellen Verzeichnis mit dem Namen **LexConversationLogsKMSPolicy.json**, fügen Sie die folgende Richtlinie hinzu und speichern Sie es.

1. Erstellen Sie in der die IAM-Richtlinie AWS CLI, die die Erlaubnis erteilt, den AWS KMS Schlüssel zum Verschlüsseln von Audioprotokollen zu verwenden.

   ```
   aws iam create-policy \
       --policy-name kms-policy-name \
       --policy-document file://LexConversationLogsKMSPolicy.json
   ```

1. Fügen Sie die Richtlinie der Rolle an, die Sie für Konversationsprotokolle erstellt haben.

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/kms-policy-name \
       --role-name role-name
   ```

# Textprotokolle in Amazon CloudWatch Logs anzeigen
<a name="conversation-logs-cw"></a>

Amazon Lex speichert Textprotokolle für Ihre Konversationen in Amazon CloudWatch Logs. Um die Protokolle einzusehen, können Sie die CloudWatch Logs-Konsole oder die API verwenden. Weitere Informationen finden Sie unter [Suchprotokolldaten mithilfe von Filtermustern](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html) und [CloudWatch Logs Insights-Abfragesyntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html) im *Amazon CloudWatch Logs-Benutzerhandbuch*.

**So zeigen Sie Protokolle mit der Amazon Lex Lex-Konsole an**

1. Öffnen Sie die Amazon Lex Lex-Konsole [https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex).

1. Wählen Sie aus der Liste einen Bot aus.

1. Wählen Sie die Registerkarte **Settings (Einstellungen)** und dann im linken Menü **Conversation logs (Konversationsprotokolle)**.

1. Wählen Sie den Link unter **Textprotokolle**, um die Protokolle für den Alias in der CloudWatch Konsole anzuzeigen.

Sie können auch die CloudWatch Konsole oder API verwenden, um Ihre Protokolleinträge einzusehen. Um die Protokolleinträge zu suchen, navigieren Sie zu der Protokollgruppe, die Sie für den Alias konfiguriert haben. Sie finden das Protokollstream-Präfix für Ihre Protokolle in der Amazon Lex Lex-Konsole oder mithilfe des [GetBotAlias](API_GetBotAlias.md) Vorgangs. 

Protokolleinträge für eine Benutzeräußerungen befinden sich in mehreren Protokolldatenstreams. Eine Äußerung in der Konversation hat einen Eintrag in einem der Protokolldatenstreams mit dem angegebenen Präfix. Ein Eintrag im Protokolldatenstream enthält die folgenden Informationen.

```
{
   "messageVersion": "1.0",
   "botName": "bot name",
   "botAlias": "bot alias",
   "botVersion": "bot version",
   "inputTranscript": "text used to process the request",
   "botResponse": "response from the bot",
   "intent": "matched intent",
   "nluIntentConfidence": "number",
   "slots": {
       "slot name": "slot value",
       "slot name": null,
       "slot name": "slot value"
       ...
   },
   "alternativeIntents": [
       {
           "name": "intent name",
           "nluIntentConfidence": "number",
           "slots": {
               "slot name": slot value,
               "slot name": null,
               "slot name": slot value
               ...
           }
       },
       {
           "name": "intent name",
           "nluIntentConfidence": number,
           "slots": {}
       }
   ],
   "developerOverride": "true" | "false",
   "missedUtterance": true | false,
   "inputDialogMode": "Text" | "Speech",
   "requestId": "request ID",
   "s3PathForAudio": "S3 path to audio file",
   "userId": "user ID",
   "sessionId": "session ID",
   "sentimentResponse": {
       "sentimentScore": "{Positive: number, Negative: number, Neutral: number, Mixed: number}",
       "sentimentLabel": "Positive" | "Negative" | "Neutral" | "Mixed"
   },
   "slotToElicit": "slot name",
   "dialogState": "ElicitIntent" | "ConfirmIntent" | "ElicitSlot" | "Fulfilled" | "ReadyForFulfillment" | "Failed",
   "responseCard": {
       "genericAttachments": [
           ...
       ],
       "contentType": "application/vnd.amazonaws.card.generic",
       "version": 1
    },
   "locale": "locale",
   "timestamp": "ISO 8601 UTC timestamp",
   "kendraResponse": {
      "totalNumberOfResults": number,
      "resultItems": [
          {
              "id": "query ID",
              "type": "DOCUMENT" | "QUESTION_ANSWER" | "ANSWER",
              "additionalAttributes": [
                  {
                     ...
                  }
              ],
              "documentId": "document ID",
              "documentTitle": {
                  "text": "title",
                  "highlights": null
              },
              "documentExcerpt": {
                  "text": "text",
                  "highlights": [
                      {
                          "beginOffset": number,
                          "endOffset": number,
                          "topAnswer": true | false
                      }
                  ]
              },
              "documentURI": "URI",
              "documentAttributes": []
          }  
      ],
      "facetResults": [],
      "sdkResponseMetadata": {
          "requestId": "request ID"
      },
      "sdkHttpMetadata": {
          "httpHeaders": {
              "Content-Length": "number",
              "Content-Type": "application/x-amz-json-1.1",
              "Date": "date and time",
              "x-amzn-RequestId": "request ID"
          },
          "httpStatusCode": 200
      },
      "queryId": "query ID"
   },
   "sessionAttributes": {
       "attribute name": "attribute value"
       ...
    },
   "requestAttributes": {
       "attribute name": "attribute value"
       ...
    }
}
```

Der Inhalt des Protokolleintrags hängt vom Ergebnis einer Transaktion und der Konfiguration des Bots und der Anfrage ab.
+ Die Felder `intent`, `slots` und `slotToElicit` werden nicht in einem Eintrag angezeigt, wenn das `missedUtterance`-Feld den Wert `true` hat.
+ Das `s3PathForAudio`-Feld wird nicht angezeigt, wenn Audioprotokolle deaktiviert sind oder wenn das `inputDialogMode`-Feld `Text` ist.
+ Das `responseCard`-Feld wird nur angezeigt, wenn Sie eine Antwortkarte für den Bot definiert haben.
+ Die `requestAttributes`-Karte wird nur angezeigt, wenn Sie in der Anforderung Anforderungsattribute angegeben haben.
+ Das `kendraResponse` Feld ist nur vorhanden, wenn der eine Anfrage zur Suche in einem Amazon Kendra Kendra-Index `AMAZON.KendraSearchIntent` stellt.
+ Das `developerOverride` Feld ist wahr, wenn in der Lambda-Funktion des Bots eine alternative Absicht angegeben wurde.
+ Die `sessionAttributes`-Karte wird nur angezeigt, wenn Sie Sitzungsattribute in der Anforderung angegeben haben.
+ Die `sentimentResponse`-Karte wird nur angezeigt, wenn Sie den Bot so konfigurieren, dass er Stimmungswerte zurückgibt.

**Anmerkung**  
Das Eingabeformat kann sich auch ohne entsprechende Änderung der `messageVersion` ändern. Ihr Code sollte keinen Fehler ausgeben, wenn neue Felder vorhanden sind.

Sie müssen über eine Rolle und eine Richtlinie verfügen, damit Amazon Lex in CloudWatch Logs schreiben kann. Weitere Informationen finden Sie unter [IAM-Richtlinien für Konversationsprotokolle](conversation-logs-policies.md).

# Zugreifen auf Audioprotokolle in Amazon S3
<a name="conversation-logs-s3"></a>

Amazon Lex speichert Audioprotokolle für Ihre Konversationen in einem S3-Bucket. 

**So greifen Sie über die Konsole auf Audioprotokolle zu**

1. Öffnen Sie die Amazon Lex Lex-Konsole [https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex).

1. Wählen Sie aus der Liste einen Bot aus.

1. Wählen Sie die Registerkarte **Settings (Einstellungen)** und dann im linken Menü **Conversation logs (Konversationsprotokolle)**.

1. Wählen Sie den Link unter **Audioprotokolle**, um auf die Protokolle für den Alias in der Amazon S3 S3-Konsole zuzugreifen.

Sie können auch die Amazon S3 S3-Konsole oder API verwenden, um auf Audioprotokolle zuzugreifen. Sie können das S3-Objektschlüsselpräfix der Audiodateien in der Amazon Lex Lex-Konsole oder im `resourcePrefix` Feld in der `GetBotAlias` Betriebsantwort sehen.

# Den Status des Konversationsprotokolls mit CloudWatch Metriken überwachen
<a name="conversation-logs-monitoring"></a>

Verwenden Sie Amazon CloudWatch , um die Lieferkennzahlen Ihrer Konversationsprotokolle zu überwachen. Sie können Alarme für Metriken festlegen, damit Sie Probleme mit der Protokollierung erkennen, wenn sie auftreten sollten.

Amazon Lex bietet vier Metriken im `AWS/Lex` Namespace für Konversationsprotokolle:
+ `ConversationLogsAudioDeliverySuccess`
+ `ConversationLogsAudioDeliveryFailure`
+ `ConversationLogsTextDeliverySuccess`
+ `ConversationLogsTextDeliveryFailure`

Weitere Informationen finden Sie unter [CloudWatch Metriken für Konversationsprotokolle](monitoring-aws-lex-cloudwatch.md#cloudwatch-metrics-for-logging).

Die Erfolgsmetriken zeigen, dass Amazon Lex Ihre Audio- oder Textprotokolle erfolgreich an ihre Ziele geschrieben hat. 

Die Fehlermetriken zeigen, dass Amazon Lex keine Audio- oder Textprotokolle an das angegebene Ziel senden konnte. In der Regel ist dies ein Konfigurationsfehler. Wenn Ihre Fehlermetriken über Null liegen, überprüfen Sie Folgendes:
+ Stellen Sie sicher, dass Amazon Lex eine vertrauenswürdige Entität für die IAM-Rolle ist.
+ Stellen Sie für die Textprotokollierung sicher, dass die Protokollgruppe CloudWatch Logs vorhanden ist. Stellen Sie für die Audioprotokollierung sicher, dass der S3-Bucket vorhanden ist.
+ Stellen Sie sicher, dass die IAM-Rolle, die Amazon Lex für den Zugriff auf die CloudWatch Logs-Protokollgruppe oder den S3-Bucket verwendet, über Schreibberechtigungen für die Protokollgruppe oder den Bucket verfügt.
+ Stellen Sie sicher, dass der S3-Bucket in derselben Region wie der Amazon Lex Lex-Bot existiert und zu Ihrem Konto gehört.
+ Wenn Sie einen AWS KMS Schlüssel für die S3-Verschlüsselung verwenden, stellen Sie sicher, dass es keine Richtlinien gibt, die Amazon Lex daran hindern, Ihren Schlüssel zu verwenden, und stellen Sie sicher, dass die von Ihnen angegebene IAM-Rolle über die erforderlichen AWS KMS Berechtigungen verfügt. Weitere Informationen finden Sie unter [IAM-Richtlinien für Konversationsprotokolle](conversation-logs-policies.md).

# Verwaltung von Sitzungen mit der Amazon Lex API
<a name="how-session-api"></a>

Wenn ein Benutzer eine Konversation mit Ihrem Bot beginnt, erstellt Amazon Lex eine *Sitzung*. Die zwischen Ihrer Anwendung und Amazon Lex ausgetauschten Informationen bilden den Sitzungsstatus für die Konversation. Wenn Sie eine Anforderung absenden, wird die Sitzung anhand einer Kombination aus dem Bot-Namen und einer von Ihnen angegebenen Benutzer-ID identifiziert. Weitere Informationen über die Benutzer-ID finden Sie im Feld `userId` in der Operation [PostContent](API_runtime_PostContent.md) oder [PostText](API_runtime_PostText.md).

Die Antwort aus einer Sitzungsoperation enthält eine eindeutige Sitzungs-ID, anhand der eine bestimmte Sitzung mit einem Benutzer identifiziert wird. Sie können diese Kennung beim Testen oder zum Beheben von Problemen mit Ihrem Bot verwenden.

Sie können den zwischen Ihrer Anwendung und Ihrem Bot gesendeten Sitzungsstatus ändern. Beispielsweise können Sie Sitzungsattribute erstellen und ändern, die benutzerdefinierte Informationen zur Session enthalten. Außerdem können Sie den Gesprächsablauf ändern, indem Sie den Dialogkontext für die Interpretation der nächste Äußerung festlegen.

Es gibt zwei Möglichkeiten, wie Sie den Sitzungsstatus aktualisieren können. Die erste besteht darin, eine Lambda-Funktion mit der `PostText` Operation `PostContent` or zu verwenden, die nach jeder Runde der Konversation aufgerufen wird. Weitere Informationen finden Sie unter [Verwendung von Lambda-Funktionen](using-lambda.md). Die andere Möglichkeit besteht darin, die Amazon Lex Lex-Laufzeit-API in Ihrer Anwendung zu verwenden, um Änderungen am Sitzungsstatus vorzunehmen. 

Die Amazon Lex Runtime API bietet Operationen, mit denen Sie Sitzungsinformationen für eine Konversation mit Ihrem Bot verwalten können. Hierzu gehören die Operation [PutSession](API_runtime_PutSession.md), die Operation [GetSession](API_runtime_GetSession.md) und die Operation [DeleteSession](API_runtime_DeleteSession.md). Sie können mit diesen Operationen Informationen über den Status der Sitzung Ihres Benutzers mit Ihrem Bot anfordern und eine differenzierte Kontrolle über den Status erlangen.

Verwenden Sie die Operation `GetSession`, wenn Sie den aktuellen Status der Sitzung anfordern möchten. Die Operation gibt den aktuellen Status der Sitzung, einschließlich des Status des Dialogs mit Ihrem Benutzer und aller festgelegten Sitzungsattribute und Slot-Werte für die letzten drei Absichten zurück, mit denen der Benutzer interagiert hat. 

Die Operation `PutSession` ermöglicht es Ihnen, den aktuellen Sitzungsstatus direkt zu bearbeiten. Sie können die Art von Dialogaktion festlegen, die der Bot als Nächstes ausführen wird. Dadurch haben Sie Kontrolle über den Gesprächsablauf mit dem Bot. Stellen Sie das `type` Dialogaktionsfeld `Delegate` auf ein, damit Amazon Lex die nächste Aktion für den Bot bestimmt.

Sie können mit der Operation `PutSession` eine neue Sitzung mit einem Bot erstellen und die Absicht festlegen, mit der der Bot beginnen soll. Sie können mit der Operation `PutSession` auch von einer Absicht zu einer anderen wechseln. Wenn Sie eine Sitzung erstellen oder die Absicht ändern, können Sie auch den Sitzungsstatus, wie z. B. Slot-Werte und Sitzungsattribute, festlegen. Wenn die neue Absicht abgeschlossen ist, haben Sie die Möglichkeit, die vorherige Absicht neu zu starten. Sie können den `GetSession` Vorgang verwenden, um den Dialogstatus der vorherigen Absicht von Amazon Lex abzurufen und anhand der Informationen den Dialogstatus der Absicht festzulegen.

Die Antwort von der Operation `PutSession` enthält die gleichen Informationen wie die von der Operation `PostContent`. Sie können diese Informationen, genauso wie die Antwort von der Operation `PostContent`, verwenden, um vom Benutzer die nächste Teilinformation anzufordern.

Sie können mit der Operation `DeleteSession` eine vorhandene Sitzung entfernen und mit einer neuen Sitzung ganz von vorne beginnen. Wenn Sie beispielsweise Ihren Bot testen, können Sie mit der Operation `DeleteSession` Testsitzungen von Ihrem Bot entfernen.

Die Sitzungsvorgänge funktionieren mit Ihren Fulfillment-Lambda-Funktionen. Wenn Ihre Lambda-Funktion beispielsweise `Failed` als Erfüllungsstatus zurückkehrt, können Sie die `PutSession` Operation verwenden, um den Aktionstyp des Dialogs auf `close` und `fulfillmentState` auf festzulegen, um den Erfüllungsschritt erneut `ReadyForFulfillment` zu versuchen.

Es folgen einige Aufgaben, die Sie mit den Sitzungsoperationen ausführen können:
+ Veranlassen des Bots zum Starten einer Konversation, anstatt auf den Benutzer zu warten.
+ Wechseln von Absichten während einer Konversation.
+ Zurückkehren zur einer vorherigen Absicht.
+ Starten oder Neustarten einer Konversation während der Interaktion.
+ Validieren von Slot-Werten und Veranlassen des Bots, für ungültige Werte neue Werte anzufordern.

Jede dieser Aufgaben wird im Folgenden beschrieben.

## Wechseln von Absichten
<a name="session-switch"></a>

Sie können mit der Operation `PutSession` von einer Absicht zu einer anderen wechseln. Sie können mit ihr auch zu einer vorherigen Absicht zurückwechseln. Sie können mit der Operation `PutSession` Sitzungsattribute oder Slot-Werte für die neue Absicht einstellen.
+ Aufrufen der `PutSession`-Operation. Legen Sie als Absichtsnamen den Namen der neuen Absicht und als Dialogaktion `Delegate` fest. Sie können auch alle für die neue Absicht erforderlichen Slot-Werte oder Sitzungsattribute festlegen.
+ Amazon Lex beginnt eine Konversation mit dem Benutzer, der die neue Absicht verwendet.

## Fortsetzen einer vorherigen Absicht
<a name="session-return"></a>

Um eine vorherige Absicht fortzusetzen, fordern Sie mit der Operation `GetSession` eine Zusammenfassung der Absicht an und legen Sie mit der Operation `PutSession` dann wieder den vorherigen Dialogstatus der Absicht fest.
+ Aufrufen der `GetSession`-Operation. Die Antwort von der Operation enthält eine Zusammenfassung des Dialogstatus der letzten drei Absichten, mit denen der Benutzer interagiert hat.
+ Rufen Sie mittels der Informationen aus der Absichtszusammenfassung die Operation `PutSession` auf. Dadurch gelangt der Benutzer wieder zur vorherigen Absicht an der gleichen Stelle im Gespräch.

In einigen Fällen kann es erforderlich sein, dass die Konversation Ihres Benutzers mit Ihrem Bot fortgesetzt wird. Angenommen, Sie haben einen Kundenservice-Bot erstellt. Ihre Anwendung stellt fest, dass der Benutzer mit einem Kundendienstmitarbeiter sprechen muss. Nach der Unterhaltung mit dem Benutzer kann der Mitarbeiter das Gespräch mit den vom ihm erfassten Informationen wieder an den Bot weiterleiten.

Um eine Sitzung fortzusetzen, verwenden Sie Schritte ähnlich wie diese:
+ Ihre Anwendung stellt fest, dass der Benutzer mit einem Kundendienstmitarbeiter sprechen muss.
+ Fordern Sie mit der Operation `GetSession` den aktuellen Dialogstatus der Absicht an. 
+ Der Kundendienstmitarbeiter spricht mit dem Benutzer und löst das Problem.
+ Legen Sie mit der Operation `PutSession` den Dialogstatus der Absicht fest. Hierzu gehören möglicherweise Festlegen von Slot-Werten, Einstellen von Sitzungsattributen oder Ändern der Absicht.
+ Der Bot setzt die Konversation mit dem Benutzer fort.

Sie können den `checkpointLabel`-Parameter der `PutSession`-Operation verwenden, um eine Absicht zu beschriften, damit Sie sie später finden können. Beispielsweise kann ein Bot, der einen Kunden um Informationen bittet, eine `Waiting`-Absicht eingehen, während der Kunde die Informationen zusammenträgt. Der Bot erstellt eine Prüfpunktbeschriftung für die aktuelle Absicht und startet die `Waiting`-Absicht dann. Wenn der Kunde zurückkehrt, kann der Bot die vorherige Absicht mithilfe der Prüfpunktbeschriftung finden und zurückschalten. 

Die Absicht muss in der `recentIntentSummaryView`-Struktur vorhanden sein, die von der `GetSession`-Operation zurückgegeben wird. Wenn Sie in der `GetSession`-Vorgangsanforderung eine Prüfpunktbeschriftung angeben, werden maximal drei Absichten mit dieser Prüfpunktbeschriftung zurückgegeben.
+ Verwenden Sie den `GetSession`-Vorgang, um den aktuellen Status der Sitzung abzurufen.
+ Verwenden Sie den `PutSession`-Vorgang, um der letzten Absicht eine Prüfpunktbeschriftung hinzuzufügen. Bei Bedarf können Sie diesen `PutSession`-Aufruf verwenden, um zu einer anderen Absicht zu wechseln.
+ Wenn es an der Zeit ist, zur beschrifteten Absicht zurückzukehren, rufen Sie den `GetSession`-Vorgang auf, um eine aktuelle Absichtsliste zurückzugeben. Sie können den `checkpointLabelFilter` Parameter verwenden, sodass Amazon Lex nur Absichten mit der angegebenen Checkpoint-Bezeichnung zurückgibt.

## Starten einer neuen Sitzung
<a name="session-start"></a>

Wenn Sie möchten, dass der Bot die Konversation mit Ihrem Benutzer startet, können Sie dazu Operation `PutSession` verwenden. 
+ Erstellen Sie eine Begrüßungsabsicht ohne Slots und eine abschließende Nachricht, die den Benutzer auffordert, eine Absicht zu nennen. Beispiel: „Was möchten Sie bestellen? Sie können Folgendes sagen: 'Ein Getränk bestellen' oder 'Eine Pizza bestellen'.“
+ Aufrufen der `PutSession`-Operation. Legen Sie als Absichtsnamen den Namen Ihrer Begrüßungsabsicht und als Dialogaktion `Delegate` fest. 
+ Amazon Lex antwortet mit der Aufforderung von Your Welcome Intent, die Konversation mit Ihrem Benutzer zu beginnen.

## Validieren der Slot-Werte
<a name="session-validation"></a>

Sie können Antworten an Ihren Bot mit Ihrer Client-Anwendung validieren. Wenn die Antwort nicht gültig ist, können Sie mit der Operation `PutSession` eine neue Antwort von Ihrem Benutzer anfordern. Angenommen, Ihr Bot zur Aufnahme von Blumenbestellungen kann nur Rosen, Tulpen und Lilien verkaufen. Wenn der Benutzer Nelken bestellt, kann Ihre Anwendung wie folgt vorgehen:
+ Untersuchen des Slot-Wertes, der von der Antwort `PostText` oder `PostContent` zurückgegeben wird.
+ Wenn der Slot-Wert nicht gültig ist, Aufrufen der Operation `PutSession`. Ihre Anwendung sollte den Slot-Wert löschen, das Feld `slotToElicit` festlegen und den Wert `dialogAction.type` auf `elicitSlot` einstellen. Optional können Sie die `messageFormat` Felder `message` und festlegen, wenn Sie die Nachricht ändern möchten, die Amazon Lex verwendet, um den Slot-Wert zu ermitteln.

# Bot-Bereitstellungsoptionen
<a name="chatbot-service"></a>

Derzeit bietet Amazon Lex die folgenden Optionen für die Bot-Bereitstellung:
+ [AWS SDK für Mobilgeräte](https://aws.amazon.com/mobile/sdk/) — Sie können mobile Anwendungen erstellen, die mithilfe von AWS Mobile mit Amazon Lex kommunizieren SDKs.
+ Facebook Messenger — Sie können Ihre Facebook Messenger-Seite in Ihren Amazon Lex Lex-Bot integrieren, sodass Endbenutzer auf Facebook mit dem Bot kommunizieren können. In der aktuellen Implementierung unterstützt diese Integration nur eingegebene Text-Mitteilungen. 
+ Slack — Sie können Ihren Amazon Lex Lex-Bot in eine Slack-Messaging-Anwendung integrieren.
+ Twilio — Sie können Ihren Amazon Lex Lex-Bot in den Twilio Simple Messaging Service (SMS) integrieren.

Beispiele finden Sie unter [Bereitstellung von Amazon Lex Bots](examples.md).

# Integrierte Absichten und Slot-Typen
<a name="howitworks-builtins"></a>

Um die Erstellung von Bots zu vereinfachen, können Sie in Amazon Lex standardmäßig integrierte Intents und Slot-Typen verwenden. 

**Topics**
+ [Integrierte Absichten](howitworks-builtins-intents.md)
+ [Integrierte Slot-Typen](howitworks-builtins-slots.md)

# Integrierte Absichten
<a name="howitworks-builtins-intents"></a>

Für allgemeine Aktionen können Sie die standardmäßige integrierte Intents-Bibliothek verwenden. Um eine Absicht aus einer integrierten Absicht zu erstellen, wählen Sie eine integrierte Absicht in der Konsole und weisen ihr einen neuen Namen zu. Die neue Absicht hat die Konfiguration der Basisabsicht, wie z. B. die Beispieläußerungen. 

In der aktuellen Implementierung ist Folgendes nicht möglich: 
+ Fügen Sie der Basisabsicht Beispieläußerungen hinzu oder entfernen Sie sie daraus
+ Konfigurieren von Slots für integrierte Absichten

**Um einem Bot eine integrierte Absicht hinzuzufügen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie den Bot aus, dem Sie die integrierte Absicht hinzufügen möchten.

1. Wählen Sie im Navigationsbereich das Pluszeichen (\$1) neben **Intents (Absichten)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Search existing intents (Vorhandene Absichten durchsuchen)**.

1. Geben **Sie im Feld Suchabsichten** den Namen der integrierten Absicht ein, die Sie Ihrem Bot hinzufügen möchten.

1. Geben **Sie unter Integrierte Absicht kopieren** einen Namen für die Absicht ein und wählen Sie dann **Hinzufügen** aus.

1. Konfigurieren Sie die Absicht nach Bedarf für Ihren Bot.

**Topics**
+ [AMAZON.CancelIntent](built-in-intent-cancel.md)
+ [AMAZON.FallbackIntent](built-in-intent-fallback.md)
+ [AMAZON.HelpIntent](built-in-intent-help.md)
+ [AMAZON.KendraSearchIntent](built-in-intent-kendra-search.md)
+ [AMAZON.PauseIntent](built-in-intent-pause.md)
+ [AMAZON.RepeatIntent](built-in-intent-repeat.md)
+ [AMAZON.ResumeIntent](built-in-intent-resume.md)
+ [AMAZON.StartOverIntent](built-in-intent-start-over.md)
+ [AMAZON.StopIntent](built-in-intent-stop.md)

**Anmerkung**  
Für das Gebietsschema Englisch (USA) (en-US) unterstützt Amazon Lex Intents aus den integrierten Alexa-Standardabsichten. Die Liste der integrierten Absichten finden Sie unter [Standard Built-in Intents (Integrierte Standardabsichten)](https://developer.amazon.com/docs/custom-skills/standard-built-in-intents.html) im *Alexa Skills Kit*.  
Amazon Lex unterstützt die folgenden Absichten nicht:  
`AMAZON.YesIntent`
`AMAZON.NoIntent` 
Die Absichten in der [Built-in Intent Library (Bibliothek integrierter Absichten)](https://developer.amazon.com/docs/custom-skills/built-in-intent-library.html) im *Alexa Skills Kit*

# AMAZON.CancelIntent
<a name="built-in-intent-cancel"></a>

Reagiert auf Wörter und Ausdrücke, die darauf hinweisen, dass der Benutzer die aktuelle Interaktion abbrechen möchte. Ihre Anwendung kann diese Absicht nutzen, um Slot-Typ-Werte und andere Attribute zu entfernen, bevor die Interaktion mit dem Benutzer beendet wird.

Allgemeine Äußerungen:
+ abbrechen
+ egal
+ vergiss es

# AMAZON.FallbackIntent
<a name="built-in-intent-fallback"></a>

Wenn die Eingabe eines Benutzers zu einer Absicht nicht den Erwartungen eines Bot entspricht, können Sie Amazon Lex so konfigurieren, dass eine *Fallback-Absicht* aufgerufen wird. Wenn beispielsweise die Benutzereingabe „Ich möchte Süßigkeiten bestellen“ nicht mit einer Absicht in Ihrem `OrderFlowers` Bot übereinstimmt, ruft Amazon Lex die Fallback-Absicht auf, um die Antwort zu bearbeiten.

Sie fügen eine Fallback-Absicht hinzu, indem Sie Ihrem Bot den integrierten Absichtstyp `AMAZON.FallbackIntent` hinzufügen. Sie können die Absicht mithilfe der [PutBot](API_PutBot.md)-Operation oder durch Auswahl der Absicht aus der Liste der integrierten Absichten in der Konsole angeben. 

Das Aufrufen einer Fallback-Absicht verwendet zwei Schritte. Im ersten Schritt wird die Fallback-Absicht basierend auf der Eingabe des Benutzers abgeglichen. Wenn die Fallback-Absicht übereinstimmt, hängt das Verhalten des Bots von der Anzahl der Wiederholungen ab, die für eine Eingabeaufforderung konfiguriert wurden. Wenn beispielsweise die maximale Anzahl von Versuchen, eine Absicht zu bestimmen, 2 beträgt, gibt der Bot die Klärungsaufforderung des Bots zweimal zurück, bevor er die Fallback-Absicht aufruft.

Amazon Lex entspricht in den folgenden Situationen der Fallback-Absicht: 
+ Die Eingabe des Benutzers für eine Absicht stimmt nicht mit der Eingabe überein, die der Bot erwartet
+ Audioeingabe ist Rauschen, oder Texteingaben werden nicht als Wörter erkannt.
+ Die Benutzereingabe ist mehrdeutig und Amazon Lex kann nicht bestimmen, welche Absicht aufgerufen werden soll.

Die Fallback-Absicht wird aufgerufen, wenn:
+ Der Bot erkennt die Benutzereingabe nach der konfigurierten Anzahl von Versuchen zur Klärung, wenn die Konversation gestartet wird, nicht als Absicht.
+ Eine Absicht erkennt die Benutzereingabe nach der konfigurierten Anzahl von Versuchen nicht als Slot-Wert.
+ Eine Absicht erkennt die Benutzereingabe nicht als Antwort auf eine Bestätigungsaufforderung nach der konfigurierten Anzahl von Versuchen.

Sie können Folgendes mit einer Fallback-Absicht verwenden:
+ Eine Lambda-Funktion zur Erfüllung
+ Eine Schlussfolgerung
+ Eine Follow-up-Eingabeaufforderung

Es ist nicht möglich, Folgendes zu einer Fallback-Absicht hinzuzufügen:
+ Äußerungen
+ Slots
+ Eine Lambda-Funktion zur Initialisierung und Validierung 
+ Eine Bestätigungsaufforderung

Wenn Sie sowohl eine Stornierungsanweisung als auch eine Fallback-Absicht für einen Bot konfiguriert haben, verwendet Amazon Lex die Fallback-Absicht. Wenn Sie möchten, dass Ihr Bot über eine Stornoerklärung verfügt, können Sie die Fulfillment-Funktion für die alternative Absicht verwenden, um dasselbe Verhalten wie eine Stornoerklärung zu erzielen. Weitere Informationen finden Sie im Parameter `abortStatement` der [PutBot](API_PutBot.md)-Operation.

## Verwenden von Klärungsaufforderungen
<a name="fallback-clarification"></a>

Wenn Sie Ihrem Bot eine Klärungsaufforderung bereitstellen, wird über die Eingabeaufforderung eine gültige Absicht vom Benutzer angefordert. Die Klärungsaufforderung wird so oft, wie von Ihnen konfiguriert, wiederholt. Danach wird die Fallback-Absicht aufgerufen.

Wenn Sie bei der Erstellung eines Bots keine Klarstellungsaufforderung einrichten und der Benutzer die Konversation nicht mit einer gültigen Absicht beginnt, ruft Amazon Lex sofort Ihre Fallback-Absicht auf. 

Wenn Sie eine Fallback-Absicht ohne Aufforderung zur Klärung verwenden, ruft Amazon Lex den Fallback unter den folgenden Umständen nicht auf:
+ Wenn der Benutzer auf eine Follow-up-Aufforderung antwortet, aber keine Absicht bereitstellt. Zum Beispiel als Antwort auf eine Folgeaufforderung mit der Aufschrift „Möchten Sie heute noch etwas anderes?“ , sagt der Benutzer „Ja“. Amazon Lex gibt die Ausnahme 400 Bad Request zurück, da es keine Klarstellungsaufforderung gibt, die an den Benutzer gesendet werden muss, um eine Absicht zu erhalten.
+ Wenn Sie eine AWS Lambda Funktion verwenden, geben Sie einen `ElicitIntent` Dialogtyp zurück. Da Amazon Lex keine Klarstellungsaufforderung hat, um eine Absicht des Benutzers zu erhalten, gibt es die Ausnahme 400 Bad Request zurück.
+ Wenn Sie die `PutSession`-Operation verwenden, senden Sie einen `ElicitIntent`-Dialogtyp. Da Amazon Lex keine Klarstellungsaufforderung hat, um eine Absicht des Benutzers zu erhalten, gibt es die Ausnahme 400 Bad Request zurück.

## Verwenden einer Lambda-Funktion mit einer Fallback-Absicht
<a name="invoke-fallback"></a>

Wenn eine Fallback-Absicht aufgerufen wird, hängt die Antwort von der Einstellung des Parameters `fulfillmentActivity` für die Operation [PutIntent](API_PutIntent.md) ab. Der Bot führt einen der folgenden Schritte aus:
+ Gibt die Absicht-Informationen an die Client-Anwendung zurück.
+ Ruft die Fulfillment-Lambda-Funktion auf. Sie ruft die Funktion mit den Sitzungsvariablen auf, die für die Sitzung festgelegt sind.

Weitere Informationen zum Festlegen der Antwort, wenn eine Fallback-Absicht aufgerufen wird, finden Sie im Parameter `fulfillmentActivity` der [PutIntent](API_PutIntent.md)-Operation. 

Wenn Sie die Fulfillment-Lambda-Funktion in Ihrer Fallback-Absicht verwenden, können Sie diese Funktion verwenden, um eine andere Absicht aufzurufen oder um irgendeine Form der Kommunikation mit dem Benutzer durchzuführen, z. B. eine Rückrufnummer zu sammeln oder eine Sitzung mit einem Kundendienstmitarbeiter zu eröffnen.

Sie können in einer Fallback-Intent-Lambda-Funktion jede Aktion ausführen, die Sie in der Fulfillment-Funktion für jede andere Absicht ausführen können. Weitere Informationen zum Erstellen einer Fulfillment-Funktion mithilfe von finden Sie AWS Lambda unter. [Verwendung von Lambda-Funktionen](using-lambda.md)

Eine Fallback-Absicht kann mehrmals in derselben Sitzung aufgerufen werden. Nehmen wir beispielsweise an, dass Ihre Lambda-Funktion die `ElicitIntent` Dialogaktion verwendet, um den Benutzer zu einer anderen Absicht aufzufordern. Wenn Amazon Lex nach der konfigurierten Anzahl von Versuchen nicht auf die Absicht des Benutzers schließen kann, ruft es die Fallback-Absicht erneut auf. Außerdem wird die Fallback-Absicht aufgerufen, wenn der Benutzer nach der konfigurierten Anzahl von Versuchen nicht mit einem gültigen Slot-Wert antwortet.

Sie können eine Lambda-Funktion so konfigurieren, dass sie mithilfe einer Sitzungsvariablen nachverfolgt, wie oft die Fallback-Absicht aufgerufen wird. Ihre Lambda-Funktion kann eine andere Aktion ausführen, wenn sie öfter aufgerufen wird als der Schwellenwert, den Sie in Ihrer Lambda-Funktion festgelegt haben. Weitere Informationen zu Sitzungsvariablen finden Sie unter [Festlegen von Sitzungsattributen](context-mgmt-session-attribs.md).

# AMAZON.HelpIntent
<a name="built-in-intent-help"></a>

Reagiert auf Wörter oder Ausdrücke, die darauf hinweisen, dass der Benutzer bei der Interaktion mit Ihrem Bot Hilfe benötigt. Wenn diese Absicht aufgerufen wird, können Sie Ihre Lambda-Funktion oder -Anwendung so konfigurieren, dass sie Informationen über die Fähigkeiten Ihres Bots bereitstellt, Folgefragen zu Hilfebereichen stellt oder die Interaktion einem menschlichen Agenten übergibt. 

Allgemeine Äußerungen:
+ help
+ hilf mir
+ kannst du mir helfen

# AMAZON.KendraSearchIntent
<a name="built-in-intent-kendra-search"></a>

Verwenden Sie die Absicht, um nach Dokumenten zu suchen, die Sie mit Amazon Kendra indexiert haben. `AMAZON.KendraSearchIntent` Wenn Amazon Lex die nächste Aktion in einer Konversation mit dem Benutzer nicht bestimmen kann, löst es die Suchabsicht aus.

Das `AMAZON.KendraSearchIntent` ist nur in den Regionen Englisch (US) (en-US) und in den Regionen USA Ost (Nord-Virginia), USA West (Oregon) und Europa (Irland) verfügbar.

Amazon Kendra ist ein machine-learning-based Suchdienst, der Dokumente in natürlicher Sprache wie PDF-Dokumente oder Microsoft Word-Dateien indexiert. Es kann indizierte Dokumente durchsuchen und die folgenden Arten von Antworten auf Fragen zurückgeben:
+ Antworten 
+ Einträge aus häufig gestellten Fragen, die die Fragen möglicherweise beantworten
+ Dokumente, die sich auf die Fragen beziehen

Ein Beispiel für die Verwendung von `AMAZON.KendraSearchIntent` finden Sie unter [Beispiel: Einen FAQ-Bot für einen Amazon Kendra Kendra-Index erstellen](faq-bot-kendra-search.md).

Wenn Sie eine `AMAZON.KendraSearchIntent` Absicht für Ihren Bot konfigurieren, ruft Amazon Lex die Absicht immer dann auf, wenn es die Benutzeräußerung für einen Slot oder eine Absicht nicht ermitteln kann. Wenn Ihr Bot beispielsweise eine Antwort für einen Slot-Typ namens „Pizzabelag“ auslöst und der Benutzer sagt: „Was ist eine Pizza? „, ruft Amazon Lex `AMAZON.KendraSearchIntent` an, um die Frage zu beantworten. Wenn keine Antwort von Amazon Kendra eingeht, wird die Konversation wie im Bot konfiguriert fortgesetzt.

Wenn Sie `AMAZON.KendraSearchIntent` sowohl das als auch das `AMAZON.FallbackIntent` im selben Bot verwenden, verwendet Amazon Lex die Absichten wie folgt:

1. Amazon Lex nennt das`AMAZON.KendraSearchIntent`. Die Absicht nennt Amazon Kendra `Query` Operation.

1. Wenn Amazon Kendra eine Antwort zurückgibt, zeigt Amazon Lex dem Benutzer das Ergebnis an.

1. Wenn Amazon Kendra keine Antwort erhält, fordert Amazon Lex den Benutzer erneut auf. Die nächste Aktion hängt von der Antwort des Benutzers ab.
   + Wenn die Antwort des Benutzers eine Äußerung enthält, die Amazon Lex erkennt, z. B. das Ausfüllen eines Slot-Werts oder die Bestätigung einer Absicht, wird die Konversation mit dem Benutzer wie für den Bot konfiguriert fortgesetzt.
   + Wenn die Antwort des Benutzers keine Äußerung enthält, die Amazon Lex erkennt, ruft Amazon Lex den `Query` Vorgang erneut auf.

1. Wenn nach der konfigurierten Anzahl von Wiederholungen keine Antwort erfolgt, ruft Amazon Lex den an `AMAZON.FallbackIntent` und beendet die Konversation mit dem Benutzer.

Es gibt drei Möglichkeiten, mit dem eine Anfrage `AMAZON.KendraSearchIntent` an Amazon Kendra zu stellen:
+ Lassen Sie die Suchabsicht die Anfrage für Sie stellen. Amazon Lex ruft Amazon Kendra mit der Äußerung des Benutzers als Suchzeichenfolge auf. Wenn Sie die Absicht erstellen, können Sie eine Abfragefilterzeichenfolge definieren, die die Anzahl der Antworten begrenzt, die Amazon Kendra zurückgibt. Amazon Lex verwendet den Filter in der Abfrageanforderung.
+ Fügen Sie der Anfrage zusätzliche Abfrageparameter hinzu, um die Suchergebnisse mithilfe Ihrer Dialog-Lambda-Funktion einzugrenzen. Sie fügen der `delegate` Dialogaktion ein `kendraQueryFilterString` Feld hinzu, Amazon Kendra Kendra-Abfrageparameter enthält. Wenn Sie der Anfrage mit der Lambda-Funktion Abfrageparameter hinzufügen, haben diese Vorrang vor dem Abfragefilter, den Sie bei der Erstellung der Absicht definiert haben.
+ Erstellen Sie eine neue Abfrage mit der Dialog-Lambda-Funktion. Sie können eine vollständige Amazon Kendra Kendra-Abfrageanforderung erstellen, die Amazon Lex sendet. Sie legen die Abfrage im Feld `kendraQueryRequestPayload` in der Dialogaktion `delegate` fest. Das Feld `kendraQueryRequestPayload` hat Vorrang vor dem Feld `kendraQueryFilterString`.

Um den `queryFilterString` Parameter anzugeben, wenn Sie einen Bot erstellen, oder um das `kendraQueryFilterString` Feld anzugeben, wenn Sie die `delegate` Aktion in einer Dialog-Lambda-Funktion aufrufen, geben Sie eine Zeichenfolge an, die als Attributfilter für die Amazon Kendra Kendra-Abfrage verwendet wird. Wenn die Zeichenfolge kein gültiger Attributfilter ist, wird zur Laufzeit die Ausnahme `InvalidBotConfigException` zurückgegeben. Weitere Informationen zu Attributfiltern finden Sie unter [Verwenden von Dokumentattributen zum Filtern von Abfragen](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) im *Amazon Kendra Developer Guide*.

Um die Abfrage zu kontrollieren, die Amazon Lex an Amazon Kendra sendet, können Sie in dem `kendraQueryRequestPayload` Feld Ihrer Dialog-Lambda-Funktion eine Abfrage angeben. Wenn die Abfrage nicht gültig ist, gibt Amazon Lex eine `InvalidLambdaResponseException` Ausnahme zurück. Weitere Informationen finden Sie unter [Abfragevorgang](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) im *Amazon Kendra Developer Guide*.

Ein Beispiel für die Verwendung von `AMAZON.KendraSearchIntent` finden Sie unter [Beispiel: Einen FAQ-Bot für einen Amazon Kendra Kendra-Index erstellen](faq-bot-kendra-search.md).

## IAM-Richtlinie für Amazon Kendra Search
<a name="kendra-search-iam"></a>

Um den `AMAZON.KendraSearchIntent` Intent zu verwenden, müssen Sie eine Rolle verwenden, die AWS Identity and Access Management (IAM) -Richtlinien bereitstellt, die es Amazon Lex ermöglichen, eine Runtime-Rolle anzunehmen, die berechtigt ist, den Amazon Kendra `Query` Kendra-Intent aufzurufen. Die IAM-Einstellungen, die Sie verwenden, hängen davon ab, ob Sie die `AMAZON.KendraSearchIntent` mit der Amazon Lex Lex-Konsole oder mit einem AWS-SDK oder dem AWS Command Line Interface (AWS CLI) erstellen. Wenn Sie die Konsole verwenden, können Sie wählen, ob Sie der mit dem Amazon Lex-Service verbundenen Rolle die Berechtigung zum Aufrufen von Amazon Kendra hinzufügen oder eine Rolle speziell für den Aufruf des Amazon `Query` Kendra Kendra-Vorgangs verwenden möchten. Wenn Sie das AWS CLI oder ein SDK verwenden, um die Absicht zu erstellen, müssen Sie eine Rolle verwenden, die speziell für den Aufruf der Operation bestimmt ist. `Query`

### Anfügen von Berechtigungen
<a name="kendra-iam-attach"></a>

Sie können die Konsole verwenden, um der standardmäßigen serviceverknüpften Rolle von Amazon Lex Berechtigungen für den Zugriff auf den Amazon `Query` Kendra-Vorgang zuzuweisen. Wenn Sie der serviceverknüpften Rolle Berechtigungen zuordnen, müssen Sie keine spezielle Runtime-Rolle erstellen und verwalten, um eine Verbindung zum Amazon Kendra Kendra-Index herzustellen.

Der Benutzer, die Rolle oder die Gruppe, die Sie für den Zugriff auf die Amazon Lex-Konsole verwenden, muss über Berechtigungen zur Verwaltung von Rollenrichtlinien verfügen. Fügen Sie der Konsolenzugriffsrolle die folgende IAM-Richtlinie hinzu. Wenn Sie diese Berechtigungen erteilen, verfügt die Rolle über Berechtigungen zum Ändern der vorhandenen Richtlinie für die serviceverknüpfte Rolle. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:GetRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/lex.amazonaws.com/AWSServiceRoleForLexBots"
        },
        {
            "Effect": "Allow",
            "Action": "iam:ListRoles",
            "Resource": "*"
        }
    ]
}
```

------

### Angeben einer Rolle
<a name="kendra-iam-role"></a>

Sie können die Konsole, die oder die API verwenden AWS CLI, um eine Laufzeitrolle anzugeben, die beim Aufrufen des Amazon Kendra `Query` Kendra-Vorgangs verwendet werden soll. 

Der Benutzer, die Rolle oder die Gruppe, die Sie zur Angabe der Runtime-Rolle verwenden, muss über die `iam:PassRole` entsprechende Berechtigung verfügen. Die folgende Richtlinie definiert die Berechtigung. Sie können die Bedingungskontextschlüssel `iam:AssociatedResourceArn` und `iam:PassedToService` verwenden, um den Umfang der Berechtigungen weiter einzuschränken. Weitere Informationen finden Sie unter [IAM und AWS STS Condition Context Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html) im *AWS Identity and Access Management Benutzerhandbuch*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

Die Runtime-Rolle, die Amazon Lex zum Aufrufen von Amazon Kendra verwenden muss, muss über die `kendra:Query` entsprechenden Berechtigungen verfügen. Wenn Sie eine bestehende IAM-Rolle für die Erlaubnis zum Aufrufen des Amazon Kendra `Query` Kendra-Vorgangs verwenden, muss der Rolle die folgende Richtlinie beigefügt sein.

Sie können die IAM-Konsole, die IAM-API oder die verwenden, um eine Richtlinie AWS CLI zu erstellen und sie einer Rolle zuzuordnen. In diesen Anweisungen wird die AWS CLI zum Erstellen der Rolle und Richtlinien verwendet.

**Anmerkung**  
Der folgende Code ist für Linux und MacOS formatiert. Ersetzen Sie unter Windows das Linux-Zeilenfortsetzungszeichen (\$1) durch ein Caret-Zeichen (^).

**So fügen Sie einer Rolle die Berechtigung für die Query-Operation hinzu**

1. Erstellen Sie im aktuellen Verzeichnis ein Dokument mit dem Namen **KendraQueryPolicy.json**, fügen Sie ihm folgenden Code hinzu und speichern Sie es.

1. Führen Sie in der den folgenden Befehl aus AWS CLI, um die IAM-Richtlinie für die Ausführung des Amazon Kendra `Query` Kendra-Vorgangs zu erstellen.

   ```
   aws iam create-policy \
       --policy-name query-policy-name \
       --policy-document file://KendraQueryPolicy.json
   ```

1. Hängen Sie die Richtlinie an die IAM-Rolle an, mit der Sie den Vorgang aufrufen. `Query`

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/query-policy-name
       --role-name role-name
   ```

Sie können wählen, ob Sie die mit dem Service verknüpfte Amazon Lex Lex-Rolle aktualisieren oder eine Rolle verwenden möchten, die Sie bei der Erstellung der `AMAZON.KendraSearchIntent` für Ihren Bot erstellt haben. Das folgende Verfahren zeigt, wie Sie die zu verwendende IAM-Rolle auswählen.

**Um die Runtime-Rolle für AMAZON anzugeben. KendraSearchIntent**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie den Bot, dem Sie `AMAZON.KendraSearchIntent` hinzufügen möchten.

1. Wählen Sie das Pluszeichen (\$1) neben **Intents (Absichten)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Search existing intents (Vorhandene Absichten durchsuchen)**.

1. Geben Sie unter **Search intents (Absichten suchen)** **AMAZON.KendraSearchIntent** ein und wählen Sie dann **Add (Hinzufügen)**.

1. Geben Sie unter **Copy built-in intent (Integrierte Absicht kopieren)** einen Namen für die Absicht ein, z. B. **KendraSearchIntent**, und wählen Sie dann **Add (Hinzufügen)**.

1. Öffnen Sie den Abschnitt **Amazon Kendra query (Amazon Kendra-Abfrage)**.

1. Wählen Sie unter **IAM role (IAM-Rolle)** eine der folgenden Optionen:
   + Um die mit dem Service verknüpfte Amazon Lex Lex-Rolle zu aktualisieren, sodass Ihr Bot Amazon Kendra Kendra-Indizes abfragen kann, wählen Sie Amazon Kendra **Kendra-Berechtigungen hinzufügen**.
   + Um eine Rolle zu verwenden, die berechtigt ist, den Amazon Kendra `Query` Kendra-Vorgang aufzurufen, wählen Sie **Bestehende Rolle verwenden**.

## Verwenden von Anforderungs- und Sitzungsattributen als Filter
<a name="kendra-search-filter"></a>

Um die Antwort von Amazon Kendra auf Elemente zu filtern, die sich auf die aktuelle Konversation beziehen, verwenden Sie Sitzungs- und Anforderungsattribute als Filter, indem Sie den `queryFilterString` Parameter hinzufügen, wenn Sie Ihren Bot erstellen. Sie geben einen Platzhalter für das Attribut an, wenn Sie die Absicht erstellen, und dann ersetzt Amazon Lex V2 einen Wert, bevor Amazon Kendra aufgerufen wird. Weitere Informationen zu Anforderungsattributen finden Sie unter [Festlegen von Anforderungsattributen](context-mgmt-request-attribs.md). Weitere Informationen über Sitzungsattribute finden Sie unter [Festlegen von Sitzungsattributen](context-mgmt-session-attribs.md).

Im Folgenden finden Sie ein Beispiel für einen `queryFilterString` Parameter, der eine Zeichenfolge verwendet, um die Amazon Kendra Kendra-Abfrage zu filtern.

```
"{"equalsTo": {"key": "City", "value": {"stringValue": "Seattle"}}}"
```

Im Folgenden finden Sie ein Beispiel für einen `queryFilterString` Parameter, der ein Sitzungsattribut verwendet, das aufgerufen wird`"SourceURI"`, um die Amazon Kendra Kendra-Abfrage zu filtern.

```
"{"equalsTo": {"key": "SourceURI","value": {"stringValue": "[FileURL]"}}}"
```

Im Folgenden finden Sie ein Beispiel für einen `queryFilterString` Parameter, der ein Anforderungsattribut verwendet, das aufgerufen wird`"DepartmentName"`, um die Amazon Kendra Kendra-Abfrage zu filtern.

```
"{"equalsTo": {"key": "Department","value": {"stringValue": "((DepartmentName))"}}}"
```

Die `AMAZON.KendraSearchInteng` Filter verwenden dasselbe Format wie die Amazon Kendra Kendra-Suchfilter. Weitere Informationen finden Sie unter [Verwenden von Dokumentattributen zum Filtern von Suchergebnissen](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) im *Amazon Kendra Developer Guide*.

Die mit dem verwendete Abfragefilterzeichenfolge `AMAZON.KendraSearchIntent` muss Kleinbuchstaben für den ersten Buchstaben jedes Filters verwenden. Der folgende ist beispielsweise ein gültiger Abfragefilter für. `AMAZON.KendraSearchIntent`

```
{
    "andAllFilters": [
        {
            "equalsTo": {
                "key": "City",
                "value": {
                    "stringValue": "Seattle"
                }
            }
        },
        {
            "equalsTo": {
                "key": "State",
                "value": {
                    "stringValue": "Washington"
                }
            }
        }
    ]
}
```

## Verwenden der Suchantwort
<a name="kendra-search-response"></a>

Amazon Kendra gibt die Antwort auf eine Suche in der Absichtserklärung zurück. `conclusion` Die Absicht muss eine `conclusion` Aussage enthalten, es sei denn, eine Fulfillment-Lambda-Funktion erzeugt eine Abschlussnachricht.

Amazon Kendra bietet vier Arten von Antworten. 
+ `x-amz-lex:kendra-search-response-question_answer-question-<N>`— Die Frage aus einer häufig gestellten Frage, die der Suche entspricht.
+ `x-amz-lex:kendra-search-response-question_answer-answer-<N>`— Die Antwort aus einer häufig gestellten Frage, die der Suche entspricht.
+ `x-amz-lex:kendra-search-response-document-<N>`— Ein Auszug aus einem Dokument im Index, der sich auf den Text der Äußerung bezieht.
+ `x-amz-lex:kendra-search-response-document-link-<N>`— Die URL eines Dokuments im Index, das sich auf den Text der Äußerung bezieht.
+ `x-amz-lex:kendra-search-response-answer-<N>`— Ein Auszug aus einem Dokument im Index, das die Frage beantwortet.

Die Antworten werden in `request`-Attributen zurückgegeben. Für jedes Attribut kann es bis zu fünf Antworten geben, nummeriert von 1 bis 5. Weitere Informationen zu Antworten finden Sie unter [Antworttypen](https://docs.aws.amazon.com/kendra/latest/dg/response-types.html) im *Amazon Kendra Developer Guide*. 

Die Anweisung `conclusion` muss eine oder mehrere Nachrichtengruppen aufweisen. Jede Nachrichtengruppe enthält eine oder mehrere Nachrichten. Jede Nachricht kann eine oder mehrere Platzhaltervariablen enthalten, die in der Antwort von Amazon Kendra durch Anforderungsattribute ersetzt werden. In der Nachrichtengruppe muss mindestens eine Nachricht vorhanden sein, in der alle Variablen in der Nachricht durch Anforderungsattributwerte in der Laufzeitantwort ersetzt werden, oder in der Gruppe muss eine Nachricht ohne Platzhaltervariablen vorhanden sein. Die Anforderungsattribute werden durch doppelte Klammern ("((" "))") hervorgehoben. Die folgenden Nachrichtengruppennachrichten stimmen mit allen Antworten von Amazon Kendra überein:
+ „Ich habe eine häufig gestellte Frage für Sie gefunden: ((x-amz-lex: kendra-search-response-question \$1answer-question-1)), und die Antwort lautet ((: \$1answer-answer-1))“ x-amz-lex kendra-search-response-question
+ „Ich habe einen Auszug aus einem hilfreichen Dokument gefunden: ((: -1))“ x-amz-lex kendra-search-response-document
+ „Ich denke, die Antwort auf Ihre Fragen lautet ((x-amz-lex: kendra-search-response-answer -1))“

## Verwenden einer Lambda-Funktion zur Verwaltung der Anfrage und Antwort
<a name="kendra-search-lambda"></a>

Die `AMAZON.KendraSearchIntent` Absicht kann Ihren Dialog-Code-Hook und Ihren Fulfillment-Code-Hook verwenden, um die Anfrage an Amazon Kendra und die Antwort zu verwalten. Verwenden Sie die Dialogcode-Hook-Lambda-Funktion, wenn Sie die Anfrage ändern möchten, die Sie an Amazon Kendra senden, und die Lambda-Funktion für den Fulfillment-Code-Hook, wenn Sie die Antwort ändern möchten.

### Erstellen einer Abfrage mit dem Dialogcode-Hook
<a name="kendra-search-lambda-dialog"></a>

Sie können den Dialog-Code-Hook verwenden, um eine Abfrage zu erstellen, die an Amazon Kendra gesendet werden soll. Die Verwendung des Dialogcode-Hooks ist optional. Wenn Sie keinen Dialog-Code-Hook angeben, erstellt Amazon Lex eine Abfrage aus der Benutzeräußerung und verwendet die`queryFilterString`, die Sie bei der Konfiguration der Absicht angegeben haben, sofern Sie eine angegeben haben.

Sie können zwei Felder in der Dialog-Code-Hook-Antwort verwenden, um die Anfrage an Amazon Kendra zu ändern:
+ `kendraQueryFilterString`— Verwenden Sie diese Zeichenfolge, um Attributfilter für die Amazon Kendra Kendra-Anforderung anzugeben. Sie können die Abfrage mithilfe eines beliebigen in Ihrem Index definierten Indexfelds filtern. Informationen zur Struktur der Filterzeichenfolge finden Sie unter [Verwenden von Dokumentattributen zum Filtern von Abfragen](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-filtering) im *Amazon Kendra Developer Guide*. Wenn die angegebene Filterzeichenfolge ungültig ist, erhalten Sie die Ausnahme `InvalidLambdaResponseException`. Die `kendraQueryFilterString`-Zeichenfolge überschreibt alle Abfragezeichenfolgen, die im für diese Absicht konfigurierten `queryFilterString` angegeben sind.
+ `kendraQueryRequestPayload`— Verwenden Sie diese Zeichenfolge, um eine Amazon Kendra Kendra-Abfrage anzugeben. Ihre Anfrage kann alle Funktionen von Amazon Kendra verwenden. Wenn Sie keine gültige Abfrage angeben, erhalten Sie die Ausnahme `InvalidLambdaResponseException`. Weitere Informationen finden Sie unter [Query](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html) im *Amazon Kendra Developer Guide*.

Nachdem Sie den Filter oder die Abfragezeichenfolge erstellt haben, senden Sie die Antwort an Amazon Lex, wobei das `dialogAction` Feld der Antwort auf gesetzt ist`delegate`. Amazon Lex sendet die Anfrage an Amazon Kendra und sendet dann die Abfrageantwort an den Fulfillment-Code-Hook zurück.

### Verwenden des Erfüllungscode-Hooks für die Antwort
<a name="kendra-search-lambda-fulfillment"></a>

Nachdem Amazon Lex eine Anfrage an Amazon Kendra gesendet hat, wird die Abfrageantwort an die `AMAZON.KendraSearchIntent` Fulfillment-Lambda-Funktion zurückgegeben. Das Eingabeereignis für den Code-Hook enthält die vollständige Antwort von Amazon Kendra. Die Abfragedaten haben dieselbe Struktur wie die, die von der Amazon Kendra `Query` Kendra-Operation zurückgegeben wurde. Weitere Informationen finden Sie unter [Syntax der Abfrageantwort](https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html#API_Query_ResponseSyntax) im *Amazon Kendra Developer Guide*.

Der Erfüllungscode-Hook ist optional. Wenn keine vorhanden ist oder wenn der Code-Hook keine Nachricht in der Antwort zurückgibt, verwendet Amazon Lex die `conclusion` Anweisung für Antworten.

# Beispiel: Einen FAQ-Bot für einen Amazon Kendra Kendra-Index erstellen
<a name="faq-bot-kendra-search"></a>

In diesem Beispiel wird ein Amazon Lex Lex-Bot erstellt, der einen Amazon Kendra Kendra-Index verwendet, um Antworten auf Benutzerfragen zu geben. Der Bot zu häufig gestellten Fragen verwaltet den Dialog für den Benutzer. Er verwendet die Absicht `AMAZON.KendraSearchIntent`, um den Index abzufragen und die Antwort für den Benutzer bereitzustellen. Bei der Erstellung des Bots gehen Sie folgendermaßen vor: 

1. Erstellen Sie einen Bot, mit dem Ihre Kunden interagieren werden, um Antworten von diesem Bot zu erhalten.

1. Erstellen Sie eine benutzerdefinierte Absicht. Ihr Bot muss mindestens eine Absicht mit mindestens einer Äußerung aufweisen. Diese Absicht ermöglicht die Entwicklung des Bots, wird anderweitig jedoch nicht verwendet.

1. Fügen Sie die `KendraSearchIntent` Absicht zu Ihrem Bot hinzu und konfigurieren Sie ihn so, dass er mit Ihrem Amazon Kendra Kendra-Index funktioniert.

1. Testen Sie den Bot, indem Sie Fragen stellen, die durch Dokumente beantwortet werden, die in Ihrem Amazon Kendra Kendra-Index gespeichert sind.

Bevor Sie dieses Beispiel verwenden können, müssen Sie einen Amazon Kendra Kendra-Index erstellen. Weitere Informationen finden Sie unter [Erste Schritte mit einem S3-Bucket (Konsole)](https://docs.aws.amazon.com/kendra/latest/dg/gs-console.html) im *Amazon Kendra Developer Guide*.

**So erstellen Sie einen Bot für häufig gestellte Fragen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie im Navigationsbereich **Bots**. 

1. Wählen Sie **Erstellen** aus.

1. Wählen Sie **Custom bot (Benutzerdefinierter Bot)** aus. Konfigurieren Sie den Bot wie folgt:
   + **Bot-Name** — Geben Sie dem Bot einen Namen, der seinen Zweck angibt, z. **KendraTestBot** B.
   + **Stimme ausgeben** — Wählen Sie „**Keine**“.
   + **Sitzungs-Timeout** — Geben Sie ein**5**.
   + **Stimmungsanalyse** **— Wählen Sie Nein.**
   + **COPPA** **— Wählen Sie Nein.**
   + **Speicherung von Benutzeräußerungen** — Wählen Sie **Nicht** speichern.

1. Wählen Sie **Erstellen** aus.

Um einen Bot erfolgreich erstellen zu können, müssen Sie mindestens eine Absicht mit mindestens einer Beispieläußerung erstellen. Diese Absicht ist erforderlich, um Ihren Amazon Lex Lex-Bot zu erstellen, wird jedoch nicht für die Antwort auf häufig gestellte Fragen verwendet. Die Äußerung für die Absicht darf nicht auf Fragen zutreffen, die Ihr Kunde stellt.

**So erstellen Sie die erforderliche Absicht**

1. Wählen Sie auf der Seite **Getting started with your bot (Erste Schritte mit Ihrem Bot)** die Option **Create intent (Absicht erstellen)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Create intent (Absicht erstellen)**.

1. Geben Sie im Dialogfeld **Create intent (Absicht erstellen)** einen Namen für die Absicht ein, z. B. **RequiredIntent**.

1. Geben Sie unter **Sample utterances (Beispieläußerungen)** eine Äußerung ein, z. B. **Required utterance**.

1. Wählen Sie **Absicht speichern**.

Erstellen Sie nun die Absicht, einen Amazon Kendra Kendra-Index und die Antwortnachrichten, die er zurückgeben soll, zu durchsuchen.

**Um ein AMAZON zu erstellen. KendraSearchIntent Absicht und Antwortnachricht**

1. Wählen Sie im Navigationsbereich das Pluszeichen (\$1) neben **Intents (Absichten)**.

1. Wählen Sie unter **Add intent (Absicht hinzufügen)** die Option **Search existing intents (Vorhandene Absichten durchsuchen)**.

1. Geben Sie in das Feld **Suchabsichten** den Text ein **AMAZON.KendraSearchIntent** und wählen Sie ihn dann aus der Liste aus.

1. Geben Sie der Absicht unter **Copy built-in intent (Integrierte Absicht kopieren)** einen Namen, z. B. **KendraSearchIntent**, und wählen Sie dann **Add (Hinzufügen)**. 

1. Wählen Sie im Absichtseditor **Amazon Kendra query (Amazon Kendra-Abfrage)**, um die Abfrageoptionen zu öffnen.

1. Wählen Sie im Menü **Amazon Kendra index (Amazon Kendra-Index)** den Index, den die Absicht durchsuchen soll.

1. Fügen Sie im Abschnitt **Response (Antwort)** die folgenden drei Meldungen hinzu:

   ```
   I found a FAQ question for you: ((x-amz-lex:kendra-search-response-question_answer-question-1)) and the answer is ((x-amz-lex:kendra-search-response-question_answer-answer-1)).
   I found an excerpt from a helpful document: ((x-amz-lex:kendra-search-response-document-1)).
   I think the answer to your questions is ((x-amz-lex:kendra-search-response-answer-1)).
   ```

1. Wählen Sie **Save intent (Absicht speichern)** und anschließend **Build (Erstellen)**, um den Bot zu erstellen.

Verwenden Sie schließlich das Konsolentestfenster, um Antworten von Ihrem Bot zu testen. Ihre Fragen sollten sich in der Domäne befinden, die Ihr Index unterstützt.

**So testen Sie Ihren Bot für häufig gestellte Fragen**

1. Geben Sie im Konsolentestfenster eine Frage für Ihren Index ein.

1. Überprüfen Sie die Antwort im Antwortbereich des Testfensters.

1. Wählen Sie **Clear chat history (Chatverlauf löschen)**, um das Testfenster für eine andere Frage zurückzusetzen.

# AMAZON.PauseIntent
<a name="built-in-intent-pause"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, eine Interaktion mit einem Bot zu unterbrechen, um später darauf zurückzukommen. Ihre Lambda-Funktion oder -Anwendung muss Absichtsdaten in Sitzungsvariablen speichern, oder Sie müssen die [GetSession](API_runtime_GetSession.md) Operation verwenden, um Absichtsdaten abzurufen, wenn Sie die aktuelle Absicht fortsetzen.

Allgemeine Äußerungen:
+ Pausieren
+ unterbrechen Sie das

# AMAZON.RepeatIntent
<a name="built-in-intent-repeat"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, die vorherige Nachricht zu wiederholen. Ihre Anwendung muss eine Lambda-Funktion verwenden, um die vorherigen Absichtsinformationen in Sitzungsvariablen zu speichern, oder Sie müssen die [GetSession](API_runtime_GetSession.md) Operation verwenden, um die vorherigen Absichtsinformationen abzurufen.

Allgemeine Äußerungen:
+ wiederholen
+ sag das nochmal
+ wiederhole das

# AMAZON.ResumeIntent
<a name="built-in-intent-resume"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, eine zuvor unterbrochene Absicht wieder aufzunehmen. Ihre Lambda-Funktion oder -Anwendung muss die Informationen verwalten, die erforderlich sind, um die vorherige Absicht wieder aufzunehmen.

Allgemeine Äußerungen:
+ fortsetzen
+ fortsetzen
+ mach weiter

# AMAZON.StartOverIntent
<a name="built-in-intent-start-over"></a>

Reagiert auf Wörter und Ausdrücke, die es dem Benutzer ermöglichen, die Verarbeitung der aktuellen Absicht zu beenden und von vorne zu beginnen. Sie können Ihre Lambda-Funktion oder die `PutSession` Operation verwenden, um den ersten Slot-Wert erneut abzurufen.

Allgemeine Äußerungen:
+ von vorne anfangen
+ Neu starten
+ wieder anfangen

# AMAZON.StopIntent
<a name="built-in-intent-stop"></a>

Reagiert auf Wörter und Ausdrücke, die darauf hinweisen, dass der Benutzer die Verarbeitung der aktuellen Absicht beenden und die Interaktion mit einem Bot beenden möchte. Ihre Lambda-Funktion oder -Anwendung sollte alle vorhandenen Attribute und Slot-Typwerte löschen und dann die Interaktion beenden.

Allgemeine Äußerungen:
+ stop
+ aus
+ Halt die Klappe

# Integrierte Slot-Typen
<a name="howitworks-builtins-slots"></a>

Amazon Lex unterstützt integrierte Steckplatztypen, die definieren, wie Daten im Steckplatz erkannt und verarbeitet werden. Sie können Slots dieser Art in Ihren Absichten erstellen. Es müssen dann keine Enumerationswerte für häufig verwendete Slot-Daten wie Datum, Uhrzeit und Ort mehr erstellt werden. Integrierte Slot-Typen haben keine Versionen. 


| Slot-Typ | Kurzbeschreibung | Unterstützte Gebietsschemata | 
| --- | --- | --- | 
| [Amazon.airport](built-in-slot-airport.md) | Erkennt Wörter, die für einen Flughafen stehen. | Alle Gebietsschemas | 
| [AMAZON. AlphaNumeric](built-in-slot-alphanumeric.md) | Erkennt aus Buchstaben und Zahlen bestehende Wörter. | Alle Gebietsschemas außer Koreanisch (ko-KR) | 
| [Amazon.city](built-in-slot-city.md) | Erkennt Wörter, die für eine Stadt stehen. | Alle Gebietsschemas | 
| [Amazon.Land](built-in-slot-country.md) | Erkennt Wörter, die für ein Land stehen. | Alle Gebietsschemas | 
| [AMAZON.DATE](built-in-slot-date.md) | Erkennt Wörter, die für ein Datum stehen, und konvertiert sie in ein Standardformat. | Alle Gebietsschemas | 
| [AMAZON.DURATION](built-in-slot-duration.md) | Erkennt Wörter, die für eine Dauer stehen, und konvertiert sie in ein Standardformat. | Alle Gebietsschemas | 
| [AMAZON. EmailAddress](built-in-slot-email.md) | Erkennt Wörter, die für eine E-Mail-Adresse stehen, und wandelt sie in eine Standard-E-Mail-Adresse um. | Alle Gebietsschemas | 
| [AMAZON. FirstName](built-in-slot-first-name.md) | Erkennt Wörter, die für einen Vornamen stehen. | Alle Gebietsschemas | 
| [AMAZONAS. LastName](built-in-slot-last-name.md) | Erkennt Wörter, die für einen Nachnamen stehen. | Alle Gebietsschemas | 
| [AMAZON.NUMBER](built-in-slot-number.md) | Erkennt numerische Wörter und wandelt sie in Ziffern um. | Alle Gebietsschemas | 
| [AMAZON.Percentage](built-in-slot-percent.md) | Erkennt Wörter, die einen Prozentsatz darstellen, und wandelt sie in eine Zahl und ein Prozentzeichen (%) um. | Alle Gebietsschemas | 
| [AMAZON. PhoneNumber](built-in-slot-phone.md) | Erkennt Wörter, die für eine Telefonnummer stehen, und wandelt sie in eine numerische Zeichenfolge um. | Alle Gebietsschemas | 
| [AMAZONAS. SpeedUnit](built-in-slot-speed.md) | Erkennt Wörter, die eine Geschwindigkeitseinheit darstellen, und wandelt sie in eine Standardabkürzung um. | Englisch (amerikanisch) (en-US) | 
| [Amazon.state](built-in-slot-state.md) | Erkennt Wörter, die für einen Staat stehen. | Alle Gebietsschemas | 
| [AMAZONAS. StreetName](built-in-slot-street-name.md) | Erkennt Wörter, die für einen Straßennamen stehen. | Alle Gebietsschemas außer Englisch (US) (en-US) | 
| [AMAZON.TIME](built-in-slot-time.md) | Erkennt Wörter, die auf Zeiten hinweisen, und konvertiert sie in ein Zeitformat. | Alle Gebietsschemas | 
| [AMAZON. WeightUnit](built-in-slot-weight.md) | Erkennt Wörter, die eine Gewichtseinheit darstellen, und wandelt sie in eine Standardabkürzung um  | Englisch (amerikanisch) (en-US) | 

**Anmerkung**  
Für das Gebietsschema Englisch (USA) (en-US) unterstützt Amazon Lex Steckplatztypen aus dem Alexa Skill Kit. Eine Liste der verfügbaren integrierten Slot-Typen finden Sie unter [Slot Type Reference](https://developer.amazon.com/docs/custom-skills/slot-type-reference.html) in der Dokumentation zum Alexa Skills Kit.   
Amazon Lex unterstützt die `AMAZON.LITERAL` oder die `AMAZON.SearchQuery` integrierten Steckplatztypen nicht. 

# Amazon.airport
<a name="built-in-slot-airport"></a>

Bietet eine Liste von Flughäfen. Zu den Beispielen gehören:
+ Internationaler Flughafen John F. Kennedy
+ Flughafen Melbourne

# AMAZON. AlphaNumeric
<a name="built-in-slot-alphanumeric"></a>

Erkennt aus Buchstaben und Zahlen bestehende Zeichenfolgen, z. B. **APQ123**.

Dieser Slot-Typ ist in der koreanischen Sprache (ko-KR) nicht verfügbar.

Sie können den Slot-Typ `AMAZON.AlphaNumeric` für Zeichenfolgen verwenden, die Folgendes enthalten: 
+ Alphabetische Zeichen, z. B. **ABC**
+ Numerische Zeichen, z. B. **123**
+ Eine Kombination aus alphanumerischen Zeichen, z. B. **ABC123**

Sie können dem Slot-Typ `AMAZON.AlphaNumeric` einen regulären Ausdruck hinzufügen, um die für den Slot eingegebenen Werte zu validieren. Sie können beispielsweise einen regulären Ausdruck verwenden, um Folgendes zu validieren:
+ Postleitzahlen im Vereinigten Königreich oder Kanada
+ Führerscheinnummern
+ Fahrgestellnummern

Verwenden Sie einen regulären Standardausdruck. Amazon Lex unterstützt die folgenden Zeichen im regulären Ausdruck:
+ A-Z, a-z
+ 0-9

Amazon Lex unterstützt auch Unicode-Zeichen in regulären Ausdrücken. Die Form lautet `\uUnicode`. Verwenden Sie vier Ziffern, um Unicode-Zeichen darzustellen. Beispiel: `[\u0041-\u005A]` ist gleichbedeutend mit [A–Z].

Die folgenden Operatoren für reguläre Ausdrücke werden nicht unterstützt:
+ Endlose Wiederholer: \$1, \$1, oder \$1x,\$1 ohne Obergrenze.
+ Platzhalter (.)

Die maximale Länge des regulären Ausdrucks beträgt 300 Zeichen. Die maximale Länge einer Zeichenfolge, die in einem AMAZON-Verzeichnis gespeichert ist. AlphaNumeric Der Slot-Typ, der einen regulären Ausdruck verwendet, hat 30 Zeichen.

Im Folgenden finden Sie einige Beispiele für reguläre Ausdrücke.
+ Alphanumerische Zeichenfolgen, z. B. **APQ123** oder **APQ1**: `[A-Z]{3}[0-9]{1,3}` oder eine stärker eingeschränkte `[A-DP-T]{3} [1-5]{1,3}`
+ US Postal Service Priority Mail im internationalen Format, z. B: **CP123456789US**: `CP[0-9]{9}US`
+ Bankleitzahlen, z. B. **123456789**: `[0-9]{9}`

Um den regulären Ausdruck für einen Slot-Typ festzulegen, verwenden Sie die Konsole oder die Operation [PutSlotType](API_PutSlotType.md). Der reguläre Ausdruck wird beim Speichern des Slot-Typs validiert. Wenn der Ausdruck nicht gültig ist, gibt Amazon Lex eine Fehlermeldung zurück.

Wenn Sie einen regulären Ausdruck in einem Slot-Typ verwenden, vergleicht Amazon Lex die Eingabe in Slots dieses Typs mit dem regulären Ausdruck. Wenn die Eingabe mit dem Ausdruck übereinstimmt, wird der Wert für den Slot akzeptiert. Wenn die Eingabe nicht übereinstimmt, fordert Amazon Lex den Benutzer auf, die Eingabe zu wiederholen. 

# Amazon.city
<a name="built-in-slot-city"></a>

Bietet eine Liste lokaler und weltweiter Städte. Der Slot-Typ erkennt gängige Varianten von Städtenamen. Amazon Lex konvertiert nicht von einer Variante zu einem offiziellen Namen.

Beispiele:
+ New York
+ Reykjavik
+ Tokio
+ Versailles

# Amazon.Land
<a name="built-in-slot-country"></a>

Die Namen von Ländern auf der ganzen Welt. Beispiele:
+ Australien
+ Deutschland
+ Japan
+ Vereinigte Staaten
+ Uruguay

# AMAZON.DATE
<a name="built-in-slot-date"></a>

Konvertiert Wörter, die für Datumsangaben stehen, in ein Datumsformat.

Das Datum wird nach Ihren Wünschen im ISO-8601-Datumsformat bereitgestellt. Das Datum, an dem Ihre Absicht im Slot eingeht, kann je nach dem vom Benutzer geäußerten Satz variieren.
+ Äußerungen, die einem bestimmten Datum zugeordnet sind, wie „heute“, „jetzt“ oder „fünfundzwanzigster November“, werden in ein vollständiges Datum umgewandelt:. `2020-11-25` Standardmäßig werden Datumsangaben verwendet, die *am oder nach dem aktuellen* Datum liegen.
+ Äußerungen, die einer bestimmten Woche zugeordnet sind, z. B. „diese Woche“ oder „nächste Woche“, werden in das Datum des ersten Wochentags umgewandelt. Im ISO-8601-Format beginnt die Woche am Montag und endet am Sonntag. Wenn heute beispielsweise der 25.11.2020 ist, wird „nächste Woche“ in umgewandelt. `2020-11-30`
+ Äußerungen, die einem Monat, aber keinem bestimmten Tag zugeordnet sind, wie „nächster Monat“, werden in den letzten Tag des Monats umgewandelt. Wenn heute beispielsweise der 25.11.2020 ist, wird „nächster Monat“ in umgewandelt. `2020-12-31`
+ Äußerungen, die einem Jahr, aber keinem bestimmten Monat oder Tag zugeordnet sind, wie „nächstes Jahr“, werden in den letzten Tag des folgenden Jahres umgewandelt. Wenn heute beispielsweise der 25.11.2020 ist, wird „nächstes Jahr“ in umgewandelt. `2021-12-31`

# AMAZON.DURATION
<a name="built-in-slot-duration"></a>

Konvertiert Wörter, die eine Dauer angeben, in eine numerische Dauer.

Die Dauer wird in ein Format aufgelöst, das auf dem [ISO-8601-Dauerformat](https://en.wikipedia.org/wiki/ISO_8601#Durations) basiert. `PnYnMnWnDTnHnMnS` Das `P` gibt an, dass es sich um eine Dauer handelt, `n` es handelt sich um einen numerischen Wert und der darauf folgende Großbuchstabe `n` ist das spezifische Datums- oder Zeitelement. `P3D`Bedeutet beispielsweise 3 Tage. A `T` wird verwendet, um anzuzeigen, dass die verbleibenden Werte eher Zeitelemente als Datumselemente darstellen.

Beispiele:
+ „zehn Minuten“: `PT10M`
+ „fünf Stunden“: `PT5H`
+ „drei Tage“: `P3D`
+ „fünfundvierzig Sekunden“: `PT45S`
+ „acht Wochen“: `P8W`
+ „sieben Jahre“: `P7Y`
+ „fünf Stunden zehn Minuten“: `PT5H10M`
+ „zwei Jahre drei Stunden zehn Minuten“: `P2YT3H10M`

# AMAZON. EmailAddress
<a name="built-in-slot-email"></a>

Erkennt Wörter, die eine E-Mail-Adresse in der Form „Benutzername@Domäne“ darstellen. Adressen können die folgenden Sonderzeichen im Benutzernamen enthalten: Unterstrich (\$1), Bindestrich (-), Punkt (.) und Pluszeichen (\$1).

# AMAZON. FirstName
<a name="built-in-slot-first-name"></a>

Häufig verwendete Vornamen. Dieser Slot-Typ erkennt sowohl formelle Namen als auch informelle Spitznamen. Der Name, der zu Ihrer Absicht gesendet wurde, ist der vom Benutzer gesendete Wert. Amazon Lex konvertiert nicht vom Spitznamen zum offiziellen Namen.

Für Vornamen, die ähnlich klingen, aber unterschiedlich geschrieben sind, sendet Amazon Lex Ihrer Absicht ein einheitliches Formular.

Verwenden Sie im Gebietsschema Englisch (US) (en-US) den Slot-Namen Amazon.US\$1First\$1Name.

Beispiele:
+ Emily
+ John
+ Sophie

# AMAZONAS. LastName
<a name="built-in-slot-last-name"></a>

Häufig verwendete Nachnamen. Für Namen, die ähnlich klingen, aber unterschiedlich geschrieben sind, sendet Amazon Lex Ihrer Absicht ein einheitliches Formular.

Verwenden Sie im Gebietsschema Englisch (US) (en-US) den Slot-Namen Amazon.US\$1LAST\$1NAME.

Beispiele:
+ Brosky
+ Dasher
+ Evers
+ Parres
+ Welt

# AMAZON.NUMBER
<a name="built-in-slot-number"></a>

Konvertiert Wörter oder Zahlen, die eine Zahl ausdrücken, in Ziffern, einschließlich Dezimalzahlen. Die folgende Tabelle zeigt, wie der Slot-Typ `AMAZON.NUMBER` numerische Wörter erfasst.


| Input | Antwort | 
| --- | --- | 
| one hundred twenty three point four five | 123.45 | 
| one hundred twenty three dot four five | 123.45 | 
| point four two | 0.42 | 
| point forty two | 0.42 | 
| 232.998 | 232.998 | 
| 50 | 50 | 

# AMAZON.Percentage
<a name="built-in-slot-percent"></a>

Wandelt Wörter und Symbole, die einen Prozentwert repräsentieren, in einen numerischen Wert mit einem Prozentzeichen (%) um.

Wenn der Benutzer eine Zahl ohne Prozentzeichen oder das Wort "percent" eingibt, wird dem Slot-Wert diese Zahl zugewiesen. Die folgende Tabelle zeigt, wie der Slot-Typ `AMAZON.Percentage` Prozentwerte erfasst.


| Input | Antwort | 
| --- | --- | 
| 50 percent | 50% | 
| 0,4 Prozent | 0.4% | 
| 23.5% | 23.5% | 
| fünfundzwanzig Prozent | 25 % | 

# AMAZON. PhoneNumber
<a name="built-in-slot-phone"></a>

Wandelt die Zahlen oder Wörter, die eine Telefonnummer repräsentieren, in ein Zeichenfolgenformat ohne Satzzeichen um, wie nachfolgend dargestellt.


| Typ | Description | Input | Ergebnis | 
| --- | --- | --- | --- | 
| Auslandsrufnummer mit vorangestelltem Pluszeichen (\$1) | 11-stellige Rufnummer mit vorangestelltem Pluszeichen. | \$161 7 4445 1061 \$11 (509) 555-1212 | `+61744431061` `+15095551212` | 
| Auslandsrufnummer ohne vorangestelltes Pluszeichen (\$1) | 11-stellige Rufnummer ohne vorangestelltes Pluszeichen | 1 (509) 555-1212 61 7 4445 1061 | `15095551212` `61744451061` | 
| Inlandsrufnummer | 10-stellige Zahl ohne Ländervorwahl | (03) 5115 4444 (509) 555-1212 | `0351154444` `5095551212` | 
| Ortsrufnummer | 7-stellige Rufnummer ohne Ländervorwahl und Ortsnetzkennzahl | 555-1212 | 5551212 | 

# AMAZONAS. SpeedUnit
<a name="built-in-slot-speed"></a>

Wandelt Wörter, die eine Geschwindigkeitseinheit repräsentieren, in die entsprechende Abkürzung um. Beispiel: "Meilen pro Stunde" wird umgewandelt in `mph`.

Dieser Slot-Typ ist nur im Gebietsschema Englisch (US) (en-US) verfügbar.

Die folgenden Beispiele zeigen, wie der Slot-Typ `AMAZON.SpeedUnit` Geschwindigkeitseinheiten erfasst.


| Geschwindigkeitseinheit | Abkürzung | 
| --- | --- | 
|  miles per hour, mph, MPH, m/h  | mph | 
|  Kilometer pro Stunde, km pro Stunde, kmph, KMPH, km/h  | kmph | 
|  Meter pro Sekunde, mps, MPS, m/s  | mps | 
| Seemeilen pro Stunde, Knoten, Knoten | knot | 

# Amazon.state
<a name="built-in-slot-state"></a>

Die Namen der geografischen und politischen Regionen innerhalb der Länder. 

Beispiele:
+ Bayern
+ Präfektur Fukushima
+ Pazifischer Nordwesten
+ Queensland
+ Wales

# AMAZONAS. StreetName
<a name="built-in-slot-street-name"></a>

Die Straßennamen innerhalb einer typischen Straßenadresse. Dazu gehört nur der Straßenname, nicht die Hausnummer.

Dieser Slot-Typ ist in der Ländereinstellung Englisch (US) (en-US) nicht verfügbar.

Beispiele:
+ Canberra Avenue
+ Vordere Straße
+ Marktstraße

# AMAZON.TIME
<a name="built-in-slot-time"></a>

Wandelt Wörter, die Zeiten repräsentieren, in Zeitwerte um. Beinhaltet Resolutionen für unklare Zeiten. Wenn ein Benutzer eine mehrdeutige Uhrzeit eingibt, verwendet Amazon Lex das `slotDetails` Attribut eines Lambda-Ereignisses, um Auflösungen für die mehrdeutigen Zeiten an Ihre Lambda-Funktion weiterzuleiten. Beispiel: Wenn der Bot den Benutzer zur Angabe einer Lieferzeit auffordert, kann der Benutzer mit "10 o'clock" antworten. Diese Zeitangabe ist zweideutig. Sie kann 10:00 Uhr (10:00 AM) oder 22:00 Uhr (10:00 PM) bedeuten. In diesem Fall ist der Wert in der `slots` Map`null`, und die `slotDetails` Entität enthält die beiden möglichen Auflösungen der Zeit. Amazon Lex gibt Folgendes in die Lambda-Funktion ein:

```
"slots": {
   "deliveryTime": null
},
"slotDetails": {
   "deliveryTime": {
      "resolutions": [
         {
            "value": "10:00"
         },
         {
            "value": "22:00"
         }
      ]
   }
}
```

Wenn der Benutzer mit einer eindeutigen Uhrzeit antwortet, sendet Amazon Lex die Uhrzeit an Ihre Lambda-Funktion im `slots` Attribut des Lambda-Ereignisses und das `slotDetails` Attribut ist leer. Wenn Ihr Benutzer beispielsweise auf die Aufforderung zur Angabe einer Lieferzeit mit „22:00 Uhr“ antwortet, gibt Amazon Lex Folgendes in die Lambda-Funktion ein:

```
"slots": {
   "deliveryTime": "22:00"
}
```

Weitere Informationen zu den Daten, die von Amazon Lex an eine Lambda-Funktion gesendet werden, finden Sie unter[Eingabe-Ereignis-Format](lambda-input-response-format.md#using-lambda-input-event-format).

# AMAZON. WeightUnit
<a name="built-in-slot-weight"></a>

Wandelt Wörter, die eine Gewichtseinheit repräsentieren, in die entsprechende Abkürzung um. Beispiel: "kilogram" wird umgewandelt in `kg`. 

Dieser Slot-Typ ist nur im Gebietsschema Englisch (US) (en-US) verfügbar.

Die folgenden Beispiele zeigen, wie der Slot-Typ `AMAZON.WeightUnit` Gewichtseinheiten erfasst:


| Gewichtseinheit | Abkürzung | 
| --- | --- | 
| Kilogramm, Kilos, kgs, KGS | kg | 
| Gramm, gms, gm, GMS, g | g | 
| Milligramm, mg, mgs | mg | 
| Pfund, lbs, LBS | lbs | 
| Unzen, oz, OZ | oz | 
| Tonne, ton, t | t | 
| Kilotonne, kt | kt | 

# Benutzerdefinierte Slot-Typen
<a name="howitworks-custom-slots"></a>

Für jede Absicht können Sie Parameter mit den Daten angeben, die von der Absicht benötigt werden, um die Benutzeranforderung zu erfüllen. Diese Parameter (Slots) sind von einem bestimmten Typ. Ein *Slot-Typ* ist eine Liste von Werten, die Amazon Lex verwendet, um das Machine-Learning-Modell so zu trainieren, dass es Werte für einen Slot erkennt. Sie können beispielsweise einen Slot namens "`Genres.`" definieren. Jeder Wert im Slot-Typ ist der Name eines Genres: "comedy", "adventure", "documentary" usw. Sie können ein Synonym für einen Slot-Typ-Wert definieren. Sie können beispielsweise die Synonyme "funny" und "humorous" für den Wert "comedy" definieren. 

Sie können den Slot-Typ so konfigurieren, dass die Auflösung auf die Slot-Werte beschränkt wird. Die Slot-Werte werden als Enumeration verwendet und der vom Benutzer eingegebene Wert wird nur in den Slot-Wert aufgelöst, wenn es sich um einen der Slot-Werte oder ein Synonym handelt. Ein Synonym wird in den entsprechenden Slot-Wert aufgelöst. Wenn der Benutzer beispielsweise "funny" eingibt, wird dies als Slot-Wert "comedy" aufgelöst.

Alternativ können Sie den Slot-Typ so konfigurieren, dass die Werte erweitert werden. Slot-Werte werden als Schulungsdaten verwendet und der Slot wird in den vom Benutzer bereitgestellten Wert aufgelöst, wenn dieser den Slot-Werten und Synonymen entspricht. Dies ist das Standardverhalten.

Amazon Lex führt eine Liste möglicher Auflösungen für einen Steckplatz. Jeder Eintrag in der Liste enthält einen *Auflösungswert, den* Amazon Lex als zusätzliche Möglichkeiten für den Steckplatz erkannt hat. Ein Auflösungswert stellt die beste Methode für die Zuordnung des Slot-Werts dar. Die Liste enthält bis zu fünf Werte.

Wenn der vom Benutzer eingegebene Wert ein Synonym ist, ist der erste Eintrag in der Liste der Auflösungswerte der Slot-Typ-Wert. Wenn der Benutzer beispielsweise "funny" eingibt, enthält das Feld `slots` "funny" und der erste Eintrag im Feld `slotDetails` lautet "comedy". Sie können `valueSelectionStrategy` beim Erstellen oder Aktualisieren eines Slot-Typs mit der Operation [PutSlotType](API_PutSlotType.md) konfigurieren, damit der Slot-Wert mit dem ersten Wert in der Auflösungsliste gefüllt wird.

 Wenn Sie eine Lambda-Funktion verwenden, enthält das Eingabeereignis für die Funktion eine `slotDetails` aufgerufene Auflösungsliste. Das folgende Beispiel zeigt den Abschnitt Slot und Slot-Details der Eingabe für eine Lambda-Funktion:

```
   "slots": {
      "MovieGenre": "funny";
   },
   "slotDetails": {
      "Movie": {
         "resolutions": [
            "value": "comedy"
         ]
      }
   }
```

Für jeden Slot-Typ können maximal 10 000 Werte und Synonyme definiert werden. Jeder Bot kann maximal 50 000 Slot-Typenwerte und Synonyme aufweisen. Sie können beispielsweise über 5 Slot-Typen mit jeweils 5 000 Werten und 5 000 Synonymen oder über 10 Slot-Typen mit jeweils 2 500 Werten und 2 500 Synonymen verfügen. Wenn Sie diese Limits überschreiten, erhalten Sie beim Aufruf der Operation [PutBot](API_PutBot.md) die Ausnahme `LimitExceededException`.

# Slot-Verschleierung
<a name="how-obfuscate"></a>

Amazon Lex ermöglicht es Ihnen, den Inhalt von Slots zu verschleiern oder auszublenden, sodass der Inhalt nicht sichtbar ist. Um sensible Daten zu schützen, die als Slot-Werte erfasst wurden, können Sie die Slot-Obfuscation aktivieren, um diese Werte in Konversationsprotokollen zu maskieren.

Wenn Sie sich dafür entscheiden, Slot-Werte zu verschleiern, ersetzt Amazon Lex den Wert des Slots durch den Namen des Slots in Konversationsprotokollen. Bei einem aufgerufenen `full_name`, Slot würde der Wert des Slots wie folgt verschleiert:

```
Before obfuscation:
    My name is John Stiles
After obfuscation:
    My name is {full_name}
```

Wenn eine Äußerung Klammerzeichen (\$1\$1) enthält, maskiert Amazon Lex die Klammern mit zwei umgekehrten Schrägstrichen (\$1\$1). Beispielsweise `{John Stiles}` wird der Text wie folgt verschleiert:

```
Before obfuscation:
    My name is {John Stiles}
After obfuscation:
    My name is \\{{full_name}\\}
```

Slot-Werte werden in Konversationsprotokollen verschleiert. Die Slot-Werte sind weiterhin in der Antwort der `PostText` Und-Operationen verfügbar, und die Slot-Werte sind für Ihre Lambda-Funktionen zur Validierung und Erfüllung verfügbar. `PostContent` Wenn Sie Slot-Werte in Ihren Eingabeaufforderungen oder Antworten verwenden, werden diese Slot-Werte nicht in Gesprächsprotokollen verschleiert.

In der ersten Runde einer Konversation verschleiert Amazon Lex Slot-Werte, wenn es einen Slot und einen Slot-Wert in der Äußerung erkennt. Wenn kein Slot-Wert erkannt wird, verschleiert Amazon Lex die Äußerung nicht.

In der zweiten und späteren Runde weiß Amazon Lex, welcher Slot abgerufen werden muss und ob der Slot-Wert verschleiert werden sollte. Wenn Amazon Lex den Slot-Wert erkennt, wird der Wert verschleiert. Wenn Amazon Lex einen Wert nicht erkennt, wird die gesamte Äußerung verschleiert. Alle Slot-Werte in verpassten Äußerungen werden nicht verschleiert.

Amazon Lex verschleiert auch keine Slot-Werte, die Sie in Anfrage- oder Sitzungsattributen speichern. Wenn Sie Slot-Werte speichern, die als Attribut verschleiert werden sollen, müssen Sie den Wert verschlüsseln oder anderweitig verschleiern.

Amazon Lex verschleiert den Slot-Wert im Audio nicht. Es verschleiert den Slot-Wert in der Audiotranskription.

Sie müssen nicht alle Slots in einem Bot verschleiern. Sie können mithilfe der Konsole oder mithilfe der Amazon Lex Lex-API auswählen, welche Slots verschleiert werden sollen. Wählen Sie in der Konsole in den Einstellungen für einen **Steckplatz die Option Slot-Verschleierung** aus. Wenn Sie die API verwenden, setzen Sie das `obfuscationSetting` Feld des Steckplatzes auf, `DEFAULT_OBFUSCATION` wenn Sie den [PutIntent](API_PutIntent.md) Vorgang aufrufen.

# Stimmungsanalyse
<a name="sentiment-analysis"></a>

Sie können die Stimmungsanalyse verwenden, um die Stimmungen einer Benutzeräußerung zu ermitteln. Mit den Stimmungsinformationen können Sie den Konversationsfluss verwalten oder eine Analyse nach dem Anruf durchführen. Wenn die Benutzerstimmung beispielsweise negativ ist, können Sie einen Workflow erstellen, um eine Konversation an einen menschlichen Agenten zu übergeben.

Amazon Lex lässt sich in Amazon Comprehend integrieren, um die Stimmung der Benutzer zu erkennen. Die Antwort von Amazon Comprehend gibt an, ob die allgemeine Stimmung des Textes positiv, neutral, negativ oder gemischt ist. Die Antwort enthält die wahrscheinlichste Stimmung für die Äußerung des Benutzers und die Punktzahl für jede der Stimmungskategorien. Die Punktzahl stellt die Wahrscheinlichkeit dar, dass die Stimmung korrekt erkannt wurde.

 Sie aktivieren die Stimmungsanalyse für einen Bot mithilfe der Konsole oder mithilfe der Amazon Lex Lex-API. Wählen Sie in der Amazon Lex-Konsole die Registerkarte **Einstellungen** für Ihren Bot und setzen Sie dann die Option **Stimmungsanalyse** auf **Ja**. Wenn Sie die API verwenden, rufen Sie den [PutBot](API_PutBot.md)-Vorgang mit auf `true` eingestelltem `detectSentiment`-Feld auf. 

Wenn die Stimmungsanalyse aktiviert ist, gibt die Antwort aus den Vorgängen [PostContent](API_runtime_PostContent.md) und [PostText](API_runtime_PostText.md) ein Feld mit der Bezeichnung `sentimentResponse` in der Bot-Antwort mit anderen Metadaten zurück. Das Feld `sentimentResponse` verfügt über die zwei Felder `SentimentLabel` und `SentimentScore`, die das Ergebnis der Stimmungsanalyse enthalten. Wenn Sie eine Lambda-Funktion verwenden, ist das `sentimentResponse` Feld in den an Ihre Funktion gesendeten Ereignisdaten enthalten.

Der folgende Code ist ein Beispiel für das Feld `sentimentResponse`, das als Teil der Antwort `PostContent` `PostText` oder zurückgegeben wird. Das Feld `SentimentScore` beinhaltet eine Zeichenfolge, die die Ergebnisse für die Antwort enthält.

```
{
    "SentimentScore": 
        "{
        Mixed: 0.030585512690246105,
        Positive: 0.94992071056365967,
        Neutral: 0.0141543131828308,
        Negative: 0.00893945890665054
        }",
    "SentimentLabel": "POSITIVE"
}
```

Amazon Lex ruft in Ihrem Namen Amazon Comprehend an, um die Stimmung in jeder vom Bot verarbeiteten Äußerung zu ermitteln. Durch die Aktivierung der Stimmungsanalyse stimmen Sie den Servicebedingungen und -vereinbarungen für Amazon Comprehend zu. [Weitere Informationen zu den Preisen für Amazon Comprehend finden Sie unter Amazon Comprehend Pricing.](https://aws.amazon.com/comprehend/pricing/)

Weitere Informationen zur Funktionsweise der Amazon Comprehend-Stimmungsanalyse finden Sie unter [Ermitteln der Stimmung](https://docs.aws.amazon.com/comprehend/latest/dg/how-sentiment.html) im *Amazon* Comprehend Developer Guide.

# Kennzeichnen Ihrer Amazon Lex Lex-Ressourcen
<a name="how-it-works-tags"></a>

Um Ihnen bei der Verwaltung Ihrer Amazon Lex Lex-Bots, Bot-Aliase und Bot-Kanäle zu helfen, können Sie jeder Ressource Metadaten als *Tags* zuweisen. Ein Tag ist eine Bezeichnung, die Sie einer AWS Ressource zuweisen. Jedes Tag besteht aus einem Schlüssel und einem Wert.

Mit Tags können Sie AWS-Ressourcen auf unterschiedliche Weise kategorisieren (z. B. nach Zweck, Eigentümer oder Anwendung). Tags helfen Ihnen bei Folgendem:
+ Identifizieren und organisieren Sie Ihre AWS Ressourcen. Viele AWS Ressourcen unterstützen Tagging, sodass Sie Ressourcen in verschiedenen Diensten dasselbe Tag zuweisen können, um anzuzeigen, dass die Ressourcen miteinander verknüpft sind. Sie können beispielsweise einen Bot und die Lambda-Funktionen, die er verwendet, mit demselben Tag kennzeichnen.
+ Zuordnen von Kosten. Sie aktivieren Tags auf dem AWS Fakturierung und Kostenmanagement Dashboard. AWS verwendet die Tags, um Ihre Kosten zu kategorisieren und Ihnen einen monatlichen Kostenverteilungsbericht zu liefern. Bei Amazon Lex können Sie die Kosten für jeden Alias mithilfe von Alias-Tags zuordnen, mit Ausnahme des `$LATEST` Alias. Sie weisen die Kosten für den `$LATEST` Alias mithilfe von Tags für Ihren Amazon Lex Lex-Bot zu. Weitere Informationen finden Sie unter [Verwendung von Kostenzuordnungs-Tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html) im *AWS Fakturierung und Kostenmanagement -Benutzerhandbuch*.
+ Kontrollieren Sie den Zugriff auf Ihre -Ressourcen. Sie können Tags für Amazon Lex verwenden, um Richtlinien zur Steuerung des Zugriffs auf Amazon Lex-Ressourcen zu erstellen. Diese Richtlinien können IAM-Rollen oder -Benutzern angefügt werden, um die Tag-basierte Zugriffskontrolle zu aktivieren. Weitere Informationen finden Sie unter [ABAC mit Amazon Lex](security_iam_service-with-iam.md#security_iam_service-with-iam-tags). Ein Beispiel für eine identitätsbasierte Richtlinie zur Einschränkung des Zugriffs auf eine Ressource auf der Grundlage der Markierungen dieser Ressource finden Sie unter [Verwenden Sie ein Tag, um auf eine Ressource zuzugreifen](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-tag). 

Sie können mit Tags arbeiten, indem Sie die AWS-Managementkonsole AWS Command Line Interface, oder die Amazon Lex API verwenden.



## Markieren Ihrer Ressourcen
<a name="tagging-resources"></a>

Wenn Sie die Amazon Lex Lex-Konsole verwenden, können Sie Ressourcen bei ihrer Erstellung taggen oder die Tags später hinzufügen. Sie können die Konsole auch verwenden, um vorhandene Tags zu aktualisieren oder zu entfernen. 

Wenn Sie die AWS CLI oder die Amazon Lex Lex-API verwenden, verwenden Sie die folgenden Operationen, um Tags für Ihre Ressourcen zu verwalten:
+  [ListTagsForResource](API_ListTagsForResource.md)— die mit einer Ressource verknüpften Tags anzeigen.
+ [PutBot](API_PutBot.md)und [PutBotAlias](API_PutBotAlias.md) — wenden Sie Tags an, wenn Sie einen Bot oder einen Bot-Alias erstellen.
+  [TagResource](API_TagResource.md)— Hinzufügen und Ändern von Tags auf einer vorhandenen Ressource.
+  [UntagResource](API_UntagResource.md)— Tags aus einer Ressource entfernen. 

Die folgenden Ressourcen in Amazon Lex unterstützen Tagging:
+ Bots - verwenden Sie einen Amazon-Ressourcennamen (ARN) wie folgt:
  + `arn:${partition}:lex:${region}:${account}:bot:${bot-name}`
+ Bot-Aliasse - verwenden Sie einen ARN wie folgt:
  + `arn:${partition}:lex:${region}:${account}:bot:${bot-name}:${bot-alias}`
+ Bot-Channels - verwenden Sie einen ARN wie folgt:
  + `arn:${partition}:lex:${region}:${account}:bot-channel:${bot-name}:${bot-alias}:${channel-name}`

## Tag-Einschränkungen
<a name="tags-restrictions"></a>

Die folgenden grundlegenden Einschränkungen gelten für Tags auf Amazon Lex Lex-Ressourcen:
+ Maximale Anzahl an Tags - 50
+ Maximale Schlüssellänge — 128 Zeichen
+ Maximale Länge des Werts — 256 Zeichen
+ Gültige Zeichen für Schlüssel und Wert — a—z, A—Z, 0—9, Leerzeichen und die folgenden Zeichen: \$1.:/= \$1 - und @
+ Bei Schlüsseln und Werten wird die Groß-/Kleinschreibung berücksichtigt.
+ Verwenden Sie nicht `aws:` als Präfix für den Schlüssel. Dieses Präfix ist für AWS reserviert.

# Tagging von Ressourcen (Konsole)
<a name="tags-console"></a>

Sie können die Konsole verwenden, um Tags auf einem Bot, einem Bot-Alias oder einer Bot-Channel-Ressource zu verwalten. Sie können Tags hinzufügen, wenn Sie eine Ressource erstellen, oder Sie können Tags hinzufügen, ändern oder von vorhandenen Ressourcen entfernen.

**So fügen Sie ein Tag hinzu, wenn Sie einen Bot erstellen:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie **Create (Erstellen)**, um einen neuen Bot zu erstellen.

1. Wählen Sie unten auf der Seite **Create your bot (Bot erstellen)** die Option **Tags** aus.

1. Wählen Sie **Add tag (Tag hinzufügen)**, und fügen Sie dem Bot ein oder mehrere Tags hinzu. Sie können bis zu 50 Tags hinzufügen.

**So fügen Sie ein Tag hinzu, wenn Sie einen Bot-Alias erstellen:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie den Bot aus, dem Sie den Bot-Alias hinzufügen möchten.

1. Wählen Sie **Einstellungen** aus.

1. Fügen Sie den Aliasnamen hinzu, wählen Sie die Bot-Version und dann **Add tags (Tags hinzufügen)**aus.

1. Wählen Sie **Add tag (Tag hinzufügen)**, und fügen Sie dem Bot-Alias ein oder mehrere Tags hinzu. Sie können bis zu 50 Tags hinzufügen.

**So fügen Sie ein Tag hinzu, wenn Sie einen Bot-Channel erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie den Bot aus, dem Sie den Bot-Channel hinzufügen möchten.

1. Wählen Sie **Channels** und dann den Channel aus, den Sie hinzufügen möchten.

1. Fügen Sie die Details für den Bot-Channel hinzu, und wählen Sie dann **Tags**aus.

1. Wählen Sie **Add tag (Tag hinzufügen)**, und fügen Sie dem Bot-Channel ein oder mehrere Tags hinzu. Sie können bis zu 50 Tags hinzufügen.

**So fügen Sie beim Importieren eines Bots ein Tag hinzu**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie **Actions (Aktionen)** und dann **Modify (Ändern)** aus.

1. Wählen Sie die ZIP-Datei für den Import des Bots.

1. Wählen Sie **Tags** und dann **Add tag (Tag hinzufügen)**, um dem Bot ein oder mehrere Tags hinzuzufügen. Sie können bis zu 50 Tags hinzufügen.

**So fügen Sie einem vorhandenen Bot ein Tag hinzu, oder entfernen bzw. ändern es:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie im linken Menü **Bots** und dann den Bot aus, den Sie ändern möchten.

1. Wählen Sie **Settings (Einstellungen)** und dann im linken Menü die Option **General (Allgemein)**.

1. Wählen Sie **Tags**, und fügen Sie Tags für den Bot hinzu, ändern oder entfernen Sie diese.

**So fügen Sie einem Bot-Alias ein Tag hinzu, oder entfernen bzw. ändern es:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie im linken Menü **Bots** und dann den Bot aus, den Sie ändern möchten.

1. Wählen Sie ** Settings (Einstellungen)** und dann im linken Menü **Aliases (Aliasse)**.

1. Wählen Sie **Manage tags (Tags verwalten)** für den Alias, den Sie ändern möchten, und fügen Sie dann Tags für den Bot-Alias hinzu, oder ändern bzw. entfernen Sie sie.

**So fügen Sie einem vorhandenen Bot-Channel ein Tag hinzu, oder entfernen bzw. ändern es:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon Lex Lex-Konsole unter [https://console.aws.amazon.com/lex/](https://console.aws.amazon.com/lex/).

1. Wählen Sie im linken Menü **Bots** und dann den Bot aus, den Sie ändern möchten.

1. Wählen Sie **Channels** aus.

1. Wählen Sie **Tags**, und fügen Sie Tags für den Bot-Channel hinzu, ändern oder entfernen Sie diese.

# Tagging von Ressourcen (AWS CLI)
<a name="tags-cli"></a>

Sie können die verwenden AWS CLI , um Tags für eine Bot-, Bot-Alias- oder Bot-Channel-Ressource zu verwalten. Sie können Tags hinzufügen, wenn Sie einen Bot oder einen Bot-Alias erstellen, oder Sie können Tags aus einem Bot, einem Bot-Alias oder einem Bot-Channel hinzufügen, ändern oder entfernen.

Alle Beispiele sind für Linux und macOS formatiert. Um den Befehl in Windows zu verwenden, ersetzen Sie das Linux-Fortsetzungszeichen (\$1) durch ein Caret (^).

**So fügen Sie ein Tag hinzu, wenn Sie einen Bot erstellen:**
+ Der folgende abgekürzte `put-bot` AWS CLI Befehl zeigt die Parameter, die Sie verwenden müssen, um ein Tag hinzuzufügen, wenn Sie einen Bot erstellen. Um tatsächlich einen Bot zu erstellen, müssen Sie andere Parameter angeben. Weitere Informationen finden Sie unter [Schritt 4: Erste Schritte (AWS CLI)](gs-cli.md).

  ```
  aws lex-models put-bot \
      --tags '[{"key": "key1", "value": "value1"}, \
               {"key": "key2", "value": "value2"}]'
  ```

**So fügen Sie ein Tag hinzu, wenn Sie einen Bot-Alias erstellen:**
+ Der folgende abgekürzte `put-bot-alias` AWS CLI Befehl zeigt die Parameter, die Sie verwenden müssen, um ein Tag hinzuzufügen, wenn Sie einen Bot-Alias erstellen. Um tatsächlich einen Bot-Alias zu erstellen, müssen Sie andere Parameter angeben. Weitere Informationen finden Sie unter [Übung 5: Erstellen eines Alias (AWS CLI)](gs-cli-create-alias.md).

  ```
  aws lex-models put-bot \
      --tags '[{"key": "key1", "value": "value1"}, \
               {"key": "key2", "value": "value2"}]"
  ```

**So listen Sie Tags auf einer Ressource auf:**
+ Verwenden Sie den `list-tags-for-resource` AWS CLI Befehl, um die Ressourcen anzuzeigen, die einem Bot, Bot-Alias oder Bot-Kanal zugeordnet sind. 

  ```
  aws lex-models list-tags-for-resource \
      --resource-arn bot, bot alias, or bot channel ARN
  ```

**So fügen Sie Tags zu einer Ressource hinzu oder ändern sie:**
+ Verwenden Sie den `tag-resource` AWS CLI Befehl, um einen Bot, Bot-Alias oder Bot-Kanal hinzuzufügen oder zu ändern.

  ```
  aws lex-models tag-resource \
      --resource-arn bot, bot alias, or bot channel ARN \
      --tags '[{"key": "key1", "value": "value1"}, \
               {"key": "key2", "value": "value2"}]'
  ```

**So entfernen Sie Tags von einer Ressource:**
+ Verwenden Sie den `untag-resource` AWS CLI Befehl, um Tags aus einem Bot, Bot-Alias oder Bot-Kanal zu entfernen.

  ```
  aws lex-models untag-resource \
      --resource-arn bot, bot alias, or bot channel ARN \
      --tag-keys '["key1", "key2"]'
  ```