Search code examples
architecturenlpnltkopennlp

Apache Open NLP vs NLTK


We have a spring boot application integrated with Node.js and socket.io chat application , to which we want to integrate Natural language processing. Not getting any direction on which of these two Apache-OpenNlp or NLTK would be a better choice for us as both of the frameworks offer the kind of processing we need.

Wrt to the features provided by the frameworks , they both are good. Both have features that we are looking for. More than how to choose between features , what would suit our architecture better is a perspective I would like..

Any suggestions ?


Solution

  • It is tough to answer a question about which product will meet your needs better without know what your needs are. OpenNLP can perform Tokenization, Sentence Detection, POS tagging, Named entity detection, language detection, Document classification, Chunking, and Sentence Parsing. It also has lower-level access to maximum entropy and Naive-bayes classifiers. I use OpenNLP often. NLTK appears to do the same stuff (I don't really use it, so I can't tell you all its benefits). A small difference is that OpenNLP is Java whereas NLTK is Python. So your preference can come into play. Another difference is that NLTK has build in methods for downloading corpora.

    If you were a little more specific about what you wanted, people could give you better advice.