JP2006073035A - 電子化文書検索システム、検索装置、および記録媒体 - Google Patents

電子化文書検索システム、検索装置、および記録媒体 Download PDF

Info

Publication number
JP2006073035A
JP2006073035A JP2005316003A JP2005316003A JP2006073035A JP 2006073035 A JP2006073035 A JP 2006073035A JP 2005316003 A JP2005316003 A JP 2005316003A JP 2005316003 A JP2005316003 A JP 2005316003A JP 2006073035 A JP2006073035 A JP 2006073035A
Authority
JP
Japan
Prior art keywords
search
index
document
word
registered
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
Application number
JP2005316003A
Other languages
English (en)
Other versions
JP4011595B2 (ja
Inventor
Yasutsugu Ogawa
泰嗣 小川
Toru Matsuda
透 松田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2005316003A priority Critical patent/JP4011595B2/ja
Publication of JP2006073035A publication Critical patent/JP2006073035A/ja
Application granted granted Critical
Publication of JP4011595B2 publication Critical patent/JP4011595B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】電子化文書検索システムにおいて、検索処理全体の処理速度を向上する。
【解決手段】索引語、索引語を含む登録文書の文書頻度および文書識別子、索引語の各登録文書内での文書内頻度および出現位置を記憶する索引記憶手段41と、登録文書をn(nは1以上の整数)文字の連鎖である索引語に分割する文書分割手段42と、検索語を覆う1つ以上のn文字連鎖である索引語に分割する検索語分割手段43と、検索語が2つ以上の索引語に分割されるときは複数の索引語の出現位置間の距離を指定する位置演算子で合成した検索条件木を生成する検索条件解析手段44と、検索条件木に基づき検索結果合成処理を実行し検索結果を得る検索条件評価手段45とを備えた。
【選択図】 図7

Description

この発明は、電子化された文書群を索引登録しておき、指定した文字列の検索語を含む文書を検索する電子化文書検索システム、検索装置、および記録媒体に関する。
電子化文書検索システムとしては、従来のキーワード検索方式の他に、近年の電子計算機の高速化と記憶装置の大容量化により、全文検索方式も用いられている。この全文検索方式では、基本的には検索の際に登録されている全文書を走査するものであるため、大量の文書に対しては膨大な検索処理時間を要することに鑑み、索引構造の工夫や検索処理の手法の工夫による処理の高速化が試みられている。
この索引構造としては、索引語に文書の識別子のみを対応付けて記憶する方式が従来から行なわれているが、一般には、検索語を構成する文字列を複数の索引語に分解して索引照合を行なうため検索ノイズ(過剰ヒット)が避けられず、このノイズの除去のため、全文書の走査によるあと処理を必要とし、処理の高速化に限界があった。
そこで、索引語の各文書における出現位置などの統計情報も索引にもたせる方式も提案されている。例えば、非特許文献1には、文字種に応じて1文字または連接2文字を索引語とする技術が開示されている(以下、従来技術1という)。また、特許文献1には、文字種によらず連接n文字(n≧2)を索引語とする技術が開示されている(以下、従来技術2という)。
「論文 日本語文書用高速全文検索の一手法」(電子情報通信学会論文誌 D−1 Vol.J75−D−1 No.9 836〜846頁 1992年9月) 特開平7−56944号公報
しかしながら、従来技術1、2では、索引語が短いと頻出索引語が多くなって検索処理に要する時間が長くなる一方、索引語が長いと索引が非常に大きくなるという不具合がある。
この発明の目的は、検索処理全体の処理速度を向上などを図った電子化文書検索を可能とすることにある。
請求項1および請求項16に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、nを1以上の整数としたときに、前記文書分割手段は前記登録文書をn文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う1つ以上のn文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである。
したがって、索引語は一律にn文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
請求項2に記載の発明は、請求項1に記載の発明において、nが2以上で検索語がn文字未満の場合、検索語分割手段はm文字目(mは1以上で(n−m+1)以下である整数)から検索語と一致するすべての索引語を索引から取り出し、検索条件解析手段は検索語分割手段が取り出した前記複数の索引語を複数の検索結果の和集合をとる和集合演算子で合成するものである。
したがって、nが2以上で検索語がn文字未満の場合も正しく検索を行なうことができる。
請求項3に記載の発明は、請求項1に記載の発明において、nが2以上で検索語がn文字以上の場合、検索語分割手段は検索語を覆う最小個数の索引語に分割するものである。
したがって、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
請求項4に記載の発明は、請求項3に記載の発明において、最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである。
したがって、文書頻度を小さくして検索処理の高速化を図ることができる。
請求項5および請求項17に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記検索語分割手段は前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである。
したがって、請求項1および16に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
請求項6に記載の発明は、請求項5に記載の発明において、検索語分割手段は検索語を覆う最小個数の索引語に分割するものである。
したがって、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
請求項7に記載の発明は、請求項6に記載の発明において、最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである。
したがって、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
請求項8および請求項18に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記検索語分割手段が前記検索語を2つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである。
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項9および請求項19に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記検索語分割手段が前記検索語を2つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである。
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項10および請求項20に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報である転置リストを対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは1つのページに1つ以上の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは1つの転置リストを複数のページに格納しているものである。
したがって、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
請求項11に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行させるためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、nを1以上の整数としたときに、前記文書分割手段は前記登録文書をn文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う1つ以上のn文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
したがって、索引語は一律にn文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
請求項12に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
したがって、請求項11に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
請求項13に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記検索語を2つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項14に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記検索語を2つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項15に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは1つのページに複数の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは1つの転置リストを複数のページに格納する、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
したがって、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
請求項1および請求項16に記載の発明は、索引語は一律にn文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
請求項2に記載の発明は、請求項1に記載の発明において、nが2以上で検索語がn文字未満の場合も正しく検索を行なうことができる。
請求項3に記載の発明は、請求項1に記載の発明において、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
請求項4に記載の発明は、請求項3に記載の発明において、文書頻度を小さくして検索処理の高速化を図ることができる。
請求項5および請求項17に記載の発明は、請求項1および請求項16に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
請求項6に記載の発明は、請求項5に記載の発明において、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
請求項7に記載の発明は、請求項6に記載の発明において、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
請求項8および請求項18に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項9および請求項19に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項10および請求項20に記載の発明は、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
請求項11に記載の発明は、索引語は一律にn文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
請求項12に記載の発明は、請求項11に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
請求項13に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項14に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
請求項15に記載の発明は、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
[発明の実施の形態1]
図1は、この発明の実施の形態1にかかる電子化文書検索システム1のシステム構成の概略を示すブロック図である。この電子化文書検索システム1は、同図に示すように、例えば、クライアント2と、サーバ3とを通信回線4で接続したクライアント/サーバシステムとして実施することができる。
サーバ3は、その外部記憶に、電子化文書検索プログラムを記憶している。また、多数の電子化された文書をデータベースにして登録し、さらに、この文書から所望の検索語を含んでいる文書を検索する索引となる索引テーブルを登録している(これにより、この発明の文書登録手段、索引記憶手段を実現している)。前記電子化文書検索プログラム、前記データベースのフォーマット、前記索引テーブルなどは、フロッピー(登録商標)ディスク、光ディスク、光磁気ディスクなどの記録媒体(この発明の記録媒体を実現するものである)に記憶されていたものを、サーバ3が読み取って外部記憶に格納したものである。そして、この外部記憶に記憶されている、電子化文書検索プログラム、データベース、索引テーブルにより、以下に説明する各種の処理を実現している。
クライアント2は、文書検索の検索条件を入力する入力装置や、この検索の結果をディスプレイに表示したりプリンタにプリントアウトするための出力装置として機能する。
図2は、前記索引テーブルのデータ構造の一例を示す表である。この索引テーブル11は、アドレス12と、索引語13と、この索引語13が出現する文書の識別子14と、この索引語13が出現する文書中での索引語13の出現位置15と、索引登録の際に識別子14の数からわかる索引語13が出現する文書数16とが対応付けて記憶されている。
サーバ3では、クライアント2から文書検索の要求を受け付け、受け付けた検索条件を解析して、その内容に従い、索引テーブル11に対し様々に索引照合を行なう。すなわち、検索語と索引語13の照合、索引語13に対応する識別子14の照会、索引語13に対応する出現位置15の照会のうち、1つまたは複数の処理を個別にまたは一度に行なうことができる(これにより、この発明の索引照合手段を実現している)。
そして、この索引照合により、クライアント2から受け付けた検索語を覆う1または複数の索引語13を取得する。この検索語が1つの索引語13で覆えるときは、当該索引語13に対応する識別子14を照会し、その識別子14の文書の表示を文書検索結果としてクライアント2に返す。例えば、サーバ3が受け付けた検索語が“原子力”で、この“原子力”がそのまま索引語13として索引テーブル11に登録されている場合である。
検索語が複数の索引語13でしか覆えないときも、その複数の索引語13の各々を新たな検索語として、索引照合により、この各検索語が出現する文書の文書数16を取得することで(これにより、この発明の中間検索手段を実現している)、この文書数16、すなわち文書頻度を見積もる(これにより、この発明の文書頻度見積手段を実現している)。
そして、この場合は、図3に示すように、サーバ3が受け付けた検索条件を、新たな2つの検索語の各々についての索引照合による検索を下位ノード21に、この両下位ノード21の検索結果の比較による、新たな両検索語の位置条件で限定する両下位ノード21の合成処理条件24を上位ノード22とする、2進木の木構造23の複合検索に変換する(図3(a))。新たな検索語が3つ以上あるときは、2進木を階層的に並べて、2進木の木構造23に変換する(図3(b))(これにより、この発明の第1検索条件変換手段を実現している)。図3(a)は、受け付けた検索語が“原子力発電”であるときに、この検索語を覆う索引語13が、“原子力”、“発電”であるときの例であり、図3(b)は、受け付けた検索語が“原子力発電”であるときに、この検索語を覆う索引語13が、“原子力”、“発電”、“設備”であるときの例である。
そして、この変換後の検索条件に従い、上位ノード22の処理を行なう。すなわち、索引照合により、新たな検索語の各々の識別子14と出現位置15の情報を取得して比較し、新たな検索語同士で同一識別子14があるときに、その識別子14に対応する文書中で新たな検索語の出現位置15を比較して、上位ノード22の位置条件に合致するか否かを判断し、すべての上位ノード22で合致する文書の表示を検索結果としてクライアント2に出力する。この出現位置15の比較は、新たな検索語のうち、文書頻度が小さいものから順に行なう(これにより、この発明の複合検索手段を実現している)。すなわち、図3(b)の例で、"原子力”、“発電”、“設備”の順に文書頻度が小さいときは、まず、“原子力”が出現する文書の中で“発電”も出現する文書に限定し、この文書の中で、文書中の“原子力”と“発電”の出現位置が下層の上位ノード22の位置条件に合致するか否かを判断する。そして、合致するものがある文書の中で“設備”も出現する文書に限定し、この文書の中で上層の上位ノード22の位置条件に合致するか否かを判断して、最終的な検索結果を取得する。
このように、下位ノード21の各々の文書頻度を見積ることで、検索条件評価の中間結果を得られれば、文書頻度の小さい順に評価を行なうことで、この中間結果を早めにしぼり込めるので、文書検索処理を従来より高速化することができる。
また、この場合に、図3に示すような木構造23の2進木を作る際に、与えられた検索語を覆う索引語13の、検索語の中での順番どおりに2進木の下位ノード21を組み合わせるのではなく、文書頻度の小さい下位ノード21の順に2進木に変換し、この変換により文書頻度の小さい下位ノード21ほど木構造23の下層となるようにしている(これにより、この発明の第1検索条件変換手段を実現している)。これにより、より下層でより末端ノードに近いほど、文書頻度の小さい下位ノード21となるので、さらに中間結果を早めにしぼり込むことができ、さらに文書検索処理を高速化することができる。
与えられた検索語が索引登録されている索引語13で覆うことができないときは、検索結果は必ず空になる。このようなときは、2進木に変換するのではなく、検索条件の評価の際には直ちに空の検索結果を返す末端ノードに変換する(これにより、この発明の第1検索条件変換手段を実現している)。
よって、検索条件の評価の際に直ちに空の検索結果を返して、検索処理を高速化することができる。
以下では、合成処理条件24の具体的内容、様々な検索条件への対応などについて説明する。
1.新たな検索語間の距離を合成処理条件24とする場合について
以下では、木構造23の2進木の構造を、“合成処理条件(合成される条件1、合成される条件2、…、合成される条件m)”の形式で記載する。
最初の例は、新たな両検索語の位置条件を、“検索条件中の検索語を覆う2つの索引語(新たな2つの検索語)q1,q2の先頭がn文字分ずれていて、出現順が一定、すなわち正順序であって逆順序でないこと”とするもので(これにより、この発明の第1検索条件変換手段を実現している)、この位置条件を、以下では、“#distance〔n〕(q1,q2)”と表記する。図3(b)の例では、図4に示すとおりとなる。合成処理条件24による合成後の文書頻度は実際に合成しないと不明であるが、近似を試みることはできる。検索条件qの文書頻度を“DF(q)”、q1とq2とのうち小さい方の値をとることを、“min{q1,q2}”と表記すると、“#distance〔n〕(q1,q2)”の文書頻度は、
“0≦DF(#distance〔n〕(q1,q2))
≦min{DF(q1),DF(q2)}” …… (1)
となる。
そこで、(1)式の範囲内で、“DF(#distance〔n〕(q1,q2))”の値を適当な値に近似すればよい。例えば、上限値である、“min{DF(q1),DF(q2)}”に近似することができる。
このように、新たな2つの検索語の出現位置の距離を上位ノードの位置条件とし、この位置条件を文書頻度の小さい方から評価することにより、不要な索引照合を省いて、文書検索速度を向上することができる。
2.検索条件に複数の検索語の論理演算を含む場合について
複数の検索語の積集合や和集合を意味する集合演算(論理演算)も、一般的に文書検索に利用されている。そこで、以下では、このような論理演算を含んでいる場合の処理について説明する。
このような場合には、各検索語を覆う索引語の各々を検索語として見積もった文書頻度に基づいて、各検索語の検索を下位ノード21に、この下位ノードの前記論理演算を合成処理条件24として上位ノード22にする複合検索の木構造23に変換する(これにより、この発明の第2検索条件変換手段を実現している)。
(1)複数の検索語が積集合で結ばれている場合について
複数の検索語q1,q2,……の積集合を“#and(q1,q2,……)”で表記することにすると、この“#and(q1,q2,……)”を含む検索条件の解析は図5に示す例のようになる。
この積集合による合成の場合も、“#distance〔n〕(q1,q2)”の場合と同様に、文書頻度の小さい方から評価していった方が速くしぼり込むことができるので、文書検索処理を高速化することができる。
しかし、“#distance〔n〕(q1,q2)”が2進木であるのに対し、“#and(q1,q2,……)”は多進木であるので、検索条件評価の途中で見積り文書頻度を比較するのは非効率である。そこで、予め見積り文書頻度の小さい順に並べなおす、すなわち、文書頻度の小さい下位ノード21の順に木構造23に変換し、この変換により文書頻度の小さい下位ノード21ほど木構造23の下層となるようにする(これにより、この発明の第2検索条件変換手段を実現している)。これにより、早めに結果をしぼり込むことができるので、文書検索速度を高速化することができる。例えば、検索条件に、“#and(カラー,イメージ,プリンタ)”があり、“DF(イメージ)<DF(カラー)<DF(プリンタ)”であるときは、“#and(イメージ,カラー,プリンタ)”と
変換する。
“#and(q1,q2,……)”で合成される条件に、“#and(q1,q2,……)”を含むような入れ子構造になっているときは、その入れ子構造を解いて平坦化しても論理演算の意味に変動はない。そして、入れ子構造のままで見積り文書頻度による並べ替えを行なうと、並べ替えの範囲が不必要に狭くなり、効率が悪くなることがある。例えば、“DF(q2)<DF(q3)<DF(q4)<DF(q1)”である場合、“#and(#and(q1,q2),q3,q4)”に、入れ子構造のまま並べ替えを施すと、“#and(#and(q2,q1),q3,q4)”となるが、入れ子構造を解いて並べ替えると、“#and(q2,q3,q4,q1)”となり、この方が早期のしぼり込みを期待でき、文書検索を高速化することができる(これにより、この発明の第2検索条件変換手段を実現している)。例えば、“#and(#and(カラー,イメージ),プリンタ)”で、“DF(イメージ)<DF(カラー)<DF(プリンタ)”であるときは、入れ子構造を解いて、“#and(カラー,イメージ,プリンタ)”とし、並べ替えを行なって、“#and(イメージ,カラー,プリンタ)”に変換する。また、末端のノードが文書頻度が正確であるのに対して、中間ノードの文書頻度は近似値であるから、合成処理演算の階層は少ない方が見積り誤差が少なくなるという利点もある。
また、積集合の場合、合成される下位ノード21に1つでも空の検索結果を返すものがあれば合成の結果も空であるから、2進木の木構造23に変換せず、合成処理条件24の際には直ちに空の検索結果を返す末端ノードに変換する。これにより、文書検索処理を高速化することができる(これにより、この発明の第2検索条件変換手段を実現している)。
なお、積集合の文書頻度は、登録されている全文書数をNとすると、
min{DF(q1)+DF(q2)−N,0}
≦DF(#and(q1,q2))
≦min{DF(q1),DF(q2)} …… (2)
となる。
この範囲を適当な値で近似すれば、文書頻度の見積りを行なえる。例えば、変位の上限である“min{DF(q1),DF(q2)}”で近似することができる。
(2)複数の検索語が和集合で結ばれている場合について
複数の検索語q1,q2,……の和集合を“#or(q1,q2,……)”で表記することにすると、この和集合による合成の場合は、“#and(q1,q2,……)”の場合とは逆に、文書頻度の大きい方から評価していった方が速くしぼり込めて、文書検索処理を高速化することができる(これにより、この発明の第2検索条件変換手段を実現している)。
そして、“#and(q1,q2,……)”も多進木であるので、検索条件評価の途中で見積り文書頻度を比較するのは非効率である。そこで、予め見積り文書頻度の大きい順に並べなおす、すなわち、文書頻度の大きい下位ノード21の順に木構造23に変換していき、この変換により文書頻度の大きい下位ノード21ほど木構造23の下層となるようにする(これにより、この発明の第2検索条件変換手段を実現している)。これにより、早めに結果をしぼり込むことができるので、文書検索速度を高速化することができる。例えば、検索条件に、“#or(パルス変調,位置変調,PPM)”があり、“DF(PPM)<DF(パルス)<DF(位置変調)”であるときは、“#or(位置変調,パルス,PPM)”と変換する。
また、積集合の場合と同様、和集合の場合も入れ子構造を有するときは、この入れ子構造を解いてからの方が、見積り文書頻度による処理が効果的になる(これにより、この発明の第2検索条件変換手段を実現している)。例えば、検索条件に、“#or(#or(パルス変調,位置変調),PPM)”があるときに、“DF(PPM)<DF(パルス変調)<DF(位置変調)”であるときは、入れ子構造を解いて“#or(パルス変調,位置変調,PPM)”としてから、“#or(位置変調,パルス変調,PPM)”に並べ替える。
なお、“#or(q1,q2,……)”の文書頻度は、登録されている全文書数をNとすると、
max{DF(q1),DF(q2)−N,0}
≦DF(#or(q1,q2))
≦min{DF(q1)+DF(q2),N} …… (3)
となる。
そして、この範囲を適当な値で近似すれば、文書頻度の見積りを行なえる。例えば、範囲の上限である、限界和“min{DF(q1)+DF(q2),N}”で近似することができる。算術和“DF(q1)+DF(q2)”がNを超えるような検索は、大量の文書から必要な文書を見つけだそうとしている以上、実際にはめったにないと考えられるので、算術和を用いても実用上大差ない。
(3)複数の検索語が差集合で結ばれている場合について
複数の検索語q1,q2,……,qmがあって、検索語q1を含んでいるが、検索語q2,……,qmのいずれも含まないものを検索する、差集合による合成の場合を、“#and−not(q1,q2,……,qm)”と表記すると、これは“#or(q1,q2,……)”の検索結果の補集合と、q1の検索結果との積集合を取る論理演算と同義である。そこで、第2項以下を見積り文書頻度の大きい順に並べれば、早めに絞り込んで文書検索処理を高速化することができる(これにより、この発明の第2検索条件変換手段を実現している)。例えば、“#and−not(空乏層,化合物,GaAs,InP)”が検索条件に含まれていて、“DF(GaAs)<DF(InP)<DF(化合物)”であるときは、“#and−not(空乏層,化合物,InP,GaAs)”と並べ替える。
また、第2項以下に和集合があるときは、この和集合を解いてからの方が、見積り文書頻度による処理が効果的である(これにより、この発明の第2検索条件変換手段を実現している)。例えば、“#and−not(空乏層,化合物,#or(GaAs,InP))”が検索条件に含まれていて、“DF(GaAs)<DF(InP)<DF(化合物)”であるときは、3項の和集合を解いて、“#and−not(空乏層,化合物,InP,GaAs)”とした後、“#and−not(空乏層,化合物,InP,GaAs)”と並べ替える。
さらに、差集合の第1項が空の検索結果を返すときは、差集合も空になるので、差集合を直ちに空の検索結果を返すノードに変換することで、文書検索処理の高速化を図ることができる(これにより、この発明の第2検索条件変換手段を実現している)。
なお、“#and−not(q1,q2,……,qm)”の文書頻度は、
0≦DF(#and−not(q1,q2,……,qm))
≦DF(q1) …… (4)
となる。
この範囲で、適当な値で近似すれば、文書頻度の見積りを行なうことができる。例えば、範囲の上限である“DF(q1)”で近似することができる。
(4)2つの検索語の出現位置間の距離の上限を指定する場合について
複数の検索語が共通に出現する文書というだけではなく、関連して出現する文書を検索したいというユーザの要望に応じて、近接演算に対応した文書検索システムも用いられている。
近接演算の例として、出現位置間の距離の上限を指定するものがあるが、2つの検索語q1,q2の出現位置間の距離の上限をn字とする場合で、出現順序を問わない場合を、“#window〔n〕(q1,q2)”と表記することにする。このような場合は、索引11に出現位置15の情報を含んでいるので、積集合とみなした評価の後、位置条件による吟味を行なうことで容易に対応することができる。すなわち、各検索語q1,q2の検索を下位ノード21に、この下位ノード21の積集合を上位ノード22にする複合検索の木構造23に変換し、この変換は文書頻度の小さい下位ノード21の順に2進木に変換し、文書頻度の小さい下位ノード21ほど木構造23の下層となるように行なう(これにより、この発明の第2検索条件変換手段を実現している)。
“#window〔n〕(q1,q2)”の場合も、積集合の場合と同様に、この見積り文書頻度による並べ替えで処理を高速化することができるが、それは、前記のように量検索語q1,q2の出現順序を考慮しない場合に限られる。また、入れ子構造をとる場合でも、この入れ子構造を外すと意味が異なってしまうので行なわない。
3.予備的評価について
前記した、“#distance〔n〕(q1,q2)”や“#window〔n〕(q1,q2)”の評価は、位置条件による吟味を必要とするため、位置条件による吟味を伴わない評価に比べ、時間を要する。そこで、不要な位置条件吟味を削減することができれば、文書検索処理を高速化することができる。“#and(#distance〔3〕(原子力,発電),事故)”を例にとると、“#distance〔3〕(原子力,発電)”から評価していくことになるが、この場合、“事故”を含まない文書に関しても“原子力”と“発電”の位置条件吟味(この発明の例では、“原子力”と“発電”が、この順に出現して、先頭が3文字ずれているか、すなわち、隣接しているか否かを吟味)を行なうこととなる。
そこで、“#distance〔n〕(q1,q2)”や“#window〔n〕(q1,q2)”を、“#and(q1,q2)”に置き換えた粗い評価を予備的評価として行ない、これにより予め絞り込みを行なって、無駄な位置条件吟味を削減して、文書検索処理を高速化することができる。
すなわち、各検索語q1,q2の検索を下位ノード21に、この下位ノード21の“#distance〔n〕(q1,q2)”や“#window〔n〕(q1,q2)”の位置条件を上位ノード22にする複合検索の木構造23に変換する。そして、この変換は文書頻度の小さい下位ノード21の順に2進木に変換し、文書頻度の小さい下位ノード21ほど木構造23の下層となるように行なう(これにより、この発明の第1、第2予備変換手段を実現している)。そして、変換後の木構造23での上位ノード22の処理を木構造23中での最下位層から上位層に向けて順次実行して複合検索の結果を作成し、上位ノード22の処理は各検索語q1,q2間の出現位置の比較を文書頻度の小さいものから順に行なう(これにより、この発明の第1、第2予備検索手段を実現している)。あとは、この粗い評価により限定された文書についてのみ、正確な評価を行なう(これにより、この発明の複合検索手段を実現している)。
4.全順序関係をもつ識別子14を用いる場合について
検索条件の評価は、より具体的には、その条件を満たす文書の識別子14のリストを得るための処理(これを“retrieve()”と表記することにする)である。識別子14としては、整数や文字列などの全順序関係をもつものを用いるのが一般的であるので、識別子14の下限d0を与えて、その検索条件を満たす文書の識別子14のうちでd0以上で最小のものを得る(以下、“lower_bound(d0)”と表記する)。これにより、“retrieve()”を得る処理は、“lower_bound(d0)”を用いて実現することができる。
索引11のデータを電子化文書検索システム1の記憶装置間で転送する際の時間や索引11を格納する記憶装置の資源の節約のために、通常は索引11は圧縮されており、圧縮の方式にもよるが、多くの場合、識別子14の順序に従って走査する方が、順序を無視してランダムに識別子14を変更しながら走査するよりも、索引照合がはるかに高速になる場合が多い。このような索引11(これにより、この発明の索引記憶手段を実現している)に対して、索引語13であるωと、識別子14の下限値d0を指定されれば、ωを含む識別子14のうちでd0以上で最小のものを得ることができる比較的高速な索引照合が可能になる(これにより、この発明の第1予備照合手段を実現している)。これにより、索引語ωの索引照合に対応する検索条件の“lower_bound(d0)”は簡単に得ることができる。
さらに、“lower_bound(d0)”に与えられた識別子14の下限値d0と、得られた識別子14と、アドレス32と、索引語ωとを関連付けて、図6に示すような履歴テーブル31として記録しておいて(これにより、この発明の第1予備照合記憶手段を実現している)、これを参照することにより、索引照合の回数を削減することができる。
例えば、“lower_bound(10)”が20であれば、“lower_bound(11)”も、“lower_bound(15)”も20であるので、10以上20以下の下限値d0については、索引照合することなく、履歴テーブル31参照により、20の値を返すことができる(これにより、この発明の第1照合範囲指定手段を実現している)。なお、履歴テーブル31の参照だけで得られたものは履歴テーブル31に追加しない。
上位ノード22の合成処理においても、合成処理条件24を満たす識別子14のうち、下限値d0以上で最小のものを得て、索引語13、識別子14の下限値d0、得られた識別子14を対応付けて履歴テーブル31に記憶することで、この履歴テーブル31を参照することにより下位ノード21の評価回数を削減することができる(これにより、この発明の第2予備照合手段、第2予備照合記憶手段、第2照合範囲指定手段を実現している)。
ただし、“lower_bound(d0)”の履歴をすべて記憶しておくと、その履歴が膨大になってしまう可能性がある。そこで、最新の一定数のもののみに限定することが望ましい(これにより、この発明の第1、第2予備照合記憶手段を実現している)。この場合、古い履歴を記録から消してしまうために、無駄な索引照合や、下位ノード21の評価が発生する場合があるが、検索条件の評価の大部分は、“retrieve()”を得る処理から派生するものであり、“retrieve()”の処理では、識別子14に関して1回走査するだけなので、最新の一つだけを履歴に残しておけば充分である。
[発明の実施の形態2]
図7は、この発明の実施の形態2にかかる電子化文書検索システム40の概要を示す機能ブロック図である。
図7に示すように、この電子化文書検索システム40は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を記憶する索引記憶手段41を備えている。この索引の見出しとして登録される各索引語には、この索引語を含んでいる登録文書の数である文書頻度、索引語を含む文書の文書識別子、索引語の各登録文書内での出現回数である文書内頻度および索引語の各登録文書内での出現位置の各情報を対応付けて記憶している(以下では、これら索引語ごとの一連のデータを「転置リスト」という)。
文書分割手段42は、登録文書を索引語に分割する。検索語分割手段43は、与えられた検索条件中の検索語を索引語に分割し、また、検索語中に索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する。
検索条件解析手段44は、検索条件を解析して、この検索条件から、検索語分割手段43が取得した索引語と空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する。
検索条件評価手段45は、検索条件木に基づき、索引から索引語に関する情報を取得して検索結果合成処理を実行し、検索結果を得る。
(1)nを1以上の整数としたときに、文書分割手段42は登録文書を一律にn文字の連鎖である索引語に分割する。これにより、膨大な単語辞書を必要とする形態素解析を用いる手法と比較して、単語辞書の管理などの手間を省くことができる。
すなわち、例えば、文書1=“あああ”、文書2=“あいうえお”、文書3=“あいえ”、文書4=“いう”を登録していたとすると、n=1なら索引には図8のような情報が記録されることになる。ここに、各文書ごとの出現情報は{,}で囲まれた範囲がひとつの文書に対応していて、この{,}内の1番目のフィールドが文書識別子、2番目のフィールドが文書内頻度、3番目のフィールド(“(,)”で囲まれている)が出現位置である。
検索条件が、検索語の単体で、あるいは、複数の検索語をAND,ORなどの演算子により結合した形式で与えられた場合、まず検索語分割手段43が、n文字連鎖で索引に記録されている索引語に分割する。検索条件解析手段44は、検索語が1つの索引語になる場合はその索引語のみからなる、検索語が2つ以上の索引語に分割される場合にはそれらの索引語の出現位置間の距離を指定する位置演算子で、それぞれ合成した検索条件木を作成する。検索語を、検索語を覆う索引語に分割できないときは、検索語分割手段43が空文書集合を出力し、検索条件解析手段44が空文書集合のみからなる検索条件木を作成する。
いま、“#distance〔x〕(A,B)”で索引語Aと索引語Bが距離x文字にある文書を検索することを指定するものとする。例えば、n=1で、検索語が「あいう」であれば、検索語分割手段43は検索語を3個の索引語「あ」「い」「う」に分割し、検索条件解析手段44は、#distance〔2〕(#distance〔1〕(あ,い),う)に相当する検索条件木を作成する。
そして、検索条件評価手段45は、「あ」「い」「う」に関する転置リストを読み出して、これら3つの索引語が同時に出現しており、かつ、「あ」「い」の距離が1である場合の「あ」の出現位置と、「う」の距離が2であるものを探し出す検索結果合成処理を行なう。この場合、文書2のみがこれに該当しており、これが検索結果となる。
前記の場合に、nが2以上で、検索語がn文字未満である場合も正しく検索できるようにするためには、次のような処理を行なう。すなわち、検索語分割手段43でm文字目(mは1以上で(n−m+1)以下である整数)から検索語と一致するすべての索引語を索引から取り出し、検索条件解析手段44で、検索語分割手段43が取り出した複数の索引語を複数の検索結果の和集合をとる和集合演算子で合成する。
例えば、前記の例で、n=2のときの索引は図9に示すとおりである。m=1の場合に、検索語が「あ」であれば、検索語分割手段43は「ああ」「あい」を出力し、検索条件解析手段44は、“#or(ああ,あい)”という検索条件木をつくる。ここで、“#or(A,B)”は索引語Aを含む文書集合と、索引語Bを含む文書集合の和集合を検索することを指定するものである。この場合には、前記の例で文書1,2,3が検索結果となる。
nが2以上で、検索語がn文字以上である場合、次のような処理を行なうことで、無駄な索引語の処理を省いて検索処理を高速化することができる。
たとえば、検索語が「あいうえ」であれば、前記の例で、“#distance〔2〕(#distance〔1〕(あい,いう),うえ)”が検索条件木として作成される。しかし、“#distance〔2〕(あい,うえ)”という検索条件木を満たす文書は、必ず“#distance〔1〕(あい,いう)”を満たしているので、無駄な位置のつき合わせ処理を行なってしまう。そこで、このような場合は、検索語分割手段43は検索語を覆う最小個数の索引語に分割して、検索を効率化する。すなわち、この例であれば、検索語からは「あい」「うえ」の2つの索引語だけに分割され、“#distance〔2〕(あい,うえ)”という検索条件木が作成される。
また、この場合に、検索語がさらに長いときは最小個数の索引語に分割できる場合が複数存在するときがある。例えば、検索語が「あいうえお」であれば、「あい」「うえ」「えお」にように分割することも、「あい」「いう」「えお」のように分割することもできる。この場合に、検索語分割手段43は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割する。このように文書頻度を低減して検索処理を高速化することができる。図9の索引では、「いう」の文書頻度が2であるのに対し、「うえ」は1であるので、検索語分割手段43は「あい」「うえ」「えお」のように検索語を分割することとなる。
(2)前記の例では、文書分割手段42、検索語分割手段43ともに、登録文書、検索語を一律にn文字の連鎖に分割したが、文字列の分割手段としては、文字種に応じて抽出するnを変化させたり、異なるnに対する分割の結果を組み合わせたりすることも考えられる。一例として、n=1とn=2の分割の結果を組み合わせる場合を考えると、検索語「あいうえお」に対しては「あ」「い」「う」「え」「お」「あい」「いう」「うえ」「えお」が得られる。
このような場合に、検索語分割手段43が検索語を分割して得た複数の索引語のうち、検索語を覆う他の索引語に包含されるものは除外するようにすることで、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。すなわち、前記の例で検索語「あいうえお」に対しては、n=2のものに包含されるn=1のものを除外した、「あい」「いう」「うえ」「えお」が得られる。
この場合に、検索語分割手段43は検索語を覆う最小個数の索引語に分割して、無駄な索引語の使用を省いて検索処理の高速化を図る。また、最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段43は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割して、文書頻度を小さくして検索処理の高速化を図る。
(3)前記(1)(2)の手法では、検索語が2つ以上の索引語に分割される場合には、位置演算子で合成した検索条件のみを用いて検索を行なっている。しかし、この手法だと無駄な文字位置の突き合せ処理を生じる可能性がある。例えば(1)の例で、検索語「あいえお」を処理すると、索引語として「あい」「えお」が得られ、例えば、文書2=“あいうえお”に関しては両索引語が出現しているものの、距離の条件を満たしていないということで、該当文書なしという検索結果が得られる。しかし、検索語に含まれる索引語「いえ」を考慮すれば、「あい」「いえ」「えお」を同時に含む文書は存在しないので、索引語の文書中での出現位置を調べることなく該当文書なしと判断することができる。
そこで、検索語分割手段43が検索語を2つ以上の索引語に分割する場合は次のような処理を行なってもよい。すなわち、検索条件解析手段44は、検索語の分割で得られた複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成する。そして、検索条件評価手段45は、まず候補決定用条件木の検索結果合成処理を実行して複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に詳細判定用条件木の検索結果合成処理を実行して検索結果を得るようにする。
これにより、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
この場合に、詳細判定用条件木を、複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成して作成するのに代えて、複数の索引語から前記検索語を覆いかつ索引語ごとの文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成して作成するようにしてもよい。
(4)文書識別子、文書内頻度、出現位置などのデータは、通常、固定長(2あるいは4バイト)で表現される。例えば、4バイトで表現することにすると、図8の索引語「あ」のデータは、11*4=44バイト=1408ビットが必要となる。これに対し、各文書識別子を前に出現している文書識別子の値との差分をとることで表現すると、その値は一般に小さな値となるので、可変長符号を用いて表現すると索引を小型化できる。同様に、文書内頻度は、その値を直接、可変長符号で表現し、出現位置は文書ごとに各出現位置の前の値との差分を可変長符号で表現することにより、索引を小型化することができる。
たとえば、可変長符号としてγ符号(I.H.witten著"Managing Gigabytes",Van Nostrand Reinhold,1994年,84頁参照)を用いることとすると、図8の索引語「あ」の例で、文書識別子は、各々、1,2−1=1,3−2=1となり、この3つの1を各々“0”で表現できる。また、文書内頻度は、3,1,1を“101”“0”“0”で表現できる。さらに、出現位置は、文書1での出現が、各々、1,2−1=1,3−2=1となり、この3つの1を各々“0"で表現でき、文書2,3での出現はそれぞれ“0”で表現できる。結局、この場合の転置リストのデータは、{“0”,“101”,(“0”,“0”,“0”)},{“0”,“0”,(“0”)},{“0”,“0”,(“0”)}のように表現できるので、3*1+(3+1+1)+(3*1+1+1)=13ビットのデータ量ですむ。
しかしながら、このように圧縮した索引では、ある転置リストを処理するためには伸長処理が必要となるので、検索処理を遅くする可能性がある。しかも、検索語が「あ」であれば、検索処理においては出現位置は必要ないにもかかわらず、索引が圧縮されていると、その出現位置を伸長しなければ2番目以降の文書識別子を得ることができない。
そこで、索引は、索引語ごとに、各文書識別子と各文書内頻度および各出現位置とで格納する領域を分けて、文書識別子だけを伸長処理すればよいようにして、検索処理を高速化することができる。
例えば、前記の例で、文書識別子を記録するデータを、{“0”},{“0”},{“0”}とし、文書内頻度および出現位置のデータを、{“101”,(“0”,“0”,“0”)},{“0”,(“0”)},{“0”,(“0”)}として分けて記録する。
しかし、この場合に、特定の文書識別子の文書に関して位置の突き合せを行なうときには、その文書までの文書内頻度、出現位置を全て伸長処理しなければならない。
そこで、索引語ごとの各文書ごとに対応して、文書頻度および出現位置を表現するのに必要なビット数である文書内頻度出現位置表現ビット数を可変長符号で表現したデータを保持するようにする。これにより、文書内頻度出現位置表現ビット数を参照することにより、必要とする文書の文書頻度、出現位置のデータがどこにあるかがわかるので、不要な文書については文書頻度、出現位置のデータを伸長する必要がなくなり、文書頻度、出現位置を参照する場合に伸長するデータ量を少なくして、検索処理を高速化することができる。
例えば、前記した図8に示した例で、索引語「あ」に対する文書1の文書内頻度出現位置表現ビット数は6(γ符号で“11010”)、文書2,3の場合はいずれも2(γ符号でいずれも“100”)なので、前記の文書内頻度、出現位置のデータは、{“11010”,“101”,(“0”,“0”,“0”)},{“100”,“0”,(“0”)},{“100”,“0”,(“0”)}のように表現することができる。この例で、3番目に位置する文書3に関する文書内頻度、出現位置を参照したい場合、はじめの2文書に関しては、文書内頻度出現位置表現ビット数のみを伸長して、そのビット数だけシフトすることで、3番目の文書に関する文書内頻度、出現位置を得るための位置を求めることができる。
一方、このような処理では、文書内頻度出現位置表現ビット数を記録するために索引が大型化するとともに、文書内頻度、出現位置が必要な文書に関しては、文書内頻度出現位置表現ビット数を伸長することが余分な処理として発生する。そこで、文書内頻度が指定された閾値以上である場合に限って出現位置を表現するのに必要なビット数である出現位置表現ビット数を可変長符号で表現したものを記録するようにする。例えば、図8の前記の例で、閾値を2とすれば、文書内頻度が3である文書1にのみ出現位置表現ビット数3(γ符号で“101”)が記録され、文書内頻度、出現位置のデータは、{“101”,“101”,(“0”,“0”,“0”)},{“0”,(“0”)},{“0”,(“0”)}となる。ここで、先頭の文書1の{,}内の2番目にある“101”が出現位置表現ビット数である。このように、2番目に置いたのは、検索時には、まず文書内頻度を伸長した後でないと出現位置ビット数が記録されているのか否かが判定できないためである。
なお、文書内頻度出現位置表現ビット数、出現位置表現ビット数は、前記の説明から明らかなように、文書内頻度および出現位置を格納する領域内に格納する。
(5)前記(1)の場合で、m=1であれば、和集合演算子で結合される索引語は文字コード順にソートされたものである。これらに対応する転置リストが索引ファイルの近接した領域に格納されていれば、データの読み出しが高速化できるので、検索処理も高速になる。そこで、索引は、索引語ごとの転置リストを文字コード順にソートしてファイルに格納している。
(6)新聞記事1年分のような大規模な文書データベースを考えた場合、索引のファイルからのデータの読み書きの効率化が重要である。ハードディスク装置からのデータの読み書きは、適当な大きさの固定長ブロック単位で行われるので、索引の読み出しも、このブロックの整数倍の固定長ブロックであるページ単位で行なう。この場合、実際の文書における索引語の出現頻度にはばらつきがあるため、各索引語の転置リストの大きさにもばらつきがでる。
そこで、転置リストの大きさがページより所定程度小さいものは、1つのページに1つ以上の転置リストを同時に格納し、転置リストの大きさがページより大きいものは複数のページを用いて格納する。このようにすることで、小さな転置リストを効率的に格納でき、また、転置リストの大きさの上限を取り払うことができる。
(7)次に、前記(4)の場合と(6)の場合とを組み合わせるような手法について説明する。大きな転置リストがあるような索引語のみからなる検索条件を処理する場合、文書内頻度、出現位置のデータは不要である。したがって、それらをファイルから読み出すことは無駄な処理となり、検索処理を遅くする。そこで、大きな配置リストを構成するページを、文書頻度、文書識別子とページの管理情報を格納するヘッダーページと、必要であれば文書識別子を格納する文書識別子ページと、文書内頻度、出現位置、文書内頻度出現位置表現ビット数あるいは出現位置表現ビット数がある場合は文書内頻度出現位置表現ビット数あるいは出現位置表現ビット数を格納する文書内頻度出現位置ページとに分けて格納する。その結果、文書内頻度、出現位置が不要な場合には文書内頻度、出現位置の読み出し処理が不要になり、検索処理が高速化できる。
図10は、この場合の転置リストの構成例を示すものである。同図に示すように、この転置リストは、文書識別子ページ(id page)、文書内頻度出現位置ページ(loc page)、ヘッダーページ(header page)にページが別れている。
ヘッダーページは、文書頻度を格納するヘッダー部分(header)、文書識別子ページの位置を記録する文書識別子ページ索引(id page index)、文書内頻度出現位置ページの位置を記録する文書内頻度出現位置ページ索引(loc page index)、文書識別子の圧縮データの一部(last id block)、未使用部分(wastage)から構成されている。
また、文書識別子を複数の文書識別子ページにまたがって格納し、この文書識別子ページの管理情報である文書識別子ページ索引に文書識別子のページ番号と各ページの先頭に記録された文書識別子とを記録するようにしてもよい。これにより、必要な文書識別子のデータが格納された文書識別子ページのみにアクセスすればよいので、検索処理を高速化することができる。図11は文書識別子ページ索引の例である。この例で、文書識別子1010の文書が存在しているか否かを調べるには文書識別子ページ索引を参照して、2番目のページであるページ番号200の文書識別子ページを読み込めばよく、ページ番号100のページの読み込みを回避することができる。
さらに、図12に例を示すように、文書識別子ページ索引には、文書識別子ページの各ページの末尾に記録された文書識別子を記録してもよい。このように、末尾の文書識別子を記録することで、文書識別子ページ索引を参照するだけで、例えば図12の例では文書識別子1900の文書は存在しないことが確認でき文書識別子ページにアクセスする必要がないので、検索処理が高速化する。
また、文書識別子をページのサイズより小さな固定長ブロックである文書識別子ブロックに分割して格納し、文書識別子ブロックごとにそのはじめの文書の文書識別子は前の文書識別子との差分をとらずに格納し、文書内頻度、出現位置および文書内頻度出現位表現ビット数もしくは出現位置表現ビット数がある場合には前記文書内頻度出現位表現ビット数または出現位置表現ビット数は文書識別子ブロックと同じ文書の情報を格納するブロックである文書内頻度出現位置ブロックに分割して格納する。
図13に、この場合の転置リストの一例を示す。この転置リストは、図10のものと比較して次の点が異なっている。すなわち、文書識別子ページ(id page)は固定長の文書識別子ブロック(id block)から構成されている。文書内頻度出現位置ページ(loc page)は文書内頻度出現位置ブロック(loc block)から構成されている。各文書識別子ブロックが対応する文書内頻度出現位置ブロックを指している。なお、文書内頻度出現位置ブロックは必ずしも1つのページに収まらなくてもかまわない。例えば、図13の左から3番目の文書内頻度出現位置ブロックがこれに相当する。
大きな転置リストの構成をこのようにすることで、ページ内で特定の文書の存在を調べる場合は、ページの先頭からすべての文書識別子を伸長する必要はなく、まず各文書識別子ブロックの先頭に記録されている文書識別子を使って所望の文書識別子が存在するならばどのブロックにあるかを調べることができる。所望の文書識別子が存在するとすればどのブロックにあるかを調べるには、ブロックの先頭に記録されている文書識別子が所望の文書識別子より大きいブロックの1つ前のブロックを探せばよい。もし、比較を開始したブロックの先頭の文書識別子がすでに所望の文書識別子より大きい場合には現在の文書識別子ページには所望の文書識別子は存在しておらず、そのようなブロックが見つかることなく最終のブロックとの比較が終わった場合には所望の文書識別子は最終ブロックそのものにあるとする。また、位置の突き合せのため位置情報が必要になった場合には、文書識別子ブロックに記録されている対応する文書内頻度出現位置ブロックの位置情報を用いて文書内頻度出現位置ブロックにアクセスし、所望の位置情報を取得すればよい。以上のようにして所望の文書識別子、位置情報が簡単に得られるので、検索処理が高速化できる。
この発明の実施の形態1である電子化文書検索システムの全体のシステム構成を示すブロック図である。 前記電子化文書検索システムの索引テーブル11を示す表である。 前記電子化文書検索システムで検索条件から変換して作成する木構造の例を示すブロック図である。 前記木構造の例を示すブロック図である。 前記木構造の例を示すブロック図である。 前記電子化文書検索システムの履歴テーブルを示す表である。 この発明の実施の形態2にかかる電子化文書検索システムの全体構成を示す機能ブロック図である。 前記電子化文書検索システムで用いる索引の例を示す表である。 前記電子化文書検索システムで用いる索引の例を示す表である。 前記索引の転置リストの例を示すブロック図である。 前記転置リストの文書識別子ページ索引の例を示す表である。 前記転置リストの文書識別子ページ索引の例を示す表である。 前記索引の転置リストの例を示すブロック図である。
符号の説明
1 電子化文書検索システム
11 索引
13 索引語
14 識別子
15 出現位置
16 文書数
31 第1、第2予備照合記憶手段
40 電子化文書検索システム
41 索引記憶手段
42 文書分割手段
43 検索語分割手段
44 検索条件解析手段
45 検索条件評価手段

Claims (20)

  1. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    nを1以上の整数としたときに、前記文書分割手段は前記登録文書をn文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う1つ以上のn文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである電子化文書検索システム。
  2. nが2以上で検索語がn文字未満の場合、検索語分割手段はm文字目(mは1以上で(n−m+1)以下である整数)から検索語と一致するすべての索引語を索引から取り出し、検索条件解析手段は検索語分割手段が取り出した前記複数の索引語を複数の検索結果の和集合をとる和集合演算子で合成するものである請求項1に記載の電子化文書検索システム。
  3. nが2以上で検索語がn文字以上の場合、検索語分割手段は検索語を覆う最小個数の索引語に分割するものである請求項1に記載の電子化文書検索システム。
  4. 最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである請求項3に記載の電子化文書検索システム。
  5. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記検索語分割手段は前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである電子化文書検索システム。
  6. 検索語分割手段は検索語を覆う最小個数の索引語に分割するものである請求項5に記載の電子化文書検索システム。
  7. 最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである請求項6に記載の電子化文書検索システム。
  8. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記検索語分割手段が前記検索語を2つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである電子化文書検索システム。
  9. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記検索語分割手段が前記検索語を2つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである電子化文書検索システム。
  10. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報である転置リストを対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは1つのページに1つ以上の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは1つの転置リストを複数のページに格納しているものである電子化文書検索システム。
  11. 与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行させるためのプログラムを記録した記録媒体であって、
    電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
    前記登録文書を前記索引語に分割し、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
    前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
    nを1以上の整数としたときに、前記文書分割手段は前記登録文書をn文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う1つ以上のn文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、
    ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  12. 与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
    電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
    前記登録文書を前記索引語に分割し、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
    前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
    前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、
    ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  13. 与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
    電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
    前記登録文書を前記索引語に分割し、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
    前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
    前記検索語を2つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、
    ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  14. 与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
    電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
    前記登録文書を前記索引語に分割し、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
    前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
    前記検索語を2つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、
    ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  15. 与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
    電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
    前記登録文書を前記索引語に分割し、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
    前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
    前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは1つのページに複数の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは1つの転置リストを複数のページに格納する、
    ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
  16. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    nを1以上の整数としたときに、前記文書分割手段は前記登録文書をn文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う1つ以上のn文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである検索装置。
  17. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記検索語分割手段は前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索条件解析手段は前記検索語が2つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである検索装置。
  18. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記検索語分割手段が前記検索語を2つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである検索装置。
  19. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記検索語分割手段が前記検索語を2つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである検索装置。
  20. 電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報である転置リストを対応付けて記憶している索引記憶手段と、
    前記登録文書を前記索引語に分割する文書分割手段と、
    与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が1つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
    前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
    この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
    前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは1つのページに1つ以上の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは1つの転置リストを複数のページに格納しているものである検索装置。
JP2005316003A 1998-02-02 2005-10-31 電子化文書検索システムおよび記録媒体 Expired - Lifetime JP4011595B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005316003A JP4011595B2 (ja) 1998-02-02 2005-10-31 電子化文書検索システムおよび記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2084098 1998-02-02
JP2005316003A JP4011595B2 (ja) 1998-02-02 2005-10-31 電子化文書検索システムおよび記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10256974A Division JPH11282880A (ja) 1998-02-02 1998-09-10 電子化文書検索システムおよび記憶媒体

Publications (2)

Publication Number Publication Date
JP2006073035A true JP2006073035A (ja) 2006-03-16
JP4011595B2 JP4011595B2 (ja) 2007-11-21

Family

ID=36153514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005316003A Expired - Lifetime JP4011595B2 (ja) 1998-02-02 2005-10-31 電子化文書検索システムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4011595B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898555B2 (en) 2007-03-26 2014-11-25 Kabushiki Kaisha Toshiba Apparatus, method, and computer program product for managing structured documents
US9600565B2 (en) 2010-10-15 2017-03-21 Nec Corporation Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium
CN112236768A (zh) * 2018-06-04 2021-01-15 环球娱乐株式会社 搜索文本生成***和搜索文本生成方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8898555B2 (en) 2007-03-26 2014-11-25 Kabushiki Kaisha Toshiba Apparatus, method, and computer program product for managing structured documents
US9600565B2 (en) 2010-10-15 2017-03-21 Nec Corporation Data structure, index creation device, data search device, index creation method, data search method, and computer-readable recording medium
CN112236768A (zh) * 2018-06-04 2021-01-15 环球娱乐株式会社 搜索文本生成***和搜索文本生成方法
CN112236768B (zh) * 2018-06-04 2024-07-16 环球娱乐株式会社 搜索文本生成***和搜索文本生成方法

Also Published As

Publication number Publication date
JP4011595B2 (ja) 2007-11-21

Similar Documents

Publication Publication Date Title
US8037035B2 (en) Apparatus for searching and managing compressed files
US5680612A (en) Document retrieval apparatus retrieving document data using calculated record identifier
US6678687B2 (en) Method for creating an index and method for searching an index
US7880648B2 (en) Information processing apparatus, information processing method, and computer product
US6662189B2 (en) Method of performing data mining tasks for generating decision tree and apparatus therefor
US20090094262A1 (en) Automatic Generation Of Ontologies Using Word Affinities
US8866647B2 (en) Computer product, information processing apparatus, and information search apparatus
US20100005058A1 (en) Computer product, information retrieving apparatus, and information retrieving method
US6735600B1 (en) Editing protocol for flexible search engines
US6714927B1 (en) Apparatus for retrieving documents
JP2888188B2 (ja) 情報検索装置
US6721753B1 (en) File processing method, data processing apparatus, and storage medium
JP4011595B2 (ja) 電子化文書検索システムおよび記録媒体
JPH08329116A (ja) 構造化文書検索方法
JP5812007B2 (ja) インデックス作成装置、データ検索装置、インデックス作成方法、データ検索方法、インデックス作成プログラムおよびデータ検索プログラム
JPH11282880A (ja) 電子化文書検索システムおよび記憶媒体
JPH08190571A (ja) 文書検索方法
JP2009245181A (ja) 分散型全文検索システム、分散型全文検索方法、分散型全文検索プログラム及びそのプログラムを記録した記録媒体
JPH09212523A (ja) 全文検索方法
JPH1115845A (ja) 情報検索方法および装置と情報検索プログラムを格納した記録媒体
US8311994B2 (en) Run total encoded data processing
JP3797143B2 (ja) バルクロードシステム,バルクロード方法及びバルクロードプログラム
CN113918684A (zh) 一种信息搜索方法、装置及设备
CN114238257A (zh) 日志处理方法、日志处理装置及电子设备
JPH09212524A (ja) 全文検索方法および電子化辞書装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070625

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: 20070904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070905

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100914

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110914

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120914

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130914

Year of fee payment: 6

EXPY Cancellation because of completion of term