最終更新日:2026年8月21日
gk nlp machine_learning
まず結論
分散表現(Distributed Representation)とは、単語などを低次元の連続値ベクトルで表し、複数の次元に情報を分散して持たせる考え方です。
G検定では、まず次で切り分けます。
- One-hot → 高次元・疎・単語同士の近さを直接表しにくい
- TF-IDF → 頻度にもとづく重み付きベクトル
- 分散表現 → 低次元・密・学習によって類似関係を表しやすい
直感的な説明
One-hotは、単語に別々の番号札を付けるイメージです。
一方、分散表現は単語を地図上の座標に置くイメージです。
学習の結果として、たとえば
- 「犬」と「猫」は近い
- 「犬」と「自動車」は遠い
という関係をベクトル空間上で表せることがあります。
重要なのは、最初から意味が埋め込まれているのではなく、学習目的やデータを通して有用な表現が得られるという点です。
定義・仕組み
One-hot表現
語彙数と同じ次元を持ち、該当する単語だけ1、他を0にします。
犬 → [1, 0, 0]
猫 → [0, 1, 0]
車 → [0, 0, 1]
異なる単語は別々の軸になるため、ベクトルそのものから意味的な近さは分かりません。
TF-IDF
TF-IDFは、文書内の出現頻度と、文書集合での珍しさを使って各単語へ重みを付けます。
- 文書表現として有用
- 各次元は基本的に語彙に対応する
- 単語間の意味的な近さを直接学習する仕組みではない
そのため、TF-IDFは通常、単語分散表現とは区別します。
分散表現
分散表現では、単語を低次元の実数ベクトルで表します。
代表例として、
- Word2Vec
- GloVe
- FastText
などがあります。
これらは学習方法は異なりますが、単語を密なベクトルで表す点が共通しています。
BERTとの違い
Word2Vecなどの基本的な単語埋め込みは、同じ単語に基本的に同じベクトルを割り当てる静的表現です。
一方、BERTなどでは、同じ単語でも周囲の文脈に応じて表現が変わります。
詳しくはWord2VecとBERTの違いで確認できます。
いつ使う?(得意・不得意)
向いている場面
- 単語の類似度を扱いたい
- ニューラルネットワークへ単語を入力したい
- 高次元なOne-hotを低次元の密な表現へ変換したい
注意点
- 分散表現だから必ず意味関係を完璧に捉えるわけではない
- 学習データや学習目的に依存する
- Word2Vecのような静的表現は、文脈による語義の変化を直接表しにくい
G検定ひっかけポイント
TF-IDFも単語をベクトル化するから分散表現
誤りです。
TF-IDFは主に頻度にもとづく疎な文書表現で、Word2Vecなどの密な分散表現とは区別します。
One-hotでも意味的な近さが分かる
誤りです。
One-hotは単語を別々の軸に割り当てるため、意味的類似性を直接表しません。
BERTとWord2Vecは同じ種類の表現
どちらもベクトル表現を使いますが、
- Word2Vec → 基本的に静的な単語表現
- BERT → 文脈依存の表現
という違いがあります。
判断基準
- 0と1で語を区別 → One-hot
- 頻度・珍しさ → TF-IDF
- 密なベクトル・意味的な近さ → 分散表現
- 文脈によって表現が変化 → BERTなどの文脈表現
まとめ(試験直前用)
- 分散表現=低次元・連続値のベクトル表現
- One-hot=高次元・疎で、意味的近さを直接表しにくい
- TF-IDF=頻度にもとづく重み付けで、通常は分散表現と区別
- Word2Vec・GloVe・FastTextは代表的な単語分散表現
- 静的表現か、文脈で変わる表現かも確認する