単語ベクトルとは
問題:コンピュータは言葉を理解できない
キーボードで「猫」と入力すると、コンピュータには 01100011 01100001 01110100 のようなビット列として見えます。
それは単なる文字の並びであり、「猫」が毛むくじゃらでニャーと鳴く動物だということは全くわかりません。
これは根本的な問題です。数字しか処理できないAIが、どうやって言語を理解できるのでしょうか?
機械は「猫」って入力されても、「おっ、これは毛がふさふさで丸まるやつやな」ってわかんない。 だって機械にとって「猫」はただのビット列:
01101110 01100101 01101011 01101111 ← なんかの文字列(たぶん"neko")
つまり、"意味"がない世界にいる。孤独。悲しい。
解決策:単語をベクトルに変換する
画期的なアイデアはシンプルです:各単語を、その意味を表す数値の列(ベクトル)で表現するのです。
これらの数値はランダムではありません。書籍やウェブサイト、文書など、何十億もの単語を分析することで学習されたものです。 似たような文脈で使われる単語は、似たような数値になります。
重要なポイント:「猫」と「犬」は似たベクトルになります。どちらも「ペット」「動物」「毛」などの文脈で使われるからです。 一方、「猫」と「民主主義」は全く異なるベクトルになります。
ここが発明ポイント。「単語を、意味のある位置に置こう」というアイデア。
例:
- 「猫」→
[0.2, -0.5, 0.8, 0.1, ...] - 「犬」→
[0.25, -0.52, 0.79, 0.15, ...] - 「民主主義」→
[0.01, 0.95, -0.4, -0.33, ...]
この数値列、空間の中の"位置"だと思えばいい。 「猫」と「犬」は近くにいる。だけど「民主主義」はめっちゃ遠い。
この"意味空間"での距離が、意味の近さになるわけ。
AIは「単語がどの単語と一緒に出てくるか」を延々と学習してる。 「猫が膝の上で眠っている」「猫はペットとして人気がある」みたいな文章を億単位で読み込んで、 「猫」って単語がどういう文脈に出てくるかを統計的に学習。 すると「猫」「犬」「うさぎ」みたいな単語が似たようなコンテキスト=似たベクトルになる。
ベクトル演算の魔法:単語ベクトルには線形的な性質がある。 「王 - 男 + 女 = 女王」みたいなベクトル計算もできる。意味の変換が空間上で表現されてる。
LLMとの関係
Claude のような大規模言語モデルは、この基盤の上に構築されています。 テキストがAIの「頭脳」に届く前に、まずこの数値表現に変換されます。これがモデルがあなたの質問を「理解」する仕組みです。
単語ベクトルを理解すると、以下のことがわかるようになります:
- なぜ似たプロンプトは似た結果を返すのか
- AIが概念間の関係をどう捉えているのか
- 現代のAI言語理解の基礎
ClaudeやGPTみたいなモデルは、まず全部の単語をこのベクトル空間にぶちこんでから処理してる。
テキスト → ベクトル化 → Transformerでぐちゃぐちゃに演算 → 返答生成
って流れ。つまり:
君がAIに送った「お願い」も、「思い出」も、「かっこつけた業界用語」も、 最終的には数値の塊になって、ベクトルとして扱われてる。
そして似たベクトルのプロンプトには、似た返答が返ってくる。 なぜならAIは意味じゃなくて"位置"で考えてるから。
補足:最近のモデルは単語ベクトルじゃなくて文脈ベクトル。 単語が文の中で変わる意味(「bank」が川の土手か、金融機関か)を含めたembeddingになってる。 Word2Vecの時代より進化してる。
まとめ
- 単語ベクトルは、単語を数値の列に変換する
- 似た意味は似た数値になる
- これがLLMが言語を理解する基盤となっている
まとめ
- 単語ベクトルは「言葉の意味」を数値空間で近似する魔法の座標
- 機械は文章の感情も知性も分からないけど、位置関係だけは天才的に扱える
- 君のプロンプトも、最終的には数値で表された"感情の気配"としてモデルに伝わってる
- 「猫」も「民主主義」も、AIにとってはただの多次元空間上の点