如何从用户那里获得主观答案

时间:2018-09-10 19:50:04

标签: dialogflow chatbot

是否可以从用户那里获得主观答案? 这是我尝试建立的示例对话,

  1. 用户:“我发现了一个错误。” => [触发“错误报告”意图]
  2. 代理人:“您能解释这个问题吗?”
  3. 用户:“每次询问xxx时,应用都会崩溃。” => [“错误报告跟踪”意图失败]

我想抓住用户的答案,第3行。即使我设置了正确的跟进上下文,“默认回退”或其他意图也会出现并处理用户的响应。似乎没有意图可以处理这种用户查询。我不能输入“培训短语”,因为答案可以是任何句子。也许我可以要求用户回答“ [问题是] xxxxx”或“ xxxxx [不起作用]”,但这是不自然的,因此限制了用户的回答。 如果有解决方法可以在某些意图后立即捕获整个用户查询,请与我分享。 :)

2 个答案:

答案 0 :(得分:2)

您应该为此提出2个意图,让我们说bug-1bug-2

bug-1的{​​{1}}中提供发现错误,在training phrases中提供 bug ,并且是问题吗?
现在在output context中,将 bug 设为response,将训练短语更改为bug-2,并在其中输入input context并给出一些参数名称。例如:template mode

现在,错误将包含整个用户查询。

enter image description here

编辑1:
通过使用@sys.any,用户查询将存储在@sys.any:bug中,我们可以通过引用$ bug来进行响应。请参阅下面的图片进行澄清。 enter image description here

希望有帮助。

答案 1 :(得分:1)

sid8491的答案中的语法和/或过程尚不完全清楚,因此我已经显示了对我有用的确切过程(2020年8月)。

1。)在“操作和参数”中手动输入以下内容:

actions and paremeters

the_user_input是变量名,可根据需要进行更改)

  1. 您现在创建一个培训意图:

Setting up a wildcard entry

我可以通过输入符号@作为唯一的训练短语,选择文本并从弹出的菜单中选择@sys.any:the_user_input来匹配整个用户输入字符串。

我尚未确认训练短语是否为@,但我认为是。

如果您执行第2步而不执行第1步,对话框流程将发出警告:

warning

警告您,匹配整个短语会产生意想不到的副作用(就像其他不再匹配的意图一样),您必须设置后续意图和后备意图来创建此“匹配整行”规则的例外。 / p>

您不能在后备中捕获参数,但可以在父意图上捕获行,并使用后续意图进行其他匹配和例外。

我尚未对此进行测试,但是如果您的设计要求在父上下文中捕获行并以后续意图处理案例,则在响应中使用the_user_input的语法应类似于:< / p>

你好,你说“ #parent_context_name:the_user_input