CS 4501 Machine Learning for Natural Language Processing
Table of Contents
1. Course Information
- Instructor: Yangfeng Ji
- Semester: Fall 2021
- Location: TBA
- Time: Monday and Wednesday 3:30 PM - 4:45 PM
- TA: TBA
- Office Hours: TBA
2. 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.
This course will mainly focus on applying machine learning (particularly, deep learning) techniques to natural language processing. NLP topics covered by this course
- Text classification
- Language modeling
- Word embeddings
- Machine translation and sequence-to-sequence models
- Some advanced topics: large-scale pre-trained language modelsing (e.g. BERT), generative models, natural language generation, interpretability in NLP
- Proficiency in Python
This course requires some programming in both homeworks and the final project. The preference of programming language for this course is Python (with some additional packages like Scipy, Sklearn, and PyTorch).
- Calculus and Linear Algebra
Multivariable derivatives, matrix/vector notations and operations; singular value decomposition, etc.
- Probability and Statistics
Mean and variance, multinomial distribution, conditional dependence, maximum likelihood estimation, Bayes theorem, etc.
- Foundations of Machine Learning
Logistic regression, cross validation, optimization with gradient descent, bias and variance decomposition, etc.
Last updated on May 19, 2021