我正试图在Alexa上做一个模拟面试技巧,该技巧会问用户一个问题,例如:“告诉我你的背景和经历”。
用户会给出答案,当用户回答完后,他/她可以说“下一个问题”来得到下一个问题。
因此,“下一个问题”实际上是应用程序等待听到的唯一意图。问题是当用户给出答案时,例如:
我的名字是鲍勃,我来自纽约,我学的是生物学,等等。
会话仍然是实时的,而Alexa显然不理解其意图,因此触发了AMAZON.FallbackIntent。
有没有办法在调用AMAZON.FallbackIntent时只返回一个空字符串,这样模拟面试会话就不会中断?
谢谢!
发布于 2020-01-14 04:55:44
这听起来像是你需要控制会话和约束用户。
IMO Alexa在处理冗长的用户话语时有很多问题。问题实际上源于交互模型和用户将说什么的不可预测性。这篇博文揭示了一些VUI问题(https://medium.com/hackernoon/lessons-learned-moving-from-web-to-voice-development-35daa1d301db)。tl;dr -你必须维护状态和上下文。
您可以采取的一种方法是向用户提出特定的问题。“你叫什么名字?”应该映射到一个意图,并用槽值更新会话/持久性。然后你回答下一个你想让用户回答的问题(即“你住在哪里”,“你上的是哪所大学”),有另一个准备好处理这个职位价值的意图。你必须意识到,用户可以在Alexa技能会话中的任何时候说任何话,而你的技能必须处理它。
这里有一篇亚马逊开发人员的博客文章,可以帮助你更好地理解对话管理和插槽确认:https://developer.amazon.com/blogs/alexa/post/3a23c045-b568-4a6a-8a8c-fd5511a08053/build-advanced-alexa-skills-confirm-what-customers-want-with-dialog-management
https://stackoverflow.com/questions/59720770
复制相似问题