word2vecで学習した単語ベクトルを、説明のため3次元に簡略化して示す。王=(3, 2, 1)、男性=(2, 1, 0)、女性=(1, 0, 1)、女王=(3, 0, 4)、王子=(4, 4, 2)、姫=(0, 3, 4)。ベクトル「王-男性+女性」に最も近い単語を、計算に使った3語を除いてコサイン類似度で選ぶ。選ばれる単語とそのコサイン類似度として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 D
この問題の論点:単語ベクトルの加減算による類推
ポイント
類推では、合成したベクトルとのコサイン類似度が最も大きい単語を答えにします。内積のままでは、ベクトルの長さに結果が左右されます。
選択肢ごとの解説
- A
不適切
王子との内積は8+4+4=16で候補の中で最大ですが、王子の長さは6なので、コサイン類似度は16÷(3×6)≈0.889です。長さの影響を除いて比べると、女王の約0.933に及びません。
- B
不適切
王+男性-女性=(4, 3, 0)と符号を逆にすると、王子との類似度が28÷(5×6)≈0.933になります。男性から女性への差を逆向きに加えた誤りで、正しくは(2, 1, 2)から計算します。
- C
不適切
2.8は、内積14を女王の長さ5だけで割り、合成したベクトルの長さ3で割り忘れた値です。コサイン類似度は2つのベクトルの長さの積で割るため、-1から1の範囲に収まります。
- D
適切 正解
王-男性+女性=(3-2+1, 2-1+0, 1-0+1)=(2, 1, 2)で、長さは3です。女王との内積は6+0+8=14、女王の長さは5なので、14÷(3×5)≈0.933となり、候補の中で最大です。
補足
3つの候補のコサイン類似度は、女王が14÷15≈0.933、王子が16÷18≈0.889、姫が11÷15≈0.733です。word2vecを提案した論文でも、このように合成したベクトルにコサイン距離で最も近い単語を答えとし、計算に使った単語は候補から除いています。
試験での狙われ方
「王-男性+女性≒女王」のような演算は、分散表現が単語の意味の関係をベクトルの差として表せる例として押さえておくとよい論点です。