OpenNLP vs Stanford CoreNLP

后端 未结 3 1959
囚心锁ツ
囚心锁ツ 2021-02-07 11:25

I\'ve been doing a little comparison of these two packages and am not sure which direction to go in. What I am looking for briefly is:

  1. Named Entity Recognition (pe
3条回答
  •  逝去的感伤
    2021-02-07 11:45

    In full disclosure, I'm a contributor to CoreNLP, so this is a biased answer. But, in my view on your three criteria:

    1. Named Entity Recognition: I think CoreNLP clearly wins here, both on accuracy and ease-of-use. For one, OpenNLP has a model per NER tag, whereas CoreNLP detects all tags with a single Annotator. Furthermore, temporal resolution with SUTime is a nice perk in CoreNLP. Accuracy-wise, my anecdotal experience is that CoreNLP does better on general-purpose text.

    2. Gender identification. I think both tools are kind of poorly documented on this front. OpenNLP seems to have a GenderModel class; CoreNLP has a gender Annotator.

    3. Training API. I suspect the OpenNLP training API is easier-to-use for not off-the-shelf training. But, if all you want to do is, e.g., train a model from a CoNLL file, both should be straightforward. Training speed tends to be faster with CoreNLP than other tools I've tried, but I haven't benchmarked it formally, so take that with a grain of salt.

提交回复
热议问题