Course Description

CS 11-711
Language Technologies Institute, School of Computer Science
Carnegie Mellon University
Tuesday/Thursday 1:25-2:45PM, Tepper 1101B or Zoom (see Piazza for zoom link)

Instructors/TAs:

(See Piazza for Office Hours)

Instructors:
Graham Neubig (gneubig@cs.cmu.edu)
Robert Frederking (ref@cs.cmu.edu)

TAs: (cs11-711-fa2021-tas@cs.cmu.edu)
  Brendon Boldt
  Shikib Mehri
  Frank F. Xu
  Zhisong Zhang
  Shuyan Zhou
  Hao Zhu
Questions and Discussion: Ideally in class or through piazza so we can share information with the class, but emailing the TA mailing list and coming to office hours are also encouraged.

Course Description

Advanced natural language processing is an introductory graduate-level course on natural language processing aimed at students who are interested in doing cutting-edge research in the field. In it, we describe fundamental tasks in natural language processing such as syntactic, semantic, and discourse analysis, as well as methods to solve these tasks. The course focuses on modern methods using neural networks, and covers the basic modeling and learning algorithms required therefore. The class culminates in a project in which students attempt to reimplement and improve upon a research paper in a topic of their choosing.

Pre-requisites: There are no hard pre-requisites for the course, but programming experience in Python and knowledge of probability and linear algebra are expected. It will be helpful if you have used neural networks previously.

Class format: For the time being the class is expected to be in-person, although this might change depending on the COVID situation. For each class there will be:

  • Reading: Most classes will have associated reading material that we recommend you read before the class to familiarize yourself with the topic.
  • Lecture and Discussion: There will be a lecture and discussion regarding the class material. This will be recorded and posted online for those who cannot make the in-person class.
  • Code/Data Walk: Some classes will include a code walk through code of a particular implementation, or data.
  • Quiz: There will be a quiz covering the reading material and/or lecture material that you can fill out on Canvas for one or two days.

Grading: The assignments will be given a grade of A+ (100), A (96), A- (92), B+ (88), B (85), B- (82), or below. The final grades will be determined based on the weighted average of the quizzes, assignments, and project. Cutoffs for final grades will be approximately 97+ A+, 93+ A, 90+ A-, 87+ B+, 83+ B, 80+ B-, etc., although I reserve some flexibility to change these thresholds slightly.

  • Quizzes: Worth 20% of the grade. Your lowest 3 quiz grades will be dropped.
  • Assignments: There will be 4 assignments (the final one being the project), worth respectively 15%, 15%, 20%, 30% of the grade.
The details of the assignments are elaborated on the assignments page.

Class Format:

This class will be taught as an "in-person rotation" which means that you can join in person (on days when it is your turn to be in the rotation), or zoom (any day). In the case where you are unable to come to class, please join via zoom. In the case where the instructor is unable to come to class, the lecture may be held entirely via zoom, and information regarding this will be posted as an announcement on Piazza beforehand.