(57)【要約】【課題】帳票の欄の配置に変更があった場合であっても、帳票に含まれる項目名欄と項目値欄とを関連付け、所望の項目値欄を特定すること。【解決手段】情報処理装置１０は、所定の帳票における項目値欄と関連付けられた項目名欄に対応付けられた項目名のセットを登録し、登録した項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定する。【選択図】図２
2020140410.tif 000002
【特許請求の範囲】
【請求項１】
所定の帳票における項目値欄と関連付けられた項目名欄に対応付けられた項目名のセットを登録する登録部と、
前記登録部によって登録された項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定する求解部と
を有することを特徴とする情報処理装置。
【請求項２】
前記処理対象の帳票中の各欄を基準にして他の欄の存在領域の分布パターンをそれぞれ求め、該分布パターンと、予め設定された許容される分布パターンおよび許容されない分布パターンのうちのいずれか一つまたは両方と比較し、前記処理対象の帳票中の項目名欄と項目値欄との関連付く可能性の有無を判定する関連付け許容判定部をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理対象の帳票中の項目名欄と項目値欄とが判別できる場合に、項目名欄と項目値欄が関連付けられるのは、欄の相対的な配置関係の観点から関連付けが許容される場合に限られるという制約条件と、各項目値欄は、少なくとも１個以上の項目名欄と関連付くという制約条件と、文字列が同じ項目名欄が複数ある場合、その中で同じ項目値欄と関連付くのは最大１個という制約条件と、項目値欄同士は、それぞれ関連付く項目名欄に記載されている項目名のセットが互いに異なるという制約条件とを付与する制約条件付与部をさらに有し、
前記求解部は、前記制約条件付与部によって付与された制約条件を満たすように、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
あらかじめ項目値欄と項目名欄の関連付けが特定されている帳票の様式情報を用いて別の帳票を処理する場合に、登録されている様式情報で保持されている項目名セットそれぞれについて、処理対象の帳票中の項目名欄セットを生成し、項目名欄と項目値欄が関連付けられるのは、欄の相対的な配置関係の観点から関連付けが許容される場合に限られるという制約条件と、各項目値欄は、最大１個の項目名欄セットと関連付くという制約条件と、各項目名欄セットは最大１個の項目値欄と関連付くという制約条件と、同じ項目名セットに対して生成される項目名欄セットのうち、項目値欄と関連付くのは最大１個という制約条件とを付与する制約条件付与部をさらに有し、
前記求解部は、前記制約条件付与部によって付与された制約条件を満たすように、処理対象の帳票に含まれる項目値欄と項目名欄セットの関連付けと、項目名欄と項目値欄との関連付けを特定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記関連付け許容判定部は、予め設定された許容される分布パターンおよび許容されない分布パターンのうちのいずれか一つまたは両方を項目名別に定義する項目名個別ルールが設定されている場合には、該項目名個別ルールに応じて、前記処理対象の帳票中の項目名欄と項目値欄との関連付く可能性の有無を判定することを特徴とする請求項２に記載の情報処理装置。
【請求項６】
所定の様式の帳票における項目名欄と項目値欄との関連付けから、相対配置パターンを取得して、取得した相対配置パターンを基に許容する配置パターンのデータを作成する許容相対配置パターン生成部をさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
情報処理装置によって実行される関連付け方法であって、
所定の帳票における項目値欄と関連付けられた項目名欄に対応付けられた項目名のセットを登録する登録工程と、
前記登録工程によって登録された項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定する求解工程と
を含むことを特徴とする関連付け方法。
【請求項８】
所定の帳票における項目値欄と関連付けられた項目名欄に対応付けられた項目名のセットを登録する登録ステップと、
前記登録ステップによって登録された項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定する求解ステップと
をコンピュータに実行させることを特徴とする関連付けプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、関連付け方法および関連付けプログラムに関する。
【背景技術】
【０００２】
業務において、電子ファイルまたは紙で作成された帳票が様々なシーンで用いられている。ここで帳票とは、電子ファイルまたは紙で作成されたドキュメントやシステム画面のなかでも、複数の項目について、それぞれ、その項目の名前（項目名）と値（項目値）が記載され、かつその関係性が２次元平面上の配置によって表現されているものをいう。
【０００３】
このような帳票は、記載内容の多くが同じであっても帳票の様式を定める組織によって様式が少しずつ異なることが多い。また、業務運用の過程で変更が加えられることも多い。例えば、従来の技術として、帳票の様式を定めた組織の違いや、運用中の改定等により、レイアウトが異なっていても、帳票上に記載された自動的に処理したい項目値の位置を正しく特定し、データを抽出できるようにするために、欄の種別（欄内の記載内容が項目名なのか、項目値なのか）を判別するための情報を予め与えることで、欄が項目名であるかどうかを判別し、その上で、項目名欄と項目値欄の対応関係を認識することで、指定された自動処理対象項目の項目名に対応する項目値欄を、帳票の欄の中から特定できるようにする方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１０４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の手法では、関連付けた結果が欄の配置変更に対応できない場合があるという課題があった。例えば、従来技術は、項目名が縦と横の両方に配置されている場合に縦と横が入れ替わった場合や、同一の項目値に関連付けられる複数の項目名間の親子関係の順序性が変わった場合に、項目値欄を特定できないという課題あった。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の情報処理装置は、所定の帳票における、所望の項目値欄と関連付けられた項目名欄に対応付けられた項目名のセットを登録する登録部と、前記登録部によって登録された項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄を関連付け、所望の項目値欄を特定する求解部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、帳票の欄の配置に変更があった場合であっても、帳票に含まれる項目名欄と項目値欄とを関連付け、所望の項目値欄を特定することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る情報処理装置の構成例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。
【図３】図３は、相対配置パターンについて説明する図である。
【図４】図４は、記載内容・位置データの一例を示す図である。
【図５】図５は、欄種別データの一例を示す図である。
【図６】図６は、票を分割する処理を説明する図である。
【図７】図７は、相対配置パターンのデータ例を示す図である。
【図８】図８は、許容される／されない相対配置パターンの一例を示す図である。
【図９】図９は、関連付け許容情報の一例を示す図である。
【図１０】図１０は、項目値欄基準での相対配置の判定結果と、項目名欄基準での相対配置の判定結果の両方を総合的に判断する処理例を説明する図である。
【図１１】図１１は、項目値欄基準での相対配置の判定結果と、項目名欄基準での相対配置の判定結果の両方を総合的に判断する処理例を説明する図である。
【図１２】図１２は、相対配置パターンを生成する処理例を説明する図である。
【図１３】図１３は、相対配置パターンを生成する処理例を説明する図である。
【図１４】図１４は、制約条件と評価関数を数式で表現する際に使用する記号について説明するための図である。
【図１５】図１５は、様式登録時における制約条件の一例を示す図である。
【図１６】図１６は、様式登録時における評価関数の一例について説明する図である。
【図１７】図１７は、登録済み様式利用時における制約条件について説明する図である。
【図１８】図１８は、登録済み様式利用時における評価関数の一例を示す図である。
【図１９】図１９は、第１の実施形態に係る情報処理装置による求解例を示す図である。
【図２０】図２０は、項目名欄と項目値欄の関連情報を示す図である。
【図２１Ａ】図２１Ａは、第１の実施形態に係る情報処理装置における全体的な処理の流れの一例を示すフローチャートである。
【図２１Ｂ】図２１Ｂは、第１の実施形態に係る情報処理装置における全体的な処理の流れの一例を示すフローチャートである。
【図２２】図２２は、第１の実施形態に係る情報処理装置の許容相対配置パターン生成部における処理の流れの一例を示すフローチャートである。
【図２３】図２３は、第１の実施形態に係る情報処理装置の記載内容・位置取得部における処理の流れの一例を示すフローチャートである。
【図２４】図２４は、第１の実施形態に係る情報処理装置の記載内容・位置取得部における処理の流れの一例を示すフローチャートである。
【図２５】図２５は、第１の実施形態に係る情報処理装置の記載内容・位置取得部における処理の流れの一例を示すフローチャートである。
【図２６】図２６は、特定プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る情報処理装置、関連付け方法および関連付けプログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る情報処理装置、関連付け方法および関連付けプログラムが限定されるものではない。
【００１０】
［第１の実施形態］
以下の実施の形態では、第１の実施形態に係る情報処理装置１０の構成、帳票処理ツール１６の論理構成、情報処理装置１０の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００１１】
［情報処理装置の構成］
まず、図１を用いて、本実施形態の情報処理装置１０を含むシステムの構成例を説明する。図１は、第１の実施形態に係る情報処理装置の構成例を示すブロック図である。なお、図１に示す構成は一例にすぎず、具体的な構成は特に限定されない。
【００１２】
情報処理装置１０は、ＰＣ（Personal  Computer）やスマートフォン等の装置であって、例えば、帳票の記載内容を機械的に処理する。ここで、帳票とは、例えば、アプリケーションで作成された電子データ、ＰＤＦファイル、システム画面の構造データ、画像データ（例えば、電子ファイルやシステム画面を画像データに変換したもの、紙をスキャンして電子化したもの）が対象である。
【００１３】
また、情報処理装置１０は、帳票の記載内容を機械的に処理するのに先立ち、許容される相対配置パターンおよび許容されない相対配置パターン（以下、「許容される／されない相対配置パターン」と記載する）を登録する処理を行う。情報処理装置１０は、帳票の様式登録の際、および登録済みの様式情報を利用する際は、登録した許容される／されない相対配置パターンを用いて、帳票に含まれる項目名欄と項目値欄との関連付けの可能性を判定する。なお、帳票の欄は矩形でなくてもよく、単純多角形であればよいものとする。また、帳票の欄は罫線で囲われることもあれば、囲われていないこともある。このため、罫線で囲われていない場合には、オブジェクト取得等で取得した矩形を欄として扱うよういしてもよい。
【００１４】
ここで、相対配置パターンについて、図３を用いて説明する。例えば、帳票における欄ｉの欄ｊに対する相対配置パターンとは、図３のように、平面を、欄ｊに外接する最小矩形を中心として、その左上、上、右上、左、右、左下、下、右下、同位の９個の領域に分けた時（以下、これらの領域を、「欄ｊを中心とする領域群」と呼ぶ）、欄ｉがどの領域に重なりをもつかを表したものである。欄ｉが広がる領域は、単一の場合もあるし、複数になる場合もある。ただし、欄は、単純多角形であるため、欄ｉの広がる領域が複数になる場合には、それらの領域同士は、領域の境界となる辺のうち少なくとも１個以上を共有している。
【００１５】
許容される／されない相対配置パターンについて、例えば、日本国内で用いられる帳票においては、項目名欄ｉが、項目値欄ｊの項目名欄であるならば、項目名欄ｉは、項目値欄ｊを中心とする領域群のうち、少なくとも左、上のどちらかの領域と重なりを持つ(左、上以外の領域と重なりを持つかどうかは問わない)か、あるいは、同位の領域とのみ重なりを持つことを、仮定できる。言い換えれば、下記（１）〜（３）の領域とのみ、重なりをもつ項目名欄ｉは、項目値欄ｊの項目名欄とはならない。
・（１）項目値欄ｊの左上の領域
・（２）項目値欄ｊの右上、右、右下、下、左下の領域、またはこれらのいくつか、あるいはすべてを結合した領域
・（３）上記（１）、（２）領域と、項目値欄ｊの同位の領域を結合した領域
【００１６】
許容される／されない相対配置パターンについて、例えば、日本国内で用いられる帳票においては、項目値欄ｊが、項目名欄ｉの項目値欄であるならば、項目値欄ｊは、項目名欄ｉを中心とする領域群のうち、少なくとも右、下のどちらかの領域と重なりを持つ（右、下以外の領域と重なりを持つかどうかは問わない）か、あるいは、同位の領域とのみ重なりを持つことを、仮定できる。言い換えれば、下記（１）〜（３）の領域とのみ、重なりをもつ項目値欄ｊは、項目名欄ｉの項目値欄とはならない。
・（１）項目名欄ｉの右下の領域
・（２）項目名欄ｉの左下、左、左上、上、右上の領域、またはこれらを結合した領域
・（３）上記（１）、（２）の領域と、項目値欄ｉの同位の領域を結合した領域
【００１７】
ここでは、許容される相対配置パターン、または許容されない配置パターンを、具体的に列挙することで指定しているが、「領域群のうち、○○領域と××領域の少なくともいずれかと重なりを持てば、許容される。」という許容条件や、非許容条件を表す論理式等により、指定してもよい。
【００１８】
以上は、任意の項目名欄と項目値欄に関する「汎用モデル」である。特定の様式における、特定の項目名をもつ項目名欄と項目値欄について、これとは異なる仮定が必要な場合には、「項目名個別ルール」として、その項目名欄と項目値欄の相対配置パターンについて、許容できるもの、または許容できないものを決めておくようにしてもよい。
【００１９】
情報処理装置１０は、操作入力部１１ａ、帳票入力部１１ｂ、表示部１２、ＯＳ（Operating  System）１３、記憶部１４、エディタ１５および帳票処理ツール１６を有する。なお、これらの構成要素が同一装置上にある場合に限定されず、複数の装置に分散して配置されてもよい。
【００２０】
操作入力部１１ａは、帳票の様式登録、機械的な処理などの実行命令や、項目名欄と項目値欄の関連情報の修正や編集などツールに対する操作を入力するものであり、キーボードやマウス、タッチパネルなどを備えて構成される。帳票入力部１１ｂは、帳票のデータなどを入力するものであり、カメラ、スキャナなどを備えて構成される。また、表示部１２は、各種処理結果を表示するものであり、ディスプレイやタッチパネル、スピーカなどを備えて構成される。
【００２１】
また、情報処理装置１０本体は、ＯＳ１３が実行され、ＯＳ１３の処理にともない各種パラメータ等を編集するためのエディタ１５や帳票を処理するための帳票処理ツール１６が起動される。
【００２２】
記憶部１４は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１４は、例えば、後述する欄の種別の判別情報を記憶する。
【００２３】
次に、図２の例を用いて、帳票処理ツール１６の論理構成について説明する。図２は、第１の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。図２に例示するように、帳票処理ツール１６は、記載内容・位置取得部１６１、欄の種別判別部１６２、票分割部１６３、関連付け許容判定部１６４、評価関数生成部１６５、制約条件付与部１６６、求解部１６７、登録部１６８ａ、修正部１６８ｂおよび許容相対配置パターン生成部１６９を有する。
【００２４】
記載内容・位置取得部１６１は、帳票のデータを受け付け、帳票における欄の構成領域と欄に含まれる文字列を取得する。そして、記載内容・位置取得部１６１は、取得した各帳票中の各欄の文字列と各欄の構成領域を示す記載内容・位置データ１７０ａを作業データ蓄積部１７０に格納する。ここで、記載内容・位置データ１７０ａについて図４を用いて説明する。図４に例示するように、記載内容・位置データ１７０ａは、欄を識別する「欄ＩＤ」と、欄に含まれる「文字列」と、文字列を構成する「文字の種類」と、「欄の構成領域」とが対応付けられている。欄の構成領域は、例えば、ベクターデータのように、欄の輪郭線、欄の頂点集合に関する情報であってもよいし、ラスターデータのように、帳票全体を行と列の格子状に並んだセルに分割して、欄がどのセルを含むかどうかの情報であってもよい。
【００２５】
欄の種別判別部１６２は、帳票の各欄の種別を判別し、判別結果を欄種別データ１７０ｂとして作業データ蓄積部１７０に格納する。なお、帳票の各欄の種別を判別する方法はどのような方法であってもよい。また、欄の種別判別部１６２は、既知の帳票については、予め設定された欄の種別を判別するための情報を参照して、帳票の各欄の種別を判別するようにしてもよい。また、例えば、欄の種別判別部１６２は、レイアウトが同一の複数の帳票を取得し、各帳票における同一位置の各欄の記載内容を比較し、各帳票における同一位置の欄の記載内容が同一である場合には、当該欄の種別を項目名と判別し、異なる欄がある場合には、当該欄の種別を項目値と判別するようにしてもよい。
【００２６】
ここで、欄種別データ１７０ｂについて図５を用いて説明する。図５に例示するように、欄種別データ１７０ｂは、欄を識別する「ＩＤ」と欄の種別を示す「種別」とが対応付けられている。図５の例では、種別が「ＴＲＵＥ」である場合には、欄が「項目名」であることを意味し、種別が「ＦＡＬＳＥ」である場合には、欄が「項目値」であることを意味する。
【００２７】
票分割部１６３は、項目名欄と項目値欄の関連付けの効率化のために、票を分割する。票分割部１６３は、例えば、図６に例示するように、罫線で囲われている領域と、囲われていない領域で分割し、各領域における票をそれぞれ一つの票として扱う。そして、票分割部１６３は、記載内容・位置データ１７０ａのデータを票ごとに分けて票別記載内容・位置データ１７０ｃとして作業データ蓄積部１７０に格納する。なお、票分割部１６３による処理は省略してもよく、票を分割しない場合には、帳票全体を１つの票として扱い、以後の処理を行う。以降では、特に断りのない限り、分割した場合には分割して得られる各票を、分割しない場合には帳票全体を、単に「帳票」として記載し、区別しない。
【００２８】
関連付け許容判定部１６４は、処理対象の帳票中の各欄を基準にして他の欄の存在領域の分布パターンである相対配置パターンをそれぞれ求め、該相対配置パターンと、予め設定された「許容される／されない相対配置パターン」のうちのいずれか一つまたは両方と比較し、処理対象の帳票中の項目名欄と項目値欄との関連付く可能性の有無を判定する。つまり、関連付け許容判定部１６４は、「許容される／されない相対配置パターン」に基づき、各項目値欄と項目名欄とが関連付く可能性があるかどうかを判定する。
【００２９】
具体的には、まず、関連付け許容判定部１６４は、処理対象の帳票中の各欄を基準にして他の欄の存在領域の分布パターンである相対配置パターンを求め、「相対配置パターン」１７０ｄとして作業データ蓄積部１７０に格納する。ここで、図７の例を用いて、相対配置パターンのデータ例について説明する。図７に例示するように、相対配置パターンは、項目名を識別する「項目名欄ＩＤ」と、項目値を識別する「項目値欄ＩＤ」と、項目名と項目値のいずれを基準とするかを示す「基準」と、相対配置パターンを識別する「相対配置パターンＩＤ」とが対応付けられている。
【００３０】
そして、関連付け許容判定部１６４は、相対配置パターン保持部１７１に記憶される許容される／されない相対配置パターン１７１ａを参照し、各欄の相対配置パターンが各項目値欄と項目名欄とが関連付く可能性があるかどうかを判定する。具体的には、項目名欄と項目値欄の各組合せについて、項目名欄を基準とする項目値欄の相対配置パターンが許容されるかどうか、および項目値欄を基準とする項目名欄の相対配置パターンが許容されるかどうかを、許容される／されない相対配置パターン１７１ａを参照して判定し、どちらを基準とした場合にも許容される場合には、関連付く可能性があると判定し、そうでない場合には、関連付く可能性がないと判定する。ここで、図８の例を用いて、許容される／されない相対配置パターンのデータ例について説明する。許容される／されない相対配置パターン１７１ａは、相対配置パターンＩＤを示す「ＩＤ」と、項目名と項目値のいずれを基準とするかを示す「基準」と、左上、上、右上、左、同位、右、左下、下、右下のそれぞれに配置されているかどうか（１／０）を上記の順に２進数で表現した「相対配置パターン」と、許容されるか否かを示す「許容可否」とが対応付けられている。
【００３１】
図７および図８の例を挙げて具体例に説明すると、例えば、関連付け許容判定部１６４は、図７に例示する相対配置パターンの１行目の、項目名欄ＩＤ「１」、項目値欄ＩＤ「３」、基準「項目名」について、相対配置パターンＩＤが「８」であるため、図８の許容される／されない相対配置パターン１７１ａのＩＤ「８」に対応する許容可否を参照する。図８の例では、ＩＤ「８」に対応する許容可否が「○」であるため、関連付け許容判定部１６４は、許容されるものと判定する。また、関連付け許容判定部１６４は、項目名欄ＩＤ「１」、項目値欄ＩＤ「３」、基準「項目値」について、相対配置パターンＩＤが「５４８」であるため、許容される／されない相対配置パターン１７１ａのＩＤ「５４８」に対応する許容可否を参照する。ここで、ＩＤ「５４８」に対応する許容可否も「○」であるため、関連付け許容判定部１６４は、項目名欄ＩＤ「１」の項目名欄と項目値欄ＩＤ「３」の項目値欄とは関連付く可能性があると判定し、判定結果を関連付け許容情報１７０ｅとして作業データ蓄積部１７０に格納する。また、もし、ＩＤ「５４８」に対応する許容可否が「×」であれば、関連付け許容判定部１６４は、項目名欄ＩＤ「１」の項目名欄と項目値欄ＩＤ「３」の項目値欄とは関連付く可能性がないと判定し、判定結果を関連付け許容情報１７０ｅとして作業データ蓄積部１７０に格納する。
【００３２】
ここで、図９の例を用いて、関連付け許容情報のデータ例について説明する。関連付け許容情報１７０ｅは、図９に例示するように、「項目名欄ＩＤ」および「項目値欄ＩＤ」の組み合わせと許容可能かどうかを示す「許容可能」とが対応付けられている。関連付け許容情報１７０ｅにおける許容可能が「１」である場合には、対応する「項目名欄ＩＤ」および「項目値欄ＩＤ」の組み合わせが関連付く可能性があることを意味する。上記の例のように、関連付け許容判定部１６４は、項目名欄ＩＤ「１」の項目名欄と項目値欄ＩＤ「３」の項目値欄とは関連付く可能性があると判定した場合には、関連付け許容情報として、項目名欄ＩＤ「１」と項目値欄ＩＤ「３」と許容可能「１」とを対応付けて作業データ蓄積部１７０に格納する。
【００３３】
このように、関連付け許容判定部１６４は、欄の形状が矩形ではない場合であっても、項目値欄基準での相対配置の判定結果と、項目値名欄基準での相対配置の判定結果の両方を総合的に判断することにより、補完し合い、不要な対応関係の可能性を否定でき、誤って対応付けられる場合を減らすことが可能である。
【００３４】
ここで、図１０および図１１を用いて、項目値欄基準での相対配置の判定結果と、項目名欄基準での相対配置の判定結果の両方を総合的に判断する処理について説明する。図１０および図１１は、項目値欄基準での相対配置の判定結果と、項目名欄基準での相対配置の判定結果の両方を総合的に判断する処理例を説明する図である。
【００３５】
例えば、図１０に例示するように、関連付け許容判定部１６４は、項目値欄ｊ基準で相対配置を判定すると、項目名欄ｉは「同位」の領域内にのみ存在しており、「左」「上」の領域には広がっていないものの、「同位」でよくわからないため、対応関係は否定できないものと判定する。一方、関連付け許容判定部１６４は、項目名欄ｉ基準で相対配置を判定すると、項目値欄ｊは「左」「左上」「上」の領域内にのみ存在し、対応関係はあり得ないと判定する。このため、関連付け許容判定部１６４は、判定結果を総合すると、項目名欄ｉは、項目値欄ｊの項目名欄にはなりえないと判断する。
【００３６】
また、例えば、図１１に例示するように、関連付け許容判定部１６４は、項目値欄ｊ基準で相対配置を判定すると、項目名欄ｉは「右」「右下」「下」の領域内にのみ存在し、対応関係はありえないと判定する。一方、関連付け許容判定部１６４は、項目名欄ｉ基準で相対配置を判定すると、項目値欄ｊは「同位」の領域内にのみ存在し、「右」「下」の領域には広がっていないものの、「同位」でよくわからないため、対応関係は否定できないと判定する。このため、関連付け許容判定部１６４は、判定結果を総合すると、項目名欄ｉは、項目値欄ｊの項目名欄にはなりえないと判断する。
【００３７】
ここで、上述した許容される／されない相対配置パターンを具体的に列挙し、そのそれぞれに対して許容される／されない、を指定しておく方法とは別の方法として、様々な様式の項目名欄と項目値欄の関連付けの事例から、相対配置パターンを取得して、それを基に許容する配置パターンを生成することも可能である。例えば、許容相対配置パターン生成部１６９は、任意の項目名欄と項目値欄が関連付くこと（または関連付かないこと）が既知のときに、その項目名欄と項目値欄の相対配置パターンがいずれかにより、許容する（または許容しない）相対配置パターンを生成する。
【００３８】
許容相対配置パターン生成部１６９は、所定の様式の帳票における項目名欄と項目値欄との関連付けから、相対配置パターンを取得して、取得した相対配置パターンを基に許容する相対配置パターンのデータを作成する。つまり、許容相対配置パターン生成部１６９では、項目名欄と項目値欄の関連付けに関する情報を用いて、許容される（あるいは、許容されない）相対配置パターンを生成する。なお、項目名欄と項目値欄の関連付け情報は、人手等で関連付けられた結果が、許容相対配置パターン生成部の入力として与えられるものとする。
【００３９】
ここで、図１２および図１３の例を用いて、相対配置パターンを生成する処理について説明する。図１２および図１３は、相対配置パターンを生成する処理例を説明する図である。例えば、図１２に例示するように、許容相対配置パターン生成部１６９は、項目名欄ｉと項目値欄ｊとが関連付くことが既知である場合に、項目名欄ｉを基準とした相対配置パターン「000001000」を許容される相対配置パターンとして生成し、相対配置パターン保持部１７１に格納する。また許容相対配置パターン生成部１６９は、項目値欄ｊを基準とした相対配置パターン「100100100」を許容される相対配置パターンとして生成し、相対配置パターン保持部１７１に格納する。
【００４０】
また、図１３に例示するように、許容相対配置パターン生成部１６９は、項目名欄ｉと項目値欄ｊとが関連付くことが既知である場合に、項目名欄ｉを基準とした相対配置パターン「000010000」を許容される相対配置パターンとして生成し、相対配置パターン保持部１７１に格納する。また許容相対配置パターン生成部１６９は、項目値欄ｊを基準とした相対配置パターン「110100100」を許容される相対配置パターンとして生成し、相対配置パターン保持部１７１に格納する。
【００４１】
また、関連付け許容判定部１６４は、登録済み様式情報利用時、すなわち、様式保持部１７２で保持されている様式情報を使って処理対象帳票中の項目値欄と項目名欄の関連付けを求める際に、予め設定された許容される分布パターンおよび許容されない分布パターンのうちのいずれか一つまたは両方を項目名別に定義する項目名個別ルールが様式情報として設定されている場合には、該項目名個別ルールに応じて、処理対象の帳票中の項目名欄と項目値欄との関連付く可能性の有無を判定するようにしてもよい。項目名個別ルールとして、例えば、項目名の文字列が「契約ＩＤ」の欄は右方向にある項目値欄と関連付くことや、項目名の文字列が「顧客タイプ」の欄は下方向にある項目値と関連付かないこと等が設定されているものとする。
【００４２】
評価関数生成部１６５は、評価関数で必要な、帳票に応じて決定される係数を求め、評価関数を生成し、適用する評価関数１７０ｆとして作業データ蓄積部１７０に格納する。評価関数は、各項目値欄に対して、項目名欄と項目値欄の関連の度合いを評価する観点を反映した評価項目で構成される。評価関数には、項目値欄と項目名欄の関連付けを求める際の評価項目として、項目値欄と項目名欄の配置上の近さ、欄の幅／高さの差あるいはその割合の小ささ、項目値欄と項目名欄の関連付けの少なさ、といった評価項目のうちのいずれかまたはすべてを用いる。また、登録済み様式情報利用時には、これらの評価項目に加え、様式登録時の帳票中に存在していた項目のうち、処理対象帳票中にも存在する項目の多さ、といった評価項目を用いる。
【００４３】
例えば、帳票は、項目名の情報から項目値の記載内容を理解できる媒体であることを前提とすると、可読性の観点から、項目名欄は項目値欄となるべく距離が近い位置に配置されている可能性が高い。従って、「項目名欄と項目値欄の距離が近いほうが、評価が高い」という、汎用的な評価項目を仮定できる。また、項目名欄と項目値欄の関連は、欄のサイズによっても表現されており、項目名欄の幅と項目値欄の幅が近い、つまり、帳票の縦方向または横方向に欄を射影した際に、重なる範囲が大きいほうが関連性が高い傾向があることから、汎用的な評価項目として「項目名欄の幅と項目値欄の幅の差が小さいほうが評価値が高い」を仮定できる。
【００４４】
また、汎用的な、あるいは項目名個別ルールの許容される相対配置パターンについて、相対配置パターンごとに予め評価項目値を用意しておき、項目名欄と項目値欄の関連付けが未知の帳票の項目名欄と項目値欄の組合せに対し、それらの相対配置パターンに応じてその評価項目値を適用し、評価関数に含めてもよい。相対配置パターンごとに予め用意する評価項目値としては、例えば、項目名欄と項目値欄の関連付けが既知の帳票において、関連付けられる事例が多い相対配置パターンほど高い評価項目値とすることが考えられる。
【００４５】
また、登録済み様式情報利用時には、項目名欄に関連付けられる項目値欄の、相対配置パターンや欄内に記載されている文字の種類と、様式登録時の帳票におけるそれらとの一致度合いに関する評価項目を、評価関数に含めてもよい。
【００４６】
あるいは、後述の制約条件を満たさない場合にペナルティとなる評価項目を含めてもよい。例えば、項目値欄が項目名欄と関連付かない場合も許容しつつも、なるべくそのような項目値欄が残らないように、「項目値欄に項目名欄が１個も割り当てられなければ評価が低い」という評価項目を評価関数に含めてもよい。
【００４７】
あるいは、評価関数生成部１６５は、登録済み様式情報利用時には、項目が追加された可能性のある場合、すなわち項目名欄、項目値欄が正しく判別できていない欄が含まれている可能性のある場合、各項目名欄に関連付けられる項目値欄の個数と、様式登録時の帳票におけるそれとの一致度合いに関する評価項目を、評価関数に含めてもよい。なお、この場合には、評価関数生成部１６５は、様式登録時の帳票において各項目名欄に関連付けられる項目値欄の個数を、様式保持部１７２で保持されている様式情報から算出する。
【００４８】
評価関数生成部１６５は、項目値欄と項目名欄の関連付けを求める際の評価関数として、上述したような評価項目候補のうち、いずれか一つまたは複数を、予め指定しておいた重みにより重み付けし、関数として生成する。
【００４９】
ここで、図１４の例を用いて評価関数と制約条件を数式として表現する際に用いる記号について説明する。図１４は、評価関数と制約条件を数式として表現する際に用いる記号について説明するための図である。図１４では、「集合と要素」、「定数」、「変数」および「評価関数」についてそれぞれ記号の定義が記載されている。
【００５０】
そして、ここで、図１６、図１８の例を用いて、評価関数の一例について説明する。図１６は、様式登録時における評価関数の一例について説明する図である。図１６の（１）式では、ｘｉｊを変数として、評価値の総和が最小となるように解を求める。また、ｃｉｊは、図１６の（２）式により求められる。
【００５１】
図１８は、登録済み様式情報利用時の評価関数の一例について説明する図である。図１８の（１）式、その中のｃｉｊは、図１６と同じである。図１８の（２）式は、様式情報から求められる様式登録時の帳票に含まれる項目名セットのうち、処理対象帳票中のいずれの項目値欄とも関連づかない項目名セットの少なさ、すなわち、様式登録時の帳票中に存在していた項目のうち、処理対象帳票中にも存在する項目の多さに関する評価項目を重み付けしたものである。
【００５２】
制約条件付与部１６６は、所定の制約条件を付与し、適用する制約条件１７０ｇとして作業データ蓄積部に格納する。制約条件には、各項目値欄が関連付く項目名欄の組み合わせを仮定したときに、少なくとも満たすべき条件を定義する。なお、様式登録時と、登録済み様式情報利用時とでは、制約条件が異なるものとする。なお、以下に例示する制約条件は、一例であり、その他制約条件を追加で付与してもよい。例えば、一部の項目について、項目名欄と項目値欄が関連付けられること、関連付けられないことが与えられていれば、制約条件に追加で付与してもよい。
【００５３】
例えば、制約条件付与部１６６は、処理対象の帳票中の項目名欄と項目値欄とが判別できる、様式登録時であれば、制約条件「項目名欄と項目値欄が関連付けられるのは、関連付けが許容される相対配置パターンである場合に限られる」と、制約条件「各項目値欄は、少なくとも１個以上の項目名欄と関連付く」と、制約条件「文字列が同じ項目名欄が複数ある場合、その中で同じ項目値欄と関連付くのは最大１個」と、制約条件「項目値欄同士は、それぞれ関連付く項目名欄に記載されている項目名のセットが互いに異なる」とを付与する。
【００５４】
また、例えば、制約条件付与部１６６は、処理対象の帳票中の項目値欄の中に、欄の種別を判別できていない欄が含まれている可能性のある、登録済み様式情報利用時であれば、制約条件の付与に先立ち、まず、様式保持部１７２で保持している様式情報から、様式登録時の帳票の各項目値欄に対し、項目名セットを求める。ここで項目名セットとは、各項目値欄に関連付けられる項目名欄の文字列の集合のことをいう。次に、各項目名セットに対し、処理対象帳票中の項目名欄の中から、項目名セットに含まれる文字列をもつ項目名欄を選び、割り当てることにより、項目名欄セットを作成する。ここで項目名欄セットとは、項目名欄の集合のことをいう。その際、同じ文字列、つまり項目名をもつ項目名欄が処理対象帳票中に複数あり、複数通りの割り当て方が可能であれば、その割り当て方の場合の数だけ、項目名欄セットを列挙する。その上で、制約条件「項目名欄と項目値欄が関連付けられるのは、関連付けが許容される相対配置パターンである場合に限られる」と、制約条件「各項目名欄セットは最大１個の項目値欄と関連付く」と、制約条件「各項目値欄は、最大1個の項目名欄セットと関連付く」と、制約条件「同じ項目名セットに対して生成される項目名欄セットのうち、項目値欄と関連付くのは最大１個」とを付与する。また、登録済みの様式情報に含まれる項目のうち、処理対象として必須の項目が指定されている場合には、それら項目の各項目名セットについて、制約条件「同じ項目名セットから生成される項目名欄セットのうち、項目値欄に関連付くものはちょうど１個」をさらに付与する。
【００５５】
また、制約条件については、図１５、図１７に例示する。図１５は、様式登録時における制約条件の一例を示す図である。図１５に例示するように、「各項目値欄は、少なくとも１個以上の項目名欄と関連付く」ことと（図１５の（１）式参照）、「項目名欄と項目値欄が関連付けられるのは、関連付けが許容される相対配置パターンである場合に限られる」ことと（図１５の（２）式参照）、「文字列が同じ項目名欄が複数ある場合、その中で同じ項目値欄と関連付くのは最大１個」であることと（図１５の（３）式参照）、「項目値欄同士は、それぞれ関連付く項目名欄に記載されている項目名のセットが互いに異なる」こと（図１５の（４）式参照）が様式登録時の制約条件として付与される。
【００５６】
また、本実施形態では、登録済み様式情報利用時には、項目値欄と項目名欄セットの関連の有無を追加の変数として置き、図１７に例示するように、「各項目値欄は、最大1個の項目名欄セットと関連付く」ことと（図１７の（１）式参照）、「各項目名欄セットは最大１個の項目値欄と関連付く」ことと「各項目名セットについて、同じ項目名セットから生成される項目名欄セットのうち、項目値欄に関連付くものは最大１個」であることと（図１７の（２）式参照）、「項目名欄と項目値欄が関連付けられるのは、関連付けが許容される相対配置パターンである場合に限られる」ことと（図１７の（４）式参照）、さらに項目値欄と項目名欄の関連の有無を表す変数と、項目値欄と項目名欄セットの関連の有無を表す変数の間に成立する関係（図１７の（５）式参照）が制約条件として付与される。また、様式登録時の帳票の項目のうち、登録済み様式情報利用時において必須の項目がある場合には、「各項目名セットについて、同じ項目名セットから生成される項目名欄セットのうち、項目値欄に関連付くものはちょうど１個」であること（図１７の（３）式参照）が追加の制約条件として付与される。
【００５７】
求解部１６７は、制約条件付与部によって付与された制約条件を満たし、かつ評価関数生成部によって生成された評価関数を最適化するように、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定する。
【００５８】
例えば、求解部１６７では、項目値欄と項目名欄の関連の有無を変数として置き、制約条件を満たし、かつ評価関数を最小化する解の組み合わせを厳密または近似的に求める、あるいは、この問題を近似した数式で表現し解くことで、項目名欄と項目値欄の関連付けを求める。数式の表現方法は、想定する制約条件と評価関数の意味が変わらなければ、ソルバーの利用有無、使用するソルバーにあわせて更に近似した数式表現に変えてもよい。
【００５９】
求解部１６７は、例えば、図１９に例示するように、項目名欄と項目値欄との関連付けを特定する。図１９は、第１の実施形態に係る情報処理装置による求解例を示す図である。図１９の例を挙げて具体的に説明すると、例えば、求解部１６７は、文字列「契約ＩＤ」を含む項目名欄と文字列「12345678」を含む項目値欄とが関連付くものとして特定する。そして、求解部１６７は、項目名欄と項目値欄の関連情報１７０ｈを作業データ蓄積部１７０に格納する。
【００６０】
また、図１９に例示するように、例えば、求解部１６７は、文字列「契約者名義」を含む項目名欄および文字列「フリガナ」を含む項目名欄と、文字列「デンデンタロウ」を含む項目値欄とが関連付くものとして特定する。そして、求解部１６７は、項目名欄と項目値欄の関連情報１７０ｈを作業データ蓄積部１７０に格納する。
【００６１】
図２０に例示するように、項目名欄と項目値欄の関連情報１７０ｈは、項目値欄を識別する「項目値欄ＩＤ」と、項目名欄を識別する「項目名欄ＩＤ」とが対応付けられている。図２０は、項目名欄と項目値欄の関連情報を示す図である。
【００６２】
修正部１６８ｂは、求解部１６７によって登録された項目名欄と項目値欄の関連情報１７０ｈを修正する。例えば、修正部１６８ｂは、ユーザの指示に応じて、作業データ蓄積部１７０に記憶された項目名欄と項目値欄の関連情報１７０ｈを修正する。あるいは、修正部１６８ｂでは、ユーザの指示に応じて、項目名個別ルールを追加、変更、削除する。
【００６３】
登録部１６８ａは、作業データ蓄積部１７０で保持されている、様式登録時の処理対象帳票の項目名欄と項目値欄の関連付けを求めた結果とその過程で作成されたデータの一部を、帳票の様式を識別する識別子に対応付けて、様式情報として登録する。具体的には、登録部１６８ａは、作業データ蓄積部１７０に記憶された、欄種別データ１７０ｂと、票別記載内容・記載位置データ１７０ｃと、相対配置パターン１７０ｄと、項目名欄と項目値欄の関連情報１７０ｈを、様式保持部１７２にそれぞれ欄種別データ１７２ｂ、票別記載内容・記載位置データ１７２ｄ、相対配置パターン１７２ｅ、項目名欄と項目値欄の関連情報１７２ａとして登録する。また、設定された項目名個別ルール１７２ｃを様式保持部１７２に登録する。
【００６４】
なお、以上の説明では、登録部では、様式情報として、作業データ蓄積部１７０に記憶された、欄種別データ１７０ｂと、票別記載内容・記載位置データ１７０ｃと、相対配置パターン１７０ｄと、項目名欄と項目値欄の関連情報１７０ｈを、様式保持部１７２に登録し、登録済みの様式情報利用時に、様式保持部１７２に登録されたこれらのデータから、様式登録時の帳票の各項目値欄に対し、項目名セットを求めるようにしているが、項目名セットは、様式登録時に登録部で求めておき、様式情報の一部として様式保持部１７２に登録しておき、登録済みの様式情報利用時には、その項目名セットを利用することとしてもよい。
【００６５】
また、以上の説明では、記載内容・位置取得部、欄の種別判定部、票分割部、関連付け許容判定部での処理により得られたデータ、相対配置パターン保持部で保持するデータ、様式保持部で保持するデータを、評価関数生成部、制約条件付与部、求解部から成る機能部でそれぞれ処理することにより、登録部によって登録された項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定しているが、これら評価関数生成部、制約条件付与部、求解部を、ひとつの「求解部」としてまとめた構成とすることや、さらにそのまとめた「求解部」において、入力となるデータは同じとしつつ、内部的には制約条件や評価関数を明示的には用いない方法により、登録部によって登録された項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定するようにしてもよい。
【００６６】
［情報処理装置の処理手順］
次に、図２１Ａおよび図２１Ｂを用いて、第１の実施形態に係る情報処理装置１０の処理手順の例を説明する。図２１Ａおよび図２１Ｂは、第１の実施形態に係る情報処理装置における全体的な処理の流れの一例を示すフローチャートである。
【００６７】
図２１Ａおよび図２１Ｂに示すように、記載内容・位置取得部１６１が、帳票のデータを受け付け、帳票における欄の構成領域と欄に含まれる文字列を取得し、作業データ蓄積部１７０に、記載内容・位置データ１７０ａを格納する（ステップＳ１０１）。
【００６８】
そして、欄の種別判別部１６２が、帳票のデータを受け付け、あるいは作業データ蓄積部１７０で保持されている記載内容・位置データ１７０ａを参照し、帳票の各欄の種別を判別し、作業データ蓄積部１７０に、欄種別データ１７０ｂを格納する（ステップＳ１０２）。
【００６９】
続いて、票分割部１６３が、帳票のデータを受け付け、かつ作業データ蓄積部１７０で保持されている記載内容・位置データ１７０ａを参照し、帳票を票に分割し、作業データ蓄積部１７０に、票別記載内容・位置データ１７０ｃを格納する（ステップＳ１０３）。
【００７０】
そして、関連付け許容判定部１６４は、分割された票についてすべて後述の処理が済んでいるか判定し（ステップＳ１０４）、分割された票がすべて処理済みである場合には（ステップＳ１０４肯定）、処理を終了する。また、分割された票がすべて処理済みでない場合には（ステップＳ１０４否定）、関連付け許容判定部１６４が、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃから、未処理の票(以下、単に「帳票」と記載)のものを１個選択する（ステップＳ１０５）。
【００７１】
続いて、関連付け許容判定部１６４が、選択された票別記載内容・位置データ１７０ｃと欄種別データ１７０ｂを参照し、項目名欄と項目値欄の各組合せに対し、互いの相対配置パターンを調べ、作業データ蓄積部１７０に、相対配置パターン１７０ｄを格納する（ステップＳ１０６）。
【００７２】
そして、様式登録時の処理である場合には（ステップＳ１０７肯定）、関連付け許容判定部１６４が、作業データ蓄積部１７０で保持されている相対配置パターン１７０ｄと、相対配置パターン保持部１７１で保持されている許容される／されない相対配置パターン１７１ａを参照し、また、修正部１６８ｂから項目名個別ルールを受け付け、帳票内の項目名欄と項目値欄の各組合せに対し、関連付く可能性の有無を判定し、作業データ蓄積部１７０に、関連付け許容情報１７０ｅを格納する（ステップＳ１０８）。
【００７３】
そして、評価関数生成部１６５が、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃと欄種別データ１７０ｂと相対配置パターン１７０ｄを参照し、評価関数を生成し、作業データ蓄積部１７０に、適用する評価関数１７０ｆを格納する（ステップＳ１０９）。
【００７４】
続いて、制約条件付与部１６６が、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃと欄種別データ１７０ｂと関連付け許容情報１７０ｅを参照し、付与する制約条件を列挙し、作業データ蓄積部１７０に、適用する制約条件１７０ｇを格納する（ステップＳ１１０）。
【００７５】
その後、求解部１６７が、作業データ蓄積部１７０で保持されている適用する評価関数１７０ｆと適用する制約条件１７０ｇを参照し、制約条件を満たし評価関数を最適化する解を求め、作業データ蓄積部１７０に、項目名欄と項目値欄の関連情報１７０ｈを格納する（ステップＳ１１１）。
【００７６】
そして、修正部１６８ｂが、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃと項目名欄と項目値欄の関連情報１７０ｈを参照し、人に提示し、人による修正内容を受け付け、修正内容に応じて、項目名欄と項目値欄の関連情報１７０ｈを更新する、または項目名個別ルールを追加・変更・削除する（ステップＳ１１２）。
【００７７】
そして、項目名個別ルールの追加・変更・削除がある場合には（ステップＳ１１３肯定）、ステップＳ１０８の処理に戻る。また、項目名個別ルールの追加・変更・削除がない場合には（ステップＳ１１３否定）、登録部１６８ａが、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃと欄種別データ１７０ｂと相対配置パターン１７０ｄと項目名欄と項目値欄の関連情報１７０ｈを参照し、また、修正部１６８ｂから項目名個別ルールを受け付け、これらを対応づけ、ひとつの様式情報として、様式保持部１７２に登録する（ステップＳ１１４）。
【００７８】
また、ステップＳ１０７において、様式登録時でない場合には（ステップＳ１０７否定）、関連付け許容判定部１６４は、様式保持部１７２で保持されている様式情報をすべて適用済みであるか判定する（ステップＳ１１５）。
【００７９】
この結果、様式保持部１７２で保持されている様式情報をすべて適用済みではないと判定された場合には（ステップＳ１１５否定）、関連付け許容判定部１６４が、様式保持部１７２で保持されている様式情報から、未適用の様式情報を１個選択する（ステップＳ１１６）。
【００８０】
続いて、関連付け許容判定部１６４が、作業データ蓄積部１７０で保持されている相対配置パターン１７０ｄと、相対配置パターン保持部１７１で保持されている許容される／されない相対配置パターン１７１ａと、様式情報に含まれる項目名別ルール１７２ｃを参照し、帳票内の項目名欄と項目値欄の各組合せに対し、関連付く可能性の有無を判定し、作業データ蓄積部１７０に、関連付け許容情報１７０ｅを格納する（ステップＳ１１７）。
【００８１】
続いて、評価関数生成部１６５が、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃと欄種別データ１７０ｂと相対配置パターン１７０ｄと、様式情報に含まれる票別記載内容・位置データ１７２ｄ、欄種別データ１７２ｂ、相対配置パターン１７２ｅ、項目名欄と項目値欄の関連情報１７２ａを参照し、評価関数を生成し、作業データ蓄積部１７０に、適用する評価関数１７０ｆを格納する（ステップＳ１１８）。
【００８２】
そして、制約条件付与部１６６が、作業データ蓄積部１７０で保持されている票別記載内容・位置データ１７０ｃと欄種別データ１７０ｂと関連付け許容情報１７０ｅと、様式情報に含まれる票別記載内容・位置データ１７２ｄ、欄種別データ１７２ｂ、項目名欄と項目値欄の関連情報１７２ａを参照し、付与する制約条件を列挙し、作業データ蓄積部１７０に、適用する制約条件を格納する（ステップＳ１１９）。
【００８３】
その後、求解部１６７が、作業データ蓄積部１７０で保持されている適用する評価関数１７０ｆと適用する制約条件１７０ｇを参照し、制約条件を満たし評価関数を最適化する解を求め、作業データ蓄積部１７０に、項目名欄と項目値欄の関連情報を格納する。また、様式情報から求められる項目名セットのうち、項目値欄と関連付けらえた項目名セットの数をカウントする（ステップＳ１２０）。
【００８４】
そして、項目値欄と関連付けられた項目名セットの数について、現在選択されている様式情報適用時の方が、これまでで最良の様式情報適用時より大きくない場合には（ステップＳ１２１否定）、ステップＳ１１５の処理に戻る。また、項目値欄と関連付けられた項目名セットの数について、現在選択されている様式情報適用時の方が、これまでで最良の様式情報適用時より大きい場合には（ステップＳ１２１肯定）、現在選択されている様式情報と、項目名欄と項目値欄の関連情報と、項目値欄と関連付けらえた項目名セットの数を、これまでで最良の様式情報適用時のものとして、保持し（ステップＳ１２２）、ステップＳ１１５の処理に戻る。
【００８５】
また、ステップＳ１１５において、様式保持部１７２で保持されている様式情報をすべて適用済みであると判定された場合には（ステップＳ１１５肯定）、これまでで最良の様式情報適用時のものとして保持されている、項目名欄と項目値欄の関連情報を、選択された票における、項目名欄と項目値欄の関連情報とし（ステップＳ１２３）、ステップＳ１０４に戻る。
【００８６】
次に、図２２を用いて、第１の実施形態に係る情報処理装置１０の許容される／されない相対配置パターン登録時の処理手順の例を説明する。図２２は、図２２は、第１の実施形態に係る情報処理装置１０の許容相対配置パターン生成部における処理の流れの一例を示すフローチャートである。
【００８７】
図２２に示すように、許容相対配置パターン生成部１６９が、帳票処理ツール外から、票別記載内容・位置データ、欄種別データ、項目名欄と項目値欄の関連情報に相当する入力データを受け付ける（ステップＳ２０１）。そして、許容相対配置パターン生成部１６９が、未処理の関連付けられた項目名欄と項目値欄の組合せがあるか判定し（ステップＳ２０２）、組合せがないと判定した場合には（ステップＳ２０２否定）、処理を終了する。
【００８８】
また、許容相対配置パターン生成部１６９が、未処理の関連付けられた項目名欄と項目値欄の組合せがあると判定した場合には（ステップＳ２０２肯定）、未処理の関連付けられた項目名欄と項目値欄の組合せを１個選択する（ステップＳ２０３）。そして、許容相対配置パターン生成部１６９が、受け付けた、票別記載内容・位置データを参照し、選択された組合せについて、項目名欄を基準とした項目値欄の相対配置パターンと、項目値欄を基準とした項目名欄の相対配置パターンを調べる（ステップＳ２０４）。
【００８９】
続いて、許容相対配置パターン生成部１６９が、項目名欄を基準とした項目値欄の相対配置パターンと、項目値欄を基準とした項目名欄の相対配置パターンのそれぞれについて、相対配置パターン保持部１７１で保持されている、許容される／されない相対配置パターン１７１ａの、該当の相対配置パターンの関連付け事例数を１加算する（ステップＳ２０５）。
【００９０】
そして、許容相対配置パターン生成部１６９が、相対配置パターンの関連付け事例数が閾値を超えているか判定し（ステップＳ２０６）、相対配置パターンの関連付け事例数が閾値を超えていないと判定した場合には（ステップＳ２０６否定）、ステップＳ２０２の処理に戻る。
【００９１】
また、許容相対配置パターン生成部１６９は、相対配置パターンの関連付け事例数が閾値を超えていると判定した場合には（ステップＳ２０６肯定）、相対配置パターン保持部１７１で保持されている、許容される／されない相対配置パターン１７１ａの、該当の相対配置パターンの許容可否を「○」に更新し（ステップＳ２０７）、ステップＳ２０２の処理に戻る。
【００９２】
次に、図２３〜図２５を用いて、第１の実施形態に係る情報処理装置１０の記載内容・位置取得部１６１による処理手順の例を説明する。図２３〜図２５は、第１の実施形態に係る情報処理装置の記載内容・位置取得部における処理の流れの一例を示すフローチャートである。
【００９３】
まず、図２３を用いて、帳票の欄が罫線で囲われている場合の記載内容・位置取得部１６１による処理を説明する。図２３に例示するように、記載内容・位置取得部１６１は、オブジェクト総数をｎと設定し、ｉの値を「１」と設定し、未探索集合を［１・・・ｎ］と設定する（ステップＳ３０１）。そして、記載内容・位置取得部１６１は、ｉの値がｎの値よりも大きいか判定する（ステップＳ３０２）。
【００９４】
この結果、記載内容・位置取得部１６１は、ｉの値がｎの値よりも大きくない場合には（ステップＳ３０２否定）、ｉ番目のオブジェクトの上と左に罫線があるか判定する（ステップＳ３０３）。この結果、記載内容・位置取得部１６１は、ｉ番目のオブジェクトの上と左に罫線がない場合には（ステップＳ３０３否定）、ステップＳ３０８の処理に進む。また、記載内容・位置取得部１６１は、ｉ番目のオブジェクトの上と左に罫線がある場合には（ステップＳ３０３肯定）、記載内容・位置取得部１６１は、ｉ番目から罫線を時計回りに周回したオブジェクト集合を取得する（ステップＳ３０４）。
【００９５】
そして、記載内容・位置取得部１６１は、周回したオブジェクトを取得できたか判定する（ステップＳ３０５）。この結果、記載内容・位置取得部１６１は、周回したオブジェクトを取得できなかった場合には（ステップＳ３０５否定）、ステップＳ３０８の処理に進む。また、記載内容・位置取得部１６１は、周回したオブジェクトを取得できた場合には（ステップＳ３０５肯定）、周回したオブジェクト集合を１つの欄として、文字列や領域の情報を、作業データ蓄積部１７０に記載内容・位置データ１７０ａとして保存する（ステップＳ３０６）。
【００９６】
続いて、記載内容・位置取得部１６１は、周回したオブジェクト集合を未探索集合から削除し（ステップＳ３０７）、ｉの値に「１」を追加し（ステップＳ３０８）、ステップＳ３０２の処理に戻る。
【００９７】
ステップＳ３０２において、記載内容・位置取得部１６１は、ｉの値がｎの値よりも大きい場合には（ステップＳ３０２肯定）、未探索集合にオブジェクトがないか判定し（ステップＳ３０９）、未探索集合にオブジェクトがある場合には（ステップＳ３０９否定）、未探索集合から任意のオブジェクトを選択する（ステップＳ３１０）。
【００９８】
そして、記載内容・位置取得部１６１は、オブジェクトを１つの欄として、作業データ蓄積部１７０に記載内容・位置データ１７０ａを保存し（ステップＳ３１１）、未探索集合から、選択したオブジェクトのインデックスを削除し（ステップＳ３１２）、ステップＳ３０９の処理に戻る。また、記載内容・位置取得部１６１は、未探索集合にオブジェクトがない場合には（ステップＳ３０９肯定）、処理を終了する。
【００９９】
次に、図２４を用いて、帳票の欄が罫線で囲われていない場合の記載内容・位置取得部１６１による処理を説明する。図２４に例示するように、記載内容・位置取得部１６１は、オブジェクト総数をｎと設定し、ｉの値を「１」と設定し、未探索集合を［１・・・ｎ］と設定する（ステップＳ４０１）。そして、記載内容・位置取得部１６１は、未探索集合にオブジェクトがないか判定し（ステップＳ４０２）、未探索集合にオブジェクトがある場合には（ステップＳ４０２否定）、未探索集合から任意のオブジェクトを選択する（ステップＳ４０３）。
【０１００】
そして、記載内容・位置取得部１６１は、オブジェクトを１つの欄として、作業データ蓄積部１７０に記載内容・位置データ１７０ａを保存し（ステップＳ４０４）、未探索集合から、選択したオブジェクトのインデックスを削除し（ステップＳ４０５）、ステップＳ４０２の処理に戻る。また、記載内容・位置取得部１６１は、未探索集合にオブジェクトがない場合には（ステップＳ４０２肯定）、処理を終了する。
【０１０１】
次に、図２５を用いて、帳票が画像データである場合の記載内容・位置取得部１６１による処理を説明する。記載内容・位置取得部１６１は、画像から罫線を抽出し（ステップＳ５０１）、罫線から画像を分割する（ステップＳ５０２）。そして、記載内容・位置取得部１６１は、画像の総数をｎと設定し、ｉの値を「１」と設定する（ステップＳ５０３）。
【０１０２】
そして、記載内容・位置取得部１６１は、ｉの値がｎの値よりも大きいか判定する（ステップＳ５０４）。この結果、記載内容・位置取得部１６１は、ｉの値がｎの値よりも大きくない場合には（ステップＳ５０４否定）、画像上の文字を認識し（ステップＳ５０５）、認識した文字と画像の領域に関する情報を作業データ蓄積部１７０に記載内容・位置データ１７０ａとして保存する（ステップＳ５０６）。
【０１０３】
続いて、記載内容・位置取得部１６１は、ｉの値に「１」を追加し（ステップＳ５０７）、ステップＳ５０４の処理に戻る。また、ステップＳ５０４において、記載内容・位置取得部１６１は、ｉの値がｎの値よりも大きいと判定した場合には（ステップＳ５０４肯定）、処理を終了する。
【０１０４】
［第１の実施形態の効果］
このように、第１の実施形態に係る情報処理装置１０は、様式情報を登録し、登録済み様式情報利用時には、登録した様式情報から求められる項目名のセットに基づいて、処理対象の帳票に含まれる項目名欄と項目値欄との関連付けを特定する。このため、帳票の欄の配置に変更があった場合であっても、帳票に含まれる項目名欄と項目値欄との関連付けを特定すること可能である。
【０１０５】
また、第１の実施形態に係る情報処理装置１０は、欄の形状や、欄同士が隣接しているかどうかに問わず、欄を基準にした他の欄の存在領域の分布パターン（相対配置パターン）により、項目名欄と項目値欄の関連付く可能性の有無を判断する。このため、情報処理装置１０では、従来技術で仮定していた項目名欄や項目値欄の形状やそれらの配置パターンに関する条件を満たさない帳票に対しても、項目名欄と項目値欄の関連付けが可能になる。
【０１０６】
例えば、従来技術では、各項目値欄に対して隣接する項目名欄のみとの関連の有無を判断し、かつ２つの項目名欄同士の配置から項目名欄同士の親子関係を判断し、さらに、これらを組み合わせて関連の有無を間接的に決定していたため、項目値欄と隣接しない項目名欄との関連付けが不適切になる場合があった。これに対して、第１の実施形態に係る情報処理装置１０は、任意の項目名欄、項目値欄の組合せに関して、関連付く可能性の有無を判断するので、項目値欄と隣接しない項目名欄との関連付けが不適切になる場合をなくすことが可能である。
【０１０７】
また、第１の実施形態に係る情報処理装置１０は、様式登録時、関連付く可能性のある組合せの中で、各項目値欄がいずれかの項目名欄と対応づく制約条件を付与することにより、様式登録時は、どの項目名欄とも関連付けられない項目値欄が残らず、すべての項目値欄に対して項目名欄が関連付けられるよう、項目名欄と項目値との関連付けを求めることができる。
【０１０８】
また、第１の実施形態に係る情報処理装置１０は、許容される相対配置パターンを項目名別に指定したうえで、項目名欄と項目値欄の関連付く可能性の有無を判断し、他の制約条件とともに解を探索できるようにすることにより、許容される／されない相対配置パターンが汎用的な項目とは異なる項目であっても、項目名欄と項目値との関連付けを適切に求めることができる。
【０１０９】
また、第１の実施形態に係る情報処理装置１０は、登録済み様式情報利用時の処理対象帳票に、様式登録時の帳票に存在しない項目が含まれていても、再度様式登録を行うことなく、様式登録時の帳票に存在していた全項目について、項目名欄と項目値との関連付けを求めることができる。
【０１１０】
また、第１の実施形態に係る情報処理装置１０は、例えば、様式登録時の帳票と、登録済み様式情報利用時の処理対象帳票で、項目名が縦と横の両方に配置されている場合に縦と横が入れ替わった場合や、項目名の親子関係の順序性が変わった場合でも、項目値欄の位置を特定できる。
【０１１１】
（システム構成等）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１１２】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１１３】
（プログラム）
また、上記実施形態において説明した情報処理装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る情報処理装置１０が実行する処理をコンピュータが実行可能な言語で記述した関連付けプログラムを作成することもできる。この場合、コンピュータが関連付けプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる関連付けプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された関連付けプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【０１１４】
図２６は、関連付けプログラムを実行するコンピュータを示す図である。図２６に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【０１１５】
メモリ１０１０は、図２６に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図２６に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図２６に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図２６に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図２６に例示するように、例えばディスプレイ１１３０に接続される。
【０１１６】
ここで、図２６に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、関連付けプログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【０１１７】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【０１１８】
なお、関連付けプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、関連付けプログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１１９】
１０  情報処理装置
１１ａ  操作入力部
１１ｂ  帳票入力部
１２  表示部
１３  ＯＳ
１４  記憶部
１５  エディタ
１６  帳票処理ツール
１６１  記載内容・位置取得部
１６２  欄の種別判別部
１６３  票分割部
１６４  関連付け許容判定部
１６５  評価関数生成部
１６６  制約条件付与部
１６７  求解部
１６８ａ  登録部
１６８ｂ  修正部
１６９  許容相対配置パターン生成部
１７０  作業データ蓄積部
１７０ａ  記載内容・位置データ
１７０ｂ、１７２ｂ  欄種別データ
１７０ｃ、１７２ｄ  票別記載内容・位置データ
１７０ｄ、１７２ｅ  相対配置パターン
１７０ｅ  関連付け許容情報
１７０ｆ  適用する評価関数
１７０ｇ  適用する制約条件
１７０ｈ、１７２ａ  項目名欄と項目値欄の関連情報
１７１  相対配置パターン保持部
１７１ａ  許容される／されない相対配置パターン
１７２  様式保持部
１７２ｃ  項目名別ルール
【図１】
2020140410.tif 000003
【図２】
2020140410.tif 000004
【図３】
2020140410.tif 000005
【図４】
2020140410.tif 000006
【図５】
2020140410.tif 000007
【図６】
2020140410.tif 000008
【図７】
2020140410.tif 000009
【図８】
2020140410.tif 000010
【図９】
2020140410.tif 000011
【図１０】
2020140410.tif 000012
【図１１】
2020140410.tif 000013
【図１２】
2020140410.tif 000014
【図１３】
2020140410.tif 000015
【図１４】
2020140410.tif 000016
【図１５】
2020140410.tif 000017
【図１６】
2020140410.tif 000018
【図１７】
2020140410.tif 000019
【図１８】
2020140410.tif 000020
【図１９】
2020140410.tif 000021
【図２０】
2020140410.tif 000022
【図２１Ａ】
2020140410.tif 000023
【図２１Ｂ】
2020140410.tif 000024
【図２２】
2020140410.tif 000025
【図２３】
2020140410.tif 000026
【図２４】
2020140410.tif 000027
【図２５】
2020140410.tif 000028
【図２６】
2020140410.tif 000029