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

时间:2012-05-13 14:42:29

标签: rdf sparql dbpedia disambiguation

美好的一天,stackoverflow,

我需要建议用户使用不同的上下文,这样他才有可能对其进行消歧。

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

我希望你明白了。

我浏览了互联网,到目前为止我只能查询this

但它仍然远非完美。它经常提供太多或太少的单词,有时甚至没有(对于“jquery”)。

http://www.visualdataweb.org/relfinder/relfinder.php似乎也使用了dbpedia,但其结果远远好于我的。

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

1 个答案:

答案 0 :(得分:4)

如果您正在寻找Web API,请使用:DBpedia LookupDBpedia Spotlight。如果您需要在SPARQL中执行此操作,则可以使用DBpedia Lexicalization Dataset

对于DBpedia Lookup,您可以给出一个字符串并检索带有与这些字符串匹配的标签的DBpedia资源: lookup.dbpedia.org/api/search.asmx/KeywordSearch?QueryString=apple

对于DBpedia Spotlight,您可以选择提供更多上下文: spotlight.dbpedia.org/rest/candidates?text=apple+company+macintosh+computer

对于词汇化数据集,还没有可用的SPARQL端点。您需要download it,将其加载到您自己的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"))
}