> I am so glad I find this topic here! I was on the plane yesterday, and > just like Peter Norwig I managed to write a spelling corrector. An > obvious difference is that he started from nothing, while I started > from his code... Anyway, I did it in Ruby, it works, but... it's dead > slow. If I need to compute the second array (the one with 2 mistakes), > it takes about 1 second per suggestion. I avoided doing two-character edits. Instead I use Text::Metaphone and mutate that string and Text::Levenshtein for filtering by distance. It seems to work fairly well. (You will need the text gem to try this out.) The code (together with the holmes.txt as a sample for training it) is available at http://flgr.0x42.net/code/spell_correct/