In this course we are going to look at
NLP (natural language processing) with
deep learning.
Previously, you learned about some of the basics, like how many NLP problems are just regular
machine learning and
data science problems in disguise, and simple, practical methods like
bag-of-words and
term-document matrices.
These allowed us to do some pretty cool things, like
detect spam emails,
write poetry,
spin articles, and group together similar words.
In this course I’m going to show you how to do even more awesome things. We’ll learn not just 1, but
4 new architectures in this course.
First up is
word2vec.
In this course, I’m going to show you exactly how word2vec works, from theory to implementation, and you’ll see that it’s merely the application of skills you already know.
Word2vec is interesting because it magically maps words to a vector space where you can find analogies, like:
- king - man = queen - woman
- France - Paris = England - London
- December - Novemeber = July - June
For those beginners who find algorithms tough and just want to use a library, we will demonstrate the use of the
Gensim library to obtain pre-trained word vectors, compute similarities and analogies, and apply those word vectors to build text classifiers.
We are also going to look at the
GloVe method, which also finds word vectors, but uses a technique called
matrix factorization, which is a popular algorithm for
recommender systems.
Amazingly, the word vectors produced by GLoVe are just as good as the ones produced by word2vec, and it’s way easier to train.
We will also look at some classical NLP problems, like
parts-of-speech tagging and
named entity recognition, and use
recurrent neural networks to solve them. You’ll see that just about any problem can be solved using neural networks, but you’ll also learn the dangers of having too much complexity.
Lastly, you’ll learn about
recursive neural networks, which finally help us solve the problem of negation in
sentiment analysis. Recursive neural networks exploit the fact that sentences have a tree structure, and we can finally get away from naively using bag-of-words.
All of the materials required for this course can be downloaded and installed for FREE. We will do most of our work in Numpy, Matplotlib, and Theano. I am always available to answer your questions and help you along your data science journey.
This course focuses on
"how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about
"seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.
See you in class!
Suggested Prerequisites:
- calculus
- linear algebra
- probability (conditional and joint distributions)
- Python coding: if/else, loops, lists, dicts, sets
- Numpy coding: matrix and vector operations, loading a CSV file
- neural networks and backpropagation
- Can write a feedforward neural network in Theano and TensorFlow
- Can write a recurrent neural network / LSTM / GRU in Theano and TensorFlow