一次使用一个意图两次

时间:2019-05-12 08:07:44

标签: dialogflow actions-on-google

我有一个具有以下预期结构的聊天机器人-
...
机器人:以下是一些问题-
    1.什么是编程?
    2.什么是dialogflow?
    3.什么是上下文?
    请回答一些问题以了解答案。
用户: 2
机器人:Dialogflow是一个聊天机器人构建平台
您可能还有其他问题-
4.目的是什么?
5.成就是什么?< br />回答问题编号即可知道答案-
用户: 5
机器人:实现是.........
...
(依此类推)

在这里,我已经通过满足从Firebase获取了问题和答案。我有一个将问题编号作为输入的意图,然后网络挂钩显示了该问题的答案并在其后显示了更多问题。
问题是-当用户第二次发送问题编号时,该意图没有被触发

意向的名称为showAnswer,并且上下文设置如下图所示: contexts of showAnswer

我所要做的是-将自己后续操作的输入和输出上下文放在此处(showAnswer-followup。这样它就可以成为自己的后续意图。

问题是-当执行上述上下文技巧时,即使是第一次也没有响应。当我不在输入上下文区域中放置上下文(showAnswer-followup)时,它就可以工作。但只有一次。用户第二次发送问题号时,无法识别。

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

1 个答案:

答案 0 :(得分:1)

问题在于,要触发一个Intent, all 的输入上下文必须匹配。因此,由于您仅在该Intent的Output Context中设置showAnswer-followup,所以它将永远不会触发。

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

(顺便说一句,只是让用户用数字答复似乎是毫无争议的。)