(57)【特許請求の範囲】
【請求項１】
索引語について、他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能な検索インデックスと、
検索の際に、前記検索インデックスに格納されたスコア演算情報を用いてスコア演算を行って検索結果を生成する検索手段と、
前記検索手段のスコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせを選定するスコア演算方法選定手段と、を備えたこと、
を特徴とする情報検索システム。
【請求項２】
個々の検索インデックスが、前記他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能である複数の検索インデックスを備えること、
を特徴とする請求項１に記載の情報検索システム。
【請求項３】
所定のインデックス更新規則に従って、前記他の検索インデックス又は情報処理システムから当該索引語のスコア演算情報を取得して、前記検索インデックスを更新するインデックス更新手段を備えること、を特徴とする請求項１又は２に記載の情報検索システム。
【請求項４】
前記インデックス更新手段は、
所定の文書から索引語を抽出する手段と、
他の検索インデックス又は情報処理システムから、当該索引語のスコア演算情報を取得する手段と、
更新対象の検索インデックスに、前記索引語と、前記スコア演算情報とを関連付けて格納する手段と、を含むこと、
を特徴とする請求項３に記載の情報検索システム。
【請求項５】
前記インデックス更新手段は、
前記索引語と、自インデックスのスコア演算情報と、前記他の検索インデックス又は情報処理システムから取得したスコア演算情報と、を関連付けて格納する請求項３に記載の情報検索システム。
【請求項６】
前記インデックス更新手段は、
前記自インデックスのスコア演算情報と、前記他の検索インデックス又は情報処理システムから取得したスコア演算情報と、を記憶媒体上の連続した位置に格納すること、を特徴とする請求項５に記載の情報検索システム。
【請求項７】
前記スコア演算情報は、検索対象文書集合における当該索引文字列を含む文書数を示す文書頻度情報である請求項１乃至６いずれか一に記載の情報検索システム。
【請求項８】
前記他の検索インデックス又は情報処理システムから取得したスコア演算情報として、検索対象文書全体のスコア演算情報が格納されている請求項２乃至７いずれか一に記載の情報検索システム。
【請求項９】
前記他の検索インデックス又は情報処理システムから取得したスコア演算情報として、他の検索インデックスのスコア演算情報が、選択可能に個別に格納されている請求項２乃至７いずれか一に記載の情報検索システム。
【請求項１０】
前記各検索インデックスは時系列に分割されており、前記他の検索インデックスから取得したスコア演算情報として、時系列的に過去に当たる検索インデックスのスコア演算情報が格納されている請求項２乃至７いずれか一に記載の情報検索システム。
【請求項１１】
前記インデックス更新手段は、
既存のインデックスのうち、一つ前に新設されたインデックスをコピーし、当該インデックスのスコア演算情報を計算し、追加することにより、検索インデックスを新設する請求項１０に記載の情報検索システム。
【請求項１２】
検索インデックスを備える情報検索システムにおける情報検索方法であって、
前記検索インデックスの更新の際に、他の検索インデックス又は情報処理システムから更新する索引語についてのスコア演算情報を取得し、更新対象の検索インデックスに格納しておき、
任意の検索インデックスを用いた検索の際に、スコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせの選択を受け付け、
当該検索インデックスに格納されたスコア演算情報と前記スコア演算方法とを用いてスコア演算を行って検索結果を生成すること、
を特徴とする情報検索方法。
【請求項１３】
前記スコア演算情報は、検索対象文書集合における当該索引文字列を含む文書数を示す文書頻度情報である請求項１２に記載の情報検索方法。
【請求項１４】
前記検索インデックスの更新の際に、自インデックスを含むすべての検索インデックスのスコア演算情報に基づいて算出した検索対象文書全体のスコア演算情報を、前記更新対象の検索インデックスに格納する請求項１２又は１３に記載の情報検索方法。
【請求項１５】
前記検索インデックスの更新の際に、他の検索インデックスのスコア演算情報を取得し、前記更新対象の検索インデックスに、前記他の検索インデックスのスコア演算情報を選択可能に個別に格納する請求項１２又は１３に記載の情報検索方法。
【請求項１６】
所定のタイミングで検索インデックスを新設してゆき、
前記検索インデックスを新設した際に、前記他の検索インデックスのスコア演算情報として、時系列的に過去に当たる検索インデックスのスコア演算情報を格納する請求項１２又は１３に記載の情報検索方法。
【請求項１７】
索引語について、他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能な検索インデックスを備える情報検索システムを構成するコンピュータに実行させるプログラムであって、
検索の際に、前記検索インデックスに格納された前記他の検索インデックス又は情報処理システムから取得したスコア演算情報を用いてスコア演算を行って検索結果を生成する検索手段と、
前記検索手段のスコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせを選定するスコア演算方法選定手段として前記コンピュータを機能させることを特徴とするプログラム。
【請求項１８】
他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能な検索インデックスを備える情報検索システムを構成するコンピュータに実行させるプログラムであって、
所定のインデックス更新規則に従って、前記他の検索インデックス又は情報処理システムから当該索引語のスコア演算情報を取得して、前記検索インデックスを更新するインデックス更新手段と、
前記検索手段のスコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせを選定するスコア演算方法選定手段として前記コンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索システム、情報検索方法およびプログラムに関し、特に、予め作成した検索インデックスを参照して、検索結果を生成する情報検索システム、情報検索方法及びプログラムに関する。
【背景技術】
【０００２】
Ｇｏｏｇｌｅ（登録商標）等に代表されるＷｅｂ検索システムの普及により、電子ファイル等に対する全文検索システムが一般化してきた。ユーザは検索システムを用いて情報を検索する作業を行うことを日常的に行うようになっている。
【０００３】
現在、電子ファイル等に対する全文検索システムは、高速に検索するためのインデックス（検索インデックス）を予め作成しておき、このインデックスを用いて電子ファイルを検索する仕組みが主流となっている。このような情報検索システムの例が、特許文献１、非特許文献１に記載されている。非特許文献２には、辞書ファイルと、位置ファイルとによって構成した転置ファイルの基本的な仕組みが記載されている。
【０００４】
情報検索システムの中には、複数のインデックスを有するものがあり、例えば、特許文献２〜５、非特許文献３に記載されている。
【０００５】
特許文献２には、新規文書をインデックスに登録する際に、主インデックスよりも小さな副インデックスに登録し、検索時には、各インデックスにアクセスして検索し、その結果を合わせて検索結果とする文書検索装置が開示されている。
【０００６】
特許文献３には、複数の検索エンジン部と、検索エンジン部の検索結果の先頭から所定の基準値までを取得して順序付けする全体ソート部と、を用いて、各検索エンジンと全体ソート部間の通信量を減らし、書誌一覧の作成を高速化する構成が開示されている。
【０００７】
特許文献４には、個々のインデックス毎に得られるスコア（ＤＦ値）を統合（マージ）し、検索対象文書群全体に対するスコア（ＤＦ値）を算出することにより、検索精度を向上させる構成が開示されている。
【０００８】
特許文献５には、個々の検索格納手段に格納されている登録文書数から算出した検索格納手段全体の総合登録文書数と、個々の検索格納手段に格納されている検索キーワードを含む文書の数である文書頻度から算出した検索格納手段全体の総合文書頻度と、から、検索キーワードのスコアを算出する文書検索システムが開示されている。
【０００９】
非特許文献３には、時系列に分割した複数のインデックスを用意し、過去の時点で参照可能であったインデックスを用いることで、過去に遡った検索を実現する情報検索システムが開示されている。
【００１０】
【特許文献１】特開平９−２２３１５２号公報  （第１頁）
【特許文献２】特開平７−１４６８８０号公報
【特許文献３】特開平１１−２６５３９３号公報
【特許文献４】特開２００３−３２３４５７号公報
【特許文献５】特開２００６−３３１１１７号公報
【非特許文献１】北  研二、津田  和彦、獅々堀  正幹著、「情報検索アルゴリズム」共立出版、２００２年１月１日、ｐｐ．６、ｐｐ．１６０〜１７９
【非特許文献２】徳永  建伸著，  「情報検索と言語処理」東京大学出版会、１９９９年１１月２５日、ｐｐ．４０
【非特許文献３】菅  真樹、鳥居  隆史、梶木  善裕、「過去に遡った検索を実現する情報検索システムの提案」、電子情報通信学会総合大会、Ｄ−４−８、２００７年
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献３の情報検索装置は、高速な検索を実現するが、特許文献４にも指摘されているとおり、スコア計算の際に使用する文書頻度はインデックス毎の値であるために、正しいスコアが得られず、検索結果の精度も落ちてしまうという問題点がある。
【００１２】
一方、特許文献４、５に記載の文書検索装置／システムは、単一のインデックスと同等のスコアを期待することができるが、検索の都度、各インデックスのスコアを収集し、再計算する必要があるため、検索速度を向上させるのが難しいという問題点がある。
【００１３】
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、特許文献４、５と同様またはそれ以上の検索精度を保ちつつ、検索処理の応答性能を向上させることのできる情報検索システム、情報検索方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明の第１の視点によれば、索引語について、他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能な検索インデックスと、検索の際に、前記検索インデックスに格納されたスコア演算情報を用いてスコア演算を行って検索結果を生成する検索手段と、前記検索手段のスコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせを選定するスコア演算方法選定手段と、を備える情報検索システムが提供される。
【００１５】
本発明の第２の視点によれば、検索インデックスを備える情報検索システムにおける情報検索方法であって、前記検索インデックスの更新の際に、他の検索インデックス又は情報処理システムから更新する索引語についてのスコア演算情報を取得し、更新対象の検索インデックスに格納しておき、任意の検索インデックスを用いた検索の際に、スコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせの選択を受け付け、当該検索インデックスに格納されたスコア演算情報と前記スコア演算方法とを用いてスコア演算を行って検索結果を生成する情報検索方法が提供される。
【００１６】
本発明の第３の視点によれば、索引語について、他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能な検索インデックスを備える情報検索システムを構成するコンピュータに実行させるプログラムであって、検索の際に、前記検索インデックスに格納された前記他の検索インデックス又は情報処理システムから取得したスコア演算情報を用いてスコア演算を行って検索結果を生成する検索手段と、前記検索手段のスコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせを選定するスコア演算方法選定手段として前記コンピュータを機能させるプログラムが提供される。
【００１７】
本発明の第４の視点によれば、他の検索インデックス又は情報処理システムから取得したスコア演算情報を格納可能な検索インデックスを備える情報検索システムを構成するコンピュータに実行させるプログラムであって、所定のインデックス更新規則に従って、前記他の検索インデックス又は情報処理システムから当該索引語のスコア演算情報を取得して、前記検索インデックスを更新するインデックス更新手段と、前記検索手段のスコア演算に用いる前記他の検索インデックスのスコア演算方法の組み合わせを選定するスコア演算方法選定手段として前記コンピュータを機能させるプログラムが提供される。
【発明の効果】
【００１８】
本発明によれば、他の検索インデックス又は情報処理システムにアクセスすることなく、正確なスコア演算を行なうことが可能となる。その理由は、他の検索インデックス又は情報処理システムから取得したスコア演算情報を検索インデックスに予め格納する構成を採用したことにある。
【発明を実施するための最良の形態】
【００１９】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２０】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る情報検索システムの概要構成を示す図である。
図１を参照すると、本発明の第１の実施形態に係る情報検索システムは、文書格納手段１と、インデックス登録手段２と、インデックス３１〜３３と、検索手段４１〜４３と、マージ手段５と、検索条件入力手段６と、検索結果提示手段７とを備えている。
【００２１】
なお、図１の例では、３つのインデックス（検索インデックス）３１〜３３を有する構成としているが、このインデックスの数は任意の数でよい。
【００２２】
また、図１の例では、インデックス毎に検索手段４１〜４３を設けた構成としているが、検索手段の数も任意の数とすることができる。例えば、１つの検索手段が複数のインデックスを読み込んで計算する構成を取っても良いし、任意の数のインデックスを担当する検索手段を複数備える構成とすることもできる。
【００２３】
以後の説明では、本発明の理解をより容易にするため、図１に示したように、インデックス１つあたり１つの検索手段が割り当てられているものとして説明する。
【００２４】
文書格納手段１は、検索対象の情報（文書）を保持する機能を果たす。文書格納手段１としては、例えば、
・ユーザが保持するパーソナルコンピュータのハードディスク装置や、
・ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）等の外部装置、
・ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）、
・Ｉｎｔｒａｎｅｔ（企業内のＷｅｂページ群）、
・バックアップのための記憶装置および情報システム、
・データを出力する情報システム（例えば、データベースシステムや、データベースなどのシステムの情報から目的に合わせた情報を出力するビジネスインテリジェンス（ＢＩ）システムなど）
等が挙げられる。
【００２５】
検索対象の情報（文書）とは、上記のような文書格納手段１内に存在するＷｅｂページやオフィス文書、画像、動画等の電子ファイル、データベース内の構造化された情報等である。
【００２６】
図２は、インデックス登録手段２の構成をより詳細に説明する図である。図２を参照すると、インデックス登録手段２は、文書取得手段２１と、索引語抽出手段２２と、索引語及びスコア演算情報登録手段２３と、スコア演算情報取得手段２４と、を含んで構成される。
【００２７】
文書取得手段２１は、文書格納手段１からインデックス３１〜３３に登録する文書を取得し（あるいは、文書格納手段１から渡された情報を受け入れる）、索引語抽出手段２２に対して渡す。
【００２８】
索引語抽出手段２２は、文書取得手段２１から受け取った文書から、インデックス３１〜３３に登録する索引語を抽出する役割を果たす。索引語を抽出する方法としてはＮ−Ｇｒａｍや形態素解析などの方法が挙げられる。
【００２９】
また、索引語抽出手段２２は、スコア演算に必要な値の算出も行う。一般的に、スコアの計算方法としてＴＦ−ＩＤＦ法に基づいて計算される。ＴＦ−ＩＤＦ法とは、ある文書における検索文字列の出現回数（文書内頻度とも呼ばれる）であるＴＦ値、検索対象文書集合におけるその検索文字列を含む文書数であるＤＦ値に基づいた数式によりスコアを計算する方法である。ここで、ＩＤＦはＤＦ値の逆数である。
【００３０】
この場合において、ＴＦ値は索引語抽出を行う検索対象文書単体で算出できるため、索引語抽出手段２２において算出してよい。また、当然ながら、後記する索引語及びスコア演算情報登録手段２３においてＴＦ値を算出することとしてもよい。
【００３１】
索引語及びスコア演算情報登録手段２３は、索引語抽出手段２２が取り出した索引語及び索引語に関係するスコア演算情報を、更新対象のインデックス（図２の例では、インデックス３１を更新対象としている。）に登録あるいは更新を行う。索引語及びスコア演算情報登録手段２３は、インデックス３１の文書リスト格納位置特定情報格納手段３１１側に格納するものとするが、詳細な方法及びデータ構造については後に説明する。
【００３２】
更新対象のインデックスの選択方法や更新のタイミングは、情報検索システムのインデックス更新ポリシ（インデックス更新規則）に依存する。従って、索引語及びスコア演算情報登録手段２３が更新対象とするインデックスは任意で良いものとする。
【００３３】
例えば、非特許文献３に開示されている情報検索システムの場合、最新のインデックスを更新対象とし、一定の契機で更に新しいインデックスを作成（新設）するインデックス更新ポリシを用いている。これにより、時系列に区分されたインデックスを構成できる。また上記のインデックス更新ポリシを基本としつつ、過去のインデックスをまとめる（マージする）など、過去のインデックスを更新対象とすることもできる。
【００３４】
スコア演算情報とはスコア演算に必要な値や情報、またはスコアの値自体のことを示し、具体例の一つとしては、先に述べたＴＦ−ＩＤＦ法におけるＴＦ値およびＤＦ値などが挙げられる。これらのスコア演算情報には、索引語抽出手段２２あるいは索引語及びスコア演算情報登録手段２３で計算された自インデックスのスコア情報と、スコア演算情報取得手段２４から取得したスコア情報とが含まれる。また、他の例としては、スコアを演算するための演算式や、予め用意されている複数のスコア演算式の中から利用する演算式を特定するための情報（例えば、関数名等）が含まれる。
【００３５】
スコア演算情報取得手段２４は、インデックス３２、３３（更新対象以外の任意のインデックス）から、更新対象のインデックスへ登録又は更新するスコア演算情報を取得し、索引語及びスコア演算情報登録手段２３に対して渡す機能を果たす。
【００３６】
スコア演算情報取得手段２４が、任意のインデックス３２、３３から、該当の索引語や検索対象文書に対するスコア演算情報を取得する方法は、インデックスを用いた索引語に対する検索方法と同一である。例えば、ある索引語に対するインデックス３２におけるＤＦ値を取得するには、インデックス３２内の文書リスト格納位置特定情報格納手段３２１を用いて該当索引語の文書リストの位置情報を取得する。この際、検索インデックスの構成によっては、文書リスト格納位置特定情報格納手段３２１にＤＦ値が格納されている場合がある（図４参照）。この場合、スコア演算情報取得手段２４は、文書リスト及びスコア演算情報格納手段３２２にアクセスすることなく、ＤＦ値を得ることができる。ＤＦ値が文書リスト及びスコア演算情報格納手段３２２に格納されている場合には、文書リスト格納位置特定情報格納手段３２１から得られた索引語を含む文書リストの位置情報を用いて、文書リスト及びスコア演算情報格納手段３２２から索引語のスコア演算情報を取得すればよい。
【００３７】
スコア演算情報取得手段２４が、索引語や検索対象文書に対するスコア演算情報を取得する対象は、図１、図２に例示されたインデックスに限定する必要はない。例えば、図１、図２において省略されているデータベース（各種辞書データベースを含む。）などの任意のデータ保持方法による記憶手段や他の情報処理システムを、スコア演算情報の取得対象とすることができる。また、これら記憶手段に保持された検索語に関連する値が、そのままスコア演算情報として用いることができない場合は、当該値に応じた変換式等により適宜加工すればよい。
【００３８】
一般的な情報検索システムのインデックスに登録されているスコア演算情報は、ＴＦ値及びＤＦ値であるが、上記スコア演算情報取得手段２４が取得するのは、個々のインデックスにおけるＤＦ値でよい。これは、本来のＤＦ値は検索対象文書全体の数値であるが、一般的な情報検索システムでは本来のＤＦ値ではなく、更新処理が容易になるため個々のインデックスにおける検索対象文書集合のＤＦ値を登録しているためである。また、ＴＦ値に関しては元々単一の検索対象文書から得ることができる値であるため、他のインデックス等から取得する必要は無い。
【００３９】
ＤＦ値は、更新の都度再集計する必要はなく、ある索引語を含む検索対象文書が新しくインデックスに追加される場合には、当該索引語のＤＦ値に対して１を追加すればよい。また、更新の際には該当の索引語が更新前にも検索対象文書に含まれていればＤＦ値は変わらないことになる。また、ある索引語を含む検索対象文書が削除された場合には、当該索引語のＤＦ値を１減少させればよい。
【００４０】
本発明の一つの特徴は、更新対象のインデックス（例：インデックス３１）に、当該更新対象のインデックスにおける当該検索語のスコア演算情報（例：インデックス３１の検索対象とする文書集合におけるＤＦ値）だけでなく、他の分散された検索インデックス（３２、３３）に登録されたスコア演算情報（例：インデックス３２、３３の検索対象とする文書集合におけるＤＦ値）も登録する点にある。スコア演算情報取得手段２４は、そのために必要な値を取得する。
【００４１】
また、更新対象の検索インデックスが保持するスコア演算情報（例：インデックス３１の検索対象とする文書集合におけるＤＦ値）は、索引語及びスコア演算情報登録手段２３によって、他の分散されたインデックス（３２、３３）にそれぞれ登録される。なお、図２の索引語及びスコア演算情報登録手段２３から検索インデックス３２への矢印が上記スコア演算情報（例：インデックス３１の検索対象とする文書集合におけるＤＦ値）の流れに相当する。なお、図２では、索引語及びスコア演算情報登録手段２３からインデックス３３への矢印は省略されている。
【００４２】
続いて、インデックス３１〜３３の構成について図２を用いて説明する。インデックス３１は、文書リスト格納位置特定情報格納手段３１１と、文書リスト及びスコア演算情報格納手段３１２とを含む。また、他のインデックス３２、３３も同じ構成を持つ。
【００４３】
インデックス３１〜３３は、検索エンジン処理の高速化のために、各索引語とその索引語を含む文書集合を得るための記憶構造によって構成される。本実施形態のインデックス３１〜３３は、非特許文献２に記載されている転置ファイル（ｉｎｖｅｒｔｅｄ  ｆｉｌｅ）法で構成されているものとする。当然ながら、データベースシステムソフトウェアなどにより上記の構造を実現しても良い。
【００４４】
文書リスト格納位置特定情報格納手段３１１は、索引語の一覧を格納し、これら索引語と対応付けられた当該索引語を含む文書リスト及びスコア演算情報格納手段３１２内の場所を示す情報（以降、ポインタ）を保持している。
【００４５】
文書リスト格納位置特定情報格納手段３１１は、転置ファイル法の例においては、辞書ファイル（ｄｉｃｔｉｏｎａｒｙ  ｆｉｌｅ）に相当する。辞書ファイルは単純な表構造やソートされたリスト構造などを取ることもあるが、Ｂ木構造やトライ（Ｔｒｉｅ）構造を取って高速な索引語の検索が出来るようにすることが一般的である。また、非特許文献２の例では索引語に付属されるスコア情報であるＤＦ値が辞書ファイル内に記録されている。本発明においてもこれらと同様の構成を採用することができる。
【００４６】
文書リスト及びスコア演算情報格納手段３１２は、文書の情報に対するポインタや文書に対するスコア演算情報を保持する。検索手段４１〜４３やインデックス登録手段２は、文書リスト格納位置特定情報格納手段３１１により示されるポインタにより、索引語が含まれる文書のスコア演算情報にアクセスすることができる。文書リスト及びスコア演算情報格納手段３１２に格納される文書のスコア演算情報としては、索引語の出現頻度やその索引語の出現位置などが挙げられる。
【００４７】
文書リスト及びスコア演算情報格納手段３１２は、転置ファイル法の例においては、位置ファイル（ｐｏｓｔｉｎｇ  ｆｉｌｅ）に相当する。非特許文献２に記載されている位置ファイルの例では、辞書ファイルのポインタの示す先に、該索引語を含む文書の文書番号と、索引語の出現頻度（必要なら出現位置）が保持されている。また、一般の情報検索システムにおいては、この文書番号によって特定される文書の他の情報などを別のデータ構造として格納することが一般的に行われている。本発明においてもこれらと同様の構成を採用することができる。
【００４８】
続いて、図４を参照して、上記転置ファイル法を用いた場合のインデックスのデータ構造について説明する。図４の左側の表が文書リスト格納位置特定手段（辞書ファイル）、右側の表が文書リスト及びスコア演算情報格納手段（位置ファイル）を示す。文書リスト格納位置特定手段には、索引語ｔ１〜ｔ５のスコア演算情報１（図４の例ではＤＦ値）が格納されている。文書リスト及びスコア演算情報格納手段には、索引語ｔ１〜ｔ５のスコア演算情報２（図４の例ではＴＦ値）が格納されている。
【００４９】
図５は、本実施形態の情報検索システムのインデックス３１〜３３のデータ構造例を示す。文書リスト格納位置特定手段の他のスコア演算情報欄に、他の検索インデックス（例えば３２、３３、あるいは、図４に示した他の情報検索システムのインデックス等）から取得した索引語に付随するスコア演算情報を格納可能となっている。この他のスコア演算情報欄は、実際の記憶媒体上の記憶場所を問わないが、スコア演算情報１と同時に取得できるよう、記憶媒体上の連続した箇所にあることが望ましい。
【００５０】
なお、上記のように文書リスト格納位置特定手段内にデータ保持領域を確保することによって、インデックスサイズの増大が起きる。しかしながら、計算機のデータへのアクセスサイズはオペレーティングシステム（ＯＳ）などで指定されるブロックサイズに依存する。このブロックサイズは５１２ｂｙｔｅや４Ｋｂｙｔｅなどの値であるため、一般に索引語１つ分の行に格納されている情報より十分大きいため、索引語１つあたりの検索に対するデータ読み出し量は、他のスコア演算情報の保持量が一定サイズを超えない限り変化が無い。また、情報検索システムの場合、検索時に索引語の周囲の情報（例えば、索引語ｔ３を検索する場合に索引語ｔ２、ｔ４の情報）を取得することは性能向上の役に立たないため、一回のブロックアクセスで取得できる周囲の索引語の情報が減少しても問題ない。以上のことから、記憶媒体上の連続した場所（同一ブロックまたは該当ブロック前後の箇所）にスコア演算情報の格納領域を設けることによって、その他の不特定の場所に格納するよりも性能が向上するという効果が得られる。これは、記憶媒体の種類を問わず、有効であるが、特に、磁気ディスクなどのランダムアクセス性能に劣る記憶媒体には有効である。
【００５１】
上記した他のスコア演算情報欄へのスコア演算情報の登録形態（登録規則）としては、幾つか存在する。以下、図６〜図８を参照して、代表的なものを説明する。
【００５２】
まず、図６に示すように、他の検索インデックスから取得したスコア演算情報を統合した値（例えばＤＦ値の場合、総和）を保持する方法が挙げられる。この場合、データ量が少なくて済むため、ディスク使用量を効率化できる、という利点がある。ただし、すべての検索インデックスを選択せず、任意の検索インデックスのみを選択して検索する際に、選択された任意の検索インデックスがカバーする情報空間でのスコア演算情報を利用することができない。
【００５３】
図６の例では、インデックス３１が保持するスコア演算情報をＳ３１（索引語毎に保持）、インデックス３２が保持するスコア演算情報をＳ３２、同じく、インデックス３３がＳ３３、インデックス３４がＳ３４、インデックス３５がＳ３５、インデックス３６がＳ３６とする。そして、統合されたスコア演算情報をＳ＿ａｌｌ（ＤＦ値の場合、Ｓ３１−Ｓ３６の総和）と示している。なお、上記統合されたスコア演算情報Ｓ＿ａｌｌは、自身のインデックスが保持する値（インデックス３１のＳ３１）を含まないで演算した結果としてもよい。この場合、インデックス３１に保存される他のスコア演算情報はＳ３１を除外して算出される（ＤＦ値の場合Ｓ３２−Ｓ３６の総和）。
【００５４】
図７は、他の検索インデックスから取得したスコア演算情報を個別の値のまま保持するようにしたインデックスの集合を示している。この場合、データ量が大きくなってしまうが、検索インデックスをすべて用いて検索せず、任意の検索インデックスのみを選択し、そして選択された任意の検索インデックスがカバーする情報空間における正しいスコア演算を行うことが出来る、という利点を得ることができる。
【００５５】
図７の例では、個々のインデックス本来のスコア演算情報と他のインデックスのスコア演算情報を別に扱っているが（図５も同様）、同等に扱って列挙しても良い。例えばその場合、インデックス３３のスコア情報格納欄に、Ｓ３１〜Ｓ３６のデータが順に列挙されて保持される。
【００５６】
さらに図７のように、他のインデックスから取得したスコア演算情報を個別の値のまま保持する場合に、索引語１つあたりのデータ量が一定のサイズ（例：４インデックス分）を超えた場合に、いくつかのスコア演算情報を選択して統合した値（例えばＳ３１−Ｓ３４の総和）として保持して、データ量が一定のサイズを超えないようにしてもよい。このようにすることによって、索引語１つに対するデータアクセスが一回のブロックアクセスで収まる範囲にしておき、データ量が大きくなりすぎたときに、ディスクアクセス性能の劣化を低減する、という効果を得ることができる。
【００５７】
また、図８のように、新設されたインデックスに、既存のインデックスのスコア演算情報を登録し、既にあるインデックスには新しいインデックスのスコア演算情報を登録しないという方法も考えられえる。この方式は、非特許文献３の情報検索システムに好適に用いることができる。
【００５８】
図８の例では、一つ前に新設されたインデックスをコピーし、当該インデックスのスコア演算情報を計算・追加していけばよいため、インデックス登録処理時の負荷が軽減されるという効果がある。その代わり、検索対象のインデックス内で最新のインデックス（例：３２）に、検索語が含まれない場合には、次に新しいインデックス（例：３３）から、他のスコア演算情報を取得した後に、該インデックスを担当する検索手段がスコア演算を実行することになる。この場合、図６、図７と比較して検索精度が劣化するが、すべての検索インデックスの結果を収集した後、統合値を演算しなければならない従来手法よりは性能の向上が期待できる。
【００５９】
続いて、図１の検索手段４１〜４３、マージ手段５、検索条件入力手段６、検索結果提示手段６の構成について、図３を用いて詳細に説明する。
【００６０】
図３を参照すると、検索手段４１は、文書リスト及びスコア演算情報取得手段４１１と、スコア演算処理手段４１２と、検索結果出力手段４１３と、から構成される。検索手段４２、４３も同じ構成を持つ。
【００６１】
文書リスト及びスコア演算情報取得手段４１１は、検索条件入力手段６から検索条件を受け付け、文書リスト格納位置特定情報格納手段３１１に対してアクセスし、受け付けた検索条件の索引語を含む文書数（図５のスコア演算情報１及び他のスコア演算情報）と、文書リスト及びスコア演算情報格納手段３１２内を示す、該索引語を含む文書リスト情報へのポインタを取得する。文書リスト及びスコア演算情報取得手段４１１は、このポインタを利用して、文書リスト及びスコア演算情報格納手段３１２から検索結果の文書リスト及びそれぞれのスコア演算情報（図５のスコア演算情報２）を取得する。そして、文書リスト及びスコア演算情報取得手段４１１は、スコア演算処理手段４１２に対して、前記取得した文書リスト及びスコア演算情報を渡す。
【００６２】
スコア演算処理手段４１２は、文書リスト及びスコア演算情報取得手段４１１から得られたスコア演算情報を用いて、個々の索引語を含む文書の検索条件に対するスコアを演算する。
【００６３】
検索結果出力手段４１３は、検索結果の文書リスト及び演算されたスコアをマージ手段５に対して渡す。このとき、検索結果出力手段４１３は、得られたスコア演算情報を元にスコアの高い順にソートしてからマージ手段５に対して渡すようにすることもできる。
【００６４】
前述したとおり、検索手段４１が担当する検索インデックスの数は任意に決定できる。検索手段４１が複数の検索インデックスを担当する場合には、複数の検索インデックスに対してそれぞれ上記の処理を行って、検索結果をマージ手段５に対して渡すことになる。
【００６５】
マージ手段５は、検索手段４１〜４３からの検索結果を受け取り、それぞれの検索手段による検索結果を１つの結果にまとめて、検索結果提示手段７に対して渡す。検索結果をまとめる処理としては、個々の検索手段で演算したスコア結果をもとに検索結果をソートする処理や、複数の検索結果に含まれる同一の文書を１つにまとめる処理等などの処理を挙げることができる。
【００６６】
検索条件入力手段６は、ユーザからの検索条件を受け付けて、検索手段４１〜４３に対して渡す機能を果たす。
【００６７】
また、非特許文献３の情報検索システムのように、過去の時点に基づく検索結果を得る機能を実現するには、検索条件入力手段６が、検索手段又はインデックスを選択する機構として動作することになる。あるいは、検索手段が、検索条件入力手段６より受け付けた検索条件に基づいて、インデックスを選択する構成としてもよい。
【００６８】
検索結果提示手段７は、マージ手段５によって作成された検索結果を受け取り、ユーザに対して検索結果として提示する機能を果たす。
【００６９】
続いて、図９のフローチャートを参照して、本実施形態の情報検索システムにおけるインデックス登録処理の流れについて説明する。
【００７０】
まず、文書取得手段２１が文書格納手段１から検索インデックスに登録する検索対象文書を取得する（ステップＳ１０１）。
【００７１】
次に、索引語抽出手段２２が検索対象文書の解析を行って、索引語の抽出を行う（ステップＳ１０２）。索引語の抽出方法については、非特許文献１などの文献に記載されているため、説明を省略する。
【００７２】
次に、スコア演算情報取得手段２４が、ステップＳ１０２で抽出された索引語に付随するスコア演算情報を、更新対象とは別のインデックスあるいは、別の情報処理システムから取得する（ステップＳ１０３）。
【００７３】
次に、索引語及びスコア演算情報登録手段２３が検索インデックス３１の更新処理を行う（ステップＳ１０４）。
【００７４】
以上により、図８に示したような、自らのインデックスのスコア演算情報以外のスコア演算情報を持つインデックスの集合を得ることができる。
【００７５】
図６、７に示したような、自らのインデックスのスコア演算情報が、他のすべてのインデックスに反映されたインデックスの集合を得るには、図１０のステップＳ１０５以下の処理が継続される。
【００７６】
まず、索引語及びスコア演算情報登録手段２３が、上記ステップＳ１０４で更新した更新対象のインデックスが保持する、索引語に付随するスコア演算情報（前述の説明のＤＦ値）を取得する（ステップＳ１０５）。
【００７７】
次に、索引語及びスコア演算情報登録手段２３が、他の検索インデックスに対して、前記更新対象のインデックスが保持するスコア演算情報の登録あるいは更新処理を行う（ステップＳ１０６）。
【００７８】
なお、図１０のように文書が１つ更新される毎にステップＳ１０５〜Ｓ１０６の処理を行うのではなく、ある程度修正する情報が溜まってから、他の検索インデックスに反映するような仕組みとしてもよい。
【００７９】
続いて、図１１のフローチャートを参照して、本実施形態の情報検索システムにおけるい検索処理の流れについて説明する。
【００８０】
まず、ユーザが検索条件入力手段６に対して検索条件を入力する（ステップＳ２０１）。
【００８１】
次に、検索条件入力手段６はユーザが入力した検索条件から、検索対象とするインデックス（あるいは検索手段）を選択する（ステップＳ２０２）。
【００８２】
非特許文献３の情報検索システムの場合、ステップＳ２０１にて時間条件が入力され、当該時間条件によって参照するインデックスが決定される。
【００８３】
また、検索条件とは関係なくすべてのインデックス（あるいは検索手段）を参照する情報検索システムの場合は、上記ステップＳ２０２は省略することができる。また、計算機性能確保のために、任意の数のインデックス（あるいは検索手段）を選択する情報検索システムの場合は、検索条件ではなく、計算機性能確保のために定められた規則によって、インデックス（あるいは検索手段）が選択される。
【００８４】
次に、検索手段（例：検索手段４１）は、文書リスト及びスコア演算情報取得手段４１１が担当するインデックス（例：インデックス３１）の文書リスト格納位置特定情報格納手段３１１と、文書リスト及びスコア演算情報格納手段３１２とを参照して、検索条件から決定される検索索引語を含む検索文書リストとスコア演算に必要な情報を取得する（ステップＳ２０３）。
【００８５】
次に、スコア演算処理手段４１２が、ステップＳ２０３で得られた情報を用いて、検索文書リストの個々の文書のスコア値を演算する（ステップＳ２０５）。
【００８６】
次に、検索結果出力手段４１３はステップＳ２０５で演算されたスコア値を用いて、スコア順に文書をソートして、マージ手段５に出力する（ステップＳ２０６）。
【００８７】
次に、マージ手段５は、各検索手段から出力された結果をまとめて、検索結果提示手段７に対して、結果の一部あるいは全体を検索結果提示手段７に対して渡すと、検索結果提示手段７がユーザに対して検索結果として提示する（ステップＳ２０７）。
【００８８】
なお、図８に示したような、自らのインデックスのスコア演算情報が、他のインデックスに格納されているとは限らないインデックスの集合の場合には、図１２のように、ステップＳ２０４が必要となる。
【００８９】
ステップＳ２０４では、文書リスト及びスコア演算情報取得手段４１１が、索引語のステップＳ２０３で取得できなかったスコア演算情報が記録されているインデックスから必要な索引語のスコア演算情報を取得する（ステップＳ２０４）。例えば、非特許文献３の情報検索システムにおいて、最新の文書頻度を検索結果に反映させたい場合、文書リスト及びスコア演算情報取得手段４１１は、時系列で分割されたインデックスのうち最新のインデックスに対してアクセスすることによって、必要なスコア演算情報を得ることができる。また、文書リスト及びスコア演算情報取得手段４１１が直接最新のインデックスにアクセスするのではなく、最新のインデックスを担当する検索手段と通信して情報を取得することとしてもよい。また、非特許文献３の情報検索システムの場合、ある時点でインデックスから索引語が削除されることがあるため、全体の最新インデックスに必要とする索引語が含まれているとは限らない。その場合、文書リスト及びスコア演算情報取得手段４１１が、当該索引語が含まれているインデックスのうち一番新しいインデックスを探索することになる。
【００９０】
なお、情報検索システムの複数の検索手段が並列動作するよう構成することも可能であり、その場合には、個々の検索手段が、上記したステップＳ２０２〜２０６の処理を並列に実行することになる。
【００９１】
続いて、本実施形態の効果について説明する。本実施形態では、各インデックスに、索引語の横断的なスコア演算情報が予め格納されているため、各検索手段単位で検索処理を完結し、スコア演算処理やソート処理を並列に行うことができるため、検索性能を高速化することができる。
【００９２】
また、非特許文献３の情報検索システムに適用した場合にも、過去のある時点の検索再現に、必要なスコア演算情報がすでに探索対象とするインデックスに格納されているため、良好な検索性能を得ることができる。
【００９３】
［第２の実施形態］
続いて、本発明の第２の実施形態について図面を参照して詳細に説明する。例えば、非特許文献３のような時系列にインデックスを区分する情報検索システムでは、個々のインデックス内で完結するスコア演算情報を保持し、そのスコア演算情報を用いて検索することにも価値がある。
【００９４】
例えば、スコア演算情報の例としてＤＦ値を用いると、時間の経過によってＤＦ値が大きく異なる場合がある。例えば、ある索引語Ａが過去の一定期間では頻繁に出現し、最近の期間ではあまり出現しないような状況が発生した場合である。具体的には、組織内での組織名の変更や、製品開発部門における製品名の変更が挙げられる。
【００９５】
ここで例えば、検索対象文書集合全体のＤＦ値を用いてスコア演算を行うと、ある索引語Ａの重要度は時間に関係なく同一として扱われてしまう。しかし、過去に頻繁に索引語Ａが出現していた時の索引語Ａの重要度と、時間が経った後に頻繁に出現しなくなった索引語Ａの重要度は、後者がより重要として扱うべきである。このような場合、個々のインデックス内で完結するスコア演算情報をそのまま使った方が、ユーザの検索要件によってはより精度の高い検索結果を提示することができる。
【００９６】
そこで、第２の実施形態では、図１３に示すように、第１の実施形態と比較して、検索手段の演算方法を選択できるスコア演算方法選定手段８を追加した構成となっている。
【００９７】
スコア演算方法選定手段８は、ユーザが検索条件入力手段６に入力する検索条件に基づき、各検索手段でのスコア演算方法を決定する機能を果たす。
【００９８】
検索条件入力手段６は、ユーザに検索時のスコア演算方法を選択するインタフェースを提供する。ユーザが選択した演算方法に従い、検索手段４１〜４３は検索時のスコア演算を行う。なお、明示的な選択インタフェースを提供せず、検索条件の内容から暗黙的に演算方法を選択しても良い。例えば、検索キーワードに含まれる単語の種類によって、演算方法を変更する方法が考えられる。
【００９９】
検索手段４１〜４３は、スコア演算方法選定手段８が選択したスコア演算方法により、スコア演算を行う。スコア演算方法はすべて同一の方法を用いてもよいし、検索手段毎、インデックス毎に別の方法を用いても良い。
【０１００】
その他の手段については、基本的に上記第１の実施形態と同一なため説明を省略する。
【０１０１】
次に、上記したスコア演算方法選定手段８が選択可能なスコア演算方法についていくつかの例を挙げて説明する。
【０１０２】
第１のスコア演算方法は、上記第１の実施形態で説明したとおり、検索対象文書全体のスコア演算情報を用いて、正しいスコア演算を行う方法である。
【０１０３】
第２のスコア演算方法は、分散されたインデックス固有のスコア演算情報だけでスコア演算を行う方法である。この方法の場合には、インデックスに格納された他のインデックス等のスコア演算情報は不要であるが、先に述べた１つ目のスコア演算方法と両立して利用することに意義があり、非特許文献３のような時系列に区分されたインデックスを有する情報検索システムにおいてその価値が発揮される。当然に、第２のスコア演算方法は、個々のインデックスでスコア演算処理が完結するため、高速にスコアを演算することが可能である。
【０１０４】
第３のスコア演算方法は、分散されたインデックスのスコア演算情報をいくつか選択してスコア演算を行う方法である。特に、非特許文献３のような時系列に区分されたインデックスを有する情報検索システムでは、あるインデックスと、時間的に近い、他のインデックスのスコア演算情報を用いたスコア演算が可能となる。
【０１０５】
上記第１〜第３のスコア演算方法の使い分けについて、図７のインデックス集合を例に取って説明する。ここでは、インデックスは非特許文献３の記載のとおり、時系列にインデックスが分割されているものとする。
【０１０６】
インデックス３３を対象とした検索を行う際に、第１のスコア演算方法では、Ｓ３１〜３６のスコア演算情報を用いてスコア演算を行う。第２のスコア演算方法では、Ｓ３３のスコア演算情報のみを用いてスコア演算を行う。第３のスコア演算方法では、Ｓ３２、Ｓ３３、Ｓ３４のスコア演算情報を用いてスコア演算を行う。
【０１０７】
上記の第３のスコア演算方法の例では、時間的に直接前後に位置するスコア演算情報を選択した。当然ながら、時間的に２つ隣までのスコア演算情報（Ｓ３１〜Ｓ３５）を選択するように動作しても良いし、過去の任意の数のスコア演算情報を選択するよう動作してもよい。
【０１０８】
なお、本実施形態において、各インデックスが、他のすべてのインデックスのスコア演算情報を保持しない構成とすることもできる。例えば、図６に示したように、インデックス固有のスコア演算情報と、他のインデックスから取得したスコア演算情報を統合した値（例えばＤＦ値の場合、総和）とを格納するようにすることもできる。この場合には、良好な検索速度を確保できる第１、第２のスコア演算方法のみを選択するように構成することができる。
【０１０９】
また例えば、図７のインデックス集合を例にして説明した第３のスコア演算方法のように、必要なスコア演算情報が決まっている場合には、インデックス固有のスコア演算情報と、第３のスコア演算方法に必要なスコア演算情報と、を格納するようにすることもできる。この場合には、良好な検索速度を確保できる第２、第３のスコア演算方法のみを選択するように構成することができる。
【０１１０】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。
【産業上の利用可能性】
【０１１１】
本発明は、インデックス固有のスコア演算情報以外のスコア演算情報を用いてスコア演算を行う情報検索システム全般に適用可能であるが、例えば、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂに存在する情報に対する情報検索システムや、組織内の情報（イントラネットのｈｔｍｌページや、組織における情報システム、データベース、ストレージなどが保有する情報）に対する情報検索システムのうち、複数の検索インデックスから成り立つシステムに対して適用できる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１の実施形態に係る情報検索システムの概要構成を示す図である。
【図２】本発明の第１の実施形態に係る情報検索システムのインデックス登録手段の構成を説明するための図である。
【図３】本発明の第１の実施形態に係る情報検索システムのインデックス及び検索手段の構成を説明するための図である。
【図４】一般的なインデックスの構成を示す図である。
【図５】本発明の第１の実施形態に係る情報検索システムのインデックスの構成を示す図である。
【図６】本発明の第１の実施形態に係る情報検索システムの各インデックスの他のスコア演算情報欄へのスコア演算情報の登録形態（登録規則）の例を示した図である。
【図７】本発明の第１の実施形態に係る情報検索システムの各インデックスの他のスコア演算情報欄へのスコア演算情報の登録形態（登録規則）の別の例を示した図である。
【図８】本発明の第１の実施形態に係る情報検索システムの各インデックスの他のスコア演算情報欄へのスコア演算情報の登録形態（登録規則）の別の例を示した図である。
【図９】本発明の第１の実施形態に係る情報検索システムにおけるインデックス登録処理の流れを表したフローチャートである。
【図１０】本発明の第１の実施形態に係る情報検索システムにおける別のインデックス登録処理の流れを表したフローチャートである。
【図１１】本発明の第１の実施形態に係る情報検索システムにおける検索処理の流れを表したフローチャートである。
【図１２】本発明の第１の実施形態に係る情報検索システムにおける別の検索処理の流れを表したフローチャートである。
【図１３】本発明の第２の実施形態に係る情報検索システムの概要構成を示す図である。
【符号の説明】
【０１１３】
１      文書格納手段
２      インデックス登録手段
５      マージ手段
６      検索条件入力手段
７      検索結果提示手段
８      スコア演算方法選定手段
２１    文書取得手段
２２    索引語抽出手段
２３    索引語及びスコア演算情報登録手段
２４    スコア演算情報取得手段
３１    インデックス
３２    インデックス
３３    インデックス
４１    検索手段
４２    検索手段
４３    検索手段
３１１  文書リスト格納位置特定情報格納手段
３１２  文書リスト及びスコア演算情報格納手段
３２１  文書リスト格納位置特定情報格納手段
３２２  文書リスト及びスコア演算情報格納手段
４１１  文書リスト及びスコア演算情報取得手段
４１２  スコア演算処理手段
４１３  検索結果出力手段
【図１】
0005374881.tif 000002
【図２】
0005374881.tif 000003
【図３】
0005374881.tif 000004
【図４】
0005374881.tif 000005
【図５】
0005374881.tif 000006
【図６】
0005374881.tif 000007
【図７】
0005374881.tif 000008
【図８】
0005374881.tif 000009
【図９】
0005374881.tif 000010
【図１０】
0005374881.tif 000011
【図１１】
0005374881.tif 000012
【図１２】
0005374881.tif 000013
【図１３】
0005374881.tif 000014