如何定义Lex插槽类型(自定义/内置)除了给它的任何值?

时间:2018-05-21 05:36:30

标签: amazon-web-services amazon-lex

我有插槽名称"评论"。我需要一个插槽类型,它取用户给这个字段的任何值。

3 个答案:

答案 0 :(得分:0)

亚马逊支持人员以这种方式回答了类似的问题:

来自aws dev forum

  

通过插槽捕获自由格式文本的推荐方法是创建自定义插槽类型,并提供足够的代表性样本/训练数据作为插槽值。这将使Lex能够从这些样本中学习,并识别出更大的集合。

因此,在您的插槽值示例中,如果这是您所期望的,您应该添加单个单词,多个单词甚至整个句子。这让Lex知道并学习了大量的数据来填补空白。
您提供的样本值越多,Lex 应该越好。

答案 1 :(得分:0)

我遇到了同样的问题,首先我尝试提供各种各样的训练数据,但每当我输入新内容时,它都无法在Lex中正确捕获。

所以我创建了一个没有任何价值的插槽,未选中所需的复选框(重要)。然后我启用了Lambda initialization and validation hook,以便转到DialogCodeHook 在后端代码中,在DialogCodeHook中,我从event['inputTranscript']抓取用户的输入并将该值分配给插槽。

希望它有所帮助。

答案 2 :(得分:0)

我已经在lex平台上工作了一年多了。根据我的理解,不可能将自由文本捕获为插槽。添加更多训练数据仅用于处理自由文本的方法将使得插槽(因此意图)贪婪并且对机器人的整体性能产生负面影响。 最好的选择(仅限自定义通道)是利用会话属性从聊天界面传递自由文本,并将预定义文本(插槽中的一个值)作为输入传递给lex;在lambda中编写逻辑以从会话属性中捕获自由文本。 如果您需要更清晰,请告诉我。