コサイン類似度計算機

2つのベクトルのコサイン類似度を計算します。

※多次元ベクトルの入力が可能です。要素数は一致させてください。

計算結果

コサイン類似度とは:AIとデータ分析が「近さ」を測る魔法の指標

現代のAI技術、特にChatGPTのような自然言語処理や、AmazonやNetflixの推薦システムを支える核心的な技術の一つに「コサイン類似度(Cosine Similarity)」があります。データが巨大化し、多次元化する現代において、単なる「距離」だけでは測れない「意味の近さ」を捉えるために、この指標は欠かせません。本ページでは、コサイン類似度の数学的な定義から、機械学習や検索エンジンでの具体的な応用事例、さらには他の距離尺度との違いまで、1000文字を超える詳細な専門記事で深掘りします。

コサイン類似度の数学的定義

コサイン類似度は、2つのベクトルがなす「角度」の余弦(コサイン)を計算することで、その向きがどれくらい似ているかを評価します。計算式は以下の通りです:

similarity = (A ⋅ B) / (||A|| × ||B||)
  • A ⋅ B: ベクトルAとBの内積(ドット積)
  • ||A||, ||B||: 各ベクトルの大きさ(L2ノルム)

この結果は必ず -1 から 1 の範囲に収まります。1であれば向きが完全に一致(類似度100%)、0であれば直交(無関係)、-1であれば完全に反対を向いていることを意味します。

なぜ「距離」ではなく「角度」なのか?

一般的な距離(ユークリッド距離)との決定的な違いは、「データの大きさ(スケール)」に影響されないという点です。

例えば、ある小説のテーマを分析する場合、200ページの小説と、同じテーマで書かれた2000ページの百科事典を比較するとします。単語の出現頻度(距離)で測ると、百科事典の方が圧倒的に単語数が多いため、非常に遠い存在と判定されてしまいます。しかし、各単語の出現割合、つまり「ベクトルが向いている方向」をコサイン類似度で測れば、ページ数に関わらず「同じテーマである」と正しく判定できるのです。

機械学習と自然言語処理(NLP)での応用

  1. 単語分散表現(Word Embedding): 単語を数百次元のベクトルに変換し、コサイン類似度を用いることで「王様」と「女王」の近さを計算したり、類義語を検索したりします。
  2. 推薦システム(レコメンデーション): ユーザーの好みをベクトル化し、商品ベクトルとの類似度を計算して、次に買うべき商品を提案します。
  3. 画像検索: 画像の特徴を抽出してベクトル化し、アップロードされた画像と似た画像をデータベースから高速に見つけ出します。

計算結果の解釈と活用

  • 0.9以上: 非常に類似している。同義語や、ほぼ同じ内容の文書など。
  • 0.7 〜 0.9: 強い関連性がある。共通のトピックを持つ。
  • 0.3 〜 0.7: 緩やかな関連。
  • 0.3以下: ほとんど関係がない。

よくある質問 (FAQ)

Q. マイナスの類似度が出ることはありますか?
A. 文書の単語頻度などは常に正の値(0以上)をとるため、NLPの文脈では通常 0 から 1 の範囲になります。しかし、株価の変動ベクトルなど、負の値を含むデータを扱う場合は -1 まで発生し得ます。
Q. 多次元でも計算できますか?
A. はい、原理的には数万次元でも計算可能です。当計算機では、スペース区切りで入力することで任意次元のベクトル計算を実行できます。
Q. ユークリッド距離とどちらを使えばいいですか?
A. データの向き(質的な特徴)が重要な場合はコサイン類似度、データの大きさそのものが重要な場合はユークリッド距離を選定するのが一般的です。

まとめ

コサイン類似度は、数値の背後に潜む「文脈」や「性質」を浮き彫りにする強力なレンズです。膨大な情報が溢れる現代社会において、類似した情報、価値のある関連性を効率的に見つけ出すための必須ツールといえるでしょう。当「コサイン類似度計算機」が、皆様のデータ分析や技術理解の一助となることを願っています。Gojikara.comは、高度な数学概念を身近な道具として提供し、皆様の知的創造をサポートし続けます。