2

据我了解,Freebase 分类法通常归结为以下层次结构:

Domain Category > Domain > Type > Topic

我有一个应用程序,它接收输入并进行一些自然语言处理,输出一堆术语——有些有用,有些没有。在系统地“决定”一个术语是否有用的最初努力中,我的想法是通过假设它是一个主题并查看 Freebase 是否将该术语归类为至少一种类型来针对 Freebase“测试”它。

所以我现在要做的是,给定一个主题,找到它的类型 ID(和名称,理想情况下)。如果没有返回,那就告诉我一些关于所谓主题的信息。如果返回一个或多个类型,那么我不仅可以衡量该术语的有用性,而且还可以覆盖 Freebase 分类并为人们提供不同的访问方法(通过那个树的比喻)。

例如,我可能会从 NLP 引擎收到“政治”、“政治组织”、“行政”、“照片”、“MSN”等。什么样的 MQL 查询可以告诉我哪些类型与这些主题相关联(如果有)?

谢谢你的帮助。

更新

我刚刚经历了一个宏伟的头部拍打时刻。我离开了我一直在修补的问题,当我回来时,我看到了我的方式的错误。我试图让这种方式变得太难,而且一如既往,我看不到的简单解决方案正是我需要看到的:

[{
  "id": null,
  "name": "Politics",
  "type": [{"id": null, "name": null }]
}]​

不过,这使我提出了一个稍微不同的问题。我得到的是多个主题,其中一个是 en/politics 和一堆其他的 id 是/m/...等。我知道 Freebase 系统很复杂,但我离理解这种复杂性还有很长的路要走。对于这种练习,我最有可能想要这个/en/主题吗?

4

1 回答 1

1

In general, the /en/ topics are more notable than /m/ topics. The /m/ IDs are automatically assigned to any new topic that gets added to Freebase, but the /en/ have to be added manually or semi-automatically by the community. So far, most of the /en/ keys come from Wikiedia (which has its own notability requirements) but they can come from anywhere.

Here is a list of some of the other popular namespaces that are used in Freebase.

Also, since you mentioned using NLP to match topics from text to Freebase, you might be interested in reading about the experimental Reconciliation API. This is how you would find the "best match" for a topic given the contextual clues available in your data.

于 2010-06-30T17:22:04.840 回答