(57)【特許請求の範囲】
【請求項１】
木構造を有するマークアップ言語で記述された文書情報から、利用者毎の権限に応じて、前記文書情報の全てもしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出装置であって、
前記文書情報を該利用者に開示可能な文書情報へ変換するための変換ルールがマークアップ言語で記述されている定義体情報を、与えられた利用者の権限情報と前記文書情報に従い定義体情報データベースから抽出する定義体情報管理手段と、
前記定義体情報管理手段で抽出された前記定義体情報から、その木構造を解釈する定義体解釈手段と、
前記定義体解釈手段で解釈された前記定義体情報の木構造と、前記文書情報の木構造を比較して、前記部分木文書を抽出する部分木抽出手段とを設け、
前記部分木抽出手段は、
前記文書情報の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第１の木構造情報保持手段と、
前記文書情報と前記第１の木構造情報保持手段の両方の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第２の木構造情報保持手段と、
木構造の末端ノードを葉ノードとし、前記定義体情報の木構造の指定された葉ノードの値と前記文書情報の木構造の指定された葉ノードの値を比較し、両者が一致する場合に、前記葉ノードの評価結果として前記第１の木構造情報保持手段へ真値を記録する葉ノード処理手段と、
処理対象となるノードより下位のノードを子ノードとし、前記葉ノードを含む同一名の子ノードに対する評価結果を論理和により合成すると共に、前記葉ノードを含む非同一名の子ノードに対する評価結果を論理積により合成し、該論理合成した結果を該処理対象となるノードの評価結果として前記第１の木構造情報保持手段へ記録する枝ノード処理手段と、
前記定義体情報の木構造を構成するノードと同一名のノードを前記文書情報から検索して前記枝ノード処理手段を起動し、枝ノード処理手段の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を前記第１の木構造情報保持手段に真値と記録するセクション処理手段と、
前記セクション処理手段を起動すると共に、前記第２の木構造情報保持手段と前記第１の木構造情報保持手段とで同じ位置に位置するノード同士の論理和を取ることで、複数の前記セクション処理手段の評価結果を前記第２の木構造情報保持手段へ累積保持し、前記セクション処理手段の全評価終了後は、前記第２の木構造情報保持手段の評価結果に真値が記録されたノードからなる部分木を部分木文書として抽出するルール処理手段と、
を有することを特徴とする文書情報抽出装置。
【請求項２】
前記定義体情報は、
抽出対象とする要素もしくは値を指定する識別子と、
識別子で特定される要素もしくは値に対して抽出する条件を指定する制約条件と、
を含むことを特徴とする請求項１に記載の文書情報抽出装置。
【請求項３】
前記マークアップ言語は、
ＸＭＬ（Extensible markup language）であることを特徴とする請求項２に記載の文書情報抽出装置。
【請求項４】
木構造を有するマークアップ言語で記述された文書情報から、利用者毎の権限に応じて、前記文書情報の全てもしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出方法であって、
前記文書情報を該利用者に開示可能な文書情報へ変換するための変換ルールがマークアップ言語で記述されている定義体情報を、与えられた利用者の権限情報と前記文書情報に従い定義体情報データベースから抽出する処理と、
抽出された前記定義体情報から、その木構造を解釈する処理と、
解釈された前記定義体情報の木構造と、前記文書情報の木構造を比較して、前記部分木文書を抽出する処理とを含み、
前記部分木文書を抽出する処理は、
木構造の末端ノードを葉ノードとし、前記定義体情報の木構造の指定された葉ノードの値と前記文書情報の木構造の指定された葉ノードの値を比較し、両者が一致する場合に、前記葉ノードの評価結果として、前記文書情報の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第１の木構造情報保持手段へ真値を記録する葉ノード処理と、
処理対象となるノードより下位のノードを子ノードとし、前記葉ノードを含む同一名の子ノードに対する評価結果を論理和により合成すると共に、前記葉ノードを含む非同一名の子ノードに対する評価結果を論理積により合成し、該論理合成した結果を該処理対象となるノードの評価結果として前記第１の木構造情報保持手段へ記録する枝ノード処理と、
前記定義体情報の木構造を構成するノードと同一名のノードを前記文書情報から検索して前記枝ノード処理を起動し、枝ノード処理の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を前記第１の木構造情報保持手段に真値と記録するセクション処理と、
前記セクション処理を起動すると共に、前記文書情報と前記第１の木構造情報保持手段の両方の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第２の木構造情報保持手段と前記第１の木構造情報保持手段とで同じ位置に位置するノード同士の論理和を取ることで、複数の前記セクション処理の評価結果を前記第２の木構造情報保持手段へ累積保持し、前記セクション処理の全評価終了後は、前記第２の木構造情報保持手段の評価結果に真値が記録されたノードからなる部分木を部分木文書として抽出するルール処理と、
を有することを特徴とする文書情報抽出方法。
【請求項５】
木構造を有するマークアップ言語で記述された文書情報から、利用者毎の権限に応じて、前記文書情報の全てもしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出方法に用いられるプログラムを記録した記録媒体であって、
前記プログラムは、
前記文書情報を該利用者に開示可能な文書情報へ変換するための変換ルールがマークアップ言語で記述されている定義体情報を、与えられた利用者の権限情報と前記文書情報に従い定義体情報データベースから抽出する処理と、
抽出された前記定義体情報から、その木構造を解釈する処理と、
解釈された前記定義体情報の木構造と、前記文書情報の木構造を比較して、前記部分木文書を抽出する処理とを含み、
前記部分木文書を抽出する処理は、
木構造の末端ノードを葉ノードとし、前記定義体情報の木構造の指定された葉ノードの値と前記文書情報の木構造の指定された葉ノードの値を比較し、両者が一致する場合に、前記葉ノードの評価結果として、前記文書情報の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第１の木構造情報保持手段へ真値を記録する葉ノード処理と、
処理対象となるノードより下位のノードを子ノードとし、前記葉ノードを含む同一名の子ノードに対する評価結果を論理和により合成すると共に、前記葉ノードを含む非同一名の子ノードに対する評価結果を論理積により合成し、該論理合成した結果を該処理対象となるノードの評価結果として前記第１の木構造情報保持手段へ記録する枝ノード処理と、
前記定義体情報の木構造を構成するノードと同一名のノードを前記文書情報から検索して前記枝ノード処理を起動し、枝ノード処理の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を前記第１の木構造情報保持手段に真値と記録するセクション処理と、
前記セクション処理を起動すると共に、前記文書情報と前記第１の木構造情報保持手段の両方の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第２の木構造情報保持手段と前記第１の木構造情報保持手段とで同じ位置に位置するノード同士の論理和を取ることで、複数の前記セクション処理の評価結果を前記第２の木構造情報保持手段へ累積保持し、前記セクション処理の全評価終了後は、前記第２の木構造情報保持手段の評価結果に真値が記録されたノードからなる部分木を部分木文書として抽出するルール処理と、
をコンピュータに実行させるコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、木構造を有する文書情報から、特定の部分木文書のみを抽出可能とする文書情報抽出装置、方法、及びそのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、文書情報を、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ  ）から発展し、その構造を木構造で表すことが可能なＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）により作成して管理することが盛んである。
ＨＴＭＬやＸＭＬによる文書情報は、タグと呼ばれる文書の定義を示すマークを用いて、文書の構造を記述する。特に、ＨＴＭＬでは利用できるタグの種類や意味が予め決まっていたが、ＸＭＬでは使用者が独自に定義することが可能となった。よって、関連のある企業間でこのタグを独自に定義し、企業間のデータ交換を容易に行う工夫がされている。
【０００３】
【発明が解決しようとする課題】
しかし、従来、ＸＭＬで記述された木構造を有する文書情報から、任意に必要な文書情報を取得するには、次のような方法があるが、それぞれ以下の問題があった。
まず、ＸＭＬの木構造を木構造のまま扱い、プログラミング言語により必要な文書を抽出する方法では、抽出する文書構造毎の専用のプログラミングが必要であり、抽出に手間がかかる上、汎用的でなく、多くのプログラムを必要とするので設備の面からも効率が悪いという問題があった。
また、木構造から目的の部分を指定する手段と、目的の部分を発見した時に、削除する、しない等のアクションを実行するプログラムとを組み合わせて実行する方法では、その対応関係を抽出する文書構造に従い、その都度指定する必要があり、同様に汎用的でなく、効率が悪いという問題があった。
【０００４】
本発明は、上記問題点に鑑みてなされたもので、木構造を有する文書情報から、特定の部分木文書のみを抽出可能とする文書情報抽出装置を提供することを目的とする。より具体的には、文書情報を利用者に開示可能な文書情報へ変換するための変換ルールを記述した定義体情報の木構造と、文書情報の木構造を比較して、文書情報から定義体情報と同一の構造と値を有する部分木文書を抽出する文書情報抽出装置、方法、及びそのプログラムを記録した記録媒体を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記問題点を解決するために、本発明は、木構造を有するマークアップ言語で記述された文書情報から、利用者毎の権限に応じて、前記文書情報の全てもしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出装置であって、前記文書情報を該利用者に開示可能な文書情報へ変換するための変換ルールがマークアップ言語で記述されている定義体情報を、与えられた利用者の権限情報と前記文書情報に従い定義体情報データベースから抽出する定義体情報管理手段と、前記定義体情報管理手段で抽出された前記定義体情報から、その木構造を解釈する定義体解釈手段と、前記定義体解釈手段で解釈された前記定義体情報の木構造と、前記文書情報の木構造を比較して、前記部分木文書を抽出する部分木抽出手段とを設け、前記部分木抽出手段は、前記文書情報の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第１の木構造情報保持手段と、前記文書情報と前記第１の木構造情報保持手段の両方の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第２の木構造情報保持手段と、木構造の末端ノードを葉ノードとし、前記定義体情報の木構造の指定された葉ノードの値と前記文書情報の木構造の指定された葉ノードの値を比較し、両者が一致する場合に、前記葉ノードの評価結果として前記第１の木構造情報保持手段へ真値を記録する葉ノード処理手段と、処理対象となるノードより下位のノードを子ノードとし、前記葉ノードを含む同一名の子ノードに対する評価結果を論理和により合成すると共に、前記葉ノードを含む非同一名の子ノードに対する評価結果を論理積により合成し、該論理合成した結果を該処理対象となるノードの評価結果として前記第１の木構造情報保持手段へ記録する枝ノード処理手段と、前記定義体情報の木構造を構成するノードと同一名のノードを前記文書情報から検索して前記枝ノード処理手段を起動し、枝ノード処理手段の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を前記第１の木構造情報保持手段に真値と記録するセクション処理手段と、前記セクション処理手段を起動すると共に、前記第２の木構造情報保持手段と前記第１の木構造情報保持手段とで同じ位置に位置するノード同士の論理和を取ることで、複数の前記セクション処理手段の評価結果を前記第２の木構造情報保持手段へ累積保持し、前記セクション処理手段の全評価終了後は、前記第２の木構造情報保持手段の評価結果に真値が記録されたノードからなる部分木を部分木文書として抽出するルール処理手段とを有することを特徴とする。
以上の構成により、文書情報を利用者に開示可能な文書情報へ変換するための変換ルールを記述した定義体情報の木構造と、文書情報の木構造を比較して、文書情報から定義体情報と同一の構造と値を有する部分木文書を抽出することを可能とする。また、定義体情報に指定された抽出を希望する複数の部分木文書に対応した、抽出対象文書に対する評価結果を累積して保持し、最後に一括して部分木文書の抽出を行うことを可能とする。
【０００７】
本発明は、上記文書情報抽出装置において、定義体情報は、抽出対象とする要素もしくは値を指定する識別子と、識別子で特定される要素もしくは値に対して抽出する条件を指定する制約条件とを含むことを特徴とする。
【０００８】
本発明は、上記文書情報抽出装置において、マークアップ言語は、ＸＭＬであることを特徴とする。
【０００９】
本発明は、木構造を有するマークアップ言語で記述された文書情報から、利用者毎の権限に応じて、前記文書情報の全てもしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出方法であって、前記文書情報を該利用者に開示可能な文書情報へ変換するための変換ルールがマークアップ言語で記述されている定義体情報を、与えられた利用者の権限情報と前記文書情報に従い定義体情報データベースから抽出する処理と、抽出された前記定義体情報から、その木構造を解釈する処理と、解釈された前記定義体情報の木構造と、前記文書情報の木構造を比較して、前記部分木文書を抽出する処理とを含み、前記部分木文書を抽出する処理は、木構造の末端ノードを葉ノードとし、前記定義体情報の木構造の指定された葉ノードの値と前記文書情報の木構造の指定された葉ノードの値を比較し、両者が一致する場合に、前記葉ノードの評価結果として、前記文書情報の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第１の木構造情報保持手段へ真値を記録する葉ノード処理と、処理対象となるノードより下位のノードを子ノードとし、前記葉ノードを含む同一名の子ノードに対する評価結果を論理和により合成すると共に、前記葉ノードを含む非同一名の子ノードに対する評価結果を論理積により合成し、該論理合成した結果を該処理対象となるノードの評価結果として前記第１の木構造情報保持手段へ記録する枝ノード処理と、前記定義体情報の木構造を構成するノードと同一名のノードを前記文書情報から検索して前記枝ノード処理を起動し、枝ノード処理の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を前記第１の木構造情報保持手段に真値と記録するセクション処理と、前記セクション処理を起動すると共に、前記文書情報と前記第１の木構造情報保持手段の両方の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第２の木構造情報保持手段と前記第１の木構造情報保持手段とで同じ位置に位置するノード同士の論理和を取ることで、複数の前記セクション処理の評価結果を前記第２の木構造情報保持手段へ累積保持し、前記セクション処理の全評価終了後は、前記第２の木構造情報保持手段の評価結果に真値が記録されたノードからなる部分木を部分木文書として抽出するルール処理とを有することを特徴とする。
【００１０】
本発明は、木構造を有するマークアップ言語で記述された文書情報から、利用者毎の権限に応じて、前記文書情報の全てもしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出方法に用いられるプログラムを記録した記録媒体であって、前記プログラムは、前記文書情報を該利用者に開示可能な文書情報へ変換するための変換ルールがマークアップ言語で記述されている定義体情報を、与えられた利用者の権限情報と前記文書情報に従い定義体情報データベースから抽出する処理と、抽出された前記定義体情報から、その木構造を解釈する処理と、解釈された前記定義体情報の木構造と、前記文書情報の木構造を比較して、前記部分木文書を抽出する処理とを含み、前記部分木文書を抽出する処理は、木構造の末端ノードを葉ノードとし、前記定義体情報の木構造の指定された葉ノードの値と前記文書情報の木構造の指定された葉ノードの値を比較し、両者が一致する場合に、前記葉ノードの評価結果として、前記文書情報の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第１の木構造情報保持手段へ真値を記録する葉ノード処理と、処理対象となるノードより下位のノードを子ノードとし、前記葉ノードを含む同一名の子ノードに対する評価結果を論理和により合成すると共に、前記葉ノードを含む非同一名の子ノードに対する評価結果を論理積により合成し、該論理合成した結果を該処理対象となるノードの評価結果として前記第１の木構造情報保持手段へ記録する枝ノード処理と、前記定義体情報の木構造を構成するノードと同一名のノードを前記文書情報から検索して前記枝ノード処理を起動し、枝ノード処理の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を前記第１の木構造情報保持手段に真値と記録するセクション処理と、前記セクション処理を起動すると共に、前記文書情報と前記第１の木構造情報保持手段の両方の木構造に対応して各ノードの評価結果を保持する領域を備え、初期値として該評価結果に偽値の設定された第２の木構造情報保持手段と前記第１の木構造情報保持手段とで同じ位置に位置するノード同士の論理和を取ることで、複数の前記セクション処理の評価結果を前記第２の木構造情報保持手段へ累積保持し、前記セクション処理の全評価終了後は、前記第２の木構造情報保持手段の評価結果に真値が記録されたノードからなる部分木を部分木文書として抽出するルール処理とをコンピュータに実行させることを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
まず、図１から図１０を用いて、本発明の実施の形態を説明する。
図１は、本発明の実施の形態の文書情報抽出装置の構成を説明するブロック図である。図１において、符号１は、指定された定義体情報で抽出対象文書から部分木文書の抽出を行う部分木抽出処理部である。符号２は、利用者のＩＤ情報等から、利用者の権限情報を与える利用者情報管理部である。符号３は、利用者のＩＤ情報等と、その利用者の権限情報を一意に記録する利用者情報データベースである。符号４は、抽出対象の文書情報と、利用者の権限情報から定義体情報を指定する定義体情報管理部である。符号５は、利用者の権限情報に対応して定義体情報を予め記録された定義体情報データベースである。
符号６は、指定された定義体情報の木構造を解釈する定義体解釈処理部である。
【００１２】
また、部分木抽出処理部１は、ルール処理部１１と、木構造情報保持部１２（第２の木構造情報保持手段）と、セクション処理部１３と、木構造情報一時保持部１４（第１の木構造情報保持手段）と、枝ノード処理部１５と、葉ノード処理部１６とから構成されている。
ルール処理部１１は、木構造情報保持部１２に、複数の要素を記録する構造体記録部を、与えられた文書情報の木構造と同一の木構造に構成した評価結果保持部を作成する。また、定義体解釈処理部６より与えられる定義体情報に指定された、抽出を希望する複数の部分木文書に対応して、木構造情報一時保持部１４へ記録された部分木文書の評価結果を、木構造情報保持部１２へ論理合成して累積し、木構造情報保持部１２の評価結果に真値が記録された部分木を部分木文書として抽出する。
木構造情報保持部１２は、複数の要素を記録する構造体記録部から構成される記録部であって、部分木の評価結果を論理合成して累積して保持するバッファである。
セクション処理部１３は、木構造情報一時保持部１４に、複数の要素を記録する構造体記録部を文書情報の木構造と同一の木構造に構成した評価結果保持部を作成する。また、定義体情報の木構造を構成するノードと同一のノードを、文書情報から検索して枝ノード処理部１５を起動し、枝ノード処理部１５の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を真値と記録する。
木構造情報一時保持部１４は、複数の要素を記録する構造体記録部から構成される記録部であって、部分木の評価結果を一時的に保持するバッファである。
枝ノード処理部１５は、木構造において自分より下の枝に位置する、葉ノードを含む子ノードの評価結果を論理合成し、木構造情報一時保持部１４へ記録する。
葉ノード処理部１６は、指定された定義体情報の木構造の末端部分の値と指定された文書情報の木構造の末端部分の値を比較し、両者が一致する場合に、真値を葉ノードの評価結果として木構造情報一時保持部１４へ記録する。
【００１３】
なお、部分木抽出処理部１の木構造情報保持部１２と、木構造情報一時保持部１４と、更に、利用者情報データベース３と、定義体情報データベース５は、それぞれ、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＣＤ−ＲＯＭ等の読み出しのみが可能な記録媒体、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されるものとする。
【００１４】
また、部分木抽出処理部１のルール処理部１１と、セクション処理部１３と、枝ノード処理部１５と、葉ノード処理部１６と、更に、利用者情報管理部２と、定義体情報管理部４と、定義体解釈処理部６は、それぞれ、部分木抽出処理部１、あるいは利用者情報管理部２、定義体情報管理部４、定義体解釈処理部６において、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびＣＰＵ（中央演算装置）により構成され、上記の各部の機能を実現するためのプログラムをメモリにロードして実行することにより、その機能を実現させるものであってもよい。
【００１５】
また、本実施の形態の文書情報抽出装置には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置や液晶表示装置等のことをいう。
【００１６】
次に、本発明の実施の形態の動作を図２から図１０を用いて説明する。
まず、図２から図６を用いて、抽出対象文書と定義体情報のＸＭＬにおける表現と木構造表現について説明する。図２は、同実施の形態で説明する抽出対象文書と抽出文書の一例を示す模式図であり、図３は、木構造情報保持部１２、あるいは木構造情報一次保持部１４に構成された、抽出対象文書の評価結果保持部を説明する模式図である。
図２において、＜Ａ＞や＜Ｂ＞が１つのノード（継ぎ目）を表し、＜Ａ＞や＜／Ａ＞等の同一の記号で表されたタグの間に記述された＜Ｂ＞や＜Ｃ＞のタグが、そのノードより下に位置する枝ノード、あるいは葉ノードを表す。
また、図３において、木構造情報保持部１２、あるいは木構造情報一次保持部１４に構成された抽出対象文書の評価結果保持部は、構造体記録部Ｄ０１からＤ１８が図２に示した各ノードに対応して配置され、木構造を構成している。
また図４の（ａ）は、ルール処理部１１が木構造情報保持部１２に作成した評価結果保持部の記録内容であり、構造体記録部により抽出対象文書へのリンクと評価結果の真偽値を保持する。図４の（ｂ）は、セクション処理部１３が木構造情報一時保持部１４に作成した評価結果保持部の記録内容であり、構造体記録部により抽出対象文書へのリンクと、木構造情報保持部１２へのリンクと、評価結果の真偽値を保持する。
更に、図５は、同実施の形態で説明する定義体情報の一例を示す模式図である。定義体情報では、抽出したい部分木文書の一塊りをセクション（＜ｓｅｃｔｉｏｎ＞）として表す。本発明の文書情報抽出装置は、各セクションのタグ＜ｓｅｃｔｉｏｎ＞と＜／ｓｅｃｔｉｏｎ＞の間に記述されたタグと同じ構造、及び値を持つ部分木文書を、抽出対象文書から抽出する。定義体情報は、例えば＜Ｂ＞と＜／Ｂ＞の間に記述された、抽出を行う部分を示す識別子「＊」と抽出を行う条件式「＝＝”ｂ１”」で示される。また、この定義体情報を木構造表現へ変換したものが図６に示す模式図である。図６は、ルール処理部１１で処理される定義体情報であることを示すＲ０１の下に、抽出したい部分木文書の一塊りである「ｓｅｃｔｉｏｎ  ｘ」を示すＲ０２と、「ｓｅｃｔｉｏｎ  ｙ」を示すＲ１１が配置されている。更に、それぞれの下に、ノードＡを示すＲ０３や、ノードＢを示すＲ０４等が配置される。
【００１７】
以上を踏まえて、図７から図１０のフローチャートを用いて、部分木抽出処理部１の動作を説明する。まず、部分木抽出処理部１には、与えられた利用者情報から決定された定義体情報が定義体解釈処理部６を介して、図６に示す木構造として与えられているものとする。また、文書情報も予め与えられているものとする。
図７は、部分木抽出処理部１のルール処理部１１の動作を説明したフローチャートである。まず、ルール処理部１１は、木構造情報保持部１２に、図３に示した抽出対象文書と同じ木構造を持つ評価結果保持部を作成する（ステップＳ１）。
作成した木構造情報保持部１２の評価結果保持部の真偽値は”Ｆａｌｓｅ”に初期化する（ステップＳ２）。
次にセクション処理部１３を起動し、セクション処理を実行する（ステップＳ３）。
１つのセクションに対するセクション処理の実行が終了すると、その評価結果の真偽値（”Ｆａｌｓｅ”か”Ｔｕｒｅ”）を木構造情報保持部１２の内容と論理合成し、セクション毎の評価結果を累積して保持する（ステップＳ４）。
１つのセクションに対する評価結果を保持したら、全セクションに対して評価を行ったかどうかを判断する（ステップＳ５）。
もし、全セクションの評価が終了していない場合、ステップＳ３へ戻り、次のセクションの評価を実行する（ステップＳ５のＮＯ）。
もし、全セクションの評価を終了した場合、ステップＳ６へ進む（ステップＳ５のＹＥＳ）。
全セクションの評価が終了したら、木構造情報保持部１２の中で、評価結果の真偽値が”Ｔｒｕｅ”である部分木を、抽出対象文書から抽出して（ステップＳ６）終了する。
【００１８】
図８は、部分木抽出処理部１のセクション処理部１３の動作を説明したフローチャートである。ルール処理部１１から起動されたセクション処理部１３は、木構造情報一時保持部１４に、図３に示した抽出対象文書と同じ木構造を持つ評価結果保持部を作成する（ステップＳ１１）。
作成した木構造情報一時保持部１４の評価結果保持部の真偽値は”Ｆａｌｓｅ”に初期化する（ステップＳ１２）。
木構造情報一時保持部１４の初期化が終了したら、抽出対象文書から、＜ｓｅｃｔｉｏｎ＞と＜／ｓｅｃｔｉｏｎ＞に間の最上位に記述されたタグと同じ名前の子ノードを抽出対象のセクション１つとして検索する（ステップＳ１３）。
次に、抽出対象文書に該当するノードが発見されたか否かを判断し（ステップＳ１４）、もし該当ノードが発見されなかった場合（ステップＳ１４のＮＯ）、そのまま何もせずに、ルール処理部１１へ木構造情報一時保持部の記録内容を返却する（ステップＳ１７）。
もし、ステップＳ１４において、該当するノードが発見された場合（ステップＳ１４のＹＥＳ）、枝ノード処理部１５を起動して枝ノード処理を実行する（ステップＳ１５）。
枝ノード処理が終了すると、セクションを構成している部分木文書の評価を行う。評価は、該ノードより下の枝に位置する部分木文書の評価を行い、真値（Ｔｒｕｅ）のみを含む部分木の評価結果を”Ｔｒｕｅ”と記録する（ステップＳ１６）。
セクションを構成する部分木文書の評価が終了したら、ルール処理部１１へ木構造情報一時保持部の記録内容を返却して（ステップＳ１７）終了する。
【００１９】
図９は、部分木抽出処理部１の枝ノード処理部１５の動作を説明したフローチャートである。セクション処理部１３から起動された枝ノード処理部１５は、枝ノード処理部１５内に、自分より下に位置する子ノードの真偽値を保持する真偽値保持部を作成する（ステップＳ２１）。真偽値保持部は定義体情報の該当する枝ノードに記述された子ノードの全種類（名前）に対応して、その数だけ作成する。
作成した真偽値保持部の真偽値は”Ｆａｌｓｅ”に初期化する（ステップＳ２２）。
次に、自分より下に位置する子ノードが、そのノードより下に更に枝を持つ枝ノードであるか、それより下にノードを持たず、値のみを持つ葉ノードであるかを判断する（ステップＳ２３）。
もし、子ノードがそれより下にノードを持たず、値のみを持つ葉ノードであった場合（ステップＳ２３のＮＯ）、葉ノード処理部１６を起動して葉ノード処理を実行する（ステップＳ３２）。そして、ステップＳ２５へ進む。
もし、子ノードがそれより下にノードを持つ枝ノードであった場合（ステップＳ２３のＹＥＳ）、更に枝ノード処理を実行する（ステップＳ２４）。
ステップＳ２４あるいはステップＳ３２の実行が終了したら、真偽値保持部から、今処理した子ノードの種類（名前）に対応する真偽値を取得し、枝ノード処理あるいは葉ノード処理の結果との論理和を計算し、結果を同じ真偽値保持部へ書き戻す（ステップＳ２５）。
次に、全ての子ノードに対して評価を行った否かを判断する（ステップＳ２６）。
もし、全ての子ノードに対して評価を終了していない場合、ステップＳ２３へ戻り、次の子ノードの評価を実行する（ステップＳ２６のＮＯ）。
もし、全ての子ノードに対して評価が終了した場合（ステップＳ２６のＹＥＳ）、全種類（名前）の子ノードの真偽値保持部が”Ｔｒｕｅ”であるか否かを判断する（ステップＳ２７）。
もし、ステップＳ２７で、全種類（名前）の子ノードの真偽値保持部が”Ｔｒｕｅ”であった場合（ステップＳ２７のＹＥＳ）、木構造情報一時保持部１４の該当する枝ノードへ”Ｔｒｕｅ”を設定する（ステップＳ２８）。
そして、呼び出し元へ”Ｔｒｕｅ”を返却して（ステップＳ２９）終了する。  もし、ステップＳ２７で、子ノードの真偽値保持部のいずれかが”Ｆａｌｓｅ”であった場合（ステップＳ２７のＮＯ）、該当する枝ノードへ”Ｆａｌｓｅ”を設定する（ステップＳ３０）。
そして、呼び出し元へ”Ｆａｌｓｅ”を返却して（ステップＳ３１）終了する。
なお、定義体情報の該当する枝ノードに記述された子ノードの全種類（名前）と、各子ノードの評価結果の真偽値を、
【数１】
0003607182.tif 000002
と表すと、上述の枝ノードの子ノードが、更にそれより下にノードを持つ枝ノードであった場合の評価処理は次式で表される。
【数２】
0003607182.tif 000003
ここで、上式の論理和はステップＳ２５に、論理積はステップＳ２７にそれぞれ対応する。
【００２０】
図１０は、部分木抽出処理部１の葉ノード処理部１６の動作を説明したフローチャートである。枝ノード処理部１５から起動された葉ノード処理部１６は、まず、定義体情報の葉ノードに該当する位置に、値を特定する条件式が設定されているか否かを判断する（ステップＳ４１）。
もし、葉ノードの値を特定する条件式が設定されていない場合（ステップＳ４１のＮＯ）、条件は満たされたものとして、条件式の判断ステップＳ４２をパスしてステップＳ４３へ進む。
もし、葉ノードの値を特定する条件式が設定されている場合（ステップＳ４１のＹＥＳ）、葉ノードの持つ値が、定義体情報に設定された条件式を満たすか否かを判断する（ステップＳ４２）。
もし、葉ノードの値が条件式を満たさない場合（ステップＳ４２のＮＯ）、該当する葉ノードに対応する木構造情報一時保持部１４の真偽値を”Ｆａｌｓｅ”に設定する（ステップＳ４７）。
木構造情報一時保持部１４の真偽値を設定したら、呼び出し元へ”Ｆａｌｓｅ”を返却して（ステップＳ４８）終了する。
もし、葉ノードの値が条件式を満たす場合（ステップＳ４２のＹＥＳ）、該当する葉ノードに対応する木構造情報一時保持部１４の真偽値を”Ｔｒｕｅ”に設定する（ステップＳ４６）。
次に、木構造情報一時保持部１４の真偽値を設定したら、呼び出し元へ”Ｔｒｕｅ”を返却して（ステップＳ４５）終了する。
【００２１】
以上説明したように、ルール処理部１１からセクション処理部１３、セクション処理部１３から枝ノード処理部１５、枝ノード処理部１５から枝ノード処理部１５、あるいは葉ノード処理部１６がそれぞれ起動され、指定された部分木を評価して呼び出し元へ評価結果を返却することで、セクション処理部の動作が一回終了すると、抽出対象文書から、抽出したい部分木文書の一塊り（セクション）に対する評価結果が得られる。ルール処理は、定義体情報に指定されたセクションの数だけ、抽出対象文書の評価を繰り返し、すべて終了したならば、その各セクションの評価結果の論理和により、抽出するべき部分木文書を特定する。
【００２２】
次に、上述の実施の形態で説明した文書情報抽出装置を利用した実施例を、図１１から図１５を用いて説明する。本実施例は、パーソナルコンピュータの製造会社とその部品会社間で行う見積り文書の送受信に、文書情報抽出装置を利用して、情報の振り分けを行う場合を説明する。
図１１は、本実施の形態の実施例を説明する模式図である。図１１において、符号５０は、文書情報抽出装置を利用した情報管理センタである。
符号５１は、文書情報抽出装置の利用者情報管理部を示す。符号５２は、文書情報抽出装置の定義体情報管理部を示す。符号５３は、文書情報抽出装置の部分木抽出処理部を示す。
符号５４は、文書情報Ｄａを示す。文書情報Ｄａは見積の内容を指定する文書で、内容は図１２に示すように、パーソナルコンピュータのメモリやディスクといった構成部品毎に、部品名、型名、数量、価格といった見積に必要な情報がタグとして記述される。また、文書情報Ｄａは、予めパーソナルコンピュータの製造会社が、情報管理センタ５０へ登録するものとする。
また、符号５５と符号５６は、それぞれ、パーソナルコンピュータの部品会社である見積先業者Ｂと見積先業者Ｃに対して設定された定義体情報Ｒｂと定義体情報Ｒｃである。定義体情報Ｒｂと定義体情報Ｒｃも、予めパーソナルコンピュータの製造会社が、情報管理センタ５０へ登録するものとする。定義体情報の内容は、それぞれ、図１３（ａ）に見積先業者Ｂに対する定義体情報を、図１３（ｂ）に見積先業者Ｃに対する定義体情報を示す。図１３（ａ）では、見積先業者Ｂがメモリを扱う部品会社なので、メモリに関する情報のみを抽出するようにタグが構成されている。同様に、図１３（ｂ）では、見積先業者Ｃがディスクを扱う部品会社なので、ディスクに関する情報のみを抽出するようにタグが構成されている。
更に、符号５７と符号５８は、それぞれ、見積先業者Ｂと見積先業者Ｃに対して抽出された抽出文書Ｔｂと抽出文書Ｔｃである。また、符号６０と符号７０は、それぞれ見積先業者Ｂと見積先業者Ｃを示す。
【００２３】
今、情報管理センタ５０へ、見積先業者Ｂ６０と見積先業者Ｃ７０がアクセスすると、利用者情報管理部５２において、見積先業者Ｂ６０と見積先業者Ｃ７０のそれぞれに対する利用者属性が特定されて、定義体情報管理部５３へ出力される。定義体情報管理部５３では、見積先業者Ｂ６０と見積先業者Ｃ７０のそれぞれの利用者属性と、予め登録された文書情報Ｄａ５４を用いて、予め登録された定義体情報の中から、定義体情報Ｒｂ５５と定義体情報Ｒｃ５６を抽出する。
定義体情報Ｒｂ５５と定義体情報Ｒｃ５６は、部分木抽出処理部５１へ出力され（ここでは紙面の都合上、定義体解釈処理部は省略する）、文書情報Ｄａ５４の部分木文書の抽出が実行される。
抽出された抽出文書Ｔｂ５７は、図１４に示す。図１４では、図１２に示す見積の内容を指定する文書から、見積先業者Ｂ６０が扱うメモリに関する情報のみが抽出されている。この抽出文書Ｔｂ５７は見積先業者Ｂ６０へ送信される。
抽出された抽出文書Ｔｃ５８は、図１５に示す。図１５では、図１２に示す見積の内容を指定する文書から、見積先業者Ｃ７０が扱うメモリに関する情報のみが抽出されている。この抽出文書Ｔｃ５８は見積先業者Ｃ７０へ送信される。
以上説明したように、本発明の文書情報抽出装置を用いると、一つの見積の内容を指定する文書から、見積先業者毎に、特定の部分のみを抽出した見積の内容を指定する情報を送付することが可能となる。
【００２４】
また、上述の実施の形態で説明した文書情報抽出装置、及び実施例で説明した情報管理センタは、それぞれ、その機能を実現するためのプログラムを、コンピュータ読みとり可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、上述の各装置における機能を実現しても良い。
【００２５】
ここで、上記「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含み、さらにＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読みとり可能な記録媒体」とは、フロッピーディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。更に、「コンピュータ読みとり可能な記録媒体」とは、インターネット等のコンピュータネットワークや電話回線等の通信回線を介してプログラムを送出する場合のように、短時間の間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
【００２６】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、更に前述した機能をコンピュータシステムに既に記憶されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００２７】
【発明の効果】
以上の如く本発明によれば、木構造を有する同一の文書情報から、利用者毎の権限に応じて、文書情報のすべて、もしくは一部分を、該利用者のそれぞれに開示する部分木文書として抽出する文書情報抽出装置に含まれる部分木抽出手段に、文書情報の評価結果を記録する、偽値に初期化された第１の木構造情報保持手段と、定義体情報の木構造の指定された末端部分の値と文書情報の木構造の指定された末端部分の値を比較し、両者が一致する場合に、真値を葉ノードの評価結果として第１の木構造情報保持手段へ記録する葉ノード処理手段と、木構造において自分より下の枝に位置する、葉ノードを含む子ノードの評価結果を論理合成し、第１の木構造情報保持手段へ記録する枝ノード処理手段と、第１の木構造情報保持手段に、複数の要素を記録する構造体記録部を文書情報の木構造と同一の木構造に構成した評価結果保持部を作成し、同時に定義体情報の木構造を構成するノードと同一のノードを文書情報から検索して枝ノード処理手段を起動し、枝ノード処理手段の評価終了後、該ノードより下の枝に位置する部分木文書の評価を行い、真値のみを含む部分木の評価結果を真値と記録するセクション処理手段と、セクション処理手段を起動し、セクション処理手段の評価終了後、評価結果保持部の評価結果に真値が記録された部分木を部分木文書として抽出するルール処理手段とを設けた。
これにより、文書情報を利用者に開示可能な文書情報へ変換するための変換ルールを記述した定義体情報の木構造と、文書情報の木構造を比較して、文書情報から定義体情報と同一の構造と値を有する部分木文書を抽出することが可能となる。
【００２８】
本発明は、上記文書情報抽出装置において、文書情報の評価結果を記録する、偽値に初期化された第２の木構造情報保持手段を更に備え、ルール処理手段は、第２の木構造情報保持手段に、複数の要素を記録する構造体記録部を文書情報の木構造と同一の木構造に構成した評価結果保持部を作成する手段と、定義体情報に指定された抽出を希望する複数の部分木文書に対応して、第１の木構造情報保持手段へ記録された部分木文書の評価結果を、第２の木構造情報保持手段へ論理合成して累積する手段と、第２の木構造情報保持手段の評価結果に真値が記録された部分木を部分木文書として抽出する手段とを有する構成とした。
これにより、定義体情報に指定された抽出を希望する複数の部分木文書に対応した抽出対象文書に対する評価結果を累積して保持し、最後に一括して部分木文書の抽出を行うことが可能となる。
従って、ＸＭＬ等のマークアップ言語で記述された、木構造を有する文書情報から、任意に必要な文書情報を取得する場合に、従来の問題点であった、抽出する文書構造毎の専用のプログラミングを行う必要がなく、効率的に部分木文書を抽出できるという効果が得られる。
また、従来の問題点であった、木構造から目的の部分を指定する手段と、目的の部分を発見した時に、削除する、しない等のアクションを実行するプログラムとを組み合わせる対応関係を、抽出する文書構造に従い、その都度指定する必要がなく、同様に効率的に部分木文書を抽出できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態の構成を説明するブロック図である。
【図２】同実施の形態で説明する抽出対象文書と抽出文書の一例を示す模式図である。
【図３】木構造情報保持部に構成された、抽出対象文書の評価結果保持部を説明する模式図である。
【図４】評価結果保持部の記録内容の一例を説明する模式図である。
【図５】同実施の形態で説明する定義体情報の一例を示す模式図である。
【図６】図５で説明する定義体情報の木構造表現を示す模式図である。
【図７】同実施の形態のルール処理部の動作を説明するフローチャートである。
【図８】同実施の形態のセクション処理部の動作を説明するフローチャートである。
【図９】同実施の形態の枝ノード処理部の動作を説明するフローチャートである。
【図１０】同実施の形態の葉ノード処理部の動作を説明するフローチャートである。
【図１１】同実施の形態の実施例を説明する模式図である。
【図１２】同実施例で説明する抽出対象文書を説明する模式図である。
【図１３】同実施例で説明する定義体情報を説明する模式図である。
【図１４】同実施例で抽出された部分木文書を説明する模式図である。
【図１５】同実施例で抽出された部分木文書を説明する模式図である。
【符号の説明】
１      部分木抽出処理部
２      利用者情報管理部
３      利用者情報データベース
４      定義体情報管理部
５      定義体情報データベース
６      定義体解釈処理部
１１      ルール処理部
１２      木構造情報保持部
１３      セクション処理部
１４      木構造情報一時保持部
１５      枝ノード処理部
１６      葉ノード処理部
５０      情報管理センタ
５１      部分木抽出処理部
５２      利用者情報管理部
５３      定義体情報管理部
５４      文書情報Ｄａ
５５      定義体Ｒｂ
５６      定義体Ｒｃ
５７      抽出文書Ｔｂ
５８      抽出文書Ｔｃ
６０      見積先業者Ｂ
７０      見積先業者Ｃ
【図１】
0003607182.tif 000004
【図２】
0003607182.tif 000005
【図３】
0003607182.tif 000006
【図４】
0003607182.tif 000007
【図５】
0003607182.tif 000008
【図６】
0003607182.tif 000009
【図７】
0003607182.tif 000010
【図８】
0003607182.tif 000011
【図９】
0003607182.tif 000012
【図１０】
0003607182.tif 000013
【図１１】
0003607182.tif 000014
【図１２】
0003607182.tif 000015
【図１３】
0003607182.tif 000016
【図１４】
0003607182.tif 000017
【図１５】
0003607182.tif 000018