コサイン類似度とは
コサイン類似度(Cosine Similarity)とは、2つのベクトル間の角度のコサイン値を用いて類似性を測定する指標です。値は-1から1の範囲を取り、1に近いほど類似度が高く、0は無関係、-1は正反対であることを意味します。自然言語処理における最も重要な類似度指標の一つです。
| ひとことで言うと | 2つのベクトルの「向きの近さ」で、意味の似ている度合いを測る指標。 |
|---|---|
| 読み方 | 1に近いほど似ている、0なら無関係、−1なら正反対。 |
| 注意点 | 向きだけを見るので、長さ(強さ)の違いは無視される。 |
コサイン類似度の計算
2つのベクトルAとBのコサイン類似度は、cos(θ) = (A・B) / (||A|| × ||B||)で計算されます。分子はベクトルの内積、分母は各ベクトルのノルム(大きさ)の積です。この正規化により、ベクトルの大きさ(長さ)ではなく方向(角度)のみで類似性を評価できます。
12つの文をベクトル化意味を数値の矢印に
▶
2なす角を考える向きがどれだけ近いか
▶
3コサインを計算内積÷長さの積
▶
40〜1で評価1に近いほど似ている
なぜコサイン類似度が使われるか
テキストのベクトル表現では、文書の長さによってベクトルの大きさが変わります。コサイン類似度はベクトルの方向のみを比較するため、文書の長さの違いに影響されにくいという利点があります。ユークリッド距離はベクトルの大きさの影響を受けるため、テキスト類似度の計算にはコサイン類似度の方が適しています。
コサイン類似度の応用
文書類似度の計算、情報検索のランキング、推薦システム、RAGでの検索、単語の類似度計算、文書クラスタリングなど、自然言語処理の様々な場面で活用されています。