Natural Language Processing (NLP) addresses the questions of how to build programs that can read, understand, generate and act upon textual inputs. In recent years, we have seen remarkable advances in the state-of-the-art in NLP, which are powered by deep neural networks.

This course gives a thorough overview of recent advances in the use of deep learning for NLP. We will focus on challenges inherent in designing neural models for processing textual inputs. To this end, we will use several example NLP tasks to study modeling strategies, network architectures and learning paradigms.

See course information for details about course mechanics and policies.

Meetings & Staff

Lectures: Mon & Wed, 3:00PM – 4:20PM, WEB L122. See lectures page for more information.

Instructor: Vivek Srikumar

Email svivek at cs dot utah dot edu
Office hours Wednesdays, 4:30pm at MEB 3126

Teaching assistant: Maitrey Mehta

Office hours Thursdays, 11am-noon

Discussion forum: We will be using Canvas. Please use the discussion forum as the preferred medium for interacting with the instructor and the teaching assistants rather than emailing directly.

Course objectives, or: What can I expect to learn?

This course will cover recent advances in the use of neural networks for natural language processing. Topics will include word embeddings, recurrent neural networks, transformers, BERTology, LLMs and the use of prompting.

At the end of the course, you should be able to:

  1. Define deep neural networks for new NLP problems,

  2. Implement, train and use such models using off-the-shelf libraries, and

  3. Be able to critically read, evaluate and perhaps replicate current literature in the field.