ホーム技術ブログ › 04
2026-09-07 #04

LLMに校正させるとき、精度より効いたのは「作文の禁止」だった

文脈から自然な日本語を作れてしまうのが危ない。直してよい5つの型を定義し、それ以外は証拠を見に行かせる。

LLMプロンプト設計校正

やりたかったこと

文字起こしの校正は、大部分を LLM にやらせています。 最初にぶつかったのは精度ではなく、直しすぎのほうでした。

音が潰れて聞き取れなかった箇所を渡すと、LLM は文脈から自然な文を作ってくれます。 出力は読みやすくなるので、一見すると品質が上がったように見えます。 ただ、それは元の発言ではありません。

Before: 「正しく直せ」と書いていたころ

最初のプロンプトは、要するに「文字起こしの誤りを正しく直してください」でした。 返ってくるものは、日本語としては完璧です。

入力(音が潰れている)
  この会議派の人たちがですね

出力
  この懐疑派の人たちがですね      ← 正しい
  この会議に参加した人たちがですね  ← もっともらしいが、言っていない

どちらが返ってきたかは、出力だけを見ても分かりません。 両方とも自然な日本語で、両方とも文脈に合っています。

After: 「これ以外は直すな」に変えた

プロンプトを、直してよい型の列挙に書き換えました。

テキストのみで修正してよいのは、次の5カテゴリだけ:
  1. 同音異義語 + 決定的な文脈  (言語学の話で「その工程文が」→「肯定文」)
  2. 重複した文字・助詞の削除   (「下敷きにに」→「下敷きに」)
  3. 辞書に登録済みのパターン
  4. 近傍に本人の言い直しがある
  5. 括弧の残骸の除去(隣接セグメントとの照合必須)

上記以外は必ず映像のテロップを見る。
テロップでも確定できない場合は原文のまま残し、要確認として登録する。
推測による置換は禁止。

Before / After で何が変わったか

BeforeAfter
プロンプトの主眼正しく直す直してよい範囲を狭める
確信のない箇所文脈から埋める直さずに次の工程へ送る
出力の見た目きれいところどころ変なまま
確かめられるかできないテロップで1件ずつ確かめられる

効果は、直した数より直さなかった数のほうに出ました。 テロップまで見て確定したものが6,537件あって、 そのぶんは「テキストだけでは直さなかった」ということになります。

精度を上げるより、できることを狭めるほうが効きました。

それでも抜けた道1: 「造語だから触らない」

規則を作ったあとも抜け道を通っていました。 「番組の造語だから、変な字でもそれが正しいのだろう」と判断して、 テロップを見ずに原文のまま確定扱いにしたケースです。

そのまま残した文字テロップの実際
ドパーだドパアダ
会議派懐疑派
安倍博士阿部寛
フェイクオールスフェイクオールズ

造語こそ画面の表記が正解でした。 「触らない」と「確定した」は別なのに、同じ扱いにしていたのが原因です。

それでも抜けた道2: str.replace()

同じ語が1文に2回出てきたとき、機械的に置換して番組のネタを消しました。

# Before
text = text.replace("バスが酢爆発", "バスガス爆発")

# 元の発言
# 「早口言葉の "バスガス爆発" って、"バスが酢爆発" だと思って読むと噛まない」
#                                     ^^^^^^^^^^^^ わざと言い分けている

# After
hits = list(re.finditer(re.escape(bad), text))
for m in hits:
    print(text[max(0,m.start()-20):m.end()+20])   # 1件ずつ前後を目視
# 判断してから、位置を指定して置換する(replace は使わない)

これも差分を見ても気づけません。どちらも正しい語に見えるからです。

まとめ

  • 効いたのはプロンプトの精度ではなく、できることの制限だった
  • 「正しく直せ」ではなく「これ以外は直すな、代わりに証拠を見に行け」
  • 出力がきれいになったら疑う。確信のない箇所は変なまま残るのが正しい

← 置換辞書で4,056箇所を自動修正する。ただし辞書の… 焼き込み字幕をOCRで答え合わせする。fps=1にし… → 目次へ

ゆる言語学ラジオ・ゆるコンピュータ科学ラジオ 公認/株式会社pedantic の了承と、運営者・安東暁史との合意に基づく協力体制で運営しています。ドメイン yururadio.jp は株式会社pedanticが保有。開発・保守: 安東暁史·このサイトについて·お問い合わせ