本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Lex V2 核心概念
借助 Amazon Lex V2,您可以构建聊天应用程序(机器人),以从用户那里获取信息来完成任务。例如,您可以创建一个聊天机器人来提供客户支持、回答常见问题或预约。以下是使用 Amazon Lex V2 的典型步骤:
快速入门学习路径
Amazon Lex V2 的新手? 按照这条渐进式学习路径快速入门:
-
从@@ 模板开始(5 分钟)— 从预先构建的聊天机器人模板中进行选择,例如 Customer Support 常见问题解答、预约预订或订单状态。模板包括预先配置的意图、插槽和语句示例。
-
自定义您的聊天机器人(15 分钟)-修改模板以匹配您的特定用例。添加您自己的意图,更新示例话语并为您的域名配置插槽类型。
-
测试和优化(10 分钟)— 使用内置的测试控制台与聊天机器人进行对话。启用 Assisted NLU,以最少的训练数据增进理解。
-
部署和集成(20 分钟)-发布您的聊天机器人并将其与您的首选平台(Slack、Web 应用程序或移动应用程序)集成。
使用聊天机器人的总时间:约 50 分钟
要获得更全面的理解,请继续下面的详细开发过程。
详细的开发流程
对于更复杂的机器人或从头开始构建时,请遵循以下全面的开发流程:
-
创建机器人并添加一种或多种语言。配置机器人,使其了解用户的目标,与用户进行对话以引发信息,并实现用户的意图。
-
测试自动程序。您可以使用由 Amazon Lex V2 控制台提供的测试窗口客户端。
-
发布版本和创建别名
-
部署机器人。您可以在自己的应用程序或消息收发平台(如 Facebook Messenger 或 Slack)上部署机器人。
核心概念和术语
开始之前,请熟悉以下 Amazon Lex V2 核心概念和术语:
-
机器人:机器人执行自动化任务,如订购披萨、预定酒店、订花等。Amazon Lex V2 机器人由自动语音识别(ASR)和自然语言理解(NLU)功能提供支持。
Amazon Lex V2 机器人可理解通过文本或语音提供的用户输入并支持自然语言交流。
-
语言:Amazon Lex V2 机器人可以用一种或多种语言进行交流。每种语言都独立于其他语言,您可以将 Amazon Lex V2 配置为使用本地单词和短语与用户交流。有关更多信息,请参阅 Amazon Lex V2 支持的语言和区域设置。
-
意图:意图表示用户要执行的操作。您创建机器人以支持一个或多个相关意图。例如,您可以创建一个披萨和饮料订购意图。对于每个目的,您需要提供以下必要信息:
-
意图名称:意图的描述性名称。例如
OrderPizza。 -
示例言语:用户表达意图的可能方式。例如,用户可能会说“我能订购披萨吗”和“我想订购披萨”。
-
如何履行意图:在用户提供必要的信息后,您希望如何履行意图。建议您创建一个 Lambda 函数来履行意图。
您可以选择对意图进行配置,使 Amazon Lex V2 将履行意图所需的必要信息返回给客户端应用程序。
此外,Amazon Lex V2 还提供内置意图来快速设置您的机器人。有关更多信息,请参阅 内置意图。
Amazon Lex 始终包含每个机器人的回退意图。每当 Amazon Lex 无法推断出用户的意图时,就会使用回退意图。有关更多信息,请参阅 AMAZON.FallbackIntent。
-
-
槽位:一个意图可能需要零个或零个以上的槽位或参数。您可以添加槽,作为意图配置的一部分。在运行时,Amazon Lex V2 提示用户提供特定的槽位值。用户必须为所有必需槽位提供值,然后 Amazon Lex V2 才能履行意图。
例如,
OrderPizza意图需要诸如尺寸、饼皮类型和披萨数量等槽位。对于每个槽位,您需要提供槽位类型和一个或多个提示,以便 Amazon Lex V2 发送到客户端来从用户那里引发值。用户可以回复包含额外词的槽位值,如“请来一张大号披萨”或“我还是吃小号的吧”。Amazon Lex V2 仍然可以理解该槽位值。 -
槽位类型:每个槽位都具有一种类型。您可创建您自己的槽位类型或使用内置槽位类型。例如,您可针对
OrderPizza目的创建并使用以下槽类型:-
大小:使用枚举值
Small、Medium和Large。 -
馅饼皮:使用枚举值
Thick和Thin。
Amazon Lex V2 还提供了内置槽位类型。例如,
AMAZON.Number是可用于订购披萨数量的内置槽类型。有关更多信息,请参阅 内置意图。 -
-
版本:版本是您工作的带编号快照,您可以发布版本以用于您的工作流的不同阶段,如开发、测试部署和生产。创建版本后,您可以使用创建版本时存在的机器人。创建版本之后,在您继续使用应用程序时它将保持不变。
-
别名:别名是指向机器人特定版本的指针。通过别名,您可以更新您的客户端应用程序正在使用的版本。例如,您可以将别名指向您机器人的版本 1。当您准备更新机器人时,您可以发布版本 2,然后更改别名以指向新版本。由于您的应用程序使用的是别名而不是特定版本,因此您的所有客户端无需进行更新即可获得新功能。
Amazon Lex V2 高级功能
除了上述核心概念外,Amazon Lex V2 还包括增强机器人功能的高级功能:
-
辅助的 NLU — 使用大型语言模型 (LLMs) 来改善意图分类和插槽分辨率。此功能可帮助您的机器人更准确地理解用户请求,即使他们使用的措辞与您的训练示例不同。辅助的 NLU 在您配置的意图和时段内工作,无需大量训练数据即可提供更好的理解。
-
多回合对话 — Amazon Lex V2 可以在多个对话回合中保持背景信息,从而实现自然 back-and-forth互动。用户可以在不丢失对话背景的情况下逐步提供信息、改变主意或提出澄清问题。
-
上下文切换-高级机器人可以处理对话中的主题更改。例如,用户可能会开始询问账户信息,然后切换到下订单,然后返回到原始主题。Amazon Lex V2 可以优雅地管理这些上下文切换。
-
回退策略 — 当 Amazon Lex V2 无法理解用户的请求时,您可以配置复杂的回退行为,包括澄清问题、建议提示或向人工代理上报。这样可以确保用户在对话中始终有前进的道路。
-
对话流管理-使用条件分支和对话流控件,无需编写代码即可创建复杂的对话模式。您可以根据用户响应、时段值或外部数据路由对话。
区域可用性
有关提供 Amazon Lex V2 的 AWS 区域列表,请参阅《亚马逊网络服务通用参考》中的 Amazon Lex V2 终端节点和配额。