【问题标题】:Disambiguate YAGO classes with wordnet using python使用 python 用 wordnet 消除 YAGO 类的歧义
【发布时间】:2019-10-08 09:11:38
【问题描述】:

YAGO 知识图中的类采用 wordnet_XXX_YYY 的形式,其中 XXX 是类的名称,YYY 是来自 wordnet 的同义词集 id。例如,机场类的 URI 是 http://yago-knowledge.org/resource/wordnet_airport_102692232

因此,由于一个词的含义不同,YAGO根据含义可能会有很多类,XXX相同,YYY不同。

如何找到给定 YYY 的单词的定义?在他们的网站https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/faq/ 上,它说 YYY 是同义词集 ID,但该工具返回 airport.n.01 作为同义词集 ID。

我错过了什么?

【问题讨论】:

    标签: python wordnet


    【解决方案1】:

    您必须使用 YAGO 指南在您的机器中运行 SPARQL 查询,以从 YAGO 本体中提取信息。 对于你的问题,我希望下面的python代码能给你所需的结果。

    ```
    from SPARQLWrapper import SPARQLWrapper, JSON
    sparql.setQuery("""
        select  *
    where {
            <http://yago-knowledge.org/resource/wordnet_XXX_YYY> <http://yago-knowledge.org/resource/hasGloss> ?GlossValues.
          } 
        """)
    sparql.setReturnFormat(JSON)
    results = sparql.query().convert()
    #print(results)
    
    for result in results["results"]["bindings"]:
        print(result)
    ```

    【讨论】:

      猜你喜欢
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      • 2015-06-27
      • 1970-01-01
      相关资源
      最近更新 更多