(57)【要約】【課題】帳票毎又は帳票内の項目毎に適用される文字認識エンジンを最適化することを課題とする。【解決手段】帳票又は該帳票内の項目に係る帳票データを、複数の文字認識エンジンのうち該帳票又は該項目の認識に適した文字認識エンジンに関連付けて蓄積し、処理対象帳票の画像データを取得し、複数の文字認識エンジンのうち、画像データに対応する帳票種別又は帳票項目に関連付けられた文字認識エンジンを用いて、画像データに含まれる文字列を読み取り、文字認識結果のうち、正解文字列と、少なくとも該正解文字列を含む文字画像とを関連付けて正解データとして蓄積し、複数の文字認識エンジンの夫々を用いて、蓄積された文字画像に含まれる文字列を読み取り、文字認識の成績に基づいて、正解データに係る帳票種別又は帳票項目に関連付けられた文字認識エンジンを変更することとした。【選択図】図１５
2019169026.tif 000002
【特許請求の範囲】
【請求項１】
帳票又は該帳票内の項目に係る帳票データを、複数の文字認識エンジンのうち該帳票又は該項目の認識に適した文字認識エンジンに関連付けて蓄積する、帳票データ蓄積手段と、
処理対象帳票の画像データを取得する画像データ取得手段と、
前記複数の文字認識エンジンのうち、前記画像データに対応する帳票種別又は帳票項目に関連付けられた文字認識エンジンを用いて、前記画像データに含まれる文字列を読み取る第一の文字認識手段と、
前記第一の文字認識手段による文字認識結果のうち、正解文字列と、少なくとも該正解文字列を含む文字画像とを関連付けて正解データとして蓄積する正解データ蓄積手段と、
前記複数の文字認識エンジンの夫々を用いて、前記正解データ蓄積手段によって蓄積された前記文字画像に含まれる文字列を読み取る第二の文字認識手段と、
前記第二の文字認識手段による文字認識の成績に基づいて、前記正解データに係る帳票種別又は帳票項目に関連付けられた文字認識エンジンを変更するエンジン変更手段と、
を備える情報処理装置。
【請求項２】
前記帳票データ蓄積手段は、文字認識エンジンと帳票種別又は帳票項目との組み合わせ毎に、該文字認識エンジンを用いて該帳票種別又は帳票項目の画像データから文字列を読み取った場合の成績を蓄積し、又、前記第二の文字認識手段による文字認識結果に基づいて、蓄積されている成績を更新し、
前記エンジン変更手段は、前記帳票データ蓄積手段によって蓄積されている成績に基づいて、帳票種別又は帳票項目に関連付けられる文字認識エンジンを、該帳票種別又は該帳票項目について最も成績の高い文字認識エンジンに変更する、
請求項１に記載の情報処理装置。
【請求項３】
前記第一の文字認識手段による文字認識結果の、ユーザーによる修正を受け付ける修正受付手段を更に備え、
前記正解データ蓄積手段は、ユーザーによる修正が受け付けられた場合に、修正によって得られた正解文字列と、少なくとも該正解文字列を含む文字画像とを関連付けて正解データとして蓄積する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記帳票データには、帳票内の項目の形式又は記載ルールが含まれ、
前記第一の文字認識手段による文字認識結果を、前記形式又は記載ルールに適合するように補正する補正手段を更に備える、
請求項３に記載の情報処理装置。
【請求項５】
前記正解データ蓄積手段によって蓄積された、ユーザーによる修正によって得られた正解文字列から、同一項目についての正解文字列を抽出し、該正解文字列が前記形式又は記載ルールに適合していない場合に、修正によって得られた正解文字列が該当項目の形式／ルールに適合するように該当項目の形式又は記載ルールを更新する、形式／ルール更新手段を更に備える、
請求項４に記載の情報処理装置。
【請求項６】
前記第二の文字認識手段は、該情報処理装置において利用可能な新たな文字認識エンジンが追加された場合に、追加された文字認識エンジンを用いて、前記正解データ蓄積手段によって蓄積された前記文字画像に含まれる文字列を読み取り、
前記エンジン変更手段は、前記新たな文字認識エンジンによる文字認識の成績に基づいて、前記正解データに係る帳票種別又は帳票項目に関連付けられた文字認識エンジンを変更する、
請求項１から５の何れか一項に記載の情報処理装置。
【請求項７】
コンピューターが、
帳票又は該帳票内の項目に係る帳票データを、複数の文字認識エンジンのうち該帳票又は該項目の認識に適した文字認識エンジンに関連付けて蓄積する、帳票データ蓄積ステップと、
処理対象帳票の画像データを取得する画像データ取得ステップと、
前記複数の文字認識エンジンのうち、前記画像データに対応する帳票種別又は帳票項目に関連付けられた文字認識エンジンを用いて、前記画像データに含まれる文字列を読み取る第一の文字認識ステップと、
前記第一の文字認識ステップでの文字認識結果のうち、正解文字列と、少なくとも該正解文字列を含む文字画像とを関連付けて正解データとして蓄積する正解データ蓄積ステップと、
前記複数の文字認識エンジンの夫々を用いて、前記正解データ蓄積ステップで蓄積された前記文字画像に含まれる文字列を読み取る第二の文字認識ステップと、
前記第二の文字認識ステップでの文字認識の成績に基づいて、前記正解データに係る帳票種別又は帳票項目に関連付けられた文字認識エンジンを変更するエンジン変更ステップと、
を実行する文字認識エンジン最適化方法。
【請求項８】
コンピューターを、
帳票又は該帳票内の項目に係る帳票データを、複数の文字認識エンジンのうち該帳票又は該項目の認識に適した文字認識エンジンに関連付けて蓄積する、帳票データ蓄積手段と、
処理対象帳票の画像データを取得する画像データ取得手段と、
前記複数の文字認識エンジンのうち、前記画像データに対応する帳票種別又は帳票項目に関連付けられた文字認識エンジンを用いて、前記画像データに含まれる文字列を読み取る第一の文字認識手段と、
前記第一の文字認識手段による文字認識結果のうち、正解文字列と、少なくとも該正解文字列を含む文字画像とを関連付けて正解データとして蓄積する正解データ蓄積手段と、
前記複数の文字認識エンジンの夫々を用いて、前記正解データ蓄積手段によって蓄積された前記文字画像に含まれる文字列を読み取る第二の文字認識手段と、
前記第二の文字認識手段による文字認識の成績に基づいて、前記正解データに係る帳票種別又は帳票項目に関連付けられた文字認識エンジンを変更するエンジン変更手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、帳票読み取り技術に関する。
【背景技術】
【０００２】
帳票の外観上の特徴に係る特徴データを、帳票種別毎に蓄積する特徴データベースに接続される情報処理装置に、処理対象帳票の画像データを取得する画像データ取得部と、画像データから、処理対象帳票に係る特徴データを取得する特徴データ取得部と、特徴データベースに蓄積されている特徴データから、処理対象帳票に係る特徴データに一致または類似する特徴データを特定することで、処理対象帳票の帳票種別を推定する推定部と、推定部によって処理対象帳票の帳票種別が推定されなかった場合に、処理対象帳票に係る特徴データを特徴データベースに追加する特徴データ追加部と、を備えることで、予め書式定義を作成することなく帳票種別を推定することを可能とする技術が提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１９８６８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、スキャナーやカメラ等を用いて、紙媒体として発生した帳票の画像データを生成して帳票の種別を識別し、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ）処理を行う技術がある。
【０００５】
しかし、このような技術を実際に業務に導入する場合には、実際に業務で用いられている帳票を用いて複数種類の文字認識エンジンを評価し、最適な文字認識エンジンを選定する手間がかかっていた。又、導入後も、良好な帳票読取の結果を得るためには時間をかけて調整を行う必要があり、即座に技術導入の効果が得られるものではなかった。更に、一旦業務に導入された文字認識エンジンを変更することは困難であり、帳票認識精度の上限は、導入された文字認識エンジンの性能や特徴に依存していた。
【０００６】
本開示は、上記した問題に鑑み、帳票毎又は帳票内の項目毎に適用される文字認識エンジンを最適化することを課題とする。
【課題を解決するための手段】
【０００７】
本開示の一例は、帳票又は該帳票内の項目に係る帳票データを、複数の文字認識エンジンのうち該帳票又は該項目の認識に適した文字認識エンジンに関連付けて蓄積する、帳票データ蓄積手段と、処理対象帳票の画像データを取得する画像データ取得手段と、前記複数の文字認識エンジンのうち、前記画像データに対応する帳票種別又は帳票項目に関連付けられた文字認識エンジンを用いて、前記画像データに含まれる文字列を読み取る第一の文字認識手段と、前記第一の文字認識手段による文字認識結果のうち、正解文字列と、少なくとも該正解文字列を含む文字画像とを関連付けて正解データとして蓄積する正解データ蓄積手段と、前記複数の文字認識エンジンの夫々を用いて、前記正解データ蓄積手段によって蓄積された前記文字画像に含まれる文字列を読み取る第二の文字認識手段と、前記第二の文字認識手段による文字認識の成績に基づいて、前記正解データに係る帳票種別又は帳票項目に関連付けられた文字認識エンジンを変更するエンジン変更手段と、を備える情報処理装置である。
【０００８】
本開示は、情報処理装置、システム、コンピューターによって実行される方法又はコンピューターに実行させるプログラムとして把握することが可能である。又、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的又は化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
【発明の効果】
【０００９】
本開示によれば、帳票毎又は帳票内の項目毎に適用される文字認識エンジンを最適化することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るシステムのハードウェア構成を示す概略図である。
【図２】実施形態に係る情報処理装置の機能構成の概略を示す図である。
【図３】実施形態において帳票データバンクに蓄積される帳票データと、帳票画像との関係を示す図である。
【図４】実施形態において用いられる、帳票データバンク中の帳票種別データテーブルの構成を示す図である。
【図５】実施形態において用いられる、帳票データバンク中の帳票項目データテーブルの構成を示す図である。
【図６】実施形態において用いられる、帳票データバンク中の正解データテーブルの構成を示す図である。
【図７】実施形態において用いられる、帳票データバンク中のＯＣＲエンジン評価データ（帳票種別）テーブルの構成を示す図である。
【図８】実施形態において用いられる、帳票データバンク中のＯＣＲエンジン評価データ（帳票項目）テーブルの構成を示す図である。
【図９】実施形態に係るエンジン選択処理の流れの概要を示すフローチャートＡである。
【図１０】実施形態に係るエンジン選択処理の流れの概要を示すフローチャートＢである。
【図１１】実施形態に係る帳票読取処理の流れの概要を示すフローチャートＡである。
【図１２】実施形態に係る帳票読取処理の流れの概要を示すフローチャートＢである。
【図１３】実施形態に係るデータ分析処理の流れの概要を示すフローチャートである。
【図１４】実施形態に係る新規エンジン評価処理の流れの概要を示すフローチャートである。
【図１５】実施形態に係るエンジン最適化処理の流れの概要を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本開示に係る情報処理装置、方法及びプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、方法及びプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、又、種々の改良や変形が行われてよい。
【００１２】
実施形態の説明では、本開示に係る情報処理装置、方法及びプログラムを、ユーザー端末から送信された画像データに係る帳票の帳票種別を推定し、推定結果に基づいて決定された最適なＯＣＲエンジンを用いて文字読取を行う帳票処理システムにおいて実施した場合の実施の形態について説明する。なお、本開示に係る情報処理装置、方法及びプログラムは、帳票を読み取るための技術について広く用いることが可能であり、本開示の適用対象は、実施形態において示した例に限定されない。
【００１３】
＜システムの構成＞
図１は、本実施形態に係る帳票処理システム１のハードウェア構成を示す概略図である。本実施形態に係る帳票処理システム１は、複数の異なる拠点に設置されて互いに異なる種類の帳票を用いた業務に使用されている複数のユーザー端末９０（以下、「ノード９０」と称する）と、ネットワークを介してノード９０と通信可能に接続されたサーバー５０と、を備える。
【００１４】
本実施形態に係る帳票処理システム１では、ノード９０から接続されるサーバー５０は、インターネットや広域ネットワークを介して遠隔地において接続されたものであり、例えばＡＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）によって提供されるが、サーバー５０は、必ずしも遠隔地に接続されたものである必要はない。例えば、サーバー５０は、ノード９０が存在するローカルネットワーク上に接続されていてもよい。
【００１５】
サーバー５０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶装置１４、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１５等の通信ユニット、等を備えるコンピューターである。
【００１６】
本実施形態に係るサーバー５０は、ノード９０から送信された画像データを受信し、後述する処理を実行する。サーバー５０によって後述する処理が実行されることで、ノード９０から送信された画像データに係る帳票の帳票種別が推定される。そして、サーバー５０は、推定結果（画像データに係る帳票の帳票種別）に基づいて、当該帳票種別に最適なＯＣＲエンジンを選択し、当該エンジンを用いて文字読取を行う。具体的には、サーバー５０は、画像データに係る帳票の帳票種別が「ＡＡＡ社の見積書」であると推定した場合、この推定結果に基づいて、「ＡＡＡ社の見積書」を読み取った場合に最も成績の良いＯＣＲエンジンを選択し、当該エンジンを用いて文字読取を行う。
【００１７】
図２は、本実施形態に係るサーバー５０の機能構成の概略を示す図である。サーバー５０は、記憶装置１４に記録されているプログラムが、ＲＡＭ１３に読み出され、ＣＰＵ１１によって実行されて、サーバー５０に備えられた各ハードウェアが制御されることで、帳票データ蓄積部２１、正解データ蓄積部２２、画像データ取得部２３、特徴データ取得部２４、帳票データ検索部２５、第一の文字認識部２６、第二の文字認識部２７、補正部２８、修正受付部２９、形式／ルール更新部３０、及びエンジン変更部３１を備える情報処理装置として機能する。なお、本実施形態及び後述する他の実施形態では、サーバー５０の備える各機能は、汎用プロセッサであるＣＰＵ１１によって実行されるが、これらの機能の一部又は全部は、１又は複数の専用プロセッサによって実行されてもよい。
【００１８】
帳票データ蓄積部２１は、帳票又は当該帳票内の項目に係る帳票データを、複数のＯＣＲエンジン（文字認識エンジン）のうち当該帳票又は当該項目の認識に適したＯＣＲエンジンに関連付けて蓄積する。又、帳票データ蓄積部２１は、ＯＣＲエンジンと帳票種別又は帳票項目との組み合わせ毎に、当該ＯＣＲエンジンを用いて当該帳票種別又は帳票項目の画像データから文字列を読み取った場合の成績（本実施形態では、平均認識率）を蓄積し、又、第二の文字認識部２７による文字認識結果に基づいて、蓄積されている成績を更新する。
【００１９】
正解データ蓄積部２２は、第一の文字認識部２６による文字認識結果のうち、正解文字列（例えば、ユーザーによる修正が受け付けられた際に得られた文字列）と、少なくとも当該正解文字列を含む文字画像とを関連付けて正解データとして蓄積する。
【００２０】
本実施形態では、帳票データ蓄積部２１及び正解データ蓄積部２２によって蓄積されるデータは、サーバー５０からアクセス可能なデータベースである、帳票データバンクに蓄積される。
【００２１】
図３は、本実施形態において帳票データバンクに蓄積される帳票データと、帳票画像との関係を示す図である。ここで、帳票データには、帳票全体に係るデータのみならず、帳票中の各項目についてのデータが含まれるものとする。帳票画像は、記入済みの帳票を撮像等の手段を用いて電子化することによって得られた画像であり、帳票中の情報が、画像として含まれている。なお、帳票画像は、スキャナーやカメラを用いて紙媒体が撮像されることによって得られた画像に限定されない。帳票画像は、例えば、所謂タブレットのタッチパネルディスプレイ等を用いて記入された帳票の画像であってもよい。
【００２２】
本実施形態では、この帳票画像に対して、画像処理による一部画像の抽出、ＯＣＲエンジンによる文字読取、及びメタデータの読み取り等を行うことで、書式画像、項目画像、標章画像、全体ＯＣＲ結果、項目ＯＣＲ結果、帳票サイズ、等を得ることとしている。ここで、書式画像とは、帳票画像から余白及び記入情報を除いた書式に関する画像（罫線のみの画像、又は罫線の他、地紋、ロゴ、マーク等を含む画像）であり、項目画像とは、ＯＣＲの対象となる項目毎の読取領域を切り出した（クロップした）画像であり、標章画像とは、ロゴや印章、地紋等の、帳票作成元が使用する、帳票の識別に有用な画像である。又、全体ＯＣＲ結果とは、帳票画像全体をＯＣＲを用いて読み取った文字列であり、項目ＯＣＲ結果とは、項目画像をＯＣＲを用いて読み取った文字列である。又、帳票サイズとは、帳票画像から余白を除いた画像のサイズであり、書式画像のサイズと同じである。
【００２３】
帳票データバンクは、帳票種別データテーブル、帳票項目データテーブル、正解データテーブル、ＯＣＲエンジン評価データテーブル、類義語辞書を含む。ここで、帳票種別データテーブルは、帳票種別を特定するための情報、及び当該帳票種別に用いられるＯＣＲエンジンを蓄積するテーブルであり、帳票項目データテーブルは、帳票種別単位で読取項目と各読取項目に用いられるＯＣＲエンジンを蓄積するテーブルである。又、正解データテーブルは、読取元の画像データと当該画像データに含まれる正しい文字列との組み合わせを蓄積するテーブルであり、ＯＣＲエンジン評価データテーブルは、帳票種別又は帳票項目毎に、各ＯＣＲエンジンによる平均認識率を蓄積するテーブルである。又、類義語辞書は、帳票名や項目名、帳票識別キーワードの類義語を互いに関連づけて保持する辞書である。
【００２４】
図４は、本実施形態において用いられる、帳票データバンク中の帳票種別データテーブルの構成を示す図である。帳票種別データには、帳票種別ＩＤ、帳票名（文字列データ）、帳票識別キーワード（文字列データ）、書式画像（画像データ）、標章画像（画像データ）、帳票サイズ、ＯＣＲエンジン、及びその他の情報が含まれる。
【００２５】
ここで、帳票種別ＩＤは、後述する処理において、帳票種別を識別するために用いられる。又、帳票識別キーワードとは、帳票に印刷された、帳票種別を判定する上で帳票名と組み合わせて重要なキーとなる情報であり、例えば、帳票の発行元会社名等である。なお、帳票識別キーワードについては、１の帳票種別に対して複数指定されてもよい。又、帳票種別データに設定されているＯＣＲエンジンは、当該帳票種別に係る新規帳票（処理対象帳票）の読取に用いられるＯＣＲエンジンを指定するものである。本実施形態に係る帳票処理システム１では、後述する処理が繰り返し実行されて、対象帳票について指定されるＯＣＲエンジンがより適切なものに逐次更新されることにより、対象帳票の読み取り精度が向上していく。
【００２６】
図５は、本実施形態において用いられる、帳票データバンク中の帳票項目データテーブルの構成を示す図である。帳票項目データには、帳票種別ＩＤ、帳票名、帳票項目ＩＤ、項目名（文字列データ）、読取領域、項目形式、項目ルール、ＯＣＲエンジン、及びその他の情報が含まれる。
【００２７】
ここで、帳票項目ＩＤは、後述する処理において、帳票項目を識別するために用いられる。又、読取領域は、帳票内において当該項目が記載される領域を指定する情報であり、例えば、帳票内の矩形領域であれば、座標及び距離を用いて指定することが出来る。又、項目形式は、対象項目の記載内容が守るべきフォーマット（日付の形式、使用可能な文字種、記入される情報の属性、桁数、等）を指定するものであり、正規表現等を用いて定義することが出来る。項目ルールは、対象項目の記載内容が守るべき記載ルール（値の範囲、その他の項目との関係性、等）を指定するものであり、条件式等を用いて定義することが出来る。なお、読取領域、項目形式、及び項目ルールについては、１の帳票項目に対して複数指定されてもよい。複数指定されている場合、読取領域及び項目形式は、複数のうち何れかが適用され、項目ルールは全てが適用される。
【００２８】
そして、帳票項目データに設定されているＯＣＲエンジンは、当該帳票種別に係る新規帳票（処理対象帳票）中の対象項目の読取に用いられるＯＣＲエンジンを指定するものである。即ち、本実施形態では、帳票内の項目単位で、帳票種別データに指定されたＯＣＲエンジン以外のＯＣＲエンジンを用いて読み取りを実行させることが可能である。例えば、ユーザーによって手書き記入される項目については手書き文字の読み取りが得意なＯＣＲエンジンを選択し、特定の言語で記入される項目については、当該言語が得意なＯＣＲエンジンを選択する、といった対応が可能である。
【００２９】
図６は、本実施形態において用いられる、帳票データバンク中の正解データテーブルの構成を示す図である。正解データには、ＯＣＲエンジン、帳票種別ＩＤ、帳票名、帳票項目ＩＤ、項目名、読取領域、帳票画像（画像データ）、ＯＣＲ結果（文字列データ）、正解文字列（文字列データ）、及びその他の情報が含まれる。
【００３０】
ここで、ＯＣＲ結果は、当該レコードの帳票項目ＩＤに係る項目を、当該レコードに指定されたＯＣＲエンジンを用いて読み取った場合のＯＣＲ結果（正解か誤りかを問わない）である（このため、読取領域の誤りであった場合には、ＯＣＲ結果は空欄であってもよい）。又、正解文字列は、ユーザーによって入力された、当該項目に記載された正しい文字列である（このため、ＯＣＲ結果が正解である場合には、正解文字列は空欄であってもよい）。
【００３１】
図７及び図８は、本実施形態において用いられる、帳票データバンク中のＯＣＲエンジン評価データテーブルの構成を示す図である。本実施形態において、ＯＣＲエンジン評価データは、帳票種別毎にＯＣＲエンジンの評価を示すＯＣＲエンジン評価データ（帳票種別）と、帳票項目毎にＯＣＲエンジンの評価を示すＯＣＲエンジン評価データ（帳票項目）の２種類用意される。ＯＣＲエンジン評価データ（帳票種別）には、帳票種別ＩＤ、帳票名、書式画像、ＯＣＲエンジン、読取項目数、評価帳票数、平均認識率、及びその他の情報が含まれる。又、ＯＣＲエンジン評価データ（帳票項目）には、帳票種別ＩＤ、帳票名、帳票項目ＩＤ、項目名、項目画像、ＯＣＲエンジン、評価項目数、平均認識率、及びその他の情報が含まれる。
【００３２】
ここで、読取項目数とは、対象帳票に含まれる、ＯＣＲエンジンを用いた読取の対象となる項目の数である。又、平均認識率とは、ＯＣＲエンジン評価データに係る帳票種別又は帳票項目についての、対象ＯＣＲエンジンによるＯＣＲ結果の正解率（認識率）の平均値である。平均認識率は、例えば、以下に示す式を用いて算出・更新される。
総読取項目数＝評価項目数×評価帳票数＋今回の読取項目数
総正解数＝評価項目数×評価帳票数×平均認識率＋今回の正解数
平均認識率＝総正解数÷総読取項目数×１００
【００３３】
画像データ取得部２３は、モバイルカメラやスキャナー等のノード９０によって撮像され、サーバー５０宛に送信された処理対象帳票の画像データを取得する。
【００３４】
特徴データ取得部２４は、処理対象帳票の画像データから、処理対象帳票に係る複数種類の特徴データを取得する。具体的には、特徴データ取得部２４は、処理対象帳票の特徴データとして、処理対象帳票の画像データに含まれる文字列、処理対象帳票の画像データから文字画像を除いた書式画像、ロゴ画像及び帳票サイズ等を、所定のＯＣＲエンジンや画像処理機能を用いて取得する。
【００３５】
帳票データ検索部２５は、帳票データ蓄積部２１によって蓄積された帳票データを、特徴データを用いて検索することで、処理対象帳票に類似する帳票データを索出する。例えば、帳票データ検索部２５は、帳票データ蓄積部２１によって蓄積された帳票データを、特徴データ取得部２４によって取得された文字列、書式画像、ロゴ画像又は帳票サイズ等を用いて検索することで、処理対象帳票に類似する帳票データを索出する。この際、帳票データ検索部２５は、複数種類の特徴データ又は特徴データの組み合わせを用いて帳票データを検索することで、特徴データ又は特徴データの組み合わせ毎に検索結果を得、得られた検索結果を所定の順序で評価し、所定の条件を最初に満たした検索結果を、処理対象帳票に類似する帳票データとする。
【００３６】
第一の文字認識部２６は、複数のＯＣＲエンジンのうち、帳票データ検索部２５によって索出された、処理対象帳票の画像データに対応する帳票種別又は帳票項目に係る帳票データに関連付けられたＯＣＲエンジンを用いて、処理対象帳票の画像データに含まれる文字列を読み取る。
【００３７】
第二の文字認識部２７は、複数のＯＣＲエンジンの夫々を用いて、正解データ蓄積部２２によって蓄積された文字画像に含まれる文字列を読み取る。又、第二の文字認識部２７は、当該情報処理装置において利用可能な新たなＯＣＲエンジンが追加された場合に、追加されたＯＣＲエンジンを用いて、正解データ蓄積部２２によって蓄積された文字画像に含まれる文字列を読み取る。
【００３８】
補正部２８は、第一の文字認識部２６による文字認識結果を、形式又は記載ルールに適合するように補正する。
【００３９】
修正受付部２９は、第一の文字認識部２６による文字認識結果の、ユーザーによる修正を受け付ける。
【００４０】
形式／ルール更新部３０は、正解データ蓄積部２２によって蓄積された、ユーザーによる修正によって得られた正解文字列から、同一項目についての正解文字列を抽出し、当該正解文字列が形式又は記載ルールに適合していない場合に、修正によって得られた正解文字列が当該当項目の形式／ルールに適合するように当該当項目の形式又は記載ルールを更新する。
【００４１】
エンジン変更部３１は、帳票データ蓄積部２１によって蓄積されている成績に基づいて、帳票種別又は帳票項目に関連付けられるＯＣＲエンジンを、当該帳票種別又は当該帳票項目について最も成績の高いＯＣＲエンジンに変更する。
【００４２】
＜処理の流れ＞
次に、本実施形態に係るサーバー５０によって実行される処理の流れを説明する。なお、以下に説明する処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
【００４３】
図９及び図１０は、本実施形態に係るエンジン選択処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、サーバー５０が新たな帳票（以下、「処理対象帳票」）を受信したことを契機として実行される。
【００４４】
ステップＳ１０１では、帳票画像が取得される。画像データ取得部２３は、モバイルカメラやスキャナー等のノード９０によって撮像され、サーバー５０宛に送信された処理対象帳票の画像データ（帳票画像）を取得する。その後、処理はステップＳ１０２へ進む。
【００４５】
ステップＳ１０２からステップＳ１０６では、帳票画像から特徴データが取得される。特徴データ取得部２４は、画像データ（帳票画像）から、処理対象帳票に係る特徴データを取得する。具体的には、特徴データ取得部２４は、所定のＯＣＲエンジン（例えば、帳票処理システム１から利用可能な複数のＯＣＲエンジンの何れか）を用いて、帳票画像に含まれる、ＯＣＲ読み取り可能な全ての文字を特徴データ（全体ＯＣＲ結果）として取得する（ステップＳ１０２）。ここで取得された全体ＯＣＲ結果には、帳票名及び帳票識別キーワード（帳票に係る会社名等）が含まれる。
【００４６】
更に、特徴データ取得部２４は、特徴データとして、帳票画像から文字画像を除いた書式画像を取得する（ステップＳ１０３）。本実施形態において、特徴データ取得部２４は、ステップＳ１０２での文字認識の結果、ＯＣＲエンジンによって文字であると認識された１又は複数の領域を特定し、帳票画像から当該領域の画像を削除することで、書式画像を取得する。その他、罫線抽出のための具体的な方法には、様々な方法を採用可能である。例えば、帳票に係る画像データから、罫線に係る部分と罫線以外の部分（文字や記号、写真等）とを、画像解析によって峻別し、罫線のみの画像データを生成することとしてもよい。
【００４７】
又、特徴データ取得部２４は、特徴データとして、書式画像からロゴや印章、地紋等の標章（マーク）画像を取得する（ステップＳ１０４）。具体的には、標章画像は、書式画像から、枠線及び文字の画像を除き、残った画像から、画像解析によってロゴや印章、地紋等の画像を特定し、切り出すことで、標章画像を取得する。この際、標章画像の抽出には、ロゴや印章、地紋等の学習データを用いて構築された機械学習モデルが用いられてもよい。
【００４８】
更に、特徴データ取得部２４は、特徴データとして、書式画像から帳票サイズその他のパラメータを取得する（ステップＳ１０５及びステップＳ１０６）。その他のパラメータとは、例えば、帳票において用いられている言語や、帳票のページ数等である。これらのパラメータは、全体ＯＣＲ結果や、書式画像に含まれるメタデータから取得することができる。その後、処理はステップＳ１０７へ進む。
【００４９】
ステップＳ１０７では、特徴データを用いて帳票データバンクが検索される。帳票データ検索部２５は、帳票データバンク中の帳票種別データを、ステップＳ１０２からステップＳ１０６の処理で取得された特徴データの種類毎に検索する。ここで、帳票データ検索部２５は、複数種類の特徴データのうち、高い優先度が設定された特徴データから順に特徴データを用いて帳票データを検索する。そして、特徴データ毎に検索結果を得、所定の条件を最初に満たした検索結果を、処理対象帳票に類似する帳票データとする。本実施形態における特徴データの優先度及び検索処理の一例は、優先度が高い順に以下の通りである。なお、（検索３）と（検索４）の優先度は逆でもよい。
【００５０】
（検索１）帳票名及び帳票識別キーワード：帳票データ検索部２５は、帳票種別データに含まれる帳票名及び帳票識別キーワードを用いて、ステップＳ１０２で得られた全体ＯＣＲ結果を検索することで、帳票名及び帳票識別キーワードが処理対象帳票の全体ＯＣＲ結果に含まれる帳票種別データを索出する。検索に際しては、類義語辞書が併用されてもよい。
【００５１】
（検索２）書式画像：帳票データ検索部２５は、ステップＳ１０３で取得された書式画像と、帳票種別データに含まれる書式画像との画像の類似度を算出し、類似度が閾値を超える書式画像に係る帳票種別データを索出する。
【００５２】
（検索３）標章画像：帳票データ検索部２５は、ステップＳ１０４で取得された標章画像と、帳票種別データに含まれる標章画像との画像の類似度を算出し、類似度が閾値を超える標章画像に係る帳票種別データを索出する。
【００５３】
（検索４）帳票サイズ：帳票データ検索部２５は、ステップＳ１０５で取得された帳票サイズと、帳票種別データに含まれる帳票サイズとを比較し、差分が閾値の範囲内の帳票サイズに係る帳票種別データを索出する。
【００５４】
（検索５）言語、ページ数等のその他パラメータ：帳票データ検索部２５は、ステップＳ１０６で取得されたその他パラメータと、帳票種別データに含まれるその他パラメータとを比較し、一致するか、類似度が閾値を超えるか、又は差分が閾値の範囲内のその他パラメータに係る帳票種別データを索出する。
【００５５】
ステップＳ１０８からステップＳ１１１では、索出された帳票種別データから、最も類似するデータが絞り込まれる。帳票データ検索部２５は、ステップＳ１０７における検索結果の件数を、各検索条件又は検索条件の組合せ毎に判定する。
【００５６】
具体的には、まず、帳票データ検索部２５は、「検索１」の結果得られた帳票種別データの件数を参照し（ステップＳ１０８）、１件である場合には、処理をステップＳ１１４に進める。「検索１」の結果得られた帳票種別データの件数が１件ではなかった（０件又は複数件）場合、帳票データ検索部２５は、「検索２」の結果得られた帳票種別データの件数を参照し（ステップＳ１０９）、１件である場合には、処理をステップＳ１１４に進める。「検索２」の結果得られた帳票種別データの件数が０件であった場合、処理はステップＳ１１２へ進む。「検索２」の結果得られた帳票種別データの件数が複数件であった場合、帳票データ検索部２５は、「検索１」の結果と「検索２」の結果の双方に含まれる（即ち、「検索１」且つ「検索２」）帳票種別データの件数を参照し（ステップＳ１１０）、１件である場合には、処理をステップＳ１１４に進める。一方、「検索１」の結果と「検索２」の結果の双方に含まれる（即ち、「検索１」且つ「検索２」）帳票種別データの件数が０件又は複数件であった場合、帳票データ検索部２５は、更に「検索３」から「検索５」の条件を優先度の高い順に加えて検索結果を絞り込み（ステップＳ１１１）、１件に絞り込まれた場合には、処理をステップＳ１１４に進める。
【００５７】
このようにして、検索に用いられる特徴データの優先度に従って、処理対象帳票に類似する帳票種別データを絞り込むことで、より確度の高い条件を用いて、処理対象帳票の帳票種別を判定することが出来る。
【００５８】
一方、ステップＳ１１１において、「検索３」から「検索５」の条件を全て加えて検索結果を絞り込んでも１件に絞り込めなかった場合、これまでの絞り込み結果は破棄され、処理はステップＳ１１２へ進む。但し、ステップＳ１１１における絞り込み結果は、次のステップＳ１１２の処理における検索結果に加味されてもよい。
【００５９】
ステップＳ１１２では、帳票名、項目名、項目画像及び書式画像に基づいて、適切なＯＣＲエンジンが選択される。第一の文字認識部２６は、帳票データバンク内のＯＣＲエンジン評価データ（帳票種別）テーブルを、帳票名及び書式画像を用いて検索し、類似度が高いＯＣＲエンジン評価データ（帳票種別）について平均認識率が蓄積されているＯＣＲエンジンのうち、最も平均認識率が高いＯＣＲエンジンを、処理対象帳票の処理用ＯＣＲエンジンとして決定する。
【００６０】
又、第一の文字認識部２６は、帳票データバンク内のＯＣＲエンジン評価データ（帳票項目）テーブルを、帳票名、項目名及び項目画像を用いて検索し、類似度が高いＯＣＲエンジン評価データ（帳票項目）について平均認識率が蓄積されているＯＣＲエンジンのうち、最も平均認識率が高いＯＣＲエンジンを、処理対象帳票の当該項目の処理用ＯＣＲエンジンとして決定する。なお、ＯＣＲエンジン評価データの検索を行っても、処理用のＯＣＲエンジンを決定できなかった場合、第一の文字認識部２６は、検索結果をユーザーに提示し、処理対象帳票の処理用ＯＣＲエンジンを、ユーザーに選択させてもよい。その後、処理はステップＳ１１３へ進む。
【００６１】
ステップＳ１１３では、帳票種別データ及び帳票項目データが追加される。帳票データ蓄積部２１は、処理対象帳票に対応する帳票種別データ及び帳票項目データを生成し、ステップＳ１１２で決定されたＯＣＲエンジンを関連づけて帳票データバンクへ追加する。追加される帳票種別データ及び帳票項目データの帳票名は、選択されたＯＣＲエンジン評価データ（帳票種別）に従って決定され、帳票識別キーワードは、全体ＯＣＲ結果から選択される。帳票種別データ及び帳票項目データに含まれるその他の項目については、ステップＳ１０２からステップＳ１０６の処理で取得されたデータが使用される。なお、帳票データ蓄積部２１は、全体ＯＣＲ結果のうち、フォントが大きい文字列や、キーワードが記載される頻度が高い所定の位置又は領域にあった文字列を、帳票識別キーワードと推定することが出来る。又、帳票種別データ及び帳票項目データのうち自動的に設定された項目については、後述する処理において更新・修正することが可能である。その後、処理はステップＳ１１４へ進む。
【００６２】
ステップＳ１１４では、処理対象帳票の処理用ＯＣＲエンジンが決定される。第一の文字認識部２６は、ステップＳ１０７からステップＳ１１１の処理で索出された帳票種別データに関連づけられているＯＣＲエンジン、又はステップＳ１１２で決定又は選択されたＯＣＲエンジンを、処理対象帳票の処理用ＯＣＲエンジンに決定する。その後、本フローチャートに示された処理は終了する。
【００６３】
図１１及び図１２は、本実施形態に係る帳票読取処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、上述したエンジン選択処理に続けて実行される。
【００６４】
ステップＳ２０１では、帳票項目データに定義された各項目の読み取りが行われる。第一の文字認識部２６は、上述したエンジン選択処理のステップＳ１１４で処理対象帳票の処理用ＯＣＲエンジンに決定されたＯＣＲエンジンを用いて、帳票項目データに定義された各項目の文字を、当該帳票項目データに設定された読取領域から読み取る。この際、帳票項目データに、対象項目のＯＣＲエンジンとして、ステップＳ１１４で決定された処理対象帳票の処理用ＯＣＲエンジンとは異なるエンジンが指定されている場合、指定されたＯＣＲエンジンを用いて、対象項目の文字が読み取られる。その後、処理はステップＳ２０２へ進む。
【００６５】
ステップＳ２０２及びステップＳ２０３では、ＯＣＲ結果が補正される。補正部２８は、ステップＳ２０１で読み取られた文字を、帳票項目データに定義された項目形式に従って補正する（ステップＳ２０２）。例えば、補正部２８は、当該項目の帳票項目データに設定された項目形式が「日付」である場合、読み取られた文字列が日付の形式に沿ったものであるか否かを確認し、日付の形式に沿っていない場合、これを自動的に修正する。又、補正部２８は、ステップＳ２０１で読み取られた文字を、帳票項目データに定義された項目ルールに従って補正する（ステップＳ２０３）例えば、補正部２８は、当該項目の帳票項目データに設定された項目ルールが「発行日より未来」である場合、読み取られた文字列が、同帳票内の項目「発行日」から読み取られた日付より未来の日付を示すものであるか否かを確認し、項目ルールに沿っていない場合、これを自動的に修正する。その後、処理はステップＳ２０４へ進む。
【００６６】
ステップＳ２０４では、処理対象帳票内の全ての項目について読み取りが完了したか否かが判定される。第一の文字認識部２６は、ステップＳ２０１からステップＳ２０３の処理を、帳票項目データに定義された、当該帳票種別に係る全ての項目について完了したか否かを確認する。全ての項目についての処理が完了していない場合、処理はステップＳ２０１へ戻る。一方、全ての項目についての処理が完了した場合、処理はステップＳ２０５へ進む。
【００６７】
ステップＳ２０５からステップＳ２０８では、ＯＣＲ結果がユーザーによって確認され、必要に応じて修正される。修正受付部２９は、ステップＳ１０１で取得された帳票画像、ステップＳ２０１で項目読み取りの際に指定された読取領域の項目画像、及びステップＳ２０１からステップＳ２０４の処理で取得された項目ＯＣＲ結果を、ノード９０の画面に表示させる等の方法で、ユーザーから確認可能なように出力する（ステップＳ２０５）。そして、修正受付部２９は、出力されたＯＣＲ結果を確認したユーザーによって入力された確認結果を受け付ける（ステップＳ２０６）。ここで、ユーザーは、ノード９０等を用いて、ＯＣＲ結果に対して、項目毎に、ＯＣＲ結果が正しいか否かを示す入力を行うことが出来る。ＯＣＲ結果が正しい場合、処理はステップＳ２１２へ進む。一方、ＯＣＲ結果が正しくない（ＯＣＲが誤認識した）項目がある場合、修正受付部２９は、ノード９０から、正しい文字列、及び／又は正しい読取領域の入力を受け付ける（ステップＳ２０８）。その後、処理はステップＳ２０９へ進む。
【００６８】
ステップＳ２０９からステップＳ２１１では、ユーザーによる修正内容に基づいて、帳票データバンクが更新される。ステップＳ２０８で修正された項目が帳票識別キーワードであった場合、帳票データ蓄積部２１は、誤認識によって得られた文字列を、帳票種別データの帳票識別キーワードに追加する（ステップＳ２０９）。このようにすることで、ＯＣＲエンジンが同様の誤認識をした場合でも、帳票種別を正しく認識することが可能となる。
【００６９】
又、正解データ蓄積部２２は、ユーザーによって入力された正解文字列を、正解データとして追加する（ステップＳ２１０）。具体的には、正解データ蓄積部２２は、ステップＳ２０８で読取領域が修正された場合、ユーザーが入力した正しい読取領域（再指定された読取領域）及び帳票画像を含む正解データを生成し、帳票データバンクに追加する。又、正解データ蓄積部２２は、ステップＳ２０８で項目ＯＣＲ結果の文字列が修正された場合、帳票画像、修正前の誤認識された文字列であるＯＣＲ結果、及びユーザーが入力した正解文字列を含む正解データを生成し、帳票データバンクに追加する。なお、本実施形態において、正解データテーブルには、ユーザーによる修正の際に入力された正解文字列が登録されることとしているが、ＯＣＲエンジンによって正しく読み取られたＯＣＲ結果についても、正解文字列として正解データテーブルに蓄積されてもよい。
【００７０】
更に、ステップＳ２０８で修正された項目が帳票名や項目であった場合、帳票データ蓄積部２１は、修正前の誤認識された文字列（例えば、「口口名」）を、ユーザーが入力した正しい文字列（例えば、「品名」）の類義語として、類義語辞書へ登録する（ステップＳ２１１）。その後、処理はステップＳ２１２へ進む。
【００７１】
ステップＳ２１２では、ＯＣＲエンジン評価データが更新される。帳票データ蓄積部２１は、ステップＳ２０１で読み取られた項目の数と、ステップＳ２０６で得られたＯＣＲ結果の評価とに基づいて、ＯＣＲエンジン評価データ（帳票項目）及びＯＣＲエンジン評価データ（帳票種別）を更新する。
【００７２】
具体的には、帳票データ蓄積部２１は、Ｓ２０１で新たに読み取られた項目の数（１０項目含まれる１帳票が読み取られた場合、１０）を、対応する帳票種別、帳票項目及びＯＣＲエンジンの組み合わせに係るＯＣＲエンジン評価データ（帳票項目）中の評価項目数に加算し、新たに読み取られた項目のＯＣＲ結果の正解／誤りに基づいて、当該ＯＣＲエンジン評価データ（帳票項目）の平均認識率を更新する。例えば、２００００項目読み取った時点での正解項目数が１８０００であった場合、平均認識率は９０％となる。
【００７３】
又、帳票データ蓄積部２１は、Ｓ２０１で新たに読み取られた帳票の数（例えば、１）を、対応する帳票種別及びＯＣＲエンジンの組み合わせに係るＯＣＲエンジン評価データ（帳票種別）中の評価帳票数に加算し、新たに読み取られた帳票のＯＣＲ結果の正解率（例えば、１０項目中９項目が正解であった場合、９０％）に基づいて、当該ＯＣＲエンジン評価データ（帳票種別）の平均認識率を更新する。例えば、読取項目数が１０である帳票を２００００帳票（即ち、２０００００項目）読み取った時点での正解項目数が１８００００であった場合、平均認識率は９０％となる。
【００７４】
ステップＳ２１２の処理で更新されたＯＣＲエンジン評価データ（帳票項目）及びＯＣＲエンジン評価データ（帳票種別）の平均認識率は、後述するエンジン最適化処理において参照されることで、帳票種別又は帳票項目について用いられるＯＣＲエンジンの最適化に貢献する。その後、本フローチャートに示された処理は終了する。
【００７５】
図１３は、本実施形態に係るデータ分析処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、ステップＳ２０８からステップＳ２１１で説明したＯＣＲ結果の修正が行われたことが検知されると、自動的に実行される。但し、本フローチャートに示された処理が実行されるタイミングは、ＯＣＲ結果の修正が行われた直後でなくてもよい。例えば、本フローチャートに示された処理は、管理者が指定したタイミングで実行されてもよいし、定期的に実行されてもよい。
【００７６】
ステップＳ３０１では、項目名が共通する正解データが抽出される。形式／ルール更新部３０は、帳票データバンクから、同一帳票種別且つ同一項目に係る正解データを抽出する。その後、処理はステップＳ３０２へ進む。
【００７７】
ステップＳ３０２からステップＳ３０５では、正解データが分析され、帳票項目データ中の項目形式及び項目ルールが更新される。形式／ルール更新部３０は、ステップＳ３０１で抽出された正解データ内の正解文字列群を分析し、分析結果に従って帳票項目データの項目形式及び項目ルールを追加して、ＯＣＲによる読取精度を改善する。具体的には、形式／ルール更新部３０は、ステップＳ３０１で抽出された正解データ内の正解文字列群が、帳票項目データの項目形式を満たすか否かを判定し（ステップＳ３０２）、満たさないと判定された場合、帳票項目データに、新たな項目形式を登録する（ステップＳ３０３）。例えば、形式／ルール更新部３０は、正解データから抽出された正解文字列が和暦日付であるが、帳票項目データに設定されている項目形式が西暦日付のみであった場合、和暦日付を項目形式に追加する。又、形式／ルール更新部３０は、正解データから抽出された正解文字列に英字が含まれるが、帳票項目データに設定されている項目形式が数字のみであった場合、英字を項目形式に追加する。又、形式／ルール更新部３０は、正解データから抽出された正解文字列群の内容に応じて、新しい番号体系を追加したり、正規表現パターンを追加したりすることが出来る。
【００７８】
又、形式／ルール更新部３０は、ステップＳ３０１で抽出された正解データ内の正解文字列群が、帳票項目データの項目ルールを満たすか否かを判定し（ステップＳ３０４）、満たさないと判定された場合、帳票項目データに、新たな項目ルールを登録する（ステップＳ３０５）。例えば、形式／ルール更新部３０は、正解データから抽出された正解文字列が項目ルールに設定された数値の上限、下限、桁数の範囲内でない場合、正解文字列が含まれるように、項目ルールを変更する。又、形式／ルール更新部３０は、正解データから抽出された正解文字列に「￥」「，」等の文字が含まれないが、これらの文字が項目ルールに設定されている場合、これらの文字を項目ルールから除く。又、形式／ルール更新部３０は、正解データから抽出された正解文字列が社名であるが、項目ルール（社名辞書）に登録のない新たな社名であった場合、項目ルール（社名辞書）に当該社名を登録する。その後、本フローチャートに示された処理は終了する。
【００７９】
図１４は、本実施形態に係る新規エンジン評価処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、サーバー５０から利用可能なＯＣＲエンジンが帳票処理システム１に追加されたことを契機として実行される。
【００８０】
ステップＳ４０１からステップＳ４０４では、新たなＯＣＲエンジンについて、正解データを用いた評価が行われる。第二の文字認識部２７は、帳票データバンクに蓄積された正解データ中の項目画像を、新たなＯＣＲエンジンを用いて読み取る（ステップＳ４０１）。そして、帳票データ蓄積部２１は、新たなＯＣＲエンジンによるＯＣＲ結果と、正解データ中の正解文字列とを比較し（ステップＳ４０２）、一致すると判定された（新たなＯＣＲエンジンによるＯＣＲ結果が正解であった）場合、新たなＯＣＲエンジンについてのＯＣＲエンジン評価データ（帳票項目）を追加する（ステップＳ４０３）。具体的には、帳票データ蓄積部２１は、ＯＣＲエンジン評価データ（帳票項目）中のＯＣＲエンジンに、当該新たなＯＣＲエンジンの識別情報（名称等）を設定し、帳票種別及び帳票項目に、評価に用いられた正解データから取得された帳票種別及び帳票項目を設定し、評価項目数に、Ｓ４０１で新たに読み取られた項目の数を設定し、平均認識率に、新たに読み取られた項目のＯＣＲ結果の正解／誤りに基づいて算出された値を設定する。
【００８１】
一方、比較の結果、新たなＯＣＲエンジンによるＯＣＲ結果と、正解データ中の正解文字列とが一致しないと判定された（新たなＯＣＲエンジンによるＯＣＲ結果が誤りであった）場合、正解データ蓄積部２２は、当該ＯＣＲ結果（誤り）と正解文字列とに基づいて、新たな正解データを登録する（ステップＳ４０４）。具体的には、正解データ蓄積部２２は、新たなＯＣＲエンジンによって誤認識された文字列であるＯＣＲ結果、及び正解文字列を含む正解データを生成し、帳票データバンクに追加する。ここで、正解文字列は、比較対象となった正解データから取得可能である。その後、処理はステップＳ４０５へ進む。
【００８２】
ステップＳ４０５では、所定量の正解データについて評価が完了したか否かが判定される。第二の文字認識部２７は、ステップＳ４０１からステップＳ４０４の処理を、帳票データバンクに蓄積された所定量（例えば、全て）の正解データについて完了したか否かを確認する。所定量の正解データについての処理が完了していない場合、処理はステップＳ４０１へ戻る。一方、所定量の正解データについての処理が完了した場合、処理はステップＳ４０６へ進む。
【００８３】
ステップＳ４０６では、ＯＣＲエンジン評価データ（帳票種別）が追加される。具体的には、帳票データ蓄積部２１は、ＯＣＲエンジン評価データ（帳票種別）中のＯＣＲエンジンに、当該新たなＯＣＲエンジンの識別情報（名称等）を設定し、帳票種別に、評価に用いられた正解データから取得された帳票種別を設定し、評価項目数に、Ｓ４０１で新たに読み取られた帳票の数を設定し、平均認識率に、新たに読み取られた帳票のＯＣＲ結果の正解／誤りに基づいて算出された値を設定する。その後、本フローチャートに示された処理は終了する。
【００８４】
本フローチャートに示された新規エンジン評価処理において、ステップＳ４０３及びステップＳ４０６の処理で更新されたＯＣＲエンジン評価データ（帳票項目）及びＯＣＲエンジン評価データ（帳票種別）の平均認識率は、後述するエンジン最適化処理において参照されることで、帳票種別又は帳票項目について用いられるＯＣＲエンジンの最適化に貢献する。
【００８５】
図１５は、本実施形態に係るエンジン最適化処理の流れの概要を示すフローチャートである。本フローチャートに示された処理は、定期的に（例えば、１日に１回）、又は管理者によって指定されたタイミングで、実行される。
【００８６】
ステップＳ５０１及びステップＳ５０２では、既存の各ＯＣＲエンジンについて、正解データを用いた評価が行われる。第二の文字認識部２７は、帳票データバンクに蓄積された正解データ中の項目画像を、サーバー５０から利用可能な全てのＯＣＲエンジンの夫々を用いて読み取る（ステップＳ５０１）。但し、帳票処理システム１の処理負荷等を考慮して、使用される頻度の低いＯＣＲエンジンを対象から除いてもよい。そして、帳票データ蓄積部２１は、ＯＣＲエンジン毎のＯＣＲ結果と、正解データ中の正解文字列とを比較し、一致する（各ＯＣＲエンジンによるＯＣＲ結果が正解である）か、又は一致しない（各ＯＣＲエンジンによるＯＣＲ結果が誤りである）かを、ＯＣＲ結果毎に記録する（ステップＳ５０２）。その後、処理はステップＳ５０３へ進む。
【００８７】
ステップＳ５０３では、所定量の正解データについて評価が完了したか否かが判定される。第二の文字認識部２７は、ステップＳ５０１及びステップＳ５０２の処理を、帳票データバンクに蓄積された所定量（例えば、全て）の正解データについて完了したか否かを確認する。所定量の正解データについての処理が完了していない場合、処理はステップＳ５０１へ戻る。一方、所定量の正解データについての処理が完了した場合、処理はステップＳ５０４へ進む。
【００８８】
ステップＳ５０４及びステップＳ５０５では、ＯＣＲエンジン評価データ（帳票項目）の平均認識率及びＯＣＲエンジン評価データ（帳票種別）の平均認識率が再計算され、更新される。具体的な更新方法は、ステップＳ２１２で説明した内容と概略同様であるため、説明を省略する。その後、処理はステップＳ５０６へ進む。
【００８９】
ステップＳ５０６では、帳票種別について最適なＯＣＲエンジンが更新される。エンジン変更部３１は、帳票データバンクに蓄積されたＯＣＲエンジン評価データ（帳票種別）から、同一の帳票種別についてのＯＣＲエンジン毎の平均認識率を取得して比較することで、当該帳票種別を読み取る際に最も平均認識率の高いＯＣＲエンジン（最適ＯＣＲエンジン）を決定し、決定された最適ＯＣＲエンジンが、当該帳票種別について帳票種別データに現在設定されているＯＣＲエンジンと異なる場合に、当該帳票種別データに設定されるＯＣＲエンジンを、最適ＯＣＲエンジンに更新する。但し、ステップＳ５０１からステップＳ５０３の処理において評価の対象とした正解データに偏りがある場合、偶然に高い平均認識率が得られる可能性がある。このため、最適ＯＣＲエンジンの候補となるＯＣＲエンジンを、統計上信頼できる評価帳票数又は評価項目数に達しているＯＣＲエンジンに限定することとしてもよい。その後、処理はステップＳ５０７へ進む。
【００９０】
ステップＳ５０７では、帳票項目について最適なＯＣＲエンジンが更新される。エンジン変更部３１は、帳票データバンクに蓄積されたＯＣＲエンジン評価データ（帳票項目）から、同一の帳票項目についてのＯＣＲエンジン毎の平均認識率を取得して比較することで、当該帳票項目を読み取る際に最も平均認識率の高いＯＣＲエンジン（最適ＯＣＲエンジン）を決定し、決定された最適ＯＣＲエンジンが、当該帳票項目について帳票項目データに現在設定されているＯＣＲエンジンと異なる場合に、当該帳票項目データに設定されるＯＣＲエンジンを、最適ＯＣＲエンジンに更新する。なお、ステップＳ５０６と同様、最適ＯＣＲエンジンの候補となるＯＣＲエンジンは、統計上信頼できる評価帳票数又は評価項目数に達しているＯＣＲエンジンに限定されてもよい。その後、本フローチャートに示された処理は終了する。
【００９１】
＜効果＞
上記説明した実施形態によれば、処理対象帳票の特徴を用いて、類似する帳票データを索出し、複数の文字認識エンジンのうち、索出された帳票データに関連付けられた文字認識エンジンを用いて処理対象帳票を処理することで、処理対象の帳票又は項目毎に最適な文字認識エンジンを選択することが可能となる。又、複数の文字認識エンジンの夫々を用いて同一帳票／項目についての文字認識を行い、文字認識の結果に基づいて、当該帳票／項目に適用される文字認識エンジンを変更することで、帳票毎又は帳票内の項目毎に適用される文字認識エンジンを最適化することが可能となる。
【符号の説明】
【００９２】
１  帳票処理システム
５０  サーバー
９０  ノード
【図１】
2019169026.tif 000003
【図２】
2019169026.tif 000004
【図３】
2019169026.tif 000005
【図４】
2019169026.tif 000006
【図５】
2019169026.tif 000007
【図６】
2019169026.tif 000008
【図７】
2019169026.tif 000009
【図８】
2019169026.tif 000010
【図９】
2019169026.tif 000011
【図１０】
2019169026.tif 000012
【図１１】
2019169026.tif 000013
【図１２】
2019169026.tif 000014
【図１３】
2019169026.tif 000015
【図１４】
2019169026.tif 000016
【図１５】
2019169026.tif 000017