About
Table of contents
Goals of the Course
Natural language processing (NLP) seeks to endow computers with the ability to intelligently process human language. NLP components are used in conversational agents and other systems that engage in dialogue with humans, automatic translation between human languages, automatic answering of questions using large text collections and other kinds of data, the extraction of structured information from text, tools that help human authors, and many, many more. This course will teach you the fundamental ideas used in key NLP components. It is organized into several “greatest hits” topics, each with a more-or-less self-contained lecture and associated readings, problems, and implementation exercises.
At a high level, the instructor hopes for CSE 517 students to be able to draw the right inferences from what they see in the news (or a press release, or a job talk) about NLP.
447 vs. 517
The courses are similar in breadth and use the same lecture content. The projects are quite different; 447’s project is a predefined implementation problem that gives teams freedom in developing a solution. It is designed to encourage iterative improvement and an understanding of inherent tradeoffs in building an NLP system. 517’s project is more research-oriented; it asks teams to reproduce experiments in recently published NLP papers. Teams have great flexibility in the choice of a paper to reproduce.
Additionally, there will be differences in the assignments. In 2023, CSE 447 and CSE 517 are being taught separately.
Lectures
You are encouraged to come to live lectures and participate in the discussions. Videorecorded lectures from 2021 are provided as a supplementary resource and in case you can’t make it to a lecture (e.g., because you’re not feeling well). Note that the ordering of the lectures may be slightly different year to year, especially later in the quarter. Note that the field changes every year, so what’s presented live will become increasingly different as we move farther away from 2021 in time. Also, be warned that these lectures are “compressed” in the sense that they go about 30% faster than a live lecture with student participation. Most students will prefer to watch them in small segments, pausing frequently to take notes, and perhaps watch some segments again.
- Classification and multinomial logistic regression; with captions; transcript; slides
- Language modeling, especially with neural networks; with captions; transcript; slides
- Vector embeddings for documents and words; with captions; transcript; slides
- Morphology and weighted finite-state transducers; with captions; transcript; slides
- Sequence labeling and conditional random fields; with captions; transcript; slides
- Translation and sequence-to-sequence models; with captions; transcript; slides
- Syntax, semantics, and linguistic structure prediction; with captions; transcript; slides
Grades
You will be evaluated based on individually completed assignments (50%) and a project completed in a team of three (50%). Course staff may grant extra credit (up to 5%) to students who actively and meaningfully engage on the course discussion board.
Assignments
There will be five graded assignments, roughly one every two weeks. You are encouraged to complete all of them on time. If you submit an assignment within seven days of the due date, the TAs will calculate the grade you would have received if it had been on time, but you will receive a zero. Your total assignment grade will be calculated as a weighted sum of your five assignments’ grades. Most assignments will have a weight of one; your best assignment will be doubly weighted, and your worst assignment will get a weight of zero. (This means that your highest-graded assignments will be worth 20% of your grade, the middle three will be worth 10% of your grade apiece, and the lowest-graded assignment will be worth 0% of your grade.) Because we have built this slack into the grading system, and because you will still receive feedback on work that is slightly late, there will be no exceptions to our policy of zero credit for late work. Precise assignment deadlines are shown on the course calendar.
- Assignment 0, which is ungraded, is a tool for you to assess your preparedness for this course.
- Assignment A is designed to advance your understanding of text classification, feature design and selction, the evaluation of classifiers, the mathematics of some important classification models, frequency information in text data, and some mathematical properties of language models.
- Assignment B is designed to advance your understanding of language models, word embeddings, and NLP models that make use of them.
- Assignment C is designed to advance your understanding of ethical matters that arise in NLP and sequence models.
- Assignment D is designed to give you more practical hands-on experience with sequence labeling and understanding of structured problems in NLP that deal with segmentation, trees, and logical forms.
- Assignment E is designed to give you more practical hands-on experience with sequence-to-sequence methods.
Solving extra credit problems in an assignment increases your grade for that particular assignment.
NLP is now being deployed in exciting new settings, e.g., code generation. In the spirit of gaining a better understanding of such applications, you are allowed to use code-generation assistants for the assignments. If you do so, you must acknowledge their use the writeup, and include a paragraph describing your use and analyzing the experience. In short, how well did it work and what went wrong? Please also note that using such tools may imply donating your data to the companies that deployed them. Please take reasonable steps to avoid making our assignments easier in future iterations of the course (e.g., once the tool provides a correct answer, don’t give it positive feedback).
Project
Details on the project are given in the instructions document below. Project deliverables must be turned in on time; there will be zero credit for late submissions. Project deadlines are shown on the course calendar.
Computing
Please see information about computing resources here.
Resources
Enrichment lectures and more:
- Claire Cardie, Information Extraction Through the Years: How Did We Get Here?
- Yejin Choi, Intuitive Reasoning as (Un)supervised Neural Generation
- Charles Isbell, You Can’t Escape Hyperparameters and Latent Variables: Machine Learning as a Software Engineering Enterprise
- Kathy McKeown, Rewriting the Past: Assessing the Field through the Lens of Language Generation
- NLP Highlights podcast about new research in NLP
- UW NLP mailing list with info about local talks
- Reading list from a recent seminar on influential papers in NLP