AWS Lex-从用户问题中选择查询

时间:2018-09-16 21:02:06

标签: amazon-web-services search aws-lex

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

"How do I take a screenshot on iphone"

然后搜索

"take a screenshot on iphone"

我遵循了有关如何制作Document Search BotQuestion and Answer Bot的教程,但是两者都依赖于提供关键字或形式完整的示例问题。

僵尸程序是否可以在不提供任何关键字等的情况下直觉查询是什么?

1 个答案:

答案 0 :(得分:1)

在Lex Console中设置问答意图

1创建新意图

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

enter image description here


2创建一个新的Slot Type

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

Add Slot Type Details


3添加和修改广告位

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

Edit Slot Details


4添加Lambda函数

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

Check Lamda


5添加示例话语

回到新意图的顶部,添加“示例文字”。这些训练Lex如何匹配用户输入以触发此意图并捕获query插槽。考虑用户为此目的要求的方式。从您的示例中:

  

“如何在iPhone上截屏”

只需将您要标识的查询词或短语替换为广告位名称。还要删除问号。

  

“我如何{query}”

然后尽可能多地写下这些变化。

Add Sample Utterances


6。保存并构建

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

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

Lambda Function Input Event and Response Format

  

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