Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shivam5992/spellbee

spell checking in python
https://github.com/shivam5992/spellbee

Last synced: 1 day ago
JSON representation

spell checking in python

Awesome Lists containing this project

README

        

Spellbee
---

Spellbee is an english spelling corrector and suggestor. It uses standard nlp tasks to achieve a better accuraccy level in terms of suggestions and corrections. Every query term undergoes a set of hierarichial well written rules. Queries are checked against various standardised lookup tables and dictionaries. If terms are not found in the tables, then most similar words are shown as spelling suggestions.

**Standardised LookUps:** Standardised lookup tables are created by processing the wordnet database which involves processes like stemming, lemmatization, stopword removal, tokenization, normalization, encoding handling, html unescaping. Wordnet database provides list of all possible words(almost) of english language, though they are not standardised hence needs to be processd once.

**Word Similarity:** It uses weighted edit distance (levenshtien) algorithm to find out number of operations required to change one word to another. To get most similar single word, word similarity ratio is calculated. The one with maximum ratio is choosen as suggestion.

Usage
---
from spellbee.spellbee import spellbee

if __name__ == '__main__':
string = 'Autimattic leaarning procejures can made uss of stastical algorithmas'
suggestions = spellbee._correct(string)
for x in suggestions:
print x

References:
---
Peter Norvig blog

Levenshtein Distance

qSpell

CloudSpeller

Query Combination Technique