首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Alexa技能2意图和打开插槽

Alexa技能2意图和打开插槽
EN

Stack Overflow用户
提问于 2017-03-30 13:28:16
回答 3查看 675关注 0票数 0

当我在一个样本中有这样的话,打开的插槽时,Alexa会做出正确的反应吗?

代码语言:javascript
复制
MyNameIsIntent {firstname}
ProjektIntent {projekt}

现在她总是回到MyNameIsIntent,即使她问了一个ProjektIntent的问题

糟糕的谈话:

代码语言:javascript
复制
Alexa: Welcome, what is your name?
Me: Frank
Alexa Hi Frank, Tell me what project is interesting for you?
Me: Teleshoping
Alexa: Hi Teleshoping, Tell me what project is interesting for you?

我对Alexa完全陌生,如果Alexa有可能回答正确的问题,你能给我一个提示吗?我试着用一个会话分配来实现它,但是它不起作用

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-31 12:17:54

您可以使用state,根据应用程序的状态,在相同的意图上确实有不同的反应。

有关正式文档,请参见https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs#making-skill-state-management-simpler

您可以创建这样一个StateHandlers字典(在Node.js 4.3中):

代码语言:javascript
复制
var askNameStateHandlers = Alexa.CreateStateHandler("askNameState", 
    {
         "MyIntent": function () { /* ... */ }
        // more handlers ...
    });

然后像这样注册处理程序,假设您有一个没有状态defaultHandlers的处理程序字典,而对于一个特定状态askNameStateHandlersaskProjectStateHandlers有两个处理程序。

代码语言:javascript
复制
exports.handler = function(event, context, callback) {
    var alexa = Alexa.handler(event, context);
    alexa.registerHandlers(defaultHandlers, askNameStateHandlers, askProjectStateHandlers);
    alexa.execute();
};

要更改应用程序的状态,只需在处理程序函数中这样分配它:

代码语言:javascript
复制
this.handler.state = "askNameState";

然后,alexa-sdk将负责根据应用程序状态调用正确的处理程序。

https://github.com/alexa/skill-sample-nodejs-highlowgame中也有一个完整的示例实现

请注意,这样,您将只有一个意图MyIntent,它接受这两个问题的答案,决定您的哪个函数应该只基于应用程序状态来处理结果。

票数 1
EN

Stack Overflow用户

发布于 2017-03-30 15:58:41

像这样的话语文件是行不通的。Alexa用话语的文本--除了插槽名之外的东西--来选择一个意图。

因此,不幸的是,您无法设计您的交互,以允许一个仅仅‘远程期望’的反应。相反,用户必须说‘我对Teleshoping感兴趣’(您需要告诉他们这样说),示例语句将是‘我对{projekt}感兴趣’。

票数 2
EN

Stack Overflow用户

发布于 2017-03-31 11:18:25

为了进一步澄清汤姆的回答,阿列克莎不知道“遥望”这个词是你的名字还是项目。如果像Tom提到的那样使用更长的语句,比如“我的名字是{ name }”和“我想要{projekt}”,那么Alexa就不难辨别了。您还可以通过填写槽值来帮助Alexa区分这些差异,但这假定您知道可能的projekt值是什么。firstname可以使用内置的AMAZON.US_FIRST_NAME插槽类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43119338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档