■ 導入:大量の画像をまとめてOCRしたいという相談
今回の相談は、
フォルダに入った大量のJPEG画像を、ChatGPTで順にOCRし、
テキストとしてまとめたい。できれば途中で止まらず動いてほしい。
というものでした。
依頼者は ChatGPT のOCR精度を評価しており、
これを“実務でも使える形”に落とし込みたいというニーズがありました。
■ 課題:ChatGPTのUIは環境差が大きく、固定的な自動化では“止まりやすい”
ChatGPT の画面は、
画像アップロードの位置
アップロード後の待ち時間
返信の表示
テキストコピーの挙動
などが環境によって微妙に違うため、
単純な時間待ちで自動化すると、遅延やUI変更で止まってしまいやすい問題がありました。
また、画像が多いと 1枚止まる=全体が止まる という致命的な状況になります。
依頼者が求めていたのは、
“枚数が多くても、できる限り止まらず処理を進められる仕組み”
でした。
■ 改善①:アップロード操作を“安定しやすい方法”に統一
画像添付は、
UIの変化に影響されやすい“ボタン操作”ではなく、
画像を貼り付ける方式
最小限のキー操作で確実に添付できる方法
に切り替えることで、アップロード操作の安定性を大きく高めました。
“どこの環境でも同じ動きになる”
という視点を最優先にした設計です。
■ 改善②:ChatGPTの回答取得も“状態を見て判断する”方式へ
OCR結果の取得も、固定スリープではなく、
ChatGPTが回答を出したタイミング
コピーが可能になったタイミング
を“状態として確認”しながら進めることで、
ネットワークが遅い日でも早い日でも、比較的安定して処理が進むようにしました。
これが 途中で止まらないOCRバッチの核心です。
■ 改善③:処理対象の画像は「先頭からひとつずつ」確実に進める構造へ
画像の処理順も工夫しています。
毎回フォルダの“先頭の1枚”を処理する
成功した画像はフォルダから取り除き、次へ進む
途中で止まっても、どこまで終わったかわかる
という形にすることで、
途中でPCを閉じても再開しやすい
“どこから再開すればいいか”が明確
大量処理でも管理が簡単
という 実務向けのバッチ運用 が可能になります。
■ 改善④:OCR結果は“崩れない形式”でまとめて出力
出力は、
1画像につき1つの見出し
テキストは読みやすい形で整形
文字化けを避ける方式で保存
といった形に整え、
最終的に1つのテキストファイルに順番どおり蓄積されていきます。
あとから検索・再利用したいときにも扱いやすい構造です。
■ 成果:大量JPEGのOCR作業を“ほぼ全自動で回せる”仕組みへ
最終的にできあがった仕組みは、
画像添付の安定化
ChatGPT回答の取得安定化
途中停止しにくいループ設計
中断・再開のしやすさ
データの安全な蓄積
といった点をすべて満たし、
「大量のJPEG → テキスト」の一連の作業を、
実務で安心して任せられるレベルに落とし込むことに成功した案件
になりました。
単に自動化しただけでなく、
“止まらずに動き続ける構造” に重きを置いた点が、
この案件の大きなポイントです。
■ まとめ:UIが揺らぐものほど、“状態を見る自動化”が効く
今回のOCRバッチは、
時間待ちではなく状態判定で動く
UIの違いに左右されない操作を選ぶ
途中停止しても復帰しやすい構造にする
といった工夫が、安定性を大きく左右しました。
次回も、ただ動く自動化ではなく
“実務で止まらず運用できる自動化” をテーマに、実例を紹介していきます。
▶「OCRや画像処理を自動化したい」「ChatGPTとの連携処理を任せたい」という方はこちら