用于搜索查询更正的英语词典

时间:2010-01-28 17:31:36

标签: search dictionary nlp lexicon

我正在通过实施“Spelling correction as an iterative process that exploits the collective knowledge of web users”中描述的方法为搜索引擎查询构建拼写纠正器。

高级方法如下:对于给定的查询,提出每个unigram和bigram的可能的校正候选(在一定编辑距离内的查询日志中的单词),然后执行修改的Viterbi搜索以找到最可能的候选序列给出二元组频率。重复此过程,直到序列具有最大概率。

对维特比搜索的修改是这样的:如果在可信词典中找到两个相邻的单词,则至多可以校正一个单词。这对于避免将正确拼写的单字查询更正为更高频率的单词尤为重要。

我的问题是在哪里可以找到这样的词典。它应该是英文的,并且包含可能出现在搜索查询中的专有名词(名字/姓氏,地点,品牌名称等)以及常见和不常见的英语单词。即使推进正确的方向也会有用。

此外,如果有人正在阅读本文,并对本文提供的方法有任何改进建议,我也愿意接受,因为这是我第一次涉足NLP。

1 个答案:

答案 0 :(得分:2)

用于此目的的最佳词典可能是Google Web 1T 5-gram数据集。

http://www.ldc.upenn.edu/Catalog/CatalogEntry.jsp?catalogId=LDC2006T13

不幸的是,除非你的大学是最不发达国家的成员,否则它不是免费的。

你也可以在像Python NLTK这样的软件包中尝试使用语料库,但谷歌似乎最适合你的用途,因为它已经与搜索查询相关。