We may earn an affiliate commission when you visit our partners.
Course image
Lazy Programmer Inc.

Ever wondered how AI technologies like OpenAI ChatGPT, GPT-4, DALL-E, Midjourney, and Stable Diffusion really work? In this course, you will learn the foundations of these groundbreaking applications.

Read more

Ever wondered how AI technologies like OpenAI ChatGPT, GPT-4, DALL-E, Midjourney, and Stable Diffusion really work? In this course, you will learn the foundations of these groundbreaking applications.

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.

"If you can't implement it, you don't understand it"

  • Or as the great physicist Richard Feynman said: "What I cannot create, I do not understand".

  • My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratch

  • Other courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?

  • After doing the same thing with 10 datasets, you realize you didn't learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times...

Suggested Prerequisites:

  • calculus (taking derivatives)

  • matrix addition, multiplication

  • 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, be able to derive and code gradient descent algorithms on your own

  • Can write a feedforward neural network in Theano or TensorFlow

  • Can write a recurrent neural network / LSTM / GRU in Theano or TensorFlow from basic primitives, especially the scan function

  • Helpful to have experience with tree algorithms

WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:

  • Check out the lecture "Machine Learning and AI Prerequisite Roadmap" (available in the FAQ of any of my courses, including the free Numpy course)

UNIQUE FEATURES

  • Every line of code explained in detail - email me any time if you disagree

  • No wasted time "typing" on the keyboard like other courses - let's be honest, nobody can really write code worth learning about in just 20 minutes from scratch

  • Not afraid of university-level math - get important details about algorithms that other courses leave out

Enroll now

What's inside

Learning objectives

  • Understand and implement word2vec
  • Understand the cbow method in word2vec
  • Understand the skip-gram method in word2vec
  • Understand the negative sampling optimization in word2vec
  • Understand and implement glove using gradient descent and alternating least squares
  • Use recurrent neural networks for parts-of-speech tagging
  • Use recurrent neural networks for named entity recognition
  • Understand and implement recursive neural networks for sentiment analysis
  • Understand and implement recursive neural tensor networks for sentiment analysis
  • Use gensim to obtain pretrained word vectors and compute similarities and analogies
  • Understand important foundations for openai chatgpt, gpt-4, dall-e, midjourney, and stable diffusion
  • Show more
  • Show less

Syllabus

Outline, Review, and Logistical Things
Introduction, Outline, and Review
How to Succeed in this Course
Where to get the code / data for this course
Read more
Preprocessed Wikipedia Data
How to Open Files for Windows Users
Beginner's Corner: Working with Word Vectors
What are vectors?
What is a word analogy?
Trying to find and assess word vectors using TF-IDF and t-SNE
Pretrained word vectors from GloVe
Pretrained word vectors from word2vec
Text Classification with word vectors
Text Classification in Code
Using pretrained vectors later in the course
Suggestion Box
Review of Language Modeling and Neural Networks
Review Section Intro
Bigrams and Language Models
Bigrams in Code
Neural Bigram Model
Neural Bigram Model in Code
Neural Network Bigram Model
Neural Network Bigram Model in Code
Improving Efficiency
Improving Efficiency in Code
Review Section Summary
Word Embeddings and Word2Vec
Return of the Bigram
CBOW
Skip-Gram
Hierarchical Softmax
Negative Sampling
Negative Sampling - Important Details
Why do I have 2 word embedding matrices and what do I do with them?
Word2Vec implementation tricks
Word2Vec implementation outline
Word2Vec in Code with Numpy
Tensorflow or Theano - Your Choice!
Word2Vec Tensorflow Implementation Details
Word2Vec Tensorflow in Code
Alternative to Wikipedia Data: Brown Corpus
Word Embeddings using GloVe
GloVe Section Introduction
Matrix Factorization for Recommender Systems - Basic Concepts
Matrix Factorization Training
Expanding the Matrix Factorization Model
Regularization for Matrix Factorization
GloVe - Global Vectors for Word Representation
Recap of ways to train GloVe
GloVe in Code - Numpy Gradient Descent
GloVe in Code - Alternating Least Squares
GloVe in Tensorflow with Gradient Descent
Visualizing country analogies with t-SNE
Hyperparameter Challenge
Training GloVe with SVD (Singular Value Decomposition)
Unifying Word2Vec and GloVe
Pointwise Mutual Information - Word2Vec as Matrix Factorization
PMI in Code
Using Neural Networks to Solve NLP Problems
Parts-of-Speech (POS) Tagging
How can neural networks be used to solve POS tagging?
Parts-of-Speech Tagging Baseline
Parts-of-Speech Tagging Recurrent Neural Network in Theano
Parts-of-Speech Tagging Recurrent Neural Network in Tensorflow
How does an HMM solve POS tagging?
Parts-of-Speech Tagging Hidden Markov Model (HMM)
Named Entity Recognition (NER)
Comparing NER and POS tagging
Named Entity Recognition Baseline
Named Entity Recognition RNN in Theano
Named Entity Recognition RNN in Tensorflow
Hyperparameter Challenge II
Recursive Neural Networks (Tree Neural Networks)
Recursive Neural Networks Section Introduction
Sentences as Trees
Data Description for Recursive Neural Networks
What are Recursive Neural Networks / Tree Neural Networks (TNNs)?
Building a TNN with Recursion
Trees to Sequences
Recursive Neural Tensor Networks
RNTN in Tensorflow (Tips)
RNTN in Tensorflow (Code)
Recursive Neural Network in TensorFlow with Recursion
Theano and Tensorflow Basics Review
(Review) Theano Basics
(Review) Theano Neural Network in Code
(Review) Tensorflow Basics
(Review) Tensorflow Neural Network in Code
Setting Up Your Environment (FAQ by Student Request)
Pre-Installation Check
Anaconda Environment Setup
How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow
Extra Help With Python Coding for Beginners (FAQ by Student Request)
How to install wp2txt or WikiExtractor.py
How to Uncompress a .tar.gz file
How to Code by Yourself (part 1)
How to Code by Yourself (part 2)
Proof that using Jupyter Notebook is the same as not using it
Python 2 vs Python 3

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops foundational knowledge of natural language processing and machine learning, which strengthens a base for intermediate learners
Covers building and understanding algorithms, which can give learners a stronger foundation in foundational computer science
Offers hands-on labs and interactive materials, which may contribute to a well-rounded learning experience
Taught by seasoned instructors who explicitly share they are accessible for support, which contributes to learner success
Advises learners about the order to take the instructor's courses in, which may prevent learners from being discouraged by taking on too much too soon
Assumes extensive coding experience in Python, which may exclude otherwise qualified learners who do not have extensive coding skills

Save this course

Save Natural Language Processing with Deep Learning in Python to your list so you can find it easily later:
Save

Reviews summary

Top-rated nlp course

Learners say this top-rated NLP course is excellent with engaging assignments and a top-notch instructor giving students the knowledge and skills they need to advance in their careers.
Lots of great exercises
"A lot of great exercises"
Top-notch instructor
"top notch instructor"
Excellent course in advanced NLP.
"Best course in advanced NLP"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Natural Language Processing with Deep Learning in Python with these activities:
Compile a list of resources on NLP for future reference
Organize and gather resources to support your NLP learning journey.
Show steps
  • Create a document or spreadsheet to store your resources.
  • Categorize resources based on topic, such as tutorials, research papers, and datasets.
  • Continuously add to your list as you discover new resources.
Read 'Deep Learning' by Goodfellow, Bengio, and Courville
Gain a comprehensive understanding of deep learning concepts and techniques.
View Deep Learning on Amazon
Show steps
  • Read the book thoroughly, taking notes and highlighting important concepts.
  • Work through the exercises and examples provided in the book to reinforce your understanding.
  • Discuss the concepts with peers or mentors to deepen your comprehension.
Join a study group with peers to discuss NLP concepts
Collaborate with peers to enhance your understanding of NLP.
Show steps
  • Find or create a study group with other students who are taking the same or similar NLP courses.
  • Meet regularly to discuss lecture material, work on assignments together, and ask questions.
  • Take turns presenting concepts to the group to reinforce your understanding.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve NLP problems using recurrent neural networks
Reinforce your understanding of recurrent neural networks by solving NLP problems.
Show steps
  • Identify NLP problems that can be solved using recurrent neural networks, such as parts-of-speech tagging or named entity recognition.
  • Implement recurrent neural network models in your preferred programming language.
  • Train and evaluate your models on real-world datasets.
Attend an NLP workshop on advanced techniques
Gain exposure to cutting-edge NLP techniques and applications.
Show steps
  • Search for NLP workshops or conferences that focus on advanced techniques.
  • Identify workshops that align with your interests and learning goals.
  • Register for the workshop and actively participate in the sessions.
Develop a chatbot using NLP techniques
Apply your NLP knowledge to build a practical application.
Show steps
  • Design the chatbot's functionality and user interface.
  • Implement natural language processing techniques for understanding user input.
  • Develop a knowledge base or retrieval system to provide relevant responses.
  • Train and evaluate the chatbot using real-world data.
  • Deploy the chatbot and gather feedback for further improvement.
Follow a TensorFlow tutorial on word embeddings
Deepen your understanding of word embeddings by following a guided tutorial on TensorFlow.
Show steps
  • Find a comprehensive TensorFlow tutorial on word embeddings.
  • Follow the tutorial step-by-step, implementing the code yourself.
  • Experiment with different parameters and datasets to observe the impact on embedding quality.
Build a custom word embedding model for a specific domain
Develop your skills in creating and customizing word embedding models.
Show steps
  • Identify a specific domain for which you want to create a custom word embedding model, such as healthcare or finance.
  • Collect a large corpus of text data from the chosen domain.
  • Preprocess the text data, including tokenization, stop word removal, and lemmatization.
  • Train a word embedding model using the preprocessed data, experimenting with different parameters and algorithms.
  • Evaluate the performance of your model on a downstream NLP task, such as text classification or question answering.

Career center

Learners who complete Natural Language Processing with Deep Learning in Python will develop knowledge and skills that may be useful to these careers:
Data Scientist
As a Data Scientist, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to build models that can process and analyze large amounts of text data. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to solve real-world problems.
Natural Language Processing Engineer
As a Natural Language Processing Engineer, you will use your knowledge of word embeddings, recurrent neural networks, and recursive neural networks to develop and implement NLP solutions for a variety of applications. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to build models that can understand and generate human language.
Machine Learning Engineer
As a Machine Learning Engineer, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to build and deploy machine learning models that can solve complex problems. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to improve the performance of machine learning models.
Software Engineer
As a Software Engineer, you will use your knowledge of word embeddings, recurrent neural networks, and recursive neural networks to develop and implement software solutions for a variety of applications. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to build software that can understand and interact with human language.
Data Analyst
As a Data Analyst, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to analyze data and extract insights. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to identify trends and patterns in data.
Business Analyst
As a Business Analyst, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to analyze business data and make recommendations. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to identify opportunities and risks.
Marketing Manager
As a Marketing Manager, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to develop and implement marketing campaigns. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to target customers and create effective marketing messages.
Sales Manager
As a Sales Manager, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to develop and implement sales strategies. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to identify and close deals.
Product Manager
As a Product Manager, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to develop and launch new products. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to understand customer needs and develop products that meet those needs.
Technical Writer
As a Technical Writer, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to create technical documentation. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to write clear and concise technical documentation.
Customer Success Manager
As a Customer Success Manager, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to build and maintain relationships with customers. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to resolve customer issues and improve customer satisfaction.
UX Designer
As a UX Designer, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to design user interfaces. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to create user interfaces that are easy to use and understand.
Social Media Manager
As a Social Media Manager, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to manage social media accounts. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to create social media content that is engaging and effective.
Content Writer
As a Content Writer, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to create content for a variety of purposes. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to create content that is engaging and informative.
Community Manager
As a Community Manager, you will use your understanding of word embeddings, recurrent neural networks, and recursive neural networks to manage online communities. This course will provide you with the skills you need to succeed in this role, including how to use NLP techniques to build and maintain a strong online community.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Natural Language Processing with Deep Learning in Python.
This advanced textbook on NLP covers many of the same topics as this course syllabus, but in more depth, with more technical detail and with more mathematical formality. It is an excellent reference for anyone who needs to understand the details behind modern NLP.
This textbook provides an overview of deep learning techniques for NLP. It useful reference for anyone who wants to learn how to use deep learning for NLP tasks.
This textbook provides an overview of deep learning techniques for NLP, including word embeddings, recurrent neural networks, and attention mechanisms. It useful reference for anyone who wants to learn more about the latest advances in NLP.
This comprehensive reference guide provides a detailed overview of the NLTK, a popular Python library for NLP. It valuable resource for anyone who wants to use the NLTK in their NLP projects.
This research paper provides an overview of deep reinforcement learning, a type of reinforcement learning that uses deep neural networks to learn from high-dimensional data. It is required reading for anyone who wants to understand the latest advances in the field.
This hands-on guide provides a practical introduction to NLP using Python. It includes code examples and exercises that help readers to learn NLP techniques.
This textbook provides an overview of machine learning techniques for NLP. It useful reference for anyone who wants to learn how to use machine learning for NLP tasks.
This comprehensive textbook provides a comprehensive introduction to computational approaches to speech and language processing. It includes essential background material in linguistics and probability theory.
This classic textbook provides a comprehensive overview of the statistical methods used in NLP. It valuable resource for anyone who wants to understand the mathematical foundations of NLP.
This undergraduate textbook covers a broad range of topics in NLP, including information extraction, machine translation, and dialogue systems. It good resource for anyone who wants to learn about the fundamental concepts of NLP.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Natural Language Processing with Deep Learning in Python.
Deep Learning: Advanced Natural Language Processing and...
Most relevant
Deep Learning - Recurrent Neural Networks
Most relevant
Sentiment Analysis with Recurrent Neural Networks in...
Most relevant
Data Science: Modern Deep Learning in Python
Most relevant
The Complete Neural Networks Bootcamp: Theory,...
Most relevant
Tensorflow 2.0: Deep Learning and Artificial Intelligence
Most relevant
Machine Learning: Natural Language Processing in Python...
Unsupervised Deep Learning in Python
Natural Language Processing with PyTorch
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser