你如何从 Alexa 设备获取原始语音输入

How do you take raw voice input from an Alexa device

我已经创建了一个 Alexa 技能,我可以使用各种意图成功地与之交互。但是,这些是固定的 answers/inputs。我想将来自 Alexa 设备的原始输入接收到我的 Amazon AWS Lambda 函数中。例如,如果我让 Alexa 设备询问 'What is your username',而对方回答 'Allie123',我将如何在我的 Lambda 函数中接收 'Allie123' 作为字符串。谢谢。

使用AMAZON.SearchQuery 捕获用户的任意输入。有一些限制,但这是完成这项工作的正确工具。有几种使用方法:

  1. 带有载体短语的常规意图,一个 SearchQuery 插槽,没有其他插槽。这很好用,但需要用户说出载体短语。

  2. 与#1 相同,但带有 'whitespace only' 载体短语。这将触发任何与您的其他意图不符的事情。幸运的是,Alexa 中的优先规则确保如果 'normal' 意图可以匹配,它就不会匹配。对于 prototypes/development 技能来说,这可能是一种有趣的方法,但由于隐私问题,很可能不会通过认证。

  3. SearchQuery 插槽上的插槽启发。这只能在您发出诸如“您的全名是什么?”之类的提示时使用。但它将始终匹配下一个话语并且不需要载体短语。如果您可以在用户提供输入之前向用户提问,那么这是您最好的选择。

更多信息:https://developer.amazon.com/blogs/alexa/post/a2716002-0f50-4587-b038-31ce631c0c07/enhance-speech-recognition-of-your-alexa-skills-with-phrase-slots-and-amazon-searchquery

可以在以下位置找到关于其他各种选项的一些讨论:https://developer.amazon.com/blogs/alexa/post/a3142024-75cf-46bb-924a-0ab3524a5c07/5-techniques-to-replace-amazon-literal-and-improve-skill-accuracy