(57)【要約】【課題】  アカウントＩＤではなく、ユーザに適した番組を推薦する。【解決手段】  本発明は、インターネット回線を利用した映像配信サービスにおける各アカウントＩＤの視聴番組と視聴時刻を取得し、視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントＩＤを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出し、各アカウントＩＤの、ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントＩＤの各番組を視聴する確率(推薦スコア)を推定し、現在放送中の各番組に対して、推薦スコアの上位Ｎ件の質問の識別子を推薦番組として選択する。【選択図】  図１
2012222569.tif 000002
【特許請求の範囲】
【請求項１】
インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦装置であって、
前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得手段と、
前記インターネット回線を利用した映像配信サービスにおける各アカウントＩＤの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得手段と、
取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントＩＤを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定手段と、
算出した各アカウントＩＤの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントＩＤの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出手段と、
アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位Ｎ件の質問の識別子を推薦番組として選択する番組推薦手段と、
を有することを特徴とする番組推薦装置。
【請求項２】
前記パラメータ推定手段は、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007）記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる
請求項１記載の番組推薦装置。
【請求項３】
インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦方法であって、
番組情報取得手段が、前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得ステップと、
視聴情報取得手段が、前記インターネット回線を利用した映像配信サービスにおける各アカウントＩＤの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得ステップと、
パラメータ推定手段が、取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントＩＤを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定ステップと、
推薦スコア算出手段が、前記パラメータ推定ステップで算出された前記各アカウントＩＤの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントＩＤの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出ステップと、
番組推薦手段が、アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位Ｎ件の質問の識別子を推薦番組として選択する番組推薦ステップと、
を行うことを特徴とする番組推薦方法。
【請求項４】
前記パラメータ推定ステップにおいて、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007）記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる
請求項３記載の番組推薦方法。
【請求項５】
請求項１または２記載の番組推薦装置を構成する各手段としてシステムを機能させるための番組推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、番組推薦装置及び方法及びプログラムに係り、特に、インターネット回線による映像配信サービスで提供されるユーザのテレビ番組視聴における、番組推薦装置及び方法及びプログラムに関する。
【背景技術】
【０００２】
情報推薦の手法はいくつも提案されている。例えば、ニュース記事を推薦するために、各ニュース記事についてユーザに５段階の評価をつけさせ、過去の評価履歴を見てユーザ間の嗜好の類似度を測り、嗜好が似たユーザの好むニュース記事を推薦する手法が提案されている（例えば、非特許文献１参照）。
【０００３】
また、上記の手法と同様に、各情報に対してアカウントに評価をつけさせ、過去の評価履歴でアカウントが評価している情報に含まれるテキストに着目する。そのテキストがアカウントの興味を反映していると考え、そのテキストと同じような単語が出現している情報を推薦する手法が提案されている（例えば、非特許文献２参照）。
【０００４】
また、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてコミュニティ内の情報を検索し、ユーザの興味のある箇所のみの情報を提示する手法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１-３３８８６９号公報
【非特許文献】
【０００６】
【非特許文献１】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.
【非特許文献２】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
【発明の概要】
【発明が解決しようとする課題】
【０００７】
インターネット回線を利用した映像配信サービスについて、多チャンネル化が進んでいる。こういった中でユーザが本当に興味のある番組を見つけるのは困難である。また興味ある番組をすべて把握し録画することもまた、困難である。
【０００８】
上記の特許文献１の手法を用いて番組を推薦する場合、ユーザが指定した興味のある語に関連する番組が推薦される。この場合、語を指定しなければならないという問題がある。このようにユーザのインタラクションを必要とするシステムは、ユーザにとっては不便である。
【０００９】
非特許文献１、２に記載の手法で番組を推薦する場合、アカウントＩＤを利用するユーザが真に単一であれば、アカウントの視聴した番組の情報を用いてユーザの興味を推定し番組を推薦することができる。しかしながら、番組推薦において、アカウントＩＤが一人のユーザのみに使われているとは限らない。例えば、家庭で１つのアカウントＩＤを利用していた場合を考える。母はドラマが好きで、息子はアニメが好きであるとすると、そのような家庭に対して、ドラマを推薦すべきか、アニメを推薦すべきかが定まらないという問題が生じる。このように、アカウントＩＤがどのような何人に利用されているかがわからなければ、適切な番組を推薦することができない。
【００１０】
本発明は上記の点に鑑みなされたもので、インターネット回線を利用した映像配信サービスにおいて、視聴履歴から各アカウントＩＤがどのような何人に利用されているかを推定することにより、ＩＤに対してではなく、個々のユーザに適切に番組を推薦することが可能な番組推薦装置及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記の課題を解決するため、本発明は、インターネット回線を利用した映像配信サービスにおいて、視聴時刻の情報を利用する番組推薦装置であって、
前記インターネット回線を利用した映像配信サービスにおける番組の情報を取得し、番組情報記憶手段に格納する番組情報取得手段と、
前記インターネット回線を利用した映像配信サービスにおける各アカウントＩＤの視聴番組と視聴時刻を取得し、視聴情報記憶手段に格納する視聴情報取得手段と、
取得した前記視聴情報中の各アカウントの各番組に関する視聴したか否かの情報と視聴開始時刻の情報を用いて、各アカウントＩＤを利用するユーザ数と、該ユーザの興味と、その興味に基づく各番組を視聴する確率を算出するパラメータ推定手段と、
算出した各アカウントＩＤの、前記ユーザと、それらユーザの興味と、その興味に基づく各番組を視聴する確率を用いて、各アカウントＩＤの各番組を視聴する確率を推定し、推薦スコア記憶手段に格納する推薦スコア算出手段と、
アカウントの識別子が与えられると、該アカウントの前記番組情報記憶手段に格納されている現在放送中の各番組に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位Ｎ件の質問の識別子を推薦番組として選択する番組推薦手段と、を有する。
【００１２】
また、本発明の前記パラメータ推定手段は、
ユーザ数の推定に、「上田修功ら, "ノンパラメトリックベイズモデル", 2007）記載の Chinese Restaurant Process 」と、「Bishop, M.C., "Pattern recognition and machine learning", 2006」記載のギブスサンプリングを用いる。
【発明の効果】
【００１３】
本発明は視聴時刻の傾向から１つのアカウントＩＤを共有するユーザの数と、各ユーザの興味を特定することにより、従来の技術では不可能であった、ユーザに則したより正確な番組推薦が可能になる。これはインターネット回線を利用した映像配信サービスにおける視聴の増加につながる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施の形態における番組情報推薦装置の構成図である。
【図２】本発明の一実施の形態における番組情報テーブルの例である。
【図３】本発明の一実施の形態における視聴情報テーブルの例である。
【図４】本発明の一実施の形態における推薦スコアテーブルの例である。
【図５】本発明の一実施の形態における番組情報更新時の処理の流れである。
【図６】本発明の一実施の形態における番組視聴時の処理の流れである。
【図７】本発明の一実施の形態における推薦スコア更新時の処理の流れである。
【図８】本発明の一実施の形態における図７のステップ３４０の詳細な処理のフローチャートである。
【図９】本発明の一実施の形態における図８のステップ３４２の詳細な処理のフローチャートである。
【図１０】本発明の一実施の形態における図８のステップ３４３の詳細な処理のフローチャートである。
【図１１】本発明の一実施の形態における番組推薦時の処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下図面と共に、本発明の実施の形態を説明する。
【００１６】
本発明では、インターネット回線を利用した映像配信サービスにおいて、ユーザにより適切な番組を推薦することを目的とする。具体的には、視聴する時刻に関する情報を用いて、アカウントＩＤが何人に利用されているかを推定すると同時に、それら個々のユーザの興味を推定し、そのユーザの興味により適合した番組を推薦する手法を実現する。例えば、ある家庭に対して番組を推薦する場合、平日の昼であれば母が視聴していると考えられるので昼のドラマ番組を、平日の夕方であれば息子が視聴していると考えられるのでアニメ番組を推薦する。
【００１７】
つまり、「アカウント u が番組 i を時刻 t にて視聴する」確率を以下のようにモデル化する。
【００１８】
【数１】
2012222569.tif 000003
v はモデルによって得られる仮想ユーザで、平日の昼にドラマを見る「母」や、平日の夕方にアニメを見る「息子」を表す。z は番組のトピックで、「ドラマ」や、「アニメ」を表す。式（１）のようにモデル化する場合、z についてはその数を予め設定しておく。その値をZ とする。
【００１９】
アカウント u が番組 i を時刻 t にて視聴する確率が正確にわかれば、アカウントが現在時刻においてどの番組を見るかがわかる。そのためには、式（１）中に出現するパラメータVu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を正しく求める必要がある。
【００２０】
以下、図面と共に本発明の実施形態を説明する。
【００２１】
図１は、本発明の一実施の形態における番組推薦装置の構成を示す。
【００２２】
同図に示す番組推薦装置１は、番組情報処理部１０、視聴情報処理部２０、推薦スコア算出部３０、番組推薦部４０、記録部５０、通信部６０、入出力部７０から構成され、通信部６０はネットワーク３に接続されており、入出力部７０は、入力装置や表示装置等の外部装置４に接続されている。
【００２３】
推薦スコア算出部３０は、パラメータ推定部３１を持つ。
【００２４】
記憶部５０は、番組情報テーブル５１、視聴情報テーブル５２、推薦スコアテーブル５３から構成される。以下に各テーブルについて説明する。
【００２５】
＜番組情報テーブル５１＞
番組情報テーブル５１には、図２に示すように、番組ＩＤフィールド、タイトルフィールド、放送開始時刻フィールド、放送終了時刻フィールドが含まれる。
【００２６】
番組ＩＤフィールドは、その番組を特定する識別子であり、番組情報処理部１０により設定される。
【００２７】
タイトルフィールドは、該番組のタイトルが、番組情報処理部１０によりテキストデータにて設定される。
【００２８】
放送開始時刻フィールドは、該番組の放送開始の時刻が、番組情報処理部１０により設定される。
【００２９】
放送終了時刻フィールドは、該番組の放送終了の時刻が、番組情報処理部１０により設定される。
【００３０】
＜視聴情報テーブル５２＞
視聴情報テーブル５２には、図３に示すように、番組ＩＤフィールド、アカウントＩＤフィールド、視聴時刻フィールドが含まれる。
【００３１】
番組ＩＤフィールドは、番組情報テーブルに出現する番組の識別子と対応し、視聴情報処理部２０により設定される。
【００３２】
アカウントＩＤフィールドは、番組を視聴したアカウントを特定する識別子が、視聴情報処理部２０により設定される。
【００３３】
視聴時刻フィールドは、該アカウントが該番組の視聴を開始した時刻が、視聴情報処理部２０により設定される。
【００３４】
＜推薦スコアテーブル５３＞
推薦スコアテーブル５３には、図４に示すように、アカウントＩＤフィールドと、番組ＩＤフィールドと、推薦スコアフィールドとが含まれる。
【００３５】
推薦スコアフィールドは、該アカウント u の、該番組 qに対する推薦スコア score(q,u) が推薦スコア算出部３０により設定される。
【００３６】
はじめに、本発明の一実施の形態における番組情報更新時の処理を詳細に説明する。
【００３７】
図５は、本発明の一実施の形態における番組情報更新時の処理のフローチャートである。今、番組 p についての情報の更新があったとする。
【００３８】
ステップ１１０）番組情報処理部１０が、番組情報テーブル５１に、番組 p の情報を記した行を構成し、挿入する。
【００３９】
次に、番組視聴時の処理を説明する。
【００４０】
図６は、本発明の一実施形態における番組視聴時の処理のフローチャートである。
【００４１】
ステップ２１０）視聴情報処理部２０が、視聴情報テーブル５２に、視聴された番組、視聴したアカウント、視聴を開始した時刻に応じて番組ＩＤフィールド、アカウントＩＤフィールド、視聴時刻フィールドの値を設定した行wを挿入する。
【００４２】
図７は、本発明の一実施の形態における推薦スコア更新時の処理のフローチャートである。推薦スコア更新のタイミングは、例えばユーザが番組の視聴時と同時に行うとよい。
【００４３】
ステップ３１０）推薦スコア算出部３０が、推薦のためのパラメータであるトピック数 Z、P(z|u,v) 算出のための事前パラメータα，P(i|z)算出のための事前パラメータβ，P(v|u)算出のための事前パラメータγ、τuv算出のための事前パラメータξ、ν、σuv算出のための事前パラメータη、ρを与える。このパラメータの設定方法は、予め与えておいた定数パラメータである。
【００４４】
ステップ３２０）推薦スコア算出部３０が、視聴情報テーブル５２を参照し、視聴情報テーブル５２に出現する全てのアカウント集合Ｕ と、各アカウントｕ∈Ｕ の視聴番組ium 
とその視聴時刻 tum (m=1,…,Mu) を取得する。ただし、Mu はアカウント u の視聴した番組の数を表しており、アカウント毎に異なる値となる。
【００４５】
ステップ３３０）推薦スコア算出部３０が、番組情報テーブル５１を参照し、番組情報テーブル５１に出現する全ての番組集合Ｉを取得する。
【００４６】
ステップ３４０）パラメータ推定部３１が、Chinese Restaurant Process（文献１（上田修功ら, "ノンパラメトリックベイズモデル", 2007）記載の "Chinese Restaurant Process"」）、ギブスサンプリング（文献２（Bishop, M.C., "Pattern recognition and machine learning", 2006）記載の "Gibbs Sampling"）を用いて各アカウント u∈Ｕ と各番組 i∈Ｉに対して Vu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を算出する。
【００４７】
ステップ３５０）推薦スコア算出部３０が、番組情報テーブル５１を参照し、現在放送中、すなわち現在時刻が放送開始時刻フィールドの値と放送終了時刻フィールドの値の間に入るような番組集合Inow を取得する。
【００４８】
ステップ３６０）推薦スコア算出部３０が、ステップ３１０にて算出したパラメータZ、α、β、γ、ξ、ν、η、ρと、ステップ３４０にて算出したパラメータVu、P(v|u)、σuv、τuv、P(i|z)、P(z|v,u)と 式（１）とを用いて各アカウント u∈U の各番組 i∈Ｉnow に対する推薦スコア P(i,tnow|u) を算出する。ただし、tnow は現在時刻を表す。
【００４９】
ステップ３７０）推薦スコア算出部３０が、各アカウント u∈U、各番組 i∈Inow について推薦スコアテーブル５３にアカウントＩＤフィールドの値が u、番組ＩＤフィールドの値が i の行の推薦スコアを P(i,tnow|u) に更新する。
【００５０】
次に、上記の図７のステップ３４０の処理を詳細に説明する。
【００５１】
図８は、本発明の一実施の形態における図７のステップ３４０の詳細な処理のフローチャートである。
【００５２】
ステップ３４１）パラメータ推定部３１が、視聴情報テーブル５２を参照し、全視聴情報を取得する。
【００５３】
ステップ３４２）パラメータ推定部３１が、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv を初期化する。
【００５４】
以降の処理を500回繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値が収束したらそこで打ち切るようにしてもよい。
【００５５】
ステップ３４３）パラメータ推定部３１が、視聴情報テーブル５２に含まれる各視聴情報 (u, m) について、Vu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を更新する。
【００５６】
ステップ３４４）パラメータ推定部３１が、推薦スコア算出部３０より渡されたパラメータ Z、α、β、γ、ξ、ν、η、ρと、Vu、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を用いて以下のように P(v|u)、σuv、τuv、P(i|z)、P(z|v,u) を算出する。
【００５７】
【数２】
2012222569.tif 000004
図９は、本発明の一実施の形態における図８のステップ３４２の詳細な処理のフローチャートである。
【００５８】
ステップ３４２１）パラメータ推定部３１が、全てのアカウントu、 仮想ユーザ v、トピックz、番組 i について以下のように初期値を代入する。
【００５９】
【数３】
2012222569.tif 000005
ステップ３４２２）パラメータ推定部３１が、視聴情報テーブル５２に含まれる各視聴情報 (u,m) について、0 以上 Z−1 以下のランダムな整数 k を発生させ、zum の値とし、また、vum の値を 0(=w) とする。
【００６０】
ステップ３４２３）パラメータ推定部３１が、該視聴情報 (u,m) について、以下のようにVu、zum、vum、Mzi、Mz、Mu、Muv、Muvz、Tuv、Cuv の値を更新する。
【００６１】
【数４】
2012222569.tif 000006
図１０は、本発明の一実施の形態における図８のステップ３４３の詳細な処理のフローチャートである。処理の対象の視聴情報が、今 (u,m) であるとする。
【００６２】
ステップ３４３１）パラメータ推定部３１が、以下のようにMzumium、Mzum、Mu、Muvum、Muvumzum、Tuvum、Cuvum の値を一時的に更新する。
【００６３】
【数５】
2012222569.tif 000007
ステップ３４３２）パラメータ推定部３１が、zumがk（＝0,…,Z-1）にアサインされる確率を以下のように算出し、
【００６４】
【数６】
2012222569.tif 000008
上記確率に従いランダムにzumの値を決定する。
【００６５】
ステップ３４３３）パラメータ推定部３１が、vumがw（=0,…,Vu−1）にアサインされる確率を
【００６６】
【数７】
2012222569.tif 000009
のように算出し、vumがVu（新たなユーザ）にアサインされる確率を
【００６７】
【数８】
2012222569.tif 000010
のように算出し、これらの確率に従いランダムにvumの値を決定する。
【００６８】
ステップ３４３４）パラメータ推定部３１が、ステップ３４３３にてvumの値がVuに決定された場合、Vu の値に1を加算する。
【００６９】
ステップ３４３５）パラメータ推定部３１が、以下のようにMzumium、Mzum、Mu、Muvum、Muvumzum、Tuvum、Cuvum の値を更新する。
【００７０】
【数９】
2012222569.tif 000011
図１１は、本発明の一実施の形態における番組推薦時の処理のフローチャートである。例えば、ユーザがテレビの電源をオンにしたり、チャンネルを変更したりした際に番組推薦を行うようにする。
【００７１】
ステップ４１０）番組情報処理部１０が、番組情報テーブル７１を参照し、現在放送中の番組集合Ｉnowを取得する。
【００７２】
ステップ４２０）番組推薦部４０が、前記番組集合Ｉnowに含まれる個々の番組iに対して、推薦スコアテーブル５３を参照しアカウント u の番組 i に対する推薦スコア P(i,tnow|u)を取得し、アカウント u に推薦すべき番組を決定する。その際、推薦スコア P(i,tnow|u) の値が大きいものから順に予め設定した任意の件数 K (K=1,2,3,…) 件を推薦すべき番組としてもよいし、推薦スコア P(i,tnow|u) に対し、ある閾値を設けて、 推薦スコアがその値を超えるものを推薦すべき番組としてもよい。
【００７３】
なお、上記の番組推薦装置の各構成要素の処理をプログラムとして構築し、番組推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００７４】
また、構築されたプログラムをハードディスクや、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００７５】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００７６】
１  番組推薦装置
２  外部端末
３  ネットワーク
４  外部装置
１０  番組情報処理部
２０  視聴情報処理部
３０  推薦スコア算出部
３１  パラメータ推定部
４０  番組推薦部
５０  記憶部
５１  番組情報テーブル
５２  視聴情報テーブル
５３  推薦スコアテーブル
６０  通信部
７０  入出力部
【図１】
2012222569.tif 000012
【図２】
2012222569.tif 000013
【図３】
2012222569.tif 000014
【図４】
2012222569.tif 000015
【図５】
2012222569.tif 000016
【図６】
2012222569.tif 000017
【図７】
2012222569.tif 000018
【図８】
2012222569.tif 000019
【図９】
2012222569.tif 000020
【図１０】
2012222569.tif 000021
【図１１】
2012222569.tif 000022