Natural Language Processing

UVA CS 6501-011 (Fall 2024)

Highlights

1. Course Description

Natural language processing (NLP) seeks to provide computers with the ability to process and understand human language intelligently. Examples of NLP techniques include (i) automatically translating from one natural language to another, (ii) analyzing documents to answer related questions or make related predictions, and (iii) generating texts to help story writing or build conversational agents. This course, consisting of one fundamental part and one advanced part, will give an overview of modern NLP techniques.

1.1 Topics

This course will mainly focus on applying machine learning (particularly, deep learning) techniques to natural language processing. NLP topics covered by this course

  1. Text classification
  2. Word embeddings
  3. Language modeling
  4. Sequence-to-sequence models and machine translation
  5. Large language models and text generation
  6. NLP applications

For detail information, please refer to the course schedule.

1.2 Prerequisites

2. Course Information

2.1 Instructor and TAs

2.2 Course Schedule

3. Assignments and Final Project

In both homework and the final project, other than using the machine learning libraries including Sklearn, PyTorch, Tensorflow, students need to implemented the rest of the proposed model by themselves. Copying code from any resources (e.g., Github, Bitbucket, and Gitlab) is prohibited and will be considered as plagiarism.

3.1 Collaboration policy

For homework assignments

For the final project, replace the word “student(s)” with “group(s)”.

4. Additional Information

Last updated on Aug. 23, 2024