(57)【要約】【課題】分散環境においても正確なスコアを算出することのできる文書検索システムを提供する。【解決手段】  管理装置１０は、各文書データ格納手段の登録文書数を、各文書検索装置から取得する登録文書数取得手段と、登録文書数に基づいて、複数の文書データ格納手段全体に対する総合登録文書数を算出する総合登録文書数算出手段と、各文書データ格納手段の文書頻度を、各文書検索装置から取得する文書頻度取得手段と、文書頻度に基づいて、複数の文書データ格納手段全体に対する総合文書頻度を算出する総合文書頻度算出手段とを有し、各文書検索装置２０ａ〜２０ｃは、総合登録文書数と、総合文書頻度算出手段が算出した総合文書頻度とに基づいて、検索キーワードのスコアを算出するスコア算出手段を有することを特徴とする。【選択図】        図１
2006331117.tif 000002
【特許請求の範囲】
【請求項１】
文書データを格納する、複数の文書データ格納手段と、
各文書データ格納手段に格納されている文書データを検索する、複数の文書検索装置と、
前記複数の文書検索装置を管理する管理装置と
を備え、
前記管理装置は、
前記文書データを検索するための検索キーワードを取得する検索キーワード取得手段と、
各文書データ格納手段に格納されている前記文書データの数である登録文書数を、各文書検索装置から取得する登録文書数取得手段と、
前記登録文書数取得手段が各文書検索装置から取得した前記登録文書数に基づいて、前記複数の文書データ格納手段全体に対する総合登録文書数を算出する総合登録文書数算出手段と、
各文書データ格納手段に格納されている前記文書データのうち、前記検索キーワード取得手段が取得した前記検索キーワードを含む文書データの数である文書頻度を、各文書検索装置から取得する文書頻度取得手段と、
前記文書頻度取得手段が各文書検索装置から取得した前記文書頻度に基づいて、前記複数の文書データ格納手段全体に対する総合文書頻度を算出する総合文書頻度算出手段と
を有し、
各文書検索装置は、
前記総合登録文書数算出手段が算出した前記総合登録文書数と、前記総合文書頻度算出手段が算出した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出手段を有することを特徴とする文書検索システム。
【請求項２】
前記総合登録文書数算出手段は、前記登録文書数取得手段が各文書検索装置から取得した前記登録文書数を加算して前記総合登録文書数を得ることを特徴とする請求項１に記載の文書検索システム。
【請求項３】
前記総合文書頻度算出手段は、前記文書頻度取得手段が各文書検索装置から取得した前記文書頻度を加算して前記総合文書頻度を得ることを特徴とする請求項１または２に記載の文書検索システム。
【請求項４】
前記管理装置は、
各文書データ格納手段に格納されている前記文書データの平均文書長を、各文書検索装置から取得する平均文書長取得手段と、
前記平均文書長取得手段が各文書検索装置から取得した前記平均文書長に基づいて、前記複数の文書データ格納手段全体に対する総平均文書長を算出する総平均文書長算出手段と
をさらに有し、
各文書検索装置の前記スコア算出手段は、さらに前記総平均文書長算出手段が算出した前記総平均文書長に基づいて、前記検索キーワードのスコアを算出することを特徴とする請求項１から３のいずれか一項に記載の文書検索システム。
【請求項５】
前記総平均文書長算出手段は、前記平均文書長取得手段が各文書検索装置から取得した前記平均文書長の平均値を、前記総平均文書長として算出することを特徴とする請求項４に記載の文書検索システム。
【請求項６】
各文書検索装置は、各文書データ格納手段に格納されている前記文書データ中における前記検索キーワードの出現数である文書内頻度を取得する文書内頻度取得手段をさらに有し、
前記スコア算出手段は、さらに前記文書内頻度取得手段が取得した前記文書内頻度に基づいて、前記検索キーワードのスコアを算出することを特徴とする請求項１から５のいずれか一項に記載の文書検索システム。
【請求項７】
各文書検索装置は、ユーザによって指定されたスコア計算式を示すスコア計算式情報を取得するスコア計算式取得手段をさらに有し、
前記スコア算出手段は、前記スコア計算式取得手段が取得した前記スコア計算式情報に示される前記スコア計算式を利用して前記スコアを算出することを特徴とする請求項１から６のいずれか一項に記載の文書検索システム。
【請求項８】
各文書検索装置は、前記スコア算出手段が前記検索キーワードに対して算出したスコアを文書データごとに合成し、合成スコアを得るスコア合成手段をさらに有することを特徴とする請求項１から７のいずれか一項に記載の文書検索システム。
【請求項９】
前記スコア合成手段は、同一の文書データにおいて、複数の前記検索キーワードそれぞれに対して算出されたスコアを加算して、文書データごとの合成スコアを得ることを特徴とする請求項８に記載の文書検索システム。
【請求項１０】
各文書検索装置は、ユーザによって指定されたスコア合成式を示すスコア合成式情報を取得するスコア合成式取得手段をさらに有し、
前記スコア算出手段は、前記スコア合成式取得手段が取得した前記スコア合成式情報に示される前記スコア合成式を利用して前記合成スコアを得ることを特徴とする請求項８または９に記載の文書検索システム。
【請求項１１】
文書データを格納する複数の文書データ格納手段を備えた文書管理システムにおいて前記文書データ格納手段に格納されている文書データを検索する文書検索装置であって、
前記文書データを検索するための検索キーワードを取得する検索キーワード取得手段と、
前記複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得する総合登録文書数取得手段と、
前記複数の文書データ格納手段全体における、前記検索キーワード取得手段が取得した前記検索キーワードを含む文書データの数である総合文書頻度を取得する総合文書頻度取得手段と、
前記総合登録文書数取得手段が取得した前記総合登録文書数と、前記総合文書頻度取得手段が取得した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出手段と
を備えたことを特徴とする文書検索装置。
【請求項１２】
前記複数の文書データ格納手段全体に対する総平均文書長を取得する総平均文書長取得手段をさらに備え、
前記スコア算出手段は、さらに前記総平均文書長取得手段が取得した前記総平均文書長に基づいて、前記検索キーワードのスコアを算出することを特徴とする請求項１１に記載の文書検索装置。
【請求項１３】
前記文書データ格納手段に格納されている前記文書データ中における前記検索キーワードの出現数である文書内頻度を取得する文書内頻度取得手段をさらに備え、
前記スコア算出手段は、さらに前記文書内頻度取得手段が取得した前記文書内頻度に基づいて、前記検索キーワードのスコアを算出することを特徴とする請求項１１または１２に記載の文書検索装置。
【請求項１４】
ユーザによって指定されたスコア計算式を示すスコア計算式情報を取得するスコア計算式取得手段をさらに備え、
前記スコア算出手段は、前記スコア計算式取得手段が取得した前記スコア計算式情報に示される前記スコア計算式を利用して前記スコアを算出することを特徴とする請求項１１から１３のいずれか一項に記載の文書検索装置。
【請求項１５】
前記スコア算出手段が前記探索キーワードに対して算出したスコアを、文書データごとに合成し、合成スコアを得るスコア合成手段をさらに備えたことを特徴とする請求項１１から１４のいずれか一項に記載の文書検索装置。
【請求項１６】
前記スコア合成手段は、同一の文書データにおいて、複数の前記探索キーワードそれぞれに対して算出されたスコアを加算して、文書データごとの合成スコアを得ることを特徴とする請求項１５に記載の文書検索装置。
【請求項１７】
ユーザによって指定されたスコア合成式を示すスコア合成式情報を取得するスコア合成式取得手段をさらに備え、
前記スコア算出手段は、前記スコア合成式取得手段が取得した前記スコア合成式情報に示される前記スコア合成式を利用して前記合成スコアを得ることを特徴とする請求項１５または１６に記載の文書検索装置。
【請求項１８】
文書データを格納する、複数の文書データ格納手段を備えた文書管理システムにおいて文書を管理する文書検索方法であって、
前記文書データを検索するための検索キーワードを取得する検索キーワード取得ステップと、
各文書データ格納手段に格納されている前記文書データの数である登録文書数を取得する登録文書数取得ステップと、
前記登録文書数取得ステップにおいて取得した前記登録文書数に基づいて、前記複数の文書データ格納手段全体に対する総合登録文書数を算出する総合登録文書数算出ステップと、
各文書データ格納手段に格納されている前記文書データのうち、前記検索キーワード取得ステップにおいて取得した前記検索キーワードを含む文書データの数である文書頻度を取得する文書頻度取得ステップと、
前記文書頻度取得ステップにおいて取得した前記文書頻度に基づいて、前記複数の文書データ格納手段全体に対する総合文書頻度を算出する総合文書頻度算出ステップと、
前記総合登録文書数算出ステップにおいて算出した前記総合登録文書数と、前記総合文書頻度算出ステップにおいて算出した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出ステップと
を有することを特徴とする文書検索方法。
【請求項１９】
文書データを格納する複数の文書データ格納手段を備えた文書管理システムにおいて前記文書データ格納手段に格納されている文書データを検索する文書検索方法であって、
前記文書データを検索するための検索キーワードを取得する検索キーワード取得ステップと、
前記複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得する総合登録文書数取得ステップと、
前記複数の文書データ格納手段全体における、前記検索キーワード取得ステップにおいて取得した前記検索キーワードを含む文書データの数である総合文書頻度を取得する総合文書頻度取得ステップと、
前記総合登録文書数取得ステップにおいて取得した前記総合登録文書数と、前記総合文書頻度取得ステップにおいて取得した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出ステップと
を有することを特徴とする文書検索方法。
【請求項２０】
請求項１９に記載の文書検索方法をコンピュータに実行させることを特徴とする文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の文書データ格納手段を備えた文書検索システム、文書検索装置、文書検索方法および文書検索プログラムに関するものである。
【背景技術】
【０００２】
転置索引を用いた多くの全文検索システムでは、検索結果一覧を表示するときに、入力されたキーワードと検索にヒットした文書との適合率をスコアという数値に表し、スコアの大きなものから順番に、検索結果一覧に表示している（例えば、非特許文献１，非特許文献２参照）。一般にスコアとは、入力されたキーワードに対するヒットした文書の重要度を表す。ここで、重要度は、キーワードの出現頻度に基づく値である。
【０００３】
【非特許文献１】真野博子，伊藤秀夫，小川泰嗣「文書検索におけるランキング検索技術」、リコーテクニカルレポート，Ｎｏ２９、２００３年１２月１２日
【非特許文献２】小川泰嗣，山本研策，真野博子，伊藤秀夫「全文研策システムのための複数転置ファイルを用いた登録高速化とランキング検索」、第１３回データ工学ワークショップ（ＤＥＷＳ２００２）、２００２年
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記スコアを算出する際には、索引に登録されている登録文書数や、平均文書長を用いている。また、検索キーワードを含む文書数も用いている。これらのパラメータは索引全体にアクセスしなければ取得できない情報である。
【０００５】
分散環境においては、各索引からの検索結果をマージすることになるが、単純に結果をマージしただけでは、上記パラメータを正確に求めることができない。このため、正確なスコアを取得することができないという問題がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、分散環境においても正確なスコアを算出することのできる文書検索システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、文書データを格納する、複数の文書データ格納手段と、各文書データ格納手段に格納されている文書データを検索する、複数の文書検索装置と、前記複数の文書検索装置を管理する管理装置とを備え、前記管理装置は、前記文書データを検索するための検索キーワードを取得する検索キーワード取得手段と、各文書データ格納手段に格納されている前記文書データの数である登録文書数を、各文書検索装置から取得する登録文書数取得手段と、前記登録文書数取得手段が各文書検索装置から取得した前記登録文書数に基づいて、前記複数の文書データ格納手段全体に対する総合登録文書数を算出する総合登録文書数算出手段と、各文書データ格納手段に格納されている前記文書データのうち、前記検索キーワード取得手段が取得した前記検索キーワードを含む文書データの数である文書頻度を、各文書検索装置から取得する文書頻度取得手段と、前記文書頻度取得手段が各文書検索装置から取得した前記文書頻度に基づいて、前記複数の文書データ格納手段全体に対する総合文書頻度を算出する総合文書頻度算出手段とを有し、各文書検索装置は、前記総合登録文書数算出手段が算出した前記総合登録文書数と、前記総合文書頻度算出手段が算出した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出手段を有することを特徴とする。
【０００８】
また、請求項２にかかる発明は、請求項１に記載の文書検索システムであって、前記総合登録文書数算出手段は、前記登録文書数取得手段が各文書検索装置から取得した前記登録文書数を加算して前記総合登録文書数を得ることを特徴とする。
【０００９】
また、請求項３にかかる発明は、請求項１または２に記載の文書検索システムであって、前記総合文書頻度算出手段は、前記文書頻度取得手段が各文書検索装置から取得した前記文書頻度を加算して前記総合文書頻度を得ることを特徴とする。
【００１０】
また、請求項４にかかる発明は、請求項１から３のいずれか一項に記載の文書検索システムであって、前記管理装置は、各文書データ格納手段に格納されている前記文書データの平均文書長を、各文書検索装置から取得する平均文書長取得手段と、前記平均文書長取得手段が各文書検索装置から取得した前記平均文書長に基づいて、前記複数の文書データ格納手段全体に対する総平均文書長を算出する総平均文書長算出手段とをさらに有し、各文書検索装置の前記スコア算出手段は、さらに前記総平均文書長算出手段が算出した前記総平均文書長に基づいて、前記検索キーワードのスコアを算出することを特徴とする。
【００１１】
また、請求項５にかかる発明は、請求項４に記載の文書検索システムであって、前記総平均文書長算出手段は、前記平均文書長取得手段が各文書検索装置から取得した前記平均文書長の平均値を、前記総平均文書長として算出することを特徴とする。
【００１２】
また、請求項６にかかる発明は、請求項１から５のいずれか一項に記載の文書検索システムであって、各文書検索装置は、各文書データ格納手段に格納されている前記文書データ中における前記検索キーワードの出現数である文書内頻度を取得する文書内頻度取得手段をさらに有し、前記スコア算出手段は、さらに前記文書内頻度取得手段が取得した前記文書内頻度に基づいて、前記検索キーワードのスコアを算出することを特徴とする。
【００１３】
また、請求項７にかかる発明は、請求項１から６のいずれか一項に記載の文書検索システムであって、各文書検索装置は、ユーザによって指定されたスコア計算式を示すスコア計算式情報を取得するスコア計算式取得手段をさらに有し、前記スコア算出手段は、前記スコア計算式取得手段が取得した前記スコア計算式情報に示される前記スコア計算式を利用して前記スコアを算出することを特徴とする。
【００１４】
また、請求項８にかかる発明は、請求項１から７のいずれか一項に記載の文書検索システムであって、各文書検索装置は、前記スコア算出手段が前記検索キーワードに対して算出したスコアを文書データごとに合成し、合成スコアを得るスコア合成手段をさらに有することを特徴とする。
【００１５】
また、請求項９にかかる発明は、請求項８に記載の文書検索システムであって、前記スコア合成手段は、同一の文書データにおいて、複数の前記検索キーワードそれぞれに対して算出されたスコアを加算して、文書データごとの合成スコアを得ることを特徴とする。
【００１６】
また、請求項１０にかかる発明は、請求項８または９に記載の文書検索システムであって、各文書検索装置は、ユーザによって指定されたスコア合成式を示すスコア合成式情報を取得するスコア合成式取得手段をさらに有し、前記スコア算出手段は、前記スコア合成式取得手段が取得した前記スコア合成式情報に示される前記スコア合成式を利用して前記合成スコアを得ることを特徴とする。
【００１７】
また、請求項１１にかかる発明は、文書データを格納する複数の文書データ格納手段を備えた文書管理システムにおいて前記文書データ格納手段に格納されている文書データを検索する文書検索装置であって、前記文書データを検索するための検索キーワードを取得する検索キーワード取得手段と、前記複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得する総合登録文書数取得手段と、前記複数の文書データ格納手段全体における、前記検索キーワード取得手段が取得した前記検索キーワードを含む文書データの数である総合文書頻度を取得する総合文書頻度取得手段と、前記総合登録文書数取得手段が取得した前記総合登録文書数と、前記総合文書頻度取得手段が取得した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出手段とを備えたことを特徴とする。
【００１８】
また、請求項１２にかかる発明は、請求項１１に記載の文書検索装置であって、前記複数の文書データ格納手段全体に対する総平均文書長を取得する総平均文書長取得手段をさらに備え、前記スコア算出手段は、さらに前記総平均文書長取得手段が取得した前記総平均文書長に基づいて、前記検索キーワードのスコアを算出することを特徴とする。
【００１９】
また、請求項１３にかかる発明は、請求項１１または１２に記載の文書検索装置であって、前記文書データ格納手段に格納されている前記文書データ中における前記検索キーワードの出現数である文書内頻度を取得する文書内頻度取得手段をさらに備え、前記スコア算出手段は、さらに前記文書内頻度取得手段が取得した前記文書内頻度に基づいて、前記検索キーワードのスコアを算出することを特徴とする。
【００２０】
また、請求項１４にかかる発明は、請求項１１から１３のいずれか一項に記載の文書検索装置であって、ユーザによって指定されたスコア計算式を示すスコア計算式情報を取得するスコア計算式取得手段をさらに備え、前記スコア算出手段は、前記スコア計算式取得手段が取得した前記スコア計算式情報に示される前記スコア計算式を利用して前記スコアを算出することを特徴とする。
【００２１】
また、請求項１５にかかる発明は、請求項１１から１４のいずれか一項に記載の文書検索装置であって、前記スコア算出手段が前記探索キーワードに対して算出したスコアを、文書データごとに合成し、合成スコアを得るスコア合成手段をさらに備えたことを特徴とする。
【００２２】
また、請求項１６にかかる発明は、請求項１５に記載の文書検索装置であって、前記スコア合成手段は、同一の文書データにおいて、複数の前記探索キーワードそれぞれに対して算出されたスコアを加算して、文書データごとの合成スコアを得ることを特徴とする。
【００２３】
また、請求項１７にかかる発明は、請求項１５または１６に記載の文書検索装置であって、ユーザによって指定されたスコア合成式を示すスコア合成式情報を取得するスコア合成式取得手段をさらに備え、前記スコア算出手段は、前記スコア合成式取得手段が取得した前記スコア合成式情報に示される前記スコア合成式を利用して前記合成スコアを得ることを特徴とする。
【００２４】
また、請求項１８にかかる発明は、文書データを格納する、複数の文書データ格納手段を備えた文書管理システムにおいて文書を管理する文書検索方法であって、前記文書データを検索するための検索キーワードを取得する検索キーワード取得ステップと、各文書データ格納手段に格納されている前記文書データの数である登録文書数を取得する登録文書数取得ステップと、前記登録文書数取得ステップにおいて取得した前記登録文書数に基づいて、前記複数の文書データ格納手段全体に対する総合登録文書数を算出する総合登録文書数算出ステップと、各文書データ格納手段に格納されている前記文書データのうち、前記検索キーワード取得ステップにおいて取得した前記検索キーワードを含む文書データの数である文書頻度を取得する文書頻度取得ステップと、前記文書頻度取得ステップにおいて取得した前記文書頻度に基づいて、前記複数の文書データ格納手段全体に対する総合文書頻度を算出する総合文書頻度算出ステップと、前記総合登録文書数算出ステップにおいて算出した前記総合登録文書数と、前記総合文書頻度算出ステップにおいて算出した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出ステップとを有することを特徴とする。
【００２５】
また、請求項１９にかかる発明は、文書データを格納する複数の文書データ格納手段を備えた文書管理システムにおいて前記文書データ格納手段に格納されている文書データを検索する文書検索方法であって、前記文書データを検索するための検索キーワードを取得する検索キーワード取得ステップと、前記複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得する総合登録文書数取得ステップと、前記複数の文書データ格納手段全体における、前記検索キーワード取得ステップにおいて取得した前記検索キーワードを含む文書データの数である総合文書頻度を取得する総合文書頻度取得ステップと、前記総合登録文書数取得ステップにおいて取得した前記総合登録文書数と、前記総合文書頻度取得ステップにおいて取得した前記総合文書頻度とに基づいて、前記検索キーワードのスコアを算出するスコア算出ステップとを有することを特徴とする。
【００２６】
また、請求項２０にかかる発明は、請求項１９に記載の文書検索方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２７】
請求項１にかかる発明によれば、管理装置において、検索キーワード取得手段が、文書データを検索するための検索キーワードを取得し、文書数取得手段が、各文書データ格納手段に格納されている文書データの数である登録文書数を、各文書検索装置から取得し、総合登録文書数算出手段が、登録文書数取得手段が各文書検索装置から取得した登録文書数に基づいて、複数の文書データ格納手段全体に対する総合登録文書数を算出し、文書頻度取得手段が、各文書データ格納手段に格納されている文書データのうち、検索キーワード取得手段が取得した検索キーワードを含む文書データの数である文書頻度を、各文書検索装置から取得し、総合文書頻度算出手段が、文書頻度取得手段が各文書検索装置から取得した文書頻度に基づいて、複数の文書データ格納手段全体に対する総合文書頻度を算出し、各文書検索装置において、スコア算出手段が、総合登録文書数算出手段が算出した総合登録文書数と、総合文書頻度算出手段が算出した総合文書頻度とに基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００２８】
また、請求項２にかかる発明によれば、総合登録文書数算出手段が、登録文書数取得手段が各文書検索装置から取得した登録文書数を加算して総合登録文書数を得るので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００２９】
また、請求項３にかかる発明によれば、総合文書頻度算出手段が、文書頻度取得手段が各文書検索装置から取得した文書頻度を加算して総合文書頻度を得るので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３０】
また、請求項４にかかる発明によれば、管理装置において、平均文書長取得手段が、各文書データ格納手段に格納されている文書データの平均文書長を、各文書検索装置から取得し、総平均文書長算出手段が、平均文書長取得手段が各文書検索装置から取得した平均文書長に基づいて、複数の文書データ格納手段全体に対する総平均文書長を算出し、各文書検索装置において、スコア算出手段が、総平均文書長算出手段が算出した総平均文書長に基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３１】
また、請求項５にかかる発明によれば、総平均文書長算出手段が、平均文書長取得手段が各文書検索装置から取得した平均文書長の平均値を、総平均文書長として算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３２】
また、請求項６にかかる発明によれば、各文書検索装置において、文書内頻度取得手段が各文書データ格納手段に格納されている文書データ中における検索キーワードの出現数である文書内頻度を取得し、スコア算出手段が、文書内頻度取得手段が取得した文書内頻度に基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３３】
また、請求項７にかかる発明によれば、各文書検索装置において、スコア計算式取得手段がユーザによって指定されたスコア計算式を示すスコア計算式情報を取得し、スコア算出手段が、スコア計算式取得手段が取得したスコア計算式情報に示されるスコア計算式を利用してスコアを算出するので、ユーザの希望するスコア算出式において、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３４】
また、請求項８にかかる発明によれば、各文書検索装置において、スコア合成手段が、スコア算出手段が探索キーワードに対して算出したスコアを文書データごとに合成し、合成スコアを得るので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３５】
また、請求項９にかかる発明によれば、スコア合成手段が、同一の文書データにおいて、複数の探索キーワードそれぞれに対して算出されたスコアを加算して、文書データごとの合成スコアを得るので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３６】
また、請求項１０にかかる発明によれば、各文書検索装置において、スコア合成式取得手段がユーザによって指定されたスコア合成式を示すスコア合成式情報を取得し、スコア算出手段が、スコア合成式取得手段が取得したスコア合成式情報に示されるスコア合成式を利用して合成スコアを得るので、ユーザの希望するスコア合成式において、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３７】
また、請求項１１にかかる発明によれば、検索キーワード取得手段が、文書データを検索するための検索キーワードを取得し、総合登録文書数取得手段が、複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得し、総合文書頻度取得手段が、複数の文書データ格納手段全体における、検索キーワード取得手段が取得した検索キーワードを含む文書データの数である総合文書頻度を取得し、スコア算出手段が、総合登録文書数取得手段が取得した総合登録文書数と、総合文書頻度取得手段が取得した総合文書頻度とに基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３８】
また、請求項１２にかかる発明によれば、総平均文書長取得手段が、複数の文書データ格納手段全体に対する総平均文書長を取得し、スコア算出手段が、さらに総平均文書長取得手段が取得した総平均文書長に基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００３９】
また、請求項１３にかかる発明によれば、文書内頻度取得手段が、文書データ格納手段に格納されている文書データ中における検索キーワードの出現数である文書内頻度を取得し、スコア算出手段が、さらに文書内頻度取得手段が取得した文書内頻度に基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４０】
また、請求項１４にかかる発明によれば、スコア計算式取得手段が、ユーザによって指定されたスコア計算式を示すスコア計算式情報を取得し、スコア算出手段が、スコア計算式取得手段が取得したスコア計算式情報に示されるスコア計算式を利用してスコアを算出するので、ユーザの希望するスコア計算式において、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４１】
また、請求項１５にかかる発明によれば、スコア合成手段が、スコア算出手段が探索キーワードに対して算出したスコアを、文書データごとに合成し、合成スコアを得るので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４２】
また、請求項１６にかかる発明によれば、スコア合成手段が、同一の文書データにおいて、複数の探索キーワードそれぞれに対して算出されたスコアを加算して、文書データごとの合成スコアを得るので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４３】
また、請求項１７にかかる発明によれば、スコア合成式取得手段が、ユーザによって指定されたスコア合成式を示すスコア合成式情報を取得し、スコア算出手段が、スコア合成式取得手段が取得したスコア合成式情報に示されるスコア合成式を利用して合成スコアを得るので、ユーザの希望するスコア合成式において、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４４】
また、請求項１８にかかる発明によれば、検索キーワード取得ステップにおいて、文書データを検索するための検索キーワードを取得し、登録文書数取得ステップにおいて、各文書データ格納手段に格納されている文書データの数である登録文書数を取得し、総合登録文書数算出ステップにおいて、登録文書数取得ステップにおいて取得した登録文書数に基づいて、複数の文書データ格納手段全体に対する総合登録文書数を算出し、文書頻度取得ステップにおいて、各文書データ格納手段に格納されている文書データのうち、検索キーワード取得ステップにおいて取得した検索キーワードを含む文書データの数である文書頻度を取得し、総合文書頻度算出ステップにおいて、文書頻度取得ステップにおいて取得した文書頻度に基づいて、複数の文書データ格納手段全体に対する総合文書頻度を算出し、スコア算出ステップにおいて、総合登録文書数算出ステップにおいて算出した総合登録文書数と、総合文書頻度算出ステップにおいて算出した総合文書頻度とに基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４５】
また、請求項１９にかかる発明によれば、検索キーワード取得ステップにおいて、文書データを検索するための検索キーワードを取得し、総合登録文書数取得ステップにおいて、複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得し、総合文書頻度取得ステップにおいて、複数の文書データ格納手段全体における、検索キーワード取得ステップにおいて取得した検索キーワードを含む文書データの数である総合文書頻度を取得し、スコア算出ステップにおいて、総合登録文書数取得ステップにおいて取得した総合登録文書数と、総合文書頻度取得ステップにおいて取得した総合文書頻度とに基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【００４６】
また、請求項２０にかかる発明によれば、検索キーワード取得ステップにおいて、文書データを検索するための検索キーワードを取得し、総合登録文書数取得ステップにおいて、複数の文書データ格納手段全体における、登録文書数である総合登録文書数を取得し、総合文書頻度取得ステップにおいて、複数の文書データ格納手段全体における、検索キーワード取得ステップにおいて取得した検索キーワードを含む文書データの数である総合文書頻度を取得し、スコア算出ステップにおいて、総合登録文書数取得ステップにおいて取得した総合登録文書頻度と、総合文書頻度取得ステップにおいて取得した総合文書頻度とに基づいて、検索キーワードのスコアを算出するので、分散する複数の文書データ格納手段に格納されている全ての文書データに基づく正確なスコアを算出することができるという効果を奏する。
【発明を実施するための最良の形態】
【００４７】
以下に添付図面を参照して、この発明にかかる文書検索システム、文書検索装置、文書検索方法および文書検索プログラムの最良な実施の形態を詳細に説明する。
【００４８】
（実施の形態１）
図１は、実施の形態１にかかる文書管理システム１全体の構成を示すブロック図である。文書管理システム１は、管理サーバ１０と複数のクライアント端末４０ａ〜４０ｃを備えている。管理サーバ１０と複数のクライアント端末４０ａ〜４０ｃは、ネットワーク３０を介して通信を行う。管理サーバ１０は、複数の検索サーバ２０ａ〜２０ｃを管理する。
【００４９】
第１検索サーバ２０ａは、テキストデータが格納された第１索引ファイル２２ａおよびテキストデータに関連する情報が格納された第１レコードファイル２４ａを管理する。同様に、第２検索サーバ２０ｂは、第２索引ファイル２２ｂおよび第２レコードファイル２４ｂを管理し、第３検索サーバ２０ｃは、第３索引ファイル２２ｃおよび第３レコードファイル２４ｃを管理する。
【００５０】
なお、本実施の形態にかかる管理サーバ１０は、特許請求の範囲に記載の管理装置に対応する。また、本実施の形態にかかる各検索サーバ２０ａ〜２０ｃは、特許請求の範囲に記載の文書検索装置に対応する。
【００５１】
図２は、管理サーバ１０の機能構成を示すブロック図である。管理サーバ１０は、登録部１００と検索部１１０とを備えている。登録部１００は、文書データの登録にかかる処理を行う。ここで、文書データは、テキストデータと、このテキストデータの属性とを含む情報である。属性としては、例えばテキストデータの登録日、タイトル、作成者等の情報がある。登録部１００は、具体的には、文書データをいずれかのレコードファイルおよび索引ファイルに登録する。
【００５２】
検索部１１０は、文書データの検索にかかる処理を行う。検索部１１０は、検索条件取得部１１２と、検索キーワード抽出部１１４と、取得要求送出部１１６と、文書頻度取得部１２０と、文書頻度マージ部１２２と、総合文書頻度送出部１２４と、登録文書数取得部１２６と、登録文書数マージ部１２８と、総合登録文書数送出部１３０と、検索結果取得部１４０と、検索結果マージ部１４２と、総合検索結果送出部１４４とを有している。
【００５３】
検索条件取得部１１２は、ネットワーク３０を介してクライアント端末４０から検索条件を取得する。ここで、検索条件とは、索引ファイル２２ａ〜２２ｃに登録されている文書データの検索条件である。検索条件には、検索キーワード、登録文書数および文書頻度が含まれている。ここで、登録文書数とは、登録されている文書の総数を示す情報である。文書頻度とは、登録されている文書における検索キーワードが出現する文書の数を示す情報である。
【００５４】
検索キーワード抽出部１１４は、検索条件取得部１１２が取得した検索条件から１または２以上の検索キーワードを抽出する。取得要求送出部１１６は、検索キーワード抽出部１１４が抽出した検索キーワードに対する文書頻度および登録文書数の取得要求を各検索サーバ２０ａ〜２０ｃに送出する。
【００５５】
文書頻度取得部１２０は、各検索サーバ２０ａ〜２０ｃから文書頻度を取得する。文書頻度マージ部１２２は、文書頻度取得部１２０が各検索サーバ２０ａ〜２０ｃから取得した文書頻度をマージし、すべての検索サーバ２０ａ〜２０ｃに対する総合文書頻度を得る。より具体的には、各文書頻度を加算する。総合文書頻度送出部１２４は、文書頻度マージ部１２２により得られた総合文書頻度を各検索サーバ２０ａ〜２０ｃに送出する。
【００５６】
登録文書数取得部１２６は、各検索サーバ２０ａ〜２０ｃから登録文書数を取得する。登録文書数マージ部１２８は、登録文書数取得部１２６が各検索サーバ２０ａ〜２０ｃから取得した登録文書数をマージし、すべての検索サーバ２０ａ〜２０ｃに対する総合登録文書数を得る。より具体的には、各登録文書数を加算する。総合登録文書数送出部１３０は、登録文書数マージ部１２８により得られた総合登録文書数を各検索サーバ２０ａ〜２０ｃに送出する。
【００５７】
検索結果取得部１４０は、各検索サーバ２０ａ〜２０ｃから検索結果を取得する。検索結果マージ部１４２は、検索結果取得部１４０が各検索サーバ２０ａ〜２０ｃから取得した検索結果をマージソートし、すべての検索サーバ２０ａ〜２０ｃに対する総合検索結果を得る。総合検索結果送出部１４４は、検索結果マージ部１４２により得られた総合検索結果を各クライアント端末４０ａ〜４０ｃに送出する。
【００５８】
図３は、第１検索サーバ２０ａの機能構成を示すブロック図である。第１検索サーバ２０ａは、登録部２００と、検索部２１０とを備えている。登録部２００は、文書データの登録にかかる処理を行う。検索部２１０は、文書データの検索にかかる処理を行う。
【００５９】
検索部２１０は、検索キーワード取得部２１２と、文書頻度抽出部２１４と、登録文書数抽出部２１６と、総合文書頻度取得部２２０と、総合登録文書数取得部２２２と、スコア算出部２２４と、検索結果送出部２２６とを有している。
【００６０】
検索キーワード取得部２１２は、管理サーバ１０から検索キーワードを取得する。文書頻度抽出部２１４は、検索キーワード取得部２１２が取得した検索キーワードに対する文書頻度を第１レコードファイル２４ａから抽出し、この文書頻度を管理サーバ１０に送出する。登録文書数抽出部２１６は、第１レコードファイル２４ａから登録文書数を抽出し、この登録文書数を管理サーバ１０に送出する。
【００６１】
総合文書頻度取得部２２０は、管理サーバ１０から総合文書頻度を取得する。総合登録文書数取得部２２２は、管理サーバ１０から総合登録文書数を取得する。スコア算出部２２４は、総合文書頻度取得部２２０が取得した総合文書頻度、総合登録文書数取得部２２２が取得した総合登録文書数、および第１レコードファイル２４ａから抽出した文書内頻度を利用して、スコアを算出する。検索結果送出部２２６は、スコア算出部２２４によって算出されたスコアを検索結果として管理サーバ１０に送出する。
【００６２】
文書ＤjにおけるキーワードＱiのスコアは、具体的には（式１）により算出される。
【数１】
2006331117.tif 000003
ここで、ｔｆijは、キーワードＱiの文書Ｄj中における出現数、すなわち文書内頻度である。ｄｆiは、キーワードＱiを含む文書の数、すなわち文書頻度である。Ｎは、登録文書数である。
【００６３】
ｔｆijとしては、第１索引ファイル２２ａにおける文書内頻度が利用される。ｄｆiとしては、すべての索引ファイル２２ａ〜２２ｃにおける文書頻度、すなわち総合文書頻度が利用される。Ｎとしては、すべての索引ファイル２２ａ〜２２ｃにおける登録文書数、すなわち総合登録文書数が利用される。
【００６４】
なお、他の検索サーバ２０ｂ，２０ｃの機能構成は、第１検索サーバ２０ａの機能構成と同様である。
【００６５】
図４は、第１索引ファイル２２ａのデータ構成を模式的に示す図である。第１索引ファイル２４ａは、転置方式の索引を有し、登録された文書データから作成された転置索引が登録されている。具体的には、第１索引ファイル２２ａはキーワードと、文書頻度とを対応付けて保持している（図４の構造１）。さらに、キーワードごとに、文書ＩＤと文書内頻度とを対応付けて保持している（図４の構造２）。さらに、文書ＩＤと、テキストデータの文書長とを対応付けて保持している（図４の構造３）。さらに、第１索引ファイル２２ａにおける登録文書数を保持している。
【００６６】
図５は、第１レコードファイル２４ａのデータ構成を模式的に示す図である。第１レコードファイル２４ａは、文書ＩＤと、テキストデータの属性とを対応付けて保持している。具体的には、文書ＩＤに対応付けて、タイトル、登録日および作成者を保持している。
【００６７】
なお、図４および図５を参照しつつ、第１索引ファイル２２ａおよび第１レコードファイル２４ａについて説明したが、他の索引ファイル２２ｂ，２２ｃのデータ構成は、第１索引ファイル２２ａのデータ構成と同様である。また他のレコードファイル２４ｂ，２４ｃのデータ構成は、第１レコードファイル２４ａのデータ構成と同様である。
【００６８】
図６は、文書管理システム１における検索処理を示すフローチャートである。まず、管理サーバ１０の検索条件取得部１１２は、クライアント端末４０ａ〜４０ｃのいずれかから検索条件を取得する（ステップＳ１００）。例えば、以下の問い合わせ文を検索条件として取得する。なお、以下の文におけるＴは、文書データが格納されている表の名前である。
select 文書ID, スコアfrom T where テキスト like '%システム%' or テキスト like '%データベース%' order by スコア desc
この問い合わせ文には、検索キーワードとして「システム」および「データベース」が指定されている。
【００６９】
次に、検索キーワード抽出部１１４は、検索条件から検索キーワードを抽出する（ステップＳ１０２）。上記の問い合わせ文からは、「システム」および「データベース」が検索キーワードとして抽出される。
【００７０】
次に、取得要求送出部１１６は、検索キーワードに対する文書頻度および登録文書数の取得要求を各検索サーバ２０ａ〜２０ｃに送出する（ステップＳ１０４）。例えば、以下の問い合わせ文を文書頻度の取得要求として送出する。
select count(*) from T where テキスト like '%システム%'
select count(*) from T where テキスト like '%データベース%'
また、以下の問い合わせ文を登録文書数の取得要求として送出する。
select count(テキスト) from T
【００７１】
各検索サーバ２０ａ〜２０ｃにおいては、検索キーワード取得部２１２が検索キーワードとともに取得要求を取得すると、文書頻度抽出部２１４は、索引ファイル２２から文書頻度を抽出する（ステップＳ１１０）。図８は、検索キーワード取得部２１２が抽出した文書頻度を示す図である。このように、各キーワードごとの文書頻度を取得する。
【００７２】
さらに、登録文書数抽出部２１６は、索引ファイル２２から登録文書数を抽出する（ステップＳ１１２）。次に、抽出した文書頻度および登録文書数を管理サーバ１０に送出する（ステップＳ１１４）。
【００７３】
管理サーバ１０の文書頻度取得部１２０は、各検索サーバ２０ａ〜２０ｃから文書頻度を取得し、登録文書数取得部１２６は、各検索サーバ２０ａ〜２０ｃから登録文書数を取得する（ステップＳ１１４）。
【００７４】
次に、文書頻度マージ部１２２は、各検索サーバ２０ａ〜２０ｃから取得した文書頻度をマージする（ステップＳ１２０）。図９は、文書頻度のマージ結果を示す図である。検索キーワード「システム」について、第１索引ファイル２２ａにおける文書頻度として、「５」を取得し、第２索引ファイル２２ｂにおける文書頻度として、「２」を取得したとする。また、第３索引ファイル２２ｃにおける文書頻度として、「０」を取得したとする。この場合、文書頻度マージ部１２２は、これらを加算し総合文書頻度「７」を得る。
【００７５】
同様に、検索キーワード「データベース」についは、第１索引ファイル２２ａにおける文書頻度「２」と、第２索引ファイル２２ｂにおける文書頻度「３」と、第３索引ファイル２２ｃにおける文書頻度「０」を加算し、総合文書頻度「５」を得る。このように、文書頻度取得部１２０は、検索キーワードごとの総合文書頻度を算出する。
【００７６】
さらに、登録文書数マージ部１２８は、各検索サーバ２０ａ〜２０ｃから取得した登録文書数をマージする（ステップＳ１２２）。例えば、第１索引ファイル２２ａの登録文書数として「５」を取得し、第２索引ファイル２２ｂの登録文書数として「２」を取得し、第３索引ファイル２２ｃの登録文書数として「３」を取得した場合には、これらの値を加算し、総合登録文書数「１０」を得る。
【００７７】
次に、総合文書頻度送出部１２４は、総合文書頻度を各検索サーバ２０ａ〜２０ｃに送出する。また、総合登録文書数送出部１３０は、総合登録文書数を各検索サーバ２０ａ〜２０ｃに送出する（ステップＳ１２４）。具体的には、以下の問い合わせ文を送出する。
select 文書ID, スコアfrom T where テキスト like ('%システム%' 総合文書頻度 7) or テキスト like ('%データベース%' 総合文書頻度 5) 総合登録文書数 10 order by スコア desc
【００７８】
各検索サーバ２０ａ〜２０ｃにおいては、スコア算出部２２４はさらに索引ファイル２２から文書内頻度を抽出する（ステップＳ１２６）。図１０は、文書内頻度の抽出結果を示す図である。図１０においては、例えば、検索キーワード「システム」については、文書ＩＤ「１」で識別されるテキストデータに対する文書内頻度として「１０」が抽出されている。
【００７９】
そして、スコア算出部２２４は、管理サーバ１０から取得した総合文書頻度、総合登録文書数および索引ファイル２２から抽出した文書内頻度を利用して、スコアを算出する（ステップＳ１３０）。
【００８０】
図７は、スコア算出処理（ステップＳ１３０）における詳細な処理を示すフローチャートである。スコア算出部２２４は、まず各検索キーワードごとのスコアを算出する（ステップＳ１３２）。図１１は、スコア算出部２２４によって算出された検索キーワードごとのスコアを示す図である。図１１においては、例えば、検索キーワード「システム」については、文書ＩＤ「１」で識別されるテキストデータに対するスコアとして「0.140819964」が得られている。
【００８１】
次に、テキストデータごとにスコアを合成する（ステップＳ１３４）。図１２は、スコア算出部２２４によって合成されたスコアを示す図である。例えば、文書ＩＤ「１」で識別されるテキストデータにおいては、検索キーワード「システム」に対するスコア「0.140819964」と、検索キーワード「データベース」に対するスコア「0.200686664」とが加算され、合成スコア「0.341506627」が得られる。
【００８２】
次に、検索結果送出部２２６は、合成スコアの大きい方から順番に文書ＩＤをソートする（ステップＳ１３６）。そして、図１３に示すように、検索結果送出部２２６は、ソートされた文書ＩＤを検索結果として管理サーバ１０に送出する（ステップＳ１４０）。
【００８３】
管理サーバ１０においては、検索結果取得部１４０が各検索サーバ２０ａ〜２０ｃから検索結果を取得すると、検索結果マージ部１４２は、検索結果をマージソートする（ステップＳ１４２）。そして、総合検索結果送出部１４４は、マージ結果を総合検索結果としてクライアント端末４０に送出する（ステップＳ１４４）。以上で、検索処理が完了する。
【００８４】
このように、本実施の形態にかかる文書管理システム１においては、複数の索引ファイルが存在するが、それぞれの索引ファイルの合計の文書頻度および登録文書数を利用してスコアを算出しているので、より正確なスコアを検索結果として出力することができる。
【００８５】
図１４は、実施の形態１にかかる管理サーバ１０のハードウェア構成を示す図である。管理サーバ１０は、ハードウェア構成として、管理サーバ１０における検索処理を実行する検索プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って管理サーバ１０の各部を制御するＣＰＵ５１と、管理サーバ１０の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５７と、各部を接続するバス６２とを備えている。
【００８６】
先に述べた管理サーバ１０における検索プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００８７】
この場合には、検索プログラムは、管理サーバ１０において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００８８】
また、本実施の形態の検索プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【００８９】
また、実施の形態１にかかる検索サーバ２０ａ〜２０ｃのハードウェア構成は、管理サーバ１０のハードウェア構成と同様である。
【００９０】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【００９１】
そうした変更例としては、本実施の形態においては、管理サーバ１０が、総合文書頻度および総合登録文書数を取得し、各検索サーバ２０ａ〜２０ｃがそれぞれ検索結果を得たが、各装置の処理分担は本実施の形態に限定されるものではない。例えば、検索結果のマージソートを管理サーバ１０が行ってもよい。
【００９２】
（実施の形態２）
次に、実施の形態２にかかる文書管理システム１について説明する。実施の形態２にかかる文書管理システム１は、平均文書長を利用してスコアを算出する。この点で、実施の形態１にかかる文書管理システム１と異なっている。
【００９３】
図１５は、実施の形態２にかかる管理サーバ１０の機能構成を示すブロック図である。実施の形態２にかかる管理サーバ１０の検索部１１０は、実施の形態１にかかる検索部１１０の機能構成に加えて、平均文書長取得部１５０と、平均文書長マージ部１５２と、総平均文書長送出部１５４とをさらに有している。
【００９４】
平均文書長取得部１５０は、各検索サーバ２０ａ〜２０ｃから平均文書長を取得する。ここで、平均文書長とは、各レコードファイル２４ａ〜２４ｃに格納されているテキストデータの文書長の平均である。平均文書長マージ部１５２は、各検索サーバ２０ａ〜２０ｃから取得した平均文書長をマージする。具体的には、各検索サーバ２０ａ〜２０ｃから取得した平均文書長の平均を算出する。すなわち、すべての検索サーバ２０ａ〜２０ｃにおける平均文書長である総平均文書長を得る。総平均文書長送出部１５４は、平均文書長マージ部１５２により得られた総平均文書長を各検索サーバ２０ａ〜２０ｃに送出する。
【００９５】
図１６は、実施の形態２にかかる第１検索サーバ２０ａの機能構成を示すブロック図である。実施の形態２にかかる検索サーバ２０の検索部２１０は、実施の形態１にかかる検索部２１０の機能構成に加えて、平均文書長取得部２３０と、総平均文書長取得部２３２とをさらに有している。
【００９６】
平均文書長取得部２３０は、第１索引ファイル２２ａから各テキストデータの文書長を取得する。さらに取得した文書長の平均、すなわち平均文書長を得る。総平均文書長取得部２３２は、管理サーバ１０から総平均文書長を取得する。そして、スコア算出部２２４は、総平均文書長取得部２３２が取得した総平均文書長を利用してスコアを算出する。
【００９７】
文書ＤjにおけるキーワードＱiのスコアは、具体的には（式２）により算出される。
【数２】
2006331117.tif 000004
ここで、ｔｆijは、キーワードＱiの文書Ｄj中における出現数、すなわち文書内頻度である。ｄｆiは、キーワードＱiを含む文書の数、すなわち文書頻度である。ｌjは、文書Ｄjの文書長である。Ｎは、登録文書数である。Ｌは、平均文書長である。
【００９８】
ｔｆijとしては、第１索引ファイル２２ａにおける文書内頻度が利用される。ｄｆijとしては、すべての索引ファイル２２ａａ〜２２ｃにおける文書頻度、すなわち総合文書頻度が利用される。Ｎとしては、すべての索引ファイル２２ａ〜２２ｃにおける登録文書数、すなわち総合登録文書数が利用される。Ｌとしては、すべての索引ファイル２２ａ〜２２ｃにおける平均文書長、すなわち総平均文書長が利用される。
【００９９】
図１７は、実施の形態２にかかる文書管理システム１における検索処理を示すフローチャートである。実施の形態２にかかる文書管理システム１においては、管理サーバ１０の検索キーワード抽出部１１４が検索キーワードを抽出すると、検索キーワードに対する文書頻度、登録文書数および平均文書長の取得要求を送出する（ステップＳ１５０）。例えば、以下の問い合わせ文を平均文書長の取得要求として送出する。
select avg(char_length(テキスト)) from T
【０１００】
そして、各検索サーバ２０ａ〜２０ｃにおいては、取得要求を取得すると平均文書長取得部２３０は、平均文書長を得る（ステップＳ１５２）。具体的には、平均文書長取得部２３０は、各文書の文書長を取得する。図１８は、平均文書長取得部２３０が取得した文書長を示す図である。例えば、文書ＩＤ「１」で識別されるテキストデータの文書長として「１００」を取得する。こうして得られたすべてのテキストデータの文書長の平均値を算出する。そして、文書頻度、登録文書数および平均文書長を管理サーバ１０に送出する（ステップＳ１５４）。
【０１０１】
管理サーバ１０においては、各検索サーバ２０ａ〜２０ｃから文書頻度、登録文書数および平均文書長を取得すると、平均文書長マージ部１５２は、平均文書長をマージする（ステップＳ１５６）。これにより、すべての検索サーバ２０ａ〜２０ｃにおける総平均文書長を得る。そして、総平均文書長送出部１５４は、総平均文書長を各２０ａ〜２０ｃに送出する（ステップＳ１５８）。具体的には、以下の問い合わせ文を送出する。
select 文書ID, スコアfrom T where テキスト like ('%システム%' 総合文書頻度 7) or テキスト like ('%データベース%' 総合文書頻度 5) 総合登録文書数 10 総平均文書長 100.0 order by スコア desc
【０１０２】
各検索サーバ２０ａ〜２０ｃは、総合文書頻度、総合登録文書数、文書内頻度および総平均文書長を利用してスコアを算出する（ステップＳ１３０）。図１９は、スコア算出部２２４によって算出された検索キーワードごとのスコアを示す図である。図２０は、スコア算出部２２４によって合成されたスコアを示す図である。
【０１０３】
次に、検索結果送出部２２６は、合成スコアの大きい方から順番に文書ＩＤをソートし、ソート結果を検索結果として管理サーバ１０に送出する（ステップＳ１４０）。図２１は、検索結果送出部２２６によるソート結果を示す図である。管理サーバ１０は、各検索サーバ２０ａ〜２０ｃから取得した検索結果をマージソートし、総合検索結果を送出する（ステップＳ１４２，１４４）。以上で、検索処理が完了する。
【０１０４】
このように、実施の形態２にかかる文書管理システム１においては、複数の索引ファイルが存在するが、それぞれの索引ファイルの合計の文書頻度および登録文書数に加えて、さらにすべての索引ファイルにおける平均文書長を利用してスコアを算出しているので、より正確なスコアを検索結果として出力することができる。
【０１０５】
実施の形態２にかかる文書管理システム１のこれ以外の構成および処理は、実施の形態１にかかる文書管理システム１における構成および処理と同様である。
【０１０６】
（実施の形態３）
次に、実施の形態３にかかる文書管理システム１について説明する。実施の形態３にかかる文書管理システム１においては、スコア算出において利用するスコア計算式を指定することができる。この点で、実施の形態３にかかる文書管理システム１は、他の実施の形態にかかる文書管理システム１と異なっている。
【０１０７】
図２２は、実施の形態３にかかる管理サーバ１０の機能構成を示すブロック図である。管理サーバ１０の検索部１１０は、実施の形態１にかかる検索部１１０の機能構成に加えて、スコア計算式抽出部１６０を有している。スコア計算式抽出部１６０は、検索条件取得部１１２が取得した検索条件からスコア計算式を抽出する。抽出したスコア計算式を各検索サーバ２０ａ〜２０ｃに送出する。
【０１０８】
図２３は、実施の形態３にかかる検索サーバ２０の機能構成を示すブロック図である。検索サーバ２０の検索部２１０は、実施の形態１にかかる検索部２１０の機能構成に加えて、スコア計算式取得部２４０を有している。スコア計算式取得部２４０は、管理サーバ１０からスコア計算式を取得する。そして、スコア算出部２２４は、スコア計算式取得部２４０が取得したスコア計算式を利用してスコアを算出する。
【０１０９】
図２４は、実施の形態３にかかる文書管理システム１における検索処理を示すフローチャートである。実施の形態３においては、管理サーバ１０の検索条件取得部１１２が検索条件を取得すると（ステップＳ１００）、スコア計算式抽出部１６０は、検索条件からスコア計算式を抽出する（ステップＳ１６０）。そして、抽出したスコア計算式を各検索サーバ２０ａ〜２０ｃに送出する（ステップＳ１６２）。
【０１１０】
具体的には、検索条件取得部１１２は、下記の問い合わせ式を検索条件として取得する。スコア計算式抽出部１６０は、例えば下記問い合わせ式においては、「NormalizedOkapiTfIdf」をスコア計算式として抽出する。
select 文書ID, スコアfrom T where テキスト like '%システム%' or テキスト like '%データベース%' calculator 'NormalizedOkapiTfIdf' order by スコア desc
【０１１１】
なお、前提条件として、文書管理システム１においては、いくつかのスコア計算式を予め定義し、各スコア計算式に名前を付けておくこととする。これにより、問い合わせ式においてスコア計算式の名前を指定することにより、スコア計算式を指定することができる。
【０１１２】
また、スコア計算式は、管理サーバ１０が保持してもよく、また他の例としては、各検索サーバ２０ａ〜２０ｃが保持してもよい。管理サーバ１０が保持する場合には、ステップＳ１６２においては、管理サーバ１０は、スコア計算式を送出する。また、各検索サーバ２０ａ〜２０ｃが保持する場合には、ステップＳ１６２においては、管理サーバ１０は、スコア計算式の名前を送出する。
【０１１３】
そして、ステップＳ１３０においては、各検索サーバ２０ａ〜２０ｃは、ステップＳ１６２において取得したスコア計算式を利用してスコアを算出する。
【０１１４】
実施の形態３にかかる文書管理システム１のこれ以外の構成および処理は、実施の形態１にかかる文書管理システム１の構成および処理と同様である。
【０１１５】
（実施の形態４）
次に、実施の形態４にかかる文書管理システム１について説明する。実施の形態４にかかる文書管理システム１においては、スコア算出において利用するスコア計算式を指定することができる。この点で、実施の形態４にかかる文書管理システム１は、他の実施の形態にかかる文書管理システム１と異なっている。
【０１１６】
図２５は、実施の形態４にかかる管理サーバ１０の機能構成を示すブロック図である。管理サーバ１０の検索部１１０は、実施の形態１にかかる検索部１１０の機能構成に加えて、スコア合成式抽出部１７０を有している。スコア合成式抽出部１７０は、検索条件取得部１１２が取得した検索条件からスコア合成式を抽出する。抽出したスコア合成式を各検索サーバ２０ａ〜２０ｃに送出する。
【０１１７】
図２６は、実施の形態３にかかる検索サーバ２０の機能構成を示すブロック図である。検索サーバ２０の検索部２１０は、実施の形態１にかかる検索部２１０の機能構成に加えて、スコア合成式取得部２５０を有している。スコア合成式取得部２５０は、管理サーバ１０からスコア合成式を取得する。そして、スコア算出部２２４は、スコア合成式取得部２５０が取得したスコア合成式を利用してスコアを合成する。
【０１１８】
図２７は、実施の形態４にかかる文書管理システム１における検索処理を示すフローチャートである。実施の形態４においては、管理サーバ１０の検索条件取得部１１２が検索条件を取得すると（ステップＳ１００）、スコア合成式抽出部１７０は、検索条件からスコア合成式を抽出する（ステップＳ１７０）。そして、抽出したスコア合成式を各検索サーバ２０ａ〜２０ｃに送出する（ステップＳ１７２）。
【０１１９】
具体的には、検索条件取得部１１２は、下記の問い合わせ式を検索条件として取得する。スコア合成式抽出部１７０は、例えば、下記の問い合わせ式においては、「Sum」をスコア合成式として抽出する。
select 文書ID, スコアfrom T where テキスト like '%システム%' or テキスト like '%データベース%' calculator 'NormalizedOkapiTfIdf' combiner 'Sum' order by スコア desc
【０１２０】
なお、前提条件として、文書管理システム１においては、いくつかのスコア合成式を予め定義し、各スコア合成式に名前を付けておくこととする。これにより、問い合わせ式においてスコア合成式の名前を指定することにより、スコア合成式を指定することができる。
【０１２１】
また、スコア合成式は、管理サーバ１０が保持してもよく、また他の例としては、各検索サーバ２０ａ〜２０ｃが保持してもよい。管理サーバ１０が保持する場合には、ステップＳ１７２においては、管理サーバ１０は、スコア合成式を送出する。また、各検索サーバ２０ａ〜２０ｃが保持する場合には、ステップＳ１７２においては、管理サーバ１０は、スコア合成式の名前を送出する。
【０１２２】
そして、ステップＳ１３０においては、各検索サーバ２０ａ〜２０ｃは、ステップＳ１７２において取得したスコア合成式を利用してスコアを合成する。
【０１２３】
実施の形態４にかかる文書管理システム１のこれ以外の構成および処理は、実施の形態１にかかる文書管理システム１の構成および処理と同様である。
【図面の簡単な説明】
【０１２４】
【図１】実施の形態１にかかる文書管理システム１全体の構成を示すブロック図である。
【図２】管理サーバ１０の機能構成を示すブロック図である。
【図３】第１検索サーバ２０ａの機能構成を示すブロック図である。
【図４】第１索引ファイル２２ａのデータ構成を模式的に示す図である。
【図５】第１レコードファイル２４ａのデータ構成を模式的に示す図である。
【図６】文書管理システム１における検索処理を示すフローチャートである。
【図７】スコア算出処理（ステップＳ１３０）における詳細な処理を示すフローチャートである。
【図８】検索キーワード取得部２１２が抽出した文書頻度を示す図である。
【図９】文書頻度のマージ結果を示す図である。
【図１０】文書内頻度の抽出結果を示す図である。
【図１１】スコア算出部２２４によって算出された検索キーワードごとのスコアを示す図である。
【図１２】スコア算出部２２４によって合成されたスコアを示す図である。
【図１３】ソートされたスコアを示す図である。
【図１４】実施の形態１にかかる管理サーバ１０のハードウェア構成を示す図である。
【図１５】実施の形態２にかかる管理サーバ１０の機能構成を示すブロック図である。
【図１６】実施の形態２にかかる第１検索サーバ２０ａの機能構成を示すブロック図である。
【図１７】実施の形態２にかかる文書管理システム１における検索処理を示すフローチャートである。
【図１８】平均文書長取得部２３０が取得した文書長を示す図である。
【図１９】スコア算出部２２４によって算出された検索キーワードごとのスコアを示す図である。
【図２０】スコア算出部２２４によって合成されたスコアを示す図である。
【図２１】検索結果送出部２２６によるソート結果を示す図である。
【図２２】実施の形態３にかかる管理サーバ１０の機能構成を示すブロック図である。
【図２３】実施の形態３にかかる第１検索サーバ２０ａの機能構成を示すブロック図である。
【図２４】実施の形態３にかかる文書管理システム１における検索処理を示すフローチャートである。
【図２５】実施の形態４にかかる管理サーバ１０の機能構成を示すブロック図である。
【図２６】実施の形態４にかかる第１検索サーバ２０ａの機能構成を示すブロック図である。
【図２７】実施の形態４にかかる文書管理システム１における検索処理を示すフローチャートである。
【符号の説明】
【０１２５】
１  文書管理システム
１０  管理サーバ
２０ａ〜２０ｃ  検索サーバ
２２ａ〜２２ｃ  索引ファイル
２４ａ〜２４ｃ  レコードファイル
３０  ネットワーク
４０ａ〜４０ｃ  クライアント端末
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信I／Ｆ
６２  バス
１００  登録部
１１０  検索部
１１２  検索条件取得部
１１４  検索キーワード抽出部
１１６  取得要求送出部
１２０  文書頻度取得部
１２２  文書頻度マージ部
１２４  総合文書頻度送出部
１２６  登録文書数取得部
１２８  登録文書数マージ部
１３０  総合登録文書数送出部
１４０  検索結果取得部
１４２  検索結果マージ部
１４４  総合検索結果送出部
１５０  平均文書長取得部
１５２  平均文書長マージ部
１５４  総平均文書長送出部
１６０  スコア計算式抽出部
１７０  スコア合成式抽出部
２００  登録部
２１０  検索部
２１２  検索キーワード取得部
２１４  文書頻度抽出部
２１６  登録文書数抽出部
２２０  総合文書頻度取得部
２２２  総合登録文書数取得部
２２４  スコア算出部
２２６  検索結果送出部
２３０  平均文書長取得部
２３２  総平均文書長取得部
２４０  スコア計算式取得部
２５０  スコア合成式取得部
【図１】
2006331117.tif 000005
【図２】
2006331117.tif 000006
【図３】
2006331117.tif 000007
【図４】
2006331117.tif 000008
【図５】
2006331117.tif 000009
【図６】
2006331117.tif 000010
【図７】
2006331117.tif 000011
【図８】
2006331117.tif 000012
【図９】
2006331117.tif 000013
【図１０】
2006331117.tif 000014
【図１１】
2006331117.tif 000015
【図１２】
2006331117.tif 000016
【図１３】
2006331117.tif 000017
【図１４】
2006331117.tif 000018
【図１５】
2006331117.tif 000019
【図１６】
2006331117.tif 000020
【図１７】
2006331117.tif 000021
【図１８】
2006331117.tif 000022
【図１９】
2006331117.tif 000023
【図２０】
2006331117.tif 000024
【図２１】
2006331117.tif 000025
【図２２】
2006331117.tif 000026
【図２３】
2006331117.tif 000027
【図２４】
2006331117.tif 000028
【図２５】
2006331117.tif 000029
【図２６】
2006331117.tif 000030
【図２７】
2006331117.tif 000031