我正在构建一个 Alexa 应用程序,它需要能够处理问题的答案。我有一个SkipIntent
具有跳过问题的示例话语的意图。
我想建立一个AnswerIntent
它可以获取任何答案,并根据正确答案对其进行处理。我尝试使用Amazon.LITERAL
为此输入一些示例(来自这个问题:如何接受自由格式文本作为 Amazon Skill Kit 的输入? https://stackoverflow.com/questions/36239224/how-to-accept-the-free-form-text-as-input-to-amazon-skill-kit?lq=1):
AnswerIntent {bottle|Answer}
AnswerIntent is it {bottle|Answer}
AnswerIntent is it a {bottle|Answer}
AnswerIntent is it an {bottle|Answer}
AnswerIntent a {bottle|Answer}
AnswerIntent an {bottle|Answer}
AnswerIntent {pillow|Answer}
AnswerIntent is it {pillow|Answer}
AnswerIntent is it a {pillow|Answer}
AnswerIntent is it an {pillow|Answer}
AnswerIntent a {pillow|Answer}
AnswerIntent an {pillow|Answer}
如果我在答案前面加上“是它”或其他定义的前缀之一,这实际上是有效的,但它没有得到“仅答案”部分。它似乎与我的混淆SkipIntent
其定义为:
SkipIntent i don't know
SkipIntent don't know
SkipIntent skip
SkipIntent i don't know that
SkipIntent who knows
SkipIntent i don't know this question
SkipIntent i don't know that one
SkipIntent dunno
我定义的是AnswerIntent
正确吗?如果没有,是否有更好的方法来捕捉无限的可能性?亚马逊似乎不喜欢“LITERAL”方法,所以我愿意接受更好的方法。
亚马逊的 Alexa 服务并不是为听写而设计的。这是开发者布道者的一致回应。因此,您将无法提供您想要的确切客户体验:能够自行接受任何类型的输入。
通过“欺骗”Alexa 接受“通用插槽”,您将超出 Alexa 的设计规范。很多人都这样做过,但正如您所发现的那样,它永远不会表现良好。
具体来说,对于您的用例,单独尝试通用插槽特别糟糕。在内部,Alexa 使用交互模型来构建可能被识别的句子树。然后它获取输入的声音,并将它们与树进行匹配。哪个分支最终具有最高的置信度就是被选择的分支。
当您添加通用槽时,您会在树中添加一个几乎匹配任何内容的节点,它与匹配特定值的分支竞争。例如。如果 Alexa 可以在“X”、“Y”和“之间进行选择“,一般都会选择”“。这就是为什么你的通用插槽本身就吞噬了其他答案。
如果您想要一种高质量的技能,您应该寻求一种不使用通用插槽的设计。例如,您可以在问答类型技能中使用多项选择。或者选择具有一组特定答案的问题,例如颜色或美国各州。
如果您只是做演示,那么当然可以使用通用插槽。您可以进行足够多的拍摄以使录音看起来不错。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)