(57)【要約】【課題】精度よくキーワード領域を特定することを目的とする。【解決手段】画像から文字領域を抽出する抽出手段と、予め設定されたキーワードに対応した項目値の検索条件に基づいて、複数の文字領域の中から、項目値を示す項目値領域の候補を特定する第１の領域特定手段と、項目値とキーワードの位置関係と、項目値領域の候補の位置と、に基づいて、複数の文字領域の中から、キーワードを示すキーワード領域の候補を特定する第２の領域特定手段と、キーワード領域の候補に対する文字認識処理に基づいて、キーワード領域の候補の中からキーワード領域を特定する第３の領域特定手段とを有する。【選択図】図３
2018055255.tif 000002
【特許請求の範囲】
【請求項１】
画像から文字領域を抽出する抽出手段と、
予め設定されたキーワードに対応した項目値の検索条件に基づいて、複数の文字領域の中から、項目値を示す項目値領域の候補を特定する第１の領域特定手段と、
前記項目値と前記キーワードの位置関係と、前記項目値領域の候補の位置と、に基づいて、複数の文字領域の中から、キーワードを示すキーワード領域の候補を特定する第２の領域特定手段と、
前記キーワード領域の候補に対する文字認識処理に基づいて、前記キーワード領域の候補の中からキーワード領域を特定する第３の領域特定手段と
を有することを特徴とする情報処理装置。
【請求項２】
複数の文字領域に対する、文字認識処理の結果から前記キーワード領域を特定できなかった場合に、前記第１の領域特定手段、前記第２の領域特定手段及び前記第３の領域特定手段の処理を行うように制御する制御手段をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記文字認識処理の認識結果に対する第１の判定条件において前記キーワードを特定できなかった場合に、前記第１の領域特定手段、前記第２の領域特定手段及び前記第３の領域特定手段の処理を行い、
前記第３の領域特定手段は、前記文字認識処理の認識結果に対する、前記第１の判定条件と異なる第２の判定条件による判定結果に基づいて、前記キーワード領域を特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の判定条件は、前記第１の判定条件に比べて、文字認識処理により得られる認識文字の候補数が多いことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記第２の判定条件は、前記第１の判定条件に比べて前記キーワードと認識する確からしさの閾値が低いことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項６】
前記第１の判定条件は、前記文字領域の文字認識結果と、前記キーワードと、の比較結果から判定する処理であり、
前記第２の判定条件は、複数の文字領域の結合領域の文字認識結果と、前記キーワードと、の比較結果から判定する処理であることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項７】
前記第１の判定条件は、前記文字領域のすべての文字と前記キーワードに含まれる対応する文字との比較結果から判定する処理であり、
前記第２の判定条件は、前記文字領域の一部の文字と前記キーワードに含まれる対応する文字との比較結果から判定する処理であることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項８】
情報処理装置が実行する情報処理方法であって、
画像から文字領域を抽出する抽出ステップと、
予め設定されたキーワードに対応した項目値の検索条件に基づいて、複数の文字領域の中から、項目値を示す項目値領域の候補を特定する第１の領域特定ステップと、
前記項目値と前記キーワードの位置関係と、前記項目値領域の候補の位置と、に基づいて、複数の文字領域の中から、キーワードを示すキーワード領域の候補を特定する第２の領域特定ステップと、
前記キーワード領域の候補に対する文字認識処理に基づいて、前記キーワード領域の候補の中からキーワード領域を特定する第３の領域特定ステップと
を含むことを特徴とする情報処理方法。
【請求項９】
コンピュータを、
画像から文字領域を抽出する抽出手段と、
予め設定されたキーワードに対応した項目値の検索条件に基づいて、複数の文字領域の中から、項目値を示す項目値領域の候補を特定する第１の領域特定手段と、
前記項目値と前記キーワードの位置関係と、前記項目値領域の候補の位置と、に基づいて、複数の文字領域の中から、キーワードを示すキーワード領域の候補を特定する第２の領域特定手段と、
前記キーワード領域の候補に対する文字認識処理に基づいて、前記キーワード領域の候補の中からキーワード領域を特定する第３の領域特定手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、帳票等のスキャン画像に対して、画像中に記載されている名前や合計金額などが記載されている領域を特定し、文字認識をすることで情報を抽出するシステムがある。名前や合計金額等の記載位置が異なるような非定型文書を対象として、特定の情報を抽出する技術も知られている。非定型文書を対象とする場合、例えば、事前にキーワードとなる項目名を設定しておき、スキャン画像に対する文字認識により、キーワードを特定し、キーワードの周辺（右や下等）の文字列をキーワードに対応する項目値として取得する。特許文献１には、非定型文書を対象とする場合に、キーワードらしさを表すキーワード尤度と、項目値らしさを表す項目値尤度を計算し、さらに文字列ペアの配置関係の妥当さを表す配置尤度を計算して、項目値を得る技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２４８６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、文字認識処理における文字認識精度は１００％ではなく、またスキャンによる画像の汚れや文字の掠れ等の起因した誤認識も想定される。したがって、スキャン画像において、キーワード領域を検出できない場合がある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、精度よくキーワード領域を特定することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、情報処理装置であって、画像から文字領域を抽出する抽出手段と、予め設定されたキーワードに対応した項目値の検索条件に基づいて、複数の文字領域の中から、項目値を示す項目値領域の候補を特定する第１の領域特定手段と、前記項目値と前記キーワードの位置関係と、前記項目値領域の候補の位置と、に基づいて、複数の文字領域の中から、キーワードを示すキーワード領域の候補を特定する第２の領域特定手段と、前記キーワード領域の候補に対する文字認識処理に基づいて、前記キーワード領域の候補の中からキーワード領域を特定する第３の領域特定手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、精度よくキーワード領域を特定することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る情報処理システムを示す図である。
【図２】帳票のスキャン画像の一例を示す図である。
【図３】項目値特定処理を示すフローチャートである。
【図４】黒画素塊検出処理の説明図である。
【図５】罫線除去処理後の画像の一例を示す図である。
【図６】罫線除去後の画像に対する文字領域の設定結果を示す図である。
【図７】キーワード判定処理を示すフローチャートである。
【図８】第２の判定条件の変形例の説明図である。
【図９】第２の判定条件の変形例の説明図である。
【図１０】変形例に係るキーワード判定処理を示すフローチャートである。
【図１１】キーワードと項目値の位置関係の変形例の説明図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
（第１の実施形態）
【００１１】
図１は、第１の実施形態に係る情報処理システムを示す図である。情報処理システムは、複写機１００と、情報処理装置１１０とを有している。複写機１００は、スキャナ１０１と、プリンタ１０２と、通信部１０３とを有している。スキャナ１０１は、文書のスキャンを行い、スキャン画像を生成する。プリンタ１０２は、画像を形成する。通信部１０３は、ネットワークを介して外部装置と通信を行う。
【００１２】
情報処理装置１１０は、ＣＰＵ１１１と、ＲＯＭ１１２と、ＲＡＭ１１３と、ＨＤＤ１１４と、表示部１１５と、入力部１１６と、通信部１１７とを有している。ＣＰＵ１１１は、ＲＯＭ１１２に記憶された制御プログラムを読み出して各種処理を実行する。ＲＡＭ１１３は、ＣＰＵ１１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１１４は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置１１０の機能や処理は、ＣＰＵ１１１がＲＯＭ１１２又はＨＤＤ１１４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１３】
通信部１１７は、ネットワークを介して外部装置との通信処理を行う。表示部１１５は、各種情報を表示する。入力部１１６は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。なお、表示部１１５と入力部１１６は、タッチパネルのように一体に設けられていてもよい。また、表示部１１５は、プロジェクタによる投影を行うものであってもよく、入力部１１６は、投影された画像に対する指先の位置を、カメラで認識するものであってもよい。
【００１４】
本実施形態においては、複写機１００のスキャナ１０１が帳票等をスキャンし、スキャン画像を生成する。そして、スキャン画像は、通信部１０３により情報処理装置１１０に送信される。情報処理装置１１０においては、通信部１１７がスキャン画像を受信し、これをＨＤＤ１１４等の記憶部に記憶する。なお、スキャナ１０１のスキャン対象となる帳票は非定型帳票である。非定型帳票とは、記載されるキーワードの文字列又はその意味が同じ単語が含まれるが、これらの文字が記載される位置が異なるもの（帳票のフォーマットが未知のもの）のことである。また、非定型帳票においては、罫線の位置も異なる。これに対応し、情報処理装置１１０のＨＤＤ１１４には、非定型帳票に対応した、各情報の記載位置が異なる複数のスキャン画像が記憶されている。
【００１５】
図２は、帳票のスキャン画像２０１の一例を示す図である。スキャン画像２０１において、例えば、「発行日」２０２がキーワードであり、対応する項目値は、「平成２７年１０月０４日」２０３である。なお、スキャン画像２０１に示される文字をオリジナル文字と称する。スキャン画像２０１に対応し、情報処理装置１１０のＨＤＤ１１４等の記憶部には、処理対象となるキーワードと、キーワードに対応した項目値と、が対応付けて格納されている。また、項目値のキーワードとの位置関係を示す位置関係情報も、ＨＤＤ１１４に格納されている。
【００１６】
図２のスキャン画像２０１に対し、以下に示すキーワード、項目値、位置関係情報が設定されている。
キーワード：発行日
項目値：平成ＸＸ年ＸＸ月ＸＸ日
位置関係情報：キーワードの下方向に２０ｍｍ以内に項目値が存在する
なお、発行日に対する項目値の年、月、日に対する数字は文書により異なる。このように、不定文字（数字）が入る位置には、Ｘが挿入されている。すなわち、項目値の「平成ＸＸ年ＸＸ月ＸＸ日」のＸは、０から９の何れかの整数が入ることを意味する。なお、一般的にこのような表記を正規表記と呼ぶ。
【００１７】
さらに、検索対象となる対象画像において得られた文字列領域に対する文字認識結果からキーワード領域か否かを判定する判定条件、項目値を検索するための検索条件、キーワードと項目値の位置関係情報がＨＤＤ１１４等に格納されているものとする。キーワード、項目値、キーワードの判定条件、項目値の検索条件、位置関係情報は、例えば、ユーザ操作に応じて、ＣＰＵ１１１がＨＤＤ１１４等への記録を行う。
【００１８】
図３は、情報処理装置１１０による項目値特定処理を示すフローチャートである。ここでは、キーワード「発行日」に対する項目値を特定する場合を例に説明する。また、本実施形態において、項目値の特定の対象となる画像は、複写機１００のスキャナ１０１により得られたスキャン画像であり、ネットワークを介して通信部１１７が受信し、ＨＤＤ１１４に記憶されているものとする。
【００１９】
Ｓ３０１において、ＣＰＵ１１１は、まず、ユーザ操作に応じて、ＨＤＤ１１４から処理対象の一のスキャン画像を選択する。そして、選択したスキャン画像において文字領域を抽出する。ここで、文字領域を抽出する処理について説明する。本処理は、２値化、黒画素塊検出、罫線除去、文字領域の抽出の４つの処理を含んでいる。
【００２０】
まず、２値化処理について説明する。ＣＰＵ１１１は、スキャン画像に対して２値化を行うことにより、２値画像を得る。この２値化により、スキャン画像において、閾値より濃い色の画素は黒画素、その閾値より薄い色の画素は白画素となる。なお、以下では、スキャン画像が１００ＤＰＩであるものとして説明を行うが、スキャン画像がこの解像度に限られないのは言うまでもない。
【００２１】
次に、黒画素塊検出処理について説明する。ＣＰＵ１１１は、２値化処理により得られた二値画像に対し、８連結で繋がる黒画素の輪郭を追跡することにより、８方向の何れかの方向で連続して存在する黒画素の塊（黒画素塊）を検出する。８連結とは、左上、左、左下、下、右下、右、右上、上の８つの方向の何れかで、同じ色（今回のケースでは黒）の画素が連続しているという意味である。なお、４連結とは、左、下、右、上の４つの方向の何れかで同じ色の画素が連続しているという意味である。
【００２２】
なお、８方向に存在する８つの隣接画素の何れもが黒画素ではない単独の黒画素（孤立点）はノイズであるものとし、黒画素塊としては検出されないものとする。一方、８方向に存在する８つの隣接画素の何れか１つにでも黒画素が存在する黒画素は、その隣接する黒画素と共に、黒画素塊として検出される。図４の４０１はＣＰＵ１１１が検出した黒画素塊の一例である。またＣＰＵ１１１は、検出した黒画素塊の外接矩形の位置情報（四頂点のＸ，Ｙ座標情報のこと）を算出する。なお、Ｘ軸は右方向に延び、Ｙ軸は下方向に延びているものとする。幅は、Ｘ軸方向の長さ、高さは、Ｙ軸方向の長さを指す。図４の４０２は黒画素塊４０１の外接矩形である。なお、本明細書で矩形と表現した時には、斜め向きの矩形は含まれず、四辺の全てがＸ座標軸、Ｙ座標軸の何れかと平行な矩形を表す。
【００２３】
次に、罫線除去処理について説明する。ＣＰＵ１１１は、検出した黒画素塊が以下の全ての条件に該当するか判定し、全てに該当する黒画素塊を、直線を構成する黒画素塊であると判定する。
・  黒画素塊の外接矩形の幅が閾値以上、かつ高さが閾値以下である。または、幅が閾値
以下で高さが閾値以上である。
またＣＰＵ１１１は、以下の全ての条件に該当する黒画素塊を、表の罫線を構成する黒画素塊であると判定する。
・  黒画素塊の外接矩形の幅、高さが閾値以上（例えば、１００画素、０．２５ｃｍ以上
）である。
・  外接矩形の内部における黒画素塊の充填率が閾値以下である（例えば、黒画素塊が外
接矩形に占める割合が２０％以下）。
・  黒画素塊の最大幅及び高さと、外接矩形の幅及び高さの差が何れも小さい（例えば、
黒画素塊の最大幅及び高さと、外接矩形の幅及び高さの画素の差がともに１０画素以下）。
【００２４】
ＣＰＵ１１１は、表の罫線を構成すると判定した黒画素塊の外接矩形の位置情報をＨＤＤ１１４に記録する。以下では、そのように記録された位置情報を持つ外接矩形を表領域と呼ぶ。なお、以上の判定の結果、図４の４０１は表の罫線を構成すると判定される。それに伴い、外接矩形４０２は、表領域と判定される。ＣＰＵ１１１は、直線や表の罫線を構成すると判定した黒画素塊を除去する。図５は、スキャン画像２０１から直線および罫線が除去された画像５０１を示す図である。
【００２５】
次に、文字領域の抽出処理について説明する。ＣＰＵ１１１は、直線および罫線を構成する黒画素塊を除去した後の画像において、全ての黒画素塊に外接矩形を設定する。さらに、ＣＰＵ１１１は、外接矩形同士の距離が閾値（例えば２０画素、０．５ｃｍ）以内であるか判定する。具体的には、ＣＰＵ１１１は、外接矩形を一つ一つ選択し、選択された外接矩形からの距離が閾値以内である外接矩形を検出し、検出した複数の外接矩形を統合する。すなわち、ＣＰＵ１１１は、両方の外接矩形に外接する新たな外接矩形を設定し、その代わり、各外接矩形を削除する。
【００２６】
新たな外接矩形の設定、複数の外接矩形の削除が完了した後、ＣＰＵ１１１は、その認識セル内の外接矩形をまた初めから一つ一つ選択し、互いの間の距離が閾値以内である外接矩形同士を統合していく。以上の処理を繰り返す。即ち、互いの間の距離が閾値以内である外接矩形が無くなるまで、外接矩形同士の統合が繰り返される。以上の処理が終わった後に設定されている外接矩形が、文字領域となる。図６は、罫線除去後の画像５０１に対する文字領域の抽出結果を示す図である。例えば、６０１は、「発行日」の文字列を含む文字領域である。６０２は、キーワード「発行日」に対応する項目値「平成２７年１０月０４日」を含む文字領域である。６０３は、キーワード「診療日」に対応する項目値「平成２７年１０月０４日」を含む文字領域である。
【００２７】
図３に戻り、Ｓ３０１の処理の後、Ｓ３０２において、ＣＰＵ１１１は、各文字領域に対し、文字認識処理を行う。以下、文字認識により得られた文字を認識文字と称する。認識文字は、スキャン画像中のオリジナル文字に対する文字認識により得られた文字コードや、文字コードに対応した文字である。文字認識結果として得られた認識文字は、対応する文字領域に対応付けてＲＡＭ１１３等の記憶部に記録される。
【００２８】
次に、Ｓ３０３において、ＣＰＵ１１１は、Ｓ３０１により得られた各文字領域の認識文字に基づいて、キーワードと一致する文字を検索する。例えば、図６に示す画像から得られた複数の文字列それぞれからキーワード「発行日」と一致する文字列を検索する。なお、ＣＰＵ１１１がキーワードと一致すると判定するための判定条件は、予めＨＤＤ１１４に格納されているものとする。なお、Ｓ３０３において用いられる判定条件と、後述のＳ３１１３において用いられる判定条件とを区別すべく、以下においては、Ｓ３０３の判定条件を第１の判定条件、Ｓ３１３の判定条件を第２の判定条件と称することとする。
【００２９】
第１の判定条件は、認識文字に対する信頼度が第１の信頼度閾値以上である場合に、認識文字がキーワードと一致すると判定するというものである。ここで、信頼度は、キーワードらしさを表す指標である。キーワードである可能性が高い程、信頼度は高い値となる。信頼度の数値範囲は例えば０〜１００とするが、数値範囲は実施形態に限定されるものではない。
【００３０】
次に、Ｓ３０４において、ＣＰＵ１１１は、いずれかの文字領域からキーワードが検出された場合には（Ｓ３０４でＹｅｓ）、キーワードが検出された領域をキーワード領域とし、処理をＳ３０５へ進める。ＣＰＵ１１１は、キーワードが検出されなかった場合には（Ｓ３０４でＮｏ）、処理をＳ３０７へ進める。
【００３１】
Ｓ３０５において、ＣＰＵ１１１は、項目値のキーワードに対する位置関係情報と、キーワード領域の位置と、に基づいて、文字領域の中から、項目値領域を特定する。ここで、項目値領域は、項目値が示される領域である。キーワードの文字領域の下辺から下方向に２０ｍｍ以内に項目値領域が存在することを示す位置関係情報に対し、図６の例では、文字領域６０１がキーワード領域として特定された場合には、文字領域６０２が項目値領域として特定される。
【００３２】
次に、Ｓ３０６において、ＣＰＵ１１１は、位置関係情報から特定した項目値領域の認識文字が項目値の設定値に合致するか否かを判定する。ＣＰＵ１１１は、例えば、キーワード「発行日」対しては、対応する項目値領域の認識文字が、項目値の設定値「平成ＸＸ年ＸＸ月ＸＸ日」のフォーマットに合致するかどうかを判定する。ＣＰＵ１１１は、認識文字が項目値の設定値に合致する場合に、認識文字を項目値として特定し、処理を終了する。ＣＰＵ１１１は、認識文字が項目値の設定値に合致しない場合には、項目値の特定に失敗したと判断し、処理を終了する。
【００３３】
一方、Ｓ３０７において、ＣＰＵ１１１は、項目値の検索条件が設定されているか否かを確認する。本実施形態においては、項目値の設定値（正規表現「平成ＸＸ年ＸＸ月ＸＸ日」のフォーマット）が検索条件として設定されているものとする。ＣＰＵ１１１は、項目値の検索条件が設定されている場合には（Ｓ３０７でＹｅｓ）、処理をＳ３０８へ進める。ＣＰＵ１１１は、項目値の検索条件が設定されていない場合には（Ｓ３０７でＮｏ）、項目値の特定に失敗したと判断し、処理を終了する。
【００３４】
Ｓ３０８において、ＣＰＵ１１１は、スキャン画像の文字認識結果に基づいて、項目値の検索条件に従い、項目値領域候補を検索する。ＣＰＵ１１１は、項目値領域候補が検出された場合には（Ｓ３０９でＹｅｓ）、処理をＳ３１０へ進める。ＣＰＵ１１１は、項目値領域候補が検出されなかった場合には（Ｓ３０９でＮｏ）、項目値の特定に失敗したと判断し、処理を終了する。Ｓ３０８の処理は、項目値領域候補を特定する領域特定処理の一例である。
【００３５】
例えば、図６の例では、「発行日」の文字領域６０１の下に「平成２７年１０月０４日」の文字領域６０２があるが、これ以外に、「診療日」の文字領域６０３の下にも「平成２７年１０月０４日」の文字領域６０４がある。この場合、Ｓ３０８の処理においては、文字領域６０２だけでなく文字領域６０４も項目値領域候補として検出される。
【００３６】
Ｓ３１０において、ＣＰＵ１１１は、項目値領域候補と、位置関係情報と、に基づいて、候補領域候補の周辺の文字領域の中からキーワード領域候補を特定する。ここで、キーワード領域候補は、項目値領域候補が項目値領域である場合に、位置関係情報からキーワード領域として定まる領域である。例えば、キーワードの下方向に２０ｍｍ以内に項目値が存在するという位置関係情報に対しては、項目値領域候補から上方向に２０ｍｍ以内に位置する文字領域をキーワード領域候補として特定される。図６の例では、項目値領域候補としての文字領域６０２、６０４に対しそれぞれ、文字領域６０１、６０３がキーワード領域候補として特定される。Ｓ３１２の処理は、キーワード領域候補を特定する領域特定処理の一例である。
【００３７】
次に、Ｓ３１１において、ＣＰＵ１１１は、キーワード領域候補の認識文字に基づいて、第２の判定条件に従い、キーワード領域候補の認識文字がキーワードと一致するかを判定する。ここで、第２の判定条件は、Ｓ３０３において用いられた第１の判定条件と異なる条件である。第２の判定条件は、第２の信頼度を用いて、認識文字がキーワードと一致するかを判定するものであり、第２の信頼度は、第１の判定条件の第１の信頼度に比べて小さい値である。
【００３８】
図７は、キーワード判定処理（Ｓ３１１）における詳細な処理を示すフローチャートである。Ｓ７０１において、ＣＰＵ１１１は、Ｓ３１０において特定されたキーワード領域候補の中から、信頼度が最大値を示すキーワード領域候補を特定する。次に、Ｓ７０２において、ＣＰＵ１１１は、信頼度の最大値と予め設定された第２の信頼度閾値とを比較する。ＣＰＵ１１１は、信頼度の最大値が第２の信頼度閾値以上の場合には（Ｓ７０２でＹｅｓ）、処理をＳ７０３へ進める。ＣＰＵ１１１は、信頼度の最大値が信頼度閾値未満の場合には（Ｓ７０２でＮｏ）、処理をＳ３１２へ進める。
【００３９】
Ｓ７０３において、ＣＰＵ１１１は、Ｓ３１０において特定されたキーワード領域候補の信頼度のうち２番目に大きい信頼度を特定する。そして、ＣＰＵ１１１は、信頼度の最大値と２番目に大きい信頼度との差分を算出する。次に、Ｓ７０４において、ＣＰＵ１１１は、Ｓ７０４において算出した差分と、予め設定された差分閾値とを比較する。ＣＰＵ１１１は、差分が差分閾値以上の場合には（Ｓ７０４でＹｅｓ）、処理をＳ７０５へ進める。ＣＰＵ１１１は、差分が差分閾値未満の場合には（Ｓ７０４でＮｏ）、処理をＳ３１２へ進める。Ｓ７０５において、ＣＰＵ１１１は、信頼度が最大値を示すキーワード領域候補をキーワード領域として特定する。ＣＰＵ１１１は、その後処理をＳ３１２へ進める。なお、Ｓ３１１の処理は、第２の判定条件による判定結果に基づいて、キーワード領域を特定する領域特定処理の一例である。
【００４０】
例えば、信頼度の最大値が６０％、２番目の信頼度が３０％の場合、信頼度の差分は３０％である。この差がある程度大きい場合には、信頼度の最大値を示すキーワード領域候補がキーワード領域である可能性が高いと考えることができる。一方、信頼度の最大値が６０％であるのに対し、２番目の信頼度が５５％であるとする。この場合には、信頼度の最大値を示すキーワード領域候補をキーワード領域として判定するのは誤判定の可能性が高いと考えることができる。このため、本実施形態においては、最大信頼度の値の評価だけでなく、２番目の信頼度との差分が差分閾値以上か否かについても評価することとした。
【００４１】
図３に戻り、Ｓ３１１の処理の後、Ｓ３１２において、ＣＰＵ１１１は、キーワード領域を特定できたか否かを確認する。ＣＰＵ１１１は、キーワード領域を特定できた場合には（Ｓ３１２でＹｅｓ）、処理をＳ３１３へ進める。ＣＰＵ１１１は、キーワード領域を特定できなかった場合には（Ｓ３１２でＮｏ）、項目値の特定に失敗したと判断し、処理を終了する。Ｓ３１３において、ＣＰＵ１１１は、特定したキーワード領域に対応する項目値領域候補を項目値領域として特定し、項目値領域の認識文字を項目値として特定する。例えば、図６の例において、文字領域６０１がキーワード領域として特定された場合には、対応する項目値領域候補である文字領域６０２が項目値領域として特定され、文字領域６０２の認識文字「平成２７年１０月０４日」が項目値として特定される。
【００４２】
以上のように、情報処理装置１１０は、第１の判定条件を用いたキーワード検索によりキーワードを特定できない場合には、項目値からキーワード領域候補を絞り込み、第２の判定条件を用いてキーワード判定を行う。これにより、精度よくキーワード領域を特定することができる。
【００４３】
以下、実施形態の変形例について説明する。第１の変形例としては、Ｓ３０３及びＳ３１１において、認識文字がキーワードと一致するか否かを判定する処理は、実施形態に限定されるものではない。ＣＰＵ１１１は、例えば、キーワードに含まれる文字数に対し、所定の割合の認識文字が一致する場合に、キーワードと一致すると判定するという判定条件を用いてもよい。
【００４４】
また、ＯＣＲによる文字認識結果には、１つの文字列に対して複数の候補がある場合がある。例えば「発行日」という文字列に対して、文字認識結果としての第１候補として「登行日」が得られた場合のように、「発」の文字に似た文字が第１候補として得られる場合がある。そして第２候補として「発行日」が得られる場合がある。これに対し、ＣＰＵ１１１は、第Ｎ候補までにキーワードがあるかどうかで、キーワードらしさを表す値（信頼度）を算出してもよい。例えば第４候補までを対象とする場合、第１候補がキーワードと一致した場合に信頼度を１００％とし、第２候補では７５％、第３候補では５０％、第４候補では２５％とする。もちろん数値に重みづけ等をしてもかまわない。
【００４５】
さらに、第１の判定条件は、認識文字の候補数「Ｎ」までを対象とするのに対し、第２の判定条件は、候補数が「Ｎ＋１」までを対象とするものであってもよい。この場合、ＣＰＵ１１１は、第１の判定条件を用いてキーワード判定を行う場合に比べて、より多いＯＣＲ認識結果の候補数を参照することとなる。通常、参照するＯＣＲ認識結果の候補数を増やすと処理時間が増加するが、本例ではスキャン画像から得られたすべての文字領域ではなく、キーワード領域候補に対してのみ、参照するＯＣＲ認識結果の候補数を増やす。そのためパフォーマンスの低下を最低限に抑えつつ、より高い精度でキーワードを特定することができる。なお、第２の判定条件の候補数は、第１の判定条件の候補数よりも多い数であればよく、「Ｎ＋１」に限定されるものではない。
【００４６】
また、第２の変形例としては、第２の判定条件は、第１の判定条件と異なる条件であればよく、実施形態に限定されるものではない。第２の判定条件の１つ目の変形例について説明する。図８、図９は、第２の判定条件の変形例の説明図である。第２の判定条件は、図８に示すように、１つの文字領域８０１として認識されるべき領域が３つの文字領域８１１、８１２、８１３として誤って特定された場合に対応する条件である。図９は、この場合の、キーワード判定処理（Ｓ３１１）における詳細な処理を示すフローチャートである。
【００４７】
Ｓ９０１において、ＣＰＵ１１１は、キーワード領域候補が一定の範囲内に複数あるか否かを確認する。ＣＰＵ１１１は、複数のキーワード領域候補が一定範囲内に存在する場合には（Ｓ９０１でＹｅｓ）、処理をＳ９０２へ進める。ＣＰＵ１１１は、一定範囲内に複数のキーワード領域候補が存在しない場合には（Ｓ９０１でＮｏ）、処理をＳ３１２へ進める。
【００４８】
Ｓ９０２において、ＣＰＵ１１１は、Ｓ９０１において一定範囲内に存在すると判断した複数のキーワード領域候補を１つの領域に結合する。以下、結合後の１つの領域を結合領域と称する。本処理により、図８の例では、キーワード領域候補として特定された文字領域８１１、８１２、８１３は、１つの結合領域８０１となる。
【００４９】
次に、Ｓ９０３において、ＣＰＵ１１１は、結合領域の信頼度と、第１の信頼度閾値とを比較する。このように、本例においては、信頼度閾値には、第１の判定条件の信頼度閾値（第１の信頼度閾値）と同じ値を用いる。ＣＰＵ１１１は、結合領域の信頼度が第１の信頼度閾値以上の場合には（Ｓ９０３でＹｅｓ）、処理をＳ９０４へ進める。ＣＰＵ１１１は、結合領域の信頼度が第１の信頼度閾値未満の場合には（Ｓ９０３でＮｏ）、処理をＳ３１２へ進める。Ｓ９０４において、ＣＰＵ１１１は、結合領域をキーワード領域として特定し、その後処理をＳ３１２へ進める。なお、対応する第１の判定条件は、実施形態において説明した通り、文字領域毎の文字認識結果とキーワードとの比較結果からキーワードと一致するかを判定するものである。
【００５０】
次に、第２の判定条件の２つ目の変形例について説明する。２つ目の変形例に係る第２の判定条件は、複数のキーワード領域候補の中から、正解のキーワードと共通のユニークな文字を含むものを特定するものである。例えば、キーワード「発行日」に対し、複数のキーワード領域候補の中で、１文字目が「発」のものが１つしかない場合、そのキーワード領域候補がキーワード領域であると判定する。
【００５１】
図１０は、本例に係るキーワード判定処理（Ｓ３１１）における詳細な処理を示すフローチャートである。Ｓ１００１において、ＣＰＵ１１１は、変数ｉに１を設定する。次に、Ｓ１００２において、ＣＰＵ１１１が、正解キーワードのｉ文字目を取得する。キーワードが「発行日」の場合、「発」の文字を取得する。次に、Ｓ１００３において、ＣＰＵ１１１は、Ｓ１００２において取得した正解キーワードのｉ文字目と、各キーワード領域候補のｉ文字目とを比較する。
【００５２】
次に、Ｓ１００４において、ＣＰＵ１１１は、Ｓ１００３の比較において、ｉ文字目が一致したキーワード領域候補が１つのみか否かを確認する。ＣＰＵ１１１は、ｉ文字目が一致したキーワード領域候補が１つのみの場合には（Ｓ１００４でＹｅｓ）、処理をＳ１００５へ進める。ＣＰＵ１１１は、ｉ文字目が一致したキーワード領域候補が１つのみでない場合には（Ｓ１００４でＮｏ）、処理をＳ１００６へ進める。なお、ｉ文字目が一致したキーワード領域候補が１つのみでない場合とは、複数のキーワード領域においてｉ文字目が一致した場合と、ｉ文字目が一致したキーワード領域候補が１つも存在しない場合である。Ｓ１００５において、ＣＰＵ１１１は、ｉ文字目が一致したキーワード領域候補をキーワード領域として特定し、その後処理をＳ３１２へ進める。
【００５３】
Ｓ１００６においては、ＣＰＵ１１１は、変数ｉに１を加算する。次に、Ｓ１００７において、ＣＰＵ１１１は、ｉが正解のキーワードの文字数を超えたか否かを確認する。ＣＰＵ１１１は、ｉがキーワードの文字数を超えた場合には（Ｓ１００７でＹｅｓ）、処理をＳ３１２へ進める。ＣＰＵ１１１は、ｉがキーワードの文字数を超えていない場合には（Ｓ１００７でＮｏ）、処理をＳ１００２へ進める。なお、ここでは、１文字単位での比較を行う例を示したが、キーワードの文字数よりも少ない文字数の単位、すなわちキーワードの一部の文字であればよく、１文字に限定されるものではない。また、いずれの判定条件も、上述のいくつかの条件を組み合わせたものとしてもよい。
【００５４】
また、第３の変形例としては、情報処理装置１１０は、第１の判定条件によるキーワード領域の特定処理を行うことなく、Ｓ３０２の処理の後、Ｓ３０７の処理に進み、項目値領域候補からキーワード領域を特定してもよい。
【００５５】
また、第４の変形例としては、キーワードと項目値の位置関係は実施形態に限定されるものではない。例えば、図１１に示すように、「様」の文字領域１１０１をキーワードとし、その左方向に「様」に対応した項目値「キャノン太郎」の文字領域１１０２が存在するといった位置関係であってもよい。この場合、位置関係情報は、「キーワードの左辺から左方向に３０ｍｍ以内に項目値の文字領域が存在する」という情報になる。
【００５６】
また、第５の変形例としては、情報処理装置１１０は、Ｓ３０８において項目値領域候補を検出できなかった場合には（Ｓ３０９でＹｅｓ）、キーワードと項目値の位置関係に基づいて、キーワード領域候補と項目値候補領域のペアを特定してもよい。情報処理装置１１０は、特定したペアに対し、Ｓ３１１以降の処理を行うこととしてもよい。情報処理装置１１０は、例えば、キーワードの下方向に２０ｍｍ以内に項目値が存在するという位置関係に対しては、文字領域のペアのうち上側の文字領域がキーワード領域候補となるため、上側の文字領域に対して、Ｓ３１１の処理を行う。
【００５７】
以上、上述した各実施形態によれば、精度よくキーワード領域を特定することができる。
【００５８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５９】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１００  複写機
１１０  情報処理装置
１１１  ＣＰＵ
【図１】
2018055255.tif 000003
【図２】
2018055255.tif 000004
【図３】
2018055255.tif 000005
【図４】
2018055255.tif 000006
【図５】
2018055255.tif 000007
【図６】
2018055255.tif 000008
【図７】
2018055255.tif 000009
【図８】
2018055255.tif 000010
【図９】
2018055255.tif 000011
【図１０】
2018055255.tif 000012
【図１１】
2018055255.tif 000013