Natural Language Processing
Fall, 2020
Instructor: Jackie Chi Kit Cheung
Time: Mondays and Wednesdays, 1:00pm – 2:30pm, Eastern Time
Location: Online
Office hours: TBD
TAs : TBD
This course presents an introduction to the computational modelling of natural language. Topics covered include: language modelling, syntactic parsing, lexical and compositional semantics, and discourse analysis. We will consider selected applications such as automatic summarization, machine translation, and speech processing. We will also study machine learning paradigms and algorithms that are used in natural language processing, including neural network architectures (primarily recurrent neural networks).
Prerequisites: MATH 323 or ECSE 305; COMP 251 or COMP 252.
Useful but not required: Background in artificial intelligence (e.g., COMP 424); introductory course in linguistics (LING 201).
General Information
- This course will be delivered remotely. The times listed above are the officially scheduled times from McGill. I will decide soon whether to hold live-streamed lectures or whether to release pre-recorded lectures. In either case, recordings of the lectures will be made available through MyCourses.
- Given the special, virtual format of the course, the nature of participation and evaluation will be different from the past. Expect more emphasis on reading and writing, and on the final project, and less emphasis on traditional closed-book examinations. Nevertheless, I expect to cover the same scope of course content as in past offerings of this course. I will also endeavour to create opportunities for you to interact virtually with the teaching team (i.e., myself and the TAs), and with each other. Stay tuned for more details!
- All course materials will be posted on MyCourses.
- Draft chapters of the course textbook (3rd edition of Speech and Language Processing by Jurafsky and Martin) are available here. The official 2nd edition should be available at the McGill Bookstore. Another recommended reference is Introduction to Natural Language Processing by Jacob Eisenstein. A pre-print shared by the author can be found here.
Frequently Asked Questions
I haven't taken MATH 323 or ECSE 305, or I have taken [X] instead of MATH 323. Can I still take the course?
MATH 323 is a prerequisite of this course, and it is not recommended to take this course without it. I do not in general take any special action to deregister students from the course, so it is up to you to figure out if you can handle the material. There will be little to no review of the assumed prerequisite material during the course. If you are unsure of your background and are an undergraduate student, consider taking COMP/LING 445 instead (see below).
What is the difference betwen COMP 550 and COMP/LING 445?
The two courses cover overlapping but complementary material, with differences in assumed background knowledge and focus. While some topics will appear in both courses, the emphasis will be different enough such that you can fruitfully take both courses (if you are an undergraduate student).
COMP 550 assumes more computational background, including deep familiarity with probability and algorithms. COMP 550 focuses on technological perspectives of natural language processing as a subdiscipline of artificial intelligence. It covers computational semantics, discourse, and applications such as automatic summarization and machine translation, which COMP/LING 445 does not.
COMP/LING 445 goes in depth into the fundamental and formal mathematical and linguistic principles that underlie modern computational linguistics, with an emphasis on applications in linguistic analysis. It draws connections to automata theory, and rigorously derives some of models that form the basic analytical toolbox of computational linguistics, which COMP 550 does not.