Structured Prediction for Natural Language Processing

Fall 2015, CS 6741
Time: Monday and Wednesday, 2:55pm-4:10pm
Room: Gates 405 (Ithaca) / Touchdown (Tech)
Instructor: Yoav Artzi
Contact: Piazza Discussion Group [join here]
Office hours: by appointment (contanct instructor)

Robust language understanding has the potential to transform how we interact with computers, extract information from text and study language on large scale. However, to accurately recover the meaning of language, automated systems must learn to reason about the meaning of words and the intricate structures they combine to. This research-oriented course examines machine learning and inference methods for recovering structured representations of language meaning. Possible topics include formalisms, inference and learning for: sequence models (tagging, named-entity recognition), tree models (constituency and dependency parsing), mapping sentences to logical form representations and alignment models (machine translation).

Choosing among NLP courses: How do I know which one is right for me?

In 2015-2016, we are blessed with a plethora of NLP-related offerings! At the graduate level:

All three courses fulfill the same CS graduate course requirements. If you are truly passionate about NLP research, we would love to see you in all of these courses. For undergraduate courses on offer, consult the Cornell NLP course list.


Schedule and the details of the topics covered are subject to change.


Text Books

Course Procedures: Requirements, Grading, and Policies


The course will include an assignment, a class project, and, potentially, a paper presentaiton. There are two options for the course project: original research or paper re-implementation. The goal of original research is to generate a ACL-level research paper (ACL/NAACL/EMNLP/TACL are the top-tier venues for NLP research). Although publication is not a condition for success, the research question, evaluation and analysis must be at the level of an ACL paper. Negative results will be accepted. The goal of paper re-implementation is to take an existing well-written and influencial paper, re-implement it and study the approach, including re-creating the results, conducting further experiments and releasing a well-documented implementation (releasing is highly encouraged, but is not mandatory). The set of papers available for re-implementation will be posted in the beginning of the semester.


Your grade will be determined by the assignment (20%), participation (10%), and the class project (70%). We may add a paper presentation in class, which will be graded (10%), and then the class project will count towards 60% of the grade.


Collaboration: Collaboration policy will be announced in the beginning of the semester.

External code: For the final project you may use external code within certain limits. If you are doing a research project, you may use code to the extent that your project still makes a ACL-level contribution. If you are re-implmenting an existing paper, you may use external code similar to the original paper. For all other assignments, you may not use external code unless without explicit permission. If you are not sure, please consult the instructor on the discussion board.

Late policy: Each student has a total of two "slip days" that may be used for late submissions without penalty for assignments and the final project. If working in groups, late days count for all members of the group. For example, to submit one day late, each group member must have at least one late day left.

Prerequisites and Enrollment

Prerequisites: CS 2110 or equivalent programming experience, a course in machine learning (CS 4780/CS 5780, CS 6780 or equivalent). The course is open to master students with instructor permission. If you have any questions regarding enrollment, show up on the first day of class. Enrollment questions will be addressed then.