跟进 AWS Lex 中的问题

Follow up questions in AWS Lex

我正在尝试使用 Amazon Lex 创建一个聊天机器人来显示来自数据库的结果。设计的会话流程是首先显示 10 个结果,然后为用户提供一个选项“查看更多结果?”,这将是一个 Yes/No 问题。这将从数据库中获得额外的 10 个结果。 我在 Internet 上搜索了文档和论坛,以了解添加此后续 Yes/No 问题的方法,但没有成功。 我对 LEX 比较陌生,无法模拟这种对话流。 有人可以向我解释 this/direct 正确的文档吗?

非常感谢help/links。

您可以在 Lex 控制台中创建自己的 Yes/No 自定义槽类型。

我在这里构建了一个示例:

我将插槽类型命名为 affirmation

然后我限制了同义词列表等同于 YesNo 值。

这允许用户以多种不同的方式自然地做出响应,并且机器人会做出适当的响应。您所要做的就是构建您的 Lambda 处理任何使用此插槽类型的插槽来查找“是”或“否”。

您也可以轻松监控此槽以记录不在您的同义词列表中的任何输入,以扩展您的列表并提高您的机器人对肯定和否定的识别。

我什至在 Lambda 中为这个插槽构建了一个解析器,以便能够将表情符号(拇指 up/down、笑脸、悲伤的脸等)正确地识别为这些类型问题的肯定或否定答案我的机器人。

Lex 没有像 Alexa 这样的内置功能,这可能令人惊讶,但它并不难构建,而且您可以轻松自定义它,这是内置插槽类型无法做到的。


无论如何,在创建此 SlotType 后,您可以创建多个槽以在一个意图中使用它。

假设您创建了一个名为 'moreResults' 的插槽和另一个名为 'resultsFeedback' 的插槽。两者都将设置为使用此 'affirmation' slotType 来检测 Yes/No 响应。

然后当你在对话中 ElicitSlot 这些插槽中的任何一个时,你可以针对每个插槽专门形成问题。您可以在下一次响应时检查您的 Lambda 中的插槽是否填充了值 'Yes' 或 'No'。