17/01/05 20:59:02.85 8PejRFef0.net
続・tesseract-ocrの認識率を下げないための工夫
2.不要な認識候補文字をブラックリストで指定して排除する
※当方の環境はlinux上でtesseract-ocr3.03と3.04を試しています。
以前tesseract-ocr以外のOCRソフトを使ったときのこと。帳票というか、罫線の中に数字と
カンマとピリオドしかないペーパーをスキャンして取り込むために認識候補を『英数のみ』に
設定してOCRを実行したのですが、
「なんで 2 じゃなくて Z って認識するワケ? 候補を数字だけに絞れば良さそうなのに、
なんでできないの? バカなの? 死ぬの?」
と思ったことがありました。
tesseract-ocrにはホワイトリストとブラックリストというオプションを指定することで、
認識候補文字を制限することができます。
ホワイトリスト=認識候補文字を指定した文字だけに限定する
先程の帳票認識時の様に、認識候補文字を『 0123456789., 』以内に限定したいときに
使いますが、縦書き日本語の自炊目的には使わないので今は捨て置きます。
ブラックリスト=認識候補文字を指定した文字以外に限定する
↑ちょっと変な日本語になってますが、要するに「縦書き日本語の小説にフツーはこんな記号や
文字は出てこないんだから、候補から外せば正解率上んじゃね?」ってことです。
で、実際指定したら間違いのブレ幅が確実に少なくなるので一括置換で修正もやり易くなる
のですが、tesseract-ocr blacklist で検索しても、何故かほとんどヒットしませんでした。