(57)【要約】【課題】ＷＡＮＤアルゴリズムにおいて負値が用いられた場合でも、適切な検索結果を返すことができる検索装置、及び検索方法を提供する。【解決手段】検索装置１０は、クエリに基づいて、複数のドキュメントから所望のドキュメントを検索する装置であって、クエリ及びクエリスコアを取得するクエリ取得手段１３１と、ドキュメントのクエリに対する関連度を示すドキュメントスコアが、クエリ毎及びドキュメント毎に記録され、かつ、クエリ毎にドキュメントスコアの最小値が記録されたインデックスを記憶する記憶部１２と、クエリスコア及びドキュメントスコアにより算出されるトータルスコアに基づいて、クエリに対する所定数のドキュメントを検索する検索手段１３３と、を備え、検索手段１３３は、クエリスコアが負値である場合に、クエリスコア及び最小値を用いてトータルスコアを算出する対象のドキュメントを判断する。【選択図】図１
2015138268.tif 000002
【特許請求の範囲】
【請求項１】
クエリに基づいて、複数のドキュメントから所望のドキュメントを検索する検索装置であって、
前記クエリ、及び前記クエリの重み付けであるクエリスコアを取得するクエリ取得手段と、
前記ドキュメントの前記クエリに対する関連度を示すドキュメントスコアが、前記クエリ毎及び前記ドキュメント毎に記録され、かつ、クエリ毎に前記ドキュメントスコアの最小値が記録されたインデックスを記憶するインデックス記憶手段と、
前記クエリスコア及び前記ドキュメントスコアにより算出されるトータルスコアに基づいて、クエリに対する所定数のドキュメントを検索する検索手段と、を備え、
前記検索手段は、前記クエリスコアが負値である場合に、当該クエリスコア及び前記最小値を用いて、前記トータルスコアを算出する対象のドキュメントを判断する
を備えたことを特徴とする検索装置。
【請求項２】
請求項１に記載の検索装置において、
前記インデックスには、クエリ毎の前記ドキュメントスコアの最大値が記録され、
前記検索手段は、前記クエリスコアが正値である場合に、当該クエリスコア及び前記最大値を用いて、前記トータルスコアを算出する対象のドキュメントを判断する
ことを特徴とする検索装置。
【請求項３】
請求項２に記載の検索装置において、
前記検索手段は、各ドキュメントに対して、前記ドキュメントスコアがない場合は「０」を、前記クエリスコアが正値の場合に当該クエリスコア及び前記最大値の積を、前記クエリスコアが負値の場合では当該クエリスコア及び前記最小値の積を、クエリに対する一部スコアとして算出し、全クエリに対して算出された前記一部スコアの和が、所定の閾値未満である場合に、当該ドキュメントの前記トータルスコアの算出をスキップする
ことを特徴とする検索装置。
【請求項４】
請求項１から請求項３のいずれかに記載の検索装置において、
前記クエリは、ユーザに関するユーザデータであり、
前記ドキュメントは、広告データであり、
前記インデックス記憶手段は、前記ユーザデータの前記広告データに対する関連度をドキュメントスコアとした広告配信データを前記インデックスとして記憶する
ことを特徴とする検索装置。
【請求項５】
コンピュータにより、クエリに基づいて複数のドキュメントから所望のドキュメントを検索する検索方法であって、
前記コンピュータは、前記ドキュメントの前記クエリに対する関連度を示すドキュメントスコアが、前記クエリ毎及び前記ドキュメント毎に記録され、かつ、クエリ毎に前記ドキュメントスコアの最小値が記録されたインデックスを記憶するインデックス記憶手段を有し、
前記検索方法において、前記コンピュータは、
前記クエリ、及び前記クエリの重み付けであるクエリスコアを取得し、
前記クエリスコア及び前記ドキュメントスコアにより算出されるトータルスコアに基づいて、クエリに対する所定数のドキュメントを検索し、
前記トータルスコアの算出に際し、前記クエリスコアが負値である場合に、当該クエリスコア及び前記最小値を用いて、前記トータルスコアを算出する対象のドキュメントを判断する
ことを特徴とする検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、WANDアルゴリズムを用いた検索装置、及び検索方法に関する。
【背景技術】
【０００２】
従来、ユーザのクエリに対して検索結果を返す検索アルゴリズムとして、ＷＡＮＤ検索アルゴリズムが知られている（例えば、非特許文献１参照）。
非特許文献１に記載のように、ＷＡＮＤ検索アルゴリズムでは、各ドキュメントは、クエリに対するスコアを有し、インデックスにそのスコア最大値が記録されている。そして、クエリに設定されたクエリスコアと、インデックスに記録されたスコア最大値とに基づいて、検索目標数（Ｔｏｐ−ｋ）の検索結果を得る。
ここで、インデックスに設定されたクエリに対するスコアと、クエリに設定されたクエリスコアとの積をクエリ毎に算出して、算出された積を加算して、当該ドキュメントに対するトータルスコアとする。この際、ＷＡＮＤアルゴリズムでは、上記のように、インデックスに各ドキュメントのクエリに対する最大スコアが記録されているので、１つのドキュメントに対するトータルスコアが算出されると、そのトータルスコアを閾値として、他のドキュメントに対するトータルスコアの算出をスキップ可能か否かを判定できる。
【０００３】
例えば、クエリＡに対するクエリスコアが「１」、クエリＢに対するクエリスコアが「２」であり、ドキュメント１〜５に対して、以下の表１に示すように、クエリＡに対するスコア、クエリＢに対するスコアが設定されているとする。なお、説明の簡略のため、ｋ＝１とする（最もスコアが高いもの１つを抽出する）。
【０００４】
【表１】
2015138268.tif 000003
【０００５】
上記のような例では、インデックスとして、クエリＡに対するスコア最大値「４」、クエリＢに対するスコア最大値「３」が記録される。
そして、ＷＡＮＤアルゴリズムでは、ドキュメント１に対してクエリＡ，Ｂに対するトータルスコアが、１・２＋２・１＝４として算出される。ここで、閾値が４として設定される。クエリＡに対するスコア最大値は「４」であり、クエリスコアが「１」であるため、クエリＡのみを含むドキュメントでは、閾値「４」を超えることができない。したがって、クエリＡに対するスコアのみを有するドキュメント２はスキップされる。
一方、クエリＢに対する最大値は「３」であり、クエリスコアが「２」であるため、クエリＢのみを含むドキュメントにおいては、閾値「４」を超える可能性がある。しかしながら、クエリＢのみを含むドキュメントでは、スコアが３以上でなければ閾値を越えないので、ドキュメント３もスキップされる。
ドキュメント４は、クエリＡ，Ｂに対してスコアを有し、かつ、ドキュメント１よりもスコアが高いため、トータルスコアを算出する価値があると判定される。その結果、ドキュメント４に対してトータルスコア「７」が算出される。ここで、閾値「４」が「７」に更新される。以降、同様にして、残りのドキュメントに対して、スキップの判定が実施され、スキップされない場合は、トータルスコアが算出される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】”Deepak Agarwal”,”Maxim Gurevich”、” Fast top-k retrieval for model based recommendation”、 ”WSDM '12 Proceedings of the fifth ACM international conference on Web search and data mining”、アメリカ合衆国、”ACM New York”、 2012年2月8日、483頁〜492頁
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、近年、ユーザに対してより最適な検索結果を返すために、クエリのスコアや、当該クエリに対するドキュメントのスコアとして負値が用いられることがある。例えば、クエリＢを検索に含ませたくない場合、クエリＢのスコアを負値とし、クエリＢに対するスコアが低いドキュメントを検索する。
しかしながら、上述したようなＷＡＮＤアルゴリズムでは、負値のスコアを用いると最適な検索結果を返すことができない場合がある。
【０００８】
例えば、クエリＡに対するスコアが「１」、クエリＢに対するスコアが「−１」であり、ドキュメント１〜２に対して、以下の表２に示すように、クエリＡに対するスコア、クエリＢに対するスコアが設定されているとする。なお、説明の簡略のため、ｋ＝１とする（最もスコアが高いもの１つを抽出する）。
【０００９】
【表２】
2015138268.tif 000004
【００１０】
上記のような例においてＷＡＮＤアルゴリズムによるＴｏｐ−１検索を実施すると、ドキュメント１に対してクエリＡ，Ｂに対するトータルスコアが１・３＋（−１）・（−１）＝４として算出される。一方、閾値が「４」となるので、従来のＷＡＮＤアルゴリズムでは、クエリＡのスコア最大値「３」、クエリＢのスコア最大値「−１」を超えるドキュメントがないため、ドキュメント２に対するトータルスコアの算出がスキップされることになる。
しかしながら、実際のドキュメント２に対するスコアは、１・１＋（−１）・（−６）＝７であり、ドキュメント１よりもスコアが高いものであり、本来ドキュメント１よりも上位に検索されるべきものとなる。
このように、スコアに負値が含まれる場合では、ＷＡＮＤアルゴリズムを用いた検索では、適切な検索結果を返すことができないという課題がある。
【００１１】
本発明は、ＷＡＮＤアルゴリズムにおいて負値が用いられた場合でも、適切な検索結果を返すことができる検索装置、及び検索方法を提供することを目的する。
【課題を解決するための手段】
【００１２】
本発明の検索装置は、クエリに基づいて、複数のドキュメントから所望のドキュメントを検索する検索装置であって、前記クエリ、及び前記クエリの重み付けであるクエリスコアを取得するクエリ取得手段と、前記ドキュメントの前記クエリに対する関連度を示すドキュメントスコアが、前記クエリ毎及び前記ドキュメント毎に記録され、かつ、クエリ毎に前記ドキュメントスコアの最小値が記録されたインデックスを記憶するインデックス記憶手段と、前記クエリスコア及び前記ドキュメントスコアにより算出されるトータルスコアに基づいて、クエリに対する所定数のドキュメントを検索する検索手段と、を備え、前記検索手段は、前記クエリスコアが負値である場合に、当該クエリスコア及び前記最小値を用いて、前記トータルスコアを算出する対象のドキュメントを判断することを特徴とする。
【発明の効果】
【００１３】
本発明では、クエリスコアが負値の場合に、ドキュメントスコアの最小値を用いて、ＷＡＮＤアルゴリズムによる検索処理を実施するため、クエリに対して正確な順位でドキュメントを検索でき、適切な検索結果を返すことができる。
【図面の簡単な説明】
【００１４】
【図１】第一実施形態の検索装置の概略を示すブロック図。
【図２】第一実施形態の検索処理（検索方法）を示すフローチャート。
【図３】図２におけるスキップ判定処理を示すフローチャート。
【図４】第二実施形態に係る広告検索システムの概略を示す図。
【発明を実施するための形態】
【００１５】
［第一実施形態］
以下、本発明に係る一実施形態の検索装置に関し、図面に基づいて説明する。
［検索装置の構成］
図１は、本実施形態の検索装置を示すブロック図である。
本実施形態の検索装置１０は、コンピュータであり、通信部１１と、記憶部１２と、制御部１３と、等を含んで構成されている。
通信部１１は、例えばＬＡＮ等を介してネットワークに接続されており、ネットワーク上の他の機器と通信する。
【００１６】
記憶部１２は、例えばメモリ、ハードディスク等により構成されたデータ記録装置であり、本発明におけるインデックス記憶部を構成する。
この記憶部１２は、検索装置を制御するための各種プログラムや各種データを記憶する。また、記憶部１２には、インデックス記憶手段として機能し、検索処理の対象であるドキュメントのインデックスが記憶される。
なお、検索処理の対象となるドキュメントは、ネットワーク上の所定のサーバ装置に記憶されていてもよく、検索装置１０の記憶部１２に記憶されていてもよい。
【００１７】
このインデックスは、例えばユーザ等から要求されたクエリ（キーワード等の検索条件）に対する最適なドキュメントを迅速に検索するための索引情報であり、例えば表３に示すようなデータが記録される。
【００１８】
【表３】
2015138268.tif 000005
【００１９】
表３に示すように、インデックスには、ドキュメントＩＤと、ドキュメントスコアと、Ｍａｘスコアと、Ｍｉｎスコアとが含まれる。
ドキュメントＩＤは、ドキュメントを特定する識別データである。
ドキュメントスコアは、所定のクエリに対してそれぞれ設定されており、クエリに対する関連度を示す。例えば、クエリとして検索キーワードが設定される場合では、ドキュメントに含まれる当該キーワード数、若しくは当該キーワード数に基づいて算出された数値がドキュメントスコアとして記録される。
また、クエリＢに対するドキュメントスコアに示すように、ドキュメントスコアが負値を設定してもよい。例えば、「男性向け」とのクエリに対して、「女性向け」のドキュメントのドキュメントスコアを負値に設定することで、検索順位を低くすることができる。
Ｍａｘスコアは、各クエリに対するドキュメントスコアの最大値であり、Ｍｉｎスコアは、各クエリに対するドキュメントスコアの最小値である。
また、インデックスとしては、その他、ドキュメントＩＤにて特定されるドキュメントの所在等（例えばＵＲＬ等）が記録されていてもよい。
【００２０】
制御部１３は、ＣＰＵ等の演算回路、ＲＡＭ等の記憶回路により構成され、記憶部１２等に記憶されているプログラム（ソフトウェア）をＲＡＭに展開し、ＲＡＭに展開されたプログラムとの協働で、各種処理を実行する。そして、制御部１３は、上記各種処理を実行することで、図１に示すように、クエリ取得手段１３１、インデックス取得手段１３２、及び検索手段１３３等として機能する。
【００２１】
クエリ取得手段１３１は、例えばネットワーク上の端末装置（ユーザ端末）から送信されたクエリ、及び当該クエリの重み付け値であるクエリスコアを取得する。なお、本実施形態では、ネットワーク上の端末装置からクエリ及びクエリスコアを取得する例を示すが、これに限定されない。例えば、検索装置１０がキーボードやマウス等の入力装置を備え、検索装置１０の利用者が入力装置を介してクエリやクエリスコアを入力してもよい。その他、クエリ及びクエリスコアが記憶部１２に記憶されており、クエリ取得手段１３１は、例えば端末装置や入力装置からのクエリ指定要求に従って、記憶部１２に記憶された当該クエリ及びクエリスコアを取得する構成などとしてもよい。
【００２２】
インデックス取得手段１３２は、記憶部１２に記憶されたインデックスを取得する。なお、本実施形態では、記憶部１２にインデックスが記憶される例を示すが、例えば、ネットワーク上のその他のサーバ装置からインデックスを取得する構成などとしてもよい。
【００２３】
検索手段１３３は、クエリ、クエリスコア、及びインデックスに基づいて、クエリに対して最適なドキュメントを、ＷＡＮＤアルゴリズムを用いて検索する。具体的には、検索手段１３３は、スコア算出手段１３４、閾値設定手段１３５、スキップ判定手段１３６、及び抽出手段１３７として機能する。
【００２４】
スコア算出手段１３４は、クエリスコア及びドキュメントスコアに基づいて、所定のドキュメントの所定のクエリに対するスコア（トータルスコア）を算出する。
閾値設定手段１３５は、ＷＡＮＤアルゴリズムによる検索処理を実施する上での閾値を設定する。
スキップ判定手段１３６は、インデックスのＭａｘスコア、Ｍｉｎスコア、クエリスコア、閾値に基づいて、スコア算出手段１３４によりドキュメントのトータルスコアを算出するか否かを判定する。
抽出手段１３７は、算出されたトータルスコアに基づき、Ｔｏｐ−ｋの検索対象のドキュメントＩＤを抽出する。すなわち、トータルスコアが高い上位ｋ個のドキュメントＩＤを検索結果として抽出する。
なお、各機能構成の詳細な説明は後述する。
【００２５】
［検索方法］
次に、上記のような検索装置１０におけるＴｏｐ−ｋのドキュメントの検索方法（検索処理）について、図面に基づいて説明する。図２は、本実施形態における検索処理のフローチャートである。
図２に示すように、本実施形態におけるＷＡＮＤアルゴリズムに基づく検索処理では、まず、クエリ取得手段１３１は、クエリＱ＝｛ｑ１，ｑ２，ｑ３…ｑＮ｝、及び、これらのクエリＱに対するクエリスコアＳＱ＝｛ＳＱ１，ＳＱ２，ＳＱ３…ＳＱＮ｝を取得する（ステップＳ１）。
なお、ステップＳ１では、クエリ取得手段１３１は、例えば上述したように、ネットワークを介してユーザ端末等の端末装置から入力されるクエリＱ及びクエリスコアＳＱｎを取得してもよく、端末装置からの要求に従い、記憶部１２に記憶されているクエリＱ及びクエリスコアＳＱｎを取得してもよい。
【００２６】
この後、インデックス取得手段１３２は、記憶部１２に記憶されたインデックスを読み込む（ステップＳ２）。なお、本実施形態では、記憶部１２に記憶されたインデックスを読み込むが、上述したように、ネットワークを介してインデックスを取得してもよい。
【００２７】
この後、検索処理における各種パラメータを初期化する（ステップＳ３）。
ここで、以降の説明にあたり、ドキュメントＩＤに係るパラメータをｉ、検索より得たいドキュメントの数（ｋ）に係るパラメータをｊ、閾値をＸとする。ステップＳ３では、ｉ＝１、ｊ＝０、Ｘ＝０として各パラメータを初期化する。
【００２８】
この後、検索手段１３３のスコア算出手段１３４は、ドキュメントＩＤ（図２，３では、ＤｏｃＩＤと表記）ｉのドキュメントに対するトータルスコアＳＴ（ｉ，Ｑ）を下記式（１）により算出する（ステップＳ４）。式（１）において、ＳＤ（ｉ，ｑｎ）は、ドキュメントＩＤがｉのドキュメントのクエリｑｎに対するドキュメントスコアであり、ＳＱｎは、クエリｑｎのクエリスコアである。
【００２９】
【数１】
2015138268.tif 000006
【００３０】
次に、検索手段１３３は、パラメータｊに「１」を加算し（ステップＳ５）、当該パラメータｊが検索処理により得たいドキュメントの数（ｋ）になったか否かを判定する（ステップＳ６）。
ステップＳ６において、「Ｎｏ」と判定された場合、検索手段１３３は、パラメータｉに「１」を加算し（ステップＳ７）、ステップＳ４の処理に戻る。
【００３１】
また、ステップＳ６において、「Ｙｅｓ」と判定された場合、閾値設定手段１３５は、ＷＡＮＤアルゴリズムにおける閾値Ｘを設定する（ステップＳ８）。具体的には、閾値設定手段１３５は、ステップＳ４〜７の繰り返しにより算出されたｋ個のドキュメントに対するトータルスコアＳＴ（ｉ，Ｑ）のうちの最小値を、閾値Ｘとして設定する。
ステップＳ８の後、パラメータｉに「１」を加算し（ステップＳ９）、スキップ判定処理（ステップＳ１０）を実施する。
【００３２】
［スキップ判定処理］
図３は、スキップ判定処理におけるフローチャートである。
図３に示すように、スキップ判定処理では、スキップ判定手段１３６は、まずクエリに関するパラメータｎを初期化（ｎ＝１）する（ステップＳ１０１）。
次に、スキップ判定手段１３６は、クエリｑｎのクエリスコアＳＱｎが負値（０未満）であるか否かを判定する（ステップＳ１０２）。
ステップＳ１０２において、「Ｙｅｓ」と判定された場合、スキップ判定手段１３６は、ドキュメントＩＤ：ｉのクエリｑｎに対するドキュメントスコアのＭｉｎスコアＳＤｉ（Ｍｉｎ）、及びクエリｑｎのクエリスコアＳＱｎを用いて、当該ドキュメントのクエリｑｎに対する一部スコアＳｎ（ｉ，ｑｎ）を下記式（２）により算出する（ステップＳ１０３）。
【００３３】
【数２】
2015138268.tif 000007
【００３４】
一方、ステップＳ１０２において、「Ｎｏ」と判定された場合は、クエリｑｎのクエリスコアＳＱｎが正値（０より大きい）であるか否かを判定する（ステップＳ１０４）。
ステップＳ１０４において、「Ｙｅｓ」と判定された場合、スキップ判定手段１３６は、ドキュメントＩＤ：ｉのクエリｑｎに対するドキュメントスコアのＭａｘスコアＳＤｉ（Ｍａｘ）、及びクエリｑｎのクエリスコアＳＱｎを用いて、当該ドキュメントのクエリｑｎに対する一部スコアＳｎ（ｉ，ｑｎ）を下記式（３）により算出する（ステップＳ１０５）。
【００３５】
【数３】
2015138268.tif 000008
【００３６】
一方、ステップＳ１０４において、「Ｎｏ」と判定された場合、スキップ判定手段１３６は、ドキュメントＩＤ：ｉのクエリｑｎに対するドキュメントスコアがない（０である）と判定する。この場合、スキップ判定手段１３６は、ドキュメントＩＤ：ｉのクエリｑｎに対する一部スコアＳｎ（ｉ，ｑｎ）を０とする（ステップＳ１０６）。
【００３７】
この後、スキップ判定手段１３６は、パラメータｎが、クエリの最大数Ｎ以上であるか否かを判定する（ステップＳ１０７）。
ステップＳ１０７において、「Ｎｏ」と判定されると、スキップ判定手段１３６は、パラメータｎに「１」を加算し（ステップＳ１０８）、ステップＳ１０２に戻る。すなわち、ステップＳ１において取得された各クエリＱに対するドキュメントＩＤ：ｉの一部スコアＳｎ（ｉ，ｑｎ）を取得する。
ステップＳ１０７において「Ｙｅｓ」と判定されると、スキップ判定手段１３６は、下記式（４）のように、各クエリｑｎに対して算出された一部スコアＳｎ（ｉ，ｑｎ）を加算して、ドキュメントＩＤ：ｉに対する仮スコアＳＦ（ｉ，Ｑ）を算出する（ステップＳ１０９）。
【００３８】
【数４】
2015138268.tif 000009
【００３９】
そして、スキップ判定手段１３６は、算出された仮スコアＳＦ（ｉ，Ｑ）が閾値Ｘより大きいか否かを判定する（ステップＳ１１０）。ステップＳ１１０において、「Ｎｏ」と判定された場合、スキップ判定手段１３６は、ドキュメントＩＤ：ｉをスキップ対象とする（ステップＳ１１１）。また、ステップＳ１１０において、「Ｙｅｓ」と判定された場合、スキップ判定手段１３６は、ドキュメントＩＤ：ｉをスキップ対象としない（評価対象とする）（ステップＳ１１２）。
【００４０】
上記スキップ判定処理について、下記表３に示す具体例に用いて説明する。
【００４１】
【表４】
2015138268.tif 000010
【００４２】
本例では、ｋ＝１とする。また、クエリＡに対するクエリスコアが「１」、クエリＢに対するクエリスコアが「−１」であるとする。
上記のような例では、ドキュメント１に対してトータルスコアＳＴ（１，Ｑ）が、１・３＋（−１）・（−１）＝４として算出され、閾値が「４」と設定される。
スキップ判定手段１３６は、ドキュメント２に対して、クエリＡのクエリスコアが正値であるので、Ｍａｘスコア「３」を用いて、クエリＡに対する一部スコアを１・３＝３と算出し、クエリＢのクエリスコアが負値であるので、Ｍｉｎスコア「−６」を用いて、（−１）・（−６）＝６と算出する。したがって、ドキュメント２に対する仮スコアは、ＳＦ（２，Ｑ）＝９と算出される。これにより、ドキュメント２は、仮スコアが閾値「４」を超えるものであり、評価対象（スキップしない）と判定される。
【００４３】
図２に戻り、ステップＳ１０のスキップ判定処理の後、検索手段１３３は、スキップ判定手段１３６によりドキュメントＩＤ：ｉがスキップ対象とされたか否かを判断する（ステップＳ１１）。
ステップＳ１１において、「Ｎｏ」と判定された場合（評価すると判定された場合）、スコア算出手段１３４は、ステップＳ４と同様の処理により、ドキュメントＩＤ：ｉのドキュメントに対するトータルスコアＳＴ（ｉ，Ｑ）を算出する（ステップＳ１２）。
そして、閾値設定手段１３５は、ステップＳ１２において算出されたトータルスコアＳＴ（ｉ，Ｑ）が、閾値Ｘより大きいか否かを判定し（ステップＳ１３）、大きいと判定した場合は、閾値Ｘを再設定する（ステップＳ１４）。つまり、閾値設定手段１３５は、算出されたトータルスコアＳＴ（ｉ，Ｑ）のうち、上位ｋ個を抽出し、その最低値を閾値Ｘとする。
【００４４】
一方、ステップＳ１１において「Ｙｅｓ」と判定された場合（スキップ対象と判定された場合）は、上記ステップＳ１１〜ステップＳ１４の処理はスキップされる。
つまり、ステップＳ１１において「Ｙｅｓ」と判定された場合、ステップＳ１３において「Ｎｏ」と判定された場合（トータルスコアＳＴ（ｉ，Ｑ）が閾値Ｘを超えない場合）、及びステップＳ１４の後、検索手段１３３は、パラメータｉに「１」を加算し（ステップＳ１５）、パラメータｉが最大値Ｉを超えたか否かを判定する（ステップＳ１６）。つまり、全てのドキュメントに対して、ステップＳ１〜ステップＳ１４の処理が実施されたか否かを判定する。ステップＳ１６において、「Ｎｏ」と判定された場合、ステップＳ１０の処理に戻る。
【００４５】
また、ステップＳ１６において、「Ｙｅｓ」と判定された場合、抽出手段１３７は、算出されたトータルスコアＳＴ（ｉ，Ｑ）のうち、上位ｋ個を抽出し、抽出したトータルスコアＳＴ（ｉ，Ｑ）に対応したドキュメントＩＤのドキュメントを検索結果とする（ステップＳ１７）。
【００４６】
［本実施形態の作用効果］
本実施形態では、インデックスとして、各クエリに対するドキュメントスコアのＭａｘスコア及びＭｉｎスコアが記録されている。
そして、検索手段１３３は、ステップＳ１０２からステップＳ１０３に示すように、クエリスコアが負値である場合に、Ｍｉｎスコアを用い、クエリスコアが正値である場合に、Ｍａｘスコアを用いて、ＷＡＮＤアルゴリズムに基づいた検索処理を実施する。
一般に、Ｍａｘスコアのみを用いてＷＡＮＤアルゴリズムを用いた場合では、トータルスコアの算出をスキップされるべきではないドキュメントに対しても、スキップされるおそれがある。これに対して、本実施形態では、上記のようなインデックスを用いてＷＡＮＤアルゴリズムに基づく検索処理を実施することで、トータルスコアの算出をスキップしてよいか否かを精度よく判定することができる。したがって、クエリに対して正確なランク付けでドキュメントの検索結果を返すことができる。
【００４７】
［第二実施形態］
次に、本発明における第二実施形態について、図面に基づいて説明する。
本実施形態では、上記第一実施形態に示す検索装置を用いた検索処理の一例として、広告検索処理について説明する。
図４は、広告検索を実施する広告検索システムの概略を示す図である。なお、第一実施形態と同様の構成については同符号を付し、その説明を省略又は簡略化する。
図４に示すように、広告検索システム１００は、上述した検索装置１０と、ユーザにより操作される端末装置（ユーザ端末２０）と、広告主により操作される端末装置（広告主端末３０）と、を備え、これらの装置１０，２０，３０がネットワークを介して通信可能に接続されている。
【００４８】
［ユーザ端末］
ユーザ端末２０は、コンピュータであり、図示は省略するが、キーボード等により構成される入力装置、メモリ等により構成される記憶装置、ＣＰＵ等により構成される演算装置、及びディスプレイを備えている。
そして、ユーザ端末２０は、ユーザが入力装置を操作することで、ユーザデータを取得し、取得したユーザデータをクエリとして検索装置１０に送信する。
ここで、ユーザデータとしては、例えば、性別、年齢、居住地域等のユーザ個人のデータであってもよく、ユーザの興味データ等の所望の広告配信を受けるための条件や、広告配信を受けたくない条件等であってもよい。
【００４９】
また、ユーザ端末２０は、ユーザが入力装置を操作することで、クエリとして配信されるユーザデータに対する優先度をクエリスコアとして取得し、検索装置１０に送信する。例えば、広告配信を受けたい条件に対して正値の優先度を設定し、広告配信を受けたくないデータに対して負値の優先度を設定することが可能となる。
上記のようなユーザデータ（クエリ）及びクエリスコアの一例を表５に示す。
【００５０】
【表５】
2015138268.tif 000011
【００５１】
［広告主端末］
広告主端末３０は、コンピュータであり、図示は省略するが、キーボード等により構成される入力装置、メモリ等により構成される記憶装置、ＣＰＵ等により構成される演算装置、及びディスプレイを備えている。
そして、広告主端末３０の記憶装置には、ユーザ端末２０に配信する本発明におけるドキュメントである広告（広告データ）が記憶されている。また、広告主端末３０は、例えば、広告主が入力装置を操作することで、広告配信データを取得する。この広告配信データは、ユーザデータ（クエリ）に対応した配信条件と、当該配信条件に対する広告の関連度を示すスコア（すなわち、ドキュメントスコア）とを関連付けたデータとなる。そして、広告主端末３０は、取得した広告配信データをドキュメントスコアとして検索装置に送信する。
なお、広告主端末３０は、記憶装置に記憶された広告を検索装置１０に送信してもよい。
表６に広告主端末３０から検索装置１０に送信される広告配信データの一例を示す。
【００５２】
【表６】
2015138268.tif 000012
【００５３】
［検索装置］
検索装置１０は、上述した第一実施形態と略同様の構成を有する。検索装置１０の制御部１３は、記憶部１２に記憶されたプログラムを読み込み実行することで、クエリ取得手段１３１、インデックス取得手段１３２、及び検索手段１３３として機能する。
クエリ取得手段１３１は、ユーザ端末２０から上述した表５に示すようなユーザデータ、クエリスコアを取得し、記憶部１２に記憶する。
インデックス取得手段１３２は、広告主端末３０から上述した表６に示すような広告配信データを取得する。そして、インデックス取得手段１３２は、複数の広告主端末３０から送信された広告配信データを統合し、広告ＩＤをドキュメントＩＤとして新規に振り直して、インデックスとして記憶部１２に記憶する。この際、インデックス取得手段１３２は、各クエリ（ユーザデータ）に対するドキュメントスコアの最大値をＭａｘスコア、最小値をＭｉｎスコアとしてインデックスに記憶する。また、新規に広告配信データを取得すると、当該取得した広告配信データをインデックスに追加し、かつ、Ｍａｘスコア及びＭｉｎスコアを再算出する。
【００５４】
これにより、検索装置１０は、ユーザデータをクエリ、ユーザデータに関連付けらえたクエリスコア、インデックスを用い、上述した第一実施形態と同様のＷＡＮＤアルゴリズムに基づいた検索処理を実施することができ、各ユーザデータ（クエリ）に対して最適なドキュメントＩＤを抽出することができる。
検索装置１０は、抽出されたドキュメントＩＤに対応した広告データの配信元（広告主端末３０）のＵＲＬをユーザ端末２０に送信する。また、記憶部１２に広告データが記憶されている場合、検索装置１０は、抽出されたドキュメントＩＤに対応した広告データを記憶部１２から読み出し、ユーザ端末２０に送信する。これにより、各ユーザ端末２０に、ユーザに対して最適な広告データが配信することができる。
【００５５】
［変形例］
第二実施形態において、検索装置１０は、広告主端末３０から広告配信データを、ネットワークを介して取得し、取得した広告配信データに基づいてインデックスを作成する例を示したが、例えば検索装置１０を操作することで、インデックスを作成する等してもよい。
【００５６】
第一実施形態の検索装置１０の適用例として、広告配信システムを例示したが、これに限定されない。本発明は、クエリを用いた検索処理を実施する装置やシステムに適用でき、例えば、検索キーワード等のクエリに基づいたコンテンツやファイルの検索、店舗等の施設検索等、様々な検索用途に適用することができる。
【００５７】
その他、本発明の実施の際の具体的な構造および手順は、本発明の目的を達成できる範囲で他の構造などに適宜変更できる。
【符号の説明】
【００５８】
１０…検索装置、１２…記憶部（インデックス記憶手段）、１３…制御部、２０…ユーザ端末、３０…広告主端末、１００…広告検索システム、１３１…クエリ取得手段、１３２…インデックス取得手段、１３３…検索手段、１３４…スコア算出手段、１３５…閾値設定手段、１３６…スキップ判定手段、１３７…抽出手段。
【図１】
2015138268.tif 000013
【図２】
2015138268.tif 000014
【図３】
2015138268.tif 000015
【図４】
2015138268.tif 000016