Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何定义接受任何给定值的Lex插槽类型(自定义/内置)?_Amazon Web Services_Amazon Lex - Fatal编程技术网

Amazon web services 如何定义接受任何给定值的Lex插槽类型(自定义/内置)?

Amazon web services 如何定义接受任何给定值的Lex插槽类型(自定义/内置)?,amazon-web-services,amazon-lex,Amazon Web Services,Amazon Lex,我有一个插槽名称“备注”。我需要一个插槽类型,它接受用户给这个字段的任何值 亚马逊支持人员以这种方式回答了类似的问题: 发件人: 通过插槽捕获自由格式文本的推荐方法是创建自定义插槽类型,并提供足够具有代表性的示例/培训数据作为插槽值。这将允许Lex从这些示例中学习,并识别更大的集合 所以在你的槽值示例中,你应该添加单个单词,多个单词,甚至整个句子,如果这是你所期望的。这让Lex知道并了解要填充插槽的大量数据。 您给出的示例值越多,Lex应该越好 我也遇到了同样的问题,首先我试图提供范围广泛的训练

我有一个插槽名称“备注”。我需要一个插槽类型,它接受用户给这个字段的任何值

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

发件人:

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

所以在你的槽值示例中,你应该添加单个单词,多个单词,甚至整个句子,如果这是你所期望的。这让Lex知道并了解要填充插槽的大量数据。

您给出的示例值越多,Lex应该越好

我也遇到了同样的问题,首先我试图提供范围广泛的训练数据,但每当我键入新的内容时,都无法在Lex中正确捕获

因此,我创建了一个没有任何值的插槽,并且未选中所需的复选框(重要)。然后我启用了
Lambda初始化和验证挂钩
,这样它就进入了
对话框codehook

在后端代码中,在DialogCodeHook中,我从
事件['inputTranscript']
中获取用户的输入,并将该值分配给插槽


希望能有所帮助。

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

您可以使用亚马逊的
内置插槽类型。字母数字
回答得很好,但根据我的经验,它永远不会起作用。用户可以在备注中写入任何内容,无论您提供多少数据,它仍然无法识别。您是如何做到的?在我的例子中,它显示了一个错误消息“为'enumerationValues'指定的值无效。成员的长度必须大于或等于1”。