Word2Vec
隣の単語から意味を学び語を座標に変える方法
- Word2Vecは単語一つひとつを数字の座標に変える方法です。
- 意味を人が教えません。どんな隣とどう一緒に出てきたかだけを見て学びます。
- 似た隣を持つ単語どうしは座標も互いに近くなります。
- 座標どうしの向きに関係が宿ることもあります。国と首都を結ぶ向きが複数の国で似てくるようにです。
- 一つの単語に座標が一つしかないため、意味が複数ある言葉はつぶれてしまいます。 今のモデルはこの点を直しました。
目次
1たとえで理解する
野球中継を見ていると、選手の名前を知らなくてもその打順がどんな役割かは見当がつきます。一番と三番の間に立つ選手、四番の後ろに続く選手は仕事が違うからです。何試合分もの打順表を積み重ねて見ると、いつも似た前後の顔ぶれを持つ選手たちが目に留まります。そういう選手どうしは互いの場所を入れ替えても打線が大きく不自然にはなりません。
Word2Vecは単語をこうやって学びます。辞書から意味を持ってくる代わりに、その単語が文の中でどんな隣を伴って出てきたかを大量に集めます。前後が似ている単語どうしは入れ替えても文が大きくおかしくならず、そういう単語どうしは近い座標に置かれます。
ここでいう位置は文字どおりの座標です。単語ごとに数字の束が一つずつ付き、その数字が単語の位置を決めます。
2くわしく
意味を教えず隣で学びます
学習方法は驚くほど単純です。文の中の単語一つを隠し、その前後何マスかにどんな単語があったかを当てさせます。逆に、前後の隣を与えて真ん中の単語を当てさせる方式もあります。当たれば今の座標をそのままにし、外れれば座標を少しだけ動かします。
これを数億の文に対して繰り返すと、似た位置に出ていた単語が自然に近づきます。「コーヒー」と「紅茶」は飲む、カップ、熱いといった隣を分け合うので近づき、「コーヒー」と「ボルト」は一緒に出ることがほとんどないので遠ざかります。
人が意味を定義したことは一度もありません。一緒に出た記録だけから、意味に近い何かが作られます。この発想は言語学に昔からあったもので、Word2Vecはそれを計算で安く実現する道を開きました。
単語が数字の座標になります
学習が終わると単語ごとに数字の束が一つ残ります。ふつう数十から数百個の数字です。この数字たちが、とても広い空間の中の一点の位置を指します。
私たちが見られるのは二、三方向だけですが、実際の空間ははるかに多くの方向へ広がっています。ある方向は料理に関する性質を、ある方向は硬さと柔らかさを分けて含む、といった具合です。ただ、それぞれの方向が何を意味するかは人が決めたのではないので、名前を付けることはできません。
こう変えておくと、単語どうしがどれくらい似ているかを距離で測れます。検索で別の単語を使った文書を見つけたり、おすすめで似た項目をまとめたりする話はここから始まります。
座標どうしの向きに関係が宿ります
Word2Vecが広く知られた理由は、座標の並び方が思いのほか規則的だったからです。ある国からその国の首都へ向かう向きが、別の国でもほぼ同じ向きでした。単語の単数と複数、原形と過去形の間にも似た規則が見られました。
そのため座標を足したり引いたりするだけで関係を移して見られます。ある国の位置からその国の首都へ向かう向きを別の国にそのまま当てはめると、その国の首都の近くに届く、という具合です。
この規則がいつも正しいわけではありません。うまくいく関係もあれば、見当違いなところに届く関係もあります。それでも人が規則を教えたわけでもないのにこうした構造が生まれたことは、当時は大きな驚きでした。
単語一つに座標一つという限界
Word2Vecの最大の弱点は、単語ごとに座標がただ一つという点です。「お腹が痛い」の腹と「船に乗る」の船が同じ座標を分け合います。二つの意味が混ざった中途半端な位置に置かれるわけで、どちらの文にもぴったり合いません。
文の中の順序もほとんど捉えられません。窓の中にどんな単語があったかしか見ず、その単語が前にあったか後ろにあったかはあまり問いません。学習データに含まれる偏りをそのまま持ち込む問題もあります。職業と性別を結ぶ向きが作られてしまうのが代表例です。
今の言語モデルはこの限界を越えました。単語ごとに決まった位置を与える代わりに、同じ単語でも文によって違う座標を持たせます。Word2Vecはその出発点にある方法で、単語を数字に変えて扱うという発想そのものがここから広まりました。
3もう少し正確に
Word2Vecは2013年ごろ公開された学習方法で、真ん中の単語で隣を当てる方式と、隣で真ん中の単語を当てる方式の二つがあります。層が一つだけのごく浅いニューラルネットワークを使い、学習が終わるとネットワーク自体ではなく、その中にできた単語ごとの数字の束を結果として取り出して使います。
たとえがずれる点もあります。野球の打順は九つの場所しかなく監督が意図を持って組みますが、単語の座標は数百方向に広がった空間にあり、誰も場所を決めてくれません。また打順の隣には決まった順番がありますが、Word2Vecが見る隣は前後何マスかの中にいさえすればよく、順番はほとんど問いません。近いという言葉も私たちの知る距離とは少し違い、実際には原点から伸びる向きがどれくらい似ているかで測る場合が多いです。学習に使う文章が変われば座標も丸ごと変わるため、別々の場所で作った座標を混ぜて使うこともできません。
4やってみる
5よくある誤解
Word2Vecが単語の意味を知っていると思われがちですが、実際には一緒に出てきた隣の統計を集めて位置を決めただけです。
近くにあれば意味が似ていると考えられがちですが、実際には反対語どうしも隣が似ていて近くに置かれることがよくあります。
今のチャットボットもこの方式で単語を扱うと思われがちですが、実際には同じ単語でも文によって座標が変わる方式に変わりました。
7ひとこと要約
つまりWord2Vecは単語を前後の隣から学んで座標に置く方法で、単語を数字として扱う今日の方式の出発点です。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02