(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022012078
(43)【公開日】2022-01-17
(54)【発明の名称】帳票情報生成装置、方法及びプログラム
(51)【国際特許分類】
G06F 16/53 20190101AFI20220107BHJP
G06F 16/583 20190101ALI20220107BHJP
【FI】
G06F16/53
G06F16/583
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2020113622
(22)【出願日】2020-06-30
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.SMALLTALK
(71)【出願人】
【識別番号】517332845
【氏名又は名称】Arithmer株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】坂入 信之
(72)【発明者】
【氏名】園部 竜也
(72)【発明者】
【氏名】上野 広樹
(72)【発明者】
【氏名】岩城 寿紀
(72)【発明者】
【氏名】田野 慎一
(72)【発明者】
【氏名】朴 相麟
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA02
5B175FB03
5B175GA03
5B175HB03
(57)【要約】 (修正有)
【課題】過去の帳票画像に基づいて、対象とする帳票画像の帳票情報を生成する帳票情報生成装置及びプログラムを提供する。
【解決手段】帳票情報生成装置100は、過去の帳票画像から抽出された過去特徴量と、過去の帳票画像に記載された文字の情報に基づいた過去の帳票情報とを関連付けて記憶する記憶部110と、対象とする帳票画像から対象特徴量を抽出する抽出部120と、対象特徴量と過去特徴量との類似度を算出する算出部130と、類似度に基づいて、過去の帳票情報を選択する選択部140と、対象とする帳票画像から予め定められた項目の文字の情報を読み取る読取部150と、選択部140で選択された過去の帳票情報と、読取部150で読み取られた文字の情報とから、対象とする帳票画像に関連付けられた新たな帳票情報を生成して表示する生成部160と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
過去の帳票画像から抽出された過去特徴量と、前記過去の帳票画像に記載された文字の情報に基づいた過去の帳票情報とを関連付けて取得する取得部と、
対象とする帳票画像から対象特徴量を抽出する抽出部と、
前記対象特徴量と前記過去特徴量との類似度を算出する算出部と、
前記類似度に基づいて、前記過去の帳票情報を選択する選択部と、
前記対象とする帳票画像から予め定められた項目の文字の情報を読み取る読取部と、
前記選択部で選択された前記過去の帳票情報と、前記読取部で読み取られた前記文字の情報とから、前記対象とする帳票画像に関連付けられた新たな帳票情報を生成して表示する生成部と
を備える帳票情報生成装置。
【請求項2】
前記抽出部は、深層距離学習で得られたものに対応する請求項1に記載の帳票情報生成装置。
【請求項3】
前記抽出部は、一組の帳票画像のラベル及び類似度の入力に応じて、同じラベルのときには前記類似度が大きいほど値が小さく、異なるラベルのときには類似度が小さいほど値が小さくなる損失関数を用いた学習で得られたものに対応する
請求項1又は2に記載の帳票情報生成装置。
【請求項4】
前記過去特徴量及び前記抽出部は、一の帳票画像の第1ラベルと、前記帳票画像から得られた特徴量とび予め設定された複数の第2ラベルに対応する特徴量の類似度との入力に応じて、第1ラベルと第2ラベルとが同じラベルのときには前記類似度が大きいほど値が小さく、第1ラベルと第2ラベルとが異なるラベルのときには類似度が小さいほど値が小さくなる損失関数を用いた学習で得られたものに対応する
請求項1又は2に記載の帳票情報生成装置。
【請求項5】
前記生成部は、前記選択された前記過去の帳票情報の前記文字の情報を、前記読み取られた前記文字の情報で書き換えることにより前記新たな帳票情報を生成する請求項1から4のいずれか1項に記載の帳票情報生成装置。
【請求項6】
前記生成部は、書き換えなかった前記文字の情報について、前記選択された前記過去の帳票情報の前記文字の情報を前記新たな帳票情報に使用する請求項5に記載の帳票情報生成装置。
【請求項7】
前記生成部は、前記新たな帳票情報のうち前記過去の帳票情報と同じ部分と異なる部分とを区別可能に表示する請求項1から6のいずれか1項に記載の帳票情報生成装置。
【請求項8】
前記生成部は、前記読取部で読み取った前記文字の情報の読み取りの確度に応じて前記新たな帳票情報を表示する請求項1から7のいずれか1項に記載の帳票情報生成装置。
【請求項9】
前記選択部は、予め定められた閾値以上の類似度の前記過去特徴量がない場合に、警告する請求項1から8のいずれか1項に記載の帳票情報生成装置。
【請求項10】
会計処理システムに読み込ませる請求情報を生成するための装置であって、
前記請求情報及び当該請求情報に対応する請求書画像は、それぞれ第1情報と第2情報とを含むものであり、
過去の請求情報と、過去の請求書画像とを関連付けて記憶する取得部と、
前記取得部を参照することにより新たな請求書画像と類似する過去の請求書画像を選択し、当該選択した過去の請求情報から前記第1情報を抽出する第1情報取得部と、
前記新たな請求書画像から前記第2情報を光学的文字認識装置(OCR)で読み取る第2情報取得部と、
前記第1情報取得部により抽出された第1情報と、前記第2情報取得部により読み取られた第2情報とから、新たな請求情報を生成する生成部と、
を備える装置。
【請求項11】
過去の帳票画像から抽出された過去特徴量と、前記過去の帳票画像に記載された文字の情報に基づいた過去の帳票情報とを関連付けて取得するステップと、
対象とする帳票画像から対象特徴量を抽出するステップと、
前記対象特徴量と前記過去特徴量との類似度を算出するステップと、
前記類似度に基づいて、前記過去の帳票情報を選択するステップと、
前記対象とする帳票画像から予め定められた項目の文字の情報を読み取るステップと、
前記選択のステップで選択された前記過去の帳票情報と、前記読み取りのステップで読み取られた前記文字の情報とから、前記対象とする帳票画像に関連付けられた新たな帳票情報を生成して表示するステップと
を備える方法。
【請求項12】
請求項11に記載の方法を、コンピュータに実現させるプログラム。
【請求項13】
会計処理システムに読み込ませる請求情報を生成するための方法であって、
前記請求情報及び当該請求情報に対応する請求書画像は、それぞれ第1情報と第2情報とを含むものであり、
過去の請求情報と、過去の請求書画像とを関連付けて取得するステップと、
取得した前記過去の請求書画像を参照することにより新たな請求書画像と類似する過去の請求書画像を選択し、当該選択した過去の請求情報から前記第1情報を抽出するステップと、
前記新たな請求書画像から前記第2情報を光学的文字認識装置(OCR)で読み取るステップと、
前記第1情報と、前記第2情報とから、新たな請求情報を生成するステップと、
を備える方法。
【請求項14】
請求項13に記載の方法を、コンピュータに実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票情報生成装置、方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1及び2には、「管理装置1は、紙媒体の画像を示す画像情報と、当該画像に対応して過去に入力された入力情報とを関連付けて記憶部11に記憶しており、記憶部11に記憶されている画像情報から、取得された画像情報と類似する画像情報を特定する(
図1の(3))。管理装置1は、特定した画像情報に関連付けられている入力情報を特定し、当該入力情報と、取得された画像情報から抽出された文字情報とを、ユーザ端末2に送信される入力画面に出力する(
図1の(4))。」と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2017-174199
[特許文献2] 特開2017-174200
【発明の概要】
【0003】
本発明の第1の態様においては、帳票情報生成装置であって、過去の帳票画像から抽出された過去特徴量と、過去の帳票画像に記載された文字の情報に基づいた過去の帳票情報とを関連付けて取得する取得部と、対象とする帳票画像から対象特徴量を抽出する抽出部と、対象特徴量と過去特徴量との類似度を算出する算出部と、類似度に基づいて、過去の帳票情報を選択する選択部と、対象とする帳票画像から予め定められた項目の文字の情報を読み取る読取部と、選択部で選択された過去の帳票情報と、読取部で読み取られた文字の情報とから、対象とする帳票画像に関連付けられた新たな帳票情報を生成して表示する生成部とを備える。
【0004】
本発明の第2の態様においては、会計処理システムに読み込ませる請求情報を生成するための装置であって、請求情報及び当該請求情報に対応する請求書画像は、それぞれ第1情報と第2情報とを含むものであり、過去の請求情報と、過去の請求書画像とを関連付けて取得する取得部と、取得部を参照することにより新たな請求書画像と類似する過去の請求書画像を選択し、当該選択した過去の請求情報から第1情報を抽出する第1情報取得部と、新たな請求書画像から第2情報を光学的文字認識装置(OCR)で読み取る第2情報取得部と、第1情報取得部により抽出された第1情報と、第2情報取得部により読み取られた第2情報とから、新たな請求情報を生成する生成部と、を備える。
【0005】
本発明の第3の態様においては、方法であって、過去の帳票画像から抽出された過去特徴量と、過去の帳票画像に記載された文字の情報に基づいた過去の帳票情報とを関連付けて取得するステップと、対象とする帳票画像から対象特徴量を抽出するステップと、対象特徴量と過去特徴量との類似度を算出するステップと、類似度に基づいて、過去の帳票情報を選択するステップと、対象とする帳票画像から予め定められた項目の文字の情報を読み取るステップと、選択のステップで選択された過去の帳票情報と、読み取りのステップで読み取られた文字の情報とから、対象とする帳票画像に関連付けられた新たな帳票情報を生成して表示するステップとを備える。
【0006】
本発明の第4の態様においては、プログラムであって、コンピュータに上記方法を実現させる。
【0007】
本発明の第5の態様においては、会計処理システムに読み込ませる請求情報を生成するための方法であって、請求情報及び当該請求情報に対応する請求書画像は、それぞれ第1情報と第2情報とを含むものであり、過去の請求情報と、過去の請求書画像とを関連付けて取得するステップと、取得した過去の請求書画像を参照することにより新たな請求書画像と類似する過去の請求書画像を選択し、当該選択した過去の請求情報から第1情報を抽出するステップと、新たな請求書画像から第2情報を光学的文字認識装置(OCR)で読み取るステップと、第1情報と、第2情報とから、新たな請求情報を生成するステップと、を備える。
【0008】
本発明の第6の態様においては、プログラムであって、コンピュータに上記方法を実現させる。
【0009】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態における帳票画像の一例である請求書画像10の具体的な一例を示す。
【
図2】使用者が
図1の請求書画像10から生成する帳票情報の一例である請求情報20の具体的な一例を示す。
【
図3】本実施形態に係る帳票情報生成装置100のブロック図である。
【
図7】帳票情報生成装置100の動作フローS10の一例を示す。
【
図9】生成部160が生成した新たな請求情報22の一例を示す。
【
図10】帳票情報生成装置100の記憶部110に記憶される学習済み抽出部111を生成する学習装置200のブロック図である。
【
図12】深層距離学習を用いた場合とカテゴリ分類による学習を用いた場合とで、帳票情報生成装置100で類似画像検索をしたときの正解率を示す。
【
図14】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の例を示す。
【発明を実施するための形態】
【0011】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0012】
図1は、本実施形態における帳票画像の一例である請求書画像10の具体的な一例を示す。
図1の請求書画像10は「ABC電力会社」から、本実施形態の使用者である「〇〇株式会社」に宛ての電気料金の請求である。請求書画像10は、紙で送られて使用者側でスキャナ等により画像データ化したり、元々PDFなどの汎用の画像データとして送られたりする。
【0013】
図2は、使用者が
図1の請求書画像10から生成する帳票情報の一例である請求情報20の具体的な一例を示す。使用者は、請求書画像10を受け取った場合に、請求書画像10に記載されている文字の情報の中から使用者自身に必要な又は関心のある情報を、例えば会計処理システムなどに用いる。請求情報20は、当該会計処理システムへの入力が容易となるよう、csv、xlsなどのフォーマットであることが好ましい。
【0014】
請求情報20は、使用者側の会計処理システムで用いる情報である。会計処理システムを用いることで、使用者は独自の規則で費用を計上し、財務諸表などを作成することが可能となる。
図2の例では、請求情報20の項目として、請求項目、費目、費用発生部署、金額、請求日、支払期日、及び、請求元を含むものである。請求情報20は、これらの項目の他、送金処理に必要な取引先の銀行口座の情報や、備考欄なども関連付けたものでもよい。また、ここでは、各項目が部署ごとに記載されているが、各項目を部署ごとの費用として計上する必要がない場合には、例えば費用発生部署に全社又は総務部等と記載する。
【0015】
ここで、請求書画像10と請求情報20とを対比すると、請求書画像10に記載された「割引」のように、請求情報20には反映されない文字の情報がある。一方で、請求書画像10の「請求金額」と請求情報20の「金額」のように、請求書画像10に記載された文字の情報をそのままではなく、独自の規則で変換して反映させる文字の情報がある。したがって、いわゆるOCRの精度を高くするだけでは必ずしも請求書画像10から使用者の望む請求情報20は容易には生成されない。
【0016】
さらに、電気料金が年単位での定額の契約である場合などは、請求書画像10に記載される電気料金に関する情報は前月と変わらない。したがって、このような場合には当該請求書が前月のどの請求書と対応するのかが精度よく選択されることが好ましい。
【0017】
そこで本実施形態では、新たな請求書画像の特徴量に対して、これと類似する過去の特徴量に対応付けられた請求情報を選択する。さらに、当該過去の請求情報と、新たな請求書画像から読み取った文字の情報とを用いることで、使用者の望む請求情報を容易に生成する装置を提供する。
【0018】
図3は、本実施形態に係る帳票情報生成装置100のブロック図である。帳票情報生成装置100の一例は、汎用コンピュータにプログラムがインストールされたものである。また、帳票情報生成装置100は使用者の端末装置と通信可能に構成されており、使用者の端末装置から請求情報の修正などを受け付ける。
【0019】
帳票情報生成装置100は、記憶部110と、請求書画像から特徴量を抽出する抽出部120と、抽出した特徴量と記憶部110に記憶された特徴量との類似度を算出する算出部130と、類似度に基づいて記憶部110に記憶された請求情報を選択する選択部140とを備える。帳票情報生成装置100はさらに、請求書画像から予め定められた項目の文字の情報を読み取る読取部150と、選択された請求情報及び読み取られた文字の情報から、新たな請求情報を生成して表示する生成部160とを備える。
【0020】
記憶部110は、学習済み抽出部111と、選択用データ112と、読取条件113と、対応関係114とを記憶する。例えば、これらの情報はインターネットを介して他のサーバ等から又はUSBメモリのような記録媒体により、使用者により予め記憶される。当該情報を外部から取得して記憶するという観点から、記憶部110は取得部としての機能も担っているといえる。
【0021】
学習済み抽出部111は、予め学習された方法で請求書画像から特徴量を抽出するものであって、詳細は後述する。学習済み抽出部111そのものを記憶することに代えて、予め学習することによって得られた各パラメータや重み付け値を、抽出部120で利用可能に記憶していてもよい。
【0022】
図4は、選択用データ112を模式的に示す。選択用データ112において、請求書画像10、特徴量30及び請求情報20が1つのデータセットとして互いに対応付けられている。また、請求書画像10には請求元の会社毎にラベル40が対応付けられている。ただし、これに限定されるものではなく、請求書画像10は、同じ請求元であって異なる請求書のフォーマット毎にラベルが対応付けられているものでもよい。なお、請求書画像10及びラベル40は主に後述する学習に用いられるので、選択用データ112には含まれていなくてよい。
【0023】
請求書画像10及び請求情報20は、使用者が過去に会計処理システムに使用したものであってよい。これらは、少量多種類の情報であり、例えば1万程度の会社(すなわちラベル40)に対し、会社毎(すなわちラベル40毎)に100枚程度のものが存在する。なお、
図4の例では、説明を簡略化するために、ラベル40が「ABC電力」と「DEF新聞販売店」の2つあり、「ABC電力」に対して3つのデータセット、「DEF新聞販売店」に対して1つのデータセットのものを示している。
【0024】
特徴量V0等は学習済み抽出部111で抽出された、請求書画像10の特徴をd次元のベクトル(dは例えば1000程度)で表現したものである。当該特徴量V0等はユーザが視認可能な形で記憶されていなくてよい。以上を換言すれば、記憶部110には、少なくとも、過去の請求書画像から抽出された特徴量である過去特徴量と、過去の請求書画像に記載された文字の情報に基づいた過去の請求情報とが関連付けて記憶されているといえる。
【0025】
図5は、読取条件113を模式的に示す。読取条件113には請求書画像10から読取部150が読み取る項目と、当該項目を読み取る条件とが対応付けられている。
【0026】
ここで「条件」は、請求書画像10のどこに又はどのように当該項目に対応する文字の情報をOCRで読み取ることができるかをルールベースで示したものである。
図5の例において、例えば、項目「発行日」の条件「1)」は、発行日が請求書画像10の「発行日」という文字列の右の文字列から得られることを示す。また、例えば、項目「発行日」の条件「2)」は、発行日が、請求書画像10の「発行日」という文字列の下の文字列から得られることを示す。また、例えば、項目「発行日」の条件「3)」は、発行日が、請求書画像10の右上領域の「年」「月」「日」のいずれかの文字を含む文字列から得られることを示す。なお、読取条件として、「発行日」という文字列に代えて、「発」「行」「日」のうちの例えば2文字を含む文字列が用いられてもよい。これにより「発行年月日」等の文字列を発行日として読み取ることが可能となる。
【0027】
また、
図5の例において、例えば、項目「請求金額」の条件「1)」は、請求金額が、請求書画像10の「請求金額」という文字列の右の文字列から得られることを示す。また、例えば、項目「請求金額」の条件「2)」は、請求金額が、請求書画像10の「請求金額」という文字列の下の文字列から得られることを示す。また、例えば、項目「請求金額」の条件「3)」は、請求金額が、請求書画像10の「合計」という文字列の右の文字列から得られることを示す。また、例えば、項目「請求金額」の条件「4)」は、請求金額が、請求書画像10の「合計」という文字列の下の文字列から得られることを示す。なお、読取条件として、「請求金額」という文字列に代えて、「請」「求」「金」「額」のうちの例えば3文字が含まれる項目を「請求金額」と記載される文字列としてもよい。これにより「請求額」等の文字列を請求金額として読み取ることが可能となる。
【0028】
また、
図5の例において、例えば、項目「支払期日」の条件「1)」は、支払期日が、請求書画像10の「支払期日」という文字列の右の文字列から得られることを示す。また、例えば、項目「支払期日」の条件「2)」は、支払期日が、請求書画像10の「支払期日」という文字列の下の文字列から得られることを示す。なお、読取条件として、「支払期日」という文字列に代えて、「支」「払」「期」「日」「限」のうちの例えば2文字が含まれる項目を「支払期日」と記載される文字列としてもよい。これにより「支払い期限」「請求期限」等の文字列を支払期日として読み取ることが可能となる。
【0029】
なお複数の条件のうち、番号が早い順に読み取りが試行され、見つからなければ次の条件を試行する。読取条件113はOCRの知識を有する者により予め設定されていることが好ましいが、使用者により変更することができてもよい。
【0030】
図6は、対応関係114を模式的に示す。対応関係114は、読取部150による読取の項目と、選択用データの過去の請求情報20の項目との対応関係、及び、当該項目に対して生成部160が行う処理が対応付けられている。対応関係114は使用者が自ら望む請求情報20を得るように、任意に設定することができるようにしてもよい。
【0031】
図6の例では、読取の項目「発行日」が請求情報の項目「請求日」に対応する。そして、請求情報の「請求日」を読取の項目で読み取った「発行日」で上書きするという処理を行なうための情報が記憶部110に格納されている。
【0032】
また、
図6の例では、読取の項目「請求金額」が請求情報の項目「金額」に対応する。そして、請求情報の「金額」の合計と読取の項目で読み取った「請求金額」とを比較するという処理を行なうための情報が記憶部110に格納されている。
【0033】
また、
図6の例では、読取の項目「支払期日」が請求情報の項目「支払期日」に対応する。そして、請求情報の「支払期日」の合計と読取の項目で読み取った「支払期日」で上書きするという処理を行なうための情報が記憶部110に格納されている。
【0034】
なお、対応関係114において、読取条件113で読み取るとされた項目の全てを請求情報20のいずれかの項目と対応付けする必要はない。さらに、対応関係114において、選択用データ112の請求情報20に含まれる項目の全てをいずれかの読取の項目と対応付ける必要もない。
【0035】
むしろ、請求書画像10に含まれる文字の情報のように毎回変わらない情報が多い場合には、変わらない情報に関する項目を対応関係114に含めないことが好ましい場合がある。対応関係114に含めないことにより、読取部150で誤って読み取った文字の情報に基づいて、誤った請求情報が生成されることを防ぐことができる場合がある。
【0036】
図7は、帳票情報生成装置100の動作フローS10の一例を示し、
図8は新たな請求書画像12の一例を示す。動作フローS10は、新たな請求書画像12が入力された場合に開始される。なお、以下の説明において、新たな請求情報を符号22で表し、記憶部110に記憶されている請求情報20と区別して表すことにする。
【0037】
抽出部120は記憶部110から学習済み抽出部111を読み込んで、請求書画像12の特徴量である対象特徴量を抽出する(S100)。これは、抽出部120が、過去の請求書画像10から特徴量30を抽出する学習済の方法に対応した方法で、対象特徴量を抽出しているともいえる。
【0038】
算出部130は、対象特徴量と、記憶部110に格納されている選択用データ11の特徴量30との類似度を算出する(S102)。類似度の算出方法はいくつか方法があり、後述する学習済み抽出部111を学習させるのに用いた類似度の算出方法とは必ずしも同じでなくてもよい。
【0039】
算出部130は、選択用データ112の全ての又は予め定められた一部分の特徴量30に対して、対象特徴量との類似度を計算する(S104)。その結果、閾値以上の類似度となる特徴量30が少なくとも1つあった場合に(S106:Yes)、ステップS107に進む。一方、閾値以上の類似度となる特徴量30が1つもなかった場合に(S106:No)、ステップS116に進む。当該閾値は予め設定されて記憶部110に格納されているが、使用者によって変更できてよい。
【0040】
ステップS107において、選択部140は上記類似度に基づいて、選択用データ112の請求情報20を選択する(S107)。この場合に、選択部140は類似度の大きい順に予め定められた個数、例えば10個、の特徴量30に対応付けられた(すなわち同数の)請求情報20を選択する。
【0041】
以下、説明を簡略化するために、
図2の請求情報20が選択される例で説明する。
【0042】
上記ステップS100からS107と並行して、読取部150は記憶部110に記憶された読取条件113に基づいて、当該条件に対応した項目について請求書画像12から文字の情報を読み取る(S120)。
図5の読取条件113の場合には、発行日及び請求金額の情報を読み取る。
図8の請求書画像12が正しく読み取られたとすれば、発行日の文字の情報として「令和2年6月10日」、及び、請求金額の文字の情報として「:¥110,000-」が読み取られる。
【0043】
この場合に、読取部150は既知の非定型OCRエンジンを用いてよい。例えば、CTPN、EAST、SegLink、TextBoxes++、PSENet、TextSnakeなどで文字領域を抽出し、当該文字領域からCRNN(畳み込みリカレントニューラルネットワーク)系のモデルを用いて文字の情報を読み取って良い。この際、CNN部分はVGG16, ResNet等、RNN部分はLSTM、GRU、seq2seq、注意機構等種々のネットワークが利用できる。また、文字領域を抽出後、文字を一文字ずつに分割してからCNN系のモデル(VGG16, ResNet等)で文字の情報を読み取ってもよい。また、文字領域抽出から文字情報の読取までをEnd-to-Endで一つのネットワークで行ってもよい。
【0044】
ステップS108において、生成部160は、記憶部110に記憶された対応関係114に基づいて、選択された請求情報20の請求日を、読み取った発行日で上書きする。この場合に生成部160は、読み取った発行日の文字の情報をそのまま上書きしてもよいし、予め定められた変換規則に従って変換して上書きしてもよい。当該変換規則は使用者が対応関係114の処理として設定してもよいし、対応関係114とは別個に記憶部110に記憶されてもよい。本実施形態において、元号を西暦に変換した上で「YYYY/MM/DD」の形に変換する例で説明する。
【0045】
次に、生成部160は、記憶部110に記憶された対応関係114に基づいて、選択された請求情報20の金額の合計と、読み取った請求金額とを比較する(S110)。
図8の請求書画像12及び
図2の請求情報20の例の場合、生成部160は請求情報20の金額の欄を合計し、「110000」を得る。生成部160はこれと、請求書画像12から読み取った請求金額の文字の情報「:¥110,000-」のうちの数字部分「110000」とを比較し、一致すると判断する。
【0046】
ステップS110の判断がYesの場合に、生成部160はステップS108で上書きされた請求情報を新たな請求情報として生成し、ディスプレイ等に表示する(S114)。
【0047】
図9は、生成部160が生成した新たな請求情報22の一例を示す。請求情報22において、
図2の請求情報20の文字の情報のうち、請求日及び支払期日が、読取部150で読み取られた発行日及び支払期日の情報で書き換えられている。一方、請求項目等、書き換えられなかった文字の情報について、選択された過去の請求情報20の文字の情報が新たな請求情報22に使用されている。
【0048】
さらに、当該請求日が、請求項目等の書き換えられていない情報と区別可能に斜体で表現されている。区別可能な表現は、ボールド、赤字、点滅など、他の方法であってもよい。
【0049】
さらに生成部160は、読取部150で読み取った文字の情報の読み取りの確度に応じて、請求情報22を表示してもよい。例えば、請求情報22のうち、読取部150で読み取られた情報で書き換えたもののうち、確度が閾値より高いものと低いものとを区別可能に表示してもよい。区別可能な表示は、斜体、ボールド、赤字、点滅などであってよく、確度が低い方が目に使用者の目に付きやすい表現であることが好ましい。
【0050】
上記ステップS110の判断がNoの場合に、生成部160は新たに生成する請求情報22に警告を追加する(S112)。警告の例は、請求情報22の金額の欄を斜体、ボールド、赤字、点滅にするなどである。上記の書き換えられた情報に用いる表現とは異なっていることが好ましい。これに加えて又は代えて、請求情報22の欄外に「請求金額が異なっています」という文字情報を表示してもよい。
【0051】
上記ステップ106の判断がNoの場合に、選択部140は過去に類似した請求書画像がない旨を警告する(S116)。例えば、ディスプレイ等に「類似度の高い請求書が見つかりませんでした」という文字情報を表示してもよい。
【0052】
以上により、動作フローS10が終了する。その後、帳票情報生成装置100は、表示した請求情報22について、使用者の修正や追加などを受け付ける。ここでは、ステップS107で類似度の大きい順に予め定められた個数(例えば10個)の請求情報20が選択されているので、新たな請求情報22は上記個数(例えば10個)と同じだけ表示されることになる。使用者は、複数の請求情報22から最も好ましい請求情報を選択した上で、修正や追加をする。なお、ステップS116で警告していた場合には、全く新規の請求情報22の入力を受け付ける構成としてもよい。
【0053】
なお、上記ステップS110及びS112、及び/又は、ステップS116は必ずしも必要な処理ではなく、適宜省略してもよいものである。
【0054】
帳票情報生成装置100は、使用者から請求情報22を確定する旨の入力があった場合に、確定した情報としてディスプレイ等に表示する。ディスプレイ等に表示することに代えて又はこれに加えて、会計処理システムにエクスポートしたり、データとして外部に出力等したりしてもよい。さらに、帳票情報生成装置100は、請求書画像12及び/又はその特徴量と請求情報22とを対応付けて、新たなデータセットとして記憶部110の選択用データ112に追加する。すなわち、次回から類似画像として選択される候補となる。
【0055】
図10は、帳票情報生成装置100の記憶部110に記憶される学習済み抽出部111を生成する学習装置200のブロック図である。学習装置200の一例は、汎用コンピュータにプログラムがインストールされたものである。
【0056】
学習装置200は、記憶部210と、請求書画像10から特徴量30を抽出する抽出部220と、抽出した特徴量30同士の類似度を算出する類似度算出部230と、類似度に基づいて損失関数の値を算出してそれを最小化する損失関数算出部240とを備える。本実施形態において、学習装置200は、抽出部220としてCNNを用いて、深層距離学習を行う。なお、抽出部220は、CNNに限らず、全結合、RNN、self-attentionなどのニューラルネットワークを用いて特徴量を抽出するものでもよい。さらに、抽出部220は、ニューラルネットワークではなく、SIFT、HOGなどの局所特徴量を抽出するものでもよい。
【0057】
記憶部110は、学習用データ211と、学習用パラメータ212と、学習済み抽出部111とを記憶する。なお、学習前では学習済み抽出部111は記録されていなくてよい。
【0058】
学習用データ211は、少なくとも、ラベル40と、請求書画像10と請求情報20とが対応付けられたデータセットとを含む。ラベル40と、請求書画像10と請求情報20とが対応付けられたデータセットは学習を実行する学習者によって、例えば、インターネットを介して他のサーバ等から又はUSBメモリのような記録媒体により記憶部210に記憶される。
【0059】
学習用データ211はさらに、学習の結果として請求情報20に対応付けられた特徴量30も含む。学習用データ211のデータセットは、帳票情報生成装置100で使われる選択用データ112のデータセットと同一であるか、少なくとも一部は、好ましくは大部分が重複していることが好ましい。説明の簡略化のため、本実施形態では学習用データ211のデータセットと選択用データ112のデータセットとが同一であるとする。
【0060】
学習用パラメータ212は、学習の方法に応じて当該学習に用いるパラメータの値を格納する。抽出部220としてCNNを用いて、深層距離学習を行う場合には、抽出部220のパラメータとして、ネットワークの階層数、各層におけるノードの数、重みの初期値などが含まれる。また、深層距離学習のパラメータとして、学習条件としての学習率及び学習回数、並びに、損失関数等が含まれる。当該パラメータの値は、学習者により設定され、学習中に適宜変更されてよい。
【0061】
図11は、深層距離学習の方法を模式的に示す。まず、データセットのペアを用意する。
【0062】
ペアの請求書画像G1,G2のそれぞれを抽出部220に入力して、それぞれの特徴量C1、C2を計算する。特徴量C1,C2を類似度算出部230に入力してそれらの間の類似度を計算する。類似度は、コサイン類似度や特徴量空間のユークリッド距離などの距離関数の逆数等、既知の方法のいずれでもよいが、損失関数に対応したものが用いられる。
【0063】
当該類似度、及び、ペアの請求書画像のそれぞれのラベルL1,L2を損失関数算出部240に入力して損出関数の値を計算し、当該値が小さくなるように誤差逆伝搬により抽出部220の重み等を更新する。損失関数は、ラベルL1とラベルL2とが同じであれば類似度が大きいほど(すなわち特徴量のベクトル間の距離が近いほど)値が小さく、かつ、ラベルL1とラベルL2とが異なっていれば類似度が小さいほど(すなわち特徴量のベクトル間の距離が遠いほど)値が小さくなる関数である。そのような損失関数として、Contrastive Loss、ArcFace、CosFace、SphereFaceなどが用いられてよい。
【0064】
上記の更新を、予め設定した学習回数又はEarly Stoppingに基づいて繰り返し行う。上記更新は、バッチ、オンライン、ミニバッチのいずれの更新タイミングで行われてもよい。
【0065】
なお、請求書画像10のように多ラベルで少数データの場合には、ラベルが同じペアと異なるペアとが予め定められた割合、例えば、等しい割合で学習に使われるようにサンプリングすることが好ましい。これにより、ランダムでサンプリングした場合に生じる、同じラベルを持つペアが使われる確率が小さくて学習が進まない、という問題を回避することができる。
【0066】
学習装置200は、上記の通り学習した結果得られた抽出部220を学習済み抽出部111として記憶部210に記憶する。抽出部220そのものを記憶することに代えて、抽出部220と同等の演算が再現できる、当該抽出部220で用いられている重み等のパラメータが学習済み抽出部111に記憶されてもよい。学習済み抽出部111そのもの又はそれに用いられるパラメータを、帳票情報生成装置100の抽出部120に読み込むことにより、上記で学習した結果得られた抽出部220と同等の演算で特徴量30を抽出することができる。
【0067】
上記の通り、過去の請求書画像10の特徴量30、及び、帳票情報生成装置100の抽出部120は、機械学習で得られたものに対応する。これにより、精度の高い類似画像検索を行うことができる。ここで、「対応する」とは同一であってもよいし、パラメータの読み込み等により再現されたものであってもよく、確率等の他の要因の範囲内で等価な演算結果が得られるものであることを含む。
【0068】
図12は、深層距離学習を用いた場合とカテゴリ分類による学習を用いた場合とで、帳票情報生成装置100で類似画像検索をしたときの正解率を示す。学習用データとして、100ラベルで、各ラベル1~100枚の概ね1000枚の画像について、30~40ラベルの3グループに分割してグループ交差検証をした結果である。
図12において、横軸が検索候補数を示し、縦軸がtop-k正解率(検索候補の中に少なくとも一つ同ラベルの請求書が含まれた割合)を示している。
【0069】
図12に示すように、機械学習として深層距離学習を用いると、請求書画像10のような、多種類かつ少数の検索対象について、カテゴリ分類による学習よりも精度を向上させることができる。
【0070】
図13は、深層距離学習の他の方法を模式的に示す。
図13の方法では、データセットのペアを用意する代わりに、個々のデータセットに対する特徴量と、各ラベルに対応する代表特徴量(行列)との類似度を算出する。そして、当該類似度、及び、請求書画像のラベルL1を損失関数算出部240に入力して損出関数の値を計算し、当該値が小さくなるように誤差逆伝搬により抽出部220及び各ラベルの代表特徴量の値等を更新する。
【0071】
補足すると、「代表特徴量」は、予め設定された複数のラベルに対応する特徴量を示すものである。詳しくは、個々のデータセットに対する特徴量がd次元で表され、ラベルがN個あるとすると、代表特徴量はN×d次元の行列で表される。そのため、
図13に示す例では、類似度算出部230で、特徴量C1に対して、各ラベルに対応してN個の類似度が算出される。そして、損失関数算出部240では、それらのN個の類似度に対し、ラベルL1に対応する類似度が大きいほど値が小さく、かつ、ラベルL1以外に対応する類似度が小さいほど値が小さくなるように出力する。なお、代表特徴量の初期値は乱数で決定される。
【0072】
換言すると、上述した抽出部220は、一の請求書画像G1の第1ラベル(L1)と、当該請求書画像G1から得られる特徴量C1及び予め設定された複数の第2ラベル(L1~LN)に対応する特徴量を含む代表特徴量の類似度との入力に応じて、第1ラベル(L1)と第2ラベル(L1~LN)とが同じラベル(L1)のときには前記類似度が大きいほど値が小さく、第1ラベルと第2ラベルとが異なるラベル(L2~LN)のときには類似度が小さいほど値が小さくなる損失関数を用いた学習で得られたものに対応する。
【0073】
以上、本実施形態によれば、対象とする請求書画像の特徴量に対して、これと類似する過去の特徴量に対応付けられた請求情報と、対象とする請求書画像から読み取った文字の情報とを用いる。これにより、新たな請求書画像から、使用者の望む請求情報を容易に生成することができる。
【0074】
詳しくは、本実施形態に係る帳票情報生成装置100を用いれば、請求情報22として、「項目」「費目」「費用発生部署」「金額」「請求日」「支払期日」「請求元」が少なくとも関連付けられて記憶されている場合、「項目」「費目」「費用発生部署」「請求元」を過去の請求書画像に基づいて抽出し、「請求日」「支払期限」をOCRで読み取ることで、会計処理システムに必要な請求情報22を使用者が容易に生成することができる。特に、「金額」以外の項目があまり変動しない場合に、本実施形態に係る帳票情報生成装置100を用いることで、会計処理システムに必要な請求情報を生成するのに要する使用者の労力を大幅に低減することができる。
【0075】
本実施形態の変形例として下記のものが考えられる。まず、帳票として、請求書以外に、注文書、見積書、領収書、保険証券等が考えられる。
【0076】
また、読取条件113がルールベースであることに代えて、機械学習によって予め定められた項目の文字の情報が読み取られてもよい。また、機械学習として深層距離学習に代えて、少し精度は劣るが、カテゴリ分類による学習、自己教師あり学習、Imagenetなどを学習したモデルの転移学習などを用いてもよい。
【0077】
また、帳票情報生成装置100と学習装置200とはサーバと通信可能であってよい。その場合に、当該サーバに、帳票情報生成装置100の記憶部110に記憶されていると説明されていたデータの一部又は全部、及び/又は、学習装置200の記憶部210に記憶されていると説明されていたデータの一部又は全部が記憶されていてもよい。この場合には、帳票情報生成装置100が当該サーバと通信する送受信部が各種情報を取得する取得部の機能を有することになる。これに代えて、帳票情報生成装置100と学習装置200とが通信可能で、いずれか一方が上記サーバの機能を有していてもよい。この場合も、帳票情報生成装置100が当該学習装置200と通信する送受信部が各種情報を取得する取得部の機能を有することになる。
【0078】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0079】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0080】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0081】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0082】
図14は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ1200の例を示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ1200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU1212によって実行されてよい。
【0083】
本実施形態によるコンピュータ1200は、CPU1212、RAM1214、グラフィックコントローラ1216、およびディスプレイデバイス1218を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、ハードディスクドライブ1224、DVD-ROMドライブ1226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ1220を介してホストコントローラ1210に接続されている。コンピュータはまた、ROM1230およびキーボード1242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ1240を介して入/出力コントローラ1220に接続されている。
【0084】
CPU1212は、ROM1230およびRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等またはそれ自体の中にCPU1212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。
【0085】
通信インターフェース1222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ1224は、コンピュータ1200内のCPU1212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ1226は、プログラムまたはデータをDVD‐ROM1201から読み取り、ハードディスクドライブ1224にRAM1214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0086】
ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、および/またはコンピュータ1200のハードウェアに依存するプログラムを格納する。入/出力チップ1240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ1220に接続してよい。
【0087】
プログラムが、DVD-ROM1201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ1224、RAM1214、またはROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ1200の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0088】
例えば、通信がコンピュータ1200および外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース1222に対し、通信処理を命令してよい。通信インターフェース1222は、CPU1212の制御下、RAM1214、ハードディスクドライブ1224、DVD‐ROM1201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0089】
また、CPU1212は、ハードディスクドライブ1224、DVD‐ROMドライブ1226(DVD‐ROM1201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックする。
【0090】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0091】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ1200上またはコンピュータ1200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。
【0092】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0093】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0094】
10 請求書画像、12 請求書画像、20 請求情報、22 請求情報、30 特徴量、40 ラベル、100 帳票情報生成装置、110 記憶部、111 学習済み抽出部、112 選択用データ、113 読取条件、114 対応関係、120 抽出部、130 算出部、140 選択部、150 読取部、160 生成部、200 学習装置、210 記憶部、211 学習用データ、212 学習用パラメータ、220 抽出部、230 類似度算出部、240 損失関数算出部