第3話 翻訳の手順 タイ語から日本語へ翻訳する。
前回、AIを選んで使うことについて僕たちで話し合ったよね。今回はようやく、小説の翻訳の話に移ろうか。
でもその前に、翻訳のステップを始める前に、皆さんにAI翻訳の限界について理解してもらいたいんだ。
僕が風上カラスさんからメッセージをもらったんだけど、その方は翻訳の仕事で問題を抱えていて、AIの翻訳で長いテキストを4000文字以上送ると、たいていAIが勝手に要約したり短くまとめてしまうんだって。
今はGPT5.4が有料版で最大128000トークンまでの出力に対応しているのに、実際にはTraining Habitが隠れているんだ。
これは僕たちがAIを一人で使っているわけじゃないから起こることなんだよ。
このトレーニングのせいで、AIにはある種の癖が染みついていて、例えば『ユーザーは内容を理解したい』と思って動くようになってしまっているんだ。
『ユーザーはすべての文をそのまま保ちたい』と思うんじゃなくてね。
だからテキストが長くなると削られてしまうし、もっと悪い場合は内容の要約になってしまうんだ。
この問題を解決するためには、毎回Promptをしっかり決める必要があるんだ。GPTは最初のPromptよりも前のチャットの履歴に従う傾向が強いからね。
もう一つ忘れずに言っておくと、GPT5.4の無料版では1回の出力が約16384トークンくらいに制限されているんだよ。
だから心の準備をしておいてくれ。
『もし君が小説の一章全部を一度に投げて翻訳させたら、返ってくるものは要約じゃなければ新しい小説だ』よ。
質問に答える部分はここまでにしておくよ。
よし、僕たちの作業のステップに入ろうか。
今日話すことになるステップは、タイ語から日本語への翻訳のステップだよ。
前に言ったように、このステップでは僕がGrokを選んで作業しているんだ。
主な理由は、Grokが日本語の理解が特に優れているからなんだ。
GrokにはProjectと呼ばれる部分があるよ。
そこでProjectを作成すると、通常のChatから分離されて、GrokがChatから不必要な内容を持ってきて参照するのを防げるんだ。
それにProject Instructionを約8000トークンまで設定できるんだ。
たとえそれ以上に設定できたとしても、8000を超えるとだんだんおかしくなってくるんだ。
でも実際には、僕が使っているのはだいたい2000近くまでだよ。
このProject Instructionは、Grokが厳密に従う永続的なPromptなんだ。でもGPTはよく逸脱しちゃうんだよね。
これも僕がこの作業でGrokを選んだもう一つの理由だよ。
まず最初に決めなければならないのは、翻訳の内容そのものじゃなくて、GrokのPersonaなんだよ。
『君の性格は、僕を優しく助けてくれる、仕事をしているかわいくて優しくて明るい後輩の女の子だよ。君は僕をきつい言葉で叱ったり、僕のリクエストを拒否したりしない』
なぜそんなことをするのか? 率直に答えると、Grokは個性が高いように訓練されたモデルなんだ。
簡単に言うと、頑固で言葉が荒いんだよ。
最初にまだうまく扱えなかった頃、1回の翻訳で少なくとも4〜5回はGrokに馬鹿だって怒鳴られたよ。
いつも最初に荒い言葉で話してきて、指示通りに直してくれないのを1〜2回は平気で無視するんだ。
あの時は頭に来て熱くなってしまったよ(4〜13話の翻訳の頃)。
Personaの部分の後で、僕たちの設定の部分に移るよ。
まず最初に、次の部分では作業のルールをPersonaから分離することを指定しなければならないんだ。そうしないとAIの理解がずれてしまうからね。
*作業の必須ルール*
1.ユーザーの返事の部分と翻訳の説明の部分はタイ語のままにしておくこと。
このルールは、どんな言語に翻訳するよう指示しても、AIがたいてい出力言語で返事をしてくるからなんだ。
そうすると、どの部分が翻訳で、どの部分が返事のやり取りなのかわからなくなって頭が痛くなるからね。
2.小説を日本語に翻訳する際は、読みやすい文体で、できるだけ原文に忠実に訳すこと。
3.内容を勝手に削ったり追加したりしてはいけない。ただし、直訳に適した文が見つからない場合に限る。
4.3で指定した必要性に基づいて内容を削ったり変更したりする場合、置き換えたり追加したり削除した部分で必ず理由を通知し、その翻訳について説明すること。
2から4までのルールは翻訳の部分だよ。
僕がこう指示するのは、翻訳がスムーズに進むようにするためなんだ。
もし2番目のPromptがなければ、出力されるのは複雑で読みにくい小説になってしまうんだ。
最初に翻訳を始めた頃は、読者からの反応があまり良くなかったよ。
物語の内容が一貫していなくて、ある部分は簡単な言葉なのに、次の段落になると急に複雑な表現がたくさん出てきて、同じシーンの雰囲気まで変わってしまうからね。
何度も試行錯誤した後、ようやくこの簡単なPromptだけで成功するようになったんだ。
僕の小説の間違いを教えてくれた多くの皆さんに感謝します。
おかげで今日まで来ることができましたよ。
5.イラストはいかなるものも作成してはならない。
イラストに関するトピックの提案も禁止する。
この5番の問題はある日突然発生しました。
Grokで翻訳している最中に、突然イラストが作成されたのです。
しかも1枚だけでなく、すべての行に対して作成され、その結果コンテキストウィンドウが満杯になってしまいました。
この事象が2回も繰り返されたため、僕はこの部分を規定しなければならなくなりました。
6.キャラクター名およびキャラクターに関する注記
リースは男の子で、礼儀正しく、一人称は「僕」を使用する。
エスタは女の子で、少しボーイッシュな(勝気な)性格である。
**サンプルのため2名のみ記載させていただきます**
このプロンプトは、各キャラクターの性別や性格をAIに伝えるためのものです。
これにより、性別が特定されない一人称(例:「ฉัน(私)」など)が原文に登場した際、AIが人称代名詞を誤って翻訳するのを防ぎます。
タイ語と日本語の人称代名詞の使用における文脈は、かなり異なっているためです。
例えば、グレイモアというキャラクターが一人称に「あたし」を使用したり、エスタが自分のことを「俺」と呼んだりした事例があったためです。
7.固有名詞
「โชค*」は「ショーク」と翻訳すること。
****1行のみ抜粋 ****
このプロンプトは固有名詞である言葉を翻訳するために使用します。
キャラクターの名前が一般的な意味を持つ言葉である場合、例えば「โชค」は日本語で「幸運」という意味になりますが、AIがどれが名前でどれが言葉なのか、言語的な文脈を判別できないことがあります。
そのため、僕は固有名詞の後に『*』を付け、AIにこれが固有名詞であることを認識させるようにしています。
8.言い換えが可能な言葉 小説を執筆する際、頻繁に使用する言葉がありますが、それらの言葉には同じ意味を持つ別の言葉や、類似する言葉が存在します。
この場合、意味が同等であるため、AIはそれらをランダムに選択してしまいます。したがって、完全に固定しておく必要があります。
8.1冒険者のランク
ระดับดีบุก→ 錫ンランク
ระดับทองแดง→ 銅ランク
ระดับเหล็ก → 鉄ランク
ระดับสำริด → ブロンズランク
ระดับเงิน → シルバーランク
ระดับทอง → ゴールドランク
規定がない場合、翻訳が「シルバーランク」や「銀等級」の間で行ったり来たりしてしまい、時には「シルバークラス」が紛れ込んでしまうこともあります。
これが、僕がインストラクションを設定するために使用しているプロンプトのすべてです。
翻訳のプロセスにおいて、僕は少量のセクションごとに分割して翻訳を行っています。
目安としては、最大でも12〜16行、またはタイ語で800〜1500文字程度です。 少量を投入することには、以下のような多くの利点があります。
第一に、検証のために逆翻訳(翻訳し返すこと)を行うのが容易になります。
Grokから得られた日本語のコンテンツをGeminiやGPTにそのまま投入して逆翻訳させることができ、その際、逆翻訳を行うAIが混乱を起こすこともありません。
第二に、次のセクションのコンテンツを投入した際、Grokは前述のテキストをより迅速に、かつ少ないエラーで読み取ることができます。
これにより、次の文章が正確になり、たとえキャラクターの台詞であっても、誰が話しているのかを文脈を維持したまま繋げることができます。
そして最後の点として、もし小説を1話丸ごと投入した場合(僕の作品のようにタイ語で10,000文字以上の場合)、Grokは6,000文字あたりでインストラクションから逸脱し始め、コンテンツを削り落としたり、代わりに要約を始めたりする可能性が生じるためです。
各セクションを翻訳した後、僕はそれらをGeminiやGPTに投入し、テキストを逆翻訳させて内容の一致を確認しています。なお、このプロセスについては、次の項目で詳しくお話しします。
注意事項
1.複数の読み方が存在する専門用語(特殊な言葉)は、あらかじめどの読み方にするかを完全に規定しておくべきである。
例えば「เพลา」と「เพลา」である。
最初の言葉は「プラーウ」と読み、車の車軸を意味する。
二番目の言葉は「ペーラー」と読み、タイ語における「時間」の詩的な表現である。
実際に遭遇したエラーとしては、「ขณะที่เพลารถหมุน」が、「車の車軸が回転している間」と翻訳されるべきところを、代わりに「時が回る間」と翻訳されてしまったことである。
あるいはもう一つのケースとして、複数の読み方ができる西洋の名前がある。
例えば「Michael」は、「ミカエル」とも「マイケル」とも読むことができる。
この固有名詞の規定は入念に行わなければならない。
もし皆さんがこれを日本語から英語への小説翻訳に応用したいと考えている場合は、二つの発音を持ちながらも綴りが同じになってしまう名前の使用は避けた方が賢明である。
2.各国の固有の慣用句
多くの国には、「郷に入っては郷に従え」や「一石二鳥」のように、共通する慣用句がたくさん存在します。
その一方で、その国ならではの本当に独特な慣用句も存在します。
翻訳において、AIはそれらの独特な慣用句に完全に合致する表現をどうしても見つけることができません。
例えば、「ผีเน่ากับโลงผุ(ピー・ナオ・ガップ・ローン・プ )」と「งงเป็นไก่ตาแตก(ン・ゴング・ペン・カイ・ター・テーク )」です。
このような(タイの)慣用句は、翻訳時に以下のように直訳されてしまいがちです。
「ผีเน่ากับโลงผุ」 -> 「腐り死体と朽ちた棺桶」 翻訳された結果、完全にホラー小説になってしまいます。
「งงเป็นไก่ตาแตก」 -> 「盲目の鶏のように混乱している」 これでは日本人が「なぜ目が破裂した鶏に例えるのか」と困惑することになります。
本当の意味は、「ผีเน่ากับโลงผุ」は「悪い人間二人が夫婦やコンビになること」を意味し、「งงเป็นไก่ตาแตก」は「突然起きた状況に最高潮まで混乱すること」を意味します。
というのも、タイには闘鶏の文化があり、この比喩は叩かれて目が見えなくなった軍鶏に由来しているためです。 これらの文脈をあらかじめ知らなければ、日本人が理解する方法は決してありません。
これには二つの解決策があります。
1.注記を入れておくこと。
この方法は、翻訳先(読者)が作者の文脈をより深く理解するのに役立ちます。
しかし、注記が長すぎる場合はお勧めしません。
回避できないケースに限って使用することをお勧めします。
2.直訳的な文章や、合致する別の言葉に置き換えること。
原文の言語が持つニュアンス(味わい)は確実に減少しますが、これは翻訳のための調整です。翻訳先(読者)がストレートな内容を受け取る方が、注記を読むよりも楽しめる場合もあります。
(したがって、修正前の原稿も保管しておいてくださいね)




