如何从 Alexa Skill 中的用户随机输入中提取自定义插槽

Posted

技术标签:

【中文标题】如何从 Alexa Skill 中的用户随机输入中提取自定义插槽【英文标题】:How to extract a custom slot from a user random input in Alexa Skill 【发布时间】:2020-08-14 14:46:53 【问题描述】:

我们有一个名为主题的自定义槽的意图。此插槽的值可以是例如:

Sports, Science, Cinema, TV

所以我们的示例话语是这样的:

topic
tell me about topic
what do you know about topic
i love topic

如果用户使用与示例话语中的短语类似的短语,则此方法可以正常工作。但是,有没有办法实现以下目标?

我们希望用户能够在 topic 之间和之后说任何话。比如:

any topic any - what do you think about sports my friend?

any topic - i hate everything related with  sports

Alexa Skill 有没有办法从任何随机短语中提取Topic

【问题讨论】:

【参考方案1】:

有理由使用示例话语来保持用户的输入井井有条(您只是增加正确识别槽的概率)。但是 :) 前段时间我发现了这个话题:https://***.com/a/53334157/2823106,实际上这是对 Alexa 的破解,但你可以创建catchAll 插槽并尝试类似catchAll Topic catchAll 的东西。我预计这里的问题是 Alexa 无法正确识别主题,但请尝试一下。

【讨论】:

对我不起作用,最后我找到了解决方法。似乎使用 Amazon.Person 可以让你捕捉到所有的话语。然后,当我在后端有话语时,我在字符串上搜索我需要作为主题的词,因为所有主题都是动态的,我可以在 locale.json 上设置。我使用 Amazon.Person 是因为 Amazon.SearchQuery 不允许您使用这样的话语:topic。它需要有一些静态词。

以上是关于如何从 Alexa Skill 中的用户随机输入中提取自定义插槽的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Alexa Skill 中使用 Java 获取亚马逊用户电子邮件

如何使用从 Alexa Smart Home Skill Directive 收到的 BearerToken 来识别使用 AWS Lambda 和 NodeJS 的用户电子邮件和个人资料?

如何在 Alexa Skill lambda 函数中正确指定 SSML?

Alexa Skill AMAZON.Color 匹配大多数输入

Alexa Skill - 如何获取要求 Alexa 的完整声明文本

Alexa Skill - 如何在 Lambda 函数中检索槽值