(57)【特許請求の範囲】
【請求項１】
入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いるサポートベクタの組を生成する装置であって、
訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各訓練用検索クエリについて記憶した訓練データベースと、
前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するランキング関数生成手段と、
各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価する検索評価手段と、
前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組を、前記暫定ランキング関数から除外したものを、前記検索用ランキング関数で用いるサポートベクタの組とするサポートベクタ選択手段と、
を含むサポートベクタ選択装置。
【請求項２】
入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いる重みを生成する装置であって、
訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各検索クエリについて記憶した訓練データベースと、
前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するランキング関数生成手段と、
各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価する検索評価手段と、
前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組に対する前記重みを０に設定するサポートベクタ選択手段と、
を含むサポートベクタ選択装置。
【請求項３】
前記検索評価手段は、サポートベクタの各組について、該サポートベクタの組を使わない前記ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、各訓練用検索クエリに対して該サポートベクタの組を使わない場合の評価指標を算出し、前記評価指標の平均値を、前記評価指標の最大値から減算した値を、該サポートベクタの組の影響度スコアとして算出し、
前記サポートベクタ選択手段は、前記検索評価手段によって算出された前記影響度スコアが小さいサポートベクタの組を、前記ランキング関数で用いるサポートベクタの組から除外する請求項１記載のサポートベクタ選択装置。
【請求項４】
前記検索評価手段は、サポートベクタの各組について、該サポートベクタの組を使わない前記ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、各訓練用検索クエリに対して該サポートベクタの組を使わない場合の評価指標を算出し、前記評価指標の平均値を、前記評価指標の最大値から減算した値を、該サポートベクタの組の影響度スコアとして算出し、
前記サポートベクタ選択手段は、前記検索評価手段によって算出された前記影響度スコアが小さいサポートベクタの組に対する前記重みを０に設定する請求項２記載のサポートベクタ選択装置。
【請求項５】
訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各訓練用検索クエリについて記憶した訓練データベース、ランキング関数生成手段、検索評価手段、及びサポートベクタ選択手段を含み、入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いるサポートベクタの組を生成する装置におけるサポートベクタ選択方法であって、
前記装置は、
前記ランキング関数生成手段によって、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するステップと、
前記検索評価手段によって、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価するステップと、
前記サポートベクタ選択手段によって、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組を、前記暫定ランキング関数から除外したものを、前記検索用ランキング関数で用いるサポートベクタの組とするステップと、
を含んで実行することを特徴とするサポートベクタ選択方法。
【請求項６】
訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各検索クエリについて記憶した訓練データベース、ランキング関数生成手段、検索評価手段、及びサポートベクタ選択手段を含み、入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いる重みを生成する装置におけるサポートベクタ選択方法であって、
前記装置は、
前記ランキング関数生成手段によって、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するステップと、
前記検索評価手段によって、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価するステップと、
前記サポートベクタ選択手段によって、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組に対する前記重みを０に設定するステップと、
を含んで実行することを特徴とするサポートベクタ選択方法。
【請求項７】
コンピュータを、請求項１〜請求項４の何れか１項記載のサポートベクタ選択装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サポートベクタ選択装置、方法、及びプログラムに係り、特に、検索クエリに基づき文書の集合を検索した検索結果をランキングするためのランキング関数で用いるサポートベクタを選択するサポートベクタ選択装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来より、ウェブ検索システムのような検索システムにおいては、ＴＦ−ＩＤＦのようなクエリ頻度に基づくスコアや、ＰａｇｅＲａｎｋのようなリンク解析に基づくスコアなど、多数の要因（スコア要因と呼ぶ）を用いて、最終的なランキングに用いる検索スコアを算出する方法が知られている（例えば、非特許文献１）。また、算出された検索スコアの降順に並べることによって、ランキングを行った検索結果を提示する方法が広く用いられている。
【０００３】
ここで、多数のスコア要因を入力として受け取り、検索スコアを出力する関数をランキング関数と呼ぶ。適合度に沿ったランキングを実現するために、人手によって作成した訓練データを用いて、ランキング関数を生成する技術が知られている（例えば、非特許文献２）。
【０００４】
このランキング関数を生成する技術では、訓練データを文章の順序ペアに落とし込み、順序ペアの誤りを最小化することで、適切にランキングを行うランキング関数を生成している。
【０００５】
中でも、スコア要因の非線形結合を考慮するカーネル法を用いたランキング関数生成手法が知られている（例えば、非特許文献３）。この方法では、訓練データに含まれる文書の順序ペアに対して重みを計算し、保持する。このような順序ペアをサポートベクタと呼んでいる。予測フェーズでは入力文書に対して、入力文書と各サポートベクタとの類似度の重み付け和でスコアを計算する。この類似度計算に用いられる関数をカーネル関数と呼ぶ。
【０００６】
ただし、上記の非特許文献３に記載されているような、逐次的にカーネルを用いた学習を行う手法の場合、サポートベクタ数は増加し続けてしまう。サポートベクタ数が増えると、入力文書の予測に時間がかかるため、学習と予測の処理速度が低下するという問題がある。
【０００７】
そこで、従来技術では、保持するサポートベクタ数に上限を設け、取捨選択を行うことによって、処理速度の低下を防ぐ手法を用いている（例えば、非特許文献４）。これらの方法には、サポートベクタをランダムに選択する手法や訓練データに対する分類誤差に基づいてサポートベクタの取捨選択を行う手法などがある。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】竹野浩，井上孝史，「分散型高速情報収集／全文検索システムＩｎ−ｆｏＢｅｅ／Ｅｖａｎｇｅｌｉｓｔ」，ＮＴＴ  Ｒ＆Ｄ，Ｖｏｌ．５２（２），２００３，ｐｐ・７８−８４．
【非特許文献２】Ｔｈｏｒｓｔｅｎ  Ｊｏａｃｈｉｍｓ，“Ｏｐｔｉｍｉｚｉｎｇ  ｓｅｒｃｈ  ｅｎｇｉｎｅｓ  ｕｓｉｎｇ  ｃｌｉｃｋｔｈｒｏｕｇｈ  ｄａｔａ”，Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ｅｉｇｈｔｈ  ＡＣＭ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｋｎｏｗｌｅｄｇｅ  Ｄｉｓｃｏｖｅｒｙ  ａｎｄ  Ｄａｔａ  ｍｉｎｉｎｇ  （ＫＤＤ’０２），ｐｐ．１３３−１４２，２００２．
【非特許文献３】Ｘｕｅ−ｗｅｎ  Ｃｈｅｎ，Ｈａｉｘｕｎ  Ｗａｎｇ，  Ｘｉａｏｔｏｎｇ  Ｌｉｎ，“Ｌｅａｒｎｉｎｇ  ｔｏ  ｒａｎｋ  ｗｉｔｈ  ａ  ｎｏｖｅｌ  ｋｅｒｎｅｌ  ｐｅｒｃｅｐｔｒｏｎ  ｍｅｔｈｏｄ”，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ｔｈｅ  １８ｔｈ  ＡＣＭ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｆｏｍａｔｉｏｎ  ａｎｄ  ｋｎｏｗｌｅｄｇｅ  ｍａｎａｇｅｍｅｎｔ（ＣＩＫＭ  ’０９），ｐｐ．５０５−５１２，２００９．
【非特許文献４】Ｚｈｕａｎｇ  Ｗａｎｇ，Ｓｌｏｂｏｄａｎ  Ｖｕｃｅｔｉｃ，“Ｏｎｌｉｎｅ  Ｐａｓｓｉｖｅ−Ａｇｇｒｅｓｓｉｖｅ  Ａｌｇｏ−ｒｉｔｈｍｓ  ｏｎ  ａ  Ｂｕｄｇｅｔ”，  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １３ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｎｄ  Ｓｔａｔｉｓｔｉｃｓ（ＡＩＳＴＡＴＳ），ｐｐ．９０８−９１５，２０１０．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
順序づけられた検索結果の集合に対して、適合性評価をもとに算出される検索評価指標は、検索クエリが含まれる文書を全てランキングしなければ計算することができないため、従来技術では検索評価指標を考慮することができない。このため、上記の非特許文献４に記載の方法を用いてサポートベクタの選択を行った場合は、ランキング精度が低下してしまう、という問題がある。
【００１０】
本発明は、上記の事情を鑑みてなされたもので、ランキング精度の低下を抑制して、サポートベクタの数を減らすことができるサポートベクタ選択装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために第１の発明に係るサポートベクタ選択装置は、入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いるサポートベクタの組を生成する装置であって、訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各訓練用検索クエリについて記憶した訓練データベースと、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するランキング関数生成手段と、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価する検索評価手段と、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組を、前記暫定ランキング関数から除外したものを、前記検索用ランキング関数で用いるサポートベクタの組とするサポートベクタ選択手段と、を含んで構成されている。
【００１２】
第２の発明に係るサポートベクタ選択方法は、訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各訓練用検索クエリについて記憶した訓練データベース、ランキング関数生成手段、検索評価手段、及びサポートベクタ選択手段を含み、入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いるサポートベクタの組を生成する装置におけるサポートベクタ選択方法であって、前記装置は、前記ランキング関数生成手段によって、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するステップと、前記検索評価手段によって、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価するステップと、前記サポートベクタ選択手段によって、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組を、前記暫定ランキング関数から除外したものを、前記検索用ランキング関数で用いるサポートベクタの組とするステップと、を含んで実行することを特徴とする。
【００１３】
第１の発明及び第２の発明によれば、ランキング関数生成手段によって、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習する。
【００１４】
そして、前記検索評価手段によって、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価する。前記サポートベクタ選択手段によって、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組を、前記暫定ランキング関数から除外したものを、前記検索用ランキング関数で用いるサポートベクタの組とする。
【００１５】
このように、評価指標の減少への影響が少ないサポートベクタの組を、ランキング関数で用いるサポートベクタの組から除外することにより、ランキング精度の低下を抑制して、サポートベクタの組の数を減らすことができる。
【００１６】
第３の発明に係るランキング関数生成装置は、入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いる重みを生成する装置であって、訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各検索クエリについて記憶した訓練データベースと、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するランキング関数生成手段と、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価する検索評価手段と、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組に対する前記重みを０に設定するサポートベクタ選択手段と、を含んで構成されている。
【００１７】
第４の発明に係るランキング関数生成方法は、訓練用検索クエリに対する検索結果の各文書について求められた特徴値及び前記訓練用検索クエリに対する適合度を、各検索クエリについて記憶した訓練データベース、ランキング関数生成手段、検索評価手段、及びサポートベクタ選択手段を含み、入力された検索クエリに基づき文書の集合を検索した検索結果をランキングするための、複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する検索用ランキング関数で用いる重みを生成する装置におけるサポートベクタ選択方法であって、前記装置は、前記ランキング関数生成手段によって、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習するステップと、前記検索評価手段によって、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価するステップと、前記サポートベクタ選択手段によって、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組に対する前記重みを０に設定するステップと、を含んで実行することを特徴とする。
【００１８】
第３の発明及び第４の発明によれば、前記ランキング関数生成手段によって、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の特徴値及び適合度に基づいて、複数の文書を示す複数のサポートベクタと前記サポートベクタの組各々に対する重みとを用いて検索スコアを算出する暫定ランキング関数における前記複数のサポートベクタ及び前記サポートベクタの組各々に対する重みを学習する。
【００１９】
そして、前記検索評価手段によって、各サポートベクタの組について、該サポートベクタの組を使わない前記暫定ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、該サポートベクタの組を使わない場合の、ランキングされた検索結果に対する評価を示す評価指標の減少への影響を評価する。前記サポートベクタ選択手段によって、前記検索評価手段によって評価された前記評価指標の減少への影響が少ないサポートベクタの組に対する前記重みを０に設定する。
【００２０】
このように、評価指標の減少への影響が少ないサポートベクタまたはサポートベクタの組に対する重みを０に設定することにより、ランキング精度の低下を抑制して、サポートベクタの組の数を減らすことができる。
【００２１】
上記の第１の発明に係る前記検索評価手段は、サポートベクタの各組について、該サポートベクタの組を使わない前記ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、各訓練用検索クエリに対して該サポートベクタの組を使わない場合の評価指標を算出し、前記評価指標の平均値を、前記評価指標の最大値から減算した値を、該サポートベクタの組の影響度スコアとして算出し、前記サポートベクタ選択手段は、前記検索評価手段によって算出された前記影響度スコアが小さいサポートベクタの組を、前記ランキング関数で用いるサポートベクタの組から除外するようにすることができる。
【００２２】
上記の第３の発明に係る前記検索評価手段は、サポートベクタの各組について、該サポートベクタの組を使わない前記ランキング関数により算出される検索スコアに基づいて、各訓練用検索クエリに対する検索結果をランキングし、各訓練用検索クエリに対してランキングされた検索結果と、前記訓練データベースに記憶された各訓練用検索クエリに対する検索結果の各文書の適合度とに基づいて、各訓練用検索クエリに対して該サポートベクタの組を使わない場合の評価指標を算出し、前記評価指標の平均値を、前記評価指標の最大値から減算した値を、該サポートベクタの組の影響度スコアとして算出し、前記サポートベクタ選択手段は、前記検索評価手段によって算出された前記影響度スコアが小さいサポートベクタの組に対する前記重みを０に設定するようにすることができる。
【００２３】
本発明に係るプログラムは、コンピュータを、上記のサポートベクタ選択装置の各手段として機能させるためのプログラムである。
【発明の効果】
【００２４】
以上説明したように、本発明のサポートベクタ選択装置、方法、及びプログラムによれば、評価指標の減少への影響が少ないサポートベクタの組を、ランキング関数で用いるサポートベクタの組から除外することにより、あるいは、評価指標の減少への影響が少ないサポートベクタの組に対する重みを０に設定することにより、ランキング精度の低下を抑制して、サポートベクタの組の数を減らすことができる、という効果が得られる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施の形態に係るランキング関数生成装置の構成を示す概略図である。
【図２】本発明の第１の実施の形態に係る文書検索装置の構成を示す概略図である。
【図３】本発明の第１の実施の形態に係るランキング関数生成装置における検索評価処理ルーチンの内容を示すフローチャートである。
【図４】本発明の第１の実施の形態に係るランキング関数生成装置におけるサポートベクタペア選択処理ルーチンの内容を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る文書検索装置における文書検索処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２７】
〔第１の実施の形態〕
＜システム構成＞
本発明の第１の実施の形態に係るランキング関数生成装置１００は、学習時に学習用として与えられた訓練データを入力として受け取り、後述するサポートベクタデータベース２３とサポートベクタペア重みデータベース２４の記憶内容を出力する。このランキング関数生成装置１００は、ＣＰＵと、ＲＡＭと、後述する検索評価処理ルーチン及びサポートベクタペア選択処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１に示すように、ランキング関数生成装置１００は、入力部１０と、演算部２０と、出力部３０とを備えている。
【００２８】
入力部１０は、入力された訓練データとして、訓練用検索クエリのＩＤと、検索結果文書の複数の特徴値からなる特徴表現と、訓練用検索クエリに対する適合度とを含むデータを複数受け付ける。
【００２９】
演算部２０は、訓練データデータベース２１、ランキング関数生成部２２、サポートベクタデータベース２３、サポートベクタペア重みデータベース２４、検索評価部２５、サポートベクタペアスコアデータベース２６、及びサポートベクタ選択部２７を備えている。
【００３０】
訓練データデータベース２１は、入力部１０により受け付けた複数の訓練データを記憶する。訓練データデータベース２１のデータ構造の例を以下の表１に示す。
【００３１】
【表１】
0005684077.tif 000002
【００３２】
表１において、それぞれの行が、ある訓練用検索クエリに対する検索結果文書の特徴表現と当該訓練用検索クエリに対する検索結果文書の適合度を表している。適合度が高い方が、当該訓練用検索クエリに対してより適切な検索結果であることを示している。適合度は、訓練用検索クエリ及び当該訓練用検索クエリに対する検索結果文書の組み合わせに対して付与されている。このため、たとえ同じ文書であっても、訓練用検索クエリによっては異なる適合度が付与されることがある。すなわち、同じ文書であっても、表１では複数の行に記載され、検索結果文書の特徴表現としては同じ特徴値を有するものの、それぞれ異なるクエリＩＤと適合度と組み合わせられて記憶されている。なお、適合度は、検索結果文書が検索クエリに関する情報をどれだけ適切に含んでいるかという観点で、予め付与されるものであり、例えば被験者が判断して付与した多段階（例えば５段階）の値を用いる。各文書はＭ次元の特徴表現で表され、ｘ１、．．．、ｘＭは当該文書の各次元の特徴値を表している。
【００３３】
ランキング関数生成部２２は、訓練データデータベース２１に記憶された複数の訓練データに基づいて、訓練用検索クエリに対して相対的に高い適合度の文書が、当該訓練用検索クエリの検索結果の上位に提示されるような検索スコアを出力するように、複数のサポートベクタ、及びサポートベクタペアに対する重みを用いた暫定ランキング関数の複数のサポートベクタ、及びサポートベクタペアに対する重みを学習する。例えば、ある訓練用検索クエリに対する検索結果に含まれる２つの文書による組であるサポートベクタペアに対して、当該訓練用検索クエリに対する適合度が相対的に高い文書に対して算出される検索スコアが大きくなるように、当該サポートベクタペアの重みを学習する。学習方法として、例えば、非特許文献（Ｘｕｅ−ｗｅｎ  Ｃｈｅｎ，Ｈａｉｘｕｎ  Ｗａｎｇ，  Ｘｉａｏｔｏｎｇ  Ｌｉｎ．  Ｌｅａｒｎｉｎｇ  ｔｏ  ｒａｎｋ  ｗｉｔｈ  ａ  ｎｏｖｅｌ  ｋｅｒｎｅｌ  ｐｅｒｃｅｐｔｒｏｎ  ｍｅｔｈｏｄ．  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇ  ｏｆ  ｔｈｅ  １８ｔｈ  ＡＣＭ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｆｏｍａｔｉｏｎ  ａｎｄ  ｋｎｏｗｌｅｄｇｅ  ｍａｎａｇｅｍｅｎｔ（ＣＩＫＭ  ’０９），ｐｐ．５０５−５１２，２００９．）に記載された方法を用いることができる。
【００３４】
ランキング関数生成部２２が求めた複数のサポートベクタは、サポートベクタデータベース２３に記憶される。サポートベクタデータベース２３のデータの例を表２に示す。
【００３５】
【表２】
0005684077.tif 000003
【００３６】
表２に示すように、サポートベクタデータベース２３は、サポートベクタとして、訓練データデータベース２１に記憶された文書のうちのランキング関数生成部２２が求めサポートベクタペアに含まれる文書の特徴表現、すなわちｘ１、．．．、ｘＭに相当する情報と、当該文書のＩＤであるサポートベクタＩＤとを対応付けて記憶している。ひとつのサポートベクタペアは２つの文書の特徴表現から構築されるため、サポートベクタデータベース２３にランキング関数生成部２２が求めた全てのサポートベクタペアを記憶しておくことも可能である。しかし、データベースの冗長性排除のため、本実施の形態では、ランキング関数生成部２２が求めたサポートベクタペアに含まれる全ての文書の特徴表現を１文書１行で格納している。
【００３７】
ランキング関数生成部２２が求めた各サポートベクタペアに対する重みは、サポートベクタペア重みデータベース２４に記憶される。サポートベクタペア重みデータベース２４のデータの例を表３に示す。
【００３８】
【表３】
0005684077.tif 000004
【００３９】
表３に示すように、サポートベクタペア重みデータベース２４は、各サポートベクタペアについて、サポートベクタペアを構成するサポートベクタのＩＤと、サポートベクタペアに対する重みとを対応付けて記憶している。例えば、表２の１行目と２行目のデータは、それぞれサポートベクタＩＤが１と２であるため、これらのサポートベクタにより構成されるサポートベクタペアに対する重みは、表３の一行目に格納されている０．３という値である。
【００４０】
検索評価部２５は、サポートベクタデータベース２３、サポートベクタペア重みデータベース２４、及び訓練データデータベース２１の各々の記憶内容を入力とし、以下に説明するように、各サポートベクタペアに対する影響度スコアを出力する。検索評価部２５は、あるサポートベクタペアを取り除いた際の評価指標の減少値を、当該サポートベクタペアに対する影響度スコアとして算出する。
【００４１】
まず、検索評価部２５は、各サポートベクタペアについて、当該サポートベクタペアの重みαijを０とし、他のサポートベクタペアについてはサポートベクタペア重みデータベース２４に記憶された重みを用いて、訓練データデータベース２１に記憶されている全ての訓練用検索クエリの各々について、検索結果である文書集合のランキングを行う。これは、一時的に、当該サポートベクタペアを除外し、当該サポートベクタペア以外のサポートベクタペアを用いてランキングを行なうことに相当する。
【００４２】
ランキングされた検索結果の文書集合について訓練データデータベース２１に記憶された訓練用検索クエリに対する適合度を用いて、検索結果である文書集合のランキングの良し悪し（検索結果の上位に提示されるべき文書が上位にランキングされているか否か）を評価する評価指標を算出する。評価指標としては、例えば、非特許文献（Ｋａｌｅｒｖｏ  Ｊａｒｖｅｌｉｎ  ａｎｄ  ｊａａｎａ  ｋｅｋａｌａｉｎｅｎ．Ｃｕｍｕｌａｔｅｄ  ｇａｉｎ−ｂａｓｅｄ  ｅｖａｌｕａｔｉｏｎ  ｏｆ  ＩＲ  ｔｅｃｈｎｉｑｕｅｓ．ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ，２０（４），ｐｐ。４２２−４４６，２００２．）に記載されているＮｏｒｍａｌｉｚｅｄ  Ｄｉｓｃｏｕｎｔｅｄ  Ｃｕｍｕｌａｔｉｖｅ  Ｇａｉｎ（ＮＤＣＧ）を用いることができる。ＮＤＣＧは多値の適合度に対して用いられ、適合度を２の指数とした値を、順位の値の対数で割ることによって、検索結果上位の評価結果を重視するよう設計された評価指標である。
【００４３】
例えば、訓練用検索クエリｑにおけるｉ番目の文書の適合度をｙｑ，ｉとすると、訓練用検索クエリｑに対する検索結果上位ｋ件に対するＮＤＣＧの値は、以下の(１)式、(２)式に従って計算される。
【００４４】
【数１】
0005684077.tif 000005
【００４５】
ここでｍａｘＤＣＧｑ＠ｋは、訓練用検索クエリｑにおいて適合度が高い順番に文書を並べた理想的なランキングに対するＤＣＧ＠ｋの値を表す。上記(２)式に示すように、正規化されているため、ＮＤＣＧ∈（０、１］となる。
【００４６】
各訓練用検索クエリについて算出された評価指標の合計値をＥとして、以下の式に従って、一時的に除外したサポートベクタペアの影響度スコアを算出する。
【００４７】
影響度スコア＝１．０−Ｅ／｜Ｑ｜
【００４８】
ただし、｜Ｑ｜は訓練データデータベース２１に含まれる訓練用検索クエリの数である。
【００４９】
ここで、Ｅ／｜Ｑ｜を、評価指標の最大値である１．０から引いてエラー値としているのは、当該サポートベクタペアのランキング精度に対する影響度を、そのサポートベクタペアを除外した際のエラー値の大きさで表現するためである。すなわち、サポートベクタペアを除外しても評価指標が下がらないものは、影響度スコアが小さく設定されるようにしている。
【００５０】
検索評価部２５が出力した各サポートベクタペアに対する影響度スコアは、サポートベクタペアスコアデータベース２６に記憶される。サポートベクタペアスコアデータベース２６のデータの例を表４に示す。
【００５１】
【表４】
0005684077.tif 000006
【００５２】
表４に示すように、サポートベクタペアスコアデータベース２６は、各サポートベクタペアについて、当該サポートベクタペアを構成するサポートベクタのＩＤと、当該サポートベクタペアの影響度を示す影響度スコアとを対応付けて記憶している。
【００５３】
サポートベクタ選択部２７は、サポートベクタペアスコアデータベース２６の記憶内容を入力とし、サポートベクタペアに対する影響度スコアに基づいて、ランキング精度に対する影響（評価指標の減少への影響）が少ないサポートベクタペアを選択し、サポートベクタペア重みデータベース２４に記憶された、選択されたサポートベクタペアに対する重みを０に更新する。
【００５４】
図示しない制御部が、ランキング関数生成部２２、検索評価部２５、及びサポートベクタ選択部２７による一連の処理を、予め定められた回数だけ繰り返し実行するように制御する。最終的に得られたサポートベクタデータベース２３及びサポートベクタペア重みデータベース２４の記憶内容を、出力部３０が出力する。
【００５５】
出力部３０が出力したサポートベクタデータベース２３及びサポートベクタペア重みデータベース２４の記憶内容は、図２に示すような、検索クエリに基づいて文書の集合を検索する文書検索装置１５０に入力される。
【００５６】
文書検索装置１５０は、検索クエリを入力として受け取り、検索クエリに基づいて文書の集合を検索し、ランキングに応じて並べた文書の集合を、検索結果として出力する。この文書検索装置１５０は、ＣＰＵと、ＲＡＭと、後述する文書検索処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図２に示すように、文書検索装置１５０は、入力部５０と、演算部６０と、出力部７０とを備えている。
【００５７】
入力部５０は、入力された検索クエリを受け付ける。また、入力部５０は、入力されたサポートベクタデータベース２３及びサポートベクタペア重みデータベース２４の記憶内容を受け付ける。
【００５８】
演算部６０は、文書インデックスデータベース６１、クエリ処理部６２、サポートベクタデータベース６３、サポートベクタペア重みデータベース６４、検索スコア計算部６５、及び検索結果提示部６６を備えている。
【００５９】
文書インデックスデータベース６１は、検索対象の各文書に対して、各単語の出現頻度を示すインデックスを記憶している。
【００６０】
クエリ処理部６２は、入力された検索クエリ、及び文書インデックスデータベース６１の各文書のインデックスに基づいて、検索クエリを含む文書の集合の取得を行うと共に、取得された文書の集合についてスコア要因値行列Ｄを算出する。具体的には、文書インデックスデータベース６１からｋ件の検索結果集合を取得した際、そのスコア要因値行列は、Ｍ個のスコア要因を用いて、以下の（３）式で表現される。
【００６１】
【数２】
0005684077.tif 000007
【００６２】
ここで、ｄＴはベクトルｄの転置を表す。また、Ｄのｉ行列がｉ番目の検索結果のスコア要因値を表している。たとえば、ｄ２３は、２番目の文書に対する３番目のスコア要因値である。また、ｄ１はＭ次元のベクトルで、１番目の文書スコア要因値を表す。
【００６３】
サポートベクタデータベース６３は、入力されたサポートベクタデータベース２３の記憶内容を記憶する。すなわち、サポートベクタデータベース６３は、上記表２に示すように、各サポートベクタとして、文書の特徴表現と、サポートベクタＩＤとを対応付けて記憶している。
【００６４】
サポートベクタペア重みデータベース６４は、入力されたサポートベクタペア重みデータベース２４の記憶内容を記憶する。すなわち、サポートベクタペア重みデータベース６４は、上記表３に示すように、サポートベクタデータベース６３に記憶されたサポートベクタペアを構成するサポートベクタのＩＤと、サポートベクタペアに対する重みとを対応付けて記憶している。
【００６５】
検索スコア計算部６５は、クエリ処理部６２が出力したスコア要因値行列Ｄ、サポートベクタデータベース６３に記憶された各サポートベクタ、及びサポートベクタペア重みデータベース６４に記憶された各サポートベクタペアの重みを入力として受けとり、重みが０ではないサポートベクタペアのみを用いて、各文書の検索スコアを計算する。
【００６６】
スコア要因行列の各行要素ｄｋのスコア、すなわちｋ番目の文書に対する検索スコアｓｋは、以下の（４）式に示す検索用ランキング関数に従って計算される。
【００６７】
【数３】
0005684077.tif 000008
【００６８】
ここで、Ｋ（・，・）は、類似度を計算するためのカーネル関数であり、予め設定されているものとする。また、αijは、サポートベクタペアの重みであり、ｘi，ｘjは、サポートベクタペアを構成するサポートベクタそれぞれの特徴表現である。また、ｓｖは、重みが０ではないサポートベクタペアを構成するサポートベクタＩＤの組の集合である。
【００６９】
検索結果提示部６６は、検索スコア計算部６５より、検索された各文書に対する検索スコアｓｋからなる検索スコアベクトルｓを受け取り、検索スコアｓｋの降順に、検索クエリに対する検索結果を提示する。
【００７０】
検索結果提示部６６により提示された検索クエリに対する検索結果は、出力部７０によりユーザに対して表示される。
【００７１】
＜ランキング関数生成装置の作用＞
次に、本実施の形態に係るランキング関数生成装置１００の作用について説明する。まず、複数の訓練データがランキング関数生成装置１００に入力されると、ランキング関数生成装置１００によって、入力された複数の訓練データが、訓練データデータベース２１へ記憶される。そして、ランキング関数生成装置１００において、ランキング関数生成部２２によって、訓練データデータベース２１の訓練データに基づいて、暫定ランキング関数のサポートベクタ及び各サポートベクタペアの重みが学習され、得られた各サポートベクタのデータがサポートベクタデータベース２３に記憶され、各サポートベクタペアの重みがサポートベクタペア重みデータベース２４に記憶される。
【００７２】
そして、ランキング関数生成装置１００によって、図３に示す検索評価処理ルーチンが実行される。
【００７３】
まず、ステップＳ１０１において、サポートベクタデータベース２３から、未処理のサポートベクタペアを選択し、サポートベクタペア重みデータベース２４に記憶されている、当該選択されたサポートベクタペアの重みαｉｊを０とする。
【００７４】
そして、ステップＳ１０２において、当該サポートベクタペアを利用しなかった場合の評価値の計算に用いる変数をＥとし、初期値を０とする。次のステップＳ１０３では、訓練データデータベース２１に登録されている訓練用検索クエリから未処理のクエリｑを選択し、訓練用検索クエリｑを含む文書集合の検索結果を、訓練データデータベース２１から取得し、現在のサポートベクタペアの重み及び上記（４）式の検索スコアを用いて、訓練用検索クエリｑの検索結果である文書集合のランキングを行う。
【００７５】
そして、ステップＳ１０４では、ランキングされた文書集合に対して、訓練データデータベース２１に記憶された、各文書に対する適合度に基づいて、評価指標を算出し、Ｅｃｕｒとする。また、以下の（５）式に従って、変数Ｅに、Ｅｃｕｒを加算する。
【００７６】
Ｅ←Ｅ＋Ｅｃｕｒ      ・・・（５）
【００７７】
次のステップＳ１０５では、訓練データデータベース２１に登録されている訓練用検索クエリのうち、未処理の訓練用検索クエリがあるか否かを判定する。未処理の訓練用検索クエリがある場合には、上記ステップＳ１０３へ戻り、未処理の訓練用検索クエリを選択する。一方、未処理の訓練用検索クエリがない場合には、ステップＳ１０６へ移行する。
【００７８】
ステップＳ１０６では、評価指標の平均値に基づいて、影響度スコアを算出する。
【００７９】
上記の式に従って計算したＥの値を、選択したサポートベクタペアの影響度スコアとして、サポートベクタペアスコアデータベース２６に記憶する。ここで、Ｅを最大値である１．０から引いてエラー値としているのは、当該サポートベクタペアの影響度を、そのサポートベクタペアを取り除いた際のエラー値の大きさで表現するためである。すなわち、サポートベクタペアを取り除いても評価指標が下がらないものは、影響度スコアが小さく設定されるようにしている。また、０に設定した、当該選択されたサポートベクタペアの重みαｉｊを、サポートベクタペア重みデータベース２４に記憶されている元の重みに戻す。
【００８０】
そして、ステップＳ１０７において、サポートベクタペア重みデータベース２４に記憶されているサポートベクタペアのうち、未処理のサポートベクタペアがあるか否かを判定する。未処理のサポートベクタペアがある場合には、上記ステップＳ１０１へ戻り、当該未処理のサポートベクタペアを選択する。一方、未処理のサポートベクタペアがない場合には、検索評価処理ルーチンを終了する。
【００８１】
上記検索評価処理ルーチンを実行することにより、各サポートベクタペアについて、評価指標の減少への影響を示す影響度スコアが得られ、サポートベクタペアスコアデータベース２６に記憶される。
【００８２】
次に、ランキング関数生成装置１００によって、図４に示すサポートベクタペア選択処理ルーチンが実行される。
【００８３】
まず、ステップＳ１１０において、サポートベクタペア重みデータベース２４から、記憶されている重みが０でないサポートベクタペアの数を取得し、事前に設定されたサポートベクタペアの上限数から、削除するサポートベクタペアの数を計算し、ｖとする。
【００８４】
そして、ステップＳ１１１において、サポートベクタペアスコアデータベース２６に格納された各行について、影響度スコアの降順に並び替え、事前に設定した下位ｖ件を選択し、集合Ｐとする。
【００８５】
次のステップＳ１１２では、上記ステップＳ１１１で選択されたサポートベクタペアの集合Ｐから、未処理のサポートベクタペアｐを取得する。そして、ステップＳ１１３では、サポートベクタペア重みデータベース２４において、サポートベクタペアｐに該当するペア重みを０に設定する。これにより、当該サポートベクタペアを削除し、暫定ランキング関数への影響をなくす。
【００８６】
ステップＳ１１４では、未処理のサポートベクタペアが集合Ｐに存在するか否かを判定する。未処理のサポートベクタペアが存在する場合には、ステップＳ１１２へ戻るが、未処理のサポートベクタペアが存在しない場合には、サポートベクタペア選択処理ルーチンを終了する。
【００８７】
上記の暫定ランキング関数の学習処理、上記の検索評価処理ルーチン、及び上記のサポートベクタペア選択処理ルーチンからなる一連の処理が、予め定められた回数だけ、繰り返して行われる。
【００８８】
＜文書検索装置の作用＞
上記の暫定ランキング関数の学習処理、上記の検索評価処理ルーチンの実行、及び上記のサポートベクタペア選択処理ルーチンの実行が、繰り返し行われると、サポートベクタデータベース２３及びサポートベクタペア重みデータベース２４の記憶内容が、出力部３０により出力され、文書検索装置１５０に入力される。文書検索装置１５０のサポートベクタデータベース６３及びサポートベクタペア重みデータベース６４に、入力されたデータが記憶される。
【００８９】
そして、検索クエリが文書検索装置１５０に入力されると、文書検索装置１５０によって、図５に示す文書検索処理ルーチンが実行される。
【００９０】
まず、ステップＳ１２０において、入力された検索クエリを受け付け、ステップＳ１２１において、文書インデックスデータベース６１に記憶された各文書のインデックスに基づいて、入力された検索クエリを含む文書集合を取得する。また、取得した文書集合の各文書について、スコア要因値行列Ｄを計算する。
【００９１】
次のステップＳ１２２では、上記ステップＳ１２１で取得した文書集合の各文書について、上記ステップＳ１２１で計算したスコア要因値行列Ｄ、サポートベクタデータベース６３に記憶された各サポートベクタ、及びサポートベクタペア重みデータベース６４に記憶された重みが０ではないサポートベクタペアの重みに基づいて、上記（４）式に従って、検索スコアｓｋを算出する。
【００９２】
そして、ステップＳ１２３において、上記ステップＳ１２２で算出した各文書の検索スコアｓｋに基づいて、検索スコアｓｋの降順に、検索クエリに対する検索結果を提示するデータを生成する。ステップＳ１２４において、上記ステップＳ１２３で生成された検索結果を提示するデータを、出力部３０によりユーザに対して出力して、文書検索処理ルーチンを終了する。
【００９３】
以上説明したように、第１の実施の形態に係るランキング関数生成装置によれば、評価指標の減少への影響を示す影響度スコアが小さいサポートベクタペアに対する重みを０に設定し、重みが０であるサポートベクタペアを検索スコアの算出対象としないことにより、ランキング精度の低下を抑制して、サポートベクタペアの数を減らすことができる。
【００９４】
また、訓練データ全体を用いて、検索結果のランキングに関する評価指標を計算することにより、評価指標に基づいてサポートベクタペアの選択を行うことが可能となり、検索に関する評価指標の観点で最適なランキング関数を生成することが可能となる。よって、検索ランキングの精度の向上が可能となる。
【００９５】
また、訓練データとして、オンライン学習で遂次的にデータが追加される場合であっても、サポートベクタペアの増加を防止することができる。
【００９６】
〔第２の実施の形態〕
次に、第２の実施の形態について説明する。なお、第２実施の形態に係るランキング関数生成装置及び文書検索装置の構成は、サポートベクタペア重みＤＢ２４の代わりにサポートベクタ重みＤＢを備え、サポートベクタペアスコアデータベース２６の代わりにサポートベクタスコアデータベースを備える以外は第１の実施の形態と同様であるため、同一符号を付して説明を省略する。
【００９７】
第２の実施の形態では、サポートベクタ毎に与えた重みを用いたランキング関数によって、検索スコアを計算し、影響度スコアが小さいサポートベクタの重みを０にしている点が、第１の実施の形態と異なっている。以下では、第１の実施の形態と異なる部分のみについて説明する。
【００９８】
ランキング関数生成部２２は、複数のサポートベクタ及び各サポートベクタに対する重みを用いた暫定ランキング関数の複数のサポートベクタ及び各サポートベクタに対する重みを学習する。例えば、ある訓練用検索クエリに対する検索結果に含まれる１つの文書を示すサポートベクタに対して、当該訓練用検索クエリに対する適合度が相対的に高い文書に対して算出される検索スコアが大きくなるように、当該サポートベクタの重みを学習する。ランキング関数生成部２２が求めた各サポートベクタに対する重みは、サポートベクタ重みデータベースに記憶される。サポートベクタ重みデータベースは、各サポートベクタペアについて、サポートベクタのＩＤと、サポートベクタに対する重みとを対応付けて記憶する。
【００９９】
なお、本実施形態の場合は、サポートベクタデータベース２３とサポートベクタ重みデータベースとを統合したものを１つのデータベースとすることもできる。具体的には、統合した１つのデータベースには、サポートベクタのＩＤと、サポートベクタに対応する文書の特徴表現と、サポートベクタに対する重みとを対応付けて記憶する。そして、以降の処理では、サポートベクタデータベース２３とサポートベクタ重みデータベースの代わりに、統合した１つのデータベースを用いる。
【０１００】
検索評価部２５は、サポートベクタデータベース２３、サポートベクタ重みデータベース、及び訓練データデータベース２１の各々の記憶内容を入力とし、各サポートベクタに対する影響度スコアを出力する。検索評価部２５は、あるサポートベクタを取り除いた際の評価指標の減少値を、当該サポートベクタに対する影響度スコアとして算出する。検索評価部２５が出力した各サポートベクタに対する影響度スコアは、サポートベクタスコアデータベースに記憶される。サポートベクタスコアデータベースは、各サポートベクタについて、当該サポートベクタのＩＤと、当該サポートベクタの影響度を示す影響度スコアとを対応付けて記憶する。
【０１０１】
サポートベクタ選択部２７は、サポートベクタスコアデータベースの記憶内容を入力とし、サポートベクタに対する影響度スコアに基づいて、ランキング精度に対する影響（評価指標の減少への影響）が少ないサポートベクタを選択し、サポートベクタ重みデータベースに記憶された、選択されたサポートベクタに対する重みを０に更新する。
【０１０２】
図示しない制御部が、ランキング関数生成部２２、検索評価部２５、及びサポートベクタ選択部２７による一連の処理を、予め定められた回数だけ繰り返し実行するように制御する。最終的に得られたサポートベクタデータベース２３及びサポートベクタ重みデータベースの記憶内容を、出力部３０が出力する。
【０１０３】
出力部３０が出力したサポートベクタデータベース２３及びサポートベクタ重みデータベースの記憶内容は、検索クエリに基づいて文書の集合を検索する文書検索装置に入力される。
【０１０４】
入力部５０は、入力された検索クエリを受け付ける。また、入力部５０は、入力されたサポートベクタデータベース２３及びサポートベクタ重みデータベースの記憶内容を受け付ける。
【０１０５】
演算部６０は、文書インデックスデータベース６１、クエリ処理部６２、サポートベクタデータベース６３、サポートベクタ重みデータベース、検索スコア計算部６５、及び検索結果提示部６６を備えている。
【０１０６】
検索スコア計算部６５は、クエリ処理部６２が出力したスコア要因値行列Ｄ、サポートベクタデータベース６３に記憶された各サポートベクタ、及びサポートベクタ重みデータベースに記憶された各サポートベクタの重みを入力として受けとり、重みが０ではないサポートベクタのみを用いて、各文書の検索スコアを計算する。
【０１０７】
スコア要因行列の各行要素ｄｋのスコア、すなわちｋ番目の文書に対する検索スコアｓｋは、以下の（５）式に示す検索用ランキング関数に従って計算される。
【０１０８】
【数４】
0005684077.tif 000009
【０１０９】
ここで、Ｋ（・，・）は、類似度を計算するためのカーネル関数であり、予め設定されているものとする。また、αiは、サポートベクタの重みであり、ｘiは、サポートベクタそれぞれの特徴表現である。また、ｓｖは、重みが０ではないサポートベクタＩＤの集合である。
【０１１０】
以上説明したように、第２の実施の形態に係るランキング関数生成装置によれば、評価指標の減少への影響を示す影響度スコアが小さいサポートベクタに対する重みを０に設定し、重みが０であるサポートベクタを検索スコアの算出対象としないことにより、ランキング精度の低下を抑制して、サポートベクタの数を減らすことができる。
【０１１１】
また、訓練データ全体を用いて、検索結果のランキングに関する評価指標を計算することにより、評価指標に基づいてサポートベクタの選択を行うことが可能となり、検索に関する評価指標の観点で最適なランキング関数を生成することが可能となる。よって、検索ランキングの精度の向上が可能となる。
【０１１２】
また、訓練データとして、オンライン学習で遂次的にデータが追加される場合であっても、サポートベクタの増加を防止することができる。
【０１１３】
〔第３の実施の形態〕
次に、第３の実施の形態について説明する。なお、第３の実施の形態に係るランキング関数生成装置及び文書検索装置の構成は、第１の実施の形態と同様であるため、同一符号を付して説明を省略する。
【０１１４】
第３の実施の形態では、サポートベクタペア重みデータベースから、影響度スコアが小さいサポートベクタペアを削除している点が、第１の実施の形態と異なっている。
【０１１５】
第３の実施の形態に係るランキング関数生成装置では、サポートベクタ選択部２７は、各サポートベクタペアに対する影響度スコアに基づいて、ランキング精度に対する影響（評価指標の減少への影響）が少ないサポートベクタペアについて、サポートベクタペア重みデータベース２４に記憶されたサポートベクタペアの情報、すなわち、当該サポートベクタを構成する各サポートベクタのＩＤと当該サポートベクタペアに対する重みとの組、を削除する。
【０１１６】
また、第２の実施の形態に係る文書検索装置では、検索スコア計算部６５は、ｓｖをサポートベクタペア重みデータベース６４に記憶された全てのサポートベクタペアを構成するサポートベクタＩＤの組の集合として式（４）により各文書の検索スコアを計算する。
【０１１７】
なお、第３の実施の形態に係るランキング関数生成装置及び文書検索装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１１８】
このように、第３の実施の形態に係るランキング関数生成装置によれば、評価指標の減少への影響が少ないサポートベクタペアを、ランキング関数で用いるサポートベクタペアから除外することにより、ランキング精度の低下を抑制して、ランキング関数の計算に必要なサポートベクタペアの数を減らし、かつ、サポートベクタペア重みデータベース２４に記憶しておくサポートベクタペアの数を減らすことができる。
【０１１９】
〔第４の実施の形態〕
次に、第４の実施の形態について説明する。なお、第４の実施の形態に係るランキング関数生成装置及び文書検索装置の構成は、第２の実施の形態と同様であるため、説明を省略する。
【０１２０】
第４の実施の形態では、サポートベクタ重みデータベースから、影響度スコアが小さいサポートベクタを削除している点が、第２の実施の形態と異なっている。
【０１２１】
第４の実施の形態に係るランキング関数生成装置では、サポートベクタ選択部２７は、各サポートベクタに対する影響度スコアに基づいて、ランキング精度に対する影響（評価指標の減少への影響）が少ないサポートベクタについて、サポートベクタ重みデータベースに記憶されたサポートベクタの情報、すなわち、当該サポートベクタのＩＤと当該サポートベクタに対する重みとの組、を削除する。
【０１２２】
また、第４の実施の形態に係る文書検索装置では、検索スコア計算部６５は、ｓｖをサポートベクタ重みデータベースに記憶された全てのサポートベクタを構成するサポートベクタＩＤの集合として式（５）により各文書の検索スコアを計算する。
【０１２３】
なお、第４の実施の形態に係るランキング関数生成装置及び文書検索装置の他の構成及び作用については、第２の実施の形態と同様であるため、説明を省略する。
【０１２４】
このように、第４の実施の形態に係るランキング関数生成装置によれば、評価指標の減少への影響が少ないサポートベクタを、ランキング関数で用いるサポートベクタから除外することにより、ランキング精度の低下を抑制して、ランキング関数の計算に必要なサポートベクタの数を減らし、かつ、サポートベクタ重みデータベースに記憶しておくサポートベクタの数を減らすことができる。
【０１２５】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２６】
例えば、３つ以上のサポートベクタによる組毎に与えた重みを用いたランキング関数によって、検索スコアを計算するようにしてもよい。この場合には、影響度スコアが小さいサポートベクタによる組の重みを０にしたり、影響度スコアが小さいサポートベクタによる組を、ランキング関数で用いるサポートベクタによる組から除外するようにすればよい。
【０１２７】
なお、第１の実施の形態と第２の実施の形態のランキング関数生成装置は、検索用ランキング関数そのものを生成するものではないが、影響度スコアが小さいサポートベクタまたはサポートベクタの組に対する重みを０にすることは、概念的には影響度スコアが小さいサポートベクタまたはサポートベクタの組を用いない検索用のランキング関数を生成することと等価であるため「ランキング関数生成装置」として説明した。影響度スコアが小さいサポートベクタまたはサポートベクタの組に対する重みを０に設定する装置であることを直接的に表現するのであれば、「ランキング関数生成装置」を「サポートベクタ重み設定装置」と称してもよい。また、影響度スコアが小さいサポートベクタまたはサポートベクタの組に対する重みを０にすることは、概念的には影響度スコアが小さいサポートベクタまたはサポートベクタの組を除外することにより検索用のランキング関数で用いるサポートベクタまたはサポートベクタの組を選択していることと等価であるため、「ランキング関数生成装置」を「サポートベクタ選択装置」と称してもよい。
【０１２８】
同様に、第３の実施の形態と第４の実施の形態のランキング関数生成装置も、検索用ランキング関数そのものを生成するものではないが、影響度スコアが小さいサポートベクタまたはサポートベクタの組を削除することは、概念的には影響度スコアが小さいサポートベクタまたはサポートベクタの組を用いない検索用のランキング関数を生成することと等価であるため「ランキング関数生成装置」として説明した。影響度スコアが小さいサポートベクタまたはサポートベクタの組を削除する装置であることを直接的に表現するのであれば、「ランキング関数生成装置」を「サポートベクタ選択装置」と称してもよい。
【０１２９】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に記憶して提供することも可能である。
【符号の説明】
【０１３０】
２１   訓練データデータベース
２２   ランキング関数生成部
２３   サポートベクタデータベース
２４   サポートベクタペア重みデータベース
２５   検索評価部
２６   サポートベクタペアスコアデータベース
２７   サポートベクタ選択部
６３   サポートベクタデータベース
６４   サポートベクタペア重みデータベース
６５   検索スコア計算部
１００ ランキング関数生成装置
１５０ 文書検索装置
【図１】
0005684077.tif 000010
【図２】
0005684077.tif 000011
【図３】
0005684077.tif 000012
【図４】
0005684077.tif 000013
【図５】
0005684077.tif 000014