我们可以在 Google Dialogflow 中创建对话循环吗

Can we create a conversation loop in Google Dialogflow

考虑一个小任务,我们要求用户循环将水果一个一个地添加到篮子中

我为这个任务创建了一个小的 agent intents

意图 basket 用户必须提供水果名称和数量。那么

我已经按照上述要求为意图设置了 input/output 上下文,但对话没有朝着 basket 意图发展。我不知道这样做是否正确,甚至不知道是否可以使用 Dialogflow 来完成。

首先,请记住,输入和输出上下文并不表示 触发哪些 Intent,它们表示 可以 触发哪些 Intents触发。仅根据 用户所说或所做的事情 触发意图。因此,您永远不会通过更改上下文来“触发”Intent - 您可以随时评估哪些 Intents 可能有效。

仅当 所有 的输入上下文当前有效时才能触发意图 并且 用户说出与训练短语匹配的内容。因此,仅当 basket-repeat 上下文当前有效且用户说出其中一个短语(您未在屏幕截图中显示)时,才会触发您的“篮子”意图。

意图不像状态机,尽管上下文有时会帮助您以这种方式建模它们。

你可以做某种“循环”,尽管用户最终控制着你如何在这些循环中前进。虽然您不能遍历意图,但可以遍历上下文或状态,这会影响在给定时刻哪些意图可能是可接受的。并且您的提示当然应该反映您对用户的期望的循环性质。

我认为正在发生的事情是 basket-repeat 上下文从来没有设置在第一位,所以 basket Intent 永远无法匹配。