A computer-implemented process identifies useful alternative spellings of
search strings submitted to a search engine. The process takes into
consideration spelling changes made by users, as detected by
programmatically analyzing search string submissions of a population of
search engine users. In one embodiment, an assessment of whether a second
search string represents a useful alternative spelling of a first search
string takes into consideration (1) an edit distance between the first
and second search strings, and (2) a likelihood that a user who submits
the first search string will thereafter submit the second search string,
as determined by monitoring and analyzing actions of users.