Natural Language Processing Specialization

  • 4 courses
  • Intermediate
  • >
    4 months (6 hours/week)
  • >
    Younes Bensouda Mourri, Łukasz Kaiser, Eddy Shyu
  • >
    Hugging Face

What you will learn

Use logistic regression, naïve Bayes, and word vectors to implement sentiment analysis, complete analogies, translate words, and use locality-sensitive hashing to approximate nearest neighbors.

Use dynamic programming, hidden Markov models, and word embeddings to autocorrect misspelled words, autocomplete partial sentences, and identify part-of-speech tags for words.

Use dense and recurrent neural networks, LSTMs, GRUs, and Siamese networks in TensorFlow and Trax to perform advanced sentiment analysis, text generation, named entity recognition, and to identify duplicate questions.

Use encoder-decoder, causal, and self-attention to perform advanced machine translation of complete sentences, text summarization, question-answering, and build chatbots. Models covered include T5, BERT, transformer, reformer, and more!

Skills you will gain

  • Sentiment Analysis
  • Transformers
  • Attention Models
  • Machine Translation
  • Word2vec
  • Word Embeddings
  • Locality-Sensitive Hashing
  • Vector Space Models
  • Parts-of-Speech Tagging
  • N-gram Language Models
  • Autocorrect
  • Sentiment with Neural Networks
  • Siamese Networks
  • Natural Language Generation
  • Named Entity Recognition (NER)
  • Reformer Models
  • Neural Machine Translation
  • Chatbots
  • T5 + BERT Models

Natural language processing is a subfield of linguistics, computer science, and artificial intelligence that uses algorithms to interpret and manipulate human language.

In the Natural Language Processing (NLP) Specialization, you will learn how to design NLP applications that perform question-answering and sentiment analysis, create tools to translate languages, summarize text, and even build chatbots. These and other NLP applications will be at the forefront of the coming transformation to an AI-powered future.

NLP is one of the most broadly applied areas of machine learning and is critical in effectively analyzing massive quantities of unstructured, text-heavy data. As AI continues to expand, so will the demand for professionals skilled at building models that analyze speech and language, uncover contextual patterns, and produce insights from text and audio.


Syllabus

Course 1: Natural Language Processing with Classification and Vector Spaces

In Course 1 of the Natural Language Processing Specialization, you will:

a) Perform sentiment analysis of tweets using logistic regression and then naïve Bayes,
b) Use vector space models to discover relationships between words and use PCA to reduce the dimensionality of the vector space and visualize those relationships, and
c) Write a simple English to French translation algorithm using pre-computed word embeddings and locality-sensitive hashing to relate words via approximate k-nearest neighbor search.

Enroll

Week 1: Sentiment Analysis with Logistic Regression

Learn how to extract features from text into numerical vectors, then build a binary classifier for tweets using logistic regression.

Week 2: Sentiment Analysis with Naïve Bayes

Understand the theory behind Bayes’ rule for conditional probabilities, then apply it toward building a Naive Bayes tweet classifier of your own.

Week 3: Vector Space Models

Vector space models capture semantic meaning and relationships between words. You’ll learn how to create word vectors that capture dependencies between words, then visualize their relationships in two dimensions using PCA.

Week 4: Machine Translation and Document Search

Learn how to transform word vectors and assign them to subsets using locality-sensitive hashing to perform machine translation and document search.

Course 2: Natural Language Processing with Probabilistic Models

In Course 2 of the Natural Language Processing Specialization, you will:

a) Create a simple auto-correct algorithm using minimum edit distance and dynamic programming,
b) Apply the Viterbi Algorithm for part-of-speech (POS) tagging, which is vital for computational linguistics,
c) Write a better auto-complete algorithm using an N-gram language model, and
d) Write your own Word2Vec model that uses a neural network to compute word embeddings using a continuous bag-of-words model.

Enroll

Week 1: Auto-correct

Learn about autocorrect, minimum edit distance, and dynamic programming, then build your own spellchecker to correct misspelled words.

Week 2: Part-of-Speech (POS) Tagging and Hidden Markov Models

Learn about Markov chains and Hidden Markov models, then use them to create part-of-speech tags for a Wall Street Journal text corpus.

Week 3: Auto-complete and Language Models

Learn about how N-gram language models work by calculating sequence probabilities, then build your own autocomplete language model using a text corpus from Twitter.

Week 4: Word Embeddings with Neural Networks

Learn how word embeddings carry the semantic meaning of words, making them more powerful for NLP tasks. Then build your own Continuous bag-of-words model to create word embeddings from Shakespeare text.

Course 3: Natural Language Processing with Sequence Models

In Course 3 of the Natural Language Processing Specialization, you will:

a) Train a neural network with GLoVe word embeddings to perform sentiment analysis of tweets,
b) Generate synthetic Shakespeare text using a Gated Recurrent Unit (GRU) language model,
c) Train a recurrent neural network to perform named entity recognition (NER) using LSTMs with linear layers, and
d) Use so-called ‘Siamese’ LSTM models to compare questions in a corpus and identify those that are worded differently but have the same meaning.

Enroll

Week 1: Neural Network for Sentiment Analysis

Learn about neural networks for deep learning, then build a sophisticated tweet classifier that places tweets into positive or negative sentiment categories using a deep neural network.

Week 2: Recurrent Neural Networks for Language Modeling

Learn about the limitations of traditional language models and see how RNNs and GRUs use sequential data for text prediction. Then build your own next-word generator using a simple RNN on Shakespeare text data.

Week 3: LSTMs and Named Entity Recognition (NER)

Learn how long short-term memory units (LSTMs) solve the vanishing gradient problem and how Named Entity Recognition systems quickly extract essential information from text. Then build your own Named Entity Recognition system using an LSTM and data from Kaggle.

Week 4: Siamese Networks

Learn about Siamese networks, a special type of neural network made of two identical networks that are eventually merged, then build your own Siamese network that identifies question duplicates in a dataset from Quora.

Course 4: Natural Language Processing with Attention Models

In Course 4 of the Natural Language Processing Specialization, you will:

a) Translate complete English sentences into German using an encoder-decoder attention model,
b) Build a Transformer model to summarize text,
c) Use T5 and BERT models to perform question-answering, and
d) Build a chatbot using a Reformer model.

Enroll

Week 1: Neural Machine Translation with Attention models

Discover some of the shortcomings of a traditional seq2seq model and how to solve for them by adding an attention mechanism, then build a Neural Machine Translation model with Attention that translates English sentences into German.

Week 2: Text Summarization with Transformer models

Compare RNNs and other sequential models to the more modern Transformer architecture, then create a tool that generates text summaries.

Week 3: Question-Answering

Explore transfer learning with state-of-the-art models like T5 and BERT, then build a model that can answer questions.

Week 4: Chatbots with Reformer models

Examine some unique challenges Transformer models face and their solutions, then build a chatbot using a Reformer model.

Program Instructors

Younes Bensouda Mourri Instructor

Instructor of AI, Stanford University

Łukasz Kaiser Instructor

Staff Research Scientist, Google Brain; Chargé de Recherche, CNRS

Eddy Shyu Curriculum Developer

Product Lead, DeepLearning.AI

Sign Up

Be notified of new courses

    Frequently Asked Questions

    Natural language processing is a subfield of linguistics, computer science, and artificial intelligence that uses algorithms to interpret and manipulate human language.

    In the Natural Language Processing (NLP) Specialization, you will learn how to design NLP applications that perform question-answering and sentiment analysis, create tools to translate languages, summarize text, and even build chatbots. These and other NLP applications will be at the forefront of the coming transformation to an AI-powered future.

    NLP is one of the most broadly applied areas of machine learning and is critical in effectively analyzing massive quantities of unstructured, text-heavy data. As AI continues to expand, so will the demand for professionals skilled at building models that analyze speech and language, uncover contextual patterns, and produce insights from text and audio.

    This Specialization will equip you with both the machine learning basics as well as the state-of-the-art deep learning techniques needed to build cutting-edge NLP systems:

    • Use logistic regression, naïve Bayes, and word vectors to implement sentiment analysis, complete analogies, translate words, and use locality-sensitive hashing to approximate nearest neighbors.
    • Use dynamic programming, hidden Markov models, and word embeddings to autocorrect misspelled words, autocomplete partial sentences, and identify part-of-speech tags for words.
    • Use dense and recurrent neural networks, LSTMs, GRUs, and Siamese networks in TensorFlow and Trax to perform advanced sentiment analysis, text generation, named entity recognition, and to identify duplicate questions. 
    • Use encoder-decoder, causal, and self-attention to perform advanced machine translation of complete sentences, text summarization, question-answering, and build chatbots. Models covered include T5, BERT, transformer, reformer, and more!

    The Natural Language Processing Specialization is one-of-a-kind.

    • It teaches cutting-edge techniques drawn from recent academic papers, some of which were only first published in 2019.
    • It covers practical methods for handling common NLP use cases (autocorrect, autocomplete), as well as advanced deep learning techniques for chatbots and question-answering.
    • It starts with the foundations and takes you to a stage where you can build state-of-the-art attention models that allow for parallel computing.
    • You will not only use packages but also learn how to build these models from scratch. We walk you through all the steps, from data processing to the finished products you can use in your own projects.
    • You will complete one project every week to make sure you understand the concepts for a total of 16 programming assignments.

    Working knowledge of machine learning, intermediate Python experience including DL frameworks & proficiency in calculus, linear algebra, & statistics

    This Specialization is for students of machine learning or artificial intelligence and software engineers looking for a deeper understanding of how NLP models work and how to apply them.

    This Specialization consists of four Courses. At the rate of 5 hours a week, it typically takes 4 weeks to complete each Course.

    Younes Bensouda Mourri and Lukasz Kaiser created the Natural Language Processing Specialization.

     

    Younes Bensouda Mourri completed his Bachelor’s in Applied Math and CS and Master’s in Statistics from Stanford University. Younes helped create 3 AI courses at Stanford – Applied Machine Learning, Deep Learning, and Teaching AI – and taught two for a few years. Currently, he is an adjunct lecturer of computer science at Stanford University.

    Lukasz Kaiser is a Staff Research Scientist at Google Brain and the co-author of Tensorflow, the Tensor2Tensor and Trax libraries, and the “Attention is all you need” Transformer paper.

    Please read this for a complete list of updates:

    • In Course 1: NLP with Classification and Vector Spaces, 
        • All the programming assignments and ungraded labs have been refactored
        • All programming assignments have new automatic graders
    • In Course 2: NLP with Probabilistic Models,
        • All the programming assignments and ungraded labs have been refactored
        • All programming assignments have new automatic graders
    • In Course 3: NLP with Sequence Models,
        • A new section on visualizing embeddings from the trained model has been added to the Week 1 assignment
        • Corrections have been made to the evaluation section of the Week 2 assignment
        • Week 3 assignment has been refactored
        • The following lectures have been updated to new versions:
          • Trax: Neural Networks
          • Trax: Layers (Now Classes, subclasses, and inheritance)
          • Dense and ReLU layers 
          • Serial Layer
          • Math in Simple RNNs
          • Gated Recurrent Units
          • RNNs and Vanishing Gradients 
          • Introduction to LSTMs 
          • LSTM Architecture
          • Triplets
        • The following ungraded labs have been updated to new versions:
          • Hidden State Activation
          • GRU
          • Perplexity
          • Vanishing and Exploding gradients
    • In Course 4: NLP with Attention Models,
      • Two new ungraded labs concerned with how attention is implemented in deep learning models have been added
      • The following lectures have been updated to new versions or modified (excluding HuggingFace content):
        • Seq2seq model for NMT
        • Seq2seq model with Attention
        • Queries, Keys, Values, and Attention
        • Setup for Machine Translation
        • Teacher Forcing
        • NMT with Attention
        • Evaluation: BLEU Score
        • Evaluation: ROUGE Score
        • Sampling and Decoding
        • Beam Search
        • Minimum Bayes Risk (MBR)
        • Transformers vs. RNNs
        • Transformers overview
        • Scaled dot-product Attention
        • Masked Self-Attention
        • Multi-Head Attention
      • Four new lectures on Hugging Face have been added:
        • Introduction from the Hugging Face team
        • Introduction to Hugging Face
        • Using Transformers
        • Fine-tuning a pre-trained model
      • Two new ungraded labs on Hugging Face have been added:
        • Use of pipelines for Question & Answering
        • Fine-Tuning a pre-trained model for Question & Answering

    • Your certificates will carry over for any courses you’ve already completed. 
    • If your subscription is currently active, you can access the updated labs and submit assignments without paying for the month again. 
    • If you go to the Specialization, you will see the original version of the lecture videos and assignments. You can complete the original version if so desired (this is not recommended).
    • If you would like to update to the new material, reset your deadlines. If you’re in the middle of a course, you will lose your progress when you reset your deadlines. Please save any notebook assignments you’ve submitted by downloading your existing notebooks before switching to the new version.
    • If you do not see the option to reset deadlines, contact Coursera via the Learner Help Center.

    • Your certificates will carry over for any courses you’ve already completed.
    • If your subscription is currently inactive, you will need to pay again to access the labs and submit assignments for those courses.