了解机器人对话 - Amazon Lex

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解机器人对话

构建机器人后,您可以将您的客户端应用程序与 Amazon Lex V2 运行时操作集成,以便与您的机器人进行对话。用户启动与您的机器人的对话时,Amazon Lex V2 会创建一个会话。会话封装了您的应用程序和机器人之间交换的信息。有关更多信息,请参阅 了解 Amazon Lex V2 机器人会话

典型的对话涉及用户和机器人之间的来回流程。例如:

User : I'd like to make an appointment Bot : What type of appointment would you like to schedule? User : dental Bot : When should I schedule your dental appointment? User : Tomorrow Bot : At what time do you want to schedule the dental appointment on 2021-01-01? User : 9 am Bot : 09:00 is available, should I go ahead and book your appointment? User : Yes Bot : Thank you. Your appointment has been set successfully.

使用RecognizeTextRecognizeUtteranceAPI操作自行管理对话。使用该StartConversationAPI操作让 Amazon Lex V2 为您管理对话。

要管理对话,您必须向机器人发送用户言语,直到对话达到合乎逻辑的结局。当前对话是在会话状态下捕获的。每次用户言语后,会话状态都会更新。会话状态包含对话的当前状态,由机器人作为对每个用户话语的响应返回。

对话可以处于以下任意状态:

  • ElicitIntent— 表示机器人尚未确定用户的意图。

  • ElicitSlot— 表示机器人已检测到用户的意图并正在收集实现意图所需的信息。

  • ConfirmIntent— 表示机器人正在等待用户确认收集的信息是否正确。

  • Closed:表示用户的意图已完成,并且与机器人的对话已达到合乎逻辑的结局。

用户可以在第一个意图完成后指定新意图。有关更多信息,请参阅 与你的 Lex V2 机器人的对话情境

意图可以具有以下状态:

  • InProgress— 表示机器人正在收集完成意图所需的信息。这与 ElicitSlot 对话状态有关。

  • 等待中:表示当机器人要求提供特定槽位的信息时,用户请求机器人等待。

  • 已履行:表示与意图关联的 Lambda 函数中的业务逻辑成功运行。

  • ReadyForFulfillment— 表示机器人收集了实现意图所需的所有信息,并且客户端应用程序可以运行配送业务逻辑。

  • 失败:表示意图达成失败。

请参阅以下主题,了解如何使用 Amazon Lex V2 APIs 管理您的机器人与用户之间的对话上下文和会话。