2009-06-20 47 views
0

是否有Web服务或工具来检测某个文本是名称或人员,地点或对象(设备)。Web服务或机制来检测人员,地点或对象

如:

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

输入:黑莓输出:设备

输入:纽约输出:将

精度可以很低。我曾看过opencyc,但我无法实现。有没有一种方法可以使用WikiPedia?

对于一个人或事物的分离开始将是伟大的。

+0

使用维基百科是一个有趣的想法。如果这样做,请注意许可问题,具体取决于您使用的数据。 – balpha 2009-06-20 19:59:29

+0

为什么你不能使用opencyc工作? – 2009-06-20 20:01:10

回答

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 

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

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

也许你想结合你从不同来源得到的结果。

+0

尽管Google显然非常有用,但我发现它会造成一个可怕的分类器,因为它们的查询格式并不总是反映出您要查找的语义关系。从前N个Google搜索结果中提取文本可能会更好,并且可以使用经过训练的SVM将其分类,从而基于一袋文字预测人/地点/设备。 – Cerin 2010-04-06 15:00:22

1

综观Wolfram Alpha输出,似乎你都不可能通过搜索Bill Clinton Birthday或只是Bill Clinton识别一个人,或者您也可以通过搜索New York GPS coordinates或只是New York,甚至更好的结果确定的位置。对于Alpha来说,黑莓似乎是一个强硬的词汇,因为它一直想将它解读为一个成果。您可能有运气搜索Froogle以识别设备。

看起来WA会给你一个相当不错的准确性,至少如果你使用着名的人物/地方。

0

我认为你想要完成的基本任务更正式地被称为named entity recognition。这项任务并不重要,只需输入任何上下文的名称,就会让它变得更加困难。例如,我们希望认为例如“比尔克林顿”和“纽约”这样的例子显然是明确的,但是在维基百科中查看他们的消歧页面显示他们可能引用了几个潜在的实体。 “纽约”既是州,也是电影的标题。如果你只看维基百科,“比尔克林顿”就不太模糊,但我相信你会在任何电话簿中找到几十个比尔克林顿。它也可能是某人的帆船或宠物狗的名字。如果有人输入“华盛顿”会怎么样?这既可以是美国总统,州,地区,城市,湖泊,街道,岛屿,电影,美国海军的几艘船之一,桥梁以及其他东西。确定哪些是您希望web服务返回的“正确”用法可能会变得非常复杂。

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

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