Machine Learning: Natural Language Processing in Python (V2)
Welcome to Machine Learning: Natural Language Processing in Python (Version 2).
This is a massive 4-in-1 course covering:
1) Vector models and text preprocessing methods
2) Probability models and Markov models
3) Machine learning methods
4) Deep learning and neural network methods
In part 1, which covers vector models and text preprocessing methods, you will learn about why vectors are so essential in data science and artificial intelligence. You will learn about various techniques for converting text into vectors, such as the CountVectorizer and TF-IDF, and you’ll learn the basics of neural embedding methods like word2vec, and GloVe.
You’ll then apply what you learned for various tasks, such as:
Document retrieval / search engine
Along the way, you’ll also learn important text preprocessing steps, such as tokenization, stemming, and lemmatization.
You’ll be introduced briefly to classic NLP tasks such as parts-of-speech tagging.
In part 2, which covers probability models and Markov models, you’ll learn about one of the most important models in all of data science and machine learning in the past 100 years. It has been applied in many areas in addition to NLP, such as finance, bioinformatics, and reinforcement learning.
In this course, you’ll see how such probability models can be used in various ways, such as:
Building a text classifier
Text generation (generating poetry)
Importantly, these methods are an essential prerequisite for understanding how the latest Transformer (attention) models such as BERT and GPT-3 work. Specifically, we’ll learn about 2 important tasks which correspond with the pre-training objectives for BERT and GPT.
In part 3, which covers machine learning methods, you’ll learn about more of the classic NLP tasks, such as:
Latent semantic analysis (also known as latent semantic indexing)
This section will be application-focused rather than theory-focused, meaning that instead of spending most of our effort learning about the details of various ML algorithms, you’ll be focusing on how they can be applied to the above tasks.
Of course, you’ll still need to learn something about those algorithms in order to understand what’s going on. The following algorithms will be used:
Principal Components Analysis (PCA) / Singular Value Decomposition (SVD)
Latent Dirichlet Allocation (LDA)
These are not just “any” machine learning / artificial intelligence algorithms but rather, ones that have been staples in NLP and are thus an essential part of any NLP course.
In part 4, which covers deep learning methods, you’ll learn about modern neural network architectures that can be applied to solve NLP tasks. Thanks to their great power and flexibility, neural networks can be used to solve any of the aforementioned tasks in the course.
You’ll learn about:
Feedforward Artificial Neural Networks (ANNs)
Convolutional Neural Networks (CNNs)
Recurrent Neural Networks (RNNs)
The study of RNNs will involve modern architectures such as the LSTM and GRU which have been widely used by Google, Amazon, Apple, Facebook, etc. for difficult tasks such as language translation, speech recognition, and text-to-speech.
Obviously, as the latest Transformers (such as BERT and GPT-3) are examples of deep neural networks, this part of the course is an essential prerequisite for understanding Transformers.
Thank you for reading and I hope to see you soon!