(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-30
(45)【発行日】2023-06-07
(54)【発明の名称】レコメンド情報を生成するための装置、方法、システム及びプログラム
(51)【国際特許分類】
G06F 16/65 20190101AFI20230531BHJP
G06F 16/9536 20190101ALI20230531BHJP
【FI】
G06F16/65
G06F16/9536
(21)【出願番号】P 2019046807
(22)【出願日】2019-03-14
【審査請求日】2022-03-11
(73)【特許権者】
【識別番号】511313293
【氏名又は名称】株式会社radiko
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】三浦 文夫
【審査官】原 秀人
(56)【参考文献】
【文献】特開2014-215889(JP,A)
【文献】特開2013-125468(JP,A)
【文献】特開2009-217551(JP,A)
【文献】特開2007-058842(JP,A)
【文献】特開2013-105215(JP,A)
【文献】米国特許出願公開第2017/0031920(US,A1)
【文献】特開2011-081780(JP,A)
【文献】米国特許出願公開第2013/0262469(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置であって、
予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
1以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成し、
前記コンテンツクラスタ処理部は、すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成し、
前記利用ログ集計部は、前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出して、前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とするクラスタ自動生成装置。
【請求項2】
ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置であって、少なくとも
予め定められた数のアーティストクラスタを生成するアーティストクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを記憶した出演アーティスト記憶部と、
1以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とし、
前記利用ログ集計部は、前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成し、
前記アーティストクラスタ処理部は、すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成し、
前記利用ログ集計部は、前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記複数のアーティストクラスタの各々のアーティストクラスタ内のアーティストの前記適合度の平均値を算出して、前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とするクラスタ自動生成装置。
【請求項3】
前記利用ログは、コンテンツの各々に対するユーザー毎の視聴時間を含み、
前記利用ログ集計部は、前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、予め定められた上限値以上である場合、前記評価値を+1とし、予め定められた下限値未満である場合、前記評価値を-1とし、前記ユーザーが前記コンテンツを利用していない場合、前記評価値を0とすること
を特徴とする請求項1又は2に記載のクラスタ自動生成装置。
【請求項4】
前記利用ログ集計部は、前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、前記予め定められた上限値未満かつ前記予め定められた下限値である場合、前記評価値を前記割合に基づく値とすること
を特徴とする請求項3に記載のクラスタ自動生成装置。
【請求項5】
前記クラスタリングは、次式を用いたk-means法を基づいて行われること
を特徴とする請求項1から4のいずれか1項に記載のクラスタ自動生成装置。
【数1】
ただし、X
i は、クラスタ i についての好み度ベクトル又は適合度ベクトルであり、k はクラスタ数であり、x は X
i に含まれる要素であり、x
i は
【数2】
で算出されるクラスタ i についてのセントロイドである。
【請求項6】
請求項
1に記載のクラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置であって、
前記クラスタ自動生成装置から、前記コンテンツの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記コンテンツクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記コンテンツクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、1つのコンテンツクラスタに属するすべてのコンテンツについての前記好み度ベクトルの要素の平均値を要素とする、コンテンツクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、1つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するコンテンツクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とするレコメンド情報生成装置。
【請求項7】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦すること
を特徴とする請求項6に記載のレコメンド情報生成装置。
【請求項8】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝し、又は、前記適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝すること
を特徴とする請求項6に記載のレコメンド情報生成装置。
【請求項9】
請求項
2に記載のクラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置であって、
前記クラスタ自動生成装置から、前記アーティストの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記アーティストクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記アーティストクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、1つのアーティストクラスタに属するすべてのアーティストについての前記好み度ベクトルの要素の平均値を要素とする、アーティストクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのアーティストクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、1つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するアーティストクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とするレコメンド情報生成装置。
【請求項10】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦すること
を特徴とする請求項9に記載のレコメンド情報生成装置。
【請求項11】
前記レコメンド情報生成部は、前記好み親和度テーブル内で、アーティストの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝し、又は、前記適合親和度テーブル内で、アーティストの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝すること
を特徴とする請求項9に記載のレコメンド情報生成装置。
【請求項12】
情報処理装置によって実行され、予め定められた数のコンテンツクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法であって、
1以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成するステップと、
すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成するステップと、
前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出するステップと、
前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする方法。
【請求項13】
情報処理装置によって実行され、予め定められた数のアーティストクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法であって、
1以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記情報処理装置の記憶装置に記憶された、コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とするステップと、
前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成するステップと、
すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成するステップと、
前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記アーティストクラスタ毎にアーティストの前記適合度の平均値を算出するステップと、
前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする方法。
【請求項14】
前記利用ログは、コンテンツの各々に対するユーザー毎の視聴時間を含み、
前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、予め定められた上限値以上である場合、前記評価値は+1であり、
予め定められた下限値未満である場合、前記評価値は-1であり、
前記ユーザーが前記コンテンツを利用していない場合、前記評価値は0であること
を特徴とする請求項12又は13に記載の方法。
【請求項15】
前記コンテンツの視聴に要する全体時間のうち前記ユーザーの前記視聴時間の割合が、前記予め定められた上限値未満かつ前記予め定められた下限値である場合、前記評価値は前記割合に基づく値であること
を特徴とする請求項14に記載の方法。
【請求項16】
前記クラスタリングは、次式を用いたk-means法を基づいて行われること
を特徴とする請求項12から15のいずれか1項に記載の方法。
【数3】
ただし、X
i は、クラスタ i についての好み度ベクトル又は適合度ベクトルであり、k はクラスタ数であり、x は X
i に含まれる要素であり、x
i は
【数4】
で算出されるクラスタ i についてのセントロイドである。
【請求項17】
請求項12、14から16のいずれか1項に記載の方法であって、
1つのコンテンツクラスタに属するすべてのコンテンツについての前記好み度ベクトルの要素の平均値を要素とする、コンテンツクラスタに対するユーザークラスタの好み親和度ベクトルを算出して、前記好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列である好み親和度テーブルを生成するステップと、
1つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するコンテンツクラスタの適合親和度ベクトルを算出して、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列である適合親和度テーブルを生成するステップと、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するステップと、
を更に含むこと
を特徴とする方法。
【請求項18】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦することを含むこと
を特徴とする請求項17に記載の方法。
【請求項19】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝し、又は、前記適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝すること
を特徴とする請求項17に記載の方法。
【請求項20】
請求項13から16のいずれか1項に記載の方法であって、
1つのアーティストクラスタに属するすべてのアーティストについての前記好み度ベクトルの要素の平均値を要素とする、アーティストクラスタに対するユーザークラスタの好み親和度ベクトルを算出して、前記好み親和度ベクトルをすべてのアーティストクラスタについて並べた行列である好み親和度テーブルを生成するステップと、
1つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するアーティストクラスタの適合親和度ベクトルを算出して、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列である適合親和度テーブルを生成するステップと、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するステップと、
を更に含むこと
を特徴とする方法。
【請求項21】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦することを含むこと
を特徴とする請求項17に記載の方法。
【請求項22】
前記レコメンド情報を生成するステップは、前記好み親和度テーブル内で、アーティストの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝し、又は、前記適合親和度テーブル内で、アーティストの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝すること
を特徴とする請求項17に記載の方法。
【請求項23】
1以上のユーザー端末と、前記1以上のユーザー端末とネットワークを介して接続された請求項1から4のいずれか1項に記載のクラスタ自動生成装置と、請求項6から11のいずれか1項に記載のレコメンド情報生成装置とを含むこと
を特徴とするレコメンドシステム。
【請求項24】
コンピュータによって実行させることで、前記コンピュータを請求項1から5のいずれか1項に記載のクラスタ自動生成装置として機能させること
を特徴とするクラスタ自動生成プログラム。
【請求項25】
コンピュータによって実行させることで、前記コンピュータを請求項6から11のいずれか1項に記載のレコメンド情報生成装置として機能させること
を特徴とするレコメンド情報生成プログラム。
【請求項26】
コンピュータによって実行させることで、前記コンピュータを請求項12から22のいずれか1項に記載のレコメンド情報生成方法を実行する前記情報処理装置として機能させること
を特徴とするレコメンドプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ラジオやテレビなど、放送型サービスにおける、ユーザーやコンテンツの自動クラスタリングと、自動レコメンドの方法に関する。具体的には、HLS(HTTP Live Streaming)やMPEG-DASH等の音声・動画配信方式を用いたストリーム配信システムにおいて、ユーザーともいうべき視聴者のコンテンツに対する好みの度合である好み度(以下、「LIKE度」とも表記する。)に基づいて生成されるユーザークラスタ、及び、コンテンツの視聴者等のユーザーとコンテンツとの適合の度合である適合度(以下、「FIT度」とも表記する。)に基づいて生成されるコンテンツクラスタに基づいて、ユーザー個人ごとに適したコンテンツ又はアーティストを推薦(レコメンド)するための装置、方法、システム及びプログラムに関する。
【背景技術】
【0002】
従来より、インターネットなどのIPネットワーク経由で、ユーザーのスマートフォン、パソコン等のユーザー端末に、映像や音楽等のコンテンツをストリームデータとしてストリーミング配信を行うといったコンテンツ配信システムは、ユーザーの嗜好に合ったコンテンツを推薦するために、推薦するコンテンツに関する情報をユーザー端末に表示させることができる。
【0003】
このようなコンテンツ配信システムで利用可能なコンテンツレコメンド手段の先行技術として、複数のユーザーの各々に関連付けて記録されたコンテンツ視聴履歴からユーザーの傾向(ユーザーの嗜好)を複数種類に分けてグループ化した複数のユーザーのグループ(以下、「クラスタ」と称する。)を生成して、ユーザーのクラスタごとにコンテンツ視聴履歴(ユーザーの嗜好)に適したコンテンツを推薦するためのレコメンド情報を提供するレコメンド情報生成装置(特許文献1)が提案されている。レコメンド情報は、推薦するコンテンツに関する情報を含むものである。
【0004】
このようなレコメンド情報生成装置では、流行やユーザーの嗜好は日々変化していくことに対応するため、クラスタへのユーザーの割当てが固定的にならないように、所定の周期で、当該時点のコンテンツ履歴に基づいてユーザーをクラスタへ割り当て直す処理(以下「クラスタリング処理」という。)が実行されている。
【0005】
また、コンテンツ配信システムで利用可能なコンテンツレコメンド手段の別の先行技術として、各ユーザーのユーザー特性ベクトルを取得し、取得された各ユーザーのユーザー特性ベクトルに基づいてユーザー間の類似度を算出するレコメンド情報生成装置(特許文献2)が提案されている。当該レコメンド情報生成装置は、算出された類似度に基づいて一のユーザーと類似する類似ユーザーを選択し、選択された類似ユーザーの特徴ベクトルに基づいて、一のユーザーに対するレコメンド情報を生成することができる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2013-200612号公報
【文献】特開2009-252177号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述のとおり、先行技術のレコメンド情報生成装置では、各ユーザーのコンテンツ視聴履歴(特許文献1参照)又は各ユーザーのコンテンツ評価情報(特許文献2参照)といった、ユーザー側から得られた情報を、1つの観点(軸)として、ユーザーの嗜好に対応するクラスタやユーザー特徴ベクトルを生成して、レコメンド情報を提供することができる。
【0008】
しかしながら、1つの観点に基づいて生成されたレコメンド情報では、ユーザーの多種多様な嗜好に、十分に対応しているとはいえない。そこで、より柔軟にユーザーの嗜好に合ったレコメンド情報を生成するために、複数の観点(軸)に基づいて様々なレコメンド情報を生成できる仕組みを提供することが課題として挙げられる。
【0009】
上述の課題を解決するために、本発明では、コンテンツ配信システムが配信するコンテンツに対するユーザーの評価値及び視聴情報等を含む利用ログに基づいて、ユーザーのコンテンツに対する好みの観点から(好みの度合であるLIKE度(好み度)に基づいて)ユーザークラスタを生成し、ユーザーとコンテンツとの適合の観点から(適合の度合であるFIT度(適合度)に基づいて)コンテンツクラスタを生成することが可能なクラスタ自動生成装置、及び、クラスタ自動生成装置によって生成されたユーザークラスタ及びコンテンツクラスタに基づいて、少なくとも2つの観点から生成されたレコメンド情報をユーザーが使用するユーザー端末に提示することが可能なレコメンド情報生成装置を提供する。また、クラスタ自動生成装置及びレコメンド情報生成装置に関連する方法、システム及びプログラムを提供する。
【課題を解決するための手段】
【0010】
本発明に係るクラスタ自動生成装置の1つの実施形態として、ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置は、予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
1以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成し、
前記コンテンツクラスタ処理部は、すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成し、
前記利用ログ集計部は、前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出して、前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とする。
【0011】
本発明に係るクラスタ自動生成装置の別の実施形態として、ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置は、少なくとも
予め定められた数のアーティストクラスタを生成するアーティストクラスタ処理部と、
予め定められた数のユーザークラスタを生成するユーザークラスタ処理部と、
コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを記憶した出演アーティスト記憶部と、
1以上のユーザー端末から利用ログを受け取る利用ログ集計部と、
を含み、
前記利用ログは、コンテンツの各々に対するユーザー毎の評価値を含み、
前記利用ログ集計部は、前記対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とし、
前記利用ログ集計部は、前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出して、前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成し、
前記アーティストクラスタ処理部は、すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成し、
前記利用ログ集計部は、前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記複数のアーティストクラスタの各々のアーティストクラスタ内のアーティストの前記適合度の平均値を算出して、前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成し、
前記ユーザークラスタ処理部は、すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成すること
を特徴とする。
【0012】
本発明に係るレコメンド情報生成装置の1つの実施形態として、前記クラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置は、前記コンテンツの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記コンテンツクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記コンテンツクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、1つのコンテンツクラスタに属するすべてのコンテンツについての前記好み度ベクトルの要素の平均値を要素とする、コンテンツクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、1つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するコンテンツクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とする。
【0013】
本発明に係るレコメンド情報生成装置の別の実施形態として、前記クラスタ自動生成装置と通信可能に接続されたレコメンド情報生成装置は、
前記クラスタ自動生成装置から、前記アーティストの各々についての前記好み度ベクトル及び前記ユーザーの各々についての前記適合度ベクトルを受け取り、前記アーティストクラスタに対する前記ユーザークラスタの好み親和度テーブル及び前記ユーザークラスタに対する前記アーティストクラスタの適合親和度テーブルを生成するクラスタ間親和度集計部と、
前記好み親和度テーブル及び前記適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部と、
を含み、
前記クラスタ間親和度集計部は、1つのアーティストクラスタに属するすべてのアーティストについての前記好み度ベクトルの要素の平均値を要素とする、アーティストクラスタに対するユーザークラスタの好み親和度ベクトルを算出し、前記好み親和度テーブルは、前記好み親和度ベクトルをすべてのアーティストクラスタについて並べた行列であり、
前記クラスタ間親和度集計部は、1つのユーザークラスタに属するすべてのユーザーについての前記適合度ベクトルの要素の平均値を要素とする、ユーザークラスタに対するアーティストクラスタの適合親和度ベクトルを算出し、前記適合親和度テーブルは、前記適合親和度ベクトルをすべてのユーザークラスタについて並べた行列であること
を特徴とする。
【0014】
本発明に係るレコメンド情報を生成するためのレコメンド情報生成方法の1つの実施形態として、情報処理装置によって実行され、予め定められた数のコンテンツクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法は、
1以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記評価値をユーザーがコンテンツを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをコンテンツ毎に生成するステップと、
すべてのコンテンツを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成するステップと、
前記評価値をコンテンツがユーザーに適するか否かを表す適合度として使用し、前記コンテンツクラスタ毎にコンテンツの前記適合度の平均値を算出するステップと、
前記コンテンツクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記コンテンツクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする。
【0015】
本発明に係るレコメンド情報を生成するためのレコメンド情報生成方法の別の実施形態として、情報処理装置によって実行され、予め定められた数のアーティストクラスタ及びユーザークラスタに基づいてレコメンド情報を生成するためのレコメンド情報生成方法は、
1以上のユーザー端末の各々から、コンテンツの各々に対するユーザー毎の評価値を含む利用ログを受け取るステップと、
前記情報処理装置の記憶装置に記憶された、コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを参照して、前記利用ログに含まれる前記コンテンツの各々に対するユーザー毎の前記評価値を、当該コンテンツの各々に出演するアーティスト毎のアーティスト評価値とするステップと、
前記アーティスト評価値をユーザーがアーティストを好むか否かを表す好み度として使用し、前記ユーザークラスタ毎にユーザーの前記好み度の平均値を算出するステップと、
前記ユーザークラスタ毎の前記好み度の平均値を要素とする好み度ベクトルをアーティスト毎に生成するステップと、
すべてのアーティストを前記ユーザークラスタの数だけの次元を持つ前記好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のアーティストクラスタを生成するステップと、
前記アーティスト評価値をアーティストがユーザーに適するか否かを表す適合度として使用し、前記アーティストクラスタ毎にアーティストの前記適合度の平均値を算出するステップと、
前記アーティストクラスタ毎の前記適合度の平均値を要素とする適合度ベクトルをユーザー毎に生成するステップと、
すべてのユーザーを前記アーティストクラスタの数だけの次元を持つ前記適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成するステップと、
を含むことを特徴とする。
【0016】
本発明に係るレコメンドシステムの1つの実施形態として、レコメンドシステムは、1以上のユーザー端末と、前記1以上のユーザー端末とネットワークを介して接続された請求項1から4のいずれか1項に記載のクラスタ自動生成装置と、請求項6から11のいずれか1項に記載のレコメンド情報生成装置とを含むこと
を特徴とする。
【0017】
本発明に係るクラスタ自動生成プログラムの1つの実施形態として、クラスタ自動生成プログラムは、コンピュータによって実行させることで、前記コンピュータを前記クラスタ自動生成装置として機能させること
を特徴とする。
【0018】
本発明に係るレコメンド情報生成プログラムの1つの実施形態として、レコメンド情報生成プログラムは、コンピュータによって実行させることで、前記コンピュータを前記レコメンド情報生成装置として機能させること
を特徴とする。
【0019】
本発明に係るレコメンドプログラムの1つの実施形態として、レコメンドプログラムは、コンピュータによって実行させることで、前記コンピュータを、前記レコメンド情報生成方法を実行する前記情報処理装置として機能させること
を特徴とする。
【発明の効果】
【0020】
本発明に係るクラスタ自動生成装置及びレコメンド情報生成装置は、ユーザークラスタ及びコンテンツクラスタ(又は、アーティストクラスタ)等に基づいて、複数の観点から生成したレコメンド情報をユーザーに提示することができる。これにより、1つの観点の観点でレコメンド情報を提示していた先行技術に比べて、よりユーザーの多種多様な嗜好に対応することができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の一実施形態に係るクラスタ自動生成装置の構成を示す概略構成図(システム構成図)である。
【
図2】本発明の一実施形態に係るクラスタ自動生成装置及びユーザー端末の機能的構成の一例を示す概略構成図(ブロック図)である。である。
【
図3】クラスタ自動生成装置における処理の流れを示すフローチャートである。
【
図4】ユーザー端末とクラスタ自動生成装置の各処理部とのデータ及び指示等のやり取りを説明するシーケンス図である。
【
図5】コンテンツに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。
【
図6】ユーザークラスタ毎の平均(LIKEベクトル)を記憶したテーブル及びコンテンツクラスタ毎の平均(FITベクトル)を記憶したテーブルの一例を示す図である。
【
図7】コンテンツクラスタを記憶したテーブル及びユーザークラスタを記憶したテーブルの一例を示す図である。
【
図8】視聴者クラスタ(ユーザークラスタ)の好み度(LIKE度)を軸とするコンテンツ空間及びコンテンツクラスタの適合度(FIT度)を軸とするユーザー空間を示す概念図である。
【
図9】本発明の一実施形態に係るレコメンド情報生成装置及び自動生成装置の構成を示す概略構成図(システム構成図)である。
【
図10】レコメンド情報生成装置における好み親和度テーブルに基づく推薦処理の流れを示すフローチャートである。
【
図11】レコメンド情報生成装置における適合親和度テーブルに基づく推薦処理の流れを示すフローチャートである。
【
図12】ユーザー端末とクラスタ自動生成装置の各処理部とレコメンド情報生成装置とのデータ及び指示等のやり取りを説明するシーケンス図である。
【
図13】コンテンツクラスタとユーザークラスタの親和度のテーブル(好み親和度テーブル)及びユーザークラスタとコンテンツクラスタの親和度のテーブル(適合親和度テーブル)の一例を示す図である。
【
図14】本発明の別の実施形態に係る自動生成装置及びレコメンド情報生成装置の構成を示す概略構成図(システム構成図)である。
【
図15】コンテンツに対する出演者(アーティスト)を記憶したテーブルの一例を示す図である。
【
図16】アーティストに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。
【
図17】ユーザークラスタ毎の平均(LIKEベクトル)を記憶したテーブル及びアーティストクラスタ毎の平均(FITベクトル)を記憶したテーブルの一例を示す図である。
【
図18】アーティストクラスタを記憶したテーブルの一例を示す図である。
【発明を実施するための形態】
【0022】
以下に図面を参照して、本発明の一実施形態について説明する。なお、実施の形態を説明するための全ての図において、同じものには原則として同一の符号を付し、その繰り返しの説明は省略する。本発明の個々の実施形態は、独立したものではなく、それぞれ組み合わせて適宜実施することができる。
【0023】
本発明の一実施形態に係るクラスタ自動生成装置の構成を示す概略構成図(システム構成図)である。クラスタ自動生成装置10は、ネットワークNを介して、1以上のユーザー端末20と通信可能に接続される。なお、
図1中では、1以上のユーザー端末20として、ユーザー端末20a、ユーザー端末20b及びユーザー端末20cとして図示している。ただし、以下の説明において、これら1以上のユーザー端末を区別することなく説明する場合には、符号の一部を省略して、単に「ユーザー端末20」と表記する。
【0024】
クラスタ自動生成装置10は、例えばサーバ装置により実現され、ユーザー端末20は、スマートフォン、携帯端末等により実現される。ネットワークNは、例えば、インターネット、携帯電話網といったネットワーク、LAN(Local Area Network)、あるいはこれらを組み合わせたネットワークにより実現される。
【0025】
ユーザー端末20は、ラジオやテレビなど、放送型サービス(例えば、電波による放送をインターネットなどのIPネットワーク経由で同じ時間帯に同時配信するIPサイマル放送)を提供するHLS(HTTP Live Streaming)、MPEG-DASH等の音声・動画配信方式を用いたストリーム配信システム(図示せず)や、映像や音楽等のコンテンツをストリームデータとしてストリーミング配信を行うといったその他のコンテンツ配信システム(図示せず)等においてコンテンツを利用することができる。ユーザー端末20は、コンテンツを利用した履歴(例えば、ユーザーID、コンテンツID、ユーザー視聴時間、コンテンツの視聴に要する全体時間等を含むデータ)を利用ログとして記憶することができる。
【0026】
図2は、本発明の一実施形態に係るクラスタ自動生成装置及びユーザー端末の機能的構成の一例を示す概略構成図(ブロック図)である。なお、図中では、クラスタ自動生成装置10のハードウェアに対応する符号には括弧を付すことなく記載し、ユーザー端末20のハードウェアに対応する符号には括弧を付して記載する。
【0027】
クラスタ自動生成装置10を実現するサーバ装置は、例示的に、CPU(Central Processing Unit)11と、ROM(Read Only Memory)及びRAM(Random Access Memory)等からなるメモリ12と、バス13と、入出力インターフェース14と、入力部15と、出力部16と、記憶部17と、通信部18と、を備えている。
【0028】
CPU11は、メモリ12に記録されているプログラム、又は、記憶部17からメモリ12にロードされたプログラムにしたがって各種の処理を実行する。CPU11は、例えば、サーバ装置を本発明のクラスタ自動生成装置10として機能させるためのプログラムを実行することができる。また、クラスタ自動生成装置10の少なくとも一部の機能を、特定用途向け集積回路(ASIC)等でハードウェア的に実装することも可能である。
【0029】
メモリ12には、CPU11が各種の処理を実行する上において必要なデータ等も適宜記憶される。CPU11及びメモリ12は、バス13を介して相互に接続されている。このバス13には、入出力インターフェース14も接続されている。入出力インターフェース14には、入力部15と、出力部16と、記憶部17と、通信部18と、が接続されている。
【0030】
入力部15は、各種ボタン、タッチパネルあるいはマイク等で構成され、クラスタ自動生成装置10の管理者等の指示操作に応じて各種情報を入力する。なお、入力部15は、クラスタ自動生成装置10の他の各部を収容する本体とは独立した、キーボードやマウス等の入力装置により実現されてもよい。
【0031】
出力部16は、ディスプレイやスピーカ等で構成されており、画像データや音楽データを出力する。出力部16が出力した画像データや音楽データは、ディスプレイやスピーカ等から、画像や音楽としてプレイヤが認識可能に出力される。
【0032】
記憶部17は、DRAM(Dynamic Random Access Memory)等の半導体メモリで構成され、各種データを記憶する。
【0033】
通信部18は、他の装置との間で行う通信を実現する。例えば、通信部18は、ネットワークNを介して、ユーザー端末20との間で相互に通信を行う。
【0034】
なお、クラスタ自動生成装置10を実現するサーバ装置には、不図示であるがドライブを必要に応じて適宜設けられる。ドライブには、例えば、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリ等から構成されるリムーバブルメディアが適宜装着される。リムーバブルメディアには、レコメンド情報生成するためのプログラムや、画像データ等の各種データが格納される。ドライブによってリムーバブルメディアから読み出されたプログラムや、画像データ等の各種のデータは、必要に応じて記憶部17にインストールされる。
【0035】
次に、ユーザー端末20のハードウェアの構成について説明する。ユーザー端末20は、
図2に示すように、例示的に、CPU21と、メモリ22と、バス23と、入出力インターフェース24と、入力部25と、出力部26と、記憶部27と、通信部28と、を備えている。これら各部は、上述のクラスタ自動生成装置10を実現するサーバ装置が備える、符号のみが異なる同名の各部と同等の機能を有している。従って、重複する説明を省略する。なお、ユーザー端末20を、携帯型の装置として構成する場合には、ユーザー端末20が備える各ハードウェアと、ディスプレイやスピーカとを一体の装置として実現するようにしてもよい。
【0036】
再び
図1を参照すると、ユーザーの利用ログに基づいてクラスタを生成するクラスタ自動生成装置10は、予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部110と、予め定められた数のユーザークラスタを生成するユーザークラスタ処理部111と、1以上のユーザー端末から利用ログを受け取る利用ログ集計部112とを含む。例えば、クラスタ自動生成装置10が備えるCPU11においてプログラムを実行することで、CPU11をコンテンツクラスタ処理部110、ユーザークラスタ処理部111及び利用ログ集計部112として機能させることができる。各部における処理の流れについては、
図3及び
図4を参照して説明する。
【0037】
本発明に係るクラスタ自動生成装置10では、前提条件として、可能な限り、どのコンテンツも、少なくともひとりのユーザーが利用すること、かつ、どのユーザーも、少なくともひとつのコンテンツを利用することという条件をみたすコンテンツ配信サービスを対象とする。例えば、何千万曲もある音楽サブスクサービスで、ユーザーが数千人しかいない場合のような、誰にも利用されないコンテンツがある状況は対象としない。
【0038】
図3は、クラスタ自動生成装置における処理の流れを示すフローチャートである。
図4は、ユーザー端末とクラスタ自動生成装置の各処理部とのデータ及び指示等のやり取りを説明するシーケンス図である。主に、
図3のフローチャートでクラスタ自動生成装置10の処理の流れを説明し、補足的に、
図4のシーケンス図でクラスタ自動生成装置10のコンテンツクラスタ処理部110、ユーザークラスタ処理部111及び利用ログ集計部112と、ユーザー端末20とのデータ、指示等のやり取りについて説明する。
【0039】
図3におけるステップS1において、まず、クラスタ自動生成装置10のコンテンツクラスタ処理部110は、コンテンツクラスタの数を予め定めた数に設定し、ユーザークラスタ処理部111は、ユーザークラスタの数を予め定めた数に設定する。ステップS1の処理は、
図4のシーケンス図では、ステップT0
1及びT0
2に相当する。例えば、ユーザークラスタは50個、コンテンツクラスタは100個に分ける、と決めておくことができる。
【0040】
コンテンツクラスタ及びユーザークラスタは、所定のタイミングで繰り返し生成されるが、本発明の1つの実施形態においては、予め定められたコンテンツクラスタ数及びユーザークラスタ数は、繰り返しの度に変化するものではない。つまり、設定したクラスタ数は、自動クラスタリングのひとつのフェーズが完了するまでは変更されない。なお、予め定めた数は、例えば、クラスタ自動生成装置10の管理者によって入力部15を介して与えられる。
【0041】
ステップS2では、ユーザークラスタ処理部111が、ユーザークラスタの初期状態を任意に設定する。例えば、ランダムにユーザーを1人ずつ選択して(より正確には、ユーザーに対応するユーザーIDを無作為に選択して)、順番にクラスタを割り当てることができる。ユーザークラスタは、後の処理で最適化される(最適にクラスタ分けされる)ため、恣意的に分ける必要は無い。例えば、1000人のユーザーがいる場合、ランダムに20人ずつに分けて、それらを[ユーザークラスタ1]から[ユーザークラスタ50]とすることができる。ステップS2は、
図4のステップT0
3に相当する。
【0042】
ステップS3では、ユーザー端末20において、予め定められた期間(L1(LIKE期間1の略))に渡って、ユーザーが利用したコンテンツを評価し、クラスタ自動生成装置10の利用ログ集計部112がそのログ(以下、「利用ログ」と呼ぶ。)を収集する。ステップS3の処理は、
図4のステップT1に相当し、ユーザー端末20は所定のタイミング(予め定められた期間L1)が到来すると、ユーザーが利用したコンテンツの評価を利用ログとして、クラスタ自動生成装置10に通知する。クラスタ自動生成装置10とユーザー端末20との間のデータの送受信は、ネットワークNを介して、
図2に示すように、通信部18及び通信部28で行うことができる。
【0043】
利用ログは、基本的には、視聴者であるユーザーのコンテンツの視聴時間に応じて
・最初だけ利用してすぐにやめた = そのユーザーはそのコンテンツを好まなかった(好み度(LIKE度)=-1)
・最後まで利用した = そのユーザーはそのコンテンツを好んだ(好み度=+1)
・利用していない = そのユーザーはそのコンテンツを好むかどうか不明(好み度=0)
という考え方で、視聴時間に応じて評価値である好み度(LIKE度)が、ユーザー毎に記録される。利用ログへの記録は、上述した前提条件により、すべてのコンテンツについて、少なくともひとりのユーザーが利用していることを前提とする。誰も利用していないコンテンツについては、クラスタ自動生成装置10の処理対象としないことができる。
【0044】
具体的には、好み度(LIKE度)についての評価値の決め方は、利用ログに含まれるコンテンツの各々に対するユーザー毎の視聴時間に基づくもので、クラスタ自動生成装置10の利用ログ集計部112において処理することができる。利用ログ集計部112は、コンテンツの視聴に要する全体時間のうちユーザーの視聴時間の割合(=ユーザー視聴時間/コンテンツの視聴に要する全体時間)が、予め定められた上限値以上である場合、評価値を+1とし、予め定められた下限値未満である場合、評価値を-1とし、ユーザーが前記コンテンツを利用していない場合、評価値を0とする。予め定められた上限値及び下限値は、クラスタ自動生成装置10の管理者等によって与えられる。
【0045】
また、利用ログ集計部112は、コンテンツの視聴に要する全体時間のうちユーザーの視聴時間の割合(視聴割合)が、予め定められた上限値未満かつ予め定められた下限値である場合、評価値を割合に基づく値とすることができる。例えば、視聴者であるユーザーがコンテンツを途中まで視聴してやめた場合に
・最初(コンテンツ全体の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
という考え方で、予め定められた上限値未満かつ予め定められた下限値である場合に、評価値を視聴割合に基づいて定めることができる。
【0046】
本発明の一実施形態では、クラスタ自動生成装置10側で、利用ログに基づいて評価値を算出する処理を行っているが、これに限定されるものではなく、ユーザー端末20側で同様の処理を行ってもよい。この場合、ユーザー端末20は、コンテンツを利用した履歴(利用ログ)に、ユーザーID、コンテンツID、ユーザー視聴時間及びコンテンツの視聴に要する全体時間等のデータの他に、視聴割合(=ユーザー視聴時間/コンテンツの視聴に要する全体時間)、評価値(-1、0、+1の3段階の値又は-1から1までの値)を追加して記憶することができる。
【0047】
以上のような処理によって、利用ログは、
図5に示すように、コンテンツの各々に対するユーザー毎の評価値を含む。
図5は、コンテンツに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。例えば、コンテンツID:「C1」は、ユーザーID:「U1」、「U5」で評価値が+1(=そのユーザーはそのコンテンツを好んだということ)であり、ユーザーID:「U2」、「U4」で評価値が-1(=そのユーザーはそのコンテンツを好まなかったということ)であり、ユーザーID:「U3」で評価値が0(=そのユーザーはそのコンテンツを好むかどうか不明)である。
【0048】
図3のフローチャート及び
図4のシーケンス図を再び参照すると、
図3のステップS4では、利用ログ集計部112は、各コンテンツについて、利用ログに含まれる評価値についてユーザークラスタ毎の平均値を算出して、ユーザークラスタ毎の好み度(LIKE度)の平均値を要素とする好み度ベクトル(以下、「LIKEベクトル」とも呼ぶ。)をコンテンツ毎に生成する。例えば、利用ログ集計部112は、
図6(a)に示すようなコンテンツに対するユーザーの評価値の、ユーザークラスタ毎の平均(LIKEベクトル)テーブルを生成することができる。
【0049】
図3のステップS4の具体的なデータ等のやり取りは、
図4のステップT2からT4に示される。
図4のステップT2では、利用ログ集計部112は、ユーザーの属するユーザークラスタを、ユーザークラスタ処理部111に問い合わせを行うために、
図5に示すような利用ログテーブルに含まれるユーザーIDをユーザークラスタ処理部111に送信し、ステップT3において、利用ログ集計部112は、当該ユーザーIDが含まれるユーザークラスタのIDを応答としてユーザークラスタ処理部111から得ることができる。
【0050】
ユーザークラスタ処理部111は、利用ログ集計部112から受信したユーザーIDをキーとして、例えば、
図7(b)に示すようなユーザークラスタテーブルを検索して、ユーザーが分類されるユーザークラスタ(つまり、ユーザーIDに対応するユーザークラスタID)を探すことができる。ユーザーIDとユーザークラスタIDとの対応関係(ユーザークラスタに含まれるユーザー)は、
図7(b)に示すようなユーザークラスタテーブルに記憶される。例えば、ユーザーID:「U1」のユーザーを含むユーザークラスタのIDは「UCL49」である。
【0051】
図4のシーケンス図に戻ると、ステップT4において、利用ログ集計部112は、各コンテンツについて利用ログの評価値をユーザーがコンテンツを好むか否かを表す好み度(LIKE度)として使用し、ユーザークラスタ毎にユーザーの好み度の平均値を算出して、ユーザークラスタ毎の好み度(LIKE度)の平均値を要素とする好み度ベクトル(LIKEベクトル)をコンテンツ毎に生成する。
【0052】
例えば、コンテンツ0000(番組A)について、
・ユーザークラスタ1に属するユーザーの好み度(LIKE度)の平均 = 0.7
・ユーザークラスタ2に属するユーザーの好み度の平均 = 0.3
・ユーザークラスタ3に属するユーザーの好み度の平均 = -0.4
・・(中略)・・
・ユーザークラスタ50に属するユーザーの好み度の平均 = -0.6
のとき、コンテンツ0000(番組A)の好み度ベクトル(LIKEベクトル)
= [0.7, 0.3, -0.4, ... , -0.6] (要素が50個の配列)となる。
【0053】
図6(a)は、利用ログ集計部112により生成された、ユーザークラスタ毎の平均値を要素とする好み度ベクトル(LIKEベクトル)の一例を示す。例えば、コンテンツID:「C1」についての好み度ベクトルは、ユーザークラスタID:「UCL01」、「UCL02」、「UCL03」、「UCL04」・・(中略)・・「UCL50」に対応して、(+0.3,-0.2,+0.7,0,・・(中略)・・,+0.4)といった値を要素(成分)として有する。
【0054】
次に、
図3のフローチャートにおいて、ステップS5に進み、コンテンツクラスタ処理部110は、すべてのコンテンツを、上記ユーザークラスタ毎の評価平均値を座標として、ユーザークラスタ数を次元とするベクトル空間にプロットする。そして、ステップS6において、コンテンツクラスタ処理部110は、上記のベクトル空間において、コンテンツを、k-means法などのクラスタリング手法によって、最初に設定した数(ステップS1)のコンテンツクラスタにクラスタリングする。
【0055】
つまり、コンテンツクラスタ処理部110は、すべてのコンテンツをユーザークラスタの数だけの次元を持つ好み度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のコンテンツクラスタを生成することができる。
図4のシーケンス図では、ステップT5からT6が
図3のステップS5からS6に対応するものである。ステップT5において、利用ログ集計部112は、各コンテンツに対する、ユーザークラスタ毎の利用ログの平均値、つまり、
図6(a)に示したような好み度ベクトル(LIKEベクトル)テーブルから好み度ベクトルを、コンテンツクラスタ処理部110に通知することができる。または、コンテンツクラスタ処理部110は、好み度ベクトル(LIKEベクトル)テーブルを参照して、各コンテンツに対する好み度ベクトルを取得することができる。
【0056】
ステップT6において、コンテンツクラスタ処理部110は、k-means法等のクラスタリング手法を用いて、コンテンツをユーザークラスタ数の次元のベクトル空間内でクラスタリングを行うことができる。クラスタ自動生成装置10で用いられるk-means法(k-平均法)は、次式に基づいて行われる。
【数1】
ただし、X
i は、クラスタ i についての好み度ベクトル又は適合度ベクトルであり、k はクラスタ数であり、x は X
i に含まれる要素であり、x
i は
【数2】
で算出されるクラスタ i についてのセントロイドである。
【0057】
k-means法の基本的なアルゴリズムは、入力はデータ集合 X とクラスタ数 k 、および最大反復数 maxIter としたとき、次のようなステップに基づいてクラスタリングを行う。
1. 初期化:データ集合をランダムに k 個のクラスタ分割し、初期クラスタを得る。
2. 各クラスタについてセントロイド
【数3】
を計算する。
3. 全てのデータ
【数4】
を,各クラスタのセントロイド
【数5】
との距離
【数6】
を最小にするクラスタ X
i へ割り当てる。
4. 前の反復とクラスタに変化がないか反復数が maxIter を超えたら終了しクラスタ {X
i}を出力し、そうでなければ、ステップ2に戻る。
【0058】
例えば、k-means法を用いて、事前に設定した数(100個)のクラスタに自動的に分ける場合、コンテンツの総数が10000個だとして、それが100個のクラスタに自動的に分かれて、
・コンテンツクラスタ1には129個のコンテンツ 、クラスタの中心点=コンテンツ0023
・コンテンツクラスタ2には73個のコンテンツ 、クラスタの中心点=コンテンツ0342
・コンテンツクラスタ3には303個のコンテンツ 、クラスタの中心点=コンテンツ8870
・・(中略)・・
・コンテンツクラスタ100には98個のコンテンツ 、クラスタの中心点=コンテンツ0913
といったコンテンツクラスタをコンテンツクラスタ処理部110において生成することができる。
【0059】
本発明の一実施形態では、クラスタ自動生成装置10は、k-means法に基づいてクラスタリングを行っているが、これに限定されるものではなく、最短距離法、最長距離法、群平均法、ウォード法などの階層的手法に基づくクラスタリング手法を用いてもよい。
【0060】
図3に示すフローチャートのステップS3からS6(
図4に示すシーケンス図では、ステップT1からT6)で、コンテンツクラスタが生成される。ユーザークラスタについてもコンテンツクラスタの生成と同様の方法により、
図3に示すフローチャートのステップS7からS10(
図4に示すシーケンス図では、ステップT7からT12)に基づいて生成される。
【0061】
図3に示すフローチャートのステップS7では、ユーザー端末20において、予め定められた期間(F1(FIT期間1の略))に渡って、ユーザーが利用したコンテンツを評価し、クラスタ自動生成装置10の利用ログ集計部112がそのログ(利用ログ)を収集する。ステップS7の処理は、
図4のステップT7に相当し、ユーザー端末20は所定のタイミング(予め定められた期間F1)が到来すると、ユーザーが利用したコンテンツの評価を利用ログとして、クラスタ自動生成装置10に通知する。
【0062】
利用ログは、基本的には、コンテンツに対するユーザー(視聴者)の視聴時間に応じて
・最初だけ利用してすぐにやめた = そのコンテンツはそのユーザーにふさわしくなかった(適合度(FIT度)=-1)
・最後まで利用した = そのコンテンツはそのユーザーにふさわしかった(適合度(FIT度)=+1)
・利用していない = そのコンテンツはそのユーザーにふさわしいかどうか不明(適合度(FIT度)=0)
という考え方で、視聴時間に応じて評価値である適合度(FIT度)が、コンテンツ毎に記録される。適合度(FIT度)についての評価値の決め方は、先に説明した好み度(LIKE度)についての評価値の決め方と同様である。利用ログの一例は、
図5に示すとおりである。
【0063】
図3のフローチャートのステップS8では、利用ログ集計部112は、各コンテンツについて、利用ログに含まれる評価値についてコンテンツクラスタ毎の平均値を算出して、コンテンツクラスタ毎の適合度(FIT度)の平均値を要素とする適合度ベクトル(以下、「FITベクトル」とも呼ぶ。)をコンテンツ毎に生成する。例えば、利用ログ集計部112は、
図6(b)に示すような各ユーザーがコンテンツに与えら評価値の、コンテンツクラスタ毎の平均(FITベクトル)テーブルを生成することができる。
【0064】
図3のステップS8の具体的なデータ等のやり取りは、
図4のステップT8からT10に示される。
図4のステップT8では、利用ログ集計部112は、コンテンツの属するコンテンツクラスタを、コンテンツクラスタ処理部110に問い合わせを行うために、
図5に示すような利用ログテーブルに含まれるコンテンツIDをコンテンツクラスタ処理部110に送信し、ステップT9において、利用ログ集計部112は、当該コンテンツIDが含まれるコンテンツクラスタのIDを応答としてコンテンツクラスタ処理部110から得ることができる。
【0065】
コンテンツクラスタ処理部110は、利用ログ集計部112から受信したコンテンツIDをキーとして、例えば、
図7(a)に示すようなコンテンツクラスタテーブルを検索して、コンテンツが分類されるコンテンツクラスタ(つまり、コンテンツIDに対応するコンテンツクラスタID)を探すことができる。コンテンツIDとコンテンツクラスタIDとの対応関係(コンテンツクラスタに含まれるコンテンツ)は、
図7(a)に示すようなコンテンツクラスタテーブルに記憶される。例えば、コンテンツID:「C1」のコンテンツを含むコンテンツクラスタのIDは「CCL99」である。
【0066】
図4のシーケンス図に戻ると、ステップT10において、利用ログ集計部112は、各ユーザーについて利用ログの評価値をコンテンツがユーザーに適するか否かを表す適合度(FIT度)として使用し、コンテンツクラスタ毎にコンテンツの適合度(FIT度)の平均値を算出して、コンテンツクラスタ毎の適合度(FIT度)の平均値を要素とする適合度ベクトル(FITベクトル)をユーザー毎に生成する。
【0067】
例えば、ユーザー1000(aさん)について、
・コンテンツクラスタ1に属するコンテンツの適合度(FIT度)の平均 = 0.2
・コンテンツクラスタ2に属するコンテンツの適合度の平均 = 0.8
・コンテンツクラスタ3に属するコンテンツの適合度の平均 = -0.5
・・(中略)・・
・コンテンツクラスタ100に属するコンテンツの適合度の平均 = -0.3
のとき、ユーザー1000(aさん)の適合度ベクトル(FITベクトル)
= [0.2, 0.8, -0.5, ... , -0.3] (要素が100個の配列)となる。
【0068】
図6(b)は、利用ログ集計部112により生成された、コンテンツクラスタ毎の平均値を要素とする適合度ベクトル(FITベクトル)の一例を示す。例えば、ユーザーID:「U1」についての適合度ベクトルは、コンテンツクラスタID:「CCL01」、「CCL02」、「CCL03」、「CCL04」・・(中略)・・「CCL50」に対応して、(-0.2、+0.3、-0.1、0,・・(中略)・・,-0.2)といった値を要素(成分)として有する。なお、
図5から7に示すテーブルは、例えば、クラスタ自動生成装置10の記憶部17に記憶することができる。
【0069】
次に、
図3のフローチャートにおいて、ステップS9に進み、ユーザークラスタ処理部111は、すべてのユーザーを、上記コンテンツクラスタ毎の評価平均値を座標として、コンテンツクラスタ数を次元とするベクトル空間にプロットする。そして、ステップS10において、ユーザークラスタ処理部111は、上記のベクトル空間において、ユーザーを、k-means法などのクラスタリング手法によって、最初に設定した数(ステップS1)のユーザークラスタにクラスタリングする。
【0070】
つまり、ユーザークラスタ処理部111は、すべてのユーザーをコンテンツクラスタの数だけの次元を持つ適合度ベクトルのベクトル空間の点としてクラスタリングを行い、予め定められた数のユーザークラスタを生成することができる。
図4のシーケンス図では、ステップT11からT12が
図3のステップS9からS10に対応するものである。ステップT11において、利用ログ集計部112は、各ユーザーに対する、コンテンツクラスタ毎の利用ログの平均値、つまり、
図6(b)に示したような適合度ベクトル(FITベクトル)テーブルから適合度ベクトルを、ユーザークラスタ処理部111に通知することができる。または、ユーザークラスタ処理部111は、適合度ベクトル(FITベクトル)テーブルを参照して、各ユーザーに対する適合度ベクトルを取得することができる。
【0071】
ステップT12において、ユーザークラスタ処理部111は、k-means法等のクラスタリング手法を用いて、ユーザーをコンテンツクラスタ数の次元のベクトル空間内でクラスタリングを行うことができる。クラスタ自動生成装置10で用いられるk-means法(k-平均法)等のクラスタリング手法は、既に説明したとおりである。
【0072】
例えば、初期状態として、1000人のユーザーを任意に20人ずつに分けた50個のユーザークラスタを、k-means法を用いて再度クラスタリングを行う場合(すなわち、ユーザーを事前に設定した数(50個)のクラスタに再配置する場合)、初期のユーザークラスタは20人ずつだったが、この再配置により、
・ユーザークラスタ1 = 12人、中心点=ユーザー076
・ユーザークラスタ2 = 25人、中心点=ユーザー136
・ユーザークラスタ3 = 17人、中心点=ユーザー406
・・(中略)・・
・ユーザークラスタ50= 29人、中心点=ユーザー839
といったユーザークラスタをユーザークラスタ処理部111において生成することができる。
【0073】
図3を参照すると、フローチャートのステップS11において、クラスタ自動生成装置10は、ユーザー端末20から利用ログを収集することを終了するか否かを判断する。例えば、ステップS11の判断のデフォルトの入力を「いいえ」と設定しておき、特に、クラスタ自動生成装置10の管理者(又は、ユーザー端末20のユーザー)から「はい」という入力を受け付けるまでは、ステップS3からステップS11を繰り返し行うことができる。繰り返すことで、コンテンツクラスタとユーザークラスタの再配置を行うことができる。
【0074】
つまり、クラスタ自動生成装置10において、利用ログを収集するL1期間(LIKE期間1)及びF1期間(FIT期間1)に続く、次の期間、L2(LIKE期間2)及びF2(FIT期間2)、L3(LIKE期間3)及びF3(FIT期間3)等のように後続する期間で、ステップS3からS6を行うことで、コンテンツクラスタの再配置を行い、ステップS7からS10を行うことで、ユーザークラスタの再配置を行うことができる。
【0075】
図8は、視聴者クラスタ(ユーザークラスタ)の好み度(LIKE度)を軸とするコンテンツ空間及びコンテンツクラスタの適合度(FIT度)を軸とするユーザー空間を示す概念図である。
図3に示すフローチャートのステップS3からS6の処理は、概念的には、
図8に示すコンテンツ空間において、例えば、ユーザークラスタ1のLIKE度とユーザークラスタ2のLIKE度をコンテンツ分類の軸として、コンテンツをコンテンツクラスタ1、コンテンツクラスタ2等のクラスタに分類(再分類又は再配置)することに相当する。また、
図3に示すフローチャートのステップS7からS10の処理は、概念的には、
図8に示すユーザー空間において、例えば、コンテンツクラスタ1のFIT度とコンテンツクラスタ2のFIT度をユーザー分類の軸として、ユーザーをユーザークラスタ1、ユーザークラスタ2等のクラスタに分類(再分類又は再配置)することに相当する。
【0076】
図9は、本発明の一実施形態に係るレコメンド情報生成装置及び自動生成装置の構成を示す概略構成図(システム構成図)である。
図1に示した本発明の一実施形態に係るクラスタ自動生成装置の構成と同様に、クラスタ自動生成装置10は、ネットワークNを介して、1以上のユーザー端末20と通信可能に接続される。クラスタ自動生成装置10、ユーザー端末20、ネットワークNの構成については既に説明したとおりである。レコメンド情報生成装置30は、クラスタ自動生成装置10と通信可能に接続される。レコメンド情報生成装置30とクラスタ自動生成装置10との間は、例えば、インターネット、携帯電話網といったネットワーク、LAN(Local Area Network)、あるいはこれらを組み合わせたネットワークによって接続することができる。また、プログラムを実行する等によってクラスタ自動生成装置10として機能するサーバ装置を、その機能に加えて、さらにプログラムを実行する等によってレコメンド情報生成装置30としても機能させてもよい。この場合、同じサーバ装置内で機能するクラスタ自動生成装置10とレコメンド情報生成装置30とが、当該サーバ装置内で通信可能に接続される。
【0077】
レコメンド情報生成装置30は、クラスタ自動生成装置10から、コンテンツの各々についての好み度ベクトル及びユーザーの各々についての適合度ベクトルを受け取り、コンテンツクラスタに対するユーザークラスタの親和度(以下、「好み親和度ベクトル」と呼ぶ。)を含むテーブル(以下、「好み親和度テーブル」と呼ぶ。)及びユーザークラスタに対するコンテンツクラスタの親和度(以下、「適合親和度ベクトル」と呼ぶ。)を含むテーブル(以下、「適合親和度テーブル」と呼ぶ。)を生成するクラスタ間親和度集計部311と、好み親和度テーブル及び適合親和度テーブルの少なくとも一方に基づいてレコメンド情報を生成するレコメンド情報生成部310とを含む。レコメンド情報生成装置30を実現するサーバ装置の機能的構成は、
図2に示すクラスタ自動生成装置10及びユーザー端末20と同様の構成である。
【0078】
図10は、レコメンド情報生成装置における好み親和度テーブルに基づく推薦処理の流れを示すフローチャートであり、
図11は、レコメンド情報生成装置における適合親和度テーブルに基づく推薦処理の流れを示すフローチャートである。
図12は、レコメンド情報生成装置における適合親和度テーブルに基づく推薦処理の流れを示すフローチャートである。主に、
図10及び
図11のフローチャートでレコメンド情報生成装置30の処理の流れを説明し、補足的に、
図12のシーケンス図でレコメンド情報生成装置30のレコメンド情報生成部310及びクラスタ間親和度集計部311と、クラスタ自動生成装置10の各部(主に、コンテンツクラスタ処理部110及びユーザークラスタ処理部111)とのデータ、指示等のやり取りについて説明する。
図12のシーケンス図におけるステップT0
1、T0
2、T0
3及びT1からT12の動作は、
図4のシーケンス図における各ステップと同じであるから、動作についての説明は省略する。
【0079】
ステップS21では、クラスタ自動生成装置10は、各コンテンツに対する、ユーザークラスタ毎の利用ログの平均値(好み度ベクトル(LIKEベクトル))を計算する。また、クラスタ自動生成装置10において好み度ベクトルの計算を実行している場合(
図3のスローチャートのステップS4)には、計算することに代えて、クラスタ自動生成装置10は、計算済みの好み度ベクトルをクラスタ自動生成装置10から取得することができる。ステップS21は、
図12に示すシーケンス図におけるステップR1に対応する。
図12のステップR1では、クラスタ間親和度集計部311は、コンテンツクラスタ処理部110から送信(通知)された好み度ベクトル(LIKEベクトル)を取得する。
【0080】
ステップS22では、レコメンド情報生成装置30のクラスタ間親和度集計部311が、コンテンツクラスタに対する、ユーザークラスタから見た評価値である好み親和度ベクトル(好み度ベクトル(LIKEベクトル)の平均)を計算する。コンテンツクラスタ毎に好み親和度ベクトルを計算した結果、クラスタ間親和度集計部311は、好み親和度テーブルを生成する。具体的には、ステップS23において、クラスタ間親和度集計部311は、好み親和度テーブルに相当する「ユーザークラスタとコンテンツクラスタの親和度テーブル」(行列)を生成する。
【0081】
例えば、クラスタ間親和度集計部311は、
図13(a)に示すようなコンテンツクラスタとユーザークラスタの親和度のテーブル(コンテンツクラスタに対するユーザークラスタの好み親和度テーブル)を生成することができる。好み親和度テーブルは、好み親和度ベクトルをすべてのコンテンツクラスタについて並べた行列である。例えば、コンテンツクラスタID:「CCL001」についての好み親和度ベクトルは、ユーザークラスタID:「UCL01」、「UCL02」、「UCL03」、「UCL04」・・(中略)・・「UCL50」に対応して、(+0.3,+0.6,+0.2,0,・・(中略)・・,+0.5)といった値を要素(成分)として有する。ステップS22及びS23は、
図12に示すシーケンス図におけるステップR2に対応する。
【0082】
図10のフローチャートのステップS24において、レコメンド情報生成装置30は、サービス運営者(管理者)又はユーザー等から利用シーンに関する入力を受けて、利用シーンを判断する。利用シーンが「ユーザーが問い合わせ」である場合には、ステップS25において、「コンテンツクラスタとユーザークラスタの親和度テーブル」(好み親和度テーブル)内で、ユーザーのクラスタに親和度の高いコンテンツクラスタを参照し、そこからコンテンツを任意に選んでユーザーに通知する。利用シーンが「サービス運営者がユーザーに通知」である場合には、ステップS26において、「コンテンツクラスタとユーザークラスタの親和度テーブル」(好み親和度テーブル)内で、コンテンツのクラスタに親和度の高いユーザークラスタを参照し、そこからユーザーを任意に選んでユーザーに通知する。
【0083】
具体的には、レコメンド情報生成部310は、好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦するために、又は、好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝するために、選んだコンテンツに関する情報を含むレコメンド情報を生成し、当該レコメンド情報をユーザー端末に送信することができる。
図10のフローチャートにおけるステップS24、S25及びS26は、
図12に示すシーケンス図におけるステップR3及びR4に対応する。
【0084】
図11のフローチャートを参照すると、ステップS31では、クラスタ自動生成装置10は、各ユーザーに対する、コンテンツクラスタ毎の利用ログの平均値(適合度ベクトル(FITベクトル))を計算する。また、クラスタ自動生成装置10において適合度ベクトルの計算を実行している場合(
図3のスローチャートのステップS8)には、計算することに代えて、クラスタ自動生成装置10は、計算済みの適合度ベクトルをクラスタ自動生成装置10から取得することができる。ステップS31は、
図12に示すシーケンス図におけるステップR5に対応する。
図12のステップR5では、クラスタ間親和度集計部311は、ユーザークラスタ処理部111から送信(通知)された適合度ベクトル(FITベクトル)を取得する。
【0085】
ステップS32では、レコメンド情報生成装置30のクラスタ間親和度集計部311が、ユーザークラスタに対する、コンテンツクラスタから見た評価値である適合親和度ベクトル(適合度ベクトル(FITベクトル)の平均)を計算する。ユーザークラスタ毎に適合親和度ベクトルを計算した結果、クラスタ間親和度集計部311は、適合親和度テーブルを生成する。具体的には、ステップS33において、クラスタ間親和度集計部311は、適合親和度テーブルに相当する「コンテンツクラスタとユーザークラスタの親和度テーブル」(行列)を生成する。
【0086】
例えば、クラスタ間親和度集計部311は、
図13(b)に示すようなユーザークラスタとコンテンツクラスタの親和度のテーブル(ユーザークラスタに対するコンテンツクラスタの適合親和度テーブル)を生成することができる。適合親和度テーブルは、適合親和度ベクトルをすべてのユーザークラスタについて並べた行列である。例えば、ユーザークラスタID:「UCL001」についての適合親和度ベクトルは、コンテンツクラスタID:「CCL01」、「CCL02」、「CCL03」、「CCL04」・・(中略)・・「CCL100」に対応して、(-0.9,+0.3,-0.1,0,・・(中略)・・,+0.3)といった値を要素(成分)として有する。ステップS32及びS33は、
図12に示すシーケンス図におけるステップR6に対応する。
【0087】
図11のフローチャートのステップS34において、レコメンド情報生成装置30は、サービス運営者(管理者)又はユーザー等から利用シーンに関する入力を受けて、利用シーンを判断する。利用シーンが「ユーザーが問い合わせ」である場合には、ステップS35において、「ユーザークラスタとコンテンツクラスタの親和度テーブル」(適合親和度テーブル)内で、ユーザーのクラスタに親和度の高いコンテンツクラスタを参照し、そこからコンテンツを任意に選んでユーザーに通知する。利用シーンが「サービス運営者がユーザーに通知」である場合には、ステップS36において、「ユーザークラスタとコンテンツクラスタの親和度テーブル」(適合親和度テーブル)内で、コンテンツのクラスタに親和度の高いユーザークラスタを参照し、そこからユーザーを任意に選んでユーザーに通知する。
【0088】
具体的には、レコメンド情報生成部310は、適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦するために、又は、適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝するために、選んだコンテンツに関する情報を含むレコメンド情報を生成し、当該レコメンド情報をユーザー端末に送信することができる。
図10のフローチャートにおけるステップS34、S35及びS36は、
図12に示すシーケンス図におけるステップR7及びR8に対応する。
【0089】
以上のように、本発明の一実施形態に係るレコメンド情報生成装置では、視聴者であるユーザーは、ユーザー端末20からコンテンツ推薦に関する問い合わせを行った場合には、レコメンド情報生成装置30のレコメンド情報生成部310は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いコンテンツクラスタから、任意にコンテンツを選んでユーザーに推薦することができる。具体的には、レコメンド情報生成部310は、任意にコンテンツを選んでユーザーに推薦するために、当該コンテンツに関する情報を含むレコメンド情報を生成して、当該レコメンド情報をユーザー端末に送信(通知)することができる。
【0090】
また、本発明の一実施形態に係るレコメンド情報生成装置では、コンテンツを提供するサービス運営者がユーザーに通知を行う場合には、レコメンド情報生成装置30のレコメンド情報生成部310は、好み親和度テーブル内で、コンテンツの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝し、又は、適合親和度テーブル内で、コンテンツの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでコンテンツを宣伝することができる。具体的には、レコメンド情報生成部310は、任意にユーザーを選んでコンテンツに宣伝するために、当該コンテンツに関する情報を含むレコメンド情報を生成して、当該レコメンド情報を、選ばれたユーザーのユーザー端末に送信(通知)することができる。
【0091】
このように、本発明の一実施形態に係るクラスタ自動生成装置及びレコメンド情報生成装置は、ユーザークラスタ及びコンテンツクラスタ等に基づいて、複数の観点から生成したレコメンド情報をユーザーに提示することができる。これにより、1つの観点の観点でレコメンド情報を提示していた先行技術に比べて、よりユーザーの多種多様な嗜好に対応することができる。
【0092】
図14は、本発明の別の実施形態に係る自動生成装置及びレコメンド情報生成装置の構成を示す概略構成図(システム構成図)である。
図9に示した本発明の一実施形態に係るクラスタ自動生成装置及びレコメンド情報生成装置の構成と同様に、クラスタ自動生成装置10’は、ネットワークNを介して、1以上のユーザー端末20と通信可能に接続される。レコメンド情報生成装置30は、クラスタ自動生成装置10’と通信可能に接続される。ユーザー端末20、レコメンド情報生成装置30、ネットワークNの構成については既に説明したとおりである。
【0093】
クラスタ自動生成装置10’は、予め定められた数のコンテンツクラスタを生成するコンテンツクラスタ処理部110、予め定められた数のユーザークラスタを生成するユーザークラスタ処理部111及び1以上のユーザー端末から利用ログを受け取る利用ログ集計部112に加えて、予め定められた数のアーティストクラスタを生成するアーティストクラスタ処理部113と、コンテンツに出演しているアーティストをコンテンツ毎に対応付けた対応テーブルを記憶した出演アーティスト記憶部114とを含む。また、クラスタ自動生成装置10’は、コンテンツクラスタを生成する必要がない場合(コンテンツクラスタに代えてアーティストクラスタを用いる場合)には、コンテンツクラスタ処理部110を含まない構成とすることもできる。
【0094】
アーティストクラスタ処理部113は、各コンテンツの出演アーティストデータベース(DB)に相当する出演アーティスト記憶部114を参照して、各コンテンツに出演するアーティストを特定することができる。
図15は、コンテンツに対する出演者(アーティスト)を記憶したテーブルの一例を示す図である。例えば、コンテンツID:「C1」には、アーティストID:「A1」及び「A9」が関連付けて記憶される。このように関連付けて記憶することで、コンテンツID:「C1」で識別されるコンテンツには、アーティストID:「A1」及び「A9」で識別されるアーティストが出演していることが分かる。
【0095】
アーティストクラスタ処理部113は、出演アーティスト記憶部114を参照して、例えば、コンテンツID:「C2」をキーとして、
図15に示すようなコンテンツに対する出演者テーブルを検索して、アーティストID:「A1」で識別される出演アーティストとアーティストID:「A1」で識別される出演アーティストの2名を見つけることができる。つまり、アーティストクラスタ処理部113は、コンテンツに代えて、当該コンテンツの出演アーティストに関する情報(すなわち、コンテンツIDに代えて、アーティストID)を用いて、アーティストクラスタを生成することができる。
【0096】
クラスタ自動生成装置10’によるアーティストクラスタ及びユーザークラスタの生成処理は、既に説明した本発明の一実施形態に係るクラスタ自動生成装置10によるコンテンツクラスタ及びユーザークラスタの生成処理(
図3、
図4参照)と同様の処理である。つまり、クラスタ自動生成装置10’は、コンテンツに代えて当該コンテンツの出演アーティストに関する情報を用いて、コンテンツに対する処理と同様の処理をアーティストに対して実行するものである。クラスタ自動生成装置10’の利用ログ集計部112で集計される利用ログは、
図16に示すように、アーティストの各々に対するユーザー毎の評価値を含む。
【0097】
図16に示す。
図16は、アーティストに対するユーザーの利用ログを記憶したテーブルの一例を示す図である。例えば、アーティストID:「A1」は、ユーザーID:「U1」、「U5」で評価値が+1(=そのユーザーはそのアーティストを好んだということ)であり、ユーザーID:「U2」、「U4」で評価値が-1(=そのユーザーはそのアーティストを好まなかったということ)であり、ユーザーID:「U3」で評価値が0(=そのユーザーはそのアーティストを好むかどうか不明)である。
【0098】
ユーザーの評価の対象となるアーティストは、複数のコンテンツに出演している場合があることから、アーティストが出演したコンテンツ毎に評価値(例えば、+1、0、-1)を定めて、それら評価値の平均値を算出して、その平均値を利用ログのテーブルに記憶することもできる。
【0099】
図17は、ユーザークラスタ毎の平均(LIKEベクトル)を記憶したテーブル及びアーティストクラスタ毎の平均(FITベクトル)を記憶したテーブルの一例を示す図である。利用ログ集計部112は、各アーティストについて利用ログの評価値をユーザーがアーティストを好むか否かを表す好み度(LIKE度)として使用し、ユーザークラスタ毎にユーザーの好み度の平均値を算出して、ユーザークラスタ毎の好み度(LIKE度)の平均値を要素とする好み度ベクトル(LIKEベクトル)をアーティスト毎に生成する。
【0100】
例えば、利用ログ集計部112は、
図17(a)に示すようなアーティストに対するユーザーの評価値の、ユーザークラスタ毎の平均(LIKEベクトル)テーブルを生成することができる。例えば、アーティストID:「A1」についての好み度ベクトルは、ユーザークラスタID:「UCL01」、「UCL02」、「UCL03」、「UCL04」・・(中略)・・「UCL50」に対応して、(0,+0.3,-0.1,+0.6,・・(中略)・・,+0.5)といった値を要素(成分)として有する。
【0101】
また、利用ログ集計部112は、各ユーザーについて利用ログの評価値をアーティストがユーザーに適するか否かを表す適合度(FIT度)として使用し、アーティストクラスタ毎にアーティストの適合度(FIT度)の平均値を算出して、アーティストクラスタ毎の適合度(FIT度)の平均値を要素とする適合度ベクトル(FITベクトル)をユーザー毎に生成する。
【0102】
例えば、利用ログ集計部112は、
図17(b)に示すような各ユーザーがアーティストに与えた評価値の、アーティストクラスタ毎の平均(FITベクトル)テーブルを生成することができる。例えば、ユーザーID:「U1」についての適合度ベクトルは、アーティストクラスタID:「ACL01」、「ACL02」、「ACL03」、「ACL04」・・(中略)・・「ACL200」に対応して、(+0.3、+0.6,+0.6、+0.2,・・(中略)・・,+0.3)といった値を要素(成分)として有する。
【0103】
図18は、アーティストクラスタを記憶したテーブルの一例を示す図である。アーティストクラスタ処理部113は、出演アーティスト記憶部114から取得したアーティストIDをキーとして、例えば、
図18に示すようなアーティストクラスタテーブルを検索して、アーティストが分類されるアーティストクラスタ(つまり、アーティストIDに対応するアーティストクラスタID)を探すことができる。アーティストIDとアーティストクラスタIDとの対応関係(アーティストクラスタに含まれるアーティスト)は、
図18に示すようなアーティストクラスタテーブルに記憶される。例えば、アーティストID:「A1」のアーティストを含むアーティストクラスタのID(アーティストクラスタID)は「ACL199」である。
【0104】
図14に示すレコメンド情報生成装置30は、
図9に示したものと同様の処理(
図10、
図11、
図12等に示す処理)を行い、アーティストクラスタ及びユーザークラスタについての好み親和度テーブル及び適合親和度テーブルを生成することができる。
【0105】
つまり、視聴者であるユーザーは、ユーザー端末20からアーティスト推薦に関する問い合わせを行った場合には、レコメンド情報生成装置30のレコメンド情報生成部310は、前記好み親和度テーブル内で、ユーザーの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦し、又は、前記適合親和度テーブル内で、ユーザーの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いアーティストクラスタから、任意にアーティストを選んでユーザーに推薦することができる。具体的には、レコメンド情報生成部310は、任意にアーティストを選んでユーザーに推薦するために、当該アーティストに関する情報を含むレコメンド情報を生成して、当該レコメンド情報をユーザー端末に送信(通知)することができる。
【0106】
また、アーティストを宣伝したいサービス運営者がユーザーに通知を行う場合には、レコメンド情報生成装置30のレコメンド情報生成部310は、好み親和度テーブル内で、アーティストの属するクラスタの行に注目し、行内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝し、又は、適合親和度テーブル内で、アーティストの属するクラスタの列に注目し、列内で値が予め定めた値よりも高いユーザークラスタから、任意にユーザーを選んでアーティストを宣伝することができる。具体的には、レコメンド情報生成部310は、任意にユーザーを選んでアーティストに宣伝するために、当該アーティストに関する情報を含むレコメンド情報を生成して、当該レコメンド情報を、選ばれたユーザーのユーザー端末に送信(通知)することができる。
【0107】
このように、本発明の別の実施形態に係るクラスタ自動生成装置及びレコメンド情報生成装置も、ユーザークラスタ及びアーティストクラスタ等に基づいて、複数の観点から生成したレコメンド情報をユーザーに提示することができる。これにより、1つの観点の観点でレコメンド情報を提示していた先行技術に比べて、よりユーザーの多種多様な嗜好に対応することができる。
【産業上の利用可能性】
【0108】
本発明に係るクラスタ自動生成装置及びレコメンド情報生成装置等は、放送局(ラジオ局など)のコンテンツ提供者から転送されるコンテンツ(例えば、ラジオコンテンツ)を中継配信するメディアセンターにおいて、ユーザーの嗜好に合わせてレコメンド情報をユーザー端末に送信することに利用可能である。
【符号の説明】
【0109】
10 :クラスタ自動生成装置
10’ :クラスタ自動生成装置
11 :CPU
12 :メモリ
13 :バス
14 :入出力インターフェース
15 :入力部
16 :出力部
17 :記憶部
18 :通信部
20 :ユーザー端末
20a :ユーザー端末
20b :ユーザー端末
20c :ユーザー端末
21 :CPU
22 :メモリ
23 :バス
24 :入出力インターフェース
25 :入力部
26 :出力部
27 :記憶部
28 :通信部
30 :レコメンド情報生成装置
110 :コンテンツクラスタ処理部
111 :ユーザークラスタ処理部
112 :利用ログ集計部
113 :アーティストクラスタ処理部
114 :出演アーティスト記憶部
310 :レコメンド情報生成部
311 :クラスタ間親和度集計部
N :ネットワーク