Pure python spell checker based on work by Peter Norvig
Pure Python Spell Checking based on Peter Norvig’s blog post on setting up a simple spell checking algorithm.
It uses a Levenshtein Distance algorithm to find permutations within an edit distance of 2 from the original word. It then compares all permutations (insertions, deletions, replacements, and transpositions) to known words in a word frequency list. Those words that are found more often in the frequency list are *more likely* the correct results.
pyspellchecker supports multiple languages including English, Spanish, German, and French. Dictionaries were generated using the WordFrequency project on GitHub.
pyspellchecker supports Python 3. If may work for Python 2.7 but it is not guaranteed (especially for Non-English dictionaries)!
The easiest method to install is using pip:
pip install pyspellchecker
To install from source:
git clone https://github.com/barrust/pyspellchecker.git
python setup.py install
As always, I highly recommend using the Pipenv package to help manage dependencies!
After installation, using pyspellchecker should be fairly straight forward:
from spellchecker import SpellChecker
spell = SpellChecker()
# find those words that may be misspelled
misspelled = spell.unknown([‘something’, ‘is’, ‘hapenning’, ‘here’])
for word in misspelled:
# Get the one `most likely` answer
# Get a list of `likely` options