#### 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.

To get a better idea of which mode you should chose here are some results based on a small test kernel (see http://aspell.net/test/cur) of misspelled/correct word pairs for GNU Aspell 0.60.8:

Mode | Score | First | 1-10 | Any | Time
--- | --- | --- | --- | --- | ---
ultra | 70.4 | 53 % | 74 % | 75 % | 0.49
fast | 81.0 | 58 % | 86 % | 89 % | 0.88
normal | 82.6 | 59 % | 88 % | 91 % | 1.00
slow | 84.2 | 59 % | 90 % | 94 % | 4.76
bad-spellers | 82.3 | 55 % | 86 % | 98 % | 7.46

The Score is a weighted average which gives more emphases to words found earlier in the suggestion list. First, 1-10, and Any are the percentage of times the correct word is found in the first, first 10, or anywhere in the suggestion list. Time is the normalized cpu-time.

The suggestion modes are as follows when soundslikes are used and affix compression is not:

ultra

  This mode will use the fastest available method to come up with decent suggestions for common misspellings. This currently means that it will look for words that are within one edit distance or have the same soundslike. A replacement table will also be used if one is available.

fast

  This mode will use the fastest available method to come up with decent suggestions for not so common misspellings. This currently means it will also look for soundslikes within one edit distance when compared to the `ultra` mode.

normal

  This is the default mode and will use what ever method is necessary to return good suggestions, in most cases, and in a reasonable amount of time. This currently means it will looks for soundslikes within two edit distance apart.

slow

  Like `normal` except that “reasonable amount of time” is not a consideration. In most cases it will return the same results as `normal`. The biggest difference is that it will try an ngram scan if the normal methods of finding a suggestion fail.

bad-spellers

  This method is like `slow` but is tailored more for the bad speller, where as the other modes are tailored more 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 seem 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.

When there is no soundslike or affix compression is used then the modes have slightly different meanings but, with the exception of `bad-spellers`, lower modes are faster and higher modes give better suggestions. Some modes may give identical results depending on the language configuration.