(57)【要約】【課題】  レコメンド情報を生成する際の負荷を軽減させることができるレコメンドサーバ及びレコメンド方法を提供すること。【解決手段】検索送受信部１０１は、端末から検索ワード、端末ＩＤ，クリックコンテンツＩＤ、及びインプレッションコンテンツＩＤを受信する。検索履歴テーブル管理部１０７は、受信した検索ワード等を紐付けて検索履歴記憶テーブル１１２に記憶する。検索履歴テーブル管理部１０７は、検索履歴記憶テーブル１１２に記憶したインプレッションコンテンツＩＤの数とクリックコンテンツＩＤの数から、コンテンツごとのクリック率を算出する。検索履歴テーブル管理部１０７は、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶テーブル１１２上で紐づく検索ワードを抽出する。そして、特徴辞書生成部１０８は、抽出された検索ワードを特徴語として特徴辞書記憶部１１５に記憶させる。【選択図】図２
2015088089.tif 000002
【特許請求の範囲】
【請求項１】
レコメンドサービスを提供するレコメンドサーバであって、
端末から検索ワード、端末ＩＤ、端末にてクリックされたコンテンツを識別するクリックコンテンツＩＤ及び端末にて表示されたコンテンツのインプレッションコンテンツＩＤを受信する受信手段と、
前記受信手段により受信した検索ワード、端末ＩＤ、クリックコンテンツＩＤ及びインプレッションコンテンツＩＤを紐づけた検索履歴記憶テーブルと、
前記検索履歴記憶テーブルに記憶されたインプレッションコンテンツＩＤの数とクリックコンテンツＩＤの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出手段と、
クリック率が所定順位よりも上であるコンテンツに対し、前記検索履歴記憶テーブル上で紐づく検索ワードを抽出する検索ワード抽出手段と、
前記検索ワード抽出手段により抽出された検索ワードを特徴語として記憶する特徴辞書記憶手段と、
を備えるレコメンドサーバ。
【請求項２】
前記特徴辞書記憶手段に記憶されている特徴語を特徴要素としたユーザ特徴ベクトルを生成するユーザ特徴ベクトル生成手段と、
前記特徴辞書記憶手段に記憶されている特徴語を特徴要素としたコンテンツ特徴ベクトルをコンテンツのメタデータに従って生成するコンテンツ特徴ベクトル生成手段と、
ユーザ特徴ベクトル及びコンテンツ特徴ベクトルからレコメンド情報を生成するレコメンド情報生成手段と、
前記レコメンド情報生成手段が生成したレコメンド情報を前記端末に送信する送信手段と、
をさらに備える請求項１に記載のレコメンドサーバ。
【請求項３】
前記ユーザ特徴ベクトル生成手段は、前記検索履歴記憶テーブルに端末ＩＤに紐づく検索ワードがユーザ特徴ベクトルの特徴語として前記検索履歴記憶テーブルに記憶されている場合、検索履歴に基づいて特徴語に対応する特徴要素の値を０又は所定値下げることによりユーザ特徴ベクトルを修正する請求項２に記載のレコメンドサーバ。
【請求項４】
前記検索履歴記憶テーブルにおいて表示回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部に記憶されているコンテンツのうち前記検索履歴記憶テーブルに記憶されていないコンテンツを選択する選択手段と、
前記選択手段により選択したコンテンツのメタデータに含まれるワードを抽出する追加ワード抽出手段をさらに備え、
前記特徴辞書記憶手段は、前記追加ワード抽出手段により抽出されたワードを特徴語として記憶する
請求項１〜３のいずれか１項に記載のレコメンドサーバ。
【請求項５】
レコメンドサービスを提供するレコメンドサーバのレコメンド方法において、
端末から検索ワード、端末ＩＤ、端末にてクリックされたコンテンツを識別するクリックコンテンツＩＤ及び端末にて表示されたコンテンツのインプレッションコンテンツＩＤを受信する受信ステップと、
前記受信ステップで受信した検索ワード、端末ＩＤ、クリックコンテンツＩＤ及びインプレッションコンテンツＩＤを紐づけた検索履歴記憶テーブルを生成する検索履歴記憶ステップと、
前記検索履歴記憶ステップで検索履歴記憶テーブルに記憶されたインプレッションコンテンツＩＤの数とクリックコンテンツＩＤの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出ステップと、
クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶ステップで紐づけた検索ワードを抽出する検索ワード抽出ステップと、
前記検索ワード抽出ステップにより抽出された検索ワードを特徴語として特徴辞書記憶手段に記憶する特徴辞書記憶ステップと、
を備えるレコメンド方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レコメンド情報を配信するレコメンドサーバ及びレコメンド方法に関する。
【背景技術】
【０００２】
デジタルコンテンツや商品を販売する通販サイトでは、ユーザにとって興味があると考えられるコンテンツや商品をレコメンドするレコメンドサービスを具備することが多い。このようなレコメンドサービスでは、ユーザが過去に閲覧または利用したコンテンツをもとに、各ユーザの嗜好性を学習し、ユーザの嗜好性に特徴が類似するコンテンツを推薦している。以下にレコメンドサービスの技術の概要を説明する。
【０００３】
例として１日１回レコメンドを更新するような動画視聴サービスを想定する。また、ユーザが利用する端末（ユーザ端末）とレコメンドサーバとは互いに通信接続している形態である。このとき、ユーザ端末上でユーザが１つ以上の動画を視聴すると、ユーザ端末はそれらの視聴履歴をレコメンドサーバにアップロードする。その後、レコメンドサーバは、次の３ステップで処理を行い、コンテンツフィルタリングを実現する。
(1) コンテンツの特徴をコンテンツ特徴ベクトルとして表現する。
(2) ユーザの視聴履歴に基づきユーザの特徴をユーザ特徴ベクトルとして表現する。
(3) コンテンツ特徴ベクトルとユーザ特徴ベクトルとの類似度を計算し，類似度の高いコンテンツをレコメンド対象とする。
【０００４】
なお、コンテンツ特徴ベクトルとは、コンテンツの特徴を示したものである。また、ユーザ特徴ベクトルとは、各ユーザの嗜好性を示したものである。
【０００５】
上記処理は1日1回決まった時刻で起動するバッチによって行われる。処理（１）では、当該サービスが提供している各コンテンツについて、レコメンドサーバがコンテンツ特徴ベクトルを計算する。このコンテンツ特徴ベクトルの各要素はあらかじめ定められた特徴要素であらわされる。ここで、特徴要素とは、コンテンツを特徴付けると考えられるキーワード（特徴語）であり、どのようなキーワードを特徴要素とするかは、特徴辞書により規定される。この特徴辞書の単純な例としては、“野球、感動、空、・・・”などのキーワードの羅列のものが考えられる。
【０００６】
つぎに、レコメンドサーバは、各コンテンツのメタデータについて、特徴辞書内のキーワードがどれだけ含まれているかを計算する。たとえば、あるコンテンツのメタデータに「野球」、「空」という言葉が１つずつ入っている場合、コンテンツ特徴ベクトルの各特徴要素は、{１,０,１,・・・}と表される。
【０００７】
レコメンドサーバが当該サービスで提供しているコンテンツそれぞれについて上記計算をした後、処理（２）に移る。
【０００８】
この処理（２）では、レコメンドサーバがユーザ特徴ベクトルを計算する。より詳細にはレコメンドサーバは、ユーザのこれまでの視聴履歴（ユーザ履歴）に含まれるコンテンツの上記処理（１）に従って計算したコンテンツ特徴ベクトルに対してＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）法を適用することでユーザ特徴ベクトルを求める。ＳＶＭ法を適用したユーザ特徴ベクトルの生成方法として、非特許文献１に操作履歴に基づいたメニューのカスタマイズ方法として記載されているベクトルの生成方法を参照することができる。
【０００９】
最後に処理（３）では、レコメンドサーバが全てのユーザ特徴ベクトルと、全てのコンテンツ特徴ベクトルとの類似度を計算する。そして、レコメンドサーバは、各ユーザについて類似度の近いコンテンツ特徴ベクトルを持つコンテンツのＩＤを記載したレコメンドリストを作成する。類似度は、コサイン距離を求めることが一般的である。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】Ｙｕｓｕｋｅ  Ｆｕｋａｚａｗａ, Ｍｉｒａｉ  Ｈａｒａ, Ｈｉｄｅｔｏｓｈｉ  Ｕｅｎｏ「Ａｕｔｏｍａｔｉｃ  Ｃｅｌｌ  Ｐｈｏｎｅ  Ｍｅｎｕ  Ｃｕｓｔｏｍｉｚａｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｕｓｅｒ  Ｏｐｅｒａｔｉｏｎ  Ｈｉｓｔｏｒｙ」、人工知能学会論文誌  ２５巻１号ＳＰ−Ｈ（２０１０年）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
レコメンド技術において重要となるのが、コンテンツを特徴付けるどのようなワードを特徴語として特徴辞書に記憶するかという点である。例えば、どのコンテンツメタデータにも含まれていないワードを特徴語として特徴辞書に記憶した場合、特徴要素は全てのコンテンツで０となり、意味がない。
【００１２】
そのため、レコメンドサービスでは、レコメンドサービスの対象となるコンテンツのメタデータに含まれるワードを手作業で確認し、特徴辞書に記憶するという運用が一般的には行われている。
【００１３】
しかし、時代の流行により新しいアーティストやグループ、商品などが次々と現れ、コンテンツが変更及び追加されてきている。よって、コンテンツのメタデータを確認するという運用作業はレコメンド情報を更新する度に必要となり、手作業の運用は稼働や時間などのコスト上、非効率である。
【００１４】
また、他の特徴辞書を作成する方法として、レコメンドサーバが全コンテンツのメタデータを形態素解析し、含まれる単語を抽出し、それらを特徴語とする、という方法も考えられる。しかし、全コンテンツの形態素解析を行うと、特徴語の数が膨大になる。よって、レコメンドサーバは、その膨大な量の特徴語からなる特徴辞書で形成された特徴ベクトルを用いてレコメンド情報を生成することになり、レコメンドサーバの処理負荷が増大してしまう。
【００１５】
そこで本発明は、上記問題点に鑑みてなされたものであり、レコメンド情報を生成する際の負荷を軽減させることができるレコメンドサーバ及びレコメンド方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明のレコメンドサーバはレコメンドサービスを提供するサーバであって、端末から検索ワード、端末ＩＤ、端末にてクリックされたコンテンツを識別するクリックコンテンツＩＤ及び端末にて表示されたコンテンツのインプレッションコンテンツＩＤを受信する受信手段と、受信手段により受信した検索ワード、端末ＩＤ、クリックコンテンツＩＤ及びインプレッションコンテンツＩＤを紐づけた検索履歴記憶テーブルと、検索履歴記憶テーブルに記憶されたインプレッションコンテンツＩＤの数とクリックコンテンツＩＤの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出手段と、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶テーブル上で紐づく検索ワードを抽出する検索ワード抽出手段と、検索ワード抽出手段により抽出された検索ワードを特徴語として記憶する特徴辞書記憶手段と、を備える。
【００１７】
また、本発明のレコメンド方法は、レコメンドサービスを提供するレコメンドサーバのレコメンド方法において、端末から検索ワード、端末ＩＤ、端末にてクリックされたコンテンツを識別するクリックコンテンツＩＤ及び端末にて表示されたコンテンツのインプレッションコンテンツＩＤを受信する受信ステップと、受信ステップで受信した検索ワード、端末ＩＤ、クリックコンテンツＩＤ及びインプレッションコンテンツＩＤを紐づけた検索履歴記憶テーブルを生成する検索履歴記憶ステップと、検索履歴記憶ステップで検索履歴記憶テーブルに記憶されたインプレッションコンテンツＩＤの数とクリックコンテンツＩＤの数から端末にてクリックされたコンテンツのクリック率を算出するクリック率算出ステップと、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶ステップで紐づけた検索ワードを抽出する検索ワード抽出ステップと、検索ワード抽出ステップにより抽出された検索ワードを特徴語として特徴辞書記憶手段に記憶する特徴辞書記憶ステップと、を備える。
【００１８】
この発明によれば、端末から受信した検索ワード、端末ＩＤ、端末にてクリックされたクリックコンテンツＩＤ，及び端末にてインプレッション（表示）されたインプレッションコンテンツＩＤを紐付けた検索履歴記憶テーブルに基づいてコンテンツごとのクリック率を求め、当該クリック率が所定順位よりも高いコンテンツと紐づく検索ワードを特徴語として抽出し、特徴辞書に記憶する。これにより、ユーザにとって興味のあるコンテンツに基づいた検索ワードを特徴語として特徴辞書に記憶することができるため、適切な特徴語を選択することができるとともに、その特徴語の数を適正なものとすることができる。よって、適切な特徴語を含んだ特徴辞書に基づいた特徴ベクトルを用いることで、ユーザにとって興味のあるコンテンツを含んだレコメンド情報を生成することができ、そのサービス提供機会の増大を図ることができるとともに、レコメンド情報の生成負荷を軽減することができる。
【００１９】
また、本発明のレコメンドサーバは、特徴辞書記憶手段に記憶されている特徴語を特徴要素としたユーザ特徴ベクトルを生成するユーザ特徴ベクトル生成手段と、特徴辞書記憶手段に記憶されている特徴語を特徴要素としたコンテンツ特徴ベクトルをコンテンツのメタデータに従って生成するコンテンツ特徴ベクトル生成手段と、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルからレコメンド情報を生成するレコメンド情報生成手段と、レコメンド情報生成手段が生成したレコメンド情報を端末に送信する送信手段と、をさらに備えるようにしてもよい。
【００２０】
この発明によれば、クリック率が所定数よりも高いコンテンツの検索ワードに基づいて生成されたユーザ特徴ベクトルを用いてレコメンド情報を生成することができる。よって、品質の高いコンテンツを含んだレコメンド情報をユーザに提供することができる。
【００２１】
また、本発明のレコメンドサーバにおいて、ユーザ特徴ベクトル生成手段が、検索履歴記憶テーブルに端末ＩＤに紐づく検索ワードがユーザ特徴ベクトルの特徴語として記憶されている場合、当該特徴語に対応する特徴要素の値を０又は所定値下げることによりユーザ特徴ベクトルを修正するようにしてもよい。
【００２２】
この発明によれば、検索履歴記憶テーブルにおいて記憶したユーザの端末ＩＤと紐づく検索ワードが特徴語として記憶されている場合、その記憶されている特徴語に対応する特徴要素の値を０又は所定値さげて、ユーザ特徴ベクトルの修正を行う。これにより、修正したユーザ特徴ベクトルに基づきレコメンド情報が生成されるため、ユーザが既にクリックしたり、ユーザの端末にインプレッションされたコンテンツをレコメンド対象から外したり、優先度を下げることができる。また、レコメンド情報に含まれているコンテンツを表示する画面枠には限りがあるが、修正したユーザ特徴ベクトルを用いてレコメンド対象を修正することで、ユーザがまだ存在に気付いていないコンテンツをレコメンド対象とすることができる。これにより、幅広いコンテンツの閲覧及び利用の機会増大につなげることが可能となる。
【００２３】
また、本発明のレコメンドサーバは、検索履歴記憶テーブルにおいて表示回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部に記憶されているコンテンツのうち検索履歴記憶テーブルに記憶されていないコンテンツを選択する選択手段と、選択手段により選択したコンテンツのメタデータに含まれるワードを抽出するワード抽出手段をさらに備え、特徴辞書記憶手段は、ワード抽出手段により抽出されたワードを特徴語として記憶するようにしてもよい。
【００２４】
この発明によれば、インプレッション回数が所定数よりも低いコンテンツのメタデータに含まれるワードを特徴語として抽出し、これを特徴辞書に記憶させる。これにより、インプレッション回数が所定数よりも低くユーザがまだ存在を認識していない新たなコンテンツの気付きを与えるレコメンド情報を生成することができ、コンテンツの閲覧及び利用の機会増大を図ることができる。
【発明の効果】
【００２５】
本発明によれば、ユーザに興味を持たせるうえで、適切な特徴語からなる特徴辞書を自動的に生成することができ、レコメンド情報を生成する際の負荷を軽減させることができる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態の端末及びサービス提供サーバ１００のシステム全体を示すシステム構成図である。
【図２】サービス提供サーバ１００の機能を示すブロック図である。
【図３】サービス提供サーバ１００のハードウェア構成図である。
【図４】サービス提供サーバ１００の処理フローを示すフローチャートである。
【図５】クリック前の検索履歴記憶テーブル１１２のレコード例を示す説明図である。
【図６】クリック後の検索履歴記憶テーブル１１２のレコード例を示す説明図である。
【図７】検索履歴記憶テーブル１１２のレコード例を示す説明図である。
【図８】検索履歴中間テーブル１１３のレコード例を示す説明図である。
【図９】特徴辞書中間テーブル１１４のレコード例を示す説明図である。
【図１０】特徴辞書記憶部１１５のレコード例を示す説明図である。
【発明を実施するための形態】
【００２７】
添付図面を参照しながら本発明のレコメンドサーバ及びレコメンド方法の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００２８】
図１は、本実施形態のサービス提供サーバ１００を備えたレコメンド情報配信システムのシステム構成を示すシステム構成図である。サービス提供サーバ１００は、端末Ａ、端末Ｂ、端末Ｃ、端末Ｄ及び端末Ｅからの検索要求に応じて検索ワードに基づいた検索結果を取得し、各端末へ検索結果のコンテンツリストを配信する。配信されるコンテンツリストは検索結果とレコメンド情報とから構成される。レコメンド情報は、ユーザにとって有用と考えられる情報であり、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルを基に生成されるものである。ここで、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルは、各端末のユーザの検索履歴、アクセス履歴及びインプレッション履歴に基づいて生成される。
【００２９】
各端末は、ユーザがコンテンツの利用に用いる端末である。端末にてユーザが検索ワードを入力した場合、あるいはユーザが端末にインプレッションされたコンテンツの中からコンテンツを選択してクリックした場合、それら検索要求または閲覧要求がサービス提供サーバ１００へ送信される。これら検索要求または閲覧要求は、一般的にはインターネット等のネットワークを用いて送信される。
【００３０】
このような、サービス提供サーバ１００の構成について、図２を用いて説明する。図２は、サービス提供サーバ１００の機能構成を示すブロック図である。このサービス提供サーバ１００は、検索送受信部１０１（受信手段）、検索処理部１０２、メタデータ管理部１０３、形態素解析部１０４（選択手段）、コンテンツ特徴ベクトル生成部１０５（コンテンツ特徴ベクトル生成手段）、検索履歴テーブル管理部１０７（クリック率算出手段、検索ワード抽出手段、追加ワード抽出手段）、特徴辞書生成部１０８、ユーザ特徴ベクトル生成部１０９（ユーザ特徴ベクトル生成手段）、レコメンド生成部１１０（レコメンド情報生成手段）、レコメンド送受信部１１１（送信手段）、検索履歴記憶テーブル１１２、検索履歴中間テーブル１１３、特徴辞書中間テーブル１１４、及び特徴辞書記憶部１１５（特徴辞書記憶手段）を含んで構成されている。
【００３１】
図３は、サービス提供サーバ１００のハードウェア構成図である。図２に示されるサービス提供サーバ１００は、物理的には、図３に示すように、ＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、入力デバイスであるキーボード及びマウス等の入力装置１４、ディスプレイ等の出力装置１５、ネットワークカード等のデータ送受信デバイスである通信モジュール１６、ハードディスク等の補助記憶装置１７などを含むコンピュータシステムとして構成されている。図２において説明する各機能は、図３に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで入力装置１４、出力装置１５、通信モジュール１６を動作させるとともに、ＲＡＭ１２や補助記憶装置１７におけるデータの読み出し及び書き込みを行うことで実現される。以下、図２に示す機能ブロックに基づいて、各機能ブロックを説明する。
【００３２】
検索送受信部１０１は、端末Ａ、端末Ｂ、端末Ｃ、端末Ｄまたは端末Ｅのそれぞれからの検索要求があった場合、各端末から検索要求とともに送信される検索ワード及び端末ＩＤを取得する部分である。また、検索送受信部１０１は、ユーザが端末にてコンテンツをクリックした場合、端末ＩＤとともにクリックされたコンテンツのクリックコンテンツＩＤを取得する部分である。また、検索送受信部１０１は、後述する検索処理部１０２から検索ワードに応じた検索結果を取得し、検索要求を行った端末へ検索結果を送信する部分である。
【００３３】
検索処理部１０２は、検索送受信部１０１から検索ワードを取得するとともに、メタデータ管理部１０３からメタデータを取得して、検索ワードに基づく検索を行う部分である。この検索では、検索処理部１０２がメタデータと検索ワードとが一致しているかどうかを判断し、一致するメタデータを有するコンテンツを検索結果として検索送受信部１０１へ出力する。検索送受信部１０１は、この検索結果を受けて検索要求のあった端末に送信する。
【００３４】
メタデータ管理部１０３は、コンテンツと、当該コンテンツのメタデータとを対応付けて記憶する部分である。このメタデータには、コンテンツの概要を示す文章や、当該コンテンツを表すいくつかの単語が記述されている。
【００３５】
形態素解析部１０４は、メタデータ管理部１０３から、コンテンツのメタデータを取得して、取得したメタデータに対して形態素解析を行い、特徴語の候補となるワードを抽出する部分である。この形態素解析の対象となるメタデータは、後述するようなインプレッション数が所定以下のコンテンツのメタデータとなる。形態素解析部１０４により抽出されたワードは、特徴辞書生成部１０８に出力され、当該特徴辞書生成部１０８により、特徴辞書記憶部１１５に特徴語として記憶される。
【００３６】
コンテンツ特徴ベクトル生成部１０５は、特徴辞書記憶部１１５に記憶した特徴語を特徴要素としたコンテンツ特徴ベクトルを生成する部分である。具体的には、コンテンツ特徴ベクトル生成部１０５は、特徴要素となる特徴語が各コンテンツやそのメタデータにおいて出現しているか否かに基づいて、コンテンツ特徴ベクトルを生成する。
【００３７】
検索履歴テーブル管理部１０７は、検索送受信部１０１により送信される検索ワード、端末ＩＤ、及びコンテンツＩＤのインプレッションＩＤを、その検索結果の送信時に取得する部分である。そして、検索履歴テーブル管理部１０７は、取得した、端末ＩＤ、検索ワード、及びインプレッションコンテンツＩＤからなる検索履歴情報を検索履歴記憶テーブル１１２に記憶する。
【００３８】
また、検索履歴テーブル管理部１０７は、各端末においてインプレッションされたコンテンツに対してクリックされた場合（すなわち閲覧要求がなされた場合）の応答として送信されるコンテンツのコンテンツＩＤを、その送信先となる端末ＩＤとともに取得する。取得されたコンテンツＩＤは、検索履歴記憶テーブル１１２のその端末ＩＤに対応するクリックコンテンツＩＤ欄に記述される。
【００３９】
ここで、その具体的処理について説明する。端末Ａから検索を実行した場合の検索履歴記憶テーブル１１２のレコードのデータ例を図５及び図６に示す。図５は、端末Ａから検索ワードを受信した場合に検索履歴記憶テーブル１１２に記憶されるレコードのデータ例である。この検索履歴記憶テーブル１１２において、端末ＩＤ欄には端末を特定する「Ａ」、検索ワード欄にはユーザが入力した検索ワード「サッカー」、そして、インプレッションコンテンツＩＤ欄には端末に表示（インプレッション）されたコンテンツＩＤ（インプレッションコンテンツＩＤ）「０１、０２、０３」が、それぞれ記憶される。
【００４０】
図６は、端末Ａにてインプレッションされたコンテンツから任意のコンテンツをユーザがクリック（選択）した場合のレコードのデータ例である。図５に示すレコードが検索履歴記憶テーブル１１２に記憶された後に、端末Ａにてユーザが、インプレッションされたコンテンツの中からコンテンツＩＤが「０３」のコンテンツをクリックした場合、検索履歴テーブル管理部１０７は、レコードのクリックコンテンツＩＤ欄にクリックしたコンテンツのコンテンツＩＤ（クリックコンテンツＩＤ）である「０３」を取得して、検索履歴記憶テーブル１１２に記憶する。
【００４１】
図７は、全ての端末の検索要求や閲覧要求が記憶された検索履歴記憶テーブル１１２のデータ例である。なお、インプレッションされたコンテンツの中からユーザがクリックをせずに閲覧処理を終了した場合、検索履歴記憶テーブル１１２のクリックコンテンツＩＤ欄には「ｎｕｌｌ」が記憶される。
【００４２】
また、検索履歴テーブル管理部１０７は、検索履歴中間テーブル１１３及び特徴辞書中間テーブル１１４を生成する。すなわち、検索履歴テーブル管理部１０７は、検索履歴記憶テーブル１１２に基づいて、コンテンツごとに、クリックされた数及びインプレッションされた数を集計して、コンテンツＩＤ、クリック数、インプレッション数、及びクリック率からなる中間テーブル（図示せず）を生成する。ここでは、検索履歴記憶テーブル１１２に記憶されたクリックコンテンツＩＤ欄において、そのコンテンツＩＤが一致する数（あるコンテンツにおけるクリック数）と、インプレッションコンテンツＩＤ欄において、そのコンテンツＩＤが一致する数（あるコンテンツに対するインプレッション数）とから当該クリックコンテンツＩＤで示されるコンテンツのクリック率を算出する。クリック率の詳細な算出方法は、以下の式で定義される。
クリック率（ｉ）=クリック数（ｉ）/インプレッション数（ｉ）
ｉ：コンテンツＩＤ
クリック数（ｉ）:コンテンツＩＤがｉのコンテンツが、クリックされた回数
インプレッション（ｉ）：コンテンツＩＤがｉのコンテンツが、インプレッションされた回数
【００４３】
そして、検索履歴テーブル管理部１０７は、上述中間テーブルに基づいて、算出したクリック率が高い順に、そのレコードを並べ替え、検索履歴中間テーブル１１３を生成する。図８は、検索履歴中間テーブル１１３のデータ例である。この検索履歴中間テーブル１１３において、コンテンツＩＤ欄にはコンテンツを特定するコンテンツを識別するコンテンツＩＤ、クリック数欄には対応するコンテンツがクリックされた回数、インプレッション数欄には対応するコンテンツがインプレッションされた回数、及びクリック率欄には上述した算出方法により算出したクリック率が記憶される。ここで、インプレッション数が０であったコンテンツのクリック率欄にはｎｕｌｌが記述される。検索履歴テーブル管理部１０７は、クリック率が所定順位よりも上であるコンテンツに対応付けられる検索ワードを、検索履歴記憶テーブル１１２を参照することで抽出する。
【００４４】
そして、検索履歴テーブル管理部１０７は、検索履歴中間テーブル１１３に基づいて抽出された検索ワードに基づいて特徴辞書中間テーブル１１４を生成する。この特徴辞書中間テーブル１１４は、検索履歴中間テーブル１１３のクリック率が上位のコンテンツに対応する検索ワードを、検索履歴記憶テーブル１１２から抽出することで、生成されたテーブルである。本実施形態では、クリック率が０．７５以上のコンテンツを対象とする。図９は、特徴辞書中間テーブル１１４のデータ例である。特徴辞書中間テーブル１１４において、コンテンツＩＤ欄にはクリック率が上位のコンテンツを特定するコンテンツＩＤ、検索ワード欄にはこのコンテンツＩＤに対応付けられる検索履歴記憶テーブル１１２から抽出された検索ワードがそれぞれ記憶される。
【００４５】
特徴辞書生成部１０８は、特徴辞書中間テーブル１１４に記憶されるデータに基づいて特徴辞書を生成して特徴辞書記憶部１１５に記憶する部分である。図１０は、特徴辞書記憶部１１５のデータ例である。特徴辞書生成部１０８は、特徴辞書中間テーブル１１４から、検索ワードを特徴語として順次抽出して、そのそれぞれに、特徴ＩＤを割り振る。特徴ＩＤの割り振りは、特徴語を特定するためのＩＤであって、特徴語に対して一意であれば、割り振り方法は任意である。
【００４６】
さらに本実施形態においては、検索ワード以外のワードを特徴語として特徴辞書記憶部１１５に追加するようにしてもよい。すなわち、形態素解析部１０４により所定のコンテンツが形態素解析された結果に基づいて得られた特徴語を特徴辞書記憶部１１５に追加するようにしてもよい。ここで、形態素解析結果は、インプレッション数の低いコンテンツに関する形態素解析部１０４による解析結果である。この解析結果のワードが特徴語として採用される。特徴辞書生成部１０８は、このように採用された特徴語を、特徴ＩＤを割り振って、特徴辞書記憶部１１５に記憶させる。
【００４７】
ユーザ特徴ベクトル生成部１０９は、ユーザ特徴ベクトルを生成する部分である。すなわち、ユーザ特徴ベクトル生成部１０９は、特徴辞書記憶部１１５に記憶された特徴辞書に記述されている特徴語を特徴要素とし、各ユーザの検索要求若しくは閲覧要求を記憶した検索履歴記憶テーブル１１２に記述されるコンテンツ（クリックされたコンテンツまたはインプレッションされたコンテンツ）、およびレコメンド送受信部１１１から出力されたレコメンド情報のクリック履歴（クリックされたコンテンツ）に対してＳＶＭ法を適用することにより、ユーザ特徴ベクトルを生成する。本実施形態ではユーザ特徴ベクトルの算出にＳＶＭ法を利用しているが、他の方法を利用してもよい。例えば、特徴空間上に各ユーザの視聴したコンテンツベクトルを割り当て、その中心ベクトルをユーザ特徴ベクトルとしてもよい。中心ベクトルは、視聴したコンテンツベクトルに対して最小二乗法により距離の最も小さいベクトルを求めることにより得られる。
【００４８】
また、ユーザ特徴ベクトル生成部１０９は、生成したユーザ特徴ベクトルについて各ユーザが検索したワードに対応する特徴ＩＤの値を０又は所定値下げることによりユーザ特徴ベクトルの修正を行うようにしてもよい。本実施形態では、端末Ａのユーザが、検索したワードに対応する特徴ＩＤの値を「０」にする例を示す。
【００４９】
例えば、図１０に示される特徴辞書に従って、端末Ａのユーザのユーザ特徴ベクトルが以下のように生成された場合について説明する。
｛０．３８,０．０８,０,０．２３,０,０．６９,０．１５,０．５３｝
端末Ａのユーザに関して「サッカー」及び「海外ドラマ」という検索ワードが検索履歴記憶テーブル１１２に記憶されているため、ユーザ特徴ベクトル生成部１０９により、これらの検索ワードに対応する特徴語が特徴辞書に基づいて特定される。そして、ユーザ特徴ベクトル生成部１０９により、特徴ＩＤ（特徴要素）の１と６については、その特徴ＩＤの値が「０」に修正される。これらの特徴要素の値を正規化すると、以下のユーザ特徴ベクトルが得られる。なお正規化とは、各次元の２乗加算の平方根で、各次元の値を除算することで得られる。
｛０,０．１２,０,０．３８,０,０,０．２５,０．８８｝
【００５０】
レコメンド生成部１１０は、ユーザ特徴ベクトル生成部１０９によって生成したユーザ特徴ベクトル及びコンテンツ特徴ベクトル生成部１０５によって生成したコンテンツ特徴ベクトルをもとにレコメンド情報を生成する部分である。レコメンド生成部１１０は生成したレコメンド情報を端末とのレコメンド送受信部１１１に送信する。
【００５１】
レコメンド送受信部１１１は、レコメンド生成部１１０が生成したレコメンド情報を端末に送信する部分である。このレコメンド送受信部１１１は、検索送受信部１０１が検索結果を送信するタイミングに、このレコメンド情報を送信するものであるが、単にレコメンド情報のみを送信するようにしてもよい。また、レコメンド送受信部１１１は、各端末に対して送信されたレコメンド情報に基づいてクリックされたコンテンツを履歴情報として受信する。受信した履歴情報は、レコメンド情報のクリック履歴としてユーザ特徴ベクトル生成部１０９に出力され、ユーザ特徴ベクトル生成部１０９において、ユーザごとに区別して一時的に記憶される。
【００５２】
引き続いて、図４を参照して、サービス提供サーバ１００のレコメンド生成方法の処理フローを説明する。図４は、サービス提供サーバ１００のレコメンド生成方法を示すフローチャートである。
【００５３】
最初に、検索送受信部１０１は、端末から端末ＩＤ、検索ワード、クリックコンテンツＩＤ及びインプレッションコンテンツＩＤを取得する（Ｓ１０１、受信ステップ）。次に、検索履歴テーブル管理部１０７は、取得した情報をもとに検索履歴記憶テーブル１１２のレコードを作成する（Ｓ１０２、検索履歴記憶ステップ）。
【００５４】
図５を用いてデータの作成例を説明する。端末Ａにおいて「サッカー」という検索ワードで検索を実行すると、この検索ワードを受け取ったサービス提供サーバ１００において、検索処理部１０２が「サッカー」というワードがメタデータに含まれるコンテンツを取得して、検索送受信部１０１が端末Ａに送信する。送信するコンテンツには、コンテンツＩＤ、コンテンツ名及びコンテンツ情報ページに対応するＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を含む。ＵＲＬにはＵＲＬパラメータとして検索ＩＤと端末ＩＤ（本実施形態では「Ａ」）を含む。検索送受信部１０１により送信されたコンテンツのコンテンツＩＤが「０１、０２、０３」の３つである場合、検索履歴テーブル管理部１０７は、図５に示されるように端末ＩＤ、検索ワード、及びインプレッションされたコンテンツのコンテンツＩＤ（インプレッションコンテンツＩＤ）を紐付ける。
【００５５】
端末Ａにおいて検索結果であるコンテンツがインプレッションされ、端末Ａを使用するユーザがコンテンツＩＤ「０３」のコンテンツに対してをクリックした場合、コンテンツＩＤ「０３」のＵＲＬに向けて通信が発生するため、サービス提供サーバ１００は、端末ＡにおいてコンテンツＩＤ「０３」がクリックされたということを認識する。さらに、ＵＲＬにはＵＲＬパラメータとして検索ワードが含まれているため、検索履歴テーブル管理部１０７は、図６に示すように検索ワードと、クリックされたコンテンツＩＤとを紐付けた検索履歴記憶テーブル１１２を生成する。
【００５６】
サービス提供サーバ１００に検索要求がなされる度に、上述の検索履歴記憶テーブル１１２に対するレコード記憶処理が行われ、図７に示されるような検索履歴記憶テーブル１１２が生成される。
【００５７】
さらに、検索履歴テーブル管理部１０７は、検索履歴記憶テーブル１１２に記憶された履歴情報に基づいて、各コンテンツのインプレッション数とクリック数とを集計して、コンテンツごとのクリック率を算出した中間テーブルを生成する（Ｓ１０３、クリック率算出ステップ）。続いて、検索履歴テーブル管理部１０７は、この中間テーブルにおいて、クリック率の高い順にレコード（コンテンツＩＤ、クリック数、インプレッション数、及びクリック率）を並び変え、検索履歴中間テーブル１１３を生成する（Ｓ１０４）。特徴辞書生成部１０８は、所定値以上のクリック数のコンテンツＩＤに対応付けられる検索ワードを検索履歴記憶テーブル１１２から抽出して、これを特徴語として採用する（Ｓ１０５、検索ワード抽出ステップ）。本実施形態では、クリック率が０．７５以上のコンテンツＩＤに対応付けられる検索ワードを抽出対象とする。なお、所定順位以上のもの、例えば上位５つなどのものを対象としてもよい。
【００５８】
つぎに、形態素解析部１０４は、検索履歴中間テーブル１１３からインプレッション数が所定値より低いコンテンツを選定し（Ｓ１０６）、選定したコンテンツのメタデータをメタデータ管理部１０３から抽出して、そのメタデータに対して形態素解析を実行する（Ｓ１０７）。特徴辞書生成部１０８は、この形態素解析の結果のワードを特徴語として採用する（Ｓ１０８）。なお、選定されるコンテンツは、インプレッション数が、所定順位以下のコンテンツであってもよい。
【００５９】
ここで、Ｓ１０６からＳ１０８の処理の技術的意義について説明する。このＳ１０６からＳ１０８の処理は、全コンテンツのうち、検索では一度もインプレッションされなかったコンテンツ、あるいはインプレッションされた回数が少なかったコンテンツをレコメンド対象としようとするための特徴語の抽出処理である。
【００６０】
インプレッションされたコンテンツあるいはインプレッション数が多いコンテンツを対象外とする理由は、検索でインプレッションされたにも関わらずクリックされなかったコンテンツはユーザが欲するコンテンツではなく、ユーザのニーズに適合しないコンテンツであると考えられるからである。一方、一度もインプレッションされていないコンテンツあるいはインプレッション数が少ないコンテンツは、ユーザがそのコンテンツの存在に気付いていないコンテンツということである。よって、検索では一度もインプレッションされなかったコンテンツあるいは、インプレッションされた回数が少なかったコンテンツは、レコメンド情報としてユーザの端末にインプレッションすることでユーザに気付きを与えることが有用であり価値があるコンテンツであると考えられる。このようなコンテンツに含まれているワードを特徴語として特徴辞書に登録することで、そのコンテンツをレコメンド対象として選択しやすくなる。
【００６１】
本実施形態においては、図７または図８に示されている通り、一度もインプレッションされていないコンテンツとして、コンテンツＩＤが１５のコンテンツのコンテンツが挙げられる。
【００６２】
そして、形態素解析部１０４は、このコンテンツＩＤが１５のコンテンツのメタデータをメタデータ管理部１０３から抽出して、当該メタデータに対して形態素解析を行う。形態素解析部１０４は、その形態素解析結果として｛音楽、ロック｝というワードを抽出する。特徴辞書生成部１０８は、これらのワードも特徴語として特徴辞書記憶部１１５に記憶させる。
【００６３】
そして、特徴辞書生成部１０８は、クリック率が所定順位よりも上位の検索ワード及び形態素解析の結果のワードを特徴語として特徴辞書記憶部１１５に記憶させる（Ｓ１０９、特徴辞書記憶ステップ）。
【００６４】
コンテンツ特徴ベクトル生成部１０５は、特徴辞書記憶部１１５に記憶されている特徴辞書をもとに、コンテンツ特徴ベクトルを生成するとともに、ユーザ特徴ベクトル生成部１０９は、同じ特徴辞書を用いてユーザ特徴ベクトルの生成を行う（Ｓ１１０、Ｓ１１１）。
【００６５】
つぎに、ユーザ特徴ベクトル生成部１０９は、ユーザ特徴ベクトルに対して、検索履歴記憶テーブル１１２に記憶されている検索ワードに対応する特徴要素の値を０にして正規化することでユーザ特徴ベクトルを修正する（Ｓ１１２）。レコメンド生成部１１０は、修正したユーザ特徴ベクトルを用いてレコメンド情報を生成する（Ｓ１１３）。
【００６６】
このＳ１１２における修正処理の意義は以下の通りである。レコメンドサービスは、ユーザにとって興味があり、かつユーザがその存在に気付いていないコンテンツを提供することに意味がある。ここでユーザが対象とするワード（特徴語）で検索した履歴があるということは、そのワード（特徴語）を含むメタデータを持つコンテンツについてはすでに検索結果からそのコンテンツの存在にユーザが気付いているということである。したがって、レコメンド対象のコンテンツからは外すべきと考えられる。本実施形態では、そのようなコンテンツのメタデータに含まれる特徴語に対応する特徴要素の値を０又は所定値さげることによりレコメンド対象のコンテンツから外すことが可能となる。
【００６７】
そして、このような処理のうちＳ１０３〜Ｓ１０９の処理は定期的に行われる。例えば、１日１回朝９時に検索履歴記憶テーブル１１２を参照して実行される。定期的に本処理を行うことで、継続して特徴辞書を自動メンテナンスしつつ、レコメンドサービスを提供することが可能となる。なお、定期的に実行する場合にＳ１１０及びＳ１１１を続いて実行していてもよい。
【００６８】
つぎに、本実施形態のサービス提供サーバ１００の作用効果について説明する。本実施形態のサービス提供サーバ１００において、検索送受信部１０１は、端末から検索ワード、端末ＩＤ，クリックコンテンツＩＤ、及びインプレッションコンテンツＩＤを受信する。検索履歴テーブル管理部１０７は、受信した検索ワード、端末ＩＤ，クリックコンテンツＩＤ、及びインプレッションコンテンツＩＤを紐付けて検索履歴記憶テーブル１１２に記憶する。検索履歴テーブル管理部１０７は、検索履歴記憶テーブル１１２に記憶したインプレッションコンテンツＩＤの数とクリックコンテンツＩＤの数から、コンテンツごとのクリック率を算出する。検索履歴テーブル管理部１０７は、クリック率が所定順位よりも上であるコンテンツに対し、検索履歴記憶テーブル１１２上で紐づく検索ワードを抽出する。そして、特徴辞書生成部１０８は、抽出された検索ワードを特徴語として特徴辞書記憶部１１５に記憶させる。
【００６９】
これにより、ユーザにとって興味のあるコンテンツに基づいた検索ワードを特徴語として特徴辞書に記憶することができるため、適切な特徴語を選択することができるとともに、その特徴語の数を適正なものとすることができる。よって、適切な特徴語を含んだ特徴辞書に基づいた特徴ベクトルを用いることで、ユーザにとって興味のあるコンテンツを含んだレコメンド情報を生成することができ、そのサービス提供機会の増大を図ることができるとともに、レコメンド情報の生成負荷を軽減することができる。
【００７０】
また、本実施形態のサービス提供サーバ１００において、ユーザ特徴ベクトル生成部１０９は、特徴辞書記憶部１１５に記憶されている特徴語を特徴要素としたユーザ特徴ベクトルを生成するとともに、コンテンツ特徴ベクトル生成部１０５は、特徴辞書記憶部１１５に記憶されている特徴語を特徴要素としたコンテンツ特徴ベクトルをコンテンツのメタデータに従って生成する。そして、レコメンド生成部１１０は、ユーザ特徴ベクトル及びコンテンツ特徴ベクトルからレコメンド情報を生成して、レコメンド送受信部１１１は、レコメンド生成部１１０が生成したレコメンド情報を端末に送信する。これにより、ユーザに品質の高いコンテンツを含んだレコメンド情報をユーザに提供することができる。
【００７１】
また、本実施形態のサービス提供サーバ１００において、形態素解析部１０４は、検索履歴記憶テーブル１１２において表示回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部１０３に記憶されているコンテンツのうち検索履歴記憶テーブル１１２に記憶されていないコンテンツを選択する。
【００７２】
例えば、検索履歴中間テーブル１１３に記憶されるインプレッション数が１回以下のコンテンツ「０７、０８、０９・・・」を選択する。さらに、メタデータ管理部１０３に記憶されているコンテンツのコンテンツＩＤが「０１、０２、０３・・・１６、１７」とした場合、検索履歴記憶テーブル１１２にはインプレッションコンテンツＩＤが「１６、１７」であるコンテンツがない。よって、この場合は、コンテンツＩＤが「１６、１７」のコンテンツが選択される。これらの選択したコンテンツのメタデータに対して形態素解析を行う。そして、形態素解析部１０４は、メタデータに含まれるワードを抽出し、特徴辞書生成部１０８は、抽出したワードを特徴語として特徴辞書記憶部１１５に記憶させる。
【００７３】
これにより、インプレッション回数が所定数よりも低くユーザがまだ存在を認識していない新たなコンテンツの気付きを与えるレコメンド情報を生成することができ、コンテンツの閲覧及び利用の機会増大を図ることができる。なお、インプレッションされた回数が所定回数以下のコンテンツ及びメタデータを記憶するメタデータ管理部に記憶されているコンテンツのうち検索履歴記憶テーブルに記憶されていないコンテンツについて形態素解析を行い、形態素解析の結果により得られた特徴語の候補となり得るワードのうち、多くのコンテンツに出現するワードは特徴語の候補から外してよい。特徴語は各コンテンツの特徴を効果的に表すワードである必要があるが、多くのコンテンツに含まれるワードは一般語である場合もあり、特徴を表すのには不適切であるからである。
【００７４】
また、本実施形態のサービス提供サーバ１００において、ユーザ特徴ベクトル生成部１０９は、端末ＩＤに紐づく検索ワードがユーザ特徴ベクトルの特徴語として検索履歴記憶テーブル１１２に記憶されている場合、検索履歴に基づいて特徴語に対応する特徴要素の値を０又は所定値下げることによりユーザ特徴ベクトルを修正する。これにより、修正したユーザ特徴ベクトルに基づきレコメンド情報が生成されるため、ユーザが既にクリックしたり、ユーザの端末にインプレッションされたコンテンツをレコメンド対象から外したり、優先度を下げることができる。また、レコメンド情報に含まれているコンテンツを表示する画面枠には限りがあるが、修正したユーザ特徴ベクトルを用いてレコメンド対象を修正することで、ユーザがまだ存在に気付いていないコンテンツをレコメンド対象とすることができる。これにより、幅広いコンテンツの閲覧及び利用の機会増大につなげることが可能となる。
【符号の説明】
【００７５】
１４…入力装置、１５…出力装置、１６…通信モジュール、１７…補助記憶装置、１０１…検索送受信部、１０２…検索処理部、１０３…メタデータ管理部、１０４…形態素解析部、１０５…コンテンツ特徴ベクトル生成部、１０７…検索履歴テーブル管理部、１０８…特徴辞書生成部、１０９…ユーザ特徴ベクトル生成部、１１０…レコメンド生成部、１１１…レコメンド送受信部、１１２…検索履歴記憶テーブル、１１３…検索履歴中間テーブル、１１４…特徴辞書中間テーブル、１１５…特徴辞書記憶部、１００…サービス提供サーバ。
【図１】
2015088089.tif 000003
【図２】
2015088089.tif 000004
【図３】
2015088089.tif 000005
【図４】
2015088089.tif 000006
【図５】
2015088089.tif 000007
【図６】
2015088089.tif 000008
【図７】
2015088089.tif 000009
【図８】
2015088089.tif 000010
【図９】
2015088089.tif 000011
【図１０】
2015088089.tif 000012