dialogflow-es - 背靠背使用同一个意图两次
问题描述
我有一个具有以下预期结构的聊天
机器人
-...
bot:这里有一些问题
- 1. 什么是编程?
2.什么是对话流?
3.什么是上下文?
请回答一些问题以知道答案。
用户: 2
机器人: Dialogflow 是一个聊天机器人构建平台
以下是您可能有的更多问题- 4.
意图是什么?
5.什么是履行?
用问题编号回复以知道答案 -
用户: 5
机器人:履行是............
(
等等)
在这里,我通过履行从firebase获取了问题和答案。我有一个意图,将问题编号作为输入,然后 webhook 显示该问题的答案并在其后显示更多问题。
问题是 - 当用户第二次发送问题编号时,没有触发意图。
我所做的是——将自己后续的输入和输出上下文放在这里(showAnswer-followup
)。这样就可以有自己的后续意图了。
问题是 - 当执行上述上下文技巧时,它甚至第一次都没有响应。当我不将 context( showAnswer-followup
) 放入输入上下文区域时,它可以工作。但只有一次。用户第二次发送问题编号时,它无法识别。
我希望这个意图也能识别用户输入的第二个(问题编号)。这里有什么问题,我该如何制作这个循环?
解决方案
问题是要触发 Intent,所有输入上下文必须匹配。因此,由于您仅showAnswer-followup
在该 Intent 的输出上下文中进行设置,因此它永远不会触发。
目前尚不清楚为什么您需要后续意图。您可以在上下文中维护有效问题(仅用于存储)并具有触发数字的 Intent。您的 Intent Handler 可以检查数字,更新哪些是有效的,并返回一个答案。
(顺便说一句,让用户回复数字似乎是非常非对话式的。)
推荐阅读
- amazon-simple-email-service - 如何使用收件人地址别名发送批量模板电子邮件?
- javascript - 当有一些价值时如何使textarea扩展
- keras - tensorflow-lite tf.lite.Interpreter set_tensor 无法正确识别 uint8 输入张量
- ruby-on-rails - 为什么我在部署到 Heroku 后在浏览器中查看我的应用程序时只看到一个空数组?
- plot - 我可以根据计数结果创建图表吗
- python-3.x - 更改为对数比例,同时在 Seaborn 联合图中的两个轴上移动边缘直方图的垂直比例
- tabulator - 制表符,如何仅更新 1 行的 1 个单元格?
- c# - 循环遍历 GTK# 树视图中节点的子节点
- python - 更改目录时自定义文件不起作用
- javascript - 根据在 .html 键盘中按下的修饰键更改数据键值