5 Best Resources for learning NLP — Natural Language Processing
By: Avinash Benki
Tags: Naturallanguageprocessing, Best Resources, Nlp Courses, NLP, Materials

“You don’t understand anything until you learn it more than one way.” — Marvin Minsky

Natural language processing provides ability to the machines to understand and interpret human language. This is one of the subdomains in Artificial Intelligence.

The power of natural language processing has changed the way we interact with the devices around us. It has let us interact, search, order a machine the language humans use in day to day life. NLP has applications in almost every domain Medical, E-Commerce, Defence etc., The widespread adoption of this technology has lead to rapid development in the recent times.

In this article, I will list out 5 major resources to get started with NLP.

Before we begin, There are some pre-requisites in order to understand the following materials.

Python

Calculus, Linear Algebra, Basic Probability and Statistics

Foundations of Machine learning

1. Stanford CS224N

The first and foremost resource would be the lectures by Stanford. This course starts with the basics, word embeddings. Neural networks, Backpropogation, Dependency parsing, Language models, RNN, seq to seq, Attention, Transformers. It is a perfect resource to get started as it gives strong foundations about all the topics.

Course Link: https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/

2. Deeplearning.ai NLP Specialization on Coursera

This course focuses more on application based learning. Various tasks like sentiment analysis, Question Answering, Translation, Summarization, Chatbots are covered. This is a more structured specialization. The specialization is divided into four courses. Specialization requires you to subscribe. But if you take the courses separately you can audit the courses and access the contents.

Following is the list of four courses

3. Dive into Deep learning

Dive into Deep learning is a Deep learning Textbook. It has end to end concepts about Deep learning and a specialized section for Natural Language Processing. Chapter 14 and Chapter 15 cover the NLP Topics from basics to advanced.

Most impressive thing which I liked about this resource is that the code snippet is provided in three frameworks Tensorflow, pytorch and MXnet. This helps a lot when you want to understand the implementation in any of the frameworks.

Textbook link: http://d2l.ai/

4. Blog posts by Jay Alammar

Jay Alammar has written very expressive blogs about various concepts about Machine learning and Natural Language processing. The Illustrate Transformer is the best resource to understand the Transformers Architecture. There are various well illustrated blogs on Word2Vec, BERT, GPT2, GPT3.

5. Natural Language Processing Fundamentals — Datacamp

This resource is best for learning the concepts by coding, rather than just going through the materials. Regular expressions, NER are the highlights of this fundamental course along with interactive coding IDE.

DataCamp

Course Link: https://www.datacamp.com/courses/natural-language-processing-fundamentals-in-python

Having the right resources to learn at the beginning is very important. Since, many a times we end up spending a lot of time sticking to a single resource and then giving up without completing it.

Proper resources motivate you to learn more

I hope you will find the resources handy when you are getting started or looking to learn a new concept in NLP.