我正在构建一个聊天机器人,接受以下输入:
"How do I take a screenshot on iphone"
然后搜索
"take a screenshot on iphone"
我遵循了有关如何制作Document Search Bot和Question and Answer Bot的教程,但是两者都依赖于提供关键字或形式完整的示例问题。
僵尸程序是否可以在不提供任何关键字等的情况下直觉查询是什么?
答案 0 :(得分:1)
点击左侧导航栏中“意图”旁边的+
图标。
将出现一个弹出窗口,因此单击“创建意图”。
然后输入一个名称,例如:QueryLookup
。然后从左侧的“意图”列表中单击该意图。
Slot Type
点击左侧导航栏中“广告位类型”旁边的+
图标。
将出现一个弹出窗口,因此单击“创建插槽类型”。
指定插槽类型的名称(例如:QueryPhrases
),描述(可选),然后选中“扩展值”框。
然后输入一些您希望用户询问的示例值。给它提供各种值,例如单个单词或多个单词或完整的句子。这有助于训练Lex从整个用户输入中识别哪些查询。完成后,单击“将插槽添加到意图”按钮。
第2步将自动向意图添加一个广告位。给定的默认名称为slotOne
,但是您可以通过单击突出显示的插槽名称来更改它。默认情况下,“必需”复选框处于选中状态。输入提示,以防您需要引出此广告位(请询问用户以提供它)例如:What would you like to know about?
选中两个Lambda Function复选框:(1)“初始化和验证代码挂钩”和(2)履行。然后在下拉菜单中从列表中选择您的Lamda函数。在这里您将根据Lex解释的查询进行处理。
回到新意图的顶部,添加“示例文字”。这些训练Lex如何匹配用户输入以触发此意图并捕获query
插槽。考虑用户为此目的要求的方式。从您的示例中:
“如何在iPhone上截屏”
只需将您要标识的查询词或短语替换为广告位名称。还要删除问号。
“我如何{query}”
然后尽可能多地写下这些变化。
保存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函数返回的响应的格式。