[過去ログ] 【文字認識】OCRソフト【 自炊 】 [無断転載禁止]©2ch.net (882レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
19: 名無しさん@お腹いっぱい。 [sage] 2017/01/05(木)20:18 ID:8PejRFef0(1/3)
ちなみに>16でスキャンする元ネタをjpeg→tiffに変更してどのくらい変わったかというと、
文中の“由美子”というヒロインの名前が、from-jpegスキャンからだと、
由美F 由美汗 由芙干 山芙杆 …芙杆
由美P 由美浙 由芙折 山芙F …芙浙
由美f 由美肝 由芙於 山芙f …芙肝
由美そ 由美託 由芙旛 山芙そ …芙託
由美ア 由美醇 由芙杆 山芙ヂ …美F
由美チ 由美干 由芙浙 山芙浙 …美f
由美ヂ 由美折 由芙F 山芙肝 …美肝
由美モ 由美杆 由芙f 山芙軒 …美チ
由美丑 由美壬 由芙肝 …芙F …美竚
由美予 由芙チ 山美折 …芙P …美升
由美争 由芙ヂ 山美肝 …芙f …美壬
由美十 由芙丑 山美託 …芙チ …美折
由美千 由芙予 山美升 …芙升
由美升 由芙十 山芙丑 …芙折
由美寶 由芙升 山芙十 …芙旛
これだけ豊富なバリエーション()が発生しましたが、from-tiffスキャンからだとほぼブレ
ることなく“由美子”になったので、
「こ、これはハトを殺されたタイソン並みにスゴいのではないか?」と
tesseract-ocrの秘めた実力に驚愕したものでした。
つまり条件さえ揃えばtesseract-ocrの認識率はけして悪くないというか、むしろ認識結果が
思わしくない場合は何らかの事情でスキャンする際にスポイルされた可能性があると考えて、
条件を変えてスキャンしてみるのもひとつの手かもしれません。
20: 名無しさん@お腹いっぱい。 [sage] 2017/01/05(木)20:59 ID:8PejRFef0(2/3)
続・tesseract-ocrの認識率を下げないための工夫
2.不要な認識候補文字をブラックリストで指定して排除する
※当方の環境はlinux上でtesseract-ocr3.03と3.04を試しています。
以前tesseract-ocr以外のOCRソフトを使ったときのこと。帳票というか、罫線の中に数字と
カンマとピリオドしかないペーパーをスキャンして取り込むために認識候補を『英数のみ』に
設定してOCRを実行したのですが、
「なんで 2 じゃなくて Z って認識するワケ? 候補を数字だけに絞れば良さそうなのに、
なんでできないの? バカなの? 死ぬの?」
と思ったことがありました。
tesseract-ocrにはホワイトリストとブラックリストというオプションを指定することで、
認識候補文字を制限することができます。
ホワイトリスト=認識候補文字を指定した文字だけに限定する
先程の帳票認識時の様に、認識候補文字を『 0123456789., 』以内に限定したいときに
使いますが、縦書き日本語の自炊目的には使わないので今は捨て置きます。
ブラックリスト=認識候補文字を指定した文字以外に限定する
↑ちょっと変な日本語になってますが、要するに「縦書き日本語の小説にフツーはこんな記号や
文字は出てこないんだから、候補から外せば正解率上んじゃね?」ってことです。
で、実際指定したら間違いのブレ幅が確実に少なくなるので一括置換で修正もやり易くなる
のですが、tesseract-ocr blacklist で検索しても、何故かほとんどヒットしませんでした。
21(1): 名無しさん@お腹いっぱい。 [sage] 2017/01/05(木)22:06 ID:8PejRFef0(3/3)
ブラックリストの指定の仕方は行頭に、
tessedit_char_blacklist
と入力して、半角スペースを挟んでNGに指定する文字を続けて列記します。
↓ブラックリストのサンプル(実際は1行に繋がっています)
tessedit_char_blacklist fhijklmnrstuvwxyzABDEFGHIJKNPQRTUVWXYZ7ぁぃぅぇぉゅゎ丿
ァィゥェォヵヶヮ_*/\〆ゝゞヾ,.;=^~'`"[]{}<>〈〉〔〕《》『』【】??†‡°
・出現頻度からかな/カナの小文字は全部大文字にさせる
・行頭に#を入れるとその行はコメントとして無効化される
なお上記以外にも日本語には出てこない文字/記号はありますが、ある程度間違える余地を
残しておいた方が後々の校正は容易くなるはずです。
上記のブラックリストサンプルに a と c と o といった丸っこい文字を入れて排除してしまうと、
句点(。)として認識できなかったときに文字ごとエラーと見なされて消されてしまうからです。
(例)
メロスは激怒した。必ず、かの邪智暴虐じゃちぼうぎゃくの王を除かなければならぬと決意した。
メロスには政治がわからぬ。
(間違い)
メロスは激怒したc必ず、かの邪智暴虐じゃちぼうぎゃくの王を除かなければならぬと決意したa
メロスには政治がわからぬ。
(エラー)
メロスは激怒した必ず、かの邪智暴虐じゃちぼうぎゃくの王を除かなければならぬと決意した
メロスには政治がわからぬ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s