It appears that you are new to NLP.
I have recently started to use NLTK toolkit
If indeed you are new to NLP, then the best thing would be to start simple. So ideally you would start off with nltk. I am relatively new to natural language processing (a few months old). I can confirm that for beginners, nltk is better, since it has a great and free online book which helps the beginner learn quickly.
Once you are comfortable and actually have a problem to solve, look at Stanford Core NLP to see if it will be better at solving your problem.
If you want to stick to NLTK, you can also access the Stanford CoreNLP API in NLTK.
Now for the similarities and differences:
Can anyone tell me what is the difference between NLTK and Stanford
NLP ?
Are they 2 different libraries?
Both offer natural language processing. Some of the most useful parts of Stanford Core NLP include the part-of-speech tagger, the named entity recognizer, sentiment analysis, and pattern learning.
The named entity recognizer is better in the Stanford Core NLP. Stanford Core NLP is better at grammatical functions for instance picking up subject, object, predictae (that is partially why I switched from nltk to Stanford Core NLP). As @user812786 said, NLTK has multiple interfaces to other versions of NLP tools. NLTK is also better for learning NLP. If you need to use multiple corpora, use NLTK, as you can easily access a wide multitude of text corpora and lexical resources. Both have POS tagging and sentiment analysis.
Can stanford NLP be used using Python ?
Yes absolutely. You can use StanfordNLP which is a Python natural language analysis package that is able to call the CoreNLP Java package. There are also multiple Python packages using the Stanford CoreNLP server
pattern
is better and faster at POS tagging than NLTK. I did this work about 2 years ago. – Dearthpattern
(clips.ua.ac.be/pattern) don't belong to stanford. it's from CLIPS from University of Antwerpen... – Philippa