CS224S: Spoken Language Processing

Spring 2025

Introduction to spoken language technology with an emphasis on dialog and conversational systems. Deep learning and other methods for automatic speech recognition, speech synthesis, affect detection, dialogue management, and applications to digital assistants and spoken language understanding systems.

Syllabus Canvas Ed Forum Assignments Project FAQ

Course Information

This course is designed around lectures, readings, and hands-on homework projects to give students practical experience building spoken language systems. We will use modern software tools and algorithmic approaches. There are no exams. We aim for each student to build something they are proud of.

There are four homeworks. Homework topics:

  1. Introduction to audio analysis tools, phonetic transcription, and modern spoken dialog systems
  2. Working with speech tools, transcripts, and synthesizng audio.
  3. Building a neural speech recognition model on conversational speech dataset.
  4. Fine tuning speech recognition base models and working with non-English speech.

Optional course project

Students have the option to propose and (with staff approval) execute a reasonably scoped speech processing project instead of homework 4. Projects will count for the same portion of the final grade as homework 4, but projects will qualify for additional extra credit points. For students interested in research, or already working on research related to the course, the project option allows students to align course work time and feedback with their research.

Course projects can range from algorithmic research with the goal of publishing academic papers, or designing and demonstrating spoken language systems. The course project replacement for homework 4 requires:

  • Submit a short proposal describing the proposed work and relevant research context (one page)
  • On the final scheduled day of lecture, present a five minute project spotlight talk to the class
  • Submit a short paper (aim for two to four pages). In additiona to the paper, demos, code, and audio/video samples welcome as it helps staff evaluate your work

There will be an overview and details for course projects in the early weeks of the quarter. IT IS SUGGESTED FOR STUDENTS TO DO HOMEWORK 4 UNLESS THEY FEEL STRONGLY ABOUT WORKING ON A COURSE PROJECT.

Logistics

Lectures are Mondays and Wednesdays, 4:30pm - 5:20pm Pacific time. The lecture venue is Gates room B1 map, which is on the lower level of Gates Computer Science Building and accessible via outside doors. Lectures will be held in person and students are strongly encouraged to participate in person. The course is offered to remote students as part of Stanford’s online courses link). Lectures are recorded and available only to registered students (see Canvas for videos).

Please use Ed Discussion for all communication related to the course. We encourage you to keep posts public when possible in order to prevent duplication. For private matters, please either make a private post visible only to the course instructors or email [email protected]. For longer discussions, we strongly encourage you to use office hours.

Course Staff

Instructors

Teaching Assistants

Office Hours

(See Canvas course calendar for Zoom links)

Andrew Maas: Monday 5:30 - 6:30 PM | In person. Lecture hall after class. Wednesday 6pm - 7pm Zoom
Jared Weissberg Monday 2:30 - 4:00 PM | In person. Huang Basement.
Johnny Chang Tuesday 1:30 - 3:00 PM | In person. Room 20-22K (Building 20, main quad. Map)
Tolúlọpẹ́ Ògúnrẹ̀mí Tuesday 3:00 - 4:30 PM | Zoom
Livia Sun Tuesday 5:00 - 6:30 PM | Zoom
Akshay Gupta Thursday 12:00 - 1:30 PM | Zoom
Salman Abdullah Thursday 3:00 - 4:30 PM | In person. | CoDa Basement
Ali Sartaz Khan Friday 10:30 AM - 12:00 PM | Zoom

Grading

  • Homeworks: 90%
  1. Homework 1: 20%
  2. Homework 2: 22%
  3. Homework 3: 23%
  4. Homework 4 (or course project): 25%
  • Participation: 10%
  1. Attending each of external speaker guest lectures in the course, or ask a question in advance on Ed if you are unable to attend.
  2. Ed contributions. We will award 2% to the top 10 Ed contributors. All other students will receive a fraction of 2% based on their contributions relative to the 10th highest contributor. (e.g. 0.5 * 2% for 50% contribution level compared with 10th highest student)

Late days

All assignments are to be submitted via our Gradescope. Each student will have a total of five (5) free late (calendar) days to use for homeworks. Once these late days are exhausted, any assignments turned in late will be penalized 20% per late day. However, no assignment will be accepted more than three (3) days after its due date. Each 24 hours or part thereof that a homework is late uses up one full late day. Please note that late days are applied individually. Submitting a project deliverable late costs each group member one late day per day.

Regrades

Regrades will also be handled through Gradescope. We will begin to accept regrade requests for an assignment the day after grades are released for a window of three days. We will not accept regrades for an assignment outside of that window. Regrades are intended to remedy grading errors, so regrade requests must discuss why you believe your answer is correct in light of the deduction you received. When you submit a regrade request, the grader may review your entire assignment, in which case you may lose points on other questions. Your score on an assignment may decrease if you submit for a regrade.

Prerequisites

  • Proficiency in Python. Homework assignments will be in a mixture of Python using PyTorch, Jupyter Notebooks, Amazon Skills Kit, and other tools. We attempt to make the course accessible to students with a basic programming background, but ideally students will have some experience with machine learning or natural language tasks in Python.

  • Foundations of Machine Learning and Natural Language Processing (CS 124, CS 129, CS 221, CS 224N, CS 229 or equivalent). You should be comfortable with basic concepts of machine learning and natural language processing. We do not strictly enforce a particular set of previous courses but students will have to fill in gaps on their own depending on background.

Useful Reference Texts

  • Dan Jurafsky and James H. Martin. Speech and Language Processing (3rd ed. draft) [link]
  • Yoav Goldberg. A Primer on Neural Network Models for Natural Language Processing [link]
  • Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. MIT Press. [link]
  • CS224N Python Tutorial [Notebook link] [Slides link]
  • CS224N PyTorch Tutorial [link]

Compute budget expectations

Several homeworks in this course use Python notebooks hosted and executed on Google Colab to run small experiments which include training speech and deep learning models. Many students use Colab already, or may run many experiments during course homeworks and run out of free compute time on Colab. We expect students to set aside $60 to cover compute credits on Colab (or a different way of accessing GPUs for homeworks). See Colab pricing page for more information. We believe students spending money on compute credits instead of purchasing a textbook is a better overall resource allocation for learning in this course (given we can access so many wonderful course texts for free).

Honor code

We encourage students to form study groups. Students may discuss and work on programming assignments and quizzes in groups. However, each student must write down the solutions independently, and without referring to written notes from the joint session. In other words, each student must understand the solution well enough in order to reconstruct it by him/herself. In addition, each student should submit his/her own code and mention anyone he/she collaborated with. It is also an honor code violation to copy, refer to, or look at written or code solutions from a previous year, including but not limited to: official solutions from a previous year, solutions posted online, and solutions you or someone else may have written up in a previous year. Furthermore, it is an honor code violation to post your assignment solutions online, such as on a public git repo.

AI Tools Policy

Students are required to independently submit their solutions for homework assignments. Collaboration with generative AI tools such as Co-Pilot and ChatGPT is allowed, treating them as collaborators in the problem-solving process. However, the direct solicitation of answers or copying solutions, whether from peers or external sources, is strictly prohibited. If you use tools to help complete the homework, please cite them in your report.

Employing AI tools to substantially complete assignments or the project is considered a violation of the Honor Code. For additional details, please refer to the Generative AI Policy Guidance here.

The Stanford Honor Code

The Stanford Honor Code as it pertains to CS courses