0

我正在尝试复制一个场景,其中alternate matched intent返回具有接近匹配/接近置信度分数的其他意图。但是 API 总是返回 1 个具有最高置信度分数的意图并跳过所有其他意图,有什么方法可以使其功能类似于 ES 版本?

后续步骤 - 使用 utteranceCheck balance创建 Intent1 并使用test balance.创建 Intent2 在测试窗口中,如果我输入Balance它总是只返回Intent2

 "Alternative Matched Intents": [
      {
         "Id": "84383366-215f-40a3-9ba6-464238f0c2aa",
         "Score": 0.5985087752342224,
         "DisplayName": "Intent2",
         "Type": "NLU",
         "Active": true
      }
   ]
4

1 回答 1

3

“Alternative Matched Intents”字段可帮助您调试当前流程模型中用户话语匹配的意图,其中也包含匹配的意图本身。

此外,这些意图只是在流程中引用的意图(例如,由流程页面中的转换路由使用),由流程模型拾取。

请注意,流程中未引用的意图将不会包含在“替代匹配意图”字段中。

以下是一些示例场景,我们可以使用“Alternative Matched Intents”字段进行调试:

示例 1: 在此处输入图像描述

如果您有 Intent-1 和 Intent-2,它们都包含训练短语“hello”并且它们都在当前流程中被引用(见上图 - Intent-1 在 Intent1 页面中被引用,Intent-2 在Intent2 页面)。当用户在开始页面说“你好”时,Intent-1 将被触发,Intent-1 和 Intent-2 都将包含在“Alternative Matched Intents”字段中。请注意,代理仍在将用户话语与 Intent-2 匹配,并且是页面/转换(即状态模型)的配置导致 Intent-1 被触发。

结果: 在此处输入图像描述

示例 2: 在此处输入图像描述

如果您有 Intent-3,它具有训练短语“检查余额”,并且在当前流程的较低级别中被引用。当用户在开始页面上说“检查余额”时,将不会匹配任何 INTENT,因为根据当前流程,您必须先通过 Intent-1 和 Intent-2 才能匹配 Intent-3(见上图 - Intent-3 在 Intent3 页面中被引用)。但是,Intent-3 也将包含在“Alternative Matched Intents”字段中,因为它在当前流程中被引用。

结果: 在此处输入图像描述

此外,正如您在上面的结果中看到的,有一个“Active”字段指示意图是否处于活动状态(如果它处于活动状态,则值为 true,否则为 false)。基本上,活动意图是当前范围内的意图。例如,如果用户当前在“Intent1”页面上,则只有当前流的(START_PAGE's)转换路由或当前页面(Intent1's)的转换路由或转换路由组中的 Intent 被视为活动 Intent。有关更多详细信息,请参阅https://cloud.google.com/dialogflow/cx/docs/concept/handler#scope

于 2020-10-22T06:44:57.990 回答