0

Javaに辞書ベースの文字列一致アルゴリズムはありますか?

辞書に基づいて 2 つの文字列の類似度を示すものはありますか?

お気に入り

 public double getSimilarity(String str1, String str2);

次のような実装:

 getSimilarity("Professor", "Teacher")

非常に高いパーセンテージを与えるでしょうか?

前もって感謝します :)

4

1 に答える 1

1

シャウル・マルコビッチとエフゲニー・ガブリロビッチによる素晴らしい仕事があり、彼らの記事で説明されています: Wikipedia-based Semantic Interpretation for Natural Language Processing .

アイデアは次のとおりです: ウィキペディア (またはその他のコンテキスト ソース) をインデックス化します。
各用語 (単語) のマッピングの作成: term -> articles in which the term appears in.

各用語は基本的にベクトルで表されます。簡単にするために、バイナリ ベクトルとしましょう。したがって、用語tのエントリは、その用語がドキュメントに表示されるd場合にのみ「1」になります。td

ここで、これらのベクトルが与えられた場合 - 2 つの項が類似しているかどうかを調べるには、 と を表す 2 つのベクトルのt1ベクトル類似を取得する必要があります。t2t1t2


注: バイナリ ベクトルは簡略化したものです。実際、この記事では、用語がドキュメントにあるtf-idfスコアを使用しています。td

于 2013-01-13T15:27:35.463 に答える