2021年9月24日金曜日

【91】Archivmaticaで日本語のOCR認識(Tesseract利用)

今日は前回の続きのTesseractのテストです。
Archivemimaticaは、デフォルトでOCR認識用としてTesseractを使っています。基本は英語認識になっているので、日本語を認識できるようにしてみましょう!

Tesseractのファイルは、/usr/share/tesseract-ocr/ の下に実行ファイルがあります。まずは、そこをみてましょう。

学習した言語ファイルがあるところは、tessdataの中です。先週日本語版Tesseractを入れているので、下記には日本語認識に関わるファイルが存在している状態です。


各ファイルは以下のように関係しています。

jpn.traineddata:日本語
jpn_vert.traineddata:日本語(縦書き)
Japanese.traineddata:日本語
eng.traineddata:英語
osd.traineddata:文字の方向の判定

ここで日本語と英語のファイルをちょっといじってみます。Archivematicaでは英語だけを処理するように設定されているので、こっそりeng.traineddataの中身をjpn.traineddataにすり替えてテストしてみます。とりあえず、元のデータがなくなるとまずいので、eng.traineddata.originalにしておきます。


次に、eng.traineddataの中身をjpn.traineddataに入れ替えます。


このあと、Archivematicaに日本語文書のJPGファイルを入れてingestしてみます。
以下の画像をingestしました。
ingestしたJPGファイル

Transcriptionのマイクロサービスでは、Yesを選んでください。
結果は〜〜〜以下のように日本語を認識してくれました!

OCR認識で出力された結果

師匠ありがとうございます!これでTesseractの仕組みが少し理解できました!

今度は、ArchivematicaのPreservation planning からcommandを変更してみましょう。どちらかというとこちらが正式な方法です。先いじったファイルは元の状態に戻してから試してください。

Preservation planningでは、コマンドやルールの変更・追加ができます。マイクロサービスで行われる処理の中で正規化(Normalization)のようにルールが必要なタスクについては、行う処理内容をコマンドで書いて、実行する対象と結びつけます。これが、ルールというわけですね。

OCRの処理はTranscriptionのマイクロサービスで行われますので、TranscriptionのCommandを変更してみます。


以下が、Transcriptionのコマンドを変更する画面です。


上記のCommandの最後に -l jpn を追記しました。languageをjpnにしてくださいというコマンドです。試した結果……成功しました!(^^)/

では、次は縦書きも試してみます。
今度は以下のコマンドを最後に入れてみます。

-l jpn +Japanese_vert

これも成功しましたが、縦書きの認識率は少し低いです。でも7割程度は認識しているように見えます。

日本語関係の学習ファイルが2つあったので、以下でも試してみます。

-l Japanese +Japanese_vert

そうすると、以下のように結果が少し異なりました。


左:jpn  右:Japanese

Japanese.traineddataの場合は日本語と英語の学習用テキストを混在した状態で学習させた代物ということらしいです。また、出力結果に余計な空白が含まれる問題があるとのことです。(それで右のJapaneseで試した結果がああなったわけね…)

参考サイト

今日はここまでです!
今日は意外と順調に進みました。いつもこうだといいですね〜〜

================================
10月8日(金)19:00〜
やることは後日連絡です。ではまたね〜



最近の投稿

【108】Archives in the Digital Age: The use of AI and machine learning in the Swedish archival sectorを読む

 Gijs Aangenendt氏の修士論文、Archives in the Digital Age: The use of AI and machine learning in the Swedish archival sectorを半分読みました。 前半は、AIを扱ったアーカ...

人気の投稿