(57)【要約】【課題】  証憑画像を区画した区画画像の種別を精度よく判定するための情報処理装置、学習装置及び学習済モデル等の提供。【解決手段】  情報処理装置２００は、学習済モデルを記憶する記憶部２３０と、受付部２１０と、処理部２２０を含む。学習済モデルは、証憑画像を区画した区画画像と、区画画像が含む文字列の種別を示す種別情報とを対応付けたデータセットに基づき、区画画像と種別との関係を機械学習した学習済モデルである。受付部２１０は、認識処理の対象となる証憑画像の入力を受け付ける。処理部２２０は、入力として受け付けた証憑画像を区画することによって、区画画像を生成し、学習済モデルに基づいて、生成した区画画像の種別を決定する。【選択図】      図１４
2020144636.tif 000002
【特許請求の範囲】
【請求項１】
証憑画像を区画した区画画像と、前記区画画像が含む文字列の種別を示す種別情報とを対応付けたデータセットに基づき、前記区画画像と前記種別との関係を機械学習した学習済モデルを記憶する記憶部と、
認識処理の対象となる前記証憑画像の入力を受け付ける受付部と、
入力として受け付けた前記証憑画像を区画することによって、前記区画画像を生成し、前記学習済モデルに基づいて、生成した前記区画画像の前記種別を決定する推論処理を行う処理部と、
を含むことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記処理部は、
前記証憑画像を行ごとに区画することによって、前記区画画像を生成することを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記処理部は、
前記証憑画像上に、位置又はサイズが異なる複数の探索ウィンドウを設定し、
設定された前記探索ウィンドウに対応する前記証憑画像の領域を区画することによって、前記区画画像を生成することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の情報処理装置において、
前記処理部は、
所与の種別であると判定された前記区画画像に対して、文字認識処理を行うことを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置において、
前記処理部は、
第１の種別であると判定された前記区画画像に対して、第１の文字認識処理を行い、
前記第１の種別とは異なる第２の種別であると判定された前記区画画像に対して、前記第１の文字認識処理と異なる第２の文字認識処理を行うことを特徴とする情報処理装置。
【請求項６】
請求項４又は５に記載の情報処理装置において、
前記記憶部は、
文字画像と、前記文字画像に含まれる文字とを対応付けた第２データセットに基づき、前記文字画像に含まれる文字の確度を機械学習した第２学習済モデルを記憶し、
前記処理部は、
前記所与の種別であると判定された前記区画画像と、前記第２学習済モデルとに基づいて、前記区画画像に含まれる文字の確度を判定することによって、前記文字認識処理を行うことを特徴とする情報処理装置。
【請求項７】
請求項４乃至６のいずれか一項に記載の情報処理装置において、
前記種別情報によって表される前記区画画像の種別は、電話番号、発行日付、及び、合計金額を含むことを特徴とする情報処理装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の情報処理装置において、
前記区画画像及び前記種別情報を取得する取得部と、
前記区画画像と前記種別情報とを対応付けた前記データセットに基づき、前記区画画像と前記種別との関係を機械学習する学習部と、
を含むことを特徴とする情報処理装置。
【請求項９】
請求項１乃至８のいずれか一項に記載の情報処理装置において、
前記学習済モデルは、
入力層と中間層と出力層とを有し、
前記区画画像と前記種別情報と、を対応づけた前記データセットに基づき、前記入力層と前記中間層との間の第１重み付け係数、及び前記中間層と前記出力層との間の第２重み付け係数を含む重み付け係数情報が設定されており、
入力として受け付けた前記区画画像のデータを前記入力層に入力し、設定された前記重み付け係数情報に基づく演算を行い、前記出力層から、前記区画画像の前記種別を表すデータを出力するよう、コンピューターを機能させることを特徴とする情報処理装置。
【請求項１０】
証憑画像を区画した区画画像と、前記区画画像が含む文字列の種別を示す種別情報と、を取得する取得部と、
前記区画画像と前記種別情報とを対応付けたデータセットに基づき、前記区画画像と前記種別との関係を機械学習する学習部と、
を含むことを特徴とする学習装置。
【請求項１１】
証憑画像を区画した区画画像の種別を判定する処理を行うための学習済モデルであって、
入力層と中間層と出力層とを有し、
前記区画画像と、前記区画画像が含む文字列の種別を示す種別情報と、を対応づけたデータセットに基づき、前記入力層と前記中間層との間の第１重み付け係数、及び前記中間層と前記出力層との間の第２重み付け係数を含む重み付け係数情報が設定されており、
入力として受け付けた前記区画画像のデータを前記入力層に入力し、設定された前記重み付け係数情報に基づく演算を行い、前記出力層から、前記区画画像の前記種別を表すデータを出力するよう、コンピューターを機能させることを特徴とする学習済モデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、学習装置及び学習済モデル等に関する。
【背景技術】
【０００２】
従来、レシート等の証憑画像に対して文字認識処理を行う手法が知られている。例えば特許文献１には、ＯＣＲ（Optical Character Recognition）によって、電話番号文字列、商品名文字列、金額文字列を認識する手法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１７４３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
証憑画像の文字認識処理において、誤認識が発生してしまうことがある。例えば、証憑画像に対してＯＣＲを行ったテキストデータから、電話番号等の項目を抽出する際に、電話番号とは異なる文字列を電話番号であると誤認識することがある。換言すれば、テキストデータの一部がいずれの項目であるかを分類する際に、当該分類を誤ることがある。そのため、証憑画像から電話番号等の重要な項目を精度よく抽出することが難しかった。
【課題を解決するための手段】
【０００５】
本開示の一態様は、証憑画像を区画した区画画像と、前記区画画像が含む文字列の種別を示す種別情報とを対応付けたデータセットに基づき、前記区画画像と前記種別との関係を機械学習した学習済モデルを記憶する記憶部と、認識処理の対象となる前記証憑画像の入力を受け付ける受付部と、入力として受け付けた前記証憑画像を区画することによって、前記区画画像を生成し、前記学習済モデルに基づいて、生成した前記区画画像の前記種別を決定する推論処理を行う処理部と、を含む情報処理装置に関係する。
【図面の簡単な説明】
【０００６】
【図１】証憑画像における電話番号を誤認識した例。
【図２】証憑画像における日付を誤認識した例。
【図３】証憑画像における合計金額を誤認識した例。
【図４】システム構成例。
【図５】学習装置の構成例。
【図６】ニューラルネットワークの構成例。
【図７】学習装置における処理を説明するフローチャート。
【図８】行画像の切り出し処理を説明するフローチャート。
【図９】行画像と正解ラベルの例。
【図１０】ニューラルネットワークの入力と出力の例。
【図１１】電話番号に対応する行画像の例。
【図１２】日付に対応する行画像の例。
【図１３】合計金額に対応する行画像の例。
【図１４】情報処理装置の構成例。
【図１５】情報処理装置における処理を説明するフローチャート。
【図１６】情報処理装置の他の構成例。
【図１７】電話番号に対応する領域画像の例。
【図１８】日付に対応する領域画像の例。
【図１９】合計金額に対応する領域画像の例。
【図２０】情報処理装置における処理を説明するフローチャート。
【発明を実施するための形態】
【０００７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが必須構成要件であるとは限らない。
【０００８】
１．概要
従来、証憑画像から特定の項目を自動で読み取る手法が知られている。証憑とは、会計取引が事実であることを証明するための書類であり、レシートや請求書を含む。証憑画像とは、スキャナーを用いて証憑を読み取ることによって取得される画像データである。以下、レシートについて説明を行うが、本実施形態の手法は他の証憑に拡張して考えることが可能である。
【０００９】
会計処理における重要な項目として、取引先、取引が行われた日付、取引額が考えられる。会計処理を行う際には、取引先の名称、所在地、電話番号等を対応付けたデータベースが用いられる。そのため、証憑画像に含まれる電話番号は、取引先を特定するための情報として有用である。日付は、具体的には年月日を特定する情報である。取引額は、狭義には処理対象となる取引における合計金額である。
【００１０】
証憑には、電話番号、日付、合計金額以外にも種々の情報が記載される。ユーザーが手動で電話番号等を抽出したのではユーザー負担が大きいため、パターンマッチング辞書を用いた処理が有用である。パターンマッチング辞書を用いた処理とは、具体的にはＯＣＲである。
【００１１】
例えば従来手法は、証憑画像に対して文字単位のパターンマッチング辞書を使って、一文字単位で文字認識を行う。そして文字認識結果から、対象の文字を見つけることによって、証憑画像の行の種別が特定される。例えば従来手法においては、電話番号の場所を特定するために、ＯＣＲの認識結果から電話番号の書式に合う文字列が検索される。日付の場所を特定するために、ＯＣＲの認識結果から「年」、「月」、「日」という文字が検索される。合計金額の場所を特定するために、ＯＣＲの認識結果から「円」「￥」等の文字が検索される。
【００１２】
図１〜図３は、従来手法における誤認識の例を説明する図である。図１に示す証憑画像において、取引先の電話番号はＡ１に示した領域である。しかし、電話番号の書式に合う文字列として、複数の数字とハイフンが連続する文字列を検索した場合、Ａ２に示した領域が電話番号と誤認識される場合がある。図２に示す証憑画像において、取引が行われた日付はＢ１に示した領域である。しかし、「年」、「月」、「日」を検索対象とした場合、Ｂ２に示すように、ポイントの有効期限を表す日付が、取引の日付と誤認識される場合がある。図３に示す証憑画像において、合計金額はＣ１に示した領域である。しかし、証憑画像中には個々の商品の価格、税抜きの小計、消費税の額等、種々の金額が含まれる。そのため、「￥」等の文字を検索対象とした場合、Ｃ２に示すように、合計金額とは異なる金額が、合計金額であると誤認識される場合がある。
【００１３】
よって本実施形態においては、証憑画像を区画した区画画像と、当該区画画像が含む文字列の種別との関係を機械学習する。区画画像は、証憑画像の一部の領域に対応する画像であり、第１の実施形態及び第２の実施形態において後述するように、行単位の画像であってもよいし、それ以外の画像であってもよい。このようにすれば、証憑に含まれる一部の文字列について、当該文字列の種別を精度よく識別することが可能になる。そのため、所望の種別である文字列の位置を誤認識することを抑制できる。以下、区画画像に含まれる文字列の種別を、区画画像の種別とも表記する。
【００１４】
２．第１の実施形態
まず第１の実施形態について説明する。第１の実施形態における区画画像は、証憑画像を行単位で区画することによって取得される画像である。
【００１５】
２．１  システム構成例
図４は、第１の実施形態にかかるシステムの構成例を示す図である。図４に示すように、システム１は、スキャナー１０、通信装置２０、メインサーバー３０、ストレージサーバー４０を含む。メインサーバー３０およびストレージサーバー４０は、例えばインターネット等の公衆通信網を通じて、ユーザーにクラウドサービスを提供可能なサーバーである。
【００１６】
スキャナー１０は、原稿を光学的に読み取り、読取結果として所定のフォーマットに従った画像データを生成し、生成した画像データを外部へ出力する。スキャナー１０は、スキャナーとしての機能に加え、印刷機能やファクシミリ通信機能等の複数の機能を兼ね備えた複合機であってもよい。スキャナー１０は、通信装置２０と有線又は無線により通信可能であり、画像データを通信装置２０へ送信する。
【００１７】
通信装置２０は、例えばＰＣ（Personal Computer）、スマートフォン、タブレット型端末、携帯電話機、或いはそれらと同程度の処理能力を有する処理装置である。通信装置２０は、不図示の通信インターフェースを介して、ネットワークＮＷに接続する。ネットワークＮＷは、ローカルエリアネットワーク（ＬＡＮ）やインターネット通信網やその他の公衆回線等を含む。なお、スキャナー１０と通信装置２０は、図４に例示したように互いに独立した装置であってもよいが、１つの装置に含まれてもよい。具体的には、スキャナー１０は、通信装置２０の構成を含むことにより、ネットワークＮＷを介した外部との通信機能を備えた複合機であってもよい。
【００１８】
メインサーバー３０は、ネットワークＮＷ上でサーバーとして機能する１台或いは複数台の処理装置によって実現される。メインサーバー３０は、学習処理を行う学習装置１００と、推論処理を行う情報処理装置２００と、ＯＣＲエンジン３００を含む。メインサーバー３０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read only memory）、ＲＡＭ（Random access memory）等を有する１又は複数のＩＣ（Integrated Circuit）や、その他のメモリー等を含む。またメインサーバー３０は、公知の通信規格を含む所定の通信プロトコルに準拠して有線又は無線で外部と通信を実行するための１又は複数の通信インターフェースを含む。
【００１９】
メインサーバー３０は、図４の例では、ストレージサーバー４０と接続している。ストレージサーバー４０も、ネットワークＮＷ上でサーバーとして機能する１台或いは複数台の処理装置によって実現される。ストレージサーバー４０は、メインサーバー３０からデータを取得して格納するためのサーバーである。なお、メインサーバー３０とストレージサーバー４０とは、装置として分かれていてもよいし、分かれていなくてもよい。例えば、共通のサーバーがメインサーバー３０及びストレージサーバー４０として機能してもよい。ストレージサーバー４０は、通信装置２０から送信された証憑画像を記憶する。
【００２０】
学習装置１００は、ストレージサーバー４０に蓄積された証憑画像に基づく学習処理を行って、学習結果を出力する。学習結果とは、具体的には学習済モデルである。情報処理装置２００は、学習装置１００によって生成された学習済モデルに基づいて、区画画像の種別を判定する処理を行う。具体的には、情報処理装置２００は、通信装置２０から処理対象の証憑画像を受信し、当該証憑画像を対象として学習済モデルに基づく処理を行うことによって、当該証憑画像から電話番号、日付、合計金額を抽出し、抽出結果を出力する。抽出結果は、例えばストレージサーバー４０に蓄積される。なお後述するように、学習装置１００及び情報処理装置２００の処理において、従来手法と同様にＯＣＲを用いた文字認識処理が行われる。ＯＣＲエンジン３００は、当該文字認識処理を行う。
【００２１】
ストレージサーバー４０は、抽出結果の取得要求に基づいて、上記抽出結果を返信する処理を行う。例えば、スキャナー１０及び通信装置２０を用いる企業の会計部門、或いは当該企業を顧客とする会計事務所等によって使用される端末装置が、上記取得要求を送信する。このようにすれば、証憑から重要な項目を抽出する処理を人手で行う必要がないため、会計担当者による会計処理の負担を軽減可能である。
【００２２】
２．２  学習処理
２．２．１  学習装置の構成例
図５は、本実施形態の学習装置１００の構成例を示す図である。学習装置１００は、学習に用いられる訓練データを取得する取得部１１０と、当該訓練データに基づいて機械学習を行う学習部１２０を含む。
【００２３】
取得部１１０は、例えば訓練データを他の装置から取得する通信インターフェースである。或いは取得部１１０は、学習装置１００が保持する訓練データを取得してもよい。例えば、学習装置１００は不図示の記憶部を含み、取得部１１０は当該記憶部から訓練データを読み出すためのインターフェースである。本実施形態における学習は、例えば教師あり学習である。教師あり学習における訓練データは、入力データと正解ラベルとを対応付けたデータセットである。正解ラベルは、教師データと言い換えてもよい。
【００２４】
学習部１２０は、取得部１１０が取得した訓練データに基づく機械学習を行い、学習済モデルを生成する。なお、本実施形態の学習部１２０は、下記のハードウェアにより構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された１又は複数の回路装置や、１又は複数の回路素子で構成することができる。１又は複数の回路装置は例えばＩＣ等である。１又は複数の回路素子は例えば抵抗、キャパシター等である。
【００２５】
また学習部１２０は、下記のプロセッサーにより実現されてもよい。本実施形態の学習装置１００は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。情報は、例えばプログラムと各種のデータ等である。プロセッサーは、ハードウェアを含む。プロセッサーは、ＣＰＵ、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）等、各種のプロセッサーを用いることが可能である。メモリーは、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）などの半導体メモリーであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、学習装置１００の各部の機能が処理として実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
【００２６】
図５に示す学習装置１００は、例えば図４に示したように、メインサーバー３０に含まれる。即ち、メインサーバー３０は、通信装置２０から証憑画像を取得する処理と、当該証憑画像に基づく機械学習とを行う。ただし、学習装置１００は、メインサーバー３０以外の機器に含まれてもよい。例えば、学習装置１００は、ネットワークＮＷを経由してストレージサーバー４０と接続される機器に含まれる。当該機器は、ストレージサーバー４０に蓄積された証憑画像を、ネットワークＮＷを経由して取得し、当該証憑画像に基づいて機械学習を行う。その他、学習装置１００の具体的な構成については種々の変形実施が可能である。
【００２７】
より具体的には、取得部１１０は、証憑画像を区画した区画画像と、当該区画画像が含む文字列の種別を示す種別情報と、を取得する。学習部１２０は、区画画像と種別情報とを対応付けたデータセットに基づき、区画画像と種別との関係を機械学習する。このような機械学習の結果を用いることによって、区画画像の種別を、精度よく判定することが可能になる。例えば、会計処理において重要な種別である文字列を、証憑から自動的に且つ精度よく抽出できるため、ユーザーに適切な会計処理を行わせることが可能になる。
【００２８】
２．２．２  ニューラルネットワーク
機械学習の具体例として、ニューラルネットワークを用いた機械学習について説明する。図６は、ニューラルネットワークの基本的な構造例である。ニューラルネットワークは、脳機能を計算機上でシミュレーションする数学モデルである。図６の１つの円をノード又はニューロンと呼ぶ。図６の例では、ニューラルネットワークは、入力層と、２つの中間層と、出力層を有する。入力層がＩであり、中間層がＨ１及びＨ２であり、出力層がＯである。また図６の例においては、入力層のニューロン数が３、中間層のニューロン数がそれぞれ４、出力層のニューロン数が１である。ただし、中間層の層数や、各層に含まれるニューロンの数は種々の変形実施が可能である。入力層に含まれるニューロンは、それぞれ第１中間層であるＨ１のニューロンと結合される。第１中間層に含まれるニューロンはそれぞれ第２中間層であるＨ２のニューロンと結合され、第２中間層に含まれるニューロンはそれぞれ出力層のニューロンと結合される。なお中間層は隠れ層と言い換えてもよい。
【００２９】
入力層は、それぞれ入力値を出力するニューロンである。図６の例では、ニューラルネットワークはｘ１，ｘ２，ｘ３を入力として受け付け、入力層の各ニューロンは、それぞれｘ１，ｘ２，ｘ３を出力する。なお、入力値に対して何らかの前処理を行い、入力層の各ニューロンは、前処理後の値を出力してもよい。
【００３０】
中間層以降の各ニューロンにおいては、脳の中で電気信号として情報が伝達される様子を模した演算が行われる。脳では、シナプスの結合強度に応じて情報の伝わりやすさが変わるため、ニューラルネットワークでは当該結合強度を重みＷで表現する。図６のＷ１は、入力層と第１中間層の間の重みである。Ｗ１は入力層に含まれる所与のニューロンと、第１中間層に含まれる所与のニューロンとの間の重みの集合を表す。入力層のｐ番目のニューロン数と、第１中間層のｑ番目のニューロンの間の重みをｗ１ｐｑと表現した場合、図６のＷ１は、ｗ１１１〜ｗ１３４の１２個の重みを含む情報である。より広義には、重みＷ１は、入力層のニューロン数と第１中間層のニューロン数の積だけの個数の重みからなる情報である。
【００３１】
第１中間層のうち、１番目のニューロンでは、下式（１）に示した演算が行われる。１つのニューロンでは、当該ニューロンに接続される１つ前の層の各ニューロンの出力を積和し、さらにバイアスを加算する演算を行う。下式（１）におけるバイアスはｂ１である。
【数１】
2020144636.tif 000003
【００３２】
また、上式（１）に示したように、１つのニューロンでの演算では、非線形関数である活性化関数ｆが用いられる。活性化関数ｆは、例えば下式（２）に示すＲｅＬＵ関数が用いられる。ＲｅＬＵ関数は、変数が０以下であれば０であり、０より大きければ変数自体の値となる関数である。ただし、活性化関数ｆは種々の関数を利用可能であることが知られており、シグモイド関数を用いてもよいし、ＲｅＬＵ関数を改良した関数を用いてもよい。上式（１）では、ｈ１についての演算式を例示したが、１つめの中間層の他のニューロンでも同様の演算を行えばよい。
【数２】
2020144636.tif 000004
【００３３】
また、これ以降の層についても同様である。例えば、第１中間層と第２中間層の間の重みをＷ２とした場合、第２中間層のニューロンでは、第１中間層の出力と重みＷ２を用いた積和演算を行い、バイアスを加算し、活性化関数を適用する演算を行う。出力層のニューロンでは、その１つ前の層の出力を重み付け加算し、バイアスを加算する演算を行う。図６の例であれば、出力層の１つ前の層とは、第２中間層である。ニューラルネットワークは、出力層での演算結果を、当該ニューラルネットワークの出力とする。
【００３４】
以上の説明からわかるように、入力から所望の出力を得るためには、適切な重みとバイアスを設定する必要がある。なお、以下では重みを重み付け係数とも表記する。また重み付け係数にはバイアスが含まれてもよいものとする。学習では、所与の入力ｘと、当該入力での正しい出力とを対応付けたデータセットを用意しておく。正しい出力は教師データである。ニューラルネットワークの学習処理とは、当該データセットに基づいて、最も確からしい重み付け係数を求める処理と考えることが可能である。なお、ニューラルネットワークの学習処理では、誤差逆伝播法（Backpropagation）等の学習手法が種々知られている。本実施形態においては、それらの学習手法を広く適用可能であるため、詳細な説明は省略する。
【００３５】
また、ニューラルネットワークは、図６に示した構成には限定されない。例えば本実施形態の学習処理、及び後述する推論処理において、広く知られている畳み込みニューラルネットワーク（ＣＮＮ：Convolutional neural network）が用いられてもよい。ＣＮＮは、畳み込み層及びプーリング層を有する。畳み込み層は、畳み込み演算を行う。ここでの畳み込み演算とは、具体的にはフィルター処理である。プーリング層は、データの縦横のサイズを縮小する処理を行う。ＣＮＮは、例えば画像データが入力される場合において、所与の画素と、その周辺の画素との関係を考慮した処理が可能である。ＣＮＮにおいては、誤差逆伝播法等を用いた学習処理を行うことによって、畳み込み演算に用いられるフィルターの特性が学習される。即ち、ニューラルネットワークにおける重み付け係数には、ＣＮＮにおけるフィルター特性が含まれる。
【００３６】
なお、以上では学習済モデルがニューラルネットワークを用いたモデルである例について説明した。しかし本実施形態における機械学習はニューラルネットワークを用いる手法に限定されない。例えば本実施形態の手法には、ＳＶＭ（support vector machine）等、広く知られた種々の方式の機械学習、或いはそれらの方式を発展させた方式の機械学習を適用することが可能である。
【００３７】
２．２．３  学習処理の流れ
図７は、学習装置１００における処理を説明するフローチャートである。この処理が開始されると、まず学習部１２０は、取得部１１０が取得した証憑画像から行画像を切り出す処理を行う（Ｓ１０１）。行画像とは、証憑画像を行ごとに区画した区画画像である。
【００３８】
図８は、Ｓ１０１の行画像の切り出し処理を説明するフローチャートである。まず取得部１１０は、処理対象となる証憑画像を取得する（Ｓ２０１）。学習部１２０は、ＯＣＲエンジン３００を用いて１文字単位で文字認識処理を行う。具体的には、ＣＰＵ等のプロセッサーである学習部１２０が、ＯＣＲエンジン３００を起動させ、証憑画像に対する文字認識処理を、ＯＣＲエンジン３００に実行させる。文字認識処理によって、１文字と認識された領域を表す枠領域と、当該枠領域に含まれる文字が特定される（Ｓ２０２）。次に学習部１２０は、所与の枠領域の高さ情報に基づいて、当該枠領域に対して横方向にある他の枠領域を１行にまとめる処理を行う（Ｓ２０３）。例えば学習部１２０は、所与の枠領域と、他の枠領域の縦方向の範囲が重複する場合、当該２つの枠領域の両方を含むように、１行の範囲を更新する。学習部１２０は、全ての枠領域がいずれかの行に含まれるまで、上記処理を繰り返す（Ｓ２０４）。学習部１２０は、Ｓ２０４によって取得された１行の範囲を、１つの行画像とする。
【００３９】
次に取得部１１０は、各行画像に対応する正解ラベルを取得する（Ｓ１０２）。本実施形態における正解ラベルとは、区画画像の種別を表す種別情報である。そして種別情報によって表される区画画像の種別は、電話番号、発行日付、及び、合計金額を含む。このようにすれば、会計処理において重要な情報を、証憑画像から適切に検出することが可能になる。
【００４０】
図９は、証憑画像、区画画像である行画像、及び各行画像に付与された正解ラベルを例示する図である。図９の例においては、証憑画像から、Ｄ１〜Ｄ１９に示す１９個の行画像が切り出された。各行画像に対して、ユーザーが手動で正解ラベルを付与する。ここでは、電話番号を表す正解ラベルを「０」とし、日付を表す正解ラベルを「１」とし、合計金額を表す正解ラベルを「２」とし、その他を表す正解ラベルを「３」とする。ただし正解ラベルの具体例については種々の変形実施が可能である。
【００４１】
図９の例においては、ユーザーによってＤ３に示す行が電話番号に対応すると判定されるため、Ｄ３に対して「０」という正解ラベルが付与される。またユーザーによってＤ６に示す行が日付に対応すると判定されるため、Ｄ６に対して「１」という正解ラベルが付与される。またユーザーによってＤ９に示す行が合計金額に対応すると判定されるため、Ｄ９に対して「２」という正解ラベルが付与される。なお、図９の例においては、Ｄ３に示す店舗の電話番号だけでなく、企業のカスタマーセンターである「お客様相談室」の電話番号がＤ１８に記載されている。この電話番号からも取引先である企業を特定可能であると考えられるため、ユーザーによってＤ１８に対して「０」という正解ラベルが付与される。これ以外の種別については、会計処理における重要度が相対的に低いため、その他に対応する「３」という正解ラベルが付与される。
【００４２】
また学習部１２０は、証憑画像から切り出された行画像に対して、加工処理を行う（Ｓ１０３）。ここでの加工処理は、グレースケールへの変換処理、所定サイズへのリサイズ処理、画素値を所定範囲に収める正規化処理を含む。所定サイズは例えば６４０×３２ピクセルであり、画素値の範囲は０．０〜１．０であるが、これには限定されない。加工処理を行うことによって、行画像のサイズ、及び画素値の範囲を統一できるため、その後の学習処理を容易にできる。
【００４３】
以上の処理によって、区画画像と種別情報とを対応付けたデータセットが取得される。種別情報とは、具体的には正解ラベルである。なお、図９においては１枚の証憑画像について、行画像の例及び正解ラベルの例を示した。しかし学習処理の精度を向上させる場合、訓練データの数を増やすことが効果的である。よって学習装置１００は、多数の証憑画像に対してＳ１０１〜Ｓ１０３の処理を行うことによって、多数のデータセットを取得することが望ましい。
【００４４】
学習部１２０は、取得されたデータセットを訓練データとして、学習処理を行う（Ｓ１０４）。図１０は、学習処理の対象となるモデルを説明する図である。なお、図１０においてはニューラルネットワーク、狭義にはＣＮＮを用いる例を示したが、他のモデルが用いられてもよい点は上述したとおりである。ＣＮＮは、例えば分類処理を行うためのモデルであり、区画画像を入力として受け付け、当該区画画像の種別を表す情報を出力する。図１０に例示するＣＮＮは、区画画像の種別が電話番号であることを表す情報、種別が日付であることを表す情報、種別が合計金額であることを表す情報、種別がその他であることを表す情報、の４つを出力する。ＣＮＮの出力層を広く知られたソフトマックス層とした場合、各出力は入力である区画画像に含まれる文字列が、対応する種別である確率を表す０〜１の数値となる。
【００４５】
学習処理においては、学習部１２０は、区画画像を入力として順方向の演算を行う。そして学習部１２０は、順方向の演算結果と、教師データである種別情報に基づいて誤差関数を求め、誤差逆伝播法等を用いて重み付け係数情報を更新する。例えば種別情報が電話番号を表す場合、種別が電話番号である確率を表す出力についての教師データが１となり、日付、合計金額及びその他である確率を表す出力についての教師データが０となる。学習部１２０は、順方向の演算によって取得される確率データと、上記教師データとの相違度を表す誤差関数を求める。誤差関数としては種々の形式の関数が知られており、本実施形態においてはそれらを広く適用可能である。学習部１２０は、求めた誤差関数に基づいて、誤差逆伝播法等を用いた重み付け係数情報を更新する。学習部１２０は、以上の一連の処理を繰り返すことによって、重み付け係数情報を設定する。例えば学習部１２０は、Ｓ１０１〜Ｓ１０３の処理によって取得されたデータセットの一部を訓練データとし、残りをテストデータとする。テストデータは、評価データ、検証データと言い換えてもよい。そして学習部１２０は、訓練データによって生成された学習済モデルに対してテストデータを適用し、正解率が所定閾値以上となるまで学習を行う。
【００４６】
図１１は、電話番号を表す種別情報、例えば「０」という正解ラベルが付与された行画像の例である。図１１のＥ１及びＥ４に示すように、電話番号を表す行には「ＴＥＬ」というアルファベットが含まれる場合もあれば、Ｅ２に示すように「電話」等の漢字が含まれる場合もある。或いはＥ３に示すように「ＴＥＬ」も「電話」も含まれないケースもある。また、電話番号を表す行には、Ｅ３及びＥ４に示すように店舗名等の電話番号以外の文字列が含まれる場合もある。以上のように、電話番号を表す行画像は、切り出し元の証憑画像によって、フォーマットが異なる。また、証憑画像によって文字フォント、かすれ、濃淡等が異なる場合がある。
【００４７】
図１２は、日付を表す種別情報、例えば「１」という正解ラベルが付与された行画像の例である。図１２に示すように、日付を表す行には「年」「月」「日」という文字が含まれる場合もあれば、年月日を表す数字の間にハイフンが挿入される場合もある。その他、時分のフォーマット、秒を表す文字列の有無、「日時」という文字列の有無等、日付の記載も多様なフォーマットが考えられる。また、電話番号と同様に、文字フォント、かすれ、濃淡等が異なる。
【００４８】
図１３は、合計金額を表す種別情報、例えば「２」という正解ラベルが付与された行画像の例である。図１３に示すように、合計金額を表す行には通貨単位が記載されるが、「￥」の場合もあれば「円」の場合もある。また、「合計」のみの記載もあれば、「合計金額」と記載される場合もある。また商品点数が合計金額の行に含まれる場合もある。以上のように、合計金額についても証憑画像によって、フォーマット、文字フォント、かすれ、濃淡等のパターンが異なる。
【００４９】
従来手法においては、このようなパターンの多様性に起因して、特定の種別である文字列の位置を精度よく判定することが困難であった。その点、本実施形態においては、図１１〜図１３のような実在する様々なパターンを含む証憑画像を学習対象とすることによって、所望の種別である文字列を適切に検出することが可能になる。
【００５０】
以上のように、学習部１２０は、機械学習によって学習済モデルを生成する。学習済モデルは、証憑画像を区画した区画画像の種別を判定する処理を行うための学習済モデルである。学習済モデルは、入力層と中間層と出力層とを有し、区画画像と、当該区画画像の種別を示す種別情報と、を対応づけたデータセットに基づき、重み付け係数情報が設定されている。重み付け係数情報は、入力層と中間層との間の第１重み付け係数、及び中間層と出力層との間の第２重み付け係数を含む。重み付け係数情報は、所与の中間層と、次の中間層との間の重み付け係数を含んでもよい。各重み付け係数は、上述したように畳み込み演算に用いられるフィルター特性である。学習済モデルは、入力として受け付けた区画画像のデータを入力層に入力し、設定された重み付け係数情報に基づく演算を行い、出力層から、区画画像の種別を表すデータを出力するよう、コンピューターを機能させる。この学習済モデルは、後述するように、情報処理装置２００の記憶部２３０に記憶される。また、本実施形態の手法は、学習済モデルに適用されてもよい。
【００５１】
２．３  推論処理
２．３．１  情報処理装置の構成例
図１４は、本実施形態の推論装置の構成例を示す図である。推論装置は、情報処理装置２００である。情報処理装置２００は、受付部２１０と、処理部２２０と、記憶部２３０を含む。
【００５２】
記憶部２３０は、上述したように、証憑画像を区画した区画画像と、区画画像が含む文字列の種別を示す種別情報とを対応付けたデータセットに基づき、区画画像と種別との関係を機械学習した学習済モデルを記憶する。受付部２１０は、認識処理の対象となる証憑画像の入力を受け付ける。処理部２２０は、入力として受け付けた証憑画像を区画することによって、区画画像を生成し、学習済モデルに基づいて、生成した区画画像の種別を決定する推論処理を行う。
【００５３】
このようにすれば、区画画像の種別を、学習済モデルに基づいて推定することが可能になる。上述したように、多様なパターンの訓練データを用いて機械学習を行うことによって、学習済モデルを用いた処理を高い精度で実行することが可能になる。具体的には、異なる種別に対応する文字列を電話番号等と誤認識してしまうことを抑制できる。
【００５４】
なお学習済モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。処理部２２０は、記憶部２３０に記憶された学習済モデルからの指令に従って、入力である区画画像の種別を表すデータを出力する。
【００５５】
情報処理装置２００の処理部２２０は、学習装置１００の学習部１２０と同様に、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアにより構成される。また処理部２２０は、下記のプロセッサーにより実現されてもよい。本実施形態の情報処理装置２００は、情報を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。プロセッサーは、ＣＰＵ、ＧＰＵ、ＤＳＰ等、各種のプロセッサーを用いることが可能である。メモリーは、半導体メモリーであってもよいし、レジスターであってもよいし、磁気記憶装置であってもよいし、光学式記憶装置であってもよい。
【００５６】
なお、学習済モデルに従った処理部２２０おける演算、即ち、入力データに基づいて出力データを出力するための演算は、ソフトウェアによって実行されてもよいし、ハードウェアにより実行されてもよい。換言すれば、上式（１）等の積和演算、或いは、ＣＮＮにおけるフィルター演算は、ソフトウェア的に実行されてもよい。或いは上記演算は、ＦＰＧＡ（field-programmable gate array）等の回路装置によって実行されてもよい。また、上記演算は、ソフトウェアとハードウェアの組み合わせによって実行されてもよい。このように、記憶部２３０に記憶された学習済モデルからの指令に従った処理部２２０の動作は、種々の態様によって実現可能である。
【００５７】
図１４に示す情報処理装置２００は、例えば図４に示したように、メインサーバー３０に含まれる。即ち、メインサーバー３０は、通信装置２０から認識対象となる証憑画像を取得する処理と、当該証憑画像と学習済モデルとに基づいて、区画画像の種別を判定する処理とを行う。また詳細については後述するが、情報処理装置２００は、種別を特定する処理に加えて、電話番号、日付及び合計金額を特定、出力する処理を行ってもよい。
【００５８】
２．３．２  推論処理の流れ
図１５は、情報処理装置２００における処理を説明するフローチャートである。この処理が開始されると、まず処理部２２０は、受付部２１０が取得した証憑画像を行ごとに区画することによって、区画画像を生成する（Ｓ３０１）。即ち、ここでの区画画像の生成とは、行画像を切り出す処理である。行単位で処理を行うことによって、区画画像の横幅が証憑画像の幅相当の長さに統一されるため、後述する第２の実施形態に比べて、区画画像の生成を容易にすることが可能である。なおＳ３０１の処理は、図８を用いて上述した処理と同様である。
【００５９】
次に処理部２２０は、切り出した行画像に対して、加工処理を行う（Ｓ３０２）。加工処理は、図７のＳ１０３と同様の処理であり、グレースケールへの変換処理、所定サイズへのリサイズ処理、画素値を所定範囲に収める正規化処理を含む。
【００６０】
処理部２２０は、加工処理後の行画像である区画画像と、記憶部２３０に記憶された学習済モデルに基づいて、推論処理を行う（Ｓ３０３）。推論処理とは、入力である区画画像の種別を判定する処理である。図１０に示したように、学習済モデルは、例えば区画画像を入力とし、当該区画画像の種別が、電話番号、日付、合計金額、その他のいずれであるかを表す確率を出力するＣＮＮである。よって処理部２２０は、電話番号である確率が所与の閾値以上である場合に、入力である区画画像が電話番号を含む行画像であると判定する。ここでの閾値は種々の設定が可能であるが、例えば０．９０等の１に近い値である。電話番号以外の種別についても同様であり、処理部２２０は、所与の種別である確率が閾値以上である場合に、入力である区画画像の種別を、当該所与の種別であると判定する。
【００６１】
以上の処理によって、受付部２１０が受け付けた証憑画像において、電話番号の行、日付の行、及び合計金額の行が特定される。ユーザーの利便性を考慮すれば、証憑における電話番号等の位置を特定するだけでなく、具体的な電話番号、日付、合計金額を出力することが望ましい。よって処理部２２０は、所与の種別であると判定された区画画像に対して、文字認識処理を行う（Ｓ３０４、Ｓ３０５）。所与の種別とは、具体的には、電話番号、日付及び合計金額である。このようにすれば、ユーザーに対して電話番号等の適切な種別の情報を提示することが可能になる。
【００６２】
なお、図７及び図８を用いて上述したように、ＯＣＲエンジン３００を用いて１文字単位の文字認識処理を行うことによって、行画像の切り出しが行われる。そのため、枠領域内の具体的な文字は図１５のＳ３０１の処理において特定されている。Ｓ３０５に示す文字認識処理とは、ＯＣＲエンジン３００を用いた文字認識処理の結果を取得する処理であることは妨げられない。
【００６３】
ただし処理部２２０は、Ｓ３０５の処理において、ＯＣＲエンジン３００を用いた文字認識処理とは異なる文字認識処理を行ってもよい。例えば記憶部２３０は、文字画像と、当該文字画像に含まれる文字とを対応付けた第２データセットに基づき、文字画像に含まれる文字の確度を機械学習した第２学習済モデルを記憶する。第２学習済モデルは、「０」〜「９」の数字を、多数の学習用画像に基づいて学習済みである。従って、第２学習済モデルは、入力された画像が、「０」〜「９」の数字のいずれであるかを、ＯＣＲエンジン３００に比べて高い精度で推測することが可能である。また文字認識処理の内容によっては、第２学習済モデルは「年」、「月」、「日」、「時」、「分」の各漢字や、特定の記号、例えば日本円を表す記号「￥」等といった、限定された種類の文字について学習した学習済モデルであってもよい。この場合、第２学習済モデルは、これらの限定された種類の文字についても、ＯＣＲエンジン３００に比べて高い精度で推測することが可能である。また処理部２２０は、行画像全体を対象として第２学習済モデルを用いた文字認識処理を行ってもよいがこれには限定されない。例えば処理部２２０は、ＯＣＲエンジン３００を用いた文字認識処理の結果に基づいて、「０」〜「９」等、第２学習済モデルが学習済である文字と判定された領域を対象として、第２学習済モデルを用いた文字認識処理を行ってもよい。
【００６４】
処理部２２０は、所与の種別であると判定された区画画像と、第２学習済モデルとに基づいて、区画画像に含まれる文字の確度を判定することによって、文字認識処理を行う。このように、電話番号、日付、合計金額の認識に特化した第２学習済モデルを用いることによって、電話番号等をより高い精度で認識することが可能になる。
【００６５】
Ｓ３０５における具体的な処理を説明する。証憑画像においては、１つの行に複数の種別の情報が混在することは多くないと考えられる。よって処理部２２０は、行画像に対する文字認識処理の結果から数字部分を抜き出すことによって、電話番号等を特定する。ただし、図１２に示したように、日付については年月日だけでなく時分の情報が含まれるケースが多い。よって日付の行画像から単純に数字を抜き出した場合、時分の情報を月日の情報と判定する等、種々の誤認識が発生しうる。よって処理部２２０は、例えば電話番号及び合計金額については数字を抽出する文字認識処理を行い、日付についてはフォーマットを考慮した文字認識処理を行う。日付のフォーマットとは、例えば、「ＸＸＸＸ年ＸＸ月ＸＸ日」である。
【００６６】
或いは、図１１のＥ４に示すように、電話番号の行に電話番号以外の数字が含まれる可能性がある。同様に、合計金額の行に合計金額以外の数字が含まれる可能性がある。そのため、処理部２２０は、電話番号及び合計金額についても、所与のフォーマットを用いた文字認識処理を行ってもよい。電話番号のフォーマットとは、例えば「ＸＸＸＸ−ＸＸ−ＸＸＸＸ」のように、複数の数字とハイフンの組み合わせである。合計金額のフォーマットとは、「合計  ＸＸＸＸ円」、「合計  ￥ＸＸＸＸ」等である。なお、処理部２２０は、対応する種別のフォーマットに合う文字列がない場合、不明と出力する。不明と判定した場合、例えば処理部２２０は、ユーザーに手動での文字認識を促す報知処理を行う。
【００６７】
以上のように、処理部２２０は、第１の種別であると判定された区画画像に対して、第１の文字認識処理を行い、第１の種別とは異なる第２の種別であると判定された区画画像に対して、第１の文字認識処理と異なる第２の文字認識処理を行う。ここでの第１の文字認識処理と第２の文字認識処理との相違点は、上述したようにフォーマットを使用するか否かの違いであってもよいし、使用するフォーマットの違いであってもよい。また、上記相違点はフォーマットに関する違いに限定されず、処理部２２０は種別に応じた種々の文字認識処理を用いることが可能である。
【００６８】
なおＯＣＲエンジン３００と第２学習済モデルのいずれを用いる場合においても、文字認識処理の精度によっては、不明と判定される可能性がある。ただし、本実施形態の手法によれば、特定の種別に対応する行を高い精度で推定できるため、図１〜図３に例示したような誤認識を抑制することが可能である。
【００６９】
なお、以上では学習装置１００と情報処理装置２００を個別に説明したが、これらは１つの装置であってもよい。図１６は情報処理装置２００の他の構成を示す図である。図１６に示す情報処理装置２００は、図１４に示した構成に加えて、区画画像及び種別情報を取得する取得部１１０と、区画画像と種別情報とを対応付けたデータセットに基づき、区画画像と当該区画画像に含まれる文字の種別との関係を機械学習する学習部１２０を含む。即ち、図１６における情報処理装置２００は、図５に示した学習装置１００と同様の構成を含み、学習処理と推論処理の両方を実行可能な装置である。
【００７０】
３．第２の実施形態
次に第２の実施形態について説明する。なお、想定されるシステム１は、図４を用いて上述した例と同様であるため、詳細な説明は省略する。その他、第１の実施形態と同様の箇所については適宜説明を省略する。
【００７１】
３．１  学習処理
第２の実施形態における区画画像は、所与の種別の文字列を含む領域画像である。図１７は、電話番号を表す文字列を含む領域画像の例である。領域画像は、「ＸＸＸＸ−ＸＸ−ＸＸＸＸ」等のフォーマットに合致する文字列の領域、或いは、当該文字列と「ＴＥＬ」又は「電話」等の文字を含む領域である。図１７と図１１を比較すればわかるように、領域画像は電話番号以外の種別の文字列を含まない。例えば、同じ行に店舗名等の他の文字列が存在した場合、第１の実施形態においてはそれらも電話番号の行画像に含まれていたが、第２の実施形態においては店舗名等は領域画像から除外される。また、領域画像では、不必要な空白も除外が可能である。
【００７２】
図１８は、日付を表す文字列を含む領域画像の例である。領域画像は、「ＸＸＸＸ年ＸＸ月ＸＸ日」等のフォーマットに合致する文字列の領域である。図１８と図１２を比較すればわかるように、領域画像は時分の情報等が含まれない。
【００７３】
図１９は、合計金額を表す文字列を含む領域画像の例である。領域画像は、「合計  ＸＸＸＸ円」、「合計  ￥ＸＸＸＸ」等のフォーマットに合致する文字列の領域である。図１９と図１３の比較においては空白の扱い以外に大きな差はない。しかし、例えば合計金額の行のうち、「合計」よりも前、或いは「ＸＸＸＸ円」よりも後の部分に何らかの文字列が含まれる場合、行画像は当該文字列を含む画像であるのに対して、領域画像は当該文字列を含まない画像となる。
【００７４】
図１７〜図１９に示すように、第２の実施形態においては、区画画像として領域画像を用いることによって、行画像を用いる場合に比べて、不必要な情報を区画画像から除外することが可能である。
【００７５】
第２の実施形態においては、例えば第１の実施形態と同様に、図１０に示したモデルが用いられる。ユーザーは、証憑画像に基づいて、電話番号の領域画像、日付の領域画像、合計金額の領域画像を抽出し、それぞれに「０」、「１」、「２」の正解ラベルを種別情報として付与する。そして学習部１２０は、領域画像を入力とし、種別情報を教師データとする学習処理を行うことによって、重み付け係数情報を設定する。なお、ユーザーにより設定される情報は、領域画像そのものには限定されず、証憑画像における領域画像の位置を表す情報に置き換えが可能である。領域画像は矩形であり、領域画像の位置を表す情報は、１つの頂点の座標値と縦横の長さ、或いは対角線上の２つの頂点の座標値等である。
【００７６】
なお、推論処理において後述するように、領域画像の候補を表すウィンドウを設定する処理がニューラルネットワークに組み込まれてもよい。即ち、第２の実施形態における学習済モデルは、少なくとも図１０に示す区画画像の種別を分類する構成を含めばよく、他の処理を含むモデルが用いられてもよい。
【００７７】
３．２  推論処理
図２０は、情報処理装置２００における処理を説明するフローチャートである。この処理が開始されると、まず処理部２２０は、受付部２１０が取得した証憑画像の一部の画像を区画画像として抽出する（Ｓ４０１）。具体的には、処理部２２０は、証憑画像の所与の位置に、所与のサイズの探索ウィンドウを設定し、当該探索ウィンドウによって囲まれる領域を区画画像とする。探索ウィンドウは、具体的には矩形のウィンドウである。そして処理部２２０は、Ｓ４０１において取得された区画画像と、記憶部２３０に記憶された学習済モデルに基づいて、当該区画画像の種別を分類する処理を行う（Ｓ４０２）。
【００７８】
処理部２２０は、証憑画像上に、位置又はサイズが異なる複数の探索ウィンドウを設定し、設定された前記探索ウィンドウに対応する証憑画像の領域を区画することによって、区画画像を生成する。例えば、処理部２２０は、第１サイズの探索ウィンドウを画素単位で移動させていくことによって、１つの証憑画像から複数の区画画像を生成する。そして、各区画画像を図１０に示したＣＮＮに入力することによって、種別を分類する。なお図１７〜図１９に示すように、電話番号等の領域画像のサイズは一定でない。そのため処理部２２０は、第１サイズの探索ウィンドウによる処理後、第１サイズとは異なる第２サイズの探索ウィンドウを画素単位で移動させていくことによって、複数の区画画像を生成し、各区画画像に対して分類処理を行う。探索ウィンドウのサイズは２つに限定されず、電話番号等の領域画像として想定される種々のサイズが用いられる。
【００７９】
ただし、このような手法では区画画像の数が膨大となり、且つ、全ての区画画像を対象としてＣＮＮを用いた処理を行う必要があるため、処理負荷が大きい。これに対して、画像から所定の物体の位置及び分類を特定するための機械学習が広く知られている。例えば物体認識を行う機械学習の手法として、ＳＳＤ（Single Shot MultiBox Detector）、Ｙｏｌｏ（You only look once）、Faster-RCNN（Regional CNN）等が知られている。これらの手法においては、入力画像から分類の対象となる領域（ＲｏＩ：Region of Interest）を決定する処理、即ち探索ウィンドウを設定する処理についても、ディープラーニングの手法が適用される。そのため、探索ウィンドウを所定量ずつずらしていく手法に比べて処理負荷が小さい。この場合、例えば処理部２２０は、探索ウィンドウ設定等の前処理を行うことなく、受付部２１０が受け付けた証憑画像全体を、ＳＳＤ等を用いた学習済モデルに入力することが可能である。本実施形態における学習処理及び推論処理は、これらの手法を用いて行われてもよい。各手法については広く知られているため詳細な説明は省略する。また、これらの手法を発展させた手法が用いられてもよい。
【００８０】
以上のように、図２０におけるＳ４０１とＳ４０２の処理は、Ｓ４０２のみが機械学習の手法を用いて実行されてもよいし、Ｓ４０１とＳ４０２の両方が機械学習の手法を用いて実行されてもよい。いずれの手法を用いるにせよ、学習済モデルは、所与の終了条件を満たすまで（Ｓ４０３でＹｅｓ）、区画画像の設定と、分類処理を繰り返す。終了条件とは、例えば電話番号、日付、合計金額の各種別について、確信度が所定閾値以上である領域が発見されたという条件であってもよいし、所定数の区画画像について処理を行ったという条件であってもよい。終了条件が満たされた場合、処理部２２０は、区画画像の位置と種別を出力する。例えば処理部２２０は、電話番号領域は座標（ｘ１，ｙ１）−（ｘ２，ｙ２）であり、日付領域は座標（ｘ３，ｙ３）−（ｘ４，ｙ４）であり、合計金額領域は、座標（ｘ５，ｙ５）−（ｘ６，ｙ６）であるという情報を出力する。
【００８１】
領域検出後、処理部２２０は、各領域画像を対象として文字認識処理を行う（Ｓ４０４）。Ｓ４０４における処理は、図１５のＳ３０５と同様である。ただし、領域画像は行画像に比べて不要な情報が少ないため、例えば処理部２２０はテンプレートを用いずに、領域画像に含まれる全ての文字を出力する等の文字認識処理を行うことが可能である。なお、図１９に示すように「合計」等の漢字と「￥ＸＸＸＸ」等の文字列を含む領域を領域画像として機械学習を行った場合、合計金額領域と判定される区画画像には商品点数等の他の情報が含まれる場合がある。よって電話番号と日付についてはテンプレートを用いない文字認識処理を行い、合計金額については「￥ＸＸＸＸ」等のテンプレートを用いた文字認識処理を行う等、種々の変形実施が可能である。
【００８２】
４．変形例
以上では、区画画像と種別情報を対応付けたデータセットに基づいて機械学習を行う例について説明した。ただし、学習処理に用いられるデータセットは他の情報を含んでもよい。例えば、レシート内の電話番号や日付は、比較的レシートの上部に位置していることが多い。よって学習部１２０は、区画画像と、種別情報に加えて位置情報を含むデータセットに基づいて機械学習を行ってもよい。ここでの位置情報は、座標値であってもよいし、上部、中部、下部といった概略的な情報であってもよい。学習部１２０は、区画画像と位置情報を入力データとし、種別情報を教師データとする機械学習を行うことによって重み付け係数情報を設定する。情報処理装置２００の処理部２２０は、区画画像を生成する際に、当該区画画像の証憑画像における位置情報を求める。そして処理部２２０は、区画情報と位置情報を学習済モデルに入力することによって、種別を判定する。このように証憑画像における区画画像の位置を考慮することによって、処理精度をさらに高くすることが可能である。
【００８３】
また、以上では種々の証憑画像を１つの学習済モデルを用いて処理を行う例を示した。ただし、証憑画像の種別が判別可能なら、当該種別に特化した学習済モデルを用いてもよい。証憑画像の種別とは、例えば証憑を発行した店舗である。例えば学習部１２０は、第１店舗用の学習済モデルの学習処理と、第２店舗用の学習済モデルの学習処理を行う。そして情報処理装置２００の処理部２２０は、受付部２１０が取得した証憑画像の発行店舗を判定し、当該店舗用の学習済モデルを用いて、区画画像の種別を判定する。このようにすれば、店舗等の証憑画像の種別に応じた処理が可能になるため、処理精度をさらに高くすることが可能である。
【００８４】
以上のように、本実施形態の情報処理装置は、記憶部と、受付部と、処理部を含む。記憶部は、証憑画像を区画した区画画像と、区画画像が含む文字列の種別を示す種別情報とを対応付けたデータセットに基づき、区画画像と種別との関係を機械学習した学習済モデルを記憶する。受付部は、認識処理の対象となる証憑画像の入力を受け付ける。処理部は、入力として受け付けた証憑画像を区画することによって、区画画像を生成し、学習済モデルに基づいて、生成した区画画像の種別を決定する推論処理を行う。
【００８５】
本実施形態の手法においては、区画画像と種別情報を対応付けたデータセットによって機械学習された学習済モデルを用いて、処理対象である証憑画像を区画した区画画像の種別を推定する。このようにすれば、各区画画像の種別を精度よく判定することが可能になる。例えば証憑画像から特定の種別の文字列を抽出する際に、異なる種別に対応する領域を文字認識処理の対象とすることを抑制できるため、誤認識を抑制可能である。
【００８６】
また処理部は、証憑画像を行ごとに区画することによって、区画画像を生成してもよい。
【００８７】
このようにすれば、区画画像の生成が容易であり、且つ、１つの証憑画像から生成される区画画像が過剰に多くなりにくいため、処理負荷を軽減できる。
【００８８】
また処理部は、証憑画像上に、位置又はサイズが異なる複数の探索ウィンドウを設定し、設定された探索ウィンドウに対応する証憑画像の領域を区画することによって、区画画像を生成してもよい。
【００８９】
このようにすれば、区画画像を柔軟に設定することが可能になる。
【００９０】
また処理部は、所与の種別であると判定された区画画像に対して、文字認識処理を行ってもよい。
【００９１】
このようにすれば、証憑画像から、特定の種別の情報を適切に取得することが可能になる。
【００９２】
また処理部は、第１の種別であると判定された区画画像に対して、第１の文字認識処理を行い、第１の種別とは異なる第２の種別であると判定された区画画像に対して、第１の文字認識処理と異なる第２の文字認識処理を行ってもよい。
【００９３】
このように、区画画像の種別に応じた文字認識処理を行うことによって、認識精度の向上が可能になる。
【００９４】
また記憶部は、文字画像と、文字画像に含まれる文字とを対応付けた第２データセットに基づき、文字画像に含まれる文字の確度を機械学習した第２学習済モデルを記憶してもよい。処理部は、所与の種別であると判定された区画画像と、第２学習済モデルとに基づいて、区画画像に含まれる文字の確度を判定することによって、文字認識処理を行う。
【００９５】
このようにすれば、文字認識処理についても機械学習の手法を適用できるため、認識精度の向上が可能になる。
【００９６】
また種別情報によって表される区画画像の種別は、電話番号、発行日付、及び、合計金額を含んでもよい。
【００９７】
このようにすれば、会計処理において重要な情報を証憑画像から適切に取得することが可能になる。
【００９８】
また情報処理装置は、区画画像及び種別情報を取得する取得部と、区画画像と種別情報とを対応付けたデータセットに基づき、区画画像と種別との関係を機械学習する学習部と、を含んでもよい。
【００９９】
このようにすれば、情報処理装置において、学習処理と推論処理の両方を行うことが可能になる。
【０１００】
また学習済モデルは、入力層と中間層と出力層とを有し、区画画像と種別情報と、を対応づけたデータセットに基づき、入力層と中間層との間の第１重み付け係数、及び中間層と出力層との間の第２重み付け係数を含む重み付け係数情報が設定されていてもよい。学習済モデルは、入力として受け付けた区画画像のデータを入力層に入力し、設定された重み付け係数情報に基づく演算を行い、出力層から、区画画像の種別を表すデータを出力するよう、コンピューターを機能させる。
【０１０１】
このようにすれば、ニューラルネットワークを用いた機械学習を適用することが可能になる。
【０１０２】
また本実施形態の学習装置は、証憑画像を区画した区画画像と、区画画像が含む文字列の種別を示す種別情報と、を取得する取得部と、区画画像と種別情報とを対応付けたデータセットに基づき、区画画像と種別との関係を機械学習する学習部と、を含む。
【０１０３】
本実施形態の手法においては、区画画像と種別情報を対応付けたデータセットを用いた機械学習を行う。このような機械学習を行うことによって、各区画画像の種別を精度よく判定することが可能な学習結果を取得することが可能になる。例えば証憑画像から特定の種別の文字列を抽出する際に、誤認識を抑制可能な学習結果を取得可能である。
【０１０４】
また本実施形態の学習済モデルは、証憑画像を区画した区画画像の種別を判定する処理を行うための学習済モデルである。学習済モデルは、入力層と中間層と出力層とを有し、区画画像と、区画画像が含む文字列の種別を示す種別情報と、を対応づけたデータセットに基づき、入力層と中間層との間の第１重み付け係数、及び中間層と出力層との間の第２重み付け係数を含む重み付け係数情報が設定されている。学習済モデルは、入力として受け付けた区画画像のデータを入力層に入力し、設定された重み付け係数情報に基づく演算を行い、出力層から、区画画像の種別を表すデータを出力するよう、コンピューターを機能させる。
【０１０５】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義又は同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また学習装置、情報処理装置、及びそれらの装置を含むシステムの構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１０６】
１…システム、１０…スキャナー、２０…通信装置、３０…メインサーバー、４０…ストレージサーバー、１００…学習装置、１１０…取得部、１２０…学習部、２００…情報処理装置、２１０…受付部、２２０…処理部、２３０…記憶部、３００…ＯＣＲエンジン、ＮＷ…ネットワーク
【図１】
2020144636.tif 000005
【図２】
2020144636.tif 000006
【図３】
2020144636.tif 000007
【図４】
2020144636.tif 000008
【図５】
2020144636.tif 000009
【図６】
2020144636.tif 000010
【図７】
2020144636.tif 000011
【図８】
2020144636.tif 000012
【図９】
2020144636.tif 000013
【図１０】
2020144636.tif 000014
【図１１】
2020144636.tif 000015
【図１２】
2020144636.tif 000016
【図１３】
2020144636.tif 000017
【図１４】
2020144636.tif 000018
【図１５】
2020144636.tif 000019
【図１６】
2020144636.tif 000020
【図１７】
2020144636.tif 000021
【図１８】
2020144636.tif 000022
【図１９】
2020144636.tif 000023
【図２０】
2020144636.tif 000024