(57)【特許請求の範囲】
【請求項１】
Ｎ個のクエリ各々に対してＭ次元の特徴で表現したクエリ表現データが格納されたクエリ表現データベースと、
Ｎ個のクエリに対する文書の検索結果の適合度と、Ｍ次元のベクトルで表される特徴表現とを有した訓練データが格納された訓練データデータベースと、
前記訓練データを入力とし、各クエリの前記特徴表現に対する重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成手段と、
前記訓練データおよびランキングモデルを入力とし、前記ランキングモデルデータベース内の全モデルに対して最大の検索評価指標値を与えて、訓練データにおける最高精度を示す訓練時最適ランキングモデルを生成し、該訓練時最適ランキングモデルのクエリと前記訓練データのクエリの対のデータを有した訓練時最適モデルデータベースを構築する訓練時最適モデル選択手段と、
前記クエリ表現データベースと訓練時最適モデルデータベースの各データを入力とし、クエリ表現データベース内のクエリと、該クエリに相当する前記訓練時最適モデルデータベース内の訓練時最適ランキングモデルのクエリとの距離が最小となる変換行列を学習して生成し、変換行列データベースを構築する距離学習手段と、
前記クエリ表現データベース、ランキングモデルデータベースおよび変換行列データベースの各データを入力とし、クエリ表現データベース内の各クエリについて、前記変換行列を利用して各クエリ間の類似度を計算し、最大の類似度を持つクエリを選択し、該選択されたクエリのランキングモデルを前記ランキングモデルデータベースから取得し、該取得されたランキングモデルをクエリに対する最適モデルとして最適モデルデータベースを構築する最適モデルデータベース作成手段と、
予めＷｅｂページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースと、
入力された検索クエリに対する検索結果集合を前記文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理手段と、
前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースおよび最適モデルデータベースの各データとを入力とし、前記入力された検索クエリに対応する最適モデルを前記最適モデルデータベースから取得し、該取得された最適モデルのクエリに対応する前記ランキングモデルデータベース内のランキングモデルとしての重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算手段と、
前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示手段と、
を備えたことを特徴とするランキングモデル選択機能を有する文書検索装置。
【請求項２】
ランキング関数生成手段が、Ｎ個のクエリに対する文書の検索結果の適合度と、Ｍ次元のベクトルで表される特徴表現とを有した訓練データが格納された訓練データデータベース内の訓練データを入力とし、各クエリの前記特徴表現に対する重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成ステップと、
訓練時最適モデル選択手段が、前記訓練データおよびランキングモデルを入力とし、前記ランキングモデルデータベース内の全モデルに対して最大の検索評価指標値を与えて、訓練データにおける最高精度を示す訓練時最適ランキングモデルを生成し、該訓練時最適ランキングモデルのクエリと前記訓練データのクエリの対のデータを有した訓練時最適モデルデータベースを構築する訓練時最適モデル選択ステップと、
距離学習手段が、Ｎ個のクエリ各々に対してＭ次元の特徴で表現したクエリ表現データが格納されたクエリ表現データベースと前記訓練時最適モデルデータベースの各データを入力とし、クエリ表現データベース内のクエリと、該クエリに相当する前記訓練時最適モデルデータベース内の訓練時最適ランキングモデルのクエリとの距離が最小となる変換行列を学習して生成し、変換行列データベースを構築する距離学習ステップと、
最適モデルデータベース作成手段が、前記クエリ表現データベース、ランキングモデルデータベースおよび変換行列データベースの各データを入力とし、クエリ表現データベース内の各クエリについて、前記変換行列を利用して各クエリ間の類似度を計算し、最大の類似度を持つクエリを選択し、該選択されたクエリのランキングモデルを前記ランキングモデルデータベースから取得し、該取得されたランキングモデルをクエリに対する最適モデルとして最適モデルデータベースを構築する最適モデルデータベース作成ステップと、
クエリ処理手段が、入力された検索クエリに対する検索結果集合を、予めＷｅｂページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理ステップと、
検索スコア計算手段が、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースおよび最適モデルデータベースの各データとを入力とし、前記入力された検索クエリに対応する最適モデルを前記最適モデルデータベースから取得し、該取得された最適モデルのクエリに対応する前記ランキングモデルデータベース内のランキングモデルとしての重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算ステップと、
検索結果提示手段が、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示ステップと、
を備えたことを特徴とするランキングモデル選択機能を有する文書検索方法。
【請求項３】
コンピュータを請求項１に記載の各手段として機能させるランキングモデル選択機能を有する文書検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の検索結果を提示する装置およびその方法に関するものである。
【背景技術】
【０００２】
ウェブ検索システムのような検索システムにおいては、ＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）のようなクエリ頻度に基づくスコアや、ＰａｇｅＲａｎｋのようなリンク解析に基づくスコアなど、多数の要因（スコア要因と呼ぶ）を用いて最終的なランキングに用いる検索スコアを算出する（非特許文献１参照）。そして、算出された検索スコアの降順に並べることによって、ランキングを行った検索結果を提示する方法が広く用いられている。
【０００３】
クエリ毎に最適なランキングモデルが異なるため、クエリ毎に最適なランキングモデルを選択し、適用する方法がある。非特許文献２では，クエリ毎にランキングモデルを生成し、入力されたクエリに対して、当該クエリの特徴表現において、ユークリッド距離が最も短いランキングモデルを選択する。この際、それぞれのランキングモデル生成手法としては、たとえば非特許文献３の技術などを用いる。
【０００４】
尚、本発明の文書検索装置で利用する変換行列は、下記非特許文献４に記載されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】竹野浩、井上孝史、「分散型高速情報収集／全文検索システムＩｎｆｏＢｅｅ／Ｅｖａｎｇｅｌｉｓｔ」、ＮＴＴ  Ｒ＆Ｄ  Ｖｏｌ．５２  Ｎｏ．２  ２００３、ｐｐ．７８≡８４。
【非特許文献２】Ｘｉｕｂｏ  Ｇｅｎｇ，Ｔｉｅ−Ｙａｎ  Ｌｉｕ，Ｔａｏ  Ｑｉｎ，Ａｎｄｒｅｗ  Ａｒｎｏｌｄ，Ｈａｎｇ  Ｌｉ  ａｎｄ  Ｈｅｕｎｇ−Ｙｅｕｎｇ  Ｓｈｕｍ，“Ｑｕｅｒｙ  Ｄｅｐｅｎｄｅｎｔ  Ｒａｎｋｉｎｇ  Ｕｓｉｎｇ  Ｋ−Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ”，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ３１ｓｔ  ａｎｎｕａｌ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ＡＣＭ  ＳＩＧＩＲ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｒｅｓｅａｒｃｈ  ａｎｄ  ｄｅｖｅｌｏｐｍｅｎｔ  ｉｎ  ｉｎｆｏｒｍａｔｉｏｎ  ｒｅｔｒｉｅｖａｌ（ＳＩＧＩＲ  ’０８），２００８，ｐｐ．１１５−１２２．
【非特許文献３】Ｔｈｏｒｓｔｅｎ  Ｊｏａｃｈｉｍｓ，“Ｏｐｔｉｍｉｚｉｎｇ  Ｓｅａｒｃｈ  Ｅｎｇｉｎｅｓ  ｕｓｉｎｇ  Ｃｌｉｃｋｔｈｒｏｕｇｈ  Ｄａｔａ”，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｅｉｇｈｔｈ  ＡＣＭ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｄａｔａ  ｍｉｎｉｎｇ（ＫＤＤ  ’０２），２００２，ｐｐ．１３３−１４２．
【非特許文献４】Ｅｒｉｃ  Ｐ．  Ｘｉｎｇ  ａｎｄ  Ａｎｄｒｅｗ  Ｙ．  Ｎｇ  ａｎｄ  Ｍｉｃｈａｅｌ  Ｉ．  Ｊｏｒｄａｎ  ａｎｄ  Ｓｔｕａｒｔ  Ｒｕｓｓｅｌｌ，“Ｄｉｓｔａｎｃｅ  Ｍｅｔｒｉｃ  Ｌｅａｒｎｉｎｇ，  ｗｉｔｈ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｃｌｕｓｔｅｒｉｎｇ  ｗｉｔｈ  Ｓｉｄｅ−  Ｉｎｆｏｒｍａｔｉｏｎ”，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １６ｔｈ  ａｎｎｕａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ（ＮＩＰＳ  ’０２），２００２，ｐｐ．５０５−５１２．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クエリ毎にランキングモデルを選択するために従来技術で用いられたクエリ類似度の計算方法は、事前に設定された特徴空間における距離であり、入力されたクエリに対して、この特徴空間における最近傍のクエリを用いて生成されたランキングモデルが最適であるという仮定に基づいている。
【０００７】
しかしながら、実際にはクエリの特徴表現における最近傍のモデルと、実際に最適なモデルは一致するとは限らないため、適切に類似度を計算することができず、高精度なランキングを実現する最適なモデルを選択できないという課題がある。
【０００８】
本発明は上記課題を解決するものであり、その目的は、入力クエリに対して最適なランキングモデルを選択することができるランキングモデル選択機能を有する文書検索装置、方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本発明のランキングモデル選択機能を有する文書検索装置は、Ｎ個のクエリ各々に対してＭ次元の特徴で表現したクエリ表現データが格納されたクエリ表現データベースと、Ｎ個のクエリに対する文書の検索結果の適合度と、Ｍ次元のベクトルで表される特徴表現とを有した訓練データが格納された訓練データデータベースと、前記訓練データを入力とし、各クエリの前記特徴表現に対する重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成手段と、前記訓練データおよびランキングモデルを入力とし、前記ランキングモデルデータベース内の全モデルに対して最大の検索評価指標値を与えて、訓練データにおける最高精度を示す訓練時最適ランキングモデルを生成し、該訓練時最適ランキングモデルのクエリと前記訓練データのクエリの対のデータを有した訓練時最適モデルデータベースを構築する訓練時最適モデル選択手段と、前記クエリ表現データベースと訓練時最適モデルデータベースの各データを入力とし、クエリ表現データベース内のクエリと、該クエリに相当する前記訓練時最適モデルデータベース内の訓練時最適ランキングモデルのクエリとの距離が最小となる変換行列を学習して生成し、変換行列データベースを構築する距離学習手段と、前記クエリ表現データベース、ランキングモデルデータベースおよび変換行列データベースの各データを入力とし、クエリ表現データベース内の各クエリについて、前記変換行列を利用して各クエリ間の類似度を計算し、最大の類似度を持つクエリを選択し、該選択されたクエリのランキングモデルを前記ランキングモデルデータベースから取得し、該取得されたランキングモデルをクエリに対する最適モデルとして最適モデルデータベースを構築する最適モデルデータベース作成手段と、予めＷｅｂページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースと、入力された検索クエリに対する検索結果集合を前記文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理手段と、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースおよび最適モデルデータベースの各データとを入力とし、前記入力された検索クエリに対応する最適モデルを前記最適モデルデータベースから取得し、該取得された最適モデルのクエリに対応する前記ランキングモデルデータベース内のランキングモデルとしての重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算手段と、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示手段と、を備えたことを特徴としている。
【発明の効果】
【００１０】
本発明によれば、検索評価指標を最大にするようなクエリを特徴空間における近傍に近づけるクエリ特徴空間の変換を行っているので、入力されたクエリに対する類似度計算が改善され、これにより、ランキングモデルの選択の性能を向上し、検索ランキングの精度向上を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態例の文書検索装置全体の構成図。
【図２】図１の最適モデルＤＢを作成する装置の構成図。
【図３】図２の変換行列ＤＢを生成する装置の構成図。
【図４】図３の訓練時最適モデル選択部１２０の処理の流れを示すフローチャート。
【図５】図２の最適モデルＤＢ作成部１４０の処理の流れを示すフローチャート。
【図６】図１の文書検索装置の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。まず本発明の一実施形態例の全体構成の概要を図１〜図３とともに説明する。
【００１３】
本実施形態例の文書検索装置１００は、図１に示すように、予めＷｅｂページから収集した文書を基に作成された文書インデクスデータが格納された文書インデクスＤＢ（データベース）１０７、ランキングモデルのデータが格納されたランキングモデルＤＢ１０３、最適モデルのデータが格納された最適モデルＤＢ１０６、クエリ処理手段としてのクエリ処理部１５０、検索スコア計算手段としての検索スコア計算部１６０および検索結果提示手段としての検索結果提示部１７０を備えている。
【００１４】
図１の最適モデルＤＢ１０６は、図２に示すクエリ表現ＤＢ１０１、ランキングモデルＤＢ１０３および変換行列ＤＢ１０５に格納されている各データに基づいて、最適モデルＤＢ作成手段としての最適モデルＤＢ作成部１４０の処理によって構築される。
【００１５】
図１のランキングモデルＤＢ１０３は、図３に示す訓練データＤＢ１０２に格納されているデータに基づいて、ランキング関数生成手段としてのランキング関数生成部１１０の処理によって構築される。
【００１６】
図２の変換行列ＤＢ１０５は、図３に示すクエリ表現ＤＢ１０１、訓練データＤＢ１０２、ランキングモデルＤＢ１０３および訓練時最適モデルＤＢ１０４に格納される各データに基づいて、ランキング関数生成部１１０、訓練時最適モデル選択手段としての訓練時最適モデル選択部１２０および距離学習手段としての距離学習部１３０の各処理によって構築される。
【００１７】
尚、図３のランキングモデルＤＢ１０３、訓練時最適モデルＤＢ１０４，ランキング関数生成部１１０、訓練時最適モデル選択部１２０および距離学習部１３０によって変換行列生成装置１１５を構成している。
【００１８】
図１〜図３に示す文書検索装置１００は、例えばコンピュータにより構成され、通常のコンピュータのハードウェアリソース、例えばＲＯＭ、ＲＡＭ、ＣＰＵ、入力装置、出力装置、表示装置、通信インターフェース、ハードディスク、記録媒体およびその駆動装置を備えている。
【００１９】
このハードウェアリソースとソフトウェアリソース（ＯＳ、アプリケーションなど）との協働の結果、文書検索装置１００は、図１〜図３に示すように、クエリ表現ＤＢ１０１、訓練データＤＢ１０２、ランキングモデルＤＢ１０３、訓練時最適モデルＤＢ１０４、変換行列ＤＢ１０５、最適モデルＤＢ１０６、文書インデクスＤＢ１０７、ランキング関数生成部１１０、訓練時最適モデル選択部１２０、距離学習部１３０、最適モデルＤＢ作成部１４０、クエリ処理部１５０、検索スコア計算部１６０および検索結果提示部１７０を実装する。
【００２０】
前記クエリ表現ＤＢ１０１、訓練データＤＢ１０２、ランキングモデルＤＢ１０３、訓練時最適モデルＤＢ１０４、変換行列ＤＢ１０５、最適モデルＤＢ１０６、文書インデクスＤＢ１０７は、ハードディスクあるいはＲＡＭなどの保存手段・記憶手段に構築されているものとする。
【００２１】
次に、上記のように構成された装置の詳細を説明する。  
【００２２】
まず図３において、変換行列生成装置１１５は、クエリ表現ＤＢ１０１と、訓練データＤＢ１０２を入力として受け取り、変換行列ＤＢ１０５を生成する。訓練データＤＢ１０２のデータ構造の例を表１に示す。
【００２３】
【表１】
0005432936.tif 000002
【００２４】
この例では、Ｎ個のクエリに対する検索結果（文書）それぞれに対して、適合度が付与された訓練データを表している。各行が、当該クエリに対するある文書の適合度と特徴表現を表している。文書は、この例においてはＭ個の特徴によって表現され、Ｍ次元のベクトルを用いて表すことができる。
【００２５】
＜ランキング関数生成部１１０＞
ランキング関数生成部１１０は、訓練データＤＢ１０２を入力として受け取り、ランキングモデルＤＢ１０３を生成する。ランキング関数生成部１１０には、例えば非特許文献３の技術を用いることができる。ランキングモデルＤＢ１０３のデータ構造の例を表２に示す。
【００２６】
【表２】
0005432936.tif 000003
【００２７】
表２において、ｉ番目の行がクエリｑｉの訓練データをランキング関数生成部１１０に入力し、得られたランキングモデルを表している。表２は、Ｎ個のクエリそれぞれに対するランキングモデルの例である。ランキングモデルは入力された文書の特徴表現に対する重みとして表現することができる。すなわち、表２の例においてｗｉが表１のｘｉに対する重みを表している。文書がＭ次元の特徴表現ｘで表す場合、ランキングモデルも同様にＭ次元の重みｗで表すことができる。
【００２８】
＜訓練時最適モデル選択部１２０＞
訓練時最適モデル選択部１２０は、訓練データＤＢ１０２とランキングモデルＤＢ１０３を入力として受け取り、図４のステップＳ１２１〜Ｓ１２４に示す処理を行って訓練時最適モデルＤＢ１０４を出力する。
【００２９】
前記訓練時最適モデル選択部１２０が内部で利用するデータ構造の例を表３に示し、訓練時最適モデル選択部１２０が出力する訓練時最適モデルＤＢ１０４のデータ構造の例を表４に示す。
【００３０】
【表３】
0005432936.tif 000004
【００３１】
【表４】
0005432936.tif 000005
【００３２】
まず図４のステップＳ１２１において、訓練データＤＢ１０２から未処理のクエリｑを取得する。
【００３３】
次にステップＳ１２２において、ランキングモデルＤＢ１０３に含まれる全てのランキングモデルについて、最大の評価値（検索評価指標値）を与えるクエリｐを決定する。
【００３４】
次にステップＳ１２３において、訓練時最適モデルＤＢ１０４にクエリｐ（例えば表４の最適モデルのクエリＩＤ）とｑ（例えば表４のクエリＩＤ）を出力する。
【００３５】
そしてステップ１２４において、訓練データＤＢ１０２内の全てのクエリの処理が終わるまでステップＳ１２１〜Ｓ１２３の処理を繰り返し実行する。
【００３６】
例えば、各クエリ毎に当該クエリを除いた検索評価指標が大きい最上位のクエリの訓練データを用いることができる。ここで検索評価指標は、ＭＡＰ（Ｍｅａｎ  Ａｖｅｒａｇｅ  Ｐｒｅｃｉｓｉｏｎ）やＮＤＣＧ（Ｎｏｒｍａｌｉｚｅｄ  Ｄｉｓｃｏｕｎｔｅｄ  Ｃｕｍｕｌａｔｉｖｅ  Ｇａｉｎ）などを用いることができる。以降、説明のため検索評価指標にはＭＡＰを用いることとする。
【００３７】
上記のような処理によって、訓練データ（訓練データＤＢ１０２）における最高精度を示すランキングモデルの結果を生成する。表３の例では、クエリｑ1に対して、クエリｑ2を用いて生成されたランキングモデルによって０．７のＭＡＰ値、クエリｑNを用いて生成されたランキングモデルによって０．４のＭＡＰ値が得られたことを表している。
【００３８】
＜距離学習部１３０＞
距離学習部１３０では、クエリ表現ＤＢ１０１と訓練時最適モデルＤＢ１０４を入力として受け取り、変換行列ＤＢ１０５を出力する。クエリ表現ＤＢ１０１のデータ構造例を表５、変換行列ＤＢ１０５のデータ構造例を表６に示す。
【００３９】
【表５】
0005432936.tif 000006
【００４０】
【表６】
0005432936.tif 000007
【００４１】
表５の例では、クエリ表現ＤＢ１０１はＮ個のクエリの特徴表現を格納しており、あるクエリにおけるｆｉの値が、当該クエリのｉ番目の特徴の値を示している。この例では、各クエリがＭ次元の特徴で表現されている。
【００４２】
クエリｑｉのクエリ表現ベクトルをｘｉ、クエリｑｊのクエリ表現ベクトルをｘｊとすると、ふたつのクエリ表現ベクトルの距離は、
【００４３】
【数１】
0005432936.tif 000008
【００４４】
を用いて算出することができる。ここで変換行列ＡはＭ次元の特徴空間をＭ次元の特徴空間に写像するＭ次元正方行列で、Ａ＝Ｉとする場合、ユークリッド距離となる。
【００４５】
表３の例では、ｑ1に対しては、ｑ2を用いて生成されたランキングモデルが最も高いＭＡＰ値を示したため、ｑ1のクエリ表現ベクトルｘ1と、ｑ2のクエリ表現ベクトルｘ2の距離を小さくするように変換行列Ａの学習を行う。このように全てのクエリｑｉ（ｉ＝１．．．Ｎ）について最良の結果を示すランキングモデルを選択し、選択されたクエリと当該クエリの距離が最小となるように変換行列の生成を行う。この変換行列Ａの生成には、例えば非特許文献４の技術を用いることができる。
【００４６】
次に図２の最適モデルＤＢ作成装置の詳細を説明する。
【００４７】
＜最適モデルＤＢ作成部１４０＞
最適モデルＤＢ作成部１４０は、図３の変換行列生成装置１１５によって生成された変換行列ＤＢ１０５と、クエリ表現ＤＢ１０１、ランキングモデルＤＢ１０３を各々入力とし、図５のステップＳ１４１〜Ｓ１４６に示す処理を行なって最適モデルＤＢ１０６を出力する。
【００４８】
最適モデルＤＢ１０６のデータ構造の例を表７に示す。
【００４９】
【表７】
0005432936.tif 000009
【００５０】
尚表７は、訓練時最適モデルＤＢ１０４のクエリ数Ｎよりも多い件数のクエリｑN+Lについて最適モデルを出力した例を示している。このようにｑN+L個の最適モデルを構築することにより、後述の文書検索処理時における入力クエリ数がｑNよりも多い場合にも対処できる。
【００５１】
まず図５のステップＳ１４１において、クエリ表現ＤＢ１０１から未処理のクエリｑを取得する。
【００５２】
次にステップＳ１４２において、クエリ表現ＤＢ１０１に含まれる各クエリについて、変換行列ＤＢ１０５を利用して類似度ｄを計算する。
【００５３】
次にステップＳ１４３において、最大の類似度ｄを持つクエリｐを選択する。
【００５４】
次にステップＳ１４４において、ランキングモデルＤＢ１０３から、前記選択されたクエリｐに相当するランキングモデルｗを取得する。
【００５５】
次にステップＳ１４５において、クエリｑに対する最適モデルを前記取得されたｗとして最適モデルＤＢ１０６に出力する。
【００５６】
そしてステップＳ１４６において、クエリ表現ＤＢ１０１内の全てのクエリの処理が終わるまでステップＳ１４１〜Ｓ１４６の処理を繰り返し実行する。
【００５７】
次に図１の文書検索装置１００の詳細を図６のフローチャートとともに説明する。
【００５８】
＜クエリ処理部１５０＞
クエリ処理部１５０は、検索クエリを入力として受け取り、該検索クエリを含む検索結果集合（文書）を文書インデクスＤＢ１０７から取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出する（ステップＳ１５０）。
【００５９】
具体的には、Ｍ個のスコア要因を用いて、文書インデクスＤＢ１０７からＮ件の検索結果集合を取得した際、そのスコア要因値行列は、
【００６０】
【数２】
0005432936.tif 000010
【００６１】
と表現する。ここで、Ｄのｉ行目がｉ番目の検索結果のスコア要因値を表している。例えば、ｄ23は、２番目の文書に対する３番目のスコア要因値である。
【００６２】
＜検索スコア計算部１６０＞
検索スコア計算部１６０は、クエリ処理部１５０が出力したスコア要因値行列Ｄ、ランキングモデルＤＢ１０３のデータ、最適モデルＤＢ１０６のデータ、および入力された検索クエリｑinputを各々入力として受け取る。
【００６３】
検索スコア計算部１６０は、最適モデルＤＢ１０６から、入力された検索クエリｑinputに対応する最適モデルのクエリＩＤｑbestを取得し、当該最適モデルのクエリの重みｗ（スコア要因重み）をランキングモデルＤＢ１０３から取得し、該スコア要因重みとスコア要因値行列Ｄを元に検索スコアベクトルを計算する（ステップＳ１６０）。
【００６４】
検索ランキングに用いるための検索スコアベクトルｓは、スコア要因値行列Ｄと、スコア要因重みｗ(qbest)の積によって得られる。
【００６５】
【数３】
0005432936.tif 000011
【００６６】
すなわちｉ番目の文書に対する検索スコアｓｉは、
【００６７】
【数４】
0005432936.tif 000012
【００６８】
によって算出する。
【００６９】
＜検索結果提示部１７０＞
検索結果提示部１７０は、検索スコアベクトルｓを受け取り、検索スコアｓｉの降順に、クエリに対する検索結果を提示する（表示、又はデータとして出力する）（ステップＳ１７０）。
【００７０】
また、本実施形態のランキングモデル選択機能を有する文書検索装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態のランキングモデル選択機能を有する文書検索方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＨＤＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【符号の説明】
【００７１】
１００…文書検索装置
１０１…クエリ表現ＤＢ
１０２…訓練データＤＢ
１０３…ランキングモデルＤＢ
１０４…訓練時最適モデルＤＢ
１０５…変換行列ＤＢ
１０６…最適モデルＤＢ
１０７…文書インデクスＤＢ
１１０…ランキング関数生成部
１２０…訓練時最適モデル選択部
１３０…距離学習部
１４０…最適モデルＤＢ作成部
１５０…クエリ処理部
１６０…検索スコア計算部
１７０…検索結果提示部
【図１】
0005432936.tif 000013
【図２】
0005432936.tif 000014
【図３】
0005432936.tif 000015
【図４】
0005432936.tif 000016
【図５】
0005432936.tif 000017
【図６】
0005432936.tif 000018