(57)【要約】【課題】電子化文書検索システムにおいて、検索処理全体の処理速度を向上する。【解決手段】索引語、索引語を含む登録文書の文書頻度および文書識別子、索引語の各登録文書内での文書内頻度および出現位置を記憶する索引記憶手段４１と、登録文書をｎ（ｎは１以上の整数）文字の連鎖である索引語に分割する文書分割手段４２と、検索語を覆う１つ以上のｎ文字連鎖である索引語に分割する検索語分割手段４３と、検索語が２つ以上の索引語に分割されるときは複数の索引語の出現位置間の距離を指定する位置演算子で合成した検索条件木を生成する検索条件解析手段４４と、検索条件木に基づき検索結果合成処理を実行し検索結果を得る検索条件評価手段４５とを備えた。【選択図】        図７
2006073035.tif 000002
【特許請求の範囲】
【請求項１】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
ｎを１以上の整数としたときに、前記文書分割手段は前記登録文書をｎ文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う１つ以上のｎ文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである電子化文書検索システム。
【請求項２】
ｎが２以上で検索語がｎ文字未満の場合、検索語分割手段はｍ文字目（ｍは１以上で（ｎ−ｍ＋１）以下である整数）から検索語と一致するすべての索引語を索引から取り出し、検索条件解析手段は検索語分割手段が取り出した前記複数の索引語を複数の検索結果の和集合をとる和集合演算子で合成するものである請求項１に記載の電子化文書検索システム。
【請求項３】
ｎが２以上で検索語がｎ文字以上の場合、検索語分割手段は検索語を覆う最小個数の索引語に分割するものである請求項１に記載の電子化文書検索システム。
【請求項４】
最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである請求項３に記載の電子化文書検索システム。
【請求項５】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記検索語分割手段は前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである電子化文書検索システム。
【請求項６】
検索語分割手段は検索語を覆う最小個数の索引語に分割するものである請求項５に記載の電子化文書検索システム。
【請求項７】
最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである請求項６に記載の電子化文書検索システム。
【請求項８】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記検索語分割手段が前記検索語を２つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである電子化文書検索システム。
【請求項９】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記検索語分割手段が前記検索語を２つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである電子化文書検索システム。
【請求項１０】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報である転置リストを対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは１つのページに１つ以上の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは１つの転置リストを複数のページに格納しているものである電子化文書検索システム。
【請求項１１】
与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行させるためのプログラムを記録した記録媒体であって、
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
前記登録文書を前記索引語に分割し、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
ｎを１以上の整数としたときに、前記文書分割手段は前記登録文書をｎ文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う１つ以上のｎ文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、
ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
前記登録文書を前記索引語に分割し、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、
ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１３】
与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
前記登録文書を前記索引語に分割し、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
前記検索語を２つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、
ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１４】
与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
前記登録文書を前記索引語に分割し、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
前記検索語を２つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、
ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１５】
与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、
前記登録文書を前記索引語に分割し、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、
前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、
前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは１つのページに複数の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは１つの転置リストを複数のページに格納する、
ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１６】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
ｎを１以上の整数としたときに、前記文書分割手段は前記登録文書をｎ文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う１つ以上のｎ文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである検索装置。
【請求項１７】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記検索語分割手段は前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである検索装置。
【請求項１８】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記検索語分割手段が前記検索語を２つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである検索装置。
【請求項１９】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記検索語分割手段が前記検索語を２つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである検索装置。
【請求項２０】
電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報である転置リストを対応付けて記憶している索引記憶手段と、
前記登録文書を前記索引語に分割する文書分割手段と、
与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、
前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、
この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、
前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは１つのページに１つ以上の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは１つの転置リストを複数のページに格納しているものである検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子化された文書群を索引登録しておき、指定した文字列の検索語を含む文書を検索する電子化文書検索システム、検索装置、および記録媒体に関する。
【背景技術】
【０００２】
電子化文書検索システムとしては、従来のキーワード検索方式の他に、近年の電子計算機の高速化と記憶装置の大容量化により、全文検索方式も用いられている。この全文検索方式では、基本的には検索の際に登録されている全文書を走査するものであるため、大量の文書に対しては膨大な検索処理時間を要することに鑑み、索引構造の工夫や検索処理の手法の工夫による処理の高速化が試みられている。
【０００３】
この索引構造としては、索引語に文書の識別子のみを対応付けて記憶する方式が従来から行なわれているが、一般には、検索語を構成する文字列を複数の索引語に分解して索引照合を行なうため検索ノイズ（過剰ヒット）が避けられず、このノイズの除去のため、全文書の走査によるあと処理を必要とし、処理の高速化に限界があった。
【０００４】
そこで、索引語の各文書における出現位置などの統計情報も索引にもたせる方式も提案されている。例えば、非特許文献１には、文字種に応じて１文字または連接２文字を索引語とする技術が開示されている（以下、従来技術１という）。また、特許文献１には、文字種によらず連接ｎ文字（ｎ≧２）を索引語とする技術が開示されている（以下、従来技術２という）。
【０００５】
【非特許文献１】「論文  日本語文書用高速全文検索の一手法」（電子情報通信学会論文誌  Ｄ−１  Ｖｏｌ．Ｊ７５−Ｄ−１  Ｎｏ．９  ８３６〜８４６頁  １９９２年９月）
【特許文献１】特開平７−５６９４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術１、２では、索引語が短いと頻出索引語が多くなって検索処理に要する時間が長くなる一方、索引語が長いと索引が非常に大きくなるという不具合がある。
【０００７】
この発明の目的は、検索処理全体の処理速度を向上などを図った電子化文書検索を可能とすることにある。
【課題を解決するための手段】
【０００８】
請求項１および請求項１６に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、ｎを１以上の整数としたときに、前記文書分割手段は前記登録文書をｎ文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う１つ以上のｎ文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである。
【０００９】
したがって、索引語は一律にｎ文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
【００１０】
請求項２に記載の発明は、請求項１に記載の発明において、ｎが２以上で検索語がｎ文字未満の場合、検索語分割手段はｍ文字目（ｍは１以上で（ｎ−ｍ＋１）以下である整数）から検索語と一致するすべての索引語を索引から取り出し、検索条件解析手段は検索語分割手段が取り出した前記複数の索引語を複数の検索結果の和集合をとる和集合演算子で合成するものである。
【００１１】
したがって、ｎが２以上で検索語がｎ文字未満の場合も正しく検索を行なうことができる。
【００１２】
請求項３に記載の発明は、請求項１に記載の発明において、ｎが２以上で検索語がｎ文字以上の場合、検索語分割手段は検索語を覆う最小個数の索引語に分割するものである。
【００１３】
したがって、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
【００１４】
請求項４に記載の発明は、請求項３に記載の発明において、最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである。
【００１５】
したがって、文書頻度を小さくして検索処理の高速化を図ることができる。
【００１６】
請求項５および請求項１７に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記検索語分割手段は前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成するものである。
【００１７】
したがって、請求項１および１６に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
【００１８】
請求項６に記載の発明は、請求項５に記載の発明において、検索語分割手段は検索語を覆う最小個数の索引語に分割するものである。
【００１９】
したがって、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
【００２０】
請求項７に記載の発明は、請求項６に記載の発明において、最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割するものである。
【００２１】
したがって、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
【００２２】
請求項８および請求項１８に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記検索語分割手段が前記検索語を２つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである。
【００２３】
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００２４】
請求項９および請求項１９に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記検索語分割手段が前記検索語を２つ以上の前記索引語に分割する場合は、前記検索条件解析手段は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、前記検索条件評価手段は、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得るものである。
【００２５】
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００２６】
請求項１０および請求項２０に記載の発明は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報である転置リストを対応付けて記憶している索引記憶手段と、前記登録文書を前記索引語に分割する文書分割手段と、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する検索語分割手段と、前記検索条件を解析して、この検索条件から、前記検索語分割手段が取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する検索条件解析手段と、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得る検索条件評価手段とを備え、前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは１つのページに１つ以上の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは１つの転置リストを複数のページに格納しているものである。
【００２７】
したがって、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
【００２８】
請求項１１に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行させるためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、ｎを１以上の整数としたときに、前記文書分割手段は前記登録文書をｎ文字の連鎖である前記索引語に分割し、前記検索語分割手段は前記検索語を覆う１つ以上のｎ文字連鎖である前記索引語に分割し、前記検索条件解析手段は前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【００２９】
したがって、索引語は一律にｎ文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
【００３０】
請求項１２に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記分割で得た複数の索引語のうち前記検索語を覆う他の索引語に包含されるものは除外するものであり、前記検索語が２つ以上の前記索引語に分割されるときはこの複数の索引語の出現位置間の距離を指定する位置演算子で合成する、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【００３１】
したがって、請求項１１に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
【００３２】
請求項１３に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記検索語を２つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【００３３】
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００３４】
請求項１４に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記検索語を２つ以上の前記索引語に分割する場合は、これら複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、前記複数の索引語から前記検索語を覆いかつ索引語ごとの前記文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成し、まず前記候補決定用条件木の前記検索結果合成処理を実行して前記複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に前記詳細判定用条件木の前記検索結果合成処理を実行して前記検索結果を得る、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【００３５】
したがって、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００３６】
請求項１５に記載の発明は、与えられた検索条件に従って、電子化されて所定の記憶装置に登録されている複数の文書中から所望の検索語を含む文書の検索を前記コンピュータに実行可能とするためのプログラムを記録した記録媒体であって、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を、この索引の見出しとして登録される各索引語に、この索引語を含んでいる前記登録文書の数である文書頻度、前記索引語を含む文書の文書識別子、前記索引語の前記各登録文書内での出現回数である文書内頻度および前記索引語の前記各登録文書内での出現位置の各情報を対応付けて記憶して、前記登録文書を前記索引語に分割し、与えられた検索条件中の検索語を前記索引語に分割し、また、前記検索語中に前記索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成し、前記検索条件を解析して、この検索条件から、取得した前記索引語と前記空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成し、この検索条件木に基づき、前記索引から前記索引語に関する前記情報を取得して検索結果合成処理を実行し検索結果を得るものであり、前記索引は、固定長のブロックであるページをファイルの読み書きの単位としていて、前記転置リストの大きさが前記ページの大きさより所定程度小さいときは１つのページに複数の転置リストを格納し、前記転置リストの大きさが前記ページより大きいときは１つの転置リストを複数のページに格納する、ことをコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
【００３７】
したがって、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
【発明の効果】
【００３８】
請求項１および請求項１６に記載の発明は、索引語は一律にｎ文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
【００３９】
請求項２に記載の発明は、請求項１に記載の発明において、ｎが２以上で検索語がｎ文字未満の場合も正しく検索を行なうことができる。
【００４０】
請求項３に記載の発明は、請求項１に記載の発明において、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
【００４１】
請求項４に記載の発明は、請求項３に記載の発明において、文書頻度を小さくして検索処理の高速化を図ることができる。
【００４２】
請求項５および請求項１７に記載の発明は、請求項１および請求項１６に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
【００４３】
請求項６に記載の発明は、請求項５に記載の発明において、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
【００４４】
請求項７に記載の発明は、請求項６に記載の発明において、無駄な索引語の使用を省いて検索処理の高速化を図ることができる。
【００４５】
請求項８および請求項１８に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００４６】
請求項９および請求項１９に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００４７】
請求項１０および請求項２０に記載の発明は、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
【００４８】
請求項１１に記載の発明は、索引語は一律にｎ文字の連鎖とされるので、膨大な単語辞書を必要とする形態素解析を用いる手法と比較すると、単語辞書の管理などの手間が省ける。
【００４９】
請求項１２に記載の発明は、請求項１１に記載の発明に比較して、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。
【００５０】
請求項１３に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００５１】
請求項１４に記載の発明は、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【００５２】
請求項１５に記載の発明は、索引において転置リストを大きさに合わせてページ単位に管理するので、検索処理を高速化することができる。
【発明を実施するための最良の形態】
【００５３】
［発明の実施の形態１］
図１は、この発明の実施の形態１にかかる電子化文書検索システム１のシステム構成の概略を示すブロック図である。この電子化文書検索システム１は、同図に示すように、例えば、クライアント２と、サーバ３とを通信回線４で接続したクライアント／サーバシステムとして実施することができる。
【００５４】
サーバ３は、その外部記憶に、電子化文書検索プログラムを記憶している。また、多数の電子化された文書をデータベースにして登録し、さらに、この文書から所望の検索語を含んでいる文書を検索する索引となる索引テーブルを登録している（これにより、この発明の文書登録手段、索引記憶手段を実現している）。前記電子化文書検索プログラム、前記データベースのフォーマット、前記索引テーブルなどは、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスクなどの記録媒体（この発明の記録媒体を実現するものである）に記憶されていたものを、サーバ３が読み取って外部記憶に格納したものである。そして、この外部記憶に記憶されている、電子化文書検索プログラム、データベース、索引テーブルにより、以下に説明する各種の処理を実現している。
【００５５】
クライアント２は、文書検索の検索条件を入力する入力装置や、この検索の結果をディスプレイに表示したりプリンタにプリントアウトするための出力装置として機能する。
【００５６】
図２は、前記索引テーブルのデータ構造の一例を示す表である。この索引テーブル１１は、アドレス１２と、索引語１３と、この索引語１３が出現する文書の識別子１４と、この索引語１３が出現する文書中での索引語１３の出現位置１５と、索引登録の際に識別子１４の数からわかる索引語１３が出現する文書数１６とが対応付けて記憶されている。
【００５７】
サーバ３では、クライアント２から文書検索の要求を受け付け、受け付けた検索条件を解析して、その内容に従い、索引テーブル１１に対し様々に索引照合を行なう。すなわち、検索語と索引語１３の照合、索引語１３に対応する識別子１４の照会、索引語１３に対応する出現位置１５の照会のうち、１つまたは複数の処理を個別にまたは一度に行なうことができる（これにより、この発明の索引照合手段を実現している）。
【００５８】
そして、この索引照合により、クライアント２から受け付けた検索語を覆う１または複数の索引語１３を取得する。この検索語が１つの索引語１３で覆えるときは、当該索引語１３に対応する識別子１４を照会し、その識別子１４の文書の表示を文書検索結果としてクライアント２に返す。例えば、サーバ３が受け付けた検索語が“原子力”で、この“原子力”がそのまま索引語１３として索引テーブル１１に登録されている場合である。
【００５９】
検索語が複数の索引語１３でしか覆えないときも、その複数の索引語１３の各々を新たな検索語として、索引照合により、この各検索語が出現する文書の文書数１６を取得することで（これにより、この発明の中間検索手段を実現している）、この文書数１６、すなわち文書頻度を見積もる（これにより、この発明の文書頻度見積手段を実現している）。
【００６０】
そして、この場合は、図３に示すように、サーバ３が受け付けた検索条件を、新たな２つの検索語の各々についての索引照合による検索を下位ノード２１に、この両下位ノード２１の検索結果の比較による、新たな両検索語の位置条件で限定する両下位ノード２１の合成処理条件２４を上位ノード２２とする、２進木の木構造２３の複合検索に変換する（図３(ａ)）。新たな検索語が３つ以上あるときは、２進木を階層的に並べて、２進木の木構造２３に変換する（図３(ｂ)）（これにより、この発明の第１検索条件変換手段を実現している）。図３(ａ)は、受け付けた検索語が“原子力発電”であるときに、この検索語を覆う索引語１３が、“原子力”、“発電”であるときの例であり、図３(ｂ)は、受け付けた検索語が“原子力発電”であるときに、この検索語を覆う索引語１３が、“原子力”、“発電”、“設備”であるときの例である。
【００６１】
そして、この変換後の検索条件に従い、上位ノード２２の処理を行なう。すなわち、索引照合により、新たな検索語の各々の識別子１４と出現位置１５の情報を取得して比較し、新たな検索語同士で同一識別子１４があるときに、その識別子１４に対応する文書中で新たな検索語の出現位置１５を比較して、上位ノード２２の位置条件に合致するか否かを判断し、すべての上位ノード２２で合致する文書の表示を検索結果としてクライアント２に出力する。この出現位置１５の比較は、新たな検索語のうち、文書頻度が小さいものから順に行なう（これにより、この発明の複合検索手段を実現している）。すなわち、図３(ｂ)の例で、"原子力”、“発電”、“設備”の順に文書頻度が小さいときは、まず、“原子力”が出現する文書の中で“発電”も出現する文書に限定し、この文書の中で、文書中の“原子力”と“発電”の出現位置が下層の上位ノード２２の位置条件に合致するか否かを判断する。そして、合致するものがある文書の中で“設備”も出現する文書に限定し、この文書の中で上層の上位ノード２２の位置条件に合致するか否かを判断して、最終的な検索結果を取得する。
【００６２】
このように、下位ノード２１の各々の文書頻度を見積ることで、検索条件評価の中間結果を得られれば、文書頻度の小さい順に評価を行なうことで、この中間結果を早めにしぼり込めるので、文書検索処理を従来より高速化することができる。
【００６３】
また、この場合に、図３に示すような木構造２３の２進木を作る際に、与えられた検索語を覆う索引語１３の、検索語の中での順番どおりに２進木の下位ノード２１を組み合わせるのではなく、文書頻度の小さい下位ノード２１の順に２進木に変換し、この変換により文書頻度の小さい下位ノード２１ほど木構造２３の下層となるようにしている（これにより、この発明の第１検索条件変換手段を実現している）。これにより、より下層でより末端ノードに近いほど、文書頻度の小さい下位ノード２１となるので、さらに中間結果を早めにしぼり込むことができ、さらに文書検索処理を高速化することができる。
【００６４】
与えられた検索語が索引登録されている索引語１３で覆うことができないときは、検索結果は必ず空になる。このようなときは、２進木に変換するのではなく、検索条件の評価の際には直ちに空の検索結果を返す末端ノードに変換する（これにより、この発明の第１検索条件変換手段を実現している）。
【００６５】
よって、検索条件の評価の際に直ちに空の検索結果を返して、検索処理を高速化することができる。
【００６６】
以下では、合成処理条件２４の具体的内容、様々な検索条件への対応などについて説明する。
【００６７】
１．新たな検索語間の距離を合成処理条件２４とする場合について
以下では、木構造２３の２進木の構造を、“合成処理条件（合成される条件１、合成される条件２、…、合成される条件ｍ）”の形式で記載する。
【００６８】
最初の例は、新たな両検索語の位置条件を、“検索条件中の検索語を覆う２つの索引語（新たな２つの検索語）ｑ１，ｑ２の先頭がｎ文字分ずれていて、出現順が一定、すなわち正順序であって逆順序でないこと”とするもので（これにより、この発明の第１検索条件変換手段を実現している）、この位置条件を、以下では、“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”と表記する。図３(ｂ)の例では、図４に示すとおりとなる。合成処理条件２４による合成後の文書頻度は実際に合成しないと不明であるが、近似を試みることはできる。検索条件ｑの文書頻度を“ＤＦ（ｑ）”、ｑ１とｑ２とのうち小さい方の値をとることを、“ｍｉｎ｛ｑ１，ｑ２｝”と表記すると、“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”の文書頻度は、
“０≦ＤＦ（＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２））
≦ｍｉｎ｛ＤＦ（ｑ１），ＤＦ（ｑ２）｝”  ……  （１）
となる。
【００６９】
そこで、（１）式の範囲内で、“ＤＦ（＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２））”の値を適当な値に近似すればよい。例えば、上限値である、“ｍｉｎ｛ＤＦ（ｑ１），ＤＦ（ｑ２）｝”に近似することができる。
【００７０】
このように、新たな２つの検索語の出現位置の距離を上位ノードの位置条件とし、この位置条件を文書頻度の小さい方から評価することにより、不要な索引照合を省いて、文書検索速度を向上することができる。
【００７１】
２．検索条件に複数の検索語の論理演算を含む場合について
複数の検索語の積集合や和集合を意味する集合演算（論理演算）も、一般的に文書検索に利用されている。そこで、以下では、このような論理演算を含んでいる場合の処理について説明する。
【００７２】
このような場合には、各検索語を覆う索引語の各々を検索語として見積もった文書頻度に基づいて、各検索語の検索を下位ノード２１に、この下位ノードの前記論理演算を合成処理条件２４として上位ノード２２にする複合検索の木構造２３に変換する（これにより、この発明の第２検索条件変換手段を実現している）。
【００７３】
（１）複数の検索語が積集合で結ばれている場合について
複数の検索語ｑ１，ｑ２，……の積集合を“＃ａｎｄ（ｑ１，ｑ２，……）”で表記することにすると、この“＃ａｎｄ（ｑ１，ｑ２，……）”を含む検索条件の解析は図５に示す例のようになる。
【００７４】
この積集合による合成の場合も、“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”の場合と同様に、文書頻度の小さい方から評価していった方が速くしぼり込むことができるので、文書検索処理を高速化することができる。
【００７５】
しかし、“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”が２進木であるのに対し、“＃ａｎｄ（ｑ１，ｑ２，……）”は多進木であるので、検索条件評価の途中で見積り文書頻度を比較するのは非効率である。そこで、予め見積り文書頻度の小さい順に並べなおす、すなわち、文書頻度の小さい下位ノード２１の順に木構造２３に変換し、この変換により文書頻度の小さい下位ノード２１ほど木構造２３の下層となるようにする（これにより、この発明の第２検索条件変換手段を実現している）。これにより、早めに結果をしぼり込むことができるので、文書検索速度を高速化することができる。例えば、検索条件に、“＃ａｎｄ（カラー，イメージ，プリンタ）”があり、“ＤＦ（イメージ）＜ＤＦ（カラー）＜ＤＦ（プリンタ）”であるときは、“＃ａｎｄ（イメージ，カラー，プリンタ）”と
変換する。
【００７６】
“＃ａｎｄ（ｑ１，ｑ２，……）”で合成される条件に、“＃ａｎｄ（ｑ１，ｑ２，……）”を含むような入れ子構造になっているときは、その入れ子構造を解いて平坦化しても論理演算の意味に変動はない。そして、入れ子構造のままで見積り文書頻度による並べ替えを行なうと、並べ替えの範囲が不必要に狭くなり、効率が悪くなることがある。例えば、“ＤＦ（ｑ２）＜ＤＦ（ｑ３）＜ＤＦ（ｑ４）＜ＤＦ（ｑ１）”である場合、“＃ａｎｄ（＃ａｎｄ（ｑ１，ｑ２），ｑ３，ｑ４）”に、入れ子構造のまま並べ替えを施すと、“＃ａｎｄ（＃ａｎｄ（ｑ２，ｑ１），ｑ３，ｑ４）”となるが、入れ子構造を解いて並べ替えると、“＃ａｎｄ（ｑ２，ｑ３，ｑ４，ｑ１）”となり、この方が早期のしぼり込みを期待でき、文書検索を高速化することができる（これにより、この発明の第２検索条件変換手段を実現している）。例えば、“＃ａｎｄ（＃ａｎｄ（カラー，イメージ），プリンタ）”で、“ＤＦ（イメージ）＜ＤＦ（カラー）＜ＤＦ（プリンタ）”であるときは、入れ子構造を解いて、“＃ａｎｄ（カラー，イメージ，プリンタ）”とし、並べ替えを行なって、“＃ａｎｄ（イメージ，カラー，プリンタ）”に変換する。また、末端のノードが文書頻度が正確であるのに対して、中間ノードの文書頻度は近似値であるから、合成処理演算の階層は少ない方が見積り誤差が少なくなるという利点もある。
【００７７】
また、積集合の場合、合成される下位ノード２１に１つでも空の検索結果を返すものがあれば合成の結果も空であるから、２進木の木構造２３に変換せず、合成処理条件２４の際には直ちに空の検索結果を返す末端ノードに変換する。これにより、文書検索処理を高速化することができる（これにより、この発明の第２検索条件変換手段を実現している）。
【００７８】
なお、積集合の文書頻度は、登録されている全文書数をＮとすると、
ｍｉｎ｛ＤＦ（ｑ１）＋ＤＦ（ｑ２）−Ｎ，０｝
≦ＤＦ（＃ａｎｄ（ｑ１，ｑ２））
≦ｍｉｎ｛ＤＦ（ｑ１），ＤＦ（ｑ２）｝  ……  （２）
となる。
【００７９】
この範囲を適当な値で近似すれば、文書頻度の見積りを行なえる。例えば、変位の上限である“ｍｉｎ｛ＤＦ（ｑ１），ＤＦ（ｑ２）｝”で近似することができる。
【００８０】
（２）複数の検索語が和集合で結ばれている場合について
複数の検索語ｑ１，ｑ２，……の和集合を“＃ｏｒ（ｑ１，ｑ２，……）”で表記することにすると、この和集合による合成の場合は、“＃ａｎｄ（ｑ１，ｑ２，……）”の場合とは逆に、文書頻度の大きい方から評価していった方が速くしぼり込めて、文書検索処理を高速化することができる（これにより、この発明の第２検索条件変換手段を実現している）。
【００８１】
そして、“＃ａｎｄ（ｑ１，ｑ２，……）”も多進木であるので、検索条件評価の途中で見積り文書頻度を比較するのは非効率である。そこで、予め見積り文書頻度の大きい順に並べなおす、すなわち、文書頻度の大きい下位ノード２１の順に木構造２３に変換していき、この変換により文書頻度の大きい下位ノード２１ほど木構造２３の下層となるようにする（これにより、この発明の第２検索条件変換手段を実現している）。これにより、早めに結果をしぼり込むことができるので、文書検索速度を高速化することができる。例えば、検索条件に、“＃ｏｒ（パルス変調，位置変調，ＰＰＭ）”があり、“ＤＦ（ＰＰＭ）＜ＤＦ（パルス）＜ＤＦ（位置変調）”であるときは、“＃ｏｒ（位置変調，パルス，ＰＰＭ）”と変換する。
【００８２】
また、積集合の場合と同様、和集合の場合も入れ子構造を有するときは、この入れ子構造を解いてからの方が、見積り文書頻度による処理が効果的になる（これにより、この発明の第２検索条件変換手段を実現している）。例えば、検索条件に、“＃ｏｒ（＃ｏｒ（パルス変調，位置変調），ＰＰＭ）”があるときに、“ＤＦ（ＰＰＭ）＜ＤＦ（パルス変調）＜ＤＦ（位置変調）”であるときは、入れ子構造を解いて“＃ｏｒ（パルス変調，位置変調，ＰＰＭ）”としてから、“＃ｏｒ（位置変調，パルス変調，ＰＰＭ）”に並べ替える。
【００８３】
なお、“＃ｏｒ（ｑ１，ｑ２，……）”の文書頻度は、登録されている全文書数をＮとすると、
ｍａｘ｛ＤＦ（ｑ１），ＤＦ（ｑ２）−Ｎ，０｝
≦ＤＦ（＃ｏｒ（ｑ１，ｑ２））
≦ｍｉｎ｛ＤＦ（ｑ１）＋ＤＦ（ｑ２），Ｎ｝  ……  （３）
となる。
【００８４】
そして、この範囲を適当な値で近似すれば、文書頻度の見積りを行なえる。例えば、範囲の上限である、限界和“ｍｉｎ｛ＤＦ（ｑ１）＋ＤＦ（ｑ２），Ｎ｝”で近似することができる。算術和“ＤＦ（ｑ１）＋ＤＦ（ｑ２）”がＮを超えるような検索は、大量の文書から必要な文書を見つけだそうとしている以上、実際にはめったにないと考えられるので、算術和を用いても実用上大差ない。
【００８５】
（３）複数の検索語が差集合で結ばれている場合について
複数の検索語ｑ１，ｑ２，……，ｑｍがあって、検索語ｑ１を含んでいるが、検索語ｑ２，……，ｑｍのいずれも含まないものを検索する、差集合による合成の場合を、“＃ａｎｄ−ｎｏｔ（ｑ１，ｑ２，……，ｑｍ）”と表記すると、これは“＃ｏｒ（ｑ１，ｑ２，……）”の検索結果の補集合と、ｑ１の検索結果との積集合を取る論理演算と同義である。そこで、第２項以下を見積り文書頻度の大きい順に並べれば、早めに絞り込んで文書検索処理を高速化することができる（これにより、この発明の第２検索条件変換手段を実現している）。例えば、“＃ａｎｄ−ｎｏｔ（空乏層，化合物，ＧａＡｓ，ＩｎＰ）”が検索条件に含まれていて、“ＤＦ（ＧａＡｓ）＜ＤＦ（ＩｎＰ）＜ＤＦ（化合物）”であるときは、“＃ａｎｄ−ｎｏｔ（空乏層，化合物，ＩｎＰ，ＧａＡｓ）”と並べ替える。
【００８６】
また、第２項以下に和集合があるときは、この和集合を解いてからの方が、見積り文書頻度による処理が効果的である（これにより、この発明の第２検索条件変換手段を実現している）。例えば、“＃ａｎｄ−ｎｏｔ（空乏層，化合物，＃ｏｒ（ＧａＡｓ，ＩｎＰ））”が検索条件に含まれていて、“ＤＦ（ＧａＡｓ）＜ＤＦ（ＩｎＰ）＜ＤＦ（化合物）”であるときは、３項の和集合を解いて、“＃ａｎｄ−ｎｏｔ（空乏層，化合物，ＩｎＰ，ＧａＡｓ）”とした後、“＃ａｎｄ−ｎｏｔ（空乏層，化合物，ＩｎＰ，ＧａＡｓ）”と並べ替える。
【００８７】
さらに、差集合の第１項が空の検索結果を返すときは、差集合も空になるので、差集合を直ちに空の検索結果を返すノードに変換することで、文書検索処理の高速化を図ることができる（これにより、この発明の第２検索条件変換手段を実現している）。
【００８８】
なお、“＃ａｎｄ−ｎｏｔ（ｑ１，ｑ２，……，ｑｍ）”の文書頻度は、
０≦ＤＦ（＃ａｎｄ−ｎｏｔ（ｑ１，ｑ２，……，ｑｍ））
≦ＤＦ（ｑ１）  ……  （４）
となる。
【００８９】
この範囲で、適当な値で近似すれば、文書頻度の見積りを行なうことができる。例えば、範囲の上限である“ＤＦ（ｑ１）”で近似することができる。
【００９０】
（４）２つの検索語の出現位置間の距離の上限を指定する場合について
複数の検索語が共通に出現する文書というだけではなく、関連して出現する文書を検索したいというユーザの要望に応じて、近接演算に対応した文書検索システムも用いられている。
【００９１】
近接演算の例として、出現位置間の距離の上限を指定するものがあるが、２つの検索語ｑ１，ｑ２の出現位置間の距離の上限をｎ字とする場合で、出現順序を問わない場合を、“＃ｗｉｎｄｏｗ〔ｎ〕（ｑ１，ｑ２）”と表記することにする。このような場合は、索引１１に出現位置１５の情報を含んでいるので、積集合とみなした評価の後、位置条件による吟味を行なうことで容易に対応することができる。すなわち、各検索語ｑ１，ｑ２の検索を下位ノード２１に、この下位ノード２１の積集合を上位ノード２２にする複合検索の木構造２３に変換し、この変換は文書頻度の小さい下位ノード２１の順に２進木に変換し、文書頻度の小さい下位ノード２１ほど木構造２３の下層となるように行なう（これにより、この発明の第２検索条件変換手段を実現している）。
【００９２】
“＃ｗｉｎｄｏｗ〔ｎ〕（ｑ１，ｑ２）”の場合も、積集合の場合と同様に、この見積り文書頻度による並べ替えで処理を高速化することができるが、それは、前記のように量検索語ｑ１，ｑ２の出現順序を考慮しない場合に限られる。また、入れ子構造をとる場合でも、この入れ子構造を外すと意味が異なってしまうので行なわない。
【００９３】
３．予備的評価について
前記した、“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”や“＃ｗｉｎｄｏｗ〔ｎ〕（ｑ１，ｑ２）”の評価は、位置条件による吟味を必要とするため、位置条件による吟味を伴わない評価に比べ、時間を要する。そこで、不要な位置条件吟味を削減することができれば、文書検索処理を高速化することができる。“＃ａｎｄ（＃ｄｉｓｔａｎｃｅ〔３〕（原子力，発電），事故）”を例にとると、“＃ｄｉｓｔａｎｃｅ〔３〕（原子力，発電）”から評価していくことになるが、この場合、“事故”を含まない文書に関しても“原子力”と“発電”の位置条件吟味（この発明の例では、“原子力”と“発電”が、この順に出現して、先頭が３文字ずれているか、すなわち、隣接しているか否かを吟味）を行なうこととなる。
【００９４】
そこで、“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”や“＃ｗｉｎｄｏｗ〔ｎ〕（ｑ１，ｑ２）”を、“＃ａｎｄ（ｑ１，ｑ２）”に置き換えた粗い評価を予備的評価として行ない、これにより予め絞り込みを行なって、無駄な位置条件吟味を削減して、文書検索処理を高速化することができる。
【００９５】
すなわち、各検索語ｑ１，ｑ２の検索を下位ノード２１に、この下位ノード２１の“＃ｄｉｓｔａｎｃｅ〔ｎ〕（ｑ１，ｑ２）”や“＃ｗｉｎｄｏｗ〔ｎ〕（ｑ１，ｑ２）”の位置条件を上位ノード２２にする複合検索の木構造２３に変換する。そして、この変換は文書頻度の小さい下位ノード２１の順に２進木に変換し、文書頻度の小さい下位ノード２１ほど木構造２３の下層となるように行なう（これにより、この発明の第１、第２予備変換手段を実現している）。そして、変換後の木構造２３での上位ノード２２の処理を木構造２３中での最下位層から上位層に向けて順次実行して複合検索の結果を作成し、上位ノード２２の処理は各検索語ｑ１，ｑ２間の出現位置の比較を文書頻度の小さいものから順に行なう（これにより、この発明の第１、第２予備検索手段を実現している）。あとは、この粗い評価により限定された文書についてのみ、正確な評価を行なう（これにより、この発明の複合検索手段を実現している）。
【００９６】
４．全順序関係をもつ識別子１４を用いる場合について
検索条件の評価は、より具体的には、その条件を満たす文書の識別子１４のリストを得るための処理（これを“ｒｅｔｒｉｅｖｅ（）”と表記することにする）である。識別子１４としては、整数や文字列などの全順序関係をもつものを用いるのが一般的であるので、識別子１４の下限ｄ０を与えて、その検索条件を満たす文書の識別子１４のうちでｄ０以上で最小のものを得る（以下、“ｌｏｗｅｒ＿ｂｏｕｎｄ（ｄ０）”と表記する）。これにより、“ｒｅｔｒｉｅｖｅ（）”を得る処理は、“ｌｏｗｅｒ＿ｂｏｕｎｄ（ｄ０）”を用いて実現することができる。
【００９７】
索引１１のデータを電子化文書検索システム１の記憶装置間で転送する際の時間や索引１１を格納する記憶装置の資源の節約のために、通常は索引１１は圧縮されており、圧縮の方式にもよるが、多くの場合、識別子１４の順序に従って走査する方が、順序を無視してランダムに識別子１４を変更しながら走査するよりも、索引照合がはるかに高速になる場合が多い。このような索引１１（これにより、この発明の索引記憶手段を実現している）に対して、索引語１３であるωと、識別子１４の下限値ｄ０を指定されれば、ωを含む識別子１４のうちでｄ０以上で最小のものを得ることができる比較的高速な索引照合が可能になる（これにより、この発明の第１予備照合手段を実現している）。これにより、索引語ωの索引照合に対応する検索条件の“ｌｏｗｅｒ＿ｂｏｕｎｄ（ｄ０）”は簡単に得ることができる。
【００９８】
さらに、“ｌｏｗｅｒ＿ｂｏｕｎｄ（ｄ０）”に与えられた識別子１４の下限値ｄ０と、得られた識別子１４と、アドレス３２と、索引語ωとを関連付けて、図６に示すような履歴テーブル３１として記録しておいて（これにより、この発明の第１予備照合記憶手段を実現している）、これを参照することにより、索引照合の回数を削減することができる。
【００９９】
例えば、“ｌｏｗｅｒ＿ｂｏｕｎｄ（１０）”が２０であれば、“ｌｏｗｅｒ＿ｂｏｕｎｄ（１１）”も、“ｌｏｗｅｒ＿ｂｏｕｎｄ（１５）”も２０であるので、１０以上２０以下の下限値ｄ０については、索引照合することなく、履歴テーブル３１参照により、２０の値を返すことができる（これにより、この発明の第１照合範囲指定手段を実現している）。なお、履歴テーブル３１の参照だけで得られたものは履歴テーブル３１に追加しない。
【０１００】
上位ノード２２の合成処理においても、合成処理条件２４を満たす識別子１４のうち、下限値ｄ０以上で最小のものを得て、索引語１３、識別子１４の下限値ｄ０、得られた識別子１４を対応付けて履歴テーブル３１に記憶することで、この履歴テーブル３１を参照することにより下位ノード２１の評価回数を削減することができる（これにより、この発明の第２予備照合手段、第２予備照合記憶手段、第２照合範囲指定手段を実現している）。
【０１０１】
ただし、“ｌｏｗｅｒ＿ｂｏｕｎｄ（ｄ０）”の履歴をすべて記憶しておくと、その履歴が膨大になってしまう可能性がある。そこで、最新の一定数のもののみに限定することが望ましい（これにより、この発明の第１、第２予備照合記憶手段を実現している）。この場合、古い履歴を記録から消してしまうために、無駄な索引照合や、下位ノード２１の評価が発生する場合があるが、検索条件の評価の大部分は、“ｒｅｔｒｉｅｖｅ（）”を得る処理から派生するものであり、“ｒｅｔｒｉｅｖｅ（）”の処理では、識別子１４に関して１回走査するだけなので、最新の一つだけを履歴に残しておけば充分である。
【０１０２】
［発明の実施の形態２］
図７は、この発明の実施の形態２にかかる電子化文書検索システム４０の概要を示す機能ブロック図である。
【０１０３】
図７に示すように、この電子化文書検索システム４０は、電子化された複数の登録文書中から所望の検索語を含む文書を検索するための索引を記憶する索引記憶手段４１を備えている。この索引の見出しとして登録される各索引語には、この索引語を含んでいる登録文書の数である文書頻度、索引語を含む文書の文書識別子、索引語の各登録文書内での出現回数である文書内頻度および索引語の各登録文書内での出現位置の各情報を対応付けて記憶している（以下では、これら索引語ごとの一連のデータを「転置リスト」という）。
【０１０４】
文書分割手段４２は、登録文書を索引語に分割する。検索語分割手段４３は、与えられた検索条件中の検索語を索引語に分割し、また、検索語中に索引語が１つも含まれていないときは該当文書がない旨を示す空文書集合を作成する。
【０１０５】
検索条件解析手段４４は、検索条件を解析して、この検索条件から、検索語分割手段４３が取得した索引語と空文書集合とのうちの少なくとも一方を演算子で合成した検索条件木を生成する。
【０１０６】
検索条件評価手段４５は、検索条件木に基づき、索引から索引語に関する情報を取得して検索結果合成処理を実行し、検索結果を得る。
【０１０７】
（１）ｎを１以上の整数としたときに、文書分割手段４２は登録文書を一律にｎ文字の連鎖である索引語に分割する。これにより、膨大な単語辞書を必要とする形態素解析を用いる手法と比較して、単語辞書の管理などの手間を省くことができる。
【０１０８】
すなわち、例えば、文書１＝“あああ”、文書２＝“あいうえお”、文書３＝“あいえ”、文書４＝“いう”を登録していたとすると、ｎ＝１なら索引には図８のような情報が記録されることになる。ここに、各文書ごとの出現情報は｛，｝で囲まれた範囲がひとつの文書に対応していて、この｛，｝内の１番目のフィールドが文書識別子、２番目のフィールドが文書内頻度、３番目のフィールド（“（，）”で囲まれている）が出現位置である。
【０１０９】
検索条件が、検索語の単体で、あるいは、複数の検索語をＡＮＤ，ＯＲなどの演算子により結合した形式で与えられた場合、まず検索語分割手段４３が、ｎ文字連鎖で索引に記録されている索引語に分割する。検索条件解析手段４４は、検索語が１つの索引語になる場合はその索引語のみからなる、検索語が２つ以上の索引語に分割される場合にはそれらの索引語の出現位置間の距離を指定する位置演算子で、それぞれ合成した検索条件木を作成する。検索語を、検索語を覆う索引語に分割できないときは、検索語分割手段４３が空文書集合を出力し、検索条件解析手段４４が空文書集合のみからなる検索条件木を作成する。
【０１１０】
いま、“＃ｄｉｓｔａｎｃｅ〔ｘ〕（Ａ，Ｂ）”で索引語Ａと索引語Ｂが距離ｘ文字にある文書を検索することを指定するものとする。例えば、ｎ＝１で、検索語が「あいう」であれば、検索語分割手段４３は検索語を３個の索引語「あ」「い」「う」に分割し、検索条件解析手段４４は、＃ｄｉｓｔａｎｃｅ〔２〕（＃ｄｉｓｔａｎｃｅ〔１〕（あ，い），う）に相当する検索条件木を作成する。
【０１１１】
そして、検索条件評価手段４５は、「あ」「い」「う」に関する転置リストを読み出して、これら３つの索引語が同時に出現しており、かつ、「あ」「い」の距離が１である場合の「あ」の出現位置と、「う」の距離が２であるものを探し出す検索結果合成処理を行なう。この場合、文書２のみがこれに該当しており、これが検索結果となる。
【０１１２】
前記の場合に、ｎが２以上で、検索語がｎ文字未満である場合も正しく検索できるようにするためには、次のような処理を行なう。すなわち、検索語分割手段４３でｍ文字目（ｍは１以上で（ｎ−ｍ＋１）以下である整数）から検索語と一致するすべての索引語を索引から取り出し、検索条件解析手段４４で、検索語分割手段４３が取り出した複数の索引語を複数の検索結果の和集合をとる和集合演算子で合成する。
【０１１３】
例えば、前記の例で、ｎ＝２のときの索引は図９に示すとおりである。ｍ＝１の場合に、検索語が「あ」であれば、検索語分割手段４３は「ああ」「あい」を出力し、検索条件解析手段４４は、“＃ｏｒ（ああ，あい）”という検索条件木をつくる。ここで、“＃ｏｒ（Ａ，Ｂ）”は索引語Ａを含む文書集合と、索引語Ｂを含む文書集合の和集合を検索することを指定するものである。この場合には、前記の例で文書１，２，３が検索結果となる。
【０１１４】
ｎが２以上で、検索語がｎ文字以上である場合、次のような処理を行なうことで、無駄な索引語の処理を省いて検索処理を高速化することができる。
【０１１５】
たとえば、検索語が「あいうえ」であれば、前記の例で、“＃ｄｉｓｔａｎｃｅ〔２〕（＃ｄｉｓｔａｎｃｅ〔１〕（あい，いう），うえ）”が検索条件木として作成される。しかし、“＃ｄｉｓｔａｎｃｅ〔２〕（あい，うえ）”という検索条件木を満たす文書は、必ず“＃ｄｉｓｔａｎｃｅ〔１〕（あい，いう）”を満たしているので、無駄な位置のつき合わせ処理を行なってしまう。そこで、このような場合は、検索語分割手段４３は検索語を覆う最小個数の索引語に分割して、検索を効率化する。すなわち、この例であれば、検索語からは「あい」「うえ」の２つの索引語だけに分割され、“＃ｄｉｓｔａｎｃｅ〔２〕(あい，うえ）”という検索条件木が作成される。
【０１１６】
また、この場合に、検索語がさらに長いときは最小個数の索引語に分割できる場合が複数存在するときがある。例えば、検索語が「あいうえお」であれば、「あい」「うえ」「えお」にように分割することも、「あい」「いう」「えお」のように分割することもできる。この場合に、検索語分割手段４３は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割する。このように文書頻度を低減して検索処理を高速化することができる。図９の索引では、「いう」の文書頻度が２であるのに対し、「うえ」は１であるので、検索語分割手段４３は「あい」「うえ」「えお」のように検索語を分割することとなる。
【０１１７】
（２）前記の例では、文書分割手段４２、検索語分割手段４３ともに、登録文書、検索語を一律にｎ文字の連鎖に分割したが、文字列の分割手段としては、文字種に応じて抽出するｎを変化させたり、異なるｎに対する分割の結果を組み合わせたりすることも考えられる。一例として、ｎ＝１とｎ＝２の分割の結果を組み合わせる場合を考えると、検索語「あいうえお」に対しては「あ」「い」「う」「え」「お」「あい」「いう」「うえ」「えお」が得られる。
【０１１８】
このような場合に、検索語分割手段４３が検索語を分割して得た複数の索引語のうち、検索語を覆う他の索引語に包含されるものは除外するようにすることで、検索語を検索向きに索引語に分割して、検索処理を高速化することができる。すなわち、前記の例で検索語「あいうえお」に対しては、ｎ＝２のものに包含されるｎ＝１のものを除外した、「あい」「いう」「うえ」「えお」が得られる。
【０１１９】
この場合に、検索語分割手段４３は検索語を覆う最小個数の索引語に分割して、無駄な索引語の使用を省いて検索処理の高速化を図る。また、最小個数の索引語に分割できる場合が複数あるときは、検索語分割手段４３は検索語を覆う最小個数の各索引語の文書頻度の合計が最小となるように検索語を索引語に分割して、文書頻度を小さくして検索処理の高速化を図る。
【０１２０】
（３）前記（１）（２）の手法では、検索語が２つ以上の索引語に分割される場合には、位置演算子で合成した検索条件のみを用いて検索を行なっている。しかし、この手法だと無駄な文字位置の突き合せ処理を生じる可能性がある。例えば（１）の例で、検索語「あいえお」を処理すると、索引語として「あい」「えお」が得られ、例えば、文書２＝“あいうえお”に関しては両索引語が出現しているものの、距離の条件を満たしていないということで、該当文書なしという検索結果が得られる。しかし、検索語に含まれる索引語「いえ」を考慮すれば、「あい」「いえ」「えお」を同時に含む文書は存在しないので、索引語の文書中での出現位置を調べることなく該当文書なしと判断することができる。
【０１２１】
そこで、検索語分割手段４３が検索語を２つ以上の索引語に分割する場合は次のような処理を行なってもよい。すなわち、検索条件解析手段４４は、検索語の分割で得られた複数の索引語を複数の検索結果の積集合をとる積集合演算子で合成した条件木である候補決定用条件木と、複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成した条件木である詳細判定用条件木とを作成する。そして、検索条件評価手段４５は、まず候補決定用条件木の検索結果合成処理を実行して複数の登録文書から該当文書を検索し、次に、この検索後の登録文書を対象に詳細判定用条件木の検索結果合成処理を実行して検索結果を得るようにする。
【０１２２】
これにより、詳細判定用条件木の検索結果合成処理に先立って、候補決定用条件木の検索結果合成処理を実行して対象となる文書に絞りをかけることにより、文字位置の突き合せの処理を低減して、検索処理の高速化を図ることができる。
【０１２３】
この場合に、詳細判定用条件木を、複数の索引語から検索語を覆う最小個数のものを選択してそれを出現位置間の距離を指定する位置演算子で合成して作成するのに代えて、複数の索引語から前記検索語を覆いかつ索引語ごとの文書頻度の合計が最小となるものを選択してそれを出現位置間の距離を指定する位置演算子で合成して作成するようにしてもよい。
【０１２４】
（４）文書識別子、文書内頻度、出現位置などのデータは、通常、固定長(２あるいは４バイト）で表現される。例えば、４バイトで表現することにすると、図８の索引語「あ」のデータは、１１＊４＝４４バイト＝１４０８ビットが必要となる。これに対し、各文書識別子を前に出現している文書識別子の値との差分をとることで表現すると、その値は一般に小さな値となるので、可変長符号を用いて表現すると索引を小型化できる。同様に、文書内頻度は、その値を直接、可変長符号で表現し、出現位置は文書ごとに各出現位置の前の値との差分を可変長符号で表現することにより、索引を小型化することができる。
【０１２５】
たとえば、可変長符号としてγ符号（I.H.witten著"Managing Gigabytes"，Van Nostrand Reinhold，1994年，84頁参照）を用いることとすると、図８の索引語「あ」の例で、文書識別子は、各々、１，２−１＝１，３−２＝１となり、この３つの１を各々“０”で表現できる。また、文書内頻度は、３，１，１を“１０１”“０”“０”で表現できる。さらに、出現位置は、文書１での出現が、各々、１，２−１＝１，３−２＝１となり、この３つの１を各々“０"で表現でき、文書２，３での出現はそれぞれ“０”で表現できる。結局、この場合の転置リストのデータは、｛“０”，“１０１”，（“０”，“０”，“０”）｝，｛“０”，“０”，（“０”）｝，｛“０”，“０”，（“０”）｝のように表現できるので、３＊１＋（３＋１＋１）＋（３＊１＋１＋１）＝１３ビットのデータ量ですむ。
【０１２６】
しかしながら、このように圧縮した索引では、ある転置リストを処理するためには伸長処理が必要となるので、検索処理を遅くする可能性がある。しかも、検索語が「あ」であれば、検索処理においては出現位置は必要ないにもかかわらず、索引が圧縮されていると、その出現位置を伸長しなければ２番目以降の文書識別子を得ることができない。
【０１２７】
そこで、索引は、索引語ごとに、各文書識別子と各文書内頻度および各出現位置とで格納する領域を分けて、文書識別子だけを伸長処理すればよいようにして、検索処理を高速化することができる。
【０１２８】
例えば、前記の例で、文書識別子を記録するデータを、｛“０”｝，｛“０”｝，｛“０”｝とし、文書内頻度および出現位置のデータを、｛“１０１”，（“０”，“０”，“０”）｝，｛“０”，（“０”）｝，｛“０”，（“０”）｝として分けて記録する。
【０１２９】
しかし、この場合に、特定の文書識別子の文書に関して位置の突き合せを行なうときには、その文書までの文書内頻度、出現位置を全て伸長処理しなければならない。
【０１３０】
そこで、索引語ごとの各文書ごとに対応して、文書頻度および出現位置を表現するのに必要なビット数である文書内頻度出現位置表現ビット数を可変長符号で表現したデータを保持するようにする。これにより、文書内頻度出現位置表現ビット数を参照することにより、必要とする文書の文書頻度、出現位置のデータがどこにあるかがわかるので、不要な文書については文書頻度、出現位置のデータを伸長する必要がなくなり、文書頻度、出現位置を参照する場合に伸長するデータ量を少なくして、検索処理を高速化することができる。
【０１３１】
例えば、前記した図８に示した例で、索引語「あ」に対する文書１の文書内頻度出現位置表現ビット数は６（γ符号で“１１０１０”）、文書２，３の場合はいずれも２（γ符号でいずれも“１００”）なので、前記の文書内頻度、出現位置のデータは、｛“１１０１０”，“１０１”，（“０”，“０”，“０”）｝，｛“１００”，“０”，（“０”）｝，｛“１００”，“０”，（“０”）｝のように表現することができる。この例で、３番目に位置する文書３に関する文書内頻度、出現位置を参照したい場合、はじめの２文書に関しては、文書内頻度出現位置表現ビット数のみを伸長して、そのビット数だけシフトすることで、３番目の文書に関する文書内頻度、出現位置を得るための位置を求めることができる。
【０１３２】
一方、このような処理では、文書内頻度出現位置表現ビット数を記録するために索引が大型化するとともに、文書内頻度、出現位置が必要な文書に関しては、文書内頻度出現位置表現ビット数を伸長することが余分な処理として発生する。そこで、文書内頻度が指定された閾値以上である場合に限って出現位置を表現するのに必要なビット数である出現位置表現ビット数を可変長符号で表現したものを記録するようにする。例えば、図８の前記の例で、閾値を２とすれば、文書内頻度が３である文書１にのみ出現位置表現ビット数３（γ符号で“１０１”）が記録され、文書内頻度、出現位置のデータは、｛“１０１”，“１０１”，（“０”，“０”，“０”）｝，｛“０”，（“０”）｝，｛“０”，（“０”）｝となる。ここで、先頭の文書１の｛，｝内の２番目にある“１０１”が出現位置表現ビット数である。このように、２番目に置いたのは、検索時には、まず文書内頻度を伸長した後でないと出現位置ビット数が記録されているのか否かが判定できないためである。
【０１３３】
なお、文書内頻度出現位置表現ビット数、出現位置表現ビット数は、前記の説明から明らかなように、文書内頻度および出現位置を格納する領域内に格納する。
【０１３４】
（５）前記（１）の場合で、ｍ＝１であれば、和集合演算子で結合される索引語は文字コード順にソートされたものである。これらに対応する転置リストが索引ファイルの近接した領域に格納されていれば、データの読み出しが高速化できるので、検索処理も高速になる。そこで、索引は、索引語ごとの転置リストを文字コード順にソートしてファイルに格納している。
【０１３５】
（６）新聞記事１年分のような大規模な文書データベースを考えた場合、索引のファイルからのデータの読み書きの効率化が重要である。ハードディスク装置からのデータの読み書きは、適当な大きさの固定長ブロック単位で行われるので、索引の読み出しも、このブロックの整数倍の固定長ブロックであるページ単位で行なう。この場合、実際の文書における索引語の出現頻度にはばらつきがあるため、各索引語の転置リストの大きさにもばらつきがでる。
【０１３６】
そこで、転置リストの大きさがページより所定程度小さいものは、１つのページに１つ以上の転置リストを同時に格納し、転置リストの大きさがページより大きいものは複数のページを用いて格納する。このようにすることで、小さな転置リストを効率的に格納でき、また、転置リストの大きさの上限を取り払うことができる。
【０１３７】
（７）次に、前記（４）の場合と（６）の場合とを組み合わせるような手法について説明する。大きな転置リストがあるような索引語のみからなる検索条件を処理する場合、文書内頻度、出現位置のデータは不要である。したがって、それらをファイルから読み出すことは無駄な処理となり、検索処理を遅くする。そこで、大きな配置リストを構成するページを、文書頻度、文書識別子とページの管理情報を格納するヘッダーページと、必要であれば文書識別子を格納する文書識別子ページと、文書内頻度、出現位置、文書内頻度出現位置表現ビット数あるいは出現位置表現ビット数がある場合は文書内頻度出現位置表現ビット数あるいは出現位置表現ビット数を格納する文書内頻度出現位置ページとに分けて格納する。その結果、文書内頻度、出現位置が不要な場合には文書内頻度、出現位置の読み出し処理が不要になり、検索処理が高速化できる。
【０１３８】
図１０は、この場合の転置リストの構成例を示すものである。同図に示すように、この転置リストは、文書識別子ページ（id page）、文書内頻度出現位置ページ（loc page）、ヘッダーページ（header page）にページが別れている。
【０１３９】
ヘッダーページは、文書頻度を格納するヘッダー部分（header）、文書識別子ページの位置を記録する文書識別子ページ索引（id page index）、文書内頻度出現位置ページの位置を記録する文書内頻度出現位置ページ索引（loc page index）、文書識別子の圧縮データの一部（last id block）、未使用部分（wastage）から構成されている。
【０１４０】
また、文書識別子を複数の文書識別子ページにまたがって格納し、この文書識別子ページの管理情報である文書識別子ページ索引に文書識別子のページ番号と各ページの先頭に記録された文書識別子とを記録するようにしてもよい。これにより、必要な文書識別子のデータが格納された文書識別子ページのみにアクセスすればよいので、検索処理を高速化することができる。図１１は文書識別子ページ索引の例である。この例で、文書識別子１０１０の文書が存在しているか否かを調べるには文書識別子ページ索引を参照して、２番目のページであるページ番号２００の文書識別子ページを読み込めばよく、ページ番号１００のページの読み込みを回避することができる。
【０１４１】
さらに、図１２に例を示すように、文書識別子ページ索引には、文書識別子ページの各ページの末尾に記録された文書識別子を記録してもよい。このように、末尾の文書識別子を記録することで、文書識別子ページ索引を参照するだけで、例えば図１２の例では文書識別子１９００の文書は存在しないことが確認でき文書識別子ページにアクセスする必要がないので、検索処理が高速化する。
【０１４２】
また、文書識別子をページのサイズより小さな固定長ブロックである文書識別子ブロックに分割して格納し、文書識別子ブロックごとにそのはじめの文書の文書識別子は前の文書識別子との差分をとらずに格納し、文書内頻度、出現位置および文書内頻度出現位表現ビット数もしくは出現位置表現ビット数がある場合には前記文書内頻度出現位表現ビット数または出現位置表現ビット数は文書識別子ブロックと同じ文書の情報を格納するブロックである文書内頻度出現位置ブロックに分割して格納する。
【０１４３】
図１３に、この場合の転置リストの一例を示す。この転置リストは、図１０のものと比較して次の点が異なっている。すなわち、文書識別子ページ（id page）は固定長の文書識別子ブロック（id block）から構成されている。文書内頻度出現位置ページ（loc page）は文書内頻度出現位置ブロック（loc block）から構成されている。各文書識別子ブロックが対応する文書内頻度出現位置ブロックを指している。なお、文書内頻度出現位置ブロックは必ずしも１つのページに収まらなくてもかまわない。例えば、図１３の左から３番目の文書内頻度出現位置ブロックがこれに相当する。
【０１４４】
大きな転置リストの構成をこのようにすることで、ページ内で特定の文書の存在を調べる場合は、ページの先頭からすべての文書識別子を伸長する必要はなく、まず各文書識別子ブロックの先頭に記録されている文書識別子を使って所望の文書識別子が存在するならばどのブロックにあるかを調べることができる。所望の文書識別子が存在するとすればどのブロックにあるかを調べるには、ブロックの先頭に記録されている文書識別子が所望の文書識別子より大きいブロックの１つ前のブロックを探せばよい。もし、比較を開始したブロックの先頭の文書識別子がすでに所望の文書識別子より大きい場合には現在の文書識別子ページには所望の文書識別子は存在しておらず、そのようなブロックが見つかることなく最終のブロックとの比較が終わった場合には所望の文書識別子は最終ブロックそのものにあるとする。また、位置の突き合せのため位置情報が必要になった場合には、文書識別子ブロックに記録されている対応する文書内頻度出現位置ブロックの位置情報を用いて文書内頻度出現位置ブロックにアクセスし、所望の位置情報を取得すればよい。以上のようにして所望の文書識別子、位置情報が簡単に得られるので、検索処理が高速化できる。
【図面の簡単な説明】
【０１４５】
【図１】この発明の実施の形態１である電子化文書検索システムの全体のシステム構成を示すブロック図である。
【図２】前記電子化文書検索システムの索引テーブル１１を示す表である。
【図３】前記電子化文書検索システムで検索条件から変換して作成する木構造の例を示すブロック図である。
【図４】前記木構造の例を示すブロック図である。
【図５】前記木構造の例を示すブロック図である。
【図６】前記電子化文書検索システムの履歴テーブルを示す表である。
【図７】この発明の実施の形態２にかかる電子化文書検索システムの全体構成を示す機能ブロック図である。
【図８】前記電子化文書検索システムで用いる索引の例を示す表である。
【図９】前記電子化文書検索システムで用いる索引の例を示す表である。
【図１０】前記索引の転置リストの例を示すブロック図である。
【図１１】前記転置リストの文書識別子ページ索引の例を示す表である。
【図１２】前記転置リストの文書識別子ページ索引の例を示す表である。
【図１３】前記索引の転置リストの例を示すブロック図である。
【符号の説明】
【０１４６】
１      電子化文書検索システム
１１    索引
１３    索引語
１４    識別子
１５    出現位置
１６    文書数
３１    第１、第２予備照合記憶手段
４０    電子化文書検索システム
４１    索引記憶手段
４２    文書分割手段
４３    検索語分割手段
４４    検索条件解析手段
４５    検索条件評価手段
【図１】
2006073035.tif 000003
【図２】
2006073035.tif 000004
【図３】
2006073035.tif 000005
【図４】
2006073035.tif 000006
【図５】
2006073035.tif 000007
【図６】
2006073035.tif 000008
【図７】
2006073035.tif 000009
【図８】
2006073035.tif 000010
【図９】
2006073035.tif 000011
【図１０】
2006073035.tif 000012
【図１１】
2006073035.tif 000013
【図１２】
2006073035.tif 000014
【図１３】
2006073035.tif 000015