Skip to main content

Fast string correction with Levenshtein automata

Abstract.

The Levenshtein distance between two words is the minimal number of insertions, deletions or substitutions that are needed to transform one word into the other. Levenshtein automata of degree n for a word W are defined as finite state automata that recognize the set of all words V where the Levenshtein distance between V and W does not exceed n. We show how to compute, for any fixed bound n and any input word W, a deterministic Levenshtein automaton of degree n for W in time linear to the length of W. Given an electronic dictionary that is implemented in the form of a trie or a finite state automaton, the Levenshtein automaton for W can be used to control search in the lexicon in such a way that exactly the lexical words V are generated where the Levenshtein distance between V and W does not exceed the given bound. This leads to a very fast method for correcting corrupted input words of unrestricted text using large electronic dictionaries. We then introduce a second method that avoids the explicit computation of Levenshtein automata and leads to even improved efficiency. Evaluation results are given that also address variants of both methods that are based on modified Levenshtein distances where further primitive edit operations (transpositions, merges and splits) are used.

This is a preview of subscription content, access via your institution.

Author information

Authors and Affiliations

Authors

Additional information

Received: 13 February 2002 / Accepted: 13 March 2002

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Schulz, K., Mihov, S. Fast string correction with Levenshtein automata. IJDAR 5, 67–85 (2002). https://doi.org/10.1007/s10032-002-0082-8

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10032-002-0082-8

  • Keywords: Spelling correction – Levenshtein distance – Optical character recognition – Electronic dictionaries