Google(或任何搜索引擎)的拼写检查程序和拼写修复程序如何工作?

xyz*_*xyz 1 string algorithm search-engine data-structures

当在Google中搜索某些内容时,如果你拼错了一个单词(可能是错误的,或者可能是你真正指的是这个非词典单词),谷歌说:"显示结果.....搜索而不是.... ...".

我试图弄清楚这是如何工作的.这基本上意味着能够找到最接近输入的非字典单词的字典单词.它是如何工作的?我猜的一种方法是:数不.每个字符的实例然后扫描字典以找到具有相同no的单词.每个字符的实例(仅与+ -1不同).但这也将返回字谜.

这是任何使用的概率模型,如马尔科夫等.我不太了解马尔科夫,只是一个非常疯狂的猜测.

任何见解?

RB.*_*RB. 5

你忘了谷歌有更多的信息可供你使用.他们跟踪人们输入单词的时间,不选择结果,然后不久后再进行另一次搜索.然后,他们会使用此信息建议您更好地搜索.

看看谷歌"你的意思是什么?" 算法工作?为了更全面的解释.

请注意,当您考虑到Google实际上没有进行拼写检查时,这种方法很有意义.相反,他们正试图弄清楚哪个搜索词可以为您提供所需的答案.显然,这与拼写检查之间存在很多重叠,但这意味着它们并不总是试图纠正搜索,例如"Flickr".