【问题标题】:How to detect more than one intent with IBM Watson Assistant?如何使用 IBM Watson Assistant 检测多个意图?
【发布时间】:2018-08-02 15:42:25
【问题描述】:

IBM Watson Conversation / Assistant 服务能否在一个句子中检测多个意图?

输入示例:

播放音乐并打开灯

  1. 意图 1 是#Turn_on
  2. 意图 2 是#Play

==>两个意图的答案必须是同时的:播放音乐和打开灯

如果是这样,我该怎么做?

【问题讨论】:

    标签: ibm-cloud watson-conversation


    【解决方案1】:

    是的,Watson Assistant 会返回所有检测到的意图及其相关的置信度。 See here for the API definition。在 Watson Assistant 返回的响应中,有 n 个在用户输入中识别的意图数组,按置信度降序排列。

    文档有一个example on how to deal with multiple intents and their confidence。还请注意设置alternate_intents 以允许返回更多且置信度较低的意图。

    【讨论】:

      【解决方案2】:

      虽然@data_henrik 在如何获得其他意图方面是正确的,但这并不意味着第二个问题是相关的。

      以下面的示例图为例,我们将意图与返回的置信度进行映射:

      在这里您可以清楚地看到persons问题中有两个意图。

      现在看看这个:

      您可以清楚地看到只有一个意图。

      那么你如何解决这个问题?有几种方法。

      1. 您可以检查第一个和第二个意图是否在一定的百分比范围内。这是最容易检测到的,但对于选择两个不同意图的代码来说却是个骗子。它可能会变得混乱,有时您会得到误报。

      2. 在应用层,您可以对意图结果执行 K-Means。 K-Means 将允许您按存储桶对意图进行分组,因此您创建两个存储桶 (K=2),如果第一个存储桶中有多个,则您有一个复合问题。我在我的网站上wrote about this and a sample

      3. 您可以在 Beta 版中使用一项名为“消歧”的新功能。这使您可以用问题来标记意图节点以要求获得它。然后,如果找到两个问题,它会说“你的意思是?......”并且用户可以选择。

      【讨论】:

        【解决方案3】:

        此消歧功能是否可用于非生产环境中的 Beta 版?

        【讨论】:

          猜你喜欢
          • 2021-03-18
          • 1970-01-01
          • 2019-07-27
          • 2019-11-09
          • 2018-10-28
          • 1970-01-01
          • 1970-01-01
          • 2019-06-01
          • 1970-01-01
          相关资源
          最近更新 更多