【问题标题】:Accuracy: ANNIE vs Stanford NLP vs OpenNLP with UIMA准确度:ANNIE vs Stanford NLP vs OpenNLP with UIMA
【发布时间】:2013-04-07 00:06:12
【问题描述】:

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

提前致谢。

【问题讨论】:

  • ANNIE 是基于规则的。我的猜测是,Stanford NLP 和 OpenNLP 应该表现更好,因为它们是基于 ML 的。

标签: nlp stanford-nlp opennlp gate uima


【解决方案1】:

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案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)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-29
        • 2015-11-29
        • 1970-01-01
        • 1970-01-01
        • 2019-11-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多