17

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

提前致谢。

4

3 回答 3

21

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

话虽如此,关于您的问题:

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

OpenNLP、Stanford NLP 等默认带有新闻文章模型,并且性能(仅查看结果,从未在大型语料库上测试它们)比 ANNIE 更好。比起 OpenNLP,我更喜欢斯坦福解析器,我还是只看文档,主要是新闻文章。

在不知道你的文件是什么样子的情况下,我真的不能说更多。您应该决定您的数据是否适合规则,或者您采用机器学习方式并使用 OpenNLP 或斯坦福解析器或伊利诺伊标记器或其他任何东西。斯坦福解析器似乎更适合仅倾倒您的数据、训练和产生结果,而 OpenNLP 似乎更适合尝试不同的算法、使用参数等。

对于您在 UIMA 上的 GATE 争议,我尝试了这两种方法,并为 GATE 找到了更多病毒社区和更好的文档。不好意思发表个人意见:)

于 2013-04-17T14:27:26.847 回答
5

只是为了回答 UIMA 角度的记录:对于斯坦福 NLP 和 OpenNLP,都可以通过DKPro Core 项目获得出色的 UIMA 分析引擎封装。

于 2014-12-22T15:36:26.310 回答
3

我想再添加一个注释。UIMA 和 GATE 是用于创建自然语言处理 (NLP) 应用程序的两个框架。但是,名称实体识别 (NER) 是一个基本的 NLP 组件,您可以找到独立于 UIMA 和 GATE 的 NER 实现。好消息是你通常可以在 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)

请注意,如果您想使用这种状态的实现,您可能会遇到他们的许可证问题。

于 2015-06-05T19:16:13.103 回答