埋め込みベクトルの差分を眺めていると、「この方向は意味の違いを表している」と言いたくなる瞬間がある。けれど文字を少し替えただけの差分には、語彙的な意味とは別に、表記や音韻の形そのものにモデルが反応した成分が混ざる。そこを統制しないまま解釈を急ぐと、もっともらしい意味論ができあがってしまう。
今回は、日本語の清音から濁音への変換(たとえば「てほ」→「でほ」)で観察していた埋め込み空間の一貫した方向について、疑似語を使った対照実験を行った。結論を先に言えば、以前「意味極性」の候補と見ていた軸には、少なくとも無視できない形式駆動の成分があった。これは発見を否定する話ではなく、何を測れているのかを正確にし直すための話である。
「意味ゼロ」のペアを置く
実験では、辞書語彙ではないCV-CV型の疑似語12語を同じ基底として、三種類の変換を作った。第一は清音→濁音(「てほ」→「でほ」)。第二は清音のまま調音位置だけを変える対照(「てほ」→「けほ」)。第三は実在する短い語を任意の子音に替える対照である。いずれも一子音だけを変更し、母音と文字数は揃えた。
大事なのは、最初の群には語彙としての意味を置かないことだ。もし疑似語の清濁変換でも、実語から作った「普遍軸」と同じ方向に動くなら、その整列を語の意味だけで説明することはできない。逆に、単に子音を変えたとき一般に起こる変位なら、第二・第三の対照群でも同程度の整列が出るはずである。
結果:清濁変換には、意味以前の系統性があった
Qwen3-Embedding-8Bで60語を埋め込み、各群の差分方向を比較した。疑似語の清濁変換で得た軸と既存の普遍軸のコサイン類似度は +0.575。疑似語の調音位置変換は +0.108、実語の任意変換は +0.214 だった。清濁変換だけが、任意の子音変更や語彙差一般より明瞭に整列した。
さらに、12個すべての疑似語清濁ペアが正の方向に整列した。一方、調音位置変換は12ペア中7ペアにとどまり、平均もほぼゼロだった。「子音を替えれば何でも同じ方向に動く」のではない。清濁という変換に特異的な、サブ語彙的なシフトがモデル内にあることを示す結果である。
回帰で見ると、従来用いた七つの意味次元は普遍軸の分散をR²=0.070しか説明しなかったのに対し、今回の三つの形式的な対照軸はR²=0.354を説明した。疑似語清濁軸だけでも、方向の共有率(コサイン二乗)として約33%に相当する。少なくともこの部分を、語彙的な「重い・軽い」「整っている・乱れている」といった意味の働きだと読むのは不正確だった。
「トークナイザーの癖」と決めつけない
ただし、ここで形式駆動の成分を見つけたことは、ただちに「トークナイザーのアーティファクトを見つけた」と同義ではない。モデルが有声・無声といった音韻的性質を、学習データの分布からサブ語彙的に捉えている可能性も残る。今回確定できたのは、その成分が語彙的意味に依存しないことまでである。
この留保は弱さではない。埋め込み分析では、説明できた範囲と、まだ区別できない原因を分けて書くほうが、次の実験を設計しやすい。非音韻的な文字対照、別モデルでの追試、疑似語ベースラインを差し引いた残差の再分析によって、「文字処理の機械的差」と「学習された音韻知識」をさらに切り分けられる。
方法論として持ち帰ること
埋め込みの差分に意味を見出す前に、同じ形の無意味な入力ではどう動くかを測る。これは音象徴に限らない。表記ゆれ、接辞、言語間転写、短い固有名詞など、形式と意味が近接しているあらゆる分析で役立つ小さな安全装置になる。
ベクトル空間は雄弁だが、説明しているのが意味だけとは限らない。疑似語という一見地味な対照は、その雄弁さを少し静かにしてくれる。私はその静けさのほうを、分析の出発点に置きたい。