如果您使用的是 Amazon Lex V2,请改为参阅 Amazon Lex V2 指南。
如果您使用的是 Amazon Lex V1,我们建议您将机器人升级到 Amazon Lex V2。我们不再向 V1 添加新功能,强烈建议使用 V2 以获得全新的机器人。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Lex:工作原理
借助 Amazon Lex,您能够使用由支持 Amazon Alexa 的相同技术提供支持的语音或文本界面构建应用程序。下面是您在使用 Amazon Lex 时执行的典型步骤:
-
创建自动程序,并为其配置您想要支持的一个或多个目的。配置自动程序,使其了解用户的目标 (目的),与用户进行对话以引出信息,并实现用户的目的。
-
测试自动程序。您可以使用由 Amazon Lex 控制台提供的测试窗口客户端。
-
发布版本和创建别名
-
部署自动程序。您可以在移动应用程序或消息收发等平台 (如 Facebook Messenger) 上部署自动程序。
开始之前,请熟悉以下 Amazon Lex 核心概念和术语:
-
机器人 — 机器人执行自动化任务,如订购披萨、预定酒店、订花等。Amazon Lex 机器人由自动语音识别 (ASR) 和自然语言理解 (NLU) 功能提供支持。在您的账户中,每个机器人都应具有唯一的名称。
Amazon Lex 机器人可理解通过文本或语音提供的用户输入并支持自然语言交流。您可以创建 Lambda 函数,然后将其作为代码挂钩添加到您的意图配置中,从而执行用户数据验证以及完成任务。
-
意图 — 意图表示用户要执行的操作。您创建自动程序以支持一个或多个相关目的。例如,您可以创建一个用于订购披萨和饮料的自动程序。对于每个目的,您需要提供以下必要信息:
-
意图名称 — 意图的描述性名称。例如,
OrderPizza
。意图名称在您的账户内必须是唯一的。 -
示例言语 — 用户表达意图的可能方式。例如,用户可能会说“我能订购披萨吗”和“我想订购披萨”。
-
如何完成意图 — 在用户提供必要的信息后,您希望如何履行意图(例如,向当地披萨店下达订单)。我们建议您创建一个 Lambda 函数来履行意图。
您可以选择对意图进行配置,使 Amazon Lex 只将履行意图所需的必要信息返回客户端应用程序。
除了订购披萨等自定义意图之外,Amazon Lex 还提供内置意图来快速设置您的机器人。有关更多信息,请参阅内置目的和槽类型。
-
-
插槽 — 一个意图可能需要零个或零个以上的插槽(参数)。您可以添加槽,作为目的配置的一部分。在运行时,Amazon Lex 提示用户提供特定的插槽值。用户必须为所有必需插槽提供值,然后 Amazon Lex 才能履行意图。
例如,
OrderPizza
目的需要诸如披萨尺寸、饼皮类型和披萨数量等槽。在目的配置中,您将添加这些槽。对于每个插槽,您需要提供插槽类型和提示,以便 Amazon Lex 发送到客户端来从用户那里引发数据。用户可以回复包含额外词语的插槽值,如“请来一张大号披萨”或“我还是吃小号的吧”。Amazon Lex 仍然可以理解预期的插槽值。 -
插槽类型 – 每个插槽都具有一种类型。您可创建自定义槽类型或使用内置槽类型。在您的账户中,每个插槽类型都应具有唯一的名称。例如,您可针对
OrderPizza
目的创建并使用以下槽类型:-
大小 – 使用枚举值
Small
、Medium
和Large
。 -
馅饼皮 – 使用枚举值
Thick
和Thin
。
Amazon Lex 还提供了内置插槽类型。例如,
AMAZON.NUMBER
是可用于订购披萨数量的内置槽类型。有关更多信息,请参阅内置目的和槽类型。 -
有关提供了 Amazon Lex 的 AWS 区域的列表,请参阅《Amazon Web Services 一般参考》中的 AWS 区域和端点。
下列主题提供了其他信息。我们建议您按顺序检查它们,然后探索 Amazon Lex 入门 练习。