(57)【要約】【課題】定義体情報が登録されていない帳票のＯＣＲ処理において、複数の内容項目を丸印、レ点、アンダーライン等で特定するような構造の帳票であっても、適切なＯＣＲ処理を実行することが可能な帳票処理プログラム、帳票処理装置および帳票処理方法を提供すること。【解決手段】画像読取装置で帳票を読み取らせて帳票画像を取得し、取得した帳票画像に文字認識処理を実行して文字列を認識し、認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得し、取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断し、特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断し、特定画像が存在すると判断された場合、特定画像の近傍の同一行文字列群情報に含まれる項目文字列を帳票に記載された特定の内容項目として取得する。【選択図】図４
2018073203.tif 000002
【特許請求の範囲】
【請求項１】
帳票を処理する帳票処理装置のコンピュータを、
画像読取装置で前記帳票を読み取らせて帳票画像を取得する画像読取手段、
前記画像読取手段によって取得した帳票画像に文字認識処理を実行して文字列を認識する文字列認識手段、
前記文字列認識手段によって認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得する同一行文字列群情報取得手段、
前記同一行文字列群情報取得手段によって取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断する特定文字列判断手段、
前記特定文字列判断手段によって前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断する特定画像判断手段、
前記特定画像判断手段によって前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得する内容項目取得手段、
として機能させるための帳票処理プログラム。
【請求項２】
前記コンピュータを、更に、
前記画像読取手段によって取得した帳票画像から縦横罫線を抽出する罫線抽出手段、
前記画像読取手段によって取得した帳票画像から前記罫線抽出手段によって抽出した縦横罫線を除去する罫線除去手段、
として機能させ、
前記文字列認識手段は、前記罫線除去手段によって縦横罫線が除去された罫線除去帳票画像に文字認識処理を実行して文字列を認識する、
ことを特徴とする請求項１に記載の帳票処理プログラム。
【請求項３】
前記帳票は、独自にレイアウトした私製帳票である、ことを特徴とする請求項１または２に記載の帳票処理プログラム。
【請求項４】
帳票を処理する帳票処理装置において、
画像読取装置で前記帳票を読み取らせて帳票画像を取得する画像読取部と、
前記画像読取部によって取得した帳票画像に文字認識処理を実行して文字列を認識する文字列認識部と、
前記文字列認識部によって認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得する同一行文字列群情報取得部と、
前記同一行文字列群情報取得部によって取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断する特定文字列判断部と、
前記特定文字列判断部によって前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断する特定画像判断部と、
前記特定画像判断部によって前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得する内容項目取得部と、
を備えることを特徴とする帳票処理装置。
【請求項５】
帳票を処理する帳票処理装置において実行される帳票処理方法であって、
画像読取装置で前記帳票を読み取らせて帳票画像を取得し、
前記取得した帳票画像に文字認識処理を実行して文字列を認識し、
前記認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得し、
前記取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断し、
前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断し、
前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得する、
ことを特徴とする帳票処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学的に読み取った帳票の帳票画像から所定の文字認識項目の文字認識処理を行うための帳票処理プログラム、帳票処理装置および帳票処理方法に関する。
【背景技術】
【０００２】
従来、金融機関や公共機関をはじめとする様々な組織において、各種の帳票が利用されている。例えば、銀行等では、帳票をスキャナ等の画像読取装置で読み取り、読み取り結果の帳票画像からＯＣＲ（光学式文字読取：Optical Character Reader）処理によりテキスト情報を得ることが行われている。これにより、オペレータによるデータ入力などの事務処理を効率化させることが図られている。
【０００３】
この際、ＯＣＲ処理は、読み取る帳票の罫線レイアウト（本数、長さ、配置）や帳票固有情報（帳票タイトル等）を定義体情報として予め登録しておき、帳票種類の特定後、帳票種類に対応する定義体情報を使用して文字認識を行う。帳票種類の特定は、一般的には帳票ＩＤ（帳票種類を特定するために帳票に印刷された数値等）が使用される。
【０００４】
近年は、このＯＣＲ処理の利用分野を拡大し、定義体情報が登録されていない帳票もＯＣＲ処理の対象とするニーズが高まっている。例えば、大学の入学金等の振込用紙のような、一般企業が作成する私製帳票もその一例である。
【０００５】
このような私製帳票、例えば振込用紙には、銀行名、支店名、科目、口座番号、依頼人名等の振込先情報が記載されている。ところが、その帳票レイアウトは千差万別であるため、全種類の定義体情報を登録しておくことは現実的ではない。
【０００６】
そこで、定義体情報の登録なしで私製帳票を認識し、初めて持ち込まれた帳票も自動的に項目位置を特定して認識することができる技術が開示されている。例えば、データの読み取りを確実にするために、予め登録しておいたキーワードを利用して帳票での勘定科目を判定して、日付および金額からなる会計データを作成する帳票システムが開示されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−０２０３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、定義体情報が登録されていない帳票のＯＣＲ処理は、項目位置特定のヒントとなる１つの見出し項目に対して、その見出し項目に対応する内容項目が１つ（１対１）になっている必要があるが、１対１になっていない帳票が存在する。例えば、図５に示すような振込依頼書では、見出し項目「振込先」欄に複数の内容項目「振込先」が記載され、丸印やレ点等で任意の１つの振込先を選択する形式になっている。また、図６に示すような納入告知書では、「納付場所」欄に複数の納付場所が記載され、アンダーラインを引くなどして１つの納付場所を選択する形式になっている。これらの帳票では、内容項目の項目位置を一意に特定することができず、認識結果を得ることができず、オペレータは手入力が必要となり事務処理が非効率である、という問題点があった。
【０００９】
本発明は、前述のような実状に鑑みたものであり、定義体情報が登録されていない帳票のＯＣＲ処理において、複数の内容項目を丸印、レ点、アンダーライン等で特定するような構造の帳票であっても、適切なＯＣＲ処理を実行することが可能な帳票処理プログラム、帳票処理装置および帳票処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明の帳票処理プログラムは、帳票を処理する帳票処理装置のコンピュータを、画像読取装置で前記帳票を読み取らせて帳票画像を取得する画像読取手段、前記画像読取手段によって取得した帳票画像に文字認識処理を実行して文字列を認識する文字列認識手段、前記文字列認識手段によって認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得する同一行文字列群情報取得手段、前記同一行文字列群情報取得手段によって取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断する特定文字列判断手段、前記特定文字列判断手段によって前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断する特定画像判断手段、前記特定画像判断手段によって前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得する内容項目取得手段として機能させるための帳票処理プログラムである。
【００１１】
また、本発明の帳票処理プログラムは、前記コンピュータを更に、前記画像読取手段によって取得した帳票画像から縦横罫線を抽出する罫線抽出手段、前記画像読取手段によって取得した帳票画像から前記罫線抽出手段によって抽出した縦横罫線を除去する罫線除去手段として機能させ、前記文字列認識手段が、前記罫線除去手段によって縦横罫線が除去された罫線除去帳票画像に文字認識処理を実行して文字列を認識するように機能させることが望ましい。
【００１２】
また、本発明の帳票処理プログラムは、前記帳票が、前記帳票を独自にレイアウトした私製帳票であることが望ましい。
【００１３】
また、本発明の一態様によれば、本発明の帳票処理装置は、帳票を処理する帳票処理装置において、画像読取装置で前記帳票を読み取らせて帳票画像を取得する画像読取部と、前記画像読取部によって取得した帳票画像に文字認識処理を実行して文字列を認識する文字列認識部と、前記文字列認識部によって認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得する同一行文字列群情報取得部と、前記同一行文字列群情報取得部によって取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断する特定文字列判断部と、前記特定文字列判断部によって前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断する特定画像判断部と、前記特定画像判断部によって前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得する内容項目取得部とを備えることを特徴とする。
【００１４】
また、本発明の一態様によれば、本発明の帳票処理方法は、帳票を処理する帳票処理装置において実行される帳票処理方法であって、画像読取装置で前記帳票を読み取らせて帳票画像を取得し、前記取得した帳票画像に文字認識処理を実行して文字列を認識し、前記認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得し、前記取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断し、前記特定文字列を含むと判断された同一行文字列群情報の近傍に、予め定められた特定画像が存在するか否かを判断し、前記特定画像が存在すると判断された場合、前記特定画像の前記近傍の同一行文字列群情報に含まれる項目文字列を前記帳票に記載された特定の内容項目として取得することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、定義体情報が登録されていない帳票のＯＣＲ処理において、複数の内容項目を丸印、レ点、アンダーライン等で特定するような構造の帳票であっても、適切なＯＣＲ処理を実行することが可能となり、業務効率全般を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態における帳票処理装置を備えるシステム構成図である。
【図２】本実施の形態における帳票処理装置の構成を示す図である。
【図３】本実施の形態における帳票処理装置のハードウェア構成図である。
【図４】本実施の形態における帳票処理装置の機能ブロック図である。
【図５】帳票の例（その１）を示す図である。
【図６】帳票の例（その２）を示す図である。
【図７】本実施の形態における帳票処理の流れを示すフローチャートである。
【図８】帳票処理のサブルーチン「アプリケーション処理」の流れを示すフローチャートである。
【図９】帳票画像の例を示す図である。
【図１０】罫線除去帳票画像の例を示す図である。
【図１１】アプリケーション処理のサブルーチン「文字列抽出処理」の流れを示すフローチャートである。
【図１２】認識された文字（全体）の例を示す図である。
【図１３】認識された文字（一部抜粋）の例を示す図である。
【図１４】認識された文字（一部抜粋）の認識結果データの例を示す図である。
【図１５】抽出された文字列（全体）の例を示す図である。
【図１６】抽出された文字列（一部抜粋）の例を示す図である。
【図１７】抽出された文字列（一部抜粋）の抽出結果データの例を示す図である。
【図１８】アプリケーション処理のサブルーチン「行抽出処理」の流れを示すフローチャートである。
【図１９】抽出された同一行文字列群情報（全体）の例を示す図である。
【図２０】抽出された同一行文字列群情報（一部抜粋）の例を示す図である。
【図２１】抽出された同一行文字列群情報（一部抜粋）の抽出結果データの例を示す図である。
【図２２】アプリケーション処理のサブルーチン「選択型内容項目認識処理」の流れを示すフローチャートである。
【図２３】選択型内容項目認識処理のサブルーチン「内容項目情報抽出処理」の流れを示すフローチャートである。
【図２４】キーワードテーブルの例を示す図である。
【図２５】内容項目情報抽出テーブルの例を示す図である。
【図２６】選択型内容項目認識処理のサブルーチン「内容項目情報特定処理」の流れを示すフローチャートである。
【図２７】内容項目情報特定処理のサブルーチン「左側チェック確認処理」の流れを示すフローチャートである。
【図２８】特定画像認識定義領域の例を示す図である。
【図２９】内容項目情報特定処理のサブルーチン「右側チェック確認処理」の流れを示すフローチャートである。
【図３０】内容項目情報特定処理のサブルーチン「下側アンダーライン確認処理」の流れを示すフローチャートである。
【図３１】内容項目情報特定テーブルの例を示す図である。
【図３２】選択型内容項目認識処理のサブルーチン「認識結果編集処理」の流れを示すフローチャートである。
【図３３】認識結果項目テーブルの例を示す図である。
【図３４】帳票読取結果画面の例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態における帳票処理装置を備えるシステム構成図である。
【００１８】
図１に示すように、帳票処理システム１は、画像読取装置２、サーバ４、画像読取装置２およびサーバ４と接続された帳票処理装置３を備える。ここで、本実施の形態の帳票処理システム１は、例えば金融機関や公共機関等における帳票処理に用いられている。
【００１９】
画像読取装置２は、例えば、イメージスキャナであり、帳票を光学的に読み取り、帳票処理装置３に送出する。
【００２０】
サーバ４は、帳票認識に必要なレイアウトデータ等の各種データを記憶する。なお、サーバ４は、帳票処理装置３の役割を有することもできる。
【００２１】
帳票処理装置３は、例えば、ワークステーション、パーソナルコンピュータ等のコンピュータの機能を備えており、後述する帳票処理を実行する。
【００２２】
図２は、本実施の形態における帳票処理装置の構成を示す図である。
図２に示すように、帳票処理装置３は、制御部２０、スキャナ制御部２１、文字認識処理部２３、認識結果表示部２４、および項目位置特定部２６を備える。
【００２３】
制御部２０は、スキャナ制御部２１、文字認識処理部２３、認識結果表示部２４および項目位置特定部２６による一連の処理を制御する。
【００２４】
スキャナ制御部２１は、画像読取装置２を制御し、帳票の記載面を帳票画像データとして取得する。
【００２５】
文字認識処理部２３は、スキャナ制御部２１によって取得した帳票画像データから、帳票記載面に記載されている文字を認識する。その際、帳票に記載された文字の認識には、文字認識辞書２２を使用する。この文字認識処理は、公知の文字認識技術を使用することが可能であるので、詳細な説明は省略する。
【００２６】
認識結果表示部２４は、文字認識処理部２３における文字認識結果を帳票処理装置３のディスプレイ上に表示させる制御を行う。
【００２７】
項目位置特定部２６は、キーワードテーブル２５を参照して、文字認識処理部２３で認識された文字列、例えば「依頼人」等の見出し項目名、その「依頼人」に対応する内容項目「依頼人名」が記載されている位置を特定する。
【００２８】
図３は、本実施の形態における帳票処理装置のハードウェア構成図である。
図３に示すように、帳票処理装置３は、ＣＰＵ（Central Processing Unit）２０１、入力装置２０２、出力装置２０３、ＲＯＭ（Read Only Memory）２０４、ＲＡＭ（Random Access Memory）２０５、インターフェース（Ｉ／Ｆ）２０６がバス２０７に接続されて構成されている。
【００２９】
入力装置２０２は、例えば、キーボード、ジョイスティック、ライトペン、マウス、タッチパッド、タッチパネル、トラックボール等、各種のデータや信号等を入力する。
【００３０】
出力装置２０３は、例えば、ＬＣＤ（Liquid Crystal Display）等の各種ディスプレイ、プリンタ等、画像やその他の情報を出力する。
【００３１】
ＲＯＭ２０４は、帳票処理装置３において実行する帳票処理を実行するプログラムの他、帳票処理装置３の各機能を制御し実行するための制御プログラムおよびテーブルデータなどを収納する。
【００３２】
ＲＡＭ２０５は、出力装置２０３用のフレームバッファや一部のアプリケーションプログラム等を格納する。
【００３３】
インターフェース２０６は、ＵＳＢ（Universal Serial Bus）等のシリアルインターフェースやイーサネット（登録商標）等のパラレルインターフェース等、外部機器と接続するためのユニットである。
【００３４】
ＣＰＵ２０１は、これらの各部を制御している。
本実施の形態における帳票処理は、前述した帳票処理装置３によって実行される。
【００３５】
図４は、本実施の形態における帳票処理装置の機能ブロック図である。
図４に示すように、帳票処理装置３は、画像読取部３１、文字列認識部３２、同一行文字列群情報取得部３３、特定文字列判断部３４、特定画像テーブル３５、特定画像判断部３６、および内容項目取得部３７を備える。帳票処理装置３は、コンピュータの機能を備えており、帳票処理プログラムに従って後述する帳票処理を実行する。帳票処理装置３は、金融機関や公共機関をはじめとする様々な組織において使用する、各種の帳票を処理する。処理する帳票は、例えば、独自にレイアウトした私製帳票を含む。
【００３６】
画像読取部３１は、イメージスキャナ等の画像読取装置２に帳票を読み取らせて帳票画像を取得する。
【００３７】
文字列認識部３２は、画像読取部３１によって取得した帳票画像に対して文字認識処理を実行して文字列を認識する。文字認識処理は、一般的には、画像を解析し、その中に含まれる文字に相当するパターンを検出し、書かれている内容を文字データとして取り出す処理を実行する。その際、文字の画像特徴と識別情報とを対応付けて格納した文字認識辞書２２を利用する。
【００３８】
同一行文字列群情報取得部３３は、文字列認識部３２によって認識された文字列のうち、同一行内に配置された文字列群から構成される同一行文字列群情報を取得する。
【００３９】
特定文字列判断部３４は、キーワードテーブル２５を参照して、同一行文字列群情報取得部３３によって取得された同一行文字列群情報毎に予め定められた特定文字列を含むか否かを判断する。
【００４０】
特定画像判断部３６は、特定画像テーブル３５を参照して、特定文字列判断部３４によって特定文字列を含むと判断された同一行文字列群情報の近傍、例えば、右側領域、左側領域、下側領域等に、予め定められた特定画像が存在するか否かを判断する。特定画像は、例えば、丸印、レ点、アンダーライン等である。
【００４１】
内容項目取得部３７は、特定画像判断部３６によって特定画像が存在すると判断された場合、特定画像の近傍の同一行文字列群情報に含まれる項目文字列を帳票に記載された特定の内容項目として取得する。
【００４２】
また、図４に示すように、帳票処理装置３は、画像読取部３１、文字列認識部３２、同一行文字列群情報取得部３３、特定文字列判断部３４、特定画像テーブル３５、特定画像判断部３６、および内容項目取得部３７に加え、罫線抽出部３８および罫線除去部３９を備えることもできる。
【００４３】
罫線抽出部３８は、画像読取部３１によって読み取らせた帳票画像から縦罫線および横罫線を抽出する。例えば、縦罫線であれば、縦方向に連続する画素、すなわち縦方向の直線があるか否かを抽出し、その結果を縦罫線抽出結果として出力する。また、横罫線であれば、横方向に連続する画素、すなわち横方向の直線があるか否かを抽出し、その結果を横罫線抽出結果として出力する。さらに、縦罫線と横罫線から構成される矩形を抽出するようにしてもよい。例えば、２本の縦罫線と２本の横罫線で構成された矩形を抽出することができる。抽出された縦罫線、横罫線、または矩形を縦横罫線と総称する。
【００４４】
罫線除去部３９は、画像読取部３１によって読み取らせた帳票画像から罫線抽出部３８によって抽出した縦横罫線を除去する。通常の帳票画像の場合、縦横罫線が除去された罫線除去帳票画像は、文字、数字、符号、画像等を含む。罫線除去帳票画像に含まれる画像には、丸印、レ点、アンダーライン等を含む。
【００４５】
そして、文字列認識部３２は、罫線除去部３９によって縦横罫線が除去された罫線除去帳票画像に文字認識処理を実行して文字列を認識する。
【００４６】
なお、キーワードテーブル２５および文字認識辞書２２は、帳票処理装置３が備えていても良いし、外部の記憶装置に格納されていても良い。
【００４７】
次に、図５乃至図３４を用いて、本実施の形態を詳細に説明する。
図５は、帳票の例（その１）を示す図である。図６は、帳票の例（その２）を示す図である。図７は、本実施の形態における帳票処理の流れを示すフローチャートである。図８は、帳票処理のサブルーチン「アプリケーション処理」の流れを示すフローチャートである。図９は、帳票画像の例を示す図である。図１０は、罫線除去帳票画像の例を示す図である。図１１は、アプリケーション処理のサブルーチン「文字列抽出処理」の流れを示すフローチャートである。図１２は、認識された文字（全体）の例を示す図である。図１３は、認識された文字（一部抜粋）の例を示す図である。図１４は、認識された文字（一部抜粋）の認識結果データの例を示す図である。図１５は、抽出された文字列（全体）の例を示す図である。図１６は、抽出された文字列（一部抜粋）の例を示す図である。図１７は、抽出された文字列（一部抜粋）の抽出結果データの例を示す図である。図１８は、アプリケーション処理のサブルーチン「行抽出処理」の流れを示すフローチャートである。図１９は、抽出された同一行文字列群情報（全体）の例を示す図である。図２０は、抽出された同一行文字列群情報（一部抜粋）の例を示す図である。図２１は、抽出された同一行文字列群情報（一部抜粋）の抽出結果データの例を示す図である。図２２は、アプリケーション処理のサブルーチン「選択型内容項目認識処理」の流れを示すフローチャートである。図２３は、選択型内容項目認識処理のサブルーチン「内容項目情報抽出処理」の流れを示すフローチャートである。図２４は、キーワードテーブルの例を示す図である。図２５は、内容項目情報抽出テーブルの例を示す図である。図２６は、選択型内容項目認識処理のサブルーチン「内容項目情報特定処理」の流れを示すフローチャートである。図２７は、内容項目情報特定処理のサブルーチン「左側チェック確認処理」の流れを示すフローチャートである。図２８は、特定画像認識定義領域の例を示す図である。図２９は、内容項目情報特定処理のサブルーチン「右側チェック確認処理」の流れを示すフローチャートである。図３０は、内容項目情報特定処理のサブルーチン「下側アンダーライン確認処理」の流れを示すフローチャートである。図３１は、内容項目情報特定テーブルの例を示す図である。図３２は、選択型内容項目認識処理のサブルーチン「認識結果編集処理」の流れを示すフローチャートである。図３３は、認識結果項目テーブルの例を示す図である。図３４は、帳票読取結果画面の例を示す図である。
【００４８】
本実施の形態における帳票処理は、図１乃至４を用いて説明した帳票処理装置３が帳票処理プログラムに従って実行する。帳票処理装置３は、定義体が登録されていない私製の帳票を対象とする。例えば、図５に示すように、縦および横の罫線で囲われた矩形領域内に「振込先」の金融機関口座が記載された帳票であって、複数個の金融機関口座が列挙されている帳票を対象とする。また、図６に示すように、矩形が記載されていない領域に「振込先」の金融機関口座が記載された帳票であって、複数個の金融機関口座が列挙されている帳票を対象とする。
【００４９】
以下の説明では、図６に示したような帳票を例にして具体的な帳票処理について説明する。
【００５０】
オペレータは、キーボード、マウス等の入力装置２０２を操作することで、ＬＣＤ等の出力装置２０３に表示されるユーザインターフェース画面を介して、イメージスキャナ等の画像読取装置２への帳票読み取り開始を指示する。このオペレータによる帳票読み取り開始指示の操作は、例えば、キーボードに設けられた読取りキーの押下、またはＬＣＤに表示されているユーザインターフェース画面上の読取りキーをマウスによりクリックする操作などにより実行される。
【００５１】
帳票読み取り開始指示の操作が行われると、帳票処理装置３が備える制御部２０は、図７のステップＳ７０１において、読み取りキーの押下受付を行う。
【００５２】
制御部２０は、ステップＳ７０２において、サブルーチン「アプリケーション処理」を実行する。サブルーチン「アプリケーション処理」は、複数の内容項目を丸印、レ点、アンダーライン等で特定するような構造の帳票において、特定された内容項目を抽出する処理である。
【００５３】
サブルーチン「アプリケーション処理」について、図８を用いて詳細に説明する。
制御部２０は、図８のステップＳ８０１において、画像読取装置２に帳票を読み取らせ、図９に示すような帳票画像を取得する。
【００５４】
制御部２０は、ステップＳ８０２において、ステップＳ８０１で取得した帳票画像に対して２値化処理を行う。この２値化処理は、公知の２値化技術を使用することが可能であるので、詳細な説明は省略するが、例えば、画像において、輝度（画素値）が予め定めた閾値より高い画素を白画素に設定し、閾値以下の画素を黒画素に設定する。
【００５５】
制御部２０は、ステップＳ８０３において、ステップＳ８０２で２値化した帳票画像から縦罫線および横罫線を抽出する。上述したように、抽出した縦罫線、横罫線、縦罫線と横罫線から構成される矩形を縦横罫線と総称する。
【００５６】
制御部２０は、ステップＳ８０４において、ステップＳ８０２で２値化した帳票画像とステップＳ８０３で抽出した縦横罫線の差分を取ることにより、帳票画像から縦横罫線が除去され、図１０に示すような罫線除去帳票画像を取得する。なお、罫線を有しない帳票の場合は、ステップＳ８０３で縦罫線も横罫線も抽出されることはないので、ステップＳ８０４で縦横罫線が除去されることもない。この場合、ステップＳ８０４の処理後の罫線除去帳票画像は、ステップＳ８０２で２値化された帳票画像と等価である。
【００５７】
制御部２０は、ステップＳ８０５において、サブルーチン「文字列抽出処理」を実行する。サブルーチン「文字列抽出処理」は、罫線除去帳票画像から文字列を抽出する処理である。
【００５８】
サブルーチン「文字列抽出処理」について、図１１を用いて詳細に説明する。
制御部２０は、図１１のステップＳ１１０１において、図８のステップ８０４で取得した罫線除去帳票画像に対して文字認識処理を行う。文字認識処理は、上述したように、公知の文字認識技術を使用することが可能であり、画像のレイアウト解析、行領域の切り出し、文字枠の切り出しを行い、文字認識辞書２２を利用して文字枠内の画像を文字データとして取り出す。その際、文字データと罫線除去帳票画像における各文字枠の位置情報（例えば、左上座標（ｘ、ｙ）、右下座標（ｘ、ｙ））を対応付けてＲＡＭ２０５等のメモリに格納する。また、認識した文字の属性（例えば、「漢字」「カナ」「数字」等も対応付けて格納する。
【００５９】
図１０に示した罫線除去帳票画像に対して文字認識処理を行うと、図１２、図１３、図１４に示したように、文字枠内の各文字（例えば、図１３中の文字１３０１、１３０２、１３０３、１３０４）を認識することができる。なお、図１２は、図１０に示した罫線除去帳票画像に対して文字認識処理を行って認識された文字の全体の例であり、図１３は、その一部を抜粋した例であり、図１４は、その認識結果データの例である。
【００６０】
制御部２０は、ステップＳ１１０２において、ステップＳ１１０１で認識された文字データを左上優先でソートする。なお、図１４に示した例は、ソートされた結果である。
【００６１】
制御部２０は、ステップＳ１１０３において、ステップＳ１１０２でソートされた文字データの最初（Ｎｏ．１）をメモリから読み出し、これを基準文字とする。そして、この最初の文字データ（基準文字）をヌル（ｎｕｌｌ）に初期化された変数「文字列」に代入する。
【００６２】
ステップＳ１１０４乃至Ｓ１１１０の処理をメモリに格納された文字データの数から１減算した数だけ繰り返す（ループする）。また、文字列が確定するまでステップＳ１１０４乃至Ｓ１１０８の処理を繰り返す（ループする）。
【００６３】
制御部２０は、ステップＳ１１０４において、次の文字を比較文字とする。例えば、１回目のＳ１１０４においては、図１４のＮｏ．２を比較文字とし、２回目のＳ１１０４においては、Ｎｏ．３を比較文字とする。すなわち、ｎ回目のＳ１１０４においては、Ｎｏ．（ｎ＋１）を比較文字とする。
【００６４】
制御部２０は、ステップＳ１１０５において、基準文字と比較文字のそれぞれの大きさと、基準文字と比較文字との間隔を算出する。
【００６５】
制御部２０は、ステップＳ１１０６において、基準文字と比較文字の大きさの差分が所定範囲内か否かを判断する。
【００６６】
大きさの差分が所定範囲内であると判断された場合（ステップＳ１１０６：Ｙｅｓ）、制御部２０は、ステップＳ１１０７において、基準文字と比較文字の間隔が所定範囲内か否かを判断する。
【００６７】
間隔が所定範囲内であると判断された場合（ステップＳ１１０７：Ｙｅｓ）、制御部２０は、ステップＳ１１０８において、比較文字を変数「文字列」に追加してステップＳ１１０４に戻る。
【００６８】
他方、ステップＳ１１０６で基準文字と比較文字の大きさの差分が所定範囲内でないと判断された場合（ステップＳ１１０６：Ｎｏ）、制御部２０は、ステップＳ１１０９において、変数「文字列」を確定し、ＲＡＭ２０５等のメモリに格納する。
【００６９】
ステップＳ１１０９で変数「文字列」が確定すると、図１５、図１６、図１７に示したように、文字から構成される文字列（例えば、図１６中の文字列１６０１、１６０２、１６０３、１６０４）を抽出することができる。なお、図１５は全体の例であり、図１６はその一部を抜粋した例である。また、図１７は、位置情報と対応付けられた文字列の抽出結果データの例である。
【００７０】
また、ステップＳ１１０７で基準文字と比較文字の間隔が所定範囲内でないと判断された場合も（ステップＳ１１０７：Ｎｏ）、制御部２０は、ステップＳ１１０９において、変数「文字列」を確定する。
【００７１】
制御部２０は、ステップＳ１１１０において、比較文字を基準文字とし、ヌルに初期化された次の変数「文字列」（別の文字列変数）に代入し、ステップＳ１１０４に戻る。
【００７２】
ステップＳ１１０４乃至Ｓ１１１０の処理が、メモリに格納された文字データの数から１減算した数だけ繰り返されたら、制御部２０は、ステップＳ１１１１において、文字列を左上優先でソートする。なお、図１７に示した例は、ソートされた結果である。
【００７３】
図８の説明に戻る。
制御部２０は、ステップＳ８０６において、サブルーチン「行抽出処理」を実行する。サブルーチン「行抽出処理」は、同一行を構成する文字列群である同一行文字列群情報を抽出する処理である。
【００７４】
サブルーチン「行抽出処理」について、図１８を用いて詳細に説明する。
制御部２０は、ステップＳ１８０１において、図１１のステップＳ１１１１でソートされた文字列データの最初（図１７のＮｏ．１）をＲＡＭ２０５等のメモリから読み出し、これを基準文字列とする。そして、この最初の文字列データ（基準文字列）をヌル（ｎｕｌｌ）に初期化された変数「行」に代入する。
【００７５】
ステップＳ１８０２乃至Ｓ１８０７の処理をメモリに格納された文字列データの数から１減算した数だけ繰り返す（ループする）。また、同一行文字列群情報が確定するまでステップＳ１８０２乃至Ｓ１８０５の処理を繰り返す（ループする）。
【００７６】
制御部２０は、ステップＳ１８０２において、次の文字列を比較文字列とする。例えば、１回目のＳ１８０２においては、図１７のＮｏ．２を比較文字列とし、２回目のＳ１８０２においては、Ｎｏ．３を比較文字列とする。すなわち、ｍ回目のＳ１８０２においては、Ｎｏ．（ｍ＋１）を比較文字列とする。
【００７７】
制御部２０は、ステップＳ１８０３において、基準文字列と比較文字列のそれぞれの高さ方向（Ｙ方向）の座標をメモリから読み出す。
【００７８】
制御部２０は、ステップＳ１８０４において、基準文字列と比較文字列の高さ方向の座標の差分が所定範囲内か否かを判断する。
【００７９】
高さ方向の差分が所定範囲内であると判断された場合（ステップＳ１８０４：Ｙｅｓ）、制御部２０は、ステップＳ１８０５において、比較文字列を変数「行」に追加してステップＳ１８０２に戻る。
【００８０】
他方、ステップＳ１８０４で基準文字列と比較文字列の高さ方向の座標の差分が所定範囲内でないと判断された場合（ステップＳ１８０４：Ｎｏ）、制御部２０は、ステップＳ１８０６において、変数「行」を確定する。確定した変数「行」は、同一行文字列群情報を構成し、ＲＡＭ２０５等のメモリに格納される。
【００８１】
ステップＳ１８０６で変数「行」が確定すると、図１９、図２０、図２１に示したように、文字列から構成される同一行文字列群情報（例えば、図２０中の同一行文字列群情報２００１）を抽出することができる。なお、図１９は全体の例であり、図２０はその一部を抜粋した例である。また、図２１は、位置情報と対応付けられた同一行文字列群情報の抽出結果データの例である。
【００８２】
制御部２０は、ステップＳ１８０７において、比較文字列を基準文字列とし、ヌルに初期化された次の変数「行」（別の行変数）に代入し、ステップＳ１８０２に戻る。
【００８３】
ステップＳ１８０２乃至Ｓ１８０７の処理が、メモリに格納された文字列データの数から１減算した数だけ繰り返されたら、制御部２０は、ステップＳ１８０８において、同一行文字列群情報を左上優先でソートする。なお、図２１に示した例は、ソートされた結果である。
【００８４】
図８の説明に戻る。
制御部２０は、ステップＳ８０７において、サブルーチン「選択型内容項目認識処理」を実行する。サブルーチン「選択型内容項目認識処理」は、同一行文字列群情報から選択された内容項目を抽出する処理である。
【００８５】
サブルーチン「選択型内容項目認識処理」について、図２２を用いて詳細に説明する。
制御部２０は、図２２のステップＳ２２０１において、サブルーチン「内容項目情報抽出処理」を実行する。サブルーチン「内容項目情報抽出処理」は、同一行文字列群情報から複数型の内容項目を抽出する処理である。
【００８６】
サブルーチン「内容項目情報抽出処理」について、図２３を用いて詳細に説明する。
サブルーチン「内容項目情報抽出処理」は、ステップＳ２３０１乃至Ｓ２３１２の処理全体を、メモリに格納された同一行文字列群情報の数だけ繰り返す（ループする）。
【００８７】
制御部２０は、図２３のステップＳ２３０１において、内容項目を示すフラグ、例えば、「銀行名」フラグ、「支店名」フラグ、「科目」フラグ、「口座番号」フラグ等をオフ（ＯＦＦ）する。
【００８８】
制御部２０は、ステップＳ２３０２において、図８のステップＳ８０６のサブルーチン「行抽出処理」で抽出した各同一行文字列群情報について、図２４に示すようなキーワードテーブル２５と照合する。
【００８９】
制御部２０は、ステップＳ２３０３において、同一行文字列群情報の中に、キーワードテーブル２５の項目名「銀行名」に対応付けられたキーワードを含む文字列があるか否かを判断する。
【００９０】
あると判断された場合（ステップＳ２３０３：Ｙｅｓ）、ステップＳ２３０４に進み、ないと判断された場合（ステップＳ２３０３：Ｎｏ）、ステップＳ２３０５に進む。
【００９１】
制御部２０は、ステップＳ２３０４において、「銀行名」フラグをオン（ＯＮ）にする。
【００９２】
制御部２０は、ステップＳ２３０５において、同一行文字列群情報の中に、キーワードテーブル２５の項目名「支店名」に対応付けられたキーワードを含む文字列があるか否かを判断する。
【００９３】
あると判断された場合（ステップＳ２３０５：Ｙｅｓ）、ステップＳ２３０６に進み、ないと判断された場合（ステップＳ２３０５：Ｎｏ）、ステップＳ２３０７に進む。
【００９４】
制御部２０は、ステップＳ２３０６において、「支店名」フラグをオン（ＯＮ）にする。
【００９５】
制御部２０は、ステップＳ２３０７において、同一行文字列群情報の中に、キーワードテーブル２５の項目名「科目」に対応付けられたキーワードを含む文字列があるか否かを判断する。
【００９６】
あると判断された場合（ステップＳ２３０７：Ｙｅｓ）、ステップＳ２３０８に進み、ないと判断された場合（ステップＳ２３０７：Ｎｏ）、ステップＳ２３０９に進む。
【００９７】
制御部２０は、ステップＳ２３０８において、「科目」フラグをオン（ＯＮ）にする。
制御部２０は、ステップＳ２３０９において、同一行文字列群情報の中に、キーワードテーブル２５の項目名「口座番号」に対応付けられた「桁数」と数が一致する文字列（数字数）があるか否かを判断する。
【００９８】
あると判断された場合（ステップＳ２３０９：Ｙｅｓ）、ステップＳ２３１０に進み、ないと判断された場合（ステップＳ２３０９：Ｎｏ）、ステップＳ２３１１に進む。
【００９９】
制御部２０は、ステップＳ２３１０において、「口座番号」フラグをオン（ＯＮ）にする。
【０１００】
制御部２０は、ステップＳ２３１１において、「銀行名」フラグ、「支店名」フラグ、「科目」フラグ、「口座番号」フラグの全てがオンか否か（オフ）を判断する。
【０１０１】
少なくとも何れか１のフラグがオフであると判断された場合（ステップＳ２３１１：Ｎｏ）、ステップＳ２３０１に戻る。
【０１０２】
他方、「銀行名」フラグ、「支店名」フラグ、「科目」フラグ、「口座番号」フラグの全てがオンであると判断された場合（ステップＳ２３１１：Ｙｅｓ）、制御部２０は、ステップＳ２３１２において、ＲＡＭ２０５等のメモリ上に構成された内容項目情報抽出テーブルに、同一行文字列群情報を格納する。図２５に示した内容項目情報抽出テーブルの例は、図２１に例示した抽出結果データについてサブルーチン「内容項目情報抽出処理」を実行した結果である。
【０１０３】
図２２の説明に戻る。
制御部２０は、ステップＳ２２０２において、サブルーチン「内容項目情報特定処理」を実行する。サブルーチン「内容項目情報特定処理」は、ステップＳ２２０１で抽出された複数型の内容項目のうち選択された内容項目を特定する処理である。
【０１０４】
サブルーチン「内容項目情報特定処理」について、図２６を用いて詳細に説明する。
制御部２０は、図２６のステップＳ２６０１において、内容項目情報特定カウンタを０に設定する。
【０１０５】
ステップＳ２６０２乃至Ｓ２６０９の処理をメモリ上の内容項目情報抽出テーブルに格納された同一行文字列群情報の数だけ繰り返す（ループする）。
【０１０６】
制御部２０は、ステップＳ２６０２において、サブルーチン「左側チェック確認処理」を実行する。サブルーチン「左側チェック確認処理」は、内容項目情報の左側に特定画像によるチェックが入っているか否かを確認する処理である。
【０１０７】
サブルーチン「左側チェック確認処理」について、図２７を用いて詳細に説明する。
制御部２０は、図２７のステップＳ２７０１において、図２８に示すように内容項目情報の左側に特定画像認識定義領域２８０１を設定する。特定画像認識定義領域２８０１は、縦が内容項目情報を構成する文字の高さと同一であり、横がその文字の幅と同一である。
【０１０８】
制御部２０は、ステップＳ２７０２において、特定画像認識定義領域２８０１に対し認識処理を行う。この認識処理は、例えば、特定画像認識定義領域２８０１に所定の割合以上の黒画素が存在することにより、丸印、レ点等の特定画像が記載されていることを認識する。
【０１０９】
制御部２０は、ステップＳ２７０３において、ステップＳ２７０２の認識処理により特定画像の認識結果があるか否かを判断する。
【０１１０】
認識結果があると判断された場合（ステップＳ２７０３：Ｙｅｓ）、制御部２０は、ステップＳ２７０４において、「チェック確認あり」を返す。
【０１１１】
他方、認識結果がないと判断された場合（ステップＳ２７０３：Ｎｏ）、制御部２０は、ステップＳ２７０５において、「チェック確認なし」を返す。
【０１１２】
図２６の説明に戻る。
制御部２０は、ステップＳ２６０３において、サブルーチン「左側チェック確認処理」で「チェック確認あり」が返ってきたか否か（「チェック確認なし」が返ってきたか）を判断する。
【０１１３】
「チェック確認あり」が返ってきたと判断された場合（ステップＳ２６０３：Ｙｅｓ）、ステップＳ２６０８に進む。
【０１１４】
他方、「チェック確認なし」が返ってきたと判断された場合（ステップＳ２６０３：Ｎｏ）、制御部２０は、ステップＳ２６０４において、サブルーチン「右側チェック確認処理」を実行する。サブルーチン「右側チェック確認処理」は、内容項目情報の右側に特定画像によるチェックが入っているか否かを確認する処理である。
【０１１５】
サブルーチン「右側チェック確認処理」について、図２９を用いて詳細に説明する。
制御部２０は、図２９のステップＳ２９０１において、図２８に示すように内容項目情報の右側に特定画像認識定義領域２８０２を設定する。特定画像認識定義領域２８０２は、縦が内容項目情報を構成する文字の高さと同一であり、横がその文字の幅と同一である。
【０１１６】
制御部２０は、ステップＳ２９０２において、特定画像認識定義領域２８０２に対し認識処理を行う。この認識処理は、例えば、特定画像認識定義領域２８０２に所定の割合以上の黒画素が存在することにより、丸印、レ点等の特定画像が記載されていることを認識する。
【０１１７】
制御部２０は、ステップＳ２９０３において、ステップＳ２９０２の認識処理により特定画像の認識結果があるか否かを判断する。
【０１１８】
認識結果があると判断された場合（ステップＳ２９０３：Ｙｅｓ）、制御部２０は、ステップＳ２９０４において、「チェック確認あり」を返す。
【０１１９】
他方、認識結果がないと判断された場合（ステップＳ２９０３：Ｎｏ）、制御部２０は、ステップＳ２９０５において、「チェック確認なし」を返す。
【０１２０】
図２６の説明に戻る。
制御部２０は、ステップＳ２６０５において、サブルーチン「右側チェック確認処理」で「チェック確認あり」が返ってきたか否か（「チェック確認なし」が返ってきたか）を判断する。
【０１２１】
「チェック確認あり」が返ってきたと判断された場合（ステップＳ２６０５：Ｙｅｓ）、ステップＳ２６０８に進む。
【０１２２】
他方、「チェック確認なし」が返ってきたと判断された場合（ステップＳ２６０５：Ｎｏ）、制御部２０は、ステップＳ２６０６において、サブルーチン「下側アンダーライン確認処理」を実行する。サブルーチン「下側アンダーライン確認処理」は、内容項目情報の下側に特定画像によるチェックが入っているか否かを確認する処理である。
【０１２３】
サブルーチン「下側アンダーライン確認処理」について、図３０を用いて詳細に説明する。
【０１２４】
制御部２０は、図３０のステップＳ３００１において、図２８に示すように内容項目情報の下側に特定画像認識定義領域２８０３、２８０４を設定する。特定画像認識定義領域２８０３は、縦が内容項目情報を構成する文字の高さと同一であり、横が内容項目情報の幅と同一である。また、特定画像認識定義領域２８０４は、縦が下の行の内容項目情報との間隙と同一であり、横が内容項目情報の幅と同一である。
【０１２５】
制御部２０は、ステップＳ３００２において、特定画像認識定義領域２８０３、２８０４に対し認識処理を行う。この認識処理は、例えば、特定画像認識定義領域２８０３、２８０４に所定の割合以上の黒画素が存在することにより、アンダーライン等の特定画像が記載されていることを認識する。
【０１２６】
制御部２０は、ステップＳ３００３において、ステップＳ３００２の認識処理により特定画像の認識結果があるか否かを判断する。
【０１２７】
認識結果があると判断された場合（ステップＳ３００３：Ｙｅｓ）、制御部２０は、ステップＳ３００４において、「チェック確認あり」を返す。
【０１２８】
他方、認識結果がないと判断された場合（ステップＳ３００３：Ｎｏ）、制御部２０は、ステップＳ３００５において、「チェック確認なし」を返す。
【０１２９】
図２６の説明に戻る。
制御部２０は、ステップＳ２６０７において、サブルーチン「下側アンダーライン確認処理」で「チェック確認あり」が返ってきたか否か（「チェック確認なし」が返ってきたか）を判断する。
【０１３０】
「チェック確認あり」が返ってきたと判断された場合（ステップＳ２６０７：Ｙｅｓ）、ステップＳ２６０８に進む。
【０１３１】
他方、「チェック確認なし」が返ってきたと判断された場合（ステップＳ２６０７：Ｎｏ）、ステップＳ２６０２に戻る。
【０１３２】
制御部２０は、ステップＳ２６０８において、ＲＡＭ２０５等のメモリ上に構成された内容項目情報特定テーブルに、「チェック確認あり」と判断された同一行文字列群情報を格納する。図３１に示した内容項目情報特定テーブルの例は、図２５に例示した内容項目情報抽出テーブルについてサブルーチン「内容項目情報特定処理」を実行した結果である。
【０１３３】
制御部２０は、ステップＳ２６０９において、内容項目情報特定カウンタをインクリメント（１加算）する。
【０１３４】
ステップＳ２６０２乃至Ｓ２６０９の処理が、メモリ上の内容項目情報抽出テーブルに格納された同一行文字列群情報の数だけ繰り返されたら、制御部２０は、ステップＳ２６１０において、内容項目情報特定カウンタが１か否かを判断する。
【０１３５】
内容項目情報特定カウンタが１であると判断された場合（ステップＳ２６１０：Ｙｅｓ）、制御部２０は、ステップＳ２６１１において、認識結果応答に０を設定する。これは、内容項目が特定されたことを示す。
【０１３６】
他方、内容項目情報特定カウンタが１でないと判断された場合（ステップＳ２６１０：Ｎｏ）、制御部２０は、ステップＳ２６１２において、内容項目情報特定カウンタが０か否かを判断する。
【０１３７】
内容項目情報特定カウンタが０であると判断された場合（ステップＳ２６１２：Ｙｅｓ）、制御部２０は、ステップＳ２６１３において、認識結果応答に１を設定する。これは、内容項目が特定できなかったことを示す。
【０１３８】
他方、内容項目情報特定カウンタが０でないと判断された場合（ステップＳ２６１２：Ｎｏ）、制御部２０は、ステップＳ２６１４において、認識結果応答に２を設定する。これは、何らかの原因により、２つ以上の内容項目が特定されてしまったことを示す。
【０１３９】
図２２の説明に戻る。
制御部２０は、ステップＳ２２０３において、サブルーチン「認識結果編集処理」を実行する。サブルーチン「認識結果編集処理」は、特定された内容項目情報を項目別に編集する処理である。
【０１４０】
サブルーチン「認識結果編集処理」について、図３２を用いて詳細に説明する。
制御部２０は、図３２のステップＳ３２０１において、認識結果応答が０か否かを判断する。認識結果応答が０の場合、図３１に示したような内容項目情報特定テーブルに１つの内容項目情報が設定されている。
【０１４１】
認識結果応答が０であると判断された場合（ステップＳ３２０１：Ｙｅｓ）、ステップＳ３２０２乃至Ｓ３２１０の処理をキーワードテーブルの項目数だけ繰り返す（ループする）。
【０１４２】
制御部２０は、ステップＳ３２０２において、図２４に示したようなキーワードテーブルから「項目名」を取得する。
【０１４３】
制御部２０は、ステップＳ３２０３において、ステップＳ３２０２で取得した「項目名」に対応するキーワード、例えば「銀行」をキーワードテーブルから取得する。
【０１４４】
制御部２０は、ステップＳ３２０４において、図２２のステップＳ２２０２で実行したサブルーチン「内容項目情報特定処理」によって特定され、図３１に示したような内容項目情報特定テーブルに格納された内容項目情報と、ステップＳ３２０３で取得したキーワードとを照合し、キーワードの最終文字が内容項目情報の何桁目にあるかを算出する。
【０１４５】
制御部２０は、ステップＳ３２０５において、ＲＡＭ２０５等のメモリ上に構成された認識結果項目テーブルの「項目名」に、ステップＳ３２０２で取得した「項目名」を格納する。図３３に示した認識結果項目テーブルの例を示す。
【０１４６】
制御部２０は、ステップＳ３２０６において、内容項目情報の先頭からキーワードの最終文字の桁までの文字列を抽出する。例えば、ステップＳ３２０２で取得したキーワードが「銀行」であれば、図３１に示した内容項目情報特定テーブルの場合、抽出される文字列は、「△△△△ＡＢＣ銀行」となる。
【０１４７】
制御部２０は、ステップＳ３２０７において、ステップＳ３２０２で取得した「項目名」が「科目」か否かを判断する。
【０１４８】
「科目」でないと判断された場合（ステップＳ３２０７：Ｎｏ）、制御部２０は、ステップＳ３２０８において、図３３に示したような認識結果項目テーブルの「認識結果」に、抽出文字を格納する。
【０１４９】
制御部２０は、ステップＳ３２０９において、内容項目情報の先頭からキーワードの最終文字の桁まで削除する。上述の例では、内容項目情報「△△△△ＡＢＣ銀行  △△△支店  普通  １１１１１１１」から「△△△△ＡＢＣ銀行」を削除し、残りの「△△△支店  普通  １１１１１１１」を新たな内容項目情報とする。なお、空白文字「  」も除去する。
【０１５０】
ステップＳ３２０７で「項目名」が「科目」であると判断された場合（ステップＳ３２０７：Ｙｅｓ）、制御部２０は、ステップＳ３２１０において、抽出された文字列をキーワードテーブルの「通知文字」に変換する。例えば、抽出された文字列が「（普）」であった場合、「普通」に変換する。
【０１５１】
図２２の説明に戻る。
制御部２０は、ステップＳ２２０４において、認識結果応答と認識結果項目テーブルを返す。
【０１５２】
図７の説明に戻る。
制御部２０は、ステップＳ７０３において、認識結果応答が０の場合、認識結果項目テーブルに基づき、図３４に示すような画面を認識結果表示部２４に表示させて、ステップＳ７０４において、オペレータによる認識結果の修正を受付ける。また、制御部２０は、認識結果応答が１の場合は、「振込先の選択なし、帳票を確認してください」のメッセージを、認識結果応答が２の場合は、「振込先の選択が複数あり、帳票を確認してください」のメッセージを認識結果表示部２４に表示させて、オペレータに帳票の確認を促す。
【０１５３】
制御部２０は、ステップＳ７０５において、オペレータによる修正を含めた認識結果をサーバ４に送信する。サーバ４は、認識結果を登録する。
【０１５４】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用される帳票処理装置は、前述の実施の形態に限定されない。
【０１５５】
前述してきた本発明の実施の形態は、帳票処理装置の一機能としてハードウェアまたはＤＳＰ（Digital Signal Processor）ボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【０１５６】
また、本発明が適用される帳票処理装置は、その機能が実行されるのであれば、前述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【０１５７】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、帳票処理装置に供給し、その帳票処理装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
【０１５８】
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
【０１５９】
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【０１６０】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【０１６１】
さらに、可搬型記録媒体から読み出されたプログラムやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【０１６２】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成又は形状を取ることができる。
【符号の説明】
【０１６３】
１          帳票処理システム
２          画像読取装置
３          帳票処理装置
４          サーバ
２０        制御部
２１        スキャナ制御部
２２        文字認識辞書
２３        文字認識処理部
２４        認識結果表示部
２５        キーワードテーブル
２６        項目位置特定部
３１        画像読取部
３２        文字列認識部
３３        同一行文字列群情報取得部
３４        特定文字列判断部
３５        特定画像テーブル
３６        特定画像判断部
３７        内容項目取得部
３８        罫線抽出部
３９        罫線除去部
２０１      ＣＰＵ（Central Processing Unit）
２０２      入力装置
２０３      出力装置
２０４      ＲＯＭ（Read Only Memory）
２０５      ＲＡＭ（Random Access Memory）
２０６      インターフェース（Ｉ／Ｆ）
２０７      バス
１３０１、１３０２、１３０３、１３０４  文字
１６０１、１６０２、１６０３、１６０４  文字列
２００１    同一行文字列群情報
２８０１、２８０２、２８０３、２８０４  特定画像認識定義領域
【図１】
2018073203.tif 000003
【図２】
2018073203.tif 000004
【図３】
2018073203.tif 000005
【図４】
2018073203.tif 000006
【図５】
2018073203.tif 000007
【図６】
2018073203.tif 000008
【図７】
2018073203.tif 000009
【図８】
2018073203.tif 000010
【図９】
2018073203.tif 000011
【図１０】
2018073203.tif 000012
【図１１】
2018073203.tif 000013
【図１２】
2018073203.tif 000014
【図１３】
2018073203.tif 000015
【図１４】
2018073203.tif 000016
【図１５】
2018073203.tif 000017
【図１６】
2018073203.tif 000018
【図１７】
2018073203.tif 000019
【図１８】
2018073203.tif 000020
【図１９】
2018073203.tif 000021
【図２０】
2018073203.tif 000022
【図２１】
2018073203.tif 000023
【図２２】
2018073203.tif 000024
【図２３】
2018073203.tif 000025
【図２４】
2018073203.tif 000026
【図２５】
2018073203.tif 000027
【図２６】
2018073203.tif 000028
【図２７】
2018073203.tif 000029
【図２８】
2018073203.tif 000030
【図２９】
2018073203.tif 000031
【図３０】
2018073203.tif 000032
【図３１】
2018073203.tif 000033
【図３２】
2018073203.tif 000034
【図３３】
2018073203.tif 000035
【図３４】
2018073203.tif 000036