Alexa 技能的意图范围

Intent scopes on Alexa skill


我正在为网站实施 Alexa 搜索技能。我的问题是,是否有可能为意图提供某种范围,因此可以重用内置意图?
我的意思是,例如。 AMAZON.YestIntent 在不同情况下具有不同的功能。

您可以在意图处理程序中处理此问题。您可以将上下文信息保存在会话或数据库中(如果您正在使用的话)。然后在意图处理程序中,测试会话或数据库数据以确定采用哪个响应。

例如,在谁最先出现? Baseball Skit 技能,用户和 Alexa 之间的对话长约 85 行。用户可以在对话框的几个不同位置说 "who?",Alexa 需要根据他们在对话的哪一行做出不同的响应。为了处理这个问题,我只是将行号保存在会话中。然后当一个意图被调用时,意图处理程序获取行号会话变量,使用它来 select 适当的响应,并增加它并在下一行的会话中传递它。

这实际上取决于您技能的复杂程度,接受的答案是简单流程的完美正确实现,它开始解决保持状态与会话相关的问题。

如果您的技能更复杂并且您正在使用 Node.js,我建议您使用开箱即用的提供此功能的官方 SDK: https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs

状态管理允许您定义在每个状态中应处理哪些意图,其余的可以传递给特定于上下文的处理程序。更多信息在这里: https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs#making-skill-state-management-simpler

状态管理需要一点时间来适应,但一旦您使用了它,您就不会回头,因为它为您提供了对体验的控制。