我正在通过实现“中描述的方法来构建搜索引擎查询的拼写校正器”拼写更正是一个利用网络用户集体知识的迭代过程".

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

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

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

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

有帮助吗?

解决方案

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

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

不幸的是,除非您的大学是 LDC 的成员,否则它不是免费的。

您还可以尝试 Python NLTK 等软件包中的语料库,但 Google 语料库似乎最适合您的目的,因为它已经与搜索查询相关。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top