【文献】
近藤 光正、外2名,Wikipediaに基づくWeb閲覧履歴からの潜在的興味キーワード抽出,電子情報通信学会論文誌,日本,一般社団法人電子情報通信学会,2013年 5月 1日,第J96−D巻,第5号,p.1199−1211
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本願に係る検索装置、検索方法および検索プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る検索装置、検索方法および検索プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
〔1.検索処理の一例〕
まず、
図1を用いて、実施形態に係る検索処理の一例について説明する。
図1は、実施形態に係る検索処理の一例を示す図である。
図1では、本願に係る検索装置100によって、所定のサービスページにアクセスしたユーザに応じた情報コンテンツを検索する処理が行われる一例を示す。なお、実施形態では、サービスページの一例としてウェブページを例に挙げて説明する。また、情報コンテンツの一例として所定の商品レコメンド(以下、単に「レコメンド」と表記する)を例に挙げて説明する。
【0012】
図1に示す検索装置100は、レコメンドに関する情報を保持するサーバ装置である。検索装置100は、ユーザが所定のウェブページにアクセスしたことを契機として、レコメンドを記憶したデータベース(実施形態では、レコメンド情報記憶部125(
図3参照))から、当該ユーザに適するレコメンドを検索する。そして、検索装置100は、検索したレコメンドを当該ユーザに配信する。
【0013】
図1に示すユーザ端末10は、ユーザU01によって利用される情報処理端末である。例えば、ユーザ端末10は、スマートフォンやタブレット型端末である。ユーザ端末10は、ユーザU01による操作に従ってウェブサーバ30(
図2参照)にアクセスし、ウェブサーバ30から提供されるウェブページを取得する。ユーザU01は、ユーザ端末10を介して、ウェブページとして提供される各種サービスを利用する。なお、本明細書中においては、ユーザ端末10と、ユーザ端末10を利用するユーザU01とを同一視する場合がある。例えば、「ユーザU01にウェブページを送信する」とは、実際には、「ユーザU01が利用するユーザ端末10にウェブページを送信する」ことを意味する場合がある。
【0014】
検索装置100は、ユーザ端末10が取得したウェブページにレコメンドを表示する枠(以下、「レコメンド枠」と表記する)が含まれる場合に、当該枠に表示するためのレコメンドをユーザ端末10に配信する。ユーザU01は、例えば、レコメンドをクリックして商品情報を取得したり、レコメンドされた商品を購買したりする。これにより、レコメンドを提供する者(例えば、レコメンドに入札した事業者や、レコメンドされた商品を販売するサービス事業者など)は利益を得る。すなわち、検索装置100は、ユーザU01がレコメンドをクリックしたり購買したりするような、ユーザU01が興味関心を有する対象をレコメンドとして配信することが望ましい。
【0015】
一般に、このようなレコメンドの配信には、ユーザU01が有するクエリ情報が利用される。クエリ情報とは、ユーザU01のネットワーク上の行動履歴や、ユーザU01の属性情報等に基づいて生成される情報であり、ユーザU01に対するレコメンドを検索するために用いられる複数のクエリを含む情報である。
【0016】
例えば、ユーザU01が、所定のショッピングサイトで飲料水を購入したものとする。この場合、ユーザU01のクエリ情報には、購入した飲料水の名称や、「飲料水」といった商品カテゴリや、当該ショッピングサイトの名称等の単語が追加される。具体的には、商品に付与されていたタイトルや説明文が形態素解析され、分解された単語がクエリとして抽出され、ユーザU01のクエリ情報に追加される。そして、ユーザU01に対してレコメンドを検索する機会が発生した場合に、当該クエリ情報を用いてレコメンドが検索される。
【0017】
なお、クエリ情報を構成するクエリは、ユーザU01の行動に応じて順位付けされる。例えば、ユーザU01が同じ飲料水を複数回購入する行動を採っていれば、その分、当該飲料水に関するクエリは上位に位置付けされる。具体的には、ユーザU01の行動履歴に応じて抽出されたクエリのtf値(Term Frequency)等によってクエリが順位付けされる。言い換えれば、クエリ情報におけるクエリは、ユーザU01の行動において出現した回数に応じて順位付けされる。
【0018】
そして、レコメンドを検索する装置は、ユーザU01の上位のクエリを優先的に用いてレコメンドを検索する。例えば、レコメンドを検索する装置は、ユーザU01に対応するクエリ情報に含まれる上位20件のクエリを検索エンジンに入力することで、ユーザU01に配信するクエリを検索する。これにより、ユーザU01の過去の行動に応じたレコメンドが検索され、検索されたレコメンドがユーザU01に配信される。なお、クエリ情報には、ユーザの属性情報(性別や年齢)を含む単語が含まれていてもよい。
【0019】
このように、ユーザU01の過去の行動に応じたレコメンドが配信されることで、例えば、ユーザU01が当該レコメンドを選択(クリック)したり、レコメンドされた商品を購入したりする機会を増大させることができると想定される。すなわち、レコメンドの検索に用いられるクエリ情報は、ユーザU01の行動、言い換えれば、ユーザU01の興味関心を的確に反映したクエリ情報である方が、よりユーザU01にとって訴求効果の高いレコメンドを検索できると想定される。
【0020】
しかしながら、上記のような従来手法では、ユーザU01の行動を的確に示したクエリ情報が抽出されないおそれがある。例えば、ユーザU01は、ネットワークを利用する大抵のユーザと同様に、ネットワークを介して、ウェブサイトの閲覧や、検索行動や、購買行動等の様々な行動を採ると想定される。ここで、ネットワークを利用するユーザは、ある対象(例えば商品)に関連する行動を採るというよりは、検索サービス(実施形態では、検索サービスを提供する検索サイト等のウェブサイトを含む概念であるものとする)やショッピングサービスなど、頻繁に利用するサービスに関連する行動を採りやすい傾向にある。すなわち、ネットワークを利用するユーザは、ある対象に関する情報を得ようとしてサービスを利用するのではなく、あるサービスを利用するためにネットワークにアクセスする場合がある。
【0021】
ここで、ユーザU01の行動に応じてクエリを抽出し、tf値に基づいてクエリを順位付けしてクエリ情報が生成された場合、ユーザU01が利用するサービスに関する情報が欠損する。すなわち、ユーザU01の行動に応じてクエリを抽出し、抽出した回数に応じてクエリが順位付けされたクエリ情報では、ユーザが利用するサービスに関する情報は反映されないため、ユーザの興味関心を的確に表せない可能性がある。このため、例えば、ユーザがあまり利用しないサービスで取り扱っている商品のレコメンドがユーザに配信されたり、ユーザの興味関心の傾向とは異なるレコメンドが配信されたりする可能性がある。この結果、レコメンドがクリックされなかったり、コンバージョン(conversion)に至る確率が下がったりといった、レコメンドの訴求効果を低下させるおそれが生じる。
【0022】
そこで、実施形態に係る検索装置100は、ユーザU01が利用したサービスごとの行動履歴を取得するとともに、それらの行動から抽出したクエリに対して、ユーザU01が利用したサービスごとの重みを付与する。そして、検索装置100は、クエリにサービスごとの重みを付与した情報であるクエリ情報を用いて、ユーザU01に配信するレコメンドを検索する。かかる手法により、検索装置100は、ユーザU01の行動に即したレコメンドを的確に検索することができる。以下、
図1を用いて、検索装置100によって行われる検索処理の一例を流れに沿って説明する。
【0023】
図1において、ユーザU01は、ユーザ端末10を介して、日常的に各種サービスを利用するものとする(ステップS11)。実施形態では、ユーザU01は、例えば、検索サービスA01や、ショッピングサービスA02や、オークションサービスA03や、ニュースサービスA04等を利用する。
【0024】
ここで、検索装置100は、ユーザU01が利用したサービスに関する行動履歴を取得する(ステップS12)。例えば、検索装置100は、ユーザ端末10がアクセスした各ウェブサーバ30を介して、ユーザU01がサービスを利用した行動履歴を取得する。
【0025】
具体的には、検索装置100は、ユーザU01が検索サービスA01を利用して検索を行う頻度(例えば、所定期間における検索回数など)、検索サービスA01に送信したクエリの種別や回数、検索サービスA01へのアクセス回数等を取得する。また、検索装置100は、ユーザU01がショッピングサービスA02を利用する頻度や、閲覧した商品や購入した商品に関する情報、購入回数、利用金額等を取得する。また、検索装置100は、オークションサービスA03を利用する頻度や、入札もしくは落札した回数、入札もしくは落札した商品に関する情報等、利用金額等を取得する。また、検索装置100は、ニュースサービスA04を利用する頻度や、閲覧した記事の数、閲覧した記事のタイトル、閲覧した記事に含まれるキーワード、閲覧時間等を取得する。
【0026】
なお、上記で挙げた検索装置100が取得する行動履歴は一例であり、検索装置100は、ユーザU01の行動履歴(ログ)として記憶されるあらゆる情報をサービスごとに取得してもよい。
【0027】
そして、検索装置100は、各種サービスの行動履歴に基づいてクエリを抽出する(ステップS13)。例えば、検索装置100は、ユーザU01が利用した行動履歴から特定される単語をクエリとして抽出する。
【0028】
検索装置100は、例えば、ユーザU01が検索サービスA01に送信した検索クエリを、クエリとして抽出する。また、検索装置100は、ユーザU01が検索サービスA01から得た検索結果に対して、ユーザU01がクリックしたページ(すなわち、検索結果のリンク先)に関する情報からクエリを抽出する。例えば、検索装置100は、リンク先のページに含まれる単語を形態素解析し、得られた単語をクエリとして抽出する。また、検索装置100は、ショッピングサービスA02やオークションサービスA03においてユーザU01が選択した商品の名称や、商品のタイトルに含まれる単語をクエリとして抽出する。また、検索装置100は、ニュースサービスA04においてユーザU01が選択した記事のタイトルに含まれる単語をクエリとして抽出する。
【0029】
具体的には、ユーザU01が、検索サービスA01に「水」という検索クエリを送信していた場合、検索装置100は、クエリとして「水」を抽出する。また、ユーザU01が、ショッピングサービスA02で商品「テレビ」を閲覧していた場合、検索装置100は、クエリとして「テレビ」を抽出する。なお、検索装置100は、この場合、「水」という単語が含まれるカテゴリである「飲料品」や、「テレビ」という単語が含まれるカテゴリである「家電」等をクエリとして抽出してもよい。
【0030】
なお、上記で挙げた検索装置100が抽出するクエリは一例であり、検索装置100は、ユーザU01の行動履歴から抽出される様々な単語をクエリとして抽出してよい。また、検索装置100は、クエリの抽出に関する既知の様々な手法を利用してもよい。また、検索装置100は、例えば抽出対象となるドキュメント(商品のタイトルや、記事のタイトル等)におけるtf−idf(Term Frequency、Inverse Document Frequency)等を利用して、クエリになりうる単語を抽出するようにしてもよい。例えば、検索装置100は、所定のドキュメントにおいて形態素解析された単語に対してtf−idf等の値を算出し、算出した値の上位から順に単語を抽出する。これにより、検索装置100は、例えば一般に広く用いられる単語については、抽出されるクエリから除外することができる。
【0031】
続けて、検索装置100は、ユーザU01が利用したサービスごとの重みを算出して、ユーザU01のクエリ情報Q01を生成する(ステップS14)。例えば、検索装置100は、ユーザU01のサービスの利用頻度に応じて、ユーザU01に関するサービスごとの重みを算出する。具体的には、検索装置100は、ユーザU01がサービスにアクセスした頻度に基づいて、サービスごとの重みを算出する。
【0032】
また、詳細は後述するが、検索装置100は、ユーザU01に対して配信したレコメンドに対する反応に基づいて、サービスごとの重みを算出してもよい。例えば、検索装置100が配信するレコメンドは、ショッピングサービスA02で取り扱う商品であったり、オークションサービスA03で取り扱う商品であったりする。そして、検索装置100は、ユーザU01が配信されたレコメンドをクリックした場合や、レコメンドに対してコンバージョンした場合に、当該レコメンドに対応するサービスを特定する。そして、検索装置100は、ユーザU01にとって、当該レコメンドに対応するサービスの重みが重くないように重みを算出する。
【0033】
例えば、検索装置100は、ユーザU01にとって最も重みの重いサービスが検索サービスA01であると算出したものとする。この場合、検索装置100は、例えば、ユーザU01の行動履歴から抽出されたクエリの頻度(抽出された回数)と、サービスごとの重みを乗算して、クエリごとのスコアを算出する。
【0034】
具体例を挙げて説明する。例えば、ユーザU01の検索サービスA01の行動履歴からクエリ「水」が「10」回抽出され、ショッピングサービスA02の行動履歴からもクエリ「水」が「10」回抽出され、オークションサービスA03の行動履歴からもクエリ「水」が「10」回抽出され、ニュースサービスA04の行動履歴からもクエリ「水」が「10」回抽出されたものとする。そして、ユーザU01における検索サービスA01の重みが「6」であり、ショッピングサービスA02の重みが「3」であり、オークションサービスA03の重みが「1」であり、ニュースサービスA04の重みが「1」であるものとする。
【0035】
このとき、実施形態に係る検索装置100は、「水」のスコアとして、単純に出現回数(抽出回数)を用いて「10+10+10+10=40」と算出するのではなく、各サービスの重みを乗算した、「10*6+10*3+10*1+10*1=110」と算出する。このように、検索装置100は、クエリの抽出された回数のみならず、ユーザU01のサービスの重みを加味したスコアの算出を行う。これにより、検索装置100は、ユーザU01のサービスの利用頻度や、サービスに対応した興味関心に応じたクエリのスコアを算出することができるので、よりユーザU01の行動の特徴を示したクエリ情報Q01を生成することができる。このようにして、検索装置100は、スコアの付与された複数のクエリを含む、ユーザU01に対応したクエリ情報Q01を生成する。
【0036】
なお、上記は説明のため算出手法を簡略化しているが、実際には、検索装置100は、種々の正規化等の既知の手法を用いてスコアの算出を行ってもよい。
【0037】
検索装置100は、生成したクエリ情報Q01をユーザU01と対応付けて所定の記憶部に記憶する(ステップS15)。ここまで説明してきた処理が、検索装置100における、ユーザU01に関するクエリ抽出処理(抽出フェーズ)である。
【0038】
続いて、検索装置100が、クエリ情報Q01に基づいてユーザU01に配信するレコメンドを検索する処理(検索フェーズ)について説明する。
【0039】
図1に示すように、ユーザ端末10は、ユーザU01の操作に従い、所定のサービスページ(例えばウェブページ)にアクセスする(ステップS21)。ユーザ端末10がアクセスしたサービスページには、3つのレコメンド枠が含まれるものとする。この場合、ユーザ端末10は、サービスページに含まれる命令(スクリプト)に従い、レコメンドの配信要求を検索装置100に送信する。
【0040】
配信要求を受信した検索装置100は、予め記憶しておいたクエリ情報Q01に基づいて、ユーザU01に対応するレコメンドを検索する(ステップS22)。なお、クエリ情報Q01に含まれるクエリには、上述のように、サービスごとの重みに基づいて算出された所定のスコアが付与される。そして、クエリ情報Q01では、スコアに基づいて各クエリに順位付けがされているものとする。
【0041】
そして、検索装置100は、クエリ情報Q01と、保持する複数のレコメンドとのマッチングを行う。例えば、検索装置100が保持するレコメンドには予め対応するクエリがタグ付けされており、検索装置100は、クエリ情報Q01とレコメンドにタグ付けされたクエリとをマッチングする。
【0042】
例えば、クエリ情報Q01には、比較的高いスコアを有するクエリとして、「水」や、「飲料品」や、「テレビ」や、「家電」等が含まれるものとする。また、例えば、レコメンドP01やレコメンドP02には、タグ付けされたクエリとして、「水」や「飲料品」が含まれるものとする。また、レコメンドP03には、タグ付けされたクエリとして、「テレビ」や「家電」が含まれるものとする。そして、検索装置100は、クエリ情報Q01に含まれるクエリと、各レコメンドにタグ付けされたクエリとをマッチングさせ、いずれかのレコメンドを検索する。なお、このような検索処理には、既知の転置インデックスの手法等が適宜応用されてもよい。すなわち、検索装置100は、クエリに付与されたスコアと、レコメンドにタグ付けされたクエリのスコアとを乗算し、最もスコアの高いレコメンドを優先的に選択する等の手法を採用してもよい。
【0043】
上記検索処理によって、検索装置100は、ユーザU01に配信するレコメンドとして、レコメンドP01、レコメンドP02及びレコメンドP03を検索したものとする。この場合、検索装置100は、検索したレコメンドP01、レコメンドP02及びレコメンドP03をユーザ端末10に配信する(ステップS23)。
【0044】
図1を用いて説明してきたように、実施形態に係る検索装置100は、ユーザU01のネットワーク上の行動履歴であって、ユーザU01が利用したサービスごとの行動履歴を取得する。そして、検索装置100は、取得された行動履歴から、ユーザU01に対応するクエリを抽出する。さらに、検索装置100は、抽出されたクエリに対してサービスごとの重みを付与した情報であるクエリ情報を用いて、ユーザU01に推薦する情報コンテンツ(すなわち、レコメンド)を検索する。
【0045】
このように、検索装置100は、ユーザU01が利用したサービスごとに重み付けされたクエリを用いて検索を行うことで、ユーザU01の行動をより反映したレコメンドを検索することができる。このため、検索装置100によれば、ユーザにクリックされ易かったり、コンバージョンに至る可能性の高かったりする、いわゆる訴求効果の高いレコメンドを検索することができる。すなわち、検索装置100は、ネットワークを利用するユーザU01の行動に即した、ユーザU01の多様な行動履歴に応じてレコメンドを行うことができる。
【0046】
なお、
図1では、ステップS11において、ユーザU01が利用したサービスごとの行動履歴を検索装置100が取得する例を示した。この場合、検索装置100は、ウェブビーコン(web beacon)等によって実現される通知機能を利用して、ユーザの行動情報を取得してもよい。
【0047】
すなわち、レコメンドが表示されるウェブページには、ウェブビーコン等によって実現される、ユーザに関する情報(以下、「ユーザ情報」と表記する)を通知する機能が埋め込まれる場合がある。例えば、ウェブビーコンは、ウェブページにアクセスしたユーザ端末10を検索装置100内に格納される透明な画像又は非常に小さな画像(「クリアGIF」と呼ばれることもある)にアクセスさせる機能を有する。これにより、検索装置100は、ユーザ端末10からユーザ情報を受信し、取得することができる。例えば、検索装置100は、ウェブビーコンによって実現される機能により、ユーザU01がユーザ端末10上において、レコメンドをクリックしたことや、購買行動を行ったことや、レコメンドのリンク先のページ(ランディングページ)を閲覧した情報などを受信することができる。
【0048】
以下、
図1で説明した処理を行う検索装置100、及び、検索装置100を含む検索システム1の構成等について、詳細に説明する。
【0049】
〔2.検索システムの構成〕
図2を用いて、実施形態に係る検索装置100が含まれる検索システム1の構成について説明する。
図2は、実施形態に係る検索システム1の構成例を示す図である。
図2に例示するように、実施形態に係る検索システム1には、ユーザ端末10と、ウェブサーバ30と、検索装置100とが含まれる。これらの各種装置は、ネットワークN(例えば、インターネット)を介して、有線又は無線により通信可能に接続される。なお、
図2に示した検索システム1には、複数台のユーザ端末10や、複数台のウェブサーバ30が含まれてもよい。
【0050】
ユーザ端末10は、例えば、スマートフォンや、デスクトップ型PC(Personal Computer)や、ノート型PCや、タブレット型端末や、携帯電話機、PDA(Personal Digital Assistant)、ウェアラブルデバイス(Wearable Device)等の情報処理装置である。ユーザ端末10は、ユーザによる操作に従って、ウェブサーバ30にアクセスすることで、ウェブサーバ30から提供されるウェブサイトからウェブページを取得する。そして、ユーザ端末10は、取得したウェブページを表示装置(例えば、液晶ディスプレイ)に表示する。
【0051】
ウェブサーバ30は、ユーザ端末10からアクセスされた場合に、各種サービスを提供するサーバ装置である。実施形態では、ウェブサーバ30は、サービスとして各種ウェブサイトを提供するものとする。例えば、ウェブサーバ30は、ウェブ検索サイト、ショッピングサイト、オークションサイト、ニュースサイト、天気予報サイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、ウェブブログなどに関する各種ウェブページを提供する。
【0052】
例えば、
図1で例に挙げた検索サービスA01は、所定のウェブ検索サイトや路線検索サイトや地図提供サイト等に対応する。また、ショッピングサービスA02は、所定のショッピングサイトや旅行サイト等に対応する。また、オークションサービスA03は、所定のオークションサイトに対応する。また、ニュースサービスA04は、所定のニュースサイトや天気予報サイトやファイナンスサイトやウェブブログ等に対応する。
【0053】
なお、ウェブサーバ30によって配信されるウェブページには、レコメンドや広告コンテンツを表示するためのレコメンド枠や広告枠が含まれる。そして、レコメンド枠や広告枠を含むウェブページには、当該枠に表示するレコメンドや広告コンテンツを取得するための取得命令が含まれる。例えば、ウェブページを形成するHTML(HyperText Markup Language)ファイル等には、検索装置100のURL等が取得命令として記述される。この場合、ユーザ端末10は、HTMLファイル等に記述されているURLにアクセスすることで、検索装置100からレコメンドや広告コンテンツの配信を受ける。
【0054】
検索装置100は、ユーザが利用したサービスごとの行動履歴からユーザに対応するクエリを抽出し、抽出されたクエリに対してサービスごとの重みを付与した情報であるクエリ情報を用いて、当該ユーザに配信するレコメンドを検索するサーバ装置である。
【0055】
上述のように、検索装置100は、レコメンドの配信にあたって、ユーザ端末10を識別し、レコメンドを配信するユーザ端末10を特定する。例えば、ユーザの識別は、ユーザ端末10のウェブブラウザと検索装置100との間でやり取りされるクッキー(Cookie)にユーザ識別情報を含めることによって行うことができる。ただし、ユーザを識別する手法は上記に限られない。例えば、ユーザ端末10に専用のプログラムを設定し、かかる専用プログラムからユーザ識別情報を検索装置100に送信させてもよい。また、検索装置100は、各ウェブサイトに登録されているユーザ情報(例えば、ユーザの属性情報)と、広告配信要求を送信したユーザ端末10のクッキーとを照合することにより、各ユーザのクエリ情報を取得してもよい。
【0056】
〔3.検索装置の構成〕
次に、
図3を用いて、実施形態に係る検索装置100の構成について説明する。
図3は、実施形態に係る検索装置100の構成例を示す図である。
図3に示すように、検索装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、検索装置100は、検索装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0057】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、ネットワークNと有線又は無線で接続され、ネットワークNを介して、ユーザ端末10やウェブサーバ30との間で情報の送受信を行う。
【0058】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、行動履歴記憶部121と、クエリ記憶部122と、レコメンド情報記憶部125とを有する。
【0059】
(行動履歴記憶部121について)
行動履歴記憶部121は、ユーザのサービスごとの行動履歴を記憶する。ここで、
図4に、実施形態に係る行動履歴記憶部121の一例を示す。
図4は、実施形態に係る行動履歴記憶部121の一例を示す図である。
図4に示した例では、行動履歴記憶部121は、「ユーザID」、「行動ログ」といった項目を有する。また、「行動ログ」の項目は、「サービス」、「行動」、「クエリ」といった小項目を有する。
【0060】
「ユーザID」は、ユーザ又はユーザ端末10を識別するための識別情報を示す。なお、本明細書中では、
図4に示したような識別情報を参照符号として用いる場合がある。例えば、ユーザID「U01」によって識別されるユーザを「ユーザU01」と表記する場合がある。
【0061】
「行動ログ」は、ユーザが各サービスを利用した際に記録されるログを示す。「サービス」は、ユーザが利用したサービスの名称を示す。「行動」は、ユーザがサービスにおいて採った行動や、サービスに関連した行動を示す。「クエリ」は、ユーザの行動において抽出されたクエリの一例を示す。
【0062】
すなわち、
図4に示したデータの一例は、ユーザID「U01」によって識別されるユーザU01は、「検索サービスA01」において、「水」を検索クエリとした検索行動を行ったことを示している。また、当該行動によって抽出されたクエリは、「水」や、「商品PR01」や、「ショップE01」等であることを示している。
【0063】
なお、行動履歴記憶部121には、ユーザがサービスにアクセスして実行した行動のみならず、各サービスに関連したユーザ行動が記憶されてもよい。例えば、
図4に示したデータの一例は、ユーザU01は、「検索サービスA01」に由来して配信された「レコメンドP01」へのクリックを行なったことを示している。
【0064】
なお、サービスに由来して配信されたレコメンドとは、例えば、当該サービスの利用によって抽出されたクエリに基づいて検索されたレコメンドを示す。また、例えば、サービスに由来して配信されたレコメンドとは、当該サービスで取り扱う商品に対応するレコメンドを示す。例えば、「ショッピングサービスA02」に由来して配信された「レコメンドP02」とは、ユーザがショッピングサービスA02を利用したログから抽出されたクエリに基づいて検索されたレコメンドであるか、あるいは、ショッピングサービスA02で取り扱う商品に対応するレコメンドであることを示す。いずれにせよ、サービスに由来して配信されたレコメンドに対して、ユーザがクリック等の行動を行なった場合、当該行動がログとして記憶されるとともに、当該行動からクエリが抽出される。
【0065】
なお、
図4での図示は省略したが、行動履歴記憶部121には、ユーザが行動を行った日時や、所定のサービスの利用回数や頻度を統計した情報等が記憶されてもよい。
【0066】
(クエリ記憶部122について)
クエリ記憶部122は、クエリに関する情報を記憶する。実施形態において、クエリ記憶部122は、サービステーブル123と、クエリテーブル124というデータテーブルを有する。
【0067】
(サービステーブル123について)
サービステーブル123は、ユーザによって利用されたサービスと、クエリ情報におけるサービスごとの重みに関する情報を記憶する。ここで、
図5に、実施形態に係るサービステーブル123の一例を示す。
図5は、実施形態に係るサービステーブル123の一例を示す図である。
図5に示した例では、サービステーブル123は、「ユーザID」、「サービス」、「利用情報」、「反応情報」、「重み」といった項目を有する。
【0068】
「ユーザID」及び「サービス」は、
図4に示した同一の項目に対応する。「利用情報」は、ユーザがサービスを利用した際の行動情報を示す。「反応情報」は、サービスに関連するレコメンドに対するユーザの反応に関する情報を示す。
【0069】
なお、
図5に示した例では、「利用情報」や「反応情報」を「F01」や「G01」といった概念で示しているが、実際には、利用情報には、ユーザがサービスを利用した頻度や、利用した行動内容(滞在時間やクリック回数、利用金額などを含む)等を統計した情報が含まれる。また、実際には、反応情報には、サービスに由来するレコメンドをクリックした回数や頻度、レコメンドにコンバージョンした回数や頻度等を統計した情報が含まれる。
【0070】
なお、検索装置100は、利用情報や反応情報を、所定のスコアで表してもよい。例えば、検索装置100は、サービスの利用回数や頻度等に応じて、利用情報に関するスコアを算出してもよい。また、検索装置100は、レコメンドへのクリックやコンバージョン数や率等に応じて、反応情報に関するスコアを算出してもよい。そして、検索装置100は、利用情報や反応情報のスコアに基づいて、サービスごとの重みを算出してもよい。
【0071】
「重み」は、ユーザのクエリ情報におけるサービスごとの重みを示す。上述のように、重みの重いサービスにおける行動から抽出されたクエリは、ユーザのクエリ情報において比較的高いスコアが算出される。
【0072】
すなわち、
図5に示す一例では、ユーザU01の検索サービスA01の利用情報は「F01」であり、反応情報は「G01」であり、これらの情報から求められた検索サービスA01の重みは「6」であることを示している。
【0073】
(クエリテーブル124について)
クエリテーブル124は、クエリ情報に含まれるクエリに関する情報を記憶する。ここで、
図6に、実施形態に係るクエリテーブル124の一例を示す。
図6は、実施形態に係るクエリテーブル124の一例を示す図である。
図6に示した例では、クエリテーブル124は、「ユーザID」、「クエリ情報ID」、「クエリ」、「サービス情報」、「総合スコア」といった項目を有する。また、「サービス情報」の項目は、「サービス」、「サービス別スコア」、「重み」といった小項目を有する。
【0074】
「ユーザID」は、
図4で示した同一の項目に対応する。「クエリ情報ID」は、クエリ情報を識別する識別情報を示す。「クエリ」は、ユーザの行動履歴から抽出されたクエリであって、ユーザのクエリ情報に含まれるクエリを示す。「サービス情報」は、サービスごとのクエリに関する情報を示す。
【0075】
「サービス」は、
図4で示した同一の項目に対応する。「サービス別スコア」は、サービス別に抽出されたクエリに関するスコアを示す。例えば、サービス別スコアは、サービスにおける行動履歴から抽出された回数に応じたスコアを示す。「重み」は、
図5で示した同一の項目に対応する。「総合スコア」は、クエリ情報に含まれるクエリの、サービスごとの重みを加味したスコアを示す。例えば、総合スコアは、全てのサービスにおける、サービス別スコアと重みとの積を加算して算出される。
【0076】
すなわち、
図6に示す一例では、ユーザU01のクエリ情報Q01において、クエリ「水」は、「検索サービスA01」におけるサービス別スコアが「7」であり、また、検索サービスA01の重みは「6」であることを示している。また、クエリ「水」は、「ショッピングサービスA02」におけるサービス別スコアが「8」であり、「オークションサービスA03」におけるサービス別スコアが「7」であり、「ニュースサービスA04」におけるサービス別スコアが「4」であることを示している。そして、
図6に示す例では、クエリ「水」の総合スコアは、「7*6+8*3+7*1+4*1=77」であることを示している。
【0077】
(レコメンド情報記憶部125について)
レコメンド情報記憶部125は、レコメンドに関する情報を記憶する。ここで、
図7に、実施形態に係るレコメンド情報記憶部125の一例を示す。
図7は、実施形態に係るレコメンド情報記憶部125の一例を示す図である。
図7に示した例では、レコメンド情報記憶部125は、「レコメンドID」、「商品ID」、「対応サービス」、「商品カテゴリ」、「対応クエリ」といった項目を有する。
【0078】
「レコメンドID」は、レコメンドを識別する識別情報を示す。「商品ID」は、レコメンドに対応する商品を識別する識別情報を示す。「対応サービス」は、レコメンドされる商品が取り扱われているサービスを示す。「商品カテゴリ」は、レコメンドされる商品が属するカテゴリを示す。「対応クエリ」は、レコメンドの検索に用いられるクエリであり、レコメンドにタグ付けされたクエリを示す。
【0079】
すなわち、
図7に示す一例では、レコメンドID「P01」で識別されるレコメンドP01は、商品ID「PR01」で識別される商品PR01に関するレコメンドであることを示している。また、レコメンドP01に対応するサービスは「ショッピングサービスA02」であり、商品カテゴリは「飲料品」であり、対応クエリは、「水、安い、商品PR01、飲食、健康、・・・」等であることを示している。
【0080】
なお、レコメンドに対応する(タグ付けされる)クエリには、所定の順位やスコアが付されていてもよい。例えば、レコメンドP01は、クエリ「健康」よりも、クエリ「水」とマッチングした方が、より検索されやすいなどの順位付けがなされていてもよい。
【0081】
また、実際にユーザ端末10に配信されるレコメンドのデータ(画像データ等)は、検索装置100とは別に備えられた所定のストレージサーバに記憶されてもよい。この場合、検索装置100は、レコメンド情報記憶部125に記憶されたレコメンドIDに基づいて、外部のストレージサーバに記憶されたレコメンドを特定する。そして、検索装置100は、ストレージサーバに対して、特定されたレコメンドをユーザ端末10に対して配信するよう制御する。
【0082】
(制御部130について)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、検索装置100内部の記憶装置に記憶されている各種プログラム(検索プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0083】
図3に示すように、制御部130は、取得部131と、抽出部132と、生成部133と、受信部134と、検索部135と、配信部136とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0084】
(取得部131について)
取得部131は、各種情報を取得する。例えば、取得部131は、ユーザのネットワーク上の行動履歴であって、当該ユーザが利用したサービスごとの行動履歴を取得する。
【0085】
例えば、取得部131は、ユーザがサービスを利用した回数や頻度、サービスを利用した時間長、サービスに課金した金額(例えば、サービスにおける商品の購買額等)又はサービスを利用した日時等の情報を含む行動履歴(ログ)を取得する。
【0086】
具体的には、取得部131は、ユーザが利用したサービスとして、検索サービスA01や、ショッピングサービスA02や、オークションサービスA03や、ニュースサービスA04の少なくともいずれか一つにおけるユーザの行動履歴を取得する。このように、取得部131が多様なサービスの行動履歴を取得することで、後述する検索部135は、ユーザの行動をより反映したレコメンドを検索することができる。
【0087】
また、取得部131は、実際にユーザ端末10にレコメンドが配信された際に、レコメンドに対するユーザの反応を取得してもよい。例えば、取得部131は、レコメンドに対するユーザの反応として、レコメンドがユーザから選択(クリックやタッチ)された数もしくは率、又は、レコメンドに関するコンバージョンが達成された数もしくは率、また、レコメンドが閲覧された数もしくは時間長の少なくともいずれか一つを取得する。すなわち、取得部131は、CTR(Click Through Rate)やCVR(Conversion Rate)等の訴求効果を示す指標値を取得してもよい。
【0088】
また、取得部131は、検索部135によって検索されたレコメンドであって、レコメンドが検索される要因となったサービス、もしくは、レコメンドと関連するサービスに関する情報を取得する。レコメンドが検索される要因となったサービスとは、例えば、クエリのスコアが算出される際に最も影響を与えたサービス等が該当する。すなわち、取得部131は、ユーザが反応を示したレコメンドが、どのようなサービスに由来するレコメンドであるかといった情報を取得する。
【0089】
取得部131は、取得した情報を記憶部120内の各記憶部に格納する。例えば、取得部131は、取得したユーザの行動履歴を行動履歴記憶部121に格納する。また、取得部131は、取得したユーザの行動履歴から導出される利用情報や反応情報をサービステーブル123に記憶する。
【0090】
(抽出部132について)
抽出部132は、取得部131によって取得された行動履歴から、ユーザに対応するクエリを抽出する。例えば、抽出部132は、クエリとして、行動履歴に含まれる単語を抽出する。
【0091】
例えば、抽出部132は、ユーザが検索サービスA01において送信した検索クエリを、検索処理に用いるクエリとして抽出する。また、抽出部132は、ユーザが利用した各サービスにおいてクリックした商品のタイトルや、商品の説明文や、記事のタイトルや、記事に含まれるテキストデータ等からクエリを抽出する。例えば、抽出部132は、ユーザの行動履歴に基づいて、商品のタイトル等を構成するテキストデータを形態素解析する。そして、抽出部132は、形態素解析した単語をクエリとして抽出する。例えば、抽出部132は、過去にクエリとして用いられた実績の多い単語ほど優先的に、検索処理に用いる単語として抽出する。
【0092】
なお、抽出部132は、tf−idf等の重み値を利用してクエリになりうる単語を抽出してもよい。例えば、抽出部132は、過去にクエリとして用いられた回数の多い単語であっても、当該単語が広く一般に使用される単語であり、レコメンドの検索処理に有用でないと判定される単語については、クエリとして抽出しないようにしてもよい。
【0093】
抽出部132は、抽出したクエリと抽出先となったサービスとを対応付けて、クエリ記憶部122に格納する。
【0094】
(生成部133について)
生成部133は、抽出部132によって抽出されたクエリに基づいて、ユーザごとのクエリ情報を生成する。例えば、生成部133は、ユーザの行動履歴に基づいて抽出されたクエリに対してサービスごとの重みが付与された情報であるクエリ情報を生成する。
【0095】
例えば、生成部133は、
図6に示したように、ユーザの行動履歴から抽出されたクエリの種別と、クエリのサービス別のスコアと、サービスごとの重みが対応付けられたクエリ情報を生成する。
【0096】
生成部133は、例えば、
図5に示した利用情報及び反応情報に基づいて、各ユーザに対応するサービスごとの重みを算出する。例えば、生成部133は、ユーザの利用回数の多いサービスほど重みが重くなるよう、重みを算出する。また、生成部133は、反応情報として、ユーザのCTRが高いレコメンドに対応するサービスほど重みが重くなるよう、重みを算出する。
【0097】
なお、生成部133は、上記の他に、取得部131によって取得された情報を種々に組み合わせて重みを算出してもよい。例えば、生成部133は、ユーザがサービスを利用した回数のみならず、ユーザが所定期間においてサービスを利用する頻度、サービスを利用した時間長、サービスに課金した金額、又はサービスを利用した日時(例えば、サービスを利用した日時の新しいものほど重みを重くするなど)等に基づいて、重みを算出してもよい。
【0098】
そして、生成部133は、サービスごとの重みを加味して算出された総合スコアに基づいて、クエリが順位付けされたクエリ情報を生成する。生成部133は、生成したクエリ情報をクエリ記憶部122のクエリテーブル124に格納する。
【0099】
(受信部134について)
受信部134は、レコメンドの配信要求をユーザから受信する。具体的には、受信部134は、ウェブページを表示するユーザ端末10から送信される要求であって、ウェブページに含まれるレコメンド枠で表示するレコメンドの配信に関する要求を受け付ける。受信部134は、受信した配信要求を検索部135に送る。
【0100】
なお、受信部134は、ユーザ端末10から送信される配信要求を受信するとともに、ユーザ端末10を識別する情報を受け付けてもよい。例えば、受信部134は、ユーザ端末10から送信されるクッキーを受け付ける。
【0101】
(検索部135について)
検索部135は、抽出部132によって抽出されたクエリに対してサービスごとの重みを付与した情報であるクエリ情報を用いて、ユーザに推薦する情報コンテンツ(レコメンド)を検索する。具体的には、検索部135は、生成部133によって生成されたクエリ情報に基づいて、クエリ情報に含まれるクエリにマッチングするレコメンドを検索する。
【0102】
例えば、検索部135は、ユーザがサービスを利用した回数、サービスを利用した時間長、サービスに課金した金額、又はサービスを利用した日時の少なくともいずれか一つに基づいて算出された重みが付与されたクエリ情報を用いてレコメンドを検索する。
【0103】
また、検索部135は、ユーザに配信されたレコメンドに対するユーザの反応に基づいて重みが更新されたクエリ情報を用いてレコメンドを検索してもよい。例えば、検索部135は、ユーザがレコメンドをクリックした数や率、レコメンドへのコンバージョン等に応じて重みが算出されたクエリ情報を用いてレコメンドを検索する。
【0104】
この場合、検索部135は、レコメンドが検索される要因となったサービス、もしくは、レコメンドと関連するサービスに関する情報、すなわち、レコメンドが検索される由来となったサービスを特定する。そして、検索部135は、特定されたサービスに関する情報に基づいて重みが更新されたクエリ情報を用いてレコメンドを検索する。
【0105】
具体的には、検索部135は、ユーザがクリックしたレコメンドがショッピングサービスA02で取り扱われている商品に関するレコメンドであったり、ショッピングサービスA02における行動履歴から抽出されたクエリを主要因として検索されたレコメンドであったりすることを特定したとする。この場合、検索部135は、次回からのレコメンドの検索機会においては、特定されたサービスに関する情報に基づいてショッピングサービスA02に関する重みが重く更新されたクエリ情報を用いてレコメンドを検索する。なお、重みの算出については、例えば生成部133によって行われる。
【0106】
上述のように、検索部135は、ユーザ端末10に表示させる情報コンテンツとして、サービスで取り扱う商品や役務を含む商材に関するレコメンドを検索する。例えば、検索部135は、クエリ情報と、レコメンド情報記憶部125に記憶されているレコメンドとのマッチングに基づいて、レコメンドを検索する。なお、クエリ情報に含まれるクエリと、レコメンドにタグ付けされたクエリとをマッチングさせる処理については、例えば既知の検索手法が適宜用いられてもよい。
【0107】
具体的には、検索部135は、検索結果として出力したスコアの順にレコメンドをランク付けする。そして、検索部135は、ランクが上位のレコメンドから順に検索結果として表示されるよう、検索結果としてのレコメンドを整列させる。すなわち、検索部135によって、よりクエリ情報とマッチングしたと判定されたレコメンドほど、検索結果における上位のレコメンドとして扱われる。
【0108】
(配信部136について)
配信部136は、各種情報を配信する。例えば、配信部136は、レコメンドの配信要求を送信したユーザにレコメンドを配信する。具体的には、配信部136は、検索部135によって検索されたレコメンドをユーザ端末10に配信する。
【0109】
なお、配信部136は、検索部135によって検索されたレコメンドが順位付けされている場合には、上位の順位のレコメンドから優先的に配信する。また、配信部136は、ユーザ端末10が表示したウェブページに複数のレコメンド枠がある場合には、当該レコメンド枠に対応した数のレコメンドを配信する。
【0110】
〔4.ウェブサーバの構成〕
次に、
図8を用いて、実施形態に係るウェブサーバ30の構成について説明する。
図8は、実施形態に係るウェブサーバ30の構成例を示す図である。
図8に示すように、ウェブサーバ30は、通信部31と、コンテンツ記憶部32と、制御部33とを有する。
【0111】
通信部31は、例えば、NIC等によって実現される。そして、通信部31は、ネットワークNと有線または無線で接続され、ユーザ端末10や検索装置100との間で情報の送受信を行う。
【0112】
コンテンツ記憶部32は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。そして、コンテンツ記憶部32は、コンテンツ(実施形態ではウェブページ)に関する情報を記憶する。例えば、コンテンツ記憶部32は、ウェブページを形成するHTMLファイルや、ウェブページに表示される静止画像や動画像を記憶する。なお、コンテンツ記憶部32に記憶されるウェブページには、広告コンテンツを表示する広告枠や、レコメンドを表示するレコメンド枠が含まれてもよい。
【0113】
制御部33は、例えば、CPUやMPU等によって、ウェブサーバ30内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部33は、例えば、ASICやFPGA等の集積回路により実現される。
【0114】
図8に示すように、制御部33は、受付部34と、配信部35とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部33の内部構成は、
図8に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部33が有する各処理部の接続関係は、
図8に示した接続関係に限られず、他の接続関係であってもよい。
【0115】
受付部34は、ユーザ端末10からウェブページの取得要求を受け付ける。例えば、受付部34は、ウェブページの取得要求として、HTTPリクエストを受け付ける。
【0116】
配信部35は、受付部34によってウェブページの取得要求が受け付けられた場合に、ウェブページをユーザ端末10に配信する。具体的には、配信部35は、コンテンツ記憶部32から取得要求対象のウェブページを取得し、取得したウェブページをユーザ端末10に配信する。また、配信部35は、ユーザ端末10がウェブページにおいて行った行動に関する情報(すなわち、サービスにおける行動ログ)を検索装置100に送信してもよい。
【0117】
〔5.処理手順〕
次に、
図9、
図10及び
図11を用いて、実施形態に係る検索装置100による処理の手順について説明する。まず、
図9を用いて、検索装置100が、クエリ情報を生成する処理の手順を説明する。
図9は、実施形態に係る処理手順を示すフローチャート(1)である。
【0118】
図9に示すように、検索装置100は、ユーザが利用したサービスごとの行動履歴を取得する(ステップS101)。そして、検索装置100は、取得した行動履歴からクエリを抽出する(ステップS102)。
【0119】
ここで、検索装置100は、取得したサービスごとの行動履歴に基づいて、サービスごとの重みを算出する(ステップS103)。そして、検索装置100は、クエリと、サービスごとの重みとを含む、各ユーザに対応するクエリ情報を生成する(ステップS104)。
【0120】
次に、
図10を用いて、検索装置100がレコメンドを検索する処理の手順を説明する。
図10は、実施形態に係る処理手順を示すフローチャート(2)である。
【0121】
図10に示すように、検索装置100は、ユーザ端末10からレコメンドの配信要求を受信したか否かを判定する(ステップS201)。配信要求を受信していない場合(ステップS201;No)、検索装置100は、配信要求を受信するまで待機する。
【0122】
一方、配信要求を受信した場合(ステップS201;Yes)、検索装置100は、配信要求を送信したユーザに対応するクエリ情報に基づいて、レコメンドを検索する(ステップS202)。そして、検索装置100は、配信要求を送信したユーザに対して、検索したレコメンドを配信する(ステップS203)。
【0123】
次に、
図11を用いて、サービスごとの重みを更新する処理に関する手順を説明する。
図11は、実施形態に係る処理手順を示すフローチャート(3)である。
【0124】
図11に示すように、検索装置100は、レコメンドに対する反応をユーザから取得したか否かを判定する(ステップS301)。検索装置100は、反応を受け付けていない場合(ステップS301;No)、受け付けるまで待機する。
【0125】
なお、実施形態において、「反応を受け付けていない」とは、レコメンドがユーザ端末10に表示されたまま、ユーザがレコメンドに対する操作を行っていない状態をいう。このため、例えばユーザが、ユーザ端末10に表示されたレコメンドを含むウェブページから離脱した場合や、ブラウザソフトウェアを終了した場合も、「ユーザからの反応を受け付けた」状態に含まれる。この場合、検索装置100は、ユーザから好意的でない(クリックやコンバージョンでない)反応を取得したと判定し、反応を反応情報に反映させる。
【0126】
反応を受け付けた場合(ステップS301;Yes)、検索装置100は、ユーザから反応のあったレコメンドに関するサービスを特定する(ステップS302)。そして、検索装置100は、特定されたサービスに関する反応情報を更新する(ステップS303)。
【0127】
そして、検索装置100は、更新された反応情報に基づいて、サービスの重みを更新する。例えば、検索装置100は、ユーザからの反応がクリックやコンバージョン等、レコメンドが訴求効果を発揮したものであった場合、当該レコメンドに関するサービスの重みが重くなるよう更新する。一方、検索装置100は、ユーザからの反応がウェブページからの離脱など、レコメンドが訴求効果を発揮したものでなかった場合、当該レコメンドに関するサービスの重みが低くなるよう更新する。上記のような配信処理と更新処理との流れを繰り返すことにより、検索装置100は、ユーザに設定される重みの最適化を図ることができる。
【0128】
〔6.変形例〕
上述した検索装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、検索装置100の他の実施形態について説明する。
【0129】
〔6−1.サービスごとのクエリ〕
上記実施形態では、検索装置100は、
図6に示したように、クエリ情報が含むクエリに対して、サービスごとの重みとスコアとの積を加算した総合的なスコアを算出する例を示した。ここで、検索装置100は、クエリのスコアについて、サービスごとのスコアを算出してもよい。この点について、
図12を用いて説明する。
【0130】
図12は、変形例に係るクエリテーブル224の一例を示す図である。
図12に示した例では、クエリテーブル224は、「ユーザID」、「クエリ情報ID」、「クエリ」、「サービス」、「抽出回数」、「重み」、「スコア」といった項目を有する。なお、
図6で既出の項目については、説明を省略する。
【0131】
「抽出回数」は、サービスごとにクエリが抽出された回数を示す。なお、抽出回数は、抽出された回数そのものを厳密に示すものではなく、抽出された回数の割合や、全体数に対して正規化された数値等であってもよい。
【0132】
すなわち、
図12に示す一例では、ユーザU01のクエリ情報Q01において、クエリ「水」のスコアが、サービスごとに算出される例を示している。例えば、クエリ「水」の、「検索サービスA01」におけるスコアは「48」であり、「ショッピングサービスA02」におけるスコアが「24」であり、「オークションサービスA03」におけるスコアが「8」であり、「ニュースサービスA04」におけるスコアが「8」であることを示している。
【0133】
変形例に係る検索装置100は、クエリ「水」を用いて検索する際に、上記のようにサービスごとのスコアに基づいた検索処理を行ってもよい。例えば、検索装置100は、検索サービスA01における「水」と、ショッピングサービスA02等における「水」とを、互いに異なるクエリとして取り扱う。この場合、検索装置100は、検索サービスA01における「水」のスコアが最も高いことから、検索サービスA01に関連するレコメンドを検索する可能性が高いものとする。
【0134】
この場合、検索装置100は、例えば、レコメンドとしてショッピングサービスA02における商品としての飲料水よりも、過去にユーザが検索サービスA01を介して閲覧した飲料水をレコメンドとして検索する。あるいは、検索装置100は、例えば、レコメンドとしてオークションサービスA03において出品されている飲料水よりも、ショッピングサービスA02における商品としての飲料水の方を優先的にレコメンドとして検索する。
【0135】
すなわち、検索装置100は、単語としては共通したクエリであっても、そのクエリに対してサービスごとのスコアを設定していてもよい。これにより、検索装置100は、同じ「水」というクエリを用いて検索を行ったとしても、検索結果となるレコメンドにサービスごとの差異を付けることができる。例えば、検索装置100は、ショッピングサービスA02をオークションサービスA03よりも頻繁に利用するユーザと、オークションサービスA03をショッピングサービスA02よりも頻繁に利用するユーザとでは、例え同じ「水」というクエリを用いた検索を行ったとしても、異なる検索結果を返すことができる。
【0136】
このように、検索装置100は、サービスごとに異なるスコアを有するクエリを用いて、レコメンドを検索してもよい。これにより、検索装置100は、よりユーザの行動に即したレコメンドの検索を行うことができる。
【0137】
〔6−2.情報コンテンツ〕
上記実施形態では、検索装置100は、ユーザに推薦する情報コンテンツとして、サービスで取り扱う商品や役務を含む商材に関するレコメンドを検索する例を示した。ここで、検索装置100は、商材に関するレコメンド以外の情報コンテンツを検索してもよい。
【0138】
例えば、検索装置100は、情報コンテンツとして、ニュースやコラム等の記事を推薦してもよい。上述のように、検索装置100は、ユーザが利用するサービスごとに重みの付されたクエリ情報を有するので、ユーザの興味関心に係る情報を有しているといえる。そこで、検索装置100は、クエリ情報を用いてニュースやコラム等の記事を検索することで、ユーザが興味を有すると想定される記事を精度よく検索することができる。この場合、検索装置100は、例えば、クエリ情報に含まれるクエリと、記事を構成するテキストデータに含まれる単語との一致度等に応じて、ユーザに推薦する記事を検索する。
【0139】
このように、検索装置100は、商材に関するレコメンド以外を検索する処理を行ってもよい。これにより、検索装置100は、より多様な情報コンテンツであって、ユーザが興味関心を有する情報コンテンツを検索することができる。
【0140】
〔6−3.面に応じた重み〕
また、検索装置100は、ユーザ端末10においてレコメンドが表示される面(ウェブページ)に応じて異なる重みが付与されたクエリ情報を用いて、当該面に表示されるレコメンドを検索してもよい。
【0141】
例えば、検索装置100は、レコメンドが表示される面がショッピングサービスA02に関するウェブページである場合には、ショッピングサービスA02に関するレコメンドが検索されやすくなるよう重み付けがされたクエリ情報を用いて検索を行ってもよい。これにより、検索装置100は、ユーザが現時点で閲覧しているページと関連性の高いレコメンドを優先的に配信できる。
【0142】
〔6−4.媒体〕
上記実施形態では、ウェブサーバ30が提供するウェブページを例に挙げて検索処理が行われる例を示した。しかし、情報コンテンツを表示する媒体は、ウェブページに限られない。例えば、検索装置100は、所定の情報アプリやゲームアプリ等に表示されるバナー広告枠等に表示する情報コンテンツを検索してもよい。
【0143】
〔6−5.サービスの種別〕
上記実施形態では、検索装置100は、検索サービスA01やショッピングサービスA02等、サービスごとの重みを付与する例を示した。ここで、検索装置100は、個別のサービスごとではなく、サービスのカテゴリごとに重みを付与してもよい。例えば、検索装置100は、検索サービスA01と、検索サービスA01とは異なる検索サービスA11を一ユーザが利用している場合、検索サービスA01と検索サービスA11とを異なるサービスとして判定するのではなく、「検索サービス」という同じカテゴリに属するものとして扱ってもよい。
【0144】
〔7.ハードウェア構成〕
上述してきた実施形態に係る検索装置100やユーザ端末10やウェブサーバ30は、例えば
図13に示すような構成のコンピュータ1000によって実現される。以下、検索装置100を例に挙げて説明する。
図13は、検索装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0145】
CPU1100は、ROM1300又はHDD1400に記憶されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を記憶する。
【0146】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス1500は、通信網500(
図2に示したネットワークNに対応)を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網500を介して他の機器へ送信する。
【0147】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、入出力インターフェイス1600を介して生成したデータを出力装置へ出力する。
【0148】
メディアインターフェイス1700は、記録媒体1800に記憶されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0149】
例えば、コンピュータ1000が実施形態に係る検索装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが記憶される。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から通信網500を介してこれらのプログラムを取得してもよい。
【0150】
〔8.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0151】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、
図3に示した取得部131と受信部134とは統合されてもよい。また、例えば、記憶部120に記憶される情報は、ネットワークNを介して、外部に備えられた所定の記憶装置に記憶されてもよい。
【0152】
また、上記実施形態では、検索装置100が、例えば、ユーザの行動履歴を取得する取得処理と、クエリ情報を生成する生成処理と、レコメンドを検索する検索処理とを行う例を示した。しかし、上述した検索装置100は、取得処理を行う取得装置と、生成処理を行う生成装置と、検索処理を行う検索装置とに分離されてもよい。この場合、取得装置は、少なくとも取得部131を有する。生成装置は、少なくとも生成部133を有する。検索装置は、少なくとも検索部135を有する。そして、上記の検索装置100による処理は、取得装置と、生成装置と、検索装置との各装置を有する検索システム1によって実現される。
【0153】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0154】
〔9.効果〕
上述してきたように、実施形態に係る検索装置100は、取得部131と、抽出部132と、検索部135とを有する。取得部131は、ユーザのネットワーク上の行動履歴であって、当該ユーザが利用したサービスごとの行動履歴を取得する。抽出部132は、取得部131によって取得された行動履歴から、ユーザに対応するクエリを抽出する。検索部135は、抽出部132によって抽出されたクエリに対してサービスごとの重みを付与した情報であるクエリ情報を用いて、当該ユーザに推薦する情報コンテンツを検索する。
【0155】
このように、実施形態に係る検索装置100は、ユーザが利用したサービスごとに重み付けされたクエリを用いて、ユーザに推薦する情報コンテンツの検索を行う。これにより、検索装置100は、ユーザの多様な行動履歴に応じた、適切な情報コンテンツの検索を行うことができる。
【0156】
また、取得部131は、情報コンテンツに対するユーザの反応を取得する。検索部135は、ユーザの反応に基づいて重みが更新されたクエリ情報を用いて、情報コンテンツを検索する。
【0157】
このように、実施形態に係る検索装置100は、情報コンテンツに対するユーザの反応に応じた重みを付与する。これにより、検索装置100は、単なるサービスの閲覧等ではなく、ユーザの能動的な反応を検索処理に利用することができるので、よりユーザの興味関心に応じた情報コンテンツを検索しやすくなる。
【0158】
また、取得部131は、情報コンテンツに対するユーザの反応として、当該情報コンテンツがユーザから選択された数もしくは率、又は、当該情報コンテンツに関するコンバージョンが達成された数もしくは率、当該情報コンテンツが閲覧された数もしくは時間長の少なくともいずれか一つを取得する。
【0159】
このように、実施形態に係る検索装置100は、情報コンテンツが訴求効果を発揮したと想定されるユーザの反応を取得し、かかる反応を重みに反映する。これにより、検索装置100は、ユーザが反応を示したサービスに関する情報コンテンツを検索しやすくなるので、よりユーザに対して訴求効果を発揮する情報コンテンツを検索しやすくなる。
【0160】
また、取得部131は、検索部135によって検索された情報コンテンツであって、当該情報コンテンツが検索される要因となったサービス、もしくは、当該情報コンテンツと関連するサービスに関する情報を取得する。検索部135は、取得部131によって取得されたサービスに関する情報に基づいて重みが更新されたクエリ情報を用いて、情報コンテンツを検索する。
【0161】
このように、実施形態に係る検索装置100は、ユーザが反応した情報コンテンツに関するサービスを特定し、当該サービスに関する重みを更新する。これにより、検索装置100は、よりユーザが興味関心を有すると想定されるサービスに関連する情報コンテンツを検索しやすくなる。
【0162】
また、検索部135は、ユーザがサービスを利用した回数、サービスを利用した時間長、サービスに課金した金額、又はサービスを利用した日時の少なくともいずれか一つに基づいて算出された重みが付与されたクエリ情報を用いて、情報コンテンツを検索する。
【0163】
このように、実施形態に係る検索装置100は、ユーザのサービスの利用態様に応じた重みを付与する。これにより、検索装置100は、ネットワーク上のユーザの行動をより反映させた検索処理を行うことができる。
【0164】
また、検索部135は、情報コンテンツとして、ユーザのクエリ情報に対応した商材に関するレコメンドを検索する。
【0165】
このように、実施形態に係る検索装置100は、サービスで扱う商品等のレコメンドを検索する。これにより、検索装置100は、ユーザの購買活動を活性化させることができる。
【0166】
また、検索部135は、情報コンテンツとして、ユーザのクエリ情報に対応した記事に関するレコメンドを検索する。
【0167】
このように、実施形態に係る検索装置100は、ユーザの興味関心に応じた記事等を情報コンテンツとして検索してもよい。これにより、検索装置100は、情報サービス等にユーザを誘引する機会を数多く与えることができる。
【0168】
また、取得部131は、ユーザが利用したサービスとして、検索サービス、ショッピングサービス、オークションサービス、又はニュースサービスの少なくともいずれか一つの行動履歴を取得する。検索部135は、ユーザが利用した検索サービス、ショッピングサービス、オークションサービス又はニュースサービスの少なくともいずれか一つの重みを付与したクエリ情報を用いて、情報コンテンツを検索する。
【0169】
このように、実施形態に係る検索装置100は、種々のカテゴリに属するサービスの行動履歴を取得する。これにより、検索装置100は、ユーザの多様な行動に即した情報コンテンツを検索することができる。
【0170】
また、検索部135は、情報コンテンツが表示される面に応じて異なる重みが付与されたクエリ情報を用いて、当該面に表示される情報コンテンツを検索する。
【0171】
このように、実施形態に係る検索装置100は、情報コンテンツの媒体に応じた検索処理を行ってもよい。これにより、検索装置100は、過去のユーザ行動のみならず、現時点でユーザが閲覧しているサービスページ等に関連する情報コンテンツを検索できるので、よりユーザに訴求する情報コンテンツを検索することができる。
【0172】
また、実施形態に係る検索装置100は、情報コンテンツの配信要求をユーザから受信する受信部134と、情報コンテンツの配信要求を送信したユーザに情報コンテンツを配信する配信部136とをさらに備える。検索部135は、受信部134によって情報コンテンツの配信要求が受け付けられたことを契機として、ユーザに対応するクエリ情報を用いて情報コンテンツを検索する。配信部136は、検索部135によって検索された情報コンテンツを当該ユーザに配信する。
【0173】
このように、実施形態に係る検索装置100は、情報コンテンツを配信する処理を行ってもよい。これにより、検索装置100は、サービスごとに重み付けされたユーザの興味関心に応じた情報コンテンツをユーザに配信することができる。
【0174】
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0175】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。