9

我需要一个具有以下规范的拼写检查器:

  • 非常可扩展。
  • 能够为建议的单词设置最大编辑距离。
  • 根据提供的单词频率(最常见的单词优先)获得建议。

我看了一下 Hunspell:
我在 man 中找到了参数 MAXDIFF,但似乎没有按预期工作。也许我以错误的方式使用它

文件t.aff

MAXDIFF 1 

文件dico.dic

5  
rouge  
vert  
bleu  
bleue  
orange  

-

NHunspell.Hunspell h = new NHunspell.Hunspell("t.aff", "dico.dic");
List<string> s = h.Suggest("bleuue");

返回相同的东西t.aff是否为空:

bleue
bleu
4

2 回答 2

3

我们决定使用Apache Solr,它完全满足了我们的需求。
http://wiki.apache.org/solr/SpellCheckComponent#spellcheck

于 2012-01-09T21:23:30.647 回答
0

一个 maxdiff 应该返回几个,但仍然可以返回多个。

即使 maxdiff 为零也可以给出多个结果,但它应该会降低变化。这取决于n-gram。尝试零个结果的 maxdiff,但这仍然不能保证您会得到一个建议。

为了满足您对最常用词进行排序的要求,Google ngram 语料库是公开可用的。

于 2011-11-06T07:34:17.787 回答