aspell: The Simple Soundslike
1
1 7.4 The Simple Soundslike
1 =========================
1
1 The simple soundslike goes something like this:
1
1 sl0[0] = lookup0(word[0])
1 for (i = 1; i < size; i++)
1 sl0[i] = lookup(word[i]);
1 s = 0;
1 for (i = 0; i < size; i++)
1 sl.append(al0[i]) unless sl0[i] == 0 || sl0[i] == sl0[i-1];
1
1 Basically each character can be converted to another character or
1 deleted. A separate lookup table is used for the first character. If
1 the same soundslike letter is repeated, the duplicate is removed.
1
1 By default all accents are removed, and all vowels are deleted unless
1 they appear at the start of the word in which case they are converted
1 to a `*'. The exact behavior can be customized via the character data
1 file.
1
1 The simplified soundslike has the advantage that it is very fast to
1 compute and thus does not need to be stored with a word. Also, when
1 affix compression is used and the `partially-expand' is given the
1 results will be identical to the results when affix compression is not
1 used.
1
1 Of course it is not nearly as powerful as the phonetic soundslike.
1