以下に図面を参照して、実施形態について説明する。図1は、帳票認識システムのシステム構成の一例を示す図である。
本実施形態の帳票認識システム100は、サーバ装置200、画像形成装置300、端末装置400を有する。本実施形態の帳票認識システム100において、サーバ装置200と、画像形成装置300と、端末装置400とは、ネットワークを介して接続される。本実施形態の帳票認識システム100は、情報処理システムの一例である。
また、本実施形態の端末装置400は、例えば、ネットワークを介して基幹システム500と接続される。基幹システム500とは、例えば、本実施形態の帳票認識システム100において帳票を認識した結果を用いて、特定の処理を行うシステムである。具体的には、例えば、基幹システム500は、会計システムや、見積もり作成システム等であってもよい。
本実施形態の帳票認識システム100において、サーバ装置200は、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を示す画像データから、帳票に含まれる項目名と項目値とを抽出し、項目名と項目値とを対応付けたテキストデータとする。項目名とは、帳票に含まれる項目の名称であり、項目値とは、項目の名称によって特定される項目と対応する値を示す。
以下の説明では、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を帳票画像と呼び、帳票画像を示す画像データを帳票画像データと呼ぶ。なお、画像形成装置300は、帳票認識システム100に含まれなくてもよい。
また、以下の説明では、帳票画像に含まれる項目名と、この項目名と対応する項目値とを抽出し、項目名と項目値とを対応付けることを、帳票認識と呼ぶ。
本実施形態のサーバ装置200は、記憶部210と、帳票認識部220と、帳票管理部290とを有する。記憶部210には、帳票画像データベース230、種別判定データベース240、帳票定義データベース250、認識結果データベース260、フォーマット管理データベース265、法人名辞書データベース267が設けられている。
帳票画像データベース230は、帳票画像データが格納される。種別判定データベース240は、帳票の種類を判別する際に参照される情報が格納される。帳票定義データベース250は、帳票認識部220による帳票認識に用いる帳票定義情報が格納される。帳票定義情報とは、帳票に含まれる項目名の記載位置と、項目名と項目値の位置関係とを定義した情報である。
認識結果データベース260は、帳票認識部220による帳票認識の結果を示す情報である帳票情報(認識結果データ)が格納される。フォーマット管理データベース265は、帳票のフォーマットを管理するためのフォーマット管理情報が格納される。法人名辞書データベース267は、法人名を含む辞書情報が格納される。法人名を含む辞書情報とは、法人の名称、法人の住所、電話番号等を含む情報であってよい。
本実施形態の法人名辞書データベース267は、例えば、一般的に公開されているデータベースであってもよいし、帳票認識システム100の管理者によって予め作成されたものであってもよい。
本実施形態の帳票認識部220は、帳票画像データベース230に格納された帳票画像データを取得し、種別判定データベース240を参照して帳票の種類を判定する。また、帳票認識部220は、帳票認識に用いる帳票定義情報の特定し、特定された帳票定義情報に基づいて、帳票に含まれる特定の項目名と対応する項目値を決定する。
具体的には、帳票認識部220は、帳票定義データベース250に格納された帳票定義情報に含まれる、汎用定義情報(第一の帳票定義情報)と、個社定義情報(第二の帳票定義情報)とを用いる。
本実施形態の汎用定義情報とは、一般的な帳票における項目名に対応する単語を定義した情報である。個社定義情報とは、帳票認識システム100を利用する利用者固有の帳票における項目名に対応する単語と帳票画像から抽出する情報を定義した情報である。帳票認識システム100を利用する利用者とは、帳票認識システム100が提供するサービスを利用するための契約を締結している事業者や企業、団体等である。本実施形態の以下の説明では、帳票認識システム100の利用者をテナントと表現する。
本実施形態では、個社定義情報が、テナント毎に設けられており、帳票認識部220は、帳票認識に用いる個社定義情報の特定の仕方に応じて、帳票に含まれる特定の項目名の項目値を決定する。本実施形態の特定の項目名とは、例えば、帳票の発行元を示す項目名「発行元」であってよい。
より具体的には、帳票認識部220は、個社定義情報が、帳票のフォーマットに基づき特定されたか、又は、帳票画像データに対する文字認識の結果に基づき特定されたかを判定する。そして、帳票認識部220は、この判定の結果に応じて、帳票認識の結果として出力する帳票の項目「発行元」の項目値を決定する。
ここで、個社定義情報を、帳票のフォーマットに基づき特定する場合と、個社定義情報を、文字認識の結果に基づき特定する場合と、について説明する。
帳票のフォーマットに基づき個社定義情報を特定する場合、個社定義情報は、帳票のフォーマットと類似したフォーマット情報と対応付けられた発行元の個社定義情報に特定される。このため、フォーマットに基づく個社定義情報の特定では、発行元が、実際の発行元と異なっていても、帳票のレイアウトが類似していれば、帳票認識に用いる個社定義情報として特定される可能性がある。
つまり、個社定義情報を帳票のフォーマットに基づき特定した場合、特定された個社定義情報は、帳票の発行元とは異なる発行元の個社定義情報である可能性がある。
これに対し、文字認識の結果に基づき個社定義情報を特定する場合、帳票に含まれる文字列と、個社定義情報と対応付けられた発行元とが完全に一致する個社定義情報を特定する。このため、文字認識の結果に特定された個社定義情報は、帳票の発行元とは異なる発行元の個社定義情報である可能性は低い。
このことから、文字認識の結果に基づき特定された個社定義情報は、帳票のフォーマットに基づき特定された個社定義情報と比較して、信頼性が高いと言える。
本実施形態では、この点に着目し、個社定義情報が帳票のフォーマットによって特定された場合における、項目名「発行元」の項目値の決定の仕方を、個社定義情報が文字認識の結果によって特定された場合と異ならせる。
このため、本実施形態では、帳票認識に用いる個社定義情報が、帳票のフォーマットに基づいて特定された場合であっても、発行元名の誤認識を抑制できる。言い換えれば、本実施形態では、帳票認識に用いる帳票定義情報の特定の仕方に起因する帳票の誤認識を抑制し、帳票認識の精度を向上させることができる。
本実施形態の帳票認識システム100において、画像形成装置300は、スキャナ機能を有する複合機である。画像形成装置300は、コピー機能、FAX機能、スキャナ機能等を実現するためのアプリケーションが搭載されており、各機能と対応するアプリケーションを選択することで、これらの機能が実現される。
本実施形態の端末装置400は、主にテナントによって使用される。また、端末装置400には、サーバ装置200による帳票認識の結果を確認させるための画面等が表示されても良い。
なお、図1の例では、サーバ装置200は、記憶部210内に6つのデータベースを有する構成としたが、これに限定されない。各データベースは、一部がサーバ装置200の外部装置に設けられていても良いし、各データベース全てが外部装置に設けられていても良い。
また、図1の例では、サーバ装置200が帳票認識部220と帳票管理部290とを実現するものとしたが、これに限定されない。帳票認識部220と帳票管理部290とは、複数の情報処理装置によって実現されても良い。
また、図1の例では、帳票認識システム100に含まれる画像形成装置300と端末装置400とは、それぞれ1台としているが、帳票認識システム100に含まれる画像形成装置300と端末装置400の台数は、任意の数であって良い。
次に、図2を参照して、本実施形態のサーバ装置200のハードウェア構成について説明する。図2は、サーバ装置のハードウェア構成の一例を示す図である。
本実施形態のサーバ装置200は、コンピュータによって構築されており、図2に示されているように、CPU201、ROM202、RAM203、HD204、HDD(Hard Disk Drive)コントローラ205、ディスプレイ206、外部機器接続I/F(Interface)208、ネットワークI/F209、データバスB、キーボード211、ポインティングデバイス212、DVD-RW(Digital Versatile Disk Rewritable)ドライブ214、メディアI/F216を備えている。
これらのうち、CPU201は、サーバ装置200全体の動作を制御する。ROM202は、IPL等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。HD204は、プログラム等の各種データを記憶する。HDDコントローラ205は、CPU201の制御にしたがってHD204に対する各種データの読み出し又は書き込みを制御する。ディスプレイ206は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する表示部である。
外部機器接続I/F208は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F209は、通信ネットワークNを利用してデータ通信をするためのインターフェースである。データバスBは、図2に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード211は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス212は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ214は、着脱可能な記録媒体の一例としてのDVD-RW213に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F216は、フラッシュメモリ等の記録メディア215に対するデータの読み出し又は書き込み(記憶)を制御する。
本実施形態のサーバ装置200は、例えば、スマートフォン、タブレット端末、PDA(Personal Digital Assistant)、ウェアラブルPC等であっても良い。
本実施形態の端末装置400は、演算処理装置と記憶装置とを有するコンピュータであり、例えば、タブレット型の端末装置や、スマートフォン等であっても良い。図3は、端
本実施形態の端末装置400は、CPU401、ROM402、RAM403、EEPROM404、CMOSセンサ405、撮像素子I/F406、加速度・方位センサ407、メディアI/F409、データバス410、GPS受信部411を備えている。
これらのうち、CPU401は、端末装置400全体の動作を制御する演算処理装置である。ROM402は、CPU401やIPL等のCPU401の駆動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。EEPROM404は、CPU401の制御にしたがって、スマートフォン(端末装置)用プログラム等の各種データの読み出し又は書き込みを行う。ROM402、RAM403、EEPROM404は、端末装置400の記憶装置の一例である。
CMOS(Complementary Metal Oxide Semiconductor)センサ405は、CPU401の制御に従って被写体(主に自画像)を撮像して画像データを得る内蔵型の撮像手段の一種である。なお、CMOSセンサではなく、CCD(Charge Coupled Device)センサ等の撮像手段であってもよい。
撮像素子I/F406は、CMOSセンサ305の駆動を制御する回路である。加速度・方位センサ407は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。メディアI/F409は、フラッシュメモリ等の記録メディア408に対するデータの読み出し又は書き込み(記憶)を制御する。データバス410は、図3に示されているCPU401等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。GPS受信部411は、GPS衛星からGPS信号を受信する。
また、端末装置400は、遠距離通信回路412、遠距離通信回路412のアンテナ412a、マイク415、スピーカ416、音入出力I/F417、ディスプレイ(表示部)418、外部機器接続I/F(Interface)419、近距離通信回路420、近距離通信回路420のアンテナ420a、及びタッチパネル421を備えている。
これらのうち、遠距離通信回路412は、通信ネットワークを介して、他の機器と通信する回路である。マイク415は、音を電気信号に変える内蔵型の回路である。スピーカ416は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。音入出力I/F417は、CPU401の制御に従ってマイク415及びスピーカ416との間で音信号の入出力を処理する回路である。
ディスプレイ418は、被写体の画像や各種アイコン等を表示する液晶や有機EL(Electro Luminescence)などの表示手段の一種である。外部機器接続I/F419は、各種の外部機器を接続するためのインターフェースである。近距離通信回路420は、NFC(Near Field Communication)やBluetooth(登録商標)等の通信回路である。タッチパネル421は、利用者がディスプレイ418を押下することで、端末装置400を操作する入力手段の一種である。ディスプレイ418は、端末装置400の有する表示部の一例である。
次に、本実施形態のサーバ装置200の有する種別判定データベース240と帳票定義データベース250について説明する。
図4は、種別判定データベースの一例を示す図である。本実施形態の種別判定データベース240は、情報の項目として、定義ID、定義種別、文書種別、識別文字列を有する。種別判定データベース240において、項目「定義ID」は、その他の項目と対応付けられており、項目「定義ID」の値と、その他の項目の値とを含む情報を、種別判定情報と呼ぶ。
項目「定義ID」の値は、帳票定義情報を特定するための識別情報を示す。項目「定義種別」の値は、帳票定義情報の種類を示す。本実施形態では、帳票定義情報の種類として、汎用定義情報と個社定義情報とを含む。
項目「文書種別」の値は、帳票の種類を示す。帳票の種類とは、具体的には、例えば、請求書、見積書、注文書等である。
項目「識別文字列」の値は、帳票の種類を特定するための文字列を示す。具体的には、例えば、「請求書」又は「請求」という文字列を含む帳票画像は、項目「文書種別」が示す帳票の種類が「請求書」となる。
図4の例では、例えば、定義ID「H01」の帳票定義情報の種類は汎用定義情報であり、定義ID「H01」の汎用定義情報は、「請求書」のレイアウトを定義した情報であり、帳票画像データから「請求」又は「請求書」という文字列が抽出された場合に、参照される。
また、図4の例では、例えば、定義ID「A01」の帳票定義情報の種類は個社定義情報であり、定義ID「A01」の個社定義情報は、「R社用請求書」のレイアウトを定義した情報であり、帳票画像データから「請求」又は「請求書」という文字列が抽出された場合に、参照される。
次に、図5乃至図7を参照して、本実施形態の帳票定義データベース250について説明する。図5は、帳票定義データベースに格納される帳票定義情報の種類を示す図である。
本実施形態の帳票定義データベース250には、汎用定義情報251と、個社定義情報252と、が格納されている。
本実施形態の汎用定義情報251とは、帳票の中でも、複数の利用者(テナント)により利用される汎用性の高いレイアウトの帳票の帳票定義情報である。汎用定義情報251は、個社定義情報252と比較して、優先度の低い帳票定義情報である。
本実施形態の個社定義情報252とは、帳票の中でも、利用者が独自に設計したレイアウトの帳票の帳票定義情報であり、利用者専用の帳票定義情報である。個社定義情報252は、汎用定義情報251と比較して、尊重されるべき定義であり、優先度が高い帳票定義情報である。
本実施形態の帳票認識部220は、この2つの帳票定義情報を用いて(参照して)、帳票画像データの認識を行う。したがって、本実施形態では、例えば、帳票画像データが、汎用定義情報251においてレイアウトが定義されていない帳票のものであった場合でも、個社定義情報252で定義されていれば、この帳票画像データを認識できる。
図6は、汎用定義情報の一例を示す図である。汎用定義情報251は、定義ID毎に生成されるものであり、情報の項目として、項目ID、項目名、方向、距離等を含む。つまり、本実施形態の汎用定義情報251は、項目「定義ID」と、その他の項目とが対応付けられており、項目「定義ID」の値と、その他の項目の値とを含む。
項目「項目ID」の値は、帳票に含まれる項目を特定するための識別情報である。項目「項目名」の値は、項目の名称を示す。
項目「方向」、「距離」等は、文字列を抽出する範囲を示す。例えば、項目「方向」の値が「RD」であり、項目「距離」の値が「20mm」であった場合、項目名となる文字列と外接する矩形の右下の座標から下に向かって20mm以内の範囲から、文字列を抽出することを示す。
つまり、本実施形態の項目「方向」、「距離」等は、文字列を抽出する範囲を示す条件であり、この条件は、項目名と対応付けられている。なお、図5の例では、文字列を抽出する範囲を示す条件として、項目「方向」、「距離」を挙げたが、条件には、他の項目が含まれていても良い。
したがって、例えば、項目ID「2」の項目名「合計」という文字列と外接する矩形の右下の座標から下に向かって20mm以内の範囲から抽出された文字列は、項目名「合計」と対応する項目値と認識される。
なお、汎用定義情報251では、帳票に含まれる全ての項目に関する情報が含まれるものとした。
図7は、個社定義情報の一例を示す図である。本実施形態の個社定義情報252は、テナントの定義ID毎に登録されるものであり、情報の項目として、定義ID、項目ID、項目名、方向、距離等を含む。
また、個社定義情報252は、情報の項目として、発行元、電話番号、口座番号等を含む。項目「発行元」、「電話番号」、「口座番号」等は、帳票の発行元に関する項目である。
また、項目「発行元」、「電話番号」、「口座番号」と各項目の値とを含む情報は、帳票の発行元を特定するための、発行元の識別情報である。
項目「定義ID」、「項目ID」、「項目名」、「方向」、「距離等」は、汎用定義情報251と同様であるから説明を省略する。項目「発行元」の値は、帳票の発行元(テナント)を特定する情報である。帳票の発行元は、例えば、帳票が請求書である場合には、請求書の請求元と同義となる。項目「電話番号」、「口座番号」の値は、請求元の電話番号、口座番号を示す。
なお、本実施形態では、帳票の発行元を特定する情報として、発行元の名称を利用するものとしたが、これに限定されない。帳票の発行元を特定する情報は、例えば、テナント毎に、テナントを識別するテナント識別情報(テナントID)が付与されており、テナントIDを帳票の発行元を特定する情報として用いてもよい。
このように、本実施形態の個社定義情報252は、帳票の発行元の識別情報と対応付けられている。
なお、帳票の発行元の識別情報は、例えば、テナントIDと対応付けられて、テナントを管理するためのテナントデータベースに格納されていてもよい。この場合、個社定義情報252は、テナントIDと対応付けられていればよい。
図7に示す個社定義情報252は、発行元「R社」によって特定されるテナントにより登録された、定義ID「A01」、文書種別「R社用請求書」の個社定義情報の一例である(図4参照)。したがって、個社定義情報252は、「R社用請求書」のレイアウトを定義した情報であることがわかる。
次に、図8を参照して、本実施形態のフォーマット管理データベース265について説明する。図8は、フォーマット情報データベースの一例を示す図である。
本実施形態のフォーマット管理データベース265は、テナント毎に設けられるものであり、情報の項目として、発行元の識別情報と、フォーマット情報とを含む。フォーマット管理データベース265において、項目「発行元の識別情報」と項目「フォーマット情報」とは対応付けられている。以下の説明では、フォーマット管理データベース265において、項目「発行元の識別情報」の値と、項目「フォーマット情報」の値と、を含む情報を、フォーマット管理情報と表現する場合がある。
項目「発行元の識別情報」は、帳票の発行元に関する項目「発行元」、「電話番号」、「口座番号」を含む。項目「フォーマット情報」の値は、帳票のフォーマットを示す情報を示し、項目「最大矩形の幅」、「罫線の色」、「文字情報」等を含む。
このように、本実施形態のフォーマット管理情報は、発行元毎の帳票のレイアウトを示す情報と言える。
なお、フォーマット情報は、発行元の識別情報が、テナントIDと対応付けられてテナントデータベース格納されている場合には、テナントIDと対応付けられていればよい。
次に、図9を参照して、本実施形態のサーバ装置200の機能について説明する。図9は、サーバ装置の機能を説明する図である。
本実施形態のサーバ装置200では、例えば、RAM203やHD204等に格納された情報処理プログラムをCPU201が読み出して実行することで、後述する各部の機能が実現される。
本実施形態のサーバ装置200は、帳票認識部220、帳票管理部290、通信部298を有する。帳票認識部220は、入力受付部221、認証処理部222、認識処理部270を有する。帳票管理部290は、操作受付部291、表示制御部292、情報更新部293を含む。
帳票認識部220において、入力受付部221は、サーバ装置200に対する各種の入力を受け付ける。具体的には、入力受付部221は、帳票認識システム100にログインするための認証情報の入力を受け付ける。認証情報とは、例えば、テナントIDとパスワード等である。また、入力受付部221は、例えば、画像形成装置300から送信された帳票画像データの入力を受け付ける。また、入力受付部221は、端末装置400から送信される各種の要求や通知を受け付ける。入力受付部221は、通信部298を介してサーバ装置200に対する入力を受け付けて良いし、サーバ装置200に対して直接行われた入力を受け付けても良い。
認証処理部222は、入力受付部221が入力を受け付けた認証情報に基づき、認証を行う。なお、認証処理部222は、例えば、サーバ装置200の外部に設けられた認証サーバに対して、入力された認証情報を送信し、認証サーバによる認証の結果を取得しても良い。認証処理部222は、利用者が認証されると、入力受付部221が受け付けた帳票画像データを認識処理部270に渡しても良い。
本実施形態の認識処理部270は、画像データ格納部271、ジョブリスト生成部272、画像データ取得部273、前処理部274、文字認識部275、定義特定部276、項目抽出部277、項目値決定部278、表示画面生成部279、出力部280を有する。
画像データ格納部271は、入力受付部221が、画像形成装置300から通信部298を介して帳票画像データを受信すると、帳票画像データベース230に格納する。
ジョブリスト生成部272は、入力受付部221が、通信部298を介して画像形成装置300から帳票画像データの入力を受け付けると、ジョブリストにジョブを登録し、ジョブリストを管理する。ジョブリストの詳細は後述する。
画像データ取得部273は、帳票画像データベース230に格納された帳票画像データを取得する。前処理部274は、画像データ取得部273が取得した帳票画像データに対して、帳票認識を行うための前処理を行う。
文字認識部275は、帳票画像データから、文字列と、文字列が配置された位置を示す情報とを抽出し、読取結果データとして保持する。読取結果データの詳細は後述する。
定義特定部276は、読取結果データに含まれる文字列に基づき、帳票認識の際に参照する帳票定義情報を特定し、特定した帳票定義情報を帳票定義データベース250から取得する。
項目抽出部277は、読取結果データと、定義特定部276によって特定された帳票定義情報とに基づき、帳票画像データに含まれる項目名と項目値とを抽出する。
項目値決定部278は、定義特定部276による帳票定義情報の特定の仕方に応じて、項目抽出部277により抽出された項目名と対応づける項目値を決定し、項目名と、決定した項目値とを対応付ける。より具体的には、項目値決定部278は、個社定義情報の特定の仕方に応じて、帳票の発行元の項目値を決定する。
また、項目値決定部278は、項目名と項目値とを対応付けた認識結果データを、認識結果データベース260に格納する。なお、本実施形態の認識結果データは、帳票に記載された帳票の発行元を示す情報(発行元情報)等を含む。
表示画面生成部279は、認識結果データベース260に格納された認識結果データを用いて、認識結果の確認画面を生成する。
出力部280は、表示画面生成部279が生成した認識結果の確認画面を、通信部298を介して出力する。言い換えれば、出力部280は、表示画面生成部279が生成した認識結果の確認画面を、通信部298を介して端末装置400のウェブブラウザ上で表示させる。
本実施形態の帳票管理部290は、操作受付部291、表示制御部292、情報更新部293を有する。
操作受付部291は、通信部298を介して、端末装置400のウェブブラウザ上に表示された画面に対して入力された操作を受け付ける。より具体的には、本実施形態では、通信部298が端末装置400から操作を示す情報を受信し、操作受付部291が、通信部298が受信した情報の入力を受け付ける。
表示制御部292は、通信部298を介して、端末装置400に対する画面の表示を指示する。具体的には、表示制御部292は、認識結果データの確認画面や、個社定義情報を生成するための入力画面等を端末装置400に表示させる。また、表示制御部292は、画面を表示させるためのXML形式のファイルを生成し、通信部298を介して端末装置400のウェブブラウザ上に画面を表示させる。
なお、表示制御部292が画面を表示させる装置は、サーバ装置200であっても良いし、端末装置400以外の装置あっても良く、表示機能を有する表示装置であれば良い。
情報更新部293は、端末装置400から入力された情報に基づき、個社定義情報を生成して帳票定義データベース250へ格納する。
本実施形態の通信部298は、例えば、ネットワークI/F209等によって実現される機能であり、サーバ装置200と外部装置との間でデータの送受信を行う。具体的には、例えば、通信部298は、表示制御部292に制御に応じて、端末装置400に対して、画面の表示を指示する通知を送信する。
次に、図10を参照して、本実施形態の端末装置400の機能について説明する。図10は、端末装置の機能を説明する図である。
後述する各部の機能は、端末装置400の有するCPU401が、ROM402等に格納されたプログラムを読み出して実行することで実現される。
本実施形態の端末装置400は、入力受付部431、表示制御部432、通信部433を有する。
入力受付部431は、表示制御部432によって端末装置400のウェブブラウザ上に表示された画面に対する入力を受け付ける。具体的には、入力受付部431は、端末装置400のウェブブラウザ上に表示された、認識結果の確認画面に対し、認識結果を編集する操作を受け付ける。
表示制御部432は、端末装置400のディスプレイ418の表示を制御する。具体的には、表示制御部432は、サーバ装置200からの指示に応じた画面をディスプレイ418(表示部)に表示させる。
通信部433は、遠距離通信回路412、遠距離通信回路412のアンテナ412a等によって実現される機能であり、端末装置400と他の装置との間でデータの送受信を行う。
以下に、図11を参照して、本実施形態の帳票認識システム100の動作について説明する。図11は、帳票認識システムの動作を説明するシーケンス図である。
帳票認識システム100において、画像形成装置300は、利用者から帳票認識を行うためのアプリケーションの起動要求を受け付けると(ステップS1101)、このアプリケーションを起動させる(ステップS1102)。
続いて、画像形成装置300は、利用者から認証情報の入力を受け付けると(ステップS1103)、この認証情報をサーバ装置200へ送信し、認証要求を行う(ステップS1104)。
サーバ装置200は、認証要求を受けて、認証処理部222により認証を行い、その結果を画像形成装置300へ通知する(ステップS1105)。なお、ここでは、利用者が認証された場合の動作を示している。
続いて、画像形成装置300は、帳票のスキャン指示を受け付け(ステップS1106)、帳票のスキャンを行い、帳票画像データを取得する(ステップS1107)。続いて、画像形成装置300は、帳票画像データをサーバ装置200へ送信する(ステップS1108)。
サーバ装置200は、入力受付部221が帳票画像データの入力を受け付けると、認証処理部222がこの帳票画像データを認識処理部270へ渡す(ステップS1109)。なお、図11の例では、認証処理部222を介して帳票画像データが認識処理部270へ渡されるものとしたが、これに限定されない。帳票画像データは、認証処理部222を介さずに認識処理部270に渡されても良い。
サーバ装置200の認識処理部270は、帳票画像データを受け取ると、ジョブリスト生成部272により、ジョブリストにジョブを登録する(ステップS1110)。続いて、認識処理部270は、画像データ格納部271により、帳票画像データを帳票画像データベース230へ格納する(ステップS1111)。
続いて、認識処理部270は、画像データ取得部273により、帳票画像データベース230から認識する対象となる帳票画像データを取得し(ステップS1112)、帳票画像を認識する処理(帳票認識)を実行する(ステップS1113)。ステップS1113の処理の詳細は後述する。
続いて、認識処理部270は、項目抽出部277が生成した認識結果データを認識結果データベース260に格納する(ステップS1114)。
帳票認識システム100において、端末装置400は、入力受付部431により、利用者からのブラウザの表示指示の入力を受け付けると(ステップS1115)、通信部433を介して、サーバ装置200に対して認識結果データを表示させるブラウザの表示要求を行う(ステップS1116)。
また、端末装置400は、入力受付部431により、利用者から認証情報の入力を受け付けて(ステップS1117)、通信部433により、この認証情報をサーバ装置200へ送信する(ステップS1118)。
サーバ装置200は、認証処理部222により、利用者の認証を行い(ステップS1119)、その結果を端末装置400へ通知し、ジョブリストの一覧を端末装置400に表示させる(ステップS1120)。なお、ここでは、利用者が認証された場合の処理を示す。
続いて、端末装置400は、入力受付部431により、ジョブリストの一覧からジョブの選択を受け付けると(ステップS1121)、この選択を、帳票画像の認識結果の閲覧指示として、通信部433により、サーバ装置200に対して閲覧要求を行う(ステップS1122)。
サーバ装置200は、閲覧要求を受けて、認識処理部270により、認識結果データベース260に格納されている認識結果データを取得し(ステップS1123)、認識結果の確認画面を生成して端末装置400のブラウザ上に表示させ(ステップS1124)、利用者に、表示された認識結果の確認画面で認識結果を確認させる。
続いて、端末装置400は、入力受付部431により、個社定義情報の登録指示の入力を受け付けると(ステップS1125)、通信部433を介して、個社定義情報の登録要求をサーバ装置200へ送信する(ステップS1126)。この登録要求は、言い換えれば、個社定義情報を入力するための入力画面の表示要求である。
サーバ装置200は、入力受付部221により、この表示要求を受け付けると、帳票管理部290の表示制御部292により、端末装置400に個社定義情報の入力画面を表示させる(ステップS1127)。
続いて、端末装置400は、個社定義情報の入力を受け付けると(ステップS1128)、入力された情報をサーバ装置200へ送信する(ステップS1129)。サーバ装置200における帳票管理部290は、情報更新部293により、端末装置400から送信された情報に基づき、個社定義情報を生成し(ステップS1130)、帳票定義データベース250に格納して(ステップS1131)、処理を終了する。
ここで、図12を参照して、本実施形態のジョブリスト生成部272により生成されるジョブリストについて説明する。図12は、ジョブリストの一例を示す図である。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データが入力されると、ジョブリスト生成部272により、帳票画像データとジョブIDとを対応付けたジョブリストとして保持する。
本実施形態のジョブリスト101は、情報の項目として、ジョブID、発行元、帳票画像ファイルパス、認識結果ファイルパス、ステータス、定義ID等を有する。
項目「ジョブID」の値は、ジョブを特定する識別情報である。言い換えれば、項目「ジョブID」の値は、画像形成装置300から受信した帳票画像データを特定するための識別情報である。
項目「発行元」の値は、帳票認識システム100にログインした利用者を特定するための情報である。
項目「画像ファイルパス」の値は、帳票画像データが格納されている場所を示す情報である。項目「認識結果ファイルパス」の値は、帳票画像を認識した結果の認識結果データが格納されている場所を示す情報である。
項目「ステータス」の値は、帳票画像の認識の進捗を示す。言い換えれば、項目「ステータス」の値は、ジョブの状態を示す。
本実施形態では、項目「ステータス」の値として、未処理状態、下書き保存状態、確定済み状態、外部出力済み状態の4つがある。各状態は、以下の通りである。
・未処理状態(状態1) 帳票認識によって認識結果データが取得された直後であり、認識結果の確認等が行われていない状態。
・下書き保存状態(状態2) 認識結果データの確認等の作業の途中等であり、認識結果データが確定される前の状態。
・確定済み状態(状態3) 認識結果データの確認等の作業が完了し、確定された情報として認識結果データベース260へ格納された状態。
・外部出力済み状態(状態4) 帳票認識システム100と連携する基幹システム500への認識結果データの出力が完了した状態。
項目「定義ID」の値は、認識結果データの生成に用いられた帳票定義情報の定義IDを示す。言い換えれば、項目「定義ID」の値は、帳票認識に用いられた帳票定義情報を特定する識別情報である。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データを受信すると、ジョブリスト生成部272により、ジョブIDを付与し、認証情報として取得した発行元を対応付けて、ジョブリスト101にレコードを追加する。そして、ジョブリスト生成部272は、帳票画像データが帳票画像データベース230に格納されると、この格納先を示す情報を項目「画像ファイルパス」の値として、追加する。
さらに、ジョブリスト生成部272は、認識結果データが認識結果データベース260に格納されると、この格納先を示す情報を項目「認識結果ファイルパス」の値として追加し、項目「ステータス」の値を確定済み状態とする。
本実施形態では、例えば、ジョブリスト生成部272によって生成されたジョブリストを表示しても良い。この場合、利用者は、ジョブリストに基づいて表示されたジョブリスト画面を介して、帳票画像の認識の進捗を確認することができる。
次に、図13を参照して、本実施形態の認識処理部270の処理について説明する。図14は、帳票認識部の処理を説明する第一のフローチャートである。図13では、図11のステップS1113の処理の詳細を示している。また、図13では、複数の帳票画像データを画像形成装置300から受け取った場合の処理を示している。
本実施形態の認識処理部270は、画像データ取得部273により、帳票画像データベース230から帳票画像データを取得すると(ステップS1301)、前処理部274により、帳票画像データの形式をpng形式に変換する(ステップS1302)。
続いて、前処理部274は、1ページ分の帳票画像データを選択し(ステップS1303)、前処理を行う(ステップS1304)。前処理とは、具体的には、例えば、帳票画像の向きを揃える補正処理等である。
続いて、認識処理部270は、文字認識部275により、帳票画像から、文字が形成されている領域(以下、文字フィールド)を切り取る(ステップS1305)。続いて、認識処理部270は、文字認識部275により、切り取られた文字フィールドの中の文字を切り取り、文字認識する(ステップS1306)。このとき、文字認識部275は、切り出した文字の位置を示す座標も取得する。
続いて、認識処理部270は、文字認識部275により認識された各文字の位置関係に基づいて読取結果データを生成して、保持する(ステップS1307)。具体的に、認識処理部270は、認識された各文字の座標に基づいて、互いの距離が予め設定された閾値以内の文字を1つの文字列として認識し、文字列と、文字列が形成された領域の位置を示す座標などの情報とを対応付けて読取結果データを生成する。
続いて、認識処理部270は、定義特定部276、項目抽出部277、項目値決定部278により、読取結果データから項目名と項目値とを抽出する(ステップS1308)。ステップS1308の処理の詳細は後述する。
続いて、認識処理部270は、項目名と項目値との抽出に成功したか否かを判定する(ステップS1309)。具体的には、認識処理部270は、項目名と項目値とを対応付けたデータが一時的に保持されている場合に、項目名と項目値との抽出が成功したものと判定してもよい。
ステップS1309において、項目名と項目値の抽出に失敗した場合、認識処理部270は、端末装置400又は画像形成装置300に対してエラーを通知し(ステップS1310)、後述するステップS1313へ進む。
ステップS1309において、項目名と項目値との抽出に成功すると、認識処理部270は、抽出された項目名と項目値とを対応付けてマージした認識結果データを生成する(ステップS1311)。
続いて、認識処理部270は、ジョブリスト生成部272により、認識結果データの生成に用いられた帳票定義情報の定義IDと、認識結果データの格納先とを、ジョブリスト101に登録する(ステップS1313)。
続いて、認識処理部270は、最後のページまで処理を実行したか否かを判定する(ステップS1313)。ステップS1313において、最後のページまで処理を実行していない場合、認識処理部270は、ステップS1303へ戻る。
ステップS1313において、最後のページまで処理を実行した場合、認識処理部270は、表示画面生成部279により、認識結果データを用いて生成された認識結果の確認画面を端末装置400に表示させ(ステップS1314)、処理を終了する。
なお、認識処理部270は、端末装置400から、認識結果データの閲覧要求を受け付けてから、認識結果データを表示させてもよい。
次に、図14を参照して、本実施形態の定義特定部276、項目抽出部277、項目値決定部278の処理について説明する。図14は、帳票認識部の処理を説明する第二のフローチャートである。図14は、図13のステップS1308の処理の詳細を示す。
本実施形態の認識処理部270は、定義特定部276により、文字認識の結果から、帳票定義データベース250に格納された個社定義情報のうち、帳票認識に用いる個社定義情報を特定する(ステップS1401)。
具体的には、定義特定部276は、帳票定義データベース250に格納された個社定義情報のうち、個社定義情報と対応付けられた発行元の識別情報の項目値の2つ以上が、読取結果データに含まれる文字列と完全に一致する個社定義情報を特定する。言い換えれば、定義特定部276は、読取結果データに含まれる文字列と、項目「発行元」、「電話番号」、「口座番号」の項目値のうち2つ以上の項目値とが、完全に一致する個社定義情報を特定する。
続いて、認識処理部270は、定義特定部276により、個社定義情報が特定されたか否かを判定する(ステップS1402)。ステップS1402において、個社定義情報が特定された場合、認識処理部270は、後述するステップS1408とステップS1410へ進む。このとき、認識処理部270は、文字認識の結果に基づき個社定義情報が特定されたことを示す情報を一時的に保持する。
ステップS1402において、個社定義情報が特定されない場合、認識処理部270は、定義特定部276により、帳票のフォーマットに基づいて個社定義情報を特定する(ステップS1403)。
具体的には、定義特定部276は、フォーマット管理データベース265を参照し、最大矩形の幅、罫線の色が、読取結果データから得られる最大矩形の幅、罫線の色と一致し、且つ、文字の一致率が閾値以上となるフォーマット情報を特定する。次に、項目値決定部278は、特定されたフォーマット情報と対応する発行元の識別情報し、帳票定義データベース250を参照して、発行元の識別情報と対応付けられた個社定義情報を特定する。
続いて、認識処理部270は、個社定義情報が特定されたか否かを判定する(ステップS1404)。ステップS1404において、個社定義情報が特定された場合、認識処理部270は、後述するステップS1408とステップS1410へ進む。このとき、認識処理部270は、帳票のフォーマットに基づき個社定義情報が特定されたことを示す情報を一時的に保持する。
ステップS1404において、個社定義情報が特定されない場合、認識処理部270は、定義特定部276により、帳票定義データベース250を参照して、汎用定義情報を取得する(ステップS1405)。
具体的には、定義特定部276は、読取結果データに含まれる文字列から、帳票の文書種別を判定し、判定された文書種別と対応した汎用定義情報を帳票定義データベース250から取得する。
なお、ステップS1402及びステップS1404において、個社定義情報が特定されない場合とは、対応する個社定義情報が作成されておらず、帳票定義データベース250に対応する個社定義情報が格納されていないことを示す。
続いて、認識処理部270は、項目抽出部277により、ステップS1405で取得された汎用定義情報を用いて、項目名と項目値とを抽出する(ステップS1406)。続いて、認識処理部270は、抽出した項目値と項目名とを対応付けたデータを保持し(ステップS1407)、処理を終了する。
ステップS1402又はステップS1404において、個社定義情報が特定された場合、認識処理部270は、定義特定部276により、特定された個社定義情報を帳票定義データベース250から取得する(ステップS1408)。続いて、認識処理部270は、項目抽出部277により、取得した個社定義情報を用いて、項目名「発行元」の項目値を抽出し(ステップS1409)、後述するステップS1412へ進む。
また、認識処理部270は、定義特定部276により、汎用定義情報を特定し、帳票定義データベース250から取得する(ステップS1410)。続いて、認識処理部270は、項目抽出部277により、取得した汎用定義情報を用いて、項目名「発行元」の項目値を抽出し(ステップS1411)、後述するステップS1412へ進む。
続いて、認識処理部270は、項目値決定部278により、個社定義情報が、帳票のフォーマットに基づき特定されたものであるか否かを判定する(ステップS1412)。言い換えれば、項目値決定部278は、認識処理部270が、帳票のフォーマットに基づき個社定義情報が特定されたことを示す情報を保持しているか否かを判定する。
ステップS1412において、個社定義情報がフォーマットに基づき特定されていない場合、項目値決定部278は、項目名「発行元」の項目値を、ステップS1409で抽出した項目値に決定し、その他の項目名の項目値を、個社定義情報を用いて抽出する。そして、項目値決定部278は、項目名と項目値とを対応付けたデータを保持し(ステップS1413)、処理を終了する。
なお、ステップS1412において、個社定義情報がフォーマットに基づき特定されていない場合とは、個社定義情報が文字認識の結果に基づき特定された場合である。
ステップS1412において、個社定義情報がフォーマットに基づき特定された場合、認識処理部270は、項目値決定部278により、個社定義情報を用いて抽出された発行元が、法人名辞書データベース267に登録されているか否かを判定する(ステップS1414)。
具体的には、項目値決定部278は、ステップS1409で抽出された発行元の名称と一致する法人名が、法人名辞書データベース267に格納されているか否かを判定する。
ステップS1414において、個社定義情報を用いて抽出された発行元が、法人名辞書データベース267に格納されている場合、認識処理部270は、ステップS1413へ進む。
個社定義情報を用いて抽出された発行元が、法人名辞書データベース267に格納されている場合、ステップS1408において特定された個社定義情報の信頼性が比較的高いことを示す。したがって、本実施形態では、この場合には、個社定義情報は、フォーマットに基づき特定されたものであるが、帳票認識に用いる際に、十分な信頼性が担保されているものとし、この個社定義情報を用いて他の項目名の項目値を抽出する。
また、ステップS1414において、個社定義情報を用いて抽出された発行元が、法人名辞書データベース267に格納されていない場合、項目値決定部278は、項目名「発行元」の項目値を、汎用定義情報を用いて抽出した項目値に決定し、その他の項目名の項目値は、個社定義情報を用いて抽出した項目値とする。そして、項目値決定部278は、項目名と項目値とを対応付けたデータを一時的に保持し(ステップS1415)、処理を終了する。
このように、本実施形態では、帳票認識に用いる個社定義情報が、文字認識の結果に基づき特定された場合には、項目名「発行元」の項目値を、個社定義情報に基づき抽出された項目値に決定する。また、本実施形態では、帳票認識の際に用いる個社定義情報が、フォーマットに基づき特定され、且つ、個社定義情報を用いて抽出された項目名「発行元」の項目値が、法人名辞書データベース267に格納されている場合は、項目名「発行元」の項目値を、個社定義情報に基づき抽出された項目値に決定する。
さらに、本実施形態では、帳票認識の際に用いる個社定義情報が、フォーマットに基づき特定され、且つ、個社定義情報を用いて抽出された項目名「発行元」の項目値が、法人名辞書データベース267に格納されていない場合は、項目名「発行元」の項目値を、汎用定義情報に基づき抽出された項目値に決定する。
つまり、本実施形態では、特定された個社定義情報に、帳票認識に用いる際にあたり、十分な信頼性が担保されていると推定される場合に、この個社定義情報を用いて全ての項目名と項目値を抽出し、認識結果データとする。
また、本実施形態では、特定された個社定義情報よりも、汎用定義情報の方が信頼性が高いと推定される場合には、項目「発行元」の項目値を、汎用定義情報を用いて抽出した項目値に決定する。なお、この場合、他の項目名の項目値は、汎用定義情報よりも優先度が高い個社定義情報を用いて抽出される。
このように、本実施形態によれば、帳票認識を行う際の個社定義情報の特定の仕方に起因した、帳票の誤認識の発生を抑制でき、帳票認識の精度を向上させることができる。
次に、図15を参照して、帳票管理部290による管理情報の登録について説明する。図15は、帳票管理部の処理を説明するフローチャートである。図15では、図11のステップS1121からステップS1131までの処理の詳細を示す。
本実施形態の帳票管理部290は、操作受付部291により、端末装置400からの認識結果データの閲覧指示を受け付けると、表示制御部292により、認識結果データの確認画面を端末装置400に表示させる(ステップS1501)。
続いて、帳票管理部290は、操作受付部291により、端末装置400からの認識結果データの登録要求を受け付けたか否かを判定する(ステップS1502)。具体的には、サーバ装置200は、認識結果データベース260に対する、確認画面に表示された認識結果データの格納が指示されたか否かを判定している。
ステップS1502において、登録要求を受け付けない場合、帳票管理部290は、後述するステップS1507へ進む。
ステップS1502において、登録要求を受け付けた場合、帳票管理部290は、認識結果データに対して修正が行われたか否かを判定する(ステップS1503)。
ステップS1503において、修正が行われていない場合、帳票管理部290は、処理を終了する。
ステップS1503において、修正が行われていた場合、帳票管理部290は、この認識結果データを生成する際に、個社定義情報252が参照されているか否かを判定する(ステップS1504)。具体的には、帳票管理部290は、読取結果データに含まれる発行元と対応付けられた個社定義情報252が存在するか否かを判定している。
ステップS1504において、個社定義情報が参照されていない場合、帳票管理部290は、後述するステップS1508へ進む。
ステップS1504において、個社定義情報が参照されている場合、帳票管理部290は、修正された箇所が発行元であるか否かを判定する(ステップS1505)。
ステップS1505において、修正された箇所が発行元でない場合、帳票管理部290は、情報更新部293により、個社定義情報を修正内容に合わせて更新し(ステップS1506)、処理を終了する。修正された箇所が発行元でない場合とは、例えば、認識結果データにおける明細部の修正が行われた場合等である。
なお、本実施形態では、帳票管理部290による処理が終了した後に、認識結果データの登録を行ってもよい。具体的には、帳票管理部290は、図15の処理が終了した後に、認識結果データを認識結果データベース260に格納してもよい。
ステップS1505において、修正された箇所が発行元である場合、帳票管理部290は、表示制御部292により、発行元の識別情報の入力画面を端末装置400に表示させる(ステップS1507)。
続いて、帳票管理部290は、操作受付部291により、端末装置400に表示された入力画面に対する情報の入力を受け付ける(ステップS1508)。
続いて、帳票管理部290は、情報更新部293により、フォーマット管理データベース265における発行元の識別情報及び帳票定義データベース250の個社定義情報252と対応付けられた発行元の識別情報とを更新(上書き)し(ステップS1509)、処理を終了する。
ステップS1502において、認識結果の登録要求を受け付けない場合、帳票管理部290は、操作受付部291により、帳票定義の登録指示を受け付けたか否かを判定する(ステップS1510)。
ステップS1510において、帳票定義の登録指示を受け付けない場合、帳票管理部290は、ステップS1501へ戻る。
ステップS1501において、帳票定義の登録指示を受け付けた場合、帳票管理部290は、表示制御部292により、個社定義情報252の入力画面を端末装置400に表示させる(ステップS1511)。
続いて、帳票管理部290は、操作受付部291により、入力画面に対する個社定義情報の入力を受け付ける(ステップS1512)。
続いて、帳票管理部290は、情報更新部293により、帳票定義データベース250に、入力された個社定義情報252を格納して(ステップS1513)、処理を終了する。
本実施形態では、以上の処理により、新たに作成した個社定義情報を帳票定義データベース250に格納したり、発行元の識別情報の修正を行うことができる。
次に、図16及び図17を参照して、本実施形態の効果について説明する。図16は、本実施形態の効果を説明する第一の図である。
図16では、本実施形態が適用されておらず、帳票のフォーマットに基づいて特定された個社定義情報を用いて帳票認識を行った場合の認識結果の確認画面の一例を示す。
図16に示す画面501は、端末装置400に表示される認識結果の確認画面の一例である。
画面501は、表示欄502、表示欄503と、表示部品508、509とを含む。表示欄502には、帳票画像データが示す帳票画像が表示される。図16の例では、帳票が請求書であり、帳票画像における明細部を示す領域504が含まれる。
表示欄502に表示される帳票画像では、左上に、請求書No、締日、請求書合計金額、等が配置されており。右上に、請求元(発行元)を示す領域502aが配置されている。また、表示欄502では、帳票画像における明細部は、表形式で表される。
表示欄503は、表示欄502に表示された帳票画像を示す帳票画像データに対して帳票認識部220による帳票認識を行った結果の認識結果データが表示される。
表示欄503は、表示欄505、506、507を含む。表示欄505は、ジョブリスト101の項目「ステータス」の値が表示される。表示欄506は、請求元を含む請求元情報が表示される。請求元情報は、認識結果データの一部である。
表示欄507は、明細情報が表示される。具体的には、表示欄507には、明細情報に含まれる項目値の一覧が表示される。表示欄507は、表示欄511、512、513、514、515、516を含む。
表示欄511は、帳票画像における明細部を示す領域504に表示された、項目名「品名」の項目値が表示される。表示欄512は、領域504に表示された、項目名「商品コード」の項目値が表示される。表示欄513は、領域504に表示された、項目名「商品金額」の項目値が表示される。
表示欄514は、領域504に表示された、項目名「単価」の項目値が表示される。表示欄515は、領域504に表示された、項目名「数量」の項目値が表示される。表示欄516は、領域504に表示された、項目名「注文番号」の項目値が表示される。
画面501では、このように、帳票画像の明細部における項目名のそれぞれに対応する項目値を抽出して、表示欄511、512、513、514、515、516に表示する。
表示部品508は、ジョブリスト101のステータスの値を、未処理状態から下書き保存状態とするための表示部品である。表示部品508が操作されると、表示欄505は、「未処理」から「下書き保存」に変化する。
表示部品509は、ジョブリスト101のステータスの値を、確定済み状態とするための表示部品である。画面501では、表示部品509が操作されると、ジョブリスト101のステータスの値が、確定済み状態となる。
ここで、図16に示す請求元について説明する。図16に示す画面501の表示欄506は、表示欄506aを含む。
表示欄506aは、表示欄502に表示された帳票画像のフォーマットに基づき特定された個社定義情報を用いて抽出された項目「請求元」の項目値が表示される。
表示欄506aでは、請求元の項目値として、「A株式会社」が表示されている。これに対し、表示欄502に表示された帳票画像おける請求元を示す領域502aには、「R株式会社」と表示されており、両者が一致しない。
このことから、図16の例では、帳票認識において、請求元の項目値が誤認識された状態となる。
この誤認識は、請求元「A株式会社」と対応するフォーマット情報が示すフォーマットが、表示欄502に表示された帳票画像のフォーマットと類似していることに起因する。
言い換えれば、図16は、表示欄502に表示された帳票画像のフォーマットから請求元「A株式会社」が特定され、請求元「A株式会社」と対応する個社定義情報を用いた帳票認識が行われた結果として、請求元が誤認識された例である。
これに対し、図17を参照して、本実施形態を適用した場合について説明する。図17は、本実施形態の効果を説明する第二の図である。
図17の例においても、表示欄502に表示された帳票画像のフォーマットに基づき、発行元が「A株式会社」の個社定義情報が特定されたとする。
この場合、本実施形態では、個社定義情報がフォーマットに基づき特定されたため、個社定義情報を用いて抽出した項目名「請求元」の項目値「A株式会社」が、法人名辞書データベース267に格納されているか否かを判定する。
ここでは、法人名辞書データベース267に、項目値「A株式会社」が格納されていなかったとする。その場合、本実施形態では、個社定義情報と共に帳票定義データベース250から取得した汎用定義情報を用いて、帳票画像データから項目名「請求元」の項目値を抽出し、項目名「請求元」と対応付けて認識結果データとする。
その結果、画面501Aの表示欄506bには、汎用定義情報を用いて抽出された項目値「R株式会社」が、項目名「請求元」と対応付けられて表示される。
本実施形態では、このように、帳票認識に用いる個社定義情報の特定の仕方に応じて、帳票の発行元の項目値を決定するため、個社定義情報の特定の仕方に起因する帳票の誤認識の発生を抑制できる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。
ある実施形態では、サーバ装置200は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、サーバ装置200は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
さらに、サーバ装置200は、開示された処理ステップを様々な組み合わせで共有するように構成できる。例えば、サーバ装置200によって実行されるプロセスは、他のサーバ装置によって実行され得る。同様に、サーバ装置200の機能は、他のサーバ装置によって実行することができる。また、サーバ装置と他のサーバ装置の各要素は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
また、明細書中のデータベースは、機械学習の学習効果によって生成されたものでもよい。また、取引内容の記載に含まれうるキーワードと勘定項目とを機械学習にて分類付けすることで、対応テーブルを使用しなくてもよい。
ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり、コンピュータが、データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。