特許第5833150号(P5833150)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧
<>
  • 特許5833150-検索装置、及び検索方法 図000012
  • 特許5833150-検索装置、及び検索方法 図000013
  • 特許5833150-検索装置、及び検索方法 図000014
  • 特許5833150-検索装置、及び検索方法 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5833150
(24)【登録日】2015年11月6日
(45)【発行日】2015年12月16日
(54)【発明の名称】検索装置、及び検索方法
(51)【国際特許分類】
   G06F 17/30 20060101AFI20151126BHJP
   G09F 19/00 20060101ALI20151126BHJP
【FI】
   G06F17/30 340A
   G06F17/30 170A
   G09F19/00 Z
【請求項の数】5
【全頁数】14
(21)【出願番号】特願2014-7626(P2014-7626)
(22)【出願日】2014年1月20日
(65)【公開番号】特開2015-138268(P2015-138268A)
(43)【公開日】2015年7月30日
【審査請求日】2014年9月19日
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110000637
【氏名又は名称】特許業務法人樹之下知的財産事務所
(72)【発明者】
【氏名】宇野 秀平
(72)【発明者】
【氏名】中島 泰
(72)【発明者】
【氏名】森下 洋平
【審査官】 田中 秀樹
(56)【参考文献】
【文献】 特開平10−069490(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
クエリに基づいて、複数のドキュメントから所望のドキュメントを検索する検索装置であって、
前記クエリ、及び前記クエリの重み付けであるクエリスコアを取得するクエリ取得手段と、
前記ドキュメントの前記クエリに対する関連度を示すドキュメントスコアが、前記クエリ毎及び前記ドキュメント毎に記録され、かつ、クエリ毎に前記ドキュメントスコアの最小値が記録されたインデックスを記憶するインデックス記憶手段と、
前記クエリスコア及び前記ドキュメントスコアにより算出されるトータルスコアに基づいて、前記クエリに対する所定数のドキュメントを検索する検索手段と、を備え、
前記検索手段は、前記クエリスコアが負値である場合に、当該クエリスコア及び前記最小値を用いて、前記トータルスコアを算出する対象のドキュメントを判断する
を備えたことを特徴とする検索装置。
【請求項2】
請求項1に記載の検索装置において、
前記インデックスには、クエリ毎の前記ドキュメントスコアの最大値が記録され、
前記検索手段は、前記クエリスコアが正値である場合に、当該クエリスコア及び前記最大値を用いて、前記トータルスコアを算出する対象のドキュメントを判断する
ことを特徴とする検索装置。
【請求項3】
請求項2に記載の検索装置において、
前記検索手段は、各ドキュメントに対して、前記ドキュメントスコアがない場合は「0」を、前記クエリスコアが正値の場合に当該クエリスコア及び前記最大値の積を、前記クエリスコアが負値の場合では当該クエリスコア及び前記最小値の積を、前記クエリに対する一部スコアとして算出し、全クエリに対して算出された前記一部スコアの和が、所定の閾値以下である場合に、当該ドキュメントの前記トータルスコアの算出をスキップする
ことを特徴とする検索装置。
【請求項4】
請求項1から請求項3のいずれかに記載の検索装置において、
前記クエリは、ユーザに関するユーザデータであり、
前記ドキュメントは、広告データであり、
前記インデックス記憶手段は、前記ユーザデータの前記広告データに対する関連度を前記ドキュメントスコアとした広告配信データを前記インデックスとして記憶する
ことを特徴とする検索装置。
【請求項5】
コンピュータにより、クエリに基づいて複数のドキュメントから所望のドキュメントを検索する検索方法であって、
前記コンピュータは、前記ドキュメントの前記クエリに対する関連度を示すドキュメントスコアが、前記クエリ毎及び前記ドキュメント毎に記録され、かつ、クエリ毎に前記ドキュメントスコアの最小値が記録されたインデックスを記憶するインデックス記憶手段を有し、
前記検索方法において、前記コンピュータは、
前記クエリ、及び前記クエリの重み付けであるクエリスコアを取得し、
前記クエリスコア及び前記ドキュメントスコアにより算出されるトータルスコアに基づいて、前記クエリに対する所定数のドキュメントを検索し、
前記トータルスコアの算出に際し、前記クエリスコアが負値である場合に、当該クエリスコア及び前記最小値を用いて、前記トータルスコアを算出する対象のドキュメントを判断する
ことを特徴とする検索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、WANDアルゴリズムを用いた検索装置、及び検索方法に関する。
【背景技術】
【0002】
従来、ユーザのクエリに対して検索結果を返す検索アルゴリズムとして、WAND検索アルゴリズムが知られている(例えば、非特許文献1参照)。
非特許文献1に記載のように、WAND検索アルゴリズムでは、各ドキュメントは、クエリに対するスコアを有し、インデックスにそのスコア最大値が記録されている。そして、クエリに設定されたクエリスコアと、インデックスに記録されたスコア最大値とに基づいて、検索目標数(Top−k)の検索結果を得る。
ここで、インデックスに設定されたクエリに対するスコアと、クエリに設定されたクエリスコアとの積をクエリ毎に算出して、算出された積を加算して、当該ドキュメントに対するトータルスコアとする。この際、WANDアルゴリズムでは、上記のように、インデックスに各ドキュメントのクエリに対する最大スコアが記録されているので、1つのドキュメントに対するトータルスコアが算出されると、そのトータルスコアを閾値として、他のドキュメントに対するトータルスコアの算出をスキップ可能か否かを判定できる。
【0003】
例えば、クエリAに対するクエリスコアが「1」、クエリBに対するクエリスコアが「2」であり、ドキュメント1〜5に対して、以下の表1に示すように、クエリAに対するスコア、クエリBに対するスコアが設定されているとする。なお、説明の簡略のため、k=1とする(最もスコアが高いもの1つを抽出する)。
【0004】
【表1】
【0005】
上記のような例では、インデックスとして、クエリAに対するスコア最大値「4」、クエリBに対するスコア最大値「3」が記録される。
そして、WANDアルゴリズムでは、ドキュメント1に対してクエリA,Bに対するトータルスコアが、1・2+2・1=4として算出される。ここで、閾値が4として設定される。クエリAに対するスコア最大値は「4」であり、クエリスコアが「1」であるため、クエリAのみを含むドキュメントでは、閾値「4」を超えることができない。したがって、クエリAに対するスコアのみを有するドキュメント2はスキップされる。
一方、クエリBに対する最大値は「3」であり、クエリスコアが「2」であるため、クエリBのみを含むドキュメントにおいては、閾値「4」を超える可能性がある。しかしながら、クエリBのみを含むドキュメントでは、スコアが3以上でなければ閾値を越えないので、ドキュメント3もスキップされる。
ドキュメント4は、クエリA,Bに対してスコアを有し、かつ、ドキュメント1よりもスコアが高いため、トータルスコアを算出する価値があると判定される。その結果、ドキュメント4に対してトータルスコア「7」が算出される。ここで、閾値「4」が「7」に更新される。以降、同様にして、残りのドキュメントに対して、スキップの判定が実施され、スキップされない場合は、トータルスコアが算出される。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】”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頁
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、近年、ユーザに対してより最適な検索結果を返すために、クエリのスコアや、当該クエリに対するドキュメントのスコアとして負値が用いられることがある。例えば、クエリBを検索に含ませたくない場合、クエリBのスコアを負値とし、クエリBに対するスコアが低いドキュメントを検索する。
しかしながら、上述したようなWANDアルゴリズムでは、負値のスコアを用いると最適な検索結果を返すことができない場合がある。
【0008】
例えば、クエリAに対するスコアが「1」、クエリBに対するスコアが「−1」であり、ドキュメント1〜2に対して、以下の表2に示すように、クエリAに対するスコア、クエリBに対するスコアが設定されているとする。なお、説明の簡略のため、k=1とする(最もスコアが高いもの1つを抽出する)。
【0009】
【表2】
【0010】
上記のような例においてWANDアルゴリズムによるTop−1検索を実施すると、ドキュメント1に対してクエリA,Bに対するトータルスコアが1・3+(−1)・(−1)=4として算出される。一方、閾値が「4」となるので、従来のWANDアルゴリズムでは、クエリAのスコア最大値「3」、クエリBのスコア最大値「−1」を超えるドキュメントがないため、ドキュメント2に対するトータルスコアの算出がスキップされることになる。
しかしながら、実際のドキュメント2に対するスコアは、1・1+(−1)・(−6)=7であり、ドキュメント1よりもスコアが高いものであり、本来ドキュメント1よりも上位に検索されるべきものとなる。
このように、スコアに負値が含まれる場合では、WANDアルゴリズムを用いた検索では、適切な検索結果を返すことができないという課題がある。
【0011】
本発明は、WANDアルゴリズムにおいて負値が用いられた場合でも、適切な検索結果を返すことができる検索装置、及び検索方法を提供することを目的する。
【課題を解決するための手段】
【0012】
本発明の検索装置は、クエリに基づいて、複数のドキュメントから所望のドキュメントを検索する検索装置であって、前記クエリ、及び前記クエリの重み付けであるクエリスコアを取得するクエリ取得手段と、前記ドキュメントの前記クエリに対する関連度を示すドキュメントスコアが、前記クエリ毎及び前記ドキュメント毎に記録され、かつ、クエリ毎に前記ドキュメントスコアの最小値が記録されたインデックスを記憶するインデックス記憶手段と、前記クエリスコア及び前記ドキュメントスコアにより算出されるトータルスコアに基づいて、クエリに対する所定数のドキュメントを検索する検索手段と、を備え、前記検索手段は、前記クエリスコアが負値である場合に、当該クエリスコア及び前記最小値を用いて、前記トータルスコアを算出する対象のドキュメントを判断することを特徴とする。
【発明の効果】
【0013】
本発明では、クエリスコアが負値の場合に、ドキュメントスコアの最小値を用いて、WANDアルゴリズムによる検索処理を実施するため、クエリに対して正確な順位でドキュメントを検索でき、適切な検索結果を返すことができる。
【図面の簡単な説明】
【0014】
図1】第一実施形態の検索装置の概略を示すブロック図。
図2】第一実施形態の検索処理(検索方法)を示すフローチャート。
図3図2におけるスキップ判定処理を示すフローチャート。
図4】第二実施形態に係る広告検索システムの概略を示す図。
【発明を実施するための形態】
【0015】
[第一実施形態]
以下、本発明に係る一実施形態の検索装置に関し、図面に基づいて説明する。
[検索装置の構成]
図1は、本実施形態の検索装置を示すブロック図である。
本実施形態の検索装置10は、コンピュータであり、通信部11と、記憶部12と、制御部13と、等を含んで構成されている。
通信部11は、例えばLAN等を介してネットワークに接続されており、ネットワーク上の他の機器と通信する。
【0016】
記憶部12は、例えばメモリ、ハードディスク等により構成されたデータ記録装置であり、本発明におけるインデックス記憶部を構成する。
この記憶部12は、検索装置を制御するための各種プログラムや各種データを記憶する。また、記憶部12には、インデックス記憶手段として機能し、検索処理の対象であるドキュメントのインデックスが記憶される。
なお、検索処理の対象となるドキュメントは、ネットワーク上の所定のサーバ装置に記憶されていてもよく、検索装置10の記憶部12に記憶されていてもよい。
【0017】
このインデックスは、例えばユーザ等から要求されたクエリ(キーワード等の検索条件)に対する最適なドキュメントを迅速に検索するための索引情報であり、例えば表3に示すようなデータが記録される。
【0018】
【表3】
【0019】
表3に示すように、インデックスには、ドキュメントIDと、ドキュメントスコアと、Maxスコアと、Minスコアとが含まれる。
ドキュメントIDは、ドキュメントを特定する識別データである。
ドキュメントスコアは、所定のクエリに対してそれぞれ設定されており、クエリに対する関連度を示す。例えば、クエリとして検索キーワードが設定される場合では、ドキュメントに含まれる当該キーワード数、若しくは当該キーワード数に基づいて算出された数値がドキュメントスコアとして記録される。
また、クエリBに対するドキュメントスコアに示すように、ドキュメントスコアが負値を設定してもよい。例えば、「男性向け」とのクエリに対して、「女性向け」のドキュメントのドキュメントスコアを負値に設定することで、検索順位を低くすることができる。
Maxスコアは、各クエリに対するドキュメントスコアの最大値であり、Minスコアは、各クエリに対するドキュメントスコアの最小値である。
また、インデックスとしては、その他、ドキュメントIDにて特定されるドキュメントの所在等(例えばURL等)が記録されていてもよい。
【0020】
制御部13は、CPU等の演算回路、RAM等の記憶回路により構成され、記憶部12等に記憶されているプログラム(ソフトウェア)をRAMに展開し、RAMに展開されたプログラムとの協働で、各種処理を実行する。そして、制御部13は、上記各種処理を実行することで、図1に示すように、クエリ取得手段131、インデックス取得手段132、及び検索手段133等として機能する。
【0021】
クエリ取得手段131は、例えばネットワーク上の端末装置(ユーザ端末)から送信されたクエリ、及び当該クエリの重み付け値であるクエリスコアを取得する。なお、本実施形態では、ネットワーク上の端末装置からクエリ及びクエリスコアを取得する例を示すが、これに限定されない。例えば、検索装置10がキーボードやマウス等の入力装置を備え、検索装置10の利用者が入力装置を介してクエリやクエリスコアを入力してもよい。その他、クエリ及びクエリスコアが記憶部12に記憶されており、クエリ取得手段131は、例えば端末装置や入力装置からのクエリ指定要求に従って、記憶部12に記憶された当該クエリ及びクエリスコアを取得する構成などとしてもよい。
【0022】
インデックス取得手段132は、記憶部12に記憶されたインデックスを取得する。なお、本実施形態では、記憶部12にインデックスが記憶される例を示すが、例えば、ネットワーク上のその他のサーバ装置からインデックスを取得する構成などとしてもよい。
【0023】
検索手段133は、クエリ、クエリスコア、及びインデックスに基づいて、クエリに対して最適なドキュメントを、WANDアルゴリズムを用いて検索する。具体的には、検索手段133は、スコア算出手段134、閾値設定手段135、スキップ判定手段136、及び抽出手段137として機能する。
【0024】
スコア算出手段134は、クエリスコア及びドキュメントスコアに基づいて、所定のドキュメントの所定のクエリに対するスコア(トータルスコア)を算出する。
閾値設定手段135は、WANDアルゴリズムによる検索処理を実施する上での閾値を設定する。
スキップ判定手段136は、インデックスのMaxスコア、Minスコア、クエリスコア、閾値に基づいて、スコア算出手段134によりドキュメントのトータルスコアを算出するか否かを判定する。
抽出手段137は、算出されたトータルスコアに基づき、Top−kの検索対象のドキュメントIDを抽出する。すなわち、トータルスコアが高い上位k個のドキュメントIDを検索結果として抽出する。
なお、各機能構成の詳細な説明は後述する。
【0025】
[検索方法]
次に、上記のような検索装置10におけるTop−kのドキュメントの検索方法(検索処理)について、図面に基づいて説明する。図2は、本実施形態における検索処理のフローチャートである。
図2に示すように、本実施形態におけるWANDアルゴリズムに基づく検索処理では、まず、クエリ取得手段131は、クエリQ={q,q,q…q}、及び、これらのクエリQに対するクエリスコアS={SQ1,SQ2,SQ3…SQN}を取得する(ステップS1)。
なお、ステップS1では、クエリ取得手段131は、例えば上述したように、ネットワークを介してユーザ端末等の端末装置から入力されるクエリQ及びクエリスコアSQnを取得してもよく、端末装置からの要求に従い、記憶部12に記憶されているクエリQ及びクエリスコアSQnを取得してもよい。
【0026】
この後、インデックス取得手段132は、記憶部12に記憶されたインデックスを読み込む(ステップS2)。なお、本実施形態では、記憶部12に記憶されたインデックスを読み込むが、上述したように、ネットワークを介してインデックスを取得してもよい。
【0027】
この後、検索処理における各種パラメータを初期化する(ステップS3)。
ここで、以降の説明にあたり、ドキュメントIDに係るパラメータをi、検索より得たいドキュメントの数(k)に係るパラメータをj、閾値をXとする。ステップS3では、i=1、j=0、X=0として各パラメータを初期化する。
【0028】
この後、検索手段133のスコア算出手段134は、ドキュメントID(図2,3では、DocIDと表記)iのドキュメントに対するトータルスコアS(i,Q)を下記式(1)により算出する(ステップS4)。式(1)において、S(i,q)は、ドキュメントIDがiのドキュメントのクエリqに対するドキュメントスコアであり、SQnは、クエリqのクエリスコアである。
【0029】
【数1】
【0030】
次に、検索手段133は、パラメータjに「1」を加算し(ステップS5)、当該パラメータjが検索処理により得たいドキュメントの数(k)になったか否かを判定する(ステップS6)。
ステップS6において、「No」と判定された場合、検索手段133は、パラメータiに「1」を加算し(ステップS7)、ステップS4の処理に戻る。
【0031】
また、ステップS6において、「Yes」と判定された場合、閾値設定手段135は、WANDアルゴリズムにおける閾値Xを設定する(ステップS8)。具体的には、閾値設定手段135は、ステップS4〜7の繰り返しにより算出されたk個のドキュメントに対するトータルスコアS(i,Q)のうちの最小値を、閾値Xとして設定する。
ステップS8の後、パラメータiに「1」を加算し(ステップS9)、スキップ判定処理(ステップS10)を実施する。
【0032】
[スキップ判定処理]
図3は、スキップ判定処理におけるフローチャートである。
図3に示すように、スキップ判定処理では、スキップ判定手段136は、まずクエリに関するパラメータnを初期化(n=1)する(ステップS101)。
次に、スキップ判定手段136は、クエリqのクエリスコアSQnが負値(0未満)であるか否かを判定する(ステップS102)。
ステップS102において、「Yes」と判定された場合、スキップ判定手段136は、ドキュメントID:iのクエリqに対するドキュメントスコアのMinスコアSDi(Min)、及びクエリqのクエリスコアSQnを用いて、当該ドキュメントのクエリqに対する一部スコアS(i,q)を下記式(2)により算出する(ステップS103)。
【0033】
【数2】
【0034】
一方、ステップS102において、「No」と判定された場合は、クエリqのクエリスコアSQnが正値(0より大きい)であるか否かを判定する(ステップS104)。
ステップS104において、「Yes」と判定された場合、スキップ判定手段136は、ドキュメントID:iのクエリqに対するドキュメントスコアのMaxスコアSDi(Max)、及びクエリqのクエリスコアSQnを用いて、当該ドキュメントのクエリqに対する一部スコアS(i,q)を下記式(3)により算出する(ステップS105)。
【0035】
【数3】
【0036】
一方、ステップS104において、「No」と判定された場合、スキップ判定手段136は、ドキュメントID:iのクエリqに対するドキュメントスコアがない(0である)と判定する。この場合、スキップ判定手段136は、ドキュメントID:iのクエリqに対する一部スコアS(i,q)を0とする(ステップS106)。
【0037】
この後、スキップ判定手段136は、パラメータnが、クエリの最大数N以上であるか否かを判定する(ステップS107)。
ステップS107において、「No」と判定されると、スキップ判定手段136は、パラメータnに「1」を加算し(ステップS108)、ステップS102に戻る。すなわち、ステップS1において取得された各クエリQに対するドキュメントID:iの一部スコアS(i,q)を取得する。
ステップS107において「Yes」と判定されると、スキップ判定手段136は、下記式(4)のように、各クエリqに対して算出された一部スコアS(i,q)を加算して、ドキュメントID:iに対する仮スコアS(i,Q)を算出する(ステップS109)。
【0038】
【数4】
【0039】
そして、スキップ判定手段136は、算出された仮スコアS(i,Q)が閾値Xより大きいか否かを判定する(ステップS110)。ステップS110において、「No」と判定された場合、スキップ判定手段136は、ドキュメントID:iをスキップ対象とする(ステップS111)。また、ステップS110において、「Yes」と判定された場合、スキップ判定手段136は、ドキュメントID:iをスキップ対象としない(評価対象とする)(ステップS112)。
【0040】
上記スキップ判定処理について、下記表3に示す具体例に用いて説明する。
【0041】
【表4】
【0042】
本例では、k=1とする。また、クエリAに対するクエリスコアが「1」、クエリBに対するクエリスコアが「−1」であるとする。
上記のような例では、ドキュメント1に対してトータルスコアS(1,Q)が、1・3+(−1)・(−1)=4として算出され、閾値が「4」と設定される。
スキップ判定手段136は、ドキュメント2に対して、クエリAのクエリスコアが正値であるので、Maxスコア「3」を用いて、クエリAに対する一部スコアを1・3=3と算出し、クエリBのクエリスコアが負値であるので、Minスコア「−6」を用いて、(−1)・(−6)=6と算出する。したがって、ドキュメント2に対する仮スコアは、S(2,Q)=9と算出される。これにより、ドキュメント2は、仮スコアが閾値「4」を超えるものであり、評価対象(スキップしない)と判定される。
【0043】
図2に戻り、ステップS10のスキップ判定処理の後、検索手段133は、スキップ判定手段136によりドキュメントID:iがスキップ対象とされたか否かを判断する(ステップS11)。
ステップS11において、「No」と判定された場合(評価すると判定された場合)、スコア算出手段134は、ステップS4と同様の処理により、ドキュメントID:iのドキュメントに対するトータルスコアS(i,Q)を算出する(ステップS12)。
そして、閾値設定手段135は、ステップS12において算出されたトータルスコアS(i,Q)が、閾値Xより大きいか否かを判定し(ステップS13)、大きいと判定した場合は、閾値Xを再設定する(ステップS14)。つまり、閾値設定手段135は、算出されたトータルスコアS(i,Q)のうち、上位k個を抽出し、その最低値を閾値Xとする。
【0044】
一方、ステップS11において「Yes」と判定された場合(スキップ対象と判定された場合)は、上記ステップS11〜ステップS14の処理はスキップされる。
つまり、ステップS11において「Yes」と判定された場合、ステップS13において「No」と判定された場合(トータルスコアS(i,Q)が閾値Xを超えない場合)、及びステップS14の後、検索手段133は、パラメータiに「1」を加算し(ステップS15)、パラメータiが最大値Iを超えたか否かを判定する(ステップS16)。つまり、全てのドキュメントに対して、ステップS1〜ステップS14の処理が実施されたか否かを判定する。ステップS16において、「No」と判定された場合、ステップS10の処理に戻る。
【0045】
また、ステップS16において、「Yes」と判定された場合、抽出手段137は、算出されたトータルスコアS(i,Q)のうち、上位k個を抽出し、抽出したトータルスコアS(i,Q)に対応したドキュメントIDのドキュメントを検索結果とする(ステップS17)。
【0046】
[本実施形態の作用効果]
本実施形態では、インデックスとして、各クエリに対するドキュメントスコアのMaxスコア及びMinスコアが記録されている。
そして、検索手段133は、ステップS102からステップS103に示すように、クエリスコアが負値である場合に、Minスコアを用い、クエリスコアが正値である場合に、Maxスコアを用いて、WANDアルゴリズムに基づいた検索処理を実施する。
一般に、Maxスコアのみを用いてWANDアルゴリズムを用いた場合では、トータルスコアの算出をスキップされるべきではないドキュメントに対しても、スキップされるおそれがある。これに対して、本実施形態では、上記のようなインデックスを用いてWANDアルゴリズムに基づく検索処理を実施することで、トータルスコアの算出をスキップしてよいか否かを精度よく判定することができる。したがって、クエリに対して正確なランク付けでドキュメントの検索結果を返すことができる。
【0047】
[第二実施形態]
次に、本発明における第二実施形態について、図面に基づいて説明する。
本実施形態では、上記第一実施形態に示す検索装置を用いた検索処理の一例として、広告検索処理について説明する。
図4は、広告検索を実施する広告検索システムの概略を示す図である。なお、第一実施形態と同様の構成については同符号を付し、その説明を省略又は簡略化する。
図4に示すように、広告検索システム100は、上述した検索装置10と、ユーザにより操作される端末装置(ユーザ端末20)と、広告主により操作される端末装置(広告主端末30)と、を備え、これらの装置10,20,30がネットワークを介して通信可能に接続されている。
【0048】
[ユーザ端末]
ユーザ端末20は、コンピュータであり、図示は省略するが、キーボード等により構成される入力装置、メモリ等により構成される記憶装置、CPU等により構成される演算装置、及びディスプレイを備えている。
そして、ユーザ端末20は、ユーザが入力装置を操作することで、ユーザデータを取得し、取得したユーザデータをクエリとして検索装置10に送信する。
ここで、ユーザデータとしては、例えば、性別、年齢、居住地域等のユーザ個人のデータであってもよく、ユーザの興味データ等の所望の広告配信を受けるための条件や、広告配信を受けたくない条件等であってもよい。
【0049】
また、ユーザ端末20は、ユーザが入力装置を操作することで、クエリとして配信されるユーザデータに対する優先度をクエリスコアとして取得し、検索装置10に送信する。例えば、広告配信を受けたい条件に対して正値の優先度を設定し、広告配信を受けたくないデータに対して負値の優先度を設定することが可能となる。
上記のようなユーザデータ(クエリ)及びクエリスコアの一例を表5に示す。
【0050】
【表5】
【0051】
[広告主端末]
広告主端末30は、コンピュータであり、図示は省略するが、キーボード等により構成される入力装置、メモリ等により構成される記憶装置、CPU等により構成される演算装置、及びディスプレイを備えている。
そして、広告主端末30の記憶装置には、ユーザ端末20に配信する本発明におけるドキュメントである広告(広告データ)が記憶されている。また、広告主端末30は、例えば、広告主が入力装置を操作することで、広告配信データを取得する。この広告配信データは、ユーザデータ(クエリ)に対応した配信条件と、当該配信条件に対する広告の関連度を示すスコア(すなわち、ドキュメントスコア)とを関連付けたデータとなる。そして、広告主端末30は、取得した広告配信データをドキュメントスコアとして検索装置に送信する。
なお、広告主端末30は、記憶装置に記憶された広告を検索装置10に送信してもよい。
表6に広告主端末30から検索装置10に送信される広告配信データの一例を示す。
【0052】
【表6】
【0053】
[検索装置]
検索装置10は、上述した第一実施形態と略同様の構成を有する。検索装置10の制御部13は、記憶部12に記憶されたプログラムを読み込み実行することで、クエリ取得手段131、インデックス取得手段132、及び検索手段133として機能する。
クエリ取得手段131は、ユーザ端末20から上述した表5に示すようなユーザデータ、クエリスコアを取得し、記憶部12に記憶する。
インデックス取得手段132は、広告主端末30から上述した表6に示すような広告配信データを取得する。そして、インデックス取得手段132は、複数の広告主端末30から送信された広告配信データを統合し、広告IDをドキュメントIDとして新規に振り直して、インデックスとして記憶部12に記憶する。この際、インデックス取得手段132は、各クエリ(ユーザデータ)に対するドキュメントスコアの最大値をMaxスコア、最小値をMinスコアとしてインデックスに記憶する。また、新規に広告配信データを取得すると、当該取得した広告配信データをインデックスに追加し、かつ、Maxスコア及びMinスコアを再算出する。
【0054】
これにより、検索装置10は、ユーザデータをクエリ、ユーザデータに関連付けらえたクエリスコア、インデックスを用い、上述した第一実施形態と同様のWANDアルゴリズムに基づいた検索処理を実施することができ、各ユーザデータ(クエリ)に対して最適なドキュメントIDを抽出することができる。
検索装置10は、抽出されたドキュメントIDに対応した広告データの配信元(広告主端末30)のURLをユーザ端末20に送信する。また、記憶部12に広告データが記憶されている場合、検索装置10は、抽出されたドキュメントIDに対応した広告データを記憶部12から読み出し、ユーザ端末20に送信する。これにより、各ユーザ端末20に、ユーザに対して最適な広告データが配信することができる。
【0055】
[変形例]
第二実施形態において、検索装置10は、広告主端末30から広告配信データを、ネットワークを介して取得し、取得した広告配信データに基づいてインデックスを作成する例を示したが、例えば検索装置10を操作することで、インデックスを作成する等してもよい。
【0056】
第一実施形態の検索装置10の適用例として、広告配信システムを例示したが、これに限定されない。本発明は、クエリを用いた検索処理を実施する装置やシステムに適用でき、例えば、検索キーワード等のクエリに基づいたコンテンツやファイルの検索、店舗等の施設検索等、様々な検索用途に適用することができる。
【0057】
その他、本発明の実施の際の具体的な構造および手順は、本発明の目的を達成できる範囲で他の構造などに適宜変更できる。
【符号の説明】
【0058】
10…検索装置、12…記憶部(インデックス記憶手段)、13…制御部、20…ユーザ端末、30…広告主端末、100…広告検索システム、131…クエリ取得手段、132…インデックス取得手段、133…検索手段、134…スコア算出手段、135…閾値設定手段、136…スキップ判定手段、137…抽出手段。
図1
図2
図3
図4