現在のCode Interpreter(CI) は、日本語OCRに対応していません。しかし、外部から必要なファイルを入手してアップロードすれば、対応する方法があります。 今回、このように日本語OCRを使用する方法 について調べてみました。
1.そのまま日本語OCRを依頼した場合 先ず、CIをセットしたChatGPTに以下の画像ファイルをアップロードし、日本語の読み取りをお願いしました。
生成AIの爆発的な発展を予想した深津氏のnote記事 入力 pytesseractをインポートして、この日本語ファイルを読んでください。 日本語ノート.png すみませんが、現在の環境ではインターネットアクセスが無効化されているため、必要なライブラリや日本語のOCRデータをダウンロードできません。 しかし、一般的にPythonのpytesseractライブラリを使って日本語の画像をテキストに変換する方法をお伝えすることは可能です。 まず、pytesseractとPIL(Python Imaging Library)をインストール します。次に、Tesseract OCRが日本語をサポートするように設定 します。これは通常、対応する言語データをダウンロードしてTesseract OCRの'tessdata'ディレクトリに追加 することで行います。日本語の場合、'jpn.traineddata' というファイルをダウンロードします。 それらがすべて整ったら、以下のようなコードを使用して画像からテキストを抽出します:
ChatGPTの回答 from PIL import Image
import pytesseract
img = Image.open('日本語ノート.png' )
text = pytesseract.image_to_string(img, config='-l jpn' )
print(text)
このコードはローカル環境で動作しますが、このチャットの環境では動作しません。本当に申し訳ありませんが、ご了承ください。
ChatGPTの回答② そのまま日本語OCRを依頼した場合は、以上のように、「必要なライブラリや日本語のOCRデータをダウンロードできません。」 と依頼を断ってきます。 一方で、jpn.traineddata というファイルをダウンロードしてTesseract OCRのtessdataディレクトリに追加 することによって、日本語OCRに対応できると教えてくれました。
2.日本語学習データの入手 日本語OCRの使用に必要な日本語学習データのjpn.traineddata のファイルは、Githubの以下のサイト から入手できます。
jpn.traineddata のファイルをダウンロードするには、ここ をクリックしてください。
3.ファイルのアップロードとパスの設定 先程ダウンロードしたjpn.traineddata のファイルをCIをセットしたChatGPTにアップロードし、パスを設定 することによって、日本語OCRが利用できるようになります。
入力 pytesseractは使用できることを確認していますので、必ずインポートしてください。その上で、このjpn.traineddataにパスを設定し、ファイルの内容を読んでください。 jpn.traineddata
筆者が入力したプロンプト 4.日本語OCRの実行結果 3.で入力した内容を受けて、CIが生成したコードは以下のとおりです。
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract'
tessdata_dir_config = r'--tessdata-dir "/mnt/data/"'
img = Image.open('/mnt/data/日本語ノート.png' )
text = pytesseract.image_to_string(img, lang='jpn' , config=tessdata_dir_config)
text
そして、ChatGPTの回答は以下のとおりです。
画像から抽出したテキストは以下の通りです: 世 界 変 革 の 前 夜 は 思 っ つ た よ り 静 か 世 界 の ル ー ル が 根 本 的 に 変 わ っ て し ま う ‥ そ う い う 展 開 は 、 マ ン ガ や 映 画 で は よ く 起 こ る 。 そ れ が 現 実 で も 起 き そ う だ 。 あ と 数 日 ( か ら 数 週 間 ) で ` ト ッ プ レ ベ ル の 画 像 生 成 AlJ が 、 世 界 中 に フ リ ー で 配 布 さ れ る 。 イ ラ ス ト 、 マ ン ガ は お ろ か ③D CG や 建 築 、 動 画 、 映 像 . 果 て は フ ェ イ ク ニ ュ ー ス か ら ポ ル ノ ま で ‥ あ ら ゆ る 創 作 に 携 わ る 全 て の 人 を 巻 き 込 み 、 歴 史 的 な 転 搬 点 が 訪 れ よ う と し て い る 。 凄 さ 的 に は 、 悪 魔 の 実 が メ ル カ リ で 質 え る よ う に な る 。 念 能 カ ト レ ー ニ ン グ 動 画 が Youtube に ア ッ プ さ れ る 。 そ れ ぐ ら い ヤ バ い 。
ChatGPTの回答① OCRは結果をスペースで区切った形で出力しているため、日本語の文章が断片的になっています。この結果をスペースなしで連結することで、より自然な日本語の文章を得ることができます。それを行ってみましょう。
ChatGPTの回答② スペースを取り除くためにCIが生成したコードは以下のとおりです。
natural_text = text.replace(' ' , '' )
natural_text
スペースを取り除いた結果、以下のようになりました: 世界変革の前夜は思っつ たより静か 世界のルールが根本的に変わってしまう‥そういう展開は、マンガや映画ではよく起こる。それが現実でも起きそうだ。 あと数日(から数週間)で`トップレベルの画像生成AlJが、世界中にフリーで配布される。 イラスト、マンガはおろか③ DCGや建築、動画、映僚 .果てはフェイクニュースからポルノまで‥あらゆる創作に携わる全ての人を巻き込お 、歴史的な転搬 点が訪れようとしている。 凄さ的には、悪魔の実がメルカリで質えるようになる。念能カトレーニング動画がYoutubeにアップされる。それぐらいヤバい。 OCRの結果は完全ではありませんが、大まかな内容は読み取ることができます。
ChatGPTの回答③ jpn.traineddataのファイルをアップロード し、パスを設定 するだけで、簡単に日本語OCRを使用することができました。 なお、「現在の環境ではプログラムを実行できない」とCIが対応を拒否 してくることがありますが、あきらめずに何度も強く頼んでみましょう。
漢字や文字を正確に読み取れていないところが何か所かありますが、内容を理解するには、ほぼ問題がないくらいには読み取れているようです。
5.日本語OCRの性能 日本語OCRの性能を確かめるために、他の画像も読み取れるか試してみました。
(1) note記事その2 筆者が書いたCode Interpreterでの地図描画に関するnote記事
CIのTesseractエンジン が画像から抽出したテキストは以下の通りです。
wwkwcnenks ChatGPTのCodeInterpreterで外部ライブラリを利用して地図を描いてみた CodeInterpreter(CD はネットにアクセスできないため、通常は、が 最初から採用していないライブラリを使用することはできません。 しかし、ユーザーが自分でライブラリのファイルなどをアップロードすることにより、これらを使用する方法があるという情報をSNSで見つけたので、地図を描くライブラリで試してみました。
ChatGPTの回答① 一部、OCRが完全に文字を認識できていない箇所がありますが、全体の内容は以下のように理解できます: ・ユーザーは、ChatGPTのCodeInterpreterを使用して外部ライブラリを利用し、地図を描く試みを行った。 ・CodeInterpreterは通常、インターネットにアクセスできず、最初から採用していないライブラリを使用することはできない。 ・しかし、ユーザー自身がライブラリのファイル等をアップロードすることで、これらのライブラリを使用する方法があるとSNSで情報を得た。 ・それに基づいて、地図を描くライブラリを試してみた。
ChatGPTの回答② 一部、読み取れていないアルファベットなどがありましたが、ほぼ正確でした。
(2) note記事その3 筆者が書いたCode Interpreterの機能や利用方法に関するnote記事
CIのTesseractエンジン が画像から抽出したテキストは以下の通りです。
CodeInterpreter ChatGPTPlus OfficialPlugin ChatGPTの新機能CodeInterpreterで何ができるのか試してみたQ ③④④ ⑦月⑦日、OpenAlがchatePT Plusの公式プラブインとしてCodse Interpreterの提供を開始しました。 CodeInterpreterを利用することにより、ChatGPT上でPythonコードを生成、実行したり、ファイルをアップロード・ダウンロードしたりすることができます。 以前、ChatGPTのデータ分析プラグインのNoteableで、筍 単な賢 数の崗 題を解いたり、データ分析をしたりしましたが、CodeInterpreterでも同じことができるのかどうか確かめてみました。
ChatGPTの回答① 一部、OCRが完全に文字を認識できていない箇所がありますが、全体の内容は以下のように理解できます: ・ChatGPTの新機能であるCodeInterpreterを試してみた。 ・OpenAIがChatGPT Plusの公式プラグインとしてCodeInterpreterの提供を開始した(具体的な日付は不明)。 ・CodeInterpreterを利用することにより、ChatGPT上でPythonコードを生成・実行したり、ファイルをアップロード・ダウンロードしたりすることが可能。 ・以前、ChatGPTのデータ分析プラグインであるNoteableを用いて、データ分析や問題解決を行った。今回はCodeInterpreterでも同様の事ができるかを試してみた。
ChatGPTの回答② 表紙絵中の英語もきちんと読み取れています。一方で、読み取れていない漢字がいくつかあります。また、数字が丸数字の記号に変わってしまい、数字として理解されていないようです。
(3) Webサイトの画像 OpenAIのサイトを日本語訳したもの CIのTesseractエンジン が画像から抽出したテキストは以下の通りです。
GPT④APIの一般提供と入力候補APIでの古いモデルのベ GPT③.⑤ターポ ,ダレ EおよびWhisperAPIも一般提供されており、②0②④年の初めに廃止される完了APIの古いモデルの非推奨プラフ ンをリリースしています。
ChatGPTの回答① 一部、OCRが完全に文字を認識できていない箇所がありますが、全体の内容は以下のように理解できます: ・GPT-4 APIの一般提供と、古いモデルの入力候補APIがある。 ・GPT-3.5-Turbo, DareおよびWhisperAPIも一般提供されている。 ・2024年の初めに、古いモデルの完了APIが廃止される。 ・非推奨となるプラグインがリリースされている。 正確な解釈には原文やより詳細な情報が必要です。特に、いくつかのモデル名やAPI名が正確に読み取れていない可能性があります。
ChatGPTの回答② 最初の「非推奨」という単語が読み取れなかったために、文章の意味が十分にくみ取れていないようです。
6.まとめ 漢字や数字など、いくつか読み取れていない文字がありましたが、全体としては、よく読み取れており、日本語OCRとして十分機能 しそうです。
皆さんも是非、CIの日本語OCRについて活用してみてください。 また、Pythonの機能を拡張する外部ライブラリなどの導入 についても、是非、色々とチャレンジしてみてください。便利な利用法や面白い利用法が新たに見つかるかもしれません。