2

我正在构建一个聊天机器人,它接受如下输入:

"How do I take a screenshot on iphone"

然后搜索

"take a screenshot on iphone"

我遵循了有关如何制作文档搜索机器人问答机器人的教程,但两者都依赖于提供关键字或完整的示例问题。

无论如何,机器人是否可以在不提供任何关键字等的情况下直觉查询是什么?

4

1 回答 1

1

在 Lex 控制台中设置问答意图

1 创建一个新的意图

单击+左侧导航中“意图”旁边的图标。
将出现一个弹出窗口,因此单击“创建意图”。
然后输入一个名字,例如:QueryLookup. 然后从左侧的意图列表中单击该意图。

在此处输入图像描述


2 新建一个Slot Type

单击+左侧导航中“插槽类型”旁边的图标。
将出现一个弹出窗口,因此单击“创建插槽类型”。
为槽类型命名(例如:)QueryPhrases、描述(可选),然后选中“扩展值”框。
然后输入一些您希望用户询问的示例值。给它各种值,如单个词或多个词或完整的句子。这有助于训练 Lex 从整个用户输入中识别哪些查询。完成后,单击“将槽添加到意图”按钮。

添加插槽类型详细信息


3 添加和编辑插槽

第 2 步将自动向意图添加一个槽。给出的默认名称是slotOne,但您可以通过单击突出显示的插槽名称来更改它。默认情况下选中“必需”复选框。输入提示以防您需要引出此插槽(请专门要求用户提供)示例:What would you like to know about?

编辑槽详细信息


4 添加 Lambda 函数

选中两个 Lambda 函数复选框:(1) “初始化和验证代码挂钩”和 (2) Fulfillment。并在下拉菜单中从列表中选择您的 Lamda 函数。这是您将根据 Lex 解释的查询进行处理的地方。

检查拉姆达


5 添加示例话语

回到新意图的顶部,添加“Sample Utterances”。这些训练 Lex 如何匹配用户输入以触发此意图并捕获query插槽。考虑用户在这个意图中要求某些东西的方式。从你的例子:

“如何在 iPhone 上截屏”

只需将您想要识别的查询词或短语替换为您的插槽名称即可。还要去掉问号。

“我如何{查询}”

然后尽可能多地写出这些变体。

添加示例话语


6. 保存并构建

保存 Intent、Build 和 Test 或 Publish-then-Test。Lex 现在将能够理解"How do I..."类型问题、触发这个新"QueryLookup"意图、识别"QueryPhrase"并将其保存在 slot 中"query"。然后,Lex 会将此信息传递给您的 Lambda 函数,您可以在其中处理、查找并构建您的响应。

以下是有关在您的 Lambda 函数中接收该信息(有时称为“事件”或“请求”)以及如何响应的文档。

Lambda 函数输入事件和响应格式

本节介绍 Amazon Lex 提供给 Lambda 函数的事件数据的结构。使用此信息来解析 Lambda 代码中的输入。它还解释了 Amazon Lex 期望您的 Lambda 函数返回的响应格式。

于 2018-09-18T09:10:34.347 回答