Course Introduction
Explore the foundational concepts of grammar parsing and spell checking in Python. This lesson introduces the mathematics behind spellcheckers, part-of-speech tagging, and grammar correction. Learn how these technologies fit into natural language processing and prepare for building advanced correction models later in the course.
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.