首页 > 解决方案 > Alexa DateSlot 摩根 vs. 摩根

问题描述

我们正在构建一种德语 alexa 技能,其中我们的一个意图是使用DateSlot. 如果我们询问某一天的名称(例如 Dienstag、Mittwoch),Alexa 会理解我们的输入并正确地用这一天调用我们的 api。如果我们要求"morgen"(代表明天),Alexa 理解"morgan"并且无法将输入映射到日期,因此 Alexa 要求不同的输入。

我们如何确保 Alexa 将我们的语音输入解释为德语单词而不是英语单词?

标签: alexa

解决方案


不确定德语与英语的区别,但我们在插槽类型方面遇到了类似的问题。我们最初并不理解槽类型不是输入的有限列表,而是训练值。我们最终使用了 natural 包中的 JaroWinklerDistance 方法。我们列出了预期的插槽类型以尝试匹配并选择最佳匹配。我们的插槽类型适用于汽车品牌、类型和颜色。所以你可以想象我们进来的无效值。

可能您可以通过创建新意图来捕获已知的无效值并进行 natural.JaroWinklerDistance 匹配来做类似的事情。您需要添加更多话语以匹配您的 DateSlot 话语,这些话语期望另一个带有“morgen”的插槽和您错误接收的其他值。然后,根据您的意图处理,检测字符串值并通过您已知的值列表进行匹配。如果发生完全出乎意料的事情,你总是会失败,就像现在当你收到“摩根”时一样。我们必须使用最佳匹配的阈值来确定我们是否使用它。

或者,您可以建立一个您不断获得的项目列表并将它们映射到有效值。我们也有一个预计 1、2、3、4 或 5 的插槽。在开发过程中,我们也得到了 4、2、to 等……我们最终将这些已知值映射到一个列表中,并将它们转换为我们预计。对于这种情况,我们必须翻译的值列表相当有限,但效果很好。


推荐阅读