ベクトル化(埋め込み表現 / Embeddings)って何ですか?
コサイン類似度とセットで理解しておくと、AIの仕組みがぐっとイメージしやすくなる「ベクトル化(埋め込み表現 / Embeddings)」について解説します。
1. ベクトル化とは?
一言で言うと、「人間の言葉(日本語や英語)を、AIが計算できる『数字の列』に翻訳すること」です。
コンピュータは計算機なので、「猫」や「楽しい」という文字のままでは意味を理解できません。そこで、言葉の意味を数値に変換する必要があります。
わかりやすいイメージ:「味の数値化」
言葉のベクトル化は、料理の味を数値化するのと似ています。例えば、ある料理の味を分析して、グラフにするとします。
- カレーライス: [辛さ: 8, 甘さ: 2, 温度: 9]
- ショートケーキ: [辛さ: 0, 甘さ: 9, 温度: 1]
- 担々麺: [辛さ: 9, 甘さ: 1, 温度: 9]
こうして数値化(ベクトル化)してしまえば、
「カレーと担々麺は数値が近いから、似ている料理だ(コサイン類似度が高い)」
「カレーとケーキは数値が全然違うから、似ていない(コサイン類似度が低い)」
と、計算で判定できるようになります。
AIはこれを言葉に対して行っています。**「意味の成分」**を数値化しているのです。
2. 言葉の「計算」ができるようになる
ベクトル化の面白いところは、言葉の意味を足したり引いたりできるようになる点です。
有名な例として**「王様 − 男性 + 女性 = ?」**という計算があります。
- 「王様」というベクトルから
- 「男性」という成分を引き算して、
- 「女性」という成分を足し算すると……
- AIの計算結果は、自然と「女王(Queen)」の近くに着地します。
このように、単なる記号の置き換えではなく、言葉の意味や関係性(ニュアンス)を含んで数値化しているのが、最近のAI(LLMなど)のすごいところです。
3. 実際のデータはどうなっている?
実際には、「辛さ」「甘さ」のように単純な3つ程度の項目ではなく、数百〜数千次元(数千個の数字の列)という膨大な項目で表現されます。
- 人間が見る言葉: 「今日の空は青い」
- ベクトル化されたデータ(イメージ): [0.024, -0.531, 0.982, ...(これが数千個続く)...]
この長い数字の列が、先ほどの話に出てきた**「空間上の矢印」**の正体です。
4. コサイン類似度との関係(まとめ)
ここまでの話を整理すると、AIのシステムは裏側で以下のような手順を踏んでいます。
- ベクトル化(Embeddings):
- 文章をAIに入力し、意味を表す「数字の列(矢印)」に変換する。
- コサイン類似度(Cosine Similarity):
- 変換された「数字の列(矢印)」同士の角度を計算し、似ているかどうかを判定する。
この2つは、「翻訳機(ベクトル化)」と「定規(コサイン類似度)」の関係のようなもので、セットで使われることがほとんどです。
ここまでの内容で、AIが「言葉の意味」をどう扱っているか、なんとなくイメージできましたでしょうか?

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