【问题标题】:freebase getting plain names of types and sorting by commonalityfreebase 获取类型的普通名称并按共性排序
【发布时间】:2012-03-10 00:17:43
【问题描述】:

我希望能够从 freebase ID 中按通用名称获取类型列表

{
  "id":    "/m/02mjmr", #obama
  "type":[]
}​

如何返回类型的名称而不是它们的 ID?以上返回

0: "/common/topic"xp
1: "/people/person"xp
2: "/user/robert/default_domain/presidential_candidate"xp
3: "/book/author"xp
4: "/award/award_winner"xp
5: "/book/book_subject"xp
6: "/user/robert/x2008_presidential_election/candidate"xp
7: "/government/politician"xp
8: "/organization/organization_member"xp
9: "/user/robert/default_domain/my_favorite_things"xp

最后,我如何按计数对它们进行排序?或者可能是知名度?

即,

President
Nobel Prize Winner
Author
Person

等等?

可能类似于值得注意的类型 API,但它似乎即将消失?

http://wiki.freebase.com/wiki/Notable_types_API

【问题讨论】:

    标签: api freebase mql


    【解决方案1】:

    您可以使用

    获取名称和实例计数
    {
      "id": "/m/02mjmr",
      "type": [{
        "name":          null,
        "id":null,
        "/type/type/domain":{"key":[{"namespace":"/","limit":0}],"id":null}
        "/freebase/type_profile/instance_count": null,
        "sort":"/freebase/type_profile/instance_count"
      }]
    }​
    

    “显着”的一个定义是低频率,因此您只需反转实例计数排序即可获得显着性。将其限制在 Freebase “commons” 中的类型将排除嘈杂的用户类型。识别公共类型的一种方法是查找根命名空间中的 /type/type/domain 属性值(即像 /government 这样的单个路径段)

    对于您的示例,频率最低的公共类型是:

     43 /government/us_president     US President    /government 
     51 /people/appointer    Appointer   /people  
     73 /architecture/building_occupant  Building Occupant   /architecture 
    204 /government/political_appointer  Political Appointer     /government
    230 /book/poem_character     Poem character  /book  
    254 /event/public_speaker    Public speaker  /event
    

    您可以通过将您认为对您的应用程序不重要的类型列入黑名单来进一步优化过滤。目前有 2134 种公用类型,其中有一些是原始数据类型或供系统使用的东西,因此您很快就可以浏览并手动整理整个列表。

    【讨论】:

    • 我想为表单上的标签建议功能获取一个值得注意的类型列表。低频也可能意味着它也是一个不起眼的标签。我怎样才能扔掉那些,仍然保留最引人注目的?
    • 我更新了查询和描述,以展示如何过滤掉嘈杂的用户定义类型。
    【解决方案2】:

    您可能也有兴趣查看Freebase Search API,它会在每个结果中返回一个或多个值得注意的类型。您可以像这样按 MID 搜索特定主题:

    https://www.googleapis.com/freebase/v1/search?query=/m/02mjmr&indent=true

    【讨论】:

    • 我很乐意为此使用搜索 API,因为我确信找到最值得注意的算法比我所做的任何事情都要好,但它通常只会抛出一种值得注意的类型,并且有时根本没有。在这种情况下,只是“美国总统”。 ;-(
    • 虽然 Google 从未记录过他们如何选择值得注意的类型,但我怀疑这与我在回复中描述的相差不远。请注意,任何算法都有可能返回一个空集,除非它经过调整以允许非常不显着的结果通过。
    • 值得注意的类型算法始于 Bryan Culbertson 的这个应用程序 (types.namesbc.user.dev.freebaseapps.com/…),它着眼于像 Tom 的示例一样的实例数量。
    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多