JP2015088089A - レコメンドサーバ及びレコメンド方法 - Google Patents
レコメンドサーバ及びレコメンド方法 Download PDFInfo
- Publication number
- JP2015088089A JP2015088089A JP2013228055A JP2013228055A JP2015088089A JP 2015088089 A JP2015088089 A JP 2015088089A JP 2013228055 A JP2013228055 A JP 2013228055A JP 2013228055 A JP2013228055 A JP 2013228055A JP 2015088089 A JP2015088089 A JP 2015088089A
- Authority
- JP
- Japan
- Prior art keywords
- content
- feature
- search
- word
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 レコメンド情報を生成する際の負荷を軽減させることができるレコメンドサーバ及びレコメンド方法を提供すること。【解決手段】検索送受信部101は、端末から検索ワード、端末ID,クリックコンテンツID、及びインプレッションコンテンツIDを受信する。検索履歴テーブル管理部107は、受信した検索ワード等を紐付けて検索履歴記憶テーブル112に記憶する。検索履歴テーブル管理部107は、検索履歴記憶テーブル112に記憶したインプレッションコンテンツIDの数とクリックコンテンツIDの数から、コンテンツごとのクリック率を算出する。検索履歴テーブル管理部107は、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶テーブル112上で紐づく検索ワードを抽出する。そして、特徴辞書生成部108は、抽出された検索ワードを特徴語として特徴辞書記憶部115に記憶させる。【選択図】図2
Description
本発明は、レコメンド情報を配信するレコメンドサーバ及びレコメンド方法に関する。
デジタルコンテンツや商品を販売する通販サイトでは、ユーザにとって興味があると考えられるコンテンツや商品をレコメンドするレコメンドサービスを具備することが多い。このようなレコメンドサービスでは、ユーザが過去に閲覧または利用したコンテンツをもとに、各ユーザの嗜好性を学習し、ユーザの嗜好性に特徴が類似するコンテンツを推薦している。以下にレコメンドサービスの技術の概要を説明する。
例として1日1回レコメンドを更新するような動画視聴サービスを想定する。また、ユーザが利用する端末(ユーザ端末)とレコメンドサーバとは互いに通信接続している形態である。このとき、ユーザ端末上でユーザが1つ以上の動画を視聴すると、ユーザ端末はそれらの視聴履歴をレコメンドサーバにアップロードする。その後、レコメンドサーバは、次の3ステップで処理を行い、コンテンツフィルタリングを実現する。
(1) コンテンツの特徴をコンテンツ特徴ベクトルとして表現する。
(2) ユーザの視聴履歴に基づきユーザの特徴をユーザ特徴ベクトルとして表現する。
(3) コンテンツ特徴ベクトルとユーザ特徴ベクトルとの類似度を計算し,類似度の高いコンテンツをレコメンド対象とする。
(1) コンテンツの特徴をコンテンツ特徴ベクトルとして表現する。
(2) ユーザの視聴履歴に基づきユーザの特徴をユーザ特徴ベクトルとして表現する。
(3) コンテンツ特徴ベクトルとユーザ特徴ベクトルとの類似度を計算し,類似度の高いコンテンツをレコメンド対象とする。
なお、コンテンツ特徴ベクトルとは、コンテンツの特徴を示したものである。また、ユーザ特徴ベクトルとは、各ユーザの嗜好性を示したものである。
上記処理は1日1回決まった時刻で起動するバッチによって行われる。処理(1)では、当該サービスが提供している各コンテンツについて、レコメンドサーバがコンテンツ特徴ベクトルを計算する。このコンテンツ特徴ベクトルの各要素はあらかじめ定められた特徴要素であらわされる。ここで、特徴要素とは、コンテンツを特徴付けると考えられるキーワード(特徴語)であり、どのようなキーワードを特徴要素とするかは、特徴辞書により規定される。この特徴辞書の単純な例としては、“野球、感動、空、・・・”などのキーワードの羅列のものが考えられる。
つぎに、レコメンドサーバは、各コンテンツのメタデータについて、特徴辞書内のキーワードがどれだけ含まれているかを計算する。たとえば、あるコンテンツのメタデータに「野球」、「空」という言葉が1つずつ入っている場合、コンテンツ特徴ベクトルの各特徴要素は、{1,0,1,・・・}と表される。
レコメンドサーバが当該サービスで提供しているコンテンツそれぞれについて上記計算をした後、処理(2)に移る。
この処理(2)では、レコメンドサーバがユーザ特徴ベクトルを計算する。より詳細にはレコメンドサーバは、ユーザのこれまでの視聴履歴(ユーザ履歴)に含まれるコンテンツの上記処理(1)に従って計算したコンテンツ特徴ベクトルに対してSVM(Support Vector Machine)法を適用することでユーザ特徴ベクトルを求める。SVM法を適用したユーザ特徴ベクトルの生成方法として、非特許文献1に操作履歴に基づいたメニューのカスタマイズ方法として記載されているベクトルの生成方法を参照することができる。
最後に処理(3)では、レコメンドサーバが全てのユーザ特徴ベクトルと、全てのコンテンツ特徴ベクトルとの類似度を計算する。そして、レコメンドサーバは、各ユーザについて類似度の近いコンテンツ特徴ベクトルを持つコンテンツのIDを記載したレコメンドリストを作成する。類似度は、コサイン距離を求めることが一般的である。
Yusuke Fukazawa, Mirai Hara, Hidetoshi Ueno「Automatic Cell Phone Menu Customization Based on User Operation History」、人工知能学会論文誌 25巻1号SP−H(2010年)
レコメンド技術において重要となるのが、コンテンツを特徴付けるどのようなワードを特徴語として特徴辞書に記憶するかという点である。例えば、どのコンテンツメタデータにも含まれていないワードを特徴語として特徴辞書に記憶した場合、特徴要素は全てのコンテンツで0となり、意味がない。
そのため、レコメンドサービスでは、レコメンドサービスの対象となるコンテンツのメタデータに含まれるワードを手作業で確認し、特徴辞書に記憶するという運用が一般的には行われている。
しかし、時代の流行により新しいアーティストやグループ、商品などが次々と現れ、コンテンツが変更及び追加されてきている。よって、コンテンツのメタデータを確認するという運用作業はレコメンド情報を更新する度に必要となり、手作業の運用は稼働や時間などのコスト上、非効率である。
また、他の特徴辞書を作成する方法として、レコメンドサーバが全コンテンツのメタデータを形態素解析し、含まれる単語を抽出し、それらを特徴語とする、という方法も考えられる。しかし、全コンテンツの形態素解析を行うと、特徴語の数が膨大になる。よって、レコメンドサーバは、その膨大な量の特徴語からなる特徴辞書で形成された特徴ベクトルを用いてレコメンド情報を生成することになり、レコメンドサーバの処理負荷が増大してしまう。
そこで本発明は、上記問題点に鑑みてなされたものであり、レコメンド情報を生成する際の負荷を軽減させることができるレコメンドサーバ及びレコメンド方法を提供することを目的とする。
上記課題を解決するために、本発明のレコメンドサーバはレコメンドサービスを提供するサーバであって、端末から検索ワード、端末ID、端末にてクリックされたコンテンツを識別するクリックコンテンツID及び端末にて表示されたコンテンツのインプレッションコンテンツIDを受信する受信手段と、受信手段により受信した検索ワード、端末ID、クリックコンテンツID及びインプレッションコンテンツIDを紐づけた検索履歴記憶テーブルと、検索履歴記憶テーブルに記憶されたインプレッションコンテンツIDの数とクリックコンテンツIDの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出手段と、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶テーブル上で紐づく検索ワードを抽出する検索ワード抽出手段と、検索ワード抽出手段により抽出された検索ワードを特徴語として記憶する特徴辞書記憶手段と、を備える。
また、本発明のレコメンド方法は、レコメンドサービスを提供するレコメンドサーバのレコメンド方法において、端末から検索ワード、端末ID、端末にてクリックされたコンテンツを識別するクリックコンテンツID及び端末にて表示されたコンテンツのインプレッションコンテンツIDを受信する受信ステップと、受信ステップで受信した検索ワード、端末ID、クリックコンテンツID及びインプレッションコンテンツIDを紐づけた検索履歴記憶テーブルを生成する検索履歴記憶ステップと、検索履歴記憶ステップで検索履歴記憶テーブルに記憶されたインプレッションコンテンツIDの数とクリックコンテンツIDの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出ステップと、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶ステップで紐づけた検索ワードを抽出する検索ワード抽出ステップと、検索ワード抽出ステップにより抽出された検索ワードを特徴語として特徴辞書記憶手段に記憶する特徴辞書記憶ステップと、を備える。
この発明によれば、端末から受信した検索ワード、端末ID、端末にてクリックされたクリックコンテンツID,及び端末にてインプレッション(表示)されたインプレッションコンテンツIDを紐付けた検索履歴記憶テーブルに基づいてコンテンツごとのクリック率を求め、当該クリック率が所定順位よりも高いコンテンツと紐づく検索ワードを特徴語として抽出し、特徴辞書に記憶する。これにより、ユーザにとって興味のあるコンテンツに基づいた検索ワードを特徴語として特徴辞書に記憶することができるため、適切な特徴語を選択することができるとともに、その特徴語の数を適正なものとすることができる。よって、適切な特徴語を含んだ特徴辞書に基づいた特徴ベクトルを用いることで、ユーザにとって興味のあるコンテンツを含んだレコメンド情報を生成することができ、そのサービス提供機会の増大を図ることができるとともに、レコメンド情報の生成負荷を軽減することができる。
また、本発明のレコメンドサーバは、特徴辞書記憶手段に記憶されている特徴語を特徴要素としたユーザ特徴ベクトルを生成するユーザ特徴ベクトル生成手段と、特徴辞書記憶手段に記憶されている特徴語を特徴要素としたコンテンツ特徴ベクトルをコンテンツのメタデータに従って生成するコンテンツ特徴ベクトル生成手段と、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルからレコメンド情報を生成するレコメンド情報生成手段と、レコメンド情報生成手段が生成したレコメンド情報を端末に送信する送信手段と、をさらに備えるようにしてもよい。
この発明によれば、クリック率が所定数よりも高いコンテンツの検索ワードに基づいて生成されたユーザ特徴ベクトルを用いてレコメンド情報を生成することができる。よって、品質の高いコンテンツを含んだレコメンド情報をユーザに提供することができる。
また、本発明のレコメンドサーバにおいて、ユーザ特徴ベクトル生成手段が、検索履歴記憶テーブルに端末IDに紐づく検索ワードがユーザ特徴ベクトルの特徴語として記憶されている場合、当該特徴語に対応する特徴要素の値を0又は所定値下げることによりユーザ特徴ベクトルを修正するようにしてもよい。
この発明によれば、検索履歴記憶テーブルにおいて記憶したユーザの端末IDと紐づく検索ワードが特徴語として記憶されている場合、その記憶されている特徴語に対応する特徴要素の値を0又は所定値さげて、ユーザ特徴ベクトルの修正を行う。これにより、修正したユーザ特徴ベクトルに基づきレコメンド情報が生成されるため、ユーザが既にクリックしたり、ユーザの端末にインプレッションされたコンテンツをレコメンド対象から外したり、優先度を下げることができる。また、レコメンド情報に含まれているコンテンツを表示する画面枠には限りがあるが、修正したユーザ特徴ベクトルを用いてレコメンド対象を修正することで、ユーザがまだ存在に気付いていないコンテンツをレコメンド対象とすることができる。これにより、幅広いコンテンツの閲覧及び利用の機会増大につなげることが可能となる。
また、本発明のレコメンドサーバは、検索履歴記憶テーブルにおいて表示回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部に記憶されているコンテンツのうち検索履歴記憶テーブルに記憶されていないコンテンツを選択する選択手段と、選択手段により選択したコンテンツのメタデータに含まれるワードを抽出するワード抽出手段をさらに備え、特徴辞書記憶手段は、ワード抽出手段により抽出されたワードを特徴語として記憶するようにしてもよい。
この発明によれば、インプレッション回数が所定数よりも低いコンテンツのメタデータに含まれるワードを特徴語として抽出し、これを特徴辞書に記憶させる。これにより、インプレッション回数が所定数よりも低くユーザがまだ存在を認識していない新たなコンテンツの気付きを与えるレコメンド情報を生成することができ、コンテンツの閲覧及び利用の機会増大を図ることができる。
本発明によれば、ユーザに興味を持たせるうえで、適切な特徴語からなる特徴辞書を自動的に生成することができ、レコメンド情報を生成する際の負荷を軽減させることができる。
添付図面を参照しながら本発明のレコメンドサーバ及びレコメンド方法の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本実施形態のサービス提供サーバ100を備えたレコメンド情報配信システムのシステム構成を示すシステム構成図である。サービス提供サーバ100は、端末A、端末B、端末C、端末D及び端末Eからの検索要求に応じて検索ワードに基づいた検索結果を取得し、各端末へ検索結果のコンテンツリストを配信する。配信されるコンテンツリストは検索結果とレコメンド情報とから構成される。レコメンド情報は、ユーザにとって有用と考えられる情報であり、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルを基に生成されるものである。ここで、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルは、各端末のユーザの検索履歴、アクセス履歴及びインプレッション履歴に基づいて生成される。
各端末は、ユーザがコンテンツの利用に用いる端末である。端末にてユーザが検索ワードを入力した場合、あるいはユーザが端末にインプレッションされたコンテンツの中からコンテンツを選択してクリックした場合、それら検索要求または閲覧要求がサービス提供サーバ100へ送信される。これら検索要求または閲覧要求は、一般的にはインターネット等のネットワークを用いて送信される。
このような、サービス提供サーバ100の構成について、図2を用いて説明する。図2は、サービス提供サーバ100の機能構成を示すブロック図である。このサービス提供サーバ100は、検索送受信部101(受信手段)、検索処理部102、メタデータ管理部103、形態素解析部104(選択手段)、コンテンツ特徴ベクトル生成部105(コンテンツ特徴ベクトル生成手段)、検索履歴テーブル管理部107(クリック率算出手段、検索ワード抽出手段、追加ワード抽出手段)、特徴辞書生成部108、ユーザ特徴ベクトル生成部109(ユーザ特徴ベクトル生成手段)、レコメンド生成部110(レコメンド情報生成手段)、レコメンド送受信部111(送信手段)、検索履歴記憶テーブル112、検索履歴中間テーブル113、特徴辞書中間テーブル114、及び特徴辞書記憶部115(特徴辞書記憶手段)を含んで構成されている。
図3は、サービス提供サーバ100のハードウェア構成図である。図2に示されるサービス提供サーバ100は、物理的には、図3に示すように、CPU11、主記憶装置であるRAM12及びROM13、入力デバイスであるキーボード及びマウス等の入力装置14、ディスプレイ等の出力装置15、ネットワークカード等のデータ送受信デバイスである通信モジュール16、ハードディスク等の補助記憶装置17などを含むコンピュータシステムとして構成されている。図2において説明する各機能は、図3に示すCPU11、RAM12等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU11の制御のもとで入力装置14、出力装置15、通信モジュール16を動作させるとともに、RAM12や補助記憶装置17におけるデータの読み出し及び書き込みを行うことで実現される。以下、図2に示す機能ブロックに基づいて、各機能ブロックを説明する。
検索送受信部101は、端末A、端末B、端末C、端末Dまたは端末Eのそれぞれからの検索要求があった場合、各端末から検索要求とともに送信される検索ワード及び端末IDを取得する部分である。また、検索送受信部101は、ユーザが端末にてコンテンツをクリックした場合、端末IDとともにクリックされたコンテンツのクリックコンテンツIDを取得する部分である。また、検索送受信部101は、後述する検索処理部102から検索ワードに応じた検索結果を取得し、検索要求を行った端末へ検索結果を送信する部分である。
検索処理部102は、検索送受信部101から検索ワードを取得するとともに、メタデータ管理部103からメタデータを取得して、検索ワードに基づく検索を行う部分である。この検索では、検索処理部102がメタデータと検索ワードとが一致しているかどうかを判断し、一致するメタデータを有するコンテンツを検索結果として検索送受信部101へ出力する。検索送受信部101は、この検索結果を受けて検索要求のあった端末に送信する。
メタデータ管理部103は、コンテンツと、当該コンテンツのメタデータとを対応付けて記憶する部分である。このメタデータには、コンテンツの概要を示す文章や、当該コンテンツを表すいくつかの単語が記述されている。
形態素解析部104は、メタデータ管理部103から、コンテンツのメタデータを取得して、取得したメタデータに対して形態素解析を行い、特徴語の候補となるワードを抽出する部分である。この形態素解析の対象となるメタデータは、後述するようなインプレッション数が所定以下のコンテンツのメタデータとなる。形態素解析部104により抽出されたワードは、特徴辞書生成部108に出力され、当該特徴辞書生成部108により、特徴辞書記憶部115に特徴語として記憶される。
コンテンツ特徴ベクトル生成部105は、特徴辞書記憶部115に記憶した特徴語を特徴要素としたコンテンツ特徴ベクトルを生成する部分である。具体的には、コンテンツ特徴ベクトル生成部105は、特徴要素となる特徴語が各コンテンツやそのメタデータにおいて出現しているか否かに基づいて、コンテンツ特徴ベクトルを生成する。
検索履歴テーブル管理部107は、検索送受信部101により送信される検索ワード、端末ID、及びコンテンツIDのインプレッションIDを、その検索結果の送信時に取得する部分である。そして、検索履歴テーブル管理部107は、取得した、端末ID、検索ワード、及びインプレッションコンテンツIDからなる検索履歴情報を検索履歴記憶テーブル112に記憶する。
また、検索履歴テーブル管理部107は、各端末においてインプレッションされたコンテンツに対してクリックされた場合(すなわち閲覧要求がなされた場合)の応答として送信されるコンテンツのコンテンツIDを、その送信先となる端末IDとともに取得する。取得されたコンテンツIDは、検索履歴記憶テーブル112のその端末IDに対応するクリックコンテンツID欄に記述される。
ここで、その具体的処理について説明する。端末Aから検索を実行した場合の検索履歴記憶テーブル112のレコードのデータ例を図5及び図6に示す。図5は、端末Aから検索ワードを受信した場合に検索履歴記憶テーブル112に記憶されるレコードのデータ例である。この検索履歴記憶テーブル112において、端末ID欄には端末を特定する「A」、検索ワード欄にはユーザが入力した検索ワード「サッカー」、そして、インプレッションコンテンツID欄には端末に表示(インプレッション)されたコンテンツID(インプレッションコンテンツID)「01、02、03」が、それぞれ記憶される。
図6は、端末Aにてインプレッションされたコンテンツから任意のコンテンツをユーザがクリック(選択)した場合のレコードのデータ例である。図5に示すレコードが検索履歴記憶テーブル112に記憶された後に、端末Aにてユーザが、インプレッションされたコンテンツの中からコンテンツIDが「03」のコンテンツをクリックした場合、検索履歴テーブル管理部107は、レコードのクリックコンテンツID欄にクリックしたコンテンツのコンテンツID(クリックコンテンツID)である「03」を取得して、検索履歴記憶テーブル112に記憶する。
図7は、全ての端末の検索要求や閲覧要求が記憶された検索履歴記憶テーブル112のデータ例である。なお、インプレッションされたコンテンツの中からユーザがクリックをせずに閲覧処理を終了した場合、検索履歴記憶テーブル112のクリックコンテンツID欄には「null」が記憶される。
また、検索履歴テーブル管理部107は、検索履歴中間テーブル113及び特徴辞書中間テーブル114を生成する。すなわち、検索履歴テーブル管理部107は、検索履歴記憶テーブル112に基づいて、コンテンツごとに、クリックされた数及びインプレッションされた数を集計して、コンテンツID、クリック数、インプレッション数、及びクリック率からなる中間テーブル(図示せず)を生成する。ここでは、検索履歴記憶テーブル112に記憶されたクリックコンテンツID欄において、そのコンテンツIDが一致する数(あるコンテンツにおけるクリック数)と、インプレッションコンテンツID欄において、そのコンテンツIDが一致する数(あるコンテンツに対するインプレッション数)とから当該クリックコンテンツIDで示されるコンテンツのクリック率を算出する。クリック率の詳細な算出方法は、以下の式で定義される。
クリック率(i)=クリック数(i)/インプレッション数(i)
i:コンテンツID
クリック数(i):コンテンツIDがiのコンテンツが、クリックされた回数
インプレッション(i):コンテンツIDがiのコンテンツが、インプレッションされた回数
クリック率(i)=クリック数(i)/インプレッション数(i)
i:コンテンツID
クリック数(i):コンテンツIDがiのコンテンツが、クリックされた回数
インプレッション(i):コンテンツIDがiのコンテンツが、インプレッションされた回数
そして、検索履歴テーブル管理部107は、上述中間テーブルに基づいて、算出したクリック率が高い順に、そのレコードを並べ替え、検索履歴中間テーブル113を生成する。図8は、検索履歴中間テーブル113のデータ例である。この検索履歴中間テーブル113において、コンテンツID欄にはコンテンツを特定するコンテンツを識別するコンテンツID、クリック数欄には対応するコンテンツがクリックされた回数、インプレッション数欄には対応するコンテンツがインプレッションされた回数、及びクリック率欄には上述した算出方法により算出したクリック率が記憶される。ここで、インプレッション数が0であったコンテンツのクリック率欄にはnullが記述される。検索履歴テーブル管理部107は、クリック率が所定順位よりも上であるコンテンツに対応付けられる検索ワードを、検索履歴記憶テーブル112を参照することで抽出する。
そして、検索履歴テーブル管理部107は、検索履歴中間テーブル113に基づいて抽出された検索ワードに基づいて特徴辞書中間テーブル114を生成する。この特徴辞書中間テーブル114は、検索履歴中間テーブル113のクリック率が上位のコンテンツに対応する検索ワードを、検索履歴記憶テーブル112から抽出することで、生成されたテーブルである。本実施形態では、クリック率が0.75以上のコンテンツを対象とする。図9は、特徴辞書中間テーブル114のデータ例である。特徴辞書中間テーブル114において、コンテンツID欄にはクリック率が上位のコンテンツを特定するコンテンツID、検索ワード欄にはこのコンテンツIDに対応付けられる検索履歴記憶テーブル112から抽出された検索ワードがそれぞれ記憶される。
特徴辞書生成部108は、特徴辞書中間テーブル114に記憶されるデータに基づいて特徴辞書を生成して特徴辞書記憶部115に記憶する部分である。図10は、特徴辞書記憶部115のデータ例である。特徴辞書生成部108は、特徴辞書中間テーブル114から、検索ワードを特徴語として順次抽出して、そのそれぞれに、特徴IDを割り振る。特徴IDの割り振りは、特徴語を特定するためのIDであって、特徴語に対して一意であれば、割り振り方法は任意である。
さらに本実施形態においては、検索ワード以外のワードを特徴語として特徴辞書記憶部115に追加するようにしてもよい。すなわち、形態素解析部104により所定のコンテンツが形態素解析された結果に基づいて得られた特徴語を特徴辞書記憶部115に追加するようにしてもよい。ここで、形態素解析結果は、インプレッション数の低いコンテンツに関する形態素解析部104による解析結果である。この解析結果のワードが特徴語として採用される。特徴辞書生成部108は、このように採用された特徴語を、特徴IDを割り振って、特徴辞書記憶部115に記憶させる。
ユーザ特徴ベクトル生成部109は、ユーザ特徴ベクトルを生成する部分である。すなわち、ユーザ特徴ベクトル生成部109は、特徴辞書記憶部115に記憶された特徴辞書に記述されている特徴語を特徴要素とし、各ユーザの検索要求若しくは閲覧要求を記憶した検索履歴記憶テーブル112に記述されるコンテンツ(クリックされたコンテンツまたはインプレッションされたコンテンツ)、およびレコメンド送受信部111から出力されたレコメンド情報のクリック履歴(クリックされたコンテンツ)に対してSVM法を適用することにより、ユーザ特徴ベクトルを生成する。本実施形態ではユーザ特徴ベクトルの算出にSVM法を利用しているが、他の方法を利用してもよい。例えば、特徴空間上に各ユーザの視聴したコンテンツベクトルを割り当て、その中心ベクトルをユーザ特徴ベクトルとしてもよい。中心ベクトルは、視聴したコンテンツベクトルに対して最小二乗法により距離の最も小さいベクトルを求めることにより得られる。
また、ユーザ特徴ベクトル生成部109は、生成したユーザ特徴ベクトルについて各ユーザが検索したワードに対応する特徴IDの値を0又は所定値下げることによりユーザ特徴ベクトルの修正を行うようにしてもよい。本実施形態では、端末Aのユーザが、検索したワードに対応する特徴IDの値を「0」にする例を示す。
例えば、図10に示される特徴辞書に従って、端末Aのユーザのユーザ特徴ベクトルが以下のように生成された場合について説明する。
{0.38,0.08,0,0.23,0,0.69,0.15,0.53}
端末Aのユーザに関して「サッカー」及び「海外ドラマ」という検索ワードが検索履歴記憶テーブル112に記憶されているため、ユーザ特徴ベクトル生成部109により、これらの検索ワードに対応する特徴語が特徴辞書に基づいて特定される。そして、ユーザ特徴ベクトル生成部109により、特徴ID(特徴要素)の1と6については、その特徴IDの値が「0」に修正される。これらの特徴要素の値を正規化すると、以下のユーザ特徴ベクトルが得られる。なお正規化とは、各次元の2乗加算の平方根で、各次元の値を除算することで得られる。
{0,0.12,0,0.38,0,0,0.25,0.88}
{0.38,0.08,0,0.23,0,0.69,0.15,0.53}
端末Aのユーザに関して「サッカー」及び「海外ドラマ」という検索ワードが検索履歴記憶テーブル112に記憶されているため、ユーザ特徴ベクトル生成部109により、これらの検索ワードに対応する特徴語が特徴辞書に基づいて特定される。そして、ユーザ特徴ベクトル生成部109により、特徴ID(特徴要素)の1と6については、その特徴IDの値が「0」に修正される。これらの特徴要素の値を正規化すると、以下のユーザ特徴ベクトルが得られる。なお正規化とは、各次元の2乗加算の平方根で、各次元の値を除算することで得られる。
{0,0.12,0,0.38,0,0,0.25,0.88}
レコメンド生成部110は、ユーザ特徴ベクトル生成部109によって生成したユーザ特徴ベクトル及びコンテンツ特徴ベクトル生成部105によって生成したコンテンツ特徴ベクトルをもとにレコメンド情報を生成する部分である。レコメンド生成部110は生成したレコメンド情報を端末とのレコメンド送受信部111に送信する。
レコメンド送受信部111は、レコメンド生成部110が生成したレコメンド情報を端末に送信する部分である。このレコメンド送受信部111は、検索送受信部101が検索結果を送信するタイミングに、このレコメンド情報を送信するものであるが、単にレコメンド情報のみを送信するようにしてもよい。また、レコメンド送受信部111は、各端末に対して送信されたレコメンド情報に基づいてクリックされたコンテンツを履歴情報として受信する。受信した履歴情報は、レコメンド情報のクリック履歴としてユーザ特徴ベクトル生成部109に出力され、ユーザ特徴ベクトル生成部109において、ユーザごとに区別して一時的に記憶される。
引き続いて、図4を参照して、サービス提供サーバ100のレコメンド生成方法の処理フローを説明する。図4は、サービス提供サーバ100のレコメンド生成方法を示すフローチャートである。
最初に、検索送受信部101は、端末から端末ID、検索ワード、クリックコンテンツID及びインプレッションコンテンツIDを取得する(S101、受信ステップ)。次に、検索履歴テーブル管理部107は、取得した情報をもとに検索履歴記憶テーブル112のレコードを作成する(S102、検索履歴記憶ステップ)。
図5を用いてデータの作成例を説明する。端末Aにおいて「サッカー」という検索ワードで検索を実行すると、この検索ワードを受け取ったサービス提供サーバ100において、検索処理部102が「サッカー」というワードがメタデータに含まれるコンテンツを取得して、検索送受信部101が端末Aに送信する。送信するコンテンツには、コンテンツID、コンテンツ名及びコンテンツ情報ページに対応するURL(Uniform Resource Locator)を含む。URLにはURLパラメータとして検索IDと端末ID(本実施形態では「A」)を含む。検索送受信部101により送信されたコンテンツのコンテンツIDが「01、02、03」の3つである場合、検索履歴テーブル管理部107は、図5に示されるように端末ID、検索ワード、及びインプレッションされたコンテンツのコンテンツID(インプレッションコンテンツID)を紐付ける。
端末Aにおいて検索結果であるコンテンツがインプレッションされ、端末Aを使用するユーザがコンテンツID「03」のコンテンツに対してをクリックした場合、コンテンツID「03」のURLに向けて通信が発生するため、サービス提供サーバ100は、端末AにおいてコンテンツID「03」がクリックされたということを認識する。さらに、URLにはURLパラメータとして検索ワードが含まれているため、検索履歴テーブル管理部107は、図6に示すように検索ワードと、クリックされたコンテンツIDとを紐付けた検索履歴記憶テーブル112を生成する。
サービス提供サーバ100に検索要求がなされる度に、上述の検索履歴記憶テーブル112に対するレコード記憶処理が行われ、図7に示されるような検索履歴記憶テーブル112が生成される。
さらに、検索履歴テーブル管理部107は、検索履歴記憶テーブル112に記憶された履歴情報に基づいて、各コンテンツのインプレッション数とクリック数とを集計して、コンテンツごとのクリック率を算出した中間テーブルを生成する(S103、クリック率算出ステップ)。続いて、検索履歴テーブル管理部107は、この中間テーブルにおいて、クリック率の高い順にレコード(コンテンツID、クリック数、インプレッション数、及びクリック率)を並び変え、検索履歴中間テーブル113を生成する(S104)。特徴辞書生成部108は、所定値以上のクリック数のコンテンツIDに対応付けられる検索ワードを検索履歴記憶テーブル112から抽出して、これを特徴語として採用する(S105、検索ワード抽出ステップ)。本実施形態では、クリック率が0.75以上のコンテンツIDに対応付けられる検索ワードを抽出対象とする。なお、所定順位以上のもの、例えば上位5つなどのものを対象としてもよい。
つぎに、形態素解析部104は、検索履歴中間テーブル113からインプレッション数が所定値より低いコンテンツを選定し(S106)、選定したコンテンツのメタデータをメタデータ管理部103から抽出して、そのメタデータに対して形態素解析を実行する(S107)。特徴辞書生成部108は、この形態素解析の結果のワードを特徴語として採用する(S108)。なお、選定されるコンテンツは、インプレッション数が、所定順位以下のコンテンツであってもよい。
ここで、S106からS108の処理の技術的意義について説明する。このS106からS108の処理は、全コンテンツのうち、検索では一度もインプレッションされなかったコンテンツ、あるいはインプレッションされた回数が少なかったコンテンツをレコメンド対象としようとするための特徴語の抽出処理である。
インプレッションされたコンテンツあるいはインプレッション数が多いコンテンツを対象外とする理由は、検索でインプレッションされたにも関わらずクリックされなかったコンテンツはユーザが欲するコンテンツではなく、ユーザのニーズに適合しないコンテンツであると考えられるからである。一方、一度もインプレッションされていないコンテンツあるいはインプレッション数が少ないコンテンツは、ユーザがそのコンテンツの存在に気付いていないコンテンツということである。よって、検索では一度もインプレッションされなかったコンテンツあるいは、インプレッションされた回数が少なかったコンテンツは、レコメンド情報としてユーザの端末にインプレッションすることでユーザに気付きを与えることが有用であり価値があるコンテンツであると考えられる。このようなコンテンツに含まれているワードを特徴語として特徴辞書に登録することで、そのコンテンツをレコメンド対象として選択しやすくなる。
本実施形態においては、図7または図8に示されている通り、一度もインプレッションされていないコンテンツとして、コンテンツIDが15のコンテンツのコンテンツが挙げられる。
そして、形態素解析部104は、このコンテンツIDが15のコンテンツのメタデータをメタデータ管理部103から抽出して、当該メタデータに対して形態素解析を行う。形態素解析部104は、その形態素解析結果として{音楽、ロック}というワードを抽出する。特徴辞書生成部108は、これらのワードも特徴語として特徴辞書記憶部115に記憶させる。
そして、特徴辞書生成部108は、クリック率が所定順位よりも上位の検索ワード及び形態素解析の結果のワードを特徴語として特徴辞書記憶部115に記憶させる(S109、特徴辞書記憶ステップ)。
コンテンツ特徴ベクトル生成部105は、特徴辞書記憶部115に記憶されている特徴辞書をもとに、コンテンツ特徴ベクトルを生成するとともに、ユーザ特徴ベクトル生成部109は、同じ特徴辞書を用いてユーザ特徴ベクトルの生成を行う(S110、S111)。
つぎに、ユーザ特徴ベクトル生成部109は、ユーザ特徴ベクトルに対して、検索履歴記憶テーブル112に記憶されている検索ワードに対応する特徴要素の値を0にして正規化することでユーザ特徴ベクトルを修正する(S112)。レコメンド生成部110は、修正したユーザ特徴ベクトルを用いてレコメンド情報を生成する(S113)。
このS112における修正処理の意義は以下の通りである。レコメンドサービスは、ユーザにとって興味があり、かつユーザがその存在に気付いていないコンテンツを提供することに意味がある。ここでユーザが対象とするワード(特徴語)で検索した履歴があるということは、そのワード(特徴語)を含むメタデータを持つコンテンツについてはすでに検索結果からそのコンテンツの存在にユーザが気付いているということである。したがって、レコメンド対象のコンテンツからは外すべきと考えられる。本実施形態では、そのようなコンテンツのメタデータに含まれる特徴語に対応する特徴要素の値を0又は所定値さげることによりレコメンド対象のコンテンツから外すことが可能となる。
そして、このような処理のうちS103〜S109の処理は定期的に行われる。例えば、1日1回朝9時に検索履歴記憶テーブル112を参照して実行される。定期的に本処理を行うことで、継続して特徴辞書を自動メンテナンスしつつ、レコメンドサービスを提供することが可能となる。なお、定期的に実行する場合にS110及びS111を続いて実行していてもよい。
つぎに、本実施形態のサービス提供サーバ100の作用効果について説明する。本実施形態のサービス提供サーバ100において、検索送受信部101は、端末から検索ワード、端末ID,クリックコンテンツID、及びインプレッションコンテンツIDを受信する。検索履歴テーブル管理部107は、受信した検索ワード、端末ID,クリックコンテンツID、及びインプレッションコンテンツIDを紐付けて検索履歴記憶テーブル112に記憶する。検索履歴テーブル管理部107は、検索履歴記憶テーブル112に記憶したインプレッションコンテンツIDの数とクリックコンテンツIDの数から、コンテンツごとのクリック率を算出する。検索履歴テーブル管理部107は、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶テーブル112上で紐づく検索ワードを抽出する。そして、特徴辞書生成部108は、抽出された検索ワードを特徴語として特徴辞書記憶部115に記憶させる。
これにより、ユーザにとって興味のあるコンテンツに基づいた検索ワードを特徴語として特徴辞書に記憶することができるため、適切な特徴語を選択することができるとともに、その特徴語の数を適正なものとすることができる。よって、適切な特徴語を含んだ特徴辞書に基づいた特徴ベクトルを用いることで、ユーザにとって興味のあるコンテンツを含んだレコメンド情報を生成することができ、そのサービス提供機会の増大を図ることができるとともに、レコメンド情報の生成負荷を軽減することができる。
また、本実施形態のサービス提供サーバ100において、ユーザ特徴ベクトル生成部109は、特徴辞書記憶部115に記憶されている特徴語を特徴要素としたユーザ特徴ベクトルを生成するとともに、コンテンツ特徴ベクトル生成部105は、特徴辞書記憶部115に記憶されている特徴語を特徴要素としたコンテンツ特徴ベクトルをコンテンツのメタデータに従って生成する。そして、レコメンド生成部110は、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルからレコメンド情報を生成して、レコメンド送受信部111は、レコメンド生成部110が生成したレコメンド情報を端末に送信する。これにより、ユーザに品質の高いコンテンツを含んだレコメンド情報をユーザに提供することができる。
また、本実施形態のサービス提供サーバ100において、形態素解析部104は、検索履歴記憶テーブル112において表示回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部103に記憶されているコンテンツのうち検索履歴記憶テーブル112に記憶されていないコンテンツを選択する。
例えば、検索履歴中間テーブル113に記憶されるインプレッション数が1回以下のコンテンツ「07、08、09・・・」を選択する。さらに、メタデータ管理部103に記憶されているコンテンツのコンテンツIDが「01、02、03・・・16、17」とした場合、検索履歴記憶テーブル112にはインプレッションコンテンツIDが「16、17」であるコンテンツがない。よって、この場合は、コンテンツIDが「16、17」のコンテンツが選択される。これらの選択したコンテンツのメタデータに対して形態素解析を行う。そして、形態素解析部104は、メタデータに含まれるワードを抽出し、特徴辞書生成部108は、抽出したワードを特徴語として特徴辞書記憶部115に記憶させる。
これにより、インプレッション回数が所定数よりも低くユーザがまだ存在を認識していない新たなコンテンツの気付きを与えるレコメンド情報を生成することができ、コンテンツの閲覧及び利用の機会増大を図ることができる。なお、インプレッションされた回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部に記憶されているコンテンツのうち検索履歴記憶テーブルに記憶されていないコンテンツについて形態素解析を行い、形態素解析の結果により得られた特徴語の候補となり得るワードのうち、多くのコンテンツに出現するワードは特徴語の候補から外してよい。特徴語は各コンテンツの特徴を効果的に表すワードである必要があるが、多くのコンテンツに含まれるワードは一般語である場合もあり、特徴を表すのには不適切であるからである。
また、本実施形態のサービス提供サーバ100において、ユーザ特徴ベクトル生成部109は、端末IDに紐づく検索ワードがユーザ特徴ベクトルの特徴語として検索履歴記憶テーブル112に記憶されている場合、検索履歴に基づいて特徴語に対応する特徴要素の値を0又は所定値下げることによりユーザ特徴ベクトルを修正する。これにより、修正したユーザ特徴ベクトルに基づきレコメンド情報が生成されるため、ユーザが既にクリックしたり、ユーザの端末にインプレッションされたコンテンツをレコメンド対象から外したり、優先度を下げることができる。また、レコメンド情報に含まれているコンテンツを表示する画面枠には限りがあるが、修正したユーザ特徴ベクトルを用いてレコメンド対象を修正することで、ユーザがまだ存在に気付いていないコンテンツをレコメンド対象とすることができる。これにより、幅広いコンテンツの閲覧及び利用の機会増大につなげることが可能となる。
14…入力装置、15…出力装置、16…通信モジュール、17…補助記憶装置、101…検索送受信部、102…検索処理部、103…メタデータ管理部、104…形態素解析部、105…コンテンツ特徴ベクトル生成部、107…検索履歴テーブル管理部、108…特徴辞書生成部、109…ユーザ特徴ベクトル生成部、110…レコメンド生成部、111…レコメンド送受信部、112…検索履歴記憶テーブル、113…検索履歴中間テーブル、114…特徴辞書中間テーブル、115…特徴辞書記憶部、100…サービス提供サーバ。
Claims (5)
- レコメンドサービスを提供するレコメンドサーバであって、
端末から検索ワード、端末ID、端末にてクリックされたコンテンツを識別するクリックコンテンツID及び端末にて表示されたコンテンツのインプレッションコンテンツIDを受信する受信手段と、
前記受信手段により受信した検索ワード、端末ID、クリックコンテンツID及びインプレッションコンテンツIDを紐づけた検索履歴記憶テーブルと、
前記検索履歴記憶テーブルに記憶されたインプレッションコンテンツIDの数とクリックコンテンツIDの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出手段と、
クリック率が所定順位よりも上であるコンテンツに対し、前記検索履歴記憶テーブル上で紐づく検索ワードを抽出する検索ワード抽出手段と、
前記検索ワード抽出手段により抽出された検索ワードを特徴語として記憶する特徴辞書記憶手段と、
を備えるレコメンドサーバ。 - 前記特徴辞書記憶手段に記憶されている特徴語を特徴要素としたユーザ特徴ベクトルを生成するユーザ特徴ベクトル生成手段と、
前記特徴辞書記憶手段に記憶されている特徴語を特徴要素としたコンテンツ特徴ベクトルをコンテンツのメタデータに従って生成するコンテンツ特徴ベクトル生成手段と、
ユーザ特徴ベクトル及びコンテンツ特徴ベクトルからレコメンド情報を生成するレコメンド情報生成手段と、
前記レコメンド情報生成手段が生成したレコメンド情報を前記端末に送信する送信手段と、
をさらに備える請求項1に記載のレコメンドサーバ。 - 前記ユーザ特徴ベクトル生成手段は、前記検索履歴記憶テーブルに端末IDに紐づく検索ワードがユーザ特徴ベクトルの特徴語として前記検索履歴記憶テーブルに記憶されている場合、検索履歴に基づいて特徴語に対応する特徴要素の値を0又は所定値下げることによりユーザ特徴ベクトルを修正する請求項2に記載のレコメンドサーバ。
- 前記検索履歴記憶テーブルにおいて表示回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部に記憶されているコンテンツのうち前記検索履歴記憶テーブルに記憶されていないコンテンツを選択する選択手段と、
前記選択手段により選択したコンテンツのメタデータに含まれるワードを抽出する追加ワード抽出手段をさらに備え、
前記特徴辞書記憶手段は、前記追加ワード抽出手段により抽出されたワードを特徴語として記憶する
請求項1〜3のいずれか1項に記載のレコメンドサーバ。 - レコメンドサービスを提供するレコメンドサーバのレコメンド方法において、
端末から検索ワード、端末ID、端末にてクリックされたコンテンツを識別するクリックコンテンツID及び端末にて表示されたコンテンツのインプレッションコンテンツIDを受信する受信ステップと、
前記受信ステップで受信した検索ワード、端末ID、クリックコンテンツID及びインプレッションコンテンツIDを紐づけた検索履歴記憶テーブルを生成する検索履歴記憶ステップと、
前記検索履歴記憶ステップで検索履歴記憶テーブルに記憶されたインプレッションコンテンツIDの数とクリックコンテンツIDの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出ステップと、
クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶ステップで紐づけた検索ワードを抽出する検索ワード抽出ステップと、
前記検索ワード抽出ステップにより抽出された検索ワードを特徴語として特徴辞書記憶手段に記憶する特徴辞書記憶ステップと、
を備えるレコメンド方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013228055A JP2015088089A (ja) | 2013-11-01 | 2013-11-01 | レコメンドサーバ及びレコメンド方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013228055A JP2015088089A (ja) | 2013-11-01 | 2013-11-01 | レコメンドサーバ及びレコメンド方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015088089A true JP2015088089A (ja) | 2015-05-07 |
Family
ID=53050767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013228055A Pending JP2015088089A (ja) | 2013-11-01 | 2013-11-01 | レコメンドサーバ及びレコメンド方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015088089A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018147045A (ja) * | 2017-03-01 | 2018-09-20 | ヤフー株式会社 | 検索装置、検索方法及び検索プログラム |
JPWO2019159288A1 (ja) * | 2018-02-15 | 2020-04-02 | 楽天株式会社 | 情報処理システム、情報処理方法、及びプログラム |
JP2021064348A (ja) * | 2019-10-10 | 2021-04-22 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ユーザークリックモデルのトレーニング方法、装置、電子機器、及び記憶媒体 |
-
2013
- 2013-11-01 JP JP2013228055A patent/JP2015088089A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018147045A (ja) * | 2017-03-01 | 2018-09-20 | ヤフー株式会社 | 検索装置、検索方法及び検索プログラム |
JPWO2019159288A1 (ja) * | 2018-02-15 | 2020-04-02 | 楽天株式会社 | 情報処理システム、情報処理方法、及びプログラム |
JP2021064348A (ja) * | 2019-10-10 | 2021-04-22 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | ユーザークリックモデルのトレーニング方法、装置、電子機器、及び記憶媒体 |
US11838377B2 (en) | 2019-10-10 | 2023-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, apparatus, electronic device and storage medium for training user click model |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9430553B2 (en) | Application representation for application editions | |
US10311478B2 (en) | Recommending content based on user profiles clustered by subscription data | |
US9501575B2 (en) | Search result ranker | |
US9280561B2 (en) | Automatic learning of logos for visual recognition | |
CN102368262B (zh) | 一种提供与查询序列相对应的搜索建议的方法与设备 | |
US20150169710A1 (en) | Method and apparatus for providing search results | |
TWI582619B (zh) | Method and apparatus for providing referral words | |
US20180077250A1 (en) | Method and System for Processing Data Used By Creative Users to Create Media Content | |
CN107657004A (zh) | 视频推荐方法、系统及设备 | |
CN109168047B (zh) | 视频推荐方法、装置、服务器及存储介质 | |
US20180101617A1 (en) | Ranking Search Results using Machine Learning Based Models | |
US10248712B1 (en) | Generating a set of representative items using a maximum-set-coverage selection strategy | |
US20150026304A1 (en) | System for maintaining common data across multiple platforms | |
CN107609192A (zh) | 一种搜索引擎的补充搜索方法和装置 | |
US20110225134A1 (en) | System and method for enhanced find-in-page functions in a web browser | |
CN110738049A (zh) | 相似文本的处理方法、装置及计算机可读存储介质 | |
US9576065B2 (en) | Method for maintaining common data across multiple platforms | |
US9043320B2 (en) | Enhanced find-in-page functions in a web browser | |
JP2015088089A (ja) | レコメンドサーバ及びレコメンド方法 | |
US10114885B1 (en) | Generating a set of representative items using a clustering-selection strategy | |
US10114887B1 (en) | Generating a set of representative items using a dynamic selection strategy | |
JP2012242844A (ja) | レコメンド情報生成装置およびレコメンド情報生成方法 | |
JP6433270B2 (ja) | コンテンツ検索結果提供システム及びコンテンツ検索結果提供方法 | |
JP2017117478A (ja) | 情報処理装置、端末装置、情報処理方法及び情報処理プログラム | |
JP2014078100A (ja) | 配信装置及びコンピュータプログラム |