ベクトル化(埋め込み表現 / Embeddings)って何ですか?

U3
2025/11/25
2025/11/25

コサイン類似度とセットで理解しておくと、AIの仕組みがぐっとイメージしやすくなる「ベクトル化(埋め込み表現 / Embeddings)」について解説します。


1. ベクトル化とは?


一言で言うと、「人間の言葉(日本語や英語)を、AIが計算できる『数字の列』に翻訳すること」です。

コンピュータは計算機なので、「猫」や「楽しい」という文字のままでは意味を理解できません。そこで、言葉の意味を数値に変換する必要があります。


わかりやすいイメージ:「味の数値化」


言葉のベクトル化は、料理の味を数値化するのと似ています。例えば、ある料理の味を分析して、グラフにするとします。

  1. カレーライス: [辛さ: 8, 甘さ: 2, 温度: 9]
  2. ショートケーキ: [辛さ: 0, 甘さ: 9, 温度: 1]
  3. 担々麺: [辛さ: 9, 甘さ: 1, 温度: 9]

こうして数値化(ベクトル化)してしまえば、

「カレーと担々麺は数値が近いから、似ている料理だ(コサイン類似度が高い)」

「カレーとケーキは数値が全然違うから、似ていない(コサイン類似度が低い)」

と、計算で判定できるようになります。

AIはこれを言葉に対して行っています。**「意味の成分」**を数値化しているのです。


2. 言葉の「計算」ができるようになる


ベクトル化の面白いところは、言葉の意味を足したり引いたりできるようになる点です。

有名な例として**「王様 − 男性 + 女性 = ?」**という計算があります。

  1. 「王様」というベクトルから
  2. 「男性」という成分を引き算して、
  3. 「女性」という成分を足し算すると……
  4. AIの計算結果は、自然と「女王(Queen)」の近くに着地します。

このように、単なる記号の置き換えではなく、言葉の意味や関係性(ニュアンス)を含んで数値化しているのが、最近のAI(LLMなど)のすごいところです。


3. 実際のデータはどうなっている?


実際には、「辛さ」「甘さ」のように単純な3つ程度の項目ではなく、数百〜数千次元(数千個の数字の列)という膨大な項目で表現されます。

  1. 人間が見る言葉: 「今日の空は青い」
  2. ベクトル化されたデータ(イメージ): [0.024, -0.531, 0.982, ...(これが数千個続く)...]

この長い数字の列が、先ほどの話に出てきた**「空間上の矢印」**の正体です。


4. コサイン類似度との関係(まとめ)


ここまでの話を整理すると、AIのシステムは裏側で以下のような手順を踏んでいます。

  1. ベクトル化(Embeddings):
  2. 文章をAIに入力し、意味を表す「数字の列(矢印)」に変換する。
  3. コサイン類似度(Cosine Similarity):
  4. 変換された「数字の列(矢印)」同士の角度を計算し、似ているかどうかを判定する。

この2つは、「翻訳機(ベクトル化)」「定規(コサイン類似度)」の関係のようなもので、セットで使われることがほとんどです。

ここまでの内容で、AIが「言葉の意味」をどう扱っているか、なんとなくイメージできましたでしょうか?



コメント

コメントはまだありません。