在 Google 中搜索某些内容时,如果您拼错了某个单词(可能是误拼,也可能是您真正指的是这个非字典单词),Google 会说: “显示......的结果,而是搜索......”。
我正在尝试弄清楚这是如何工作的。 这基本上意味着能够找到与输入的非词典单词最接近的词典单词。它是如何工作的?我可以猜测的一种方法是: 数数每个字符的实例,然后扫描字典以查找具有相同编号的单词。每个字符的实例数(仅具有 +-1 差异)。但这也会返回字谜。
是否有某种在这里有用的概率模型,例如马尔可夫等。我不太了解马尔可夫,无法随意使用它,但这只是一个非常疯狂的猜测。
有什么见解吗?
最佳答案
您忘记了 Google 提供的信息比您多得多。他们跟踪人们何时输入单词,不选择结果,然后不久后进行另一次搜索。然后,他们使用这些信息来为您提供更好的搜索建议。
参见How does the Google "Did you mean?" Algorithm work?以获得更全面的解释。
请注意,当您认为 Google 实际上并未进行拼写检查时,这种方法是有意义的。相反,他们正在尝试找出哪些搜索词可以为您提供所需的答案。显然,这和拼写检查之间有很多重叠,但这意味着他们并不总是尝试纠正搜索,例如“Flickr”。
关于algorithm - Google(或任何搜索引擎)的拼写检查器和拼写修复器如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5840564/