Natural Language Processing Specialization
This Specialization will equip you with the state-of-the-art deep learning techniques needed to build cutting-edge NLP systems. By the end of this Specialization, you will be ready to design NLP applications that perform question-answering and sentiment analysis, create tools to translate languages and summarize text, and even build chatbots.
This Specialization is for students of machine learning or artificial intelligence as well as software engineers looking for a deeper understanding of how NLP models work and how to apply them. Learners should have a working knowledge of machine learning, intermediate Python including experience with a deep learning framework (e.g., TensorFlow, Keras), as well as proficiency in calculus, linear algebra, and statistics. If you would like to brush up on these skills, we recommend the Deep Learning Specialization, offered by deeplearning.ai and taught by Andrew Ng.
This Specialization is designed and taught by two experts in NLP, machine learning, and deep learning. Younes Bensouda Mourri is an Instructor of AI at Stanford University who also helped build the Deep Learning Specialization. Łukasz Kaiser is a Staff Research Scientist at Google Brain and the co-author of Tensorflow, the Tensor2Tensor and Trax libraries, and the Transformer paper.
Classification and Vector Spaces
Course 1: Classification and Vector Spaces in NLP
Week 1: Logistic Regression for Sentiment Analysis of Tweets
- Use a simple method to classify positive or negative sentiment in tweets
Week 2: Naïve Bayes for Sentiment Analysis of Tweets
- Use a more advanced model for sentiment analysis
Week 3: Vector Space Models
- Use vector space models to discover relationships between words and use principal component analysis (PCA) to reduce the dimensionality of the vector space and visualize those relationships
Week 4: Word Embeddings and Locality Sensitive Hashing for Machine Translation
- Write a simple English-to-French translation algorithm using pre-computed word embeddings and locality sensitive hashing to relate words via approximate k-nearest neighbors search
Course 2: Probabilistic Models in NLP
Week 1: Auto-correct using Minimum Edit Distance
- Create a simple auto-correct algorithm using minimum edit distance and dynamic programming
Week 2: Part-of-Speech (POS) Tagging
- Apply the Viterbi algorithm for POS tagging, which is important for computational linguistics
Week 3: N-gram Language Models
- Write a better auto-complete algorithm using an N-gram model (similar models are used for translation, determining the author of a text, and speech recognition)
Week 4: Word2Vec and Stochastic Gradient Descent
- Write your own Word2Vec model that uses a neural network to compute word embeddings using a continuous bag-of-words model
Course 3: Sequence Models in NLP
Week 1: Sentiment with Neural Nets
- Train a neural network with GLoVe word embeddings to perform sentiment analysis of tweets
Week 2: Language Generation Models
- Generate synthetic Shakespeare text using a Gated Recurrent Unit (GRU) language model
Week 3: Named Entity Recognition (NER)
- Train a recurrent neural network to perform NER using LSTMs with linear layers
Week 4: Siamese Networks
- Use so-called ‘Siamese’ LSTM models to compare questions in a corpus and identify those that are worded differently but have the same meaning
Course 4: Attention Models in NLP
Week 1: Neural Machine Translation with Attention
- Translate complete English sentences into French using an encoder/decoder attention model
Week 2: Summarization with Transformer Models
- Build a transformer model to summarize text
Week 3: Question-Answering with Transformer Models
- Use T5 and BERT models to perform question answering
Week 4: Chatbots with a Reformer Model
- Build a chatbot using a reformer model
Frequently Asked Questions
Who is this Specialization for?
This Specialization is for students of machine learning or artificial intelligence as well as software engineers looking for a deeper understanding of how NLP models work and how to apply them.
Are there any prerequisites?
Learners should have a working knowledge of machine learning, intermediate Python including experience with a deep learning framework (e.g., TensorFlow, Keras), as well as proficiency in calculus, linear algebra, and statistics. If you would like to brush up on these skills, we recommend the Deep Learning Specialization, offered by deeplearning.ai and taught by Andrew Ng.
What will I learn in this Specialization?
This Specialization will equip you with 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, and translate words, and use locality sensitive hashing for 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 to build chatbots. Models covered include T5, BERT, transformer, reformer, and more!
What makes this Specialization so different?
The deeplearning.ai 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.
Who created this Specialization?
This Specialization is designed and taught by two experts in NLP, machine learning, and deep learning.
Younes Bensouda Mourri is an Instructor of AI at Stanford University who also helped build the Deep Learning Specialization. Łukasz Kaiser is a Staff Research Scientist at Google Brain and the co-author of Tensorflow, the Tensor2Tensor and Trax libraries, and the Transformer paper.
Both Younes and Łukasz are passionate about increasing access to cutting-edge AI education around the globe by providing instruction and opportunities for practical application so developers can expand their skills.
Is this a stand-alone Course or a Specialization?
This is a Specialization made up of four courses.
How do I take the Specialization?
You can enroll in this deeplearning.ai Natural Language Processing Specialization on Coursera. You will watch videos and complete assignments on Coursera as well.
Do I need to take the courses in a specific order?
We recommend taking the courses in the prescribed order for a logical and thorough learning experience.
How much does the Specialization cost?
Can I apply for financial aid?
Yes, Coursera provides financial aid to learners who cannot afford the fee. Visit the Coursera Course Page and click on ‘Financial Aid’ beneath the ‘Enroll’ button on the left.
Can I audit the Specialization?
You can audit the courses in the Specialization for free. Visit the Course Page, click on ‘Enroll’ and then click on ‘Audit’ at the bottom of the page. Note that you will not receive a certificate at the end of the course if you choose to audit it for free instead of purchasing it.
Will I receive a certificate at the end of the Specialization?
You will receive a certificate at the end of each course if you pay for the courses and complete the programming assignments. There is a limit of 180 days of certificate eligibility, after which you must re-purchase the course to obtain a certificate. If you audit the course for free, you will not receive a certificate.
If you complete all four courses in the deeplearning.ai Natural Language Processing Specialization and are subscribed to the Specialization, you will also receive an additional certificate showing that you completed the entire Specialization.
How long does it take to complete the Specialization?
This Specialization consists of four Courses. At the rate of 5 hours a week, it typically takes 4 weeks to complete each Course.
About the Instructors
Younes Bensouda Mourri
Instructor of AI, Stanford University
Younes Bensouda Mourri completed his Bachelor’s in Applied Mathematics and Computer Science and Master’s in Statistics from Stanford University and now works there as an Instructor of AI. He helped create 3 AI courses at Stanford – Applied Machine Learning, Deep Learning, and Teaching AI. He also helped create the Deep Learning Specialization offered by deeplearning.ai on Coursera.
Staff Research Scientist at Google Brain and Chargé de Recherche at CNRS
Łukasz Kaiser is the co-author of Tensorflow, the Tensor2Tensor and Trax libraries, and the Transformer paper. He is a Staff Research Scientist at Google Brain and his work has greatly influenced the AI community.