COMP 4221 - Fall 2015

Fall 2015, COMP 4221 Introduction to Natural Language Processing [3-0-1:3]
Lecture 1, MoWe 10:30-11:50, LTF
Prof. Dekai WU, Rm 3539, 2358-6989,

Lab 1A TA: Meriem BELOUCIF, Tu 18:00-18:50, Rm 1009, LSK Bldg,

You are welcome to knock on the door of the instructor any time. The TAs' office hours are posted at


Welcome to COMP4221 for UGs and COMP5221 for PGs! (The COMP4221 course was formerly called COMP300H and COMP326, and the COMP5221 course was formerly called COMP526.) Tutorials will begin after Week 2.

Always check the Discussion Forum for up-to-the-minute announcements.

Discussion forum is at Always read before asking/posting/emailing your question. This forum is based on modern software, instead of using the old clunky ITSC newsgroup. You must register for your account at the first lecture, tutorial, or lab.
Course home page is at
Tutorial info is at


< hx:include src=html/outcomes.html>

Abbreviated Course Catalog Description

COMP 4221. Human language technology for text and spoken language. Machine learning, syntactic parsing, semantic interpretation, and context-based approaches to machine translation, text mining, and web search.

Course Description

Human language technology for processing text and spoken language. Fundamental machine learning, syntactic parsing, semantic interpretation, and context models, algorithms, and techniques. Applications include machine translation, web technologies, text mining, knowledge management, cognitive modeling, intelligent dialog systems, and computational linguistics.



To receive a passing grade, you are required to sign an honor statement acknowledging that you understand and will uphold all policies on plagiarism and collaboration.


All materials submitted for grading must be your own work. You are advised against being involved in any form of copying (either copying other people's work or allowing others to copy yours). If you are found to be involved in an incident of plagiarism, you will receive a failing grade for the course and the incident will be reported for appropriate disciplinary actions.

University policy requires that students who cheat more than once be expelled. Please review the cheating topic from your UST Student Orientation.

Warning: sophisticated plagiarism detection systems are in operation!


You are encouraged to collaborate in study groups. However, you must write up solutions on your own. You must also acknowledge your collaborators in the write-up for each problem, whether or not they are classmates. Other cases will be dealt with as plagiarism.


The course will be graded on a curve, but no matter what the curve is, I guarantee you the following.

If you achieve 85% you will receive at least a A grade.
75% B
65% C
55% D

Your grade will be determined by a combination of factors:

Midterm exam ~20%
Final exam ~25%
Participation ~5%
Assignments ~50%


No reading material is allowed during the examinations. No make-ups will be given unless prior approval is granted by the instructor, or you are in unfavorable medical condition with physician's documentation on the day of the examination. In addition, being absent at the final examination results in automatic failure of the course according to university regulations, unless prior approval is obtained from the department head.

There will be one midterm worth approximately 20%, and one final exam worth approximately 25%.


Science and engineering (including software engineering!) is about communication between people. Good participation in class and/or the online forum will count for approximately 5%.


All assignments must be submitted by 23:00 on the due date. Scheme programming assignments must run under Chicken Scheme on Linux. Assignments will be collected electronically using the automated CASS assignment collection system. Late assignments cannot be accepted. Sorry, in the interest of fairness, exceptions cannot be made.

Programming assignments will account for a total of approximately 50%.


All information for tutorials is at


Date Wk Event Topic

2015.09.09 2 Lecture Does God play dice? Assumptions: scientific method, hypotheses, models, learning, probability
Admiinistrivia (honor statement, HKUST classroom conduct)
2015.09.14 3 Lecture Languages of the world
2015.09.15 3 Lecture Linguistic relativism and the Sapir-Whorf hypothesis; inductive bias, language bias, search bias; the great cycle of intelligence [18:00 LSK 1009]
2015.09.21 4 Lecture Is machine translation intelligent? Interactive simulation
2015.09.22 4 Lecture Learning to translate: engineering, social, and scientific motivations [at tutorial]
2015.09.23 4 Lecture "It's all Chinese to me": linguistic complexity; challenges in modeling translation
2015.09.28 5 Holiday Day after Mid-Autumn Festival
2015.09.29 5 Lecture Evaluating translation quality: adequacy, fluency, fidelity, speed, memory, n-grams, BLEU [at tutorial]
2015.09.30 5 Lecture Evaluating translation quality: case frames, semantic frames, semantic role labeling, predicate-argument structure
2015.10.05 6 Lecture Evaluating translation quality: alignment; aligning semantic frames: Interactive exercise
2015.10.06 6 Lecture Evaluating translation quality: HMEANT [at tutorial]
2015.10.07 6 Lecture Evaluating translation quality: MEANT
2015.10.12 7 Lecture Anagrams
2015.10.13 7 Lecture Bag translation [at tutorial]
2015.10.14 7 Lecture Markov models, n-gram models
2015.10.19 8 Lecture Uninformed search; Dijkstra's shortest path algorithm
2015.10.20 8 Lecture Anagrams with replacement; Chinese anagrams[at tutorial]
2015.10.21 8 Holiday Chung Yeung Festival
2015.10.26 9 Lecture Word n-grams
2015.10.27 9 Lecture HMM/SFSA/WFSA: hidden Markov models, finite-state models; parts of speech
2015.11.04 10 Exam Midterm
2015.11.09 11 Lecture HMM/SFSA/WFSA: generation vs recognition/parsing; converting state-based to transition based FSAs
2015.11.11 11 Lecture Segmental HMM/SFA/WFSAs; WFST: finite-state translation models
2015.11.16 12 Lecture HMM/SFSA/WFSA: formalization for Viterbi decoding and evaluation [slides]
2015.11.17 12 Lecture HMM/SFSA/WFSA: forward algorithm, backward algorithm, expectations
2015.11.18 12 Lecture HMM/SFSA/WFSA: forward-backward algorithm, expectation maximization (EM) algorithm
2015.11.23 13 Lecture Alignment [article]; HMM alignment; Intro to functional programming and Scheme [slides]
2015.11.25 13 Lecture AND/OR graphs; FSGs (finite-state grammars); segmental FSGs; CFGs (context-free grammars); segmental CFGs
2015.11.30 14 Lecture Transduction grammars; inversion transduction grammars [article]; The magic number 4: how the generative capacity of ITGs explains the evolution of semantic frame structure [article]
2015.12.18 15 Exam COMP4221 Final [G010, CYT Bldg, 12:30-15:30]

Background review
Last updated: 2015.12.01