番組推薦装置及び方法及びプログラム
【課題】 アカウントIDではなく、ユーザに適した番組を推薦する。
【解決手段】 本発明は、インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出し、各アカウントIDの、ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率(推薦スコア)を推定し、現在放送中の各番組に対して、推薦スコアの上位N件の質問の識別子を推薦番組として選択する。
【解決手段】 本発明は、インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出し、各アカウントIDの、ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率(推薦スコア)を推定し、現在放送中の各番組に対して、推薦スコアの上位N件の質問の識別子を推薦番組として選択する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、番組推薦装置及び方法及びプログラムに係り、特に、インターネット回線による映像配信サービスで提供されるユーザのテレビ番組視聴における、番組推薦装置及び方法及びプログラムに関する。
【背景技術】
【0002】
情報推薦の手法はいくつも提案されている。例えば、ニュース記事を推薦するために、各ニュース記事についてユーザに5段階の評価をつけさせ、過去の評価履歴を見てユーザ間の嗜好の類似度を測り、嗜好が似たユーザの好むニュース記事を推薦する手法が提案されている(例えば、非特許文献1参照)。
【0003】
また、上記の手法と同様に、各情報に対してアカウントに評価をつけさせ、過去の評価履歴でアカウントが評価している情報に含まれるテキストに着目する。そのテキストがアカウントの興味を反映していると考え、そのテキストと同じような単語が出現している情報を推薦する手法が提案されている(例えば、非特許文献2参照)。
【0004】
また、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてコミュニティ内の情報を検索し、ユーザの興味のある箇所のみの情報を提示する手法がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11-338869号公報
【非特許文献】
【0006】
【非特許文献1】Resnick, P. et al., "GroupLens: An open architecture for collaborative filtering of netnews". CSCW '94: Proceedings of the 1994 ACM conference on Computer supported cooperative work, ACM Press New York, 1994.
【非特許文献2】Mooney R.J. et al, "Content-Based Book Recommending Using Learning for Text Categorization", Proceedings of the 5th ACM Conference on Digital Libraries, ACM Press New York, 2000
【発明の概要】
【発明が解決しようとする課題】
【0007】
インターネット回線を利用した映像配信サービスについて、多チャンネル化が進んでいる。こういった中でユーザが本当に興味のある番組を見つけるのは困難である。また興味ある番組をすべて把握し録画することもまた、困難である。
【0008】
上記の特許文献1の手法を用いて番組を推薦する場合、ユーザが指定した興味のある語に関連する番組が推薦される。この場合、語を指定しなければならないという問題がある。このようにユーザのインタラクションを必要とするシステムは、ユーザにとっては不便である。
【0009】
非特許文献1、2に記載の手法で番組を推薦する場合、アカウントIDを利用するユーザが真に単一であれば、アカウントの視聴した番組の情報を用いてユーザの興味を推定し番組を推薦することができる。しかしながら、番組推薦において、アカウントIDが一人のユーザのみに使われているとは限らない。例えば、家庭で1つのアカウントIDを利用していた場合を考える。母はドラマが好きで、息子はアニメが好きであるとすると、そのような家庭に対して、ドラマを推薦すべきか、アニメを推薦すべきかが定まらないという問題が生じる。このように、アカウントIDがどのような何人に利用されているかがわからなければ、適切な番組を推薦することができない。
【0010】
本発明は上記の点に鑑みなされたもので、インターネット回線を利用した映像配信サービスにおいて、視聴履歴から各アカウントIDがどのような何人に利用されているかを推定することにより、IDに対してではなく、個々のユーザに適切に番組を推薦することが可能な番組推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、上記の課題を解決するため、本発明は、インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦装置であって、
前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得手段と、
前記インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得手段と、
取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定手段と、
算出した各アカウントIDの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出手段と、
アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の質問の識別子を推薦番組として選択する番組推薦手段と、を有する。
【0012】
また、本発明の前記パラメータ推定手段は、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる。
【発明の効果】
【0013】
本発明は視聴時刻の傾向から1つのアカウントIDを共有するユーザの数と、各ユーザの興味を特定することにより、従来の技術では不可能であった、ユーザに則したより正確な番組推薦が可能になる。これはインターネット回線を利用した映像配信サービスにおける視聴の増加につながる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施の形態における番組情報推薦装置の構成図である。
【図2】本発明の一実施の形態における番組情報テーブルの例である。
【図3】本発明の一実施の形態における視聴情報テーブルの例である。
【図4】本発明の一実施の形態における推薦スコアテーブルの例である。
【図5】本発明の一実施の形態における番組情報更新時の処理の流れである。
【図6】本発明の一実施の形態における番組視聴時の処理の流れである。
【図7】本発明の一実施の形態における推薦スコア更新時の処理の流れである。
【図8】本発明の一実施の形態における図7のステップ340の詳細な処理のフローチャートである。
【図9】本発明の一実施の形態における図8のステップ342の詳細な処理のフローチャートである。
【図10】本発明の一実施の形態における図8のステップ343の詳細な処理のフローチャートである。
【図11】本発明の一実施の形態における番組推薦時の処理のフローチャートである。
【発明を実施するための形態】
【0015】
以下図面と共に、本発明の実施の形態を説明する。
【0016】
本発明では、インターネット回線を利用した映像配信サービスにおいて、ユーザにより適切な番組を推薦することを目的とする。具体的には、視聴する時刻に関する情報を用いて、アカウントIDが何人に利用されているかを推定すると同時に、それら個々のユーザの興味を推定し、そのユーザの興味により適合した番組を推薦する手法を実現する。例えば、ある家庭に対して番組を推薦する場合、平日の昼であれば母が視聴していると考えられるので昼のドラマ番組を、平日の夕方であれば息子が視聴していると考えられるのでアニメ番組を推薦する。
【0017】
つまり、「アカウント u が番組 i を時刻 t にて視聴する」確率を以下のようにモデル化する。
【0018】
【数1】
v はモデルによって得られる仮想ユーザで、平日の昼にドラマを見る「母」や、平日の夕方にアニメを見る「息子」を表す。z は番組のトピックで、「ドラマ」や、「アニメ」を表す。式(1)のようにモデル化する場合、z についてはその数を予め設定しておく。その値をZ とする。
【0019】
アカウント u が番組 i を時刻 t にて視聴する確率が正確にわかれば、アカウントが現在時刻においてどの番組を見るかがわかる。そのためには、式(1)中に出現するパラメータVu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を正しく求める必要がある。
【0020】
以下、図面と共に本発明の実施形態を説明する。
【0021】
図1は、本発明の一実施の形態における番組推薦装置の構成を示す。
【0022】
同図に示す番組推薦装置1は、番組情報処理部10、視聴情報処理部20、推薦スコア算出部30、番組推薦部40、記録部50、通信部60、入出力部70から構成され、通信部60はネットワーク3に接続されており、入出力部70は、入力装置や表示装置等の外部装置4に接続されている。
【0023】
推薦スコア算出部30は、パラメータ推定部31を持つ。
【0024】
記憶部50は、番組情報テーブル51、視聴情報テーブル52、推薦スコアテーブル53から構成される。以下に各テーブルについて説明する。
【0025】
<番組情報テーブル51>
番組情報テーブル51には、図2に示すように、番組IDフィールド、タイトルフィールド、放送開始時刻フィールド、放送終了時刻フィールドが含まれる。
【0026】
番組IDフィールドは、その番組を特定する識別子であり、番組情報処理部10により設定される。
【0027】
タイトルフィールドは、該番組のタイトルが、番組情報処理部10によりテキストデータにて設定される。
【0028】
放送開始時刻フィールドは、該番組の放送開始の時刻が、番組情報処理部10により設定される。
【0029】
放送終了時刻フィールドは、該番組の放送終了の時刻が、番組情報処理部10により設定される。
【0030】
<視聴情報テーブル52>
視聴情報テーブル52には、図3に示すように、番組IDフィールド、アカウントIDフィールド、視聴時刻フィールドが含まれる。
【0031】
番組IDフィールドは、番組情報テーブルに出現する番組の識別子と対応し、視聴情報処理部20により設定される。
【0032】
アカウントIDフィールドは、番組を視聴したアカウントを特定する識別子が、視聴情報処理部20により設定される。
【0033】
視聴時刻フィールドは、該アカウントが該番組の視聴を開始した時刻が、視聴情報処理部20により設定される。
【0034】
<推薦スコアテーブル53>
推薦スコアテーブル53には、図4に示すように、アカウントIDフィールドと、番組IDフィールドと、推薦スコアフィールドとが含まれる。
【0035】
推薦スコアフィールドは、該アカウント u の、該番組 qに対する推薦スコア score(q,u) が推薦スコア算出部30により設定される。
【0036】
はじめに、本発明の一実施の形態における番組情報更新時の処理を詳細に説明する。
【0037】
図5は、本発明の一実施の形態における番組情報更新時の処理のフローチャートである。今、番組 p についての情報の更新があったとする。
【0038】
ステップ110)番組情報処理部10が、番組情報テーブル51に、番組 p の情報を記した行を構成し、挿入する。
【0039】
次に、番組視聴時の処理を説明する。
【0040】
図6は、本発明の一実施形態における番組視聴時の処理のフローチャートである。
【0041】
ステップ210)視聴情報処理部20が、視聴情報テーブル52に、視聴された番組、視聴したアカウント、視聴を開始した時刻に応じて番組IDフィールド、アカウントIDフィールド、視聴時刻フィールドの値を設定した行wを挿入する。
【0042】
図7は、本発明の一実施の形態における推薦スコア更新時の処理のフローチャートである。推薦スコア更新のタイミングは、例えばユーザが番組の視聴時と同時に行うとよい。
【0043】
ステップ310)推薦スコア算出部30が、推薦のためのパラメータであるトピック数 Z、P(z|u,v) 算出のための事前パラメータα,P(i|z)算出のための事前パラメータβ,P(v|u)算出のための事前パラメータγ、τuv算出のための事前パラメータξ、ν、σuv算出のための事前パラメータη、ρを与える。このパラメータの設定方法は、予め与えておいた定数パラメータである。
【0044】
ステップ320)推薦スコア算出部30が、視聴情報テーブル52を参照し、視聴情報テーブル52に出現する全てのアカウント集合U と、各アカウントu∈U の視聴番組ium
とその視聴時刻 tum (m=1,…,Mu) を取得する。ただし、Mu はアカウント u の視聴した番組の数を表しており、アカウント毎に異なる値となる。
【0045】
ステップ330)推薦スコア算出部30が、番組情報テーブル51を参照し、番組情報テーブル51に出現する全ての番組集合Iを取得する。
【0046】
ステップ340)パラメータ推定部31が、Chinese Restaurant Process(文献1(上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の "Chinese Restaurant Process"」)、ギブスサンプリング(文献2(Bishop, M.C., "Pattern recognition and machine learning", 2006)記載の "Gibbs Sampling")を用いて各アカウント u∈U と各番組 i∈Iに対して Vu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を算出する。
【0047】
ステップ350)推薦スコア算出部30が、番組情報テーブル51を参照し、現在放送中、すなわち現在時刻が放送開始時刻フィールドの値と放送終了時刻フィールドの値の間に入るような番組集合Inow を取得する。
【0048】
ステップ360)推薦スコア算出部30が、ステップ310にて算出したパラメータZ、α、β、γ、ξ、ν、η、ρと、ステップ340にて算出したパラメータVu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u)と 式(1)とを用いて各アカウント u∈U の各番組 i∈Inow に対する推薦スコア P(i,tnow|u) を算出する。ただし、tnow は現在時刻を表す。
【0049】
ステップ370)推薦スコア算出部30が、各アカウント u∈U、各番組 i∈Inow について推薦スコアテーブル53にアカウントIDフィールドの値が u、番組IDフィールドの値が i の行の推薦スコアを P(i,tnow|u) に更新する。
【0050】
次に、上記の図7のステップ340の処理を詳細に説明する。
【0051】
図8は、本発明の一実施の形態における図7のステップ340の詳細な処理のフローチャートである。
【0052】
ステップ341)パラメータ推定部31が、視聴情報テーブル52を参照し、全視聴情報を取得する。
【0053】
ステップ342)パラメータ推定部31が、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv を初期化する。
【0054】
以降の処理を500回繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値が収束したらそこで打ち切るようにしてもよい。
【0055】
ステップ343)パラメータ推定部31が、視聴情報テーブル52に含まれる各視聴情報 (u, m) について、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を更新する。
【0056】
ステップ344)パラメータ推定部31が、推薦スコア算出部30より渡されたパラメータ Z、α、β、γ、ξ、ν、η、ρと、Vu、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を用いて以下のように P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を算出する。
【0057】
【数2】
図9は、本発明の一実施の形態における図8のステップ342の詳細な処理のフローチャートである。
【0058】
ステップ3421)パラメータ推定部31が、全てのアカウントu、 仮想ユーザ v、トピックz、番組 i について以下のように初期値を代入する。
【0059】
【数3】
ステップ3422)パラメータ推定部31が、視聴情報テーブル52に含まれる各視聴情報 (u,m) について、0 以上 Z−1 以下のランダムな整数 k を発生させ、zum の値とし、また、vum の値を 0(=w) とする。
【0060】
ステップ3423)パラメータ推定部31が、該視聴情報 (u,m) について、以下のようにVu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を更新する。
【0061】
【数4】
図10は、本発明の一実施の形態における図8のステップ343の詳細な処理のフローチャートである。処理の対象の視聴情報が、今 (u,m) であるとする。
【0062】
ステップ3431)パラメータ推定部31が、以下のようにMzumium、Mzum、Mu、Muvum、Muvumzum、Tuvum、Cuvum の値を一時的に更新する。
【0063】
【数5】
ステップ3432)パラメータ推定部31が、zumがk(=0,…,Z-1)にアサインされる確率を以下のように算出し、
【0064】
【数6】
上記確率に従いランダムにzumの値を決定する。
【0065】
ステップ3433)パラメータ推定部31が、vumがw(=0,…,Vu−1)にアサインされる確率を
【0066】
【数7】
のように算出し、vumがVu(新たなユーザ)にアサインされる確率を
【0067】
【数8】
のように算出し、これらの確率に従いランダムにvumの値を決定する。
【0068】
ステップ3434)パラメータ推定部31が、ステップ3433にてvumの値がVuに決定された場合、Vu の値に1を加算する。
【0069】
ステップ3435)パラメータ推定部31が、以下のようにMzumium、Mzum、Mu、Muvum、Muvumzum、Tuvum、Cuvum の値を更新する。
【0070】
【数9】
図11は、本発明の一実施の形態における番組推薦時の処理のフローチャートである。例えば、ユーザがテレビの電源をオンにしたり、チャンネルを変更したりした際に番組推薦を行うようにする。
【0071】
ステップ410)番組情報処理部10が、番組情報テーブル71を参照し、現在放送中の番組集合Inowを取得する。
【0072】
ステップ420)番組推薦部40が、前記番組集合Inowに含まれる個々の番組iに対して、推薦スコアテーブル53を参照しアカウント u の番組 i に対する推薦スコア P(i,tnow|u)を取得し、アカウント u に推薦すべき番組を決定する。その際、推薦スコア P(i,tnow|u) の値が大きいものから順に予め設定した任意の件数 K (K=1,2,3,…) 件を推薦すべき番組としてもよいし、推薦スコア P(i,tnow|u) に対し、ある閾値を設けて、 推薦スコアがその値を超えるものを推薦すべき番組としてもよい。
【0073】
なお、上記の番組推薦装置の各構成要素の処理をプログラムとして構築し、番組推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0074】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【0075】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【0076】
1 番組推薦装置
2 外部端末
3 ネットワーク
4 外部装置
10 番組情報処理部
20 視聴情報処理部
30 推薦スコア算出部
31 パラメータ推定部
40 番組推薦部
50 記憶部
51 番組情報テーブル
52 視聴情報テーブル
53 推薦スコアテーブル
60 通信部
70 入出力部
【技術分野】
【0001】
本発明は、番組推薦装置及び方法及びプログラムに係り、特に、インターネット回線による映像配信サービスで提供されるユーザのテレビ番組視聴における、番組推薦装置及び方法及びプログラムに関する。
【背景技術】
【0002】
情報推薦の手法はいくつも提案されている。例えば、ニュース記事を推薦するために、各ニュース記事についてユーザに5段階の評価をつけさせ、過去の評価履歴を見てユーザ間の嗜好の類似度を測り、嗜好が似たユーザの好むニュース記事を推薦する手法が提案されている(例えば、非特許文献1参照)。
【0003】
また、上記の手法と同様に、各情報に対してアカウントに評価をつけさせ、過去の評価履歴でアカウントが評価している情報に含まれるテキストに着目する。そのテキストがアカウントの興味を反映していると考え、そのテキストと同じような単語が出現している情報を推薦する手法が提案されている(例えば、非特許文献2参照)。
【0004】
また、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてコミュニティ内の情報を検索し、ユーザの興味のある箇所のみの情報を提示する手法がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11-338869号公報
【非特許文献】
【0006】
【非特許文献1】Resnick, P. et al., "GroupLens: An open architecture for collaborative filtering of netnews". CSCW '94: Proceedings of the 1994 ACM conference on Computer supported cooperative work, ACM Press New York, 1994.
【非特許文献2】Mooney R.J. et al, "Content-Based Book Recommending Using Learning for Text Categorization", Proceedings of the 5th ACM Conference on Digital Libraries, ACM Press New York, 2000
【発明の概要】
【発明が解決しようとする課題】
【0007】
インターネット回線を利用した映像配信サービスについて、多チャンネル化が進んでいる。こういった中でユーザが本当に興味のある番組を見つけるのは困難である。また興味ある番組をすべて把握し録画することもまた、困難である。
【0008】
上記の特許文献1の手法を用いて番組を推薦する場合、ユーザが指定した興味のある語に関連する番組が推薦される。この場合、語を指定しなければならないという問題がある。このようにユーザのインタラクションを必要とするシステムは、ユーザにとっては不便である。
【0009】
非特許文献1、2に記載の手法で番組を推薦する場合、アカウントIDを利用するユーザが真に単一であれば、アカウントの視聴した番組の情報を用いてユーザの興味を推定し番組を推薦することができる。しかしながら、番組推薦において、アカウントIDが一人のユーザのみに使われているとは限らない。例えば、家庭で1つのアカウントIDを利用していた場合を考える。母はドラマが好きで、息子はアニメが好きであるとすると、そのような家庭に対して、ドラマを推薦すべきか、アニメを推薦すべきかが定まらないという問題が生じる。このように、アカウントIDがどのような何人に利用されているかがわからなければ、適切な番組を推薦することができない。
【0010】
本発明は上記の点に鑑みなされたもので、インターネット回線を利用した映像配信サービスにおいて、視聴履歴から各アカウントIDがどのような何人に利用されているかを推定することにより、IDに対してではなく、個々のユーザに適切に番組を推薦することが可能な番組推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、上記の課題を解決するため、本発明は、インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦装置であって、
前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得手段と、
前記インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得手段と、
取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定手段と、
算出した各アカウントIDの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出手段と、
アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の質問の識別子を推薦番組として選択する番組推薦手段と、を有する。
【0012】
また、本発明の前記パラメータ推定手段は、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる。
【発明の効果】
【0013】
本発明は視聴時刻の傾向から1つのアカウントIDを共有するユーザの数と、各ユーザの興味を特定することにより、従来の技術では不可能であった、ユーザに則したより正確な番組推薦が可能になる。これはインターネット回線を利用した映像配信サービスにおける視聴の増加につながる。
【図面の簡単な説明】
【0014】
【図1】本発明の一実施の形態における番組情報推薦装置の構成図である。
【図2】本発明の一実施の形態における番組情報テーブルの例である。
【図3】本発明の一実施の形態における視聴情報テーブルの例である。
【図4】本発明の一実施の形態における推薦スコアテーブルの例である。
【図5】本発明の一実施の形態における番組情報更新時の処理の流れである。
【図6】本発明の一実施の形態における番組視聴時の処理の流れである。
【図7】本発明の一実施の形態における推薦スコア更新時の処理の流れである。
【図8】本発明の一実施の形態における図7のステップ340の詳細な処理のフローチャートである。
【図9】本発明の一実施の形態における図8のステップ342の詳細な処理のフローチャートである。
【図10】本発明の一実施の形態における図8のステップ343の詳細な処理のフローチャートである。
【図11】本発明の一実施の形態における番組推薦時の処理のフローチャートである。
【発明を実施するための形態】
【0015】
以下図面と共に、本発明の実施の形態を説明する。
【0016】
本発明では、インターネット回線を利用した映像配信サービスにおいて、ユーザにより適切な番組を推薦することを目的とする。具体的には、視聴する時刻に関する情報を用いて、アカウントIDが何人に利用されているかを推定すると同時に、それら個々のユーザの興味を推定し、そのユーザの興味により適合した番組を推薦する手法を実現する。例えば、ある家庭に対して番組を推薦する場合、平日の昼であれば母が視聴していると考えられるので昼のドラマ番組を、平日の夕方であれば息子が視聴していると考えられるのでアニメ番組を推薦する。
【0017】
つまり、「アカウント u が番組 i を時刻 t にて視聴する」確率を以下のようにモデル化する。
【0018】
【数1】
v はモデルによって得られる仮想ユーザで、平日の昼にドラマを見る「母」や、平日の夕方にアニメを見る「息子」を表す。z は番組のトピックで、「ドラマ」や、「アニメ」を表す。式(1)のようにモデル化する場合、z についてはその数を予め設定しておく。その値をZ とする。
【0019】
アカウント u が番組 i を時刻 t にて視聴する確率が正確にわかれば、アカウントが現在時刻においてどの番組を見るかがわかる。そのためには、式(1)中に出現するパラメータVu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を正しく求める必要がある。
【0020】
以下、図面と共に本発明の実施形態を説明する。
【0021】
図1は、本発明の一実施の形態における番組推薦装置の構成を示す。
【0022】
同図に示す番組推薦装置1は、番組情報処理部10、視聴情報処理部20、推薦スコア算出部30、番組推薦部40、記録部50、通信部60、入出力部70から構成され、通信部60はネットワーク3に接続されており、入出力部70は、入力装置や表示装置等の外部装置4に接続されている。
【0023】
推薦スコア算出部30は、パラメータ推定部31を持つ。
【0024】
記憶部50は、番組情報テーブル51、視聴情報テーブル52、推薦スコアテーブル53から構成される。以下に各テーブルについて説明する。
【0025】
<番組情報テーブル51>
番組情報テーブル51には、図2に示すように、番組IDフィールド、タイトルフィールド、放送開始時刻フィールド、放送終了時刻フィールドが含まれる。
【0026】
番組IDフィールドは、その番組を特定する識別子であり、番組情報処理部10により設定される。
【0027】
タイトルフィールドは、該番組のタイトルが、番組情報処理部10によりテキストデータにて設定される。
【0028】
放送開始時刻フィールドは、該番組の放送開始の時刻が、番組情報処理部10により設定される。
【0029】
放送終了時刻フィールドは、該番組の放送終了の時刻が、番組情報処理部10により設定される。
【0030】
<視聴情報テーブル52>
視聴情報テーブル52には、図3に示すように、番組IDフィールド、アカウントIDフィールド、視聴時刻フィールドが含まれる。
【0031】
番組IDフィールドは、番組情報テーブルに出現する番組の識別子と対応し、視聴情報処理部20により設定される。
【0032】
アカウントIDフィールドは、番組を視聴したアカウントを特定する識別子が、視聴情報処理部20により設定される。
【0033】
視聴時刻フィールドは、該アカウントが該番組の視聴を開始した時刻が、視聴情報処理部20により設定される。
【0034】
<推薦スコアテーブル53>
推薦スコアテーブル53には、図4に示すように、アカウントIDフィールドと、番組IDフィールドと、推薦スコアフィールドとが含まれる。
【0035】
推薦スコアフィールドは、該アカウント u の、該番組 qに対する推薦スコア score(q,u) が推薦スコア算出部30により設定される。
【0036】
はじめに、本発明の一実施の形態における番組情報更新時の処理を詳細に説明する。
【0037】
図5は、本発明の一実施の形態における番組情報更新時の処理のフローチャートである。今、番組 p についての情報の更新があったとする。
【0038】
ステップ110)番組情報処理部10が、番組情報テーブル51に、番組 p の情報を記した行を構成し、挿入する。
【0039】
次に、番組視聴時の処理を説明する。
【0040】
図6は、本発明の一実施形態における番組視聴時の処理のフローチャートである。
【0041】
ステップ210)視聴情報処理部20が、視聴情報テーブル52に、視聴された番組、視聴したアカウント、視聴を開始した時刻に応じて番組IDフィールド、アカウントIDフィールド、視聴時刻フィールドの値を設定した行wを挿入する。
【0042】
図7は、本発明の一実施の形態における推薦スコア更新時の処理のフローチャートである。推薦スコア更新のタイミングは、例えばユーザが番組の視聴時と同時に行うとよい。
【0043】
ステップ310)推薦スコア算出部30が、推薦のためのパラメータであるトピック数 Z、P(z|u,v) 算出のための事前パラメータα,P(i|z)算出のための事前パラメータβ,P(v|u)算出のための事前パラメータγ、τuv算出のための事前パラメータξ、ν、σuv算出のための事前パラメータη、ρを与える。このパラメータの設定方法は、予め与えておいた定数パラメータである。
【0044】
ステップ320)推薦スコア算出部30が、視聴情報テーブル52を参照し、視聴情報テーブル52に出現する全てのアカウント集合U と、各アカウントu∈U の視聴番組ium
とその視聴時刻 tum (m=1,…,Mu) を取得する。ただし、Mu はアカウント u の視聴した番組の数を表しており、アカウント毎に異なる値となる。
【0045】
ステップ330)推薦スコア算出部30が、番組情報テーブル51を参照し、番組情報テーブル51に出現する全ての番組集合Iを取得する。
【0046】
ステップ340)パラメータ推定部31が、Chinese Restaurant Process(文献1(上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の "Chinese Restaurant Process"」)、ギブスサンプリング(文献2(Bishop, M.C., "Pattern recognition and machine learning", 2006)記載の "Gibbs Sampling")を用いて各アカウント u∈U と各番組 i∈Iに対して Vu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を算出する。
【0047】
ステップ350)推薦スコア算出部30が、番組情報テーブル51を参照し、現在放送中、すなわち現在時刻が放送開始時刻フィールドの値と放送終了時刻フィールドの値の間に入るような番組集合Inow を取得する。
【0048】
ステップ360)推薦スコア算出部30が、ステップ310にて算出したパラメータZ、α、β、γ、ξ、ν、η、ρと、ステップ340にて算出したパラメータVu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u)と 式(1)とを用いて各アカウント u∈U の各番組 i∈Inow に対する推薦スコア P(i,tnow|u) を算出する。ただし、tnow は現在時刻を表す。
【0049】
ステップ370)推薦スコア算出部30が、各アカウント u∈U、各番組 i∈Inow について推薦スコアテーブル53にアカウントIDフィールドの値が u、番組IDフィールドの値が i の行の推薦スコアを P(i,tnow|u) に更新する。
【0050】
次に、上記の図7のステップ340の処理を詳細に説明する。
【0051】
図8は、本発明の一実施の形態における図7のステップ340の詳細な処理のフローチャートである。
【0052】
ステップ341)パラメータ推定部31が、視聴情報テーブル52を参照し、全視聴情報を取得する。
【0053】
ステップ342)パラメータ推定部31が、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv を初期化する。
【0054】
以降の処理を500回繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値が収束したらそこで打ち切るようにしてもよい。
【0055】
ステップ343)パラメータ推定部31が、視聴情報テーブル52に含まれる各視聴情報 (u, m) について、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を更新する。
【0056】
ステップ344)パラメータ推定部31が、推薦スコア算出部30より渡されたパラメータ Z、α、β、γ、ξ、ν、η、ρと、Vu、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を用いて以下のように P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を算出する。
【0057】
【数2】
図9は、本発明の一実施の形態における図8のステップ342の詳細な処理のフローチャートである。
【0058】
ステップ3421)パラメータ推定部31が、全てのアカウントu、 仮想ユーザ v、トピックz、番組 i について以下のように初期値を代入する。
【0059】
【数3】
ステップ3422)パラメータ推定部31が、視聴情報テーブル52に含まれる各視聴情報 (u,m) について、0 以上 Z−1 以下のランダムな整数 k を発生させ、zum の値とし、また、vum の値を 0(=w) とする。
【0060】
ステップ3423)パラメータ推定部31が、該視聴情報 (u,m) について、以下のようにVu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を更新する。
【0061】
【数4】
図10は、本発明の一実施の形態における図8のステップ343の詳細な処理のフローチャートである。処理の対象の視聴情報が、今 (u,m) であるとする。
【0062】
ステップ3431)パラメータ推定部31が、以下のようにMzumium、Mzum、Mu、Muvum、Muvumzum、Tuvum、Cuvum の値を一時的に更新する。
【0063】
【数5】
ステップ3432)パラメータ推定部31が、zumがk(=0,…,Z-1)にアサインされる確率を以下のように算出し、
【0064】
【数6】
上記確率に従いランダムにzumの値を決定する。
【0065】
ステップ3433)パラメータ推定部31が、vumがw(=0,…,Vu−1)にアサインされる確率を
【0066】
【数7】
のように算出し、vumがVu(新たなユーザ)にアサインされる確率を
【0067】
【数8】
のように算出し、これらの確率に従いランダムにvumの値を決定する。
【0068】
ステップ3434)パラメータ推定部31が、ステップ3433にてvumの値がVuに決定された場合、Vu の値に1を加算する。
【0069】
ステップ3435)パラメータ推定部31が、以下のようにMzumium、Mzum、Mu、Muvum、Muvumzum、Tuvum、Cuvum の値を更新する。
【0070】
【数9】
図11は、本発明の一実施の形態における番組推薦時の処理のフローチャートである。例えば、ユーザがテレビの電源をオンにしたり、チャンネルを変更したりした際に番組推薦を行うようにする。
【0071】
ステップ410)番組情報処理部10が、番組情報テーブル71を参照し、現在放送中の番組集合Inowを取得する。
【0072】
ステップ420)番組推薦部40が、前記番組集合Inowに含まれる個々の番組iに対して、推薦スコアテーブル53を参照しアカウント u の番組 i に対する推薦スコア P(i,tnow|u)を取得し、アカウント u に推薦すべき番組を決定する。その際、推薦スコア P(i,tnow|u) の値が大きいものから順に予め設定した任意の件数 K (K=1,2,3,…) 件を推薦すべき番組としてもよいし、推薦スコア P(i,tnow|u) に対し、ある閾値を設けて、 推薦スコアがその値を超えるものを推薦すべき番組としてもよい。
【0073】
なお、上記の番組推薦装置の各構成要素の処理をプログラムとして構築し、番組推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0074】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【0075】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【0076】
1 番組推薦装置
2 外部端末
3 ネットワーク
4 外部装置
10 番組情報処理部
20 視聴情報処理部
30 推薦スコア算出部
31 パラメータ推定部
40 番組推薦部
50 記憶部
51 番組情報テーブル
52 視聴情報テーブル
53 推薦スコアテーブル
60 通信部
70 入出力部
【特許請求の範囲】
【請求項1】
インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦装置であって、
前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得手段と、
前記インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得手段と、
取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定手段と、
算出した各アカウントIDの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出手段と、
アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の質問の識別子を推薦番組として選択する番組推薦手段と、
を有することを特徴とする番組推薦装置。
【請求項2】
前記パラメータ推定手段は、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる
請求項1記載の番組推薦装置。
【請求項3】
インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦方法であって、
番組情報取得手段が、前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得ステップと、
視聴情報取得手段が、前記インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得ステップと、
パラメータ推定手段が、取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定ステップと、
推薦スコア算出手段が、前記パラメータ推定ステップで算出された前記各アカウントIDの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出ステップと、
番組推薦手段が、アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の質問の識別子を推薦番組として選択する番組推薦ステップと、
を行うことを特徴とする番組推薦方法。
【請求項4】
前記パラメータ推定ステップにおいて、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる
請求項3記載の番組推薦方法。
【請求項5】
請求項1または2記載の番組推薦装置を構成する各手段としてシステムを機能させるための番組推薦プログラム。
【請求項1】
インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦装置であって、
前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得手段と、
前記インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得手段と、
取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定手段と、
算出した各アカウントIDの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出手段と、
アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の質問の識別子を推薦番組として選択する番組推薦手段と、
を有することを特徴とする番組推薦装置。
【請求項2】
前記パラメータ推定手段は、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる
請求項1記載の番組推薦装置。
【請求項3】
インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦方法であって、
番組情報取得手段が、前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得ステップと、
視聴情報取得手段が、前記インターネット回線を利用した映像配信サービスにおける各アカウントIDの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得ステップと、
パラメータ推定手段が、取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントIDを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定ステップと、
推薦スコア算出手段が、前記パラメータ推定ステップで算出された前記各アカウントIDの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントIDの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出ステップと、
番組推薦手段が、アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の質問の識別子を推薦番組として選択する番組推薦ステップと、
を行うことを特徴とする番組推薦方法。
【請求項4】
前記パラメータ推定ステップにおいて、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007)記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる
請求項3記載の番組推薦方法。
【請求項5】
請求項1または2記載の番組推薦装置を構成する各手段としてシステムを機能させるための番組推薦プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−222569(P2012−222569A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−85615(P2011−85615)
【出願日】平成23年4月7日(2011.4.7)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成22年11月4日 社団法人情報処理学会発行の「情報処理学会シンポジウムシリーズ Vol.2010,No.4 Webとデータベースに関するフォーラム(WebDB Forum 2010) 論文集(CD−ROM)」に発表
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月7日(2011.4.7)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成22年11月4日 社団法人情報処理学会発行の「情報処理学会シンポジウムシリーズ Vol.2010,No.4 Webとデータベースに関するフォーラム(WebDB Forum 2010) 論文集(CD−ROM)」に発表
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]