从对话响应中删除重复的实体

时间:2017-08-28 13:33:13

标签: ibm-cloud watson-conversation

我有以下@fields实体:

innovation => change management(作为同义词)

当我在对话框中输入以下内容时,

show me innovation and change management fields

我得到了重复的实体:

{
  "intents": [
    {
      "intent": "do.something",
      "confidence": 0.9974480628967286
    }
  ],
  "entities": [
    {
      "entity": "fields",
      "location": [
        23,
        40
      ],
      "value": "innovation",
      "confidence": 1
    },
    {
      "entity": "fields",
      "location": [
        8,
        18
      ],
      "value": "innovation",
      "confidence": 1
    }
  ]
}

我希望只获得一个,因为我只有一个innovationchange management值的实体。我确定没有其他实体拥有这两个关键字。

这是一个错误!或者它的正常行为!

1 个答案:

答案 0 :(得分:0)

在输入show me innovation and change management fields中确实出现了两次@fields实体。首先,创新一词,由实体捕获(注意位置索引从8到18个字符):

{
  "entity": "fields",
  "location": [
    8,
    18
  ],
  "value": "innovation",
  "confidence": 1
}

其次,change management,它是innovation的同义词,由实体捕获(注意位置索引从23到40个字符):

{
  "entity": "fields",
  "location": [
    23,
    40
  ],
  "value": "innovation",
  "confidence": 1
}

作为一个值,会话服务始终输出规范实体值,在这种情况下为innovation。要获取有关被识别为实体@fieldsinnovation的确切文字的信息,可以键入entity['fields'].get(0).literalentity['fields'].get(1).literal

请注意,最好事先检查用户输入中已识别实体的数量 - 以避免访问实体数组中不存在的索引。