(57)【要約】【課題】類似しているが書式が異なる帳票を認識する場合、帳票に記載されている項目名を精度良く認識する帳票認識装置を提供する。【解決手段】入力された帳票の画像情報を認識する帳票認識装置において、帳票認識装置は、帳票を認識する帳票認識処理を実行し、帳票認識処理によって認識されない項目名があるか否かを判定し、認識されない項目名があると判定された場合、認識されなかった項目名に対応するデータ枠を再度検出し、検出されたデータ枠の文字列を認識する。【選択図】図２
2008021068.tif 000002
【特許請求の範囲】
【請求項１】
演算処理をするプロセッサと、前記プロセッサに接続される記憶部と、帳票の画像情報を帳票認識装置に入力する画像入力装置に接続されるインターフェースと、を備え、前記画像入力装置によって入力された帳票の画像情報を認識する帳票認識装置において、
前記プロセッサは、
前記入力された帳票の画像情報の枠及び文字行を検出し、
前記検出された枠内の文字列を検出し、前記検出された文字列から帳票内の項目名を認識し、
前記認識された項目名が存在する枠を項目名枠として検出し、
前記認識された項目名に基づいて、前記認識された項目名に対応するデータ枠を検出し、
前記検出されたデータ枠内の文字列を認識する認識処理を実行し、
前記認識処理で文字列が認識されなかった項目名があるか否かを判定し、
前記認識されなかった項目名があると判定された場合、前記認識されなかった項目名に基づいて、前記認識されなかった項目名に対応するデータ枠を再度検出し、
前記検出されたデータ枠の文字列を認識することを特徴とする帳票認識装置。
【請求項２】
前記プロセッサは、前記入力された画像情報から前記検出された項目名枠及び前記検出されたデータ枠を除外することによって、前記認識されなかった領域を検出することを特徴とする請求項１に記載の帳票認識装置。
【請求項３】
前記記憶部には、前記帳票に含まれるべき項目名が登録された項目名辞書が格納され、
前記プロセッサは、
前記認識処理を実行すると、前記項目名辞書に登録された項目名と前記認識された項目名とを比較し、
前記項目名辞書に登録された項目名のうち前記認識された項目名を除外することによって、前記認識されなかった項目名を特定することを特徴とする請求項１に記載の帳票認識装置。
【請求項４】
前記プロセッサは、
前記認識されなかった項目名があると判定された場合、前記入力された帳票の画像情報から前記検出された項目名枠及び前記検出されたデータ枠を除外し、認識されなかった領域を検出し、
前記認識されなかった領域内の文字列を検出し、
前記認識処理における項目名を認識するステップと異なる条件で、前記検出された文字列から前記認識されなかった項目名を認識することを特徴とする請求項１に記載の帳票認識装置。
【請求項５】
前記プロセッサは、
前記認識処理における項目名を認識するステップにおいて、前記検出された文字列と前記項目名辞書に登録された項目名とを照合し、前記帳票内の項目名を認識し、
前記認識されなかった項目名があると判定された場合、
前記認識されなかった領域内の文字列を検出し、
前記検出された文字列と前記項目名辞書に登録された項目名とを照合する条件を、前記認識処理における前記検出された文字列と前記項目名辞書に登録された項目名とを照合する条件より緩和して、前記認識されなかった項目名を認識することを特徴とする請求項４に記載の帳票認識装置。
【請求項６】
前記プロセッサは、
前記検出された枠で、前記認識されなかった領域内に含まれる枠を再度検出し、
前記再度検出された枠内の文字列を検出し、
前記検出された文字列から前記認識されなかった項目名を認識することを特徴とする請求項４に記載の帳票認識装置。
【請求項７】
前記プロセッサは、
前記検出された文字行で、前記認識されなかった領域内に含まれる文字行を再度検出し、
前記再度検出された文字行に基づいて文字列を検出し、
前記検出された文字列から前記認識されなかった項目名を認識することを特徴とする請求項４に記載の帳票認識装置。
【請求項８】
前記プロセッサは、
前記認識されなかった領域から文字列を認識し、
前記認識された文字列から最も確からしい項目名を認識することを特徴とする請求項４に記載の帳票認識装置。
【請求項９】
演算処理をするプロセッサと、前記プロセッサに接続される記憶部と、帳票の画像情報を帳票認識装置に入力する画像入力装置に接続されるインターフェースと、を備える帳票認識装置に、前記画像入力装置によって入力された帳票の画像情報を認識させるプログラムであって、
前記プログラムは、前記帳票認識装置に、
前記入力された帳票の画像情報の枠及び文字行を検出させ、
前記検出された枠内の文字列を検出させ、前記検出された文字列から帳票内の項目名を認識させ、
前記認識された項目名が存在する枠を項目名枠として検出させ、
前記認識された項目名に基づいて、前記認識された項目名に対応するデータ枠を検出させ、
前記検出されたデータ枠内の文字列を認識させる認識処理を実行させ、
前記認識処理で文字列が認識されなかった項目名があるか否かを判定させ、
前記認識されなかった項目名に基づいて、前記認識されなかった項目名に対応するデータ枠を再度検出させ、
前記検出されたデータ枠の文字列を認識させることを特徴とするプログラム。
【請求項１０】
前記プログラムは前記帳票認識装置に、前記入力された画像情報から前記検出された項目名枠及び前記検出されたデータ枠を除外させることによって、前記認識されなかった領域を検出させることを特徴とする請求項９に記載のプログラム。
【請求項１１】
前記帳票認識装置に備わる前記記憶部には、前記帳票に含まれるべき項目名が登録された項目名辞書が登録され、
前記プログラムは前記帳票認識装置に、
前記認識処理を実行させると、前記項目名辞書に登録された項目名と前記認識された項目名とを比較させ、
前記項目名辞書に登録された項目名のうち前記認識された項目名を除外させることによって、前記認識されなかった項目名を特定させることを特徴とする請求項９に記載のプログラム。
【請求項１２】
前記プログラムは前記帳票認識装置に、
前記認識されなかった項目名があると判定された場合、前記入力された帳票の画像情報から前記検出された項目名枠及び前記検出されたデータ枠を除外させ、認識されなかった領域を検出させ、
前記認識されなかった領域内の文字列を検出させ、
前記認識処理における項目名を認識させるステップと異なる条件で、前記検出された文字列から前記認識されなかった項目名を認識させることを特徴とする請求項９に記載のプログラム。
【請求項１３】
前記プログラムは前記帳票認識装置に、
前記認識処理における項目名を認識するステップにおいて、前記検出された文字列と前記項目名辞書に登録された項目名とを照合させ、前記帳票内の項目名を認識させ、
前記認識されなかった項目名があると判定された場合、
前記認識されなかった領域内の文字列を検出させ、
前記検出された文字列と前記項目名辞書に登録された項目名とを照合する条件を、前記認識処理における前記検出された文字列と前記項目名辞書に登録された項目名とを照合する条件よりも緩和させて、前記認識されなかった項目名を認識させることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記プログラムは前記帳票認識装置に、
前記検出された枠で、前記認識されなかった領域内に含まれる枠を再度検出させ、
前記再度検出された枠内の文字列を検出させ、
前記検出された文字列から前記認識されなかった項目名を認識させることを特徴とする請求項１２に記載のプログラム。
【請求項１５】
前記プログラムは前記帳票認識装置に、
前記検出された文字行で、前記認識されなかった領域内に含まれる文字行を再度検出させ、
前記再度検出された文字行に基づいて文字列を検出させ、
前記検出された文字列から前記認識されなかった項目名を認識させることを特徴とする請求項１２に記載のプログラム。
【請求項１６】
前記プログラムは前記帳票認識装置に、
前記認識されなかった領域から文字列を認識させ、
前記認識された文字列から最も確からしい項目名を認識させることを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票画像の処理技術に関し、特に帳票記載された情報の属性及び帳票に記載された文字を認識する技術に関する。
【背景技術】
【０００２】
従来のＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）によって帳票を認識する方式では、予め読取り位置が決められている定型の帳票しか認識できない方式が多い。このような定型の帳票が認識する従来技術として、「フォーマットジェネレータ」がある（例えば、非特許文献１参照）。非特許文献１に記載された技術では、読取り対象の文字が記入される位置は0.1mm単位で厳密に指定される。既存のＯＣＲは、フォーマットジェネレータと同様の書式情報を採用している機種が多い。
【０００３】
一方、従来の方式では、給与支払報告書及び処方箋等のように、同じ種類の帳票であっても１枚ごとに罫線の本数、枠の位置、及び枠の大きさ等が微妙に異なる帳票は、認識されない。このような帳票では、各項目間の配置関係がほぼ一定であることを利用し、予め登録された枠構造と帳票画像から解析した枠構造とを照合することによって、枠の位置及び枠の大きさ等が１枚ごとに異なる帳票の読取り領域を特定する方式がある（例えば、特許文献１参照）。
【０００４】
給与支払報告書及び処方箋等より自由度が高い帳票として登記済通知書等がある。登記済通知書等の帳票は、同じ種類の帳票であれば項目名はほぼ同じであるが、１枚ごとに帳票の枠の大きさ及び枠の数が異なる。また、項目間の配置関係も異なる場合がある。
【０００５】
このような帳票に対して、まず表構造を解析し、枠内の文字を認識し、項目名が記載されている枠を検出し、項目名が記載された枠の右又は下の枠が読取り対象のデータ領域であると判断して、認識する方式がある（例えば、特許文献２参照）。特許文献２に記載された方式では、項目名の文字列及び項目名枠とデータ枠との対応関係をＯＣＲに予め格納しなければならない。
【特許文献１】特開２００４−１３９４８４号公報
【特許文献２】特開平９−３１９８２４号公報
【非特許文献１】「日立ＯＣＲソリューションＩｍａｇｉｎｇ  ＯＣＲ」カタログ、株式会社日立製作所、２００５年１２月版、Ｐ５〜６
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の帳票認識装置は、特許文献２に記載された技術で認識できる帳票を認識対象とする。すなわち、本発明は、同じ種類の帳票であっても、枠の大きさ及び枠の位置が異なり、さらに項目の順序も異なる可能性がある帳票を認識できる帳票認識装置を提供する。
【０００７】
前述した枠の位置及び枠の大きさ等が同じ種類であっても異なる帳票に対して、非特許文献１の方式を適用すると、全ての帳票の書式情報を作成し、ＯＣＲに作成された全ての書式情報が格納され、ＯＣＲは、入力された帳票ごとにどの書式情報を適用するかを識別しなければならない。書式情報を作成するコスト及び識別の精度の観点から、非特許文献１に記載された方式で枠の位置及び枠の大きさ等が同じ種類であっても異なる帳票を認識することは現実的でない。
【０００８】
また、特許文献１に記載された方式も、帳票の項目間の配置が同じであることが前提条件なので、枠の位置及び枠の大きさ等が同じ種類であっても異なる帳票に適用できない。
【０００９】
特許文献２に記載された方式は、枠の位置及び枠の大きさ等が同じ種類であっても異なる帳票に適用できるが、実際に運用する際に以下の三つの課題がある。
【００１０】
第一の課題は、帳票の項目名の文字が正しく認識されない場合、データ枠は検出されないことである。第二の課題は、例えば、「氏名」と「名前」のように、同じ項目を示す文字列であっても、表記が異なる場合、項目名枠が検出されないことである。第三の課題は、ノイズ及び罫線のかすれ等のために、帳票の枠又は文字行を検出できない場合、項目名枠が検出されないことである。
【００１１】
特に、第一の課題は、実際の運用上では、大きな問題である。一般的に項目名が記載されている文字は、小さく、かつ文字と文字との間及び文字と罫線との間で接触が頻発するため、文字が認識される確率は低い。さらに、つぶれ、かすれ、及びノイズを含む低品質の画像の文字が認識される確率は、さらに低下する。
【課題を解決するための手段】
【００１２】
本発明の代表的な一形態によると、演算処理をするプロセッサと、前記プロセッサに接続される記憶部と、帳票の画像情報を帳票認識装置に入力する画像入力装置に接続されるインターフェースと、を備え、前記画像入力装置によって入力された帳票の画像情報を認識する帳票認識装置において、前記プロセッサは、前記入力された帳票の画像情報の枠及び文字行を検出し、前記検出された枠内の文字列を検出し、前記検出された文字列から帳票内の項目名を認識し、前記認識された項目名が存在する枠を項目名枠として検出し、前記認識された項目名に基づいて、前記認識された項目名に対応するデータ枠を検出し、前記検出されたデータ枠内の文字列を認識する認識処理を実行し、前記認識処理で文字列が認識されなかった項目名があるか否かを判定し、前記認識されなかった項目名があると判定された場合、前記認識されなかった項目名に基づいて、前記認識されなかった項目名に対応するデータ枠を再度検出し、前記検出されたデータ枠の文字列を認識することを特徴とすることを特徴とする。
【発明の効果】
【００１３】
本発明の一形態によると、類似しているが書式が異なる帳票を、厳密な定義なしに認識できる。さらに、項目名の文字が認識される確率が低い場合であっても、精度よく帳票の属性を解析しながら、認識できる。
【発明を実施するための最良の形態】
【００１４】
本発明を図面を用いて説明する。なお、本発明は、以下の説明によって限定されるものではない。
【００１５】
図１は、本発明の実施形態の帳票認識システムの構成を示す図である。
【００１６】
帳票認識システムは、入力装置１０、画像入力装置２０、帳票認識装置３０、認識辞書４０、表示装置５０、及び画像データベース（ＤＢ）６０を備える。
【００１７】
入力装置１０は、帳票認識装置３０にコマンド及びコードデータ等を入力するためのキーボード及びマウス等の装置である。
【００１８】
画像入力装置２０は、帳票を画像データとして、帳票認識装置３０に入力するためのスキャナ等の装置である。
【００１９】
帳票認識装置３０は、画像入力装置２０によって入力された帳票の読み取り領域を検出し、その帳票の文字を認識する計算機であって、図示しないＣＰＵ、メモリ、及び記憶装置を備える。
【００２０】
認識辞書４０は、帳票認識装置３０が帳票を認識する際に参照する辞書データベースである。認識辞書４０は、具体的には、帳票認識装置３０が文字認識する際に参照する文字認識辞書６１０を格納し、また、帳票認証装置３０は、帳票の読み取り領域を検出する際に参照する帳票情報等を格納する。
【００２１】
表示装置５０は、帳票認識装置３０によって帳票が認識された結果を表示するディスプレイ等の装置である。
【００２２】
画像ＤＢ６０は、画像入力装置２０によって帳票認識装置３０に入力された画像データを格納する。また、画像ＤＢ６０には、画像入力装置２０によって帳票認識装置３０が認識する対象となる画像データが予め格納されていてもよい。
【００２３】
なお、本発明は、帳票認識装置３０と同じ機能を備えるソフトウェアによって通常の計算機に実装されてもよい。
【００２４】
次に、本発明の概要と効果について説明する。
【００２５】
本発明の概要は、帳票認識装置３０が書式の自由度が高い帳票を認識する場合、少ない種類の帳票に基づいた特徴（項目名、項目名枠間の配置、及び項目名枠とデータ枠との配置関係等）を参照し、入力された帳票の項目名を認識し、データ枠の位置及び属性を解析しながら認識することである。さらに、本発明の概要は、項目名の文字列が誤って認識された場合、同じ内容の項目名が異なって表記されている場合、及び枠が誤って検出された場合等、帳票認識装置３０が正しくデータ枠が検出されない状況を救済することである。
【００２６】
具体的には、項目名が認識され、認識された項目名からデータ枠が検出される。そして、検出されたデータ枠の文字列が認識される。この一連の処理において検出されない項目がある場合、以下の方針でリトライ処理を繰り返すことによって、検出できなかった項目を救済する。
【００２７】
まず、検出された項目名枠及びデータ枠をリトライ処理の対象から除外し、その他の領域をリトライ処理の対象として、リトライ処理が実行される。次に、帳票に含まれる全ての項目名が登録された項目名辞書と認識された項目名とが比較され、認識されていない項目名が特定される。次に、特定された項目名に対象に、リトライ処理が実行される。
【００２８】
項目名が認識されない領域の文字列が認識され、認識された領域の文字列のデータの属性に基づいて、項目名が認識される。
【００２９】
これらのリトライ処理の一部又は全てが、直列又は並列で実行されることによって、認識される可能性の高い帳票認識装置３０を提供できる。
【００３０】
図２は、本発明の実施形態の帳票認識装置３０によって実行される帳票処理１００の概略を示すフローチャートである。なお、帳票処理１００は、図３で詳細を説明する。
【００３１】
帳票認識装置３０によって実行される帳票処理１００は、認識処理１１０、リトライ前処理２００、及びリトライ処理７００に大別される。
【００３２】
認識処理１１０は、帳票認識装置３０に入力された帳票の画像データから項目名とデータとを対応付け、帳票の文字を認識する。
【００３３】
リトライ前処理２００は、認識処理１１０において認識できなかった項目名を検出する。
【００３４】
リトライ処理７００は、リトライ前処理２００において検出された項目名を再度認識する。なお、リトライ処理７００は、図３におけるリトライ処理Ａ３００、リトライ処理Ｂ４００、及びリトライ処理Ｃ５００の総称である。
【００３５】
次に、図３を用いて帳票処理１００の詳細を説明する。
【００３６】
図３は、本発明の実施形態の帳票認識装置３０によって実行される帳票処理１００の詳細を示すフローチャートである。
【００３７】
まず、認識辞書４０について説明する。認識辞書４０には、文字認識辞書６１０、項目名辞書６２０、項目名枠−データ枠配置６３０、項目名枠間隣接関係６４０、及び項目別利用知識６５０が格納される。
【００３８】
文字認識辞書６１０には、帳票認識装置３０に入力された帳票の画像データから文字を検出するための文字情報が登録される。項目名辞書６２０には、各帳票に含まれる全ての項目名が帳票毎に登録される。
【００３９】
項目名枠−データ枠配置６３０には、項目名枠とデータ枠の配置関係が格納される。具体的には、項目名枠−データ枠配置６３０には、項目名枠の下側にデータ枠が配置されているか、及び項目名枠の左側にデータ枠が配置されているか等の配置関係が格納される。
【００４０】
項目名間隣接関係６４０には、ある項目名とその項目名に隣接する項目名との関係が格納される。なお、項目名間隣接関係６４０は、図６、図８、及び図１０で詳細を説明する。
【００４１】
項目別利用知識６５０は、帳票認識装置３０がデータ枠の文字列から項目名を検出する際に参照される。なお、項目別利用知識６５０は、図１４に示すように、項目別利用知識６５０は、図１４に示すように、項目名６５０１と記載内容６５０２を含む。項目名６５０１には、帳票に含まれる項目名が登録される。記載内容６５０２には、各項目名６５０１に対応するデータに記載された内容が登録される。
【００４２】
なお、項目別利用知識６５０に含まれる項目名６５０１「氏名」に対応する記載内容６５０２は、姓と名を別々に登録してもよいし、項目名６５０１「住所」に対応する記載内容６５０２は、都道府県又は市町村等によって階層的に登録してもよい。なお、項目名６５０１「電話番号」及び「金額」に対応する記載内容６５０２に含まれる「Ｎ」は、０から９までの数字を示す。
【００４３】
次に、帳票処理１００の詳細を説明する。
【００４４】
前述したように、帳票処理１００は、認識処理１１０、リトライ前処理２００、リトライ処理Ａ３００、リトライ処理Ｂ４００、及びリトライ処理Ｃ５００を備える。なお、リトライ処理Ａ３００、リトライ処理Ｂ４００、及びリトライ処理Ｃ５００の全てが実行されなくてもよい。また、帳票認識装置３０が、リトライ処理Ａ３００、リトライ処理Ｂ４００、及びリトライ処理Ｃ５００を直列に実行する場合、リトライ処理Ａ３００、リトライ処理Ｂ４００、及びリトライ処理Ｃ５００を実行する順番は任意である。また、帳票認識装置３０は、リトライ処理Ａ３００、リトライ処理Ｂ４００、及びリトライ処理Ｃ５００を並列に実行し、実行した結果を統合してもよい。
【００４５】
なお、リトライ処理C５００が実行されなければ、認識辞書４０には、項目別利用知識６５０は格納されなくてもよい。
【００４６】
まず、帳票の画像データが帳票認識装置３０に入力されると、帳票認識装置３０は、前処理を実行する（１２０）。前処理は、帳票認識装置３０に、入力された画像データから表を認識させ、認識された表から文字行を検出させる処理である。
【００４７】
ここで、「表を認識する」とは、帳票認識装置３０に入力された画像データから枠の位置を検出することである。なお、「枠」とは、帳票の縦罫線と横罫線で囲まれた矩形領域である。帳票認識装置３０が、表を認識する方法については、特開平１１−５３４６６号公報に記載された方法を適用できる。
【００４８】
また、帳票認識装置３０が文字行を検出する方法として連結成分を分析する方法がある。ここで、連結成分を分析する方法とは、帳票装置３０が枠内の隣接する連結成分（黒画素が連続している塊）を横方向又は縦方向に統合することによって、横方向の文字行又は縦方向の文字行の画像を検出する方法である。
【００４９】
次に、帳票認識装置３０は、ステップ１２０の処理で検出された枠に含まれる文字列から項目名の文字列を認識する（１３０）。具体的には、帳票認識装置３０は、ステップ１２０の処理で検出された文字行の画像から１文字ごとの領域を切り出す。そして、帳票認識装置３０は、文字認識辞書６１０を参照し、切り出された１文字ごとの領域のパターンを認識し、各文字を特定することによって、枠に含まれる文字列を特定する。そして、帳票認識装置３０は、特定された文字列と項目名辞書６２０に登録された項目名の文字列とを照合し、特定された文字列が項目名辞書６２０に登録された項目名の文字列と一致すると、その特定された文字列を項目名と認識する。
【００５０】
なお、帳票認識装置３０が項目名を誤って認識することを防止するため、特定された文字列と項目名辞書６２０に登録された項目名の文字列とが完全に一致しなければ、項目名と認識されないようにするとよい。
【００５１】
また、帳票認識装置３０が枠に含まれる文字列を特定する方法は、特開２００４−１７１３１６号公報に記載された方法を適用できる。
【００５２】
次に、帳票認識装置３０は、ステップ１２０の処理で項目名と認識された文字列を含む枠を項目名枠として検出する（１４０）。
【００５３】
そして、帳票認識装置３０は、項目名枠−データ枠配置６３０を参照し、各項目名枠に対応するデータ枠を検出する（１５０）。なお、帳票認識装置３０は、項目名枠−データ枠配置６３０を参照しないで、項目名枠とデータ枠の配置情報から、各項目名枠に対応するデータ枠を検出してもよい。帳票認識装置３０は、項目名枠−データ枠配置６３０を参照しない場合、項目名枠の周囲（一般には、項目名枠の下又は右）に存在する項目名枠として検出されない枠をデータ枠として検出する。
【００５４】
次に、帳票認識装置３０は、ステップ１５０の処理で検出されたデータ枠に含まれる文字列を認識する（１６０）。
【００５５】
ここで、帳票認識装置３０は、項目別利用知識６５０を参照し、データ枠に含まれる文字列を認識してもよい。
【００５６】
具体的には、帳票認識装置３０は、項目名ごとに記載内容６５０２に関する情報を切り替え、各項目名に対応する記載内容に関する情報と照合しながら、データ枠に含まれる文字列を認識する。つまり、帳票認識装置３０は、各項目名の記載内容６５０２に登録された情報からデータ枠に含まれるべき文字列の種類（例えば、数字等）を予想して、データ枠に含まれる文字列を認識する。
【００５７】
例えば、帳票認識装置３０は、項目名「金額」に対応するデータ枠に含まれる文字列を認識する場合、項目名６５０１「金額」の記載内容６５０２を参照し、項目名「金額」に対応するデータ枠に含まれる文字列は、数字であることを前提に、データ枠に含まれる文字列を認識する。
【００５８】
一方、データ枠に対応する項目名が項目別利用知識６５０に登録されていない場合、又は、項目別利用知識６５０が認識辞書４０に格納されていない場合、帳票認識装置３０は、各項目名に対応するデータ枠に含まれる文字列をそのまま認識する。
【００５９】
そして、帳票認識装置３０は、全ての文字行について認識処理１１０を実行する。
【００６０】
認識処理１１０が実行されると、帳票認識装置３０は、認識処理１１０で認識されていない項目名があるか否かを判定する。実行された結果、項目名辞書６２０に登録された項目名のうち認識されていない項目名がある場合、帳票認識装置３０はリトライ前処理２００を実行する。また、帳票認識装置３０は、認識処理１１０が実行された結果、全ての項目名が認識された場合には、帳票処理１００を終了する。
【００６１】
次に、認識処理１１０が実行された結果、項目名が認識されなかった場合に帳票認識装置３０によって実行されるリトライ前処理２００について説明する。
【００６２】
リトライ前処理２００は、リトライ処理７００が実行される前に実行される処理で、認識処理１１０が実行された結果、認識できなかった項目名及びその項目名に対応するデータが特定される。
【００６３】
帳票認識装置３０は、認識処理１１０が実行されることによって、検出された項目名枠及びデータ枠を除いた領域（以下、不読領域という）を検出する（２１０）。なお、検出されなかった項目名枠が不読領域に存在する。
【００６４】
次に、帳票認識装置３０は、ステップ２１０の処理で検出された不読領域から、認識されていない項目名を特定する（２２０）。具体的には、帳票認識装置３０は、項目名辞書６２０に登録された項目名と認識された項目名とを比較し、項目名辞書６２０に登録された項目名のうち認識された項目名を除外することによって、認識されていない項目名を特定する。なお、帳票認識装置３０は、ステップ２２０の処理を、認識処理１１０で検出されていない項目名があるか否かを判定する場合に、実行してもよい。
【００６５】
そして、帳票認識装置３０は、項目名枠間隣接関係６４０を参照し、認識されていない項目名の項目名枠の位置を検出する（２３０）。なお、項目名枠間隣接関係６４０が認識辞書４０に格納されていない場合、ステップ２３０の処理を省略してもよい。
【００６６】
ここで、検出されていない項目名枠が複数検出された場合、及び項目枠間隣接関係６４０が認識辞書４０に格納されていない場合等、つまり検出されていない項目名枠の位置が一意に検出されなかった場合、帳票認識装置３０は、リトライ処理７００を実行する。一方、認識されていない項目名が一つ検出された場合、帳票認識装置３０は、ステップ１４０処理に戻る。
【００６７】
次に、認識処理１１０及びリトライ前処理２００について具体的な例を用いて説明する。
【００６８】
図４は、本発明の実施形態の帳票自体の一例を示す図である。
【００６９】
図４に示す帳票が帳票認識装置３０に入力されると、帳票認識装置３０は、認識処理１１０を実行する。しかしながら、図４に示す帳票には、「電話番号」の「番」の文字に印刷時に生じたノイズがある。帳票認識装置３０は、ステップ１３０の処理において、入力された帳票にノイズがある文字列を認識できない。一方、帳票認識装置３０は、「氏名」、「住所」、及び「金額」の項目名に含まれる文字列を認識する。そして、帳票認識装置３０は、ステップ１４０の処理において、項目名辞書６２０を参照し、これらの項目名を特定する。そして、帳票認識装置３０は、ステップ１５０の処理において、項目名枠−データ枠配置６３０を参照し、「氏名」、「住所」、及び「金額」の項目名枠の下に配置される枠をデータ枠をとして検出し、検出されたデータ枠の文字列をステップ１６０の処理で認識する。
【００７０】
帳票認識装置３０は、項目名辞書６２０に登録された項目名のうち認識されていない項目名があるので、リトライ前処理２００を実行する。
【００７１】
帳票認識装置３０は、ステップ２１０の処理において、図５に示す太線で囲まれた領域５００を不読領域として検出する。次に、帳票認識装置３０は、ステップ２２０の処理において、項目名辞書６２０を参照し、認識されていない項目名を特定する。ここで、項目名辞書６２０には、「氏名」、「住所」、「電話番号」、及び「金額」が登録されている。「氏名」、「住所」、及び「金額」はステップ１３０の処理で項目名として認識されているので、帳票認識装置３０は、認識されていない項目名は「電話番号」であると特定する。
【００７２】
次に、帳票認識装置３０は、ステップ２３０の処理において、図６に示す項目名枠間隣接関係６４０を参照し、「電話番号」の位置が「住所」の項目名枠と「金額」の項目名枠との間に配置されていることを検出する。
【００７３】
なお、図６に示す項目名枠間隣接関係６４０は、項目名６４０１及び隣接項目名枠６４０２を含む。項目名６４０１には、各帳票の項目名辞書６２０に登録された項目名が登録される。隣接項目名枠６４０２は、項目名６４０１に登録された項目名の枠とその枠に隣接する項目名との隣接関係を示す「左」、「右」、「上」、及び「下」を含む。
【００７４】
なお、項目名６４０１に登録された項目名に隣接する項目名がない場合には、隣接項目名枠に「−」が登録される。
【００７５】
次に、ステップ２１０の処理で認識されていない項目名として特定された項目名「電話番号」の位置の検出方法について説明する。
【００７６】
まず、帳票認識装置３０は、隣接項目名枠６４０２を参照し、「電話番号」に隣接する項目名を検出する。ここでは、「住所」と「金額」が検出される。つまり、「電話番号」は「住所」と「金額」との間に存在する。
【００７７】
なお、ステップ１４０の処理で「住所」と「金額」の項目名枠は検出されているので、「電話番号」の項目名枠の位置が一意に検出される。
【００７８】
従って、「電話番号」の項目名枠の位置が一意に検出されたので、帳票認識装置３０は、ステップ１４０の処理に戻って、再度項目名枠を決定し、ステップ１５０の処理以降によってデータ枠を認識する。
【００７９】
項目名の隣接関係が異なる帳票（例えば、図４に示す帳票と図７に示す帳票）が混在して帳票認識装置３０に入力された場合、項目名枠間隣接関係６４０は、図８に示すように、一つの項目名に対して複数の隣接関係を登録すればよい。
【００８０】
また、図９に示す帳票のように、各項目名が上下に隣接する場合、項目名枠間隣接関係６４０は、図１０に示すように、隣接項目名枠６４０２の「上」と「下」の欄に項目名の隣接関係が登録される。
【００８１】
前述したように、認識されていない項目名枠の位置が一意に検出されなかった場合、帳票認識装置３０は、リトライ処理７００を実行する。
【００８２】
まず、リトライ処理Ａ３００について説明する。
【００８３】
帳票認識装置３０は、不読領域の枠の文字列を認識し、項目名辞書６２０を参照し、項目名を認識する（３１０）。帳票認識装置３０が項目名を認識すると、帳票認識装置３０は、ステップ１４０の処理に戻る。
【００８４】
ステップ３１０の処理について具体的な例を用いて説明する。
【００８５】
ここでは、図４に示す帳票が帳票認識装置３０に入力された場合、ステップ２１０の処理で不読領域の枠として検出された図５に示す帳票の太線枠５００がステップ３１０の処理の対象である。
【００８６】
なお、ステップ２３０の処理において、太線枠５００内の一番上の枠が項目名枠として検出されたが、ここでは太線枠５００内で項目名枠が検出されなかった場合について説明する。また、この場合、ステップ２２０の処理で、検出されていない項目名が「電話番号」であると特定されているものとする。
【００８７】
帳票認識装置３０は、検出されていない項目名が「電話番号」と特定されているので、ステップ３１０の処理において、不読領域の枠内で認識された文字列と項目名辞書６２０に登録された「電話番号」とを照合し、不読領域の枠内で認識された文字列の中で最も「電話番号」に近い文字列を、項目名「電話番号」として認識する。
【００８８】
なお、検出されていない項目名が複数存在する場合、認識されていない全ての項目名を照合の対象とすればよい。
【００８９】
つまり、帳票認識装置３０は、認識されていない項目名を特定し、不読領域の枠内で認識された文字列と照合する項目名辞書６２０に登録された項目名を減らして、項目名を認識する。これによって、帳票認識装置３０は、不読領域の枠内で認識された文字列と項目名辞書６２０に登録された項目名とを照合する条件を緩和しても、項目名を誤って認識する可能性が少なくなる。
【００９０】
次に、照合条件を緩和する方法について、具体的に説明する。
【００９１】
第一の照合条件を緩和する方法を説明する。帳票認識装置３０は、不読領域の枠内で認識された文字列が、項目名辞書６２０に登録された項目名と一文字相違しても、不読領域の枠内で認識された文字列を項目名辞書６２０に登録された項目名と認識する。これによって、図５に示す太線枠５００内の不読領域の「電話番号」の「番」が、ノイズのため認識されなくても、帳票認識装置３０は、不読領域の「電話番号」を項目名と認識できる。
【００９２】
第二の照合条件を緩和する方法を説明する。帳票認識装置３０は、不読領域の枠内で認識された文字列が、項目名辞書６２０に登録された項目名の文字列以外の文字を含む場合であっても、不読領域の枠内で認識された文字列を項目名辞書６２０に登録された項目名と認識する。これによって、例えば、不読領域の枠内で認識された文字列が「ご住所」であって、項目名辞書６２０に登録された項目名が「住所」であっても、帳票認識装置３０は、不読領域の枠内で認識された文字列「ご住所」を項目名「住所」と認識できる。この結果、帳票認識装置３０は、項目名辞書６２０に登録されていない項目名も認識できる。
【００９３】
第三の照合条件を緩和する方法を説明する。帳票認識装置３０は、不読領域の枠内で認識された文字列と項目名辞書６２０に登録された項目名が異なる表記であっても、不読領域の枠内で認識された文字列を項目名と認識する。
【００９４】
具体的には、帳票認識装置３０の認識辞書４０は、図１１に示す項目名辞書６２０を格納する。図１１に示す項目名辞書６２０は、項目名６２０１及び表記６２０２を含む。項目名６２０１には、帳票に含まれる項目名が登録される。表記６２０２には、帳票認識装置３０が項目名と認識する文字列が登録される。なお、表記６２０２に登録される文字列には、項目名が表す意味と同じ意味の文字列が登録されてもよい。例えば、項目名６２０１「氏名」の表記６２０２には、「氏名」及び「名前」が登録され、項目６２０１「住所」の表記６２０２には、「住所」及び「ご住所」が登録される。
【００９５】
これによって、帳票認識装置３０は、不読領域の枠内で認識された文字列と項目名辞書６２０に登録された項目名とが異なる場合であっても、不読領域の枠で認識された文字列が項目名辞書６２０の表記６２０２に含まれる場合には、その表記６２０２に対応する項目名と認識できる。
【００９６】
なお、第三の照合条件を緩和する方法は、ステップ１３０の処理に適用してもよい。
【００９７】
照合条件を緩和して項目名の文字列を認識するステップ３１０の処理は、ステップ１３０の処理に適用できる。しかし、最初の項目名の文字列を認識する処理に、第一及び第二の照合条件を緩和する方法を適用すると、帳票認識装置３０に入力された帳票に類似した項目名が含まれる場合等、帳票認識装置３０は、項目名を誤って認識してしまう可能性が高い。一方、第三の照合条件を緩和する方法をステップ１３０の処理に適用しても、帳票認識装置３０が項目名を認識してしまう可能性は、完全一致の照合条件の場合と変わらない。
【００９８】
照合条件を緩和して項目名の文字列を認識する処理は、認識処理１１０で認識された項目名を除外し、認識する項目名を限定してから、実行される。従って、帳票認識装置３０は、項目名を誤って認識する可能性がより低くなる。
【００９９】
次にリトライ処理Ｂ４００について説明する。
【０１００】
帳票認識装置３０は、入力された画像データから枠及び文字行を再検出し（４１０）、項目名の文字列を認識する（４２０）。なお、ステップ４２０の処理は、ステップ３１０の処理と同じである。そして、ステップ４２０の処理で項目名の文字列が検出された場合には、ステップ１４０の処理に戻る。
【０１０１】
なお、リトライ処理Ｂ４００は、帳票認識装置３０によって項目名が認識されない場合、ステップ１２０の処理で枠又は文字行が誤って検出されている場合があるので、帳票の画像データから枠及び文字行を再検出する。これによって、枠又は文字行が誤って検出されたことによって、項目名又はデータが誤って認識されることを救済される。
【０１０２】
リトライ処理Ｂ４００について、具体的な例を用いて説明する。
【０１０３】
帳票認識装置３０に図１２に示す帳票が入力された場合、図１２に示す帳票は、「住所」の枠に縦線の例えば印刷時に生じたノイズがあるので、帳票認識装置３０は、ステップ１２０の処理で、この枠を縦線で２つに分割して検出してしまい、「住所」の文字行を検出できない。
【０１０４】
従って、帳票認識装置３０は、ステップ２１０の処理で、図１２に示すよう、「住所」の項目名を含む太線枠１２００を不読領域として検出する。
【０１０５】
そして、ステップ２１０の処理で検出された不読領域内において、縦線によって分割された枠のみが枠の幅が異なるため、帳票認識装置３０は、幅の異なる枠を他の枠の幅に合わせて、枠を再検出し、文字行を再検出する（４１０）。
【０１０６】
ステップ４１０の処理が実行されることによって、帳票認識装置３０は、「住所」の文字行を検出し、ステップ３１０の処理と同じく、照合条件を緩和して項目名の文字列を認識する。
【０１０７】
図１２に示す帳票では、「住所」の「住」の字に縦線のノイズがあるが、帳票認識装置３０は、照合条件を緩和しているため、項目名を「住所」と認識できる。
【０１０８】
また、文字の一部が罫線として認識され、枠が誤って検出された場合、帳票認識装置３０は、罫線として検出された文字の一部は、罫線でないとして、枠を再検出してもよい。
【０１０９】
次に、帳票認識装置３０に図１３に示す帳票が入力された場合について説明する。図１３に示す帳票は、「電話番号」の文字列が２行になっており、「電話」と「番号」との行間が狭いため、帳票認識装置３０は、ステップ１２０の処理で「電話番号」を１行の文字行として検出する。このため、帳票認識装置３０は、ステップ１３０の処理で、「電話番号」の項目名を認識できない。そして、帳票認識装置３０は、ステップ２１０の処理で「電話番号」の項目名を含む太線枠１３００内を不読領域として検出する。
【０１１０】
帳票認識装置３０は、ステップ４１０の処理で、不読領域の枠の文字行の高さが他の文字行の高さよりも高いか否かを判定し、他の文字行の高さよりも不読領域の枠の文字行の高さが高い不読領域の枠の文字行を分割して、文字行を再検出する。
【０１１１】
具体的には、図１３に示す帳票の２行である「電話番号」が１行として認識された場合、「電話番号」の文字行の高さが他の文字行よりも高いので、帳票認識装置３０は、「電話」と「番号」の２行を検出する。そして、帳票認識装置３０は、「電話」と「番号」とを連結し、項目名辞書６２０と照合し、項目名「電話番号」を認識する。
【０１１２】
なお、前述したリトライ処理Ｂ４００は、項目名を認識する例を説明したが、帳票認識装置３０がデータの枠及び文字行を誤って検出した場合にも、適用できる。
【０１１３】
次にリトライ処理Ｃ５００について説明する。
【０１１４】
帳票認識装置３０は、リトライ処理Ａ３００及びリトライ処理Ｂ４００を実行しても、項目名を認識できない場合、データの文字列を認識し（５１０）、認識された文字列に基づいて、項目名を認識し（５２０）、項目名枠を検出する（５３０）。そして、帳票認識装置３０は、項目名枠を検出した場合、ステップ１６０に戻る。
【０１１５】
リトライ処理Ｃ５００について具体的な例を用いて説明する。
【０１１６】
リトライ処理Ｃ５００が実行される場合、帳票認識装置３０の認識辞書４０には、図１４に示す項目別利用知識６５０が格納される。
【０１１７】
帳票認識装置３０に図１３に示す帳票が入力された場合、図１３に示す帳票は、「電話番号」の文字が罫線に接触しているので、帳票認識装置３０は、「電話番号」の文字列を認識できない。そして、帳票認識装置３０は、ステップ２１０の処理で、図１３に示すよう、「電話番号」の項目名を含む太線枠１３００を不読領域として検出する。
【０１１８】
帳票認識装置３０は、ステップ５１０の処理で、不読領域の文字列を認識する。そして、帳票認識装置３０は、項目別利用知識６５０を参照し、認識された文字列が記載内容６５０２に含まれる項目名６５０１を検出し、検出された項目名を項目名として認識する。
【０１１９】
図１３に示す帳票では、不読領域の２行目及び３行目の文字列は数字とハイフンのみであって、桁数及び記載形式が限定されるので、帳票認識装置３０は、項目別利用知識６５０を参照し、電話番号を項目名として認識する。特定の形式を持つ数字列の照合については、特開平８−２４３５０５号公報に記載された技術が適用できる。
【０１２０】
そして、帳票認識装置３０は、ステップ５３０の処理で、不読領域の上端の枠又は数字以外の文字列を含む枠を、項目名「電話番号」の枠として検出する。なお、不読領域の上端を項目名枠と検出したのは、一般的に表の上端又は左端に項目名が存在することが多いからである。
【０１２１】
なお、帳票認識装置３０は、ステップ５３０の処理を実行する前に、ステップ３１０の処理を再度実行してもよい。
【０１２２】
なお、前述した実施の形態では、認識処理１１０が実行されることによって、認識されない項目が単数の場合の例を挙げたが、複数の項目が認識されない場合であっても、リトライ処理７００が実行されることによって、帳票認識装置３０が認識できる項目を増やしていくことによって、適用できる。なお、リトライ処理７００が繰り返し実行されても、項目が認識されない場合、帳票認識装置３０は、その認識されない項目を認識できないものとして、認識できない旨を表示装置５０に出力する。
【図面の簡単な説明】
【０１２３】
【図１】本発明の実施形態の帳票認識システムの構成図。
【図２】本発明の実施形態の帳票認識装置によって実行される帳票処理の概略を示すフローチャート。
【図３】本発明の実施形態の帳票認識装置によって実行される帳票処理の詳細を示すフローチャート。
【図４】本発明の実施形態の帳票の一例を示す図。
【図５】本発明の実施形態の帳票の不読領域を示す図。
【図６】本発明の実施形態の項目名枠間隣接関係の一例を示す図。
【図７】本発明の実施形態の帳票の一例を示す図。
【図８】本発明の実施形態の項目名枠間隣接関係の一例を示す図。
【図９】本発明の実施形態の帳票の一例を示す図。
【図１０】本発明の実施形態の項目名枠間隣接関係の一例を示す図。
【図１１】本発明の実施形態の項目名辞書を示す図。
【図１２】本発明の実施形態の帳票の一例を示す図。
【図１３】本発明の実施形態の帳票の一例を示す図。
【図１４】本発明の実施形態の項目別利用知識を示す図。
【符号の説明】
【０１２４】
１０  入力装置
２０  画像入力装置
３０  帳票認識装置
４０  認識辞書
５０  表示装置
６０  画像データベース
【図１】
2008021068.tif 000003
【図２】
2008021068.tif 000004
【図３】
2008021068.tif 000005
【図４】
2008021068.tif 000006
【図５】
2008021068.tif 000007
【図６】
2008021068.tif 000008
【図７】
2008021068.tif 000009
【図８】
2008021068.tif 000010
【図９】
2008021068.tif 000011
【図１０】
2008021068.tif 000012
【図１１】
2008021068.tif 000013
【図１２】
2008021068.tif 000014
【図１３】
2008021068.tif 000015
【図１４】
2008021068.tif 000016