[解決済み] 2つのベクトルの余弦類似度はどのように計算するのですか?
2022-02-08 19:04:36
質問
ベクトル間の余弦類似度を求めるには?
2行のテキスト間の関連性を測定するために類似度を求める必要があります。
例えば、こんな2つの文章があります。
<ブロッククオートユーザーインターフェイスのためのシステム
ユーザーインターフェースマシン
...そして、tF-idfの後にそれぞれのベクトルを、LSIを使用して正規化します。
[1,0.5]
と
[0.5,1]
.
これらのベクトル間の親密度はどのように測定すればよいのでしょうか?
どのように解決するのですか?
public class CosineSimilarity extends AbstractSimilarity {
@Override
protected double computeSimilarity(Matrix sourceDoc, Matrix targetDoc) {
double dotProduct = sourceDoc.arrayTimes(targetDoc).norm1();
double eucledianDist = sourceDoc.normF() * targetDoc.normF();
return dotProduct / eucledianDist;
}
}
最近、大学の情報検索のユニットでtf-idfをいくつかやりました。 このCosine Similarityという手法を使いました。 ジャマ。Java マトリックスパッケージ .
全ソースコードについては JavaによるIR数学 : 類似性測定 このリソースは、いくつかの異なる類似性測定法をカバーする、本当に良いリソースです。
関連
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】エラー:'if'のない'else'エラー
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み】Javaの未処理例外について
-
[解決済み】Javaの".class expected "について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンクリストの負の値の数でnegativeCntrを代入する
-
[解決済み】imageio.IIOException: 入力ファイルが読み込めない
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み】破損したjarファイル
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み】コサインの類似性の例を、とても簡単な図式で誰か教えてください。[クローズド]