(57)【要約】【課題】帳票における欄の種別を自動で判別すること。【解決手段】情報処理装置１０は、レイアウトが同一の複数の帳票を取得し、取得したレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部１４に格納する。また、情報処理装置１０は、処理対象の帳票の記載位置情報を取得し、取得した帳票について、登録されている様式の情報を利用し、欄の種別に関する情報と各欄の記載内容を比較し、比較結果に応じて、処理対象の帳票の各欄の種別を判別するとともに、その判別結果に基づいて処理対象の帳票の様式の候補を特定する。【選択図】図１
2020126557.tif 000002
【特許請求の範囲】
【請求項１】
帳票の様式ごとに帳票に含まれる各欄の種別に関する情報を記憶する記憶部と、
処理対象の帳票を取得する取得部と、
前記取得部によって取得された処理対象の帳票の各欄の記載内容と、前記記憶部に記憶された前記各欄の種別に関する情報とを比較し、比較結果に応じて、前記処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する欄の種別判別部と
を有することを特徴とする情報処理装置。
【請求項２】
レイアウトが同一の複数の帳票を取得する取得部と、
前記取得部によって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部に格納する欄の種別判別部と
を有することを特徴とする情報処理装置。
【請求項３】
処理対象の帳票の欄の種別を判別する欄の種別判別部と、
前記処理対象の帳票における各項目値に対応する１つまたは複数の項目名を特定し、項目名同士の関係性を、その帳票の様式中の項目名が満たすべき条件として導出し、欄の種別の判別情報として記憶部に格納する関係認識部とを有することを特徴とする情報処理装置。
【請求項４】
処理対象の帳票の欄の種別を判別し、前記処理対象の帳票中の項目名が、欄の種別の判別情報に記載された項目名同士の関係性を満たしたか判定し、判定結果に応じて、欄の種別の判別情報に記載された項目名が処理対象の帳票中のどの項目名欄に対応するかを決定するとともに、処理対象の帳票の様式の候補を特定する欄の種別判別部を有することを特徴とする情報処理装置。
【請求項５】
前記欄の種別判別部は、各帳票における同一位置の欄の記載内容が全て同一である場合には、当該欄の種別を項目名と判別し、各帳票における同一位置の欄の記載内容のうち記載内容が異なる欄がある場合には、当該欄の種別を項目値と判別することを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記取得部は、レイアウトが同一の複数の帳票における欄の記載位置をそれぞれ取得し、
前記欄の種別判別部は、前記取得部によって取得された記載位置を用いて、各帳票における同一位置を特定し、同一位置の各欄の記載内容をそれぞれ比較することを特徴とする請求項２に記載の情報処理装置。
【請求項７】
前記欄の種別判別部は、過去に判別した項目名を記憶する基本辞書を参照し、前記欄の記載内容が前記基本辞書に記憶されている場合には、それにしたがって該欄の種別を判別することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項８】
前記欄の種別判別部は、取得した各様式の欄の種別の判別情報を前記基本辞書に反映することで、項目名の判別条件を学習することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記取得部は、処理対象の帳票の画像データから罫線の端点情報を求め、罫線で囲まれた領域を取得することで、罫線で囲まれた領域を単一の欄の記載位置として、単一の欄の領域内に存在する光学文字認識で取得した文字列のまとまりを記載内容として取得し、欄の記載位置と記載内容を組み合わせて記載位置データを生成することを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項１０】
情報処理装置によって実行される判別方法であって、
処理対象の帳票を取得する取得工程と、
前記取得工程によって取得された処理対象の帳票の各欄の記載内容と、帳票の様式ごとに帳票に含まれる各欄の種別に関する情報を記憶する記憶部に記憶された前記各欄の種別に関する情報とを比較し、比較結果に応じて、前記処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する欄の種別判別工程と
を含むことを特徴とする判別方法。
【請求項１１】
情報処理装置によって実行される判別方法であって、
レイアウトが同一の複数の帳票を取得する取得工程と、
前記取得工程によって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部に格納する欄の種別判別工程と
を含むことを特徴とする判別方法。
【請求項１２】
処理対象の帳票を取得する取得ステップと、
前記取得ステップによって取得された処理対象の帳票の各欄の記載内容と、帳票の様式ごとに帳票に含まれる各欄の種別に関する情報を記憶する記憶部に記憶された前記各欄の種別に関する情報とを比較し、比較結果に応じて、前記処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する欄の種別判別ステップと
をコンピュータに実行させることを特徴とする判別プログラム。
【請求項１３】
レイアウトが同一の複数の帳票を取得する取得ステップと、
前記取得ステップによって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部に格納する欄の種別判別ステップと
をコンピュータに実行させることを特徴とする判別プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、判別方法および判別プログラムに関する。
【背景技術】
【０００２】
従来、業務において、電子ファイルまたは紙で作成された帳票が様々なシーンで用いられている。ここで帳票とは、電子ファイルまたは紙で作成されたドキュメントやシステム画面のなかでも、複数の項目について、それぞれ、その項目の名前（項目名）と値（項目値）が記載され、かつその関係性が２次元平面上の配置によって表現されているものをいう。
【０００３】
このような帳票は、記載内容の多くが同じであっても帳票の様式を定める組織によって様式が少しずつ異なることが多い。また、業務運用の過程で変更が加えられることも多い。例えば、従来の技術として、帳票の様式を定めた組織の違いや、運用中の改定等により、レイアウトが異なっていても、帳票上に記載された自動的に処理したい項目値の位置を正しく特定し、データを抽出できるようにするために、欄の種別（欄内の記載内容が項目名なのか、項目値なのか）を判別するための情報を予め与えることで、欄が項目名であるかどうかを判別し、その上で、項目名欄と項目値欄の対応関係を認識することで、指定された自動処理対象項目の項目名に対応する項目値欄を、帳票の欄の中から特定できるようにする方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１０４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の手法では、各欄の種別を判別するための情報を予め与える方法として、帳票中の各欄の種別を人手で個別に指定する場合、手間がかかるという問題があった。また、各欄の種別を判別するための情報を、様式登録対象の帳票における欄の背景色などの視覚的情報に関するルールとして与える場合、項目名欄と項目値欄で視覚的情報に違いがなく、視覚的情報では欄の種別を判別できない帳票や、様式登録対象の帳票とは視覚的情報が異なる帳票においては、欄の種別を正しく判別できず、それを前提とした、項目名欄と項目値欄の対応関係の認識、自動処理の対象となる項目値欄の特定も、正しく行えなかった。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の情報処理装置は、帳票の様式ごとに帳票に含まれる各欄の種別に関する情報を記憶する記憶部と、処理対象の帳票を取得する取得部と、前記取得部によって取得された処理対象の帳票の各欄の記載内容と、前記記憶部に記憶された前記各欄の種別に関する情報とを比較し、比較結果に応じて、前記処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する欄の種別判別部とを有することを特徴とする。
【０００７】
また、本発明の情報処理装置は、レイアウトが同一の複数の帳票を取得する取得部と、前記取得部によって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部に格納する欄の種別判別部とを有することを特徴とする。
【０００８】
また、本発明の判別方法は、情報処理装置によって実行される判別方法であって、処理対象の帳票を取得する取得工程と、前記取得工程によって取得された処理対象の帳票の各欄の記載内容と、帳票の様式ごとに帳票に含まれる各欄の種別に関する情報を記憶する記憶部に記憶された前記各欄の種別に関する情報とを比較し、比較結果に応じて、前記処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する欄の種別判別工程とを含むことを特徴とする。
【０００９】
また、本発明の判別方法は、情報処理装置によって実行される判別方法であって、レイアウトが同一の複数の帳票を取得する取得工程と、前記取得工程によって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部に格納する欄の種別判別工程とを含むことを特徴とする。
【００１０】
また、本発明の判別プログラムは、処理対象の帳票を取得する取得ステップと、前記取得ステップによって取得された処理対象の帳票の各欄の記載内容と、帳票の様式ごとに帳票に含まれる各欄の種別に関する情報を記憶する記憶部に記憶された前記各欄の種別に関する情報とを比較し、比較結果に応じて、前記処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する欄の種別判別ステップとをコンピュータに実行させることを特徴とする。
【００１１】
また、本発明の判別プログラムは、レイアウトが同一の複数の帳票を取得する取得ステップと、前記取得ステップによって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部に格納する欄の種別判別ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、様式登録対象の帳票中の各欄の種別を人手で個別に指定する手間をかけることなく、所望の様式の選択、および帳票における欄の種別を自動で判別できるという効果を奏する。また、帳票における欄の種別を自動で判別できる帳票として、項目名欄と項目値欄で視覚的情報に違いがない帳票や、様式登録対象の帳票とは視覚的情報が異なる帳票も対象にできる、という効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施形態に係る情報処理装置の構成例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。
【図３】図３は、オブジェクトの出現順序を説明するための図である。
【図４】図４は、オブジェクトの出現順序を説明するための図である。
【図５】図５は、帳票の例を示す図である。
【図６】図６は、帳票における項目名の記載内容の例を示す図である。
【図７】図７は、帳票における項目名の記載内容と合致判定ルールの例を示す図である。
【図８】図８は、様式登録の処理の流れを説明する図である。
【図９】図９は、同一レイアウトの帳票について、記載位置が同一の欄同士の記載内容の同一性を比較する処理を説明する処理を説明する図である。
【図１０】図１０は、帳票の欄の種別を判別し、帳票の様式を判定する処理の流れを説明する図である。
【図１１】図１１は、帳票の欄の種別を判別し、帳票の様式を判定する処理を説明する図である。
【図１２】図１２は、第１の実施形態に係る情報処理装置において判別情報を登録する処理の流れの一例を示すフローチャートである。
【図１３】図１３は、第１の実施形態に係る情報処理装置において帳票の様式を判定する処理の流れの一例を示すフローチャートである。
【図１４】図１４は、第１の実施形態の変形例に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。
【図１５】図１５は、基本辞書の例を示す図である。
【図１６】図１６は、様式登録の処理の流れを説明する図である。
【図１７】図１７は、第１の実施形態の変形例に係る情報処理装置において判別情報を登録する処理の流れの一例を示すフローチャートである。
【図１８】図１８は、第１の実施形態の変形例に係る情報処理装置において判別情報を登録する処理の流れの一例を示すフローチャートである。
【図１９】図１９は、第１の実施形態の変形例に係る情報処理装置において帳票の様式を判定する処理の流れの一例を示すフローチャートである。
【図２０】図２０は、第２の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。
【図２１】図２１は、帳票上の項目値に対応する項目名同士の関係性の例を示す図である。
【図２２】図２２は、帳票の欄の種別を判別し、帳票の様式の候補を特定する処理の流れを説明する図である。
【図２３】図２３は、第２の実施形態に係る情報処理装置において判別情報を登録する処理の流れの一例を示すフローチャートである。
【図２４】図２４は、第２の実施形態に係る情報処理装置において帳票の様式を判定する処理の流れの一例を示すフローチャートである。
【図２５】図２５は、第３の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。
【図２６】図２６は、画像データとして取得して取得した帳票に対して行う前処理を説明する図である。
【図２７】図２７は、画像データとして取得して取得した帳票に対して行う前処理を説明する図である。
【図２８】図２８は、第３の実施形態に係る情報処理装置において記載内容・位置データを登録する処理の流れの一例を示すフローチャートである。
【図２９】図２９は、判別プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願に係る情報処理装置、判別方法および判別プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る情報処理装置、判別方法および判別プログラムが限定されるものではない。
【００１５】
［第１の実施形態］
以下の実施の形態では、第１の実施形態に係る情報処理装置１０の構成、帳票処理ツール１６の論理構成、情報処理装置１０の処理の流れを順に説明し、最後に第１の実施形態による効果を説明する。
【００１６】
［情報処理装置の構成］
まず、図１を用いて、本実施形態の情報処理装置１０を含むシステムの構成例を説明する。図１は、第１の実施形態に係る情報処理装置の構成例を示すブロック図である。なお、図１に示す構成は一例にすぎず、具体的な構成は特に限定されない。
【００１７】
情報処理装置１０は、ＰＣ（Personal  Computer）やスマートフォン等の装置であって、例えば、帳票の記載内容を機械的に処理する。また、情報処理装置１０は、帳票の記載内容を機械的に処理するのに先立ち、同じレイアウトである２つ以上の帳票を用いて様式の欄の種別の判別情報を登録する処理を行う。帳票の記載内容を機械的に処理する際は、登録した様式の欄の判別情報を用いて、取得した単一の帳票に対して欄の種別の判別および様式の候補の特定を行う。
【００１８】
ここで、帳票とは、例えば、アプリケーションで作成された電子データ、ＰＤＦファイル、システム画面の構造データ、画像データ（例えば、電子ファイルやシステム画面を画像データに変換したもの、紙をスキャンして電子化したもの）が対象である。
【００１９】
情報処理装置１０は、操作入力部１１ａ、帳票入力部１１ｂ、表示部１２、ＯＳ（Operating  System）１３、記憶部１４、エディタ１５および帳票処理ツール１６を有する。なお、これらの構成要素が同一装置上にある場合に限定されず、複数の装置に分散して配置されてもよい。
【００２０】
操作入力部１１ａは、帳票の様式登録、機械的な処理などの実行命令や、種別判別結果の修正や編集などツールに対する操作を入力するものであり、キーボードやマウス、タッチパネルなどを備えて構成される。帳票入力部１１ｂは、帳票のデータなどを入力するものであり、カメラ、スキャナなどを備えて構成される。また、表示部１２は、各種処理結果を表示するものであり、ディスプレイやタッチパネル、スピーカなどを備えて構成される。
【００２１】
また、情報処理装置１０本体は、ＯＳ１３が実行され、ＯＳ１３の処理にともない各種パラメータ等を編集するためのエディタ１５や帳票を処理するための帳票処理ツール１６が起動される。
【００２２】
記憶部１４は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１４は、例えば、後述する欄の種別の判別情報を記憶する。
【００２３】
次に、図２の例を用いて、帳票処理ツール１６の論理構成について説明する。図２は、第１の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。図２に例示するように、帳票処理ツール１６は、記載内容・位置取得部１６１、欄の種別判別部１６２、修正部１６３、登録部１６４、作業データ蓄積部１６５、様式保持部１６６、様式候補選択部１６７および様式取得部１６８を有する。以下では、各部の処理を説明するが、まず同じレイアウトである２つ以上の帳票を用いて欄の種別の判別情報および様式を登録する処理（様式登録処理）について説明し、その後、登録した様式の欄の種別の判別情報を利用した帳票の欄の種別の判別および様式の候補の特定に関する処理（機械的処理）について説明する。
【００２４】
記載内容・位置取得部１６１は、様式登録処理を行う際に、レイアウトが同一の複数の帳票を取得する。そして、記載内容・位置取得部１６１は、レイアウトが同一の複数の帳票における欄の記載内容・位置データをそれぞれ取得する。
【００２５】
そして、記載内容・位置取得部１６１は、取得した各帳票中の各欄の記載内容と各欄の記載位置を示す記載内容・位置データ１６５ａを作業データ蓄積部１６５に格納する。ここで、欄の記載位置とは、欄の記載位置を特定するための情報であればどのようなデータであってもよいが、例えば、紙やディスプレイ等における２次元平面における座標や、電子ファイルや画面のデータにおけるオブジェクトの出現順序等のことをいう。
【００２６】
ここで、出現順序について図３および図４を用いて説明する。図３および図４は、オブジェクトの出現順序を説明するための図である。オブジェクトの出現順序とは、取得したオブジェクトに対して、ある法則によって順次オブジェクトの番号付けを行った順序付けのことをいう。例えば、図３の例では、オブジェクトの出現順序とは、取得したオブジェクトのツリー構造を深さ優先で走査した際のノードの順番のことを示す。また、図４の例では、オブジェクトの出現順序とは、オブジェクトを左上→右下にＺ字で走査した際のノードの順番を示す。なお、帳票のオブジェクトの出現順序は、対象の帳票の記載内容を保持、表示する電子ファイル、紙、システム画面等の媒体に合わせて適宜定義可能である。
【００２７】
欄の種別判別部１６２は、記載内容・位置取得部１６１によって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を格納する。例えば、欄の種別判別部１６２は、レイアウトが同一の複数の帳票について、記載内容・位置データ１６５ａを取得し、記載内容・位置データ１６５ａを用いて、各帳票における同一位置を特定し、同一位置の各欄の記載内容をそれぞれ比較する。
【００２８】
そして、欄の種別判別部１６２は、各帳票における同一位置の欄の記載内容が全て同一である場合には、当該欄の種別を項目名と判別する。また、欄の種別判別部１６２は、各帳票における同一位置の欄の記載内容のうち記載内容が異なる欄がある場合には、当該欄の種別を項目値と判別する。なお、判別方法は、これに限定されるものではなく、例えば、各帳票における同一位置の欄の記載内容が同一である割合が一定以上である場合に、当該欄の種別を項目名と判別するようにしてもよい。つまり、例えば、レイアウトが同一の帳票が５つである場合に、欄の種別判別部１６２は、各帳票における同一位置の欄の記載内容が同一である割合が８割以上、つまり４つの帳票で同一位置の欄の記載内容が同一である場合に、当該欄の種別を項目名と判別し、２割未満である場合に、当該欄の種別を項目値と判別するようにしてもよい。
【００２９】
そして、欄の種別判別部１６２は、判別した項目名を欄の種別を判別するための判別情報１６５ｂとして帳票ごとに作業データ蓄積部１６５に登録する。ここで、判別情報１６５ｂは、例えば、項目名の記載内容である。ここで図５および図６の例を用いて欄の種別の判別情報１６５ｂの例を説明する。図５は、帳票の例を示す図である。図６は、帳票における項目名の記載内容の例を示す図である。
【００３０】
欄の種別判別部１６２は、図５に例示する帳票から項目名と判別した欄の記載内容である「契約者情報」、「氏名」、「フリガナ」、「漢字」、「住所」、「連絡先」、「ＴＥＬ：」、「ｅ−ｍａｉｌ：」および「お届け希望日」を取得する。そして、欄の種別判別部１６２は、図６に例示するように、取得した「契約者情報」、「氏名」、「フリガナ」、「漢字」、「住所」、「連絡先」、「ＴＥＬ：」、「ｅ−ｍａｉｌ：」および「お届け希望日」を欄の種別の判別情報１６５ｂとして作業データ蓄積部１６５に格納する。
【００３１】
なお、欄の種別の判別情報１６５ｂは、図７に例示するように、項目名の記載内容だけでなく、合致判定ルールが含まれていてもよい。図７は、帳票における項目名の記載内容と合致判定ルールの例を示す図である。つまり、欄の種別の判別情報１６５ｂには、欄の種別の判別情報１６５ｂが利用されて欄の種別を判定する際に、項目名そのものだけでなく、欄の種別を判定するための合致判定ルールが含まれていてもよい。
【００３２】
合致判定ルールは、手動または自動で適宜設定するものとする。例えば、ユーザが、項目名欄の記載内容を参考に、合致判定ルールを手動で設定する。合致判定ルールの表記は、例えば、「｜」は、「または」を示すものとする。つまり、この記号の前後に記載の文字列のいずれかに一致すればルールに合致と判定することを示す。また、例えば、「／／」は、／／で囲まれた正規表現に従った表記を記載する。この正規表現（部分一致含む）を満たせばルールに合致と判定（ｉは大文字小文字関わらず判定）することを示す。
【００３３】
修正部１６３は、欄の種別判別部１６２によって登録された欄の種別の判別情報１６５ｂを修正する。例えば、修正部１６３は、ユーザの指示に応じて、欄の種別の判別情報１６５ｂを修正し、記憶部１４に格納する。なお、修正部１６３は、修正がない場合には、欄の種別判別部１６２によって登録された欄の種別の判別情報１６５ｂをそのまま記憶部１４に格納する。登録部１６４は、欄の種別判別部１６２によって判別され、修正部１６３により修正された欄の種別の判別情報１６５ｂを、帳票の様式ごとに、それぞれ様式保持部１６６に記憶する。例えば、登録部１６４は、帳票の様式を識別する識別子に対応付けて、欄の種別の識別情報を記憶する。
【００３４】
ここで、図８を用いて、様式登録の処理の流れを説明する。図８は、様式登録の処理の流れを説明する図である。図８に例示するように、記載内容・位置取得部１６１は、レイアウトが同一の複数の帳票を取得するために、２つ以上の電子ファイルまたはシステム画面を取得し、レイアウトが同一の複数の帳票における欄の記載内容と記載位置をそれぞれ取得する。
【００３５】
そして、欄の種別判別部１６２は、記載内容・位置取得部１６１によって取得されたレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別する。例えば、図９の例を用いて説明すると、欄の種別判別部１６２は、帳票群から選ばれた任意の帳票を基準帳票として、該基準帳票の所定の位置の欄に「請求書」が記載されている場合に、基準帳票以外の他の帳票の同一位置の欄にも「請求書」と記載されているか判定する。この結果、欄の種別判別部１６２は、基準帳票以外の他の帳票の同一位置の欄にも「請求書」と記載されている場合には、当該欄が項目名であると判別する。
【００３６】
また、欄の種別判別部１６２は、該基準帳票の所定の位置の欄に「２０１８年１０月１５日」が記載されている場合に、基準帳票以外の他の帳票の同一位置の欄にも「２０１８年１０月１５日」と記載されているか判定する。この結果、欄の種別判別部１６２は、基準帳票以外の他の帳票の同一位置の欄に「２０１８年１０月１５日」と記載されていない場合には、当該欄が項目値であると判別する。
【００３７】
図８の説明に戻って、欄の種別判別部１６２は、判別した項目名を欄の種別を判別するための判別情報１６５ｂとして帳票の様式ごとに作業データ蓄積部１６５および記憶部１４に格納する。そして、判別情報１６５ｂを修正する場合には、修正部１６３が、ユーザの指示に応じて、欄の種別の判別情報１６５ｂを修正する。その後、登録部１６４は、修正された欄の種別の判別情報を、帳票の様式ごとに、それぞれ様式保持部１６６に記憶する。また、判別情報１６５ｂを修正しない場合には、登録部１６４は、そのまま判別情報を用いて、帳票の種類ごとに、各帳票に含まれる判別情報をそれぞれ様式保持部１６６に記憶する。
【００３８】
次に、登録した様式の欄の種別の判別情報を利用して、帳票の欄の種別の判別および様式の候補の特定を行う処理について説明する。図２の説明に戻って、帳票の記載内容を機械的に処理する際に、記載内容・位置取得部１６１は、処理対象の帳票を取得し、該帳票における欄の記載内容・位置データをそれぞれ取得する。
【００３９】
欄の種別判別部１６２は、記載内容・位置取得部１６１によって取得された処理対象の帳票の各欄の記載内容と、様式保持部１６６で保持され、様式取得部１６８により取得された様式の欄の種別の判別情報とを比較し、比較結果に応じて、処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する。そして、欄の種別判別部１６２は、特定した様式の候補を示す様式候補データ１６５ｃを作業データ蓄積部１６５に格納する。
【００４０】
例えば、種別判別部１６２は、処理対象の帳票中の各欄について、登録されている各様式の欄の種別の判別情報に含まれる項目名あるいはその合致判定ルールのいずれかに適合するかどうかを調べ、適合するものがあった欄を項目名と判別し、いずれとも適合しない欄を項目値と判別する。また、欄の種別判別部１６２は、登録されている各様式の欄の種別の判別情報に含まれる項目名あるいはその合致判定ルールのそれぞれについて、適合する欄が処理対象の帳票に存在する場合には、該様式を処理対象の様式の候補として特定する。
【００４１】
様式候補選択部１６７は、欄の種別判別部１６２によって判別された様式の候補の選択を受け付ける。例えば、様式候補選択部１６７は、欄の種別判別部１６２によって特定された様式の候補が複数であった場合には、ユーザに複数の様式の候補のうち、いずれの様式が該当するか選択させる。様式取得部１６８は、欄の種別判別部１６２によって上記の比較処理を行う際に、様式保持部１６６から各帳票の様式を取得し、作業データ蓄積部１６５に欄の種別の判別情報１６５ｂとして格納する。
【００４２】
ここで、図１０を用いて、登録した様式の欄の種別の判別情報を利用して、帳票の欄の種別の判別および様式の候補の特定を行う処理の流れを説明する。図１０は、帳票の欄の種別を判別し、帳票の様式を判定する処理の流れを説明する図である。図１０に例示するように、記載内容・位置取得部１６１は、電子ファイルまたはシステム画面から処理対象の帳票を取得し、該帳票における各欄の記載内容と記載位置をそれぞれ取得する。
【００４３】
欄の種別判別部１６２は、入力された処理対象の帳票の各欄の記載内容と、様式保持部１６６で保持され、様式取得部１６８により取得された様式の欄の種別の判別情報とを比較し、比較結果に応じて、処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する。そして、様式候補選択部１６７は、欄の種別判別部１６２によって特定された様式の候補が複数であった場合には、ユーザに複数の様式の候補のうち、いずれの様式が該当するか選択させる。
【００４４】
つまり、図１１に例示するように、前述した様式登録処理において、項目名を判別するための情報を欄の種別の判別情報１６５ｂとして登録しておき、処理対象の帳票の記載内容を機械的に処理させるときに、欄の種別判別部１６２は、入力された処理対象の帳票の各欄の記載内容と、欄の種別の判別情報１６５ｂとを比較し、処理対象の各欄の種別が項目名、項目値のどちらか判別する。例えば、図１１の例を挙げて説明すると、欄の種別判別部１６２は、入力された処理対象の帳票の欄に「請求書」とあり、欄の種別の判別情報１６５ｂにも「請求書」がある場合には、項目名と判別する。
【００４５】
また、欄の種別判別部１６２は、登録されている各様式の欄の種別の判別情報に含まれる項目名あるいはその合致判定ルールのそれぞれについて、適合する欄が処理対象の帳票に存在する場合には、該様式を処理対象の様式の候補として特定する。例えば、図１１の例を挙げて説明すると、欄の種別判別部１６２は、「請求書」等の項目名を含む処理対象の帳票に、ある様式の欄の種別の判別情報に含まれる項目名あるいはその合致判定ルールのそれぞれに適合する欄が存在する場合には、その様式を処理対象の様式の候補として特定する。
【００４６】
［情報処理装置の処理手順］
次に、図１２および図１３を用いて、第１の実施形態に係る情報処理装置１０の欄の種別判別部１６２による処理手順の例を説明する。図１２は、第１の実施形態に係る情報処理装置の欄の種別判別部１６２において欄の種別の判別情報を作成して登録する処理の流れの一例を示すフローチャートである。図１３は、第１の実施形態に係る情報処理装置の欄の種別判別部１６２において欄の種別を判別するとともに帳票の様式の候補を特定する処理の流れの一例を示すフローチャートである。
【００４７】
まず、図１２を用いて、同じレイアウトである２つ以上の帳票を用いて欄の種別の判別情報を作成して登録する処理の流れを説明する。図１２に例示するように、欄の種別判別部１６２は、レイアウトが同一の複数の帳票の記載内容・位置データを取得し（ステップＳ１０１）、取得した帳票群から任意に１つを選んだ帳票を基準帳票とする（ステップＳ１０２）。そして、欄の種別判別部１６２は、基準帳票内の欄の総数をｎとし、ｉに「１」の値を設定する（ステップＳ１０３）。
【００４８】
続いて、欄の種別判別部１６２は、ｉの値がｎの値より大きいか判定し（ステップＳ１０４）、ｉの値がｎの値より大きくない場合には（ステップＳ１０４否定）、基準帳票以外の帳票の総数をｍとし、ｋに「１」を設定し、ｆｌａｇを「ｆａｌｓｅ」に設定する（ステップＳ１０５）。
【００４９】
そして、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」であるか判定し（ステップＳ１０６）、ｆｌａｇが「ｔｒｕｅ」でない場合には（ステップＳ１０６否定）、ｋの値がｍの値より大きいか判定する（ステップＳ１０７）。この結果、欄の種別判別部１６２は、ｋの値がｍの値より大きくない場合には（ステップＳ１０７否定）、ｋ番目の帳票から、基準帳票のｉ番目の欄と同じ記載位置の欄を取得し、欄ｊとする（ステップＳ１０８）。
【００５０】
そして、欄の種別判別部１６２は、欄ｊが存在するか判定し（ステップＳ１０９）、欄ｊが存在する場合には（ステップＳ１０９肯定）、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であるか判定する（ステップＳ１１０）。そして、欄の種別判別部１６２は、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であると判定した場合には（ステップＳ１１０肯定）、ｋの値に「１」を加算し（ステップＳ１１１）、ステップＳ１０６の処理に戻る。また、欄の種別判別部１６２は、欄ｊが存在しない場合（ステップＳ１０９否定）、あるいは、存在するが、基準帳票のｉ番目の欄と欄ｊの記載内容が同一でないと判定した場合には（ステップＳ１１０否定）、ｆｌａｇを「ｔｒｕｅ」に設定し（ステップＳ１１２）、ステップＳ１０６の処理に戻る。
【００５１】
ステップＳ１０７の処理において、欄の種別判別部１６２は、ｋの値がｍの値より大きい場合には（ステップＳ１０７肯定）、基準帳票のｉ番目の欄を項目名として判定し（ステップＳ１１４）、ｉの値に「１」を加算し（ステップＳ１１５）、ステップＳ１０４の処理に戻る。
【００５２】
ステップＳ１０６の処理において、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」の場合には（ステップＳ１０６肯定）、基準帳票のｉ番目の欄を項目値として判定し（ステップＳ１１３）、ｉの値に「１」を加算し（ステップＳ１１５）、ステップＳ１０４の処理に戻る。
【００５３】
ステップＳ１０４において、欄の種別判別部１６２は、ｉの値がｎの値より大きい場合には（ステップＳ１０４肯定）、欄の種別の判別情報を作業データ蓄積部１６５に保存する（ステップＳ１１６）。
【００５４】
次に、図１３を用いて、登録した欄の種別の判別情報を利用した帳票の欄の種別の判別および様式の候補の特定に関する処理の流れを説明する。図１３に例示するように、欄の種別判別部１６２は、取得した帳票の記載内容・位置データを対象とし（ステップＳ２０１）、様式保持部１６６にある様式総数をｎの値とし、ｋに「１」の値を設定する（ステップＳ２０２）。そして、欄の種別判別部１６２は、様式候補データを「なし」に設定し（ステップＳ２０３）、ｋがｎより大きいか判定する（ステップＳ２０４）。
【００５５】
続いて、欄の種別判別部１６２は、ｋがｎより大きくない場合には（ステップＳ２０４否定）、様式保持部１６６からｋ番目の様式の欄の種別の判別情報を取得し（ステップＳ２０５）、対象帳票の欄の種別の初期値を全て項目値にする（ステップＳ２０６）。そして、欄の種別判別部１６２は、様式ｋ内で種別が項目名の欄の数ｍを設定し（ステップＳ２０７）、ｉに「１」の値を設定する（ステップＳ２０８）。
【００５６】
続いて、欄の種別判別部１６２は、ｉの値がｍの値より大きいか判定し（ステップＳ２０９）、ｉの値がｍの値より大きくない場合には（ステップＳ２０９否定）、対象帳票から、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在するか判定する（ステップＳ２１２）。この結果、欄の種別判別部１６２は、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在しない場合には（ステップＳ２１２否定）、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在するか判定する（ステップＳ２１３）。そして、欄の種別判別部１６２は、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在しない場合には（ステップＳ２１３否定）、合致しない様式と判定し（ステップＳ２１４）、ステップＳ２１１の処理に進む。
【００５７】
また、欄の種別判別部１６２は、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在する場合には（ステップＳ２１３肯定）、ステップＳ２１５の処理に進む。また、ステップＳ２１２において、欄の種別判別部１６２は、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在する場合には（ステップＳ２１２肯定）、ステップＳ２１５の処理に進む。
【００５８】
ステップＳ２１５において、欄の種別判別部１６２は、ｐに該当の欄、つまりｉ番目の項目名の欄の記載内容と一致する、あるいは合致判定ルールと一致する欄の数を設定し、ｑに「１」の値を設定する（ステップＳ２１５）。そして、欄の種別判別部１６２は、ｑの値がｐの値より大きいか判定し（ステップＳ２１６）、ｑの値がｐの値より大きくない場合には（ステップＳ２１６否定）、該当の欄のうちｑ番目の欄の種別を項目名と判別し（ステップＳ２１７）、ｑの値に「１」を加算し（ステップＳ２１８）、ステップＳ２１６の処理に戻る。
【００５９】
また、ステップＳ２１６において、欄の種別判別部１６２は、ｑの値がｐの値より大きい場合には（ステップＳ２１６肯定）、ｉに「１」の値を加算し（ステップＳ２１９）、ステップＳ２０９の処理に戻る。
【００６０】
また、ステップＳ２０９において、欄の種別判別部１６２は、ｉの値がｍの値より大きい場合には（ステップＳ２０９肯定）、同一の様式として、様式候補データに加え（ステップＳ２１０）、ｋの値に「１」を加算して（ステップＳ２１１）、ステップＳ２０４の処理に戻る。
【００６１】
また、ステップＳ２０４において、欄の種別判別部１６２は、ｋの値がｎの値より大きい場合には（ステップＳ２０４肯定）、様式候補データがあるか判定する（ステップＳ２２０）。この結果、欄の種別判別部１６２は、様式候補データがある場合には（ステップＳ２２０肯定）、様式候補データが１つであるか判定する（ステップＳ２２１）。
【００６２】
そして、欄の種別判別部１６２は、様式候補データが１つである場合には（ステップＳ２２１肯定）、該様式候補データを処理対象の帳票の様式として判別する（ステップＳ２２２）。
【００６３】
また、欄の種別判別部１６２は、様式候補データが１つでない場合には（ステップＳ２２１否定）、処理対象の帳票の様式候補が複数あるとして判別する（ステップＳ２２３）。また、ステップＳ２２０において、欄の種別判別部１６２は、様式候補データがない場合には（ステップＳ２２０否定）、処理対象の帳票の様式候補なしとして判別する（ステップＳ２２４）。
【００６４】
［第１の実施形態の効果］
第１の実施形態に係る情報処理装置１０は、レイアウトが同一の複数の帳票を取得し、取得したレイアウトが同一の複数の帳票について、各帳票における同一位置の各欄の記載内容を比較し、比較結果に応じて、各欄の種別を判別し、各欄の種別に関する情報を記憶部１４に登録する。このため、情報処理装置１０では、帳票中の各欄の種別を人手で個別に指定する手間をかけることなく、帳票における欄の種別を自動で判別することが可能である。また、項目名欄と項目値欄で視覚的情報に違いがない帳票も適用できる。
【００６５】
また、情報処理装置１０は、入力された処理対象の帳票の各欄の記載内容と、記憶部１４に記憶された欄の種別の判別情報の記載内容とを比較し、比較結果に応じて、処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する。このため、情報処理装置１０は、処理対象の帳票が、項目名欄と項目値欄で視覚的情報に違いがない帳票であったり、様式登録対象の帳票とは視覚的情報が異なっている帳票であっても、各欄の種別を判別できるとともに、該処理対象の帳票の様式の候補を特定できる。
【００６６】
［第１の実施形態の変形例］
上述の情報処理装置１０は、欄の種別を判別するために、基本辞書を利用したり、判別結果を基本辞書に反映していくことで、項目名欄が満たすべき条件を学習するようにしてもよい。情報処理装置１０の欄の種別判別部１６２は、取得した各様式の欄の種別の判別情報を基本辞書に反映することで、項目名の判別条件を学習する。そこで、以下では、第１の実施形態の変形例として、情報処理装置１０の欄の種別判別部１６２が、第１の実施形態で判別を行った上で、さらに基本辞書を参照し、欄の記載内容が基本辞書に項目名ではない単語として記憶されている場合には、該欄の種別を項目値と判別する場合について説明する。なお、第一の実施形態と同様の構成や処理については説明を適宜省略する。
【００６７】
図１４は、第１の実施形態の変形例に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。図１４に例示するように、帳票処理ツール１６は、基本辞書を記憶する基本辞書保持部１６９を有する。
【００６８】
基本辞書について、図１５を用いて説明する。図１５は、基本辞書の例を示す図である。図１５に例示するように、基本辞書保持部１６９には、基本辞書として、「単語」と、その単語が、項目名として登録されているのか、項目名ではないとして登録されているのかを示す「単語区分」と、自動または手動のいずれによって登録されたかを示す「登録種別」と、単語と単語区分の組合せに対する登録の回数を示す「登録履歴」とが対応付けて記憶されている。
【００６９】
登録部１６４は、様式登録時に項目名と判別されている欄の記載内容を、基本辞書に項目名である単語として追加する。また、登録部１６４は、修正部１６３を介して項目名ではないと判別された欄の記載内容を、基本辞書に項目名ではない単語として追加する。
【００７０】
そして、この基本辞書は、登録した様式の欄の種別の判別情報を利用して、帳票の欄の種別を判別する際に活用される。欄の種別判別部１６２は、第１の実施形態による判別を行った上で、基本辞書を参照し、欄の記載内容が基本辞書に項目名である単語として記憶されている場合には、該欄の種別を項目名と判別する。
【００７１】
また、この基本辞書は、他の様式登録時に項目名と判別する条件としても活用される。欄の種別判別部１６２は、第１の実施形態による判別を行った上で、基本辞書を参照し、欄の記載内容が基本辞書に項目名ではない単語として記憶されている場合には、該欄の種別を項目値と判別する。
【００７２】
また、欄の種別判別部１６２は、基本辞書に含まれる登録履歴に応じて、項目名と判別する条件を変更するようにしてもよい。登録部１６４は、様式登録時に項目名と判別されている欄の記載内容について、その単語が項目名である、という登録の回数を１つ増やす。また、登録部１６４は、修正部１６３で種別を項目名から項目値に修正した場合、該欄の記載内容について、その単語が項目名ではない、という登録の回数を１つ増やす。
【００７３】
この基本辞書は、登録した様式の欄の種別の判別情報を利用して、帳票の欄の種別を判別する際に活用される。そのとき、記載内容の一致だけではなく、登録履歴が考慮される。例えば、欄の種別判別部１６２は、第１の実施形態の「欄の種別判別部」により、種別が「項目値」と判別された欄と同じ単語が基本辞書に登録されており、かつ、項目名である単語としての登録回数がある閾値より大きければ、あるいは、項目名である単語としての登録回数と項目名ではない単語としての登録回数の比がある閾値より大きければ、項目名と判別する。
【００７４】
また、この基本辞書は、他の様式登録時に「欄の種別判別部」で項目名と判別する条件としても活用される。そのとき、記載内容の一致だけではなく、登録履歴が考慮される。例えば、欄の種別判別部１６２は、第１の実施形態の「欄の種別判別部」により、種別が「項目名」と判別された欄と同じ単語が基本辞書に登録されており、かつ、項目名ではない単語としての登録回数がある閾値より大きければ、あるいは、項目名ではない単語としての登録回数と項目名である単語としての登録回数の比がある閾値より大きければ、項目名と判別しない。
【００７５】
ここで、図１６を用いて、様式登録の処理の流れを説明する。図１６は、様式登録の処理の流れを説明する図である。図１６に例示するように、記載内容・位置取得部１６１は、レイアウトが同一の複数の帳票を取得するために、２つ以上の電子ファイルまたはシステム画面を取得し、レイアウトが同一の複数の帳票における欄の記載位置をそれぞれ取得する。
【００７６】
そして、欄の種別判別部１６２は、第１の実施形態で判別を行った上で、さらに基本辞書を参照し、欄の記載内容が基本辞書に項目名ではない単語として記憶されている場合には、該欄の種別を項目値と判別する。
【００７７】
そして、第１の実施形態と同様に、判別情報１６５ｂを修正する場合には、修正部１６３が、ユーザの指示に応じて、判別情報１６５ｂを修正する。その後、登録部１６４は、修正された判別情報を用いて、帳票の様式ごとに、各帳票に含まれる判別情報をそれぞれ様式保持部１６６に記憶する。また、判別情報１６５ｂを修正しない場合には、登録部１６４は、そのまま判別情報を用いて、帳票の様式ごとに、各帳票に含まれる判別情報をそれぞれ様式保持部１６６に記憶する。
【００７８】
また、登録部１６４は、様式登録時に項目名と判別されている欄の記載内容を、基本辞書に項目名である単語として基本辞書保持部１６９に追加する。また、登録部１６４は、修正部１６３を介して項目名ではないと判別された欄の記載内容を、基本辞書に項目名ではない単語として基本辞書保持部１６９に追加する。
【００７９】
次に、図１７〜図１９を用いて、第１の実施形態の変形例に係る情報処理装置１０の欄の種別判別部１６２による処理手順の例を説明する。図１７および図１８は、第１の実施形態の変形例に係る情報処理装置の欄の種別判別部１６２において欄の種別の判別情報を作成して登録する処理の流れの一例を示すフローチャートである。図１９は、第１の実施形態の変形例に係る情報処理装置の欄の種別判別部１６２において欄の種別を判別するとともに帳票の様式の候補を特定する処理の流れの一例を示すフローチャートである。
【００８０】
まず、図１７を用いて、同じレイアウトである２つ以上の帳票を用いて欄の種別の判別情報を作成して登録する処理の流れを説明する。図１７に例示するように、欄の種別判別部１６２は、レイアウトが同一の複数の帳票の記載内容・位置データを取得し（ステップＳ３０１）、取得した帳票群から任意に１つを選んだ帳票を基準帳票とする（ステップＳ３０２）。そして、欄の種別判別部１６２は、基準帳票内の欄の総数をｎとし、ｉに「１」の値を設定する（ステップＳ３０３）。
【００８１】
続いて、欄の種別判別部１６２は、ｉの値がｎの値より大きいか判定し（ステップＳ３０４）、ｉの値がｎの値より大きくない場合には（ステップＳ３０４否定）、基準帳票以外の帳票の総数をｍとし、ｋに「１」を設定し、ｆｌａｇを「ｆａｌｓｅ」に設定する（ステップＳ３０５）。
【００８２】
また、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」であるか判定する（ステップＳ３０６）。この結果、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」でない場合には（ステップＳ３０６否定）、ｋの値がｍの値より大きいか判定する（ステップＳ３０７）。この結果、欄の種別判別部１６２は、ｋの値がｍの値より大きくない場合には（ステップＳ３０７否定）、ｋ番目の帳票から、基準帳票のｉ番目の欄と同じ記載位置の欄を取得し、欄ｊとする（ステップＳ３０８）。
【００８３】
そして、欄の種別判別部１６２は、欄ｊが存在するか判定し（ステップＳ３０９）、欄ｊが存在する場合には（ステップＳ３０９肯定）、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であるか判定する（ステップＳ３１０）。そして、欄の種別判別部１６２は、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であると判定した場合には（ステップＳ３１０肯定）、ｋの値に「１」を加算し（ステップＳ３１１）、ステップＳ３０６の処理に戻る。また、欄の種別判別部１６２は、欄ｊが存在しない場合（ステップＳ３０９否定）、あるいは、存在するが、基準帳票のｉ番目の欄と欄ｊの記載内容が同一でないと判定した場合には（ステップＳ３１０否定）、ｆｌａｇを「ｔｒｕｅ」に設定し（ステップＳ３１２）、ステップＳ３０６の処理に戻る。
【００８４】
ステップＳ３０６の処理において、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」の場合には（ステップＳ３０６肯定）、基準帳票のｉ番目の欄を項目値として判定し（ステップＳ３１５）、ｉの値に「１」を加算し（ステップＳ３１６）、ステップＳ３０４の処理に戻る。
【００８５】
ステップＳ３０７の処理において、欄の種別判別部１６２は、ｋの値がｍの値より大きい場合には（ステップＳ３０７肯定）、基準帳票のｉ番目の欄を項目名として判定する（ステップＳ３１３）。そして、欄の種別判別部１６２は、ｉ番目の欄の記載内容が、基本辞書に項目名ではないと登録されている単語と一致するか判定する（ステップＳ３１４）。この結果、欄の種別判別部１６２は、ｉ番目の欄の記載内容が、基本辞書に項目名ではないと登録されている単語と一致すると判定した場合には（ステップＳ３１４肯定）、基準帳票のｉ番目の欄を項目値として判定し（ステップＳ３１５）、ｉの値に「１」を加算し（ステップＳ３１６）、ステップＳ３０４の処理に戻る。また、欄の種別判別部１６２は、基本辞書に項目名ではないと登録されている単語と一致しないと判定した場合には（ステップＳ３１４否定）、ｉの値に「１」を加算し（ステップＳ３１６）、ステップＳ３０４の処理に戻る。
【００８６】
ステップＳ３０４において、欄の種別判別部１６２は、ｉの値がｎの値より大きい場合には（ステップＳ３０４肯定）、欄の種別の判別情報を作業データ蓄積部１６５に保存する（ステップＳ３１７）。
【００８７】
続いて、図１８を用いて、基本辞書に含まれる登録履歴に応じて、項目名か項目値かを判別する場合について説明する。図１８に例示するように、欄の種別判別部１６２は、レイアウトが同一の複数の帳票の記載内容・位置データを作業データ蓄積部１６５から取得し（ステップＳ４０１）、取得した帳票群から任意に１つを選んだ帳票を基準帳票とする（ステップＳ４０２）。そして、欄の種別判別部１６２は、基準帳票内の欄の総数をｎとし、ｉに「１」の値を設定する（ステップＳ４０３）。
【００８８】
欄の種別判別部１６２は、ｉの値がｎの値より大きいか判定し（ステップＳ４０４）、ｉの値がｎの値より大きくない場合には（ステップＳ４０４否定）、第１の実施形態と同様に、基準帳票以外の帳票の総数をｍとし、ｋに「１」の値を設定し、ｆｌａｇを「ｆａｌｓｅ」に設定した後、ｆｌａｇが「ｔｒｕｅ」であるか判定する（ステップＳ４０５）。この結果、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」でない場合には（ステップＳ４０５否定）、ｋの値がｍの値より大きいか判定する（ステップＳ４０６）。この結果、欄の種別判別部１６２は、ｋの値がｍの値より大きくない場合には（ステップＳ４０６否定）、ｋ番目の帳票から、基準帳票のｉ番目の欄と同じ記載位置の欄を取得し、欄ｊとする（ステップＳ４０７）。
【００８９】
そして、欄の種別判別部１６２は、欄ｊが存在するか判定し（ステップＳ４０８）、欄ｊが存在する場合には（ステップＳ４０８肯定）、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であるか判定する（ステップＳ４０９）。そして、欄の種別判別部１６２は、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であると判定した場合には（ステップＳ４０９肯定）、ｋの値に「１」を加算し（ステップＳ４１０）、ステップＳ４０５の処理に戻る。また、欄の種別判別部１６２は、欄ｊが存在しない場合（ステップＳ４０８否定）、あるいは、存在するが、基準帳票のｉ番目の欄と欄ｊの記載内容が同一でないと判定した場合には（ステップＳ４０９否定）、ｆｌａｇを「ｔｒｕｅ」に設定し（ステップＳ４１１）、ステップＳ４０５の処理に戻る。
【００９０】
ステップＳ４０６の処理において、欄の種別判別部１６２は、ｋの値がｍの値より大きい場合には（ステップＳ４０６肯定）、ｉ番目の欄の記載内容が、基本辞書に項目名ではないと登録されている単語と一致し、登録回数がある閾値より大きいかどうか、あるいは、項目名ではない単語としての登録回数と項目名である単語としての登録回数の比がある閾値より大きいかどうかを判定する（ステップＳ４１５）。この結果、欄の種別判別部１６２は、閾値より大きい場合には（ステップＳ４１５肯定）、基準帳票のｉ番目の欄を項目値として判定し（ステップＳ４１６）、ｉの値に「１」を加算し（ステップＳ４１８）、ステップＳ４０４の処理に戻る。
【００９１】
また、欄の種別判別部１６２は、閾値より大きくない場合には（ステップＳ４１５否定）、基準帳票のｉ番目の欄を項目名として判定し（ステップＳ４１７）、ｉの値に「１」を加算し（ステップＳ４１８）、ステップＳ４０４の処理に戻る。
【００９２】
また、ステップＳ４０５の処理において、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」の場合には（ステップＳ４０５肯定）、基準帳票のｉ番目の欄を項目値として判定し（ステップＳ４１３）、ｉの値に「１」を加算し（ステップＳ４１８）、ステップＳ４０４の処理に戻る。
【００９３】
ステップＳ４０４において、欄の種別判別部１６２は、ｉの値がｎの値より大きい場合には（ステップＳ４０４肯定）、欄の種別の判別情報を作業データ蓄積部１６５に保存する（ステップＳ４１９）。
【００９４】
次に、図１９を用いて、登録した欄の種別の判別情報を利用した帳票の欄の種別の判別および様式の候補の特定に関する処理の流れを説明する。図１９に例示するように、欄の種別判別部１６２は、取得した帳票の記載内容・位置データを対象とし（ステップＳ５０１）、様式保持部１６６にある様式総数をｎの値とし、ｋに「１」の値を設定する（ステップＳ５０２）。そして、欄の種別判別部１６２は、様式候補データを「なし」に設定し（ステップＳ５０３）、ｋがｎより大きいか判定する（ステップＳ５０４）。
【００９５】
続いて、欄の種別判別部１６２は、ｋがｎより大きくない場合には（ステップＳ５０４否定）、様式保持部１６６からｋ番目の様式の欄の種別の判別情報を取得し（ステップＳ５０５）、対象帳票の欄の種別の初期値を全て項目値にする（ステップＳ５０６）。そして、欄の種別判別部１６２は、様式ｋ内で種別が項目名の欄の数ｍを設定し（ステップＳ５０７）、ｉに「１」の値を設定する（ステップＳ５０８）。
【００９６】
続いて、欄の種別判別部１６２は、ｉの値がｍの値より大きいか判定し（ステップＳ５０９）、ｉの値がｍの値より大きくない場合には（ステップＳ５０９否定）、対象帳票から、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在するか判定する（ステップＳ５１２）。この結果、欄の種別判別部１６２は、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在しない場合には（ステップＳ５１２否定）、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在するか判定する（ステップＳ５１３）。そして、欄の種別判別部１６２は、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在しない場合には（ステップＳ５１３否定）、合致しない様式と判定し（ステップＳ５１４）、ステップＳ５１１の処理に進む。
【００９７】
また、欄の種別判別部１６２は、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在する場合には（ステップＳ５１３肯定）、ステップＳ５１５の処理に進む。また、ステップＳ５１２において、欄の種別判別部１６２は、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在する場合には（ステップＳ５１２肯定）、ステップＳ５１５の処理に進む。
【００９８】
ステップＳ５１５において、欄の種別判別部１６２は、ｐに該当の欄、つまりｉ番目の項目名の欄の記載内容と一致する、あるいは合致判定ルールと一致する欄の数を設定し、ｑに「１」の値を設定する（ステップＳ５１５）。そして、欄の種別判別部１６２は、ｑの値がｐの値より大きいか判定し（ステップＳ５１６）、ｑの値がｐの値より大きくない場合には（ステップＳ５１６否定）、該当の欄のうちｑ番目の欄の種別を項目名と判別し（ステップＳ５１７）、ｑの値に「１」を加算し（ステップＳ５１８）、ステップＳ５１６の処理に戻る。
【００９９】
また、ステップＳ５１６において、欄の種別判別部１６２は、ｑの値がｐの値より大きい場合には（ステップＳ５１６肯定）、ｉに「１」の値を加算し（ステップＳ５１９）、ステップＳ５０９の処理に戻る。
【０１００】
また、ステップＳ５０９において、欄の種別判別部１６２は、ｉの値がｍの値より大きい場合には（ステップＳ５０９肯定）、同一の様式として、様式候補データに加え（ステップＳ５１０）、対象帳票上の欄のうち、項目値と判別された欄の総数をｓの値とし、ｊに「１」の値を設定する（ステップＳ５２５）。
【０１０１】
そして、欄の種別判別部１６２は、ｊがｓより大きいか判定し（ステップＳ５２６）、ｊがｓより大きい場合には（ステップＳ５２６肯定）、ステップＳ５１１の処理に進む。また、欄の種別判別部１６２は、ｊがｓより大きくない場合には（ステップＳ５２６否定）、ｊ番目の欄の記載内容が、基本辞書に項目名として登録されている単語と一致するか、または、項目名である単語としての登録回数がある閾値より大きいかどうか、もしくは項目名である単語としての登録回数と項目名ではない単語としての登録回数の比がある閾値より大きいかどうか、判定する（ステップＳ５２７）。
【０１０２】
この結果、欄の種別判別部１６２は、ｊ番目の欄の記載内容が、基本辞書に項目名として登録されている単語と一致しない、または閾値より大きくない場合には（ステップＳ５２７否定）、ステップＳ５２９の処理に進む。また、欄の種別判別部１６２は、ｊ番目の欄の記載内容が、基本辞書に項目名として登録されている単語と一致する、または閾値より大きい場合には（ステップＳ５２７肯定）、ｊ番目の欄の種別を項目名と判別し（ステップＳ５２８）、ステップＳ５２９の処理に進む。ステップＳ５２９では、欄の種別判別部１６２は、ｊの値に「１」を加算して（ステップＳ５２９）、ステップＳ５２６の処理に戻る。ステップＳ５１１では、欄の種別判別部１６２は、ｋの値に「１」を加算して（ステップＳ５１１）、ステップＳ５０４の処理に戻る。
【０１０３】
また、ステップＳ５０４において、欄の種別判別部１６２は、ｋの値がｎの値より大きい場合には（ステップＳ５０４肯定）、様式候補データがあるか判定する（ステップＳ５２０）。この結果、欄の種別判別部１６２は、様式候補データがある場合には（ステップＳ５２０肯定）、様式候補データが１つであるか判定する（ステップＳ５２１）。
【０１０４】
そして、欄の種別判別部１６２は、様式候補データが１つである場合には（ステップＳ５２１肯定）、該様式候補データを処理対象の帳票の様式として判別する（ステップＳ５２２）。
【０１０５】
また、欄の種別判別部１６２は、様式候補データが１つでない場合には（ステップＳ５２１否定）、処理対象の帳票の様式候補が複数あるとして判別する（ステップＳ５２３）。また、ステップＳ５２０において、欄の種別判別部１６２は、様式候補データがない場合には（ステップＳ５２０否定）、処理対象の帳票の様式候補なしとして判別する（ステップＳ５２４）。
【０１０６】
このように、第１の実施形態の変形例にかかる情報処理装置１０では、項目名として判別された単語、修正により項目名ではないとされた単語、それらを登録した履歴を基本辞書に登録する。これにより、情報処理装置１０では、例えば、登録した様式の情報を利用して帳票の欄の種別を判別するときに、様式を登録したときには存在しなかった項目が処理対象の帳票に追加されていて、様式の欄の種別の判別情報との比較のみでは、項目値と誤って判別される項目名欄を、基本辞書を参照して補正することにより、項目名と正しく判別できる場合が出てくる。または、別の帳票を様式登録する際に、レイアウトが同一の帳票のサンプルが少な過ぎることにより、同一位置の記載内容が一致し、項目名と誤って判別される項目値欄を、基本辞書を参照して補正することにより、項目値と正しく判別できる場合が出てくる。
【０１０７】
［第２の実施形態］
上述の第１の実施形態にかかる情報処理装置１０では、項目名もしくは合致判定ルールを欄の種別の判別情報として記憶、利用する場合を説明したが、これに限定されるものではなく、さらに、帳票上の項目値に対応する項目名同士の関係性、例えば、「氏名」という項目名と「フリガナ」という項目名が、同一の項目値「エヌティティ  タロウ」という項目値に対する項目名である、という関係性や、さらに、「氏名」という項目名と「フリガナ」という項目名は親子関係にある、という関係性、を欄の種別の判別情報として記憶、利用するようにしてもよい。以下では、第２の実施形態として、関係認識部１７０が、帳票における項目名同士の関係性を認識し、その結果を利用する場合について説明する。なお、第一の実施形態と同様の構成や処理については説明を適宜省略する。
【０１０８】
図２０は、第２の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。図２０に例示するように、帳票処理ツール１６は、関係認識部１７０をさらに有する。
【０１０９】
関係認識部１７０は、様式登録対象の帳票における各項目値に対応する１つまたは複数の項目名を特定し、項目名同士の関係性を、その帳票の様式中の項目名が満たすべき条件として導出し、欄の種別の判別情報として作業データ蓄積部１６５に格納する。例えば、関係認識部１７０は、欄の種別判別部１６２が判別した項目名のなかから所定の条件に従って項目値欄に対応する１つ以上の項目名欄とその項目名欄同士の関係を特定し、項目名とその関係性を判別情報１６５ｂとして作業データ蓄積部１６５に格納する。なお、項目名欄と項目値欄の対応関係や項目名欄同士の関係を認識する手法はどのような手法であってよく、項目値欄と項目名欄の対応関係および項目名欄同士の関係を特定する条件は適宜変更できるものとする。また、関係認識部１７０は、帳票における項目値と項目名の関係を認識し、項目値と項目名の関係も作業データ蓄積部１６５に格納するようにしてもよい。
【０１１０】
ここで、図２１を用いて、帳票上の項目値に対応する項目名同士の関係性について説明する。図２１は、帳票上の項目値に対応する項目名同士の関係性の例を示す図である。図２１の例は、図５に例示した帳票から特定された各項目値と対応付く項目名同士の関係性であり、例では、親子関係を、親→子の順に記載されている。例えば、図５の項目値「エヌティティ  タロウ」に対応する項目名が親→子の順に「契約情報」、「氏名」、「フリガナ」と求められたとき、作業データ蓄積部１６５は、欄の種別の判別情報１６５ｂでは、「契約者情報」、「氏名」、「フリガナ」が項目名として記憶される。なお、帳票上の項目値欄に対応する項目名同士の関係性は、項目名同士の親子関係に限定されるものではない。
【０１１１】
ここで、第２の実施形態における様式登録の処理の流れを説明する。第２の実施形態では、第１の実施形態と同様に登録部１６４が欄の種別の判別情報を様式保持部１６６に記憶した後、関係認識部１７０は、欄の種別判別部１６２が判別した項目名のなかから所定の条件に従って項目値欄に対応する１つ以上の項目名欄とその項目名欄同士の関係を特定し、項目名とその関係性を判別情報１６５ｂとして作業データ蓄積部１６５に格納する。なお、詳細な処理の流れは、後に図２３を用いて詳述する。
【０１１２】
次に、図２２を用いて、登録した様式の情報を利用して帳票の欄の種別を判別させるときの流れを説明する。図２２は、帳票の欄の種別を判別し、帳票の様式の候補を特定する処理の流れを説明する図である。図２２に例示するように、記載内容・位置取得部１６１は、電子ファイルまたはシステム画面から処理対象の帳票を取得し、該帳票における各欄の記載内容と記載位置をそれぞれ取得する。
【０１１３】
欄の種別判別部１６２は、処理対象の帳票の欄の種別を判別し、処理対象の帳票中の項目名が、欄の種別の判別情報に記載された項目名同士の関係性を満たしたか判定し、判定結果に応じて、欄の種別の判別情報に記載された項目名が処理対象の帳票中のどの項目名欄に対応するかを決定するとともに、処理対象の帳票の様式の候補を特定する。具体的には、欄の種別判別部１６２は、入力された処理対象の帳票の各欄の記載内容および項目名同士の関係性と、様式保持部１６６で保持され、様式取得部１６８により取得された様式の欄の種別の判別情報および項目名の関係性情報とを比較し、比較結果に応じて、処理対象の帳票の各欄の種別を判別するとともに、該処理対象の帳票の様式の候補を特定する。ここで、関係認識部１７０は、欄の種別判別部１６２の一部として、第１の実施形態において処理対象の帳票中の各欄の種別を判別した後に、該帳票における項目名同士の関係性を認識する。欄の種別判別部１６２は、第１の実施形態で判定している、登録されている各様式の欄の種別の判別情報に含まれる項目名あるいはその合致判定ルールのそれぞれについて、適合する欄が処理対象の帳票に存在するかどうかに加え、登録されている各様式の項目名同士の関係性と一致するものが、処理対象の帳票中の項目名同士の関係性に存在するかどうか、に応じて、処理対象の帳票の様式の候補を特定する。つまり、第２の実施形態では、欄の種別判別部１６２は、各欄の記載内容だけでなく、項目値が対応付く項目名の関係性も比較し、比較結果に応じて、処理対象の帳票の様式の候補を特定する。
【０１１４】
次に、図２３および図２４を用いて、第２の実施形態に係る情報処理装置１０の欄の種別判別部１６２と関係認識部１７０による処理手順の例を説明する。図２３は、第２の実施形態に係る情報処理装置の欄の種別判別部１６２と関係認識部１７０において欄の種別の判別情報を作成して登録する処理の流れの一例を示すフローチャートである。図２４は、第２の実施形態に係る情報処理装置の欄の種別判別部１６２と関係認識部１７０において欄の種別を判別するとともに帳票の様式の候補を特定する処理の流れの一例を示すフローチャートである。
【０１１５】
まず、図２３を用いて、同じレイアウトである２つ以上の帳票を用いて欄の種別の判別情報を作成して登録する処理の流れを説明する。図２３に例示するように、欄の種別判別部１６２は、レイアウトが同一の複数の帳票の記載内容・位置データを取得し（ステップＳ６０１）、取得した帳票群から任意に１つを選んだ帳票を基準帳票とする（ステップＳ６０２）。そして、欄の種別判別部１６２は、基準帳票内の欄の総数をｎとし、ｉに「１」の値を設定する（ステップＳ６０３）。
【０１１６】
続いて、欄の種別判別部１６２は、ｉの値がｎの値より大きいか判定し（ステップＳ６０４）、ｉの値がｎの値より大きくない場合には（ステップＳ６０４否定）、基準帳票以外の帳票の総数をｍとし、ｋに「１」の値を設定し、ｆｌａｇを「ｆａｌｓｅ」に設定する（ステップＳ６０５）。
【０１１７】
そして、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」であるか判定し（ステップＳ６０６）、ｆｌａｇが「ｔｒｕｅ」でない場合には（ステップＳ６０６否定）、ｋの値がｍの値より大きいか判定する（ステップＳ６０７）。この結果、欄の種別判別部１６２は、ｋの値がｍの値より大きくない場合には（ステップＳ６０７否定）、ｋ番目の帳票から、基準帳票のｉ番目の欄と同じ記載位置の欄を取得し、欄ｊとする（ステップＳ６０８）。
【０１１８】
そして、欄の種別判別部１６２は、欄ｊが存在するか判定し（ステップＳ６０９）、欄ｊが存在する場合には（ステップＳ６０９肯定）、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であるか判定する（ステップＳ６１０）。そして、欄の種別判別部１６２は、基準帳票のｉ番目の欄と欄ｊの記載内容が同一であると判定した場合には（ステップＳ６１０肯定）、ｋの値に「１」を加算し（ステップＳ６１１）、ステップＳ６０６の処理に戻る。また、欄の種別判別部１６２は、欄ｊが存在しない場合（ステップＳ６０９の否定）、あるいは、存在するが、基準帳票のｉ番目の欄と欄ｊの記載内容が同一でないと判定した場合には（ステップＳ６１０否定）、ｆｌａｇを「ｔｒｕｅ」に設定し（ステップＳ６１２）、ステップＳ６０６の処理に戻る。
【０１１９】
ステップＳ６０７の処理において、欄の種別判別部１６２は、ｋの値がｍの値より大きい場合には（ステップＳ６０７肯定）、基準帳票のｉ番目の欄を項目名として判定し（ステップＳ６１４）、ｉの値に「１」を加算し（ステップＳ６１５）、ステップＳ６０４の処理に戻る。
【０１２０】
ステップＳ６０６の処理において、欄の種別判別部１６２は、ｆｌａｇが「ｔｒｕｅ」の場合には（ステップＳ６０６肯定）、基準帳票のｉ番目の欄を項目値として判定し（ステップＳ６１３）、ｉの値に「１」を加算し（ステップＳ６１５）、ステップＳ６０４の処理に戻る。
【０１２１】
ステップＳ６０４において、欄の種別判別部１６２は、ｉの値がｎの値より大きい場合には（ステップＳ６０４肯定）、欄の種別の判別情報を作業データ蓄積部１６５に保存する（ステップＳ６１６）。
【０１２２】
そして、欄の種別判別部１６２は、関係認識部１７０により帳票における各項目値欄に対応する１つまたは複数の項目名欄を特定し（ステップＳ６１７）、各項目値に対応する項目名同士の関係性を追加の欄の種別の判別情報として作業データ蓄積部１６５に格納する（ステップＳ６１８）。
【０１２３】
次に、図２４を用いて、登録した欄の種別の判別情報を利用した帳票の欄の種別の判別および様式の候補の特定に関する処理の流れを説明する。図２４に例示するように、欄の種別判別部１６２は、取得した帳票の記載内容・位置データを対象とし（ステップＳ７０１）、様式保持部１６６にある様式総数をｋに「１」の値を設定する（ステップＳ７０２）。そして、欄の種別判別部１６２は、様式候補データを「なし」に設定し（ステップＳ７０３）、ｋがｎより大きいか判定する（ステップＳ７０４）。
【０１２４】
続いて、欄の種別判別部１６２は、ｋがｎより大きくない場合には（ステップＳ７０４否定）、様式保持部１６６からｋ番目の様式の欄の種別の判別情報を取得し（ステップＳ７０５）、対象帳票の欄の種別の初期値を全て項目値にする（ステップＳ７０６）。そして、欄の種別判別部１６２は、様式ｋ内で種別が項目名の欄の数ｍを設定し（ステップＳ７０７）、ｉに「１」の値を設定する（ステップＳ７０８）。
【０１２５】
続いて、欄の種別判別部１６２は、ｉの値がｍの値より大きいか判定し（ステップＳ７０９）、ｉの値がｍの値より大きくない場合には（ステップＳ７０９否定）、対象帳票から、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在するか判定する（ステップＳ７１４）。この結果、欄の種別判別部１６２は、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在しない場合には（ステップＳ７１４否定）、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在するか判定する（ステップＳ７１５）。そして、欄の種別判別部１６２は、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在しない場合には（ステップＳ７１５否定）、合致しない様式と判定し（ステップＳ７１６）、ステップＳ７１３の処理に進む。
【０１２６】
また、欄の種別判別部１６２は、対象帳票からｉ番目の合致判定ルールと一致する欄が１つ以上存在する場合には（ステップＳ７１５肯定）、ステップＳ７１７の処理に進む。また、ステップＳ７１４において、欄の種別判別部１６２は、ｉ番目の項目名の欄の記載内容と一致する欄が１つ以上存在する場合には（ステップＳ７１４肯定）、ステップＳ７１７の処理に進む。
【０１２７】
ステップＳ７１７において、欄の種別判別部１６２は、該当の欄、つまりｉ番目の項目名の欄の記載内容と一致する、あるいは合致判定ルールと一致する欄の数をｐに設定し、ｑに「１」の値を設定する（ステップＳ７１７）。そして、欄の種別判別部１６２は、ｑの値がｐの値より大きいか判定し（ステップＳ７１８）、ｑの値がｐの値より大きくない場合には（ステップＳ７１８否定）、該当の欄のうちｑ番目の欄の種別を項目名と判別し（ステップＳ７１９）、ｑの値に「１」を加算し（ステップＳ７２０）、ステップＳ７１８の処理に戻る。
【０１２８】
また、ステップＳ７１８において、欄の種別判別部１６２は、ｑの値がｐの値より大きい場合には（ステップＳ７１８肯定）、ｉに「１」の値を加算し（ステップＳ７２１）、ステップＳ７０９の処理に戻る。
【０１２９】
また、ステップＳ７０９において、欄の種別判別部１６２は、ｉの値がｍの値より大きい場合には（ステップＳ７０９肯定）、関係認識部１７０により帳票における各項目値欄に対応する１つまたは複数の項目名欄を特定し、さらにその項目名欄同士の関係を特定する（ステップＳ７１０）。そして、欄の種別判別部１６２は、ｋ番目の様式の欄の種別の判別情報に含まれる項目名同士の関係性のそれぞれと同じものが、対象帳票の項目名同士の関係性に含まれているかどうかを判定する（ステップＳ７１１）。
【０１３０】
この結果、欄の種別判別部１６２は、ｋ番目の様式の欄の種別の判別情報に含まれる項目名同士の関係性のそれぞれと同じものが、対象帳票の項目名同士の関係性に含まれていると判定した場合には（ステップＳ７１１肯定）、同一の様式として、様式候補データに加え（ステップＳ７１２）、ｋの値に「１」を加算して（ステップＳ７１３）、ステップＳ７０４の処理に戻る。また欄の種別判別部１６２は、ｋ番目の様式の欄の種別の判別情報に含まれる項目名同士の関係性のうち、対象帳票の項目名同士の関係性には含まれないものがあると判定した場合には（ステップＳ７１１否定）、ｋの値に「１」を加算して（ステップＳ７１３）、ステップＳ７０４の処理に戻る。
【０１３１】
また、ステップＳ７０４において、欄の種別判別部１６２は、ｋの値がｎの値より大きい場合には（ステップＳ７０４肯定）、様式候補データがあるか判定する（ステップＳ７２２）。この結果、欄の種別判別部１６２は、様式候補データがある場合には（ステップＳ７２２肯定）、様式候補データが１つであるか判定する（ステップＳ７２３）。
【０１３２】
そして、欄の種別判別部１６２は、様式候補データが１つである場合には（ステップＳ７２３肯定）、該様式候補データを処理対象の帳票の様式として判別する（ステップＳ７２４）。
【０１３３】
また、欄の種別判別部１６２は、様式候補データが１つでない場合には（ステップＳ７２３否定）、処理対象の帳票の様式候補が複数あるとして判別する（ステップＳ７２５）。また、ステップＳ７２２において、欄の種別判別部１６２は、様式候補データがない場合には（ステップＳ７２２否定）、処理対象の帳票の様式候補なしとして判別する（ステップＳ７２６）。
【０１３４】
［第２の実施形態の効果］
このように、第２の実施形態に係る情報処理装置１０は、欄の種別の判別情報として記憶された項目値に対応する項目名および項目名同士の関係性と、処理対象の帳票の項目値欄に対応する項目名および項目名同士の関係性とを比較して同一であれば同じ様式と判別する。このため、第２の実施形態に係る情報処理装置１０は、項目値が対応付く項目名同士の関係性を考慮して、より精度よく処理対象の帳票の様式を判別することが可能である。
【０１３５】
なお、第２の実施形態についても、前述の第１の実施形態の変形例と同様に、さらに基本辞書を参照し、欄の記載内容が基本辞書に項目名ではない単語として記憶されている場合には、該欄の種別を項目値と判別するようにしてもよい。
【０１３６】
［第３の実施形態］
情報処理装置１０の記載内容・位置取得部１６１は、帳票における各欄の記載内容と記載位置を取得するために、光学文字認識で各欄の記載内容と記載位置を認識するようにしてもよい。以下では、第３の実施形態として、光学文字認識で各欄の記載内容と記載位置を認識する場合について説明する。
【０１３７】
図２５は、第３の実施形態に係る情報処理装置における帳票処理ツールの論理構成を示すブロック図である。図２５に例示するように、記載内容・位置取得部１６１は、罫線分割部１６１ａ、文字認識部１６１ｂおよび結合部１６１ｃを有する。記載内容・位置取得部１６１は、帳票の画像データから罫線の端点情報を求め、罫線で囲まれた領域を取得することで、罫線で囲まれた領域を単一の欄の記載位置として、単一の欄の領域内に存在する光学文字認識で取得した文字列のまとまりを記載内容として取得し、欄の記載位置と記載内容を組み合わせて記載内容・位置データを生成する。
【０１３８】
罫線分割部１６１ａは、罫線情報を用いて領域を分割し、該領域の情報を領域分割情報１６５ｄとして作業データ蓄積部１６５に格納する。文字認識部１６１ｂは、画像データとして取得した帳票に対して、光学文字認識で各文字列の記載位置および記載内容を認識し、認識した各文字列の記載位置および記載内容を文字列情報１６５ｅとして作業データ蓄積部１６５に格納する。結合部１６１ｃは、罫線分割部１６１ａで分割した各領域に対して、その領域を単一の欄とみなし、その領域内にある文字列をすべて探し、それらの文字列のまとまりを欄の記載内容、その領域の領域分割情報を欄の記載位置とする記載内容・位置データ１６５ａとして作業データ蓄積部１６５に格納する。
【０１３９】
ここで、記載内容・位置取得部１６１の処理を図２６および図２７を用いて説明する。まず、図２６の例を用いて、光学文字認識ソフトを利用して出力される出力例について説明する。図２６に例示するように、記載内容・位置取得部１６１は、入力データとして帳票のデータを取得すると、画像処理により罫線を認識し、罫線の端点位置を取得する。また、記載内容・位置取得部１６１は、光学文字認識により文字列を識別し、その文字列とその文字列の存在領域を取得する。図２６の例は、光学文字認識結果の例であり、文字列のみが出力されている。
【０１４０】
次に、図２７を用いて、記載内容・位置取得部１６１における一連の処理の流れを説明する。図２７に例示するように、罫線分割部１６１ａは、画像処理により罫線の端点位置を取得した後、それを用いて領域を分割する。また、文字認識部１６１ｂは、光学文字認識により文字列とその存在領域を取得する。そして、結合部１６１ｃは、罫線分割部１６１ａで分割した各領域に対して、その領域内にある文字列をすべて探し、それらの文字列のまとまりを欄の記載内容、その領域分割情報を欄の記載位置として、その欄の記載内容・位置データを生成する。
【０１４１】
次に、図２８を用いて、第３の実施形態に係る情報処理装置１０の結合部１６１ｃによる処理手順の例を説明する。図２８は、第３の実施形態に係る情報処理装置において記載内容・位置データを保存する処理の流れの一例を示すフローチャートである。
【０１４２】
図２８に例示するように、情報処理装置１０は、分割領域の総数をｎと設定し、ｉの値を「１」と設定し、記載内容・位置データをＮＵＬＬと設定する（ステップＳ９０１）。そして、情報処理装置１０は、ｉの値がｎの値よりも大きいか判定する（ステップＳ９０２）。
【０１４３】
この結果、情報処理装置１０は、ｉの値がｎの値よりも大きくない場合には（ステップＳ９０２否定）、ｉ番目の分割領域内に配置されている文字列をすべて取り出し（ステップＳ９０３）、取り出した文字列を、その文字列の記載位置が左下から右下の順に結合する（ステップＳ９０４）。
【０１４４】
そして、情報処理装置１０は、分割領域の情報と、結合した文字列を記載内容・位置データに追加し（ステップＳ９０５）、ｉの値に「１」を追加し（ステップＳ９０６）、ステップＳ９０２の処理に戻る。また、ステップＳ９０２において、情報処理装置１０は、ｉの値がｎの値よりも大きい場合には（ステップＳ９０２肯定）、作業データ蓄積部１６５に記載内容・位置データ１６５ａを保存する（ステップＳ９０７）。
【０１４５】
［第３の実施形態の効果］
このように、情報処理装置１０は、前処理として、画像データとして取得した帳票に対して、画像処理により取得した罫線の端点情報に基づき領域を分割した結果と、光学文字認識により取得した文字列とその記載位置を組合せ、各欄の記載内容と記載位置を対応づけることで、各欄の記載内容・位置データを生成し、それをもとに各欄の種別を自動で判別することが可能である。
【０１４６】
（システム構成等）
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１４７】
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１４８】
（プログラム）
また、上記実施形態において説明した情報処理装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、実施形態に係る情報処理装置１０が実行する処理をコンピュータが実行可能な言語で記述した判別プログラムを作成することもできる。この場合、コンピュータが判別プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる判別プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録された判別プログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【０１４９】
図２９は、判別プログラムを実行するコンピュータを示す図である。図２９に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【０１５０】
メモリ１０１０は、図２９に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図２９に例示するように、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、図２９に例示するように、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、図２９に例示するように、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、図２９に例示するように、例えばディスプレイ１１３０に接続される。
【０１５１】
ここで、図２９に例示するように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の、判別プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０９０に記憶される。
【０１５２】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、各種処理手順を実行する。
【０１５３】
なお、判別プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、判別プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【０１５４】
１０  情報処理装置
１１ａ  操作入力部
１１ｂ  帳票入力部
１２  表示部
１３  ＯＳ
１４  記憶部
１５  エディタ
１６  帳票処理ツール
１６１  記載内容・位置取得部
１６２  欄の種別判別部
１６３  修正部
１６４  登録部
１６５  作業データ蓄積部
１６５ａ  記載内容・位置データ
１６５ｂ  判別情報
１６５ｃ  様式候補データ
１６５ｄ  領域分割情報
１６５ｅ  文字列情報
１６６  様式保持部
１６７  様式候補選択部
１６８  様式取得部
１６９  基本辞書保持部
１７０  関係認識部
【図１】
2020126557.tif 000003
【図２】
2020126557.tif 000004
【図３】
2020126557.tif 000005
【図４】
2020126557.tif 000006
【図５】
2020126557.tif 000007
【図６】
2020126557.tif 000008
【図７】
2020126557.tif 000009
【図８】
2020126557.tif 000010
【図９】
2020126557.tif 000011
【図１０】
2020126557.tif 000012
【図１１】
2020126557.tif 000013
【図１２】
2020126557.tif 000014
【図１３】
2020126557.tif 000015
【図１４】
2020126557.tif 000016
【図１５】
2020126557.tif 000017
【図１６】
2020126557.tif 000018
【図１７】
2020126557.tif 000019
【図１８】
2020126557.tif 000020
【図１９】
2020126557.tif 000021
【図２０】
2020126557.tif 000022
【図２１】
2020126557.tif 000023
【図２２】
2020126557.tif 000024
【図２３】
2020126557.tif 000025
【図２４】
2020126557.tif 000026
【図２５】
2020126557.tif 000027
【図２６】
2020126557.tif 000028
【図２７】
2020126557.tif 000029
【図２８】
2020126557.tif 000030
【図２９】
2020126557.tif 000031