AIE1007: Natural Language Processing
What is this course about?
Recent advances have ushered in exciting developments in natural language processing (NLP), resulting in systems that can translate text, answer questions and even hold spoken conversations with us. This course will introduce students to the basics of NLP, covering standard frameworks for dealing with natural language as well as algorithms and techniques to solve various NLP problems, including recent deep learning approaches. Topics covered include language modeling, representation learning, text classification, sequence tagging, machine translation, Transformers, and others.
Grading
- Assignments (40%): There will be four assignments with both written and programming parts. Each homework is centered around an application and will also deepen your understanding of the theoretical concepts.
- Assignment 1: language models, text classification (10%)
- Assignment 2: word embeddings, sequence modeling (10%)
- Assignment 3: recurrent neural networks, feedforward neural networks (10%)
- Assignment 4: machine translation, Transformers (10%)
- Midterm exam (25%): The midterm will test your knowledge and problem-solving skills.
- Final project (35%): The final project offers you a chance to apply your newly acquired skills towards an in-depth application. You are required to turn in a project proposal and complete a paper written in the style of a conference (e.g., ACL) submission. There will be also project presentations at the end of the semester.
- Extra credit (5%): For participation in class and Ed discussion. Limited to overall score of max 100%.
Prerequisites:
- Required: AIE1001,AIE1006, knowledge of probability, linear algebra, multivariate calculus.
- Proficiency in Python: programming assignments and projects will require use of Python, Numpy and PyTorch.
Reading:
There is no required textbook for this class, and you should be able to learn everything from the lectures and assignments. However, if you would like to pursue more advanced topics or get another perspective on the same material, here are some books (all of them can be read free online):
- Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft).
- Jacob Eisenstein. Natural Language Processing
- Christopher Manning and Hinrich Schütze. Foundations of Statistical Natural Language Processing.