AWS Lex AlphaNumeric 内置插槽类型不接受字符串。

问题描述 投票:2回答:1

我一直在研究一个具有多个意图的AWS Lex Bot。目前,我遇到了一个问题,即插槽类型为 AMAZON.AlphaNumberic 只接受数字。

当我输入 "Test "这样的单词时,它不会继续进入下一个槽,但当输入 "1 "这样的数字时,它就会进入下一个槽。

我不知道为什么会发生这种情况,但它只是在几天前才开始这样做。

我试过的方法:将槽类型改为 AMAZON.NUMBER,重建Bot并使用Number进行测试,然后它继续进入下一个槽。将老虎机类型改回 AMAZON.AlphaNumeric 并重建。依然出现错误。

编辑:我现在意识到,当第一个槽类型为 AMAZON.AlphaNumeric,它只接受Numbers,但第二个槽的类型是 AMAZON.AlphaNumeric 它需要字符串的值和字符串的数字。

Conversation

Slot Types

amazon-lex aws-lex
1个回答
0
投票

不要使用 AMAZON.AlphaNumeric 槽来捕获用户输入的任何输入。你现在观察到的行为,可能会在你的机器人复杂度增加时,随着更多的槽位和意图而改变,因为你无法预测机器人在后端是如何被训练的。

AMAZON.AlphaNumeric 槽应该用于拾取由字母和数字组成的组合(不含空格)。如果你能为预期的输入定义一个正则表达式,然后展开槽来验证值,那就更好了。如果你的字符串只包含数字或字母,请按照文档中的解释定义一个regex。

因为看起来你是在试图获取一个街道地址,所以最好是使用 AMAZON.StreetAddress 内置槽型。

© www.soinside.com 2019 - 2024. All rights reserved.