JP4752623B2 - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP4752623B2
JP4752623B2 JP2006151011A JP2006151011A JP4752623B2 JP 4752623 B2 JP4752623 B2 JP 4752623B2 JP 2006151011 A JP2006151011 A JP 2006151011A JP 2006151011 A JP2006151011 A JP 2006151011A JP 4752623 B2 JP4752623 B2 JP 4752623B2
Authority
JP
Japan
Prior art keywords
cluster
music
content
specified
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006151011A
Other languages
English (en)
Other versions
JP2007026425A (ja
JP2007026425A5 (ja
Inventor
則行 山本
啓 舘野
真里 斎藤
智弘 角田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2006151011A priority Critical patent/JP4752623B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to EP06766604A priority patent/EP1804182A4/en
Priority to US11/660,313 priority patent/US7953735B2/en
Priority to KR1020077003694A priority patent/KR20080011643A/ko
Priority to CN2006800008473A priority patent/CN101044484B/zh
Priority to PCT/JP2006/311742 priority patent/WO2006134866A1/ja
Publication of JP2007026425A publication Critical patent/JP2007026425A/ja
Publication of JP2007026425A5 publication Critical patent/JP2007026425A5/ja
Application granted granted Critical
Publication of JP4752623B2 publication Critical patent/JP4752623B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、コンテンツをクラスタに分類し、コンテンツが分類されたクラスタを用いてコンテンツの特徴を管理し、コンテンツの検索や推薦に利用するようにした情報処理装置、情報処理方法、およびプログラムに関する。
従来、ユーザの嗜好に基づいてテレビジョン番組、楽曲などのコンテンツを検索し、ユーザに推薦する(いわゆる、コンテンツパーソナライゼーション)ための発明が提案されている(例えば、特許文献1参照)。
コンテンツパーソナライゼーションには、コンテントベーストフィルタリング(CBF)と称される手法が広く使われている。CBF手法では、コンテンツに対して配信側や販売側によって予め付与されているメタデータが直接的に嗜好の抽出やコンテンツの推薦に利用されていた。例えばコンテンツが楽曲である場合、各楽曲にはメタデータとしてタイトル、アーティスト名、ジャンル、レビューテキストなどが予め付与されている。予め付与されている情報の他、楽曲のテンポ、リズムなどを検出してメタデータを追加する場合もある。
ユーザの嗜好情報は、楽曲のメタデータを特徴ベクトルとみなし、楽曲に対するユーザの操作(再生、録音、スキップ、消去など)に応じて楽曲の特徴ベクトルを足し合わせることにより生成していた。例えば、再生した楽曲の特徴ベクトルは1倍、録音した楽曲の特徴ベクトルは2倍、スキップした楽曲の特徴ベクトルは−1倍、消去した楽曲の特徴ベクトルは−2倍にして足し合わされていた。
ユーザの嗜好に合致した楽曲を推薦する場合、ユーザの嗜好を示す特徴ベクトルと、候補となる各楽曲の特徴ベクトルとの距離(余弦相関など)を算出し、算出された距離の短い楽曲がユーザの嗜好に合致したものとして推薦されるようになされていた。
特開2004−194107号公報
しかしながら、上述したようにユーザの嗜好情報を楽曲の嗜好ベクトルの足し合わせによって生成した場合、嗜好の特徴が埋もれてしまう、いわゆる、嗜好の足し合わせによるなまりの問題が生じ、ユーザの嗜好に合致しないものが推薦されてしまうことがあった。
例えば、ユーザがアップテンポでリズミカルなロックの楽曲を好み、かつ、スローテンポでスロービートのジャズの楽曲も好むような場合、この2つの好みを足し合わせると、アップテンポとスローテンポ、リズミカルとスロービート、ロックとジャズがいずれも好きとなり、ユーザの嗜好に合致しないアップテンポなジャズの楽曲が推薦される可能性があった。
また、楽曲のメタデータのうち、数値によって表現されるものは名義尺度化して特徴ベクトルの要素とされることが一般的であるが、この場合、名義尺度化する際の閾値を挟む二つの値がそれぞれ異なる値に変換されてしまい、変換前の二つの値が数値的に近いという関係が消失してしまうという問題もある。
さらに、ユーザの嗜好を示す特徴ベクトルと候補となる各楽曲の特徴ベクトルとの距離を計算するに際し、その計算量の削減が望まれている。
本発明はこのような状況に鑑みてなされたものであり、ユーザの嗜好情報に合致したコンテンツあるいは指定されるコンテンツに類似したコンテンツを、より少ない演算量で検索してユーザに提示できるようにするものである。
本発明の一側面の情報処理装置は、コンテンツ群のなかから所定の条件を満たすコンテンツを選択する情報処理装置であって、前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数の第1のクラスタのいずれかに分類するコンテンツ分類手段と、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記第1のクラスタとの対応関係を示すデータベースを保持する保持手段と、前記階層毎に前記所定の条件に対応する前記第1のクラスタを指定し、指定した前記第1のクラスタに対応するコンテンツを特定する特定手段と、前記特定手段によって特定された前記コンテンツを提示する提示手段とを含むことを特徴とする。
前記コンテンツ分類手段によって前記コンテンツが分類される各第1のクラスタに、ユーザの嗜好の程度を示す嗜好値を対応付けて記憶する記憶手段をさらに設け、前記特定手段には、前記記憶手段によって記憶されている嗜好値に基づいて前記第1のクラスタを指定し、指定した前記第1のクラスタに対応するコンテンツを特定させることができる。
前記特定手段には、指定した前記第1のクラスタに対応するコンテンツの中から、前記嗜好値に応じた階層毎の重みにより重み付けした、ユーザのコンテンツの嗜好の度合いを示す評価値で、さらにコンテンツを特定させることができる。
前記コンテンツ分類手段によって前記コンテンツが分類される各第1のクラスタに対してキーワードを設定する設定手段と、前記設定手段によって設定されたキーワードを用い、コンテンツの提示理由を表す理由文を生成する生成手段とをさらに設け、前記提示手段には、前記理由文も提示させることができる。
前記コンテンツは楽曲であり、前記メタデータには、楽曲のテンポ、ビート、またはリズムのうちの少なくとも1つが含まれるようにすることができる。
前記メタデータには、対応するコンテンツに対するレビューテキストが含まれるようにすることができる。
コンテンツのメタデータを複数の第2のクラスタのいずれかに分類し、第2のクラスタに前記階層を割り当てるメタデータ分類手段をさらに設け、前記コンテンツ分類手段には、各コンテンツを、割り当てられた前記階層のそれぞれにおいて複数の第1のクラスタのいずれかに分類させることができる。
前記特定手段には、類似元となるコンテンツが分類される前記第1のクラスタに対応するコンテンツの中から、類似元となるコンテンツとの類似の度合いを示す類似度で、さらにコンテンツを特定させることができる。
前記特定手段には、類似元となるコンテンツの前記第1のクラスタへの帰属の重みに応じた階層毎の重みにより重み付けした前記類似度でコンテンツを特定させることができる。
本発明の一側面の情報処理方法は、コンテンツ群のなかから所定の条件を満たすコンテンツを選択する情報処理装置の情報処理方法であって、前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数のクラスタのいずれかに分類する分類ステップと、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラスタとの対応関係を示すデータベースを保持する保持ステップと、前記階層毎に前記所定の条件に対応する前記クラスタを指定し、指定した前記クラスタに対応するコンテンツを特定する特定ステップと、特定された前記コンテンツを提示する提示ステップとを含むことを特徴とする。
本発明の一側面のプログラムは、コンテンツ群のなかから所定の条件を満たすコンテンツを選択するためのプログラムであって、前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数のクラスタのいずれかに分類する分類ステップと、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラスタとの対応関係を示すデータベースを保持する保持ステップと、前記階層毎に前記所定の条件に対応する前記クラスタを指定し、指定した前記クラスタに対応するコンテンツを特定する特定ステップと、特定された前記コンテンツを提示する提示ステップとを含む処理をコンピュータに実行させることを特徴とする。
本発明の一側面においては、コンテンツ群を構成する各コンテンツが、コンテンツのメタデータに応じた階層のそれぞれにおいて複数のクラスタのいずれかに分類され、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラスタとの対応関係を示すデータベースが保持され、前記階層毎に前記所定の条件に対応する前記クラスタが指定され、指定された前記クラスタに対応するコンテンツが特定され、特定された前記コンテンツが提示される。
本発明によれば、ユーザの嗜好情報に合致したコンテンツあるいは指定されるコンテンツに類似したコンテンツを、より少ない演算量で検索してユーザに提示することが可能となる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
本発明の一側面の情報処理装置(例えば、図1の推薦システム1)は、コンテンツ群のなかから所定の条件を満たすコンテンツを選択する情報処理装置であって、前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数の第1のクラスタのいずれかに分類するコンテンツ分類手段(例えば、図1のクラスタリング部12)と、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記第1のクラスタとの対応関係を示すデータベースを保持する保持手段(例えば、図1のクラスタ情報データベース14)と、前記階層毎に前記所定の条件に対応する前記第1のクラスタを指定し、指定した前記第1のクラスタに対応するコンテンツを特定する特定手段(例えば、図1の楽曲抽出部23)と、前記特定手段によって特定された前記コンテンツを提示する提示手段(例えば、図1の楽曲提示部29)とを含むことを特徴とする。
前記コンテンツ分類手段によって前記コンテンツが分類される各第1のクラスタに、ユーザの嗜好の程度を示す嗜好値を対応付けて記憶する記憶手段(例えば、図1の嗜好情報データベース24)をさらに設け、前記特定手段には、前記記憶手段によって記憶されている嗜好値に基づいて前記第1のクラスタを指定し、指定した前記第1のクラスタに対応するコンテンツを特定させることができる。
前記コンテンツ分類手段によって前記コンテンツが分類される各第1のクラスタに対してキーワードを設定する設定手段(例えば、図1のキーワード設定部13)と、前記設定手段によって設定されたキーワードを用い、コンテンツの提示理由を表す理由文を生成する生成手段(例えば、図1の選択理由生成部28)とをさらに設け、前記提示手段には、前記理由文も提示させることができる。
コンテンツのメタデータを複数の第2のクラスタのいずれかに分類し、第2のクラスタに前記階層を割り当てるメタデータ分類手段(例えば、図17のメタデータクラスタリング部201)をさらに設け、前記コンテンツ分類手段(例えば、図17の楽曲クラスタリング部202)には、各コンテンツを、割り当てられた前記階層のそれぞれにおいて複数の第1のクラスタのいずれかに分類させることができる。
本発明の一側面の情報処理方法またはプログラムは、前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数のクラスタのいずれかに分類する分類ステップ(例えば、図1のクラスタリング部12による前処理)と、各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラスタとの対応関係を示すデータベースを保持する保持ステップ(例えば、図1のクラスタリング部12による前処理)と、前記階層毎に前記所定の条件に対応する前記クラスタを指定し、指定した前記クラスタに対応するコンテンツを特定する特定ステップ(例えば、図11のステップS1乃至12)と、特定された前記コンテンツを提示する提示ステップ(例えば、図11のステップS14)とを含む。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図1は本発明の一実施の形態である推薦システムの構成例を示している。この推薦システム1は、ユーザの嗜好に合致した楽曲、あるいはユーザが指定した楽曲に類似した楽曲を検索し、ユーザに提示するものである。なお、推薦システム1は、楽曲以外のコンテンツ、例えばテレビジョン番組、映画、書籍などを推薦する場合にも適用することが可能である。
推薦システム1は、検索の対象となる数多くの楽曲のメタデータが記録されている楽曲データベース(DB)11、楽曲データベース11に記録されている各楽曲を、楽曲のメタデータに基づいてクラスタリングして各楽曲のクラスタ情報を生成するクラスタリング部12、各クラスタ層および各クラスタの特徴をそれぞれ示すキーワードを設定するキーワード設定部13、および、各楽曲のクラスタ情報を保持するクラスタ情報データベース(DB)14から構成される。
さらに、推薦システム1は、検索しようとする楽曲の類似元となる楽曲(以下、元楽曲と称する)を指定する検索楽曲指定部21、元楽曲のメタデータを従来からあるクラスタ識別手法(クラシフィケーション手法)を用いて最適なクラスタにマッピングするクラスタマッピング部22、ユーザに提示する楽曲を1以上抽出する楽曲抽出部23、ユーザの嗜好を示す嗜好情報が記録されている嗜好情報データベース(DB)24、ユーザの嗜好を入力する嗜好入力部25、抽出された楽曲の中からランダムに1つの楽曲を選択するランダム選択部26、抽出された楽曲と元楽曲またはユーザの嗜好との類似度を算出して最も類似度の高い楽曲を選択する類似度算出部27、ランダム選択部26または類似度算出部27における選択の理由を示す選択理由文を生成する選択理由生成部28、および、選択した楽曲と選択理由文をユーザに提示する楽曲提示部29から構成される。
楽曲データベース(DB)11は、音楽CDに収録されている楽曲のメタデータを供給するインタネット上のデータサーバであるCDDB(CD Data Base)やMusic Naviなどに相当する。
クラスタリング部12は、楽曲データベース11の全ての楽曲に対し、楽曲のメタデータの各項目(タイトル、アーティスト名、ジャンル、レビューテキスト、テンポ、ビート、リズムなど)を、図2に示すようなクラスタ層(第1乃至n層)のいずれかに分類し、各項目の実情報を分類したクラスタ層に設けられる複数のクラスタのいずれかに楽曲を分類(クラスタリング)する。
なお、1つの楽曲を複数のクラスタに分類してもよい。同一クラスタ層に存在するクラスタ間の距離(類似の程度を示す)は既知であるものとする。このクラスタリングの手法については後述する。そして、メタデータの代わりに楽曲の特徴を示す情報として、メタデータの各項目の実情報を分類したクラスタのクラスタID(図2におけるCL11など)から成るクラスタ情報を生成してクラスタ情報データベース14に出力する。
なお、分類に適したクラスタが存在しない場合、新たにクラスタを新設してもよい。各クラスタのサイズは任意であって複数の楽曲を包含できるものである。なお、単一の楽曲だけしか分類することができないクラスタを設けてもよい。この場合、当該クラスタのクラスタIDに唯一分類可能な楽曲の実情報のID(アーティストID、アルバムID、タイトルID)を用いてもよい。
クラスタ情報データベース14は、クラスタリング部12によって生成された各楽曲のクラスタ情報を保持している。また、クラスタ情報データベース14は、保持するクラスタ情報に基づき、各クラスタにメタデータが分類された楽曲の楽曲IDを示すクラスタ−楽曲ID情報を生成し、これを保持している。さらに、クラスタ情報データベース14は、キーワード設定部13によって設定された各クラスタ層や各クラスタに対して設定されたキーワードも保持している。
図3はクラスタ情報の一例を示している。同図においては、例えば、楽曲ID=ABC123の楽曲のクラスタ情報は、(CL12、CL21、CL35,CL47,CL52,…,CLn2)であることを示している。また例えば、楽曲ID=CTH863の楽曲のクラスタ情報は、クラスタID(CL11、CL25、CL31,CL42,CL53,…,CLn1)であることを示している。
図4は、図3に示されたクラスタ情報に対応するクラスタ−楽曲ID情報の一例を示している。同図においては、例えば、クラスタID=CL11には、楽曲ID=CTH863が対応することを示している。また例えば、クラスタID=CL21には、楽曲ID=ABC123が対応することを示している。
なお、クラスタリング部12、キーワード設定部13、およびクラスタ情報データベース14の処理は、類似楽曲検索処理や楽曲推薦処理(後述)を実行する以前に予め実行する必要がある。
図1に戻る。検索楽曲指定部21は、ユーザによって指定される元楽曲の楽曲IDとメタデータをクラスタマッピング部22に出力する。クラスタマッピング部22は、検索楽曲指定部21から入力された元楽曲のメタデータを、既存のクラスタ識別手法(クラシフィケーション手法)を用いて最適クラスタを選ぶ。クラスタ識別手法としては、k-Nearest-Neighbor法などを適用することができる。なお、元楽曲のクラスタ情報が既にクラスタ情報データベース14に存在する場合、それを読み出して楽曲抽出部23に供給するようにしてもよい。
楽曲抽出部23は、クラスタマッピング部22から供給される元楽曲のクラスタ情報に基づいてクラスタ情報データベース14を参照し、元楽曲と同じクラスタに分類されている楽曲の楽曲IDを取得してランダム選択部26または類似度算出部27に供給する。また、楽曲抽出部23は、嗜好情報データベース24の嗜好情報に基づいてクラスタ情報データベース14を参照して、ユーザの嗜好に合致する楽曲の楽曲IDを取得してランダム選択部26または類似度算出部27に供給する。
嗜好情報データベース24は、ユーザの嗜好を示す嗜好情報が記録されている。嗜好情報には、各クラスタに対するユーザの嗜好の程度を示す嗜好値が記録されている。この嗜好値は正規化された値であり、嗜好入力部25によって更新される。また、嗜好情報データベース24は、各クラスタ層における嗜好値の分散を演算し、嗜好値の分散が最も小さい(すなわち、ユーザの嗜好が特定のクラスタに集中している)クラスタ層を検出する。
図5は嗜好情報の一例を示している。同図においては、例えばクラスタCL11に対する嗜好値が0.5であることを示している。また例えば、クラスタCL32に対する嗜好値が0.1であることを示している。
嗜好入力部25は、楽曲に対するユーザの操作(再生、録音、スキップ、消去など)の履歴に基づいて各クラスタにそれぞれ対応する嗜好値を更新する。また、嗜好入力部25は、ユーザからの設定に基づき、ユーザが重視しているクラスタ層をクラスタ情報データベース14に通知する。
ランダム選択部26は、楽曲抽出部23によって抽出された楽曲の中からランダムに楽曲IDを1つ選択して選択理由生成部28に出力する。類似度算出部27は、楽曲抽出部23によって抽出された楽曲と元楽曲またはユーザの嗜好との類似度を算出し、最も類似度の高い楽曲を選択して選択理由生成部28に出力する。なお、ランダム選択部26と類似度算出部27は、双方が動作する必要はなく、いずれか一方が動作すればよい。
選択理由生成部28は、クラスタ情報データベース14からクラスタ層やクラスタに対応するキーワードを取得し、取得したキーワードなどを用いて選択の理由を示す選択理由文を生成し、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。
選択理由文は以下のように生成する。例えば、類似した楽曲や嗜好に合致した楽曲を選択するときに優先したクラスタ層に設定されたキーワードやクラスタのキーワードを用いる。具体的には、レビューテキストに対応するクラスタ層を最も優先した場合、「レビューテキストに出てくる「夏」、「海辺」がお気に入りじゃない?」などの選択理由文を生成する。あるいは、選択された楽曲のレビューテキストをそのまま選択理由文として引用したり、選択された楽曲のレビューテキストから抽出した単語を用いて選択理由文を生成する。なお、レビューテキストから選択理由文に用いる単語を抽出するにはTf/idf法を適用することができる。
楽曲提示部29は、例えばディスプレイなどからなり、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示する。
次に、クラスタリング部12によるメタデータの分類(クラスタリング)について説明する。
クラスタリング手法はいかなる手法でもかまわないが、クラスタ層毎に最適なクラスタリング手法、距離尺度を選ぶようにする。例えば、メタデータの実情報が数値であるならばそのまま、タイトルなどの場合は主成分分析等の数量化手法を用いて数値にして、ユークリッド距離などの距離尺度を定義してクラスタリングすることになる。代表的なクラスタリング手法としは、K-means法、階層クラスタリング法などを挙げることができる。
この際、嗜好距離を反映したクラスタリング(例えば、制約付きクラスタリング)によって実施することが望ましい。そのためには、事前調査により部分的な正解集(嗜好的に近い実情報の集合、遠い実情報の集合など)を作り、それに適合する数値表現、距離、クラスタリング手法を用いるものとする。またさらに、形成される各クラスタ層の独立性が高くなるクラスタリング手法(すなわち、特性の異なるクラスタリング手法)を選ぶことが望ましい。
例えば4種類のクラスタリング手法(以下、第1乃至4手法と称する)の中から特性の異なる2種類のクラスタリング手法を選択する方法について、図6乃至図10を参照して説明する。
まず、第1乃至4手法によってメタデータの実情報であるアーティストA乃至Jをクラスタリングする。そして図6に示すような結果が得られたとする。
すなわち、第1手法により、アーティストA乃至CがクラスタCL1に、アーティストD乃至GがクラスタCL2に、アーティストH乃至JがクラスタCL3にクラスタリングされ、第2手法により、アーティストA,BがクラスタCL1に、アーティストC乃至FがクラスタCL2に、アーティストG乃至JがクラスタCL3にクラスタリングされ、第3手法により、アーティストA,D,G,JがクラスタCL1に、アーティストB,E,HがクラスタCL2に、アーティストC,F,IがクラスタCL3にクラスタリングされ、第4手法により、アーティストD,I,JがクラスタCL1に、アーティストE乃至GがクラスタCL2に、アーティストA乃至CおよびHがクラスタCL3にクラスタリングされたとする。
この場合、第1乃至4手法による結果の重複率(%)は図7に示すとおりである。すなわち、第1手法と第2手法の重複率は0.8、第1手法と第3手法の重複率は0.3、第1手法と第4手法の重複率は0.4、第2手法と第3手法の重複率は0.3、第2手法と第4手法の重複率は0.3、第3手法と第4手法の重複率は0.4である。
図7に示された重複率が小さいほど2つの手法の特性が異なると考えられるので、重複率が最小値の0.3である第1手法と第3手法の組み合わせ、第2手法と第3手法の組み合わせ、または第2手法と第4手法の組み合わせを採用することが望ましい。
一方、ユーザ自身によってアーティストA乃至Jのうちの二人が同じクラスタに分類されるべきであるか否かを判定させた場合、図8に示すような結果が得られたとする。ただし、同図において、1は同じクラスタに分類されるべきであることを、0は異なるクラスタに分類されるべきであることを意味する。すなわち、同図においては、例えば、アーティストAがアーティストB,C,F,H,Iと同じクラスタに分類されるべきであると判断されたが示されており、アーティストBがアーティストC,D,E,Jと同じクラスタに分類されるべきであることが示されている。
図8に示された結果と正解として理想的なクラスタリング結果であるとするならば、上述した第1乃至4手法の正解率は図9に示すとおりである。すなわち、第1手法の正解率は62.2%、第2手法の正解率は55.6%、第3手法の正解率は40.0%、第4手法の正解率は66.7%である。
したがって、正解率を重視するならば、正解率が高い第1手法と第4手法の組み合わせを採用することが望ましい。
さらに、重複率と正解率を加味したクラスタリング手法の組み合わせを求めるため、第1乃至4手法の正解の重複率を算出すれば、図10に示すとおりとなる。図9に示された結果から正解率が極端に低い手法を特定し、特定した当該手法を含まない組み合わせのうちの正解率の重複率が最も低い組み合わせを採用すればよい。すなわち、正解率が極端に低い手法として第3手法が特定され、第3手法を含まない組み合わせのうちの正解の重複率が最も低いものとして第2手法と第4手法の組み合わせが選択される。
なお、上述した重複率や正解率については絶対的な閾値を指定して、それ閾値を満たすことができない手法を除外してもよいし、バランスがとれた手法を採用するために、2つの指標(重複率と正解率)に基づいて例えば、以下に示す2例のような総合的な指標を作成し、総合的な指標に基づいてクラスタリングの手法の組み合わせを選択するようにしてもよい。
総合的な指標=正解率×(1−重複率)
総合的な指標=α・正解率×β(1−重複率) (α,βは所定の係数)
次に、元楽曲に類似した楽曲を提示する3種類の類似楽曲検索処理と、ユーザの嗜好に合致する楽曲を提示する2種類の楽曲推薦処理について説明する。
なお、以下に説明する類似楽曲検索処理や楽曲推薦処理が行われる前処理として、クラスタリング部12、キーワード設定部13、およびクラスタ情報データベース14が動作しており、既にクラスタ情報データベース14には、クラスタリング部12によって生成された各楽曲のクラスタ情報と、クラスタ情報データベース14が生成したクラスタ−楽曲ID情報と、キーワード設定部13によって設定された各クラスタ層や各クラスタに対して設定されたキーワードが保持されているものとする。
まず、類似楽曲検索処理について説明する。
図11は、第1の類似楽曲検索処理を説明するフローチャートである。第1の類似楽曲検索処理の前処理として、クラスタ情報データベース14は、嗜好入力部25から入力されるユーザの各クラスタ層に対する優先度に応じ、優先順位が高い方のクラスタ層から順に、層番号を1,2,…,nまで振り直しているものとする。
ステップS1において、検索楽曲指定部21は、ユーザによって指定される元楽曲の楽曲IDとメタデータをクラスタマッピング部22に出力する。クラスタマッピング部22は、入力された元楽曲のメタデータを、従来のクラスタ識別手法を用いて最適クラスタにマッピングし、この結果(以下、最適クラスタ情報と称する)を楽曲抽出部23に供給する。
ステップS2において、楽曲抽出部23は、クラスタ情報データベース14を参照し、クラスタ情報データベース14にクラスタ情報が保持されている全ての楽曲の楽曲IDを要素とする集合Cを想定する。ステップS3において、楽曲抽出部23は、層番号iを1に初期化する。
ステップS4において、楽曲抽出部23は、層番号iがn(nはクラスタ層の総数)以下であるか否かを判定する。層番号iがn以下であると判定された場合、処理はステップS5に進む。ステップS5において、楽曲抽出部23は、クラスタマッピング部22から入力された元楽曲の最適クラスタ情報に基づき、元楽曲が第i層においてどのクラスタに属しているのかを特定する。特定したクラスタをCLixと称する。
ステップS6において、楽曲抽出部23は、クラスタ情報データベース14のクラスタ−楽曲ID情報を参照し、特定したクラスタCLixに属する楽曲の楽曲IDを取得する。ステップS7において、楽曲抽出部23は、ステップS6の処理で取得した楽曲IDを要素とする集合Aを想定する。ステップS8において、楽曲抽出部23は、集合Cと集合Aに共通する要素(楽曲ID)を抽出し、ステップS9において、共通する楽曲IDが存在するか否か(すなわち、ステップS8の処理で、集合Cと集合Aに共通する楽曲IDを抽出できたか否か)を判定する。集合Cと集合Aに共通する楽曲IDが存在すると判定した場合、処理はステップS10に進み、集合Cの要素を、ステップS8で抽出した共通する楽曲IDだけに減少させる。ステップS11において、楽曲抽出部23は、層番号iを1だけインクリメントしてステップS4に戻り、それ以降の処理を繰り返す。
なお、ステップS9において、集合Cと集合Aに共通する楽曲IDが存在しないと判定された場合、ステップS10はスキップされ、処理はステップS11に進む。
このステップS4乃至S11の処理が繰り返されることにより、集合Cの要素(楽曲ID)が減少されてゆく。そして、ステップS4において、層番号iがnよりも大きくなり、n以下ではないと判定された場合、処理はステップS12に進む。
ステップS12において、楽曲抽出部23は、集合Cの要素(楽曲ID)をランダム選択部26に出力する。ランダム選択部26は、集合Cの中からランダムに1つの楽曲を選択して選択理由生成部28に出力する。なお、ランダム選択部26ではなく、類似度算出部27に集合Cの要素(楽曲ID)を出力し、類似度算出部27により、1つの楽曲を選択するようにしてもよい。
ステップS13において、選択理由生成部28は、ランダム選択部26(または類似度算出部27)によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS14において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示する。
以上説明した第1の類似楽曲検索処理によれば、元楽曲の特徴ベクトルと他の楽曲の特徴ベクトルとの距離の算出を必須とせず、各クラスタ層に対するユーザの優先順位を考慮しつつ、元楽曲に類似した楽曲を提示することが可能となる。
図12は、第2の類似楽曲検索処理を説明するフローチャートである。第2の類似楽曲検索処理の前処理として、嗜好情報データベース24は、各クラスタ層における嗜好値の分散を演算し、嗜好値の分散が最も小さい(すなわち、ユーザの嗜好が特定のクラスタに集中している)クラスタ層を検出し、嗜好が集中しているクラスタを特定しているものとする。当該クラスタ層の層番号をP、当該クラスタをCLppとする。
ステップS31において、嗜好情報データベース24は、各クラスタ層における嗜好値の分散を演算し、嗜好値の分散が最も小さい(すなわち、ユーザの嗜好が特定のクラスタに集中している)クラスタ層を検出して第P層とする(Pは1乃至nの整数)。さらに、第P層において嗜好が集中しているクラスタを特定してCLppとする。
ステップS32において、検索楽曲指定部21は、ユーザによって指定される元楽曲の楽曲IDとメタデータをクラスタマッピング部22に出力する。クラスタマッピング部22は、入力された元楽曲のメタデータを、従来のクラスタ識別手法を用いて最適クラスタにマッピングし、この最適クラスタ情報を生成し楽曲抽出部23に供給する。
ステップS33において、楽曲抽出部23は、クラスタ情報データベース14を参照し、クラスタ情報データベース14にクラスタ情報が保持されている全ての楽曲の楽曲IDを要素とする集合Cを想定する。ステップS34において、楽曲抽出部23は、層番号iを1に初期化する。
ステップS35において、楽曲抽出部23は、層番号iがn(nはクラスタ層の総数)以下であるか否かを判定する。層番号iがn以下であると判定された場合、処理はステップS36に進む。ステップS36において、楽曲抽出部23は、ステップS31で特定したPと層番号iが一致するか否かを判定し、一致すると判定した場合、ステップS37に進み、次のステップ39における処理対象をクラスタCLppに特定する。
一方、ステップS36において、ステップS31で特定したPと層番号iが一致しないと判定された場合、ステップS38に進む。ステップS38において、楽曲抽出部23は、クラスタマッピング部22から入力された元楽曲の最適クラスタ情報に基づき、元楽曲が第i層においてどのクラスタに属しているのかを特定する。特定したクラスタをCLixと称する。
ステップS39において、楽曲抽出部23は、クラスタ情報データベース14のクラスタ−楽曲ID情報を参照し、ステップS37の処理で特定したクラスタCLppまたはステップS38の処理で特定したクラスタCLixに属する楽曲の楽曲IDを取得する。
ステップS40において、楽曲抽出部23は、ステップS39の処理で取得した楽曲IDを要素とする集合Aを想定する。ステップS41において、楽曲抽出部23は、集合Cと集合Aに共通する要素(楽曲ID)を抽出し、ステップS42において、共通する楽曲IDが存在するか否か(すなわち、ステップS41の処理で、集合Cと集合Aに共通する楽曲IDを抽出できたか否か)を判定する。集合Cと集合Aに共通する楽曲IDが存在すると判定した場合、処理はステップS43に進み、集合Cの要素を、ステップS41で抽出した共通する楽曲IDだけに減少させる。ステップS44において、楽曲抽出部23は、層番号iを1だけインクリメントしてステップS35に戻り、それ以降の処理を繰り返す。
なお、ステップS42において、集合Cと集合Aに共通する楽曲IDが存在しないと判定された場合、ステップS43はスキップされ、処理はステップS44に進む。
このステップS35乃至S44の処理が繰り返されることにより、集合Cの要素(楽曲ID)が減少されてゆく。そして、ステップS35において、層番号iがnよりも大きくなり、n以下ではないと判定された場合、処理はステップS45に進む。
ステップS45において、楽曲抽出部23は、集合Cの要素(楽曲ID)をランダム選択部26に出力する。ランダム選択部26は、集合Cの中からランダムに1つの楽曲を選択して選択理由生成部28に出力する。なお、ランダム選択部26ではなく、類似度算出部27に集合Cの要素(楽曲ID)を出力し、類似度算出部27により、1つの楽曲を選択するようにしてもよい。
ステップS46において、選択理由生成部28は、ランダム選択部26(または類似度算出部27)によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS47において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示する。
以上説明した第2の類似楽曲検索処理によれば、元楽曲の特徴ベクトルと他の楽曲の特徴ベクトルとの距離の算出を必須とせず、ユーザの嗜好を示す嗜好値が高いクラスタに属する楽曲であって、かつ、元楽曲に類似した楽曲を提示することが可能となる。
図13は、第3の類似楽曲検索処理を説明するフローチャートである。
ステップS61において、検索楽曲指定部21は、ユーザによって指定される元楽曲の楽曲IDとメタデータをクラスタマッピング部22に出力する。クラスタマッピング部22は、入力された元楽曲のメタデータを従来のクラスタ識別手法を用いて最適クラスタにマッピングし、この最適クラスタ情報を楽曲抽出部23に供給する。
ステップS62において、楽曲抽出部23は、評価値を付けた楽曲IDを要素とする集合Cを想定して初期化する。すなわち、この時点で集合Cは空集合である。ステップS63において、楽曲抽出部23は、層番号iを1に初期化する。
ステップS64において、楽曲抽出部23は、層番号iがn(nはクラスタ層の総数)以下であるか否かを判定する。層番号iがn以下であると判定された場合、処理はステップS65に進む。ステップS65において、楽曲抽出部23は、クラスタマッピング部22から入力された元楽曲の最適クラスタ情報に基づき、元楽曲が第i層においてどのクラスタに属しているのかを特定する。特定したクラスタをCLixと称する。
ステップS66において、楽曲抽出部23は、嗜好情報データベース24を参照して、ステップS65の処理で特定したクラスタCLixに対するユーザの嗜好値を取得し、取得した嗜好値に基づいて、クラスタCLixに属する楽曲に対して付与する評価値を決定する。
ステップS67において、楽曲抽出部23は、クラスタ情報データベース14のクラスタ−楽曲ID情報を参照し、特定したクラスタCLixに属する楽曲の楽曲IDを取得する。ステップS68において、楽曲抽出部23は、ステップS67の処理で取得した楽曲IDに、ステップS66の処理で決定した評価値を付与する。そして、評価値付の楽曲IDを要素とする集合Aを想定する。
ステップS69において、楽曲抽出部23は、集合Cに集合Aの要素(評価値付の楽曲ID)を追加する。ステップS70において、楽曲抽出部23は、層番号iを1だけインクリメントしてステップS64に戻り、それ以降の処理を繰り返す。
このステップS64乃至S70の処理が繰り返されることにより、集合Cの要素(評価値付の楽曲ID)が増加してゆく。そして、ステップS64において、層番号iがnよりも大きくなり、n以下ではないと判定された場合、処理はステップS71に進む。
ステップS71において、楽曲抽出部23は、集合Cの要素(評価値付の楽曲ID)の中から、評価値が最も高いものを選択し、ランダム選択部26(または類似度算出部27)を介して選択理由生成部28に出力する。
ステップS72において、選択理由生成部28は、楽曲抽出部23によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS73において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示する。
以上説明した第3の類似楽曲検索処理によれば、元楽曲の特徴ベクトルと他の楽曲の特徴ベクトルとの距離の算出を必須とせず、元楽曲に類似した楽曲のうち、ユーザの嗜好に応じて付与された評価値が最も高いものを提示することが可能となる。
なお、上述した第1乃至第3の類似楽曲検索処理においては検索条件として楽曲を指定したが、アーティスト、アルバム等を指定して類似楽曲検索処理を行うこともできる。この場合、図3,4の楽曲IDをアーティストIDあるいはアルバムIDと読みかえればよい。例えばアーティストを検索条件とする場合、図2でアーティストの関わるタイトル、アルバム、ジャンルなどに相当するクラスタ層を用いる。
次に、楽曲推薦処理について説明する。
図14は、第1の楽曲推薦処理を説明するフローチャートである。第1の楽曲推薦処理の前処理として、クラスタ情報データベース14は、嗜好入力部25から入力されるユーザの各クラスタ層に対する優先度に応じ、優先順位が高い方のクラスタ層から順に、層番号を1,2,…,nまで振り直しているものとする。
ステップS91において、楽曲抽出部23は、クラスタ情報データベース14を参照し、クラスタ情報データベース14にクラスタ情報が保持されている全ての楽曲の楽曲IDを要素とする集合Cを想定する。ステップS92において、楽曲抽出部23は、層番号iを1に初期化する。
ステップS93において、楽曲抽出部23は、層番号iがn(nはクラスタ層の総数)以下であるか否かを判定する。層番号iがn以下であると判定された場合、処理はステップS94に進む。ステップS94において、楽曲抽出部23は、嗜好情報データベース24を参照し、第i層のクラスタのうち、ユーザの嗜好値が最大のクラスタを特定する。特定したクラスタをCLixと称する。
ステップS95において、楽曲抽出部23は、クラスタ情報データベース14のクラスタ−楽曲ID情報を参照し、特定したクラスタCLixに属する楽曲の楽曲IDを取得する。ステップS96において、楽曲抽出部23は、ステップS95の処理で取得した楽曲IDを要素とする集合Aを想定する。ステップS97において、楽曲抽出部23は、集合Cと集合Aに共通する要素(楽曲ID)を抽出し、ステップS98において、共通する楽曲IDが存在するか否か(すなわち、ステップS97の処理で、集合Cと集合Aに共通する楽曲IDを抽出できたか否か)を判定する。集合Cと集合Aに共通する楽曲IDが存在すると判定した場合、処理はステップS99に進み、集合Cの要素を、ステップS97で抽出した共通する楽曲IDだけに減少させる。ステップS100において、楽曲抽出部23は、層番号iを1だけインクリメントしてステップS93に戻り、それ以降の処理を繰り返す。
なお、ステップS98において、集合Cと集合Aに共通する楽曲IDが存在しないと判定された場合、ステップS99はスキップされ、処理はステップS100に進む。
このステップS93至S100の処理が繰り返されることにより、集合Cの要素(楽曲ID)が減少されてゆく。そして、ステップS93において、層番号iがnよりも大きくなり、n以下ではないと判定された場合、処理はステップS101に進む。
ステップS101において、楽曲抽出部23は、集合Cの要素(楽曲ID)をランダム選択部26に出力する。ランダム選択部26は、集合Cの中からランダムに1つの楽曲を選択して選択理由生成部28に出力する。なお、ランダム選択部26ではなく、類似度算出部27に集合Cの要素(楽曲ID)を出力し、類似度算出部27により、1つの楽曲を選択するようにしてもよい。
ステップS102において、選択理由生成部28は、ランダム選択部26(または類似度算出部27)によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS103において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示する。
以上説明した第1の楽曲推薦処理によれば、ユーザの嗜好に対応する特徴ベクトルと楽曲の特徴ベクトルとの距離の算出を必須とせず、各クラスタ層に対するユーザの優先順位を考慮しつつ、ユーザの嗜好に合致した楽曲をユーザに推薦することが可能となる。
図15は、第2の楽曲推薦処理を説明するフローチャートである。
ステップS121において、楽曲抽出部23は、評価値を付けた楽曲IDを要素とする集合Cを想定して初期化する。すなわち、この時点で集合Cは空集合である。ステップS122において、楽曲抽出部23は、層番号iを1に初期化する。
ステップS123において、楽曲抽出部23は、層番号iがn(nはクラスタ層の総数)以下であるか否かを判定する。層番号iがn以下であると判定された場合、処理はステップS124に進む。ステップS124において、楽曲抽出部23は、嗜好情報データベース24を参照し、第i層のクラスタのうち、ユーザの嗜好に対応する嗜好値が所定の値以上であるものを特定する。特定したものをクラスタ群CLixと称する。
ステップS125において、楽曲抽出部23は、ステップS124の処理で特定したクラスタ群CLixの各クラスタに対する嗜好値に基づいて、クラスタ群CLixの各クラスタに属する楽曲に対して付与する評価値を決定する。
ステップS126において、楽曲抽出部23は、クラスタ情報データベース14のクラスタ−楽曲ID情報を参照し、特定したクラスタ群CLixの各クラスタに属する楽曲の楽曲IDを取得する。ステップS127において、楽曲抽出部23は、ステップS126の処理で取得した楽曲IDに、ステップS125の処理で決定した評価値を付与する。そして、評価値付の楽曲IDを要素とする集合Aを想定する。
ステップS128において、楽曲抽出部23は、集合Cに集合Aの要素(評価値付の楽曲ID)を追加する。この際、集合Cに同じ楽曲IDがあれば評価値を足し合わせる。ステップS129において、楽曲抽出部23は、層番号iを1だけインクリメントしてステップS123に戻り、それ以降の処理を繰り返す。
このステップS123乃至S129の処理が繰り返されることにより、集合Cの要素(評価値付の楽曲ID)が増加してゆく。そして、ステップS123において、層番号iがnよりも大きくなり、n以下ではないと判定された場合、処理はステップS130に進む。
ステップS130において、楽曲抽出部23は、集合Cの要素(評価値付の楽曲ID)の中から、評価値が最も高いものを選択し、ランダム選択部26(または類似度算出部27)を介して選択理由生成部28に出力する。
ステップS131において、選択理由生成部28は、楽曲抽出部23によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS132において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示する。
以上説明した第2の楽曲推薦処理によれば、ユーザの嗜好に対応する特徴ベクトルと楽曲の特徴ベクトルとの距離の算出を必須とせず、ユーザの嗜好に応じて付与された評価値が最も高い楽曲をユーザに推薦することが可能となる。
以上説明した第1乃至3の類似楽曲検索処理、並びに第1および第2の楽曲推薦処理によれば、元楽曲あるいはユーザの嗜好に対応する特徴ベクトルと、検索対象の楽曲の特徴ベクトルとの距離(余弦相関など)を算出することなく、提示する楽曲を選択することができる。また、いずれの処理においても、ユーザの嗜好を優先することができるので、検索や推薦に対するユーザの満足度を向上させることができる
クラスタ層毎に提示するための候補となる楽曲を選び出しているので、いわゆる嗜好の足し合わせによるなまりの問題が生じないという利点がある。
さらに、楽曲のメタデータのうち、数値によって表現されるものは、それがクラスタ間の距離に反映されるように数値そのものが直接クラスタリングに使われるため、情報が最大限活用される。
また、クラスタ層をグループに分けて部分的に用いてもよい。例えば{関連アーティスト層、アーティストジャンル層、アーティストレビューテキスト層}をアーティスト検索推薦用グループに、{楽曲特徴量層(テンポ、リズム、etc)、曲ジャンル層、曲レビューテキスト層}を楽曲検索推薦用グループとして定義するようにしてもよい。
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図16に示すように構成される汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
このパーソナルコンピュータ100は、CPU(Central Processing Unit)101を内蔵している。CPU101にはバス104を介して、入出力インタフェース105が接続されている。バス104には、ROM(Read Only Memory)102およびRAM(Random Access Memory)103が接続されている。
入出力インタフェース105には、ユーザが操作コマンドを入力するキーボード、マウス等の入力デバイスよりなる入力部106、画面を表示するCRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等のディスプレイよりなる出力部107、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部108、およびモデム、LAN(Local Area Network)アダプタなどよりなり、インタネットに代表されるネットワークを介した通信処理を実行する通信部109が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどの記録媒体111に対してデータを読み書きするドライブ110が接続されている。
このパーソナルコンピュータ100に上述した一連の処理を実行させるプログラムは、記録媒体111に格納された状態でパーソナルコンピュータ100に供給され、ドライブ110によって読み出されて記憶部108に内蔵されるハードディスクドライブにインストールされている。記憶部108にインストールされているプログラムは、入力部106に入力されるユーザからのコマンドに対応するCPU101の指令によって、記憶部108からRAM103にロードされて実行される。
図17は、本発明の一実施の形態の推薦システム1の他の構成の例を示すブロック図である。図17において、図1に示す場合と同様の部分には同一の符号を付してあり、その説明は省略する。
図17に示される推薦システム1は、楽曲DB11、キーワード設定部13、クラスタ情報DB14、検索楽曲指定部21、クラスタマッピング部22、楽曲抽出部23、嗜好情報データベース24、嗜好入力部25、ランダム選択部26、類似度算出部27、選択理由生成部28、楽曲提示部29、メタデータクラスタリング部201、および楽曲クラスタリング部202から構成される。
メタデータクラスタリング部201は、楽曲データベース11に記録されている各楽曲のメタデータをクラスタリングする。すなわち、メタデータクラスタリング部201は、コンテンツである楽曲のメタデータを複数のクラスタのいずれかに分類し、クラスタに階層を割り当てる。
メタデータクラスタリング部201は、各楽曲のメタデータのクラスタリングの結果を楽曲クラスタリング部202に供給する。
楽曲クラスタリング部202は、メタデータクラスタリング部201による各楽曲のメタデータのクラスタリングの結果を基に、クラスタリング部12と同様に、各楽曲をクラスタリングして各楽曲のクラスタ情報を生成する。すなわち、楽曲クラスタリング部202は、各楽曲のクラスタリングの結果に応じたクラスタ情報を生成してクラスタ情報DB14に出力する。
次に、図18のフローチャートを参照して、図17に示される推薦システム1における、楽曲を推薦する処理の準備であるオフライン時の前処理の例について説明する。
ステップS201において、メタデータクラスタリング部201は、楽曲DB11から楽曲のメタデータを取得して、取得したメタデータの次元を圧縮する。例えば、ステップS201において、メタデータクラスタリング部201は、楽曲DB11から取得した楽曲のメタデータの次元を、LSA(the latent semantic analysis)、PLSA(the probabilistic latent semantic analysis)、または数量化III類などの手法により圧縮する。
なお、ステップS201において、メタデータクラスタリング部201は、楽曲のメタデータをベクトル化するようにしてもよい。
ステップS202において、メタデータクラスタリング部201は、各楽曲のメタデータをクラスタリングする。例えば、ステップS202において、メタデータクラスタリング部201は、各楽曲のメタデータをソフトクラスタリングする。
より具体的には、例えば、図19で示されるように、メタデータクラスタリング部201は、それぞれの階層内において、アイテムの各クラスタへの帰属重みの和が1となるように、各楽曲のメタデータをソフトクラスタリングする。
例えば、ABC123である楽曲IDで特定される楽曲のメタデータの第1階層(層番号1)における第1のクラスタ、第2のクラスタ、第3のクラスタ、および第4のクラスタへの帰属重みは、それぞれ、0.0、0.8、0.0、および0.2である。ABC123である楽曲IDで特定される楽曲のメタデータの第2階層(層番号2)における第5のクラスタ、第6のクラスタ、第7のクラスタ、および第8のクラスタへの帰属重みは、それぞれ、0.4、0.6、0.0、および0.0である。ABC123である楽曲IDで特定される楽曲のメタデータの第3階層(層番号3)における第9のクラスタ、第10のクラスタ、および第11のクラスタへの帰属重みは、それぞれ、0.0、0.0、および1.0である。また、ABC123である楽曲IDで特定される楽曲のメタデータの第n階層(層番号n)における4つのクラスタのそれぞれへの帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。
例えば、CTH863である楽曲IDで特定される楽曲のメタデータの第1階層における第1のクラスタ、第2のクラスタ、第3のクラスタ、および第4のクラスタへの帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。CTH863である楽曲IDで特定される楽曲のメタデータの第2階層における第5のクラスタ、第6のクラスタ、第7のクラスタ、および第8のクラスタへの帰属重みは、それぞれ、0.0、0.5、0.5、および0.0である。CTH863である楽曲IDで特定される楽曲のメタデータの第3階層における第9のクラスタ、第10のクラスタ、および第11のクラスタへの帰属重みは、それぞれ、0.7、0.3、および0.0である。また、CTH863である楽曲IDで特定される楽曲のメタデータの第n階層における4つのクラスタのそれぞれへの帰属重みは、それぞれ、0.0、0.8、0.2、および0.0である。
例えば、XYZ567である楽曲IDで特定される楽曲のメタデータの第1階層における第1のクラスタ、第2のクラスタ、第3のクラスタ、および第4のクラスタへの帰属重みは、それぞれ、0.0、0.4、0.6、および0.0である。XYZ567である楽曲IDで特定される楽曲のメタデータの第2階層における第5のクラスタ、第6のクラスタ、第7のクラスタ、および第8のクラスタへの帰属重みは、それぞれ、0.0、0.0、0.0、および1.0である。XYZ567である楽曲IDで特定される楽曲のメタデータの第3階層における第9のクラスタ、第10のクラスタ、および第11のクラスタへの帰属重みは、それぞれ、0.9、0.0、および0.1である。また、XYZ567である楽曲IDで特定される楽曲のメタデータの第n階層における4つのクラスタのそれぞれへの帰属重みは、それぞれ、0.3、0.0、0.0、および0.7である。
なお、各楽曲のメタデータのソフトクラスタリングは、それぞれの階層内において、アイテム、すなわち楽曲の各クラスタへの帰属重みの和が1となるものに限られない。また、各アイテムが各階層において、いずれのクラスタに属さないものとしてもよい。
ステップS203において、メタデータクラスタリング部201は、クラスタの層を割り当てる。
ここで、図20および図21を参照して、メタデータのクラスタリングおよびクラスタの層の割り当てについて説明する。図20は、メタデータの例を示す図である。図20で示されるメタデータは、簡単のため、0または1のいずれかの値のカテゴリカルデータとされている。
高次の分類としてのメタグループ1には、メタデータ1、メタデータ2、およびメタデータ3が属し、高次の分類としてのメタグループ2には、メタデータ4、メタデータ5、およびメタデータ6が属する。例えば、メタグループ1には、アーティストに関するメタデータが属し、メタデータ1は、アーティストの外観を示し、メタデータ2は、グループであることを示す。また、例えば、メタグループ2には、ジャンルに関するメタデータが属し、メタデータ4は、ポップスであることを示し、メタデータ5は、ロックであることを示す。
図20に示す例において、ABC123である楽曲IDで特定される楽曲のメタデータ1乃至メタデータ6は、それぞれ、1,1,1,1,1,1であり、CTH863である楽曲IDで特定される楽曲のメタデータ1乃至メタデータ6は、それぞれ、0,1,0,0,1,1であり、XYZ567である楽曲IDで特定される楽曲のメタデータ1乃至メタデータ6は、それぞれ、1,1,1,1,1,1である。また、EKF534である楽曲IDで特定される楽曲のメタデータ1乃至メタデータ6は、それぞれ、1,0,1,0,0,1であり、OPQ385である楽曲IDで特定される楽曲のメタデータ1乃至メタデータ6は、それぞれ、1,0,1,1,0,0である。
このとき、ABC123である楽曲IDで特定される楽曲乃至OPQ385である楽曲IDで特定される楽曲についての、メタデータ1をベクトルとみなす。同様に、ABC123である楽曲IDで特定される楽曲乃至OPQ385である楽曲IDで特定される楽曲についての、メタデータ2乃至メタデータ6のそれぞれをベクトルとみなす。すなわち、複数の楽曲についての1つのメタデータの値をベクトルとみなす。
このベクトル同士の距離に注目する。
図20で示される例において、ベクトルとみなされたメタデータ1、メタデータ3、メタデータ4が、マンハッタン距離1以内のクラスタに、また、メタデータ2、メタデータ5、メタデータ6が、マンハッタン距離1以内の他のクラスタに、まとまっている。
そこで、これらのクラスタを、新たなメタデータの階層とする。すなわち、階層のそれぞれの層に、より近いメタデータが割り付けられる。
図21は、このようにクラスタリングされ、層が割り付けられたメタデータの例を示す。図21に示す例において、第1層には、メタデータ1、メタデータ3、およびメタデータ4が属し、第2層には、メタデータ2、メタデータ5、およびメタデータ6が属する。
このように、相関の高いメタデータの集まりでそれぞれの層が形成され、その中で楽曲のクラスタリングが行われるので、ジャンルやアーティストなどをそのまま階層とするような通常の階層分けでは表現しきれない微妙な楽曲間の差をクラスタに反映することができる。
図18に戻り、ステップS204において、楽曲クラスタリング部202は、層毎に楽曲をクラスタリングして、処理は終了する。すなわち、楽曲クラスタリング部202は、各コンテンツを、割り当てられた階層のそれぞれにおいて複数のクラスタのいずれかに分類する。
このようにすることで、メタデータによる楽曲の表現の詳細度(表現の詳細さの度合い)を保ったまま、データ量および計算量を削減して、楽曲をクラスタリングすることができる。
また、以上のように、メタデータを階層化することにより、楽曲間の微妙な相違がよく表現されるように楽曲をクラスタリングすることができる。
次に、図22のフローチャートを参照して、第4の類似楽曲検索処理を説明する。ステップS221において、検索楽曲指定部21は、類似元となる元楽曲を設定する。すなわち、例えば、ステップS221において、検索楽曲指定部21は、クラスタマッピング部22を介して、ユーザの指定に応じて、元楽曲の楽曲IDを楽曲抽出部23に出力することにより、元楽曲を設定する。
ステップS222において、類似度算出部27は、各クラスタの帰属重みから、元楽曲と、元楽曲以外の全ての楽曲のそれぞれとの類似度を計算する。
例えば、楽曲抽出部23は、楽曲IDで特定される元楽曲のクラスタ情報と、元楽曲以外の全ての楽曲のクラスタ情報とを、クラスタ情報データベース14から読み出す。そして、楽曲抽出部23は、読み出したクラスタ情報を類似度算出部27に供給する。類似度算出部27は、元楽曲と元楽曲以外の全ての楽曲とのクラスタ情報で示される各クラスタの帰属重みから、元楽曲と、元楽曲以外の全ての楽曲のそれぞれとの類似度を計算する。
より具体的には、例えば、楽曲クラスタリング部202により、各楽曲が、それぞれの階層内において、ソフトクラスタリングされ、各クラスタの帰属重みを示すクラスタ情報がクラスタ情報データベース14に格納されている。
図23は、クラスタの帰属重みを示すクラスタ情報の例を示す図である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、1.0、0.0、および0.2である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.6、0.8、0.0、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.0、および1.0である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.7、0.7、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.9、0.4、および0.0である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、1.0、0.3、および0.0である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.6、0.8、および0.0である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.0、0.0、および1.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、および0.1である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.5、0.0、0.0、および0.9である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、EKF534である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.9、0.0、0.0、および0.5である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、EKF534である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.6、0.0、および0.8である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、EKF534である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.7、0.0、および0.7である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、EKF534である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.9、0.4、および0.3である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、OPQ385である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.7、0.2、0.6、および0.0である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、OPQ385である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、OPQ385である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、1.0、および0.0である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、OPQ385である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.4、0.9、0.0、および0.0である。
例えば、類似度算出部27は、iである楽曲IDで特定される元楽曲とjである楽曲IDで特定される楽曲との類似度sim(i,j)を、それぞれの楽曲のクラスタへの帰属重みから、式(1)で示される演算で計算する。
Figure 0004752623
式(1)において、Lは、階層の数を示す値であり、lは、階層を特定する値である。C(l)は、クラスタの全体を示し、cは、クラスタを特定する値である。wilcは、iである楽曲IDで特定される元楽曲の、第l層の第cクラスタの帰属重みを示す。wjlcは、jである楽曲IDで特定される楽曲の、第l層の第cクラスタの帰属重みを示す。
図24は、クラスタの帰属重みを示す図23のクラスタ情報から、式(1)で示される演算により計算された類似度の例を示す図である。なお、図24において、ABC123である楽曲IDで特定される元楽曲に対する、CTH863乃至OPQ385のそれぞれの楽曲IDで特定される楽曲のそれぞれについての類似度が示されている。
図24で示されるように、図23のクラスタ情報を基に、ABC123である楽曲IDで特定される元楽曲に対して、CTH863乃至OPQ385のそれぞれの楽曲IDで特定される楽曲のそれぞれの類似度を式(1)で示される演算で計算すると、CTH863乃至OPQ385のそれぞれの楽曲IDで特定される楽曲のそれぞれの類似度は、0.57、1.18、1.27、1.20となる。
例えば、ステップS222において、類似度算出部27は、式(1)で示される演算により、それぞれ、0.57、1.18、1.27、1.20である、ABC123である楽曲IDで特定される元楽曲に対する、CTH863乃至OPQ385のそれぞれの楽曲IDで特定される楽曲のそれぞれの類似度を計算する。
ステップS223において、類似度算出部27は、類似度を基に、元楽曲に類似している順に、元楽曲以外の全ての楽曲をソートする。
より具体的には、類似度算出部27は、計算の結果得られた楽曲の類似度と、楽曲の楽曲IDとを対応付けて、類似度を基に、元楽曲に類似している順に楽曲の楽曲IDを並び替えることにより、元楽曲に類似している順に、元楽曲以外の全ての楽曲をソートする。
ステップS224において、類似度算出部27は、ソートされた楽曲のうち、任意の数の上位の楽曲を選択する。類似度算出部27は、選択した楽曲の楽曲IDを選択理由生成部28に供給する。
例えば、ステップS224において、類似度算出部27は、最上位の楽曲を選択して、最上位の楽曲の楽曲IDを選択理由生成部28に供給する。または、例えば、ステップS224において、類似度算出部27は、上位10曲の楽曲を選択して、上位10曲の楽曲の楽曲IDを選択理由生成部28に供給する。
ステップS225において、選択理由生成部28は、類似度算出部27によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS226において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示して、処理は終了する。
次に、図25のフローチャートを参照して、第5の類似楽曲検索処理を説明する。ステップS241乃至ステップS251のそれぞれは、図11のステップS1乃至ステップS11のそれぞれと同様なので、その説明は省略する。
ステップS252において、類似度算出部27は、楽曲抽出部23から供給された、集合Cの要素(楽曲ID)を基に、各クラスタの帰属重みから、元楽曲と、集合Cの楽曲のそれぞれとの類似度を計算する。例えば、ステップS252において、類似度算出部27は、式(1)で示される演算により、元楽曲と集合Cの楽曲のそれぞれとの類似度を計算する。
ステップS253において、類似度算出部27は、類似度を基に、元楽曲に類似している順に、集合Cの楽曲をソートする。
より具体的には、類似度算出部27は、計算の結果得られた類似度と、集合Cの楽曲の楽曲IDとを対応付けて、類似度を基に、集合Cの楽曲の楽曲IDを並び替えることにより、元楽曲に類似している順に、集合Cの楽曲をソートする。
ステップS254において、類似度算出部27は、ソートされた楽曲のうち、任意の数の上位の楽曲を選択する。類似度算出部27は、選択した楽曲の楽曲IDを選択理由生成部28に供給する。
例えば、ステップS254において、類似度算出部27は、最上位の楽曲を選択して、最上位の楽曲の楽曲IDを選択理由生成部28に供給する。または、例えば、ステップS254において、類似度算出部27は、上位10曲の楽曲を選択して、上位10曲の楽曲の楽曲IDを選択理由生成部28に供給する。
ステップS255において、選択理由生成部28は、類似度算出部27によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS256において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示して、処理は終了する。
次に、図26のフローチャートを参照して、第3の楽曲推薦処理を説明する。ステップS261乃至ステップS270のそれぞれは、図14のステップS91乃至ステップS100のそれぞれと同様なので、その説明は省略する。
ステップS271において、類似度算出部27は、楽曲抽出部23から供給された、集合Cの要素(楽曲ID)を基に、各クラスタの帰属重みを示すユーザの嗜好値と、集合Cの楽曲のそれぞれのクラスタ情報であって、各クラスタの帰属重みを示すクラスタ情報との類似度を計算する。
ここで、図27乃至図31を参照して、ユーザの嗜好値と、集合Cの楽曲のそれぞれのクラスタ情報との類似度を説明する。
例えば、嗜好情報データベース24は、ソフトクラスタリングされ、それぞれの階層内において、各クラスタの帰属重みを示す嗜好値を記録している。
図27は、各クラスタの帰属重みを示す嗜好値の例を示す図である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.0、0.8、0.0、および0.6である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.4、0.6、0.7、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.7、0.5、および0.5である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.0、0.5、0.4、および0.0である。
図28は、各クラスタの帰属重みを示すクラスタ情報の例を示す図である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、1.0、0.0、および0.2である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.6、0.8、0.0、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.0、および1.0である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、ABC123である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、0.0、および0.0である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.7、0.7、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.9、0.4、および0.0である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、CTH863である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、1.1、0.3、および0.0である。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.6、0.8、および0.0である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.0、0.0、0.0、および1.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、1.0、0.0、および0.1である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、XYZ567である楽曲IDで特定される楽曲の帰属重みは、それぞれ、0.4、0.0、0.0、および0.7である。
例えば、類似度算出部27は、ユーザの嗜好値におけるクラスタへの帰属重みと、iである楽曲IDで特定される楽曲のクラスタ情報におけるクラスタへの帰属重みとから、式(2)で示される演算で類似度sim(u,i)を計算する。
Figure 0004752623
式(2)において、Lは、階層の数を示す値であり、lは、階層を特定する値である。C(l)は、クラスタの全体を示し、cは、クラスタを特定する値である。wilcは、iである楽曲IDで特定される楽曲のクラスタ情報の、第l層の第cクラスタの帰属重みを示す。hulcは、ユーザuの嗜好値の第l層の第cクラスタの帰属重みを示す。
図29は、図27のクラスタの帰属重みを示す嗜好値と、図28のクラスタの帰属重みを示すクラスタ情報とから、式(2)で示される演算により計算された類似度の例を示す図である。
U001であるユーザIDで特定されるユーザの嗜好値の帰属重みのうちの、第1層の帰属重みと、ABC123である楽曲IDで特定される楽曲のクラスタ情報の帰属重みのうちの、第1層の帰属重みとが、対応する帰属重み同士で乗算され、乗算された結果が積算されると、図29のABC123である楽曲IDに対する第1層に配置した値である0.91が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みと、ABC123である楽曲IDで特定される楽曲のクラスタ情報の帰属重みとが、対応する帰属重み同士で乗算され、乗算された結果が積算されると、図29のABC123である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.67、0.53、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とABC123である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.91、0.67、0.53、および0.00を加算した値である2.11とされる。
U001であるユーザIDで特定されるユーザの嗜好値の帰属重みのうちの、第1層の帰属重みと、CTH863である楽曲IDで特定される楽曲のクラスタ情報の帰属重みのうちの、第1層の帰属重みとが、対応する帰属重み同士で乗算され、乗算された結果が積算されると、図29のCTH863である楽曲IDに対する第1層に配置した値である0.00が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みと、CTH863である楽曲IDで特定される楽曲のクラスタ情報の帰属重みとが、対応する帰属重み同士で乗算され、乗算された結果が積算されると、図29のCTH863である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.92、0.82、0.63が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とCTH863である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.00、0.92、0.82、および0.63を加算した値である2.37とされる。
U001であるユーザIDで特定されるユーザの嗜好値の帰属重みのうちの、第1層の帰属重みと、XYZ567である楽曲IDで特定される楽曲のクラスタ情報の帰属重みのうちの、第1層の帰属重みとが、対応する帰属重み同士で乗算され、乗算された結果が積算されると、図29のXYZ567である楽曲IDに対する第1層に配置した値である0.44が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みと、XYZ567である楽曲IDで特定される楽曲のクラスタ情報の帰属重みとが、対応する帰属重み同士で乗算され、乗算された結果が積算されると、図29のXYZ567である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.00、0.72、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とXYZ567である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.44、0.00、0.72、および0.00を加算した値である1.15とされる。
また、各階層における、ユーザの嗜好値の帰属重みの分布に基づいた重みを用いて類似度を計算するようにしてもよい。
例えば、類似度算出部27は、ユーザの嗜好値におけるクラスタへの帰属重みと、iである楽曲IDで特定される楽曲のクラスタ情報におけるクラスタへの帰属重みとから、式(3)で示される演算で類似度sim(u,i)を計算する。
Figure 0004752623
式(3)において、Lは、階層の数を示す値であり、lは、階層を特定する値である。C(l)は、クラスタの全体を示し、cは、クラスタを特定する値である。wilcは、iである楽曲IDで特定される楽曲のクラスタ情報の、第l層の第cクラスタの帰属重みを示す。hulcは、ユーザuの嗜好値の第l層の第cクラスタの帰属重みを示す。bulは、ユーザuの嗜好値の第l層についての重みを示す。
図30は、ユーザの嗜好値のそれぞれの階層の帰属重みの分散である、階層毎の重みの例を示す図である。図30に示す例において、U001であるユーザIDで特定されるユーザのについての第1層の重み、第2層の重み、第3層の重み、および第4層の重みは、それぞれ、0.17、0.10、0.01、および0.06である。
図31は、図27のクラスタの帰属重みを示す嗜好値と、図28のクラスタの帰属重みを示すクラスタ情報と、図30の階層毎の重みとから、式(3)で示される演算により計算された類似度の例を示す図である。なお、図31に示す類似度は、式(3)で示される演算により計算された結果を10倍したものである。
U001であるユーザIDで特定されるユーザの嗜好値の第1層の帰属重みと、ユーザの嗜好値の帰属重みに対応する、ABC123である楽曲IDで特定される楽曲のクラスタ情報の第1層の帰属重みと、第1の層の重みとが乗算され、乗算された結果が積算されると、図31のABC123である楽曲IDに対する第1層に配置した値である1.27が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みと、ユーザの嗜好値の帰属重みに対応する、ABC123である楽曲IDで特定される楽曲のクラスタ情報の帰属重みと、第2層、第3層、または第4層のうちのその層の重みとが乗算され、乗算された結果が積算されると、図31のABC123である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.49、0.03、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とABC123である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた1.27、0.49、0.03、および0.00を加算した値である1.79とされる。
U001であるユーザIDで特定されるユーザの嗜好値の第1層の帰属重みと、ユーザの嗜好値の帰属重みに対応する、CTH863である楽曲IDで特定される楽曲のクラスタ情報の第1層の帰属重みと、第1の層の重みとが乗算され、乗算された結果が積算されると、図31のCTH863である楽曲IDに対する第1層に配置した値である0.00が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みと、ユーザの嗜好値の帰属重みに対応する、CTH863である楽曲IDで特定される楽曲のクラスタ情報の帰属重みと、第2層、第3層、または第4層のうちのその層の重みとが乗算され、乗算された結果が積算されると、図31のCTH863である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.65、0.04、0.27が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とCTH863である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.00、0.65、0.04、および0.27を加算した値である0.96とされる。
U001であるユーザIDで特定されるユーザの嗜好値の第1層の帰属重みと、ユーザの嗜好値の帰属重みに対応する、XYZ567である楽曲IDで特定される楽曲のクラスタ情報の第1層の帰属重みと、第1の層の重みとが乗算され、乗算された結果が積算されると、図31のXYZ567である楽曲IDに対する第1層に配置した値である0.53が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みと、ユーザの嗜好値の帰属重みに対応する、XYZ567である楽曲IDで特定される楽曲のクラスタ情報の帰属重みと、第2層、第3層、または第4層のうちのその層の重みとが乗算され、乗算された結果が積算されると、図31のXYZ567である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.00、0.04、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とXYZ567である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.53、0.00、0.04、および0.00を加算した値である0.57とされる。
図27で示される嗜好値に注目すると、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みの値は、第2層乃至第4層に比較して、第1層において大きく変化しているので、第2層乃至第4層に比較して、第1層の各要素の値が、U001であるユーザIDで特定されるユーザの嗜好により関係すると予測される。
このように、重み付けすることによって、ユーザの嗜好にあまり関係しないと予測される値に比較して、ユーザの嗜好により関係すると予測される値によって、その値がより大きく変化する類似度を求めることができるので、より正確に、ユーザの好む楽曲を検出することができる。
図26に戻り、ステップS272において、類似度算出部27は、類似度を基に、ユーザの嗜好に類似している順に、集合Cの楽曲をソートする。
より具体的には、類似度算出部27は、計算の結果得られた類似度と、集合Cの楽曲の楽曲IDとを対応付けて、類似度を基に、集合Cの楽曲の楽曲IDを並び替えることにより、ユーザの嗜好に類似している順に、集合Cの楽曲をソートする。
ステップS273において、類似度算出部27は、ソートされた楽曲のうち、任意の数の上位の楽曲を選択する。類似度算出部27は、選択した楽曲の楽曲IDを選択理由生成部28に供給する。
例えば、式(2)で示される演算により類似度が計算され、ABC123である楽曲IDで特定される楽曲についての類似度が2.11とされ、CTH863である楽曲IDで特定される楽曲についての類似度が2.37とされ、XYZ567である楽曲IDで特定される楽曲についての類似度が1.15とされた場合、1つの楽曲を選択するとき、類似度が最大である、CTH863である楽曲IDで特定される楽曲が選択されることになる。
また、例えば、式(3)で示される演算により、各階層における、ユーザの嗜好値の帰属重みの分布に基づいた重みを用いて類似度が計算され、ABC123である楽曲IDで特定される楽曲についての類似度が1.79とされ、CTH863である楽曲IDで特定される楽曲についての類似度が0.96とされ、XYZ567である楽曲IDで特定される楽曲についての類似度が0.57とされた場合、1つの楽曲を選択するとき、類似度が最大である、ABC123である楽曲IDで特定される楽曲が選択されることになる。
ステップS274において、選択理由生成部28は、類似度算出部27によって選択された楽曲が選択された理由を示す選択理由文を生成して、選択された楽曲の楽曲IDとともに楽曲提示部29に出力する。ステップS275において、楽曲提示部29は、選択理由生成部28から入力される楽曲IDの楽曲と選択理由文とをユーザに提示して、処理は終了する。
次に、図32のフローチャートを参照して、第4の楽曲推薦処理を説明する。ステップS281乃至ステップS284のそれぞれは、図15のステップS121乃至ステップS124のそれぞれと同様なので、その説明は省略する。
ステップS285において、楽曲抽出部23は、特定した各クラスタにそれぞれ対応する嗜好値と第i層の重みに基づき評価値を決定する。
図33は、図27で示される嗜好値の帰属重みのうち、0.6である閾値以上の帰属重みからなる嗜好値の例を示す図である。
すなわち、図27で示される嗜好値の帰属重みのうち、0.6未満である帰属重みが0.0に置き換えられることにより、図33で示される嗜好値が求められる。
例えば、第1階層におけるクラスタである、CL11であるクラスタIDで特定されるクラスタ、CL12であるクラスタIDで特定されるクラスタ、CL13であるクラスタIDで特定されるクラスタ、およびCL14であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.0、0.8、0.0、および0.6である。第2階層におけるクラスタである、CL21であるクラスタIDで特定されるクラスタ、CL22であるクラスタIDで特定されるクラスタ、CL23であるクラスタIDで特定されるクラスタ、およびCL24であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.0、0.6、0.7、および0.0である。
また、第3階層におけるクラスタである、CL31であるクラスタIDで特定されるクラスタ、CL32であるクラスタIDで特定されるクラスタ、およびCL33であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.7、0.0、および0.0である。さらに、第4階層におけるクラスタである、CL41であるクラスタIDで特定されるクラスタ、CL42であるクラスタIDで特定されるクラスタ、CL43であるクラスタIDで特定されるクラスタ、およびCL44であるクラスタIDで特定されるクラスタへの、U001であるユーザIDで特定されるユーザの嗜好値の帰属重みは、それぞれ、0.0、0.0、0.0、および0.0である。
例えば、ステップS285において、楽曲抽出部23は、閾値以上の帰属重みからなる嗜好値におけるクラスタへの帰属重みと、iである楽曲IDで特定される楽曲のクラスタ情報におけるクラスタへの帰属重みとから、式(3)で示される演算で類似度を計算する。すなわち、元の嗜好値の帰属重みのうち、例えば0.6である閾値未満の帰属重みと乗算されて求められる値は、類似度に加算されず、元の嗜好値の帰属重みのうち、閾値以上である帰属重みと乗算されて求められる値は、類似度に加算されることになる。
図34は、図33の閾値以上の帰属重みからなる嗜好値と、図28のクラスタの帰属重みを示すクラスタ情報と、図30の階層毎の重みとから、式(3)で示される演算により計算された類似度の例を示す図である。
U001であるユーザIDで特定されるユーザの嗜好値であって、閾値以上の帰属重みからなる嗜好値の第1層の帰属重みと、ユーザの嗜好値の帰属重みに対応する、ABC123である楽曲IDで特定される楽曲のクラスタ情報の第1層の帰属重みと、第1の層の重みとが乗算され、乗算された結果が積算されると、図34のABC123である楽曲IDに対する第1層に配置した値である0.15が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値であって、閾値以上の帰属重みからなる嗜好値の帰属重みと、ユーザの嗜好値の帰属重みに対応する、ABC123である楽曲IDで特定される楽曲のクラスタ情報の帰属重みと、第2層、第3層、または第4層のうちのその層の重みとが乗算され、乗算された結果が積算されると、図34のABC123である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.05、0.00、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とABC123である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.15、0.05、0.00、および0.00を加算した値である0.20とされる。
U001であるユーザIDで特定されるユーザの嗜好値であって、閾値以上の帰属重みからなる嗜好値の第1層の帰属重みと、ユーザの嗜好値の帰属重みに対応する、CTH863である楽曲IDで特定される楽曲のクラスタ情報の第1層の帰属重みと、第1の層の重みとが乗算され、乗算された結果が積算されると、図34のCTH863である楽曲IDに対する第1層に配置した値である0.00が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値であって、閾値以上の帰属重みからなる嗜好値の帰属重みと、ユーザの嗜好値の帰属重みに対応する、CTH863である楽曲IDで特定される楽曲のクラスタ情報の帰属重みと、第2層、第3層、または第4層のうちのその層の重みとが乗算され、乗算された結果が積算されると、図34のCTH863である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.10、0.00、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とCTH863である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.00、0.10、0.00、および0.00を加算した値である0.10とされる。
U001であるユーザIDで特定されるユーザの嗜好値であって、閾値以上の帰属重みからなる嗜好値の第1層の帰属重みと、ユーザの嗜好値の帰属重みに対応する、XYZ567である楽曲IDで特定される楽曲のクラスタ情報の第1層の帰属重みと、第1の層の重みとが乗算され、乗算された結果が積算されると、図34のXYZ567である楽曲IDに対する第1層に配置した値である0.07が求められる。同様に、第2層、第3層、および第4層について、U001であるユーザIDで特定されるユーザの嗜好値であって、閾値以上の帰属重みからなる嗜好値の帰属重みと、ユーザの嗜好値の帰属重みに対応する、XYZ567である楽曲IDで特定される楽曲のクラスタ情報の帰属重みと、第2層、第3層、または第4層のうちのその層の重みとが乗算され、乗算された結果が積算されると、図34のXYZ567である楽曲IDに対する第2層、第3層、および第4層のそれぞれに配置した値である0.00、0.00、0.00が求められる。
最終的に、U001であるユーザIDで特定されるユーザの嗜好値とXYZ567である楽曲IDで特定される楽曲のクラスタ情報との類似度は、第1層、第2層、第3層、および第4層のそれぞれについて求められた0.07、0.00、0.00、および0.00を加算した値である0.08とされる。
ステップS286乃至ステップS292のそれぞれは、図15のステップS126乃至ステップS132のそれぞれと同様なので、その説明は省略する。
なお、それぞれの階層に属する帰属重みの分散である重みを用いると説明したが、これに限らず、階層における帰属重みのばらつきが大きい場合により大きい値となる重みを計算すればよく、例えば、式(4)によりエントロピーHを算出し、1からエントロピーHを引き算した結果得られる値である重みを計算するようにしてもよい。
Figure 0004752623
このように、情報の欠落を最小限に抑えつつ、適切なコンテンツを選択するための計算量を削減することができる。また、利用者がどのような情報に着目してコンテンツを選択しているかを確実に反映したコンテンツを提示することができるようになる。
なお、本明細書において、プログラムに基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、プログラムは、1台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
本発明を適用した推薦システムの構成例を示すブロック図である。 メタデータを分類するクラスタとクラスタ層の概念を示す図である。 クラスタ情報の一例を示す図である。 クラスタ−楽曲ID情報の一例を示す図である。 嗜好情報の一例を示す図である。 クラスタリング第1乃至4手法から2種類の手法を選択する方法を説明するための図である。 クラスタリング第1乃至4手法から2種類の手法を選択する方法を説明するための図である。 クラスタリング第1乃至4手法から2種類の手法を選択する方法を説明するための図である。 クラスタリング第1乃至4手法から2種類の手法を選択する方法を説明するための図である。 クラスタリング第1乃至4手法から2種類の手法を選択する方法を説明するための図である。 第1の類似楽曲検索処理を説明するフローチャートである。 第2の類似楽曲検索処理を説明するフローチャートである。 第3の類似楽曲検索処理を説明するフローチャートである。 第1の楽曲推薦処理を説明するフローチャートである。 第2の楽曲推薦処理を説明するフローチャートである。 汎用パーソナルコンピュータの構成例を示すブロック図である。 本発明の一実施の形態の推薦システムの他の構成の例を示すブロック図である。 オフライン時の前処理の例を説明するフローチャートである。 ソフトクラスタリングされた各楽曲のメタデータの例を示す図である。 各楽曲のメタデータの例を示す図である。 クラスタ情報の例を示す図である。 第4の類似楽曲検索処理を説明するフローチャートである。 クラスタ情報の例を示す図である。 類似度の例を示す図である。 第5の類似楽曲検索処理を説明するフローチャートである。 第3の楽曲推薦処理を説明するフローチャートである。 嗜好値の例を示す図である。 クラスタ情報の例を示す図である。 類似度の例を示す図である。 重みの例を示す図である。 類似度の例を示す図である。 第4の楽曲推薦処理を説明するフローチャートである。 嗜好値の例を示す図である。 類似度の例を示す図である。
符号の説明
1 推薦システム, 11 楽曲データベース, 12 クラスタリング部, 13 キーワード設定部, 14 クラスタ情報データベース, 21 検索楽曲指定部, 22 クラスタマッピング部, 23 楽曲抽出部, 24 嗜好情報データベース, 25 嗜好入力部, 26 ランダム選択部, 27 類似度算出部, 28 選択理由生成部, 29 楽曲提示部, 201 メタデータクラスタリング部, 202 楽曲クラスタリング部

Claims (11)

  1. コンテンツ群のなかから所定の条件を満たすコンテンツを選択する情報処理装置において、
    前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数の第1のクラスタのいずれかに分類するコンテンツ分類手段と、
    各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記第1のクラスタとの対応関係を示すデータベースを保持する保持手段と、
    前記階層毎に前記所定の条件に対応する前記第1のクラスタを指定し、指定した前記第1のクラスタに対応するコンテンツを特定する特定手段と、
    前記特定手段によって特定された前記コンテンツを提示する提示手段と
    を含むことを特徴とする情報処理装置。
  2. 前記コンテンツ分類手段によって前記コンテンツが分類される各第1のクラスタに、ユーザの嗜好の程度を示す嗜好値を対応付けて記憶する記憶手段をさらに含み、
    前記特定手段は、前記記憶手段によって記憶されている嗜好値に基づいて前記第1のクラスタを指定し、指定した前記第1のクラスタに対応するコンテンツを特定する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記特定手段は、指定した前記第1のクラスタに対応するコンテンツの中から、前記嗜好値に応じた階層毎の重みにより重み付けした、ユーザのコンテンツの嗜好の度合いを示す評価値で、さらにコンテンツを特定する
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記コンテンツ分類手段によって前記コンテンツが分類される各第1のクラスタに対してキーワードを設定する設定手段と、
    前記設定手段によって設定されたキーワードを用い、コンテンツの提示理由を表す理由文を生成する生成手段とをさらに含み、
    前記提示手段は、前記理由文も提示する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記コンテンツは楽曲であり、
    前記メタデータには、前記楽曲のテンポ、ビート、またはリズムのうちの少なくとも1つが含まれる
    ことを特徴とする請求項1に記載の情報処理装置。
  6. 前記メタデータには、対応するコンテンツに対するレビューテキストが含まれる
    ことを特徴とする請求項1に記載の情報処理装置。
  7. コンテンツのメタデータを複数の第2のクラスタのいずれかに分類し、第2のクラスタに前記階層を割り当てるメタデータ分類手段をさらに含み、
    前記コンテンツ分類手段は、各コンテンツを、割り当てられた前記階層のそれぞれにおいて複数の第1のクラスタのいずれかに分類する
    ことを特徴とする請求項1に記載の情報処理装置。
  8. 前記特定手段は、類似元となるコンテンツが分類される前記第1のクラスタに対応するコンテンツの中から、類似元となるコンテンツとの類似の度合いを示す類似度で、さらにコンテンツを特定する
    ことを特徴とする請求項1に記載の情報処理装置。
  9. 前記特定手段は、類似元となるコンテンツの前記第1のクラスタへの帰属の重みに応じた階層毎の重みにより重み付けした前記類似度でコンテンツを特定する
    ことを特徴とする請求項8に記載の情報処理装置。
  10. コンテンツ群のなかから所定の条件を満たすコンテンツを選択する情報処理装置の情報処理方法において、
    前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数のクラスタのいずれかに分類する分類ステップと、
    各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラスタとの対応関係を示すデータベースを保持する保持ステップと、
    前記階層毎に前記所定の条件に対応する前記クラスタを指定し、指定した前記クラスタに対応するコンテンツを特定する特定ステップと、
    特定された前記コンテンツを提示する提示ステップと
    を含むことを特徴とする情報処理方法。
  11. コンテンツ群のなかから所定の条件を満たすコンテンツを選択するためのプログラムであって、
    前記コンテンツ群を構成する各コンテンツを、コンテンツのメタデータに応じた階層のそれぞれにおいて複数のクラスタのいずれかに分類する分類ステップと、
    各コンテンツと各コンテンツのそれぞれが分類された前記階層における前記クラスタとの対応関係を示すデータベースを保持する保持ステップと、
    前記階層毎に前記所定の条件に対応する前記クラスタを指定し、指定した前記クラスタに対応するコンテンツを特定する特定ステップと、
    特定された前記コンテンツを提示する提示ステップと
    を含む処理をコンピュータに実行させることを特徴とするプログラム。
JP2006151011A 2005-06-16 2006-05-31 情報処理装置、情報処理方法、およびプログラム Expired - Fee Related JP4752623B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006151011A JP4752623B2 (ja) 2005-06-16 2006-05-31 情報処理装置、情報処理方法、およびプログラム
US11/660,313 US7953735B2 (en) 2005-06-16 2006-06-12 Information processing apparatus, method and program
KR1020077003694A KR20080011643A (ko) 2005-06-16 2006-06-12 정보 처리 장치, 방법, 및 프로그램
CN2006800008473A CN101044484B (zh) 2005-06-16 2006-06-12 信息处理装置和信息处理方法
EP06766604A EP1804182A4 (en) 2005-06-16 2006-06-12 APPARATUS, METHOD AND PROGRAM FOR INFORMATION PROCESSING
PCT/JP2006/311742 WO2006134866A1 (ja) 2005-06-16 2006-06-12 情報処理装置、方法、およびプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005176519 2005-06-16
JP2005176519 2005-06-16
JP2006151011A JP4752623B2 (ja) 2005-06-16 2006-05-31 情報処理装置、情報処理方法、およびプログラム

Publications (3)

Publication Number Publication Date
JP2007026425A JP2007026425A (ja) 2007-02-01
JP2007026425A5 JP2007026425A5 (ja) 2009-05-07
JP4752623B2 true JP4752623B2 (ja) 2011-08-17

Family

ID=37532228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006151011A Expired - Fee Related JP4752623B2 (ja) 2005-06-16 2006-05-31 情報処理装置、情報処理方法、およびプログラム

Country Status (6)

Country Link
US (1) US7953735B2 (ja)
EP (1) EP1804182A4 (ja)
JP (1) JP4752623B2 (ja)
KR (1) KR20080011643A (ja)
CN (1) CN101044484B (ja)
WO (1) WO2006134866A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100850774B1 (ko) * 2006-11-13 2008-08-06 삼성전자주식회사 컨텐츠 분류 방법 및 그 방법을 수행할 수 있는 컨텐츠재생 장치
US20080156173A1 (en) * 2006-12-29 2008-07-03 Harman International Industries, Inc. Vehicle infotainment system with personalized content
JP4979000B2 (ja) * 2007-01-05 2012-07-18 Kddi株式会社 情報検索方法、装置およびプログラム
JP2008257414A (ja) * 2007-04-04 2008-10-23 Toyota Central R&D Labs Inc 情報選択支援システム、端末装置、情報選択支援装置、情報選択支援方法、プログラム
JP4389973B2 (ja) 2007-06-26 2009-12-24 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5135931B2 (ja) * 2007-07-17 2013-02-06 ヤマハ株式会社 楽曲加工装置およびプログラム
JP4433326B2 (ja) 2007-12-04 2010-03-17 ソニー株式会社 情報処理装置および方法、並びにプログラム
US9514472B2 (en) * 2009-06-18 2016-12-06 Core Wireless Licensing S.A.R.L. Method and apparatus for classifying content
US20110060738A1 (en) * 2009-09-08 2011-03-10 Apple Inc. Media item clustering based on similarity data
CN102088750B (zh) * 2009-12-08 2014-08-06 中国移动通信集团公司 一种多入多出技术中的传播径分簇方法和装置
KR101469021B1 (ko) 2010-03-26 2014-12-04 후지쯔 가부시끼가이샤 카테고리 생성 프로그램, 카테고리 생성 장치 및 카테고리 생성 방법
JP2012027845A (ja) * 2010-07-27 2012-02-09 Sony Corp 情報処理装置、関連文提供方法、及びプログラム
US9204200B2 (en) * 2010-12-23 2015-12-01 Rovi Technologies Corporation Electronic programming guide (EPG) affinity clusters
US8577876B2 (en) * 2011-06-06 2013-11-05 Met Element, Inc. System and method for determining art preferences of people
WO2013114755A1 (ja) * 2012-02-02 2013-08-08 株式会社コナミデジタルエンタテインメント 情報提供システム、サーバ装置、記録媒体および制御方法
WO2013114753A1 (ja) * 2012-02-02 2013-08-08 株式会社コナミデジタルエンタテインメント 情報提供システム、サーバ装置、記録媒体および制御方法
JP5551760B2 (ja) * 2012-02-02 2014-07-16 株式会社コナミデジタルエンタテインメント 情報提供システム、サーバ装置、コンピュータプログラムおよび制御方法
JP6364428B2 (ja) * 2013-02-25 2018-07-25 スン−シオン,パトリック リンク接続分析システムおよび方法
JP2015036892A (ja) * 2013-08-13 2015-02-23 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2015056139A (ja) * 2013-09-13 2015-03-23 株式会社東芝 電子機器、番組推奨システム、番組推奨方法及び番組推奨プログラム
KR20160051983A (ko) * 2014-10-30 2016-05-12 현대자동차주식회사 차량의 음악 추천 시스템 및 그 방법
JP6614457B2 (ja) * 2014-12-15 2019-12-04 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム
US10776333B2 (en) * 2016-07-22 2020-09-15 International Business Machines Corporation Building of object index for combinatorial object search
US10936653B2 (en) 2017-06-02 2021-03-02 Apple Inc. Automatically predicting relevant contexts for media items
CN109448684B (zh) * 2018-11-12 2023-11-17 合肥科拉斯特网络科技有限公司 一种智能编曲方法和系统
US10922337B2 (en) * 2019-04-30 2021-02-16 Amperity, Inc. Clustering of data records with hierarchical cluster IDs
US11003643B2 (en) * 2019-04-30 2021-05-11 Amperity, Inc. Multi-level conflict-free entity clusterings
GB2585890B (en) * 2019-07-19 2022-02-16 Centrica Plc System for distributed data processing using clustering
WO2021059473A1 (ja) * 2019-09-27 2021-04-01 ヤマハ株式会社 音響解析方法、音響解析装置およびプログラム
CN113704597A (zh) * 2020-05-21 2021-11-26 阿波罗智联(北京)科技有限公司 内容推荐方法、装置和设备
JP2022126099A (ja) * 2021-02-18 2022-08-30 富士通株式会社 情報処理プログラム、情報処理方法及び情報処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2809341B2 (ja) * 1994-11-18 1998-10-08 松下電器産業株式会社 情報要約方法、情報要約装置、重み付け方法、および文字放送受信装置。
US20050038819A1 (en) 2000-04-21 2005-02-17 Hicken Wendell T. Music Recommendation system and method
US6411724B1 (en) 1999-07-02 2002-06-25 Koninklijke Philips Electronics N.V. Using meta-descriptors to represent multimedia information
US7162482B1 (en) * 2000-05-03 2007-01-09 Musicmatch, Inc. Information retrieval engine
EP1156430A2 (en) * 2000-05-17 2001-11-21 Matsushita Electric Industrial Co., Ltd. Information retrieval system
JP3707361B2 (ja) * 2000-06-28 2005-10-19 日本ビクター株式会社 情報提供サーバ及び情報提供方法
US7073193B2 (en) * 2002-04-16 2006-07-04 Microsoft Corporation Media content descriptions
US7194527B2 (en) * 2002-06-18 2007-03-20 Microsoft Corporation Media variations browser
JP4282278B2 (ja) 2002-07-04 2009-06-17 シャープ株式会社 基板、その基板を用いた板状体の製造方法、板状体およびその板状体から作製した太陽電池
JP4142925B2 (ja) * 2002-09-24 2008-09-03 株式会社エクシング 選曲支援装置
US7657907B2 (en) * 2002-09-30 2010-02-02 Sharp Laboratories Of America, Inc. Automatic user profiling
JP2004206679A (ja) * 2002-12-12 2004-07-22 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP4003127B2 (ja) * 2002-12-12 2007-11-07 ソニー株式会社 情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラム
JP2004199544A (ja) * 2002-12-20 2004-07-15 Mitsubishi Electric Corp 商品提案支援装置及び商品提案支援方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US7120619B2 (en) 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
JP2004355340A (ja) * 2003-05-29 2004-12-16 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP4305836B2 (ja) * 2003-08-29 2009-07-29 日本ビクター株式会社 コンテンツ検索表示装置およびコンテンツ検索表示方法
US7693827B2 (en) * 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results
JP2006048286A (ja) * 2004-08-03 2006-02-16 Sony Corp 情報処理装置および方法、並びにプログラム
US7558769B2 (en) * 2005-09-30 2009-07-07 Google Inc. Identifying clusters of similar reviews and displaying representative reviews from multiple clusters

Also Published As

Publication number Publication date
KR20080011643A (ko) 2008-02-05
US20090043811A1 (en) 2009-02-12
CN101044484B (zh) 2010-05-26
US7953735B2 (en) 2011-05-31
EP1804182A1 (en) 2007-07-04
JP2007026425A (ja) 2007-02-01
EP1804182A4 (en) 2007-12-12
WO2006134866A1 (ja) 2006-12-21
CN101044484A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
JP4752623B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4378646B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US8583641B2 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
CN101821735B (zh) 生成与内容项的集合相关联的元数据
US10417576B2 (en) Information processing apparatus and method, and program thereof
EP1849099B1 (en) Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics
JP4569955B2 (ja) 情報格納及び検索方法
US20100217755A1 (en) Classifying a set of content items
EP0497960A1 (en) Adaptive ranking system for information retrieval
US20080275904A1 (en) Method of Generating and Methods of Filtering a User Profile
JP2003522993A (ja) 自動化された代替内容推奨を作成する方法及びシステム
US20060036597A1 (en) Information processing apparatus and method, recording medium, and program
US20110173195A1 (en) Information processing apparatus, information processing method, and program
CN104182413A (zh) 多媒体内容的推荐方法与系统
WO2008121872A1 (en) Cluster-based assessment of user interests
JP2008117222A (ja) 情報処理装置および方法、並びにプログラム
JP2008522311A (ja) コンテンツアイテムの関連付けに基づく自動的なコンテンツ整理
JP2002342360A (ja) 情報提供装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
JP2007115222A (ja) 情報処理装置および方法、並びにプログラム
Hossain et al. Integrated Music Recommendation System Using Collaborative and Content Based Filtering, and Sentiment Analysis
Goh et al. User song preferences using artificial intelligence
Yu Case Study: Artificial Intelligence in Spotify
Muntz et al. LARGE SCALE DATA MINING PROBLEMS: APPLICATION TO CLIENT-SIDE CACHING IN DIRECTTV
Stober Adaptive User-Centered Organization of Music Archives
Li et al. Review on The Technologies And The Assessment Methods of Recommender Systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4752623

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees