Course

Natural Language Processing


This advanced three-segment course introduces students to many aspects of natural language processing (NLP), the artificial intelligence component of using human languages to interact with computers. We will start with an overview of NLP, natural language understanding (NLU), and natural language generation (NLG), and discuss algorithms such as:
  • the bag-of-words (BoW) model
  • word2vec
  • n-grams
  • skip-grams

Students will learn about: term frequency (tf), inverse document frequency (idf), and tf-idf.

In addition, you will learn about recommendation systems, sentiment analysis, and document classification. In the second portion of the course, you will be introduced to deep learning (DL) and how DL and NLP can be combined. We will look at the success of convolutional neural networks (CNNs) in solving NLP tasks and the popularity of architectures that use bidirectional long short-term memory (LSTM), an artificial recurrent neural network (RNN) architecture, to solve NLP tasks, such as search.

In the third portion of this course we explore reinforcement learning (RL) and deep reinforcement learning, learning how to combine deep RL and NLP. These combined technologies have improved state-of-the-art natural language processing and reinforcement learning, and contributed to the progress in a plethora of other fields. You will also learn about some more recent advances in DL, such as ELMo, BERT, ERNIE 2.0 and the transformer architecture that has superseded bidirectional LSTMs in many areas of NLP.

After completing this course, you can continue your study of NLP to acquire a deeper understanding of NLP and more sophisticated combinations of NLP with other branches of machine learning and with deep reinforcement learning.


Students are required to bring Laptops for classroom work.


Skills Needed: Moderate level of computer programming ability in Python, comfortable with an editor, familiarity with basic command-line operations on a laptop, and a good understanding of Machine Learning models and Deep Learning models.

Note(s): Students are required to bring laptops for classroom work. The code samples use Python 3.6.8 and TensorFlow 2/Keras, along some Jupyter notebooks in Google Colaboratory (students can optionally pre-register for a free account).  Students also have the option of installing the Python 3+ version of Anaconda distribution on their laptops from the following link: https://www.anaconda.com/on their machines.

Prerequisite(s) (one required)

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu

Course Inquiry

Ask us any questions you may have about this course.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu