CS 521: Statistical Natural Language Processing
|Natalie Parde (email@example.com)
|Tuesday 3:00 - 5:00 p.m.
What is this class about?
Modern natural language processing (NLP) is driven by statistical and neural methods. These techniques are leveraged in many everyday applications, including intelligent virtual assistants (e.g., Siri or Alexa) and generative AI (e.g., ChatGPT). This class will introduce advanced topics in data-driven NLP, and provide an overview of active research in relevant 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, advanced language modeling, machine translation, question answering, syntax, semantics, multilingual NLP, and multimodal NLP, among others.
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, 2023.
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.
This course acts as a middle ground between UIC's introductory, lecture-based NLP course (CS 421) and the advanced, seminar-style NLP courses (e.g., 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 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) presentation 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) presentation 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 ACL or related conference 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. Use the ACL proceedings template to format your paper (link available on Blackboard). 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)
- Proposal Presentation: 9%
- Project Source: 5%
- Project Video: 10%
- Project Report: 15%
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.
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.