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