

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

# Amazon Lex V2 核心概念
<a name="how-it-works"></a>

借助 Amazon Lex V2，您可以构建聊天应用程序（机器人），以从用户那里获取信息来完成任务。例如，您可以创建一个聊天机器人来提供客户支持、回答常见问题或预约。以下是使用 Amazon Lex V2 的典型步骤：

## 快速入门学习路径
<a name="quick-start-path"></a>

Amazon Lex V2 的新手？ 按照这条渐进式学习路径快速入门：

1. 从@@ **模板开始**（5 分钟）— 从预先构建的聊天机器人模板中进行选择，例如 Customer Support 常见问题解答、预约预订或订单状态。模板包括预先配置的意图、插槽和语句示例。

1. **自定义您的聊天机器人**（15 分钟）-修改模板以匹配您的特定用例。添加您自己的意图，更新示例话语并为您的域名配置插槽类型。

1. **测试和优化**（10 分钟）— 使用内置的测试控制台与聊天机器人进行对话。启用 Assisted NLU，以最少的训练数据增进理解。

1. **部署和集成**（20 分钟）-发布您的聊天机器人并将其与您的首选平台（Slack、Web 应用程序或移动应用程序）集成。

**使用聊天机器人的总时间：约 50 分钟**

要获得更全面的理解，请继续下面的详细开发过程。

## 详细的开发流程
<a name="detailed-development-process"></a>

对于更复杂的机器人或从头开始构建时，请遵循以下全面的开发流程：

1. 创建机器人并添加一种或多种语言。配置机器人，使其了解用户的目标，与用户进行对话以引发信息，并实现用户的意图。

1. 测试自动程序。您可以使用由 Amazon Lex V2 控制台提供的测试窗口客户端。

1. 发布版本和创建别名

1. 部署机器人。您可以在自己的应用程序或消息收发平台（如 Facebook Messenger 或 Slack）上部署机器人。

## 核心概念和术语
<a name="core-concepts"></a>

开始之前，请熟悉以下 Amazon Lex V2 核心概念和术语：
+ **机器人**：机器人执行自动化任务，如订购披萨、预定酒店、订花等。Amazon Lex V2 机器人由自动语音识别（ASR）和自然语言理解（NLU）功能提供支持。

  Amazon Lex V2 机器人可理解通过文本或语音提供的用户输入并支持自然语言交流。
+ **语言**：Amazon Lex V2 机器人可以用一种或多种语言进行交流。每种语言都独立于其他语言，您可以将 Amazon Lex V2 配置为使用本地单词和短语与用户交流。有关更多信息，请参阅 [Amazon Lex V2 支持的语言和区域设置](how-languages.md)。
+ **意图**：意图表示用户要执行的操作。您创建机器人以支持一个或多个相关意图。例如，您可以创建一个披萨和饮料订购意图。对于每个目的，您需要提供以下必要信息：
  + **意图名称**：意图的描述性名称。例如 **OrderPizza**。
  + **示例言语**：用户表达意图的可能方式。例如，用户可能会说“我能订购披萨吗”和“我想订购披萨”。
  + **如何履行意图**：在用户提供必要的信息后，您希望如何履行意图。建议您创建一个 Lambda 函数来履行意图。

    您可以选择对意图进行配置，使 Amazon Lex V2 将履行意图所需的必要信息返回给客户端应用程序。

  此外，Amazon Lex V2 还提供内置意图来快速设置您的机器人。有关更多信息，请参阅 [内置意图](built-in-intents.md)。

  Amazon Lex 始终包含每个机器人的回退意图。每当 Amazon Lex 无法推断出用户的意图时，就会使用回退意图。有关更多信息，请参阅 [AMAZON.FallbackIntent](built-in-intent-fallback.md)。
+ **槽位**：一个意图可能需要零个或零个以上的槽位或参数。您可以添加槽，作为意图配置的一部分。在运行时，Amazon Lex V2 提示用户提供特定的槽位值。用户必须为所有必需槽位提供值，然后 Amazon Lex V2 才能履行意图。

  例如，`OrderPizza` 意图需要诸如尺寸、饼皮类型和披萨数量等槽位。对于每个槽位，您需要提供槽位类型和一个或多个提示，以便 Amazon Lex V2 发送到客户端来从用户那里引发值。用户可以回复包含额外词的槽位值，如“请来一张大号披萨”或“我还是吃小号的吧”。Amazon Lex V2 仍然可以理解该槽位值。
+ **槽位类型**：每个槽位都具有一种类型。您可创建您自己的槽位类型或使用内置槽位类型。例如，您可针对 `OrderPizza` 目的创建并使用以下槽类型：
  + 大小：使用枚举值 `Small`、`Medium` 和 `Large`。
  + 馅饼皮：使用枚举值 `Thick` 和 `Thin`。

  Amazon Lex V2 还提供了内置槽位类型。例如，`AMAZON.Number` 是可用于订购披萨数量的内置槽类型。有关更多信息，请参阅 [内置意图](built-in-intents.md)。
+ **版本**：版本是您工作的带编号快照，您可以发布版本以用于您的工作流的不同阶段，如开发、测试部署和生产。创建版本后，您可以使用创建版本时存在的机器人。创建版本之后，在您继续使用应用程序时它将保持不变。
+ **别名**：别名是指向机器人特定版本的指针。通过别名，您可以更新您的客户端应用程序正在使用的版本。例如，您可以将别名指向您机器人的版本 1。当您准备更新机器人时，您可以发布版本 2，然后更改别名以指向新版本。由于您的应用程序使用的是别名而不是特定版本，因此您的所有客户端无需进行更新即可获得新功能。

## Amazon Lex V2 高级功能
<a name="advanced-features"></a>

除了上述核心概念外，Amazon Lex V2 还包括增强机器人功能的高级功能：
+ **辅助的 NLU** — 使用大型语言模型 (LLMs) 来改善意图分类和插槽分辨率。此功能可帮助您的机器人更准确地理解用户请求，即使他们使用的措辞与您的训练示例不同。辅助的 NLU 在您配置的意图和时段内工作，无需大量训练数据即可提供更好的理解。
+ **多回合对话** — Amazon Lex V2 可以在多个对话回合中保持背景信息，从而实现自然 back-and-forth互动。用户可以在不丢失对话背景的情况下逐步提供信息、改变主意或提出澄清问题。
+ **上下文切换**-高级机器人可以处理对话中的主题更改。例如，用户可能会开始询问账户信息，然后切换到下订单，然后返回到原始主题。Amazon Lex V2 可以优雅地管理这些上下文切换。
+ **回退策略** — 当 Amazon Lex V2 无法理解用户的请求时，您可以配置复杂的回退行为，包括澄清问题、建议提示或向人工代理上报。这样可以确保用户在对话中始终有前进的道路。
+ **对话流管理**-使用条件分支和对话流控件，无需编写代码即可创建复杂的对话模式。您可以根据用户响应、时段值或外部数据路由对话。

## 区域可用性
<a name="regional-availability"></a>

有关提供 Amazon Lex V2 的 AWS 区域列表，请参阅《[亚马逊*网络服务通用*参考》中的 Amazon Lex V2 终端节点和配额](https://docs.aws.amazon.com/general/latest/gr/lex.html)。