小型ローカルLLMの意見抽出で起きた「意味の書き換え」

何をしたか

2026-10-05、外部から提供された非公開データ(韓国語の短い投稿)で、現行 main の標準の意見抽出プロンプトを Ollama の qwen3:4b に適用し、韓国語の原文から日本語の意見を直接抽出させた。思考を短くするために /no_think を付けたが、推論は短くならなかった。投入したのは 6 投稿だけで、約 8 分 45 秒、22,603 tokens かかった。

これは処理時間を見るための小さな試行で、誤り率の推定ではない。原文と出力を照合したのは Codex であり、韓国語話者による確認ではない。原文・投稿 ID・データの中身は公開しない。

見つかった失敗の型

6 投稿から 7 意見が出て、1 投稿は脱落した。原文と照合すると、問題のない出力の方が少なかった。

失敗の型何が起きたか
主張の主体の逆転「X が〜していると投稿者が疑っている」という投稿が「X が〜と主張している」に変わった。誰の主張なのかが入れ替わり、意見の向きが逆になる
存在しない関係の捏造固有名詞と、高齢者を指す俗語の組み合わせが、原文にない親族関係(「父の叔父」「母の姉」)に置き換わった
感情表現の別の評価へのすり替え「胸がすっとする」という情緒的な反応が「明確だ」という別の評価になった
短い要求の脱落「出てくるな」型の短い命令が、意見なし(空配列)として扱われた
反復の水増し同じ語を繰り返しただけの投稿が 2 つの意見に分割された

最も危ないのは主体の逆転である。出力は流暢な日本語なので、読み手は誤りに気づけない。抽出段階では翻訳と要約を同時に行うので、原文を読める人がいないと下流のクラスタやラベルにそのまま流れ込む。

API モデルではどうだったか

同じ日に API モデルで 120 投稿+未使用の別 24 投稿を試した(いずれも原文照合は Codex による少数の目視点検)。

  • 上の主体の逆転は、GPT-4.1 と忠実性を重視したプロンプトの組み合わせでは出なかった
  • ただし GPT-4o mini と標準プロンプトの組み合わせでも、疑問文を禁止に反転させる、原文にない説明を補う、呼びかけを意見に変える、といった誤りが出た
  • GPT-4.1 でも、圧縮された政治スローガンの誤解析、原文にない補足、日本語化されずに残る出力が見つかった

したがって「ローカルだから駄目、API なら大丈夫」ではない。小型ローカルモデルでは誤りの頻度と深刻さが大きく、流暢さが誤りを隠す、というのが観察の範囲である。最終的にこの取り組みでは、ローカルモデルを抽出に使わず、API モデルと忠実性重視のプロンプトで全件を処理した。

開発への含意

  • 完走を成功条件にしない。 パイプラインが最後まで動いて地図が出ても、抽出段階で意味が書き換わっていれば地図全体が誤った前提に立つ。issues-response-plan-2026-09-07 の「抽出失敗を成功扱いしない」と同じ方向の問題だが、こちらは「抽出は成功しているように見える」ぶん検出が難しい
  • ローカル完結ルートの品質保証。 API 契約なしでローカル LLM を使うルート(hardware-procurement-local-ai-route-2026-05-31、llm-providers)では、モデルの「動くか」だけでなく「意味を保つか」を受け入れ条件に入れる必要がある
  • 原文照合を前提にした確認導線。 抽出意見から原文へ戻れる画面は、品質確認の道具として重要。少量の原文照合を通してから全件に広げる手順を勧める
  • 言語をまたぐ抽出は条件が厳しい。 今回は「他言語の原文 → 日本語の意見」で、俗語・固有名詞・文脈不足の短文が多かった。日本語の入力で同じ失敗がどの程度起きるかは未検証

Open Questions

  • 日本語の入力なら、小型ローカルモデル(既定の ELYZA 8B を含む)でも主体の逆転は起きるのか
  • 一回り大きいローカルモデル、または抽出と翻訳を別段階に分けた場合に改善するか
  • 抽出結果の忠実性を自動で検査する段階(逆方向の照合、LLM judge など)を製品に入れる価値はあるか。judge 自体の較正が要る
  • 「意見なし」と判定された投稿の扱い(短い要求・応援・挨拶)の境界を、どこで誰が決めるか

Updates

  • 2026-10-07: 初回作成。非公開の試行記録から、失敗の型と開発への含意だけを公開範囲で抽出した。
  • 2026-10-09: Open Questions(日本語の入力・一回り大きいモデル・翻訳の分離・自動検査・意見なしの境界)を公開データと合成の挑戦セットで追った結果を extraction-faithfulness-public-models-2026-10-08 に。主体の逆転の形そのものは 27B・31B では出ず、皮肉の極性の逆転と「〜すべき」への強めが主な型だった
  • 2026-10-09 振り返り: 既に公開された記録を辿ると、少数例での意味の書き換えの発見から、公開データ・合成セットでの追試、プロンプトと検査方法の改善提案へ進んでいる。extraction-faithfulness-public-models-2026-10-08より。機能要望の実装記録は interview-feature-requests-2026-10-08 に分かれている。実験の完了、実装・テスト、PR提出、main反映、利用者への提供はそれぞれ別の到達点として読む。今回の経緯の詳細は非公開領域に保存し、公開範囲は interview-analysis-request-2026-10-05 に従った。

意見抽出の忠実性の durable 正本: extraction-faithfulness(本ページはその dated な実測/議論の一つ)