Course Introduction
Get introduced to the course, its structure, and its intended audience.
We'll cover the following...
Introduction
Hello and welcome to the course! This course will provide an in-depth survey of grammar parsing and spell check, covering everything from basic implementations to modern approaches.
Learning outcomes
- Learn the mathematics behind implementing a spell checker, including edit distance. 
- Learn the basic structure of a spellchecker and how it fits into natural language processing as a whole. 
- Learn how to implement and improve on a spellchecker. 
- Understand how to implement an advanced machine learning-based spellchecker. 
- Learn the mathematics behind grammar correction. 
- Learn the basic structure of a grammar corrector. 
- Learn how to implement a basic grammar corrector. 
- Understand how to implement an advanced machine learning-based grammar checker. 
- Combine these two units to implement a sophisticated natural language corrector similar to state-of-the-art approaches. 
Course structure
This course contains three major sections: the first covers background knowledge, the second moves into basic implementation, and the third covers advanced topics.
Spell checking sections
- Edit distance: This section provides a mathematical foundation to build a spellchecker from scratch. 
- Norvig spellchecker: In this section, we go into the details and inner workings of a spellchecker and implement an edit-distance-based spellchecker. 
- Modern spell check methods: In this section, we will cover advanced edit-distance spell checkers and get a survey of how modern spellcheckers work. 
Grammar checking sections
- Part-of-speech tagging: This is another heavily math-based section where we will learn how to identify a word’s part of speech (e.g., given a sentence, how do we pick out the adjective, verb, etc.). 
- Basic grammar checker: In this section, we implement a part-of-speech rule-based grammar checker, meaning we will use a heuristic-based approach to correct grammar mistakes. 
- Modern grammar methods: In this section, we will review the modern methods used to check for proper grammar, including how popular tools like Grammarly work. 
Finally, the course will culminate in a final project, in which we will expand on our grammar and spellchecker and combine them into a single project, similar to how a tool like Grammarly works.
Audience
This course is designed as an intermediate level course, which means in order to find success, a solid foundation of functional programming in Python is required. Having used libraries such as SciPy, NLTK, and pandas before is also a plus. Learners with a basic understanding of natural language processing (NLP) will have an easier time following the lessons as they begin to get more challenging, and learners with a basic understanding of machine learning will gain more from the bonus lessons towards the end of the course.