Version 8 (modified by Ales Horak, 9 years ago) (diff)


Automatic language correction

IA161 Advanced NLP Course, Course Guarantee: Aleš Horák

Prepared by: Ján Švec

State of the Art

Note: Automatic language correction is not only spell checking. At least grammar checking should be described, possibly also word completion task (T9 etc).

Automatic language correction (spell checking) is the process of detecting and sometimes providing spelling suggestions for incorrectly spelled words in a text. Language correction nowadays has many potential applications on large amount of informal and unedited text generated online, among other things: web forums, tweets, blogs, and email.

In the theoretical lesson we will introduce and compare various methods to automatcally propose and choose a correction for an incorrectly written word. The lesson will also answer a question "How difficult is to develop a spell-checker?". And also describe a system that performs spellchecking and autocorrection.

In the end there will be a brief overwiev of various applications (computer software) for automatic language correction.


  1. CHOUDHURY, Monojit, et al. "How Difficult is it to Develop a Perfect Spell-checker? A Cross-linguistic Analysis through Complex Network Approach" Graph-Based Algorithms for Natural Language Processing, pages 81–88, Rochester, 2007. Source
  2. WHITELAW, Casey, et al. "Using the Web for Language Independent Spellchecking and Autocorrection" Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing, pages 890–899, Singapore, 2009. Source
  3. GUPTA, Neha, MATHUR, Pratistha. "Spell Checking Techniques in NLP: A Survey" International Journal of Advanced Research in Computer Science and Software Engineering, volume 2, issue 12, pages 217-221, 2012. Source
  4. HLADEK, Daniel, STAS, Jan, JUHAR, Jozef. "Unsupervised Spelling Correction for the Slovak Text." Advances in Electrical and Electronic Engineering 11 (5), pages 392-397, 2013. Source

Practical Session

There will be a short overview of LanguageTool - Style and Grammar checker. Students can test the language correction algorithm and evaluate it on real data. After they become acquainted with how a spelling corrector works, we will write a simple spelling corrector in Python. The spelling corrector will be trained on a large text file compiled from Project Gutenberg. The example will be based on Peter Norvig's Spelling Corrector in python. If the student finishes early the additional task is to enhance the spelling corrector's functionality.

Attachments (10)