コサイン類似度計算ツールの使い方
コサイン類似度計算ツールは、2つのベクトルがどのくらい同じ方向を向いているかを -1 から 1 の範囲のスコアで測定するツールです。カンマ区切りの数値(例: 1, 2, 3)としてベクトルを入力するだけで、コサイン類似度のスコア、ベクトルの内積計算結果、および各ベクトルの大きさ(ノルム)を即時に計算します。
- ベクトル A の入力 — 最初のベクトルをカンマ区切りの数値で入力します(例:
1, 2, 3や0.5, -1, 2)。 - ベクトル B の入力 — 2つ目のベクトルを入力します。ベクトル A と同じ要素数(次元数)である必要があります。
- 計算結果の確認 — コサイン類似度のスコア、内積 A · B、ノルム ‖A‖ および ‖B‖、ならびに結果の自然言語による解説が表示されます。
※ 両方のベクトルは要素数が一致しており、かつ非ゼロベクトルである必要があります。どちらかのベクトルがゼロベクトルの場合、数学的にコサイン類似度は定義されません。
コサイン類似度の求め方と計算式
本コサイン類似度計算ツールでは、以下の数学的公式に基づいてベクトル類似度を算出しています。
cosine_similarity(A, B) = (A · B) / (‖A‖ × ‖B‖)
| 記号 | 意味 | 計算方法 |
|---|---|---|
| A · B | 内積 (Dot product) | Σ(Aᵢ × Bᵢ) |
| ‖A‖ | ベクトルAの大きさ(ユークリッドノルム) | √(Σ Aᵢ²) |
| ‖B‖ | ベクトルBの大きさ(ユークリッドノルム) | √(Σ Bᵢ²) |
この計算式は、2つのベクトル間のなす角 θ のコサイン(cos θ)を求めています。結果が 1 に近い場合はなす角が 0° に近く(同じ方向)、0 の場合は 90°(直交)、-1 に近い場合は 180°(真逆の方向)を意味します。重要な特徴として、コサイン類似度は「スケール非依存(大きさの影響を受けない)」であり、ベクトルの長さではなく方向のみを評価します。たとえば、[1, 2, 3] と [2, 4, 6] のコサイン類似度は正確に 1 となります。
前提条件と注意事項
- 入力ベクトルは実数の数値列であり、要素数(次元数)が同じである必要があります。
- すべての要素が 0 のゼロベクトルは、0 での除算が発生するため計算対象外となります。
- 本ツールは学習・分析・検証用途を想定しています。実稼働システムへの組込時は境界値や例外処理を適切に設計してください。
コサイン類似度の活用事例・応用分野
コサイン類似度の計算は、データサイエンスやAI開発をはじめとする多様な分野で活用されています。
- テキストマイニング・自然言語処理 (NLP) — TF-IDF ベクトルや Word2Vec / OpenAI などの埋め込みベクトル(Embedding)を比較し、文書間や文章間のテキスト類似度を判定。
- レコメンデーションシステム — ユーザーの閲覧履歴や評価データに基づく嗜好ベクトルから、類似したユーザーや商品を特定(協調フィルタリング)。
- 機械学習・データ分析 — k近傍法 (k-NN) やクラスタリングアルゴリズムにおいて、特徴量ベクトルの方向的類似性を評価。
- 線形代数の学習・演習 — ベクトル間のなす角の計算や直交性の判定など、数学的理論の確認や検算。
- 多次元データ解析 — データのスケール(大きさの絶対値)に左右されずに、複数属性の方向的な相関関係を測定。
手計算の手間を省き、2つの多次元数値データがどの程度同じトレンドや方向性を持っているかを迅速に検証したい場合に、このコサイン類似度計算ツールをご活用ください。