(57)【要約】【課題】倍角文字が含まれる文書のＯＣＲ処理による処理負担を抑制すること。【解決手段】処理対象の画像に対して文字認識処理をする文字認識部２０２と、文字認識部２０２が倍角文字を複数の文字として誤認識する誤認識文字列が少なくとも保持されている誤認識パタン７００を取得する取得部２０１と、文字認識部２０２が処理対象の画像に対して文字認識処理をした結果、認識した文字列である認識文字列を構成する文字のうち、倍角文字を前記文字認識処理した結果である倍角認識文字を、誤認識パタン７００に基づき選定する選定部２０３と、前記倍角認識文字を修正するための処理をする修正部２０５と、を有することを特徴とする情報処理装置１００。【選択図】図１０
2020194491.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像に対して文字認識処理をする文字認識手段と、
前記文字認識手段が倍角文字を複数の文字として誤認識する誤認識文字列が少なくとも保持されているデータを取得する取得手段と、
前記文字認識手段が前記処理対象の画像に対して前記文字認識処理をした結果、認識した文字列である認識文字列を構成する文字のうち、倍角文字を前記文字認識処理した結果である倍角認識文字を、前記データに基づき選定する選定手段と、
前記倍角認識文字を修正するための処理をする修正手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記選定手段は、
前記認識文字列を構成する文字のうちの一続きの文字が、前記一続きの文字の順番と同じ順番で、前記データの前記誤認識文字列として保持されているか検索し、前記検索の結果に基づき前記倍角認識文字を選定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記選定手段は、
前記一続きの文字が、前記データの前記誤認識文字列として保持されている場合、
前記処理対象の画像における領域のうち、前記文字認識手段が前記一続きの文字を認識した領域を含む領域である選定領域において、文字を示す画素値が連続して検出される行方向の長さに基づき、前記文字認識手段が前記倍角認識文字を認識した領域である倍角文字領域を選定する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記選定手段は、
前記選定領域において行方向と垂直な方向の射影をとり、黒色の画素値を有する画素である黒画素が検出されたときの行方向の位置が連続している区間の長さが、行方向と垂直な方向の文字の長さに基づく所定の値以上であれば、前記区間に対応する前記選定領域内の領域を前記倍角文字領域と選定する。
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記選定手段は、
前記区間の長さが、前記行方向と垂直な方向の文字の長さの１．６倍以上の長さである場合、前記区間に対応する前記選定領域内の領域を前記倍角文字領域と選定する。
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記倍角文字領域の画像の大きさを変更する変更手段をさらに有し、
前記文字認識手段は、
前記変更手段によって変更された変更画像に対して前記文字認識処理を行い、
前記修正手段は、
前記変更画像に対して前記文字認識処理をして得られた変更認識文字の尤度が、前記倍角認識文字の尤度より高い場合、前記倍角認識文字を、前記変更認識文字に置き換える
ことを特徴とする請求項３から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記変更手段は、前記倍角文字領域の部分画像を生成し、前記部分画像の縦と横とが略同じ長さになるように変更して前記変更画像を生成する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記データは、
前記誤認識文字列と、前記誤認識文字列に対応する正解文字と、が紐付けられて保持されており、
前記選定手段は、
前記一続きの文字が前記データの前記誤認識文字列として保持されており、かつ、前記一続きの文字のサイズに統一性がある場合、前記一続きの文字を前記倍角認識文字と選定し、
前記修正手段は、
前記倍角認識文字を、前記データにおいて前記一続きの文字と同一の前記誤認識文字列に紐付けられている前記正解文字に置き換える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項９】
前記一続きの文字のサイズに前記統一性がある場合とは、
前記一続きの各文字の横サイズと縦サイズとの比をそれぞれ決定し、前記比の差分が所定の範囲内の場合である
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
正規表現で示されている第１の検索文字列を含む前記認識文字列と、第２の検索文字列を含む前記認識文字列と、を検索する処理をし、
前記第１の検索文字列と、前記第２の検索文字列との相対位置が所定の条件を満たす前記認識文字列がある場合、該認識文字列に含まれる前記第１の検索文字列が示す文字列を、項目値として抽出する情報抽出手段をさらに有する
ことを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記情報抽出手段は、
前記修正手段によって処理がされた後の前記認識文字列から、前記第１の検索文字列と前記第２の検索文字列とを検索する処理をする
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記誤認識文字列と、前記誤認識文字列に対応する正解文字と、が紐付けられて保持されている誤認識パタンから、前記第２の検索文字列に含まれる文字と同一の前記正解文字を抽出し、
抽出された前記正解文字と、該正解文字に紐付けられている前記誤認識文字列と、に基づき前記データを生成する生成手段をさらに有し、
前記選定手段は、前記生成手段によって生成された前記データに基づき、前記倍角認識文字を選定する
ことを特徴とする請求項１０または１１に記載の情報処理装置。
【請求項１３】
前記生成手段は、
前記取得手段が前記データを取得する前に、前記データを生成する
ことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記処理対象の画像は、二値化処理された画像である
ことを特徴とする請求項１から１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記倍角文字は、横倍角文字または縦倍角文字である
ことを特徴とする請求項１から１４のいずれか１項に記載の情報処理装置。
【請求項１６】
前記認識文字列を構成する文字は、該文字の尤度と、該文字のサイズと紐付けて管理されている
ことを特徴とする請求項１から１５のいずれか１項に記載の情報処理装置。
【請求項１７】
処理対象の画像に対して文字認識処理をする文字認識ステップと、
前記文字認識処理において倍角文字を複数の文字として誤認識する誤認識文字列が少なくとも保持されているデータを取得する取得ステップと、
前記文字認識ステップにおいて、前記処理対象の画像に対して前記文字認識処理をした結果、認識した文字列である認識文字列を構成する文字のうち、倍角文字を前記文字認識処理した結果である倍角認識文字を、前記データに基づき選定する選定ステップと、
前記倍角認識文字を修正するための処理をする修正ステップと、
を含むことを特徴とする制御方法。
【請求項１８】
コンピュータを、請求項１から１６のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、倍角文字が含まれる文書画像をＯＣＲ処理する技術に関する。
【背景技術】
【０００２】
カメラまたはスキャナにより文書を読み込むことで得られる画像データに対し文字認識処理（ＯＣＲ処理）を行い、認識された文字をテキストデータとして得る方法がある。
【０００３】
特許文献１には、行ごとに文字の倍角らしさの度合いを示す倍角尤度を算出し、倍角尤度に基づき、行内の文字認識を行う方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０―３９６１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、倍角文字は、行の一部の文字にのみ使用されたり、文書の一部に使用されたりする場合がある。そのような文書に対して、ＯＣＲ処理を行い精度よく文字認識するには、文字ごとにその文字が倍角文字であるかを判定するため処理が必要になり処理負担が増す虞がある。
【課題を解決するための手段】
【０００６】
本開示の情報処理装置は、処理対象の画像に対して文字認識処理をする文字認識手段と、前記文字認識手段が倍角文字を複数の文字として誤認識する誤認識文字列が少なくとも保持されているデータを取得する取得手段と、前記文字認識手段が前記処理対象の画像に対して前記文字認識処理をした結果、認識した文字列である認識文字列を構成する文字のうち、倍角文字を前記文字認識処理した結果である倍角認識文字を、前記データに基づき選定する選定手段と、前記倍角認識文字を修正するための処理をする修正手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本開示の技術によれば、倍角文字が含まれる文書のＯＣＲ処理による処理負担を抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】情報処理装置の機能構成の一例を示す図である。
【図３】文書画像の例を示す図である。
【図４】文書画像に対してＯＣＲ処理をした文字認識結果の例を示す図である。
【図５】テキスト検索規則と、レイアウト検索規則との例を示す図である。
【図６】情報抽出処理が行われた結果の比較例を示す図である。
【図７】誤認識パタンと、抽出用誤認識パタンの例を示す図である。
【図８】準備の処理の内容を示すフローチャートである。
【図９】ＯＣＲ処理および情報抽出処理を示すフローチャートである。
【図１０】選定処理および修正処理を示すフローチャートである。
【図１１】文字画像に対する処理内容の内容を説明するための図である。
【図１２】修正処理が行われた後の文字認識結果の例を示す図である。
【図１３】選定処理および修正処理を示すフローチャートである。
【図１４】誤認識パタンの例を示す図である。
【発明を実施するための形態】
【０００９】
以下、実施形態について図面を用いて説明する。なお、以下の実施形態において示す構成は一例に過ぎず、図示された構成に限定されるものではない。
【００１０】
＜第１の実施形態＞
［ハードウェア構成］
図１は、本実施形態に係る情報処理装置１００の内部構成のハードウェア構成を示す図である。情報処理装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、入力部１０４と、バス１０５と、外部記憶部１０６と、ＮＣＵ１０７と、ＧＰＵ１０８と、表示部１０９と、ＳＣＮＵ１１０と、を有する。
【００１１】
ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとして、ＲＯＭ１０２に格納されたプログラムを実行し、情報処理装置１００の各部を統括的に制御するプロセッサである。また、ＣＰＵ１０１は、複数の計算機プログラムを並列に動作させることもできる。
【００１２】
ＲＯＭ１０２は、ＣＰＵ１０１による実行されるプログラムおよびデータを格納する。ＲＡＭ１０３は、ＣＰＵ１０１が処理するための制御プログラムを格納するとともに、ＣＰＵ１０１が各種制御を実行する際の様々なデータの作業領域を提供する。
【００１３】
入力部１０４は、ユーザによる各種入力操作環境を提供する。入力部１０４は、例えばキーボードおよびマウスである。他にも、ユーザからの各種入力操作環境を提供するものであれば、タッチパネル、スタイラスペン等が含まれてもよい。また、音声認識やジェスチャー操作による入力を受け付ける装置が含まれていてもよい。
【００１４】
バス１０５は、情報処理装置１００の各部分に接続されているアドレスバス、またはデータバス等であり、その各部分間の情報交換・通信機能を提供する。これにより、各部分が連携して動作できるようにする。
【００１５】
外部記憶部１０６は、様々なデータ等を記憶するための装置である。外部記憶部１０６は、ハードディスク、フロッピーディスク、光ディスク、磁気ディスク、磁気テープ、不揮発性のメモリカード等の記録媒体と、記憶媒体を駆動し情報を記録するドライブとで構成される。保管されたプログラムやデータの一部は、入力部１０４を介して受け付けられる指示、またはプログラムの指示により必要な時にＲＡＭ１０３上に呼び出される。
【００１６】
ＮＣＵ（Network Control Unit）１０７は、他の情報処理装置等と通信を行うための通信部である。ＮＣＵ１０７は、ＬＡＮ等のネットワークを介して、他の情報処理装置と通信することによりプログラムおよびデータを共有することが可能になる。ＮＣＵ１０７には、任意の通信規格のものを使用することができる。例えば、ＲＳ２３２Ｃ、ＵＳＢ、ＩＥＥＥ１３９４、Ｐ１２８４、ＳＣＳＩ、モデム、Ｅｔｈｅｒｎｅｔ等の有線通信、またはＢｌｕｅｔｏｏｔｈ（登録商標）、赤外線通信、ＩＥＥＥ８０２．１１ａ／ｂ／ｎ等が利用可能である。
【００１７】
ＧＰＵ１０８は、バス１０５を経由してＣＰＵ１０１等と、表示指示や計算指示に従って表示内容の画像の作成や表示位置などの計算を行い、その計算結果を表示部１０９に描画させる。または、バス１０５を経由して、計算結果をＣＰＵ１０１に戻すことで、ＣＰＵ１０１と連携した計算処理を行う場合もある。
【００１８】
表示部１０９は、入力操作の状態やそれに応じた計算結果などをユーザに対して表示する装置である。表示部１０９は、例えば液晶ディスプレイである。
【００１９】
ＳＣＮＵ（Scanning Unit）１１０は原稿を読取り画像データを生成する画像読取部であり、例えば、オーバーヘッド型のスキャナである。ＳＣＮＵ１１０は情報処理装置１００とは別の装置として構成されてもよい。例えばＳＣＮＵは、ＮＣＵ１０７の通信機能を介して接続してもよいし、それ以外の独自の外部Ｉ／Ｆを介して接続する形態でもよい。
【００２０】
以上述べてきた情報処理装置１００のハードウェア構成は、あくまでも、本実施形態における一例であり、これに限定されるものでない。このハードウェア構成する部分は、ハードウェアである制限はなく、仮想的にソフトウェアで作り出されたものでもよい。図１のハードウェア構成を情報処理装置単体で実現する場合だけでなく、ＮＣＵ１０７を利用した情報交換・共有等を行い連携させることで、サーバ・クライアントシステムを構成する方法で実現してもよい。ハードウェア構成の各部が異なる場所にあって、ＬＡＮやインターネットなどを介して連携動作してもよいし、仮想的にソフトウェアで作り出されたものが含まれていてもよい。さらに、複数のサーバ・ＰＣクライアント等の各システムの全部もしくは一部が動作するために、図１のハードウェア構成を共有するような利用方法であってもよい。
【００２１】
［機能構成］
図２は、情報処理装置１００の機能構成の一例を示す図である。情報処理装置１００は、取得部２０１と、文字認識部２０２と、選定部２０３と、変更部２０４と、修正部２０５と、情報抽出部２０６と、誤認識パタン生成部２０７と、を有する。これらの各部の機能の説明については後述する。図２の各部の機能は、ＣＰＵがＲＯＭに記憶されているプログラムコードをＲＡＭに展開し実行することにより実現される。または、図２の各部の一部または全部の機能をＡＳＩＣや電子回路等のハードウェアで実現してもよい。
【００２２】
［ＯＣＲ処理について］
図３は、文字認識処理（ＯＣＲ処理）の対象となる文書の一例であるレシート３０１を示す図である。図３を用いて、情報処理装置１００の文字認識部２０２によるＯＣＲ処理について説明する。レシート３０１の上側には、品物を購入したお店の名前、電話番号、購入日が記載されている。また、その下には、購入した物品とその価格が記載され、点線の罫線以下に、購入した物品の合計金額、支払い時に出した現金の金額、及びお釣りの金額が記載されている。
【００２３】
レシート３０１において、行３０２と行３０３では、文字が並んでいる方向（以下、単に横方向という）に長い形状のフォントである横倍角文字で印刷された文字が含まれている。行３０２は、合計金額を示す「合計」という項目名と、「￥３６０」という合計金額の値を示すための行であり、行３０２のうち「合計」の文字列のみが横倍角文字で印刷されている。購入者にとって合計金額が重要な情報であるため、その記載位置を購入者が見つけやすくするため「合計」の文字が横倍角文字で印刷されている。行３０３では「毎日１日は割引デー」というお店の宣伝が記載されている。宣伝は、お店にとって購入者の購買意欲を高める重要な情報であり、強調して購入者が宣伝を認識しやすくするため、横倍角文字で印刷されている。
【００２４】
レシートの印刷では、使用される文字のフォントの数が少ない場合がある。そのため、レシートの印刷する文字のうち、強調して表現したい文字には、レシート３０１のように倍角文字が利用されることが多い。また、レシートのように、強調して表現したい文字は一部に限られることが多い。このため例えば、レシート３０１の行３０２のように１行に倍角文字と倍角文字でない文字が混ざって使用されることがある。
【００２５】
図４は、文字認識部２０２によるＯＣＲ処理をした結果である文字認識結果の例を示す図である。文字認識結果４００は、レシート３０１をＳＣＮＵ１１０等で読み取ることで得られた画像データをＯＣＲ処理した結果が保持されているものとして説明する。文字認識結果４００のレコード（テーブルの各行）には「番号」、「認識文字列」、「文字尤度」、「位置及び文字サイズ」の各項目の値またはテキストデータが保持され、レコード単位で対応付けられて管理されている。「番号」は、識別用の番号である。「認識文字列」はＯＣＲ処理した結果の認識した文字列のテキストデータである。「文字尤度」は認識文字列を構成するそれぞれの文字の信頼度を示す尤度の値である。「位置及び文字サイズ」は認識文字列を構成するそれぞれの文字の画像内の位置およびサイズを示す値である。
【００２６】
文字認識結果４００の番号が４０６のレコードの「認識文字列」として保持されている文字列は、レシート３０１の行３０２をＯＣＲ処理した結果、認識された文字列である。その文字列は「合言十  ￥３６０」である。図３の行３０２で説明したように「合計」が横倍角文字で印刷されていることから、ＯＣＲ処理において文字認識の誤り（誤認識）が発生している。このため「計」のＯＣＲ処理した結果、部首と旁で分離して文字認識され、「言」と「十」の２文字として文字認識処理されている。
【００２７】
文字認識結果４００の番号が４０９のレコードの「認識文字列」として保持されている文字列は、レシート３０１の行３０３をＯＣＲ処理した結果である。その結果である文字列は「毎月１日は害リ弓１デー」である。レシート３０１の行３０３についても横倍角文字であることから、ＯＣＲ処理において誤認識が発生している。即ち、「割」が「害」と「リ」に、「引」が「弓」と「１」に、部首と旁とがそれぞれ別の文字として認識され、１つの文字が、２文字として認識されている。
【００２８】
前述したように、倍角文字は文書全体の一部に使われているため、文書の大半を占める文字のフォントを基準にＯＣＲ処理をすると倍角文字は２文字以上の文字で認識されてしまうことがある。また、行ごとまた文字ごとはフォントを判定して、判定したフォントに基づきＯＣＲ処理することが考えられるが、倍角文字であるかを判定するための処理に時間がかかる。よって、処理負担が増す虞がある。
【００２９】
文字認識結果４００の番号が４０６のレコードの「文字尤度」には「認識文字列」の文字列を構成する文字の順番に応じて、その文字の尤度がカンマを隔てて左から順に保持されている。例えば、「文字尤度」に保持されている一番左側の「８０」は、同じレコードの「認識文字列」として保持されている文字列の一番左の文字「合」の信頼度を示す値（尤度）である。
【００３０】
本実施形態において信頼度は、対象文字の特徴量と、ＯＣＲ処理の結果、認識した文字の特徴量との一致度を０〜１００で数値化したものである。尤度は、例えば、ＯＣＲ処理された結果である認識文字列の各文字と、保存されている対応する標準文字との特徴量の一致率である。
【００３１】
信頼度の数値が高い文字は、信頼できる結果であることを示す。なお、信頼度は、各文字の文字認識結果の確からしさが客観的に比較できればよくその表現方法は問わない。
【００３２】
文字認識結果４００の「位置及び文字サイズ」には「認識文字列」の文字列を構成する文字の順番に応じて、その文字の位置およびサイズがカンマを隔てて左から順に保持されている。例えば、番号が４０６のレコードの「位置及び文字サイズ」に保持されている「（130,40,16,28）」は、同じレコードの「認識文字列」に保持されている文字列の一番左の文字「合」の位置およびサイズ情報である。即ち、「合」の画像内の位置座標は縦１３０、横４０であり、縦サイズが１６、横サイズが２８とであることを表している。この文書画像内の座標は原点が左上で、縦が下方向、横が右方向に延びる座標系を用いており、以下の説明においても同様に説明を行う。
【００３３】
［情報抽出処理について］
本実施形態の情報処理装置１００は情報抽出部２０６を有する形態である。情報抽出部２０６は、ＯＣＲ処理した文字認識結果４００から、そのＯＣＲ処理の対象となった文書画像に含まれる電話番号、または購入金額の合計金額等の特定の情報を抽出する情報抽出処理をする。ここではその情報抽出処理について説明する。
【００３４】
図５（ａ）は「テキスト検索規則」を示す図である。テキスト検索規則から文字認識結果４００の認識文字列に含まれる文字列を検索することで、文書画像に含まれる特定の情報（項目値）を抽出するための処理が行われる。
【００３５】
テキスト検索規則５０１では、「番号」と、「ラベル名」と、「検索文字列」と、の各データが、レコード単位で対応付けられている。「番号」は、識別用の番号である。「検索文字列」には、文字認識結果４００に対して検索するための検索ワードの情報が保持されている。検索ワードの情報として、「検索文字列」には、抽出情報の項目値の候補を示す文字列または文字パタンと、項目値に関連する項目名である文字列と、のいずれかが保持されている。
【００３６】
番号が５１１〜５１３のレコードにおける検索文字列には文字列のテキストデータそのものが保持されている。例えば、番号５１３のレコードの検索文字列には「ＴＥＬ」を示すテキストデータが保持されており、情報抽出部２０６は、文字認識結果４００の「認識文字列」を対象に「ＴＥＬ」が含まれる文字列があるか検索する。文字認識結果４００のうち、番号が４０２のレコードの認識文字列には検索文字列であるＴＥＬが含まれることから、文字認識結果４００の番号が４０２のレコードが検索結果となる。
【００３７】
検索した結果、検索文字列が含まれる「認識文字列」がある場合、その検索文字列が属するテキスト検索規則５０１のレコードの「ラベル名」に保持されている文字列が、検索結果に紐に付けられて保存される。例えば、検索文字列が「ＴＥＬ」である場合、対応するラベル名は「ｔｅｌＫｅｙ」であるから、文字認識結果４００のうちＴＥＬが含まれる認識文字列の番号である４０２の文字列と、ラベル名の「ｔｅｌＫｅｙ」とが紐付けられて検索結果として保存される。
【００３８】
テキスト検索規則５０１の番号が５１８、５１９のレコードの「検索文字列」には、文字パタンが正規表現で指定されている。例えば、番号が５１８のレコードの検索文字列において保持されている「￥（ｄ＋）」は正規表現での記載であり、「￥」の後に数字が１個以上連続する文字パタンを検索文字列とすることを示している。番号が５１９のレコードの検索文字列において保持されている「（ｄ＋）−（ｄ＋）−（ｄ＋）」は、数字が１個以上連続する文字パタンが３個あり、かつ、その間に「―」があるという文字パタンを検索文字列とすることを示している。例えば、検索文字列が「（ｄ＋）−（ｄ＋）−（ｄ＋）」である場合、文字認識結果４００の番号が４０２のレコードが「０３−１２３４−５６７８」が含まれるため検索結果となる。このため検索結果である、「０３−１２３４−５６７８」は「ｔｅｌＶａｌｕｅ」というラベルを付けて保存される。なお、１つの検索文字列に対して検索結果は複数ある場合もあるので、同一ラベルを持つ検索結果が複数保存されることがある。
【００３９】
図５（ｂ）は「レイアウト検索規則」を示す図である。レイアウト検索規則５０２は、テキスト検索規則５０１を用いた検索結果から、情報抽出対象の項目値が含まれるか判定するために用いられるテーブルである。レイアウト検索規則５０２では、「番号」と、「ラベル名」と、「ラベル名１」と、「ラベル名２」と、「位置関係」と、の各データがレコード単位で対応付けられている。「番号」は、識別用の番号である。「ラベル名」は、テキスト検索規則によって検索された認識文字列の位置関係が所定の条件を満たすか判定し、その判定結果を識別するために判定結果に付与するラベル名である。「ラベル名１」と「ラベル名２」とには、テキスト検索規則５０１に保持されているラベル名のいずれかが保持されている。テキスト検索規則によって検索された認識文字列のうち、「ラベル名１」のラベルが付された文字列に対する「ラベル名２」のラベルが付された文字列の相対位置が、「位置関係」に保持されている位置の条件を満たすかが判定される。
【００４０】
文字認識結果４００を用いて具体例を説明する。レイアウト検索規則５０２の番号が５２２のレコードにおいてラベル名１は「ｔｅｌＫｅｙ」であり、ラベル名２は「ｔｅｌＶａｌｕｅ」である。文字認識結果４００において、番号が４０２のレコードに保持されている認識文字列では、「ＴＥＬ」の右側に「０３−１２３４−５６７８」が位置する関係にある。
【００４１】
前述したように「ＴＥＬ」は「ｔｅｌＫｅｙ」のラベルを付して保存され、「０３−１２３４−５６７８」は「ｔｅｌＶａｌｕｅ」のラベルを付して保存される。このため、文字認識結果４００において、番号が４０２のレコードに保持されている認識文字列は、「ｔｅｌＫｅｙ」ラベルが付された文字列の右側に「ｔｅｌＶａｌｕｅ」のラベルが付された文字列が位置する関係にある。この場合、情報抽出部２０６は、番号が４０２のレコードの認識文字列は、番号が５２１のレコードの「位置関係」に保持されている「右」と同じ位置関係であると判定する。同じ位置関係であると判定された場合、相対位置に保持されている「右」側の文字列である「ｔｅｌＶａｌｕｅ」のラベルが付されている「０３−１２３４−５６７８」が「ｔｅｌ」のラベルを付与されて保存される。こうしてレシートの画像データから電話番号を示す項目値を抽出することができる。
【００４２】
実際は、ラベル名１のラベルが付けられた文字列と、ラベル名２のラベルが付けられた文字列とのすべての組合せに対して、「位置関係」に保持されている位置関係にあるかが判定される。相対位置関係で指定された位置関係にあるものがあれば、項目値として抽出される。
【００４３】
同様に、文字認識結果４００から合計金額を項目値として抽出することができる。具体的には、「ｔｏｔａｌＰｒｉｃｅＫｅｙ」のラベルのついた文字列である「合計」または「合計金額」の右側に「ｔｏｔａｌＰｒｉｃｅＶａｌｕｅ」のラベルのついた文字列があるような認識文字列が、文字認識結果４００にあるか検索される。そのような認識文字列がある場合、その認識文字列において「ｔｏｔａｌＰｒｉｃｅＶａｌｕｅ」のラベルが付されている文字列が「ｔｏｔａｌＰｒｉｃｅ」というラベルを付与して保存される。「ｔｏｔａｌＰｒｉｃｅ」のラベルが付された値を抽出することで、文書画像に含まれる合計金額の値を抽出できる。例えば、レシートの文書画像からレシートに記載されている合計金額の値を抽出することができる。
【００４４】
このため、文書画像から合計金額の値を抽出するには、項目値に対応する項目名である「合計」または「合計金額」が含まれる文字列を文字認識結果４００から検索する必要がある。しかしながら前述したようにレシート３０１では「合計」は通常の文字サイズを横に拡大した、いわゆる横倍角文字が用いられることがある。このためＯＣＲ処理の結果では正しく「合計」の文字が認識されていないことがある。特に、項目名が倍角文字で表示されていると、項目名が正しく文字認識されないため、情報抽出処理も正しく行われないことになる。
【００４５】
図６は、情報抽出処理が行われた結果が保持されている情報抽出結果６００の比較例である。情報抽出結果６００では、識別のための「番号」と、「ラベル名」と、「抽出値」と、の各データが、レコード単位で対応付けられている。例えば、番号が６０２のレコードでは、ラベル名「ｔｅｌＶａｌｕｅ」の付加された抽出値として「０３−１２３４−５６７８」が得られていることがわかる。つまり、レシートの文書画像をＯＣＲ処理および情報抽出処理をした結果、レシートに記載されている電話番号の情報が抽出されたことを示している。一方、図４のような文字認識結果４００では、合計金額の項目名が正しく検索できない。よって、文書画像に含まれる合計金額の値である「￥３６０」が抽出されないことになる。このため、番号が６０１の「抽出値」は抽出された合計金額の値を保持するためのフィールドであるが、そのフィールドは空白となっている。
【００４６】
このため、本実施形態は、「合計」のような項目名が、誤認識しやすい倍角文字として使用されている文書画像をＯＣＲ処理する場合、その文字の領域を選定して、選定された領域を対象に文字認識処理された結果得られた文字を修正する形態である。
【００４７】
なお、テキスト検索規則と、レイアウト検索規則とは、図５の例に限られない。ＯＣＲ処理を行う文書に応じて変更してもよいし、抽出する情報に応じて変更してもよい。
【００４８】
［誤認識パタンについて］
図７は、ＯＣＲ処理によって誤認識された文字列を検出するための、誤認識パタンを示す図である。誤認識パタンは、処理対象の文字をＯＣＲ認識処理した結果、誤認識された場合の結果のパタン（パターン）が保持されているデータである。図７（ａ）のテーブルは、外部記憶部１０６に記憶されている誤認識パタン７００の一例である。誤認識パタン７００には、「番号」と、「誤認識文字列」と、「正解文字」と、の各データがレコード単位で対応付けられている。
【００４９】
「番号」は識別用の番号である。「誤認識文字列」は、「正解文字」の文字列をＯＣＲ処理する際に、複数の文字として誤認識するときの処理結果となりうる文字列である。本実施形態における誤認識パタンにはＯＣＲ処理対象の文字が倍角文字である場合の「誤認識文字列」が格納されている。例えば、番号が７０２のレコードでは、「計」が「正解文字」の文字として保持されている。このため、「計」をＯＣＲ処理した場合、「誤認識文字列」に保持されている「言」と「十」の２文字として誤認識して処理されることを示している。
【００５０】
図７（ｂ）は誤認識パタン７００の一部を抽出した情報抽出用の誤認識パタン７５０（以下、「抽出用誤認識パタン」という）の一例である。誤認識パタン７００のデータ量が多いと、誤認識パタン７００を検索範囲とする検索に時間がかかる。このため、予め誤認識パタン７００から必要なデータを選別して抽出用誤認識パタン７５０を生成することで、検索時間を短縮することができる。
【００５１】
抽出用誤認識パタン７５０は、誤認識パタン７００の一部のレコードが保持されているテーブルである。よって、抽出用誤認識パタン７５０の各列には、識別用の「番号」を示す値と、「誤認識文字列」の文字列と、「正解文字」の文字とが保持されており、誤認識パタン７００と同じ構成となっている。
【００５２】
なお、文字認識結果４００の認識文字列を構成する文字の内、複数の文字に誤認識が発生する可能性が十分に考えられる。例えば、「合計金額」をＯＣＲ処理する場合、「計」と「額」の２文字が誤認識する可能性がある。つまり、合計金額をＯＣＲ処理した場合、「合言十金額」（「計」が「言」と「十」）、「合計金客頁」（「額」が「客」と「頁」）、「合言十金客頁」（「計」が「言」と「十」、かつ、「額」が「客」と「頁」）の３通りで誤認識することが考えられる。このように抽出用誤認識パタン７５０に保持する誤認識文字列には、テキスト検索規則５０１の１つの検索文字列に対して、誤認識をする可能性のある複数の組合せを保持してもよい。
【００５３】
［準備処理について］
図８は、後述するＯＣＲ処理および情報抽出処理をするための準備処理を示すフローチャートである。図８のフローチャートで示される一連の処理は、ＣＰＵがＲＯＭに記憶されているプログラムコードをＲＡＭに展開し実行することにより行われる。また、図７におけるステップの一部または全部の機能をＡＳＩＣや電子回路等のハードウェアで実現してもよい。なお、各処理の説明における記号「Ｓ」は、当該フローチャートにおけるステップであることを意味し、以後のフローチャートにおいても同様とする。本フローチャートでは、図５のテキスト検索規則５０１、図７の誤認識パタン７００を用いて、抽出用誤認識パタン７５０を生成するものとして説明する。
【００５４】
Ｓ８０１において誤認識パタン生成部２０７は、外部記憶部１０６に記録されている誤認識パタン７００を取得し、ＲＡＭ１０３に保存して利用可能にする。
【００５５】
Ｓ８０２において誤認識パタン生成部２０７は、テキスト検索規則５０１の検索文字列に保持されている文字列を構成する文字が、誤認識パタン７００の「正解文字」に含まれるかどうかを検索する。含まれている場合には、その「正解文字」とその正解文字に紐付けられている「誤認識文字列」とを、抽出用誤認識パタン７５０のレコードに追加して抽出用誤認識パタン７５０を生成する。生成された抽出用誤認識パタン７５０はＲＡＭ１０３に保存される。
【００５６】
図７（ｂ）の抽出用誤認識パタン７５０の番号が７１２のレコードの正解文字は、「計」である。「計」は、テキスト検索規則５０１の番号が５１８と５１９とのレコードにおける検索文字列に保持されている「合計」「合計金額」に含まれる。このため、抽出用誤認識パタン７５０の番号が７１２のレコードは、本ステップによって、誤認識パタン７００の番号が７０２のレコードを複写して保存されたものである。同様に、図７（ｂ）の抽出用誤認識パタン７５０の番号が７１８のレコードの正解文字についても、テキスト検索規則５０１の番号が５１２の検索文字列には「額」が含まれるため、抽出されたものである。
【００５７】
つまり、本ステップでは、誤認識パタン７００の中から、テキスト検索規則５０１の検索文字列内の文字が含まれる正解文字を抽出して抽出用誤認識パタン７５０が生成される。このため、抽出用誤認識パタン７５０のデータ数は誤認識パタン７００に比べ少なくなる。よって、後続の処理において、抽出用誤認識パタン７５０を検索範囲として検索処理する場合、誤認識パタン７００を検索範囲とする場合に比べて相対的に検索範囲を少なくすることができる。
【００５８】
また、本ステップでは、抽出用誤認識パタン７５０のデータを、より高速に検索できるように、検索用のインデックス情報を作成する。インデックス情報は検索時の高速性が保てるものを生成すればよい。検索用のインデックス情報を作成することで、検索処理自体は時間短縮されるが、検索用のインデックスを作成する時間が必要である。本実施形態では、ＯＣＲ処理をする処理対象の文書に応じて、テキスト検索規則の文字列が決まっている。このため、事前に抽出用誤認識パタン７５０を作成することが可能となり、さらに事前に抽出用誤認識パタン７５０を検索するためのインデックス情報を作成することが可能となる。
【００５９】
［ＯＣＲ処理および情報抽出処理］
図９は、本実施形態に係るＯＣＲ処理から情報抽出処理までの一連の処理を示すフローチャートである。本フローチャートが開始される前に、準備処理は終了しているものとして説明する。また、準備処理の結果、図７（ｂ）の抽出用誤認識パタン７５０が生成されているものとして説明する。また本フローでは図５のテキスト検索規則５０１およびレイアウト検索規則５０２を用いて情報抽出処理を行うものとして説明する
Ｓ９０１において取得部２０１は、ＳＣＮＵ１１０により文書をスキャンすること等で得られた文書画像の画像データを取得し、外部記憶部１０６に格納する。
【００６０】
Ｓ９０２において文字認識部２０２は、取得した画像データに対して二値化処理を行うことで二値画像を生成し、その二値画像をＲＡＭ１０３に格納する。二値化処理とは、画像を白と黒の２階調に変換する処理のことである。例えば、閾値より濃い色の画素は黒画素、その閾値より薄い色の画素は白画素とする処理である。二値画像を生成する方法としては、その後の文字認識が可能な画像が生成されるであれば二値化処理の方法は問わない。例えば、文書画像全体のヒストグラムから閾値を決定して二値画像を作成する方法でよい。
【００６１】
Ｓ９０３において文字認識部２０２は、生成された二値画像に対して罫線除去を行う。罫線除去とは、二値画像内の罫線を検出し、罫線を二値画像から削除する処理である。除去対象の罫線としては、破線や実線、横方向や縦方向の罫線が存在する文書であれば、同様に除去する。
【００６２】
Ｓ９０４において文字認識部２０２は、罫線除去された二値画像に対してＯＣＲ処理を行う。文字認識部２０２はＯＣＲ処理の結果である、認識文字列、認識文字列の各文字の尤度、認識文字列の各文字の位置およびサイズを文字認識結果として、画像データと関連付けてＲＡＭ１０３に格納する。本フローの説明ではＯＣＲ処理の結果として文字認識結果４００が生成されたものとして説明する。
【００６３】
Ｓ９０５では、文字認識結果４００の認識文字列に含まれる倍角文字を処理した結果の文字である倍角認識文字が選定され、倍角認識文字を修正するための処理が行われる。本ステップにおける処理の詳細は、後述する。
【００６４】
次のＳ９０６〜Ｓ９０８の処理は前述した情報抽出処理が行われる。Ｓ９０６において情報抽出部２０６は、Ｓ９０５で修正された文字認識結果の認識文字列を検索範囲として、テキスト検索規則５０１のそれぞれの検索文字列を含む認識文字列があるか検索する。情報抽出部２０６は、検索結果を、その検索文字列のラベル名を付してＲＡＭ１０３に格納する。
【００６５】
Ｓ９０７において情報抽出部２０６は、Ｓ９０６によって得られた検索結果に対して、レイアウト検索規則５０２に保持されている位置関係を満たす認識文字列があるか判定する。位置関係を満たす認識文字列がある場合、情報抽出部２０６は、その認識文字列のうちレイアウト検索規則５０２に保持されている相対位置にある文字列を項目値とする。項目値はラベル名を付してＲＡＭ１０３に格納される。Ｓ９０８において情報抽出部２０６は、Ｓ９０７で得られたラベル名と項目値とを、情報抽出結果としてＲＡＭ１０３に格納する。
【００６６】
図１０はＳ９０５の倍角文字領域の選定処理および倍角文字領域において認識された文字列の修正処理の詳細を示すフローチャートである。図１０を用いて選定処理および修正処理の詳細を説明する。
【００６７】
Ｓ１００１において取得部２０１は、抽出用誤認識パタン７５０を取得する。選定部２０３は、文字認識結果４００の認識文字列を構成する文字のうちの一続きの文字であり、その一続きの文字の順番と同じ順番である文字列が、抽出用誤認識パタン７５０の「誤認識文字列」として保持されているか検索する。選定部２０３は検索結果をＲＡＭ１０３に格納する。
【００６８】
この検索処理は、テキストデータに対する検索であるため、文字の画像データ、位置等の画像データ、または構造化したデータに対する検索に比べて相対的に高速に処理可能である。また、準備処理において作成した検索用のインデックス情報を活用することで、検索処理の速度を速くすることが可能である。さらに、抽出用誤認識パタン７５０が保持する正解文字は、情報抽出処理に必要な文字列に限定して抽出されたものである。このため、本ステップにおいて情報抽出処理に不要な誤認識文字列は検索されない。本ステップ後の処理ではＳ１００１の検索の結果、誤認識文字列を含むと検索された認識文字列に対して処理が行われる。このため、抽出用誤認識パタン７５０を検索範囲とすることで以降の処理において処理する文字を少なくすることができる。
【００６９】
Ｓ１００２ではＳ１００１の処理の結果、検索結果があるか判定される。検索結果がない場合は本フローを終了する。検索結果がある場合はＳ１００３へ進む。
【００７０】
なお、ここから先のステップは、誤認識文字列を含むと検索された認識文字列の全てを処理対象に行われるが、本フローチャートの説明では、ある認識文字列を処理単位とする例を用いて説明を行う。
【００７１】
Ｓ１００３において選定部２０３は、ＯＣＲ処理された画像のうち、「誤認識文字列」と一致する一続きの文字が認識された領域を少なくとも含む領域を選定領域として選定する。例えば、選定部２０３は、ＯＣＲ処理された画像のうち、その一続きの文字が含まれる行の領域を選定領域として選定する。
【００７２】
選定部２０３は、選定領域において、行方向にシフトしながら行方向に垂直な方向の射影をとる。その結果、黒色の画素値を有する画素である黒画素の検出されたときの行方向の位置が連続している区間の長さを横方向の長さとして決定する。選定部２０３は、その横方向の長さが所定の値（所定値）以上であれば、その区間は倍角文字の領域（以下、倍角文字領域という）と選定する。
【００７３】
図１１は、文字画像に対する本ステップの処理を説明するための図である。図１１では、ＯＣＲ処理対象の文書は横書きであるから、行方向は横方向である。領域１１０１は本ステップの処理対象の領域である選定領域である。即ち、抽出用誤認識パタン７５０には誤認識文字列として「言」と「十」の組み合わせが保持されている。また、文字認識結果４００には、「言」と「十」との一続きの文字が含まれる認識文字列「合言十￥３６０」が保持されている。このため、「合言十￥３６０」が含まれる画像の領域１１０１が本ステップの処理の対象（選定領域）となっている。
【００７４】
グラフ１１０２は、領域１１０１の行方向に垂直な方向の射影をとった結果を示したグラフである。横軸は行方向の位置を示し、縦軸は行方向の位置において垂直方向に射影をとった結果、検出された黒画素の数を示している。これにより、「合」、「計」、「￥」、「３」、「６」、「０」の各文字の行方向については、黒画素が連続して検出されている。それぞれの黒画素が連続して検出された行方向における区間の長さ、即ち、グラフ１１０２において黒画素が連続して検出されている横軸の範囲が、それぞれの文字の行方向の区間の長さ（横方向の長さ）として導出されている。そして横方向の長さが所定値以上である場合、その黒画素が連続して検出されている区間が倍角文字領域として選定される。
【００７５】
選定部２０３は、黒画素が連続して検出された区間における認識文字列の文字の縦サイズ（縦方向の長さ）を文字認識結果４００の「位置及び文字サイズ」から取得する。そして、所定値はその文字の縦方向の長さに基づき決定される。例えば、その文字の縦方向の長さの１．６倍の長さを所定値とする。つまり、黒画素が連続して検出された行方向の区間の長さ（横方向の長さ）が、その区間の認識文字列の文字の縦方向の長さの１．６倍以上であれば、選定領域内のその区間を倍角文字領域として選定する。このように、黒画素が連続して検出された区間の長さと、黒画素が連続して検出された区間における認識文字列の文字の行方向と垂直な方向の長さと、に基づき倍角文字領域が選定される。図１１の場合では、「合」が示す領域と、「計」が示す領域が、倍角文字領域として選定される。
【００７６】
なお、倍角文字領域を選定する方法は、上記の方法に限られない。他の方法によって選定領域の行方向に黒画素が連なっている区間を求め、その区間に基づき倍角領域を決定してもよい。他にも例えば、２値画像を生成する際に黒画素の代わりに文字を示す別の画素値が用いられる場合は、その画素値に基づき、倍角文字領域を選定してもよい。
【００７７】
Ｓ１００４では倍角文字領域が選定されたか判定される。倍角文字領域が選定されない場合は、その結果をＲＡＭ１０３に記録して本フローの処理を終了する。倍角文字領域が選定されたと判定した場合はその結果をＲＡＭ１０３に記録しＳ１００５に進む。
【００７８】
Ｓ１００５において変更部２０４は、ＲＡＭ１０３に格納された倍角文字領域から、倍角文字領域を示す画像である部分画像を作成する。次に、変更部２０４は、その部分画像の縦横のサイズが略同じになるように画像サイズの拡大・縮小を行い、その画像（変更画像とよぶ）をＲＡＭ１０３に格納する。なお、変更画像のサイズは、文字認識部２０２が変更画像を誤認識して処理しないようなサイズであればよい。例えば、変更部２０４は、部分画像の縦横の比が所定の範囲内であるように拡大・縮小を行うことで変更画像を生成してもよい。
【００７９】
Ｓ１００６において文字認識部２０２は、ＲＡＭ１０３に格納された変更画像に対してＯＣＲ処理を行い、その結果認識された文字（変更認識文字）をＲＡＭ１０３に格納する。
【００８０】
Ｓ１００７において修正部２０５は、ＲＡＭ１０３に格納された変更認識文字の信頼度を導出する。修正部２０５は、倍角文字領域に対してＳ９０４のＯＣＲ処理した結果認識された文字である倍角認識文字の信頼度（尤度）を文字認識結果４００から取得する、そして変更認識文字の信頼度との倍角認識文字の信頼度との比較を行う。例えば、文字認識結果４００の番号が４０６における認識文字列に含まれる「言十」（倍角認識文字）を示す領域が倍角文字領域として選定され、変更画像をＯＣＲ処理した結果として「計」が変更認識文字として認識されたものとする。この場合、「計」の信頼度と、「言十」の信頼度が比較される。
【００８１】
Ｓ１００８において変更認識文字の信頼度が倍角認識文字の信頼度より高いかが判定される。変更認識文字の信頼度が高くない場合は本フローを終了する。即ち、変更認識文字の信頼度が高くない場合、倍角文字領域を認識することで得られた倍角認識文字は誤認識されていない考えられるため、倍角認識文字は修正されない。変更認識文字の信頼度が高いと判定された場合は、変更認識文字がＲＡＭ１０３に格納されＳ１００９に進む。
【００８２】
Ｓ１００９において修正部２０５は、Ｓ９０４の処理で得られた文字認識結果４００に含まれる倍角認識文字を、ＲＡＭ１０３に格納された変更認識文字に置き換えることで、認識文字列の修正を行う。例えば、Ｓ１００７の例では変更認識文字である「計」の信頼度が倍角認識文字である「言」「十」の信頼度より高かったものとする。この場合、文字認識結果４００の番号が４０６における認識文字列にふくまれる倍角認識文字の「言」「十」が変更認識文字である「計」に置き換えられて認識文字列が修正される。以上が、本実施形態における選定処理および修正処理の詳細である。
【００８３】
Ｓ１００１において認識文字列のうち誤認識文字列を含むと検索された文字は、「言十」のみであり、「言十」が認識された領域のみを倍角文字領域とすることもできる。しかし、ＯＣＲ処理対象の画像には、図１１の「合」のように、誤認識文字列である「言十」が認識された領域の近くにも倍角文字領域があることがある。倍角文字は誤認識される可能性が高いため、「合」のように抽出用誤認識パタン７５０に正解文字として保持されていない場合でも、倍角文字領域については修正のための処理がされるのが好ましい。本実施形態では、Ｓ１００１において誤認識文字列を含むと検索された文字を含む行を選定領域とし、選定領域に基づき倍角文字領域が選定される。このため、選定部２０３は、抽出用誤認識パタン７５０に正解文字として保持されていない倍角文字についても、倍角文字領域と選定する可能性を高めることができる。反対に、抽出用誤認識パタン７５０の誤認識文字列に、偶然、合致してしまった認識文字列の文字については、Ｓ１００３の処理を行うことにより、後続の修正処理する対象から除外することができる。
【００８４】
図１２（ａ）は、図４の文字認識結果４００から倍角文字領域が選定されて、修正処理が行われた後の文字認識結果１２０１の例である。本フローの処理を行うことにより、番号が４０６の認識文字列に含まれる「言」と「十」は「計」に修正されている。
【００８５】
図１２（ｂ）は、倍角文字の認識文字列が修正された文字認識結果１２０１を用いて、情報抽出処理された結果を示す情報抽出結果１２０２である。比較例である図６の情報抽出結果６００と比べて、番号が６０１では、ラベル名「ｔｏｔａｌＰｒｉｃｅ」の付加された抽出値として「￥３６０」が得られている。これは図３の行３０２の合計金額の値となっており、合計金額が正しく抽出されたことを示している。
【００８６】
また、文字認識結果１２０１の番号が４０９の認識文字列は、誤認識されているものの、修正されていない。本実施形態では、情報抽出処理において用いられない文字を含む認識文字列については、倍角文字領域の選定対象とならないため修正も行われていない。このため、全ての認識文字列について倍角文字領域を選定して修正する場合に比べて、処理負担は軽減し処理時間も短縮することができる。
【００８７】
以上説明したように本実施形態では、ＯＣＲ処理した結果である認識文字列に、抽出用誤認識パタンの誤認識文字列が含まれるか検索される。認識文字列に誤認識文字列が含まれている場合は、その文字列を含む領域に対して倍角文字領域があるかの選定が行われる。よって本実施形態によれば、１行に倍角文字と通常フォントの文字が含まれている場合でも、全ての文字が倍角文字領域であるかを判定することがないため、処理負担を抑制しながら、倍角文字に対して文字認識することができる。
【００８８】
また、本実施形態では、ＯＣＲ処理した結果認識された認識文字列の文字が後続処理において修正されることを前提に、最初のＯＣＲ処理（Ｓ９０４）が行われる。このため最初のＯＣＲ処理では文書画像に倍角文字が含まれるかを考慮しないで文書画像全体に対してＯＣＲ処理が行われる。このため倍角文字が含まれることを考慮してＯＣＲ処理する場合に比べて、ＯＣＲ処理そのものの処理負担、処理時間を、相対的に抑えることが可能である。
【００８９】
特に、本実施形態のようにＯＣＲ処理した結果から情報抽出処理を行う形態においては、その抽出対象の項目値に対応する項目名（例えば「合計」）に対するＯＣＲ処理の精度は高いことが望まれる。しかし、それ以外の部分（例えば、広告部分）ではＯＣＲ処理に高い精度は求められない。さらに、レシートのように横倍角文字で印刷されている部分が、項目名である場合が非常に少ないようなこともある。このような場合は、ＯＣＲ処理の後続処理である修正処理の対象を項目名に絞ることにより修正処理の処理負担も抑制される。よって、精度よく情報抽出処理を行いつつ、ＯＣＲ処理から情報抽出処理までの全体の処理における処理負担を抑制できる。このため処理に必要な計算機リソースの削減についても実現することができる。
【００９０】
なお、ＯＣＲ処理される処理対象の画像データは、ＳＣＮＵ１１０によって文書を読み取ることにより得られた画像データに限られない。デジタルカメラなどの他の画像取得装置によって読み取られた画像データが用いられてもよし、ＮＣＵ１０７等の通信装置から入力されてもよい。または、外部記憶部１０６に記憶されている画像データが用いられてもよい。
【００９１】
また、本実施形態は、ＯＣＲ処理した結果から情報抽出処理を行うものとして説明したが、本実施形態は、情報抽出処理を行わない場合についても適用可能である。その場合は、例えば、Ｓ１００１において取得部２０１は誤認識パタン７００を取得し、選定部２０３は、文字認識結果４００の認識文字列に含まれる一続きの文字が、誤認識パタン７００の「誤認識文字列」に保持されているか検索する。その検索結果に基づき選定部２０３は倍角文字領域を選定してもよい。この場合、誤認識パタン７００には少なくとも「誤認識文字列」が保持されていればよい。この場合でも、全ての文字が倍角文字領域であるかを判定することがないため、処理負担を抑制しながら倍角文字の文字認識することができる。
【００９２】
＜第２の実施形態＞
第１の実施形態では、倍角文字領域の選定のために、変更部２０４が修正のための画像を作成し、その画像に対して再度のＯＣＲ処理を行った結果に基づき修正部２０５が認識文字列の修正を行う形態を説明した。本実施形態では、変更部２０４による処理を行わないで認識文字列の修正を行う形態を説明する。本実施形態については、第１の実施形態からの差分を中心に説明する。特に明記しない部分については第１の実施形態と同じ構成および処理である。
【００９３】
図１３は、本実施形態に係るＳ９０５の選定処理および修正処理の詳細を示すフローチャートである。Ｓ１３０１〜Ｓ１３０２の処理はＳ１００１〜Ｓ１００２の処理と同様であるため説明を省略する。
【００９４】
Ｓ１３０３において選定部２０３は、ＲＡＭ１０３に格納されている抽出用誤認識パタン７５０の誤認識文字列と一致すると検索された一続きの文字の各文字の情報を文字認識結果４００から取得する。具体的には、一続きの文字における各文字の、文字の高さ（縦サイズ）と文字の長さ（横サイズ）とが文字認識結果４００の位置及び文字サイズから取得される。選定部２０３は、取得した一続きの文字の各文字の、縦サイズと横サイズとの比をそれぞれ算出する。
【００９５】
選定部２０３は、一続きの文字を構成する文字の全ての組み合わせについて、算出した比の差分を算出する。いずれの差分も所定の範囲内にある場合は、一続きの文字は統一性があると判定され結果がＲＡＭ１０３に格納される。所定の範囲は、例えば、縦サイズと横サイズとの比の平均値の一割の値である。
【００９６】
Ｓ１３０４において一続きの文字には統一性があったか判定される。倍角文字は誤認識される場合、２文字以上の複数の文字として認識される。この場合、誤認識された２文字のそれぞれサイズは、１つの倍角文字を等分にしたサイズとなる。このため誤認識された２文字のサイズは統一性があるため、統一性があれば、その一続きの文字は倍角文字を誤認識して処理された倍角認識文字と判定され、Ｓ１３０５へ進む。統一性がない場合は本フローを終了する。
【００９７】
Ｓ１３０５において修正部２０５は、抽出用誤認識パタン７５０のうち、倍角認識文字が誤認識文字列として保持されているレコードの正解文字を取得する。修正部２０５は、文字認識結果４００に保持されている倍角認識文字を、取得した正解文字に置き換えることにより、倍角認識文字の修正を行う。
【００９８】
以上説明したように本実施形態によれば、処理対象の文書画像内に倍角文字と通常の文字が含まれている場合でも、全ての文字が倍角文字領域であるかを判定することがないため、処理負担を抑制しながら、倍角文字を文字認識することができる。
【００９９】
本実施形態は、変更部２０４が修正のための画像を作成し、文字認識部２０２その画像に対して再度のＯＣＲ処理を行わないため第１の実施形態よりも処理負担が少ない。また、レシートのような文書では他の文書に比べ、使用文字種やフォントが少なく横倍角文字を誤認識するバリエーションが限られる。さらに、レシートのような文書では情報抽出処理する際に使用される項目名が倍角文字で記載されていることが少ない。このような文書をＯＣＲ処理した結果である認識文字列に、誤認識パタン７００または抽出用誤認識パタン７５０において保持されている誤認識文字列が含まれている場合は、その認識文字列に含まれる文字は誤認識されている可能性が高い。このため、本実施形態によっても、精度よく誤認識された文字を選定することができる。よって、本実施形態は、使用文字種やフォントが少ない文書、または情報抽出処理する際に使用される項目名が倍角文字で記載されていることが少ない文書を処理する際に特に有効である。
【０１００】
＜第３の実施形態＞
前述の実施形態では、レシート等の横書きの文書画像であって横倍角文字が含まれる文書画像に対しＯＣＲ処理をした結果を修正する形態であった。本実施形態は、前述の実施形態を、縦書きの文書画像であって縦倍角文字が含まれる文書画像に対しても適用する方法を説明する。
【０１０１】
図１４の誤認識パタン１４０１は、縦倍角文字に対してＯＣＲ処理した結果を修正するために使用される誤認識パタンの例である。縦倍角文字は、縦方向に長い形状のフォントである。誤認識パタン１４０１は、図７（ａ）の横倍角文字を誤認識するパタンが保持されている誤認識パタン７００と同様の構成である。横倍角文字用の誤認識パタン７００と異なり、誤認識パタン１４０１における誤認識文字列には、処理対象の１文字の漢字を、冠と脚と等の２文字以上の文字として誤認識する場合の文字列が保持されている。
【０１０２】
また、縦倍角文字をＯＣＲ処理した結果に対して選定処理および修正処理する場合、Ｓ１００３において選定部２０３は、選定された選定領域の行方向（縦方向）に垂直な方向の射影をとる。そして、選定部２０３は黒画素が連続して検出された行方向の区間の長さを文字の高さ（縦方向の長さ）として検出する。また、選定部２０３は、黒画素が連続して検出された行方向の区間における認識文字列の文字の横サイズ（横方向の長さ）を文字認識結果４００から取得する。そして、黒画素が連続して検出された区間の長さである縦方向の長さが、その区間における認識文字列の文字の横方向の長さに基づく所定の値以上であれば、その区間は縦倍角文字の領域と選定する。所定の値は、例えば、その区間における認識文字列の文字の横方向の長さの１．６倍の値である。
【０１０３】
このように、本実施形態においても、黒画素が連続して検出された行方向の区間の長さと、黒画素が連続して検出された区間における認識文字列の行方向と垂直な方向の長さと、に基づき倍角文字領域が選定される。
【０１０４】
以上説明したように縦書きの文書画像であって縦倍角文字が含まれる文書画像に対して、処理負担を抑制しながら倍角文字を文字認識することができる。
【０１０５】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０６】
１００  情報処理装置
２０２  文字認識部
７００  誤認識パタン
２０１  取得部
２０３  選定部
２０５  修正部
【図１】
2020194491.tif 000003
【図２】
2020194491.tif 000004
【図３】
2020194491.tif 000005
【図４】
2020194491.tif 000006
【図５】
2020194491.tif 000007
【図６】
2020194491.tif 000008
【図７】
2020194491.tif 000009
【図８】
2020194491.tif 000010
【図９】
2020194491.tif 000011
【図１０】
2020194491.tif 000012
【図１１】
2020194491.tif 000013
【図１２】
2020194491.tif 000014
【図１３】
2020194491.tif 000015
【図１４】
2020194491.tif 000016