"N個のクエリ各々に対してM次元の特徴で表現したクエリ表現データが格納されたクエリ表現データベースと、N個のクエリに対する文書の検索結果の適合度と、M次元のベクトルで表される特徴表現とを有した訓練データが格納された訓練データデータベースと、前記訓練データを入力とし、各クエリの前記特徴表現に対する重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成手段と、前記訓練データおよびランキングモデルを入力とし、前記ランキングモデルデータベース内の全モデルに対して最大の検索評価指標値を与えて、訓練データにおける最高精度を示す訓練時最適ランキングモデルを生成し、該訓練時最適ランキングモデルのクエリと前記訓練データのクエリの対のデータを有した訓練時最適モデルデータベースを構築する訓練時最適モデル選択手段と、前記クエリ表現データベースと訓練時最適モデルデータベースの各データを入力とし、クエリ表現データベース内のクエリと、該クエリに相当する前記訓練時最適モデルデータベース内の訓練時最適ランキングモデルのクエリとの距離が最小となる変換行列を学習して生成し、変換行列データベースを構築する距離学習手段と、前記クエリ表現データベース、ランキングモデルデータベースおよび変換行列データベースの各データを入力とし、クエリ表現データベース内の各クエリについて、前記変換行列を利用して各クエリ間の類似度を計算し、最大の類似度を持つクエリを選択し、該選択されたクエリのランキングモデルを前記ランキングモデルデータベースから取得し、該取得されたランキングモデルをクエリに対する最適モデルとして最適モデルデータベースを構築する最適モデルデータベース作成手段と、予めWebページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースと、入力された検索クエリに対する検索結果集合を前記文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理手段と、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースおよび最適モデルデータベースの各データとを入力とし、前記入力された検索クエリに対応する最適モデルを前記最適モデルデータベースから取得し、該取得された最適モデルのクエリに対応する前記ランキングモデルデータベース内のランキングモデルとしての重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算手段と、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示手段と、を備えたことを特徴とするランキングモデル選択機能を有する文書検索装置。ランキング関数生成手段が、N個のクエリに対する文書の検索結果の適合度と、M次元のベクトルで表される特徴表現とを有した訓練データが格納された訓練データデータベース内の訓練データを入力とし、各クエリの前記特徴表現に対する重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成ステップと、訓練時最適モデル選択手段が、前記訓練データおよびランキングモデルを入力とし、前記ランキングモデルデータベース内の全モデルに対して最大の検索評価指標値を与えて、訓練データにおける最高精度を示す訓練時最適ランキングモデルを生成し、該訓練時最適ランキングモデルのクエリと前記訓練データのクエリの対のデータを有した訓練時最適モデルデータベースを構築する訓練時最適モデル選択ステップと、距離学習手段が、N個のクエリ各々に対してM次元の特徴で表現したクエリ表現データが格納されたクエリ表現データベースと前記訓練時最適モデルデータベースの各データを入力とし、クエリ表現データベース内のクエリと、該クエリに相当する前記訓練時最適モデルデータベース内の訓練時最適ランキングモデルのクエリとの距離が最小となる変換行列を学習して生成し、変換行列データベースを構築する距離学習ステップと、最適モデルデータベース作成手段が、前記クエリ表現データベース、ランキングモデルデータベースおよび変換行列データベースの各データを入力とし、クエリ表現データベース内の各クエリについて、前記変換行列を利用して各クエリ間の類似度を計算し、最大の類似度を持つクエリを選択し、該選択されたクエリのランキングモデルを前記ランキングモデルデータベースから取得し、該取得されたランキングモデルをクエリに対する最適モデルとして最適モデルデータベースを構築する最適モデルデータベース作成ステップと、クエリ処理手段が、入力された検索クエリに対する検索結果集合を、予めWebページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理ステップと、検索スコア計算手段が、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースおよび最適モデルデータベースの各データとを入力とし、前記入力された検索クエリに対応する最適モデルを前記最適モデルデータベースから取得し、該取得された最適モデルのクエリに対応する前記ランキングモデルデータベース内のランキングモデルとしての重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算ステップと、検索結果提示手段が、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示ステップと、を備えたことを特徴とするランキングモデル選択機能を有する文書検索方法。コンピュータを請求項1に記載の各手段として機能させるランキングモデル選択機能を有する文書検索プログラム。クエリ毎にランキングモデルを選択するために従来技術で用いられたクエリ類似度の計算方法は、事前に設定された特徴空間における距離であり、入力されたクエリに対して、この特徴空間における最近傍のクエリを用いて生成されたランキングモデルが最適であるという仮定に基づいている。しかしながら、実際にはクエリの特徴表現における最近傍のモデルと、実際に最適なモデルは一致するとは限らないため、適切に類似度を計算することができず、高精度なランキングを実現する最適なモデルを選択できないという課題がある。本発明は上記課題を解決するものであり、その目的は、入力クエリに対して最適なランキングモデルを選択することができるランキングモデル選択機能を有する文書検索装置、方法、プログラムを提供することにある。上記課題を解決するための本発明のランキングモデル選択機能を有する文書検索装置は、N個のクエリ各々に対してM次元の特徴で表現したクエリ表現データが格納されたクエリ表現データベースと、N個のクエリに対する文書の検索結果の適合度と、M次元のベクトルで表される特徴表現とを有した訓練データが格納された訓練データデータベースと、前記訓練データを入力とし、各クエリの前記特徴表現に対する重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成手段と、前記訓練データおよびランキングモデルを入力とし、前記ランキングモデルデータベース内の全モデルに対して最大の検索評価指標値を与えて、訓練データにおける最高精度を示す訓練時最適ランキングモデルを生成し、該訓練時最適ランキングモデルのクエリと前記訓練データのクエリの対のデータを有した訓練時最適モデルデータベースを構築する訓練時最適モデル選択手段と、前記クエリ表現データベースと訓練時最適モデルデータベースの各データを入力とし、クエリ表現データベース内のクエリと、該クエリに相当する前記訓練時最適モデルデータベース内の訓練時最適ランキングモデルのクエリとの距離が最小となる変換行列を学習して生成し、変換行列データベースを構築する距離学習手段と、前記クエリ表現データベース、ランキングモデルデータベースおよび変換行列データベースの各データを入力とし、クエリ表現データベース内の各クエリについて、前記変換行列を利用して各クエリ間の類似度を計算し、最大の類似度を持つクエリを選択し、該選択されたクエリのランキングモデルを前記ランキングモデルデータベースから取得し、該取得されたランキングモデルをクエリに対する最適モデルとして最適モデルデータベースを構築する最適モデルデータベース作成手段と、予めWebページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースと、入力された検索クエリに対する検索結果集合を前記文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理手段と、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースおよび最適モデルデータベースの各データとを入力とし、前記入力された検索クエリに対応する最適モデルを前記最適モデルデータベースから取得し、該取得された最適モデルのクエリに対応する前記ランキングモデルデータベース内のランキングモデルとしての重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算手段と、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示手段と、を備えたことを特徴としている。本発明によれば、検索評価指標を最大にするようなクエリを特徴空間における近傍に近づけるクエリ特徴空間の変換を行っているので、入力されたクエリに対する類似度計算が改善され、これにより、ランキングモデルの選択の性能を向上し、検索ランキングの精度向上を実現することができる。以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。まず本発明の一実施形態例の全体構成の概要を図1~図3とともに説明する。本実施形態例の文書検索装置100は、図1に示すように、予めWebページから収集した文書を基に作成された文書インデクスデータが格納された文書インデクスDBデータベース107、ランキングモデルのデータが格納されたランキングモデルDB103、最適モデルのデータが格納された最適モデルDB106、クエリ処理手段としてのクエリ処理部150、検索スコア計算手段としての検索スコア計算部160および検索結果提示手段としての検索結果提示部170を備えている。図1の最適モデルDB106は、図2に示すクエリ表現DB101、ランキングモデルDB103および変換行列DB105に格納されている各データに基づいて、最適モデルDB作成手段としての最適モデルDB作成部140の処理によって構築される。図1のランキングモデルDB103は、図3に示す訓練データDB102に格納されているデータに基づいて、ランキング関数生成手段としてのランキング関数生成部110の処理によって構築される。図2の変換行列DB105は、図3に示すクエリ表現DB101、訓練データDB102、ランキングモデルDB103および訓練時最適モデルDB104に格納される各データに基づいて、ランキング関数生成部110、訓練時最適モデル選択手段としての訓練時最適モデル選択部120および距離学習手段としての距離学習部130の各処理によって構築される。尚、図3のランキングモデルDB103、訓練時最適モデルDB104,ランキング関数生成部110、訓練時最適モデル選択部120および距離学習部130によって変換行列生成装置115を構成している。図1~図3に示す文書検索装置100は、例えばコンピュータにより構成され、通常のコンピュータのハードウェアリソース、例えばROM、RAM、CPU、入力装置、出力装置、表示装置、通信インターフェース、ハードディスク、記録媒体およびその駆動装置を備えている。このハードウェアリソースとソフトウェアリソースOS、アプリケーションなどとの協働の結果、文書検索装置100は、図1~図3に示すように、クエリ表現DB101、訓練データDB102、ランキングモデルDB103、訓練時最適モデルDB104、変換行列DB105、最適モデルDB106、文書インデクスDB107、ランキング関数生成部110、訓練時最適モデル選択部120、距離学習部130、最適モデルDB作成部140、クエリ処理部150、検索スコア計算部160および検索結果提示部170を実装する。前記クエリ表現DB101、訓練データDB102、ランキングモデルDB103、訓練時最適モデルDB104、変換行列DB105、最適モデルDB106、文書インデクスDB107は、ハードディスクあるいはRAMなどの保存手段記憶手段に構築されているものとする。次に、上記のように構成された装置の詳細を説明する。まず図3において、変換行列生成装置115は、クエリ表現DB101と、訓練データDB102を入力として受け取り、変換行列DB105を生成する。訓練データDB102のデータ構造の例を表1に示す。この例では、N個のクエリに対する検索結果文書それぞれに対して、適合度が付与された訓練データを表している。各行が、当該クエリに対するある文書の適合度と特徴表現を表している。文書は、この例においてはM個の特徴によって表現され、M次元のベクトルを用いて表すことができる。<ランキング関数生成部110>ランキング関数生成部110は、訓練データDB102を入力として受け取り、ランキングモデルDB103を生成する。ランキング関数生成部110には、例えば非特許文献3の技術を用いることができる。ランキングモデルDB103のデータ構造の例を表2に示す。表2において、i番目の行がクエリqiの訓練データをランキング関数生成部110に入力し、得られたランキングモデルを表している。表2は、N個のクエリそれぞれに対するランキングモデルの例である。ランキングモデルは入力された文書の特徴表現に対する重みとして表現することができる。すなわち、表2の例においてwiが表1のxiに対する重みを表している。文書がM次元の特徴表現xで表す場合、ランキングモデルも同様にM次元の重みwで表すことができる。<訓練時最適モデル選択部120>訓練時最適モデル選択部120は、訓練データDB102とランキングモデルDB103を入力として受け取り、図4のステップS121~S124に示す処理を行って訓練時最適モデルDB104を出力する。前記訓練時最適モデル選択部120が内部で利用するデータ構造の例を表3に示し、訓練時最適モデル選択部120が出力する訓練時最適モデルDB104のデータ構造の例を表4に示す。まず図4のステップS121において、訓練データDB102から未処理のクエリqを取得する。次にステップS122において、ランキングモデルDB103に含まれる全てのランキングモデルについて、最大の評価値検索評価指標値を与えるクエリpを決定する。次にステップS123において、訓練時最適モデルDB104にクエリp例えば表4の最適モデルのクエリIDとq例えば表4のクエリIDを出力する。そしてステップ124において、訓練データDB102内の全てのクエリの処理が終わるまでステップS121~S123の処理を繰り返し実行する。例えば、各クエリ毎に当該クエリを除いた検索評価指標が大きい最上位のクエリの訓練データを用いることができる。ここで検索評価指標は、MAPMeanAveragePrecisionやNDCGNormalizedDiscountedCumulativeGainなどを用いることができる。以降、説明のため検索評価指標にはMAPを用いることとする。上記のような処理によって、訓練データ訓練データDB102における最高精度を示すランキングモデルの結果を生成する。表3の例では、クエリq1に対して、クエリq2を用いて生成されたランキングモデルによって0.7のMAP値、クエリqNを用いて生成されたランキングモデルによって0.4のMAP値が得られたことを表している。<距離学習部130>距離学習部130では、クエリ表現DB101と訓練時最適モデルDB104を入力として受け取り、変換行列DB105を出力する。クエリ表現DB101のデータ構造例を表5、変換行列DB105のデータ構造例を表6に示す。表5の例では、クエリ表現DB101はN個のクエリの特徴表現を格納しており、あるクエリにおけるfiの値が、当該クエリのi番目の特徴の値を示している。この例では、各クエリがM次元の特徴で表現されている。クエリqiのクエリ表現ベクトルをxi、クエリqjのクエリ表現ベクトルをxjとすると、ふたつのクエリ表現ベクトルの距離は、を用いて算出することができる。ここで変換行列AはM次元の特徴空間をM次元の特徴空間に写像するM次元正方行列で、A=Iとする場合、ユークリッド距離となる。表3の例では、q1に対しては、q2を用いて生成されたランキングモデルが最も高いMAP値を示したため、q1のクエリ表現ベクトルx1と、q2のクエリ表現ベクトルx2の距離を小さくするように変換行列Aの学習を行う。このように全てのクエリqii=1...Nについて最良の結果を示すランキングモデルを選択し、選択されたクエリと当該クエリの距離が最小となるように変換行列の生成を行う。この変換行列Aの生成には、例えば非特許文献4の技術を用いることができる。次に図2の最適モデルDB作成装置の詳細を説明する。<最適モデルDB作成部140>最適モデルDB作成部140は、図3の変換行列生成装置115によって生成された変換行列DB105と、クエリ表現DB101、ランキングモデルDB103を各々入力とし、図5のステップS141~S146に示す処理を行なって最適モデルDB106を出力する。最適モデルDB106のデータ構造の例を表7に示す。尚表7は、訓練時最適モデルDB104のクエリ数Nよりも多い件数のクエリqNLについて最適モデルを出力した例を示している。このようにqNL個の最適モデルを構築することにより、後述の文書検索処理時における入力クエリ数がqNよりも多い場合にも対処できる。まず図5のステップS141において、クエリ表現DB101から未処理のクエリqを取得する。次にステップS142において、クエリ表現DB101に含まれる各クエリについて、変換行列DB105を利用して類似度dを計算する。次にステップS143において、最大の類似度dを持つクエリpを選択する。次にステップS144において、ランキングモデルDB103から、前記選択されたクエリpに相当するランキングモデルwを取得する。次にステップS145において、クエリqに対する最適モデルを前記取得されたwとして最適モデルDB106に出力する。そしてステップS146において、クエリ表現DB101内の全てのクエリの処理が終わるまでステップS141~S146の処理を繰り返し実行する。次に図1の文書検索装置100の詳細を図6のフローチャートとともに説明する。<クエリ処理部150>クエリ処理部150は、検索クエリを入力として受け取り、該検索クエリを含む検索結果集合文書を文書インデクスDB107から取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するステップS150。具体的には、M個のスコア要因を用いて、文書インデクスDB107からN件の検索結果集合を取得した際、そのスコア要因値行列は、と表現する。ここで、Dのi行目がi番目の検索結果のスコア要因値を表している。例えば、d23は、2番目の文書に対する3番目のスコア要因値である。<検索スコア計算部160>検索スコア計算部160は、クエリ処理部150が出力したスコア要因値行列D、ランキングモデルDB103のデータ、最適モデルDB106のデータ、および入力された検索クエリqinputを各々入力として受け取る。検索スコア計算部160は、最適モデルDB106から、入力された検索クエリqinputに対応する最適モデルのクエリIDqbestを取得し、当該最適モデルのクエリの重みwスコア要因重みをランキングモデルDB103から取得し、該スコア要因重みとスコア要因値行列Dを元に検索スコアベクトルを計算するステップS160。検索ランキングに用いるための検索スコアベクトルsは、スコア要因値行列Dと、スコア要因重みwの積によって得られる。すなわちi番目の文書に対する検索スコアsiは、によって算出する。<検索結果提示部170>検索結果提示部170は、検索スコアベクトルsを受け取り、検索スコアsiの降順に、クエリに対する検索結果を提示する表示、又はデータとして出力するステップS170。また、本実施形態のランキングモデル選択機能を有する文書検索装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態のランキングモデル選択機能を有する文書検索方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばFDFloppy登録商標Diskや、MOMagneto-Opticaldisk、ROMReadOnlyMemory、メモリカード、CDCompactDisk-ROM、DVDDigitalVersatileDisk-ROM、CD-R、CD-RW、HDD、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。"