(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-13
(45)【発行日】2022-06-21
(54)【発明の名称】紙帳票データ化システム、OCRエンジン学習用画像生成装置および画像分析装置
(51)【国際特許分類】
G06V 30/148 20220101AFI20220614BHJP
G06V 30/164 20220101ALI20220614BHJP
G06V 30/194 20220101ALI20220614BHJP
G06V 30/26 20220101ALI20220614BHJP
【FI】
G06V30/148
G06V30/164
G06V30/194
G06V30/266
(21)【出願番号】P 2017209322
(22)【出願日】2017-10-30
【審査請求日】2020-08-19
(73)【特許権者】
【識別番号】515179392
【氏名又は名称】株式会社インフォディオ
(74)【代理人】
【識別番号】100174643
【氏名又は名称】豊永 健
(72)【発明者】
【氏名】小池 隆司
【審査官】小池 正彦
(56)【参考文献】
【文献】特開2000-003403(JP,A)
【文献】特開2013-073439(JP,A)
【文献】特開2003-067738(JP,A)
【文献】特開2011-008802(JP,A)
【文献】特開2008-108114(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/148
G06V 30/164
G06V 30/194
G06V 30/26
(57)【特許請求の範囲】
【請求項1】
帳票をスキャンした対象画像から文字情報を抽出して外部のデータベースに出力する紙帳票データ化システムにおいて、
OCRエンジンを用いて前記対象画像から文字情報を抽出するOCR部と、
前記OCR部が抽出した文字情報をその文字情報の前記対象画像上の位置に基づいて構造化した構造化データを生成する構造解析部と、
前記構造化データと前記データベースの構造との対応関係を示すマッピングテーブルを用いて前記構造化データを前記データベースに入力するマッピング部と、
を有することを特徴とする紙帳票データ化システム。
【請求項2】
文字および文字以外の画像が混在した第1処理前画像とその第1処理前画像の文字以外の画像を除去した第1処理後画像との組を用いて文字および文字以外の画像が混在した画像から文字以外の画像を除去する第1変換を第1機械学習器に学習させる第1学習装置、
を有し、
前記前処理は前記第1変換を含む、
ことを特徴とする請求項1に記載の紙帳票データ化システム。
【請求項3】
罫線で表組された文字群を含む第2処理後画像とその第2処理後画像の罫線を除去した第2処理前画像との組を用いて罫線を使わないで表組された文字群の画像を罫線で表組された文字群の画像へ変換する第2変換を第2機械学習器に学習させる第2学習装置、
を有し、
前記前処理は前記第2変換を含む、
ことを特徴とする請求項1または請求項2に記載の帳票データ電子化システム。
【請求項4】
文字群を含む第3処理前画像とその第3処理前画像に含まれるそれぞれの文字に互いに重ならない枠を形成した第3処理後画像との組を用いて文字群を含む画像に含まれるそれぞれの文字に互いに重ならない枠を形成する第3変換を第3機械学習器に学習させる第3学習装置、
を有し、
前記前処理は前記第3変換を含む、
ことを特徴とする請求項1ないし請求項3のいずれか1項に記載の紙帳票データ化システム。
【請求項5】
単語を記憶する単語データベースと、
前記単語のそれぞれの文字を2進数で表した第1データと前記OCR部が抽出した前記文字情報のそれぞれの文字を2進数で表した第2データとの排他的論理和を求め、その排他的論理和のすべてが0のときに前記OCR部が抽出した文字情報が正しいと判定し、その排他的論理和の1つが1で他が0のときに前記文字情報をその単語に修正する画像解析後処理部と、
を有することを特徴とする請求項1ないし請求項4のいずれか1項に記載の紙帳票データ化システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票をスキャンした対象画像から文字情報を抽出して出力する紙帳票データ化システム、画像から文字情報を抽出するOCRエンジンに画像からの文字情報の抽出を学習させるOCRエンジン学習用画像生成装置および対象画像から文字情報を抽出する画像分析装置に関する。
【背景技術】
【0002】
企業において取り扱う帳票は、多岐にわたる。このような帳票には、たとえば、他社が発行した請求書や、従業員の健康診断の結果、などがある。これらの帳票の内容は、文字情報の電子データが入手できない場合も多い。
【0003】
社内で作成した、あるいは、外部から受領したこのような紙の帳票から、必要な情報を電子データとしてコンピュータに入力し、各種企業活動に使用する場合がある。コンピュータへの入力の際には、帳票の画像をスキャナーで読み取ったうえで、OCRによって文字情報に変換することもある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
請求書などの帳票の画像からOCRによって文字情報を抽出する精度は、近年、向上している。しかし、抽出した文字情報に誤りがある場合には、人手で一つ一つ修正をしなければならない。このため、文書画像からの文字情報の抽出の更なる精度向上が望まれる。
【0006】
そこで、本発明は、請求書などの帳票から文字情報を抽出する精度を向上させることを目的とする。
【課題を解決するための手段】
【0007】
上述の目的を達成するため、本発明は、帳票をスキャンした対象画像から文字情報を抽出して外部のデータベースに出力する紙帳票データ化システムにおいて、OCRエンジンを用いて前記対象画像から文字情報を抽出するOCR部と、前記OCR部が抽出した文字情報をその文字情報の前記対象画像上の位置に基づいて構造化した構造化データを生成する構造解析部と、前記構造化データと前記データベースの構造との対応関係を示すマッピングテーブルを用いて前記構造化データを前記データベースに入力するマッピング部と、を有することを特徴とする。
【0008】
また、本発明は、画像から文字情報を抽出するOCRエンジンに画像からの文字情報の抽出を学習させるOCRエンジン学習用画像生成装置において、特定のフォントの文字に前記学習用画像変換を施して学習用画像を生成する学習用画像生成器と、認識済み文字を含む第1画像とその認識済み文字を前記特定のフォントで表した第2画像との組を用いて第2画像を第1画像へ変換する学習用画像変換を学習用画像生成器に学習させる学習用画像生成学習部と、を有することを特徴とする。
【0009】
また、本発明は、対象画像から文字情報を抽出する画像分析装置において、特定のフォントの文字に前記学習用画像変換を施して学習用画像を生成する学習用画像生成器と、認識済み文字を含む第1画像とその認識済み文字を前記特定のフォントで表した第2画像との組を用いて第2画像を第1画像へ変換する学習用画像変換を学習用画像生成器に学習させる学習用画像生成学習部と、前記学習用画像生成器が生成した前記学習用画像とその学習用画像に対応する文字との組を用いて画像から文字の抽出を学習させる文字認識学習部と、を備えたOCRエンジン学習装置によって学習したOCRエンジンと、前記OCRエンジンを用いて前記対象画像から文字情報を抽出するOCR部と、を有することを特徴とする。
【0010】
また、本発明は、対象画像から文字情報を抽出する画像分析装置において、文字および文字以外の画像が混在した第1処理前画像とその第1処理前画像の文字以外の画像を除去した第1処理後画像との組を用いて文字および文字以外の画像が混在した画像から文字以外の画像を除去する第1変換を第1機械学習器に学習させる第1学習装置と、前記第1変換を含む前処理を前記対象画像に施す前処理部と、前記対象画像から文字情報を抽出するOCR部と、を有することを特徴とする。
【0011】
また、本発明は、対象画像から文字情報を抽出する画像分析装置において、罫線で表組された文字群を含む第2処理後画像とその第2処理後画像の罫線を除去した第2処理前画像との組を用いて罫線を使わないで表組された文字群の画像を罫線で表組された文字群の画像へ変換する第2変換を第2機械学習器に学習させる第2学習装置と、前記第2変換を含む前処理を前記対象画像に施す前処理部と、前記対象画像から文字情報を抽出するOCR部と、を有することを特徴とする。
【0012】
また、本発明は、対象画像から文字情報を抽出する画像分析装置において、文字群を含む第3処理前画像とその第3処理前画像に含まれるそれぞれの文字に互いに重ならない枠を形成した第3処理後画像との組を用いて文字群を含む画像に含まれるそれぞれの文字に互いに重ならない枠を形成する第3変換を第3機械学習器に学習させる第3学習装置と、前記第3変換を含む前処理を前記対象画像に施す前処理部と、前記対象画像から文字情報を抽出するOCR部と、を有することを特徴とする。
【発明の効果】
【0013】
本発明によれば、請求書などの帳票から文字情報を抽出する精度を向上させることができる。
【図面の簡単な説明】
【0014】
【
図1】本発明に係る帳票データ電子化システムの一実施の形態におけるブロック図である。
【
図2】本発明に係る帳票データ電子化システムの一実施の形態の分析対象の帳票の平面図である。
【
図3】本発明に係る帳票データ電子化システムの一実施の形態の分析の流れを示すフローチャートである。
【
図4】本発明に係る帳票データ電子化システムの一実施の形態における前処理済画像の平面図である。
【
図5】本発明に係る帳票データ電子化システムの一実施の形態における罫線を使わないで表組された文字群の平面図の例である。
【
図6】本発明に係る帳票データ電子化システムの一実施の形態における罫線で表組された文字群の平面図の例である。
【
図7】本発明に係る帳票データ電子化システムの一実施の形態における文字群の平面図の例である。
【
図8】本発明に係る帳票データ電子化システムの一実施の形態における1文字ずつ枠で囲まれた平面図の例である。
【
図9】本発明に係る帳票データ電子化システムの一実施の形態における特定の文字として正しく認識された画像とその文字を特定のフォントを用いて表現した画像である。
【
図10】本発明に係る帳票データ電子化システムの一実施の形態における学習用画像である。
【
図11】本発明に係る帳票データ電子化システムの一実施の形態における帳票の一部分の例である。
【
図12】本発明に係る帳票データ電子化システムの一実施の形態におけるマッピング画面である。
【発明を実施するための形態】
【0015】
本発明に係る画像分析装置の一実施の形態を、図面を参照して説明する。なお、この実施の形態は単なる例示であり、本発明はこれに限定されない。同一または類似の構成には同一の符号を付し、重複する説明は省略する。
【0016】
図1は、本発明に係る紙帳票データ化システムの一実施の形態におけるブロック図である。
【0017】
本実施の形態の紙帳票データ化システム10は、たとえば紙に印刷された帳票などの非定型文書から文字情報を抽出して、文書上の構造に応じて構造化した文字情報を出力する画像分析装置である。また、紙帳票データ化システム10は、構造化した文字情報をデータベースに入力する。
【0018】
本実施の形態の紙帳票データ化システム10は、画像記憶部20と画像解析前処理部21と前処理済画像記憶部22とOCR部23と画像解析後処理部24と構造解析部25とマッピング部26と抽出文字列記憶部29と辞書30とOCRエンジン学習装置70とスキャナー12とディスプレイ13とキーボード14とマウス15とを有している。紙帳票データ化システム10は、たとえば1台のコンピュータ上に構成される。紙帳票データ化システム10の一部、たとえば画像記憶部20、画像解析前処理部21、前処理済画像記憶部22、OCR部23、画像解析後処理部24、構造解析部25、マッピング部26、抽出文字列記憶部29、および、辞書30の一部または全部は、ネットワークで互いに接続された複数のコンピュータ上に分散して配置されていてもよい。画像記憶部20と画像解析前処理部21と前処理済画像記憶部22とOCR部23と画像解析後処理部24と構造解析部25とマッピング部26と抽出文字列記憶部29と辞書30とOCRエンジン学習装置70とは、コンピュータにそれぞれの機能を持たせるプログラムによって実現される。
【0019】
画像解析前処理部21は、第1学習装置51と第2学習装置52と第3学習装置53とを有している。第1学習装置51は、第1機械学習器61を含む。第2学習装置52は、第2機械学習器62を含む。第3学習装置53は、第3機械学習器63を含む。第1機械学習器61、第2機械学習器62、および、第3機械学習器63は、いずれもGAN(Generative Adversarial Networks:敵対的生成ネットワーク)を含む機械学習器である。
【0020】
OCRエンジン学習装置70は、学習用画像生成学習部71と学習用画像生成器72と文字認識学習部73とを有している。
【0021】
図2は、本実施の形態の帳票データ電子化システムの分析対象の帳票の平面図である。
【0022】
本実施の形態の紙帳票データ化システム10は、たとえば紙に印刷された一月の請求額をまとめた帳票の画像(文書画像90)を分析する。また、紙に印刷されたものだけではなく、スマートフォンやコンピュータのディスプレイに表示された内容を分析することもできる。
【0023】
次に、本実施の形態の紙帳票データ化システム10を用いた文書画像90の分析処理の流れを説明する。
【0024】
図3は、本実施の形態の画像分析装置の分析の流れを示すフローチャートである。
【0025】
文書画像90は、たとえばスキャナー12でスキャンされて紙帳票データ化システム10の画像記憶部20に記憶される(S1)。スキャナー12の代わりに、スマートフォンなどのカメラで撮像してもよい。カメラで撮像する場合には、画像に台形補正や水平補正を施すなどしてもよい。文書画像90は、たとえばグレースケールに変換される。
【0026】
次に、画像解析前処理部21は、画像記憶部20に記憶された文書画像90に対して前処理を施す(S2)。
【0027】
文字以外にハッチングや網掛けなどが含まれる画像から文字を抽出すると、抽出精度が低くなる傾向にある。そこで、文字の抽出の前に、画像解析前処理部21は、対象画像から文字以外の画像を除去する。つまり、画像解析前処理部21は、ある画像中の文字以外の部分を除去、すなわち、たとえば白などの紙面の色に変更する。
【0028】
図4は、本実施の形態における前処理済画像の平面図である。
【0029】
画像解析前処理部21は、事前に、
図2に示すようなハッチングや網掛けなどが含まれる第1処理前画像(文書画像90)から、
図4に示すようなハッチングや網掛けなどの文字以外の部分を除去した第1処理後画像54を生成する第1変換を学習している。文字以外の部分を除去した第1処理後画像54は、画像レタッチソフトウェアなどを用いて、たとえば手動で、文字以外が含まれる文書画像90から文字以外の部分を除去することにより生成することができる。このようなハッチングや網掛けなどが含まれる文書画像90とハッチングや網掛けなどの文字以外の部分を除去した第1処理後画像54との組を複数作成し、第1学習装置51は、これらの組を用いて文字および文字以外の画像が混在した画像から文字以外の画像を除去する第1変換を第1機械学習器61に学習させる。画像解析前処理部21は、第1機械学習器61を用いて文書画像90に第1変換を施すことにより、対象画像から文字以外の画像を除去することができるようになる。
【0030】
このような第1機械学習器61を用いることにより、文書画像90から網掛けなどのノイズを除去することができる。網掛けやハッチング以外でも、文字認識の精度を低下させるノイズがわかっている場合には、そのようなノイズを除去する画像変換を第1機械学習器61に学習させることにより、文書画像90からノイズを除去することができる。つまり、第1機械学習器61を用いた画像解析前処理部21は、人工知能を用いたノイズ除去エンジン(AI-ノイズ除去エンジン)として機能している。
【0031】
図5は、本実施の形態における罫線を使わないで表組された文字群の平面図の例である。
図6は、本実施の形態における罫線で表組された文字群の平面図の例である。
【0032】
また、画像解析前処理部21は、事前に、
図5に示すような罫線を使わないで表組された文字群の画像を、
図6に示すような罫線で表組された文字組された文字群の画像へ変換する第2変換を学習している。
図6に示すような罫線で表組された文字群を含む第2処理後画像56は、画像レタッチソフトウェアなどを用いて、たとえば手動で、
図5に示すような第2処理前画像55に罫線を付加することによって生成することができる。あるいは、画像レタッチソフトウェアなどを用いて、たとえば手動で、第2処理後画像56から罫線を除去することによって第2処理前画像55を生成することもできる。第2学習装置52は、第2処理前画像55から、第2処理後画像56を生成する第2変換を第2機械学習器62に学習させる。罫線を使わないで表組された文字群の第2処理前画像55と罫線で表組された第2処理後画像56との組を複数作成し、第2学習装置52は、これらの組を用いて、罫線を使わないで表組された文字群の画像を罫線を用いて表組した画像へ変換する第2変換を第2機械学習器62に学習させる。画像解析前処理部21は、第2機械学習器62を用いて文書画像90に第2変換を施すことにより、対象画像の罫線を用いない表組を罫線を用いた表組の画像へ変換することができるようになる。ここで、表組に用いる罫線は、文書画像90中の文字の色とは異なる色(たとえば青)であることが好ましい。
【0033】
このような第2機械学習器62を用いることにより、非定型の文書に含まれる表組部分を罫線がない場合であっても、表組としてとらえることができる。その結果、文書の構造化が容易になる。
【0034】
図7は、本実施の形態における文字群の平面図の例である。
図8は、本実施の形態における1文字ずつ枠で囲まれた平面図の例である。
【0035】
また、画像解析前処理部21は、事前に、
図7に示すような文字群の画像(第3処理前画像57)を、
図8に示すような1文字ずつが互いに重ならない枠で囲まれた画像(第3処理後画像58)へ変換する第3変換を学習している。
図8に示すような、画像中の文字群のそれぞの文字が互いに重ならない枠で囲まれた第3処理後画像58は、画像レタッチソフトウェアなどを用いて、たとえば手動で、
図7に示すような第3処理前画像57に枠を付加することによって生成することができる。第3学習装置53は、第3処理前画像57から、第3処理後画像58を生成する第3変換を第3機械学習器63に学習させる。文字群を含む第3処理前画像57とその文字群のそれぞれの文字を枠で囲んだ第3処理後画像58との組を複数作成し、第3学習装置53は、これらの組を用いて、文字群を含む画像をそれぞれの文字を枠で囲んだ画像へ変換する第3変換を第3機械学習器63に学習させる。画像解析前処理部21は、第3機械学習器63を用いて文書画像90に第3変換を施すことにより、対象画像に含まれるそれぞれの文字を枠で囲んだ画像へ変換することができるようになる。ここで、文字を囲む枠は、文書画像90中の文字の色とは異なる色(たとえば赤)であることが好ましい。
【0036】
このようにして画像解析前処理部21は、画像記憶部20に記憶された文書画像90に前処理を施す。文書画像90に第1変換、第2変換および第3変換を施した前処理済画像は、前処理済画像記憶部22に記憶される。第1変換、第2変換および第3変換は、たとえばこの順番に行われる。また、白抜き文字など、他の部分と文字と地の色が逆になっている反転文字が形成されている領域は、色を反転する前処理を施してもよい。第2変換および第3変換で付加される罫線や枠は文書画像90とは別のレイヤーに配置してもよい。画像ファイルのフォーマットが多層構造を持てる場合には、実際の文書画像90以外の層(レイヤー)を作成し罫線や枠を配置する。画像ファイルのフォーマットが多層構造を持てない場合には、実際の文書画像90以外の層(レイヤー)とは別の画像ファイルを作成し罫線や枠を配置する。
【0037】
次に、OCR部23は、前処理済画像93を画像処理して、文字情報を抽出する(S3)。OCR部23は、OCR(光学式文字認識:Optical Character Recognition)エンジンを用いる。OCRエンジンは、学習によって精度が向上する機械学習器を用いる。OCRエンジンとしては、たとえば畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を少なくとも一部に含むものを用いる。OCRエンジンは、画像を文字に変換する対応関係を用いて対象画像から文字情報を抽出する。画像解析前処理部21が文字以外の部分を除去しておくことにより文字認識の精度が向上する。OCRエンジンには、以下の方法で文字認識を学習させる。OCRエンジンの学習は、OCRエンジン学習装置70が行う。
【0038】
まず、特定の文字として正しく認識された画像を複数用意する。次に、その特定の文字を特定のフォントを用いて表現した画像を形成する。
【0039】
図9は、本実施の形態における特定の文字として正しく認識された画像とその文字を特定のフォントを用いて表現した画像である。
【0040】
図9において、特定の文字として正しく認識された画像(第1画像)とは右側の画像であり、その文字を特定のフォントを用いて表現した画像(第2画像)とは左側の画像である。
【0041】
学習用画像生成学習部71は、特定の文字を特定のフォントを用いて表現した画像(第2画像)から、その特定の文字を認識した元の画像(第1画像)への変換(学習用画像変換)を学習用画像生成器72に学習させる。学習用画像生成器72は、特定のフォントに含まれる一部またはすべての文字の画像に学習用画像変換を施して学習用画像を生成する。これにより、特定の文字として正しく認識された画像と同じような特徴、たとえば滲み方など、を有する学習用画像を生成することができる。
【0042】
【0043】
図10において、左側は特定のフォントで表現した文字の画像であり、右側は学習用画像変換を用いて左側の画像を変換した画像である。
【0044】
このように学習用画像変換と、特定のフォントに含まれる文字画像とを用いることにより、画像データが存在しない文字についても、学習用のデータ(画像)を生成することができる。文字認識学習部73は、この学習用のデータを用いて、画像を文字に変換する対応関係をさらにOCRエンジンに学習させることにより、文字認識の精度が向上する。
【0045】
OCR部23による文字抽出の際、第2機械学習器62によって付加された罫線、および、第3機械学習器63によって付加された枠は、画像中の文字と異なる色としておくことにより、文字認識の精度を低下させるおそれは小さい。さらに、第3機械学習器63がそれぞれの文字に枠を付加していることにより、隣り合う文字の一部または全部が一つの文字として認識される可能性が極めて低下する。このため文字認識の精度が向上する。
【0046】
なお、罫線および枠が文字認識の精度を低下させる場合などには、特定の色を削除することなどによって罫線および枠を削除して文字認識してもよい。このとき、罫線および枠で区切られた領域を仮想的に一つのブロックとして文字認識することにより、文字認識の精度を向上させることができる。
【0047】
第2機械学習器62を用いることにより、非定型の文書に含まれる表組部分を罫線がない場合であっても、表組としてとらえることができる。その結果、文書の構造化が容易になる。つまり、第2機械学習器62を用いた画像解析前処理部21およびOCR部23は、人工知能を用いた自然言語解析・構造化エンジンとして機能している。
【0048】
第3機械学習器63を用いることにより、文書画像90中に含まれる文字を1文字ずつ把握することができるため、文字認識の精度が向上する。つまり、第3機械学習器63を用いた画像解析前処理部21およびOCRエンジンは、人工知能を用いたOCR文字認識エンジン(AI-OCR文字認識エンジン)として機能している。
【0049】
OCR部23が抽出した文字情報は、その文字情報の文書画像90上の位置とともに、抽出文字列記憶部29に記憶される。
【0050】
次に、画像解析後処理部24は、抽出した文字情報に対して後処理を施す(S4)。後処理では、たとえば抽出した文字情報の認識の正誤を辞書30を用いてチェックする。
【0051】
図11は、本実施の形態における文書画像の一部分の例である。
【0052】
たとえば
図11に示される画像をOCRした結果、「入院拾付金日額」と認識した場合について考える。「入院拾付金日額」と同じ7文字の単語を辞書30から抽出し、それぞれと排他的論理和(XOR)をとる。より具体的には、「入院拾付金日額」のそれぞれの文字を2進数で表したものの列と、辞書30に含まれる同じ長さの単語のそれぞれの文字を2進数で表したものの列とのXORを計算する。このXORの計算結果が7つすべてが0の列となれば、抽出した文字列が辞書30に含まれていることとなる。
【0053】
一方、たとえば辞書30に含まれる7文字の単語として「成人病入院特約」が存在した場合、「入院拾付金日額」とXORをとると、計算結果は7つすべて1の列となる。このように、XORの計算結果に1が含まれている場合には、抽出した文字列は辞書30に含まれていないことになる。
【0054】
XORの計算結果がすべて0の列の単語が辞書30に現れるまで、同じ長さの文字列についてXORの計算を繰り返す。XORの計算結果がすべて0の列の単語が辞書30に存在する場合には、抽出した文字列は正しいと判定する。XORの計算結果がすべて0の列の単語が辞書30に存在しない場合には、抽出した文字列は誤っている可能性があると判定する。
【0055】
抽出した文字列が誤っている可能性があると判定し、かつ、XORの計算結果に1つだけ1が存在する単語がある場合には、その単語と1文字だけ誤った画像認識をした可能性が高い。そこで、その単語を正しいものとして抽出した文字列を修正する。
【0056】
このようにして、文字情報の認識精度が向上する。ここで、単語の長さが短い場合には、1文字だけ異なる単語が複数存在する可能性が高いので、正誤の判定が困難である。そこで、たとえば単語の長さとして5文字以上のものだけについてチェックをするようにしてもよい。
【0057】
また、後処理において、抽出した文字情報の形態素解析を行ってもよい。形態素解析によって、抽出した文字情報に含まれる文字列の品詞を分析することができる。分析した結果は、文字列とともに記憶しておく。品詞だけではなく、固有名詞に該当するか否か、日付に該当するか否か、数量に該当するか否かなどを分析してもよい。
【0058】
次に、構造解析部25は、OCR部23が抽出し、必要に応じて画像解析後処理部24が修正した文字情報を構造化する(S5)。ここで構造化とは、文字情報を一群の情報ごとにまとめ、さらにそれらの情報の階層関係を特定し、表現することである。たとえば、構造化された文字情報には、最上位の階層に帳票のタイトルがあり、その下層に文書作成者、文書作成日、および、メインの内容がある。それぞれの階層の項目は、複数の階層を含んでいてもよい。たとえば帳票のタイトルが請求書である場合、メインの内容は、請求項目と、合計が含まれていて、それぞれの請求項目には、品番、単価、数量、請求額が含まれている。
【0059】
階層化に際しては、キーとバリューとを特定してもよい。項目名となりうる文字列を記憶したデータベースに対象とする文字列が含まれるか否かを検索することにより、キーを特定することができる。キーとバリューの紐づけには、それぞれの文字列の相対的な位置関係を用いる。それぞれの文字列に対して、その文字列の右側(right)、左側(left)、上(above)、および、下(below)に位置する文字列をネイバー(neighbor)として記憶する。ネイバーの文字列のいずれかをバリューとする。
【0060】
また、項目名が記載されていないバリューの候補リストを、「商品名」などの記載されない項目名とともに、予め記憶しておいてもよい。抽出した文字情報が、この候補リストの中の一つに該当する場合には、その抽出した文字情報をバリューとし、対応する項目名をキーとして記憶してもよい。
【0061】
後処理(S4)において形態素解析などを行っていた場合には、品詞などの文字列の特徴を紐づけに用いてもよい。たとえば、特定のキーに対するバリューとしては数量しか対応しないなどのルールを用いて紐づけすることもできる。
【0062】
キーとバリューとは、単純な一対一の関係でなくてもよい。たとえば、一つのキーに対して複数のバリューを組み合わせてもよい。キーは、メインキーにサブキーを従属させたような階層構造(ツリー構造)になっていてもよい。この場合、階層は3以上であってもよい。
【0063】
第2機械学習器62が付加した罫線は、文書の構造化に用いることができる。したがって、罫線が付加されていない表組の文書であっても、抽出した文字情報を容易に構造化することができる。
【0064】
次に、マッピング部26は、元の文書画像90上に抽出した文字列をデータベースにマッピングする(S6)。
【0065】
図12は、本実施の形態の画像分析装置におけるマッピング画面である。
【0066】
マッピング画面40は、ディスプレイ13に表示される。マッピング画面40は、画像表示部41と対応表示部42とを備えている。画像表示部41には、文書画像90が表示される。対応表示部42には、構造化された文字情報が表示される。
【0067】
抽出した文字列は、構造化された文字情報(構造化データ)として表示される。マッピング部26は、さらに、構造解析部25が組み合わせたキーおよびバリューの対応関係の確認をユーザーに促し、誤りがある場合には修正できるようにする。
【0068】
具体的には、まず、たとえば文書画像90および抽出した文字情報をディスプレイ13の画像表示部41に表示する。抽出した文字情報は、たとえば文書画像90の左側の対応表示部42に、構造化された文字情報として表示される。
【0069】
また、文字情報を抽出した部分に色付けをする。色付けされた部分にマウスの操作などでポインターを移動させてクリックした場合には、キーおよびバリューの組が表示された部分においてその部分に該当するキーまたはバリューの文字情報が他と区別できるように、たとえば色を変化させることにより表示される。この際、文書画像90上では、選択された部分に対応するキーまたはバリューと紐づけられている文字情報が読み取られた部分が他と区別できるように、たとえば色を変化させることにより表示される。ユーザーは、この対応関係に間違いがない場合には、放置し、あるいは、間違いがないことを入力する。この対応関係に間違いがある場合には、キーおよびバリューの組が表示された部分において、キーまたはバリューの値を修正する。
【0070】
修正に際しては、文字認識の誤りであれば、キーボードなどから入力する。対応付け(紐づけ)に誤りがある場合には、対応するキーまたはバリューが記されている部分を文書画像90上でクリックするなどして、対応関係を修正してもよい。
【0071】
文字認識の結果は、たとえば、複数の候補と、それぞれの候補の確からしさとして得られる。つまり、ある文字画像を認識した結果、候補1の文字の確からしさは90%、候補2の文字の確からしさは10%などと表現される。文書画像90および抽出した文字情報をディスプレイ13の画像表示部41に表示する際、文字認識の確からしさで文字を色分けしてもよい。たとえば、確からしさが90%などの所定の閾値未満であれば、赤い文字で表すなどとしてもよい。このように表示することにより、文字認識の確認者(ヴェリファイヤ)が文字認識をチェックしやすくなる。色分けは、文字単位で行ってもよいし、抽出した単語ごとでもよい。あるいは、文書全体として、所定の閾値未満の確からしさの文字の割合に応じて、色分けしてもよい。この場合、文字認識の確からしさが低い文字の割合が多い文書では、このシステムによる文字認識の結果を用いずに、作業者が手入力した方が早い場合もある。
【0072】
さらに、マッピング部26は、必要に応じて修正された構造化データをマッピングテーブルを用いて、データベースに入力する。ここで、マッピングテーブルとは、文書の論理構造とデータベースの構造との対応を表すテーブル(表)である。文書の論理構造は、構造化データの構造として表現されているため、マッピングテーブルを用いることにより、容易に文字情報をデータベースに流し込むことができる。
【0073】
このように、本実施の形態では、文字認識の結果をユーザーが修正することにより、誤りを低減することができる。
【0074】
本実施の形態の帳票データ電子化システムは、OCRエンジンおよび前処理部にディープラーニング可能な機械学習器を備えている。このため、学習を進めることにより、文字認識の精度を向上させることができる。
【0075】
さらに、ユーザーによる修正を学習することにより、文字認識の精度およびマッピング(紐づけ)の精度を向上させることができる。たとえば、特定の文字を他の文字と誤認識していて、それをユーザーが修正する回数が増えていくことにより、その特定の文字を正しく認識させるようにすることができる。また、マッピングが誤っていた場合は、ユーザーが紐づけを修正することにより、正しくキーとバリューを組み合わせられるようになっていく。
【0076】
このように本実施の形態の紙帳票データ化システム10は、文字情報の文書画像90中の位置に基づいてその文字情報と対をなす文字情報とを紐づけする構造解析部25を有している。このため、分析対象画像である文書画像90で表される文書の構造、すなわち、項目名とそれに対応する値との対応関係を把握することができる。その結果、項目名とそれに対応する値との対応関係に基づいて、文字情報の認識精度を向上させることができる。
【0077】
さらに、本実施の形態において、マッピング部26は、構造解析部25が紐づけした文字情報の組を文書画像90と対応付けて表示し、文字情報の組の組み合わせに誤りがある場合にユーザーによる修正の入力を受け付ける。このため、項目名とそれに対応する値との対応関係をより正確に把握することができる。さらに、ユーザーによる修正の履歴を学習していくことにより、項目名とそれに対応する値との対応関係の把握の精度を向上させることができる。
【符号の説明】
【0078】
10…紙帳票データ化システム、12…スキャナー、13…ディスプレイ、14…キーボード、15…マウス、20…画像記憶部、21…画像解析前処理部、22…前処理済画像記憶部、23…OCR部、24…画像解析後処理部、25…構造解析部、26…マッピング部、29…抽出文字列記憶部、30…辞書、40…マッピング画面、41…画像表示部、42…対応表示部、51…第1学習装置、52…第2学習装置、53…第3学習装置、54…第1処理後画像、55…第2処理前画像、56…第2処理後画像、57…第3処理前画像、58…第3処理後画像、61…第1機械学習器、62…第2機械学習器、63…第3機械学習器、70…OCRエンジン学習装置、71…学習用画像生成学習部、72…学習用画像生成器、73…文字認識学習部、90…文書画像、93…前処理済画像