Course Specifications for
CS 388 Natural Language Processing
When & Where: Spring 2014, MW 3:30-5:00PM, GDC 4.304
Unique Number: 53955
Professor: Raymond Mooney,
3.512, 471-9558, firstname.lastname@example.org
Office Hours: Tuesday & Thursday, 2-3PM
Teaching Assistant (TA):
TA Office Hours:
- Class Email Alias: email@example.com
Prerequisites: Basic knowledge of formal-language/automata
theory (i.e. regular and context-free grammars), artificial intelligence
(i.e. search, logic, and knowledge representation), and Java Programming.
Knowledge of machine learning will be extremely useful but not strictly
Jurafsky and Martin,
SPEECH and LANGUAGE PROCESSING: An Introduction to Natural Language
Processing, Computational Linguistics, and Speech Recognition, Second
Edition, McGraw Hill, 2008.
Recommended Supplementary Text:
Manning and Schütze,
Foundations of Statistical Natural Language Processing,
MIT Press. Cambridge, MA: May 1999.
The intent of the course is to present a fairly broad graduate-level
introduction to Natural Language Processing (NLP, a.k.a. comptuational
linguistics), the study of computing systems that can process, understand, or
communicate in human language. The primary focus of the course will be on
understanding various NLP tasks as listed on the course
syllabus, algorithms for effectively solving these problems, and methods
for evaluating their performance. There will be a focus on statistical
learning algorithms that train on (annotated) text corpora to automatically
acquire the knowledge needed to perform the task. Class lectures will discuss
general issues as well as present abstract algorithms. Implemented versions of
some of the algorithms will be provided in order to give a feel for how the
systems discussed in class "really work" and allow for extensions and
experimentation as part of the course projects.
Course Requirements and Grading
Chapters from the text and a few other readings will be assigned throughout the
semester, and the reading should be done before the corresponding class.
Copies of the class lecture slides (in Powerpoint) will be available on the course home page. There will be about four homework
assignments, a midterm exam, and a final research project.
To encourage and evaluate class participation, at the end of each week, each
student should electronically submit a short insightful question or comment
about that week's lectures and/or reading. These are due the Saturday after
each full class week and simply graded as "not submited or bad" (0), "OK" (1),
"good" (2), or "very good" (3). The first class of the next week I will
discuss a selection of the "good"/"very good" questions. This should not
discourage questions during class, in fact, you are encouraged to submit a
question you already asked in class that week. This just gives you an
additional chance to think of a good question off-line.
The homework assignments will involve some programming involving using and
building upon existing NLP software packages, and running comptuational
experiments to evaluate and analyze these systems. All programming assignments
will be in Java. If you do not know Java, you will need to learn it on your
own. You can use your student account on the department workstations or any
other Java platform available to you (however, we will only provide support for
running on departmental Unix machines). If you are not a CS student and need a
temporary department account, apply on the web here.
The midterm exam, tentatively scheduled during class on Wed. March 5 will
consist of a mix of problem solving and short answer questions covering the
material in the first half of the course.
The final project can be a more ambitious experiment or enhancement involving
an existing NLP system or a new system implementation. In either case, the
implementation and/or experiments should be accompanied by a short paper (about
6 to 7 single-spaced pages) describing the project. An outline for the project
report is available here and on the course home page. About a month in advance, you will
be asked to submit a one-page project proposal.
Late Submission and Cheating Policies
Homework assignments should be completed independently by each student
and any program code should always be appropriately commented. Assignments are
due at the beginning of class on the due date. In order to leave time to get
to class on time, the deadline for on-line submissions is 15 minutes prior to
the start of class. Be sure to hand in assignments on time, late penalties are
a loss of a percentage of the original overall points for the assignment: 1
Day: 15%, 2 Days: 40%; 3 Days: 75%; past 3 days: 100%. A day is a 24 hour
period starting at the beginning of class and includes all weekend days and
The strong preference is for team final projects from pairs of 2 students; however,
inidividual projects done by 1 or 3 students are possible with prior approval
of the instructor.
Read the department's
academic policy page. Students who demonstrably violate the Academic
Honesty policy will receive a failing grade in the class.
The final grade will be computed as follows:
24% Midterm Exam
33% Final Project
7% Class Participation (Questions of the Week)