(57)【特許請求の範囲】
【請求項１】
帳票に記載された文字列を認識する帳票認識装置において、
データの属性を表す文字列である項目名と、前記項目名に対するデータの文字列である項目値を含む帳票画像を入力する画像入力部と、
前記帳票画像から認識された、前記帳票画像内の文字列に対し、該文字列が前記項目値である確率を表す項目値表記スコアを計算する項目値表記スコア計算部と、
前記帳票画像内の文字列に対し、該文字列が予め登録された詳細な項目値を示す項目値単語である確率を表す項目値単語スコアを計算する項目値単語スコア計算部と、
前記項目値表記スコアと前記項目値単語スコアの両方を含むスコアを項目値スコア（Ｓｖ）とし、前記項目値スコアが予め定められた閾値より高い文字列を項目値候補として選択し、選択された項目値候補に対する項目値候補スコア（Ｓｃ）として前記項目値スコア（Ｓｖ）を与える項目値候補選択部と、
前記帳票画像内の前記項目値候補の文字列ペアに対し、前記帳票画像内において互いに関係する複数の属性の項目値の組合せを項目値グループとした場合に、該文字列ペアの配置関係が各項目値グループの項目値として妥当であるか否かを表す項目値候補配置スコア（Ｓｃａ）を計算する項目値候補配置スコア計算部と、
前記帳票画像内の項目値候補の文字列ペアに対し、前記項目値スコア（Ｓｖ）、前記項目値候補配置スコア（Ｓｃａ）を基に、前記文字列ペアが前記項目値グループの項目値としての尤もらしさを表す評価値である項目値候補ペアスコア（Ｓｃｐ）を計算する項目値候補ペアスコア計算部と、
前記項目値候補ペアスコア（Ｓｃｐ）により、前記帳票画像内の文字列と前記項目値グループとの対応付けを評価することで項目値の文字列を認識する項目値グループ評価部と、
前記帳票画像内の文字列の認識結果を出力する出力部と、
前記帳票画像から、前記帳票画像内の文字列や枠を抽出するレイアウト解析部と、
前記項目値グループ評価部による前記項目値候補ペアスコア（Ｓｃｐ）の前記評価の結果に基づいて検出された項目値グループを構成する文字列の配置関係を評価し、更に、前記配置関係に基づいて、前記文字列の項目値候補としての確からしさのスコアを修正するスコア修正部と
を備え、
前記項目値候補配置スコア計算部は、修正された前記スコアに基づいて、該文字列の配置関係が各前記項目値グループの項目値として妥当であるか否かを評価する
ことを特徴とする帳票認識装置。
【請求項２】
請求項１に記載の帳票認識装置において、
前記帳票画像内の文字列に対し、該文字列が項目値に比較的頻出する項目値キーワードである確率を表す項目値キーワードスコアを計算し、計算された前記項目値キーワードスコアが閾値より大きい文字列を項目値キーワードとして検出する項目値キーワード検出部と、
前記項目値表記スコアと前記項目値キーワードスコアを用いて、項目値の単語を検出する際の対象文字列を選択する項目値単語照合対象文字列選択部と
を更に有し、
前記項目値単語スコア計算部は、前記項目値単語照合対象文字列選択部で選択された文字列に対し、前記項目値単語スコアを計算する
ことを特徴とする帳票認識装置。
【請求項３】
請求項２に記載の帳票認識装置において、
前記帳票画像内の文字列に対し、該文字列が項目名である確率を表す項目名スコア（Ｓｎ）を計算する項目名スコア計算部と、
前記項目名スコア（Ｓｎ）と前記項目値単語スコアの両方を含むスコアを前記項目値スコア（Ｓｖ）とし、前記帳票画像内の文字列ペアに対し、該文字列ペアの配置関係が項目名−項目値関係として妥当であるか否かを表す項目名−項目値配置スコア（Ｓａ）を計算する項目名−項目値配置スコア計算部と、
前記項目名スコア（Ｓｎ）、前記項目値スコア（Ｓｖ）、前記項目名−項目値配置スコア（Ｓａ）を基に、該文字列ペアの項目名−項目値としての尤もらしさを表す評価値である項目名−項目値ペアスコア（Ｓｐ）を計算する項目名−項目値ペアスコア計算部と、
前記項目名−項目値ペアスコア計算部の出力する前記項目名−項目値ペアスコア（Ｓｐ）により、前記帳票画像内での項目名−項目値関係の対応付けを決定する項目名−項目値ペア検出部と
を更に有し、
前記項目値候補選択部は、前記項目値スコア（Ｓｖ）が高い文字列と、前記項目名−項目値ペアスコア（Ｓｐ）が高い文字列のペアを項目値候補として選択する
ことを特徴とする帳票認識装置。
【請求項４】
請求項１に記載の帳票認識装置において、
前記帳票画像内の文字列に対し、該文字列が項目名である確率を表す項目名スコア（Ｓｎ）を計算する項目名スコア計算部と、
前記項目名スコア（Ｓｎ）と前記項目値単語スコアの両方を含むスコアを前記項目値スコア（Ｓｖ）とし、前記帳票画像内の文字列ペアに対し、該文字列ペアの配置関係が項目名−項目値関係として妥当であるかを表す項目名−項目値配置スコア（Ｓａ）を計算する項目名−項目値配置スコア計算部と、
前記項目名スコア（Ｓｎ）、前記項目値スコア（Ｓｖ）、前記項目名−項目値配置スコア（Ｓａ）を基に、該文字列ペアの項目名−項目値としての尤もらしさを表す評価値である項目名−項目値ペアスコア（Ｓｐ）を計算する項目名−項目値ペアスコア計算部と、
前記項目名−項目値ペアスコア計算部の出力する前記項目名−項目値ペアスコア（Ｓｐ）により、前記帳票画像内での項目名−項目値関係の対応付けを決定する項目名−項目値ペア検出部と
を更に有し、
前記項目値候補選択部は、前記項目値スコア（Ｓｖ）が高い文字列と、前記項目名−項目値ペアスコア（Ｓｐ）が高い文字列のペアを項目値候補として選択する
ことを特徴とする帳票認識装置。
【請求項５】
請求項１に記載の帳票認識装置において、
前記項目値候補ペアスコア計算部は、前記項目値候補スコア（Ｓｃ）が高い項目値候補の文字列をノードとし、項目値候補同士のリンクのスコアを前記項目値候補配置スコア（Ｓｃａ）とするネットワークを作成し、前記項目値候補スコア（Ｓｃ）及び前記項目値候補配置スコア（Ｓｃａ）により前記項目値候補ペアスコア（Ｓｃｐ）を計算し、
前記項目値グループ評価部は、前記ネットワーク内で２つの文字列間の前記項目値候補ペアスコア（Ｓｃｐ）が高いパスを選択することにより、前記帳票画像内の文字列と項目値グループとの対応付けを評価することで項目値の文字列を決定する
ことを特徴とする帳票認識装置。
【請求項６】
請求項３に記載の帳票認識装置において、
項目名となりうる単語のリストである項目名辞書を更に有し、
前記項目名スコア計算部は、帳票画像内の文字列と前記項目名辞書を照合し、前記項目名スコア（Ｓｎ）を計算する
ことを特徴とする帳票認識装置。
【請求項７】
請求項１に記載の帳票認識装置において、
文字列の数字又は記号の表記ルールのリストである項目値表記辞書を更に有し、
前記項目値表記スコア計算部は、帳票画像内の文字列と前記項目値表記辞書を照合し、前記項目値表記スコアを計算する
ことを特徴とする帳票認識装置。
【請求項８】
請求項２に記載の帳票認識装置において、
属性に応じて記載されるキーワードである項目値キーワードのリストである項目値キーワード辞書を更に有し、
前記項目値キーワード検出部は、帳票画像内の文字列と前記項目値キーワード辞書との照合を行い、前記項目値キーワードスコアを計算する
ことを特徴とする帳票認識装置。
【請求項９】
請求項２に記載の帳票認識装置において、
前記項目値単語照合対象文字列選択部は、項目値グループの文字列は互いに近接した範囲に記載されているという条件に従い、抽出済みの文字列を利用して項目値単語照合処理の対象となる文字列を選択する
ことを特徴とする帳票認識装置。
【請求項１０】
請求項１に記載の帳票認識装置において、
事前に登録した項目値の単語リストである項目値単語辞書を更に有し、
前記項目値単語スコア計算部は、選択された文字列と前記項目値単語辞書を照合し、前記項目値単語スコアを計算する
ことを特徴とする帳票認識装置。
【請求項１１】
請求項３に記載の帳票認識装置において、
前記項目名−項目値配置スコア計算部は、前記項目名−項目値配置スコア（Ｓａ）を、該項目名−項目値配置スコアが取り得る値の最大値で初期化し、文字列ペアをなす２つの文字列の配置関係が項目名−項目値関係として非妥当であると判断できる配置パターンをペナルティルールとして定義し、初期値からペナルティルールによって得られたペナルティ値を減算した値として計算する
ことを特徴とする帳票認識装置。
【請求項１２】
請求項３に記載の帳票認識装置において、
前記項目値候補選択部は、項目値候補を、前記項目値表記スコアが閾値以上の項目値表記文字列、前記項目値単語スコアが閾値以上の項目値単語文字列、前記項目名−項目値ペアスコア（Ｓｐ）が閾値以上の項目名−項目値ペアとし、項目値候補スコア（Ｓｃ）を、項目名−項目値ペアスコア、項目値単語スコア、項目値表記スコア、の順にいずれかを選択して求める
ことを特徴とする帳票認識装置。
【請求項１３】
請求項１に記載の帳票認識装置において、
事前に登録した項目値の単語リストである項目値単語辞書は、項目名に予め優先度が設定され、第１優先度の項目名の項目値ごとに第２優先度の項目名の項目値のリストを設け、
前記項目値単語スコア計算部は、優先度が設定された前記項目値単語辞書を参照して、優先度の順に項目値単語照合を行って各優先度の項目値の候補を絞る
ことを特徴とする帳票認識装置。
【請求項１４】
帳票に記載された文字列を制御部によって認識する帳票認識方法であって、
前記制御部が、データの属性を表す文字列である項目名と、項目名に対するデータの文字列を含む帳票画像を記憶部に入力する処理と、
前記制御部が、前記帳票画像から認識した文字列に対し、該文字列が項目値である確率を表す項目値表記スコアを計算する処理と、
前記制御部が、前記帳票画像から認識した文字列に対し、該文字列が予め登録された詳細な項目値を示す項目値単語である確率を表す項目値単語スコアを計算する処理と、
前記制御部が、前記項目値表記スコアと前記項目値単語スコアの両方を含むスコアを項目値スコア（Ｓｖ）とし、前記項目値スコアが予め定められた閾値より高い文字列を項目値候補として選択し、前記項目値スコア（Ｓｖ）を項目値候補スコア（Ｓｃ）とする処理と、
前記制御部が、前記帳票画像内の前記項目値候補の文字列ペアに対し、前記帳票画像内において互いに関係する複数の属性の項目値の組合せを項目値グループとした場合に、該文字列ペアの配置関係が各前記項目値グループの項目値として妥当であるかを表す項目値候補配置スコア（Ｓｃａ）を計算する処理と、
前記制御部が、前記帳票画像内の項目値候補の文字列ペアに対し、前記項目値スコア（Ｓｖ）、前記項目値候補配置スコア（Ｓｃａ）を基に、前記文字列ペアが前記項目値グループの項目値としての尤もらしさを表す評価値である項目値候補ペアスコア（Ｓｃｐ）を計算する処理と、
前記制御部が、前記項目値候補ペアスコア（Ｓｃｐ）により、前記帳票画像内の文字列と前記項目値グループとの対応付けを評価することで項目値の文字列を認識する処理と、
前記制御部が、前記帳票画像内の文字列の認識結果を出力する処理と
前記制御部が、前記帳票画像から、前記帳票画像内の文字列や枠を抽出する処理と、
前記制御部が、前記項目値候補ペアスコア（Ｓｃｐ）の前記評価の結果に基づいて検出された項目値グループを構成する文字列の配置関係を評価し、更に、前記配置関係に基づいて、前記文字列の項目値候補としての確からしさのスコアを修正する処理と、
前記制御部が、修正された前記スコアに基づいて、該文字列の配置関係が各前記項目値グループの項目値として妥当であるか否かを評価する処理と、
を実行することを特徴とする帳票認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、様々な様式の帳票を認識する技術に関する。
【背景技術】
【０００２】
従来の帳票認識装置は、帳票画像上における読取対象文字列の記載位置とその属性を登録した「帳票定義」を用い、読取対象文字列の読み取りとその属性の認識を行っている。なお、帳票定義は、ユーザによって事前に、帳票認識装置に登録される。従来の帳票認識装置の代表例には、光学式文字認識装置（ＯＣＲ）がある。
【０００３】
従来技術は、処理対象である帳票のレイアウト（すなわち、文字列の記載位置、枠の記載位置、枠の配置）が統一されており、かつ、帳票画像上における読取対象文字列の記載位置が固定であることを前提としている。しかし、現実には、多種レイアウトが混在する帳票処理業務や、処理対象とする帳票のレイアウトが未知である帳票処理業務が存在する。
【０００４】
多種レイアウトとは、例えば読取対象文字列の記載位置が帳票ごとに異なる場合を意味する。多種レイアウトを従来装置で扱うためには、帳票ごとに帳票定義を作成しておく必要がある。ところが、業務分野によっては、帳票レイアウトの種類が数万種類に及ぶことがある。この場合、帳票定義の作成コストが膨大になるため、従来装置を利用することができない。
【０００５】
帳票定義を用いずに、多種レイアウトの帳票を認識するための技術として、例えば特許文献１に開示の技術がある。特許文献１には、「帳票認識装置において、帳票画像から文字列領域を検出し（Ｓ１２０）、検出された文字列に対し、項目名らしさを表す項目名尤度と、項目値らしさを表す項目値尤度を計算し（Ｓ１４０，Ｓ１５０）、検出された前記文字列の組み合わせからなる文字列ペアに対し、前記文字列ペアの配置関係の項目名−項目値関係としての妥当さを表す配置尤度を計算し（Ｓ１６０）、項目名尤度、前記項目値尤度、配置尤度の値から、項目名−項目値関係の評価値を計算し（Ｓ１７０）、帳票画像内の項目名−項目値関係を決定する（Ｓ１８０）。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２４８６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１の方式では、項目名と項目値のペアの検出を必須とするため、項目名が記載されていない場合には項目値を正しく抽出することはできないという技術上の課題がある。ここで、項目名とはデータの属性を表す文字列であり、項目値とは項目名に対するデータの文字列である。
【０００８】
図１に示す帳票画像の例を用い、従来技術の技術上の課題を説明する。ここでは、帳票例１００から「銀行」、「支店」、「預金種別」、「口座番号」で与えられる各項目名に対する項目値を抽出する場合を考える。帳票例１００の場合、これら４つの項目名と対応する項目値が記載されているため、項目名と項目値のペアを抽出することで４つの項目値を抽出することができる。しかし、帳票例１０１には「支店」と「預金種別」の項目名の記載がないため「ＹＹＹ支店」と「普通」を抽出することが難しい。
【０００９】
そこで、発明者は、多種レイアウトの帳票が混在する帳票処理業務において、厳密な帳票定義なしに帳票を認識することができる仕組みの提供を技術課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本明細書は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、以下の（１）〜（８）に示す処理部を有する帳票認識装置である。なお、当該帳票認識装置は、コンピュータその他の装置を用いて実行される帳票認識方法としても実現される。
【００１１】
（１）画像入力部
画像入力部は、データの属性を表す文字列である項目名と、項目名に対するデータの文字列である項目値を含む帳票画像を入力する。
（２）項目値表記スコア計算部
項目値表記スコア計算部は、前記帳票画像から認識された、前記帳票画像内の文字列に対し、該文字列が項目値である確率を表す項目値表記スコアを計算する。
（３）項目値単語スコア計算部
項目値単語スコア計算部は、前記帳票画像内の文字列に対し、該文字列が予め登録された詳細な項目値を示す項目値単語である確率を表す項目値単語スコアを計算する。
（４）項目値候補選択部
項目値候補選択部は、前記項目値表記スコアと前記項目値単語スコアの両方を含むスコアを項目値スコア（Ｓｖ）とし、前記項目値スコアが予め定められた閾値より高い文字列を項目値候補として選択し、選択された項目値候補に対する項目値候補スコア（Ｓｃ）として前記項目値スコア（Ｓｖ）を与える。
（５）項目値候補配置スコア計算部
項目値候補配置スコア計算部は、前記帳票画像内の前記項目値候補の文字列ペアに対し、前記帳票画像内において互いに関係する複数の属性の項目値の組合せを項目値グループとした場合に、該文字列ペアの配置関係が各項目値グループの項目値として妥当であるか否かを表す項目値候補配置スコア（Ｓｃａ）を計算する。
（６）項目値候補ペアスコア計算部
項目値候補ペアスコア計算部は、前記帳票画像内の項目値候補の文字列ペアに対し、前記項目値スコア（Ｓｖ）、前記項目値候補配置スコア（Ｓｃａ）を基に、前記文字列ペアが前記項目値グループの項目値としての尤もらしさを表す評価値である項目値候補ペアスコア（Ｓｃｐ）を計算する。
（７）項目値グループ評価部
項目値グループ評価部は、前記項目値候補ペアスコア（Ｓｃｐ）により、前記帳票画像内の文字列と前記項目値グループとの対応付けを評価することで項目値の文字列を認識する。
（８）出力部
出力部は、前記帳票画像内の文字列の認識結果を出力する。認識結果の出力先には、記憶部も含まれる。
【発明の効果】
【００１２】
本発明によれば、多種レイアウトの帳票が混在する帳票処理業務において、厳密な帳票定義なしに帳票を認識することができる。前述した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】多種レイアウトの帳票例を説明する図。
【図２】帳票認識装置の構成例を示す図。
【図３】帳票認識処理１及び２の概要を説明するフローチャート。
【図４】帳票認識処理３及び４の概要を説明するフローチャート。
【図５】制御部の機能構成例を示す図。
【図６】入力対象とする帳票画像の一例を示す図。
【図７】文字列認識結果と辞書との照合処理の概略を示す図。
【図８】項目名表記辞書、項目値表記辞書、項目値キーワード辞書、項目値単語辞書の例を示す図。
【図９】項目名スコアを格納するテーブル例と項目値表記スコアを格納するテーブル例を示す図。
【図１０】帳票画像から抽出された項目名文字列、項目値表記文字列、項目値キーワード文字列を示す図。
【図１１】項目値単語照合対象の文字列を選択する際に利用するスコア計算手法の例と各セルに対する重み付の例を示す図。
【図１２】スコアの計算結果を示す図。
【図１３】スコアの計算結果を示す図。
【図１４】スコアの計算結果を示す図。
【図１５】項目値スコアを格納するテーブルを示す図。
【図１６】項目値スコアから選択された項目値表記文字列及び項目値単語文字列を示す図。
【図１７】配置スコアの計算に使用するペナルティルールの例を示す図。
【図１８】項目名−項目値ペアスコアから選択された項目名―項目値ペアを示す図。
【図１９】項目名−項目値ペアと単独で存在する項目値の抽出例を示す図。
【図２０】項目値候補の認識結果格納テーブルを示す図。
【図２１】項目値候補配置スコアのペナルティ定義の例を示す図。
【図２２】項目値候補配置スコアの計算例を示す図。
【図２３】項目値候補配置スコアを用いた項目値グループのネットワーク表現の概略と項目値候補ペアスコアを用いた項目値グループのネットワーク表現の概略を示す図。
【図２４】項目値候補ペアスコアテーブルと項目値グループ評価結果を示す図。
【図２５】項目値グループ評価結果と認識結果を示す図。
【図２６】認識結果の表示画面例を示す図。
【図２７】項目値候補ペアスコアを用いた項目値グループのネットワーク表現の概略を示す図。
【図２８】帳票画像に複数の項目値グループが含まれる例と、項目値グループのネットワーク表現の概略を示す図。
【図２９】図２８（Ａ）に示す項目値グループのネットワーク表現の概略を示す図。
【図３０】帳票認識処理６の概要を説明するフローチャート。
【図３１】項目値配置の整列性評価処理を説明するフローチャート。
【図３２】文字列間の整列性判定の例と全ての項目値文字列の外接矩形領域内に他の文字列が存在しないか否かを判定する例を示す図。
【図３３】項目値グループを求める際のネットワークのデータテーブルの例を示す図。
【図３４】項目値グループの出力結果のデータテーブルの例を示す図。
【図３５】帳票認識処理６における複数グループ間の配置規則性評価処理を説明するフローチャート。
【図３６】図２８（Ａ）の帳票画像に対する項目値グループのネットワークにおける配置スコアと、図２８（Ａ）の帳票画像に対する項目値グループのネットワークに規則性があるリンクと規則性がないリンクを示す図。
【図３７】配置スコアのベクトルとベクトル間の距離を示す図。
【図３８】項目値グループの配置を指定する表示画面の例を示す図。
【図３９】認識対象領域を限定する表示画面の例を示す図。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本発明の実施形態を説明する。なお、本発明の実施態様は、後述する形態例に限定されるものではなく、その技術思想の範囲において、種々の変形が可能である。まず、各実施形態の概要を説明する。
【００１５】
Ａ．概要
各実施形態に係る装置は、多種レイアウトが混在する帳票群から、それらの帳票定義を使用することなく、読取対象文字列の読取および当該文字列の属性の認識が可能な機能を備えている。また、各実施形態に係る装置は、読取対象とする項目名が記載されていない帳票が処理対象の場合でも、読取対象の項目名に対応する属性の認識が可能な機能も備えている。
【００１６】
これらの機能の実現のため、各装置は、互いに関係する複数の項目値の組合せを「項目値グループ」とし、その属性の組合せを予め指定する。また、各装置は、帳票上の複数の文字列と項目値グループとの照合を通じ、各項目値に該当する文字列を判定する。各実施形態において、「項目名」とは、例えばデータの属性を表す文字列である。「項目値」とは、例えば項目名に対するデータの文字列である。図１の例の場合、項目値グループを構成する属性は「銀行」、「支店」、「口座種別」、「口座番号」の４項目であり、それぞれの項目値は「ＸＸＸ銀行」、「ＹＹＹ支店」、「普通」、「１２３４５６７」である。
【００１７】
これらの機能の実現には、帳票画像から抽出された文字列から項目値グループを特定する処理が必要である。そこで、各装置は、帳票画像内の全文字列、又は、一部の文字列（例えば予め定められた範囲の文字列、予め定められた個数の文字列）に対し、当該文字列が項目値である確率に相当する項目値スコアを計算し、項目値スコアが既定の値を超えたものを各属性における項目値の候補とする（以下「項目値候補」と記載する）。次に、各装置は、属性の異なる２つの項目値候補の配置関係が妥当であるか否かを評価する評価尺度である項目値候補配置スコアを計算する。さらに、全ての項目値スコアと項目値候補配置スコアを評価することにより、項目値グループを構成する文字列を決定する。
【００１８】
具体的には、以下の処理手順（１）〜（６）により、各装置は、帳票内の項目値グループの文字列を決定する。
（１）処理１
全ての文字列内の文字を識別し、文字の確からしさを表す文字スコアを計算する。
（２）処理２
項目値のうち、「ＸＸＸ銀行」や「普通」などの単語で記載されるものについては、ユーザが事前に登録した項目値の単語リストである項目値単語辞書内の項目値単語と、帳票画像内の文字列とを照合し、項目値単語辞書内の全ての項目値単語と、帳票画像内の全文字列との組み合わせに対して、「項目値単語スコア」を計算する。
（３）処理３
項目値のうち、日付や、金額、口座番号などの汎用的に利用できる文法表記ルールによって記載されるものについては、ユーザが事前に文法表記ルールを定義した項目値表記辞書内の項目値表記と、帳票画像内の文字列とを照合し、項目値表記辞書内の全ての又は予め定められた項目値表記と、帳票画像内の全文字列との組み合わせに対して、「項目値表記スコア」を計算する。
（４）処理４
前記（２）と（３）の結果から、項目値単語辞書を定義した属性については項目値単語スコアを、項目値表記辞書を定義した属性については項目値表記スコアを「項目値候補スコア」とする。この値が閾値を超える文字列を「項目値候補」とする。
（５）処理５
２つの項目値の配置関係が項目値グループ内の文字列として妥当な配置関係であるかを評価するルールを用いて、属性の異なる２つの項目値候補の組み合わせからなる全ての項目値候補ペアに対して、「項目値候補配置スコア」を計算する。
（６）処理６
項目値単語スコア、項目値表記スコア、項目値候補配置スコアを基に、全ての項目値候補ペアに対して、当該項目値候補ペアが項目値グループ内で妥当な関係にあるかを表す評価値を計算し、前記評価値を基に帳票画像内から項目値グループ内の各項目値に相当する文字列を抽出する。
【００１９】
前記機能を実現するため、入力された帳票画像から文字列を認識する帳票認識装置の１つには、以下の（１）〜（８）に示す処理部を搭載する。
（１）文字列検出部
文字列検出部は、前記帳票画像から文字列領域を検出する。
（２）文字列認識部
文字列認識部は、前記文字列領域の個々の文字を認識する。
（３）項目値表記スコア計算部
項目値表記スコア計算部は、帳票画像内の文字列に対し、当該文字列が項目値の表記である確率を表す項目値表記スコアを計算する。
（４）項目値単語スコア計算部
項目値単語スコア計算部は、帳票画像内の文字列に対し、当該文字列が項目値の単語である確率を表す項目値単語スコアを計算する。
（５）項目値候補選択部
項目値候補選択部は、項目値表記スコアと項目値単語スコアの両方を項目値スコアとし、項目値スコアが高い文字列を項目値候補として選択する。
（６）項目値候補配置スコア計算部
項目値候補配置スコア計算部は、帳票画像内の項目値候補の文字列ペアに対し、帳票内において互いに関係する複数の属性の項目値の組合せを項目値グループとした場合に、当該文字列ペアの配置関係が項目値グループの項目値として妥当であるか否かを表す項目値候補配置スコアを計算する。
（７）項目値候補ペアスコア計算部
項目値候補ペアスコア計算部は、帳票画像内の項目値候補の文字列ペアに対し、前記項目値スコア、項目値配置スコアを基に、当該文字列ペアが項目値グループの項目値としての尤もらしさを表す評価値を計算する。
（８）項目値グループ評価部
項目値グループ評価部は、前記項目値候補ペアスコアにより、帳票画像内の文字列と項目値グループとの対応付けを評価ことで項目値の文字列を決定する。
【００２０】
Ｂ．装置例
図２に、各実施形態に係る帳票認識装置のハードウェア構成例を示す。例えば帳票認識装置２００は、操作部２１０と、表示部２２０と、画像入力部２３０と、記憶部２４０と、制御部２５０と、インターフェース（ＩＦ）２６０とを備えるコンピュータとして実現される。操作部２１０は、ユーザが数字や文字の入力操作を行う際に利用するキーボード、スキャンの開始を指示するためのボタン等を含む。表示部２２０は、入力画像や認識結果等を表示する液晶ディスプレイその他の表示装置である。画像入力部２３０は、フラットベッドスキャナ、オートシートフィーダ付きスキャナ、ＣＣＤ（Charge Coupled Device）等の撮像素子を用いて画像を撮像するデジタルカメラ等である。もっとも、入力画像には、画像入力部２３０から取り込まれる画像データの他、記憶部２４０に記録されている画像データを用いても良い。記憶部２４０は、メモリやハードディスク装置等からなる記憶デバイスであり、画像入力部２３０から取り込まれた画像、各種内部処理用のプログラム、各種設定データを記憶する。また、記憶部２４０には、文字識別辞書、項目値単語辞書、項目値表記辞書等も記憶される。制御部２５０は、文字列の検出や認識、項目値グループの解析を行う帳票認識や装置全体の制御を行う。ＩＦ２６０は、他の装置とデータを入出力する。
【００２１】
Ｃ．帳票認識処理例（概略動作）
以下、図３及び図４を用い、制御部２５０において実行される帳票認識処理１〜４の概要を説明する。
（帳票認識処理１）
図３（Ａ）に、制御部２５０において実行される帳票認識処理１の概略を示す。
・ステップ３０５
制御部２５０は、画像入力部２３０を通じて帳票画像を入力する。
・ステップ３１０
制御部２５０は、入力された帳票画像から枠（セル）を検出する。
・ステップ３１５
制御部２５０は、帳票画像から文字列領域を検出する。文字列領域とは、ある１つの文字列を含む矩形領域である。ステップ３１０及び３１５の具体例には、例えば特開平１１−５３４６６号公報に記載の技術がある。当該技術では、帳票画像から縦と横の罫線を抽出した後、２本の罫線の交点を抽出し、更に、交点の形状と配置関係に基づいて矩形枠の四隅に相当する右上角、左上角、右下角、左下角を検出することにより帳票画像内から枠を検出し、更に、検出された枠の内外の文字列領域を検出する。
【００２２】
・ステップ３２０
制御部２５０は、前記のステップ３１５で検出された文字列領域を個々の文字領域に分割し、個々の文字領域のパターンを、文字識別辞書を用いて識別する。この文字識別の具体例には、例えばF.Kimura et. al. “Modified quadratic discriminant functions and the application to chinese character recognition” IEEETransaction on Pattern Analysis and Machine Intelligence、 vol.9、 pp.149-153に記載の技術（改良型投影距離：MQDF）がある。当該技術では、大量の文字パターンを用いて文字識別辞書を作成する際にベイズの定理から導かれる距離尺度である識別関数を文字カテゴリ毎に導出し、入力された文字パターンを識別する際には、識別関数の出力する値に基づいて文字カテゴリに分類することで、個々の文字を識別する。
【００２３】
・ステップ３２５
制御部２５０は、ステップ３２０において認識された文字列の認識結果毎に、項目値表記辞書と照合し、当該文字列が項目値表記辞書に登録された文字列の文法表記ルールとの一致度を表す項目値表記スコアを計算する。当該ステップの処理動作の詳細は後述する。
・ステップ３３０
制御部２５０は、ステップ３２０において認識された文字列の認識結果毎に、項目値単語辞書と照合し、当該文字列が項目値単語辞書に登録された単語である確率を表す項目値単語スコアを計算する。当該ステップの処理動作の詳細は後述する。なお、ステップ３２５とステップ３３０はどちらを先に実行しても構わない。
・ステップ３３５
制御部２５０は、ステップ３２５で計算された項目値表記スコアとステップ３３０で計算された項目値単語スコアが共に閾値を超えた文字列を項目値候補として選定する。当該ステップの処理動作の詳細は後述する。
【００２４】
・ステップ３４０
制御部２５０は、ステップ３３５で選定された項目値候補に対し、互いに属性が異なる２つの項目値候補の配置関係の妥当さを表す項目値候補配置スコアを計算する。項目値候補配置スコアは、２つの文字列が属する枠の配置関係や、２つの文字列の配置関係に基づいて計算される。当該ステップの処理動作の詳細は後述する。
・ステップ３４５
制御部２５０は、ステップ３２５で計算された項目値表記スコア、ステップ３３０で計算された項目値単語スコア、ステップ３４０で計算された項目値候補配置スコアに基づいて、各スコアの数値から２つの項目値候補のペアが項目値グループの一部としての妥当さを表す項目値候補ペアスコアを計算する。項目値候補ペアスコアの計算には、例えば「項目値表記スコア」、「項目値単語スコア」、「項目値候補配置スコア」を代入することで評価値を出力する評価関数を用いる方法などがある。当該ステップの処理動作の詳細は後述する。
【００２５】
・ステップ３５０
制御部２５０は、ステップ３４５で計算された評価値に基づいて、帳票画像内での項目値候補から項目値グループを構成する文字列を決定する。制御部２５０は、例えば、項目値グループを構成する全ての属性を満たす項目値候補ペアの組合せ（例えば「銀行−支店ペア」、「支店−口座種別ペア」、「口座種別−口座番号ペア」の組合せ）のうち、項目値候補ペアスコアの総和が最大となるものを選択する。もしくは、制御部２５０は、項目値候補ペアスコアがある閾値以上となる組合せを選択する。項目値候補ペアの組合せを決定することにより、文字列の認識結果および該文字列の属性が決定される。当該ステップの処理動作の詳細は後述する。
・ステップ３５５
制御部２５０は、ステップ３４５までの処理で求めた認識結果や途中結果を記憶部２４０に記憶し、表示部２２０、及び／又はＩＦ２６０に出力する。なお、制御部２５０は、別のタイミングで認識結果や途中結果を記憶部２４０から読み出し、表示部２２０及び／又はＩＦ２６０に出力してもよい。
【００２６】
以上のように、本認識処理によれば、帳票画像に項目名が記載されていなくても、認識対象である項目名に対応する項目値を抽出することができる。また、認識処理によれば、辞書の作成コストを極力少なく、かつ、様々なレイアウトの帳票に対しても、汎用性高く認識できる帳票認識方式を提供することができる。
【００２７】
（帳票認識処理２）
図３（Ｂ）に、制御部２５０において実行される帳票認識処理２の概略を示す。なお、図３（Ｂ）には、図３（Ａ）との共通部分に同一の符号を付して示している。前述した帳票認識処理１との違いは、項目値表記スコア計算処理（ステップ３２５）と項目値単語スコア計算処理（ステップ３３０）の間に、項目値キーワード検出処理（ステップ３６０）と項目値単語照合対象文字列選択処理（ステップ３６５）が追加されている点である。追加された２つの処理は、項目値単語照合の処理時間の削減を目的とする。例えば、銀行名の属性の項目値単語は非常に多いため、帳票中の全ての文字列に対して照合処理を行うと処理時間がかかる。これに対し、銀行名は「ＸＸＸ銀行」、「ＡＡＡ信用金庫」など、「銀行」や「信用金庫」などの属性に応じて記載されるキーワード（以降、「項目値キーワード」と記載する）が存在する。しかも、項目値キーワードの単語数は項目値単語よりも少ないため、まず項目値キーワードを検出して項目値単語が記載される領域を推定し、その領域内についてのみ項目値単語を照合する。
【００２８】
・ステップ３６０
制御部２５０は、ステップ３２０において認識された各文字列の認識結果を、項目値キーワード辞書と照合し、当該文字列が項目値キーワード辞書に登録されたキーワード単語である確率を表す項目値キーワードスコアを計算し、スコアが閾値以上の文字列を項目値キーワードであると判定する。当該ステップの処理動作の詳細は後述する。
・ステップ３６５
制御部２５０は、ステップ３６０において項目値キーワードと判定された文字列の周囲の文字列を項目値単語照合の候補として選択する。選択方法には、項目値キーワードが照合された文字列を基準として、その基準文字列の上下左右方向で閾値以内の距離にある文字列を選択する方法、基準文字列を含む枠の上下左右方向に基準以内の枠内の文字列を選択する方法などがある。当該ステップの処理動作の詳細は後述する。
【００２９】
なお、ステップ３２５と、ステップ３６０−ステップ３６５−ステップ３３０に示す一連の処理とは、いずれを先に実行してもかまわない。以上のように、本認識処理によれば、前述した帳票認識処理１の効果に加え、項目値単語照合の処理時間の削減を実現できる。
【００３０】
（帳票認識処理３）
図４（Ａ）に、制御部２５０において実行される帳票認識処理３の概要を示す。なお、図４（Ａ）には、図３（Ａ）及び（Ｂ）との共通部分に同一の符号を付して示している。前述した帳票認識処理２との違いは、項目名スコア処理（ステップ３７０）、項目名−項目値配置スコア計算処理（ステップ３７５）、項目名−項目値ペアスコア計算処理（ステップ３８０）、項目名−項目値ペア検出処理（ステップ３８５）が追加されている点と、ステップ３３５が項目値候補選択処理（ステップ３９０）に変更されている点である。これらの処理は、項目名が記載されている項目値の認識率を向上させることを目的としている。例えば帳票画像のノイズやかすれなどの悪影響により、文字列認識誤りが発生し、項目値表記スコアや項目値単語スコアが低い値になることがある。このような事象が発生した場合、前述したステップ３３５（項目値候補選択処理）では、項目値の文字列のスコアが低くなる場合や選択できない場合があり、結果的に、後段の処理で正しく項目値グループを決定できない可能性がある。
【００３１】
本認識処理では、この技術課題を、項目名と項目値のペアを求めることで対応する。なお、当該処理には、例えば特開２０１１−２４８６０９号公報に記載された技術を利用できる。当該技術では、項目名と項目値の両方を評価するため、仮に項目値のスコアが低い場合でも、項目名のスコアにより項目名―項目値ペアを抽出することができる。ところで、本認識処理では、項目値だけでなく項目名―項目値ペアも項目値候補とする。
【００３２】
・ステップ３７０
制御部２５０は、ステップ３２０で認識された各文字列の認識結果を、項目名となりうる単語のリストである「項目名辞書」と照合し、当該文字列が項目名辞書に登録された単語である確率を表す項目名スコアＳｎを計算する。当該ステップの具体例には、例えば特開２０１１−２４８６０９号公報に記載の技術を利用できる。当該ステップの処理動作の詳細は後述する。
・ステップ３７５
制御部２５０は、ステップ３１０で検出された枠の座標およびステップ３１５で検出された文字列領域の座標に基づいて、帳票画像内の文字列ペアをなす２つの文字列間の配置に対して、項目名−項目値関係としての妥当さを表す項目名―項目値配置スコアＳａを計算する。例えば、項目名スコアＳｎと項目値単語スコアの両方を含むスコアを項目値スコアＳｖとし、当該項目値スコアを使用して項目名―項目値配置スコアＳａを計算してもよい。この他、当該処理には、例えば特開２０１１−２４８６０９号公報に記載の技術を利用できる。当該ステップの処理動作の詳細は後述する。
【００３３】
・ステップ３８０
制御部２５０は、ステップ３７０で計算した項目名スコアＳｎと、ステップ３２５で計算した項目値表記スコアと、ステップ３３０で計算した項目値単語スコアと、ステップ３７５で計算された項目名―項目値配置スコアＳａに基づいて、各スコアの数値から２つの文字列の項目名−項目値関係の評価値である項目名−項目値ペアスコアＳｐを計算する。評価値の計算には、例えば「項目名スコア」、「項目値単語スコア」、「項目値表記スコア」、「項目名―項目値配置スコア」を代入することで評価値を出力する評価関数を用いる方法などがある。当該処理には、例えば特開２０１１−２４８６０９号公報に記載の技術を利用できる。当該ステップの処理動作の詳細は後述する。
・ステップ３８５
制御部２５０は、ステップ３８０で計算した項目名―項目値ペアスコアが閾値を超えた場合に、当該文字列の組合せを項目名と項目値のペアであると判定する。当該処理には、例えば特開２０１１−２４８６０９号公報に記載の技術を利用できる。当該ステップの処理動作の詳細は後述する。
・ステップ３９０
制御部２５０は、ステップ３２５で計算した項目値表記スコアと、ステップ３３０で計算した項目値単語スコアが閾値を超えた文字列、および、ステップ３８５で計算した項目名―項目値ペアスコアＳｐが閾値を超えた文字列ペアを項目値候補として選定する。当該処理の詳細は後述する。
【００３４】
なお、ステップ３７０と、ステップ３２５、ステップ３６０−ステップ３６５−ステップ３３０までの一連の処理、ステップ３７５は、いずれを先に実行してもかまわない。以上のように、本認識処理によれば、前述した帳票認識処理２の効果に加え、項目名が記載されている項目値の認識率を向上させることができる。
【００３５】
（帳票認識処理４）
図４（Ｂ）に、制御部２５０において実行される帳票認識処理４の概要を示す。なお、図４（Ｂ）には、図４（Ａ）との共通部分に同一の符号を付して示している。前述した帳票認識処理３との違いは、ステップ３６０とステップ３６５の処理が削除されている点である。すなわち、本認識処理の場合、制御部２５０が、項目値キーワード検出による項目値単語照合の削減を実行しない点で相違する。ちなみに、帳票認識処理１（図３（Ａ））との比較では、ステップ３７０、ステップ３７５、ステップ３８０、ステップ３８５、ステップ３９０が追加されている点で相違する。ここで、ステップ３７０、ステップ３２５、ステップ３３０、ステップ３７５、ステップ３８０は、いずれを先に実行してもかまわない。以上のように、本認識処理によれば、前述した帳票認識処理３に比して、照合処理を簡易化することができる。
【００３６】
Ｄ．帳票認識処理例（詳細動作）
以下では、前述した処理ステップのうち一部処理の詳細動作について説明する。なお、後述する処理機能は、図５に示す機能構成を有する制御部２５０において実行されるものとする。すなわち、制御部２５０は、枠検出部３１０Ａと、文字列検出部３１５Ａと、文字列認識部３２０Ａと、項目名スコア計算部３７０Ａと、項目値表記スコア計算部３２５Ａと、項目値キーワード検出部３６０Ａと、項目値単語照合対象文字列選択部３６５Ａと、項目値単語スコア計算部３３０Ａと、項目名―項目値配置スコア計算部３７５Ａと、項目名―項目値ペアスコア計算部３８０Ａと、項目名―項目値ペア検出部３８５Ａと、項目値候補選択部３３５Ａ（３９０Ａ）と、項目値候補配置スコア計算部３４０Ａと、項目値候補ペアスコア計算部３４５Ａと、項目値グループ評価部３５０Ａと、を有している。図５に示す個々の処理機能部は、前述の帳票認識処理３（図４（Ａ））で実行される各処理に対応している。従って、帳票認識処理１、２、４を実行する制御部２５０では、これらの処理機能部のうち各処理で必要とされる処理機能部だけで構成すれば良い。
【００３７】
図６に、以下の説明で使用する帳票例６００を示す。表６０１は、帳票例６００の各文字列に、Ｓ１０１からＳ１２９までの文字列番号を付けた図である。以降の説明では、表６０１内の文字列番号を参照する。ここでは、項目値グループを構成する読取対象の属性（項目名）が、「銀行」、「支店」、「口座種別」、「口座番号」の４つであるものとする。帳票例６００の場合、「ＸＸＸ銀行」、「ＹＹＹ支店」、「普通」、「１２３４５６７」の項目値文字列を抽出することが正解（目標）となる。図７に、文字列認識結果と辞書との照合処理の概略を示す。文字列認識結果と辞書との照合処理は、図４（Ａ）のステップ３７０、ステップ３２５、ステップ３６０、ステップ３３０に関連する。
【００３８】
・ステップ３２０
まず、制御部２５０（文字列認識部３２０Ａ）は、ステップ３１５で抽出された文字列画像７４０に対し、ステップ７００の文字切出し処理を実行する。この処理の実行により、制御部２５０は、１文字単位の切出し方の候補を全て検出してネットワークで表現した切出し仮説ネットワーク７５０を作成する。次に、制御部２５０は、ステップ７１０において、全ての切出し候補の文字パターンを文字識別する。文字識別結果は、確からしさに応じてスコア付けされた第１位から第Ｎ位（Ｎは任意の数）までの候補を持っている（候補文字ネットワーク７６０）。次の、ステップ７２０（文字列照合）は、ステップ３７０、ステップ３２５、ステップ３６０、ステップ３３０に相当する処理であり、制御部２５０は、ステップ７６０のネットワークに対して予め用意した文字列辞書７３０を照合して認識結果７７０を求める。文字列の照合とは、ネットワーク中の最適なパスを探索する問題とみなすことができる。このため、文字列照合スコアの計算方法として、例えば、文字列照合により求まった文字列パスの切出しパターンの文字識別スコアの平均値を文字列スコアとする方法が利用できる。なお、ネットワークを用いず、文字識別の前に切出し方を一意に決めてから文字識別と照合を行ってもよい。
【００３９】
・ステップ３７０
次に、制御部２５０（項目名スコア計算部３７０Ａ）の動作を、図８（Ａ）及び図９（Ａ）を用いて説明する。図８（Ａ）は、項目名辞書の例であり、図９（Ａ）は、項目名辞書を用いて文字列毎に計算された項目名スコアＳｎを示す項目名スコアテーブルの例である。制御部２５０は、帳票画像内の文字列と項目名辞書とを照合し、項目名スコアＳｎを計算する。項目名スコアの計算には、例えば特開２００４−１７１３１６号公報に記載の技術を利用することができる。図９（Ａ）は、図６に示す帳票画像内の文字列を処理対象として項目名スコアＳｎを計算することで得られる項目名スコアテーブルの例である。この項目名スコアテーブルの場合、制御部２５０は、帳票画像内のＮ個（本実施例の場合、Ｎ＝２９（Ｓ１０１〜Ｓ１２９））の文字列に対し、全ての項目名単語との照合を行い、項目名スコアを計算する。図６に示す帳票画像において、Ｓ１２８の「電話番号」が項目名文字列として検出されるのは、項目名辞書内の「口座番号」や「番号」の単語と照合しているためである。図９（Ａ）の項目名スコアテーブルにおいて、Ｓ１２８の「電話番号」はＳ１１３の「口座番号」と比べて低いスコアとなっていることがわかる。同様に、Ｓ１１７の「口座名」も「口座番号」と照合した結果である。図１０に抽出結果を示す。図１０では、帳票画像内から項目名単語として抽出された「電話番号」、「口座名」、「口座番号」等を実線で囲んで示している。
【００４０】
・ステップ３２５
次に、制御部２５０（項目値表記スコア計算部３２５Ａ）の動作を、図８（Ｂ）及び図９（Ｂ）を用いて説明する。基本的な概念は、前述した項目名スコアの計算処理と同じである。図８（Ｂ）は、項目値表記辞書の例、図９（Ｂ）は、項目値表記スコアテーブルの例である。制御部２５０は、帳票画像内の文字列と項目値表記辞書を照合し、項目値表記スコアを計算する。項目値表記スコアの計算には、例えば、高橋他による「回帰的遷移ネットワークを用いた文字経路探索方式の開発」（電子情報通信学会技術研究報告 Vol.109 No.418 pp.141-146）に記載の技術を利用することができる。因みに、この技術は、個別文字の識別候補をノードと見立てた識別候補文字ネットワークと状態遷移ネットワークで表現した表記辞書のマッチングにより、状態遷移ネットワークから最適な文字列パスを選択し、文字列認識結果を取得する。項目値表記辞書の例として、例えば図８（Ｂ）の項目値表記辞書８００に示すような文字列の表記ルールの正規表現がある。口座番号については、１桁から７桁の数字列の表記が登録されている。口座番号以外の項目値表記辞書の例としては、項目値表記辞書８１０に示す金額や日付などがある。図８（Ｂ）の表記辞書８００を用いて、図６の帳票画像内の文字列に対して項目値表記スコアを計算すると、項目値表記スコアテーブルは図９（Ｂ）のようになる。図９（Ｂ）では、項目値表記辞書には口座番号の属性しか登録されていないため、銀行、支店、口座種別の属性は０となっている。図１０に抽出結果を示す。図１０では、帳票画像内から項目値表記文字列として抽出された「25年12月1日」、「10000円」等を破線で囲んで示している。
【００４１】
・ステップ３６０
次に、制御部２５０（項目値キーワード検出部３６０Ａ）の動作を、図８（Ｃ）を用いて説明する。基本的な概念は、前述した項目名スコアの計算処理と同じである。図８（Ｃ）は、項目値キーワード辞書の例である。制御部２５０は、帳票画像内の文字列と項目値キーワード辞書を照合し、項目値キーワードスコアを計算する。項目値キーワードの計算には、ステップ３７０と同様、特開２００４−１７１３１６号公報に記載の技術を利用することができる。図８（Ｃ）の項目値キーワード辞書を用いて、図６の帳票画像内の文字列に対して項目値キーワードスコアを計算する。図１０に抽出結果を示す。図１０では、帳票画像内から項目値キーワード文字列として抽出された「銀行」、「支店」等を点線で囲んで示している。
【００４２】
・ステップ３６５
次に、制御部２５０（項目値単語照合対象文字列選択部３６５Ａ）の動作を、図１１〜図１４を用いて説明する。制御部２５０は、項目値グループの文字列は互いに近接した範囲に記載されているという前提（条件）に従い、抽出済みの項目名文字列１０００（図１０）、項目値表記文字列１０１０（図１０）、項目値キーワード文字列１０２０（図１０）を利用して、項目値単語照合処理の対象となる文字列を選択する。本例では、項目値表記文字列と項目値キーワード文字列のみを利用してこの処理を行うものとする。本例の場合、制御部２５０は、例えば図１１（Ａ）の表に示すように、照合単語を含む枠とその隣接枠との配置に従って設定した重みを用い、図１１（Ｂ）の表に示すスコア計算を用いることにより実現できる。ここで、隣接する枠とは、枠の辺を共有する枠同士を指す。上側の隣接枠を図１１（Ｃ）の例を用いて説明すると、枠Ｃ１００の上側に隣接する枠はＣ１０１、同様にＣ１０２の上側隣接枠はＣ１０３〜Ｃ１０５、Ｃ１０６の上側隣接枠はＣ１０７からＣ１０９である。他の辺についても同様である。文字列のスコア（Ｓｗ）は、例えば数１や数２を利用することができる。
【００４３】
［数１］
文字列の種類とスコア値（Swi）の例１
0006406932.tif 000002
【００４４】
［数２］
文字列の種類とスコア値（Swi）の例２
0006406932.tif 000003
【００４５】
数１と数２のそれぞれにおいて、３つの式を選択する際には、それぞれ上段の式が優先される。数１では、項目値単語照合の対象となる文字列に近い文字列ほどスコアが高くなるように値を設定している。また、数２のように前段で求めた照合のスコアを乗算することで文字認識結果を考慮することも可能である。
【００４６】
図１２は、前段までに抽出された全ての項目名文字列、項目値表記文字列、項目値キーワード文字列に対して、図１１を用いて枠のスコア計算を行い、枠ごとにスコアの総和を計算した結果である。項目値グループの項目値が記載されている枠とその周辺が高い値になっていることがわかる。項目値単語照合文字列として、例えば図１２のスコアの上位１／２（6.45以上）の枠内の文字列を選択することができる。図１２において濃い網掛け部分が選択した枠である。さらに、この範囲では適切に全ての項目値をカバーできない場合を想定して、選択された枠を上下左右に所定の範囲拡大した薄い網掛け部分の枠内の文字列も含めてもよい。また、枠がない帳票については、文字列間の空白を仮想的に罫線とみなすことにより、前述の処理を適用することができる。
【００４７】
図１２の例では、項目名文字列、項目値表記文字列、項目値キーワード文字列を用いたが、必ずしも全て利用する必要はない。図１３は、項目名文字列と項目値キーワード文字列のみを利用して図１２と同様のスコア計算をした結果である。図１３では、上位１／２（5.7以上）を濃い網掛けで示し、その上下左右に対象枠を拡大した部分を薄い網掛けで示している。
【００４８】
さらに、図１３を用いて選択された文字列を削減する方法について説明する。もっとも、この処理は必ずしも実施する必要はない。図１３では、図６の文字列Ｓ１２５を含む枠（スコア5.7）が、他の選択された枠とは孤立して選択されている。１つの文字列のみから複数の項目値を得られないと判断して候補から除外し、更にそれを上下左右に拡大した結果が図１４である。
【００４９】
・ステップ３３０
次に、制御部２５０（項目値単語スコア計算部３３０Ａ）の動作を、図８（Ｄ）、図１５、図１６を用いて説明する。基本的な概念は、前記の項目名スコア計算と同じである。図８（Ｄ）は、項目値単語辞書の例であり、図１５は、項目値スコアテーブルの例であり、図１６は、項目値単語文字列の抽出結果の例である。制御部２５０は、先のステップ３６５で選択された文字列と項目値単語辞書を照合し、項目値単語スコアを計算する。項目値単語スコアの計算には、ステップ３７０と同様、特開２００４−１７１３１６号公報に記載の技術を利用することができる。図８（Ｄ）に示す項目値単語辞書を用いて、図６の帳票画像内の文字列に対して項目値単語スコアを計算する場合、項目値スコアテーブルの例は図１５のようになる。図１５に示すテーブルには、ステップ３２５で計算された項目値表記スコアとステップ３３０で計算された項目値単語スコアが記録されている。なお、口座種別の属性については、ステップ３６０の項目値キーワード検出と同じ内容であるため、ステップ３３０では省略することができる。また、文字列選択を行わない図３（Ａ）と図４（Ｂ）のステップ３２５では、帳票上の全ての文字列に対して照合処理を行う。
【００５０】
・ステップ３７５
次に、制御部２５０（項目名―項目値配置スコア計算部３７５Ａ）の動作を、図１７を用いて説明する。制御部２５０は、２つの文字列間の配置関係を評価することにより、項目名と項目値のペアとして妥当な配置に高い項目名―項目値配置スコアＳａを設定し、妥当でない配置に低い項目名−項目値配置スコアＳａを設定する。制御部２５０は、項目名−項目値配置スコアＳａを、２つの文字列が属する枠のサイズおよび配置関係、及び／又は、２つの文字列矩形のサイズおよび配置関係に基づいて計算する。項目名−項目値配置スコアＳａの計算には、例えば特開２０１１−２４８６０９号公報に記載の技術を利用することができる。この技術では、例えば項目名−項目値配置スコアＳａは、項目名−項目値配置スコアＳａが取り得る値の最大値で初期化し、文字列ペアをなす２つの文字列の配置関係が項目名−項目値関係として非妥当であると判断できる配置パターンをペナルティルールとして定義し、初期値からペナルティルールによって得られたペナルティ値を減算した値として計算する。この処理を帳票画像内の全文字列ペアに対して実行する。
【００５１】
図１７に、特開２０１１−２４８６０９号公報に開示の技術を用いたペナルティルールの例を示す。制御部２５０は、ペナルティルールは２つの文字列の属する枠の配置関係やサイズ、２つの文字列矩形の配置関係やサイズを基に計算する。制御部２５０は、例えば、ルール１７１０の場合（２つの文字列が相互に隣接する枠内に存在し、かつ、項目名となる文字列の中心座標が枠の中心座標からずれがある場合）、ずれの距離に応じてペナルティを付加する。これは、本来２つの文字列が項目名−項目値関係にある場合には、項目名となる文字列は枠の中心付近に存在するといった仮定によるものである。ルール１７２０の場合、制御部２５０は、項目名となる文字列の属する枠の高さが、項目値となる文字列の属する枠の高さよりも大きい場合に、枠高さの比率に応じてペナルティを付加する。これは、本来は、項目名の属する枠の高さより、項目値の属する枠高さが大きいといった仮定に基づくものである。
【００５２】
ルール１７３０の場合、制御部２５０は、２つの文字列が同一枠に存在し、かつ、項目名となる文字列よりも、項目値となる文字列が左もしくは上に存在する場合、左もしくは上方向へのはみ出し距離に応じてペナルティを付加する。これは、本来、２つの文字列が項目名−項目値関係にある場合には、項目名となる文字列の右下方向に項目値が存在するといった仮定に基づくものである。ルール１７４０の場合、制御部２５０は、２つの文字列が帳票画像内のいずれの枠にも属さず、枠の外かつ相互に近くに存在し、かつ、項目名となる文字列の高さと、項目値となる文字列の高さが異なる場合に、文字列高さの比率に応じて、ペナルティを付加する。これは、本来は、項目名と項目値の文字列の高さは互いにほぼ等しいという仮定に基づくものである。
【００５３】
ルール１７５０は、制御部２５０は、項目名となる文字列と、項目値となる文字列の距離が離れている場合に、２つの文字列の距離に応じてペナルティを付加する。これは、２つの文字列が項目名−項目値関係にある場合には、２つの文字列は相互に近くにあるといった仮定に基づくものである。ルール１７６０は、制御部２５０は、項目名となる文字列より、項目値となる文字列が左上方向に存在する場合に、そのずれの距離に応じてペナルティを付加するものである。これは、本来は、項目名の右下方向に項目値が存在するといった仮定に基づくものである。
【００５４】
以上のように、ペナルティルールは、２つの文字列が項目名−項目値関係にある場合の尤もらしい配置関係を仮定し、その仮定から外れる配置関係に２つの文字列が配置される場合に、ペナルティが付加されるように生成される。なお、ペナルティルールは図１７に示したルール１７１０から１７６０に限定されるものではなく、２つの文字列の属する枠の配置関係やサイズ、２つの文字列矩形の配置関係やサイズなどから計算されるものであり、２つの文字列が項目名−項目値関係にある場合に尤もらしい配置関係を仮定し、その仮定から外れる場合に付加される計算方法であれば、これに限定しない。
【００５５】
・ステップ３８０
次に、制御部２５０（項目名−項目値ペアスコア計算部３８０Ａ及び項目名−項目値ペア検出部３８５Ａ）の動作を、図１８を用いて説明する。これらの処理には、例えば特開２０１１−２４８６０９号公報に記載の技術を利用することができる。図１８は、項目名−項目値ペア検出結果の例である。項目名−項目値ペアスコア計算では、制御部２５０は、例えば項目名スコア、項目値スコア（項目値表記スコアもしくは項目値単語スコア）、項目名−項目値配置スコアを入力とする評価関数によって計算する。Ｓｎを項目名スコア、Ｓｖを項目値スコア、Ｓａを項目名−項目値配置スコアとしたときに、評価関数Ｓｐ(Ｓｎ、Ｓｖ、Ｓａ)の例として、例えば数３、数４、数５に示すものがある。
【００５６】
［数３］
Ｓｐ（Ｓｎ，Ｓｖ，Ｓａ）＝（Ｓｎ＋Ｓｖ）Ｓａ
［数４］
Ｓｐ（Ｓｎ，Ｓｖ，Ｓａ）＝Ｓｎ＋Ｓｖ＋Ｓａ
［数５］
Ｓｐ（Ｓｎ，Ｓｖ，Ｓａ）＝Ｓａ・√（Ｓｎ＋Ｓｖ）
なお、評価関数は、数３、数４、数５に限るものではなく、項目名スコア、項目値スコア、項目名−項目値配置スコアの値から、２つの文字列が項目名−項目値関係にある確からしさを算出できる形式であれば、これに限らない。制御部２５０は、このような評価関数による項目名−項目値評価値計算を帳票画像内の全文字列ペアに対して行い、評価関数Ｓｐの値が閾値を超えたペアを項目名−項目値ペアとして検出する。図１８では、「先方銀行」と「ＸＸＸ銀行」のペアが銀行の属性として、「口座番号」と「１２３４５６７」のペアが口座番号の属性として、「電話番号」と「０４２−１２３４−５６７８」のペアが口座番号の属性として検出されている。
【００５７】
・ステップ３９０
次に、制御部２５０（項目値候補選択部３９０Ａ）の動作を、図１９を用いて説明する。制御部２５０は、項目値候補として、ステップ３２５で求めた項目値表記スコアが閾値以上の項目値表記文字列、ステップ３３０で求めた項目値単語スコアが閾値以上の項目値単語文字列、およびステップ３８５で求めた項目名−項目値ペアスコアが閾値以上の項目名−項目値ペアを使用する。制御部２５０は、項目値候補スコアＳｃとして、数６に示すように、項目値候補として選択した文字列に応じて、項目値単語スコア、項目値表記スコア、項目名−項目値ペアスコアのいずれかを選択する。
【００５８】
［数６］
0006406932.tif 000004
【００５９】
数６の３つの式を選択する際には、前述の式が優先される。すなわち、項目名−項目値ペアが検出されている場合には１つ目の式を、項目名−項目値ペアが検出されず項目値単語が検出されている場合には２つ目の式を、項目名−項目値ペアも項目値単語も検出されず項目値表記が検出されている場合には３つ目の式を用いる。図１９は、項目値候補の選定結果であり、図２０は、選定結果を格納したテーブルである。なお、文字列Ｓ１０８は、２つの項目値単語が検出されたため、図２０では、文字列Ｓ１０８ａと文字列Ｓ１０８ｂに分割している。この項目値候補を用いて、後段のステップ３４９〜ステップ３５０の処理を行う。なお、図４（Ａ）と図４（Ｂ）のステップ３３５における項目値候補選択では、項目名−項目値ペア検出をしていないため、項目値候補選択には項目値表記文字列と項目値単語文字列のみを用いる。
【００６０】
・ステップ３４０
次に、制御部２５０（項目値候補配置スコア計算部３４０Ａ）の動作を、図２１及び図２２を用いて説明する。制御部２５０は、互いに属性の異なる２つの項目値候補間の配置関係を評価することにより、項目値グループの項目値として妥当な配置に高い項目値候補配置スコア（Ｓｃａ）を設定し、妥当でない配置に低い項目値候補配置スコアを設定する。ここでは、２つの文字列を含む枠の配置、もしくは文字列間の配置に応じてスコアを計算する。図２１に、具体的な計算方式の一例を示す。図２１には、４種類の配置スコアの計算方法を示している。ルール（１）は２つの文字列が異なる枠に含まれている場合である。ルール（２）は、２つの文字列が同じ枠内に含まれている場合である。ルール（３）は、一方が枠内、もう一方が枠外の場合である。ルール（４）は、２つの文字列とも枠外の場合である。
【００６１】
図２２は、ルール（１）のペナルティを利用して、文字列Ｓ１１３を基準として計算した項目値候補配置スコアの例である。２つの文字列が異なる枠内に含まれている場合、１．０を初期値として２つの文字列に至るまでに枠を経由する（跨ぐ）ごとに、ルール（１）に従って、ペナルティ値を減算する。例えば、文字列Ｓ１１３と文字列Ｓ１０６の項目値候補配置スコア（Ｓｃａ（Ｓ１１３，Ｓ１０６））を計算する場合、経由する枠は文字列Ｓ１１３、Ｓ１０８、Ｓ１０５、Ｓ１０６となる。文字列Ｓ１１３からＳ１０８へは上方向へ移動するため、ルール（１）に従って、０．３を減算して０．７となる。同様に、Ｓ１０５に上方向へ移動して０．４となる。Ｓ１０６へは右方向への移動であるため、０．１を減算して０．３となる。従って、項目値候補配置スコアＳｃａ（Ｓ１１３，Ｓ１０６）は０．３となる。同様に、項目値候補配置スコアＳｃａ（Ｓ１１３，Ｓ１２３）は０．７となる。なお、２つの枠の間に複数の経路が存在する場合には、スコアが最大となる経路を選択してもよい。もしくは、先に縦方向に移動してから横方向に移動する場合と、先に横方向に移動してから縦方向に移動する場合を比較し、スコアが大きい方を選択してもよい。
【００６２】
ルール（２）、ルール（３）、ルール（４）の計算方法についても、図２２と同様に枠又は文字列を経由するたびにスコアを減算することで項目値候補配置スコアＳｃａを求めることができる。なお、項目値候補配置スコアＳｃａの計算方法は、図２１に示した方法に限定されるものではなく、２つの項目値候補の属する枠の配置関係やサイズ、項目値候補の文字列矩形の配置関係やサイズなどから計算されるものであれば、これに限らない。
【００６３】
図２３（Ａ）は、項目値候補配置スコアＳｃａの計算結果をネットワークで表現した図である。角に丸みを付けた矩形は、項目値候補を表すノードであり、行番号と認識結果、項目値候補スコアＳｃが記載されている。ノード間のリンクに付した数字は、項目値候補配置スコアＳｃａを表している。図２３（Ａ）では、項目値候補スコアＳｃが閾値を超えた文字列又は文字列のペアがノードとして登録されており、異なる属性のノード間にリンクを設定している。なお、図２３（Ａ）では、銀行、支店、口座種別、口座番号の順にリンクを設定しているが、全ての属性間（例えば銀行と口座種別や、銀行と口座番号など）にリンクを設定してもよい。
【００６４】
・ステップ３４５
次に、制御部２５０（項目値候補ペアスコア計算部３４５Ａ）の動作を、図２３（Ｂ）と図２４（Ａ）を用いて説明する。制御部２５０は、互いに属性の異なる２つの項目値候補の文字列のペアに対して、項目値候補スコアＳｃと項目値候補配置スコアＳｃａを用いて項目値候補ペアスコアＳｃｐを計算する。２つの項目値候補の文字列（又は、文字列ペア）ｉと文字列（又は、文字列ペア）ｊとの間の項目値候補ペアスコアを求める評価関数Ｓｃｐ（文字列ｉ，文字列ｊ）の計算方法の一例としては、数７がある。
【００６５】
［数７］
Scp（文字列ｉ,文字列ｊ）
＝（Sc(文字列ｉ)＋Sc(文字列ｊ)）＊Sca(文字列ｉ，文字列ｊ)
なお、ステップ３８５の項目名−項目値ペア検出の評価関数に数３から数５を用いたように、ステップ３４５の評価関数も数７に限定しない。
【００６６】
図２３（Ｂ）は、図２３（Ａ）のネットワーク表現に基づいて項目値候補ペアスコアＳｃｐを計算した結果である。リンク上の数字が項目値候補ペアスコアＳｃｐである。また、図２４（Ａ）は、項目値候補ペアスコアＳｃｐの計算結果を格納したテーブルを表す図である。図２４（Ａ）では、例えば、銀行の属性の項目値候補文字列Ｓ１０７と支店の属性の項目値候補文字列Ｓ１０８ｂとのスコアが１．５７となっている。空欄はスコア０．０である。
【００６７】
・ステップ３５０
次に、制御部２５０（項目値グループ評価部３５０Ａ）の動作を、図２４（Ｂ）と図２５を用いて説明する。制御部２５０は、ステップ３４５で計算した項目値候補ペアスコアを用いて、最適な文字列の組を決定する。決定方法の一例としては、図２３（Ｂ）のネットワークにおいて全ての属性を満たすパスの中で項目値候補ペアスコアＳｃｐの総和が最大となるパスを選択することや、総和が閾値を超えるパスを選択することが挙げられる。最大値の代わりに平均値を用いることや、その他の評価基準を用いてもよい。また、本実施例ではネットワーク表現を用いているが、その他の方法で実現してもよい。
【００６８】
図２４（Ｂ）は、図２３（Ｂ）のネットワークからスコアの総和が最大となるパスを太線で示した図である。この結果、図２５（Ａ）において太線で示した項目値候補が選択される。銀行と口座番号の属性については項目名−項目値ペアが選択されているため、制御部２５０が、項目値の文字列のみを抽出して認識結果として作成したテーブルが図２５（Ｂ）である。
【００６９】
図４（Ａ）のステップ３５５の処理では、制御部２５０は、図２５（Ｂ）のように作成したデータを記憶部２４０に記憶する。また、制御部２５０は、記憶部２４０からそのデータを適宜読み出して、表示部２２０に表示することができ、及び／又は、ＩＦ２６０により他の装置へ出力することができる。例えば、表示部２２０に表示されるユーザインタフェース画面には、図２５（Ｂ）のうち「属性」と「認識結果」に対応する情報が表示される。なお、制御部２５０は、表示や出力データの例として、記憶部２４０に記憶されたデータから、他にも後述する図２６等に示した表示画面を作成することができる。
【００７０】
また、図２３（Ｂ）のネットワークでは、銀行と支店や支店と口座種別など属性の順序に従ってリンクを設定したが、制御部２５０は、それ以外のリンクを設定してもよい。図２７（Ａ）は、銀行と口座種別や支店と口座番号の属性の間にリンクを設定した例である。このリンクは、帳票上のかすれやノイズ等に起因した文字識別の誤りに対応したものである。文字識別を誤ったために、正しい項目値候補が抽出されない場合でも、無理にスコアの低い項目値候補を経由したパスを選択しないようにすることを目的としている。例えば図２７（Ｂ）は、文字列Ｓ１０８ｂの「ＹＹＹ支店」が認識されずに項目値候補とならなかった場合のネットワークである。最適パスを示す太線は、支店の属性の項目値候補をスキップしたパスとなっている。
【００７１】
さらに、項目値グループ評価において、最適なパスだけでなく閾値を超えたパスを複数選択する場合では、図２８（Ａ）に示すように、帳票上に複数の項目値グループが列記されている場合にも対応することができる。図２８（Ａ）の表２８００は、３つの項目値グループが列記されている例である。表２８１０は文字列番号を示す図であり、表２８２０は項目値候補の抽出結果をもとに文字列を分割した文字列番号である。図２８（Ｂ）は、項目値グループ評価（ステップ３５０）において、図２８（Ａ）に対して作成したネットワークの例である。制御部２５０は、詳細なスコアについては省略するが、閾値を超えた３つのパスを選択することにより、正しく３つの項目値グループを決定することができる。
【００７２】
図２９（Ａ）は、文字認識の誤りなどによりＳ２０３ｃが項目値候補にならなかったネットワークの例である。２つ目の項目値グループの文字列は、Ｓ２０３ａ、Ｓ２０３ｂ、Ｓ２０２ｃ、Ｓ２０３ｄとなり、文字列Ｓ２０２ｃが別の項目値グループのパスと重複している。このような場合は、制御部２５０は、パスのスコアが高い方を優先し、２つ目の項目値グループから文字列Ｓ２０２ｃを除いてもよい。また、図２９（Ｂ）に示すように、図２７（Ｂ）と同様にリンクを増やすことにより解決することもできる。また、項目値グループが列記されている場合には、制御部２５０は、同じ属性の項目値候補同士の配置を評価することにより、誤りを削減すること可能である。
【００７３】
さらに、１つの枠内に複数の項目名グループが列記されている場合、制御部２５０は、図２１のルール（２）のペナルティルールを使用する。一方、複数の項目名グループが枠外に列記されている場合、制御部２５０は、図２１のルール（４）のペナルティルールを使用することにより、スコアの値は異なるがリンク構造が図２８（Ｂ）や図２９（Ｂ）と同じネットワークを作成することにより、項目値グループを決定することができる。
【００７４】
（帳票認識処理５）
帳票認識処理２（図３（Ｂ））及び帳票認識処理３（図４（Ａ））では、制御部２５０は、項目値キーワード検出処理（ステップ３６０）の後、項目値単語照合対象文字列選択処理（ステップ３６５）を実行し、さらに項目値単語スコア計算処理（ステップ３３０）を実行している。この場合、銀行と支店の照合を独立して行うため、実際にはない銀行と支店の組合せを求めることがある。この技術課題を解決するため、本実施形態では、項目値単語の照合にあらかじめ優先度を設定し、項目値単語の照合処理を複数の段階に分ける。一例として、優先度１を「銀行」、優先度２を「支店」、優先度３を「口座種別」とすることができる。
【００７５】
まず、制御部２５０は、「銀行」の項目値単語の照合処理を行って銀行の候補を絞る。制御部２５０は、「支店」の項目値単語の照合処理では、銀行ごとに分類された支店の項目値単語辞書を用いる。そして、制御部２５０は、絞られた候補の銀行ごとに、その銀行の支店の項目値単語辞書を用いて項目値単語照合を行う。以上のように、本実施形態によると、さらに、優先度毎の辞書により、単語照合の処理コストを一層少なくすることができる。
【００７６】
（帳票認識処理６）
本実施形態は、項目値候補ペアスコアの算出（ステップ３４５）と項目値グループ評価処理（ステップ３５０）の後、項目値グループ内の項目値の配置に基づいて認識結果の確からしさを判定し、判定結果に応じて、先に求めた項目値候補ペアスコア等を修正した後、項目値グループ評価を再度実行する。項目値グループ評価までの方式は、帳票認識処理１〜５のいずれを使用してもよい。また、項目値候補間のスコアを求めることができるのであれば、帳票認識処理１〜５に限らない。
【００７７】
配置に基づいた評価を実行する本形態例の目的は、項目値候補ペアスコアのみでパスを評価することによる誤認識を低減することである。例えば文字認識や照合に誤りがあると、項目値以外の文字列に対して大きなスコア値を算出することがある。この場合、項目値候補ペアスコアは隣接する項目値候補間の局所的なスコアであるため、誤ったパスを選択する可能性がある。この問題を解決するために、本実施形態では、項目値グループ内の全ての項目値における配置の妥当性を評価して誤ったパスの選択を抑制する。
【００７８】
また、本形態例の別の目的は、例えば図２８（Ａ）のように、複数の項目値グループが帳票上に記載されている例（複数列挙型）において、複数の項目値グループを高精度に認識することである。通常、複数の項目値グループを認識するには、項目値グループ評価によって選択したパスのうちの上位パスを選択することが考えられる。しかし、記載された複数の項目値グループが上位になる保証はないため、単純に１位からＮ位のパスを選択することで解決できない。例えば、２位以下のパスが１位のパスと一部の項目値のみ異なる類似したパスになることが多い。さらに、文字の潰れやかすれなどで文字認識や単語照合の類似度が低い場合には、より下位になる場合もある。
【００７９】
図３０に、制御部２５０における帳票認識の別の処理フローを示す。図３０では、項目値グループを認識した後、項目値の配置に基づいて認識結果の確からしさを評価し、評価結果に応じて項目値グループの算出方式を変更する。まず、ステップ３０５の画像入力処理において、制御部２５０は、画像入力部２３０から画像を入力する。次に、ステップ３０００のレイアウト解析において、制御部２５０は、入力された帳票画像から枠（セル）や行の座標や配置関係を検出する。この処理の具体例には、図３（Ａ）のステップ３１０と３１５がある。
【００８０】
次のステップ３０１０（項目値候補ペアスコア算出処理）において、制御部２５０は、帳票画像から文字認識や照合処理を用いて項目値候補ペアスコアを計算する。この処理の具体例には、図３（Ａ）のステップ３２０〜３４５がある。続くステップ３５０（項目値グループ評価処理）において、制御部２５０は、図３（Ａ）について説明した通り、項目値候補ペアスコアに基づいて、帳票画像内での項目値候補から項目値グループを構成する文字列を決定する。
【００８１】
次のステップ３０２０（項目値グループのレイアウト評価処理）において、制御部２５０は、項目値グループ内の項目値の配置が、グループとして妥当か否かを判定する。この処理の詳細は、図３１〜図３７（Ｂ）を用いて後述する。次のステップ３０３０（レイアウトに基づくスコア修正処理）において、制御部２５０は、ステップ３０２０における評価結果に基づいて、項目値候補ペアスコア等のスコアを変更する。この処理の詳細は図３６（Ｂ）を用いて後述する。
【００８２】
次のステップ３０４０（項目値グループ再評価処理）において、制御部２５０は、ステップ３０３０で修正したスコアを用い、再度項目値グループを選択する。ステップ３５５（記憶および出力処理）において、制御部２５０は、ステップ３０４０までの処理で求めた認識結果や途中結果を記憶部２４０に記憶する、又は、表示部２２０もしくはＩＦ２６０に出力する。なお、制御部２５０は、別のタイミングで認識結果や途中結果を記憶部２４０から読み出し、表示部２２０又はＩＦ２６０に出力してもよい。
【００８３】
・ステップ３０２０
当該ステップ（項目値グループのレイアウト評価処理）において、制御部２５０は、ステップ３０２１（項目値配置の整列性評価処理）、ステップ３０２２（複数グループ間の配置規則性評価処理）、３０２３（同一属性の配置規則性評価処理）に示す３つの評価処理を実行する。もっとも、ステップ３０２０では、これら３つの評価処理の全てを実行しても１つのみ実行してもよい。
【００８４】
・ステップ３０２１
図３１及び図３２を用い、項目値配置の整列性評価処理の詳細を説明する。当該ステップにおいて、制御部２５０は、項目値グループ内の各項目について、グループ全体としての配置の妥当性を評価する。本ステップにおいて、制御部２５０は、例えば全ての項目値の文字列が横又は縦方向に整列していることや同一枠内に記載されていること等を評価する。
【００８５】
図３１は、ステップ３０２１の詳細処理の一例を示す。制御部２５０は、ステップ３１００〜３１７０において、異なる観点で整列性を判定する。なお、ステップ３１００〜３１７０の全てのステップを実行する必要はない。また、整列性が判定された時点で、評価処理を終了してもよい。さらに、評価の実行順序は変更してもよい。
【００８６】
・ステップ３１００及び３１１０
ステップ３１００において、制御部２５０は、項目値グループ内の各項目値文字列が横方向に整列しているか否かを評価し、条件を満たしていれば整列性ありと判定する。制御部２５０は、例えば図２８（Ａ）のＳ２０２ａからＳ２０２ｄの文字列は横方向に整列しているため、この条件を満たすと判定する。縦方向の整列性についても同様である。
【００８７】
因みに、図３２（Ａ）は、横方向の整列性判定の一例を示す図である。文字列１と文字列２の整列性を評価する場合、文字列１の中心線が文字列２の上下端の間にあれば整列性ありと判定する。文字列１と文字列２を入れ替えても同様である。ステップ３１１０における文字列の縦方向の整列性判定も同様である（図３２（Ｂ））。この文字列の整列性判定は、項目値グループ内の各項目値文字列が全て枠外、全て同一枠内、別枠内等のいずれの場合でも判定可能である。
【００８８】
・ステップ３１２０及び３１３０
当該ステップにおいて、制御部２５０は、項目値グループ内の各項目値文字列を含む枠が、横方向もしくは縦方向に整列しているか否かを評価する。枠の整列性の評価方法としては、例えば横方向であれば枠の上下端、縦方向であれば枠の左右端が揃っているか否かを評価する。
・ステップ３１４０
当該ステップにおいて、制御部２５０は、項目値グループ内の各項目値文字列が同一枠内に記載されているか否かを評価する。
【００８９】
・ステップ３１５０
当該ステップにおいて、制御部２５０は、項目値グループ内の項目値文字列が記載されている全ての枠が互いに隣接しているか否かを評価する。この評価は、グループとして纏まって表記されているか否かを評価するものである。枠同士が離れている場合には、誤った項目値を選択している可能性が高いためである。例えば図６において、「ＸＸＸ銀行」「ＹＹＹ支店」と「普通」の項目値文字列を含む枠は互いに隣接しており、「ＸＸＸ銀行」「ＹＹＹ支店」と「１２３４５６７」の項目値文字列を含む枠は互いに隣接している。一方、「ＹＹＹ支店」の代わりに文字列Ｓ１２５中の「ＢＢＢ支店」を含む項目値グループを選択した場合、「ＢＢＢ支店」の枠は他の項目値文字列の枠と隣接していない。このように、項目値文字列を含む枠が互いに隣接関係にあるか否かを判定する。
【００９０】
・ステップ３１６０
当該ステップにおいて、制御部２５０は、項目値グループ内の全ての項目値文字列を含む外接矩形領域内に他の文字列が存在しないか否かを評価する。当該ステップも、ステップ３１５０と同様、グループとして纏まって表記されているか否かを評価する処理である。図３２（Ｃ）に示すように、項目値文字列１から項目値文字列４を囲む外接矩形内に他の文字列が存在しない場合は整列性ありと判定する。図３２（Ｄ）に示すように、外接矩形内に項目値グループとは関係のない文字列が存在する場合には整列性なしと判定する。ただし、図３２（Ｅ）に示すように、項目値文字列の項目名に相当する文字列であれば整列性ありと判定する。
【００９１】
・ステップ３１７０
当該ステップにおいて、制御部２５０は、全ての項目値文字列の文字サイズが同じか否かを判定する。同じ項目値グループの文字列は同じサイズの文字で記載されることが多いためである。
・ステップ３０２２
次に、ステップ３０２０の第２ステップを説明する。当該ステップは、複数グループ間の配置の規則性を評価するステップである。以下では、図３３〜図３７を用いて説明する。当該ステップでは、２つの項目値グループを比較して配置の規則性の有無が判定される。この判定は、図２８（Ａ）に示すように、複数の項目値グループが列挙されている場合には、項目値文字列の配置が類似していることに基づく。
【００９２】
当該ステップの詳細を説明する前に、本形態例におけるネットワークのデータテーブルの例と項目値グループを表す答えテーブルの例を、図３３と図３４を用いて説明する。図３３は、図２８（Ａ）の記載例をネットワークで表現した例である。ネットワークは、項目値候補を表すノードとノード間のリンクで表現される。ノードのデータ構造の例としては、ノードのＩＤ、「銀行」や「支店」等の属性、単語照合などで得られた項目値候補スコア、文字列の認識結果、文字列の座標、文字列が含まれる枠の座標等がある。枠に含まれていない場合は枠座標のデータは格納されない。リンクのデータ構造の例としては、リンクの両端のノードＩＤ、２つの文字列間の配置スコア、ノードの項目値候補スコアとリンクの配置スコアから算出した項目値候補ペアスコア等がある。
【００９３】
図３４は、図３３のネットワークから求めた項目値グループのデータテーブルの例である。このデータテーブルは、項目値グループを表すパスが経由するノードの情報と、パスのスコア等を記録する。例えば、パスＩＤの項目値グループはノード数が４つであり、Ｓ２０２ａからＳ２０２ｄの文字列から構成されている。このテーブルをパススコアについて降順に格納すれば、上位のパスほど信頼性が高いとみなすことができる。
【００９４】
図３５は、ステップ３０２２の処理の一例である。まず、ステップ３５００において、制御部２５０は、答えテーブルからパス１を選択する。次のステップ３５１０において、制御部２５０は、パス１の項目値文字列の配置を数値化（Ｖ１）する。数値化の方法については後述する。制御部２５０は、次のステップ３５２０においてパス２を選択し、続くステップ３５３０でパス２の項目値文字列の配置を数値化（Ｖ２）する。制御部２５０は、ステップ３５４０においてＶ１とＶ２を比較し、続くステップ３５５０で規則性ありの条件を満たすか否かを判定する。規則性がある場合、制御部２５０は、ステップ３５６０に進み、パス１とパス２に規則性があることを登録する。制御部２５０は、ステップ３５７０とステップ３５８０を経て、パス２が答えテーブルから選択できなくなるまで３５２０から３５６０を繰り返す。
【００９５】
同様に、ステップ３５９０とステップ３６００を経て、パス１が答えテーブルから選択できなくなるまで、制御部２５０は、ステップ３５００から３５８０を繰り返す。なお、３５７０と３５９０では、全てのパスを評価せず、あらかじめ決められた順位までのパスや、パススコアが基準以上のパスに限定することも可能である。また、一度規則性があると判定されたパスについては、ステップ３５００やステップ３５２０で選択しなくてもよい。
【００９６】
次に、図３６〜図３７を用い、ステップ３５１０と３５３０における配置の数値化と、ステップ３５４０における比較評価の例を説明する。この例では、図３（Ａ）のステップ３４０で算出するノード間の配置スコアを用いる。図３６（Ａ）は、図２８（Ａ）の記載例に対して図２１の配置スコア算出ルールに基づいて算出した配置スコアをリンク上に記載した例である。図３７（Ａ）は、ステップ３５１０と３５３０における配置の数値化の例として、配置スコアをリンクの順に並べてベクトル化したものである。図３７（Ｂ）は、ステップ３５４０でパスを比較した結果を格納した例である。この例では、ベクトル間のユークリッド距離を算出している。この結果から、距離が基準値以下であればステップ３５５０で規則性があると判定することができる。
【００９７】
なお、数値化のその他の例としては、各項目値文字列の中心や左上角等の座標値を直接用いてもよい。また、ベクトル間の比較は、ユークリッド距離だけでなく、街区距離や内積値を利用してもよい。なお、内積値の場合は、基準値以上を規則性ありとする。さらに、パス１とパス２のノード数が異なる場合には、両者に共通する属性のノードのみを用いて評価してもよい。これにより、図２９（Ｂ）のように項目値の認識に失敗した場合でも、パスの規則性を判定することができる。
【００９８】
・ステップ３０２３
次に、ステップ３０２０の第３ステップを説明する。当該ステップは、同一属性の配置の規則性を評価するステップである。当該ステップは、２つの項目値グループを比較して同じ属性の項目値文字列間において、配置の規則性の有無を判定するものである。具体的には、同一属性の項目値文字列の位置関係が、全て同じか否かを判定する。
【００９９】
図３４においてパス１とパス２を比較する場合、Ｓ２０２ａとＳ２０４ａ、Ｓ２０２ｂとＳ２０４ｂ、Ｓ２０２ｃとＳ２０４ｃ、Ｓ２０２ｄとＳ２０４ｄの相対的な位置関係が同じであるか否かを判定する。判定方法としては、同一属性の２つの文字列の座標値の差分値や配置スコアの一致度を判定すればよい。
【０１００】
・ステップ３０３０
ここでは、図３６（Ｂ）を用い、ステップ３０３０（レイアウトに基づくスコア修正処理）について説明する。このステップでは、ステップ３０２０において判定したパスの規則性に基づいて、ネットワークの項目値候補ペアスコアを修正する。この処理により、ステップ３０４０の項目値グループ再評価において、パスの再計算をする際に、規則性のあるパスが上位のスコア値となり、複数の項目値グループが列挙されている場合でも、上位のパスを選択することで答えを得ることができる。
【０１０１】
スコアの修正例には、次の２つがある。第１の例は、規則性があるパスの項目値候補ペアスコアを増加させることである。第２の例は、規則性があるパスのノードに対して、該当するパス以外のリンクの項目値候補ペアスコアを減少させることである。図３６（Ｂ）のパス１に着目した場合、パス１を経由するノードのリンクのうち、パス１に関係ないリンクのスコアを減少させる。Ｓ２０２ｃに関するリンクでは、点線で示したリンクのスコアを減少させる。スコアの増減値は、ステップ３０２０の判定内容によって変化させてよい。判定が複数の場合、最も増減値が高い判定のみ利用してもよいし、全ての判定を利用してもよい。
【０１０２】
・ステップ３０４０
ここでは、ステップ３０４０（項目値グループの再評価処理）について説明する。この処理は、ステップ３０３０でスコアを修正したネットワークを用いてパスを求める以外、ステップ３５０と同じである。さらに、ステップ３０２０の判定内容に基づいて、規則性があると判定されたパスに対してパススコアを増加させてもよい。
【０１０３】
以上のように、本形態例では、項目値グループの項目値文字列の配置の規則性を用いて、高精度に項目値グループを求めることができる。なお、ステップ３０２０から３０４０を繰り返し実行してもよい。
【０１０４】
（帳票認識処理７）
本実施形態では、帳票認識処理１〜帳票認識処理６のいずれかの画像処理装置２００を利用した金融機関の営業店窓口に設置される営業店窓口端末装置について説明する。金融機関などでは、営業店窓口に設置された端末装置に接続されたスキャナによって、顧客が記入した取引帳票の画像を撮像し、得られた画像データを保存したり、画像データについて文字認識を行ったりしている。営業店窓口端末装置は、例えば操作部２１０と、表示部２２０と、スキャナなどの画像入力部２３０と、利用者との授受のための現金を取り扱う現金入出金部と、通帳に取引内容を印字する通帳プリンタ部と、レシートなどに印字するプリンタ部と、端末記憶部とこれらを制御する端末制御部とによって構成することができる。なお、端末制御部は図２の制御部２５０に対応し、端末記憶部は図２の記憶部２４０に対応する。
【０１０５】
以下、営業店窓口端末装置を利用した業務フローについて説明する。営業店窓口端末装置は、利用者から取引科目別の取引帳票を受け取ったオペレータが、帳票と対応する取引データ入力画面を呼び出すための画面番号を操作部２１０から入力し、表示部２２０である端末画面に表示された取引画面の各入力フィールドに取引金額等、帳票上の記入データをキーボード入力することにより、目的の取引を実行する。
【０１０６】
さらに、端末制御部は、画像入力部２３０であるスキャナによって採取した取引帳票の画像を採取し、その画像に基づいてＯＣＲ（Optical Character Recognition）機能により記載内容を読取り、取引内容の確認画面を表示部２２０に表示する。この場合、取引内容の確認画面には、帳票からＯＣＲで読取られた各データ項目の内容、例えば、店番、口座番号、入金額などが表示され、確認画面の表示データに問題がなければ、これらのデータが記録データとして管理装置に送信処理される。このように、営業店窓口端末装置によれば、撮像部２３０によって採取した画像上からＯＣＲ処理を実行することができる。
【０１０７】
（表示画面の例）
次に、表示部２２０に表示される表示画面の例について説明する。例えば図２６は、ステップ３５０において、制御部２５０が、図２４（Ｂ）、図２５（Ａ）、図２５（Ｂ）で決定した項目値グループの認識結果を表示した例である。領域２６００が帳票画像を表示する領域である。領域２６１０をはじめとする太い線で囲まれた文字列は、項目値として抽出された結果を表す。領域２６２０は項目値グループを表示する枠である。一例として、抽出された項目値を含む枠の外接矩形等で表現できる。領域２６３０は認識結果を表示する領域である。領域２６４０をはじめとする網掛け領域には項目値の属性が表示される。領域２６５０をはじめとする枠内には項目値の文字認識結果が表示される。文字認識結果が誤っている場合には、その項目値の文字認識結果表示領域を選択して文字を修正することも可能である。
【０１０８】
なお、領域２６３０に認識できていない項目値がある場合（例えば「銀行」の属性に対応する項目値が認識できなかった場合）、制御部２５０は、操作部２１０又は画像入力部２３０を通じ、認識されていない項目値の選択を受け付けると共に、選択された項目値の入力を受け付けることも可能である。さらに、操作部２１０又は画像入力部２３０を通じ、項目値キーワードを追加することも可能である。項目値キーワードに「信用金庫」が登録されていなかった場合、この帳票の銀行名である「ＺＺＺ信用金庫」は認識できない。そこで、表示画面内の「キーワード追加」ボタンを選択することによりキーワードを追加できるようにしても良い。
【０１０９】
キーワードの追加には、文字認識を利用する方法と手入力による方法が可能である。文字認識を利用する場合は、領域２６００で認識したい領域を選択することにより、制御部２５０は、領域２６３０に認識結果を表示部２２０に表示する。利用者は、例えば領域２６３０内に属性（例えば「銀行」）を入力することにより、キーワードを登録することができる。さらに、領域２６３０にキーワードの文字を直接入力することも可能である。例えば、信用金庫の略称である「信金」もキーワードとして考えられるため、「信金」を入力する。キーワードを追加した後に表示画面内の「再認識」ボタンを選択することにより、再度項目値グループの認識を行うことができる。
【０１１０】
図３８は、ステップ３０２１（図３０）の整列性判定を、ユーザが直接指定するための画面である。複数列挙型の帳票を正しく認識できない場合に利用することができる。図３８（Ａ）は、整列性がある項目値グループの領域を指定した例である。項目値グループの領域指定は、マウスやタッチパッド、タッチパネルなどを用いて行うことができる。この項目値グループの配置を利用して、ステップ３０２２、ステップ３０２３、ステップ３０３０、ステップ３０４０の処理を経て認識した結果が図３８（Ｂ）である。
【０１１１】
図３９は、複数列挙型の帳票において、１個の項目値グループのみ認識対象とする場合のユーザ指定の画面である。図３９（Ａ）は、認識したい項目値グループの位置を指定した例である。図３９（Ａ）のように項目値グループ内の一点を指定する。その点を含む範囲で最も確からしい項目値グループを認識した結果が図３９（Ｂ）である。領域指定は、マウスやタッチパッド、タッチパネルなどを用いて行うことができる。なお、図３８（Ａ）のように、認識したい領域全てを指定してもよい。
【０１１２】
このように、図３（Ａ）、図３（Ｂ）、図４（Ａ）、図４（Ｂ）、図３０に示す処理フローによれば、項目名が記載されていない項目値を認識することができる。
【０１１３】
Ｅ．他の形態例
本明細書において提案する発明は、前述した実施形態に限定されるものではなく、前述した以外にも様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１１４】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１１５】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【０１１６】
本発明に係る帳票認識方法及び帳票認識装置は、その各手順をコンピュータに実行させるための帳票認識プログラム、帳票認識プログラムを記録したコンピュータ読み取り可能な記録媒体、帳票認識プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【符号の説明】
【０１１７】
１００、１０１…帳票例、
２００…帳票認識装置、
２１０…操作部、
２２０…表示部、
２３０…画像入力部、
２４０…記憶部、
２５０…制御部、
２６０…インターフェース（ＩＦ）、
Ｓｖ…項目値スコア、
Ｓｃ…項目値候補スコア、
Ｓｃａ…項目値候補配置スコア、
Ｓｃｐ…項目値候補ペアスコア、
Ｓｎ…項目名スコア、
Ｓａ…項目名−項目値配置スコア、
Ｓｐ…項目名−項目値ペアスコア。
【図１】
0006406932.tif 000005
【図２】
0006406932.tif 000006
【図３】
0006406932.tif 000007
【図４】
0006406932.tif 000008
【図５】
0006406932.tif 000009
【図６】
0006406932.tif 000010
【図７】
0006406932.tif 000011
【図８】
0006406932.tif 000012
【図９】
0006406932.tif 000013
【図１０】
0006406932.tif 000014
【図１１】
0006406932.tif 000015
【図１２】
0006406932.tif 000016
【図１３】
0006406932.tif 000017
【図１４】
0006406932.tif 000018
【図１５】
0006406932.tif 000019
【図１６】
0006406932.tif 000020
【図１７】
0006406932.tif 000021
【図１８】
0006406932.tif 000022
【図１９】
0006406932.tif 000023
【図２０】
0006406932.tif 000024
【図２１】
0006406932.tif 000025
【図２２】
0006406932.tif 000026
【図２３】
0006406932.tif 000027
【図２４】
0006406932.tif 000028
【図２５】
0006406932.tif 000029
【図２６】
0006406932.tif 000030
【図２７】
0006406932.tif 000031
【図２８】
0006406932.tif 000032
【図２９】
0006406932.tif 000033
【図３０】
0006406932.tif 000034
【図３１】
0006406932.tif 000035
【図３２】
0006406932.tif 000036
【図３３】
0006406932.tif 000037
【図３４】
0006406932.tif 000038
【図３５】
0006406932.tif 000039
【図３６】
0006406932.tif 000040
【図３７】
0006406932.tif 000041
【図３８】
0006406932.tif 000042
【図３９】
0006406932.tif 000043