NLTK vs Stanford NLP

RData picture RData · Oct 13, 2016 · Viewed 12.7k times · Source

I have recently started to use NLTK toolkit for creating few solutions using Python.

I hear a lot of community activity regarding using Stanford NLP. Can anyone tell me the difference between NLTK and Stanford NLP? Are they two different libraries? I know that NLTK has an interface to Stanford NLP but can anyone throw some light on few basic differences or even more in detail.

Can Stanford NLP be used using Python?

Answer

user812786 picture user812786 · Oct 13, 2016

Can anyone tell me what is the difference between NLTK and Stanford NLP? Are they 2 different libraries ? I know that NLTK has an interface to Stanford NLP but can anyone throw some light on few basic differences or even more in detail.

(I'm assuming you mean "Stanford CoreNLP".)

They are two different libraries.

  • Stanford CoreNLP is written in Java
  • NLTK is a Python library

The main functional difference is that NLTK has multiple versions or interfaces to other versions of NLP tools, while Stanford CoreNLP only has their version. NLTK also supports installing third-party Java projects, and even includes instructions for installing some Stanford NLP packages on the wiki.

Both have good support for English, but if you are dealing with other languages:

That said, which one is "best" will depend on your specific application and required performance (what features you are using, language, vocabulary, desired speed, etc.).

Can Stanford NLP be used using Python?

Yes, there are a number of interfaces and packages for using Stanford CoreNLP in Python (independent of NLTK).