【问题标题】:AWS Lex AlphaNumeric Built-In Slot type not accepting stringAWS Lex AlphaNumeric 内置插槽类型不接受字符串
【发布时间】:2020-06-01 06:46:38
【问题描述】:

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

当我输入“Test”之类的单词时,它不会继续到下一个 Slot,但是当我输入“1”之类的数字时,它会进入下一个 Slot。

我不知道为什么会这样,但几天前才开始这样做。

我尝试过的: 将 Slot Type 更改为 AMAZON.NUMBER,重建 Bot 并使用 Number 进行测试,然后继续下一个 Slot。将插槽类型改回 AMAZON.AlphaNumeric 并重建。错误仍然存​​在。

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

【问题讨论】:

  • 看起来这个新的 Alphanumeric slotType 适用于混合字符串,例如航班号 aws.amazon.com/about-aws/whats-new/2020/02/… 因此,不要测试“test”的字母字符串,还要测试“a1b2c3”之类的混合字符串以查看如果这被接受。我的怀疑是它并不是一个包罗万象的 slotType,而基本上是 AMAZON.NUMBER,它也接受带数字的字母。

标签: amazon-lex aws-lex


【解决方案1】:

不要使用AMAZON.AlphaNumeric 槽来捕获用户输入的任何输入。您现在观察到的行为可能会随着您的机器人复杂性随着插槽和意图的增加而增加,因为您无法预测机器人在后端的训练方式。

AMAZON.AlphaNumeric 插槽应用于选择由字母和数字组成的组合(无空格)。如果您可以为预期的输入定义一个正则表达式,然后扩展槽以验证值,那就更好了。如果您的字符串仅包含数字或字母,请按照文档中的说明定义正则表达式。

由于您似乎正在尝试获取街道地址,因此最好使用内置插槽类型的AMAZON.StreetAddress

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    相关资源
    最近更新 更多