我有一个工作流程,询问不同的是/否问题。使用内置于“是”和“无意图”的亚马逊,如何将其用于多个问题。
我创建了一个名为" Injury"按顺序为此流程提供不同的处理程序。当使用说"否"对于第一个问题,AMAZON.NoIntent
会发出BurnIntent
个问题。此时,如果用户说"否",则它会循环回BurnIntent
。如何确定意图继续进行的是和否意图?有没有办法跟踪我在哪个问题上确定要发出哪个意图?
答案 0 :(得分:2)
其中一种方法是将状态或问题保留在self.attributes
中。这是某种会话变量,它们在意图之间共享,并在用户使用技能结束后消失。
例如,您可以在那里存储您通过self.attrbiutes["lastQuestionID"] = questionId
或当前"级别"向用户询问的最后一个问题。然后,一旦你的"是/否"意图已被触发,您可以使用该值并决定下一步该做什么。
我的假设是您正在使用Node.js SDK。但我非常确定其他语言也有类似内容。
您还可以在Tips on State Management at Three Different Levels文章中了解有关州管理的更多信息。
答案 1 :(得分:0)
另一种方法是在没有太大问题的情况下自定义“是”而不是“插槽”,并将其用于每个问题。 This post说明了操作方法。