Previous: Notes on Typo-Analysis, Up: Notes on Various Options



4.4.4 Notes on the Different Suggestion Modes

In order to understand what these suggestion modes do, a basic understanding of how aspell works is required. For that see Aspell Suggestion Strategy.

The suggestion modes are as follows.

ultra
This method will use the fastest method available to come up with decent suggestions. This currently means that it will look for soundslikes within one edit distance apart without doing any typo-analysis or using replacement tables. In this mode Aspell gets about 87% of the words from my small test kernel of misspelled words. (Go to http://aspell.net/test for more info on the test kernel as well as comparisons of this version of Aspell with previous versions and other spell checkers.)
fast
This method is like ultra except that it also performs typo-analysis and uses replacement tables. The typo-analysis brings words which are likely to be due to typos to the beginning of the list. This mode should get around the same number of words that the ultra method does.
normal
This method normally looks for soundslikes within two edit distance apart and performs typo-analysis unless it is turned off. Is is several slower than fast mode but it returns better suggestions. This mode gets 93% of the words.
slow
Normally identical to normal.
bad-spellers
This method also looks for soundslikes within two edit distances apart but is more tailored for the bad speller whereas fast or normal are more tailored to strike a good balance between typos and true misspellings. This mode never performs typo-analysis and returns a huge number of words for the really bad spellers who can't seam to get the spelling anything close to what it should be. If the misspelled word looks anything like the correct spelling it is bound to be found somewhere on the list of 100 or more suggestions. This mode gets 98% of the words.

If jump tables where not used than the normal option is identical to fast. And the slow option is identical to the normal if jump tables were used.