2012-02-29 42 views
2

我有一个文本文件中的单词列表。我想要的是输入单词与输入单词类似的单词列表。所以程序应该像拼写检查API一样工作,只有字典限制在我的单词列表中。寻找类似于Java中的拼写检查器的API

我可以编写自己的代码,如果我得到一些指向拼写检查算法或正则表达式的指针。

感谢您的帮助, Balkrishna。

+1

你可能会发现这个问题有一些有用的提示,让你开始http://stackoverflow.com/questions/346757/how-do-spell-checkers-work – user17753 2012-02-29 20:41:36

回答

2

看看阿帕奇共享郎StringUtils.getLevenshteinDistance。 Levenshtein算法给出了两个单词之间的“编辑距离”,即它们有多相似。他们的实现速度非常快 - 我测试了它与我在网上找到的另一个实现,如果我没有记错的话,它的速度大约快1/3。

+0

谢谢,这很有用。随着一些谷歌搜索,我可以找到StringUtils.getLevenshteinDistance的来源。它做到了诀窍。 – 2012-03-01 13:14:46

+0

很高兴帮助。请点击旁边的复选标记,接受您认为最有用的答案。 – Paul 2012-03-01 14:30:56

2

我强烈建议看看Peter Norvig的文章How to Write a Spelling Corrector。值得一读。而且它不涉及太多的复杂性。如果向下滚动页面,则可以看到指向Java实现的链接。然后,您可以根据自己的需要进行自定义。

+0

我查看了页面底部提到的几个Java实现。我尝试了其中的一个,而且它的长字符串有点慢。感谢指针,但。 – 2012-03-01 13:16:19