Natural Language Understanding


Stanford School of Engineering

Natural Language Understanding


From conversational agents to automated trading and search queries, natural language understanding underpins many of today’s most exciting technologies. How do we build these models to understand language efficiently and reliably? In this project-oriented course, you will develop systems and algorithms for robust machine understanding of human language. The course draws on theoretical concepts from linguistics, natural language processing, and machine learning.  

In the first half of the course, you will explore three fundamental tasks in natural language understanding: the creation of word vectors, relation extraction (with an emphasis on distant supervision), and natural language inference. Each topic includes a hands-on component where you will build baseline models that in turn inform your own original models that you will enter into informal class-wide competitions.

In the second half of the course, you will pursue an original project in natural language understanding with a focus on following best practices in the field. Additional lectures and materials will cover important topics to help expand and improve your original system, including evaluations and metrics, semantic parsing, and grounded language understanding.

You can view sample projects from previous cohorts of the professional course at this link

What you will learn

  • Distributed word representations
  • Relation extraction with distant supervision
  • Natural language inference
  • Supervised sentiment analysis
  • Grounded language understanding
  • Semantic parsing
  • Contextual word representations (including updated coverage of BERT, RoBERTa, ELECTRA, and XLNet)
  • Evaluation methods and metrics


  • Proficiency in Python: All class assignments will be in Python. If you have extensive programming experience in a different language (C/C++/MATLAB/Java/JavaScript) we recommend you familiarize yourself with Python and commonly used machine learning libraries before the course begins.
  • Calculus and Linear Algebra: You should understand the following concepts from multivariable calculus and linear algebra: chain rule, gradients, matrix multiplication, matrix inverse.
  • Probability: You should be familiar with basic probability distributions and be able to define the following concepts for both continuous and discrete random variables: Expectation, independence, probability distribution functions, and cumulative distribution functions.
  • Foundations of Machine Learning (Recommended): Knowledge of foundational concepts in supervised learning is highly recommended. 


This professional course, based on the on-campus Stanford graduate course CS224U, features:

  • Classroom lecture videos edited and segmented to focus on essential content
  • Supporting videos and guided Jupyter notebooks walking through key topics
  • Coding assignments based on building baseline models and original systems to tackle specific NLU tasks such as relation extraction
  • A final project based on developing an original system for natural language understanding
  • Office hours and support from Stanford-affiliated Course Facilitators
  • Cohort structure providing opportunities to network and collaborate with motivated learners from diverse locations and professional backgrounds

Time Commitment

Expect to commit 8-12 hours/week for the duration of the 10-week program.


Professor Christopher Potts
Professor of Linguistics
Director of the Stanford Center for the Study of Language and Information

Bill MacCartney
Consulting Assistant Professor


Upon completing this course, you will earn a Certificate of Achievement in Natural Language Understanding from the Stanford Center for Professional Development.

You may also earn a Professional Certificate in Artificial Intelligence by completing three courses in the Artificial Intelligence Professional Program.

Grading and Continuing Education Units

This course is graded Pass/Fail, and letter grades are not awarded. By completing this course, you'll earn 10 Continuing Education Units (CEUs). CEUs cannot be applied toward any Stanford degree. CEU transferability is subject to the receiving institution’s policies.


Prior to enrolling in your first course in the AI Professional Program, you must complete a short application (15-20 minutes). The application allows you to share more about your interest in joining this cohort-based course, as well as verify that you meet the prerequisite requirements needed to make the most of the experience. If you have previously completed the application, you will not be prompted to do so again.


Contact us at 650-204-3984



Enroll Now

Dates:August 23 - October 31, 2021
Delivery Option:
Online Course $1,595.00

This is a cohort-based program that will run from AUGUST 23, 2021 - OCTOBER 31, 2021.

Online Program Materials 
Online program materials are available on the first day of the course cohort (August 23, 2021). A course syllabus and invitation to an optional Orientation/Q&A Webinar will be sent 10-14 days prior to the course start.

To successfully complete the program, participants will complete three required assignments and a final project.

Course Evaluation
Participants are required to complete the program evaluation.

This course may not currently be available to learners in some states and territories.