Dialogflow CX-DetectIntent响应-响应中没有其他匹配的意图

问题描述

我正在尝试复制一个场景,其中alternate matched intent返回具有接近匹配/接近置信度得分的其他意图。但是,API始终会返回置信度得分最高的1个意图,并且会跳过所有其他意图,是否有任何办法使其功能类似于ES版本?

遵循的步骤-使用语音Check 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
      }
   ]

解决方法

“替代匹配的意图”字段可帮助您调试当前流model中与用户话语匹配的意图,其中也将包含匹配的意图本身。

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

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

在以下示例场景中,我们可以使用“替代匹配的意图”字段进行调试:

示例1: enter image description here

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

结果: enter image description here

示例2: enter image description here

如果您有Intent-3,它的训练短语为“ check balance”,并且在当前流程的较低级别中引用。当用户在起始页上说“检查余额”时,由于当前的流量,NO INTENT将不匹配,因此必须先经过Intent-1和Intent-2才能匹配Intent-3(请参见上图- Intent3页面中引用了Intent-3)。但是,Intent-3也将包含在“替代匹配的Intents”字段中,因为它在当前流程中被引用。

结果: enter image description here

此外,如您在上面的结果中所见,有一个“活动”字段,用于指示意图是否处于活动状态(该值是活动的,则为true,否则为false)。基本上,活动意图是当前范围内的意图。例如,如果用户当前在“ Intent1”页面上,则仅将当前流(START_PAGE)的过渡路线或当前页面(Intent1的)过渡路线或过渡路线组中的意图视为活动意图。有关更多详细信息,请参见https://cloud.google.com/dialogflow/cx/docs/concept/handler#scope

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...