Natural Language Processing

Enabling computers to understand and process human languages, to get computers closer to a human-level understanding of language.

What is Natural Language Processing?

The ultimate goal of Natural Language Processing (NLP) is to enable computers to understand language as well as we do. It is the driving force behind things like virtual assistants, speech recognition, sentiment analysis, automatic text summarization, machine translation and much more. Some real-life examples of NLP techniques are not only Voice Assistants like Alexa and Siri but also things like Machine Translation and text-filtering.

Common Tools and Libraries


NLTK is a suite of open source Python modules, data sets, and tutorials supporting research and development in Natural Language Processing. NLTK offers Lexical Corpus Integration(WordNet, Stopwords, etc), Tokenization, Sentiment Analysis capabilities.

Developer's Resource:


OpenNLP supports the most common NLP tasks, such as tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, language detection and coreference resolution.

Developer's Resource:


spaCy excels at large-scale information extraction tasks. It's written from the ground up in carefully memory-managed Cython. spaCy is the best way to prepare text for deep learning. It interoperates seamlessly with TensorFlow, PyTorch, scikit-learn, Gensim and the rest of Python's awesome AI ecosystem.

Developer's Resource:


TextBlob is a Python library for processing textual data. It provides a simple API for diving into common natural language processing (NLP) tasks such as part-of-speech tagging, noun phrase extraction, sentiment analysis, classification, translation, and more.

Developer's Resource:

Microsoft Azure Text Analytics API

Microsoft Azure Text Analytics API can be used to extract information from the text such as the language, sentiment, key phrases, and entities.

Developer's Resource:

PyTorch NLP

PyTorch-NLP is a library for Natural Language Processing (NLP) in Python.PyTorch-NLP comes with pre-trained embeddings, samplers, dataset loaders, metrics, neural network modules and text encoders.

Developer's Resource:

100E Use Cases

  1. A dating agency uses NLP models to match the couples and make them understand each other better.
    1. Technologies used: spaCy
  2. A management company builds new2risk models for commodities forecasting using alternative data source.
    1. Technologies Used: spaCy
  3. An investment company uses NLP models to identify the specific type of documents from a collection of documents.
    1. Technologies Used: spaCy

Open Datasets

GDELT Project

World's broadcast, print, and web news in over 100 languages

Yelp Reviews

Businesses, reviews, and user data for use in personal, educational, and academic purposes


Lexical database of nouns, verbs, adjectives and adverbs grouped into sets of cognitive synonyms

Blogger Corpus

Collected posts of 19,320 bloggers gathered from

Wikipedia Links Data

Data from web pages that contain at least one hyperlink that points to English Wikipedia.

Conversational Dataset

Collection of large datasets for conversational response selection from Reddit, OpenSubtitles and Amazon QA

Related Articles

  1. Natural Language Processing is fun!
    1. Link to article:
  2. Natural Language Processing Made Easy – using SpaCy
    1. Link to article:
  3. News Detector Using Natural Language Processing and Classification Models
    1. Link to article: