1. 記号から幾何へ — one-hot の限界
いちばん素朴な単語の数値化は one-hot ベクトルです。語彙に番号を振り、自分の番号だけ 1、残りは全部 0。しかしこの表現には致命的な欠点があります — どの2単語を選んでも距離が同じなのです。「王と女王は近い」「王と電車は遠い」という情報がどこにもありません。
下のデモで単語を選び、「埋め込みに変換」ボタンを押してみてください。巨大でスカスカな 0/1 の列が、小さくて密なベクトルに変わり、右側の「距離」に意味の差が現れます。
one-hot ⇔ 埋め込み — 表現が変わると「距離」が生まれる
左=各単語のベクトル(1行が1単語)、右=選択中の単語との距離。one-hot では全単語がお互いに距離 √2 で並ぶだけ。埋め込み(ここでは4次元)では、猫⇔犬・車⇔電車のような近さが数値になります。実際の語彙は5万語規模 — one-hot だと5万次元、埋め込みなら数百次元で済みます。
POINT — 埋め込み層の正体は「表引き」
埋め込み層は難しい計算をしていない。単語ID → ベクトル の巨大な対応表(行列)を1回引くだけ。ただしこの表の中身は固定ではなく、学習によって「意味がうまく配置されるように」少しずつ更新されていく。
2. 意味の地図 — 距離と方向が意味になる
うまく学習された埋め込み空間では、単語たちは意味ごとの島を作って並びます。さらに面白いのは方向にも意味が宿ること。「男→王」の方向は「王族らしさ」、「男→女」の方向は「性別」を表し、ベクトルの足し引きで単語の意味を操作できます。
点をクリックすると最も近い単語との類似度が出ます。「王 − 男 + 女 = ?」ボタンで有名なベクトル演算のアニメーションを見てみましょう。
2次元に圧縮した埋め込み空間 — クリックで最近傍、ボタンでベクトル演算
単語の点をクリックすると最も近い語が表示されます
「王−男」で王から性別の情報を抜き、そこに「女」を足すと…着地点にいるのは「女王」。word2vec(2013)がこの性質を示したとき、世界中の研究者が驚きました。意味の関係が平行なベクトルとして空間に埋め込まれているのです。
vec(王) − vec(男) + vec(女) ≈ vec(女王)
意味の「差」がベクトルの「差」に対応する — アナロジー(類推)が幾何になる
3. 近さを測るものさし — コサイン類似度
埋め込みの世界で最もよく使う「近さ」の指標がコサイン類似度です。2本のベクトルのなす角 θ のコサインで、長さの違いを無視して「向きがどれだけ揃っているか」だけを見ます。
cos θ = a·b / (‖a‖ ‖b‖)
+1 = 同じ向き(意味が近い) / 0 = 直交(無関係) / −1 = 正反対
コサイン類似度メーター — 2単語のベクトルの「なす角」を見る
水色=単語A、オレンジ=単語B。角度が小さいほど cos θ は 1 に近づき「意味が似ている」、直角なら 0 で「無関係」、逆向きなら −1。「王と女王」「犬と猫」「王と電車」などを試して直感をつかんでください。
4. 埋め込みはどう学習されるのか — 分布仮説
意味の座標は人間が手で決めるのではなく、大量の文章から自動で学習されます。その原理が分布仮説 — 「近くに現れる単語は、意味も近い」。word2vec などは、文の上を文脈窓をスライドさせながら、いっしょに現れた(共起した)単語ペアの埋め込みを空間内で引き寄せるだけで、意味の地図を作り上げます。
分布仮説を動かす — 共起した単語が引き寄せ合う
上=文の上をスライドする文脈窓(幅3)。窓の中で共起した単語ペア(緑の線)が、下の埋め込み空間で引き寄せられます。注目は「猫」と「犬」— 一度も同じ窓に現れないのに、どちらも「魚・肉・食べた」の近くに引っ張られるため、間接的にどんどん近づいていきます。
注意 — 埋め込みは「意味を理解」しているわけではない
埋め込みが捉えているのはあくまで共起の統計。だからコーパスの偏見(バイアス)もそのまま学習してしまうし、「似た文脈に出るが意味は逆」の単語(安い/高い など)が近くに置かれることもある。万能の意味理解ではなく「使われ方の地図」だと考えるのが正確。
5. まとめ
- one-hot は巨大・スカスカ・全単語が等距離 — 意味の情報を持てない。
- 埋め込みは低次元・密なベクトル。意味の近さが距離に、意味の関係が方向になる。
- 近さの定番ものさしはコサイン類似度(なす角のコサイン)。
- 学習の原理は分布仮説 — 共起する単語を空間で引き寄せるだけで意味の地図ができる。
一歩先へ — 現代のLLMもすべて入口は埋め込み層
ChatGPT のような大規模言語モデルも、入力の最初の一歩は必ずトークン → 埋め込みベクトルの変換(数千〜1万次元超)。しかも現代のモデルでは、埋め込みは文脈によって変化する「文脈化埋め込み」へ進化している。その変化を起こす仕組みこそ、次のレッスンで学ぶ Attention だ。