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

How to get subjective answer from user

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

  1. 用户:"I found a bug." => [触发 'bug report' 意图]
  2. 代理人:"Can you explain the problem?"
  3. 用户:"App crashes everytime when I ask about xxx." => ['bug report follow-up' 意图失败]

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

你应该为此制定 2 个意图,假设 bug-1bug-2

bug-1 中,提供 training phrases 中发现的错误 和 [=14= 中的 错误 ] 和 你能解释一下问题吗? in response.
现在在 bug-2 中,将 bug 作为 input context,将训练短语更改为 template mode 并在其中给出 @sys.any 并给出一些参数名称.例如:@sys.any:bug.

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

编辑 1:
通过使用 @sys.any:bug,用户查询将存储在 parameter named bug 中,我们可以通过引用 $bug 将其用于响应。请参阅下面的图片以进行说明。

希望对您有所帮助。

语法 and/or 过程在 sid8491 的回答中并不完全清楚,所以我展示了对我有用的确切过程(2020 年 8 月)。

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

the_user_input是变量名,随便起)

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

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

我还没有确认训练短语是否必须是 @,但我认为是。

如果您执行第 2 步而不执行第 1 步,dialogflow 将警告:

警告您匹配整个短语可能会出现意外 side-effects(就像其他不再匹配的意图一样),您必须设置 follow-on 意图和后备意图来创建此“匹配”的例外整行”规则。

您无法在回退中捕获参数,但您可以捕获父意图上的行并使用 follow-up 意图进行额外的匹配和例外处理。

我还没有对此进行测试,但是如果您的设计要求在父上下文中捕获行并在 follow-up 意图中处理案例,则在响应中使用 the_user_input 的语法应该是类似于:

嗨,你说“#parent_context_name:the_user_input