我正在通过实现“拼写更正作为利用网络用户集体知识的迭代过程”中描述的方法来构建搜索引擎查询的拼写更正器。
高级方法如下:对于给定的查询,提出每个一元和二元的可能校正候选(查询日志中在一定编辑距离内的单词),然后执行修改的维特比搜索以找到最可能的序列给定bigram频率的候选人。重复这个过程,直到序列的概率最大。
对维特比搜索的修改是这样的,如果两个相邻的词都在可信词典中找到,最多可以纠正一个。这对于避免将拼写正确的单个单词查询纠正为频率较高的单词尤其重要。
我的问题是在哪里可以找到这样的词典。它应该是英文的,并且包含可能出现在搜索查询中的专有名词(名字/姓氏、地名、品牌名称等)以及常见和不常见的英语单词。即使朝着正确的方向推动也是有用的。
此外,如果有人正在阅读本文并对本文提供的方法有任何改进建议,我也愿意接受这些建议,因为这是我第一次涉足 NLP。