【问题标题】:Query dbpedia to find possible contexts to disambiguate a word查询 dbpedia 以查找可能的上下文以消除单词的歧义
【发布时间】:2012-05-13 14:42:28
【问题描述】:

早安,stackoverflow,

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

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

我希望你明白了。

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

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

http://www.visualdataweb.org/relfinder/relfinder.php好像也用了dbpedia,不过效果比我的好很多。

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

【问题讨论】:

    标签: rdf sparql dbpedia disambiguation


    【解决方案1】:

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

    对于 DBpedia Lookup,您可以提供一个字符串并检索带有与这些字符串匹配的标签的 DBpedia Resources: 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"))
    }
    

    【讨论】:

    • 我在 answers.semanticweb.com/questions/16309/… 上问过同样的问题。您的spotlight.dbpedia.org/rest/candidates?text=adobe 似乎为“adobe”(不是在 json 中)提供了更好的结果,但没有为“less”提供结果。无论如何,感谢您的帮助,我将尽快提供“词汇化”解决方案
    • 为了得到想要的输出格式,需要进行内容协商。在您的请求中添加接受标头。示例:curl -H "Accept: application/json" http://spotlight.dbpedia.org/rest/candidates?text=adobe
    • 短语“less”不会返回结果,因为当前的实现是过滤掉只包含停用词的表面形式。此限制将在不久的将来取消。
    • @PabloMendes 我试图下载 dbpedia Lexicalization 数据集。但它不起作用。
    猜你喜欢
    • 2012-04-22
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2011-10-16
    • 1970-01-01
    相关资源
    最近更新 更多