AI活用の教科書
AI・生成AIむずかしい3分で読了

コサイン類似度

Cosine Similarityこさいんるいじど

ひとことで言うと

2つのベクトルの向きの近さで、意味の似ている度合いを-1〜1の数字で表す指標です。

📖 もうちょい詳しく

何が新しいの?

文章や単語の「意味」を、AIはベクトルという数字の並びに変換して扱います。このベクトル同士がどれくらい似ているかを測る、定番のものさしがコサイン類似度です。AI検索やチャットボットが「似た意味の文」を探すとき、その裏でよく使われています。

どうやって動いてるの?

2つのベクトルを矢印だと思ってください。コサイン類似度は、その矢印が向いている「向き」がどれだけ近いかを計算します。向きがぴったり同じなら 1、まったく逆向きなら -1、直角なら 0 になります。矢印の長さ(数字の大きさ)は無視して、向きだけを見るのが特徴です。

何ができるの?

たとえば「自転車の修理方法」という質問に近い文章を、大量の資料の中から探し出せます。質問と各文章をベクトルにして、コサイン類似度が高い順に並べるだけです。AIに社内文書を読ませて答えさせる仕組み(RAG)でも、関連資料を選ぶ中心の計算として働きます。

🌱 身近なたとえ

方位磁針で例えると分かりやすいです。2人がそれぞれ磁針を持っていて、針が同じ方角を指していれば「考えが近い」、正反対なら「真逆」と判断します。このとき、針の長さや人の身長は関係ありません。向いている方角だけを比べる、それがコサイン類似度の考え方です。

✅ まず覚えるポイント

  • 2つのベクトルの「向きの近さ」で意味の似具合を測る指標です
  • 値は -1 から 1 までで、1に近いほど意味が似ています
  • ベクトルの「長さ」は無視し、「向き」だけを見ます
  • セマンティック検索や RAG の中心となる計算です
  • 文章・単語・画像など、ベクトルにできるものなら何でも比べられます

🧭 よくある勘違い

値が大きいほど距離が近いということ?

距離ではなく「向きの近さ」です。コサイン類似度は矢印の角度に注目するので、長さ(大きさ)が違っても向きが同じなら高い値になります。「近い・遠い」という距離の感覚とは別ものだと考えると混乱しません。

1に近ければ必ず正解の文ということ?

値が高いのは「向きが似ている」だけで、答えとして正しいかは別の話です。元のベクトルがうまく意味をとらえていなければ、似て見えても的外れなこともあります。あくまで候補を絞る目安として使われることが多いです。

🧩 関連して覚えると楽な言葉

  • エンベディング(embedding): 文章や単語を意味を持った数字の並び(ベクトル)に変える技術
  • ベクトルデータベース(vector database): ベクトルをためて、似たものを高速に探せる保存場所
  • RAG: 関連資料を検索してからAIに答えさせる仕組み。資料選びでこの指標を使う
  • セマンティック検索(semantic search): 言葉の表記ではなく意味の近さで探す検索のやり方

🏁 ひとことでまとめ

2つのデータを矢印に見立てて、向きがどれだけそろっているかを数字にしたもの。それが意味の似ぐあいを測る目印になります。