(57)【要約】【課題】帳票レイアウトの事前定義なしに、選択式帳票の情報を取得し、オペレータの手作業を削減する帳票認識装置を提供する。【解決手段】帳票認識装置は、帳票をスキャナでイメージとして読み込み、イメージとして読み込まれた前記帳票に対し文字認識処理を行い、文字認識された結果から、キーワードを検出し、前記キーワードの配置から、前記帳票に記載された項目の位置を特定し、前記項目の位置から、前記帳票に記載された項目が、いくつかの項目から１つを選択する形式の選択式となっているか否かを判断し、選択式の項目に対して、前記帳票のユーザがつけたマークが、選択式の項目のいずれを選択しているかを判定し、前記選択式の項目から前記ユーザが選択した内容の文字認識結果を表示する。【選択図】図６Ａ
2016062347.tif 000002
【特許請求の範囲】
【請求項１】
帳票をイメージとして読み込むスキャナ部と、
イメージとして読み込まれた前記帳票に対し文字認識処理を行う文字認識部と、
文字認識された結果から、キーワードを検出し、前記キーワードの配置から、前記帳票に記載された項目の位置を特定する項目位置特定部と、
前記項目の位置から、前記帳票に記載された項目が、いくつかの項目から１つを選択する形式の選択式となっているか否かを判断し、選択式の項目に対して、前記帳票のユーザがつけたマークが、選択式の項目のいずれを選択しているかを判定する選択式処理部と、
前記選択式の項目から前記ユーザが選択した内容の文字認識結果を表示する表示部と、
を備えることを特徴とする帳票認識装置。
【請求項２】
前記マークを用いた前記ユーザの選択の検出は、前記マークが記載されているべき欄にある画素の数に基づいて検出する、ことを特徴とする請求項１に記載の帳票認識装置。
【請求項３】
前記マークを用いた前記ユーザの選択の内容の検出は、前記帳票に印刷されている文字をイメージ内で見えなくなるような特定の色の光を前記帳票に照射し、特定の色の光を照射しても見えなくならない画素を検出することにより、マークの位置を特定することを含む、ことを特徴とする請求項１に記載の帳票認識装置。
【請求項４】
少なくとも前記キーワードと前記キーワードが含まれる文字列が示す項目とを対応付けて記憶するキーワードテーブルを更に備える、ことを特徴とする請求項１に記載の帳票認識装置。
【請求項５】
前記帳票は、前記帳票を使用する団体や個人が独自にレイアウトした私製帳票である、ことを特徴とする請求項１に記載の帳票認識装置。
【請求項６】
コンピュータに
帳票をスキャナでイメージとして読み込みさせ、
イメージとして読み込まれた前記帳票に対し文字認識処理を行わせ、
文字認識された結果から、キーワードを検出し、前記キーワードの配置から、前記帳票に記載された項目の位置を特定させ、
前記項目の位置から、前記帳票に記載された項目が、いくつかの項目から１つを選択する形式の選択式となっているか否かを判断させ、
選択式の項目に対して、前記帳票のユーザがつけたマークが、選択式の項目のいずれを選択しているかを判定させ、
前記選択式の項目から前記ユーザが選択した内容の文字認識結果を表示させる、
ことを特徴とする帳票認識方法。
【請求項７】
コンピュータに
帳票をスキャナでイメージとして読み込みさせ、
イメージとして読み込まれた前記帳票に対し文字認識処理を行わせ、
文字認識された結果から、キーワードを検出し、前記キーワードの配置から、前記帳票に記載された項目の位置を特定させ、
前記項目の位置から、前記帳票に記載された項目が、いくつかの項目から１つを選択する形式の選択式となっているか否かを判断させ、
選択式の項目に対して、前記帳票のユーザがつけたマークが、選択式の項目のいずれを選択しているかを判定させ、
前記選択式の項目から前記ユーザが選択した内容の文字認識結果を表示させる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票認識装置に関し、特には、帳票のレイアウトの事前定義なしで帳票を認識する帳票認識装置に関する。
【背景技術】
【０００２】
近年のコンピュータの発達により、従来人手で行っていた作業を自動化する動きが活発である。銀行などでは、振込み帳票などをＯＣＲ等で読み取り、読取ったイメージに画像処理及び文字認識を施して、必要な情報を取得し、データベースなどに記録することが行われる。その際、一般的には、読取る帳票のレイアウトを予め定義しておき、当該レイアウトで作成された帳票を自動的に読取ることが行われる。
【０００３】
しかし、私製為替帳票（一般企業が作成する振込み帳票、大学の入学金振込み帳票等）は、振込先情報（銀行名、支店名、科目、口座番号、依頼人名）が記載されているが、帳票レイアウトが千差万別である。このような場合、予め帳票レイアウトを定義しておくことができず、自動的に必要な情報を読取ることが出来ない。そのような場合には、人手で帳票の情報をコンピュータに入力していた。私製帳票は、その種類の多さにより、頻繁に人手での情報の入力が発生し、自動化するには限界があった。
【０００４】
そこで、特許文献１では、定義レス帳票認識方式を開発し、レイアウトの事前登録なしで私製為替帳票を認識できるようにし、初めて持ち込まれた帳票も自動的に項目位置を特定し、認識できるようにしている。
【０００５】
特許文献２には、事前レイアウト定義を行い、帳票の項目が複数のリストから一つを選ぶ選択式となっている場合の帳票認識装置を記載している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−００３１５５号公報
【特許文献２】特開２００８−０７７４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図１は、私製振込み帳票の例を示す図である。
特許文献１の技術における定義レス帳票認識は、項目位置特定のヒントとなる「銀行名」などの見出しが存在し、認識項目が１：１になっている項目を対象としている（図１の（１））。
【０００８】
したがって、振込先が選択式のような１：１の関係にない複雑な構造をしたレイアウトでは、項目位置を一意に特定し、認識結果を通知することはできなかった。このためオペレータは手入力が必要となり作業負荷が大きくなるという問題があった。
【０００９】
また、特許文献１においては、１枠内に口座番号まで含まれる構造（複合項目）については、どのように処理するかの記載がある（図１の（２））。
【００１０】
図１の（３）のような選択式の振込先の記載がある帳票の場合には、特許文献１の技術は適用できず、オペレータによる情報の手入力が発生していた。
【００１１】
したがって、
・選択式の帳票においても、受取人情報（銀行名、支店名、科目、口座番号）を通知することでオペレータ入力業務の効率化を図る、
・選択式の帳票においても振込先を一意に特定でき、手入力不要とする（効率化）、
・手入力不要とし、入力誤りを防止する（堅実性向上）、
・レイアウトの事前定義を不要として、帳票改訂時の見直し不要とする（即時効果）、
などを実現する技術が望まれている。
【００１２】
本発明の課題は、帳票レイアウトの事前定義なしに、選択式帳票の情報を取得し、オペレータの手作業を削減する帳票認識装置を提供することである。
【課題を解決するための手段】
【００１３】
本発明の一側面における帳票認識装置は、帳票をイメージとして読み込むスキャナ部と、イメージとして読み込まれた前記帳票に対し文字認識処理を行う文字認識部と、文字認識された結果から、キーワードを検出し、前記キーワードの配置から、前記帳票に記載された項目の位置を特定する項目位置特定部と、前記項目の位置から、前記帳票に記載された項目が、いくつかの項目から１つを選択する形式の選択式となっているか否かを判断し、選択式の項目に対して、前記帳票のユーザがつけたマークが、選択式の項目のいずれを選択しているかを判定する選択式処理部と、前記選択式の項目から前記ユーザが選択した内容の文字認識結果を表示する表示部と、を備える。
【００１４】
本発明の他の側面における帳票認識方法及びプログラムは、コンピュータに、帳票をスキャナでイメージとして読み込みさせ、イメージとして読み込まれた前記帳票に対し文字認識処理を行わせ、文字認識された結果から、キーワードを検出し、前記キーワードの配置から、前記帳票に記載された項目の位置を特定させ、前記項目の位置から、前記帳票に記載された項目が、いくつかの項目から１つを選択する形式の選択式となっているか否かを判断させ、選択式の項目に対して、前記帳票のユーザがつけたマークが、選択式の項目のいずれを選択しているかを判定させ、前記選択式の項目から前記ユーザが選択した内容の文字認識結果を表示させる。
【発明の効果】
【００１５】
本発明によれば、帳票レイアウトの事前定義なしに、選択式帳票の情報を取得し、オペレータの手作業を削減する帳票認識装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】私製振込み帳票の例を示す図である。
【図２】本実施形態の帳票認識装置の構成を説明する図である。
【図３】本実施形態の帳票認識装置の構成を説明する図である。
【図４】本実施形態の帳票認識装置の構成を説明する図である。
【図５】本実施形態の帳票認識装置の構成を説明する図である。
【図６Ａ】全体の処理の流れを説明する図である。
【図６Ｂ】全体の処理の流れを説明する図である。
【図７Ａ】図６ＡのステップＳ１４のサブルーチンが行う処理を説明する図である。
【図７Ｂ】図６ＡのステップＳ１４のサブルーチンが行う処理を説明する図である。
【図８Ａ】図６ＡのステップＳ１４のサブルーチンが行う処理を説明する図である。
【図８Ｂ】図６ＡのステップＳ１４のサブルーチンが行う処理を説明する図である。
【図９Ａ】図７ＡのステップＳ２６のサブルーチンの処理を示す図である。
【図９Ｂ】図７ＡのステップＳ２６のサブルーチンの処理を示す図である。
【図１０】図７ＡのステップＳ２７のサブルーチンを説明する図である。
【図１１Ａ】図６ＡのステップＳ１６のサブルーチンの処理を説明する図である。
【図１１Ｂ】図６ＡのステップＳ１６のサブルーチンの処理を説明する図である。
【図１２Ａ】図１１ＡのステップＳ６３のサブルーチンを説明する図である。
【図１２Ｂ】図１１ＡのステップＳ６３のサブルーチンを説明する図である。
【図１２Ｃ】図１１ＡのステップＳ６３のサブルーチンを説明する図である。
【図１３Ａ】図６ＡのステップＳ１７のサブルーチンを説明する図である。
【図１３Ｂ】図６ＡのステップＳ１７のサブルーチンを説明する図である。
【図１４Ａ】図１３ＡのステップＳ８３のサブルーチンを説明する図である。
【図１４Ｂ】図１３ＡのステップＳ８３のサブルーチンを説明する図である。
【図１５】本実施形態を実現するパソコン１０のハードウェア構成を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施形態においては、帳票レイアウトの事前定義なしに、選択式の帳票の情報を自動的に取得する。
【００１８】
図２〜図５は、本実施形態の帳票認識装置の構成を説明する図である。
図２には、本実施形態の帳票認識装置の装置構成が示されている。
【００１９】
本装置構成においては、ディスプレイ、キーボード等を備える一般的なパソコン１０が、以下に説明する本実施形態の処理を実行する。パソコン１０には、スキャナ１１が接続される。スキャナ１１は、帳票のイメージデータを取得する。パソコン１０は、スキャナ１１で取得された帳票のイメージに文字認識処理などを行い、帳票に記載された情報を取得する。
【００２０】
図３には、本実施形態の帳票認識装置の機能ブロックが示されている。
スキャナ制御部２１は、スキャナ１１を制御し、帳票の記載面をイメージとして取得する。文字認識処理部２３は、帳票のイメージデータから、帳票記載面に記載されている文字を認識する。その際、帳票の記載者の手書きによる文字の認識には、手書き文字認識辞書２６を使用し、帳票に印刷された文字の認識には、活字文字認識辞書２７を使用する。この文字認識処理は、既存の技術を使用可能なので、以下の説明では、特に詳しくは説明しない。
【００２１】
認識結果表示部２４は、文字認識処理部２３における文字認識結果をパソコン１０のディスプレイ上に表示させる制御を行う。項目位置特定部２２は、文字認識処理部２３で認識された文字から特定のキーワードを抽出して、銀行名などの情報が記載されている位置を特定する。特定のキーワードは、キーワードテーブル２８に登録されているキーワードを用いる。選択式処理部２５は、帳票に記載されたキーワードの存在位置などから、帳票に選択式の記載がされているか否かを判断し、選択式記載がされている場合には、その選択式記載から、必要な情報を取得する。
【００２２】
スキャナ制御部２１、項目位置特定部２２、文字認識処理部２３、認識結果表示部２４による一連の処理は、制御部２０により制御する。
【００２３】
図４には、キーワードテーブルの例が示されている。
キーワードテーブル２８には、図４に示すように、項目位置特定に必要な見出しキーワードとしての見出し文字列と、認識項目の文字列として含まれる文字列の例としての補助見出し文字列が登録されている。補助見出し文字列に登録された文字列が、文字認識された結果、発見された場合は、その文字列に対応する認識項目が存在すると判定される。例えば、認識項目が「銀行名」については、認識文字列の属性として、漢字あるいはカタカナであって、文字数が２〜３０文字の文字列であって、補助見出し文字列に含まれる文字列が存在するか否かを判定する。対応する文字列が存在すると判定された場合には、その文字列が存在する部分の項目は「銀行名」であると判断する。同様に、支店名、科目、口座番号、受取人などの項目を判断する。
【００２４】
図５には、帳票の選択式記載の例が示されている。
図５の（ａ）のバリエーション１では、振込先銀行口座が複数記載され、振込先銀行・支店に対応する枠内に、預金科目、口座番号が記述されている。帳票の利用者は、自分が希望する銀行口座の欄に丸印などのマークを付けることで、使用する銀行口座の選択を行う。図５の（ｂ）のバリエーション２では、振込先銀行・支店名、預金科目、口座番号は、異なる枠に記載されず、振込先銀行が記載された大きな枠内に列記されている。この場合、帳票の利用者は、大きな枠内の使用する銀行口座の記載の左側に丸印などのマークを付けることによって、使用する銀行口座を指定する。図５の（ｃ）のバリエーション３は、各銀行口座は、異なる枠内に記載されているが、銀行・支店名、預金科目、口座番号は、１つの枠内に記載されている。この場合は、帳票の利用者は、銀行・支店名、預金科目、口座番号が記載されている枠の左側の枠内に、丸印などのマークを付けることにより、使用する銀行口座を指定する。図５の（ｄ）のバリエーション４においては、銀行・支店名、預金科目、口座番号を記載した枠が、横に配列されている。帳票の利用者は、いずれかの枠内に丸印などのマークを付けることによって、使用する銀行口座を指定する。
【００２５】
以下に、図６Ａ〜図１４Ｂを参照して、本実施形態の処理を説明する。
図６Ａ及び図６Ｂは、全体の処理の流れを説明する図である。
【００２６】
図６Ａにおいて、私製為替帳票をカラーイメージでスキャンした後、ステップＳ１０において、帳票全体から罫線を抽出する。罫線の抽出は既存の技術を使用してよい。罫線を抽出した後のイメージが図６Ｂの（１）に示されている。次に、ステップＳ１１において、罫線で囲まれた枠をセルとし、ＩＤを付与する。各セルにＩＤを付与した様子が、図６Ｂの（２）に示されている。次に、ステップＳ１２において、セル毎に文字を抽出し、変数「セルＭＡＸ」にセル数を保持する。セル毎に文字を抽出した様子が、図６Ｂの（３）に示されている。ステップＳ１３において、各項目の位置特定に必要な見出しを抽出する。すなわち、図４のキーワードテーブルの補助見出し文字列に登録された文字を抽出する。見出しを抽出した様子が図６Ｂの（４）に示されている。図６Ｂの（４）では、見出しとして、「銀行」、「支店」などの文字が抽出されている。
【００２７】
ステップＳ１４において、振込先情報のパターン識別をサブルーチンで行う。ここでは、例として振込先情報のパターンを識別する場合を示すが、これに限定されず、所望の情報の記載パターンを識別するようにしてよい。ステップＳ１５において、ステップＳ１４の結果から、振込先情報のパターンが、選択式かそれ以外かで処理を分岐する。選択式以外の場合には、ステップＳ１８において、特許文献１に記載されているような従来の処理を行い、ステップＳ１９に進む。
【００２８】
ステップＳ１５で、振込先情報のパターンが選択式であると判断された場合には、ステップＳ１６において、マーク位置を特定するサブルーチンを実行する。ステップＳ１７においては、文字列分割のサブルーチンを実行し、ステップＳ１９に進む。ステップＳ１９において、認識結果をディスプレイなどに表示して処理を終了する。
【００２９】
図７Ａ〜図８Ｂは、図６ＡのステップＳ１４のサブルーチンが行う処理を説明する図である。
【００３０】
図７Ａにおいて、ステップＳ２０では、図６ＡのステップＳ１２で抽出した補助見出し文字を含むセルを抽出する。ステップＳ２１のループでは、変数「セルＭＡＸ」に格納されている値分のセルについて処理が終わるまでループを繰り返す。ステップＳ２２では、処理対象のセルが、補助見出しを含むセルか否かを判断する。ステップＳ２２の判断がＮｏの場合には、ステップＳ２１のループを、他のセルについて繰り返す。ステップＳ２２の判断がＹｅｓの場合には、ステップＳ２３で、該当セル内の補助見出し数を当該セルに付与し、ステップＳ２４において、「選択肢候補Ｃｎｔ」を１だけインクリメントする。ステップＳ２１のループがすべてのセルについて処理し終わったら、ステップＳ２５において、「選択肢候補Ｃｎｔ」を、「選択肢候補ＭＡＸ」に格納する。ステップＳ２０からステップＳ２５までの処理において、図７Ｂの（１）にあるように、選択式の振込先リストの各セルが処理される。
【００３１】
ステップＳ２６においては、縦方向に規則的なセルを統合し、縦統合セルを生成する。このステップは、サブルーチンで処理される。このステップでは、図７Ｂの（２）にあるように、銀行名と支店名が記載されたセルを縦方向に統合して、１つのセルとしている。同様に、預金科目の「普通」、「当座」と記載されたセルも縦方向に統合されて、１つのセルとされる。また、口座番号が記載されたセルも縦方向に統合されて、１つのセルとされる。
【００３２】
ステップＳ２７においては、横方向に規則的なセルを統合し、統合セルを生成する。このステップは、サブルーチンで処理される。このステップでは、図７Ｂの（３）にあるように、「振込先銀行・支店」と記載されたセルが１つの統合セル１とされる。また、銀行名、支店名、預金科目、口座番号が記載された１２個のセルが統合されて、１つの統合セル２とされる。
【００３３】
図８Ａにおいて、ステップＳ２８のループでは、「統合セルＣｎｔ２」（ステップＳ２７のサブルーチンで使用される変数）の数分のループを行う。また、ｘ＝１とし、１回のループが終了するごとに、ｘを１ずつインクリメントする。ステップＳ２９では、ｘ＝１か否かを判断する。ステップＳ２９の判断がＹｅｓの場合には、ステップＳ３０において、「補助見出しＭＡＸ」に、ｘ番目の統合セル内の補助見出し数を設定し、「採用統合セル」に、ｘ番目の統合セルを設定し、ステップＳ２８のループを繰り返す。
【００３４】
ステップＳ２９の判断がＮｏの場合には、ステップＳ３１に進み、「補助見出しＭＡＸ」が、ｘ番目の統合セル内の補助見出し数より小さいか否かを判断する。ステップＳ３１の判断がＮｏの場合には、ステップＳ２８のループを繰り返す。ステップＳ３１の判断がＹｅｓの場合には、ステップＳ３２に進んで、「補助見出しＭＡＸ」に、ｘ番目の統合セル内の補助見出し数を設定し、「採用統合セル」にｘ番目の統合セルを設定する。図８Ｂの（４）にあるように、統合セル１の補助見出し数は、２で、統合セル２の補助見出し数は、１６なので、補助見出し数の多い統合セル２を、選択式記載がされたセルとして採用する。
【００３５】
ステップＳ２８のループがすべての統合セルについて処理し終わると、ステップＳ３３において、マーク欄を統合する。採用統合セルの左側の同一幅の範囲で、空白セルが、例えば、６０％以上存在する場合、採用統合セルを左側のセルを含んだ座標まで拡張する。空白セルが６０％あるか否かは、採用統合セルの左側の所定幅の範囲の面積に対し、マークがされていないセルの面積が６０％あるか否かを判断すればよい。また、マークがされているか否かは、１つのセルの中で、所定以上の黒画素が存在するか否かを判断すればよい。図８の（５）にあるように、マーク欄も含めて、銀行口座の情報が記載されたセルが統合されて１つの統合セルとされている。
【００３６】
ステップＳ３４では、マーク欄を統合し、かつ、銀行名が縦一列となっている場合、統合フラグをＯＮにする。すなわち、図５の（ａ）のバリエーション１を識別する。ステップＳ３５においては、採用統合セルから選択式を識別する。図８Ｂの（６）にあるように、選択式を判別する際の統合セルの特徴として、１．銀行補助見出し数、２．支店補助見出し数、３．科目補助見出し数、４．口座番号補助見出し数、を使うことが出来る。識別条件としては、１．〜４．が統合セル内に３つ以上存在する、１．〜４．の内、いずれかの補助見出しが２つ以上存在する、などである。また、統合したセルの大きさから、１．〜４．の値を動的に変更して識別するようにしても良い。ここで、動的に変更するとは、標準の統合セルの面積に対する、採用した統合セルの面積に比例させて、１．〜４．の値を変更するなどである。
【００３７】
図９Ａ及び図９Ｂは、図７ＡのステップＳ２６のサブルーチンの処理を示す図である。
ステップＳ４０において、「選択肢候補ＭＡＸ」数分のループを行う。その際、初期値をｘ＝１として、繰り返しごとに、ｘを１ずつインクリメントする。ｘが「選択肢候補ＭＡＸ」より大きくなったら処理を終了する。
【００３８】
ステップＳ４１では、補助見出し候補を含むｘ番目のセルを含む統合セルがあるか否かを判断する。ステップＳ４１の判断がＹｅｓの場合には、ステップＳ４３に進む。ステップＳ４１の判断がＮｏの場合には、ステップＳ４２において、当該セルに対する統合セルを生成し、当該統合セルの右上、左上、右下、左下の座標を更新する。また、「統合セルＣｎｔ」を１だけインクリメントし、ステップＳ４３に進む。
【００３９】
ステップＳ４３では、「選択肢候補ＭＡＸ」数分のループを行う。その際、初期値をｙ＝１として、繰り返しごとに、ｙを１ずつインクリメントする。ｙが「選択肢候補ＭＡＸ」より大きくなったら処理を終了する。
【００４０】
ステップＳ４４では、補助見出し候補を含むｘ番目のセルが、補助見出し候補を含むｙ番目のセルと等しいか否かを判断する。ステップＳ４４の判断がＹｅｓの場合には、ステップＳ４３のループを繰り返す。ステップＳ４４の判断がＮｏの場合には、ステップＳ４５に進む。
【００４１】
ステップＳ４５では、判定Ａを行う。判定Ａの内容は、補助見出し候補を含むｘ番目のセルの左下座標と補助見出し候補を含むｙ番目のセルの左上座標が一致し、かつ、補助見出し候補を含むｘ番目のセルの右下座標と補助見出し候補を含むｙ番目のセルの右上座標が一致する、か否かを判断するものである。ステップＳ４５の判断がＮｏの場合には、ステップＳ４３のループを繰り返す。ステップＳ４５の判断がＹｅｓの場合には、ステップＳ４６に進む。
【００４２】
ステップＳ４６では、補助見出し候補を含むｘ番目のセルを含む統合セルに、補助見出し候補を含むｙ番目のセルが存在するか否かを判断する。ステップＳ４６の判断がＹｅｓの場合、ステップＳ４３のループを繰り返す。ステップＳ４６の判断がＮｏの場合には、ステップＳ４７に進む。
【００４３】
ステップＳ４７では、補助見出し候補を含むｙ番目のセルが別の統合セルに含まれるか否かを判断する。ステップＳ４７の判断がＹｅｓの場合には、ステップＳ４８において、統合セル同士を統合し、統合セルの右上、左上、右下、左下座標を更新し、統合セルＣｎｔを１だけデクリメントし、ステップＳ４３のループを繰り返す。
【００４４】
ステップＳ４７の判断がＮｏの場合には、ステップＳ４９において、補助見出し候補を含むｘ番目のセルを含む統合セルに、補助見出し候補を含むｙ番目のセルを追加し、統合セルの右上、左上、右下、左下座標を更新し、ステップＳ４３のループを繰り返す。
【００４５】
図１０は、図７ＡのステップＳ２７のサブルーチンを説明する図である。
ステップＳ５０において、「統合セルＣｎｔ」の値を「統合セルＣｎｔ２」に設定する。ステップＳ５１において、統合セル数分のループを行う。すなわち、初期値をｘ＝１として、繰り返しごとにｘを１だけインクリメントし、ｘが「統合セルＣｎｔ」より大きくなったら処理を終了する。
【００４６】
ステップＳ５２においては、統合セル数分のループを行う。すなわち、初期値をｙ＝１として、繰り返しごとにｙを１だけインクリメントし、ｙが「統合セルＣｎｔ」より大きくなったら処理を終了する。
【００４７】
ステップＳ５３においては、ｘ番目の統合セルとｙ番目の統合セルが同じものか否かを判断する。ステップＳ５３の判断がＹｅｓの場合には、ステップＳ５２のループを繰り返す。ステップＳ５３の判断がＮｏの場合には、ステップＳ５４において、判定Ｂを行う。判定Ｂの内容は、ｘ番目の統合セルの右上座標とｙ番目の統合セルの左上座標が一致し、かつ、ｘ番目の統合セルの右下座標とｙ番目の統合セルの左下座標が一致するか否かを判断するものである。
【００４８】
ステップＳ５４の判断がＮｏの場合には、ステップＳ５２のループを繰り返す。ステップＳ５４の判断がＹｅｓの場合には、ステップＳ５５に進み、統合セル同士を統合し、統合セルの右上、左上、右下、左下座標を更新し、「統合セルＣｎｔ２」を１だけデクリメントする。そして、ステップＳ５２のループを繰り返す。例えば、ステップＳ５５の場合は、ｘ番目の統合セルの左上と左下座標、ｙ番目の統合セルの右上と右下座標により更新する。
【００４９】
図１１Ａ及び図１１Ｂは、図６ＡのステップＳ１６のサブルーチンの処理を説明する図である。
【００５０】
ステップＳ６０において、図６ＡのステップＳ１４で設定される統合フラグがＯＮか否かを取得する。ステップＳ６１で、統合フラグがＯＮではないと判断されると、ステップＳ６３に進んで、色情報を利用したマーク判定のサブルーチンを実行して、ステップＳ６４に進む。ステップＳ６１で統合フラグがＯＮであると判断されると、ステップＳ６２でマーク欄のマーク判定を行って、ステップＳ６４に進む。
【００５１】
ステップＳ６２のマーク判定は、図１１Ｂの（１）に示される表にしたがって、マーク位置の特定を行う。マーク位置特定条件としては、記入されているマーク欄が１つ、記入されているマーク欄が１つ以上、記入されているマーク欄が０の３通りに分かれる。記入されているマーク欄が１つの場合には、マーク位置を特定する。記入されているマーク欄が１つ以上、あるいは、０個の場合には、マーク位置特定不可と判断する。この判定には、罫線抽出処理や文字抽出処理の結果を利用可能である。記入されているマークの判定は、マーク欄に含まれている画素数で判定する。その場合、ノイズ（影や折れ目）が原因でマークされていると誤って判定する場合があるため、一定の画素数以下は記入されているとは判断しない。例えば、２０画素以下の画素が黒くなっている場合には、記入されていないと判定する。ただし、この方法は、これに限られるものではなく、その他の方法を使用してもよい。
【００５２】
ステップＳ６４では、マーク位置が特定できたか否かを判断する。ステップＳ６４の判断がＮｏの場合には、ステップＳ６５において、マーク位置特定が不可であったとして、銀行名／支店名／科目／口座番号の文字認識結果にＮＵＬＬを設定し、銀行名／支店名／科目／口座番号のイメージカーソル座標に、統合したセル座標を設定し、図６ＡのステップＳ１９の認識結果通知処理に進む。ここで、イメージカーソル座標は、項目が記入されている座標のことである。文字認識結果と共に記入されている座標を強調表示することで、文字認識誤り時、オペレータ入力を支援するものである。
【００５３】
ステップＳ６４の判断がＹｅｓの場合には、ステップＳ６６において、銀行名／支店名／科目／口座番号のイメージカーソル座標をマークの記入がある欄に限定して、表示して処理を終了する。図１１Ｂの（２）には、マークの記入がある欄のみが強調表示されている様子が示されている。
【００５４】
図１２Ａ〜図１２Ｃは、図１１ＡのステップＳ６３のサブルーチンを説明する図である。
【００５５】
色情報を利用したマーク判定では、帳票で多く利用される色（赤、青、緑）を利用してマーク位置を特定する。ステップＳ７０においては、赤ドロップ２値イメージを作成する。赤ドロップとは、赤色の光を照射すると、赤色で描かれた線が消えたイメージが得られることを利用するものである。ステップＳ７１においては、青ドロップ２値イメージを作成する。青ドロップは、青色の光を照射して、青色で描かれた線が消えたイメージを得ることである。ステップＳ７２においては、緑ドロップ２値イメージを作成する。緑ドロップは、緑色の光を照射して、緑色で描かれた線が消えたイメージを得ることである。以上の３色の光を使って、それぞれの色を消したイメージを得る様子が、図１２Ｂの（ａ）に示されている。赤帳票の場合は、赤ドロップで文字が消えて見え、青帳票の場合には、青ドロップで文字が消えて見え、緑帳票の場合には、緑ドロップで文字が消えて見える様子を示している。なお、赤帳票、青帳票、及び緑帳票は、それぞれ、印刷された文字や罫線が赤色、青色、及び緑色の帳票のことである。
【００５６】
ステップＳ７３で、３つのイメージから画素の少ないイメージを選択する。マークは一般に黒色のペンで記載されている可能性が高いと考えられ、したがって、３つのイメージのいずれについてもマークは消えずにイメージに残っていると考えられる。そこで、ステップＳ７４では、黒画素の塊であるラベルを作成する。なお、マーク以外にノイズ（影や折れ目）などから小さなラベルを抽出する場合があるため、一定画素以下（例えば、２０画素以下）のラベルは無効として、以降の処理で使用しないようにする。
【００５７】
ステップＳ７５においては、判定Ｃを判断する。判定Ｃの内容は、ラベルが１つのみ存在し、かつ、そのラベルが左側に高さが同じ範囲（数ドット、例えば、上下５ドット内）に１つのみ受取人情報が存在するか否かを判断する。図１２Ｃの（ｂ）には、マーク及び活字の上下の点線が、高さが同じ範囲の例を示している。
【００５８】
ステップＳ７５の判断がＮｏの場合には、処理を終了する。ステップＳ７５の判断がＹｅｓの場合には、ステップＳ７６において、マーク位置を左側の受取人情報に設定する。ステップＳ７７では、判定Ｄを判断する。判定Ｄの内容は、特定した受取人情報が含まれるセルに他の受取人情報が存在しているか否かを判断するものである。ステップＳ７７の判断がＮｏの場合には、処理を終了する。ステップＳ７７の判断がＹｅｓの場合には、ステップＳ７８に進んで、特定した受取人情報に仮想セルを生成する。図１２Ｃの（ｃ）に示されるように、統合セルのように、１つのセルに複数の銀行口座が記載されている場合、マークの付けられている受取人の銀行口座の情報のみ取り出すため、その情報を囲む仮想セルを設定する。仮想セルの左座標は、ラベルの右端までとする。
【００５９】
図１３Ａ及び図１３Ｂは、図６ＡのステップＳ１７のサブルーチンを説明する図である。
【００６０】
ここで、項目の配置は、下記の通りに記載されることを利用して文字列を分離する。
・「銀行名と支店名」、「科目と口座番号」がセットで記載される。
・「銀行名」が「支店名」より先、「科目」が「口座番号」より先に記載される。
・「銀行名と支店名」が「科目と口座番号」より先に記載される。
【００６１】
まず、ステップＳ８０において、各項目に必要な見出し文字を含むセル情報を抽出する。図１３Ｂの（１）に示されるように、項目として、「銀行」、「支店」、「当座」及び「口座番号」を含むセル情報を抽出する。
【００６２】
ステップＳ８１において、セルと見出しから記載のパターンを決定する。パターンの例としては以下のものがあげられる。
・セル１型
・銀行支店１型、科目口座１型
・銀行支店１型、科目口座２型
・銀行支店２型、科目口座１型
・銀行支店２型、科目口座２型
【００６３】
図１３Ｂの（２）に示されるように、セル１型は、すべての項目が１つのセルに含まれるパターンである。銀行支店１型は、銀行名と支店名が１つのセルに含まれるパターンである。銀行支店２型は、銀行名と支店名が別のセルに含まれるパターンである。科目口座１型は、科目と口座番号が１つのセルに含まれるパターンである。科目口座２型は、科目と口座番号が別のセルに含まれるパターンである。上記５つのパターンは、これらの組み合わせである。
【００６４】
ステップＳ８２において、パターンがセル１型か否かを判断する。ステップＳ８２の判断がＮｏの場合には、ステップＳ８４に進む。ステップＳ８２の判断がＹｅｓの場合には、ステップＳ８３において、セルを銀行支店１型、科目口座１型に分離し、ステップＳ８４に進む。ステップＳ８３の処理は後述するサブルーチンで行われる。図１３Ｂの（３）に示されるように、１つのセルを、見出しの位置から銀行支店２型、科目口座２型に分離する。縦に分離するか横に分離するかは、見出しの位置によって判断する。
【００６５】
ステップＳ８４では、パターンが銀行支店１型か否かを判断する。ステップＳ８４の判断がＮｏの場合には、ステップＳ８６に進む。ステップＳ８４の判断がＹｅｓの場合には、ステップＳ８５において、見出し文字座標から縦または横に分離する。横の場合は、銀行見出しの右側でセルを分離する。縦の場合は、銀行見出しの下側で分離する。縦に分離するか横に分離するかは、見出しの位置から判断する。図１３Ｂの（４）にその様子が示されている。
【００６６】
ステップＳ８６では、パターンが科目口座１型か否かを判断する。ステップＳ８６の判断がＮｏの場合には、ステップＳ８８に進む。ステップＳ８６の判断がＹｅｓの場合には、ステップＳ８７に進む。ステップＳ８７では、見出し文字の座標から縦または横に分離する。横の場合は、科目見出しの右で分離し、縦の場合は、科目見出しの下で分離する。縦に分離するか横に分離するかは、見出し文字の配置によって判断する。
【００６７】
ステップＳ８８では、各認識項目と文字列の紐付けを行う。図１３Ｂの（５）に示されるように、分離されたセル内の「ＤＤ銀行」の文字列を認識項目の銀行名に、「ｄｄ支店」の文字列を認識項目の支店名に、「当座」を認識項目の科目に、「４４４４４４４」を認識項目の口座番号に関連付ける。
【００６８】
ステップＳ８９では、カテゴリを限定して、各セル内の文字を認識する。すなわち、図１３Ｂの（６）にあるように、帳票全体を文字認識する場合、局所的に、認識される文字のカテゴリを限定できない。しかし、ステップＳ８８で行った、認識項目と文字列の紐付けにより、例えば、あるセル内の文字列が口座番号であると分かった場合に、そのセル内の文字列の文字認識を数字カテゴリに限定することで、認識精度を向上することが出来る。
【００６９】
図１４Ａ及び図１４Ｂは、図１３ＡのステップＳ８３のサブルーチンを説明する図である。
【００７０】
図１４Ｂの配置パターンテーブルに示されるように、セル１型には、銀行名、支店名、科目、口座番号の縦横の配置の組み合わせにより、８つのパターンがある。ステップＳ９５において、見出し文字の座標から、セル１型の配置パターンテーブルの（１）〜（８）のいずれかに、処理対象のセルを割り当てる。ステップＳ９６において、配置パターンテーブルに格納されている支店右、支店下などの記述に従い、セルを分割する。図１４Ｂには、配置パターンが（３）の場合と（６）の場合の例が示されている。配置パターンが（３）の場合には、配置パターンテーブルによると、「支店右」と記述されているので、支店名の右側でセルを分割する。配置パターンが（６）の場合には、「支店下」と記述されているので、支店名の下でセルを分割する。このようにして、セル１型を銀行支店１型、科目口座１型に分離する。
【００７１】
ステップＳ９７では、当該セルのセル１型という情報を、銀行支店１型、科目口座１型に更新して処理を終了する。
【００７２】
図１５は、本実施形態を実現するパソコン１０のハードウェア構成を示す図である。
パソコン１０においては、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、通信インタフェース３３、記憶装置３４、媒体ドライバ３５、入出力装置３７は、バス３８で相互に接続される。
【００７３】
パソコン１０は、ＲＯＭ３１に格納されるＢＩＯＳをＣＰＵ３０が実行することにより、基本機能を実現する。ＲＡＭ３２は、記憶装置３４あるいは、媒体ドライバ３５によって読取られる可搬記録媒体３６に記録されているプログラムを、ＣＰＵ３０が実行可能なように展開する。本実施形態の処理は、このプログラムとして実現可能である。また、図３に示した、キーワードテーブル２８や、手書き文字認識辞書２６、活字文字認識辞書２７なども記憶装置３４や可搬記録媒体３６に格納して使用することができる。
【００７４】
記憶装置３４は、ハードディスクなどであり、可搬記録媒体３６は、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、ＩＣメモリ、磁気テープなどの、持ち運び可能な記録媒体である。
【００７５】
入出力装置３７は、ＣＰＵ３０に対する命令をユーザが入力したり、ＣＰＵ３０の処理結果をユーザに示す装置で、ＣＲＴディスプレイ、液晶ディスプレイ、プラズマディスプレイなどの表示装置のほか、キーボード、テンプレート、マウスなどの入力装置を含む。また、本実施形態においては、帳票を読取るスキャナ１１も入出力装置３７に含まれる。
【００７６】
通信インタフェース３３は、パソコン１０をネットワークに接続する装置で、インターネット、イントラネット、ＬＡＮ、ＷＡＮなどのネットワークとパソコン１０を接続する。本実施形態の処理は、記憶装置３４あるいは可搬記録媒体３６に記録されたプログラムとすることが出来るが、更には、通信インタフェース３３を使って、ネットワーク経由で接続される他のパソコンやサーバからダウンロードされたプログラムとして実行したり、他のパソコンやサーバでプログラムを実行させて、入出力作業のみをパソコン１０で行うようにしても良い。
【符号の説明】
【００７７】
１０      パソコン
１１      スキャナ
２０      制御部
２１      スキャナ制御部
２２      項目位置特定部
２３      文字認識処理部
２４      認識結果表示部
２５      選択式処理部
２６      手書き文字認識辞書
２７      活字文字認識辞書
２８      キーワードテーブル
３０      ＣＰＵ
３１      ＲＯＭ
３２      ＲＡＭ
３３      通信インタフェース
３４      記憶装置
３５      媒体ドライバ
３６      可搬記録媒体
３７      入出力装置
３８      バス
【図１】
2016062347.tif 000003
【図２】
2016062347.tif 000004
【図３】
2016062347.tif 000005
【図４】
2016062347.tif 000006
【図５】
2016062347.tif 000007
【図６Ａ】
2016062347.tif 000008
【図６Ｂ】
2016062347.tif 000009
【図７Ａ】
2016062347.tif 000010
【図７Ｂ】
2016062347.tif 000011
【図８Ａ】
2016062347.tif 000012
【図８Ｂ】
2016062347.tif 000013
【図９Ａ】
2016062347.tif 000014
【図９Ｂ】
2016062347.tif 000015
【図１０】
2016062347.tif 000016
【図１１Ａ】
2016062347.tif 000017
【図１１Ｂ】
2016062347.tif 000018
【図１２Ａ】
2016062347.tif 000019
【図１２Ｂ】
2016062347.tif 000020
【図１２Ｃ】
2016062347.tif 000021
【図１３Ａ】
2016062347.tif 000022
【図１３Ｂ】
2016062347.tif 000023
【図１４Ａ】
2016062347.tif 000024
【図１４Ｂ】
2016062347.tif 000025
【図１５】
2016062347.tif 000026