King - Man + Woman = Queen はLLMでも成り立つのか?
Photo by Liza Pooor on Unsplash
ウォンテッドリーでデータサイエンティストをしている右手です。
自然言語処理で有名な例に、King - Man + Woman = Queen があります。これは Word2Vec などの古典的な静的単語埋め込み(embedding)において、単語間の意味関係がベクトルの加減算として表現できることを示す代表例です。
では、最新の大規模言語モデル(LLM)でも同じように「意味の演算」はできるのでしょうか?
ふと疑問に思い、いくつかの埋め込み表現で検証してみました。
結論から言うと、少なくとも Decoder-only LLM の「トークン埋め込み(token embedding)」では、この関係性は今回の設定ではほとんど成立しませんでした。
この記事では、Word2Vec/Qwen3-8B/Sentence-BERT を使って、King - Man + Woman が Queen に近づくかを簡単に比較し、その理由を整理します。
目次
King - Man + Woman = Queen とは?
検証したモデル
Word2Vec の場合:成立する
Qwen3-8B の場合:ほぼ成立しない
Sentence-BERT の場合:ある程度成立する
なぜLLMでは意味の演算ができないのか?
1. Word2Vecは「ベクトル自体が辞書」
2. token embeddingは「初期値」に近い
まとめ
King - Man + Woman = Queen とは?
この例は、
- 「王(King)」のベクトルから
- 「男(Man)」を引き
- 「女(Woman)」を足す
ことで、その結果が「女王(Queen)」に近づく、というものです。
単語の意味や関係性がベクトル空間上で線形に配置されていることを示す例として、広く知られています。
検証したモデル
本記事では、代表的な例である King - Man + Woman = Queen が、異なる種類の埋め込み表現においてどの程度成立するかを比較しました。
- Word2Vec:静的単語埋め込み
- Qwen3-8B:Decoder-only LLM の token embedding
- Sentence-BERT:Bi-encoder の埋め込みモデルにおける token embedding
演算結果ベクトル v = emb(king) - emb(man) + emb(woman) を作り、以下を確認しました。
- v と queen のコサイン類似度
- v に最も近いトークン/単語(語彙全体)
※ Qwen と Sentence-BERT においては、token embedding のみを使用しており、中間層や最終層は扱っていません。また、実験で入力する単語はすべて小文字にしています。
Word2Vec の場合:成立する
まず、ベースラインとして Word2Vec を用いて演算を行いました。
- queen とのコサイン類似度:0.695
- 上位近傍語:
- 1位 queen(0.695)
- 2位 prince(0.633)
演算結果が queen に最も近く、Word2Vec で知られるような線形構造が確認できます。
Word2Vec では、「各単語ベクトルが意味を直接表現する」ように学習されるため、性別や地位といった関係性が空間上で線形に配置されやすいことが知られています。
Qwen3-8B の場合:ほぼ成立しない
次に、Qwen3-8B の token embedding を用いて、同様の演算を行いました。
- queen とのコサイン類似度:0.0529
- v の近傍トークン:
- 1位 king(0.6172)
- 2位 woman(0.4601)
演算結果 v は queen から遠く、元の king や woman に近いベクトルとなりました。
この結果から、Decoder-only LLM の token embedding においては、Word2Vec で観測されるような線形構造は(今回の設定では)明確には現れにくいことがわかります。
Sentence-BERT の場合:ある程度成立する
比較として、Sentence-BERT でも同様の実験を行いました。
- queen とのコサイン類似度:0.5115
- 上位近傍語:
- 1位 queen(0.5115)
- 2位 kings(0.4629)
Word2Vec ほど明確ではないものの、演算結果は queen に比較的近い位置に配置されており、線形関係が一定程度成立していることが確認できます。
Sentence-BERT は、文全体の埋め込み表現が意味的に近い文が近づくように学習されています。そのため、Word2Vec ほど明確ではないものの、一定の意味構造がベクトル空間に現れている可能性があります。
なぜLLMでは意味の演算ができないのか?
ここまで見たように、Word2Vec では線形関係が成立する一方で、LLM の token embedding では同じ性質はほとんど観測されませんでした。
この差は、embedding が果たす役割の違いによるものと考えられます。
1. Word2Vecは「ベクトル自体が辞書」
Word2Vec のような静的単語埋め込みでは、各単語に対応するベクトルそのものが意味を直接表現する必要があります。そのため、単語間の関係性が空間に線形に配置されやすく、結果として King - Man + Woman = Queen のような演算が成立します。
2. token embeddingは「初期値」に近い
一方で、Decoder-only LLM の token embedding は、トークン ID を連続ベクトルに変換するための初期表現です。
LLM ではこの embedding を出発点として、Attention や FFN による非線形変換を繰り返しながら、層を通じて文脈化された表現が構築されます。
そのため、token embedding 単体に対して Word2Vec と同じ線形構造を期待するのは難しいと考えられます。
3. embedding空間の性質も違う(異方性)
さらに、Transformer 系モデルでは、ベクトルが特定方向に集中する「異方性(anisotropy)」が観測されることが知られています。
この場合、コサイン類似度に基づく近傍検索が、意味的な近さを必ずしも適切に反映しないことがあります。
ただし、異方性の程度はモデルや層によって異なり、平均除去や whitening などで改善する場合も報告されています。
まとめ
Word2Vec では King - Man + Woman = Queen のような線形関係が成立しますが、Decoder-only LLM の token embedding では、同じ性質は(今回の設定では)ほとんど見られませんでした。
これは LLM に意味がないというよりも、意味表現が embedding 層に直接格納されているのではなく、Transformer 内部の計算過程を通じて文脈的に構築されるためだと考えられます。
「単語ベクトル=意味辞書」である Word2Vec と、「計算によって意味を構築する」LLM では、embedding の役割が根本的に異なることが、今回の実験から確認できました。