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