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