如何将文本从 alexa/echo 传递到服务器

How to pass text from alexa/echo to a server

我想创建一个简单的技能,它使用 alexa 的语音到文本翻译,然后将文本传递给不同的服务。 这似乎接近我要找的东西:https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-interface-reference, 但示例 request/response 中没有任何地方有用户请求 alexa 的文本形式。有没有人设法提取用户语音命令的文本数据,对我很有帮助。

不幸的是,这是设计使然,这并不容易。

用户响应存储在交互模型中的单词 'slots' 中。这就是 Alexa 基于用户话语解析语音和执行命令的方式。如果不知道可能的词槽的每个变体并将其写入您的交互模型,您将无法将自由格式文本存储在变量和 'pass it on' 中。

这不可能。最接近的方法是使用内置插槽类型 AMAZON.Literal (US only and deprecated) or AMAZON.SearchQuery(适用于所有语言环境)。我说 "closest" 是因为例如 SearchQuery 除了插槽之外还需要话语中的载体短语(它不能单独捕获所有内容)。

请注意,这些类型提供的自由格式捕获不如您定义自定义插槽类型准确(即您或多或少知道要捕获的内容)