説明

コンテンツ推薦装置、推薦コンテンツの検索方法、及びプログラム

【課題】ユーザの嗜好に適合し、新たな情報を含むコンテンツの推薦を実現すること。
【解決手段】対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成部と、第1のコンテンツを選択した後に対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成部と、第1特徴量生成部により生成された第1の特徴量と、第2特徴量生成部により生成された第2の特徴量とに基づき、第1のコンテンツと第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成部と、対象ユーザが新たに選択したコンテンツに含まれる第1の種類の情報と、関係特徴量生成部により生成された関係特徴量とを用いて、対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、を備える装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、コンテンツ推薦装置、推薦コンテンツの検索方法、及びプログラムに関する。
【背景技術】
【0002】
近年、ネットワークを利用したビジネスが急拡大している。例えば、オンラインで商品を購入することが可能なオンラインストアなどのシステムは広く一般に利用されている。こうしたオンラインストアの多くには、ユーザに商品を推薦する仕組みが設けられている。例えば、ある商品の詳細情報をユーザが閲覧すると、その商品に関連する商品の情報が推薦商品としてユーザに提示される。
【0003】
このような仕組みは、例えば、下記の特許文献1に記載されている協調フィルタリングなどの方法を利用して実現される。この協調フィルタリングとは、多くのユーザの嗜好情報に基づき、嗜好の似たユーザの情報を利用して自動的に推薦を行う方法である。この協調フィルタリングを用いると、購入履歴のない新規ユーザに対しても推薦結果を提供することが可能になる。
【0004】
また、商品の推薦には、コンテンツベースフィルタリングと呼ばれる方法が利用されることもある。このコンテンツベースフィルタリングとは、コンテンツの属性とユーザの好みとをマッチングさせて関連コンテンツを推薦する方法である。このコンテンツベースフィルタリングは協調フィルタリングに比べ、推薦システムを利用しているユーザ数が少ない状況でも精度良く推薦結果を提供することができる。但し、対象ユーザが好むコンテンツを判別するための情報(例えば、購入履歴やコンテンツのメタ情報など)が少ない状況では、コンテンツベースフィルタリングを用いて精度の良い推薦結果を得るのは難しい。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−167901号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
協調フィルタリング及びコンテンツベースフィルタリングは、それぞれ長所と短所とを有している。例えば、コンテンツベースフィルタリングは、ユーザの嗜好を反映させた推薦を実現できるという長所を有する。その反面、コンテンツベースフィルタリングは、ユーザの嗜好に適合した特定の情報ばかりが推薦されるような状況を生じさせ、ユーザにとって新鮮な情報が推薦されなくなってしまうという短所を有する。一方、協調フィルタリングは、他のユーザが嗜好する新しい情報をユーザに提供することができるという長所を有する。しかし、他のユーザが嗜好する新しい情報が推薦対象となるユーザの嗜好に適合しないこともある。つまり、協調フィルタリングは、ユーザの嗜好に適合しない情報をそのユーザに提供する可能性を含むという短所を有する。
【0007】
そこで、本技術は、上記のような事情を受けて考案されたものであり、ユーザの嗜好に適合する新しい情報を含んだコンテンツをそのユーザに提供することが可能な、新規かつ改良されたコンテンツ推薦装置、推薦コンテンツの検索方法、及びプログラムを提供することを意図している。
【課題を解決するための手段】
【0008】
本技術のある観点によれば、対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成部と、前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成部と、前記第1特徴量生成部により生成された第1の特徴量と、前記第2特徴量生成部により生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成部と、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成部により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、を備える、コンテンツ推薦装置が提供される。
【0009】
また、前記推薦コンテンツ検索部は、前記第1特徴量生成部により生成された第1の特徴量の中から、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報に対応する第1の特徴量を抽出する第1の処理を実行し、前記関係特徴量生成部により生成された関連特徴量の中から、前記第1の処理で抽出した第1の特徴量に対応する関係特徴量を抽出する第2の処理を実行し、前記第2の処理で抽出した関連特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する、ように構成されていてもよい。
【0010】
また、前記第1の特徴量は、前記第1の種類の情報を構成する複数の情報要素を含み、前記第1のコンテンツを特徴付ける第1の特徴ベクトルにより表現されていてもよい。さらに、前記第2の特徴量は、前記第2の種類の情報を構成する複数の情報要素を含み、前記第2のコンテンツを特徴付ける第2の特徴ベクトルにより表現されていてもよい。
【0011】
また、前記第1特徴量生成部は、前記対象ユーザが前記第1のコンテンツを選択した順序を考慮して前記第1の特徴量を生成するように構成されていてもよい。
【0012】
また、前記第1特徴量生成部は、前記第1のコンテンツが有するメタデータの構造を参照して前記第1の種類に対応するメタデータが付与された領域から情報を取得するように構成されていてもよい。さらに、前記第2特徴量生成部は、前記第2のコンテンツが有するメタデータの構造を参照して前記第2の種類に対応するメタデータが付与された領域から情報を取得するように構成されていてもよい。
【0013】
また、上記のコンテンツ推薦装置は、前記関係特徴量生成部により生成された複数の前記関係特徴量を前記対象ユーザに提示し、当該対象ユーザに前記関係特徴量を選択させる関係選択要求部をさらに備えていてもよい。この場合、前記推薦コンテンツ検索部は、前記対象ユーザにより前記関係特徴量が選択された場合に、前記対象ユーザにより選択された関係特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する。
【0014】
また、前記推薦コンテンツ検索部は、前記第1のコンテンツと前記第2のコンテンツとの間の関係の強さに応じたスコアを算出し、算出したスコアを考慮して前記対象ユーザに推薦するコンテンツを検索するように構成されていてもよい。
【0015】
また、前記第1特徴量生成部は、前記対象ユーザが新たにコンテンツを選択する以前に前記第1の特徴量を生成するように構成されていてもよい。さらに、前記第2特徴量生成部は、前記対象ユーザが新たにコンテンツを選択する以前に前記第2の特徴量を生成するように構成されていてもよい。そして、前記関係特徴量生成部は、前記対象ユーザが新たにコンテンツを選択する以前に前記関連特徴量を生成するように構成されていてもよい。
【0016】
また、前記推薦コンテンツ検索部は、前記対象ユーザが新たにコンテンツを選択する以前に、前記第1の種類の情報に対応する所定の情報を用いて、当該所定の情報に対応する第1の特徴量を抽出する第1の処理を実行し、前記関係特徴量生成部により生成された関連特徴量の中から、前記第1の処理で抽出した第1の特徴量に対応する関係特徴量を抽出する第2の処理を実行し、前記第2の処理で抽出した関連特徴量のスコアを算出する第3の処理を実行し、前記対象ユーザが新たにコンテンツを選択した場合に、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報に対応する前記所定の情報を抽出する第3の処理を実行し、前記第3の処理で抽出した所定の情報に対応する関係特徴量のスコアに基づいて、前記対象ユーザに推薦するコンテンツを検索するように構成されていてもよい。
【0017】
また、前記第1及び第2のコンテンツと、前記対象ユーザが新たに選択したコンテンツとは、互いに異なるカテゴリに属していてもよい。
【0018】
また、本技術の別の観点によれば、対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて生成された第1の特徴量と、前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて生成された第2の特徴量と、前記第1特徴量生成部により生成された第1の特徴量と、前記第2特徴量生成部により生成された第2の特徴量とに基づいて生成された、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す第3の特徴量と、が格納された特徴量格納部と、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記特徴量格納部に格納された第3の特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、を備える、コンテンツ推薦装置が提供される。
【0019】
また、本技術の別の観点によれば、対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成ステップと、前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成ステップと、前記第1特徴量生成ステップで生成された第1の特徴量と、前記第2特徴量生成ステップで生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成ステップと、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成ステップで生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索ステップと、含む、推薦コンテンツの検索方法が提供される。
【0020】
また、本技術の別の観点によれば、対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成機能と、前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成機能と、前記第1特徴量生成機能により生成された第1の特徴量と、前記第2特徴量生成機能により生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成機能と、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成機能により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索機能と、をコンピュータに実現させるためのプログラムが提供される。
【0021】
また、本技術の別の観点によれば、上記のプログラムが記録された、コンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【0022】
以上説明したように本技術によれば、ユーザの嗜好に適合する新しい情報を含んだコンテンツをそのユーザに提供することが可能になる。
【図面の簡単な説明】
【0023】
【図1】四項類推の概念について説明するための説明図である。
【図2】四項類推に係る処理の流れについて説明するための説明図である。
【図3】多次元化した四項類推の概要について説明するための説明図である。
【図4】コンテンツメタデータの構造について説明するための説明図である。
【図5】本技術の第1実施形態に係る推薦システムの構成について説明するための説明図である。
【図6】本技術の第1実施形態に係るコンテンツ特徴量データベースの構造について説明するための説明図である。
【図7】本技術の第1実施形態に係るユーザ嗜好データベースの構造について説明するための説明図である。
【図8】本技術の第1実施形態に係る事例データベースの構造について説明するための説明図である。
【図9】本技術の第1実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図10】本技術の第1実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図11】本技術の第1実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図12】本技術の第1実施形態に係る事例データベースの生成方法について説明するための説明図である。
【図13】本技術の第1実施形態に係る推薦の処理について説明するための説明図である。
【図14】本技術の第1実施形態に係る嗜好学習の処理について説明するための説明図である。
【図15】本技術の第1実施形態に係る推薦の処理について説明するための説明図である。
【図16】本技術の第1実施形態に係る推薦の処理について説明するための説明図である。
【図17】本技術の第1実施形態に係る推薦の処理について説明するための説明図である。
【図18】本技術の第1実施形態に係る推薦の処理について説明するための説明図である。
【図19】本技術の第2実施形態に係る推薦システムの構成について説明するための説明図である。
【図20】本技術の第2実施形態に係る重心データベースの構造について説明するための説明図である。
【図21】本技術の第2実施形態に係るRパターンデータベースの構造について説明するための説明図である。
【図22】本技術の第2実施形態に係る推薦の処理について説明するための説明図である。
【図23】本技術の第2実施形態に係る推薦の処理について説明するための説明図である。
【図24】本技術の第2実施形態に係る推薦の処理について説明するための説明図である。
【図25】本技術の第2実施形態に係るクラスタリングの処理について説明するための説明図である。
【図26】本技術の第2実施形態に係るクラスタリングの処理について説明するための説明図である。
【図27】本技術の第2実施形態に係るRパターンの選択について説明するための説明図である。
【図28】本技術の第2実施形態に係る推薦の処理について説明するための説明図である。
【図29】本技術の第2実施形態に係る推薦の処理について説明するための説明図である。
【図30】本技術の第3実施形態に係る推薦システムの構成について説明するための説明図である。
【図31】本技術の第3実施形態に係る推薦リストデータベースの構造について説明するための説明図である。
【図32】本技術の第3実施形態に係るオフライン処理(関係Rのスコア算出)について説明するための説明図である。
【図33】本技術の第3実施形態に係るオフライン処理(関係Rのスコア算出)について説明するための説明図である。
【図34】本技術の第3実施形態に係るオフライン処理について説明するための説明図である。
【図35】本技術の第3実施形態に係るオンライン処理について説明するための説明図である。
【図36】本技術の第3実施形態に係るオンライン処理について説明するための説明図である。
【図37】本技術の第1〜第3実施形態に係る技術の応用例(クロスカテゴリ推薦)について説明するための説明図である。
【図38】本技術の第1〜第3実施形態に係る推薦システムの機能を実現することが可能なハードウェア構成について説明するための説明図である。
【発明を実施するための形態】
【0024】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0025】
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。
【0026】
はじめに、後述する実施形態に係る技術に用いられる四項類推の概念について説明する。まず、図1を参照しながら、四項類推の概念について説明する。次いで、図2を参照しながら、四項類推に係る処理の流れについて説明する。次いで、図3を参照しながら、多次元化した四項類推の概要について説明する。また、図4を参照しながら、四項類推を具体的な事例に適用する際に用いるコンテンツメタデータの構造について説明する。
【0027】
次に、本技術の第1実施形態について説明する。まず、図5を参照しながら、本技術の第1実施形態に係る推薦システム100の構成について説明する。また、図6を参照しながら、本技術の第1実施形態に係るコンテンツ特徴量データベース104の構造について説明する。さらに、図7を参照しながら、本技術の第1実施形態に係るユーザ嗜好データベース102の構造について説明する。そして、図8〜図12を参照しながら、本技術の第1実施形態に係る事例データベース106の構造及びその生成方法について説明する。次いで、図13〜図18を参照しながら、本技術の第1実施形態に係る推薦の処理について説明する。この中で本技術の第1実施形態に係る嗜好学習の処理についても説明する。
【0028】
次に、本技術の第2実施形態について説明する。まず、図19を参照しながら、本技術の第2実施形態に係る推薦システム200の構成について説明する。また、図20を参照しながら、本技術の第2実施形態に係る重心データベース(Rパターンデータベース209)の構造について説明する。さらに、図21を参照しながら、本技術の第2実施形態に係るRパターンデータベース209の構造について説明する。次いで、図22〜図29を参照しながら、本技術の第2実施形態に係る推薦の処理について説明する。この中で、本技術の第2実施形態に係るクラスタリングの処理及びRパターンの選択についても説明する。
【0029】
次に、本技術の第3実施形態について説明する。まず、図30を参照しながら、本技術の第3実施形態に係る推薦システム300の構成について説明する。また、図31を参照しながら、本技術の第3実施形態に係る推薦リストデータベース309の構造について説明する。次いで、図31〜図34を参照しながら、本技術の第3実施形態に係るオフライン処理について説明する。次いで、図35及び図36を参照しながら、本技術の第3実施形態に係るオンライン処理について説明する。次に、図37を参照しながら、本技術の第1〜第3実施形態に係る技術の応用例(クロスカテゴリ推薦)について説明する。次いで、図38を参照しながら、本技術の第1〜第3実施形態に係る推薦システムの機能を実現することが可能なハードウェア構成について説明する。
【0030】
最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【0031】
(説明項目)
1:はじめに
1−1:四項類推とは
1−2:四項類推の多次元化
2:第1実施形態
2−1:システム構成
2−2:オフライン処理の流れ
2−3:オンライン処理の流れ
3:第2実施形態
3−1:システム構成
3−2:オフライン処理の流れ
3−3:オンライン処理の流れ
4:第3実施形態
4−1:システム構成
4−2:オフライン処理の流れ
4−3:オンライン処理の流れ
5:応用例(クロスカテゴリ推薦)
6:ハードウェア構成例
7:まとめ
【0032】
<1:はじめに>
はじめに、本実施形態に係る技術について詳細に説明するに先立ち、四項類推の概念及び本実施形態の概要について簡単に説明する。
【0033】
[1−1:四項類推とは]
まず、図1を参照しながら、四項類推の概念について説明する。図1は、四項類推の概念について説明するための説明図である。
【0034】
四項類推とは、人が前提知識に基づいて物事を類推する過程をモデル化したものである。「事例:A→B」を前提知識として持つ人に情報Cを与えた場合、その人が情報Cから類推する情報Xはどのようなものであろうか。例えば、Aとして単語「fish」、Bとして単語「scale」を与えると、人は、AとBとの間にある関係Rとして単語「have」や単語「cover」などで表現される概念を想起するであろう。そして、この人に情報Cとして単語「bird」を与え、関係Rに基づいて情報Xを類推させると、この人は、例えば、単語「feather」や単語「wing」などを類推すると考えられる。このような人の類推過程をモデル化したものが四項類推なのである。
【0035】
この四項類推に関し、前提知識として「事例:A→B」を与えられた人が類推する「事例:C→X」の解Xを推定する技術に注目が集まっている。なお、以下では、「事例:A→B」から「事例:C→X」を類推する過程を「A:B=C:X」と表現することがある。「A:B=C:X」の解Xを推定する技術としては、例えば、構造写像理論と呼ばれる推定方法が知られている。この推定方法は、図1に示すように、「事例:A→B」におけるA(以下、状況A)とB(以下、結果B)との関係Rを「事例:C→X」におけるC(以下、状況C)に適用して解X(以下、結果X)を推定するというものである。
【0036】
つまり、上記の構造写像理論は、前提知識を構成する知識領域(以下、基底領域)の構造を、解Xを求める問題の領域(以下、目標領域)に写像する方法とも言える。構造写像理論に関しては、例えば、D.Gentner,“Structure−Mapping:A Theoretical Framework for Analopy”,Cognitive Science,1983などに記載がある。
【0037】
上記の構造写像理論を用いると、基底領域の構造を写像する際に生じる無意味な知識を排除して、ある程度妥当な類推結果Xを得ることができる。例えば、図1に示すように、状況Aとして単語「fish」が与えられた場合に、単語「fish」から類推される「青い」「小さい」などの知識を結果Xの推定時に排除することができる。同様に、結果Bとして単語「scale」が与えられた場合に、「硬い」「透明」などの知識を結果Xの推定時に排除することができる。
【0038】
構造写像理論に基づく結果Xの推定処理は、例えば、図2に示す処理手順で実行される。まず、図2に示すように、状況Aと結果Bとの間の関係Rを推定する処理が実行される(S10)。次いで、ステップS10で推定された関係Rを基底領域から目標領域へ写像する処理が実行される(S11)。次いで、関係Rを状況Cに適用し、結果Xを推定する処理が実行される(S12)。これらステップS10〜S12の処理を実行することにより、「事例:A→B」に基づいて「事例:C→X」の解Xが推定される。
【0039】
以上、四項類推の概念について説明した。ここで説明した四項類推の概念をファジィ理論の視点からシステム化する研究がKanekoらによりなされており、その研究成果が報告されている。例えば、Yosuke Kaneko,Kazuhiro Okada,Shinichiro Ito,Takuya Nomura and
Tomihiro Takagi,"A Propasal of Analogical Reasoning Based on Structural
Mapping and Image Schemas",5th International Conference on Soft Computing
and Intelligent Systems and 11th International Symposium on Advanced
Intelligent Systems(SCIS & ISIS 10),2010などの報告がある。これらの報告の中で、Kanekoらは、単語の共起頻度から写像対象となる関係Rを抽出し、単語の品詞情報を構造として利用する推薦システムを提案している。この報告内容も四項類推の概念を理解するための一助となるであろう。
【0040】
[1−2:四項類推の多次元化]
次に、図3を参照しながら、四項類推を多次元化する方法について説明する。図3は、四項類推を多次元化する方法について説明するための説明図である。なお、四項類推の多次元化に関する研究成果としては、特願2011−18787号に記載の方法がある。
【0041】
図1の例は、1つの基底領域から1つの目標領域への構造写像に関するものであった。また、図1の例において、状況A、結果B、状況C、結果Xは、それぞれ1つの単語で表現されていた。ここでは四項類推の概念を拡張し、図3に示すように、複数の基底領域から1つの目標領域へと構造を写像する新たな方式ついて考える。また、ここでは、状況A、結果B、状況C、結果Xをそれぞれ、1つ又は複数の単語で構成されるワードベクトルにより表現する方式について考える。なお、ここで考える新たな方式のことを「多次元の四項類推」と呼ぶことにする。以下、多次元の四項類推の概念について説明する。
【0042】
図3に示すように、n個の基底領域(基底領域1〜基底領域n)を考える。また、基底領域k(k=1〜n)には、「事例:Ak→Bk」が属するものとする。さらに、状況Ak、結果Bkは、複数の単語を含むワードベクトルで表現されるものとする。また、基底領域1〜基底領域nの構造は、1つの目標領域へと写像されるものとする。さらに、この目標領域には、「事例:C→Xj(j=1〜n)」が属するものとする。但し、状況Akと結果Bkとの関係Rkは、「事例:C→Xk」における結果Xkの推定に利用される。
【0043】
例えば、状況Ak(k=1〜n)は、ある人(以下、対象ユーザ)が過去に選択したコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果Bk(k=1〜n)は、状況Akを前提とし、そのコンテンツ群の次に対象ユーザが選択したコンテンツを特徴付けるワードベクトルにより表現される。さらに、関係Rk(k=1〜n)は、状況Akと結果Bkとの関係を特徴付けるワードベクトルにより表現される。そして、状況Cは、新たに対象ユーザが選択したコンテンツを含むコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果Xk(k=1〜n)は、状況Cのワードベクトルと、関係Rのワードベクトルとに基づいて類推されるコンテンツを特徴付けるワードベクトルである。
【0044】
つまり、状況A1と結果B1との関係R1、及び状況Cを用いて結果X1が類推される。同様に、関係R2及び状況Cから結果X2が類推され、関係R3及び状況Cから結果X3が類推され、…、関係Rn及び状況Cから結果Xnが類推される。なお、各ワードベクトルは、例えば、TF−IDFと呼ばれるアルゴリズムを利用して生成される。このTF−IDFとは、文書中から特徴的な単語を抽出するためのアルゴリズムである。TF−IDFは、TF−IDF値と呼ばれる指標を出力する。このTF−IDF値は、単語の出現頻度を表すTF値と、逆出現頻度を表すIDF値との積で表現される。
【0045】
例えば、文書d中における単語jの出現回数をNj、文書d中に含まれる全単語数をN、全文書数をD、単語jが出現する文書数をDjとすると、TF値tf(j,d)は、下記の式(1)により表現される。また、IDF値idf(j)は、下記の式(2)により表現される。そして、TF−IDF値tfidf(j,d)は、下記の式(3)により表現される。つまり、多くの文書中に出現する単語のTF−IDF値は下がり、特定の文書中に頻出する単語のTF−IDF値は上がる。そのため、この指標を用いることにより、個々の文書を特徴付ける単語を抽出することが可能になる。また、TF−IDF値の高い複数の単語を抽出することにより、文書を特徴付けるワードベクトルが生成される。
【0046】
【数1】


…(1)

…(2)

…(3)
【0047】
ここで、料理投稿サイトを情報源として利用する実施例について考えてみたい。料理投稿サイトの多くは、ユーザが自分の創作した料理のレシピを自由に投稿できるように構成されている。また、こうした料理投稿サイトは、この料理投稿サイトを閲覧した他のユーザがレビューを記載できるように構成されている。もちろん、他の情報サイトと同様に、料理投稿サイトには、タイトル、画像、説明文といった欄が設けられている。また、料理投稿サイトの中には、材料、料理の手順、作り方のコツ、料理の生い立ち、登録カテゴリなどの欄を設けているサイトもある。これらの欄は、メタデータにより規定されている。
【0048】
例えば、図4に示すように、ある料理投稿サイトは、Title、Image、Description、Ingredients、Cooking Procedure、Knacks of Cooking Procedure、Reviews、History、Categoriesなどのメタデータで構造が規定されている。そのうち、Title、Description、Ingredients、Cooking Procedure、Knacks of Cooking Procedure、Reviews、Historyの欄は、多次元の四項類推に利用可能な情報を含む。
【0049】
例えば、図4に示すように、Ingredients、Cooking Procedure、Knacks of Cooking Procedureの欄は、状況A及び状況Cに関する情報源として利用することができる。また、Title、Description、Reviewsの欄は、結果Bに関する情報源として利用することができる。さらに、Historyの欄は、関係Rに関する情報源として利用することができる。
【0050】
つまり、状況A及び状況Cに関する情報源は、ユーザの嗜好(この例では材料、料理手順、料理のコツなど)を表す領域に設定される。一方、結果Bに関する情報源は、この料理投稿サイトに記載の料理を実際に食べてみた結果などが表現されている領域に設定される。また、関係Rに関する情報源は、状況Aと結果Bとの関係(この例では、料理投稿サイトに記載の料理が生まれるまでの過程など)が表現されている領域に設定される。このように、メタデータの構造を利用することにより、状況A、結果B、状況C、関係Rに関する情報源を容易に設定することができる。また、各領域に記載の文書から、上記のTF−IDF値などを利用して、状況A、結果B、状況Cに対応するワードベクトルを生成することができる。
【0051】
ここでは料理投稿サイトを情報源として利用する実施例について考えたが、他種類のサイトに関してもメタデータの構造を参照することにより、状況A、結果B、状況C、関係Rに関する情報源を設定することができる。なお、結果Xに関する情報源は、結果Bに関する情報源と同じメタデータが付された領域に設定される。このようにして情報源が設定されると、ユーザが閲覧したサイトの履歴などから抽出されるワードベクトルを利用して、図3に示すような多次元の四項類推に基づく結果X1〜Xnの推定が可能になる。
【0052】
本実施形態に係る技術は、上記の推定に関するものである。但し、本実施形態に係る技術は、多次元の四項類推に基づく結果X1〜Xnの推定に主眼を置くものではなく、関係R1〜Rnを利用してユーザの嗜好に適した推薦コンテンツを検索する技術に関する。また、本実施形態の適用範囲は料理投稿サイトに限定されず、様々なコンテンツに対して適用することが可能である。
【0053】
以上、四項類推の概念及び本実施形態の概要について簡単に説明した。以下、本実施形態に係る技術について詳細に説明する。
【0054】
<2:第1実施形態>
本技術の第1実施形態について説明する。
【0055】
[2−1:システム構成]
まず、図5を参照しながら、本実施形態に係る推薦システム100のシステム構成について説明する。図5は、本実施形態に係る推薦システム100のシステム構成について説明するための説明図である。
【0056】
図5に示すように、推薦システム100は、主に、嗜好抽出エンジン101と、ユーザ嗜好データベース102と、コンテンツ特徴量抽出エンジン103と、コンテンツ特徴量データベース104と、事例関係抽出エンジン105と、事例データベース106と、推薦エンジン107とにより構成される。
【0057】
なお、嗜好抽出エンジン101、コンテンツ特徴量抽出エンジン103、事例関係抽出エンジン105、推薦エンジン107が有する機能は、図38に示すハードウェア構成のうち、CPU902などの機能により実現される。また、ユーザ嗜好データベース102、コンテンツ特徴量データベース104、事例データベース106は、図38に示すハードウェア構成のうち、ROM904、RAM906、記憶部920、リムーバブル記録媒体928などの機能により実現される。また、推薦システム100の機能は、単一のハードウェアを利用して実現されてもよいし、ネットワーク又は専用回線により接続された複数のハードウェアを利用して実現されてもよい。
【0058】
(コンテンツ特徴量抽出エンジン103、コンテンツ特徴量データベース104)
まず、コンテンツ特徴量抽出エンジン103及びコンテンツ特徴量データベース104について説明する。
【0059】
コンテンツ特徴量抽出エンジン103は、図6に示すようなコンテンツ特徴量データベース104を構築する手段である。コンテンツ特徴量抽出エンジン103は、まず、コンテンツのメタデータを取得する。そして、コンテンツ特徴量抽出エンジン103は、取得したメタデータの構造を参照してコンテンツを構成する各領域を識別し、TF−IDF値などに基づいて各領域を特徴付ける一又は複数の単語を抽出する。さらに、コンテンツ特徴量抽出エンジン103は、コンテンツの情報、領域の情報、抽出した単語の情報などをコンテンツ特徴量データベース104に格納する。
【0060】
例えば、コンテンツ特徴量データベース104には、図6に示すように、アイテムID、領域ID、特徴量ID、更新回数、及び重要度が格納される。アイテムIDは、コンテンツを識別するための識別情報である。また、領域IDは、コンテンツを構成する各領域を識別するための識別情報である。例えば、図4に示したTitleの欄や、Ingredientsの欄は、領域IDにより識別される。さらに、特徴量IDは、対応する領域を特徴付ける単語を識別するための識別情報である。また、更新回数は、対応する領域の内容が更新された回数を示す情報である。重要度は、対応する単語の重要度を示す情報である。なお、コンテンツ特徴量データベース104は、嗜好抽出エンジン101、事例関係抽出エンジン105、推薦エンジン107により利用される。
【0061】
(嗜好抽出エンジン101、ユーザ嗜好データベース102)
次に、嗜好抽出エンジン101及びユーザ嗜好データベース102について説明する。
【0062】
ユーザが機器10を介して情報を入力すると、入力された情報は、嗜好抽出エンジン101に入力される。例えば、ユーザの操作ログは、嗜好抽出エンジン101に入力される。ユーザの操作ログが入力されると、嗜好抽出エンジン101は、入力された操作ログに基づいてユーザの嗜好を抽出する。嗜好抽出エンジン101により抽出されたユーザの嗜好を示す情報は、ユーザ嗜好データベース102に格納される。
【0063】
ユーザ嗜好データベース102は、図7に示すような構造を有する。ユーザ嗜好データベース102には、図7に示すように、ユーザID、領域ID、特徴量ID、及び重要度を示す情報が格納される。ユーザIDは、ユーザを識別するための識別情報である。領域IDは、コンテンツを構成する各領域を識別するための識別情報である。特徴量IDは、対応する領域を特徴付ける単語を識別するための識別情報である。また、重要度は、特徴量IDにより特定される単語の重要度を示す情報である。なお、ユーザ嗜好データベース102は、推薦エンジン107で利用される。
【0064】
(事例関係抽出エンジン105、事例データベース106)
次に、事例関係抽出エンジン105及び事例データベース106について説明する。
【0065】
事例関係抽出エンジン105は、コンテンツ特徴量データベース104に格納された情報に基づいて事例関係を抽出する。この事例関係とは、状況A、結果B、関係Rの関係を意味する。事例関係抽出エンジン105により抽出された事例関係を示す情報は、事例データベース106に格納される。具体的には、図8に示すように、状況Aに関するワードベクトル、結果Bに関するワードベクトル、関係Rに対応するワードベクトルが事例データベース106に格納される。図8の例では、状況Aに関するワードベクトル及び結果Bに関するワードベクトルの次元数がそれぞれ2に設定されている。以下では、この設定例に基づいて説明を進めるが、ワードベクトルの次元数は3以上であってもよい。
【0066】
図6に示すように、コンテンツ特徴量データベース104には、アイテムIDと、領域IDと、特徴量IDとが対応付けて格納されている。そこで、事例関係抽出エンジン105は、状況Aに関する情報源として設定された領域IDに対応する特徴量IDの組(word A1,word A2)を抽出し、状況Aのワードベクトルに設定する。また、事例関係抽出エンジン105は、結果Bに関する情報源として設定された領域IDに対応する特徴量IDの組(word B1,word B2)を抽出し、結果Bのワードベクトルに設定する。さらに、事例関係抽出エンジン105は、関係Rに関する情報源として設定された領域IDに対応する特徴量ID(word R)を抽出する。
【0067】
そして、事例関係抽出エンジン105は、同じアイテムIDに対応する(word A1,word A2)、(word B1,word B2)及びword Rを対応付けて事例データベース106に格納する。図8の例では、状況Aのワードベクトル(1,5)と結果Bのワードベクトル(2,1)との組み合わせに関して、関係Rのワードベクトル(8,3,10,15)が抽出されている。このように、事例関係抽出エンジン105は、状況A、結果B、関係Rの事例関係をコンテンツ特徴量データベース104から抽出し、事例データベース106を構築する。なお、事例データベース106は、ユーザ毎に構築されていてもよい。このようにして構築された事例データベース106は、推薦エンジン107により利用される。
【0068】
(推薦エンジン107)
次に、推薦エンジン107について説明する。
【0069】
推薦エンジン107は、機器10を介してユーザにより推薦要求を受けると、ユーザ嗜好データベース102、コンテンツ特徴量データベース104、事例データベース106に格納された情報に基づいて推薦コンテンツを抽出する。そして、推薦エンジン107は、抽出した推薦コンテンツのリストを推薦結果としてユーザに提示する。例えば、あるコンテンツ(以下、新規コンテンツ)をユーザが選択した場合、新規コンテンツの情報が推薦エンジン107に入力される。新規コンテンツの情報が入力されると、推薦エンジン107は、入力された新規コンテンツを含むコンテンツ群から、状況Cに関する情報源として設定された領域IDに対応する特徴量IDの組を抽出する。
【0070】
つまり、推薦エンジン107は、新規コンテンツについて状況Cのワードベクトルを抽出する。状況Cのワードベクトルを抽出すると、推薦エンジン107は、抽出した状況Cのワードベクトルと、事例データベース106に格納されている関係Rのワードベクトルとを用いて推薦コンテンツを抽出する。このとき、推薦エンジン107は、複数の推薦コンテンツを抽出し、各推薦コンテンツに対するスコアを算出する。そして、推薦エンジン107は、スコア付けされた推薦コンテンツのリストを生成し、そのリストを推薦結果としてユーザに提示する。
【0071】
以上、推薦システム100のシステム構成について説明した。次に、推薦システム100により実行される処理の流れについて詳細に説明する。
【0072】
[2−2:オフライン処理の流れ]
まず、図9〜図12を参照しながら、推薦システム100により実行される処理のうち、オフライン処理の流れについて説明する。図9〜図12は、推薦システム100により実行される処理のうち、オフライン処理の流れについて説明するための説明図である。なお、ここで言うオフライン処理とは、機器10から推薦要求を受けていない状態で実行可能な処理のことを意味する。
【0073】
(図9:オフライン処理の概要)
図9に示すように、オフライン処理として実行される主な処理内容は、事例データベース106の構築である。上記の通り、事例データベース106の構築は、主に事例関係抽出エンジン105の機能を用いて実現される。
【0074】
オフライン処理には、ユーザにより過去に生成されたコンテンツ群が利用される。そのため、図9に示すように、オフライン処理の前にユーザによるコンテンツの生成((1)ユーザ記入)という処理が存在する。図9の例では、コンテンツ1〜n+1のn+1個のコンテンツが用意されている。但し、より大きな番号が付されたコンテンツほど新しく生成されたものとする。まず、事例関係抽出エンジン105は、これらn+1個のコンテンツから古い順にn個のコンテンツを状況Aに関する情報源として選択する。また、事例関係抽出エンジン105は、最も新しいコンテンツを結果Bに関する情報源として選択する。ここでは状況Aに関する情報源として選択されたn個のコンテンツを状況A1と表現し、結果Bに関する情報源として選択されたコンテンツを結果B1と表現する。
【0075】
同様に、q=1,…,m−1について、事例関係抽出エンジン105は、古い順にn−q個のコンテンツを状況Aに関する情報源として選択する。また、事例関係抽出エンジン105は、q+1番目に新しいコンテンツを結果Bに関する情報源として選択する。q=1,…,m−1のそれぞれについて、状況Aに関する情報源として選択したn−q個のコンテンツを状況A(q+1)と表現し、結果Bに関する情報源として選択されたコンテンツを結果B(q+1)と表現する。但し、mは、状況Amに対応するコンテンツの数が所定数となるように設定される。このようにして状況Ak(k=1,…,m)と結果Bkとの組を抽出すると(2)、事例関係抽出エンジン105は、k=1,…,mのそれぞれについて、状況Akと結果Bkとの関係Rkを特徴付けるワードベクトルを生成する。
【0076】
ここでは一例として、状況A1と結果B1との関係R1を特徴付けるワードベクトルの生成方法について説明する。まず、事例関係抽出エンジン105は、状況A1に対応するn個のコンテンツについて、状況Aに関する情報源として設定された領域(以下、領域A)を参照し、その領域を特徴付けるワードベクトルを生成する(3)。例えば、事例関係抽出エンジン105は、コンテンツ1〜nの領域Aをそれぞれ特徴付けるn本のワードベクトルを生成し、これらn本のワードベクトルを統合して状況A1のワードベクトルに設定する。次いで、事例関係抽出エンジン105は、状況A1のワードベクトルから単語(この例では2単語)を抽出する(4)。なお、以下の説明において、ここで抽出された単語の組を状況A1のワードベクトルと呼ぶ場合もある。
【0077】
次いで、事例関係抽出エンジン105は、結果B1に対応するコンテンツを対象に、結果Bに関する情報源として設定された領域(以下、領域B)を特徴付けるワードベクトルを生成し、そのワードベクトルを結果B1のワードベクトルに設定する(5)。次いで、事例関係抽出エンジン105は、結果B1のワードベクトルから単語(この例では2単語)を抽出する(6)。なお、以下の説明において、ここで抽出された単語の組を結果B1のワードベクトルと呼ぶ場合もある。次いで、事例関係抽出エンジン105は、状況A1のワードベクトルから抽出した単語を領域Aに含み、かつ、結果B1のワードベクトルから抽出した単語を領域Bに含むコンテンツを検索する(7)。
【0078】
次いで、事例関係抽出エンジン105は、検索処理により抽出されたコンテンツを対象に、関係Rに関する情報源として設定された領域(以下、領域R)を特徴付けるワードベクトルを生成し、そのワードベクトルを関係R1のワードベクトルに設定する(8)。但し、検索処理により複数のコンテンツが抽出された場合、各コンテンツの領域Rをそれぞれ特徴付ける複数のワードベクトルを生成し、これら複数のワードベクトルを統合して関係Rのワードベクトルに設定する。このようにして生成された関係R1のワードベクトルは、状況A1のワードベクトルから抽出された単語と、結果B1のワードベクトルから抽出された単語とに対応付けて事例データベース106に格納される。
【0079】
なお、ワードベクトルから抽出される単語の組み合わせは多数存在する。そのため、上記(4)(6)(7)(8)の処理は、全ての異なる単語の組み合わせについて実行される。そして、順次、上記(8)で生成されたワードベクトルが関係R1のワードベクトルに追加される。また、以上説明した処理は、状況A1と結果B1との組み合わせについてだけではなく、状況A2,…,Am、結果B2,…,Bmの全ての組み合わせについて実行される。そして、関係R1,…,Rmのワードベクトルが生成される。
【0080】
(図10〜図12:オフライン処理の詳細)
オフライン処理は概ね上記の通りである。以下では、オフライン処理として実行される処理の流れについて、より詳細に説明する。
【0081】
図10に示すように、まず、事例関係抽出エンジン105は、ユーザにより過去に選択されたコンテンツを時系列順に並べ、状況Aと結果Bとの組み合わせを設定する(S101)。つまり、事例関係抽出エンジン105は、状況A1,…,Am、結果B1,…,Bmに属するコンテンツを設定する。例えば、事例関係抽出エンジン105は、図11に示すように、コンテンツre1,…,re4を古い順に並べ、状況A1,…,A3及び結果B1,…,B3に属するコンテンツを設定する。
【0082】
次いで、事例関係抽出エンジン105は、状況Ajに属するコンテンツ群から重要度の高いN個(Nは自然数)の単語を抽出し、状況Ajのワードベクトルを生成する(S102)。例えば、事例関係抽出エンジン105は、図11に示すように、状況A1に属するコンテンツre1、re2、re3から重要度の高いN個の単語を抽出して状況A1のワードベクトルを生成する。このとき、事例関係抽出エンジン105は、より新しいコンテンツに含まれる単語の重要度が大きくなるように、各単語の重要度に重みを付ける。この重み付けにより、より新しいコンテンツに含まれる特徴的な単語が、状況A1のワードベクトルに含まれやすくなる。
【0083】
次いで、事例関係抽出エンジン105は、結果Bjに属するコンテンツ群から重要度の高いN個(Nは自然数)の単語を抽出し、結果Bjのワードベクトルを生成する(S103)。例えば、事例関係抽出エンジン105は、図11に示すように、結果Bjに属するコンテンツre4から重要度の高いN個の単語を抽出して結果Bjのワードベクトルを生成する。次いで、事例関係抽出エンジン105は、図12に示すように、状況Ajのワードベクトルから単語(この例では2単語)を抽出すると共に、結果Bjのワードベクトルから単語(この例では2単語)を抽出する(S104)。
【0084】
次いで、事例関係抽出エンジン105は、ステップS104で抽出した単語が共起するコンテンツを検索する。そして、事例関係抽出エンジン105は、検索結果として抽出されたコンテンツの領域Rからスコアの高い単語を抽出して関係Rjのワードベクトルに設定する(S105)。図12の例では、検索結果としてコンテンツre1’,…,re8’が抽出されている。また、コンテンツre1’,…,re8’の領域Rを特徴付ける単語の中から、スコアの高い順に単語(図12の例では5単語)が抽出され、関係Rjのワードベクトルが生成されている。
【0085】
なお、単語riのスコアscoreR(ri)は、下記の式(4)に基づいて算出される。但し、状況Ajのワードベクトルから抽出した単語をap(p=1,2,…)、結果Bjのワードベクトルから抽出した単語をbq(q=1,2,…)と表現する。また、関数ht(x)は、単語xをキーワードにコンテンツを検索した場合にヒットするコンテンツの数を表す。さらに、関数ht(x1,x2)は、単語x1と単語x2とが共起するコンテンツを検索した場合にヒットするコンテンツの数を表す。そして、関数ht(x1,x2,x3)は、単語x1と単語x2と単語x3とが共起するコンテンツを検索した場合にヒットするコンテンツの数を表す。また、下記の式(4)に含まれるscore(i,p,q)は、下記の式(5)〜(8)により定義される。また、下記の式(6)〜(8)に現れるNはコンテンツの総数である。
【0086】
【数2】

…(4)

…(5)

…(6)

…(7)

…(8)
【0087】
次いで、事例関係抽出エンジン105は、状況Aj、結果Bj、関係Rjのワードベクトルを事例データベース106に格納する(S106)。このとき、事例関係抽出エンジン105は、ステップS105で検索した際に用いた単語と、関係Rjのワードベクトルとを対応付けて事例データベース106に格納する。次いで、事例関係抽出エンジン105は、j=mか否かを判定する(S107)。つまり、事例関係抽出エンジン105は、ステップS101で設定した状況Aと結果Bとに関する全ての組み合わせについてステップS102〜S106の処理を実行したか否かを判定する。j=mである場合、事例関係抽出エンジン105は、一連の処理を終了する。j≠mである場合、事例関係抽出エンジン105は、jを1だけインクリメントし、処理をステップS102に戻す。
【0088】
以上、オフライン処理の流れについて説明した。
【0089】
[2−3:オンライン処理の流れ]
次に、図13〜図18を参照しながら、推薦システム100により実行される処理のうち、オンライン処理の流れについて説明する。図13〜図18は、推薦システム100により実行される処理のうち、オンライン処理の流れについて説明するための説明図である。なお、ここで言うオンライン処理とは、機器10から推薦要求を受けた際に実行される処理のことを意味する。
【0090】
(図13:オンライン処理の概要)
図13に示すように、オンライン処理として実行される主な処理内容は、主に推薦エンジン107による推薦コンテンツの検索及び検索結果の提示である。
【0091】
上記の通り、オンライン処理は、推薦要求を受けた際に実行される。つまり、ユーザが新規コンテンツを選択した場合にオンライン処理が実行される。新規コンテンツが選択されると((1)ユーザ入力)、推薦エンジン107は、状況Cのワードベクトルを抽出する(2)。このとき、推薦エンジン107は、まず、ユーザ嗜好データベース102からユーザの嗜好を表すワードベクトル(以下、嗜好ベクトル)を抽出し、新規コンテンツの状況Cに関する情報源として設定された領域(以下、領域C)を特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、推薦エンジン107は、更新後の嗜好ベクトルを状況Cのワードベクトルに設定する。
【0092】
次いで、推薦エンジン107は、状況Cのワードベクトルから単語(この例では2単語)を抽出する(3)。次いで、推薦エンジン107は、事例データベース106を参照し、関係Rのワードベクトルから単語(この例では1単語)を抽出する(4)。次いで、推薦エンジン107は、状況Cのワードベクトルから抽出した単語が領域Cに出現し、かつ、関係Rのワードベクトルから抽出した単語が領域Rに出現するコンテンツを検索する(5)。次いで、推薦エンジン107は、検索処理により抽出されたコンテンツを示すアイテムIDのリスト(以下、推薦リスト)を生成する(6)。
【0093】
状況Cのワードリストから抽出される単語、及び関係Rのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。推薦エンジン107は、複数の推薦リストを統合すると共に、各推薦コンテンツに対してスコアを付与する。そして、推薦エンジン107は、付与したスコアに基づいて推薦対象となる推薦コンテンツの組み合わせを選択し、選択された推薦コンテンツを含む推薦リストを生成する(7)。
【0094】
(図14〜図18:オンライン処理の詳細)
上記のように、オンライン処理は、状況Cのワードベクトルを生成する際に用いる嗜好ベクトルの更新処理と、推薦リストの生成処理とに大きく分けられる。
【0095】
(嗜好ベクトルの更新処理)
まず、図14を参照しながら、嗜好ベクトルの更新処理について説明する。
【0096】
図14に示すように、まず、推薦エンジン107は、ユーザ嗜好データベース102から、推薦要求を行ったユーザ(以下、対象ユーザ)の嗜好ベクトルを抽出する(S111)。例えば、推薦エンジン107は、対象ユーザのユーザIDと、領域Cの領域IDとに対応する特徴量IDのうち、重要度の高い所定数の特徴量IDを抽出して嗜好ベクトルに設定する。次いで、推薦エンジン107は、ステップS111で抽出した対象ユーザの嗜好ベクトルを短縮する(S112)。例えば、推薦エンジン107は、嗜好ベクトルに含まれる特徴量IDのうち、重要度の低い所定数の特徴量IDを削除する。
【0097】
次いで、推薦エンジン107は、対象ユーザが選択した新規コンテンツの領域Cを特徴付ける単語を抽出し、抽出した単語に対応する特徴量IDを嗜好ベクトルに追加する(S113)。なお、複数の新規コンテンツが選択された場合には、新しい順に大きな重み付けがされた重要度に基づいて領域Cを特徴付ける単語が抽出され、その単語に対応する特徴量IDが嗜好ベクトルに追加される(図16を参照)。次いで、推薦エンジン107は、ステップS113で特徴量IDが追加された嗜好ベクトルに同期するようにユーザ嗜好データベース102のレコードを更新し(S114)、一連の処理を終了する。
【0098】
以上の処理により、対象ユーザが選択した新規コンテンツの情報で更新された嗜好ベクトルが得られる。なお、ここで説明したユーザ嗜好データベース102の更新処理は、嗜好抽出エンジン101により実行されてもよい。
【0099】
(推薦リストの生成処理)
次に、図15〜図18を参照しながら、推薦リストの生成処理について説明する。
【0100】
図15に示すように、まず、推薦エンジン107は、ユーザ嗜好データベース102から対象ユーザの嗜好ベクトルを取得し、状況Cのワードベクトルに設定する(S121)。なお、新規コンテンツの選択に応じた嗜好ベクトルの更新方法については既に説明した通りであり、嗜好ベクトル(状況Cのワードベクトル)の生成方法については図16に模式的に示されている。次いで、推薦エンジン107は、事例データベース106から1つの事例を選択し、その事例に対応する関係Rのワードベクトルを取得する(S122)。
【0101】
次いで、推薦エンジン107は、図18(1)に示すように、状況Cのワードベクトルから単語(この例では2単語)を抽出し、関係Rのワードベクトルから単語(この例では1単語)を抽出して、単語の組み合わせを生成する(S123)。次いで、推薦エンジン107は、単語の各組み合わせについて、それぞれ共起するコンテンツ群を検索し、各コンテンツに対するスコアを算出する(S124)。このスコアは、例えば、下記の式(9)に基づいて算出される。但し、下記の式(9)に含まれるs1、s2、s3は、下記の式(10)〜(12)により定義される。また、c1,c2は、状況Cのワードベクトルから抽出された単語を表す。
【0102】
【数3】

…(9)

…(10)

…(11)

…(12)
【0103】
状況Cのワードベクトルから抽出される単語と、関係Rのワードベクトルから抽出される単語との組み合わせは多数存在する。そこで、推薦エンジン107は、全ての組み合わせについて上記のスコアを算出し、コンテンツ毎にスコアを全て足し合わせて、各コンテンツのスコアをリストにした推薦リストを生成する(S125)。次いで、推薦エンジン107は、全ての事例について推薦リストを生成したか否かを判定する(S126)。
【0104】
全ての事例について推薦リストを生成した場合、推薦エンジン107は、処理をステップS127に進める。一方、全ての事例について推薦リストを生成していない場合、推薦エンジン107は、処理をステップS122に戻し、推薦リストを生成していない事例に関する推薦リストを生成する。処理をステップS127に進めた場合、推薦エンジン107は、全ての事例に対応する推薦リストを組み合わせて対象ユーザに提示し(S127)、一連の処理を終了する。
【0105】
(変形例:計算量の削減方法)
図15に示す処理手順の中では1つ1つの事例について推薦リストを生成していた。しかし、次のように変形することで処理を簡略化することができる。
【0106】
まず、推薦エンジン107は、図17に示すように、状況Cのワードベクトルを取得する。次いで、推薦エンジン107は、状況Cのワードベクトルから単語(この例では2単語)を抽出する(1)。次いで、推薦エンジン107は、事例データベース106を参照し、状況Cのワードベクトルから抽出した単語(この例では2単語)が状況Aのワードベクトル(word A1,word A2)に一致する状況A、結果B、関係Rの組を抽出する(2)。次いで、推薦エンジン107は、抽出した組から関係Rのワードベクトルを抽出する(3)。そして、推薦エンジン107は、抽出した関係RのワードベクトルをマージしてマージベクトルRmergeを生成する(4)。
【0107】
次いで、図18に示すように、推薦エンジン107は、状況Cのワードベクトルから単語(この例では2単語)を抽出し、マージベクトルRmergeから単語(この例では1単語)を抽出する(1)。次いで、推薦エンジン107は、抽出した単語の組が共起するコンテンツを検索する(2)。次いで、推薦エンジン107は、検索処理により抽出されたコンテンツの推薦リストを生成する(3)。但し、各コンテンツに付与されるスコアの算出方法は、上記の方法と同じである。次いで、推薦エンジン107は、上記(3)で生成した推薦リストをユーザに提示する。このような処理手順にすることで、計算量を削減することが可能になる。
【0108】
以上、本技術の第1実施形態について説明した。
【0109】
<3:第2実施形態>
次に、本技術の第2実施形態について説明する。
【0110】
[3−1:システム構成]
まず、図19を参照しながら、本実施形態に係る推薦システム200のシステム構成について説明する。図19は、本実施形態に係る推薦システム200のシステム構成について説明するための説明図である。
【0111】
図19に示すように、推薦システム200は、主に、嗜好抽出エンジン201と、ユーザ嗜好データベース202と、コンテンツ特徴量抽出エンジン203と、コンテンツ特徴量データベース204と、事例関係抽出エンジン205と、事例データベース206と、推薦エンジン207と、Rパターン抽出エンジン208と、Rパターンデータベース209(重心データベース)とにより構成される。
【0112】
なお、嗜好抽出エンジン201、コンテンツ特徴量抽出エンジン203、事例関係抽出エンジン205、推薦エンジン207、Rパターン抽出エンジン208が有する機能は、図38に示すハードウェア構成のうち、CPU902などの機能により実現される。また、ユーザ嗜好データベース202、コンテンツ特徴量データベース204、事例データベース206、Rパターンデータベース209は、図38に示すハードウェア構成のうち、ROM904、RAM906、記憶部920、リムーバブル記録媒体928などの機能により実現される。また、推薦システム200の機能は、単一のハードウェアを利用して実現されてもよいし、ネットワーク又は専用回線により接続された複数のハードウェアを利用して実現されてもよい。
【0113】
(コンテンツ特徴量抽出エンジン203、コンテンツ特徴量データベース204)
まず、コンテンツ特徴量抽出エンジン203及びコンテンツ特徴量データベース204について説明する。
【0114】
コンテンツ特徴量抽出エンジン203は、コンテンツ特徴量データベース204を構築する手段である。コンテンツ特徴量抽出エンジン203は、まず、コンテンツのメタデータを取得する。そして、コンテンツ特徴量抽出エンジン203は、取得したメタデータの構造を参照してコンテンツを構成する各領域を識別し、TF−IDF値などに基づいて各領域を特徴付ける一又は複数の単語を抽出する。さらに、コンテンツ特徴量抽出エンジン203は、コンテンツの情報、領域の情報、抽出した単語の情報などをコンテンツ特徴量データベース204に格納する。なお、コンテンツ特徴量データベース204の構造は、図6に示したコンテンツ特徴量データベース104の構造と実質的に同じである。このコンテンツ特徴量データベース204は、嗜好抽出エンジン201、事例関係抽出エンジン205、推薦エンジン207により利用される。
【0115】
(嗜好抽出エンジン201、ユーザ嗜好データベース202)
次に、嗜好抽出エンジン201及びユーザ嗜好データベース202について説明する。
【0116】
ユーザが機器10を介して情報を入力すると、入力された情報は、嗜好抽出エンジン201に入力される。例えば、ユーザの操作ログは、嗜好抽出エンジン201に入力される。ユーザの操作ログが入力されると、嗜好抽出エンジン201は、入力された操作ログに基づいてユーザの嗜好を抽出する。嗜好抽出エンジン201により抽出されたユーザの嗜好を示す情報は、ユーザ嗜好データベース202に格納される。なお、ユーザ嗜好データベース202の構造は、図7に示したユーザ嗜好データベース102の構造と実質的に同じである。このユーザ嗜好データベース202は、推薦エンジン207で利用される。
【0117】
(事例関係抽出エンジン205、事例データベース206)
次に、事例関係抽出エンジン205及び事例データベース206について説明する。
【0118】
事例関係抽出エンジン205は、コンテンツ特徴量データベース204に格納された情報に基づいて事例関係を抽出する。事例関係抽出エンジン205により抽出された事例関係を示す情報は、事例データベース206に格納される。なお、この事例データベース206の構造は、図8に示した事例データベース106の構造と実質的に同じである。この構築された事例データベース206は、推薦エンジン207及びRパターン抽出エンジン208により利用される。
【0119】
(Rパターン抽出エンジン208、Rパターンデータベース209)
次に、Rパターン抽出エンジン208及びRパターンデータベース209について説明する。
【0120】
Rパターン抽出エンジン208は、事例データベース206に格納された関係Rのワードベクトルを用いて各事例をクラスタリングする。次いで、Rパターン抽出エンジン208は、クラスタ毎に関係Rのワードベクトルに含まれる各単語の出現回数を算出する。次いで、Rパターン抽出エンジン208は、出現回数が最大の単語又は出現回数が多い単語の組をクラスタの重心を示す単語(以下、重心ワード)として選択し、Rパターンデータベース209に登録する。さらに、Rパターン抽出エンジン208は、各クラスタと各事例との対応関係をRパターンデータベース209に登録する。
【0121】
Rパターンデータベース209は、図20及び図21に示すような構造を有する。なお、ここでは重心データベースをRパターンデータベース209の一部として捉えているが、重心データベースをRパターンデータベース209とは別に設けてもよい。さて、重心データベースは、図20に示すような構造を有する。図20に示すように、重心データベースは、クラスタIDと、重心ワードIDとが対応付けて格納されている。クラスタIDは、クラスタを識別するための識別情報である。また、重心ワードIDは、重心ワードを識別するための識別情報である。
【0122】
また、クラスタと事例との関係について、Rパターンデータベース209は、図21に示すような構造を有する。図21に示すように、Rパターンデータベース209には、クラスタID、状況Aのワードベクトル、結果Bのワードベクトル、及び関係Rのワードベクトルが対応付けて格納されている。このRパターンデータベース209は、推薦エンジン207により利用される。
【0123】
(推薦エンジン207)
次に、推薦エンジン207について説明する。
【0124】
推薦エンジン207は、機器10を介してユーザにより推薦要求を受けると、ユーザ嗜好データベース202、コンテンツ特徴量データベース204、事例データベース206、Rパターンデータベース209に格納された情報に基づいて推薦コンテンツを抽出する。そして、推薦エンジン207は、抽出した推薦コンテンツのリストを推薦結果としてユーザに提示する。例えば、あるコンテンツ(以下、新規コンテンツ)をユーザが選択した場合、新規コンテンツの情報が推薦エンジン207に入力される。新規コンテンツの情報が入力されると、推薦エンジン207は、入力された新規コンテンツを含むコンテンツ群から、状況Cのワードベクトルを抽出する。
【0125】
状況Cのワードベクトルを抽出すると、推薦エンジン207は、Rパターンデータベース209からクラスタの情報(以下、Rパターン)を読み出してユーザに提示する。例えば、推薦エンジン207は、重心ワードをユーザに提示する。提示されたRパターンの中からユーザがRパターンを選択すると、推薦エンジン207は、選択されたRパターンに対応する関係Rのワードベクトルを抽出する。さらに、推薦エンジン207は、抽出した状況Cのワードベクトル及び関係Rのワードベクトルを用いて推薦コンテンツを抽出する。そして、推薦エンジン207は、各推薦コンテンツに対するスコアを算出し、スコア付けされた推薦コンテンツのリストをユーザに提示する。
【0126】
以上、推薦システム200のシステム構成について説明した。次に、推薦システム200により実行される処理の流れについて詳細に説明する。
【0127】
[3−2:オフライン処理の流れ]
本実施形態のオフライン処理は、事例データベース206を生成する段階までは第1実施形態のオフライン処理と実質的に同じである。
【0128】
まず、図24(この例はj=1の場合)に示すように、事例関係抽出エンジン205は、状況Ajのワードベクトルから単語(この例では2単語)を抽出すると共に、結果Bjのワードベクトルから単語(この例では2単語)を抽出する。次いで、事例関係抽出エンジン205は、抽出した単語が共起するコンテンツを検索する。そして、事例関係抽出エンジン205は、検索結果として抽出されたコンテンツの領域Rからスコアの高い単語を抽出して関係Rjのワードベクトルに設定する。このようにして設定された関係Rjのワードベクトルは、事例データベース206に格納される。
【0129】
本実施形態のオフライン処理と第1実施形態のオフライン処理との違いは、Rパターンデータベース209を構築する処理の有無にある。そこで、Rパターン抽出エンジン208により実行されるRパターンデータベース209の構築処理について、図25及び図26を参照しながら説明する。
【0130】
図26に示すように、Rパターン抽出エンジン208は、まず、関係Rのワードベクトルを用いて各事例をクラスタリングする(S211;図25を参照)。次いで、Rパターン抽出エンジン208は、各クラスタに属する関係Rのワードベクトルに含まれる各単語の出現回数を算出する(S212)。次いで、Rパターン抽出エンジン208は、ステップS212で算出した出現回数が最も多い単語又は出現回数の多い単語の組を重心ワードとして選択し、重心データベース(Rパターンデータベース209)に登録する(S213)。次いで、Rパターン抽出エンジン208は、クラスタと事例との対応関係をRパターンデータベース209に登録し(S214)、Rパターンデータベース209の構築に関する一連の処理を終了する。
【0131】
以上、オフライン処理の流れについて説明した。
【0132】
[3−3:オンライン処理の流れ]
次に、図22、図23、図27〜図29を参照しながら、推薦システム200により実行される処理のうち、オンライン処理の流れについて説明する。図22、図23、図27〜図29は、推薦システム200により実行される処理のうち、オンライン処理の流れについて説明するための説明図である。
【0133】
(図22:オンライン処理の概要)
図22に示すように、オンライン処理として実行される主な処理内容は、主に推薦エンジン207によるRパターンの提示、推薦コンテンツの検索及び検索結果の提示である。
【0134】
上記の通り、オンライン処理は、推薦要求を受けた際に実行される。つまり、ユーザが新規コンテンツを選択した場合にオンライン処理が実行される。新規コンテンツが選択されると((1)ユーザ入力)、推薦エンジン207は、状況Cのワードベクトルを抽出する(2)。このとき、推薦エンジン207は、まず、ユーザ嗜好データベース202から嗜好ベクトルを抽出し、新規コンテンツの領域Cを特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、推薦エンジン207は、更新後の嗜好ベクトルを状況Cのワードベクトルに設定する。
【0135】
次いで、推薦エンジン207は、状況Cのワードベクトルから単語(この例では2単語)を抽出する(3)。次いで、推薦エンジン207は、Rパターンデータベース209からRパターンを読み出し、読み出したRパターンをユーザに提示する。提示したRパターンの中からユーザがRパターンを選択すると、推薦エンジン207は、ユーザが選択したRパターンに対応する関係Rのワードベクトルから単語(この例では1単語)を抽出する(4)。次いで、推薦エンジン207は、状況Cのワードベクトルから抽出した単語が領域Cに出現し、かつ、関係Rのワードベクトルから抽出した単語が領域Rに出現するコンテンツを検索する(5)。次いで、推薦エンジン207は、検索処理により抽出されたコンテンツを示すアイテムIDのリスト(推薦リスト)を生成する(6)。
【0136】
状況Cのワードリストから抽出される単語、及び関係Rのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。推薦エンジン207は、複数の推薦リストを統合すると共に、各推薦コンテンツに対してスコアを付与する。そして、推薦エンジン207は、付与したスコアに基づいて推薦対象となる推薦コンテンツの組み合わせを選択し、選択された推薦コンテンツを含む推薦リストを生成する(7)。
【0137】
(図23、図27〜図29:オンライン処理の詳細)
上記のように、本実施形態に係るオンライン処理には、Rパターンをユーザに選択させる処理が含まれる。ここで、オンライン処理の流れについて、より詳細に説明する。
【0138】
図23に示すように、まず、推薦エンジン207は、ユーザ嗜好データベース202から対象ユーザの嗜好ベクトルを取得し、状況Cのワードベクトルに設定する(S201)。なお、新規コンテンツの選択に応じた嗜好ベクトルの更新方法、及び嗜好ベクトル(状況Cのワードベクトル)の生成方法は第1実施形態の中で説明した方法と実質的に同じである。次いで、推薦エンジン207は、図27に示すように、複数のRパターンをユーザに提示し、1つのRパターンをユーザに選択させる(S202)。次いで、推薦エンジン207は、選択されたRパターンに対応する関係Rのワードベクトルを取得する(S203)。
【0139】
次いで、推薦エンジン207は、図29に示すように、状況Cのワードベクトルから単語(この例では2単語)を抽出し、関係Rのワードベクトルから単語(この例では1単語)を抽出して、単語の組み合わせを生成する(S204)。次いで、推薦エンジン207は、単語の各組み合わせについて、それぞれ共起するコンテンツ群を検索し、各コンテンツに対するスコアを算出する(S205)。なお、スコアの算出方法は、第1実施形態の中で説明した方法と実質的に同じである。
【0140】
状況Cのワードベクトルから抽出される単語と、関係Rのワードベクトルから抽出される単語との組み合わせは多数存在する。そこで、推薦エンジン207は、全ての組み合わせについて上記のスコアを算出し、コンテンツ毎にスコアを全て足し合わせて、各コンテンツのスコアをリストにした推薦リストを生成する(S206)。次いで、推薦エンジン207は、全ての事例について推薦リストを生成したか否かを判定する(S207)。
【0141】
全ての事例について推薦リストを生成した場合、推薦エンジン207は、処理をステップS208に進める。一方、全ての事例について推薦リストを生成していない場合、推薦エンジン207は、処理をステップS203に戻し、推薦リストを生成していない事例に関する推薦リストを生成する。処理をステップS208に進めた場合、推薦エンジン207は、全ての事例に対応する推薦リストを組み合わせて対象ユーザに提示し(S208)、一連の処理を終了する。
【0142】
(変形例:計算量の削減方法)
図23に示す処理手順の中では1つ1つの事例について推薦リストを生成していた。しかし、第1実施形態の場合と同様、次のように変形することで処理を簡略化することができる。
【0143】
まず、推薦エンジン207は、図28に示すように、状況Cのワードベクトルを取得する。次いで、推薦エンジン207は、状況Cのワードベクトルから単語(この例では2単語)を抽出する(1)。次いで、推薦エンジン207は、事例データベース206を参照し、状況Cのワードベクトルから抽出した単語(この例では2単語)が状況Aのワードベクトル(word A1,word A2)に一致する状況A、結果B、関係Rの組を抽出する(2)。但し、ユーザにより選択されたRパターンに対応する事例の中から、状況A、結果B、関係Rの組が抽出される。次いで、推薦エンジン207は、抽出した組から関係Rのワードベクトルを抽出する(3)。そして、推薦エンジン207は、抽出した関係RのワードベクトルをマージしてマージベクトルRmergeを生成する(4)。
【0144】
次いで、図29に示すように、推薦エンジン207は、状況Cのワードベクトルから単語(この例では2単語)を抽出し、マージベクトルRmergeから単語(この例では1単語)を抽出する(1)。次いで、推薦エンジン207は、抽出した単語の組が共起するコンテンツを検索する(2)。次いで、推薦エンジン207は、検索処理により抽出されたコンテンツの推薦リストを生成する(3)。但し、各コンテンツに付与されるスコアの算出方法は、第1実施形態の中で説明した方法と実質的に同じである。次いで、推薦エンジン207は、上記(3)で生成した推薦リストをユーザに提示する。このような処理手順にすることで、計算量を削減することが可能になる。
【0145】
以上、本技術の第2実施形態について説明した。
【0146】
<4:第3実施形態>
次に、本技術の第3実施形態について説明する。
【0147】
[4−1:システム構成]
まず、図30を参照しながら、本実施形態に係る推薦システム300のシステム構成について説明する。図30は、本実施形態に係る推薦システム300のシステム構成について説明するための説明図である。
【0148】
図30に示すように、推薦システム300は、主に、嗜好抽出エンジン301と、ユーザ嗜好データベース302と、コンテンツ特徴量抽出エンジン303と、コンテンツ特徴量データベース304と、事例関係抽出エンジン305と、事例データベース306と、推薦エンジン307と、推薦リスト計算エンジン308と、推薦リストデータベース309とにより構成される。
【0149】
なお、嗜好抽出エンジン301、コンテンツ特徴量抽出エンジン303、事例関係抽出エンジン305、推薦エンジン307、推薦リスト計算エンジン308が有する機能は、図38に示すハードウェア構成のうち、CPU902などの機能により実現される。また、ユーザ嗜好データベース302、コンテンツ特徴量データベース304、事例データベース306、推薦リストデータベース309は、図38に示すハードウェア構成のうち、ROM904、RAM906、記憶部920、リムーバブル記録媒体928などの機能により実現される。また、推薦システム300の機能は、単一のハードウェアを利用して実現されてもよいし、ネットワーク又は専用回線により接続された複数のハードウェアを利用して実現されてもよい。
【0150】
(コンテンツ特徴量抽出エンジン303、コンテンツ特徴量データベース304)
まず、コンテンツ特徴量抽出エンジン303及びコンテンツ特徴量データベース304について説明する。
【0151】
コンテンツ特徴量抽出エンジン303は、コンテンツ特徴量データベース304を構築する手段である。コンテンツ特徴量抽出エンジン303は、まず、コンテンツのメタデータを取得する。そして、コンテンツ特徴量抽出エンジン303は、取得したメタデータの構造を参照してコンテンツを構成する各領域を識別し、TF−IDF値などに基づいて各領域を特徴付ける一又は複数の単語を抽出する。さらに、コンテンツ特徴量抽出エンジン303は、コンテンツの情報、領域の情報、抽出した単語の情報などをコンテンツ特徴量データベース304に格納する。なお、コンテンツ特徴量データベース304の構造は、図6に示したコンテンツ特徴量データベース104の構造と実質的に同じである。このコンテンツ特徴量データベース304は、嗜好抽出エンジン301、事例関係抽出エンジン305、推薦エンジン307により利用される。
【0152】
(嗜好抽出エンジン301、ユーザ嗜好データベース302)
次に、嗜好抽出エンジン301及びユーザ嗜好データベース302について説明する。
【0153】
ユーザが機器10を介して情報を入力すると、入力された情報は、嗜好抽出エンジン301に入力される。例えば、ユーザの操作ログは、嗜好抽出エンジン301に入力される。ユーザの操作ログが入力されると、嗜好抽出エンジン301は、入力された操作ログに基づいてユーザの嗜好を抽出する。嗜好抽出エンジン301により抽出されたユーザの嗜好を示す情報は、ユーザ嗜好データベース302に格納される。なお、ユーザ嗜好データベース302の構造は、図7に示したユーザ嗜好データベース102の構造と実質的に同じである。このユーザ嗜好データベース302は、推薦エンジン307で利用される。
【0154】
(事例関係抽出エンジン305、事例データベース306)
次に、事例関係抽出エンジン305及び事例データベース306について説明する。
【0155】
事例関係抽出エンジン305は、コンテンツ特徴量データベース304に格納された情報に基づいて事例関係を抽出する。事例関係抽出エンジン305により抽出された事例関係を示す情報は、事例データベース306に格納される。なお、この事例データベース306の構造は、図8に示した事例データベース106の構造と実質的に同じである。この構築された事例データベース306は、推薦エンジン307及び推薦リスト計算エンジン308により利用される。
【0156】
(推薦リスト計算エンジン308、推薦リストデータベース309)
次に、推薦リスト計算エンジン308及び推薦リストデータベース309について説明する。
【0157】
推薦リスト計算エンジン308は、事例データベース306に格納された情報に基づいて推薦リストを生成する。なお、推薦リスト計算エンジン308による推薦リストの生成方法は、上記の第1実施形態に係る推薦エンジン107又は第2実施形態に係る推薦エンジン207による推薦リストの生成方法と実質的に同じである。但し、推薦リスト計算エンジン308は、上記の推薦エンジン107、207とは異なり、オフライン処理で推薦リストを生成する。そのため、推薦リスト計算エンジン308は、状況Cのワードベクトルとして、ユーザ嗜好データベース302に格納されている嗜好ベクトル又は所定の単語群を用いる。推薦リスト計算エンジン308により生成された推薦リストは、推薦リストデータベース309に格納される。
【0158】
推薦リストデータベース309は、図31に示すような構造を有する。図31に示すように、推薦リストデータベース309には、状況Cのワードベクトルと、推薦リストに含まれるコンテンツのアイテムID及びスコアとが含まれる。この推薦リストデータベース309は、推薦エンジン307により利用される。
【0159】
(推薦エンジン307)
次に、推薦エンジン307について説明する。
【0160】
推薦エンジン307は、機器10を介してユーザにより推薦要求を受けると、ユーザ嗜好データベース302、コンテンツ特徴量データベース304、事例データベース306、推薦リストデータベース309に格納された情報に基づいて推薦リストを抽出し、推薦結果としてユーザに提示する。例えば、あるコンテンツ(以下、新規コンテンツ)をユーザが選択した場合、新規コンテンツの情報が推薦エンジン307に入力される。新規コンテンツの情報が入力されると、推薦エンジン307は、入力された新規コンテンツを含むコンテンツ群から、状況Cのワードベクトルを抽出する。次いで、推薦エンジン307は、抽出した状況Cのワードベクトルから単語の組を抽出し、抽出した単語の組に対応する推薦リストを推薦リストデータベース309から抽出する。そして、推薦エンジン307は、推薦リストデータベース309から抽出した推薦リストをユーザに提示する。
【0161】
以上、推薦システム300のシステム構成について説明した。次に、推薦システム300により実行される処理の流れについて詳細に説明する。
【0162】
[4−2:オフライン処理の流れ]
本実施形態のオフライン処理は、事例データベース306を生成する段階までは第1実施形態のオフライン処理と実質的に同じである。
【0163】
まず、図34(この例はj=1の場合)に示すように、事例関係抽出エンジン305は、状況Ajのワードベクトルから単語(この例では2単語)を抽出すると共に、結果Bjのワードベクトルから単語(この例では2単語)を抽出する。次いで、事例関係抽出エンジン305は、抽出した単語が共起するコンテンツを検索する。そして、事例関係抽出エンジン305は、検索結果として抽出されたコンテンツの領域Rからスコアの高い単語を抽出して関係Rjのワードベクトルに設定する。このようにして設定された関係Rjのワードベクトルは、事例データベース306に格納される。
【0164】
本実施形態のオフライン処理と第1実施形態のオフライン処理との違いは、オフライン処理で予め推薦リストを生成し、推薦リストデータベース309に保持しておく点にある。図32に示すように、まず、推薦リスト計算エンジン308は、ユーザ嗜好データベース302に格納された嗜好ベクトル又は所定の単語群(以下、全単語リストC’)から単語(この例では2単語)を抽出する(1)。次いで、推薦リスト計算エンジン308は、抽出した単語の組と状況Aのワードベクトルとが一致する事例を抽出する(2)。次いで、推薦リスト計算エンジン308は、抽出した事例から関係Rのワードベクトルを抽出する(3)。次いで、推薦リスト計算エンジン308は、抽出した関係RのワードベクトルをマージしてマージベクトルRmergeを生成する(4)。
【0165】
次いで、図33に示すように、推薦リスト計算エンジン308は、全単語リストC’から単語(この例では2単語)を抽出すると共に、マージベクトルRmergeから単語(この例では1単語)を抽出する(1)。次いで、推薦リスト計算エンジン308は、全単語リストC’から抽出した単語を領域Cに含み、かつ、マージベクトルRmergeから抽出した単語を領域Rに含むコンテンツを検索する(2)。次いで、推薦リスト計算エンジン308は、検索処理により抽出された各コンテンツのスコアを算出し、推薦リストを生成する(3)。
【0166】
なお、上記(1)で抽出される単語の組み合わせは多数存在する。そのため、推薦リスト計算エンジン308は、これら多数の組み合わせについて、上記(2)の検索処理及び上記(3)の推薦リストの生成処理を繰り返し実行する。このようにして生成された推薦リストは、推薦リストデータベース309に格納される。
【0167】
以上、オフライン処理の流れについて説明した。
【0168】
[4−3:オンライン処理の流れ]
次に、図35及び図36を参照しながら、推薦システム300により実行される処理のうち、オンライン処理の流れについて説明する。図35及び図36は、推薦システム300により実行される処理のうち、オンライン処理の流れについて説明するための説明図である。
【0169】
(オンライン処理の概要)
まず、図35を参照する。オンライン処理は、推薦要求を受けた際に実行される。ユーザにより新規コンテンツが選択されると((1)ユーザ入力)、推薦エンジン307は、状況Cのワードベクトルを抽出する(2)。このとき、推薦エンジン307は、まず、ユーザ嗜好データベース302から嗜好ベクトルを抽出し、新規コンテンツの領域Cを特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、推薦エンジン307は、更新後の嗜好ベクトルを状況Cのワードベクトルに設定する。
【0170】
次いで、推薦エンジン307は、状況Cのワードベクトルから単語(この例では2単語)を抽出する(3)。次いで、推薦エンジン307は、推薦リストデータベース309を参照し、抽出した単語の組と同じワードベクトルに対応するコンテンツとスコアとを抽出し、これらコンテンツとスコアとを組み合わせて推薦リストを生成する(4)。状況Cのワードリストから抽出される単語、及び関係Rのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。推薦エンジン307は、複数の推薦リストを統合し、推薦結果としてユーザに提示する。
【0171】
(オンライン処理の流れ)
図35を参照しながら説明したオンライン処理の流れは、図36のようなフローチャートに纏めることができる。図36に示すように、推薦エンジン307は、状況Cのワードベクトルから単語(この例では2単語)の組み合わせを抽出する(S311)。次いで、推薦エンジン307は、ステップS311で抽出した各組み合わせに対応する推薦スコアを推薦リストデータベース309から取得する(S312)。次いで、推薦エンジン307は、ステップS313で取得した推薦スコアとコンテンツとを組み合わせた推薦リストを生成してユーザに提示し(S313)、一連の処理を終了する。このように、推薦リストをオフライン処理で予め生成しておくことにより、オンライン処理が大幅に簡略化される。
【0172】
以上、本技術の第3実施形態について説明した。
【0173】
<5:応用例(クロスカテゴリ推薦)>
ここで、上記の第1〜第3実施形態に係る応用例として、クロスカテゴリ推薦への応用について説明する。クロスカテゴリ推薦とは、カテゴリを跨いだ構造写像に基づいてコンテンツの推薦を実行することを意味する。クロスカテゴリ推薦の例としては、図38に示すように、状況Aと結果Bとの関係Rをレシピの紹介ページから抽出し、その関係Rと状況Cとを用いて、ユーザの嗜好に合った本の紹介ページを推薦する例が挙げられる。レシピの紹介ページと本の紹介ページとは互いに異なるカテゴリに属するコンテンツである。しかし、上記の第1〜第3実施形態に係る技術を適用することにより、このようなカテゴリを跨いだ推薦を実現することが可能になる。
【0174】
<6:ハードウェア構成例>
上記の推薦システム100、200、300が有する各構成要素の機能は、例えば、図38に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図38に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0175】
図38に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
【0176】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0177】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
【0178】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0179】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0180】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0181】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0182】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0183】
<7:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、PC、携帯電話、携帯ゲーム機、携帯情報端末、情報家電、カーナビゲーションシステム等、種々の情報処理装置に対して適用することができる。また、以下に記載する情報処理装置の一部又は全部の機能をクラウドシステムなどの情報処理システムにより実現することも可能である。
【0184】
上記の情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、以下に示す第1特徴量生成部、第2特徴量生成部、関係特徴量生成部、及び推薦コンテンツ検索部を有する。上記の第1特徴量生成部は、対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する手段である。また、上記の第2特徴量生成部は、前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する手段である。
【0185】
例えば、上記の第1特徴量生成部は、対象ユーザが過去に選択したコンテンツX1、…、Xnのメタデータに基づき、コンテンツX1、…、Xnのそれぞれについて、予め設定された第1の種類のメタデータが付与された一又は複数の情報領域を認識する。次いで、上記の第1特徴量生成部は、認識した情報領域から所定数の特徴的な情報単位(例えば、単語など)を抽出し、その情報単位を要素に持つ特徴ベクトル(以下、第1の特徴ベクトル)を生成する。なお、コンテンツX1、…、Xnは、X1、…、Xnの順に選択されたものとする。一方、上記の第2特徴量生成部は、対象ユーザにより最後に選択されたコンテンツXnの次に選択されたコンテンツYに注目する。
【0186】
まず、上記の第2特徴量生成部は、コンテンツYのメタデータに基づき、予め設定された第2の種類のメタデータが付与された一又は複数の情報領域を認識する。次いで、上記の第2特徴量生成部は、認識した情報領域から所定数の特徴的な情報単位(例えば、単語など)を抽出し、その情報単位を要素に持つ特徴ベクトル(以下、第2の特徴ベクトル)を生成する。この例におけるコンテンツYは、対象ユーザが過去にコンテンツX1、…、Xnを選択したという事前条件(以下、状況A)の下で選択されたものである。つまり、上記の第1の特徴ベクトルは対象ユーザの状況Aを特徴付けるものであり、上記の第2の特徴ベクトルは状況Aの結果(以下、結果B)を特徴付けるものである。
【0187】
さて、上記の関連特徴量生成部は、前記第1特徴量生成部により生成された第1の特徴量と、前記第2特徴量生成部により生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する手段である。上記の例に表現を合わせると、上記の関連特徴量生成部は、第1の特徴ベクトルと、第2の特徴ベクトルとを用いて、状況Aと結果Bとの間の関係を示す関係特徴量を生成する手段である。
【0188】
例えば、上記の関係特徴量生成部は、第1の特徴ベクトルから抽出した所定数の情報要素と、第2の特徴ベクトルから抽出した所定数の情報要素とが共起するコンテンツを検索する。そして、上記の関係特徴量生成部は、検出されたコンテンツの中から所定数の特徴的な情報単位(例えば、単語など)を抽出し、その情報単位を要素に持つ特徴ベクトル(以下、関連特徴ベクトル)を生成する。このとき、上記の関連特徴量生成部は、所定の情報領域の中から情報単位を抽出するように構成されていてもよい。その場合、上記の関連特徴量生成部は、コンテンツに付与されたメタデータを参照して、情報単位の抽出に用いる情報領域を選択する。なお、上記の関連特徴ベクトルは、状況Aと結果Bとの関係(以下、関係R)を特徴付けるものである。
【0189】
さて、上記の推薦コンテンツ検索部は、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成部により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する手段である。上記の例に表現を合わせると、上記の推薦コンテンツ検索部は、上記の状況Aに対応する新たな状況Cが与えられた場合に、その状況Cと関係Rとを用いて、対象ユーザに推薦すべきコンテンツを検索する手段である。ここで、上記の推薦コンテンツ検索部は、上記の関係Rを用いて、上記の状況Cに対応する結果Xを得る手段ではない点に注意されたい。
【0190】
このように、対象ユーザの履歴に基づいて状況Aと結果Bとの関係Rを算出し、その関係Rを用いて推薦すべきコンテンツを検索することにより、対象ユーザの嗜好に適合した新鮮な情報を含むコンテンツを得ることが可能になる。
【0191】
(備考)
上記の推薦システム100、200、300は、コンテンツ推薦装置の一例である。上記の事例関係抽出エンジン105、205、305は、第1特徴量生成部、第2特徴量生成部、関係特徴量生成部の一例である。上記の推薦エンジン107、207、307は、推薦コンテンツ検索部の一例である。上記のRパターン抽出エンジン208は、関係特徴量生成部の一例である。上記の推薦エンジン207は、関係選択要求部の一例である。上記の事例データベース106、206、306は、特徴量格納部の一例である。
【0192】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【符号の説明】
【0193】
10 機器
100、200、300 推薦システム
101、201、301 嗜好抽出エンジン
102、202、302 ユーザ嗜好データベース
103、203、303 コンテンツ特徴量抽出エンジン
104、204、304 コンテンツ特徴量データベース
105、205、305 事例関係抽出エンジン
106、206、306 事例データベース
107、207、307 推薦エンジン
208 Rパターン抽出エンジン
209 Rパターンデータベース
308 推薦リスト計算エンジン
309 推薦リストデータベース

【特許請求の範囲】
【請求項1】
対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成部と、
前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成部と、
前記第1特徴量生成部により生成された第1の特徴量と、前記第2特徴量生成部により生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成部と、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成部により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、
を備える、
コンテンツ推薦装置。
【請求項2】
前記推薦コンテンツ検索部は、
前記第1特徴量生成部により生成された第1の特徴量の中から、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報に対応する第1の特徴量を抽出する第1の処理を実行し、前記関係特徴量生成部により生成された関連特徴量の中から、前記第1の処理で抽出した第1の特徴量に対応する関係特徴量を抽出する第2の処理を実行し、前記第2の処理で抽出した関連特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する、
請求項1に記載のコンテンツ推薦装置。
【請求項3】
前記第1の特徴量は、
前記第1の種類の情報を構成する複数の情報要素を含み、前記第1のコンテンツを特徴付ける第1の特徴ベクトルにより表現され、
前記第2の特徴量は、
前記第2の種類の情報を構成する複数の情報要素を含み、前記第2のコンテンツを特徴付ける第2の特徴ベクトルにより表現され、
請求項1に記載のコンテンツ推薦装置。
【請求項4】
前記第1特徴量生成部は、
前記対象ユーザが前記第1のコンテンツを選択した順序を考慮して前記第1の特徴量を生成する、
請求項1に記載のコンテンツ推薦装置。
【請求項5】
前記第1特徴量生成部は、
前記第1のコンテンツが有するメタデータの構造を参照して前記第1の種類に対応するメタデータが付与された領域から情報を取得し、
前記第2特徴量生成部は、
前記第2のコンテンツが有するメタデータの構造を参照して前記第2の種類に対応するメタデータが付与された領域から情報を取得する、
請求項1に記載のコンテンツ推薦装置。
【請求項6】
前記関係特徴量生成部により生成された複数の前記関係特徴量を前記対象ユーザに提示し、当該対象ユーザに前記関係特徴量を選択させる関係選択要求部をさらに備え、
前記推薦コンテンツ検索部は、
前記対象ユーザにより前記関係特徴量が選択された場合に、前記対象ユーザにより選択された関係特徴量を用いて、前記対象ユーザに推薦するコンテンツを検索する、
請求項1に記載のコンテンツ推薦装置。
【請求項7】
前記推薦コンテンツ検索部は、
前記第1のコンテンツと前記第2のコンテンツとの間の関係の強さに応じたスコアを算出し、算出したスコアを考慮して前記対象ユーザに推薦するコンテンツを検索する、
請求項1に記載のコンテンツ推薦装置。
【請求項8】
前記第1特徴量生成部は、
前記対象ユーザが新たにコンテンツを選択する以前に前記第1の特徴量を生成し、
前記第2特徴量生成部は、
前記対象ユーザが新たにコンテンツを選択する以前に前記第2の特徴量を生成し、
前記関係特徴量生成部は、
前記対象ユーザが新たにコンテンツを選択する以前に前記関連特徴量を生成する、
請求項1に記載のコンテンツ推薦装置。
【請求項9】
前記推薦コンテンツ検索部は、
前記対象ユーザが新たにコンテンツを選択する以前に、前記第1の種類の情報に対応する所定の情報を用いて、当該所定の情報に対応する第1の特徴量を抽出する第1の処理を実行し、前記関係特徴量生成部により生成された関連特徴量の中から、前記第1の処理で抽出した第1の特徴量に対応する関係特徴量を抽出する第2の処理を実行し、前記第2の処理で抽出した関連特徴量のスコアを算出する第3の処理を実行し、
前記対象ユーザが新たにコンテンツを選択した場合に、前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報に対応する前記所定の情報を抽出する第3の処理を実行し、前記第3の処理で抽出した所定の情報に対応する関係特徴量のスコアに基づいて、前記対象ユーザに推薦するコンテンツを検索する、
請求項1に記載のコンテンツ推薦装置。
【請求項10】
前記第1及び第2のコンテンツと、前記対象ユーザが新たに選択したコンテンツとは、互いに異なるカテゴリに属する、
請求項1に記載のコンテンツ推薦装置。
【請求項11】
対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて生成された第1の特徴量と、前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて生成された第2の特徴量と、前記第1特徴量生成部により生成された第1の特徴量と、前記第2特徴量生成部により生成された第2の特徴量とに基づいて生成された、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す第3の特徴量と、が格納された特徴量格納部と、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記特徴量格納部に格納された第3の特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索部と、
を備える、
コンテンツ推薦装置。
【請求項12】
対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成ステップと、
前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成ステップと、
前記第1特徴量生成ステップで生成された第1の特徴量と、前記第2特徴量生成ステップで生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成ステップと、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成ステップで生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索ステップと、
を含む、
推薦コンテンツの検索方法。
【請求項13】
対象ユーザが過去に選択した第1のコンテンツに含まれる第1の種類の情報に基づいて第1の特徴量を生成する第1特徴量生成機能と、
前記第1のコンテンツを選択した後に前記対象ユーザが選択した第2のコンテンツに含まれる第2の種類の情報に基づいて第2の特徴量を生成する第2特徴量生成機能と、
前記第1特徴量生成機能により生成された第1の特徴量と、前記第2特徴量生成機能により生成された第2の特徴量とに基づき、前記第1のコンテンツと前記第2のコンテンツとの間の関係を示す関係特徴量を生成する関係特徴量生成機能と、
前記対象ユーザが新たに選択したコンテンツに含まれる前記第1の種類の情報と、前記関係特徴量生成機能により生成された関係特徴量とを用いて、前記対象ユーザに推薦するコンテンツを検索する推薦コンテンツ検索機能と、
をコンピュータに実現させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate


【公開番号】特開2012−208604(P2012−208604A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−72324(P2011−72324)
【出願日】平成23年3月29日(2011.3.29)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】