首页 > 解决方案 > 背靠背使用同一个意图两次

问题描述

我有一个具有以下预期结构的聊天 机器人
-...
bot:这里有一些问题
- 1. 什么是编程?
2.什么是对话流?
3.什么是上下文?
请回答一些问题以知道答案。
用户: 2
机器人: Dialogflow 是一个聊天机器人构建平台
以下是您可能有的更多问题- 4.
意图是什么?
5.什么是履行?
用问题编号回复以知道答案 -
用户: 5
机器人:履行是............

等等)

在这里,我通过履行从firebase获取了问题和答案。我有一个意图,将问题编号作为输入,然后 webhook 显示该问题的答案并在其后显示更多问题。
问题是 - 当用户第二次发送问题编号时,没有触发意图。

意图的名称showAnswer和上下文设置如图所示 - showAnswer 的上下文

我所做的是——将自己后续的输入和输出上下文放在这里(showAnswer-followup)。这样就可以有自己的后续意图了。

问题是 - 当执行上述上下文技巧时,它甚至第一次都没有响应。当我不将 context( showAnswer-followup) 放入输入上下文区域时,它可以工作。但只有一次。用户第二次发送问题编号时,它无法识别。

我希望这个意图也能识别用户输入的第二个(问题编号)。这里有什么问题,我该如何制作这个循环?

标签: dialogflow-esactions-on-google

解决方案


问题是要触发 Intent,所有输入上下文必须匹配。因此,由于您仅showAnswer-followup在该 Intent 的输出上下文中进行设置,因此它永远不会触发。

目前尚不清楚为什么您需要后续意图。您可以在上下文中维护有效问题(仅用于存储)并具有触发数字的 Intent。您的 Intent Handler 可以检查数字,更新哪些是有效的,并返回一个答案。

(顺便说一句,让用户回复数字似乎是非常非对话式的。)


推荐阅读