亚马逊 lex 匹配完全不相似的意图

Amazon lex matching Intents which are not similar at all

我在 lex 中创建了一个名为 MinimumAgeIntent 的意图。 MinimumAgeIntent 有 2 个语句: 1. 什么是年龄限制 2. 患者参与研究的最低年龄是多少

当我输入问题 "where is the capital of turkey" 时,它符合最低年龄要求。为什么是这样?这是怎么回事,没有任何意义。

在第一张图片中,您可以看到它正在返回响应,就好像它符合最低年龄意图一样。

在第二张图片中,您可以看到 lambda 日志,其中显示了请求中的意图。

Lex 不仅针对给定的话语映射意图,而是将其作为示例并尝试匹配类似的用户输入。在您的情况下,这可能是由于您为 MinimumAgeIntent 和其他意图提供的话语而发生的。当 Lex 尝试根据用户输入映射意图时,它会将 MinimumAgeIntent 视为最接近的匹配项。

你可以尝试的东西

  • 对意图使用不冲突的话语。并添加它的不同种类,以便它涵盖一般的用户意图。为每个意图至少添加 5 到 10 个话语。

  • 适当使用插槽并在您的代码中验证其值。

  • Lex 总是给出 inputTranscript 这样您就可以在您的代码上验证它。可能不是最好的主意,但您仍然可以检查强制性单词(更喜欢验证插槽),在您的情况下 "age" for MinimumAgeIntent。并以适当的回应回应。
  • 添加另一个意图,如 InvalidUserInput,并添加机器人不支持的常见用户输入,并使用正确的错误消息进行响应。 对此要非常小心,除非您知道自己在做什么并且别无选择,否则不要这样做。