【ワードツーベック】

Word2Vec とは?

💡 単語に「住所」を与えて、意味の近さを距離で測れるようにした革命的手法
📌 このページのポイント
Word2Vec: 単語をベクトルに変換 動物 りんご バナナ みかん 果物 日本 東京 フランス ベクトル演算 王 − 男 + 女 ≒ 女王 東京 − 日本 + フランス ≒ パリ 意味的な関係を 数値ベクトルで表現 似た意味の単語は 近い位置にマッピング ※ 自然言語処理の基盤技術。単語の意味を数値化する
Word2Vecのイメージ
ひよこ ひよこ

Word2Vecってなに?単語をベクトルにするってどういうこと?

ペンギン先生 ペンギン先生

コンピュータは文字のままだと計算できないから、単語を数字の並び(ベクトル)に変換するんだよ。Word2Vecは「似た文脈で使われる単語は似た意味を持つ」っていう考え方で、各単語に200〜300次元くらいの数字の住所を割り当てるんだ

ひよこ ひよこ

「king - man + woman = queen」って有名な例、あれ本当に計算で出るの?

ペンギン先生 ペンギン先生

出るんだよ、これが。kingのベクトルからmanのベクトルを引くと「王族っぽさ」みたいな成分が残る。そこにwomanを足すとqueenに一番近いベクトルになる。単語の意味関係が足し算・引き算で表現できるって発見は衝撃的だったんだ

ひよこ ひよこ

CBOWとSkip-gramって何が違うの?

ペンギン先生 ペンギン先生

予測の方向が逆なんだ。CBOWは「周りの単語から真ん中の単語を当てる」、Skip-gramは「真ん中の単語から周りの単語を当てる」。一般的にSkip-gramの方が出現頻度の低い単語にも強いって言われてるよ。大規模コーパスならCBOWの方が速い

ひよこ ひよこ

今のChatGPTとかもWord2Vecを使ってるの?

ペンギン先生 ペンギン先生

直接は使ってないけど、考え方の土台になってるよ。GPTBERTもまず単語(トークン)をベクトルに変換する「埋め込み層」があるんだ。Word2Vecがその概念を切り拓いたって意味で、現代NLPの出発点と言っていいね

ひよこ ひよこ

じゃあ今からWord2Vecを勉強する意味ってあるの?

ペンギン先生 ペンギン先生

あるよ。ベテランでも意外と知らないんだけど、Word2Vecの学習で使われる「ネガティブサンプリング」って技術は、今の対照学習の原型なんだ。CLIPとかSimCLRみたいな最新手法の根っこにWord2Vecの発想がある。あと、Word2Vecのベクトルには学習データの偏見がそのまま反映される問題(例えば「doctor」が「man」に近くなる)があって、これが今のLLMのバイアス問題を考える上でも重要な教訓になってるんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Word2Vec」って出てきたら「単語を数字の列(ベクトル)に変換して、意味の近さを計算できるようにした技術」と思えればだいたいOK!
📖 おまけ:英語の意味
「Word to Vector」 = 単語からベクトルへ
💬 そのまんまのネーミングだけど、この「単語をベクトルに変換する」ってアイデア自体が当時は革命的だったんだよ。それまではone-hotエンコーディングっていう、単語の数だけ次元がある超スカスカなベクトルしかなかったからね
← 用語集にもどる