Rdf 查询dbpedia以查找可能的上下文以消除单词歧义

Rdf 查询dbpedia以查找可能的上下文以消除单词歧义,rdf,sparql,dbpedia,disambiguation,Rdf,Sparql,Dbpedia,Disambiguation,你好,斯塔克 我需要为一个词建议使用不同的上下文,这样他就有可能消除它的歧义 例如:单词“less”可以是Unix程序、css框架或其他东西。“苹果”一词可以是水果、公司、河流、美国的一个州(大苹果)或一堆其他东西 我希望你明白了 我浏览了一下互联网,到目前为止,我只能提出一个问题 但这还远远不够完美。它通常给出太多或太少的单词,有时什么都没有(对于“jquery”) 似乎也使用了dbpedia,但它的结果比我的好得多 如何更改查询以获得更相关的结果?如果要查找Web API,请使用:或。如果需

你好,斯塔克

我需要为一个词建议使用不同的上下文,这样他就有可能消除它的歧义

例如:单词“less”可以是Unix程序、css框架或其他东西。“苹果”一词可以是水果、公司、河流、美国的一个州(大苹果)或一堆其他东西

我希望你明白了

我浏览了一下互联网,到目前为止,我只能提出一个问题

但这还远远不够完美。它通常给出太多或太少的单词,有时什么都没有(对于“jquery”)

似乎也使用了dbpedia,但它的结果比我的好得多


如何更改查询以获得更相关的结果?

如果要查找Web API,请使用:或。如果需要在SPARQL中执行,可以使用

对于DBpedia查找,您可以提供一个字符串,并使用与这些字符串匹配的标签检索DBpedia资源:

对于DBpedia Spotlight,您可以选择提供更多上下文:

对于词汇化数据集,还没有可用的SPARQL端点。您需要将其加载到自己的RDF存储中,并运行如下查询:

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?resource ?score WHERE {
GRAPH ?g {
  ?resource skos:altLabel ?label.
}
  ?g <http://dbpedia.org/spotlight/score> ?score.
  FILTER (REGEX(?label, "apple", "i"))
}
前缀skos:
选择?资源?得分在哪里{
图?g{
?资源skos:altLabel?标签。
}
g分。
过滤器(正则表达式(?标签,“苹果”,“i”))
}

我在上个月问了同样的问题。您的“adobe”似乎有更好的结果(虽然不是json),但“less”没有结果。无论如何,感谢您的帮助,我将很快提供“词汇化”解决方案。为了获得所需的输出格式,您需要进行内容协商。在您的请求中添加accept标头。示例:
curl-H“accept:application/json" http://spotlight.dbpedia.org/rest/candidates?text=adobe
短语“less”不会返回结果,因为当前的实现正在过滤掉只包含停止字的表面表单。这个限制将在不久的将来被删除。@PabloMendes我正试图下载dbpedia词汇化数据集。但它不起作用。