(57)【要約】【課題】精度よく適正な画像処理を実現する。【解決手段】少なくとも文字コードを入力する入力手段と、入力された認識結果から文字列を切り出す文字列切り出し手段と、切り出した文字列を記憶する記憶手段と、切り出した文字列が、格納されている文字列と類似あるいは一致しているかどうか判定する判定手段と、類似文字列として比較した文字列を関連付ける関連付け手段と、関連付けされている類似文字列が一致文字列とみなせるかどうかを判定する文字列一致判定手段と、類似文字列に対して異なる文字を置き換える文字置換手段と、を有する。【選択図】図２
2009199184.tif 000002
【特許請求の範囲】
【請求項１】
文字認識装置によって得られる認識結果として、少なくとも文字コードを入力する入力手段と、
入力された前記認識結果から文字列を切り出す文字列切り出し手段と、
切り出した前記文字列を記憶する記憶手段と、
切り出した前記文字列が、格納されている文字列と類似あるいは一致しているかどうか判定する判定手段と、
切り出した前記文字列が類似あるいは一致していると判定した場合、類似文字列として比較した文字列を関連付ける関連付け手段と、
複数の類似文字列の関連付けが存在する文字列に対して、関連付けされている前記類似文字列が一致文字列とみなせるかどうかを判定する文字列一致判定手段と、
前記一致文字列と判定した前記類似文字列に対して異なる文字を置き換える文字置換手段と、を有することを特徴とする画像処理装置。
【請求項２】
請求項１の画像処理装置において、前記文字列切り出し手段は、スペースによって区切られる文字列を文字列の切り出し位置とすることを特徴とする画像処理装置。
【請求項３】
請求項１の画像処理装置において、前記文字列切り出し手段は、文字種の異なる位置を文字列の切れ目として切り出すことを特徴とする画像処理装置。
【請求項４】
請求項１の画像処理装置において、前記文字列一致判定手段は、文字列の長さあるいは異なる文字の信頼度によって、一致判定の基準を変更することを特徴とする画像処理装置。
【請求項５】
請求項１の画像処理装置において、前記文字置換手段は、複数の異なる文字の中から最も信頼度が高い候補に第一候補を置き換えることを特徴とする画像処理装置。
【請求項６】
入力された文字列から切り出した文字列が、格納されている文字列と類似あるいは一致しているかどうか判定する判定工程と、
切り出した前記文字列が類似あるいは一致していると判定した場合、類似文字列として比較した文字列を関連付ける関連付け工程と、
複数の類似文字列の関連付けが存在する文字列に対して、関連付けされている前記類似文字列が一致文字列とみなせるかどうかを判定する文字列一致判定工程と、
前記一致文字列と判定した前記類似文字列に対して異なる文字を置き換える置換工程とを有することを特徴とする画像処理方法。
【請求項７】
請求項６記載の画像処理方法の各工程をコンピュータにて実施させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に文書原稿を読み取って得られた画像データを処理する情報処理装置等に関し、特に画像データから文字部分を認識し、認識した結果の文字列に対する最適な後処理方法に関する。
【背景技術】
【０００２】
従来技術では、光学文字認識装置などによって認識された文字列を補正する方法として、単語辞書や単語辞書を利用した形態素解析処理、ｎ文字頻度情報などを利用して認識文字列の文法的な誤りを補正することが可能であった。
【０００３】
特許文献１には単語辞書を持ち、形態素解析を行うことによって、文法的な誤りがあった場合、文法的に正しい文字に入れ替える発明が開示されている。
また、特許文献２には文字の連接頻度情報や連接コスト表を持ち、連接コスト表にしたがって、前接文字と後接文字との関係から文字の補正を行うための発明が開示されている。
【０００４】
更に、特許文献３には例えば文字列の中に「韓国」などが複数存在した場合で、複数存在する単語の一部があった場合（「？国」など）に、認識支援処理などによって国が第一候補以下の単語に変更されてしまう認識支援の悪影響を防ぐ発明が開示されている。
そのために、「？」の候補内に「韓」を追加することによって「韓国」となる確率を向上させるようにしている。
【０００５】
以上説明したように従来技術では誤認識文字を修正するために、単語辞書あるいは単語辞書を使用した形態素解析、あるいは文字の連接頻度情報など、何らかの文法的なデータが必要であった。
【０００６】
【特許文献１】特開平５−４０８５３号公報
【特許文献２】特開平６−２７４７００号公報
【特許文献３】特開平１１−３３８９７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述のように従来技術では誤認識文字を修正するために、単語辞書あるいは単語辞書を使用した形態素解析、文字の連接頻度情報など、何らかの文法的なデータや統計的なデータが必要である。または、オペレータの介在による修正が必要となっていた。
単語辞書を持った場合、新語に対応できないなどの問題があり、可変データであるユーザー辞書などを保持して対応する必要がある。
【０００８】
また、連接頻度情報を持った場合においても、予め設定されている連接頻度情報がユーザーの使用状況によって効果が現れないなどの弊害が考えられるため、ユーザー環境で改めて学習させるための学習データなどの可変データが必要になる。
【０００９】
本発明はかかる実情に鑑み、精度よく適正な画像処理を実現する画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために本発明は、  文字認識装置によって得られる認識結果として、少なくとも文字コードを入力する入力手段と、入力された前記認識結果から文字列を切り出す文字列切り出し手段と、切り出した前記文字列を記憶する記憶手段と、切り出した前記文字列が、格納されている文字列と類似あるいは一致しているかどうか判定する判定手段と、切り出した前記文字列が類似あるいは一致していると判定した場合、類似文字列として比較した文字列を関連付ける関連付け手段と、複数の類似文字列の関連付けが存在する文字列に対して、関連付けされている前記類似文字列が一致文字列とみなせるかどうかを判定する文字列一致判定手段と、前記一致文字列と判定した前記類似文字列に対して異なる文字を置き換える文字置換手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、単語辞書や連接頻度などの統計的データを使用せずに、ＯＣＲなどの文字認識装置の結果である誤認識文字を補正することが可能となる。また、重要語は文書中で繰り返し使用されることが多くまた新語である可能性も高い。
このように繰り返し使われる文字列に対して本発明は高い効果を得られるほか、単語辞書を使用する場合には補正されない新語などの補正も可能となり、ユーザーの使用環境に依存せずに誤認識文字の補正効果がある。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づき、本発明の好適な実施の形態を説明する。
（第１の実施形態）
図１を用いて、本発明を動作するための情報処理装置の構成を説明する。スキャナ等の入力装置３から読み込まれた画像データや、ハードディスクなどの外部記憶装置４等に記憶されている入力画像データ４ａから読み込まれた入力画像データは、ＲＡＭ２などのメモリ領域の入力画像データ領域２ａに展開される。
【００１３】
同様にＨＤＤやＲＯＭなどの外部記憶装置４に記憶されている画像処理プログラム４ｂも同様にＲＡＭ２などの処理プログラム展開領域２ｃに展開される。メモリ上に展開された処理プログラムはＣＰＵ１によって実行され、同じくメモリ上の入力画像データ領域に展開されている入力画像データを処理する。処理された結果はＲＡＭ２上に出力画像データ領域２ｂに出力され出力画像データを生成する。
ＲＡＭ上に生成された出力画像データはＣＲＴやプリンタなどの出力装置５あるいは外部記憶装置４あるいはネットワーク上の外部記憶装置４に出力画像データ４ｃとして出力される。
【００１４】
なお、本発明の実行環境はスタンドアロンのＰＣ上に限らず、ネットワークやインターネット上といった分散環境においても動作可能である。
【００１５】
図２は、本発明の処理フローチャートである。フローチャートを元に本発明の処理の詳細を説明する。
ステップＳ２０１では、処理する対象となるデータを入力する。図３の３ａは入力画像の例である。本実施形態では文字認識装置としてＯＣＲを使用する場合を説明するので、画像データを入力する。音声データと音声認識装置の組み合わせでもかまわない。
【００１６】
ステップＳ２０２では、入力された処理画像データから文字領域を取り出して、文字領域に関してＯＣＲを実行する。図３の３ａは文字領域を取り出した場合の例である。図の例ではテキスト領域として切り出された、Ｔｅｘｔ１〜３の領域を文字領域としてＯＣＲによって文字認識を行う。ＯＣＲの認識結果の情報として少なくとも文字コードと認識の信頼度を認識結果として出力する。
ステップＳ２０３は、ＯＣＲの結果得られた結果を入力する。図４は、文字認識結果情報の例である。文字の情報として、文字と認識信頼度が格納されている。それぞれの文字に類似した文字がある場合には、第二候補以下に文字と認識信頼度を関連付けて格納する（文字列関連付け手段）。
【００１７】
ステップＳ２０４では、ＯＣＲの結果得られた認識結果から文字列を切り出す（文字列切り出し手段）。文字列を切り出す方法として、認識結果のスコアが閾値以下であった場合、その文字列は間違えている可能性が高いとして、その前後の文字とあわせて文字列として切り出す。
【００１８】
図５は、文字列切り出し処理のフローである。この実施形態では信頼度の閾値＝８０、信頼度の差の閾値＝１０と設定していた場合について説明する。なお、本発明において文字列を切り出す際、スペースによって区切られる文字列を文字列の切り出し位置とすることができる。あるいはまた、文字種の異なる位置を文字列の切れ目として切り出すようにしてもよい。ステップＳ５０１では、認識結果情報から文字情報を取得する。図４の認識情報結果から文字番号１の「キ」を取得する。
ステップＳ５０２では、対象文字のステータスを判定する。ステータス判定は以下の条件で行う。
【００１９】
１）第一候補文字の信頼度が信頼度の閾値以下である文字候補
２）第一候補と第二候補の信頼度の差が信頼度の差の閾値範囲内である文字候補
１），２）いずれかの条件に当てはまる文字候補を修正候補文字とする。それ以外の文字、即ち信頼度が閾値以上で第一候補と第二候補の信頼度の差が閾値以上であるという基準を満たす文字候補を確定候補文字と判定する。
文字候補「キ」の信頼度は８５と閾値以上であり、第二候補の文字「ヰ」の信頼度は６５となって、信頼度の差が閾値以上であり、１），２）のどちらの条件にも当てはまらないので対象文字のステータスは確定候補文字と判定する。
【００２０】
ステップＳ５０３では判定結果に従って認識結果情報の文字情報を変更する。文字番号１の候補文字「キ」のステータスを「未定」から「確定」に変更する。また確定した文字の文字種は「カタカナ」であるので「未定」から「カタカナ」に情報を変更する。
ステップＳ５０４では文字のステータスを見て「確定」であれば次の候補文字を取得する。修正であれば、ステップＳ５０５以下の接続判定処理を行う。候補文字「キ」のステータスは「確定」であるのでステップＳ５０１の候補文字取得を行い、次の候補文字である「ャ」を取得する。
【００２１】
ステップＳ５０２では対象文字のステータスを判定する。先ほどと同様の処理を「ャ」について実行する。「ャ」の候補文字の信頼度は９５であるが、第二候補「ヤ」の信頼度も９５であるために信頼度の差が０であり条件２）を満たすので修正候補文字と判定する。
【００２２】
ステップＳ５０３では対象文字情報を変更する。文字のステータス情報を「修正」に変更する。そして、文字番号２の候補はすべてカタカナであるので、文字種を「カタカナ」に変更する。
ステップＳ５０４では判定結果が「修正」であるのでＳ５０５の処理を行う。ステップＳ５０５では前接する文字種と対象の文字種が一致しているかどうかの判定を行う。「キ」の文字種はカタカナで、「ャ」の文字種もカタカナであるために接続可であると判定する。ステップＳ５０６は文字列切り出し候補として「キ（ャ）」を生成する。（  ）内の文字は修正候補文字とする。
【００２３】
ステップＳ５０７では後続文字を取得する。本実施形態では「ノ」を取得する。ステップＳ５０８では「ノ」のステータスを判定する。候補文字「ノ」の信頼度は８０であり信頼度の閾値以上あり、第二候補は存在しないのでステータスは「確定」と判定する。
ステップＳ５０９では候補文字「ノ」の文字情報を変更する。「ノ」の文字情報としてステータス「確定」、文字種「カタカナ」に変更する。
【００２４】
ステップＳ５１０では対象文字と今回処理した後接文字が同じ文字種かどうか判定を行う。文字種はカタカナで一致するので、ステップＳ５１１の文字接続処理を行う。ステップＳ５１１では文字を接続する。前の文字も接続できるので文字列「キ（ャ）ノ」を生成する。ステップＳ５１２では、候補文字「ノ」のステータスの判定を行う。ステータスは「確定」であるので、切り出し文字列を「キ（ャ）ノ」として処理を終了する。ステータスが「修正」だった場合には更に後ろの文字に対して、ステップＳ５０７〜ステップＳ５１２の処理を行う。
【００２５】
ステップＳ２０５では、文字列切り出し処理で切り出された結果の文字列を切り出し文字列記憶領域に記憶する（記憶手段）。文字切り出しバッファは、文字を見出しとして文字のＩＤ（文字番号）と、前接文字数、後接文字数及び類似文字列へのＩＤを格納している。
【００２６】
ステップＳ２０６では、バッファ内に既存していた文字と今回切り出した文字との類似性を判定して類似文字列と判定した場合には類似文字列として管理する。「（テ）キ」が文字列候補として（判定手段）取り出された場合、（テ）が候補領域内に存在するかどうか判定する。バッファ文字は存在しないので、即ち類似文字は存在しないと判定する。
【００２７】
切り出し文字列「（テ）キ」を文字列記憶領域に記憶する。次に類似文字として判定される場合について説明する。
切り出し文字列「ヤ（ノ）ン」があった場合、切り出し文字列の先頭文字である「ヤ」がＩＤ２の位置に見つかる。「ヤ」には前接候補が１文字存在することがわかるので一つ前のＩＤ１の候補文字である「キ」を取得する。
【００２８】
同様に切り出し文字列の一つ前の文字候補に「キ」が存在するかどうか確認する。存在しなかった場合は非類似文字として類似判定処理を終了する。切り出し文字列の一つ前の文字候補として「ヰ、キ」が認識されていた場合、文字「キ」が存在するので前接文字とは一致候補であると判断する。
【００２９】
次に、後接文字の比較を行う。次の切り出し文字列の「（ノ）」とＩＤ３の文字との比較を行う。切り出し文字列の候補文字と記憶領域内の文字が一致するので、次の切り出し文字列の文字を取り出して判定を繰り返す。次の切り出し文字列として「ン」を取得して、ＩＤ４の文字との比較を行う。ＩＤ４の文字列の中に候補文字「ン」が存在するので後接文字が一致すると判定する。
【００３０】
上記の処理により前接文字と後接文字が一致したので類似文字と判定し、ステップＳ２０７では文字列の記憶領域の更新処理を行う。文字列記憶領域の更新処理では、候補内に存在している情報（前接文字数と後接文字数など）の更新とともに、今回処理した文字列の追加を行う。
【００３１】
今回処理した切り出し文字列の先頭の「キ」の文字番号が２０だった場合、図７に示したように、候補内に存在している情報（前接文字数と後接文字数など）の更新を行う。
ステップＳ２０８では今回類似文字列として判定した文字列を類似文字バッファに格納する。対象となる文字列バッファからは類似文字バッファへのポインタを記憶する。また、類似文字バッファには類似文字数、文字列長、開始文字ＩＤなどの情報を記憶する。
上記したように、ステップＳ２０４〜ステップＳ２０８までの処理を認識結果情報すべてに対して、文字列の切り出しと類似文字列の判定処理を実行する。
【００３２】
本実施形態では、類似文字列判定に候補文字内に一致する文字が存在することを前提として説明したが、完全に候補文字が存在しない場合においても文字列長などの条件によっては類似文字列として登録することも可能である。
すべての認識結果情報に対して処理を行った後、すべての類似文字バッファに格納されている文字列に対して、ステップＳ２０９の文字列一致判定を行う（文字列一致判定手段）。
【００３３】
図８は、本実施形態での最終的な類似文字列バッファのデータと、バッファからポイントされている認識結果情報のデータである。類似文字列バッファには類似していると判定された文字列が格納されており、類似文字列１は４箇所に出現し、文字列長４であり、それぞれの候補文字へは先頭のＩＤで管理されている。確定文字候補の「キ」と確定文字候補以外の候補「ヰ、÷」がそれぞれ格納されている。
【００３４】
一致判定の処理として、それぞれの認識結果内にすべての類似文字列で共通する文字列が存在するかどうかチェックする。その結果、類似文字列の１文字目の文字は「キ」と「ヰ」がすべての類似文字列に存在することがわかる。同様に２文字目の文字は「ャ」と「ヤ」が存在することがわかる。同様に３文字目は「ノ」が共通に存在し、４文字目は「シ」と「ン」が共通していることがわかる。
【００３５】
以上のように類似文字列を構成するすべての文字に対して共通する文字が文字候補内に含まれているので、類似文字列１のすべての類似文字候補は一致文字であると判断する。また、文字属性はカタカナであると判断することができる。
一致文字列と判定した場合にはステップＳ２１０の文字置換判定処理を実行する。一致文字列として判定されなかった場合には次の類似文字列の処理を行う。
【００３６】
ステップＳ２１０では、文字置換判定処理を行う（文字置換手段）。この文字置換判定では、候補文字の中から文字を一意に決定する処理を行う。本実施形態では、確定候補文字はそのままの信頼度、修正候補文字は１／２の信頼度、文字種違いは１／２の信頼度、確定候補文字のほかの候補文字は１／２の信頼度をそれぞれの文字について計算する。
文字番号１の「キ」は確定候補文字なので信頼度（８５）をそのまま加算する。
文字番号２０の「キ」は修正候補文字なので信頼度（８０）の１/２の値を加算する。
文字番号４５の「キ」は確定候補文字なので信頼度（８５）をそのまま加算する。
文字番号７０の「キ」は修正候補文字なので信頼度（６０）の１/２の値を加算する。
最終的に候補文字「キ」の信頼度は、８５＋８０／２＋８５＋６０／２＝２４０となる。
【００３７】
文字番号１の「ヰ」は確定候補文字以外の文字なので信頼度（６５）の１／２を加算する。
文字番号２０の「ヰ」は修正候補文字なので信頼度（８５）の１/２の値を加算する。
文字番号４５の「ヰ」は確定候補文字以外の文字なので信頼度（６５）の１／２を加算する。
文字番号７０の「ヰ」は修正候補文字なので信頼度（４０）の１/２の値を加算する。
最終的に候補文字「キ」の信頼度は、６５／２＋８５／２＋６５／２＋４０／２＝１２７．５となる。
【００３８】
同様に「÷」の計算も行い、文字番号１の「÷」は確定候補文字以外の文字なので信頼度（５０）の１／２と文字属性が英数であるので文字種違いで更に１／２した値を加算する。文字番号２０の「÷」は修正候補文字なので信頼度（５０）の１／２と文字属性が英数であるので文字種違いで更に１／２した値を加算する。
文字番号４５及び７０には候補文字が存在しないので０となる。
最終的に候補文字「÷」の信頼度は、５０／４＋５０／４＋０＋０＝２５となる。
【００３９】
上記のような計算を行い、総和が２４０である「キ」を一致文字列の１番目の文字として決定する。同様な処理をすべての候補文字に対して行い、結果として２番目の文字として「ヤ」、３番目の文字として「ノ」、４番目の文字として「ン」にそれぞれ決定し、図９のように認識結果情報の第一候補を今回決定した文字に入れ替える。図中の太文字が今回入れ替えた第一候補である。
【００４０】
以上説明したように従来では文字番号１からの文字列が「キャノシ」、文字番号２０からの文字列が「ヰヤ／ン」、文字番号４５からの文字列が「キャ／ン」、文字番号７０からの文字列が「キャノシ」がそれぞれ第一候補として出力されていた。本実施形態では文字認識結果の第一候補を認識結果内に存在する類似文字列で判定することによって、すべての文字列に対して正解文字列である「キヤノン」を出力することが可能となる。
【００４１】
（第２の実施形態）
第１の実施形態では、自動的に正解文字列を決定して第一候補とする文字を信頼度の計算によって求めていた。第２の実施形態では、出力した第一候補に対してオペレータが修正した場合について説明する。
【００４２】
第２の実施形態では、ステップＳ２０９までは実施形態１と同じ処理が行われる。内部処理として、図８のような類似文字列と認識結果の情報が得られている。従って、出力文字列は図１０のような第一候補が出力される。
【００４３】
最初の文字列である「キャノシ」はご認識であるので、オペレータは「ャ」を「ヤ」に、「シ」を「ン」にそれぞれ変更して「キヤノン」という文字列に変更する。オペレータによる第一候補の変更情報を受け取り、一致文字列と判定されている文字列すべてにオペレータの修正内容を反映する。
この実施形態では２０，４５，７０から始まるそれぞれの文字列がオペレータの修正を行った文字列と一致する文字列として保持しているので、それぞれの第一候補を「キヤノン」という文字列に変更する。
【００４４】
上記のようにオペレータの変更内容をすべての一致文字列に反映させることで、図１１のような出力文字列を得ることができ、オペレータはすべての間違いを修正しなくても一致文字列すべてに修正結果を反映することが可能となる。
なお、以上のような実施例はコンピュータにて実行されるプログラムにて実現されてもよいことはいうまでもない。
【図面の簡単な説明】
【００４５】
【図１】本発明の情報処理装置の構成を示す図である。
【図２】本発明の動作例を示すフローチャートである。
【図３】本発明に係るＯＣＲ処理の例を示す図である。
【図４】本発明に係る認識結果情報の例を示す図である。
【図５】本発明に係る文字列切り出し処理動作を示すフローチャートである。
【図６】本発明に係る文字列記憶領域の例を示す図である。
【図７】本発明に係る文字列記憶領域と類似文字列バッファを示す図である。
【図８】本発明に係る類似文字列の認識結果情報の例を示す図である。
【図９】本発明に係る認識結果情報の入れ替えの例を示す図である。
【図１０】本発明の第２の実施形態に係る出力文字列の例を示す図である。
【図１１】本発明の第２の実施形態に係る出力文字列の例を示す図である。
【符号の説明】
【００４６】
１  ＣＰＵ
２  ＲＡＭ
２ａ  入力データ領域
２ｂ  出力データ領域
２ｃ  処理プログラム展開領域
３  入力装置
３ａ，３ｂ  入力画像
４  外部記憶装置
４ａ  入力画像データファイル
４ｂ  処理プログラム
４ｃ  出力画像データファイル
５  出力装置
【図１】
2009199184.tif 000003
【図２】
2009199184.tif 000004
【図３】
2009199184.tif 000005
【図４】
2009199184.tif 000006
【図５】
2009199184.tif 000007
【図６】
2009199184.tif 000008
【図７】
2009199184.tif 000009
【図８】
2009199184.tif 000010
【図９】
2009199184.tif 000011
【図１０】
2009199184.tif 000012
【図１１】
2009199184.tif 000013