(57)【要約】      （修正有）【課題】コンテンツに対するユーザーの利用ログに基づいて、ユーザーのコンテンツに対する好みの観点からユーザークラスタを生成し、ユーザーとコンテンツとの適合の観点からコンテンツクラスタを生成するクラスタ自動生成装置並びに生成されたユーザークラスタ及びコンテンツクラスタに基づいて、少なくとも２つの観点から生成されたレコメンド情報をユーザー端末に提示するレコメンド情報生成装置を提供する。【解決手段】レコメンド情報生成装置３０は、クラスタ自動生成装置１０から、コンテンツの各々についての好み度ベクトル及びユーザーの各々についての適合度ベクトルを受け取り、コンテンツクラスタに対するユーザークラスタの親和度を含むテーブルを生成するクラスタ間親和度集計部３１１と、好み親和度テーブル及び適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部３１０と、を含む。【選択図】図９
2020149405.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置であって、
予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
１以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成し、
前記コンテンツクラスタ処理部は、すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成し、
前記利用ログ集計部は、前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出して、前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とするクラスタ自動生成装置。
【請求項２】
ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置であって、少なくとも
予め定められた数のアーティストクラスタを生成するアーティストクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを記憶した出演アーティスト記憶部と、
１以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とし、
前記利用ログ集計部は、前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成し、
前記アーティストクラスタ処理部は、すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成し、
前記利用ログ集計部は、前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記複数のアーティストクラスタの各々のアーティストクラスタ内のアーティストの前記適合度の平均値を算出して、前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とするクラスタ自動生成装置。
【請求項３】
前記利用ログは、コンテンツの各々に対するユーザー毎の視聴時間を含み、
前記利用ログ集計部は、前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、予め定められた上限値以上である場合、前記評価値を＋１とし、予め定められた下限値未満である場合、前記評価値を−１とし、前記ユーザーが前記コンテンツを利用していない場合、前記評価値を０とすること
を特徴とする請求項１又は２に記載のクラスタ自動生成装置。
【請求項４】
前記利用ログ集計部は、前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、前記予め定められた上限値未満かつ前記予め定められた下限値である場合、前記評価値を前記割合に基づく値とすること
を特徴とする請求項３に記載のクラスタ自動生成装置。
【請求項５】
前記クラスタリングは、次式を用いたｋ−ｍｅａｎｓ法を基づいて行われること
を特徴とする請求項１から４のいずれか１項に記載のクラスタ自動生成装置。
【数１】
2020149405.tif 000009
ただし、Xi は、クラスタ i についての好み度ベクトル又は適合度ベクトルであり、ｋ はクラスタ数であり、ｘ は Xi に含まれる要素であり、xi は
【数２】
2020149405.tif 000010
で算出されるクラスタ i についてのセントロイドである。
【請求項６】
請求項１、３から５のいずれか１項に記載のクラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置であって、
前記クラスタ自動生成装置から、前記コンテンツの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記コンテンツクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記コンテンツクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、１つのコンテンツクラスタに属するすべてのコンテンツについての前記好み度ベクトルの要素の平均値を要素とする、コンテンツクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、１つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するコンテンツクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とするレコメンド情報生成装置。
【請求項７】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦すること
を特徴とする請求項６に記載のレコメンド情報生成装置。
【請求項８】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝し、又は、前記適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝すること
を特徴とする請求項６に記載のレコメンド情報生成装置。
【請求項９】
請求項２から５のいずれか１項に記載のクラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置であって、
前記クラスタ自動生成装置から、前記アーティストの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記アーティストクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記アーティストクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、１つのアーティストクラスタに属するすべてのアーティストについての前記好み度ベクトルの要素の平均値を要素とする、アーティストクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのアーティストクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、１つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するアーティストクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とするレコメンド情報生成装置。
【請求項１０】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦すること
を特徴とする請求項９に記載のレコメンド情報生成装置。
【請求項１１】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、アーティストの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝し、又は、前記適合親和度テーブル内で、アーティストの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝すること
を特徴とする請求項９に記載のレコメンド情報生成装置。
【請求項１２】
情報処理装置によって実行され、予め定められた数のコンテンツクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法であって、
１以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成するステップと、
すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成するステップと、
前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出するステップと、
前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする方法。
【請求項１３】
情報処理装置によって実行され、予め定められた数のアーティストクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法であって、
１以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記情報処理装置の記憶装置に記憶された、コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とするステップと、
前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成するステップと、
すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成するステップと、
前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記アーティストクラスタ毎にアーティストの前記適合度の平均値を算出するステップと、
前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする方法。
【請求項１４】
前記利用ログは、コンテンツの各々に対するユーザー毎の視聴時間を含み、
前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、予め定められた上限値以上である場合、前記評価値は＋１であり、
予め定められた下限値未満である場合、前記評価値は−１であり、
前記ユーザーが前記コンテンツを利用していない場合、前記評価値は０であること
を特徴とする請求項１２又は１３に記載の方法。
【請求項１５】
前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、前記予め定められた上限値未満かつ前記予め定められた下限値である場合、前記評価値は前記割合に基づく値であること
を特徴とする請求項１４に記載の方法。
【請求項１６】
前記クラスタリングは、次式を用いたｋ−ｍｅａｎｓ法を基づいて行われること
を特徴とする請求項１２から１５のいずれか１項に記載の方法。
【数３】
2020149405.tif 000011
ただし、Xi は、クラスタ i についての好み度ベクトル又は適合度ベクトルであり、ｋ はクラスタ数であり、ｘ は Xi に含まれる要素であり、xi は
【数４】
2020149405.tif 000012
で算出されるクラスタ i についてのセントロイドである。
【請求項１７】
請求項１２、１４から１６のいずれか１項に記載の方法であって、
１つのコンテンツクラスタに属するすべてのコンテンツについての前記好み度ベクトルの要素の平均値を要素とする、コンテンツクラスタに対するユーザークラスタの好み親和度ベクトルを算出して、前記好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列である好み親和度テーブルを生成するステップと、
１つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するコンテンツクラスタの適合親和度ベクトルを算出して、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列である適合親和度テーブルを生成するステップと、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するステップと、
を更に含むこと
を特徴とする方法。
【請求項１８】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦することを含むこと
を特徴とする請求項１７に記載の方法。
【請求項１９】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝し、又は、前記適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝すること
を特徴とする請求項１７に記載の方法。
【請求項２０】
請求項１３から１６のいずれか１項に記載の方法であって、
１つのアーティストクラスタに属するすべてのアーティストについての前記好み度ベクトルの要素の平均値を要素とする、アーティストクラスタに対するユーザークラスタの好み親和度ベクトルを算出して、前記好み親和度ベクトルをすべてのアーティストクラスタについて並べた行列である好み親和度テーブルを生成するステップと、
１つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するアーティストクラスタの適合親和度ベクトルを算出して、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列である適合親和度テーブルを生成するステップと、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するステップと、
を更に含むこと
を特徴とする方法。
【請求項２１】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦することを含むこと
を特徴とする請求項１７に記載の方法。
【請求項２２】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、アーティストの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝し、又は、前記適合親和度テーブル内で、アーティストの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝すること
を特徴とする請求項１７に記載の方法。
【請求項２３】
１以上のユーザー端末と、前記１以上のユーザー端末とネットワークを介して接続された請求項１から４のいずれか１項に記載のクラスタ自動生成装置と、請求項６から１１のいずれか１項に記載のレコメンド情報生成装置とを含むこと
を特徴とするレコメンドシステム。
【請求項２４】
コンピュータによって実行させることで、前記コンピュータを請求項１から５のいずれか１項に記載のクラスタ自動生成装置として機能させること
を特徴とするクラスタ自動生成プログラム。
【請求項２５】
コンピュータによって実行させることで、前記コンピュータを請求項６から１１のいずれか１項に記載のレコメンド情報生成装置として機能させること
を特徴とするレコメンド情報生成プログラム。
【請求項２６】
コンピュータによって実行させることで、前記コンピュータを請求項１２から２２のいずれか１項に記載のレコメンド情報生成方法を実行する前記情報処理装置として機能させること
を特徴とするレコメンドプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラジオやテレビなど、放送型サービスにおける、ユーザーやコンテンツの自動クラスタリングと、自動レコメンドの方法に関する。具体的には、ＨＬＳ（HTTP Live Streaming）やＭＰＥＧ−ＤＡＳＨ等の音声・動画配信方式を用いたストリーム配信システムにおいて、ユーザーともいうべき視聴者のコンテンツに対する好みの度合である好み度（以下、「ＬＩＫＥ度」とも表記する。）に基づいて生成されるユーザークラスタ、及び、コンテンツの視聴者等のユーザーとコンテンツとの適合の度合である適合度（以下、「ＦＩＴ度」とも表記する。）に基づいて生成されるコンテンツクラスタに基づいて、ユーザー個人ごとに適したコンテンツ又はアーティストを推薦（レコメンド）するための装置、方法、システム及びプログラムに関する。
【背景技術】
【０００２】
従来より、インターネットなどのＩＰネットワーク経由で、ユーザーのスマートフォン、パソコン等のユーザー端末に、映像や音楽等のコンテンツをストリームデータとしてストリーミング配信を行うといったコンテンツ配信システムは、ユーザーの嗜好に合ったコンテンツを推薦するために、推薦するコンテンツに関する情報をユーザー端末に表示させることができる。
【０００３】
このようなコンテンツ配信システムで利用可能なコンテンツレコメンド手段の先行技術として、複数のユーザーの各々に関連付けて記録されたコンテンツ視聴履歴からユーザーの傾向（ユーザーの嗜好）を複数種類に分けてグループ化した複数のユーザーのグループ（以下、「クラスタ」と称する。）を生成して、ユーザーのクラスタごとにコンテンツ視聴履歴（ユーザーの嗜好）に適したコンテンツを推薦するためのレコメンド情報を提供するレコメンド情報生成装置（特許文献１）が提案されている。レコメンド情報は、推薦するコンテンツに関する情報を含むものである。
【０００４】
このようなレコメンド情報生成装置では、流行やユーザーの嗜好は日々変化していくことに対応するため、クラスタへのユーザーの割当てが固定的にならないように、所定の周期で、当該時点のコンテンツ履歴に基づいてユーザーをクラスタへ割り当て直す処理（以下「クラスタリング処理」という。）が実行されている。
【０００５】
また、コンテンツ配信システムで利用可能なコンテンツレコメンド手段の別の先行技術として、各ユーザーのユーザー特性ベクトルを取得し、取得された各ユーザーのユーザー特性ベクトルに基づいてユーザー間の類似度を算出するレコメンド情報生成装置（特許文献２）が提案されている。当該レコメンド情報生成装置は、算出された類似度に基づいて一のユーザーと類似する類似ユーザーを選択し、選択された類似ユーザーの特徴ベクトルに基づいて、一のユーザーに対するレコメンド情報を生成することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２００６１２号公報
【特許文献２】特開２００９−２５２１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のとおり、先行技術のレコメンド情報生成装置では、各ユーザーのコンテンツ視聴履歴（特許文献１参照）又は各ユーザーのコンテンツ評価情報（特許文献２参照）といった、ユーザー側から得られた情報を、１つの観点（軸）として、ユーザーの嗜好に対応するクラスタやユーザー特徴ベクトルを生成して、レコメンド情報を提供することができる。
【０００８】
しかしながら、１つの観点に基づいて生成されたレコメンド情報では、ユーザーの多種多様な嗜好に、十分に対応しているとはいえない。そこで、より柔軟にユーザーの嗜好に合ったレコメンド情報を生成するために、複数の観点（軸）に基づいて様々なレコメンド情報を生成できる仕組みを提供することが課題として挙げられる。
【０００９】
上述の課題を解決するために、本発明では、コンテンツ配信システムが配信するコンテンツに対するユーザーの評価値及び視聴情報等を含む利用ログに基づいて、ユーザーのコンテンツに対する好みの観点から（好みの度合であるLIKE度（好み度）に基づいて）ユーザークラスタを生成し、ユーザーとコンテンツとの適合の観点から（適合の度合であるFIT度（適合度）に基づいて）コンテンツクラスタを生成することが可能なクラスタ自動生成装置、及び、クラスタ自動生成装置によって生成されたユーザークラスタ及びコンテンツクラスタに基づいて、少なくとも２つの観点から生成されたレコメンド情報をユーザーが使用するユーザー端末に提示することが可能なレコメンド情報生成装置を提供する。また、クラスタ自動生成装置及びレコメンド情報生成装置に関連する方法、システム及びプログラムを提供する。
【課題を解決するための手段】
【００１０】
本発明に係るクラスタ自動生成装置の１つの実施形態として、ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置は、予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
１以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成し、
前記コンテンツクラスタ処理部は、すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成し、
前記利用ログ集計部は、前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出して、前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とする。
【００１１】
本発明に係るクラスタ自動生成装置の別の実施形態として、ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置は、少なくとも
予め定められた数のアーティストクラスタを生成するアーティストクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを記憶した出演アーティスト記憶部と、
１以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とし、
前記利用ログ集計部は、前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成し、
前記アーティストクラスタ処理部は、すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成し、
前記利用ログ集計部は、前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記複数のアーティストクラスタの各々のアーティストクラスタ内のアーティストの前記適合度の平均値を算出して、前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とする。
【００１２】
本発明に係るレコメンド情報生成装置の１つの実施形態として、前記クラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置は、前記コンテンツの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記コンテンツクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記コンテンツクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、１つのコンテンツクラスタに属するすべてのコンテンツについての前記好み度ベクトルの要素の平均値を要素とする、コンテンツクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、１つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するコンテンツクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とする。
【００１３】
本発明に係るレコメンド情報生成装置の別の実施形態として、前記クラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置は、
前記クラスタ自動生成装置から、前記アーティストの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記アーティストクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記アーティストクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、１つのアーティストクラスタに属するすべてのアーティストについての前記好み度ベクトルの要素の平均値を要素とする、アーティストクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのアーティストクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、１つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するアーティストクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とする。
【００１４】
本発明に係るレコメンド情報を生成するためのレコメンド情報生成方法の１つの実施形態として、情報処理装置によって実行され、予め定められた数のコンテンツクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法は、
１以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成するステップと、
すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成するステップと、
前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出するステップと、
前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする。
【００１５】
本発明に係るレコメンド情報を生成するためのレコメンド情報生成方法の別の実施形態として、情報処理装置によって実行され、予め定められた数のアーティストクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法は、
１以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記情報処理装置の記憶装置に記憶された、コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とするステップと、
前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成するステップと、
すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成するステップと、
前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記アーティストクラスタ毎にアーティストの前記適合度の平均値を算出するステップと、
前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする。
【００１６】
本発明に係るレコメンドシステムの１つの実施形態として、レコメンドシステムは、１以上のユーザー端末と、前記１以上のユーザー端末とネットワークを介して接続された請求項１から４のいずれか１項に記載のクラスタ自動生成装置と、請求項６から１１のいずれか１項に記載のレコメンド情報生成装置とを含むこと
を特徴とする。
【００１７】
本発明に係るクラスタ自動生成プログラムの１つの実施形態として、クラスタ自動生成プログラムは、コンピュータによって実行させることで、前記コンピュータを前記クラスタ自動生成装置として機能させること
を特徴とする。
【００１８】
本発明に係るレコメンド情報生成プログラムの１つの実施形態として、レコメンド情報生成プログラムは、コンピュータによって実行させることで、前記コンピュータを前記レコメンド情報生成装置として機能させること
を特徴とする。
【００１９】
本発明に係るレコメンドプログラムの１つの実施形態として、レコメンドプログラムは、コンピュータによって実行させることで、前記コンピュータを、前記レコメンド情報生成方法を実行する前記情報処理装置として機能させること
を特徴とする。
【発明の効果】
【００２０】
本発明に係るクラスタ自動生成装置及びレコメンド情報生成装置は、ユーザークラスタ及びコンテンツクラスタ（又は、アーティストクラスタ）等に基づいて、複数の観点から生成したレコメンド情報をユーザーに提示することができる。これにより、１つの観点の観点でレコメンド情報を提示していた先行技術に比べて、よりユーザーの多種多様な嗜好に対応することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るクラスタ自動生成装置の構成を示す概略構成図（システム構成図）である。
【図２】本発明の一実施形態に係るクラスタ自動生成装置及びユーザー端末の機能的構成の一例を示す概略構成図（ブロック図）である。である。
【図３】クラスタ自動生成装置における処理の流れを示すフローチャートである。
【図４】ユーザー端末とクラスタ自動生成装置の各処理部とのデータ及び指示等のやり取りを説明するシーケンス図である。
【図５】コンテンツに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。
【図６】ユーザークラスタ毎の平均（ＬＩＫＥベクトル）を記憶したテーブル及びコンテンツクラスタ毎の平均（ＦＩＴベクトル）を記憶したテーブルの一例を示す図である。
【図７】コンテンツクラスタを記憶したテーブル及びユーザークラスタを記憶したテーブルの一例を示す図である。
【図８】視聴者クラスタ（ユーザークラスタ）の好み度（ＬＩＫＥ度）を軸とするコンテンツ空間及びコンテンツクラスタの適合度（ＦＩＴ度）を軸とするユーザー空間を示す概念図である。
【図９】本発明の一実施形態に係るレコメンド情報生成装置及び自動生成装置の構成を示す概略構成図（システム構成図）である。
【図１０】レコメンド情報生成装置における好み親和度テーブルに基づく推薦処理の流れを示すフローチャートである。
【図１１】レコメンド情報生成装置における適合親和度テーブルに基づく推薦処理の流れを示すフローチャートである。
【図１２】ユーザー端末とクラスタ自動生成装置の各処理部とレコメンド情報生成装置とのデータ及び指示等のやり取りを説明するシーケンス図である。
【図１３】コンテンツクラスタとユーザークラスタの親和度のテーブル（好み親和度テーブル）及びユーザークラスタとコンテンツクラスタの親和度のテーブル（適合親和度テーブル）の一例を示す図である。
【図１４】本発明の別の実施形態に係る自動生成装置及びレコメンド情報生成装置の構成を示す概略構成図（システム構成図）である。
【図１５】コンテンツに対する出演者（アーティスト）を記憶したテーブルの一例を示す図である。
【図１６】アーティストに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。
【図１７】ユーザークラスタ毎の平均（ＬＩＫＥベクトル）を記憶したテーブル及びアーティストクラスタ毎の平均（ＦＩＴベクトル）を記憶したテーブルの一例を示す図である。
【図１８】アーティストクラスタを記憶したテーブルの一例を示す図である。
【発明を実施するための形態】
【００２２】
以下に図面を参照して、本発明の一実施形態について説明する。なお、実施の形態を説明するための全ての図において、同じものには原則として同一の符号を付し、その繰り返しの説明は省略する。本発明の個々の実施形態は、独立したものではなく、それぞれ組み合わせて適宜実施することができる。
【００２３】
本発明の一実施形態に係るクラスタ自動生成装置の構成を示す概略構成図（システム構成図）である。クラスタ自動生成装置１０は、ネットワークＮを介して、１以上のユーザー端末２０と通信可能に接続される。なお、図１中では、１以上のユーザー端末２０として、ユーザー端末２０ａ、ユーザー端末２０ｂ及びユーザー端末２０ｃとして図示している。ただし、以下の説明において、これら１以上のユーザー端末を区別することなく説明する場合には、符号の一部を省略して、単に「ユーザー端末２０」と表記する。
【００２４】
クラスタ自動生成装置１０は、例えばサーバ装置により実現され、ユーザー端末２０は、スマートフォン、携帯端末等により実現される。ネットワークＮは、例えば、インターネット、携帯電話網といったネットワーク、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、あるいはこれらを組み合わせたネットワークにより実現される。
【００２５】
ユーザー端末２０は、ラジオやテレビなど、放送型サービス（例えば、電波による放送をインターネットなどのＩＰネットワーク経由で同じ時間帯に同時配信するＩＰサイマル放送）を提供するＨＬＳ（HTTP Live Streaming）、ＭＰＥＧ−ＤＡＳＨ等の音声・動画配信方式を用いたストリーム配信システム（図示せず）や、映像や音楽等のコンテンツをストリームデータとしてストリーミング配信を行うといったその他のコンテンツ配信システム（図示せず）等においてコンテンツを利用することができる。ユーザー端末２０は、コンテンツを利用した履歴（例えば、ユーザーＩＤ、コンテンツＩＤ、ユーザー視聴時間、コンテンツの視聴に要する全体時間等を含むデータ）を利用ログとして記憶することができる。
【００２６】
図２は、本発明の一実施形態に係るクラスタ自動生成装置及びユーザー端末の機能的構成の一例を示す概略構成図（ブロック図）である。なお、図中では、クラスタ自動生成装置１０のハードウェアに対応する符号には括弧を付すことなく記載し、ユーザー端末２０のハードウェアに対応する符号には括弧を付して記載する。
【００２７】
クラスタ自動生成装置１０を実現するサーバ装置は、例示的に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなるメモリ１２と、バス１３と、入出力インターフェース１４と、入力部１５と、出力部１６と、記憶部１７と、通信部１８と、を備えている。
【００２８】
ＣＰＵ１１は、メモリ１２に記録されているプログラム、又は、記憶部１７からメモリ１２にロードされたプログラムにしたがって各種の処理を実行する。ＣＰＵ１１は、例えば、サーバ装置を本発明のクラスタ自動生成装置１０として機能させるためのプログラムを実行することができる。また、クラスタ自動生成装置１０の少なくとも一部の機能を、特定用途向け集積回路（ＡＳＩＣ）等でハードウェア的に実装することも可能である。
【００２９】
メモリ１２には、ＣＰＵ１１が各種の処理を実行する上において必要なデータ等も適宜記憶される。ＣＰＵ１１及びメモリ１２は、バス１３を介して相互に接続されている。このバス１３には、入出力インターフェース１４も接続されている。入出力インターフェース１４には、入力部１５と、出力部１６と、記憶部１７と、通信部１８と、が接続されている。
【００３０】
入力部１５は、各種ボタン、タッチパネルあるいはマイク等で構成され、クラスタ自動生成装置１０の管理者等の指示操作に応じて各種情報を入力する。なお、入力部１５は、クラスタ自動生成装置１０の他の各部を収容する本体とは独立した、キーボードやマウス等の入力装置により実現されてもよい。
【００３１】
出力部１６は、ディスプレイやスピーカ等で構成されており、画像データや音楽データを出力する。出力部１６が出力した画像データや音楽データは、ディスプレイやスピーカ等から、画像や音楽としてプレイヤが認識可能に出力される。
【００３２】
記憶部１７は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリで構成され、各種データを記憶する。
【００３３】
通信部１８は、他の装置との間で行う通信を実現する。例えば、通信部１８は、ネットワークＮを介して、ユーザー端末２０との間で相互に通信を行う。
【００３４】
なお、クラスタ自動生成装置１０を実現するサーバ装置には、不図示であるがドライブを必要に応じて適宜設けられる。ドライブには、例えば、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等から構成されるリムーバブルメディアが適宜装着される。リムーバブルメディアには、レコメンド情報生成するためのプログラムや、画像データ等の各種データが格納される。ドライブによってリムーバブルメディアから読み出されたプログラムや、画像データ等の各種のデータは、必要に応じて記憶部１７にインストールされる。
【００３５】
次に、ユーザー端末２０のハードウェアの構成について説明する。ユーザー端末２０は、図２に示すように、例示的に、ＣＰＵ２１と、メモリ２２と、バス２３と、入出力インターフェース２４と、入力部２５と、出力部２６と、記憶部２７と、通信部２８と、を備えている。これら各部は、上述のクラスタ自動生成装置１０を実現するサーバ装置が備える、符号のみが異なる同名の各部と同等の機能を有している。従って、重複する説明を省略する。なお、ユーザー端末２０を、携帯型の装置として構成する場合には、ユーザー端末２０が備える各ハードウェアと、ディスプレイやスピーカとを一体の装置として実現するようにしてもよい。
【００３６】
再び図１を参照すると、ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置１０は、予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部１１０と、予め定められた数のユーザークラスタを生成するユーザークラスタ処理部１１１と、１以上のユーザー端末から利用ログを受け取る利用ログ集計部１１２とを含む。例えば、クラスタ自動生成装置１０が備えるＣＰＵ１１においてプログラムを実行することで、ＣＰＵ１１をコンテンツクラスタ処理部１１０、ユーザークラスタ処理部１１１及び利用ログ集計部１１２として機能させることができる。各部における処理の流れについては、図３及び図４を参照して説明する。
【００３７】
本発明に係るクラスタ自動生成装置１０では、前提条件として、可能な限り、どのコンテンツも、少なくともひとりのユーザーが利用すること、かつ、どのユーザーも、少なくともひとつのコンテンツを利用することという条件をみたすコンテンツ配信サービスを対象とする。例えば、何千万曲もある音楽サブスクサービスで、ユーザーが数千人しかいない場合のような、誰にも利用されないコンテンツがある状況は対象としない。
【００３８】
図３は、クラスタ自動生成装置における処理の流れを示すフローチャートである。図４は、ユーザー端末とクラスタ自動生成装置の各処理部とのデータ及び指示等のやり取りを説明するシーケンス図である。主に、図３のフローチャートでクラスタ自動生成装置１０の処理の流れを説明し、補足的に、図４のシーケンス図でクラスタ自動生成装置１０のコンテンツクラスタ処理部１１０、ユーザークラスタ処理部１１１及び利用ログ集計部１１２と、ユーザー端末２０とのデータ、指示等のやり取りについて説明する。
【００３９】
図３におけるステップＳ１において、まず、クラスタ自動生成装置１０のコンテンツクラスタ処理部１１０は、コンテンツクラスタの数を予め定めた数に設定し、ユーザークラスタ処理部１１１は、ユーザークラスタの数を予め定めた数に設定する。ステップＳ１の処理は、図４のシーケンス図では、ステップＴ０1及びＴ０2に相当する。例えば、ユーザークラスタは５０個、コンテンツクラスタは１００個に分ける、と決めておくことができる。
【００４０】
コンテンツクラスタ及びユーザークラスタは、所定のタイミングで繰り返し生成されるが、本発明の１つの実施形態においては、予め定められたコンテンツクラスタ数及びユーザークラスタ数は、繰り返しの度に変化するものではない。つまり、設定したクラスタ数は、自動クラスタリングのひとつのフェーズが完了するまでは変更されない。なお、予め定めた数は、例えば、クラスタ自動生成装置１０の管理者によって入力部１５を介して与えられる。
【００４１】
ステップＳ２では、ユーザークラスタ処理部１１１が、ユーザークラスタの初期状態を任意に設定する。例えば、ランダムにユーザーを１人ずつ選択して（より正確には、ユーザーに対応するユーザーＩＤを無作為に選択して）、順番にクラスタを割り当てることができる。ユーザークラスタは、後の処理で最適化される（最適にクラスタ分けされる）ため、恣意的に分ける必要は無い。例えば、１０００人のユーザーがいる場合、ランダムに２０人ずつに分けて、それらを[ユーザークラスタ１]から[ユーザークラスタ５０]とすることができる。ステップＳ２は、図４のステップＴ０3に相当する。
【００４２】
ステップＳ３では、ユーザー端末２０において、予め定められた期間（Ｌ１（ＬＩＫＥ期間１の略））に渡って、ユーザーが利用したコンテンツを評価し、クラスタ自動生成装置１０の利用ログ集計部１１２がそのログ（以下、「利用ログ」と呼ぶ。）を収集する。ステップＳ３の処理は、図４のステップＴ１に相当し、ユーザー端末２０は所定のタイミング（予め定められた期間Ｌ１）が到来すると、ユーザーが利用したコンテンツの評価を利用ログとして、クラスタ自動生成装置１０に通知する。クラスタ自動生成装置１０とユーザー端末２０との間のデータの送受信は、ネットワークＮを介して、図２に示すように、通信部１８及び通信部２８で行うことができる。
【００４３】
利用ログは、基本的には、視聴者であるユーザーのコンテンツの視聴時間に応じて
・最初だけ利用してすぐにやめた  ＝  そのユーザーはそのコンテンツを好まなかった（好み度（ＬＩＫＥ度）＝-1）
・最後まで利用した  ＝  そのユーザーはそのコンテンツを好んだ（好み度＝+1）
・利用していない  ＝  そのユーザーはそのコンテンツを好むかどうか不明（好み度＝0）
という考え方で、視聴時間に応じて評価値である好み度（ＬＩＫＥ度）が、ユーザー毎に記録される。利用ログへの記録は、上述した前提条件により、すべてのコンテンツについて、少なくともひとりのユーザーが利用していることを前提とする。誰も利用していないコンテンツについては、クラスタ自動生成装置１０の処理対象としないことができる。
【００４４】
具体的には、好み度（ＬＩＫＥ度）についての評価値の決め方は、利用ログに含まれるコンテンツの各々に対するユーザー毎の視聴時間に基づくもので、クラスタ自動生成装置１０の利用ログ集計部１１２において処理することができる。利用ログ集計部１１２は、コンテンツの視聴に要する全体時間のうちユーザーの視聴時間の割合（＝ユーザー視聴時間／コンテンツの視聴に要する全体時間）が、予め定められた上限値以上である場合、評価値を＋１とし、予め定められた下限値未満である場合、評価値を−１とし、ユーザーが前記コンテンツを利用していない場合、評価値を０とする。予め定められた上限値及び下限値は、クラスタ自動生成装置１０の管理者等によって与えられる。
【００４５】
また、利用ログ集計部１１２は、コンテンツの視聴に要する全体時間のうちユーザーの視聴時間の割合（視聴割合）が、予め定められた上限値未満かつ予め定められた下限値である場合、評価値を割合に基づく値とすることができる。例えば、視聴者であるユーザーがコンテンツを途中まで視聴してやめた場合に
・最初(コンテンツ全体の1/10未満)だけ利用してすぐにやめた  ＝  -1
・コンテンツ全体の1/10以上、1/4未満  ＝  +0.3
・コンテンツ全体の1/4以上、1/2未満  ＝  +0.5
・コンテンツ全体の1/2以上、3/4未満  ＝  +0.7
・コンテンツ全体の3/4以上、全体未満  ＝  +0.9
という考え方で、予め定められた上限値未満かつ予め定められた下限値である場合に、評価値を視聴割合に基づいて定めることができる。
【００４６】
本発明の一実施形態では、クラスタ自動生成装置１０側で、利用ログに基づいて評価値を算出する処理を行っているが、これに限定されるものではなく、ユーザー端末２０側で同様の処理を行ってもよい。この場合、ユーザー端末２０は、コンテンツを利用した履歴（利用ログ）に、ユーザーＩＤ、コンテンツＩＤ、ユーザー視聴時間及びコンテンツの視聴に要する全体時間等のデータの他に、視聴割合（＝ユーザー視聴時間／コンテンツの視聴に要する全体時間）、評価値（−１、０、＋１の３段階の値又は−１から１までの値）を追加して記憶することができる。
【００４７】
以上のような処理によって、利用ログは、図５に示すように、コンテンツの各々に対するユーザー毎の評価値を含む。図５は、コンテンツに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。例えば、コンテンツＩＤ：「Ｃ１」は、ユーザーＩＤ：「Ｕ１」、「Ｕ５」で評価値が＋１（＝そのユーザーはそのコンテンツを好んだということ）であり、ユーザーＩＤ：「Ｕ２」、「Ｕ４」で評価値が−１（＝そのユーザーはそのコンテンツを好まなかったということ）であり、ユーザーＩＤ：「Ｕ３」で評価値が０（＝そのユーザーはそのコンテンツを好むかどうか不明）である。
【００４８】
図３のフローチャート及び図４のシーケンス図を再び参照すると、図３のステップＳ４では、利用ログ集計部１１２は、各コンテンツについて、利用ログに含まれる評価値についてユーザークラスタ毎の平均値を算出して、ユーザークラスタ毎の好み度（ＬＩＫＥ度）の平均値を要素とする好み度ベクトル（以下、「ＬＩＫＥベクトル」とも呼ぶ。）をコンテンツ毎に生成する。例えば、利用ログ集計部１１２は、図６（ａ）に示すようなコンテンツに対するユーザーの評価値の、ユーザークラスタ毎の平均（ＬＩＫＥベクトル）テーブルを生成することができる。
【００４９】
図３のステップＳ４の具体的なデータ等のやり取りは、図４のステップＴ２からＴ４に示される。図４のステップＴ２では、利用ログ集計部１１２は、ユーザーの属するユーザークラスタを、ユーザークラスタ処理部１１１に問い合わせを行うために、図５に示すような利用ログテーブルに含まれるユーザーＩＤをユーザークラスタ処理部１１１に送信し、ステップＴ３において、利用ログ集計部１１２は、当該ユーザーＩＤが含まれるユーザークラスタのＩＤを応答としてユーザークラスタ処理部１１１から得ることができる。
【００５０】
ユーザークラスタ処理部１１１は、利用ログ集計部１１２から受信したユーザーＩＤをキーとして、例えば、図７（ｂ）に示すようなユーザークラスタテーブルを検索して、ユーザーが分類されるユーザークラスタ（つまり、ユーザーＩＤに対応するユーザークラスタＩＤ）を探すことができる。ユーザーＩＤとユーザークラスタＩＤとの対応関係（ユーザークラスタに含まれるユーザー）は、図７（ｂ）に示すようなユーザークラスタテーブルに記憶される。例えば、ユーザーＩＤ：「Ｕ１」のユーザーを含むユーザークラスタのＩＤは「ＵＣＬ４９」である。
【００５１】
図４のシーケンス図に戻ると、ステップＴ４において、利用ログ集計部１１２は、各コンテンツについて利用ログの評価値をユーザーがコンテンツを好むか否かを表す好み度（ＬＩＫＥ度）として使用し、ユーザークラスタ毎にユーザーの好み度の平均値を算出して、ユーザークラスタ毎の好み度（ＬＩＫＥ度）の平均値を要素とする好み度ベクトル（ＬＩＫＥベクトル）をコンテンツ毎に生成する。
【００５２】
例えば、コンテンツ0000（番組A）について、
・ユーザークラスタ1に属するユーザーの好み度（ＬＩＫＥ度）の平均  ＝  0.7
・ユーザークラスタ2に属するユーザーの好み度の平均  ＝  0.3
・ユーザークラスタ3に属するユーザーの好み度の平均  ＝  -0.4
・・（中略）・・
・ユーザークラスタ50に属するユーザーの好み度の平均  ＝  -0.6
のとき、コンテンツ0000(番組A)の好み度ベクトル（ＬＩＫＥベクトル）
＝  [0.7, 0.3, -0.4, ... , -0.6]  （要素が50個の配列）となる。
【００５３】
図６（ａ）は、利用ログ集計部１１２により生成された、ユーザークラスタ毎の平均値を要素とする好み度ベクトル（ＬＩＫＥベクトル）の一例を示す。例えば、コンテンツＩＤ：「Ｃ１」についての好み度ベクトルは、ユーザークラスタＩＤ：「ＵＣＬ０１」、「ＵＣＬ０２」、「ＵＣＬ０３」、「ＵＣＬ０４」・・（中略）・・「ＵＣＬ５０」に対応して、（＋０．３，−０．２，＋０．７，０，・・（中略）・・，＋０．４）といった値を要素（成分）として有する。
【００５４】
次に、図３のフローチャートにおいて、ステップＳ５に進み、コンテンツクラスタ処理部１１０は、すべてのコンテンツを、上記ユーザークラスタ毎の評価平均値を座標として、ユーザークラスタ数を次元とするベクトル空間にプロットする。そして、ステップＳ６において、コンテンツクラスタ処理部１１０は、上記のベクトル空間において、コンテンツを、ｋ−ｍｅａｎｓ法などのクラスタリング手法によって、最初に設定した数（ステップＳ１）のコンテンツクラスタにクラスタリングする。
【００５５】
つまり、コンテンツクラスタ処理部１１０は、すべてのコンテンツをユーザークラスタの数だけの次元を持つ好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成することができる。図４のシーケンス図では、ステップＴ５からＴ６が図３のステップＳ５からＳ６に対応するものである。ステップＴ５において、利用ログ集計部１１２は、各コンテンツに対する、ユーザークラスタ毎の利用ログの平均値、つまり、図６（ａ）に示したような好み度ベクトル（ＬＩＫＥベクトル）テーブルから好み度ベクトルを、コンテンツクラスタ処理部１１０に通知することができる。または、コンテンツクラスタ処理部１１０は、好み度ベクトル（ＬＩＫＥベクトル）テーブルを参照して、各コンテンツに対する好み度ベクトルを取得することができる。
【００５６】
ステップＴ６において、コンテンツクラスタ処理部１１０は、ｋ−ｍｅａｎｓ法等のクラスタリング手法を用いて、コンテンツをユーザークラスタ数の次元のベクトル空間内でクラスタリングを行うことができる。クラスタ自動生成装置１０で用いられるｋ−ｍｅａｎｓ法（ｋ−平均法）は、次式に基づいて行われる。
【数１】
2020149405.tif 000003
ただし、Xi は、クラスタ i についての好み度ベクトル又は適合度ベクトルであり、ｋ はクラスタ数であり、ｘ は Xi に含まれる要素であり、xi は
【数２】
2020149405.tif 000004
で算出されるクラスタ i についてのセントロイドである。
【００５７】
ｋ−ｍｅａｎｓ法の基本的なアルゴリズムは、入力はデータ集合 X とクラスタ数 k 、および最大反復数 maxIter としたとき、次のようなステップに基づいてクラスタリングを行う。
1. 初期化：データ集合をランダムに k 個のクラスタ分割し、初期クラスタを得る。
2. 各クラスタについてセントロイド 
【数３】
2020149405.tif 000005
を計算する。
3. 全てのデータ 
【数４】
2020149405.tif 000006
を，各クラスタのセントロイド
【数５】
2020149405.tif 000007
との距離 
【数６】
2020149405.tif 000008
を最小にするクラスタ Xi へ割り当てる。
4. 前の反復とクラスタに変化がないか反復数が maxIter を超えたら終了しクラスタ {Xi}を出力し、そうでなければ、ステップ２に戻る。
【００５８】
例えば、ｋ−ｍｅａｎｓ法を用いて、事前に設定した数（１００個）のクラスタに自動的に分ける場合、コンテンツの総数が10000個だとして、それが100個のクラスタに自動的に分かれて、
・コンテンツクラスタ1には129個のコンテンツ  、クラスタの中心点＝コンテンツ0023
・コンテンツクラスタ2には73個のコンテンツ  、クラスタの中心点＝コンテンツ0342
・コンテンツクラスタ3には303個のコンテンツ  、クラスタの中心点＝コンテンツ8870
・・（中略）・・
・コンテンツクラスタ100には98個のコンテンツ  、クラスタの中心点＝コンテンツ0913
といったコンテンツクラスタをコンテンツクラスタ処理部１１０において生成することができる。
【００５９】
本発明の一実施形態では、クラスタ自動生成装置１０は、ｋ−ｍｅａｎｓ法に基づいてクラスタリングを行っているが、これに限定されるものではなく、最短距離法、最長距離法、群平均法、ウォード法などの階層的手法に基づくクラスタリング手法を用いてもよい。
【００６０】
図３に示すフローチャートのステップＳ３からＳ６（図４に示すシーケンス図では、ステップＴ１からＴ６）で、コンテンツクラスタが生成される。ユーザークラスタについてもコンテンツクラスタの生成と同様の方法により、図３に示すフローチャートのステップＳ７からＳ１０（図４に示すシーケンス図では、ステップＴ７からＴ１２）に基づいて生成される。
【００６１】
図３に示すフローチャートのステップＳ７では、ユーザー端末２０において、予め定められた期間（Ｆ１（ＦＩＴ期間１の略））に渡って、ユーザーが利用したコンテンツを評価し、クラスタ自動生成装置１０の利用ログ集計部１１２がそのログ（利用ログ）を収集する。ステップＳ７の処理は、図４のステップＴ７に相当し、ユーザー端末２０は所定のタイミング（予め定められた期間Ｆ１）が到来すると、ユーザーが利用したコンテンツの評価を利用ログとして、クラスタ自動生成装置１０に通知する。
【００６２】
利用ログは、基本的には、コンテンツに対するユーザー（視聴者）の視聴時間に応じて
・最初だけ利用してすぐにやめた  ＝  そのコンテンツはそのユーザーにふさわしくなかった（適合度（ＦＩＴ度）＝-1）
・最後まで利用した  ＝  そのコンテンツはそのユーザーにふさわしかった（適合度（FIT度）＝+1）
・利用していない  ＝  そのコンテンツはそのユーザーにふさわしいかどうか不明（適合度（FIT度）＝0）
という考え方で、視聴時間に応じて評価値である適合度（ＦＩＴ度）が、コンテンツ毎に記録される。適合度（ＦＩＴ度）についての評価値の決め方は、先に説明した好み度（ＬＩＫＥ度）についての評価値の決め方と同様である。利用ログの一例は、図５に示すとおりである。
【００６３】
図３のフローチャートのステップＳ８では、利用ログ集計部１１２は、各コンテンツについて、利用ログに含まれる評価値についてコンテンツクラスタ毎の平均値を算出して、コンテンツクラスタ毎の適合度（ＦＩＴ度）の平均値を要素とする適合度ベクトル（以下、「ＦＩＴベクトル」とも呼ぶ。）をコンテンツ毎に生成する。例えば、利用ログ集計部１１２は、図６（ｂ）に示すような各ユーザーがコンテンツに与えら評価値の、コンテンツクラスタ毎の平均（ＦＩＴベクトル）テーブルを生成することができる。
【００６４】
図３のステップＳ８の具体的なデータ等のやり取りは、図４のステップＴ８からＴ１０に示される。図４のステップＴ８では、利用ログ集計部１１２は、コンテンツの属するコンテンツクラスタを、コンテンツクラスタ処理部１１０に問い合わせを行うために、図５に示すような利用ログテーブルに含まれるコンテンツＩＤをコンテンツクラスタ処理部１１０に送信し、ステップＴ９において、利用ログ集計部１１２は、当該コンテンツＩＤが含まれるコンテンツクラスタのＩＤを応答としてコンテンツクラスタ処理部１１０から得ることができる。
【００６５】
コンテンツクラスタ処理部１１０は、利用ログ集計部１１２から受信したコンテンツＩＤをキーとして、例えば、図７（ａ）に示すようなコンテンツクラスタテーブルを検索して、コンテンツが分類されるコンテンツクラスタ（つまり、コンテンツＩＤに対応するコンテンツクラスタＩＤ）を探すことができる。コンテンツＩＤとコンテンツクラスタＩＤとの対応関係（コンテンツクラスタに含まれるコンテンツ）は、図７（ａ）に示すようなコンテンツクラスタテーブルに記憶される。例えば、コンテンツＩＤ：「Ｃ１」のコンテンツを含むコンテンツクラスタのＩＤは「ＣＣＬ９９」である。
【００６６】
図４のシーケンス図に戻ると、ステップＴ１０において、利用ログ集計部１１２は、各ユーザーについて利用ログの評価値をコンテンツがユーザーに適するか否かを表す適合度（ＦＩＴ度）として使用し、コンテンツクラスタ毎にコンテンツの適合度（ＦＩＴ度）の平均値を算出して、コンテンツクラスタ毎の適合度（ＦＩＴ度）の平均値を要素とする適合度ベクトル（ＦＩＴベクトル）をユーザー毎に生成する。
【００６７】
例えば、ユーザー1000（aさん）について、
・コンテンツクラスタ1に属するコンテンツの適合度（ＦＩＴ度）の平均  ＝  0.2
・コンテンツクラスタ2に属するコンテンツの適合度の平均  ＝  0.8
・コンテンツクラスタ3に属するコンテンツの適合度の平均  ＝  -0.5
・・（中略）・・
・コンテンツクラスタ100に属するコンテンツの適合度の平均  ＝  -0.3
のとき、ユーザー1000（aさん）の適合度ベクトル（ＦＩＴベクトル）
＝  [0.2, 0.8, -0.5, ... , -0.3]  （要素が100個の配列）となる。
【００６８】
図６（ｂ）は、利用ログ集計部１１２により生成された、コンテンツクラスタ毎の平均値を要素とする適合度ベクトル（ＦＩＴベクトル）の一例を示す。例えば、ユーザーＩＤ：「Ｕ１」についての適合度ベクトルは、コンテンツクラスタＩＤ：「ＣＣＬ０１」、「ＣＣＬ０２」、「ＣＣＬ０３」、「ＣＣＬ０４」・・（中略）・・「ＣＣＬ５０」に対応して、（−０．２、＋０．３、−０．１、０，・・（中略）・・，−０．２）といった値を要素（成分）として有する。なお、図５から７に示すテーブルは、例えば、クラスタ自動生成装置１０の記憶部１７に記憶することができる。
【００６９】
次に、図３のフローチャートにおいて、ステップＳ９に進み、ユーザークラスタ処理部１１１は、すべてのユーザーを、上記コンテンツクラスタ毎の評価平均値を座標として、コンテンツクラスタ数を次元とするベクトル空間にプロットする。そして、ステップＳ１０において、ユーザークラスタ処理部１１１は、上記のベクトル空間において、ユーザーを、ｋ−ｍｅａｎｓ法などのクラスタリング手法によって、最初に設定した数（ステップＳ１）のユーザークラスタにクラスタリングする。
【００７０】
つまり、ユーザークラスタ処理部１１１は、すべてのユーザーをコンテンツクラスタの数だけの次元を持つ適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成することができる。図４のシーケンス図では、ステップＴ１１からＴ１２が図３のステップＳ９からＳ１０に対応するものである。ステップＴ１１において、利用ログ集計部１１２は、各ユーザーに対する、コンテンツクラスタ毎の利用ログの平均値、つまり、図６（ｂ）に示したような適合度ベクトル（ＦＩＴベクトル）テーブルから適合度ベクトルを、ユーザークラスタ処理部１１１に通知することができる。または、ユーザークラスタ処理部１１１は、適合度ベクトル（ＦＩＴベクトル）テーブルを参照して、各ユーザーに対する適合度ベクトルを取得することができる。
【００７１】
ステップＴ１２において、ユーザークラスタ処理部１１１は、ｋ−ｍｅａｎｓ法等のクラスタリング手法を用いて、ユーザーをコンテンツクラスタ数の次元のベクトル空間内でクラスタリングを行うことができる。クラスタ自動生成装置１０で用いられるｋ−ｍｅａｎｓ法（ｋ−平均法）等のクラスタリング手法は、既に説明したとおりである。
【００７２】
例えば、初期状態として、１０００人のユーザーを任意に２０人ずつに分けた５０個のユーザークラスタを、ｋ−ｍｅａｎｓ法を用いて再度クラスタリングを行う場合（すなわち、ユーザーを事前に設定した数（５０個）のクラスタに再配置する場合）、初期のユーザークラスタは２０人ずつだったが、この再配置により、
・ユーザークラスタ1 ＝  12人、中心点＝ユーザー076
・ユーザークラスタ2 ＝  25人、中心点＝ユーザー136
・ユーザークラスタ3 ＝  17人、中心点＝ユーザー406
・・（中略）・・
・ユーザークラスタ50＝  29人、中心点＝ユーザー839
といったユーザークラスタをユーザークラスタ処理部１１１において生成することができる。
【００７３】
図３を参照すると、フローチャートのステップＳ１１において、クラスタ自動生成装置１０は、ユーザー端末２０から利用ログを収集することを終了するか否かを判断する。例えば、ステップＳ１１の判断のデフォルトの入力を「いいえ」と設定しておき、特に、クラスタ自動生成装置１０の管理者（又は、ユーザー端末２０のユーザー）から「はい」という入力を受け付けるまでは、ステップＳ３からステップＳ１１を繰り返し行うことができる。繰り返すことで、コンテンツクラスタとユーザークラスタの再配置を行うことができる。
【００７４】
つまり、クラスタ自動生成装置１０において、利用ログを収集するＬ１期間（ＬＩＫＥ期間１）及びＦ１期間（ＦＩＴ期間１）に続く、次の期間、Ｌ２（ＬＩＫＥ期間２）及びＦ２（ＦＩＴ期間２）、Ｌ３（ＬＩＫＥ期間３）及びＦ３（ＦＩＴ期間３）等のように後続する期間で、ステップＳ３からＳ６を行うことで、コンテンツクラスタの再配置を行い、ステップＳ７からＳ１０を行うことで、ユーザークラスタの再配置を行うことができる。
【００７５】
図８は、視聴者クラスタ（ユーザークラスタ）の好み度（ＬＩＫＥ度）を軸とするコンテンツ空間及びコンテンツクラスタの適合度（ＦＩＴ度）を軸とするユーザー空間を示す概念図である。図３に示すフローチャートのステップＳ３からＳ６の処理は、概念的には、図８に示すコンテンツ空間において、例えば、ユーザークラスタ１のＬＩＫＥ度とユーザークラスタ２のＬＩＫＥ度をコンテンツ分類の軸として、コンテンツをコンテンツクラスタ１、コンテンツクラスタ２等のクラスタに分類（再分類又は再配置）することに相当する。また、図３に示すフローチャートのステップＳ７からＳ１０の処理は、概念的には、図８に示すユーザー空間において、例えば、コンテンツクラスタ１のＦＩＴ度とコンテンツクラスタ２のＦＩＴ度をユーザー分類の軸として、ユーザーをユーザークラスタ１、ユーザークラスタ２等のクラスタに分類（再分類又は再配置）することに相当する。
【００７６】
図９は、本発明の一実施形態に係るレコメンド情報生成装置及び自動生成装置の構成を示す概略構成図（システム構成図）である。図１に示した本発明の一実施形態に係るクラスタ自動生成装置の構成と同様に、クラスタ自動生成装置１０は、ネットワークＮを介して、１以上のユーザー端末２０と通信可能に接続される。クラスタ自動生成装置１０、ユーザー端末２０、ネットワークＮの構成については既に説明したとおりである。レコメンド情報生成装置３０は、クラスタ自動生成装置１０と通信可能に接続される。レコメンド情報生成装置３０とクラスタ自動生成装置１０との間は、例えば、インターネット、携帯電話網といったネットワーク、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、あるいはこれらを組み合わせたネットワークによって接続することができる。また、プログラムを実行する等によってクラスタ自動生成装置１０として機能するサーバ装置を、その機能に加えて、さらにプログラムを実行する等によってレコメンド情報生成装置３０としても機能させてもよい。この場合、同じサーバ装置内で機能するクラスタ自動生成装置１０とレコメンド情報生成装置３０とが、当該サーバ装置内で通信可能に接続される。
【００７７】
レコメンド情報生成装置３０は、クラスタ自動生成装置１０から、コンテンツの各々についての好み度ベクトル及びユーザーの各々についての適合度ベクトルを受け取り、コンテンツクラスタに対するユーザークラスタの親和度（以下、「好み親和度ベクトル」と呼ぶ。）を含むテーブル（以下、「好み親和度テーブル」と呼ぶ。）及びユーザークラスタに対するコンテンツクラスタの親和度（以下、「適合親和度ベクトル」と呼ぶ。）を含むテーブル（以下、「適合親和度テーブル」と呼ぶ。）を生成するクラスタ間親和度集計部３１１と、好み親和度テーブル及び適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部３１０とを含む。レコメンド情報生成装置３０を実現するサーバ装置の機能的構成は、図２に示すクラスタ自動生成装置１０及びユーザー端末２０と同様の構成である。
【００７８】
図１０は、レコメンド情報生成装置における好み親和度テーブルに基づく推薦処理の流れを示すフローチャートであり、図１１は、レコメンド情報生成装置における適合親和度テーブルに基づく推薦処理の流れを示すフローチャートである。図１２は、レコメンド情報生成装置における適合親和度テーブルに基づく推薦処理の流れを示すフローチャートである。主に、図１０及び図１１のフローチャートでレコメンド情報生成装置３０の処理の流れを説明し、補足的に、図１２のシーケンス図でレコメンド情報生成装置３０のレコメンド情報生成部３１０及びクラスタ間親和度集計部３１１と、クラスタ自動生成装置１０の各部（主に、コンテンツクラスタ処理部１１０及びユーザークラスタ処理部１１１）とのデータ、指示等のやり取りについて説明する。図１２のシーケンス図におけるステップＴ０1、Ｔ０2、Ｔ０3及びＴ１からＴ１２の動作は、図４のシーケンス図における各ステップと同じであるから、動作についての説明は省略する。
【００７９】
ステップＳ２１では、クラスタ自動生成装置１０は、各コンテンツに対する、ユーザークラスタ毎の利用ログの平均値（好み度ベクトル（ＬＩＫＥベクトル））を計算する。また、クラスタ自動生成装置１０において好み度ベクトルの計算を実行している場合（図３のスローチャートのステップＳ４）には、計算することに代えて、クラスタ自動生成装置１０は、計算済みの好み度ベクトルをクラスタ自動生成装置１０から取得することができる。ステップＳ２１は、図１２に示すシーケンス図におけるステップＲ１に対応する。図１２のステップＲ１では、クラスタ間親和度集計部３１１は、コンテンツクラスタ処理部１１０から送信（通知）された好み度ベクトル（ＬＩＫＥベクトル）を取得する。
【００８０】
ステップＳ２２では、レコメンド情報生成装置３０のクラスタ間親和度集計部３１１が、コンテンツクラスタに対する、ユーザークラスタから見た評価値である好み親和度ベクトル（好み度ベクトル（ＬＩＫＥベクトル）の平均）を計算する。コンテンツクラスタ毎に好み親和度ベクトルを計算した結果、クラスタ間親和度集計部３１１は、好み親和度テーブルを生成する。具体的には、ステップＳ２３において、クラスタ間親和度集計部３１１は、好み親和度テーブルに相当する「ユーザークラスタとコンテンツクラスタの親和度テーブル」（行列）を生成する。
【００８１】
例えば、クラスタ間親和度集計部３１１は、図１３（ａ）に示すようなコンテンツクラスタとユーザークラスタの親和度のテーブル（コンテンツクラスタに対するユーザークラスタの好み親和度テーブル）を生成することができる。好み親和度テーブルは、好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列である。例えば、コンテンツクラスタＩＤ：「ＣＣＬ００１」についての好み親和度ベクトルは、ユーザークラスタＩＤ：「ＵＣＬ０１」、「ＵＣＬ０２」、「ＵＣＬ０３」、「ＵＣＬ０４」・・（中略）・・「ＵＣＬ５０」に対応して、（＋０．３，＋０．６，＋０．２，０，・・（中略）・・，＋０．５）といった値を要素（成分）として有する。ステップＳ２２及びＳ２３は、図１２に示すシーケンス図におけるステップＲ２に対応する。
【００８２】
図１０のフローチャートのステップＳ２４において、レコメンド情報生成装置３０は、サービス運営者（管理者）又はユーザー等から利用シーンに関する入力を受けて、利用シーンを判断する。利用シーンが「ユーザーが問い合わせ」である場合には、ステップＳ２５において、「コンテンツクラスタとユーザークラスタの親和度テーブル」（好み親和度テーブル）内で、ユーザーのクラスタに親和度の高いコンテンツクラスタを参照し、そこからコンテンツを任意に選んでユーザーに通知する。利用シーンが「サービス運営者がユーザーに通知」である場合には、ステップＳ２６において、「コンテンツクラスタとユーザークラスタの親和度テーブル」（好み親和度テーブル）内で、コンテンツのクラスタに親和度の高いユーザークラスタを参照し、そこからユーザーを任意に選んでユーザーに通知する。
【００８３】
具体的には、レコメンド情報生成部３１０は、好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦するために、又は、好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝するために、選んだコンテンツに関する情報を含むレコメンド情報を生成し、当該レコメンド情報をユーザー端末に送信することができる。図１０のフローチャートにおけるステップＳ２４、Ｓ２５及びＳ２６は、図１２に示すシーケンス図におけるステップＲ３及びＲ４に対応する。
【００８４】
図１１のフローチャートを参照すると、ステップＳ３１では、クラスタ自動生成装置１０は、各ユーザーに対する、コンテンツクラスタ毎の利用ログの平均値（適合度ベクトル（ＦＩＴベクトル））を計算する。また、クラスタ自動生成装置１０において適合度ベクトルの計算を実行している場合（図３のスローチャートのステップＳ８）には、計算することに代えて、クラスタ自動生成装置１０は、計算済みの適合度ベクトルをクラスタ自動生成装置１０から取得することができる。ステップＳ３１は、図１２に示すシーケンス図におけるステップＲ５に対応する。図１２のステップＲ５では、クラスタ間親和度集計部３１１は、ユーザークラスタ処理部１１１から送信（通知）された適合度ベクトル（ＦＩＴベクトル）を取得する。
【００８５】
ステップＳ３２では、レコメンド情報生成装置３０のクラスタ間親和度集計部３１１が、ユーザークラスタに対する、コンテンツクラスタから見た評価値である適合親和度ベクトル（適合度ベクトル（ＦＩＴベクトル）の平均）を計算する。ユーザークラスタ毎に適合親和度ベクトルを計算した結果、クラスタ間親和度集計部３１１は、適合親和度テーブルを生成する。具体的には、ステップＳ３３において、クラスタ間親和度集計部３１１は、適合親和度テーブルに相当する「コンテンツクラスタとユーザークラスタの親和度テーブル」（行列）を生成する。
【００８６】
例えば、クラスタ間親和度集計部３１１は、図１３（ｂ）に示すようなユーザークラスタとコンテンツクラスタの親和度のテーブル（ユーザークラスタに対するコンテンツクラスタの適合親和度テーブル）を生成することができる。適合親和度テーブルは、適合親和度ベクトルをすべてのユーザークラスタについて並べた行列である。例えば、ユーザークラスタＩＤ：「ＵＣＬ００１」についての適合親和度ベクトルは、コンテンツクラスタＩＤ：「ＣＣＬ０１」、「ＣＣＬ０２」、「ＣＣＬ０３」、「ＣＣＬ０４」・・（中略）・・「ＣＣＬ１００」に対応して、（−０．９，＋０．３，−０．１，０，・・（中略）・・，＋０．３）といった値を要素（成分）として有する。ステップＳ３２及びＳ３３は、図１２に示すシーケンス図におけるステップＲ６に対応する。
【００８７】
図１１のフローチャートのステップＳ３４において、レコメンド情報生成装置３０は、サービス運営者（管理者）又はユーザー等から利用シーンに関する入力を受けて、利用シーンを判断する。利用シーンが「ユーザーが問い合わせ」である場合には、ステップＳ３５において、「ユーザークラスタとコンテンツクラスタの親和度テーブル」（適合親和度テーブル）内で、ユーザーのクラスタに親和度の高いコンテンツクラスタを参照し、そこからコンテンツを任意に選んでユーザーに通知する。利用シーンが「サービス運営者がユーザーに通知」である場合には、ステップＳ３６において、「ユーザークラスタとコンテンツクラスタの親和度テーブル」（適合親和度テーブル）内で、コンテンツのクラスタに親和度の高いユーザークラスタを参照し、そこからユーザーを任意に選んでユーザーに通知する。
【００８８】
具体的には、レコメンド情報生成部３１０は、適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦するために、又は、適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝するために、選んだコンテンツに関する情報を含むレコメンド情報を生成し、当該レコメンド情報をユーザー端末に送信することができる。図１０のフローチャートにおけるステップＳ３４、Ｓ３５及びＳ３６は、図１２に示すシーケンス図におけるステップＲ７及びＲ８に対応する。
【００８９】
以上のように、本発明の一実施形態に係るレコメンド情報生成装置では、視聴者であるユーザーは、ユーザー端末２０からコンテンツ推薦に関する問い合わせを行った場合には、レコメンド情報生成装置３０のレコメンド情報生成部３１０は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦することができる。具体的には、レコメンド情報生成部３１０は、任意にコンテンツを選んでユーザーに推薦するために、当該コンテンツに関する情報を含むレコメンド情報を生成して、当該レコメンド情報をユーザー端末に送信（通知）することができる。
【００９０】
また、本発明の一実施形態に係るレコメンド情報生成装置では、コンテンツを提供するサービス運営者がユーザーに通知を行う場合には、レコメンド情報生成装置３０のレコメンド情報生成部３１０は、好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝し、又は、適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝することができる。具体的には、レコメンド情報生成部３１０は、任意にユーザーを選んでコンテンツに宣伝するために、当該コンテンツに関する情報を含むレコメンド情報を生成して、当該レコメンド情報を、選ばれたユーザーのユーザー端末に送信（通知）することができる。
【００９１】
このように、本発明の一実施形態に係るクラスタ自動生成装置及びレコメンド情報生成装置は、ユーザークラスタ及びコンテンツクラスタ等に基づいて、複数の観点から生成したレコメンド情報をユーザーに提示することができる。これにより、１つの観点の観点でレコメンド情報を提示していた先行技術に比べて、よりユーザーの多種多様な嗜好に対応することができる。
【００９２】
図１４は、本発明の別の実施形態に係る自動生成装置及びレコメンド情報生成装置の構成を示す概略構成図（システム構成図）である。図９に示した本発明の一実施形態に係るクラスタ自動生成装置及びレコメンド情報生成装置の構成と同様に、クラスタ自動生成装置１０’は、ネットワークＮを介して、１以上のユーザー端末２０と通信可能に接続される。レコメンド情報生成装置３０は、クラスタ自動生成装置１０’と通信可能に接続される。ユーザー端末２０、レコメンド情報生成装置３０、ネットワークＮの構成については既に説明したとおりである。
【００９３】
クラスタ自動生成装置１０’は、予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部１１０、予め定められた数のユーザークラスタを生成するユーザークラスタ処理部１１１及び１以上のユーザー端末から利用ログを受け取る利用ログ集計部１１２に加えて、予め定められた数のアーティストクラスタを生成するアーティストクラスタ処理部１１３と、コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを記憶した出演アーティスト記憶部１１４とを含む。また、クラスタ自動生成装置１０’は、コンテンツクラスタを生成する必要がない場合（コンテンツクラスタに代えてアーティストクラスタを用いる場合）には、コンテンツクラスタ処理部１１０を含まない構成とすることもできる。
【００９４】
アーティストクラスタ処理部１１３は、各コンテンツの出演アーティストデータベース（ＤＢ）に相当する出演アーティスト記憶部１１４を参照して、各コンテンツに出演するアーティストを特定することができる。図１５は、コンテンツに対する出演者（アーティスト）を記憶したテーブルの一例を示す図である。例えば、コンテンツＩＤ：「Ｃ１」には、アーティストＩＤ：「Ａ１」及び「Ａ９」が関連付けて記憶される。このように関連付けて記憶することで、コンテンツＩＤ：「Ｃ１」で識別されるコンテンツには、アーティストＩＤ：「Ａ１」及び「Ａ９」で識別されるアーティストが出演していることが分かる。
【００９５】
アーティストクラスタ処理部１１３は、出演アーティスト記憶部１１４を参照して、例えば、コンテンツＩＤ：「Ｃ２」をキーとして、図１５に示すようなコンテンツに対する出演者テーブルを検索して、アーティストＩＤ：「Ａ１」で識別される出演アーティストとアーティストＩＤ：「Ａ１」で識別される出演アーティストの２名を見つけることができる。つまり、アーティストクラスタ処理部１１３は、コンテンツに代えて、当該コンテンツの出演アーティストに関する情報（すなわち、コンテンツＩＤに代えて、アーティストＩＤ）を用いて、アーティストクラスタを生成することができる。
【００９６】
クラスタ自動生成装置１０’によるアーティストクラスタ及びユーザークラスタの生成処理は、既に説明した本発明の一実施形態に係るクラスタ自動生成装置１０によるコンテンツクラスタ及びユーザークラスタの生成処理（図３、図４参照）と同様の処理である。つまり、クラスタ自動生成装置１０’は、コンテンツに代えて当該コンテンツの出演アーティストに関する情報を用いて、コンテンツに対する処理と同様の処理をアーティストに対して実行するものである。クラスタ自動生成装置１０’の利用ログ集計部１１２で集計される利用ログは、図１６に示すように、アーティストの各々に対するユーザー毎の評価値を含む。
【００９７】
図１６に示す。図１６は、アーティストに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。例えば、アーティストＩＤ：「Ａ１」は、ユーザーＩＤ：「Ｕ１」、「Ｕ５」で評価値が＋１（＝そのユーザーはそのアーティストを好んだということ）であり、ユーザーＩＤ：「Ｕ２」、「Ｕ４」で評価値が−１（＝そのユーザーはそのアーティストを好まなかったということ）であり、ユーザーＩＤ：「Ｕ３」で評価値が０（＝そのユーザーはそのアーティストを好むかどうか不明）である。
【００９８】
ユーザーの評価の対象となるアーティストは、複数のコンテンツに出演している場合があることから、アーティストが出演したコンテンツ毎に評価値（例えば、＋１、０、−１）を定めて、それら評価値の平均値を算出して、その平均値を利用ログのテーブルに記憶することもできる。
【００９９】
図１７は、ユーザークラスタ毎の平均（ＬＩＫＥベクトル）を記憶したテーブル及びアーティストクラスタ毎の平均（ＦＩＴベクトル）を記憶したテーブルの一例を示す図である。利用ログ集計部１１２は、各アーティストについて利用ログの評価値をユーザーがアーティストを好むか否かを表す好み度（ＬＩＫＥ度）として使用し、ユーザークラスタ毎にユーザーの好み度の平均値を算出して、ユーザークラスタ毎の好み度（ＬＩＫＥ度）の平均値を要素とする好み度ベクトル（ＬＩＫＥベクトル）をアーティスト毎に生成する。
【０１００】
例えば、利用ログ集計部１１２は、図１７（ａ）に示すようなアーティストに対するユーザーの評価値の、ユーザークラスタ毎の平均（ＬＩＫＥベクトル）テーブルを生成することができる。例えば、アーティストＩＤ：「Ａ１」についての好み度ベクトルは、ユーザークラスタＩＤ：「ＵＣＬ０１」、「ＵＣＬ０２」、「ＵＣＬ０３」、「ＵＣＬ０４」・・（中略）・・「ＵＣＬ５０」に対応して、（０，＋０．３，−０．１，＋０．６，・・（中略）・・，＋０．５）といった値を要素（成分）として有する。
【０１０１】
また、利用ログ集計部１１２は、各ユーザーについて利用ログの評価値をアーティストがユーザーに適するか否かを表す適合度（ＦＩＴ度）として使用し、アーティストクラスタ毎にアーティストの適合度（ＦＩＴ度）の平均値を算出して、アーティストクラスタ毎の適合度（ＦＩＴ度）の平均値を要素とする適合度ベクトル（ＦＩＴベクトル）をユーザー毎に生成する。
【０１０２】
例えば、利用ログ集計部１１２は、図１７（ｂ）に示すような各ユーザーがアーティストに与えた評価値の、アーティストクラスタ毎の平均（ＦＩＴベクトル）テーブルを生成することができる。例えば、ユーザーＩＤ：「Ｕ１」についての適合度ベクトルは、アーティストクラスタＩＤ：「ＡＣＬ０１」、「ＡＣＬ０２」、「ＡＣＬ０３」、「ＡＣＬ０４」・・（中略）・・「ＡＣＬ２００」に対応して、（＋０．３、＋０．６，＋０．６、＋０．２，・・（中略）・・，＋０．３）といった値を要素（成分）として有する。
【０１０３】
図１８は、アーティストクラスタを記憶したテーブルの一例を示す図である。アーティストクラスタ処理部１１３は、出演アーティスト記憶部１１４から取得したアーティストＩＤをキーとして、例えば、図１８に示すようなアーティストクラスタテーブルを検索して、アーティストが分類されるアーティストクラスタ（つまり、アーティストＩＤに対応するアーティストクラスタＩＤ）を探すことができる。アーティストＩＤとアーティストクラスタＩＤとの対応関係（アーティストクラスタに含まれるアーティスト）は、図１８に示すようなアーティストクラスタテーブルに記憶される。例えば、アーティストＩＤ：「Ａ１」のアーティストを含むアーティストクラスタのＩＤ（アーティストクラスタＩＤ）は「ＡＣＬ１９９」である。
【０１０４】
図１４に示すレコメンド情報生成装置３０は、図９に示したものと同様の処理（図１０、図１１、図１２等に示す処理）を行い、アーティストクラスタ及びユーザークラスタについての好み親和度テーブル及び適合親和度テーブルを生成することができる。
【０１０５】
つまり、視聴者であるユーザーは、ユーザー端末２０からアーティスト推薦に関する問い合わせを行った場合には、レコメンド情報生成装置３０のレコメンド情報生成部３１０は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦することができる。具体的には、レコメンド情報生成部３１０は、任意にアーティストを選んでユーザーに推薦するために、当該アーティストに関する情報を含むレコメンド情報を生成して、当該レコメンド情報をユーザー端末に送信（通知）することができる。
【０１０６】
また、アーティストを宣伝したいサービス運営者がユーザーに通知を行う場合には、レコメンド情報生成装置３０のレコメンド情報生成部３１０は、好み親和度テーブル内で、アーティストの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝し、又は、適合親和度テーブル内で、アーティストの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝することができる。具体的には、レコメンド情報生成部３１０は、任意にユーザーを選んでアーティストに宣伝するために、当該アーティストに関する情報を含むレコメンド情報を生成して、当該レコメンド情報を、選ばれたユーザーのユーザー端末に送信（通知）することができる。
【０１０７】
このように、本発明の別の実施形態に係るクラスタ自動生成装置及びレコメンド情報生成装置も、ユーザークラスタ及びアーティストクラスタ等に基づいて、複数の観点から生成したレコメンド情報をユーザーに提示することができる。これにより、１つの観点の観点でレコメンド情報を提示していた先行技術に比べて、よりユーザーの多種多様な嗜好に対応することができる。
【産業上の利用可能性】
【０１０８】
本発明に係るクラスタ自動生成装置及びレコメンド情報生成装置等は、放送局（ラジオ局など）のコンテンツ提供者から転送されるコンテンツ（例えば、ラジオコンテンツ）を中継配信するメディアセンターにおいて、ユーザーの嗜好に合わせてレコメンド情報をユーザー端末に送信することに利用可能である。
【符号の説明】
【０１０９】
１０      ：クラスタ自動生成装置
１０’    ：クラスタ自動生成装置
１１      ：ＣＰＵ
１２      ：メモリ
１３      ：バス
１４      ：入出力インターフェース
１５      ：入力部
１６      ：出力部
１７      ：記憶部
１８      ：通信部
２０      ：ユーザー端末
２０ａ    ：ユーザー端末
２０ｂ    ：ユーザー端末
２０ｃ    ：ユーザー端末
２１      ：ＣＰＵ
２２      ：メモリ
２３      ：バス
２４      ：入出力インターフェース
２５      ：入力部
２６      ：出力部
２７      ：記憶部
２８      ：通信部
３０      ：レコメンド情報生成装置
１１０    ：コンテンツクラスタ処理部
１１１    ：ユーザークラスタ処理部
１１２    ：利用ログ集計部
１１３    ：アーティストクラスタ処理部
１１４    ：出演アーティスト記憶部
３１０    ：レコメンド情報生成部
３１１    ：クラスタ間親和度集計部
Ｎ        ：ネットワーク
【図１】
2020149405.tif 000013
【図２】
2020149405.tif 000014
【図３】
2020149405.tif 000015
【図４】
2020149405.tif 000016
【図５】
2020149405.tif 000017
【図６】
2020149405.tif 000018
【図７】
2020149405.tif 000019
【図８】
2020149405.tif 000020
【図９】
2020149405.tif 000021
【図１０】
2020149405.tif 000022
【図１１】
2020149405.tif 000023
【図１２】
2020149405.tif 000024
【図１３】
2020149405.tif 000025
【図１４】
2020149405.tif 000026
【図１５】
2020149405.tif 000027
【図１６】
2020149405.tif 000028
【図１７】
2020149405.tif 000029
【図１８】
2020149405.tif 000030