(57)【要約】  非定型文書からデータを抽出する方法であって、前記プロセッサが、入力された階層構造付項目辞書内の項目名を列記した項目名情報を生成する項目名情報生成ステップと、前記プロセッサが、前記生成された項目名情報を用いて、入力された文書から項目名とデータとの対応関係を解析することによって、項目名とデータとの対応関係を示す対応候補を生成する対応候補生成ステップと、前記プロセッサが、前記生成された１又は複数の対応候補のそれぞれが、前記階層構造付項目辞書に含まれる１又は複数の階層構造付項目のそれぞれに対応する確からしさを示す信頼度を計算し、前記対応候補のうち前記階層構造付項目に対応するデータを、前記計算された信頼度の順に抽出する抽出ステップと、を含む。
2014068770.tif 000002
【特許請求の範囲】
【請求項１】
非定型文書からデータを抽出する方法であって、
前記方法は、プログラムを実行するプロセッサ、前記プロセッサで実行されるプログラムを格納するメモリ、及び前記プログラムの実行に必要なデータが入力されるインターフェースを有する計算機で実行され、
前記方法は、
前記プロセッサが、入力された階層構造付項目辞書内の項目名を列記した項目名情報を生成する項目名情報生成ステップと、
前記プロセッサが、前記生成された項目名情報を用いて、入力された文書から項目名とデータとの対応関係を解析することによって、項目名とデータとの対応関係を示す対応候補を生成する対応候補生成ステップと、
前記プロセッサが、前記生成された１又は複数の対応候補のそれぞれが、前記階層構造付項目辞書に含まれる１又は複数の階層構造付項目のそれぞれに対応する確からしさを示す信頼度を計算し、前記対応候補のうち前記階層構造付項目に対応する対応候補を、前記計算された信頼度の順に抽出する抽出ステップと、を含むことを特徴とするデータ抽出方法。
【請求項２】
請求項１に記載のデータ抽出方法であって、
前記対応候補は、データを示す文字列であるデータ文字列と、階層構造付項目辞書内の項目名と文字列照合により項目名と判定された文字列である項目名文字列と、項目名文字列と照合された項目名と、データ文字列と項目名文字列の連結関係と位置情報とを含むことを特徴とするデータ抽出方法。
【請求項３】
請求項１又は２に記載のデータ抽出方法であって、
前記抽出ステップでは、前記プロセッサは、前記階層構造付項目内の項目名と前記対応候補内にある項目名が一致する数を用いて前記信頼度を計算することを特徴とするデータ抽出方法。
【請求項４】
請求項１又は２に記載のデータ抽出方法であって、
前記抽出ステップでは、前記プロセッサは、前記階層構造付項目内の項目名と前記対応候補の項目名との類似度を用いて前記信頼度を計算することを特徴とするデータ抽出方法。
【請求項５】
請求項４に記載のデータ抽出方法であって、
前記抽出ステップでは、前記プロセッサは、前記階層構造付項目辞書内の項目名と前記対応候補の項目名とを照合する際に求めた編集距離を用いて前記類似度を計算することを特徴とするデータ抽出方法。
【請求項６】
請求項１又は２に記載のデータ抽出方法であって、
前記抽出ステップでは、前記プロセッサは、前記階層構造付項目内の項目名と一致する前記対応候補の項目名の数を計算し、前記階層構造付項目辞書内の項目名と前記対応候補の項目名とを照合して求めた編集距離を計算し、前記一致する項目名の数及び前記編集距離を引数とする関数を用いて前記信頼度を計算し、
前記関数は、前記一致する項目名の数が多ければ高い値となり、前記編集距離が大きければ低い値となる関数であることを特徴とするデータ抽出方法。
【請求項７】
請求項１から６のいずれか一つに記載のデータ抽出方法であって、
前記対応候補生成ステップは、
前記プロセッサが、紙の文書をスキャンしたイメージデータの入力を受け付け、前記受け付けたイメージデータを２値化する２値化ステップと、
前記プロセッサが、前記２値化されたイメージデータから、文字列及び枠を抽出するレイアウト解析ステップと、
前記プロセッサが、前記抽出された文字列を認識する文字認識ステップと、
前記プロセッサが、前記抽出された枠の連結関係を解析する枠連結関係解析ステップと、
前記プロセッサが、前記項目名情報内の項目名と前記認識された文字列とを照合することによって、前記抽出された枠が項目名を含む項目枠であるかを判定する項目名枠判定ステップと、
前記プロセッサが、項目名を含む項目枠と項目名を含まないデータ枠との連結関係を用いて、項目名とデータとの対応関係を解析し、前記解析された項目名とデータとの対応関係を表わす前記対応候補を抽出する対応候補抽出ステップと、を含むことを特徴とするデータ抽出方法。
【請求項８】
請求項１から６のいずれか一つに記載のデータ抽出方法であって、
前記対応候補生成ステップは、
前記プロセッサが、文字及び罫線のデータが含まれる電子文書の入力を受け付け、前記受け付けた電子文書から文字、文字の位置情報、罫線及び罫線の位置情報を抽出する構成要素抽出ステップと、
前記プロセッサが、前記抽出された構成要素から、文字列及び枠を抽出するレイアウト解析ステップと、
前記プロセッサが、前記抽出された枠の連結関係を解析する枠連結関係解析ステップと、
前記プロセッサが、前記項目名情報内の項目名と前記認識された文字とを照合することによって、前記抽出された枠が項目名を含む項目枠であるかを判定する項目名枠判定ステップと、
前記プロセッサが、項目名を含む項目枠と項目名を含まないデータ枠との連結関係を用いて、項目名とデータとの対応関係を解析し、前記解析された項目名とデータとの対応関係を表わす前記対応候補を抽出する対応候補抽出ステップと、を含むことを特徴とするデータ抽出方法。
【請求項９】
非定型文書からデータを抽出するデータ抽出装置であって、
前記データ抽出装置は、プログラムを実行するプロセッサ、前記プロセッサで実行されるプログラムを格納するメモリ、及び前記プログラムの実行に必要なデータが入力されるインターフェースを備え、
前記プロセッサは、
入力された階層構造付項目辞書内の項目名を列記した項目名情報を生成し、
前記生成された項目名情報を用いて、入力された文書から項目名とデータとの対応関係を解析することによって、項目名とデータとの対応関係を示す対応候補を生成し、
前記生成された１又は複数の対応候補のそれぞれが、前記階層構造付項目辞書に含まれる１又は複数の階層構造付項目のそれぞれに対応する確からしさを示す信頼度を計算し、前記対応候補のうち前記階層構造付項目に対応する対応候補を、前記計算された信頼度の順に抽出することを特徴とするデータ抽出装置。
【請求項１０】
非定型文書からデータを抽出する処理を計算機に実行させるためのプログラムであって、
前記計算機は、プログラムを実行するプロセッサ、前記プロセッサで実行されるプログラムを格納するメモリ、及び前記プログラムの実行に必要なデータが入力されるインターフェースを有し、
前記プログラムは、
入力された階層構造付項目辞書内の項目名を列記した項目名情報を生成する項目名情報生成手順と、
前記生成された項目名情報を用いて、入力された文書から項目名とデータとの対応関係を解析することによって、項目名とデータとの対応関係を示す対応候補を生成する対応候補生成手順と、
前記生成された１又は複数の対応候補のそれぞれが、階層構造付項目辞書に含まれる１又は複数の階層構造付項目のそれぞれに対応する確からしさを示す信頼度を計算し、前記対応候補のうち前記階層構造付項目に対応する対応候補を、前記計算された信頼度の順に抽出する抽出手順と、を前記計算機に実行させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムであって、
前記対応候補は、データを示す文字列であるデータ文字列と、階層構造付項目辞書内の項目名と文字列照合により項目名と判定された文字列である項目名文字列と、項目名文字列と照合された項目名と、データ文字列と項目名文字列の連結関係と位置情報とを含むことを特徴とするプログラム。
【請求項１２】
請求項１０又は１１に記載のプログラムであって、
前記抽出手順では、前記階層構造付項目内の項目名と一致する前記対応候補内にある項目名が一致する数を用いて前記信頼度を前記計算機に計算させることを特徴とするプログラム。
【請求項１３】
請求項１０又は１１に記載のプログラムであって、
前記抽出手順は、前記階層構造付項目内の項目名と前記対応候補の項目名との類似度を用いて前記信頼度を計算する手順を含むことを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムであって、
前記抽出手順は、前記階層構造付項目辞書内の項目名と前記対応候補の項目名とを照合する際に求めた編集距離を用いて前記類似度を計算する手順を含むことを特徴とするプログラム。
【請求項１５】
請求項１０又は１１に記載のプログラムであって、
前記抽出手順は、前記階層構造付項目内の項目名と一致する前記対応候補の項目名の数を計算する手順と、前記階層構造付項目辞書内の項目名と前記対応候補の項目名とを照合して求めた編集距離を計算する手順と、前記一致する項目名の数及び前記編集距離を引数とする関数を用いて前記信頼度を計算する手順とを含み、
前記関数は、前記一致する項目名の数が多ければ高い値となり、前記編集距離が大きければ低い値となる関数であることを特徴とするプログラム。
【請求項１６】
請求項１０から１５のいずれか一つに記載のプログラムであって、
前記対応候補生成手順は、
紙の文書をスキャンしたイメージデータの入力を受け付け、前記受け付けたイメージデータを２値化する２値化手順と、
前記プロセッサが、前記２値化されたイメージデータから、文字列及び枠を抽出するレイアウト解析手順と、
前記抽出された文字を認識する文字認識手順と、
前記抽出された枠の連結関係を解析する枠連結関係解析手順と、
前記項目名情報内の項目名と前記認識された文字とを照合することによって、前記抽出された枠が項目名を含む項目枠であるかを判定する項目名枠判定手順と、
項目名を含む項目枠と項目名を含まないデータ枠との連結関係を用いて、項目名とデータとの対応関係を解析し、前記解析された項目名とデータとの対応関係を表わす前記対応候補を抽出する対応候補抽出手順と、を含むことを特徴とするプログラム。
【請求項１７】
請求項１０から１５のいずれか一つに記載のプログラムであって、
前記対応候補生成手順は、
文字及び罫線のデータが含まれる電子文書から文字、文字の位置情報、罫線及び罫線の位置情報の入力を受け付ける構成要素情報受付手順と、
前記受け付けた構成要素の情報から、文字列及び枠を抽出するレイアウト解析手順と、
前記抽出された文字列を認識する文字認識ステップと、
前記抽出された枠の連結関係を解析する枠連結関係解析手順と、
前記項目名情報内の項目名と前記認識された文字とを照合することによって、前記抽出された枠が項目名を含む項目枠であるかを判定する項目名枠判定手順と、
項目名を含む項目枠と項目名を含まないデータ枠との連結関係を用いて、項目名とデータとの対応関係を解析し、前記解析された項目名とデータとの対応関係を表わす前記対応候補を抽出する対応候補抽出手順と、を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非定型文書からデータを抽出する方法に関する。
【背景技術】
【０００２】
文書認識技術を大別すると、帳票ＯＣＲと文書ＯＣＲとに分けられる。帳票ＯＣＲは、金融機関向けの帳票の読み取りに多く用いられ、文字をテキスト化するだけでなく、指定されたデータ（例えば、金額、住所等）を抽出する機能を含む。帳票ＯＣＲの技術は、書式が限定された大量の帳票の読み取りから、多品種の少量の帳票の読み取りへと適用対象が拡大している。また、読み取り対象の帳票が、ＯＣＲ専用帳票だけでなく、一般ユーザが作成した非定型帳票へと拡大している。さらに、読み取りのための事前定義を簡易化している。すなわち、文字の読み取り位置を絶対座標で定義する方法ではなく、項目名で指定する方法が開発されている。【０００３】
また、文書ＯＣＲは、企業内で様々なビジネス文書の読み取りに用いられている。文書ＯＣＲは、様々な形式の文書を対象とするため、単純なテキスト化作業等、誤読の影響が少ない用途で用いられる。また近年、Ｗｏｒｄ、Ｅｘｃｅｌなどのオフィスソフトウェアによって作成された文書を直接ＰＤＦ化した電子文書の構造解析技術が開発されている。【０００４】
しかし、従来の文書認識技術を用いて設計仕様書等の非定型文書からデータを抽出する場合には問題が生じる。設計仕様書は、様々な会社で独自に作成した文書であり、様々な多くの仕様が記載されるため、金融機関向けの非定型帳票より複雑で多様な表形式となっていることが多い。そのため、容易な定義指定で複雑な表形式からデータを抽出する方法が必要となるが、従来の方法ではデータ抽出精度が低くなる。【０００５】
例えば、非特許文献１に記載されている、抽出するデータの位置を事前に定義する方法は、多種多様な仕様書には適用できない。また、特許文献１に記載された文書処理装置は、仕様書のような複雑な表形式の中からデータを抽出することが難しい。【０００６】
また、仕様書に記載されるデータの項目名は階層構造を持ち、階層構造を持つ項目名及びデータが管理される。そのため、階層構造付項目名辞書に対するデータの抽出が必要となる。階層構造付項目名辞書を用いる方法には、特許文献２に記載された帳票処理方法がある。特許文献２に記載された方法では、より複雑な表形式の中からデータを抽出するために、階層構造付項目名辞書を予め定義しておくことによって、項目名の上位下位の関係の繋がり及び項目名の配置関係を利用して、解析を行うことができる。特許文献２に記載された方法は、例えば、図１７に示すように名前の下位の項目に性及び名があり、生年月日の下位の項目に年、月及び日がある場合に適する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−９９４８０号公報
【特許文献２】特開２００８−３３８３０号公報
【非特許文献】
【０００８】
【非特許文献１】Hiroshi Sako et al., "Form Reading based on Form-type Identification and Form-data Recognition", ICDAR 2003, August, 2003
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述した先行技術では、仕様書に記載される仕様データの項目名の上位下位の関係は一意には決まらず、仕様書を作成した会社によって、項目名の上位下位の関係が異なる場合に解析精度が低下する問題がある。【００１０】
例えば、図１８及び図１９は、同じ種類のデータを持つ表であるが、項目名の階層構造の上位下位の関係が異なる例である。すなわち、図１８に示す表では、機器Ｘ→種類Ａ→温度→Ｏｉｌと項目名を辿るとデータＤ１がある。しかし、図１９に示す表では、機器Ｘ→温度→種類Ａ→Ｏｉｌと項目名を辿るとデータＤ１がある。また、図２０及び図２１に示すように、２次元形式の表で表わされるデータの場合、どの項目が上位であるのかを決めることは難しい。つまり、項目名の上位下位の関係が異なる場合、データを抽出する精度が低下する問題がある。【００１１】
さらに、この方法では、上位下位の関係にある項目名の相対的位置関係の候補を予め定義する必要があるため、様々な書式の仕様書を扱う場合にユーザの手間が多くなる問題がある。【００１２】
本発明は、項目名の上位下位の関係が異なる場合、階層構造付項目名辞書を用いてデータを抽出する精度が低下する問題を解決する。
【課題を解決するための手段】
【００１３】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、非定型文書からデータを抽出する方法であって、前記方法は、プログラムを実行するプロセッサ、前記プロセッサで実行されるプログラムを格納するメモリ、及び前記プログラムの実行に必要なデータが入力されるインターフェースを有する計算機で実行され、前記方法は、前記プロセッサが、入力された階層構造付項目辞書内の項目名を列記した項目名情報を生成する項目名情報生成ステップと、前記プロセッサが、前記生成された項目名情報を用いて、入力された文書から項目名とデータとの対応関係を解析することによって、項目名とデータとの対応関係を示す対応候補を生成する対応候補生成ステップと、前記プロセッサが、前記生成された１又は複数の対応候補のそれぞれが、前記階層構造付項目辞書に含まれる１又は複数の階層構造付項目のそれぞれに対応する確からしさを示す信頼度を計算し、前記対応候補のうち前記階層構造付項目に対応するデータを、前記計算された信頼度の順に抽出する抽出ステップと、を含むことを特徴とする。
【発明の効果】
【００１４】
本発明の一側面によれば、階層構造付き項目辞書内の項目の上位下位の関係が異なる場合でも、項目とデータとを高精度に対応付けることができる。【００１５】
前述した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施例のデータ抽出装置の構成例を示すブロック図である。
【図２】本発明の第１の実施例におけるデータ抽出処理の全体を示すフローチャートである。
【図３】本発明の第１の実施例の階層構造付辞書の例を説明する図である。
【図４】本発明の第１の実施例の項目データ対応付候補生成処理の一例のフローチャートである。
【図５】本発明の第１の実施例のレイアウト解析処理によって得られた枠の情報の例を示す図である。
【図６】本発明の第１の実施例の項目名枠判定処理によって得られた項目名の情報の例を示す図である。
【図７】本発明の第１の実施例の項目データ対応付候補生成処理の一例のフローチャートである。
【図８】本発明の第１の実施例の項目名枠の階層関係の抽出を説明する図である。
【図９Ａ】本発明の第１の実施例の項目とデータとの対応関係の抽出を説明する図である。
【図９Ｂ】本発明の第１の実施例の項目とデータとの対応関係の抽出を説明する図である。
【図１０】本発明の第１の実施例の項目と繋がるデータの連続性の解析を説明する図である。
【図１１】本発明の第１の実施例の項目データ対応候補の例を説明する図である。
【図１２】本発明の第１の実施例の項目データ対応候補の例を説明する図である。
【図１３】本発明の第１の実施例の項目データ対応付候補ランキング抽出処理のフローチャートである。
【図１４】本発明の第１の実施例のデータ選択画面の例を説明する図である。
【図１５】本発明の第１の実施例のデータ選択箇所表示画面の例を説明する図である。
【図１６】本発明の第２及び第３の実施例の項目データ対応付候補生成処理の一例のフローチャートである。
【図１７】階層構造の上位下位の関係が一意に決まる例の説明図である。
【図１８】多階層項目関係を持つ表の例の説明図である。
【図１９】多階層項目関係を持つ表の例の説明図である。
【図２０】多階層項目関係を持つ表の例の説明図である。
【図２１】多階層項目関係を持つ表の例の説明図である。
【発明を実施するための形態】
【００１７】
以下に説明する本発明の実施例は、仕様書、図面などの非定型文書からデータを抽出する方法及び装置に関する。特に、本発明の実施例では、項目名の上下関係が異なる場合でも、階層構造を持つ項目に対するデータを高精度に抽出可能である。
【００１８】
以下、添付図面を参照して本発明の実施例について説明する。ただし、本実施例は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではない。また、各実施例において、同一の構成には同一の符号を付した。
【実施例１】
【００１９】
＜データ抽出処理装置＞
図１は、本発明の第１の実施例のデータ抽出装置２０８の構成例を示すブロック図である。【００２０】
本実施例のデータ抽出装置２０８は、通信装置２０１、画像取得装置２０２、表示装置２０３、補助記憶装置２０４、メモリ２０５、プロセッサ（ＣＰＵ）２０６及び入力装置２０７を有し、これらのデバイスはＰＣＩバスなどの通信線で接続されている。【００２１】
通信装置２０１は、データ抽出装置２０８をネットワークに接続するためのネットワークインターフェースである。画像取得装置２０２は、データが抽出される文書のイメージを取得するための装置であり、例えば、スキャナ、複合機、ＯＣＲ、デジタルカメラなどを用いることができる。なお、画像取得装置２０２は、外部接続されたスキャナが取得した文書の画像データが入力されるインターフェースでもよい。【００２２】
表示装置２０３は、プログラムの実行結果を表示するディスプレイであり、例えば、液晶表示装置を用いることができる。補助記憶装置２０４は、磁気ディスクドライブ、フラッシュメモリ（ＳＳＤ）などの不揮発性記憶装置であり、プロセッサ２０６が実行するプログラム及びプログラム実行時に使用されるデータを格納する。メモリ２０５は、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置であり、オペレーティングシステム（ＯＳ）及びアプリケーションプログラムを格納する。【００２３】
プロセッサ２０６は、メモリ２０５に格納されたプログラムを実行する中央演算装置である。プロセッサ２０６が、オペレーティングシステムを実行することによって、データ抽出装置２０８の基本機能が実現され、アプリケーションプログラムを実行することによって、データ抽出装置２０８が提供する機能が実現される。入力装置２０７は、キーボード、マウスなどのユーザインターフェースである。【００２４】
プロセッサ２０６によって実行されるプログラムは、不揮発性の記憶媒体又はネットワークを介して計算機に提供され、非一時的記憶媒体である補助記憶装置２０４に格納される。すなわち、プロセッサ２０６が実行するプログラムは、補助記憶装置２０４から読み出されて、メモリ２０５にロードされて、プロセッサ２０６によって実行される。【００２５】
ＣＰＵ２０６に入力される文書は、画像取得装置２０２又は通信装置２０１から入力されたものでも、補助記憶装置２０４に記憶されたものでもよい。図１の装置の代表的な例として、ディスプレイ及び複合機が接続されたパーソナルコンピュータがある。【００２６】
データ抽出装置２０８は、データ抽出処理の結果を表示装置２０３に出力する。また、データ抽出装置２０８は、データ抽出処理の結果を通信装置２０１を経由して外部に出力してもよく、データ抽出処理装置２０８で実行される他のプログラムが使用してもよい。【００２７】
＜データ抽出処理＞
図２は、第１の実施例におけるデータ抽出処理の全体を示すフローチャートである。【００２８】
なお、特記しない場合、各ステップは、プロセッサ２０６によって構成される制御部が実行する。【００２９】
項目名リスト化処理１０２は、階層構造付項目名辞書１０１が入力されると、項目名リスト１０３を出力する。階層構造付項目名辞書１０１は、図３に例示するように、項目間の階層構造を保持した形式で項目を表現した辞書である。図３に例示する階層構造付項目名辞書１０１では、表の左から右への関係が階層構造の上位から下位への構造を示している。例えば、機器Ｘの下位に種類Ａ及び種類Ｂがあり、種類Ａの下位に圧力及び温度があり、種類Ｂの下位に圧力及び温度があり、圧力の下位にＯｉｌ及びＷａｔｅｒがあり、温度の下位にＯｉｌ及びＷａｔｅｒがある。ここで、階層構造付項目名辞書１０１に含まれるデータで表される一つの階層構造を、階層構造付項目と称する。例えば、図３の８０２に示す最上段の機器Ｘ、種類Ａ、圧力、Ｏｉｌが一つの階層構造付項目である。【００３０】
項目名リスト１０３は、階層構造付項目名辞書１０１に含まれる項目名をリスト化したものである。例えば、図３に示す階層構造付項目名辞書１０１が入力された場合、項目名リスト１０３は、「機器Ｘ」、「種類Ａ」、「種類Ｂ」、「圧力」、「温度」、「Ｏｉｌ」、「Ｗａｔｅｒ」となる。【００３１】
項目データ対応付候補生成処理１０５は、入力文書１０４及び項目名リスト１０３が入力されると、項目データ対応付候補１０６を出力する。この処理では、仕様書を含む様々な形式の文書が入力され、文書の中に記載されている項目と項目に対応するデータとが関連付けられる。入力される文書は、複合機、スキャナ、カメラ等で取得されたスキャン文書でも、様々なオフィス文書作成ソフトウェアで生成された電子文書でも、ｈｔｍｌ文書でもよい。この処理の詳細は後述する。【００３２】
項目データ対応付候補ランキング抽出処理１０７は、項目データ対応付候補１０６及び階層構造付項目名辞書１０１が入力されると、対応付ランキング結果１０８を出力する。この処理では、項目データ対応付候補１０６内の複数の項目データの対応付候補の中から階層構造付項目辞書内にある各階層構造付項目に該当する項目データ対応付候補を複数抽出し、各階層構造付項目に該当する度合いを示す項目データ対応付信頼度を算出し、項目データ対応付信頼度に基づいて対応付け候補をランキングする。この処理の詳細は後述する。【００３３】
データ抽出処理の結果は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を介してユーザに提供される。ユーザは、階層構造付項目辞書１０１内の各階層構造付項目に対応して抽出された複数の項目データ対応付候補の中から、正しい候補を選択し、データベースに格納することができる。例えば、図１４に示すデータ選択画面及び図１５に示すデータ選択箇所表示画面を用いることによって、効率よくデータを選択、すなわち、データ抽出作業を行うことができる。このようなＧＵＩの例の詳細は後述する。【００３４】
以上に説明したように、本実施例のデータ抽出装置２０８は、項目名リスト化処理１０２、項目データ対応付候補生成処理１０５及び項目データ対応付候補ランキング抽出処理１０７を実行する。すなわち、項目名をリスト化した項目名リスト１０３を生成した後、項目名リスト１０３を利用して、項目とデータとを関連付けした候補である項目データ対応付候補１０６を生成し、項目データ対応付候補１０６の中から階層構造付項目名辞書１０２内の各階層構造付項目に対応する項目データ対応付け候補１０６を抽出し、項目データ対応付信頼度に基づいてデータをランキングする。【００３５】
このように階層構造付項目辞書１０１内の項目名の上位下位の関係を直接的に用いない一連のステップによって、階層構造付き項目名辞書１０２内の項目名の上位下位の関係が入れ替わった場合にも、階層構造付項目辞書１０２内の各項目に対応するデータを高精度に抽出することができる。【００３６】
以降では、項目データ対応付候補生成処理１０５、項目データ対応付候補ランキング抽出処理１０７及びＧＵＩの例について説明する。【００３７】
＜項目データ対応付候補生成処理＞
図４は、第１の実施例の項目データ対応付生成候補処理１０５の一例のフローチャートである。項目データ対応付生成候補処理１０５では、項目とデータとの対応関係を示すデータを生成するものであれば、例示する以外の方法を用いてもよい。【００３８】
項目データ対応付生成候補処理１０５では、まず、２値化処理９０３を行う。２値化処理９０３では、入力文書１０４がカラー画像又は多値画像である場合に行われる。２値化の方法には様々な方法があるが、一般的に用いられる多くの方法（Ｎｉｂｌａｃｋ法、カラー情報をクラスタリングする方法など）を用いることができる。【００３９】
次に、レイアウト解析処理９０４を行う。レイアウト解析処理９０４は、２値画像が入力されると、罫線、罫線が構成する枠の情報及び文字行を抽出する。レイアウト解析処理９０４は、黒画素の繋がり及びその直線性に基づいて罫線を抽出し、抽出された罫線から枠を構成する。【００４０】
図５は、レイアウト解析処理９０４によって得られた枠の情報の例を示す。レイアウト解析処理９０４は、２値画像１１０１から罫線及び罫線が構成する枠１１０２を抽出する。【００４１】
次に、文字認識処理９０５を行う。文字認識処理９０５では、文書中の文字を認識する。文字認識処理９０５には様々な方法があるが、ＬＶＱ、マハラノビス距離を用いた方法などを用いることができる。【００４２】
次に、枠連結関係解析処理９０６を行う。枠連結関係解析処理９０６では、表を構成する複数の枠の連結関係を解析する。項目データ対応付候補抽出処理９０８で用いられる。【００４３】
次に、項目名枠判定処理９０７を行う。図６は、項目名枠判定処理９０７によって得られた項目名の情報の例を示す。項目名枠判定処理９０７では、枠１１０２に含まれる各領域に項目名の文字列を含むかを判定する。具体的には、枠内の文字列と項目名リスト１０３に含まれる項目名とを近似文字列照合し、項目名リストの中の項目名と照合された文字列が含まれる枠を項目名枠であると判定する。図６は、項目名枠判定処理９０７が出力する、項目名及び項目名の領域が抽出された項目名の判定結果１２０２を示す。階層構造付項目辞書内の項目名と同じ意味を表わす文字列が完全に一致するとは限らない。それは文字認識に誤りがある、項目名の表記に揺れがある等のためである。そのため、近似文字列照合を行う。近似文字列照合の方法には、編集距離（レーベンシュタイン距離）を用いることができるが、文字列の類似度合いを示す方法であれば他の方法を用いてもよい。編集距離を用いる場合、枠内の文字列と項目名リスト１０３内の項目名との編集距離を算出し、編集距離を用いて評価値（文字列の類似度を示す値）を算出し、算出された評価値（類似度）が所定の閾値以下であれば照合に成功したと判定する。【００４４】
例えば、類似度の算出方法の一例としては、枠内の文字数＝Ｍ、編集距離＝Ｎとした場合、類似度＝１−Ｎ／Ｍで類似度を算出する。また、枠内の文字数に応じて、類似度の計算方法を変えてもよい。例えば、枠内の文字数が閾値Ａよりも小さい場合、類似度が閾値Ｂ以下であれば照合に成功したと判定する。また、枠内の文字数が閾値Ａ以上である場合、１−Ｎ／Ｍを類似度とし、類似度が閾値Ｃ以下であれば照合に成功したと判定する。【００４５】
枠内の文字列に対して複数の項目名が照合に成功した場合、類似度が大きい順に格納するとよい。そして、少なくとも一つの項目名との照合に成功した文字列を含む枠は項目名枠であると判定する。【００４６】
なお、枠連結関係解析処理９０６と項目名枠判定処理９０７との順序は図示した順序でも、逆の（項目名枠判定処理９０７が先、枠連結関係解析処理９０６が後）順序でもよい。【００４７】
また、項目名枠判定処理では、複数の文字切り出しパタンと文字切り出しパタンに対する複数の文字識別結果からなる文字切り出しネットワークを生成し、文字切り出しネットワークの中から項目名の文字列を探し出す方法を用いてもよい。この場合、類似度の例として選択された文字切り出しパタンの文字識別結果の尤もらしさを表わす文字識別確信度の平均値を用いることができる。この場合には文字認識９０５は、項目名枠判定９０７の後に実施してもよい。【００４８】
次に、項目データ対応付候補生成処理９０８を行う。項目データ対応付候補生成処理９０８では、項目名枠の判定結果及び枠連結関係解析結果を用いて、項目とデータとの対応関係を解析し、項目とデータとの対応付候補１０６を生成する。【００４９】
図７は、項目データ対応付候補生成処理９０８の一例のフローチャートである。【００５０】
項目データ対応付候補生成処理９０８は、項目名枠の階層関係抽出処理１３０１、項目とデータの対応関係抽出処理１３０２及び項目と繋がるデータの連続性解析処理１３０３の三つのステップを含む。【００５１】
項目名枠の階層関係抽出処理１３０１は、項目名と項目名の階層関係がある枠とを関連付ける。【００５２】
この処理は、全ての項目名枠（Ｘ）に以下の処理を行うことによって項目名枠を関連付ける。Ｘを上位の項目名枠と仮定し、Ｘの右に隣接する複数の項目名枠（Ｙ１〜ＹＮ）があり、Ｘの項目名枠の上端及び下端の位置がＹ１〜ＹＮを合わせた領域の上端及び下端の位置と一致する場合、Ｘの下位にＹ１〜ＹＮが位置する、項目名枠の上位下位の関係があると判定する。例えば、図８に示す場合、項目名Ａ１の上端及び下端と項目名Ａ２、Ａ３及びＡ４を合わせた領域の上端及び下端が一致するため、項目名Ａ１と項目名Ａ２、Ａ３及びＡ４とを関連付ける。【００５３】
同様に、Ｘを上位の項目名枠と仮定し、Ｘの下に隣接する複数の項目名枠（Ｙ１〜ＹＮ）があり、Ｘの項目名枠の左端及び右端の位置がＹ１〜ＹＮを合わせた領域の左端及び右端の位置と一致する場合に、Ｘの下位にＹ１〜ＹＮが位置する、項目名枠の上位下位の関係があると判定する。【００５４】
項目名とデータの対応関係抽出処理１３０２は、項目名枠内の項目名に対応する、データが存在する枠を関連付ける。【００５５】
この処理は、全ての項目枠（Ｘ）に以下の処理を行うことによって、項目枠とデータとを関連付ける。Ｘの右に隣接する枠（Ｚｌ）が項目名枠でなく、Ｘの上端及び下端がＺｌの上端及び下端と一致する場合、項目名とデータとが対応すると判定する。例えば、図９Ａに示す場合、項目名Ｂ１を含む枠の上端及び下端が右に隣接するデータＢ１を含む枠の上端及び下端と一致するため、項目名Ｂ１を含む枠とデータＢ１を含む枠との間に、項目名とデータとの対応関係があると判定する。同様に、項目名Ｂ２を含む枠とデータＢ２を含む枠にも項目名とデータの対応関係があると判定する。【００５６】
また、Ｘの下に隣接する枠（Ｚｂ）が項目名枠でなく、Ｘの左端及び右端がＺｂの左端及び右端と一致する場合、項目名とデータとが対応すると判定する。図９Ｂに示す場合、項目名Ｂ３を含む枠の左端及び右端がデータＢ３を含む枠の左端及び右端と一致するため、項目名Ｂ３を含む枠とデータＢ３を含む枠との間に、項目名とデータとの対応関係があると判定する。【００５７】
項目と繋がるデータの連続性解析処理１３０３は、項目名を含む枠と繋がり、かつ、連続して並んでいるデータを含む枠を関連付ける。【００５８】
この処理では、項目名とデータの対応関係抽出処理１３０２によって関連付けられた項目名を含む枠及びデータを含む枠の組に、以下の処理を行うことによって関連付けを行う。具体的には、項目名とデータの対応関係抽出処理１３０２によって関連付けられた項目名を含む枠をＡ、データを含む枠をＤ０とする。項目名枠Ａとデータ枠Ｄ０が上から下への関連付け、すなわち項目名枠Ａが上でデータ枠Ｄ０が下にある場合、データ枠Ｄ０の下の枠Ｄ１が項目名を含む枠であるかを判定する。枠Ｄ１が項目名を含まない枠であり、かつ、データ枠Ｄ０の左端及び右端と枠Ｄ１の左端及び右端とが一致する場合、データ枠Ｄ０から枠Ｄ１へデータが連続して繋がると判定し、データ枠Ｄ０とデータ枠Ｄ１とを関連付ける。【００５９】
さらに、データ枠Ｄ０及びＤ１が関連付けられた後、データ枠Ｄ１の下にある枠Ｄ２が項目名を含む枠であるかを判定する。枠Ｄ２が項目名を含まない枠であり、かつ、データ枠Ｄ１の左端及び右端と枠Ｄ２の左端及び右端とが一致する場合、データ枠Ｄ１から枠Ｄ２へデータが連続して繋がると判定し、データ枠Ｄ１とデータ枠Ｄ２とを関連付ける。このように関連付けが続く限り、隣接する枠との関係を判定する。すなわち、関連付けがない又は連続する隣接方向に枠が存在しなくなるまで、判定を続ける。【００６０】
例えば、図１０に示すように、項目名Ｃ１を含む枠とデータＣ１を含む枠とが、項目名とデータの対応関係抽出処理１３０２によって関連付けられる場合、項目と繋がるデータの連続性解析処理１３０３によって、データＣ１を含む枠とデータＣ２を含む枠とを関連付ける。さらに、データＣ２を含む枠とデータＣ３を含む枠とを関連付ける。【００６１】
また、項目名枠Ａとデータ枠Ｄ０が左から右への関連付け、すなわち項目名枠Ａが左でデータ枠Ｄ０が右にある場合、データ枠Ｄ０の右の枠Ｄ１が項目名を含む枠であるかを判定する。枠Ｄ１が項目名を含まない枠であり、かつ、データ枠Ｄ０の上端及び下端と枠Ｄ１の上端及び下端とが一致する場合、データ枠Ｄ０から枠Ｄ１へデータが連続して繋がると判定し、データ枠Ｄ０とデータ枠Ｄ１とを関連付ける。【００６２】
さらに、データ枠Ｄ０及びＤ１が関連付けられた後、データ枠Ｄ１の右にある枠Ｄ２が項目名を含む枠であるかを判定する。枠Ｄ２が項目名を含まない枠であり、かつ、データ枠Ｄ１の上端及び下端と枠Ｄ２の上端及び下端とが一致する場合、データ枠Ｄ１から枠Ｄ２へデータが連続して繋がると判定し、データ枠Ｄ１とデータ枠Ｄ２とを関連付ける。このように関連付けが続く限り、隣接する枠との関係を判定する。すなわち、関連付けがない又は連続する隣接方向に枠が存在しなくなるまで、判定を続ける。【００６３】
図１１及び図１２は、項目データ対応付候補１０６の例を説明する図である。【００６４】
図１１に示す項目データ対応付候補１７０１は、図３に示す階層構造付き項目名辞書８０１を用いて、項目データ対応付候補生成処理９０８を実行して得られる。【００６５】
項目データ対応付候補１７０１では、温度の下位に種類Ａ及び種類Ｂが関連付けられ、圧力の下位に種類Ａ及び種類Ｂが関連付けられ、種類Ａの下位にＯｉｌ及びＷａｔｅｒが関連付けられ、種類Ｂの下位にＯｉｌ及びＷａｔｅｒが関連付けられる。そして、Ｄ１が温度、種類Ａ及びＯｉｌに関連付けられている。また、Ｄ２が温度、種類Ａ及びＷａｔｅｒに関連付けられる。同様にして、Ｄ３〜Ｄ８にも項目名が関連付けられる。【００６６】
なお、これまで説明した項目データ対応付候補抽出処理９０８は、項目名である機器Ｘと関連付けることができないが、項目データ対応付けの候補が得られればよい。【００６７】
図１２に示す項目データ対応付候補１７０１は、２次元で関連付けられる表であり、図３に示す階層構造付き項目名辞書８０１を用いて、項目データ対応候補抽出処理９０８を実行して得られる。【００６８】
この例では、温度の下位に種類Ａ、種類Ｂ及び種類Ｃが関連付けられ、圧力の下位に種類Ａ、種類Ｂ及び種類Ｃが関連付けられ、機器Ｘの下位にＯｉｌ及びＷａｔｅｒが関連付けられる。そして、Ｄ１１が温度、種類Ａ、機器Ｘ及びＯｉｌに関連付けられる。また、Ｄ１２が温度、種類Ｂと機器ＸとＯｉｌに関連付けられる。Ｄ１２とＯｉｌとは離れているが、項目と繋がるデータの連続性解析処理１３０３によって上か下へ関連付けられるため、ＯｉｌとＤ１２は関連付けられる。同様に、Ｄ１３〜Ｄ１６にも項目名が関連付けられる。【００６９】
また、Ｄ２１が温度、種類Ａ、機器Ｘ及びｗａｔｅｒに関連付けられる。Ｄ２１と種類Ａとは離れているが、項目と繋がるデータの連続性解析処理１３０３によって、左から右へ関連付けられるため、種類ＡとＤ２１は関連付けられる。同様に、Ｄ２２〜Ｄ２６にも項目名が関連付けられる。【００７０】
図１１、図１２の例を用いて説明したように、項目データ対応付候補抽出処理９０８によって、項目名を含まない枠内の文字列Ｄに項目名が関連付けられる。この文字列Ｄと、文字列Ｄに関連付けられる０個、１個又は複数の項目名とのセットが、項目データ対応付候補である。階層構造付項目名辞書内にある一部の項目名が、文字列Ｄに関連付けられなくてもよい。【００７１】
＜項目データ対応付候補ランキング抽出処理＞
図１３は、項目データ対応付候補ランキング抽出処理１０７のフローチャートである。【００７２】
項目データ対応付候補ランキング抽出処理１０７は、階層構造付項目名辞書１０１内の各階層構造付項目に対応する項目データ対応付候補を項目データ対応付候補１０６の中から抽出し、抽出された各項目データ対応付候補の項目データ対応付信頼度を算出し、抽出された項目データ対応付候補を項目データ対応付信頼度に基づいてランキングをする。図１３に示すフローチャートは、階層構造付項目名辞書内の階層構造付項目毎に、すなわち、階層構造付項目の数だけ実行される。例えば、図３に示す階層構造付項目名辞書を用いた場合、項目データ対応付候補ランキング抽出処理１０７を８回実行する。【００７３】
項目データ対応付候補ランキング抽出処理１０７では、まず、項目別対応付候補抽出処理１９０１を実行する。項目別対応付候補抽出１９０１は、項目データ対応付候補生成処理１０５で生成された全ての項目データ対応付候補１０６、及び階層構造付項目名辞書内の一つの階層構造付項目が入力されると、階層構造付項目に対応する可能性がある項目データ対応付候補を項目データ対応付候補１０６から抽出する。【００７４】
階層構造付項目に対応する項目データ対応付候補を抽出する方法は、様々な方法がある。その一例として、項目名の一致数を用いて候補を抽出することができる。具体的には、階層構造付項目内の項目名と一致する項目データ対応付候補内の項目名の数を算出し、一つ（又は、所定の閾値）以上の項目名が一致する項目データ対応付候補を抽出する。抽出された項目データ対応付候補が、項目別項目データ対応付候補である。項目データ対応付候補生成処理では、必ずしも階層構造付項目内の項目名と項目データ対応付候補内の項目名の全てが一致する項目データ対応付候補を生成できるとは限らない。文書構造が複雑で対応付けできない、枠が抽出できない、項目名の一部が記載されていない、項目名の表記に揺れがある等、様々な要因があるためである。本方法では、部分的にでも項目名が一致する項目データ対応付候補を抽出することによって、完全に一致する項目データ対応付候補でない場合でも、ユーザに候補を提供できる。【００７５】
次に、項目データ対応付信頼度算出処理１９０２を実行する。項目データ対応付信頼度算出処理１９０２は、各項目別項目データ対応付候補の項目データ対応付信頼度を算出する。項目データ対応付信頼度は、項目別項目データ対応付候補が、階層構造付項目の項目名に対応する可能性を示す。【００７６】
例えば、項目データ対応付信頼度は、近似文字列照合により一致した項目名の数（項目名の一致数）及び階層構造付項目内の項目名と前記対応付候補の項目名との類似度を用いて算出することができる。階層構造付項目内の項目名と近似文字列照合によって一致した数をｔとし、項目別項目データ対応付候補内の近似文字列照合により一致した項目名のうちｉ番目の文字列をＷｉとし、Ｗｉの文字数をＭｉとし、Ｗｉが項目名と照合されたときの編集距離（レーベンシュタイン距離）をＮｉとした場合、項目データ対応付信頼度Ｆは、式（１）で表すことができる。αはユーザが調整できるパラメータである。【００７７】
【数１】
2014068770.tif 000003
【００７８】
式（１）で表わされる項目データ対応付信頼度は、近似文字列照合により一致した項目数が多いほど高い値となり、それらの照合の際に用いられた編集距離が大きいほど低い値となる。このため、項目データ対応付信頼度は、項目別項目データ対応付候補が階層構造付項目に対応する確度を示すことになる。なお、項目データ対応付信頼度は、一致する項目数が多いほど高い値となり、項目名と文字列の類似度が大きいほど高い値（編集距離が大きいほど低い値）となる関数であれば、他の関数や変換テーブルを用いてもよい。【００７９】
前述の説明では、近似文字列照合により一致した文字列数ｔとＭｉ及び編集距離Ｎｉを引数とする関数を用いて信頼度を計算したが、必ずしも両方を用いなくてもよい。【００８０】
また、編集距離Ｎｉを用いて項目名と文字列の類似度を算出したが、項目名と文字列の類似度を示すものであれば、編集距離以外の値を用いて信頼度を計算してもよい。【００８１】
このように、近似文字列照合によって一致した項目名との数及び項目名との類似度の少なくとも一方を用いて信頼度を計算することによって、簡易な計算で精度よく信頼度を計算することができる。【００８２】
次に、対応付候補ランキング処理１９０３を実行する。対応付候補ランキング処理１９０３では、項目データ対応付信頼度算出処理１９０２で得られた項目データ対応付信頼度の値を用いて、項目別項目データ対応付候補を信頼度の高い順に並べる。【００８３】
以下にＧＵＩの例を説明する。【００８４】
図１４はデータ選択画面の例、図１５はデータ選択箇所表示画面の例を説明する図である。【００８５】
なお、図示した例では、データ選択画面とデータ選択箇所表示画面とを別に構成したが、データ選択画面とデータ選択箇所表示画面とを一体に構成した画面でもよい。【００８６】
データ選択画面２００１（図１４）は、複数の項目名欄２００４、データ候補欄２００５、手入力欄２００６及び出力ボタン２００３を含む。【００８７】
ユーザは、抽出したいデータに関する階層構造付項目名辞書１０１及び文書１０４を指定してデータ抽出処理を実行する。データ選択画面２００１は、データ抽出処理の結果として、階層構造付項目に対応する項目別項目データ対応付候補をランキングして出力する。【００８８】
図１４に示すデータ選択画面２００１の例では、機器Ｘの下位に種類ＧＱＢ及び種類ＧＯＢがあり、種類ＧＱＢの下位に圧力及び温度があり、種類ＧＯＢの下位に圧力及び温度があり、圧力の下位にＯｉｌ及びＷａｔｅｒがあり、温度の下位にＯｉｌ及びＷａｔｅｒがある階層構造付項目が入力されている。【００８９】
階層構造付項目は、その階層に従って左から右へ並んで表示される。階層構造付項目の右隣には、項目データ対応付候補１０６の中にあるデータ文字列がプルダウン形式で表示されている。項目データ対応付候補１０６の中にあるデータ文字列は、項目データ対応付候補１０６の中にある項目名と対応付けられた文字列である。【００９０】
図１４に示すデータ選択画面２００１の例では、８番目の階層構造付項目に対応する項目データ対応付候補が複数あり、それらがプルダウン形式でランキングされ並べられている（２００２）。８番目の階層構造付項目では、信頼度が最も高い項目データ対応付候補のデータ文字列がＤ２０６、信頼度が次に高い項目データ対応付候補のデータ文字列がＤ２０２、信頼度が３番目に高い項目データ対応付候補のデータ文字列がＤ２０３である。ユーザが、このプルダウンメニューの中からデータ文字列を選択すると、該当する項目データ対応付候補の位置をデータ選択箇所表示画面２１０１（図１５）に表示することができる。【００９１】
データ選択箇所表示画面２１０１は、選択された項目名を示す矩形及び項目名の関連を示す線を入力された文書に重畳して描画することによって、選択箇所を識別可能に表示する。【００９２】
図１５は、データ選択画面２００１のプルダウンメニュー２００２内のＤ２０６をマウス等で選択した場合のデータ選択箇所表示画面２１０１の例を示す。図１５に示すデータ選択箇所表示画面２１０１では、文書内の表２が表示され、さらに４つの項目文字列が破線で囲われており、破線で囲われた領域が矢印で結ばれている。この破線と矢印は文書上に重畳して描かれている。破線で囲われている種類ＧＯＢ、温度、Ｗａｔｅｒ及びＤ２０６が、データ選択画面２００１で選択したＤ２０６に対応する項目別項目データ対応付候補であることを示す。【００９３】
ユーザは、データ選択画面２００１からデータ文字列を選択した後、データ選択箇所表示画面２１０１を閲覧することによって、階層構造付項目に対応する正しいデータかを確認することができる。選択したデータが正しい場合、データ選択画面２００１でのＤ２０６の選択をそのままにする。一方、選択したデータが正しくない場合、データ選択画面２００１のプルダウンメニュー２００２から別の候補を選択し、データ選択箇所表示画面２１０１で選択結果を確認する。【００９４】
データ選択画面２００１のプルダウンメニュー２００２内の全てのデータ文字列を選択しても正しいデータが存在しない場合、ユーザはデータ選択箇所表示画面２１０１内で文書をスクロールし、目視によって対応するデータを探し出し、データ選択画面（２００１）の手入力欄２００６にキーボード等を用いてデータ文字列を直接入力する。このように、ユーザが全ての階層構造付項目に対するデータの選択又は入力を完了した後、出力ボタン２００３を操作すると、階層構造付項目及び対するデータを表形式のデータとしてファイルに出力する。【００９５】
以上に説明したように本実施例では、階層構造付項目の上位下位の関係を直接に項目とデータとの関連付けに用いるのではなく、項目名をリスト化（１０２）して項目データ対応付候補１０６を生成し（１０５）、生成された項目データ対応付候補１０６の中から階層構造付項目に項目データを対応付ける（１０７）。この際、項目名の一致数を用いた項目データ対応付信頼度に基づいてランキングをして、データを抽出しているので、実際に文書に記載されている項目名の上位下位の関係が入れ替わっていても、項目名と対応するデータを高精度に抽出することができる。【００９６】
また項目名の一致数及び項目名と文字列の類似度合いを用いて項目とデータを対応付けることによって、表記（例えば、文字の外観）が似ている文字列を同じ項目名と判定した場合でも、より似ているデータ文字列を上位にランキングすることができ、項目名と対応する可能性が高いデータ文字列を先に表示することができる。また、階層構造付項目内のすべての項目名で一致するデータがない場合にも、項目名が部分的に一致するデータを抽出するため、ユーザは部分的に一致するデータの中から正解を選択することができる。
【実施例２】
【００９７】
次に、本発明の第２の実施例について説明する。【００９８】
項目データ対応付け候補生成処理１０５は、第１の実施例で前述したように、２値化処理９０３から項目データ対応付け候補抽出処理９０８までを一つのソフトウェアで実現することもできるが、第２の実施例のように複数のソフトウェアで実現することもできる。【００９９】
例えば、市販のＯＣＲを用いて２値化処理９０３、レイアウト解析処理９０４及び文字認識処理９０５を行い、その結果得られる罫線、文字及びそれらの位置情報を含むＰＤＦ文書１００１を生成する。また、一般的な電子文書（例えば、ワードプロセッサによって作成された文書）１００３をＰＤＦ文書１００１に変換してもよい。【０１００】
具体的には、図１６に示すように、ＰＤＦ文書１００１を入力し、ＰＤＦ構成要素抽出処理１００２において、ＰＤＦ文書１００１に含まれる罫線、文字及びそれらの位置情報を抽出する。そして、抽出された情報を用いて、レイアウト解析処理９０４、枠連結関係解析処理９０７、項目名枠判定処理９０６及び項目データ対応付候補抽出処理９０８を実行する。なお、項目名枠判定処理９０７と枠連結関係解析処理９０６との順序は図示したものと逆でもよい。【０１０１】
以上に説明したように、本発明の第２の実施例によると、ＰＤＦ文書を解析するプログラムと組み合わせることによって、罫線、文字及びそれらの位置情報をＰＤＦ文書から抽出し、項目データ対応付信頼度を計算することができる。このため、項目に対応するデータをＰＤＦ文書から高精度に抽出することができる。
【実施例３】
【０１０２】
次に、本発明の第３の実施例について説明する。【０１０３】
また、電子文書作成ソフトウェア（例えば、ワードプロセッサ）で作成された電子文書１００３を入力することもできる。【０１０４】
具体的には、図１６に示すように、作成された電子文書１００３を入力し、文書構成要素抽出処理１００４において、電子文書１００３に含まれる罫線、文字及びそれらの位置情報を用いて、レイアウト解析処理９０４、枠連結関係解析処理９０７、項目名枠判定処理９０６及び項目データ対応付候補抽出処理９０８を実行する。【０１０５】
以上に説明したように、本発明の第３の実施例によると、電子文書を解析するプログラムと組み合わせることによって、罫線、文字及びそれらの位置情報を電子文書から抽出し、項目データ対応付信頼度を計算することができる。このため、項目に対応するデータを電子文書から高精度に抽出することができる。【０１０６】
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
【図１】
2014068770.tif 000004
【図２】
2014068770.tif 000005
【図３】
2014068770.tif 000006
【図４】
2014068770.tif 000007
【図５】
2014068770.tif 000008
【図６】
2014068770.tif 000009
【図７】
2014068770.tif 000010
【図８】
2014068770.tif 000011
【図９Ａ】
2014068770.tif 000012
【図９Ｂ】
2014068770.tif 000013
【図１０】
2014068770.tif 000014
【図１１】
2014068770.tif 000015
【図１２】
2014068770.tif 000016
【図１３】
2014068770.tif 000017
【図１４】
2014068770.tif 000018
【図１５】
2014068770.tif 000019
【図１６】
2014068770.tif 000020
【図１７】
2014068770.tif 000021
【図１８】
2014068770.tif 000022
【図１９】
2014068770.tif 000023
【図２０】
2014068770.tif 000024
【図２１】
2014068770.tif 000025
【国際調査報告】
2014068770.tif 000026
2014068770.tif 000027
2014068770.tif 000028
2014068770.tif 000029