Algorithms for NLP

CMU CS 11711, Fall 2019

T/Th 1:30-2:50pm, Doherty Hall 1212

Yulia Tsvetkov (office hours: By Appointment, GHC 6405),
Robert Frederking (office hours: By Appointment, GHC 6515),

Teaching Assistants:
Anjalie Field (office hours: Tue 10-11am, GHC 5417),
Chan Young Park (office hours: Wed 3-4pm, GHC 5417),
Sachin Kumar (office hours: Mon 3-4pm, GHC 6708),

Forum: Piazza


This course will explore current statistical techniques for the automatic analysis of natural (human) language data. The dominant modeling paradigm is corpus-driven statistical learning, with a split focus between supervised and unsupervised methods. This term we are making Algorithms for NLP a lab-based course. Instead of homeworks and exams, you will complete four hands-on coding projects. This course assumes a good background in basic probability and a strong ability to program in Java. Prior experience with linguistics or natural languages is helpful, but not required. There will be a lot of statistics, algorithms, and coding in this class.

Slides, materials, and projects for this iteration of Algorithms for NLP are borrowed from Dan Jurafsky at Stanford, Dan Klein and David Bamman at UC Berkeley and Nathan Schneider at Georgetown University



The lecture plan is subject to change.

Week Date Topics Readings Homeworks
1 Aug 27 Course Introduction [slides] J+M II 1, M+S 1-3  
  Aug 29 Language Modeling I [slides] J+M II 4, M+S 6  
2 Sep 3 Language Modeling II [slides] Chen & Goodman, Interpreting KN P1: Language Modeling (Due Sept 24)
  Sep 5 Language Modeling III: Efficient Storage[slides] Massive Data, Bloom, Perfect, Efficient LMs 
3 Sep 10 Vector Semantics and Word Embeddings[slides] J+M III 6, Turney and Pantel'10, Brown 
  Sep 12 Word Embeddings II [slides] FastText, ELMo, BERT, XLNet  
4 Sep 17 POS Tagging, HMMs [slides] J+M 5, J+M III Appendix A, Collins notes, Brants, Toutanova & Manning  
Sep 19 POS Tagging, HMMs, NER II[slides]    
5 Sep 24Formal Grammar [slides]M+S 3.2, 12.1, J+M II 12, J+M III 11 P1 Due Today (11:59pm)
Sep 26Parsing I [slides] M+S 3.2, 11, 12.1, J+M II 13, 14, Unlexicalized
6 Oct 1 Parsing II [slides] J+M III Ch 14, Chen & Manning 2014, Dyer et al 2015 P2: Parsing (Due Oct 17)
Oct 3Parsing III [slides] Split, Lexicalized, K-Best A*
7 Oct 8 Structured Classification I [slides] Pegasos, Cutting Plane  
Oct 10 Structured Classification II [slides] J+M II 16, 18, 19, Adagrad, Subgradient SVM, Reranking for Semantic Parsing, Reranking for code generation  
8 Oct 15 Morphology; Features and Unification [slides_1], [slides_2] J+M II 3, J+M II 15 (Note: errors in textbook)
Oct 17 Representing Meaning [slides] J+M II 17, J+M II 18 (Note: errors in textbook) P2 Due Today (11:59pm), P3: Discriminative Reranking (Due Nov 5)
9 Oct 22 Recition 3 + CCG [slides] J+M II 12.7.2  
Oct 24 CCG [slides] J+M II 12.7.2  
Oct 24 CCG [slides] J+M II 12.7.2  
10 Oct 29 Lexical Semantics and Semantic Case Frames [slides] J+M II 19, 20.6-20.9 (Note: errors in textbook)  
  Oct 31Computational Discourse [slides] J+M II 21
11 Nov 5 No class: EMNLP P3 Due Today (11.59pm)
Nov 7No class: EMNLP
12 Nov 12 Class cancelled  
  Nov 14 Machine Translation: Alignment I[slides] J+M II 25, IBM Models, HMM, Agreement, Discriminative P4: Alignment for MT (EM) (Due Dec 3)
13 Nov 21 Summarization [slides]    
14 Nov 26 Sentiment Analysis [slides]    
Nov 28 Thanksgiving Break    
15 Dec 3 Computational Social Science (Topic Modeling) [slides] LDA, Comp Social Science P4 Due Today (11.59pm)
Dec 5 Computational Ethics[slides]  


The primary recommended texts for this course are:

Make sure you get the purple 2nd edition of J+M, not the white 1st edition.


This is a project based course and grading will be done based on 4 homework assignments each contributing to 25% of your final grade.

Project Submission

Submit projects using the class Canvas site.

  1. Prepare a directory named ‘project’ containing no more than 3 files: (a) a jar named ‘submit.jar’, (b) a pdf named ‘writeup.pdf’, and (c) an optional jar named ‘best.jar’. The jar named ‘submit.jar’ should contain your implementation of the core project that passes the basic requirements. For example, for project 1, the jar named ‘assign1-submit.jar’ is all that you would need to turn in – renaming it ‘submit.jar’. The pdf ‘writeup.pdf’ should contain your writeup for the project. Finally, the file ‘best.jar’ is an optional additional jar that implements the core project, but need not pass spot-checks. Include this last jar if you wish to demonstrate an improvement over the basic project, possibly using approximations are alternative models.

  2. Compress the ‘project’ directory you created in the last step using the command ‘tar cvfz project.tgz project’.

  3. Click on the assignments tab of the main Canvas course site and select the assignment corresponding to the project (e.g. Assignment 1 corresponds to Project 1). Click ‘Submit assignment’ button to open submission portal, then click ‘Choose file’ and select your compressed project directory ‘project.tgz’ created in the previous step. Finally, click the ‘Submit assignment’ button below.

Project Grading

Projects out of 10 points total:


Late policy. Each student will be granted 5 late days to use over the duration of the semester. There are no restrictions on how the late days can be used (e.g. all 5 could be used on one project.) Using late days will not affect your grade. However, projects submitted late after all late days have been used will receive no credit. Be careful!

Academic honesty. Homework assignments are to be completed individually. Verbal collaboration on homework assignments is acceptable, as well as re-implementation of relevant algorithms from research papers, but everything you turn in must be your own work, and you must note the names of anyone you collaborated with on each problem and cite resources that you used to learn about the problem. Suspected violations of academic integrity rules will be handled in accordance with the CMU guidelines on collaboration and cheating.

Note to Students

Take care of yourself! As a student, you may experience a range of challenges that can interfere with learning, such as strained relationships, increased anxiety, substance use, feeling down, difficulty concentrating and/or lack of motivation. All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of having a healthy life is learning how to ask for help. Asking for support sooner rather than later is almost always helpful. CMU services are available, and treatment does work. You can learn more about confidential mental health services available on campus at: Support is always available (24/7) from Counseling and Psychological Services: 412-268-2922.

Accommodations for Students with Disabilities:

If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at