Natural Language Processing: Machine Learning NLP In Python

A Complete Beginner NLP Syllabus. Practicals: Linguistics, Sentiment, Scrape Tweets, RNNs, Chatbot, Hugging Face & more!

4.40 (65 reviews)


19.5 hours


Jul 2021

Last Update
Regular Price

Unlimited access to 30 000 Premium SkillShare courses

What you will learn

Libraries: Hugging Face, NLTK, SpaCy, Keras, Sci-kit Learn, Tensorflow, Pytorch, Twint

Linguistics Foundation To Help Learn NLP Concepts

Deep Learning: Neural Networks, RNN, LSTM Theory & Practical Projects

Scrape Unlimited Tweets Using An Open Source Intelligence Tool

Machine Reading Comprehension: Create A Question Answering System with SQuAD

No Tedious Anaconda or Jupyter Installs: Use Modern Google Colab Cloud-Based Notebooks for using Python

How To Build Generative AI Chatbots

Create A Netflix Recommendation System With Word2Vec

Perform Sentiment Analysis on Steam Game Reviews

Convert Speech To Text

Machine Learning Modelling Techniques

Markov Property - Theory & Practical

Optional Python For Beginners Section

Cosine-Similarity & Vectors

Word Embeddings: My Favourite Topic Taught In Depth

Speech Recognition

LSTM Fake News Detector

Context-Free Grammar Syntax

Scrape Wikipedia & Create An Article Summarizer


This course takes you from a beginner level to being able to understand NLP concepts, linguistic theory, and then practice these basic theories using Python - with very simple examples as you code along with me.

Get experience doing a full real-world workflow from Collecting your own Data to NLP Sentiment Analysis using Big Datasets of over 50,000 Tweets.

  • Data collection: Scrape Twitter using: OSINT - Open Source Intelligence Tools: Gather text data using real-world techniques. In the real world, in many instances you would have to create your own data set; i.e source your data instead of downloading a clean, ready-made file online

  • Use Python to search relevant tweets for your study and NLP to analyze sentiment.

Language Syntax: Most NLP courses ignore the core domain of Linguistics. This course explains the fundamentals of Language Syntax & Parse trees - the foundation of how a machine can interpret the structure of s sentence.

New to Python: If you are new to Python or any computer programming, the course instructions make it easy for you to code together with me. I explain code line by line.

No Installs, we go straight to coding - Code using Google Colab - to be up-to-date with what's being used in the Data Science world 2021!

The gentle pace takes you gradually from these basics of NLP foundation to being able to understand Mathematical & Linguistic (English-Language-based, Non-Mathematical) theories of Deep Learning.

Natural Language Processing Foundation

  • Linguistics & Semantics - study the background theory on natural language to better understand the Computer Science applications

  • Pre-processing Data (cleaning)

  • Regex, Tokenization, Stemming, Lemmatization

  • Name Entity Recognition (NER)

  • Part-of-Speech Tagging


SQuAD - Stanford Question Answer Dataset. Train your Q&A Model on this awesome SQuAD dataset.


  • NLTK

  • Sci-kit Learn

  • Hugging Face

  • Tensorflow

  • Pytorch

  • SpaCy

  • Twint

The topics outlined below are taught using practical Python projects

  • Parse Tree

  • Markov Chain

  • Text Classification & Sentiment Analysis

  • Company Name Generator

  • Unsupervised Sentiment Analysis

  • Topic Modelling

  • Word Embedding with Deep Learning Models

  • Closed Domain Question Answering (Like asking questions on many different topics, from Beyonce to Iranian Cuisine)

  • LSTM using TensorFlow, Keras Sequence Model

  • Speech Recognition

  • Convert Speech to Text

Neural Networks

  • This is taught from first principles - comparing Biological Neurons in the Human Brain to Artificial Neurons.

  • Practical project: Sentiment Analysis of Steam Reviews

Word Embedding: This topic is covered in detail, similar to an undergraduate course structure that includes the theory & practical examples of:

  • TF-IDF

  • Word2Vec

  • One Hot Encoding

  • gloVe

Deep Learning

  • Recurrent Neural Networks

  • LSTMs

    • Get introduced to Long short-term memory and the recurrent neural network architecture used in the field of deep learning.

    • Build models using LSTMs


Natural Language Processing: Machine Learning NLP In Python
Natural Language Processing: Machine Learning NLP In Python
Natural Language Processing: Machine Learning NLP In Python
Natural Language Processing: Machine Learning NLP In Python




Intro: NLP, Data Science & Machine Learning - Are they different?

Introducing NLP

Data Science In The Real World: Part 1

Data Science In The Real World: Part 2

NLP In The Real World

NLP Pipeline *Must Watch Section

An Overview of NLP Methods

Text Preprocessing

Text Normalization

Word Embeddings

Build a Model, Transfer Learning, Testing & Evaluating a Model

Why Learn Python for NLP & Data Science?

Top Programming Languages Used In Industry 2020

Top Programming Languages Used In Industry 2020 Part 2: PHP

Python in Industry 2020

Python vs R For Data Science & NLP

Google Colab - Setting Up

Open A New Colab Notebook

Open .IPYNB Files in Google Colab & Find The Resource Folders For This Course

Colab Settings

Python: A Beginner's Guide Part 1 (Optional)

Download Resource Workbook For This Section

What Are Variables And Lists?

Create Variables

Create Lists

IF, ELIF, ELSE Statements

IF Statements with Multiple Conditions


Functions: Part 2

Python Terminology: Scripts, Modules, Packages Libraries

What Is A Module?

Create A Module

Part Of Speech & Syntactic Parsing

Introducing This Section - Why learn these topics?

Language Syntax - Noun Phrases

Syntax Constituents - NP, VP, PP

Context-Free Grammar

Part of Speech Tagging - NLTK Practical

Useful Applications of Parsers

Part 2: Useful Applications of Parsers

Tokenization & Regular Expressions

What is Tokenization? Introduction to the Linguistic theory for tokenization.

Linguistic theory for Word Segmentation.

How To Open The .IPYNB file For The Next Lecture (Optional)

Tokenization with NLTK

Introducing Regular Expressions

Word Segmentation using Python's .split()

Sentence Segmentation using Python's .split

ReGex Split Method re.split() Regular Expressions

Regex Substitute Method re.sub Regular Expressions

Search Method using Regex re.search | Regular Expressions

Part 1: Find All Emails in Contact Details | Regular Expressions re.findall()

Part 2: Find All Emails in Contact Details | Regular Expressions re.findall()

Grammar Syntax Rules & Parse Trees

Grammar Syntax

Grammar Syntax: Part 2

How To Construct A Parse Tree

A Parse Tree Example

Part 1: Parse Tree Practical Project - Import Libraries

Part 2: Part Of Speech & Parse Functions | Practical

Part 3: Output Parse Tree | Practical

Stemming & Lemmatization

What is a Stemming?

Stemming with 3 NLTK Methods - Practical

Comparing Stemming Methods: Porter, Lancaster & Snowball

What is Lemmatization?

Lemmatization with NLTK - Practical

Wordnet Resource

Part 2 Lemmatization with NLTK

Part-of-Speech & Lemmatization Precision

Text Preprocessing: Detailed Step-By-Step Practical Examples

Introducing The Project: Preprocessing Tweets

Part 1: Preprocess Tweets Practical: Load & Examine Dataset

Part 2: Extract Hashtags - Preprocess Tweets Practical

Part 3: Remove Usernames, Links, Non-ASCII & Use lower() - Tweets Practical

Part 4: Try Non-ASCII & Lower Case Functions on Sample Text

Part 5: Stopwords Removal

Part 6: Remove Email Addresses

Part 7: Remove Digits & Special Characters

Part 8: Clean Tweets In Dataset

Name Entity Recognition With SpaCy (NER)

Why Question Answering Systems Need NER

Why Chatbots Need NER

Part1: Load Spacy Pipeline Model

Part 2: SpaCy NER Attributes

Scrape Twitter: Get Unlimited Tweets

Twint: An Open Source Intelligence Tool

Twint Part 1: Setup & Installs

Part 2: Install Libraries

Part 3: Configure Twint

Part 4: Configure Twint for Pandas

Part 5: Cashtags

Part 6: Search For Covid Tweets & Disney Cashtags

Part 7: Add Username Configuration

Part 8: Save Scraped Tweets To CSV File

Part 9: Search Within Geographic Coordinates

Part 10: Output Geographic Coordinate Search Results

Neural Networks

Biological Neurons

Biological Neuron Illustrated

Comparing Biological & Artificial Neuron Structures

Perceptron Model

Image Sources

Text Classification Used For Sentiment Analysis

Part 1 | Steam Game Reviews Project | Classifier for Sentiment Analysis

Part 2: Steam Game Reviews Classifier | Explore Dataset

Part 3: Build Classifier | Steam Game Reviews

Part 4 | Split & Format Training Data | Steam Game Reviews |

Part 5 | Prepare Training Data | Steam Game Reviews |

Part 6 | Train the Model | Steam Game Reviews |

Part 7: Testing the Model | Steam Game Reviews

Hidden Markov Model

Introducing Markov Chains

Build A Probability Distribution Diagram

Create A State Diagram

Part 2: Create A State Diagram

Markov Chain - Practical

Part 2: Probability Matrix. Markov Chain - Practical.

Part 3: Define Markov Chain Function - Practical.

Part 4: Complete & Run Markov Chain Function - Practical.

Extraction-Based Summarisation

Part 1: Create Summarizer

Part 2: Scrape Wikipedia With Beautiful Soup

Part 3: Addition Assignment Of Scraped Data

Part 4: Clean Scraped Wiki Data

Part 5: Tokenize

Part 6: The Key & Values Method

Part 7: Weighted Frequency

Part 8: Output The Summary

Bag Of Words VS Word Embeddings

Create A Bag Of Words Vector Representation

Bag Of Words VS Word Embeddings

Calculate Cosine Similarity: BoW vs Word Embedding (Practical)

Part 2: Calculate Cosine Similarity: BoW vs Word Embedding

Word Embedding Fundamentals

Introducing This Chapter

One Hot Encoding

One Hot Encoding Example

Word Document Matrix

Co-Occurence Matrix Concept

Co-Occurence Matrix (Practical)

Part 2: Co-Occurence Matrix (Practical)

Topic Modelling With Sklearn: BBC News

BBC News NMF Part 1: Explore Dataset

Part 2: TF-IDF Vectorization

Part 3: Extract Topics with NMF Function

BBC News NMF Part 4: Assign Topics

BBC News NMF Part 5: Create Filtered Dataset, With Only The Articles Needed

BBC News NMF Part 6: Wordcloud With Filtered Articles

Create A Netflix Recommendation System

Part 1: Netflix Recommendation Project: Data Exploration

Part 2: Preprocessing | Netflix Recommendation Project

Part 3: Pre-trained Data | Netflix Recommendation System

Part 4: Examine Similarities with most_similar Function

Part 5: Write Vectorize() Function | Netflix Recommendation System

Part 6: Make function to Get Most Similar Shows | Netflix Recommendation Project

Part 7: Sorted() Function

Part 8: Final Recommendation Output

Fake News Detection: Deep Learning With LSTM

FakeNews LSTM Part 1: Import Libraries, Load Dataset

FakeNews LSTM Part 2: Remove Null Values

FakeNews LSTM Part3: Preprocess Data

FakeNews LSTM Part4: One-Hot Encoding

Part 4: Pad_Sequences

Part 5: Create Sequential Model With the Add() Method

Rule-Based Chatbot for Banking Customer Service

Chatbot #1: Part1 - Rule-Based For Hard-Coded Exact Matching

Chatbot #1: Part 2 - Rule-Based For Hard-Coded Exact Matching

Chatbot #2: Rule-Based Using Keywords

Question-Answering System With ALBERT On SQuAD

Section Overview

Setting Up & Clone Repository

Get SQuAD Training Data

Train The ALBERT Model On SQuAD

Q&A Model Configurations

Setting Up The Model & Tensor Attributes

Adjust The Hugging Face Function: SquadExample

Hugging Face Model Outputs

Hugging Face Compute_Predictions_Logits Method

Run Predictions Function

Try Questions On Custom Text

Resources For SQuAD

Speech Recognition Practical

Jetsons Cartoon, Google Assistant: NLP & Sound Recognition

Convert Speech to Text - Load Resource File

Part 1: Convert Speech to Text

Part 2: Recognise Speech & Convert to Text


Santiago19 July 2021

It is a very basic and introductory course. Most of the time when coding along, the teacher write code without explaining why we are coding this or that.

Christopher15 July 2021

Fantastic course! So many neat little miscellaneous tricks taught along the way, in addition to the NLP content. Will definitely be taking other courses by Nidia and Rajeev :)

Tamika15 June 2021

This course was definitely a great match for me and was impeccable.It is very well put together, easily understandable, and easy to follow therefore, learning and understanding for a beginner is a success. Firstly, The course enables different types of learners such as visual learners to grasp the infortantion as Nidia uses different teaching approaches such as directing and discussing style of teaching. This not only keeps you engrossed and attentive but keeps you interested in the content being presented as the layout feels very light and fun yet clear and concise , thus comfortable to follow and not difficult to keep up with. Secondly, in addition to this, it has been a great experience as Nidia is a very thoughtful in ensuring students get the best experince possible as it is shown that she puts a lot of thought into how she presents the material. The course was very engaging, useful, and motivating in that she encouraged me to have a better positive view on NLP. The course enables you to learn at your own pace and to have a better appreciation for NLP. It gave me a better perspective and was such a life changing experience. It has helped in generating my vision and goals and can be beneficial in the business world for me by developing new stratgies for problem solving, strengthening leadership capabilities and stepping over my own mindset, managing change and even be a better influence on employees or persons around me. I think it can have a substantial positive impact on persons and can also be such a life changing experience for others. When choosing a course on NLP, it is important to note that you should be comfortable and motivated to learn and get a positive outcome from it, and this definitely does that. I Definitely reccommend!

Panggih9 June 2021

The explanation is very clear. Using simple illustrations like stars, buckets, etc makes the course more understandable.

Simla17 May 2021

Learning so many valuable things in this course, it's been great so far, highly recommend it for beginners to NLP!

Varma16 May 2021

Absolutely loving how comprehensive and well taught this course is. It's the only course I've found that actually teaches you the core grammatical foundation of NLP which helps so much in making you understand more complicated NLP work! Great course!

Niven15 May 2021

The course gets into the linguistic stuff quite well . As a newbie I got this course for the chat bot and the Twitter scraping but I’m eagerly looking forward to learning linguistics . Haven’t found other courses with this stuff before. Very knowledgeable passionate instructor , superb clarity and content .


Udemy ID


Course created date


Course Indexed date
Course Submitted by