允许用户回复打开的问题(和循环)

时间:2017-04-05 11:01:08

标签: dialogflow

我是api.ai的新手,我正在研究一个非常简单的FB引导机器人(机器人问问题,用户从快速卡中选择)。问题是,我的一些问题是开放的,这意味着用户可以继续输入信息,直到他们决定继续下一个问题。

我的目标是拥有类似的内容

Bot: Hello. Please reply to this open question. 
User: This is my reply's first paragraph. However I want to keep writing. (ENTER) 
B: Anything else you would like to add? (quick button: "NO")
U: Yes, this other paragraph. (ENTER)
B: Anything else you would like to add? (quick button: "NO")
U: "NO" (Quick Button).

我无法弄清楚如何,无论用户写什么,总是给出相同的回复(“你要添加的任何其他东西?”和快速按钮“NO”),直到用户没有别的说。如何让用户保持闭环状态(尽管这个循环是针对那个问题的,因为我有大约6个不同的循环)。

关于从哪里开始寻找的任何建议?

2 个答案:

答案 0 :(得分:0)

我找到了一种使用 contexts 执行此操作的简单方法。它似乎有效,但我会密切关注其他选择。

  1. 在介绍问题之前的步骤中,输出context,例如context-A
  2. 使用Intents > ...Input: context-A创建一个新的Fallback Intent(来自Output: (1) context-A)。 (1)是迭代次数。此回退意图是要求用户根据需要进行写入,或者如果已完成则单击按钮(按钮将它们带到下一个问题,您可以根据需要重复该过程)。
  3. 就是这样。基本上,您正在为此问题创建一个新的上下文,然后循环回退意图,直到用户移动到下一个。

答案 1 :(得分:0)

您也可以使用参数和@ sys.any。

意图#1:你对这个问题的答案是什么? - >输出上下文:回答 意图#2:继续回答或说完成。 - >输入上下文:回答 - >输出上下文:回答 - >用户说:" x"并设置他们的全部回复" x"到@ sys.any,抓住任何值,因为'未完成' - >用户说:"完成"继续......