以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の情報処理装置は、コンテンツを提示する基準となる検索軸であって、前記コンテンツの特徴量およびユーザによる前記コンテンツの再生の履歴または前記ユーザの前記コンテンツに対する評価により定められる検索軸を学習によって生成する生成手段(例えば、図2の検索軸学習部31)と、生成された前記検索軸を基準とした前記コンテンツの提示に関する表示を制御する表示制御手段(例えば、図2の表示部45)とを備える。
前記コンテンツについて、生成された前記検索軸が示す値を計算する計算手段(例えば、図2の検索軸値計算部39)をさらに設けることができる。
前記検索軸が示す値が表示されている前記コンテンツのうち、前記検索軸が示す所定の範囲の前記コンテンツを選別する選別手段(例えば、図2の該当楽曲選別部41)をさらに設けることができる。
本発明の一側面の情報処理方法またはプログラムがコンピュータに行わせる処理は、コンテンツを提示する基準となる検索軸であって、前記コンテンツの特徴量およびユーザによる前記コンテンツの再生の履歴または前記ユーザの前記コンテンツに対する評価により定められる検索軸を学習によって生成し(例えば、図14のステップS14)、生成された前記検索軸を基準とした前記コンテンツの提示に関する表示を制御する(例えば、図34のステップS93)ステップを含む。
図1は、楽曲検索システムの構成の例を示すブロック図である。楽曲検索システムは、楽曲検索装置11−1、楽曲検索装置11−2、サーバ12、およびネットワーク13から構成される。
楽曲検索装置11−1、楽曲検索装置11−2、およびサーバ12は、ネットワーク13を介して、相互に接続される。
楽曲検索装置11−1および楽曲検索装置11−2は、それぞれ、情報処理装置の一例であり、コンテンツの一例である楽曲に関する情報を求めて、それぞれのユーザに提示する。
なお、コンテンツとは、ユーザに有用な情報を意味し、例えば、楽曲(音声)、動画像、静止画像、文(テキスト)、データ、またはプログラムなどをいう。以下、コンテンツとして、楽曲を例に説明する。
例えば、楽曲検索装置11−1および楽曲検索装置11−2は、コンテンツの一例としての楽曲を提示する基準となる軸(以下、検索軸と称する)であって、楽曲の特徴量およびそれぞれのユーザによる楽曲の再生の履歴またはそれぞれのユーザの楽曲に対する評価により定められる検索軸を学習によって生成し、生成された検索軸を基準とした楽曲の提示に関する表示を制御する。
ここで、検索軸は、コンテンツに関連する情報に応じてコンテンツを提示する基準である。例えば、検索軸は、コンテンツに関連する情報に応じた位置(座標位置)を規定する空間の座標軸とされる。
ここで、検索軸は任意の座標系における座標軸とすることができる。具体的には、例えば、直交座標系または斜交座標系などの空間において検索軸は直線とされ、円座標系、円柱座標系または球座標系などの極座標系やその他の座標系において、検索軸は直線または曲線もしくは角度を示す基準とされる。なお、検索軸は必ずしも表示されなくとも良い。
例えば、楽曲検索装置11−1は、楽曲を提示する基準となる、楽曲検索装置11−1のユーザに対する情報により生成された検索軸と、楽曲検索装置11−2のユーザに対する情報により生成された検索軸との類似度を計算し、類似する2つの検索軸が示す楽曲の値を表示する。例えば、楽曲検索装置11−2は、楽曲を提示する基準となる、楽曲検索装置11−2のユーザに対する情報により生成された検索軸と、楽曲検索装置11−1のユーザに対する情報により生成された検索軸との類似度を計算し、類似する2つの検索軸が示す楽曲の値を表示する。
楽曲検索装置11−1は、ネットワーク13を介して、楽曲検索装置11−2から、楽曲検索装置11−2のユーザに対する情報により生成された検索軸を取得する。楽曲検索装置11−2は、ネットワーク13を介して、楽曲検索装置11−1から、楽曲検索装置11−1のユーザに対する情報により生成された検索軸を取得する。
なお、詳細は後述するが、コンテンツについての検索軸の値は、回帰式または判別式で求められ、検索軸を取得するとは、検索軸を表す回帰式または判別式を取得することを意味する。
サーバ12は、ネットワーク13を介して、楽曲検索装置11−1または楽曲検索装置11−2から、それぞれのユーザに対する情報により生成された検索軸を取得し、記録する。サーバ12は、ネットワーク13を介して、楽曲検索装置11−1または楽曲検索装置11−2に、記録しているそれぞれのユーザに対する情報により生成された検索軸を提供する。
以下、楽曲検索装置11−1および楽曲検索装置11−2を個々に区別する必要がないとき、単に、楽曲検索装置11と称する。
図2は、本発明の一実施の形態の情報処理装置の一例である楽曲検索装置11の構成を示すブロック図である。楽曲検索装置11は、検索軸学習部31、特徴量データベース(DB(Database))32、検索軸データベース(DB)33、学習用データ生成部34、再生履歴フィードバックデータベース(DB)35、操作部36、検索軸取得部37、他ユーザ検索軸データベース(DB)38、検索軸値計算部39、他ユーザ特徴量データベース(DB)40、該当楽曲選別部41、コンテンツ再生部42、コンテンツデータベース(DB)43、検索軸比較部44、表示部45、および通信部46から構成される。
検索軸学習部31は、楽曲を提示する基準となる検索軸であって、楽曲の特徴量およびユーザによる楽曲の再生の履歴またはユーザの楽曲に対する評価により定められる検索軸を学習によって生成する。例えば、検索軸学習部31は、特徴量データベース32から供給される、楽曲の特徴量と、学習用データ生成部34を介して再生履歴フィードバックデータベース35から供給される、ユーザによる楽曲の再生の履歴またはユーザの楽曲に対する評価とを用いた学習により、楽曲を提示する基準となる検索軸を生成する。
ここで特徴量は、コンテンツの特徴を示す値であればよい。例えば、特徴量は、コンテンツのメタデータ、またはメタデータ若しくはコンテンツそのものから算出された値である。
すなわち、例えば、検索軸学習部31は、特徴量データベース32からの楽曲の特徴量および学習用データ生成部34からの楽曲の再生の履歴または評価を用いた学習により、楽曲を提示する基準となる検索軸が示す値(以下、検索軸の値と称する)を算出するための回帰式または判別式を求める。
検索軸学習部31は、生成した検索軸を検索軸データベース33に供給する。すなわち、検索軸学習部31は、楽曲を提示する基準となる検索軸の値を算出するための回帰式または判別式を検索軸データベース33に供給する。
特徴量データベース32は、ユーザの所有する楽曲の特徴量を格納する。例えば、特徴量データベース32は、楽曲の特徴量である、楽曲のメタデータを格納する。
検索軸データベース33は、検索軸学習部31において生成された、楽曲を提示する基準となる検索軸を格納する。換言すれば、検索軸データベース33は、楽曲を提示する基準となる検索軸の値を算出するための回帰式または判別式を格納する。
学習用データ生成部34は、再生履歴フィードバックデータベース35から供給される、ユーザによる楽曲の再生の履歴またはユーザの楽曲に対する評価から、生成しようとする検索軸の学習に不要なデータを取り除いて、検索軸学習部31における学習に用いる学習用データを生成する。学習用データ生成部34は、生成した学習用データを検索軸学習部31に供給する。
再生履歴フィードバックデータベース35は、ユーザによる楽曲の再生の履歴、およびユーザからのフィードバック値であるユーザの楽曲に対する評価を格納する。再生履歴フィードバックデータベース35は、格納している、ユーザによる楽曲の再生の履歴、またはユーザの楽曲に対する評価を学習用データ生成部34に供給する。
操作部36は、ボタン、キーボード、マウス、リモートコントローラ、またはタッチパッドなどとそれらを制御する制御部とからなり、ユーザの操作に応じた、検索に用いる検索軸を示す情報を検索軸取得部37に供給する。または、操作部36は、ユーザの操作に応じた、ユーザからのフィードバック値であるユーザの楽曲に対する評価を再生履歴フィードバックデータベース35に供給する。
さらに、または、操作部36は、表示部45において検索軸を基準とした楽曲の提示に関する表示がされている場合、ユーザの操作に応じた、検索軸を基準とした所定の範囲を指定する情報を該当楽曲選別部41に供給する。
検索軸取得部37は、検索軸データベース33から検索に用いる検索軸を取得する。また、検索軸取得部37は、他ユーザ検索軸データベース38から、他のユーザに対する情報により生成された検索軸であって、検索に用いる検索軸を取得する。
検索軸取得部37は、取得した検索軸を検索軸値計算部39に供給する。
他ユーザ検索軸データベース38は、楽曲を提示する基準となる検索軸であって、他のユーザに対する情報により生成された検索軸を格納する。換言すれば、他ユーザ検索軸データベース38は、楽曲を提示する基準となる、他のユーザに対する情報により生成された検索軸が示す値を算出するための回帰式または判別式を格納する。
例えば、通信部46が、ネットワーク13を介して、他の楽曲検索装置11またはサーバ12から送信されてきた検索軸を受信すると、受信した検索軸を他ユーザ検索軸データベース38に供給するので、他ユーザ検索軸データベース38は、通信部46から供給された、他のユーザに対する情報により生成された検索軸を格納する。また、例えば、楽曲検索装置11が複数のユーザから使用される場合、検索軸データベース33および他ユーザ検索軸データベース38は、それぞれ異なるユーザに対する情報により生成された検索軸を格納し、検索軸データベース33は、楽曲検索装置11を現在使用しているユーザに対する情報により生成された検索軸を格納し、他ユーザ検索軸データベース38は、楽曲検索装置11を現在使用しているユーザと異なるユーザに対する情報により生成された検索軸を格納する。
検索軸値計算部39は、検索軸取得部37から供給された検索軸について、特徴量データベース32から供給された楽曲の楽曲特徴量から、その楽曲の検索軸の値を計算する。また、検索軸値計算部39は、検索軸取得部37から供給された検索軸について、他ユーザ特徴量データベース40から供給された他のユーザの楽曲の楽曲特徴量から、その楽曲の検索軸が示す値を計算する。
検索軸値計算部39は、計算して得られた、楽曲の検索軸が示す値を該当楽曲選別部41または表示部45に供給する。
他ユーザ特徴量データベース40は、他のユーザの所有する楽曲の特徴量を格納する。例えば、他ユーザ特徴量データベース40は、他のユーザの所有する楽曲の特徴量として、その楽曲のメタデータを格納する。
例えば、他ユーザ特徴量データベース40は、他の楽曲検索装置11のユーザの所有する楽曲の特徴量を格納する。または、例えば、楽曲検索装置11が複数のユーザから使用される場合、他ユーザ特徴量データベース40は、楽曲検索装置11を現在使用しているユーザと異なるユーザの所有する楽曲の特徴量を格納する。
より具体的には、例えば、通信部46が、ネットワーク13を介して、他の楽曲検索装置11またはサーバ12から送信されてきた他のユーザの楽曲の特徴量を受信すると、他のユーザの楽曲の特徴量を他ユーザ特徴量データベース40に供給するので、他ユーザ特徴量データベース40は、通信部46から供給された、他のユーザの楽曲の特徴量を格納する。
該当楽曲選別部41は、提示されているコンテンツである楽曲のうち、所定の範囲の楽曲を選別する。例えば、該当楽曲選別部41は、2つの検索軸を基準とした提示に関する表示がされている楽曲のうち、その2つの検索軸を基準とした所定の範囲の楽曲を選別する。
または、例えば、該当楽曲選別部41は、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とを基準とした提示に関する表示がされている楽曲のうち、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とを基準とした所定の範囲の楽曲を選別する。
より具体的には、該当楽曲選別部41は、ユーザの操作に応じて操作部36から供給される情報で示される、検索軸を基準とした所定の範囲に、その検索軸の位置が属する楽曲を選別する。
コンテンツ再生部42は、該当楽曲選別部41において選別されたコンテンツである楽曲を、コンテンツデータベース43から読み出して、再生して、出力する。
コンテンツデータベース43は、ユーザが所有するコンテンツである楽曲を格納する。なお、コンテンツデータベース43に格納されているコンテンツである楽曲と、特徴量データベース32に格納されている特徴量であるメタデータとは、例えば、楽曲を特定するID情報などにより紐付けされている。
検索軸比較部44は、検索軸データベース33から、ユーザに対する情報により生成された検索軸を取得し、また、他ユーザ検索軸データベース38から、他のユーザに対する情報により生成された検索軸を取得し、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とを比較する。例えば、検索軸比較部44は、ユーザに対する情報により生成された検索軸と、他のユーザに対する情報により生成された検索軸との類似度を計算する。
より具体的には、検索軸比較部44は、楽曲についてのユーザに対する情報により生成された検索軸が示す値と、楽曲についての他のユーザに対する情報により生成された検索軸が示す値との類似度である、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸との類似度を計算する。
すなわち、検索軸比較部44は、特徴量データベース32から、ユーザの所有する楽曲のメタデータを読み出して、ユーザの所有する楽曲のメタデータから、ユーザの楽曲についてのユーザに対する情報により生成された検索軸が示す値と、ユーザの楽曲についての他のユーザに対する情報により生成された検索軸が示す値とを計算する。そして、検索軸比較部44は、ユーザの所有する楽曲についてのユーザに対する情報により生成された検索軸が示す値と、ユーザの所有する楽曲についての他のユーザに対する情報により生成された検索軸が示す値との類似度である、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸との類似度を計算する。
例えば、検索軸比較部44は、楽曲の特徴量であるメタデータおよびユーザによる楽曲の再生の履歴またはユーザによる楽曲に対する評価により定められる検索軸と、楽曲のメタデータおよび他のユーザによる楽曲の再生の履歴または他のユーザによる楽曲に対する評価により定められる検索軸との類似度を計算する。
表示部45は、LCD(liquid crystal display)または有機EL(electro luminescence)ディスプレイなどとLCDまたは有機ELディスプレイなどの表示を制御する表示制御部とからなり、その表示制御部の制御に応じて各種の画像や文字を表示する。例えば、表示部45は、検索軸値計算部39から供給された楽曲の検索軸が示す値を基に、類似するユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とを基準とした楽曲の提示に関する表示を制御し、楽曲の提示に関し表示する。
また、例えば、表示部45は、楽曲の提示に関し表示する場合、ユーザに対する情報により生成された検索軸を示す画像と、ユーザに対する情報により生成された検索軸に類似する他のユーザに対する情報により生成された検索軸を示す画像とを重ねて表示する。
すなわち、表示部45は、検索軸学習部31において生成された検索軸を基準としたコンテンツの提示に関する表示を制御する。または、表示部45は、類似する検索軸を基準としたコンテンツの提示に関する表示を制御する。
通信部46は、ネットワーク13を介して、他の楽曲検索装置11またはサーバ12から送信されてきた他のユーザに対する情報により生成された検索軸(回帰式または判別式)を受信し、他のユーザに対する情報により生成された検索軸を他ユーザ検索軸データベース38に供給する。また、通信部46は、ネットワーク13を介して、他の楽曲検索装置11またはサーバ12から送信されてきた他のユーザのコンテンツの特徴量を受信し、他のユーザのコンテンツの特徴量を他ユーザ特徴量データベース40に供給する。
また、通信部46は、検索軸データベース33からユーザの検索軸を読み出して、ユーザの検索軸を、ネットワーク13を介して、他の楽曲検索装置11またはサーバ12に送信する。さらにまた、通信部46は、特徴量データベース32からユーザのコンテンツの特徴量を読み出して、ユーザのコンテンツの特徴量を、ネットワーク13を介して、他の楽曲検索装置11に送信する。
このように、楽曲検索装置11は、検索において使用される検索軸であって、個人化された検索軸を生成する。そして、楽曲検索装置11は、検索軸をユーザ間で共有する。
次に、検索軸の生成について説明する。
楽曲検索装置11は、ユーザの楽曲の再生の履歴またはユーザによって入力されたフィードバックを示す値であるフィードバック値から、検索において使用される検索軸を生成する。
例えば、検索軸によって、楽曲が、ユーザの好きな楽曲である若しくは嫌いな楽曲であるとされるか、または楽曲の好き嫌いの程度が求められる。また、例えば、検索軸によって、楽曲が、再生の頻度が高い楽曲である若しくは低い楽曲であるとされるか、または、楽曲の再生の頻度が求められる。
さらにまた、例えば、検索軸によって、楽曲が、ユーザが最近聞いた楽曲であるまたは聞いていない楽曲であるとされる。例えば、検索軸によって、楽曲が、ユーザが週末に聞く楽曲であるまたは平日に聞く楽曲であるとされる。また、例えば、検索軸によって、楽曲が、ユーザが昼間に聞く楽曲であるまたは夜に聞く楽曲であるとされる。
図3に示されるように、検索軸学習部31は、楽曲の特徴を表す楽曲特徴量から検索軸が示す値を推定するための回帰式または判別式を、楽曲の再生の履歴またはフィードバック値と楽曲の特徴を表す楽曲特徴量とから、統計解析または機械学習などを用いて学習させることにより、検索軸を生成する。
生成された検索軸の回帰式または判別式を、楽曲の楽曲特徴量に適用することにより、その楽曲について、検索軸が示す値が算出される。従って、再生をしていない楽曲やフィードバック値が入力されていない楽曲について、検索軸が示す値を算出することができ、この検索軸が示す値によって、楽曲を提示することができる。
すなわち、ユーザが、自分の所有している楽曲のうち、一部の楽曲だけを再生したり、または一部の楽曲についてのみ、フィードバック値を入力した場合であっても、ユーザによる楽曲の再生の履歴またはフィードバックから、ユーザの所有している楽曲の全部について検索軸が示す値を求めることができる。
このように、1度も再生されていない楽曲やフィードバック値が入力されていない楽曲についても、回帰式または判別式で、その楽曲のメタデータから検索軸が示す値を求めることができるので、その検索軸を用いて楽曲を検索することができるようになる。
図4は、楽曲に対する好き嫌いの程度を5段階に示すフィードバック値から、楽曲の好き嫌いの程度を示す検索軸を生成するときの楽曲特徴量およびフィードバック値の例を示す図である。楽曲特徴量は、例えば、メタデータである。
例えば、ユーザは、操作部36を操作することにより、楽曲に対する好き嫌い、すなわち楽曲の嗜好の程度を5段階に示すフィードバック値を入力する。フィードバック値は、ユーザの楽曲に対する評価である。なお、上述のようにフィードバック値は、再生履歴フィードバックデータベース35に格納される。
図4の例における、楽曲1に対する嗜好(好き嫌い)のフィードバック値は、とても好きなことを示す5であり、楽曲2に対する嗜好のフィードバック値は、好きでも嫌いでもないことを示す3であり、楽曲3に対する嗜好のフィードバック値は、どちらかと言えば嫌いであることを示す2である。
また、図4の例における、楽曲1に対する楽曲特徴量のうちの特徴量1、特徴量2、および特徴量3のそれぞれの値は、24、74、および68であり、楽曲2に対する特徴量1、特徴量2、および特徴量3のそれぞれの値は、17、81、および50であり、楽曲3に対する特徴量1、特徴量2、および特徴量3のそれぞれの値は、33、75、および97である。
検索軸学習部31は、例えば図4に示される楽曲のそれぞれの嗜好のフィードバック値および楽曲特徴量の値を基に、回帰式の学習を行う。
回帰式の学習には、線形回帰(重回帰分析)またはSVR(support vector regression)などの方式を用いることができる。
この学習により、例えば、F(楽曲特徴量)=特徴量1×0.5+特徴量2×0.2−特徴量3×0.9+・・・+0.3などの、楽曲の好き嫌いの程度である検索軸が示す値を算出するための回帰式が求められる。すなわち、楽曲の楽曲特徴量にこの回帰式を適用することにより、好き嫌いの程度である検索軸が示すその楽曲の値が求められる。
図5は、楽曲に対する好き嫌いを示す2値のフィードバック値から、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸を生成するときの楽曲特徴量およびフィードバック値の例を示す図である。
例えば、ユーザは、操作部36を操作することにより、楽曲に対し、楽曲の好き嫌いを示すフィードバック値を入力する。
図5の例において、嗜好のフィードバック値は、ユーザの楽曲の好きまたは嫌いの2値の値である。
図5の例における、楽曲1に対する嗜好のフィードバック値は、好きであり、楽曲2に対する嗜好のフィードバック値は、好きであり、楽曲3に対する嗜好のフィードバック値は、嫌いである。
また、図5の例における、楽曲1に対する楽曲特徴量のうちの特徴量1、特徴量2、および特徴量3のそれぞれの値は、24、74、および68であり、楽曲2に対する特徴量1、特徴量2、および特徴量3のそれぞれの値は、17、81、および50であり、楽曲3に対する特徴量1、特徴量2、および特徴量3のそれぞれの値は、33、75、および97である。
検索軸学習部31は、例えば図5に示される楽曲のそれぞれの嗜好のフィードバック値および楽曲特徴量の値を基に、判別式の学習を行う。
判別式の学習には、線形判別、決定木、SVM(support vector machine)、またはNaive Bayesなどの方式を用いることができる。
例えば、線形判別により、F(楽曲特徴量)=特徴量1×0.5+特徴量2×0.2−特徴量3×0.9+・・・+0.3により求められたF(楽曲特徴量)が、F(楽曲特徴量)≧0.0ならばその楽曲を好き、F(楽曲特徴量)<0.0ならばその楽曲を嫌いと判別するような、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の判別式が求められる。すなわち、楽曲の楽曲特徴量にこの判別式を適用することにより、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸が示すその楽曲の値が求められる。
例えば、楽曲の楽曲特徴量として楽曲のメタデータを用いて回帰式または判別式を学習すれば、学習により得られた回帰式または判別式により、楽曲のメタデータから、それぞれの楽曲について検索軸が示す値を算出することができる。
楽曲検索装置11において、ユーザは、新しい検索軸の名前と、いくつかの楽曲に対して、その検索軸に当てはまる度合いまたは当てはまるか否かのなどのフィードバック値を入力することで、自由に検索軸を生成させることができる。
なお、回帰式または判別式は、線形の式であっても、非線形の式であってもよい。
次に、検索軸を用いた楽曲の検索について説明する。
作成した検索軸を用いて楽曲を検索するには、まず、ユーザの所有する全ての楽曲について、各検索軸が示す値が計算される。
例えば、図6で示されるように、楽曲1に対する楽曲特徴量、すなわち、24である特徴量1、74である特徴量2、および68である特徴量3に、好き嫌いの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲1の値である0.3が計算される。また、楽曲1に対する特徴量1、特徴量2、および特徴量3に、良く聴くかの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲1の値である0.2が計算され、朝聞くかの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲1の値である0.1が計算される。
また、図6で示されるように、楽曲2に対する楽曲特徴量、すなわち、17である特徴量1、81である特徴量2、および50である特徴量3に、好き嫌いの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲2の値である0.8が計算される。また、楽曲2に対する特徴量1、特徴量2、および特徴量3に、良く聴くかの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲2の値である0.9が計算され、朝聞くかの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲2の値である0.7が計算される。
同様に、図6で示されるように、楽曲3に対する楽曲特徴量、すなわち、33である特徴量1、75である特徴量2、および97である特徴量3に、好き嫌いの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲3の値である0.4が計算される。また、楽曲3に対する特徴量1、特徴量2、および特徴量3に、良く聴くかの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲3の値である0.3が計算され、朝聞くかの程度を示す検索軸の回帰式を適用することにより、その検索軸の楽曲3の値である0.1が計算される。
それぞれの楽曲についての、それぞれの検索軸が示す値から、検索軸が示す値で記述される検索条件を基に、所望の楽曲を検索することができる。例えば、好き嫌いの程度を示す検索軸の値が0.5以上で、良く聴くかの程度を示す検索軸の値が0.4以下で、朝聞くかの程度を示す検索軸の値が0.2以上であることを検索条件として、その検索条件にあてはまる楽曲を検索することができる。
また、例えば、図7で示されるように、楽曲1に対する楽曲特徴量、すなわち、24である特徴量1、74である特徴量2、および68である特徴量3に、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲1の値である”好き”、すなわち楽曲1がユーザに好かれていることを示す”好き”が計算される。また、楽曲1に対する特徴量1、特徴量2、および特徴量3に、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲1の値である”Yes”、すなわち楽曲1がユーザに良く聴かれることを示す”Yes”が計算される。また、楽曲1に対する特徴量1、特徴量2、および特徴量3に、朝聞く楽曲であるまたは朝聞かない楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲1の値である”No”、すなわち楽曲1がユーザに朝聞かれないことを示す”No”が計算される。
なお、楽曲検索装置11は、ユーザが自分の好きな楽曲を検索したい場合、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸において、”好き”の値をとる楽曲を検索し、検索した楽曲をユーザに提示する。
さらに、図7で示されるように、楽曲2に対する楽曲特徴量、すなわち、17である特徴量1、81である特徴量2、および50である特徴量3に、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲2の値である”好き”が計算され、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲2の値である”Yes”が計算される。また、楽曲2に対する特徴量1、特徴量2、および特徴量3に、朝聞く楽曲であるまたは朝聞かない楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲2の値である”Yes”、すなわち楽曲1がユーザに朝聞かれることを示す”Yes”が計算される。
同様に、図7で示されるように、楽曲3に対する楽曲特徴量、すなわち、33である特徴量1、75である特徴量2、および97である特徴量3に、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲1の値である”嫌い”、すなわち楽曲1がユーザに嫌われていることを示す”嫌い”が計算される。また、楽曲3に対する特徴量1、特徴量2、および特徴量3に、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲3の値である”No”、すなわち楽曲3がユーザにあまり聴かれないことを示す”No”が計算される。また、楽曲3に対する特徴量1、特徴量2、および特徴量3に、朝聞く楽曲であるまたは朝聞かない楽曲であるとする検索軸の判別式を適用することにより、その検索軸の楽曲3の値である”No”が計算される。
この場合も、それぞれの楽曲についての、それぞれの検索軸が示す値から、検索軸が示す値で記述される検索条件を基に、所望の楽曲を検索することができる。すなわち、各検索軸に当てはまる楽曲または当てはまらない楽曲を検索することが可能になる。
例えば、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸が示す値が”好き”であることを検索条件として、その検索条件にあてはまる、ユーザに好かれている(と予測される)楽曲を検索することができる。また、例えば、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸が示す値が”No”であることを検索条件として、その検索条件にあてはまる、ユーザにあまり聴かれない楽曲を検索することができる。
図8は、図2に示される構成のうち、検索軸を学習する構成を示すブロック図である。
検索軸を学習する場合、図8に示されるように、まず、学習用データ生成部34は、再生履歴フィードバックデータベース35から、ユーザによる楽曲の再生の履歴、またはユーザの楽曲に対する評価であるフィードバック値を取得する。
学習用データ生成部34は、ユーザによる楽曲の再生の履歴、またはユーザの楽曲に対する評価であるフィードバック値から、生成しようとする検索軸の学習に不要なデータを取り除いて、学習用データを生成する。
図9乃至図12を参照して、学習用データの生成を説明する。
図9は、ユーザによる楽曲の再生の履歴の例を示す図である。ユーザによる楽曲の再生の履歴(のデータ)は、ユーザが楽曲を再生させたり、再生に関する操作を行った履歴を示す。
例えば、図9に示される、ユーザによる楽曲の再生の履歴は、楽曲1が、2006年9月7日の14時4分に、再生され、楽曲2が、2006年9月7日の14時8分に、再生され、楽曲3が、2006年9月7日の14時13分に、再生され、楽曲3が、2006年9月7日の14時15分に、スキップされ、楽曲4が、2006年9月7日の14時15分に、再生され、楽曲4の再生が、2006年9月7日の14時18分に、停止されたことを示す。
図10は、ユーザの楽曲に対する評価であるフィードバック値の例を示す図である。フィードバック値は、ユーザが楽曲に対して行った明示的なフィードバックを記憶したものである。すなわち、フィードバック値は、楽曲に対する、明示的なユーザの評価を示す。
図10の例に示される、面白いかのフィードバック値、両親用かのフィードバック値、および古いかのフィードバック値のそれぞれの、面白いか、両親用か、または古いかの種類は、ユーザ自身によって設定されたものである。
図10の例における、楽曲1に対する好き嫌いのフィードバック値は、とても好きなことを示す5であり、楽曲2に対する好き嫌いのフィードバック値は、好きでも嫌いでもないことを示す3であり、楽曲4に対する好き嫌いのフィードバック値は、とても嫌いであることを示す1であり、楽曲5に対する好き嫌いのフィードバック値は、とても好きなことを示す5であり、楽曲6に対する好き嫌いのフィードバック値は、どちらかと言えば好きであることを示す4である。
なお、図10の例において、楽曲3に対する好き嫌いのフィードバック値は、入力されていない。
図10の例における、楽曲1に対する面白いかのフィードバック値は、まあまあ面白いことを示す3であり、楽曲2に対する面白いかのフィードバック値は、全くつまらないことを示す1であり、楽曲3に対する面白いかのフィードバック値は、とても面白いことを示す5であり、楽曲6に対する面白いかのフィードバック値は、面白いことを示す4である。
なお、図10の例において、楽曲4および楽曲5に対する面白いかのフィードバック値は、入力されていない。
図10の例における、楽曲1に対する両親用かのフィードバック値は、全く両親用ではないことを示す1であり、楽曲2に対する両親用かのフィードバック値は、あまり両親用ではないことを示す2であり、楽曲4に対する両親用かのフィードバック値は、両親用であることを示す5であり、楽曲5に対する両親用かのフィードバック値は、全く両親用ではないことを示す1である。
なお、図10の例において、楽曲3および楽曲6に対する両親用かのフィードバック値は、入力されていない。
図10の例における、楽曲2に対する古いかのフィードバック値は、まあまあ古いことを示す3であり、楽曲3に対する古いかのフィードバック値は、全く古くないことを示す1であり、楽曲4に対する古いかのフィードバック値は、1であり、楽曲6に対する古いかのフィードバック値は、少し古いことを示す2である。
なお、図10の例において、楽曲1および楽曲5に対する古いかのフィードバック値は、入力されていない。
例えば、学習用データ生成部34は、図9のユーザによる楽曲の再生の履歴、または図10のフィードバック値から、学習用データを生成する。
図11は、学習用データ生成部34のよって生成される学習用データの例を示す図である。
学習用データは、検索軸の回帰式または判別式を学習させるためのデータである。例えば、学習用データは、楽曲を識別するための楽曲IDと正解データとからなるリストのデータである。
図11に示される例は、楽曲1を識別するための楽曲IDと5である正解データとが対応付けられ、楽曲3を識別するための楽曲IDと4である正解データとが対応付けられ、楽曲6を識別するための楽曲IDと2である正解データとが対応付けられ、楽曲12を識別するための楽曲IDと3である正解データとが対応付けられ、楽曲16を識別するための楽曲IDと1である正解データとが対応付けられたリストの学習用データである。
例えば、図11に示される学習用データの例において、それぞれの正解データは、対応付けられている楽曲IDで特定される楽曲に対するユーザの好き嫌い、面白いか、両親用か、または古いかなどのいずれかを示す。
より具体的には、例えば、ユーザの好き嫌いを示す5である正解データは、対応付けられている楽曲IDで特定される楽曲をユーザがとても好きであることを示し、ユーザの好き嫌いを示す4である正解データは、対応付けられている楽曲IDで特定される楽曲をユーザがどちらかと言えば好きであることを示す。また、ユーザの好き嫌いを示す3である正解データは、対応付けられている楽曲IDで特定される楽曲をユーザが好きでも嫌いでもないことを示し、ユーザの好き嫌いを示す2である正解データは、対応付けられている楽曲IDで特定される楽曲をユーザがどちらかと言えば嫌いであることを示し、ユーザの好き嫌いを示す1である正解データは、対応付けられている楽曲IDで特定される楽曲をユーザがとても嫌いであることを示す。
例えば、学習用データ生成部34は、図10に示されるフィードバック値から、1つの種類のフィードバック値と、それに対応する楽曲IDとを抽出する。そして、学習用データ生成部34は、抽出した結果からフィードバック値が空である楽曲IDを削除する。さらに、学習用データ生成部34は、楽曲IDに対応するフィードバック値を正解データとすることにより、学習用データを生成する。
図12は、ユーザによる楽曲の再生の履歴からの学習用データの生成を説明する図である。
学習用データ生成部34は、ユーザによる楽曲の再生の履歴から、楽曲を識別するための楽曲IDと楽曲IDで識別される楽曲が最近再生されたか否かを示す正解データとからなるリストである学習用データを生成する。
例えば、2006年9月7日15時0分現在における履歴であって、楽曲1が、2006年9月7日の14時4分に、再生され、楽曲2が、2006年9月7日の14時8分に、再生され、楽曲3が、2006年9月7日の14時13分に、再生され、楽曲3が、2006年9月7日の14時15分に、スキップされ、楽曲4が、2006年9月7日の14時15分に、再生され、楽曲4の再生が、2006年9月7日の14時18分に、停止されたことを示す、ユーザによる楽曲の再生の履歴から、学習用データ生成部34は、楽曲1を識別するための楽曲IDと、楽曲1が最近再生されたことを示す正解データ(True)とが対応付けられ、楽曲2を識別するための楽曲IDと、楽曲2が最近再生されたことを示す正解データ(True)とが対応付けられ、楽曲3を識別するための楽曲IDと、楽曲3が最近再生されたことを示す正解データ(True)とが対応付けられ、楽曲4を識別するための楽曲IDと、楽曲4が最近再生されたことを示す正解データ(True)とが対応付けられ、楽曲5を識別するための楽曲IDと、楽曲5が最近再生されていないことを示す正解データ(False)とが対応付けられ、楽曲6を識別するための楽曲IDと、楽曲6が最近再生されていないことを示す正解データ(False)とが対応付けられているリストである学習用データを生成する。
図12に示される学習用データは、例えば、最近再生した楽曲であるまたは最近再生していない楽曲であるとする検索軸を生成する場合に、生成される。
図8に戻り、学習用データ生成部34は、このような学習用データを生成して、生成した学習用データを検索軸学習部31に供給する。
検索軸学習部31は、それぞれの楽曲の楽曲特徴量を特徴量データベース32から取得して、学習用データと楽曲特徴量とから、検索軸の回帰式または判別式を学習する。
例えば、図13に示されるように、検索軸学習部31は、少なくとも、楽曲1を識別するための楽曲IDと、楽曲1がユーザに好かれていることを示す正解データ(True)とが対応付けられ、楽曲2を識別するための楽曲IDと、楽曲2がユーザに好かれていることを示す正解データ(True)とが対応付けられ、楽曲3を識別するための楽曲IDと、楽曲3がユーザに好かれていることを示す正解データ(True)とが対応付けられ、楽曲4を識別するための楽曲IDと、楽曲4がユーザに好かれていることを示す正解データ(True)とが対応付けられ、楽曲5を識別するための楽曲IDと、楽曲5がユーザに好かれていないことを示す正解データ(False)とが対応付けられ、楽曲6を識別するための楽曲IDと、楽曲6がユーザに好かれていないことを示す正解データ(False)とが対応付けられているリストである学習用データ、並びに楽曲1についての15である特徴量1および94である特徴量2、楽曲2についての36である特徴量1および29である特徴量2、楽曲3についての75である特徴量1および85である特徴量2、楽曲4についての96である特徴量1および71である特徴量2、楽曲5についての24である特徴量1および53である特徴量2、楽曲6についての46である特徴量1および0である特徴量2を含む楽曲特徴量から、式(1)、式(2)、および式(3)に示される、楽曲をユーザの好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の判別式を学習する。
F(楽曲特徴量)=
特徴量1×0.5+特徴量2×0.2−特徴量3×0.9+・・・+0.3
・・・(1)
F(楽曲特徴量)≧0.0 → Yes ・・・(2)
F(楽曲特徴量)<0.0 → No ・・・(3)
なお、式(2)は、式(1)により求められたF(楽曲特徴量)が、F(楽曲特徴量)≧0.0の条件を満たすならば、ユーザがその楽曲を好きであると判別することを示す。また、式(3)は、式(1)により求められたF(楽曲特徴量)が、F(楽曲特徴量)<0.0の条件を満たすならば、ユーザがその楽曲を嫌いであると判別することを示す。
このように、例えば、検索軸学習部31は、楽曲特徴量およびユーザによる楽曲の再生の履歴またはユーザの楽曲に対する評価から、検索軸が示す値を楽曲特徴量から算出するための回帰式を学習によって求めることにより、検索軸を生成する。または、例えば、検索軸学習部31は、楽曲特徴量およびユーザによる楽曲の再生の履歴またはユーザの楽曲に対する評価から、検索軸が示す値を楽曲特徴量から算出するための判別式を学習によって求めることにより、検索軸を生成する。
検索軸学習部31は、作成した検索軸を検索軸データベース33に供給する。検索軸データベース33は、検索軸学習部31から供給された検索軸を格納する。すなわち、検索軸学習部31は、作成した回帰式または判別式を検索軸データベース33に供給し、検索軸データベース33は、回帰式または判別式を格納する。
図14は、検索軸の学習の処理を説明するフローチャートである。ステップS11において、検索軸学習部31は、学習する検索軸を決定する。例えば、検索軸学習部31は、操作部36へのユーザの操作に応じて操作部36から供給される信号で示される検索軸を、学習する検索軸に決定する。
ステップS12において、学習用データ生成部34は、ユーザによる楽曲の再生の履歴またはユーザの楽曲に対する評価であるフィードバック値から学習用データを作成する。例えば、学習用データ生成部34は、再生履歴フィードバックデータベース35から、ユーザによる楽曲の再生の履歴およびフィードバック値を取得する。そして、学習用データ生成部34は、ユーザによる楽曲の再生の履歴またはフィードバック値から、楽曲を識別するための楽曲IDと対応する正解データとからなる学習用データを作成する。
ステップS13において、検索軸学習部31は、学習に用いる楽曲の楽曲特徴量を特徴量データベース32から取得する。
ステップS14において、検索軸学習部31は、学習用データおよび楽曲特徴量から、ステップS11で決定した検索軸の回帰式または判別式を学習する。例えば、検索軸学習部31は、線形判別、決定木、SVM、またはNaive Bayesなどの方式により、判別式を学習する。また、例えば、検索軸学習部31は、線形回帰(重回帰分析)またはSVRなどの方式により、回帰式を学習する。
ステップS15において、検索軸学習部31は、学習した検索軸の回帰式または判別式を検索軸データベース33に保存する。
ステップS16において、検索軸学習部31は、全ての検索軸を学習したか否かを判定し、全ての検索軸を学習していないと判定された場合、ステップS11に戻り、上述した処理を繰り返す。
ステップS16において、全ての検索軸を学習したと判定された場合、検索軸の学習の処理は終了する。
このように、楽曲検索装置11は、コンテンツを提示する基準となる軸を学習することができる。
すなわち、楽曲検索装置11は、コンテンツを提示する基準となる検索軸であって、ユーザに対する情報により生成された検索軸をユーザに対する情報により学習することができる。また、楽曲検索装置11は、コンテンツを提示する基準となる検索軸であって、コンテンツの特徴量およびユーザによるコンテンツの再生の履歴またはユーザのコンテンツに対する評価により定められる検索軸を学習によって生成することができる。
次に、検索軸を用いた楽曲の検索について説明する。
図15で示されるように、回帰式による検索軸を、2次元以上の空間のそれぞれの軸として用い、この空間に楽曲をマッピングすることにより、感覚的な検索が可能なユーザインタフェースを提供することができる。この場合、楽曲を空間にマッピングするとは、楽曲毎にそれぞれの検索軸が示す値を算出して、算出された値で示される空間上の位置を楽曲について特定することを意味する。その空間を表示する場合、表示されている空間上の特定された位置に、楽曲を示す画像、例えば、丸やバツなどの印やアイコンなどが表示される。
このようにすることで、ユーザは、2つ以上の検索軸による楽曲の提示を一目で知ることができる。
例えば、図15で示されるように、回帰式による検索軸で表現される2次元以上の空間であって、表示されている空間における範囲を指定することにより、この範囲に検索軸の値の属する楽曲が検索される。より具体的には、好き嫌いの程度を示す検索軸において、好きの範囲であって、良く聞くかの程度を示す検索軸において、あまり聞かないの範囲を指定することにより、普段あまり聞かない曲であって、好きそうな曲が検索される。
さらに、楽曲検索装置11は、その楽曲検索装置11のユーザの再生の履歴やフィードバックにより生成されたユーザの検索軸だけでなく、他のユーザの検索軸を用いて楽曲を検索することができる。
例えば、楽曲検索装置11は、ユーザの好きな楽曲であって、他のユーザであるAさんの好きな楽曲を検索することができる。また、例えば、楽曲検索装置11は、他のユーザであるAさんが朝聞く楽曲を検索することができる。さらに、例えば、楽曲検索装置11は、ユーザの好きな楽曲であって、他のユーザであるBさんの週末によく聞く楽曲を検索することができる。
これにより、ユーザは、例えば、好みの共通点や相違点など、所望の他のユーザとの共通点や相違点を知ることができる。
この場合、例えば、図16で示されるように、回帰式による検索軸であって、他のユーザに対する情報により生成された検索軸を空間の軸として用い、この空間に楽曲がマッピングされる。
例えば、ユーザの好き嫌いの程度を示す検索軸と、他のユーザであるAさんの好き嫌いの程度を示す検索軸とを、2次元の空間のそれぞれの次元の軸として用い、この空間に楽曲がマッピングされる。この場合、例えば、ユーザの好き嫌いの程度を示す検索軸と、他のユーザであるAさんの好き嫌いの程度を示す検索軸との双方において、好きの範囲が指定されると、自分もAさんも好きそうな曲が検索される。
図17は、図2に示される構成のうち、検索軸を使って検索を行う構成を示すブロック図である。
検索軸を使って検索を行う場合、ユーザが操作部36を操作して、検索に用いる検索軸を指示すると、操作部36は、ユーザのその操作に応じて、検索に用いる検索軸を示す検索軸情報を検索軸取得部37に供給する。図17に示されるように、検索軸取得部37は、検索軸情報で示される検索軸を検索軸データベース33または他ユーザ検索軸データベース38から取得する。
例えば、図18で示されるように、操作部36から、「良く聴く曲」および「Aさんの好きな曲」を示す検索軸情報が供給された場合、検索軸取得部37は、「良く聴く曲」である名前の検索軸である、良く聴くかの程度を示す検索軸(図18の良く聴く曲軸)を検索軸データベース33から取得し、また、「Aさんの好きな曲」である名前の検索軸である、他のユーザであるAさんの好き嫌いの程度を示す検索軸(図18のAさんの好きな曲軸)を他ユーザ検索軸データベース38から取得する。
すなわち、この場合、検索軸取得部37は、「良く聴く曲」である名前の検索軸である、良く聴くかの程度を示す検索軸の回帰式を検索軸データベース33から取得し、また、「Aさんの好きな曲」である名前の検索軸である、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式を他ユーザ検索軸データベース38から取得する。
検索軸取得部37は、取得した検索軸を検索軸値計算部39に供給する。
検索軸値計算部39は、特徴量データベース32からユーザの楽曲の楽曲特徴量を取得し、他ユーザ特徴量データベース40から他のユーザの楽曲の楽曲特徴量を取得する。
そして、検索軸値計算部39は、検索軸取得部37から供給された検索軸について、検索軸が示す値を、楽曲特徴量から計算する。
例えば、図19に示されるように、検索軸値計算部39は、15である特徴量1および94である特徴量2を含む楽曲1の楽曲特徴量に、良く聴くかの程度を示す検索軸の回帰式と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式とをそれぞれ適用することにより、楽曲1についての、良く聴くかの程度を示す検索軸の5である値と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の3である値を計算する。
また、検索軸値計算部39は、36である特徴量1および29である特徴量2を含む楽曲2の楽曲特徴量に、良く聴くかの程度を示す検索軸の回帰式と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式とをそれぞれ適用することにより、楽曲2についての、良く聴くかの程度を示す検索軸の1である値と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の2である値を計算する。
同様に、検索軸値計算部39は、楽曲3乃至楽曲6のそれぞれの楽曲特徴量に、良く聴くかの程度を示す検索軸の回帰式と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式とをそれぞれ適用することにより、楽曲3乃至楽曲6のそれぞれについての、良く聴くかの程度を示す検索軸の値と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の値を計算する。
検索軸値計算部39は、計算して求めた楽曲毎の検索軸毎の値を該当楽曲選別部41に供給する。
該当楽曲選別部41は、楽曲毎の検索軸毎の値から、検索条件に当てはまる楽曲を選別する。
例えば、図20に示されるように、該当楽曲選別部41は、検索範囲として、良く聴くかの程度を示す検索軸の値が3以上であって、他のユーザであるAさんの好き嫌いの程度を示す検索軸の値が3以上であることを示す検索条件が、操作部36から供給された場合、楽曲1乃至楽曲6のそれぞれの、良く聴くかの程度を示す検索軸の値が、それぞれ、5、1、3、2、4、または4であり、楽曲1乃至楽曲6のそれぞれの、他のユーザであるAさんの好き嫌いの程度を示す検索軸の値が、それぞれ、3、2、5、4、2、または3であるとき、良く聴くかの程度を示す検索軸の値が3以上で、かつ他のユーザであるAさんの好き嫌いの程度を示す検索軸の値が3以上である、楽曲1、楽曲3、楽曲5、および楽曲6を選別(選択)する。
該当楽曲選別部41は、選別した楽曲を示す該当楽曲リストをコンテンツ再生部42に出力する。例えば、該当楽曲選別部41は、再生する楽曲を示すプレイリストである該当楽曲リストを出力する。
コンテンツ再生部42は、該当楽曲選別部41から供給された該当楽曲リストに示される楽曲をコンテンツデータベース43から読み出して、再生し、出力する。
図21は、検索軸を使った検索の処理を説明するフローチャートである。ステップS31において、検索軸取得部37は、検索に使用する検索軸を、検索軸データベース33または他ユーザ検索軸データベース38から取得する。すなわち、例えば、検索軸取得部37は、操作部36からの検索軸情報で示される検索軸の回帰式または判別式を、検索軸データベース33または他ユーザ検索軸データベース38から取得する。
例えば、ステップS31において、検索軸取得部37は、検索に使用する2つの検索軸のうちの1つを、検索軸データベース33から取得し、他の1つを他ユーザ検索軸データベース38から取得する。
ステップS32において、検索軸値計算部39は、特徴量データベース32からユーザの楽曲の楽曲特徴量を取得して、他ユーザ特徴量データベース40から他のユーザの楽曲の楽曲特徴量を取得して、取得した楽曲特徴量から全ての楽曲の検索軸の値を計算する。例えば、検索軸値計算部39は、取得した楽曲特徴量に、検索に使用する検索軸の回帰式または判別式を適用することにより、検索に使用する検索軸が示す値を計算する。
例えば、ステップS31において、検索軸取得部37は、検索に使用する2つの検索軸のうちの1つを、検索軸データベース33から取得し、他の1つを他ユーザ検索軸データベース38から取得し、ステップS32において、検索軸値計算部39は、特徴量データベース32からユーザの楽曲の楽曲特徴量だけを取得して、取得した楽曲特徴量から全ての楽曲の検索軸が示す値を計算してもよい。このようにすることで、ユーザは、自分の所有する楽曲について、自分の検索軸が示す値と他のユーザの検索軸が示す値とを知ることができる。
逆に、例えば、ステップS31において、検索軸取得部37は、検索に使用する2つの検索軸のうちの1つを、検索軸データベース33から取得し、他の1つを他ユーザ検索軸データベース38から取得し、ステップS32において、検索軸値計算部39は、他ユーザ特徴量データベース40から他のユーザの楽曲の楽曲特徴量だけを取得して、取得した楽曲特徴量から全ての楽曲の検索軸が示す値を計算してもよい。このようにすることで、ユーザは、他のユーザの所有する楽曲について、自分の検索軸が示す値と他のユーザの検索軸が示す値とを知ることができる。
ステップS33において、該当楽曲選別部41は、検索に使用する検索軸の値と検索条件とから、楽曲が検索条件に当てはまるか否かを判定する。
ステップS33において、楽曲が検索条件に当てはまると判定された場合、手続きはステップS34に進み、ステップS34において、該当楽曲選別部41は、検索条件に当てはまると判定された楽曲をコンテンツ再生部42に再生させて出力させる。
そして、手続きは、ステップS35に進む。例えば、ステップS34において、コンテンツ再生部42は、検索条件に当てはまると判定された楽曲をコンテンツデータベース43から読み出して、再生し、出力する。
なお、検索条件に当てはまるか否かが判定される楽曲が、他のユーザの楽曲である場合、楽曲の再生はスキップされる。この場合、例えば、他のユーザの楽曲の試聴用のデータをネットワーク13を介してサーバ12から取得して、その楽曲を再生するようにしてもよい。
ステップS33において、楽曲が検索条件に当てはまらないと判定された場合、ステップS34はスキップされて、手続きは、ステップS35に進む。
ステップS35において、該当楽曲選別部41は、全ての楽曲を判別したか否かを判定し、全ての楽曲を判別していないと判定された場合、ステップS33に戻り、次の楽曲について、上述した処理を繰り返す。
ステップS35において、全ての楽曲を判別したと判定された場合、検索軸を使った検索の処理は終了する。
また、ユーザに対する情報により生成された検索軸と、他のユーザに対する情報により生成された検索軸との類似度を計算し、類似する複数の検索軸を基準としてコンテンツの提示を表示することもできる。
検索軸の類似度は、ユーザの所有する全ての楽曲について、それぞれの検索軸が示す値を計算し、検索軸が示す値の類似度を計算することにより求められる。検索軸比較部44は、ユーザの所有する全ての楽曲について、それぞれの検索軸が示す値を計算し、検索軸が示す値の類似度を計算し、その結果を、検索軸の類似度とする。
まず、回帰式により検索軸が示す値が推定される場合について説明する。
検索軸の類似度を計算する場合、図22に示されるように、ユーザの所有する楽曲が、全部で、楽曲1乃至楽曲8であるとき、まず、楽曲1乃至楽曲8のそれぞれについて、ユーザに対する情報により生成された1つ目の検索軸である、好き嫌いの程度を示す検索軸の値が求められ、他のユーザに対する情報により生成された2つ目の検索軸である、再生の頻度を示す検索軸の値が求められる。
すなわち、図22の例に示されるように、楽曲1乃至楽曲8についての、好き嫌いの程度を示す検索軸の値は、それぞれ、0.5,0.4,0.1,0.2,0.4,0.3,0.2,0.5である。これらの値は、楽曲1乃至楽曲8の楽曲特徴量に、好き嫌いの程度を示す検索軸の値を推定するための回帰式を適用することにより算出される。
また、楽曲1乃至楽曲8についての、再生の頻度を示す検索軸の値は、それぞれ、0.2,0.5,0.4,0.1,0.2,0.5,0.2,0.4である。これらの値は、楽曲1乃至楽曲8の楽曲特徴量に、再生の頻度を示す検索軸の値を推定するための回帰式を適用することにより算出される。
そして、検索軸の値の類似度として、楽曲1乃至楽曲8のそれぞれについての、好き嫌いの程度を示す検索軸が示す値と、再生の頻度を示す検索軸の値との相関係数が計算される。
例えば、好き嫌いの程度を示す検索軸の楽曲1乃至楽曲8についての8つの値からなる嗜好ベクトルと、再生の頻度を示す検索軸の楽曲1乃至楽曲8についての8つの値からなる再生頻度ベクトルとの相関係数が計算され、その相関係数が、好き嫌いの程度を示す検索軸と再生の頻度を示す検索軸との類似度とされる。
嗜好ベクトルと再生頻度ベクトルとの相関係数が0.1である場合、好き嫌いの程度を示す検索軸と再生の頻度を示す検索軸との類似度は、0.1とされる。
次に、判別式により検索軸が示す値が推定される場合について説明する。
検索軸の類似度を計算する場合、図23に示されるように、ユーザの所有する楽曲が、全部で、楽曲1乃至楽曲8であるとき、まず、楽曲1乃至楽曲8のそれぞれについて、ユーザに対する情報により生成された1つ目の検索軸である、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸が示す値が求められ、他のユーザに対する情報により生成された2つ目の検索軸である、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸が示す値が求められる。
すなわち、図23に示される例において、楽曲1乃至楽曲8についての、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の値は、それぞれ、Yes,Yes,No,No,Yes,No,No,Yesである。これらの値は、楽曲1乃至楽曲8の楽曲特徴量に、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の値を推定するための判別式を適用することにより算出される。
また、楽曲1乃至楽曲8についての、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の値は、それぞれ、No,Yes,Yes,No,No,Yes,No,Yesである。これらの値は、楽曲1乃至楽曲8の楽曲特徴量に、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の値を推定するための判別式を適用することにより算出される。
そして、検索軸の値の類似度として、楽曲1乃至楽曲8のそれぞれについての、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の値と、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の値との一致率が計算される。例えば、一致率は、検索軸の値が一致した楽曲の数を、検索軸の値が一致するか比較される楽曲の数で割り算した結果とされる。
より具体的には、楽曲1についての、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の値は、Yesであり、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の値は、Noであり、楽曲1についての、それぞれの検索軸の値は、一致していない。また、楽曲2についての、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の値は、Yesであり、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の値は、Yesであり、楽曲2についての、それぞれの検索軸の値は、一致している。
図23に示される例において、楽曲1乃至楽曲8の8曲のうち、楽曲2、楽曲4、楽曲7、および楽曲8の4曲についての、それぞれの検索軸の値が一致しているので、4曲/8曲から、一致率は、0.50である。
例えば、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸の楽曲1乃至楽曲8についての8つの値からなる「好き」ベクトルと、良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸の楽曲1乃至楽曲8についての8つの値からなる「よく聴く」ベクトルとの一致率が計算され、その一致率が、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸と良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸との類似度とされる。
「好き」ベクトルと「よく聴く」ベクトルとの一致率が0.50である場合、好きな楽曲であるまたは嫌いな楽曲であるとする検索軸と良く聴く楽曲であるまたはあまり聴かない楽曲であるとする検索軸との類似度は、0.50とされる。
なお、回帰式によりその値が推定される検索軸と、判別式によりその値が検索される検索軸との類似度を求める場合、回帰式により推定した検索軸が示す値が、予め定めた閾値と比較されることにより、2値とされてから、一致率が計算され、その一致率が検索軸の類似度とされる。
このように、検索軸比較部44は、検索軸の類似度を求める。
検索軸比較部44は、ユーザに対する情報により生成された検索軸の全てと、比較の対象となる他のユーザに対する情報により生成された検索軸の全てとの類似度を計算する。
例えば、図24で示されるように、好き嫌いの程度を示す検索軸、再生の頻度を示す検索軸、センスがいいまたはそうでないとする検索軸、激しさを示す検索軸などの、ユーザの検索軸のそれぞれと、好き嫌いの程度を示す検索軸、再生の頻度を示す検索軸、名曲であるまたはそうでないとする検索軸、癒されるまたはそうでないとする検索軸などの、対象となる他のユーザの検索軸のそれぞれとの類似度が計算される。
例えば、図24で示されるように、検索軸比較部44は、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸との0.5である類似度を計算する。また、検索軸比較部44は、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、再生の頻度を示す検索軸との0.8である類似度を計算する。同様に、検索軸比較部44は、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、名曲であるまたはそうでないとする検索軸または癒されるまたはそうでないとする検索軸とのそれぞれ0.9または0.6である類似度を計算する。
さらに、図24で示されるように、検索軸比較部44は、ユーザに対する情報により生成された検索軸である、再生の頻度を示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸、再生の頻度を示す検索軸、名曲であるまたはそうでないとする検索軸、または癒されるまたはそうでないとする検索軸とのそれぞれ0.4,0.5,0.9、または0.5である類似度を計算する。
また、図24で示されるように、検索軸比較部44は、ユーザに対する情報により生成された検索軸である、センスがいいまたはそうでないとする検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸、再生の頻度を示す検索軸、名曲であるまたはそうでないとする検索軸、または癒されるまたはそうでないとする検索軸とのそれぞれ0.7,0.6,0.4、または0.1である類似度を計算する。
さらにまた、図24で示されるように、検索軸比較部44は、ユーザに対する情報により生成された検索軸である、激しさを示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸、再生の頻度を示す検索軸、名曲であるまたはそうでないとする検索軸、または癒されるまたはそうでないとする検索軸とのそれぞれ0.5,0.9,0.3、または0.8である類似度を計算する。
検索軸比較部44において、検索軸の類似度が計算されると、表示部45が、類似度の高い検索軸をユーザに提示する。
例えば、より大きい値の類似度がよる類似していることを示す場合、計算された検索軸の類似度のうち、最も大きい類似度、予め定めた所定の閾値より大きい類似度、または大きい順に予め定めた数の類似度が選択されて、表示部45により、選択された類似度の検索軸が、類似する検索軸としてユーザに提示される。
より具体的には、図24で示される検索軸の類似度が計算されると、図25で示されるように、最も大きい0.9である類似度が選択されて、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、名曲であるまたはそうでないとする検索軸とが、類似する検索軸としてユーザに提示される。
対象となる他のユーザがAさんである場合、このとき、「あなたの好きな曲は、Aさんにとって名曲です。」などのメッセージを表示部45に表示するようにしてもよい。
また、ユーザに対する情報により生成された検索軸である、再生の頻度を示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、名曲であるまたはそうでないとする検索軸とが、類似する検索軸としてユーザに提示される。
さらにまた、ユーザに対する情報により生成された検索軸である、激しさを示す検索軸と、対象となる他のユーザに対する情報により生成された検索軸である、再生の頻度を示す検索軸とが、類似する検索軸としてユーザに提示される。
対象となる他のユーザがAさんである場合、このとき、「あなたが激しいと思う曲は、Aさんが頻繁に再生しています。」などのメッセージを表示部45に表示するようにしてもよい。
なお、このメッセージは、メッセージのひな形を予め記憶し、このひな形に、検索軸の名前から抽出した単語を挿入することにより生成される。
また、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とのうち、相反する検索軸をユーザに提示するようにしてもよい。例えば、正または負の値の相関値を検索軸の類似度とする場合、計算された検索軸の負の値の類似度のうち、絶対値の最も大きい類似度を選択して、表示部45により、選択された類似度の検索軸を、ユーザに提示するようにしてもよい。
さらに、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とのうち、関連のない検索軸をユーザに提示するようにしてもよい。例えば、相関値を検索軸の類似度とする場合、計算された検索軸の類似度のうち、絶対値の最も小さい類似度を選択して、表示部45により、選択された類似度の検索軸を、ユーザに提示するようにしてもよい。
さらにまた、ユーザに対する情報により生成された検索軸と他のユーザに対する情報により生成された検索軸とのうち、同様の検索軸同士、すなわち、異なるユーザに対する情報により生成された同様の検索軸同士、例えば、ユーザと他のユーザの、好き嫌いの程度を示す検索軸、またはユーザと他のユーザの、名曲であるまたはそうでないとする検索軸の類似度を求めて、表示部45により、異なるユーザに対する情報により生成された同様の検索軸の類似度を提示させるようにしてもよい。
類似する検索軸をユーザに提示する場合、表示部45は、2次元以上の空間であって、その各軸を検索軸とした空間において、その空間の軸とされている、楽曲の位置の表示の用いる検索軸を示す画像に、この検索軸に類似する検索軸を示す画像を、薄く重ねて表示する。
図26に示されるように、表示部45は、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸を示す画像と、他のユーザのAさんに対する情報により生成された、好き嫌いの程度を示す検索軸を示す画像とをそれぞれ、図26の実線で示されるように、2次元の空間の軸として濃く表示する。
表示部45は、それぞれの楽曲についての、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸が示す値と、他のユーザのAさんに対する情報により生成された、好き嫌いの程度を示す検索軸が示す値とから決められる2次元の空間上の位置に、それぞれの楽曲を示す丸などの記号を表示する。
さらに、表示部45は、ユーザに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸に類似する、他のユーザのAさんに対する情報により生成された検索軸である、名曲であるまたはそうでないとする検索軸を示す画像を、図26の点線で示されるように、2次元の空間上に薄く表示する。
また、表示部45は、他のユーザのAさんに対する情報により生成された検索軸である、好き嫌いの程度を示す検索軸に類似する、ユーザに対する情報により生成された検索軸である、センスがいいまたはそうでないとする検索軸を示す画像を、図26の点線で示されるように、2次元の空間上に薄く表示する。
なお、楽曲を提示する2次元以上の空間において軸とされている検索軸に対する、これに類似する検索軸の傾きは、その類似度により決められる。例えば、相関値である類似度が算出された場合、基準となる軸またはこれに直交する軸に対する、類似する検索軸の傾きは、類似度とされる。具体的には、0.8である相関値である類似度が算出された場合、基準となる軸に直交する軸に対する、類似する検索軸の傾きは、0.8とされる。また、-0.2である相関値である類似度が算出された場合、基準となる軸に対する、類似する検索軸の傾きは、-0.2とされる。また、例えば、類似度が0乃至1の値であり、より大きい類似度がより類似していることを示す場合、楽曲を提示する2次元以上の空間において軸とされている検索軸に対する、これに類似する検索軸の角度は、tan-1(1-類似度)で求められる。
このように、楽曲を提示する2次元以上の空間において軸とされている検索軸の画像とこれらの検索軸に類似する検索軸を示す画像が、重ねて薄く表示される。
また、ユーザが提示された類似度の高い検索軸を選択する操作を行うと、楽曲検索装置11は、選択された検索軸に当てはまる楽曲をユーザに提示する。
例えば、選択された検索軸が示す値が、回帰式により推定される場合、楽曲検索装置11は、検索軸が示す値が予め定めた所定の閾値より大きい楽曲を、検索軸が示す値が大きい順にユーザに提示する。
例えば、選択された検索軸が示す値が判別式により推定される場合、楽曲検索装置11は、検索軸が示す値がNoまたはYesのいずれかの予め定めた値である楽曲をユーザに提示する。
すなわち、図27に示されるように、ユーザによって操作部36が操作されて、表示部45に表示された、所定の検索軸との類似度の高い検索軸のうち、所望の検索軸、例えば、他のユーザであるAさんに対する情報により生成された、名曲であるまたはそうでないとする検索軸を選択するためのボタンがクリックされると、楽曲検索装置11は、選択された検索軸を基準として、名曲であるとされる楽曲である、楽曲4、楽曲8、楽曲14、および楽曲7などを、ユーザに提示する。この場合、例えば、楽曲検索装置11は、選択された検索軸に当てはまる楽曲からなるプレイリストをユーザに提示する。
図28は、図2に示される構成のうち、検索軸の類似度を計算する構成を示すブロック図である。
検索軸比較部44は、軸値計算部101および類似度計算部102を含む。
検索軸比較部44は、類似度を計算する検索軸を検索軸データベース33または他ユーザ検索軸データベース38から取得する。すなわち、検索軸比較部44は、類似度を計算する検索軸が示す値を推定するための回帰式または判別式を検索軸データベース33または他ユーザ検索軸データベース38から取得する。
検索軸比較部44は、特徴量データベース32から、ユーザの所有する楽曲の特徴量を取得する。そして、検索軸比較部44の軸値計算部101は、ユーザの所有するそれぞれの楽曲の特徴量に、回帰式または判別式を適用することにより、楽曲についての、それぞれの検索軸が示す値を計算する。
検索軸比較部44の類似度計算部102は、類似度を求める検索軸が示す値の類似度を計算し、その類似度を検索軸の類似度とする。
なお、検索軸比較部44は、他ユーザ特徴量データベース40から、他のユーザの所有する楽曲の特徴量を取得し、他のユーザの所有する楽曲の特徴量から、検索軸の類似度を計算するようにしてもよい。
さらに、検索軸比較部44は、ユーザの所有する楽曲の特徴量および他のユーザの所有する楽曲の特徴量から、検索軸の類似度を計算するようにしてもよい。
また、検索軸比較部44は、ユーザまたは他のユーザの全部の楽曲のうちの一部の楽曲の特徴量から、検索軸の類似度を計算するようにしてもよい。例えば、検索軸比較部44は、予め定めた数の楽曲の特徴量から、検索軸の類似度を計算するようにしてもよい。また、例えば、検索軸比較部44は、予め定めた数の、ランダムに選択された楽曲の特徴量から、検索軸の類似度を計算するようにしてもよい。
検索軸比較部44は、検索軸の類似度から類似する検索軸を求めて、類似する検索軸を出力する。
図29は、類似検索軸の提示の処理を説明するフローチャートである。ステップS71において、検索軸比較部44は、類似度を比較する2つの検索軸のそれぞれを検索軸データベース33または他ユーザ検索軸データベース38から取得する。
ステップS72において、検索軸比較部44は、ユーザの所有する全ての楽曲の特徴量からその全ての楽曲の2つの検索軸の値を計算する。すなわち、例えば、検索軸比較部44は、ユーザの所有する全ての楽曲の特徴量を特徴量データベース32から取得し、検索軸比較部44の軸値計算部101は、それぞれの楽曲の特徴量に、2つの検索軸のそれぞれの回帰式または判別式を適用して、ユーザの所有する全ての楽曲についての、それぞれの検索軸が示す値を計算する。
ステップS73において、検索軸比較部44は、2つの検索軸の類似度を計算する。すなわち、検索軸比較部44の類似度計算部102は、検索軸の類似度として、ステップS72で計算した検索軸が示す値の類似度を計算する。
ステップS74において、検索軸比較部44は、全ての検索軸の組み合わせで類似度を計算したか否かを判定し、全ての検索軸の組み合わせで類似度を計算していないと判定された場合、手続きはステップS71に戻り、上述した処理を繰り返す。
ステップS74において、全ての検索軸の組み合わせで類似度を計算したと判定された場合、手続きはステップS75に進み、ステップS75において、表示部45は、類似度の高い検索軸の組み合わせの上位数個をユーザに提示して、類似検索軸の提示の処理は終了する。より詳細には、ステップS75において、検索軸比較部44は、算出された類似度の大きい順に、予め定めた数の類似度を選択し、選択された類似度の検索軸を、類似する検索軸として表示部45に出力する。表示部45は、検索軸比較部44から供給された類似する検索軸を表示する。
この場合、表示部45は、類似する検索軸の名前を表示するようにしても、図26を参照して説明したように、2次元以上の空間であって、その各軸を検索軸とした空間において、その空間の軸とされている、楽曲の位置の表示の用いる検索軸を示す画像に、それらの検索軸に類似する検索軸を示す画像を、薄く重ねて表示するようにしてもよい。
次に、楽曲を提示する検索軸をその軸とする2次元以上の空間に、ユーザの楽曲の位置と他のユーザの楽曲の位置とを重ねて表示する場合について説明する。
例えば、図30に示されるように、ユーザに対する情報により生成された好き嫌いの程度を示す検索軸と、他のユーザであるAさんに対する情報により生成された好き嫌いの程度を示す検索軸とをその軸とする2次元の空間に、ユーザの楽曲の位置とAさんの楽曲の位置とが重ねて表示される。図30において、丸印は、検索軸とをその軸とする2次元の空間における、ユーザの楽曲の位置を示し、バツ印は、その空間における、Aさんの楽曲の位置を示す。
図31は、図2に示される構成のうち、2次元以上の空間に、ユーザの楽曲の位置と他のユーザの楽曲の位置とを重ねて表示する構成を示すブロック図である。
検索に用いる検索軸を示す検索軸情報が、ユーザのその操作に応じて、操作部36から検索軸取得部37に供給されると、検索軸取得部37は、検索軸情報で示される検索軸を、検索軸データベース33または他ユーザ検索軸データベース38から取得する。すなわち、検索軸取得部37は、検索軸情報で示される検索軸が示す値を推定するための回帰式または判別式を検索軸データベース33または他ユーザ検索軸データベース38から取得する。
例えば、図32に示されるように、操作部36から、「良く聴く曲」および「Aさんの好きな曲」を示す検索軸情報が供給された場合、検索軸取得部37は、「良く聴く曲」である名前の検索軸である、良く聴くかの程度を示す検索軸を検索軸データベース33から取得し、また、「Aさんの好きな曲」である名前の検索軸である、他のユーザであるAさんの好き嫌いの程度を示す検索軸を他ユーザ検索軸データベース38から取得する。
すなわち、この場合、検索軸取得部37は、「良く聴く曲」である名前の検索軸である、良く聴くかの程度を示す検索軸の回帰式を検索軸データベース33から取得し、また、「Aさんの好きな曲」である名前の検索軸である、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式を他ユーザ検索軸データベース38から取得する。
検索軸取得部37は、取得した検索軸、すなわち、その回帰式または判別式を検索軸値計算部39に供給する。
検索軸値計算部39は、特徴量データベース32から、ユーザの所有する楽曲の特徴量を取得し、他ユーザ特徴量データベース40から、他のユーザの所有する楽曲の特徴量を取得する。そして、検索軸値計算部39は、ユーザの所有するそれぞれの楽曲の特徴量または他のユーザの所有する楽曲の特徴量に、検索軸取得部37から供給された検索軸の回帰式または判別式を適用することにより、楽曲についての、それぞれの検索軸が示す値を計算する。
例えば、検索軸値計算部39は、特徴量データベース32から、ユーザの所有する全ての楽曲の特徴量を取得し、他ユーザ特徴量データベース40から、対象となる他のユーザの所有する全ての楽曲の特徴量を取得し、その楽曲の特徴量から、それぞれの楽曲についての、それぞれの検索軸が示す値を計算する。
具体的には、例えば、図33に示されるように、検索軸値計算部39は、15である特徴量1および94である特徴量2を含む楽曲1の楽曲特徴量に、良く聴くかの程度を示す検索軸の回帰式と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式とをそれぞれ適用することにより、楽曲1についての、良く聴くかの程度を示す検索軸の5である値と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の3である値を計算する。
また、検索軸値計算部39は、36である特徴量1および29である特徴量2を含む楽曲2の楽曲特徴量に、良く聴くかの程度を示す検索軸の回帰式と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式とをそれぞれ適用することにより、楽曲2についての、良く聴くかの程度を示す検索軸の1である値と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の2である値を計算する。
同様に、検索軸値計算部39は、楽曲3乃至楽曲6のそれぞれの楽曲特徴量に、良く聴くかの程度を示す検索軸の回帰式と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の回帰式とをそれぞれ適用することにより、楽曲3乃至楽曲6のそれぞれについての、良く聴くかの程度を示す検索軸の値と、他のユーザであるAさんの好き嫌いの程度を示す検索軸の値を計算する。
検索軸値計算部39は、楽曲についての、それぞれの検索軸の値を表示部45に供給する。
表示部45は、楽曲についての、それぞれの検索軸が示す値から、その検索軸を軸とする2次元以上の空間に、ユーザの所有する楽曲の位置と他のユーザの所有する楽曲の位置とを重ねて表示する。
例えば、表示部45は、図30に示されるように、ユーザに対する情報により生成された好き嫌いの程度を示す検索軸と、他のユーザであるAさんに対する情報により生成された好き嫌いの程度を示す検索軸とをその軸とする2次元の空間に、ユーザの楽曲の位置とAさんの楽曲の位置とを重ねて表示する。
図34は、他のユーザのコンテンツを重ねて表示する処理を説明するフローチャートである。ステップS91において、検索軸取得部37は、表示に使用する2つ以上の検索軸を、検索軸データベース33または他ユーザ検索軸データベース38から取得する。すなわち、検索軸比較部44は、表示に使用する2つ以上の検索軸の値を推定するための回帰式または判別式を検索軸データベース33または他ユーザ検索軸データベース38から取得する。
ステップS92において、検索軸値計算部39は、ユーザの楽曲の特徴量および他のユーザの楽曲の特徴量から、ユーザと他のユーザとの全ての楽曲の、それぞれの検索軸の値を計算する。すなわち、検索軸値計算部39は、特徴量データベース32から、ユーザの所有する全ての楽曲の特徴量を取得し、他ユーザ特徴量データベース40から、対象となる他のユーザの所有する全ての楽曲の特徴量を取得する。そして、検索軸値計算部39は、ユーザの所有するそれぞれの楽曲の特徴量または他のユーザの所有する楽曲の特徴量に、それぞれの検索軸の回帰式または判別式を適用することにより、楽曲についての、それぞれの検索軸の値を計算する。
ステップS93において、表示部45は、検索軸を次元とする空間上に、ユーザと他のユーザの全ての楽曲を配置して表示し、他のユーザのコンテンツを重ねて表示する処理は終了する。例えば、ステップS93において、表示部45は、図30に示されるように、その検索軸をその次元の軸とする2次元以上の空間に、それぞれの楽曲についてのそれぞれの検索軸の値によって定まる位置であって、それぞれの楽曲の位置を表示する。
図35は、コンテンツの選別の処理を説明するフローチャートである。ステップS121乃至ステップS124は、それぞれ、図29のステップS71乃至ステップS74と同様なのでその説明は省略する。
ステップS124において、全ての検索軸の組み合わせで類似度を計算したと判定された場合、手続きはステップS125に進み、ステップS125において、検索軸比較部44は、類似度を参照して、類似する検索軸を選択する。検索軸比較部44は、選択した検索軸を表示部45に出力する。
ステップS126において、表示部45は、選択された類似する検索軸を重ねて表示する。例えば、図26を参照して説明したように、表示部45は、選択された類似する検索軸の画像のうちの一方の画像を濃く表示し、これに重ねて他方の画像を薄く表示する。
ステップS127において、検索軸値計算部39は、ステップS92と同様の処理で、ユーザの楽曲と他のユーザの楽曲とについて、それぞれの特徴量から検索軸の値を計算する。例えば、検索軸値計算部39は、ユーザの楽曲と他のユーザの楽曲とについて、それぞれの特徴量から、表示部45に濃く表示されている検索軸の値を計算する。
ステップS128において、表示部45は、ユーザの楽曲と他のユーザの楽曲とについて、検索軸の値に応じた検索軸の位置を表示する。より具体的には、表示部45は、ユーザの楽曲と他のユーザの楽曲とについて、検索軸の値に応じた検索軸の位置を示す画像を表示する。
ステップS129において、該当楽曲選別部41は、ユーザから指定された検索軸の範囲に属する位置の楽曲を選別して、コンテンツの選別の処理は終了する。例えば、ステップS129において、該当楽曲選別部41は、検索軸を基準とした所定の範囲であって、ユーザの操作に応じて操作部36から供給される情報で指定される範囲に、その検索軸の位置が属するコンテンツを選別する。
以上のように、検索における個人化された検索軸が、ユーザ間で使用され、ユーザ間で共有される。
楽曲検索装置11は、自動的にまたはユーザの入力に応じて、ユーザに個人化された検索軸を生成する。生成された検索軸は、ユーザ間で共有される。
楽曲検索装置11において、ユーザは、予め用意された一般的な検索軸(例えば、メタデータそのものからコンテンツを検索するための検索軸)、自分の楽曲検索装置11において生成された自分の検索軸、および他のユーザの所有する楽曲検索装置11において生成された他のユーザの検索軸を用いて、楽曲を検索することができる。
楽曲検索装置11は、生成したそれぞれの検索軸と、他のユーザのそれぞれの検索軸との類似の度合いを比較する。楽曲検索装置11は、他のユーザの検索軸と類似の度合いの高いユーザの検索軸をユーザに提示する。または、楽曲検索装置11は、ユーザの検索軸と類似の度合いの高い他のユーザの検索軸をユーザに提示する。
ユーザが提示された検索軸を選択すると、楽曲検索装置11は、選択された検索軸を用いて、楽曲を検索する。
楽曲検索装置11は、楽曲の検索において、任意の2つ以上の検索軸を、座標とした2次元以上のマップ上に、検索対象である楽曲を示す画像を配置し、このマップ上の範囲が指定されることにより、楽曲を検索する。楽曲検索装置11は、このマップ上に、他のユーザの所有する楽曲を示す画像を重ねて表示することができる。
楽曲検索装置11は、ユーザの検索軸のそれぞれと、他のユーザの検索軸のそれぞれとを比較して、類似度を求めて、似ている検索軸の組み合わせをユーザに提示するので、ユーザは、自分の検索軸が、他のユーザにとってどのような検索軸であるかを知ることができる。
楽曲検索装置11は、所定の検索軸を用いて作成したマップ上に、自分のコンテンツを示す画像と他のユーザのコンテンツを示す画像とを重ねて表示するので、ユーザは、他のユーザのコンテンツの分布を知ることができる。
以上のように、ユーザは、個人化された検索軸で楽曲を検索することができる。例えば、ユーザは、好きな曲、よく聴く曲、おしゃれな曲(そのユーザがおしゃれだと思う曲)、食事中に聴きたい曲(そのユーザが食事中に聞きたいと思う曲)などを検索することができる。
このように、検索軸を生成するようにした場合には、コンテンツを提示することができる。また、コンテンツを提示する基準となる検索軸であって、コンテンツの特徴量およびユーザによるコンテンツの再生の履歴またはユーザのコンテンツに対する評価により定められる検索軸を学習によって生成し、生成された検索軸を基準としたコンテンツの提示に関する表示を制御するようにした場合には、より簡単に、ユーザに合わせたコンテンツの提示を表示することができる。
なお、楽曲検索装置11は、据え置き型の家庭用電子機器、例えば、ハードディスクレコーダ、ハードディスクプレーヤ、または家庭用ゲーム機などとしても、携帯型の電子機器、例えば、携帯用ゲーム機、携帯用プレーヤ、または携帯電話機とすることができる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図36は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207、ハードディスクや不揮発性のメモリなどよりなる記憶部208、ネットワークインタフェースなどよりなる通信部209、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア211を駆動するドライブ210が接続されている。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア211に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208に記憶することで、コンピュータにインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208に記憶することで、コンピュータにインストールすることができる。その他、プログラムは、ROM202や記憶部208にあらかじめ記憶しておくことで、コンピュータにあらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11−1,11−2,11 楽曲検索装置, 12 サーバ, 13 ネットワーク, 31 検索軸学習部, 32 特徴量データベース, 33 検索軸データベース, 34 学習用データ生成部, 35 再生履歴フィードバックデータベース, 36 操作部, 37 検索軸取得部, 38 他ユーザ検索軸データベース, 39 検索軸値計算部, 40 他ユーザ特徴量データベース, 41 該当楽曲選別部, 42 コンテンツ再生部, 43 コンテンツデータベース, 44 検索軸比較部, 45 表示部, 46 通信部, 101 軸値計算部, 102 類似度計算部, 201 CPU, 202 ROM, 203 RAM, 208 記憶部, 209 通信部, 211 リムーバブルメディア