(57)【特許請求の範囲】
【請求項１】
項目名の候補となる単語を記憶した項目名単語辞書と、
文字列の言語パターンに基づき、文字列の項目らしさとデータらしさを数値化した情報を格納した言語パターン知識辞書と、
文字列が含まれるセルのデザイン特徴に基づき、当該デザイン特徴を有するセルの項目らしさとデータらしさを数値化した情報を格納したレイアウトパターン知識辞書と、
入力された表の論理関係を解析する表解析手段とを有し、
前記表解析手段は、入力された表のセル内の文字列と前記項目名単語辞書との照合具合により項目名らしさを判定し、セルのデザイン特徴を前記レイアウトパターン知識辞書と照合して項目らしさあるいはデータらしさを判定し、セル内の言語パターンを前記言語パターン知識辞書と照合して項目らしさあるいはデータらしさを判定し、前記各判定を総合して表中の各セルが項目であるかデータであるかを判別することを特徴とする表構造解析装置。
【請求項２】
請求項１に記載の表構造解析装置において、前記表解析手段は、入力された表のセル内の文字列と前記項目名単語辞書との照合パターンが完全一致であるか、部分一致であるか、境界一致であるかを考慮して項目らしさの数値を計算することを特徴とする表構造解析装置。
【請求項３】
請求項２に記載の表構造解析装置において、前記表解析手段は、前記各判定で求められた項目らしさあるいはデータらしさを表す数値の積によって表中の各セルが項目であるかデータであるかを判別することを特徴とする表構造解析装置。
【請求項４】
請求項１に記載の表構造解析装置において、
物理的連接関係にあるセル同士のデザインの組合せに基づき、項目らしさとデータらしさを数値化した情報を格納したレイアウト共起辞書と、物理的連接関係にあるセル同士の言語共起に基づき、項目らしさとデータらしさを数値化した情報を格納した言語共起辞書を更に有し、
前記表解析手段は、入力された表の物理的連接関係にあるセル同士のデザインの組合せを前記レイアウト共起辞書と照合して項目らしさあるいはデータらしさを判定し、入力された表の物理的連接関係にあるセル同士の言語共起を前記言語共起辞書に照合して項目らしさあるいはデータらしさを判定し、これらの判定をも総合して表中の各セルが項目であるかデータであるかを判別することを特徴とする表構造解析装置。
【請求項５】
請求項４に記載の表構造解析装置において、前記レイアウト共起辞書は、縦又は横に連続するセルの背景色もしくはハッチングが途中で変化する場合に、上端又は左端の背景もしくはハッチングを持つセルの項目の尤度を高く設定していることを特徴とする表構造解析装置。
【請求項６】
請求項４に記載の表構造解析装置において、
前記言語共起辞書は、隣接文字列ペアがIs-A関係（上位・下位概念関係）の場合に項目−項目関係である尤度を高く設定し、Has-A関係（部分と全体の関係）に該当する場合に項目−データ関係である尤度を高く設定しており、
前記レイアウト共起辞書は、隣接文字列ペアのレイアウトパターンが、変化している場合に項目−データ関係である尤度を高く設定し、同じ場合に項目−項目関係、データ−データ関係の尤度を高く設定していることを特徴とする表構造解析装置。
【請求項７】
請求項４に記載の表構造解析装置において、前記表解析手段は、前記項目名単語辞書と言語パターン知識辞書とを用いた照合により項目名らしさとデータらしさを判定してセルの状態を項目かデータかに初期設定し、次に、前記レイアウト共起辞書と言語共起辞書を用いた照合によりセルの状態の尤度を定量化し、状態（項目名かデータか）を変更することで尤度が上昇する場合に別の状態に変更し、表中のどのセルの状態を変更しても、尤度が低下するか、尤度の上昇が低い場合を最終の状態とすることを特徴とする表構造解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表形式データの処理技術に関し、特に表に記載された情報の属性を認識する技術に関する。
【背景技術】
【０００２】
表形式は、情報を整理してコンパクトに伝えることができるため、様々な文書で用いられている。Ｗｅｂや電子文書の情報検索の世界では、表構造から得られる項目と対象データの関係を用いて、検索の絞込みや質問応答に応用することが提案されている。
【０００３】
表の表現方法には様々なものがあり、罫線を使用するものや、スペースだけで表現するものなどがある。また、電子文書では、フォント、太さ、背景色など様々な方法で表現される。
【０００４】
紙文書から表形式データの内容を抽出するものとしては、ＯＣＲ帳票認識が挙げられる。ＯＣＲ（Optical Character Reader）における帳票認識方式では、予め読み取り位置が決められている定型帳票を認識対象としているものが多かった。しかし、給与支払報告書やレセプトのように、同じ種類の帳票でも１枚ごとに罫線の本数やセルの位置や大きさなどが微妙に異なる帳票や、登記済通知書のように、項目名がほぼ同じだけで、配置関係も異なる場合がある。このような非定型帳票を認識するために、読取った文字と項目単語辞書との照合による帳票種類判定と組み合わせた帳票認識技術も提案されている（特許文献３）。
【０００５】
上記方式では、項目名単語辞書を用意し、項目名単語照合に成功した文字列を項目名が記載されたセルと、項目名単語照合に成功しなかった文字列をデータが記載されたセルと判定し、この項目名文字列とデータ文字列との配置関係からデータと項目名の対応づけを行う。これにより、事前レイアウト定義がなくても、非定型な帳票の読み取りを実現している。
【０００６】
【特許文献１】特開２００４−１３９４８４号公報
【特許文献２】特開平９−３１９８２４号公報
【特許文献３】特開２００７-３２８８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
非定型帳票を認識する方法として、レイアウト定義は行わず、項目単語辞書のみを用いる手段が考えられる。すなわち、項目名の標準的な辞書を用意し、セル内文字行と辞書との照合もしくは部分照合により、項目名を判断する。この方法は、認識対象文書の分野が限られており、項目単語辞書が完備な場合にはうまく行くが、対象を拡大した場合には、項目単語辞書の曖昧性による問題が生じる。例えば、項目名やその部分文字列には、データ行にも出現するものがあるため、辞書照合結果のみでは、文字列が、項目かデータかを判別することはできなかった。例えば、総合振込伝票を例にすると、“銀行”と“銀行名”、“金額”と“価格”と“〜費”、“氏名”と“名”等の表記ゆれが存在する。
【０００８】
紙文書の場合、まず画像処理によりセル構造を得るというステップが入るが、表構造の解析における上記課題は、電子・紙文書の表に共通する課題である。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明では、以下のステップで項目名とデータの曖昧性を解消する。
(1) 言語パターンと、レイアウトパターンに基づき、各文字列の項目らしさの尤度を計算する。
(2) 上下、左右の近傍の文字列のラベルの組合せに対し、単語共起尤度と、レイアウトパターン共起尤度を計算する。
(3) 上記(1)による尤度と(2)による尤度の積が最も高くなるような、ラベルの組み合わせを選択する。
【００１０】
上記ステップ(1)では、予め用意した項目辞書との照合パターン（完全一致、部分一致、境界一致）により、項目らしさの数値を計算する。また、予め用意した言語パターン辞書との照合により、データらしさの数値を計算する。レイアウトパターンとしては、ハッチングパターンを使うことができる。例えば、縦又は横に連続するセルの背景色もしくはハッチングが途中で変化する場合に、上端又は左端の背景もしくはハッチングを持つセルの項目らしさを高くする。
【００１１】
ステップ(2)では、隣接文字列ペアが、人手で整備されたオントロージーやシソーラスにおけるIs-A関係（上位・下位概念関係）の場合に、項目−項目関係である尤度を高めに設定し、Has-A関係（部分と全体の関係）に該当する場合に、項目−データ関係である尤度を高めに設定する。また、隣接文字列ペアのレイアウトパターン（背景パターン、セルの太さ、文字の太さ、セルの高さ等）が、変化している場合に項目−データ関係である尤度を高くし、同じ場合に項目−項目関係、データ−データ関係の尤度を高くする。
【００１２】
ステップ(3)では、まず、ステップ(1)で得られた尤度を元に、項目とデータのラベルの初期状態を設定し、ステップ(2)の処理で、近傍のラベルとの関係で、可能なラベルのうち尤度の高いラベルに変更する処理を、尤度の上昇が閾値以下になるまで繰り返す。
【００１３】
以上の方法により、文字列自身の項目名らしさと、近傍との関係の尤度を元に、尤もらしい、項目名とデータの組合せ及び関係を選択することができる。
【発明の効果】
【００１４】
本発明によると、枠あり／枠なし／背景色利用型／スペース型など、様々な表データから項目と値の論理関係を推定し、入力支援、情報抽出に利用することができる。
（１）項目辞書の誤照合による表論理関係解析誤りを軽減できる。
（２）既存の表認識への影響を気にすることなく、項目辞書の追加を行うことができる。
（３）項目単語辞書が不完全な場合でも、項目とデータの認識を高精度で行うことができる。
【発明を実施するための最良の形態】
【００１５】
本発明は、帳票や一般文書中に含まれる表形式データを対象としている。また、紙をスキャンしてできる電子化文書、Word、Excel、PowerPoint等の電子文書いずれかに限定されるものでもない。
【００１６】
≪用語説明≫
本発明において、表とは、枠を含むかどうかにはよらない。図２２に示すような、部分枠型の表２２０１や、スペースのみによる表２２０２、背景色による表２２０３を含む。本発明では、表の各枠に相当する部分を、セルと呼ぶことにする。
【００１７】
レイアウトパターンとは、表のデザインや形のことを言う。レイアウトパターンには、隣接セルの数の他、背景色、ハッチング、枠色、枠線種、枠線太さ、セルの幅、セル内文字列配置（右寄せ、左寄せ、センタリング）、文字色、文字太さ、文字フォント、文字装飾などがある。
【００１８】
言語パターンとは、「数値＋“％”」「数値＋“円”」「数値＋“名”」などの単位表現や、「数値＋“年”＋数値＋“月”＋数値＋“日”」などの日付表現などのように、正規表現などで表現された文字列パターンのことを言う。また、人名、組織名、場所、時間、金額など、文字列の種類のことも、広義の言語パターンと呼ぶ。
【００１９】
≪表の論理関係解析について説明≫
まず最初に、表の論理関係解析について説明する。
【００２０】
図６は、表形式データ及びその論理関係を示したものである。表６０は、項目名として、学歴６０１、性別６０２、生年月日６０３、卒年６０４、学歴６０５を持ち、それ以外のセルをデータとして持つ。
【００２１】
図７は、図６と同じ表に対して、論理関係のみを示したものである。実線の矢印７６〜７８は、項目名とデータ間の対応関係を表す。破線の矢印７９ａ、７９ｂ、７９ｃ、７９ｄ、７９ｅは、同一レコードとしてまとめられるデータの塊を表す。
【００２２】
関係７６は、卒年７４の親属性が、学歴７１であることを表す。関係７７は、データ７８ａの属性が、卒年７４であることを表す。関係７８は、同一項目データの並列関係を表す。また、矢印７９ｅは、各項目に対応するデータ７８ａ〜７８ｄが、同一レコードとして一塊であることを表す。このように、表中の項目セル（文字列）とデータセル（文字列）を判別し、項目とデータの対応関係を決定することを表の論理関係解析と呼ぶ。このようにして解析された論理関係は、たとえばＸＭＬ形式に変換することで、検索、データ交換、質問応答など、後処理での利便性を高めることができる。
【００２３】
図８は、図７に示した表の論理関係をＸＭＬ形式で表現したものである。ＸＭＬのタグ８１は、図７の７９ｅのデータをＸＭＬ形式で表現したものである。タグ８３は、項目名７１に対応し、タグ８４は、その子属性である項目名７４に対応する。文字列８０１は、データ７８ａに対応し、それが項目７４に対応づけられていることを表す。また、タグ８５は項目名７２に対応し、対応するデータが文字列８０３、すなわちデータ７８ｃであることを表現している。このように、表の論理関係解析結果は、ＸＭＬ形式で表現できる。
【００２４】
本発明は、表の論理関係、特に、項目名とデータの対応関係を抽出し、例えば図８のような出力を得る技術に関するものである。
【００２５】
≪本発明で解決する課題の具体的説明≫
次に、本発明が解決しようとする課題について、具体例を用いて説明する。
【００２６】
図４は、総合振込み伝票の一例を示したものである。従来の表論理関係解析手法では、まず処理対象分野の項目単語辞書を用意する。この例では、少なくとも“銀行名”、“支店名”、“種別”、“口座番号”、“受取人”を持つ必要がある。次に、セル・文字行抽出を行った後、各行の文字列と項目単語辞書の照合を行う。そして項目単語辞書との照合に成功すれば、項目名だと判定する。
【００２７】
しかし、一般に項目名は、同じ内容でも表記ゆれが存在し、“銀行名”と書かれることもあれば、“銀行”と書かれることもある。そのため、項目単語辞書は、短いほうの文字列“銀行”を持つ必要がある。その結果、データ文字列４２〜４５に項目名が誤照合し、判定を間違ってしまう。すなわち、項目単語辞書だけでは、当該文字列が項目名なのかデータなのかの曖昧性を解消することができない。
【００２８】
このような課題を解決するために、本発明では、辞書引き結果はあくまで特徴量のひとつとして使用し、自身を含む近傍領域の各種特徴量を用いて、項目らしさとデータらしさを数値化し、この値がなるべく大きくなるように、項目及びデータの組合せ及び関係を決定する。使用する特徴量については、実施例１〜５において具体的に説明する。
【００２９】
≪表論理関係解析装置の構成≫
図１は、本発明の実施形態の表論理関係解析装置の構成例を示す図である。
【００３０】
表論理関係解析装置１０は、入力手段１１、表示装置１２、ＣＰＵ１３、印刷装置１４、ワークエリア１５、情報保持手段１６を備える。ワークエリア１５には、ＯＳ１５１のほか、認識プログラム（表論理関係解析プログラム）１５３、通信プログラム１５２を備える、もしくは必要に応じて情報保持手段１６からロードされる。情報保持手段１６には、認識プログラム１５３が必要とする各種辞書を備える。
【００３１】
入力手段１１の入力装置１１０は、認識プログラム１５３にコマンド等を入力するためのキーボード及びマウス等の装置である。画像入力装置１１１は、紙文書を処理対象とする場合に、表を画像データとして、認識プログラム１５３に入力するためのスキャナ等の装置である。
【００３２】
ＯＳ１５１は、入力手段１１、表示装置１２、ＣＰＵ１３、印刷手段１４、通信プログラム１５２、認識プログラム１５３、その他図示しないメモリ、記憶装置の動作を制御する機能を備える。通信プログラム１５２は、処置対象の文書をネットワーク経由で取得するための通信機能を備える。認識プログラム１５３は、画像入力装置１１１によって得られた画像、もしくは通信プログラム１５２によって得られた電子文書から、表領域を抽出し、表の論理関係を解析する機能を備える。
【００３３】
情報保持手段１６が持つ、項目名単語辞書１６１、レイアウトパターン知識辞書１６２、言語パターン知識辞書１６３、レイアウト共起辞書１６４、言語共起辞書１６５は、認識プログラム１５３が表の論理関係を解析する際に参照する辞書データベースである。項目名単語辞書１６１は、項目名を判定する際に参照する辞書であり、項目名の候補となる単語が格納されている。レイアウトパターン知識辞書１６２は、セルのデザイン（背景色、配置、枠線の種類、文字フォント、太さ、サイズ、色）特徴に基づき、項目らしさとデータらしさを数値化した情報を格納する。レイアウトパターン辞書の例を、図５に示す。レイアウトパターン辞書５１０は、各セルのレイアウトパターンと、それに対する項目らしさ、データらしさを数値化した情報を格納する。知識は、パターン事例５１６、その際の対象セル位置５１７、セルのタイプ５１８（項目かデータか）、尤度５１９から構成される。例えば、知識５１１は文字太さに関するレイアウトパターンがある条件を満たすときのセルの項目らしさを格納し、知識５１２は文字フォントに関するパターンがある条件を満たすときのセルの項目らしさを格納し、知識５１３は、文字斜体装飾のパターンがある条件を満たす時のセルの項目らしさを格納している。また、知識５１４は表内に複数罫線があり、その中の一つが太線である場合に、太線の上にあるセルの項目らしさを格納している。言語パターン知識辞書１６３は、図１４の例に示すように、「数字列＋％」「数字＋月＋数字＋日」など、項目らしさあるいはデータらしさを判定するための文字列パターン（正規表現）と、その項目らしさとデータらしさを数値化した情報を格納する。レイアウト共起辞書１６４は、図１７の例に示すように、物理的連接関係にあるセル同士のデザインの組合せ（レイアウト共起）に基づき、項目らしさとデータらしさを数値化した情報を格納する。言語共起辞書１６５は、図１８の例に示すように、物理的連接関係にあるセル同士の言語パターンの組合せ（言語共起）に基づき、項目らしさとデータらしさを数値化した情報を格納する。
【００３４】
表示装置１２は、認識プログラム１５３によって表の論理関係が解析された結果を表示するディスプレイ等の装置である。ＣＰＵ１３は、ワークエリア１５内の各種プログラムをロードし、実行するための想定である。印刷装置１４は、認識プログラム１５３による表の論理関係解析結果を出力するための装置である。通信ネットワーク１９は、ネットワークでつながった別の装置上のデータやワークエリア、情報保持手段にアクセスするための装置である。
【００３５】
≪概要・効果≫
次に、本発明の概要と効果について説明する。
【００３６】
本発明の前提となる技術は、表論理関係解析において、項目単語辞書との照合により、表中の項目名領域を判定し、データの文字列と項目名文字列の属性を対応付けることである。
【００３７】
本発明の概要は、上記の表論理関係解析において、過剰な辞書照合により項目名文字列の判定が誤る場合に、文字列の特徴、文字列セルの特徴、近傍文字列の特徴、近傍セルの特徴を用いて項目名らしさ及びデータらしさを数値化し、この値がなるべく大きくなるように、項目及びデータの組合せ及び関係を決定することである。
【００３８】
本発明の効果は、辞書照合のみでは項目かデータか曖昧性が残る場合に、その曖昧性を解消することである。
【００３９】
以下、図を用いて本発明における構造要約機能の実施例を詳細に説明する。
【００４０】
≪本発明の表解析フロー≫
本発明では、表の論理関係を解析するため、項目縦（Ｆｖ）、項目横（Ｆｈ）、データ縦横（Ｖｖｈ）、データ縦（Ｖｖ）、データ（Ｖｈ）の５種類のカテゴリを定義し、各セルごとに最適ラベルを選択する問題を考える。例えば、前述した図７の論理関係は、上記ラベルを用いて、図９の表９０のように表現できる。ここで、ラベルＦｘ（ｘはｈ、ｖ、ｖｈのいずれか）は、項目であることを表し、ラベルＶｘは、データであることを表す。また、ラベルＸｖ（ＸはＦ又はＶ）は、下に隣接するセルと論理関係を持つことを表し、ラベルＸｈ（Ｘは、Ｆ又はＶ）は、右方向に隣接するセルと論理関係を持つことを表す。Ｖｖｈは、上及び横の隣接するセルと論理関係を持つことを表す。
【００４１】
図９において、ラベル９１０は学歴７１のラベルを表す。学歴７１は項目名であり、その下方に隣接するセル、卒年７４、学歴７５と論理関係（項目階層関係）を持つため、ラベルＦｖで表現される。ラベル９１１は、性別７２のラベルを表す。性別７２は項目名であり、その下方に隣接するセルと論理関係（項目−データ関係）を持つため、ラベルＦｖで表現される。ラベル９１３は、卒年７４のラベルを表す。卒年７４は、項目名であり、下方に隣接するセルと論理関係（項目−データ関係）を持つため、ラベルＦｖを持つ。ラベル９２０は、文字列７７１のラベルを表す。文字列７７１は、データであり、下方に隣接するセルと論理関係（データの繰り返し）を持つため、ラベルＶｖで表現される。以上のように、表の論理関係が決まると、対応するラベルを一意に決定することができる。逆に、ラベルが決まると、論理関係が一意に決まる。以下の処理フローならびに実施例では、このラベルを決定する処理について説明する。
【００４２】
図３は、本発明の実施形態の表構造解析装置１０によって実行される表の論理関係解析処理の概要を示すフローチャートである。
【００４３】
セル・文字行抽出（Ｓ３１）において、入力された文書から文字行を抽出する。本発明で文字行とは、項目名ないしはデータの判定を行うための単位であり、セルもしくはスペースにより明確に区切られた、文字の塊を表すものとする。次に、項目名文字列照合（Ｓ３２）により、予め登録された項目名単語辞書と照合し、照合パターン（部分一致、完全一致）を記録する。次に、項目名照合度計算（Ｓ３３）により、照合パターン（完全一致、部分一致か）によって、項目らしさ（すなわちＦｘ、Ｖｘの各尤度）を計算する。実際の計算方法については、実施例１で述べる。
【００４４】
次に、項目・データ尤度計算（Ｓ３４）により、処理対象の文字列もしくは文字列が含まれるセルの項目らしさ（Ｆｘ、Ｖｘの各尤度）を計算する。Ｆｘ、Ｖｘの尤度は、レイアウトパターン及び言語パターンに基づいて計算する。例えば、文字の太さ、セルの背景色、割付、インデント等のレイアウトパターンや、「数字列＋％」、「数字＋月＋数字＋日」など、言語パターンを用いることができる。実際の計算方法については、実施例２で述べる。
【００４５】
次に、関係尤度計算（Ｓ３５）により、処理対象のセルと隣接セルとの関係の確からしさを計算する。例えば、図７において、項目７１と７４の関係７６について考える。この場合、ますレイアウトパターンに着目すると、項目７１のセルは、項目７４のセルを包含する関係にあり、項目が階層関係にある可能性が高い（すなわち項目７１のラベルはＦｖ）。また、言語パターンに着目すると、“学歴”という単語は“卒年”という単語の上位概念であると考えられる。これは、概念辞書などを用いることによって判断できる。従って、レイアウトパターン、言語パターン両方の観点から、項目７１と項目７４の関係は確からしいと言うことができる。仮に、項目７１のラベルがＦｈであるとした場合、項目７１のセルが項目７２のセルに含まれるため、確からしさが下がる。また、“学歴”が“性別”の上位概念にあると仮定することになり、やはり確からしさが下がる。以上のように、レイアウトパターンと言語パターンに着目することにより、関係の確からしさを調べることができる。関係の確からしさを計算する方法については、実施例３で述べる。
【００４６】
次に、最適解候補探索（Ｓ３６）により、各文字列に付与するラベルの適切な組合せを探索する。項目・データ尤度計算（Ｓ３４）、関係尤度計算（Ｓ３５）の計算結果の全体統合尤度が大きくなる組合せを選択する必要がある。全ての組合せの全解探索は、セルの数の指数オーダで増加するため、ビームサーチなどの近似解探索の工夫が必要となる。本発明では、処理効率を考慮し、Markov Random Field（Patrick Perez, Markov Random Fields and Images, CWI Quarterly,Vol11(4), pp.413-437,1998）と組み合わせた方法について説明する。詳細については、実施例４で述べる。
【００４７】
≪ラベル尤度計算方法≫
ラベル尤度とは、項目らしさ、データらしさの程度の数値を表すものとする。確率モデルを用いる場合は、項目の確率＝項目の尤度である。
【００４８】
以下、項目名照合度計算（Ｓ３３）について、具体的な実施例を用いて説明する。
【００４９】
（実施例１：項目名照合度による項目らしさの計算）
図１０に、各文字行と辞書エントリの照合パターンの例を示す。項目辞書１０１は、図３の処理フローで参照される項目名単語辞書１６１と同じものである。単語リスト１０２は、登録されている単語の一例を示す。照合事例テーブル１０３は、文字行と辞書照合結果のパターンとその尤度を示したものである。事例１０３１は、文字行“銀行名”の照合パターンを表す。この場合、単語リスト１０２中の単語と完全マッチするため、高い尤度が適当と考えられる。事例１０３２は、文字行“×××銀行”の照合パターンを表す。この場合、単語リスト１０２中の単語と右端が一致する形で文字行中に完全に含まれる。この場合、事例１０３１の完全一致ほどではないが、項目名の可能性が高い。事例１０３３は、文字行“○○価格（××）”の照合パターンを表す。この場合、単語リスト１０２中の“価格”が部分一致する。ただし、“価格”の右隣接文字が記号“（”であるため、右境界一致とする。この場合、事例１０３１の完全一致ほどではないが、項目名の可能性が高い。最後に、事例１０３４は、文字列“単価（△）”の照合パターンを表す。この場合、単語リスト１０２中の“単価”が部分一致する。ただし、“単価”の左端が一致し、右隣接文字が記号“（”であるため、項目名の可能性が高い。
【００５０】
以上のように、項目単語辞書単語との照合パターンにより、項目名らしさを定義することができる。尤度１０３５〜１０３８の値は、以上に述べた項目名らしさを反映する形で、人手で与えることも可能である。また、処理対象分野の正解データを用意し、以下の計算式により計算してもよい。
文字列照合パターンによる尤度（LstrMatch(xi)）＝項目名の頻度数÷各パターンの帳票全体での頻度    …(1)
【００５１】
式(1)について、図４の例で説明する。今、項目単語辞書中に、“銀行”という単語が含まれる場合を考える。このとき、図４の例では、“銀行”にマッチするセルが、５個ある。このうち、項目名であった頻度は１である。従って、LstrMatch(“銀行”)＝１／５＝０．２と計算される。実際には帳票サンプル全体の合計数で計算する。
【００５２】
次に、項目・データ尤度計算（Ｓ３４）について、具体的な実施例を用いて説明する。下記実施例２ａ〜２dで決定される尤度は、近傍のラベルとは無関係に計算される尤度である。後で式(7)に示すように、使用する各属性の尤度の積により、項目・データ尤度計算（Ｓ３４）の統合尤度が計算できる。また、以下の特徴は全て使用しても、使用する特徴をユーザが指定してもよい。
【００５３】
（実施例２ａ：背景パターンによる尤度計算）
項目・データ尤度計算（Ｓ３４）において、縦方向に連続するセルの背景色もしくはハッチングパターンが、その下に隣接するセルの背景色もしくはハッチングパターンと異なる場合、その最上段側に連続するセル内の文字列が、項目名の可能性が高いと判断できる。この処理は、横方向に同じ高さのセルが繰返し連続している場合にも同様に実行できる。
【００５４】
図１１の表の例では、左端の文字列“趣味”、“学歴”、が全てハッチングを持ち、“趣味”の隣接セルがハッチングを持たないため、“趣味”、“学歴”が項目名の可能性が高いと判断できる。加えて、その他の文字列“高校”、“専門／大学”、“その他”や、“職業”、“年収”、“貯蓄額”が、同じハッチングパターンを持っているため、項目名の可能性が高いと推測できる。レイアウトパターンに基づく尤度は、例えば以下の計算式により算出できる。
レイアウトパターンによる尤度（LlayoutMatch(xi)）＝項目名の頻度数÷パターンの頻度    …(2)
【００５５】
式(2)について、図１１の例で説明する。図１１の例では、ハッチングを持つセルが８回現われている。それに対し、実際項目名であったのは８回である。従って、Llayoutmatch(“ハッチング”)＝８／８＝１と計算される。実際には帳票サンプル全体の合計数で計算する。
【００５６】
（実施例２ｂ：文字スタイル）
項目・データ尤度計算（Ｓ３４）において、縦方向に同じ幅のセルが繰返し接続している場合に、繰返しの最上段のセル内の文字の太さと下側のセル内の文字の太さが異なる場合に、その最上段のセル内の文字列が、項目名の可能性が高いと判断する。この処理は、太さ以外の文字のスタイル（フォント、斜体、下線等）についても適用できる。また、この処理は、横方向に同じ高さのセルが繰返し接続している場合にも同様に実行できる。
【００５７】
図１２の表の例では、上側の項目、“学歴”、“性別”、“生年月日”、“卒年”が他の文字列よりも太く、項目名の可能性が高いと判断できる。
【００５８】
本特徴による尤度は、人手で与えるか、式(2)により計算できる。
【００５９】
（実施例２ｃ：線幅）
項目・データ尤度計算（Ｓ３４）において、縦方向に同じ幅のセルが繰り返し接続している場合に、繰返しの最上段のセルの下側の罫線が太く、その他の罫線の太さが細い場合に、その最上段のセル内の文字列が、項目名の可能性が高いと判断する。この処理は、横方向に同じ高さのセルが繰返し連続している場合にも同様に実行できる。
【００６０】
図１３の表の例では、上側の項目、“学校”、“卒年”、“性別”、“生年月日”の下側罫線のみが太く、これらの文字列は項目名の可能性が高いと判断できる。
【００６１】
本特徴による尤度は、人手で与えるか、式(2)により計算できる。
【００６２】
（実施例２ｄ：言語パターンによる尤度計算）
項目・データ尤度計算（Ｓ３４）において、処理対象文字列が、言語パターン知識辞書１６３に定義済みのパターンにマッチする時、パターンごとに定義される項目らしさの値を付与する。
【００６３】
図１４は、言語パターン知識辞書のエントリ例を示す。エントリ１４１１は、文字列が数字と記号だけで表現される場合を表す。この場合、データである可能性が高い。図４の表の例では、文字列４６が、これに相当する。エントリ１４１２は、“３０名”、“２０％”、“１，０００円”などの単位表現を表す。この場合、データである可能性が高い。図１５の例では、文字列１５１２が、これに相当する。エントリ１４１３は、年月日表現を表す。この場合、データである可能性が高い。図６では、文字列６１１〜６１５が、これに相当する。エントリ１４１４は、別の年月日表現を表す。この場合、データの可能性が高いが、スケジュール表などの場合は項目の可能性が高い。例えば、図１５の例では、本来項目である文字列１５１１に、エントリ１４１４のパターンがマッチする。従って、データらしさの尤度は相対的に低めに設定してある。
【００６４】
また、言語パターンとレイアウトパターンの組あわせごとに、尤度を定義してもよい。例えば、エントリ１４１５では、最上セルもしくは最左セルにあり、言語パターンがエントリ１４１４と照合する場合に、項目の尤度を高く設定している。
【００６５】
エントリ１４１６では、上下又は左右の隣接セルが同じパターンを持つ場合に、日付の連続性が保たれていなければ、データの尤度を高く設定している。図１６の表の例では、文字列１６１１、１６１２、１６１３が、このパターンに該当する。
【００６６】
本特徴量により計算される尤度を、以降、LstrpatMatch(xi)と表現するものとする。
【００６７】
以上、レイアウトパターン、言語パターンにより決定される各文字列のＦｘ、Ｖｘ尤度（項目らしさ、データらしさの尤度）を組み合わせて用いることで、各文字列の項目らしさを総合的に判断し、項目かデータかの曖昧性を解消することができる。
【００６８】
実施例１、２では、項目単語辞書、レイアウトパターン、言語パターンによる尤度計算方法について説明した。しかし、各知識辞書により示される結果は相反する場合もありうる。その場合は、どの特徴による尤度が大きいか、また、どの特徴を重要視するかによって総合的に判断される。例えば、全ての特徴による値の掛け算により、項目らしさ、データらしさを総合的に計算することができる。以下の例では、式(7)において、そのような計算を行っている。
【００６９】
≪関係の確からしさの計算≫
以下、関係尤度計算（Ｓ３５）について、具体的な実施例を用いて説明する。下記実施例３ａ〜３ｅで決定される尤度は、近傍のラベルに依存して決まる尤度である。
【００７０】
（実施例３ａ：レイアウト共起辞書）
図１７に、隣接するセル同士のレイアウトパターンと、論理関係別の尤度を示す。これは、図３のレイアウト共起辞書１６４の一例である。テーブル１７０は、特徴量として、接続方向（縦あるいは横）１７０４、接触罫線の種類１７０５、接触罫線の太さ１７０６を用い、接続関係（２つの文字列のラベル（Ｆｘ、Ｖｘ）の組合せ）別に、関係尤度を定義している。
【００７１】
定義１７０１は、横方向に隣接関係を持ち、かつ太い実線で区切られた場合に、各文字列のラベルが、項目−項目（Ｆ−Ｆ）、項目‐値（Ｆ−Ｖ）、項目‐項目（Ｖ−Ｖ）である場合の尤度を示している。図１５の表の例では、文字列１５２１と文字列１５２２の関係が当てはまる。この場合、太線によりラベルの種類が変わることを示している場合が多いため、ラベルの種類の異なる項目−値（Ｆ−Ｖ）の関係の尤度が高くなっている。
【００７２】
定義１７０２は、縦方向に隣接関係を持ち、かつ破線で区切られた場合に、各文字列のラベルが、項目−項目（Ｆ−Ｆ）、項目‐値（Ｆ−Ｖ）、項目‐項目（Ｖ−Ｖ）である場合の尤度を示している。図１９の例では、文字列１９０１と文字列１９０２の関係や、文字列１９１１と文字列１９１２の関係が、これに該当する。破線で区切られた関係は、同種ラベルの連続である場合が多いため、ラベルの種類が等しい、項目−項目（Ｆ−Ｆ）、値−値（Ｖ−Ｖ）の関係の尤度が高くなっている。
【００７３】
これらの尤度は、処理対象分野の正解サンプルを用いて、以下の式で計算できる
関係パターン尤度(LrelLayout(xi,xj))＝各関係の頻度÷各パターンの全体頻度  …(3)
【００７４】
式(3)について、図１９の例で説明する。縦方向の隣接セル間の枠線の種別（破線）が破線の場合を考える。図１９に示した表１９０の例では、このような隣接関係が、３０回現われている。そのうち、値−値（Ｖ−Ｖ）関係のものは、３０回である。従って、LrelLayout（“破線枠”）＝３０／３０＝１と計算される。実際には帳票サンプル全体の合計数で計算する。
【００７５】
テーブル１７１は、特徴量として、割付方向１７０４，１７０５、セルの幅１７０６、背景色１７０７を用い、接続関係（２つの文字列のラベル（Ｆｘ、Ｖｘ）の組合せ）別に、関係尤度を定義している。
【００７６】
定義１７１１は、横（縦）方向に隣接関係を持ち、かつ左（上）のセルの文字列が右詰め、右のセルの文字列が左詰めで、セル背景色が同じ場合の、各関係の尤度を表している。この場合、割付のパターンが変化し、かついずれもセンタリングではないので、両方データである可能性が高いが、セルの背景色が同じであるため、両方項目である可能性も高い。よって、Ｆ−Ｆ及び、Ｖ−Ｖの関係の尤度が高くなっている。図２０の表２００の例では、セル２００１内の文字列とセル２００２内の文字列の関係が、このパターンに該当する。
【００７７】
定義１７１２は、横（縦）方向に隣接関係を持ち、かつ左（上）のセルの文字列がセンタリングされており、右側の文字列がセンタリングされておらず、セル背景色が異なる場合の、各関係の尤度を表している。この場合、左（上）のセルの文字列が項目名であり、右（下）のセルの文字列が値である可能性が高い。図１１の表の例では、セル１１０５内の文字列とセル１１０６内の文字列が、このパターンに該当する。
これらの尤度は、式(3)により同様に計算できる。
【００７８】
（実施例３ｂ：言語共起辞書）
図１８に、隣接するセル同士の言語特徴と、関係尤度の定義例を示す。これは、図３の言語共起辞書１６５の一例である。テーブル１８０は、特徴量として、左（上）のセルの文字列の項目種別１８０４、右（下）のセルの言語パターン／固有表現カテゴリ１８０５を用いて、接続関係（２つの文字列のラベル（Ｆｘ、Ｖｘ）の組合せ）１８０６別に、関係尤度１８０７を定義している。図１８では、最も尤度が高い関係以外は省略している。
【００７９】
定義１８０１は、左（上）側のセルの文字列が、“誕生日”、“生年月日”、“発効日”等の日付項目に類し、右（下）側のセルの文字列が日付表現である場合の、項目−値（Ｆ−Ｖ）関係の尤度を表している。日付表現は、「数値表現＋“年”＋数値表現＋“月”＋数値表現＋“日”」等の正規表現を整備することで判定できる。定義１８０１において、Ｆ−Ｖの値が０．９であり、Ｆ−Ｆの値が０．０であるということは、あるセルの言語パターンが日付表現を表し、その周囲に“誕生日”、“生年月日”等の日付項目表現があれば、その二つのセルが項目と値という論理関係で強く結びつくことを表わしている。
【００８０】
同様に、定義１８０２は、左（上）側のセルの文字列が、“現住所”、“緊急連絡先”等の住所項目に類し、右（下）側のセルの文字列が住所表現である場合の、項目−値（Ｆ−Ｖ）関係の尤度を表している。住所表現は、住所データベースを用いることで判定できる。定義１８０２において、Ｆ−Ｖの値が０．９であり、Ｆ−Ｆの値が０．０であるということは、住所項目を持つセルと、住所表現の言語パターンを持つセルが隣接関係にあれば、その二つが強く結びつくことを表している。
【００８１】
同様に、定義１８０３は、“取引先”という文字列と組織名表現の関係、定義１８０４は“価格”と金額表現の関係、定義１８０５は“受取人”と人名表現の関係、定義１８０６は“手数料”と金額表現の関係の強さを定義している。以上の定義では、各文字列が、人名表現か、組織名表現か、場所表現か、金額表現か、といった種別を判別する必要がある。このように、文字列を切り出し、種別を判別する技術を固有表現抽出という。これには、『工藤拓、松本裕治、「チャンキングの段階適用による日本語係り受け解析」、情報処理学会論文誌、Vol.43、No.6、pp.1834-1842』による方法を用いることができる。
【００８２】
定義１８０７は、“履歴”という文字列と“学歴”という文字列が論理関係（Ｆ−Ｆ）を持つ可能性が高いことを示している。これは一般に項目の階層関係を表す。同様に、定義１８０８は、“履歴”という文字列と“年齢”という文字列が論理関係（Ｆ−Ｆ）を持つ可能性が高いことを示している。定義１８０９は、“学歴”という文字列と“大学”という文字列が論理関係（Ｆ−Ｖ）を持つ可能性が高いことを示している。定義１８１０は、“性別”という文字列と“男”という文字列が論理関係（Ｆ−Ｖ）を持つ可能性が高いことを示している。定義１８０７〜１８０９の関係は、オントロージーやシソーラスにおけるIs-A関係（上位・下位概念関係）や、Has-A関係（部分と全体の関係）により定義できる。例えば、“車”と“乗り物”は、Is-A関係にある。“車”と“エンジン”は、Has-A関係にある。それ以外の関係では、対象分野の正解データを用意し、階層関係にある項目のペアを抽出することで、特定の言語パターン同士の関係強度を計算してもよい。その場合、以下の式により、関係の強さを計算できる。
言語パターン共起尤度（LrelLang(xi,xj)）＝文字列ペアがＦ−Ｆ（Ｆ−Ｖ）関係であった頻度÷文字列が隣接していた頻度    …(4)
【００８３】
以上、隣接関係にある文字列の、レイアウト共起パターン、言語共起パターンにより、論理関係の確からしさを総合的に判断し、表中の項目名とデータの曖昧性を解消することができる。
【００８４】
実施例１、２、３では、項目単語辞書、レイアウトパターン、言語パターン、レイアウト共起パターン、言語共起パターンによる、尤度計算方法について説明した。しかし、各知識辞書により示される結果は相反する場合もありうる。その場合は、どの特徴による尤度が大きいか、また、どの特徴を重要視するかによって総合的に判断される。例えば、全ての特徴による値の掛け算により、項目らしさ、データらしさを総合的に計算することができる。以下の例では、式(7)と式(8)(9)において、そのような計算を行っている。
【００８５】
≪解探索方法≫
上記実施例で説明したように、項目名照合度計算（Ｓ３３）、項目・データ尤度計算（Ｓ３４）、関係尤度計算（Ｓ３５）により、各文字列の近傍情報のみを用いて、項目名らしさ、データらしさを評価する手段を提供した。最後に、これらの尤度を統合した全体尤度が大きくなるラベルの組合せを選択する必要がある。
【００８６】
全ての組合せの全解探索は、セルの数の指数オーダで増加するため、ビームサーチなどの近似解探索の工夫が必要となる。本発明では、Markov Random Field（ＭＲＦ）手法を用いて行う方法について説明する。
【００８７】
以下、解候補探索（Ｓ３６）について、具体的な実施例を用いて説明する。
【００８８】
（実施例４：解候補探索）
いま、観測データをyとし、変数をxとおく。表データのラベル付け問題では、各セル内の文字列集合y=(y1,y2,…,yN)が観測データであり、それらのラベル集合x=(x1,x2,…,xN)が隠れ変数である（但し、xk={Fv,Fh,Fvh,Vv,Vh,l0:l0はラベルが未設定}）。
【００８９】
ＭＲＦでは、まず近傍関係グラフを定義する。形式的には、ノードSとエッジEのグラフGとして以下のように定義される。
【００９０】
【数１】
0004871889.tif 000002
【００９１】
表データの場合、各セルをノード、上下左右の隣接関係をエッジとして、近傍関係グラフを定義できる。図２１に、表データの近傍グラフの例を示す。図２１において、変数x1,x2,…,xNが、各セル２２０１に対応するノードを表し、セルの隣接関係で定義される関係２１１１〜２１１４が、エッジを表す。
【００９２】
表データの論理関係の解析は、ノード集合x=(x1,x2,…,xN)に対する結合確率P(x)を最大とするラベル集合ω=(ω1,ω2,…,ωN)を選ぶ問題と定式化できる。ＭＲＦによるモデル化では、各変数は、近傍の要素のみに直接依存関係があると仮定し、以下のGibbs分布により、結合確率を、独立成分に分解する。
【００９３】
【数２】
0004871889.tif 000003
【００９４】
ここで、Vcは、近傍集合cにより定義されるポテンシャル関数をあらわす。表データでは、近傍集合cは、上下左右の４点で定義できる。図２１の例では、xqの近傍は、xl，xr，xt，xbとなる。ポテンシャルVcは、実施例１、実施例２ａ〜２ｄ、実施例３ａ、３ｂで定義した尤度を用いて、以下の式で定義する。
【００９５】
【数３】
0004871889.tif 000004
【００９６】
ここで、Feature(xi)、Value(xi)は、項目名照合度計算（Ｓ３３）及び、項目・データ尤度計算（Ｓ３４）で計算される項目らしさ、データらしさの尤度を表す。具体的には実施例２ａ〜２ｄで示したものを用いる。FeatureFeature(xi,xj)、FeatureValue(xi,xj)、ValueValue(xi,xj)は、関係尤度計算（Ｓ３５）で計算される値で、着目している２つのセルの論理関係の尤度を表す。具体的には実施例３で示したものを用いる。
【００９７】
【数４】
0004871889.tif 000005
【００９８】
式(7)に示したV(xi,xj)の右辺第１項は、Feature(xi)＞T1すなわち１より大きいとき、変数xiのラベルがFであれば小さくなり、Vであれば大きくなる。すなわち、項目尤度の高さとxiのラベルが同期する場合、ポテンシャル関数Vcが小さくなり、式(6)の確率が高くなるという性質を持つ。
【００９９】
同様に、式(7)に示したV(xi,xj)の右辺第６項は、xiとxj論理関係FVの尤度と、実際のxiとxjの関係ラベルが一致する時に小さくなり、そうでない時に大きくなる。すなわち、式(6)の確率が大きくなる。
【０１００】
上記ポテンシャル関数を用いて、あるノードxiのラベルがsのとき、そのラベル状態がどの程度安定かを計算する尺度、UnStablexi(s)を導入する。
【０１０１】
【数５】
0004871889.tif 000006
【０１０２】
UnStablexq(s)が正の値のとき、より安定な（よりエネルギーの低い）ラベルが存在することを意味する。
【０１０３】
次に、式(7)のポテンシャル関数を用いて、ラベルを決定するアルゴリズムについて説明する。
【０１０４】
図２は、解候補探索（Ｓ３６）の処理の概要を示すフローチャートである。
【０１０５】
項目・データラベル初期化（Ｓ２１）において、F(xi)もしくはV(xi)の値が最大のノードについて、Fv(Fh)あるいはVv(Vh)のラベルを設定する。それ以外のノードは、l0に初期化しておく。初期化に際しては、項目名単語辞書と言語パターン知識辞書を用いて尤度計算を行う。次に、ラベル安定度計算（Ｓ２２）により、各ノードの安定度（式(10)）を計算する。式(10)では、値が大きいほど不安定であることを表す。次に、グラフ探索順序初期化（Ｓ２３）により、探索順序を決定する。グラフ上の探索は、UnStablexq(s)の大きい順に行う。探索順序は、ラベルが更新されるたびに、逐次変化する。探索順序を管理する方法として、priority queueの一種であるヒープ構造を用いることができる。ヒープ構造は、半順序集合をツリーで表現したデータ構造で、ノードの追加・削除を効率的に行うことができる。
【０１０６】
次に、ラベル更新候補検出（Ｓ２４）により、ラベル付けを行うノードxqを選択する。これは、ヒープ構造のルートノードを選択すればよい。次に、終了判定（Ｓ２５）により、xqの不安定度UnStablexq(ωq)が、閾値以上であれば終了し、そうでなければ、ラベル更新（Ｓ２６）を実行する。次に、グラフ探索順序更新（Ｓ２７）により、探索順序を更新する。探索順序の更新は、ヒープ構造からのノードの削除と追加で実現できる。
【０１０７】
いま、xqがヒープ構造のルートノードであったとする。つまり、UnStablexk(s)が最大のノードがxqであったとする。このとき、xqのラベルを、sからtに変更したとする。すると、xqと、その４近傍のUnStablexk(s)の値が変わるため、ヒープ構造のルートノード及び近傍ノードを削除し、ラベル更新後のUnStablexk(s)の値に従い、ヒープにノードを追加する。
【０１０８】
以上の探索方法により、項目らしさ、データらしさの尤度が高いセルから逐次ラベルを決定し、不安程度の高いノードのラベルを更新していくことで、項目名とデータの曖昧性を解消することができる。
【産業上の利用可能性】
【０１０９】
本発明を用いた一般文書中の表の論理関係解析により、検索精度の向上や、リレーショナルデータベースへのデータ統合を効率化できる。また、帳票データ入力作業を効率化することができる。
【図面の簡単な説明】
【０１１０】
【図１】表論理関係解析装置の構成例を示す図。
【図２】解候補探索のフロー図。
【図３】表論理関係解析の概要フロー図。
【図４】伝票の一例を示す図。
【図５】レイアウト知識辞書の例を示す図。
【図６】表形式データ及びその論理関係の説明図。
【図７】表の理関係を示す説明図。
【図８】表論理関係をＸＭＬ表現で示した図。
【図９】表論理関係をセルのラベルで表現した図。
【図１０】項目単語辞書と文字行の照合パターン例を示す図。
【図１１】背景特徴を持つ表の例を示す図。
【図１２】文字スタイル特徴を持つ表の例を示す図。
【図１３】罫線太さ特徴を持つ表の例を示す図。
【図１４】言語パターン知識辞書のエントリ例を示す図。
【図１５】言語パターン知識辞書があてはまる表の例を示す図。
【図１６】言語パターン知識辞書及びレイアウトパターンが当てはまる表の例を示す図。
【図１７】レイアウト共起辞書の例を示す図。
【図１８】言語共起辞書の例を示す図。
【図１９】破線罫線を持つ表の例を示す図。
【図２０】縞模様を持つ表の例を示す図。
【図２１】表のセル構造により定義される近傍グラフの図。
【図２２】表の例を示す図。
【符号の説明】
【０１１１】
１０  表論理関係解析装置
１１  入力手段
１２  表示装置
１３  ＣＰＵ
１４  印刷装置
１５  ワークエリア
１６  情報保持手段
１９  通信ネットワーク
１１０  入力装置
１１１  画像入力装置
１５１  ＯＳ
１５２  通信プログラム
１５３  認識プログラム
１６１  項目名単語辞書
１６２  レイアウトパターン知識辞書
１６３  言語パターン知識辞書
１６４  レイアウト共起辞書
１６５  言語共起辞書
【図１】
0004871889.tif 000007
【図２】
0004871889.tif 000008
【図３】
0004871889.tif 000009
【図４】
0004871889.tif 000010
【図５】
0004871889.tif 000011
【図６】
0004871889.tif 000012
【図７】
0004871889.tif 000013
【図８】
0004871889.tif 000014
【図９】
0004871889.tif 000015
【図１０】
0004871889.tif 000016
【図１１】
0004871889.tif 000017
【図１２】
0004871889.tif 000018
【図１３】
0004871889.tif 000019
【図１４】
0004871889.tif 000020
【図１５】
0004871889.tif 000021
【図１６】
0004871889.tif 000022
【図１７】
0004871889.tif 000023
【図１８】
0004871889.tif 000024
【図１９】
0004871889.tif 000025
【図２０】
0004871889.tif 000026
【図２１】
0004871889.tif 000027
【図２２】
0004871889.tif 000028