Menu

CSE 40657/60657
Natural Language Processing

Term
Fall 2017
Time
MWF 11:30am–12:20pm
Room
DeBartolo 310

Computers process massive amounts of information every day in the form of human language. Although they do not understand it, they can learn how to do things like answer questions about it, or translate it into other languages. This course is a systematic introduction to the ideas that form the foundation of current language technologies and research into future language technologies.

The official prerequisites for the course are Data Structures (CSE 30331) and Theory of Computing (CSE 30151); the latter can be taken concurrently. Programming assignments will be done in Python. Familiarity with basic linear algebra, multivariable (differential) calculus, and probability theory are advised.

Schedule

Unit Week Assignment Mon Wed Fri
1
08/23
Language
08/25
Probability
Getting Language 2 Submit project idea
08/28
Language models
Finite automata
08/30
Smoothing
09/01
Recurrent neural networks
3
09/04
Text input
Finite transducers and composition
09/06
Viterbi algorithm
09/08
continued
4 Submit HW1: Text input
09/11
Text normalization
Unsupervised training
09/13
continued
09/15
continued
5
09/18
Phonetics and phonology
09/20
Speech recognition
09/22
Character and handwriting recognition
Analyzing Language 6 Submit HW2: Text correction
09/25
Syntax
09/27
Morphology
09/29
Part-of-speech tagging
7
10/02
Context-free grammars
10/04
CKY algorithm
10/06
continued
8 Submit project baseline
10/09
Adding annotations
10/11
Unsupervised annotation
10/13
Beyond CFGs
Fall break
Understanding Language 9
10/23
Text classification
Bag of words
10/25
Topic modeling
Word embeddings
10/27
Projects
10 Submit HW3: Parsing
10/30
Entity recognition
11/01
Graph semantics and graph grammars
11/03
Projects
11
11/06
Logical semantics
11/08
continued
11/10
Projects
Generating Language 12 Submit HW4: Classification or entity recognition
11/13
Generation
11/15
continued
11/17
Projects
13
11/20
Word-based machine translation
Thanksgiving
14 Submit HW5: Alignment or translation
11/27
Syntax-based machine translation
Synchronous CFGs
11/29
continued
12/01
Projects
15
12/04
Adding a language model
12/06
Conclusion
Final Submit project report

Grading

Your work in this course consists of five homework assignments, a research project, and participation (whether you come to class, whether you appear to be paying attention, and whether you appear to have done the readings).

requirement points
homeworks 5 × 30
project 4 × 30
participation 30
total 300
letter gradepoints
A 280–300
A− 270–279
B+ 260–269
B 250–259
B− 240–249
C+ 230–239
C 220–229
C− 210–219
D 180–209
F 0–179

Policies

Honor Code

All students are expected to abide by the University's Academic Code of Honor. All work that you submit must be your own. You may discuss assignments with other students or refer to books or websites. You may not write solutions with other students or anyone else, nor may you copy solutions from any source.

Late Submissions

In the case of a serious illness or other excused absence, as defined by university policies, coursework submissions will be accepted late by the same number of days as the excused absence. Otherwise, you may submit part of an assignment on time for full credit and part of the assignment late, for a penalty of 50% per week. No work may be submitted after the final project due date.

Students with Disabilities

Any student who has a documented disability and is registered with Disability Services should speak with the professor as soon as possible regarding accommodations. Students who are not registered should contact the Office of Disability Services.