TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

【Tips】ChatGPT 4oで日本語の数式を含む文書画像をOCRしてMarkdownで出力する

ChatGPTに日本語を含むの画像を添付して、例えば「画像からテキストを抽出し、Markdown形式で出力」のような指示でテキスト化しようとすると、

It seems that the required Japanese language data for optical character recognition (OCR) is not available in my environment, which caused the extraction process to fail.

If you prefer, I can guide you through the process to extract the text on your local machine, or you can describe the content you'd like to extract, and I can help you from there. Let me know how you'd like to proceed!

のような回答が返る。

日本語のOCRに対応していないと言われて処理できない。

以下では、このような場合の対処方法を紹介する。

対処方法1

OCRツールを使用しないでください」という指示を追加する。

例:
「添付した画像の内容を一字一句忠実にMarkdown形式で出力。章節、段落は適切に解釈すること。OCRツールは使わなくてよい。」


なお、ChatGPTが適当に補完しようとするので、OCRの目的であれば「一字一句忠実に」のような指示を入れるとよい。

1つ目の画像で指示を行い、2つ目以降は画像を貼り付けて送信するだけでよい。

対処方法2

GPTsを作ると、より確実に指示に従う。
OCR用途では、機能のチェックはオフにしておく。

指示の例:

添付した画像の内容を一字一句忠実にMarkdown形式で出力してください。章節、段落、図表、数式は適切に解釈してください。段落の途中では改行しないでください。数式はLaTeX記法を使用してください。インライン数式は$で囲い、ブロック数式は$$で囲ってください。複数行の数式にはalign環境を使用してください。文章の途中から始まったり、途中で終わったりする場合があります。画像にない余分な文字列が出力されていないことを確認してください。

使うときは、作成したGPTsを選択して、画像を貼り付けて送信するだけでよい。

1つのチャットで、連続して貼り付けて送信できる。

画像は一度に複数枚貼り付けても良いが、一度に処理できない場合があるため、2枚ずつくらいで処理するのがよい。

たまに、文頭文末に漏れが発生したり、適当に補完される場合があるため、目視チェックは必要である。

ChatGPTのProに加入していても、時間当たりの上限があるため、100ファイルくらい間隔で数時間のクールタイムが必要である。