(57)【要約】【課題】文字情報を含むデータのファイル形式や表データを構成するレコードの識別パタンが予め分からない場合でも当該データの構成を検出し、特定種類の情報を効率よく正確に抽出・分類する。【解決手段】分類情報抽出装置１０は、入力したデータからテキストデータを抽出して表の要素となる一連のキーワードを取得し、取得した個々のキーワードを分類ルール４に格納された対応情報に基づいてその種類別にラベル付けし、種類別に付されたラベルの列から１単位レコードを構成するラベル順列を推定し、当該ラベル順列をレコード推定結果として出力し、１回の繰り返しパタン分のラベル列に含まれる各ラベルに相当する要素をテキストデータからそれぞれ抽出し、これをラベル列の繰り返し数分行うことで前記要素集合に含まれる特定の種類の情報を全て抽出し、抽出した各情報を一定の分類ルールに基づいて各々いずれかのカテゴリに分類し、当該分類結果を抽出する。【選択図】図１
2008027431.tif 000002
【特許請求の範囲】
【請求項１】
文字情報を含むデータの構成を解析する情報解析装置において、
前記データの文字情報から所定の文字列を抽出する文字情報抽出部と、
抽出した前記各文字列を、前記文字列の分類を表すラベルからなる一連のラベル列に変換するラベル化部と、
前記ラベル列内における前記ラベルの出現パタンを推定するラベル出現パタン推定部と、
前記推定した個々の出現パタン毎にラベルの組を抽出する推定パタン情報抽出部と、
前記抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する抽出情報分類部と、
を含むことを特徴とする情報解析装置。
【請求項２】
前記文字情報抽出部は、前記文字列の分類毎に、出現順序が定められた前記文字列を含む前記データから前記所定の文字列を抽出し、
前記ラベル化部は、抽出した各前記文字列を所定の順序で種類別に前記ラベルに置き換えることによって、抽出した前記文字列を一連のラベル列に変換することを特徴とする請求項１に記載の情報解析装置。
【請求項３】
前記ラベル化部は、同一種類の隣り合う２つ以上の前記文字列を１つの前記ラベルに置き換えることを特徴とする請求項１又は２に記載の情報解析装置。
【請求項４】
更に、抽出した前記文字列の種類と前記文字列を置き換える前記ラベルとの対応関係を定義した対応情報を格納する対応情報格納部を備え、
前記ラベル化部は、前記対応情報に基づいて、抽出した前記文字列を種類別に前記ラベルに置き換えることを特徴とする請求項１〜３のいずれか１項に記載の情報解析装置。
【請求項５】
前記ラベル出現パタン推定部は、前後の出現パタン間で欠落したラベルを補足しながら逐次的に当該出現パタンの推定を行なうことを特徴とする請求項１〜４のいずれか１項に記載の情報解析装置。
【請求項６】
前記文字情報抽出部は、前記データの文字情報から前記文字列を抽出するための抽出情報を格納する抽出情報格納部を含み、前記抽出情報に基づいて、前記データの文字情報から前記文字列を抽出することを特徴とする請求項１〜５のいずれか１項に記載の情報解析装置。
【請求項７】
更に、予め定めた分割基準を格納する分割基準格納部を備え、
前記文字情報抽出部は、前記抽出情報に基づいて抽出した前記文字列の集合を、予め定めた分割基準に基づいて複数の部分文字列集合に分割し、
前記ラベル化部は、前記部分文字列集合に含まれる前記文字列を種類別に前記ラベルに置き換え、
前記ラベル出現パタン推定部は、前記部分文字列集合から前記ラベル化部により置き換えられたラベル列を入力としてラベルの出現パタンを推定することを特徴とする請求項６に記載の情報解析装置。
【請求項８】
前記予め定めた分割基準として、前記データ内での隣接する前記文字列間の距離が規定値以上であるか否かを設定し、
前記分割基準を満たすか否かに基づいて、各文字列を異なる部分文字列集合に含ませるか、又は、各文字列を同一の部分文字列集合に含ませることを特徴とする請求項７に記載の情報解析装置。
【請求項９】
前記対応情報は、抽出した前記文字列について、分類した文字列の種類より上位の分類又はより下位の分類に関しても対応関係を定義され、
前記抽出情報分類部は、推定した前記出現パタンで表される各前記ラベルを、前記対応情報に基づいて前記置き換え前の前記各文字列の任意の分類又は該任意の分類より上位の分類又は該任意の分類より下位の分類に対応付け、所定の組合せに適合する適合文字情報を選択することによって、前記データから抽出した前記文字列を分類することを特徴とする請求項４〜８のいずれか１項に記載の情報解析装置。
【請求項１０】
前記推定パタン情報抽出部は、単一種類の前記文字列で成立する分類条件があれば、前記ラベル化部において同一種類の隣り合う２つ以上の前記文字列を１つの前記ラベルに置き換える処理の前に、当該分類条件に合致する前記ラベル列中のラベルを抽出することを特徴とする請求項３〜９のいずれか１項に記載の情報解析装置。
【請求項１１】
前記文字情報抽出部は、前記文字列として抽出するキーワードを種類毎に定義付けたキーワード情報を格納するキーワード辞書を、前記抽出情報格納部として含み、
前記文字情報抽出部は更に、文書等のデータを格納するデータ格納部と、前記データ格納部に格納されているデータを参照し、参照したデータからテキストデータを抽出するテキストデータ抽出部と、抽出されたテキストデータから前記キーワード辞書に格納されているキーワード情報に基づいてキーワードを抽出してキーワード列を前記文字列として生成するキーワード抽出部と含むことを特徴とする請求項６に記載の情報解析装置。
【請求項１２】
前記抽出情報分類部による前記分類結果を記憶する分類結果格納部を備えることを特徴とする請求項１〜１０のいずれか１項に記載の情報解析装置。
【請求項１３】
請求項１〜１２のいずれか１項に記載の情報解析装置と、
前記情報解析装置と通信ネットワークを介して接続され、該通信ネットワークを通じて取得したデータを格納する少なくとも１つのデータ蓄積部を含む情報解析システムであって、
前記情報解析装置における前記文字情報抽出部は、前記データ蓄積部に格納された前記データの文字情報から所定の文字列を抽出することを特徴とする情報解析システム。
【請求項１４】
文字情報を含むデータの構成を解析する情報解析方法であって、
前記データの文字情報から所定の文字列を抽出する文字情報抽出処理と、
抽出した前記各文字列を、前記文字列の分類を表すラベルからなる一連のラベル列に変換するラベル化処理と、
前記ラベル列内における前記ラベルの出現パタンを推定するラベル出現パタン推定処理と、
前記推定した個々の出現パタン毎にラベルの組を抽出する推定パタン情報抽出処理と、
前記抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する抽出情報分類処理と、
を含むことを特徴とする情報解析方法。
【請求項１５】
前記ラベル化処理においては、前記抽出した文字列の集合に含まれる同一種類の隣り合う２つ以上の前記文字列を１つの前記ラベルに置き換えることによって前記文字列を一連のラベル列に変換することを特徴とする請求項１４に記載の情報解析方法。
【請求項１６】
更に、抽出した文字列の種類と前記文字列を置き換える前記ラベルとの対応関係を定義した対応情報を格納する対応情報格納処理を含み、
前記ラベル化処理においては、前記対応情報に基づいて、抽出した文字列を種類別に前記ラベルに置き換えることを特徴とする請求項１４又は１５に記載の情報解析方法。
【請求項１７】
前記ラベル出現パタン推定処理においては、前後の出現パタン間で欠落したラベルを補足しながら逐次的に当該出現パタンの推定を行なうことを特徴とする請求項１４〜１６のいずれか１項に記載の情報解析方法。
【請求項１８】
前記対応情報は、抽出した前記文字列について、分類した文字列の種類より上位の分類又はより下位の分類に関しても対応関係を定義され、
前記抽出情報分類部は、推定した前記出現パタンで表される前記各ラベルを、前記置き換え前の前記各文字列の任意の分類又は該任意の分類より上位の分類又は該任意の分類より下位の分類に対応付け、所定の組合せに適合する適合文字情報を選択することによって、前記データから抽出した前記文字列を分類することを特徴とする請求項１６又は１７に記載の情報解析方法。
【請求項１９】
前記推定パタン情報抽出処理においては、単一種類の前記文字列で成立する分類条件があれば、前記ラベル化処理において同一種類の隣り合う２つ以上の前記文字列を１つの前記ラベルに置き換える処理の前に、当該分類条件に合致する前記ラベル列中のラベルを抽出することを特徴とする請求項１８に記載の情報解析方法。
【請求項２０】
更に、前記分類の結果を記憶する処理を含むことを特徴とする請求項１８または１９に記載の情報解析方法。
【請求項２１】
コンピュータに、文字情報を含むデータの構成の解析を実行させるための情報解析プログラムであって、
前記データの文字情報から所定の文字列を抽出する文字情報抽出処理と、
抽出した前記各文字列を、前記文字列の分類を表すラベルからなる一連のラベル列に変換するラベル化処理と、
前記ラベル列内における前記ラベルの出現パタンを推定するラベル出現パタン推定処理と、
前記推定した個々の出現パタン毎にラベルの組を抽出する推定パタン情報抽出処理と、
前記抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する抽出情報分類処理と、
を実行させるための情報解析プログラム。
【請求項２２】
前記ラベル化処理においては、抽出した前記文字列の集合に含まれる同一種類の隣り合う２つ以上の前記文字列を１つの前記ラベルに置き換えることによって前記文字列を一連のラベル列に変換する処理を実行させることを特徴とする請求項２１に記載の情報解析プログラム。
【請求項２３】
更に、抽出した文字列の種類と前記文字列を置き換える前記ラベルとの対応関係を定義した対応情報を格納する対応情報格納処理を実行させ、
前記ラベル化処理においては、前記対応情報に基づいて、抽出した文字列を種類別に前記ラベルに置き換える処理を実行させることを特徴とする請求項２１又は２２に記載の情報解析プログラム。
【請求項２４】
前記ラベル出現パタン推定処理においては、前後の出現パタン間で欠落したラベルを補足しながら逐次的に当該出現パタンの推定を実行させることを特徴とする請求項２１〜２３のいずれか１項に記載の情報解析プログラム。
【請求項２５】
前記対応情報は、抽出した前記文字列において、分類した文字列の種類より上位の分類又はより下位の分類に関しても対応関係を定義され、
前記抽出情報分類処理においては、推定した前記出現パタンで表される各前記ラベルを、前記置き換え前の各前記文字列の任意の前記分類又は該任意の分類より上位の分類又は該任意の分類より下位の分類に対応付け、所定の組合せに適合する適合文字情報を選択することによって、前記データから抽出した前記文字列を分類する処理を実行させることを特徴とする請求項２１〜２４のいずれか１項に記載の情報解析プログラム。
【請求項２６】
前記推定パタン情報抽出処理においては、単一種類の前記文字列で成立する分類条件があれば、前記ラベル化処理において同一種類の隣り合う２つ以上の前記文字列を１つの前記ラベルに置き換える処理の前に、当該分類条件に合致する前記ラベル列中のラベルを抽出する処理を実行させることを特徴とする請求項２５に記載の情報解析プログラム。
【請求項２７】
更に、前記分類の結果を記憶する処理を実行させることを特徴とする請求項２５又は２６に記載の情報解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル文書に含まれる、特に潜在的に表形式となりうるキーワード列から特定種類の情報を抽出して分類する情報解析装置、情報解析方法、及び情報解析プログラムに関する。
【背景技術】
【０００２】
現在の一般的な企業に代表される殆どの組織には、連絡名簿や顧客情報、財務情報、設備情報、営業記録情報などをそれぞれ１件または複数件まとめて記載した文書が大量に存在する。これらの中には、本来データベースとして管理した方が情報の活用と保護の両面で優れているものの、とりあえず文書として記録したままになっているものも多い。今般、個人情報保護法の施行や日本版ＳＯＸ法（Ｓａｒｂａｎｅｓ‐Ｏｘｌｅｙ  ａｃｔ）制定の動きなどにより、それら組織内文書の多くは以前より厳密に洗い出して分類し、管理・保護する必要性が高まってきている。１個人のみに関する顧客情報や１部門のみに関する財務情報が記載された文書に比べ、複数の顧客情報や財務情報がまとめて記載された文書は、一般的に有用性が高いと共に漏洩や逸失による被害も大きく、より重要な文書と考えられる場合が多い。また、多くの場合顧客情報や財務情報などのような特定種類の情報が多数記載された文書では当該情報を表形式またはリスト形式で列挙しているため、文書中の表や表に順ずるリストから顧客情報や財務情報などを１件単位で自動的に抽出できれば、情報の活用と保護をより確実且つ容易にすることができる。
【０００３】
しかし、リスト形式を含む表形式を用いられた文書を構成する表データの記述方法は、文書ファイルのフォーマットや表の構成の仕方によって千差万別である。例えば、ある文書はマイクロソフト社のＥｘｃｅｌというソフトウェアが用いられることによって、Ｅｘｃｅｌブック形式という専用の形式で表データが記述される。一方、別のある文書はＷｅｂブラウザで閲覧するためにＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式という表形式で記述されるため、ＨＴＭＬ専用のタグを使って表データが記述される。このように、文書中の表データはそれぞれのファイル形式専用の構造情報を用いて記述され、さらに個々の表データによっても要素の構成が異なる。
【０００４】
このため、様々な形式で記述された表データやレコードを文書から検出する従来の手法の例としては、特許文献１のように、ＨＴＭＬ文書を対象とした場合はＴＡＢＬＥタグやＴＲタグなどを手掛かりに表データの構造を解析し、同様に前述のＥｘｃｅｌなどによる文書を対象とした場合はそのＥｘｃｅｌなどのソフトウェア専用の構造解析方法を用いて表データを抽出する手法が開示されている。また、明確な表としての区切り線がなくテキストエディタで要素を列挙したような表データの記述方法もあるが、これに対しては特許文献２のように、表データを構成するレコードの先頭や末尾を識別するためのテキストデータのパタンを予め与えておくことで、個々のレコードを識別して表データの要素を抽出する手法が開示されている。
【特許文献１】特開２００３−１５０６２４号公報
【特許文献２】特開平９−２８２２０８公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記従来の手法は以下に示すような問題点を有する。
【０００６】
第１の問題点は、様々なファイル形式に対応する表構造解析方法を予め個別に用意しておくことは、ファイル形式の詳細な仕様が公開されていない場合もあるため、一般に容易ではないという点である。
【０００７】
第２の問題点は、ファイルの拡張子が同じであっても文書を作成するソフトウェアやファイル形式自体のバージョンが異なると、表データなどの構造記述方法が異なってくる場合があるという点であり、さらに、将来の新たなファイル形式への対応をその都度行う必要があるという点である。
【０００８】
第３の問題点は、ファイル形式ではなくテキストデータの記述パタンを使ってレコードを検出する従来の方法は、ファイル形式には依存しないものの、予め個々の表データにおけるレコードの記述パタンを全て知っておく必要があるため、多くの人やシステムによって記述された多種多様な表データを含む文書に当該従来の方法を適用することは困難であるという点である。
【０００９】
本発明は、以上のような問題に鑑みなされたものであり、データのファイル形式や表データを構成するレコードの記述パタンが予め分からない場合でも、精度良く表データを構成する個々のレコードを推定し、推定したレコードから文書中の特定種類の情報を抽出して分類する情報解析システム、情報解析方法、情報解析装置及び情報解析プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明の文字情報を含むデータの構成を解析する情報解析装置は、前記データの文字情報から所定の文字列を抽出する文字情報抽出部と、抽出した前記各文字列を、前記文字列の分類を表すラベルからなる一連のラベル列に変換するラベル化部と、前記ラベル列内における前記ラベルの出現パタンを推定するラベル出現パタン推定部と、前記推定した個々の出現パタン毎にラベルの組を抽出する推定パタン情報抽出部と、前記抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する抽出情報分類部とを備える。
【００１１】
本発明の文字情報を含むデータの構成を解析する情報解析方法は、データの文字情報から所定の文字列を抽出し、抽出した各文字列を、文字列の分類を表すラベルからなる一連のラベル列に変換し、ラベル列内におけるラベルの出現パタンを推定する。さらに、推定した個々の出現パタン毎にラベルの組を抽出し、抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する。
【００１２】
本発明の文字情報を含むデータの構成の解析を実行させるための情報解析プログラムは、コンピュータに、データの文字情報から所定の文字列を抽出する文字情報抽出処理と、抽出した各文字列を、文字列の分類を表すラベルからなる一連のラベル列に変換するラベル化処理と、ラベル列内におけるラベルの出現パタンを推定するラベル出現パタン推定処理と、推定した個々の出現パタン毎にラベルの組を抽出する推定パタン情報抽出処理と、抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する抽出情報分類処理とを実行させる。
【００１３】
以上のような本発明によれば、ラベルの出現パタンに基づいて、文字情報を含むデータの構成を推定し、所定の分類条件に適合する文字情報を取得できる。
【発明の効果】
【００１４】
本発明によれば、データのファイル形式や表を構成するレコードの記述パタンが予め分からない場合や、個々のレコードの要素が部分的に欠損している不完全な表を対象とする場合や、１レコードが複数行から構成されている場合においても、ラベルの出現パタンからデータの分類に基づいた構成を精度良く推定し、推定した構成に基づいて、データの文字情報から抽出した各文字列を分類し、所定の分類条件に適合する文字情報を取得できる。
【発明を実施するための最良の形態】
【００１５】
（第１の実施の形態の構成）
図１は、本発明の第１の実施の形態による情報解析装置の機能構成を示すブロック図である。
【００１６】
図１を参照すると、本実施の形態による情報解析装置１０は、表要素列抽出手段１と、表要素ラベル化手段２と、ラベル出現パタン推定手段３と、分類ルール４と、分割基準格納手段５と、情報抽出手段６と、情報分類手段７とを備える。
【００１７】
ここで、表要素列抽出手段１は、データを入力してテキストデータを抽出する機能と、抽出したテキストデータから表（表データ）の要素となる一連のキーワードを取得する機能を有する。なお、表要素列抽出手段１によってテキストデータを抽出されるデータは、例えば、表形式の文書や実行プログラムファイル等を対象として含んでいてもよく、データの種類に特に制限はない。
【００１８】
すなわち、表要素列抽出手段１は、入力されたデータから抽出したテキストデータを参照することによって、表（表データ）を構成しうる要素集合を当該テキストデータから抽出する機能を有する。
【００１９】
表要素列抽出手段１においてデータからテキストデータを抽出する方法としては、データからレイアウト情報や表データの罫線情報などの表示制御用情報（例えばＨＴＭＬ文書におけるタグ情報）を取り除くことによってテキストデータを抽出する方法や、ＡＳＣＩＩやＪＩＳなど特定種類の文字コードに合致するバイナリデータを抽出する方法などがある。後者の方法では、対象とするデータはワードプロセッサやテキストエディタなどで作成された文書ファイルに限らず、テキストデータを内部に含みうる実行プログラムファイルなども対象とすることができる。
【００２０】
また、表要素列抽出手段１は、分割基準５に格納された分割基準に基づいて、抽出したキーワードが同じ表データを構成するキーワードであるか否かを判断する。
【００２１】
表要素ラベル化手段２は、表要素列抽出手段１によって取得した個々のキーワードを分類ルール４に格納された対応情報に基づいてその種類別にラベル付けする機能を有する。
【００２２】
すなわち、表要素ラベル化手段２は、テキストデータから抽出された１つの要素集合について、分類ルール４に格納された対応情報に基づいて各要素を種類別のラベルに置き換えることにより、当該要素集合を一連のラベルの列（以下、ラベル列）に変換する機能を有する。
【００２３】
ラベル出現パタン推定手段３は、表要素ラベル化手段２によって種類別に付されたラベルの列から１単位レコードを構成するラベル順列を推定し、当該ラベル順列をレコード推定結果として出力する機能を有する。
【００２４】
すなわち、ラベル出現パタン推定手段３は、得られたラベル列から同一種類のラベルが出現する繰り返しパタンを検出し、１回の繰り返しパタン分の単位ラベル列を１単位の情報を表すレコードと判定する機能を有する。
【００２５】
分類ルール４は、各種のキーワードとラベルとの対応関係を示す対応情報及び予め用意された、各ラベルに対応するキーワードの列を文書中から抽出するための分類基準情報（分類ルール）を格納する機能を有する。
【００２６】
分割基準格納手段５は、抽出したキーワードが同じ表データに属するか否かの基準を示す分割基準を格納する機能を有する。
【００２７】
情報抽出手段６は、ラベル出現パタン推定手段３によって推定結果として得られた１単位レコード分の単位ラベル順列及び分類ルール４に基づいて、各ラベルに対応するキーワードの列を文書中から抽出する機能を有する。また、情報抽出手段６は、当該抽出した情報を記憶する機能を有してもよい。
【００２８】
情報分類手段７は、分類ルール４に格納された分類基準情報との比較により、情報抽出手段６によって抽出されたキーワードの列から各単位レコード分の情報を分類する機能と、分類結果を抽出する機能とを有する。
【００２９】
図２は、本実施の形態による情報解析装置のハードウェア構成を示すブロック図である。
【００３０】
図２を参照すると、本実施の形態による情報解析装置１０は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部１２、液晶ディスプレイ、プリンタやスピーカ等の提示部１３、キーボードやマウス、スキャナ等の入力部１４、周辺機器と接続してデータの送受信を行うインタフェース部１５、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部１６、本情報処理装置の上記各構成要素を相互に接続するシステムバス１７等を備えている。
【００３１】
本発明による情報解析装置１０は、その動作を、情報解析装置１０内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のＣＰＵ１１で実行することにより、ソフトウェア的に実現することができる。
【００３２】
すなわち、ＣＰＵ１１は、補助記憶部１６に格納されているプログラムを、主記憶部１２にロードして実行し、情報解析装置１０の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
【００３３】
なお、第２〜第４の実施の形態において後述する情報解析装置も、情報解析装置１０と同様のハードウェア構成を備えることによって、所定の機能をハードウェア的に又はソフトウェア的に実現することができる。
【００３４】
（第１の実施の形態の動作）
図３は、本実施の形態による情報解析装置の動作を示すフローチャートである。
【００３５】
本実施の形態による情報解析装置１０は、図３に示すような手順で表のレコードに含まれる情報を分類する。
【００３６】
まず、表要素列抽出手段１が、入力されたデータからテキストデータを抽出し（ステップＳ１０１）、抽出したテキストデータから１つの表データを構成する一連のキーワード列を取得する（ステップＳ１０２）。
【００３７】
ステップＳ１０２におけるキーワード列の取得方法としては、例えば表要素列抽出手段１内の記憶手段に予め用意した辞書に含まれるキーワードと合致する文字列がテキストデータ中に見つかれば、その文字列を抽出する方法や、または、テキストデータの形態素解析を行ない、固有名詞のうち氏名や地名など文字情報の種類が特定できるものを全て抽出する方法や、これらの方法の他にも、正規表現などで定義した一定のパタンに合致する文字列を抽出することで、電話番号やメールアドレス、会社名、学校名、特定の形式を持つ製品名などを取得する方法などがある。
【００３８】
また、１つの表データを構成する範囲の上記キーワード列の区切りは、例えば、隣り合うキーワード間の距離で判断することができる。
【００３９】
すなわち、分割基準として同じ表データに含まれるキーワード間の最大許容距離（容量）を１００バイトとすると、テキストデータから抽出されたあるキーワードとその次の抽出された別のキーワードとの間の距離がデータ長で１００バイト以内であれば、表要素列抽出手段１は、分割基準に基づいて、それら２つのキーワードが同じ表データを構成するキーワードであると判断する。
【００４０】
次に、表要素ラベル化手段２が、ステップＳ１０２で得られた１つの表データを構成するキーワード列を分類ルール４に格納された対応情報に基づいてそれぞれ種類別のラベルに置き換える（ステップＳ１０３）。
【００４１】
分類ルール４において、例えば、キーワードの内、氏名はＡ、住所はＢというように予めキーワードの種類と対応するラベルを定義しておくと、表要素ラベル化手段２によって山田や鈴木といった名前はＡというラベルに、京都府や名古屋市といった地名はＢというラベルに置き換えられる。このような置換処理を全てのキーワードに適用すると、一連のキーワード列はステップＳ１０３においてラベル列となる。
【００４２】
次に、表要素ラベル化手段２が、ステップＳ１０３で得られたラベル列の中で、隣り合うラベルが同じ種類のラベルであった場合、それらを１つのラベルにまとめる（ステップＳ１０４）。
【００４３】
例えば、ＡＡＢＢＢＣというラベル列はまとめられてＡＢＣというラベル列になる。
【００４４】
ここで、ステップＳ１０３で各キーワードをラベルに置き換える際、あるキーワードを置き換えた場合のラベルが、当該キーワードの直前のキーワードの置き換え後のラベルと同じであれば、その当該キーワードの置き換えた場合のラベルを削除することによって、表要素ラベル化手段２がステップＳ１０３とステップＳ１０４を同時に処理できる。
【００４５】
以上のようにして、ステップＳ１０４によって２つ以上同じ種類のラベルが連続しないラベル列ができると、ラベル出現パタン推定手段３が、そのラベル列の先頭からラベルを読み込んで（検出して）いき、既に検出したラベルと同一の種類のラベルを２度目に検出したとき、その直前までの一連のラベルを候補レコードとして記憶する（ステップＳ１０５）。
【００４６】
例えば、「ＡＢＣＡＢＤＣＡ・・・」というラベル列があった場合、先頭からＡ、Ｂ、Ｃ、と読み込み、次にまたＡを検出した時点で、その直前までのラベル列「ＡＢＣ」を最初の候補レコードとする。
【００４７】
その後、ラベル出現パタン推定手段３は、２度目のＡから再びＡ、Ｂ、と読み込むが、ここからはステップＳ１０５で記憶した候補レコード「ＡＢＣ」と比較しながら読み込み、例えば、ＡＢの次に新たなラベルＤを検出すると、候補レコード上でもＡＢの次にラベルＤを挿入し、新たな候補レコードを「ＡＢＤＣ」として記憶する（ステップＳ１０６）。
【００４８】
その後、ラベル出現パタン推定手段３は、例えば、Ｄの次にＣを検出し、さらに３度目のＡを検出すると、ステップＳ１０６で記憶した新たな候補レコード「ＡＢＤＣ」との差異は無いことを理由として、当該新たな候補レコード「ＡＢＤＣ」を上記のようにそのまま後段のステップで利用する。
【００４９】
以降、ラベル出現パタン推定手段３は、同様に最新の候補レコードとステップＳ１０４によって得られたラベル列中のラベルを順に比較しながら、候補レコードを更新していき、ステップＳ１０４によって得られたラベル列を最後まで読み込んだ結果得られた最新の候補レコードを、その表データのレコード構成を表すラベル列と推定（判定）する（ステップＳ１０７）。
【００５０】
次いで、情報抽出手段６は、ステップＳ１０７で推定された候補レコードを、元のキーワード列の先頭から適用し、元のキーワード列に対応するラベル列に含まれる各ラベルに対応するキーワードを、１つの表を構成する一連のキーワード列から当該ラベル列の順に抽出し、それぞれ１単位レコード分のキーワード列を１つの情報として記憶する（ステップＳ１０８）。
【００５１】
次いで、情報分類手段７は、ステップＳ１０８で抽出された各ラベルに対応するキーワードを、そこに含まれるキーワードと分類ルール４に格納された分類基準情報との比較により分類し、分類結果を出力（抽出）する（ステップＳ１０９）。
【００５２】
（第１の実施の形態の効果）
【００５３】
本実施の形態によれば、データのファイル形式や表データを構成するレコードの識別パタンが予め分からない場合でも、表データを構成する個々のレコードについての種類及び構成順序を精度良く推定し、各レコードに相当する情報を抽出することができるため、データ中から顧客情報や財務情報などの所定の情報を正しく検出することができる。
【００５４】
その理由は、情報解析装置１０が、入力されたデータからテキストデータを抽出し、抽出したテキストデータから一連のキーワードを抽出することによって、様々なファイル形式に依存することなく、しかも、予め個々の表データにおけるレコードの記述パタンを全て知っておくことを必要とすることなく、多くの人やシステムによって記述された多種多様な表データを含むデータから抽出した一連のキーワードを、キーワードの種類に対応付けられたラベルに置き換え、隣接する同一種類のラベルをまとめることによって生成したラベル列についての同一種類のラベルが繰り返し出現する繰り返しパタンに基づいて、１回の繰り返しパタン分の単位ラベル列を１単位の情報を表すレコードと判定するからである。
【実施例１】
【００５５】
本発明の実施例１を、図面を参照して説明する。実施例１は、本発明を上記実施の形態１に適用したものであり、上記実施の形態１をより具体的な例によって説明するものである。なお、実施例１の構成及び動作の概略は上記実施の形態１の構成及び動作の概略と同様であるため、重複する部分については適宜省略して説明する。
【００５６】
（実施例１の動作）
実施例１において、あるデータ中に図４に示すような表データ４０１が記述されていたとする。前述の表要素列抽出手段１を用いて、この表データ４０１を構成する文字列をテキストデータとして抽出し、さらに、図５に示した名前（氏名・連名を含む）や地名（住所を含む）などいずれかの種類に合致するキーワードを当該テキストデータから抽出する（図３ステップＳ１０１〜Ｓ１０２参照）。
【００５７】
さらに、図５に示した各種のキーワードとラベルとの対応関係を示す対応情報５０１に基づき、例えば名前（氏名・連名）であればラベルＡを適用することで、抽出したキーワード列を前述の表要素ラベル化手段２によりラベル列に置き換える（図３ステップＳ１０３参照）。
【００５８】
すなわち、図４の表データ４０１からは、表要素列抽出手段１によって、２行目から、名前（山田太郎）、名前（山田花子）、地名（東京都）、地名（港区）、メールアドレス（ｔａｒｏ＠ｓａｍｐｌｅ．ｃｏｍ）、３行目から、氏名（田中次郎）、地名（大阪府）、地名（大阪市）、地名（北区）、電話番号（０６−ＸＸＸＸ−ＸＸＸＸ）、メールアドレス（ｔａｎａｋａ＠ａｂｃ．ｎｅｔ）、４行目から、氏名（小林三郎）、氏名（小林良子）、電話番号（ＸＸ−ＸＸＸＸ−ＸＸＸＸ）というキーワード列が抽出され（図３ステップＳ１０２参照）、図５に示した対応情報５０１に基づいて、表要素ラベル化手段２によって、これがラベル列｛ＡＡＢＢＣＡＢＢＢＤＣＡＡＤ｝に置換される（図３ステップＳ１０３参照）。
【００５９】
図６は、図３に示したフローチャートに対応させ、表データを構成するキーワード列から置き換えたラベル列から表データのレコード構成を表すラベル列を推定し、各レコードに含まれる情報を分類する一連の流れを示した説明図である。
【００６０】
まず、図４の表データ４０１から表要素列抽出手段１によって抽出されたキーワード列（図３ステップＳ１０２参照）が図５に示した対応関係に基づいて表要素ラベル化手段２によって置き換えられた（図３ステップＳ１０３参照）初期ラベル列（ステップＳ６０１）について、隣り合うラベルで同じ種類のラベルを１つにまとめると（図３ステップＳ１０４参照）、ラベル列｛ＡＢＣＡＢＤＣＡＤ｝が得られる（ステップＳ６０２）。
【００６１】
ラベル出現パタン推定手段３がこのステップＳ６０２で得られたラベル列｛ＡＢＣＡＢＤＣＡＤ｝を上記第１の実施の形態の通り先頭から順に読み込んでゆくと（図３ステップＳ１０５参照）、最初の候補レコード「ＡＢＣ」が得られる（ステップＳ６０３）。
【００６２】
さらに、上記第１の実施の形態と同様にして（図３ステップＳ１０６参照）２つめの候補レコード「ＡＢＤＣ」が得られるが（ステップＳ６０４）、図６のステップＳ６０４では、最初の候補レコード「ＡＢＣ」に対して、２つめの候補レコード「ＡＢＤＣ」にはあって最初の候補レコード「ＡＢＣ」には無いラベルＤに対応する位置にＮＵＬＬ値を示すアスタリスク「＊」を配置している。以降、アスタリスク「＊」表記のラベルは実際には存在しないが候補レコードとの対応上要素が抜けているラベルを表すものとする。
【００６３】
次いで、図６において、上記第１の実施の形態と同様に、ステップＳ６０２で得られたラベル列の左端を先頭として３度目のラベルＡから順にラベルを読み込むと、Ａの次にはＤが検出される。
【００６４】
この時の最新の候補レコードは「ＡＢＤＣ」であるため（ステップＳ６０４参照）、ラベル出現パタン推定手段３は、３つめのレコードにラベルＢ相当の要素が欠如しているものと判断し、そのまま次のラベルＤをラベル列から検出されたＤと対応付ける。なお、欠如していると判断されたラベルＢは、図６において、前述の方針に従いアスタリスク「＊」が仮のラベルとして記載されている。また、この例のラベル列は２度目に検出されたＤで終了しているため、ラベル出現パタン推定手段３が、最新の候補レコード「ＡＢＤＣ」の最後のラベルＣも３つめのレコードから欠如しているものと推定（判定）することから、前述の方針に従い図６においてアスタリスク「＊」で表現されている（ステップＳ６０５）。
【００６５】
ここまでのステップにより、ラベル出現パタン推定手段３は、候補レコード「ＡＢＤＣ」を最終的なレコード推定結果とする（ステップＳ６０６（図３ステップＳ１０７参照））。
【００６６】
なお、推定結果のレコードは、ラベル出現パタン推定手段３によって、元のラベル列からその要素となるラベルを１つも漏らすことなく、当該ラベル列を１つ以上のレコードに分割する。
【００６７】
次いで、情報抽出手段６が、最終的なレコード推定結果「ＡＢＤＣ」を、元のキーワード列の先頭から適用し、各レコードの要素集合を取得する。すなわち、情報抽出手段６は、ステップＳ６０７において、最初のレコードから「ＡＢＣ」、次のレコードから「ＡＢＤＣ」、最後のレコードから「ＡＤ」を取得する。または、情報抽出手段６は、ステップＳ６０５におけるラベル列「ＡＢ＊Ｃ」、「ＡＢＤＣ」、「Ａ＊Ｄ＊」を用いてもよい。
【００６８】
次いで、情報分類手段７が、図５の対応情報５０１に基づいて、最終的なレコード推定結果「ＡＢＤＣ」の各要素Ａ、Ｂ、Ｄ、Ｃを元のキーワードの種類を表す“名前（名）”、“地名（地）”、“電話番号（電）”、“メールアドレス”に還元し、各レコードに対応させ、対応させた結果（分類結果）を抽出する（ステップＳ６０７（図３ステップＳ１０９参照））。
【００６９】
このようにすることで、各レコードにどのような情報が含まれているかが分かる。
【００７０】
すなわち、図６のステップＳ６０７で得られた各レコードを構成するキーワードの種類に基づいて元のキーワード列から順にキーワードを抽出することにより、各レコードを構成する実際のキーワード集合が得られる。
【００７１】
ただし、図６のステップＳ６０２で行った、連続する同一種類のラベルを１つのラベルにまとめる操作や、連続する同一種類のキーワードを１つのラベルにまとめる操作に対応するため、１つのキーワードの種類に対して連続する同種のキーワード全てを対応付けて抽出する。
【００７２】
その結果、図４に示した表構造のテキストデータ（表データ４０１）からは図７に示すような３レコード分の表データ７０１が得られる。
【００７３】
すなわち、図４における“氏名”及び“連名”のフィールドが図７では１つの“名前”というフィールドにまとめられており、同様に図４の表では２つのフィールドから構成される“住所”が、図６では１つの“地名”フィールドに変換されている。
【００７４】
なお、ステップＳ６０７において各レコードにおける各要素Ａ、Ｂ、Ｄ、Ｃを元のキーワードの種類に還元せずに、それ以前のステップ、例えば、ステップＳ６０１において、ラベルとしてアルファベットを付与せずに、図４の表データ４０１に基づいて、表要素列抽出手段１によって抽出されたキーワード列をキーワードの種類を表す“名前”、“地名”、“電話番号”、“メールアドレス”に置き換えてもよい。
【００７５】
図８及び図９は、最終的なレコード推定結果及びレコード分類結果の出力情報を説明する図である。
【００７６】
図８及び図９は、ステップＳ６０６において最終的なレコード推定結果とされた「ＡＢＤＣ」及び各レコードのラベル列を、図５に示した対応情報５０１に基づきキーワードの種類に対応付けて示した出力情報８０１及び出力情報９０１を説明する図であり、図８を参照すると、出力情報８０１に基づいて表データのレコード構成を推定することができ、図９を参照すると、出力情報９０１に基づいて表データの各レコードにどのような情報が含まれているかが分かる。
【００７７】
（実施例１の効果）
以上説明した実施例１による情報解析装置１０の動作にかかる一連の分類情報抽出方法によれば、テキストデータ上のキーワード列を、対応関係を示す対応情報に基づいてラベル列に１対１に置き換えることによって、１次元のラベル列のみからレコードを推定するため、見かけ上の表データがどのような構造になっているかには依存することなく、また、キーワード列内において各種類のキーワードが出現することもあれば出現しないこともあるような場合であっても、レコードを推定することができると共に、表データの各レコードにどのような情報が含まれているかを認識することができる。
【００７８】
実施例１によれば、例えば、図４に示した表データが１行目に｛氏名、連名、住所｝を、２行目に｛電話番号、メールアドレス｝をそれぞれ記載した２行１組のレコード構成であったとしても、１レコードが複数行から構成されている場合でも、そこから得られるラベル列は上記図６ステップＳ６０１で得られるラベル列と同じであるため、すなわち、表データの構造が相違してもレコード推定結果に影響しないという効果を有すると共に、表データの各レコードにどのような情報が含まれているかを認識することができる。
【００７９】
また、実施例１によれば、図７の表データ７０１が示すように、図４に示したような文書中のテキストデータ（表データ４０１）から特定種類の情報を表形式で抽出できるだけでなく、表の構造を図５に示したような抽出対象の情報の定義にあわせて変換できるという効果もある。
【００８０】
このように、例えば“名簿”という情報を図４のように“名前”、“地名”、“メールアドレス”、“電話番号”の４種類のキーワードで構成されるものと定義し、さらにこれと同じ構成のデータベーススキーマを定義することで、本実施例を用いて任意の文書から“名簿”情報を一定の表形式で抽出し、データベースに登録して一元管理することができる。
【実施例２】
【００８１】
本発明の実施例２を、図面を参照して説明する。実施例２は、上記実施例１の変形例であり、構成及び動作の概略が上記第１の実施の形態の構成及び動作の概略と同様であるため、上記実施例１と相違する点を中心に説明する。
【００８２】
（実施例２の動作）
図１０は、図６の変形例を示すものであり、図３に示したフローチャートに対応させ、表データを構成するキーワード列から置き換えたラベル列から表データのレコード構成を表すラベル列を推定し、各レコードに含まれる情報を分類した結果を抽出する一連の流れを示した説明図である。
【００８３】
まず、表要素列抽出手段１によって抽出されたキーワード列が図５に示した対応関係に基づいて表要素ラベル化手段２によって置き換えられた初期ラベル列（ステップＳ１００１）について、隣り合うラベルで同じ種類のラベルを１つにまとめると、ラベル列｛ＡＢＣＢＤＣＢＤ｝が得られたとする（ステップＳ１００２）。
【００８４】
ラベル出現パタン推定手段３は、このステップＳ１００２で得られたラベル列｛ＡＢＣＢＤＣＢＤ｝を上記第１の実施の形態の通り先頭から順に読み込んでゆき、「ＡＢＣＢ」と検出した時点で、「Ｂ」のラベルが「Ｃ」のラベルの後、「Ａ」のラベルが検出されることなく再度出現しているため、既に検出したラベルと同一の種類のラベルを２度目に検出したこととなり、その直前までの一連のラベルを候補レコードとして記憶する（ステップＳ１０５参照）。すなわち、ラベル出現パタン推定手段３は、「ＡＢＣＢ」は「ＡＢＣ」と「Ｂ」で異なるレコードに属すると判断し、最初の候補レコードを「ＡＢＣ」と推定する（ステップＳ１００３）。
【００８５】
この場合、図６を参照し、上記ステップＳ１００３と同様にすると、ラベル出現パタン推定手段３は、候補レコード「ＡＢＤＣ」を最終的なレコード推定結果とする（ステップＳ１００４〜ステップＳ１００６）。
【００８６】
次いで、最終的なレコード推定結果「ＡＢＤＣ」及び図５の対応情報に基づいて、各レコードのラベル列を還元し、還元させた結果（分類結果）を抽出する（ステップＳ１００７）。
【００８７】
（実施例２の効果）
以上説明した実施例２による表レコード推定装置１０の動作にかかる一連の分類情報抽出方法によれば、例えば、先頭の「Ａ」のような、ラベル列を読み込む際に基準とするラベルがラベル列内の各レコードに常には出現しない場合であっても、実施例１のような効果を達成することができる。
【実施例３】
【００８８】
本発明の実施例３を、図面を参照して説明する。実施例３は、上記実施例１や実施例２の変形例であり、入力する表データの構成をより上位の構成又はより下位の構成によって分類するものである。なお、本実施例３は、構成及び動作の概略が上記第１の実施の形態の構成及び動作の概略と同様であるため、上記実施例１や実施例２と相違する点を中心に説明する。
【００８９】
（実施例３の構成）
図１１は、図４の変形例を示すものであり、図１１に示す表データ１１０１は、「住所」について、「住所」のより下位の概念を示す分類として「都道府県」及び「市区町村」を対応付け、「メールアドレス」及び「電話番号」について、「メールアドレス」及び「電話番号」のより上位の概念としての分類である「連絡先」を対応付けたものである。また、図１２は、図５の変形例を示すものであり、図１２に示す対応情報１２０１は、「電話番号」（ラベルＤ）及び「メールアドレス」（ラベルＣ）について、「電話番号」（ラベルＤ）及び「メールアドレス」（ラベルＣ）のより上位の概念としての分類である「連絡先」を示すラベルＸを対応付けたものである。このことは、「連絡先」（ラベルＸ）について、「連絡先」（ラベルＸ）のより下位の概念を示す分類として「電話番号」（ラベルＤ）及び「メールアドレス」（ラベルＣ）を対応付けているともいえる。
【００９０】
（実施例３の動作）
本実施例３において、上記図６のＳ６０６や図１０のＳ１００６で示される「ＡＢＤＣ」は、図１１で示される表データ１１０１及び図１２で示される対応情報１２０１に基づいて、「ＡＢＸ」が最終的なレコード推定結果となるため、図８の出力情報８０１に対応する出力情報は、「名・地・連」（不図示）となる。
【００９１】
従って、例えば、図１０のステップＳ１００７の表示は、左端のレコードから順に「名・地・連」、「地・連」、「地・連」となる。
【００９２】
（実施例３の効果）
本実施例３によれば、抽出したキーワードの種類について、抽出した複数のキーワードの種類をまとめたより上位の概念を示す種類、又は抽出したキーワードの種類を詳細に分類したより下位の概念を示す種類に階層的に任意に対応付けることができるため、入力したデータの構成を任意の階層によって推定し、各レコードに含まれる情報を分類することができる。
【００９３】
（第２の実施の形態）
さらに、本発明の第２の実施の形態は、様々なファイル形式に対応する表構造解析方法を予め個別に用意しておく必要や、厳密に表データに対応するレコードの記述パタン等の体裁を持つ必要などがなく、図１３に示したような自然言語文や語句のリストのみからなるテキストデータ１３０１からでも、上記実施例１と同様にレコードを推定できるため、以下に説明する。なお、本実施の形態のうち、上記実施の形態１や実施例１と重複する部分については適宜省略して説明する。
【００９４】
（第２の実施の形態の構成）
図１４は、本実施の形態における情報解析装置の構成を示すブロック図である。
【００９５】
図１４を参照すると、本実施の形態における情報解析装置２０は、第１の実施の形態における表要素列抽出手段１と同様の機能を有する表要素列抽出手段１ａと、第１の実施の形態における表要素ラベル化手段２及びラベル出現パタン推定手段３から構成される表レコード推定手段２３と、第１の実施の形態における情報抽出手段６と同様の機能を有するレコード要素抽出手段２４と、第１の実施の形態における情報分類手段７と同様の機能を有する情報分類手段７ａと、情報分類手段７ａによる分類結果を格納する機能を有する分類結果格納手段２６と、分類ルールを格納する機能を有する分類ルール４ａと、第１の実施の形態における分割基準格納手段５とを備える。
【００９６】
ここで、表要素列抽出手段１ａは、データ格納手段２５に格納される文書等のデータを参照し、参照したデータからテキストデータを抽出する機能を有するテキストデータ抽出手段２１と、テキストデータ抽出手段２１によって抽出されたテキストデータからキーワード辞書２７に格納されるキーワード情報に基づいてキーワードを抽出してキーワード列を生成する機能を有するキーワード抽出手段２２と、文書等のデータを格納する機能を有するデータ格納手段２５と、抽出するキーワードを種類毎に定義付けたキーワード情報を格納する機能を有するキーワード辞書２７とを備える。
【００９７】
ここで、キーワード辞書２７は、例えば、図１５に示したような構成で実現される。すなわち、キーワードの種類別に、氏名であれば“上田”や“加藤”といった名字及び“太郎”や“花子”といった名前（図示せず）がキーワード辞書２７に記載され、これらのキーワードに該当したテキスト文字列がキーワード抽出手段２２によってテキストデータから抽出される。
【００９８】
ここで、レコード要素抽出手段２４は、表レコード推定手段２３で推定されたレコード推定結果に基づき、キーワード列から各レコードに含まれるキーワードをそれぞれ抽出する機能を有する。
【００９９】
ここで、情報分類手段７ａは、レコード要素抽出手段２４で抽出された、各レコードに含まれるキーワードの集合を、分類ルール４ａと照合してレコード毎に分類を行う機能を有する。
【０１００】
なお、分類結果格納手段２６は、レコード要素抽出手段２４によって抽出されたレコード要素を格納してもよい。
【０１０１】
（第２の実施の形態の動作）
本実施の形態における情報解析装置２０は、まず、データ格納手段２５によって格納されているデータをテキストデータ抽出手段２１を用いて参照し、各データからテキストデータを抽出する。
【０１０２】
テキストデータ抽出手段２１におけるテキストデータの抽出方法としては、上述したように、データからレイアウト情報や表データの罫線情報などの表示制御用情報（例えばＨＴＭＬ文書におけるタグ情報）を取り除くことによってテキストデータを抽出する方法や、ＡＳＣＩＩやＪＩＳなど特定種類の文字コードに合致するバイナリデータを抽出する方法などがある。後者の方法では、対象とするデータはワードプロセッサやテキストエディタなどで作成された文書ファイルに限らず、テキストデータを内部に含みうる実行プログラムファイルなども対象とすることができる。
【０１０３】
次いで、キーワード抽出手段２２が、テキストデータ抽出手段２１によって抽出されたテキストデータから、キーワード辞書２７に定義した特定種類のキーワードを抽出し、キーワード列を生成する。
【０１０４】
次いで、表レコード推定手段２３が、第１の実施の形態における図３などで説明した手順で各キーワードのラベル化とレコード推定を行う。
【０１０５】
データ分類手段２４は、表レコード推定手段２３によって推定されたレコードから得たキーワードの種類の列を分類ルール４ａと照合して前記キーワード列を分類し、その結果を分類結果格納手段２６に格納する。
【０１０６】
すなわち、本実施の形態によれば、図１３に示したテキストデータ１３０１から、図５に示したキーワードの種類と対応するラベルの定義（対応関係を示す対応情報５０１）に基づいて表要素列抽出手段１ａによってキーワードを抽出すると、図１６に示すようなキーワードのリスト１６０１が得られる。
【０１０７】
図１６に示すキーワードのリスト１６０１では、各行に、テキストデータから抽出したキーワード、当該キーワードの検出位置、当該キーワードと直前のキーワード間の距離をそれぞれこの順で記載している。なお、キーワードの抽出位置は、テキストデータの先頭からのバイト数及びキーワードの末尾のバイト数によって表している。ただし、日本語文字１文字は２バイト、英数字記号１文字は１バイトとする。
【０１０８】
ここで、分割基準を１００バイトとすると、図１３に示したテキストデータ１３０１及び図１６に示すキーワードのリスト１６０１では、全てのキーワード間の距離が１００バイト以下のため、山田さんに関する当該キーワードから高橋さんに関する当該キーワードの全てが表要素列抽出手段１ａによって同じの表データを構成するものとして判断される。
【０１０９】
抽出したキーワード列を図５に示した対応情報５０１に基づいて表レコード推定手段２３内の表要素ラベル化手段２によってラベル列に置き換えた結果は、図１７のステップＳ１７０１に示されるようになる。ここから、先の例と同様に連続した同じラベルを１つにまとめ（ステップＳ１７０２）、ラベル列の先頭から候補レコードの推定を開始し（ステップＳ１７０３）、ラベル列の最後まで到達すると（ステップＳ１７０４）、最終的なレコード推定結果としてラベル列｛ＡＢＤ｝が得られる（ステップＳ１７０５）。
【０１１０】
ここで、表レコード推定手段２３内のラベル出現パタン推定手段３は、推定した１レコード分のラベル列がステップＳ１７０４に示したような全ラベル列の中に幾つ含まれているかを数えることによって、当該表データが何レコード分の情報を持っているかが計算できる。
【０１１１】
次いで、レコード要素抽出手段２４が、得られた１レコード分のラベル列から、図５のステップＳ２０６の説明と同様に元のキーワードの種類を表す“名前”などに還元すると、各レコードに含まれる要素が明らかになる（Ｓ１７０６）。
【０１１２】
また、図１７のステップＳ１７０６で得られた各レコードの要素を図１６に示したキーワードのリスト１６０１と順に照合していくことで、前述と同様に各レコードの実際の構成要素となるテキストデータ中のキーワード集合が得られる。
【０１１３】
得られたキーワード集合は、例えば図１８に示した表データ１８０１ような表形式で出力できる。
【０１１４】
図１８では、図５に示したキーワードの種類の定義（対応情報５０１）に含まれる“名前”、“地名”、“電話番号”以外に、“地域”というフィールドを設けている。これは、図１９の分類ルール（分類基準情報）１９０１に示したような“地域”の分類についての条件を定義することにより実現され、例えば地名に“兵庫県”や“京都府”を含むレコードは、より上位概念としての“関西”地域に分類される。
【０１１５】
このように、図５に示したような情報の構成要素の定義（対応情報５０１）を用いた情報抽出に加え、図１９に示したような分類用の定義（分類ルール１９０１）を別途与えることで、抽出した情報をさらに分類することも可能である。従って、例えば、図１６のキーワードのリスト１６０１に対して図１９の分類ルール１９０１を用いることによって、“地域”が“関東”である情報と“関西”である情報とをそれぞれ抽出することが可能となる。すなわち、本実施の形態では、１回の処理で複数種類の情報を抽出することが可能である。
【０１１６】
なお、図１８の５番目のレコードでは“地域”フィールドの値が無い。すなわち、“地域”の分類に必要な“地名”フィールドの値が得られなかったことで、図１９に示したいずれの分類ルールも満たさないレコードを識別することも同時に可能である。
【０１１７】
また、例えば、対応情報や分類ルールにおいて“電話番号”及び“メールアドレス”の上位の概念（種類）として“連絡先”を定義し、“問合せ情報”として、少なくとも“名前”と“連絡先（“電話番号”又は“メールアドレス”の少なくとも１つ以上）”とを含むレコードのみを抽出することも可能である。すなわち、図２０の分類ルール２００１に示すように、“問合せ情報”には少なくとも“名前”及び“連絡先”フィールドの値が必須であるという分類条件を指定した場合、“名前”及び“連絡先”フィールドの値が抽出できなかったレコードを“問合せ情報”として記録しないという判断ができる。具体的には、“連絡先”フィールドの値が無い図１８の３番目のレコードを“問合せ情報”として記録しないという判断ができる。同様に、“連絡先”フィールドの値が無い図１８の３番目のレコードのみを“問合せ情報”として記録するという判断もできる。
【０１１８】
また、ここで、例えば、分割基準を４０バイトとした場合や、テキストデータ内の構成が変化する箇所とした場合などは、図１３に示したテキストデータ１３０１及び図１６に示すキーワードのリスト１６０１は、表要素列抽出手段１ａによって、山田さんに関する当該キーワードから中川さんに関する当該キーワードによって構成される表データと、藤井さんに関する当該キーワードから高橋さんに関する当該キーワードによって構成される表データとに分割される。
【０１１９】
（第２の実施形態の別の動作）
図２３を参照して、本発明の第２の実施形態における、さらに別の動作について説明する。
【０１２０】
図２３は、図１４に示された第２の実施形態における表レコード推定部２３、レコード要素抽出部２４、および情報分類部７ａの動作を示すフローチャートである。
【０１２１】
図２３のフローチャートによれば、図１、図３に示した第１の実施形態における情報解析装置１０の動作と同様に、まず、入力されたデータからテキストデータを抽出する（ステップＳ１０１）。続いて、抽出したテキストデータから１つの表データを構成する一連のキーワード列を取得する（ステップ１０２）。
【０１２２】
次に、表要素ラベル化部２が、ステップＳ１０２で得られた１つの表データを構成するキーワード列を分類ルール格納部４ａに格納された対応情報に基づいてそれぞれ種類別のラベルに置き換える（ステップＳ１０３）。
【０１２３】
ステップＳ１０３の後、ここでは図３のフローチャートとは異なり、レコード要素抽出手段２４が分類ルール格納部４ａの分類ルールを参照し、１種類のラベルのみで成立するルールがあれば、そのルールに適合するラベルを後述するレコードの１つとしてラベル列から抽出する（ステップＳ２３０１）。
【０１２４】
例えば、分類ルール格納部４ａの分類ルールが図２４に示したような３種類のルール集合からなる分類ルール２４０１で構成されていたとする。分類ルールのうち、「その他連絡先」のルールは“連絡先！＝ＮＵＬＬ”と記載されている。これは「連絡先」に該当するラベルが１つでも存在すれば、当該ラベルは「その他連絡先」に分類されることを意味する。このような「その他連絡先」のルールは、「連絡先」が図１２に示した対応情報１２０１のように定義されている場合、メールアドレスまたは電話番号のいずれか１種類のみに相当するラベルのみで当該ルールを評価でき、それらのうちいずれか１つでもあれば「その他連絡先」と判定される。ただし、メールアドレスまたは電話番号が他の分類ルールの判定条件にも含まれる場合は、判定条件により多くのラベルを必要とする分類ルールを優先することで、分類ルール２４０１における「他部門連絡先」や「自部門連絡先」に該当する情報も適切に抽出することができる。
【０１２５】
ここで、ステップＳ１０１によって図２５に示すようなテキストデータ２５０１が抽出された場合、図２４の分類ルール２４０１により、末尾の４つの連続したメールアドレスが「その他連絡先」のルールに適合するため、ステップＳ２３０１によって当該４つのメールアドレスが抽出される。
【０１２６】
ステップＳ２３０１の処理を終えると、図３のステップＳ１０４と同様に、表要素ラベル化部２が、ラベル列の中で隣り合うラベルが同じ種類のラベルであった場合、それらを１つのラベルにまとめる（ステップＳ２３０２）。ステップＳ２３０２の後で行なわれるステップＳ１０５、Ｓ１０６、Ｓ１０７は図３のフローチャートの説明と同じであるため省略する。
【０１２７】
ステップＳ１０７までの処理によって１つの表を構成するキーワード列から一連のレコードの列が判定できると、レコード要素抽出部２４が、図３のステップＳ１０８と同様に、推定されたレコードを元のキーワード列の先頭から適用し、元のキーワード列に対応するラベル列に含まれる各ラベルに対応するキーワードを、１つの表を構成する一連のキーワード列から当該ラベル列の順に抽出し、それぞれ１単位レコード分のキーワード列を１つの情報として記憶する。ここではまた、ステップＳ２３０１で先に抽出されたラベルについても、各ラベルをそれぞれ１つのレコードと見なし、対応するキーワードをそれぞれ１つの情報として記憶する（ステップＳ２３０３）。
【０１２８】
ステップＳ２３０３の処理を終えると、情報分類部７ａが、レコード要素抽出部２４によって記憶された各情報を分類ルール格納部４ａの各ルールと照合し、適合したルールのうち最も多くのラベルが対応付いたルールによって当該情報をそれぞれ分類する（ステップＳ２３０４）。
【０１２９】
図１２に示した対応情報１２０１及び図２４に示した分類ルール２４０１を利用して、図２５に示したテキストデータ２５０１をステップＳ２３０４までの処理により分類すると、図２６に示した表のように、「他部門連絡先」に分類される情報が１件と、「自部門連絡先」に分類される情報が１件と、さらにメールアドレスのみで分類された「その他連絡先」に該当する情報が計４件抽出できる。
【０１３０】
（第２の実施の形態の効果）
このように、本実施の形態による情報解析装置２０を利用すれば、例えば、個人情報や商品情報の特徴をキーワードの種類として定義した辞書を用意することにより、組織内の様々な文書（データ）から個人情報や商品情報を抽出し、一定の形式のスキーマでデータベースに記録することで、情報管理を効率化することができる。また、分類結果を元の文書と結びつけてデータベース化することにより、文書管理が容易になる。従って、本実施の形態による表レコード推定方式と同方式を用いた情報解析装置は、企業などの組織内の資産管理や情報セキュリティ管理、様々な文書の統合管理や横断的な検索に有用である。
【０１３１】
また、図５に示す対応情報５０１を用いた情報抽出に加え、図１９や図２０に示したような分類用の定義を別途与えることで、抽出した情報をさらに分類することも可能である。すなわち、１回の処理で複数種類の情報を抽出することが可能である。
【０１３２】
また、様々な分割基準に基づいて、入力したテキストデータ１３０１から作成したキーワードのリスト１６０１から単一又は複数の表データを生成することができる。
【０１３３】
（第３の実施の形態）
本発明による第３の実施の形態を以下に示す。なお、本実施の形態のうち、上記各実施の形態や実施例１と重複する部分については適宜省略して説明する。
【０１３４】
図２１は、本発明の第３の実施の形態における情報解析システムの構成例を示すブロック図である。ここでは情報解析装置１００を備えるほか、データ蓄積装置３００を備える。
【０１３５】
図２１を参照すると、本実施の形態における情報解析システムは、メインメモリ１０１と、ＣＰＵ１０２と、データ記憶装置１０３と、通信装置１０４と、入力装置１０６と、出力装置１０７とを少なくとも備えて第２の実施の形態における情報解析装置２０と同様の機能を有する情報解析装置１００が、通信ネットワーク２００を介してデータ蓄積装置３００及び記憶装置４００と接続されることによって実現される。
【０１３６】
データ蓄積装置３００は、情報解析の対象として個人情報や商品情報を含みうるデータを蓄積し、図１４に示したデータ格納手段２５を実現する。
【０１３７】
記憶装置４００は、情報解析装置１００によって抽出された情報を通信ネットワーク２００を介して記憶し、図１４に示した分類結果格納手段２６を実現する。なお、記憶装置４００は、物理的構成としてはデータ蓄積装置３００と同一であっても良い。
【０１３８】
なお、図２１ではデータ蓄積装置３００及び記憶装置４００を１台ずつのみ図示したが、情報解析装置１００は２台以上のデータ蓄積装置３００及び記憶装置４００に接続されていてもよい。すなわち、データは２台以上のデータ蓄積装置に分散して蓄積されていてもよいし、２台以上の記憶装置に対して分散して格納してもよい。
【０１３９】
さらには、情報解析の対象となるデータの一部または全てが情報解析装置１００のデータ記憶装置１０３に蓄積されていてもよい。
【０１４０】
加えて、情報解析の対象となるデータは必ずしもワードプロセッサやテキストエディタなどで作成されたファイルのみに限らず、テキストデータを内部に含みうるあらゆるファイルであってもよく、例えば、実行プログラムファイルであっても良い。
【０１４１】
また、データ蓄積装置３００は、必ずしも各データを長期間保持するものでなくともよく、例えば、Ｅメール送信サーバとして機能する装置であってもよい。
【０１４２】
例えば、データ蓄積装置３００がＥメール送信サーバとして機能する場合、通信ネットワーク２００を介して１つ以上の端末装置（図示せず）から送られてきたＥメールデータを他の端末装置やＥメール受信サーバ（図示せず）に送る前に、本実施の形態における情報解析装置１００によって特定種類の情報が当該Ｅメールデータに含まれているか否かを確認してもよい。
【０１４３】
ここで、本実施の形態における情報解析装置１００が備える装置について説明する。
【０１４４】
ＣＰＵ１０２は、メインメモリ１０１が記憶するプログラム１０５に従って処理を実行する。プログラム１０５は、図１４に示したテキストデータ抽出手段２１、キーワード抽出手段２２、表レコード推定手段２３、レコード要素抽出手段２４、情報分類手段７ａ、及び分類結果格納手段２６の処理を実行させる情報解析プログラムである。従って、これらの各手段の動作は、ＣＰＵ１０２によって実現される。
【０１４５】
データ記憶装置１０３は、少なくとも図１４に示したキーワード辞書２７、分類ルール４ａの対抗情報５０１及び分割基準を記憶する。また、前述したように情報解析の対象となるデータを記憶していても良く、その場合はＣＰＵ１０２がデータ記憶装置１０３に蓄積されたデータを参照する。
【０１４６】
通信装置１０４は、通信ネットワーク２００とのインタフェースである。通信ネットワーク２００を介して通信装置１０４がデータ蓄積装置３００にアクセスすることで、ＣＰＵ１０２はデータ蓄積装置３００に蓄積されているデータを参照する。
【０１４７】
入力装置１０６は、例えばキーボードやマウスなどの情報入力装置であり、ＣＰＵ１０２に対して処理の実行や停止、処理結果の表示を指示する。
【０１４８】
ＣＰＵ１０２は、処理結果を出力装置１０７に表示出力させる。なお、ＣＰＵ１０２は、処理結果を、データ記憶装置１０３または通信ネットワーク２００を介して接続された外部の記憶装置４００に記憶させてもよい。また、情報解析装置１００がプリンタ（図示せず）を備え、ＣＰＵ１０２はプリンタによって処理結果をプリント用紙に出力してもよい。
【０１４９】
（第３の実施の形態の効果）
本実施の形態によれば、情報解析装置１００が、通信ネットワーク２００を介してデータ蓄積装置３００と接続されるため、情報解析装置１００においてデータ蓄積装置３００を有する必要がない。また、情報解析装置１００が、通信ネットワーク２００を介して複数のデータ蓄積装置３００と接続できるため、災害や障害等に対し、可用性等が向上する。さらに、通信ネットワーク２００を介して端末装置から送られてきたＥメールデータを参照することにより、情報解析装置１００によって当該Ｅメールデータに特定種類の情報が含まれていればこれを抽出することができる等、ネットワークを介して送信又は受信される情報から所定の情報を収集することができる。
【０１５０】
（第４の実施の形態）
本発明による第４の実施の形態を以下に示す。なお、本実施の形態のうち、上記各実施の形態や各実施例と重複する部分については適宜省略して説明する。
【０１５１】
図２２は、本発明の第４の実施の形態における情報解析システムの構成例を示すブロック図である。
【０１５２】
図２２が示すように、本実施の形態における情報解析システムは、情報解析装置２２００に第３の実施の形態における記憶装置４００及びスキャニング装置５００が接続されている構成である。
【０１５３】
スキャニング装置５００は、紙文書を読み取って電子化し、電子化した文書データを情報解析装置２２００に送信する機能を有する。
【０１５４】
情報解析装置２２００は、第３の実施の形態における情報解析装置１００の各機能に加え、電子化された文書データからテキストデータを抽出する文字認識手段（不図示）をさらに備える。文字認識手段には、既に数多く販売されているパッケージソフトウェアを利用してもよい。
【０１５５】
情報解析装置２２００は、文字認識手段で抽出したテキストデータから個人情報や商品情報など必要な情報を抽出し、それらの抽出結果を情報解析装置２２００内のデータ記憶装置１０３や、外部の記憶装置４００にファイルもしくはデータベースとして保存する。また、情報解析装置２２００は、抽出した情報に基づいて、電子化した文書を個人情報文書や商品情報文書などに分類する機能を有する情報文書分類手段（不図示）を備え、それらの分類毎に電子化した文書をまとめて記憶装置４００に保存してもよい。
【０１５６】
（第４の実施の形態の効果）
このような構成により、本実施の形態によれば、予め紙文書の詳細なレイアウト構造の特徴を知る必要なく、その電子ファイリング時の文書の自動分類や、紙文書からの情報収集が可能になる。
【０１５７】
本発明による情報解析装置は、データの文字情報から所定の文字列を抽出する文字情報抽出部と、抽出した各文字列を、文字列の分類を表すラベルに置き換えることによって、文字列を一連のラベル列に変換するラベル化部と、ラベル列内に繰り返し出現するラベルの出現パタンを推定するラベル出現パタン推定部と、推定した個々の出現パタン毎にラベルの組を抽出する推定パタン情報抽出部と、抽出した出現パタン毎のラベルの組を、その組合せに基づいて分類する抽出情報分類部とを有する。これにより、データのファイル形式や表を構成するレコードの識別パタンが予め分からない場合や、個々のレコードの要素が部分的に欠損している不完全な表を対象とする場合や、１レコードが複数行から構成されている場合においても、ラベルの出現パタンからデータの分類に基づいた構成を精度良く推定し、推定した構成に基づいて、データの文字情報から抽出した各文字列を分類し、所定の分類条件に適合する文字情報を取得できる。
【０１５８】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【産業上の利用可能性】
【０１５９】
本発明は、文書等のデータのファイル形式や表データを構成するレコードの識別パタンが予め分からない場合でも、精度良く表データを構成する個々のレコードを推定できるため、組織内のＷｅｂサーバやファイルサーバ、端末装置などに蓄積された様々な記述形式の大量のファイルから、個人情報や財務情報などを示すキーワードの組を含んだファイルとそこに含まれる個人情報や財務情報の種類や件数を明らかにする組織内情報管理システムに適用でき、情報セキュリティ監査や情報資産管理の支援に有効である。また、本発明は、製品名、日付、価格、置き場所などのキーワードの組が多数含まれているデータを検出することによって、設備品情報を含んだ棚卸し用の文書を精度良く発見できるなど、データの内容に基づくデータ検索システムへの適用も可能である。さらに、本発明は、個人情報や財務情報、設備品情報などを個々のファイルから抽出して一定の形式のスキーマでデータベース化することが可能となるため、様々な種類の情報の一元管理に有用である。
【図面の簡単な説明】
【０１６０】
【図１】本発明の第１の実施の形態による情報解析装置の機能構成を示すブロック図である。
【図２】第１の実施の形態による情報解析装置のハードウェア構成を示すブロック図である。
【図３】第１の実施の形態による情報解析装置の動作を示すフローチャートである。
【図４】本発明の実施例１による入力されたテキストデータに含まれる表データの例を示す説明図である。
【図５】実施例１によるキーワードの種類別ラベルの例を示す説明図である。
【図６】実施例１による表データを構成するキーワード列から置き換えたラベル列から表データのレコード構成を表すラベル列を推定する一連の流れを示した説明図である。
【図７】実施例１による１つのキーワードの種類に対して連続する同種のキーワード全てを対応付けた図である。
【図８】実施例１による最終的なレコード推定結果の出力情報を説明する図である。
【図９】実施例１による最終的なレコード分類結果の出力情報を説明する図である。
【図１０】実施例２による表データを構成するキーワード列から置き換えたラベル列から表データのレコード構成を表すラベル列を推定する一連の流れを示した説明図である。
【図１１】本発明の実施例３による入力されたテキストデータに含まれる表データの例を示す説明図である。
【図１２】実施例３によるキーワードの種類別ラベルの例を示す説明図である。
【図１３】本発明の第２の実施の形態による入力されるテキストデータの例を示す説明図である。
【図１４】第２の実施の形態による情報解析装置の構成を示すブロック図である。
【図１５】第２の実施の形態によるキーワード辞書の例を示す説明図である。
【図１６】第２の実施の形態による入力されたテキストデータから抽出されたキーワード列の例を示す説明図である。
【図１７】第２の実施の形態による表データを構成するキーワード列から置き換えたラベル列から表データのレコード構成を表すラベル列を推定する一連の流れを示した説明図である。
【図１８】第２の実施の形態による各レコードの実際の構成要素となるテキストデータ中のキーワード集合についての出力情報の例を示す図である。
【図１９】第２の実施の形態による分類ルールの例を示す図である。
【図２０】第２の実施の形態による分類ルールの例を示す図である。
【図２１】本発明の第３の実施の形態による情報解析システムの構成例を示すブロック図である。
【図２２】本発明の第４の実施の形態による情報解析システムの構成例を示すブロック図である。
【図２３】第２の実施形態における表レコード推定部、レコード要素抽出部及び情報分類部の別の動作例を示すフローチャートである。
【図２４】第２の実施形態における分類ルールの他の例を示す説明図である。
【図２５】第２の実施形態において入力されるテキストデータの例を示す説明図である。
【図２６】第２の実施形態における分類結果の例を示す説明図である。
【符号の説明】
【０１６１】
１０：情報解析装置
１、１ａ：表要素列抽出手段
２：表要素ラベル化手段
３：ラベル出現パタン推定手段
４、４ａ：分類ルール
５：分割基準格納手段
６：情報抽出手段
７、７ａ：情報分類手段
１１：ＣＰＵ
１２：主記憶部
１３：提示部
１４：入力部
１５：インタフェース部
１６：補助記憶部
１７：システムバス
２０、１００、２２００：情報解析装置
２１：テキストデータ抽出手段
２２：キーワード抽出手段
２３：表レコード推定手段
２４：レコード要素抽出手段
２６：分類結果格納手段
２７：キーワード辞書
１０１：メインメモリ
１０２：ＣＰＵ
１０３：データ記憶装置
１０４：通信装置
１０５：プログラム
１０６：入力装置
１０７：出力装置
２００：通信ネットワーク
３００：データ蓄積装置
４００：記憶装置
５００：スキャニング装置
４０１、７０１、１１０１、１８０１：表データ
８０１、９０１：出力情報
５０１、１２０１：対応情報
１３０１：テキストデータ
１６０１：キーワードのリスト
１７０１：分類結果
１９０１、２００１：分類ルール
【図１】
2008027431.tif 000003
【図２】
2008027431.tif 000004
【図３】
2008027431.tif 000005
【図４】
2008027431.tif 000006
【図５】
2008027431.tif 000007
【図６】
2008027431.tif 000008
【図７】
2008027431.tif 000009
【図８】
2008027431.tif 000010
【図９】
2008027431.tif 000011
【図１０】
2008027431.tif 000012
【図１１】
2008027431.tif 000013
【図１２】
2008027431.tif 000014
【図１３】
2008027431.tif 000015
【図１４】
2008027431.tif 000016
【図１５】
2008027431.tif 000017
【図１６】
2008027431.tif 000018
【図１７】
2008027431.tif 000019
【図１８】
2008027431.tif 000020
【図１９】
2008027431.tif 000021
【図２０】
2008027431.tif 000022
【図２１】
2008027431.tif 000023
【図２２】
2008027431.tif 000024
【図２３】
2008027431.tif 000025
【図２４】
2008027431.tif 000026
【図２５】
2008027431.tif 000027
【図２６】
2008027431.tif 000028