(58)【調査した分野】(Int.Cl.,DB名)
前記履歴収集ステップは、前記ユーザにより視聴されたコンテンツの放映時間が、前記出力部が視聴される状態にある時区間を超えており、かつ所定の閾値以下の場合には、前記ユーザにより視聴されたコンテンツを前記視聴履歴として収集しない、
請求項1または2に記載のコンテンツ提示方法。
前記プレイリスト生成ステップは、前記選択されたコンテンツが、前記プレイリストに含まれ、かつ前記ユーザにより視聴されなかった回数をカウントするステップを含み、
前記プレイリスト生成ステップは、前記カウントされた回数が所定の回数に達したコンテンツは、前記ユーザプロファイルに基づき選択された場合でも、前記プレイリストに含めない、
請求項1〜4のいずれか1項に記載のコンテンツ提示方法。
【発明を実施するための形態】
【0013】
(本開示に係る一態様を発明するに至った経緯)
まず、本開示に係る一態様の着眼点について説明する。
【0014】
上記特許文献1,2に記載の装置は、曜日毎の視聴履歴に基づき、現在の曜日におけるコンテンツを視聴者に提示するものである。したがって、インターネットを介する動画視聴(例えばオンデマンドによる動画視聴)などに対応することは困難である。このため、上記特許文献1,2に記載の構成では、インターネットなどを介して動画コンテンツを視聴する場合、ユーザは1つの動画コンテンツの再生が終了する毎に、次に視聴したい動画コンテンツを選択する必要があるという課題を有していた。
【0015】
また、上記特許文献1に記載の装置は、視聴者個々の生活スタイルにあったコンテンツが提示されると記載されている。しかしながら、複数の視聴者が一台のテレビを共有する場合に、個々の視聴者を特定する技術については、一切記載されていない。また、上記特許文献2では、視聴者が1人の場合を想定して説明されているだけである。したがって、上記特許文献1,2に記載の装置では、複数の視聴者が一台のテレビを共有する場合に適用するのは困難である。
【0016】
複数の視聴者が一台のテレビを共有する場合でも、多くの家庭では、テレビの視聴パターンがある程度決まっていると考えられる。例えば、ある家庭では、平日早朝にはお父さんがニュース番組を視聴する。その後お母さんが朝の情報番組を視聴する。4歳の男の子が起きる頃には幼児向け番組を視聴する。出勤・通学により家族の一部が不在になると、おじいちゃんとおばあちゃんが情報番組を視聴する。夕方になると、子供が子供向けアニメを視聴する。その後、おじいちゃんとおばあちゃんが、好きな旅番組またはグルメ番組を視聴する。午後10時頃に帰宅すると、お父さんがニュース番組やビジネス情報番組を視聴する。日によって、視聴される番組は異なる。しかし、各個人の生活パターンはある程度決まっている。このため、一日のうちの各時間に主となる視聴者と、その視聴者が閲覧するコンテンツのジャンルとには、ある程度の決まった視聴パターンがあると考えられる。
【0017】
そこで、本発明者らは、上記検討を踏まえ、以下のように本開示にかかる各態様の発明を想到するに至った。
【0018】
本開示にかかる一態様は、ユーザにコンテンツを提示するコンテンツ提示装置におけるコンテンツ提示方法であって、出力部に出力されるコンテンツを視聴するユーザの視聴履歴を収集する履歴収集ステップと、前記収集された視聴履歴を分析し、前記出力部が視聴される状態にあるアクティブ時区間を決定する決定ステップと、前記ユーザにより視聴されたコンテンツに付与されたメタデータを収集するデータ収集ステップと、前記収集されたメタデータを分析し、前記視聴されたコンテンツを表す単語を抽出する分析ステップと、前記決定されたアクティブ時区間毎に、対象とするアクティブ時区間に視聴されたコンテンツに対応する前記抽出された単語に基づきユーザプロファイルを生成するプロファイル生成ステップと、現在時刻を取得し、前記取得された現在時刻を含むアクティブ時区間を特定し、前記取得された現在時刻から前記特定されたアクティブ時区間が終了する時刻までの長さである予測視聴時間を算出する演算ステップと、前記算出された予測視聴時間に適合するように、前記特定されたアクティブ時区間に対応して生成された前記ユーザプロファイルに基づきコンテンツを選択し、前記選択されたコンテンツの再生順を規定したプレイリストを生成するプレイリスト生成ステップと、を備えるものである。
【0019】
本態様によれば、アクティブ時区間ごとにユーザプロファイルが生成されるため、個々のユーザの嗜好に適合するコンテンツを選択することができ、個々のユーザの生活パターンに適合するプレイリストを生成することができる。
【0020】
上記態様において、例えば、前記生成されたプレイリストに規定された再生順で前記選択されたコンテンツを前記出力部に出力する出力ステップをさらに備えるようにしてもよい。
【0021】
本態様によれば、ユーザは、インターネットを介してオンデマンドで視聴可能なネット動画を含む動画コンテンツを、テレビ放送番組のように受動的に視聴することができる。
【0022】
上記態様において、例えば、前記プロファイル生成ステップは、前記決定されたアクティブ時区間に対応する列ごとに、前記抽出された単語のtf−idf値を行の要素とする行列を生成するステップと、前記生成された行列から、特異値分解または独立成分分析を用いて、潜在プロファイルベクトルを、前記ユーザプロファイルとして前記アクティブ時区間毎に生成するステップと、を含んでもよい。前記プレイリスト生成ステップは、前記取得された現在時刻に視聴可能な選択候補コンテンツを特定するステップと、前記特定された選択候補コンテンツに付与されたメタデータから前記特定された選択候補コンテンツを表す単語を抽出するステップと、前記抽出された単語のtf−idf値を要素とするベクトルを生成するステップと、前記生成されたベクトルから、特異値分解または独立成分分析を用いて、潜在動画コンテンツベクトルを生成するステップと、前記選択候補コンテンツの前記潜在動画コンテンツベクトルと、前記潜在プロファイルベクトルとをそれぞれ比較し、比較されたベクトルの類似度に基づき、前記選択候補コンテンツから前記プレイリストに載せるコンテンツを選択するステップと、を含んでもよい。
【0023】
本態様によれば、選択候補コンテンツの潜在動画コンテンツベクトルと、潜在プロファイルベクトルとをそれぞれ比較し、比較されたベクトルの類似度に基づき、選択候補コンテンツからプレイリストに載せるコンテンツが選択される。したがって、アクティブ時区間に視聴されたコンテンツを表す単語と、特定された選択候補コンテンツを表す単語との間で、共通する単語が少ない場合でも、同じジャンルに属するコンテンツを精度良く選択することができる。
【0024】
上記態様において、例えば、前記履歴収集ステップは、前記ユーザにより視聴されたコンテンツの放映時間が、前記出力部が視聴される状態にある時区間を超えており、かつ所定の閾値以下の場合には、前記ユーザにより視聴されたコンテンツを前記視聴履歴として収集しないとしてもよい。
【0025】
本態様によれば、ユーザが視聴を開始したものの、所定の閾値以下の短時間で視聴を中止したようなコンテンツは、視聴履歴に含まれない。したがって、視聴履歴に関連するノイズを低減することができる。但し、ユーザにより視聴されたコンテンツの放映時間が、出力部が視聴される状態にある時区間以下の場合には、当該コンテンツを終了まで視聴した可能性がある。このため、その場合には、当該コンテンツは、視聴履歴として収集される。
【0026】
上記態様において、例えば、前記出力部は、テレビ受像機であるとしてもよい。前記履歴収集ステップは、ユーザがチャンネルを変更した後、所定の閾値時間以内にユーザが変更後のチャンネルから変更前のチャンネルに戻した場合、前記変更後のチャンネルが継続している間に前記コンテンツの放映が終了した場合を除いて、前記ユーザによるチャンネルの変更を、前記視聴履歴として収集しないとしてもよい。
【0027】
本態様によれば、ユーザがザッピングをしたようなチャンネル変更は、視聴履歴に含まれない。したがって、チャンネル変更に関連するノイズを低減することができる。但し、変更後のチャンネルが継続している間に、コンテンツの放映が終了した場合には、当該コンテンツを終了まで視聴した可能性がある。このため、その場合には、当該チャンネル変更は、視聴履歴として収集される。
【0028】
上記態様において、例えば、前記プレイリスト生成ステップは、前記選択されたコンテンツが、前記プレイリストに含まれ、かつ前記ユーザにより視聴されなかった回数をカウントするステップを含んでもよい。前記プレイリスト生成ステップは、前記カウントされた回数が所定の回数に達したコンテンツは、前記ユーザプロファイルに基づき選択された場合でも、前記プレイリストに含めないようにしてもよい。
【0029】
本態様によれば、ユーザの好みのジャンルに含まれるコンテンツであっても、ユーザが視聴しない特定のコンテンツをプレイリストに含めないようにすることができる。したがって、更にきめ細かく、ユーザの嗜好に沿ったコンテンツを推薦することができる。
【0030】
本開示にかかる他の態様は、コンテンツ提示装置であって、コンテンツを出力する出力部と、前記出力部に出力されるコンテンツを視聴するユーザの視聴履歴を収集する履歴収集部と、前記収集された視聴履歴を分析し、前記出力部が視聴される状態にあるアクティブ時区間を決定する決定部と、前記ユーザにより視聴されたコンテンツに付与されたメタデータを収集するデータ収集部と、前記収集されたメタデータを分析し、前記視聴されたコンテンツを表す単語を抽出する分析部と、前記決定されたアクティブ時区間毎に、対象とするアクティブ時区間に視聴されたコンテンツに対応する前記抽出された単語に基づきユーザプロファイルを生成するプロファイル生成部と、現在時刻を取得し、前記取得された現在時刻を含むアクティブ時区間を特定し、前記取得された現在時刻から前記特定されたアクティブ時区間が終了する時刻までの長さである予測視聴時間を算出する演算部と、前記算出された予測視聴時間に適合するように、前記特定されたアクティブ時区間に対応して生成された前記ユーザプロファイルに基づきコンテンツを選択し、前記選択されたコンテンツの再生順を規定したプレイリストを生成するプレイリスト生成部と、を備えるものである。
【0031】
本開示にかかる他の態様は、ユーザにコンテンツを提示するコンテンツ提示装置を制御するプログラムであって、前記コンテンツ提示装置のコンピュータに、出力部に出力されるコンテンツを視聴するユーザの視聴履歴を収集する履歴収集ステップと、前記収集された視聴履歴を分析し、前記出力部が視聴される状態にあるアクティブ時区間を決定する決定ステップと、前記ユーザにより視聴されたコンテンツに付与されたメタデータを収集するデータ収集ステップと、前記収集されたメタデータを分析し、前記視聴されたコンテンツを表す単語を抽出する分析ステップと、前記決定されたアクティブ時区間毎に、対象とするアクティブ時区間に視聴されたコンテンツに対応する前記抽出された単語に基づきユーザプロファイルを生成するプロファイル生成ステップと、現在時刻を取得し、前記取得された現在時刻を含むアクティブ時区間を特定し、前記取得された現在時刻から前記特定されたアクティブ時区間が終了する時刻までの長さである予測視聴時間を算出する演算ステップと、前記算出された予測視聴時間に適合するように、前記特定されたアクティブ時区間に対応して生成された前記ユーザプロファイルに基づきコンテンツを選択し、前記選択されたコンテンツの再生順を規定したプレイリストを生成するプレイリスト生成ステップと、を実行させるものである。
【0032】
なお、これらの包括的または具体的な態様は、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、方法、集積回路、コンピュータプログラムおよび記録媒体の任意の組み合わせで実現されてもよい。
【0033】
(実施の形態)
以下、本開示の実施の形態について、図面を参照しながら説明する。
【0034】
図1は、本実施の形態におけるシステム全体の構成を示す図である。
【0035】
図1に示すように、ネットワークに接続する機能を有する機器102は、ネットワークを介して外部のサーバ装置101と接続される。機器102とサーバ装置101との間で、ネットワークを介して、プログラムの送受信、ユーザに関連するデータの送受信、機器102をコントロールするための制御データの送受信等のデータ送受信が行われる。
【0036】
図2は、本実施の形態におけるコンテンツ提示装置の構成を示すブロック図である。
【0037】
図2に示すように、本実施の形態のコンテンツ提示装置は、視聴履歴収集部201、アクティブ時区間決定部202、予測視聴時間演算部203、コンテンツ情報収集部204、メタデータ分析部205、ユーザプロファイル生成部206、プレイリスト生成部207、出力部208を備える。
【0038】
出力部208は、各種情報を出力する。出力部208は、例えば、テレビ放送番組(コンテンツ)を受信し、受信したテレビ放送番組を表示する。出力部208は、例えば、インターネットを介してオンデマンドで取得された動画コンテンツを表示する。出力部208は、本実施の形態では、テレビ受像機である。代替的に、出力部208は、パーソナルコンピュータの表示装置でもよい。さらに代替的に、出力部208は、タブレットまたはいわゆるスマートフォンなどの携帯端末でもよい。
【0039】
視聴履歴収集部201(履歴収集部の一例)は、出力部208の電源がオンにされて出力部208に表示されるコンテンツを視聴するユーザの視聴の履歴を収集する。視聴履歴収集部201は、例えばハードディスクまたは半導体メモリなどの記憶装置を含む。視聴履歴収集部201は、ユーザが出力部208に表示されるコンテンツを視聴した時間(視聴開始時刻及び視聴終了時刻)を保存する。視聴履歴収集部201は、ユーザが視聴したテレビ放送番組またはインターネット動画などのコンテンツのタイトルなどを保存する。視聴履歴収集部201は、さらに出力部208のチャンネルがユーザにより切り替えられた時刻を保存する。
【0040】
コンテンツ情報収集部204(データ収集部の一例)は、コンテンツに付与されたメタデータを収集する。メタデータは、例えばコンテンツがテレビ放送番組であれば、電子番組ガイド(EPG)によって与えられるテキストデータである(後述される
図7参照)。メタデータは、例えばコンテンツがインターネットを介してオンデマンドで取得されたネット動画であれば、ネット動画に付加されネット動画を説明するテキストデータである。コンテンツ情報収集部204は、出力部208に表示されユーザが視聴した、全てのコンテンツに付与されたメタデータを収集して保存する。コンテンツ情報収集部204は、例えばハードディスクまたは半導体メモリなどの記憶装置を含む。視聴履歴収集部201とコンテンツ情報収集部204とは、記憶装置を共用してもよい。
【0041】
メタデータ分析部205(分析部の一例)は、収集されたメタデータを分析する。メタデータ分析部205は、収集されたメタデータに対して形態素解析を行い、単語を抽出する。メタデータ分析部205は、形態素解析の解析結果から、特定の品詞(名詞や動詞)を含む単語(索引語)を抽出する。メタデータ分析部205は、その抽出された単語(索引語)の出現回数を取得する。
【0042】
アクティブ時区間決定部202(決定部の一例)は、視聴履歴収集部201により収集された視聴履歴を分析し、出力部208が視聴される状態にある時間をアクティブ時区間として決定する。
【0043】
(疑似的な個人特定)
図3は、本実施の形態におけるアクティブ時区間の例を示す図である。
【0044】
アクティブ時区間決定部202は、出力部208の電源がオンになっている可能性の高い時間の区間を推定する。具体的には、例えば
図3に示されるように、視聴履歴収集部201は、出力部208の、電源がオンにされた時刻とオフにされた時刻(及びチャンネルが切り替わった時刻)とを記録する。
【0045】
アクティブ時区間決定部202は、この記録のうち、ある曜日(但し、本実施の形態では、曜日は特定しない)の中で、出力部208の電源がオンとなっている確率の高い時刻を特定する。アクティブ時区間決定部202は、1日24時間を例えば10分間隔で走査することで、上記時刻を特定する。
図3では、出力部208の電源がオンとなっている確率の高い時刻の一つとして12:30頃がある。よって、アクティブ時区間決定部202は、出力部208の電源がオンとなっている確率の高い時刻として、12:30を特定する。
【0046】
次に、アクティブ時区間決定部202は、この特定された時刻に出力部208の電源がオンになっている全てのオンからオフまでの時区間ログを抽出する。例えば
図3では、月曜の11:10−12:40と、火曜の11:00−14:00と、水曜の11:30−13:30と、金曜の11:30−12:30との4つの時区間ログが抽出される。
【0047】
次に、アクティブ時区間決定部202は、各時区間ログから、開始時刻の平均(
図3の例では11:30)と、終了時刻の平均(
図3の例では13:30)とを求める。このようにして、アクティブ時区間決定部202は、出力部208の電源がオンになっている確率の高い時区間である11:30−13:30をアクティブ時区間Taとして決定する。
【0048】
なお、アクティブ時区間決定部202は、1日24時間を例えば10分間隔で走査した際に、まず、出力部208の電源がオンになっている確率が最も高い時刻を特定し、その特定した時刻を中心とする時区間を最初のアクティブ時区間に決定する。その後、アクティブ時区間決定部202は、決定したアクティブ時区間を除いた時間帯で、次に出力部208の電源がオンになっている確率が最も高い時刻を特定し、その特定した時刻を中心とする時区間を2番目のアクティブ時区間に決定する。このようにして、アクティブ時区間決定部202は、1日24時間におけるアクティブ時区間を決定する。
【0049】
アクティブ時区間決定部202は、視聴履歴収集部201により収集されたユーザの視聴履歴において、出力部208の電源が、例えば1か月間で50%以上の日にオンになっている時刻を、電源がオンになっている時刻と判定してもよい。
【0050】
本実施の形態では、アクティブ時区間決定部202は、曜日に関係なく、アクティブ時区間を決定している。しかし、本開示は、これに限られない。アクティブ時区間決定部202は、土日祝日と平日とに分けて、それぞれアクティブ時区間を決定してもよい。
【0051】
以上のように、本実施の形態では、アクティブ時区間決定部202は、出力部208の電源がオンになっている確率の高い時区間をアクティブ時区間として決定する。ここで、出力部208を複数のユーザが共有している場合、上述のように、個々のユーザの生活パターンは、ほぼ一定していると考えられる。このため、特定のアクティブ時区間に出力部208を視聴するユーザは、いつも同じユーザであると考えられる。したがって、アクティブ時区間を決定することは、疑似的にユーザを特定していると言うことができる。
【0052】
図2に戻って、予測視聴時間演算部203(演算部の一例)は、出力部208の電源がオフからオンに切り替えられた時に、現在時刻を取得する。予測視聴時間演算部203は、アクティブ時区間決定部202により決定されたアクティブ時区間のうち、取得された現在時刻を含むアクティブ時区間を特定する。予測視聴時間演算部203は、特定されたアクティブ時区間と現在時刻とに基づき、現在時刻からユーザが視聴を中断すると予測される時刻(特定されたアクティブ時区間の終了時刻)までの長さである予測視聴時間を算出する。
【0053】
ユーザプロファイル生成部206(プロファイル生成部の一例)は、アクティブ時区間決定部202により決定されたアクティブ時区間毎に、ユーザプロファイルを生成する。ユーザプロファイル生成部206は、メタデータ分析部205によって抽出された単語(索引語)の出現回数から、tf−idf値を計算する。tf−idf値については後述される。
【0054】
ユーザプロファイル生成部206は、ユーザが視聴したコンテンツ毎に、tf−idf値を要素としたベクトル(以降、「動画コンテンツベクトル」と呼ぶ)を生成する。さらに、ユーザプロファイル生成部206は、対象とするアクティブ時区間にユーザが視聴した全ての動画コンテンツベクトルの各要素の平均値(加算平均)を要素とするベクトルを生成する。このベクトルを対象とするアクティブ時区間におけるプロファイルベクトルと呼ぶ。ユーザプロファイル生成部206は、プロファイルベクトルをアクティブ時区間のユーザプロファイルとして生成する。
【0055】
図8は、本実施の形態におけるプロファイルベクトル算出の具体例を概略的に示す図である。式(8.1)は、対象とするアクティブ時区間に視聴されたn個の動画コンテンツの動画コンテンツベクトルv
1〜v
nを表す。ここで、プロファイルベクトルpは、式(8.2)のように表されるとする。この場合、ユーザプロファイル生成部206は、式(8.3)に示されるように、プロファイルベクトルpの各要素を、動画コンテンツベクトルv
1〜v
nの各要素の平均値とする。
【0056】
(動画コンテンツの推薦)
プレイリスト生成部207は、予測視聴時間演算部203で算出された予測視聴時間に適合するように、ユーザプロファイル生成部206で生成されたユーザプロファイルに基づき、推薦するコンテンツを選択する。プレイリスト生成部207は、選択されたコンテンツの再生順を規定したプレイリストを生成する。プレイリスト生成部207は、生成したプレイリストを出力部208に出力してユーザに提示する。
【0057】
プレイリスト生成部207は、情報検索の分野で周知のベクトル空間モデルに基づき、コンテンツを選択する。プレイリスト生成部207は、出力部208の電源がオンにされた時にコンテンツの選択を行う。この場合、プレイリスト生成部207は、まず、出力部208の電源がオンにされた現在時刻を取得する。次に、プレイリスト生成部207は、現在時刻が含まれるアクティブ時区間を特定する。次に、プレイリスト生成部207は、その特定されたアクティブ時区間のプロファイルベクトルをユーザプロファイル生成部206から取得する。
【0058】
次に、プレイリスト生成部207は、現在時刻に放映されているテレビ放送番組(動画コンテンツ)と、現在時刻にインターネットを介してオンデマンドで取得可能な動画コンテンツとの動画コンテンツ情報(メタデータ)を取得する。プレイリスト生成部207は、前述と同様の方法で動画コンテンツベクトルを生成する。プレイリスト生成部207は、コンテンツ情報収集部204、メタデータ分析部205、ユーザプロファイル生成部206を制御して、前述と同様の方法で動画コンテンツベクトルを生成させてもよい。
【0059】
プレイリスト生成部207は、各動画コンテンツの動画コンテンツベクトルとプロファイルベクトルの類似度を算出する。プレイリスト生成部207は、類似度の算出方法として、例えばコサイン距離(「コサイン類似度」とも称される)で計算する。プレイリスト生成部207は、算出された類似度が、所定の閾値よりも大きい動画コンテンツを選択する。
【0060】
さらに、プレイリスト生成部207は、生成したプレイリストにしたがって出力部208を制御して、プレイリストに規定された再生順にコンテンツを自動的に出力部208に出力してもよい。一方、プレイリスト生成部207は、コンテンツを出力部26に自動的に出力せず、プレイリストを出力部208に提示するだけでもよい。この場合には、ユーザが出力部208を操作して、プレイリストに載せられたコンテンツを視聴すればよい。
【0061】
図4は、本実施の形態におけるプレイリストの例を示す図である。
【0062】
プレイリスト生成部207は、予測視聴時間演算部203で算出された予測視聴時間に基づいて、選択された動画コンテンツのプレイリストを生成する。例えば、
図4で示すように、出力部208の電源がオンにされた現在時刻Tpは、アクティブ時区間Taに含まれるとする。また、現在時刻Tpからアクティブ時区間Taの終了時刻12:30までの予測視聴時間が48分30秒と予測視聴時間演算部203により算出されたとする。この場合、プレイリスト生成部207は、予測視聴時間の終了時刻を中心として、あらかじめ設定された時間幅に適合するように、プレイリストを生成する。
【0063】
本実施の形態では、例えば、時間幅が4分に設定されている。この場合、プレイリスト生成部207は、選択されたコンテンツの視聴時間が46分30秒〜50分30秒に収まるように、プレイリストを生成する。
図4に示されるプレイリストでは、全てのコンテンツの視聴時間の合計は46分30秒になっている。
【0064】
代替的に、例えば、時間幅が予測視聴時間の2%と設定されているとしてもよい。この場合には、時間幅は48分30秒×0.02=58秒になる。したがって、プレイリスト生成部207は、選択されたコンテンツの視聴時間が48分1秒〜48分59秒に収まるように、プレイリストを生成する。
【0065】
プレイリスト生成部207は、基本的には、類似度の高い順に、コンテンツをプレイリストに載せる。
図4の例では、「ロワールワインのABC」の類似度が最も高い。次に、「旅客機内ワイン選考会」の類似度が高い。その次に、「パリジャパンエキスポ」の類似度が高い。さらにその次に、「『オペラ座の怪人』舞台稽古」の類似度が高い。
【0066】
図4のプレイリストの最後のコンテンツである「ベスト日本舞踊」は、上記予測視聴時間及び時間幅と、コンテンツの視聴時間とを考慮して選択される。例えば、「『オペラ座の怪人』舞台稽古」の次に類似度が高いコンテンツの視聴時間が長いために、全体の視聴時間が50分30秒に収まらない場合もあり得る。その場合、プレイリスト生成部207は、コンテンツの視聴時間を考慮して、プレイリストに載せるコンテンツを選択する。プレイリスト生成部207は、例えば
図4では、視聴時間が7分2秒の「ベスト日本舞踊」を選択してプレイリストに載せている。
【0067】
なお、
図2に示されるコンテンツ提示装置は、
図1の機器102であってもよいし、
図1のサーバ装置101であってもよい。
【0068】
図2に示されるコンテンツ提示装置は、具体的には図示されていないマイクロプロセッサ、及びROM、RAM、ハードディスクなどから構成される。前記ROM、RAM、ハードディスクにはコンピュータプログラムが記憶されており、前記マイクロプロセッサが前記プログラムに従って動作することにより、サーバ装置はその機能を果たす。
【0069】
なお、視聴履歴収集部201、アクティブ時区間決定部202、予測視聴時間演算部203、コンテンツ情報収集部204、メタデータ分析部205、ユーザプロファイル生成部206、プレイリスト生成部207の各機能ブロックは、ソフトウェアで実現されてもよいし、大規模集積回路(LSI)とソフトウェアの組み合わせ、もしくは、LSIで実現されてもよい。
【0070】
(潜在トピックの推定)
コンテンツの推薦を行う場合、推薦の基になる情報は、テキストで表現された動画コンテンツ情報になる。テレビ放送番組の番組情報は、EPGにて与えられる。EPG中の番組情報には、出演する俳優名、旅番組であれば旅先の地名、音楽番組であれば曲名など、固有名詞が多く含まれる。そのため、同じジャンルに属する複数の番組があった場合に、これらの番組の番組情報に出現する単語には、共通するものが少ない場合がある。例えば旅番組のジャンルで、「いい旅」の番組情報に出現する単語が「小田原、水河原、伍代春子」であり、「あるき旅」の番組情報に出現する単語が「南野天満宮、ワンダカフェ、三田村邦也」である場合などがある。
【0071】
このような場合、同じ旅番組のジャンルでありながら、二つの番組の類似性が低くなる可能性がある。そこで、これらの個別の単語群から、その単語群が潜在的に表すトピック(潜在トピック)を獲得する必要がある。また、EPGの番組情報は記述が短い。このため、単語の共起だけから番組間の類似性を計算することは不十分である。このような傾向は、EPGの番組情報だけでなく、一般的な動画コンテンツの説明テキストでも同様である。
【0072】
そこで、本実施の形態では、ユーザプロファイル生成部206は、アクティブ時区間にユーザが視聴した動画コンテンツを複数(例えば50個または100個)取得できた時に、それらの動画コンテンツのコンテンツ情報(メタデータ)から、動画コンテンツの潜在トピックを推定してもよい。上述の例で具体的に言うと、ユーザプロファイル生成部206は、番組情報に出現する単語には表向き含まれない「旅」という潜在トピックを番組情報から統計的に抽出するようにしてもよい。なお、視聴されたコンテンツの数が多くなるほど、潜在トピックの推定精度が向上する。
【0073】
このような潜在トピックが事前に得られていれば、ある動画コンテンツがどのような潜在トピックから構成されるかを表現することができる。つまり、アクティブ時区間ごとのユーザプロファイルも、どのような潜在トピックから構成されるかを表現することができる。このような潜在トピックの推定にはいくつかの手法が適用できる。本実施の形態では、ユーザプロファイル生成部206は、以下の(A)クラスタリング、(B)特異値分解、(C)独立成分分析の三つの手法のうちの一つを用いて潜在トピックを推定する。
【0074】
(A)クラスタリング
多数の動画コンテンツが取得できた時に、それらを、それぞれ類似する動画コンテンツを含む複数のクラスタに分けることができる。これを自動で行う技術をクラスタリングと呼ぶ。本実施の形態では、著名なクラスタリングアルゴリズムを用いて、クラスタリングを行う。適用可能なクラスタリングアルゴリズムとして、K−means法、凝集法(Tree−clustering)、Newmanのモジュール性に基づく階層的クラスタリングの3種類が適用可能である。
【0075】
クラスタが抽出できれば、各クラスタを要素として、動画コンテンツベクトルとプロファイルベクトルとを、潜在動画コンテンツベクトル、潜在プロファイルベクトルとして表現する。K−means法や凝集法では、事前にクラスタ数を与えておく必要がある。これは試行錯誤的に決定する。ユーザプロファイル生成部206は、例えば、他の計算によって最適なクラスタ数を決定するようにしてもよい。
【0076】
一方、Newmanのモジュール性に基づく階層的クラスタリングでは、適切なクラスタ数を自動で決定してくれる。ただし、このクラスタリングアルゴリズムは、ネットワーク中のノードをクラスタリングするときに用いられる。そこで、動画コンテンツに対して行うのであれば、事前に動画コンテンツ間にリンクを張っておく必要がある。例えば、動画コンテンツベクトル間の類似度によりリンクを張っておくことが考えられる。
【0077】
(B)特異値分解
図5は、本実施の形態における特異値分解を示す図である。
【0078】
ベクトル内の要素の中には、互いに関連性のあるものがある場合には、それを潜在的な特徴として捉える手法がある。代表的な手法に特異値分解によるものがある。これは、情報検索の分野では、潜在的意味索引付け(LSI)と呼ばれているものである。
図5のように、アクティブ時区間dに対応する列ごとに、動画コンテンツのメタデータに出現する単語を要素とする、式(5.1)のm行n列の行列Dを考える。
【0079】
この行列Dを特異値分解すると式(5.2)のように表現される。式(5.2)において、行列Uは、m行m列のユニタリ行列である。行列Σは、m行n列の実対角行列である。なお、行列Σの対角成分は非負である。行列V
Tは、n行n列のユニタリ行列Vの随伴行列(複素共役かつ転置行列)である。行列Uの最初のk個(k<r)の左特異ベクトルU
KTのみを使うと、アクティブ時区間dは、式(5.3)のように、ベクトルd
(k)と表現される。但し、rは行列Dの階数である。これにより、プレイリスト生成部207は、潜在プロファイルベクトルd
(k)を生成する。
【0080】
なお、プレイリスト生成部207は、式(5.3)を求める処理を、現在時刻に視聴可能な動画コンテンツに対しても行う。これにより、プレイリスト生成部207は、潜在動画コンテンツベクトルを生成する。
【0081】
(C)独立成分分析
図6は、本実施の形態における独立成分分析を示す図である。
【0082】
より高い質の潜在トピックを抽出する手法として、近年、独立成分分析(ICA)が注目されている。ICAは、音声認識における音源分離で有名な手法である。ICAを、自然言語処理や情報検索の分野では、潜在トピックの抽出に用いることができる。特異値分解の時と同様に、アクティブ時区間t
dに対応する列ごとに、動画コンテンツのメタデータに出現する単語を要素とする、式(6.1)のm行n列の行列Dを考える。また、ICAでは、式(6.7)のような、トピックt
sに対応する列ごとに、動画コンテンツのメタデータに出現する単語を要素とする、m行n列のトピック行列S(信号源行列とも言う)も考える。式(6.7)のトピックt
sは、メタデータに出現する単語から独立成分分析により抽出されるもので、例えば「旅」、「食」、「野球」などである。
【0083】
行列Dにおける列ベクトルt
djは、各アクティブ時区間t
dにおける索引語(単語)の重みベクトルである。トピック行列Sにおける列ベクトルt
sjも同様に、各トピックt
sにおける索引語(単語)の重みベクトルであると定義する。列ベクトルt
djの単語の重みは、各トピックt
sに含まれる単語の重みt
sjの混合であると考え、式(6.2)で表現する。式(6.2)における行列Aは、未知のn×m混合行列である。式(6.2)は、行列で考えると、式(6.3)のように記述できる。
【0084】
ICAは、トピック行列S及び混合行列Aが未知の場合に、アクティブ時区間−単語行列Dのみを用いて、トピック行列Sを推定する方法である。実際には、式(6.4)のように表し、復元行列Wと復元信号Yとを求める。これらを推定する手法として、FastICAがある。復元信号Yが求まれば、式(6.5)により、潜在プロファイル行列Dハットを得る。個々のアクティブ時区間に対しては、プレイリスト生成部207は、式(6.6)により、行列Dハットの列ベクトルである潜在プロファイルベクトルt
dハットを生成する。
【0085】
なお、プレイリスト生成部207は、式(6.6)を求める処理を、現在時刻に視聴可能な動画コンテンツに対しても行う。これにより、プレイリスト生成部207は、潜在動画コンテンツベクトルを生成する。
【0086】
(潜在トピックを用いた動画コンテンツの推薦)
プレイリスト生成部207は、潜在トピックを用いた動画コンテンツの推薦を、潜在トピックを用いない場合と同様に行う。ただし、プレイリスト生成部207は、動画コンテンツベクトルの代わりに潜在動画コンテンツベクトルを用い、プロファイルベクトルの代わりに潜在プロファイルベクトルを用いる。
【0087】
(演算の具体例)
図9は、本実施の形態におけるベクトル空間モデルのベクトル表現を説明する図である。
図10は、本実施の形態における文書及び索引語の一例を示す図である。
図11は、本実施の形態における検索質問及び文書の一例を示す図である。
図12は、本実施の形態におけるtf−idf値を説明する図である。
図9〜
図12を用いて、ベクトル空間モデルにおける演算の具体例が説明される。
【0088】
ベクトル空間モデルは、情報検索を行うためのアルゴリズムの一つである。ベクトル空間モデルでは、
図9の式(9.1)に示されるように、文書及び検索質問をベクトルで表現する。通常、複数の文書が扱われるので、式(9.2)に示されるように、文書は行列Dで表現される。
【0089】
図10に示されるように、5つの文書D
1〜D
5がある。文書D
1〜D
5は、動画コンテンツのコンテンツ情報(メタデータ)に相当する。メタデータ分析部205は、文書D
1〜D
5に対して形態素解析を行って、索引語w
1〜w
10を抽出する。索引語は、文書の内容を特徴付けるうえで重要な単語のことである。
【0090】
この文書D
1〜D
5に対して「アルファモバイル」を検索する場合を考える。「アルファ」は索引語w
1に相当し、「モバイル」は索引語w
5に相当する。したがって、検索質問ベクトルqは、
図11の式(11.1)で表される。
【0091】
一方、文書D
1は、索引語w
1〜w
3を含み、その他の索引語を含まない。したがって、文書D
1を表すベクトルは、[1,1,1,0,0,0,0,0,0,0]になる。また、文書D
2は、索引語w
1〜w
4を含み、その他の索引語を含まない。したがって、文書D
2を表すベクトルは、[1,1,1,1,0,0,0,0,0,0]になる。同様に、文書D
3を表すベクトルは、[1,1,0,0,1,0,0,0,0,0]になる。文書D
4を表すベクトルは、[1,1,0,1,0,1,1,1,0,0]になる。文書D
5を表すベクトルは、[2,1,0,0,1,0,0,0,1,1]になる。その結果、文書全体を表す行列Dは、
図11の式(11.2)で表される。
【0092】
この文書全体を表す行列Dに対して、検索質問ベクトルqにより検索すると、3行目の文書D
3の類似度が最も高いという結果が得られる。
【0093】
なお、動画コンテンツベクトルの要素は、索引語w
iそのままではなく、上述のように、tf−idf値が用いられる。tf−idf値は、文書の内容を表す上で索引語w
iが持つ重要度を表す指標である。tf−idf値は、
図12の式(12.1)に示されるように、単語の出現頻度(tf)と逆文書頻度(idf)との積によって算出される。
【0094】
単語の出現頻度tf
ijは、索引語w
iの文書Djにおける出現頻度である。逆文書頻度idf
ijは、
図12の式(12.2)で表される。式(12.2)において、符号nは全体の文書数を表し、符号n
iは索引語w
iを含む文書数を表す。
【0095】
(処理の流れ)
図13〜
図15は、それぞれ、本実施の形態におけるコンテンツ提示装置の処理の流れを示すフローチャートである。
【0096】
図13のステップS501(履歴収集ステップの一例)において、視聴履歴収集部201は、出力部208に出力されるコンテンツをユーザが視聴した視聴履歴を収集して保存する。続くステップS502(データ収集ステップの一例)において、コンテンツ情報収集部204は、出力部208に表示されユーザが視聴した、全てのコンテンツのコンテンツ情報(メタデータ)を収集して保存する。続くステップS503(分析ステップの一例)において、メタデータ分析部205は、収集されたメタデータを分析して、所定の単語を抽出し、抽出された単語の出現回数を取得する。
【0097】
図13の処理は、出力部208の電源のオンオフごとに、視聴履歴収集部201、コンテンツ情報収集部204、メタデータ分析部205によって実行される。
【0098】
図14のステップS511(決定ステップの一例)において、アクティブ時区間決定部202は、収集された視聴履歴を分析して、出力部208が視聴状態にあるアクティブ時区間を決定する。続くステップS512(プロファイル生成ステップ)において、ユーザプロファイル生成部206は、アクティブ時区間毎に、プロファイルベクトルをユーザプロファイルとして生成する。
【0099】
図14の処理は、
図13の処理に引き続いて、アクティブ時区間決定部202及びユーザプロファイル生成部206によって実行されてもよい。代替的に、アクティブ時区間決定部202及びユーザプロファイル生成部206は、出力部208の電源がオフの間に、
図14の処理を実行してもよい。
【0100】
図15のステップS521において、予測視聴時間演算部203は、出力部208の電源がオフからオンに切り替えられたか否かを判別する。出力部208の電源がオフからオンに切り替えられていなければ(ステップS521でNO)、このフローは終了する。一方、出力部208の電源がオフからオンに切り替えられると(ステップS521でYES)、ステップS522(演算ステップの一例)において、予測視聴時間演算部203は、現在時刻を取得し、現在時刻と現在時刻を含むアクティブ時区間とに基づき、予測視聴時間を算出する。
【0101】
続いて、ステップS523(プレイリスト生成ステップの一例)において、プレイリスト生成部207は、予測視聴時間に適合するように、現在のアクティブ時区間のユーザプロファイルに基づき、推薦するコンテンツを選択して、プレイリストを生成する。
【0102】
(クラスタリングの応用例)
本実施の形態のコンテンツ提示装置は、出力部208(本実施の形態ではテレビ)の利用者に関する情報(多くの場合は、家族に関する情報)が全く入力されなくても、プレイリストを生成して適切なコンテンツを推薦することができる。しかし、ユーザは、テレビを購入後、テレビを使い始める前に、1回だけであれば家族の構成員に関する情報を入力することを厭わないと思われる。例えば、家族の人数とその役割(父、母、子など)といった粒度の情報であれば、テレビのリモコンで入力可能である。
【0103】
そこで、家族の人数が分かっている場合は、ユーザプロファイル生成部206は、得られた各アクティブ時区間のユーザプロファイルをクラスタリングしてもよい。各アクティブ時区間のユーザプロファイルは、潜在トピックを要素とする潜在プロファイルベクトルで表されている。ユーザプロファイル生成部206は、この潜在プロファイルベクトルをクラスタリングしてもよい。
【0104】
この場合、あらかじめ家族の人数kが分かっている。そこで、分けるクラスタ数をkとして、ユーザプロファイル生成部206は、k−Means法または凝集法を用いて、潜在プロファイルベクトルに対してクラスタリングを行う。これによって、潜在プロファイルベクトルは、k個のクラスタに分けられる。
【0105】
ユーザプロファイル生成部206は、生成されたk個それぞれのクラスタに属するすべてのアクティブ時区間のユーザプロファイルを結合し、k個の新しいユーザプロファイル(「クラスタのユーザプロファイル」と呼ぶ)を作成する。このk個のクラスタのユーザプロファイルは、それぞれ家族のk人に対応するものとなる。
【0106】
このとき、ユーザプロファイル生成部206は、例えば平均値をとることにより、ユーザプロファイルを結合してもよい。すなわち、ユーザプロファイル生成部206は、クラスタに属する全ての潜在プロファイルベクトルの各要素の平均値を要素とする新しい潜在プロファイルベクトルを生成し、これをクラスタのユーザプロファイルとしてもよい。
【0107】
動画コンテンツ推薦時(プレイリストの生成時)には、プレイリスト生成部207は、まず、推薦して欲しい時刻(出力部208の電源オン時)におけるアクティブ時区間とそのユーザプロファイルを獲得する。ついで、プレイリスト生成部207は、そのユーザプロファイルの潜在プロファイルベクトルが属するクラスタを特定する。
【0108】
プレイリスト生成部207は、そのクラスタのユーザプロファイル(上記結合されたユーザプロファイル)を推薦で用いるユーザプロファイルとする。このように、クラスタリングによって、アクティブ時区間は、そのアクティブ時区間と似た視聴傾向を持つアクティブ時区間を含むアクティブ時区間群(クラスタ)に拡張される。そして、プレイリスト生成部207は、そのクラスタのユーザプロファイルを用いる。
【0109】
さらに、プレイリスト生成部207は、出力部208の電源オン時に視聴可能な全ての動画コンテンツの潜在動画コンテンツベクトルに対してクラスタリングを行い、潜在動画コンテンツベクトルをk個のクラスタに分ける。プレイリスト生成部207は、各クラスタに含まれる潜在動画コンテンツベクトルの要素の値に基づき、クラスタの重心となる重心ベクトルを算出する。
【0110】
そして、プレイリスト生成部207は、各クラスタの重心ベクトルとクラスタのユーザプロファイル(上記結合されたユーザプロファイル)とのコサイン距離をそれぞれ算出する。プレイリスト生成部207は、算出されたコサイン距離が最大のクラスタから、推薦するコンテンツを選択する。クラスタ内のコンテンツ選択の順序は,クラスタの重心に近い順序とする。このように、家族の人数kを用いてクラスタリングすることによって、現在時刻に視聴可能な全ての動画コンテンツのうちで、ユーザが興味を持つ動画コンテンツが推薦される割合を高めることができる。
【0111】
以下では、本実施の形態について変形例を含めて補足する。
【0112】
(1.疑似的な個人特定における実施の諸形態)
<1−1.入力ノイズへの対応>
テレビの電源のON/OFF及びチャンネルの切り替えには、ノイズとなる入力があると考えられる。例えば電源のON/OFFであれば、電源をONにしてみたものの用事を思い出してすぐに電源をOFFにすることもある。また、例えばチャンネルの切り替えでは、広告(CM)の時間に他に面白そうな番組がないかを次々とチャンネルを変えてチェックするザッピングという行為も発生することがある。
【0113】
そこで、ほとんどユーザが視聴していない短時間の視聴を無視するために、視聴履歴収集部201は、ある閾値(例えば10分)以内の視聴履歴を削除してもよい。ただし、視聴した時区間に一つの番組の放映時間が含まれている場合は、視聴履歴収集部201は、その視聴履歴を削除しないこととしてもよい。これは、5−10分程度の長さの番組の閲覧を視聴履歴として残すためである。
【0114】
また、テレビの電源をONした後に、しばらくある第1チャンネルで番組閲覧した後、第2チャンネルに変更後に元の第1チャンネルに戻ってくるザッピングが行われることもある。この場合、第2チャンネルでの視聴時間がある閾値(例えば10分)以内であれば、ザッピングを無視するために、視聴履歴収集部201は、第2チャンネルへの変更はなかったものとしてもよい。ただし、これも第2チャンネルに切り替えている間に、第2チャンネルにおける一つの番組の放映時間が含まれている場合は、視聴履歴収集部201は、第2チャンネルへの変更履歴を削除しないこととしてもよい。
【0115】
<1−2.動画コンテンツ情報の情報ノイズへの対応>
図7は、本実施の形態における動画コンテンツ情報の例を示す図である。
【0116】
EPGデータ中の番組情報及び動画コンテンツの説明テキストの中には,直接番組または動画の内容の説明と関係のない内容が含まれている。
図7中で、*のついている行は、番組の内容を表す記述ではない。そこで、これらの記述を削除するために、メタデータ分析部205は、以下に示す条件(P)〜(S)に当て嵌まる情報を、不必要なテキストとして、動画コンテンツ情報(メタデータ)から削除してもよい。
【0117】
(P)「分の放送内容」で終わる行から「最終更新日:」で始まる行まで、
(Q)「属性情報?」で始まる行及び次の行、
(R)[http://」で始まるURL、
(S)「内容」「変更」「場合」の3つの単語を同時に含む行。
【0118】
(2.動画コンテンツの推薦における実施の諸形態)
<2−1.ストップ動画リストの作成>
プレイリスト生成部207が動画コンテンツを推薦した時に、ユーザは、その推薦を無視して違う動画コンテンツを視聴することがある。このような場合は、その動画コンテンツがユーザプロファイルに一致しているものの、ユーザは何らかの理由でその動画コンテンツの視聴をためらった可能性がある。これは、ユーザは、そのトピックに興味はあるものの、特定のコンテンツには興味がない場合が考えられる。例えば、釣り好きのユーザに釣り番組を推薦したとしても、そのユーザがルアー釣りをしない場合には、そのユーザは、ルアー釣りを扱う番組を視聴しないと考えられる。また、あるユーザは、政治討論の番組が好きであるが、ある特定の司会者が好きではないような場合、そのユーザは、やはりその特定の司会者が出演する番組を視聴しないと考えられる。
【0119】
このように、プレイリストによりコンテンツを推薦したものの、いつもそのコンテンツの推薦が無視されるような場合は、プレイリスト生成部207は、その動画コンテンツのタイトル名をリストに登録してもよい。このリストをストップ動画リストと呼ぶ。プレイリスト生成部207は、例えば、コンテンツの推薦が無視された回数をカウントし、無視された回数が所定回数に達すると、そのコンテンツをストップ動画リストに登録するようにしてもよい。そして、プレイリスト生成部207は、あるコンテンツの動画コンテンツベクトル(潜在動画コンテンツベクトル)とユーザプロファイルとの類似度が高い場合でも、そのコンテンツがストップ動画リストに登録されている場合は、そのコンテンツをプレイリストに載せない。
【0120】
<2−2.アクティブ時区間以外の時間帯での推薦>
ユーザが出力部208(テレビ)の電源をオンにした時刻が、たまたま事前に決定されているアクティブ時区間以外の時刻であることが考えられる。この場合、プレイリスト生成部207は、最も近傍のアクティブ時区間に置き換えて、その置き換えられたアクティブ時区間のユーザプロファイルを用いて推薦してもよい。または、プレイリスト生成部207は、アクティブ時区間に依らず、出力部208(テレビ)の全ての視聴履歴に基づき作成したユーザプロファイルを用いて推薦してもよい。
【0121】
<2−3.アクティブ時区間の先読み>
ユーザが出力部208(テレビ)の電源をオンにした時刻が、あるアクティブ時区間の後半であったとする。また、そのアクティブ時区間が終わると、ある閾値(例えば10分)以内の時間で、次のアクティブ時区間が始まるとする。このような場合は、プレイリスト生成部207は、現在時刻が属するアクティブ時区間のユーザプロファイルによる動画コンテンツの推薦だけでなく、次のアクティブ時区間のユーザプロファイルによる動画コンテンツの推薦を行ってもよい。
【0122】
<2−4.アクティブ時区間の長さへの適応>
出力部208の電源がオンにされた現在時刻を含むアクティブ時区間が30分であったときに、その現在時刻に放送されている番組で放送時間が2時間の番組があったとする。その場合、その2時間の番組を推薦してもすべてを視聴することができない。また、出力部208の電源がオンにされた現在時刻を含むアクティブ時区間が2時間であったときに、その現在時刻に放送されている番組で放送時間が30分の番組があったとする。その場合、その30分の番組を推薦しても、残りの1時間半の時間が余ってしまう。そこで、プレイリスト生成部207は、アクティブ時区間の長さに応じて、推薦する動画コンテンツに重みをつけるようにしてもよい。
【0123】
対象となるコンテンツの動画コンテンツベクトルとプロファイルベクトル(ユーザプロファイル)とのコサイン距離(コサイン類似度)をScore、アクティブ時区間の長さをAL、対象となるコンテンツの放映時間の長さをCLと定義する。この場合に、プレイリスト生成部207は、以下の式でコサイン距離Scoreをコサイン距離AScoreに調整する。
【0124】
AL>CLの場合には、
AScore=Score×(Base+CL/AL)
AL<CLの場合には、
AScore=Score×(Base+AL/CL)
ここで、Baseは、調整項(CL/ALまたはAL/CL)が非常に小さい値であっても、コサイン距離の調整を最低限行うための係数である。
【0125】
(本実施の形態の効果)
本実施の形態では、出力部208(テレビ)の電源がオンになっている確率の高い時区間をアクティブ時区間として決定し、そのアクティブ時区間ごとに、ユーザプロファイルを生成する。そのアクティブ時区間に出力部208(テレビ)を視聴する生活パターンを持つユーザに対して、ユーザプロファイルに基づき、そのアクティブ時区間の視聴履歴に適合する動画コンテンツが、プレイリストとして推薦される。アクティブ時区間を決定することは、アクティブ時区間に出力部208を視聴する生活パターンを持つユーザ個人を疑似的に特定することであると言うことができる。その結果、本実施の形態によれば、ユーザ個人に適した動画コンテンツを推薦することができる。
【0126】
このように、本実施の形態は、特殊なハードウェアを備えることなく、またユーザに個人認証のための新たな負担を課すことなく、疑似的に個人認証を行い、テレビ放送番組及びネット動画を含む動画コンテンツを推薦するものであると言える。
【0127】
また、本実施の形態では、ユーザプロファイル生成部206は、コンテンツ情報から、動画コンテンツの潜在トピックを推定してもよい。これによって、動画コンテンツとユーザプロファイルとの間のマッチングを高精度で行えるようになる。また、本来ならばジャンルが同じであるため推薦されるべきコンテンツであるのに、共通する単語がないため異なるジャンルと判断されてコンテンツが推薦されない問題を解消することができる。その結果、現在時刻に視聴可能な全ての動画コンテンツのうちで、推薦される割合を高めることができる。
【0128】
また、本実施の形態では、ユーザのザッピングなどの不確定行為と、通常と異なる時間における出力部208(テレビ)の視聴行為と、コンテンツ情報中のノイズとに対してそれぞれ対策を講じることにより、これらの影響を受けずに、上記2つの効果を得ることができる。
【0129】
(代替手法に対する優位性)
本実施の形態では、出力部208(テレビ)の電源がオンにされている確率の高い時区間をアクティブ時区間として求めて、そのアクティブ時区間ごとにユーザプロファイルを生成している。代替手法として、24時間を一定時間(例えば30分)ごとの時区間に区切って、その時区間ごとにユーザプロファイルを生成することが考えられる。コンテンツがテレビ放送番組であれば、コンテンツの開始時刻及び終了時刻が、7:00または7:30などの比較的区切りの良い時刻に設定されている。したがって、この代替手法でも有効に働く可能性がある。
【0130】
しかし、コンテンツがテレビ放送番組以外の例えばオンデマンドで視聴可能な一般の動画コンテンツの場合は、コンテンツの閲覧を開始する時刻または終了する時刻を、コンテンツ提供者の都合に合わせる必要がない。そのため、閲覧するユーザの生活パターンが正確にモデル化されたアクティブ時区間ごとにユーザプロファイルを生成する本実施の形態の方が、上記代替手法に比べて良いと考えられる。
【0131】
また、本実施の形態のコンテンツ提示装置では、プレイリスト生成部207は、予測視聴時間とユーザの嗜好とに適合するコンテンツを含むプレイリストを生成し、生成したプレイリストをユーザに提示する。プレイリスト生成部207は、さらに、生成したプレイリストにしたがって出力部208を制御して、プレイリストに規定された再生順にコンテンツを出力部208に出力してもよい。この場合には、ユーザは、視聴するコンテンツを探したり選択したりする作業を行わなくて済む。これによって、オンデマンドで視聴するネット動画などの動画コンテンツであっても、テレビ放送番組と同様に、受動的な視聴を実現することが期待できる。
【0132】
以上、本発明の一つまたは複数の態様に係るコンテンツ提示装置について、実施の形態及びその変形例に基づいて説明した。しかし、本発明は、これらの実施の形態又はその変形例に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態又はその変形例に施したもの、あるいは異なる実施の形態又はその変形例における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【0133】
さらに、本発明は、以下のように変形することもできる。
【0134】
(1)上記コンテンツ提示装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ROM又は前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、上記コンテンツ提示装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、上記コンテンツ提示装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【0135】
(2)上記コンテンツ提示装置を構成する構成要素の一部又は全部は、1個のシステムLSIから構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記ROM又は前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0136】
なお、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0137】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0138】
(3)上記コンテンツ提示装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0139】
(4)本発明は、上記に示すコンテンツ提示装置が備える特徴的な構成部の動作をステップとする方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0140】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【0141】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0142】
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【0143】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0144】
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【0145】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。