This course provides an introduction to the field of Natural Language Processing. It includes relevant background material in Linguistics, Mathematics, Probabilities, and Computer Science. Some of the topics covered in the class are Text Similarity, Part of Speech Tagging, Parsing, Semantics, Question Answering, Sentiment Analysis, and Text Summarization.
The course includes quizzes, programming assignments in Python, and a final exam.
Week One (Introduction 1/2) (1:35:31)
Week Two (Introduction 2/2) (1:36:26)
Week Three (NLP Tasks and Text Similarity) (1:42:52)
Week Four (Syntax and Parsing, Part 1) (1:48:14)
Week Five (Syntax and Parsing, Part 2) (1:50:29)
Week Six (Language Modeling and Word Sense Disambiguation) (1:40:33)
Week Seven (Part of Speech Tagging and Information Extraction) (1:33:21)
Week Eight (Question Answering) (1:16:59)
Week Nine (Text Summarization) (1:33:55)
Week Ten (Collocations and Information Retrieval) (1:29:40)
Week Eleven (Sentiment Analysis and Semantics) (1:09:38)
Week Twelve (Discourse, Machine Translation, and Generation) (1:30:57)
The course assignments will all be in Python.
The class will consist of lecture videos, which are typically between 10 and 25 minutes in length. The lectures contain 1-2 integrated quiz questions per video. Grading is based on three programming assignments, weekly quizzes, and a final exam.
Week One: Introduction 1/2 In Week One, you will be watching an introductory lecture that covers the motivation for NLP, examples of difficult cases, as well as the first part of the Introduction to Linguistics needed for this class.
Week Two: Introduction 2/2 Week Two will cover Parts of Speech, Morphology, Text Similarity, and Text Preprocessing. I will also introduce NACLO, the North American Computational Linguistics Olympiad (www.nacloweb.org), a competition for high school students interested in NLP and Linguistics.
Week Three: NLP Tasks and Text Similarity Week Three will cover Vector Semantics, Text Similarity, and Dimensionality Reduction. I will also go through a long list of sample NLP tasks (e.g., Information Extraction, Text Summarization, and Semantic Role Labeling) and introduce each of them briefly.
Week Four: Syntax and Parsing, Part 1 Week Four will cover the basics of Syntax and Parsing, including CKY parsing and the Earley parser.
Week Five: Syntax and Parsing, Part 2 Week Five will continue with topics related to parsing, including Statistical, Lexicalized, and Dependency Parsing as well as Noun Sequence Parsing, Prepositional Phrase Attachment, and Alternative Grammatical Formalisms.
Week Six: Language Modeling Week Six will cover Probabilities, Language Modeling, and Word Sense Disambiguation (WSD). The first two, along with some material coming up in Week Seven, will be the basis for Assignment 2. The WSD unit will be needed later for Assignment 3.
Week Seven: Part of Speech Tagging and Information Extraction Week Seven includes the Noisy Channel Model, Hidden Markov Models, Part of Speech Tagging (all needed for the second programming assignment) and a short introduction to Information Extraction.
Week Eight: Question Answering Week Eight covers different topics related to Question Answering, including Question Type Classification and Evaluation of Question Answering Systems.
Week Nine: Text Summarization Week Nine covers Text Summarization and related topics such as Sentence Compression.
Week Ten: Collocations and Information Retrieval Week Ten covers Information Retrieval (including Document Indexing, Ranking, Evaluation), Text Classification and Text Clustering, as well as a short lecture on Collocations.
Week Eleven: Sentiment Analysis and Semantics Week Eleven covers Semantics and related topics such as Sentiment Analysis, Semantic Parsing, and Knowledge Representation.
Week Twelve: Discourse, Machine Translation, and Generation (Includes Final Exam) Week Twelve briefly covers Discourse Analysis, Dialogue, Machine Translation, and Text Generation.
The quiz questions routinely refer to material in lectures you haven't seen yet, which is just a basic error. When you have seen the material the questions are trivially easy and even refer you back to specific lecture slides to go and look up the answer. Conversely, the first coding assignment is incomprehensible and the slides do almost nothing to prepare you adequately for it - and literally nothing to help you set up your Python environment appropriately. Wouldn't recommend.
Coursera courses need to be a few steps below collegiate, and few steps above a vocational study. Like Andrew Ng.'s Coursera course on ML gives you some confidence that I could indulge in ML, even though his Stanford course is much deeper. There is too much jargon, and too much reference to competitions and academic papers to read further. The course needs to be about the student and transfer of knowledge, much more than about the field of NLP in total.
I think it's great course and can only recommend it.
Although some topics were covered very purely (due to luck of time and I think some of them will be separated into other courses in the future), the " Introduction to Natural Language Processing" course was greatly prepared by Prof. Drago Radev.