Dialogflow 在跟进后自动转到默认欢迎意图,尽管告诉它不要这样做

Dialogflow automatically goes to Default Welcome Intent after follow up despite telling it not to

我如何确保当用户回复问题时:

"Are you wanting a happy, sad, angry or confident song?"

对于 "Angry",代理将用户带回到 "angry" 意图(它是祖父母的兄弟)而不是默认的欢迎意图?

这是我的布局: DefaultWelcomeIntent-->-Happy-->-Happy-noIncorrectEmotion(回到DefaultWelcomeIntent) 用户回复 "happy" 原 "how are you feeling?" 问题

|_____The user replies "no" to the emotion checker intent (saying "I have 
      detected that you are "feeling happy, is this correct?"
      |_____The user replies that they are angry to the follow up of this 
            which asks "Are you wanting a happy, sad, angry or confident 
            song?"  

实际响应:返回默认的欢迎意图 预期响应:转到愤怒的意图

预期响应:转到愤怒的意图 我已将输出上下文设置为生气、悲伤和自信(尽管我认为这没什么用)

我也尝试过更改 dialogflow 的“培训”选项卡上的预期意图,但这也没有任何作用...

这是用户和代理之间的对话:

我的理解是,后续意图形成一棵树(实际上是一个 DAG - 有向无环图),因此根据定义它们不能有循环。因此你不能说,"go to my grandparent's intent" in dialogflow.

不过有一个出路。如果您将请求发送到 webhook,webhook 可以回复说要转到哪个上下文和意图。而且它可以去任何地方,这应该允许你建立一个循环。

将输出上下文设置为 angry-followup、sad-followup 和 confident-followup 似乎不对。 None 这些后续意图接受了关于 "angry" "happy" "sad" 的培训,因此他们不会被理解。我会先更改输出意图以查看其行为方式。

我通过确保 angry 意图的输入上下文与 angry checker 意图的输出内容完全匹配来解决这个问题。我发现 dialogflow 对输入和输出上下文极其敏感,因此必须确保它们以树状方式相互跟随。正如 btliiy 的回答所说,必要时我使用 webhook 在树上向后执行链接部分。感谢您的帮助!