1

我在 Amazon Developer 控制台中定义了一个自定义插槽类型,该插槽包含一个名称列表,如下所示。

homer simpson
ned flanders
principal skinner
comic book guy

然后,我将示例话语定义如下。

PlayAudio to play {Name}

所以最后,我希望用户能够说出类似于以下内容的内容:

Alexa,请辛普森一家扮演本垒打辛普森

Alexa,请辛普森一家扮演 ned flanders

Alexa,请辛普森一家扮演主要的斯金纳

Alexa,请辛普森一家扮演漫画书的人

当然,Alexa 听错名称的可能性非常高,因此我需要能够将听到的名称与插槽值之一尽可能匹配。

我将如何去做,我必须在函数中编码还是有更好的方法?

4

2 回答 2

1

使用自定义插槽时,Alexa 可能会提供不在列表中的值。随着列表大小的增加,这会变得特别成问题。使用 Tom 建议的 beta 测试功能会有所帮助,但您将无法发现所有问题,最终这将无法扩展。

我发现完全确保您从列表中获得价值的唯一方法是在技能中包含完整列表并每次检查它。为了检查,精确匹配并不总是最好的选择,我尝试了两种方法:

于 2017-06-19T18:53:50.787 回答
0

你是对的,“Alexa 很可能会错误地听到这个名字”。我的解决方案是与人类测试人员进行大量试验和错误,以发现常见的错误解释是什么,然后对这些错误进行硬编码修复。

所以我让测试人员说出不同的名字并记录他们所说的内容。然后,我查看 Alexa 给我的槽值,以及存在差异的地方,我将硬编码替换添加到我的技能中。

于 2017-06-17T15:20:04.430 回答