コサイン類似度(Cosine Similarity)とは|意味・読み方・Embedding・ベクトル検索との関係
コサイン類似度(Cosine Similarity)とは、2つのベクトル間の角度に基づいて「どれだけ似ているか」を数値で表す指標です。
英語表記:Cosine Similarity(読み方はコサインるいじど)
自然言語処理(NLP)やAIシステムでは、テキストの意味的な近さを測る手法として広く使われています。AI検索の文脈では、質問に近い内容の文書を探すときの計算に登場する言葉です。
この言葉の基本
コサイン類似度という言葉の読み方・値の範囲・使われる分野
| 項目 | 内容 |
|---|---|
| 英語表記 | Cosine Similarity |
| 読み方 | コサインるいじど |
| 測るもの | 2つのベクトルが同じ方向を向いているかどうか |
| 値の範囲 | −1から1。1に近いほど似ていて、0に近いほど無関係、−1に近いほど反対の向き |
| 分野 | 自然言語処理(NLP)、ベクトル検索、RAG |
| 混同しやすい言葉 | Embedding、ベクトル検索、キーワードの一致 |
コサイン類似度が使われる文脈
AIはテキストをそのまま処理するのではなく、まず数値の配列(ベクトル)に変換します。この変換を埋め込み(Embedding)といいます。「GEOとは何か」というテキストも、「AIに引用されるための施策」というテキストも、それぞれ数百〜数千次元のベクトルとして表されます。
コサイン類似度は、こうして作った2つのベクトルが同じ方向を向いているかを、−1から1の数値で表したものです。単語の出現回数のように負の値を持たない数値で作ったベクトルどうしなら、値は0から1の間に収まります。
たとえばOpenAIのEmbeddingsのガイドでは、ベクトルどうしの距離の測り方としてコサイン類似度を勧めています。同じガイドには、OpenAIの埋め込みは長さ1にそろえてあるため、内積だけでコサイン類似度を計算できるとも書かれています。
質問と文書の近さを比べる流れを、仮の数値で書くと次のようになります(数値は説明のための例です)。
質問「AI検索で自社を引用させる方法」→ ベクトルA
文書「GEOとはAI検索に自社情報を引用させる施策」→ ベクトルB → AとBのコサイン類似度 0.97(近い)
文書「天気予報の見方について」→ ベクトルC → AとCのコサイン類似度 0.11(無関係)
似た言葉との関係
Embedding
Embeddingはテキストをベクトルに変える処理、またはそのベクトル自体を指します。コサイン類似度は、そのベクトルどうしを比べる計算です。どちらか一方だけでは、意味の近さを測れません。
ベクトル検索・Retrieval
ベクトル検索は、質問のベクトルに近いベクトルを持つ文書を探す検索です。近さの物差しには、コサイン類似度のほか、内積などが使われます。RAGのRetrieval(関連情報を取得する処理)で、このベクトル検索が使われることがあります。
リランキング
RAGでは、コサイン類似度などで最初に候補を取得したあと、リランキング(候補を別のモデルで評価し直して並べ替える処理)を行うことがあります。コサイン類似度は、候補を絞る最初の段階で使われる物差しの一つです。
GEO対策における位置づけ
コサイン類似度は、検索や情報の取得を伴うAIの回答で、どの文書を回答の材料の候補にするかを計算する場面に出てくる言葉です。値を計算するのはAIシステムの側で、ページの側から値を指定するものではありません。
また、候補として取得されること、回答に使われること、引用として表示されることは、それぞれ別の段階です。コサイン類似度が関わるのは、このうち最初の段階です。
コサイン類似度が、AI検索の仕組みの中でどこに当たるかは、AI検索の仕組みとはで解説しています。
よくある誤解
キーワードが多いほどコサイン類似度が高くなる
Embeddingのベクトルで計算する場合、コサイン類似度は表面的なキーワードの出現回数ではなく、意味の近さを反映します。同じ単語が多く含まれていても意味が遠ければ低い値になり、別の言葉を使っていても同じ概念を扱っていれば高い値になることがあります。
コサイン類似度は直接操作できる
コサイン類似度はAIシステムが内部で計算する値で、外から直接操作することはできません。
コサイン類似度だけで回答に使う情報が決まる
コサイン類似度で候補を取得したあとに、リランキングなどの評価が加わることがあります。最終的に回答に使われるか、引用として表示されるかは、その後の処理にも左右されます。
コサイン類似度に関連する用語
コサイン類似度に関連する用語と、その意味
よくある質問
コサイン類似度の値はどの範囲になりますか?
−1から1です。1に近いほど2つのベクトルが同じ方向を向いていて、0に近いほど無関係、−1に近いほど反対の向きです。
コサイン類似度とベクトル検索は同じものですか?
同じものではありません。ベクトル検索は近い内容を探す検索の方法で、コサイン類似度はその中で近さを測るときに使われる指標の一つです。
コサイン類似度はすべてのAIの回答で使われていますか?
主に検索や情報の取得を伴う回答で使われます。検索を伴わず、学習済みの知識だけで答える場面では、コサイン類似度による取得は行われません。