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

Mir*_*nor 5 rdf sparql dbpedia disambiguation

美好的一天,stackoverflow,

我需要向用户建议一个词的不同上下文,以便他有可能消除它的歧义。

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

我希望你有这个想法。

我查看了互联网,到目前为止我只能提出这个查询。

但它离完美还很远。它经常给出太多或太少的词,有时什么也没有(对于“jquery”)。

http://www.visualdataweb.org/relfinder/relfinder.php似乎也使用了 dbpedia,但它的结果比我的好得多。

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

Pab*_*des 5

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

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

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

对于词法化数据集,尚无可用的 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"))
}
Run Code Online (Sandbox Code Playgroud)