
私個人のペルシア詩研究を進めるため、ペルシア語専用のOCRツールを開発しています。
第1弾として、TesseractOCRとEasyOCRのペルシア語事前学習モデルを選択し、適用できるソフトウェアツールを作り公開しました。
誰でも簡単にインストールし、直感的に操作できます。
ツールのダウンロード先
※事前にTesseractをこちらからダウンロードしてください
今後のソフトウェアのアップデート予定
- APIを使用してkrakenのOCRをツールに組み込む
- GUI上でアラビア文字表記が左右反対に表記されているので修正(ダウンロードしたWordでは正しい方向になっています)
- TranskribusのAPI利用、若しくはTranksribusが利用しているPyLaiaを用いた転移学習と組み込み
- TransformerやAttentionを使用したOCRモデル等で転移学習と組み込み
kraken
非ラテン文字資料や手書き文字に強いオープンソースソフトウェアです。事前学習モデルが用意されているだけではなく、モデルの作成も容易です。同様の強みを持つ後述のTranskribusと比較した場合、krakenはオープンソースソフトウェアということも相まって、高度なカスタマイズ性を持っています。ドキュメントも詳しく、パラメータ調整を容易にするコマンドも幅広く用意されているので微調整できます。
krakenとOSについて
公式サイトにLinuxとMac OSのサポートしかないと書いていますが、Pythonのバージョンを3.8に変更したところ、Windows OSでインストール可能でした。コンソール上でペルシア語の事前学習済みのモデルを使用したOCRが問題なく可能です。
Windows上でkrakenの事前学習モデルを使用する方法
- Python 3.8のインストール
- pip install kraken
- 使用する事前学習済みのモデルをダウンロード
- モデルとOCR対象があるディレクトリに移動
- kraken -i (画像のファイル名) output.txt binarize segment ocr -m persian_best.mlmodelを実行
- 上記の例の場合、output.txtがカレントデイレクトリに結果として出力

krakenの公式ドキュメントはこちら
TranskribusとPyLaia
Transkribusもkraken同様、手書き文字認識に優れているソフトウェアです。ノーコードで操作できる直観的なGUIを持つこと、モデルを簡単に作成できることが圧倒的な強みです。また、モデルの共有機能もあり、事前学習モデルも充実しています※。
しかし、オープンソースソフトウェアではないので、カスタマイズ性が低いという弱みがあります。
APIが提供されているので、そのAPIでどこまでできるか今後試みます。
※アラビア文字のTranskribusの事前学習モデルはOttoman Turkish_Printが公開されています
PyLaiaはTranskribusが使用しているオープンソースソフトウェアの一つです。事前学習モデルはないですが、こちらもカスタマイズ性が高いので転移学習に利用し、結果がよければ現在のSimorghOCRに組み込む予定です。
募集
以下のいずれかのスキルを持つ共同研究者をそれぞれ募集しています。このプロジェクト自体や共同研究若しくは開発に興味のある方はお気軽にご連絡ください。
- ペルシア語写本に詳しい文献学者
- OCRに詳しい開発者又は研究者(画像処理又は自然言語処理の知識がある人が望ましい)
ソフトウェア及び研究についての問い合わせ先
kido.ishikawa6[at]gmail.com
文責:石川喜堂
このページの公開日:2024/2/15