如何检索主题的类型

时间:2010-06-30 11:58:55

标签: freebase mql

据我了解,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/主题吗?

1 个答案:

答案 0 :(得分:1)

通常,/ en / topics比/ m / topics更值得注意。 / m / ID会自动分配给添加到Freebase的任何新主题,但/ en /必须由社区手动或半自动添加。到目前为止,大多数/ en / key来自Wikiedia(它有自己的通知要求),但它们可以来自任何地方。

以下是Freebase中使用的a list of some of the other popular namespaces

此外,由于您提到使用NLP将文本中的主题与Freebase匹配,因此您可能有兴趣阅读有关实验Reconciliation API的内容。在给定数据中可用的上下文线索的情况下,您可以找到主题的“最佳匹配”。