(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022162379
(43)【公開日】2022-10-24
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
G06V 30/12 20220101AFI20221017BHJP
G06V 30/14 20220101ALI20221017BHJP
【FI】
G06K9/03 Z
G06K9/20 340Z
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021067196
(22)【出願日】2021-04-12
(71)【出願人】
【識別番号】599001389
【氏名又は名称】株式会社プリマジェスト
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100154748
【弁理士】
【氏名又は名称】菅沼 和弘
(72)【発明者】
【氏名】菊池 孝治
(72)【発明者】
【氏名】大島 正也
(72)【発明者】
【氏名】福沢 真
(72)【発明者】
【氏名】綿貫 直志
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029EE08
5B029EE12
5B064EA36
5B064FA02
(57)【要約】 (修正有)
【課題】帳票を認識させた後の後続処理をオペレータがより確実に効率的に行うのを可能にする情報処理装置、情報処理方法およびプログラムを提供する。
【解決手段】情報処理装置としての帳票認識装置1は、帳票を表す画像のデータを用いて、帳票に存在するセルを認識し、認識したセルの画像における位置を特定することで、セルを抽出するセル抽出手段部111と、セル抽出部111によりが抽出された1以上のセル及び位置に基づいて、画像においてグループを構成する1以上のセルを特定し、特定した1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出部112と、帳票に存在する文字列領域を認識し、認識した文字列領域の画像における位置を特定することで、文字列領域を抽出する文字列認識部113と、を備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
帳票を表す画像のデータを用いて、前記帳票に存在するセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出手段と、
前記セル抽出手段によりが抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出手段と、
前記帳票に存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出手段と、
を備える情報処理装置。
【請求項2】
前記セル抽出手段、前記テーブル抽出手段、及び前記文字列抽出手段により夫々抽出された前記セル、前記テーブル、及び前記文字列領域の夫々の位置を視認可能な形態で、前記画像を表示させる制御を実行する表示制御手段、
を更に備える請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、
操作者による操作に基づいて、前記テーブル、前記セル、及び前記文字列領域のうちの1つ以上の位置を選択的に視認可能な形態で、前記画像を表示させる制御を実行する、
請求項2に記載の情報処理装置。
【請求項4】
情報処理装置が実行する情報処理方法において、
帳票を表す画像のデータを用いて、前記帳票に存在するセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出ステップと、
前記セル抽出ステップの処理により抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出ステップと、
前記帳票に存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出ステップと、
を含む情報処理方法。
【請求項5】
情報処理装置を制御するコンピューターに、
帳票を表す画像のデータを用いて、前記帳票に存在するセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出ステップと、
前記セル抽出ステップの処理により抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出ステップと、
前記帳票に存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出ステップと、
を含む制御処理を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来より、帳票を表す画像のデータを用いて、その帳票に存在する文字列を自動的に認識し、文字列間の対応関係を含めてデータ化する技術が存在する。そのような技術の中には、帳票を表す画像、及び文字列の認識結果をともに表示させ、ユーザが認識結果を選択した場合、その認識結果が得られた文字列の位置を帳票の画像上に示すようにしたものもある(例えば、特許文献1)。帳票を認識させた後には、通常、オペレータによる認識結果の確認、及び必要に応じた認識結果の修正等のための後続処理が行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1を含む従来の技術において、文字列の認識結果とその認識結果が得られた帳票上の位置との対応関係を個別に確認できても、オペレータが後続処理全体を効率的に行えるとは必ずしも期待できない。これは、帳票には様々な形式があるだけでなく、多くの文字列が存在する帳票も少なくないからである。
【0005】
例えば多くの文字列が存在する帳票では、認識結果とその認識結果が得られた文字列の帳票上の位置との間の対応関係を個別に確認するのはオペレータにとっては面倒な作業を行うことになる。複雑な形式の帳票、例えば小さな帳票が複数まとめられたような帳票では、或る認識結果とその認識結果が得られた文字列の帳票上の位置との間の対応関係を確認したことによって、他の対応関係もオペレータが適切に特定できるとは必ずしも期待できない。
【0006】
本発明は、このような状況を鑑みてなされたものであり、帳票を認識させた後の後続処理をオペレータがより確実に効率的に行うのを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本発明の一態様の情報処理装置は、
帳票を表す画像のデータを用いて、前記帳票に存在するセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出手段と、
前記セル抽出手段によりが抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出手段と、
前記帳票に存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出手段と、を備える。
【発明の効果】
【0008】
本発明によれば、帳票を認識させた後の後続処理をオペレータがより確実に効率的に行うのが可能になる。
【図面の簡単な説明】
【0009】
【
図1】本発明の情報処理装置の一実施形態に係る帳票認識装置により実現可能となる第1のサービスの概要を説明する図である。
【
図2】帳票画像から抽出されるテーブル、セル、及び文字列領域の各抽出結果の例を説明する図である。
【
図3】表示領域でのテーブル、セル、及び文字列領域の各種抽出結果の表示例を示す図である。
【
図4】本発明の情報処理装置の一実施形態に係る帳票認識装置により実現可能となる第2のサービスの概要を説明する図である。
【
図5】帳票から特定される2つの文字列の組の例を示す図である。
【
図6】本発明の情報処理装置の一実施形態に係る帳票認識装置を用いて構築された情報処理システムの構成例を示す図である。
【
図7】本発明の情報処理装置の一実施形態に係る帳票認識装置のハードウェア構成の一例を示すブロック図である。
【
図8】本発明の情報処理装置の一実施形態に係る帳票認識装置上に実現される機能的構成の一例を示す機能ブロック図である。
【
図9】本発明の情報処理装置の一実施形態に係る帳票認識装置により実行されるセル検出処理の例を示すフローチャートである。
【
図10】適切に他の成分と接続されていない可能性が考えられるとして特定される成分の例を示す図である。
【
図11】ステップS13で実行される処理の内容の第1の例を説明する図である。
【
図12】ステップS13で実行される処理の内容の第2の例を説明する図である。
【
図13】帳票画像、その帳票画像から検出されるセル、検出されたセルのグルーピングの例を示す図である。
【
図14】本発明の情報処理装置の一実施形態に係る帳票認識装置により実行される外周取得処理の例を示すフローチャートである。
【
図15】セルの検出結果、及びその検出結果を変換して得られる節点情報の例を示す図である。
【
図16】グループ化された節点情報の例、及びその節点情報とからセルを含むテーブルの外周の抽出例を示す図である。
【
図17】本発明の情報処理装置の一実施形態に係る帳票認識装置上に実際にキー-バリュー抽出部の一部として実現された機能的構成の一例を示す機能ブロック図である。
【
図18】グラフ情報生成部により生成される各種情報の例を説明する図である。
【
図20】キー-バリューの関係がある文字列の組の他の特定例を説明する図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について、図面を用いて説明する。
図1は、本発明の情報処理装置の一実施形態に係る帳票認識装置により実現可能となる第1のサービス(以下、「本第1のサービス」と呼ぶ)の概要を説明する図である。
【0011】
本第1のサービスは、帳票認識装置(後述する
図6参照)により実現可能なサービスである。サービス提供者は、例えば専用のアプリケーション・ソフトウェア(以下、「専用アプリ」と呼ぶ)を開発することにより、その専用アプリを購入した個人、或いは組織に対し、本第1のサービスを提供する。ここでは、専用アプリの購入等をしたのは組織と想定する。その組織は以下、「購入企業」と呼び、購入企業内で専用アプリを実際に使用する者は「オペレータ」と呼ぶこととする。
【0012】
オペレータ(操作者)は、例えば購入企業内の任意の情報処理装置に専用アプリをインストールさせることにより、その情報処理装置を帳票認識装置として利用すること、つまり本第1のサービスを利用することができる。
【0013】
帳票認識装置は、帳票のデータ化、つまり電子化に用いられる。例えば、紙媒体の帳票がスキャナにより読み取られると、当該スキャナからは、当該帳票を表す画像のデータが出力される。以下、帳票を表す画像を、「帳票画像」と適宜呼ぶ。また、帳票を表す画像のデータを、「帳票画像データ」と呼ぶ。帳票認識装置は、スキャナから出力された帳票画像データを入力する。
【0014】
本第1のサービスで提供される帳票認識装置は、このような帳票画像データを解析することで、帳票に存在する、セル、テーブル、及び文字列領域の夫々を個別に抽出する機能を有している。以下、このような機能を「レイアウト解析機能」と呼ぶ。即ち、本第1のサービスとは、レイアウト解析機能を発揮可能な帳票認識装置を提供することであるとも言える。
【0015】
ここで、セルとは、帳票上に存在する罫線によって囲まれた部分のことである。通常、帳票上の文字列の多くは、セル内に存在する。
【0016】
文字列領域とは、1つ以上の文字が連なって何らかの意味を表している文字列が存在する領域のことである。
1つの文字列は、他の文字列と空間的に、或いは内容的に区別可能なものである。また、文字は、線、及び点のうちの少なくとも一方を用いて形作られた記号のことである。ひらがな、カタカナ、漢字、数字、アルファベット、及び各種マーク等は全て文字である。
【0017】
テーブルとは、セル、及びその位置により、グループを構成する1つ以上のセルを特定し、特定した1つ以上のセルが存在する範囲のことである。それにより、表構造を形成している複数のセルは、グループを構成しているとして、1つのテーブルと見なされる。
本第1のサービスでは、セルが存在しない範囲に1つ以上の文字列が配置されていた場合、1つの文字列領域をテーブルとして抽出する。テーブルは、1つ以上のセル、及び1つ以上の文字列領域がグループを構成しているとして抽出する場合もある(後述する
図2参照)。
【0018】
具体的には例えば、本第1のサービスによれば、帳票認識装置は、レイアウト解析機能を発揮することで、帳票画像データを用いて次のような処理を実行する。
即ち、帳票認識装置は、帳票画像に存在する罫線からセルを認識し、認識したセルの帳票画像における位置を特定することで、当該セルを抽出する。
さらに、帳票認識装置は、このようにして抽出した1以上のセル及び位置に基づいて、帳票画像においてグループを構成する1以上のセルを特定し、特定した1以上のセルが存在する範囲をテーブルとして抽出する。なお、帳票画像においてグループを構成する1以上のセルが特定されることにより、テーブルの帳票画像における位置も特定されることになる。
また、帳票認識装置は、帳票に存在する文字列領域を認識し、認識した文字列領域の帳票画像における位置を特定することで、当該文字列領域を抽出する。
【0019】
さらに以下、
図1~
図3を参照して、レイアウト解析機能の具体例について説明する。
【0020】
図1には、本第1のサービスによるレイアウト解析機能の処理結果が表示可能な表示画面DSが示されている。
この表示画面DSには、
図1に示すように、表示領域DS1、表示領域DS2、及び表示領域DS3が確保されている。
【0021】
表示領域DS1は、レイアウト解析の対象となる帳票画像データ(ファイル)をオペレータに選択させるための表示領域である。
即ち、1以上の帳票画像データはファイルの形態で予め帳票認識装置に入力されている。オペレータは、これらの1以上の帳票画像データのうち、レイアウト解析の対象となる帳票画像データを選択する操作を、表示領域DS1において行う。
【0022】
表示領域DS2は、表示領域DS1において解析対象として選択操作がなされた帳票画像データが表す帳票画像を表示させる領域である。さらに、表示領域DS2は、レイアウト解析の結果、即ちセル、テーブル、及び文字列領域の夫々の抽出結果を相互に独立して帳票画像に重畳表示させる領域である。
なお、表示領域DS2の上方部分には、解析対象とする帳票画像(原画像)を含む各種画像のサムネイル画像が表示される。サムネイル画像として表示される画像には、原画像の他に、原画像の2値化画像、原画像上の罫線に着目したサリエンシーマップ画像、及び原画像上の罫線と文字列領域に着目したサリエンシーマップ画像が含まれる。2つのサリエンシーマップ画像は、例えばDNN(Deep Neural Network)を用いて生成された画像である。
【0023】
表示領域DS3は、表示領域DS2に表示されたレイアウト解析の結果の詳細を表示させる領域である。
【0024】
表示領域DS3の上方部分には、「テーブル」と内部に表示されたボタンBT1、「セル」と内部に表示されたボタンBT2、及び「テキスト」と内部に表示されたボタンBT3が配置された領域DS31(以下、「ボタン表示領域DS31」と呼ぶ)が配置されている。
ボタンBT1は、処理対象の帳票画像に対して、テーブルの抽出結果を重畳表示させる指示操作するためのボタンである。
ボタンBT2は、処理対象の帳票画像に対して、セルの抽出結果を重畳表示させる指示操作するためのボタンである。
ボタンBT3は、処理対象の帳票画像に対して、文字列領域の抽出結果を重畳表示させる指示操作するためのボタンである。
【0025】
オペレータは、これらのボタンBT1乃至BT3のうち、確認を所望する抽出結果のボタンを例えばクリック操作することにより、当該確認を所望する抽出結果のみを表示領域DS2において確認することができる。ここで、確認を所望する抽出結果とは、テーブル、セル、及び文字列領域のうち少なくとも1つ以上の抽出結果をいう。
なお、レイアウト解析の実行直後においては、3つのボタンBT1乃至BT3の全ては選択状態となっている。この場合、オペレータは、テーブル、セル、及び文字列領域(テキスト)の夫々の抽出結果の全てを確認することができる。
【0026】
ボタン表示領域DS31の直下には、「テーブル」と内部に表示されたタブT1、「セル」と内部に表示されたタブT2、「テキスト」と内部に表示されたタブT3、及び、「認識結果(1)」と内部に表示されたタブT4が配置されている。これら4つのタブT1乃至T4の下方には、解析結果の詳細の表示用に確保された詳細表示領域DS32が配置されている。
【0027】
タブT1は、レイアウト解析の結果として、テーブルの抽出結果の詳細を表示させる指示操作をさせるためのタブである。本第1のサービスでは、テーブルの抽出結果の詳細として、テーブル毎に、その位置情報、及びそのイメージの抜粋が表示される。
【0028】
位置情報は、帳票画像の左上の点を基点とするxy座標を想定して表すものとしている。一方のテーブルの形状としては、基本的に、x軸に平行な2つの線と、y軸に平行な2つの線とで囲まれた矩形形状と想定している。それにより、本第1のサービスでは、位置情報として、基点とテーブルの左上の点との間のx軸上、y軸上の各距離、x軸上の長さである幅、及びy軸上の長さである高さが抽出される。これらの単位は全て画素(pixcel)である。この位置情報に含まれる情報は、セル、及び文字列領域についても同様である。
以下、x軸と平行な方向は「左右方向」、y軸と平行な方向は「上下方向」とも表現する。また、特に断らない限り、位置情報は領域の位置、及び形状を表すものの意味で用いる。
【0029】
「セル」タブT2は、解析結果として、セルの抽出結果の詳細を表示させるのを指示するためのタブである。本第1のサービスでは、各セルの位置情報、及び各セルのイメージの抜粋を表示させるようにしている。
「テキスト」タブT3は、解析結果として、文字列領域の抽出結果の詳細を表示させるのを指示するためのタブである。本第1のサービスでは、各文字列領域の位置情報、及び各文字列領域のイメージの抜粋を表示させるようにしている。
「認識結果(1)」タブT4は、解析結果として、文字列(テキスト)の認識結果を表示させるのを指示するためのタブである。本第1のサービスでは、各文字列の認識結果、及び各文字列の画像の抜粋を夫々、対応させて表示させるようにしている。
【0030】
オペレータは、これらタブT1~4のうちの1つをクリック操作することにより、望む解析結果の詳細のみを詳細表示領域DS32で確認することができる。例えば
図1に示すように、「認識結果(1)」タブT4へのクリック操作により、オペレータは、帳票上に存在する各文字列の認識結果を、その文字列の画像と対比させて確認することができる。また、位置情報の他に、抜粋したイメージも併せて表示させているため、オペレータは、文字列の認識結果を含む解析結果の確認もより迅速、且つより容易に行うことができる。
【0031】
表示領域DS3内の詳細表示領域DS32の下方には、「データ保存」ボタンBT5が配置されている。このボタンBT5は、文字列の認識結果、及び各種抽出結果を含む解析結果の保存をオペレータが指示するためのボタンである。
図1に示すように、このボタンBT5をクリック操作した場合、データの保存形式をオペレータに選択させるためのポップアップメニューDS321が表示される。そのメニューDS321には、「データ保存」ボタンBT6が配置されている。それにより、オペレータは、望む保存形式を選択した後、「データ保存」ボタンBT6をクリック操作することにより、望む保存形式で文字列の認識結果を含む解析結果を保存させることができる。
【0032】
図2は、帳票画像から抽出されるテーブル、セル、及び文字列領域の各抽出結果の例を説明する図である。
図2に示す帳票画像FIの抜粋部分では、テーブルTBは計5つが抽出される。5つのテーブルTBのうちの4つは全て、1つのセルが1つのテーブルTBとして抽出されている。残りの1つは、計11つのセルCEと、そのうちの1つと上下方向に隣接する1つの文字列領域TXとがグループにまとめられたテーブルとなっている。
【0033】
図2に示すように、1つのセルCEのみを有する4つのテーブルTBは全て、他のセルCE、及び文字列領域TXの何れからも離れた位置に存在している。そのため、このようなセルCEは、他のセルCE、及び文字列領域TXの何れとも論理的な対応関係は存在しないとして、1つだけでも1つのテーブルTBとして抽出される。
【0034】
一方、11つのセルCE、及び1つの文字列領域TXを含むテーブルTBでは、各セルCEは少なくとも1つの別のセルCEと左右方向、或いは上下方向で隣接している。そのため、11つのセルCEは、表構造を形成している要素として扱われ、グループ化される。
【0035】
11つのセルCEと同じグループとされた1つの文字列領域TXは、セルCE内に配置されていない。しかしながら、この文字列領域TXは、上、及び右にそれぞれ位置する2つのセルCEと隣接している。その位置関係のため、文字列領域TXは、その2つのセルCE内に配置された何れかの文字列と対応関係が存在すると見なされる。この結果、セルCE内に配置されていない文字列領域TXは、11つのセルCEとグループ化され、1つのテーブルTBの要素とされる。実際、この文字列領域TXの文字列である「納期限」は、右に位置するセルCE内の文字列である「平成26年12月20日」との間に意味的な対応関係が存在する。なお、以下、「TX」は文字列そのものを指す意味でも用いる。
【0036】
図2では、11つのセルCE、及び1つの文字列領域TXを要素とするテーブルTBを例にとって、そのテーブルTB、それに含まれる1つのセルCE、及び文字列領域TXの各位置情報の例を示している。
位置情報を示すセルCEは、テーブルTBの左側に位置するセルCEのうちで上から2番目に位置するセルCEである。そのため、位置情報に含まれるx軸上の距離がテーブルTBのその距離と一致し、y軸上の距離がテーブルTBのその距離とは一致していない。
【0037】
位置情報を示す文字列領域TXは、テーブルTBの左側に位置するセルCEのうちで上から2番目に位置するセルCE内に存在する文字列領域TXである。そのため、位置情報は、x軸上、及びy軸上の各距離は全てそのセルCEの距離より大きい。しかし、幅、及び高さは全て、その文字列領域TXが内側に配置されているセルCEの幅、及び高さよりも小さくなっている。
【0038】
図3は、表示領域でのテーブル、セル、及び文字列領域の各種抽出結果の表示例を示す図である。
上記のように、抽出結果としては、テーブルTB、セルCE、及び文字列領域TXの3種類が存在する。ボタン表示領域DS31内に配置された3つのボタンBT1~3は、それらのうちの1つを選択的に表示させることを可能にする。その他に、本第1のサービスでは、3種類の抽出結果を初期表示として同時に表示させるようにしている。このことから、
図3では、(A)~(D)に、表示される抽出結果を異ならせて示している。具体的には、
図3(A)には初期表示、つまりテーブルTB、セルCE、及び文字列領域TXの各抽出結果を表示させた場合の例を示している。同様に
図3(B)~(D)には、夫々テーブルTB、セルCE、及び文字列領域TXの抽出結果を表示させた場合の例を示している。それにより、
図3(A)では、「テーブル」「セル」「テキスト」の全てのボタンBT1~3が選択状態となっている。
図3(B)~(D)では、3つのボタンBT1~3のうちの1つのみが選択状態となっている。
【0039】
図3(A)~(D)に示すように、テーブルTB、セルCE、及び文字列領域TXの各抽出結果は、矩形の枠により示される。枠の色は、テーブルTB、セルCE、及び文字列TXにより異ならせている。それにより、オペレータは、枠の色により、テーブルTB、セルCE、及び文字列領域TXの各抽出結果を視認できるようになっている。
【0040】
上記のように、本第1のサービスでは、他のセルCEと位置的に離れた1つのセルCEは1つのテーブルTBとして抽出している(
図2参照)。本第1のサービスでは、同様に、他のセルCE、及び他の文字列領域TXの何れとも位置的に離れた1つの文字列領域TXも1つのテーブルTBとして抽出している。それにより、
図3(A)に示すように、夫々、文字列領域TX内の文字列である「平成29年度 収支計算書」「収入の部」は何れも1つのテーブルTB、及び1つのセルCEとしても抽出されている。文字列領域TX内の文字列である「自.平成29年4月1日 至.平成30年03月31日」は、「自.平成29年4月1日」「至.平成30年03月31日」の2つの文節に分割され、各文節が夫々、存在する領域が1つの文字列領域TX、1つのセルCE、及び1つのテーブルTBとして抽出されている。
【0041】
本第1のサービスでは、
図3(A)~(D)に示すように、オペレータは、3つのボタンBT1~3のうちの何れかをクリック操作することにより、望む抽出結果を個別に確認することができる。そのため、オペレータにとっては、テーブルTB、セルCE、及び文字列領域TXの各抽出結果の確認が容易に行うことができる。
【0042】
文字列TXの全てを常に適切に認識できるとは限らない。帳票上に手書きの文字列TXが存在している場合、その手書きの文字列TXを適切に認識できる確率は比較的に低くなるのが普通である。PC(Personal Computer)等を用いて、データをイメージ化して印刷した帳票であっても、全ての文字列TXを適切に認識できるとは限らない。これは、印刷時に発生した不具合、画像データ化の際に帳票上に付着していたゴミ、若しくは埃、帳票への書き込み、或いは帳票に生じていた損傷、等がありうるからである。
【0043】
このようなことから、帳票のデータ化、つまり電子化の後、オペレータが文字列の認識結果を少なくとも確認し、認識結果の誤りを修正する後続処理を行うのが普通である。後続処理は、多数の帳票を対象にする場合も多く、対象となる帳票の形式も様々であることも多い。帳票の形式の種類が多くなるほど、オペレータにとっては文字列の認識結果、その対応関係の確認に必要となる時間は長くなる。このようなことから、購入企業にとっては、オペレータによる後続処理をより効率的に行えるようにすることが望まれる。
【0044】
本第1のサービスでは、上記のようなレイアウト解析により、文字列の認識結果の他に、セルCE、文字列領域TX、及びテーブルTBを夫々抽出した結果を含む解析結果が保存可能である。それにより、オペレータは、抽出されたセルCE、文字列領域TX、及びテーブルTBの各抽出結果も視認できる。
【0045】
帳票上の文字列の多くはセル内に存在する。そのため、セルCE、及び文字列領域TXの何れを視認可能にしても、文字列TXの認識結果、及び文字列TX間の対応関係の確認をオペレータはより容易、且つより迅速に行えるようになる。
【0046】
一方、テーブルを視認可能にした場合、オペレータに対し、テーブル単位で文字列TXの認識結果、及びその対応関係を確認させることが可能となる。テーブルTBは、上記のように、1つのセルCE(或いは1つの文字列領域TX)以上の領域であり、帳票によっては、表構造を考慮しつつ、その帳票を複数の部分に空間的、及び論理的に分割する。それにより、オペレータにとってのテーブル単位の認識結果の確認は、帳票平均ではより容易、且つより迅速に行えるようになる。これは、テーブルTBで分割する結果、考慮すべき文字列TXの数がより少なくなる他に、表構造をより意識できるようになって、文字列TX間の適切な対応関係の予測がより容易となるためである。文字列TX間の適切な対応関係を予測できれば、オペレータは、文字列TXの認識結果が適切か否かだけでなく、文字列TX間で特定された対応関係が適切か否かまでより容易、且つより迅速に確認することができる。
このようなことから、オペレータは、後続処理をより確実に効率的に行うことができる。
【0047】
図4は、本発明の情報処理装置の一実施形態に係る帳票認識装置により実現可能となる第2のサービス(以下、「本第2のサービス」と呼ぶ)の概要を説明する図である。
【0048】
本第2のサービスも、帳票認識装置(後述する
図6参照)により実現可能なサービスである。サービス提供者は、例えば本第1のサービスと同様に、専用アプリを開発することにより、その専用アプリを購入した個人、或いは組織に対し、本第2のサービスを提供する。ここでも、専用アプリの購入等をしたのは組織と想定し、その組織も以下、「購入企業」と呼び、購入企業内で専用プリを実際に使用する者は「オペレータ」と呼ぶこととする。
【0049】
オペレータは、例えば購入企業内の任意の情報処理装置に専用アプリをインストールさせることにより、その情報処理装置を帳票認識装置として利用すること、つまり本第2のサービスを利用することができる。
【0050】
本第2のサービスで提供される帳票認識装置は、帳票画像データを用いた処理を行うことで、帳票に存在する文字列TXを認識し、所定条件を満たす2つの文字列TXの組を特定する機能を有している。以下、このような機能を「キー-バリュー抽出機能」と呼ぶ。即ち、本第2のサービスとは、キー-バリュー抽出機能を発揮可能な帳票認識装置を提供することであるとも言える。
【0051】
ここで、キーとは、2つの文字列TXの組での対応関係上、論理的に上位側に位置する文字列TXのことである。バリューとは、その対応関係上、論理的に下位側に位置する文字列TXのことである。通常、キーは、バリューとなる文字列TXが表す具体的な内容に対応する識別子を表す文字列TXである。
【0052】
具体的には例えば、本第2のサービスによれば、帳票認識装置は、キー-バリュー抽出機能を発揮することで、帳票画像データを用いて次のような処理を実行する。
即ち、帳票認識装置は、帳票を表す画像のデータを用いて、帳票画像に存在する、1つ以上の文字が連なる文字列TXを複数認識するとともに、認識した複数の文字列TXの夫々の帳票画像における位置情報を特定する。
さらに、帳票認識装置は、複数の文字列TXの夫々の認識結果、及び複数の文字列TXの位置情報を用いて、帳票に存在する複数の文字列TXのうち、所定の2つの文字列TXの間の対応関係を決定する。
また、帳票認識装置は、対応関係が決定された所定の2つの文字列TXのうち、所定条件を満たす2つの文字列TXの組を特定する。
【0053】
さらに以下、
図4及び
図5を参照して、レイアウト解析機能の具体例について説明する。
【0054】
図4には、本第2のサービスの概要として、帳票画像FIから文字列TXを認識して、2つの文字列TXの組を特定する流れの例が示されている。
本第2のサービスでは、帳票画像FIから認識した文字列TXはグラフのノードNDとして扱われる。このグラフは、ノードND間を線で結んだものであり、各線は2つのノードND間の対応関係、つまりエッジEDを示している。それにより、2つの文字列TXの組の特定は、グラフから、エッジEDで結ぶ2つのノードNDを抽出することに相当する。
【0055】
図4の右側に示すグラフでは、ノードNDに符号としてND1~3のうちの何れかを付し、エッジEDに符号としてED1~3のうちの何れかを付している。ND1~3は、夫々異なるノードNDの属性を表している。ED1~3は、そのエッジEDにより結びつけられるノードNDの属性の異なる組み合わせを表している。なお、区別する必要がないような場合、ノードの符号としては「ND」、エッジの符号としては「ED」を用いる。
【0056】
具体的には、ND1はキーと分類されたノード、ND2はバリューと分類されたノード、ND3はそれら以外、つまりその他と分類されたノードを表している。また、ED1は、キー、及びバリューと夫々分類された2つのノードND1、ND2を結びつけるエッジを表している。同様に、ED2は、キー、及びその他と夫々分類された2つのノードND1、ND3を結びつけるエッジ、ED3は、それら以外の組み合わせとなっている2つのノードNDを結びつけるエッジ、を表している。
【0057】
図5は、帳票画像から特定される2つの文字列の組の例を示す図である。
図5(A)、及び(B)では、異なる帳票毎に、その帳票画像から夫々特定される2つの文字列TXの組の例を示している。
図5(A)に示す帳票画像では、2つの文字列TXの組として、文字列TX11である「賦課年度」と文字列TX13である「平成26」、及び文字列TX12である「対象年度」と文字列TX14である「平成26」が特定される。他に、「通知書番号」と「6200100001」、「期/月」と「7月」、「納期限」と「平成26年12月20日」の2つの文字列TXの組が特定される。
【0058】
同様に
図5(B)に示す帳票画像では、2つの文字列TXの組として、文字列TX21である「合計額」と文字列TX23である「53,999」が特定される。また、文字列TX22である「領収金額」と文字列TX24である「53,999」も2つの文字列TXの組として特定される。他に、「お客様番号」と「072-0000028-005」、「使用期間」と「平成26年8月1日~平成26年9月30日」、「汚水量」と「44」、「使用量」と「53,999」、「催促手数料」と「0」、「既納入済分」と「0」、「納入期限」と「平成27年3月31日」も2つの文字列TXの組として特定される。
【0059】
一般的に帳票認識装置では、帳票上に存在する全ての文字列TXを認識し、その認識結果を保存する。オペレータによる後続処理では、基本的に、その認識結果の全てを確認するようになっている。
【0060】
しかしながら、帳票上に存在する文字列TXの重要度には違いがある場合がある。例えば表構造を形成する文字列は、他の文字列TXとの間の対応関係が存在する場合が多いこともあり、オペレータが確認する必要性が比較的に高いのが普通である。これに対し、帳票の名称等の文字列TXは、他の文字列TXとは対応関係がないのが普通であることから、確認する必要性は比較的に低いのが普通である。
【0061】
文字列TXの間の対応関係については、3つ以上の文字列TXの間で対応関係が存在する場合がある。それらのうちで重要度が特に高いのは、表構造上、端に位置する文字列TX、より具体的には右端、或いは下端に位置する文字列TXである場合が多い。端に位置する文字列TXとの間に直接的な対応関係がある文字列TXも重要度が比較的に高い場合が多い。重要度が高い文字列TXほど、適切に確認する必要がある。
【0062】
また、オペレータの負担、或いは時間的な関係から、比較的に重要度の高い文字列TXのみを後続処理で確認すれば良いというような状況が生じることもありうる。
重要度が比較的に高い文字列TXの認識結果のみを後続処理で確認するような場合、オペレータは、全ての認識結果のうちから確認すべき認識結果を探し出して確認しなければならず、後続処理を迅速に行うのが困難となる。
【0063】
これに対し、本第2のサービスでは、帳票画像上で認識された文字列TXのうちから、後続処理の対象となる文字列TXを制限させることができる。特に重要と考えられる2つの文字列TXの組のみを保存する、或いはそれらを別に分ける、といったことができる。
このようなことから、オペレータにとっては、その2つの文字列TXの組を適切に確認するのがより容易に行えるようになる。それにより、後続処理における重度のミスをするのをオペレータはより回避できるようにもなる。これらのことから、オペレータは、状況等に応じた適切な後続処理をより迅速に行うことができる。
【0064】
図6は、本発明の情報処理装置の一実施形態に係る帳票認識装置を用いて構築された情報処理システムの構成例を示す図である。
帳票認識装置1は、購入組織が用意した情報処理装置であり、購入した専用アプリがインストールされている。その帳票認識装置1は、帳票のイメージを読み取って電子化し、電子化によって得られる帳票画像データを出力するのが可能なスキャナ2と接続されている。それにより、情報処理システムは、帳票認識装置1とスキャナ2とを接続させた構成となっている。ここでは、帳票認識装置1は後続処理にオペレータが使用する想定である。
【0065】
図7は、本発明の情報処理装置の一実施形態に係る帳票認識装置のハードウェア構成の一例を示すブロック図である。
帳票認識装置1は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memoy)13と、バス14と、入出力インターフェース15と、出力部16と、入力部17と、記憶部18と、通信部19と、ドライブ20と、を備えている。
【0066】
CPU11は、ROM12に記録されているプログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理を実行する。各種プログラムには、上記2つの専用アプリが含まれる。その各種プログラムをCPU11が実行することにより、情報処理装置は帳票認識装置1として機能する。
RAM13には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。そのデータには、CPU11が実行する各種プログラムも含まれる。
【0067】
CPU11、ROM12及びRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インターフェース15も接続されている。入出力インターフェース15には、出力部16、入力部17、記憶部18、通信部19、及びドライブ20が接続されている。
【0068】
出力部16は、例えば液晶等のディスプレイを含む構成である。出力部16は、CPU11の制御により、各種画像を表示する。各種画像には、
図1に示すような表示画面DSが含まれる。
入力部17は、例えばキーボード等の各種ハードウェア釦等を含む構成である。それにより、は、入力部17を介して各種情報を入力することができる。入力部17には、ポインティングデバイス、タッチパネル等の入力装置が複数、含まれていても良い。
【0069】
記憶部18は、例えばハードディスク装置、或いはSSD(Solid State Drive)等の補助記憶装置である。データ量の大きいデータは、この記憶部18に記憶される。
通信部19は、スキャナ2との間の通信を可能にする。
【0070】
ドライブ20は、必要に応じて設けられる。ドライブ20には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリカード等のリムーバブルメディア31を着脱させることができる。プログラムが記録されたリムーバブルメディア31をドライブ20に装着させた場合、そのプログラムを記憶部18に記憶させることができる。また、リムーバブルメディア31は、記憶部18に記憶されている各種データのコピー先、或いは移動先として用いることができる。
【0071】
このような帳票認識装置1が備えるハードウェア資源を各種プログラムによって制御する結果、帳票認識装置1は、専用アプリを購入した購入企業に属するオペレータに対し、本第1、及び第2のサービスを提供することができる。後述する各種処理は、各種プログラムがCPU11に実行されることにより実現される。
【0072】
図8は、本発明の情報処理装置の一実施形態に係る帳票認識装置上に実現される機能的構成の一例を示す機能ブロック図である。
【0073】
図8に示すように、帳票認識装置1のCPU11においては、2つの専用アプリが実行される想定の場合、レイアウト解析部101と、キー-バリュー抽出部102とが機能する。それにより、CPU11は、情報処理装置である帳票認識装置1を制御するコンピューターに相当する。
【0074】
レイアウト解析部101は、本第1のサービスが提供可能なレイアウト解析機能を発揮する。スキャナ2から送信された帳票画像データは、通信部19によって受信され、通信部19からCPU11に入力される。帳票画像データがCPU11に入力された場合、有効となっているレイアウト解析部101においては、
図8に示すように、セル抽出部111と、テーブル抽出部112と、文字列認識部113と、表示制御部114と、及び入力制御部115とが機能する。
【0075】
セル抽出部111は、帳票画像データを用いて、帳票に存在するセルを認識し、認識したセルの帳票画像における位置を特定することで、当該セルを抽出する。
具体的には例えば、セル抽出部111は、帳票画像データが表す帳票画像FI上に存在する罫線を検出することにより、セルCEを抽出する。また、セル抽出部111は、抽出したセルCE毎に、帳票画像においてセルCEが存在する範囲をセル領域として抽出するとともに、そのセル領域の位置情報を抽出する(
図2参照)。なお、位置情報のxy軸の各距離は、上記のように、帳票画像上で帳票と見なされる矩形形状が抽出され、抽出された矩形形状の左上の点が基点とされて表されたものである。これは、文字列領域TX、及びテーブルTBでも同様である。
【0076】
文字列認識部113は、帳票画像FI上に存在する文字列領域TXを認識し、認識した文字列領域TXの帳票画像FIにおける位置(位置情報)を特定することで、文字列領域TXを抽出する。文字列TXは、1つ以上の文字が連なるものである。文字列認識部113は、帳票画像FIを表す画像のデータを用いて、帳票に存在する文字列TXを複数認識する。なお、レイアウト解析部101の一部として機能させる場合、文字列領域TXの認識、及びその位置の特定のみを行わせても良い。つまり文字列TXの認識は必須とはならない。
【0077】
テーブル抽出部112は、セル抽出部111により抽出された1以上のセルCE及び位置に基づいて、帳票画像FIにおいてグループを構成する1以上のセルCEを特定し、特定した1以上のセルCEが存在する範囲をテーブルTBとして抽出する。文字列領域TXから、或いは文字列領域TXを含むテーブルTBを抽出する場合もある。このことから、テーブル抽出部112は、セル抽出部111によるセルCE毎の位置情報抽出結果、及び文字列認識部113による文字列領域TX毎の位置情報抽出結果を参照して、テーブルTBを抽出する。テーブル抽出部112は、抽出したテーブルTB毎に、そのテーブルTBの位置情報も併せてを抽出する(
図2参照)。
【0078】
このようなセル抽出部111、テーブル抽出部112、及び文字列認識部113により、
図1に示すような表示画面DSの表示に必要な情報が生成される。セル抽出部111、テーブル抽出部112、及び文字列認識部113により得られた情報は、解析結果として、記憶部18に確保された解析結果格納部182に格納される。また、スキャナ2から送信され、通信部19を介してCPU11に入力された帳票画像データは、記憶部18に確保された画像格納部183に格納される。
【0079】
表示制御部114は、夫々抽出されたセルCE、テーブルTB、及び文字列TXの夫々の位置を視認可能な形態で、画像を表示させる制御を実行する。それにより、表示制御部114は、
図1に示すような表示画面DSを出力部16に表示させることができる。表示画面DSを出力部16に表示させる場合、表示制御部114は、画像格納部183からは対応する帳票画像データ、解析結果格納部182からは対応する解析結果を夫々読み出し、表示画面DSの表示用データを生成する。生成された表示用データが出力部16に出力されることにより、出力部16は表示画面DSを表示させる。
【0080】
入力制御部115は、入力部17に対してオペレータが行った操作を認識して処理し、その認識結果に応じた制御を行う。つまり、入力制御部115は、3つのボタンBT1~3、「データ保存」ボタンBT5及びBT6、並びに4つのタブT1~4へのオペレータによるクリック操作、メニューDS321でのオペレータによる保存形式の選択に対応する。それにより、オペレータは、3つのボタンBT1~3の何れかへのクリック操作により、表示領域DS2上で望む抽出結果を確認することができる。また、オペレータは、4つのタブT1~4の何れかへのクリック操作により、望む抽出結果の詳細、或いは文字列TXの認識結果を表示領域DS3上で確認することができる。そのために、入力制御部115は、操作を認識したボタン、或いはタブに応じた指示を表示制御部114に対して行う。
【0081】
オペレータがメニューDS321で保存形式を選択した後、「データ保存」ボタンBT6をクリック操作した場合、入力制御部115は、そのクリック操作に応じた指示を表示制御部114に対して行う。それにより、表示制御部114は、例えばメニューDS321を表示させる前の状態の表示画面DSを出力部16に表示させる。
【0082】
その一方、入力制御部115は、選択された保存形式を表す情報をテーブル抽出部112に渡し、その保存形式での解析結果の保存を指示する。
その指示により、テーブル抽出部112は、オペレータが選択した保存形式で解析結果を記憶部18に確保された解析結果保存部181に格納する。
【0083】
キー-バリュー抽出部102は、本第2のサービスが提供可能なキー-バリュー抽出機能を発揮する。有効となっているキー-バリュー抽出部102においては、
図8に示すように、文字列認識部113と、対応関係決定部116と、及び特定部117とが機能する。
【0084】
キー-バリュー抽出部102が有効となっている場合、文字列認識部113は、帳票画像FIを表す画像のデータを用いて、帳票に存在する、1つ以上の文字が連なる文字列TXを複数認識するとともに、認識した複数の文字列TXの夫々の画像における位置情報を特定する。
【0085】
対応関係決定部116は、文字列認識部113による複数の文字列TXの夫々の認識結果、及び複数の文字列TXの位置情報を用いて、帳票画像FIに存在する複数の文字列TXのうち、所定の2つの文字列TXの間の対応関係を決定する(
図5参照)。
【0086】
特定部117は、対応関係決定部116により対応関係が決定された所定の2つの文字列TXのうち、所定条件を満たす2つの文字列TXの組を特定する(
図5参照)。キーとバリューの関係にある2つの文字列TXの組は、その例である。
【0087】
以下、
図9~
図16を用いて、本第1のサービスの提供のために実行される処理の概要例について説明する。
【0088】
図9は、本発明の情報処理装置の一実施形態に係る帳票認識装置により実行されるセル検出処理の例を示すフローチャートである。
図8に示すセル抽出部111は、このセル検出処理をCPU11が実行することで実現される。このことから、ここでは処理を実行する主体をセル抽出部111として説明を行う。
【0089】
先ず、ステップS11において、セル抽出部111は、帳票画像FIを1チャネルのグレースケール画像に変換して2値化し、2値化した帳票画像FI上に存在する罫線を水平線成分、垂直線成分に分離する。
【0090】
本実施形態では、罫線の水平線成分、垂直線成分への分離は、2値化した帳票画像FIに対してモルフォロジー変換を用いることで行っている。罫線の水平線成分、垂直線成分の分離には、夫々用意したモルフォロジーフィルタの構造要素が用いられる。また、モルフォロジー変換は、水平線成分、垂直線成分の拡大・収縮処理を通して、線成分を太くする、線成分を補足する、等のためにも用いている。
モルフォロジー変換は、DNNを用いて行っている。表示領域DS2(
図1)の上方部分にサムネイル画像として表示される2つのサリエンシーマップ画像には、罫線が含まれる。その罫線は、DNNを用いて分離させた水平線成分、垂直線成分を用いて特定されたものである。そのため、2つのサリエンシーマップ画像の生成にDNNが用いられている。
【0091】
ステップS11においては、セル抽出部111は、水平線成分、及び垂直線成分と元の帳票画像FIとの間で夫々ピクセル毎の論理積をとることにより、水平線成分のみ、及び垂直線成分のみの分離済み画像の生成も行う。
【0092】
スキャナ2による帳票の読み取りが適切に行われるとは限らない。また、読み取らせた帳票に歪み等が生じている可能性もある。このようなことから、実際には、ステップS11の処理を実行する前に、帳票画像FIの回転、帳票画像FIに生じている歪みの補正等のための前処理を行うことが必要である。
【0093】
次に、ステップS12において、セル抽出部111は、2つの分離済み画像を処理し、矩形領域を囲んでいる水平線成分、及び垂直線成分の各成分を検出する。セル抽出部111は、検出した成分が交差する点についての位置情報である交差情報も併せて抽出する。
また、セル抽出部111は、検出した各成分により囲まれた矩形領域を、接続、つまり隣接していると見なす範囲でグルーピングする。それにより、例えば上下左右のうちの何れかの方向で、定めた閾値以下の距離で隣り合う矩形領域は1つのグループにまとめられる。抽出した交差情報は、矩形領域のグルーピングのために参照される。
また、セル抽出部111は、検出した各成分のうちで適切に他の成分と接続されていない可能性が考えられる成分を特定し、特定した成分を必要に応じて操作する処理も併せて行う。
【0094】
図10は、適切に他の成分と接続されていない可能性が考えられるとして特定される成分の例を示す図である。
罫線では、
図10に示すように、水平線、或いは垂直線の成分Lの一部Laが交差する他の成分Lからはみ出している場合がある。本第1のサービスでは、はみ出した一部Laは、その一部Laがはみ出した方向に存在する他の成分Lと接続させるべきものである可能性を考慮して対応するようにしている。具体的には、一部Laがはみ出している方向に、その一部Laに向かってはみ出している一部Laを有する他の成分Lが存在する場合、その2つの一部Laを、その2つの一部Laを含む1つの成分Lに置き換えるようにしている。その置き換えにより、2つの一部Laは、それらを結ぶ罫線として扱われる。以下、一部Laは「はみ出し部La」と呼ぶ。
【0095】
このような置き換えにおいて、異なる2つの成分Lに、対向するはみ出し部Laが存在することを条件としている。これは、成分Lの途中が何らかの理由によって消えた状態となって、その成分Lの代わりに2つの対向するはみ出し部Laが生じた可能性が高いと考えられるからである。本第1のサービスでは、2つの対向するはみ出し部Laの存在は、その可能性が高いことを示す根拠と見なしている。このような条件により、
図10に示すはみ出し部Laの全ては、他の成分Lとは接続されない。
【0096】
角が丸いセルCEでは、例え同じ成分Lを共有する隣接するセルCEであっても、丸い角の交差情報はその成分Lから離れた位置を示すことになる。そのため、交差情報を用いたグルーピングを適切に行うのが困難となる。
【0097】
しかしながら、罫線を水平線成分と垂直線成分とに分離した場合、セルCEの丸い角の部分は無視され、丸い角に繋がる2つの成分Lはともに、適切に他の成分Lと接続されていない可能性が考えられる成分Lとして特定される。この2つの成分Lは、その成分Lの延長線上で他の成分Lと交差する。このことから、この2つの成分Lはともに、互いに他の成分Lと接続させるべき成分Lと見なされ、他の成分Lと交差する点までのびる成分Lに変更される。この結果、セルCEの丸い角は全て、直角の角に成形される。このような成形により、セルCEの角の形に係わらず、交差情報を用いたグルーピングも適切に行うことができる。
【0098】
成分Lのうちには、途中で消えているか、或いは読み取り時に帳票に付着した埃等により、本来、1つの成分Lが複数の成分Lとして検出される場合がある。そのような複数の成分Lでは、同じ向きに対向する他の成分Lが存在する。そのため、これら複数の成分Lは、一つの成分Lに置き換えられる。
【0099】
このような成分Lへの操作により、成分Lが交差する点が新たに生じた場合、その点の交差情報が抽出される。このことから、ステップS12の処理の実行により、セルCEの可能性が考えられる矩形領域の各交差情報の大部分が抽出されることになる。
【0100】
ステップS13において、セル抽出部111は、水平線成分、及び垂直線成分を夫々、高さを持たない水平線成分、幅を持たない垂直線成分として、各成分の情報を変換する。セル抽出部111は、変換後の情報を格子座標情報として集約し、水平線成分と垂直線成分とが交差する点で分割される格子の各要素で罫線の有無を判定し、その判定結果を格子の要素ごとの罫線有無データとして保存する。
【0101】
図11は、ステップS13で実行される処理の内容の第1の例を説明する図である。
水平線成分LH、及び垂直線成分LVはともに、本来は太さを有する成分である。水平線成分LHは高さを持たない成分に、垂直線成分LVは幅を持たない成分に変換される。その結果、
図11に示すように、太さのない水平線成分と垂直線成分とで形成される格子を表す格子データが作成される。
【0102】
太さのない水平線成分、垂直線成分を想定することにより、
図11に示すように、太さの違いによって座標情報が異なるのを回避させることができる。それにより、例えば垂直線成分では、y軸上、異なる位置、及び異なる太さの2つの垂直線成分のx座標を同じにすることができ、処理が簡単化される。
【0103】
格子の各要素は、水平線成分と垂直線成分とで分割される成分Lである。例えばx座標の値がx1となっている垂直線成分では、4つの水平線成分によって分割される3つの部分が夫々要素となる。つまりy座標の値がy0~y1の間、y1~y2の間、y2~y3までの間が夫々要素となる。
【0104】
罫線の有無判定は、要素ごとに行われる。
図11に示す例では、x座標の値がx
1、y座標の値がy
1~y
2の要素のみ、罫線は無しと判定され、その判定結果を表す「0」が罫線有無データとなっている。他の要素は全て、罫線は有りと判定され、その判定結果を表す「1」が罫線有無データとなっている。
【0105】
x座標の値がx2、y座標の値がy2~y3までの間である要素では、垂直線成分LVが全ての範囲に存在しない。しかし、その垂直線成分LVは、その要素の大部分に存在する。そのため、この要素も罫線は有りと判定される。
【0106】
このように、本第1のサービスでは、格子の要素ごとに、罫線の有無を判定している。そのため、要素に1つ以上の成分が存在し、その要素の全体を1つの成分がカバーしていなくとも、その要素には罫線が有りと判定され、その1つ以上の成分は適切な1つの成分に補完される。
【0107】
図12は、ステップS13で実行される処理の内容の第2の例を説明する図である。
上記のように、ステップS12では、他の成分Lからはみ出しているはみ出し部Laが特定される。
図12では、同じ水平方向にはみ出している2つのはみ出し部La、その逆向きにはみ出している1つのはみ出し部La、及び垂直方向にはみ出している1つのはみ出し部Laが特定された場合の例を示している。
【0108】
図12に示すように、各はみ出し部Laは、はみ出した方向に、そのはみ出した方向に最初に存在する、その方向と直角な成分Lまで延長されている。それにより、ステップS12の処理時に検出された成分Lは、ステップS13の処理により、
図12に示すように操作される。角の2つの成分Lが交差していない部分は、要素ごとの罫線の有無の判定により、それらが直角に接続するように操作される。
【0109】
各はみ出し部Laをはみ出した方向に延長させているのは、そのはみ出した方向に、接続させる可能性が考えられる成分Lが存在するからである。言い換えれば、テーブルTBの範囲、つまり外周となる成分Lの一部が検出できなかった可能性が考えられるからである。
【0110】
このような操作により、罫線を構成する成分を適切に補完することが期待できる。また、セルCEと見なすことが可能な矩形領域、及びその矩形領域が集まっている範囲は、より矩形形状に近づけることができる。
【0111】
表構造となっている部分は、全体的に矩形形状となっている場合が多い。そのため、矩形領域、及びその矩形領域が集まっている範囲をより矩形形状に近づけることは、セルCE、及びテーブルTBをより適切に抽出できるようにするうえで効果が期待できる。
【0112】
ステップS14において、セル抽出部111は、格子座標情報、及び格子の要素ごとの罫線有無データを参照し、他の矩形領域に含まれない領域を含む矩形領域を全てセルCEとして検出する。検出したセルCEの全てから、位置情報を夫々抽出する。そのようにして、セルCEの検出、及び検出したセルCEからの位置情報の抽出を行った後、セル検出処理が終了する。
【0113】
図13は、帳票画像、その帳票画像から検出されるセル、検出されたセルのグルーピングの例を示す図である。
図13に示すように、帳票画像FI上に存在する罫線で囲まれ、且つ他の矩形領域に含まれた領域が存在しない矩形領域が全てセルCEとして検出される。検出されたセルCEは、形状を含む位置関係からグルーピングされ、1グループを構成するセルCEはテーブルTBの構成要素として扱われる。また、矩形形状となっていない領域を囲む罫線による閉罫線CLは、セルCEとして検出されず、排除される。
その排除により、有効とする罫線が確定する。それにより、2つのサリエンシーマップ画像上の罫線も確定する。その一方に配置される文字列領域TXは、罫線とは別に抽出されて特定される。
【0114】
図14は、本発明の情報処理装置の一実施形態に係る帳票認識装置により実行される外周取得処理の例を示すフローチャートである。
図8に示すテーブル抽出部112は、この外周取得処理をCPU11が実行することで実現される。このことから、ここでは処理を実行する主体をテーブル抽出部112として説明を行う。
上記セル検出処理では、セルCEの検出、及びセルCEのグループ化を行う。このことから、外周取得処理では、グループ化されたセルCEの集合の外周を特定することにより、テーブルTBの範囲を抽出するようになっている。
【0115】
先ず、ステップS21において、テーブル抽出部112は、セルCEの位置情報を節点情報に変換する。節点情報は、各セルCEの位置情報から4つの角を特定し、特定した角で交差する水平線、及び垂直線を夫々引いたと想定した場合に、セルCEを表す罫線が水平線、或いは垂直線と交差する点の位置を表す情報のことである。
【0116】
図15は、セルの検出結果、及びその検出結果を変換して得られる節点情報の例を示す図である。
図15の左側に示すようにセルCEが検出されるか、或いはグルーピングされることにより、各セルCEの角で交差する水平線、及び垂直線が格子線GDとして引いた状態が想定される。節点Pは、セルCEを表す罫線が格子線GDの水平線、或いは垂直線と交差する点である。節点情報は、節点Pの位置を表す位置情報である。
【0117】
各節点Pには、セルCEを表す罫線の少なくとも一部が接続された形となっている。その一部は、各節点Pで少なくとも2つ存在する。その一部については、以下「リンクLK」と総称する。
【0118】
各節点Pでは、節点情報とともに、その節点Pと接続された各リンクLKを表すリンク情報が生成される。リンク情報は、節点Pと隣接する別の節点Pとの間の位置関係を示す情報である。本第1のサービスでは、位置関係を示す情報として、節点Pの左右上下の方向ごとに、隣接する節点Pの有無、節点Pが存在していれば、その節点Pまでの距離を保存するようにしている。距離は、ピクセルを単位として表したものである。そのリンク情報により、左右上下の4つの方向で隣接する別の節点Pの有無、隣接する別の節点Pが存在するならば、その節点Pまでの距離を特定することができる。
【0119】
ステップS22において、テーブル抽出部112は、生成した節点情報、及びリンク情報を、セルCEの検出の際にグルーピングされた結果に従ってグループ化する。
【0120】
その後、ステップS23において、テーブル抽出部112は、グループ毎に、そのグループの節点情報、及びリンク情報を参照して、グループ化されたセルCEの範囲の外周をテーブルTBの外周として抽出する。全てのテーブルTBの外周を抽出した後、外周取得処理が終了する。
【0121】
図16は、グループ化された節点情報の例、及びその節点情報からセルを含むテーブルの外周の抽出例を示す図である。
節点Pは、テーブルTBの外周を特定するために想定される。テーブルTBの外周の特定は、起点とする節点Pから、隣接する別の節点Pに着目する節点Pを順次、移動させる探索により行われる。この探索は、既に探索済みの節点Pに戻った時点で終了する。
【0122】
本第1のサービスでは、グループ化された節点情報から特定される節点Pのうち、最も左側に位置し、且つ最も上に位置する節点Pを起点として探索を行うようにしている。次の節点Pに進行する進行方向には優先順位を設けている。その優先順位は、現在の節点Pに移動した進行方向から見て、左方向が最も優先順位が高いものとしている。次に高い優先順位は現在の進行方向、つまり前方向、その次に高い優先順位は右方向、最も低い優先順位は後方向、としている。それにより、
図16に示す例では、「P」を付した節点Pが起点となり、外周に位置する節点Pのみを移動させる探索が行われ、テーブルTBの外周が抽出される。
【0123】
図17は、本発明の情報処理装置の一実施形態に係る帳票認識装置上に実際にキー-バリュー抽出部の一部として実現された機能的構成の一例を示す機能ブロック図である。
【0124】
図17に示すように、帳票認識装置1のCPU11においては、キー-バリュー抽出部102が機能する場合、グラフ情報生成部121、及びグラフ構築部122が機能する。グラフ情報生成部121、及びグラフ構築部122は、対応関係決定部116、及び特定部117の機能を含むものである。
【0125】
本第2のサービスで想定するグラフは、ノードNDとエッジEDからなるデータ構造のものである。ここでのノードNDは、認識された文字列TXである。エッジEDは、ノードND同士の対応関係、つまり関係性を表すデータである。以下、「ノード」は、認識された文字列TXを指す意味で用いる。
【0126】
グラフ情報生成部121は、文字列認識部113から帳票画像FIを表す画像(データ)DT1、認識した文字列TXが存在する文字列領域の位置情報DT2、及び文字列TXの認識結果DT3を入力する。
【0127】
グラフ情報生成部121では、
図17に示すように、グラフモデラ部1211、及び特徴演算部1212が機能する。
グラフモデラ部1211は、画像DT1、及び文字列領域TXの位置情報DT2を参照し、文字列領域TX間の相対的な位置情報、つまり距離情報を生成する。
特徴演算部1212は、文字列TXの認識結果DT3から、各文字列TXの属性を表す属性情報、及び文字列の自然言語処理(NLP:Natural Language Processing)を行った結果であるNLP情報を生成する。
【0128】
図18は、グラフ情報生成部により生成される各種情報の例を説明する図である。
文字列領域TX間の相対的な位置情報は、空間的な特徴を表す情報である。グラフモデラ部1211は、認識された文字列TX、より正確には、その文字列TXが存在する文字列領域毎に、隣接する文字列領域TXとの間の相対的な位置情報を生成する。本第2のサービスでは、
図18に示すように、上下左右の4方向に分け、方向毎に、隣接する文字列領域TXまでの位置情報を生成する。具体的には、上下に隣接する文字列領域TXでは、その間の距離を、対象とする文字列領域TXの高さで割って得られる位置情報を生成する。左右に隣接する文字列領域TXでは、その間の距離を、対象とする文字列領域TXの幅で割って得られる位置情報を生成する。
【0129】
対象とする文字列領域TXの大きさ(形状)で文字列領域TX間の距離を割ることにより、文字列領域TX間の相対的な位置情報は、文字列領域TX間の距離がその文字列領域TXの大きさに応じて正規化された形となる。文字列領域TX間の距離は、ノード間の対応関係を特定するうえで重要な情報である。その距離を正規化することにより、文字列領域TXの大きさに係わらず、文字列領域TX間の対応関係をより適切に特定できるようになる。
【0130】
特徴演算部1212は、予め定められた分類に沿って、文字列TXの属性を判定し、その属性を論理型の情報として生成する。文字列TXは、
図18に示すように、例えば日付、数値、それらとは異なるその他のうちの何れかに分類される。論理型の属性情報は、分類毎に、その分類に属するか否かを2値で表す情報である。
【0131】
NLP情報は、認識された文字列TXに対して自然言語処理を行って得られる情報である。このNLP情報は、例えば
図18に示すように、空白で区切られた複数の単語を1つの文字列TXとして扱うのを可能にする。また、
図1に示す「自.平成29年4月1日 至.平成30年03月31日」を、「自.平成29年4月1日」「至.平成30年03月31日」の2つの文字列TXとして扱うのを可能にする。
【0132】
グラフモデラ部1211で生成された各種情報は、グラフ構築部122に渡される。
グラフ構築部122では、
図17に示すように、特徴抽出部1221、ノード分類部1222、ノード抽出部1223、エッジ分類部1224、及び結合部1225が機能する。特徴抽出部1221、ノード分類部1222、及びエッジ分類部1224は、MLP(MultiLayer Perceptron)を用いたものである。
【0133】
特徴抽出部1221は、各ノードNDが持つ特徴量を繰り返して学習する機能である。例えばノードNDが「合計額」という文字列TXの画像であった場合、そのノードNDは、教師データと比較することにより、「合計額」の意味の文字列TXと認識される。
【0134】
ノード分類部1222は、各ノードNDから抽出された特徴量を用いて、各ノードNDを分類し、その分類結果をノード分類子として生成する。ここでは、各ノードNDは、キー、バリュー、及びその他のうちの何れかに分類される。このノード分類子は、ノードNDの属性情報に相当する。
【0135】
帳票画像FI上のノードND(文字列TX)のうちには、キー、及びバリューの両方に分類できるものも存在する。本第2のサービスでは、学習データを用いた学習により、キー、及びバリューの両方に分類できるノードNDをそのうちの一方にのみ分類する。それにより、特定すべき2つのノードNDの組、つまりノードND1とノードND2の組のみを特定できるようにしている。
【0136】
ノードND間の対応関係、つまり関係性を特定すべきノードNDは、キー、或いはバリューと分類されたノードNDである。その他と分類されたノードND3は、対応関係を特定する対象には含まれない。このことから、ノード抽出部1223は、各ノードNDのうちから、キー、或いはバリューと分類されたノードND1、ND2のみを抽出する。
【0137】
エッジ分類部1224は、キー、或いはバリューと分類されたノードNDのみを対象に、そのノードNDとの間に対応関係が存在するノードNDを予測することにより、エッジEDを生成する。対応関係を決定する、つまりエッジEDを予測するノードNDを、キー、或いはバリューと分類したものに限定しているため、全てのノードNDを対象にする場合と比較して、計算量、及び必要なメモリ量がともに低減される。
【0138】
結合部1225には、各ノードNDのノード分類子、及びエッジEDの予測結果が渡される。それにより、結合部1225は、予測(決定)されたエッジEDのうち、ノード分類子がキー、及びバリューとなっている2つのノードND1、ND2を結びつけるエッジED1のみを抽出する。このエッジED1の抽出により、ノード分類子がキーとバリューとなっている2つのノードND1、ND2の組が特定される。
【0139】
図19は、グラフ構築部の詳細例を示す図である。
特徴抽出部1221は、
図19に示すように、3層のNN(Neural Network)である。この特徴抽出部1221には、グラフ情報生成部121から、ノードNDの集合、及びエッジEDの集合を表すグラフ、ノード数、エッジ数、ノード属性、ノードラベル、隣接行列、マッピングマトリックス、等が渡される。
【0140】
ノードラベルは、例えばノードNDの識別を可能にする情報である。マッピングマトリックスは、ノードND間の関係性を表す多次元行列であり、エッジEDの予測結果に応じて更新される。ノード属性は、
図18に示すように、論理型の情報である。
【0141】
特徴抽出部1221は、上記のように、各ノードNDが持つ特徴量を抽出し、意味を特定する。その特定により、ノード分類子がその他と分類されるノードNDがノード抽出部1223に通知される。
【0142】
ノード分類部1222も、
図19に示すように、3層のNNである。ノード分類部1222は、ノード属性、及びノードラベルを用いて、各ノードのノード分類子を生成する。ここでは、各ノードNDをキー、バリュー、及びその他のうちの何れかに分類することから、ノード分類子は0~2の数値で表している。0はキー、1はバリュー、2はその他を表している。各ノードのノード分類子は、ノード抽出部1223に渡される。
【0143】
ノード分類部1222では、ノード分類子の生成のための学習データを用いた学習が行われている。この学習データは、グラフ理論を採用したものであり、例えばノードNDをキー、及びバリューの何れかに分類し、それらの間の関連性の強さをリンク情報としてアノテーションしたものである。それにより、ノード分類部1222は、他のノードNDを考慮し、各ノードNDのノード分類子を生成する。キー、及びバリューの両方に分類可能なノードNDは、そのうちの一方にのみ分類される。また、或る文字列TXがキーに分類される場合、その類義語に相当する文字列TXも全てキーに分類される。
【0144】
ノード抽出部1223では、
図19に示すように、ノード削除部12231、及びノード選択部12232が機能する。
その他と分類されるノードNDは、ノード削除部12231に通知され、各ノードのノード分類子はノード削除部12231に渡される。それにより、ノード削除部12231は、全てのノードNDのうちから、その他と分類されるノードNDを対象から削除する。この結果、ノード選択部12232には、キー、或いはバリューと分類されたノードNDのみが通知される。
【0145】
ノード選択部12232は、ノード削除部12231から通知されたノードNDを選択し、エッジ分類部1224に選択結果を通知する。
この結果、エッジ分類部1224は、キー、或いはバリューと分類されたノードNDのみを対象に、そのノードNDとの間に対応関係があると見なすノードNDを特定し、マッピングマトリックスを更新する。
【0146】
マッピングマトリックスは、例えばノードND間の対応関係の有無を0、或いは1で表すマトリックスである。0は、対応関係が無いことを表し、1は、対応関係が有ることを表す。このことから、エッジ分類部1224は、対応関係が認められるノードND間に対応する要素の値を0から1に更新する。
【0147】
エッジ分類部1224は、自然言語処理の機能を実装させた2層のNNである。それにより、エッジ分類部1224は、表構造上、キーとバリューの関係になっている2つのノードNDの間にエッジEDが存在すると見なす(
図5参照)。しかし、その2つのノードNDが実際にキー、バリューと夫々分類されているとは限らない。このことから、結合部1225は、マッピングマトリックス、及びノード分類子を参照し、ノード分類子がキー、バリューを示す2つのノードND1、ND2を結ぶエッジED1を特定する。それにより、結合部1225は、そのエッジED1が結ぶ2つのノードND1、ND2の組のみを抽出する。この2つのノードND1、ND2の組は全て、特定結果として記憶部18の特定結果格納部184に格納される。
【0148】
以上、本発明の一実施形態について説明した、しかし、本発明が適用される実施形態は、例えば以下のようなものであっても良い。
【0149】
例えば帳票には、キーに分類されるノードND1(文字列TX)に対し、バリューに分類されるノードND2が複数、存在するものもある。例えば
図20に示す帳票では、「氏名」の文字列TX31がキーに分類されるノードND1に対応し、「山田 太郎」の文字列TX41、TX42は、そのノードND1との対応関係があるバリューに分類されるノードND2に対応する。このことから、文字列TX41の他に、文字列TX42も文字列TX31に対応づけるようにしても良い。同様にして、文字列TX43、TX44を文字列TX32に、文字列TX45、TX46を文字列TX33に、文字列TX47、TX48を文字列TX34に、夫々対応づけるようにしても良い。
【0150】
また、文字列TX43~TX47は、文字列TX41の「山田 太郎」とも対応づけられるものである。このことから、文字列TX41と、文字列TX43~TX47との組をまとめて対応づけても良い。この組は、構造化データとして扱うことができる。
また、帳票画像FIを表す帳票画像データは、スキャナ2から取得しているが、その帳票画像データは、ネットワークを介して接続可能な端末から取得するようにしても良い。つまり、帳票画像データを取得する装置は特に限定されない。それにより、
図1に示すような表示画面DSを表示させる装置も特に限定されない。
【0151】
表示画面DSの画面構成についても、
図1に示すようなものに限定されない。例えばテーブルTBの抽出結果を常に表示させる表示領域を確保し、別の表示領域に、セル領域、文字列領域の各抽出結果を選択的に表示できるようにしても良い。詳細表示領域DS32に表示させた文字列TXの認識結果をオペレータが修正できるようにしても良い。
キー-バリューの関係にある2つの文字列TXの組の抽出にNNを用いているが、NNを用いなくても良い。しかし、NNを用いた場合、用意する学習データにより、様々な帳票に対応させることが比較的に容易に可能になるという利点がある。
テーブルTBの範囲内に複種類の罫線が存在する場合がある。複種類の罫線とは、太さが異なる、1つの罫線を形成する線の数が異なる、及び色が異なる、等のうちの何れかにより区別される複種類の罫線である。罫線を異ならせていることには何らかの意図が存在するのが普通である。このことから、テーブルTBの抽出、或いは文字列TX(ノードND)間の対応関係の決定に、罫線の種類の判定結果を反映させるようにしても良い。
帳票は表構造となっている。そのため、テーブルTBの抽出、文字列TX間の対応関係の決定を行う対象を帳票としている。それにより、表構造を有しているものであれば対象にすることが可能である。つまり、対象は、帳票以外のものであっても良い。
【0152】
本第1のサービス、及び本第2のサービスは、夫々異なる専用アプリにより提供されるものと説明したが、1つの専用アプリでそれらのサービスを提供可能にしても良い。
図8では、本第2のサービスを提供可能な専用アプリが、本第1のサービスを提供可能な専用アプリの一部の機能(文字列認識部113を実現させる機能)を利用するものと想定している。
【0153】
以上まとめると、本発明が適用される、本第1のサービスを提供可能な情報処理装置は、次のような構成を取れば足り、各種各様な実施形態を採ることができる。
即ち、本第1のサービスを提供可能な情報処理装置(例えば
図6に示す帳票認識装置1)は、
帳票を表す画像のデータを用いて、前記帳票に存在するセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出手段(例えば
図8に示すセル抽出部111)と、
前記セル抽出手段によりが抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出手段(例えば
図8に示すテーブル抽出部112)と、
前記帳票に存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出手段(例えば
図8に示す文字列認識部113)と、
を備える情報処理装置。
【0154】
これにより、オペレータは、セル、文字列領域、及びテーブルの各抽出結果を確認することができる。多くのセルには、内側に文字列が配置される。それにより、セルの抽出結果から、大部分の文字列が存在する位置を確認することができる。
テーブルの抽出結果は、テーブル単位で文字列の認識結果、及びその対応関係を確認する後続処理を行うことを可能にする。テーブル単位で確認できることから、一度に意識すべき文字列の数はより少なくなり、文字列間の対応関係の確認もより容易となる。
このようなことから、オペレータは、適切な後続処理をより容易、且つより迅速に行うことができる。
【0155】
上記情報処理装置には、
前記セル抽出手段、前記テーブル抽出手段、及び前記文字列抽出手段により夫々抽出された前記セル、前記テーブル、及び前記文字列の夫々の位置を視認可能な形態で、前記画像を表示させる制御を実行する表示制御手段(例えば
図8に示す表示制御部114)、を更に備えることができる。
これにより、オペレータは、表示された画像から、セル、テーブル、及び文字列領域の位置を確認することができる。
【0156】
上記情報処理装置には、
前記表示制御手段は、
操作者による操作に基づいて、前記テーブル、前記セル、及び前記文字列領域のうちの1つ以上の位置を選択的に視認可能な形態で、前記画像を表示させる制御を実行する、ようにさせることができる。
これにより、オペレータは、表示された画像から、セル、テーブル、及び文字列領域のうちの任意の位置を選択的に確認することができる。そのため、位置の確認はより容易に行えるようになる。
【0157】
また、本発明が適用される、本第2のサービスを提供可能な情報処理装置は、次のような構成を取れば足り、各種各様な実施形態を採ることができる。
即ち、本第2のサービスを提供可能な情報処理装置(例えば
図6に示す帳票認識装置1)は、
帳票を表す画像のデータを用いて、前記帳票に存在する、1つ以上の文字が連なる文字列を複数認識するとともに、認識した前記複数の文字列の夫々の前記画像における位置情報を特定する文字列認識手段(例えば
図8に示す文字列認識部113)と、
前記文字列認識手段による前記複数の文字列の夫々の認識結果、及び前記複数の文字列の前記位置情報を用いて、前記帳票に存在する前記複数の文字列のうち、所定の2つの文字列の間の対応関係を決定する対応関係決定手段(例えば
図8に示す対応関係決定部116)と、
前記関係性決定手段により対応関係が決定された前記所定の2つの文字列のうち、所定条件を満たす2つの文字列の組を特定する特定手段(例えば
図8に示す特定部117)と、
を備える情報処理装置。
【0158】
これにより、オペレータは、帳票に存在する文字列のうち、特に重要度の高いような2つの文字列の組に限定した確認を容易に行うことが可能となる。文字列の認識結果のうちから、確認すべき認識結果を探すような作業を行う必要性は回避可能となる。視点を変えれば、確認を行う必要性がない、或いは比較的に低いような文字列の認識結果の確認を回避することが容易となる。
このようなことから、オペレータは、適切な後続処理をより迅速に行えるようになる。
【0159】
上記情報処理装置には、
前記対応関係決定手段は、前記複数の文字列の中で、所定の1種類以上の属性のうち何れかの属性を有する文字列のみを前記所定の2つの文字列の夫々として採用して、当該所定の2つの文字列の対応関係を決定する、ようにさせることができる。
これにより、採用させる文字列の属性を通して、所望の2つの文字列の組を特定させることができる。
【0160】
上記情報処理装置には、
前記所定条件は、一方の文字列がキーであり他方の文字列がバリューである関係が成立する条件を含む、ようにさせることができる。
これにより、その関係を有する2つの文字列の組を特定させることができる。
【符号の説明】
【0161】
1 帳票認識装置、2 スキャナ、11 CPU、12 ROM、13 RAM、14 バス、15 入出力インターフェース、16 出力部、17 入力部、18 記憶部、19 通信部、20 ドライブ、31 リムーバブル、エディア、111 セル抽出部、112 テーブル抽出部、113 文字列認識部、114 表示制御部、115 入力制御部、116 対応関係決定部、117 特定部
【手続補正書】
【提出日】2022-08-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
帳票を表す画像のデータを用いて、前記帳票に存在する、1つ以上の文字が連なって意味を表している文字列が存在する可能性があるセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出手段と、
前記セル抽出手段により抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出手段と、
前記帳票に存在する、前記文字列が存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出手段と、
を備える情報処理装置。
【請求項2】
前記セル抽出手段、前記テーブル抽出手段、及び前記文字列抽出手段により夫々抽出された前記セル、前記テーブル、及び前記文字列領域の夫々の位置を視認可能な形態で、前記画像を表示させる制御を実行する表示制御手段、
を更に備える請求項1に記載の情報処理装置。
【請求項3】
前記表示制御手段は、
操作者による操作に基づいて、前記テーブル、前記セル、及び前記文字列領域のうちの1つ以上の位置を選択的に視認可能な形態で、前記画像を表示させる制御を実行する、
請求項2に記載の情報処理装置。
【請求項4】
情報処理装置が実行する情報処理方法において、
帳票を表す画像のデータを用いて、前記帳票に存在する、1つ以上の文字が連なって意味を表している文字列が存在する可能性があるセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出ステップと、
前記セル抽出ステップの処理により抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出ステップと、
前記帳票に存在する、前記文字列が存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出ステップと、
を含む情報処理方法。
【請求項5】
情報処理装置を制御するコンピューターに、
帳票を表す画像のデータを用いて、前記帳票に存在する、1つ以上の文字が連なって意味を表している文字列が存在する可能性があるセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出ステップと、
前記セル抽出ステップの処理により抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出ステップと、
前記帳票に存在する、前記文字列が存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出ステップと、
を含む制御処理を実行するプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
上記目的を達成するため、本発明の一態様の情報処理装置は、
帳票を表す画像のデータを用いて、前記帳票に存在する、1つ以上の文字が連なって意味を表している文字列が存在する可能性があるセルを認識し、認識した前記セルの前記画像における位置を特定することで、当該セルを抽出するセル抽出手段と、
前記セル抽出手段により抽出された1以上の前記セル及び位置に基づいて、前記画像においてグループを構成する1以上の前記セルを特定し、特定した前記1以上のセルが存在する範囲をテーブルとして抽出するテーブル抽出手段と、
前記帳票に存在する、前記文字列が存在する文字列領域を認識し、認識した前記文字列領域の前記画像における位置を特定することで、当該文字列領域を抽出する文字列抽出手段と、を備える。