「ベクトル表現」「埋め込み表現」「埋め込みベクトル」を簡単に整理してみる
はじめに
LLMやRAGについて調べているとよく
「ベクトル表現」「埋め込み表現」「埋め込みベクトル」
といった用語を目にします。
どれも似たように使われるので「結局同じなのか?」「それぞれどう違うのか?」と混乱しやすいです。
この記事では、それぞれの意味と関係をシンプルに整理してみました。
ベクトル表現
ベクトル表現とは、テキストやデータを 数値の並び(ベクトル) に変換したものです。
広い意味では「数値化されていればベクトル表現」と言えます。
ー代表的なベクトル表現ー
-
One-hot表現
単語が語彙に含まれているかどうかを 0/1 で表す。
猫 → [1, 0, 0, 0, 0]
好き → [0, 0, 0, 0, 1] -
TF-IDF
単語の出現頻度に基づいて重みをつける。
「猫が好き」 → [0.7, 0.0, 0.0, 0.0, 0.5]
「犬も好き」 → [0.0, 0.6, 0.0, 0.0, 0.5] -
BERTなどの埋め込み
深層学習で学習された「意味を反映する」ベクトル。
猫 → [-0.15, 0.44, 0.02, ...]
好き → [ 0.11, -0.40, 0.90, ...]
👉 これらはすべて「ベクトル表現」です。
ただし、One-hot や TF-IDF は 単語の出現パターン を数値化しただけなので、
「猫」と「犬」のように意味的に近い単語をうまく捉えることが難しいです。
一方、BERTのようなモデルで得られるベクトルは「意味の近さ」が数値空間上の距離として表現されます。そのため「猫」と「犬」が近い位置に、「猫」と「車」は離れた位置に配置されるようになります。
埋め込み表現
埋め込み表現とは、ベクトル表現の中でも 意味的な情報を反映したもの を指します。
- 「猫」と「犬」のベクトルが近い
- 「猫」と「車」のベクトルは遠い
👉 このように、意味的な類似度が数値空間の近さで表される のが埋め込み表現の特徴です。
ー代表的な埋め込みモデルー
埋め込み表現を作るためにはモデル(手法)が必要です。
代表的な埋め込みモデルをいくつか紹介します。
近年よく使われる代表的なモデルをいくつか紹介します。
-
Word2Vec
単語を意味的に近い位置に配置する古典的モデル。 -
BERT / Sentence-BERT
文脈を考慮し、単語や文全体をベクトル化できるモデル。
Sentence-BERT は特に「文レベルの検索」に強いです。 -
OpenAI Embeddings
APIとして提供されており、高品質な埋め込みを手軽に利用可能。
検索やクラスタリングなど幅広い用途で使われます。
👉 これらのモデルを通して得られる数値が「埋め込み表現(埋め込みベクトル)」です。
埋め込みベクトル
「埋め込みベクトル」とは、埋め込み表現を **具体的な数値ベクトルとして強調した言い方です。
概念的には「埋め込み表現」と同じですが、実装や技術的な説明では「ベクトル」という形で出力されることを強調して「埋め込みベクトル」と呼ぶイメージですかね。
例:
「この文の埋め込みベクトルは 768 次元です」
まとめ
用語は似ているのでややこしいですが
- ベクトル表現 = 一番広い言葉
- 埋め込み表現 ≒ 埋め込みベクトル = 意味を保持したベクトル(モデルによって生成される)
- 埋め込みモデル = 埋め込みを生成するためのモデル(Word2Vec, BERT など)
と理解すればスッキリします👍
Discussion