|

G検定対策!「単語の数値化の手法」がわかる学習ノート

AIが「言葉」を「数字」に変える旅

AIは「りんご」という文字をそのまま理解できません。AIが得意な「数字」に変換する必要があります。この「言葉を数字のリスト(ベクトル)に変える」技術が、自然言語処理の土台となります。

ステップ1:One-Hotベクトル表現

「単語を区別する」ための最初のステップ

  • やること:
    1. AIが知っている全単語の「辞書(ボキャブラリー)」を作ります。
    2. 各単語に「出席番号(ID)」を振ります。(例: 犬=3番, 猫=4番)
    3. 辞書の全単語数ぶんの「0」が並んだリストを用意します。
    4. 該当する単語の「出席番号」の場所だけを「1」にします。
  • 例(辞書が5単語の場合):
    • 犬 (3番) → [ 0, 0, 1, 0, 0 ]
    • 猫 (4番) → [ 0, 0, 0, 1, 0 ]
  • メリット:
    • コンピューターが扱いやすく、単語を「区別」できる。
  • デメリット(最重要):
    • 単語の「意味の近さ」が全く分からない
    • AIにとって、「犬と猫の関係」も「犬と車の関係」も、等しく「他人(関係性ゼロ)」に見えてしまう。

ステップ2:単語分散表現(単語埋め込み)

「単語の意味の近さ」を数字で表す

One-Hotベクトルの弱点を克服するため、「単語の意味」を「特徴のプロフィール帳」のような数字のリスト(ベクトル)で表現します。

  • イメージ: 各単語を「特徴」の座標で表す。
    • 犬 → [動物っぽさ: 0.9, 機械っぽさ: -0.8, ...]
    • 猫 → [動物っぽさ: 0.8, 機械っぽさ: -0.7, ...]
    • 車 → [動物っぽさ: -0.9, 機械っぽさ: 0.9, ...]
  • メリット:
    • AIは「犬と猫のリストは似ている(=距離が近い)」、「犬と車は似ていない(=距離が遠い)」と判断できる。
    • 「値」を持つため、ベクトルの足し算・引き算が可能になる。(例: 王様 - 男性 + 女性 ≒ 女王

どうやって「分散表現」を作るか?

この賢い「プロフィール帳」を作る戦略には、大きく2つの流派があります。

1. カウントベース手法

  • 戦略: 「アンケート集計」
  • やること: 膨大な文章(コーパス)を読み、「この単語の周りに、あの単語が何回来たか」をすべて数え上げ(カウントし)、巨大な「共起行列」を作ります。この集計表が、単語のプロフィールになります。

2. 推論ベース手法

  • 戦略: 「穴埋めクイズ」
  • やること: AIに「穴埋めクイズ」を解かせ、間違えるたびに「プロフィール帳」を少しずつ修正(学習)させます。クイズを解き終わる頃には、「副産物」として賢いプロフィール帳が完成しています。
  • 代表例: Word2Vec (ワードツーベック)

Word2Vecの仕組み

「穴埋めクイズ」で賢くなるAI

Word2Vecは、シンプルな2層のニューラルネットワーク(反省マシン)を使い、膨大なクイズを高速で解きます。

  • CBOW (シーボウ):
    • クイズ: 周りの単語(例: 「公園」「散歩」)から、真ん中の単語(「犬」)を予測する。
  • Skip-gram (スキップグラム):
    • クイズ: 真ん中の単語(「犬」)から、周りの単語(「公園」「散歩」)を予測する。
  • Window幅:
    • クイズの際、「前後何単語まで」を「周り」とみなすかの設定。
    • 狭い場合: 文法的に似た単語(例: 犬 ≒ 猫)を見つけるのが得意。
    • 広い場合: テーマ的に関連する単語(例: 犬 ≒ 散歩)を見つけるのが得意。

学習のポイント

AIの性能は、「何を学習データ(コーパス)にするか」や、「Window幅をどう設定するか」といった、人間の「目的」や「パラメータ設定」に大きく左右されます。AIは「目的」を達成する道具であり、その「目的」を決めるのは人間である、という視点が重要です。

類似投稿

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です