Chatbots mit Amazon Lex

Die Entwicklung eines Chatbots mit Amazon Lex, einem Dienst zur Erstellung von Konversationsschnittstellen für Sprache und Text, geht schnell und einfach. Solche Bots können als Sprach- oder Text-Chatbots in neue oder vorhandene Anwendungen integriert werden.

Expertenwissen für maschinelles Lernen ist dabei keine Voraussetzung. Es reicht die Bereitstellung einfacher Beispielsätze und verschiedener Parameter (Slots), über die mit Hilfe der entsprechenden Eingabeaufforderungen Informationen von den Benutzern abgerufen werden sollen. Das Sprachmodell wird automatisch erstellt.

Um einen Bot zu erstellen, definieren Sie als erstes Aktionen, die der Bot ausführen soll. Diese werden „Intents“ genannt. Ein Bot kann mehrere Intents umfassen. So enthält ein Bot zur Buchung von Tickets Intents zur Durchführung, zur Stornierung und zur Überprüfung von Reservierungen. Für jeden Intent fügen Sie beispielhafte Beispielsätze und Slots hinzu. Slots sind Parameter, die zur Ausführung von Intents erforderlich sind, beispielsweise Reiseort, Reisedatum und Sitzplatzpräferenz. Abschließend stellen Sie die Geschäftslogik für die Umsetzung der Aktion bereit. Ein Amazon Lex-Bot kann sowohl über die Konsole als auch über REST-APIs und eine Vielzahl verfügbarer Software Development Kits (SDKs) erstellt werden.

Eine Aktion lässt sich dann auf zwei Arten realisieren: Entweder durch Integration in AWS Lambda oder Sie konfigurieren Amazon Lex so, dass analysierte Intents und Slot-Werte an den die Anwendung zurückgesendet werden, um Aktionen umzusetzen. Bei einer engen Integration in AWS Lambda können außerdem Benutzereingaben mit einer Code-Verknüpfung („Codehook“) für Initialisierung und Validierung überprüft werden. Dieser Code wird bei jedem Konversationsschritt ausgeführt. Der Codehook lässt sich zur Einrichtung von Sitzungsparametern, Überprüfung von Benutzereingaben und Anpassung von Antworten verwenden.

Für die Umsetzung von Spracherkennung und Sprach-Verstehen nutzt Amazon Lex Deep Learning-Technologien, die eine kontinuierliche Verbesserung seiner Fähigkeiten ermöglichen. Dadurch werden solche Sprachanwendungen in Zukunft automatisch besser und leistungsfähiger.