以下に図面を参照して、実施形態について説明する。図1は、帳票認識システムのシステム構成の一例を示す図である。
本実施形態の帳票認識システム100は、サーバ装置200、画像形成装置300、端末装置400を有する。本実施形態の帳票認識システム100において、サーバ装置200と、画像形成装置300と、端末装置400とは、ネットワークを介して接続される。
また、本実施形態の端末装置400は、例えば、ネットワークを介して基幹システム500と接続される。基幹システム500とは、例えば、本実施形態の帳票認識システム100において帳票を認識した結果を用いて、特定の処理を行うシステムである。具体的には、例えば、基幹システム500は、会計システムや、見積もり作成システム等であっても良い。
本実施形態の帳票認識システム100において、サーバ装置200は、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を示す画像データから、帳票に含まれる項目と項目の値とを抽出し、項目と項目の値とを対応付けたテキストデータとする。
以下の説明では、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を帳票画像と呼び、帳票画像を示す画像データを帳票画像データと呼ぶ。
また、以下の説明では、帳票画像に含まれる項目と、この項目の値とを抽出し、項目と項目の値とをテキストデータに変換して対応付けることを、帳票認識と呼ぶ。
本実施形態のサーバ装置200は、記憶部210と、帳票認識処理部220とを有する。記憶部210には、画像データベース230、種別判定データベース240、帳票定義データベース250、認識結果データベース260が設けられている。
画像データベース230は、帳票画像データが格納される。種別判定データベース240は、帳票の種類を判別する際に参照される情報が格納される。帳票定義データベース250は、帳票認識処理部220による帳票認識を行う際に参照される帳票定義情報が格納される。認識結果データベース260は、帳票認識処理部220による帳票認識の結果を示す情報が格納される。
本実施形態の帳票認識処理部220は、画像データベース230に格納された帳票画像データを取得し、種別判定データベース240を参照して帳票の種別の判定と、参照すべき帳票定義情報の特定を行う。そして、帳票認識処理部220は、帳票定義データベース250において、特定された帳票定義情報を用いて帳票認識を行い、その結果を認識結果データベース260へ格納する。帳票定義情報とは、帳票に含まれる項目名の記載位置を示す情報と、項目名と項目の値との位置関係を示す情報とを含む。
ここで、本実施形態の帳票認識処理部220は、帳票認識を行う際に、帳票定義データベース250に格納された、汎用定義情報と、個社定義情報と、を参照する。
本実施形態の汎用定義情報とは、一般的な帳票のレイアウトを定義した帳票定義情報であり、個社定義情報とは、帳票認識システム100を利用する利用者固有の帳票のレイアウトを定義した帳票定義情報である。種別判定データベース240と、帳票定義データベース250の詳細は後述する。
本実施形態では、このように、帳票認識の際に、2種類の帳票定義情報を用いることで、汎用的な帳票に加えて、利用者固有の帳票も認識することができ、帳票の認識の精度を向上させることができる。
本実施形態の帳票認識システム100において、画像形成装置300は、スキャナ機能を有する複合機である。画像形成装置300は、コピー機能、FAX機能、スキャナ機能等を実現するためのアプリケーションが搭載されており、各機能と対応するアプリケーションを選択することで、これらの機能が実現される。
本実施形態の端末装置400は、帳票認識システム100を利用する利用者によって使用される。また、端末装置400には、サーバ装置200による帳票認識の結果が表示されても良い。
尚、本実施形態における利用者とは、例えば、企業等である。より具体的には、例えば、利用者とは、帳票認識システム100が提供するサービスを利用するための契約を締結している事業所や企業、団体等である。
尚、図1の例では、サーバ装置200は、記憶部210内に4つのデータベースを有する構成としたが、これに限定されない。各データベースは、一部がサーバ装置200の外部装置に設けられていても良いし、各データベース全てが外部装置に設けられていても良い。
また、図1の例では、サーバ装置200が帳票認識処理部220を実現するものとしたが、これに限定されない。帳票認識処理部220は、複数の情報処理装置によって実現されても良い。
また、図1の例では、帳票認識システム100に含まれる画像形成装置300と端末装置400とは、それぞれ1台としているが、帳票認識システム100に含まれる画像形成装置300と端末装置400の台数は、任意の数であって良い。
次に、図2を参照して、本実施形態のサーバ装置200のハードウェア構成について説明する。図2は、サーバ装置のハードウェア構成の一例を示す図である。
本実施形態のサーバ装置200は、それぞれバスBで相互に接続されている入力装置21、出力装置22、ドライブ装置23、補助記憶装置24、メモリ装置25、演算処理装置26及びインターフェース装置27を含む情報処理装置である。
入力装置21は、各種の情報の入力を行うための装置であり、例えばキーボードやポインティングデバイス等であっても良い。出力装置22は、各種の情報の出力を行うためものであり、例えばディスプレイ等であっても良い。インターフェース装置27は、LANカード等を含み、ネットワークに接続する為に用いられる。
情報処理プログラムは、サーバ装置200を制御する各種プログラムの少なくとも一部である。情報処理プログラムは例えば記憶媒体28の配布やネットワークからのダウンロード等によって提供される。情報処理プログラムを記録した記憶媒体28は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記憶媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記憶媒体を用いることができる。
また、情報処理プログラムは、情報処理プログラムを記録した記憶媒体28がドライブ装置23にセットされると、記憶媒体28からドライブ装置23を介して補助記憶装置24にインストールされる。ネットワークからダウンロードされた情報処理プログラムは、インターフェース装置27を介して補助記憶装置24にインストールされる。
補助記憶装置24は、インストールされた情報処理プログラムを格納すると共に、必要なファイル、データ等を格納する。メモリ装置25は、サーバ装置200の起動時に補助記憶装置24から情報処理プログラムを読み出して格納する。そして、演算処理装置26はメモリ装置25に格納された情報処理プログラムに従って、後述するような各種処理を実現している。
本実施形態の端末装置400のハードウェア構成は、サーバ装置200と同様であるから、説明を省略する。尚、端末装置400は、例えば、タブレット型の端末装置や、スマートフォン等であっても良く、入力装置21と出力装置22との代わりに、タッチパネル等により実現される表示操作装置を有していても良い。
次に、本実施形態のサーバ装置200の有する種別判定データベース240と帳票定義データベース250について説明する。
図3は、種別判定データベースの一例を示す図である。本実施形態の種別判定データベース240は、情報の項目として、定義ID、定義種別、文書種別、識別文字列を有する。種別判定データベース240において、項目「定義ID」は、その他の項目と対応付けられており、項目「定義ID」の値と、その他の項目の値とを含む情報を、種別判定情報と呼ぶ。
項目「定義ID」の値は、帳票定義情報を特定するための識別子を示す。
項目「定義種別」の値は、帳票定義情報の種類を示す。本実施形態では、帳票定義情報の種類として、汎用定義情報と個社定義情報の他に、特定定義情報を含む。特定定義情報とは、特定の事業者等によって発行される特定の帳票を定義する帳票定義情報である。特定の帳票とは、具体的には、例えば、一般的に使用されている宅配業者の伝票等である。
項目「文書種別」の値は、帳票の種類を示す。帳票の種類とは、具体的には、例えば、請求書、見積書、注文書等である。項目「識別文字列」の値は、帳票の種類を特定するための文字列を示す。具体的には、例えば、「請求書」又は「請求」という文字列を含む帳票画像は、項目「文書種別」が示す帳票の種類が「請求書」となる。また、「R社」及び「請求」という両方の文字列を含む帳票画像は、項目「文書種別」が示す帳票の種類が「R社用請求書」となる。
図3の例では、例えば、定義ID「H01」の帳票定義情報の種類は汎用定義情報であり、定義ID「H01」の汎用定義情報は、「請求書」のレイアウトを定義した情報であり、帳票画像データから「請求」又は「請求書」という文字列が抽出された場合に、参照される。
次に、図4乃至図7を参照して、本実施形態の帳票定義データベース250について説明する。図4は、帳票定義データベースに格納される帳票定義情報の種類を示す図である。
本実施形態の帳票定義データベース250には、汎用定義情報251と、個社定義情報252と、特定定義情報253と、が格納されている。
本実施形態の汎用定義情報251とは、帳票の中でも、複数の利用者により利用される汎用性の高いレイアウトの帳票の帳票定義情報である。汎用定義情報251は、3つの帳票定義情報のうち、最も優先度の低い帳票定義情報である。
本実施形態の個社定義情報252とは、帳票の中でも、利用者が独自に設計したレイアウトの帳票の帳票定義情報であり、利用者専用の帳票定義情報である。個社定義情報252は、3つの帳票定義情報のうち、最も尊重されるべき定義であり、最も優先度が高い帳票定義情報である。
本実施形態の特定定義情報253は、帳票の中でも、一般的に利用される帳票のレイアウトを示す帳票定義情報である。特定定義情報253の優先度は、3つの帳票定義情報のうちの中間となる。
本実施形態の帳票認識処理部220は、この3つの帳票定義情報を参照して、帳票画像データの認識を行う。したがって、本実施形態では、例えば、帳票画像データが、個社定義情報252においてレイアウトが定義されていない帳票のものであった場合でも、汎用定義情報251や特定定義情報253で定義されていれば、この帳票画像データを認識できる。
図5は、汎用定義情報の一例を示す図である。汎用定義情報251は、定義ID毎に生成されるものであり、情報の項目として、項目ID、項目名、方向、距離等を含む。つまり、本実施形態の汎用定義情報251は、項目「定義ID」と、その他の項目とが対応付けられており、項目「定義ID」の値と、その他の項目の値とを含む。
項目「項目ID」の値は、帳票に含まれる項目を特定するための識別子である。項目「項目名」の値は、項目の名称を示す。
項目「方向」、「距離」等は、文字列を抽出する範囲を示す。例えば、項目「方向」の値が「RD」であり、項目「距離」の値が「20mm」であった場合、項目名となる文字列と外接する矩形の右下の座標から下に向かって20mm以内の範囲から、文字列を抽出することを示す。
つまり、本実施形態の項目「方向」、「距離」等は、文字列を抽出する範囲を示す条件であり、この条件は、項目名と対応付けられている。尚、図5の例では、文字列を抽出する範囲を示す条件として、項目「方向」、「距離」を挙げたが、条件には、他の項目が含まれていても良い。
したがって、例えば、項目ID「2」の項目名「合計」という文字列と外接する矩形の右下の座標から下に向かって20mm以内の範囲から抽出された文字列は、項目名「合計」と対応する項目の値と認識される。
尚、汎用定義情報251では、帳票に含まれる可能性のある複数の項目に関する情報が含まれるものとした。
図6は、個社定義情報の一例を示す図である。本実施形態の個社定義情報252は、利用者毎に登録されるものであり、情報の項目として、利用者ID、定義ID、項目名、方向、距離等を含む。
項目「利用者ID」の値は、利用者を特定するための識別子である。尚、本実施形態では、定義ID、項目名、方向、距離等は、汎用定義情報251と同様であるから説明を省略する。
尚、本実施形態では、定義種別が個社定義情報となる帳票定義情報の定義IDは、利用者IDを含むようにしても良い。
また、個社定義情報252では、利用者によって、項目名と、項目の値が記載されている範囲を示す条件とが登録された項目に関する情報が格納される。したがって、個社定義情報252に含まれる項目IDは、汎用定義情報251に含まれる項目IDの一部となる場合がある。
図6の例では、利用者ID「A」によって登録された個社定義情報252を示しており、この個社定義情報252は、定義IDが「A01」であり、文書種別が「R社用請求書」となる。
図7は、特定定義情報の一例を示す図である。本実施形態の特定定義情報253は、特定の帳票毎に登録されるものであり、情報の項目として、定義ID、項目名、方向、距離等を含む。図7の本実施形態では、定義ID、項目名、方向、距離等は、汎用定義情報251と同様であるから説明を省略する。
尚、本実施形態の特定定義情報253は、特定の事業者毎に設けられていても良い。この場合には、特定定義情報253には、情報の項目として、事業者IDが含まれていても良い。
次に、図8を参照して、本実施形態のサーバ装置200の機能について説明する。図8は、サーバ装置の機能を説明する図である。
本実施形態のサーバ装置200では、例えば、メモリ装置25や補助記憶装置24等に格納された情報処理プログラムを演算処理装置26が読み出して実行することで、後述する各部の機能が実現される。
本実施形態のサーバ装置200は、帳票認識処理部220を有する。帳票認識処理部220は、入力受付部221、認証処理部222、帳票認識部270を有する。
入力受付部221は、サーバ装置200に対する各種の入力を受け付ける。具体的には、入力受付部221は、帳票認識システム100にログインするための認証情報の入力を受け付ける。認証情報とは、例えば、利用者IDとパスワード等である。また、入力受付部221は、例えば、画像形成装置300から送信された帳票画像データの入力を受け付ける。
認証処理部222は、入力受付部221が入力を受け付けた認証情報に基づき、認証を行う。尚、認証処理部222は、例えば、サーバ装置200の外部に設けられた認証サーバに対して、入力された認証情報を送信し、認証サーバによる認証の結果を取得しても良い。認証処理部222は、利用者が認証されると、入力受付部221が受け付けた帳票画像データを帳票認識部270に渡しても良い。
本実施形態の帳票認識部270は、画像データ格納部271、ジョブリスト生成部272、画像データ取得部273、前処理部274、文字認識部275、定義特定部276、項目抽出部277、表示画面生成部278、出力部279を有する。
画像データ格納部271は、画像形成装置300から帳票画像データを受信すると、画像データベース230に格納する。
ジョブリスト生成部272は、入力受付部221が画像形成装置300から帳票画像データの入力を受け付けて、ジョブリストにジョブを登録し、ジョブリストを管理する。ジョブリストの詳細は後述する。
画像データ取得部273は、画像データベース230に格納された帳票画像データを取得する。前処理部274は、画像データ取得部273が取得した帳票画像データに対して、帳票認識を行うための前処理を行う。
文字認識部275は、帳票画像データから、文字列と、文字列が配置された位置を示す情報とを抽出し、認識結果情報として保持する。認識結果情報の詳細は後述する。
定義特定部276は、種別判定データベース240を参照し、認識結果情報に含まれる文字列と対応する定義IDを特定する。言い換えれば、定義特定部276は、帳票画像データから抽出された文字列に基づき、帳票認識の際に参照する帳票定義情報を特定し、特定した帳票定義情報を帳票定義データベース250から取得する取得部である。
項目抽出部277は、定義特定部276により特定された帳票定義情報と、認識結果情報とに基づき、帳票画像データに含まれる項目と、項目の値とを抽出して対応付けを行い、項目の項目IDと、項目の値とを対応付けた認識結果データを生成する。尚、XML形式のファイル(eXtensible Markup Language)を認識結果データとして生成しても良い。また、項目抽出部277は、帳票における項目の記載位置と、項目と項目の値との位置関係を抽出する。
表示画面生成部278は、認識結果データベース260に格納された認識結果データを用いて、認識結果確認画面を生成する。尚、認識結果確認画面に表示する項目名は、予め項目IDと対応付けて登録しておき、認識結果確認画面を生成するときに、認識結果データに含まれる項目IDに対応する項目名を特定して認識結果確認画面に表示させると良い。
出力部279は、表示画面生成部278が生成した認識結果確認画面を出力する。言い換えれば、出力部279は、表示画面生成部278が生成した認識結果確認画面を端末装置400のウェブブラウザ上で表示させる。
以下に、図9を参照して、本実施形態の帳票認識システム100の動作について説明する。図9は、帳票認識システムの動作を説明するシーケンス図である。
帳票認識システム100において、画像形成装置300は、利用者から帳票認識を行うためのアプリケーションの起動要求を受け付けると(ステップS901)、このアプリケーションを起動させる(ステップS902)。
続いて、画像形成装置300は、利用者から認証情報の入力を受け付けると(ステップS903)、この認証情報をサーバ装置200へ送信し、認証要求を行う(ステップS904)。
サーバ装置200は、認証要求を受けて、認証処理部222により認証を行い、その結果を画像形成装置300へ通知する(ステップS905)。尚、ここでは、利用者が認証された場合の動作を示している。
続いて、画像形成装置300は、帳票のスキャン指示を受け付け(ステップS906)、帳票のスキャンを行い、帳票画像データを取得する(ステップS907)。続いて、画像形成装置300は、帳票画像データをサーバ装置200へ送信する(ステップS908)。
サーバ装置200は、入力受付部221が帳票画像データの入力を受け付けると、認証処理部222がこの帳票画像データを帳票認識部270へ渡す(ステップS909)。尚、図9の例では、認証処理部222を介して帳票画像データが帳票認識部270へ渡されるものとしたが、これに限定されない。帳票画像データは、認証処理部222を介さずに帳票認識部270に渡されても良い。
サーバ装置200の帳票認識部270は、帳票画像データを受け取ると、ジョブリスト生成部272により、ジョブリストにジョブを登録する(ステップS910)。続いて、帳票認識部270は、画像データ格納部271により、帳票画像データを画像データベース230へ格納する(ステップS911)。
続いて、帳票認識部270は、画像データ取得部273により、画像データベース230から認識する対象となる帳票画像データを取得し(ステップS912)、帳票画像を認識する処理を実行する(ステップS913)。ステップS912の処理の詳細は後述する。
続いて、帳票認識部270は、項目抽出部277が生成した認識結果データを認識結果データベース260に格納する(ステップS914)。
帳票認識システム100において、端末装置400は、利用者からのブラウザの表示指示の入力を受け付けると(ステップS915)、サーバ装置200に対して認識結果データを表示させるブラウザの表示要求を行う(ステップS916)。
また、端末装置400は、利用者から認証情報の入力を受け付けて(ステップS917)、この認証情報をサーバ装置200へ送信する(ステップS918)。
サーバ装置200は、認証処理部222により、利用者の認証を行い(ステップS919)、その結果を端末装置400へ通知する(ステップS920)。尚、ここでは、利用者が認証された場合の処理を示す。
続いて、端末装置400は、利用者から、帳票画像の認識結果の閲覧指示の入力を受け付けると(ステップS921)、サーバ装置200に対して閲覧要求を行う(ステップS922)。
サーバ装置200は、閲覧要求を受けて、認識結果データベース260に格納されている認識結果データを取得し(ステップS923)、認識結果確認画面を生成して端末装置400のブラウザ上に表示させ(ステップS924)、利用者に、表示された認識結果確認画面で認識結果を確認させて、処理を終了する。
ここで、図10を参照して、本実施形態のジョブリスト生成部272により生成されるジョブリストについて説明する。図10は、ジョブリストの一例を示す図である。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データが入力されると、ジョブリスト生成部272により、帳票画像データとジョブIDとを対応付けたジョブリストとして保持する。
本実施形態のジョブリスト101は、情報の項目として、ジョブID、利用者ID、帳票画像ファイルパス、認識結果ファイルパス、ステータス、定義IDを有する。
項目「ジョブID」の値は、ジョブを特定する識別子である。言い換えれば、項目「ジョブID」の値は、画像形成装置300から受信した帳票画像データを特定するための識別子である。
項目「利用者ID」の値は、帳票認識システム100にログインした利用者を特定するための識別子である。
項目「画像ファイルパス」の値は、帳票画像データが格納されている場所を示す情報である。項目「認識結果ファイルパス」の値は、帳票画像を認識した結果の認識結果データが格納されている場所を示す情報である。
項目「ステータス」の値は、帳票画像の認識の進捗を示す。項目「定義ID」の値は、項目「画像ファイルパス」の値が示す場所に格納された帳票画像データを認識する際に参照される帳票定義情報の定義IDを示す。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データを受信すると、ジョブリスト生成部272により、ジョブIDを付与し、認証情報として取得した利用者IDを対応付けて、ジョブリスト101にレコードを追加する。そして、ジョブリスト生成部272は、帳票画像データが画像データベース230に格納されると、この格納先を示す情報を項目「画像ファイルパス」の値として、追加する。
さらに、ジョブリスト生成部272は、帳票画像の認識において、参照する帳票定義情報が特定されると、その定義IDを項目「定義ID」の値として追加する。そして、ジョブリスト生成部272は、が完了して、認識結果データが認識結果データベース260に格納されると、この格納先を示す情報を項目「認識結果ファイルパス」の値として追加し、項目「ステータス」の値を完了とする。
本実施形態では、例えば、ジョブリスト生成部272によって生成されたジョブリストを表示しても良い。この場合、利用者は、ジョブリストに基づいて表示されたジョブリスト画面を介して、帳票画像の認識の進捗を確認することができる。
次に、図11を参照して、本実施形態の帳票認識部270の処理について説明する。図11は、帳票認識部の処理を説明するフローチャートである。図11では、図9のステップS913の処理の詳細を示している。また、図11では、複数の帳票画像データを画像形成装置300から受け取った場合の処理を示している。
本実施形態の帳票認識部270は、画像データ取得部273により、画像データベース230から帳票画像データを取得すると(ステップS1101)、前処理部274により、帳票画像データの形式をpng形式に変換する(ステップS1102)、
続いて、前処理部274は、1ページ分の帳票画像データを選択し(ステップS1103)、前処理を行う(ステップS1104)。前処理とは、具体的には、例えば、帳票画像の向きを揃える補正処理等である。
続いて、帳票認識部270は、文字認識部275により、帳票画像から、文字が形成されている領域(以下、文字フィールド)を切り取る(ステップS1105)。続いて、帳票認識部270は、文字認識部275により、切り取られた文字フィールドの中の文字を切り取り、文字認識する(ステップS1106)。このとき、文字認識部275は、切り出した文字の位置を示す座標も取得する。
続いて、帳票認識部270は、文字認識部275により認識された各文字の位置関係に基づいて読取結果情報を生成して、保持する(ステップS1107)。具体的に、帳票認識部270は、認識された各文字の座標に基づいて、互いの距離が予め設定された閾値以内の文字を1つの文字列として認識し、文字列と、文字列が形成された領域の位置を示す座標などの情報とを対応付けて読取結果情報を生成する。読取結果情報の詳細は後述する。
続いて、帳票認識部270は、項目抽出部277により、読取結果情報と種別判定データベース240とに基づき特定した個社定義情報252を用いて、項目と項目の値とを抽出する(ステップS1108)。
続いて、帳票認識部270は、項目抽出部277により、読取結果情報と種別判定データベース240とに基づき特定した特定定義情報253を用いて、項目と項目の値とを抽出する(ステップS1109)。
続いて、帳票認識部270は、項目抽出部277により、読取結果情報と種別判定データベース240とに基づき特定した汎用定義情報251を用いて、項目と項目の値とを抽出する(ステップS1110)。ステップS1108からステップS1110の各処理の詳細は後述する。
続いて、帳票認識部270は、項目と、項目の値との抽出に成功したか否かを判定する(ステップS1111)。具体的には、帳票認識部270は、ステップS1108からステップS1110までの間で、項目抽出部277により抽出された項目と項目の値とが存在する場合に、項目と、項目の値との抽出に成功したと判定しても良い。
ステップS1111において、項目と項目の値の抽出に失敗した場合、帳票認識部270は、端末装置400又は画像形成装置300に対してエラーを通知し(ステップS1112)、後述するステップS1115へ進む。
ステップS1111において、項目と項目の値との抽出に成功すると、帳票認識部270は、項目抽出部277により、抽出された項目と項目の値とを対応付けてマージした認識結果データを生成する(ステップS1113)。マージする処理の詳細は後述する。
続いて、帳票認識部270は、ジョブリスト生成部272により、認識結果データの生成に用いられた帳票定義情報の定義IDと、認識結果データの格納先とを、ジョブリスト101に登録する(ステップS1114)。
続いて、帳票認識部270は、最後のページまで処理を実行したか否かを判定する(ステップS1115)。ステップS1115において、最後のページまで処理を実行していない場合、帳票認識部270は、ステップS1103へ戻る。
ステップS1115において、最後のページまで処理を実行した場合、帳票認識部270は、表示画面生成部278により、認識結果データを用いて生成された認識結果確認画面を端末装置400に表示させ(ステップS1116)、処理を終了する。
尚、図11の例では、認識結果データを表示させる処理まで実行するものとして説明したが、これに限定されない。帳票認識部270は、端末装置400から、認識結果データの閲覧要求を受け付けてから、認識結果データを表示させても良い。
次に、図12を参照して、本実施形態の項目抽出部277の処理について説明する。図12は、項目抽出部の処理を説明するフローチャートである。図12は、図11のステップS1108の処理の詳細を示している。
本実施形態の帳票認識部270は、読取結果情報が保持されると、定義特定部276により、種別判定データベース240から、読取結果情報に含まれる識別文字列と対応する定義IDを抽出する(ステップS1201)。
続いて、定義特定部276は、抽出した定義IDの中に、定義種別が個社定義情報である定義IDが存在するか否かを判定する(ステップS1202)。つまり、ここでは、読取結果情報に含まれる識別文字列が示す種類の帳票に対して、個社定義情報252が登録されているか否かを判定している。
ステップS1202において、該当する定義IDが存在しない場合、この種類の帳票には、利用者固有のレイアウトを定義した個社定義情報252は登録されていないため、項目抽出部277は、処理を終了し、図11のステップS1109へ進む。
ステップS1202において、該当する定義IDが存在する場合、定義特定部276は、帳票定義データベース250を参照し、定義IDを含む個社定義情報252を特定する(ステップS1203)。該当する定義IDが存在する場合とは、この帳票は、利用者固有のレイアウトである場合である。
続いて、項目抽出部277は、特定された個社定義情報に基づき、読取結果情報から、項目と、項目の値とを抽出し、対応付ける(ステップS1204)。
尚、ステップS1109における特定定義情報を用いた項目と項目の値の抽出処理と、ステップS1110における汎用定義情報251を用いた項目と項目の値の抽出処理とは、ステップS1108の個社定義情報が、特定定義情報又は汎用定義情報となること以外は同様であるから、説明を省略する。
ここで、本実施形態の認識結果データの生成について説明する。図13は、読取結果情報の一例を示す図である。
図13に示す読取結果情報130は、例えば、ある請求書の帳票画像データから文字フィールドを切り取り、文字フィールドの中の文字を認識した結果と、文字の位置を示す座標とから抽出されたものである。
この読取結果情報130には、文字列「請求書」、「R社」、「計」、「170,000」が存在している。ここで、定義特定部276は、種別判定データベース240を参照し、読取結果情報130に含まれる文字列が識別文字列とされた定義IDを抽出する。この場合、定義ID「H01」、「A01」が抽出される(図3参照)。
次に、定義特定部276は、抽出された定義IDのうち、対応する定義種別が、個社定義情報である定義IDを特定する。ここでは、定義ID「A01」が特定される。つまり、読取結果情報130が抽出された帳票は、定義ID「A01」の個社定義情報が設定された帳票であることがわかる。
次に、項目抽出部277は、帳票定義データベース250において、定義ID「A01」の個社定義情報252を参照する(図6参照)。
個社定義情報252では、請求額を示す項目である項目ID「2」の項目「計」の下の領域にある文字列が、項目名「計」の値であることが定義されている。したがって、項目抽出部277は、読取結果情報130に含まれる文字列「計」を項目名「計」とし、この文字列「計」の下の領域にある文字列「170,000」を項目名「計」の値として、抽出する。
項目抽出部277は、このようにして、個社定義情報252に定義されている各項目名に対応する文字列と、項目の値となる文字列とを読取結果情報130から抽出する。
項目抽出部277により、個社定義情報252に定義されている項目名と項目の値との抽出が終了すると、次に、定義特定部276は、抽出された定義IDのうち、対応する定義種別が、特定定義情報である定義IDの有無を判定する。
ここでは、該当する定義IDは存在しない。つまり、読取結果情報130が抽出された帳票について、特定定義情報は定義されていないことがわかる。
次に、定義特定部276は、抽出された定義IDのうち、対応する定義種別が、汎用定義情報である定義IDの有無を判定する。この場合、定義ID「A01」が特定される。つまり、読取結果情報130が抽出された帳票は、定義ID「H01」の汎用定義情報によっても定義されていることがわかる。
ここで、項目抽出部277は、定義ID「A01」の汎用定義情報251を参照する(図5参照)。そして、項目抽出部277は、個社定義情報252を参照したときと同様に、汎用定義情報251に定義されている項目名と項目の値とを抽出する。
尚、汎用定義情報251では、文書種別「請求書」の帳票に含まれる全ての項目名と項目の値について定義されているため、汎用定義情報251を参照した場合、個社定義情報252で定義されていなかった項目名と項目の値とが抽出される。
また、個社定義情報252とは異なり、汎用定義情報251では、請求額を示す項目である項目ID「2」の項目「合計」の右下の領域にある文字列が、項目名「合計」の値であることが定義されている。ここでは、読取結果情報130には、文字列「合計」が含まれていないため、項目抽出部277は、項目IDが「2」の項目の値が「空」と判断する。
仮に読取結果情報130には文字列「合計」が含まれている場合には、項目抽出部277は、読取結果情報130に含まれる文字列「合計」を項目名「合計」とし、この文字列「合計」の右下の領域にある文字列を項目名「合計」の値として抽出する。
このように、本実施形態では、異なる種類の帳票定義情報を参照し、それぞれの帳票定義情報に基づいて、項目名と項目の値とが抽出される。
以下に、項目抽出部277による、マージする処理について説明する。
本実施形態の項目抽出部277では、同一の項目IDについて、異なる種類の帳票定義情報のそれぞれから項目名と項目の値とが抽出された場合、優先度の高い種類の帳票定義情報から抽出された項目名と項目の値を採用して、認識結果データを生成する。
本実施形態では、汎用定義情報、個社定義情報、特定定義情報のうち、個社定義情報の優先度を最も高くしている。これは、個社定義情報は、利用者が固有に設定した定義であり、最も優先して参照されるべき定義だからである。
また、本実施形態では、個社定義情報の次に、特定定義情報の優先度を高くし、汎用定義情報の優先度を最も低くしている。
したがって、例えば、3種類の帳票定義情報のそれぞれから、項目名と項目の値とが抽出された場合には、個社定義情報に基づき抽出された項目名と項目の値とが採用される。
具体的には、例えば、汎用定義情報251と個社定義情報252のそれぞれには、項目ID「2」の項目について定義がされている。
したがって、本実施形態では、項目ID「2」の項目について、汎用定義情報251にしたがって抽出された項目名と項目の値と、個社定義情報252にしたがって抽出された項目名と項目の値とが存在する。
この場合、項目抽出部277は、項目ID「2」の項目については、個社定義情報252にしたがって抽出された項目名と項目の値とを、認識結果データの生成に使用する。具体的に、個社定義情報252にしたがって文字列「170,000」が項目の値として抽出され、汎用定義情報251にしたがって項目の値が「空」と判断され、項目抽出部277は、優先度の高い個社定義情報252から抽出された「170,000」を、認識結果データの生成に使用する。
一般的に請求書では、請求額を示す項目の項目名として「合計」が使用されているため、汎用定義情報251では、項目「合計」が設定されている。一方で、利用者Aに対するR社からの請求書は、「合計」ではなく、「計」が項目名として使用されているため、汎用定義情報251を用いてこのような請求書の請求額を認識できない。従って、利用者Aに対するR社からの請求書から請求額を抽出するために、項目「計」が設定された利用者A固有の個社定義情報252が必要である。
さらに、一般的な請求書に比べて、利用者Aに対するR社からの請求書では、請求額を示す項目の項目名として「合計」を使用されているが、項目値が記載された位置が異なる場合に、利用者A固有の個社定義情報252における項目「合計」の方向、距離などの項目値を、汎用定義情報251とは異なるものに設定すれば良い。
また、汎用定義情報251に定義されている項目ID「10」の項目については、個社定義情報252では定義されていない。したがって、項目ID「10」の項目については、汎用定義情報251にしたがった項目名と項目の値のみが抽出される。よって、表示画面生成部278は、項目ID「10」の項目については、汎用定義情報251にしたがって抽出された項目名と項目の値とを、認識結果データの生成に使用する。
このように、本実施形態では、複数種類の帳票定義情報に対して優先度を付与し、各帳票定義情報にしたがって抽出された項目名と項目の値のうち、優先度が最も高い帳票定義情報にしたがって抽出された項目名と項目の値とを使用して、帳票画像の認識結果となる認識結果データを生成する。
図14は、表示画面生成部が生成した認識結果確認画面の一例を示す図である。図14に示す画面140は、端末装置400に表示された画面の例であり、帳票を認識した結果として生成された認識結果が表示されている。
画面140には、画像形成装置300が読み取った帳票画像141と、帳票認識部270によって抽出された項目と項目の値とを対応付けた情報142とが表示されている。また、画面140には、登録ボタン143が表示されている。利用者は、帳票画像141を参照し、表示されている項目と項目の値とをチェックし、必要に応じて項目の値を修正する。そして、登録ボタン143が選択されると、修正後の項目の値が認識結果データに登録される。
また、本実施形態では、帳票画像の認識処理が完了したジョブについて、ジョブの認識結果をリストで表示してもよい。例えば、本実施形態では、ジョブに対応する認識結果データを参照して、請求元の会社名、請求金額、請求日、認識結果が利用者により確認済みであるか否かを示す確認ステータスなどを含むジョブリストを表示してもよい。また、認識結果が利用者により確認済みのジョブについて、認識結果データを登録した位置に及び確認を行った利用者IDをジョブリストに含まれてもよい。さらに、リストに表示されたジョブを選択すると、選択されたジョブに対応する認識結果確認画面が表示される。
本実施形態では、例えば、この登録ボタン143が選択されると、帳票画像141を示す画像データと、情報142とが基幹システム500等に格納されても良い。また、利用者は、認識結果確認画面を介して、登録した認識結果データをダウンロードして、基幹システム500の操作画面を介して、基幹システムに登録してもよい。
また、画面140では、帳票画像141を認識する際に参照された帳票定義情報を示す情報144が表示されていても良い。本実施形態では、この情報144を表示させることで、帳票画像141が、どの種類の帳票定義情報を用いて認識されたかを、利用者に通知できる。
以下に、本実施形態の認識結果データの一例を示す。図15は、認識結果データの一例を示す図である。
図15に示す認識結果データ151では、帳票画像データに含まれる項目と、項目の値とを抽出して対応付けを行い、項目の項目IDと、項目の値とを対応付けた結果が、XML形式で記述されている。
本実施形態では、この認識結果データ151が生成されて認識結果データベース260に格納されると、この格納先が、ジョブリスト101の項目「認識結果ファイルパス」の値とされる。
以上のように、本実施形態によれば、複数の帳票定義情報を用いて帳票画像から項目と項目の値とを抽出するため、帳票の認識の精度を向上させることができる。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。