我在lex中创建了一个名为MinimumAgeIntent的意图。 MinimumAgeIntent有2种说法: 1.年龄限制 2.患者参加研究的最低年龄是多少
当我输入问题“土耳其的首都在哪里”时,它与最低年龄意图相匹配。为什么是这样?发生了什么事没有任何意义。
在第一张图片中,您可以看到它正在返回响应,就像它符合最小年龄意图一样。
在第二张图片中,您可以看到显示请求中意图的lambda日志。
答案 0 :(得分:2)
Lex不仅为给定的语音映射意图,而且以这些为例,并尝试匹配相似的用户输入。在您的情况下,这可能是由于您对MinimumAgeIntent
发出的话语和其他意图而发生的。当Lex尝试根据用户输入映射意图时,它将MinimumAgeIntent
视为最接近的匹配项。
可以尝试的东西
对意图使用不冲突的话语。并添加不同的品种,以使其总体上涵盖用户的意图。为每种意图添加至少5到10个语音。
正确使用插槽并在代码上验证其值。
inputTranscript
,因此您可以在代码中对其进行验证。可能不是最好的主意,但是您仍然可以检查必填字词(建议使用验证位),在这种情况下,MinimumAgeIntent
为“年龄”。并以适当的回应回覆。 InvalidUserInput
并添加该漫游器不支持的普通用户输入,并以正确的错误消息进行响应。 对此要非常小心,除非您知道自己在做什么并且没有其他方法,否则请不要这样做。