CS 759 (01) - Natural Language Processing

Natural Language Processing

Durham   Engineering&Physical Sciences :: Computer Science
Credits: 4.0
Term: Spring 2024 - Full Term (01/23/2024 - 05/06/2024)
Grade Mode: Letter Grading
Class Size:   30  
CRN: 56681
This class covers natural language processing, including both methods and well-known applications. Methods discussed will range from classical probabilistic methods such as Naive Bayes and Hidden Markov Models, to contemporary neural network methods, including word vector models, recurrent neural networks, and Transformer-based models. Applications discussed will include text classification, machine translation, and conversation systems.
Registration Approval Required. Contact Instructor or Academic Department for permission then register through Webcat.
Prerequisite(s): CS 515 and (MATH 539 or MATH 644)
Cross listed with : CS 859A.01
Instructors: Samuel Carton

Times & Locations

Start Date End Date Days Time Location
1/23/2024 5/6/2024 TR 3:40pm - 5:00pm KING N101
Final Exam 5/15/2024 5/15/2024 W 1:00pm - 3:00pm KING N101
Additional Course Details: 

This course progresses from classical NLP approaches to the most contemporary neural approaches that underly technologies like ChatGPT. My goal is to get students both a strong understanding of the methods underlying these very-much-taking-over-the-world-right-now models, as well as understanding of how to use them and where they might be going. 

The course assumes a reasonably strong background in programming (e.g. CS 515), and in statistics/probability (e.g. MATH 539 or MATH 644). It does NOT require a background in AI/machine learning--I teach those concepts from the ground up in a text-centered way. 

The course is taught using Python for code examples and homeworks. Familiarity with Python is helpful but not required, as a strong programmer will be able to pick the language up quickly enough to do the course assignments.