# テキスト埋め込み ## 定義 テキスト埋め込み(text embedding)は、テキスト文字列を実数値の密ベクトルに変換する手法であり、意味的に類似したテキストが埋め込み空間でも近くなるよう学習される。BERT のようなエンコーダー型モデルは文全体を単一のベクトルに圧縮し、コサイン類似度で意味的近接性を測ることができる。文書検索、クラスタリング、分類など多様なタスクに応用される。(Source: [[joisino-否定文理解-2024]]) ## 局所表現・分散表現と埋め込みの獲得方法 トークンの表現方法として、語彙 $V$ の要素数だけ次元を持ち該当要素のみ1とするワンホット(one-hot)ベクトルによる局所表現(local representation)が考えられるが、これはトークン数の2乗に比例する計算コストがかかり、かつ任意の2トークン間のEuclid距離が全て等しくなるため類似性を表現できないという欠点を持つ。これに対し、各次元に情報を分散させて連続的に表現する分散表現(distributed representation)は、局所表現より小さい次元でトークン間の類似性・関係性を表現できる。テキストを分散表現として使える特徴量に変換する操作が埋め込み(embedding)である。(Source: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] §2.1) 生成AIのように多種多様な言語・目的を扱いたい場合、人間による外部知識を明示的に使うより、データから言語特性を学習して埋め込みを獲得するほうが都合がよい。具体的には、トークンの穴埋め問題・次に来るトークンの予測・隣接文か否かの判定など、手持ちのテキストから自動生成できる問題を解かせることで埋め込みを学習する。代表的な次トークン予測の損失関数は $L(\theta) = -\sum_i \log p_\theta(t_i \mid t_{1:i-1})$ であり、この学習の理論的前提が[[分布仮説]](単語の意味はその単語が登場する文脈によって形成されるという仮説)である。(Source: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] §2.1) ## 構造的な制約と否定 テキスト埋め込みには構造上、否定文を正しく表現できないという根本的な制約がある。意味的に近い語(「東京」「京都」など)は埋め込み空間でも近接して配置されるため、「〇〇ではない」という否定に対し、〇〇だけに遠く他のすべての語に近いような単一ベクトルを求めることが幾何学的に不可能となる。その結果、肯定文と否定文が極めて高いコサイン類似度を示すケースが生じる。(Source: [[joisino-否定文理解-2024]]) 具体的な観測値(日本語 BERT: tohoku-nlp/bert-base-japanese-v3): - 「私はお寿司が好きです」 ↔ 「私の好きな食べ物はお寿司です」: 0.9695(同意) - 「私はお寿司が好きです」 ↔ 「私はお寿司が好きではないです」: 0.9762(正反対なのに高い) ## テキスト拡張による回避 LLM でテキストを数百文字に拡張すると、否定的な内容の文書は異なる肯定的な内容に展開され、同意・反意の区別が明確になる。拡張後の計測値: - A'(好き) ↔ B'(好き): 0.9494 - A'(好き) ↔ C'(嫌い): 0.9316 拡張後は単純な bag-of-words ベクトルでも同様の識別が可能になるほど効果が大きい。 ## マルチモーダル(テキスト・画像)埋め込み空間への拡張 ここまでの埋め込みはテキストという単一モダリティ内の話であったが、[[CLIP]] はテキストの埋め込みと画像の埋め込みを同一の空間に配置するという拡張を行う。テキストエンコーダー(Transformer デコーダー型モデル)の最後のトークンの出力特徴量と、画像エンコーダー(Vision Transformer)の [CLS] トークンの出力特徴量をそれぞれ正規化し、[[対照学習]]によって対応するテキスト・画像のペア(キャプションとその画像)が近く、対応しないペアが遠くなるように学習する。この学習には CLIP 独自に構築された4億組の画像・キャプションデータセット(WebImageText)が使われている。(Source: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 6 テキストと画像の融合]] §6.1) テキストのみの埋め込み(次トークン予測などの目的で学習)と、CLIP のようなテキスト・画像共通の埋め込み(対照学習で学習)は、どちらも「意味的に近いものを空間的に近づける」という原理は共有するが、何を「近い」の基準とするかの学習目的(objective)が全く異なる。前者は同一モダリティ内でのテキストの共起パターン(分布仮説)、後者は異なるモダリティ間の対応関係(このキャプションはこの画像を説明している)に基づく。 ## 横断的知見 - **分布仮説に基づく学習の成功と、その同じ原理が引き起こす構造的限界は表裏一体である**: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] は、埋め込みが分布仮説(文脈が似ていれば意味も似ている)に基づいて次トークン予測などのタスクからデータのみで学習されることを示す。一方で [[joisino-否定文理解-2024]] が報告する「肯定文と否定文が高いコサイン類似度を持つ」という問題は、まさにこの分布仮説的な学習の帰結として説明できる。「〇〇が好きだ」と「〇〇が好きではない」は文脈上ほぼ同じ単語(好き・お寿司など)を共有し出現位置も似ているため、文脈の近さから意味の近さを推定する埋め込みの学習原理そのものが、意味的に正反対な否定文を区別できない一因になっていると考えられる。(Source: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] §2.1, [[joisino-否定文理解-2024]]) - **埋め込みの学習目的(objective)が空間の意味構造を規定する原理は、単一モダリティ内でもモダリティ間でも成り立つ**: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] の次トークン予測は分布仮説に基づき同一モダリティ(テキスト)内の意味的類似性を学習するのに対し、[[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 6 テキストと画像の融合]] の CLIP は[[対照学習]]によってテキストと画像という異なるモダリティ間の対応関係を学習する。学習目的が変われば埋め込み空間に符号化される情報の性質も変わる: 次トークン予測ベースの埋め込みは否定文の区別を苦手とする構造的制約を持つ一方(joisino-否定文理解-2024)、CLIP の対照学習ベースの埋め込みはテキストと画像という全く異なる種類のデータを同じ空間で扱えるようになる。ただし後者も万能ではなく、「近い」ことと「情報が完全に一致する」ことは同義ではない(unCLIP のタイポグラフィ攻撃実験で iPod と誤分類された画像から特徴量を再生成してもリンゴの画像が得られる例、ch6 §6.2)。埋め込みは常に、学習目的が定義する「近さ」の基準の範囲でしか意味を捉えられないという点で、テキスト単体の埋め込みとマルチモーダル埋め込みは同じ限界の構造を共有する。(Source: [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] §2.1, [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 6 テキストと画像の融合]] §6.1-§6.2) ## 未解決の問い - 出力層の単語埋め込みをコンテキスト依存にした場合、否定文の埋め込み表現は改善されるか? - [[対照学習]](contrastive learning)ベースの埋め込みモデルは否定文の区別に効果があるか? CLIP はテキスト・画像間の対応関係を対照学習で学習するが、テキスト単体の対照学習(正例・負例のペアをどう構築するか)が否定文の識別に効くかは本書の範囲では検証されていない。 - 何文字以上のテキスト拡張があれば bag-of-words でも十分な識別精度が得られるか? - 分布仮説(文脈の近さ→意味の近さ)に基づく学習が否定文の区別を苦手とするのなら、文脈は近いが意味は正反対という他のケース(反意語、皮肉、比較級の対比など)でも同様の失敗が起きるか。Rubenstein and Goodenough(1965)の実験([[分布仮説]]参照)は類似度の高低は検証したが、正反対の意味を持つ語のペアは扱っていない。 - サブワード([[サブワードトークン化]])単位で埋め込みを学習する場合、単語単位の埋め込みと比べて否定表現(接頭辞「不」「非」やnot、否定の助動詞など)の扱いは改善されるか、悪化するか。 ## 関連 - [[否定文理解]] — テキスト埋め込みの構造的制約が直接影響する問題 - [[LLM向け情報検索]] — 埋め込みが中核的な役割を果たす応用 - [[文脈付き検索]] — 埋め込みの限界を補う拡張手法 - [[分布仮説]] — 埋め込みの学習原理そのものであり、構造的制約の起源でもある - [[サブワードトークン化]] — 埋め込みの入力単位を構築する分割手法 - [[対照学習]] — テキスト・画像の共通埋め込み空間を作る学習目的 - [[ビジョン言語モデル]] — マルチモーダル埋め込みを土台にした応用群 - [[CLIP]] — テキスト・画像埋め込みを同一空間に配置するモデル ## 出典 - [[joisino-否定文理解-2024]] - [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 2 入力データの特徴量化]] - [[@2025__Gihyo__原論文から解き明かす生成AI - Chapter 6 テキストと画像の融合]]