CS 521: Statistical Natural Language Processing
Spring 2022
Contact Information
What is this class about?
Natural language processing (NLP) is increasingly driven by statistical and neural methods. These techniques are leveraged in many everyday applications, including intelligent virtual assistants (e.g., Siri or Alexa), machine translation systems (e.g., Google Translate), and language models (such as those used for predictive text). This class will introduce advanced topics in statistical and neural NLP, and provide an overview of active research in those topic areas, through a combination of readings, paper presentations and critiques, and a semester-long project. Topics covered will include data collection, common deep learning architectures for NLP, machine translation, question answering, automated speech recognition, syntax, semantics, multilingual NLP, and multimodal NLP, among others.
Textbooks
Readings for the first part of the semester will be drawn from the following source:
-
Daniel Jurafsky and James H Martin. Speech and Language Processing (3rd Edition). Draft, 2021.
Note that this resource is a draft of the upcoming third edition of
Speech and Language Processing. Chapter order and content is subject to change throughout the semester (I'll try to update the course website whenever I notice this occurring, but feel free to ping me if you think something seems out of date). Readings for the second part of the semester will be drawn primarily from journals and conference proceedings. Some suggested papers for each topic in the second part of the semester are provided in the course syllabus. You are welcome to present a paper that is not in the list of suggestions, as long as I approve it.
Assignments
This course acts as a middle ground between UIC's introductory, lecture-based NLP course (CS 421) and the advanced, seminar-style NLP courses (CS 532) offered by the department. The coursework will be closer to what you would expect to find in a seminar-style course, but the general format of the class will contain elements of both. For the first portion of the semester, lectures will be given about different statistical and neural techniques that are common in natural language processing, both at a fundamental level (e.g., deep learning architectures) and for specific applications (e.g., question answering). For the second portion of the semester, students will present and critique research from recent NLP papers. Some further details about the work you will be expected to complete for this course are provided below:
- Paper Critiques: Most "research" weeks, you will submit a short (~ one page) critique of one of the papers being presented and discussed. You will also do this once in the first part of the semester, critiquing a paper of your choice that is relevant to one of the lecture topics covered thus far. The critique should include a brief summary of the paper, highlights of aspects of the paper that are particularly good or should be improved, an analysis of the soundness of the methodology and evaluation, and an explanation of whether or not the conclusions drawn by the authors are justified. I've posted several example paper critiques on Blackboard to provide some guidance as to what a good paper critique might look like. You will need to submit a total of six paper critiques (one in the first part of the semester, and five in the second part of the semester).
- Paper Presentation: You will present an in-person or video overview and critical analysis of one paper in the second part of the semester. The video should summarize the work, present the paper's strengths, and (diplomatically!) present its weaknesses. I've posted an example presentation slide deck on Blackboard to provide some guidance as to what this might look like; however, feel free to creatively incorporate the required material however you prefer. Paper presentations should be 20-25 minutes long.
- Paper Discussion: You will contribute to intriguing discussions of the papers presented during research weeks, either synchronously (during in-class discussion periods) or asynchronously (by engaging in meaningful discussion on the paper's dedicated Piazza post). You will need to contribute to synchronous or asynchronous discussion for at least five papers (spread across at least five separate "research" weeks). Feel free to contribute more beyond that when papers interest you!
- Project: A central component of this course is the semester-long project. You may complete your project individually or in pairs (if completing the project in a pair, the workload should scale accordingly). You'll be afforded considerable flexibility in selecting your project topics—ideally, if you're working on a thesis or dissertation, you'll be able to incorporate the work resulting from this course into your research. The project will comprise four different deliverables:
- Proposal: You will create a short (5 minutes, or up to 10 minutes if working in a pair) in-person presentation or video detailing your plans and defining your research objectives, due at the end of the first part of the semester.
- Project Source: You will submit the source code (either directly or through a link to the repository) used for your project, along with well-documented instructions for replicating the work.
- Project Presentation: You will create a moderate-length (10 minutes, or up to 20 minutes if working in a pair) in-person presentation or video discussing your methodology, evaluation, and key findings to the class. The format of this presentation should be similar to what you would see in a conference or workshop presentation. Feel free to browse the ACL Anthology for this year's ACL presentation videos as inspiration.
- Project Report: You will write a conference/journal-style paper about your project, including a literature review, methodology, evaluation, and conclusions. The formatting can vary, depending on which venue you're writing it for ...you can view this as an easy way to have a paper ready to submit by the end of the semester, complete with feedback from a faculty member! Project reports should range from 2500-4500 words, not including references.
Grading rubrics are posted on Blackboard. Final course grades will be determined according to the following breakdown:
- Research Discussion:
- Paper Presentation: 15%
- Paper Discussion: 10% (2% per week)
- Paper Critiques: 36% (6% per paper critique; one in lecture weeks and five in research weeks)
- Project:
- Proposal Presentation: 9%
- Project Source: 5%
- Project Video: 10%
- Project Report: 15%
Schedule
The most recent version of the course schedule is available below. This schedule is subject to change ...check back regularly for updates!
All deadlines are at 12 p.m. (noon) unless otherwise stated.
Week |
Topic |
Readings |
Deliverables |
Slides |
1/10 - 1/14 |
Introduction and Data Collection |
— |
— |
Data Collection
|
1/17 - 1/21 |
Deep Learning Architectures for Sequence Processing |
Chapter 9 |
— |
Deep Learning Architectures for Sequence Processing
|
1/24 - 1/28 |
Machine Translation and Encoder-Decoder Models |
Chapter 10 |
1/28: Paper Critique (Topic from 1/10 - 1/28) |
Machine Translation and Encoder-Decoder Models
|
1/31 - 2/4 |
Transfer Learning with Contextual Embeddings |
Chapter 11 |
1/31: Paper Selection Deadline |
Transfer Learning with Pretrained Language Models and Contextual Embeddings
|
2/7 - 2/11 |
Question Answering, Automated Speech Recognition, and Text-to-Speech |
Chapters 23 and 26 |
— |
Question Answering, Automated Speech Recognition, and Text-to-Speech
|
2/14 - 2/18 |
Project Proposals |
— |
2/15 or 2/17: Project Proposal |
— |
2/21 - 2/25 |
Representation Learning |
Research Papers |
— |
— |
2/28 - 3/4 |
Syntax |
Research Papers |
2/28: Paper Critique |
— |
3/7 - 3/11 |
Semantics |
Research Papers |
3/7: Paper Critique |
— |
3/14 - 3/18 |
Multilingual and Low-Resource NLP |
Research Papers |
3/14: Paper Critique |
— |
3/21 - 3/25 |
Spring Break |
— |
— |
— |
3/28 - 4/1 |
Multimodal NLP |
Research Papers |
3/28: Paper Critique |
— |
4/4 - 4/8 |
Ethics and NLP |
Research Papers |
4/4: Paper Critique |
— |
4/11 - 4/15 |
Computational Social Science and NLP Applications |
Research Papers |
4/11: Paper Critique |
— |
4/18 - 4/22 |
Project Presentations |
— |
4/18: Project Source |
— |
4/25 - 4/29 |
Project Presentations |
— |
4/29: Project Report |
— |
5/2 - 5/6 |
Finals Week (No Class) |
— |
— |
— |
Final Notes
This website is provided partially for student convenience, partially for my own record-keeping purposes, and partially for the benefit of others who are not able to enroll in the course but who may find the content interesting for one reason or another. It is not a substitute for the course page on Blackboard or the course discussion board on Piazza! Please refer to those sources for copies of the full syllabus, assignments, grading rubrics, submission links, and other useful information. If you are not enrolled in the course but would like to request access to those materials, please send me an email introducing yourself and explaining why you would like to have access to them.
Happy studying!