2012-02-29 43 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