用于检测人员,地点或对象的Web服务或机制

时间:2009-06-20 19:56:09

标签: web-services

是否有网络服务或工具来检测某个文字是名称还是个人,某个地点或对象(设备)。

例如:

输入:比尔克林顿输出:人

输入:黑莓输出:设备

输入:纽约输出:放置

准确度可能很低。我看过opencyc,但我无法让它发挥作用。有没有办法可以使用WikiPedia呢?

开始分离一个人或一个东西会很棒。

4 个答案:

答案 0 :(得分:1)

我认为维基百科将是一个非常好的来源。根据输入,您可以尝试在维基百科中找到一个条目并刮取结果页面(如果存在)。

人物和地方应该拥有相当不同的数据集 - 文章中的生日,地点等,您可以用来区分它们,其他任何东西都是对象。

无论如何都值得一试。

答案 1 :(得分:1)

使用搜索引擎怎么样?谷歌会很好,我认为雅虎!有建立自己的搜索工具。

我用Google搜索:

Results 1 - 10 of about 27,100,000 for "bill clinton" person
Results 1 - 10 of about 6,050,000 for "bill clinton" place
Results 1 - 10 of about 601,000 for "bill clinton" device

他是一个人!

Results 1 - 10 of about 391,000,000 for "new york" place.
Results 1 - 10 of about 280,000,000 for "new york" person.
Results 1 - 10 of about 84,100,000 for "new york" device.

这是一个地方!

Results 1 - 10 of about 11,000,000 for "blackberry" person
Results 1 - 10 of about 36,600,000 for "blackberry" place
Results 1 - 10 of about 28,000,000 for "blackberry" device

不幸的是,黑莓也是一个地方。 : - /

请注意,只有在'黑莓'的情况下,“设备”才能接近。也许你需要加权页面命中值。你的申请是什么?你知道你必须分类哪些“设备”吗?可能的输入范围是什么?

也许您想要结合从不同来源获得的结果。

答案 2 :(得分:1)

查看Wolfram Alpha的输出,您似乎可以通过搜索Bill Clinton BirthdayBill Clinton来识别某个人,或者您可以通过搜索{{3}来识别某个位置或者只是New York GPS coordinates,以获得更好的结果。对于Alpha来说,黑莓似乎是一个难以理解的词,因为它一直希望把它解释为水果。您可能很幸运地搜索Froogle来识别设备。

似乎WA会给你一个相当不错的准确性,至少如果你使用名人/地方。

答案 3 :(得分:0)

我认为你要完成的基本任务更正式地称为named entity recognition。这项任务非常重要,只要输入剥离任何上下文的名称,你就会更加努力。

例如,我们认为像“比尔克林顿”和“纽约”这样的例子显然是明确无误的,但是在维基百科中查看他们的消歧页面表明他们可能会参考几个潜在的实体。 “纽约”既是州,也是城市和电影的标题。如果你只看维基百科,“比尔克林顿”就不那么含糊了,但我相信你会在任何电话簿中找到几十个比尔克林顿。它也可能是某人的帆船或宠物狗的名字。如果有人输入“华盛顿”怎么办?这可能是美国总统,州,地区,城市,湖泊,街道,岛屿,电影,美国海军舰艇之一,桥梁,以及其他东西。确定哪些是您希望Web服务返回的“正确”用法可能会变得非常复杂。

就像Cyc知道的那样,我认为你发现它仍然不如维基百科那么全面。然而,维基百科的主要缺点是它基本上是非结构化的。就个人而言,我发现Cyc的API如此复杂且记录不完整,解析维基百科的自然语言似乎更容易。

如果我必须从头开始实现这样的Web服务,我将从downloading开始一个维基百科的快照,然后编写一个解读所有文章的解析器,并生成一个基于的命名实体索引文章标题。您可以手动将几十个示例“分类”为人/地点/对象,并训练分类器(贝叶斯,Maxent,SVM)以根据其文章的词频自动对其他示例进行分类。