0

我有一个问题,一旦用户从谷歌助手选项(列表)响应中选择了一个项目,对话流似乎与错误的意图相匹配。我正在使用 webhook(.NET 应用程序)来处理请求和发送响应。

流程是什么样的:

  • 用户使用短语来匹配意图(为“公司”指定报告“文本”)
  • 后端接收请求并搜索公司
  • 后端发现有更多符合条件的公司,因此它发送列表响应
  • 用户选择列表项(公司)
  • 后端收到正确的列表项(公司)

上面解释的对话流程很顺利,直到用户从列表中选择所需的项目。然后由于某种原因,我的后端收到的请求来自另一个意图,即 ALSO 也有一个助手选项事件。

我有两个类似的意图:

  • 听写报告
  • 听写待办事项

两种意图都有几个训练短语、三个相同的参数和一个 assistant_option 事件。

当我使用适当的训练短语时,正确的意图是匹配的(我知道这是因为我的后端收到了正确的请求),但是一旦后端返回一个列表响应并且用户从列表中选择一个项目,传入的请求始终分配请求来自“为公司指示待办事项”意图而不是“为公司指示报告”意图。

因此,似乎 dialogflow 没有足够的信息来确定 option_list 响应的意图是什么。我在这里想念什么?

4

2 回答 2

1

就像 Rose B 刚刚提到的那样,由于为意图提供了适当的上下文,我的问题确实得到了解决。这是 dialogflow 知道 OPTION 事件应该匹配什么意图的方式。

非常感谢您的帮助!

于 2019-11-20T09:10:34.253 回答
1

像 actions_intent_OPTION 这样的事件会根据上下文进行匹配。如果您想将 actions_intent_OPTION 事件与流程中的特定点相匹配,请为两个意图(一个提示用户选择选项,另一个接收选项)提供上下文特异性(例如,唯一的上下文或唯一的组合)上下文)不与其他意图共享。对也与 OPTION 事件关联的其他提示执行相同操作。

https://cloud.google.com/dialogflow/docs/contexts-overview

于 2019-11-19T22:51:48.590 回答