Answers to all of the quizes are posted (and will be updated accordingly) online here.
We used the following checklist as a guide in grading the submissions for Programming Assignment 1:
PA1 grading basis .
You need a SUNet ID to access this link
If you are submitting your quiz solutions after class, please use
Quiz Submissions .
You need a SUNet ID to access this link: only in the case that you do not have one would we be accepting submissions mailed in to the staff list henceforth.
The website has been updated for the Spring 2009 edition of the course. Links to previous year's notes are still available with a
|strikethrough through them, which will be removed in order to let you know when the links are updated.
This course is designed to introduce students to the fundamental
concepts and ideas in natural language processing (NLP), and to
get them up to speed with current research in the area. It
develops an in-depth understanding of both the algorithms
available for the processing of linguistic information and the
underlying computational properties of natural
languages. Word-level, syntactic, and semantic processing from
both a linguistic and an algorithmic perspective are
considered. The focus is on modern quantitative techniques in
NLP: using large corpora, statistical models for acquisition,
disambiguation, and parsing. Also, it examines and constructs
Adequate experience with programming and formal structures
(e.g., CS106B/X and CS103B/X).
Programming projects will be written in Java 1.5, so knowledge of
Java (or a willingness to learn on your own) is required.
Knowledge of standard concepts in artificial intelligence
and/or computational linguistics (e.g., CS121/221 or Ling
Basic familiarity with logic, vector spaces, and probability.
Graduate students and advanced undergraduates specializing in
computer science, linguistics, or symbolic systems.
Textbook and Readings
The required text is:
Daniel Jurafsky and James H. Martin. 2008.
Speech and Language Processing: An Introduction to
Natural Language Processing, Computational Linguistics and
Speech Recognition. Second Edition. Prentice Hall.
It's at the bookstore (and other purveyors of fine books).
Of course, I'm also fond of:
Christopher D. Manning and Hinrich Schütze. 1999. Foundations of Statistical Natural Language Processing.
Buy it at the Stanford Bookstore or
You can read the text
online on a Stanford network computer!
It's referred to as M&S in the syllabus. While a bit
it also has good and often distinct coverage of many
for supplementary information about the text, including errata,
and pointers to online resources.
Other useful reference texts for NLP are:
James Allen. 1995.
Natural Language Understanding.
Gerald Gazdar and Chris Mellish. 1989.
Natural Language Processing in X.
Addison-Wesley. [Where X = Prolog, Lisp, or, I
Frederick Jelinek. 1998.
Statistical Methods for Speech Recognition.
Other papers with relevant material will occasionally be
posted or distributed for appropriate class lectures.
Copies of in-class hand-outs, such as readings and programming
assignments, will be posted on the syllabus, and hard copies will also be
available outside Gates 158 (in front of Prof. Manning's
office) while supplies last.
Assignments and Grading
There will be three substantial programming assignments, each
exploring a core NLP task. They are a chance to see real,
close to state-of-the-art tools and techniques in action,
and where students learn a lot of the material of the class.
There will be a final programming project on a
topic of your own choosing.
Finally, there will be simple in-class quizzes based on the day's lecture, which
will aim to check that you are paying attention to what you hear/read.
Course grades will be
based 60% on programming assignments (20% each), 6% on the quizzes,
and 34% on the final project.
Be sure to read the policies on late days and collaboration.
Sections will be held most weeks to go over background
material, or to address issues related to the programming
assignments. Sections are optional, but students are
encouraged to attend for a better understanding of background
material and the assignments.
Facebook: CS224N Group
Post less time-critical questions, meet your classmates, find partners, etc. here.
Staff mailing list:
Announcements mailing list:
Enrolled students are automatically subscribed.
Others wishing to receive announcements should
go to mailman.stanford.edu, and subscribe to
Assignment 1 (due 4/15/09)
Assignment 2 (due 4/29/09)
Assignment 3 (due 5/13/09)
Late Day Policy
The Stanford NLP Group
Linguistic Corpora at Stanford
Statistical NLP links
Probabilistic parser links
Java 1.5 Overview
Java 1.5 New Features