【问题标题】:Watson NLU never returns disambiguation infoWatson NLU 从不返回消歧信息
【发布时间】:2018-01-29 16:20:12
【问题描述】:

我正在尝试结合使用 Watson 对话和 Watson NLU 来提取实体并将它们与列表进行比较。我需要访问返回的消歧信息,但它没有返回我输入的任何内容。

它正确地将公司、地点、人员等提取为实体,并进行了正确的分类。但是没有一个实体有消歧信息。有什么我想念的吗?所有实体都有 dbpedia 条目(我已经手动检查过)。

例如

"entities": [
    {
      "type": "Organization",
      "text": "NHS",
      "sentiment": {
        "score": 0,
        "label": "neutral"
      },
      "relevance": 0.949001,
      "count": 1
    },
    {
      "type": "Company",
      "text": "IBM",
      "sentiment": {
        "score": 0.497916,
        "label": "positive"
      },
      "relevance": 0.643598,
      "count": 1
    }
  ],

更新:
我尝试像API doc 中的示例一样输入CNN 并且有效:

"entities": [
    {
      "type": "Company",
      "text": "CNN",
      "sentiment": {
        "score": 0,
        "label": "neutral"
      },
      "relevance": 0.33,
      "disambiguation": {
        "subtype": [
          "Broadcast",
          "AwardWinner",
          "RadioNetwork",
          "TVNetwork"
        ],
        "name": "CNN",
        "dbpedia_resource": "http://dbpedia.org/resource/CNN"
      },
      "count": 1
    }
  ],

但没有别的。它只适用于一小部分实体吗?

【问题讨论】:

  • 你引用的哪个例子是成功的?请提供链接。另外,请发布您的代码的相关部分。
  • @JonathanM 我的意思是我尝试输入一些包含单词 CNN 的文本,就像 API 文档中的示例一样。成功返回消歧信息,但上面的例子没有
  • 嗯。你能添加你的 curl 请求和 json 的样子吗?
  • 我似乎对微软或谷歌等其他公司有所了解。我不确定用于 NLU 的 dpbedia 数据集的日期。
  • @JonathanM 我所做的只是使用 watson 开发者云 node.js sdk 并将 {sentiment:{}, emotion:{}, categories:{}, keywords:{sentiment: true}, entities:{sentiment: true}} 传递给 features 参数。如果它为CNN 工作,它也不太可能是我的代码。刚刚尝试了NLU demo,结果相同。除了CNN 之外的任何内容都无法获得完整结果,这非常令人沮丧

标签: ibm-cloud dbpedia watson-conversation watson watson-nlu


【解决方案1】:

我尝试在请求中发送以下正文

{
    "text":"IBM is a company based in Newyork",
    "features": {
    "entities":{}}
}

它返回带有消歧信息的输出。

{
"usage": {
    "text_units": 1,
    "text_characters": 33,
    "features": 1
},
"language": "en",
"entities": [
{
    "type": "Company",
    "text": "IBM",
    "relevance": 0.33,
    "disambiguation": {
        "subtype": [
            "SoftwareLicense",
            "OperatingSystemDeveloper",
            "ProcessorManufacturer",
            "SoftwareDeveloper",
            "CompanyFounder",
            "ProgrammingLanguageDesigner",
            "ProgrammingLanguageDeveloper"
        ],
        "name": "IBM",
        "dbpedia_resource": "http://dbpedia.org/resource/IBM"
    },
    "count": 2
},
{
    "type": "Location",
    "text": "Newyork",
    "relevance": 0.33,
    "disambiguation": {
        "subtype": [
            "City"
        ]
    },
    "count": 1
}
]
}

话虽如此,它确实返回了 DBpedia 中大多数条目的 DBpedia URI。如果您仍然无法使用 DBpedia URI 获取消歧信息,请将您发送的请求文本作为评论发布。

【讨论】:

  • 抱歉延迟回来,不得不离开我的电脑。再次尝试了 NLU 在线演示,它在有附加文本来解释实体的情况下工作。例如“测试以查看 IBM 技术公司的结果”工作正常,但“测试以查看 IBM 的结果”没有,但它仍然设法为 IBM 提取实体,这令人困惑,因为它与 DBpedia 条目匹配确切地。在我当前的用例中,不太可能有人会像第一个示例那样输入文本。猜猜我将不得不使用 dbpedia API 看看如果没有可用的信息,我能找到信息吗
  • 是的,你说的是对的,它需要一些实体周围的上下文来找出消歧信息。它正确地提取了实体信息,因为它使用了实体标记器的组合,这些标记器可以使用上下文和不使用上下文。但是对于消歧,上下文是关键。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
  • 2020-10-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多