以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置1は、所定のレイアウトが施された帳票を撮像して得られた画像情報2に対して文字認識処理を行う。レイアウトとは、例えば帳票上の記入欄の配置である。
画像情報2には、識別情報2aおよび領域識別情報2bが含まれる。識別情報2aは、帳票上のレイアウトが変更された旨を示す情報である。領域識別情報2bは、所定の文字認識処理を行う処理対象領域3を識別するための情報である。識別情報2aおよび領域識別情報2bに対応する情報は、帳票上に予め印字される。
情報処理装置1は、検出部1a、領域特定部1bおよび処理部1cを有する。
検出部1aは、画像情報2から帳票上のレイアウトが変更された旨を示す識別情報2aを検出する。例えば、識別情報2aは、画像情報2の所定位置に配置される。配置位置は、検出部1aに予め設定される。例えば、識別情報2aは、数値、文字、記号、図形およびこれらの組合せなどにより表される。どのような情報が識別情報2aに該当するかは、検出部1aに予め設定される。
領域特定部1bは、検出部1aが識別情報2aを検出すると、画像情報2から領域識別情報2bを検出する。領域特定部1bは、領域識別情報2bに基づき処理対象領域3を特定する。例えば、領域識別情報2bは、所定領域を囲う線として表される。この場合、領域特定部1bは、領域識別情報2bの内側の領域を処理対象領域3と特定できる。なお、領域識別情報2bの線の太さや線の種別(実線、点線および一点鎖線など)など、どのような線が領域識別情報2bに該当するかは、領域特定部1bに予め設定される。領域特定部1bで示される図形は、任意の多角形や多角形に限らない任意の図形としてもよい。
なお、領域識別情報2bは、所定領域を囲う線以外の方法で表すこともできる。例えば、数値、文字、記号、図形およびこれらの組合せなどを用いてもよい。その場合、例えば、領域特定部1bには、処理対象領域3が長方形で形成されることを予め設定する。その場合、領域特定部1bは、長方形の1対の対角に設けられた2つの領域識別情報を検出することで処理対象領域3を特定できる。処理対象領域3(領域識別情報で示される図形)は、長方形に限らず任意の多角形または図形としてもよい。例えば、多角形の頂点に対応する各位置に、領域識別情報を設けておけば、領域特定部1bは、領域識別情報により頂点を特定し、頂点で囲われる多角形を特定できる。なお、この場合も、どのような情報が領域識別情報に該当するかは、領域特定部1bに予め設定される。
ここで、検出部1a、領域特定部1bおよび処理部1cは、CPU(Central Processing Unit)およびRAM(Random Access Memory)を用いて実行されるプログラムとして実装してもよい。
情報処理装置1によれば、検出部1aにより、画像情報2から識別情報2aが検出される。すると、領域特定部1bにより、画像情報2に含まれる領域識別情報2bが検出され、領域識別情報2bに基づき処理対象領域3が特定される。処理部1cにより、処理対象領域3に対して所定の文字認識処理が行われる。
これにより、文字認識処理を効率的に行える。具体的には、所定の文字認識処理を行う領域を処理対象領域3とし、それ以外の領域に対しては該所定の文字認識処理を行わない。すなわち、所定の文字認識処理が余計な領域に対して行われるのを抑止でき、余分な処理時間がかからずに済む。
なお、図1の画像情報2では領域識別情報2bで1つの処理対象領域3を特定する場合を例示した。これに対し、複数の領域識別情報により、複数の処理対象領域を特定可能としてもよい。より具体的には、領域を囲う線として表される領域識別情報を複数設けて、複数の処理対象領域を特定可能としてもよい。あるいは、第1の処理対象領域の頂点位置に第1の領域識別情報を設けて該第1の処理対象領域を特定可能とし、第2の処理対象領域の頂点位置に、第1の領域識別情報とは異なる第2の領域識別情報を設けて該第2の処理対象領域を特定可能としてもよい。
以下、金融機関の窓口などに設置され、顧客が記入した帳票の画像情報に対して文字認識処理を行う帳票読取装置に、情報処理装置1を適用する例を説明する。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。この情報処理システムは、金融機関の窓口業務を支援する。この情報処理システムは、帳票読取装置100とサーバ装置200とを含む。帳票読取装置100およびサーバ装置200は、ネットワーク10を介して接続される。ネットワーク10は、該金融機関内に設けられたイントラネットである。帳票読取装置100とサーバ装置200とは、別個の拠点に設置されてもよい。ネットワーク10の経路内には、この情報処理システムのために敷設された専用線のネットワーク、インターネットおよび通信事業者のIP(Internet Protocol)網などを含んでもよい。インターネットやIP網を含む場合、VPN(Virtual Private Network)などを利用して通信のセキュリティが確保される。
帳票読取装置100は、金融機関の窓口に設置される情報処理装置である。帳票読取装置100は、帳票を撮像して取得された帳票の画像情報(以下、帳票画像と呼ぶことがある)に対して文字認識処理を行い、顧客が帳票に記入した情報を取得してサーバ装置200に送信する。
帳票読取装置100が読み取る帳票の種別は、取引に応じて複数の種類が存在する。例えば、入金、出金および新規申込などの取引に応じた帳票が考えられる。帳票読取装置100は、既存のレイアウトの帳票に対する文字認識処理にレイアウト認識を用いるものとする。
サーバ装置200は、顧客の口座情報を管理する情報処理装置である。サーバ装置200は、帳票読取装置100が読み取った帳票の情報を受信して、該情報に基づく取引の処理を実行する。例えば、現金の出金、現金による入金、ある口座から他の口座への預金の振替などの取引を確定するための処理である。
なお、金融機関の窓口には、帳票読取装置100以外にも複数の帳票読取装置が設けられてもよい。
金融機関は、帳票のレイアウトを変更すること(以下、帳票の改訂ということもある)がある。例えば、新たなデータ項目の記入欄を追加したり、既存のデータ項目の記入欄を削減したりする場合が考えられる。レイアウト認識では、レイアウト変更に際して帳票のレイアウト定義情報を変更するための作業負担が生じる。そこで、帳票読取装置100は、改訂箇所につきキーワード認識による文字認識処理を行うことで、該レイアウト変更に容易に対応可能である。以下、この場合にキーワード認識による文字認識処理を効率的に行うための構成を説明する。
図3は、第2の実施の形態の帳票読取装置のハードウェアを示す図である。帳票読取装置100は、CPU101、ROM(Read Only Memory)102、RAM103、HDD(Hard Disk Drive)104、グラフィックインタフェース105、入力インタフェース106、スキャナインタフェース107、ディスクドライブ108および通信インタフェース109を有する。
CPU101は、OS(Operating System)プログラムやアプリケーションプログラムを実行して、帳票読取装置100全体を制御する。
ROM102は、帳票読取装置100の起動時に実行されるBIOS(Basic Input / Output System)プログラムなどの所定のプログラムを記憶する。ROM102は、書き換え可能な不揮発性メモリであってもよい。
RAM103は、CPU101が実行するOSプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM103は、CPU101の処理に用いられるデータの少なくとも一部を一時的に記憶する。
HDD104は、OSプログラムやアプリケーションプログラムを記憶する。また、HDD104は、CPU101の処理に用いられるデータを記憶する。なお、HDD104に代えて(または、HDD104と併せて)、SSD(Solid State Drive)など他の種類の不揮発性の記憶装置を用いてもよい。
グラフィックインタフェース105は、モニタ11に接続される。グラフィックインタフェース105は、CPU101からの命令に従って、画像をモニタ11に表示させる。
入力インタフェース106は、キーボード12やマウス13などの入力デバイスに接続される。入力インタフェース106は、入力デバイスから送られる入力信号をCPU101に出力する。
スキャナインタフェース107は、イメージスキャナ14に接続される。イメージスキャナ14は、帳票を撮像して帳票画像を生成する撮像装置である。スキャナインタフェース107は、イメージスキャナ14から取得した帳票画像をCPU101、RAM103およびHDD104などに出力する。
ディスクドライブ108は、記録媒体15に格納されたデータを読み取る読取装置である。記録媒体15には、例えば、帳票読取装置100に実行させるプログラムが記録されている。帳票読取装置100は、例えば、記録媒体15に記録されたプログラムを実行することで、後述するような機能を実現できる。すなわち、該プログラムはコンピュータ読み取り可能な記録媒体15に記録して配布可能である。
記録媒体15としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。
通信インタフェース109は、ネットワーク10に接続される。通信インタフェース109は、ネットワーク10を介してサーバ装置200とデータ通信を行える。
帳票読取装置100は、文字認識により読み取った各データ項目の文字列データをサーバ装置200に送信する。
なお、サーバ装置200も帳票読取装置100と同様のハードウェア構成により実現できる。
図4は、第2の実施の形態の改訂前の帳票の例を示す図である。帳票300は、改訂前の(既存の)帳票を例示している。帳票300は、例えば、規格などによってそのレイアウトが定められているものである。なお、規格などによりレイアウトが定められた帳票を制定帳票と呼ぶこともある。帳票300には、帳票ID(IDentifier)310および記入欄群320,330が印字されている。
帳票ID310は、帳票の種別を識別するための識別情報である。帳票ID310として、“200100”が印字されている。帳票ID310の上4桁の数値“2001”は、帳票300が口座開設の申し込みを行ったり、自身の口座に入金する取引を行ったりするための帳票であることを示す。帳票ID310の下2桁の数値“00”は、帳票300が改訂されたものではないことを示す。ここで、以下では、帳票IDの下2桁の数値を、帳票IDの枝番と呼ぶことがある。
記入欄群320,330は、顧客に記入させる複数の記入欄を印字した領域である。ここで、記入欄とは、該記入欄の見出し部分(例えば、“おところ”や“おなまえ”といった文字列が予め印字される部分)と顧客が筆記具を用いて文字列を記入する部分とを含む欄である。
記入欄群320は、記入欄321,322,323,324,325,326,327,328,329を含む。記入欄321は、申込日(例えば、年月日)を記入させるための欄である。記入欄322は、金融機関の店舗を識別するための番号(店番)を記入させるための欄である。記入欄323は、口座番号を記入させるための欄である。記入欄324は、郵便番号および住所を記入させるための欄である。記入欄325は、口座名義人の氏名を記入させるための欄である。記入欄326は、取引の金額を記入させるための欄である。記入欄327は、金融機関が提供する金融商品の種類を選択させるための欄である。記入欄328は、利用する通帳の種類を選択させるための欄である。記入欄329は、利用するキャッシュカードの種類を選択させるための欄である。
記入欄群330は、記入欄331,332,333を含む。記入欄331は、口座名義人の電話番号を記入させるための欄である。記入欄332は、口座名義人の性別を選択させるための欄である。記入欄333は、口座名義人の生年月日を記入させるための欄である。
記入欄群320,330の各欄の枠線および帳票300上の一部箇所には所定の色が付される。この色は、帳票300のカラーイメージ(カラーの帳票画像)を取得後、該イメージに所定のドロップアウト処理を行うことで、該イメージからドロップアウト(消去)可能な色である。このような色を、ドロップアウト色と呼ぶことがある。
図5は、第2の実施の形態の改訂後の帳票の例を示す図である。帳票300aは、帳票300に対する改訂後の帳票を例示している。帳票300aには、帳票ID310a、記入欄群320a,330aおよび領域識別情報340が印字されている。
帳票ID310aは、帳票の種別を識別するための識別情報である。帳票ID310aとして、“200101”が印字されている。帳票ID310aの上4桁の数値“2001”は、帳票300aが口座開設の申し込みを行ったり、自身の口座に入金する取引を行ったりするための帳票であることを示す。帳票ID310aの下2桁の数値“01”は、帳票300aが改訂後の版数“01”の帳票であることを示す。すなわち、該下2桁の数値が“00”以外のとき、該帳票は、改訂後のものであることを示し、該数値が改訂後の版数を示している。
記入欄群320a,330aは、顧客に記入させる複数の記入欄を印字した領域である。
記入欄群320aは、記入欄321,322,323,324,325,326,327a,328a,329aを含む。帳票300と比較すると、記入欄327a,328a,329aが相違する。
記入欄327a,328a,329aは、記入欄327,328,329と同様の内容を記入させるための欄である。記入欄327a,328a,329aは、記入欄327,328,329に対して、新しい選択項目を追加している点が異なる。これにより、記入欄328a,329aは、その欄の占める領域が、図5の紙面に向かって下方に拡張されている。
記入欄群330aは、記入欄331a,332a,333aを含む。記入欄331a,332a,333aは、記入欄331,332,333と同様の内容を記入させるための欄である。帳票300と比較すると、記入欄328a,329aの占める領域が拡張したことで、記入欄331a,332a,333aは図5の紙面に向かって下方に移動している。
領域識別情報340は、記入欄群330aを囲う線であり、四角形の各辺を形成している。
記入欄群320a,330aの各欄の枠線および帳票300a上の一部箇所には、帳票300と同様にドロップアウト色が付される。領域識別情報340には、ドロップアウト色以外の色が付される。帳票読取装置100が領域識別情報340の検出処理を適切に行えるようにするためである(後述する)。
図6は、第2の実施の形態の帳票読取装置の機能構成を示すブロック図である。帳票読取装置100は、記憶部110、帳票ID読取部120、文字認識処理部130および領域特定部140を有する。これらの各機能は、例えばCPU101が所定のプログラムを実行することにより、帳票読取装置100上に実現される。これらの各機能の全部または一部を専用のハードウェアで実装してもよい。
記憶部110は、帳票のレイアウトを定義したレイアウト定義テーブルを記憶する。
帳票ID読取部120は、イメージスキャナ14から受信したカラーの帳票画像に含まれる帳票IDを読み取る。このとき、帳票ID読取部120は、該帳票画像に対してドロップアウト処理を行う。ドロップアウト色を何れの色とするかは、例えば、帳票IDに対応付けて記憶部110に予め設定される。また、帳票IDは、例えば、帳票上の所定の位置に印字される。よって、帳票ID読取部120に、その位置(例えば、帳票画像上の座標値)を予め設定しておけば、帳票ID読取部120は、帳票画像中の該座標位置から帳票IDを読み取れる。あるいは、帳票ID読取部120は、帳票IDのフォーマット(例えば、数値や桁数など)に基づいて、該フォーマットに合致する文字列を帳票IDとして読み取ってもよい。帳票ID読取部120は、帳票IDの読み取り結果を文字認識処理部130に出力する。
なお、帳票ID読取部120は、イメージスキャナ14から受信した帳票画像および該帳票画像にドロップアウト処理を行った後の画像情報をRAM103上の所定の領域に格納する。以降の処理において、文字認識処理部130および領域特定部140は、RAM103上の該領域を参照して帳票画像(ドロップアウト処理後の画像情報を含む)に対する各部の処理を実行する。
文字認識処理部130は、帳票に対してレイアウト認識による文字認識処理を実行する。文字認識処理部130は、帳票IDが改訂された旨を示している場合、該帳票画像に対してレイアウト認識およびキーワード認識による文字認識を行う。文字認識処理部130は、文字認識の結果をモニタ11に表示させる。オペレータに結果の正誤確認などを促すためである。オペレータは、読取結果(データ項目および文字列データの内容)が適正であれば、キーボード12やマウス13を操作して、該読取結果のサーバ装置200への送信を文字認識処理部130に指示できる。文字認識処理部130は、この指示を受け付けると、読取結果をサーバ装置200に送信して、取引に関する処理の実行を要求する。
文字認識処理部130は、レイアウト認識処理部131およびキーワード認識処理部132を有する。
レイアウト認識処理部131は、帳票IDと、記憶部110に記憶されたレイアウト定義テーブルと、に基づいて、帳票画像に対するレイアウト認識処理(レイアウト認識による文字認識)を行う。
キーワード認識処理部132は、帳票IDと、記憶部110に記憶されたレイアウト定義テーブルと、に基づいて、帳票画像に対するキーワード認識処理(キーワード認識による文字認識処理)を行う。その際、キーワード認識処理部132は、帳票画像上の処理対象領域の特定を、領域特定部140に依頼する。
領域特定部140は、キーワード認識処理部132の依頼に応じて、帳票画像から領域特定情報を読み取る。領域特定情報は、所定の太さおよび線の種別で帳票上に印字される。よって、領域特定部140にその太さおよび線の種別を予め設定しておけば、領域特定部140はその設定内容に基づいて、帳票画像から領域特定情報を読み取れる。
領域特定情報は、多角形の頂点などを示す情報としてもよい。その場合には、領域特定部140に、領域特定情報として認識すべき数値、文字、記号、図形およびこれらの組合せなどを予め設定しておけばよい。領域特定部140は、特定した領域を示す情報(例えば、該領域を示す座標値)をキーワード認識処理部132に出力する。
図7は、第2の実施の形態のレイアウト定義テーブルの例を示す図である。レイアウト定義テーブル111は、記憶部110に記憶される。レイアウト定義テーブル111には、帳票ID、データ項目名、記入欄の座標、カテゴリおよび手活区分の項目を含む。各項目の横方向に並べられた情報同士が互いに関連付けられて、帳票上に記入される1つの内容を特定するための情報を示す。
帳票IDの項目には、帳票ID(枝番を除く)が設定される。データ項目名の項目には、データ項目名が設定される。
記入欄の座標の項目には、記入欄の座標値が設定される。ここで、1つの記入欄の座標値は、図4で示した帳票300を例にとると、該記入欄の図4の紙面に向かって左上側の座標値と、該記入欄の同右下側の座標と、を指定することで示される。座標値は、帳票300の図4の紙面に向かって左上の頂点を原点として、同右向き方向をx座標の正方向、同下向き方向をy座標の正方向と定義するものとする。ただし、これとは異なる座標系で記入欄の位置を表してもよい。
カテゴリの項目には、記入欄に記入される文字列が数値、カタカナ、漢字および記号などのうち、何れの種類であるかが設定される。手活区分の項目には、該記入欄に記入される文字列が手書きのものであるか活字として印字されるものであるかを示す情報が設定される。
例えば、レイアウト定義テーブル111には、帳票IDが“2001”、データ項目名が“申込日”、記入欄の座標が“S(35,20),E(60,30)”、カテゴリが“数値”、手活区分が“手書き”という情報が設定される。なお、記入欄の座標の設定につき“S”の文字は記入欄の左上側の座標値に付されるものである。同様に、“E”の文字は記入欄の右下側の座標値に付されるものである。
よって、このレコードは、帳票IDの上4桁が“2001”の帳票300の帳票画像につき、データ項目名“申込日”に対応する記入欄が帳票画像の(x,y)=(35,20)および(x,y)=(60,30)を対角にもつ長方形の領域であることを示す。また、この記入欄に記入される文字列が数値であり、該文字列が顧客により手書きで記入されるものであることを示す。更に、このレコードは、帳票IDの上4桁が“2001”の帳票300aの帳票画像についても、同様の記入欄が含まれ得ることを示している。
次に、以上の構成の帳票読取装置100の処理手順を説明する。
図8は、第2の実施の形態の帳票読取処理を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
(ステップS11)帳票ID読取部120は、イメージスキャナ14から受信したカラーの帳票画像をRAM103上の所定領域に格納する。帳票ID読取部120は、該帳票画像に対してドロップアウト処理を行い、ドロップアウト処理後の帳票画像をRAM103上の他の所定領域に格納する。
(ステップS12)帳票ID読取部120は、ドロップアウト処理後の帳票画像から帳票IDを認識する。例えば、帳票ID読取部120は、該帳票画像の所定位置から帳票IDを読み取れる。帳票ID読取部120は、読み取った帳票IDを文字認識処理部130に出力する。
(ステップS13)文字認識処理部130は、レイアウト認識処理部131に処理を委譲し、レイアウト認識処理を実行させる。レイアウト認識処理部131は、帳票ID読取部120から取得した帳票IDに基づいて、記憶部110に記憶されたレイアウト定義テーブル111を参照し、ドロップアウト処理後の帳票画像に対してレイアウト認識による文字認識処理を行う。
(ステップS14)文字認識処理部130は、帳票ID読取部120から取得した帳票IDの下2桁が“01”以上であるか否かを判定する。“01”以上である場合(すなわち、改訂された帳票である場合)、処理をステップS15に進める。“01”以上でない場合(すなわち、改訂された帳票でない場合)、処理をステップS16に進める。
(ステップS15)文字認識処理部130は、キーワード認識処理部132に処理を委譲し、キーワード認識処理を実行させる。該キーワード認識処理については後述する。
(ステップS16)文字認識処理部130は、帳票画像に対する文字認識結果を出力し、モニタ11に該結果を表示させる。
このように、文字認識処理部130は、ドロップアウト処理後の帳票画像に対してレイアウト認識処理を実行する。更に、文字認識処理部130は、帳票画像に含まれる帳票IDに応じて、キーワード認識処理の実行要否を判断する。文字認識処理部130は、改訂された帳票に対してキーワード認識処理を実行し、未改訂の帳票にはキーワード認識処理を実行しない。
次に、ステップS11における、帳票300aに関する、ドロップアウト処理後の帳票画像を例示する。
図9は、第2の実施の形態のドロップアウト処理後の帳票画像の例を示す図である。帳票画像300bは、イメージスキャナ14が撮像した帳票画像に対してドロップアウト処理を行って得られた画像情報である。
帳票画像300bでは、ドロップアウト色で帳票300aに印字された枠線などが消去されている。顧客が枠線内に記入した文字列の色は、ドロップアウト色以外の色で記入されており、ドロップアウト対象にはならない(ドロップアウト処理によって消去されない)。領域識別情報340も同様である。
レイアウト認識処理部131は、レイアウト定義テーブル111を参照して、帳票画像300b(帳票IDの上4桁が“2001”)内の所定の座標に記入された文字列を、口座番号や氏名などのデータ項目に対応付けて取得できる。例えば、データ項目名“口座番号”のデータを帳票画像300bから抽出する場合、レイアウト認識処理部131は次の処理を行う。
レイアウト認識処理部131は、レイアウト定義テーブル111に基づき、“口座番号”に対応する枠323aを特定する。具体的には、帳票画像300bの座標(x,y)=(140,20)を図9の紙面に向かって左上頂点とし、座標(x,y)=(160,30)を同右下頂点とする長方形が枠323aである。なお、図9において点線で図示した枠323aの枠線は、帳票画像300bには含まれない。レイアウト認識処理部131は、枠323a内に記入された文字画像を取得する。レイアウト認識処理部131は、該文字画像と予め記憶部110に格納された文字パターンとの照合を行い、“9999999”の文字列を抽出する。このときレイアウト定義テーブル111によれば、この位置のデータのカテゴリが数値である。よって、レイアウト認識処理部131は、数値の文字パターンと、文字画像との照合を行えばよい。
このようにして、レイアウト認識処理部131は、データ項目“口座番号”に対する文字列データ“9999999”を取得する。
また、領域識別情報340は、ドロップアウト色以外の色で印字されている。このため、領域識別情報340は、ドロップアウト対象にはならず、帳票画像300bに含まれる。帳票画像300bには、他の枠線はドロップアウト処理により消去されているので、領域特定部140は、領域識別情報340を容易に検出できる。
次に、図8のステップS15で説明したキーワード認識処理の手順を説明する。以下、RAM103上には次の情報が取得されているものとする。
(1)「帳票300aの帳票画像」
(2)「帳票300aの帳票画像」にドロップアウト処理を実行して得られた「帳票画像300b」
「帳票300aの帳票画像」という場合、帳票300aに含まれる全領域をカラーで取得した画像情報を示す。「帳票画像300b」という場合、「帳票300aの帳票画像」にドロップアウト処理を実行して得られた画像情報を示す。また、何れの帳票画像においても、領域識別情報340を同一の符号で指し示すものとする。
図10は、第2の実施の形態のキーワード認識処理を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(ステップS21)キーワード認識処理部132は、レイアウト認識処理部131によるレイアウト認識処理の結果をRAM103またはHDD104上の所定領域に退避させる。
(ステップS22)キーワード認識処理部132は、キーワード認識処理の対象領域の特定を領域特定部140に依頼する。領域特定部140は、帳票画像300bから領域識別情報340を検出する。例えば、領域特定部140には、領域識別情報340に関する情報(形状の種類、線の太さ、実線・破線といった線の種別など)が予め設定される。ここで、形状の種類とは、矩形の枠線である、楕円形の枠線である、多角形の頂点に付された記号(その記号がどのようなものかを含む)である、などの情報である。領域特定部140は、該情報に基づき、帳票画像300bから領域識別情報340を検出できる。領域特定部140は、特定した処理対象領域を示す領域情報をキーワード認識処理部132に出力する。領域情報は、例えば、処理対象領域の各頂点の座標値である。領域特定部140は、処理対象領域を複数検出した場合には、複数の領域情報をキーワード認識処理部132に出力する。
(ステップS23)キーワード認識処理部132は、領域特定部140から取得した領域情報に基づき、そのうちの1つの未処理領域のカラーイメージを帳票300aの帳票画像から抽出する。例えば、キーワード認識処理部132は、領域識別情報340内の領域(処理対象領域)のカラーイメージを抽出する。
(ステップS24)キーワード認識処理部132は、ステップS23でカラーイメージを取得した処理対象領域からキーワードを1つ抽出する。例えば、キーワード認識処理部132は、処理対象領域に含まれる枠線を検出して、該枠線で囲われる枠ごとにキーワードの抽出を試みる。例えば、キーワード認識処理部132は、記入欄331aに含まれるキーワード“電話番号”を抽出する。
(ステップS25)キーワード認識処理部132は、帳票300aの帳票IDおよび記憶部110に記憶されたレイアウト定義テーブル111を参照して、該キーワードが帳票300aに含まれ得るデータ項目名に一致するか否か判定する。一致する場合、処理をステップS26に進める。一致しない場合、該キーワードを破棄して、処理をステップS29に進める。例えば、キーワード認識処理部132は、キーワード“電話番号”が、帳票300aの帳票ID“200101”の上4桁“2001”に対応付けられて、レイアウト定義テーブル111に設定されていることを検知する。この場合、該キーワード“電話番号“が帳票300aに含まれ得るデータ項目名に一致すると判定する。また、該キーワードが存在するセルが見出し部分のセルである。ここで、セルは、ドロップアウト色の枠線で囲われた1つの枠を示す。
(ステップS26)キーワード認識処理部132は、該データ項目に対する記入欄の位置(データ部)を特定する。例えば、データ部の位置は、「キーワードが存在するセルの右側に隣接するセル」のようにキーワード認識処理部132に予め設定される。あるいは、キーワードや、帳票300a上の表構造に基づき、該キーワードに対応するデータ部を特定してもよい。キーワードとデータ部との対応付け方法としては、例えば、特開2010−3155号公報に記載された方法を用いることができる。
(ステップS27)キーワード認識処理部132は、データ部の特徴を解析し、データ部のイメージに対して枠線やノイズなどを除去し、文字認識に適したイメージに加工する。
(ステップS28)キーワード認識処理部132は、データ部に記入された文字画像を取得する。キーワード認識処理部132は、該文字画像と予め記憶部110に格納された文字パターンとの照合を行い、該データ部に記入された文字列データを取得する。例えば、キーワード認識処理部132は、データ項目“電話番号”に対して文字列データ“000−0000−0000”を取得する。
(ステップS29)キーワード認識処理部132は、現在の処理対象領域内でキーワードを未抽出の箇所が存在するか否かを判定する。キーワード未抽出の箇所が存在する場合、処理をステップS24に進める。キーワード未抽出の箇所が存在しない場合、処理をステップS30に進める。
(ステップS30)キーワード認識処理部132は、現在の処理対象領域以外にも、未処理の処理対象領域が存在するか否かを判定する。未処理の処理対象領域が存在する場合、処理をステップS23に進める。全ての処理対象領域につき処理済の場合、処理をステップS31に進める。
(ステップS31)キーワード認識処理部132は、一時退避させたレイアウト認識処理の結果とキーワード認識の結果とをマージする。具体的には、レイアウト定義テーブル111に定義された帳票300aのデータ項目のうち、レイアウト認識処理では取得できなかったものを、キーワード認識処理で取得した内容で補完する。
このようにして、キーワード認識処理部132は、帳票300aの変更された領域につき、キーワード認識による文字認識を行う。
図11は、第2の実施の形態のキーワード認識対象領域の例を示す図である。キーワード認識対象領域は、領域識別情報340の内側の領域である。該領域内には、キーワード351,352,353も示されている。
キーワード351は、文字列“電話番号”を示しており、記憶部110に記憶されたレイアウト定義テーブル111によれば、帳票300aの帳票画像内に含まれ得るデータ項目名“電話番号”に一致する。
キーワード352は、文字列“性別”を示しており、帳票300aの帳票画像内に含まれ得るデータ項目名“性別”に一致する。
キーワード353は、文字列“生年月日”を示しており、帳票300aの帳票画像内に含まれ得るデータ項目名“生年月日”に一致する。
キーワード認識処理部132は、キーワード351を検出すると、キーワード351が存在するセルの右側に隣接するセル351aをデータ部と特定する。そして、キーワード認識処理部132は、データ項目“電話番号”に対して文字列データ“000−0000−0000”を取得する。なお、キーワード351を含むセルおよびセル351aが図5で示した記入欄331aに対応する。
また、キーワード認識処理部132は、キーワード352を検出すると、キーワード352が存在するセルの右側に隣接するセル352aをデータ部と特定する。そして、キーワード認識処理部132は、データ項目“性別”に対して、“男”を選択していることを示す選択記号(チェックマーク)を取得する。このような選択記号も文字列データに含まれる。なお、キーワード352を含むセルおよびセル352aが図5で示した記入欄332aに対応する。
更に、キーワード認識処理部132は、キーワード353を検出するとキーワード353が存在するセルの右側に隣接するセル353aをデータ部と特定する。そして、キーワード認識処理部132は、データ項目“生年月日”に対して、文字列データ“1985”年“11”月“15”日を取得する。なお、キーワード353を含むセルおよびセル353aが図5で示した記入欄333aに対応する。
なお、該領域内には、“男”、“女”、“年”、“月”、“日”などの他の文字も含まれている。しかし、これらは何れもレイアウト定義テーブル111内で帳票300a内のデータ項目名として定義されていない。よって、キーワード認識処理部132は、これら他の文字に関しては、データ項目名とはみなさない。
図12は、第2の実施の形態の帳票IDの例を示す図である。帳票ID310aの印字方法は、上記の方法に限られない。例えば、次のように印字してもよい。
図12(A)では、帳票ID310bが示されている。帳票ID310bは、帳票ID310と帳票ID310の下側に印字された枝番311との組み合せにより、帳票300aが改訂後のものであることを示している。枝番311は、“01”などの数値により表されている。
図12(B)では、帳票ID310cが示されている。帳票ID310cは、帳票ID310と、帳票ID310の位置から紙面に向かって右下側に印字された枝番311aとの組み合わせにより、帳票300aが改訂後のものであることを示している。枝番311aは、“01”などの数値により表されている。
図12(A)(B)では、該帳票が改訂されていない場合には、枝番311,311aを“00”とするか、あるいは枝番311,311aを印字しないようにすることが考えられる。
図12(C)では、帳票ID310dが示されている。帳票ID310dは、帳票ID310と、帳票ID310の位置から紙面に向かって右側に印字された枝番311bとの組み合わせにより、帳票300aが改訂後のものであることを示している。枝番311bは、“R”などの文字(または文字列)により表されている。
図12(C)では、該帳票が改訂されていない場合には、枝番311bを他の文字(または文字列)とするか、あるいは枝番311bを印字しないようにすることが考えられる。
このように、帳票IDの表記方法には種々の方法を採れる。上記の例は、その一例であり、上記以外の位置、数値、記号および文字(または文字列)などで帳票IDを表記してもよい。何れの位置または数値などにより、帳票IDが表記されているかは、上述したように帳票ID読取部120に予め設定される。
以上で説明したように、第2の実施の形態の帳票読取装置100によれば、文字認識処理を効率的に行える。具体的には、改訂後の帳票300aにつき、キーワード認識処理を行う領域を領域識別情報340に基づいて特定する。帳票読取装置100は、該領域に対してキーワード認識処理を行い、それ以外の領域に対してはキーワード認識処理を行わない。すなわち、余計な領域に対してキーワード認識処理が行われるのを抑止でき、余分な処理時間がかからずに済む。
また、キーワード認識処理を行わない領域に対しては、既存のレイアウト定義テーブル111に基づくレイアウト認識処理により、文字認識できる。よって、レイアウト認識と併用する場合に特に有効である。具体的には、レイアウト認識処理は、既定位置の情報を読み取るため、キーワード認識処理に比べて、処理時間は一般的に短い。したがって、帳票読取装置100のように、キーワード認識処理の対象領域を絞り込むことで、レイアウト認識による処理効率の良さを享受しながら、帳票のレイアウトを柔軟に変更可能となる。
ここで、金融機関では、キャンペーン時などの短期間の間だけ一時的に、所定の帳票の一部箇所のレイアウトの変更を行いたい場合がある。具体的には、キャンペーンのお知らせ欄を広く確保して既存レイアウトの配置に影響を与える場合や、キャンペーン時のみ顧客へ記入を要求する記入欄を設ける場合などが考えられる。その場合、恒久的なレイアウト変更を行うケースに比べて、システム変更の作業負担や文字認識の処理効率に与える影響などをできるだけ抑えて、レイアウト変更に容易に対応できることが特に望まれる。帳票読取装置100によれば、上述のように改訂の対象となった一部箇所に絞ってキーワード認識処理が行われる。これにより、レイアウト定義の変更作業や文字認識の処理効率に与える影響を抑えた文字認識処理を実現できる。
[第3の実施の形態]
以下、第3の実施の形態を説明する。前述の第2の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
第2の実施の形態では、領域識別情報が帳票上に複数存在してもよいことを説明した。この場合、複数の領域識別情報で示される複数の処理対象領域内に、同一のデータ項目名(キーワード)が含まれることがある。このとき、同一のデータ項目名であっても、同一の用途であるとは限らない。例えば、1つの帳票で複数の取引に対応した帳票が利用されることがある。例えば、ある口座からの現金の出金と該口座から他口座への振替との2つの取引に対応可能な帳票が考えられる。より具体的には、(1)第1の口座番号で示される第1の口座からの現金の出金、および(2)該第1の口座から第2の口座番号で示される第2の口座への振替である。
その場合、第1の口座番号と第2の口座番号が該帳票に記入され得るが、これらをキーワード認識で文字認識すると、何れの口座番号が出金元口座番号で、何れの口座番号が振替先口座番号であるか区別するのが困難な場合がある。具体的には、帳票上に印字されているキーワードが何れも“口座番号”である場合である。この場合、キーワードとレイアウト定義情報内のデータ項目名とを単に照合したとしても、各“口座番号”の用途を区別するのが困難となる。
そこで、第3の実施の形態では、複数の処理対象領域内に同一のデータ項目名が含まれていたとしても、各データの用途を区別して文字列データを取得する機能を提供する。
ここで、第3の実施の形態の情報処理システムの構成は、図2で説明した第2の実施の形態の情報処理システムの構成と同様である。また、第3の実施の形態の帳票読取装置のハードウェアおよび機能構成は、図3,6で説明した第2の実施の形態の帳票読取装置100のハードウェアおよび機能構成と同様である。以下、第3の実施の形態の帳票読取装置も帳票読取装置100と同一の符号・名称を用いて各構成を指し示すものとする。
図13は、第3の実施の形態の改訂後の帳票の例を示す図である。帳票400は、領域識別情報で示されるキーワード認識処理の対象領域が複数存在する場合を例示している。帳票400には、帳票ID410、記入欄群420、記入欄群430、領域識別情報441,442,443,444,460および記入欄群450が印字されている。
帳票ID410は、帳票の種別を識別するための識別情報である。帳票ID410として、“300101”が印字されている。帳票ID410の上4ケタの数値“3001”は、帳票400が現金の出金および口座間の振替の取引を行うための帳票であることを示す。帳票ID410の下2桁の数値“01”は、帳票400が改訂後の版数“01”の帳票であることを示す。
記入欄群420,430,450は、顧客に入力させる複数の記入欄を印字した領域である。
記入欄群420は、記入欄421,422,423を含む。記入欄421は、申込日を記入させるための欄である。記入欄422は、口座名義人の氏名を記入させるための欄である。記入欄423は、届け印を押印させるための欄である。
記入欄群430には、出金元口座の情報を記入するための記入欄が設けられている。記入欄群430は、記入欄431,432,433,434を含む。記入欄431は、店番を記入させるための欄である。記入欄432は、出金元口座の口座番号を記入させるための欄である。記入欄433は、出金元口座の預金科目を選択させるための欄である。記入欄434は、出金する金額を記入させるための欄である。
領域識別情報441,442,443,444は、記入欄群430を囲うカギ型の領域識別情報である。4つの領域識別情報441,442,443,444が1セットでキーワード認識のための1つの処理対象領域を示している。具体的には、領域識別情報441,442,443,444を頂点とした四角形で囲われる領域内が、該処理対象領域である。
記入欄群450には、振替先口座の情報を記入するための記入欄が設けられている。記入欄群450は、記入欄451,452,453,454を含む。記入欄451は、振替先口座の預金科目を選択させるための欄である。記入欄452は、店番を記入させるための欄である。記入欄453は、振替先口座の口座番号を記入させるための欄である。記入欄454は、振替先口座の口座名義人を記入させるための欄である。
領域識別情報460は、記入欄群450を囲う線であり、四角形の各辺を形成している。
記入欄群420,430,450の各欄の枠線および帳票400上の一部箇所には、ドロップアウト色が付される。領域識別情報441,442,443,444,460には、ドロップアウト色以外の色が付される。
帳票400によれば、記入欄群420,430のみに記入することで、記入欄群430で指定した口座から現金を出金できる。更に、記入欄群450に振替先の口座を指定することで、記入欄群430で指定した口座から、記入欄群450で指定した口座への預金の振替を行える。
このように、帳票400には、出金元口座用の記入欄群430に対しては、カギ型の領域識別情報441,442,443,444が予め印字される。また、帳票400には、振替先口座用の記入欄群450には、(カギ型とは異なる形状の)四角形の各辺を形成する線である領域識別情報460が予め印字される。
次に、以上の構成の帳票読取装置100の処理手順を説明する。なお、第3の実施の形態の帳票読取処理の手順は、図8で説明した第2の実施の形態の帳票読取処理の手順と同様である。続いて、該帳票読取処理のステップS15で説明したキーワード認識処理の手順を説明する。以下、RAM103上には次の情報が取得されているものとする。
(1)「帳票400の帳票画像」
(2)「帳票400の帳票画像」にドロップアウト処理を実行して得られた「ドロップアウト処理後の帳票画像」
何れの帳票画像においても、領域識別情報441,442,443,444,460を同一の符号で指し示すものとする。
図14は、第3の実施の形態のキーワード認識処理を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(ステップS41)キーワード認識処理部132は、レイアウト認識処理部131によるレイアウト認識処理の結果をRAM103またはHDD104上の所定領域に退避させる。
(ステップS42)キーワード認識処理部132は、キーワード認識処理の対象領域の特定を領域特定部140に依頼する。領域特定部140は、ドロップアウト処理後の帳票画像から領域識別情報441,442,443,444,460を検出する。例えば、領域特定部140には、領域識別情報441,442,443,444,460に関する情報(形状の種類、線の太さ、実線・破線といった線の種別など)が予め設定される。領域特定部140は、該情報に基づき、ドロップアウト処理後の帳票画像から領域識別情報441,442,443,444,460を検出できる。領域特定部140は、特定した処理対象領域を示す領域情報をキーワード認識処理部132に出力する。領域情報は、例えば、処理対象領域の各頂点の座標値である。また、領域特定部140は、領域情報と共に、検出した領域識別情報の種類(矩形かカギ型かなど)をキーワード認識処理部132に出力する。
(ステップS43)キーワード認識処理部132は、領域特定部140から取得した領域情報に基づき、そのうちの1つの未処理領域のカラーイメージを帳票400の帳票画像から抽出する。例えば、キーワード認識処理部132は、領域識別情報441,442,443,444で囲われる領域内のカラーイメージを抽出する。
(ステップS44)キーワード認識処理部132は、ステップS43でカラーイメージを取得した処理対象領域からキーワードを1つ抽出する。例えば、キーワード認識処理部132は、処理対象領域に含まれる枠線を検出して、該枠線で囲われる枠ごとにキーワードの抽出を試みる。例えば、キーワード認識処理部132は、記入欄432に対して、キーワード“口座番号”を抽出する。
(ステップS45)キーワード認識処理部132は、帳票400の帳票IDおよび記憶部110に記憶されたレイアウト定義テーブル111を参照して、該キーワードが帳票400に含まれ得るデータ項目名に一致するか否か判定する。一致する場合、処理をステップS46に進める。一致しない場合、該キーワードを破棄して、処理をステップS52に進める。例えば、キーワード“口座番号”は、帳票400に含まれ得るデータ項目名に一致するものとする。
(ステップS46)キーワード認識処理部132は、該データ項目に対する記入欄の位置(データ部)を特定する。例えば、データ部の位置は、「キーワードが存在するセルの右側に隣接するセル」のようにキーワード認識処理部132に予め設定される。あるいは、キーワードや、帳票400上の表構造に基づき、該キーワードに対応するデータ部を特定してもよい。
(ステップS47)キーワード認識処理部132は、データ部の特徴を解析し、データ部のイメージに対して枠線やノイズなどを除去し、文字認識に適したイメージに加工する。
(ステップS48)キーワード認識処理部132は、データ部に記入された文字画像を取得する。キーワード認識処理部132は、該文字画像と予め記憶部110に格納された文字パターンとの照合を行い、該データ部に記入された文字列データを取得する。例えば、キーワード認識処理部132は、キーワード“口座番号”に対して、文字列データ“9999999”を取得する。
(ステップS49)キーワード認識処理部132は、現在の処理対象領域に対応する領域識別情報の種類を判定する。該領域識別情報の形状の種類が、カギ型の場合、処理をステップS50に進める。該領域識別情報の形状の種類が矩形の場合、処理をステップS51に進める。例えば、領域識別情報441,442,443,444で囲われた領域であれば、領域識別情報の種類は、「カギ型」となる。
(ステップS50)キーワード認識処理部132は、ステップS48で取得した文字列データを出金元のデータとして取得する。これにより、例えば、領域識別情報441,442,443,444で囲われた処理対象領域から取得した、“口座番号”“9999999”を出金元口座の口座番号として扱える。そして、処理をステップS52に進める。
(ステップS51)キーワード認識処理部132は、ステップS48で取得した文字列データを振替先のデータとして取得する。これにより、例えば、領域識別情報460で囲われた処理対象領域から取得した“口座番号”“8888888”を振替先口座の口座番号として扱える。そして、処理をステップS52に進める。
(ステップS52)キーワード認識処理部132は、現在の処理対象領域内でキーワードを未抽出の箇所が存在するか否かを判定する。キーワード未抽出の箇所が存在する場合、処理をステップS44に進める。キーワード未抽出の箇所が存在しない場合、処理をステップS53に進める。
(ステップS53)キーワード認識処理部132は、現在の処理対象領域以外にも、未処理の処理対象領域が存在するか否かを判定する。未処理の処理対象領域が存在する場合、処理をステップS43に進める。全ての処理対象領域につき処理済の場合、処理をステップS54に進める。
(ステップS54)キーワード認識処理部132は、一時退避させたレイアウト認識処理の結果とキーワード認識処理の結果とをマージする。具体的には、レイアウト定義テーブル111に定義された帳票400のデータ項目のうち、レイアウト認識処理では取得できなかったものを、キーワード認識処理で取得した内容で補完する。
このように、キーワード認識処理部132は、領域識別情報の種類に応じて、認識した文字列データを区別する。何れの領域識別情報が、何れの取引に対応するかは、キーワード認識処理部132に予め設定される。ステップS49〜S51で例示した領域識別情報の種類と取引(データの用途)との対応付けは、一例であり、他にも種々の対応付けが考えられる。例えば、領域識別情報を区別する方法としては、次の内容が考えられる。
(A1)領域識別情報の線の種別(点線・破線・一点鎖線など)。
(A2)領域識別情報の形状(矩形・楕円形など)。
(A3)領域識別情報の線の太さ(太い・細いなど)。
(A4)領域識別情報の色(濃い・薄いなど)。
(A5)処理対象領域の頂点に配置させる領域識別情報の形状(カギ型など)。
上記(A1)〜(A5)の何れか1つに基づいて領域識別情報を区別してもよいし、(A1)〜(A5)を組み合わせて区別してもよい。更に、区別した各領域識別情報を以下に示す何れかの用途に対応付けることが考えられる。
(B1)現金や振替による入金をする場合の入金先口座に関する情報。
(B2)現金や振替による出金をする場合の出金元口座に関する情報。
キーワード認識処理部132は、領域識別情報を区別することで、文字列データが何れの取引に用いられるものであるか(すなわち、文字列データの用途)を区別できる。上記用途以外の用途に対応付けてもよい。
このようにして、第3の実施の形態の帳票読取装置100は、複数の取引に対応可能な帳票において、複数の処理対象領域内に同一のデータ項目名が含まれても、各データ項目の用途を区別して文字列データを取得できる。
これにより、レイアウト変更のあった帳票に対する文字認識処理を一層効率的に行うことが可能となる。
[第4の実施の形態]
以下、第4の実施の形態を説明する。前述の第2,第3の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
第2,第3の実施の形態では、レイアウト認識処理を行った後に、キーワード認識処理の要否を判定するものとした。一方、キーワード認識処理の対象となる領域に対しては、レイアウト認識処理を行わなくてもよい。このようにすれば、処理効率の一層の効率化を図れる。そこで、第4の実施の形態では、キーワード認識処理の対象となる領域に対して、レイアウト認識処理を抑止する機能を提供する。
ここで、第4の実施の形態の情報処理システムの構成は、図2で説明した第2の実施の形態の情報処理システムの構成と同様である。また、第4の実施の形態の帳票読取装置のハードウェアおよび機能構成は、図3,6で説明した第2の実施の形態の帳票読取装置100のハードウェアおよび機能構成と同様である。以下、第4の実施の形態の帳票読取装置も帳票読取装置100と同一の符号・名称を用いて各構成を指し示すものとする。
図15は、第4の実施の形態の改訂前の帳票の例を示す図である。帳票500は、改訂前の(既存の)帳票を例示している。帳票500には、帳票ID510および記入欄群520,530が印字されている。
帳票ID510は、帳票の種別を識別するための識別情報である。帳票ID510として、“100100”が印字されている。帳票ID510の上4桁の数値“1001”は、帳票500が口座に対して現金を入金する取引を行うための帳票であることを示す。帳票ID510の下2桁の数値“00”は、帳票500が改訂されたものではないことを示す。
記入欄群520は、顧客に記入させる複数の記入欄を印字した領域である。記入欄群520は、記入欄521,522,523,524,525,526を含む。記入欄521は、申込日を記入させるための欄である。記入欄522は、口座名義人の氏名を記入させるための欄である。記入欄523は、店番を記入させるための欄である。記入欄524は、口座番号を記入させるための欄である。記入欄525は、入金先口座の預金科目を選択させるための欄である。記入欄526は、入金する金額を記入させるための欄である。
記入欄群530は、金融機関の職員が業務に用いる情報を記入する欄である。記入欄群530は、レイアウト認識処理の非対象領域である。
記入欄群520,530の各欄の枠線および帳票500上の一部箇所にはドロップアウト色が付される。
図16は、第4の実施の形態の改訂後の帳票の例を示す図である。帳票500aは、帳票500に対する改訂後の帳票を例示している。帳票500aには、帳票ID510a、記入欄群520a,530a、通知欄540および領域識別情報550が印字されている。
帳票ID510aは、帳票の種別を識別するための識別情報である。帳票ID510aとして、“100101”が印字されている。帳票ID510aの上4桁の数値“1001”は、帳票500aが口座に対して現金を入金する取引を行うための帳票であることを示す。帳票ID510aの下2桁の数値“01”は、帳票500aが改訂後の版数“01”であることを示す。
記入欄群520aは、顧客に入力させる複数の記入欄を印字した領域である。記入欄群520aは、記入欄521a,522a,523a,524a,525a,526aを含む。記入欄521aは、申込日を記入させるための欄である。記入欄522aは、口座名義人の氏名を記入させるための欄である。記入欄523aは、店番を記入させるための欄である。記入欄524aは、入金先口座の口座番号を記入させるための欄である。記入欄525aは、入金先口座の預金科目を選択させるための欄である。記入欄526aは、入金する金額を記入させるための欄である。
記入欄群530aは、金融機関の職員が業務に用いる情報を記入する欄である。
通知欄540は、顧客に通知したいメッセージが印字される領域である。
記入欄群530aおよび通知欄540は、レイアウト認識処理の非対象領域である。
記入欄群520a,530a,通知欄540の各欄の枠線および帳票500a上の一部箇所には、ドロップアウト色が付される。領域識別情報550には、ドロップアウト色以外の色が付される。
次に、以上の構成の帳票読取装置100の処理手順を説明する。
図17は、第4の実施の形態の帳票読取処理を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(ステップS61)帳票ID読取部120は、イメージスキャナ14から受信した帳票画像をRAM103上の所定領域に格納する。帳票ID読取部120は、該帳票画像に対してドロップアウト処理を行い、ドロップアウト処理後の帳票画像をRAM103上の他の所定領域に格納する。
(ステップS62)帳票ID読取部120は、ドロップアウト処理後の帳票画像から帳票IDを認識する。帳票ID読取部120は、読み取った帳票IDを文字認識処理部130に出力する。
(ステップS63)文字認識処理部130は、帳票ID読取部120から取得した帳票IDの下2桁が“01”以上であるか否かを判定する。“01”以上である場合(すなわち、改訂された帳票である場合)、処理をステップS65に進める。“01”以上でない場合(すなわち、改訂された帳票でない場合)、処理をステップS64に進める。
(ステップS64)文字認識処理部130は、レイアウト認識処理部131に処理を委譲し、レイアウト認識処理を実行させる。レイアウト認識処理部131は、帳票ID読取部120から取得した帳票IDに基づいて、記憶部110に記憶されたレイアウト定義テーブル111を参照し、ドロップアウト処理後の帳票画像に対してレイアウト認識による文字認識処理を行う。
(ステップS65)文字認識処理部130は、キーワード認識処理部132に処理を委譲し、キーワード認識処理を実行させる。該キーワード認識処理については後述する。
(ステップS66)文字認識処理部130は、帳票画像に対する文字認識結果を出力し、モニタ11に該結果を表示させる。
このように、文字認識処理部130は、レイアウト認識を行う前に帳票の改訂の有無を判断する。そして、ステップS65におけるキーワード認識処理を次のように行う。
なお、以下、RAM103上には次の情報が取得されているものとする。
(1)「帳票500aの帳票画像」
(2)「帳票500aの帳票画像」にドロップアウト処理を実行して得られた「ドロップアウト処理後の帳票画像」
何れの帳票画像においても、領域識別情報550を同一の符号で指し示すものとする。
図18は、第4の実施の形態のキーワード認識処理を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
(ステップS71)キーワード認識処理部132は、キーワード認識処理の対象領域の特定を領域特定部140に依頼する。領域特定部140は、ドロップアウト処理後の帳票画像から領域識別情報550を検出する。例えば、領域特定部140には、領域識別情報550に関する情報(形状の種類、線の太さ、実線・破線といった線の種別など)が予め設定される。領域特定部140は、該情報に基づき、ドロップアウト処理後の帳票画像から領域識別情報550を検出できる。領域特定部140は、特定した処理対象領域を示す領域情報をキーワード認識処理部132に出力する。領域情報は、例えば、処理対象領域の各頂点の座標値である。
(ステップS72)キーワード認識処理部132は、領域特定部140から取得した領域情報と、記憶部110に記憶されたレイアウト定義テーブル111と、を参照して、レイアウト認識の対象領域が存在するか否かを判定する。存在する場合、処理をステップS73に進める。存在しない場合、処理をステップS75に進める。ここで、レイアウト認識の対象領域が存在するか否かは、例えば次のようにして判定できる。まず、キーワード認識処理部132は、領域情報に基づいて、キーワード認識の対象となっている領域を特定する。次に、キーワード認識処理部132は、レイアウト定義テーブル111に基づいて、帳票500のレイアウト認識の対象領域を特定する。そして、キーワード認識処理部132は、キーワード認識の対象領域とレイアウト認識の対象領域とを重ね合わせて、レイアウト認識の対象領域がキーワード認識の対象領域からはみ出すか否かを判断する。はみ出せば、レイアウト認識の対象領域が存在すると判断できる。はみ出さなければ、レイアウト認識の対象領域がキーワード認識の対象領域に包含されるので、レイアウト認識の対象領域が存在しないと判断できる。
(ステップS73)キーワード認識処理部132は、はみ出した領域を示す情報(例えば、該領域の頂点の座標値)をレイアウト認識処理部131に出力し、レイアウト認識処理を実行させる。レイアウト認識処理部131は、レイアウト定義テーブル111を参照して、該領域に含まれる記入欄につきレイアウト認識処理を実行し、キーワード認識処理部132にその結果を出力する。
(ステップS74)キーワード認識処理部132は、レイアウト認識処理部131によるレイアウト認識の処理結果をRAM103またはHDD104上の所定領域に退避させる。
(ステップS75)キーワード認識処理部132は、領域特定部140から取得した領域情報に基づき、そのうちの1つの未処理領域のカラーイメージを帳票500aの帳票画像から抽出する。
(ステップS76)キーワード認識処理部132は、ステップS75でカラーイメージを取得した処理対象領域からキーワードを1つ抽出する。例えば、キーワード認識処理部132は、処理対象領域に含まれる枠線を検出して、該枠線で囲われる枠ごとにキーワードの抽出を試みる。
(ステップS77)キーワード認識処理部132は、帳票500aの帳票IDおよびレイアウト定義テーブル111を参照して、該キーワードが帳票500aに含まれ得るデータ項目名に一致するか否か判定する。一致する場合、処理をステップS78に進める。一致しない場合、処理をステップS81に進める。
(ステップS78)キーワード認識処理部132は、該データ項目に対する記入欄の位置(データ部)を特定する。例えば、データ部の位置は、「キーワードが存在するセルの右側に隣接するセル」のようにキーワード認識処理部132に予め設定される。あるいは、キーワードや、帳票500a上の表構造に基づき、該キーワードに対応するデータ部を特定してもよい。
(ステップS79)キーワード認識処理部132は、データ部の特徴を解析し、データ部のイメージに対して枠線やノイズなどを除去し、文字認識に適したイメージに加工する。
(ステップS80)キーワード認識処理部132は、データ部に記入された文字画像を取得する。キーワード認識処理部132は、該文字画像と予め記憶部110に格納された文字パターンとの照合を行い、該データ部に記入された文字列データを取得する。
(ステップS81)キーワード認識処理部132は、現在の処理対象領域内でキーワードを未抽出の箇所が存在するか否かを判定する。キーワード未抽出の箇所が存在する場合、処理をステップS76に進める。キーワード未抽出の箇所が存在しない場合、処理をステップS82に進める。
(ステップS82)キーワード認識処理部132は、現在の処理対象領域以外にも、未処理の処理対象領域が存在するか否かを判定する。未処理の処理対象領域が存在する場合、処理をステップS75に進める。全ての処理対象領域につき処理済の場合、処理をステップS83に進める。
(ステップS83)キーワード認識処理部132は、一時退避させたレイアウト認識処理の結果とキーワード認識処理の結果とをマージする。具体的には、レイアウト定義テーブル111に定義された帳票500aのデータ項目のうち、レイアウト認識処理では取得できなかったものを、キーワード認識処理で取得した内容で補完する。
このように、レイアウト認識処理部131は、キーワード認識処理の対象外の領域に対して、レイアウト認識による文字認識を実行する。
図19は、第4の実施の形態の各文字認識の対象領域の第1の例を示す図である。図19(A)は、改訂前の帳票500を示している。図19(B)は、改訂後の帳票500aを示している。
帳票500には、レイアウト認識対象領域560が含まれる。レイアウト認識対象領域560は、記入欄群520が占める領域と同一である。
帳票500aには、キーワード認識対象領域550aが含まれる。キーワード認識対象領域550aは、領域識別情報550で囲われる領域と同一である。ここで、帳票500aには、帳票500におけるレイアウト認識対象領域560の枠線も図示されている。帳票500aでは、キーワード認識対象領域550aにレイアウト認識対象領域560が包含されている。したがって、帳票読取装置100は、帳票500aの帳票画像に対してレイアウト認識処理を実行しない。帳票読取装置100は、帳票500aの帳票画像のうち、キーワード認識対象領域550aに対してキーワード認識処理を実行する。
図20は、第4の実施の形態の各文字認識の対象領域の第2の例を示す図である。図20(A)は、改訂前の帳票600を示している。図20(B)は、帳票600に対する改訂後の帳票600aを示している。
帳票600には、レイアウト認識対象領域610が含まれる。
帳票600aには、レイアウト認識対象領域610aおよびキーワード認識対象領域620が含まれる。ここで、レイアウト認識対象領域610aは、帳票600,600aを重ねたときに、レイアウト認識対象領域610から、キーワード認識対象領域620と重なる領域を除いた領域に等しい。帳票読取装置100は、レイアウト認識対象領域610のうち、キーワード認識対象領域620からはみ出るレイアウト認識対象領域610aに対してレイアウト認識を実行する。更に、帳票読取装置100は、キーワード認識対象領域620に対してキーワード認識を実行する。
このように、第4の実施の形態の帳票読取装置100によれば、キーワード認識の処理対象領域と被らない領域に対してレイアウト認識を行う。これにより、文字認識を一層効率的に行える。
なお、改訂後にキーワード認識対象領域が複数存在する場合も考えられる。この場合、該複数のキーワード認識対象領域と、改訂前のレイアウト認識対象領域と、の重複の有無を判断する。そして、改訂後の帳票につき、重複しない領域に対してレイアウト認識処理を行えばよい。
[第5の実施の形態]
以下、第5の実施の形態を説明する。前述の第2〜第4の実施の形態との相違点を主に説明し、同様の事項の説明を省略する。
第2〜第4の実施の形態では、キーワード認識処理の際、検出したキーワードに対するデータ部の位置を、所定位置と特定したり、帳票の表構造などに基づいて特定したりすることを説明した。
一方、該データ部を任意に配置して、より自由度の高いレイアウト変更に対応できることが望ましい。例えば、キーワードの存在するセルの下側のセルをデータ部に対応させる記入欄と、キーワードの存在するセルの右下側のセルをデータ部に対応させる記入欄と、を混在させたい場合が考えられる。また、このようにキーワードの存在するセルに対する任意の位置にデータ部を配置したときに、データ部を容易に特定できることが望ましい。例えば、帳票の表構造などを解析する場合には、該解析の処理による負荷が大きくなることもあるからである。
そこで、第5の実施の形態では、データ部を容易に特定可能としながら、より自由度の高いレイアウト変更に対応可能とするための機能を提供する。
ここで、第5の実施の形態の情報処理システムの構成は、図2で説明した第2の実施の形態の情報処理システムの構成と同様である。また、第5の実施の形態の帳票読取装置のハードウェアおよび機能構成は、図3,6で説明した第2の実施の形態の帳票読取装置100のハードウェアおよび機能構成と同様である。以下、第5の実施の形態の帳票読取装置も帳票読取装置100と同一の符号・名称を用いて各構成を指し示すものとする。
図21は、第5の実施の形態のキーワード認識対象領域の例を示す図である。キーワード認識対象領域は、領域識別情報340の内側の領域である。該領域内には、記入欄331b,332b,333bが含まれる。記入欄331b,332b,333bは、図5で説明した記入欄331a,332a,333aにそれぞれ対応する。
記入欄331bの見出し部分のセルには、キーワード351および支援情報351bが印字されている。
キーワード351は、文字列“電話番号”を示している。これは、該帳票の帳票画像内に含まれ得るデータ項目名に一致するものとする。支援情報351bは、キーワード351が存在するセルに対するデータ部の位置を示す記号である。支援情報351bは、数字“1”であり、キーワード351が存在するセルに隣接する、図21の紙面に向かって右側のセルがデータ部であることを示す。キーワード認識処理部132は、支援情報351bに基づいて、キーワード351に対するデータ部を特定できる。例えば、キーワード認識処理部132は、データ項目“電話番号”に対して右側に隣接するセルを参照し、文字列データ“000−0000−0000”を取得する。
記入欄332bの見出し部分のセルには、キーワード352および支援情報352bが印字されている。
キーワード352は、文字列“性別”を示している。これは、該帳票の帳票画像内に含まれ得るデータ項目名に一致するものとする。支援情報352bは、キーワード352が存在するセルに対するデータ部の位置を示す記号である。支援情報352bは、数字“2”であり、キーワード352が存在するセルに隣接する、図21の紙面に向かって下側のセルがデータ部であることを示す。キーワード認識処理部132は、支援情報352bに基づいて、キーワード352に対するデータ部を特定できる。例えば、キーワード認識処理部132は、データ項目“性別”に対して下側に隣接するセルを参照し、“男”を選択していることを示す選択記号(チェックマーク)を取得する。
記入欄333bの見出し部分のセルには、キーワード353および支援情報353bが印字されている。
キーワード353は、文字列“生年月日”を示している。これは、該帳票の帳票画像内に含まれ得るデータ項目名に一致するものとする。支援情報353bの意味は、支援情報352bと同様である。キーワード認識処理部132は、支援情報353bに基づいて、キーワード353に対するデータ部を特定できる。これにより、キーワード認識処理部132は、データ項目“生年月日”に対して下側に隣接するセルを参照し、文字列データ“1985”年“11”月“15”日を取得する。
次に、以上の構成の帳票読取装置100の処理手順を説明する。なお、第5の実施の形態の帳票読取処理の手順は図8で説明した第2の実施の形態の帳票読取処理の手順と同様である。
また、第5の実施の形態のキーワード認識処理の手順は、図10で説明した第2の実施の形態のキーワード認識処理の手順と同様である。ただし、該キーワード認識処理のステップS26におけるデータ部を特定するための処理が異なる。以下では、このデータ部を特定するための処理の手順を説明する。
図22は、第5の実施の形態のデータ部の特定処理を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
(ステップS91)キーワード認識処理部132は、抽出したキーワードの存在する付近に支援情報が存在するか否かを判定する。支援情報が存在する場合、処理をステップS92に進める。支援情報が存在しない場合、処理をステップS93に進める。ここで、キーワードの存在する付近に支援情報が存在するか否かは、例えば、次の方法により判断できる。具体的には、キーワード認識処理部132にキーワードに対する支援情報の相対的な位置と支援情報のフォーマットとを予め設定しておく。キーワード認識処理部132は、キーワードに対する所定位置に該フォーマットに合致する文字列等が印字されているかを判断することで、支援情報の存在の有無を判定する。
(ステップS92)キーワード認識処理部132は、支援情報に応じた位置をデータ部と特定する。図21の例でいえば、支援情報351bに基づいて、キーワード351が存在するセルの右側に隣接するセルをデータ部と特定する。また、支援情報352bに基づいて、キーワード352が存在するセルの下側に隣接するセルをデータ部と特定する。何れの支援情報が、どのような位置を示すかは、キーワード認識処理部132に予め設定される。そして、処理を終了する。
(ステップS93)キーワード認識処理部132は、デフォルトの方法により、抽出したキーワードに対するデータ部を特定する。例えば、キーワード認識処理部132は、所定位置のセル(例えば、「該キーワードが存在するセルの右側に隣接するセル」)をデータ部と特定する。あるいは、キーワードや、帳票上の表構造に基づき、該キーワードに対応するデータ部を特定してもよい。そして、処理を終了する。
このようにして、キーワード認識処理部132は、キーワードとともに印字された支援情報を読み取ることで、該キーワードに対するデータ部を効率的に特定できる。
なお、図21では、数値を支援情報とする場合を例示したが、他の文字(または文字列)、記号などを用いても構わない。
図23は、第5の実施の形態のデータ部の特定方法の例を示す図である。図23(A)は、記入欄700を例示している。記入欄700は、セル701,702を含む。セル701は、見出し部分のセルである。セル701には、キーワード“振込金額”と支援情報“○”(丸印)が印字されている。支援情報“○”は、セル701の右側に隣接するセル702が、該キーワードに対するデータ部のセルであることを示す。よって、キーワード認識処理部132は、記入欄700につき、支援情報“○”に基づいて、セル702を文字認識し、キーワード“振込金額”に対する文字列データ“¥11000”を取得する。
図23(B)は、記入欄710を例示している。記入欄710は、セル711,712を含む。セル711は、見出し部分のセルである。セル711には、キーワード“振込金額”と支援情報“△”(三角印)が印字されている。支援情報“△”は、セル711の右下側のセル712が、該キーワードに対するデータ部のセルであることを示す。よって、キーワード認識処理部132は、記入欄710につき、支援情報“△”に基づいて、セル712を文字認識し、キーワード“振込金額”に対する文字列データ“¥11000”を取得する。
図23(C)は、記入欄720を例示している。記入欄720は、セル721,722を含む。セル721は、見出し部分のセルである。セル721には、キーワード“振込金額”と支援情報“□”(四角印)が印字されている。支援情報“□”は、セル721の下側に隣接するセル722が、該キーワードに対するデータ部のセルであることを示す。よって、キーワード認識処理部132は、記入欄720につき、支援情報“□”に基づいて、セル722を文字認識し、キーワード“振込金額”対する文字列データ“¥11000”を取得する。
以上は一例であり、支援情報には、種々の数値、文字(または文字列)、記号などを利用できる。また、キーワード認識処理部132は、枠線や枠内の領域、キーワードのフォーマットなどとして支援情報を検出し、データ部の位置を特定してもよい。次に、そのような支援情報の例を説明する。
図24は、第5の実施の形態のデータ部の特定方法の他の例を示す図である。図24(A)は、記入欄800を例示している。記入欄800は、セル801,802を含む。セル801は、見出し部分のセルである。そして、セル801の枠内には、該枠の中央からデータ部の方向に対応する一辺の側に、該一辺と平行な罫線が印字される。具体的には、セル801に対するデータ部のセルが該セル801の右側に隣接するセル802であるとき、セル801,802の境界に位置する枠線よりもセル801側(ただし、セル801の中央よりもセル802側)に、該枠線と平行な罫線801aが印字される。キーワード認識処理部132は、罫線801aを支援情報として検出する。そして、キーワード認識処理部132は、セル801内の罫線801aの位置に基づいて、セル802をデータ部として特定する。これにより、キーワード認識処理部132は、セル801内のキーワード“振込金額”に対して、セル802内の文字列データ“¥11000”を取得する。
例えば、セル801の下側に隣接するセルをデータ部とする場合には、セル801の下側の枠線と平行な罫線がセル801内の下側に印字される。キーワード認識処理部132は、該罫線に基づいて、セル801の下側に隣接するセルをデータ部として特定できる。
図24(B)は、記入欄810を例示している。記入欄810は、セル811,812を含む。セル811は、見出し部分のセルである。セル812は、セル811内のキーワードに対応するデータ部のセルである。そして、セル811とセル812との境界線811aが他の枠線とは異なる太さで印字されている。キーワード認識処理部132は、太さの異なる境界線811aに基づいて、データ部の位置を特定する。具体的には、セル811の境界線811aの方向に隣接するセル812をデータ部として特定する。これにより、キーワード認識処理部132は、セル811内のキーワード“振込金額”に対して、セル812内の文字列データ“¥11000”を取得する。
図24(C)は、記入欄820を例示している。記入欄820は、セル821,822を含む。セル821は、見出し部分のセルである。セル821内にはキーワードが横一列に並んだ文字列として“振込金額”と印字される。横一列に並んだ文字列は、セル811の右側に隣接するセルが該キーワードに対応するデータ部であることを示している。キーワード認識処理部132は、セル821内のキーワード“振込金額”を検出し、更に、該キーワードが横一列に並んでいることを検知する。すると、キーワード認識処理部132は、セル821の右側に隣接するセル822をデータ部として特定する。これにより、キーワード認識処理部132は、セル821内のキーワード“振込金額”に対して、セル822内の文字列データ“¥11000”を取得する。
例えば、セル821の下側に隣接するセルをデータ部とする場合には、セル821内のキーワードが縦一列に印字される。また、例えば、セル821の右下側のセルをデータ部とする場合には、セル821の左上から右下へ向かう斜めの一列に並んでキーワードが印字される。キーワード認識処理部132は、このようにキーワードに含まれる文字の並び方によって、該キーワードに対するデータ部のセルを特定する。
図24(D)は、記入欄830を例示している。記入欄830は、セル831,832を含む。セル831は、見出し部分のセルである。セル832は、セル831内のキーワードに対応するデータ部のセルである。セル831の枠内には、所定の色が付されている。記入欄830では、この色によって、セル831に対するセル832の位置を示している。例えば、画像情報中、色は複数のパラメータで表現される。例えば、HSVによる色表現では、色相(hue)、彩度(saturation value)、明度(value)という3つのパラメータで色が表現される。その場合、各パラメータの何れか、あるいは複数のパラメータにより、セル831の上下左右の何れの側に隣接するセルがデータ部であるかを予め定義する。例えば、色相の範囲を4等分して、等分した各範囲を上下左右の何れかに割り当てることが考えられる。彩度や明度を用いる場合も同様である。
セル831内の色は、セル831の右側に隣接するセル832がセル831に対応するデータ部である旨、キーワード認識処理部132に予め設定される。キーワード認識処理部132は、セル831内の色を解析することで、セル831に対応するデータ部のセル832を特定する。これにより、キーワード認識処理部132は、セル831内のキーワード“振込金額”に対して、セル832内の文字列データ“¥11000”を取得する。
なお、画像が2値化されている場合には、ハッチングの種類や、ドットの密度などに応じてデータ部を特定してもよい。
以上のように、帳票読取装置100は、キーワードと共に印字された支援情報を検出して、データ部のセルを特定する。これにより、帳票に対して自由度の高いレイアウト変更が可能になる。加えて、キーワード認識処理において、キーワードに対するデータ部を容易に特定可能となる。