代码之家  ›  专栏  ›  技术社区  ›  Funzo

Amazon Lex匹配的意图完全不同

  •  1
  • Funzo  · 技术社区  · 7 年前

    我在lex中创建了一个叫做minimumageintent的意图。 最低限度的意图有两种说法: 1.年龄限制是多少 2.第二步。患者参与研究的最低年龄是多少?

    当我输入问题“土耳其的首都在哪里”时,它与最低年龄目标相匹配。这是为什么?发生了什么事没有任何意义。

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

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

    .

    当我输入问题“土耳其的首都在哪里”时,它与最低年龄目标相匹配。这是为什么?发生了什么事没有任何意义。

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

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

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   johndoe    7 年前

    lex不仅为给出的话语映射意图,而是将它们作为示例,并尝试匹配类似的用户输入。在你的情况下,这可能是因为你所说的话 MinimumAgeIntent 以及其他意图。当lex试图根据用户输入映射意图时,它会看到 最低年龄意向 作为最接近的匹配。

    一些你可以尝试的东西

    • 用不冲突的话语表达意图。并添加不同种类的信息技术,使其涵盖用户的总体意图。为每个意图添加至少5到10个发音。

    • 适当地使用槽并在代码上验证其值。

    • 莱克斯总是给 inputTranscript 所以您可以在代码上验证它。可能不是最好的主意,但你仍然可以检查强制词(首选验证时段),在你的情况下“年龄”为 最低年龄意向 .并做出适当的回应。
    • 添加另一个意图,如 InvalidUserInput 并添加bot不支持的公共用户输入,并使用适当的错误消息进行响应。 小心点这个 不要这样做,除非你知道你在做什么,而且没有其他方法。