准确度:ANNIE vs Stanford NLP与UIMA的OpenNLP

时间:2013-04-07 00:06:13

标签: nlp stanford-nlp opennlp gate uima

我的工作是计划使用UIMA集群来运行文档以提取命名实体,而不是。据我了解,UIMA的NLP组件很少包装。我现在已经测试了GATE一段时间了,并且相当舒服。它在正常文本上运行正常,但是当我们通过一些有代表性的测试数据运行它时,精度会下降。我们内部的文本数据有时是全部大写,有时全是小写,或者是同一文档中两者的混合。即使使用ANNIE的全部大写规则,准确性仍然有很多不足之处。我最近听说过Stanford NLP和OpenNLP,但没有时间对它们进行广泛的训练和测试。这两者在准确性方面与ANNIE相比如何?他们是否像GATE那样与UIMA合作?

提前致谢。

3 个答案:

答案 0 :(得分:21)

对这些系统的性能进行一般估计是不可能/不合理的。正如您所说,在您的测试数据上,准确性会下降。这有几个原因,一个是文档的语言特征,另一个是您期望看到的注释的特征。 Afaik对于每个NER任务都有类似但仍然不同的注释指南。

说到你的问题:

ANNIE是我能找到的唯一一个基于Java的免费开源规则NER系统。它是为新闻文章而写的,我猜这是为了完成MUC 6任务。它有利于概念的证明,但有点过时了。主要的优点是你可以在没有任何机器学习知识的情况下开始改进它,nlp,也许是一点点java。只要研究JAPE并试一试。

OpenNLP,斯坦福NLP等默认情况下都是新闻文章的模型和表演(只是看结果,从未在大型语料库上测试过)比ANNIE更好。我比OpenNLP更喜欢斯坦福解析器,再次只看文档,主要是新闻文章。

不知道你的文件是什么样的,我真的不能说更多。您应该决定您的数据是否适合规则,或者您使用机器学习方式并使用OpenNLP或Stanford解析器或Illinois tagger或其他任何内容。斯坦福解析器似乎更适合于倾注数据,训练和生成结果,而OpenNLP似乎更适合尝试不同的算法,玩参数等。

对于您对UIMA争议的GATE,我尝试了两者,并为GATE找到了更多的病毒社区和更好的文档。很抱歉发表个人意见:)

答案 1 :(得分:5)

仅仅是为了回答UIMA角度的记录:对于Stanford NLP和OpenNLP,通过DKPro Core project可以获得优秀的UIMA分析引擎包装。

答案 2 :(得分:3)

我想补充一点。 UIMA和GATE是用于创建自然语言处理(NLP)应用程序的两个框架。但是,名称实体识别(NER)是一个基本的NLP组件,您可以找到NER的实现,独立于UIMA和GATE。好消息是你通常可以在UIMA和GATE中找到适合NER的包装器。为了说清楚,请看这个例子:

斯坦福NER组件也是如此。

回到你的问题,这个网站列出了最先进的NER: http://www.aclweb.org/aclwiki/index.php?title=Named_Entity_Recognition_(State_of_the_art)

例如,在MUC-7竞赛中,名为LTG的最佳参与者得到的结果的准确率为93.39%。

http://www.aclweb.org/aclwiki/index.php?title=MUC-7_(State_of_the_art)

请注意,如果您想使用此类实施状态,则可能会对其许可证产生一些问题。