(57)【特許請求の範囲】
【請求項１】
複数のコンテンツのそれぞれについて１又は複数の属性のそれぞれの属性値を記憶する属性値記憶手段と、
前記各コンテンツの特徴を示す特徴ベクトルを記憶する特徴ベクトル記憶手段と、
ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段と、
前記１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて、該条件に関連付けられている別の条件である他の条件を順次生成する関連条件生成手段と、
順次生成される前記１又は複数の属性の属性値の条件に従って、所与の前記コンテンツの集合の中から一部を選出する第１コンテンツ選出手段と、
所与の前記コンテンツの集合に属する前記各コンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段と、
前記複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出される前記コンテンツを前記ユーザに提示するコンテンツ提示手段と、
を含み、
前記第１コンテンツ選出手段は、前記関連条件生成手段により順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する、コンテンツ推薦システム。
【請求項２】
前記第１コンテンツ選出手段は、前記複数のコンテンツの中から一部を選出し、
前記第２コンテンツ選出手段は、前記第１コンテンツ選出手段により選出される前記コンテンツの中から一部又は全部を選出し、
前記コンテンツ提示手段は、前記第２コンテンツ選出手段により選出される前記コンテンツをユーザに提示する、請求項１に記載のコンテンツ推薦システム。
【請求項３】
前記条件は乱数に基づいて決定される、請求項１に記載のコンテンツ推薦システム。
【請求項４】
前記各属性について、該属性の各属性値に対する前記ユーザの嗜好度を記憶する嗜好分布記憶手段と、
前記嗜好分布記憶手段に記憶される前記ユーザの嗜好度に応じた確率で１又は複数の前記属性の属性値を選択するとともに、該選択される属性値に従って、前記第１コンテンツ選出手段が用いる前記条件を決定する条件決定手段をさらに含む、請求項３に記載のコンテンツ推薦システム。
【請求項５】
前記コンテンツ提示手段により提示される前記コンテンツに対する前記ユーザの操作情報を取得する操作情報取得手段と、
前記操作情報取得手段により取得される操作情報に基づいて、前記嗜好分布記憶手段の記憶内容を更新する嗜好分布更新手段と、
をさらに含む、請求項４に記載のコンテンツ推薦システム。
【請求項６】
ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得ステップと、
１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて、該条件に関連付けられている別の条件である他の条件を順次生成する関連条件生成ステップと、
複数のコンテンツのそれぞれについて１又は複数の属性のそれぞれの属性値を記憶する属性値記憶手段を参照しつつ、順次生成される前記１又は複数の属性の属性値の条件に従って、所与の前記コンテンツの集合の中から一部を選出する第１コンテンツ選出ステップと、
前記各コンテンツの特徴を示す特徴ベクトルを記憶する特徴ベクトル記憶手段を参照しつつ、所与の前記コンテンツの集合に属する前記各コンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出ステップと、
前記複数のコンテンツに対して前記第１コンテンツ選出ステップ及び前記第２コンテンツ選出ステップを重ねて適用することにより選出される前記コンテンツを前記ユーザに提示するコンテンツ提示ステップと、
を含み、
前記第１コンテンツ選出ステップでは、前記関連条件生成ステップにおいて順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する、コンテンツ推薦方法。
【請求項７】
ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段と、
１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて、該条件に関連付けられている別の条件である他の条件を順次生成する関連条件生成手段と、
順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出手段と、
所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段と、
複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成手段と、
を含み、
前記第１コンテンツ選出手段は、前記関連条件生成手段により順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する、コンテンツ推薦装置。
【請求項８】
ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得ステップと、
１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて、該条件に関連付けられている別の条件である他の条件を順次生成する関連条件生成ステップと、
順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出ステップと、
所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出ステップと、
複数のコンテンツに対して前記第１コンテンツ選出ステップ及び前記第２コンテンツ選出ステップを重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成ステップと、
を含み、
前記第１コンテンツ選出ステップでは、前記関連条件生成ステップにおいて順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する、コンテンツ推薦方法。
【請求項９】
ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段、
１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて、該条件に関連付けられている別の条件である他の条件を順次生成する関連条件生成手段、
順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出手段、
所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段、及び
複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成手段、
としてコンピュータを機能させ、
前記第１コンテンツ選出手段は、前記関連条件生成手段により順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する、プログラム。
【請求項１０】
ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段、
１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて、該条件に関連付けられている別の条件である他の条件を順次生成する関連条件生成手段、
順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出手段、
所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段、及び
複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成手段、
としてコンピュータを機能させ、
前記第１コンテンツ選出手段は、前記関連条件生成手段により順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する、プログラムを記憶した情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンテンツ推薦システム、コンテンツ推薦方法、コンテンツ推薦装置、プログラム及び情報記憶媒体に関し、特に、コンテンツの推薦技術に関する。
【背景技術】
【０００２】
近年、インターネット等の通信網を利用して膨大な数のコンテンツの中から所望のものを楽しめるようになっている。利用可能なコンテンツは膨大な数に上ることから、各種の推薦技術も提案されている。例えば、ユーザのコンテンツの嗜好を示す嗜好ベクトルと、各コンテンツの特徴ベクトルと、の類似度を算出するとともに、該類似度の高いコンテンツをユーザに推薦する、いわゆるコンテンツベーストフィルタリングはその例である（特開２００１−１６０９５５号公報参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、特定の情報間の類似性のみに着目した従来の推薦技術では、特定のコンテンツが集中的にユーザに推薦されることになり、ユーザは推薦そのものに飽きてしまうという問題がある。【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、ユーザに対して継続的に興味の引くコンテンツを推薦することができるコンテンツ推薦システム、コンテンツ推薦方法、コンテンツ推薦装置、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係るコンテンツ推薦システムは、複数のコンテンツのそれぞれについて１又は複数の属性のそれぞれの属性値を記憶する属性値記憶手段と、前記各コンテンツの特徴を示す特徴ベクトルを記憶する特徴ベクトル記憶手段と、ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段と、順次生成される１又は複数の属性の属性値の条件に従って、所与の前記コンテンツの集合の中から一部を選出する第１コンテンツ選出手段と、所与の前記コンテンツの集合に属する前記各コンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段と、前記複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出される前記コンテンツを前記ユーザに提示するコンテンツ提示手段と、を含むことを特徴とする。【０００６】
また、本発明に係るコンテンツ推薦方法は、ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得ステップと、複数のコンテンツのそれぞれについて１又は複数の属性のそれぞれの属性値を記憶する属性値記憶手段を参照しつつ、順次生成される１又は複数の属性の属性値の条件に従って、所与の前記コンテンツの集合の中から一部を選出する第１コンテンツ選出ステップと、前記各コンテンツの特徴を示す特徴ベクトルを記憶する特徴ベクトル記憶手段を参照しつつ、所与の前記コンテンツの集合に属する前記各コンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出ステップと、前記複数のコンテンツに対して前記第１コンテンツ選出ステップ及び前記第２コンテンツ選出ステップを重ねて適用することにより選出される前記コンテンツを前記ユーザに提示するコンテンツ提示ステップと、を含むことを特徴とする。【０００７】
また、本発明に係るコンテンツ推薦装置は、ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段と、順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出手段と、所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段と、複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成手段と、を含むことを特徴とする。【０００８】
また、本発明に係るコンテンツ推薦方法は、ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得ステップと、順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出ステップと、所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出ステップと、複数のコンテンツに対して前記第１コンテンツ選出ステップ及び前記第２コンテンツ選出ステップを重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成ステップと、を含むことを特徴とする。【０００９】
また、本発明に係るプログラムは、ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段、順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出手段、所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段、及び複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成手段としてコンピュータを機能させるためのプログラムである。【００１０】
さらに、本発明に係る情報記憶媒体は、ユーザが嗜好するコンテンツの特徴を示す嗜好ベクトルを取得する嗜好ベクトル取得手段、順次生成される１又は複数のコンテンツの属性の属性値の条件に従って、所与のコンテンツの集合の中から一部を選出する第１コンテンツ選出手段、所与のコンテンツの集合に属するコンテンツの特徴ベクトルと前記嗜好ベクトルとの類似度に従って、該集合の中から一部又は全部を選出する第２コンテンツ選出手段、及び複数のコンテンツに対して前記第１コンテンツ選出手段及び前記第２コンテンツ選出手段を重ねて適用することにより選出されるコンテンツのリストを生成するリスト生成手段としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体である。【００１１】
なお、本発明の一態様では、前記第１コンテンツ選出手段は、前記複数のコンテンツの中から一部を選出し、前記第２コンテンツ選出手段は、前記第１コンテンツ選出手段により選出される前記コンテンツの中から一部又は全部を選出し、前記コンテンツ提示手段は、前記第２コンテンツ選出手段により選出される前記コンテンツをユーザに提示する。【００１２】
また、本発明の一態様では、前記１又は複数の属性の属性値の条件を順次取得するとともに、取得される条件に基づいて該条件に関連する他の条件を順次生成する関連条件生成手段をさらに含み、前記第1コンテンツ選出手段は、前記関連条件生成手段により順次生成される条件に従って、所与の前記コンテンツの集合の中から一部を選出する。【００１３】
また、本発明の一態様では、前記条件は乱数に基づいて決定される。例えば、前記各属性について、該属性の各属性値に対する前記ユーザの嗜好度を記憶する嗜好分布記憶手段と、前記嗜好分布記憶手段に記憶される前記ユーザの嗜好度に応じた確率で１又は複数の前記属性の属性値を選択することにより、前記第１コンテンツ選出手段が用いる前記条件を決定する条件決定手段と、をさらに含んでよい。このとき、前記コンテンツ提示手段により提示される前記コンテンツに対する前記ユーザの操作情報を取得する操作情報取得手段と、前記操作情報取得手段により取得される操作情報に基づいて、前記嗜好分布記憶手段の記憶内容を更新する嗜好分布更新手段と、をさらに含んでよい。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るコンテンツ推薦システムの全体構成図である。
【図２】サーバのハードウェア構成図である。
【図３】ユーザ装置として用いられるゲームシステムの外観斜視図である。
【図４】ゲーム機のハードウェア構成図である。
【図５】第１メタデータの構成図である。
【図６】第２メタデータの構成図である。
【図７】本発明の実施形態に係るコンテンツ推薦システムの動作フロー図である。
【図８】テーマテンプレートデータを模式的に示す図である。
【図９】テーマ嗜好分布データを模式的に示す図である。
【図１０】属性値嗜好分布データを模式的に示す図である。
【図１１】テーマグループデータの構成図である。
【図１２】属性値変換辞書を模式的に示す図である。
【図１３】ユーザ装置の機能ブロック図である。
【図１４】サーバ及びデータベースの機能ブロック図である。
【図１５】本発明の実施形態に係るコンテンツ推薦システムの変形動作フロー図である。
【図１６】携帯ゲーム機の外観図である。
【図１７】携帯ゲーム機のハードウェア構成図である。
【図１８】汎用のパーソナルコンピュータのハードウェア構成図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について図面に基づいて詳細に説明する。
【００１６】
図１は、本発明の実施形態に係るコンテンツ推薦システムの全体構成図である。同図に示すように、このコンテンツ推薦システム１０は、インターネット等のデータ通信ネットワーク１８に接続され、相互にデータ通信可能なサーバ１４（第１のコンテンツ推薦装置）及び複数のユーザ装置１２（第２のコンテンツ推薦装置）を含んでいる。サーバ１４はデータベース１４ａを含んでいる。ユーザ装置１２は、例えば各家庭に設置されるパーソナルコンピュータ、コンピュータゲームシステム、ホームサーバなどのコンピュータシステム、携帯型ゲーム機などの各種携帯機器であり、サーバ１４にアクセスして当該ユーザ装置１２のユーザに推薦される楽曲のリストを受信する。そして、該リストに含まれる楽曲のデータをサーバ１４にリクエストし、これを受信して再生するものである。一方、サーバ１４は、例えば公知のサーバコンピュータなどのコンピュータシステムにより構成されており、各ユーザ装置１２に該ユーザ装置１２のユーザに推薦する楽曲のリストを送信する。また、各ユーザ装置１２からのリクエストに応じて個別の楽曲のデータを送信するものである。なお、ここでは楽曲の推薦に本発明を適用する例を説明するが、本発明はこれに限らず、映画などの動画像、写真などの静止画像、小説などの文書など、各種のコンテンツの推薦に適用してよいのはもちろんである。
【００１７】
図２は、サーバ１４のハードウェア構成例を示す図である。同図に示すように、サーバ１４は、プロセッサ７０、メモリ７１、ハードディスクドライブ７３、媒体ドライブ７４、通信インタフェース７６を含んでおり、これらはバス７２に接続され、相互にデータを授受できるように構成されている。メモリ７１はＲＯＭ及びＲＡＭにより構成されており、ＲＯＭは各種のシステムプログラムが記憶され、ＲＡＭは主としてプロセッサ７０の作業用に用いられる。ハードディスクドライブ７３は、楽曲配信或いは推薦楽曲リスト配信のためのプログラムが格納されたり、楽曲配信或いは推薦楽曲リスト配信のためのデータベース１４ａが構築されたりする。媒体ドライブ７４は、ＣＤ−ＲＯＭやＤＶＤ−ＲＡＭなどのコンピュータ可読媒体７５に格納されたデータを読み出したり、或いはそこにデータを書き込んだりする装置である。通信インタフェース７６は、ユーザ装置１２と通信ネットワーク１８を介してデータ通信するのを制御するものである。また、プロセッサ７０は、メモリ７１、ハードディスクドライブ７３又は媒体７５に記憶されているプログラムに従って、サーバ１４の各部を制御するものである。
【００１８】
次に、ユーザ装置１２について詳述する。図３は、ユーザ装置１２として用いられるコンピュータゲームシステムの外観図である。このコンピュータゲームシステムは、ゲーム機２００と、操作デバイス２０２と、テレビモニタ２０４とを含んでいる。ゲーム機２００は、コンピュータゲームシステムであり、ゲームプログラムのみならず、Ｗｅｂブラウザ、映画や音楽の再生プログラムなど、各種プログラムを実行する。プログラムは、各種光ディスク、内蔵又は外付けハードディスクドライブ、半導体メモリなどの各種コンピュータ可読媒体から読み取られてもよいし、インターネットなどの通信ネットワークを介してダウンロードされてもよい。操作デバイス２０２は、無線又は有線によりゲーム機２００と通信接続される。
【００１９】
ゲーム機２００は、光ディスクに対応したディスク挿入口２０６やＵＳＢ接続端子２０８を備えている。ディスク挿入口２０６には、ＢＤ（ブルーレイディスク（商標））やＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭなどの光ディスクが挿入される。タッチセンサ２１０はディスク取り出しをゲーム機２００に指示するために用いられ、タッチセンサ２１２は電源のオン／オフをゲーム機２００に指示するために用いられる。ゲーム機２００の背面側には、電源スイッチ、音響及び映像出力端子、光デジタル出力端子、ＡＣ電源端子、ＬＡＮコネクタ、ＨＤＭＩ端子が設けられている（図示せず）。
【００２０】
ゲーム機２００は、複数種類の着脱可能な半導体メモリを受け入れるマルチメディアスロットも備えている。ゲーム機２００の前面に設けられた蓋２１４を開けると、それぞれ異なる種類の半導体メモリを受け入れる、図示しない複数のスロットが現れる。
【００２１】
操作デバイス２０２は、図示しないバッテリによって駆動されるもので、ユーザが操作入力を行うための複数のボタンやキーを備えている。ユーザが操作デバイス２０２のボタンやキーを操作すると、操作内容は無線又は有線によりゲーム機２００に送信される。
【００２２】
操作デバイス２０２には、方向キー２１６、ジョイスティック２１８、操作ボタン群２２０が設けられている。方向キー２１６、ジョイスティック２１８、操作ボタン群２２０は、筐体上面２２２に設けられている。４種の操作ボタン２２４、２２６、２２８、２３０には、互いに区別されるよう、異なる色で異なる図形が頂部に記されている。すなわち、操作ボタン２２４には赤色の丸印、操作ボタン２２６には青色のバツ印、操作ボタン２２８には紫色の四角印、操作ボタン２３０には緑色の三角印が記されている。なお、操作デバイス２０２の筐体背面２３２には図示しない複数のＬＥＤが設けられる。
【００２３】
ユーザは左手で左側把持部２３４ｂを把持し、右手で右側把持部２３４ａを把持して、操作デバイス２０２を操作する。方向キー２１６、ジョイスティック２１８、操作ボタン群２２０はユーザが左側把持部２３４ｂ、右側把持部２３４ａを左右の手で把持した状態で操作可能なよう、筐体上面２２２に設けられる。
【００２４】
筐体上面２２２には、ＬＥＤ付きボタン２３６も設けられる。ＬＥＤ付きボタン２３６は、例えばゲーム機２００によりテレビモニタ２０４に特定のメニュー画面を表示させるためのボタンとして利用される。また、ＬＥＤの発光状態により操作デバイス２０２のバッテリの状態を示す機能を有している。例えば充電中は赤色、充電完了時は緑色に点灯し、充電残存量が少ないときには赤色で点滅する。
【００２５】
方向キー２１６には、上下左右の４方向、或いは上下左右にこれら４方向の間の４方向を加えた８方向、或いは任意方向にキーイン可能に構成されており、例えばテレビモニタ２０４の画面上でカーソルを上下左右に移動させたり、各種情報を画面においてスクロールさせたりするのに用いられる。操作ボタン群２２０には、アプリケーションプログラムによりそれぞれ異なる機能が割り付けられる。
【００２６】
ジョイスティック２１８は、任意方向に傾倒可能に支持されたスティック、及び傾倒量を検知するセンサを備えている。スティックはバネなどの付勢手段により中立位置に付勢されており、非操作時にはスティックは中立位置に戻る。センサはスティックの傾倒に応じて抵抗値を変える可変抵抗及び抵抗値をデジタル値に変換するＡＤ変換回路を含んでいる。スティックが倒されると、複数の基準方向への傾き量がデジタル値に変換され、その値は操作信号としてゲーム機２００に送られる。
【００２７】
操作デバイス２０２は、セレクトボタン２４０、スタートボタン２３８も備えている。スタートボタン２３８は、例えば、プログラムの開始を指示したり、映画や音楽の再生開始や一時停止をユーザが指示するために用いられる。一方、セレクトボタン２４０は、例えばテレビモニタ２０４に表示されたメニュー項目のうち任意の一つをユーザが選択するのに用いられる。
【００２８】
ここで、ゲーム機２００の内部回路構成について説明する。図４に示すように、ゲーム機２００は、メインＣＰＵ３００と、ＧＰＵ（グラフィックプロセッシングユニット）３０２と、入出力プロセッサ３０４と、光ディスク再生部３０６と、メインメモリ３０８と、マスクＲＯＭ３１０と、サウンドプロセッサ３１２と、を基本構成として備えている。メインＣＰＵ３００は、各種プログラムに基づいて信号処理や内部構成の制御を行う。ＧＰＵ３０２は、画像処理を行う。入出力プロセッサ３０４は、装置外の要素や装置内の要素の一部とメインＣＰＵ３００との間のインタフェース処理を実行する。その他、入出力プロセッサ３０４にアプリケーションプログラムの実行機能を持たせて、ゲーム機２００が他のゲーム機と互換性を有するように構成してもよい。
【００２９】
光ディスク再生部３０６は、アプリケーションプログラムやマルチメディアデータが記録されているＢＤやＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭなどの光ディスクを再生する。メインメモリ３０８は、メインＣＰＵ３００のワークエリアや光ディスクから読み出されたデータを一時的に格納するバッファとして機能する。マスクＲＯＭ３１０は、主にメインＣＰＵ３００や入出力プロセッサ３０４が実行するオペレーティングシステムプログラムを格納している。サウンドプロセッサ３１２は、音声信号を処理する。
【００３０】
また、ゲーム機２００は、ＣＤ／ＤＶＤ／ＢＤプロセッサ３１４と、光ディスク再生ドライバ３１６と、メカコントローラ３１８と、ハードディスクドライブ３３４と、カード型コネクタ（例えばＰＣカードスロット）３２０も有している。ＣＤ／ＤＶＤ／ＢＤプロセッサ３１４は、光ディスク再生部３０６によりＣＤ／ＤＶＤ／ＢＤから読み出されてＲＦアンプ３２８で増幅されたディスク再生信号に対して、例えばエラー訂正処理（例えばＣＩＲＣ（Cross Interleave Reed-Solomon Coding）処理）や伸張復号化処理などの処理を施すことにより、それらＣＤ／ＤＶＤ／ＢＤに記録されたデータを再生する。光ディスク再生ドライバ３１６及びメカコントローラ３１８は、光ディスク再生部３０６のスピンドルモータの回転制御、光ピックアップのフォーカス／トラッキング制御、ディスクトレイのローディング制御などの処理を行う。
【００３１】
ハードディスクドライブ３３４は、例えば光ディスク再生部３０６で読み出されたプログラムやゲームプログラムのセーブデータを記憶したり、入出力プロセッサ３０４を介して取得した写真、動画、音声などのデータを記憶したりする。カード型コネクタ３２０は、例えば通信カードや外付けハードディスクドライブの接続ポートである。
【００３２】
これらの内部要素は、主にバスライン３２２、３２４を介してそれぞれ相互に接続されている。なお、メインＣＰＵ３００とＧＰＵ３０２は専用バスで接続されている。また、メインＣＰＵ３００と入出力プロセッサ３０４は高速なＢＵＳにより接続されている。入出力プロセッサ３０４とＣＤ／ＤＶＤ／ＢＤプロセッサ３１４、マスクＲＯＭ３１０、サウンドプロセッサ３１２、カード型コネクタ３２０、ハードディスクドライブ３３４も、同様に高速なＢＵＳにより接続されている。
【００３３】
メインＣＰＵ３００は、マスクＲＯＭ３１０に記憶されているメインＣＰＵ３００用のオペレーティングシステムを実行することにより、当該ゲーム機２００の動作を制御する。また、ＢＤ、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭなどの光ディスクから各種のプログラムその他のデータを読み出してメインメモリ３０８にロードする。また、メインメモリ３０８にロードされたプログラムを実行する。或いは、通信ネットワークを介して各種のプログラムその他のデータをダウンロードし、ダウンロードされたプログラムを実行する。
【００３４】
入出力プロセッサ３０４は、マスクＲＯＭ３１０に記憶されている入出力プロセッサ用のオペレーティングシステムプログラムを実行することにより、操作デバイス２０２、メモリカード３２６、ＵＳＢ接続端子２０８、イーサネット（登録商標）３３０、図示しないＩＥＥＥ１３９４端子やＰＣカードスロットに対するデータの入出力を制御する。なお、操作デバイス２０２やメモリカード３２６に対するデータの入出力制御は、マルチメディアスロット及び無線送受信ポートを含むインタフェース３３２を介して行う。
【００３５】
ＧＰＵ３０２は、座標変換などの処理を実行するジオメトリトランスファエンジンの機能と、レンダリングプロセッサの機能とを有し、メインＣＰＵ３００からの描画指示に従って画像を図示しないフレームバッファに描画する。例えば、光ディスクに記録されているプログラムが３Ｄグラフィックスを利用するものである場合、ＧＰＵ３０２は、ジオメトリ演算により、３次元オブジェクトを構成するポリゴンの座標を計算する。また、レンダリング処理により、３次元オブジェクトを仮想的なカメラで撮影することにより得られるべき画像を生成する。こうして得られる画像はフレームバッファに格納され、ＧＰＵ３０２は格納される画像に対応するビデオ信号をテレビモニタ２０４に出力する。こうして、テレビモニタ２０４の画面２０４ｂに画像が表示される。
【００３６】
サウンドプロセッサ３１２は、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）復号機能、オーディオ信号再生機能、信号変調機能を備えている。ＡＤＰＣＭ復号機能は、ＡＤＰＣＭ符号化されたサウンドデータから波形データを生成する機能である。オーディオ信号再生機能は、サウンドプロセッサ３１２に内蔵され、或いはサウンドプロセッサ３１２とは別体に設けられたサウンドバッファに記憶されている波形データから、効果音等のオーディオ信号を発生する機能である。オーディオ信号が示す音はテレビモニタ２０４の内蔵スピーカ２０４ａ，２０４ａから出力される。信号変調機能は、サウンドバッファに記憶されている波形データを変調させる機能である。
【００３７】
ゲーム機２００では、電源が投入されると、マスクＲＯＭ３１０からメインＣＰＵ３００用及び入出力プロセッサ３０４用のオペレーティングシステムプログラムが読み出される。メインＣＰＵ３００と入出力プロセッサ３０４は、それぞれのオペレーティングシステムプログラムを実行する。これにより、メインＣＰＵ３００は、ゲーム機２００の各部を統括的に制御する。また、入出力プロセッサ３０４は、コントローラ２０２やメモリカード３２６などの要素との間での信号の入出力を制御する。また、メインＣＰＵ３００は、オペレーティングシステムプログラムを実行すると、まず動作確認などの初期化処理を行う。つづいて光ディスク再生部３０６を制御して光ディスクに記憶されているゲームなどのアプリケーションプログラムを読み出し、メインメモリ３０８にロードしてから、該プログラムを実行する。プログラムの実行により、メインＣＰＵ３００は、入出力プロセッサ３０４を介して操作デバイス２０２から受け付けたユーザの指示に従って、ＧＰＵ３０２やサウンドプロセッサ３１２を制御し、画像の表示や効果音、楽音の発生を制御する。
【００３８】
コンテンツ推薦システム１０は、多数の楽曲の中から２種類のフィルタを重畳的に適用することによりユーザに推薦すべき楽曲を選択するようになっており、図５は第１のフィルタに用いられる第１メタデータを模式的に示す図であり、図６は第２のフィルタに用いられる第２メタデータを模式的に示す図である。いずれもデータベース１４ａに記憶されるものである。図５に示すように、第１メタデータは楽曲ＩＤと複数の属性の属性値とを含んでいる。楽曲ＩＤはコンテンツ推薦システム１０によりユーザに推薦される多数の楽曲のそれぞれを識別する情報である。また、各楽曲の特徴を表すのに相応しい複数の属性が予め用意されており、これらの属性の属性値が各楽曲に与えられている。属性及び属性値は、例えば属性が楽曲のスタイルとすると属性値はロック、ポップス、クラシック、ジャズなどであり、属性がアーティストの誕生した年代やアーティストがデビューした年代とすると属性値は１９５０、１９６０、１９７０などである。また、当該楽曲がヒットチャートにランクインした年が属性とすると属性値は１９９９，２０００、２００１などであり、属性がアーティストの国籍とすると属性値は日本、アメリカなどであり、属性がアーティストの性別とすると属性値は男、女である。なお、一部の属性の属性値はコンピュータによる解析処理の結果として入力されてよいが、大部分の属性の属性値は人手で入力されることが望ましい。
【００３９】
また、図６に示すように、第２メタデータは楽曲ＩＤと複数の特徴の特徴量とを含んでいる。特徴は、例えば楽曲のテンポ、楽曲が特定周波数の音を含む程度、楽曲の解説テキスト中に特定キーワードが含まれている頻度などであり、それらの特徴量はコンピュータによる解析処理の結果として入力されてよい。以下では、各特徴の特徴量を成分とするベクトルを特徴ベクトルと記す。
【００４０】
コンテンツ推薦システム１０では、ユーザの嗜好を加味しつつ乱数により属性値の条件（属性値条件）を順次変化させながら、第１フィルタにより、多数の楽曲の中から第１メタデータが該属性値条件を満足するものを抽出する。次に、こうして抽出される楽曲について、ユーザが嗜好する楽曲の特徴を示す嗜好ベクトルと、各楽曲の特徴ベクトルと、の類似度を算出し、類似度が高いものから順に所定数の楽曲をユーザに推薦すべき楽曲として決定する。嗜好ベクトルは、各楽曲の特徴ベクトルと同様に、図６に示される各特徴の特徴量を成分とするベクトルである。こうした嗜好ベクトルは、ユーザの好みの楽曲の特徴ベクトルを合成することにより生成してもよい。また、ベクトル間の類似度は、両ベクトルのなす角度であってよい。この場合、なす角度が小さいほど類似度は高い。本実施形態によると、様々なタイプの楽曲をユーザに次々と提示して、ユーザに対して継続的に興味の引くコンテンツを推薦することができる。
【００４１】
図７はコンテンツ推薦システム１０の動作フロー図である。コンテンツ推薦システム１０では、まずユーザ装置１２がテーマデータを選択する（Ｓ２０１）。テーマデータは、テーマテンプレートＩＤと、該テーマテンプレートＩＤにより識別されるテーマテンプレートのパラメータである属性値と、から構成されるものである。図８に示すように、テーマテンプレートは楽曲の各属性値の条件（属性値条件）を作成するためのテンプレートであり、パラメータとして当該テーマテンプレートにより指定されている属性の属性値を与えることで、楽曲の属性値条件が得られる。同図では”アーティスト誕生年代”と”スタイル”の属性が指定されており、例えばこれに”１９８０”と”ロック”を与えることで、”アーティスト誕生年代が１９８０年代であり、且つスタイルがロック”という属性値条件が得られるようになっている。上述した第１フィルタは、図５に示される第１メタデータを参照して、こうして決定される属性値条件を満足する楽曲を多数の楽曲の中から選び出す。
【００４２】
テーマテンプレートは事前に人手で複数作成されており、テーマテンプレートＩＤは、各テーマテンプレートを識別する情報である。図９に示されるように、ユーザ装置１２ではテーマテンプレートＩＤごとに該テーマテンプレートＩＤにより識別されるテーマテンプレートに対するユーザの嗜好度（ユーザが好む程度）、すなわちテーマ嗜好分布データを記憶しており、ユーザ装置１２では、乱数を発生させて、嗜好度に応じた確率に従って各テーマテンプレートＩＤを順次選択する。そして、選択されたテーマテンプレートＩＤにより識別されるテーマテンプレートで指定される属性を取得し、該属性の属性値を選択する。このときも、各属性の属性値は嗜好度に応じた乱数に従って選択される。すなわち、図１０に示されるように、ユーザ装置１２ではすべての属性について、属性値ごとのユーザの嗜好度、すなわち属性値嗜好分布データを記憶しており、ユーザ装置１２では、乱数を発生させて、嗜好度に応じた確率に従って指定された属性の属性値を選択する。その後、ユーザ装置１２は事前に記憶されているユーザの嗜好ベクトルとテーマデータをサーバ１４に送信する（Ｓ２０２）。
【００４３】
サーバ１４は、ユーザ装置１２から受信したテーマデータに変更を加える（Ｓ４０１）。すなわちデータベース１４ａには、図１１に示されるテーマグループデータが記憶されている。このテーマグループデータは、共通性のある複数のテーマテンプレートのＩＤと、グループＩＤと、を含むものである。サーバ１４は、テーマデータに含まれるテーマテンプレートＩＤを取得すると、テーマグループデータを参照して、取得したテーマテンプレートＩＤと同じグループに属するテーマテンプレートＩＤの中から１つを乱数により選出する。そして、こうして選出されるテーマテンプレートＩＤにより識別されるテーマテンプレートにより指定された属性を取得し、この属性値を決定する。このとき、データベース１４ａには、図１２に示すように、属性及び属性値の多数のペアを、それぞれ他の属性及び属性値の１以上のペアと、を関連づけてなる属性値変換辞書が記憶されており、サーバ１４は、ユーザ装置１２から受信したテーマデータに含まれる各属性の属性値を、この属性値変換辞書を参照して、新たに取得された属性の属性値に変換する。こうして、ユーザ装置１２から受信したテーマデータと関連性のある別のテーマデータをサーバ１４にて生成している。その後、こうして生成されるテーマデータにより属性値条件を得る。そして、第１メタデータを参照しつつ、得られた属性値条件を満足する楽曲をデータベース１４ａで管理されている多数の楽曲の中から選出する（Ｓ４０２）。このようにすれば、ユーザ装置１２から送信されるテーマデータをそのまま用いて楽曲を選出するよりも、さらに意外性のある楽曲の選出が可能となる。
【００４４】
次にサーバ１４は、ユーザ装置１２から受信した嗜好ベクトルと、Ｓ４０２で選出された各楽曲の特徴ベクトルと、の類似度を算出し、この類似度が高いものから順に所定数を選出する（Ｓ４０３）。そして、この所定数の楽曲の楽曲ＩＤを含む楽曲リストをユーザ装置１２に返信する（Ｓ４０４）。ユーザ装置１２は楽曲リストを受信すると、該楽曲リストに含まれる楽曲ＩＤの１つをサーバ１４に送信し（Ｓ２０３）、サーバ１４は同楽曲ＩＤにより識別される楽曲のデータをデータベース１４ａから読み出し、返信する（Ｓ４０５）。ユーザ装置１２は、こうして返信される楽曲のデータを再生し（Ｓ２０４）、テレビモニタ２０４の内蔵スピーカ２０４ａ，２０４ａから音楽を出力する。このとき、テレビモニタ２０４の画面２０４ｂに再生中の楽曲のタイトルやアーティスト名などの情報を表示してもよい。以上のようにして楽曲リストに含まれる全ての楽曲ＩＤについて楽曲再生を行うと、ユーザ装置１２は再びＳ２０１の処理を実行する。
【００４５】
ここでユーザ装置１２及びサーバ１４の機能的構成について説明する。図１３はユーザ装置１２の機能ブロック図であり、図１４はサーバ１４の機能ブロック図である。これらの図に示される機能ブロックは、いずれも、ユーザ装置１２及びサーバ１４のそれぞれにおいてプログラムが実行されることにより実現されるものである。各プログラムは、ユーザ装置１２又はサーバ１４において読み取り可能な情報記憶媒体に事前に格納され、該媒体を経由してユーザ装置１２及びサーバ１４のそれぞれにインストールされてよい。或いはデータ通信ネットワーク１８を経由して他のコンピュータからダウンロードされてもよい。
【００４６】
図１３に示すように、ユーザ装置１２には、テーマ選定部４１、テーマ嗜好分布データ記憶部４２、テーマ嗜好分布データ学習部４３、リクエスト部４４、属性値決定部４５、属性値嗜好分布データ記憶部４６、属性値嗜好分布データ学習部４７、嗜好ベクトル記憶部４８、テーマテンプレート記憶部４９、嗜好ベクトル学習部５０、操作部５１及び楽曲再生部５２が設けられる。
【００４７】
まずテーマ嗜好分布データ記憶部４２は、ハードディスクドライブ３３４又はメモリ３０８を中心に構成されており、図９に示されるテーマ嗜好分布データを記憶するものである。テーマ嗜好分布データ学習部４３は、メインＣＰＵ３００及びメモリ３０８を中心に構成されており、操作部５１に対する操作内容に従ってテーマ嗜好分布データを更新する。具体的には、サーバ１４から送信される楽曲リストにより示される楽曲のうち所定数以上に対して、１）スキップ操作をすることなく楽曲の最後まで視聴したとき（肯定的状況１）、２）ユーザの好みの楽曲であることを明示する特定の操作があったときには（肯定的状況２）、サーバ１４において当該楽曲リストを生成するのに用いたテーマテンプレートのＩＤに関連づけられたユーザの嗜好度を上げる処理を行う。つまり、あるテーマテンプレートにより生成された楽曲リストの中の曲に対して肯定的状況１又は２が生じると、当該テーマテンプレートの嗜好度を上げる。逆に、所定数以上に対して、１）スキップ操作をして楽曲の再生を中断したとき（否定的状況１）、２）ユーザの好みではない楽曲であることを明示する特性の操作があったときには（否定的状況２）、同ＩＤに関連づけられたユーザの嗜好度を下げる処理を行う。つまり、あるテーマテンプレートにより生成された楽曲リストの中の曲に対して否定的状況１又は２が生じると、当該テーマテンプレートの嗜好度を下げる。テーマ選定部４１は、メインＣＰＵ３００及びメモリ３０８を中心に構成されており、テーマ嗜好分布データ記憶部４２に記憶されるテーマ嗜好分布データを参照して、嗜好度に応じた確率に従って各テーマテンプレートＩＤを順次選択する。具体的には、テーマ選定部４１は各テーマテンプレートＩＤに関連づけて乱数の値の範囲を保持しており、この範囲の広さは嗜好度に応じて設定されている。そして、乱数を発生させるとともに、該乱数の値が属する範囲に関連づけられたテーマテンプレートＩＤを選出する。
【００４８】
属性値嗜好分布データ記憶部４６は、ハードディスクドライブ３３４又はメモリ３０８を中心に構成されており、図１０に示される属性値嗜好分布データを記憶するものである。属性値嗜好分布データ学習部４７は、操作部５１に対する操作内容、及びユーザ装置１２に記憶されている楽曲データの属性値に従って、属性値嗜好分布データを更新する。具体的には、サーバ１４から送信される楽曲リストにより示される楽曲のうち所定数以上に対して、上述したいずれかの肯定的状況が生じたときには、サーバ１４において当該楽曲リストを生成するのに用いた属性値条件において必要条件とされていた属性及び属性値のペアを取得し、取得された属性に係る属性値嗜好分布データにおける、取得された属性値に関連づけられたユーザの嗜好度を上げる処理を行う。逆に、所定数以上に対して、上述したいずれかの否定的状況が生じたときには、同属性値嗜好分布データにおける同属性値に関連づけられたユーザの嗜好度を下げる処理を行う。
【００４９】
また、ユーザ装置１２において再生中の楽曲に対して、上述したいずれかの肯定的状況が生じたときには、同楽曲の第１メタデータをサーバ１４から取得する。そして、各属性値嗜好分布データにおける、取得した第１メタデータに含まれる該当属性の属性値に関連づけられたユーザの嗜好度を上げる処理を行う。逆に、上述したいずれかの否定的状況が生じたときにも、同楽曲の第１メタデータをサーバ１４から取得する。そして、各属性値嗜好分布データにおける、取得した第１メタデータに含まれる該当属性の属性値に関連づけられたユーザの嗜好度を下げる処理を行う。
【００５０】
さらに、属性値嗜好分布データ学習部４７は、メインＣＰＵ３００及びメモリ３０８を中心に構成されており、ユーザが所有し、該ユーザのユーザ装置１２に備えられたハードディスクドライブ３３４その他の記憶装置に記憶している全ての楽曲データを検索し、各楽曲の第１メタデータをサーバ１４から取得する。そして、各属性値嗜好分布データにおける、取得した第１メタデータに含まれる該当属性の属性値に関連づけられたユーザの嗜好度を上げる処理を行う。こうすることで、各属性値嗜好分布データを、ユーザが所有している楽曲に応じたものにでき、ユーザの楽曲の嗜好の多様性を反映させて、様々な種類の楽曲を同ユーザに推薦できる。なお、ここではユーザ装置１２に備えられた記憶装置に記憶している楽曲データに従って各属性値嗜好分布データを更新したが、ユーザの所有する楽曲の楽曲データがサーバ１４その他のデータ通信ネットワーク１８に接続された他のコンピュータに記憶されていれば、当該他のコンピュータに記憶されている同ユーザの楽曲データに従って各属性値嗜好分布データを更新してよい。
【００５１】
テーマテンプレート記憶部４９は、ハードディスクドライブ３３４又はメモリ３０８を中心に構成されており、図８に示される多数のテーマテンプレートを記憶するものである。属性値決定部４５は、メインＣＰＵ３００及びメモリ３０８を中心に構成されており、テーマ選定部４１からテーマテンプレートＩＤを受け取ると、該テーマテンプレートＩＤにより識別されるテーマテンプレートをテーマテンプレート記憶部４９から読み出し、そこで指定される属性（属性名）を調べる。そして、指定される各属性の属性値嗜好分布データを属性値嗜好分布データ記憶部４６から読み出す。その後、属性値決定部４５は、読み出した属性値嗜好分布データを参照して、嗜好度に応じた確率に従って各属性の属性値を選択する。具体的には、属性値決定部４５は各属性値に関連づけて乱数の値の範囲を保持しており、この範囲の広さは嗜好度に応じて設定されている。そして、乱数を発生させるとともに、該乱数の値が属する範囲に関連づけられた属性値を選択する。
【００５２】
嗜好ベクトル記憶部４８はハードディスクドライブ３３４又はメモリ３０８を中心に構成されており、ユーザの嗜好ベクトルを記憶している。リクエスト部４４はメインＣＰＵ３００、メモリ３０８、入出力プロセッサ３０４及びイーサネット３３０を中心に構成されており、該嗜好ベクトルとテーマデータをペアにしてサーバ１４に送信する。テーマデータは、テーマ選定部４１より出力されるテーマテンプレートＩＤと、属性値決定部４５より出力される各属性の属性値と、を含むものである。
【００５３】
嗜好ベクトル学習部５０は、メインＣＰＵ３００及びメモリ３０８を中心に構成されており、操作部５１に対する操作内容に従って嗜好ベクトルを更新する。具体的には、ユーザ装置１２において再生中の楽曲に対して、上述したいずれかの肯定的状況が生じたときには、同楽曲の第２メタデータをサーバ１４から取得する。そして、取得した第２メタデータが示す特徴ベクトルに現在の嗜好ベクトルを近づけるよう、該嗜好ベクトルを更新する。逆に、上述したいずれかの否定的状況が生じたときにも、同楽曲の第２メタデータをサーバ１４から取得して、取得した第２メタデータが示す特徴ベクトルから現在の嗜好ベクトルが離れるよう、該嗜好ベクトルを更新してもよい。
【００５４】
楽曲再生部５２は、メインＣＰＵ３００、メモリ３０８、サウンドプロセッサ３１２、入出力プロセッサ３０４及びイーサネット３３０を中心に構成されており、サーバ１４から楽曲リストを受信し、該楽曲リストに含まれる楽曲ＩＤを順にサーバ１４に送信する。そして、サーバ１４から該楽曲ＩＤに対応する楽曲データを受信し、それを再生する。操作部５１は、操作デバイス２０２を含んで構成され、楽曲再生部５２に対して再生中の楽曲のスキップを指示したり、ユーザの好みの楽曲であることを明示的に入力したり、或いはユーザが好まない楽曲であることを明示的に入力するのに用いられる。
【００５５】
次に、図１４に示すように、サーバ１４はサーバ本体１４ｂ及びデータベース１４ａを含んでおり、サーバ本体１４ｂには、リクエスト受付部２１、テーマデータ変更部２２ａ及び楽曲リスト生成部２２ｂを含む第１フィルタ２２、第２フィルタ２３、楽曲リスト返信部２４及び楽曲配信部２５が設けられる。一方、データベース１４ａには、テーマグループデータ記憶部３１、テーマテンプレート記憶部３２、属性値変換辞書記憶部３３、第１メタデータ記憶部３４、第２メタデータ記憶部３５及び楽曲データ記憶部３６が設けられる。
【００５６】
まずテーマグループデータ記憶部３１は、ハードディスクドライブ７３又はメモリ７１を中心に構成されており、図１１に示されるテーマグループデータを記憶するものであり、テーマテンプレート記憶部３２は、図８に示されるテーマテンプレートを記憶するものである。属性値変換辞書記憶部３３は、ハードディスクドライブ７３又はメモリ７１を中心に構成されており、図１２に示される属性値変換辞書を記憶する。第１メタデータ記憶部３４は、ハードディスクドライブ７３又はメモリ７１を中心に構成されており、図５に示される第１メタデータを記憶する。また、第２メタデータ記憶部３５は、ハードディスクドライブ７３又はメモリ７１を中心に構成されており、図６に示される第２メタデータを記憶する。さらに、楽曲データ記憶部３６は、ハードディスクドライブ７３を中心に構成されており、多数の楽曲のデータ（楽曲データ）を該楽曲の識別情報、すなわち楽曲ＩＤに関連づけて記憶する。
【００５７】
リクエスト受付部２１は、プロセッサ７０、メモリ７１及び通信インタフェース７６を中心に構成されており、ユーザ装置１２から嗜好ベクトル及びテーマデータを受信する。テーマデータ変更部２２ａは、プロセッサ７０及びメモリ７１を中心に構成されており、テーマグループデータ記憶部３１に記憶されるテーマグループデータを参照して、受信したテーマデータに含まれるテーマテンプレートＩＤと同じグループに属するテーマテンプレートＩＤの中から乱数に従って１つを選択する。さらに、選択されるテーマテンプレートＩＤのテーマテンプレートを、テーマテンプレート記憶部３２から読み出し、該テーマテンプレートにより指定される属性を調べる。そして、属性値変換辞書記憶部３３に記憶される属性値変換辞書を参照して、受信したテーマデータに含まれる各属性の属性値を、指定される各属性の属性値に変換する。こうして新たに選択されるテーマテンプレートＩＤ、及び変換後の各属性の属性値を、テーマデータとして楽曲リスト生成部２２ｂに渡す。
【００５８】
楽曲リスト生成部２２ｂは、プロセッサ７０及びメモリ７１を中心に構成されており、第１メタデータ記憶部３４に記憶される第１メタデータを参照して、受け取った各属性の属性値が付与された楽曲を選出する。そして、それらの楽曲の楽曲ＩＤのリストを出力する。
【００５９】
第２フィルタ２３は、プロセッサ７０及びメモリ７１を中心に構成されており、楽曲リスト生成部２２ｂから楽曲ＩＤのリストを、リクエスト受付部２１から嗜好ベクトルを受け取る。そして、リストに含まれる各楽曲ＩＤに関連づけて第２メタデータ記憶部３５に記憶されている特徴ベクトルを読み出し、各特徴ベクトルと嗜好ベクトルとの類似度を算出する。そして、類似度によりソートを行って、類似度が高いものから順に所定数の楽曲を選出する。そして、こうして選出される楽曲のＩＤのリストを出力する。楽曲リスト返信部２４は、こうして出力されるリストをユーザ装置１２に返信する。
【００６０】
楽曲配信部２５は、プロセッサ７０、メモリ７１及び通信インタフェース７６を中心に構成されており、ユーザ装置１２の楽曲再生部５２から送信される楽曲ＩＤを受信し、該楽曲ＩＤに関連づけて楽曲データ記憶部３６に記憶される楽曲データを読み出し、ユーザ装置１２に対して返信するものである。
【００６１】
以上説明したコンテンツ推薦システム１０によると、第１フィルタ２２及び第２フィルタ２３を重ねて適用して、多数のコンテンツの中から一部を選出し、それらを順にユーザ装置１２で再生出力させる。第１フィルタ２２はテーマ選定部４１、属性値決定部４５及びテーマデータ変更部２２ａにより順次生成される属性値条件により楽曲を選出し、第２フィルタ２３は各楽曲の特徴ベクトルとユーザの嗜好ベクトルとの類似度に従って楽曲を選出する。このため、嗜好ベクトルだけで楽曲を選択する場合に比し、多様な楽曲をユーザに推薦できるようになる。特に、属性値条件を乱数に基づいて決定するようにしているので、ユーザに対して意外性のある推薦を行うことができる。また、第１フィルタ２２で多数の楽曲の中から一部を抽出してから、該一部の楽曲について第２フィルタ２３の処理を実行するようにしたので、楽曲の推薦に必要な演算量を軽減することができる。
【００６２】
また、テーマデータは、テーマ嗜好分布データに従って確率的にテーマテンプレートを選択し、且つ属性値嗜好分布データに従って確率的に属性値を選択することにより生成するようにしたので、ユーザの嗜好に合わせて多様なテーマデータを生成することができる。そして、この多様なテーマデータを用いて楽曲を選ぶので、ユーザに対して多様な楽曲を推薦できるようになる。さらに、テーマデータ変更部２２ａが、テーマグループデータ及び属性値変換辞書を用いて、ユーザ装置１２から受信したテーマデータを他のテーマデータに変更するので、ユーザ装置１２には未だ記憶されていないテーマテンプレートや属性値により第１フィルタ２２の楽曲選択を行わせることができる。これにより、楽曲選択の意外性や多様性を増すことができる。
【００６３】
また、コンテンツ推薦システム１０によると、ユーザが所有する楽曲の属性値に応じて属性値嗜好分布データを更新するようにしたので、ユーザが音楽に対して多様な趣味をもっていても、それに応じて多様な楽曲を推薦できる。
【００６４】
なお、本発明は上記実施形態に限定されるものではなく、種々の変形を加えてよい。例えば、ユーザ装置１２とサーバ１４とによりコンテンツの推薦処理を分担せずに、１つのコンピュータによりユーザに推薦すべき楽曲を選択してよい。或いは逆に、より多くのコンピュータによりコンテンツの推薦処理を分担してもよい。さらに、以上の説明では属性値嗜好分布データを操作部５１に対する操作内容に基づいて更新するようにしたが、ユーザ所有の楽曲のみに基づいて更新してよい。また、第２フィルタ２３は用いずに、第１フィルタ２２により選出される楽曲を、そのままユーザに推薦してもよい。
【００６５】
また、まず第２フィルタによる楽曲選択をサーバ１４にて実行し、その後、選択結果に対して、第１フィルタによる楽曲選択（絞り込み）をユーザ装置１２にてさらに実行してもよい。図１５は、この変形動作フロー図を示している。変形例に係るコンテンツ推薦システム１０では、まずユーザ装置１２がユーザの嗜好ベクトルをサーバ１４に送信する（Ｓ５０１）。
【００６６】
サーバ１４は、ユーザ装置１２から受信した嗜好ベクトルと、楽曲データベース３６に記憶されている全部又は一部の楽曲の各特徴ベクトルと、の類似度を算出し、この類似度が高いものから順に所定数を選出する（Ｓ６０１）。そして、この所定数の楽曲の楽曲ＩＤを含む楽曲リストをユーザ装置１２に返信する（Ｓ６０２）。ユーザ装置１２は楽曲リストを受信すると、テーマデータを選択する（Ｓ５０２）。テーマデータの選択方法は、図７と同様である。そして、ユーザ装置１２は、Ｓ５０２で選択されるテーマデータに基づいて属性値条件を得る。その後、第１メタデータを参照しつつ、得られた属性値条件を満足する楽曲を、サーバ１４から受信した楽曲リストに含まれる楽曲の中から選出し、こうして選出される楽曲の楽曲ＩＤを最終的な楽曲リストに含める（Ｓ５０３）。その後、最終的な楽曲リストに含まれる楽曲ＩＤの１つをサーバ１４に送信し（Ｓ５０４）、サーバ１４は同楽曲ＩＤにより識別される楽曲のデータをデータベース１４ａから読み出し、返信する（Ｓ６０３）。ユーザ装置１２は、こうして返信される楽曲のデータを再生し（Ｓ５０５）、テレビモニタ２０４の内蔵スピーカ２０４ａ，２０４ａから音楽を出力する。このようにして楽曲リストに含まれる全ての楽曲ＩＤについて楽曲再生を行うと、ユーザ装置１２は再びＳ２０１の処理を実行する。以上のようにすると、サーバ１４の処理負荷を軽減できる。
【００６７】
また、ユーザ装置１２とサーバ１４とで第１メタデータによる選曲を分担してもよい。例えば、属性値条件が複数条件のＡＮＤ条件（積集合）である場合、一部の条件を満足する楽曲をサーバ１４で選択し、選択結果に含まれる楽曲のうち残りの条件を満足する楽曲をユーザ装置１２で選択するようにしてもよい。また、ユーザ装置１２では、サーバ１４における選択結果に含まれる楽曲に対し、或いは、そのうち残りの条件を満足する楽曲に対して、残りの条件に基づいて再生順を決定してもよい。
【００６８】
また、ユーザ装置１２又はサーバ１４において再生される楽曲にユーザが嫌いな楽曲が含まれないようにすることもできる。ユーザ装置１２では、楽曲再生中に、操作デバイス２０２に対して明示の否定的評価の操作（ユーザが当該楽曲を好まないことを示す特定の操作）が行われたり、再生を中断することを指示する操作が行われたりした場合に、当該楽曲の楽曲ＩＤを、ハードディスクドライブ３３４に記憶されている嫌いな楽曲リストに含める。ユーザ装置１２では、サーバ１４から楽曲リストを受信した場合に、当該楽曲リストに、上記の嫌いな楽曲リストに示される楽曲の楽曲ＩＤが含まれていれば、その楽曲の再生を禁止するようにしてよい。或いは、各ユーザの嫌いな楽曲リストをサーバ１４において管理して、サーバ１４において楽曲リストを生成する際に、嫌いな楽曲リストに示される楽曲の楽曲ＩＤが含まれないようにしてもよい。
【００６９】
嫌いな楽曲リストを作成する代わりに、分類器（ＳＶＭ：Support Vector Machine）を用いてユーザが各楽曲を好きか嫌いか判定するようにしてもよい。例えば、ユーザ装置１２に分類器のソフトウェアをインストールしておき、楽曲再生中に、操作デバイス２０２に対して明示の否定的評価の操作（ユーザが当該楽曲を好まないことを示す特定の操作）が行われたり、再生を中断することを指示する操作が行われたりした場合、或いは、楽曲再生中に、操作デバイス２０２に対して明示の好適的評価の操作（ユーザが当該楽曲を好むことを示す特定の操作）が行われたり、再生を中断することなく最後まで視聴された場合に、その事実を分類器に入力して、ユーザの好みを分類器に学習させる。そして、サーバ１４から送信される楽曲リストに含まれる各楽曲ＩＤの楽曲について、分類器によりユーザが好むか否かを判定し、ユーザが好まない楽曲については再生を禁止するようにしてよい。
【００７０】
また、ユーザ装置１２は、様々なハードウェアを用いて実現することができる。例えば、携帯ゲーム機を用いてユーザ装置１２を実現してもよい。図１６は、携帯ゲーム機の外観を示している。携帯ゲーム機４００は、動画、静止画、音楽などのデジタルコンテンツを再生するほか、ゲームプログラムなどのプログラムを実行する。各コンテンツは、携帯ゲーム機４００に着脱できる外部記憶媒体から読み出されたり、データ通信によりダウンロードされたりする。本実施形態における外部記憶媒体は、ＵＭＤ（Universal Media Disc）などの小型の光ディスク４０２とメモリカード４２６である。光ディスク４０２及びメモリカード４２６は、それぞれ携帯ゲーム機４００に設けられた図示しない駆動装置に装填される。光ディスク４０２は、音楽データや静止画データはもちろん、映画などの比較的データサイズの大きなコンテンツの動画データを格納することができる。メモリカード４２６は、デジタルカメラや携帯電話にも着脱できる小型のメモリカードであり、静止画データ、動画データ、音声データなど、ユーザ自身が他の機器で作成したデータや、他の機器との間で受け渡しされるデータが主に格納される。
【００７１】
携帯ゲーム機４００には、液晶ディスプレイ４０４と、十字キー４１６、アナログスティック４１８、或いはボタン４２０などの操作部材と、が設けられている。ユーザは、携帯ゲーム機４００の左右端を両手で把持し、主に左手の親指で十字キー４１６又はアナログスティック４１８を用いて上下左右の方向を指示し、主に右手の親指でボタン４２０を用いて各種指示を行う。ホームボタン４３６は、十字キー４１６やボタン４２０と異なり、携帯ゲーム機４００の左右端を両手で把持したときにいずれの指でも押下しにくい位置に設けられており、誤操作防止が図られている。液晶ディスプレイ４０４には、メニュー画面及び各コンテンツの再生画面が表示される。携帯ゲーム機４００には、ＵＳＢポートや無線ＬＡＮを介した通信機能が搭載されており、これらを用いて他の装置との間でデータを送受信する。さらに、携帯ゲーム機４００は、セレクトボタン４４０、スタートボタン４３８を備えている。スタートボタン４３８は、ゲームの開始、映画や音楽などのコンテンツの再生開始や一時停止などをユーザが指示するためのボタンである。セレクトボタン４４０は、液晶ディスプレイ４０４に表示されたメニュー項目の選択をするためのボタンである。
【００７２】
図１７は、携帯ゲーム機４００の内部回路構成を示している。携帯ゲーム機４００は、ＣＰＵ５４１及びその周辺装置等からなる制御系５４０と、フレームバッファ５５３に描画を行なうＧＰＵ５５２等からなるグラフィックシステム５５０と、楽音、効果音等を発生するＳＰＵ（サウンドプロセッシングユニット）５６１等からなるサウンドシステム５６０と、アプリケーションプログラムが記録されている光ディスク４０２の制御を行なう光ディスク制御部５７０と、無線通信部５８０と、インタフェース部５９０と、操作入力部５０２と、上記の各部が接続されているバス等を備えて構成されている。
【００７３】
サウンドシステム５６０は、制御系５４０の制御の下、楽音、効果音等を発生するＳＰＵ５６１と、このＳＰＵ５６１により、波形データ等が記録されるサウンドバッファ５６２と、ＳＰＵ５６１によって発生される楽音、効果音等を出力するスピーカ５４４とを備えている。
【００７４】
ＳＰＵ５６１は、ＡＤＰＣＭ符号化された音声データを再生するＡＤＰＣＭ復号機能と、サウンドバッファ５６２に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ５６２に記憶されている波形データを変調させて再生する変調機能を備えている。
【００７５】
光ディスク制御部５７０は、光ディスクに記録されたプログラムなどのデータを再生する光ディスク装置５７１と、例えばエラー訂正符号(ＥＣＣ：Error Correction Code)が付加されて記録されているデータを復号するデコーダ５７２と、光ディスク装置５７１からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ５７３とを備えている。上記のデコーダ５７２には、サブＣＰＵ５７４が接続されている。
【００７６】
インタフェース部５９０は、パラレルＩ／Ｏインタフェース（ＰＩＯ）５９１と、シリアルＩ／Ｏインタフェース（ＳＩＯ）５９２とを備えている。これらは、メモリカード４２６と携帯ゲーム機４００とを接続するためのインタフェースである。
【００７７】
操作入力部５０２は、ユーザの操作に応じた操作信号をＣＰＵ５４１に供給する。無線通信部５８０は、赤外線ポートや無線ＬＡＮにより無線通信を行う。この無線通信部５８０は、制御系５４０の制御の下、直接に或いはインターネットなどの無線通信ネットワークを介して、他の装置にデータを送信したり、他の装置からデータを受信したりする。
【００７８】
グラフィックシステム５５０は、ジオメトリトランスファエンジン（ＧＴＥ：Geometry Transfer Engine）５５１と、ＧＰＵ５５２と、フレームバッファ５５３と、画像デコーダ５５４と、表示部４０４とを備えている。
【００７９】
ＧＴＥ５５１は、複数の演算を並列に実行する並列演算機構を備え、メインＣＰＵ５４１からの演算要求に応じて座標変換、光源計算、行列あるいはベクトルなどの演算を高速に行う。そして、制御系５４０は、ＧＴＥ５５１による演算結果に基づいて３角形や４角形などの基本的な単位図形（ポリゴン）の組み合わせとして３次元モデルを定義し、３次元像を描画するための各ポリゴンに対応する描画命令をＧＰＵ５５２に送る。
【００８０】
ＧＰＵ５５２は、制御系５４０からの描画命令に従って、フレームバッファ５５３に対してポリゴンの描画を行なう。また、ＧＰＵ５５２は、フラットシェーディングや、ポリゴンの頂点の色を補完してポリゴン内の色を決めるグーローシェーディングや、フレームバッファのテクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行なうことができる。
【００８１】
フレームバッファ５５３は、ＧＰＵ５５２により描画された画像を記憶する。このフレームバッファ５５３は、いわゆるデュアルポートＲＡＭからなり、ＧＰＵ５５２からの描画あるいはメインメモリ５４３からの転送と、表示のための読み出しとを同時に行なうことができる。また、このフレームバッファ５５３には、ビデオ出力として出力される表示領域の他に、ＧＰＵ５５２がポリゴン等の描画を行なう際に参照するカラールックアップテーブル（ＣＬＵＴ：Color Lock Up Table）が記憶されるＣＬＵＴ領域と、テクスチャが記憶される上記テクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は、表示領域の変更等に従って動的に変更される。
【００８２】
表示部３は、制御系５４０からの制御により、フレームバッファ５５３に記憶された画像を表示する。画像デコーダ５５４は、上記のＣＰＵ５４１からの制御により、メインメモリ５４３に記憶され、離散コサイン変換等の直交変換により圧縮されて符号化された静止画あるいは動画の画像データを復号してメインメモリ５４３に記憶させる。
【００８３】
制御系５４０は、ＣＰＵ５４１と、割り込み制御やダイレクトメモリアクセス（ＤＭＡ：Direct Memory Access）転送の制御等を行なう周辺装置制御部５４２と、ＲＡＭからなるメインメモリ５４３と、ＲＯＭ５４４とを備えている。ＲＯＭ５４４には、携帯ゲーム機４００の各部を制御するためのオペレーティングシステム等のプログラムが記憶されている。ＣＰＵ５４１は、ＲＯＭ５４４に記憶されているオペレーティングシステムをメインメモリ５４３に読み出し、読み出したオペレーティングシステムを実行することにより、この携帯ゲーム機４００の全体を制御する。以上のような携帯ゲーム機４００を用いてもユーザ装置１２は実現できる。
【００８４】
また、ユーザ装置１２は汎用のパーソナルコンピュータを用いても実現できる。図１８は汎用的なパーソナルコンピュータの内部回路構成を示している。
【００８５】
汎用的なパーソナルコンピュータは、メインＣＰＵ６００と、グラフィックプロセッサユニット６０２と、入力部６０４と、出力部６０５と、ドライブ６１４と、メインメモリ６０８と、ＲＯＭ６１０と、を基本構成として備えている。メインＣＰＵ６００は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、信号処理や内部構成要素を制御する。ＧＰＵ６０２は画像処理を行う。
【００８６】
これらの各部は、バスライン６２２を介して相互に接続されている。バスライン６２２には、さらに入出力インタフェース６３２が接続されている。入出力インタフェース６３２には、ハードディスクや不揮発性メモリなどの記憶部６３４、ディスプレイやスピーカからなる出力部６０５、キーボード、マウス、マイクロホンなどからなる入力部６０４、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インタフェースや、有線又は無線ＬＡＮのネットワークインタフェースからなる通信部６３０、自機ディスク、光ディスク又は半導体メモリなどのリムーバブル記録媒体６２６を駆動するドライブ６１４が接続される。
【００８７】
メインＣＰＵ６００は、記憶部６３４に記憶されているオペレーティングシステムを実行することにより、パーソナルコンピュータの全体を制御する。メインＣＰＵ６００は、また、リムーバブル記録媒体６２６から読み出されてメインメモリ６０８にロードされた、或いは通信部６３０を介してダウンロードされた各種プログラムを実行する。
【００８８】
ＧＰＵ６０２は、ジオメトリトランスファエンジンの機能とレンダリングプロセッサの機能とを有し、メインＣＰＵ６００からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。ＧＰＵ６０２は、フレームバッファに格納された表示画像をビデオ信号に変換して出力する。以上のようなパーソナルコンピュータを用いてもユーザ装置１２は実現できる。
【図１】
0005429172.tif 000002
【図２】
0005429172.tif 000003
【図３】
0005429172.tif 000004
【図４】
0005429172.tif 000005
【図５】
0005429172.tif 000006
【図６】
0005429172.tif 000007
【図７】
0005429172.tif 000008
【図８】
0005429172.tif 000009
【図９】
0005429172.tif 000010
【図１０】
0005429172.tif 000011
【図１１】
0005429172.tif 000012
【図１２】
0005429172.tif 000013
【図１３】
0005429172.tif 000014
【図１４】
0005429172.tif 000015
【図１５】
0005429172.tif 000016
【図１６】
0005429172.tif 000017
【図１７】
0005429172.tif 000018
【図１８】
0005429172.tif 000019