NLP in Online Courses: an Overview

This article examines several Natural Language Processing (NLP) courses across a variety of online sources and programming languages.

By Sciforce.

It goes without saying that Natural Language Processing, or NLP, is one of the most important and demanded technologies of the present day. You can find it everywhere as people communicate almost everything in language: it is present in web searches, advertisement, emails, customer service, language translation, summaries, etc.

On my first acquaintance with NLP, I remember watching an online lecture where a lady was saying: “NLP is easy. Just install the NLTK library and with a minimum experience in Python you can start experimenting”. Time flies, as our QA engineers like saying in their test logs. Nowadays, with understanding that processing complex utterances is a crucial part of artificial intelligence, deep learning approaches have obtained high performance across many different NLP tasks.

The increased interest to NLP and the growing number of methods and techniques sometimes result in overwhelming information flow which is difficult to organize and process.

To make it easier to surf for new information on NLP, we’ve prepared a small selection of online courses from fundamental to more advanced ones, which can provide you with a structured and comprehensible overview of techniques currently used in NLP.

Of course, Coursera and Udemy offer a bunch of NLP courses for all levels whether you want to cram for an exam, boost your career or simply impress a girlfriend (or boyfriend, of course) with a couple of learned words. We have picked up a few of them to illustrate the range and possibilities:

Natural Language Processing (NLP) with Python NLTK

Platform: Udemy
InstructorWaqar Ahmed (GoTrained Academy)
Go to the webpage

The course is designed as an introduction to the fundamental concepts of Natural Language Processing (NLP) with Python. Mainly focused on working with NLTK, it gives the idea of such NLP tasks as tokenization, words tagging and chunking. As a supplement, it presents certain machine learning algorithms, such as naive Bayes.

Pros: The course gives well-structured and thorough introduction to work with NLTK
Cons: For more advanced learners, it may seem too easy

Natural Language Processing with Deep Learning in Python

Platform: Udemy
Instructor: Lazy Programmer Inc
Go to the webpage

In contrast to the previous one, this course tackles the advanced NLP. It covers a number of topics, namely the word2vec; the GLoVe method, which uses matrix factorization, a popular algorithm for recommender systems; recurrent neural networks for parts-of-speech tagging and named entity recognition, and recursive neural networks for sentiment analysis.

Pros: Helps learners to understand and visualize what’s happening in the model internally.
Cons: Few suggestions for further reading.

Natural Language Processing

Instructor: Anna Potapenko (Higher School of Economics)
Go to the webpage

This course covers a wide range of topics in Natural Language Processing and leads learners to finding a good balance between traditional and deep learning techniques in NLP. Being practice-oriented, the course offers practical assignments, that will give learners hands-on experience with such tasks as text classification, named entities recognition, and duplicates detection.

Pros: A close-to-life assignments and final project on building a conversational chat-bot.
Cons: Too much content for a 5-week-long course.

Microsoft Natural Language Processing

Instructor: Lei Ma (Microsoft)
Go to the webpage

A professional-level course addressing NLP tasks from the perspective of Artificial Intelligence. The course will lead you through classic machine learning methods applied to solve NLP problems, including Statistical Machine Translation, Deep Semantic Similarity Models as well as methods applied in Natural Language Understanding and Image captioning and visual question answering.

Pros: A thorough overview of Deep Learning methods in NLP. You can obtain the official Microsoft certificate.
Cons: Students are supposed to have fundamental knowledge on machine learning and deep learning as well as proficiency in math and computer science before enrolling.

Deep Learning for Natural Language Processing

PlatformStanford University Courses
Instructor: Richard Socher (Stanford University)
Go to the webpage (video materials)

Starting with introduction or, rather, review of linear algebra and probability, the course covers word vector representations, window-based neural networks, recurrent neural networks, long-short-term-memory models, recursive neural networks, convolutional neural networks as well as some latest models involving a memory component.

Pros: A comprehensive course providing extensive further readings. It offers a scientific approach with theories lying behind the models.
Cons: It is far from entertaining.

Deep Learning for Natural Language Processing

PlatformUniversity of Oxford
Instructor: Phil Blunsom(Oxford University and DeepMind)
Go to the webpage

Another advanced course on NLP focusing on recent advances in analysing and generating speech and text using recurrent neural networks. The course introduces the mathematical definitions of the relevant machine learning models and derives their associated optimization algorithms. It explores applications of neural networks in NLP including analyzing latent dimensions in text, transcribing speech to text, translating between languages, and answering questions.

Pros: A The course gradually progresses from understanding the use of neural networks for sequential language modeling, to understanding their use as conditional language models for transduction tasks, and finally to approaches employing these techniques in combination with other mechanisms for advanced applications. British sense of humor.
Cons: It lacks interactivity.

Natural Language Processing Fundamentals in Python

PlatformData Camp
Instructor: Katharine Jarmul (kjamistan)
Go to the webpage

As understood from its title, the course provides the basics for further work with NLP tasks. It introduces basic libraries such as NLTK, and gives the idea of libraries which utilize deep learning in NLP tasks. Being a part of the Python learning path, the course provides learners with the foundation to process and experiment with.

Pros: A relaxed way to learn the basics at your own pace. Provides focused drills and exercises to practice.
Cons: If you are up for a challenge, you may find this course too simple.

With the amount of courses available, everyone can choose a platform that suits best their needs and preferences. Even while preparing this article, we received prompts and suggestions to add new tutorials from our colleagues. If you have a great course in mind which has helped you improve your skills in NLP, share it in comments and we’ll add it to our list.

Original. Reposted with permission.