業務用スクリプトの依頼文に入力・出力・エラー処理のルールを入れる
「これを自動化して」を、実行可能な task description に変えます。sensitive data を含まない合成 sample と、手作業で確認した expected result を添えて、team ごとの work logs を集計する script request を完成させます。
AI翻訳が自然に読めるかだけでなく、数値、単位、名前、否定表現、意味が原文どおり保たれているかを確認します。小さな合成例、逆翻訳のスポットチェック、Pythonによる確認方法を使います。
この翻訳はAIで作成しました。コード、単位、数値は原文と併せて確認してください。各言語のネイティブ話者による校閲は、まだ完了していません。 English
対象読者AIチャットアシスタントで業務文書を翻訳し、共有前に重要な情報が正しく維持されているか確認したい実務担当者向けです。
AI翻訳は非常に自然に読めても、重要な事実が変わっていることがあります。小数点の位置が変わる、単位が消える、製品名が不要に翻訳される、否定命令が肯定的な意味に変わる、といったことがあります。特に技術、購買、日程、規制、運用文書では、小さな表現の違いが実際の作業指示を変える可能性があります。
以下は合成した例です。文学的な翻訳品質を評価することが目的ではありません。言語が変わっても維持されるべき重要情報が、本当に維持されているかを確認することが目的です。
架空の試験チーム向けに短い英語の作業指示があるとします。この例では、翻訳先の言語そのものより確認手順が重要です。
| 原文の項目 | 原文 |
|---|---|
| 数量 | Prepare 12 samples. |
| トルク | Tighten Bolt A to 35 N·m. |
| 温度 | Do not exceed 80 °C. |
| 日付 | Send the report by October 14, 2026. |
| 氏名 | Send the final file to Mina Park. |
| 製品名 | Use the Alpha-X bracket. |
したがって重要な値は12、35 N·m、80 °C、October 14, 2026、Mina Park、Alpha-Xです。また、'Do not exceed'という否定表現も重要です。否定が消えたり弱まったりすると、作業指示の意味そのものが変わります。
翻訳を依頼するときは、どの項目をそのまま維持する必要があるか、どの内容を勝手に変更してはいけないかを明示します。
丁寧なプロンプトを書いても確認は必要です。良いプロンプトはリスクを下げますが、すべての重要情報が正しく維持されたことを証明するものではありません。
| 翻訳上の問題 | 確認結果 |
|---|---|
| 35 N·mが35 Nmに翻訳された | 意味は理解できる場合がありますが、文書で正確な単位表記が必要か確認してください。 |
| 80 °Cが80 °Fに翻訳された | 明示的な単位変換の依頼と確認がない場合は誤りです。 |
| Mina Parkの表記が変更された | 正式な氏名表記と再確認する必要があります。 |
| Do not exceed 80 °CがMaintain 80 °Cに翻訳された | 禁止の意味と作業条件が変わっているため誤りです。 |
| Alpha-Xが説明的な一般語に翻訳された | Alpha-Xが正式な製品名なら誤りです。 |
2つ目の確認方法として、翻訳文の一部を原文言語へ戻して翻訳できます。このとき元の文は見せません。特に否定指示、約束、締切、原文と大きく異なる表現になった文を確認するのに役立ちます。
たとえば逆翻訳の結果が'Do not exceed 80 °C'ではなく'Keep the temperature at 80 °C'になった場合、翻訳された作業指示を再確認する必要があります。一方、逆翻訳が原文と似ていても正確さが証明されたわけではありません。同じAIが以前の誤った解釈を再現する可能性があるためです。
簡単なスクリプトを使うと、保護すべき情報の明らかな変化を見つけやすくなります。次の標準ライブラリだけを使う例では、source.txtとtranslation.txtを読み、数値と指定した保護文字列を取り出し、outputs/translation_check_report.txtに結果を書き出します。元のファイルは変更せず、outputsフォルダがすでに存在する場合は停止します。
from pathlib import Path
import re
import sys
SOURCE_PATH = Path("source.txt")
TRANSLATION_PATH = Path("translation.txt")
OUTPUT_DIR = Path("outputs")
REPORT_PATH = OUTPUT_DIR / "translation_check_report.txt"
if not SOURCE_PATH.is_file():
sys.exit("Missing input file: source.txt")
if not TRANSLATION_PATH.is_file():
sys.exit("Missing input file: translation.txt")
if OUTPUT_DIR.exists():
sys.exit("Stop: outputs folder already exists. Remove or rename it manually first.")
source = SOURCE_PATH.read_text(encoding="utf-8")
translation = TRANSLATION_PATH.read_text(encoding="utf-8")
number_pattern = re.compile(r"\b\d+(?:\.\d+)?\b")
source_numbers = number_pattern.findall(source)
translation_numbers = number_pattern.findall(translation)
protected_strings = [
"N·m",
"°C",
"Mina Park",
"Alpha-X",
]
lines = []
lines.append("AI TRANSLATION CHECK")
lines.append("====================")
lines.append("")
lines.append(f"Source numbers: {source_numbers}")
lines.append(f"Translation numbers: {translation_numbers}")
if source_numbers == translation_numbers:
lines.append("PASS: number sequence matches")
else:
lines.append("CHECK: number sequence differs")
lines.append("")
lines.append("Protected strings:")
for item in protected_strings:
in_source = item in source
in_translation = item in translation
if in_source and in_translation:
lines.append(f"PASS: {item}")
elif in_source:
lines.append(f"CHECK: missing or changed in translation -> {item}")
lines.append("")
lines.append("Manual checks still required:")
lines.append("- Verify negations and obligation strength sentence by sentence.")
lines.append("- Confirm that each number still refers to the same item.")
lines.append("- Check dates, names, units, and product names in context.")
lines.append("- Spot-check high-risk sentences with back-translation.")
OUTPUT_DIR.mkdir()
REPORT_PATH.write_text("\n".join(lines) + "\n", encoding="utf-8")
print(f"Created: {REPORT_PATH}")
2つのテキストを保存した後、python translation_check.pyを実行します。数値一覧が一致することは有用ですが、それだけでは十分ではありません。同じ数値が翻訳文にあっても誤った文に付いている可能性があるため、重要な項目は文脈まで直接確認してください。
自動チェックは目に見える不一致を見つけるのに強い一方、文の意図、範囲、例外、責任、法的効果が維持されているかを判断するのは苦手です。こうした点は文脈を直接読む必要があり、重要度の高い文書では専門的な確認が必要です。
実務では、AI翻訳を下書きとして扱い、重要な事実を独立して確認するのが適切です。契約、安全指示、規制文書、医療内容、その他影響の大きい資料では、簡単なAIとスクリプトの確認だけに頼らず、組織で求められる専門的な確認手順を使用してください。
2026-09-21 · hand-checked example · Python 3.12
説明と例は独自に作成しました。関連する動作や概念は、以下の公式資料で確認できます。