1. 定義と概要
分散表現(Distributed Representation)とは、単語や文書が持つ意味を、1つの次元だけに割り当てるのではなく、複数の次元にまたがる数値の組み合わせ(数百次元程度の密な実数値ベクトル)で表す方式です。単語埋め込み(Word Embedding)とも呼ばれ、意味の近い単語ほどベクトル空間上で近い位置に配置される点が特徴です。
たとえば「東京」と「大阪」のように意味的に関連する単語同士は、ベクトル同士の距離が近くなります。
従来、単語をコンピュータで扱う際には、語彙の中の1語だけに1を、それ以外の次元に0を割り当てるワンホットベクトル(局所表現)が使われてきました。しかし局所表現には、語彙数が増えるほどベクトルの次元数がそのまま増えてしまう次元爆発と呼ばれる問題があり、さらにどの単語同士も同じ距離になるため意味の近さを表現できない点も弱点です。
こうした弱点を補うため、分布仮説(単語の意味は、その周辺に出てくる単語によって決まる、という考え方)を土台に、単語を密で低次元なベクトルへ変換する分散表現の考え方が発展しました。
2. 試験対策ポイント
分散表現の性質をつかむうえでまず整理したいのは、局所表現との違いです。局所表現は語彙数と同じ次元数を持つ疎なベクトル(値のほとんどが0であるベクトル)で、単語同士の意味的な近さを直接表現することが難しいのに対し、分散表現は数百次元程度の密なベクトルで、意味の近さをベクトル間の距離として表現できます。この対比は、分散表現を理解するうえでの中心的な論点です。
分散表現を得る代表的な手法として、word2vec・fastText・ELMo の名前と位置づけもあわせて整理しておきたい観点です。word2vecは、分布仮説をニューラルネットワーク(人間の神経回路を模した計算の仕組み)で実装した代表的な手法です。
fastText は、単語をさらに細かい文字のかたまり(サブワード)に分解して学習することで、辞書にない未知の単語にも対応しやすくなりました。ELMo は、同じ単語であっても文脈に応じて異なるベクトルを与える文脈依存型の手法で、3つは分布仮説を出発点として段階的に発展してきた流れとして整理できます。
分散表現には、ベクトル同士の足し算・引き算が単語の意味の足し算・引き算に対応する加法構成性(ベクトル同士の演算が意味の演算に対応する性質)と呼ばれる性質も特徴的です。「王」から「男」を引いて「女」を足すと「女王」に近いベクトルになる例がよく知られています。
ただし、この性質が成立すると確認されているのは限定的な組み合わせにとどまり、あらゆる単語の組み合わせで常に意味的に妥当な結果になるわけではない点は、取り違えやすいところです。
3. 関連概念との比較・相違点
分散表現と最も混同しやすいのが、ワンホットベクトル、つまり局所表現です。最大の違いは、1つの単語を1つの次元だけに対応づける疎で高次元な表し方か、複数の次元にまたがる数値の組み合わせで表す密で低次元な表し方かという、表現方式そのものにあります。両者の性質を並べると、違いがはっきりします。
| 観点 | 局所表現(ワンホットベクトル) | 分散表現 |
|---|---|---|
| 次元数 | 語彙数と同じだけ必要 | 数百次元程度 |
| ベクトルの中身 | 値のほとんどが0の疎なベクトル | 実数値が並ぶ密なベクトル |
| 意味の近さ | 直接は表現できない | ベクトル間の距離として表現できる |
意味の近さを距離として扱えるかどうかは、実務上の使い分けにもつながります。
もう1つ整理しておきたいのが、分布仮説との関係です。分布仮説は「単語の意味は周辺に出現する単語によって決まる」という理論的な考え方であるのに対し、分散表現はこの考え方を踏まえて単語を実際に数値ベクトルとして表す具体的な表現方式です。
最大の違いは、分布仮説が理論、分散表現がその理論を反映した実装にあたる点にあります。分布仮説そのものの詳細に立ち入らなくても、分散表現が分布仮説を土台にして生まれた表現方式であるという位置づけです。
4. ビジネス・実務での活用シナリオ
検索やレコメンドの領域では、意味の近い単語ほどベクトル空間上で近くに配置される性質を利用し、キーワードが完全に一致しなくても類義語を検索結果に含めたり、類似する商品やコンテンツをレコメンドしたりする仕組みに分散表現が使われています。表記の揺れや言い回しの違いを吸収できるため、利用者が意図した情報にたどり着きやすくなる効果があります。
機械翻訳やかな漢字変換の領域でも、分散表現は重要な役割を果たしています。単語を数値ベクトルとして扱えるようになることで、ニューラルネットワークへの入力がしやすくなり、翻訳や変換の精度向上に寄与する仕組みです。単語同士の意味的な関係がベクトルの位置関係として保たれているため、文脈に沿った自然な変換結果を選びやすくなります。
対話システム(利用者からの問いかけに自動で応答する仕組み)やチャットボット(会話の形式でやり取りするプログラム)の分野では、ユーザーの発話に含まれる単語を分散表現に変換し、意味的な類似度を計算する形で活用されています。
表面的な単語の一致だけでなく意味の近さをもとに判断できるため、ユーザーの意図理解や適切な応答の選択の精度が高まります。定型文の一致に頼る仕組みに比べて、多様な言い回しに対応できる点が実務上の強みです。
5. 要点まとめ
- 分散表現は、1つの単語の意味を複数の次元にまたがる数値の組み合わせ(数百次元程度の密なベクトル)で表す方式で、単語埋め込みとも呼ばれます。
- 語彙数と同じ次元数になり意味の近さを表現できない局所表現(ワンホットベクトル)の弱点を、密で低次元なベクトルへの変換によって克服した表現方式です。
- word2vec・fastText・ELMo など分散表現を得る代表的な手法があり、「王-男+女≒女王」のようなベクトル演算が成立する例も知られていますが、あらゆる組み合わせで常に成立するわけではありません。
6. 確認問題
問1分散表現とは、1つの単語の意味を、複数の次元にまたがる数値の組み合わせ(ベクトル)で表す方式である。
解答・解説をみる
○ 正しい
分散表現の定義そのものであり、数百次元程度の密な実数値ベクトルとして単語を表す点が特徴です。単語埋め込みとも呼ばれます。
問2局所表現(ワンホットベクトル)は、語彙数が増えるほどベクトルの次元数が増える一方、単語同士の意味的な近さを直接表現することは難しい。
解答・解説をみる
○ 正しい
局所表現は1つの単語に1つの次元だけを割り当てるため語彙数と同じ次元数になり、どの単語同士も同じ距離になることから意味の近さを表現できません。この弱点を補うのが分散表現です。
問3分散表現のベクトル演算(例:「王」-「男」+「女」)は、どのような単語の組み合わせであっても常に意味的に妥当な結果を返す。
解答・解説をみる
× 誤り
ベクトル同士の演算が意味の演算に対応する加法構成性を示す例として知られていますが、成立が確認されているのは限定的な組み合わせであり、あらゆる単語の組み合わせで常に成立するとは言えません。正しくは、成立する例と成立しない例が混在すると理解しておく必要があります。

