質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

1846閲覧

OCRの文字認識の正誤性の向上

katsumasa35

総合スコア4

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/01 02:55

pythonでtesseractOCRを使って、文書の読み取りを行っています。
しかし、誤認識が多く困っています。例えば廣が鷹になるなど・・・
誤認識を少なくするためになにか効果的な方法があれば教えていただけると幸いです。
機械学習などになるのでしょうか?
詳しく教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aokikenichi

2020/07/01 03:29

機械学習の中の深層学習のうち文字認識という研究分野です tsseractOCRもその技術の1つを使っているようです が情報が少なく答えようがありません。 オプション設定等あるかと思いますが何か試されてますでしょうか。 それとも別のツールに乗り換えたいとのことでしょうか。 それともその研究分野を知りたいとのことでしょうか。
can110

2020/07/01 05:01

認識対象の「文書」がどのようなものなのか、具体的に詳しく提示ください。 ラスタ、ベクタ、画像の種類、出現する文字の種類。大きさ、それらに何らかの規則があるかなどなど。
guest

回答2

0

ベストアンサー

tesseract-ocr 公式サイトにはどうやって出力の正確性が向上できますかを記述してあります

まとめてみますと:

  • 文字を黒く、背景を白くすること
  • 解像度は300dpi以上にすること
  • 画像をモノクロにすること
    | OpenCV や scikit-image など他のライブラリを使って前処理をしてみましょう
  • ノイズを削除すること
  • ページを正しく縦にすること
  • ボーダーを細くすること
  • アルファチャンネルを削除すること(Ver.4 が自動的に削除します)

そういった努力を全部済んだらまだ効果に満足できないだとしたら、日本語 OCR の研究に努力しなきゃいけないです。

お役に立てると幸いです。

投稿2020/07/01 04:42

YufanLou

総合スコア464

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

しかし、誤認識が多く困っています。例えば廣が鷹になるなど・・・

tesseractOCR の認識は1文字単位でどの文字かというのを判定しているので、似ている漢字があると誤認識は一定数発生してしまいます。
これを解決するために、候補が複数ある場合は前後の文章の情報も利用して選択する自然言語処理も組み合わせたアプローチが必要になると思います。人間であれば、読みづらい文字があったとしても、それまでの文脈から判断して脳内補完するということを自然とやっていると思います。

商用の OCR ソフトだとそういうこともやっているかもしれないですが、Python の日本語対応している OCR ライブラリでそこまでやってくれるソフトはおそらくないので、自分で論文調査等して、実装までする必要があるでしょうね。

少なくとも簡単に解決できる問題ではありません。

投稿2020/07/01 03:55

編集2020/07/01 03:56
tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

katsumasa35

2020/07/01 04:09

文章ではなく、表の中の文字(名前など)を認識させたいので文章の繋がり云々がそもそもありません。その場合どうすればよいか詳しく教えていただきたいです。
tiitoi

2020/07/01 04:16 編集

画像が質問になく、どの程度の画質なのかわからないので、一般的な回答しかできませんが、 白背景に黒文字にする、ノイズが多いなら画像処理で除く、読み取りの用紙が傾いているなら真っ直ぐにするなど、前処理で認識しやすい形にしてから OCR に投げると改善する可能性はあります。 参考リンク https://gammasoft.jp/blog/ocr-by-python/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問