Natural Language Processing and Understanding is a multi-disciplinary field that focuses on computational methods to analyze and manipulate natural human language with relevance to artificial intelligence, machine learning, computer science, and linguistics. This course focuses on the fundamental principles of Natural Language Processing and Language Modeling. Large language model products and agents like ChatGPT, Claude, and Gemini are ubiquitously used today and this course will focus on underlying algorithms, methods , and techniques involved in building such language models and other computational methods to broadly analyze language. This course will cover machine learning principles, neural architectures for processing language, training and inference algorithms, techniques for adaptation and manipulation of language models, and other relevant research topics in linguistics, large-scale analysis of unstructured natural language data, and language modeling. The students will develop skills related to the topics above by engaging in an open-ended project, programming homeworks, theory assignments, and classroom activities.
Credit not allowed for both CS 4650 and CS 7650.