-
Spell correct in python
Posted on June 13th, 2009 No commentsI was in need of getting a spell checker for words. I found really a good one at
Here. . Here is the codeimport re, collectionsdef words(text): return re.findall('[a-z]+', text.lower())
def train(features):
model = collections.defaultdict(lambda: 1)
for f in features:
model[f] += 1
return modelNWORDS = train(words(file('big.txt').read()))
alphabet = 'abcdefghijklmnopqrstuvwxyz'
def edits1(word):
s = [(word[:i], word[i:]) for i in range(len(word) + 1)]
deletes = [a + b[1:] for a, b in s if b]
transposes = [a + b[1] + b[0] + b[2:] for a, b in s if len(b)>1]
replaces = [a + c + b[1:] for a, b in s for c in alphabet if b]
inserts = [a + c + b for a, b in s for c in alphabet]
return set(deletes + transposes + replaces + inserts)def known_edits2(word):
return set(e2 for e1 in edits1(word) for e2 in edits1(e1) if e2 in NWORDS)def known(words): return set(w for w in words if w in NWORDS)
def correct(word):
candidates = known([word]) or known(edits1(word)) or known_edits2(word) or [word]
return max(candidates, key=NWORDS.get) -
TukLuk
Posted on June 13th, 2009 No commentsI have recently created a application to Crawl and download songs from internet. I am very happy that I am getting more users and they are very happy about the songs search which i have implemented. Like you can search for “Kaho na pyar hai” or “kahoo naa pyaar hai” both will return the same results. This algorithm works on the pronunciation of words. You can download the TukLuk client from TukLuk .


