如何使用消息收发构造功能在 Amazon Lex 中自定义我的互动?

上次更新日期:2022 年 5 月 25 日

我想在 Amazon Lex 中自定义与机器人的互动。如何使用响应卡、消息组和意图上下文等消息收发构造来自定义我与机器人的交互?

简短描述

Amazon Lex V2 为您提供了许多消息收发构造功能,允许您自定义用户与机器人的交互。按照本文中的步骤操作,使用 Amazon Lex V2 控制台自定义消息收发构造,如响应卡、消息组和意图上下文。

解决方法

响应卡

响应卡由一组对提示的响应组成。如果您希望 Amazon Lex 向客户端应用程序提供一组预定义的应用程序,则可以使用响应卡。例如,在出租车预订应用程序中,您可以配置用户可用的车辆类型,例如紧凑型、厢型车或 SUV。车辆类型在响应卡中显示为按钮,您的应用程序用户可以选择其中一个可用选项。然后,此选项将作为输入发送到 Amazon Lex。

要使用 Amazon Lex V2 控制台为插槽提示创建响应卡,请执行以下步骤:

1.    打开 Amazon Lex V2 控制台,然后选择配置插槽的意图。

2.    在 slots(插槽)部分中,选择插槽,然后选择 Advanced options(高级选项)。

3.    从 slot prompts(插槽提示)部分中,选择 More prompt options(更多提示选项)。

4.    选择 Add(添加)下拉列表,然后选择 Add card group(添加卡片组)。现在,您可以根据需要创建卡片和卡片组。

注意:每组最多可以定义三张卡片。用户在对话中选择一张卡片。

消息组

消息组是对特定提示的一组合适的响应。当您希望您的机器人在对话中动态构建响应时,您可以使用消息组。当 Amazon Lex 向客户端应用程序返回响应时,它会从每个组中随机选择一条消息。

例如,在 TaxiBooking 机器人中,您的第一个消息组可能包含机器人向用户打招呼的不同方式。它可能会使用“Hello”、“Hi”、“Hey”或“Greetings”。第二个消息组可能包含不同形式的介绍,例如“I am the TaxiBooking chatbot”(我是出租车预订聊天机器人)或“This is the TaxiBooking chatbot”(这是出租车预订聊天机器人)。 第三个消息组可能会传达诸如“I can help with the Taxi booking”(我可以帮助进行出租车预订)或“I am here to assist you with taxi booking”(我可以在此帮助您进行出租车预订)之类的功能。Amazon Lex 从每个组中随机选择一条消息,然后使用它们回复用户。

请按照以下步骤使用 Amazon Lex V2 控制台为成功配送消息创建多个消息组。

1.    打开 Amazon Lex V2 控制台,然后选择您想要自定义的意图。

2.    在 fulfillment(配送)部分中,选择 Advanced options(高级选项)。

3.    在 Success response(成功响应)部分中,选择 More response options(更多响应选项)。

4.    选择 Add(添加)下拉列表,然后选择 Add text message group(添加文本消息组)。现在,您可以根据需要创建消息和消息组。

上下文

上下文是定义机器人时可以与意图相关联的状态变量。在使用控制台或使用 CreateIntent 操作创建意图时,可以为该意图配置上下文。

上下文有两种类型的关系:输出上下文和输入上下文。当关联的意图得到满足时,输出上下文将变为活动状态。激活上下文后,它将在定义上下文时配置的回合次数或时间限制内保持活动状态。

输入上下文指定识别意图所依据的条件。只有在对话的所有输入上下文都处于活动状态时,意图才会被识别。没有输入上下文的意图始终有获得识别的资格。

创建输出上下文

当意图实现时,Amazon Lex 会激活意图的输出上下文。您可以使用输出上下文来控制意图是否符合当前意图。您可以使用多个输出上下文配置一个意图。当意图实现后,所有输出上下文都会被激活并在 RecognizeTextRecognizeUtterance 响应中返回。

定义输出上下文时,还要定义其生存时间。这表示在 Amazon Lex 的回复中包含上下文的时间长度或回合次数。一个回合指的是您的应用程序向 Amazon Lex 发出的一个请求。回合次数或时间到期后,上下文将不再处于活动状态。

您的应用程序可以根据需要使用输出上下文。例如,您的应用程序可以使用输出上下文来:

  • 根据上下文更改应用程序的行为。例如,旅行预订应用程序可能对上下文 book_car_fulfilled 有一个操作,对于 rental_hotel_fulfilled 可能有另一个操作。
  • 将输出上下文返回给 Amazon Lex,作为下一个语句的输入上下文。如果 Amazon Lex 将该话语识别为试图使用某个意图,则它会使用上下文来限制可以返回给具有指定上下文的意图。

按照以下步骤创建/指定输出上下文:

1.    打开 Amazon Lex V2 控制台,然后选择您想要自定义的意图。

2.    在 Context(上下文)部分中,输入您想要创建并分配给意图的输出上下文。

创建输入上下文

您可以设置输入上下文,以限制对话中可用于识别意图的点。没有输入上下文的意图始终有获得识别的资格。

按照以下步骤创建或指定输入上下文:

1.    打开 Amazon Lex V2 控制台,然后选择您想要自定义的意图。

2.    在 Context(上下文)部分,输入您想要创建并分配给意图的输出上下文。

对于具有多个输入上下文的意图,所有上下文都必须处于活动状态才能触发意图。当您调用 RecognizeTextRecognizeUtterancePutSession 操作时,您可以设置输入上下文。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?