説明

マージン生成機能を有するランキング関数生成装置を用いた文書検索装置、マージン生成機能を有するランキング関数生成装置を用いた文書検索方法およびマージン生成機能を有するランキング関数生成装置を用いた文書検索プログラム

【課題】ランキング関数生成の性能を向上し検索ランキングの精度向上を実現した文書検索装置を提供する。
【解決手段】訓練データ中の各クエリの異なる適合度の組合せの順序を変更したときの検索結果評価指標値の変更幅を求め、クエリ毎の最大の変更幅を基準にクエリ毎のマージンを求め、該マージンと訓練データによって、相対的に高い適合度の文書が検索結果上位となるスコア要因を保持したランキングモデルDB104を生成しておく。入力された検索クエリに対応するスコア要因重みを前記DB104から取得し、該スコア要因重みと、クエリ処理部150により算出された、検索結果集合とスコア要因を要素とするスコア要因値行列とを検索スコア計算部160で積算し、該算出された検索スコアの降順に入力検索クエリに対応する検索結果を提示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書の検索結果を提示する装置およびその方法に関するものである。
【背景技術】
【0002】
ウェブ検索システムのような検索システムにおいては、TF−IDF(Term Frequency−Inverse Document Frequency)のようなクエリ頻度に基づくスコアや、PageRankのようなリンク解析に基づくスコアなど、多数の要因(スコア要因と呼ぶ)を用いて最終的なランキングに用いる検索スコアを算出する(非特許文献1参照)。そして、算出された検索スコアの降順に並べることによって、ランキングを行った検索結果を提示する方法が広く用いられている。
【0003】
ここで多数のスコア要因を入力として受け取り、検索スコアを出力する関数をランキング関数と呼ぶ。適合度の高いランキングを実現するために、人手によって作成した訓練データを用いて、ランキング関数を生成する技術がある(非特許文献2参照)。
【0004】
非特許文献2では、訓練データを文書の順序ペアに落とし込み、順序ペアの誤りを最小化することで、適切にランキングを行うランキング関数を生成する。
【0005】
尚、本発明の文書検索装置で利用する検索結果評価指標については、下記非特許文献3に記載されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】竹野浩、井上孝史、「分散型高速情報収集/全文検索システムInfoBee/Evangelist」、NTT R&D Vol.52 No.2 2003、pp.78−84。
【非特許文献2】Thorsten Joachims,“Optimizing Search Engines using Clickthrough Data”,In Proceedings of the eighth ACM international conference on Knowledge Discovery and Data mining(KDD ’02),2002,pp.133−142.
【非特許文献3】Kalervo Jarvelin and Jaana Kekalainen,“Cumulated Gain−Based Evaluation of IR Techniques”,ACM Transactions on Information Systems,Vol.20,No.4,2002,pp.422−446.
【発明の概要】
【発明が解決しようとする課題】
【0007】
従来技術では、特徴空間におけるマージン(順序の誤りに対する重要度)は全ての順序ペアに対して一定であった。このため、検索結果上位に来るべき文書や下位に存在すべき文書などを区別することなく、全ての順序ペアを等しく扱う(順序の全組合せに対してマージンの重要度が等しい)という問題があった。このため、特に検索結果上位を重視するような評価指標の観点において、高精度なランキングを実現するランキング関数を生成できないという課題がある。
【0008】
本発明は上記課題を解決するものであり、その目的は、ランキング関数生成の性能を向上し検索ランキングの精度向上を実現した、マージン生成機能を有するランキング関数生成装置を用いた文書検索装置、方法、プログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するための本発明のマージン生成機能を有するランキング関数生成装置を用いた文書検索装置は、N個のクエリに対する文書の検索結果の適合度と、M次元の特徴表現とを有した訓練データが格納された訓練データデータベースと、前記訓練データを入力とし、各クエリにおける複数の異なる適合度の組合せを求め、該組合せの順序を変更したときの検索結果評価指標値の変更幅を求め、前記指標値の最大の変更幅を基準としてクエリ毎に適合度の組合せに対する重要度を表すマージンを求め、N個のクエリと、前記適合度の組合せと、前記求められたマージンとを有したマージンデータベースを構築するマージン生成手段と、前記訓練データデータベースおよびマージンデータベースの各データを入力とし、訓練データ中の相対的に高い適合度の文書を検索結果上位に提示させる検索スコアを出力するためのスコア要因重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成手段と、予めWebページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースと、入力された検索クエリに対する検索結果集合を前記文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理手段と、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースのデータを入力とし、前記入力された検索クエリに対応する前記ランキングモデルデータベース内のランキングモデルとしてのスコア要因重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算手段と、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示手段と、を備えたことを特徴としている。
【発明の効果】
【0010】
本発明によれば、検索評価指標に基づいてそれぞれのクエリにおける適合性評価の各組み合わせに対して適切なマージンを設定することが可能となり、これにより、ランキング関数生成の性能を向上し、検索ランキングの精度向上を実現することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の一実施形態例の文書検索装置全体の構成図。
【図2】図1のランキングモデルDB104を作成するランキング関数生成装置の構成図。
【図3】図2のマージン生成機能部120の処理の流れを示すフローチャート。
【図4】図1の文書検索装置の処理の流れを示すフローチャート。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。まず本発明の一実施形態例の全体構成の概要を説明する。
【0013】
本実施形態例の文書検索装置100は、図1に示すように、予めWebページから収集した文書を基に作成された文書インデクスデータが格納された文書インデクスDB(データベース)101、ランキングモデルのデータが格納されたランキングモデルDB104、クエリ処理手段としてのクエリ処理部150、検索スコア計算手段としての検索スコア計算部160および検索結果提示手段としての検索結果提示部170を備えている。
【0014】
図1のランキングモデルDB104は、図2に示すように、N個のクエリに対する文書の検索結果の適合度と、M次元の特徴表現とを有した訓練データDB102に格納されているデータに基づいて、ランキング関数生成装置110の処理によって構築される。
【0015】
図2のランキング関数生成装置110は、訓練データDB102を入力とし、クエリ毎に文書の検索結果の適合度の組合せに対する重要度(マージン)を生成し、マージンDB103を構築するマージン生成機能部120と、訓練データDB102およびマージンDB103の各データに基づいてランキングモデルを生成してランキングモデルDB104を構築する、ランキング関数生成手段としてのランキング関数生成部130とを備えている。
【0016】
前記マージン生成機能部120およびマージンDB103によってマージン生成手段としてのマージン生成部140を構成している。
【0017】
図1および図2に示す文書検索装置100は、例えばコンピュータにより構成され、通常のコンピュータのハードウェアリソース、例えばROM、RAM、CPU、入力装置、出力装置、表示装置、通信インターフェース、ハードディスク、記録媒体およびその駆動装置を備えている。
【0018】
このハードウェアリソースとソフトウェアリソース(OS、アプリケーションなど)との協働の結果、文書検索装置100は、図1、図2に示すように、文書インデクスDB101、訓練データDB102、マージンDB103、ランキングモデルDB104、ランキング関数生成部130、マージン生成部140、クエリ処理部150、検索スコア計算部160および検索結果提示部170を実装する。
【0019】
前記文書インデクスDB101、訓練データDB102、マージンDB103、ランキングモデルDB104は、ハードディスクあるいはRAMなどの保存手段・記憶手段に構築されているものとする。
【0020】
次に、上記のように構成された装置の詳細を説明する。
【0021】
まず図2において、ランキング関数生成装置110は、訓練データDB102内の訓練データを入力として受け取り、ランキングモデルのデータを出力してランキングモデルDB104を構築する。
【0022】
訓練データDB102のデータ構造の例を表1に示す。
【0023】
【表1】

【0024】
表1において、それぞれの行が、あるクエリに対する検索結果文書の特徴表現と適合度を表している。適合度が大きい方が、当該クエリに対してより適切な結果であることを示している。適合度は、クエリと文書に対して付与されているため、たとえ同じ文書であっても、クエリによっては異なる適合度が付与されることがある。適合度は、例えば被験者が判断して付与した多段階(例えば5段階)の値を用いる。各文書はM次元の特徴表現で表され、x1,..,xMは当該文書の各次元の特徴量を表している。
【0025】
<マージン生成機能部120>
マージン生成機能部120は、訓練データDB102を受け取り、図3のステップS121〜S129に示す処理を行なってマージンDB103を出力する。マージンDB103のデータ構造の例を表2に示す。
【0026】
【表2】

【0027】
表2では、各クエリにおいて、任意の適合度の組み合わせに対するマージンの値を表している。この例では適合度の降順に考え、上位は適合度がより高い値、下位は相対的に低い値とする。例えば表2の1行目の例は、クエリID1のクエリにおいて、適合度4の文書と適合度3の文書に対してどの程度のマージンを与えるかという情報を保持している。
【0028】
まず図3のステップS121において、訓練データDB102から未処理のクエリqを選択する。
【0029】
次にステップS122において、訓練データDB102の中からクエリIDがクエリqに該当するレコードを取得し、該当する文書を適合度順に並べたリストをπqとする。
【0030】
次にステップS123において、クエリqの文書の適合度の集合Rを取得し、適合度の組み合わせRpair={ri,rj∈R|ri>rj}を算出する。ここでは、適合度の高い点数と低い点数の全ての組み合わせを求めている。
【0031】
次にステップS124において、Rpairから未処理の適合度ペアriとrjを取得する。
【0032】
次にステップS125では、πqにおいて、riの適合度を持つ文書の最上位とrjの最下位の文書を交換し、そのリストをπq′とする。ここで、例えばあるクエリに対する8文書が適合度の降順に並べられ、それぞれの適合度が(A,B,C,D,E,F,G,H)=(4,4,4,3,3,2,1,1)のように与えられている例を考える。この際、適合度4の最上位文書はAであり、適合度3の最下位文書はEである。そのため、この二つの文書を交換した文書とその適合度は、(E,B,C,D,A,F,G,H)=(3,4,4,3,4,2,1,1)となる。なお、検索結果評価指標は検索結果の位置とその適合度に対して決定されるため、異なる位置かつ同じ適合度の文書が交換されても値は変わらない。
【0033】
予め与えられた検索結果指標、例えばNormalized Discounted Cumulative Gain(NDCG)の値にしたがって、評価指標の減少値ΔE(ri,rj)=Eval(πq)−Eval(πq′)を計算する(検索結果評価指標値の変更幅を求める)。尚前記NDCGは、非特許文献3の技術を用いて計算することができる。
【0034】
次にステップS126において、未処理のri,rjがある場合にはステップS124に戻り、ない場合にはステップS127に進む。
【0035】
ステップS127では、検索結果指標の減少値そのままではマージンに不適切な値である可能性があるので、最大の減少値を示した組み合わせに対して、予め設定された最大マージンサイズEmaxを与える。すなわち、
【0036】
【数1】

【0037】
を用いてスケールを計算する。
【0038】
次にステップS128において、クエリqにおける全ての適合度の組み合わせに対するマージンをマージンDB103に出力する。マージンはステップS127で計算したスケールをかけて(EscaleΔE(ri,rj))出力する。すなわち、[q,ri,rj,EscaleΔE(ri,rj)]という4つの情報から成るレコードをマージンDB103に出力する。
【0039】
次にステップS129において、未処理のクエリがある場合にはステップS121に戻り、そうでなければ処理を終了する。
【0040】
上記のように、マージン生成機能部120の動作によって、それぞれのクエリにおける適合性評価の各組合せに対してマージンサイズを設定することが可能となる。
【0041】
<ランキング関数生成部130>
ランキング関数生成部130は、訓練データDB102と、マージンDB103を入力として受け取り、訓練データ中の相対的に高い適合度の文書が検索結果上位に提示されるように作用するスコア要因重みを保持したランキングモデルDB104を出力する。
【0042】
ランキングモデルDB104のデータ構造の例を表3に示す。
【0043】
【表3】

【0044】
ランキングモデルDB104は、生成されたランキングモデル、すなわちM次元の特徴表現に対する重み情報を保持しており、表3において、w1,.,wMはM次元の重みの値を表している。
【0045】
ランキング関数生成部130は、入力で与えられた訓練データDB102を元に、相対的に高い適合度の文書が検索結果上位に提示されるような検索スコアを出力するため、重みベクトルwを生成するものである。
【0046】
ランキング関数生成部130には、例えば非特許文献2の技術を用いることができる。ランキング関数生成部130で用いられる目的関数に、マージン生成機能部120によって生成されたマージンDB103を利用する。非特許文献2で用いられるヒンジ誤差にマージンを組み込むためには、下記式(1)のように誤差関数を設定する。
【0047】
【数2】

【0048】
式(1)において、xq(1),xq(2)は、クエリqに対してそれぞれ異なる文書(1)と文書(2)の特徴表現ベクトルを表現している。E(relq(1),relq(2))は、文書(1)と文書(2)の適合度の組み合わせに対するマージンの大きさを表しており、マージンDB103から取得する。また、λは正則化パラメータであり、訓練データにどれだけフィットさせるかという調整する役割を持っている。λを大きな値に設定することによって、訓練データに対して過剰にフィットすることを抑える。λはあらかじめ値を設定しておく(例えば1.0)。
【0049】
ここでrelq(i)がクエリqにおける文書iの適合度スコアを表している。また、zq(1),(2)は文書(1)の適合度スコアと文書(2)の適合度スコアの差を表し、zq(1),(2)≡sign(relq(1)−relq(2))にしたがって算出される。尚signは、値が正であれば1、負であれば−1、0であれば0を返す符号関数である。
【0050】
また、[・]+は、・が正の値を取る場合のみその値を返し、0未満の場合には常に0を返す演算である。
【0051】
ここで
【0052】
【数3】

【0053】
はxを引数として取る関数f(x)の最小値を取る際のxを返す関数である。 全クエリにおける全ての順序ペアについて、式(1)に示す誤差の合計が最小になるようにwを設定する。訓練データDB102を用いた、式(1)を誤差関数とする重みパラメータwの探索には、勾配法などの最適化手法を用いることが可能であり、これらを用いて重みパラメータを求める。
【0054】
次に図1の文書検索装置100の詳細を図4のフローチャートとともに説明する。
【0055】
<クエリ処理部150>
クエリ処理部150は、検索クエリを入力として受け取り、該検索クエリを含む検索結果集合(文書)を文書インデクスDB101から取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出する(ステップS150)。
【0056】
具体的には、M個のスコア要因を用いて、文書インデクスDB101からN件の検索結果集合を取得した際、そのスコア要因値行列は、
【0057】
【数4】

【0058】
と表現する。ここで、Dのi行目がi番目の検索結果のスコア要因値を表している。例えば、d23は、2番目の文書に対する3番目のスコア要因値である。
【0059】
<検索スコア計算部160>
検索スコア計算部160は、クエリ処理部150が出力したスコア要因値行列D、ランキングモデルDB104のデータおよび入力された検索クエリqinputを各々入力として受け取る。
【0060】
検索スコア計算部160は、ランキングモデルDB104からスコア要因重みwを取得し、該スコア要因重みwとスコア要因値行列Dを元に検索スコアベクトルを計算する(ステップS160)。
【0061】
検索ランキングに用いるための検索スコアベクトルsは、スコア要因値行列Dと、スコア要因重みwの積によって得られる。
【0062】
【数5】

【0063】
すなわちi番目の文書に対する検索スコアsiは、
【0064】
【数6】

【0065】
によって算出する。
【0066】
<検索結果提示部170>
検索結果提示部170は、前記算出された検索スコアベクトルsを受け取り、検索スコアsiの降順に、クエリに対する検索結果を提示する(表示、又はデータとして出力する)(ステップS170)。
【0067】
また、本実施形態のマージン生成機能を有するランキング関数生成装置を用いた文書検索装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態のマージン生成機能を有するランキング関数生成装置を用いた文書検索方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばFD(Floppy(登録商標) Disk)や、MO(Magneto−Optical disk)、ROM(Read Only Memory)、メモリカード、CD(Compact Disk)−ROM、DVD(Digital Versatile Disk)−ROM、CD−R、CD−RW、HDD、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【符号の説明】
【0068】
100…文書検索装置
101…文書インデクスDB
102…訓練データDB
103…マージンDB
104…ランキングモデルDB
110…ランキング関数生成装置
120…マージン生成機能部
130…ランキング関数生成部
140…マージン生成部
150…クエリ処理部
160…検索スコア計算部
170…検索結果提示部

【特許請求の範囲】
【請求項1】
N個のクエリに対する文書の検索結果の適合度と、M次元の特徴表現とを有した訓練データが格納された訓練データデータベースと、
前記訓練データを入力とし、各クエリにおける複数の異なる適合度の組合せを求め、該組合せの順序を変更したときの検索結果評価指標値の変更幅を求め、前記指標値の最大の変更幅を基準としてクエリ毎に適合度の組合せに対する重要度を表すマージンを求め、N個のクエリと、前記適合度の組合せと、前記求められたマージンとを有したマージンデータベースを構築するマージン生成手段と、
前記訓練データデータベースおよびマージンデータベースの各データを入力とし、訓練データ中の相対的に高い適合度の文書を検索結果上位に提示させる検索スコアを出力するためのスコア要因重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成手段と、
予めWebページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースと、
入力された検索クエリに対する検索結果集合を前記文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理手段と、
前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースのデータを入力とし、前記入力された検索クエリに対応する前記ランキングモデルデータベース内のランキングモデルとしてのスコア要因重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算手段と、
前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示手段と、
を備えたことを特徴とするマージン生成機能を有するランキング関数生成装置を用いた文書検索装置。
【請求項2】
マージン生成手段が、N個のクエリに対する文書の検索結果の適合度と、M次元の特徴表現とを有した訓練データが格納された訓練データデータベース内の訓練データを入力とし、各クエリにおける複数の異なる適合度の組合せを求め、該組合せの順序を変更したときの検索結果評価指標値の変更幅を求め、前記指標値の最大の変更幅を基準としてクエリ毎に適合度の組合せに対する重要度を表すマージンを求め、N個のクエリと、前記適合度の組合せと、前記求められたマージンとを有したマージンデータベースを構築するマージン生成ステップと、
ランキング関数生成手段が、前記訓練データデータベースおよびマージンデータベースの各データを入力とし、訓練データ中の相対的に高い適合度の文書を検索結果上位に提示させる検索スコアを出力するためのスコア要因重みを保持したランキングモデルを生成してランキングモデルデータベースを構築するランキング関数生成ステップと、
クエリ処理手段が、入力された検索クエリに対する検索結果集合を、予めWebページから収集した文書を基に作成された文書インデクスが格納された文書インデクスデータベースから取得し、該検索結果集合と複数のスコア要因とでスコア要因値行列を算出するクエリ処理ステップと、
検索スコア計算手段が、前記クエリ処理手段で算出されたスコア要因値行列と、前記ランキングモデルデータベースのデータを入力とし、前記入力された検索クエリに対応する前記ランキングモデルデータベース内のランキングモデルとしてのスコア要因重みと、前記スコア要因値行列とを積算して検索スコアベクトルを計算する検索スコア計算ステップと、
検索結果提示手段が、前記検索スコア計算手段により計算された検索スコアの降順に入力クエリに対する検索結果を提示する検索結果提示ステップと、
を備えたことを特徴とするマージン生成機能を有するランキング関数生成装置を用いた文書検索方法。
【請求項3】
コンピュータに請求項2に記載の各ステップを実行させるマージン生成機能を有するランキング関数生成装置を用いた文書検索プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−173796(P2012−173796A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−32319(P2011−32319)
【出願日】平成23年2月17日(2011.2.17)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】