亚马逊 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
,并添加机器人不支持的常见用户输入,并使用正确的错误消息进行响应。 对此要非常小心,除非您知道自己在做什么并且别无选择,否则不要这样做。
我在 lex 中创建了一个名为 MinimumAgeIntent 的意图。 MinimumAgeIntent 有 2 个语句: 1. 什么是年龄限制 2. 患者参与研究的最低年龄是多少
当我输入问题 "where is the capital of turkey" 时,它符合最低年龄要求。为什么是这样?这是怎么回事,没有任何意义。
在第一张图片中,您可以看到它正在返回响应,就好像它符合最低年龄意图一样。
在第二张图片中,您可以看到 lambda 日志,其中显示了请求中的意图。
Lex 不仅针对给定的话语映射意图,而是将其作为示例并尝试匹配类似的用户输入。在您的情况下,这可能是由于您为 MinimumAgeIntent
和其他意图提供的话语而发生的。当 Lex 尝试根据用户输入映射意图时,它会将 MinimumAgeIntent
视为最接近的匹配项。
你可以尝试的东西
对意图使用不冲突的话语。并添加它的不同种类,以便它涵盖一般的用户意图。为每个意图至少添加 5 到 10 个话语。
适当使用插槽并在您的代码中验证其值。
- Lex 总是给出
inputTranscript
这样您就可以在您的代码上验证它。可能不是最好的主意,但您仍然可以检查强制性单词(更喜欢验证插槽),在您的情况下 "age" forMinimumAgeIntent
。并以适当的回应回应。 - 添加另一个意图,如
InvalidUserInput
,并添加机器人不支持的常见用户输入,并使用正确的错误消息进行响应。 对此要非常小心,除非您知道自己在做什么并且别无选择,否则不要这样做。