(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】帳票仕分システム、帳票仕分方法、及びプログラム
(51)【国際特許分類】
G06V 30/412 20220101AFI20240116BHJP
G06T 7/00 20170101ALI20240116BHJP
G06V 20/62 20220101ALI20240116BHJP
【FI】
G06V30/412
G06T7/00 350C
G06V20/62
(21)【出願番号】P 2020018985
(22)【出願日】2020-02-06
【審査請求日】2022-11-15
(73)【特許権者】
【識別番号】523286071
【氏名又は名称】株式会社NTTデータ
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】坂本 太郎
(72)【発明者】
【氏名】櫻井 太
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開2016-048444(JP,A)
【文献】特開2019-109562(JP,A)
【文献】特開2019-061550(JP,A)
【文献】特開2016-126796(JP,A)
【文献】特開2005-056432(JP,A)
【文献】特開2012-198684(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
G06T 7/00
G06V 20/62
(57)【特許請求の範囲】
【請求項1】
仕分対象の帳票である対象帳票を取得する取得部と、
学習済みモデルを用いて、前記対象帳票の種別を分類する種別分類部と、
前記対象帳票の特徴を抽出する特徴抽出部と、
前記種別分類部による分類結果、及び前記特徴抽出部による抽出結果に基づき、予め登録された文字認識の定義体に対応する帳票の特徴との類似度合いを用いて機械学習を行うことにより前記対象帳票を分類する亜種分類部と、
を備え、
前記学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである、
ことを特徴とする帳票仕分システム。
【請求項2】
前記亜種分類部は、前記特徴抽出部によって抽出された罫線の特徴と、前記定義体に対応する帳票における罫線の特徴との類似度合いを用いたクラスタ分析を行うことにより前記対象帳票を分類する、
請求項
1に記載の帳票仕分システム。
【請求項3】
前記定義体に対応する帳票は、登録用帳票に上記クラスタ分析を行うことにより得られるクラスタ内の帳票から選択された帳票である、
請求項
2に記載の帳票仕分システム。
【請求項4】
前記亜種分類部による分類結果に基づき、前記定義体に対応する帳票と同一グループに分類された前記対象帳票が、前記定義体を用いた文字認識に適合するか否かを判定する適合判定部を更に備える、
請求項1から請求項
3のいずれか一項に記載の帳票仕分システム。
【請求項5】
前記適合判定部は、前記定義体に対応する帳票と同一グループに分類された前記対象帳票における罫線の特徴と、前記定義体に対応する帳票における罫線の特徴との類似度合いに基づき、前記定義体を用いた文字認識に適合するか否かを判定する、
請求項
4に記載の帳票仕分システム。
【請求項6】
取得部が、仕分対象の帳票である対象帳票を取得し、
種別分類部が、学習済みモデルを用いて、前記対象帳票の種別を分類し、
特徴抽出部が、前記対象帳票における罫線の特徴を抽出し、
亜種分類部が、前記種別分類部による分類結果、及び前記特徴抽出部による抽出結果に基づき、予め定義された文字認識の定義体に対応する帳票との類似度合を用いて機械学習を行うことにより前記対象帳票を分類する、
帳票仕分方法であって、
前記学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである、
ことを特徴とする帳票仕分方法。
【請求項7】
コンピュータを、
仕分対象の帳票である対象帳票を取得する取得手段、
学習済みモデルを用いて、前記対象帳票の種別を分類する種別分類手段、
前記対象帳票における罫線の特徴を抽出する特徴抽出手段、
前記種別分類手段による分類結果、及び前記特徴抽出手段による抽出結果に基づき、予め定義された文字認識の定義体に対応する帳票との類似度合を用いて機械学習を行うことにより前記対象帳票を分類する亜種分類手段、
として機能させるためのプログラムであって、
前記学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票仕分システム、帳票仕分方法、及びプログラムに関する。
【背景技術】
【0002】
従来、様々な業界において、様々な帳票が利用されている。例えば、紙の帳票をスキャナ等の読取装置で読み取り、読み取り結果の画像からOCR(Optical Character Reader)技術により文字認識を行うことによりテキスト情報を得ることが行われている。これにより、データ入力などの事務処理を効率化させることが図られている。
【0003】
一般に、帳票は、定型帳票と、準定型帳票と、非定型帳票とに分類される。定型帳票は、項目、記入枠の位置及び大きさが定められており、様式が一つに固定されている帳票である。準定型帳票は、項目は定められているが、記入枠の位置や大きさが定められておらず、異なる様式が複数存在する帳票である。非定型帳票は、項目、記入枠の位置及び大きさが定まった様式が存在しない帳票である。
【0004】
つまり、帳票には、準定型帳票のように、同じ種別の帳票であっても、微妙に異なる様式の帳票(以下、亜種ともいう)が複数存在するという現状がある。このような、様々な亜種が混在していると、ある様式の帳票はOCRによる文字認識ができるが、別の微妙に異なる様式の帳票はOCRによる文字認識ができないといった事象が生じ、帳票のOCR利用の妨げになっていた。
【0005】
この対策として、特許文献1には、OCR文字認識用に定義した定義体の帳票レイアウトを、対象の帳票画像から抽出した罫線レイアウトに応じて補正することにより、様式が類似している帳票群に対して1つの定義体で文字認識を行う技術が開示されているが可能となる。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、亜種の帳票をOCRに読み込ませようとする度に、OCR文字認識の定義体を補正すると、補正の手間がかかってしまう。特に、亜種が混在した大量の帳票を文字認識しようとした場合、特許文献1の技術を適用することは非効率であり現実的でないという問題があった。
【0008】
本発明は、上記問題を解決すべくなされたもので、その目的は、OCR文字認識に用いる定義体を補正することなく、OCR文字認識ができるように亜種を仕分けることができる帳票仕分システム、帳票仕分方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記問題を解決するために、本発明の一態様は、仕分対象の帳票である対象帳票を取得する取得部と、学習済みモデルを用いて、前記対象帳票の種別を分類する種別分類部と、前記対象帳票の特徴を抽出する特徴抽出部と、前記種別分類部による分類結果、及び前記特徴抽出部による抽出結果に基づき、予め登録された文字認識の定義体に対応する帳票の特徴との類似度合いを用いて機械学習を行うことにより前記対象帳票を分類する亜種分類部と、を備え、前記学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである、ことを特徴とする帳票仕分システムである。
【0011】
また、本発明の一態様は、上記に記載の帳票仕分システムにおいて、前記亜種分類部は、前記特徴抽出部によって抽出された罫線の特徴と、前記定義体に対応する帳票における罫線の特徴との類似度合いを用いたクラスタ分析を行うことにより前記対象帳票を分類する、するようにしてもよい。
【0012】
また、本発明の一態様は、上記に記載の帳票仕分システムにおいて、前記定義体に対応する帳票は、登録用帳票に上記クラスタ分析を行うことにより得られるクラスタ内の帳票から選択された帳票であるようにしてもよい。
【0013】
また、本発明の一態様は、上記に記載の帳票仕分システムにおいて、前記亜種分類部による分類結果に基づき、前記定義体に対応する帳票と同一グループに分類された前記対象帳票が、前記定義体を用いた文字認識に適合するか否かを判定する適合判定部を更に備えるようにしてもよい。
【0014】
また、本発明の一態様は、上記に記載の帳票仕分システムにおいて、前記適合判定部は、前記定義体に対応する帳票と同一グループに分類された前記対象帳票における罫線の特徴と、前記定義体に対応する帳票における罫線の特徴との類似度合いに基づき、前記定義体を用いた文字認識に適合するか否かを判定するようにしてもよい。
【0015】
また、本発明の一態様は、取得部が、仕分対象の帳票である対象帳票を取得し、種別分類部が、学習済みモデルを用いて、前記対象帳票の種別を分類し、特徴抽出部が、前記対象帳票における罫線の特徴を抽出し、亜種分類部が、前記種別分類部による分類結果、及び前記特徴抽出部による抽出結果に基づき、予め定義された文字認識の定義体に対応する帳票との類似度合を用いて機械学習を行うことにより前記対象帳票を分類する、帳票仕分方法であって、前記学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである、ことを特徴とする帳票仕分方法である。
【0016】
また、本発明の一態様は、コンピュータを、仕分対象の帳票である対象帳票を取得する取得手段、学習済みモデルを用いて、前記対象帳票の種別を分類する種別分類手段、前記対象帳票における罫線の特徴を抽出する特徴抽出手段、前記種別分類手段による分類結果、及び前記特徴抽出手段による抽出結果に基づき、予め定義された文字認識の定義体に対応する帳票との類似度合を用いて機械学習を行うことにより前記対象帳票を分類する亜種分類手段、として機能させるためのプログラムであって、前記学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルであるプログラムである。
【発明の効果】
【0017】
この発明によれば、OCR読み取り用の定義体を補正することなく、OCR読み取りができるように亜種を仕分けることができる。
【図面の簡単な説明】
【0018】
【
図1】実施形態の帳票認識システム1の構成例を示すブロック図である。
【
図2】実施形態の種別分類装置10の構成例を示すブロック図である。
【
図3】実施形態の亜種分類装置20の構成例を示すブロック図である。
【
図4】実施形態の種別分類装置10が行う処理の流れを示すフロー図である。
【
図5】実施形態の帳票認識システム1が行う処理の流れを示すシーケンス図である。
【
図6】実施形態の亜種分類装置20が行う処理の流れを示すフロー図である。
【
図7】実施形態の亜種分類装置20が行う処理を説明する図である。
【
図8】実施形態の帳票認識システム1が行う処理の流れを示すシーケンス図である。
【
図9】実施形態の種別分類装置10が行う処理の流れを示すフロー図である。
【
図10】実施形態の亜種分類装置20が行う処理の流れを示すフロー図である。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について図面を参照して説明する。
【0020】
図1は、実施形態の帳票認識システム1の構成例を示すブロック図である。帳票認識システム1は、例えば、帳票仕分システム100と、文字認識装置30とを備える。
【0021】
帳票仕分システム100は、様々な様式の帳票を、同一のOCR定義体により読み取り可能なグループに仕分するシステムである。ここで、OCR定義体とは、OCR文字認識の対象となる帳票に関する情報であって、OCR文字認識に用いられる情報である。OCR定義体には、例えば、罫線の本数や長さ、配置などを示す罫線のレイアウト情報、及び帳票のタイトルや項目名称などを示す帳票の固有情報が含まれる。
【0022】
本実施形態において、仕分けの対象となる帳票(以下、対象帳票ともいう)は、源泉徴収票、給与明細書、各種の帳簿や伝票、申込書など、業務や取引または申請などに必要な情報の記入や印刷のために用いられる書類であって、罫線などにより項目欄や記入枠が形成され、定められた位置に定められた記載がなされるようにレイアウトされた書類である。
【0023】
帳票仕分システム100は、例えば、種別分類装置10と、複数の亜種分類装置20(亜種分類装置20-1、20-2、…、20-N)とを備える。Nは、種別分類装置10により分類された種別の数に応じて決定される自然数である。
【0024】
種別分類装置10は、機械学習の手法を用いて、対象帳票を、その種別ごとに分類するコンピュータである。種別分類装置10が用いる機械学習の手法は、既存の任意の学習手法であってよいが、例えば、教師あり学習であり、CNN(Convolutional Neural Network)等による深層学習(ディープラーニング)のモデルを用いた手法である。学習済みモデルを用いた分類が行われる場合、種別分類装置10が帳票をどのように分類するかは、学習済みモデルにどのようなデータを機械学習させるかにより決定される。学習済みモデルについては、後で詳しく説明する。
【0025】
種別分類装置10は、対象帳票を、一見して見た目が異なるものごとに分類する。例えば、種別分類装置10は、帳票のタイトルごとに対象帳票を分類する。或いは、種別分類装置10は、帳票の様式ごとに、対象帳票を分類する。換言すると、種別分類装置10は、一見して見た目が変わらない対象帳票を、同じ種別に分類する。つまり、種別分類装置10は、亜種を区別せず、同じ種別として分類する。具体的に、種別分類装置10が帳票のタイトルごとに対象帳票を分類する場合、帳票のタイトルが同じであって記入枠の位置や大きさが微妙に異なる様式の対象帳票(亜種)が複数ある場合、これらの亜種を同じ種別の帳票として分類する。種別分類装置10は、分類結果を亜種分類装置20に出力する。
【0026】
亜種分類装置20は、種別分類装置10により同じ種別に分類された帳票群を、その亜種ごとに分類するコンピュータである。亜種分類装置20は、種別分類装置10から分類結果を取得する。亜種分類装置20は、取得した情報に基づいて、同じ種別に分類された帳票群のそれぞれの特徴量を抽出する。ここでの特徴量は、亜種を分類するために必要な帳票の特徴を示す度合いであり、例えば、帳票に用いられている罫線の態様(例えば、罫線の間隔など)である。
【0027】
亜種分類装置20は、抽出した特徴量を用いて機械学習を行うことにより亜種を分類する。亜種分類装置20が用いる機械学習の手法は、既存の任意の手法であってよいが、例えば、教師なし学習であり、クラスタ分析を用いた手法である。
【0028】
亜種分類装置20は、同一のOCR定義体を用いた文字認識が可能となる範囲で亜種を分類する。これにより、ある亜種はOCRによる文字認識ができるが、別の亜種はOCRによる文字認識ができないといった事象を生じ難くすることができる。したがって、帳票のOCR利用を促進することが可能である。
【0029】
亜種分類装置20は、予め登録したOCR定義体に対応する帳票(以下、代表帳票ともいう)の特徴量と、対象帳票の特徴量の類似度合いに基づいて、亜種を分類する。つまり、亜種分類装置20は、代表帳票と似た特徴を有する亜種を、同じグループに分類する。代表帳票は、予め登録済みであり、OCR文字認識できるように、すでにOCR定義体が生成されている帳票である。これにより、代表帳票と似た特徴を有すると分類された亜種は、その代表帳票に対応するOCR定義体を用いてOCR文字認識を行うことができる可能性が高い。亜種分類装置20が亜種を分類する方法については、後で詳しく説明する。亜種分類装置20は、亜種を分類した分類結果を文字認識装置30に出力する。
【0030】
文字認識装置30は、OCR文字認識を行うコンピュータである。文字認識装置30には、複数の代表帳票のそれぞれに対応するOCR定義体が登録されている。亜種分類装置20により指定された代表帳票に基づいて、作業者等によりOCR定義体が生成され、生成されたOCR定義体が、文字認識装置30に登録(記憶)される。なお、文字認識装置30が帳票に基づくOCR定義体を生成する機能を有する場合、文字認識装置30は、亜種分類装置20により指定された代表帳票に対応するOCR定義体を生成するようにしてもよい。亜種分類装置20が代表帳票を指定する方法については後で詳しく説明する。
【0031】
文字認識装置30は、亜種分類装置20から分類結果を取得する。文字認識装置30は、代表帳票と似た特徴を有すると分類された亜種を、その代表帳票に対応するOCR定義体を用いてOCR文字認識を行う。
【0032】
図1の例では、対象帳票が、種別分類装置10によりN個の種別(種別1、種別2、…種別N)のいずれかに分類される構成が示されている。また、それぞれの種別に分類された帳票群が、亜種分類装置20のそれぞれにより複数の亜種に分類される構成が示されている。例えば、亜種分類装置20-1により複数の亜種(種別1亜種A、種別1亜種B、…)に分類される構成が示されている。亜種分類装置20-2により複数の亜種(種別2亜種A、種別2亜種B、…)に分類される構成が示されている。亜種分類装置20-Nにより複数の亜種(種別N亜種A、種別N亜種B、…)に分類される構成が示されている。
【0033】
図2は、実施形態の種別分類装置10の構成例を示すブロック図である。種別分類装置10は、例えば、対象画像取得部11と、学習用画像取得部12と、前処理部13と、学習部14と、予測部15と、種別分類部16と、出力部17と、学習済みモデルパラメータ記憶部18とを備える。
【0034】
種別分類装置10が行う処理には、「事前準備」と、「分類実行」との2つの段階がある。「事前準備」の段階において、対象帳票を種別ごとに分類する前に、種別分類装置10により実際の分類に用いる学習済みモデルが準備される。「分類実行」の段階において、10により、対象帳票を種別ごとに分類する実際の分類が行われる。以下、「事前準備」と、「分類実行」との2つの段階について、順に説明する。
【0035】
(事前準備)
種別分類装置10は、事前準備として、学習済みモデルを生成する。学習済みモデルは、学習用の帳票(以下、学習用帳票ともいう)と、その種別との対応関係を学習することにより、入力された未学習の帳票の種別を予測できるように学習されたモデルである。すなわち、学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである。
【0036】
学習用画像取得部12は、学習用帳票の画像データを取得する。学習用帳票は、例えば、標準的なフォーマットとして既に公開されている帳票や、過去に利用された実績のある現物の帳票である。画像データは、例えば、紙の帳票をスキャナ等の読取装置で読み取った画像の電子情報である。学習用画像取得部12は、例えば、種別分類装置10と接続されたスキャナにより読み取られた画像の情報を取得する。或いは、学習用画像取得部12は、外部のDB(データベース)サーバ装置に蓄積された学習用帳票の画像データを、ネットワーク等を介して取得するようにしてもよい。学習用画像取得部12は、取得した学習用帳票の画像データを前処理部13に出力する。
【0037】
前処理部13は、学習モデルに学習させるデータセットを生成する。学習モデルは、学習済みモデルに学習させる前のモデルであり、例えばCNN等による深層(多層)モデルである。前処理部13は、学習モデルに学習させるデータとして、学習データと教師データとを対応づけたデータセットを生成する。学習データは、学習モデルに入力させるデータであり、学習用画像取得部12によって取得された学習用帳票の画像データである。教師データは、学習モデルから出力される予測値の誤差を算出するためのデータであり、学習用帳票の種別を示す情報である。前処理部13は、学習データとしての学習用帳票に、教師データとしてのその学習用帳票の種別を対応付けることにより学習モデルに学習させるデータセットを生成する。前処理部13は、生成したデータセットを学習部14に出力する。
【0038】
学習部14は、前処理部13により生成された学習用のデータセットを用いて、学習モデルを学習させる。学習部14は、学習モデルに、データセットの学習データを入力させる。学習部14は、誤差逆伝搬法などの手法を用いて、学習モデルから出力されたデータ(予測値)が、当該学習データに対応する教師データ(種別)に近づくように、学習モデルのパラメータを調整する。学習部14は、学習モデルの出力層から出力される予測値の誤差が所定の閾値以下となるなど、所定の終了条件を満たしたと判定される場合に、学習モデルの学習を終了させる。学習部14は、学習を終了させた際の学習モデルを学習済みモデルとして確定させる。学習部14は、学習を終了させた際の学習モデルに設定されていたパラメータを学習済みモデルパラメータ記憶部18に記憶させる。ここでのパラメータは、学習済みモデルを生成するための用いられる変数であって、例えば、CNNの学習モデルを用いて学習済みモデルが生成された場合であれば、CNNの入力層、中間層、出力層の各層のユニット数、隠れ層の層数、活性化関数などを示す情報や、各階層のノードを結合する結合係数や重みを示す情報である。
【0039】
学習済みモデルパラメータ記憶部18は、学習部14により生成された学習済みモデルのパラメータを記憶する。
【0040】
(分類実行)
種別分類装置10は、分類実行の段階において、対象帳票の種別を分類する。
【0041】
対象画像取得部11は、対象帳票の画像データを取得する。対象画像取得部11が対象帳票の画像データを取得する方法は、学習用画像取得部12が登録用帳票の画像データを取得する方法と同様であるためその説明を省略する。対象画像取得部11は、取得した対象画像の画像データを予測部15に出力する。
【0042】
予測部15は、対象画像の種別を予測する。予測部15は、対象画像取得部11から対象画像の画像データを取得する。予測部15は、学習済みモデルパラメータ記憶部18を参照することにより、学習部14により生成された学習済みモデルを取得(再構築)する。予測部15は、学習済みモデルに対象画像を入力して得られる出力を予測結果とする。予測部15は、予測結果を種別分類部16に出力する。
【0043】
ここで、学習済みモデルは、予測結果を、その確信度と共に出力する。ここでの確信度とは、予測した種別の確からしさであり、例えば学習済みモデルが予測した種別である確率を示す情報である。例えば、モデルの活性化関数にSoftmax関数を用いることにより、学習済みモデルから、予測結果の確立(確信度合い)を出力させることが可能である。例えば、学習済みモデルは、対象帳票が種別1(例えば、確定申告書)である確率が90%である、という予測結果を出力する。例えば、学習済みモデルは、対象帳票が種別1(例えば、確定申告書)である確率が55%で、種別2(例えば、審査請求書)である確率が40%である、というような予測結果を出力する。なお、確信度は、少なくとも予測した種別の確からしさを示す度合いであればよく、確率に限定されない。例えば、確信度は、(確からしさが)「高い」か「低い」かを示す二値の情報であってもよいし、「高い」、「やや高い」、「やや低い」、「低い」等、複数のレベルを示す情報であってもよい。
【0044】
種別分類部16は、予測部15からの予測結果に基づいて、対象帳票の種別を確定させる。種別分類部16は、例えば、確信度が所定の閾値以上であるもののうち、最も確信度が高い種別を、その対象帳票の種別であると判定する。種別分類部16は、確信度が所定の閾値未満である場合、その対象帳票の種別が不明であると判定する。種別分類部16は、対象帳票の種別を判定した判定結果を、出力部17を介して出力する。
【0045】
ここで、種別分類部16は、判定した種別に応じて、出力先を変更するようにしてもよい。例えば、種別分類部16は、判定した種別がテキスト化の対象となる種別である場合、対象帳票の種別を判定した判定結果を亜種分類装置20に出力する。一方、種別分類部16は、判定した種別がテキスト化の対象とならない種別である場合には、判定結果を他の装置に出力する。他の装置は、例えば、テキスト化の対象としない帳票の画像データが集約されるデータベースである。
【0046】
また、種別分類部16は、確信度が所定の閾値未満である場合、その旨を示す警告を、作業者が知覚可能となるように、例えば図示しない表示部に表示させるようにしてもよい。これにより、種別分類部16は、種別が不明の対象帳票があることを、作業者に知らせることができる。作業者は、警告に応じて、種別不明の対象帳票を目視で確認する等して、個別の対応を行う、或いは、学習済みモデルを再学習させるか等の対応を行うことが可能となる。なお、学習済みモデルを再学習させる場合には、学習用帳票に、種別不明の対象帳票と、その種別とを対応付けたデータセットを含めるようにする。これにより、再学習後の学習済みモデルにより、再学習前のモデルで種別不明と予測された帳票の種別を、精度よく予測することが可能となる。
【0047】
図3は、実施形態の亜種分類装置20の構成例を示すブロック図である。亜種分類装置20は、例えば、対象画像取得部21と、定義体登録用画像取得部22と、罫線抽出部23と、類似度算出部24と、亜種クラスタリング部25と、適合判定部26と、亜種分類部27と、出力部28とを備える。
【0048】
亜種分類装置20が行う処理には、「事前準備」と、「分類実行」との2つの段階がある。「事前準備」の段階において、同一の種別に分類された対象帳票群を亜種ごとに分類する前に、分類の基準となる代表帳票と、その代表帳票に対応するOCR定義体とが準備される。「分類実行」の段階において、同一の種別に分類された対象帳票群を亜種ごとに分類する、実際の分類が亜種分類装置20により行われる。以下、「事前準備」と、「分類実行」との2つの段階について、順に説明する。
【0049】
(事前準備)
亜種分類装置20は、事前準備として、代表帳票を選択する。代表帳票は、OCR文字認識を行う場合に用いられるOCR定義体が生成される帳票である。代表帳票を基準として、代表帳票と似た特徴を有する亜種を、同じグループに分類することにより、その代表帳票に対応するOCR定義体を用いてOCR文字認識ができるようにする。
【0050】
定義体登録用画像取得部22は、OCR定義体を登録するための帳票(以下、登録用帳票ともいう)の画像データを取得する。登録用帳票は、例えば、標準的なフォーマットとして既に公開されている帳票や、過去に利用された実績のある現物の帳票である。定義体登録用画像取得部22は、例えば、亜種分類装置20と接続されたスキャナにより読み取られた画像の情報を取得する。或いは、定義体登録用画像取得部22は、外部のDB(データベース)サーバ装置に蓄積された登録用帳票の画像データを、ネットワーク等を介して取得するようにしてもよい。定義体登録用画像取得部22は、取得した登録用帳票の画像データを罫線抽出部23に出力する。
【0051】
罫線抽出部23は、登録用帳票から罫線を抽出する。罫線抽出部23は、既存の技術を用いて罫線を抽出する。例えば、罫線抽出部23は、登録用帳票の画像データをHough変換することにより罫線を抽出する。或いは罫線抽出部23は、登録用帳票にラプラシアンフィルタやソーベル(Sobel)フィルタを適用することにより、登録用帳票における罫線を抽出するようにしてもよい。罫線抽出部23は、登録用帳票から抽出した罫線を示す情報を、登録用帳票に対応づけて、類似度算出部24に出力する。
【0052】
類似度算出部24は、登録用帳票における罫線の特徴に基づいて、帳票同士の類似度を算出する。罫線の特徴は、特にOCR文字認識をさせる場合に、認識に用いられるような特徴的な罫線の態様であり、例えば、罫線の長さ、本数、矩形の位置やサイズ、個数などを示す情報である。類似度算出部24は、例えば、これらの罫線の特徴を数値化(ベクトル表現)して高次元のベクトル空間上に配置する。類似度算出部24は、罫線の特徴量がマッピングされたベクトル空間における帳票同士の相関量をコサイン、内積、距離等によって計算する。類似度算出部24は、計算した相関量を、帳票同士の類似度とする。類似度算出部24は、算出した類似度を亜種クラスタリング部25に出力する。
【0053】
亜種クラスタリング部25は、類似度算出部24によって算出された帳票同士の類似度に基づいて、クラスタ分析を行う。クラスタ分析は、異なる性質のものが混在している集団を、互いに似た性質を持ついくつかの集合に分類する手法である。
【0054】
亜種クラスタリング部25は、例えば、階層クラスタ分析を行う。すなわち、亜種クラスタリング部25は、クラスタ分析をするにあたり、分類する集団の数(クラスタ数)を事前に設定しない。毎年のように亜種が発生する状況において、テキスト化対象の帳票群に対し、幾つのOCR定義体を定義して、幾つの亜種に分類すれば、OCR認識が可能となるかは未知であるためである。亜種クラスタリング部25は、クラスタ分析した結果を適合判定部26、及び亜種分類部27に出力する。
【0055】
適合判定部26は、クラスタ分析された個々の集団(同じ亜種と分類された帳票群)の異常検知を行う。ここでの異常検知とは、分類された帳票群の中から、極端に類似度が低いものが存在しているか否かを検知することである。同じ集団分類された帳票群のうち、類似度が高く互いに特徴が似ているものは同じOCR定義体を用いてOCR認識できる可能性が高いが、極端に類似度が低いものはOCR認識できる可能性が低いと考えられるためである。適合判定部26は、同じ亜種と分類された帳票群が、同じOCR定義体を用いたOCR認識できるか、すなわち、同一のOCR定義体に適合するか否かを判定する。
【0056】
適合判定部26は、例えば、異常、つまり極端に類似度が低い帳票、が検出された場合、その旨を示す警告を、表示部に表示させるようにしてもよい。これにより、種別分類部16は、同じ亜種として分類された帳票の中に極端に類似度が低い対象帳票があることを、作業者に知らせることができる。作業者は、警告に応じて、対象帳票を目視で確認する等して、個別の対応を行う等の対応を行うことができる。適合判定部26は、判定結果を亜種分類部27に出力する。
【0057】
亜種分類部27は、亜種クラスタリング部25によるクラスタ分析の結果と、適合判定部26による異常検知の結果とを用いて、登録用帳票を亜種ごとに分類する。亜種分類部27は、クラスタ分析により分類された亜種の集団のそれぞれから、異常検知された帳票を取り除いた集団を、同じ亜種に分類された帳票群とする。なお、亜種分類部27は、亜種クラスタリング部25により階層クラスタ分析した結果から、どの階層の分類結果を用いるかを任意に決定してよい。亜種分類部27は、例えば、同一の亜種として分類された帳票群の分布や、OCR認識の精度等に応じて、OCR定義体にて読み取り可能な範囲を決定する。亜種分類部27は、亜種ごとに分類した分類結果を、出力部28を介して、文字認識装置30に出力する。
【0058】
(分類実行)
亜種分類装置20は、分類実行の段階において、対象帳票を亜種ごとに分類する。
【0059】
対象画像取得部21は、対象帳票の画像データを取得する。対象画像取得部21が対象帳票の画像データを取得する方法は、定義体登録用画像取得部22が登録用帳票の画像データを取得する方法と同様であるためその説明を省略する。対象画像取得部21は、取得した対象画像の画像データを罫線抽出部23に出力する。
【0060】
罫線抽出部23は、対象帳票から罫線を抽出する。罫線抽出部23が対象帳票から罫線を抽出する方法は、登録用帳票から罫線を抽出する方法と同等であるため、その説明を省略する。罫線抽出部23は、対象帳票から抽出した罫線を示す情報を、登録用帳票に対応づけて、類似度算出部24に出力する。
【0061】
類似度算出部24は、対象帳票における罫線の特徴に基づいて、代表帳票との類似度を算出する。類似度算出部24が類似度を算出する方法は、既に説明したため、その説明を省略する。類似度算出部24は、算出した類似度を亜種クラスタリング部25に出力する。
【0062】
亜種クラスタリング部25は、類似度算出部24によって算出された対象帳票の帳票同士の類似度に基づいて、クラスタ分析を行う。亜種クラスタリング部25がクラスタ分析を行う方法は既に説明したためその説明を省略する。亜種クラスタリング部25は、クラスタ分析した結果を適合判定部26、及び亜種分類部27に出力する。
【0063】
適合判定部26は、クラスタ分析された個々の集団(同じ亜種と分類された帳票群)の異常検知を行う。適合判定部26が異常検知を行う方法は既に説明したためその説明を省略する。適合判定部26は、異常検知を行った結果を亜種分類部27に出力する。
【0064】
亜種分類部27は、亜種クラスタリング部25によるクラスタ分析の結果と、適合判定部26による異常検知の結果とを用いて、対象帳票を亜種ごとに分類する。亜種分類部27が亜種ごとに分類を行う方法は既に説明したためその説明を省略する。亜種分類部27は、対象帳票を亜種ごとに分類した分類結果を、出力部28を介して、文字認識装置30に出力する。
【0065】
図4は、実施形態の種別分類装置10が行う処理の流れを示すフロー図である。
図4には、事前準備の段階において、種別分類装置10が学習済みモデルを生成する処理の流れが示されている。
【0066】
種別分類装置10は、事前準備の段階において、学習用帳票(学習用の帳票群)を取得する(ステップS11)。種別分類装置10は、学習用帳票を用いて、学習データ(学習用帳票)と教師データ(種別)とを対応させた、学習用のデータセットを生成する(ステップS12)。種別分類装置10は、学習モデルに、学習データ(学習用帳票)を入力する(ステップS13)。種別分類装置10は、学習モデルから得られる出力(種別の予測値)と、教師データ(種別の正解)との誤差に応じて、その誤差が小さくなるように学習モデルのパラメータを更新する(ステップS14)。種別分類装置10は、所定の終了条件を充足するか否かを判定する(ステップS15)。ここでの終了条件とは、例えば、誤差が所定の閾値を下回ったこと、或いは、学習回数の上限に達したこと等である。種別分類装置10は、終了条件を充足する場合、学習を終了する。種別分類装置10は、終了条件を充足しない場合、ステップS13に戻り学習を繰返す。
【0067】
図5は、実施形態の帳票認識システム1が行う処理の流れを示すシーケンス図である。
図5には、事前準備の段階において、OCR定義体が登録される処理の流れが示されている。
【0068】
亜種分類装置20は、登録用帳票(定義体登録用の帳票)をクラスタ分析(亜種クラスタリング、と記載)する(ステップS21)。亜種分類装置20は、クラスタ分析した結果得られた集団(クラスタ)内の帳票から代表帳票を選択する(ステップS22)。亜種分類装置20は、例えば、クラスタ分析した結果得られた集団から、異常検知された帳票を除いた集団を生成する。亜種分類装置20は、異常検知された帳票を除いた集団のなかで、最も共通した特徴を持つ帳票を代表帳票として選択する。最も共通した特徴を持つ帳票とは、例えば、特徴量のベクトル空間にマッピングされた帳票群の代表値(例えば、中央値)に最も近い位置に配置される帳票である。亜種分類装置20は、集団(クラスタ)内の代表帳票を文字認識装置30に出力する。文字認識装置30は、亜種分類装置20から取得した代表帳票に対応するOCR定義体を生成し、生成した定義体を記憶させるなどして登録する(ステップS23)。
【0069】
図6は、実施形態の亜種分類装置20が行う処理の流れを示すフロー図である。
図6には、
図5のステップS21~S22に対応する処理の流れの詳細が示されている。
【0070】
亜種分類装置20は、複数の登録用帳票(定義体登録用の帳票群)を取得し(ステップS211)、取得した登録用帳票のそれぞれの画像データから罫線を抽出する(ステップS212)。亜種分類装置20は、登録用帳票のそれぞれの帳票間の罫線の特徴量の類似度を算出する(ステップS213)。亜種分類装置20は、類似度に基づくクラスタ分析(亜種クラスタリング)を行う(ステップS214)。
【0071】
亜種分類装置20は、同一のクラスタ内に分類された帳票のそれぞれに異常検知(適合判定)を行う(ステップS221)。亜種分類装置20は適合判定の結果を用いてクラスタ内の代表帳票を選択する(ステップS222)。例えば、亜種分類装置20は、異常検知(適合判定)の結果、他の帳票と比較して極端に類似度が低い帳票を、そのクラスタから取り除く。亜種分類装置20は、極端に類似度が低い帳票を除いた後の帳票群から、集団内で共通する特徴を最も備えている帳票を、代表帳票として選択する。
【0072】
図7は、実施形態の亜種分類装置20が行う処理を説明する図である。
図7には、クラスタ分析の結果が模式的に示されている。
図7の横軸と縦軸とはそれぞれ特徴量を示している。
図7は2次元の特徴量のベクトル空間である。
図7に示す通り、ベクトル空間に、帳票を、その特徴量に応じてマッピングさせると、その距離に応じていくつかの集団に分類することができる。
図7では、クラスタ分析の結果、クラスタK1~K5の5つの集団に分類された例が示されている。例えば、クラスタK2には、点P1~P5に対応する5つの帳票が含まれている。このうち、点P2~P4に対応する3つの帳票は互いの距離が近く、互いの類似度が高い。一方、点P1は、点P2~P4の点群からやや離れた距離にマッピングされており、点P2~P4に対応する3つの帳票と似ていない、つまり3つの帳票との類似度が低いと考えられる。点P5についても同様に、点P2~P4に対応する3つの帳票との類似度が低いと考えられる。この場合、適合判定部26は、例えば、クラスタK2に分類された帳票から、点P1、P5に相当する帳票を極端に類似度が低い帳票として異常検知する。
【0073】
図8は、実施形態の帳票認識システム1が行う処理の流れを示すシーケンス図である。
図8には、分類実行の段階における帳票認識システム1の処理の流れが示されている。
【0074】
種別分類装置10は、学習済みモデルを用いて、対象帳票の種別を分類する(ステップS30)。種別分類装置10は分類結果を亜種分類装置20に出力する。
【0075】
例えば、種別分類装置10は、種別1に分類された対象帳票のそれぞれ(種別1の帳票群)を示す情報を亜種分類装置20-1に出力する。亜種分類装置20-1は、種別1の帳票群をクラスタ分析して亜種ごとに分類する(ステップS31)。亜種分類装置20-1は、分類結果を文字認識装置30に出力する。例えば、亜種分類装置20-1は、種別1の亜種Aに分類された対象帳票のそれぞれ(種別1の亜種Aの帳票群)を示す情報を文字認識装置30に出力する。亜種分類装置20-1は、種別1の亜種Bに分類された対象帳票のそれぞれ(種別1の亜種Bの帳票群)を示す情報を文字認識装置30に出力する。
【0076】
例えば、種別分類装置10は、種別2に分類された対象帳票のそれぞれ(種別1の帳票群)を示す情報を亜種分類装置20-2に出力する。亜種分類装置20-2は、種別2の帳票群をクラスタ分析して亜種ごとに分類する(ステップS32)。亜種分類装置20-2は、分類結果を文字認識装置30に出力する。例えば、亜種分類装置20-2は、種別2の亜種Aに分類された対象帳票のそれぞれ(種別2の亜種Aの帳票群)を示す情報を文字認識装置30に出力する。亜種分類装置20-2は、種別2の亜種Bに分類された対象帳票のそれぞれ(種別2の亜種Bの帳票群)を示す情報を文字認識装置30に出力する。
【0077】
例えば、種別分類装置10は、種別Nに分類された対象帳票のそれぞれ(種別Nの帳票群)を示す情報を亜種分類装置20-Nに出力する。亜種分類装置20-Nは、種別Nの帳票群をクラスタ分析して亜種ごとに分類する(ステップS33)。亜種分類装置20-Nは、分類結果を文字認識装置30に出力する。例えば、亜種分類装置20-Nは、種別Nの亜種Aに分類された対象帳票のそれぞれ(種別Nの亜種Aの帳票群)を示す情報を文字認識装置30に出力する。亜種分類装置20-Nは、種別Nの亜種Bに分類された対象帳票のそれぞれ(種別Nの亜種Bの帳票群)を示す情報を文字認識装置30に出力する。
【0078】
文字認識装置30は、亜種分類装置20から取得した亜種ごとに、その亜種の代表帳票に対応するOCR定義体を用いて、その亜種に分類された帳票群をOCR文字認識させる(ステップS34)。
【0079】
図9は、実施形態の種別分類装置10が行う処理の流れを示すフロー図である。
図9には、
図8のステップS30に対応する処理の流れの詳細が示されている。
【0080】
種別分類装置10は、対象帳票を取得し(ステップS301)、取得した対象帳票のそれぞれの画像データを学習済みモデルに入力することにより種別を予測(推定)する(ステップS302)。種別分類装置10は、学習済みモデルによって予測された種別の確信度が所定の閾値以上であるか否かを判定する(ステップS303)。種別分類装置10は、確信度が所定の閾値以上である場合、予測された種別を、その対象帳票の種別として確定させる(ステップS304)一方、種別分類装置10は、確信度が所定の閾値未満である場合、その対象帳票の種別を、その他の種別(種別不明)とする(ステップS305)。
【0081】
図10は、実施形態の種別分類装置10が行う処理の流れを示すフロー図である。
図10には、
図8のステップS31(S32、S33)に対応する処理の流れの詳細が示されている。ここではステップS31の処理を例に、処理の流れの詳細を説明する。ステップS32、S33についても同様の処理の流れである。
【0082】
亜種分類装置20-1は、種別ごとの対象帳票を取得し(ステップS311)、取得した対象帳票のそれぞれの画像データから罫線を抽出する(ステップS312)。亜種分類装置20-1は、対象帳票と、代表帳票との類似度を算出する(ステップS313)。亜種分類装置20-1は、類似度に基づくクラスタ分析(亜種クラスタリング)を行う(ステップS314)。亜種分類装置20-1は、適合判定(異常検知)を行い(ステップS315)、異常検知の対象とならなかった帳票を、その亜種に分類された帳票として確定させる(ステップS316)。一方、亜種分類装置20は、異常検知された帳票をその他の亜種(亜種不明)として分類するとする(ステップS317)。
【0083】
以上説明したように、実施形態の帳票認識システム1は、対象画像取得部11と、種別分類部16と、罫線抽出部23(「特徴抽出部」の一例)と、亜種分類部27とを備える。対象画像取得部11は、対象帳票を取得する。種別分類部16は、学習済みモデルを用いて、対象帳票の種別を分類する。学習済みモデルは、学習用帳票を入力させることにより得られる出力が、当該学習用帳票に対応する種別に近づくように学習されたモデルであって、入力された帳票の種別を予測するモデルである。罫線抽出部23は、対象帳票の特徴を抽出する。亜種分類部27は、種別分類部16による分類結果、及び罫線抽出部23による抽出結果に基づき、代表帳票のOCR定義体(予め登録された文字認識の定義体)に対応する帳票の特徴との類似度合いを用いてクラスタ分析(機械学習)を行うことにより対象帳票を分類する。
【0084】
これにより、実施形態の帳票認識システム1では、代表帳票のOCR定義体との類似度に基づいて、代表帳票に似ている帳票群を、1つの亜種として分類することができる。このため、亜種として分類された帳票群を、代表帳票に対応するOCR定義体を用いてOCR文字認識させることができ、文字認識が誤る事例を低減させることが可能である。したがって、OCR文字認識に用いる定義体を補正することなく、OCR文字認識ができるように亜種を仕分けることができる。
【0085】
また、実施形態の帳票認識システム1では、亜種分類部27は、罫線抽出部23によって抽出された罫線の特徴と、代表帳票(OCR定義体に対応する帳票)における罫線の特徴との類似度合いを用いたクラスタ分析を行うことにより、対象帳票を分類する。これにより、実施形態の帳票認識システム1では、教師データを用意することなく、類似度に応じた分類が可能となり、手間を抑えた分類を行うことができる。
【0086】
また、実施形態の帳票認識システム1では、代表帳票は、登録用帳票に、クラスタ分析を行うことにより得られるクラスタ内の帳票から選択された帳票である。これにより、実施形態の帳票認識システム1では、亜種として同一集団に分類された帳票群の中から、その帳票群が共通に有する特徴をもつ帳票を、代表帳票選択することができる。したがって、同一集団に分類された帳票群を、同じOCR定義体で文字認識させることが可能となる。
【0087】
また、実施形態の帳票認識システム1は、適合判定部26を更に備える。適合判定部26は、亜種分類部27による分類結果に基づき、代表帳票と同一グループに分類された亜種が、代表帳票に対応するOCR定義体を用いた文字認識に適合するか否かを判定する。これにより、実施形態の帳票認識システム1では、同じOCR定義体で文字認識させることが困難な帳票をそのグループから取り除くことができ、OCR文字認識が誤りとなる事象を低減させることが可能である。
【0088】
また、実施形態の帳票認識システム1では、適合判定部26は、代表帳票と同一グループに分類された対象帳票における罫線の特徴と、代表帳票における罫線の特徴との類似度合いに基づき、適合するか否かを判定する。これにより、実施形態の帳票認識システム1では、代表帳票と罫線の特徴が似ていない帳票を適合しないとして異常検知することができ、より精度よくOCR文字認識を行うことが可能となる。
【0089】
また、上述した実施形態では、種別ごとに分類した後に、同一種別のなかで亜種ごとに分類を行う場合を例示して説明した。しかしながらこれに限定されることはない。種別に分類することなく、様々な種別の帳票が混在しているなかから、直接、亜種ごとの分類を行うようにしてもよい。この構成であっても、罫線の構成が同一で、帳票のタイトルのみが異なる複数の帳票が存在するなどの特殊なケースを除き、事前に選択した代表帳票に対応するOCR定義体で読み込み可能な亜種ごとの分類を行うことが可能である。
【0090】
なお、上述した実施形態では、外部のDB(データベース)サーバ装置に種々のデータ(学習用帳票の画像データ、登録用帳票の画像データ等)を蓄積させ、帳票認識システム1がネットワーク等を介して当該種々のデータを取得する構成について説明した。この場合における外部のDBサーバ装置は、任意のコンピュータ装置であってよいが、例えば、ネットワークに接続されるストレージ装置、いわゆるNAS(Network Attached Storage)などであってよい。NASにはファイルシステムやネットワーク通信機能が備えられている。このため、帳票認識システム1への導入が容易であり、蓄積させるデータの容量に応じて追加することも容易である。また、帳票認識システム1の異なる種類の複数の装置(種別分類装置10、亜種分類装置20、及び文字認識装置30など)のそれぞれからのデータを、当該複数の装置のそれぞれで共有させることが容易となる。
【0091】
上述した実施形態における帳票認識システム1の全部又は一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0092】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0093】
1 帳票認識システム
10 種別分類装置
11 対象画像取得部
16 種別分類部
20 亜種分類装置
21 対象画像取得部
23 罫線抽出部
27 亜種分類部
30 文字認識装置