Best resources to learn NLP online
There are a lot of people asking me how to start learning Natural Language Processing so I decided to write this guide to share some of the resources that will help you to get started in this area.
NLP has been a hot topic in data science for the last decade and it is a very broad topic. This list of resources is intended to help you gradually learn Natural Language Processing. Resources for more basic concepts are at the beginning and if after using them, you are still interested you could move down the list.
So let’s get started
1. What is NLP and some NLP basic explained in short tutorials and articles.
The best way to get started is to go through some basic tutorials that are a mix of theory, concepts explanation, and some code. By reading those you will learn what is Natural Language Processing and get to know some basic NLP concepts. This will give you some flavor of what NLP is and you can decide if you are interested in learning more.
Some of the tutorials below assume you are already familiar with python and basic Data Science concepts.
If you want to get loaded with a theory about NLP and NLP concepts you should read this tutorial or rather a set of tutorials as they come in the sequence of articles. There is no coding involved but NLP concepts are well explained so it is worth reading.
It may be a bit lengthy for some you could skim read and read the next position on the list.
In this tutorial, Lucas explains some NLP concepts and terms in a comprehensible manner and includes python code that is needed to achieve the tasks. He does not go into details about each technique but does a good job of explaining the essence of the concepts.
A Practitioner’s Guide to Natural Language Processing (Part I) — Processing & Understanding Text by Dipanjan (DJ) Sarkar
This is an amazing tutorial that is based on real examples. It focuses on code written in python but also explains the NLP concepts in the background. This is the most hands-on tutorial on the list.
The tutorial is a bit lengthy but follows along and it will be worth all the effort. 2. Some basic NLP courses.
Once you know what NLP is and you want to commit slightly more time to get to know it better you can complete some basic courses. This will get you a bit more hands-on experience with code and the concepts.
Natural Language Processing course on Kaggle
A good course to start with is this short course. It should take you around 4 hours and it is free. You will use python and spacy to build a text classifier.
Natural Language Processing in Python on DataCamp (affiliate link)
If you are still hungry for more I would suggest that you complete Natural Language Processing in Python Datacamp course. The course consists of six different subcourses and would give you a good overview of different NLP concepts and techniques. Among the things you will learn are sentiment analysis, building a chatbot, and some more advanced usage of spacy. The whole course takes 25 hours to complete so it is definitely a bigger commitment than the Kaggle one.
Natural Language Processing with Deep Learning in Python on Udemy (affiliate link)
If you want to go beyond the basic concepts and learn how deep learning is used in NLP I suggest this Udemy course. It is the highest-rated NLP course on the platform and it covers more advanced concepts. It focuses on using recurrent neural networks to solve NLP problems. This course is definitively not for beginners. It is very code intensive and dives deeply into TensorFlow network implementation. If this is what you want to learn you should definitely complete it.
3. YouTube videos
I do not know any YouTube channel that is designated only for Natural Language Processing material but there are some videos from different Data Science communities.
This is a short basic NLP video that will teach you how to use python and NLTK (Natural Language Toolkit). It explains first basic NLP concepts and then gets into implementing the techniques using python and Jupyter notebooks.
If you prefer University style teaching you could watch all the videos from the Stanford University course. Stanford is one of the best universities that teaches NLP and the course is delivered by Dan Jurafsky who is a famous Natural Language Processing researcher.
4. NLP podcasts.
Natural Language podcasts, did you know they exist? I would recommend them to people who are very interested in Natural Language Processing as they will talk usually about the latest advances in the field and may not be that interesting for beginners.
This podcast is brought to you by AllenAI and this is the place where research scientists are talking about recent and interesting work related to NLP. If you have a high level of interest in the latest NLP advances and the podcasts are your thing you should definitely give it a try.
You have been presented with different resources to learn Natural Language Processing. I have included a mix of tutorials, videos, and courses that should help you to start and advance in the field.
I hope you will find them useful and happy learning!