News for hackers. Stuff that matters.
Re:A Spellchecker Used to Be a Major Feat of Software Engine... by ntumlin on Thursday December 24, 2015 @01:46PM (#10789183)
Does anyone have a link to specific tricks used or even implementations of spellcheckers from then?
Re:A Spellchecker Used to Be a Major Feat of Software Engine... by PeCaN on Thursday December 24, 2015 @02:34PM (#10789337)
AFAIK most of them use some blend of edit distance (usually a modification of Levenshtein distance to support transpositions) and often a phonetic algorithm like Soundex[1].

Dictionaries are most often stored as a radix trie, and a bloom filter can be used to quickly check if a word is misspelled.

EDIT: I'm dumb, you said "from then". Whoops. If I had to guess it was probably similar, as radix trie + bloom filter is a very memory efficient way to store and search the dictionary.

1: https://en.wikipedia.org/wiki/Soundex

Re:A Spellchecker Used to Be a Major Feat of Software Engine... by unhammer on Friday December 25, 2015 @02:42AM (#10790676)
Bloom filter: That's assuming your vocabulary is reasonably finite. http://www.ling.helsinki.fi/~fkarlsso/genkau2.html has a list of forms for a single finnish noun. That's including case, possessives and clitics, but you can also have compounding (eg. several nouns in a row as one word) and derivations into other parts of speech (verbs become nouns etc). And once you've found out it's misspelt, you need suggestions..
Re:A Spellchecker Used to Be a Major Feat of Software Engine... by doug1001 on Thursday December 24, 2015 @03:15PM (#10789456)
indeed, spell checker was the original use case for the Bloom Filter (i.e., the one discussed in the 1972 paper by Bloom)
Re:A Spellchecker Used to Be a Major Feat of Software Engine... by simmons on Thursday December 24, 2015 @05:04PM (#10789708)
I used Word Writer 4 on the C64. Its spell-check system avoided loading the entire dictionary into memory or using an on-disk structured random-access database. Instead, it simply sorted the words in your document first, then stepped through this list while sequentially reading the sorted dictionary from disk. You could watch this process on the screen while it was happening.

Needless to say, spell checking was a lengthy task that you invoked sparingly. :)