【日本語版】ChatGPTで画像からテキストを抽出する方法
この記事では現時点( 2023年11月14日 )では日本語のテキスト抽出ができないChatGPTにて無理矢理日本語のテキストを抽出する事に成功致しましたので、その方法をまとめました。
- 事前概要
- 手順1 日本語データのインストール
- DL方法
- 手順2 フォルダを作る
- 手順3 テキストを抽出したい画像を準備する
- 手順4 ocr_testフォルダを圧縮
- 手順5 ChatGPTにお願いする
- 手順5-1 ocr_test.zipを添付してプロンプトを打つ
- 手順5-2 結果内容をコピーする
- テキストを抽出する際の注意点
- 成功したChatGPTの公開リンク
- 参考サイト
事前概要
- ChatGPTは文字列の画像をOCRしてテキストを抽出している
- OCRにはPythonのpytesseractが使われている
- 標準では日本語はサポートされていない
- トレーニング・データを画像と一緒にアップロードすることで対応可能
手順1 日本語データのインストール
日本語のデータをインストールします。
tesseract-ocr/tessdata_best: Best (most accurate) trained LSTM models.へ飛んで
- jpn_vert.traineddata
- jpn.traineddata
というファイルをDLして下さい。
DL方法
手順2 フォルダを作る
"ocr_test"(名前はなんでもいい)というフォルダを作成して、その中に"htessdata"というフォルダを作ります。
"htessdata"というフォルダの中に手順1でDLした
- jpn_vert.traineddata
- jpn.traineddata
を入れて下さい。
構成としてはこうなります。
ocr_test(名前はなんでもいい)
└htessdata(名前固定)
├jpn_vert.traineddata
└jpn.traineddata
手順3 テキストを抽出したい画像を準備する
今回はBasicのトップページの画面をスクショした画像を使ってみたいと思います。
これ
手順2で作成した"ocr_test"のフォルダの中にテキストを抽出したい画像をぶち込みましょう。
こんな感じで
ocr_test(名前はなんでもいい)
├test.png(名前はなんでもいい)
└htessdata(名前固定)
├jpn_vert.traineddata
└jpn.traineddata
手順4 ocr_testフォルダを圧縮
画像の準備ができましたら
ocr_testのフォルダを圧縮しましょう。
Win、Macで圧縮方法は違いますが、適時圧縮をお願い致します。
手順5 ChatGPTにお願いする
手順5-1 ocr_test.zipを添付してプロンプトを打つ
プロンプト内容
添付のファイルをunzipしてから
pytesseractの日本語トレーニングデータが tessdata というフォルダに入っているので、 image_to_stringのオプションに lang=jpn を追加してください。その後、ocr_test 配下に入っている画像をOCRでテキストに変換してください。変換する際に不要なスペースも削除していただけますと助かります。
手順5-2 結果内容をコピーする
今回は何やらフォルダのパーミッション問題があったようですが、ChatGPTさんがよしなにしてくれて無事画像からテキストを抽出する事に成功致しました!感謝感激ですね。
抽出したテキスト内容
"世界で公開されているウェブの67%がCMSで構築されています。それらのCMSですが、私たちの目線からは大雑把だったり足りない機能が多いのが現状です。複雑なCMS、カスタマイズ、表示スピード、UX、最新画像フォーマットなどを解決するためにBasicを立ち上げました。OSSでライセンスはGPLv2です。個人でも法人でも完全無料のBasicで自由にサイトを構築してみませんか?"
元の画像
完璧ではありませんか!最高です
テキストを抽出する際の注意点
実はこの記事を書くにあたって、かなり日本語テキストの抽出に失敗しています。
その失敗例としては
- 文字が大きすぎると失敗する
- 特殊なフォントだと失敗する
- バックカラーとテキストの色が近いと失敗する
というのがありまして、上記3点を気をつければ問題なくいけると思います。文字の大きさの定義としては「16px」の大きさはほぼ問題ない事までは突き止めました。
成功したChatGPTの公開リンク
https://chat.openai.com/share/238e5778-9409-44d9-bc8e-9a190d61e8ac参考サイト
【第34回PYTHON講座】OCR(文字認識)Tesseractを使って日本語を認識テスト- 完全無料Basicはオープンソースで運営されています。誰しもが自由にBasicを利用できます。
- 超軽量化で超高速配信通常のCMSよりページ容量を70%以上を自動で圧縮を行い更に自動で静的化・圧縮化されたページが配信されます。
- SEOにつよつよ70%以上軽量化に加えて最新SEOに対応した構造で静的化・圧縮化されたページはライバルサイトより圧倒的に評価されます
ライバルサイトより一歩前にいけるCMSでサイトを構築しませんか?