Five Resources to Learn Natural Language Processing

office-desk

There is a ton of material out there to learn from. But what resources to learn natural language processing are truly worth your time? Let's look at five resources that will help you on your journey towards NLP!

We often talk about five resources to learn Natural Language Processing. We named a few of them in the post detailing the Natural Language Processing Roadmap. However, I wanted to do something a bit different and account for the different learning strategy different students may have. Whether you like to listen, read, do, or a blend of all of these, you will surely find what you are looking for here!

Podcasts

I want to start with something fun and talk about podcasts. Podcasts are a great way to learn if you like to listen to people talk; you can be a bit more passive in your learning, even do something else while listening, and still have great value added to your time. I suggest you don’t do something too distracting while you are listening to an informative podcast – personally, I like to listen to podcasts while gardening or cooking – my hands are busy doing something I enjoy and need to do, my mind is relaxed and ready to absorb more information.

If you like to learn about Natural Language Processing that way, I suggest you listen to NLP Highlights, from the Allen Institute of Artificial Intelligence

AllenNLP’s podcast NLP Highlights discusses new and noteworthy work in natural language processing. Short discussions of papers are held by hosts from the AllenNLP team at AI2, and authors are occasionally interviewed about their work.

NLP Highlights is available on Apple Podcasts, Spotify, PlayerFM, and Stitcher.

Interactive Books

This is an interesting new find of mine. I have only just started dabbling with it, but the format is so amazing, I have the feeling it will be an absolute smash. The Dive into Deep Learning interactive book is definitely something you need to check out. It covers all aspects of deep learning and includes a section on Natural Language Processing. The NLP Topics are covered in Chapters 14 and 15 and range from basic to advanced. Furthermore, it has a whole chapter about the Attention Mechanism, which you know I love.

The most interesting aspect of this resource, in my opinion, is that the code snippet is available in three frameworks: Tensorflow, Pytorch, and MXnet. This is quite useful when trying to comprehend the implementation in any of the frameworks.

This is definitely a great resource if you are someone who likes to read, take notes, but also put what you learn to practice through examples and guided exercises.

 

YouTube Courses

On YouTube, you can find tons of learning materials. Some will have a more lecture-style feel to them, others will be more hands-on. Let’s start with the latter.

YouTube Hands-on Classes and Tutorials

If you like to have an interactive course experience, and listen, read, and practice at the same time, I suggest the fast.ai Code-First Intro to Natural Language Processing series.

 Some videos are brief, while others are longer, but overall, this course gives a solid foundation for most of the topics on my Natural Language Processing roadmap. However, as the name implies, this course is more code-oriented and hands-on, which is ideal for assisting you with your initial projects and portfolio development.

If you like this kind of learning material, I also suggest you check out the NLP course by Oxford University (GitHub Repository).

YouTube Lectures

If, like me, you also enjoy the classic college lecture, where you can listen and take notes and follow a precise syllabus, you can also have a look at Stanford’s CS224N: Natural Language Processing with Deep LearningMaking an effort will help you improve in your knowledge of the field. The lectures will include a mix of academic topics, practical challenges, and tips for completing an NLP project effectively. The teachers do an excellent job of clarifying more difficult ideas, and the course covers a wide range of topics.

I mentioned the 2019 lecture series in the headline. A few subjects have been skipped in the 2021 lecture series, while others have been included. I recommend that you look at both and attempt to cover as many things as possible by combining the two versions of the course.

Online Courses

There is nothing much to say about this: some of us really like to learn through online classes, since you usually get shorter, less information-dense lectures, and feedback on tests and exercises. If you like this kind of learning, I suggest you follow the Natural Language Processing Specialization by DeepLearning.ai on Coursera.

You’ll be able to construct NLP apps that do question-answering and sentiment analysis, create tools to translate languages and summarize text, and even build chatbots at the conclusion of this Specialization. These and other NLP applications will be at the forefront of the AI-powered world that is on the horizon.

Two specialists in natural language processing, machine learning, and deep learning devised and taught this Specialization. Younes Bensouda Mourri is a Stanford University AI Instructor who also assisted in the development of the Deep Learning Specialization. Łukasz Kaiser is a Google Brain Staff Research Scientist and co-author of Tensorflow, the Tensor2Tensor and Trax libraries, as well as the Transformer article.

Of course, there are many other courses you can follow: other suggestions include the Apply Natural Language Processing with Python Skill Path on Codecademy, and the Advanced Natural Language Processing course by the MIT.

Books

Let’s be real. Nothing feels as good as a good book. For me at least, there is something about a book that just makes my learning experience feel more real, more engaging. When I open a book to read, I immediately get into full focus, and I feel I can actually measure my progress. I like to underline, take notes, put in sticky tabs, and more generally, I like knowing the book and the notes will be there if I need them in the future. 

There are several books I could suggest, but for the moment, I’ll talk about two:

Natural Language Processing with PyTorch and Practical Natural Language Processing.

The first will provide you a good foundation in NLP and deep learning methods, as well as show you how to utilize PyTorch to create apps with rich representations of text that are tailored to your issues. There are various code examples and pictures in each chapter. It also has a companion GitHub repository that is extremely useful.

The latter will walk you through the process of integrating real-world NLP into bigger product settings. You’ll learn how to customize your solutions for diverse industries including healthcare, social media, and retail.

Resources to Learn Natural Language Processing: more to come

Here you have it, a brief introduction of different resources you can leverage to learn Natural Language Processing. There are many more valid resources out there, and I will touch upon a few in further posts. Please let me know if this post has been useful, and if you’d like more content of the sort to help you along on your journey towards NLP. 

See you in a bit!