JPH11242676A - 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体 - Google Patents
構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体Info
- Publication number
- JPH11242676A JPH11242676A JP10043187A JP4318798A JPH11242676A JP H11242676 A JPH11242676 A JP H11242676A JP 10043187 A JP10043187 A JP 10043187A JP 4318798 A JP4318798 A JP 4318798A JP H11242676 A JPH11242676 A JP H11242676A
- Authority
- JP
- Japan
- Prior art keywords
- document
- index
- search
- metanode
- character string
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
て、論理要素の文書中における出現位置に関する条件を
指定できるようにして精度の高い構造指定検索を可能に
すること。 【解決手段】文書をデータベースに登録する際、各登録
対象文書の持つ論理構造を重ね合わせ、文書中での出現
位置が等しい構造要素を単一のメタノードによって代表
させた構造インデックスを作成し、文書検索時には構造
インデックスを参照して指定された構造条件を満足する
メタノードの集合を求め、それらのメタノードの識別子
をキーとして文字列インデックスを検索することによ
り、指定条件を満たす文書群を求める。これにより、構
造化文書の集合からなる文書データベース上において、
精度の高い構造指定検索が可能となる。
Description
を用いた文書検索システムや文書管理システム等におけ
る文書登録方法および文書検索方法に係わり、特に、各
文書がそれぞれ論理的な構造を備えている構造化文書の
集合を対象として、特定の文書内容の検索を高速に行う
ことのできるようにした構造化文書の登録方法,検索方
法、およびそれに用いられる可搬型媒体に関する。
ドプロセッサ、パーソナルコンピュータ等を用いて作成
された電子化文書情報が爆発的な勢いで増加しつつあ
る。このような状況下において、蓄積された膨大な電子
化文書群の中から、必要とする情報を含んだ文書を高速
かつ確実に検索したいという要求が高まっている。
索がある。全文検索では登録対象文書中のテキスト全体
を計算機システムに投入してデータベース化し、該デー
タベース上で指定文字列(以後、検索タームと呼ぶ)を
直接検索するので、キーワードを必要とせず、原理的に
検出漏れのない検索が可能となる。
Standard Generalized Markup Language)で記述さ
れた文書など、文書を構成する個々の論理的な構造要素
が識別できる文書(以下、構造化文書と呼ぶ)を対象と
して、論理構造に関する条件を検索条件中に付加した検
索(以下、構造指定検索と呼ぶ)を行うことにより、精
度の高い検索を実現することができる。
例えば特開平8−147311号公報に示す発明(以
下、公知例1と呼ぶ)で提案した検索方法がある。以
下、公知例1の概要について説明する。
登録する際、まず登録文書をそのまま本文として検索用
データベースに登録する。
先頭を表わす特定の文字列(これを公知例1では前方マ
ーカと呼ぶ)および末尾を表わす特定の文字列(これを
公知例1では後方マーカと呼ぶ)を検出することにより
論理構造の識別処理を行うとともに、本文を論理構造ご
とに分割する処理を行う。例えば、電子出願特許明細書
の場合には、論理構造「要約」の範囲を示す前方マーカ
として“<SD0 ABJ>”を、後方マーカとして“</SD0>”
を検出し、これらによって囲まれるテキストを「要約」
に対応する本文として切り出す。他の論理構造について
も同様な切り出しを行い、本文を論理構造ごとに分割す
る。
文について、それぞれ凝縮本文の作成処理を行う。すな
わち、「要約」については「要約」に関する本文テキス
トを単語単位に部分文字列に分割し、分割した部分文字
列間で相互に包含関係を調べ、他の部分文字列に含まれ
る文字列を排除することにより「要約」に関する凝縮本
文を作成する。他の論理構造についても同様な処理を行
うことにより論理構造別の凝縮本文を作成し、これを凝
縮本文ファイルとして検索用データベースに登録する。
対応するビットに‘1’を設定することにより文字成分
表を作成し、これを検索用データベースに文字成分表フ
ァイルとして登録する。
した後、公知例1では次のようにして文書検索処理を行
う。
位に分解し、検索タームを構成するすべての文字がとも
に含まれる文書を上記文字成分表を参照して抽出する。
イルのうち、検索対象として指定された論理構造に関す
る凝縮本文ファイルをサーチ対象として選択するととも
に、その中で文字成分表サーチによって抽出された文書
の凝縮本文だけを対象としてサーチすることにより、指
定された論理構造中に指定された検索タームが含まれて
いる文書を抽出する。指定された検索条件式に複数の検
索ターム間の本文中での位置関係が指定されていない場
合にはここで検索処理を終了する。他方、そのような位
置関係が指定されている場合には凝縮本文サーチの結果
抽出された文書に対応する本文の内容を読み、指定され
た検索タームがすべて含まれ、かつ検索ターム間の位置
関係について、指定された条件が満たされるもののみを
抽出する。
ば、大規模なテキストデータベースに対する実用的な検
索速度を保ち、かつ構造指定検索を可能にすることがで
きる。
来技術によって、一定の構造指定検索が可能となる。し
かし、公知例1による構造指定検索では意図した構造条
件に従った検索ができない場合がある。
構造を予め定めておいたいくつかの部分構造に切り分
け、各部分構造ごとに凝縮本文ファイルを作成し、検索
時には、部分構造の構造名と凝縮本文ファイルとの対応
を定義したテーブルを参照して検索対象とすべき凝縮本
文ファイルの集合を決定し、該集合中に含まれる凝縮本
文ファイルだけを対象として検索を行うことにより構造
指定検索を実現する。
築する段階で、将来どのような構造条件を指定した検索
が行われるかを想定し、そのような条件に対応した検索
が可能となるように凝縮本文ファイルの切り分けを行う
ので、データベース構築時に想定していなかった構造条
件を指定した検索は不可能となる。
の論理要素(以下、要素と呼ぶ)から構成され、“本
体”はさらに任意個数の“節”の繰り返しからなり、各
“節”は1個の“節題”と任意個数の“段落”からなる
場合を考える。このような構造を持つ文書群からなるテ
キストデータベースを構築する際に、凝縮本文ファイル
を“要約”に対応するものと“本体”に対応するものの
二つに分けて作成したとすると、「節題中に文字列○○
を含む文書群を求める」という条件を満たす構造指定検
索は不可能となってしまう。
ファイルとする代わりに、これをさらに“節題”と“段
落”とに分けて凝縮本文ファイルを作成しておけばこの
条件に対応することはできる。しかし、仮にこのように
ファイルを構成しても、例えば「最初の節の内部(節題
または段落中)に文字列○○を含む文書群を求める」、
あるいは「節中で最後の段落に文字列××を含む文書群
を求める」というような構造条件には対応できない。こ
のような順位指定付きの構造条件に対応しようとする
と、予め節および段落の出現順位ごとに別々に凝縮本文
ファイルを用意しておくことが必要となるが、節および
節内の段落はそれぞれ任意個数出現しうるため凝縮本文
ファイルの数が極めて多数となるだけでなく、公知例1
は出現順位に関する任意の指定を含んだ構造条件から細
分化された凝縮本文ファイルの集合への対応付けを行う
手段を備えていないので、実際にはこのような条件を満
たす検索は不可能となる。
現れた論理要素の出現位置に関する条件を構造条件指定
中に含めることができないため、精度の高い構造指定検
索ができないという問題があった。
問題点を解決し、高精度でかつ効率のよい構造指定検索
を行う機能を提供することにある。
められた1つの構造を持った文書群に対する構造指定検
索しか実現できない。
定義(DTD: Document Type Definition)によりあらか
じめ定められた構造を持つ文書である。したがって、特
定の文書型定義に従った文書群に対する構造指定検索を
行う場合は、出現しうる構造指定条件すべてに対応する
ように、文書を構造毎に切り分けることで、構造指定検
索が可能となる。
例えば、論文、報告書などはそれぞれ異なる文書型定義
を持っている。このように、構造化文書では、その文書
の目的に応じて様々な文書構造を持っており、その文書
構造に合わせた文書型定義が作成される。
して登録することで、個々のグループにおいては、構造
指定検索が可能となるが、全グループに共通して出現し
うる構造を指定した検索を実現しようとすると、全グル
ープに対して個々に構造指定検索を行ない、結果を統合
しなければ、結果を得ることができない。
のように、必ずしも特定の構造を持たなくても良い構造
化文書の規格化がW3C(World Wide Web Consortium)で
進められており、SGMLのように特定のDTDに従っ
た文書構造を持つ文書だけが検索対象とならないことが
考えられる。
ル」、「題目」のように、同じ意味(種別)を持つ構造
であっても、要素型名が異なっていれば別の構造とみな
されるため、「"タイトル"に"SGML"が含まれる文書」と
いう構造指定検索では、「"題目"に"SGML"が含まれる文
書」という条件を満たす文書は、検索結果として得るこ
とができない。
の文書型定義毎に、同じ種別の構造に異なる要素型名が
付けられることが考えられる。
索を行おうとすると、ユーザが「タイトル」、「題
目」、「表題」、「TITLE」など、各文書型定義に出現
する様々な「タイトル」を意味する要素型名を指定して
構造指定検索条件を作成しなければ、必要とする文書を
すべて取得することができない。また、登録文書の文書
型定義をすべて知らなければ、ユーザが想定した要素型
名で「タイトル」を意味する構造全てを網羅することは
できない。例えば「T」という構造にタイトルを記述す
るといった文書型定義に従った文書は、それを知らない
ユーザからの構造指定検索では、決して取得することは
できないであろう。
解決し、文書構造が異なる文書が混在する文書群を、高
精度でかつ効率的に構造指定検索する機能を提供するこ
とである。
などのいづれかの項目のタイトルにおいて、"SGML"
という単語を含む文書」を設定した場合、"タイトル"と
いう構造条件を満たす構造を全て探さなければならない
ため、検索効率が悪くなるという問題がある。
のように、タイトルまでの全ての構造を最上位から順に
指定するようにすれば、効率的に構造を特定することが
できる。しかし、ユーザが「"/文書/章/タイトル"また
は"/文書/章/節/タイトル"または、、、」のように、全
ての構造を示した構造指定検索条件を作成しなければな
らないため、ユーザの負担が大きくなる上に、ユーザが
検索対象の文書の構造を全ての把握しておかなければ、
検索漏れが発生することになる。
題点を解決し、複数の階層に出現する同じ種別の構造を
指定した検索を、複雑な構造条件を指定することなく、
効率的に実現する機能を提供することである。
め、本発明による文書登録および検索方法は、以下に示
すステップを備える。
いて、文書の登録処理は、(1)登録対象文書の持つ論
理構造を解析して解析済み文書データを生成し、これを
文書データベースに登録する解析済み文書データ生成登
録ステップと、(2)各登録対象文書の持つ論理構造
を、登録順に従って順次重ね合わせ、文書中における出
現位置および種別が同じである要素群は単一のメタ要素
によって代表させ、文書中における出現位置が同じであ
る文字列データ群は単一のメタ文字列データによって代
表させることにより、メタ要素群およびメタ文字列デー
タ群(以下、これらを総称してメタノードと呼ぶ)の木
構造から構成される構造インデックスを生成し、該構造
インデックスを構成するすべてのメタノードに対して、
それらを構造インデックス中で一意に識別する識別子で
ある文脈識別子を与える構造インデックス生成ステップ
と、(3)各登録対象文書について、その文書に対応す
る解析済み文書データ中に含まれるすべての文字列デー
タと、その文字列データを構造インデックス中で代表す
るメタ文字列データの文脈識別子との対応関係の定義か
ら構成される構造化全文データを生成する構造化全文デ
ータ生成ステップと、(4)各登録対象文書に対応する
構造化全文データから、所定の部分文字列と、該部分文
字列の前記登録対象文書中における文字位置情報と、前
記登録対象文書を文書データベース中で一意に識別する
文書識別子と、前記部分文字列を含む文字列データを構
造インデックス中で代表するメタ文字列データの文脈識
別子とを抽出し、前記文字位置情報および前記文書識別
子および前記文脈識別子からなる構造化文字位置情報を
生成し、前記部分文字列と前記構造化文字位置情報との
対応関係を登録して文字列インデックスを更新する文字
列インデックス更新ステップを有する。
て、登録済み文書の検索処理は、(1)前記構造インデ
ックスを参照し、指定された構造条件を満たす文脈識別
子の集合を決定する構造条件判定ステップと、(2)検
索タームから所定の部分文字列を抽出し、前記文字列イ
ンデックスを参照して該部分文字列に対応する構造化文
字位置情報の集合を抽出する構造化文字位置情報抽出ス
テップと、(3)前記構造化文字位置情報の集合中か
ら、前記構造条件判定ステップで決定した集合中に含ま
れる文脈識別子をもち、かつ前記検索ターム上における
部分文字列の並びと同じ位置関係を持つ構造化文字位置
情報を抽出するインデックス検索ステップを有する。
て、複数の文書構造を持つ文書をまとめて登録する処理
には、(1)構造インデクス中の複数の構造に出現しう
る各構造の名称と構造の種別の対応を記述した種別定義
テーブルを参照し、要素型名からその構造の種別を取得
する種別取得ステップと、(2)文書の最上位構造と同
じ種別を持つ最上位構造を持つ構造インデクスを取得す
る最上位構造判定ステップと、(3)構造化文書の登録
時に、複数の文書構造を持つ文書の構造インデクスの上
位に各構造インデクスをまとめる親ノード(ルートメタ
ノード)を設けることにより、複数の構造インデクスを
1つのメタ構造インデクスにまとめるルートメタノード
作成ステップを有する。
の構造に出現しうる各構造の名称と構造の種別の対応を
記述した種別定義テーブルを参照し、要素型名からその
構造の種別を取得する種別取得ステップと、(4)登録
文書を構造解析して得られる解析済み文書データに、全
文書に共通な仮の最上位構造を追加するステップを有す
る。
より作成、あるいはシソーラスなどを利用して、同義語
を同じ種別に割り当てるなどの方法により自動的に作成
する。
て、構造インデクス中の多くの位置に出現する同じ種別
の構造を指定した構造指定検索を効率的に実現するため
に、文書登録プログラムには、(1)文書登録時に構造
インデクスを作成すると共に、別名構造インデクスを生
成するステップを有する。
・更新日など、各文書構造毎に設定されうる情報を構造
インデクスを辿らなくても、一括して検索できるように
作成した構造インデクスである。別名構造インデクスで
得られる種別を指定して構造指定検索することで、別名
構造インデクスから、別名に対応する構造インデクス中
の複数の構造を一括して得ることができるため、構造イ
ンデクスを辿って指定された構造の文脈識別子を得るよ
りも、効率的な検索を実現することが可能である。
適用した第一の実施例について、図面を用いて説明す
る。
て説明する。
第一の実施例の全体構成を示す図である。図1に示すと
おり、本発明による文書検索システムの第一の実施例
は、文書登録サブシステム101、文書検索サーバ10
2、文書検索クライアント103および104、ネット
ワーク105から構成される。
として入力される各文書の構造を解析し、検索時に必要
となるインデックスデータを作成する。このインデック
スデータは、ネットワーク105を介して文書検索サー
バ102に転送され、後に文書検索サーバ102が構造
検索処理を行う際に用いられる。
ト103および104からの検索コマンドを受け取り、
文書登録サブシステム101が作成したインデックスデ
ータを用いて該検索コマンドの指定する条件に適合する
文書内容の検索を行い、検索結果データを要求元の検索
クライアントに送り返す。
ユーザが対話的に検索条件を指定するための画面をディ
スプレイ上に表示し、この画面上でユーザが指定した検
索条件を、文書検索サーバ102によって解釈可能な検
索コマンドの形に変換し、この検索コマンドをネットワ
ーク105を介して文書検索サーバ102に送信する。
前記のとおり文書検索サーバ102が検索コマンドに対
応する検索処理を行い、検索結果データを送り返して来
ると、検索クライアント102は受け取った検索結果デ
ータを画面に表示してユーザに提示する。なお、図1に
は2台のコンピュータ103および104を検索クライ
アントとして使用する構成例を示したが、検索クライア
ントは1台のみとする構成をとることも、3台以上とす
る構成をとることもできる。
ットワークおよび/または広域ネットワークであって、
文書登録サブシステム101、文書検索サーバ102、
検索クライアント103および104が各種データやコ
マンドを交換するために用いられる。
01から文書検索サーバ102にインデックスデータを
転送するためにネットワーク105を使用するものとし
たが、代わりにフロッピーディスク、光磁気ディスク、
追記型光ディスク等の可搬型媒体を使用する構成をとる
こともできる。あるいは、文書登録サブシステム101
と文書検索サーバ102を1台のコンピュータ上に実装
し、データ転送を行わない構成をとることもできる。
および104と文書検索サーバ102には別個のコンピ
ュータを使用するものとしたが、1個以上の検索クライ
アントを文書検索サーバと同一のコンピュータ上で実行
する構成をとることもできる。
テム、すなわち図1の101について説明する。
ステム101の構成を示す図である。
は、ディスプレイ201、キーボード202、中央処理
装置(CPU)203、フロッピーディスクドライブ2
04、フロッピーディスク205、通信制御装置20
6、主メモリ207、磁気ディスク装置208、システ
ムバス209から構成される。
おける処理の実行状況等を表示するために使用する。キ
ーボード202は、文書登録処理の実行等を指示するコ
マンドを入力するために使用する。中央処理装置203
は、本サブシステムを構成する各種プログラムを実行す
る。フロッピーディスクドライブ204は、フロッピー
ディスク205に対するデータの読み書きのために使用
する。フロッピーディスク205は、予め登録対象文書
を格納しておき、これを本サブシステムに入力するため
に使用する。通信制御装置206は、ネットワーク10
5を介して前記文書検索サーバ102と通信し、リクエ
ストおよびデータの交換を行うために使用する。主メモ
リ207は、本サブシステムによる処理を実行するため
の各種プログラムおよび一時的なデータを保持するため
に使用する。磁気ディスク装置208は、登録された文
書データおよび本サブシステムが生成するインデックス
データを格納するために使用する。システムバス209
は、これらの各種装置を接続するために使用する。
グラム210、構造インデックス作成プログラム21
1、構造化全文データ生成プログラム212、文字列イ
ンデックス作成プログラム213、文書登録制御プログ
ラム214およびシステムプログラム215が格納さ
れ、またワークエリア216が保持される。磁気ディス
ク装置208中には、解析済み文書データ格納領域21
7、構造インデックス格納領域218、構造化全文デー
タ格納領域219および文字列インデックス格納領域2
20が確保される。
Lを用いて記述され、フロッピーディスク205に格納
された登録対象文書を読みだし、その論理構造を解析し
て解析済み文書データを生成し、これを解析済み文書デ
ータ格納領域217に格納する。構造インデックス作成
プログラム211は、前記解析済み文書データの持つ論
理構造に関する情報を、構造インデックス格納領域21
8に格納されている構造インデックスに登録して構造イ
ンデックスを更新する。構造化全文データ生成プログラ
ム212は、前記解析済み文書データから前記登録対象
文書に関する構造化全文データを生成し、これを構造化
全文データ格納領域219に格納する。文字列インデッ
クス作成プログラム213は、前記構造化全文データか
ら、所定の部分文字列と、該部分文字列の構造化文字位
置情報との対応関係を表わすデータを生成し、これを文
字列インデックス格納領域220に格納されている文字
列インデックスに登録して文字列インデックスを更新す
る。
造解析プログラム210、構造インデックス作成プログ
ラム211、構造化全文データ生成プログラム212お
よび文字列インデックス作成プログラム213の起動お
よび実行制御を行うとともに、これらのプログラムによ
って生成された解析済み文書データ、構造インデックス
および文字列インデックスをネットワーク105を介し
て前記文書検索サーバ102に転送する。システムプロ
グラム215は、周辺装置との間のデータの入出力な
ど、コンピュータ上で本サブシステムを構成する各プロ
グラムを実行するための基本機能を提供する。ワークエ
リア216は、プログラムの実行時に一時的に必要とな
るデータを記憶するために用いられる。
05に格納された登録対象文書を入力として読み込む構
成としたが、光磁気ディスク、追記型光ディスク等、他
種の可搬型媒体から読み込む構成をとることもでき、ネ
ットワーク105を介して転送されてくる文書を入力と
する構成をとることもできる。さらに、本実施例では生
成された解析済み文書データ、構造インデックスおよび
文字列インデックスを文書検索サーバ102に転送する
ためにネットワーク105を使用するものとしたが、代
わりにフロッピーディスク、光磁気ディスク、追記型光
ディスク等の可搬型媒体を使用する構成をとることもで
きる。あるいは、文書登録サブシステム101と文書検
索サーバ102を1台のコンピュータ上に実装し、デー
タ転送を行わない構成をとることもできる。
順について説明する。
書登録処理の概略手順を示すPAD(Problem Analysis
Diagram)図である。キーボード202からの登録指示
コマンド等により文書登録制御プログラム214が起動
されると、本プログラムはまずフロッピーディスク20
5に格納されている登録対象文書の有無とその数を調
べ、すべての登録対象文書について、ステップ302か
ら305までに示す一連の処理を繰り返し実行する(ス
テップ301)。
205に格納されている登録対象文書群の中から、未処
理の登録対象文書を1個選択して読み込む。ステップ3
03では、読み込んだ登録対象文書に文書識別子を割り
当てる。文書識別子は、文書データベース中で特定の文
書を一意に識別する番号である。
入力として文書構造解析プログラム210を実行する。
ここで、文書構造解析プログラム210は、この登録対
象文書に対応する解析済み文書データを生成して解析済
み文書データ格納領域217に格納する。
成した解析済み文書データを入力として構造インデック
ス作成プログラム211を実行する。構造インデックス
作成プログラム211は、まず構造インデックス格納領
域217から現時点での構造インデックスを読み出し、
与えられた解析済み文書データの持つ構造情報をこの構
造インデックスに登録し、更新された構造インデックス
を再び構造インデックス格納領域218に格納する。
成した解析済み文書データを入力として、構造化全文デ
ータ生成プログラム212を実行する。構造化全文デー
タ生成プログラム212は、与えられた解析済み文書デ
ータを参照して、ステップ303で読み込んだ登録対象
文書に対応する構造化全文データを生成し、構造化全文
データ格納領域219に格納する。
成した構造化全文データを入力として文字列インデック
ス作成プログラム213を実行する。文字列インデック
ス作成プログラム213は、まず文字列インデックス格
納領域220から現時点での文字列インデックスを読み
出し、構造化全文データから、所定の部分文字列と、該
部分文字列の構造化文字位置情報との対応関係を表わす
データを生成してこれを文字列インデックスに登録し、
更新された文字列インデックスを再び文字列インデック
ス格納領域220に格納する。
02から307までに示す一連の処理が終了すると、文
書登録制御プログラム214はステップ308を実行し
て処理を終了する。ステップ308では、解析済み文書
データ格納領域217に格納されたすべての解析済み文
書データ、構造インデックス格納領域218に格納され
た構造インデックス、および文字列インデックス格納領
域220に格納された文字列インデックスを、ネットワ
ーク105を介して文書検索サーバ102に転送する。
細、すなわち本実施例における文書構造解析プログラム
210の処理手順について説明する。
は、SGMLを用いて記述された1個の登録対象文書を
対象として構造解析処理を行う。SGMLでは、特定の
種別に属する文書群に共通する論理構造を、DTD(Do
cument Type Definition)によって定義する。図4がD
TDの一例である。DTDは、文書を構成する論理要素
(以下、これを単に「要素」と呼ぶ)の集合を定義する
ことによって、文書の論理的構造を定義する。図4にお
いて、文字列“<!ELEMENT”と文字列“>”で囲まれた部
分を要素型宣言と呼び、1個の要素型宣言が、1種類の
要素型に属する要素群が共通して持つ名前(これを要素
型名と呼ぶ)とその構造を規定する。要素型宣言中の左
側に示されている文字列が要素型名、右側に示されてい
る部分がその内容がとる構造の定義である。
文”に関する要素型宣言は、この要素型に属する要素の
内容が、“タイトル”、“執筆者”、“日付”、“本
文”および“文献リスト”という要素型に属する要素1
個ずつを、この順序に従って並べた構造を持つことを規
定している。ここで、複数の要素型名を文字“,”で区
切って並べることにより、それらの要素型名に属する要
素が指定した順序で出現しなければならないことを表現
する。
この要素型に属する要素の内容が、要素型“名前”に属
する要素の1個以上の繰り返しからなる構造を持つこと
を規定している。ここで、要素型名の後ろに文字“+”
を付加することにより、その要素型名に属する要素が1
個以上出現することを表現する。
の要素型に属する要素の内容が、要素型“章”に属する
要素の0個以上の繰り返しからなる構造を持つことを規
定している。ここで、要素型名の後ろに文字“*”を付
加することにより、その要素型名に属する要素が0個以
上出現することを表現する。
要素型に属する要素の内容が、要素型“章題”に属する
要素1個の後ろに、要素型“段落”または“備考”に属
する要素を0個以上続け、さらにその後ろに要素型
“節”に属する要素を0個以上繰り返した構造を持つこ
とを規定している。ここで、複数の要素型名を文字
“|”で区切って並べることにより、それらのいずれか
の要素型に属する要素が出現することを表現する。
要素型に属する要素の内容が、要素型“節題”に属する
要素1個の後ろに、要素型“段落”または“備考”に属
する要素を0個以上続け、さらにその後ろに要素型
“項”に属する要素を0個以上繰り返した構造を持つこ
とを規定している。
要素型に属する要素の内容が、要素型“項題”に属する
要素1個の後ろに、要素型“段落”または“備考”に属
する要素を0個以上繰り返した構造を持つことを規定し
ている。
は、この要素型に属する要素の内容が、要素型“文献”
に属する要素の1個以上の繰り返しからなる構造を持つ
ことを規定している。
の要素型に属する要素の内容が、“タイトル”、“執筆
者”、“日付”および“出典”という要素型に属する要
素1個ずつを、この順序に並べた構造を持つことを規定
している。
“日付”、“章題”、“節題”、“項題”、“強調”お
よび“出典”に属する要素の内容は、単に“#PCDATA”
と規定されている。これは、これらの要素がそれ以上の
下位構造をもたず、単なる文字の列からなる内容を持つ
ことを規定している。要素型“段落”および“備考”に
関する要素型宣言は、これらの要素型に属する要素が、
要素型“強調”に属する要素または単なる文字列を0個
以上繰り返した構造を持つことを規定している。
と文字列“>”で囲まれた部分を属性リスト宣言と呼
び、1個の属性リスト宣言が、1種類の要素型に属する
要素群が共通して持つ属性を定義する。図4に示すDT
Dでは、要素型“備考”に属する要素が、属性“type”
を持つこと、この属性は“参照”または“注釈”のいず
れかを値としてとることができ、指定が省略された場合
には“参考”が値として与えられることを規定してい
る。
ML文書の一例を、図5に示す。文書先頭の、文字列
“<!DOCTYPE”と文字列“>”で囲まれた部分を文書型宣
言と呼び、そのSGML文書が従うDTDと、最上位要
素の要素型名を宣言する。図5に示した例では、この文
書がファイル“ronbun.dtd”に格納されているDTDに
従い、最上位要素の要素型名は“論文”であることが規
定されている。ここでは、ファイル“ronbun.dtd”に図
4に示した前記DTDが格納されているものとする。
成する個々の要素について、その先頭位置と末尾位置を
示すマークを付加することにより、文書構造を明示的に
記述する。各要素の先頭位置を示すマークを“開始タ
グ”、終了位置を示すマークを“終了タグ”と呼ぶ。開
始タグは、文字列“<”と“>”との間に、その要素の要
素型名を記述することによって示す。終了タグは、文字
列“</”と“>”との間に、その要素の要素型名を記述
することによって示す。要素が属性を持つ場合、属性値
の指定を開始タグ中(要素型名の後ろ)に記述すること
ができる。属性値の指定は、属性名と属性値との間に文
字列“=”を置くことによって示す。例えば図5におい
て、開始タグ“<備考 type=注釈>”は、要素“備考”の
属性“type”に属性値“注釈”を与えている。SGML
文書中において、これらのタグを用いて文書構造を記述
している部分を「文書インスタンス」と呼ぶ。
わち本実施例における文書構造解析プログラム210の
処理手順を示すPAD図を、図7に示す。
ム210は、SGMLを用いて記述された1個の登録対
象文書を入力として起動されると、まず該文書の先頭に
記述された文書型宣言を読み、その構文を解析する(ス
テップ701)。次に、ステップ702において、文書
型宣言中における構文エラーの有無を判定する。構文エ
ラーが検出された場合、ステップ703に進み、エラー
メッセージを出力して処理を中断する。
テップ704に進み、その文書型宣言で指定されている
DTDファイルが存在するかどうかを判定する。DTD
ファイルが検出されない場合、ステップ705に進み、
エラーメッセージを出力して処理を中断する。
ップ706に進み、該ファイルの内容を読み込んでその
構文解析を行う。次に、ステップ707において、DT
D中における構文エラーの有無を判定する。構文エラー
が検出された場合、ステップ708に進み、エラーメッ
セージを出力して処理を中断する。構文エラーが検出さ
れなかった場合にはステップ709に進み、DTDが定
義する文書構造モデルを記述したデータである文書構造
テーブルをメモリ上に生成する。
構造テーブルを参照しながら文書インスタンスを読み込
み、構造解析を行い、その結果として解析済み文書デー
タを生成する。次に、ステップ711において、文書イ
ンスタンス中に構文エラーや構造エラー(DTDが定義
する構造モデルからの逸脱)がないかどうかを判定す
る。構文エラーまたは構造エラーが検出された場合には
ステップ712に進み、エラーメッセージを出力して処
理を中断する。エラーが検出されなかった場合にはステ
ップ713に進み、前記登録対象文書を識別する文書識
別子と、前記ステップ710における構造解析によって
得られた解析結果データとからなる解析済み文書データ
を、解析済み文書データ格納領域217に出力して処理
を終了する。
書を登録対象文書として文書構造解析プログラム210
を実行し、該文書が参照するDTDファイル“ronbun.d
td”の内容が図4に示すDTDだった場合について説明
する。この場合、ステップ709において生成される文
書構造テーブルは、図8に示すようなデータ構造をと
る。図8に示すとおり、文書構造テーブルは構造定義と
属性定義の二つの部分からなる。構造定義は、DTDを
構成する各要素型の要素型名に対応させて、その要素型
に属する要素がとりうる内容のデータモデルを定義す
る。また属性定義は、DTDを構成する各要素型の要素
型名に対応させて、その要素型に属する要素が持つ各属
性の属性名、属性値のタイプおよびデフォルト値を定義
する。この構造定義を参照することにより、文書インス
タンス中に現れる要素群の並び順や階層関係が正しいか
どうか(構造エラーの有無)を判断し、また省略された
タグや属性値指定があった場合、それらを補足すること
ができる。
して文書構造解析プログラム210への入力として与え
られ、そのDTDが図4に示すものだった場合、図6に
示す木構造データが解析済み文書データとして得られ
る。図6は、図5に示すSGML記述によって表現され
ている文書の論理構造を、図形的に示した模式図であ
る。図6に示すように、構造化文書の持つ論理的構造
は、個々の要素を中間節、文字列データを終端節とする
木構造としてとらえることができる。図6では、各要素
を楕円形、文字列データを矩形で表わしている。
された構造化文書を登録対象文書として処理する構成を
とったが、ODA(Open Document Architecture)な
ど、他の形式によって記述された構造化文書を登録対象
文書とするように構成することもできる。
細、すなわち本実施例における構造インデックス作成プ
ログラム211の処理手順を示すPAD図である。
は、まずステップ901において、既存の構造インデッ
クスが構造インデックス格納領域218中に存在してい
るかどうかを判定する。該領域中に構造インデックスが
存在しない場合にはステップ902に進み、初期状態
(空)の構造インデックスを生成する。既存の構造イン
デックスを検出した場合にはステップ903に進み、該
構造インデックスを読み込む。
文書データ格納領域217から登録対象文書の解析済み
文書データを読み込む。
済み文書データの木構造を構成するすべてのノード(要
素および文字列データ)を対象として、ステップ906
からステップ909に示す処理を繰り返す。
中で現在着目しているノードについて、構造インデック
ス中に、該ノードに対応するメタノード(メタ要素また
はメタ文字列データ)が存在するかどうかを判定する。
対応メタノードが存在しない場合はステップ907に進
み、該ノードに対応するメタノードを生成して構造イン
デックスに登録し、さらに該登録したメタノードに対し
て、該メタノードを構造インデックス中で一意に識別す
る番号である文脈識別子を割り当てる(ステップ90
8)。ステップ909では、解析済み文書データ中で現
在着目しているノードと、構造インデックス中で該ノー
ドに対応するメタノードを識別する文脈識別子との対応
関係を、解析済み文書データに付加して該解析済み文書
データを更新する。
とステップ910に進み、前記更新された解析済み文書
データを出力して解析済み文書データ格納領域217に
格納する。次に、ステップ911では、前記更新された
構造インデックスを出力して構造インデックス格納領域
218に格納し、処理を終了する。
済み文書データの木構造を構成するすべてのノードを対
象とする繰り返し処理を行う際に、該木構造を辿り、個
々のノードを処理していく順序を図10を用いて説明す
る。図10では、楕円形で要素ノード、矩形で文字列ノ
ードを表現し、あるノードが複数の下位ノードを持つ場
合には、各下位ノードをその出現順に左から右に並べて
表現している。また、各ノードに表示された数字がその
処理順序を示している。図10に示すとおり、ステップ
905においてノード群を処理していく順序は、木構造
の根に位置するノードから出発し、ある特定のノードと
その下位ノード群を処理する際には、まず該ノードの処
理を行い、次に該ノードの下位ノード群を、その出現順
に従って処理していく順序となる。
すなわち解析済み文書データ中で現在着目しているノー
ドについて、構造インデックス中に、該ノードに対応す
るメタノードが存在するかどうかを判定する処理の内容
を、図11を用いて説明する。図11は、図の左側に示
す解析済み文書データの木構造を構成するノード群と、
右側に示す構造インデックスの木構造を構成するノード
(メタノード)群との対応関係を示す図である。
構造中におけるあるノードの木構造アドレスと、構造イ
ンデックスの木構造中におけるあるメタノードの木構造
アドレスとが等しい場合に、該ノードと該メタノードと
は対応するものと定義する。ここでいう木構造アドレス
とは、木構造の根から出発して上位ノードから下位ノー
ドへと辿り、特定のノードに至るまでの道筋を、該道筋
上に存在する各ノードの種別(要素か文字列データか、
要素の場合、どの要素型に属するか)と、それらのノー
ドが種別の等しい兄弟ノード群中で何番目に現れたかを
示す番号との組み合わせによって表現するアドレスのこ
とである。
中のノード群のうち、ノード1101は上位ノードをも
たず、兄弟ノード中では最初の“論文”要素ノードであ
るから、その木構造アドレスは“/論文[1]”と表記する
ことができる。同様に、ノード1102はノード110
1の下位ノードであり、兄弟ノード中では最初の“章”
要素ノードであるから、その木構造アドレスは“/論文
[1]/章[1]”と表記することができる。また、ノード1
103はノード1102の下位ノードであり、兄弟ノー
ド中では2番目の“節”要素ノードであるから、その木
構造アドレスは“/論文[1]/章[1]/節[2]”と表記するこ
とができる。また、ノード1104はノード1103の
下位ノードであり、兄弟ノード中では最初の“段落”要
素ノードであるから、その木構造アドレスは“/論文[1]
/章[1]/節[2]/段落[1]”と表記することができる。
スの木構造を構成する各メタノードについてその木構造
アドレスを求めてみると、メタノード1105の木構造
アドレスは“/論文[1]”となり、ノード1101の木構
造アドレスと等しくなる。同様に、メタノード1106
の木構造アドレスは“/論文[1]/章[1]”となってノード
1102の木構造アドレスと等しく、メタノード110
7の木構造アドレスは“/論文[1]/章[1]/節[2]”となっ
てノード1103の木構造アドレスと等しくなる。よっ
て、前記ステップ906において、ノード1101はメ
タノード1105と、ノード1102はメタノード11
06と、ノード1103はメタノード1107とそれぞ
れ対応するものと判定される。
ード1104と等しい木構造アドレスを持つメタノード
はないので、ノード1104と対応するメタノードは構
造インデックス中に存在しないものと判定され、前記ス
テップ907において新たなメタノードが生成され、該
メタノードが構造インデックスに登録されることにな
る。前記ステップ907において、あるノードに対応す
る新たなメタノードを登録する際には、該ノードの上位
ノードに対応するメタノードの持つ下位ノード群の末尾
に、該ノードに対応する種別のメタノードを追加する。
図11のノード1104に対応するメタノードを登録す
る場合には、ノード1104の上位ノードであるノード
1103に対応するメタノード1107の下位に、要素
型“段落”のメタノードが追加され、該メタノードは兄
弟メタノード群の末尾に置かれることになる。
ね合わせることにより構造インデックスを生成していく
過程について、図12を用いて説明する。図12におい
て、1201、1203および1205は、それぞれ登
録対象文書の解析済み文書データを表わしている。これ
らの解析済み文書データの構造を既存の構造インデック
ス上に順次重ね合わせることにより、構造インデックス
が形成されていく。まず最初に文書1の解析済み文書デ
ータ1201が入力されると、最初の段階では構造イン
デックスは初期状態(空)であるため、該解析済みデー
タと等価な木構造が生成されてそのまま構造インデック
スに登録され、構造インデックスは1202に示す状態
となる。新たに生成されたメタ要素にはE1からE5ま
での文脈識別子、新たに生成されたメタ文字列データに
はC1からC3までの文脈識別子が割り当てられる。
が入力されると、既存の構造インデックス(1202)
と構造が重複する部分については何も行わず、1202
上に対応する部分がなかった部分構造(図中の斜線部
分)だけが新たに登録される。新たに生成されたメタ要
素には文脈識別子E6およびE7、新たに生成されたメ
タ文字列データには文脈識別子C4が割り当てられる。
次に文書3の解析済み文書データ1205が入力される
と、既存の構造インデックス(1204)と構造が重複
する部分については何も行わず、1204上に対応する
部分がなかった部分構造(図中の斜線部分)だけが新た
に登録される。新たに生成されたメタ要素には文脈識別
子E8、E9およびE10、新たに生成されたメタ文字
列データには文脈識別子C5およびC6が割り当てられ
る。このようにして、3個の文書が登録された段階で、
構造インデックスは1206に示す状態となる。
詳細、すなわち本実施例における構造化全文データ生成
プログラム212の処理手順を示すPAD図である。
は、まずステップ1301において、解析済み文書デー
タ格納領域217から前記登録対象文書の解析済み文書
データを読み込む。
録対象文書を識別する文書識別子を構造化全文データ格
納領域219に出力する。
析済み文書データの木構造を構成するすべてのノード
(要素ノードおよび文字列データノード)を対象とし
て、ステップ1304からステップ1306に示す処理
を繰り返す。
タ中で現在着目しているノードについて、該ノードが要
素ノードであるか文字列データノードであるかを判定
し、該ノードが文字列データノードである場合に限りス
テップ1305に進む。ステップ1305では、前記解
析済み文書データから、前記現在着目している文字列デ
ータノードに対応する文脈識別子を求め、該文脈識別子
を構造化全文データ格納領域219に出力する。次に、
ステップ1306で、前記現在着目している文字列デー
タノードの内容文字列を構造化全文データ格納領域21
9に出力する。
終了した段階で本プログラムは処理を終了する。
ム212が出力する構造化全文データのファイル形式を
示す。図14は、図5に示したSGML文書を入力とし
て構造化全文データを生成した場合について例示してい
る。図14に示すとおり、本実施例における構造化全文
データのデータファイルは、先頭に文書識別子を記述
し、その後ろに、文脈識別子と該文脈識別子に対応する
内容文字列との対を、文書中に存在する文字列データの
数だけ繰り返した構造をとる。
対応する登録対象文書の文書識別子は“D1”であり、図
5において“日付”要素の内容として記述されていた文
字列データには文脈識別子“C5”が与えられている。な
お、図14他ではこれらの識別子を記号により表現して
いるが、文書識別子としてデータ中に実際に記録される
値は登録対象文書の集合中で特定の文書を一意に識別す
る番号(整数値)であり、文脈識別子の値は構造インデ
ックスを構成するメタノードの集合中で特定のメタノー
ドを一意に識別する番号(整数値)である。
詳細、すなわち本実施例における文字列インデックス作
成プログラム213の処理手順を示すPAD図である。
は、まずステップ1501において、既存の文字列イン
デックスが文字列インデックス格納領域220中に存在
しているかどうかを判定する。該領域中に文字列インデ
ックスが存在しない場合にはステップ1502に進み、
初期状態(空)の文字列インデックスを生成する。既存
の文字列インデックスを検出した場合にはステップ15
03に進み、該文字列インデックスを読み込む。
象文書の構造化全文データを構造化全文データ格納領域
219から読み込む。
造化全文データを構成するすべての内容文字列を対象と
して、ステップ1506から1507に示す処理を繰り
返す。
中で現在着目している内容文字列から、所定の部分文字
列を抽出する。ステップ1507では、前記ステップ1
506で抽出した各部分文字列と該部分文字列の構造化
文字位置情報との対応関係を、前記文字列インデックス
に登録する。
るとステップ1508に進み、不要となった構造化全文
データを構造化全文データ格納領域219から削除して
破棄する。次に、ステップ1509において、更新され
た文字列インデックスを出力して文字列インデックス格
納領域220に格納し、処理を終了する。
ある内容文字列から所定の部分文字列を抽出する際に
は、予め抽出すべき部分文字列の長さを定めておき、対
象とする内容文字列の先頭から出発して、開始位置を1
ずつ増しながら前記予め定めておいた長さの部分文字列
を順次抽出する。例えば、抽出する部分文字列の長さを
2文字とし、処理対象として図14に示す内容文字列群
のうち文脈識別子C129に対応する内容文字列“変換
処理の実例”を用いた場合、抽出される部分文字列は
“変換”、“換処”、“処理”、“理の”、“の実”お
よび“実例”の6個となる。
長さ1文字から部分文字列長−1文字までの各部分文字
列をも抽出する。前記の例では“例”が抽出される。こ
れらの部分文字列を前記ステップ1507において文字
列インデックスに登録する際には、各部分文字列と、そ
れらが出現した位置を表わす構造化文字位置情報との対
応関係を登録する。ここで、構造化文字位置情報は、対
応する部分文字列を含む文書の文書識別子、該文書中に
おいて前記部分文字列を含む文字列データの文書構造中
における位置を識別する文脈識別子、および文書中にお
ける前記部分文字列の先頭文字位置から構成される。
ックスのデータ構造を示す。図16は、文字列インデッ
クス作成プログラム213を用いて図14に示す構造化
全文データを処理し、文字列インデックスに該構造化全
文データに含まれる部分文字列群の登録を終えた段階に
おいて、該文字列インデックスのデータ構造の一部(前
記内容文字列“変換処理の一例”に関連する部分)を図
示したものである。ただし、図16では、前記内容文字
列の末尾“例”に対応する文字ノードおよび構造化文字
位置情報は省略している。また、前記内容文字列の直前
に位置する文字の文字位置を“X”として、相対的に文
字位置を表現している。
は、登録対象文書中に現れる所定長さの部分文字列すべ
てについて、その出現位置情報(文書識別子、文脈識別
子および先頭文字位置の組み合わせからなる構造化文字
位置情報)のリストを保持する。ここで、インデックス
検索を高速化するため、1文字目が共通する部分文字列
群については、1文字目の情報をすべての部分文字列が
共有するデータ構造をとり、また文字列インデックスの
ルートから1文字目のノードへのポインタの並びは、ポ
インタが指す文字の文字コード順となるように配列す
る。同様に、1文字目のノードから2文字目のノードへ
のポインタの並びも、ポインタが指す文字の文字コード
順となるように配列する。
対象文書を処理してその内部に現れる部分文字列群を文
字列インデックスに登録しておけば、この文字列インデ
ックスを参照するだけで(文書データ本体を一切走査す
ることなく)任意の2文字からなる文字列がどの文書中
のどの位置に出現するかを知ることができる。(2文字
以外の長さの文字列を検索する方法については後述す
る。)なお、本実施例では、予め定める部分文字列の長
さを2文字としたが、該長さをこれ以外の値としても同
様な文字列インデックスを構築することができる。ま
た、本実施例では部分文字列の長さを固定長としたが、
この長さを可変として同様な文字列インデックスを構築
することもできる。
ステム101の説明である。
検索サーバ、すなわち図1の102について説明する。
バ102の構成を示す図である。
ィスプレイ201、キーボード202、中央処理装置
(CPU)203、通信制御装置206、主メモリ20
7、磁気ディスク装置208、システムバス209から
構成される。
況等を表示するために使用する。キーボード202は、
本サーバの起動・停止等を指示するコマンドを入力する
ために使用する。中央処理装置203は、本サーバを構
成する各種プログラムを実行する。通信制御装置206
は、ネットワーク105を介して前記文書登録サブシス
テム101および前記検索クライアント(103および
104)と通信し、リクエストおよびデータの交換を行
うために使用する。主メモリ207は、本サーバによる
処理を実行するための各種プログラムおよび一時的なデ
ータを保持するために使用する。磁気ディスク装置20
8は、文書データベースを構成する文書データ群および
本サーバが文書検索時に参照するインデックスデータを
格納するために使用する。システムバス209は、これ
らの各種装置を接続するために使用する。
グラム1701、文字列インデックス検索プログラム1
702、文書検索制御プログラム1703およびシステ
ムプログラム215が格納され、またワークエリア21
6が保持される。磁気ディスク装置208中には、解析
済み文書データ格納領域217、構造インデックス格納
領域218、文字列インデックス格納領域220および
検索結果データ格納領域1704が確保される。
クライアント103および104から受信した検索リク
エスト中に含まれる検索条件式を解析し、文字列インデ
ックス検索プログラム1702によって直接検索可能な
条件指定に翻訳する。文字列インデックス検索プログラ
ム1702は、検索条件解析プログラム1701によっ
て翻訳された条件指定に従って、文字列インデックス格
納領域220に格納されている文字列インデックスを検
索し、得られた検索結果データを検索結果データ格納領
域1704に格納する。
条件解析プログラム1701および文字列インデックス
検索プログラム1702の起動および実行制御を行うと
ともに、ネットワーク105を介して、文書登録サブシ
ステム101および検索クライアント(103および1
04)との間でリクエストおよびデータの交換を行う。
システムプログラム215は、周辺装置との間のデータ
の入出力など、コンピュータ上で本サーバを構成する各
プログラムを実行するための基本機能を提供する。ワー
クエリア216は、プログラムの実行時に一時的に必要
となるデータを記憶するために用いられる。
101および検索クライアント103および104との
間でデータを転送するためにネットワーク105を使用
するものとしたが、代わりにフロッピーディスク、光磁
気ディスク、追記型光ディスク等の可搬型媒体を使用す
る構成をとることもできる。また、文書登録サブシステ
ム101と文書検索サーバ102を1台のコンピュータ
上に実装し、これらの間でデータ転送を行わない構成を
とることもできる。また、1個以上の検索クライアント
を文書検索サーバ102と同一のコンピュータ上で実行
し、これらの間でデータ転送を行わない構成をとること
もできる。
文書検索処理の概略手順を示すPAD図である。キーボ
ード202からのサーバ起動コマンド等により文書検索
制御プログラム1703が起動されると、本プログラム
はサーバとして文書登録サブシステム101および検索
クライアント(103、104等)からリクエストを受
信してはその処理を行うループに入る(ステップ180
1)。このループは、キーボード202からサーバの停
止を指示するコマンドが入力されるまで継続する。
ブシステム101および検索クライアント(103およ
び104)からリクエストを受信する処理(ステップ1
802)と、受信したリクエストの種別を判定し、該種
別に対応する処理に分岐する処理(ステップ1803)
を繰り返す。
トの種別を判定し、該リクエストが、文書登録サブシス
テム101から送信されたデータベース更新リクエスト
(新たな文書群を登録して文書データベースを更新する
ことを求めるリクエスト)であった場合、ステップ18
04およびステップ1805からなる処理に分岐する。
ト(103、104等)から送信された文書検索リクエ
スト(特定の検索条件を満たす文書群の検索を求めるリ
クエスト)であった場合、ステップ1806、1807
および1808からなる処理に分岐する。また、前記リ
クエストが、検索クライアント(103、104等)か
ら送信された、検索結果問い合わせリクエスト(特定の
検索処理の結果を問い合わせるリクエスト)であった場
合、ステップ1809からなる処理に分岐する。また、
前記リクエストが、検索クライアント(103、104
等)から送信された、文書転送リクエスト(指定された
文書データの転送を求めるリクエスト)であった場合、
ステップ1810からなる処理に分岐する。分岐先の処
理が終了した後は再びステップ1802に戻ってループ
を継続する。
テム101から、新規に登録された文書群の解析済み文
書データを受信し、該解析済み文書データを解析済み文
書データ格納領域216に追加する。次に、ステップ1
805では、文書登録サブシステム101から、新規に
登録された前記文書群の内容を反映して更新された構造
インデックスおよび文字列インデックスを受信し、これ
らをそれぞれ構造インデックス格納領域218および文
字列インデックス格納領域220に格納する。
グラム1701を実行し、文書検索リクエスト中で指定
されている検索条件を解析し、該検索条件を、文字列イ
ンデックス検索プログラム1702によって直接処理可
能な条件指定(以下、これを展開済み検索条件データと
呼ぶ)に変換する。次に、ステップ1807では、前記
ステップ1806によって生成された展開済み検索条件
データを入力として文字列インデックス検索プログラム
1702を実行し、該展開済み検索条件データが指定す
る条件を満たす文書群を検索して、検索結果データを求
め、該検索結果データを一意に識別する検索結果識別子
と対応付けて検索結果データ格納領域1704に格納す
る。次に、ステップ1808では、前記検索結果識別子
を、要求元の検索クライアントに返送する。
に応じて前記ステップ1807で求めた検索結果データ
の一部または全体を検索結果データ格納領域1704か
ら抽出し、要求元の検索クライアントに転送する。
ト中で指定されている文書(複数の文書が指定されてい
る場合には指定されている文書すべて)の解析済み文書
データを解析済み文書データ格納領域217から抽出
し、要求元の検索クライアントに転送する。
6の詳細、すなわち本実施例における検索条件解析プロ
グラム1701の処理手順を示すPAD図である。
検索リクエスト中で指定されている検索条件を入力とし
て起動されると、まずステップ1901において、該検
索条件中に構造条件が含まれているかどうかを判定す
る。そして、構造条件が含まれている場合に限り、ステ
ップ1902およびステップ1903からなる処理を実
行する。構造条件が含まれていなかった場合にはステッ
プ1904に進む。
格納領域218から構造インデックスを読み込む。次
に、ステップ1903では、該構造インデックスを参照
して、前記構造条件を満たす構造内に含まれるすべての
文字列データの文脈識別子の集合を求める。以下、該集
合を文脈識別子集合と呼ぶ。
文字列条件として指定された文字列の長さが、前記文字
列インデックスを作成する際に予め定めた部分文字列長
を超えているかどうかを判定する。前記指定文字列の長
さが前記部分文字列長を超えている場合にはステップ1
905に進み、前記指定文字列の先頭から、開始文字位
置を1ずつ増しつつ、前記部分文字列長に等しい長さの
部分文字列群を抽出し、これらの部分文字列を要素とす
る部分文字列リストを生成する。前記指定文字列の長さ
が前記部分文字列長を超えていない場合にはステップ1
906に進み、空の(要素をもたない)部分文字列リス
トを生成する。
03で求めた文脈識別子集合、前記検索条件中に含まれ
ていた指定文字列、および前記ステップ1905または
ステップ1906で生成した部分文字列リストから構成
される展開済み部分文字列データを生成して処理を終了
する。
ム1701の処理過程における、展開済み解析条件デー
タの生成例を示す図である。
クエスト中で指定された検索条件の一例である。検索条
件2001は、構造条件指定“章/段落[1]”と、文字列
条件指定“ガード”とから構成されている。前記検索条
件は、“章”要素の直接の下位にある最初の“段落”要
素内に、文字列“ガード”が出現するケースを検索すべ
きことを指定している。
2に示すとおりであったとすると、前記ステップ190
3においてこの構造インデックスを参照することによ
り、前記構造条件指定を満たす“段落”要素の文脈識別
子はE5およびE14であることがわかる。従って、こ
れらの段落の下位にある文字列データ、すなわち文脈識
別子がC3またはC9である文字列データ内に、文字列
“ガード”が出現するケースを検索すればよいことがわ
かる。ただし、検索に用いる文字列インデックスには、
長さ2の部分文字列についてのみその出現位置が登録さ
れているので、3文字からなる前記指定文字列を直接検
索することはできない。そこで、ステップ1905にお
いて、前記指定文字列を分解して長さ2の部分文字列か
らなるリストを生成する。前記のとおり指定文字列が
“ガード”だった場合、抽出される部分文字列は“ガ
ー”および“ード”となる。
て、2003に示す展開済み検索条件データ、すなわち
文脈識別子集合が{C3,C9}、指定文字列が“ガー
ド”、部分文字列リストが{“ガー”,“ード”}であ
るデータが生成される。
7の詳細、すなわち本実施例における文字列インデック
ス検索プログラム1702の処理手順を示すPAD図で
ある。
2は、前記検索条件解析プログラム1701が生成した
展開済み検索条件データを入力として起動される。本プ
ログラムは、起動されるとまずステップ2101におい
て、文字列インデックス格納領域220から文字列イン
デックスを読み込む。次に、ステップ2102に進み、
検索結果データを初期化する。
み検索条件データ中に含まれている指定文字列の長さ
と、前記文字列インデックスを作成する際に予め定めた
部分文字列の長さとを比較する。前記指定文字列の長さ
が前記部分文字列の長さに等しい場合にはステップ21
04に分岐する。前記指定文字列の長さが前記部分文字
列の長さに満たない場合にはステップ2105に分岐す
る。前記指定文字列の長さが前記部分文字列の長さを超
える場合にはステップ2106に分岐する。
ス中で前記指定文字列を検索し、該文字列に対応してい
る構造化文字位置の集合を求め、次に該集合の中から、
前記展開済み検索条件データ中の文脈識別子集合に含ま
れているいずれかの文脈識別子を持つ構造化文字位置情
報群のみを抽出し、該抽出した構造化文字位置情報群か
らなるヒット位置集合を生成する。
ス中で前記指定文字列を検索し、該文字列の末尾に対応
する文字ノードより前方に存在するすべての構造化文字
位置情報の集合を求め、次に該集合の中から、前記展開
済み検索条件データ中の文脈識別子集合に含まれている
いずれかの文脈識別子を持つ構造化文字位置情報群のみ
を抽出し、該抽出した構造化文字位置情報群からなるヒ
ット位置集合を生成する。
条件データ中の部分文字列リストを構成する各部分文字
列について、ステップ2107を繰り返す。ステップ2
107では、文字列インデックス中で前記部分文字列を
検索し、該文字列に対応している構造化文字位置情報の
集合を求め、次に該集合の中から、前記展開済み検索条
件データ中の文脈識別子集合に含まれているいずれかの
文脈識別子を持つ構造化文字位置情報群のみを抽出し、
該抽出した構造化文字位置情報群を前記部分文字列に対
応付けて記憶する。
とステップ2108に進み、前記ステップ2107で対
応付けを行った構造化文字位置情報群について連接判定
処理を行い、連続した文字列として前記指定文字列を構
成する構造化文字位置情報のグループのみを抽出し、該
抽出した各グループ中で前記指定文字列の先頭に位置す
る部分文字列に対応する構造化文字位置情報のみを抽出
し、該抽出した構造化文字位置情報群からなるヒット位
置集合を生成する。
理を終えるとステップ2109に進み、前記ヒット位置
集合中に含まれる構造化文字位置情報群を、同一の文書
識別子を持つものからなるグループにまとめて前記検索
結果データに登録する。
文字列インデックス検索プログラム1702の処理過程
における連接判定処理について、図22を用いてさらに
詳しく説明する。
デックスの一例(部分)を表わしている。2201に示
すデータを保持している文字列インデックス上で、図2
0の2003に示す展開済み検索条件データが示す条件
に従って検索を行うと、前記ステップ2107に示した
とおり、まず部分文字列“ガー”および“ード”に対応
する構造化文字位置情報群の中から、文脈識別子がC3
またはC9であるもののみが抽出される。該抽出された
構造化文字位置情報群を、部分文字列に対応付けたデー
タを2202に示す。連接判定処理は該データの上で行
われる。
では、抽出された構造化文字位置情報群の中に、全体と
して前記指定文字列を構成する一連の構造化文字位置情
報の組み合わせが存在するかどうかを判定する。ここ
で、このような組み合わせは次に示す条件を満たさなけ
ればならない。
識別子がすべて一致している。
識別子がすべて一致している。
置の値が小さいものから順に並べ、それらの文字位置に
従って対応する部分文字列群を配置すると、全体として
指定文字列に等しい文字列が得られる。
して指定文字列“ガード”を構成する組み合わせが一例
含まれている。
組み合わせが見つかると、該組み合わせ中に含まれる構
造化文字位置情報群のうち、文字位置の値が最小である
ものを代表として選び、前記ヒット位置集合に登録す
る。
して生成される検索結果データのデータ構造を示す図で
ある。本図に示すとおり、検索結果データは、ヒット位
置集合中に含まれる文字位置情報群を文書識別子ごとに
グループ化し、それらのグループを要素とするリストを
作り、さらに検出文書の総数を示す情報を付加した構造
を持つ。検索結果データは、検索結果データの集合中で
その検索結果データを一意に識別する検索結果識別子と
対応付けられたうえで、検索結果データ格納領域170
4に格納される。
すなわち検索結果問い合わせリクエストの内容に対応し
て検索結果を要求元クライアントに転送する処理につい
て、図24を用いてさらに詳しく説明する。図24は、
前記ステップ1809の詳細な処理手順を示すPAD図
である。
本体は、検索結果識別子指定、問い合わせ種別指定およ
び文書識別子指定の三部分からなる。問い合わせの種別
によっては、文書識別子指定をもたない場合もある。
9に対応する処理では、まずステップ2401におい
て、問い合わせリクエスト中で指定されている検索結果
識別子に対応する検索結果データを検索し、該検索結果
データを検索結果データ格納領域1704から読み込
む。
種別を判定し、該問い合わせ種別が検出文書数問い合わ
せであった場合にはステップ2403、該問い合わせ種
別が文書識別子問い合わせであった場合にはステップ2
404、該問い合わせ種別が文字位置情報問い合わせで
あった場合にはステップ2405に分岐する。
01で読み込んだ検索結果データから検出文書数を抽出
し、該検出文書数の値を要求元の検索クライアントに転
送して処理を終了する。
01で読み込んだ検索結果データ中に含まれるすべての
文書識別子からなる集合を求め、該集合を要求元の検索
クライアントに転送して処理を終了する。
01で読み込んだ検索結果データから、問い合わせ中で
指定された文書識別子に対応する構造化文字位置情報の
リストを抽出し、該リストを要求元の検索クライアント
に転送して処理を終了する。以上が、本実施例における
文書検索サーバ102の説明である。
検索クライアント、すなわち図1の103および104
について説明する。
る、本実施例における文書検索クライアントの構成を示
す図である。
ィスプレイ201、キーボード202、中央処理装置
(CPU)203、通信制御装置206、主メモリ20
7、磁気ディスク装置208、システムバス209から
構成される。
検索条件を入力するための画面や検索結果等を表示する
ために使用する。キーボード202は、検索条件、検索
処理の実行等を指示するコマンドを入力するために使用
する。中央処理装置203は、本クライアントを構成す
る各種プログラムを実行する。通信制御装置206は、
ネットワーク105を介して前記文書検索サーバ102
と通信し、リクエストおよびデータの交換を行うために
使用する。主メモリ207は、本クライアントによる処
理を実行するための各種プログラムおよび一時的なデー
タを保持するために使用する。磁気ディスク装置208
は、検索結果として得られた文書およびその他のデータ
を格納するために使用する。システムバス209は、こ
れらの各種装置を接続するために使用する。
グラム2501、検索結果表示プログラム2502、ク
ライアント制御プログラム2503およびシステムプロ
グラム215が格納され、またワークエリア216が保
持される。磁気ディスク装置208中には、解析済み文
書データ格納領域217および検索結果データ格納領域
1704が確保される。
ザと対話しつつ検索条件の入力および解釈を行う。検索
結果表示プログラム2502は、文書検索サーバ102
から受け取った検索結果の表示を行う。クライアント制
御プログラム2503は、検索条件入力プログラム25
01および検索結果表示プログラム2502の起動およ
び実行制御を行うとともに、ネットワーク105を介し
て、文書検索サーバ102との間でリクエストおよびデ
ータの交換を行う。システムプログラム215は、周辺
装置との間のデータの入出力など、コンピュータ上で本
クライアントを構成する各プログラムを実行するための
基本機能を提供する。ワークエリア216は、プログラ
ムの実行時に一時的に必要となるデータを記憶するため
に用いられる。
との間でデータを転送するためにネットワーク105を
使用するものとしたが、代わりにフロッピーディスク、
光磁気ディスク、追記型光ディスク等の可搬型媒体を使
用する構成をとることもできる。また、1個以上の検索
クライアントを文書検索サーバ102と同一のコンピュ
ータ上で実行し、これらの間でデータ転送を行わない構
成をとることもできる。本クライアントにプリンタを接
続し、検索結果を印刷できるよう構成することもでき
る。
検索クライアントの動作手順を示すPAD図である。キ
ーボード202からのクライアント起動コマンド等によ
りクライアント制御プログラム2503が起動される
と、本プログラムはユーザから文書検索を指示するコマ
ンドを受け取ってはその処理を行うループに入る(ステ
ップ2601)。このループは、キーボード202から
クライアントの停止を指示するコマンドが入力されるま
で継続する。
602からステップ2605までに示す処理を繰り返
す。
グラム2501を実行し、ユーザとの対話により検索条
件を入力し、該検索条件を、文書検索サーバ102が解
釈可能な文書検索リクエストに変換する。ステップ26
03では、前記文書検索リクエストを、ネットワーク1
05を介して文書検索サーバ102に送信する。ステッ
プ2604では、文書検索サーバ102から前記文書検
索リクエストへの返送として検索結果識別子が返される
のを待ち、該識別子を受信する。
子を入力として検索結果表示プログラム2502を実行
し、ユーザと対話しつつ検索結果データの問い合わせお
よび画面表示を行う。
において実行する検索条件入力プログラム2501の詳
細な処理手順を示すPAD図である。検索条件入力プロ
グラム2501は、クライアント制御プログラム250
3から起動されると、まず検索条件をユーザが対話的に
指定するための画面をディスプレイ201に表示する
(ステップ2701)。
面上でユーザが指示した検索条件を読み込む。
テップ2702において読み込んだ検索条件を、文書検
索サーバ102が直接解釈可能な文書検索リクエストの
形に変換する。
において実行する検索結果表示プログラム2502の詳
細な処理手順を示すPAD図である。検索結果表示プロ
グラム2502は、クライアント制御プログラム250
3から前記検索結果識別子を入力として起動されると、
ただちにステップ2801のループに入る。該ループ
は、ユーザから検索結果表示の終了を指示されるまで、
ステップ2802からステップ2815までに示す処理
を、繰り返し実行する。
ずステップ2802において、検索結果の表示とユーザ
からの指示入力のために用いる画面をディスプレイ20
1に表示する。次に、ステップ2803において、前記
画面上でユーザが指定した指示内容を読み込む。
ーザ指示の種別を判定し、その種別に対応した分岐を行
う。すなわち、該指示が検出文書数の表示を求めるもの
であった場合にはステップ2805およびステップ28
06に示す処理に分岐し、該指示が検出文書群の文書識
別子リストの表示を求めるものであった場合にはステッ
プ2807およびステップ2808に示す処理に分岐
し、該指示が文書内容の表示を求めるものであった場合
にはステップ2809からステップ2815までに示す
処理に分岐する。各分岐先の処理が終了するとステップ
2802に戻り、再び前記ループを再開する。
数を問い合わせるための検出文書数問い合わせリクエス
トを生成し、該リクエストを文書検索サーバ102に送
信する。次に、ステップ2806では、前記リクエスト
に対応して文書検索サーバ102から転送されてきた検
出文書数を受信し、該数値をディスプレイ201に表示
する。
識別子リストを問い合わせるための文書識別子問い合わ
せリクエストを生成し、該リクエストを文書検索サーバ
102に送信する。次に、ステップ2808では、前記
リクエストに対応して文書検索サーバ102から転送さ
れてきた文書識別子の集合を受信し、該集合に含まれる
文書識別子群をディスプレイ201にリスト表示する。
特定する文書識別子を入力する。次に、ステップ281
0では、該識別子が識別する文書の解析済み文書データ
を得るための文書転送リクエストを生成し、該リクエス
トを文書検索サーバ102に送信する。次に、ステップ
2811では、前記リクエストに対応して文書検索サー
バ102から転送されてきた解析済み文書データを受信
し、該データを解析済み文書データ格納領域217に格
納する。
み文書データ中において、検索条件中に指定した指定文
字列が検出された位置を問い合わせるための文字位置情
報問い合わせリクエストを生成し、該リクエストを文書
検索サーバ102に送信する。次に、ステップ2813
では、前記リクエストに対応して文書検索サーバ102
から転送されてきた構造化文字位置情報のリストを受信
し、該リストを検索結果データ格納領域1704に格納
する。
プ2811で受信した解析済み文書データおよび前記ス
テップ2813で受信した構造化文字位置情報リストを
参照し、文書検索時における指定文字列検出部分を反転
表示するためのデータ加工処理を行う。次に、ステップ
2815では、前記反転処理済みの解析済み文書データ
を、書式化してディスプレイ201上に表示する。
索クライアント103および104の動作手順の説明で
ある。
第二の実施例について、図面を用いて説明する。
システム101の構成を示す図である。
は、そのハードウェア構成に関しては、図2に示す第一
の実施例の場合と変わらない。ただし、主メモリ207
中には、第一の実施例において保持するプログラム群に
加えて、逆順構造インデックス作成プログラム2901
を保持する。また、磁気ディスク装置208中には、第
一の実施例において確保する領域群に加えて、逆順構造
インデックス格納領域2902が確保される。逆順構造
インデックス作成プログラム2901は、登録対象文書
の解析済み文書データが持つ論理構造に関する情報を、
逆順構造インデックス格納領域2902に格納されてい
る逆順構造インデックスに登録して逆順構造インデック
スを更新する。
ム214は、文書構造解析プログラム210、構造イン
デックス作成プログラム211、逆順構造インデックス
作成プログラム2901、構造化全文データ生成プログ
ラム212および文字列インデックス作成プログラム2
13の起動および実行制御を行うとともに、これらのプ
ログラムによって生成された解析済み文書データ、構造
インデックス、逆順構造インデックスおよび文字列イン
デックスをネットワーク105を介して文書検索サーバ
102に転送する。
05に格納された登録対象文書を入力として読み込む構
成としたが、光磁気ディスク、追記型光ディスク等、他
種の可搬型媒体から読み込む構成をとることもでき、ネ
ットワーク105を介して転送されてくる文書を入力と
する構成をとることもできる。さらに、本実施例では生
成された解析済み文書データ、構造インデックス、逆順
構造インデックスおよび文字列インデックスを文書検索
サーバ102に転送するためにネットワーク105を使
用するものとしたが、代わりにフロッピーディスク、光
磁気ディスク、追記型光ディスク等の可搬型媒体を使用
する構成をとることもできる。あるいは、文書登録サブ
システム101と文書検索サーバ102を1台のコンピ
ュータ上に実装し、データ転送を行わない構成をとるこ
ともできる。
文書登録処理の概略手順を示すPAD図である。本図に
示す処理手順は、図3に示す第一の実施例における処理
手順とほぼ同様であるが、図3におけるステップ305
の直後にステップ3001が追加されている点と、ステ
ップ308の代わりにステップ3002を実行する点が
異なる。
304で生成した解析済み文書データを入力として逆順
構造インデックス作成プログラム2901を実行する。
逆順構造インデックス作成プログラム2901は、まず
逆順構造インデックス格納領域2902から現時点での
逆順構造インデックスを読み出し、与えられた解析済み
文書データの持つ構造情報をこの逆順構造インデックス
に登録し、更新された逆順構造インデックスを再び逆順
構造インデックス格納領域2902に格納する。
タ格納領域217に格納されたすべての解析済み文書デ
ータ、構造インデックス格納領域218に格納された構
造インデックス、逆順構造インデックス格納領域290
2に格納された逆順構造インデックス、および文字列イ
ンデックス格納領域220に格納された文字列インデッ
クスを、ネットワーク105を介して文書検索サーバ1
02に転送する。
1の詳細、すなわち本実施例における逆順構造インデッ
クス作成プログラム2901の処理手順を示すPAD図
である。
01は、まずステップ3101において、既存の逆順構
造インデックスが逆順構造インデックス格納領域290
2中に存在しているかどうかを判定する。該領域中に逆
順構造インデックスが存在しない場合にはステップ31
02に進み、初期状態(空)の逆順構造インデックスを
生成する。既存の逆順構造インデックスを検出した場合
にはステップ3103に進み、該逆順構造インデックス
を読み込む。
象文書の解析済み文書データを読み込む。
析済み文書データの木構造を構成するすべてのノード
(要素および文字列データ)を対象として、ステップ3
106からステップ3109に示す処理を繰り返す。
タ中で現在着目しているノードについて、逆順構造イン
デックス中に、該ノードに対応するメタノード(メタ要
素またはメタ文字列データ)が存在するかどうかを判定
する。対応メタノードが存在しない場合ステップ310
7に進み、該ノードに対応するメタノードを生成して逆
順構造インデックスに登録し、さらに該登録したメタノ
ードに対して、該メタノードを逆順構造インデックス中
で一意に識別する番号である逆順文脈識別子を割り当て
る(ステップ3108)。
タ中で現在着目しているノードと、逆順構造インデック
ス中で該ノードに対応するメタノードを識別する逆順文
脈識別子との対応関係を、解析済み文書データに付加し
て該解析済み文書データを更新する。
るとステップ3110に進み、前記更新された解析済み
文書データを出力して解析済み文書データ格納領域21
7に格納する。次に、ステップ3111では、前記更新
された逆順構造インデックスを出力して逆順構造インデ
ックス格納領域2902に格納し、処理を終了する。
ス作成プログラム2901の処理手順は図9に示す構造
インデックス作成プログラム211の処理手順とほぼ対
応している。しかし、ステップ3105の繰り返しにお
いて解析済み文書の木構造を辿る順序が構造インデック
ス作成プログラム211の場合とは異なっており、その
結果構築される逆順構造インデックスの木構造も構造イ
ンデックスの木構造とは異なったものとなる。
析済み文書データの木構造を構成するすべてのノードを
対象とする繰り返しを行う際に、該木構造を辿り、個々
のノードを処理していく順序を図32を用いて説明す
る。図32では、楕円形で要素ノード、矩形で文字列ノ
ードを表現し、あるノードが複数の下位ノードを持つ場
合には、各下位ノードをその出現順に左から右に並べて
表現している。また、各ノードに表示された数字がその
処理順序を示している。
おいてノード群を処理していく順序は、木構造の根に位
置するノードから出発し、ある特定のノードとその下位
ノード群を処理する際には、まず該ノードの処理を行
い、次に該ノードの下位ノード群を、その出現順の逆順
に従って処理していく順序となる。
理、すなわち解析済み文書データ中で現在着目している
ノードについて、逆順構造インデックス中に、該ノード
に対応するメタノードが存在するかどうかを判定する処
理について、図33を用いて説明する。図33は、図の
左側に示す解析済み文書データの木構造を構成するノー
ド群と、右側に示す逆順構造インデックスの木構造を構
成するノード(メタノード)群との対応関係を示す図で
ある。
構造中におけるあるノードの逆順木構造アドレスと、逆
順構造インデックスの木構造中におけるあるメタノード
の逆順木構造アドレスとが等しい場合に、該ノードと該
メタノードとは対応するものと定義する。ここでいう逆
順木構造アドレスとは、木構造の根から出発して上位ノ
ードから下位ノードへと辿り、特定のノードに至るまで
の道筋を、該道筋上に存在する各ノードの種別(要素か
文字列データか、要素の場合、どの要素型に属するか)
と、それらのノードが種別の等しい兄弟ノード群中で後
ろから何番目に現れたかを示す番号との組み合わせによ
って表現するアドレスのことである(通常の木構造アド
レスと区別するため、逆順木構造アドレスでは前記番号
を負の整数として表記する)。
中のノード群のうち、ノード3301は上位ノードをも
たず、兄弟ノード中では最後の“論文”要素ノードであ
るから、その逆順木構造アドレスは“/論文[-1]”と表
記することができる。同様に、ノード3302はノード
3301の下位ノードであり、兄弟ノード中では最後の
“章”要素ノードであるから、その逆順木構造アドレス
は“/論文[-1]/章[-1]”と表記することができる。ま
た、ノード3303はノード3302の下位ノードであ
り、兄弟ノード中では後ろから2番目の“節”要素ノー
ドであるから、その逆順木構造アドレスは“/論文[-1]/
章[-1]/節[-2]”と表記することができる。また、ノー
ド3304はノード3303の下位ノードであり、兄弟
ノード中では最後の“段落”要素ノードであるから、そ
の逆順木構造アドレスは“/論文[-1]/章[-1]/節[-2]/段
落[-1]”と表記することができる。
スの木構造を構成する各メタノードについてその逆順木
構造アドレスを求めてみると、メタノード3305の逆
順木構造アドレスは“/論文[-1]”となり、ノード33
01の逆順木構造アドレスと等しくなる。同様に、メタ
ノード3306の逆順木構造アドレスは“/論文[-1]/章
[-1]”となってノード3302の逆順木構造アドレスと
等しく、メタノード3307の逆順木構造アドレスは
“/論文[-1]/章[-1]/節[-2]”となってノード3303
の逆順木構造アドレスと等しくなる。よって、前記ステ
ップ3106において、ノード3301はメタノード3
305、ノード3302はメタノード3306、ノード
3303はメタノード3307とそれぞれ対応するもの
と判定される。なお、図33の構造インデックス中には
ノード3304と等しい逆順木構造アドレスを持つメタ
ノードはないので、ノード3304と対応すメタノード
は逆順構造インデックス中に存在しないものと判定さ
れ、前記ステップ3107において新たなメタノードが
生成され、該メタノードが構造インデックスに登録され
ることになる。
ドに対応する新たなメタノードを登録する際には、該ノ
ードの上位ノードに対応するメタノードの持つ下位メタ
ノード群の先頭に、該ノードに対応する種別のメタノー
ドを追加する。図33のノード3304に対応するメタ
ノードを登録する場合には、ノード3304の上位ノー
ドであるノード3303に対応するメタノード3307
の下位に、要素型“段落”のメタノードが追加され、該
メタノードは兄弟メタノード群の先頭に置かれることに
なる。
ね合わせることにより逆順構造インデックスを生成して
いく過程について、図34を用いて説明する。図34に
おいて、3401、3403および3405は、それぞ
れ登録対象文書の解析済み文書データを表わしている。
これらの解析済み文書データの構造を既存の逆順構造イ
ンデックス上に順次重ね合わせることにより、逆順構造
インデックスが形成されていく。
401が入力されると、最初の段階では逆順構造インデ
ックスは初期状態(空)であるため、該解析済みデータ
と等価な木構造が生成されてそのまま逆順構造インデッ
クスに登録され、逆順構造インデックスは3402に示
す状態となる。新たに生成されたメタ要素には−E1か
ら−E5までの文脈識別子、新たに生成されたメタ文字
列データには−C1から−C3までの文脈識別子が割り
当てられる。
が入力されると、既存の逆順構造インデックス(340
2)と構造が重複する部分については何も行わず、34
02上に対応する部分がなかった部分構造(図中の斜線
部分)だけが新たに登録される。新たに生成されたメタ
要素には文脈識別子−E6および−E7、新たに生成さ
れたメタ文字列データには文脈識別子−C4が割り当て
られる。
が入力されると、既存の逆順構造インデックス(340
4)と構造が重複する部分については何も行わず、34
04上に対応する部分がなかった部分構造(図中の斜線
部分)だけが新たに登録される。新たに生成されたメタ
要素には文脈識別子−E8、−E9および−E10、新
たに生成されたメタ文字列データには文脈識別子−C5
および−C6が割り当てられる。このようにして、3個
の文書が登録された段階で、逆順構造インデックスは3
406に示す状態となる。
の詳細、すなわち本実施例における構造化全文データ生
成プログラム212の処理手順を示すPAD図である。
図35に示すとおり、本実施例における構造化全文デー
タ生成プログラム212の処理手順は、図13に示す前
記第一の実施例の場合の処理手順とほぼ同一である。た
だし、本実施例の場合、図13におけるステップ130
5の代わりにステップ3501を行う点が異なってい
る。
文書データから、現在着目している文字列データノード
に対応する文脈識別子および逆順文脈識別子を求め、該
文脈識別子および該逆順文脈識別子を構造化全文データ
格納領域219に出力する。
ータ生成プログラム212が出力する構造化全文データ
のファイル形式を示す。図36は、図5に示したSGM
L文書を入力として構造化全文データを生成した場合に
ついて例示している。図36に示すとおり、本実施例に
おける構造化全文データのデータファイルは、先頭に文
書識別子を記述し、その後ろに、文脈識別子、逆順文脈
識別子およびそれらに対応する内容文字列からなる三つ
組みを、文書中に存在する文字列データの数だけ繰り返
した構造をとる。
前記第一の実施例の場合と同じく、図15に示す処理手
順に従って作成される。図37に、本実施例における文
字列インデックスのデータ構造を示す。図37は、文字
列インデックス作成プログラム213を用いて図36に
示す構造化全文データを処理し、文字列インデックスに
該構造化全文データに含まれる部分文字列群の登録を終
えた段階において、該文字列インデックスのデータ構造
の一部(内容文字列“変換処理の一例”に関連する部
分)を図示したものである。
字列インデックスでは、個々の構造化文字位置情報中
に、前記第一の実施例の場合に保持する情報に加えて、
逆順文脈識別子をも保持する。ただし、図37では、前
記第一の実施例における図16と同様、前記内容文字列
の末尾“例”に対応する文字ノードおよび構造化文字位
置情報は省略している。また、前記内容文字列の直前に
位置する文字の文字位置を“X”として、相対的に文字
位置を表現している。
ステム101の説明である。
検索サーバ、すなわち図1の102について説明する。
バ102の構成を示す図である。図38に示すとおり、
本実施例における文書検索サーバ102は、前記第一の
実施例の場合の構成要素群に加えて、磁気ディスク装置
208中に、逆順構造インデックス格納領域2902を
保持する。
ステム101および検索クライアントとの間でデータを
転送するためにネットワーク105を使用する代わりに
フロッピーディスク、光磁気ディスク、追記型光ディス
ク等の可搬型媒体を使用する構成をとることもできる。
また、文書登録サブシステム101と文書検索サーバ1
02を1台のコンピュータ上に実装し、これらの間でデ
ータ転送を行わない構成をとることもできる。また、1
個以上の検索クライアントを文書検索サーバ102と同
一のコンピュータ上で実行し、これらの間でデータ転送
を行わない構成をとることもできる。
文書検索処理の概略手順を示すPAD図である。図39
に示すとおり、本実施例における文書検索処理の手順
は、図18に示す前記第一の実施例の場合とほぼ同一で
あるが、前記第一の実施例におけるステップ1805の
代わりにステップ3901を実行する点が異なってい
る。ステップ3901では、文書登録サブシステム10
1から、新規に登録された文書群の内容を反映して更新
された構造インデックス、逆順構造インデックスおよび
文字列インデックスを受信し、これらをそれぞれ構造イ
ンデックス格納領域218、逆順構造インデックス格納
領域2902および文字列インデックス格納領域220
に格納する。
6の詳細、すなわち本実施例における検索条件解析プロ
グラム1701の処理手順を示すPAD図である。
1701は、文書検索リクエスト中で指定されている検
索条件を入力として起動されると、まずステップ400
1において、該検索条件中に含まれている構造条件につ
いて判定する。ここで、該検索条件中に正順の(すなわ
ち前記第一の実施例におけるものと同様な)構造条件が
含まれている場合には、ステップ1902およびステッ
プ1903からなる処理に分岐する。ここで、ステップ
1902および1903での処理は、前記第一の実施例
の場合と同一である。該検索条件中に逆順の構造条件が
含まれている場合には、ステップ4002およびステッ
プ4003からなる処理に分岐する。該検索条件中に構
造条件が含まれていなかった場合には何もせずにステッ
プ1904に進む。
クス格納領域2902から逆順構造インデックスを読み
込む。次に、ステップ4003では、該逆順構造インデ
ックスを参照して、前記構造条件を満たす構造内に含ま
れるすべての文字列データの逆順文脈識別子の集合を求
める。以下、該集合を逆順文脈識別子集合と呼ぶ。
ステップ1905およびステップ1906における処理
は、前記第一の実施例の場合と同一であり、これらの処
理を終了した後、ステップ4004に進む。
で求めた文脈識別子集合、前記ステップ4003で求め
た逆順文脈識別子集合、前記検索条件中に含まれていた
指定文字列、および前記ステップ1905またはステッ
プ1096で生成した部分文字列リストから構成される
展開済み部分文字列データを生成して処理を終了する。
解析プログラム1701の処理過程における、展開済み
解析条件データの生成例を示す図である。
クエスト中で指定された検索条件の一例である。検索条
件4101は、構造条件指定“章/段落[-1]”と、文字
列条件指定“ガード”とから構成されている。前記検索
条件は、“章”要素の直接の下位にある最後の“段落”
要素内に、文字列“ガード”が出現するケースを検索す
べきことを指定している。
構造条件は、構造を後ろ側からに辿って条件を指定する
逆順の構造条件であるから、逆順構造インデックスの内
容が4102に示すとおりであったとすると、前記ステ
ップ4003においてこの構造インデックスを参照する
ことにより、前記構造条件指定を満たす“段落”要素の
逆順文脈識別子は−E3および−E12であることがわ
かる。従って、これらの段落の下位にある文字列デー
タ、すなわち逆順文脈識別子が−C1または−C7であ
る文字列データ内に、文字列“ガード”が出現するケー
スを検索すればよいことがわかる。ただし、検索に用い
る文字列インデックスには、長さ2の部分文字列につい
てのみその出現位置が登録されているので、3文字から
なる前記指定文字列を直接検索することはできない。そ
こで、ステップ1905において、前記指定文字列を分
解して長さ2の部分文字列からなるリストを生成する。
前記のとおり指定文字列が“ガード”だった場合、抽出
される部分文字列は“ガー”および“ード”となる。
て、4103に示す展開済み検索条件データ、すなわち
文脈識別子集合が空集合、逆順文脈識別子集合が{−C
1,−C7}、指定文字列が“ガード”、部分文字列リ
ストが{“ガー”,“ード”}であるデータが生成され
る。
7の詳細、すなわち本実施例における文字列インデック
ス検索プログラム1702の処理手順を示すPAD図で
ある。
2は、前記検索条件解析プログラム1701が生成した
展開済み検索条件データを入力として起動される。図4
2に示すとおり、本プログラムの処理手順は図21に示
す第一の実施例の場合の処理手順とほぼ同様であるが、
前記図21におけるステップ2104、ステップ210
5およびステップ2107に代わって、それぞれステッ
プ4201、ステップ4202およびステップ4203
が実行される。
ス中で前記展開済み検索条件データ中における指定文字
列を検索し、該文字列に対応している構造化文字位置の
集合を求め、次に該集合の中から、前記展開済み検索条
件データ中の文脈識別子集合に含まれているいずれかの
文脈識別子、または前記展開済み検索条件データ中の逆
順文脈識別子集合に含まれているいずれかの逆順文脈識
別子を持つ構造化文字位置情報群のみを抽出し、該抽出
した構造化文字位置情報群からなるヒット位置集合を生
成する。
ス中で前記指定文字列を検索し、該文字列の末尾に対応
する文字ノードより前方に存在するすべての構造化文字
位置情報の集合を求め、次に該集合の中から、前記展開
済み検索条件データ中の文脈識別子集合に含まれている
いずれかの文脈識別子、または前記展開済み検索条件デ
ータ中の逆順文脈識別子集合に含まれているいずれかの
逆順文脈識別子を持つ構造化文字位置情報群のみを抽出
し、該抽出した構造化文字位置情報群からなるヒット位
置集合を生成する。
条件データ中における部分文字列リスト中に含まれてい
る部分文字列群のうち、ステップ2106の繰り返し中
で現在着目している部分文字列を文字列インデックス中
で検索し、該文字列に対応している構造化文字位置情報
の集合を求め、次に該集合の中から、前記展開済み検索
条件データ中の文脈識別子集合に含まれているいずれか
の文脈識別子、または前記展開済み検索条件データ中の
逆順文脈識別子集合に含まれているいずれかの逆順文脈
識別子を持つ構造化文字位置情報群のみを抽出し、該抽
出した構造化文字位置情報群を前記部分文字列に対応付
けて記憶する。
ち文字列インデックス検索プログラム1702の処理過
程における連接判定処理は、図22に示す前記第一の実
施例の場合と同様となる。ただし、検索条件中の構造条
件が逆順の構造条件だった場合には、連接判定の際、文
脈識別子の一致ではなく逆順文脈識別子の一致を判定す
ることになる。
成によれば、前記第一の実施例において検索が可能とな
る各種構造条件に加えて、「論文中で最後の章の中で、
ある特定の文字列を検索する」、あるいは「後ろから2
番目の参考文献の中で、ある特定の文字列を検索する」
のように、文書の論理構造を逆順に(後ろから)辿った
構造条件を指定した検索も可能となる。
る。
第三の実施例について、図面を用いて説明する。
グラムの処理手順のいずれについても前記第一の実施例
と同一であるが、文書木構造中のノードと構造インデッ
クス中のメタノードとの対応のさせ方が異なり、その結
果、同一の文書群を入力とした場合でも構造インデック
スの構造および文脈インデックスの割り当てが前記第一
の実施例とは異なってくる。
のノードと構造インデックス中のメタノードとの対応関
係を、図43を用いて説明する。図43は、図の左側に
示す解析済み文書データの木構造を構成するノード群
と、右側に示す構造インデックスの木構造を構成するノ
ード(メタノード)群との対応関係を示している。
造中におけるあるノードの木構造アドレスと、構造イン
デックスの木構造中におけるあるメタノードの木構造ア
ドレスとが等しい場合に、該ノードと該メタノードとは
対応するものと定義する。ただし、本実施例では、前記
第一の実施例とは異なり、共通の上位ノードを持つ同種
の兄弟ノード間での出現順位を考える際に、先頭のノー
ドと2番目のノードとの区別は行うが、2番目のノード
とそれ以降に現れたノードとの区別は行わない。すなわ
ち、木構造アドレス中で出現順位を表わす番号は常に
[1]または[2]のいずれかをとり、[3]以上の値をとるこ
とはない。
中のノード群のうち、ノード4301は上位ノードをも
たず、兄弟ノード中では最初の“論文”要素ノードであ
るから、その木構造アドレスは“/論文[1]”と表記する
ことができる。同様に、ノード4302はノード430
1の下位ノードであり、兄弟ノード中では最初の“章”
要素ノードであるから、その木構造アドレスは“/論文
[1]/章[1]”となる。これに対して、ノード4303は
ノード4302の下位ノードであり、兄弟ノード中では
4番目の“節”要素ノードであるが、前記規則から、そ
の木構造アドレスは“/論文[1]/章[1]/節[2]”となる。
また、ノード4304はノード4303の下位ノードで
あり、兄弟ノード中では2番目の“段落”要素ノードで
あるから、その木構造アドレスは“/論文[1]/章[1]/節
[2]/段落[2]”となる。
スの木構造を構成する各メタノードについてその木構造
アドレスを求めてみると、メタノード4305の木構造
アドレスは“/論文[1]”となり、ノード4301の木構
造アドレスと等しくなる。同様に、メタノード4306
の木構造アドレスは“/論文[1]/章[1]”となってノード
4302の木構造アドレスと等しく、メタノード430
7の木構造アドレスは“/論文[1]/章[1]/節[2]”となっ
てノード4303の木構造アドレスと等しくなる。よっ
て、ノード4301はメタノード4305、ノード43
02はメタノード4306、ノード4303はメタノー
ド4307とそれぞれ対応するものと判定される。な
お、図43の構造インデックス中にはノード4304と
等しい木構造アドレスを持つメタノードはないので、ノ
ード4304と対応するメタノードは構造インデックス
中に存在しないものとみなされる。
実施例において形成される構造インデックスでは、同一
のメタノードの下位に、同種のメタノードが3個以上付
加されることはなく、文書木構造中で同種のノードが3
個以上連続している場合、2番目以降のノードには同一
の文脈識別子が割り当てられる。よって、本実施例によ
る文書検索方法では、構造条件中で任意の出現順位を指
定することはできず、同種要素中で先頭の要素か、2番
目以降の要素かを区別できるだけとなる。その代わり、
本実施例では構造インデックスのデータ構造が前記第一
の実施例の場合と比べて簡略になり、構造インデックス
格納領域218として必要となる容量を削減することが
できる。
ドとの対応付けを採用した場合においても、前記第二の
実施例同様に正順・逆順二つの構造インデックスを用意
することにより、出現順を後ろから辿った構造指定をも
可能とすることができる。
る。
第四の実施例について、図面を用いて説明する。
システム101の構成を示す図である。
は、そのハードウェア構成および磁気ディスク208中
の格納領域の構成に関しては、図2に示す第一の実施例
の場合と変わらない。ただし、主メモリ207中には、
第一の実施例において保持するプログラム群に加えて、
文書構造正規化プログラム4401を保持する。
ム214は、文書構造解析プログラム210、文書構造
正規化プログラム4401、構造インデックス作成プロ
グラム211、構造化全文データ生成プログラム212
および文字列インデックス作成プログラム213の起動
および実行制御を行うとともに、これらのプログラムに
よって生成された解析済み文書データ、構造インデック
スおよび文字列インデックスをネットワーク105を介
して文書検索サーバ102に転送する。
05に格納された登録対象文書を入力として読み込む構
成としたが、光磁気ディスク、追記型光ディスク等、他
種の可搬型媒体から読み込む構成をとることもでき、ネ
ットワーク105を介して転送されてくる文書を入力と
する構成をとることもできる。さらに、本実施例では生
成された解析済み文書データ、構造インデックスおよび
文字列インデックスを文書検索サーバ102に転送する
ためにネットワーク105を使用するものとしたが、代
わりにフロッピーディスク、光磁気ディスク、追記型光
ディスク等の可搬型媒体を使用する構成をとることもで
きる。あるいは、文書登録サブシステム101と文書検
索サーバ102を1台のコンピュータ上に実装し、デー
タ転送を行わない構成をとることもできる。
文書登録処理の概略手順を示すPAD図である。本図に
示す処理手順は、図3に示す第一の実施例における処理
手順とほぼ同様であるが、ステップ304の直後にステ
ップ4501が追加されている点が異なる。
304で生成した解析済み文書データを入力として文書
構造正規化プログラム4401を実行する。文書構造正
規化プログラム4401は、解析済み文書データの中か
ら、検索対象としては不適切な構造および内容文字列を
抽出してこれらを削除する。
01の処理手順を示す。本プログラムは、起動されると
まずステップ4601において、正規化パラメタの指定
の有無を確認する。正規化パラメタが指定されている場
合にはステップ4602からステップ4608までに示
す処理を実行し、正規化パラメタが指定されていない場
合には何もせずに処理を終了する。
素および削除対象要素の要素型名を指定するパラメタの
ことである。ここで言う接続対象要素とは、例えば文章
の一部を強調表示するために用いられる非構造的な要素
であって、検索時にはその要素の境界をまたいで文字列
を検出する必要があるもののことである。また、削除対
象要素とは、その内部に本来の文書内容とは異なる種類
のデータを保持しており、検索時にはその内容を無視し
て文字列の検出を行うべきもののことである。削除対象
要素の例としては、例えばテキスト中に参照先の文献へ
のリンクデータを埋め込むために用いられる要素などが
ある。
規化パラメタを読み込む。ここで、正規化パラメタは、
ユーザがキーボード202から入力するか、または予め
特定のファイルに書き込んでおくなどして指定する。接
続対象要素および削除対象要素の要素型名は、それぞれ
複数個指定してもよく、あるいは省略してもよい。次
に、ステップ4603では、解析済み文書データを解析
済み文書データ格納領域217から読み込む。
書データの木構造を順次たどりつつ、すべての要素ノー
ドについて、ステップ4605からステップ4607ま
でに示す処理を繰り返す。そして、すべての要素ノード
について該処理を終了した後、ステップ4608に進
む。
要素ノードについて、正規化パラメタが何を指定してい
るかを判定する。該着目要素の要素型名が接続対象とし
て指定されている場合にはステップ4606に進み、該
要素ノードを削除するとともに、該要素の内部に含まれ
るすべての文字列データを、該要素の前後にある文字列
データに接続する。また、該着目要素の要素型名が削除
対象として指定されている場合にはステップ4607に
進み、該要素ノードおよびその下位にあるすべてのノー
ドを削除する。
を行った後、ステップ4608に進み、正規化対象要素
群を処理して更新された解析済み文書データを、解析済
み文書データ格納領域217に再び格納する。
図である。
タの一例を示しており、ここでは接続対象要素の要素型
名として“bold”と“italic”の二つ、削除対象要素の
要素型名として“link”と“index”の二つが指定され
ている。この場合、解析済み文書データ中に4702に
示すような構造を持つ部分があると、要素“bold”に対
して前記ステップ4606に示す接続処理が行われ、そ
の結果は4703に示す構造となる。また、解析済み文
書データ中に4704に示すような構造を持つ部分があ
ると、要素“link”に対して前記ステップ4607に示
す削除処理が行われ、その結果は4705に示す構造と
なる。
済み文書データに対して前記正規化処理を行った後に構
造インデックスへの登録以下の処理が行われるので、登
録対象文書中に含まれていた非構造的な要素に妨げられ
ることなくテキストの検索を行うことができる。
した場合においても、前記第二の実施例同様に正順・逆
順二つの構造インデックスを用意することにより、出現
順を後ろから辿った構造指定も可能とすることができ
る。
る。
実施例について、図面を用いて説明する。
システム101の構成を示す図である。
においては、図2に示す第一の実施例の文書登録サブシ
ステム101と変わらない。ただし、主メモリ207に
格納される文書登録プログラムの1つである、構造イン
デクス作成プログラム211を、メタ構造インデクス作
成プログラム4801に変更している。さらに、磁気デ
ィスク装置208には、構造インデクス格納領域218
の代わりにメタ構造インデクス格納領域4802を作成
し、種別定義テーブル格納領域4803を追加する。
1は、文書構造解析プログラム210の出力結果である
解析済み文書データ217を入力として、様々な構造を
持つ登録文書の全ての文書構造を一括管理するメタ構造
インデクスを出力する。
本図は、"論文"という種別の最上位構造を持つ構造イン
デクス1(4901)と"報告書"という種別の最上位構
造を持つ構造インデクス2(4902)をルートメタノ
ード4903によって1つの木構造にまとめたものであ
る。この木構造をメタ構造インデクス4904と呼ぶ。
種別が一致する登録文書の構造との重ね合わせにより作
成していくため、最上位構造の種別が同じ登録文書群毎
に作成することになる。メタ構造インデクスとは、これ
らの異なる最上位構造を持つ全ての構造インデクスの最
上位構造を、1つのルートメタノードに接続すること
で、1つのインデクスにまとめたものである。
クスの最上位構造をまとめる仮の上位構造である。つま
り、ルートメタノードから、複数の構造インデクスを辿
るために存在しており、ルートメタノードに対応する構
造が登録文書に存在するわけではない。
素メタノードと同じく、下位要素である複数の構造イン
デクスの最上位構造の数および各構造インデクスへのリ
ンクの情報を持つ。
が、メタ構造インデクス格納領域4802である。
説明する。
に付けられた要素型名とその意味を表わす種別との対応
を定義したテーブルである。ユーザがキーボード202
からテキストエディタを利用して作成するなどの方法
で、あらかじめ磁気ディスク装置208に格納してお
く。
を示す図である。種別とは、例えば"論文"、"PAPER"の
ように、名称が違っていても同じ意味を持つ要素型名を
代表する名称である。種別定義テーブルは、複数の要素
型名に付けられた種別を管理しており、本テーブルにお
いて同じ種別が定義されている要素型名を持つ構造は、
同じ種別であると判断する。
は、種別5001と要素型名数5002と要素型名50
03の3つの情報を格納する。種別5001が、複数の
要素型名に共通に付けられる種別である。要素型名数5
002は、各種別に対応する要素型名の数である。さら
に、要素型名5003には、要素型名数に記載された数
の要素型名を列挙する。
名から種別の情報を得ることができる。また、逆に、種
別から要素型名を得ることができる。さらに、本テーブ
ルに記載されない要素型名は、その要素型名をそのまま
種別とする。
03に記載される種別と要素型名は、1対多の対応を満
たす。つまり、"書誌"という要素型名は一意に1つの種
別を持つ。これは、種別定義テーブルをメタ構造インデ
クスごとに作成しており、メタ構造インデクスの各メタ
ノードは、種別および出現位置により区別されるためで
ある。要素型名によって一意に種別が決まらなければ、
構造インデクスの作成において、要素型名から得られる
複数の種別のうちいずれを用いるかが決まらないためで
ある。
の概略手順を示すPAD図である。本図は、図3に示す
第一の実施例の登録処理の概略手順とほぼ同じである
が、図3におけるステップ305の代わりにステップ5
101を実行する点と、ステップ308の代わりにステ
ップ5102を実行する点が異なる。
ス作成プログラム4801を呼び出す。メタ構造インデ
クス作成プログラム4801では、登録済みのメタ構造
インデクスをメタ構造インデクス格納領域4802から
読み出し、ステップ304で得られた解析済み文書デー
タの持つ構造情報を、このメタ構造インデクスに登録
し、更新されたメタ構造インデクスをメタ構造インデク
ス格納領域4802に格納する。
析済み文書データ217および更新されたメタ構造イン
デクス4804、文字列インデクス220を文書検索サ
ーバ102に転送する。
ンデクスを作成する処理の詳細内容を示すPAD図であ
る。本処理は、図9に示した第一の実施例における構造
インデクス作成プログラムの処理とほぼ同じ内容である
が、登録先をメタ構造インデクスに変更していることか
ら、以下の点で図9と異なる。
タ読み込み処理を実行する。
5201を実行する。ステップ901は、構造インデク
スそのものの有無を判定しているが、ステップ5201
では、構造インデクスは1つのメタ構造インデクスの一
部であり、最上位構造の種別毎に作成することから、メ
タ構造インデクス中に、登録文書の最上位構造と一致す
る構造インデクスが存在するか否かをチェックする処理
に変更する。
実行するのは、本処理において、登録文書の最上位構造
の情報が必要なためである。ここで、最上位構造の種別
が一致する構造インデクスが存在しない場合は、新しく
初期構造インデクスを生成するステップ902の処理を
実行し、存在する場合は、該構造インデクスを読み込む
ステップ903の処理を実行する。また、本ステップに
おいて、種別の比較をする前に、種別定義テーブル48
03を参照し、登録文書の最上位構造の要素型名を種別
に変換してから比較を行う。
プ5202を実行する。ステップ5202では、種別定
義テーブル4803を参照して、解析済み文書データの
識別子名を種別に変換してから、図11を用いて前述し
たステップ906の処理内容と同じ手順で、構造インデ
クス中の対応するメタノードの有無のチェックを行う。
プ5203を実行する。ステップ5203では、文脈識
別子を割り当てる際に、メタ構造インデクス全体で一意
にメタノードを識別できる文脈識別子を与える。したが
って、構造化全文データ作成プログラム212におい
て、各構造のテキスト列に与えられる文脈識別子は、メ
タ構造インデクス中のメタノードを一意に決定するもの
である。ステップ908の処理に加えて、構造インデク
スの識別情報を文脈識別子に加えるなどの方法により、
実現可能である。
理の後に、ステップ5204を実行する。
構造インデクスを新規に作成した場合に、メタ構造イン
デクスのルートメタノードに新規に作成した構造インデ
クスの最上位のメタノードを接続し、メタ構造インデク
スに新規に作成した構造インデクスを組み込む処理を行
う。
プ5205を実行する。ステップ5205では、作成し
たメタ構造インデクスをメタ構造インデクス格納領域4
802に格納する。
前述した内容と同じである。
1で作成するメタ構造インデクスの例である。図53
は、最上位構造の種別が一致する構造インデクスが存在
する場合の例を示している。また、図54は、最上位構
造の種別が一致する構造インデクスが存在しない場合の
例を示している。
01に存在する構造インデクス5302と登録文書の構
造解析結果の木構造5303との比較を行う。この例で
は登録文書の最上位構造である"文書"と一致する種別の
最上位構造を持つ構造インデクス5302が存在するた
め、この構造インデクス5302に対して、登録文書の
木構造5303の重ね合わせを行う。この場合、"日付"
のノード5304が構造インデクス5302に存在しな
いため、構造インデクス5302に、"日付"のノードを
追加して、更新された構造インデクス5305を作成す
る。構造インデクスの更新に伴い、メタ構造インデクス
5301も更新される(5306)。
01に存在する構造インデクス5402と登録文書の構
造解析結果の木構造5403との比較を行う。この例で
はメタ構造インデクス中の構造インデクスの最上位構造
は、"論文"(5404)しかなく、登録文書の最上位構
造である"報告書"(5405)と一致する最上位構造を
持つ構造インデクスは存在しない。このため、登録文書
の木構造と同じ構造を持つ、構造インデクス5406を
新規に作成する。さらに、作成した構造インデクス54
06を、ルートメタノード5407に接続することで、
メタ構造インデクスに構造インデクス5406を追加す
る。構造インデクスの追加に伴い、メタ構造インデクス
5401も更新される(5408)。
インデクスが存在する場合は、この構造インデクスに対
する重ね合わせを行い、存在しない場合は、新たに構造
インデクスを作成した上で、ルートメタノードに接続す
ることで、メタ構造インデクスを更新する。
が、第一の実施例の文書登録サブシステムと異なる点は
以上であり、その他の構成および処理内容は全て同じで
ある。
検索サーバ、すなわち図1の102について説明する。
バ102の構成を示す図である。
においては、図17に示す第一の実施例の文書検索サー
バ102の構成と変わらない。
検索処理プログラムのうち検索条件解析プログラム17
01をメタ構造インデクス対応検索条件解析プログラム
5501に変更し、さらに構造インデクス格納領域21
8の代わりにメタ構造インデクス格納領域4802を作
成し、磁気ディスク装置208に種別定義テーブル格納
領域4803を追加する点が異なる。
グラム5501は、検索クライアント103および10
4から受信した検索リクエスト中に含まれる検索条件式
を解析し、文字列インデクス検索プログラム1702に
よって直接検索可能な条件指定に翻訳する。ここで、検
索条件解析プログラム1701が、構造インデクスを利
用して、検索条件式を解析するのと違い、メタ構造イン
デクス対応検索条件解析プログラム5501では、メタ
構造インデクスおよび種別定義テーブルを利用して検索
条件式を解析する。
2には、本実施例において前述した、文書登録サブシス
テム101で作成したメタ構造インデクスを格納する。
種別定義テーブル4803は、ユーザによって文書登録
サブシステム101に登録された種別定義テーブルと同
じ内容である。
処理の概略手順を示すPAD図である。本図は、図18
に示す第一の実施例の検索サーバの処理の概略手順とほ
ぼ同じである。ただし、図18におけるステップ180
5の代わりにステップ5601を実行する点と、ステッ
プ1806の代わりにステップ5602を実行する点が
異なる。
テム101から、メタ構造インデクスおよび文字列イン
デクスを受信し、これらをそれぞれメタ構造インデクス
格納領域4802および文字列インデクス格納領域22
0に格納する。これらのメタ構造インデクスおよび文字
列インデクスは、ステップ1804で追加登録した、新
規に登録された文書群の内容を反映して更新したもので
ある。
ス対応検索条件解析プログラム5501を実行し、文書
検索リクエスト中で指定されている検索条件を解析し、
該検索条件を、文字列インデックス検索プログラム17
02によって直接処理可能な条件指定(以下、これを展
開済み検索条件データと呼ぶ)に変換する。
において、図18を用いて前述した内容と同じである。
2の詳細、すなわち本実施例におけるメタ構造インデク
ス対応検索条件解析プログラム5501の処理手順を示
すPAD図である。本図は、図19に示す第一の実施例
の検索条件解析プログラム1701の処理手順を示すP
AD図とほぼ同じである。図19におけるステップ19
02の代わりにステップ5701を実行する点と、ステ
ップ1903の代わりにステップ5702を実行する点
が異なる。
クス格納領域4802からメタ構造インデックスを読み
込む。
ンデックスを参照して、前記構造条件を満たす構造内に
含まれるすべての文字列データの文脈識別子集合を求め
る。ここで検索条件で指定された構造条件が、構造の種
別により指定される場合は、そのまま、メタ構造インデ
クスを辿ることで、構造条件を満たす構造内に含まれる
文字列データの文脈識別子を得ることができる。要素型
名で指定される場合は、種別定義テーブル4803を参
照して種別に変換してから、メタ構造インデクスを辿っ
て、構造条件を満たす構造内に含まれる文字列データの
文脈識別子を得る。
書の最上位構造を接続したルートメタノードであるた
め、対応する構造条件は存在しない。
て、図19を用いて前述した内容と同じである。
件解析プログラム5501の処理過程における、展開済
み解析条件データの生成例を示す図である。
クエスト中で指定された検索条件の一例である。検索条
件5801は、構造条件指定“論文/書誌/タイトル”
と、文字列条件指定“ガード”とから構成されている。
前記検索条件は、“論文”要素の直接の下位にある“書
誌”要素の直接の下位にある“タイトル”要素内に、文
字列“ガード”が出現するケースを検索すべきことを指
定している。
について説明する。要素型名を指定した場合は、種別定
義テーブル4803を参照して、種別に変換した後に以
下の処理を行なう。
して指定するために、種別の場合は構造条件の前に"Typ
e:"などの識別情報を付加する。このため、検索クライ
アント103、104において、第一の実施例で図27
を用いて説明したステップ2702およびステップ27
03で、ユーザ指示および文書検索リクエストに上記の
識別情報を追加する。ただし、本設定を行なっても、メ
タ構造インデクスには種別の情報しか持たないため、要
素型名による構造条件でメタ構造インデクスから構造条
件を満たす構造内に含まれる文字列データの文脈識別子
が得られるわけではない。
802に示すとおりであったとすると、前記ステップ5
702において、この構造インデックスを参照すること
により、前記構造条件指定を満たす“タイトル”要素の
文脈識別子はE3であることがわかる。従って、この段
落の下位にある文字列データ、すなわち文脈識別子がC
1である文字列データ内に、文字列“ガード”が出現す
るケースを検索すればよいことがわかる。ただし、検索
に用いる文字列インデックスには、長さ2の部分文字列
についてのみ、その出現位置が登録されているので、3
文字からなる前記指定文字列を直接検索することはでき
ない。そこで、ステップ1905において、前記指定文
字列を分解して長さ2の部分文字列からなるリストを生
成する。前記のとおり指定文字列が“ガード”だった場
合、抽出される部分文字列は“ガー”および“ード”と
なる。
て、5803に示す展開済み検索条件データ、すなわち
文脈識別子集合が{C1}、指定文字列が“ガード”、
部分文字列リストが{“ガー”,“ード”}であるデー
タが生成される。
成によると、複数の構造を持つ文書の検索を一括して行
なうことができる。また、検索条件において、種別およ
び要素型名を指定した構造条件が可能となる。
説明である。
第六の実施例を図面を利用して説明する。
る点は、文書登録の処理では、種別定義テーブルを利用
せず、要素型名をそのまま構造の種別としてメタ構造イ
ンデクスを作成し、検索処理の際に、種別を用いた構造
条件を含む構造指定検索条件を、要素型名を指定した構
造条件に変換した上で、検索処理を実施する点である。
これにより、種別による構造条件と要素型名による構造
条件のいずれも指定可能である。
01のシステム構成は、図48に示す第五の実施例の文
書登録サブシステム101のシステム構成と同じであ
る。
タ構造インデクス作成プログラム4801のうち、図5
2を用いて説明した、ステップ5201とステップ52
02の処理内容を一部変更する。すなわち、ステップ5
201とステップ5202において、種別定義テーブル
4803を参照して要素型名から種別への変換を行う処
理は実行せず、要素型名をそのまま種別とみなして、構
造インデクスへの登録処理を行う。ただし、種別定義テ
ーブル4803を作成し、検索サーバへ転送する処理は
変わらない。
ブシステム101の、第五の実施例における文書登録サ
ブシステムからの変更点である。その他の構成、処理内
容は全て同じである。
システム構成も図55と同じである。
タ構造インデクス作成プログラム5501のうち、図5
7を用いて説明したステップ5702の処理が一部変更
される。
条件で指定された構造条件が、構造の種別により指定さ
れていれば、種別定義テーブル4803を参照して、該
種別に対応する全ての要素型名を取得し、得られた要素
型名のORにより作成した構造条件に変更する。メタ構
造インデクスを辿ることで、作成した構造条件を満たす
構造内に含まれる文字列データの文脈識別子を得ること
ができる。要素型名で指定された場合は、そのまま、メ
タ構造インデクスを辿って、構造条件を満たす構造内に
含まれる文字列データの文脈識別子を得る。
おいて、種別による構造条件が指定された場合に要素型
名に変更して生成する構造条件を示す。本図に示すよう
に、構造条件を構成する種別ごとに、要素型名を取得
し、構造条件の各階層を1つあるいは複数の要素型名の
論理和(以下OR)で記述する構造条件を生成する。複
数の要素型名のORは、構造条件に「{種別または要素
型名 , 種別または要素型名 ,… }」のように"{ }"内
にで複数の種別または要素型名を列挙するなどの方法に
より指定する。
は、種別名の前に"Type:"などの識別情報を記載するこ
とで、その名称を種別として、要素型名に変更する。何
も指定せずに検索条件を記述する場合は、要素型名であ
ると判断し、そのまま、構造条件を利用して、構造イン
デクスから適合する構造の文脈識別子を取得する。ある
いは、同じ名称の要素型名が存在しない種別であれば、
曖昧性がないため、"Type:"などの識別指定を省略して
もよい。
いう構造条件(5901)を、構造条件の変換処理(5
902)により、種別定義テーブル4803を参照し
て、要素型名を用いた構造条件(5903)に変換す
る。
は、第五の実施例で図58を用いて説明した通りであ
る。ただし、本実施例では、要素型名を指定した構造条
件は、要素型名が一致する構造内の文字列データの文脈
識別子が取得でき、種別を指定した構造条件は、種別が
一致する構造内の文字列データの文脈識別子が取得でき
る。
件に種別による構造条件と要素型名による構造条件を組
み込むことが可能となる。
方法と比較したメリットは、構造インデクスが、要素型
名毎にメタノードが作成されるため、種別の変更が任意
に可能であるということである。例えば、クライアント
毎に種別定義テーブルを作成して検索サーバに転送した
後に、種別定義テーブルを指定した検索条件を設定する
などの処理方法も可能であり、柔軟な種別の設定が実現
できる。第五の実施例では、種別定義テーブルの変更に
対応するためには、変更時点までに作成した、メタ構造
インデクス、文字列インデクスの再作成が必要となる。
は、第五の実施例に比べて、生成されるメタ構造インデ
クスが大きくなることがある。メタ構造インデクスにお
いて、種別ごとにメタノードを作成する方が、要素型名
ごとに作成する場合に比べて、メタノード数を削減でき
るためである。
説明である。
て、異なる文書構造を持つ文書群を、メタ構造インデク
スを使わずに1つの構造インデクスを利用して構造指定
検索するためのシステム構成および処理手順を説明す
る。
システム101のシステム構成である。本システム構成
は、そのハードウエア構成においては、図2に示す第一
の実施例の文書登録サブシステム101と変わらない。
ただし、主メモリ207に格納する文書登録プログラム
にルートノード付加プログラム6001を追加する。
理内容を図61を用いて説明する。ルートノード付加プ
ログラム6001は、文書構造解析プログラム210の
出力結果である解析済み文書データ6101を解析済み
文書データ格納領域217から読み出し、該解析済み文
書データの最上位ノードの上位ノードとして、固定の種
別を持つノードを付加した、ルートノード付加解析済み
文書データ6102を作成し、解析済み文書データ格納
領域217に格納する。これにより、読み出した解析済
み文書データ6101をルートノード付加解析済み文書
データ6102に置き換える。
おいて、上記の処理以外は、第一の実施例の文書登録サ
ブシステムの構成および処理と全て同じである。
バ102のシステム構成である。本システム構成は、そ
のハードウエア構成においては、図17に示す第一の実
施例の文書検索サーバ102と変わらない。ただし、主
メモリ207に格納する文書登録プログラムに検索条件
修正プログラム6201を追加する。
条件が最上位構造から指定された場合は、文書登録時に
登録文書の解析済み文書データの最上位構造に追加した
rootを構造条件に追加する処理が加わる。その他の場合
は、検索条件を変更することはない。
1の処理内容を示すPAD図である。
構造条件の有無をチェックする。構造条件が存在するな
ら、ステップ6302に進み、存在しないなら、検索条
件を何も変更せず、検索条件修正プログラム6201を
終了する。
造から指定されているか否かをチェックする。最上位構
造から指定されている場合は、ステップ6303に進
む。最上位構造から指定されていない場合は、検索条件
を何も変更せず、検索条件修正プログラム6201を終
了する。
最上位構造のrootを指定した検索条件とする。
出力する。1702以降の処理内容は、図17を用いて
前述した第一の実施例の検索サーバ102の処理内容と
同じである。
図に示すように構造条件の構造条件に、最上位構造が指
定される場合は、rootという構造を追加した構造条件を
生成する。
以外は、全て第一の実施例の検索サーバ102の構成お
よび処理内容と同じである。
ント103、104の処理内容について説明する。
3、104のシステム構成は、図25の第一の実施例の
検索クライアントのシステム構成と同じである。
の処理手順を示す図28のPAD図のステップ2815
において、解析済み文書データを書式化して表示する際
に、文書登録サブシステム101において、追加された
ルートノードは削除してから書式化して表示する。つま
り、登録文書を構造解析した結果である解析済み文書デ
ータに変換してから表示するように変更する。これによ
り、ユーザからは、解析済み文書データに追加されたル
ートノードの存在は見えないことになる。
例の処理からの変更点である。その他の構成および処理
内容は、第一の実施例の構成および処理内容と同じであ
る。
登録文書と異なる点を除いて、構造インデクスを利用し
てメタ構造インデクスを利用した場合と同様に様々な文
書構造を持つ文書群に対する一括した構造指定検索が可
能となる。
て同じ種別を持つ構造をまとめて効率的に検索するため
の別名構造インデクスの作成方法およびこれを用いた検
索処理について説明する。
構成および別名構造インデクス6501とメタ構造イン
デクス6502との関係および、別名構造インデクスを
作成するために用いる別名定義テーブル6503の内容
を示した図である。
デクスのように文書全体の構造を辿るためのインデクス
を作成するわけではなく、文書構造の部分構造を構造イ
ンデクスから切り出し、切り出した部分構造を重ね合わ
せて作成する。
誌に関する情報を切り出し、メタ構造インデクスを構成
するメタノードの文脈識別子を管理することで、検索条
件として個々の構造を指定しなくても、1つの別名を指
定した構造条件を設定することで、その別名に対応する
全てのメタ構造インデクス中のメタノードの文脈識別子
を得ることができる。
したように、別名6504と構造定義数6505と構造
定義6506が格納される。
照する際の名称が格納される。構造定義数6505に
は、別名登録された構造定義数を記述する、構造定義6
506には、別名6504で代表される検索条件中の構
造条件を構造定義数分列挙する。
義によって指定される構造インデクス中のメタノードの
文脈識別子をあらかじめ取得しておき、構造条件から検
索条件を満たす構造に含まれる文字列データの文脈識別
子を高速に取得するためのインデクスである。
インデクスのメタノードと同じように、論理構造をあら
わすためのリンク情報とメタノードの文脈識別子を持
つ。ただし、メタノードの文脈識別子には、別名として
定義された構造に含まれる文字列データのメタノードの
文脈識別子をすべて格納する。
システム101のシステム構成を示す図である。
01のシステム構成は、図48に示す第五の実施例の文
書登録サブシステム101のシステム構成とそのハード
ウェア構成に関しては変わるところはない。
録プログラムに別名構造インデクス作成プログラム66
01を追加し、磁気ディスク208には、別名構造イン
デクス格納領域6602および別名定義テーブル660
3を追加する点が異なる。
1は、別名定義テーブル格納領域6603から別名定義
テーブルを読み出す。さらに、メタ構造インデクス作成
プログラム4801で作成するメタ構造インデクスをメ
タ構造インデクス格納領域4802から読み出す。読み
込んだ情報を元に、別名構造インデクスを作成し、別名
構造インデクス格納領域6602に格納する。
システム101の概略処理手順を示すPAD図である。
本実施例の処理手順は、図51を用いて前述した、第五
の実施例の文書登録サブシステム101の概略処理手順
とほぼ同じである。ただし、ステップ5101のあと
で、ステップ6701を実行する点と、ステップ510
2の代わりにステップ6702を実行する点が異なる。
ス作成プログラム6601を実行し、文書の登録により
更新されたメタ構造インデクスの情報を参照し、別名構
造インデクスの内容を更新する。
書データ、メタ構造インデクス、別名構造インデクス、
文字列インデクスを文書検索サーバ102に転送する。
細手順を示すPAD図である。本図を用いて、別名構造
インデクスの作成手順を説明する。
成する構造を定義した別名定義テーブル6603を読み
出す。別名定義テーブル6603は、ユーザがキーボー
ド202からテキストエディタなどを利用して作成す
る。あるいは、構造インデクスから、異なる階層に存在
する同じ種別の構造を抽出して、この情報を元に別名定
義テーブルを作成するプログラムによって作成する。
6801で読み出した別名定義テーブル6603を用い
て、構造インデクス中から、該構造情報に適合するメタ
ノードを抽出する。これは、図57の5702ステップ
で前述した、第五の実施例における文書検索処理におけ
る検索条件に適合するメタ構造インデクスの取得処理と
同じ処理で実現できる。
ドの文脈識別子を管理するテーブルを作成し、これを別
名構造インデクスに登録する。
名について、階層構造を表現するためにノード同士を接
続する。別名構造インデクスに登録する別名は、"書誌/
題目"のように階層的な別名を指定することが可能であ
る。この場合、まず、構造インデクスから、"書誌"の種
別情報を持つメタノードを抽出した上で、その子ノード
から"題目"の種別情報を持つメタノードを抽出し、この
メタノードの文脈識別子を管理する文脈識別子管理テー
ブルを作成して、別名構造インデクスに登録する。さら
に、この過程で得られる"書誌"の種別情報を持つメタノ
ードについても文脈識別子管理テーブルを作成し、別名
構造インデクスの"書誌"に格納することで、階層的な構
造を持った、別名構造インデクスを作成する。
バ102のシステム構成図を示す。
の実施例における全文検索サーバ102のシステム構成
図とそのハードウェア構成においては同じである。ただ
し、主メモリ207にメタ構造インデクス対応検索条件
解析プログラム5501の代わりに別名構造インデクス
対応検索条件解析プログラム6901を格納する点と、
磁気ディスク208に別名構造インデクス格納領域を追
加する点が異なる。
要を示すPAD図である。
の実施例の検索処理とほぼ同じであるが、ステップ56
01の代わりにステップ7001を実行する点とステッ
プ5602の代わりにステップ7002を実行する点が
異なる。
ス、別名構造インデクス、文字列インデクスを文書登録
サブシステム101から受信して、それぞれメタ構造イ
ンデクス格納領域4802、別名構造インデクス格納領
域6602、文字列インデクス格納領域220に格納す
る。
ス対応検索条件解析プログラム6901を実行する。
すなわち、別名構造インデクス対応検索条件解析プログ
ラム6901の処理手順を示すPAD図である。
のメタ構造インデクス対応検索条件解析プログラムの処
理手順とほぼ同じである。
プ1901の代わりに、構造条件の有無および別名指定
か否かを判定するステップ7101を実行する点と、ス
テップ7101で別名と判定された場合は、ステップ7
102、ステップ7103を実行する点が異なる。構造
条件が種別もしくは要素型名の場合は、第五の実施例と
同じく、ステップ5701とステップ5702を実行す
る。
造条件として、別名を利用しているか否かを判定する。
構造条件で別名を利用する場合は、構造条件の先頭に、
例えば"Alias:"という文字列を指定することで区別す
る。したがって、別名である"題目"を検索対象の構造と
して指定する場合は、"Alias:題目"と構造条件に記述し
ているか否かをチェックすることで判定することができ
る。
スを読み込む。次にステップ7103で、別名構造イン
デクスを参照し、指定された構造条件を満たす文字列デ
ータの文脈識別子の集合を求める。別名インデクスに格
納された、別名に対応するメタ構造インデクスのメタノ
ードの下位にある文字列データのメタノードの文脈識別
子を取得することで実現できる。
実施例のメタ構造インデクス対応検索条件解析プログラ
ムの処理手順と同じである。
成および処理内容は、その他の点においては、全て第五
の実施例における、全文検索サーバ102の処理と同じ
である。
説明である。
て、第五の実施例における種別定義テーブル4803の
記載内容を変更し、各文書構造毎に要素型名の種別を指
定できるようにする方法について説明する。
義テーブル4803の格納情報について説明する。本図
のように、DTD名称と要素型名を合わせてDTDおよび要素
型名の領域7201に格納することで、解析済み文書デ
ータの要素型名だけでなく、DTD名称との組み合わせで
種別を決めることができる。これにより、例えば、「報
告書」における「本文」の種別は「報告内容」であり、
その他の文書の「本文」は、種別も「本文」のままと
し、登録文書の文書構造に合わせた種別を定義すること
が可能となる。
01のシステム構成は、図48に示す第五の実施例の文
書登録サブシステムのシステム構成と同じである。さら
に、本実施例における、文書登録サブシステム101の
処理手順は、図52のPAD図に示す第五の実施例にお
ける文書登録サブシステムの処理手順と同じである。た
だし、ステップ5201における構造インデクスの最上
位構造の取得の際に種別定義テーブル4803を参照し
て単に要素型名を種別に変換するのではなく、登録文書
のDTDと要素名の組み合わせに対応する種別を取得す
る点が異なる。さらに、ステップ5202において、構
造インデクスの重ね合わせを行なう際に、種別定義テー
ブル4803を参照して、登録文書のDTDと要素型名
の組み合わせにより種別を得てから重ね合わせを行なう
点が異なる。
施例が第五の実施例と異なる点はない。
ある。
て、第五の実施例における種別定義テーブル4803を
構造インデクス毎に管理し、メタ構造インデクス中の各
構造インデクス毎に種別定義テーブルを参照して種別を
得る方法について説明する。
01のシステム構成は、図48に示す第五の実施例の文
書登録サブシステムのシステム構成と同じである。ただ
し、本実施例では、種別定義テーブル4803を各構造
インデクス毎に作成し、メタ構造インデクスには、各構
造インデクスの最上位構造の種別に関する種別定義テー
ブルを持つ構成とする点が異なる。このような構成とす
ることで、1つの要素型名を構造インデクス毎に異なる
種別に割り当てることができる。
例において、図50に示す内容としても良いし、第九の
実施例において、図72で示す内容としても良い。以下
の説明では、種別定義テーブルは図50に示す第五の実
施例の種別定義テーブルを用いる場合について説明する
が、図72で示した第九の実施例の種別定義テーブルを
用いる場合でも同様の手順で実現可能である。
デクスと、種別定義テーブルの関連を示す図である。メ
タ構造インデクス7301のルートメタノード7302
に対応する、最上位構造種別定義テーブル7303を作
成する。さらに、各構造インデクス毎に種別定義テーブ
ルを作成する。本図では、論文の構造インデクス730
4に対応する種別定義テーブル1(7305)を作成
し、さらに報告書の構造インデクス7306に対応する
種別定義テーブル2(7307)を作成する。このよう
な構成にすることで、構造インデクス毎に種別を定義す
ることができる。
101の処理手順は、図52に示す第五の実施例におけ
る文書登録サブシステムの処理手順を示したPAD図と
同じである。ただし、ステップ5201における構造イ
ンデクスの最上位構造の取得の際には、最上位構造種別
定義テーブル7303を参照して要素型名を種別に変換
し、対応する構造インデクスを得る。さらにステップ5
202において、ステップ5201で得られる構造イン
デクスに対応する種別定義テーブルを参照して、要素型
名を種別に変換し構造インデクスの重ね合わせを行な
う。例えば登録文書の種別が論文であれば、構造インデ
クス7304に対応する種別定義テーブル1(730
5)を参照して、要素型名を種別に変換する。
施例が第五の実施例と異なる点はない。
図72に示す構成であっても、第九の実施例で示した手
順により要素型名だけでなくDTD名称との組み合わせ
で参照することで、同様に実現可能である。
ある。
化文書の検索方法によれば、文書中に現れる論理要素の
文書中における出現位置に関する条件を構造条件指定中
に含めることができるので、複雑な論理構造を備えた多
数の文書からなる文書データベース上においても精度の
高い構造指定検索ができる。
の全体構成を示す図である。
ステムの構成を示す図である。
概略手順を示すPAD図である。
である。
ある。
示した模式図である。
ログラムの処理手順を示すPAD図である。
る。
ス作成プログラムの処理手順を示すPAD図である。
データの辿り順を示す図である。
ノードとの対応関係を示す図である。
クスの生成過程を示す図である。
ータ生成プログラムの処理手順を示す図である。
ータのファイル形式を示す図である。
ックス作成プログラムの処理手順を示すPAD図であ
る。
ックスのデータ構造を示す図である。
バの構成を示す図である。
の概略手順を示すPAD図である。
プログラムの処理手順を示すPAD図である。
条件データの生成例を示す図である。
ックス検索プログラムの処理手順を示すPAD図であ
る。
の実行例を示す図である。
タのデータ構造を示す図である。
タ転送処理の詳細手順を示すPAD図である。
イアントの構成を示す図である。
ントの動作手順を示すPAD図である。
プログラムの処理手順を示すPAD図である。
プログラムの処理手順を示すPAD図である。
システムの構成を示す図である。
の概略手順を示すPAD図である。
デックス作成プログラムの処理手順を示すPAD図であ
る。
データの辿り順を示す図である。
ノードとの対応関係を示す図である。
デックスの生成過程を示す図である。
ータ生成プログラムの処理手順を示すPAD図である。
ータのファイル形式を示す図である。
ックスのデータ形式を示すPAD図である。
バの構成を示す図である。
の概略手順を示すPAD図である。
プログラムの処理手順を示すPAD図である。
条件データの生成例を示す図である。
ックス検索プログラムの処理手順を示すPAD図であ
る。
ノードとの対応関係を示す図である。
システムの構成を示す図である。
の概略手順を示すPAD図である。
化プログラムの処理手順を示すPAD図である。
具体例を示す図である。
システムの構成を示す図である。
デクス作成の例を示す図である。
ブルの内容を示す図である。
の概略手順を示すPAD図である。
デクス作成処理の概略手順を示すPAD図である。
デクスの更新処理の例1を示す図である。
デクスの更新処理の例2を示す図である。
バの構成を示す図である。
の概略手順を示すPAD図である。
デクス対応検索条件解析プログラムの処理手順を示すP
AD図である。
条件データの生成例を示す図である。
の例を示す図である。
システムの構成を示す図である。
付加プログラムの処理結果の例を示す図である。
バの構成を示す図である。
付加プログラムの処理手順を示す図である。
処理の内容を示す図である。
デクスを示す図である。
システムのシステム構成図である。
略手順のPAD図である。
デクス作成処理手順を示すPAD図である。
バのシステム構成図である。
略処理を示すPAD図である。
デクス対応検索条件解析プログラムの処理手順を示すP
AD図である。
ブルの内容を示す図である。
デクスと構造インデクス毎の種別定義管理テーブルの対
応関係を示す図である。
ラム、 5801…検索条件の一例、 5802…メタ構造インデクスの一例、 5803…展開済み検索条件データの一例、 6001…ルートノード付加プログラム、 6101…解析済み文書データの一例、 6102…ルートノード付加解析済み文書データの一
例、 6201…検索条件修正プログラム、 6501…別名構造インデクスの例、 6502…メタ構造インデクスの例、 6503…別名定義テーブルの例、 6601…別名構造インデクス作成プログラム、 6602…別名構造インデクス格納領域、 6901…別名構造インデクス対応検索条件解析プログ
ラム、 7301…メタ構造インデクスの例、 7302…ルートメタノード、 7303…最上位構造種別定義テーブル、 7304…構造インデクス1、 7305…種別定義テーブル1、 7306…構造インデクス2、 7307…種別定義テーブル2。
Claims (20)
- 【請求項1】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理が、 登録対象文書の持つ論理構造を解析して得られる解析済
み文書データを文書データベースに登録する解析済み文
書データ生成登録ステップと、 各登録対象文書の持つ論理構造を順次重ね合わせ、文書
中における出現位置および種別が同一である構造要素群
を単一のメタノードによって代表させた構造インデック
スを作成し、該構造インデックスの木構造を構成する各
メタノードに、該メタノードを一意に識別する文脈識別
子を与える構造インデックス作成ステップを有すること
を特徴とした構造化文書の登録方法。 - 【請求項2】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理が、 各登録対象文書について、該文書中に含まれる各文字列
データから、所定の部分文字列と、該部分文字列の登録
対象文書中における文字位置情報と、前記登録対象文書
を文書データベース中で一意に識別する文書識別子と、
前記部分文字列を含む文字列データを前記構造インデッ
クス中で代表するメタノードの文脈識別子とを抽出し、
前記文字位置情報および前記文書識別子ならびに前記文
脈識別子からなる構造化文字位置情報を生成し、前記部
分文字列と前記構造化文字位置情報との対応関係を登録
して文字列インデックスを更新する文字列インデックス
更新ステップを有することを特徴とした構造化文書の登
録方法。 - 【請求項3】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理の過程で、 各登録対象文書の持つ論理構造を順次重ね合わせ、文書
中における出現位置および種別が同一である構造要素群
を単一のメタノードによって代表させた構造インデック
スを作成し、該構造インデックスの木構造を構成する各
メタノードに、該メタノードを一意に識別する文脈識別
子を与える構造インデックス作成ステップにおいて、二
つの登録対象文書の持つ木構造を重ね合わせる際に、 両文書の木構造を構成する二つのノードを比較したとき
に、両ノードが共に木構造の根であれば両ノードは互い
に対応していると見なし、 両ノードが根でない場合には、両ノードの上位ノードが
互いに対応し、かつ両ノードの種別が一致し、かつ種別
の等しい兄弟ノードの並びの先頭から正順に数えた出現
順序が等しい場合に両ノードは対応していると見なし、 対応している両ノードを単一のメタノードによって代表
するように前記構造インデックスを構築することを特徴
とした構造化文書の登録方法。 - 【請求項4】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理の過程で、 各登録対象文書の持つ論理構造を順次重ね合わせ、文書
中における出現位置および種別が同一である構造要素群
を単一のメタノードによって代表させた構造インデック
スを作成し、該構造インデックスの木構造を構成する各
メタノードに、該メタノードを一意に識別する文脈識別
子を与える構造インデックス作成ステップにおいて、二
つの登録対象文書の持つ木構造を重ね合わせる際に、 両文書の木構造を構成する二つのノードを比較したとき
に、両ノードが共に木構造の根であれば両ノードは互い
に対応していると見なし、 両ノードが根でない場合には、両ノードの上位ノードが
互いに対応し、かつ両ノードの種別が一致し、かつ種別
の等しい兄弟ノードの並びの末尾から逆順に数えた出現
順序が等しい場合に両ノードは対応していると見なし、 対応している両ノードを単一のメタノードによって代表
するように前記構造インデックスを構築することを特徴
とした構造化文書の登録方法。 - 【請求項5】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理の過程で、 各登録対象文書の持つ論理構造を順次重ね合わせ、文書
中における出現位置および種別が同一である構造要素群
を単一のメタノードによって代表させた構造インデック
スを作成し、該構造インデックスの木構造を構成する各
メタノードに、該メタノードを一意に識別する文脈識別
子を与える構造インデックス作成ステップにおいて、二
つの登録対象文書の持つ木構造を重ね合わせる際に、 両文書の木構造を構成する二つのノードを比較したとき
に、両ノードが共に木構造の根であれば両ノードは互い
に対応していると見なし、 両ノードが根でない場合には、両ノードの上位ノードが
互いに対応し、かつ両ノードの種別が一致し、かつ種別
の等しい兄弟ノードの並び中において、両ノードが共に
該並びの先頭位置にあるか、または両ノードが共に先頭
以外の位置にある場合に、両ノードは対応していると見
なし、 対応している両ノードを単一のメタノードによって代表
するように前記構造インデックスを構築することを特徴
とした構造化文書の登録方法。 - 【請求項6】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理の過程で、 各登録対象文書の持つ論理構造を順次重ね合わせ、文書
中における出現位置および種別が同一である構造要素群
を単一のメタノードによって代表させた構造インデック
スを作成し、該構造インデックスの木構造を構成する各
メタノードに、該メタノードを一意に識別する文脈識別
子を与える構造インデックス作成ステップにおいて、二
つの登録対象文書の持つ木構造を重ね合わせる際に、 両文書の木構造を構成する二つのノードを比較したとき
に、両ノードが共に木構造の根であれば両ノードは互い
に対応していると見なし、 両ノードが根でない場合には、両ノードの上位ノードが
互いに対応し、かつ両ノードの種別が一致し、かつ種別
の等しい兄弟ノードの並び中において、両ノードが共に
該並びの末尾位置にあるか、または両ノードが共に末尾
以外の位置にある場合に、両ノードは対応していると見
なし、 対応している両ノードを単一のメタノードによって代表
するように前記構造インデックスを構築することを特徴
とした構造化文書の登録方法。 - 【請求項7】予め登録した文書の集合を対象として文書
内容の検索を行う文書検索システムにおける構造化文書
の登録方法であって、 文書の登録を行う処理の過程で、 登録対象文書の持つ論理構造を解析して得られる解析済
み文書データを文書データベースに登録する際に、 該解析済み文書データ中から、検索対象としては不適切
な構造および内容文字列を抽出し、該構造および内容文
字列を解析済み文書データ中から削除した後に、 該解析済み文書データを文書データベースに登録するス
テップを有することを特徴とした構造化文書の登録方
法。 - 【請求項8】請求項1に記載の構造化文書の登録方法に
おいて、 前記解析済み文書データ生成登録ステップおよび前記構
造インデックス作成ステップを実行することにより作成
された構造インデックスを記録した可搬型媒体。 - 【請求項9】請求項1に記載の構造化文書の登録方法に
おいて、 前記解析済み文書データ生成登録ステップおよび前記構
造インデックス作成ステップを実行する機能を備えたコ
ンピュータプログラムを記録した可搬型媒体。 - 【請求項10】請求項2に記載の構造化文書の登録方法
において、 前記文字列インデックス更新ステップを実行することに
より作成された前記文字列インデックスを記録した可搬
型媒体。 - 【請求項11】請求項2に記載の構造化文書の登録方法
において、 前記文字列インデックス更新ステップを実行する機能を
備えたコンピュータプログラムを記録した可搬型媒体。 - 【請求項12】予め登録した文書の集合を対象として文
書内容の検索を行う文書検索システムにおける構造化文
書の検索方法であって、 文書の検索を行う処理が、 構造インデックスを参照し、指定された構造条件を満た
す文脈識別子の集合を決定する構造条件判定ステップ
と、 検索タームから所定の部分文字列を抽出し、文字列イン
デックスを参照して該部分文字列に対応する構造化文字
位置情報の集合を抽出する構造化文字位置情報抽出ステ
ップと、 前記構造化文字位置情報の集合中から、前記構造条件判
定ステップで決定した集合中に含まれる文脈識別子をも
ち、かつ前記検索ターム上における部分文字列の並びと
同じ位置関係をもつ構造化文字位置情報を抽出するイン
デックス検索ステップを有することを特徴とした構造化
文書の検索方法。 - 【請求項13】請求項12に記載の構造化文書の検索方
法において、 前記構造条件判定ステップおよび前記構造化文字位置情
報抽出ステップおよび前記インデックス検索ステップを
実行する機能を備えたコンピュータプログラムを記録し
た可搬型媒体。 - 【請求項14】予め登録した文書の集合を対象として文
書内容の検索を行う文書検索システムにおける構造化文
書の登録方法であって、 文書の登録を行う処理が、 登録される文書の持つ論理構造を解析して得られる解析
済み文書を作成するステップと、 文書の要素型名と構造の種別の対応を定義した種別定義
テーブルの内容を解析して、同じ種別とみなされる構造
を得るステップと、 最上位の構造が同じ種別であるとみなされる、複数の解
析済み文書の論理構造を重ね合わせ、2つ以上の文書に
おいて同じ位置、種別とみなされる構造を1つのメタノ
ードに代表させ、1つの文書のみに出現するとみなされ
る構造は、その構造を表わす1つのメタノードを生成す
ることで、最上位の構造が同じとみなされる複数の登録
文書ごとに、共通の構造情報をメタノードを要素とする
木構造で表わす構造インデクスを作成するステップと、 最上位の構造の種別が同じとみなされる複数の登録文書
ごとに作成された複数の構造インデクスの最上位構造を
表わすメタノードの共通の上位構造として、登録文書に
対応する構造を持たないルートメタノードを作成し、各
登録文書の最上位構造を表わすメタノードは、ルートメ
タノードの子構造とした、ルートメタノードを最上位ノ
ードとするメタ構造インデクスを作成するステップと、 ルートメタノードを含めてメタ構造インデクスを構成す
るメタノードを一意に識別する文脈識別子を各構造イン
デクスを構成するメタノードに与えるステップと、 各メタノードに対応した各登録文書の構造内の文字列を
登録文書の識別情報と文脈識別子の情報と共に文字列イ
ンデクスに登録するステップを有することを特徴とした
構造化文書の登録方法 - 【請求項15】予め登録した文書の集合を対象として文
書内容の検索を行う文書検索システムにおける構造化文
書の登録方法であって、 文書の登録を行う処理が、 登録される文書の持つ論理構造を解析して得られる解析
済み文書を作成するステップと、 文書の要素型名と構造の種別の対応を定義した種別定義
テーブルの内容を解析して、同じ種別とみなされる構造
を得るステップと、 最上位の構造が同じ種別であるとみなされる、複数の解
析済み文書の論理構造を重ね合わせ、2つ以上の文書に
おいて同じ位置、種別とみなされる構造を1つのメタノ
ードに代表させ、1つの文書のみに出現するとみなされ
る構造は、その構造を表わす1つのメタノードを生成す
ることで、最上位の構造が同じとみなされる複数の登録
文書ごとに、共通の構造情報をメタノードを要素とする
木構造で表わす構造インデクスを作成するステップと、 最上位の構造の種別が同じとみなされる複数の登録文書
ごとに作成された複数の構造インデクスの最上位構造を
表わすメタノードの共通の上位構造として、登録文書に
対応する構造を持たないルートメタノードを作成し、各
登録文書の最上位構造を表わすメタノードは、ルートメ
タノードの子構造とした、ルートメタノードを最上位ノ
ードとするメタ構造インデクスを作成するステップと、 ルートメタノードを含めてメタ構造インデクスを構成す
るメタノードを一意に識別する文脈識別子を各構造イン
デクスを構成するメタノードに与えるステップと、 各メタノードに対応した各登録文書の構造内の文字列を
登録文書の識別情報と文脈識別子の情報と共に文字列イ
ンデクスに登録するステップと、 同じ種別を持つ、異なる位置に出現する構造に対する共
通名称を別名として設定し、該別名とメタノードの文脈
識別子を対応付けた、別名構造インデクスを生成するス
テップを有することを特徴とした構造化文書の登録方法 - 【請求項16】予め登録した文書の集合を対象として文
書内容の検索を行う文書検索システムにおける構造化文
書の登録方法であって、 文書の登録を行う処理が、 登録される文書の持つ論理構造を解析して得られる解析
済み文書を作成するステップと、 文書の要素型名と構造の種別の対応を定義した種別定義
テーブルの内容を解析して、同じ種別とみなされる構造
を得るステップと、 最上位の構造が同じ種別であるとみなされる、複数の解
析済み文書の論理構造を重ね合わせ、2つ以上の文書に
おいて同じ位置、種別とみなされる構造を1つのメタノ
ードに代表させ、1つの文書のみに出現するとみなされ
る構造は、その構造を表わす1つのメタノードを生成す
ることで、最上位の構造が同じとみなされる複数の登録
文書ごとに、共通の構造情報をメタノードを要素とする
木構造で表わす構造インデクスを作成するステップと、 各構造インデクスを構成するメタノードを一意に識別す
る文脈識別子を構造インデクスを構成するメタノードに
与えるステップと、 各構造インデクスを識別するための構造インデクス識別
子を構造インデクスに与えるステップと、 各メタノードに対応した各登録文書の構造内の文字列を
登録文書の識別情報と構造インデクス識別子と文脈識別
子の情報と共に文字列インデクスに登録するステップ
と、 複数の構造インデクスにまたがって同じ種別であ
るとみなされる特定の種別を持つ構造に対する共通名称
を別名として設定した別名テーブル共通名称定義テーブ
ルを読み出し、共通名称と各構造インデクスの構造イン
デクス識別子およびメタノードの文脈識別子を対応付け
た、共通名称構造インデクスを生成するステップ同じ種
別を持ち異なる構造インデクス、または位置に出現する
構造に対する共通名称を別名として設定し、該別名と構
造インデクス識別子およびメタノードの文脈識別子を対
応付けた、別名構造インデクスを生成するステップを有
することを特徴とした構造化文書の登録方法 - 【請求項17】予め登録した文書の集合を対象として文
書内容の検索を行う文書検索システムにおける構造化文
書の登録方法であって、 文書の登録を行う処理が、 登録される文書の持つ論理構造を解析して得られる解析
済み文書を作成するステップと、 文書の要素型名と構造の種別の対応を定義した種別定義
テーブルの内容を解析して、同じ種別とみなされる構造
を得るステップと、 各文書の最上位構造の上に全文書に共通な仮の最上位構
造を追加した文書に変換するステップと、 該仮の最上位構造を最上位の構造として、複数の解析済
み文書の論理構造を重ね合わせ、2つ以上の文書におい
て同じ位置、種別とみなされる構造を1つのメタノード
に代表させ、1つの文書のみに出現するとみなされる構
造は、その構造を表わす1つのメタノードを生成するこ
とで、共通の構造情報をメタノードを要素とする木構造
で表わす構造インデクスを作成するステップと、 構造インデクスを構成するメタノードを一意に識別する
文脈識別子をメタノードに与えるステップと、 各メタノードに対応した各登録文書の構造内の文字列を
登録文書の識別情報と文脈識別子の情報と共に文字列イ
ンデクスに登録するステップを有することを特徴とした
構造化文書の登録方法 - 【請求項18】請求項12に記載の構造化文書の検索方
法であって、 文書の検索を行う処理が、 構造インデックスを参照し、指定された構造条件を満た
す文脈識別子の集合を決定する構造条件判定ステップに
おいて、 文書の要素型名と構造の種別の対応を定義した種別定義
テーブルを用いて、検索条件に記載された要素型名を種
別情報に変換した上で、構造インデクスを参照して、種
別情報に適合する文脈識別子の集合を決定することを特
徴とした構造化文書の検索方法。 - 【請求項19】請求項12に記載の構造化文書の検索方
法であって、 文書の検索を行う処理が、 構造インデックスを参照し、指定された構造条件を満た
す文脈識別子の集合を決定する構造条件判定ステップに
おいて、 共通名称インデクスを用いて検索条件に記載された要素
型名を基に、構造インデクスの対応するノードの位置を
取得することにより、種別情報に適合する文脈識別子の
集合を決定することを特徴とした構造化文書の検索方
法。 - 【請求項20】請求項1に記載の構造化文書の検索方法
であって、 文書の登録を行う処理において、登録文書の構造に付け
られた名称を構造インデクスにおける構造の重ね合わせ
のために種別に変換するステップを有することを特徴と
した構造化文書の登録方法
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP04318798A JP3692764B2 (ja) | 1998-02-25 | 1998-02-25 | 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体 |
| US09/256,178 US6377946B1 (en) | 1998-02-25 | 1999-02-24 | Document search method and apparatus and portable medium used therefor |
| US09/972,004 US6510425B1 (en) | 1998-02-25 | 2001-10-09 | Document search method for registering documents, generating a structure index with elements having position of occurrence in documents represented by meta-nodes |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP04318798A JP3692764B2 (ja) | 1998-02-25 | 1998-02-25 | 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11242676A true JPH11242676A (ja) | 1999-09-07 |
| JP3692764B2 JP3692764B2 (ja) | 2005-09-07 |
Family
ID=12656924
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP04318798A Expired - Fee Related JP3692764B2 (ja) | 1998-02-25 | 1998-02-25 | 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体 |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US6377946B1 (ja) |
| JP (1) | JP3692764B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001265773A (ja) * | 2000-03-16 | 2001-09-28 | Matsushita Electric Ind Co Ltd | 文書処理装置 |
| US6853992B2 (en) | 1999-12-14 | 2005-02-08 | Fujitsu Limited | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents |
| WO2008041366A1 (fr) * | 2006-09-29 | 2008-04-10 | Justsystems Corporation | Dispositif de recherche de document, procédé de recherche de document et programme de recherche de document |
| JP2019086849A (ja) * | 2017-11-01 | 2019-06-06 | 株式会社エヌ・ティ・ティ・データ | データベース支援装置、データベース支援方法、及びプログラム |
| JP2023008685A (ja) * | 2021-07-06 | 2023-01-19 | 株式会社 情報システムエンジニアリング | 情報提供システム、情報提供方法、及びデータ構造 |
Families Citing this family (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3696731B2 (ja) * | 1998-04-30 | 2005-09-21 | 株式会社日立製作所 | 構造化文書の検索方法および装置および構造化文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP2000181927A (ja) * | 1998-12-15 | 2000-06-30 | Toshiba Corp | 電子ファイリングシステム及び同システムに適用するファイル検索方法 |
| CA2381080C (en) * | 1999-08-02 | 2005-04-05 | Tae Gyu Lee | Remote storage and loading of internet data |
| JP3754253B2 (ja) * | 1999-11-19 | 2006-03-08 | 株式会社東芝 | 構造化文書検索方法、構造化文書検索装置及び構造化文書検索システム |
| US8271316B2 (en) * | 1999-12-17 | 2012-09-18 | Buzzmetrics Ltd | Consumer to business data capturing system |
| US6684204B1 (en) * | 2000-06-19 | 2004-01-27 | International Business Machines Corporation | Method for conducting a search on a network which includes documents having a plurality of tags |
| US7185065B1 (en) | 2000-10-11 | 2007-02-27 | Buzzmetrics Ltd | System and method for scoring electronic messages |
| US7197470B1 (en) * | 2000-10-11 | 2007-03-27 | Buzzmetrics, Ltd. | System and method for collection analysis of electronic discussion methods |
| US8594364B2 (en) * | 2000-11-02 | 2013-11-26 | Digimarc Corporation | Batch identifier registration and embedding in media signals |
| US20030023584A1 (en) * | 2001-04-27 | 2003-01-30 | Brandin Christopher Lockton | Universal information base system |
| KR100657267B1 (ko) * | 2003-10-30 | 2006-12-14 | 삼성전자주식회사 | 검색을 위한 메타 정보가 포함된 저장 매체, 재생 장치 및그 재생 방법 |
| US7124358B2 (en) * | 2002-01-02 | 2006-10-17 | International Business Machines Corporation | Method for dynamically generating reference identifiers in structured information |
| US6963869B2 (en) * | 2002-01-07 | 2005-11-08 | Hewlett-Packard Development Company, L.P. | System and method for search, index, parsing document database including subject document having nested fields associated start and end meta words where each meta word identify location and nesting level |
| JP2003271584A (ja) * | 2002-03-14 | 2003-09-26 | Ricoh Co Ltd | 文書管理装置、クライアント装置、文書管理システム、プログラム及び記憶媒体 |
| EP1497754A1 (en) * | 2002-04-19 | 2005-01-19 | Computer Associates Think, Inc. | System and method for navigating search results |
| US7039649B2 (en) * | 2002-05-17 | 2006-05-02 | Sun Microsystems, Inc. | Method and apparatus for maintaining data integrity |
| NZ536775A (en) * | 2002-05-20 | 2007-11-30 | Tata Infotech Ltd | Document structure identifier |
| US7702666B2 (en) * | 2002-06-06 | 2010-04-20 | Ricoh Company, Ltd. | Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part |
| US7730087B2 (en) * | 2003-02-28 | 2010-06-01 | Raining Data Corporation | Apparatus and method for matching a query to partitioned document path segments |
| US7210125B2 (en) * | 2003-07-17 | 2007-04-24 | International Business Machines Corporation | Method and system for application installation and management using an application-based naming system including aliases |
| US7725414B2 (en) | 2004-03-16 | 2010-05-25 | Buzzmetrics, Ltd An Israel Corporation | Method for developing a classifier for classifying communications |
| GR1004902B (el) * | 2004-04-19 | 2005-05-27 | Αθανασιος Σαββιδης | Μεθοδος αναζητησης πληροφοριων σε ηλεκτρονικους υπολογιστες και μηχανισμος αποθηκευσης κειμενων "ανα παραγραφο" |
| US7526490B2 (en) * | 2004-06-08 | 2009-04-28 | Oracle International Corporation | Method of and system for providing positional based object to XML mapping |
| JP4309818B2 (ja) * | 2004-07-15 | 2009-08-05 | 株式会社東芝 | 構造化文書管理装置、検索装置、記憶方法、検索方法及びプログラム |
| US7430663B2 (en) * | 2004-08-09 | 2008-09-30 | Research In Motion Limited | System and method for enabling bulk retrieval of certificates |
| US7549043B2 (en) * | 2004-09-01 | 2009-06-16 | Research In Motion Limited | Providing certificate matching in a system and method for searching and retrieving certificates |
| US7631183B2 (en) | 2004-09-01 | 2009-12-08 | Research In Motion Limited | System and method for retrieving related certificates |
| US7640428B2 (en) | 2004-09-02 | 2009-12-29 | Research In Motion Limited | System and method for searching and retrieving certificates |
| WO2006039566A2 (en) * | 2004-09-30 | 2006-04-13 | Intelliseek, Inc. | Topical sentiments in electronically stored communications |
| JP4343814B2 (ja) * | 2004-11-04 | 2009-10-14 | キヤノン株式会社 | 情報処理装置及びその制御方法及びプログラム |
| TW200620299A (en) * | 2004-12-08 | 2006-06-16 | Benq Corp | Electronic device and method for updating related programs |
| US9158855B2 (en) | 2005-06-16 | 2015-10-13 | Buzzmetrics, Ltd | Extracting structured data from weblogs |
| US7860844B2 (en) | 2005-07-15 | 2010-12-28 | Indxit Systems Inc. | System and methods for data indexing and processing |
| CA2545237A1 (en) * | 2005-07-29 | 2007-01-29 | Cognos Incorporated | Method and system for managing exemplar terms database for business-oriented metadata content |
| CA2545232A1 (en) * | 2005-07-29 | 2007-01-29 | Cognos Incorporated | Method and system for creating a taxonomy from business-oriented metadata content |
| US20070100779A1 (en) * | 2005-08-05 | 2007-05-03 | Ori Levy | Method and system for extracting web data |
| US20070055670A1 (en) * | 2005-09-02 | 2007-03-08 | Maycotte Higinio O | System and method of extracting knowledge from documents |
| US9177124B2 (en) | 2006-03-01 | 2015-11-03 | Oracle International Corporation | Flexible authentication framework |
| US8307276B2 (en) * | 2006-05-19 | 2012-11-06 | Symantec Corporation | Distributed content verification and indexing |
| US7814161B2 (en) | 2006-06-23 | 2010-10-12 | Research In Motion Limited | System and method for handling electronic mail mismatches |
| JP4861078B2 (ja) * | 2006-06-30 | 2012-01-25 | 富士通株式会社 | 索引作成プログラム、索引作成装置および索引作成方法 |
| US7747629B2 (en) * | 2006-08-23 | 2010-06-29 | International Business Machines Corporation | System and method for positional representation of content for efficient indexing, search, retrieval, and compression |
| US7660783B2 (en) * | 2006-09-27 | 2010-02-09 | Buzzmetrics, Inc. | System and method of ad-hoc analysis of data |
| JP5437557B2 (ja) * | 2006-10-19 | 2014-03-12 | 富士通株式会社 | 検索処理方法及び検索システム |
| US8229902B2 (en) * | 2006-11-01 | 2012-07-24 | Ab Initio Technology Llc | Managing storage of individually accessible data units |
| US7885932B2 (en) * | 2006-11-01 | 2011-02-08 | Ab Initio Technology Llc | Managing storage of individually accessible data units |
| US7849399B2 (en) * | 2007-06-29 | 2010-12-07 | Walter Hoffmann | Method and system for tracking authorship of content in data |
| US7844633B2 (en) * | 2007-09-13 | 2010-11-30 | International Business Machines Corporation | System and method for storage, management and automatic indexing of structured documents |
| US8271870B2 (en) * | 2007-11-27 | 2012-09-18 | Accenture Global Services Limited | Document analysis, commenting, and reporting system |
| US8266519B2 (en) | 2007-11-27 | 2012-09-11 | Accenture Global Services Limited | Document analysis, commenting, and reporting system |
| US8412516B2 (en) | 2007-11-27 | 2013-04-02 | Accenture Global Services Limited | Document analysis, commenting, and reporting system |
| US20090144277A1 (en) * | 2007-12-03 | 2009-06-04 | Microsoft Corporation | Electronic table of contents entry classification and labeling scheme |
| US8250469B2 (en) * | 2007-12-03 | 2012-08-21 | Microsoft Corporation | Document layout extraction |
| US8392816B2 (en) * | 2007-12-03 | 2013-03-05 | Microsoft Corporation | Page classifier engine |
| US8347326B2 (en) | 2007-12-18 | 2013-01-01 | The Nielsen Company (US) | Identifying key media events and modeling causal relationships between key events and reported feelings |
| US20090228811A1 (en) * | 2008-03-10 | 2009-09-10 | Randy Adams | Systems and methods for processing a plurality of documents |
| US20090228817A1 (en) * | 2008-03-10 | 2009-09-10 | Randy Adams | Systems and methods for displaying a search result |
| US20100017486A1 (en) * | 2008-07-16 | 2010-01-21 | Fujitsu Limited | System analyzing program, system analyzing apparatus, and system analyzing method |
| US8326977B2 (en) | 2008-07-16 | 2012-12-04 | Fujitsu Limited | Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method |
| EP2362333A1 (en) | 2010-02-19 | 2011-08-31 | Accenture Global Services Limited | System for requirement identification and analysis based on capability model structure |
| US8874727B2 (en) | 2010-05-31 | 2014-10-28 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to rank users in an online social network |
| US8566731B2 (en) | 2010-07-06 | 2013-10-22 | Accenture Global Services Limited | Requirement statement manipulation system |
| JP5790664B2 (ja) * | 2011-01-25 | 2015-10-07 | 日本電気株式会社 | 情報検索装置 |
| US9400778B2 (en) | 2011-02-01 | 2016-07-26 | Accenture Global Services Limited | System for identifying textual relationships |
| US8935654B2 (en) | 2011-04-21 | 2015-01-13 | Accenture Global Services Limited | Analysis system for test artifact generation |
| US20130013605A1 (en) | 2011-07-08 | 2013-01-10 | Stanfill Craig W | Managing Storage of Data for Range-Based Searching |
| US8775439B1 (en) | 2011-09-27 | 2014-07-08 | Google Inc. | Identifying entities using search results |
| US8843466B1 (en) | 2011-09-27 | 2014-09-23 | Google Inc. | Identifying entities using search results |
| US8473489B1 (en) * | 2011-09-27 | 2013-06-25 | Google Inc. | Identifying entities using search results |
| US8856099B1 (en) | 2011-09-27 | 2014-10-07 | Google Inc. | Identifying entities using search results |
| US9001390B1 (en) | 2011-10-06 | 2015-04-07 | Uri Zernik | Device, system and method for identifying sections of documents |
| CN103176978B (zh) * | 2011-12-20 | 2016-05-04 | 北大方正集团有限公司 | 一种确定检索词在文档中的位置信息的方法以及装置 |
| US9208254B2 (en) * | 2012-12-10 | 2015-12-08 | Microsoft Technology Licensing, Llc | Query and index over documents |
| GB201421674D0 (en) | 2014-12-05 | 2015-01-21 | Business Partners Ltd | Real time document indexing |
| EP3827360A1 (en) * | 2018-07-25 | 2021-06-02 | Ab Initio Technology LLC | Structured record retrieval |
| US12393637B1 (en) * | 2024-12-31 | 2025-08-19 | Citigroup Inc. | Hierarchical document parsing and metadata generation for machine learning applications |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69032712T2 (de) * | 1989-06-14 | 1999-07-01 | Hitachi, Ltd., Tokio/Tokyo | Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung |
| US5748953A (en) * | 1989-06-14 | 1998-05-05 | Hitachi, Ltd. | Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols |
| US5708829A (en) * | 1991-02-01 | 1998-01-13 | Wang Laboratories, Inc. | Text indexing system |
| US5404518A (en) * | 1991-12-19 | 1995-04-04 | Answer Computer, Inc. | System for building a user-determined database of solution documents from queries that fail within it and from the search steps that do provide a solution |
| US5696963A (en) * | 1993-11-19 | 1997-12-09 | Waverley Holdings, Inc. | System, method and computer program product for searching through an individual document and a group of documents |
| JPH08147311A (ja) * | 1994-11-17 | 1996-06-07 | Hitachi Ltd | 構造化文書検索方法及び装置 |
| US5745745A (en) * | 1994-06-29 | 1998-04-28 | Hitachi, Ltd. | Text search method and apparatus for structured documents |
| US5832474A (en) * | 1996-02-26 | 1998-11-03 | Matsushita Electric Industrial Co., Ltd. | Document search and retrieval system with partial match searching of user-drawn annotations |
| US5890147A (en) * | 1997-03-07 | 1999-03-30 | Microsoft Corporation | Scope testing of documents in a search engine using document to folder mapping |
| US6098066A (en) * | 1997-06-13 | 2000-08-01 | Sun Microsystems, Inc. | Method and apparatus for searching for documents stored within a document directory hierarchy |
| US6055538A (en) * | 1997-12-22 | 2000-04-25 | Hewlett Packard Company | Methods and system for using web browser to search large collections of documents |
-
1998
- 1998-02-25 JP JP04318798A patent/JP3692764B2/ja not_active Expired - Fee Related
-
1999
- 1999-02-24 US US09/256,178 patent/US6377946B1/en not_active Expired - Fee Related
-
2001
- 2001-10-09 US US09/972,004 patent/US6510425B1/en not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6853992B2 (en) | 1999-12-14 | 2005-02-08 | Fujitsu Limited | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents |
| JP2001265773A (ja) * | 2000-03-16 | 2001-09-28 | Matsushita Electric Ind Co Ltd | 文書処理装置 |
| WO2008041366A1 (fr) * | 2006-09-29 | 2008-04-10 | Justsystems Corporation | Dispositif de recherche de document, procédé de recherche de document et programme de recherche de document |
| JP2019086849A (ja) * | 2017-11-01 | 2019-06-06 | 株式会社エヌ・ティ・ティ・データ | データベース支援装置、データベース支援方法、及びプログラム |
| JP2023008685A (ja) * | 2021-07-06 | 2023-01-19 | 株式会社 情報システムエンジニアリング | 情報提供システム、情報提供方法、及びデータ構造 |
Also Published As
| Publication number | Publication date |
|---|---|
| US6377946B1 (en) | 2002-04-23 |
| JP3692764B2 (ja) | 2005-09-07 |
| US6510425B1 (en) | 2003-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11242676A (ja) | 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体 | |
| JPH10240752A (ja) | 構造化文書の登録方法,検索方法、およびそれに用いられる可搬型媒体 | |
| US6889223B2 (en) | Apparatus, method, and program for retrieving structured documents | |
| US6853992B2 (en) | Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents | |
| JP4141556B2 (ja) | 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
| KR100372582B1 (ko) | 데이터처리방법 및 시스템 및 그 처리프로그램을 기록한계산기판독이 가능한 기록매체 | |
| JP2000231563A (ja) | 文書検索方法及び文書検索システム及び文書検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP4247135B2 (ja) | 構造化文書記憶方法、構造化文書記憶装置、構造化文書検索方法 | |
| JP4247108B2 (ja) | 構造化文書検索方法、構造化文書検索装置、及びプログラム | |
| JP3842576B2 (ja) | 構造化文書編集方法及び構造化文書編集システム | |
| JP3632643B2 (ja) | 構造化文書管理装置 | |
| Barbosa et al. | Efficient incremental validation of XML documents after composite updates | |
| JP2000003366A (ja) | 文書登録方法と文書検索方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
| JP3842572B2 (ja) | 構造化文書管理方法および構造化文書管理装置およびプログラム | |
| JP3842574B2 (ja) | 情報抽出方法および構造化文書管理装置およびプログラム | |
| JP2003288365A (ja) | 付加情報管理方法及び付加情報管理システム | |
| JP2001060164A (ja) | データ処理方法およびデータ処理システム並びにその実施装置及びその処理プログラムを記録した記録媒体 | |
| JP3842575B2 (ja) | 構造化文書検索方法、構造化文書管理装置及びプログラム | |
| JP2002149471A (ja) | ファイルシステム | |
| JP4334450B2 (ja) | 構造化文書検索装置及び構造化文書検索方法 | |
| JP2000200206A (ja) | デ―タ管理装置およびデ―タ管理方法、並びに記録媒体 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041224 |
|
| 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: 20050531 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050613 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090701 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100701 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110701 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120701 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130701 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |