Stanford CS224S / LINGUIST285 - Spoken Language Processing

Course will not be offered in Spring 2020 due to the evolving public health situation surrounding COVID-19. Apologies to students, we were unable to adapt the course to run successfully given current conditions. If you needed this course in order to graduate, please contact Meredith Hutchin in CS or Andrew Maas.

We plan to offer this course in the 20-21 academic year (quarter TBD). We will be spending spring quarter building some new datasets and homeworks to improve the course for next year. Stay healthy and safe everyone!

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.

This year the course will pilot some new homeworks that leverage recent industry tools for dialog systems and modern end-to-end deep learning approaches. Homeworks will include:

  • Python notebook exercises for basic tools to work with audio and phonetics
  • Building a complete dialog system using Amazon Alexa Skills Kit
  • Building a speech recognition system with open source speech recognition toolkits
  • Implementing end-to-end neural network approaches to speech recognition in Python with PyTorch

Course projects can range from algorithmic research with the goal of publishing academic papers, or designing and demoing complete dialog systems.

Course Instructor

Andrew Maas

amaas@cs.stanford.edu

Course Assistants

TBD

Class Time and Location

No longer offered in Spring 2020. Next offering TBD in 20-21 academic year

Lecture: TBD

Location: TBD

Office Hours

Times TBD

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]

Grading Policy

The class will consist of four homeworks and a final project. Students are expected to attend lecture and participate in discussions in lecture, office hours, and Piazza.

Final grades will be computed using the following weights for each assignment:

  • Homework 1: 10%
  • Homework 2: 14%
  • Homework 3: 13%
  • Homework 4: 13%
  • Final Project: 40%
  • Class Participation: 10% (includes class attendance, Piazza participation, and completing small activities)

Frequently Asked Questions

Can I take this course on credit/no credit basis?

Yes. If you take the class credit/no credit then you are graded in the same way as those registered for a letter grade. The only difference is that, providing you reach a C- grade or above in your work, it will simply be recorded as CR.

Will there be lecture videos available online?

No. This year we are piloting new content and trying some interactive activities during lecture time. It’s possible that some future iteration of the course will be recorded and available online.

Can I sit in on lectures?

In general we are happy for guests to sit-in on lectures if they are a member of the Stanford community (registered student, staff, and/or faculty). If the class is too full and we’re running out of space, we ask that you please allow registered students to attend.

I need an academic accommodation, who should I contact?

If you need an academic accommodation based on a disability, you should initiate the request with the Office of Accessible Education (OAE). The OAE will evaluate the request, recommend accommodations, and prepare a letter for faculty. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations.

Can I combine the Final Project with another course?

Yes, you may with permission. If you are taking a related class, please speak to the instructors to receive permission to combine the Final Project assignments.