同じ説明文で絵を生成する:日本語と英語の違い
遊びをつくる執筆にClaudeを使用しています。

ゲームのキャラクターや背景を画像生成で作るとき、同じ内容を日本語で書くか英語で書くかで、出てくる絵は変わるのでしょうか。たとえば「赤い傘をさした白い猫」を日本語で入力した場合と、英語で入力した場合を並べる場面を考えてみます。猫の姿勢、傘の位置、背景の雰囲気に差が出たとして、それは言語のせいなのか、毎回の生成にもともとあるばらつきなのかを、1枚ずつ眺めているだけでは区別できません。 この記事は、その区別をつけるための実験の設計書です。結果は書きません。読者が自分の使っている生成ツールで同じ手順を踏めば、「自分の環境では、言語の差がばらつきより大きいか」が判断できる形にします。ここでいう「言語の違い」には、翻訳で意味がずれることも含まれます。画像側の差と翻訳側の差を分けて扱うところが、この実験の要点です。
「同じ説明文」を決める:翻訳ペアの作り方
最初に決めるのは、何をもって日本語と英語が「同じ」とみなすかです。ここが曖昧だと、画像に差が出ても原因が言語なのか訳文なのか分かりません。
説明文を4タイプに分ける
言語差が出やすい場所は説明文の性質によって違うと考えられます。そこで次の4タイプを、各3文ずつ用意します。
- A 具体物:猫、傘、石畳のように、名詞で指せるものだけで組んだ文です。例は「赤い傘をさした白い猫が、雨の石畳の道に座っている」です。
- B 雰囲気語:「しっとりした」「ぼんやりした」のように、対応する英単語が一つに決まりにくい語を含む文です。例は「しっとりと静かな夕方の港町」です。
- C 文化固有:「縁側」「麦茶」「座布団」のように、英語では説明が必要になる語を含む文です。例は「縁側に座布団と麦茶が置かれた夏の昼下がり」です。
- D 数と位置:「左・中央・右」「3つ」のように、数え上げと確認ができる文です。例は「左に青い箱、中央に黄色い箱、右に赤い箱が一列に並んでいる」です。
Dは採点が機械的にできるので、言語差の有無を見る基準点として役立ちます。Bは訳し方で結果が動きやすいので、後述のとおり訳文を複数用意します。
訳文の作り方と確認
英語訳は、まず自分で作るか翻訳ツールで作ります。その後、別の手段(別の翻訳ツールや、英語が読める人)で日本語に訳し戻し、元の文と意味が合っているかを確認します。この訳し戻しで「傘をさした猫」が「傘の下にいる猫」になるなど、意味が動いた文は修正します。
「さした」は典型的な例です。日本語の「傘をさした猫」は猫が傘を持つ読みも、猫が傘の下にいる読みもできます。英語では "holding a red umbrella" と "under a red umbrella" で意味が分かれます。どちらを意図するかを先に決め、日本語側も「傘の下に座っている」と書き換えて両言語で曖昧さを消します。曖昧さを残したまま比べると、言語差ではなく解釈差を測ることになります。
Cの文化固有語は、英語側を2通り用意します。一つは "engawa" とローマ字で書くもの、もう一つは "a wooden veranda along the house" のように説明で書くものです。説明を足した英語は日本語より情報が多くなります。そこで、説明を足した版は「情報量を揃えた版」、足さない版は「語だけを渡した版」として別条件に数えます。
準備と手順
準備するもの
- 使う画像生成ツールを1つに固定します。複数のツールを比べたい場合は、ツールごとに実験を独立して行います。
- 画像サイズ、画風の指定、ネガティブ指定の有無など、ツールの設定をすべて控えておきます。
- 記録用の表計算ソフトとフォルダを用意します。
- 可能なら採点者をもう1人用意します。難しければ、生成から数日あけて自分で採点します。
回数の上限はツールによって違います。アソバースの「自分だけのアバターを作る」は、説明と絵柄(切り絵・手描き・粘土)を選んで画像を生成する機能ですが、1人1時間1回、全体でUTC1日10回までの制限があります。そのため、この実験のように数十枚を生成する用途には向きません。この機能で入力言語がどう扱われるかも、確認済みの案内にはありません。試す場合は現在の案内で確認してください。多数の枚数を取る実験は、回数に余裕のあるツールで行うのが現実的です。
手順
- 4タイプ×3文=12の日本語文と、対応する英語文を用意します。Cは英語を2通りにするので、英語文は合計15です。
- 各文を各言語で8枚ずつ生成します。日本語12文×8枚と英語15文×8枚で、合計216枚です。枚数が多すぎる場合は、各タイプ1文に減らしても構いません。減らしても、各文×各言語の枚数は揃えます。
- 生成の順番は、日本語を全部先に、英語を後に、とはしません。日本語と英語を交互に生成します。ツールの状態や自分の気分が一方に偏らないようにするためです。
- シード(乱数の初期値)を固定できるツールでは、固定した条件とそうでない条件のどちらで行うかを決めて記録します。固定すると再現性は上がりますが、同じシードが言語の違いに対して同じ構図を作るとは限りません。固定できない場合は、枚数を増やして対応します。
- 画像は生成直後にファイル名を「文ID-言語-連番」で保存します。たとえば「A1-JA-03」のようにします。
記録の取り方:言語を隠して採点する
採点で最も起きやすい失敗は、言語を知ったまま採点して、期待する差を見つけてしまうことです。これを避けるため、採点用のファイル名をランダムにして、元のIDを見せない形にします。
次のHTMLを保存してブラウザで開くと、全画像のIDをランダムな順に並べた対応表が作れます。外部のライブラリは使いません。
<!doctype html>
<meta charset="utf-8">
<title>採点順シャッフル</title>
<p>文の数: <input id="p" type="number" value="12">
各言語の枚数: <input id="n" type="number" value="8">
<button id="go">作る</button></p>
<pre id="out"></pre>
<script>
function shuffle(a){
for(let i=a.length-1;i>0;i--){
const j=Math.floor(Math.random()*(i+1));
[a[i],a[j]]=[a[j],a[i]];
}
return a;
}
document.getElementById("go").onclick=()=>{
const p=+document.getElementById("p").value;
const n=+document.getElementById("n").value;
const items=[];
for(let i=1;i<=p;i++)
for(const l of ["JA","EN"])
for(let k=1;k<=n;k++) items.push(`P${i}-${l}-${k}`);
shuffle(items);
document.getElementById("out").textContent=items
.map((id,i)=>`採点${String(i+1).padStart(3,"0")}\t${id}`).join("\n");
};
</script>出力の左側が採点番号、右側が元のIDです。元のIDの画像を採点番号の名前でコピーし、採点者には採点番号のフォルダだけを渡します。対応表は生成した人が保管し、採点が終わるまで見ません。一人で行う場合は、対応表を作ってから数日置き、画像の内容を忘れた頃に採点します。
画像の中に文字が混ざると、日本語か英語かが採点者に分かってしまいます。看板や紙面に文字が出た画像は、その旨を記録して、採点時の注意とします。
採点項目
採点は「はい・いいえ」か数えられる値だけにして、好みの評価は混ぜません。
- 要素の含有:説明文に書かれた名詞が画像にあるか(猫、傘、座布団など)を、要素ごとに有無で記録します。
- 位置・数:Dの文では、左から順の色、箱の数が合っているかを記録します。
- 色:指定した色が指定した物に付いているかを記録します。「青い箱」の青が別の箱に移っている場合は、ここで落とします。
- 画風の方向:写真風、イラスト風、水彩風などを、採点前に決めた選択肢から1つ選びます。
- 文化的な要素:Cの文では、縁側らしい木の床や軒がある、日本の家屋に見える、などを有無で記録します。判断が割れやすいので、採点前に基準を一行で決めます。
- 余計な要素:説明文に書いていない人物、文字、動物が入っているかを記録します。
結果の読み方と誤りやすい点
比べる単位
見るべきは「日本語と英語の差」だけではなく、「差が同じ言語内のばらつきより大きいか」です。たとえばA1文について、日本語8枚中の傘の含有数と、英語8枚中の傘の含有数を並べます。そのうえで、日本語の8枚どうしで構図がどれだけ違うかも見ます。
判断の目安は次のとおりです。
- 言語間で含有数が違い、同じ傾向が別の文でも出る場合は、言語による差の可能性が高いと読みます。
- 言語間の差が、同じ言語で8枚を生成し直したときの差と同程度なら、ばらつきの範囲と読みます。判断を確かめるには、同じ条件でもう一度8枚ずつ生成して、差の向きが再現するかを見ます。
- Dで差が出ず、BやCで差が出る場合は、数や位置の指示より、雰囲気語や文化固有語の扱いに言語差があると読めます。
- Cで「語だけを渡した版」と「説明を足した版」で英語側の結果が大きく変わる場合は、言語そのものではなく、渡した情報量が効いていると読みます。
統計的な検定をしなくても、枚数と再現の確認で十分に傾向は掴めます。ただし、この枚数で言語一般について結論を出すことはできません。分かるのは、使ったツールと設定、使った文に限った傾向です。
起こりやすい誤り
- 訳文の差を言語差と取り違える:訳し戻しの確認を省くと、意味がずれた文の結果が混ざります。
- ツール側で自動翻訳や文の書き換えが行われている可能性:入力文を内部で別の言語に直したり整えたりするツールもあります。その有無は、ツールの案内で確認します。分からない場合は、結果の解釈に「内部の処理は不明」と添えておきます。
- お気に入りの画像だけを採点する:出来のよい数枚だけを選ぶと、ばらつきが見えなくなります。生成した枚数は全部採点します。
- 1枚で判断する:1枚どうしの比較では、言語差とばらつきを区別できません。
- 順番の偏り:言語を片方ずつまとめて生成すると、時間帯や状態の違いが混ざります。交互に生成します。
- 途中で設定を変える:サイズや画風指定を変えたら、そこまでの結果とは別の実験として扱います。
ゲーム制作への当てはめ
結果が出たら、次の三つで制作の判断に使えます。
一つ目は、背景やアイコンの量産で使う言語を決めることです。自分の使うツールで、数や位置を指定する文に言語差がなければ、書きやすい日本語で進めて構いません。差が出たなら、その種類の指示だけ英語で書く運用が選べます。
二つ目は、文化固有の要素を描かせたいときの書き方です。「縁側」のような語で期待した絵が出ない場合、説明で書き下した文のほうが近いかを、Cの結果で確かめておきます。
三つ目は、手描きとの分担です。生成画像で外れやすい要素(位置関係や数など)が分かったら、その部分は手で描くか、生成後に描き足すと決められます。
投稿するゲームに生成画像を使う場合は、使った生成ツールの利用条件と著作権の扱いを、ツールの公式情報や専門家に確認してください。
次の行動
まず、A〜Dの各タイプから1文ずつ選び、日本語と英語のペアを作って訳し戻しで確認してください。次に、各文を各言語で8枚ずつ、交互に生成します。上のHTMLで採点番号の対応表を作ってから、数日置いて採点してください。
