Ling 571: Deep Processing Techniques for NLP
TextbookThe course textbook is Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 2nd edition, by Daniel Jurafsky and James Martin. Recommended readings will also come from Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit by Steven Bird, Ewan Klein, and Edward Loper, which is available free online at http://nltk.org/book/.
- CS 326 (Data Structures) or equivalent
- Stat 391 (Probability and Statistics for CS) or equivalent
- Formal grammars, languages, and automata
- Programming in one or more of Java, Python, C/C++, or Perl
- Linux/Unix commands
GradesGrades will consist of:
- Five homeworks, worth 50 points each
- Two projects, worth 100 points each
The total number of points in the class is 450. Final grades on the 4-point grading scale will be calculated by dropping the lowest grade (half of the lowest grade if it is a project grade) and then dividing by 100.
For example, a student whose homework grades were 0, 40, 45, 47,
48, and whose project grades were 80 and 90, would be able to drop the 0 point homework,
and would receive a final grade of
A student whose homework grades were 40, 45, 45, 47, 48, and whose project grades were 70 and 95 would be able to drop half of the 70 point project, and would receive a final grade of
(40+45+45+47+48+35+95)/100 = 3.6.
This class benefits from active student participation. You can participate by asking (or answering) questions in class, coming to office hours, posting on the GoPost message board, etc. Up to 0.2 may be added to final scores for active participation in class.
Homework assignments must be submitted individually. Discussing the assignments with other students is encouraged, but you should list everyone that you discussed your solution with on the first page of your submission (in a comment for programming assignments).
Projects should be completed in pairs. Using existing libraries for small pieces of programming assignments is allowed, but using or copying someone else's implementation of main algorithms is not. All outside libraries that your solution depends on should be identified in comments in your code. When in doubt, ask and I will try to clarify which libraries are ok to use and which are not.
All assignments will be due for this class at 11:45pm on Friday nights. Late assignments will not be accepted for credit. Because it can be difficult to predict how much time you will need for debugging and finishing programming assignments, you are strongly encouraged to start early.
Instead of accepting late assignments with a penalty, we will drop your lowest homework grade (or half of your lowest project grade). This should give flexibility for those who encounter an unexpected hardship during one week.