(57)【要約】【課題】帳票の定義データを作成する手間を削減することが可能な技術を提供する。【解決手段】本発明の一側面に係る情報処理装置は、第１帳票のイメージデータと、該第１帳票と同種の帳票であって、該第１帳票には存在しない情報が存在する帳票である第２帳票のイメージデータとを取得する取得部と、前記第１帳票のイメージデータと前記第２帳票のイメージデータとの差分から、前記第２帳票において前記情報が存在する領域を抽出する抽出部と、前記第２帳票における前記抽出された領域の位置を情報の読み取り位置として設定した、前記第１帳票及び第２帳票と同種の帳票の読み取り処理に用いる定義データを作成する定義作成部と、を備える。【選択図】図１
2013182459.tif 000002
【特許請求の範囲】
【請求項１】
第１帳票のイメージデータと、該第１帳票と同種の帳票であって、該第１帳票には存在しない情報が存在する帳票である第２帳票のイメージデータとを取得する取得部と、
前記第１帳票のイメージデータと前記第２帳票のイメージデータとの差分から、前記第２帳票において前記情報が存在する領域を抽出する抽出部と、
前記第２帳票における前記抽出された領域の位置を情報の読み取り位置として設定した、前記第１帳票及び第２帳票と同種の帳票の読み取り処理に用いる定義データを作成する定義作成部と、
を備える情報処理装置。
【請求項２】
前記定義作成部は、前記抽出された領域に対して所定の認識処理を適用することで得られる、前記抽出された領域に存在する情報の属性を、前記抽出された領域に関する属性として前記定義データに設定する、
請求項１に記載の情報処理装置。
【請求項３】
前記抽出部は、前記第１帳票又は前記第２帳票において、前記抽出した領域の位置周辺に存在する、文字が印字されている印字領域を特定し、
前記定義作成部は、前記印字領域から取得される文字により示される名称を、前記抽出された領域の項目名として前記定義データに設定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記定義作成部は、帳票に含まれる領域の項目名として使用される名称が登録された辞書データを参照し、前記印字領域から取得される文字により示される名称が該参照した辞書データに登録されていなかった場合、前記印字領域から取得される文字により示される名称を、登録されている名称のうち、前記印字領域から取得される文字により示される名称に類似する名称に修正して、前記抽出された領域の項目名として前記定義データに設定する、
請求項３に記載の情報処理装置。
【請求項５】
前記取得部は、前記第１帳票及び前記第２帳票と同種の帳票であって、前記第１帳票及び前記第２帳票には存在しない情報が存在する帳票である第３帳票のイメージデータを更に取得し、
前記抽出部は、前記第１帳票のイメージデータと前記第３帳票のイメージデータとの差分から、前記第３帳票において前記第１帳票及び前記第２帳票には存在しない情報が存在する領域を更に抽出し、
前記定義作成部は、前記第３帳票のイメージデータから抽出された領域が前記第２帳票のイメージデータから抽出された領域と重なる場合、前記第２帳票のイメージデータから抽出された領域により設定された前記情報の読み取り位置を、前記第２帳票及び前記第３帳票のイメージデータから抽出された領域を含む領域の位置に修正する、
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
コンピュータが、
第１帳票のイメージデータと、該第１帳票と同種の帳票であって、該第１帳票には存在しない情報が存在する帳票である第２帳票のイメージデータとを取得するステップと、
前記第１帳票のイメージデータと前記第２帳票のイメージデータとの差分から、前記第２帳票において前記情報が存在する領域を抽出するステップと、
前記第２帳票における前記抽出された領域の位置を情報の読み取り位置として設定した、前記第１帳票及び第２帳票と同種の帳票の読み取り処理に用いる定義データを作成するステップと、
を実行する情報処理方法。
【請求項７】
コンピュータに、
第１帳票のイメージデータと、該第１帳票と同種の帳票であって、該第１帳票には存在しない情報が存在する帳票である第２帳票のイメージデータとを取得するステップと、
前記第１帳票のイメージデータと前記第２帳票のイメージデータとの差分から、前記第２帳票において前記情報が存在する領域を抽出するステップと、
前記第２帳票における前記抽出された領域の位置を情報の読み取り位置として設定した、前記第１帳票及び第２帳票と同種の帳票の読み取り処理に用いる定義データを作成するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び、プログラムの技術に関する。
【背景技術】
【０００２】
特許文献１には、予めフォームが定義されている、手書きされた筆記情報を有する紙文書から、手書きされた部分の情報である筆記画像情報を抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４６４５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、ユーザは、手作業で、帳票の認識処理に用いる定義データを作成していた。この定義データを作成するためには、ユーザは、該定義データ作成に関する知識を習得しなければならなかった。そのため、従来の技術では、当該帳票の定義データを作成する手間がかかるという問題点があった。
【０００５】
一側面では、本発明は、このような問題点を考慮してなされたものであり、帳票の定義データを作成する手間を削減することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一側面に係る情報処理装置は、第１帳票のイメージデータと、該第１帳票と同種の帳票であって、該第１帳票には存在しない情報が存在する帳票である第２帳票のイメージデータとを取得する取得部と、前記第１帳票のイメージデータと前記第２帳票のイメージデータとの差分から、前記第２帳票において前記情報が存在する領域を抽出する抽出部と、前記第２帳票における前記抽出された領域の位置を情報の読み取り位置として設定した、前記第１帳票及び第２帳票と同種の帳票の読み取り処理に用いる定義データを作成する定義作成部と、を備える。
【０００７】
上記本発明の一側面に係る情報処理装置によれば、第１帳票と第２帳票との差分から得られる情報を用いて、該第１帳票及び第２帳票と同種の帳票の認識処理に用いる定義データが作成される。
【０００８】
従って、ユーザは、手作業で、帳票の認識処理に用いる定義データを作成する必要が無くなる。また、ユーザは、定義データを作成するためには、第１帳票と第２帳票のイメージデータを用意するだけでよい。そのため、ユーザは、定義データの作成に関する知識が無くても、定義データを作成することができる。その結果、上記本発明の一側面に係る情報処理装置によれば、当該帳票の定義データを作成する手間を削減することが可能となる。
【０００９】
また、上記情報処理装置の別の形態として、前記定義作成部は、前記抽出された領域に対して所定の認識処理を適用することで得られる、前記抽出された領域に存在する情報の属性を、前記抽出された領域に関する属性として前記定義データに設定してもよい。
【００１０】
また、上記各情報処理装置の別の形態として、前記抽出部は、前記第１帳票又は前記第２帳票において、前記抽出した領域の位置周辺に存在する、文字が印字されている印字領
域を特定し、前記定義作成部は、前記印字領域から取得される文字により示される名称を、前記抽出された領域の項目名として前記定義データに設定してもよい。
【００１１】
また、上記情報処理装置の別の形態として、前記定義作成部は、帳票に含まれる領域の項目名として使用される名称が登録された辞書データを参照し、前記印字領域から取得される文字により示される名称が該参照した辞書データに登録されていなかった場合、前記印字領域から取得される文字により示される名称を、登録されている名称のうち、前記印字領域から取得される文字により示される名称に類似する名称に修正して、前記抽出された領域の項目名として前記定義データに設定してもよい。
【００１２】
また、上記各情報処理装置の別の形態として、前記取得部は、前記第１帳票及び前記第２帳票と同種の帳票であって、前記第１帳票及び前記第２帳票には存在しない情報が存在する帳票である第３帳票のイメージデータを更に取得し、前記抽出部は、前記第１帳票のイメージデータと前記第３帳票のイメージデータとの差分から、前記第３帳票において前記第１帳票及び前記第２帳票には存在しない情報が存在する領域を更に抽出し、前記定義作成部は、前記第３帳票のイメージデータから抽出された領域が前記第２帳票のイメージデータから抽出された領域と重なる場合、前記第２帳票のイメージデータから抽出された領域により設定された前記情報の読み取り位置を、前記第２帳票及び前記第３帳票のイメージデータから抽出された領域を含む領域の位置に修正してもよい。
【００１３】
なお、上記各情報処理装置の別態様としては、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【発明の効果】
【００１４】
本発明によれば、帳票の定義データを作成する手間を削減するができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態に係る定義データの作成場面を例示する。
【図２】図２は、実施の形態に係る情報処理装置を例示する。
【図３】図３は、実施の形態に係る情報処理装置の処理手順を例示するフローチャートである。
【図４】図４は、実施の形態に係る情報処理装置による定義データ作成処理を例示するフローチャートである。
【図５】図５は、実施の形態に係る情報処理装置による座標取得処理を例示するフローチャートである。
【図６】図６は、実施の形態に係る情報処理装置による項目名取得処理を例示するフローチャートである。
【図７】図７は、実施の形態に係る情報処理装置による定義データ修正処理を例示するフローチャートである。
【図８】図８は、実施の形態に係る情報処理装置により作成された定義データの表示画面を例示する。
【図９】図９は、実施の形態に係る情報処理装置による定義データ保存処理を例示するフローチャートである。
【図１０】図１０は、実施の形態に係る定義データの修正場面を例示する。
【図１１】図１１は、実施の形態に係る情報処理装置の処理手順を例示するフローチャートである。
【図１２】図１２は、実施の形態に係る情報処理装置による、抽出した差分に基づく定義データ修正処理を例示するフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、本実施形態に応じた具体的構成が適宜採用されてもよい。
【００１７】
なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語等で指定される。
【００１８】
§１  情報処理装置
図１は、実施形態に係る定義データの作成場面を例示する。本実施形態に係る情報処理装置は、スキャナ等の装置から、第１帳票５０のイメージデータと第２帳票６０のイメージデータとを取得する。第２帳票６０は、第１帳票５０と同種の帳票であって、当該第１帳票５０には存在しない情報が存在する帳票である。
【００１９】
ここで、帳票に存在する情報とは、帳票に記入、押印、印字、又は、貼付等された文字、記号、又は、図形等である。帳票に存在する情報とは、例えば、手書きで記入された文字、印字されたバーコード等である。なお、本実施形態において、文字の数は限定されない。以下、「文字」という表現には、１文字の場合と、複数文字の場合とが含まれる。
【００２０】
また、第１帳票５０には存在しない情報が第２帳票６０には存在する状態とは、例えば、第１帳票５０に記入等されていない文字又はバーコードが第２帳票６０に存在する状態、第１帳票５０と第２帳票６０とでは対応する領域において異なる文字の記入等がされている状態等である。
【００２１】
第１帳票５０に存在しない情報が第２帳票６０には存在する状態の具体例を、図１を用いて説明する。図１に示される第２帳票６０は、「○○書」という名称の、第１帳票５０と同種の帳票である。第２帳票６０の欄６１及び欄６２は、それぞれ、第１帳票５０の欄５１及び欄５２に対応する。
【００２２】
欄５１及び欄６１には、例えば、欄５２及び欄６２に記入等される情報の項目名を示す文字（図中の「Ａ項目」）が印字される。また、欄５２及び欄６２には、例えば、欄５１及び欄６１に印字等された項目名により示される情報が手書き等で記入される。図１では、欄５２には何も記入されておらず、欄６２の領域６３には「ＡＡＡＡ」という文字が記入されている。
【００２３】
また、図１に示される例では、第２帳票６０の領域６４において、第１帳票５０には印字されていないバーコードが印字されている。なお、本実施形態において、帳票に印字されるバーコードの種類は限定されない。例えば、第２帳票６０の領域６４には、１２桁の数値を示す、ＮＷ−７規格のバーコードが印字されているとする。
【００２４】
この図１において、第１帳票５０には存在しないが第２帳票６０には存在する情報とは、具体的には、領域６３に存在する文字「ＡＡＡＡ」と領域６４に存在するバーコードである。なお、例えば、欄５２に「ＡＡＡＡ」と異なる文字が記入されていたとしても、本実施形態では、領域６３に存在する文字「ＡＡＡＡ」は、第１帳票５０には存在しないが第２帳票６０には存在する情報と見なされる。
【００２５】
このような第１帳票５０には存在しない情報が第２帳票６０に存在する場合、第１帳票５０と第２帳票６０との差分から、例えば、領域６３及び領域６４のような当該情報が存在する領域を特定することができる。本実施形態に係る情報処理装置は、第１帳票５０のイメージデータと第２帳票６０のイメージデータとの差分から、領域６３及び領域６４のような、第２帳票６０において当該情報が存在する領域を抽出する。この抽出された領域は、第１帳票５０及び第２帳票６０と同種の帳票において、情報が記入等される領域（情報が存在する領域）と推定される。すなわち、この領域に所定の認識処理を適用することにより、当該情報が得られると推定される。
【００２６】
そこで、本実施形態に係る情報処理装置は、第２帳票６０において抽出された領域６３及び領域６４の位置を情報の読み取り位置として設定した、第１帳票５０及び第２帳票６０と同種の帳票の読み取り処理に用いる定義データを作成する。つまり、本実施形態に係る情報処理装置によれば、第１帳票５０と第２帳票６０との差分から得られる情報が用いられて、当該第１帳票５０及び第２帳票６０と同種の帳票の認識処理に用いられる定義データが作成される。なお、本実施形態では、領域の位置は、イメージデータ上の座標として表現される。しかしながら、領域の位置の表現方法は、限定されるものではなく、適宜選択される。
【００２７】
このように定義データが作成されるため、本実施形態に係る情報処理装置によれば、ユーザは、手作業で、帳票の認識処理に用いる定義データを作成する必要がなくなる。また、ユーザは、定義データを作成するためには、第１帳票５０及び第２帳票６０のような関係にある、同種の帳票のイメージデータを少なくとも２つ用意すればよい。そのため、ユーザは、定義データの作成に関する知識が無くても、定義データを作成することができる。その結果、本実施形態によれば、帳票の定義データを作成する手間を削減することが可能となる。
【００２８】
なお、本実施形態において定義データの作成対象である帳票の種類は限定されるものではない。また、帳票のイメージデータは、スキャナ等により帳票を電子化したデータであってもよいし、コンピュータ上で作成された文書や画像などのデータであってもよい。
【００２９】
また、第１帳票５０のイメージデータと第２帳票６０のイメージデータは、１つの帳票（紙）から取得されるイメージデータであってもよい。例えば、ユーザは、記入前の帳票をスキャナに読み込ませることにより、第１帳票５０のイメージデータを取得することができる。そして、ユーザは、第１帳票５０のイメージデータを取得するために用いた帳票の欄（例えば、欄５２）に文字を記入した後にスキャナに読み込ませることにより、第２帳票６０のイメージデータを取得することができる。
【００３０】
本実施形態に係る情報処理装置は、第１帳票５０と第２帳票６０との差分を抽出することで、当該第１帳票５０及び第２帳票６０と同種の帳票の認識処理に用いる定義データを作成する。そのため、第１帳票５０と第２帳票６０との差分が明らかな方が好ましい。つまり、第１帳票５０は、例えば、情報を記入等する欄に何ら記入等されていない未記入の帳票である方が好ましい。
【００３１】
また、本実施形態に係る情報処理装置は、第１帳票５０又は第２帳票６０において、前記差分に基づいて抽出した領域の位置周辺に存在する、文字が印字されている印字領域を特定してもよい。そして、本実施形態に係る情報処理装置は、当該印字領域から取得される文字により示される名称を、当該抽出された領域の項目名として定義データに設定してもよい。
【００３２】
例えば、本実施形態に係る情報処理装置は、第１帳票５０における領域６３に対応する領域の位置の、又は、第２帳票６０における領域６３の位置の、周辺を検索し、文字が印字されている印字領域を特定してもよい。この場合、例えば、第１帳票５０では欄５１の領域が、第２帳票６０では欄６１の領域が印字領域として特定される。
【００３３】
本実施形態に係る情報処理装置は、当該印字領域において、例えば、ＯＣＲ（光学文字認識：Optical Character Recognition）処理を実行することで、文字「Ａ項目」を認識
してもよい。そして、情報処理装置は、認識した文字「Ａ項目」を、領域６３に基づいて設定される帳票の読み取り領域の項目名として設定してもよい。
【００３４】
この場合に、情報処理装置は、帳票に含まれる領域の項目名として使用される名称が登録された辞書データを参照してもよい。そして、情報処理装置は、印字領域から取得される文字により示される名称が参照した辞書データに登録されていなかった場合、当該印字領域から取得される文字により示される名称を、辞書データに登録されている名称に基づいて、修正してもよい。これにより、情報処理装置は、第１帳票５０と第２帳票６０との差分から抽出した領域の項目名として、当該修正した名称を定義データに設定してもよい。
【００３５】
また、本実施形態に係る情報処理装置は、少なくとも第１帳票５０及び第２帳票６０のいずれかにおいて所定の条件を満たす文字を探査することで、第１帳票５０及び第２帳票６０と同種の帳票の名称（帳票名）を取得してもよい。
【００３６】
例えば、本実施形態に係る情報処理装置は、第１帳票５０から、フォントサイズの最も大きい文字を探査し、当該条件を満たす文字により示される名称を帳票名として取得してもよい。第２帳票６０は第１帳票５０と同種の帳票であるため、第１帳票５０において当該帳票名が取得された位置に対応する第２帳票６０上の位置に、当該帳票名を示す文字が存在するはずである。よって、本実施形態に係る情報処理装置は、第１帳票５０において当該帳票名が取得された位置に対応する第２帳票６０上の位置に、当該帳票名を示す文字が存在するか否かを判定することによって、第１帳票５０から取得された帳票名が真に正しい帳票名であるか否かを判定してもよい。このような処理により、例えば、図１により示される例では、情報処理装置は、帳票名として、「○○書」という名称を取得してもよい。
【００３７】
また、本実施形態に係る情報処理装置は、第１帳票５０及び第２帳票６０の差分に基づいて抽出した領域に対して、所定の認識処理を適用してもよい。所定の認識処理とは、例えば、ＯＣＲ処理、バーコード認識処理等である。情報処理装置は、当該所定の認識処理を適用することで得られる、当該抽出した領域に存在する情報の属性を、当該抽出した領域に関する属性として定義データに設定してもよい。
【００３８】
例えば、図１に示される例では、本実施形態に係る情報処理装置は、領域６３に対してＯＣＲ処理を適用することにより、領域６３（欄５２及び欄６２）に記入される、文字の種類に関する属性（文字種）と、文字の数に関する属性（文字数）とを得ることができる。また、情報処理装置は、領域６４に対してバーコード認識処理を適用することにより、領域６４に印字される、バーコードの種類に関する属性（バーコード種別）と、バーコードにより示される文字の数に関する属性（文字数）とを得ることができる。なお、情報処理装置は、各領域に適用する認識処理を特定せず、各領域に対して複数の認識処理を適用してよい。この場合、情報処理装置は、エラーが発生しなかった認識処理の結果に基づいて、各領域の属性の値を特定してもよい。
【００３９】
また、本実施形態に係る情報処理装置は、定義データを作成するために、３枚以上の帳
票のイメージデータを用いてもよい。
【００４０】
例えば、情報処理装置は、第２帳票６０が複数枚存在すると扱うことで、３枚以上の帳票のイメージデータに基づいて、定義データを作成してもよい。この場合、情報処理装置は、第１帳票５０と各第２帳票６０との差分に基づいて、定義データを作成する。
【００４１】
また、例えば、情報処理装置は、第１帳票５０及び第２帳票６０と同種の帳票であって、当該第１帳票５０及び第２帳票６０には存在しない情報が存在する帳票である第３帳票のイメージデータを取得してもよい。この場合、情報処理装置は、第１帳票５０のイメージデータと第３帳票のイメージデータとの差分から、当該第３帳票において第１帳票５０及び第２帳票６０には存在しない情報が存在する領域を更に抽出してもよい。そして、情報処理装置は、当該第３帳票のイメージデータから抽出された領域が第２帳票６０のイメージデータから抽出した領域と重なる場合、第２帳票６０のイメージデータから抽出した領域により設定された情報の読み取り位置を、第２帳票６０及び第３帳票のイメージデータから抽出された領域を含む領域の位置に修正してもよい（後述する図１０〜１２）。
【００４２】
以下では、本実施形態に係る情報処理装置１が、第１帳票５０と第２帳票６０との差分に基づいて、情報の読み取り位置（座標）、情報の属性（文字種、文字数等）、項目名、帳票名を設定した定義データを作成する例を示す。
【００４３】
［構成例］
図２は、本実施形態に係る情報処理装置１を例示する。情報処理装置１は、図２に示されるとおり、そのハードウェア構成として、バス１３に接続される、記憶部１１、制御部１２、入出力部１４、及び、通信部１５等を有する。
【００４４】
記憶部１１は、制御部１２で実行される処理で利用される各種データ及びプログラムを記憶する（不図示）。記憶部１１は、例えば、ハードディスク、フラッシュメモリ等の記憶装置によって実現される。
【００４５】
また、記憶部１１は、辞書データ２１を格納する。辞書データには、帳票に含まれる領域の項目名として使用される可能性のある名称が登録されている。例えば、辞書データ２１は、帳票に含まれる領域の項目名として使用される可能性のある名称のリストである。
【００４６】
なお、当該辞書データは、本実施形態のように、情報処理装置１に保持されていなくてもよい。例えば、辞書データ２１は、情報処理装置１がアクセス可能な他の情報処理装置に保持されていてもよい。また、後述する辞書データに基づく項目名の修正処理が実施されない場合、情報処理装置１は、当該辞書データ２１を保持していなくてもよいし、当該辞書データ２１にアクセスしなくてもよい。
【００４７】
制御部１２は、マイクロプロセッサ又はＣＰＵ（Central Processing Unit）等の１又
は複数のプロセッサと、当該１又は複数のプロセッサの処理に利用される周辺回路（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、インタフェース回路等）と、を有する。制御部１２は、記憶部１１に格納されている各種データ及びプログラムを実行することにより、本実施形態における情報処理装置１の処理を実現する。ＲＯＭ、ＲＡＭ等は、制御部１２内のプロセッサが取り扱うアドレス空間に配置されているという意味で主記憶装置と呼ばれてもよい。
【００４８】
図２に示されるとおり、制御部１２は、取得部３１、抽出部３２、及び、定義作成部３３を含む。取得部３１、抽出部３２、及び、定義作成部３３は、例えば、記憶部１１に格納されたプログラム等が制御部１２の周辺回路であるＲＡＭ等に展開され、制御部１２の
プロセッサにより実行されることによって実現される。
【００４９】
取得部３１は、第１帳票のイメージデータと、該第１帳票と同種の帳票であって、該第１帳票には存在しない情報が存在する帳票である第２帳票のイメージデータとを取得する。
【００５０】
抽出部３２は、第１帳票のイメージデータと第２帳票のイメージデータとの差分に基づいて、第１帳票には存在しない情報が存在する領域を第２帳票から抽出する。
【００５１】
定義作成部３３は、第２帳票において抽出された領域の位置を情報の読み取り位置として設定した、第１帳票及び第２帳票と同種の帳票の読み取り処理に用いる定義データを作成する。
【００５２】
なお、定義作成部３３は、第２帳票において抽出された領域に対して所定の認識処理を適用することで得られる、当該抽出された領域に存在する情報の属性を、当該抽出された領域に関する属性として定義データに設定してもよい。ここで、所定の認識処理とは、例えば、ＯＣＲ処理、バーコード認識処理等、画像解析によりその領域に存在する情報を認識する処理である。
【００５３】
当該領域に存在する情報が文字で表現されている場合、定義作成部３３は、当該領域にＯＣＲ処理を適用すると、当該領域に存在する情報をエラーなく取得することができる。このとき、定義作成部３３は、エラーなく読み取れた文字（取得した情報）の種別（アルファベット、数字等）、読み取れた文字の数等を、当該領域に関する属性として、定義データに設定してもよい。
【００５４】
一方、当該領域に存在する情報がバーコードで表現されている場合、定義作成部３３は、当該領域にバーコード認識処理を適用すると、当該領域に存在する情報をエラーなく取得することができる。このとき、定義作成部３３は、エラーなく読み取れたバーコード（取得した情報）の種別、読み取れたバーコードにより示される文字の数等を、当該領域に関する属性として、定義データに設定してもよい。
【００５５】
また、抽出部３２は、第１帳票又は第２帳票において、前記抽出した領域の位置周辺に存在する、文字が印字されている印字領域を特定してもよい。この場合、定義作成部３３は、当該印字領域から取得される文字により示される名称を、前記抽出された領域の項目名として定義データに設定してもよい。
【００５６】
また、この場合、定義作成部３３は、辞書データ２１を参照し、当該印字領域から取得される文字により示される名称が参照した辞書データ２１に登録されていなかった場合、当該印字領域から取得される文字により示される名称を、登録されている名称のうち、当該印字領域から取得される文字により示される名称に類似する名称に修正して、前記抽出された領域の項目名として定義データに設定してもよい。
【００５７】
また、取得部３１は、第１帳票及び第２帳票と同種の帳票であって、当該第１帳票及び当該第２帳票には存在しない情報が存在する帳票である第３帳票のイメージデータを更に取得してもよい。抽出部３２は、当該第１帳票のイメージデータと第３帳票のイメージデータとの差分から、当該第３帳票において、第１帳票及び第２帳票には存在しない情報が存在する領域を更に抽出してもよい。そして、第３帳票のイメージデータから抽出された領域が第２帳票のイメージデータから抽出された領域と重なる場合、定義作成部３３は、第２帳票のイメージデータから抽出された領域により設定された情報の読み取り位置を、第２帳票及び第３帳票のイメージデータから抽出された領域を含む領域の位置に修正して
もよい。
【００５８】
入出力部１４は、情報処理装置１の外部に存在する装置とデータの送受信を行うための１又は複数のインタフェースである。入出力部１４は、例えば、入力装置及び出力装置等のユーザインタフェースと接続するためのインタフェース、若しくは、ＵＳＢ（Universal Serial Bus）メモリ等の装置とＵＳＢ接続するためのインタフェース、又は、これらのインタフェースの組合せである。入出力部１４は、例えば、不図示のユーザインタフェース（タッチパネル、テンキー、キーボード、マウス、ディスプレイ等の入出力装置）と接続してもよい。また、入出力部１４は、スキャナ２と接続してもよい。この場合、情報処理装置１は、当該入出力部１４を介して、スキャナ２からデータを取得する。
【００５９】
通信部１５は、ネットワークを介して、他の装置とデータ通信を行うための１又は複数のインタフェースである。情報処理装置１とスキャナ２とがネットワークを介して接続される場合、情報処理装置１は、当該通信部１５を介して、スキャナ２からデータを取得する。
【００６０】
本実施形態に係る情報処理装置１は、これらの構成を備える装置である。情報処理装置１は、例えば、ＰＣ等の汎用コンピュータや仮想環境のコンピュータである。
【００６１】
§２  動作例
次に、図３〜９を用いて、本実施形態に係る情報処理装置１の動作例を説明する。なお、以下で説明する動作例は、本実施形態に係る情報処理装置１の情報処理の一例に過ぎず、各処理は、当該各処理の前に実行された処理の結果を用いる等の従属関係がない等、可能な限り入れ替えられてよい。
【００６２】
図３は、本実施形態に係る情報処理装置１の処理手順の一例を示す。なお、図３では、ステップを「Ｓ」と略称する。図４〜７、９、並びに、後述する図１１及び１２においても同様の略称を用いる。
【００６３】
まず、例えば、ユーザによる操作に応じて、記憶部１１に格納されたプログラムが、制御部１２のＲＡＭ等に展開される。そして、制御部１２のＲＡＭ等に展開された当該プログラムが、制御部１２のプロセッサにより実行される。このようにして、情報処理装置１は、処理を開始する。
【００６４】
ステップ１００では、取得部３１によって、帳票のイメージデータが取得される。例えば、取得部３１は、記憶部１１等に格納されているイメージデータのうち、帳票の定義データを作成するために用いるイメージデータの選択操作を受け付ける。または、取得部３１は、情報処理装置１に接続されるスキャナ２において帳票の読み取りを受け付ける。本実施形態では、これにより、取得部３１は、第１帳票５０のイメージデータと第２帳票６０のイメージデータとを取得する。
【００６５】
ステップ２００では、第１帳票５０と第２帳票６０とが比較され、その差分が抽出され、抽出された差分に基づいて、当該第１帳票５０及び第２帳票６０と同種の帳票の定義データが作成される。当該定義データ作成処理の具体例は、図４〜６に示される。
【００６６】
図４は、本実施形態に係る情報処理装置１による定義データ作成処理を例示するフローチャートである。本動作例では、抽出部３２によって、ステップ１００において取得された第１帳票５０のイメージデータと第２帳票６０のイメージデータとの差分に基づいて、第２帳票６０における、第１帳票５０には存在しない情報が存在する領域が抽出される。そして、当該抽出結果に基づいて、定義作成部３３によって、第１帳票５０及び第２帳票
６０と同種の帳票に係る定義データが作成される。具体的には、以下のとおりに処理が実行される。
【００６７】
ステップ２１０では、抽出部３２によって、第２帳票６０における、第１帳票５０には存在しない情報が存在する領域の座標が取得される。当該座標取得処理の具体例は、図５により示される。
【００６８】
図５は、本実施形態に係る情報処理装置１による座標取得処理を例示するフローチャートである。本動作例では、第１帳票５０から取得されるレイアウトに関する情報（レイアウト情報）に基づいて、第１帳票５０と第２帳票６０との差分領域が抽出され、抽出された領域の座標が取得される。具体的には、以下のとおりに処理が実行される。
【００６９】
ステップ２１１では、第１帳票５０のレイアウト情報が取得される。例えば、抽出部３２は、第１帳票５０のイメージデータを解析し、罫線の情報、文字等が印字されている領域（プレ印字領域）を特定するための情報、円等の特定の条件を満たす図形の領域を特定するための情報等を含むレイアウト情報を取得する。罫線、プレ印字領域、特定の条件を満たす図形の領域を特定する方法は、特に限定されるものではなく、適宜選択される。例えば、罫線は、始点の座標、縦方向の長さ（高さ）、横方向の長さ（幅）、太さ等で表現される。また、プレ印字領域及び特定の条件を満たす図形の領域は、それぞれ、文字、図形等を含む矩形の左上端の座標、及び、右下端の座標等で表現される。罫線、プレ印字領域、特定の条件を満たす図形の領域の表現方法は、特に限定されるものではなく、適宜選択される。
【００７０】
ステップ２１２では、第１帳票５０のプレ印字領域から帳票名が取得される。例えば、定義作成部３３は、プレ印字領域のうち、フォントサイズの最も大きい文字が印字されているプレ印字領域の文字により示される名称を帳票名として取得する。また、例えば、定義作成部３３は、所定の位置に存在するプレ印字領域の文字により示される名称を帳票名として取得する。図１に示される例では、定義作成部３３は、帳票名として、「○○書」という名称を取得する。
【００７１】
なお、定義作成部３３は、例えば、ＯＣＲ処理をプレ印字領域に適用することで、プレ印字領域に印字されている文字の情報を取得する。定義作成部３３は、取得した帳票名を、例えば、作成する定義データのファイル名等に利用する。
【００７２】
ステップ２１３では、第１帳票５０のレイアウト情報が用いられて、第１帳票５０と第２帳票６０との照合作業が実行される。抽出部３２は、例えば、ステップ２１１で取得した第１帳票５０のレイアウト情報を用いて、第１帳票５０と第２帳票６０とを照合する。このとき、抽出部３２は、例えば、第１帳票５０のレイアウトと第２帳票６０のレイアウトが異なるほど、第１帳票５０と第２帳票６０とは一致しないと判定してもよい。また、抽出部３２は、例えば、第１帳票５０には存在しない記載等が第２帳票に存在するほど、第１帳票５０と第２帳票６０とは一致しないと判定してもよい。
【００７３】
ここで、抽出部３２は、第１帳票５０と第２帳票６０とを照合した結果を、帳票の一致率として、完全に一致していることを示す数値から全く一致していないことを示す数値の範囲に含まれる数値で表現してもよい。そして、抽出部３２は、当該帳票の一致率が、第１帳票５０と第２帳票６０とが同一のイメージデータであると判定するための閾値を超える場合、処理対象となっている２つのイメージデータは同一のデータであると判定してもよい。この場合、制御部１２は、情報処理装置１に接続される表示装置（不図示）に、同一のデータが処理対象となっていることを伝えるためのエラーメッセージを表示してもよい。
【００７４】
ステップ２１４では、第１帳票５０と第２帳票６０との照合作業が更に詳細に実行される。例えば、抽出部３２は、第２帳票６０のイメージデータを８×８画素単位に分割する。そして、抽出部３２は、第２帳票６０のイメージデータにおいて、第１帳票５０のレイアウト情報により示される罫線、プレ印字領域、特定の条件を満たす図形の領域それぞれに対応する罫線、領域を特定する。これにより、抽出部３２は、第１帳票５０に含まれる罫線、プレ印字領域、特定の条件を満たす図形の領域それぞれに対応する第２帳票６０上の罫線、領域の座標を特定する。なお、抽出部３２は、第２帳票６０を８×８画素単位等に分割して第１帳票５０と照合することで、第２帳票６０における局所的なズレ等による照合ミスを可能な範囲で防止する。
【００７５】
ステップ２１５では、ステップ２１４で実行された詳細な照合作業の結果に基づいて、第２帳票６０のイメージデータから、第１帳票５０に含まれる罫線に対応する罫線が消去される（定型消去）。抽出部３２は、例えば、第２帳票６０の罫線の太さを特定しながら、第２帳票６０のイメージデータの各分割領域において、第１帳票５０に含まれる罫線に対応する罫線を消去する。
【００７６】
ステップ２１６では、ステップ２１４で実行された詳細な照合作業の結果に基づいて、第２帳票６０のイメージデータから、第１帳票５０に含まれるプレ印字領域の文字等、特定の条件を満たす図形に対応する印字、図形等が消去される（非定型消去）。抽出部３２は、例えば、第２帳票６０のイメージデータの各分割領域において、第１帳票５０に含まれるプレ印字領域及び特定の条件を満たす図形の領域それぞれに対応する領域内の画像を消去する。
【００７７】
ステップ２１５及び２１６では、第２帳票６０のイメージデータから、第１帳票５０のイメージデータに含まれる罫線、文字、図形等に対応するものが消去される。よって、これらの消去処理の後に第２帳票６０のイメージデータに残るものは、例えば、領域６３に記入された文字、領域６４に印字されたバーコードであり、第１帳票５０には存在しないものである。これらは、第１帳票５０と第２帳票６０の差分に対応し、第１帳票５０には存在しない、第２帳票６０に存在する情報に該当する。
【００７８】
なお、本動作例では、領域６３に対応する第１帳票５０の領域には、何ら記載がないことを前提としている。しかしながら、上述のとおり、領域６３に対応する第１帳票５０の領域には、領域６３に記入されている「ＡＡＡＡ」とは異なる文字が記入されていてもよい。この場合、本実施形態では、領域６３に対応する第１帳票５０の領域は、プレ印字領域、又は、特定の条件を満たす図形の領域として扱われる。そうすると、上記ステップ２１６の消去処理を実行した場合、領域６３に記入されている「ＡＡＡＡ」は、第１帳票５０には存在しない情報であるにも関わらず、消去されてしまう可能性がある。
【００７９】
抽出部３２は、当該可能性を考慮して、第２帳票６０のイメージデータにおいて第１帳票５０のプレ印字領域等に対応する領域の消去処理を実行する前に、当該消去処理を実行するか否かを判断するための検証処理を実行してもよい。
【００８０】
抽出部３２は、例えば、当該検証処理として、第１帳票５０のプレ印字領域等と当該プレ印字領域等に対応する第２帳票６０の領域との一致具合を示す一致率を求めてもよい。第１帳票５０のプレ印字領域等に記入されている文字と当該プレ印字領域等に対応する第２帳票６０の領域に記入されている文字とが異なるほど、当該一致率は低くなる。
【００８１】
したがって、抽出部３２は、これらの領域に異なる文字が記入されているか否かを検証するために、これらの領域の一致率が所定の閾値よりも低くなるか否かを判定してもよい
。当該閾値は、第１帳票５０のプレ印字領域等に記入されている文字と当該プレ印字領域等に対応する第２帳票６０の領域に記入されている文字とが異なるか否かを検証するために、適宜設定される。
【００８２】
抽出部３２は、所定の閾値よりも当該一致率が低くなると判定した場合、第１帳票５０のプレ印字領域等と当該プレ印字領域等に対応する第２帳票６０の領域とには異なる文字が記入されていると判断する。そして、このように判断した場合、抽出部３２は、当該プレ印字領域等に対応する第２帳票６０の領域に対して、上記ステップ２１６の消去処理の実行をスキップする。これにより、上述のような可能性を防止することが可能である。なお、この点は、文字以外の場合であっても同様である。
【００８３】
ステップ２１７では、ステップ２１５及び２１６の消去処理で消去されなかった文字、バーコード等が存在する領域の座標が取得される。上述のとおり、ステップ２１５及び２１６の消去処理で消去されなかった文字、バーコード等は、第１帳票５０には存在しない情報である。抽出部３２は、第２帳票６０において当該情報が存在する領域を特定し、特定した領域の座標を取得する。
【００８４】
例えば、抽出部３２は、ステップ２１５及び２１６の消去処理で消去されなかった文字、バーコード等を覆う矩形領域を特定する。そして、抽出部３２は、当該矩形領域を表現する座標を取得する。例えば、当該矩形領域は、矩形の左上端の座標と右下端の座標で表現される。これにより、抽出部３２は、ステップ２１５及び２１６の消去処理で消去されなかった文字、バーコード等が存在する領域の座標を取得する。
【００８５】
なお、本実施形態では、抽出部３２は、ステップ２１５及び２１６の消去処理で消去されなかった文字、バーコード等を覆う矩形領域を特定する際に、それぞれの間の距離を考慮する。例えば、抽出部３２は、所定の距離離れているものは、それぞれ別の領域に含まれるものと判定する。これにより、抽出部３２は、第２帳票６０において、領域６３と領域６４とを区別して抽出し、それぞれの座標を取得する。
【００８６】
これらの処理により、第２帳票６０における、第１帳票５０には存在しない情報が存在する領域の座標が取得される。図１に示される例では、領域６３及び領域６４それぞれを表現する座標が取得される。これにより、座標取得処理は終了する。そして、処理は、ステップ２２０に進む。
【００８７】
なお、抽出部３２は、領域６３のような欄（欄５２、欄６２）に含まれる領域を抽出した場合、抽出した領域を表現する座標に代えて、抽出した領域を含む欄を表現する座標を取得してもよい。抽出部３２は、例えば、ステップ２１１において作成したレイアウト情報に含まれる罫線情報を参照することで、当該抽出した領域を含む欄を特定する。
【００８８】
図４に戻り、ステップ２２０では、第２帳票６０において抽出された領域の座標を情報の読み取り位置として設定した、第１帳票５０及び第２帳票６０と同種の帳票の読み取り処理に用いる定義データが作成される。例えば、定義作成部３３は、内容が空の定義データを用意し、ステップ２１０で取得した座標を情報の読み取り位置として、用意した定義データに設定する。図１に示される例では、領域６３及び領域６４それぞれの座標が、第１帳票５０及び第２帳票６０と同種の帳票において、当該帳票に存在する情報をＯＣＲ処理、バーコード認識処理等で読み取り位置として設定された定義データが作成される。
【００８９】
なお、定義作成部３３は、ステップ２１１で作成された第１帳票５０のレイアウト情報を、第１帳票５０及び第２帳票６０と同種の帳票のレイアウト情報として、作成する定義データに設定してもよい。この場合、定義作成部３３は、ステップ２１１で作成された第
１帳票５０のレイアウト情報の一部を削除した後に、一部を削除したレイアウト情報を定義データに登録してもよい。例えば、定義作成部３３は、ステップ２１１で作成された第１帳票５０のレイアウト情報において、第１帳票５０において手書きで記入された文字の領域等を特定するための情報を削除する。このように、定義作成部３３は、第１帳票５０と同種の他の帳票において存在しない可能性のある領域を極力省いた上で、レイアウト情報を定義データに登録してもよい。
【００９０】
ステップ２３０では、第２帳票６０において抽出された領域６３、領域６４等の領域に対して所定の認識処理が実行される。所定の認識処理とは、ＯＣＲ処理、バーコード認識処理等である。定義作成部３３は、第２帳票６０において抽出された領域６３、領域６４等の各領域に対して、ＯＣＲ処理、バーコード認識処理等設定された所定の認識処理を順次実行する。
【００９１】
例えば、対象の領域に存在する情報が文字で表現されている場合、バーコード認識処理は成功しないが（エラーとなる）、ＯＣＲ処理は成功する。他方、対象の領域に存在する情報がバーコードで表現されている場合、文字認識のためのＯＣＲ処理は成功しないが、バーコード認識処理は成功する。
【００９２】
ステップ２４０及び２５０では、定義作成部３３によって、ステップ２３０で実行した所定の認識処理が成功した場合に（ステップ２４０の「ＹＥＳ」）、当該認識処理によって得られた、対象の領域に存在する情報の属性が、当該対象の領域に関する属性として定義データに設定される（ステップ２５０）。他方、ステップ２３０で実行した所定の認識処理が失敗した場合（ステップ２４０の「ＮＯ」）、ステップ２５０の処理は省略される。
【００９３】
図１に示される例では、領域６３において、ＯＣＲ処理が成功する。定義作成部３３は、当該ＯＣＲ処理によって、領域６３に記入されている文字の種類に関する属性（文字種）と、文字の数に関する属性（文字数）とを特定することができる。具体的には、定義作成部３３は、領域６３に対するＯＣＲ処理の結果として、文字種の属性値「アルファベット」と、文字数の属性値「４」とを取得する。
【００９４】
また、領域６４において、バーコード認識処理が成功する。定義作成部３３は、当該バーコード認識処理によって、領域６４に印字されているバーコードの種類に関する属性（バーコード種別）と、バーコードにより示される文字の数に関する属性（文字数）とを特定することができる。具体的には、定義作成部３３は、バーコード種別の属性値「ＮＷ−７」と、文字数の属性値「１２」とを取得する。
【００９５】
ステップ２６０では、第１帳票５０又は第２帳票６０において、第２帳票６０において抽出された領域周辺の印字領域が捜索され、発見された印字領域から当該抽出された領域に係る項目名が取得される。当該項目名取得処理の具体例は、図６により示される。
【００９６】
図６は、本実施形態に係る情報処理装置１による項目名取得処理を例示するフローチャートである。本動作例では、ステップ２１０において第２帳票６０から抽出された領域を対象領域として、当該対象領域周辺から印字領域が捜査され、発見された印字領域から項目名が取得される。ステップ２１０において第２帳票６０から複数の領域が抽出された場合は、当該複数の領域それぞれが対象領域として処理される。具体的には、以下のとおりに処理が実行される。
【００９７】
ステップ２６１では、第１帳票５０又は第２帳票６０において、対象領域の周辺に存在する印字領域が捜索される。例えば、定義作成部３３は、第１帳票５０のレイアウト情報
を参照して、対象領域の周囲で所定の距離内にあるプレ印字領域を検索する。また、例えば、定義作成部３３は、第２帳票６０のイメージデータにおいて、対象領域の周辺で所定の距離内にある印字領域を検索する。
【００９８】
対象領域に存在する情報の内容を示す項目名が印字された印字領域は、一般的に、当該対象領域の上、又は、左に隣接して存在する。この点を考慮し、定義作成部３３は、対象領域の周囲で所定の距離内にあるプレ印字領域を検索する際、その検索範囲を対象領域の上側、又は、左側に限定してもよい。
【００９９】
ステップ２６２では、定義作成部３３によって、対象領域の周辺に印字領域が存在するか否か判定される。対象領域の周辺に１又は複数の印字領域が存在する場合、処理はステップ２６３に進む。
【０１００】
図１に示される例では、領域６３の周辺には、「Ａ項目」が印字されたプレ印字領域が存在する。当該処理において、定義作成部３３は、領域６３の周辺に存在する印字領域として、「Ａ項目」が印字された領域を発見する。
【０１０１】
一方、対象領域の周辺に印字領域が存在しない場合、項目名取得処理は終了する。この場合、定義作成部３３は、対象領域の周辺から項目名を取得することはできない。このとき、定義作成部３３は、項目名を任意の方法で定めてもよい。
【０１０２】
図１に示される例では、領域６４の周辺には項目名が印字された領域は存在しない。そのため、定義作成部３３は、領域６４に存在する情報を示す項目名を当該領域６４の周辺から取得することはできない。この場合、定義作成部３３は、例えば、「（対象物の名称）＿（追番）」と項目名を定めてもよい。このとき、定義作成部３３は、領域６４に存在する情報を示す項目名を「バーコード＿１」と決定する。
【０１０３】
ステップ２６３では、定義作成部３３によって、対象領域の周辺に存在する印字領域に含まれる文字列が、項目名の候補として取得される。定義作成部３３は、対象領域の周辺に存在する印字領域に対してＯＣＲ処理を適用することにより、当該印字領域に含まれる文字列を取得する。ステップ２６１の処理において複数の印字領域が発見された場合、項目名の候補として、複数の文字列が取得される。
【０１０４】
ステップ２６４では、定義作成部３３は、項目名として使用される可能性のある名称が登録されている、記憶部１１に格納された辞書データ２１にアクセスする。情報処理装置１がネットワークを介してアクセス可能な他の装置に辞書データ２１が保持されている場合、定義作成部３３は、ネットワークを介して、当該他の装置が保持する辞書データ２１にアクセスしてもよい。
【０１０５】
ステップ２６５では、辞書データ２１が参照され、ステップ２６３で取得された項目名候補と完全一致する文字列が辞書データ２１に登録されているか判定される。完全一致する文字列が辞書データ２１に登録されていない項目名候補については、ステップ２６６の処理が適用される（ステップ２６５の「ＮＯ」）。他方、完全一致する文字列が辞書データ２１に登録されている項目名候補については、ステップ２６６の処理が省略される（ステップ２６５の「ＹＥＳ」）。
【０１０６】
ステップ２６６では、辞書データ２１に登録されている文字列に基づいて、項目名候補の文字列が修正される。例えば、定義作成部３３は、項目名候補の文字列を、辞書データ２１に登録されている文字列のうち、項目名候補の文字列に類似する文字列に修正する。項目名候補の文字列に類似する文字列は、例えば、項目名候補の文字列と一致する文字が
一番多い文字列、項目名候補の文字列と前方一致する文字列、項目名候補の文字列と後方一致する文字列等である。項目名候補の文字列に類似するか否かの判定方法は、適宜選択される。
【０１０７】
ステップ２６７では、定義作成部３３によって、対象領域に係る項目名候補から、当該対象領域の項目名が特定される。対象領域に係る項目名候補の文字列が１つである場合、定義作成部３３は、その文字列を対象領域の項目名と特定する。他方、対象領域に係る項目名候補の文字列が複数ある場合、定義作成部３３は、その複数の文字列の中から１つの文字列を選択して、選択した文字列を対象領域の項目名と特定する。例えば、定義作成部３３は、項目名候補をユーザに提示することで、対象領域の項目名に設定する文字列の選択を受け付けてもよい。また、定義作成部３３は、辞書データに登録されていない項目名候補の文字列を除外した後に、対象領域の項目名を特定してもよい。
【０１０８】
これらの処理により、第２帳票６０から抽出された領域に係る項目名が取得される。図１では、例えば、領域６３の項目名として、「Ａ項目」という名称が取得される。これにより、項目名取得処理は、終了する。そして、処理は、ステップ２７０に進む。
【０１０９】
図４に戻り、ステップ２７０では、ステップ２６０において取得された項目名が、対象領域に存在する情報の内容を示す項目名として、定義データに設定される。
【０１１０】
これらの処理により、情報の読み取り位置（座標）、情報の属性（文字種、文字数等）、項目名、及び、帳票名が設定された、第１帳票５０及び第２帳票６０と同種の帳票の定義データが作成される。そして、定義データ作成処理は終了する。なお、定義データに属性を設定しない場合、ステップ２３０〜２５０の処理は省略可能である。また、定義データに項目名を設定しない場合、ステップ２６０及び２７０の処理は省略可能である。当該定義データ作成処理が終了すると、処理は、ステップ３００に進む。
【０１１１】
図３に戻り、ステップ３００では、制御部１２によって、定義データ修正処理が実行される。当該定義データ修正処理の具体例は、図７及び８により示される。
【０１１２】
図７は、本実施形態に係る情報処理装置１による定義データ修正処理を例示するフローチャートである。本動作例では、ステップ２００で作成された定義データがユーザに提示される。そして、ユーザは、提示された情報に基づいて、作成された定義データを手動で修正する。具体的には、以下のとおりに処理が実行される。
【０１１３】
ステップ３０１では、ステップ２００で作成された定義データが、情報処理装置１に接続される表示装置（不図示）に表示される。表示画面例は、図８により示される。
【０１１４】
図８は、本実施形態に係る情報処理装置１により作成された定義データの表示画面を例示する。図８に示される例では、画面の右側において定義データの作成に使用された帳票が表示されている。表示される帳票は、第１帳票５０又は第２帳票６０のいずれでもよい。また、例えば、制御部１２は、第１帳票５０及び第２帳票６０の両方が表示されるように、第１帳票５０及び第２帳票６０の各イメージデータのアルファ値を調整して、当該各イメージデータを重ね合わせて表示してもよい。
【０１１５】
また、画面の左側において、定義データの各パラメタ値が、ユーザの操作により変更可能な状態で、表示されている。例えば、ユーザは、情報処理装置１に接続される入力装置（不図示）を操作して、パラメタ値を入力したり、プルダウンリスト表示されるパラメタ値を選択したりすることで、定義データに設定されている各パラメタ値を修正する。なお、ユーザは、入力装置を操作して、ボタン８０を押下することで、当該修正操作を終了す
る。
【０１１６】
ステップ３０２では、制御部１２によって、このようなユーザの修正操作が受け付けられる。そして、ステップ３０３では、制御部１２は、当該修正操作を終了するか否かを判定する。ボタン８０が押下された場合、制御部１２は、当該修正操作を終了すると判定し（ステップ３０３の「ＹＥＳ」）、定義データ修正処理を終了する。定義データ修正処理が終了すると、処理は、ステップ４００に進む。他方、ボタン８０が押下されていない場合、制御部１２は、当該修正操作を終了しないと判定し（ステップ３０３の「ＮＯ」）、引き続き修正操作が受け付けられる（ステップ３０２）。
【０１１７】
図３に戻り、ステップ４００では、定義データ保存処理が実行される。当該定義データ保存処理の具体例は、図９により示される。
【０１１８】
図９は、本実施形態に係る情報処理装置１による定義データ保存処理を例示するフローチャートである。本動作例では、作成された定義データにエラーが発生していないか否かが判定される。そして、エラーが発生していない場合、作成された定義データが保存される。具体的には、以下のとおりに処理が実行される。
【０１１９】
ステップ４０１では、制御部１２は、同じ項目名の領域が複数存在するか否かを判定する。例えば、制御部１２は、作成された定義データを参照し、複数の領域において、項目名に同じパラメタ値（名称）が設定されているか否かを判定する。制御部１２は、複数の領域において、項目名に同じパラメタ値が設定されていると判定した場合（ステップ４０１の「ＹＥＳ」）、表示装置に、同じ項目名の領域が複数存在することを示すエラーメッセージを出力する（ステップ４０４）。他方、制御部１２は、複数の領域において、項目名に同じパラメタ値が設定されていないと判定した場合（ステップ４０１の「ＮＯ」）、ステップ４０２に処理を進める。
【０１２０】
ステップ４０２では、制御部１２は、作成された定義データにおいて、異常な値のパラメタ値が設定されているか否かを判定する。例えば、複数の読み取り領域が重なり合っている場合、読み取り領域として設定されている領域がイメージデータの範囲外である場合等、設定されているパラメタ値が所定の条件を満たしている場合、制御部１２は、異常な値のパラメタ値が存在すると判定する（ステップ４０２の「ＹＥＳ」）。そして、制御部１２は、当該異常な値と判定された理由を示すエラーメッセージを出力する（ステップ４０４）。他方、異常な値のパラメタ値が存在しないと判定した場合（ステップ４０２の「ＮＯ」）、制御部１２は、ステップ４０３に処理を進める。
【０１２１】
ステップ４０３では、作成された定義データが保存される。例えば、制御部１２は、これまでの処理で作成された定義データを記憶部１１に格納する。これにより、定義データ格納処理は終了する。そして、情報処理装置１は、本動作例に係る処理を終了する。
【０１２２】
＜その他＞
なお、本実施形態に係る情報処理装置１は、定義データを作成する際に、複数の第２帳票６０を利用してもよい。複数の第２帳票６０を利用する場合、例えば、情報処理装置１は、複数の第２帳票６０それぞれに、上記処理を適用することで、定義データを作成する。
【０１２３】
この場合、例えば、欄５２等の同じ対象領域が、複数の第２帳票６０から取得される可能性がある。このとき、例えば、抽出部３２は、それぞれの第２帳票６０から取得された領域が重なる場合、これらの領域を含む１つの領域として抽出してもよい。これにより、情報処理装置１は、複数の第２帳票６０から抽出される領域について、可能な限り、同じ
対象領域として認識する。
【０１２４】
§３変形例
なお、本実施形態に係る情報処理装置１は、第３帳票を更に取得し、当該第３帳票を用いて定義データを修正してもよい。当該第３帳票に基づく定義データの修正処理を、図１０〜１２を用いて説明する。
【０１２５】
図１０は、本実施形態に係る定義データの修正場面を例示する。第３帳票７０は、第１帳票５０及び第２帳票６０と同種の帳票であって、第１帳票５０及び第２帳票６０には存在しない情報が存在する帳票である。具体的には、第１帳票５０及び第２帳票６０には存在しない情報は、第３帳票７０の領域７３と領域７４とに存在する。領域７３には「１２３４５」という文字が記入されている。また、領域７４には、領域６４とは同じ規格で異なる内容を示すバーコードが印字されているとする。例えば、領域７４には、１０桁の数値を示す、ＮＷ−７規格のバーコードが印字されているとする。なお、第３帳票７０の欄７１及び欄７２は、それぞれ、第１帳票５０の欄５１及び欄５２に対応する。
【０１２６】
図１１は、本実施形態に係る情報処理装置１による第３帳票７０に基づく定義データ修正処理の一例を示す。
【０１２７】
ステップ５００では、取得部３１によって、第３帳票７０のイメージデータが取得される。取得部３１は、ステップ１００と同様の方法で、第３帳票７０のイメージデータを取得する。
【０１２８】
ステップ６００では、定義作成部３３によって、記憶部１１に格納されている定義データのうち、修正対象の定義データが特定される。例えば、定義作成部３３は、修正対象の定義データの指定を受け付けてもよい。この指定により、定義作成部３３は、修正対象の定義データを特定してもよい。また、定義作成部３３は、記憶部１１に格納されている定義データに設定されている帳票のレイアウト情報を参照して、ステップ５００において取得された第３帳票７０と最も合致するレイアウト情報が設定されている定義データが修正対象であると特定してもよい。
【０１２９】
ステップ７００では、第１帳票５０と第３帳票７０との差分に基づいて、ステップ６００で特定された定義データが修正される。当該抽出した差分に基づく定義データ修正処理の具体例は、図１２により示される。
【０１３０】
図１２は、本実施形態に係る情報処理装置１による、抽出した差分に基づく定義データ修正処理を例示するフローチャートである。なお、ステップ７１０〜７７０の処理は、第２帳票６０を第３帳票７０に置き換えることで、上述したステップ２１０〜２７０の処理に対応する。よって、ステップ７１０〜７７０の詳細な説明は省略する。
【０１３１】
ただし、ステップ７２０、７５０、及び、７７０では、定義データに設定された情報の読み取り位置（座標）、情報の属性（文字種、文字数等）、及び、項目名のパラメタ値が、それぞれ、第３帳票７０から抽出した情報に基づき、必要に応じて、修正される。
【０１３２】
例えば、情報の読み取り位置（座標）について、定義作成部３３は、第３帳票７０から抽出された領域が第２帳票６０から抽出された領域と重なる場合、第２帳票６０から抽出された領域により設定した情報の読み取り位置を、第２帳票６０及び第３帳票７０から抽出された領域を含む領域の位置に修正する。これにより、図１０に示される例では、例えば、欄５２に係る読み取り領域について、領域６３を示す座標が、領域６３及び領域７３を含む領域を示す座標に修正される。
【０１３３】
また、例えば、情報の属性（文字種、文字数等）について、定義作成部３３は、第３領域７０から抽出された領域に存在する情報の属性を満たすように、当該属性のパラメタ値を修正する。これにより、図１０に示される例では、例えば、定義作成部３３は、領域６３及び領域７３について、文字種「アルファベット」を「アルファベット及び数字」に、文字数「４」を「５」に修正する。他方、領域７４に存在するバーコードは、１０桁の数値を示す、ＮＷ−７規格のバーコードであるため、定義作成部３３は、領域６４及び７４について、バーコード種別「ＮＷ−７」、文字数「１２」のままで、パラメタ値を修正しなくてよい。なお、定義作成部３３は、当該属性の修正と同様の方法で、項目名についても修正してもよい。
【０１３４】
これらの処理により、第１帳票５０と第３帳票７０との差分に基づいて、ステップ６００で特定された定義データが修正される。そして、処理は、ステップ８００に進む。
【０１３５】
図１１に戻り、ステップ８００では、制御部１２によって、手動による定義データの修正が受け付けられる。ステップ８００の処理は、ステップ３００の処理とほぼ同様に説明可能である。よって、ステップ８００の詳細な説明は、省略する。
【０１３６】
ステップ９００では、制御部１２によって、修正した定義データの保存処理が実行される。ステップ９００の処理は、上述したステップ４００の処理とほぼ同様に説明可能である。よって、ステップ９００の詳細な説明は、省略する。これにより、情報処理装置１は、本動作例に係る処理を終了する。
【符号の説明】
【０１３７】
１…情報処理装置、２…スキャナ、
１１…記憶部、１２…制御部、１３…バス、１４…入出力部、１５…通信部、
２１…辞書データ、
３１…取得部、３２…抽出部、３３…定義作成部、
５０…第１帳票、５１〜５２…欄、
６０…第２帳票、６１〜６２…欄、６３〜６４…領域、
７０…第３帳票、７１〜７２…欄、７３〜７４…領域、
【図１】
2013182459.tif 000003
【図２】
2013182459.tif 000004
【図３】
2013182459.tif 000005
【図４】
2013182459.tif 000006
【図５】
2013182459.tif 000007
【図６】
2013182459.tif 000008
【図７】
2013182459.tif 000009
【図８】
2013182459.tif 000010
【図９】
2013182459.tif 000011
【図１０】
2013182459.tif 000012
【図１１】
2013182459.tif 000013
【図１２】
2013182459.tif 000014