JP2001167087A - 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法 - Google Patents

構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法

Info

Publication number
JP2001167087A
JP2001167087A JP35385799A JP35385799A JP2001167087A JP 2001167087 A JP2001167087 A JP 2001167087A JP 35385799 A JP35385799 A JP 35385799A JP 35385799 A JP35385799 A JP 35385799A JP 2001167087 A JP2001167087 A JP 2001167087A
Authority
JP
Japan
Prior art keywords
document
search
node
index
query
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.)
Pending
Application number
JP35385799A
Other languages
English (en)
Inventor
Nobuyuki Igata
伸之 井形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP35385799A priority Critical patent/JP2001167087A/ja
Priority to US09/725,680 priority patent/US6853992B2/en
Publication of JP2001167087A publication Critical patent/JP2001167087A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/917Text
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/956Hierarchical
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 【課題】複雑な構造を持つ文書を検索する構造化文書検
索装置に関し,階層関係を持つ構造の検索,特に兄弟関
係を含む構造の検索を可能とする。 【解決手段】構造化文書における要素である文書部品の
兄弟関係を検索条件として指定することができる問い合
わせを入力し,その問い合わせを木構造で表した問い合
わせ木を作成する。問い合わせ変換部17は,階層インデ
ックス参照部18を通して,検索対象の個々の構造化文書
の各文書部品の階層関係を,メタ部品を1ノードとする
木構造で表現した階層インデックス13を参照し,問い合
わせ木をブーリアン式に変換する。テキストインデック
ス参照部19は,テキストデータ中の文字列とメタ部品の
部品識別子との組を検索キーとして,それらが出現する
文書の文書識別子との関係情報を登録したテキストイン
デックス15を参照して,問い合わせ木を変換したブーリ
アン式に該当する文書を検索する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は,データベースに登
録された大量のSGML文書等の構造を持った文書の中
から,文書の構造および内容を高速に検索する装置に関
する。特に,構造および内容に関する問い合わせを従来
の全文検索エンジンで用いられてきたブーリアン式へ変
換する手段を持つことで,全文検索エンジンの高速検索
性能を活用した構造化文書検索装置に関する。
【0002】
【従来の技術】近年,ワードプロセッサの普及やOCR
(Optical Character Reader)の開発により,大量の電
子化文書が作成・蓄積されている。蓄積される文書が大
量になるにつれ,必要な文書を高速に検索したいという
要求が以前にも増して強くなってきている。
【0003】これに対し,例えば,特開平10−271
83号「データ登録方法および装置」や特開平8−24
9354号「単語索引および単語索引作成装置および文
書検索装置」に示されるような全文検索エンジンが開発
されてきた。全文検索エンジンは,文書全文を検索対象
とし,検索キーから検索キーを含む文書を高速に参照す
るインデックスを備えている。予め検索用のキーワード
を各文書に付加する必要もなく,検索洩れも発生しない
特徴を持つが,全文が一様に検索対象となるため,文書
の構造を指定した検索要求を処理することができなかっ
た。
【0004】一方,インターネットの爆発的な普及によ
り,HTML文書やXML文書のような構造を持った文
書(以下,構造化文書という)が一般にも大量に作成さ
れるようになった。また,企業においては,文書管理・
再利用の目的からSGML文書が作成・蓄積されてい
る。このような構造化文書に対し,全文を一様に検索対
象とするのではなく,文書の各部品毎に検索条件を指定
したいという要求が高まってきている。これに対し,例
えば,特開平11−15843号「SGML文書検索装
置およびSGML文書検索方法」,特開平11−534
00号「構造化文書検索装置及びプログラムを記録した
機械読み取り可能な記録媒体」,特開平11−2426
76号「構造化文書登録方法,検索方法,およびそれに
用いられる可搬型媒体」のような手法が考案されてい
る。
【0005】特開平11−15843号「SGML文書
検索装置およびSGML文書検索方法」は,構造化文書
を関係データベースに登録し,検索要求を従来のデータ
ベース問い合わせ言語であるSQLで入力させる手法で
ある。この種の手法では,スキーマを予め規定する必要
があり,スキーマにそぐわない文書部品をデータベース
に登録することができなかった。また,大量の文書をデ
ータベースに登録すると検索速度が遅くなってしまうた
め,文書の内容を高速に検索するのためには,データベ
ースとは別に全文検索エンジンを持たなければならなか
った。
【0006】また,特開平11−53400号「構造化
文書検索装置及びプログラムを記録した機械読み取り可
能な記録媒体」は,文書中の一定領域をゾーンに分割
し,ゾーンとキーワードを組にしたキーをブーリアン式
で検索する手法である。この種の手法では,ある文書部
品が持つテキストデータの内容を高速に検索することは
できるが,文書部品の階層関係を検索条件に含めること
ができなかった。
【0007】また,特開平11−242676号「構造
化文書登録方法,検索方法,およびそれに用いられる可
搬型媒体」は,データベースに登録する文書の文書部品
を重ねあわせた構造インデックスと,文書の内容に対す
る文字列インデックスを持つ手法である。この種の手法
では,通常の全文検索エンジンのインデックスとは別
に,文書の構造を保持するインデックスを持たなければ
ならないが,文書部品の階層関係を検索条件に含めた検
索を高速に実行することができる。
【0008】その他,特開平7−56908号「文書処
理装置」や特開平7−319918号「文書検索対象指
示装置」があるが,これらは,1つの構造化文書に対す
る検索手法であり,大量の構造化文書の中から特定の文
書を検索するのための手法ではない。
【0009】
【発明が解決しようとする課題】前述した特開平11−
242676号「構造化文書登録方法,検索方法,およ
びそれに用いられる可搬型媒体」では,文書部品の階層
関係を検索条件に含めた検索を高速に実行する手法が開
示されているが,文書部品の階層関係は親子または子孫
関係だけに限られ,兄弟関係を検索条件に含める手法は
開示されていない。
【0010】文書部品の兄弟関係を検索条件に含めるこ
とができない場合の問題点を以下に示す。
【0011】<従業員> <所属>システム開発部</所属> <氏名>山田太郎</氏名> </従業員> <従業員> <所属>総務部</所属> <氏名>鈴木花子</氏名> </従業員> 上記のような構造化文書において,「所属がシステム開
発部の鈴木花子さん」という検索条件を厳密に記述すれ
ば,「ある1つの<従業員>に囲まれた文書部品の中に
おいて,<所属>タグに囲まれたテキストデータが『シ
ステム開発部』であり,<氏名>に囲まれたテキストデ
ータが『鈴木花子』である」という検索条件となる。こ
の場合,文書部品の兄弟関係を検索条件に含めることが
できなければ,上記の検索条件は単に「<所属>に囲ま
れたテキストデータが『システム開発部』であり,<氏
名>に囲まれたテキストデータが『鈴木花子』」としか
指定することができなく,実際に望まれる検索結果とは
異なる結果が得られてしまう可能性がある。
【0012】本発明は,大量に蓄積された構造化文書か
ら必要な文書を高速に検索するシステムにおいて,文書
部品の兄弟関係を検索条件に含める手段を提供すること
を目的とする。
【0013】また,特開平11−242676号「構造
化文書登録方法,検索方法,およびそれに用いられる可
搬型媒体」では,検索対象となる構造化文書の構造を重
ね合わせる形で構造インデックスを作成している。各文
書の構造を重ね合わせる際に,「両ノードの上位ノード
が互いに対応し,かつ両ノードの種別が一致し,かつ種
別の等しい兄弟ノードの並びの先頭から正順に数えた出
現順序が等しい場合に両ノードは対応していると見な
し」ているため,以下の文書1,文書2は,全く同じ構
造およびテキストデータを持った文書として扱われる。
【0014】・文書1 <文書> <部品1>構造化</部品1> <部品2>文書</部品2> <部品3>検索</部品3> </文書> ・文書2 <文書> <部品2>文書</部品2> <部品1>構造化</部品1> <部品3>検索</部品3> </文書> すなわち,同じ種別となる兄弟ノードの並びは保存され
るものの,異なる種別となる兄弟ノードの順序は無視さ
れてしまう。
【0015】本発明は,異なる種別となる兄弟ノードの
順序も保存した階層インデックスを用いることで,上記
の問題点を解決する手段を提供することを目的とする。
さらに,兄弟ノードの順序を検索条件に含めるかどうか
を検索時に自由に選択できる手段を提供することを目的
とする。
【0016】また,特開平11−242676号「構造
化文書登録方法,検索方法,およびそれに用いられる可
搬型媒体」において,検索条件は常に検索キーと構造指
定の組であり,構造指定だけを検索条件とする手法につ
いても開示されていない。本発明では,構造指定だけを
検索条件とする手段も提供する。
【0017】また,大量に蓄積された構造化文書から文
書部品の階層関係を照合する処理において,複雑な構造
を持つ文書が登録される分だけ,照合処理に時間が掛か
る。本発明では,検索システムの検索速度を高めるため
に,文書部品の階層関係の照合を高速化する手段を提供
する。
【0018】その他,テキストデータの照合において,
完全一致検索,部分一致検索を容易に行うための手段を
提供する。
【0019】
【課題を解決するための手段】本発明は,各文書部品の
階層関係を,メタ部品を1ノードとする木構造で構造化
文書の構造を表現した階層インデックスと,各文書部品
が持つテキストデータ中の文字列を登録したテキストイ
ンデックスと,ユーザの問い合わせを木構造で受け取
り,ブーリアン式に変換する検索手段とを持つことによ
り,上記のような従来手法の問題点を解決する。ここ
で,文書部品とは,個々の構造化文書における1つ1つ
の要素部品を意味し,メタ部品は,いくつかの構造化文
書に共通してみられる要素部品を意味する。
【0020】すなわち,本発明に係る構造化文書検索装
置は,各文書部品の階層関係を,メタ部品を1ノードと
する木構造で構造化文書の構造を表現した階層インデッ
クスと,テキストデータ中の文字列とメタ部品の部品識
別子との組をキーとし,キーとそのキーが出現する文書
の文書識別子とを登録したテキストインデックスと,ユ
ーザからの問い合わせを木構造(以下,問い合わせ木と
いう)で受け取り,前記階層インデックスと前記テキス
トインデックスとを参照し,問い合わせ木に該当する文
書を検索する検索手段とを備える。
【0021】ある問い合わせにおいて,検索条件となる
文書部品の関係を木構造で表すことができ,特にその木
構造の中に文書部品の兄弟関係を指定することができ
る。さらに,検索条件として文書部品の兄弟関係を含む
とき,順序付きの兄弟関係か,または順序なしの兄弟関
係かのいずれか指定することができる。これにより,検
索手段は,問い合わせ木と階層インデックスとの照合
を,指定された順序付きの兄弟関係または順序なしの兄
弟関係に基づいて行う。
【0022】また,前記検索手段は,(1) 階層インデッ
クスを参照し,問い合わせ木を文字列と部品識別子の組
を1つの検索キーとするブーリアン式に変換する処理
と,(2) テキストインデックスを参照し,前記ブーリア
ン式により問い合わせ木に該当する文書の文書識別子を
取得する処理との2段階の処理手段を持つ。
【0023】また,前記階層インデックスのメタ部品を
表す各ノードでは,メタ部品は,上位ノードが同一のメ
タ部品であり,かつ同一の要素名であり,かつ文書にお
ける兄弟部品中の出現位置が同一であることを条件と
し,各ノードは,文書における兄弟部品中の出現位置を
持つこと,子ノードから親ノードへのリンクを持つこ
と,同じ要素名を持つノードへのリンクを持つことを特
徴とする。これによって,複雑な構造についても,迅速
に検索することが可能になる。
【0024】また,前記テキストインデックスの作成で
は,テキストデータ中の文字列と部品識別子の組を作成
する際に,各文書部品毎に特殊文字列と部品識別子の組
となる特殊な検索キーを作成し,テキストインデックス
に登録する手段を持つ。これによって,構造のみの検索
(ある文書部品を含むかどうかだけが検索条件となるよ
うな検索)も容易に実現することができる。
【0025】また,前記テキストインデックスの作成で
は,テキストデータ中の文字列と部品識別子の組を作成
する際に,テキストデータ毎にテキストデータの開始お
よび終了位置に特殊文字列を挿入した疑似テキストデー
タを作成し,疑似テキストデータからテキストインデッ
クスに登録する検索キーを作成する手段を持つ。これに
よって,完全一致検索または部分一致検索のいずれも容
易に実現することができる。
【0026】本発明が従来の構造化文書を検索する装置
と特に大きく異なる点は,特に,ユーザからの問い合わ
せを木構造で受け取り,階層インデックスとテキストイ
ンデックスとを参照して文書を検索する検索手段を持つ
ことにより,文書部品の兄弟関係を検索条件に含めるこ
とができる点である。また,異なる種別となる兄弟ノー
ドの順序も保存した階層インデックスを用いることで,
兄弟関係の順序を検索条件に含めることができる点であ
る。
【0027】
【発明の実施の形態】以下に,本発明の実施の形態を説
明する。本発明の実施の形態における構造化文書検索装
置のシステム構成例を図1に示す。図1中の点線の矢印
は文書登録時のデータの流れを,実線の矢印は検索時の
データの流れを示している。
【0028】文書登録時には,文書構造解析部11で検
索対象となる構造化文書20の文書の構造が解析され,
階層インデックス登録部12において階層インデックス
13が作成される。同時にテキストインデックス登録部
14においてテキストインデックス15が作成される。
【0029】検索時には,問い合わせ受付部16で,ユ
ーザからインタフェース21を介して受けた問い合わせ
をもとに問い合わせ木を作成し,問い合わせ変換部17
において,まず階層インデックス参照部18により,階
層インデックス13を参照して問い合わせ木の構造を照
合し,一致した部分に仮ノードを付加し,この仮ノード
を用いてブーリアン式の論理木を作成し,論理木よりブ
ーリアン式(文字列)を作成する。この結果をもとに,
テキストインデックス参照部19により,問い合わせに
該当する文書の文書識別子を得て,検索結果をユーザに
返す。
【0030】必要ならば構造化文書検索装置1の横に文
書管理エンジン22を置き,文書登録時には構造化文書
20自体を構造化文書格納データベース(DB)23に
格納し,検索時には該当文書の必要部分を抽出してユー
ザに返すような形態にしてもよい。このとき,文書管理
エンジン22は,ユーザからの問い合わせを問い合わせ
受付部16から受け取り,また検索結果をテキストイン
デックス参照部19から受け取り,該当文書の必要部分
を抽出して,ユーザに返すこととなる。以下では,各手
段についてさらに詳細に説明する。
【0031】〔階層インデックス〕本発明では,文書部
品の階層関係の照合を高速化するために,従来の全文検
索エンジンで使用されているインデックスとは別に,検
索対象となる構造化文書20の構造を木構造で表した階
層インデックス13を持つ。
【0032】階層インデックス13の構造の例を図2に
示す。図2(A)に示す階層インデックスの全体の構造
は,上記「発明が解決しようとする課題」の説明で用い
た文書1および文書2,すなわち以下の2つの文書を登
録したときの例である。
【0033】・文書1 <文書> <部品1>構造化</部品1> <部品2>文書</部品2> <部品3>検索</部品3> </文書> ・文書2 <文書> <部品2>文書</部品2> <部品1>構造化</部品1> <部品3>検索</部品3> </文書> 階層インデックス13は,各構造化文書20において,
構造が共通する文書部品をメタ部品として1ノードで表
し,メタ部品の階層関係を木構造で表したものである。
【0034】図2(B)に示すように,1つのノード
は,要素名,文書における兄弟部品中の出現位置,メタ
部品を識別するための部品識別子,親ノードへのリンク
(親リンク),兄弟ノードへのリンク(兄弟リンク),
子供ノードへのリンク(子供リンク)を持ち,さらに,
要素名が同じノードへのリンク(要素リンク),および
問い合わせ木のノードへのリンク(問い合わせリンク)
を持つ。親リンク,子供リンク,兄弟リンクが木構造を
形成し,要素リンクは文書構造の照合時,問い合わせリ
ンクはブーリアン式への変換時に使用される。文書部品
は,上位のメタ部品が同一,要素名が同一,文書におけ
る兄弟部品中の出現位置が同一の場合に,同一のメタ部
品であるとする。
【0035】図3に構造化文書の登録処理の手順を示
す。主な処理の手順は, 1)文書の構造を解析する(ステップS13), 2)各文書部品に対するメタ部品の判定を行う(ステッ
プS15), 3)新規のメタ部品ならば階層インデックス13に登録
する(ステップS18), 4)メタ部品の識別子とその部品が持つテキストデータ
をテキストインデックス15に登録する(ステップS1
9), の4段階となる。
【0036】構造化文書の登録では,まず一番最初に,
階層インデックス13のルートのノードを作成し(ステ
ップS11),すべての文書に対し処理が終了するま
で,以下のステップを繰り返す(ステップS12)。
【0037】まず,登録する文書の1つについて文書の
構造を解析し(ステップS13),その文書のすべての
文書部品に対して,ステップS15〜S19による処理
が終了したならば,ステップS12へ戻って,次に登録
しようとする文書について同様に処理を繰り返す(ステ
ップS14)。
【0038】ステップS15では,文書中の1つの文書
部品についてメタ部品であるかどうかの判定のための処
理を行い,文書部品が新しいメタ部品であれば(ステッ
プS16),新規の部品識別子を発行し(ステップS1
7),階層インデックス13に登録する(ステップS1
8)。その後,テキストインデックス15への登録を行
う(ステップS19)。文書部品が新しいメタ部品でな
ければ,階層インデックス13への登録は行わないで,
テキストインデックス15への登録だけを行う(ステッ
プS19)。
【0039】なお,ステップS14の処理で,文書部品
を処理する順序は,文書中の開始タグの出現順とする。
これは,構造化文書の構造を木構造で表現したときに各
文書部品を深さ優先で処理することと同一の意味であ
る。
【0040】図4にメタ部品の判定処理の手順(図3:
ステップS15の処理の詳細)を示す。同一メタ部品の
判定は, 1)上位のメタ部品が同一(ステップS22), 2)要素名が同一(ステップS23), 3)文書における兄弟部品中の出現位置が同一(ステッ
プS24), の3条件を満たすメタ部品が,既に階層インデックス1
3に登録されているか否かが基準となる。
【0041】その文書部品が階層インデックス13に登
録されていない場合には(ステップS21),新規のメ
タ部品とし(ステップS25),階層インデックス13
に登録(図3:ステップS17,S18)する。既に階
層インデックス13に登録されている場合には,同一の
メタ部品が登録済みであるとして(ステップS26),
階層インデックス13への登録は行わずにテキストイン
デックス15への登録処理(図3:ステップS19)へ
向かう。
【0042】図5に階層インデックス13への登録処理
の手順(図3:ステップS18の処理の詳細)を示す。
処理の手順は, 1)上位メタ部品に該当するノードまで木構造を辿る
(ステップS31), 2)上位メタ部品に子供がいなければ(ステップS3
2),上位メタ部品の子供リンクを新規ノードに張り
(ステップS33),上位メタ部品に子供がいれば,上
位メタ部品の子供ノードの最後に新規ノード(兄弟リン
ク)を追加する(ステップS34), 3)新規ノードから上位メタ部品へのリンク(親リン
ク)を張る(ステップS35), 4)同じ要素名となるノードへ以下の手順により要素リ
ンクを張る, の4段階となる。
【0043】上記4)の要素リンクを張る処理の手順
は,(a) 要素名とノードへのリンクを持ったワークバッ
ファを用意する,(b) ワークバッファが空(要素名が登
録されていない)ならば(ステップS36),新規ノー
ドをワークバッファに登録する(ステップS37),
(c) ワークバッファにノードが登録されているならば
(ステップS36),登録されているノードから新規ノ
ードに要素リンクを張り,新規ノードをワークバッファ
に登録する(ステップS38),という手順である。
【0044】〔テキストインデックス〕テキストインデ
ックス15は,検索文字列と部品識別子を1組とした検
索キーから,検索キーを含む文書の文書識別子を得るた
めのものである。検索文字列と部品識別子を1組の検索
キーとすること以外は,従来の全文検索エンジンで用い
られているインデックスと同様の形式となる。つまり,
検索キーから文書識別子を得るためのインデックス形式
には,インバーテッドファイル,シグネイチャファイ
ル,ビットマップファイル等の従来の全文検索エンジン
のインデックス形式を使用できる。
【0045】ただし,ここでは,特に文書部品毎に特殊
文字列と部品識別子の組(特殊検索キー)を登録するこ
とにより,構造のみの検索(ある文書部品を含むかどう
かだけが検索条件となるような検索)を実現する。
【0046】また,テキストデータの開始終了位置に特
殊文字列を入れた疑似テキストデータを用意し,疑似テ
キストデータから検索の最小単位となる特徴素を抽出
し,検索時には「開始位置の特殊文字列+検索文字列+
終了位置の特殊文字列」と部品識別子の組を検索キーに
することで,テキストデータの完全一致検索を実現す
る。なお,ここで特徴素とは,検索システムにおいて,
検索できる最小のキーをいう。テキストデータを特徴素
に分割するには,形態素解析やN−gram分割の手法
を用いることができる。
【0047】図6にテキストインデックスへの登録処理
の手順(図3:ステップS19の処理の詳細)を示す。
図3の処理手順に示したように,テキストインデックス
15への登録は各文書部品毎に行われる。
【0048】登録の処理手順は, 1)構造の存在を表す特殊文字列と部品識別子の組(特
殊検索キー)をテキストインデックス15に登録する
(ステップS41), 2)文書部品がテキストデータを持つならば(ステップ
S42),テキストデータの開始および終了位置に特殊
文字列を挿入した疑似テキストデータを作成する(ステ
ップS43), 3)疑似テキストデータを特徴素に分割する(ステップ
S44), 4)分割した特徴素と部品識別子の組(検索キー)をテ
キストインデックス15に登録する(ステップS4
5), の4段階となる。
【0049】構造の存在を表す特殊文字列,テキストデ
ータの開始および終了位置に挿入する特殊文字列は,そ
れぞれテキストデータに出現しない文字列(文字コード
が与えられていない領域のコード値の並び)を用いれば
よい。
【0050】〔検索時の問い合わせ木のブーリアン式へ
の変換処理〕図7に構造化文書の検索処理の手順を示
す。処理手順は, 1)ユーザの問い合わせから問い合わせ木を作成(ステ
ップS51), 2)階層インデックス13を参照し,問い合わせ木をブ
ーリアン式に変換(ステップS52), 3)ブーリアン式によるテキストインデックス15の参
照(ステップS53), の3段階であり,これにより,ユーザの問い合わせに該
当する文書識別子を得る。
【0051】ユーザからの問い合わせは,オブジェクト
指向問い合わせ言語や,現在,W3Cで規格化が進めら
れているXML文書用の問い合わせ言語など,何を用い
てもよい。
【0052】問い合わせ木の作成処理の手順は,使用す
る問い合わせ言語にもよるので,ここでは問い合わせ木
の構造の例のみを図8に示す。図8(A)に示す全体の
構造は,図2(A)に示す階層インデックスに対して,
「『文書』という要素名の文書部品の子供に『部品1』
があり,その後ろに『部品2』が存在し,『部品1』の
テキストデータが『構造化』という文字列を含む」とい
う検索条件を問い合わせ木で表現した例である。
【0053】なお,子供となる部品の順序を考えない場
合には,「『部品1』があり,その後ろに『部品2』が
存在する」という条件は,「『部品1』と『部品2』が
存在する」という条件に置き換わる。
【0054】問い合わせ木は,文書部品を表すノードが
木構造を形成し,問い合わせ木と同様の木構造を部分木
として持つ文書を照合するために使用する。図8(B)
に示すように,問い合わせ木中の各々のノードは,要素
名とテキストデータの照合条件,親ノードへのポイン
タ,兄弟ノードへのポインタ,子供ノードへのポインタ
を持つ。文書部品の存在のみが問われている場合には,
テキストデータの照合条件は,図6に示したステップS
41の処理で登録した特殊文字列とする。完全一致検索
を行う場合には,テキストデータの照合条件は,「開始
位置の特殊文字列+検索文字列+終了位置の特殊文字
列」とする。
【0055】図9に問い合わせ木のブーリアン式への変
換処理の手順(図7:ステップS52の処理の詳細)を
示す。処理手順は, 1)階層インデックス13中で問い合わせ木の構造と一
致する部分を照合し,一致した部分に仮ノードを張り付
ける(ステップS61), 2)仮ノードを組み立ててブーリアン式の論理木を作成
する(ステップS62), 3)ブーリアン式の論理木よりブーリアン式(文字列)
を作成する(ステップS63), の3段階となる。全文検索エンジン内部でも,文字列で
あるブーリアン式を解析し,ブーリアン式の論理木を作
成するため,図9に示すステップS62の処理で作成す
るブーリアン式の論理木を全文検索エンジンの内部形式
と同様にすれば,ステップS63の処理をスキップでき
る。
【0056】図10に問い合わせ木の構造照合処理と仮
ノード付加処理の手順(図9:ステップS61の処理の
詳細)を示す。処理手順は, 1)問い合わせ木のノードを深さ優先で巡回する(ステ
ップS71,S72), 2)それぞれのノードに対応する階層インデックス13
のノードの集合を取得する(ステップS73), 3)上記2)の集合に対し,問い合わせ木のノードの親
子関係(祖先を含む)と同一か否かを判定する(ステッ
プS75,S76), 4)問い合わせ木のノードが複数の子供ノードを持つ場
合,階層インデックス13のノードをスタックにプッシ
ュする(ステップS77,S78), 5)問い合わせ木のノードがテキストデータの照合条件
を持つ場合(文書部品の存在のみの問い合わせも含む)
には,階層インデックス13のノードに仮ノードを張り
付ける(ステップS711), 6)階層インデックス13のノードの問い合わせリンク
を対応する問い合わせ木のノードにリンクする(ステッ
プS79,S712), の6段階となる。
【0057】仮ノードはブーリアン式の論理木のノード
となる。仮ノードには,ノードのタイプ(AND,O
R,検索キーの種類),テキストデータの照合条件,部
品識別子を持たせる。ノードのタイプがAND,ORで
あるものを中間ノードとし,図9に示すステップS62
の処理により,最終的に1つの論理木を組み立てる。
【0058】図11にブーリアン式の論理木の作成処理
の手順(図9:ステップS62の処理の詳細)を示す。
処理手順は, 1)図10に示すステップS78の処理で作成されるス
タックから,スタックが空になるまで(ステップS8
1),階層インデックス13のノードを1つ1つ取り出
す(ステップS82), 2)取り出したノードより下に張り付けている仮ノード
に対し,後述するステップS83〜ステップS89の処
理を行う, 3)スタックが空となったら,ORの仮ノードを用意
し,階層インデックス13のルートノードから下のノー
ドに張り付けているすべての仮ノードをORノードの子
供とする(ステップS810), 4)組み立てられた論理木のAND,ORノードの中
で,子供ノードが1つのものは,その子供ノードを親ノ
ードに直接リンクさせ,論理木から外す(ステップS8
11), の4段階となる。
【0059】上記2)の仮ノードに対する処理の手順
は,以下のとおりである。
【0060】(a) いくつかのORの仮ノードを用意して
おき,同じ問い合わせリンクを持つものをORノードの
子供とする(ステップS83)。
【0061】(b) ステップS83の処理で作成されたい
くつかのORノードにおいて,ANDの仮ノードを用意
し,問い合わせリンク先のノードの親ノードが同一とな
るORノードをANDノードの子供とする(ステップS
84)。
【0062】(c) 上記の2項目に該当しない仮ノード
は,スタックから取り出したノードに張り付けておく
(ステップS85)。
【0063】(d) 問い合わせ木が順序指定も含む場合に
は(ステップS86),ステップS84の処理で組み立
てられた論理木を論理式の分配規則「A AND (B OR
C) =( A AND B) OR (A AND C) 」を用いて選言
標準系(例えば,「A1 OR A2 OR A3 OR …」のよ
うな形をしており,各項が「Ai=B1 AND B2 AND
B3 AND…」となるような論理式)に変形し,問い合わ
せ木の子供ノードの順序と仮ノードが張られているノー
ドに格納されている出現位置の大小関係が一致していな
いANDノードは廃棄する(ステップS87)。ただ
し,このときの選言標準系は,仮ノードが張り付けられ
ていたところまでをリテラルとし,正式な選言標準系ま
では変形しない。
【0064】(e) 問い合わせ木の親ノードが持つ子供の
種別とANDノードの子供ノードが合わない場合には,
ANDノードを廃棄し(ステップS88),ステップS
88の処理で残ったANDノードは,ステップS82の
処理のノードに張り付けておく(ステップS89)。
【0065】上記の処理手順により,ブーリアン式の論
理木が組み立てられる。組み立てられた論理木は,図9
に示すステップS63の処理により文字列に変換され
る。この変換処理では,ブーリアン式の論理木を再帰的
に深さ優先で巡回し,ANDノードの子供ノードはAN
D式で,ORノードの子供ノードはOR式で出力する。
また,それぞれのノードの子供ノードの出力は左括弧お
よび右括弧で囲む。以下に,この変換を行う再帰的な疑
似プログラム例を示す。 ・論理木から文字列への変換関数 再帰による変換関数(val node = 最初は論理木ルート) { if((node == AND ノード) ‖(node == OR ノード)){ 左括弧を出力; for(val child = nodeの子供リンク先;child; child = child の兄弟リンク先) { if( 最初の子供以外) AND 記号もしくはOR記号の出力; } 再帰による変換関数(child); } 右括弧を出力; return; } テキストデータの照合条件と部品識別子の組を出力; return; } ブーリアン式に変換した後,ブーリアン式でテキストイ
ンデックス15を参照する処理の手順は,検索キーが検
索文字列と部品識別子の組になる以外は,従来の全文検
索エンジンの手法と同様の手順となる。
【0066】以上の処理手段を持つことにより,図1に
示すシステムは,以下のように作用する。
【0067】構造化文書の構造を表現した階層インデッ
クスと,テキストデータ中の文字列と部品識別子を検索
キーとして検索キーを含む文書識別子を参照するテキス
トインデックスと,ユーザからの問い合わせを木構造で
受け取り,ブーリアン式に変換する手段と,ブーリアン
式でテキストインデックスを参照し,問い合わせ木に該
当する文書識別子を取得する手段を持つことで,従来の
全文検索エンジンの高速性を維持しつつ,構造化文書の
検索を実行できる。
【0068】図9〜図11に示す処理手順で,ユーザの
問い合わせをブーリアン式に変換する手段を持つことに
より,文書部品の兄弟関係を検索条件に含めることがで
きる。
【0069】図10に示すステップS73の処理におい
て,要素リンクを用いて階層インデックスのノードの中
で同じ要素名を持つノードを取得するため,高速に同じ
要素名を持つノードの集合を取得することができる。ま
た,ステップS76の処理において,階層インデックス
における祖先の判定は,子供ノードからの親リンクを辿
ることで祖先の判定を行うため,親ノードから子供ノー
ドを辿る手順に比べて,子供ノードにおける兄弟リンク
を辿る手順を省く効果がある。同時に,階層インデック
スには文書中の兄弟ノードの出現位置を保持させること
で,異なる要素名の文書部品の出現順序を検索条件に入
れるかどうかを検索時に切り替えることができる。
【0070】テキストインデックスには,各文書部品毎
に特殊文字列と部品識別子の組となる特殊な検索キーを
登録する手段を持つことで,従来の全文検索エンジンの
枠組を崩さずに,文書部品の存在のみの検索条件を処理
することができる。
【0071】各文書部品のテキストデータ毎にテキスト
データの開始および終了位置に特殊文字列を挿入した疑
似テキストデータを作成し,疑似テキストデータからテ
キストインデックスに登録する検索キーを作成する手段
を持つことで,テキストデータの照合に完全一致/部分
一致の2つの照合手段を選択することができる。
【0072】
【実施例】〔実施例1〕以下,簡単な構造を持つ文書に
対する実施例を説明する。「発明が解決しようとする課
題」の説明で使用した以下の2つの文書を用いる。
【0073】・文書1 <文書> <部品1>構造化</部品1> <部品2>文書</部品2> <部品3>検索</部品3> </文書> ・文書2 <文書> <部品2>文書</部品2> <部品1>構造化</部品1> <部品3>検索</部品3> </文書> (1)文書登録 以下に,簡単な構造を持つ文書を登録した場合の処理例
を示す。図12および図13を用いて,階層インデック
ス13への登録処理を説明する。上記の2つの文書(文
書1,文書2)は,以下で説明する手順により,最終的
に図2(A)に示すものと同様の階層インデックスとし
て登録されることになる。
【0074】1)図3に示すステップS11の処理によ
り,階層インデックスのルートノードが作成される。ル
ートノードには,兄弟部品中の出現位置や部品識別子と
してダミー値を持たせる(図12(A)参照)。
【0075】2)文書1の登録において,階層インデッ
クスには,まだ何も登録されていないため,すべての文
書部品が新規のメタ部品として登録される。また,図5
に示すステップS37の処理により,ワークバッファ4
1にはそれぞれの文書部品名とノードへのリンクを格納
しておく(図12(B)参照)。
【0076】3)文書2の登録において,文書2のルー
トとなる文書部品「文書」は,上位メタ部品,要素名,
文書中における兄弟部品での出現位置がすべて同一のノ
ードが既に登録されているため,特別な処理はない。
【0077】次に,「文書」の最初の子供である「部品
2」は,上位メタ部品と要素名が同一となるノードは登
録されているが,兄弟部品中での出現位置が違うため,
異なるメタ部品と判定され,新規に登録される。また,
ワークバッファ41には,すでに「部品2」が登録され
ているため,図5に示すステップS38により,ワーク
バッファ41からリンクされているノードの要素リンク
を新規のノードへ張り,ワークバッファ41には新規の
ノードを登録する(図12(C)参照)。
【0078】4)文書2の「部品1」も「部品2」の場
合と同様に新規に登録される。ワークバッファ41にお
ける要素リンクの張り替えも同様である(図13(A)
参照)。
【0079】5)文書2の「部品3」は,上位メタ部
品,要素名,文書中における兄弟部品での出現位置がす
べて同一のノードが既に登録されているため,特別な処
理はない。また,これが登録する最後の文書部品である
ため,ワークバッファ41が解放され,最終的な階層イ
ンデックスができあがる(図13(B)参照)。
【0080】上記の2つの文書をテキストインデックス
15に登録する場合の処理を,図14を用いて説明す
る。図14に示すテキストインデックスへの登録例は,
以下の構成を用いた場合である。
【0081】 ・インデックス形式にインバーテッドファイル形式を使
用 ・特徴素はバイグラム(2文字連続)で抽出 ・構造の存在を表す特殊文字列には「??」を使用 ・テキストデータの開始位置の特殊文字列には「^」を
使用 ・テキストデータの終了位置の特殊文字列には「$」を
使用 インバーテッドファイル形式は,検索キー51と,検索
キーを含む文書の文書識別子リスト52の2つの構成と
なる。検索キー51には,テキストデータから抽出した
特徴素とそれが存在している部品識別子を登録する。検
索キーを含む文書の文書識別子リスト52の集合には,
それぞれの検索キーが含まれている文書の文書識別子を
並べて登録する。また,必要ならば,文書中の出現位置
や出現回数を登録する。図14では,「文書識別子:出
現位置,…」の形式で登録した場合の例を示している。
例えば,特徴素が「検索」であり,部品識別子が「3」
の検索キーは,文書識別子リスト52において「1:
8,2:8」となっており,これは「文書1の8の位
置,文書2の8の位置」に出現していることを表してい
る。構造の存在を表す特殊キー「??」の出現位置に
は,ダミーの値(ここでは−1)を入れてある。
【0082】(2)検索 続いて,簡単な構造を持つ文書の検索時の処理例を説明
する。以下の5つの検索要求1〜検索要求5を例として
取り上げる。
【0083】[検索要求1]検索要求1では,文書部品
として「部品1」を含む文書を検索する。図15および
図16を用いて,検索要求1をブーリアン式に変換する
場合の内部動作を説明する。
【0084】1)問い合わせ木は1ノードで形成され,
この問い合わせ木のノードには要素名として「部品
1」,テキストデータの照合条件として『??』が格納
されている(図15(A)参照)。
【0085】2)図10に示す処理手順により,階層イ
ンデックス中の「部品1」のノードに仮ノードが張り付
けられる。また,仮ノードが張り付けられたノードの問
い合わせリンクに問い合わせ木のノードをリンクする
(図15(B)参照)。
【0086】3)検索要求1に対する問い合わせ木は,
図10に示すステップS77の処理の条件を満たさない
ため,スタックには何も入っていない状態となる。そこ
で,図11に示すステップS81の処理の条件を満た
し,ステップS810の処理により,上記2)の仮ノー
ドがブーリアン式の論理木においてORノードの子供ノ
ードとなる(図16参照)。
【0087】4)上記3)で組み立てられたブーリアン
式の論理木を図9に示すステップS63の処理により文
字列に変換し,最終的なブーリアン式を得る。1つの検
索キーを「検索文字列@部品識別子」,OR演算子を
「OR」,AND演算子を「AND」,括弧記号
を「(」「)」と記述した場合,最終的なブーリアン式
は以下のような文字列となる。
【0088】( ??@1 OR ??@5 )変換されたブー
リアン式を用いて,図14に示すテキストインデックス
を参照し,検索結果として文書識別子「1」「2」を得
る。
【0089】[検索要求2]検索要求2では,「部品
3」のテキストデータが『検索』を含む文書を検索する
(部分一致)。図17を用いて,検索要求2をブーリア
ン式に変換する場合の内部動作を説明する。
【0090】1)問い合わせ木は1ノードで形成され,
このノードには要素名として「部品3」,テキストデー
タの照合条件として『検索』が格納されている。
【0091】2)図10に示す処理手順により,階層イ
ンデックス中の「部品3」のノードに仮ノードが張り付
けられる。また,仮ノードが張り付けられたノードの問
い合わせリンクに問い合わせ木のノードをリンクする
(図17(A)参照)。
【0092】3)検索要求2に対する問い合わせ木も図
10に示すステップS77の処理の条件を満たさないた
め,スタックには何も入っていない状態となる。そこ
で,図11に示すステップS81の処理の条件を満た
し,ステップS810の処理により,上記2)の仮ノー
ドがORノードの子供ノードとなる(図17(B)参
照)。
【0093】4)上記3)で組み立てられたブーリアン
式の論理木を図11に示すステップS811の処理によ
り形を整えた後,図9に示すステップS63の処理によ
り文字列に変換し,最終的に以下のようなブーリアン式
を得る。
【0094】(検索@3)変換されたブーリアン式を用
いて,図14に示すテキストインデックスを参照し,検
索結果として文書識別子「1」「2」を得る。
【0095】[検索要求3]検索要求3では,「部品
3」のテキストデータが『検索』である文書を検索する
(完全一致)。テキストデータの完全一致を行う場合
は,問い合わせ木のテキストデータの照合条件が『^検
索$』となる以外は,上記の検索要求2の場合と同様の
処理であり,最終的に以下のようなブーリアン式を得
る。
【0096】(^検索$@3)上記のように,検索文字
列がいくつかの特徴素に分割される場合には,単純に図
14に示すテキストインデックスを参照するだけでな
く,各特徴素の出現位置を調べ,それらが一列に並んで
いるかどうかを調べる必要がある。
【0097】上記のブーリアン式において, ・『^検』は「文書1の7番目,文書2の7番目」 ・『検索』は「文書1の8番目,文書2の8番目」 ・『索$』は「文書1の9番目,文書2の9番目」 に出現し,それぞれが一列に並んでいるため,検索結果
として文書識別子「1」「2」を得る。
【0098】[検索要求4]検索要求4では,「文書」
の子供に「部品1」と「部品2」が存在し,「部品1」
のテキストデータが『構造』という文字列を含む文書を
検索する(文書部品の兄弟関係の順序なし検索)。
【0099】図18〜図21を用いて,検索要求4をブ
ーリアン式に変換する場合の内部動作を説明する。
【0100】1)図18(A)に示すように,問い合わ
せ木は3ノードで形成され,各ノードはそれぞれ以下の
情報を格納している。
【0101】・要素名:「文書」,テキストデータの照
合条件:なし(問い合わせ木の親ノードにはテキストデ
ータの照合条件を持たせなくてよい。) ・要素名:「部品1」,テキストデータの照合条件:
『構造』 ・要素名:「部品2」,テキストデータの照合条件:
『??』 これらのノードに対し,深さ優先で図10に示す手順の
処理が行われる。
【0102】2)始めに,要素名「文書」のノードが処
理される。図10に示すステップS77の処理の条件を
満たすため,ステップS78の処理により,階層インデ
ックス中の該当するノードがスタック42に格納され
る。また,ステップS79の処理により,スタック42
に格納するノードの問い合わせリンクを問い合わせ木の
ノードにリンクする(図18(A)参照)。
【0103】3)次に,要素名「部品1」のノードが処
理され,図10に示すステップS711の処理により,
階層インデックス中の該当するノードに仮ノードが張り
付けられる。同様に,要素名「部品2」のノードが処理
される(図18(B)参照)。
【0104】4)スタック42に1つノードが格納され
ているため,図11に示すステップS82の処理によ
り,そのノードが取り出される。
【0105】5)取り出したノードより下にある仮ノー
ドにおいて,ステップS83の処理により,同じ問い合
わせリンクを持つ仮ノードをORノードの子供ノードと
する(図19参照)。
【0106】6)次に,ステップS84の処理により,
上記のORノードのうちで,問い合わせリンク先の親ノ
ードが同じとなるものをANDノードの子供ノードとす
る(図20参照)。
【0107】7)「兄弟関係の順序なし」であるため,
ステップS87の処理は行わず,ステップS89の処理
により,上記のANDノードをスタック42から取り出
したノードに張り付けておく(図21(A)参照)。
【0108】8)ここでスタック42が空となり,ステ
ップS810の処理により,上記7)のANDノードが
ORノードの子供ノードとなる(図21(B)参照)。
【0109】9)上記8)で組み立てられたブーリアン
式の論理木を図11に示すステップS811の処理によ
り形を整えた後(図21(C)参照),図9に示すステ
ップS63の処理により文字列に変換し,最終的に以下
のようなブーリアン式を得る。
【0110】((構造@1 OR 構造@5)) AND (??@2
OR ??@4)) 変換されたブーリアン式を用いて,図14に示すテキス
トインデックスを参照し,検索結果として文書識別子
「1」「2」を得る。
【0111】[検索要求5]検索要求5では,「文書」
の子供に「部品1」があり,その後ろに「部品2」が存
在し,「部品1」のテキストデータが『構造』という文
字列を含む文書を検索する(文書部品の兄弟関係の順序
付き検索)。
【0112】文書部品の兄弟関係に兄/弟の順序関係を
検索条件と含める場合の処理は,検索要求4の処理手順
に図11に示すステップS87の処理を加えるだけであ
る。よって,ステップS87までの処理は,検索要求4
の場合と同様となる。
【0113】1)検索要求4の場合と同様に階層インデ
ックスに仮ノードが張られ,スタック42には,問い合
わせ木の親ノードに該当するノードが格納される。ま
た,ステップS83,S84の処理によりORノード,
ANDノードによる論理式が組み立てられる(図22参
照)。
【0114】2)図11に示すステップS87の処理に
より,論理式の分配規則を用いて,選言標準系になるよ
うにORノード, ANDノードのリンクを張りかえる
(図23参照)。
【0115】3)図23の各ANDノードの中で,それ
ぞれの子供ノードが張りつけられている階層インデック
スのノードの出現位置情報を参照し,順序付きの兄弟関
係を満たさないANDノードを廃棄する。図23に示す
例では,順序付きの兄弟関係を満たすANDノードは最
左のノードだけであり,その他のノードは廃棄される
(図24(A)参照)。
【0116】4)ステップS87以降の処理は,検索要
求4の場合と同様であり,図11に示すステップS81
1の処理が終了した段階で得られる論理木は,図24
(B)に示す論理木となる。この論理木に対し,図9に
示すステップS63の処理により文字列に変換し,最終
的に以下のようなブーリアン式を得る。
【0117】(構造@1 AND ??@2)この変換され
たブーリアン式を用いて,図14に示すテキストインデ
ックスを参照し,検索結果として文書識別子「1」を得
る。
【0118】〔実施例2〕次に,多段階の兄弟関係指定
を持つ問い合わせ木に対するブーリアン式への変換処理
について説明する。構造が複雑になった文書を処理する
場合でも,基本的な処理は,上述した構造が簡単な文書
の場合と変わらない。複雑になるのは,階層インデック
スの構造と,問い合わせ木に対するブーリアン式への変
換における内部動作である。複雑な構造を持つ文書に対
する実施例を,以下の3つの文書(文書1,文書2,文
書3)の例を用いて説明する。
【0119】・文書1 <文書> <題名>構造化文書検索</題名> <著者> <氏名>山田太郎</氏名> <所属>渋谷研究所</所属> </著者> </文書> ・文書2 <文書> <題名>全文検索エンジン</題名> <著者> <氏名>山田太郎</氏名> <所属>渋谷研究所</所属> </著者> <著者> <氏名>鈴木花子</氏名> <所属>新宿研究所</所属> </著者> </文書> ・文書3 <文書> <著者> <氏名>山田太郎</氏名> </著者> <著者> <氏名>鈴木花子</氏名> <所属>渋谷研究所</所属> </著者> <題名>構造化文書の管理</題名> </文書> 上記の文書は,要素の繰り返しがある(文書2),要素
の欠損がある(文書3),といった文書例である。図2
5に,上記の3つの文書を階層インデックス13に登録
した場合の階層インデックスへの登録例を示す。同時
に,図26にテキストインデックス15への登録の一部
を示す。テキストインデックスの形式は,簡単な構造を
持った文書に対する実施例の場合と同様である。
【0120】図27〜図32を用いて,以下のような検
索要求に対するブーリアン式への変換の内部動作を説明
する。
【0121】[検索要求6]検索要求6では,「氏名」
が『山田太郎』,「所属」が『渋谷研究所』である「著
者」が書いた「文書」で「題名」に『構造化文書』が含
まれる文書を検索する。文書部品の兄弟関係の順序は無
視する。
【0122】1)図27に示すように,問い合わせ木は
5ノードで形成され,「著者」ノードが「氏名」ノード
と「所属」ノードの親,「文書」ノードが「著者」ノー
ドと「題名」ノードの親,といった2段階の兄弟関係を
含んでいる。始めに,「文書」ノードが処理され,「文
書」ノードは図10に示すステップS77の条件を満た
すため,該当する階層インデックスのノードがスタック
42にプッシュされる(図27参照)。
【0123】2)次に,「著者」ノードが処理され,
「文書」ノードと同様にスタック42にプッシュされ
る。スタック42にプッシュされる順番は,要素リンク
を辿った順序となる(図28参照)。
【0124】3)次に,「氏名」ノード,「所属」ノー
ド,「題名」ノードの順に処理され,該当する階層イン
デックスのノードに仮ノードが張り付けられる(図29
参照。図29の例では説明を簡単にするため,説明に出
てこないリンクは示していない)。
【0125】4)スタック42に格納されているノード
を順々に取り出し,ノードの下にある仮ノードをORノ
ード, ANDノードの子供ノードとする。このとき,要
素名:「著者」/出現位置:0/部品識別子:8のノー
ドの下は,図11に示すステップS88の処理における
ANDノードの条件を満たしていないため,その下の仮
ノードは廃棄される(図30参照)。
【0126】5)次に,「文書」ノードに該当する階層
インデックスのノードの下の仮ノードを図11に示すス
テップS83,S84の処理により,ORノード, AN
Dノードの子供ノードとする(図31参照)。
【0127】6)図11に示すステップS811の処理
が終了した段階で得られる論理木は,図32に示す論理
木となる。この論理木に対し,図9に示すステップS6
3の処理により文字列に変換し,最終的に以下のような
ブーリアン式を得る。
【0128】 ((( 山田太郎@3 AND 渋谷研究所@4) OR(山田太郎
@6 AND 渋谷研究所@7))AND ( 構造化文書@1 OR
構造化文書@10)) この変換されたブーリアン式を用いて,図26に示すテ
キストインデックスを参照し,検索結果として文書識別
子「1」を得る。
【0129】[検索要求7]検索要求7では,検索要求
6に対し,文書部品の兄弟関係の順序付きとする。すな
わち,「氏名」が『山田太郎』,「所属」が『渋谷研究
所』である「著者」が書いた「文書」で「題名」に『構
造化文書』が含まれる文書であり,かつ「氏名」が「所
属」よりも先,「著者」が「題名」よりも先に出現する
文書を検索する。
【0130】1)文書部品の兄弟関係の順序付きが検索
要求に含まれ,図11に示すステップS87の処理を行
うが,「氏名」が「所属」よりも先に出現の条件は,す
べての文書に当てはまるため,上記の検索要求6の4)
の処理(図30に示す例)までは同一の処理となる。
【0131】2)次に,スタック42に格納されてあっ
た「文書」ノードに該当する階層インデックスのノード
の下の仮ノードに対し,図11に示すステップS83,
S84の処理を行うと,図33に示すような論理木が組
み立てられる。
【0132】3)図33に示す論理木を選言標準系に変
形すると,図34に示すような状態になり,ここで,右
から2つ目以外のANDノードが順序関係を満たしてい
ないため,それらのANDノードが廃棄される。
【0133】4)最終的に図35に示す論理木が組み立
てられ,図9に示すステップS63の処理により文字列
に変換し,以下のようなブーリアン式を得る。
【0134】((山田太郎@3 AND 渋谷研究所@4) AN
D 構造化文書@10) この変換されたブーリアン式を用いて,図26に示すテ
キストインデックスを参照し,検索結果として「該当文
書なし」を得る。
【0135】
【発明の効果】以上説明したように,本発明によれば,
構造化文書の構造を表現した階層インデックスと,テキ
ストデータ中の文字列と部品識別子を検索キーとして含
む文書識別子を参照するテキストインデックスを備え,
ユーザの問い合わせを木構造で受け取り,ブーリアン式
に変換して,テキストインデックスを参照し,問い合わ
せ木に該当する文書識別子を取得することができる。こ
れにより,従来の全文検索エンジンの高速性を維持しつ
つ,構造化文書の検索ができる。
【0136】また,階層インデックスは,文書部品の兄
弟関係を記憶するので,検索条件に親子関係のみならず
兄弟関係を使用することができる。これにより,従来よ
り精度の高い検索結果が取得できる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるシステム構成例を
示す図である。
【図2】階層インデックスの例を示す図である。
【図3】構造化文書の登録処理の手順を示す図である。
【図4】メタ部品の判定処理の手順を示す図である。
【図5】階層インデックスへの登録処理の手順を示す図
である。
【図6】テキストインデックスへの登録処理の手順を示
す図である。
【図7】構造化文書の検索処理の手順を示す図である。
【図8】問い合わせ木の構造の例を示す図である。
【図9】問い合わせ木のブーリアン式への変換処理の手
順を示す図である。
【図10】問い合わせ木の構造照合処理と仮ノード付加
処理の手順を示す図である。
【図11】ブーリアン式の論理木の作成処理の手順を示
す図である。
【図12】簡単な構造を持つ文書の階層インデックスへ
の登録処理を説明するための図である。
【図13】簡単な構造を持つ文書の階層インデックスへ
の登録処理を説明するための図である。
【図14】簡単な構造を持つ文書のテキストインデック
スへの登録例を示す図である。
【図15】検索要求1をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図16】検索要求1をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図17】検索要求2をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図18】検索要求4をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図19】検索要求4をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図20】検索要求4をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図21】検索要求4をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図22】検索要求5をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図23】検索要求5をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図24】検索要求5をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図25】複雑な構造を持つ文書の階層インデックスへ
の登録例を示す図である。
【図26】複雑な構造を持つ文書のテキストインデック
スへの登録例を示す図である。
【図27】検索要求6をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図28】検索要求6をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図29】検索要求6をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図30】検索要求6をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図31】検索要求6をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図32】検索要求6をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図33】検索要求7をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図34】検索要求7をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【図35】検索要求7をブーリアン式へ変換する場合の
内部動作を説明するための図である。
【符号の説明】
1 構造化文書検索装置 11 文書構造解析部 12 階層インデックス登録部 13 階層インデックス 14 テキストインデックス登録部 15 テキストインデックス 16 問い合わせ受付部 17 問い合わせ変換部 18 階層インデックス参照部 19 テキストインデックス参照部 20 構造化文書 21 インタフェース 22 文書管理エンジン 23 構造化文書格納データベース(DB)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 構造化文書の構造およびテキストデータ
    を検索する装置において,個々の構造化文書における要
    素である各文書部品について構造上共通性のあるものを
    メタ部品とし,メタ部品を1ノードとして各文書部品の
    階層関係を木構造で表現した階層インデックスを記憶す
    る手段と,テキストデータ中の文字列とメタ部品を識別
    する部品識別子との組と,それらが出現する文書の文書
    識別子との関係情報を登録したテキストインデックスを
    記憶する手段と,検索要求として文書部品の兄弟関係を
    含む関係を木構造で表すことのできる検索条件を指定し
    た問い合わせを入力し,その問い合わせを木構造で表し
    た問い合わせ木をもとに,前記階層インデックスにより
    構造を検索し,その構造の検索結果から前記テキストイ
    ンデックスを参照して問い合わせ木に該当する文書を検
    索する検索手段とを備えることを特徴とする構造化文書
    検索装置。
  2. 【請求項2】請求項1記載の構造化文書検索装置におい
    て,前記問い合わせでは,検索条件として文書部品の順
    序付きの兄弟関係または順序なしの兄弟関係のいずれか
    を選択的に指定することができ,前記検索手段は,問い
    合わせ木と前記階層インデックスとの照合を,指定され
    た順序付きの兄弟関係または順序なしの兄弟関係に基づ
    いて行うことを特徴とする構造化文書検索装置。
  3. 【請求項3】請求項1記載の構造化文書検索装置におい
    て,前記検索手段は,前記階層インデックスを参照し,
    問い合わせ木を文字列と部品識別子の組を1つの検索キ
    ーとするブーリアン式に変換する手段と,前記テキスト
    インデックスを参照し,前記ブーリアン式により問い合
    わせ木に該当する文書の文書識別子を取得する手段とを
    持つことを特徴とする構造化文書検索装置。
  4. 【請求項4】 請求項3記載の構造化文書検索装置にお
    いて,前記検索手段は,問い合わせ木で表現された文書
    部品の兄弟関係による検索条件をブーリアン式に変換す
    ることを特徴とする構造化文書検索装置。
  5. 【請求項5】 請求項1記載の構造化文書検索装置にお
    いて,前記階層インデックスにおけるメタ部品のノード
    は,上位ノードが同一のメタ部品であり,かつ同一の要
    素名であり,かつ文書における兄弟部品中の出現位置が
    同一であることを条件として生成されたものであり,各
    ノードは,文書における兄弟部品中の出現位置の情報,
    子ノードから親ノードへのリンク,および同じ要素名を
    持つノードへのリンクを持つことを特徴とする構造化文
    書検索装置。
  6. 【請求項6】 構造化文書の構造およびテキストデータ
    を検索する構造化文書検索方法において,検索要求とし
    て木構造で表すことのできる問い合わせであって,構造
    化文書における要素である文書部品の兄弟関係を検索条
    件として指定することができる問い合わせを入力し,そ
    の問い合わせを木構造で表した問い合わせ木を作成する
    過程と,前記問い合わせ木の構造と,検索対象の個々の
    構造化文書における要素である各文書部品の階層関係
    を,メタ部品を1ノードとする木構造で表現した情報を
    持つ階層インデックスの構造とを照合し,一致する部分
    をもとに文字列と前記メタ部品を識別する部品識別子と
    の組からなる検索キーを生成する過程と,前記検索キー
    をもとに,検索対象の構造化文書におけるテキストデー
    タ中の文字列とメタ部品の部品識別子との組と,それら
    が出現する文書の文書識別子との関係情報を登録したテ
    キストインデックスを参照し,前記問い合わせ木に該当
    する文書を検索する過程とを有することを特徴とする構
    造化文書検索方法。
  7. 【請求項7】 コンピュータによって構造化文書の構造
    およびテキストデータを検索するためのプログラムを記
    録した記録媒体であって,検索要求として木構造で表す
    ことのできる問い合わせであって,構造化文書における
    要素である文書部品の兄弟関係を検索条件として指定す
    ることができる問い合わせを入力し,その問い合わせを
    木構造で表した問い合わせ木を作成する処理と,前記問
    い合わせ木の構造と,検索対象の個々の構造化文書にお
    ける要素である各文書部品の階層関係を,メタ部品を1
    ノードとする木構造で表現した情報を持つ階層インデッ
    クスの構造とを照合し,一致する部分をもとに文字列と
    前記メタ部品を識別する部品識別子との組からなる検索
    キーを生成する処理と,前記検索キーをもとに,検索対
    象の構造化文書におけるテキストデータ中の文字列とメ
    タ部品の部品識別子との組と,それらが出現する文書の
    文書識別子との関係情報を登録したテキストインデック
    スを参照し,前記問い合わせ木に該当する文書を検索す
    る処理とを,コンピュータに実行させるためのプログラ
    ムを記録したことを特徴とする構造化文書検索用プログ
    ラム記録媒体。
  8. 【請求項8】 検索要求として構造化文書における要素
    である文書部品を木構造で表すことのできる問い合わせ
    を入力し,検索対象となる構造化文書における各文書部
    品の階層関係を,メタ部品を1ノードとする木構造で表
    現した階層インデックスと,テキストデータ中の文字列
    とメタ部品を識別する部品識別子の組をキーとし,キー
    とキーが出現する文書の文書識別子を登録したテキスト
    インデックスとを参照して,構造化文書の構造およびテ
    キストデータを検索する装置において用いられるインデ
    ックスを作成する方法であって,前記階層インデックス
    を作成する際に,検索対象となる各構造化文書における
    各文書部品について,上位ノードが同一のメタ部品であ
    り,かつ同一の要素名であり,かつ文書における兄弟部
    品中の出現位置が同一であることを条件とするメタ部品
    であるかどうかを判定し,メタ部品である場合にその文
    書部品に対して部品識別子を付与し,それを階層インデ
    ックスのノードとして登録し,そのノードに文書におけ
    る兄弟部品中の出現位置の情報,子ノードから親ノード
    へのリンク,および同じ要素名を持つノードへのリンク
    を設定することを特徴とする構造化文書検索用インデッ
    クス作成方法。
  9. 【請求項9】 検索要求として構造化文書における要素
    である文書部品を木構造で表すことのできる問い合わせ
    を入力し,検索対象となる構造化文書における各文書部
    品の階層関係を,メタ部品を1ノードとする木構造で表
    現した階層インデックスを参照するとともに,テキスト
    データ中の文字列とメタ部品を識別する部品識別子の組
    をキーとし,キーとキーが出現する文書の文書識別子を
    登録したテキストインデックスとを参照して,構造化文
    書の構造およびテキストデータを検索する装置において
    用いられるインデックスを作成する方法であって,前記
    テキストインデックスの作成においてテキストデータ中
    の文字列と部品識別子の組を作成する際に,各文書部品
    毎に特殊文字列と部品識別子の組となる特殊な検索キー
    を作成し,テキストインデックスに登録することを特徴
    とする構造化文書検索用インデックス作成方法。
  10. 【請求項10】 検索要求として構造化文書における要
    素である文書部品を木構造で表すことのできる問い合わ
    せを入力し,検索対象となる構造化文書における各文書
    部品の階層関係を,メタ部品を1ノードとする木構造で
    表現した階層インデックスを参照するとともに,テキス
    トデータ中の文字列とメタ部品を識別する部品識別子の
    組をキーとし,キーとキーが出現する文書の文書識別子
    を登録したテキストインデックスとを参照して,構造化
    文書の構造およびテキストデータを検索する装置におい
    て用いられるインデックスを作成する方法であって,前
    記テキストインデックスの作成においてテキストデータ
    中の文字列と部品識別子の組を作成する際に,テキスト
    データ毎にテキストデータの開始および終了位置に特殊
    文字列を挿入した疑似テキストデータを作成し,疑似テ
    キストデータからテキストインデックスに登録する検索
    キーを作成することを特徴とする構造化文書検索用イン
    デックス作成方法。
JP35385799A 1999-12-14 1999-12-14 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法 Pending JP2001167087A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35385799A JP2001167087A (ja) 1999-12-14 1999-12-14 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
US09/725,680 US6853992B2 (en) 1999-12-14 2000-11-30 Structured-document search apparatus and method, recording medium storing structured-document searching program, and method of creating indexes for searching structured documents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35385799A JP2001167087A (ja) 1999-12-14 1999-12-14 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法

Publications (1)

Publication Number Publication Date
JP2001167087A true JP2001167087A (ja) 2001-06-22

Family

ID=18433704

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35385799A Pending JP2001167087A (ja) 1999-12-14 1999-12-14 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法

Country Status (2)

Country Link
US (1) US6853992B2 (ja)
JP (1) JP2001167087A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091537A (ja) * 2001-09-17 2003-03-28 Ricoh Co Ltd ツリー系統図出力方法及びツリー系統図出力プログラム
JP2008065543A (ja) * 2006-09-06 2008-03-21 Toshiba Corp 構造化文書検索装置及び構造化文書検索方法
JP2017511524A (ja) * 2014-10-22 2017-04-20 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド マルチラウンドセッションインタラクション方法、システム及びコンピュータ装置
US9720959B2 (en) 2013-07-16 2017-08-01 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US9727662B2 (en) 2013-07-16 2017-08-08 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
JP2023008685A (ja) * 2021-07-06 2023-01-19 株式会社 情報システムエンジニアリング 情報提供システム、情報提供方法、及びデータ構造

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782380B1 (en) * 2000-04-14 2004-08-24 David Victor Thede Method and system for indexing and searching contents of extensible mark-up language (XML) documents
US7110992B2 (en) * 2000-12-29 2006-09-19 International Business Machines Corporation Searchable logical document architecture
US7334196B2 (en) * 2001-06-25 2008-02-19 Siemens Medical Solutions Health Services Corporation User interface display navigation and item selection system
JP4490012B2 (ja) * 2001-11-26 2010-06-23 富士通株式会社 ファイル検索装置、ファイル検索プログラム
US20050262033A1 (en) * 2002-03-29 2005-11-24 Kazuhiko Yamashita Data recording apparatus, data recording method, program for implementing the method, and program recording medium
TWI289261B (en) * 2002-09-11 2007-11-01 Hon Hai Prec Ind Co Ltd System and method for dynamically generating a HTTP query
US7461051B2 (en) * 2002-11-11 2008-12-02 Transparensee Systems, Inc. Search method and system and system using the same
US20040243531A1 (en) * 2003-04-28 2004-12-02 Dean Michael Anthony Methods and systems for representing, using and displaying time-varying information on the Semantic Web
US20040230602A1 (en) * 2003-05-14 2004-11-18 Andrew Doddington System and method for decoupling data presentation layer and data gathering and storage layer in a distributed data processing system
US7356528B1 (en) * 2003-05-15 2008-04-08 At&T Corp. Phrase matching in documents having nested-structure arbitrary (document-specific) markup
US20040236724A1 (en) * 2003-05-19 2004-11-25 Shu-Yao Chien Searching element-based document descriptions in a database
US7203679B2 (en) * 2003-07-29 2007-04-10 International Business Machines Corporation Determining structural similarity in semi-structured documents
US7792866B2 (en) * 2003-08-25 2010-09-07 International Business Machines Corporation Method and system for querying structured documents stored in their native format in a database
US8250093B2 (en) 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US8150818B2 (en) * 2003-08-25 2012-04-03 International Business Machines Corporation Method and system for storing structured documents in their native format in a database
US7519574B2 (en) * 2003-08-25 2009-04-14 International Business Machines Corporation Associating information related to components in structured documents stored in their native format in a database
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US8869061B1 (en) 2003-08-29 2014-10-21 Microsoft Corporation User interface for searching an electronic document
US7685103B2 (en) * 2003-09-29 2010-03-23 International Business Machines Corporation Method, system, and program for predicate processing by iterator functions
US7590936B1 (en) 2003-09-30 2009-09-15 Microsoft Corporation Method for extracting information associated with a search term
JP4247108B2 (ja) * 2003-12-25 2009-04-02 株式会社東芝 構造化文書検索方法、構造化文書検索装置、及びプログラム
US7636710B2 (en) * 2004-03-04 2009-12-22 Symantec Operating Corporation System and method for efficient file content searching within a file system
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
US7680811B2 (en) * 2004-04-16 2010-03-16 Infoblox Inc. Set based data store
JP4309818B2 (ja) * 2004-07-15 2009-08-05 株式会社東芝 構造化文書管理装置、検索装置、記憶方法、検索方法及びプログラム
JP2006127235A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 構造化文書管理システム、構造化文書管理方法及びプログラム
JP2006185408A (ja) * 2004-11-30 2006-07-13 Matsushita Electric Ind Co Ltd データベース構築装置及びデータベース検索装置及びデータベース装置
KR20070101288A (ko) * 2005-01-25 2007-10-16 가부시키가이샤 터보 데이터 라보라토리 트리의 검색, 집계, 소트 방법, 정보 처리 장치, 및 트리의검색, 집계, 소트 프로그램
US7533088B2 (en) * 2005-05-04 2009-05-12 Microsoft Corporation Database reverse query matching
US8280719B2 (en) * 2005-05-05 2012-10-02 Ramp, Inc. Methods and systems relating to information extraction
US8433711B2 (en) * 2005-09-09 2013-04-30 Kang Jo Mgmt. Limited Liability Company System and method for networked decision making support
JP4186973B2 (ja) * 2005-09-28 2008-11-26 ブラザー工業株式会社 ファクシミリ送信装置、ファクシミリ送信プログラム、ファクシミリ送信方法、およびファクシミリ送信システム
CA2630683C (en) * 2005-11-23 2014-10-28 Anthony Scriffignano System and method for searching and matching data having ideogrammatic content
JP4489029B2 (ja) * 2006-02-01 2010-06-23 株式会社東芝 構造化文書検索システムおよび構造化文書検索方法
US7598954B2 (en) * 2006-03-01 2009-10-06 Microsoft Corporation Adapting and rendering graphic effects
US20070239673A1 (en) * 2006-04-05 2007-10-11 Barsness Eric L Removing nodes from a query tree based on a result set
US20070282816A1 (en) * 2006-06-05 2007-12-06 Shing-Jung Tsai Method and structure for string partial search
CN100573520C (zh) * 2006-08-29 2009-12-23 国际商业机器公司 为检索对多个文档进行预处理的方法和装置
US20080071735A1 (en) * 2006-09-05 2008-03-20 International Business Machines Corporation Method, apparatus, and computer progam product for data transformation
JP4146479B2 (ja) * 2006-09-28 2008-09-10 株式会社東芝 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム
JP4374014B2 (ja) * 2006-11-21 2009-12-02 株式会社日立製作所 インデクス生成装置及びそのプログラム
US8131536B2 (en) * 2007-01-12 2012-03-06 Raytheon Bbn Technologies Corp. Extraction-empowered machine translation
US8059126B2 (en) * 2007-03-30 2011-11-15 Computer Associates Think, Inc. System and method for indicating special characters to be interpreted literally
US7890539B2 (en) * 2007-10-10 2011-02-15 Raytheon Bbn Technologies Corp. Semantic matching using predicate-argument structure
US20090240661A1 (en) * 2008-03-18 2009-09-24 Morgan Christopher B Integration for intelligence data systems
US8351691B2 (en) * 2008-12-18 2013-01-08 Canon Kabushiki Kaisha Object extraction in colour compound documents
US8266135B2 (en) 2009-01-05 2012-09-11 International Business Machines Corporation Indexing for regular expressions in text-centric applications
US8549398B2 (en) 2009-09-17 2013-10-01 International Business Machines Corporation Method and system for handling non-presence of elements or attributes in semi-structured data
US8266151B2 (en) * 2009-10-30 2012-09-11 Oracle International Corporationn Efficient XML tree indexing structure over XML content
US10698953B2 (en) * 2009-10-30 2020-06-30 Oracle International Corporation Efficient XML tree indexing structure over XML content
US20110167336A1 (en) * 2010-01-04 2011-07-07 Hit Development Llc Gesture-based web site design
US8346813B2 (en) 2010-01-20 2013-01-01 Oracle International Corporation Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8447785B2 (en) 2010-06-02 2013-05-21 Oracle International Corporation Providing context aware search adaptively
US8566343B2 (en) 2010-06-02 2013-10-22 Oracle International Corporation Searching backward to speed up query
JP5594120B2 (ja) * 2010-12-17 2014-09-24 富士通株式会社 データ変換プログラム、データ変換装置およびデータ変換方法
WO2012126180A1 (en) 2011-03-24 2012-09-27 Microsoft Corporation Multi-layer search-engine index
US9208254B2 (en) * 2012-12-10 2015-12-08 Microsoft Technology Licensing, Llc Query and index over documents
JP6631519B2 (ja) * 2014-07-10 2020-01-15 日本電気株式会社 インデックス生成装置及びインデックス生成方法
US9940351B2 (en) * 2015-03-11 2018-04-10 International Business Machines Corporation Creating XML data from a database
US11373632B2 (en) * 2017-05-10 2022-06-28 Oracle International Corporation Using communicative discourse trees to create a virtual persuasive dialogue
US10817670B2 (en) * 2017-05-10 2020-10-27 Oracle International Corporation Enabling chatbots by validating argumentation
US10839154B2 (en) * 2017-05-10 2020-11-17 Oracle International Corporation Enabling chatbots by detecting and supporting affective argumentation
US12001804B2 (en) * 2017-05-10 2024-06-04 Oracle International Corporation Using communicative discourse trees to detect distributed incompetence
US11615145B2 (en) 2017-05-10 2023-03-28 Oracle International Corporation Converting a document into a chatbot-accessible form via the use of communicative discourse trees
US11586827B2 (en) * 2017-05-10 2023-02-21 Oracle International Corporation Generating desired discourse structure from an arbitrary text
US10679011B2 (en) * 2017-05-10 2020-06-09 Oracle International Corporation Enabling chatbots by detecting and supporting argumentation
US11386274B2 (en) * 2017-05-10 2022-07-12 Oracle International Corporation Using communicative discourse trees to detect distributed incompetence
JP7086993B2 (ja) * 2017-05-10 2022-06-20 オラクル・インターナショナル・コーポレイション コミュニケーション用談話ツリーの使用による修辞学的分析の可能化
US10599885B2 (en) 2017-05-10 2020-03-24 Oracle International Corporation Utilizing discourse structure of noisy user-generated content for chatbot learning
US11960844B2 (en) * 2017-05-10 2024-04-16 Oracle International Corporation Discourse parsing using semantic and syntactic relations
US10839161B2 (en) 2017-06-15 2020-11-17 Oracle International Corporation Tree kernel learning for text classification into classes of intent
US11100144B2 (en) 2017-06-15 2021-08-24 Oracle International Corporation Data loss prevention system for cloud security based on document discourse analysis
US11182412B2 (en) 2017-09-27 2021-11-23 Oracle International Corporation Search indexing using discourse trees
CN111149107B (zh) 2017-09-28 2023-08-22 甲骨文国际公司 使自主代理能够区分问题和请求
WO2019067869A1 (en) 2017-09-28 2019-04-04 Oracle International Corporation DETERMINING RHETORIC RELATIONSHIPS BETWEEN DOCUMENTS BASED ON THE ANALYSIS AND IDENTIFICATION OF NAMED ENTITIES
JP7447019B2 (ja) 2018-01-30 2024-03-11 オラクル・インターナショナル・コーポレイション コミュニケーション用談話ツリーを用いる、説明の要求の検出
US11537645B2 (en) 2018-01-30 2022-12-27 Oracle International Corporation Building dialogue structure by using communicative discourse trees
CN110209779B (zh) * 2018-02-05 2021-11-30 索意互动(北京)信息技术有限公司 一种客户端、服务器、检索方法及其系统
US11328016B2 (en) 2018-05-09 2022-05-10 Oracle International Corporation Constructing imaginary discourse trees to improve answering convergent questions
US11455494B2 (en) 2018-05-30 2022-09-27 Oracle International Corporation Automated building of expanded datasets for training of autonomous agents
US11449682B2 (en) 2019-08-29 2022-09-20 Oracle International Corporation Adjusting chatbot conversation to user personality and mood
US11775772B2 (en) 2019-12-05 2023-10-03 Oracle International Corporation Chatbot providing a defeating reply
US11681708B2 (en) * 2019-12-26 2023-06-20 Snowflake Inc. Indexed regular expression search with N-grams
US11314735B2 (en) * 2020-01-29 2022-04-26 Salesforce.Com, Inc. Generation of query stacks from object relationships
US11803577B1 (en) * 2021-08-13 2023-10-31 Amazon Technologies, Inc. Parent/child document indexing
WO2023212524A1 (en) * 2022-04-25 2023-11-02 Gyan, Inc. (A Delaware Corporation) An explainable natural language understanding platform

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756908A (ja) 1993-08-09 1995-03-03 Fuji Xerox Co Ltd 文書処理装置
JPH07319918A (ja) 1994-05-24 1995-12-08 Fuji Xerox Co Ltd 文書検索対象指示装置
JP2608859B2 (ja) 1994-06-08 1997-05-14 ヤンマー農機株式会社 施肥,播種機
JP2929963B2 (ja) 1995-03-15 1999-08-03 松下電器産業株式会社 文書検索装置および単語索引作成方法および文書検索方法
US5893109A (en) * 1996-03-15 1999-04-06 Inso Providence Corporation Generation of chunks of a long document for an electronic book system
US6457017B2 (en) * 1996-05-17 2002-09-24 Softscape, Inc. Computing system for information management
US5870739A (en) * 1996-09-20 1999-02-09 Novell, Inc. Hybrid query apparatus and method
JPH1027183A (ja) 1997-04-11 1998-01-27 Hitachi Ltd データ登録方法および装置
JPH1115843A (ja) 1997-06-24 1999-01-22 Toshiba Corp Sgml文書検索装置およびsgml文書検索方法
JP2962287B2 (ja) 1997-07-31 1999-10-12 日本電気株式会社 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体
JP3692764B2 (ja) 1998-02-25 2005-09-07 株式会社日立製作所 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091537A (ja) * 2001-09-17 2003-03-28 Ricoh Co Ltd ツリー系統図出力方法及びツリー系統図出力プログラム
JP2008065543A (ja) * 2006-09-06 2008-03-21 Toshiba Corp 構造化文書検索装置及び構造化文書検索方法
US9720959B2 (en) 2013-07-16 2017-08-01 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
US9727662B2 (en) 2013-07-16 2017-08-08 Fujitsu Limited Data output method, computer-readable recording medium storing data output program and data output system
JP2017511524A (ja) * 2014-10-22 2017-04-20 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド マルチラウンドセッションインタラクション方法、システム及びコンピュータ装置
JP2023008685A (ja) * 2021-07-06 2023-01-19 株式会社 情報システムエンジニアリング 情報提供システム、情報提供方法、及びデータ構造
JP7272540B2 (ja) 2021-07-06 2023-05-12 株式会社 情報システムエンジニアリング 情報提供システム、情報提供方法、及びデータ構造

Also Published As

Publication number Publication date
US6853992B2 (en) 2005-02-08
US20010007987A1 (en) 2001-07-12

Similar Documents

Publication Publication Date Title
JP2001167087A (ja) 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
JP3842577B2 (ja) 構造化文書検索方法および構造化文書検索装置およびプログラム
US5873079A (en) Filtered index apparatus and method
US5870739A (en) Hybrid query apparatus and method
US5884304A (en) Alternate key index query apparatus and method
US6167393A (en) Heterogeneous record search apparatus and method
Green et al. Processing XML streams with deterministic automata and stream indexes
JP4644420B2 (ja) ネットワークを介してデータを検索及び提示する方法及びマシン可読記憶装置
US7487174B2 (en) Method for storing text annotations with associated type information in a structured data store
US8631028B1 (en) XPath query processing improvements
US7636739B2 (en) Method for efficient maintenance of XML indexes
JP2002297602A (ja) 構造化文書検索方法および構造化文書検索装置および構造化文書管理装置およびプログラムおよび記録媒体
WO2004053734A1 (en) Evaluating relevance of results in a semi-structured data-base system
US8176030B2 (en) System and method for providing full-text search integration in XQuery
US20060053169A1 (en) System and method for management of data repositories
JP4207438B2 (ja) Xml文書格納/検索装置及びそれに用いるxml文書格納/検索方法並びにそのプログラム
JP4247108B2 (ja) 構造化文書検索方法、構造化文書検索装置、及びプログラム
US7159171B2 (en) Structured document management system, structured document management method, search device and search method
US20090307187A1 (en) Tree automata based methods for obtaining answers to queries of semi-structured data stored in a database environment
JP2003281149A (ja) アクセス権限設定方法および構造化文書管理システム
JP3842576B2 (ja) 構造化文書編集方法及び構造化文書編集システム
JP3842572B2 (ja) 構造化文書管理方法および構造化文書管理装置およびプログラム
JP3842574B2 (ja) 情報抽出方法および構造化文書管理装置およびプログラム
JP3842575B2 (ja) 構造化文書検索方法、構造化文書管理装置及びプログラム
Kotsakis XSD: A hierarchical access method for indexing XML schemata

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070529