AIインフォグラフィックス集

AI Infographics Collection

単語を"ベクトル"にするとは?— ゼロからわかる Word Embedding

単語を"ベクトル"にするとは?
— ゼロからわかる Word Embedding

2025-04-28
言葉を数字の並び=ベクトルに変換すると、コンピュータは『意味』を計算できます。地図・方位磁石のたとえで、初心者でも直感的に理解できるようにまとめました。

そもそも"ベクトル"って何?

項目 ざっくり説明
スカラー 1 つの数字(温度 23℃ など)
ベクトル 方向と大きさを持つ数字のセット(「北東へ 3 km」など)
イメージ: 単語を "地図上の点" に置くと、距離や方向で意味の近さ を測れるようになる。
🗺️
地図
🧭
方位磁石
📏
距離

単語 → ベクトル化 3 ステップ

  • 語彙を用意
    例:{king, queen, man, woman, apple, orange …}
  • コンテキストを集める
    「king は king of England のように man, queen と一緒に出現」
    大量テキストから共起(一緒に出る)パターンを数える
  • 統計を圧縮して座標化
    Word2Vec / GloVe などのアルゴリズムが
    "似たコンテキストなら近い座標" になるように学習
📚
語彙
👯
共起
📊
座標

具体例:Word2Vec のしくみ

工程 何をしている?
Skip-gram 1 単語 → 周囲の単語を予測(例:kingqueen, royal
CBOW 周囲の単語 → 中央の単語を予測(例:the ___ andking
"当たり" や "ハズレ" を通じて 重み を更新 → ベクトル完成
ポイント: 予測がうまくいく=単語の意味空間が「いい感じ」に配置された証拠。
Skip-gram の例
context target
"the king of" the, of

ベクトルだからこそ出来る"意味の計算"

  • 足し算・引き算が通用
    king - man + woman ≈ queen
    "男性的要素" を引いて "女性的要素" を足すと queen に近づく
  • 📏 近さ = 類似度
    コサイン類似度 1.0 は同じ向き、0 は無関係
    appleorange は 0.85、applekeyboard は 0.1 など
  • 🔍 クラスタリング
    動物/食べ物/感情… 自然にグループ化できる
空間に配置された単語同士の関係性
数学的な操作で表現できる!

最新の流れ:文脈ベクトルへ

世代 代表技術 特徴
第1世代 Word2Vec, GloVe 単語ごとに固定ベクトル
第2世代 FastText 未知語をサブワードで表現
第3世代 BERT, GPT 文脈依存:同じ "bank" でも「川岸」か「銀行」かを区別
文脈ベクトル (Contextual Embedding) により、多義語も正しく扱えるように。
"bank" という単語の場合:
「川の土手
🏞️
「お金の銀行
🏦
文脈によって違うベクトルになる!

どこで使われている?

  • 🔍 検索エンジン:クエリと文書の意味的近さで順位付け
  • 🤖 チャットボット:ユーザ入力をベクトル化 → 意図を推定
  • 🛒 レコメンド:商品説明やレビューをベクトルにして類似アイテム抽出
  • 🌐 機械翻訳:意味距離を保ったまま別言語に写像
ベクトル空間の強み
言葉の「近さ」や「関係性」を
コンピュータが理解できる形に変換!

まとめ

  1. 単語をベクトルにすると、計算で意味操作 が可能に
  2. 学習は "共起パターンを似せる" ことで自然言語の統計を圧縮
  3. 現在は 文脈依存ベクトル で、同じ単語でも使い方に応じた座標を取得
これで 「単語をベクトルにする」とは
"言葉を地図に置くこと"
とイメージできたはず。
次は実際に Python のライブラリ(gensim, sentence-transformers など)で自作ベクトルを試してみましょう!