AIに頼る前に知っておくべきこと:OCRデータから用語集を作って学んだ「入力品質」の重要性
きっかけ
LLMによる翻訳の精度を上げるため、OCRで読み取ったテキストデータをベースにした「専門用語集」の作成に取り組んでいます。
スキャン文書からテキストを抽出し、それをLLMに渡して構造化された用語集を自動生成しようと試みていました。
学んだこと
今回の作業を通して痛感したのは、古典的な原則である「Garbage In, Garbage Out(ゴミを入れたら、ゴミが出てくる)」です。
OCRデータは、元のスキャン画像の品質(傾き、かすれ、解像度など)によって精度が大きく左右されます。OCRテキストをそのままLLMに渡し、クレンジングまで任せようとすると、AIの試行錯誤やリトライで、時間とトークンを過剰に消費しました。
どれだけ賢いLLMを使っても、入力データの品質が低ければ期待通りの成果物は得られません。AIに丸投げして力技で解決しようとするよりも、「最初からなるべく綺麗なデータを集める」「状態が良い部分だけを抽出して使う」、あるいは「初期段階で人手をかけて元データを整える」といったアプローチのほうが、結果的にコストも低く高品質につながると学びました。
実践へのつなげ方
この学びは、用語集作成だけでなくAIを活用した開発全般(コーディングエージェントなど)にも通じます。
コーディングエージェントに指示を出せば、コード自体は簡単に書いてくれます。しかし、元データ・仕様・既存コードが散らかっていたりすると、生成されるコードもそうなります。
AIツールを使いこなす上で本当に注力すべきなのは、AIを動かすことそのものではなく、**「AIに渡す前段階(インプット)の品質をどこまで高められるか」**という準備段階なのだと捉えています。
次に試すこと
- 元データの見直し: OCRにかける前のスキャンデータの再取得、またはテキスト形式で提供されている別ソースがないか探索する
- 前処理の改善: OCR結果をいきなりLLMに渡すのではなく、ルールベース(正規表現など)や人手による簡単なチェックを挟むフローを検討する
- まずは小さく検証: 品質が担保された小さなデータセットで精度のベースラインを作る