Course Introduction

Get introduced to the course, its structure, and its intended audience.

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

  1. Edit distance: This section provides a mathematical foundation to build a spellchecker from scratch.

  2. Norvig spellchecker: In this section, we go into the details and inner workings of a spellchecker and implement an edit-distance-based spellchecker.

  3. Modern spell check methods: In this section, we will cover advanced edit-distance spell checkers and get a survey of how modern spellcheckers work.

Press + to interact
The classic spell check example
The classic spell check example

Grammar checking sections

  1. 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.).

  2. 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.

  3. 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.