Alexa无法理解我的语音输入

问题描述

我正在研究Alexa技能,但Alexa难以理解我的语音输入。因此,发声与所需的插槽没有正确匹配...并且alexa总是要求或卡住。 这里有些例子: 确认:f.m。,来自

Speedbird:速度板,扬声器,速度但是,速度鸟,精神,快速浴池

风:有风(风是),什么时候回家(风很平静)

03号跑道:莎拉三号跑道

起飞:咳嗽

有什么方法可以训练Alexa正确理解我?还是我应该只将所有这些“虚假”言论写成话语,以便alexa可以正确地匹配我的意图? 感谢您的帮助!

解决方法

没有机会训练自己对Alexa的语言理解。

是的,正如您所写:我只是将这些错误的言论作为您意图的匹配。 amazon似乎也建议这样做:

...可能会告诉您,有时Alexa会误解“ mocha”一词为 “牛奶。”要缓解此问题,您可以将语音直接映射到 一种Alexa意图,可帮助您提高Alexa对您的了解 技能。 ....

提高ASR准确性的两种常见方法是映射意图值或 广告位值等于失败的话语

也许可以让其他人尝试一下,以确认它是否与您的讲话一样。

,

仅单词插槽

如果您仍在为此苦苦挣扎,则应尝试为广告位值添加更多变体(如果您有不断重复的特定解释,则可以使用同义词)。考虑为speed bird添加同义词,例如Speedbird(为take off添加takeoff)。非标准字槽无法像普通字一样准确地解析。通过将Speedbird分成两个词,Alexa应该可以更成功地识别该插槽。有关同义词的信息在这里:

https://developer.amazon.com/en-US/docs/alexa/custom-skills/define-synonyms-and-ids-for-slot-type-values-entity-resolution.html#sample-slot-type-definition-and-intentrequest

完成此操作后,您将希望获取广告位的规范值,而不是解释值(例如,您希望Speedbird而不是speedboard)。

要查看示例,请滚动至最后一个JSON代码块。该请求中描述的场景是,用户说的单词track是其请求中的广告位值song的同义词。您会看到MediaType的值为track(用户所说的),但是如果您看一看Resolutions对象,则在values数组内,第一个值对象是实际的广告位值song(您想要的)与同义词相关联。

此StackOverflow进一步详细说明了如何获得该值: How do I get the canonical slot value out of an Alexa request

单词和数字插槽

在“ 03号跑道”示例中,请考虑将其分为两个不同的位置,例如{RunwaySlot : Custom} {Number : Amazon.Number}。这些更复杂的广告位会给您带来更好的运气。对于“红色飞机”这样的示例也是如此,您需要将其分为两个插槽:{Color : Amazon.Color} {VehicleSlot : Custom}

https://developer.amazon.com/en-US/docs/alexa/custom-skills/slot-type-reference.html#number

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...