代码之家  ›  专栏  ›  技术社区  ›  danben

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

  •  3
  • danben  · 技术社区  · 15 年前

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

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

    对viterbi搜索的修改是这样的:如果在可信词典中同时找到两个相邻单词,那么最多只能更正一个。这对于避免将拼写正确的单字查询更正为更高频率的单词尤为重要。

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

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

    1 回复  |  直到 15 年前
        1
  •  2
  •   Ryan R. Rosario    15 年前

    为此目的,最好的词汇可能是google web 1t 5-gram数据集。

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

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

    您也可以在类似python nltk的包中尝试这个语料库,但是google-one似乎是最适合您使用的,因为它已经与搜索查询相关。

    推荐文章