以下に図面を参照して、実施形態について説明する。図1は、帳票認識システムのシステム構成の一例を示す図である。
本実施形態の帳票認識システム100は、サーバ装置200、画像形成装置300、端末装置400を有する。本実施形態の帳票認識システム100において、サーバ装置200と、画像形成装置300と、端末装置400とは、ネットワークを介して接続される。本実施形態の帳票認識システム100は、情報処理システムの一例である。
また、本実施形態の端末装置400は、例えば、ネットワークを介して基幹システム500と接続される。基幹システム500とは、例えば、本実施形態の帳票認識システム100において帳票を認識した結果を用いて、特定の処理を行うシステムである。具体的には、例えば、基幹システム500は、会計システムや、見積もり作成システム等であっても良い。
本実施形態の帳票認識システム100において、サーバ装置200は、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を示す画像データから、帳票に含まれる項目名と項目値とを抽出し、項目名と項目値とを対応付けたテキストデータとする。
以下の説明では、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を帳票画像と呼び、帳票画像を示す画像データを帳票画像データと呼ぶ。
また、以下の説明では、帳票画像に含まれる項目名と、この項目値とを抽出し、項目名と項目値とをテキストデータに変換して対応付けることを、帳票認識と呼ぶ。
また、本実施形態の帳票認識システム100は、帳票認識の結果として取得された項目値を、基幹システム500と対応するフォーマットに従った順に並べた出力データを生成し、基幹システム500へ出力する。
また、本実施形態では、基幹システム500に出力された出力データと、帳票認識の結果とに基づき、帳票認識の結果として取得された項目値と、基幹システム500と対応するフォーマットにおける項目値の位置との対応関係を学習し、対応関係を示す対応付け情報を生成する。つまり、本実施形態の対応付け情報とは、帳票認識によって得られた項目名毎の項目値の出力順を示す情報である。
本実施形態のサーバ装置200は、記憶部210と、帳票認識処理部220と、出力データ生成部230と、対応付け学習部240と、を有する。
記憶部210には、帳票画像データベース250、認識結果データベース260、出力データベース270、マスタデータベース280、対応付けデータベース290が設けられている。
帳票画像データベース250は、帳票画像データが格納される。認識結果データベース260は、帳票認識処理部220による帳票認識の結果を示す情報である認識結果データが格納される。
出力データベース270は、出力データ生成部230により、認識結果データに基づき生成され、基幹システム500に対して出力された出力データが格納される。つまり、出力データベース270に格納される出力データは、基幹システム500に対して出力された出力済みのデータである。本実施形態の出力データは、認識結果データベース260に格納された項目名毎の項目値を並べたデータであり、具体的には、例えば、CSV形式のデータである。
マスタデータベース280は、基幹システム500と対応したデータであり、認識結果データの確認画面を表示させる際に参照されるデータである。
対応付けデータベース290は、認識結果データベース260に格納された情報と、出力データベース270に格納された出力データと、に基づき、出力データにおける、帳票認識によって抽出された項目値の位置を示す対応付け情報が格納される。
本実施形態の帳票認識処理部220は、帳票画像データベース250に格納された帳票画像データを取得し、帳票に含まれる項目名と項目値とを抽出し、項目名と項目値とを対応付けたテキストデータとする。また、帳票認識処理部220は、帳票認識の結果に対して、各種の入力を受け付ける。
具体的には、帳票認識処理部220は、帳票画像データと、と帳票認識の結として果取得したテキストデータと、マスタデータベース280に格納されたマスタデータに基づく入力欄とを含む画面を、帳票認識の認識結果の確認画面として表示させる。そして、帳票認識処理部220は、この確認画面に対する各種の入力を受け付ける。
以下の説明では、請求書を帳票の一覧として説明する。本実施形態の確認画面は、例えば、帳票画像が表示される表示欄と、項目名と項目値とを対応付けたテキストデータが表示される表示欄と、マスタデータに含まれる項目名に対する項目値を入力させる入力欄とを含む。
帳票画像は、請求書の画像である。テキストデータは、請求書に関する情報(以下、請求書情報)、請求書の明細部に記載された明細に関する情報(以下、明細情報)を含む。
請求書情報は、例えば、請求書の発行元、請求日、請求先等を示す情報である。言い換えれば、請求書情報とは、帳票画像の元となる帳票(請求書)の発行元に関する情報の一例である。
明細情報は、帳票の明細部に記載された明細項目名と、明細項目値とを対応付けた情報である。
また、入力欄は、仕訳情報を入力するための入力欄である。仕訳情報は、ユーザが、帳票画像(請求書の画像)を参照して、明細の内容等を確認しながら、マスタデータから入力する値を選択することで、入力される。
本実施形態における認識結果データは、帳票画像データから抽出された請求書情報及び明細情報と、ユーザの操作により入力された仕訳情報とを含む。確認画面の詳細は後述する。
尚、帳票は、請求書に限定されるものではなく、納品書や見積書、仕入れ伝票等であってもよい。
出力データ生成部230は、対応付けデータベース290を参照し、帳票認識の結果として取得された項目値を、基幹システム500と対応するフォーマットに従った順に並べた出力データを生成し、基幹システム500へ出力する。
対応付け学習部240は、基幹システム500に出力された出力データと、帳票認識の結果とに基づき、帳票認識の結果として取得された項目値と、基幹システム500と対応する。
本実施形態の帳票認識システム100において、画像形成装置300は、スキャナ機能を有する複合機である。画像形成装置300は、コピー機能、FAX機能、スキャナ機能等を実現するためのアプリケーションが搭載されており、各機能と対応するアプリケーションを選択することで、これらの機能が実現される。
本実施形態の端末装置400は、帳票認識システム100を利用する利用者によって使用される。また、端末装置400には、サーバ装置200による帳票認識の結果が表示されても良い。
尚、本実施形態における利用者とは、例えば、帳票認識システム100が提供するサービスを利用するための契約を締結している事業所や企業、団体等である。
尚、図1の例では、サーバ装置200は、記憶部210内に5つのデータベースを有する構成としたが、これに限定されない。各データベースは、一部がサーバ装置200の外部装置に設けられていても良いし、各データベース全てが外部装置に設けられていても良い。
また、図1の例では、サーバ装置200が帳票認識処理部220、出力データ生成部230、対応付け学習部240を実現するものとしたが、これに限定されない。帳票認識処理部220、出力データ生成部230、対応付け学習部240は、複数の情報処理装置によって実現されても良い。
また、図1の例では、帳票認識システム100に含まれる画像形成装置300と端末装置400とは、それぞれ1台としているが、帳票認識システム100に含まれる画像形成装置300と端末装置400の台数は、任意の数であって良い。
また、図1の例では、帳票認識システム100からの出力データの出力先は、基幹システム500としたが、帳票認識システム100からの出力データの出力先となる基幹システム500は、複数存在してもよい。
また、図1の例では、本実施形態の帳票認識システム100に画像形成装置300が含まれるものとしたが、これに限定されにない。画像形成装置300は、帳票認識システム100に含まれなくてもよい。
次に、図2を参照して、本実施形態のサーバ装置200のハードウェア構成について説明する。図2は、サーバ装置のハードウェア構成の一例を示す図である。
本実施形態のサーバ装置200は、コンピュータによって構築されており、図2に示されているように、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random access memory)203、HD(Hard Disk)204、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、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に対するデータの読み出し又は書き込み(記憶)を制御する。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の有する認識結果データベース260、出力データベース270、マスタデータベース280、対応付けデータベース290について説明する。
図4は、認識結果データベースの一例を示す図である。本実施形態の認識結果データベース260は帳票画像データから抽出されたテキストデータ260-1と、ユーザにより入力された仕訳情報260-2と、を含む。
テキストデータ260-1は、項目名と、項目値とが対応付けられている。また、図4の例では、項目名と項目値に、項目値の種別を示す情報が対応付けられている。また、テキストデータには、項目名と項目値に、帳票画像における項目名と項目値の位置を示す情報が対応付けられていてもよい。
具体的には、テキストデータ260-1は、項目名である「請求元」と、項目値である「○○××センター」が対応付けられたデータ、項目名である「請求日」と項目値である「2018/7/20」とが対応付けられたデータ、項目名である「請求金額税抜き」と項目値である「119,600」とが対応付けられたデータ」等を含む。
仕訳情報260-2は、仕訳情報に含まれる各レコードを特定するためのIDと、仕訳項目と対応する項目値とが対応付けられている。
具体的には、仕訳情報260-2において、レコードID「1」の仕訳情報では、仕訳項目「金額」と項目値「119,600」とが対応付けられており、仕訳項目「科目コード」と項目値「0001」とが対応付けられており、仕訳項目「部品コード」と項目値「12345678」とが対応付けられている。
図5は、出力データベースの一例を示す図である。本実施形態の出力データベース270は、帳票画像データ毎の認識結果データに含まれる項目値を、基幹システム500のフォーマットに従って並べた出力データが格納される。つまり、出力データベース270は、出力データが記憶されている出力データ記憶部の一例である。
図5の例では、「○○××センター」、「2018/7/20」、「119,600」、・・・となっており、テキストデータ260-1における項目値が順に並べられていることがわかる。図5に示す出力データは、例えば、CSV形式のデータである。
図6は、マスタデータベースの一例を示す図である。本実施形態のマスタデータベース280には、基幹システム500毎のマスタデータが格納される。つまり、本実施形態のマスタデータベース280は、マスタデータが格納されたマスタ記憶部の一例である。本実施形態では、マスタデータは、仕訳項目と、仕訳項目の項目値とを対応付けたデータである。
図6の例では、マスタデータベース280-1と、マスタデータベース280-2とを示す。
マスタデータベース280-1は、例えば、仕訳項目として、勘定科目コード、勘定科目名称、インデックス等を含み、各仕訳項目について、仕訳項目の項目値となり得る値が対応付けられている。マスタデータ280-1は、仕訳項目「勘定科目コード」と、他の仕訳項目とが対応付けられた、勘定科目に関する勘定科目マスタデータと言える。
マスタデータベース280-2は、例えば、仕訳項目として、勘定科目コード、補助科目コード、補助科目名称等を含み、各仕訳項目について、仕訳項目の項目値となり得る値が対応付けられている。マスタデータ280-2は、仕訳項目「補助科目コード」と、他の仕訳項目とが対応付けられた、補助科目コードに関する補助科目マスタデータと言える。
尚、図6の例では、1つの基幹システム500に対応するマスタデータを例として説明したが、帳票認識システム100が複数種類の基幹システム500に対して、出力データを提供する場合には、マスタデータベース280には、各基幹システム500に対応したマスタデータ群が格納される。
図7は、対応付けデータベースの一例を示す図である。本実施形態の対応付けデータベース290は、基幹システム500毎に、出力データとされる項目値と、項目値の並び順とを対応付けた対応付け情報が格納される。つまり、本実施形態の対応付けデータベース290は、対応付け情報が格納された対応付け記憶部の一例である。
また、本実施形態の対応付け情報は、言い換えれば、認識結果データに含まれる項目値の出力順を示す情報である。
図7の例では、出力データの先頭の項目値が日付の形式の値であり、次に出力される項目値が「勘定科目マスタデータ」の仕訳項目の1項目の項目値であり、その次に出力される項目値が仕訳項目「補助科目マスタデータ」の2項目の項目値であることを示す。
「勘定科目マスタデータ」の仕訳項目の1項目の項目値とは、仕訳項目「勘定科目コード」の項目値であり、「補助科目マスタデータ」の2項目とは、仕訳項目「補助科目コード」の項目値である(図6参照)。
尚、本実施形態の対応付け情報は、例えば、対応する基幹システム500を特定する識別情報等を含んでもよい。
次に、図8を参照して、本実施形態のサーバ装置200の機能について説明する。図8は、サーバ装置の機能を説明する図である。
本実施形態のサーバ装置200では、例えば、HD204等に格納された情報処理プログラムをCPU201が読み出して実行することで、後述する各部の機能が実現される。
本実施形態のサーバ装置200は、帳票認識処理部220、出力データ生成部230、操作受付部235、対応付け学習部240、通信部245を有する。
帳票認識処理部220は、入力受付部221、認証処理部222、帳票認識部223を有する。
入力受付部221は、サーバ装置200に対する各種の入力を受け付ける。具体的には、入力受付部221は、帳票認識システム100にログインするための認証情報の入力を受け付ける。認証情報とは、例えば、利用者IDとパスワード等である。また、入力受付部221は、例えば、画像形成装置300から送信された帳票画像データの入力を受け付ける。
また、入力受付部221は、通信部245を介してサーバ装置200に対する入力を受け付けてもよいし、サーバ装置200に対して直接行われた入力を受け付けても良い。具体的には、例えば、入力受付部221は、仕訳情報等の入力を受け付ける。
認証処理部222は、入力受付部221が入力を受け付けた認証情報に基づき、認証を行う。尚、認証処理部222は、例えば、サーバ装置200の外部に設けられた認証サーバに対して、入力された認証情報を送信し、認証サーバによる認証の結果を取得してもよい。認証処理部222は、利用者が認証されると、入力受付部221が受け付けた帳票画像データを帳票認識部223に渡してもよい。
本実施形態の帳票認識部223は、画像データ格納部271、ジョブリスト生成部272、画像データ取得部273、前処理部274、文字認識部275、項目抽出部276、表示画面生成部277、出力部278を有する。
画像データ格納部271は、入力受付部221が、画像形成装置300から通信部245を介して帳票画像データを受信すると、帳票画像データベース250に格納する。
ジョブリスト生成部272は、入力受付部221が、通信部245を介して画像形成装置300から帳票画像データの入力を受け付けると、ジョブリストにジョブを登録し、ジョブリストを管理する。ジョブリストの詳細は後述する。
画像データ取得部273は、帳票画像データベース250に格納された帳票画像データを取得する。前処理部274は、画像データ取得部273が取得した帳票画像データに対して、帳票認識を行うための前処理を行う。
文字認識部275は、帳票画像データから、文字列と、文字列が配置された位置を示す情報とを抽出し、読取結果データとして保持する。読取結果データの詳細は後述する。
項目抽出部276は、読取結果データに基づき、帳票画像データに含まれる項目と、項目の値とを抽出して対応付けを行った認識結果データを生成し、認識結果データベース260へ格納する。尚、本実施形態の認識結果データは、帳票に記載された帳票の発行元を示す情報(発行元情報)等を含む。つまり、認識結果データには、帳票に記載された文字列が示す情報が含まれる。
表示画面生成部277は、認識結果データベース260に格納された認識結果データを用いて、認識結果の確認画面を生成する。
出力部278は、表示画面生成部277が生成した認識結果の確認画面を、通信部245を介して出力する。言い換えれば、出力部278は、表示画面生成部277が生成した認識結果の確認画面を、通信部245を介して端末装置400のウェブブラウザ上で表示させる。
本実施形態の出力データ生成部230は、対応付けデータベース290を参照し、認識結果データから出力データを生成する。また、出力データ生成部230は、出力データを、通信部245を介して基幹システム500へ出力する。
さらに、出力データ生成部230は、基幹システム500に出力された出力データを、出力済みの出力データとして、出力データベース270に格納する。
操作受付部235は、通信部245を介して、端末装置400のウェブブラウザ上に表示された画面に対して入力された操作を受け付ける。より具体的には、本実施形態では、通信部245が端末装置400から操作を示す情報を受信し、操作受付部235が、通信部245が受信した情報の入力を受け付ける。
本実施形態の対応付け学習部240は、データ取得部241、データ形式判定部242、検索部243、対応付け部244、エラー訂正部247を有する。
データ取得部241は、対応付け学習部240の処理に用いられる各種のデータを取得する。具体的には、データ取得部241は、出力データベース270に格納された出力データと、認識結果データベース260に格納された認識結果データ(テキストデータと仕訳情報とを含む)とを取得する。また、データ取得部241は、マスタデータベース280から、基幹システム500と対応するマスタデータを取得する。
データ形式判定部242は、データ取得部241が取得した出力データに含まれる項目値のデータの形式を判定する。具体的には、データ形式判定部242は、出力データに含まれる項目値が、日付を示す形式のデータであるか否かを判定する。
検索部243は、出力データに含まれる項目値によって、データ取得部241が取得した認識結果データとマスタデータとを検索し、項目値と対応する項目名を特定する。
対応付け部244は、検索部243による検索によって特定された項目名と、出力データにおける項目値の位置と対応付けて、対応付けデータベース290に格納する。出力データにおける項目値の位置とは、出力データにおける項目値の並び順を示す。
エラー訂正部247は、出力データ生成部230によって生成された出力データに対し、基幹システム500からエラーが通知された場合に、出力データの訂正及び対応付け情報の更新を行う。
本実施形態の通信部245は、例えば、ネットワークI/F209等によって実現される機能であり、サーバ装置200と外部装置との間でデータの送受信を行う。具体的には、例えば、通信部245は、端末装置400に対して、画面の表示を指示する通知を送信する。また、通信部245は、基幹システム500に対して、出力データを送信する。
次に、図9を参照して、本実施形態の端末装置400の機能について説明する。図10は、端末装置の機能を説明する図である。
後述する各部の機能は、端末装置400の有するCPU401が、ROM402等に格納されたプログラムを読み出して実行することで実現される。
本実施形態の端末装置400は、入力受付部431、表示制御部432、通信部433を有する。
入力受付部431は、表示制御部432によって端末装置400のウェブブラウザ上に表示された画面に対する入力を受け付ける。
表示制御部432は、端末装置400のディスプレイ418の表示を制御する。具体的には、表示制御部432は、サーバ装置200からの指示に応じた画面をディスプレイ418(表示部)に表示させる。
通信部433は、遠距離通信回路412、遠距離通信回路412のアンテナ412a等によって実現される機能であり、端末装置400と他の装置との間でデータの送受信を行う。
以下に、図10を参照して、本実施形態の帳票認識システム100の動作について説明する。図10は、帳票認識システムの動作を説明するシーケンス図である。
帳票認識システム100において、画像形成装置300は、利用者から帳票認識を行うためのアプリケーションの起動要求を受け付けると(ステップS1001)、このアプリケーションを起動させる(ステップS1002)。
続いて、画像形成装置300は、利用者から認証情報の入力を受け付けると(ステップS1003)、この認証情報をサーバ装置200へ送信し、認証要求を行う(ステップS1004)。
サーバ装置200は、認証要求を受けて、認証処理部222により認証を行い、その結果を画像形成装置300へ通知する(ステップS1005)。尚、ここでは、利用者が認証された場合の動作を示している。
続いて、画像形成装置300は、帳票のスキャン指示を受け付け(ステップS1006)、帳票のスキャンを行い、帳票画像データを取得する(ステップS1007)。続いて、画像形成装置300は、帳票画像データをサーバ装置200へ送信する(ステップS1008)。
サーバ装置200は、入力受付部221が帳票画像データの入力を受け付けると、認証処理部222がこの帳票画像データを帳票認識部223へ渡す(ステップS1009)。尚、図10の例では、認証処理部222を介して帳票画像データが帳票認識部223へ渡されるものとしたが、これに限定されない。帳票画像データは、認証処理部222を介さずに帳票認識部223に渡されても良い。
サーバ装置200の帳票認識部223は、帳票画像データを受け取ると、ジョブリスト生成部272により、ジョブリストにジョブを登録する(ステップS1010)。続いて、帳票認識部223は、画像データ格納部271により、帳票画像データを帳票画像データベース250へ格納する(ステップS1011)。
続いて、帳票認識部223は、画像データ取得部273により、帳票画像データベース250から認識する対象となる帳票画像データを取得し(ステップS1012)、帳票画像を認識する処理を実行する(ステップS1013)。ステップS1012の処理の詳細は後述する。
続いて、帳票認識部223は、項目抽出部276が生成した認識結果データを認識結果データベース260に格納する(ステップS1014)。
帳票認識システム100において、端末装置400は、入力受付部431により、利用者からのブラウザの表示指示の入力を受け付けると(ステップS1015)、通信部433を介して、サーバ装置200に対して認識結果データを表示させるブラウザの表示要求を行う(ステップS1016)。
また、端末装置400は、入力受付部431により、利用者から認証情報の入力を受け付けて(ステップS1017)、通信部433により、この認証情報をサーバ装置200へ送信する(ステップS1018)。
サーバ装置200は、認証処理部222により、利用者の認証を行い(ステップS1019)、その結果を端末装置400へ通知し、ジョブリストの一覧を端末装置400に表示させる(ステップS1020)。尚、ここでは、利用者が認証された場合の処理を示す。
続いて、端末装置400は、入力受付部431により、ジョブリストの一覧からジョブの選択を受け付けると(ステップS1021)、この選択を、帳票画像の認識結果の閲覧指示として、通信部433により、サーバ装置200に対して閲覧要求を行う(ステップS1022)。
サーバ装置200は、閲覧要求を受けて、認識結果データベース260に格納されている認識結果データを取得し(ステップS1023)、認識結果の確認画面を生成して端末装置400のブラウザ上に表示させ(ステップS1024)、利用者に、表示された認識結果の確認画面で認識結果を確認させる。尚、本実施形態では、確認画面において、仕訳情報が入力される。
続いて、端末装置400は、入力受付部431により、認識結果に基づく出力データの生成指示を受け付けると(ステップS1025)、出力指示をサーバ装置200へ送信する(ステップS1026)。
サーバ装置200は、生成指示を受け付けると、出力データ生成部230により、認識結果データに基づく出力データを生成し(ステップS1027)、記憶部210の出力データベース270に登録(格納)する(ステップS1028)。
尚、本実施形態のサーバ装置200は、出力データを出力データベース270に格納する前に、基幹システム500に対して出力データを出力してもよい。つまり、ステップS1028において、サーバ装置200は、生成した出力データを基幹システム500へ送信し、送信された出力データを、出力済みの出力データ(基幹システム500に対して提供済みの出力データ)として、出力データベース270に格納してもよい。
ここで、図11を参照して、本実施形態のジョブリスト生成部272により生成されるジョブリストについて説明する。図11は、ジョブリストの一例を示す図である。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データが入力されると、ジョブリスト生成部272により、帳票画像データとジョブIDとを対応付けたジョブリストとして保持する。
本実施形態のジョブリスト101は、情報の項目として、ジョブID、利用者ID、帳票画像ファイルパス、認識結果ファイルパス、ステータスを有する。
項目「ジョブID」の値は、ジョブを特定する識別子である。言い換えれば、項目「ジョブID」の値は、画像形成装置300から受信した帳票画像データを特定するための識別子である。
項目「利用者ID」の値は、帳票認識システム100にログインした利用者を特定するための識別子である。
項目「画像ファイルパス」の値は、帳票画像データが格納されている場所を示す情報である。項目「認識結果ファイルパス」の値は、帳票画像を認識した結果の認識結果データが格納されている場所を示す情報である。
項目「ステータス」の値は、帳票画像の認識の進捗を示す。言い換えれば、項目「ステータス」の値は、ジョブの状態を示す。
本実施形態では、項目「ステータス」の値として、未処理状態、下書き保存状態、確定済み状態、外部出力済み状態の4つがある。各状態は、以下の通りである。
・未処理状態(状態1) 帳票認識によって認識結果データが取得された直後であり、認識結果の確認等が行われていない状態。
・下書き保存状態(状態2) 認識結果データの確認等の作業の途中等であり、認識結果データが確定される前の状態。
・確定済み状態(状態3) 認識結果データの確認等の作業が完了し、確定された情報として認識結果データベース260へ格納された状態。確定済み状態の認識結果データには、仕訳情報が含まれる。
・外部出力済み状態(状態4) 帳票認識システム100と連携する会計システム等の基幹システム500に対し、認識結果データから生成された出力データの送信が完了した状態。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データを受信すると、ジョブリスト生成部272により、ジョブIDを付与し、認証情報として取得した利用者IDを対応付けて、ジョブリスト101にレコードを追加する。そして、ジョブリスト生成部272は、帳票画像データが帳票画像データベース250に格納されると、この格納先を示す情報を項目「画像ファイルパス」の値として、追加する。
さらに、ジョブリスト生成部272は、認識結果データが認識結果データベース260に格納されると、この格納先を示す情報を項目「認識結果ファイルパス」の値として追加し、項目「ステータス」の値を確定済み状態とする。
本実施形態では、例えば、ジョブリスト生成部272によって生成されたジョブリストを表示しても良い。この場合、利用者は、ジョブリストに基づいて表示されたジョブリスト画面を介して、帳票画像の認識の進捗を確認することができる。
次に、図12を参照して、本実施形態の帳票認識部223の処理について説明する。図12は、帳票認識部の処理を説明するフローチャートである。図12では、図10のステップS1013の処理の詳細を示している。また、図12では、複数の帳票画像データを画像形成装置300から受け取った場合の処理を示している。
本実施形態の帳票認識部223は、ジョブリストから1つのジョブの選択を受け付けると(ステップS1201)、前処理部274により、画像データ取得部273が取得した帳票画像データに対して、帳票認識を行うための前処理を行う(ステップS1202)。前処理とは、具体的には、例えば、帳票画像の向きを揃える補正処理等である。
続いて、帳票認識部223は、文字認識部275により、帳票画像から、文字が形成されている領域(以下、文字フィールド)の中の文字を切り取り、文字認識する(ステップS1203)。このとき、文字認識部275は、切り出した文字の位置を示す座標も取得する。
続いて、帳票認識部223は、文字認識部275により認識された各文字列の位置関係に基づいて読取結果データを生成して、保持する(ステップS1204)。
具体的に、帳票認識部223は、認識された各文字の座標に基づいて、互いの距離が予め設定された閾値以内の文字を1つの文字列として認識し、文字列(キーワード)と、文字列が形成された領域の位置を示す座標などの情報とを対応付けて読取結果データを生成する。
続いて、帳票認識部223は、項目抽出部276により、読取結果データに基づき、項目名と項目値に対応する文字列を抽出する(ステップS1205)。
続いて、項目抽出部276は、抽出した項目名と項目値とを対応付けたテキストデータを生成し、認識結果データとして、認識結果データベース260に格納する(ステップS1206)。
続いて、帳票認識部223は、ジョブリスト生成部272により、認識結果データの格納先をジョブリスト101に登録する(ステップS1207)。
続いて、帳票認識部223は、表示画面生成部277により、認識結果データを用いて生成された認識結果の確認画面を端末装置400に表示させ(ステップS1208)、処理を終了する。
尚、図12の例では、認識結果データを表示させる処理までを一連の動作として説明したが、これに限定されない。帳票認識部223は、端末装置400から、認識結果データの閲覧要求を受け付けてから、認識結果データを表示させても良い。
次に、図13を参照して、端末装置400に表示される確認画面について説明する。図13は、認識結果の確認画面の一例を示す図である。
図13に示す画面20は、例えば、端末装置400の表示部に表示された認識結果の確認画面の一例である。
画面20は、表示欄21、22、23、24、入力欄25と、操作ボタン26、27と、を含む。
表示欄21には、帳票画像データが示す帳票画像が表示される。表示欄22には、ジョブの状態を情報が表示される。図13例では、表示欄22には、「未処理」と表示されており、画面20に表示された認識結果データは、未処理状態(状態1)であることがわかる。
表示欄23には、表示欄21に表示された帳票画像から取得された請求書情報が表示される。より具体的には、表示欄23には、請求書情報に含まれる請求元に関する情報や請求金額等が表示される。
表示欄24には、表示欄21に表示された帳票画像から取得された明細情報が表示される。
図13の例では、表示欄21に示す帳票画像には、取引の内訳を示す明細部として、表21aが表示されている。本実施形態の明細情報は、主に、帳票画像に含まれる表21aから抽出された情報であり、表21aに記載された各項目名と、各項目名について、同じ行に記載されていた項目値を対応付けた情報である。
具体的には、例えば、表21aでは、項目名「商品コード」、「商品名」、「数量」、「単価」、「金額」が記載されており、各項目の項目値として、「10845」、「応接テーブル」、「2」、「59,800」、「119,600」が同じ行に記載されている。
したがって、例えば、項目名「商品名」の項目値「応接テーブル」、項目名「金額」の項目値「119,600」等が、明細情報として、表示欄24に表示される。
入力欄25は、仕訳項目の項目値を入力するための複数の入力欄を含む。図13の例では、表示欄22に示す状態が「未処理状態」であり、入力欄25に対する項目値が未入力の状態である。したがって、入力欄25に含まれる入力欄は空欄である。
尚、本実施形態では、例えば、画面20において、仕訳項目を選択する操作が行われると、出力データの送信先となる基幹システム500と対応したマスタデータに基づき、仕訳項目の項目値の一覧がプルダウン表示されてもよい。また、本実施形態では、この一覧から選択された項目値を、仕訳項目の項目値とし、仕訳項目と項目値とを対応付けた仕訳情報とする。したがって、本実施形態の仕訳情報における仕訳項目の項目値は、マスタデータに存在する文字列となる。
そして、本実施形態では、この仕訳情報と、表示欄23、24に表示されたテキストデータ(請求書情報と明細情報)とを、認識結果データとする。
操作ボタン26は、画面20に表示されたジョブの状態を、下書き保存状態に変更するための操作ボタンである。本実施形態では、操作ボタン26が操作されると、ジョブの状態が、未処理状態から、下書き保存状態に変更される。したがって、表示欄22の表示は、未処理から下書き保存に変更される。
操作ボタン27は、ジョブの状態を、確定済み状態に変更するための操作ボタンである。本実施形態では、操作ボタン27が操作されると、表示欄22の表示は、未処理状態又は下書き保存状態から、確定済み状態に変更される。
尚、本実施形態では、操作ボタン27に対する操作を、出力データの生成指示として受け付けてもよい。サーバ装置200は、画面20において、操作ボタン27に対する操作が行われると、画面20に表示されている認識結果データ(請求書情報、明細情報、仕訳情報)から出力データを生成して基幹システム500へ出力し、出力データを出力データベース270に格納した後に、ジョブの状態を確定済み状態としてもよい。
次に、図14を参照して、本実施形態の明細情報の抽出について説明する。図14は、明細情報の抽出を説明する図である。図14(A)に示す情報141は、図13の表示欄21に表示された帳票画像データに対し、文字認識部275による文字認識を行った結果である。
情報141は、帳票画像のうち、明細部(表21a)から文字フィールドを切り取り、文字フィールドの中の文字を認識した結果と、文字の位置を示す座標とから抽出した例を示す。
本実施形態の文字認識部275は、この情報141から、隣り合う位置にある文字同士をつなげて文字列(文字列)を認識する。具体的には、文字認識部275は、文字と文字との間の距離が、所定ピクセル以内である文字の組み合わせを、1つの単語として認識しても良い。
図14(A)示す情報142は、文字認識部275により認識された文字列と、文字列の領域とを示す情報であり、文字認識部275による帳票画像の読取結果データである。
また、文字認識部275は、帳票画像データから、縦線と横線で区切られた領域を1つのセルとして認識し、セル毎にセルを識別する識別情報(セルID)を付与する。
図14(A)に示す情報143は、明細部(表21a)から認識されたセル毎の領域とセルIDとの対応付けを示す情報である。
図14(A)では、例えば、キーワード「商品コード」が認識された領域は、情報142において、X座標とY座標によって示される位置を基準として、高さと幅とから特定される。
また、情報143において、キーワード「商品コード」が認識された領域は、セルID「1」に含まれることがわかる。したがって、キーワード「商品コード」は、明細部(表21a)に含まれるキーワードとして、セルID「1」と対応付けられる。尚、情報143では、キーワード「商品コード」が認識された領域に対してセルIDを対応付けるものとしたが、これに限定されない。セルIDは、キーワードが縦方向に並ぶ列を特定する列IDと、キーワードが横方向に並ぶ行IDとによって特定されても良い。
本実施形態の帳票認識部223は、このようにして、帳票画像データから、キーワード(文字列)とセル(領域)とを対応付ける。
図14(B)に示す情報144は、図13の表示欄21に表示された帳票(請求書)と対応する読取結果データに基づき生成された、明細情報である。したがって、図14(B)に示す明細情報144は、帳票画像データ全体の認識結果データの一部である。
より具体的には、明細情報144は、認識結果データのテキストデータ260-1の一部である(図4参照)。
図14(B)に示す明細情報144は、項目抽出部276によって生成されるものであり、情報の項目として、列ID、項目名、列の座標、行ID、項目値とを有する。
項目「列ID」の値は、明細部(表21a)に含まれる列を特定する識別情報であり、項目「項目名」の値は、表の一番上の行の各セル内のキーワードである。項目「列の座標」の値は、列の座標を示す。尚、本実施形態では、列の座標を、帳票画像における明細の列の左上の点の座標値と右下の点の座標値とする。
項目「行ID」の値は、行を特定する識別情報であり、項目「項目値」の値は、明細項目と対応する項目値を示す。
この明細情報144からわかるように、項目抽出部276は、帳票画像データから、項目名と項目値を抽出して対応付けている。
次に、図15を参照して、本実施形態の出力データ生成部230の処理について説明する。図15は、出力データ生成部の処理を説明するフローチャートである。図15に示す処理は、図10のステップS1027の詳細を示している。
サーバ装置200において、出力データ生成部230は、出力データの出力先となる基幹システム500を特定する(ステップS1501)。具体的には、サーバ装置200は、端末装置400に対して、基幹システム500を選択させる画面を表示させ、端末装置400において、基幹システム500が選択されると、選択された基幹システム500を、出力先の基幹システム500に特定してもよい。
続いて、出力データ生成部230は、変数Mの値を1とする(ステップS1502)。続いて、出力データ生成部230は、対応付けデータベース290において、出力先に特定された基幹システム500と対応する対応付け情報を特定し、特定した対応付け情報においてM個目の項目名を取得する(ステップS1503)。
続いて、出力データ生成部230は、帳票認識処理部220によって取得した認識結果データから、M個目の項目名と対応する項目値を取得する(ステップS1504)。
続いて、出力データ生成部230は、取得した項目値と、M個目の項目値とし(ステップS1505)、対応づけ情報に次の項目名が存在するか否かを判定する(ステップS1506)。
ステップS1506において、次の項目名が存在する場合、出力データ生成部230は、本数Mの値を、M+1として(ステップS1507)、ステップS1503へ戻る。
ステップS1506において、次の項目名が存在しない場合、出力データ生成部230は、項目値を対応づけ情報が示す項目名の順に並べた出力データを、出力先の基幹システム500へ出力し、出力済みの出力データを出力データベース270へ格納して(ステップS1508)、処理を終了する。
尚、出力データを出力先の基幹システム500へ出力する処理と、出力データを出力データベース270へ格納する処理とは、別々のタイミングで行われてもよい。
次に、図16を参照して、対応付け学習部240の処理について説明する。図16は、対応付け学習部の処理を説明するフローチャートである。
サーバ装置200において、対応付け学習部240は、出力データの出力先となる基幹システム500を特定する(ステップS1601)。具体的には、サーバ装置200は、端末装置400に対して、基幹システム500を選択させる画面を表示させ、端末装置400において、基幹システム500が選択されると、選択された基幹システム500を、出力先の基幹システム500に特定してもよい。
続いて、対応付け学習部240は、データ取得部241により、帳票画像データベース250から、帳票画像データを選択する(ステップS1602)。具体的には、データ取得部241は、端末装置400に対し、帳票画像データの一覧を表示させ。端末装置400のユーザに、学習に使用する帳票画像データを選択させることで、帳票画像データを選択してもよい。
ここで選択される帳票画像データは、過去に取得された帳票画像データであり、帳票画像データに基づく帳票認識及び基幹システム500に対する出力データの提供が完了している帳票画像データである。
続いて、データ取得部241は、ステップS1601で特定された基幹システム500と対応するマスタデータをマスタデータベース280から取得する(ステップS1603)。
続いて、データ取得部241は、認識結果データベース260から、選択された帳票画像データと対応する認識結果データを取得する(ステップS1604)。ここで取得される認識結果データには、過去に読み取った帳票画像データから取得された請求書情報と明細情報を含むテキストデータを含む。
続いて、データ取得部241は、選択された帳票画像データと対応する出力データを出力データベース270から取得する(ステップS1605)。ここで取得される出力データは、過去に基幹システム500に対して提供された出力データであり、対応付け情報の学習において、正解とされるデータである。ここで取得される出力データは、例えば、ユーザが、認識結果データを参照して、基幹システム500のフォーマットに合わせて手入力したデータであってもよい。
尚、本実施形態では、帳票画像データと、この帳票画像データに基づき取得された認識結果データと、この認識結果データから生成された出力データとは、それぞれを対応づける識別上運転室10が付与されていてもよい。データ取得部241は、帳票画像データが選択されると、選択された帳票画像データと対応する識別情報を含む認識結果データと、出力データとを取得すればよい。
続いて、対応付け学習部240は、変数Nの値を1とする(ステップS1606)。続いて、対応付け学習部240は、データ形式判定部242により、ステップS1605で取得した出力データのN番目の項目値のデータの形式が、日付の形式であるか否かを判定する(ステップS1607)。ステップS1607において、データの形式が日付の形式であった場合、対応付け学習部240は、後述するステップS1620へ進む。
ステップS1607において、データの形式が日付の形式でなかった場合、対応付け学習部240は、検索部243により、出力データのN番目の項目値を検索キーとして、ステップS1604で取得した認識結果データに含まれるテキストデータを検索する(ステップS1608)。
続いて、検索部243は、テキストデータに、検索キーと一致する文字列が存在するか否を判定する(ステップS1609)。言い換えれば、検索部243は、テキストデータに、出力データのN番目の項目値と一致する文字列が存在するか否かを判定する。
ステップS1609において、該当する文字列が存在する場合、対応付け学習部240は、対応付け部244により、該当する文字列(N番目の項目値と一致する文字列)と対応する項目名と、Nの値とを対応付けて、対応付けデータベース290に記憶させ(ステップS1610)、ステップS1612へ進む。
つまり、ここでは、認識結果データに含まれる該当する文字列と対応する項目名と、この項目名の項目値の出力データにおける位置とを対応付けている。尚、ここでは、完全一致する文字列を、小貝等する文字列としてもよいし、部分一致する文字列を該当する文字列としてもよい。
ステップS1609において、該当する文字列が存在しない場合、対応付け学習部240は、対応付け部244により、出力データのN番目の項目値を固定値として、Nの値と対応付けて対応付けデータベース290に記憶させ(ステップS1611)、ステップS1612へ進む。
続いて、対応付け学習部240は、検索部243により、出力データのN番目の項目値を検索キーとして、ステップS1603で取得したマスタデータを検索する(ステップS1612)。
続いて、検索部243は、マスタデータに、検索キーと一致する文字列が存在するか否を判定する(ステップS1613)。つまり、ここでは、出力データのN番目の項目値が、仕訳項目の項目値として、マスタデータから選択されたものであるか否かを判定している。
ステップS1613において、該当する文字列が存在する場合とは、出力データのN番目の項目値が、仕訳項目の項目値として、マスタデータから選択されたものであることを示し、該当する文字列が存在しない場合とは、出力データのN番目の項目値が、マスタデータから選択されたものではないことを示す。
ステップS1613において、該当する文字列が存在しない場合、対応付け学習部240は、後述するステップS1617へ進む。
ステップS1613において、該当する文字列が存在する場合、対応付け部244は、対応付けデータベース290において、N番目の値として固定値が記憶されているか否かを判定する(ステップS1614)。
ステップS1614において、N番目の値に固定値が記憶されていない場合、対応付け部244は、後述するステップS1616へ進む。
ステップS1614において、N番目の値に固定値が記憶されている場合、対応付け部244は、固定値を削除する(ステップS1615)。
続いて、対応付け部244は、マスタデータにおいて、該当する文字列(N番目の項目値と一致する文字列)と対応する項目名と、Nの値とを対応付けて、対応付けデータベース290に記憶させ(ステップS1616)、ステップS1617へ進む。
つまり、ここでは、マスタデータに含まれる該当する文字列と対応する項目名と、この項目名の項目値の出力データにおける位置とを対応付けている。
続いて、対応付け学習部240は、取得した出力データに含まれる全ての項目値について、処理を行ったか否かを判定する(ステップS1617)。
ステップS1617において、全ての項目値について処理を行った場合、対応付け学習部240は、処理を終了する。
ステップS1617において、全ての項目値について処理を行っていない場合、対応付け学習部240は、Nの値をN+1とし(ステップS1618)、ステップS1607へ戻る。
ステップS1607において、データの形式が日付の形式であった場合、対応付け学習部240は、検索部243により、テキストデータを日付の形式で検索する(ステップS1619)。言い換えれば、検索部243は、テキストデータにおける、日付の形式のデータを、出力データのN番目の日付で検索する。
続いて、検索部243は、テキストデータに一致する日付が存在するか否かを判定する(ステップS1620)。
ステップS1620において、該当する日付が存在しない場合、対応付け学習部240は、後述するステップS1622へ進む。
ステップS1620において、該当する日付が存在する場合、対応付け部244は、テキストデータにおける該当する日付の項目名と、N番目の値とを対応付けて、対応付けデータベース290に記憶させる(ステップS1621)。
続いて、検索部243は、マスタデータを日付の形式で検索する(ステップS1622)。言い換えれば、検索部243は、マスタデータにおける、日付の形式のデータを、出力データのN番目の日付で検索する。
続いて、検索部243は、マスタデータに一致する日付が存在するか否かを判定する(ステップS1623)。
ステップS1623において、該当する日付が存在する場合、対応付け部244は、マスタデータにおける該当する日付の項目名と、N番目の値とを対応付けて、対応付けデータベース290に記憶させ(ステップS1624)、ステップS1619へ進む。
ステップS1623において、該当する日付医が存在しない場合、対応付け部244は、対応付けデータベース290において、N番目と対応する項目名が記憶されているか否かを判定する(ステップS1625)。つまり、ここでは、テキストデータに、該当する日付が存在したか否かを判定している。
ステップS1625において、N番目と対応する項目名が記憶されている場合、対応付け学習部240は、ステップS1619へ進む。
ステップS1625において、N番目と対応する項目名が記憶されていない場合、対応付け学習部240は、対応付け部244により、N番目の値に、項目名「会計計上日」を対応付けて対応付けデータベース290に格納し(ステップS1626)、ステップS1619へ進む。
このように、本実施形態では、過去の帳票画像データと、過去に基幹システム500に提供した出力データとを用いて、帳票認識において取得された項目名と、出力データにおける項目名の位置との対応づけを学習することができる。
より具体的には、本実施形態では、帳票画像データから抽出された項目と項目値とを対応づけたテキストデータ(請求書情報と明細情報を含む)と、過去に基幹システム500に提供された出力データと、に基づき、出力データにおける、テキストデータに含まれる項目名の位置を学習することができる。
また本実施形態によれば、仕訳情報を入力するためのマスタデータと、基幹システム500に提供された出力データと、に基づき、出力データにおける、仕訳情報に含まれる仕訳項目の位置を学習することができる。
さらに、本実施形態では、学習した結果である対応付け情報を対応付けデータベース290に格納し、保持する。したがって、本実施形態によれば、新たに帳票画像データを取得した際には、対応付け情報を参照することで、認識結果データから、基幹システム500のフォーマットに対応した出力データを自動で生成することができる。
また、本実施形態では、例えば、検索結果として、テキストデータやマスタデータから、複数の文字列が得られた場合や、図16の処理を繰り返し行った場合等には、Nの値と対応付けられる項目名は、複数となる。
この場合、対応付け部244は、Nの値と対応付けられる複数の項目名に、重みを付加し、対応付け情報において、Nの値と、複数の項目名と、各項目名の重みと、を対応付けてもよい。
項目名毎の重みは、例えば、検索部243による検索結果として取得される回に応じて、項目名に重み付けを行ってもよい。この場合、検索結果として取得される回数が多い項目値ほど、重みが大きくなる。
本実施形態では、出力データ生成部230により、重みが付加された対応付け情報を参照する場合、図15のステップS1503において、対応付け情報において、Mの値と対応付けられた項目名のうち、最も重みが大きい項目名を取得すればよい。
このようにすれば、対応付け学習部240により、対応付け情報が更新された場合でも、最新の学習結果に応じて出力データを自動で生成することができる。したがって、本実施形態によれば、帳票認識システム100によって抽出されたデータを、基幹システム500に追加する際に、手入力等を行う必要がなく、簡単に基幹システム500のフォーマットに合わせた出力データを生成することができる。
次に、図17図18を参照して、本実施形態の表示例について説明する。図17は、表示例を説明する第一の図である。
図17に示す画面171は、対応付け学習部240による学習の実行を指示するための画面の例であり、例えば、図16のステップS1601において、端末装置400のディスプレイ等に表示される。
画面171は、入力欄172、173、174、175と、操作ボタン176とを有する。
入力欄172は、出力データの出力先となる基幹システム500を特定するためのものであり、入力欄173は、帳票画像データを選択するためのものである。また、入力欄174は、マスタデータを選択するためのものであり、入力欄175は、出力済みの出力データを選択するためのものである。
本実施形態では、入力欄172において、出力先の基幹システム500が特定され、入力欄173において、帳票画像データが選択されると、入力欄173と入力欄174に、帳票画像データと対応するマスタデータ、出力データとが自動的に選択されて、それぞれのファイル名が表示されてもよい。
また、画面171では、入力欄173と入力欄174のそれぞれに対し、ユーザによって、ドラッグアンドドロップ操作などによって、マスタデータと出力データとが入力されても良い。
本実施形態では、入力欄172~175が入力された、操作ボタン176が操作されると、図16の処理が実行されてもよい。
尚、画面171は、端末装置400以外の装置に表示されてもよい。例えば、画面171は、サーバ装置200の有するディスプレイ等に表示されてもよいし、画像形成装置300の操作部等に表示されてもよい。
図18は、表示例を示す第二の図である。図18に示す画面181は、出力データ生成部230によって生成された出力データを訂正するための画面の例である。
本実施形態では、出力データ生成部230によって生成された出力データが、基幹システム500のフォーマットに合致していない場合に、基幹システム500から、帳票認識システム100に対してエラーが通知される。
そこで、本実施形態の対応付け学習部240は、基幹システム500からエラーの通知を受け付けると、エラー訂正部247により、端末装置400等に画面181を表示させて、エラーとされた出力データの訂正を受け付ける。
画面181は、入力欄182、表示欄183、184と、操作ボタン185とを有する。
入力欄182は、訂正対象の出力データを特定するための情報が入力される。具体的には、入力欄182には、出力データを特定する情報として、出力データの生成日時が入力される。訂正対象の出力データとは、エラーが通知された出力データである。
表示欄183と、表示欄184と、のそれぞれは、出力データの訂正方法を指定するためのものである。
表示欄183はエラーの訂正方法として、出力データ生成部230による出力データの再生成する方法を指定するためのものである。エラー訂正部247は、表示欄183において、訂正対象となる出力データの元となる帳票画像データが選択されると、表示欄183と対応する訂正方法が指定されたものとする。
表示欄184は、エラーの訂正方法として、訂正対象の出力データにおいて、エラーとされた項目値の位置を特定する方法を指定するためのものである。尚、本実施形態において、基幹システム500から通知されるエラーは、基幹システム500のフォーマットと一致しない項目値の位置を示す情報が含まれるものとする。
エラー訂正部247は、表示欄184において、基幹システム500のフォーマットと一致しない項目値の位置が入力されると、表示欄184と対応する訂正方法が指定されたものとする。
本実施形態のエラー訂正部247は、エラーの訂正方法が指定されて、操作ボタン185が操作されると、指定された方法に応じて出力データのエラーを訂正し、その結果を対応付け情報に反映させる。
エラー訂正部247は、表示欄183と対応する訂正方法がと指定された場合、表示欄183で選択された帳票画像データを用いて、出力データ生成部230により、出力データを再度生成し、基幹システム500へ出力する。
この訂正方法では、エラーとなった出力データが生成されたときに参照された対応付け情報が、対応付け学習部240による学習によって更新されている場合には、エラーが訂正された出力データが生成される可能性が高い。
また、エラー訂正部247は、表示欄184と対応する訂正方法がと指定された場合、訂正対象の出力データを表示させ、エラーとなった位置の項目値をユーザに訂正させるための画面を表示させてもよい。
この画面において、エラーとなった位置の項目値が訂正された場合、つまり、エラーとなった位置に新たな項目名が対応付けられた場合、エラー訂正部247は、この対応付けを対応付けデータベース290に格納された対応付け情報に反映させる。
本実施形態では、このように、基幹システム500から通知されるエラーに応じて、出力データを訂正し、対応付け情報を更新させることができる。
したがって、本実施形態によれば、対応付け情報の精度を向上させることができる。つまり、帳票画像データから、基幹システム500のフォーマットに合わせた出力データを自動で生成する際の精度を向上させることができる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。
ある実施形態では、サーバ装置200は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、サーバ装置200は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
さらに、サーバ装置200は、開示された処理ステップを様々な組み合わせで共有するように構成できる。例えば、サーバ装置200によって実行されるプロセスは、他のサーバ装置によって実行され得る。同様に、サーバ装置200の機能は、他のサーバ装置によって実行することができる。また、サーバ装置と他のサーバ装置の各要素は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
また、明細書中のデータベースは、機械学習の学習効果によって生成されたものでもよい。また、取引内容の記載に含まれうるキーワードと勘定項目とを機械学習にて分類付けすることで、対応テーブルを使用しなくてもよい。
ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが、データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。