私はテキストファイルに単語のリストを持っています。私が欲しいのは、入力単語に似ている単語のリストです。したがって、プログラムはスペルチェッカーAPIと同様に機能するはずですが、その辞書は私の単語リストに限られています。javaのスペルチェッカーに似たAPIを探しています
私はスペルチェッカーのアルゴリズムや正規表現へのいくつかのポインタを取得すれば私自身のコードを書くことができます。
助けてくれてありがとう、 バルクリシュナ。
私はテキストファイルに単語のリストを持っています。私が欲しいのは、入力単語に似ている単語のリストです。したがって、プログラムはスペルチェッカーAPIと同様に機能するはずですが、その辞書は私の単語リストに限られています。javaのスペルチェッカーに似たAPIを探しています
私はスペルチェッカーのアルゴリズムや正規表現へのいくつかのポインタを取得すれば私自身のコードを書くことができます。
助けてくれてありがとう、 バルクリシュナ。
のApache CommonsのラングStringUtils.getLevenshteinDistance
を見てみましょう。 Levenshteinアルゴリズムは、2つの単語の間の「編集距離」、つまりどれほど似ているかを示します。彼らの実装はかなり高速です - 私はそれが私が正しく覚えていれば、私はオンラインで見つけた別の実装に対してそれをテストし、それは約1/3速かったです。
ありがとう、これは役に立ちました。いくつかのグーグルで、私はStringUtils.getLevenshteinDistanceのソースを見つけることができました。そしてそれはトリックでした。 –
喜んで助けました。その横にあるチェックマークをクリックして、最も役立つ回答を受け入れてください。 – Paul
Peter Norvigの記事をHow to Write a Spelling Correctorでご覧になることを強くお勧めします。それは読む価値がある。複雑すぎるものではありません。ページを下にスクロールすると、Java実装へのリンクが表示されます。その後、自分のニーズに合わせてカスタマイズすることができます。
私はページのボトムで言及されたいくつかのJava実装を検討しました。私はそれらの1つを試しました、そして、それは長い弦で少し遅かったです。しかし、ポインタをありがとう。 –
この質問には、あなたに役立つヒントがいくつかあります。http://stackoverflow.com/questions/346757/how-do-spell-checkers-work – user17753