【问题标题】:Extract the names of the named entities using MID in Freebase在 Freebase 中使用 MID 提取命名实体的名称
【发布时间】:2012-10-03 09:14:51
【问题描述】:

如何从 Freebase 中的 mids 中获取名称?在音乐/专辑表中的以下 table_row 中,我们在中间提供了以下专辑名称(?)。

music|artist|name   id  origin  active_start    active_end  genre   label           home_page   acquire_webpage album   contribution    track   track_contributions concert_tours   supporting_artists|Jimmy Johnson    /m/01wz6jx              Rock music,Jazz fusion,Jazz,Folk rock                   /m/01wz6kq,/m/01wz6kx,/m/01wz6l8,/m/01wz6kj,/m/01wz6kb,/m/01wz6l2,/m/01wz6lg        /m/0fjw1yt,/m/0dt2p4t,/m/0fbpmv2,/m/0ffbzh3,/m/0f7y3jb,/m/0fgb1g1,/m/0dy5n14,/m/0fgn9xv,/m/0dzbwfr,/m/0f6hyd3,/m/0fj70dm,/m/0ff_qzm,/m/0f9_cm4,/m/0f7l2cj,/m/0fkhd4j,/m/0flf7j8,/m/0flr1z_,/m/0fl3c6q,/m/0ffp8g9,/m/0f64lc8,/m/0fgzlz2,/m/0f885wn,/m/0fktd7t,/m/0d_j0p6,/m/0dv915z,/m/0fm0 _t2

如果我这样查询 Freebase:[{ "mid": "/m/01wz6kq", "name": null }]​

然后我得到一个“空”的名字。如何获取名称?这些中间点是否都指向命名实体?如果我像这样使用 freebase 网站:http://www.freebase.com/view/m/01wz6kq,那么我会得到Contributor: Jimmy Johnson Album: All Night Wrong,这意味着专辑名称存在。 但是,如果我使用:http://api.freebase.com/api/experimental/topic/standard?id=/m/01wz6kq,即 TOPIC API,则信息是可从文本字段中“提取”的。这是这样做的方法吗?还是有其他更简单的方法?

【问题讨论】:

    标签: freebase


    【解决方案1】:

    如果您正在编程,更好地查看这些数据是探索/检查视图:

    http://www.freebase.com/inspect/m/01wz6kq

    事实上,它甚至为您提供了一些构建查询的捷径。如果您单击 /music/recording_contribution/album 属性左侧的箭头,您将获得一个预构建的查询,您可以对其进行修改以获取名称而不是 ID:

    {
      "id": "/m/01wz6kq",
      "/music/recording_contribution/album": {
        "name": null
      }
    }​
    

    如果您单击 Query Editor 中的链接按钮,您将获得一个 MQLRead link,它会返回 JSON,您可以解析以获取名称。

    当然,如果您在程序中执行此操作,您将使用插入了感兴趣的 ID 的模板即时构建 URL。

    注意:你不想做任何引用 api.freebase.com 的事情,因为它很快就会消失。您应该使用 googleapis.com 端点。

    【讨论】:

    • 谢谢汤姆!这太棒了。你也是对的:我将在我的代码中使用它。但是这种使用“检查”的技术涉及人工干预。我必须修改查询以放置“名称”字段。此外,获取查询本身将很重要吗?有没有更简单的方法使用 API 来获取名称?
    • 抱歉,在我的回复中暗示您将使用(参数化)查询与 MQL 读取 API。既然您提到了主题 API,我想您可能已经意识到了。我已经更新了我的答案以使其更清晰(并且还警告使用已弃用的 API 端点)。
    • 谢谢汤姆!我还有一个问题,但这是关于 googleapis.com 的。我将我的 API 密钥用于其他查询,但如果我使用 googleapis 的主题实用程序并将其用于大量查询,我该如何输入密钥(或者现在不需要密钥?)?这种方式行不通:[code]googleapis.com/freebase/v1/topic/m/01wz6kq&key=xyzblahblah[/…
    【解决方案2】:

    此实体没有/type/object/name 属性

    顺便说一句 如果要提取实体名称,有一些属性:

    /type/object/name
    /common/topic/alias
    

    以及需要以某种方式处理的维基百科键(将“_”替换为空格,将“&”替换为“&”,将“$1234”替换为一些 unicode 符号)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 2014-04-12
      • 1970-01-01
      相关资源
      最近更新 更多