我在Amazon Developer控制台中定义了一个自定义插槽类型,插槽包含一个名称列表,如下所示。
homer simpson
ned flanders
principal skinner
comic book guy
然后我定义了样本话语如下。
PlayAudio to play {Name}
所以最后,我希望用户能够说出类似于下面的内容:
Alexa,要求辛普森一家打本垒打辛普森Alexa,要求辛普森一家玩ned佛兰德 Alexa,让辛普森一家扮演主要角色
Alexa,让辛普森一家玩漫画家伙
当然,Alexa很有可能会错误地听到这个名字,所以我需要能够尽可能地将听到的名称与其中一个槽值相匹配。
我将如何进行此操作,是否必须在函数中对其进行编码或是否有更好的方法?
答案 0 :(得分:1)
使用自定义广告位时,Alexa可能会提供不在列表中的值。随着列表的大小增加,这会产生特别的问题。使用Tom建议的beta测试功能可以提供帮助,但是您将无法捕获所有问题,最终无法扩展。
我发现完全确保从列表中获取值的唯一方法是在技能中包含完整列表并每次检查它。为了检查,精确匹配并不总是最佳选择,我尝试了两种方法:
答案 1 :(得分:0)
你说'Alexa会错误地听到这个名字'的可能性很大。我的解决方案是与人类测试人员进行一系列的反复试验,以发现常见的错误解释,然后对这些解释进行硬编码修复。
所以我让测试人员说出不同的名字并记录下他们说的话。然后我看看Alexa给我的插槽值是什么,如果存在差异,我会在我的技能中添加硬编码替换。