JP3842574B2 - 情報抽出方法および構造化文書管理装置およびプログラム - Google Patents
情報抽出方法および構造化文書管理装置およびプログラム Download PDFInfo
- Publication number
- JP3842574B2 JP3842574B2 JP2001098185A JP2001098185A JP3842574B2 JP 3842574 B2 JP3842574 B2 JP 3842574B2 JP 2001098185 A JP2001098185 A JP 2001098185A JP 2001098185 A JP2001098185 A JP 2001098185A JP 3842574 B2 JP3842574 B2 JP 3842574B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- structured document
- structured
- node
- schema
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、異なる文書構造の複数の構造化文書を、階層化された論理構造を持つ構造化文書データベースで管理する構造化文書管理システムに関する。
【0002】
【従来の技術】
現在、IT(情報技術)の進化により、莫大な量の情報が容易に入手できるようになった。その一方で必要な情報が大量のデータに埋没してしまい、十分に活用できないという弊害も発生している。情報が大量に存在していても、それをうまく活用できなければ意味がない。
【0003】
そこで、特定の個人や部門が保有するノウハウや業務データのうち企業の経営に重要なものを蓄積して、「経営資産」として活用しようとする活動、すなわち、ナレッジマネージメントが提唱されている。
【0004】
例えば、特許明細書や、週報など、文書の種類によっては、その書式が予め定められて、1つの書式に統一されているのが一般的である。1つの書式に統一された文書もあれば、全く書式のない自由書式の文書も数多く存在する。
【0005】
従って、ナレッジマネージメントを実現するためには、このような文書構造が予め定められているような文書も、それ以外の自由書式の文書も全て格納管理できるデータベースが必要となる。
【0006】
次世代のナレッジマネージメントの中核技術として期待されている技術がXMLである。XML(Extesible Markup Language)は柔軟な拡張性と連携性を備えた標準のドキュメント記述言語であり、主要ベンダーからのサポートも約束されている。
【0007】
構造化文書データベースとしては、RDB(Relational DataBese)により構造化文書を格納する方式があるが、この場合、1つのスキーマ(データ構造定義)に従った文書構造の構造化文書群しか格納できす、また、文書構造はそのまま表形式に変換することは困難であり、RDBをそのまま構造化文書データベースとして用いることはできない。
【0008】
また、構造化文書は階層的な構造をもつため、構造化文書を構成する各構成要素をオブジェクトとみなしたOODB(オブジェクト指向データベース)と親和性が高いと考えられる。しかし、OODBでは、文書構造は予めスキーマにより決定されていなければならず、子要素の任意繰り返しなど、オブジェクトモデルでモデル化するのは困難であり、OODBをそのまま構造化文書データベースとして用いることはできない。
【0009】
XML文書はツリー構造を持ったデータである。近年、このようなXML文書を蓄積、管理するXMLデータベースが脚光を浴びている。
【0010】
XMLデータベースは、管理対象の複数の構造化文書の各構成要素を1つの巨大な構造化文書の文書構造を構成する構成要素として管理するXML特化のツリー状の階層的なデータ構造を持つ。階層的な構造上の構成要素は「パス」により特定される。パスは、XMLデータベース上の特定のエリアを指し示すための手段である。
【0011】
XMLデータベースに格納されるXML文書群はツリー状の1つの巨大なXML文書として構成される。部分的なXML文書をアクセスするには、XML文書に対するパスというアクセス手段を用いる。このような特徴により、幅広くXML文書を検索したり加工することが可能となる。
【0012】
XMLデータベースで格納されるXML文書の文書構造は、必ずしもスキーマが定義されている必要はないが、スキーマを定義するとしたら、1つのデータベースに1つのスキーマしか許容されていない。すなわち、スキーマを用いなければ、異なる文書構造の文書を混在させて格納・管理することができるが、スキーマを1つ設定したら、それとは異なる文書構造の文書は混在させることはできない。
【0013】
【発明が解決しようとする課題】
異なる文書構造の膨大な数の構造化文書をデータベース上で格納・管理するには、ある特定の種類の文書に特定の文書構造が予め定められている場合、そのような種類の文書は、全て同じ文書構造に統一されている方が、後に、検索等のデータ操作の際に都合がよい。
【0014】
しかし、従来のXMLデータベースでは、1つのデータべース上で種類の違いにより異なる文書構造の文書をそれぞれの種類対応の文書構造で統一性を保持しながら、格納、管理できるものはなかった。すなわち、1つのスキーマに適合した文書の格納・管理はできても、複数のスキーマを混在させてスキーマ対応していない文書とともに、各スキーマ対応の文書の格納・管理はできなかった。
【0015】
複数のスキーマのそれぞれに対応する複数のデータベースを設けることも考えられるが、この場合、スキーマが異なればアクセスするデータベースも異なる。そのため、多種多様な文書構造の膨大な数の文書へのアクセスが統一的でなく、多種多様な膨大な情報の中から関連する情報群を検索・抽出することが困難であった。
【0016】
このように、従来は、多種多様な文書構造定義に従った文書を、その文書の種類対応に予め定められた文書構造の同一性を保持しながら、文書構造の定義がなされていない構造化文書とともに一元管理することができないがため、多種多様な文書構造の文書に対し、統一的なアクセスにて、多種多様な膨大な情報の中から関連する情報群を特定の文書構造に限定されずに検索・抽出することができなかった。
【0017】
また、以下に従来の情報抽出手段と、その問題点について述べる。特開2000−155756号公報記載の発明は、構造化文書からユーザが指定したキーワードに合致する構造とその値をそのまま抽出し、別データベースに保存するものである。これはあくまでキーワードレベルで重要構造をそのまま抽出することに主眼をおいており、構造化文書の構造と、自然文が持つ意味的な解析を考えたものではない。また、抽出された構造が格納されるデータベースも検索対象となったデータベースと異なり、データの検索はこの抽出構造が格納されるデータベースから検索されるので、元のデータと抽出データを統一的なクエリで検索できない。
【0018】
特開平11−259425号公報記載の発明は、抽出情報をリレーション形式で保存するものである。自然文に関しての抽出基準となる、辞書やルールに関してはフラットなファイルに独自のフォーマットで格納し、それを別管理している。よって、これらの作成コストや、照合における計算時間のコストが問題となってくる。また、特開2000−155756号公報記載の発明と同じく、抽出された構造が格納されるデータベースが検索対象となったデータベースとは異なるので、やはり、元データと抽出データの統一的管理が不可能である。
【0019】
抽出データと元データを統一的に検索できる機能を実現するために、対象となる文書構造に対する抽出結果を、その子要素として、元データに対して付加し、これらを曖昧検索により検索する機構により実現することが必要となる。これは抽出された構造データが、更に構造化された場合など、抽出により階層化構造が不定に作成される場合があるからである。
【0020】
構造化文書データベースでは、文書構造や語彙を検索条件にして検索を行うようになっている。この場合、文書構造を明確に指定した検索条件でなければならないので、上記機構が必要である。
【0021】
こういう曖昧検索とは、例えば、「ある種の構造化文書のうち、その文書構造のいずれかに「A」という構成要素を持つ構造化文書を検索せよ」という文書構造を曖昧にした検索条件による検索である。
【0022】
また、辞書やルール等の作成および照合の計算時間の削減のために、これらを構造化文書データベースの索引、クエリ、リンクなどの機能を利用して上記問題のコスト削減を実現することが必要となってくる。
【0023】
また、構造化文書データベースでは、文書構造や語彙を検索条件にして検索を行うようになっている。この場合、文書構造を明確に指定した検索条件でなければならない。しかし、このような文書構造を明確に指定した検索条件による検索ではなく、文書構造を曖昧に指定した検索条件による曖昧検索は、多種多様な文書構造定義に従った膨大な数の文書の中から所望の文書を検索する上では好ましい機能である。ユーザが膨大な文書のそれぞれの文書構造を的確に把握し、検索条件を指定するのは困難であるからである。
【0024】
ここで言う曖昧検索とは、例えば、「ある種の構造化文書のうち、その文書構造のいずれかに「A」という構成要素を持つ構造化文書を検索せよ」という文書構造を曖昧に指定した検索条件による検索である。
【0025】
そこで、本発明は、上記問題点に鑑み、検索条件に曖昧な文書構造の指定が含まれる曖昧検索を可能にするための構造化文書データベースのための情報抽出方法を提供することを目的とする。
【0026】
また、上記情報抽出方法を用いて、構造化文書データベースに対し、検索条件に曖昧な文書構造の指定が含まれる曖昧検索が高速・高精度に行える構造化文書管理装置を提供することを目的とする。
【0027】
【課題を解決するための手段】
本発明は、階層化された論理構造を持つ構造化文書データベースに格納される構造化文書の指定された構成要素から、少なくとも1つの構成要素をもつ構造化文書を抽出し、この抽出した構造化文書を前記構造化文書データベースに格納することにより、後に、この構造化文書データベースに対し、検索条件に曖昧な文書構造の指定が含まれる曖昧検索を可能にする。
【0028】
本発明は、階層化された論理構造を持つ構造化文書データベースに格納される構造化文書の指定された構成要素を処理対象とし、該処理対象から少なくとも1つの構成要素をもつ構造化文書を抽出する情報抽出方法であって、抽出すべき情報の構造化文書への変換規則は、前記構造化文書データベースに格納され、前記処理対象に対し指定された前記変換規則を用いて、該処理対象から少なくとも1つの構成要素をもつ構造化文書を抽出し、この抽出した構造化文書を前記構造化文書データベースに格納することにより、この構造化文書データベースに対し、検索条件に曖昧な文書構造の指定が含まれる曖昧検索を可能にする。
【0029】
また、構造化文書データベースに格納する文書中(の構成要素(処理対象))から情報(部分文書)を抽出するために用いる、当該抽出する情報の構造化文書への変換規則(ルールおよび辞書など)は、例えば、XML形式の構造化文書として、上記構造化文書データベースに格納されているので、処理対象に含まれる語彙を検索条件にした構造化文書データベースに対する検索を行うことにより、上記変換規則の絞込が容易に行える。
【0030】
また、情報抽出のために必要な上記変換規則として利用する辞書などは、構造化文書パスを用いた指定により、データベース上に既存の「概念」情報などを流用することも可能である。従って、辞書作成のための手間やコストを低減できる。
【0031】
好ましくは、前記処理対象に含まれる語彙に基づき前記構造化文書データベースに対し検索を行った結果に基づき、前記指定された変換規則の中から選択した変換規則を用いて、少なくとも1つの構成要素をもつ構造化文書を抽出する。
【0032】
好ましくは、前記論理構造に従って指定される論理的なエリアに、該論理的なエリア対応の文書構造を定義した前記構造化文書としての文書構造定義情報を格納するとともに、前記文書構造定義情報で、前記処理対象となる構成要素に対し適用する変換規則を指定する。
【0033】
【発明の実施の形態】
まず、本発明の実施形態について説明する前に、構造化文書管理システムについて説明する。
【0034】
(構造化文書管理システムの説明)
構造化文書として、XMLやSGMLなどで記述した文書が挙げられる。SGML(Standard Generalized Markup Language)とは、ISO(国際標準化機構)で定められた規格である。XML(eXtensible Markup Language)とは、W3C(World Wide Web Consortium)にて定められた規格である。それぞれ文書を構造化することを可能とする構造化文書規約である。
【0035】
以下、構造化文書として、XMLにて記述された文書を例に説明を進める。構造化文書の文書構造を定義したデータ(文書構造定義データ)をスキーマと呼ぶ。XMLではそのスキーマを定義するためにXML−SchemaやXDR(XML Data Reduced)などのスキーマ言語が提案されている。ここでは、例えば、XDRでのスキーマを記述する場合を例にとり説明する。
【0036】
スキーマも、構造化文書管理システムの管理対象の構造化文書であり、従って、スキーマ文書と呼ぶことがある。スキーマ文書と区別するために、特許明細書やメール、週報、広告などの種々雑多な内容を有す文書をコンテンツ文書と呼ぶこともある。
【0037】
構造化文書管理システムでは、上記スキーマ文書、上記コンテンツ文書、さらに、後述するようなユーザからの検索要求内容を記述したクエリ、すなわち、クエリ文書も管理対象とし、これらを総称して「文書」と呼ぶ。
【0038】
以下、特にことわりがない場合、「文書」と呼ぶときは、コンテンツ文書、スキーマ文書、クエリ文書を全て指すものとする。
【0039】
まず、実施形態の説明を前に、XMLについて簡単に説明する。
【0040】
図3は、XMLで記述された構造化文書の一例として、「特許」情報の例を示したものである。XMLやSGMLは、文書の構造の表現にタグが用いられる。タグには、開始タグと終了タグがあり、文書構造情報の構成要素を開始タグと終了タグで囲むことにより、文書中の文字列(テキスト)区切りと、そのテキストが構造上どの構成要素に属するのかを明確に記述することができる。
【0041】
ここで開始タグとは要素名称を記号「<」、「>」で閉じたものであり、終了タグとは要素名称を記号「</」と「>」で閉じたものである。タグに続く構成要素の内容が、テキスト(文字列)または子供の構成要素の繰り返しである。また開始タグには「<要素名称 属性=“属性値”>」などのように属性情報を設定することができる。「<特許DB></特許DB>」のようにテキストを含まない構成要素は、簡易記法として「<特許DB/>」のように表わすこともできる。
【0042】
図3に示した文書は、「特許」タグから始まる要素をルート(根)とし、その子要素として「タイトル」、「出願日」、「出願者」、「要約」タグから始まる要素集合が存在する。また、例えば、「タイトル」タグから始まる要素には「XMLデータベース」といった、1つのテキスト(文字列)が存在する。
【0043】
XMLなどの構造化文書は、任意の構成要素を繰り返し含んでいたり、さらには文書構造があらかじめ決まっていない(RDB(リレーショナルデータベース)やOODB(オブジェクト指向データベース)のスキーマでは定義できない)のが普通である。
【0044】
図3に示したような構造化文書を論理的に表現するために、図4に示すようなツリー表現が用いられる。ツリーは、ノード(番号が付され、円形で示されたもの)とアーク(ノードを表す円形間をつなぐデータ付き線)と四角形で囲まれたテキストから構成されている。
【0045】
ノードは文書オブジェクトに対応し、ノードからタグ名や属性名に相当するラベルが付与された複数のアークが出てきている。そのアークの先は、ノードまたは要素値としての文字列(テキスト)である。ノードの中に記載されている英数字(#0、#49)などはオブジェクトIDである。
【0046】
図4に示したツリー構造を図3に示した構造化文書の文書オブジェクトツリーと呼ぶ。
【0047】
図1は、本実施形態に係る構造化文書管理システムの構成例を示したものである。図1において、構造化文書管理システムは、大きく分けて、要求制御部1、アクセス要求処理部2、検索要求処理部3、データアクセス部4、文書記憶部5、インデックス記憶部6から構成されている。文書記憶部5、インデックス記憶部6は例えば、外部記憶装置を用いて構成される。
【0048】
図1のシステム構成は、ソフトウエアを用いて実現可能である。
【0049】
要求制御部1は、要求受付部11と結果処理部12から構成されている。要求受付部11は、ユーザからの文書格納や文書取得、文書検索などの要求を受け付けて、アクセス要求処理部2を呼び出す。結果処理部12は、アクセス要求処理部2が処理した結果を要求元のユーザに返す処理を行う。
【0050】
アクセス要求処理部2は、ユーザからの文書格納や文書取得などの要求に対応した複数の処理部から構成されている。つまり、文書格納部21、文書取得部22、文書削除部23から構成されている。
【0051】
文書格納部21は、文書記憶部5中の論理的な指定エリアに文書を格納する処理を行う。
【0052】
文書取得部22は、文書記憶部5中の論理的なエリアが指定されたときに、その指定エリアに存在する文書を取得する処理を行う。
【0053】
文書削除部23は、文書記憶部5中の論理的な指定エリアに存在する文書を削除する処理を行う。
【0054】
文書記憶部5は、構造化文書データベースであり、例えば、図8に示すように、文書をUNIXのディレクトリ構造のように階層的にツリー構造状に格納している。
【0055】
図8に示すように、構造化文書データベースは、図4に示したような1つの構造化文書のツリー構造と同様に表現できる。すなわち、任意のノード以下の部分階層木(部分ツリー)は、構造化文書データベースから切り出された構造化文書であり、ここでは、これを文書オブジェクトツリーと呼ぶ。各ノードにはオブジェクトIDが割り当てられている。オブジェクトIDは、構造化文書データベース内ではユニークな数値を持つものとする。
【0056】
階層木のルートとなるノードには、それがルートノードであることを特定するためのオブジェクトID「#0」が割り当てられるものとする。
【0057】
ルートノード、すなわち、「#0」のノードからは「root」タグを先頭に持つ「#1」のノードへリンクが張られている。「#1」のノードからは、「特許DB」タグを先頭にもつ「#2」ノードへのリンクが張られている。「#2」ノードからは、「特許」タグを先頭に持つ「#42」ノード、「#52」ノード、「#62」ノードへのリンクがそれぞれ張られている。
【0058】
図3に示した「特許」情報は、「#42」ノード以下の部分ツリーに対応している。このノードからは「タイトル」タグ、「出願者」タグ、「要約」タグなどを先頭にもつノードへリンクが張られ、末端のノードからは、「XMLデータベース」、「T社」。「XMLを統一的に管理するデータベースを提供する…」などの文字列(要素値)へのリンクが張られている。
【0059】
「#52」ノード以下の部分ツリー、「#62」ノード以下の部分ノードも1つの「特許」情報に対応する部分である。
【0060】
ところで、例えば、「#43」ノードにリンクされた「XMLデータベース」という要素値は、「#43」ノードと「#value」という特殊なタグ名で接続されている。このタグ名は、「#」で始まるためXML規格においては標準的なタグ名として利用することはできない。
【0061】
このような構造化文書データベースの特定ノードを指定するために構造化文書パスを用いる。構造化文書パスは「uix://root」から始まる文字列である。uix(Universal Identifier for XML)は構造化文書パスであることを示す前置文字列である。
【0062】
例えば、「uix://root/特許DB」は、「#1」ノードから「特許DB」が付与されたアークが指し示すノード、つまり「#2」ノードに対応する。このように「root」から「/」で区切られた部分文字列をタグ名とみなすことで「#0」ノードからタグ名の並びに沿って対応するアークを下っていき、その最後のアークが指すノードが、パスの場所を指し示す。
【0063】
例えば、「uix://root/特許DB/特許」は、「#42」ノード、「uix://root/特許DB/出願日/年」は、「#45」ノードを指し示す。
【0064】
「#2」ノード以下に、すなわち、「特許DB」に、複数の「特許」情報を格納する場合には、個々の「特許」情報を識別するために、構造化文書パスにインデックス表現が可能である。
【0065】
「特許DB」の最初の「特許」情報であれば、「uix://root/特許DB/特許[0]」となるが、これは「uix://root/特許DB/特許」と同じとみなす。
【0066】
「特許DB」の2番目の「特許」情報であれば、「uix://root/特許DB/特許[1]DB」の5番目の「特許」情報であれば、「uix://root/特許DB/特許[4]」となる。
【0067】
インデックス記憶部6には検索時に用いる、要素名称生起インデックスとデータ生起インデックスが記憶されている。
【0068】
要素名生起インデックスとは構造化文書データベースに格納されている要素名称のリストと、各要素名称が先頭にある構造化文書(文書オブジェクトツリー)の位置とを関連付けてインデックスファイル化したものである。例えば、図8の構造化文書データベースのように、(「特許」情報に対応する)「特許」という要素名称が「#42」ノード以下の構造化文書、「#52」ノード以下の構造化文書、「#62」ノード以下の構造化文書に存在する場合、これらをインデックス化すると、図9に示すように、それらの親ノード、「#2」ノードが、要素名称生起インデックスファイルに「特許」キーからのチェーンで格納される。
【0069】
このように、親ノードでインデックス化すると、インデックスファイルを圧縮することができる。すなわち、親ノードでインデックス化すれば、子ノードが増大しようとも、親ノードで代用しているので、チェーンサイズは増大しない。これに対し、実ノードをインデックス化すれば「特許」情報の格納数の増大とともにチェーンサイズはそれに比例して増加してしまう。
【0070】
データ生起インデックスとは、構造化文書データベースに格納されている文字列データのリストと各文字列データがある構造化文書(文書オブジェクトツリー)の位置とを関連付けてインデックスファイル化したものである。例えば、図8の構造化文書データベースのように、「XML」という文字列データ(および、「XML」という文字列を含む文字列)が「#43」ノード以下の構造化文書、「#49」ノード以下の構造化文書に存在する場合、これらをインデックス化すると、図10に示すように、「#43」ノード、「#49」ノードが、データ生起インデックスファイルに「XML」キーからのチェーンで格納される。
【0071】
なお、逆階層インデックスなど、その他のインデックスファイルを用いてもよい。逆階層インデックスとは、あるノードとその親ノードとの対応を格納したものである(あるノードからその親ノードを求めることができる)。
【0072】
文書記憶部5中の論理的な指定エリアとは、ユーザにより構造化文書パスを用いて指定された文書の格納場所を指す。構造化文書パスは、ユーザにとって認識可能な表現である。
【0073】
図1の説明に戻る。
【0074】
データアクセス部4は、文書記憶部5をアクセスする基本インターフェイスの集合である。データアクセス部4は、文書オブジェクトツリー格納部47、文書オブジェクトツリー削除部48、文書オブジェクトツリー取得部49、文書文字列取得部44、パスから文書オブジェクトツリー取得部45、文書パーサ部46、合成文書作成部47、インデックス更新部48から構成される。
【0075】
文書オブジェクトツリー格納部41は、文書記憶部5中の物理的な指定エリアに文書オブジェクトツリーを格納する処理を行う。
【0076】
文書オブジェクトツリー削除部42は、文書記憶部5中の物理的な指定エリアに存在する文書オブジェクトツリーを削除する処理を行う。
【0077】
文書オブジェクトツリー取得部43は、文書記憶部5中の物理的な指定エリアに存在する文書オブジェクトツリーを取得する処理を行う。
【0078】
文書文字列取得部44は、文書オブジェクトツリーを構造化文書(XML文書)に変換する処理を行う。
【0079】
パスから文書オブジェクトツリー取得部45は、構造化文書パスを解析して文書記憶部5中の物理的なエリアを特定して、そのエリアに存在する文書オブジェクトツリーを取り出す処理を行う。
【0080】
文書パーサ部46は、ユーザにより入力された構造化文書を読み込んで構文解析して整合性の検査を行い、さらに文書構造定義データであるスキーマが存在すれば構造的に妥当かどうかの検証を行う。出力結果は文書オブジェクトツリーとなる。文書パーサは、通常、lex(lexical analyzer generator)といったレキシカルアナライザ(字句解析を行い,トークンに分解する)とyacc(yet another compiler compiler)といったパーサジェネレータを組み合わせて構築することができる。
【0081】
合成文書作成部47は、文書格納や文書削除などをする際に、スキーマに合致しているかどうか検査しなければならないが、この検査時に必要となるデータを作成して出力する。
【0082】
インデックス更新部48は、文書格納や文書削除などにより、構造化文書データベースの格納内容が更新されるたびに、図9、図10に示した要素名称生起インデックスとデータ生起インデックスを更新する。
【0083】
文書記憶部5中の物理的な指定エリアとは、ファイルオフセットやオブジェクトIDなどの構造化文書データベース内ではユニークな文書データの存在場所を指し示す内部データである。ユーザにとっては認識不能なデータである。
【0084】
文書記憶部5中に格納された文書を検索する処理を行う。要求制御部1の要求受付部11でユーザからの文書検索の要求が受け付けられると、検索要求処理部3には、要求受付部11からクエリ言語で記述されたクエリ文書が入力する。そしてデータアクセス部4を通してインデックス記憶部6,文書記憶部5にアクセスし、検索要求に合致する文書集合を取得して、その結果を結果処理部12を介して出力する。
【0085】
図2は、図1に示した構造化文書管理システムの一利用形態を示したもので、図2では、WWW(World Wide Web)のバックエンドで、図1に示した構成の構造化文書管理システム100が動作している場合を示している。
【0086】
複数(ここでは、例えば3つ)のクライアント端末(例えばパーソナルコンピュータ、携帯通信端末など)102のそれぞれでWWWブラウザ103が動作している。ユーザは、各クライアント端末からWWWサーバ101にアクセスすることにより、構造化文書管理システム100にアクセスすることができる。WWWブラウザ103とWWWサーバ101とは、HTTP(Hyper TextTransfer Protocol)で通信している。また、WWWサーバ101と構造化文書管理システム100とは、CGI(Common Gateway Interface)またはCOM(Component Object Model)などで通信している。
【0087】
ユーザからの文書格納、文書取得、文書検索などの要求は、WWWブラウザ103から送信されて、WWWサーバ101を通して構造化文書管理システム100にて受け付けられ、処理された結果は、WWWサーバ101を通して要求元のWWWブラウザ103へ返信される。
【0088】
以下、図1の構造化文書管理システムの(1)格納機能、(2)検索機能について詳細に説明する。そして、(3)適用例では、概念検索を用いた特許調査の場合を例にとり説明する。
【0089】
格納機能
図1の構造化文書管理システムにおける格納系のコマンドには以下のものがある。
【0090】
insertXML(パス、N番目、XML):文書格納
appendXML(パス、XML) :文書格納
getXML(パス) :文書取得
removeXML(パス) :文書削除
setSchema(パス、スキーマ) :スキーマ格納
getSchema(パス) :スキーマ取得
「insertXML」は、( )内に指定した構造化文書パス以下のN番目に文書を挿入するコマンド(以下、簡単に挿入コマンドと呼ぶ)である。
【0091】
「appendXML」は、( )内に指定した構造化文書パス以下の最後に文書を挿入するコマンド(以下、簡単に追加コマンドと呼ぶ)である。
【0092】
「getXML」は、( )内に指定した構造化文書パス以下の文書を取り出すコマンド(以下、簡単に取得コマンドと呼ぶ)である。
【0093】
「removeXML」は、( )内に指定した構造化文書パス以下の文書(スキーマ文書以外の文書で、主に、コンテンツ文書)を削除するコマンド(以下、簡単に削除コマンドと呼ぶ)である。
【0094】
「setSchema」は、( )内に指定した構造化文書パスにスキーマを設定するコマンド(以下、簡単にスキーマ格納コマンドと呼ぶ)である。
【0095】
「getSchema」は、( )内に指定した構造化文書パスに設定されているスキーマを取り出すコマンド(以下、簡単にスキーマ取得コマンドと呼ぶ)である。
【0096】
上記コマンドのうち、挿入コマンド、追加コマンド、スキーマ格納コマンドについての処理はアクセス要求処理部2の文書格納部21で実行され、取得コマンド、スキーマ取得コマンドについての処理は文書取得部22で実行され、削除コマンドについての処理は文書削除部23で実行される。
【0097】
図5を参照して、構造化文書データベースの初期状態(図5(a)参照)において、追加コマンドを実行する場合について説明する。
【0098】
図5(a)に示すように、「#0」ノードと「#1」ノードが「root」アークで接続されている初期状態に対して、
「appendXML(“uix://root”,“<特許DB/>”)」
を実行した結果、図5(b)に示すように、「#2」ノードと「特許DB」アークが作成される。
【0099】
図5(b)に示した状態の構造化文書データベースに対して、取得コマンドを実行する場合について説明する。
【0100】
例えば、「getXML(“uix://root”)」を実行すると、図5(b)の「root」アークが示す「#0」ノード以下の文書オブジェクトツリーが取り出され、それをXMLの文字列表現に変換する。その結果、図6に示すように、「<root><特許DB/></root>」なる文字列が取り出される。取得コマンドの処理は、アクセス要求処理部2の文書取得部22にて実行される。
【0101】
次に、図5(b)に示した状態の構造化文書データベースに対して、図3に示すようなコンテンツ文書(XML文書)としての「特許」情報を格納するための追加コマンドを実行する場合について説明する。すなわち、この場合、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」を実行する。このコマンド中「“<特許>…</特許>”」が、図3に示した「特許」情報に対応する。
【0102】
上記追加コマンドの処理が実行されると、図7に示すように、「#2」ノード以下に「#42」ノードをトップとする文書オブジェクトツリー(図4に対応)が追加される。
【0103】
図5(b)に示した状態の構造化文書データベースに対して、次に示すような追加コマンドを3回繰り返して実行したとする。
【0104】
「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」
上記コマンド中、「<特許>…</特許>」は、図3に示した文書構造のコンテンツ文書に対応する。
【0105】
すると、図8に示すように、「#2」ノード以下に「#42」ノード、「#52」ノード、「#62」ノードをトップとする文書オブジェクトツリーが追加される。
【0106】
次に、図8に示した状態の構造化文書データベースに対して、3つの「特許」情報を取り出すための取得コマンドを実行した場合について説明する。この場合、「getXML(“uix://root/特許DB”)」を実行する。すると、「特許DB」アークが示す「#2」ノード以下の文書オブジェクトツリーが取り出され、それをXMLの文字列表現(XML文書)に変換する。その結果、図11に示すように、「<特許DB><特許>…</特許><特許>…</特許><特許>…</特許></特許DB>」なる文字列が取り出される。
【0107】
構造化文書データベースでは、上記の「特許」情報などのコンテンツ文書(XML文書)の文書構造を定義したデータ、すなわち、スキーマも管理対象とする。
【0108】
図12は、XML文書の文書構造を定義するスキーマの一例を示したものである。ここでは、XMLの文書構造定義言語の一つであるXDR(XML−Data Reduced)を取り上げる。もちろん、XML−Schemaなど他の文書構造定義言語を用いてもかまわない。
【0109】
図12に示したスキーマは、図3に示した「特許」情報の文書構造をXDRで定義したものである。図12からも容易に分かるとおり、スキーマもXML形式の構造化文書である。「Schema」タグから始まる構成要素から始まり、その子要素として、「ElementType」タグから始まる要素集合が存在する。
【0110】
図12に示したスキーマにおいて、例えば、最初の「ElementType」タグから始まる子要素は以下の情報を意味している。
【0111】
・「特許」タグを持つ要素の文書構造定義(「ElementType name=”特許”」)である。
【0112】
・子要素は要素だけ(「content=”eltOnly”」)である。
【0113】
・「タイトル」、「出願日」、「要約」タグから始まる子要素から構成される(「element type=”タイトル”、…」)。さらに、その順番は一意に決まっている(「order=”seq”」)。
【0114】
・上記「特許」タグから始まる要素の文書構造定義の他に、「タイトル」「出願者」「要約」「年」「月」「日」「出願日」の文書構造定義を記述している。すなわち、「出願日」を除く、「タイトル」「出願者」「要約」「年」「月」「日」タグから始まる構成要素の子要素はテキストだけと定義されている(「content=”textOnly”」)。
【0115】
・「出願日」タグから始まる構成要素の子要素は、「年」、「月」、「日」の並びである。
【0116】
図8に示した状態の構造化文書データベースに対して、図12に示したスキーマ文書を格納するためのスキーマ格納コマンドを実行する場合について説明する。この場合、「setSchema(“uix://root/特許DB”,“<Schema>…</Schema>”)」を実行する。このコマンド中、「“<Schema>…</Schema>”」」が図12に示したスキーマ文書に対応する。
【0117】
上記コマンドの実行により、図13に示すように、「#2」ノード以下に「#schema」アークが追加され、その先には、「#3」ノードをトップノードとする文書オブジェクトツリーが追加される。スキーマ自身がXML文書表現になっているため、前述した「特許」情報のようなコンテンツ文書格納のケースと同様にツリー展開可能である。
【0118】
図13において、「@name」など「@」で始まるアークは属性に対応する。タグ名「#schema」も「#」、「@」で始まるためXML規格においては標準的なタグ名として利用することはできない。
【0119】
「#2」ノード下に図12に示したスキーマ文書が格納されたことにより、以後、「#2」ノード以下にこれから格納される文書の文書構造は、図12に示したスキーマ文書により定義された文書構造に適合することが要求される。すなわち、「#2」ノード以下に図12に示したスキーマが設定されることになる。
【0120】
「#2」ノード以下に図12に示したスキーマが設定されると、図14に示すように、「#2」ノードの文書オブジェクトのファイルには、「#2」ノード以下の文書オブジェクトツリーには、当該スキーマが存在する旨の属性値がセットされる。
【0121】
「#2」ノード以下に図12に示したスキーマが設定された後に、このスキーマで定義された文書構造に一致する図3に示したような「特許」情報を、図14に示したように、文書オブジェクトツリーとして構造化文書データベースに格納したとき、この文書の文書構造には図12に示したスキーマが存在する旨の属性値が、当該文書オブジェクトツリーを構成する各文書オブジェクトにセットされる。例えば、当該文書オブジェクトツリーを構成する各文書オブジェクトのファイルに対して、スキーマが存在している旨の属性値(例えば、「スキーマ適合有無」)に「1」がセットされる。図14では、スキーマに適合している各文書オブジェクト(ノード)は2重丸で示している。2重丸で示した各文書オブジェクトには、その文書オブジェクトに対応した文書構造定義が存在することになる。
【0122】
図15は、各文書オブジェクトのファイルの内容を概念的に示したもので、例えば、オブジェクトIDが「#42」の文書オブジェクトのファイルには、その文書オブジェクトにリンクされている他の文書オブジェクトに関する情報(例えば、アークや、リンク先の文書オブジェクトへのポインタ値など)とともに、上記属性値が記述されている。なお、当該文書オブジェクトに適用するスキーマが存在しないときは、「スキーマ適合有無」の値は「0」となる。
【0123】
図16、図17は、図1の構造化文書管理システムで、必要に応じて検索で使用される概念階層を構造化文書で表現した例を示す。図16、図17に示す「概念」情報はXMLで記述したコンテンツ文書である。
【0124】
図16に示した「概念」情報の例は、いわゆる特許調査における特許文書の内容を分類するための1つの分類軸として用いる「情報モデル」を概念階層で表現している。「概念」タグで囲まれた「概念」情報は、入れ子構造を持った文書構造をもっている。つまり、図16の例では、概念「情報モデル」の子供概念として、概念「ドキュメント」、概念「リレーション」、概念「オブジェクト」が存在している。また、概念「ドキュメント」の子供概念として、概念「構造化訴求メント」、概念「非構造化ドキュメント」が存在し、さらに、概念「構造化ドキュメント」の子供概念として、概念「XML」、概念「SGML」が存在している。
【0125】
図17に示す「概念」情報の記述例は、図16とは異なる分類軸「情報操作」を概念階層で表現している。図17の例では、概念「情報操作」の子供概念として、概念「検索」、概念「格納」、概念「加工」、概念「流通」が存在している。
【0126】
図16,図17に示したような「概念」情報も、前述の「特許」情報と同様にして、構造化文書データベース内に格納することができる。すなわち、例えば、まず、図8に示した状態の構造化文書データベースに対して、「appendXML(“uix://root”,“<概念DB/>”)」を実行して、図18に示すように、「#201」ノードと「概念DB」アークが作成される。この状態において、図16に示した「概念」情報を格納する場合には、「appendXML(“uix://root/概念DB”,“<概念名前>…</概念>”)」を実行する。このコマンド中「“<概念名前>…</概念>”」が、図16に示した「概念」情報に対応する。
【0127】
上記追加コマンドの処理が実行されると、図19に示すように、「#201」ノード以下に「#202」ノードをトップとする文書オブジェクトツリーが追加される。
【0128】
以上説明したように、図1の構造化文書管理システムでは、構造化文書データベース上に登録される文書構造が異なる膨大な数のXML文書群(コンテンツ文書、スキーマ文書、クエリ文書など)を、図18,図19に示すように、「root」タグを先頭に持つツリー状の1つの巨大なXML文書として取り扱う。そのため、部分的なXML文書をアクセスするには巨大なXML文書に対するパスという文書構造に依存しない統一的なアクセス手段を用いることにより、幅広くXML文書を検索したり加工したりすることが可能になる。
【0129】
また、構造化文書データベース上の一部にスキーマを設定することで、格納しようとする文書の文書構造がそのスキーマにより定義されている文書構造に一致するか否かの妥当性のチェックが自動的に行なえる(後述)。
【0130】
(1−1)文書格納処理
次に、図1の構造化文書管理システムの文書格納処理動作について、図20に示すフローチャートを参照して説明する。
【0131】
クライアント端末から構造化文書管理システムに対し、文書格納要求として、挿入コマンド、追加コマンド、スキーマ格納コマンドのうちのいずれかが送信されて、要求受付部11にて受け付けられたとき、図20に示した処理動作を行う。
【0132】
クライアント端末の所定の表示装置には、構造化文書管理システム100(の例えば、要求制御部1)から提供された、例えば、図31に示すようなユーザインターフェイスとしての画面が表示されている。
【0133】
図31に示す画面には、構造化文書管理システム100への操作項目の一覧(メニュー)が表示されている。操作項目として、「XML登録/削除」、「スキーマ設定」、「XML検索」とがある。
【0134】
ユーザが例えば、この画面上で「XML登録/削除」をマウス等のポインティングデバイスなどを用いて選択すると、図32に示したような文書の格納/削除を行うためのユーザインタフェースとしての画面が表示される。
【0135】
図32において、領域W1には、文書構造化文書データベースの現在のツリー構造の要素名(タグ名)がユーザが理解可能なように簡略的に表示されている。なお、図32では、上位階層の要素名のみを表示しているが、末端の要素名まで表示可能である。また、領域W2は、構造化文書パスの入力領域であり、領域W1の表示内容に従って、構造化文書パスを入力するようになっている。また、領域W3は、格納する文書を入力したり、取得した文書を表示するようになっている。
【0136】
例えば、構造化文書パスとして「root」を入力する場合には、領域W1の「root」をマウス等で選択すればよい。すると、図32に示すように、領域W2の構造化文書パスの入力領域に「uix://root」と表示される。また、新たに、「特許DB」という要素を追加する場合は、図32に示すように、領域W3に、「特許DB」を入力する。そして、「登録」ボタンB1を選択すると、クライアント端末からappendXML(“uix://root”,“<特許DB/>”)」なる追加コマンドが構造化文書管理システムへ送信される。構造化文書管理システムでは、上記追加コマンドを受け、後述するような処理を実行した結果、例えば、図5(b)に示すように、「#2」ノードと「特許DB」アークが作成される。また、領域W1には、図33に示すように、「root」の下に「特許DB」が追加表示される。
【0137】
さて、ユーザが図34に示したような文書の格納/削除画面上の領域W3に、例えば、文書「<A>データ</A>」を入力し(あるいはCD−ROM等の所定の記録媒体等から読み込むことにより入力し)、領域W1の「特許[0]」をマウス等で選択すると、構造化文書パスの入力領域W2に、「uix://root/特許DB/特許[0]」と表示される。そして、「登録」ボタンB1を選択すると、クライアント端末からappendXML(“uix://root”,“<特許DB/>”)」なる追加コマンドが構造化文書管理システムへ送信される。
【0138】
ここでは、例えば、構造化文書データベースが、図14に示した状態のときに、「appendXML(“uix://root/特許DB/特許[0]”,“<A>データ</A>”)」なる追加コマンドを受け付けた場合を例にとり説明する。
【0139】
要求受付部11は、上記追加コマンドを受け付けると、上記追加コマンド中の2つのパラメータである構造化文書パス「uix://root/特許DB/特許[0]」と文書「<A>データ</A>」(以下、格納文書と呼ぶ)とを文書格納部21へ渡す(ステップS1)。
【0140】
まず、文書格納部21は、文書パーサ部46に格納文書を渡す。文書パーサ部46は、格納文書を読み込んで、構文解析を行い、当該格納文書の文書構造がXMLにて規定された正しい形式であるか否かの整合性の検査を行う(ステップS2)。
【0141】
この整合性の検査でエラーが見つかれば(ステップS3)、文書格納部21,結果処理部12を介して、クライアント端末に「文書格納失敗」の旨のメッセージを返す(ステップS4)。
【0142】
整合性の検査でエラーが見つからなければ、次に、文書格納部21は、パスから文書オブジェクトツリー取得部45へ構造化文書パスを渡す。パスから文書オブジェクトツリー取得部45は、構造化文書パスから文書記憶部5中の物理的なエリアを特定することにより、そのエリアに存在する構造化文書パスにて表されたノード(文書オブジェクトOx0)を含む文書オブジェクトツリーを取り出す(ステップS5)。構造化文書パスの指定が正しければ、文書オブジェクトOx0のオブジェクトIDを取得することができるので(ステップS6)、その場合は、ステップS8へ進む。
【0143】
例えば、上記追加コマンドの場合、「#42」ノードが文書オブジェクトOx0となるので、そのオブジェクトIDとして、「#42」を取得するとともに、この「#42」ノードを含む文書オブジェクトツリー(例えば、「#42」ノードの全ての子孫ノードと「#42」ノードと同じ階層にある全ての(兄弟)ノードと、「#42」ノードの親ノードである「#2」ノードとからなる文書オブジェクトツリー)を取得する。
【0144】
指定された構造化文書パスからそれに対応する文書オブジェクトOx0が見つからなければ、エラーとなり(ステップS6)、文書格納部21,結果処理部12を介して、クライアント端末に「文書格納失敗」の旨のメッセージを返す(ステップS7)。
【0145】
例えば、構造化文書データベースが、図18に示した状態のときに、追加コマンドのパラメータとして、構造化文書パスが「uix://root/その他」と表されていたとき、これに対応する文書オブジェクトは存在しないので、ステップS6でエラーとなり、ステップS7へ進む。
【0146】
次に、ステップS8では、文書オブジェクトOx0にスキーマが存在するか否かを検査する。この検査は、前述したように、各文書オブジェクトのファイルに属性値が記述されているので、この値をチェックすればよい。文書オブジェクトOx0のもつ「スキーマ属性有無」の値が「1」のときは、ステップS9へ進む。
【0147】
以下、図20のステップS9の処理(合成文書作成部47の処理)について、図21に示すフローチャートを参照して詳細に説明する。
【0148】
文書格納部21は、ステップS5で取得した文書オブジェクトツリーを合成文書作成部47へ渡す。
【0149】
合成文書作成部47は、この文書オブジェクトツリーを文書オブジェクトOx0から遡り、「Schema」タグを子要素として持つ文書オブジェクトOx1を検索する(ステップS21)。
【0150】
例えば、図14に示した構造化文書データベースでは、文書オブジェクトOx0としての「#42」ノードの親ノードである「#2」ノードから「Schema」タグをトップ(先頭)にもつノード(「#3」ノード)へのリンクが張られているので(「Schema」タグを子要素として持つので)、この「#2」ノードが文書オブジェクトOx1となる。よって、ステップS22をスキップして、ステップS23へ進む。
【0151】
この文書オブジェクトOx1から文書オブジェクトOx0、さらに文書オブジェクトOx0からアークを辿って、その下流にある、文書オブジェクトの属性値の値が「1」である全ての子ノードからなる文書オブジェクトツリーOt1を取り出す(ステップS23)。
【0152】
例えば、上記追加コマンド中のパラメータの構造化文書パスが「uix://root/特許DB/特許[0]」と指定されているとき、文書オブジェクトツリーOt1は、「#42」ノード〜「#49」ノードから構成されたものとなる(図14参照)。
【0153】
次に、ステップS25へ進む。
【0154】
ステップS25では、文書オブジェクトツリーOt1に格納文書の文書オブジェクトツリーを文書オブジェクトOx0の子ノードとして挿入する。その結果得られた新たな文書オブジェクトツリーを文書オブジェクトツリーOt2とする。
【0155】
この文書オブジェクトツリーOt2をXML文書に変換し、それをテンポラリファイルAに出力する(ステップS27)。
【0156】
例えば、上記追加コマンド中のパラメータの格納文書「<A>データ</A>」の文書オブジェクトツリー(この場合は、1つの文書オブジェクト)を「#42」ノード〜「#49」ノードで構成された文書オブジェクトツリーOt1に「#42」ノードの子ノードとして挿入して得られた合成文書の文書オブジェクトツリーOt2をXML文書に変換した結果を図22に示す。この合成文書は、もともとある「特許」情報に「<A>データ</A>」というデータを追加したものとなっている。
【0157】
図22に示したXML文書、すなわち、合成文書がテンポラリファイルAに出力され、テンポラリファイルAに一時格納される。
【0158】
一方、スキーマタグ以下の文書オブジェクトツリーOt3をXML文書に変換して、それをテンポラリファイルBに出力する(ステップS28)。すなわち、テンポラリファイルBには、スキーマ文書が一時格納されることになる。
【0159】
例えば、文書オブジェクトツリーOt3である「#3」ノードをトップノードとする文書オブジェクトツリーをXML文書に変換した結果を図23に示す。図23に示したXML文書がテンポラリファイルBに出力され、テンポラリファイルBに一時格納される。
【0160】
図22に示すように、テンポラリファイルA(「tmp000.xml」)には、もともとある「特許」情報の要素の他に、格納文書、すなわち、ここでは、例えば、「<A>データ</A>」が挿入されている。また、「xmlns=”x−schema:tmp001.xml”」という、テンポラリファイルB(「tmp001.xml」)へのリンク情報の記述がある。この記述は、「特許」情報に適用されるスキーマが出力されているテンポラリファイルBを指定している。
【0161】
次に、図20の説明に戻る。
【0162】
ステップS10では、文書格納部21は文書パーサ部46に、合成文書のテンポラリファイルAとスキーマのテンポラリファイルBとを与えて、合成文書の文書構造の妥当性をチェックする。すなわち、文書パーサ部46は、合成文書のテンポラリファイルAとスキーマのテンポラリファイルBとを読み込み、合成文書の文書構造が、スキーマにより定義されている文書構造に一致するか否かをチェックする。
【0163】
例えば、図22に示した合成文書と、図23に示したスキーマとで妥当性のチェックを行った場合、合成文書には、スキーマにより定義されていない「A」という要素が存在するため、図23の合成文書は、妥当性のチェックでエラーとなる(ステップS11)。この場合、文書格納部21,結果処理部12を介して、クライアント端末に「文書格納失敗」の旨のメッセージを返す(ステップS12)。
【0164】
例えば、クライアント端末の所定の表示装置には、図35に示すようなメッセージが表示される。
【0165】
次に、構造化文書データベースが、図14に示した状態のときに、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」なる追加コマンドを受け付けた場合について、図20を参照して説明する。前述同様にして、文書オブジェクトOx0のオブジェクトID「#2」を取得する(ステップS5)、この文書オブジェクトには、スキーマが存在するので(ステップS8)、ステップS9において合成文書を作成する。
【0166】
この場合、文書オブジェクトOx0である「#2」ノード自体から「Schema」タグをトップ(先頭)にもつノード(「#3」ノード)へのリンクが張られているので、この「#2」ノードが文書オブジェクトOx1となる(図21のステップS21)。すなわち、文書オブジェクトOx0と文書オブジェクトOx1が同じなので(ステップS22)、ステップS29へ進み、格納文書「<特許>…</特許>」の文書オブジェクトツリーをXML文書に変換し、テンポラリファイルAに出力する(ステップS29)。
【0167】
例えば、図24に示すように、テンポラリファイルA(「tmp000.xml」)には、格納文書である「特許」情報、すなわち、ここでは、「<特許>…</特許>」が出力されている。また、「xmlns=”x−schema:tmp001.xml”」という、テンポラリファイルB(「tmp001.xml」)へのリンク情報の記述がある。
【0168】
次に、ステップS28へ進む。図25に示すように、テンポラリファイルBには、「#3」ノードをトップノードとするスキーマの文書オブジェクトツリーをXML文書に変換した結果が出力されている。
【0169】
図20のステップS10で、図24に示した合成文書と、図25に示したスキーマとで妥当性のチェックを行ったとき、合成文書の文書構造と、スキーマにより定義されている文書構造とは一致する、この場合、ステップS11からステップS13へ進む。
【0170】
ステップS13では、格納文書の文書オブジェクトツリーが、文書オブジェクトOx0下に追加される。すなわち、文書格納部21により、格納文書の文書オブジェクトツリーを構成する各文書オブジェクト(のファイル)にオブジェクトIDが与えられ、文書オブジェクトOx0から格納文書の文書オブジェクトツリーの先頭の文書オブジェクトへリンクが張られる。そして、文書オブジェクトツリー格納部41により、格納文書の文書オブジェクトツリーを構成する各文書オブジェクト(のファイル)が文書記憶部5に格納される。
【0171】
次に、ステップS14へ進み、インデックス記憶部6のインデックスを更新する。
【0172】
なお、ステップS8で、文書オブジェクトOx0のもつ属性値の値が「0」のときは、上述したスキーマを用いた合成文書の文書構造の妥当性のチェックを行わずに、そのままマステップS13へ進み、格納文書の文書オブジェクトツリーを、文書オブジェクトOx0下に追加し(ステップS13)、それに伴い、インデックス記憶部6のインデックスを更新する(ステップS14)。
【0173】
(1−2)文書取得処理
次に、図1の構造化文書管理システムの文書取得処理動作について、図26に示すフローチャートを参照して説明する。
【0174】
クライアント端末から構造化文書管理システムに対し、文書取得要求として、取得コマンド、スキーマ取得コマンドのうちのいずれかが送信されて、要求受付部11にて受け付けられたとき、図26に示した処理動作を行う。
【0175】
例えば、ユーザが図36に示したような文書の格納/削除画面上の領域W1の「特許DB」をマウス等で選択すると(クリックすると)、構造化文書パスの入力領域W2に、「uix://root/特許DB」と表示されとともに、「getXML(“uix://root/特許DB”)」なる取得コマンドが構造化文書管理システムへ送信される。
【0176】
ここでは、例えば、構造化文書データベースが、図8に示した状態のときに、「getXML(“uix://root/特許DB”)」なる取得コマンドを受け付けた場合を例にとり説明する。
【0177】
要求受付部11は、上記取得コマンドを受け付けると、上記取得コマンド中のパラメータである構造化文書パス「uix://root/特許DB」を文書取得部22へ渡す(ステップS31)。
【0178】
文書取得部22は、パスから文書オブジェクトツリー取得部45へ構造化文書パスを渡す。パスから文書オブジェクトツリー取得部45は、構造化文書パスから文書記憶部5中の物理的なエリアを特定することにより、そのエリアに存在する構造化文書パスにて表されたノード(文書オブジェクトOx5)を取り出す(ステップS32)。構造化文書パスの指定が正しければ、文書オブジェクトOx5のオブジェクトIDを取得することができるので(ステップS33)、その場合は、ステップS35へ進む。
【0179】
例えば、上記取得コマンドの場合、「#2」ノードが文書オブジェクトOx5となるので、そのオブジェクトIDとして、「#2」を取得するとともに、この「#2」ノード以下の文書オブジェクトツリーOt5(「#2」ノード、「#42」ノード〜「#49」ノード、「#52」ノード以下、「#62」ノード以下)を取得する(ステップS35)。
【0180】
ステップS32において、指定された構造化文書パスからそれに対応する文書オブジェクトOx5が見つからなければ、エラーとなり(ステップS33)、文書取得部22,結果処理部12を介して、クライアント端末に「文書取得失敗」の旨のメッセージを返す(ステップS34)。
【0181】
ステップS35で取得した文書オブジェクトツリーOt5は、文書文字列取得部44でXML文書に変換される。例えば、上記取得コマンドの場合、取得したXML文書は、図11に示すような3つの「特許」情報のXML文書となる。
【0182】
文書取得部22は、結果処理部12を介して、図11に示したようなXML文書を(例えば、XSL(eXtensible Style Language)といった所定のスタイルシートとともに)、クライアント端末へ返す(ステップS37)。
【0183】
クライアント端末では、図11に示したXML文書を、スタイルシートを用いてHTMLデータに変換して、例えば、図36に示すように、領域W2に表示する。
【0184】
XSLを利用すると、XML文書を様々な形に変換することが出来る。違う構文書造のXML文書に変換することも出来るし、XML文書からHTMLページを生成することも出来る。
【0185】
(1−3)文書削除処理
次に、図1の構造化文書管理システムの文書削除処理動作について、図27に示すフローチャートを参照して説明する。
【0186】
クライアント端末から構造化文書管理システムに対し、文書削除要求として、削除コマンドが送信されて、要求受付部11にて受け付けられたとき、図27に示した処理動作を行う。
【0187】
例えば、ユーザが図36に示したような文書の格納/削除画面上の領域W1の「特許DB」をマウス等で選択すると(クリックすると)、構造化文書パスの入力領域W2に、「uix://root/特許DB」と表示され、さらに、「削除」ボタンB2を選択すると「removeXML(“uix://root/特許DB”)」なる削除コマンドが構造化文書管理システムへ送信される。
【0188】
ここでは、例えば、構造化文書データベースが、図14に示した状態のときに、「removeXML(“uix://root/特許DB/特許[0]/出願日”)」なる削除コマンドを受け付けた場合を例にとり説明する。
【0189】
要求受付部11は、上記削除コマンドを受け付けると、上記削除コマンド中のパラメータである構造化文書パス「uix://root/特許DB/特許[0]/出願日」を文書削除部23へ渡す(ステップS41)。
【0190】
次に、文書削除部23は、パスから文書オブジェクトツリー取得部45へ構造化文書パスを渡す。パスから文書オブジェクトツリー取得部45は、構造化文書パスから文書記憶部5中の物理的なエリアを特定することにより、そのエリアに存在する構造化文書パスにて表されたノード(文書オブジェクトOx0)を含む文書オブジェクトツリーを取り出す(ステップS42)。構造化文書パスの指定が正しければ、文書オブジェクトOx0のオブジェクトIDを取得することができるので(ステップS43)、その場合は、ステップS45へ進む。
【0191】
例えば、上記削除コマンドの場合、「#44」ノードが文書オブジェクトOx0となるので、そのオブジェクトIDとして、「#44」を取得するとともに、この「#44」ノードを含む文書オブジェクトツリー(例えば、「#44」ノードの全ての子孫ノードと「#44」ノードと同じ階層にある全ての(兄弟)ノードと、「#44」ノードの親ノードである「#42」ノード、その親ノードである「#2」ノードとからなる文書オブジェクトツリー)を取得する。
【0192】
指定された構造化文書パスからそれに対応する文書オブジェクトOx0が見つからなければ、エラーとなり(ステップS43)、文書格納部21,結果処理部12を介して、クライアント端末に「文書削除失敗」の旨のメッセージを返す(ステップS44)。
【0193】
次に、ステップS45では、文書オブジェクトOx0にスキーマが存在するか否かを検査する。この検査は、前述したように、各文書オブジェクトのファイルに属性値が記述されているので、この値をチェックすればよい。文書オブジェクトOx0のもつ属性値の値が「1」のときは、ステップS46へ進む。
【0194】
以下、図27のステップS46の処理(合成文書作成部47の処理(削除コマンド用))について、図28に示すフローチャートを参照して詳細に説明する。
【0195】
なお、図28において、図21と同一部分は同一符号を付している。
【0196】
文書格納部21は、ステップS42で取得した文書オブジェクトツリーを合成文書作成部47へ渡す。
【0197】
合成文書作成部47は、この文書オブジェクトツリーを文書オブジェクトOx0から遡り、「Schema」タグを子要素として持つ文書オブジェクトOx1を検索する(ステップS21)。
【0198】
例えば、図14に示した構造化文書データベースでは、文書オブジェクトOx0としての「#44」ノードの上流にある「#2」ノードから「Schema」タグをトップ(先頭)にもつノード(「#3」ノード)へのリンクが張られているので(「Schema」タグを子要素として持つので)、この「#2」ノードが文書オブジェクトOx1となる。
【0199】
この文書オブジェクトOx1から文書オブジェクトOx0、さらに文書オブジェクトOx0からアークを辿って、その下流にある、文書オブジェクトの属性値の値が「1」である全ての子ノードからなる文書オブジェクトツリーOt1を取り出す(ステップS23)。
【0200】
例えば、上記追加コマンド中のパラメータの構造化文書パスが「uix://root/特許DB/特許[0]/出願日」と指定されているとき、文書オブジェクトツリーOt1は、「#42」ノード〜「#49」ノードから構成されたものとなる(図14参照)。
【0201】
次に、ステップS26ヘ進み、文書オブジェクトツリーOt1から文書オブジェクトOx0以下の文書オブジェクトツリーを削除する。その結果得られた新たな文書オブジェクトツリーを文書オブジェクトツリーOt2とする。
【0202】
この文書オブジェクトツリーOt2をXML文書に変換し、それをテンポラリファイルAに出力する(ステップS27)。
【0203】
例えば、上記削除コマンド中のパラメータの構造化文書パス「uix://root/特許DB/特許[0]/出願日」が指し示す「#44」ノード以下の文書オブジェクトツリーを「#42」ノード〜「#49」ノードで構成された文書オブジェクトツリーOt1から削除することにより得られた合成文書の文書オブジェクトツリーOt2をXML文書に変換した結果を図29に示す。この合成文書は、もともとある「特許」情報から「<出願日>…</出願日>」というデータを削除したものとなっている。
【0204】
図29に示したXML文書、すなわち、合成文書がテンポラリファイルAに出力され、テンポラリファイルAに一時格納される。
【0205】
一方、スキーマタグ以下の文書オブジェクトツリーOt3をXML文書に変換して、それをテンポラリファイルBに出力する(ステップS28)。すなわち、テンポラリファイルBには、スキーマ文書が一時格納されることになる。
【0206】
例えば、文書オブジェクトツリーOt3である「#3」ノードをトップノードとする文書オブジェクトツリーをXML文書に変換した結果を図30に示す。図30に示したXML文書がテンポラリファイルBに出力され、テンポラリファイルBに一時格納される。
【0207】
次に、図27の説明に戻る。
【0208】
ステップS47では、文書削除部21は文書パーサ部46に、合成文書のテンポラリファイルAとスキーマのテンポラリファイルBとを与えて、文書格納処理の場合と同様にして、合成文書の文書構造の妥当性をチェックする。
【0209】
例えば、図29に示した合成文書と、図30に示したスキーマとで妥当性のチェックを行った場合、合成文書には、スキーマにより定義されている「出願日」という要素が存在しないため、図29の合成文書は、妥当性のチェックでエラーとなる(ステップS48)。この場合、文書削除部21,結果処理部12を介して、クライアント端末に「文書削除失敗」の旨のメッセージを返す(ステップS49)。
【0210】
なお、構造化文書データベースが、図14に示した状態のときに、「removeXML(“uix://root/特許DB/特許[0]”)」なる削除コマンドを、図27に従って処理を行うと、図28のステップS27において、図24に示したような合成文書がテンポラリファイルAに出力される。テンポラリファイルBは、図30と同様である。
【0211】
このとき、図24に示した合成文書と、図30に示したスキーマとで妥当性のチェックを行った場合、合成文書の文書構造と、スキーマにより定義されている文書構造とは一致するので、ステップS48からステップS50へ進む。
【0212】
ステップS50では、文書オブジェクトOx0以下の文書オブジェクトツリーを削除する。すなわち、文書オブジェクトツリー削除部42により、文書オブジェクトOx0以下の文書オブジェクトツリーを構成する各文書オブジェクト(のファイル)が文書記憶部5から削除される。例えば、「#2」ノードから「#42」ノード以下の文書オブジェクトのファイルが削除される。
【0213】
次に、ステップS51へ進み、インデックス記憶部6のインデックスを更新する。また、クライアント端末の図36に示したような表示画面の領域W1には、「特許[0]」が表示さなくなる。
【0214】
なお、ステップS45で、文書オブジェクトOx0のもつ属性値の値が「0」のときは、上述したスキーマを用いた合成文書の文書構造の妥当性のチェックを行わずに、そのままマステップS50へ進み、文書オブジェクトOx0以下の文書オブジェクトツリーを削除し(ステップS50)、それに伴う、インデックス記憶部6のインデックスを更新する(ステップS51)。
【0215】
(1−4)スキーマの設定、スキーマを用いた文書格納
図31に示した画面上で、ユーザが「Schema設定Win」をマウス等のポインティングデバイスなどを用いて選択すると、図37に示したようなスキーマの設定を行うためのユーザインタフェースとしての画面が表示される。
【0216】
ユーザが、領域W3に、例えば、図12に示したような「特許」情報のスキーマを入力し、この入力したスキーマを「特許DB」以下のノードに設定する場合には、領域W1から「特許DB」をマウス等でクリックして選択した後(領域W2には、「uix://root/特許DB」が表示される)、「スキーマ設定」ボタンB3を選択する。すると、「setSchema(“uix://root/特許DB”,“<Schema>…</Schema>”)」なるスキーマ格納コマンドが構造化文書管理システムへ送信される。このコマンドの処理は前述した文書格納処理動作と同様である。
【0217】
次に、「uix://root/特許DB」の下に「特許」情報を格納しようとするとき、「特許DB」以下のノードに既に設定されているスキーマを用いて「特許」情報を入力する場合について説明する。
【0218】
まず、スキーマを取得する。例えば、図38に示すような文書の格納/削除を行うための画面の領域W1から「スキーマ」をマウス等を用いて選択すると、文書パスの入力領域W2に、「uix://root/特許DB/#Schema」と表示されとともに、「getXML(“uix://root/特許DB/Schema”)」なるスキーマ取得コマンドが構造化文書管理システムへ送信される。
【0219】
このコマンドの処理は、前述した文書取得処理と同様である。構造化文書管理システムから返されるXML文書は、図38の画面の領域W3に表示される。
【0220】
図38に示すように、領域R3には、「特許」情報のデータ入力領域が各要素毎に設定されて表示されている。この表示に従って、ユーザは、データを入力すればよい。例えば、「タイトル」、「年」などのデータ入力領域が階層的に配置され、表示されている。ユーザは、このデータ入力領域にデータを入力することで、スキーマにより定義された文書構造の格納文書が容易に作成することができる。
【0221】
また、領域W3に入力した「特許」情報の格納先として、領域W1で「特許DB」をマウス等を用いて選択すると、領域W2に構造化文書パスとして、「uix://root/特許DB」が表示される。その後、「登録」ボタンB1を選択すると、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」なる追加コマンドが構造化文書管理システムへ送信される。
【0222】
この場合、格納文書は、予めスキーマに従って入力されたものなので、図20のステップS10の妥当性チェックでエラーとなることはない。
【0223】
(2)検索機能
図1の構造化文書管理システムにおける検索系のコマンドには以下のものがある。
【0224】
query(ql)
「query」は、パラメータとして( )内のクエリqlを実行し、その結果のXML文書を取得するコマンド(以下、検索コマンドと呼ぶ)である。
【0225】
クエリは、図39に示すように、SQL(Structured QueryLanguage)に似た形式の言語により、検索位置、検索条件、情報抽出部分などを記述した、構造化されたXML文書である。クエリ文書も構造化文書管理システムの管理対象である。
【0226】
「kf:from」タグから始まる要素には、検索位置の指定と文書要素の値に変数を対応付ける記述があり、「kf:where」タグのから始める要素には、変数に関する条件づけの記述があり、「kf:select」タグから始まる要素には、検索結果の出力形式が記述される。
【0227】
検索には、単純検索と概念検索とがある。単純検索とは、クエリ中に指定された検索条件を満たす情報を検索・抽出するものであり、概念検索とは、クエリ中に指定された概念情報を利用して、クエリ中に指定された検索条件を満たす情報を検索・抽出するものである。
【0228】
図40は、単純検索のクエリの例を示したものである。図40のクエリは、例えば、図14に示したような状態の構造化文書データベースに対し、「特許DB」アークが示すノード以下に格納されている「特許」情報の文書群において、「1999年でかつ、「PC」のような内容の「要約」という要素をもつ文書(「特許」情報)の「タイトル」を列挙せよ」という検索要求を意味している。
【0229】
「kf:from」タグから始まる要素の記述により、変数「$t」、「$y」、「$s」に、それぞれ「特許」情報の「タイトル」、「年」、「要約」という文書要素の値が代入される。
【0230】
「kf:where」タグから始める要素の記述により、変数「$y」=「1999」という比較がなされる。また、コンポーネント「MyLike」は変数「$s」と「PC」を引数として、「PC」と類似する値の変数「$s」を検知するための関数である。
【0231】
「kf:from」タグから始まる要素の記述により、変数「$t」が出力値として利用される。
【0232】
なお、「kf:star」タグは構造の曖昧表現であり、例えば「<特許><kf:star><年>」は「タグ名が「特許」である要素の子孫の要素としていずれかに存在し、タグ名が「年」である要素」を意味する。
【0233】
図41に図40の単純検索のクエリを用いた検索結果を示す。この検索結果もXML文書である。
【0234】
図42は、概念検索のクエリの例を示したものである。図42のクエリは、例えば図18,図19に示すような状態の構造化文書データベースに対し、「特許DB」アークが示すノード以下に格納されている「特許」情報の文書群に対し、「概念DB」アークが示すノード以下に格納されている「概念」情報を利用して検索するための検索要求である。ここで、概念「周辺装置」の値をもつタグの子要素の値には、概念「SCSI」、「メモリ」、「HDD」などがあるものとする。また、図18には示していないが、各「特許」情報の構成要素には、「キーワード」タグから始める要素も存在するものとする。
【0235】
すなわち、図42のクエリは、「概念「周辺装置」以下の概念のいずれかを「キーワード」という要素の値にもつ文書(「特許」情報)の「タイトル」を列挙せよ」という検索要求を意味している。
【0236】
「kf:from」タグから始まる要素の記述により、変数「$t」、変数「$k」に、それぞれ、「特許」情報の「タイトル」、「キーワード」という要素の値が代入される。また、変数「$x」は「概念」情報として「周辺装置」の値をもつタグの子要素の値(「SCSI」、「メモリ」、「HDD」など)が代入される。
【0237】
「kf:where」タグから始める要素の記述により、「$k」=「周辺装置」もしくは「$k」=「$x」という比較がなされる。
【0238】
次に、図1の構造化文書管理システムの文書検索処理動作について、図43に示すフローチャートを参照して説明する。
【0239】
図31に示した画面上で、ユーザが「XML検索Win」をマウス等のポインティングデバイスなどを用いて選択すると、図44に示すような文書検索を行うためのユーザインタフェースとしての画面が表示される。
【0240】
図44の検索画面において、領域W1には、前述同様、構造化文書データベースの現在のツリー構造の要素名(タグ名)がユーザが理解可能なように簡略的に表示されてている。
【0241】
領域W2は、検索対象の範囲(ツリー構造上の検索範囲)や、検索条件などを入力するための領域である。領域W3には、検索結果が表示される。
【0242】
例えば、「「uix://root」以下の「特許」を先頭タグに持つ文書の中から、「タイトル」タグに「文書」という文字列を含み、「1998」年以降に作成された文書を検索せよ」という検索要求の場合には、領域W1から「root」をマウス等で選択して検索対象の範囲として、構造化文書パスを入力する。そして、トップノードとして、「特許」を入力する(この場合、領域W1から「特許」をマウス等で選択することにより入力してもよい)。また、検索条件として、「「タイトル」という要素の値に「文書」という文字列を含む」「「年」という要素の値が「1998」以上である」という内容を予め設定されたデータ入力領域に入力すればよい。
【0243】
その後、「検索」ボタンB21を選択することにより、例えば、図45に示すようなクエリが、当該クエリを構造化文書データベース上に格納するための追加コマンドとともに構造化文書管理システムへ送信される。クエリの格納場所は、予め定められており、システム側が自動的に、この追加コマンドのパラメータを設定することとなる。例えば、構造化文書データベースが図18に示した状態のとき、当該クエリの格納場所を表すパラメータとしての構造化文書パスは、「uix://root/クエリDB」となる。また、追加コマンドのもう一方のパラメータは、当該クエリ文書である。
【0244】
要求受付部11は、上記クエリを受け付けると(ステップS101)、当該クエリを検索要求処理部3へ渡す。そして、当該クエリ文書を格納するための追加コマンドのパラメータを文書格納部21へ渡す。この追加コマンドの処理を、前述同様に行って、当該クエリは、文書記憶部5に格納される。
【0245】
例えば、図42に示すようなクエリの場合、構造化文書データベースには、図46に示すように展開されて、構造化文書パス「uix://root/クエリDB」の示す「#301」ノード以下にリンクされる。
【0246】
一方、検索要求処理部3では、受け取ったクエリを基に、データアクセス部4を通してインデックス記憶部6,文書記憶部5にアクセスし、検索要求に合致する文書集合などを取得して、クエリの中で要求された情報を抽出して結果処理部12を介して出力する。
【0247】
例えば、上記クエリの場合、まず、「「タイトル」タグに「文書」という文字列を含む」という条件に合致するものを検索することが検索対象を絞り込む上で効率がよい。そこで、図10に示したようなデータ生起インデックスを用いて、「文書」という文字列にリンクされているノード(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを上流側に1つ遡り、「タイトル」というタグ名にたどり着いたときは、更に上流に辿っていき、「特許」というタグ名にたどり着いたときは、そのノード以下の文書オブジェクトツリーOt11を抽出する。
【0248】
次に、この抽出された複数の文書オブジェクトツリーOt11の中から、さらに、「年」という要素の値が「1998」年以上の文書オブジェクトツリーOt12を抽出する。
【0249】
この文書オブジェクトツリーOt12が上記クエリの内容に適合する文書となる。さらに上記クエリの要求内容に従えば、各文書オブジェクトツリーOt12のトップノードへの構造化文書パスを求める(ステップS102)。
【0250】
なお、上記検索処理は、上記した方法に限るものではなく、インデックス情報を用いた様々な効率のよい検索方法が可能である。
【0251】
検索要求処理部3は、ステップS102で得られた結果を統合して、検索結果としてのXML文書を作成する(ステップS103)。
【0252】
例えば、検索結果のXML文書は、
<out>
<result>
uix://root/特許DB/特許[0]
</result>
<result>
uix://root/特許DB/特許[2]
</result>
</out>
となる。
【0253】
検索要求処理部3は、検索結果処理部12を介して、上記XML文書をスタイルシートとともに、要求元のクライアント端末に返す(ステップS104)。
【0254】
クライアント端末では、図11に示したXML文書を、スタイルシートを用いてHTMLデータに変換して、例えば、図44に示すように、領域W12に表示する。
【0255】
同様にして、スキーマの検索も行える。
【0256】
例えば、「「uix://root」以下の「schema」を先頭タグに持つ文書の中から、「特許」と「要約」というタグ名を持つスキーマを検索せよ」という検索要求の場合には、図47に示すように、領域W1から「root」をマウス等で選択して検索対象の範囲として、構造化文書パスを入力する。そして、トップノードとして、「#schema」を入力する。また、検索条件として、「要素の属性名に「特許」という文字列を含む」「要素の属性名に「要約」という文字列を含む」という内容を予め設定されたデータ入力領域に入力すればよい。
【0257】
その後、「検索」ボタンB21を選択することにより、上記検索要求を記述したクエリ(図48参照)が、当該クエリを構造化文書データベース上に格納するための追加コマンドとともに構造化文書管理システムへ送信される。
【0258】
さて、上記クエリの場合、例えば、「「#schema」を先頭タグに持つ」という条件に合致するものを検索する。そこで、図9に示したような要素名称生起インデックスを用いて、「#schema」という要素にリンクされているノードの(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを下流側にアークを辿っていき、属性名が「特許」と「要約」いう要素にたどり着いたときは、当該「#schema」を先頭タグにもつ文書オブジェクトツリーOt21を抽出する。この文書オブジェクトツリーOt21が上記クエリの内容に適合する文書となる。さらに、図48に示したクエリの要求内容に従えば、各文書オブジェクトツリーOt21のトップノードへの構造化文書パスを求める。
【0259】
検索要求処理部3は、文書オブジェクトツリーOt21が複数あれば、それぞれのトップノードへの構造化文書パスをまとめて、検索結果としてのXML文書を作成し、検索結果処理部12を介して、上記XML文書をスタイルシートとともに、要求元のクライアント端末に返す。
【0260】
クライアント端末では、検索結果として受け取ったXML文書を、スタイルシートを用いてHTMLデータに変換して、例えば、図44に示すように、領域W12に表示する。
【0261】
クライアント端末では、検索結果の中の1つのスキーマを選択して、表示させると、例えば、図38に示すような文書の格納/削除を行うための画面とともに、その領域W3に、「特許」情報のデータ入力領域が各要素毎に設定されて表示される。
【0262】
ユーザは、このデータ入力領域にデータを入力することで、スキーマにより定義された文書構造の格納文書が容易に作成することができる。
【0263】
例えば、図38の領域W3に入力した「特許」情報の格納先として、領域W1で「特許DB」をマウス等を用いて選択すると、領域W2に構造化文書パスとして、「uix://root/特許DB」が表示される。その後、「登録」ボタンB1を選択すると、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」なる追加コマンドが構造化文書管理システムへ送信される。
【0264】
この場合、格納文書は、予めスキーマに従って入力されたものなので、図20のステップS10の妥当性チェックでエラーとなることはない。
【0265】
同様にして、クエリの検索も行える。クエリを検索して、検索結果として得られた既存のクエリを加工して、再利用することもできる(クエリの再利用)。
【0266】
クエリの検索は、前述したような構造化文書の検索と同様にして行われ、その検索範囲は、クエリ群の格納されている構造化データベース上の一部の文書オブジェクトツリーとなる。
【0267】
例えば、図18に示したような状態の構造化文書データベースから、「kf:from」タグに「特許DB」を含むクエリを検索する場合について説明する。そのような検索要求を記述したクエリを図49に示す。
【0268】
図49に示すクエリは、「「uix://root/クエリDB」の示す「#301」ノード以下に存在するクエリの中から「kf:from」タグに「特許DB」を含むクエリを検索し、その内容(タグ名が「query」である要素以下の文書オブジェクトツリーの文書)を列挙せよ」を意味するものである。
【0269】
なお、「kf:as」タグの内容で変数「$elt」に、「kf:from」タグに「特許DB」を含むクエリのタグ名が「query」である要素以下の文書オブジェクトツリーが代入される。
【0270】
このクエリを検索要求処理部3が処理する際には、前述同様にして、例えば、図9に示したような要素名称生起インデックスを用いて、「kf:from」という要素にリンクされているノードの(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを下流側にアークを辿っていき、「特許」というタグ名にたどり着いたときは、さらに、上流側にアークを辿って「query」というタグ名に辿りついたとき、当該「query」を先頭タグにもつ文書オブジェクトツリーOt31を抽出する。この文書オブジェクトツリーOt31が上記クエリの内容に適合する文書となる。
【0271】
複数の文書オブジェクトツリーOt31が検索されたら、それらを統合して、XML文書を作成して、それをスタイルシートとともにクライアント端末へ返す。
【0272】
クライアント端末では、検索結果の中の1つのクエリを選択して、表示させると、例えば、図44に示した検索画面の領域W11に、各データ入力領域にデータの入力された状態で、当該クエリに記述された検索要求の内容が表示される。
【0273】
ユーザは、この状態から、「「uix://root」以下の「特許」を先頭タグに持つ文書の中から、「タイトル」タグに「文書」という文字列を含み、「1998」年以降に作成された文書を検索せよ」という当該クエリに記述された検索要求中の「文書」を「XML」に変更して、「検索」ボタンB21を選択すれば、「「uix://root」以下の「特許」を先頭タグに持つ文書の中から、「タイトル」タグに「XML」という文字列を含み、「1998」年以降に作成された文書を検索せよ」という意味のクエリが構造化文書管理システムへ送信される。
【0274】
以上説明したように、図1の構造化文書管理システムでは、構造化文書データベース上に登録される文書構造が異なる膨大な数のXML文書群(コンテンツ文書、スキーマ文書、クエリ文書など)を、図18,図19に示すように、「root」タグを先頭に持つツリー状の1つの巨大なXML文書として取り扱う。従って、文書構造が異なる、様々なスキーマを持つ膨大な数の文書の中から検索条件に合致する文書を容易に検索できる。
【0275】
また、検索に用いるクエリも構造化文書であるので、構造化文書データベースにログとして格納することにより、過去のクエリを再利用するようなアプリケーションも容易に構築することができる。
【0276】
(3)適用例
次に、上記概念検索の特許調査への適用例について説明する。
【0277】
図50は、特許調査における構造化文書データベースの一例であり、「特許」情報の他に、「概念」情報も格納している。
【0278】
特許調査において、最も重要となってくる作業は、関連する「特許」情報を収集し、「特許」情報を様々な観点から分析し、特許マップ(図54参照)を作成することである。特許マップを作成するために、従来、特許マップにおける縦軸、横軸を予め決定し、それに従い、縦軸に並ぶ任意の項目と横軸に並ぶ任意の項目とを検索条件とした検索を逐次行うという方法がとられ、この部分に非常に莫大なコストがかかっていた。しかし、構造化文書管理システムを用いることで、この部分のコストを大幅に減少させることが可能となる。
【0279】
なお、ここで、マップとは、縦軸(y軸)に並ぶ任意の項目と横軸(x軸)に並ぶ任意の項目とを検索条件とした検索結果をx軸とy軸とを分類軸として分類整理するものである。
【0280】
構造化文書管理システムで、クライアント端末のユーザが図54に示すような特許マップを作成しようとする場合、ユーザは、クライアント端末上の表示装置に表示される図50に示すような構造化文書データベースの現在のツリー構造を参照して、図51に示すような検索画面上に、分析対象の範囲とする「特許」情報のパスと、分析の軸(例えば、x軸、y軸)となる要素を、それぞれ領域W21、W22に入力する。分析の軸となる要素は、構造化文書データベース内の「特許」情報の要素、「概念」情報の要素のいずれであってもよい。
【0281】
例えば、図51では、x軸に「機能」、y軸に「技術」という「概念」情報の要素を入力している。
【0282】
その後、ユーザは、「実行」ボタンB31を選択すると、クライアント端末から図1の構造化文書管理システムへ、図52に示したようなクエリが送出される。
【0283】
この場合のクエリには、「「特許DB」アークが示すノード以下に格納されている「特許」情報の文書群の中から、「概念DB」アークが示すノード以下に格納されている、概念「機能」の子要素のいずれかと概念「技術」の子要素のいずれかとを、「キーワード」や「要約」などの要素の値に含む「特許」情報を検索せよ。検索結果として、「機能」の子要素と「技術」の子要素と、それらに対応する「特許」情報の「公開番号」との組を列挙せよ。」という意味の検索要求である。
【0284】
概念「機能」には、「検索」「格納」…「分析支援」という子要素があり、概念「技術」には、「実装データベース」「反構造データベース」「自然言語処理」…という子要素があるものとする。
【0285】
上記クエリを受けた構造化文書検索システムの検索要求処理部3では、例えば、図10に示したようなデータ生起インデックスを用いて、概念「機能」の各子要素(文字列)にリンクされているノード(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを上流側に遡り、「特許」というタグにたどり着いたときは、さらに、そのノード以下の文書オブジェクトツリーを下流側に辿って概念「技術」の子要素(文字列)のいずれかにリンクされているタグ名にたどり着いたときは、当該文書オブジェクトツリーと、その「公開番号」タグにリンクされている文字列(要素値)を抽出する。このようにして、抽出された「特許」情報のそれぞれについて、対応の「機能」の子要素と「技術」の子要素と「公開番号」との組を統合して、図53に示すような検索結果としてのXML文書を作成、要求元のクライアント端末へ、所定のスタイルシートとともに返す。
【0286】
これらを受け取ったクライアント端末の表示装置には、図54に示したような表形式の特許マップが表示されることになる。
【0287】
このように、所望の概念を「軸」として指定するだけで、構造化文書データベースに蓄積された情報を「軸」として指定された概念に基づき集計・分類して、マップ表示するこたが容易に行える。すなわち、構造化文書データベースに蓄積された情報を、「概念」情報を用いて様々な観点で集計・分類することが容易に行える。
【0288】
(本発明の実施の形態の説明)
以下、本発明の実施形態について図面を参照して説明する。
【0289】
次に、上記構造化文書データベースに構造化文書を格納する際に、この構造化文書の構成要素中から予め与えられたルールや「辞書」情報などに基づき、例えば、検索の際に有用となるような情報を(ここでは、当該構成要素の子要素(部分文書)として)抽出する機能について説明する。このような機能を実現するための処理は、図55に示すように、情報抽出部201で実行される。
【0290】
情報抽出部201は、図56に示すように、自然文解析部211、ルール絞込み部212,ルール照合部213、ルール適用部214から構成される。
【0291】
例えば、図20を参照して説明した文書格納要求に対する処理を行う際に、例えば、図20に示した処理実行後に、情報抽出部201が格納する文書(格納文書)中の指定された構成要素から予め与えられたルールや「辞書」情報などを用いて、部分文書を抽出するようになっている。
【0292】
情報抽出部201で用いるルールや「辞書」情報などは、上記構造化文書データベースに構造化文書として、文書オブジェクトツリーに展開されて予め格納されている。
【0293】
図59は、構造化文書データベースの論理構造を模式的に示したもので、上記ルールや、「辞書」情報などが格納されている状態を示したものである。なお、これら論理構造としての配置は問題ではなく、例えば、「報告書DB」の下にルールなどを格納してもよい。
【0294】
格納文書の構成要素のうち、部分文書を抽出する構成要素を指定するには、例えば、ユーザにより指定される場合と、構造化文書パスにて指定された格納文書の格納位置にスキーマが存在する場合に、そのスキーマに(部分文書を抽出する構成要素の定義記述部に)上記ルールや「辞書」情報などを指定するための情報を記述しておく場合とがある。抽出された部分文書は、元の構造化文書のスキーマ解析後格納される。この場合の部分文書はスキーマに特に合致する必要はない。
【0295】
図60は、ルールや「辞書」情報などを指定するための情報(構造化文書パス)の記述を含むスキーマの一例を示したものである。図60に示したスキーマは、図59に示したデータベースの「報告書DB/報告書群」ノード以下に格納されている「報告書」情報に対応するスキーマである。
【0296】
「報告書」情報の文書構造は、、図59に示すように、「報告書」、「タイトル」、「報告者」、「本文」タグから始まる子要素から構成されている。
【0297】
図60に示したスキーマも、図12と同様であるが、異なるのは、図60の9行目〜11行目の「タイトル」タグから始める構成要素の文書構造定義の記述部には、当該要素に適用するルールを指定するための構造化文書パスが「パス」タグに囲まれて記述されている(10行目)。同様にして、図60の12行目〜14行目の「報告者」タグから始める構成要素の文書構造定義の記述部には、当該要素に適用するルールを指定するための構造化文書パスが「パス」タグに囲まれて記述されている(13行目)。また、図60の15行目〜19行目の「本文」タグから始める構成要素の文書構造定義の記述部には、当該要素に適用するルールを指定するための構造化文書パスが「パス」タグに囲まれて記述されている(16行目〜18行目)。文書格納時にスキーマによる文書構造の解析を行う際に、これら「パス」タグが識別され、ルール変換情報とする。この部分に「パス」タグだけでなく、クエリを埋め込むことも可能である。
【0298】
図57は、図56に示した情報抽出部201の概略的な処理動作を説明するためのフローチャートである。以下、図57を参照しながら図56の情報抽出部201の構成と各構成部の機能について説明する。
【0299】
例えば、図61に示したような「報告書」情報を図59の構造化文書データベースの「報告書群」ノード以下に格納するための追加コマンド「appendXML(“uix://root/報告書DB/報告書群/報告書”,“<報告書>データ</報告書>”)がクライアント端末から送信されてきたとする。なお、ここでは、記述を簡略化するため、文書内容を「データ」で表している。
【0300】
この追加コマンドは、図20に示したフローチャートに従って処理されて、図61に示した「報告書」情報が「報告書群」ノード以下に格納される。
【0301】
一方、情報抽出部201では、格納文書の格納場所にスキーマが存在し、そのスキーマには図60に示したように、所定の要素に適用するルールを指定する構造化文書パスが記述されているので、このスキーマにより指定された構成要素から同じくスキーマにより指定されたルールを用いて、格納文書の当該指定構成要素の値を処理対象として、その中から部分文書の抽出を行う。
【0302】
ここでは、例えば、格納文書、すなわち、図61に示した「報告書」情報の「本文」要素から部分文書を抽出する場合を例にとり説明する。
【0303】
情報抽出部201の自然文解析部21は、「本文」要素の値、すなわち、文字列に対し、自然言語処理(例えば、形態素解析、構文解析など)を施し、各文を例えば、単語単位に分割する。
【0304】
ルール絞込み部212は、(例えば、スキーマにより)指定された多くのルールの中から、処理対象に実際に用いるルールを絞り込むための処理を行う。
【0305】
ルール照合部213は、ルール絞込み部212の処理で得られた各ルールと処理対象とを照合するための処理を行う。
【0306】
ルール適用部214は、処理対象にルールを適用して部分文書を作成する処理を行う。
【0307】
以上のような構成の情報抽出部201は、まず、図60に示したスキーマから「本文」要素に適用するルールを指定する構造化文書パス(図60の16行目〜18行目)から、指定されたルールを全て取得する(ステップS301)。なお、ルール取得に際しては、<ルール>が存在する位置をインデックス等により検索する。
【0308】
自然文解析部211は、例えば、「本文」要素の値(文字列)を処理対象として、自然言語処理を施し、例えば単語単位に文を分割する(ステップS302)。例えば、図61の「本文」要素にある「2001年1月17日にT社を契約更新のために訪問した。」という文は、自然文解析部211の処理により、図62(a)に示すように、複数の語彙に分割される。
【0309】
ルール絞り込み部212、ルール照合部213で、ステップS301で取り出されたルールの中から実際に処理対象に適用するルールを絞り込み、その結果得られたルールと処理対象とを照合する(ステップS303)。その際、各ルールの照合度を求める。
【0310】
処理対象にルールを適用して部分文書を作成し(ステップS304)、照合度とともに、作成された部分文書をクライアント端末へ送り返し、提示する(ステップS305)。
【0311】
処理結果を見て、ユーザが必要に応じて確認、選択、修正すると(ステップS306)、ユーザにより選択、修正された部分文書を原文とともに構造化文書データベースに格納する(ステップS307)。このとき、当該部分文書の作成に適用したルールを当該部分文書の構造化文書パスに関連付けてもよい。なお、ステップS305およびステップS306は省略可能で、この場合、基準に従って部分文書が子要素として格納されていることになる。
【0312】
次に、図58に示すフローチャートを参照して、図57のステップS303の処理とステップS304の処理をより詳細に説明する。
【0313】
ルール絞込み部212は、前ルールリストのテーブルと語彙リストのテーブルとを有する。さらに、ルール絞り込みのための処理過程において利用する、現ルールリストのテーブルと、AND候補ルールリストのテーブルと、OR候補ルールリストのテーブルと、候補ルールリストのテーブルと有する。
【0314】
図57のステップS301で取得したルールは、前ルールリストに設定され、図57のステップS302の処理結果として得られた、例えば、図62(a)に示したような分割語彙は、語彙リストに設定される(ステップS311)。
【0315】
ルール絞り込み部212は、上記語彙リストに設定された各語彙を用いて、AND候補リストに登録されたルールの数が、予め定められた閾値(たとえば、ここでは、「3」)以下になるまで、前ルールリストに設定されたルールを絞り込む処理を行う。これらにより、大量のルール候補から優先度の高いルールだけを照合してよいことになり、計算時間の削減が図れる。
【0316】
図63は、ルール絞込み部212の処理の過程を説明するためのものである。以下、図63をも参照しながら説明する。
【0317】
図63の処理過程T0は、初期状態の上記各テーブルの登録内容を示している。
【0318】
処理過程T1:処理過程T0に示した状態から、まず、語彙リストから最初の語彙「1998」を取出し(ステップS312)、図10に示したようなデータ生起インデックスを用いて、語彙「1998」に対応したルールを検索する(ステップS313)。
【0319】
すなわち、データ生起インデックスから、語彙「1998」にリンクされているノード(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを上流側に遡り、「ルール」を表すタグにたどり着いたときは、この「ルール」タグ以下の文書オブジェクトツリーが、図60に示したスキーマにて「本文」要素に適用すべきルールの範囲を指定するための構造化文書パスにより表される論理的エリア内にあるルールか否かを調べるために、さらに上流へ遡る。このようにして、上記指定範囲内に格納されている上記「ルール」タグ以下の文書オブジェクトツリーを見つけるたびに、それを現ルールリストに登録していく。ノードを上流に遡るのは一意であるため、これらは高速に検索される。
【0320】
このようにして、例えば、ルールR1、ルールR2、ルールR3、ルールR8,ルールR27が登録された現ルールリストが得られたとする。
【0321】
次に、上記現ルールリストに列挙されているルールと前ルールリストに列挙されているルールとの共通するルールを取出し(論理積(AND)をとり)、AND候補ルールリストを作成する(ステップS314〜ステップS315)。
【0322】
AND候補リストに列挙されているルールの数は、この場合、5つである(上記閾値を超える)ので(ステップS316)、次に、ステップS317を経由して、ステップS312へ戻る。
【0323】
処理過程T2:処理過程T1において、求めたAND候補ルールリストに列挙されているルールをそのまま、前ルールリストとする。
【0324】
語彙リストから次の語彙「年」を取り出し(ステップS312)、前述同様にして、語彙「年」に対応するルールを検索して、その結果を現ルールリストとする(ステップS313)。
【0325】
例えば、ルールR1、ルールR2、ルールR3が登録された現ルールリストが得られたとする。
【0326】
次に、上記現ルールリストと前ルールリストとを用いて、AND候補ルールリストを作成すると(ステップS314〜ステップS315)、AND候補リストに列挙されているルールの数は、この場合、3つであるので(ステップS316)、当該AND候補ルールリストをそのまま候補ルールリストとする(ステップS320)。
【0327】
なお、ステップS315では、AND候補ルールリストを作成する際には、前回の処理過程のOR候補現ルールリストと、今回の処理過程の現ルールリストとを用いて、双方に列挙されているルールの論理和集合を求めて、それを今回の処理過程のOR候補ルールリストとして作成しておく。
【0328】
毎回の処理過程で、AND候補ルールリストとOR候補ルールリストとを作成することにより、ステップS315で作成されたAND候補ルールリストのルールがなくなってしまう場合には(ステップS316、ステップS317)、OR候補ルールリストを候補ルールリストとすることで(ステップS318)、処理過程T0で前ルールリストに設定された指定範囲の全てのルールを候補ルールリストとするより、適用するルールをある程度絞り込むことができる。
【0329】
さて、処理過程T2で、候補ルールリストに列挙された3つのルール(リールR1、ルールR2、ルールR3)が、図65(a)に示すように、「uix://root/ルールDB/日程ルール」以下に格納されたルール[1]、ルール[2]、ルール[3]であったとする。
【0330】
ルール照合部213では、図65(a)に示したような、候補ルールリストの3つのルールのそれぞれを図62(a)に示した処理対象に適用し、ルールと処理対象との照合処理を行う(ステップS321)。
【0331】
図65(a)に示したルール[1]を処理対象に適用した場合を例にとり説明する。
【0332】
ルール[1]は、図65(b)に示すように、「「年」と「月」と「日」というそれぞれの文字列の直前に数値型の値が存在する処理対象があるとき、それを、「年」を要素名とする要素の値をその直前にある数値とし、「月」を要素名とする要素の値をその直前にある数値とし、「日」を要素名とする要素の値をその直前にある数値として、これら3つの要素を子要素とする「日程」という要素名の要素とする」という「日程」情報の文書構造のルールが記述された構造化文書である。
【0333】
処理対象の「1998年5月3日」という文字列は、上記ルール[1]に適合する(完全一致する)ので、図62(b)に示すように、処理対象の一部「1998年5月3日」を上記「日程」に置き換える。
【0334】
なお、図65(a)に示したように、ルール[1]の照合すべき箇所には、処理対象との照合度を求めるための重み値がそれぞれ与えられている。この重み値もルール[1]に記述してもよい。照合度は、ルール[1]の処理対象と一致する照合箇所の重み値を加算することで求める。例えば、上記の例の場合、「1998年5月3日」は、ルール[1]の照合箇所に全て適合するので、照合度は「1」となる。
【0335】
図65(a)に示した、他のルール[2]、ルール[3]についても上記同様にして、処理対象と照合し、照合度を求めるようにしてもよい。その結果、照合度の最も高いルール[1]を採用するようにしてもよい。
【0336】
さて、ルール照合部213の照合処理の結果、語彙リストには、図62(b)に示した語彙が設定される。
【0337】
図63の処理過程T3において、前ルールリストに指定範囲の全てのルールを設定し直し、処理過程T4以下において、前述同様のルールの絞り込みのための処理を行う。このように、部分構造化文書に対して、さらに、部分構造化文書が付加されることもあり得る。
【0338】
処理過程T4:まず、語彙リストから最初の語彙「日程」を取出し(ステップS312)、語彙「日程」に対応したルールをクエリにより検索し、現ルールリストを作成する。AND候補ルールリストを作成した結果、図63に示したように、ルールが5つまで絞れたものの、さらに、ルールの絞り込みを行うため、処理過程T5に進む。
【0339】
処理過程T5:語彙リストから次の語彙「に」を取り出し、前述同様にして、語彙「に」に対応するルールを検索して、その結果を現ルールリストとする。AND候補ルールリストを作成した結果、図63に示したように、ルールが4つまで絞れたものの、さらに、ルールの絞り込みを行うため、図64の処理過程T6に進む。
【0340】
処理過程T6:語彙リストから次の語彙「T社」を取り出し、前述同様にして、語彙「T社」に対応するルールを検索する。この場合、「T社」に対応するルールが検索できなかったとすると(ステップS314)、当該語彙「T社」に対する処理をスキップし、処理過程T7へ移行する(ステップS312)。
【0341】
処理過程T7:語彙リストから次の語彙「を」を取り出し、語彙「を」に対応する処理を行う。その結果、図63に示したように、ルールが4つまで絞れたものの、さらに、ルールの絞り込みを行うため、処理過程T8に進む。
【0342】
処理過程T8:語彙リストから次の語彙「契約更新」を取り出し、語彙「契約更新」に対応する処理を行う。この場合、「契約更新」に対応するルールが検索できなかったとすると(ステップS314)、当該語彙「契約更新」に対する処理をスキップし、処理過程T9へ移行する(ステップS312)。
【0343】
処理過程T9:語彙リストから次の語彙「のために」を取り出し、語彙「のために」に対応する処理を行う。その結果、図63に示したように、ルールが2つまで絞れたので、このときのAND候補ルールリストをそのまま候補ルールリストとする。
【0344】
処理過程T9で候補ルールリストに列挙された2つのルール(ルール5,ルール10)のうちの1つルールR5が、例えば、図66に示すように、「uix://root/ルールDB/営業ルール」以下に格納されたルール[5]であったとする。
【0345】
図66に示すように、ルール[5]は、「「に」と「を」と「のために」というそれぞれの文字列の直前に「日程」、「会社名」、「目的」という要素名が存在し、「のために」という文字列の直後に「アクション」という要素名が存在する処理対象があるとき、それを、「日程」、「会社名」「目的」「アクション」を要素とする「営業記録」という要素名の要素とする」という「営業記録」情報の文書構造のルールが記述された構造化文書である。
【0346】
図69に、ルール[5]の記述例を示す。図69に示すように、ルール[5]の照合箇所である、要素「会社名」、「目的」、「アクション」のそれぞれには、さらに、当該要素のルールが記述されているので、まず、処理対象と、これら照合箇所のルールとの照合を行う。
【0347】
例えば、ルール[5]の照合箇所「会社名」には、「会社名」という要素名で抽出すべき情報のルールとして「uix://root/会社名リスト」が指定されている。この構造化文書パスにより指定される論理的なエリアには、図59,図66に示すように、「会社名リスト」情報が格納されている。この「会社名リスト」情報の子要素のいずれかと一致する文字列を「会社名」という要素の値とするようになっている。
【0348】
また、ルール[5]の照合箇所「目的」には、「目的」という要素名で抽出すべき情報のルールとして「uix://root/概念群/概念[1]」が指定されている。この構造化文書パスにより指定される論理的なエリアには、図59,図67に示すように、「概念」情報が格納されている。この「概念」情報の子要素のいずれかと一致する文字列を「目的」という要素の値とするようになっている。
【0349】
さらに、ルール[5]の照合箇所「アクション」には、「アクション」という要素名で抽出すべき情報のルールとして「uix://root/概念群/疑念[4]」が指定されている。この構造化文書パスにより指定される論理的なエリアには、図59,図68に示すように、「概念」情報が格納されている。この「概念」情報の子要素のいずれかと一致する文字列を「アクション」という要素の値とするようになっている。
【0350】
まず、図62(b)の処理対象は、ルール[5]の照合箇所「日程」「に」に適合する。次に、処理対象から語彙「T社」を取り出して、この語彙「T社」と図66の「会社名リスト」情報とを照合する。「会社名リスト」情報中に「T社」が存在するので、語彙「T社」を要素「会社名」の値とする。
【0351】
次の語彙「を」は、ルール[5]の照合箇所「を」に適合する。次に、処理対象から語彙「契約更新」を取り出して、この語彙「契約更新」と図67の「概念」情報とを照合する。図67に示すように、「概念」情報中に「契約更新」が存在するので、語彙「契約更新」を要素「目的」の値とする。
【0352】
次の語彙「のために」は、ルール[5]の照合箇所「のために」に適合する。次に、処理対象から語彙「訪問した」を取り出して、この語彙「訪問した」と図68の「概念」情報とを照合する。
【0353】
図68に示すように、「概念」情報中の子要素「訪問」には、さらに、「訪問」という要素名で抽出すべき情報のルールとして「uix://root/辞書/語彙[1]」という「辞書」情報が指定されている。この構造化文書パスにより指定される論理的なエリアには、図59,図68に示すような「辞書」情報が格納されている。この「訪問」にリンクされた「辞書」情報の子要素のいずれかと一致する文字列を「アクション」という要素の値とするようになっている。
【0354】
図68に示しように、「辞書」情報には、処理対象から取り出した語彙「訪問した」が存在するので、語彙「訪問した」を要素「アクション」の値とする。
【0355】
以上のようにして、図62(a)に示した処理対象にルール[5]を適用することにより、図62(c)に示すように、要素名に置き換え可能な語彙は要素名に置き換えられる。
【0356】
図71に示すように、ルール[5]の照合すべき箇所には、処理対象との照合度を求めるための重み値がそれぞれ与えられている。この重み値もルール[5]に記述されている。照合度は、ルール[5]の処理対象と一致する照合箇所の重み値を加算することで求める。例えば、上記の例の場合、図62(c)に示すように、処理対象はルール[5]の照合箇所に全て適合するので、照合度は「1」となる。
【0357】
図64の処理過程T9で求めた候補ルールリスト中の他のルール[10]についても上記同様にして、処理対象と照合し、照合度を求める。
【0358】
さて、図58の説明に戻り、ルール適用部214は、処理対象に候補ルールリスト中のルールを適用して、処理対象をタグ付けして、部分文書を作成する(ステップS322)。
【0359】
例えば、「報告書」情報の「本文」要素からは、図62(a)に示した文にルール[5]を適用してタグ付けした結果、図70に示すような文書構造の部分文書が作成される。
【0360】
図70に示すように、図62(a)の文字列のうち、要素名に置き換えられた部分は、「営業記録」という要素の子要素として抽出されたことになる。
【0361】
以上の処理を、語彙リストの終端まで行って(ステップS323)、最終的に、「本文」要素の中から抽出可能な部分文書を全て抽出する。
【0362】
例えば、「報告書」情報の「本文」要素から、図70に示すような文書構造の部分文書が抽出されると、図57のステップS305へ進む。
【0363】
格納文書の構成要素のうち、部分文書を抽出するために指定された構成要素から、上記のようにして、候補ルールリスト上の異なるルールを適用したことにより同じ処理対象から1または複数の部分文書が抽出されたときには、そのそれぞれの照合度(例えば、図70の場合照合度は「1」)とともにクライアント端末へ送り返し、提示する。
【0364】
図57のステップS306を経由して、ステップS307では、複数の部分文書の中からユーザにより選択、修正された部分文書は、その原文とともに構造化文書データベースに格納する。なお、ステップS306、ステップS307は省略し、データベースに格納してもよい。
【0365】
例えば、上記の例の場合、「報告書」情報の「本文」要素から抽出された図70に示した「営業記録」情報、すなわち、部分文書(の構成要素)は、図72に示すように、例えば、「本文」要素の子要素として格納される。その際、図72に示すように、上記手法により抽出された部分文書であることをことを表す「マイニング」タグを「営業記録」情報のトップノードとして付加して構造化文書データベースに格納することが望ましい。この「マイニング」タグを用いることで、例えば、構造化文書から抽出された部分文書はユーザに提示しない、「getXML」でこの部分をカットして、クライアントに渡すなどといった制御が可能となる。
【0366】
また、構造化文書データベースの更新に伴い、インデックス記憶部6の図9,図10に示した要素名称生起インデックス、データ生起インデックスを更新する。すなわち、前述したように、抽出された部分文書の各構成要素は、構造化文書データベース上では、ノードとして表すことができ、その各ノードにはオブジェクトIDが割り当てられている。抽出された部分文書の各構成要素を表すノードには新たにオブジェクトIDが割り当てられるので、要素名称生起インデックスに、この新たなオブジェクトIDを当該構成要素の要素名称からのチェーンで格納する。また、データ生起インデックスに、上記新たなオブジェクトIDを、抽出された部分文書の各構成要素の値(文字列データ)からのチェーンで格納する。
【0367】
このように、構造化文書データベースに格納する文書中から、予め構造化文書(部分文書)を抽出し、その抽出した構造化文書の構成要素に関し、検索に用いる要素名称生起インデックス、データ生起インデックスに登録しておくことにより、前述の(検索機能)で説明した、文書構造や語彙を検索条件にした検索において、これらインデックスを用いた高速で高精度な文書検索が可能となる。すなわち、構造化文書データベースに格納されている構造化文書から、もともとその構造化文書の文書構造として存在する構成要素ではないが、タグ付け可能な部分文書が存在するときは、そのような部分文書を予め抽出しておき、当該構造化文書の構成要素としてデータベース上で管理し、要素名称生起インデックス、データ生起インデックスを用いて検索を行う場合、例えば、図40に示すようなクエリのように、「kf:star」タグを用いた構造の曖昧表現を含む検索条件による検索においては、高速で高精度な検索が可能となる。
【0368】
例えば、図73に示すような構造化文書データベースに対し、図73に示すようなクエリによる単純検索を行う場合を例にとり説明する。
【0369】
図73に示すクエリは、「「報告書群」アークが示すノード以下に格納されている「報告書」情報の文書群の中で、「報告書」情報の文書構造のいずれかに「営業記録」という要素を含む「報告書」情報の「タイトル」を列挙せよ」という内容の検索文である。
【0370】
前述したように、「kf:star」タグは構造の曖昧表現であり、例えば「<報告書><kf:star><営業記録/></kf:star>」は「タグ名が「報告書」である要素の子孫の要素としていずれかに存在し、タグ名が「営業記録」である要素を意味し、曖昧な文書構造の指定している。
【0371】
図72に示した構造化文書データベースに対し図73に示したクエリを用いて検索を行うと、「報告書」情報の中から「営業記録」情報が抽出された「報告書」情報が検索される。
【0372】
次に、本発明の情報抽出方法を効果について、図74、図76に示すような「報告書」情報を構造化文書データベースを格納する場合を例にとり説明する。
【0373】
図74,76に示した「報告書」情報の文書構造には、前述した構成要素の他に、さらに、「特記事項」という要素が追加されている。
【0374】
図74に示した「報告書」情報の「本文」要素と「特記事項」要素に対し、図57,図58に示した処理を実行した結果、「本文」要素から「営業記録」情報が抽出され、「特記事項」要素からは何も抽出されなかったとする。抽出された部分文書を含めて図74に示した構造化文書をXML文書として記述した場合を図75に示す。図75の「マイニング」タグで囲まれた記述が、抽出された部分文書に対応する。
【0375】
一方、図76に示した「報告書」情報の「本文」要素と「特記事項」要素に対し、図57,図58に示した処理を実行した結果、「本文」要素からは何も抽出されなかったが、「特記事項」要素からは、図77の「マイニング」タグで囲まれた部分に記述された情報が抽出されたとする。
【0376】
図75,図77に示した構造化文書は、が格納されている構造化文書は「uix://root/報告書群」に格納されているとする。この構造化文書データベースに対し、図78に示すようなクエリによる検索を行う場合を考える。
【0377】
図78に示したクエリは、「「報告書群」アークが示すノード以下に格納されている「報告書」情報の文書群の中で、「報告書」情報の文書構造のいずれかに「目的」という要素を含み、しかも「目的」要素の値が「契約更新」である「報告書」情報の「タイトル」を列挙せよ」という内容の検索文である。
【0378】
前述したように、「kf:star」タグは構造の曖昧表現であり、「<報告書><kf:star><目的>契約更新</目的></kf:star>」は「タグ名が「報告書」である要素の子孫の要素としていずれかに存在し、タグ名が「目的」である要素であって、その値が「契約更新」である」という曖昧な文書構造を指定している。
【0379】
図78に示したクエリにより、図75、77に示した構造化文書の「タイトル」要素の値が検索結果として求まる。
【0380】
このように、構造化文書データベースに格納する構造化文書から予め部分文書を抽出して、データベースに格納することにより、文書構造の曖昧な指定を許した曖昧検索が、高速で高精度に行える。
【0381】
また、構造化文書データベースに格納する文書中(の構成要素(処理対象))から情報(部分文書)を抽出するために用いる、当該抽出する情報の構造化文書への変換規則としてのルールおよび辞書などは、XML形式の構造化文書として、上記構造化文書データベースに格納されているので、処理対象に含まれる語彙を検索条件にした構造化文書データベースに対する検索を行うことにより、上記変換規則の絞込が容易に行える。
【0382】
また、情報抽出のために必要な上記変換規則として利用する辞書などは、構造化文書パスを用いた指定により、データベース上に既存の「概念」情報などを流用することも可能である。従って、辞書作成のための手間やコストを低減できる。
【0383】
なお、本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピーディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
【0384】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0385】
【発明の効果】
以上説明したように、本発明によれば、構造化文書データベースに対し、低コストで、検索条件に曖昧な文書構造の指定が含まれる曖昧検索が高速・高精度に行える。
【図面の簡単な説明】
【図1】本発明の実施形態に係る構造化文書管理システムの構成例を示した図。
【図2】図1に示した構造化文書管理システムの一利用形態を示したもので、WWWのバックエンドで、構造化文書管理システムが動作している場合を示した図。
【図3】XMLで記述された構造化文書の一例を示した図。
【図4】図3の構造化文書の文書構造を模式的に示した図。
【図5】追加コマンドの機能を説明するための図で、構造化文書データベースの初期状態に追加コマンドを実行した場合について示している。
【図6】図5(b)に示した状態の構造化文書データベースに対し、取得コマンドを実行した場合の処理結果を示した図。
【図7】図5(b)に示した状態の構造化文書データベースに対し、追加コマンドを実行して1つの「特許」情報の文書オブジェクトツリーを追加した場合を示している。
【図8】図5(b)に示した状態の構造化文書データベースに対し、追加コマンドを実行して3つの「特許」情報の文書オブジェクトツリーを追加した場合を示している。
【図9】要素名生起インデックスの格納例を示した図。
【図10】データ生起インデックスの格納例を示した図。
【図11】図8に示した状態の構造化文書データベースに対して、3つの「特許」情報を取り出すための取得コマンドを実行した場合の実行結果を示した図。
【図12】XML文書の文書構造を定義するスキーマの一例を示した図。
【図13】図8に示した状態の構造化文書データベースに、スキーマ格納コマンドを実行して、図12に示したスキーマを追加格納(設定)した場合を示した図。
【図14】スキーマが設定されて、スキーマが存在している旨の属性値のセットされた文書オブジェクトツリーを示した図。
【図15】各オブジェクトファイルに、スキーマが存在している旨の属性値が格納されている様子を概念的に示した図。
【図16】必要に応じて検索で使用される概念階層を構造化文書で表現した例を示した図。
【図17】必要に応じて検索で使用される概念階層を構造化文書で表現した例を示した図。
【図18】図8に示した状態の構造化文書データベースに対し、追加コマンドを実行して、図16,図17に示した「概念」情報の文書オブジェクトツリーを追加した場合を示した図。
【図19】図8に示した状態の構造化文書データベースに対し、追加コマンドを実行して、図16,図17に示した「概念」情報の文書オブジェクトツリーを追加した場合を示した図。
【図20】図1の構造化文書管理システムの文書格納処理動作について説明するためのフローチャート。
【図21】図20のステップS9の処理(合成文書作成部の処理)について説明するためのフローチャート
【図22】追加コマンド中のパラメータの格納文書の文書オブジェクトツリーを構造化文書データベースから取得した文書オブジェクトツリーに挿入して得られた合成文書の文書オブジェクトツリーをXML文書に変換した結果であって、テンポラリファイルAに格納される合成文書の一例を示した図。
【図23】テンポラリファイルBに格納される、構造化文書データベースから取得されたスキーマ文書の一例を示した図。
【図24】テンポラリファイルAに格納される合成文書の他の例を示した図。
【図25】テンポラリファイルBに格納される、構造化文書データベースから取得されたスキーマ文書の一例を示した図。
【図26】図1の構造化文書管理システムの文書取得処理動作について説明するためのフローチャート。
【図27】図1の構造化文書管理システムの文書削除処理動作について説明するためのフローチャート。
【図28】図27のステップS46の処理(合成文書作成部の処理(削除コマンド用))について説明するためのフローチャート。
【図29】テンポラリファイルAに格納される合成文書のさらに他の例であって、削除コマンドの実行時に作成される合成文書の一例を示した図。
【図30】テンポラリファイルBに格納される、構造化文書データベースから取得されたスキーマ文書の一例を示した図。
【図31】ユーザインタフェースとしての画面の表示例を示した図。
【図32】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図33】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図34】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図35】妥当性のチェックでエラーとなっときにクライアント端末へ返すメッセージの表示例を表示例を示した図。
【図36】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示したもので、文書取得動作を説明するための図。
【図37】スキーマの設定を行うためのユーザインタフェースとしての画面の表示例を示したもので、スキーマの設定動作を説明するための図。
【図38】スキーマの取得するためのユーザインタフェースとしての画面の表示例を示したもので、取得されたスキーマの表示例を示している。
【図39】クエリ(XML文書)の一例を示した図。
【図40】単純検索のクエリ(XML文書)の一例を示した図。
【図41】図40の単純検索のクエリを用いた検索結果(XML文書)を示した図。
【図42】概念検索のクエリ(XML文書)の一例を示した図。
【図43】図1の構造化文書管理システムの文書検索処理動作について説明するためのフローチャート。
【図44】文書検索を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図45】図44に示した画面上から入力された情報に基づき作成されるクエリを示した図。
【図46】図42に示したクエリの構造化文書データベース内における格納例を示した図。
【図47】文書検索を行うためのユーザインタフェースとしての画面の表示例であって、スキーマの検索処理動作を説明するための図。
【図48】スキーマ検索のクエリの一例を示した図。
【図49】クエリを検索するためのクエリの一例を示した図。
【図50】特許調査における構造化文書データベースの一例を示した図。
【図51】概念検索のための入力画面の表示例を示した図。
【図52】図51に示した入力画面上の入力情報に対応するクエリを示した図。
【図53】図52に示したクエリに対応する検索結果としてのXML文書を示した図。
【図54】特許マップの一例を示した図。
【図55】第2の実施形態に係る構造化文書管理システムの構成例を示した図。
【図56】情報抽出部の構成例を示した図。
【図57】図56に示した情報抽出部201の概略的な処理動作を説明するためのフローチャート。
【図58】図57のステップS303の処理とステップS304の処理をより詳細に説明するためのフローチャート。
【図59】構造化文書データベースの論理構造を模式的に示した図。
【図60】ルールや「辞書」情報などを指定するための情報(構造化文書パス)の記述を含むスキーマの一例を示した図。
【図61】XMLで記述された構造化文書の一例として、「報告書」情報の例を示した図。
【図62】図61の「本文」要素にある「2001年1月17日にT社を契約更新のために訪問した。」という処理対象の文を、自然文解析部の処理により、複数の語彙に分割した結果と、その処理経過を示した図。
【図63】ルール絞込み部の処理の過程を説明するための図。
【図64】ルール絞込み部の処理の過程を説明するための図。
【図65】図63の処理過程T2で、絞り込まれた候補ルールリストに列挙されたルールと、そのルールを処理対象に適用した場合の照合処理について説明するための図。
【図66】図64の処理過程T9で、絞り込まれた候補ルールリストに列挙されたルールと、そのルールを処理対象に適用した場合の照合処理について説明するための図。
【図67】図64の処理過程T9で、絞り込まれた候補ルールリストに列挙されたルールと、そのルールを処理対象に適用した場合の照合処理について説明するための図。
【図68】図64の処理過程T9で、絞り込まれた候補ルールリストに列挙されたルールと、そのルールを処理対象に適用した場合の照合処理について説明するための図。
【図69】ルールの一記述例であって、図66〜図69の説明に用いたルールを記述したXML文書を示した図。
【図70】格納文書から抽出された部分文書の一例を示した図。
【図71】抽出された部分文書の照合度について説明するための図。
【図72】格納文書から抽出された部分文書の構造化文書データベース上の格納例を示した図。
【図73】曖昧検索のクエリの一例を示した図。
【図74】XMLで記述された構造化文書の一例として、「報告書」情報の他の例を示した図。
【図75】抽出された部分文書を含む図74に示した「報告書」情報を示した図。
【図76】XMLで記述された構造化文書の一例として、「報告書」情報のさらに他の例を示した図。
【図77】抽出された部分文書を含む図76に示した「報告書」情報を示した図。
【図78】曖昧検索のクエリの一例を示した図。
【符号の説明】
1…要求制御部
2…アクセス要求処理部
3…検索要求処理部
4…データアクセス部
5…文書記憶部
6…インデックス記憶部
11…受付要求部
12…結果処理部
21…文書格納部
22…文書取得部
23…文書削除部
41…文書オブジェクトツリー格納部
42…文書オブジェクトツリー削除部
43…文書オブジェクトツリー取得部
44…文書文字列取得部
45…パスから文書オブジェクトツリー取得部
46…文書パーサ
47…合成文書作成部
48…インデックス更新部
100…構造化文書管理システム
101…WWWサーバ
102…クライアント端末
103…WWWブラウザ
201…情報抽出部
211…自然文解析部
212…ルール絞込み部
213…ルール照合部
214…ルール適用部
Claims (5)
- 複数の要素を含む文書構造を有する複数の構造化文書を記憶するとともに、ルートノードに複数のノードをリンクし、各構造化文書の記憶エリアを前記複数のノードのいずれかにリンクした論理構造により前記複数の構造化文書を管理する構造化文書データベースを備えた構造化文書管理装置において、前記構造化文書データベースに格納される構造化文書中の処理対象の要素の値から少なくとも1つの要素をもつ構造化文書を抽出する情報抽出方法であって、
前記複数のノードのうちの第1のノードにリンクされた前記構造化文書データベースの記憶エリアに、前記処理対象から抽出すべき情報の構造化文書への変換規則を示す変換規則構造化文書を格納するステップと、
前記複数のノードのうちの第2のノードにリンクされた前記構造化文書データベースの記憶エリアに、当該第2のノードにリンクされて管理される各構造化文書の文書構造を定義するとともに、前記処理対象とすべき要素及び前記処理対象に対し適用する変換規則を指定するスキーマ構造化文書を格納するステップと、
前記スキーマ構造化文書により指定された前記変換規則を用いて、前記第2のノードにリンクされた記憶エリアに記憶される構造化文書中の前記処理対象の要素の値から、少なくとも1つの要素をもつ構造化文書を抽出する抽出ステップと、
抽出した構造化文書を前記処理対象の要素の子要素として前記構造化文書データベースに格納するステップと、
を有する情報抽出方法。 - 前記抽出ステップは、前記スキーマ構造化文書により指定された前記変換規則のうち、前記処理対象の要素に含まれる語彙に基づき選択された変換規則を用いて、少なくとも1つの要素をもつ構造化文書を抽出することを特徴とする請求項1記載の情報抽出方法。
- 複数の要素を含む文書構造を有する複数の構造化文書を記憶するとともに、ルートノードに複数のノードをリンクし、各構造化文書の記憶エリアを前記複数のノードのいずれかにリンクした論理構造により前記複数の構造化文書を管理する構造化文書データベースと、
前記構造化文書データベースに格納される構造化文書中の処理対象の要素の値から抽出すべき情報の構造化文書への変換規則を示す変換規則構造化文書を、前記複数のノードのうちの第1のノードにリンクされた前記構造化文書データベースの記憶エリアに格納する手段と、
前記複数のノードのうちの第2のノードにリンクされた前記構造化文書データベースの記憶エリアに、当該第2のノードにリンクされて管理される各構造化文書の文書構造を定義するとともに、前記処理対象とすべき要素及び前記処理対象に対し適用する変換規則を指定するスキーマ構造化文書を格納する手段と、
前記スキーマ構造化文書により指定された前記変換規則を用いて、前記第2のノードにリンクされた記憶エリアに記憶される構造化文書中の前記処理対象の要素の値から、少なくとも1つの要素をもつ構造化文書を抽出する抽出手段と、
抽出した構造化文書を前記処理対象の要素の子要素として前記構造化文書データベースに格納する格納手段と、
を具備したことを特徴とする構造化文書管理装置。 - 前記抽出手段は、前記スキーマ構造化文書により指定された前記変換規則のうち、前記処理対象の要素に含まれる語彙に基づき選択された変換規則を用いて、少なくとも1つの要素をもつ構造化文書を抽出することを特徴とする請求項3記載の構造化文書管理装置。
- 複数の要素を含む文書構造を有する複数の構造化文書を記憶するとともに、ルートノー ドに複数のノードをリンクし、各構造化文書の記憶エリアを前記複数のノードのいずれかにリンクした論理構造により前記複数の構造化文書を管理する構造化文書データベースを備えたコンピュータに、
前記複数のノードのうちの第1のノードにリンクされた前記構造化文書データベースの記憶エリアに、前記処理対象から抽出すべき情報の構造化文書への変換規則を示す変換規則構造化文書を格納するステップと、
前記複数のノードのうちの第2のノードにリンクされた前記構造化文書データベースの記憶エリアに、当該第2のノードにリンクされて管理される各構造化文書の文書構造を定義するとともに、前記処理対象とすべき要素及び前記処理対象に対し適用する変換規則を指定するスキーマ構造化文書を格納するステップと、
前記スキーマ構造化文書により指定された前記変換規則を用いて、前記第2のノードにリンクされた記憶エリアに記憶される構造化文書中の前記処理対象の要素の値から、少なくとも1つの要素をもつ構造化文書を抽出する抽出ステップと、
抽出した構造化文書を前記処理対象の要素の子要素として前記構造化文書データベースに格納するステップと、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001098185A JP3842574B2 (ja) | 2001-03-30 | 2001-03-30 | 情報抽出方法および構造化文書管理装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001098185A JP3842574B2 (ja) | 2001-03-30 | 2001-03-30 | 情報抽出方法および構造化文書管理装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002297603A JP2002297603A (ja) | 2002-10-11 |
JP3842574B2 true JP3842574B2 (ja) | 2006-11-08 |
Family
ID=18951860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001098185A Expired - Lifetime JP3842574B2 (ja) | 2001-03-30 | 2001-03-30 | 情報抽出方法および構造化文書管理装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3842574B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306990B2 (en) * | 2006-01-10 | 2012-11-06 | Unz.Org Llc | Transferring and displaying hierarchical data between databases and electronic documents |
JP2010217972A (ja) * | 2009-03-13 | 2010-09-30 | Toshiba Corp | 構造化文書生成装置及び構造化文書生成プログラム |
-
2001
- 2001-03-30 JP JP2001098185A patent/JP3842574B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002297603A (ja) | 2002-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3842573B2 (ja) | 構造化文書検索方法、構造化文書管理装置及びプログラム | |
JP3842577B2 (ja) | 構造化文書検索方法および構造化文書検索装置およびプログラム | |
JP3754253B2 (ja) | 構造化文書検索方法、構造化文書検索装置及び構造化文書検索システム | |
US6618727B1 (en) | System and method for performing similarity searching | |
US6738759B1 (en) | System and method for performing similarity searching using pointer optimization | |
JP2001167087A (ja) | 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法 | |
JPH11242676A (ja) | 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体 | |
JP2005190163A (ja) | 構造化データ検索方法、構造化データ検索装置およびプログラム | |
JP3914081B2 (ja) | アクセス権限設定方法および構造化文書管理システム | |
JP3842572B2 (ja) | 構造化文書管理方法および構造化文書管理装置およびプログラム | |
JP2006127235A (ja) | 構造化文書管理システム、構造化文書管理方法及びプログラム | |
JP5056384B2 (ja) | 検索プログラム、方法及び装置 | |
JP3842576B2 (ja) | 構造化文書編集方法及び構造化文書編集システム | |
Yu et al. | Metadata management system: design and implementation | |
JP3842574B2 (ja) | 情報抽出方法および構造化文書管理装置およびプログラム | |
CN1326078C (zh) | 包装器的生成方法 | |
US7487439B1 (en) | Method and apparatus for converting between data sets and XML documents | |
JP3842575B2 (ja) | 構造化文書検索方法、構造化文書管理装置及びプログラム | |
JP2004118543A (ja) | 構造化文書検索方法、検索支援方法、検索支援装置および検索支援プログラム | |
JP2002202973A (ja) | 構造化文書管理装置 | |
JP3910901B2 (ja) | 文書構造検索方法、文書構造検索装置および文書構造検索プログラム | |
JP2003288365A (ja) | 付加情報管理方法及び付加情報管理システム | |
Škrbić et al. | Bibliographic records editor in XML native environment | |
JP2006018584A (ja) | 構造化文書管理システム、値索引生成方法及びプログラム | |
JP4334450B2 (ja) | 構造化文書検索装置及び構造化文書検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060810 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3842574 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100818 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100818 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110818 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120818 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120818 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130818 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |