以下に図面を参照して、実施形態について説明する。図1は、帳票認識システムのシステム構成の一例を示す図である。
本実施形態の帳票認識システム100は、サーバ装置200、画像形成装置300、端末装置400を有する。本実施形態の帳票認識システム100において、サーバ装置200と、画像形成装置300と、端末装置400とは、ネットワークを介して接続される。
また、本実施形態の端末装置400は、例えば、ネットワークを介して基幹システム500と接続される。基幹システム500とは、例えば、本実施形態の帳票認識システム100において帳票を認識した結果を用いて、特定の処理を行うシステムである。
本実施形態では、請求書を帳票の一例として説明する。また、以下の説明では、帳票認識システム100は、請求書を読み取った帳票画像から、請求書を発行した請求元と、請求金額を示す情報(請求書情報)と、請求金額の入金先となる金融機関に関する情報(金融機関情報)とを含む情報を抽出するものとして説明する。
また、基幹システム500は、金融機関に対する請求額の振込等を行う会計システムであっても良よい。
本実施形態の帳票認識システム100において、サーバ装置200は、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を示す画像データから、帳票に含まれる項目と項目の値とを抽出し、項目と項目の値とを対応付けたテキストデータとする。
以下の説明では、画像形成装置300のスキャナ機能によって読み取られた帳票の画像を帳票画像と呼び、帳票画像を示す画像データを帳票画像データと呼ぶ。
また、以下の説明では、帳票画像に含まれる項目の名称(項目名)と、この項目の値(項目値)とを抽出し、項目と項目の値とをテキストデータに変換して対応付けることを、帳票認識と呼ぶ。
本実施形態のサーバ装置200は、記憶部220と、帳票認識処理部230とを有する。記憶部220には、画像データベース240、抽出定義データベース250、辞書データベース260、テナントデータベース270、認識結果データベース280が設けられている。
画像データベース240は、帳票画像データが格納される。抽出定義データベース250は、抽出定義情報が格納される。抽出定義情報は、帳票画像から金融機関情報に含まれる文字列を抽出する際に、帳票認識処理部230に参照される。
辞書データベース260は、金融機関を特定するための辞書情報が格納される。辞書情報は、予め取得された情報であり、帳票認識処理部230により、金融機関名等を特定する際に参照される。
テナントデータベース270は、帳票認識システム100が提供するサービスを利用する組織(テナント)に関するテナント情報が格納される。テナントとは、言い換えれば、請求書を受け取る請求先であり、テナント情報とは、言い換えれば、請求先に関する情報である。テナントデータベース270は、例えば、テナント毎に設けられていてよく、予めサーバ装置200に登録される情報である。
認識結果データベース280は、帳票認識処理部230による帳票認識の結果を示す情報が格納される。
本実施形態の帳票認識処理部230は、画像データベース240に格納された帳票画像データを取得し、文字認識を行って、帳票画像に含まれる文字列群を抽出する。そして、帳票認識処理部230は、文字列群から請求書情報を抽出する。また、帳票認識処理部230は、抽出定義データベース250に格納された抽出定義情報253を参照して、文字列群から、金融機関情報に含める文字列を抽出する。
本実施形態の抽出定義情報253は、金融機関情報に含める文字列の定義を示す定義情報251と、金融機関情報に含める文字列を抽出する際の条件を示す条件情報252とを含む。
帳票認識処理部230は、定義情報251を参照して、文字認識により抽出された文字列群から、金融機関名と対応する文字列を特定し、特定された文字列との位置関係に基づき、金融機関名を示す文字列(第一の文字列)を抽出する。
つまり、第一の文字列は、文字認識によって抽出された文字列群から特定された文字列を基点として抽出される。言い換えれば、文字認識によって抽出された文字列群から特定された文字列は、第一の文字列の抽出基点となる文字列となる。
また、帳票認識処理部230は、条件情報252を参照し、金融機関名を示す文字列(第一の文字列)との位置関係に基づき、金融機関情報に含める他の文字列(第二の文字列)を抽出する。
つまり、第二の文字列は、第一の文字列を基点として抽出される。言い換えれば、第一の文字列は、前の抽出基点に基づき特定された文字列であって、第二の文字列の抽出基点となる文字列となる。
そして、帳票認識処理部230は、帳票画像データから、第一の文字列と第二の文字列とを対応付けて金融機関情報とする。
また、帳票認識処理部230は、抽出定義情報253に基づき抽出された文字列と、辞書データベース260に格納された辞書情報とに基づき、金融機関名等を確定させる。
そして、帳票認識処理部230は、請求書情報と、金融機関情報とを対応付けた認識結果を認識結果データベース280へ格納する。また、帳票認識処理部230は、認識結果データを、基幹システム500と対応する形式に変換し、基幹システム500に対して出力してもよい。
本実施形態では、このように、帳票認識における文字認識によって、金融機関名と対応する文字列と対応付けられた複数の文字列を抽出することができる。言い換えれば、本実施形態によれば、帳票画像から抽出された文字列と対応づけられた複数の文字列を抽出することができ、帳票の認識の精度を向上させることができる。
本実施形態の帳票認識システム100において、画像形成装置300は、スキャナ機能を有する複合機である。画像形成装置300は、コピー機能、FAX機能、スキャナ機能等を実現するためのアプリケーションが搭載されており、各機能と対応するアプリケーションを選択することで、これらの機能が実現される。
本実施形態の端末装置400は、帳票認識システム100を利用する利用者(テナント)によって使用される。また、端末装置400には、サーバ装置200による帳票認識の結果が表示されてもよい。
尚、本実施形態におけるテナントとは、例えば、企業等である。より具体的には、例えば、テナントとは、帳票認識システム100が提供するサービスを利用するための契約を締結している事業所や企業、団体等である。
また、図1の例では、サーバ装置200は、記憶部220内に5つのデータベースを有する構成としたが、これに限定されない。各データベースは、一部がサーバ装置200の外部装置に設けられていてもよいし、各データベース全てが外部装置に設けられていてもよい。
また、図1の例では、サーバ装置200が帳票認識処理部230を実現するものとしたが、これに限定されない。帳票認識処理部230は、複数の情報処理装置によって実現されてもよい。
また、図1の例では、帳票認識システム100に含まれる画像形成装置300と端末装置400とは、それぞれ1台としているが、帳票認識システム100に含まれる画像形成装置300と端末装置400の台数は、任意の数であって良い。
次に、図2を参照して、本実施形態のサーバ装置200のハードウェア構成について説明する。図2は、サーバ装置のハードウェア構成の一例を示す図である。
図2に示されているように、サーバ装置200は、コンピュータによって構築されており、図2に示されているように、CPU201、ROM202、RAM203、HD204、HDD(Hard Disk Drive)コントローラ205、ディスプレイ206、外部機器接続I/F(Interface)208、ネットワークI/F209、バスライン210、キーボード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は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン210は、図2に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード211は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス212は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ214は、着脱可能な記録媒体の一例としてのDVD-RW213に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F216は、フラッシュメモリ等の記録メディア215に対するデータの読み出し又は書き込み(記憶)を制御する。
本実施形態の端末装置400のハードウェア構成は、サーバ装置200と同様であるから、説明を省略する。尚、端末装置400は、例えば、タブレット型の端末装置や、スマートフォン等であってもよく、キーボード211やポインティングデバイス212と、ディスプレイ206の代わりに、タッチパネル等により実現される表示操作装置を有していてもよい。
次に、図3、図4を参照して、本実施形態のサーバ装置200の有する抽出定義データベース250について説明する。
図3は、抽出定義データベースの一例を示す第一の図である。図3では、抽出定義データベース250に格納された抽出定義情報253に含まれる定義情報251の一例を示す。
定義情報251は、情報の項目として、項目名、抽出基点、抽出方向、抽出範囲、辞書参照を有する。抽出定義データベース250において、項目「項目名」とその他の項目とは対応付けられており、項目「項目名」の値と、その他の項目の値とを含む情報が定義情報251となる。
項目「項目名」の値は、項目値と対応付けられる項目名を示す。項目「項目名」の値は、項目名と対応する項目「抽出基点」の値が示す文字列との位置関係に基づき抽出される。言い換えれば、項目「項目名」の値は、第一の文字列又は第二の文字列に対応付けられる項目名である。
また、項目「項目名」の値は、金融機関情報に含まれる情報の項目でもある。図3の例では、項目「項目名」の値として、銀行名、支店名、口座種別、口座番号、口座名義が含まれる。これらの値は、金融機関情報の項目となる。
項目「抽出基点」の値は、項目「項目名」の値が示す項目名の項目値となる文字列を抽出する際に、基点となる文字列を示す。
項目「抽出方向」の値は、基点になる文字列と、項目「項目名」の値が示す項目名の項目値となる文字列との位置関係を示す。言い換えれば、項目「抽出方向」の値は、過去に抽出された文字列であって、基点となる文字列(第一の文字列)に対して、項目「項目名」の値が示す項目名の項目値となる文字列(第二の文字列)が存在する方向を示す。
項目「抽出範囲」の値は、抽出する文字列の数を示す。項目「辞書参照」の値は、辞書データベース260に格納された辞書情報を参照して文字列を確定させる処理を行うか否かを示す。
図3では、例えば、項目名「銀行名」の項目値となる文字列は、帳票画像から抽出された文字列群のうち、「金融機関」、「振込先」等の特定の文字列の右方向又は下方向に位置する文字列であり、該当する文字列の数は1つであり、辞書データベース260に基づき確定される文字列である。尚、項目名「銀行名」の抽出基点となる文字列は、「金融機関」、「振込先」等の特定の文字列と部分一致する文字列であってもよい。
また、例えば、項目名「支店名」の項目値となる文字列は、項目名「銀行名」の項目値として抽出された文字列を抽出基点として、抽出基点となる文字列の右側に位置する文字列、又は、抽出基点となる文字列の下側に位置する文字列であり、該当する文字列の数は1つであり、辞書データベース260に基づき確定される文字列である。
したがって、ここでは、項目名「銀行名」と対応する項目値として抽出された文字列が第一の文字列となり、項目名「支店名」と対応する項目値として抽出された文字列が第二の文字列となる。
また、例えば、項目名「口座種別」の項目値となる文字列は、項目名「支店名」の項目値として抽出された文字列を抽出基点として、抽出基点となる文字列の右側に位置する文字列、又は、抽出基点となる文字列の下側に位置する文字列、又は、抽出基点となる文字列の左側に位置する文字列である。また、項目名「口座種別」の項目値となる文字列は、該当する文字列の数は、2つであり、辞書データベース260に基づき確定される文字列である。
この場合、項目名「支店名」と対応する項目値として抽出された文字列が第一の文字列となり、項目名「口座種別」と対応する項目値として抽出された文字列が第二の文字列となる。
図4は、抽出定義データベースに一例を示す第二の図である。図4は、抽出定義情報253に含まれる条件情報252を示す。
条件情報252は、情報の項目として、支店名抽出条件、口座種別抽出条件、口座番号抽出条件を有する。抽出定義データベース250において、項目「項目名」の値を含む情報が条件情報252となる。
項目「支店名抽出条件」の値は、項目名「支店名」の項目値として抽出される文字列の条件を示す。項目「口座種別抽出条件」の値は、項目名「口座種別」の項目値として抽出される文字列の条件を示す。項目「口座番号抽出条件」の値は、項目名「口座番号」の項目値として抽出される文字列の条件を示す。
図4では、項目名「支店名」の項目値として抽出される文字列の条件を、文字列の末尾に、「支店」、「本店」、「店」、「営業所」、「営業部」等であることとしている。また、項目名「口座種別」の項目値として抽出される文字列の条件を、文字列に、「普」、「通」、「当」、「座」、「貯」、「蓄」を含むこととしている。また、項目名「口座番号」の項目値として抽出される文字列の条件を、数字としている。
次に、図5を参照して、辞書データベース260について説明する。図5は、辞書データベースの一例を示す図である。
本実施形態の辞書データベース260に格納される辞書情報は、情報の項目として、銀行名と支店名とを有し、各項目は対応付けられている。本実施形態において、項目「銀行名」の値と、項目「支店名」の値と、を対応付けた情報が辞書情報である。
図5の例では、銀行名「XXX銀行」には、「AAA支店」、「CCC支店」、「EEE支店」が存在することがわかる。
次に、図6を参照して、テナントデータベース270について説明する。図6は、テナントデータベースの一例を示す図である。
本実施形態のテナントデータベース270は、テナント毎に設けられていてよい。テナントデータベース270は、テナントが使用する金融機関に関する情報271と、テナントの取引先を示す情報272とを含む。
情報271は、言い換えれば、請求先の口座情報であり、情報272は、言い換えれば、請求元の口座情報である。本実施形態のテナント情報は、情報271(請求先の口座情報)と、情報272(請求元の口座情報)とを含む。
情報271は、情報の項目として、テナント名、銀行名、支店名、口座種別、口座番号、口座名義、ユーザ選択を含み、項目「テナント名」と、その他の項目とが対応付けられている。言い換えれば、項目「テナント名」は、項目「テナント名」と対応する金融機関情報と、項目「ユーザ選択」とが対応付けられている。
項目「テナント名」の値は、テナントの名称を示す。尚、項目「テナント名」の値は、テナントを特定するための情報であればよく、テナント毎に割り振られたテナントID等であってもよい。
項目「テナント名」の値と対応付けられた金融機関情報は、テナント名によって特定されるテナントが使用する金融機関に関する情報である。項目「ユーザ選択」の値は、請求金額の支払い元として指定されしいることを示す。
図6の例では、テナント名「○○株式会社」であり、このテナントは、ZZZ銀行のAAA支店に口座種別「普通」、口座番号「1111111」の口座を有しており、この口座が選択されていることがわかる。
情報272は、情報の項目として、テナント名、請求元、振込先情報を含む。項目「請求元」の値は、請求元の名称を示す、尚、項目「請求元」の値は、請求元を特定するための情報であればよく、請求元毎に割り振られた請求元IDであってもよい。
項目「振込先情報」の値は、項目「請求元」の値によって特定される請求元が指定する金融機関に関する情報である。項目「振込先情報」の値には、振込先として指定される銀行名(金融機関名)、支店名、口座種別、口座番号、口座名義等が含まれる。
次に、図7を参照して、サーバ装置200の機能について説明する。図7は、サーバ装置の機能を説明する図である。
本実施形態のサーバ装置200では、例えば、HD504等に格納された情報処理プログラムをCPU201が読み出して実行することで、後述する各部の機能が実現される。
本実施形態のサーバ装置200は、帳票認識処理部230を有する。帳票認識処理部230は、入力受付部221、認証処理部222、帳票認識部290を有する。
入力受付部221は、サーバ装置200に対する各種の入力を受け付ける。具体的には、入力受付部221は、帳票認識システム100にログインするための認証情報の入力を受け付ける。認証情報とは、例えば、利用者IDとパスワード等である。また、入力受付部221は、例えば、画像形成装置300から送信された帳票画像データの入力を受け付ける。
認証処理部222は、入力受付部221が入力を受け付けた認証情報に基づき、認証を行う。尚、認証処理部222は、例えば、サーバ装置200の外部に設けられた認証サーバに対して、入力された認証情報を送信し、認証サーバによる認証の結果を取得してもよい。認証処理部222は、利用者が認証されると、入力受付部221が受け付けた帳票画像データを帳票認識部290に渡してもよい。
本実施形態の帳票認識部290は、画像データ格納部291、ジョブリスト生成部292、画像データ取得部293、文字認識部294、第一抽出部295、第二抽出部296、認識結果生成部297、補完部298、表示制御部299、出力部285を有する。
画像データ格納部291は、画像形成装置300から帳票画像データを受信すると、画像データベース240に格納する。
ジョブリスト生成部292は、入力受付部221が画像形成装置300から帳票画像データの入力を受け付けて、ジョブリストにジョブを登録し、ジョブリストを管理する。ジョブリストの詳細は後述する。
画像データ取得部293は、画像データベース240に格納された帳票画像データを取得する。
文字認識部294は、帳票画像データから、文字列と、文字列が配置された位置を示す情報とを抽出し、読取結果情報として保持する。したがって、読取結果情報には、帳票画像データから抽出された複数の文字列が含まれる。以下の説明では、読取結果情報含まれる、帳票画像データから抽出された複数の文字列を、文字列群と表現する場合がある。読取結果情報の詳細は後述する。
第一抽出部295は、読取結果情報から、請求書を発行した請求元を示す情報、請求金額を示す情報を、文字列として抽出し、請求書情報とする。尚、第一抽出部295は、例えば、予め請求書情報に含まれる文字列の定義を示す情報等を保持し、この情報に基づき。請求書情報に含まれる文字列を抽出してもよい。
第二抽出部296は、抽出定義データベース250の定義情報251と、条件情報252とを参照して、金融機関情報を抽出する。第二抽出部296の処理の詳細は後述する。
このことから、第一抽出部295は、帳票画像データから請求書情報を抽出する請求書情報抽出部の一例であり、第二抽出部296は、帳票画像データから金融機関情報を抽出する金融機関情報抽出部の一例である。
認識結果生成部297は、第一抽出部295により抽出された請求書情報と、第二抽出部296により抽出された金融機関情報と、を対応付けた認識結果データを生成する。
補完部298は、読取結果情報に含まれる文字列群と、辞書データベース260に格納された辞書情報とを照合し、文字列群に含まれる各文字列に、補完結果を対応付ける。以下の説明では、補完部298による保処理が行われた後の読取結果情報を、補完後の読取結果情報と呼ぶ。
表示制御部299は、端末装置400等における画面の表示を制御する。具体的には、表示制御部299は、端末装置400に表示される認識結果確認画面を示す画面データを生成してもよい。
出力部285は、表示制御部299が生成した認識結果確認画面を示す画面データを端末装置400へ出力する。言い換えれば、出力部285は、表示制御部299が生成した認識結果確認画面を端末装置400のウェブブラウザ(表示部)上で表示させる。また、出力部285は、認識結果データを、基幹システム500と対応する形式のデータに変換し、出力する。
以下に、図8を参照して、本実施形態の帳票認識システム100の動作について説明する。図8は、帳票認識システムの動作を説明するシーケンス図である。
帳票認識システム100において、画像形成装置300は、利用者から帳票認識を行うためのアプリケーションの起動要求を受け付けると(ステップS801)、このアプリケーションを起動させる(ステップS802)。利用者とは、例えば、テナントの管理者等である。
続いて、画像形成装置300は、利用者から認証情報の入力を受け付けると(ステップS803)、この認証情報をサーバ装置200へ送信し、認証要求を行う(ステップS804)。
サーバ装置200は、認証要求を受けて、認証処理部222により認証を行い、その結果を画像形成装置300へ通知する(ステップS805)。尚、ここでは、利用者が認証された場合の動作を示している。
続いて、画像形成装置300は、帳票のスキャン指示を受け付け(ステップS806)、帳票のスキャンを行い、帳票画像データを取得する(ステップS807)。続いて、画像形成装置300は、帳票画像データをサーバ装置200へ送信する(ステップS808)。
サーバ装置200は、入力受付部221が帳票画像データの入力を受け付けると、認証処理部222がこの帳票画像データを帳票認識部290へ渡す(ステップS809)。尚、図8の例では、認証処理部222を介して帳票画像データが帳票認識部290へ渡されるものとしたが、これに限定されない。帳票画像データは、認証処理部222を介さずに帳票認識部290に渡されてもよい。
サーバ装置200の帳票認識部290は、帳票画像データを受け取ると、ジョブリスト生成部292により、ジョブリストにジョブを登録する(ステップS810)。続いて、帳票認識部290は、画像データ格納部291により、帳票画像データを画像データベース240へ格納する(ステップS811)。
続いて、帳票認識部290は、画像データ取得部293により、画像データベース240から認識する対象となる帳票画像データを取得し(ステップS812)、帳票画像を認識する処理を実行する(ステップS813)。
具体的には、本実施形態の帳票認識部290は、第一抽出部295により、読取結果情報に含まれる文字列群から請求書情報を抽出し、第二抽出部296により、文字列群から金融機関情報を抽出し、認識結果生成部297により、請求書情報と金融機関情報とを対応付けた認識結果データを生成する。
また、帳票認識部290は、補完部298により、読取結果情報に含まれる文字列群を辞書データベース260に基づき補完した、補完後読取結果情報を生成する。ステップS813の処理の詳細は後述する。
続いて、帳票認識部290は、認識結果生成部297が生成した認識結果データを認識結果データベース280に格納する(ステップS814)。
帳票認識システム100において、端末装置400は、利用者からのブラウザの表示指示の入力を受け付けると(ステップS815)、サーバ装置200に対して認識結果データを表示させるブラウザの表示要求を行う(ステップS816)。
また、端末装置400は、利用者から認証情報の入力を受け付けて(ステップS817)、この認証情報をサーバ装置200へ送信する(ステップS818)。
サーバ装置200は、認証処理部222により、利用者の認証を行い(ステップS819)、その結果を端末装置400へ通知する(ステップS820)。尚、ここでは、利用者が認証された場合の処理を示す。
続いて、端末装置400は、利用者から、帳票画像の認識結果の閲覧指示の入力を受け付けると(ステップS821)、サーバ装置200に対して閲覧要求を行う(ステップS822)。
サーバ装置200は、閲覧要求を受けて、認識結果データベース280に格納されている認識結果データを取得し(ステップS823)、認識結果確認画面を生成して端末装置400のブラウザ上に表示させ(ステップS824)、利用者に、表示された認識結果確認画面で認識結果を確認させて、処理を終了する。
ここで、図9を参照して、本実施形態のジョブリスト生成部292により生成されるジョブリストについて説明する。図9は、ジョブリストの一例を示す図である。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データが入力されると、ジョブリスト生成部292により、帳票画像データとジョブIDとを対応付けたジョブリストとして保持する。
本実施形態のジョブリスト91は、情報の項目として、ジョブID、利用者ID、帳票画像ファイルパス、認識結果ファイルパス、ステータスを有する。
項目「ジョブID」の値は、ジョブを特定する識別子である。言い換えれば、項目「ジョブID」の値は、画像形成装置300から受信した帳票画像データを特定するための識別子である。
項目「利用者ID」の値は、帳票認識システム100にログインした利用者を特定するための識別子である。
項目「画像ファイルパス」の値は、帳票画像データが格納されている場所を示す情報である。項目「認識結果ファイルパス」の値は、帳票画像を認識した結果の認識結果データが格納されている場所を示す情報である。
項目「ステータス」の値は、帳票画像の認識の進捗を示す。言い換えれば、項目「ステータス」の値は、ジョブの状態を示す。
本実施形態では、項目「ステータス」の値として、未処理状態、下書き保存状態、確定済み状態、外部出力済み状態の4つがある。各状態は、以下の通りである。
・未処理状態(状態1) 帳票認識によって認識結果データが取得された直後であり、認識結果の確認等が行われていない状態。
・下書き保存状態(状態2) 認識結果データの確認等の作業の途中等であり、認識結果データが確定される前の状態。
・確定済み状態(状態3) 認識結果データの確認等の作業が完了し、確定された情報として認識結果データベース280へ格納された状態。
・外部出力済み状態(状態4) 帳票認識システム100と連携する会計システム等への認識結果データの出力が完了した状態。
本実施形態のサーバ装置200は、画像形成装置300から帳票画像データを受信すると、ジョブリスト生成部292により、ジョブIDを付与し、認証情報として取得した利用者IDを対応付けて、ジョブリスト91にレコードを追加する。そして、ジョブリスト生成部292は、帳票画像データが画像データベース240に格納されると、この格納先を示す情報を項目「画像ファイルパス」の値として、追加する。
さらに、ジョブリスト生成部292は、帳票画像の認識において、参照する帳票定義情報が特定されると、その定義IDを項目「定義ID」の値として追加する。そして、ジョブリスト生成部292は、ジョブリスト91が完了して、認識結果データが認識結果データベース280に格納されると、この格納先を示す情報を項目「認識結果ファイルパス」の値として追加し、項目「ステータス」の値を完了とする。
本実施形態では、例えば、ジョブリスト生成部292によって生成されたジョブリストを表示してもよい。この場合、利用者は、ジョブリストに基づいて表示されたジョブリスト画面を介して、帳票画像の認識の進捗を確認することができる。
次に、図10乃至図12を参照して、本実施形態の帳票認識部290の処理について説明する。図10乃至図12では、図10では、図8のステップS813の処理の詳細を示している。
図10は、帳票認識部の処理を説明する第一のフローチャートである。より具体的には、図10では、金融機関情報における項目名「銀行名」の項目値となる文字列を抽出する処理を示している。
本実施形態の帳票認識部290は、画像データ取得部293により、画像データベース240から帳票画像データを取得する(ステップS1001)。
続いて、帳票認識部290は、文字認識部294により、帳票画像から、文字が形成されている領域(以下、文字フィールド)を切り取り、切り取られた文字フィールドの中の文字を切り取り、文字認識する(ステップS1002)。このとき、文字認識部294は、切り出した文字の位置を示す座標も取得する。
続いて、帳票認識部290は、文字認識部294により認識された各文字の位置関係に基づいて読取結果情報を生成して、保持する(ステップS1003)。具体的に、帳票認識部290は、認識された各文字の座標に基づいて、互いの距離が予め設定された閾値以内の文字を1つの文字列として認識し、文字列と、文字列が形成された領域の位置を示す座標などの情報とを対応付けて読取結果情報を生成する。読取結果情報の詳細は後述する。
続いて、帳票認識部290は、第二抽出部296により、読取結果情報に含まれる文字列群の中から、定義情報251における項目名「銀行名」と対応する抽出基点とされた文字列と、一致する文字列を特定する(ステップS1004)。尚、第二抽出部296は、項目名「銀行名」と対応する抽出基点と一致する文字列が存在しない場合には、抽出基点とされた文字列と、一部が一致する文字列を特定してもよい。言い換えれば、第二抽出部296は、項目名「銀行名」の項目値を抽出するための基点となる文字列を特定する。
続いて、第二抽出部296は、ステップS1003において、項目名「銀行名」の抽出基点となる文字列が特定されたか否かを判定する(ステップS1005)。
ステップS1005において、該当する文字列が特定されない場合、第二抽出部296は、項目名「銀行名」の項目値を抽出する処理を終了する。
ステップS1005において、項目名「銀行名」の抽出基点となる文字列が特定された場合、第二抽出部296は、読取結果情報に含まれる文字列群の中から、定義情報251において、項目名「銀行名」と対応する抽出方向が示す方向に配置された文字列を抽出する(ステップS1006)。ここで抽出される文字列は、項目名「銀行名」の項目値となる文字列である。
続いて、第二抽出部296は、辞書データベース260に格納された辞書情報と、ステップS1006で抽出された文字列とを照合して、項目名「銀行名」の項目値を決定し(ステップS1007)、項目名「銀行名」の項目値を抽出する処理を終了する。
尚、実施形態では、第二抽出部296による金融機関情報の抽出が行われる前に、第一抽出部295により、帳票画像データから請求書情報を抽出する処理が行われてもよい。また、第一抽出部295による請求書情報を抽出する処理は、第二抽出部296による金融機関情報を抽出する処理が行われた後に行われてもよい。
尚、図10の例では、第二抽出部296は、ステップS1007において、辞書データベース260に格納された辞書情報を参照して、銀行名の項目値を決定するものとしたが、第二抽出部296は、辞書データベース260を参照しなくてもよい。
図11は、帳票認識部の処理を説明する第二のフローチャートである。図11では、金融機関情報における項目名「銀行名」に続く項目名の項目値となる文字列を抽出する処理を示している。
本実施形態の帳票認識部290は、第二抽出部296により、定義情報251を参照し、項目値を抽出する対象の項目名(抽出対象項目名)に対応する抽出基点となる文字列と、抽出方向と、を取得する(ステップS1101)。
続いて、第二抽出部296は、抽出基点となる文字列が取得されたか否かを判定する(ステップS1102)。ステップS1102において、該当する文字列が取得されない場合、第二抽出部296は、後述するステップS1105へ進む。
ステップS1102において、該当する文字列が取得された場合、第二抽出部296は、定義情報251を参照し、取得した文字列と抽出方向に沿って、抽出範囲内に配置され、且つ、条件情報252を満たす文字列を取得する(ステップS1103)。
続いて、第二抽出部296は、ステップS1103において、該当する文字列が取得されたか否かを判定する(ステップS1104)。ステップS1104において、該当する文字列が取得された場合、第二抽出部296は、後述するステップS1107へ進む。
ステップS1104において、該当する文字列が取得されない場合、第二抽出部296は、次の抽出基点となる文字列が存在するか否かを判定する(ステップS1105)。
ステップS1105において、該当する文字列が存在する場合、第二抽出部296は、ステップS1101へ戻る。
ステップS1105において、該当する文字列が存在しない場合、第二抽出部296は、定義情報251に含まれる各項目名の項目値を空として(ステップS1106)、後述するステップS1110へ進む。したがって、本実施形態では、ここでは、項目名「銀行名」の項目値が抽出されない場合には、金融機関情報の全ての項目名の項目値が空となる。
ステップS1104において、該当する文字列が取得できない場合、第二抽出部296は、定義情報251における項目「辞書参照」の値を参照し、辞書データベース260を参照するか否かを判定する(ステップS1107)。
ステップS1107において、辞書データベース260を参照しないと判定された場合、第二抽出部296は、後述するステップS1109へ進む。
ステップS1107において、辞書データベース260を参照すると判定された場合、第二抽出部296は、辞書データベース260を参照し、抽出された文字列と照合する(ステップS1108)。
続いて、第二抽出部296は、項目名の項目値となる文字列を決定する(ステップS1109)。
続いて、第二抽出部296は、定義情報251に含まれる全ての項目名に、項目値を対応付けたか否かを判定する(ステップS1110)。ステップS1110において、全ての項目値が対応付けられていない場合、第二抽出部296は、ステップS1101へ戻る。
ステップS1110において、全ての項目名に項目値が対応付けられている場合、帳票認識部290は、認識結果生成部297により、金融機関情報と請求書情報とを対応付けた認識結果データを生成する(ステップS1111)。
続いて、認識結果生成部297は、認識結果データの格納先をジョブリスト91に登録し(ステップS1112)、処理を終了する。
このように、本実施形態の第二抽出部296は、抽出基点とされた文字列との位置関係に基づき抽出された文字列を、次の抽出基点となる文字列する処理を繰り返していく。そして、本実施形態の第二抽出部296は、抽出基点とされた文字列との位置関係に基づき抽出された文字列を、抽出基点とされた文字列と対応する項目名の項目値とする。
図12は、帳票認識部の処理を説明する第三のフローチャートである。図12では、帳票認識部290による補完部298の処理を示している。
本実施形態の帳票認識部290は、認識結果データが生成されると、補完部298により、読取結果情報に含まれる文字列群の全ての文字列について、ステップS1202以降の処理を実行する(ステップS1201)。
補完部298は、文字列群から、ある文字列を選択する(ステップS1202)。続いて、補完部298は、辞書データベース260に格納された辞書情報を参照し、特定した文字列と対応する銀行名を特定し、選択した文字列と対応付けて、読取結果情報に登録する(ステップS1203)。
文字列と対応する銀行名とは、選択された文字列と一致又は部分一致する銀行名であってもよい。また、一致または部分一致する銀行名が辞書情報に存在しない場合には、選択された文字列と最も類似すると推定される銀行名を特定し、対応づけてもよい。
続いて、辞書情報において、補完部298は、選択した文字列以外の文字列と対応付けられた銀行名に対応する支店名の中から、選択した文字列に対応する支店名を特定し、選択した文字列と対応付けて登録する(ステップS1204)。
補完部298は、読取結果情報に含まれる文字列群の全ての文字列について、ステップS1204までの処理を行った結果を、補完後読取結果情報として保持し(ステップS1205)、処理を終了する。
次に、図13乃至図16を参照し、帳票認識部290の処理について具体的に説明する。図13は、文字認識について説明する図である。
図13に示す情報131は、帳票画像データに対し、文字認識部294による文字認識を行った結果である。
情報131は、文字フィールドを切り取り、文字フィールドの中の文字を認識した結果と、文字の位置を示す座標とから抽出した例を示す。
本実施形態の文字認識部294は、この情報131から、隣り合う位置にある文字同士をつなげて文字列(文字列)を認識する。具体的には、文字認識部294は、文字と文字との間の距離が、所定ピクセル以内である文字の組み合わせを、1つ単語として認識しても良い。
図13に示す情報132は、文字認識部294により認識された文字列と、文字列の領域とを示す情報であり、文字認識部294による帳票画像の読取結果情報である。
また、文字認識部294は、帳票画像データから、縦線と横線で区切られた領域を1つのセルとして認識し、セル毎にセルを識別する識別情報(セルID)を付与する。
図13に示す情報132は、帳票画像から認識されたセル毎の領域とセルIDとの対応付けを示す情報である。
図13では、例えば、文字列「お振込先」が認識された領域は、情報131において、X座標とY座標によって示される位置を基準として、高さと幅とから特定される。
また、情報131において、キーワード「氏名」が認識された領域は、セルID「2」に含まれることがわかる。したがって、キーワード「お振込先」は、読取結果情報に含まれる文字列として、セルID「37」と対応付けられる。
本実施形態の帳票認識部290は、このようにして、帳票画像データから、文字列とセルとを対応付ける。
図14は、金融機関情報の抽出結果の一例を示す図である。本実施形態の第二抽出部296は、まず、図10の処理により、金融機関情報に含まれる項目のうち、銀行名が抽出される。
具体的には、第二抽出部296は、定義情報251において、先頭の項目名「銀行名」の抽出基点となる文字列を、読取結果情報に含まれる文字列群から特定する。そして、第二抽出部296は、定義情報251によって規定された、特定した文字列(第一の文字列)との位置関係に基づき、項目名「銀行名」の項目値となる文字列を特定する。
定義情報251では、項目名「銀行名」は、抽出基点の文字列の右方向、又は、下方向に位置する文字列である。
ここでは、例えば、読取結果情報の文字列群の中から、「お振込先」という文字列が特定されると、第二抽出部296は、この「お振込先」を抽出基点して、「お振込先」の右側又は下側に位置する文字列を、項目名「銀行名」の項目値とする。
尚、定義情報251において、抽出方向が複数定義されている場合、最初に定義された抽出方向から順に、該当する位置における文字列の有無を判定していく。
図14の例では、項目「銀行名」の項目値として、「XXX銀行」という文字列が特定されたことがわかる。
尚、ここで、例えば、文字認識によって、項目「銀行名」の項目値に特定された文字列が示す銀行名が、誤っていた場合でも、第二抽出部296は、辞書情報と照合し、特定された文字列と部分一致する文字列を、銀行名を示す文字列とする。
次に、第二抽出部296は、定義情報251において、次の項目名「支店名」と対応する抽出基点の文字列を特定する。定義情報251では、項目名「支店名」の抽出基点となる文字列は、抽出済みの銀行名である。したがって、ここでは、「XXX銀行」が抽出基点の文字列となる。
第二抽出部296は、項目名「支店名」と対応する抽出方向が、右と下であるため、はじめに、「XXX銀行」の右側に配置された文字列の有無を判定する。そして、該当する位置に文字列が存在する場合、この文字列を、項目名「支店名」の項目値とする。
また、第二抽出部296は、右側に該当する文字列が存在しない場合、「XXX銀行」の右側に配置された文字列の有無を判定する。そして、該当する位置に文字列が存在する場合には、その文字列を、項目名「支店名」の項目値とする。
第二抽出部296は、この処理を、金融機関情報に含まれる全ての項目名について行い、各項目名と、項目値とを対応づけた情報が、金融機関情報141として抽出される。
図15は、認識結果データの一例を示す図である。本実施形態の認識結果データは、第二抽出部296によって抽出された金融機関情報141と、第一抽出部295によって抽出された請求書情報151とが対応付けられたデータを含む。
請求書情報151には、例えば、情報の項目として、請求書を特定するための請求書番号、請求書の発行元(請求元)、請求日、請求金額等が含まれる。
図16は、文字列群の補完について説明する図である。図16に示す情報132Aは、補完後読取結果情報の一例である。
情報132Aでは、読取結果情報に含まれる文字列群の各文字列に対し、辞書情報から特定された銀行名が対応付けられている。また、情報132Aでは、読取結果情報に含まれる文字列群の各文字列に対し、自身以外の文字列に対応付けられた銀行名と対応する支店名のうち、自身と最も近い支店名が対応付けられている。
本実施形態では、この補完により、例えば、読取結果情報に含まれる文字列群のうち、ある文字列が銀行名として抽出された際に、抽出された文字列が正しく抽出されなかった場合等において、補完により登録された銀行名を、抽出された文字列の代わりに用いることができる。
次に、図17乃至図22を参照して、本実施形態の表示例について説明する。図17は、表示例を示す第一の図である。
図17に示す画面301は、例えば、端末装置400に表示されても良い。画面301は、ステップS824において、端末装置400のブラウザに表示される認識結果確認画面の一例である。
画面301は、表示欄302、表示欄303と、操作ボタン307、308とを含む。表示欄302には、帳票画像データが示す帳票画像が表示される。図17の例では、帳票が請求書であり、帳票画像に金融機関情報を示す領域310が含まれる。尚、帳票画像における金融機関情報を示す領域は、領域310に限定されない。具体的には、例えば、帳票画像における、金融機関情報を示す領域は、領域310Aであってもよい。尚、図17の表示欄302には、領域310と、領域310Aのうち、何れか一方が表示される。
表示欄303は、表示欄302に表示された帳票画像を示す帳票画像データに対して帳票認識部290による帳票認識を行った結果の認識結果データが表示される。
表示欄303は、表示欄304、305、306を含む。表示欄303は、請求書情報151が表示される。請求書情報は、認識結果データの一部である。表示欄305は、金融機関情報141が表示される。表示欄306は、ジョブリスト91の項目「ステータス」の値が表示される。
表示欄305には、金融機関情報141に含まれる項目名と項目値とが対応付けられて表示される。
図17の例では、項目名「銀行名」の項目値を表示させる表示欄321、項目名「支店名」の項目値を表示させる表示欄322、項目名「口座種別」の項目値を表示させる表示欄323等が含まれる。
また、表示欄321は、表示欄321に表示された内容を編集するための表示部品321aを含み、表示欄322は、表示欄322に表示された内容を編集するための表示部品322aを含み、表示欄323は、表示欄323に表示された内容を編集するための表示部品323aを含む。
本実施形態では、表示欄の中に含まれる表示部品を選択する操作を受け付けると、該当する表示欄に表示された内容の編集が可能となる。表示欄に表示された内容の編集の詳細は後述する。
操作ボタン307は、ジョブリスト91のステータスの値を、未処理状態から下書き保存状態とするための操作ボタンである。操作ボタン307が操作されると、表示欄306は、「未処理」から「下書き保存」に変化する。
操作ボタン308は、ジョブリスト91のステータスの値を、確定済み状態とするための操作ボタンである。本実施形態では、操作ボタン307が操作されると、ジョブリスト91のステータスの値を、確定済み状態とする。尚、本実施形態において、ステータスが確定済み状態とされた認識結果データは、出力部285により、基幹システム500と対応する形式のデータに変換することができる。
図18は、表示例を示す第二の図である。図18では、表示欄321の表示内容を編集する場合について説明する。
例えば、表示欄321には、項目「銀行名」の項目値が表示される。ここでは、この表示欄321に表示された内容を編集する場合を説明する。
サーバ装置200は、画面301Aにおいて、表示部品321aの選択を受け付けると、表示欄302Aに示すように、帳票画像に含まれる全ての文字列をハイライト表示させる。そして、サーバ装置200は、表示欄302Aに表示された帳票画像において、文字列の選択を受け付けると、選択された文字列を、表示欄321に表示させる。
図18の例では、表示欄302Aにおいて、文字列「XXX銀行」が選択されたため、表示欄321には、「XXX銀行」が表示される。
尚、本実施形態では、表示部品321aが選択された場合に、帳票画像に含まれる文字列がハイライト表示されるものとしたが、帳票画像の文字列の表示態様は、これに限定されない。帳票画像の文字列の表示態様は、表示欄の表示内容の編集が行われないときの表示態様と異なっていればよく、例えば、文字列を囲う矩形等が表示されてもよい。
図19は、表示例を示す第三の図である。図19では、表示欄322の表示内容を編集する場合について説明する。
図19に示す画面301Bでは、表示欄322に表示された内容を修正する場合を示す。画面301Bでは、表示欄322の項目値である支店名として、文字列「普通支店」が表示されている。具体的には、図19では、銀行名「XXX銀行」の支店名として、口座種別の項目値となるべき文字列が抽出された場合を示している。
この場合、口座種別の項目値となる文字列が表示される表示欄323は、口座種別として表示される文字列が表示されず、空欄となる。
ここで、表示欄322の表示部品322aが選択されると、帳票画像に含まれる文字列がハイライト表示される。
図20は、表示例を示す第四の図である。図20は、表示部品322aの表示内容を編集する場合について説明する。
図20に示す画面302Cにおいて、表示欄302Aでは、帳票画像に含まれる文字列をハイライト表示させる。
そして、帳票画像の領域310において、XXX銀行の支店名を示す文字列「AAA支店」が選択されると、選択された文字列「AAA支店名」が表示欄322に表示される。
また、本実施形態の帳票認識部290は、表示欄322の項目名が修正されると、定義情報251を参照し、修正後の支店名「AAA支店」を抽出基点として、定義情報251における支店名以降の項目名について、項目値を抽出する処理を再度行う。この処理により、項目名「口座種別」の項目値が抽出され、表示欄323には、口座種別を示す文字列が表示される。
図21は、表示例を示す第5の図である。図21に示す画面302Dでは、表示欄323に、口座種別の項目値として、文字列「普通」が表示される。
このように、本実施形態では、帳票認識部290によって、文字列がご認識された場合であっても、金融機関情報が表示されている画面と同一の画面に表示された帳票画像を参照しながら、金融機関情報に含まれる文字列を修正することができる。
また、本実施形態では、金融機関情報に含まれる項目名の項目値となる文字列を修正すると、修正後の文字列に基づき、他の項目名の項目値を抽出する。したがって、本実施形態によれば、一つの項目名の項目値を修正することで、他の項目名の項目値も自動的に修正することができ、操作性を向上させることができる。
図22は、表示例を示す第六の図である。図22に示す画面302Eは、金融機関情報の項目値を抽出する際に、辞書情報を商号し、抽出された文字列と辞書情報とを商号して、項目値を決定した場合について説明する。
図22に示す画面306Eにおいて、表示欄302Bに表示された帳票画像では、銀行名が、「XXXYYZZ銀行」である。この銀行名は、請求書を作成する際に入力されるものであり、図22の例では、この銀行名「XXXYYZZ銀行」が、誤った銀行名であったとする。
この場合、帳票認識部290は、第二抽出部296により、帳票画像データから、銀行名の項目値として、文字列「XXXYYZZ銀行」を抽出する。そして、第二抽出部296は、抽出した文字列「XXXYYZZ銀行」を、辞書情報と照合する(図10参照)。
このとき、文字列「XXXYYZZ銀行」は誤った銀行名であるため、辞書情報に、この文字列と一致する銀行名は存在しない。そこで、第二抽出部296は、辞書情報において、文字列「XXXYYZZ銀行」と最も近い銀行名を、銀行名の項目値として特定する。最も近い文字列とは、例えば、抽出された文字列と一致する文字が最も多い銀行名である。
図22の例では、表示欄305では、文字列「XXXYYY銀行」が、銀行名として表示されている。したがって、こりは場合には、請求書に記載された誤った銀行名が、金融機関情報の抽出の際に、正しい銀行名に修正されたことがわかる。
このように、本実施形態では、金融機関情報において、誤った文字列が抽出された場合に、辞書情報を参照して決定した文字列と置き換えることができる。その際に、本実施形態では、補完後読取結果情報を参照し、補完後読取結果情報において、抽出された文字列と対応付けられた文字列を、抽出された文字列と置き換えても良い。
このように、本実施形態では、補完後読取結果情報を保持しておくことで、抽出結果の文字列が誤っていた場合でも、補完後の文字列に置き換えることができる。
次に、図23を参照して、本実施形態の出力部285により基幹システム500に出力するデータの一例について説明する。
図23は、出力データの一例を示す図である。図23に示す出力データ231は、振込元情報と、振込先情報と、請求金額と、振込実行日とを含む。
本実施形態の出力データ231において、振込元情報は、テナントデータベース270に格納されたてるテナント情報に含まれる、テナントの金融機関情報である。振込先情報は、帳票認識部290により、請求書の帳票画像から抽出した、請求元の金融機関情報である。
請求金額は、帳票認識部290により、帳票画像データから抽出した請求書情報に含まれる。振込実行日は、例えば、出力データ231が基幹システム500に出力された日であってもよい。
本実施形態の出力データ231は、基幹システム500において、テナントから請求元への請求金額の振り込む(支払う)処理を自動的に実行させることができる形式であればよい。
このように、本実施形態では、請求書の帳票画像データから、金融機関情報を抽出し、抽出された金融機関情報が示す口座への請求金額の支払いまで、自動で行うことができる。
次に、図24を参照して、第二抽出部296の処理の変形例について説明する。図24は、抽出処理の変形例について説明する図である。
図24では、図10、図11の処理が示すように、項目名「銀行名」の項目値が抽出されなかった場合における、金融機関情報の抽出について説明する。
項目名「銀行名」の項目値が抽出されなかった場合、金融機関情報の全ての項目名の項目値は、空の状態である。したがって、この金融機関情報を含む認識結果データが、認識結果確認画面に表示された場合、表示欄305内の各表示欄は、空欄として表示される。
この状態において、サーバ装置200は、項目名「銀行名」の項目値が表示される表示欄321の表示部品321aを選択する操作を受け付けると、帳票画像の文字列をハイライト表示させる。そして、サーバ装置200は、ハイライト表示された文字列から、銀行名の項目値とされる文字列が指定されると、指定された文字列に基づき、支店名以降の項目名の項目値を抽出する。
また、本実施形態では、読取結果情報に含まれる文字列群の全ての文字列について、この文字列が銀行名として指定されたときに抽出された支店名以降の項目値の項目名を、対応付けた情報を、図24に示す情報241として保持しておく。
情報241では、情報の項目として、文字列IDと、支店名と、口座種別と、口座情報と、口座名義とが対応付けられている。項目「文字列ID」は、文字列を識別するための識別情報である。
図24に示す情報241では、ハイライト表示された文字列から、文字列ID「18」の文字列が選択された場合に、支店名の項目値が「AAA支店」、口座種別の項目値が「普通」等として抽出されたことがわかる。
尚、上述した実施形態では、請求書を帳票の一例として説明したが、本実施形態が適用される帳票の種類は、請求書に限定されない。本実施形態では、読取結果情報に含まれる、ある文字列に対して、複数の文字列が対応付けられている帳票であれば、どのような帳票にも適用することができる。
具体的には、例えば、帳票が納品書である場合等であって、読取結果情報に含まれる文字列「納品先」に対して、納品先の会社名と住所等が対応づけられている場合には、文字列「納品先」との位置関係に基づき、項目名「会社名」の項目値が特定され、会社名との位置関係に基づき、項目名「住所」の項目値が特定されてもよい。この場合、項目名「会社名」の項目値が第一の文字列となり、項目名「住所」の文字列が第二の文字列となる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。
ある実施形態では、サーバ装置200は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、サーバ装置200は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
さらに、サーバ装置200は、開示された処理ステップを様々な組み合わせで共有するように構成できる。例えば、サーバ装置200によって実行されるプロセスは、他のサーバ装置によって実行され得る。同様に、サーバ装置200の機能は、他のサーバ装置によって実行することができる。また、サーバ装置と他のサーバ装置の各要素は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
また、明細書中の対応テーブルは、機械学習の学習効果によって生成されたものでもよい。また、取引内容の記載に含まれうるキーワードと勘定項目とを機械学習にて分類付けすることで、対応テーブルを使用しなくてもよい。
ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり,コンピュータが、データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。