Algorithms for NLP is an introductory graduate-level course on the computational properties of natural languages and the fundamental algorithms for processing natural languages. The course will provide an in-depth presentation of the major algorithms used in NLP, including Lexical, Morphological, Syntactic and semantic analysis, with the primary focus on parsing algorithms and their analysis. The course is a recommended first-semester class for both the MLT and PhD in Language Technologies programs. The main objectives of the course are the following:
- Develop a thorough understanding of the principles and formal methods used in the design and analysis of language processing algorithms.
- Provide an in-depth presentation of the major algorithms used in NLP, including
Lexical, Morphological, Syntactic, and Semantic analysis, with the primary focus on parsing algorithms and their analysis.
Prerequisites & corequisites:
- Minimal exposure to syntax and structure of Natural Language (English)
- College-level course on algorithms
- College-level programming skills in some imperative and/or functional programming language.
- The self-paced Laboratory in NLP (11-712) is designed to complement this course with programming assignments on relevant topics. Students are encouraged to take the lab in parallel with the course or in the following semester.
- Introduction to Automata Theory, Languages, and Computation (Any edition is fine, but we recommend the latest one) By Hopcroft, Motwani, and Ullman -- It looks like this
- Speech and Language Processing" By Jurafsky and Martin (2nd Edition) -- Make sure you get the 2nd Edition It looks like this
- Linguistic Structure Predition By Smith -- You can get a free electronic copy from within the CMU network Here
You will also be expected to install certain software packages for use in this course. This software runs on Linux or Mac OSX. Homework Zero will be given to you on the first day of class with details. You will be expected to report any issues installing this software within the first week of class.
Course Mailing List
11711-fall15 (at) lists.andrew.cmu.edu
Schedule updates and other important announcements will be periodically sent out via the mailing list. You should ensure that you are subscribed to this list -- you are responsible for subscribing yourself. To subscribe to the list, visit the list info page. List subscribers also have posting (e-mail sending) access to the list.
Homework assignments will be handed out approximately every 2-3 weeks. Assignments will include problem solving, short essay questions, and coding tasks. Homework assignments will be due approximately 1-2 weeks after being handed out. You are to submit two hard copies of each homework assignment.
Typesetting: You must typeset your assignments; while you may draw figures if you wish, they must be neat and legible to receive credit for your work. Please attach any hand-drawn figures separately from your typeset assignments (this will enable you to print out revised versions of your typeset work if you discover an error after drawing figures).
Due Dates and Credit:
- Full credit by 5 pm on the due date.
- 10 point penalty next day by 5 pm (≤ 24 hours late).
- No credit after 5 pm the next day (> 24 hours late).
Academic Integrity Expectations
- Students are expected to strictly follow standard rules of academic integrity.
- Unless explicitly instructed otherwise, all handed in work must be performed individually.
- You may not copy the work of others, or any materials or solutions from previous years of the course, regardless of whether materials are publically available or not.
- Always cite the sources of any material that is not your own.
- In case of any doubt - ask the instructors for direction.
- Severe actions will be taken against students that violate the above policy, possibly resulting in course failure or dismissal from the program.