〔実施形態1〕
本発明の一実施の形態について、説明すれば以下の通りである。なお、本実施の形態では、本発明の番組推薦装置をデジタルテレビ放送受信装置(以下、単にテレビ放送受信機と称する)に適用し、デジタルテレビ放送の番組のEPGを利用して、ユーザに視聴番組の推薦動作を行うようにした例について説明する。
図2は、本実施の形態に係るテレビ放送受信機の概略構成を示すブロック図である。
図2に示すように、本実施の形態に係るテレビ放送受信機200は、お薦めの番組情報をユーザに提示するための番組推薦装置100と、テレビ放送受信機200外部から取得するEPGデータ15を受信するためのEPG受信部4と、その受信したEPGデータ15を処理するためのEPGデータ処理部5とを備えている。
番組推薦装置100は、ユーザから推薦番組表示の指示があった場合に、EPGの番組情報群からお薦めの番組情報を抽出し、それをユーザに提示するためのものであり、装置本体100aおよびそれをユーザが操作するための操作部(指示信号入力手段、順序切替指示信号入力手段)100bとからなる。
装置本体100aは、ユーザの番組視聴回数をカウントするための視聴頻度計数部(視聴頻度蓄積手段)10、ユーザの嗜好に合致したお薦めの番組情報を抽出するための推薦番組情報抽出部(推薦番組情報抽出手段)20、抽出された推薦番組情報の推薦順序を決定するための推薦順序決定部(推薦順序決定手段)31、抽出され、推薦順序が決定された番組情報の表示用データを生成するための表示情報生成部(推薦番組情報出力手段)8、生成された表示用データを表示するための表示部(表示手段)9、装置本体100aに接続されたテレビ放送受信機200などの視聴覚機器(外部機器)がどの番組を取り扱っているかを特定するための使用状況情報処理部(カレント番組情報特定手段)7、および、上記特定された番組のキーワードをその番組の番組情報から取得する、カレント番組キーワード取得部(キーワード抽出手段)19とを含み、またデータベースとして、ユーザの視聴履歴を嗜好情報として記憶するためのユーザ嗜好データベース(嗜好情報群)1と、受信可能な番組の番組情報を記憶するための番組情報データベース(番組情報群)2とを備えている。
上記ユーザ嗜好データベース1は、ユーザの番組視聴履歴(視聴回数や視聴日時など)が、その番組が含むキーワードごとに格納されるデータベースであり、例えば図4に示すようなテーブル40として各種データが格納されている。なお、ユーザ嗜好データベース1の詳細については後述する。
上記番組情報データベース2は、EPG受信部4により取得されたEPGデータ15が、EPGデータ処理部5によって処理された後に、複数の番組情報からなるEPGとして格納されるデータベースであり、例えば図3(d)に示すようなテーブル37として各種データが格納されている。なお、番組情報データベース2の詳細については後述する。
視聴頻度計数部10は、ユーザの番組視聴履歴、例えば、視聴回数や視聴日時などをユーザ嗜好データベース1に蓄積するためのものである。この視聴頻度計数部10は、ユーザにより送信された番組視聴指示信号から視聴された番組を特定する視聴情報受信部11と、特定された番組の番組情報を抽出し、その番組のキーワードを取得する番組情報取得部12と、取得されたキーワードごとに、ユーザ嗜好データベース1の番組視聴履歴を更新する嗜好情報更新部13とを含んでいる。なお、各部の詳細については後述する。
推薦番組情報抽出部20は、ユーザ嗜好データベース1に格納されている嗜好情報を用いてユーザの嗜好度を番組ごとに算出するものである。推薦番組情報抽出部20は、ユーザ嗜好データベース1から嗜好情報を取得するための嗜好情報取得部21と、取得した嗜好情報に基づきキーワードごとに嗜好の度合いを数値化するための嗜好ポイント算出部(嗜好ポイント算出手段)22と、番組ごとにユーザの嗜好との合致度合いを数値化するための合致度算出部(合致度算出手段)23とを含んでいる。推薦番組情報抽出部20は、以上の各部を用いて、番組情報データベース2から取得した番組情報とその合致度の情報との組み合わせを推薦順序決定部31に供給することにより、推薦番組情報を抽出するものである。
推薦番組情報抽出部20内の各部および推薦順序決定部31については後に詳述する。
操作部100bは、ユーザがテレビ放送受信機200を動作させるための信号を入力するためのものである。テレビ放送受信機200自体に設けられた第1操作部3aと、テレビ放送受信機200外部でリモート操作するためのリモートコントローラ(リモコン)等を用いる第2操作部3bとで構成されている。なお、第2操作部3bとしては、上述のリモコンの他に、他の有線の入力機器(キーボードやマウスなど)であってもよい。
EPG受信部4は、各放送局から送信されるデジタル放送の信号に含まれる、EPGテキスト情報を含んだEPGデータ15を受信するための受信手段であり、信号を受信するアンテナ、周波数の選局を行うチューナ、その信号形態に従った復調をおこなう復調部などがこれに含まれる。
本実施の形態では、EPG受信部4にて受信したEPGデータ15の範囲内で推薦する番組を選択する。なお、EPG受信部4は、1回の受信において現在の日時からN日後(Nは任意の値)までのEPGデータ15を受信することができる。
EPGデータ処理部5は、EPG受信部4によって受信されたEPGデータ15に含まれるテキスト情報から、番組ごとにキーワードを抽出し、各番組情報とともに番組情報データベース2に格納する手段である。ここで、番組情報データベース2には、例えば、図3(d)に示すような情報が格納されている。
EPGデータ処理部5の具体的な処理内容について、図3(a)〜(c)を、番組情報データベース2について、図3(d)をそれぞれ参照しながら以下に説明する。
図3(a)は、EPGデータ処理部5が処理を行う前の、EPG受信部4が受信したEPGデータ15のテキスト情報の一例を示す。テキスト情報35は、ある一つの番組Aについての情報を示している。本実施の形態では、テキスト情報35には、その番組を一意に特定できる「番組ID」、その番組の放送の「開始日時」、「終了日時」、番組を放送する「放送局名」、番組が属する「ジャンル」名、番組名(「タイトル」)、「出演者」名、および番組の内容を説明する番組の説明文(「番組詳細説明」)が記述されている。しかしこのようなEPGデータ15の情報項目はこれに限定されず、例えば、出演者には、司会者、解説者などの種類が識別できるタグがつけられている場合もある。また、EPG受信部4が受信可能な情報としては、他にも例えば、コピーコントロール情報、視聴年齢制限、有料番組情報などがある。
EPGデータ処理部5は、EPGデータ15をEPG受信部4より供給されると、EPGデータ15に含まれている各テキスト情報の、「タイトル」および「番組詳細説明」からキーワードを抽出し、番組情報データベース2に格納するためのレコードを番組ごとに生成する。
図3(b)は、テキスト情報35からEPGデータ処理部5によって、キーワードが抽出され、生成された1レコード分、つまり、番組情報の一例を示す。図3(c)は、別の番組Gについての番組情報の例である。
この番組情報36は上記番組Aの番組情報であり、番組情報データベース2では1レコードとして取り扱われる。番組情報36は、8つの属性36aからなる。属性「番組ID」から「出演者」までには(36b)、テキスト情報35からそのまま取得されたものが格納される。一方、属性「単語」(36c)には、EPGデータ処理部5が、上記「タイトル」および「番組詳細説明」から、公知の技術を用いてキーワードとして抽出された単語が格納される。
なお、本実施の形態では、属性「タイトル」、「出演者」、「単語」(36d)の3種を、キーワードを示す属性(以下、キーワード種別と称す)として取り扱い、以下、上記3属性36dに格納される1語1語をキーワードと称す。
EPGデータ15は、以上のようにして、EPGデータ処理部5によって抽出されたキーワードが追加されて、図3(d)に示す通り、番組ごとに番組情報データベース2(図2)に格納される。
すなわち、この番組情報データベース2を、視聴頻度計数部10は、ユーザの視聴頻度を計数するときに、また推薦番組情報抽出部20、使用状況情報処理部7、カレント番組キーワード取得部19、および表示情報生成部8は、推薦番組を選択し、それを出力するときに、それぞれ参照する。
なお、本実施の形態においては、上記キーワード種別として、「タイトル」、「出演者」、および「単語」を利用しているが、これらに限定されることはない。例えば、「出演者」を、「司会者」、「解説者」、および「脚本」などにさらに細分化してもよい。
また、キーワードとして扱う単語としては、放送局が作成するEPGデータ15の中に、すでに番組の特徴を表す「番組特徴キーワード」が含まれている場合は、それをそのまま属性「単語」内に格納してもよい。
「番組特徴キーワード」とは、EPGデータ15内に、出演者名などが格納されているのと同じように、キーワードが格納されるデータ枠があり、そこに放送局によって、あらかじめ番組の特徴を表すキーワードして付与されているものである。したがって、本実施の形態において、EPGデータ処理部5がEPGデータ15の「タイトル」および「番組詳細説明」から抽出された、属性36cに格納されるキーワードとは異なるものである。
また、本実施の形態では、番組特徴キーワードが含まれていない場合のキーワード抽出方法として、あらかじめ格納すべき単語のリストを作成しておき、リストと一致した単語のみ抽出する方法を用いている。また、他の抽出方法として、テキストデータを形態素解析し、分解された単語から品詞が名詞のものだけ抽出するようにしてもよい。
なお、番組情報データベース2に格納される番組情報の元となるEPGデータ15は、ここでは図示しないが、電話回線、LAN(Local Area Network)、インターネットなどを通じて、テレビ放送受信機200外部の記憶装置、または記録媒体などから取得することも可能である。この場合、EPG受信部4には、外部との通信の処理を行うための通信インターフェースとしての機能や、記録媒体読取装置としての機能が備わっていればよい。
次に、本実施の形態における、キーワードについてのユーザの嗜好情報を示すユーザ嗜好データベース1のテーブル構造について図4に示す。
本実施の形態では、ユーザ嗜好データベース1のテーブル40は、6つの属性からなり、キーワードごと、かつジャンルごと1レコードとした構成である。
図4に示すように、属性41には、上記「キーワード」を、属性42には、上記「ジャンル」を、属性43には、上記「キーワード種別」を、それぞれ格納する。さらに、属性44には、そのキーワードを含む番組がユーザにより視聴された回数を示す、「視聴頻度」を、属性45には、そのキーワードを含む番組が最近視聴された日時を示す、「最終視聴日時」を、属性46には、上記の属性データに基づき、嗜好ポイント算出部22が算出する、「嗜好ポイント」をそれぞれ格納する。なお、嗜好ポイント算出部22が嗜好ポイントを算出する方法については後述する。
本実施の形態では、属性44は、視聴頻度計数部10によって、ユーザが番組を視聴するたびに計数される。さらに、テーブル40は、単にキーワードごとに視聴頻度を計数しているのではなく、ジャンルごと、さらに一つのジャンル内においては上記キーワード種別ごとに、視聴頻度を格納している。つまり、テーブル40では、そのキーワードの抽出元である番組がどのジャンルに属しているかという情報(属性42)と、そのキーワードは属性36dのうちどのキーワード種別に分類されているかという情報(属性43)と、により、キーワードを分類している。
本実施の形態においては、属性41〜43が複合キーとして機能することにより、例え同じ語のキーワードでも重複することなく、別のレコードとして扱われる。
図3(b)で用いた番組Aの例で説明すると、ユーザにより番組Aが視聴された場合には、属性41がそれぞれ「タイトルA」、「俳優B」、「女優C」、「単語D」、および「単語F」であって、かつ属性42が「ドラマ」であるレコードR1〜R5に対して視聴頻度が1計上される。なお、レコードR6は、「単語D」であるが、ジャンルが異なるため、違うレコードであり、視聴頻度は計上されない。
なお、このように、単なるキーワードごとではなく、ジャンルごとにも視聴頻度を管理することによって、同じキーワードでもあるジャンルでは好みのキーワードであるが、別のジャンルでは好みのキーワードでない、といった状況に対応できる、というメリットがある。しかし、この点は、本発明を実施する上での必須の要件ではなく、単にキーワードごとに視聴頻度を計数する構成でも、本実施の形態と略同様の効果を得ることができる。
次に、上述のユーザ嗜好データベース1および番組情報データベース2の情報を用いて実行される、本実施の形態によるテレビ放送受信機200の、視聴頻度を蓄積するための視聴頻度計数部10の各構成要素、推薦番組を抽出するための推薦番組情報抽出部20の各構成要素、推薦番組情報の推薦順序を決定するための推薦順序決定部31、およびそれを出力するための表示情報生成部8を、図2を参照しながら以下に説明する。
なお、本実施の形態に用いられる視聴頻度計数部10および推薦番組情報抽出部20の構成は、これに限定されない。以下に記載の機能を実行できさえすれば、いずれの構成要素および/またはその組み合わせを含んでいてもよい。
視聴頻度計数部10は、ユーザの番組視聴履歴をユーザ嗜好データベース1へ格納するためのものである。番組視聴履歴とは、ユーザが視聴した番組を特定する番組IDとその視聴がなされた日時情報とを含むユーザの視聴情報であり、その入力信号は視聴情報受信部11が受け付ける。視聴情報は、ユーザが、何らかの番組を視聴するために操作部100bを用いて番組視聴指示信号16を入力する度に、視聴情報受信部11に入力される。なお、本実施形態では、視聴がなされた日時とは、上記番組視聴指示信号16を装置本体100aが受け付けた日時である。
視聴情報受信部11に視聴情報Aが入力されると、それに基づき番組情報取得部12は、番組情報データベース2に格納されている番組情報を参照し、その中から、視聴情報Aが示す番組、即ちユーザが視聴した番組(以下、単にユーザ視聴番組と称する)の番組情報から、キーワードについての情報を取得する。具体的には、番組IDに基づき、テーブル37からレコード(すなわち番組情報)を特定し、そこから、キーワード(属性36d内の語)とジャンルを取得する。
次に、嗜好情報更新部13は、番組情報取得部12から取得された各キーワードについて、ユーザ嗜好データベース1のユーザ嗜好情報において、上で既に述べた通り、同一ジャンルかつ同一キーワード種別内に一致するキーワードがある場合に、その各属性データを更新する。一方、番組情報取得部12から取得されたキーワードについて、ユーザ嗜好データベース1のユーザ嗜好情報において、同一ジャンルかつ同一キーワード種別内に一致するキーワードがない場合に、そのキーワードを示すレコードを1つ追加し、属性44に1を計上する。
なお、本実施の形態では、属性45に「最終視聴日時」を記憶する構成になっている。そこで、嗜好情報更新部13は、属性45に、視聴情報Aに含まれる日時情報を格納する。(すでにレコードがある場合は、更新する。)
具体的には、嗜好情報更新部13は、新たなユーザ視聴番組のキーワードを、ジャンルごと、キーワード種別ごとにユーザ嗜好データベース1から検索し、検索の結果、既にユーザ嗜好データベース1に該当するキーワードが格納されている場合、そのキーワードについての「視聴頻度」を1計上し、同じくその時点で「最終視聴日時」を更新する。一方検索の結果、そのキーワードがユーザ嗜好データベース1に格納されていない場合、テーブルに新たにレコードを追加し、そこに、キーワード名、ジャンル、キーワード種別、視聴頻度(初回なのでここでは「1」を入れる)、および最終視聴日時を登録する。
ユーザ嗜好データベース1に新たに格納すべきキーワードがある場合で、ユーザ嗜好データベース1のキーワードを記憶するメモリ容量を越えてしまう場合には、キーワードが格納されているレコードを削除して、新たなレコードを追加し、そこにその新規のキーワードを格納する。削除の対象となるレコードは、通常、視聴回数が一番少ないキーワード、または最終視聴日時が一番古いキーワードであるのが好ましい。これにより、可能な限り、ユーザ嗜好データベース1の情報を新鮮に保つことができる。
本実施の形態では、削除の対象となるレコードを選択する方法の一例として、以下の方法を用いる。削除するキーワードは、最終視聴日から現在の日付までの経過日数に基づいて抽出する。この場合、最終視聴日から現在の日付までの経過日数が何日以上のキーワードに対して削除を許容するかという、最終視聴日からの最大格納日数をあらかじめ決めておく。したがって、新規レコード追加の際にメモリの許容量を超えてしまうときは、属性45から最大格納日数を超えているものを検索し、該当するものがあればそのレコードを削除する。該当するものがない場合には、視聴回数が1回しかなく、最大格納日数に最も近いレコードを削除する。
また、本実施の形態においては、視聴情報受信部11に入力される視聴情報を、ユーザが視聴した番組の視聴履歴情報としているが、録画予約された番組の情報、あるいはユーザが気に入った番組として指定した番組の情報などでもよい。この場合の番組指定の方法も、特に限定されず、例えば、ユーザが視聴中に入力ボタンによって登録する方法、またはEPGデータ15閲覧中に入力ボタンによって登録する方法でもよい。また、コンテンツデータにコンテンツの内容を説明するテキストデータが付与されたコンテンツを視聴した場合にも、そのテキストデータをEPGデータ15と同じように扱うことにより、テキストデータ中のデータをユーザの嗜好を示すキーワードとしてユーザ嗜好データベース1に格納することが可能である。
次に、推薦番組情報抽出部20の各部の機能について述べる。
推薦番組情報抽出部20は、ユーザ嗜好データベース1の嗜好情報を用いて、番組情報データベース2の番組情報ごとに、ユーザの嗜好との合致度合いを示す合致度を算出することにより、推薦番組情報を抽出するためのものである。この抽出された推薦番組情報とそれぞれの合致度は、推薦順序決定部31が推薦番組情報の推薦順序を決定する際に用いる。
ユーザにより操作部100bを介して、推薦番組表示指示信号17が推薦番組情報抽出部20に入力されると、嗜好情報取得部21はユーザ嗜好データベース1から、嗜好ポイント算出部22がキーワードごとに嗜好ポイントを算出するために用いる情報を取得して、嗜好ポイント算出部22に供給する。嗜好ポイント算出部22は、嗜好情報取得部21から供給された情報に基づいて、キーワードごとに嗜好ポイントを算出する。
キーワードごとの算出された嗜好ポイントは、その値が高いほどそのキーワードをユーザが好んでいると判断でき、視聴頻度が多くなるほどポイントが高くなる。このときの算出結果は、例えば、図4に示すテーブル40の属性46に「嗜好ポイント」として格納される。
なお、本実施の形態では、嗜好ポイントの算出方法は、「視聴頻度」のみをパラメータとする算出方法を用いるものとする。なお、ここでは、嗜好ポイントは視聴頻度と同じ値とする。
上記の算出方法を用いて、図4のテーブル40のキーワードのうちいくつかを例にとり嗜好ポイントを求めると、例えば、レコードR1の嗜好ポイントは6、レコードR4の嗜好ポイントは80、レコードR6の嗜好ポイントは1である。ここで同じ単語Dについて、異なる嗜好ポイントが2種類算出されているのは、属するジャンルがドラマである単語Dと、ジャンルがスポーツである単語Dとを異なるレコードとしてそれぞれ区別しているからである。
また、他の嗜好ポイント算出方法では、各キーワードの嗜好ポイントを算出する際に、キーワードの種別、キーワードを含む番組の視聴頻度のほかに、視聴した日から現時点(ポイント算出の時点)までの日数、番組の視聴時間、同じキーワードを含む番組の放送回数、全放送回数のうち視聴した割合などをパラメータとして複数利用してもよい。
例えば、視聴した日から現時点までの日数をパラメータとして利用するとする。視聴した日が最近であればあるほど(現時点に近いほど)、ユーザが好んでいる可能性が高いという判断から、属性45の情報を用いて、最終視聴日時が現時点と比較して3ヶ月より前であれば、係数1、3ヶ月以内であれば、係数2、1ヶ月以内であれば、係数3として視聴頻度のみから算出された各嗜好ポイントに重み付け係数をかけて最終的な嗜好ポイントとするなどできる。
次に、上述のようにして求めたキーワードのポイントを利用して算出される、番組ごとの、ユーザの嗜好との合致度合いを数値化した合致度について説明する。この合致度が高い番組ほど、ユーザの嗜好に合致している可能性が高いとみなす。
上記合致度は、現時点の日時以降に視聴可能な各番組の番組情報を含むEPGデータ15に基づく番組情報データベース2において、ユーザ嗜好データベース1に格納されているキーワードをどれだけ含むか、およびそれらキーワードの嗜好ポイントがそれぞれ何ポイントであるかによって算出される。
なお、合致度算出部23が合致度の算出対象とする番組は、現時点の日時以降に視聴可能な番組としているが、ユーザやシステムが合致度の算出対象となる番組の範囲を指定し、その範囲内の全ての番組について合致度を算出し、合致度の高い番組を、高い順に推薦する構成としてもよい。
合致度算出部23は、ユーザ嗜好データベース1に格納されているキーワードごとの嗜好ポイントを参照して、番組情報データベース2に格納されている番組ごとにユーザの嗜好との合致度を算出する。なお、ユーザ嗜好データベース1に格納されていないキーワードについては、ポイントを0とする。
次に、この合致度を算出する方法について説明する。本実施の形態では、キーワード種別ごとにポイントの合計値を算出することにより合致度を算出する方法を用いる。以下、図3(b)の番組Aの例を用いて、番組Aについての合致度が算出される場合について、図3(b)に示す番組Aの番組情報36と、図4に示すテーブル40を用いて、具体的に説明する。なお、図3(b)の番組情報36は、図3(d)のテーブル37の1レコード分の情報に相当する。
合致度算出部23は、番組情報36のジャンルがドラマなので、テーブル40から属性42が「ドラマ」のレコードを参照する。テーブル40には、ドラマの場合、キーワード種別として、「タイトル」、「出演者」および「単語」があるので、これらキーワード種別ごとのポイントの合計値を求める。番組情報36におけるキーワード「タイトルA」に関し、テーブル40におけるジャンルが「ドラマ」であるキーワード「タイトルA」のポイントは6であるから、キーワード種別「タイトル」ポイントの合計値は6となる。また、番組情報36におけるキーワード「俳優B」および「女優C」に関し、テーブル40における「俳優B」の嗜好ポイントは7、および「女優C」の嗜好ポイントは3であるから、キーワード種別「出演者」のポイントの合計値は10となる。
また、番組情報36におけるキーワード「単語D」および「単語F」に関し、テーブル40における「単語D」および「単語F」のポイントは共に80であるから、キーワード種別「単語」のポイントの合計値は160となる。
したがって、番組情報36に関し、各キーワード種別の合計値の総計から得られる合致度は、
6+10+160=176
となる。
以上の合致度算出の処理は、合致度の算出対象となる番組全てについて番組ごとに実施される。
このようにして番組ごとに求められた合致度を用いて、推薦順序決定部31は、表示部9に表示させるための推薦順序を決定し、推薦番組として表示されるべき推薦番組情報のデータおよびその推薦順序のデータを表示情報生成部8に送る。
表示情報生成部8は、受け取った推薦番組情報が、同じく受け取った推薦順序にて表示されるように、表示用データを生成する。この表示情報生成部8で生成された表示用データは、表示部9に表示されることにより、ユーザに提示される。これにより、推薦番組情報抽出部20により抽出された推薦番組情報は、推薦順序決定部31が決定した推薦順序に基づく表示順序にてユーザに提示される。
なお、合致度の算出方法は上記に限定されず、単純に、各番組のEPGデータ15にすでに含まれる番組特徴キーワードを用い、それについてのポイントの総計を合致度としてもよい。あるいは、キーワード種別ごとにポイントの平均値を算出し、その総計を合致度としてもよい。
以下番組推薦装置100について、図1を参照しながら、さらに詳細な説明を行う。
図1は、本実施の形態に係る番組推薦装置100の概略構成を示すブロック図である。
ここで、図1に示す各構成要素に付された符号は、図2の同じ符号が付された各構成要素に対応しているので、図2を用いて既に説明した同じ符号の構成要素については説明を省略する。
使用状況情報処理部7は、装置本体に接続されたテレビ放送受信機200などの視聴覚機器がどの番組を取り扱っているかという情報(使用状況情報)を取得して、その情報を元に、現時点で、そのユーザが注目していた番組(カレント番組)を特定するためのものである。使用状況情報処理部7は、上記視聴覚機器より、上記使用状況情報を取得するための使用状況情報取得部(使用状況情報取得手段)6と、取得された使用状況情報を元にその使用状況情報が示す番組がカレント番組であるか否かを判定するカレント番組判定部(カレント番組判定手段)18とを含んでいる。
使用状況情報取得部6は、テレビ放送受信機200などの、装置本体100aから接続可能な、各視聴覚機器(図示せず)から、それらの機器の、「現時点」の使用状況情報を取得するための手段である。ここで、視聴覚機器とは、番組情報データベース2を用いて、放送局などから送信される番組を取り扱い、ユーザに提供するもののことを広く指し、テレビ放送受信機200の他にも、録画再生装置、ラジオ放送受信装置などが含まれる。
カレント番組判定部18は、取得された使用状況情報を元にその使用状況情報が示す番組がカレント番組であるか否か、つまり、推薦番組表示指示信号17をユーザが入力した時点において、そのユーザが好んで視聴(注目)していた番組か否かを判定する。カレント番組と判定された番組の番組IDは、カレント番組キーワード取得部19へと供給される。
カレント番組キーワード取得部19は、上記カレント番組と特定された番組について、番組情報データベース2から該当する番組情報を参照し、そこからキーワードをカレント番組キーワードとして取得し、推薦順序決定部31に供給する。
以下、推薦番組表示指示信号17がユーザによって装置本体100aに入力されてから、カレント番組キーワードが推薦順序決定部31に供給されるまでの各構成要素の機能を、さらに詳細に説明する。
なお、本実施の形態においては、視聴覚機器として、テレビ放送受信機200と、視聴可能な放送番組を録画/再生するための録画再生装置(図示せず)とに、装置本体100aが接続されているものとする。
ユーザが、推薦番組表を表示するよう指示を送ると、推薦番組表示指示信号17が操作部100bを介して推薦番組情報抽出部20に入力される。これにより、推薦番組情報抽出部20が推薦番組抽出の処理を行う。さらに、推薦番組表示指示信号17は、使用状況情報処理部7の使用状況情報取得部6にも入力され、これにより、以下で詳述する、ユーザの「現時点」の嗜好を示す情報を推薦順序決定部31に供給するための一連の動作を行う。上述の通り、「現時点」とは、以下「推薦番組表示指示信号17が番組推薦装置100に入力された時点」を示す。
使用状況情報取得部6は、推薦番組表示指示信号17が入力されると、各視聴覚機器から図5に示すような使用状況情報50を取得する。図5は、本実施の形態における、使用状況情報取得部6が取得する、使用状況情報50のデータのモデルを示す図である。
使用状況情報50には、少なくとも、視聴覚機器が「どの」番組を、「どのように」取り扱い中か(あるいは取り扱ったか)、の2つの情報が含まれていればよい。これにより、ユーザが「現時点」でどの番組に注目しているのかを特定することができる。本実施の形態では、さらに、「いつ」取り扱いを開始したか(あるいは取り扱ったか)、の情報が含まれている。これにより、視聴覚機器の動作で、「同調中」などのように時間に幅のある動作の場合には、同調が開始されてから、「現時点」までどのくらい経過したかという情報や、ある時点で終了する動作の場合には、「視聴予約受付」がなされてから、どのくらい経過したかという情報についても、カレント番組を判定する上での判定材料とすることができ、判定の精度を向上させることができる。
なお、ここで「同調する」とは、各視聴覚機器が、ユーザが望む番組を取り扱うために、放送局が送信するその番組のデータを取得する際、チューナを用いて周波数を同調させることを指す。つまり、「同調している」とは、テレビ放送受信機であれば、番組を映し出している状態を指す。
本実施の形態では、図5(a)(b)に示す通り、使用状況情報50は、番組ID(「どの」)を格納するデータ領域51と、機器動作種別(「どのように」)を格納するデータ領域52と、タイムログ(「いつ」)を格納するデータ領域53とを含む。
本実施の形態においては、データ領域52に格納される「機器動作種別」は、<i>(テレビ放送受信機200が)放送中の番組に同調中、<ii>(テレビ放送受信機200が)視聴予約受付、<iii>(録画再生装置が)録画予約受付、のうちのいずれかの状況とする。
データ領域53に格納されるタイムログは、視聴覚機器が同調を開始した時点、または、視聴覚機器が予約を受け付けた時点の日時を示す。
図5(a)は、テレビ放送受信機200が、現時点で、番組ID「A24001」の番組に同調中であり、それが「2004/5/27 17:00:30」から開始されたことを示す、使用状況情報の図であり、図5(b)は、録画再生装置が、番組ID「A24002」の番組の録画予約を、「2004/5/27 16:58:50」に受け付けたことを示す、使用状況情報の図である。
ここで、データ領域51に格納される番組IDは、番組情報から各番組を一意に特定できるものであれば何でもよい。例えば、地上アナログ放送においては、Gコードを用いてもよいし、また、「放送局」と「開始日時」など、複数の項目の組み合わせで番組を一意に特定できるのであれば、データ領域51を複数設けてその組み合わせを「番組ID」として扱うこともできる。
次に、カレント番組判定部18は、使用状況情報取得部6から使用状況情報50が供給されると、それに基づき、カレント番組を判定する。以下、具体的な判定方法を図5(a)(b)、図6、および図7を用いて説明する。
図6は、本実施の形態におけるカレント番組判定部18の概略構成を示すブロック図である。カレント番組判定部18は、カレント番組を判定するのに用いる閾値(条件)を保持する、時間閾値保持部(時間条件保持手段)61と、データ領域53が示す時点から「現時点」までの経過時間を算出する、経過時間算出部(経過時間算出手段)62と、算出された経過時間と上記時間閾値とを比較する、経過時間比較部(時間比較手段)63とを含む。
<i>(テレビ放送受信機200が)放送中の番組に同調中
カレント番組判定部18は、図5(a)に示す使用状況情報50を受け取ると、データ領域51とデータ領域52とを解析し、「A24001」の番組(以下番組1)に同調中であると判断し、番組1をカレント番組の候補とする。他の判定方法では、この段階で、番組1をカレント番組と確定させてもよい。
本実施の形態では、さらに、経過時間算出部62が、データ領域53を解析し、「現時点」とデータ領域53が示す時点との差分から、テレビ放送受信機200が番組1に同調を始めてからどのくらい時間が経過したかを算出する。
次に、経過時間比較部63は、経過時間算出部62が算出した経過時間と、時間閾値保持部61に保持されている時間閾値とを比較し、比較結果をカレント番組判定部18に返す。カレント番組判定部18は、上記経過時間が、上記時間閾値を下回れば、番組1は充分に視聴されていないことから、番組1をカレント番組ではないと判定する。一方、上記経過時間が、上記時間閾値を上回れば、番組1は視聴されていると判断し、番組1をカレント番組であると判定し、その番組IDをカレント番組キーワード取得部19へ供給する。
上記構成によれば、判定の対象番組を、ユーザが視聴している視聴時間を推定し、それによって注目している番組かどうかを判断することができる。例えば、ユーザがテレビ放送受信機200の電源をONにし、対象番組が1分ほど流れてから推薦番組表示指示を出した場合、それはユーザが関心を持って視聴していたとは言いがたい。このような場合に、時間閾値を5分とすると、対象番組の視聴時間が5分より短く、そのことから対象番組についてユーザは注目していたわけではないと判断することが可能となり、より精度の高い判定を実施することができる。
さらに、カレント番組判定部18は、番組IDに基づき、対象番組を、番組情報データベース2を参照することで、その番組の「開始日時(または、終了日時)」を把握して、放送開始から「現時点」まで、放送時間が何分経過したか(経過放送時間)(または、「現時点」からあと何分で終了か(残り放送時間))を算出することにより、カレント番組の前後に放送された(される)番組についてもカレント番組か否かの判定をできるようにしてもよい。
この場合、図7に示す通り、カレント番組判定部18は、対象番組の前後の番組についてカレント番組を判定するのに用いる閾値を保持する、時間閾値保持部(時間条件保持手段)71と、番組情報データベース2より取得した対象番組の「開始日時(または、終了日時)」から「現時点」までの差分の絶対値により経過放送時間(または、残り放送時間)を算出する、放送時間算出部(放送時間算出手段)72と、算出された放送時間と上記時間閾値とを比較する、放送時間比較部(放送時間比較手段)73とを含む。
これにより、例えば、時間閾値を1分とすると、経過放送時間が1分以内であれば、その前に放送された番組も、ユーザは注目していた可能性が高いと判断し、対象番組とその直前に放送された番組とをカレント番組であると判定することが可能となる。あるいは、残り放送時間が1分を切れば、その次に放送される番組も、ユーザが視聴したいと考えている可能性が高いと判断し、対象番組とその次に放送予定の番組とをカレント番組であると判定することが可能となる。
一方、いずれの場合においても、時間の条件を満たさない場合は、カレント番組候補となった「現時点」で取り扱い中の番組のみをカレント番組と判定することになる。
以上のことから、より精度の高い判定を実施することができる。
<iii>(録画再生装置が)録画予約受付
カレント番組判定部18が、図5(b)に示す使用状況情報50を受け取ると、カレント番組判定部18は、データ領域51とデータ領域52とを解析し、「A24002」の番組(以下番組2)の録画予約が行われたと判断し、番組2をカレント番組の候補とする。他の判定方法では、この段階で、番組2をカレント番組と判定してもよい。
本実施の形態では、図6に示す通り、経過時間算出部62が、データ領域53を解析し、「現時点」とデータ領域53が示す時点との差分から、録画再生装置が番組2の録画予約を受け付けてからどのくらい時間が経過したかを算出する。
次に、経過時間比較部63は、経過時間算出部62が算出した経過時間と、時間閾値保持部61に保持されている時間閾値とを比較し、比較結果をカレント番組判定部18に返す。カレント番組判定部18は、上記経過時間が、上記時間閾値を上回れば、番組2が録画予約されてから、充分に長い時間が経過し、録画予約をしたユーザと、推薦番組表示指示を行ったユーザとは同一であるとはかぎらないことから、番組2をカレント番組ではないと判定する。一方、上記経過時間が、上記時間閾値を下回れば、番組2を録画予約したユーザと、推薦番組表示指示を行ったユーザとは同一である可能性が高いと判断して番組2をカレント番組であると判定し、その番組IDをカレント番組キーワード取得部19へ供給する。
視聴予約直後や録画予約直後といったデータについては、実際に再生や予約を終えてから何分(秒)以内であれば、「直後」である、と判定するための閾値は、任意に設定可能であるが、予約操作を終えてから推薦番組表示指示を出すまでのその間に、操作者が入れ替わることは考えにくいと思われるような、数秒〜数分程度の短い時間閾値である方が、判定の精度を向上させるためにも望ましい。
上述の<ii>の判定方法は、上記<iii>の判定方法とほぼ同様である。
なお、視聴覚機器が、EPGの番組情報を取得することにより、番組を録画し、それを電子的に記録するデジタル録画装置である場合は、さらに、上述した構成を用いて、<vi>(録画再生装置が)「録画再生中」と、<v>(録画再生装置が)「録画再生終了直後」とを動作種別として使用状況情報に加えることにより、カレント番組の判定を行うことができる。
<vi>の場合は、上記<i>と同様の方法にて、カレント番組の判定を行う。また、<v>の場合は、使用状況情報50のデータ領域53に、録画再生が終了した時点を格納するようにすれば、上記<iii>と同様の方法にて、録画再生終了時点と「現時点」との差分から、録画された番組の視聴をユーザが終了してから、どのくらい時間が経過したかを算出することができる。これにより、算出された経過時間が上記時間閾値よりも短い場合には、録画番組を再生して視聴していたユーザと、推薦番組表示指示を行ったユーザとは同一である可能性が高いと判断して、対象となる録画番組をカレント番組であると判定することができる。
なお、録画再生された番組の番組情報が、EPGに格納されている場合に、上記録画再生された番組をカレント番組として、そのカレント番組キーワードをEPGから取得することが可能となる。
以上のようにカレント番組判定部18にてカレント番組と判定された番組の番組IDは、カレント番組キーワード取得部19に供給され、カレント番組キーワード取得部19は番組IDに基づいて、番組情報データベース2からキーワードを取得し、それらをカレント番組キーワードとして、図1に示した推薦順序決定部31に供給する。
次に、カレント番組キーワードが、カレント番組キーワード取得部19により供給された後、抽出された推薦番組の推薦順序が推薦基準に基づき決定され、定められた順序で表示部9に表示されるまでの各構成要素の機能を、図1、図8、および図9を参照しながら、さらに詳細に説明する。
推薦順序決定部31は、推薦番組情報抽出部20より抽出された、各推薦番組情報およびその番組ごとの合致度と、カレント番組キーワード取得部19より供給された、カレント番組キーワードとから、推薦番組情報の推薦順序を決定するためのものである。
図8(a)に、番組情報データベース2から推薦番組情報として抽出され、番組ごとに合致度を示した推薦番組情報74を示す。推薦番組情報74は、推薦番組情報抽出部20から推薦順序決定部31へ供給されるデータの一例である。この推薦番組情報74の推薦順序を決定する方法を説明する。上述の合致度算出方法とテーブル40の嗜好情報とを例にして、本実施の形態では、番組1の合致度は102、番組2の合致度は173、番組3の合致度は150とする。
図8(b)に、カレント番組キーワード取得部19から供給されたカレント番組情報の一例を示す。本実施の形態では、カレント番組キーワード取得部19は、カレント番組キーワードだけではなく、番組情報データベース2に格納されている番組情報とほぼ同じように構成されたカレント番組情報70を、推薦順序決定部31に供給する。
ここで、カレント番組キーワード取得部19から推薦順序決定部31に供給されるカレント番組についての情報は、必ずしもこの構成である必要はない。カレント番組が有する各キーワードと、それらがどのキーワード種別にそれぞれ属しているのかということと、カレント番組がどのジャンルに属しているのかということとを、推薦順序決定部31が認識可能な構成であれば、いずれの情報を含む(あるいは含まない)構成であってもよい。
推薦順序決定部31は、供給されたカレント番組情報70から、「タイトル」、「出演者」、および「単語」に含まれるジャンル別キーワードを認識する。
図8(b)に示す通り、本実施の形態では、カレント番組Cのキーワードは、「タイトルI」、「単語D」、「単語E」、および「単語J」で、ジャンルは「スポーツ」である。
次に、推薦順序決定部31は、推薦番組情報74のうち、カレント番組Cと同じキーワードを含む番組の番組情報については、推薦順序を上位に上げることで、推薦順序を替える。このようにして、カレント番組と同じキーワードを含む推薦番組情報の推薦順序を上位にあげるときの本発明に係る推薦基準のことを「現嗜好順」と称す。
図8(a)に例示した3つの番組1〜3について、カレント番組Cのキーワードを用いて、推薦基準「現嗜好順」にて推薦順序を決定するための具体的な方法を以下に示す。
より具体的には、本実施の形態では、カレント番組キーワードの嗜好ポイントを用いて、番組ごとに、一致したキーワードの嗜好ポイントの、合計の高い順を「現嗜好順」とする方法を適用する。
まず、カレント番組Cのキーワードの嗜好ポイントを参照する。各キーワードの嗜好ポイントは、図4のテーブル40より、以下の通りである。
ジャンル「スポーツ」の「タイトルI」・・・0ポイント(登録なし)
ジャンル「スポーツ」の「単語D」・・・1ポイント
ジャンル「スポーツ」の「単語E」・・・95ポイント
ジャンル「スポーツ」の「単語J」・・・0ポイント(登録なし)
なお、ユーザ嗜好データベース1を参照した結果、キーワードに対して登録がない場合は、登録なしとして0ポイントとする。
次に、推薦番組情報74から番組情報ごとに一致したキーワードがないかを確認し、一致したキーワードについては、上述のように求めたポイントを合算する。
番組1には、ジャンル「スポーツ」の「単語D」および「単語E」が含まれるので、合計96ポイント、番組2には、一致したキーワードがないので合計0ポイント、番組3にも、一致したキーワードがないので合計0ポイントとなる。従って、本実施の形態では、推薦基準「現嗜好順」を適用すると、推薦順序は、番組1、番組2、番組3の順に決定される。
このように、カレント番組Cには、ジャンルが「スポーツ」の「単語D」および「単語E」がキーワードとして含まれるため、「単語D」および「単語E」を含む番組、つまりここでは、番組1の推薦順序が一番高くなる。カレント番組Cに含まれるキーワードを含む番組が他にない場合は、残った番組の中で、既に推薦番組情報抽出部20より供給された合致度を用いて、推薦基準「合致度順」に基づき推薦順序を決定するようにしてもよいし、または、推薦基準「放送開始順」に基づき推薦順序を決定してもよい。
従来技術に従って、推薦基準を「合致度順」のみとすると、番組2、番組3、番組1の順に並ぶ。また、推薦基準を「放送開始順」とすると、番組3、番組2、番組1の順に並ぶ。
以上のように、本発明に係る推薦基準「現嗜好順」を適用すると、従来の視聴頻度のみに基づく推薦順序とは異なり、「現時点」のユーザの注目番組のキーワードを反映したす緯線順序にて、番組推薦を行うことが可能となる。
上述のように、推薦順序決定部31は、図8(a)に示す推薦番組情報74の番組情報ごとに、カレント番組キーワードをどれだけ含んでいるかを比較し、カレント番組キーワードがより多く含まれている順(現嗜好順)にて推薦順序を決定し、その推薦順序を示すデータと、抽出された推薦番組情報を示すデータを表示情報生成部8へ供給する。
なお、上記カレント番組キーワードと一致するキーワードをどれだけ含んでいるかの測定方法については様々考えられる。例えば、単純に、一致するキーワード数で比較してもよい。あるいは、一致したキーワードを含むごとに点数を加点し、その得点を比較してもよい。点数により比較を行う場合は、キーワード種別ごとに重み付け係数を用意するなどして、よりユーザの嗜好を反映した、推薦基準「現嗜好順」を適用することも可能である。
表示情報生成部8では、上述のように、推薦順序決定部31より供給された推薦番組情報とその推薦順序に基づいて表示用データを作成し、表示部9に出力する。このとき、出力される推薦番組情報群のデータは、推薦基準「現嗜好順」に対応して、上から順に表示されるような表示用データである。そして、表示部9では、入力された表示用データが画面に表示されるので、ユーザは、番組推薦装置100が推薦する推薦番組の情報を、現嗜好順、すなわち、ユーザの今現在関心を持っている番組の順で、視認することが可能となる。
さらに、表示情報生成部8は、番組を強調表示させるための処理機能を備え、推薦基準「現嗜好順」を適用することによって、表示順位が上がる対象となった推薦番組(以下、優先推薦番組と称す)に対して、ユーザの視認性をより高めるために強調表示する画像処理を施してもよい。
なお、このような場合、推薦順序決定部31は、必ずしも「現嗜好順」にソートを行うための推薦順序の変更を行う必要はない。優先推薦番組を表示情報生成部8が識別できるように、優先推薦番組識別情報を付与するための機能を、推薦順序決定部31が備えてさえいればよい。
これにより、推薦基準「現嗜好順」を適用することで順位変動の対象となった番組に対するユーザの視認性を向上させることが可能である。
以上のことから、ユーザの関心が高いと判断された優先推薦番組を、よりユーザの目に付くように表示することが可能となり、結果としてユーザの嗜好をより正確に反映した推薦番組情報をユーザに提供することができる。
上記推薦基準「現嗜好順」を適用し、かつ優先推薦番組を、強調表示し、表示部9に表示した例を図9に示す。
図9に示す通り、表示部9の画面には、推薦基準「現嗜好順」その次に「合致度順」を適用された推薦番組情報群81と、推薦基準「現嗜好順」を適用することにより表示順位が上位に変動した優先推薦番組に対して付与される強調マーク82とが表示されている。
例えば、推薦順序決定部31によって、「プロ野球〜チームA×チームB」という番組の順位が上位に変動した場合、表示する際に強調マーク82を付与して表示することによって、ユーザに薦める推薦番組情報群の中でも特にお薦めの番組(つまり、ユーザの関心が高いと推定される番組)であることがわかるように表示できる。
なお、表示順序は従来どおり、推薦基準「放送開始順」、または「合致度順」で表示し、推薦順序決定部31で推薦順序が上位に変動すると指定された番組のみに、推薦番組の中で特にお薦めの優先推薦番組として、強調マーク82をつけて表示するのみでもよい。
また、強調方法は、マークをつける以外にも、優先推薦番組を別枠に表示をしたり、その文字に装飾処理(下線、太線、色を変える、大きさを変えるなど)を施したりするなどしてもよい。
このように、優先推薦番組を強調表示して表示部9するためには、推薦順序決定部31は、推薦基準「現嗜好順」を適用した際に、推薦順序の変動した優先推薦番組に対して、優先推薦番組情報識別子を付与して、表示情報生成部8へ供給する機能を備えていればよい。上記優先推薦番組情報識別子とは、表示情報生成部8がその識別子の付いている番組情報は、優先推薦番組であると識別できるような情報であれば何でもよい。
例えば、表示情報生成部8へと供給する推薦番組情報に優先推薦番組であるか否かを示すフラグのデータ領域を設け、そこに、通常の推薦番組情報であれば0を、推薦基準「現嗜好順」による優先推薦番組情報であれば1を格納するようにする。
次に、表示情報生成部8は、推薦番組情報と、推薦順序と、優先推薦番組情報識別フラグとに基づいて、表示部9に表示すべき表示用データを生成する。このときに、優先推薦番組情報識別フラグが1の推薦番組情報についてのみ、強調表示されるように、表示用データを生成することができる。
なお、強調表示の方法としては、上述の例以外にも、例えば、表示部9により点滅して表示されるように推薦番組情報を提示するようにしてもよい。
さらに、図9に示すように、「放送開始順」、「合致度順」、もしくは「現嗜好順」のいずれの推薦基準に基づき表示するのかを、ユーザ自身が選択できるようにするために、表示順序切替ボタン83を設けてもよい。
この場合、番組推薦装置100は、さらに、推薦順序決定部31に、ユーザが選択した推薦基準へ変更するよう指示する推薦基準変更指示部(推薦基準変更指示手段)32と、上記表示順序切替ボタン83を選択するための、すなわち、順序切替指示信号14を入力するための入力インターフェースを備えていればよい。本実施の形態では、操作部100bを用いて順序切替指示信号14を入力するものとする。
上記構成によれば、操作部100bを介してユーザより順序切替指示信号14が推薦基準変更指示部32に入力されると、推薦基準変更指示部32は、該指示信号が示す推薦基準へと推薦基準を変更するよう推薦順序決定部31に指示を送る。推薦順序決定部31は、送られた指示に基づき、推薦基準変更指示部32が指定する推薦基準へと推薦基準を変更し、変更後の推薦基準に基づいて、推薦順序を決定する。
これにより、ユーザが推薦基準変更指示部32を操作することが可能となり、ユーザは所望の推薦基準による推薦順序(例えば、放送開始順、合致度順、現嗜好順などで)を任意に切り替えて推薦番組情報を閲覧することができる。
結果として、ユーザが推薦番組情報を得るための利便性をより向上させた番組推薦装置を提供することが可能となる。
次に、本実施の形態における番組推薦装置100の各処理の流れを図10から図12のフローチャート、および図2のブロック図を参照しながら以下に説明する。
図10は、番組推薦装置100が、操作部100bを介して、ユーザからの指示信号(番組視聴指示信号16または推薦番組表示指示信号17)を受け付けたときの、各処理への移行の流れ、および、視聴頻度計数部10がユーザ嗜好データベース1を更新する処理の流れを示すフローチャートである。
ユーザより、操作部100bを介して、番組視聴指示信号16または推薦番組表示指示信号17が入力されると(S101のYes)、番組推薦装置100は、S102にて、指示信号の内容を判定する。入力された信号が番組視聴指示信号16であった場合、視聴頻度計数部10は、S103以降の視聴頻度計数処理に移行する。入力された情報が推薦番組表示指示信号17であった場合(S102のNo)、番組推薦処理に移行する(S121)。番組推薦処理のフローは後述する。
視聴頻度計数処理に移行すると、番組情報取得部12は、番組視聴指示信号16を受け付けた視聴情報受信部11によって示されるユーザ視聴番組の番組情報を、番組情報データベース2より参照して、キーワードを取得する(S103)。
次に、嗜好情報更新部13は、ユーザ視聴番組のジャンルを識別し(S104)、番組情報取得部12にて取得されたキーワードについて、ユーザ嗜好データベース1に格納されているキーワードの各属性データを更新する処理に移行する。
嗜好情報更新部13は、取得したキーワードのうち、属性データ更新が未処理のものがあるか否かを判定し(S107)、未処理のものがなければ視聴頻度計数処理を終了する。一方、未処理のものがあれば、未処理のキーワードのうち一つについて、キーワード種別の情報も取得し、そのキーワード種別のキーワードが、ユーザ嗜好データベース1に既に格納されているか否かを判定する(S108)。
上記の判定において、該キーワードがユーザ嗜好データベース1に既に格納されている場合には、視聴頻度を1計上し(S109)、最終視聴日を「現時点」へと更新し(S110)、S107に戻る。
S108において、該キーワードが、ユーザ嗜好データベース1に格納されていない場合、該キーワードの新規レコードをユーザ嗜好データベース1に追加可能か否かを判断する(S111)。この判断は、例えば、ユーザ嗜好データベース1を格納するメモリの許容量に基づいて行う。
上記S111の判断の結果、レコード追加が可能であれば、該キーワード、およびS104で識別したジャンルにてレコードを1つ追加し、該レコードについての残りの属性データも追加する。(S113)。
一方、S111において、レコード追加不可と判断された場合には、既に格納されているキーワードのレコードを一つ削除する(S112)。
上記レコード削除により、新規レコードの追加が可能となり、その後、S107に戻る。
次に、S102にて、入力された信号が推薦番組表示指示信号17であった場合に移行する、番組推薦処理S121の流れを図11のフローチャートに基づいて説明する。
番組推薦処理S121に移行すると、まず、嗜好ポイント算出部22は、ユーザ嗜好データベース1の嗜好情報において、嗜好ポイント算出が未処理のキーワードがあるか否かを判定し(S201)、なければS205以降の処理に進む。一方、未処理のキーワードがあれば、そのうちの一つを取得し、嗜好ポイントを算出する(S202)。
続いて、合致度算出部23は、番組情報データベース2に格納されている番組情報について、合致度算出が未処理の番組情報があるか否かを判定する(S205)。
未処理の番組情報があれば、そのうちの一つを取得して、番組情報データベース2を参照して該番組情報のジャンルを識別し(S206)、該番組情報に含まれているキーワードを取得する(S207)。
次に、合致度算出部23は、S207にて取得したキーワード全てについてジャンル別にユーザ嗜好データベース1から検索し、検索したキーワードの嗜好ポイント全てを合算し、合致度を算出する(S208)。
上記各ステップにて、未処理の番組情報がなくなると、推薦番組情報抽出部20は、図8(a)に示したような、合致度を番組情報ごとに含む、推薦番組情報74を推薦順序決定部31に供給し(S209)、使用状況情報処理に移行する(S210)。S210のフローは後述する。
上記S210の処理にて、カレント番組キーワードが推薦順序決定部31に供給されると、推薦順序決定部31は、推薦基準「現嗜好順」にて推薦順序を決定し、決定した推薦順序と、優先推薦番組識別情報とともに、推薦番組情報を表示情報生成部8に供給する(S211)。続いて、表示情報生成部8は、指定された推薦順序で、かつ優先推薦番組に対して強調して表示されるよう、表示用データを出力する(S212)。最後に、表示部9に表示用データを表示する(S213)。
なお、上記使用状況情報処理S210は、図11に記載した順序で必ずしも実施される必要はなく、図10の番組推薦処理S121以降、推薦順序決定(S211)までの間であれば、任意のステップの間に挿入されて(あるいは並列で)、実行されてもよい。
続いて、図1および6を参照しながら、カレント番組を判定し、カレント番組キーワードを推薦順序決定部31へ供給する使用状況情報処理S210の流れを図12のフローチャートに基づいて説明する。
使用状況情報処理S210に移行すると、まず、使用状況情報取得部6は、使用状況情報を各視聴覚機器から取得する(S301)。次に、カレント番組判定部18は、使用状況情報の内容を解析し、番組ID、機器動作種別、およびタイムログを取得する(S302)。
その後、カレント番組判定部18は、S303にて機器動作種別を判定する。カレント番組判定部18が機器動作種別は「同調中」を示すと判定した場合、経過時間算出部62は、上記タイムログと現時点との差分から経過時間を算出する(S304)。ここで、経過時間比較部63は、時間閾値保持部61で保持する時間閾値と上記経過時間とを比較し、比較結果をカレント番組判定部18に返す(S305)。上記比較の結果、カレント番組判定部18は、経過時間が時間閾値を上回る場合は、カレント番組と判定し(S306)、下回る場合は、カレント番組ではないと判定する(S307)。
一方、S303において、カレント番組判定部18が、機器動作種別は「予約受付」を示すと判定した場合、同じく経過時間算出部62は、上記タイムログと現時点との差分から経過時間を算出する(S310)。ここで、経過時間比較部63は、時間閾値保持部61で保持する時間閾値と上記経過時間とを比較し、比較結果をカレント番組判定部18に返す(S311)。上記比較の結果、カレント番組判定部18は、経過時間が時間閾値を下回る場合は、カレント番組と判定し(S306)、上回る場合は、カレント番組ではないと判定する(S307)。
続いて、S308にて、まだ判定を終えていない使用状況情報があるか否かを判断する。未判定の使用状況情報があれば、S302以降の上述の処理を繰り返す。一方、全ての使用状況情報について判定を終えたと判断すれば、カレント番組判定部18は、カレント番組と判定したすべての番組についての番組IDを、カレント番組キーワード取得部19に供給する。カレント番組キーワード取得部19は、それに基づき番組情報データベース2からカレント番組キーワードを取得して、それらを推薦順序決定部31に供給する(S309)。
これまで述べてきたように、本発明の番組推薦装置を用いれば、「現時点」でユーザが注目している番組(カレント番組)に類似した番組から順にユーザに推薦番組を提示することができる。類似した番組は、ユーザにとって、今現在関心の高い、また好みの番組であると言える。
ユーザは、過去にどのような番組を視聴したかを全て記憶しているわけではなく、また視聴した番組の番組情報を記憶していないので、どのようなキーワードがどのようなポイントで蓄積されているか正確に把握していない。このような理由から、推薦された番組がなぜ推薦されたのかユーザは分からないという事態が生じ、そのような事態を招くということは、ユーザ嗜好に合致した番組推薦が行われているとは言えない。
例えば、サッカーに興味のないユーザが、サッカーのワールドカップ開催の時期に乗じて、一時期にサッカーの試合を集中的に視聴したとする。このような特殊なケースでも、番組推薦装置は例外的な処理を行うことなく、視聴の度に、「スポーツ」や「サッカー」に関連するキーワードの視聴頻度を計上することになる。その結果、通常であればユーザの関心は高くない「スポーツ」や「サッカー」の嗜好ポイントが、短期間で高くなってしまう。
このような場合、開催時期が終わり、ユーザの視聴パターンも通常に戻ったとしても、ユーザ嗜好データベース1の内容に急な変化は起こらない。ここで、推薦番組表示指示を従来の番組推薦装置に行った場合、ユーザの好みではない、「スポーツ」や「サッカー」の番組が推薦されてしまう。
一方本発明に係る番組推薦装置は、カレント番組キーワード(つまり、ユーザが今現在関心を持って視聴している番組のキーワード)を含む番組ほど、表示順位を上位にして推薦番組を表示することができるので、ユーザにとって嗜好に合致した精度の高い推薦を行うことが可能である。
複数で機器を共有している場合にも有効である。例えば、あるユーザAはスポーツのジャンルの番組しかみないが、ユーザA以外の他のユーザがドラマのジャンルの番組をユーザAよりもはるかに多くの回数を視聴していた場合、視聴回数の少ないスポーツの番組は、従来のように、推薦番組を、常時合致度順に並べる方法では表示されない可能性がある。表示されたとしても、推薦番組の数が多く、その下位の方に表示される場合は、ユーザAによって、その下位の方まで推薦番組が視認される可能性は低い。結果として、このような推薦番組表に対して、ユーザAは、自分の嗜好が反映されていないと感じ、精度の低い番組推薦が行われているものと判断してしまう。
これに対して、本発明に係る番組推薦装置は、ユーザAがスポーツのジャンルの番組を視聴している時に、推薦番組表示指示があった場合、ユーザAが好んでいるスポーツのジャンルの番組から上位に表示される。
従って、ユーザ自身が関心を持って視聴していた番組に類似した番組を上位に表示させることが可能である。このようにして、複数で機器を共有している場合にも、従来一般的な各自を識別する機構を別途設ける必要なく、利用している人にとって都合の良い番組推薦を行うことが可能である。
以上のことから、番組推薦装置の使用時間が経過しても、ユーザの嗜好を常に反映した推薦番組情報を提示することが可能となる。
次に、上述の番組推薦装置が、さらに、番組の推薦範囲をユーザが任意に設定できる入力インターフェースを備え、ユーザにとっての、推薦番組情報を得るための利便性をより向上させた番組推薦装置について説明する。
〔実施形態2〕
次に、本発明の別の実施の形態について、説明すれば以下の通りである。なお、本実施の形態では、実施形態1と同じくテレビ放送受信機200に適用し、番組推薦装置300がさらに、上記嗜好ポイントを、合致度算出時に選択的に用いるための、嗜好ポイント閾値をユーザが自由に設定できるようにするためのユーザインターフェースを備えて、番組推薦を行う例について説明する。
図13は、本実施の形態に係る番組推薦装置300の概略構成を示すブロック図である。
ここで、図13に示す各構成要素に付された符号は、図1の同じ符号が付された各構成要素に対応しているので、図1を用いて既に説明した同じ符号の構成要素については説明を省略する。
図1に示す番組推薦装置100と異なる点は、番組推薦装置300は、操作部(指示信号入力手段、順序切替指示信号入力手段、条件設定手段)300bを備え、また、装置本体300aは、ポイント閾値保持部(条件設定手段)24をさらに備えているという点である。
操作部300bは、上記嗜好ポイント閾値をユーザが自由に設定できるようにするための手段であり、その点以外は、操作部100bと同様である。
ポイント閾値保持部24は、操作部300bを介して入力されるポイント閾値設定信号25を保持するための手段であり、合致度算出部23によって、合致度算出時に参照される。
上記構成から、ユーザは、合致度を算出する際に用いる嗜好ポイントの条件を自由に設定できるようになる。結果として、条件を高く設定すれば、ユーザの関心の薄い番組が誤って推薦されるのを回避できる可能性が高まる(狭い範囲の推薦)。逆に、条件を低く設定すれば、特定のユーザの嗜好に偏った番組推薦ではなく、複数のユーザにとって、嗜好を均一的に反映した番組推薦を行うようにすることもできる(広い範囲の推薦)。
なお、ポイント閾値の設定方法について、本実施の形態では、狭い範囲の推薦モードと、広い範囲の推薦モードとの2つを用意し、それをユーザに操作部300bを用いて、選択させることにより、嗜好ポイントの条件をユーザが設定する構成であるが、これに限らない。例えば、任意の数値を設定し、合致度算出部23がその数値を参照するようにしてもよい。
なお、狭い範囲の推薦とは、特にユーザが好んでいると推測される番組のみを推薦することであり、視聴頻度の高いキーワードのみを利用して推薦する(閾値を高めに設定する)。このとき、推薦する番組は少なくなる。
逆に、広い範囲の推薦とは、ユーザが好んでいる可能性のある番組をできる限り多く推薦することであり、視聴頻度の低いキーワードも利用して上記の推薦よりも多くのキーワードを利用して推薦する。このとき、推薦する番組は多くなる。
次に、合致度算出時に、ポイント閾値保持部24から、有効なキーワードとするポイント閾値を参照し、それを利用して合致度算出する方法を説明する。
ポイント閾値保持部24には、合致度算出時に有効なキーワードとして利用するキーワードの嗜好ポイントの数値を閾値として格納する。具体的には、広い範囲の推薦を行うよう設定された場合は、低い数値、狭い範囲の推薦を行うよう設定された場合は、高い数値が格納されるようにする。また、初期値として、上記のいずれかの数値をあらかじめ格納しておいてもよいし、標準モードとしてあらかじめ設定した標準的な数値を準備しておいてもよい。
上記2つの推薦モードと、その設定のときの数値(閾値)の対応付けは、例えば、広い範囲の推薦を行うときにはN、狭い範囲の推薦を行うときにはM(N<M)と値をあらかじめ固定しておく。本実施の形態では、Nを5、Mを85とする。
従って、ユーザが操作部300bを用いて、広い範囲の推薦モードを設定すれば、数値5がポイント閾値保持部24に格納され、狭い範囲の推薦モードを設定すれば、数値85がポイント閾値保持部24に格納される。
あるいは、他の閾値設定方法では、視聴頻度の最高値に対してA%(A<100)の値を閾値として動的に決定してもよいし、ポイントの高い順にキーワードを並べたときにB%(B<100)以上の順位のキーワードのポイントを閾値としてもよい。
また、さらに他の方法では、上記ポイント閾値は、機器を複数で共有するか、単独で使用するかによって設定されてもよい。この場合、複数で共有する場合は、広い範囲の推薦を行うことによって、全員の嗜好をもれなくカバーした推薦ができるようになる。単独で使用する場合は、狭い範囲の推薦を行うことによって、視聴頻度が少なく好みかどうかはっきりわからないようなキーワードは利用せず、視聴頻度がある程度蓄積された好みである可能性が高いキーワードのみを利用する。
このようにして、好みに合致する番組を多く、合致しない番組を少なく、推薦できるようにする。この場合のポイント閾値設定信号25は、ユーザもしくは装置本体300aによって指定される。装置本体300aが指定する場合、例えば機器が単独で利用される可能性の高い、パーソナルコンピュータの場合は単独の使用とし、機器が複数で共有する可能性の高いテレビ放送受信機の場合は複数の使用と自動的に指定するようにしてもよい。
ここで、実施の形態1で用いた、図4のテーブル40を参照して、ポイント閾値保持部24の閾値に基づき、図3(b)の番組情報36の合致度を算出する方法について具体例を用いて説明する。
ポイント閾値保持部24に、広い範囲の推薦を行うよう設定された場合の閾値5が格納されているとする。
実施の形態1と同様の方法で、推薦番組表示指示信号17が番組推薦装置300に入力されると、推薦番組情報抽出部20の嗜好ポイント算出部22は、嗜好ポイントを算出する。
次に、合致度算出部23は、番組情報36の嗜好ポイント取得の前に、ポイント閾値保持部24を参照する。ここで、閾値5を取得する。
そして、番組情報36について、以下のように、ジャンルごと、かつキーワード種別ごとに嗜好ポイントの合計値を求める。
キーワード「タイトルA」・・・ポイント6(6≧5より有効)
タイトルAの6ポイントは、閾値5以上であるから有効なキーワードとなり、キーワード種別「タイトル」のポイントの合計値は6となる。
キーワード「俳優B」・・・ポイント7(7≧5より有効)
キーワード「女優C」・・・ポイント0(3)(3<5より無効)
キーワード種別が「出演者」の「俳優B」および「女優C」に関し、テーブル40における俳優Bのポイントは7、および女優Cのポイントは3であるから、女優Cのポイント3は閾値5未満であるので無効となり女優Cのポイントは0となる。従って、キーワード種別が出演者のポイントの合計値は7となる。
キーワード「単語D」・・・ポイント80(80≧5より有効)
キーワード「単語F」・・・ポイント80(80≧5より有効)
また、テーブル40の「単語D」および「単語F」のポイントは共に80であるから、キーワード種別「単語」のポイントの合計値は160となる。
以上より、番組情報36に関し、広い範囲の推薦モードが選択された場合の、各キーワード種別の合計値の総計から得られる合致度は、
6+7+160=173
となる。
なお、狭い範囲の推薦モードが選択された場合、有効なキーワードが少なくなり、合致度が0より大きくなる番組が少なくなる。例えば、上記番組情報36の例でも、合致度は0と算出される。推薦順序決定部31では、少なくとも合致度が0より大きい番組を推薦の対象とするので、嗜好ポイントの低いキーワードのみを数多く番組情報に含んでいても、その番組が推薦されないことになる。嗜好ポイントが極端に高いキーワードを有する番組は、嗜好ポイントの低いキーワードたくさん含む番組よりも、ユーザに好まれている可能性が高いと推測できることから、ポイントの高いキーワードのみを利用して推薦された番組には、推薦される番組数は少ない代わりに、ユーザの嗜好と合致する番組の占める割合が高い推薦番組表をユーザに提示することができる。
図14〜図16は、番組推薦装置300が、操作部300bを介して、ユーザからの指示信号を受け付けたときの、各処理への移行の流れ、および、各処理の流れを示すフローチャートである。
以下、図13のブロック図を参照しながら、番組推薦装置300の各処理の流れを図14〜図16に基づき説明する。
ユーザより、操作部300bを介して、番組視聴指示信号16、推薦番組表示指示信号17、またはポイント閾値設定信号25が入力されると(S401のYes)、番組推薦装置300はS402にて、指示信号の内容を判定する。入力された信号が番組視聴指示信号16であった場合、視聴頻度計数部10は、S403以降の視聴頻度計数処理に移行する。
次に、入力された信号が番組視聴指示信号16以外であった場合、番組推薦装置300は、S405において、入力された信号が推薦番組表示指示信号17かポイント閾値設定信号25かを判定する。ここで、ポイント閾値設定信号25であると判定された場合、ポイント閾値設定信号25が示す推薦モードに対応付けられた、閾値としての数値がポイント閾値保持部24に格納される(S406)。入力された情報が推薦番組表示指示信号17であった場合(S405のNo)、番組推薦処理に移行する(S421)。
視聴頻度計数処理について実施の形態1(図10のS103以降)と同様であるので、ここでは説明を省略する。
次に、S405にて、入力された信号が推薦番組表示指示信号17であった場合に移行する、番組推薦処理S421の流れを図15のフローチャートに基づいて説明する。
番組推薦処理に移行すると、まず、推薦番組情報抽出部20は、S501〜S508において、番組ごとに合致度を算出する。
S501〜S507の処理については、実施の形態1(図11のS201〜S207)と同様であるので、ここでは説明を省略する。S507の処理を終えると、合致度算出処理S508へ移行する。
図16に、合致度算出部23が合致度を算出するときの処理の流れを示す。
まず、合致度算出部23は、ポイント閾値保持部24を参照し、閾値を取得する(S601)。
次に、合致度算出部23は、S207にて取得したキーワード全てについてジャンル別にユーザ嗜好データベース1から検索し、その嗜好ポイントを取得する(S602)。
取得した全ての嗜好ポイントについて、そのポイントが閾値以上であるか否かを判定し(S603)、閾値以上であれば、その嗜好ポイントをそのまま取得する(S604)。もし、閾値を超えていない場合には、その嗜好ポイントを0として取得する(S605)。S606にて、まだ判定が終わっていない嗜好ポイントがあるか否かを判断し、未処理の嗜好ポイントがあれば、S603に戻る。また、全ての嗜好ポイントについて判定が終了すれば、S604およびS605にて取得した嗜好ポイントを合算し、合致度を算出する(S607)。
合致度算出処理S508が終了すると、図15のS505にて、推薦番組情報抽出部20は、合致度算出処理が未処理の番組があるか否かを判断する。すべての番組情報について合致度が算出したと判断すると、推薦番組情報抽出部20は、図8(a)に示したような、合致度を番組情報ごとに含む、推薦番組情報74を推薦順序決定部31に供給し(S509)、使用状況情報処理に移行する(S510)。S509以降のフローは実施の形態1(図11のS209〜S213)と同様であるので、ここでは説明を省略する。
上記構成によれば、ユーザにより、操作部300bを介して設定されたポイント閾値はポイント閾値保持部24に保持される。そして、実施形態1と同様、操作部300bからの推薦番組表示指示信号17を受け付けてから、合致度算出部23がユーザの嗜好との合致度を算出する際に、ポイント閾値保持部24のポイント閾値を参照する。合致度算出部23は、嗜好ポイント算出部22にて算出された嗜好ポイントのうち、上記ポイント閾値以上の条件を満たす嗜好ポイントのみを合致度算出に用いる。
これにより、ユーザは、合致度を算出する際に有効となるキーワードの嗜好ポイントの閾値を自由に設定することが可能となる。
また、本発明の番組推薦装置300は、ユーザに推薦する番組を、現在視聴している番組に類似した番組から表示することによって、ユーザにとって推薦理由がわかりやすく、今現在注目している番組に類似した番組から表示されるのでタイムリーな推薦が可能である。
その上、複数のユーザで共有していても、今現在の視聴の状態にあわせて表示順位を入れ替えることによって、今現在利用しているユーザの嗜好に合致した番組ほど上位に表示させることが可能となる。従って、識別情報登録や入力などの、煩わしい操作をユーザに強いることなく、共有する全てのユーザにとって都合のよい推薦番組表を提示することが可能である。
さらに、どのような範囲で推薦するかユーザが設定できることで、狭い範囲の推薦モードを指定するユーザには、嗜好ポイントの極端に高いキーワードのみを利用した、嗜好に合致する確立が非常に高い、番組のみを推薦番組として提示し、一方、広い範囲の推薦モードを指定するユーザには、嗜好ポイントの低いキーワードも利用した、嗜好の合致度が均一化された番組推薦を行うことができる。以上のことから、複数のユーザで装置本体を使用する場合にも対応した、精度の高い番組推薦を行うことが可能である。
なお、本発明の各実施の形態においては、EPG受信部4は、図3(a)に示すとおり、開始日時情報、終了日時情報、放送局情報、ジャンル情報、タイトル情報、出演者情報、および、番組詳細説明情報といった各種情報を一度に取得する構成を説明したが、これに限定されるものではない。
例えば、一度に上記各種情報全てを取得せずに、ユーザや装置本体からの指示を受け付けることによって、残りの各種情報を取得する構成としてもよい。つまり、複数の段階を経て番組情報を取得する構成としてもよい。この一例としては、まず、開始日時情報、終了日時情報、放送局情報、ジャンル情報、および、タイトル情報を取得し、ユーザ等からの指示を受け付けた場合に、残りの出演者情報と番組詳細説明情報とを取得する構成が挙げられる。
この構成においては、開始日時情報、終了日時情報、放送局情報、Gコードなど放送番組を特定できる番組IDに基づき、複数のサーバから、放送番組の詳細な番組情報を取得すると共に、複数のサーバからの番組情報を、キーワード抽出の対象として利用してもよい。
また、本発明に係る番組推薦装置は、複数のユーザで機器を共有する場合にも効果を発揮する。例えば、複数のユーザで機器を共有する状況で、複数のユーザの嗜好がばらばらな場合、利用している人数、ユーザが識別できないと、適正な推薦ができない。複数のうちのあるユーザに対して番組を推薦する際に、そのユーザが視聴していない番組の番組情報に含まれるキーワードによって推薦された番組は、そのユーザの嗜好に合致していない可能性が高いからである。
そこで、使用中の人を識別するために、操作時もしくは履歴蓄積時に識別情報を入力し、識別ID毎に履歴を蓄積、学習するといった技術が一般に用いられるが、ユーザに識別情報の登録、入力などの負担がある。また、複数のユーザで同じ番組を同時に視聴していた場合、操作時に識別したユーザだけでなく、視聴しているユーザ全員の履歴に反映させないと正しくユーザの嗜好が蓄積されないので、ユーザ毎にリモコンや操作ボタンを設けたりするような操作時に識別する方法だけでは、複数のユーザで利用する際の問題が解消されない。結果として、複数のユーザ全員の嗜好を反映した番組推薦を行うことができない。
これに対して、本発明の番組推薦装置は、複数のユーザで共有していても、「現時点」の視聴状況に合わせて推薦順位を入れ替えることによって、今現在利用しているユーザの嗜好に合致した番組ほど上位に表示させることが可能となる。従って、識別情報登録や入力などのユーザの負担なしに、共有するユーザひとりひとりにとって都合のよい番組推薦を行うことが可能である。
さらに、本発明の番組推薦装置は、今現在の視聴の状態に合わせて推薦番組の表示順位を変更して表示することによって、ユーザにとって推薦理由がわかりやすい番組推薦を可能にする。今現在ユーザが注目している番組(カレント番組)を推定し、その番組が持つ番組属性に近い番組から順に抽出された番組を表示する。これにより、今現在ユーザが注目している番組に比較的近い番組から順に表示されるので、ユーザに推薦理由をわかりやすくさせることが可能である。また、注目している番組に近い番組から順に表示されるので、現在興味が向いている番組が上位に表示され、タイムリーな推薦が可能である。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
なお、上記実施形態の番組推薦装置の各部や各処理ステップは、CPUなどの演算手段が、ROM(Read Only Memory)やRAMなどの記憶手段に記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力手段、あるいは、インターフェース回路などの通信手段を制御することにより実現することができる。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の番組推薦装置の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
この記録媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、例えばROMのようなものがプログラムメディアであっても良いし、また、図示していないが外部記憶装置としてプログラム読み取り装置が設けられ、そこに記録媒体を挿入することにより読み取り可能なプログラムメディアであっても良い。
また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセスして実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプログラムは予め本体装置に格納されているものとする。
また、上記プログラムメディアとしては、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスクやCD/MO/MD/DVD等のディスクのディスク系、ICカード(メモリカードを含む)等のカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する記録媒体等がある。
また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する記録媒体であることが好ましい。
さらに、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記録媒体からインストールされるものであることが好ましい。
本実施の形態に係る番組推薦装置は、実質的には、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図16に、本発明の番組推薦装置100または番組推薦装置300を実現するための、コンピュータシステム500の内部構成を示す。
図17を参照して、このコンピュータシステム500は、光ディスクドライブ501および磁気ディスクドライブ502を有するコンピュータ520と、モニタ503と、リモコン504とを含む。
コンピュータ520は、光ディスクドライブ501および磁気ディスクドライブ502に加えて、リモコン504からの信号を受信するリモコンインタフェース(I/F)505と、CPU(中央処理装置)506と、リモコンインタフェース505、CPU506、光ディスクドライブ501および磁気ディスクドライブ502に接続されたバス507と、バス507に接続され、ブートアッププログラム等を記憶する読出専用メモリ(ROM)508と、同じくバス507に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ(RAM)509とを含む。
ここでは示さないが、コンピュータ520はさらにローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでもよい。
コンピュータシステム500に番組推薦装置100または番組推薦装置300の機能を実現させるためのプログラム、EPGデータ15、および使用状況情報50はいずれも、光ディスクドライブ501または磁気ディスクドライブ502に挿入される光ディスク510または磁気ディスク511に記憶され、さらにハードディスク512に転送される。または、プログラム、EPGデータ15、および使用状況情報50は図示しないネットワークを通じてコンピュータ520に送信され、ハードディスク512に記憶されてもよい。プログラムは実行の際にランダムアクセスメモリ509にロードされる。光ディスク510から、磁気ディスク511から、またはネットワークを介して、直接にランダムアクセスメモリ509にプログラムをロードしてもよい。
このプログラムは、コンピュータ520に本実施の形態に係る番組推薦装置の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ520上で動作するオペレーティングシステム(OS)またはサードパーティのプログラム、若しくはコンピュータ520にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムは各実施の形態に係る番組推薦装置の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記各番組推薦装置の制御を実行する命令のみを含んでいればよい。コンピュータシステム500の動作は周知であるので、ここでは繰り返さない。
なお、番組推薦装置の機能を実現するためのプログラム、EPGデータ15、および使用状況情報50が記録される記録媒体は、CD−ROM(コンパクトディスク読取専用メモリ)、MO(Magneto−Optical disc)、MD(Mini Disc)、およびDVD(Digital Versatile Disc)等の光ディスク510、FD(フレキシブルディスク)およびハードディスク等の磁気ディスク511に限らない。磁気テープおよびカセットテープ等のテープ、IC(Integrated Circuit)カードおよび光カード等のカード型記録媒体、並びにマスクROM、EPROM(Erasable Programable ROM)、EEPROM(Electrically Erasable Programable ROM)、およびフラッシュROM等の半導体メモリのいずれかでもよい。ただし、コンピュータシステム500は、これら記録媒体からの読出を行うための読出装置を実装する必要がある。