Top 10 Python Libraries for Natural Language Processing (2018-19)

Natural Language Processing (NLP) is the ability of a computer program to understand human language as it is spoken. NLP is a component of artificial intelligence (AI).



LibraryOutstanding Function/FeatureGitHub Stars (Oct. 2018)
spaCyExtremely optimized NLP library that is meant to be operated together with deep learning frameworks such as TensorFlow or PyTorch.10855
GensimHighly efficient and scalable topic/semantic modelling.7822
PatternWeb (data) mining / crawling and common NLP tasks.6522
NLTKThe ‘mother’ of all NLP libraries. Excellent for educational purposes and the de-facto standard for many NLP tasks.6920
TextBlobModern multi-purpose NLT toolset that is really great for fast and easy development.5531
PolyglotMultilingualism and transliteration capabilities.969
VocabularyRetrieve semantic information from individual words.441
PyNLPlExtensive functionality regarding FoLiA XML and many other common NLP format (CQL, Giza, Moses, ARPA, Timbl, etc.).334
Stanford CoreNLP PythonReliable, robust and accurate NLP platform based on a client-server architecture. Written in Java, and accessible trough multiple Python wrapper libraries.188
MontyLinguaEnd-to-end NLP processor working with Python and Java. Historical!