【问题标题】:OpenNLP vs Stanford CoreNLPOpenNLP 与斯坦福 CoreNLP
【发布时间】:2016-10-13 16:08:58
【问题描述】:

我一直在对这两个包进行一些比较,不确定该往哪个方向发展。我正在寻找的简要内容是:

  1. 命名实体识别(人员、地点、组织等)。
  2. 性别识别。
  3. 不错的培训 API。

据我所知,OpenNLP 和 Stanford CoreNLP 的功能非常相似。然而,Stanford CoreNLP 看起来有更多的活动,而 OpenNLP 在过去六个月中只有少数提交。

根据我所见,OpenNLP 似乎更容易训练新模型,并且仅出于这个原因可能更具吸引力。然而,我的问题是其他人会从什么开始作为向 Java 应用程序添加 NLP 功能的基础?我最担心的是 OpenNLP 是“刚刚成熟”还是半被遗弃。

【问题讨论】:

    标签: java stanford-nlp opennlp


    【解决方案1】:

    完全公开,我是 CoreNLP 的贡献者,所以这是一个有偏见的答案。但是,在我看来,您的三个标准:

    1. 命名实体识别:我认为 CoreNLP 在准确性和易用性方面明显胜出。一方面,OpenNLP 每个 NER 标签都有一个模型,而 CoreNLP 使用单个注释器检测所有标签。此外,使用 SUTime 进行时间分辨率是 CoreNLP 中的一个不错的优点。在准确性方面,我的轶事经验是 CoreNLP 在通用文本上做得更好。

    2. 性别识别。我认为这两种工具在这方面的记录都很少。 OpenNLP 似乎有一个 GenderModel 类; CoreNLP 有一个性别注释器。

    3. 培训 API。我怀疑 OpenNLP 训练 API 更易于使用,而不是现成的训练。但是,如果您只想从 CoNLL 文件中训练模型,那么两者都应该很简单。与我尝试过的其他工具相比,CoreNLP 的训练速度往往更快,但我还没有正式对其进行基准测试,因此请谨慎对待。

    【讨论】:

      【解决方案2】:

      这里有点晚了,但我最近只是基于斯坦福获得 GPL 许可这一事实来研究 OpenNLP——如果这对你的项目来说没问题,那么斯坦福通常被称为 NLP 的基准/最新技术.

      也就是说,预训练模型的性能将取决于您的目标文本,因为它是特定领域的。如果您的目标文本与模型训练所针对的数据相似,那么您应该会得到不错的结果,但如果不是,那么您将不得不自己训练模型,这将取决于训练数据。

      OpenNlp 的一个优势在于它非常可扩展,并且为易于与其他库一起使用而编写,并且具有用于集成的良好 API - 使用 OpenNLP (I wrote about it here - with a pretty lousy generated data set I was able to get ok results identifying foods) 的训练非常简单(一旦你有了训练数据) ,而且它是非常可配置的——你可以很容易地配置所有的训练参数,并且有一系列你可以使用的算法(感知器、最大熵、and in the snapshot version they have added Naive Bayes

      如果您发现确实需要自己训练模型,我会考虑尝试 OpenNlp 并查看它的性能以进行比较,因为通过微调可以获得相当不错的结果。

      【讨论】:

        【解决方案3】:

        这取决于你的目的和需要,我知道这两个是OpenNLP 是开源的,CoreNLP 不是当然。

        但是如果你看一下准确度,Stanford CoreNLP 的检测比OpenNLP 更准确。最近我对两者的Part Of Speech (POS) 标记进行了比较,是的,这是任何 NLP 任务中最重要的部分,所以在我的分析中,获胜者是CoreNLP

        OpenNLP 相比,NERCoreNLP 的结果更准确。

        因此,如果您刚刚开始,您可以稍后使用OpenNLP,如果需要,您可以迁移到Stanford CoreNLP

        【讨论】:

        • CoreNLP 是开源的。它在 GitHub 上根据 GPL v3 发布。
        猜你喜欢
        • 2011-09-30
        • 2019-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多