(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023046514
(43)【公開日】2023-04-05
(54)【発明の名称】計算機及び帳票種別の識別方法
(51)【国際特許分類】
G06V 30/412 20220101AFI20230329BHJP
G06V 30/196 20220101ALI20230329BHJP
【FI】
G06K9/20 340C
G06K9/68 B
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021155140
(22)【出願日】2021-09-24
(71)【出願人】
【識別番号】000233295
【氏名又は名称】株式会社日立情報通信エンジニアリング
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】高橋 寿一
(72)【発明者】
【氏名】金丸 隆
(72)【発明者】
【氏名】堤 庸昂
(72)【発明者】
【氏名】新庄 広
【テーマコード(参考)】
5B029
5B064
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC26
5B029CC28
5B029EE04
5B064AA01
5B064BA01
5B064DA14
(57)【要約】
【課題】画像特徴及び言語特徴を用いて、効率的に、かつ、高い精度で帳票の種別を識別する。
【解決手段】計算機は、複数の帳票種別の画像特徴及び言語特徴を含む帳票定義を管理するための帳票定義情報を格納し、ターゲット帳票の画像を取得し、ターゲット帳票の画像に対して画像処理を実行することによって処理画像を生成し、処理画像から画像特徴を取得し、複数の帳票種別の各々について、処理画像から取得した画像特徴と、帳票種別の画像特徴との類似性を示す第1確信度を算出し、第1確信度に基づいて、類似帳票種別を選択し、処理画像から言語特徴を取得し、処理画像から取得した言語特徴と、前記類似帳票種別の言語特徴との類似性を示す第2確信度を算出し、第1確信度及び第2確信度に基づいて、類似帳票種別の中から候補帳票種別を選択する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを備える計算機であって、
前記記憶装置は、複数の帳票種別の画像特徴及び言語特徴を含む帳票定義を管理するための帳票定義情報を格納し、
前記演算装置は、
前記インタフェースを介して、ターゲット帳票の画像を取得し、
前記ターゲット帳票の画像に対して画像処理を実行することによって処理画像を生成し、
前記処理画像から画像特徴を取得し、
前記複数の帳票種別の各々について、前記処理画像から取得した画像特徴と、前記帳票種別の画像特徴との類似性を示す第1確信度を算出し、
前記第1確信度に基づいて、類似帳票種別を選択し、
前記処理画像から言語特徴を取得し、
前記処理画像から取得した言語特徴と、前記類似帳票種別の言語特徴との類似性を示す第2確信度を算出し、
前記第1確信度及び前記第2確信度に基づいて、前記類似帳票種別の中から候補帳票種別を選択し、
前記候補帳票種別に関する情報を提示することを特徴とする計算機。
【請求項2】
請求項1に記載の計算機であって、
前記画像処理は、画像の回転処理であって、
前記演算装置は、
前記ターゲット帳票の画像に対して、異なる回転角度の回転処理を実行することによって、前記処理画像を複数生成し、
前記複数の処理画像の各々の画像特徴を取得し、前記第1確信度を算出し、
前記類似帳票種別、前記回転角度、及び前記第1確信度を対応付けたデータを生成し、
前記データに対応する回転角度の回転処理によって生成された前記処理画像から言語特徴を取得し、前記第2確信度を算出することを特徴とする計算機。
【請求項3】
請求項2に記載の計算機であって、
前記演算装置は、前記第1確信度が第1閾値より大きく、かつ、前記第2確信度が第2閾値より大きい前記類似帳票種別を前記候補帳票種別として選択することを特徴とする計算機。
【請求項4】
請求項3に記載の計算機であって、
前記演算装置は、前記第1確信度が第1閾値以下、及び、前記第2確信度が前記第2閾値以下のいずれか一方を満たす場合、前記第1確信度が第3閾値より大きい前記類似帳票種別を前記候補帳票種別として選択することを特徴とする計算機。
【請求項5】
請求項2に記載の計算機であって、
前記帳票種別の言語特徴は、キーワードであって、
前記記憶装置は、前記複数の帳票種別の各々に言語特徴として定義された前記キーワードの数に応じて前記第2確信度を補正するための補正情報を格納し、
前記演算装置は、
前記処理画像からキーワードを抽出し、
抽出された前記キーワードと、前記類似帳票種別の言語特徴として定義されたキーワードとの類似度を算出し、
抽出された前記キーワードの前記類似度と、前記補正情報とを用いて、前記第2確信度を算出することを特徴とする計算機。
【請求項6】
計算機が実行する帳票種別の識別方法であって、
前記計算機は、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、
前記記憶装置は、複数の帳票種別の画像特徴及び言語特徴を含む帳票定義を管理するための帳票定義情報を格納し、
前記帳票種別の方法は、
前記演算装置が、前記インタフェースを介して、ターゲット帳票の画像を取得する第1のステップと、
前記演算装置が、前記ターゲット帳票の画像に対して画像処理を実行することによって処理画像を生成する第2のステップと、
前記演算装置が、前記処理画像から画像特徴を取得する第3のステップと、
前記演算装置が、前記複数の帳票種別の各々について、前記処理画像から取得した画像特徴と、前記帳票種別の画像特徴との類似性を示す第1確信度を算出する第4のステップと、
前記演算装置が、前記第1確信度に基づいて、類似帳票種別を選択する第5のステップと、
前記演算装置が、前記処理画像から言語特徴を取得する第6のステップと、
前記演算装置が、前記処理画像から取得した言語特徴と、前記類似帳票種別の言語特徴との類似性を示す第2確信度を算出する第7のステップと、
前記演算装置が、前記第1確信度及び前記第2確信度に基づいて、前記類似帳票種別の中から候補帳票種別を選択する第8のステップと、
前記演算装置が、前記候補帳票種別に関する情報を提示する第9のステップと、を含むことを特徴とする帳票種別の識別方法。
【請求項7】
請求項6に記載の帳票種別の識別方法であって、
前記画像処理は、画像の回転処理であって、
前記第2のステップは、前記演算装置が、前記ターゲット帳票の画像に対して、異なる回転角度の回転処理を実行することによって、前記処理画像を複数生成するステップを含み、
前記第3のステップは、前記演算装置が、前記複数の処理画像の各々の画像特徴を取得するステップを含み、
前記第4のステップは、前記演算装置が、前記複数の処理画像の各々について前記第1確信度を算出するステップを含み、
前記第5のステップは、前記演算装置が、前記類似帳票種別、前記回転角度、及び前記第1確信度を対応付けたデータを生成するステップを含み、
前記第6のステップは、前記演算装置が、前記データに対応する回転角度の回転処理によって生成された前記処理画像から言語特徴を取得するステップを含み、
前記第7のステップは、前記演算装置が、前記データの各々について前記第2確信度を算出するステップを含むことを特徴とする帳票種別の識別方法。
【請求項8】
請求項7に記載の帳票種別の識別方法であって、
前記第8のステップは、前記演算装置が、前記第1確信度が第1閾値より大きく、かつ、前記第2確信度が第2閾値より大きい前記類似帳票種別を前記候補帳票種別として選択するステップを含むことを特徴とする帳票種別の識別方法。
【請求項9】
請求項8に記載の帳票種別の識別方法であって、
前記第8のステップは、前記演算装置が、前記第1確信度が第1閾値以下、及び、前記第2確信度が前記第2閾値以下のいずれか一方を満たす場合、前記第1確信度が第3閾値より大きい前記類似帳票種別を前記候補帳票種別として選択するステップを含むことを特徴とする帳票種別の識別方法。
【請求項10】
請求項7に記載の帳票種別の識別方法であって、
前記帳票種別の言語特徴は、キーワードであって、
前記記憶装置は、前記複数の帳票種別の各々に言語特徴として定義された前記キーワードの数に応じて前記第2確信度を補正するための補正情報を格納し、
前記第6のステップは、前記演算装置が、前記処理画像からキーワードを抽出するステップを含み、
前記第7のステップは、
前記演算装置が、抽出された前記キーワードと、前記類似帳票種別の言語特徴として定義されたキーワードとの類似度を算出するステップと、
前記演算装置が、抽出された前記キーワードの前記類似度と、前記補正情報とを用いて、前記第2確信度を算出するステップと、を含むことを特徴とする帳票種別の識別方法。
【請求項11】
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを備える計算機であって、
前記記憶装置は、複数の帳票種別の画像特徴及び言語特徴を含む帳票定義を管理するための帳票定義情報を格納し、
前記演算装置は、
前記インタフェースを介して、ターゲット帳票の画像を取得し、
前記ターゲット帳票の画像から画像特徴を取得し、
前記複数の帳票種別の各々について、前記ターゲット帳票の画像から取得した画像特徴と、前記帳票種別の画像特徴との類似性を示す第1確信度を算出し、
前記第1確信度に基づいて、類似帳票種別を選択し、
前記ターゲット帳票の画像から言語特徴を取得し、
前記ターゲット帳票の画像から取得した言語特徴と、前記類似帳票種別の言語特徴との類似性を示す第2確信度を算出し、
前記第1確信度及び前記第2確信度に基づいて、前記類似帳票種別の中から候補帳票種別を選択し、
前記候補帳票種別に関する情報を提示することを特徴とする計算機。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された帳票の帳票種別を識別する装置及び方法に関する。
【背景技術】
【0002】
光学文字認識(OCR:Optical Character Recognition)の技術を用いて、文書から属性を読み出し、確認することで業務を自動化する方法が知られている。従来、OCR技術を利用して文書から必要な属性を取得するために、帳票種別ごとに帳票の形式を定義した帳票定義が用いられている。帳票定義には、読み取り対象の文字列の位置及び属性等が定義されている。
【0003】
近年、多種多様な帳票が混在する業務にOCRを利用したいというニーズが高まっている。この場合、OCRを利用する前に、入力された帳票の種別を識別し、使用する帳票定義を特定する必要がある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
帳票の種別を識別する方法として、帳票の画像特徴を利用する方式と、帳票の言語特徴を利用する方式が知られている。画像特徴方式は、帳票の画像のサイズ、帳票の色調、及びレイアウト等の画像特徴を利用して、帳票の種別が識別される。言語特徴方式は、帳票に含まれる文字列を利用して、帳票の種別が識別される。
【0006】
ここで、画像特徴方式及び言語特徴方式の課題について説明する。
図10及び
図11は、従来技術の課題を説明する図である。
【0007】
図10に示す二つの帳票は、レイアウトが類似しているため、画像特徴を用いた場合、区別することができない。
図11に示す二つの帳票は、共通する文字列が多数存在するため、言語特徴を用いた場合、誤った識別結果が出力される可能性がある。このような課題に対して特許文献1に記載の技術が知られている。
【0008】
特許文献1には、「帳票辞書は、登録帳票の特徴を代表する点である対応点の情報及び対応点とは異なる特徴として文字部分の情報を記憶している。処理対象帳票と登録帳票との対応点を検出し(ステップS9)。この対応点について帳票辞書より対応点の情報を参照して、両帳票間の相違度を算出する(ステップS11)。相違度の大きさが所定の程度に近接している登録帳票が複数存在しないときには(ステップS9のN)、相違度の大きさにより処理対象帳票の種類を識別し(ステップS13)、複数存在したときには(ステップS9のY)、帳票辞書より対応点とは異なる登録帳票の特徴を参照して帳票の種類を識別する(ステップS22~S12)。」ことが記載されている。
【0009】
特許文献1では、画像特徴及び言語特徴を用いた帳票種別の識別結果が独立しており、上記のような二つの識別方式の問題点を回避できていない。
【0010】
本発明は、画像特徴及び言語特徴を用いて、効率的に、かつ、高い精度で帳票の種別を識別する装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを備える計算機であって、前記記憶装置は、複数の帳票種別の画像特徴及び言語特徴を含む帳票定義を管理するための帳票定義情報を格納し、前記演算装置は、前記インタフェースを介して、ターゲット帳票の画像を取得し、前記ターゲット帳票の画像に対して画像処理を実行することによって処理画像を生成し、前記処理画像から画像特徴を取得し、前記複数の帳票種別の各々について、前記処理画像から取得した画像特徴と、前記帳票種別の画像特徴との類似性を示す第1確信度を算出し、前記第1確信度に基づいて、類似帳票種別を選択し、前記処理画像から言語特徴を取得し、前記処理画像から取得した言語特徴と、前記類似帳票種別の言語特徴との類似性を示す第2確信度を算出し、前記第1確信度及び前記第2確信度に基づいて、前記類似帳票種別の中から候補帳票種別を選択し、前記候補帳票種別に関する情報を提示する。
【発明の効果】
【0012】
本発明によれば、計算機は、画像特徴及び言語特徴を用いて、効率的に、かつ、高い精度で帳票の種別を識別できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0013】
【
図1】実施例1のシステム構成の一例を示す図である。
【
図2】実施例1の帳票定義情報のデータ構造の一例を示す図である。
【
図3】実施例1の計算機が実行する処理の概要を説明する図である。
【
図4】実施例1の計算機が実行する画像特徴を用いた帳票種別判別処理の一例を説明するフローチャートである。
【
図5A】実施例1の計算機が生成する中間情報のデータ構造の一例を示す図である。
【
図5B】実施例1の計算機が生成する類似帳票種別情報のデータ構造の一例を示す図である。
【
図6】実施例1の計算機が実行する言語特徴を用いた帳票種別判別処理の一例を説明するフローチャートである。
【
図7】実施例1の計算機が生成する確信度情報のデータ構造の一例を示す図である。
【
図8】実施例1の計算機が実行する候補帳票種別の選択処理の一例を説明するフローチャートである。
【
図9】実施例1の計算機がユーザに提示する画面の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例0015】
図1は、実施例1のシステム構成の一例を示す図である。
【0016】
システムは、帳票の種別を識別する計算機10と、帳票の画像を取得するスキャナ装置20とを含む。計算機10及びスキャナ装置20はLAN(Local Area Network)等のネットワーク40を介して互いに接続される。
【0017】
ユーザは、帳票30をスキャナ装置20に入力する。スキャナ装置20は、帳票30の画像(帳票画像124)を生成し、計算機10に送信する。計算機10は、帳票画像124を用いて、帳票30の帳票種別を識別し、帳票30の帳票種別に関する情報をユーザに提示する。
【0018】
計算機10は、演算装置101、記憶装置102、通信インタフェース103、入出力インタフェース104、入力装置105、表示装置106、及び外部記憶装置107を有する。演算装置101、記憶装置102、通信インタフェース103、及び入出力インタフェース104は、内部バスを介して互いに接続される。入力装置105、表示装置106、及び外部記憶装置107は、入出力インタフェース104に接続される。
【0019】
演算装置101は、プロセッサ及びGPU等であり、記憶装置102に格納されるプログラムを実行する。演算装置101がプログラムにしたがって処理を実行することによって、特定の機能を有する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理等を説明する場合、演算装置101が当該機能部を実現するプログラムを実行していることを示す。演算装置101によって実現される機能部については後述する。
【0020】
記憶装置102は、メモリ等であり、演算装置101が実行するプログラム及びプログラムが使用する情報を格納する。また、記憶装置102はワークエリアとしても用いられる。
【0021】
通信インタフェース103は外部装置と通信する。入出力インタフェース104は、外部装置と接続する。入力装置105は、キーボード、マウス、及びタッチパネル等である。表示装置106は、ディスプレイ等である。外部記憶装置107は、例えば、HDD(Hard Disk Drive)等である。
【0022】
記憶装置102は、帳票認識プログラム120、帳票管理プログラム121、設定情報122、及び帳票定義情報123を格納する。また、記憶装置102は、スキャナ装置20から受信した帳票画像124を格納し、帳票画像124の認識結果125を格納する。
【0023】
設定情報122は、機能部の処理内容、処理に使用する閾値、及び出力する情報等を管理するための情報ある。帳票定義情報123は、帳票定義を管理するための情報である。帳票定義情報123のデータ構造については
図2を用いて説明する。
【0024】
演算装置101は、帳票認識プログラム120を実行することによって、帳票画像入力部110、帳票認識処理部111、及び認識結果出力部112として機能する。帳票画像入力部110は、帳票画像124の入力を受け付け、記憶装置102に保存する。帳票認識処理部111は、帳票画像124に対応する帳票30の帳票種別を認識する。認識結果出力部112は、帳票認識処理部111の処理結果を表示するための表示情報を生成する。
【0025】
演算装置101は、帳票管理プログラム121を実行することによって、データ登録部113、データ管理部114、画面表示部115、及び設定部116として機能する。データ登録部113は、帳票定義に関する情報を受け付け、帳票定義情報123に保存する。データ管理部114は、設定情報122及び帳票定義情報123を管理する。画面表示部115は、表示装置106に対して画面を表示する。設定部116は、各種設定情報を受け付け、設定情報122に保存する。
【0026】
なお、計算機10が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【0027】
なお、記憶装置102に格納されるプログラム及び情報は、外部記憶装置107に格納されてもよい。この場合、演算装置101が外部記憶装置107からプログラム及び情報を読み出し、記憶装置102にロードする。
【0028】
なお、
図1に示すシステムの構成は一例であって、これに限定されない。スキャナ装置20は二つ以上でもよい。また、複数の計算機から構成される計算機システムが、計算機10と同等の機能を有してもよい。
【0029】
なお、計算機10は、OCRの機能を有してもよい、OCRの機能を有する装置と接続してもよい。
【0030】
図2は、実施例1の帳票定義情報123のデータ構造の一例を示す図である。
【0031】
帳票定義情報123は、帳票種別ごとに帳票定義200を格納する。帳票定義200には、帳票種別の識別情報として帳票ID及び帳票種別名が付与される。また、帳票定義200は、画像特徴辞書201、言語特徴辞書202、及び属性情報203を含む。
【0032】
画像特徴辞書201は、帳票定義200に対応する帳票種別の画像特徴を格納する辞書である。本発明では、aHash、pHash、dHash、及びwHash等のハッシュ値を画像特徴として用いる。なお、本発明は画像特徴の種別及び算出方法に限定されない。
【0033】
言語特徴辞書202は、帳票定義200に対応する帳票種別の言語特徴を格納する辞書である。言語特徴辞書202には、属性(文字列)、属性種別、及び帳票における属性の位置を一つのデータとするキーワードデータが一つ以上格納される。
【0034】
属性情報203は、帳票から読み出す項目に関する情報を格納する。属性情報203には、属性種別及び帳票における属性の読み取り位置から構成される項目データが一つ以上格納される。帳票IDが「1」の帳票定義200の属性情報203には、「項目1」及び「項目2」の項目データが含まれる。
【0035】
図3は、実施例1の計算機10が実行する処理の概要を説明する図である。
【0036】
帳票画像入力部110は、帳票30から生成された帳票画像124の入力を受け付ける(ステップS100)。
【0037】
帳票認識処理部111は、画像特徴を用いた帳票種別判別処理を実行する(ステップS200)。当該処理では、帳票認識処理部111は、帳票30の画像特徴を取得し(ステップS210)、各帳票種別の画像特徴との類似性を示す確信度を算出し(ステップS220)、確信度に基づいて類似帳票種別を選択する(ステップS230)。
【0038】
帳票認識処理部111は、類似帳票種別の言語特徴を用いた帳票種別判別処理を実行する(ステップS300)、当該処理では、帳票認識処理部111は、キーワードデータで指定された位置から文字列(言語特徴)を抽出し(ステップS310)、類似帳票種別の言語特徴との類似性を示す確信度を算出し(ステップS320)、確信度情報700(
図7参照)を出力する(ステップS330)。
【0039】
帳票認識処理部111は、確信度情報700に基づいて、類似帳票種別の中から候補帳票種別を選択する(ステップS400)。
【0040】
図4は、実施例1の計算機10が実行する画像特徴を用いた帳票種別判別処理の一例を説明するフローチャートである。
図5Aは、実施例1の計算機10が生成する中間情報のデータ構造の一例を示す図である。
図5Bは、実施例1の計算機10が生成する類似帳票種別情報のデータ構造の一例を示す図である。
【0041】
帳票認識処理部111は、帳票定義情報123から全ての帳票種別の画像特徴辞書201を取得する(ステップS211)。
【0042】
帳票認識処理部111は、記憶装置102から帳票画像124を取得する(ステップS212)。
【0043】
帳票認識処理部111は、帳票画像124に対して画像処理を実行する(ステップS213)。
【0044】
具体的には、帳票認識処理部111は、帳票画像124を任意の角度だけ回転させる回転処理を実行する。本実施例では0度、90度、180度、及び270度の四つの回転処理を実行する。その結果、一つの帳票画像124から四つの画像が生成される。以下の説明では、回転処理によって生成された画像を処理画像と記載する。
【0045】
帳票認識処理部111は、各処理画像から画像特徴を取得する(ステップS214)。例えば、帳票定義情報123は、処理画像からpHashを算出し、画像特徴として記憶装置102に保存する。pHashの算出方法は公知技術であるため詳細な説明は省略する。
【0046】
帳票認識処理部111は、帳票種別のループ処理を開始する(ステップS221)。具体的には、帳票認識処理部111は、帳票種別の中から一つの帳票種別を選択する。このとき、帳票認識処理部111は、中間情報500にエントリを追加する。
【0047】
エントリはID501、帳票種別502、及び確信度503を含む。一つの帳票種別に対して一つのエントリが生成される。ID501は、帳票種別に対応する帳票定義200に含まれる帳票IDを格納するフィールドである。帳票種別502は、帳票種別名を格納するフィールドである。確信度503は、帳票30の画像特徴と帳票種別の画像特徴との類似性を示す確信度を格納するフィールド群である。確信度503には、処理画像と同数のフィールドが含まれる。
【0048】
帳票認識処理部111は、追加されたエントリのID501及び帳票種別502に値を設定する。この時点では、確信度503の各フィールドは空欄である。
【0049】
帳票認識処理部111は、処理画像のループ処理を開始する(ステップS222)。具体的には、帳票認識処理部111は、複数の処理画像の中から一つの処理画像を選択する。
【0050】
帳票認識処理部111は、選択された帳票種別の画像特徴と、選択された処理画像の画像特徴との類似性を示す確信度を算出する(ステップS223)。画像特徴がpHashである場合、帳票認識処理部111は、pHashの間の類似度を確信度として算出する。帳票認識処理部111は、中間情報500の帳票画像124に対応するエントリを検索し、当該エントリの確信度503の処理画像に対応するフィールドに確信度を設定する。
【0051】
帳票認識処理部111は、全ての処理画像について処理が完了したか否かを判定する(ステップS224)。
【0052】
全ての処理画像について処理が完了していない場合、帳票認識処理部111は、処理画像のループ処理を継続し、ステップS222に戻る。
【0053】
全ての処理画像について処理が完了した場合、帳票認識処理部111は、処理画像のループ処理を終了し、全ての帳票種別について処理が完了したか否かを判定する(ステップS225)。
【0054】
全ての帳票種別について処理が完了していない場合、帳票認識処理部111は、帳票種別のループ処理を継続し、ステップS221を戻る。
【0055】
全ての帳票種別について処理が完了した場合、帳票認識処理部111は、帳票種別のループ処理を終了し、確信度に基づいて類似帳票種別を選択する(ステップS231)。その後、帳票認識処理部111は帳票種別判別処理を終了する。
【0056】
例えば、帳票認識処理部111は確信度が閾値より大きい帳票種別を類似帳票種別として選択する。なお、閾値は設定情報122に含まれる。
【0057】
このとき、帳票認識処理部111は類似帳票種別情報510を生成する。類似帳票種別情報510は、ID511、帳票種別512、確信度513、及び角度514を含むエントリを格納する。一つのエントリは、帳票種別及び処理画像の組合せで識別される。ID511及び帳票種別512は、ID501及び帳票種別502と同一のフィールドである。確信度513は、確信度503のいずれかのフィールドに格納される確信度を格納するフィールドである。角度514は、処理画像を識別するための識別情報を格納するフィールドである。本実施例では、回転処理を行って処理画像が生成されるため、処理画像の識別情報として回転角度を用いている。
【0058】
なお、確信度503の値が閾値より大きいフィールドを二つ以上含む帳票種別が存在する場合、帳票認識処理部111は、最も値が大きい処理画像の角度が設定されたエントリのみを登録してもよい。
【0059】
このように、本実施例の計算機10は、帳票30の向きも考慮して画像特徴の類似性を判定する。これによって、帳票種別の認識精度を高め、さらに、後のOCRの読み取り精度を高めることができる。
【0060】
図6は、実施例1の計算機10が実行する言語特徴を用いた帳票種別判別処理の一例を説明するフローチャートである。
図7は、実施例1の計算機10が生成する確信度情報のデータ構造の一例を示す図である。
【0061】
帳票認識処理部111は、類似帳票種別情報510のID511に基づいて、帳票定義情報123を参照し、全ての類似帳票種別の言語特徴辞書202を取得する(ステップS311)。
【0062】
帳票認識処理部111は、帳票画像124を取得し(ステップS312)、帳票画像124に対して二値化処理を実行する(ステップS313)。
【0063】
帳票認識処理部111は、二値化された帳票画像124に対して画像処理を実行し(ステップS314)、複数の処理画像の各々から文字列(言語特徴)を抽出する(ステップS315)。
【0064】
帳票認識処理部111は、類似帳票種別のループ処理を開始する(ステップS321)。具体的には、帳票認識処理部111は、類似帳票種別情報510に登録されている類似帳票種別の中から一つの類似帳票種別を選択する。このとき、帳票認識処理部111は、確信度情報700にエントリを追加する。
【0065】
エントリはID701、帳票種別702、角度703、確信度(画像特徴)704、及び確信度(言語特徴)705を含む。帳票種別及び角度の組合せに対して一つのエントリが生成される。ID701、帳票種別702、及び角度703は、ID501、帳票種別502、及び角度514と同一のフィールドである。確信度(画像特徴)704は、確信度513と同一のフィールドである。確信度(言語特徴)705は、帳票30の言語特徴と帳票種別の言語特徴との間の確信度を格納するフィールドである。
【0066】
帳票認識処理部111は、類似帳票種別情報510を参照し、追加されたエントリのID701、帳票種別702、角度703、及び確信度(画像特徴)704に、選択した類似帳票種別のエントリの値を設定する。この時点では、確信度(言語特徴)705は空欄である。
【0067】
帳票認識処理部111は、選択された類似帳票種別の言語特徴と、帳票種別に対応付けられる処理画像の言語特徴との類似性を示す確信度を算出する(ステップS322)。
【0068】
具体的には、帳票認識処理部111は、類似帳票種別情報510を参照し、選択した類似帳票種別のエントリの角度514に対応する処理画像から抽出された文字列を取得する。帳票認識処理部111は、言語特徴辞書202に含まれるキーワードの位置から取得された処理画像の文字列と、言語特徴辞書202に含まれるキーワードとの一致度を算出する。帳票認識処理部111は、ステップS321で追加されたエントリの確信度(言語特徴)705に、算出された一致度の合計値を設定する。
【0069】
なお、各帳票種別の言語特徴辞書202に登録されているキーワードの数が異なる場合がある。この場合、確信度はキーワードの数に依存するため、キーワードの数に応じて確信度を補正する必要がある。本実施例では、予め、キーワードに対して重みを設定し、キーワードの一致度及び重みを乗算した値の合計値を確信度として扱う。帳票種別の識別において重要視するキーワードの重みが大きくなるように設定されている。また、重みの合計値が1となるように調整している。キーワードの重みに関する情報は設定情報122に含めてもよいし、言語特徴辞書202に含めてもよい。
【0070】
帳票認識処理部111は、全ての類似帳票種別について処理が完了したか否かを判定する(ステップS323)。
【0071】
全ての類似帳票種別について処理が完了していない場合、帳票認識処理部111は、類似帳票種別のループ処理を継続し、ステップS321を戻る。
【0072】
全ての類似帳票種別について処理が完了した場合、帳票認識処理部111は、類似帳票種別のループ処理を終了し、また、帳票種別判別処理を終了する。
【0073】
図8は、実施例1の計算機10が実行する候補帳票種別の選択処理の一例を説明するフローチャートである。
【0074】
帳票認識処理部111は、確信度情報700を参照し、画像特徴の確信度及び言語特徴の確信度に基づいて、候補帳票種別を選択する(ステップS401)。
【0075】
例えば、帳票認識処理部111は、画像特徴の確信度が第1閾値より大きく、かつ、言語特徴の確信度が第2閾値より大きい類似帳票種別を、候補帳票種別として選択する。第1閾値及び第2閾値は、閾値は設定情報122に含まれる。
【0076】
なお、確信度情報700に、同一の帳票種別であって、回転角度が異なるエントリが存在する場合がある。回転角度が異なり、かつ、帳票種別が同一であるエントリが複数選択された場合、帳票認識処理部111は一つに認識結果に集約する。
【0077】
帳票認識処理部111は、ステップS410の選択条件を満たす候補帳票種別が存在するか否かを判定する(ステップS402)。
【0078】
ステップS410の選択条件を満たす候補帳票種別が存在する場合、帳票認識処理部111は、候補帳票種別に関する情報を出力し(ステップS404)、その後、候補帳票種別の選択処理を終了する。
【0079】
ステップS410の選択条件を満たす候補帳票種別が存在しない場合、帳票認識処理部111は、画像特徴の確信度に基づいて、候補帳票種別を選択し(ステップS403)、候補帳票種別に関する情報を含む認識結果125を出力し(ステップS404)、その後、候補帳票種別の選択処理を終了する。
【0080】
例えば、帳票認識処理部111は、画像特徴の確信度が第3閾値より大きい類似帳票種別を、候補帳票種別として選択する。第3閾値は、設定情報122に含まれる。なお、第3閾値は第1閾値より小さいものとする。
【0081】
なお、ステップS403の選択条件を満たす候補帳票種別が存在しない場合、帳票認識処理部111は、候補帳票種別が存在しない旨の情報を出力する。
【0082】
認識結果出力部112は、帳票認識処理部111から出力された認識結果125に基づいて画面を表示するための表示情報を生成し、画面表示部115は表示情報に基づいて画面をユーザに提示する。
図9は、実施例1の計算機10がユーザに提示する画面の一例を示す図である。
【0083】
画面900は、表示欄901、902、903、OKボタン904、CANCELボタン905、及び登録ボタン906を含む。
【0084】
表示欄901は、入力された帳票30の帳票画像124を表示する欄である。表示欄902は、帳票認識処理部111によって選択された帳票種別の情報を表示する欄である。例えば、候補帳票種別の帳票定義200によって定義された代表帳票の画像が表示される。表示欄903は、表示欄902からユーザが選択した候補帳票種別の詳細を表示する欄である。表示欄903には、代表帳票の画像、帳票画像124の画像特徴、候補帳票種別の画像特徴、及び候補帳票種別の言語特徴等が表示される。
【0085】
ユーザは、表示欄902から候補帳票種別を選択し、表示欄903にて詳細を確認する。選択した候補帳票種別を採用する場合、ユーザはOKボタン904を押下する。別の候補帳票種別を確認する場合、ユーザはCANCELボタン905を押下する。候補帳票種別とは異なる帳票種別を登録する場合、ユーザは登録ボタン906を押下する。帳票種別の登録は公知の技術であるため、詳細を省略する。
【0086】
本実施例では、画像特徴に関する閾値は設定情報122に予め設定されているものとして説明したが、これに限定されない。例えば、帳票定義情報123に登録されている帳票種別の画像特徴のばらつきから閾値を設定してもよい。
【0087】
本発明によれば、計算機10は、画像特徴を用いて帳票種別を絞り込んだ後、言語特徴に基づいて候補帳票種別を選択する。したがって、二つの識別方式の問題点を回避しつつ、効率的に、かつ、高い精度で帳票種別を識別できる。
【0088】
画像特徴を用いた場合、
図10に示すような帳票種別が選択される可能性がある。しかし、本発明では、帳票種別の言語特徴に基づいてさらに絞り込みが行われる。これによって、精度よく帳票種別を識別できる。画像特徴を用いた絞り込みは、言語特徴を用いた絞り込みより処理負荷が低いため、処理負荷を抑えつつ、高い精度で帳票種別を識別できる。
【0089】
また、画像特徴を用いた帳票種別の絞り込みをした後、言語特徴を用いた帳票種別の絞り込みを行うため、言語特徴辞書202に登録するキーワードの数を少なくできる。これによって、帳票定義200の設定に要するコストを削減することができる。また、言語特徴の確信度の算出処理の負荷も低減できる。
【0090】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0091】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0092】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0093】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0094】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。