【问题标题】:Alexa Skills, make AMAZON.FallbackIntent return empty stringAlexa Skills,让 AMAZON.FallbackIntent 返回空字符串
【发布时间】:2020-01-14 04:55:43
【问题描述】:

我正在尝试在 Alexa 上制作一个模拟面试技能,该技能会向用户提出一个问题,例如:“告诉我你的背景和经历”。

用户会给出一个答案,当用户回答完毕后,他/她可以说“下一个问题”来获得下一个问题。

所以“下一个问题”确实是应用程序等待听到的唯一意图。问题是当用户给出答案时,例如:

“我叫鲍勃,我来自纽约,我学的是生物学等”,

会话仍在进行中,Alexa 显然不理解意图,因此触发了 AMAZON.FallbackIntent。

有没有办法在调用 AMAZON.FallbackIntent 时只返回一个空字符串,这样模拟面试会话就不会被打断?

谢谢!

【问题讨论】:

    标签: alexa alexa-skills-kit alexa-skill alexa-voice-service alexa-app


    【解决方案1】:

    听起来您需要控制会话并约束用户。

    IMO Alexa 在用户话语冗长方面存在很多问题。问题实际上源于交互模型和用户会说什么的不可预测性。这篇博文阐明了 VUI 问题 (https://medium.com/hackernoon/lessons-learned-moving-from-web-to-voice-development-35daa1d301db)。 tl;dr - 你必须维护状态和上下文。

    您可以采取的一种方法是询问用户具体问题。 “你叫什么名字?”应该映射到一个意图并使用槽值更新会话/持久性。然后你回答你希望用户回答的下一个问题(即“你住在哪里”,“你上过什么大学”),准备好处理该槽值的另一个意图。您必须意识到用户可以在您的 Alexa Skill 会话中的任何时候说任何话,并且您的技能必须处理它。

    这是一篇亚马逊开发者博文,可以帮助您更好地理解对话管理和槽确认:https://developer.amazon.com/blogs/alexa/post/3a23c045-b568-4a6a-8a8c-fd5511a08053/build-advanced-alexa-skills-confirm-what-customers-want-with-dialog-management

    【讨论】:

    • 感谢您的回复史蒂文。我了解对话部分,但该技能并不是真正在答案中寻找任何特定的响应。或者问这个问题的另一种方式是,是否有技能忽略用户所说的任何内容,只听“下一个问题”的意图,同时保持会话打开?我到处搜索,这似乎是对 Alexa 的限制,到目前为止找不到解决方案。
    • 也许 .withShouldEndSession(false) 或 .reprompt('some message to direct the user') 是您保持会话活跃所需要的。另一篇博文供您阅读(:^)):developer.amazon.com/blogs/alexa/post/…
    • 谢谢。是的,我已经有了 ``` .withShouldEndSession(false) ``` 然后对于 .reprompt,如果它被调用,我会设置一个空的重新提示。如果我找到解决方案,我会继续挖掘并及时通知您。
    猜你喜欢
    • 1970-01-01
    • 2015-02-25
    • 2016-07-03
    • 2020-01-27
    • 2020-07-11
    • 2015-05-25
    • 2011-05-09
    • 1970-01-01
    • 2012-07-20
    相关资源
    最近更新 更多