(57)【要約】【課題】  ジャンルを考慮したユーザの嗜好に適合した番組を適切に推薦する。【解決手段】  番組推薦装置は、受信可能な各番組についての番組案内データを格納する番組案内データ格納部８と、番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ参照部９およびジャンル識別部１０と、抽出された情報およびユーザ情報に基づいて、キーワード、このキーワードのジャンル、キーワードのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ更新部１１と、ユーザデータ格納部１２と、ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する嗜好ポイント算出部１４、合致度算出部１５および表示情報生成部１６を備える。【選択図】  図１
2006094018.tif 000002
【特許請求の範囲】
【請求項１】
受信可能な各番組についての番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目を抽出する番組データ抽出手段と、
前記番組データ抽出手段により抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成手段と、
前記ユーザデータの評価値に基づいて推薦番組を決定する推薦番組決定手段とを備えていることを特徴とする番組推薦装置。
【請求項２】
受信可能な各番組についての番組案内データを格納する番組案内データ格納手段と、
前記番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ抽出手段と、
前記番組データ抽出手段により抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成手段と、
前記ユーザデータを格納するユーザデータ格納手段と、
前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する推薦番組決定手段とを備えていることを特徴とする番組推薦装置。
【請求項３】
前記推薦番組決定手段にて決定された推薦番組を表示する推薦番組表示手段をさらに備えていることを特徴とする請求項１または２に記載の番組推薦装置。
【請求項４】
前記ユーザ情報はユーザが視聴した番組を示す情報を含み、前記評価値は、ユーザが視聴した番組の前記番組案内データでのキーワードの出現回数の積算値であることを特徴とする請求項２に記載の番組推薦装置。
【請求項５】
前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、
前記評価値算出手段は、前記番組案内データ中におけるキーワードの表記順序に基づいて第１の評価値に重み付けを行い、第２の評価値を算出することを特徴とする請求項２に記載の番組推薦装置。
【請求項６】
前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、
前記番組案内データは番組の出演者について番組での役割を示す役割情報を含んでおり、
前記評価値算出手段は、番組案内データにおける前記役割情報に基づいて、キーワードとしての出演者の第１の評価値に重み付けを行い、第２の評価値を算出することを特徴とする請求項２に記載の番組推薦装置。
【請求項７】
前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、
前記評価値算出手段は、第１の評価値に重み付けを行って第２の評価値を算出するとともに、前記重み付けの量をキーワードが属する番組のジャンルに応じて変更することを特徴とする請求項２に記載の番組推薦装置。
【請求項８】
前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、
前記評価値算出手段は、所定のジャンル内において、第１の評価値が最も高いキーワードについての評価値のみを有効とし、それ以外のキーワードの評価値を無効として第２の評価値を算出することを特徴とする請求項２に記載の番組推薦装置。
【請求項９】
前記番組データ抽出手段は、番組のジャンルがドラマもしくは映画である場合に、キーワードとして、番組案内データでの表記順位が所定のＮ番目までの出演者のみを抽出することを特徴とする請求項２に記載の番組推薦装置。
【請求項１０】
受信可能な各番組についての番組案内データよって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目を抽出する番組データ抽出ステップと、
前記番組データ抽出ステップにより抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成ステップと、
前記ユーザデータの評価値に基づいて推薦番組を決定する推薦番組決定ステップとを備えていることを特徴とする番組推薦方法。
【請求項１１】
受信可能な各番組についての番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ抽出ステップと、
前記番組データ抽出ステップにより抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成ステップと、
前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する推薦番組決定ステップとを備えていることを特徴とする番組推薦方法。
【請求項１２】
請求項１から９のいずれか１項に記載の番組推薦装置を動作させるためのプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【請求項１３】
請求項１２に記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばテレビジョン番組の番組情報（ＥＰＧ：Electronic Program Guide）を利用し、ユーザに対して番組を推薦する番組推薦装置、番組推薦方法、プログラムおよびそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来から、ユーザの番組視聴に伴う操作に基づいてユーザの番組に対する嗜好度合いを判断し、ユーザに対して視聴する番組を推薦するシステムが知られている。例えば、特開２００２−１４２１６０公報には、ＥＰＧのテキスト情報を利用して、ユーザに対して番組を推薦するシステムについて開示されている。具体的には、ユーザが視聴した番組のＥＰＧテキスト情報を分解し、これによって得られたキーワードを蓄積し、キーワードの種別とキーワードの視聴頻度（そのキーワードを含む番組についての視聴頻度）などのパラメータに基づいて、キーワードに対するユーザの嗜好度合いを表す嗜好ポイントを算出し、算出された嗜好ポイントに基づいてそのキーワードを含む番組を推薦している。
【０００３】
この構成におけるユーザの視聴履歴の格納例を図９に示す。同図の例では、ユーザが視聴した番組のＥＰＧテキスト情報から、番組のタイトル、出演者、およびジャンル（例えばドラマやスポーツなど）をキーワードとして抽出し、これら各キーワードにキーワードの種別を設定し、各キーワードの視聴頻度を格納する。キーワードや視聴頻度は、ユーザが番組を視聴する度に更新する。なお、キーワードの種別とは、番組のタイトル、出演者、番組のジャンル、ＥＰＧテキスト情報に含まれる単語などが考えられる。
【０００４】
各キーワードについての嗜好ポイントは上記視聴頻度に基づいて算出され、嗜好ポイントが高いほどそのキーワードに対する嗜好度合いが強いと判断される。したがって、番組を推薦する際には、嗜好ポイントの高いキーワードを多く含む番組を抽出し、推薦する。
【特許文献１】特開２００２−１４２１６０（平成１４年５月１７日公開）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、上記従来の構成では、ユーザが視聴した全番組のＥＰＧのテキスト情報から、キーワードのみの頻度に基づいて各キーワードについての嗜好ポイントを決定し、放送が予定されている全番組のＥＰＧのテキスト情報から、嗜好ポイントの高いキーワードに一致するキーワードを検索し、視聴番組を推薦している。このため、例えば番組のジャンルを重視したユーザの視聴傾向にそぐわない番組を推薦してしまう場合がある。
【０００６】
例えば、俳優や歌手などの出演者は番組のジャンルによって出演する傾向が異なる。俳優はドラマに出演することが多く、歌手は音楽番組に出演することが多い。ユーザの嗜好ポイントの中で、所定の出演者Ａの嗜好ポイントが高く、その出演者Ａが俳優である場合、出演者Ａが出演するドラマはユーザの嗜好に合致している可能性が高い。しかしならが、出演者Ａがたまたまゲスト出演するスポーツ中継番組はユーザの嗜好に合致していない可能性が高い。
【０００７】
このように、ユーザの嗜好傾向として、所定のジャンルの番組は出演者Ａが出演するとよく視聴するものの、別のジャンルの番組は出演者Ａが出演しても視聴しないことがある。このような場合に、ユーザが視聴した番組全体からキーワードを蓄積し、キーワードのみに基づいて推薦番組を検索する従来の手法ではジャンルによって異なるユーザの嗜好に対処できない。
【０００８】
また、推薦番組を検索する際に、キーワード種別の一つである例えば番組のジャンルの嗜好ポイントを利用した場合であっても同じような弊害が起こる可能性がある。例えば、ユーザがドラマとスポーツ番組との両方をよく視聴する場合には、ドラマ、スポーツといった、キーワード種別がジャンルのキーワードの嗜好ポイントが高くなる。同時に、ユーザが俳優Ａの出演ドラマをよく視聴する場合、キーワード種別が出演者である俳優Ａの嗜好ポイントも高くなる。したがって、推薦番組を検索する場合、俳優Ａがゲスト出演するスポーツ番組の放送予定があると、俳優Ａおよびスポーツともに嗜好ポイントが高いのでその番組は推薦されると考えられる。しかしながら、ユーザは、俳優Ａとスポーツ番組とが好きであっても、ドラマに出演する俳優Ａが好きなのである。したがって、スポーツ番組に俳優Ａが出演するからといって必ずしもその番組を視聴するとは限らない。
【０００９】
このように、ジャンルによってキーワードに対する嗜好の傾向が異なる場合に、従来の構成ではユーザの嗜好に合致した番組を推薦することができない。
【００１０】
したがって、本発明は、番組案内情報に含まれる互いに範疇が異なる複数の項目、例えばキーワードとジャンルを考慮したユーザの嗜好に適合した番組を適切に推薦することができる番組推薦装置、番組推薦方法、プログラムおよびそのプログラムを記録した記録媒体の提供を目的としている。
【課題を解決するための手段】
【００１１】
本発明の番組推薦装置は、受信可能な各番組についての番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目を抽出する番組データ抽出手段と、前記番組データ抽出手段により抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成手段と、前記ユーザデータの評価値に基づいて推薦番組を決定する推薦番組決定手段とを備えていることを特徴としている。
【００１２】
また、本発明の番組推薦方法は、受信可能な各番組についての番組案内データよって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目を抽出する番組データ抽出ステップと、前記番組データ抽出ステップにより抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成ステップと、前記ユーザデータの評価値に基づいて推薦番組を決定する推薦番組決定ステップとを備えていることを特徴としている。
【００１３】
上記の構成によれば、番組案内データによって示される番組のうち、ユーザ情報（例えばユーザの視聴番組についての履歴情報、ユーザによる録画予約情報、あるいはユーザによる番組を指定した入力情報）によって特定される番組についての番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目が抽出される。
【００１４】
次に、抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータが作成される。その後、前記ユーザデータの評価値に基づいて推薦番組が決定される。
【００１５】
上記のように、本発明では、ユーザが視聴した全番組から、キーワードにおけるユーザの嗜好に対する評価値を決定するのではなく、互いに範疇が異なる複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を決定し、この評価値に基づいて推薦番組を決定している。したがって、本発明では、番組案内情報に含まれる互いに範疇が異なる複数の項目、例えばキーワードとジャンルを考慮したユーザの嗜好に適合した番組を適切に推薦することができる。
【００１６】
本発明の番組推薦装置は、受信可能な各番組についての番組案内データを格納する番組案内データ格納手段と、前記番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ抽出手段と、前記番組データ抽出手段により抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成手段と、前記ユーザデータを格納するユーザデータ格納手段と、前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する推薦番組決定手段とを備えていることを特徴としている。
【００１７】
本発明の番組推薦方法は、受信可能な各番組についての番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ抽出ステップと、前記番組データ抽出ステップにより抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成ステップと、前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する推薦番組決定ステップとを備えていることを特徴としている。
【００１８】
上記の構成によれば、番組案内データによって示される番組のうち、ユーザ情報（例えばユーザの視聴番組についての履歴情報、ユーザによる録画予約情報、あるいはユーザによる番組を指定した入力情報）によって特定される番組についての番組案内データから、このデータに含まれるキーワードと番組のジャンルとが抽出される。次に、抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータが作成される。その後、前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組が決定される。
【００１９】
なお、推薦番組の決定は、番組の番組案内データに含まれる一つもしくは複数のキーワードの評価値に基づいて行ってもよい。この場合、例えば複数のキーワードの評価値は、同一ジャンルのキーワードの評価値である。また、番組を推薦する際には、各キーワードの前記評価値に基づき、評価値の高いキーワードをたくさん含む番組を抽出し、推薦する。
【００２０】
上記のように、本発明では、ユーザが視聴した全番組から、キーワードにおけるユーザの嗜好に対する評価値を決定するのではなく、キーワードが属する番組のジャンルごとにキーワードの上記評価値を決定している。そして、各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定している。したがって、本発明では、キーワードとジャンルを考慮したユーザの嗜好に適合した番組を適切に推薦することができる。
【００２１】
即ち、同じキーワードであってもジャンルによってユーザの嗜好に対する評価値が異なる。したがって、ジャンル別にキーワードの上記評価値を決定することにより、同じキーワードでも、あるジャンルでは好みのキーワードである一方、別のジャンルでは好みのキーワードでないといった状況に対応できる。
【００２２】
具体的には、ユーザが俳優Ａの出演ドラマをよく視聴した場合、ドラマのジャンルの中では俳優Ａの評価値が高くなる。したがって、推薦番組を検索した場合において、俳優Ａがゲスト出演する、ジャンルがスポーツの番組があれば、番組のジャンルを考慮しない手法では、ユーザの嗜好に反してそのスポーツの番組が推薦される可能性が高くなる。しかしながら、本発明では、ジャンル別にキーワードの評価値を決定しているので、スポーツにおいて俳優Ａの評価値が高くなければ、その番組が推薦されることはない。
【００２３】
ここで、ジャンルとは、番組案内データ、例えばＥＰＧテキスト情報に含まれる情報であり、番組を分類したものである。キーワードとは、番組タイトル、出演者、番組のジャンルやＥＰＧテキスト情報に含まれる単語などである。
【００２４】
上記の番組推薦装置は、前記推薦番組決定手段にて決定された推薦番組を表示する推薦番組表示手段をさらに備えている構成としてもよい。
【００２５】
上記の構成によれば、推薦番組をユーザに対して明確に知らせることができる。
【００２６】
上記の番組推薦装置において、前記ユーザ情報はユーザが視聴した番組を示す情報を含み、前記評価値は、ユーザが視聴した番組の前記番組案内データでのキーワードの出現回数の積算値である構成としてもよい。
【００２７】
上記の構成によれば、ユーザによる番組の視聴履歴情報の基づいて、各キーワードについての前記評価値を適切に設定可能である。
【００２８】
上記の番組推薦装置において、前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、前記評価値算出手段は、前記番組案内データ中におけるキーワードの表記順序に基づいて第１の評価値に重み付けを行い、第２の評価値を算出する構成としてもよい。
【００２９】
上記の構成によれば、番組案内データ中におけるキーワードの表記順序に基づいて第１の評価値に重み付けを行い、第２の評価値を算出するので、各キーワードに対して適切な評価値を設定可能である。これにより、ユーザの嗜好に適合した番組をより適切に推薦可能となる。
【００３０】
例えば、番組のジャンルがドラマの場合、通常、複数の出演者のうち、主演の人ほどユーザが好きである可能性が高い。この場合、番組案内データ（例えばＥＰＧテキスト情報）の表記順序では、出演者名は主演の人から順に書かれることが多いことから、番組の出演者の表記順序が先の人ほど重みを重くし、後の人ほど軽くするのが好ましい。
【００３１】
また、ユーザがあるドラマＸの主演である俳優Ａが好きであっても、別のドラマＹも視聴していて、かつドラマＸとドラマＹの両方に出演している俳優Ｂがいる場合、視聴頻度（キーワードの評価値）では俳優Ａよりも俳優Ｂの方が上回る。この結果、俳優Ｂの評価値が高くなってしまい、俳優Ｂの出演するドラマの方が優先的に推薦されてしまう問題が生じる。しかしながら、本発明の構成では、このような問題を回避可能である。
【００３２】
このように、本発明の構成では、ジャンル別にキーワードの評価値を決定していることにより、ジャンル別にキーワードの評価値に重みをかけることが可能である。これにより、ジャンルの特徴に応じてユーザの嗜好を適切に反映することができ、よりユーザの嗜好に合致した番組を推薦することが可能である。
【００３３】
上記の番組推薦装置において、前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、前記番組案内データは番組の出演者について番組での役割を示す役割情報を含んでおり、前記評価値算出手段は、番組案内データにおける前記役割情報に基づいて、キーワードとしての出演者の第１の評価値に重み付けを行い、第２の評価値を算出する構成としてもよい。
【００３４】
上記の構成によれば、出演者が例えば番組の司会者かゲストかを区別するタグが番組案内データ（例えばＥＰＧテキスト情報）に含まれている場合、例えば音楽番組では司会者よりもゲストの方をユーザが好む可能性が高い。したがって、この場合には、司会者の重みを軽くするのが好ましい。
【００３５】
このように、番組案内データにおける前記役割情報に基づいて、キーワードとしての出演者の第１の評価値に重み付けを行い、第２の評価値を算出することにより、各キーワードの評価値を適切に設定可能である。これにより、ユーザの嗜好を適切に反映し、よりユーザの嗜好に合致した番組を推薦することが可能である。
【００３６】
上記の番組推薦装置において、前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、前記評価値算出手段は、第１の評価値に重み付けを行って第２の評価値を算出するとともに、前記重み付けの量をキーワードが属する番組のジャンルに応じて変更する構成としてもよい。
【００３７】
上記の構成によれば、第１の評価値に重み付けを行って第２の評価値を算出するとともに、重み付けの量をキーワードが属する番組のジャンルに応じて変更するので、例えば番組のジャンルによって番組案内データにおけるキーワードの出現頻度が異なる場合になどに対応して、異なるジャンル間においてキーワードの評価値のバランスを適切に設定することができる。これにより、ユーザの嗜好を適切に反映し、よりユーザの嗜好に合致した番組を推薦することが可能である。
【００３８】
例えば、キーワードの評価値を決定するためのパラメータとして、視聴回数と視聴した日から現在までの日数を設定したとする。このとき、ジャンルαにおけるキーワードＡの評価値（嗜好ポイント）は、次のように表せる。
ｆ(α，Ａ)＝Ｘ×ｇ(Ｘ,α)＋Ｙ×ｇ(Ｙ，α)
Ｘ：視聴回数、Ｙ：視聴した日から現在までの日数、g(ｘ，ｙ)：パラメータｘがジャンルｙのときの重み
この場合、一つのキーワードに対して、視聴回数と最終視聴日を履歴として記録し、それらのパラメータ値によって評価値（嗜好ポイント）が決まる。ドラマＡを毎回視聴し、ドラマＡに含まれるキーワードＡ１を格納していたとき、毎回視聴していると、視聴回数が増加し、キーワードＡ１の評価値（嗜好ポイント）は上がる。一方、そのドラマＡの放送が終了し、新たな別のドラマＢの視聴を開始すると、ドラマＢに含まれるキーワードＢ１の評価値（嗜好ポイント）は上昇する。しかしながら、視聴回数は最初のうちは低いのでキーワードＡ１に比べ評価値（嗜好ポイント）は低いままであることが予想される。
【００３９】
ここで、ユーザには、視聴回数の大小よりも最近の視聴データから推測した嗜好によって推薦した方が合致する場合がある。このようなときに、例えば視聴した日から現在までの日数が多ければ多いほど評価値（嗜好ポイント）が小さくなるように重みをかけることによって調節する。このときの重みのかけ具合をジャンルによってかえてもよい。ジャンル別に重みを設定するのは、ジャンルによってキーワードの出現度合いが異なることと、長続きする嗜好と移り変わりの激しい嗜好があると考えられため、それによってかける重みを変え、精度の高い推薦を行うためである。
【００４０】
例えば、連続ドラマの場合約３ヶ月周期で番組が変わったりする場合が多い。ドラマ放送中はそれぞれのキーワードに対する興味は維持されるが、ドラマの放送が終了するとキーワードに対する興味が下がる可能性がある。このような場合に対応するため、最終視聴日から少なくとも３ヶ月経過すると、ユーザは好きでなくなったと判断し、評価値（嗜好ポイント）が０になるように重みをかけてもよい。
【００４１】
２時間ドラマなどのシリーズもののドラマの場合、３ヶ月後に次シリーズが放送される可能性もあるので、長続きする嗜好とみなし、最終視聴日から現在までの日数が多くても評価値（嗜好ポイント）があまり小さくならないように重みをかけるように設定してもよい。
【００４２】
同じく、歌手などの音楽番組のゲスト出演者は、頻繁に出演しないため視聴回数は増えないが、ユーザにとって好きな場合がある。このような場合は、長続きする嗜好とみなし、最終視聴日から現在までの日数が多くても評価値（嗜好ポイント）があまり小さくならないように重みをかけるように設定してもよい。
【００４３】
また、視聴最終日から現在までの日数によって履歴自体を削除してもよい。キーワードを格納する履歴数に限界がある場合、視聴最終日から現在までの日数で制限するとし、その制限する日数をキーワードが抽出された番組のジャンルによって設定していてもよい。
【００４４】
例えば、スポーツのジャンルの番組から抽出したキーワードＡの最大格納期間は５０日とし、ドラマのジャンルの番組から抽出したキーワードＢの最大格納期間は３０日とする。
【００４５】
このように、ジャンルによって評価値（嗜好ポイント）を算出するパラメータにかける重みをかえることで、ジャンルごとに異なるキーワードの出現度合い、ユーザの興味具合に対応することが可能になる。
【００４６】
上記の番組推薦装置において、前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、前記評価値算出手段は、所定のジャンル内において、第１の評価値が最も高いキーワードについての評価値のみを有効とし、それ以外のキーワードの評価値を無効として第２の評価値を算出する構成としてもよい。
【００４７】
上記の構成によれば、所定のジャンル内、例えば番組のジャンルがスポーツの場合において、第１の評価値が最も高いキーワードについての評価値のみを有効とし、それ以外のキーワードの評価値を無効として第２の評価値を算出するので、ユーザの嗜好を適切に反映し、よりユーザの嗜好に合致した番組を推薦することが可能である。
【００４８】
例えば、ジャンルが野球の場合、単語のキーワードとして、チーム名が抽出されるとする。ユーザがチームＡを好きな場合、チームＡが対戦するゲームを視聴するため、その第１の評価値（視聴頻度）は高くなると予想される。しかしながら、チームＡと対戦する他のチーム（チームＢ、チームＣ、チームＤ）についてもチームＡほどではないものの、徐々に第１の評価値（視聴頻度）は上がってくると考えられる。そうなると、他のチームの評価値もあがり、チームＢがチームＣと対戦するゲームも推薦されてしまう可能性がある。
【００４９】
この場合に、チームＡの第１の評価値（視聴頻度）が最も高い場合、チームＡのみに第２の評価値を与え、他のチームの第２の評価値を０にすることによって、チームＡのゲームしか推薦されないようにすることが可能である。
【００５０】
ジャンル内のあるキーワードの中で、最も第１の評価値（視聴頻度）が高いキーワードのみ嗜好ポイントを算出し、それ以外のキーワードの嗜好ポイントを０にする。チーム名を全てあらかじめ登録しておくなど、チーム名が識別できる場合は、チーム名の中で最も視聴頻度の高いチームのみ第２の評価値を算出し、それ以外のチーム名の第２の評価値を０にする構成でもよい。
【００５１】
このように、ジャンルごとにキーワードを格納することによって、ジャンルごとにキーワードの評価値を算出する際の条件を設定することが可能となる。
【００５２】
上記の番組推薦装置において、前記推薦番組決定手段は、前記評価値を第１の評価値とした場合に、この第１の評価値に基づいて第２の評価値を算出する評価値算出手段を備え、第２の評価値に基づいて推薦番組を決定するものであり、前記評価値算出手段は、この第１の評価値に基づいて第２の評価値を算出する際に、番組案内データでのキーワードの表記順位に基づいて、第１の評価値に重み付けを行い、第２の評価値を算出する構成としてもよい。
【００５３】
上記の構成によれば、第１の評価値に基づいて第２の評価値を算出する際に、番組案内データでのキーワードの表記順位に基づいて、第１の評価値に重み付けを行い、第２の評価値を算出するので、ユーザの嗜好を適切に反映し、よりユーザの嗜好に合致した番組を推薦することが可能である。
【００５４】
上記の番組推薦装置において、前記番組データ抽出手段は、番組のジャンルがドラマもしくは映画である場合に、キーワードとして、番組案内データでの表記順位が所定のＮ番目までの出演者のみを抽出する構成としてもよい。
【００５５】
上記の構成によれば、Ｎ番目以降の出演者は、通常、ユーザの好み度合いが低いと考えられることから、キーワードとして抽出しないのが好ましい。これによって、ユーザにとってあまり好きでない出演者に基づいて番組が推薦されてしまう事態を回避可能である。
【００５６】
即ち、ドラマや映画の場合、通常、ユーザは出演者のうち主演の俳優を好きである可能性が高いと考えられる。しかしながら、実際には、主演の俳優よりも脇役の俳優の方が数多くのドラマ、映画に出演する可能性が高い。このため、ユーザが複数のドラマを視聴した場合、脇役の俳優の視聴頻度が高くなってしまい、ユーザの嗜好に合致した番組の推薦ができない。上記のように、本発明はこのような問題を回避可能である。
【発明の効果】
【００５７】
本発明の番組推薦装置は、番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目を抽出する番組データ抽出手段と、前記番組データ抽出手段により抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成手段と、前記ユーザデータの評価値に基づいて推薦番組を決定する推薦番組決定手段とを備えている構成である。
【００５８】
また、本発明の番組推薦装置は、番組案内データ格納手段と、前記番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ抽出手段と、前記番組データ抽出手段により抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成手段と、ユーザデータ格納手段と、前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する推薦番組決定手段とを備えている構成である。
【００５９】
本発明の番組推薦方法は、番組案内データよって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれる互いに範疇が異なる複数の項目を抽出する番組データ抽出ステップと、前記番組データ抽出ステップにより抽出された前記項目が示す情報およびユーザ情報に基づき、前記複数の項目同士の関連下でのそれら関連する項目群についてのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成ステップと、前記ユーザデータの評価値に基づいて推薦番組を決定する推薦番組決定ステップとを備えている構成である。
【００６０】
また、本発明の番組推薦方法は、番組案内データによって示される番組のうち、ユーザ情報によって特定される番組についての前記番組案内データから、このデータに含まれるキーワードと番組のジャンルとを抽出する番組データ抽出ステップと、前記番組データ抽出ステップにより抽出された情報およびユーザ情報に基づいて、前記キーワード、このキーワードが属する番組のジャンル、および前記キーワードについての前記キーワードが属する番組のジャンルでのユーザの嗜好に対する評価値を含むユーザデータを作成するユーザデータ作成ステップと、前記ユーザデータの各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定する推薦番組決定ステップとを備えている構成である。
【００６１】
本発明では、ユーザが視聴した全番組から、キーワードにおけるユーザの嗜好に対する評価値を決定するのではなく、キーワードが属する番組のジャンルごとにキーワードの上記評価値を決定している。そして、各キーワードの評価値とキーワードが属する番組のジャンルとに基づいて推薦番組を決定している。したがって、本発明では、ジャンルを考慮したユーザの嗜好に適合した番組を適切に推薦することができる。
【発明を実施するための最良の形態】
【００６２】
本発明の実施の一形態を図面に基づいて以下に説明する。
図１は、本実施の形態の番組推薦装置の構造を示すブロック図である。本実施の形態において、番組推薦装置は、例えばテレビジョン番組の番組情報（電子プログラムガイド：ＥＰＧ）を利用してユーザに対する視聴番組の推薦動作を行うものである。
【００６３】
図１に示すように、本実施の形態の番組推薦装置は、入力部４、入力部５、ＥＰＧ受信部６および表示部（推薦番組表示手段）１７を備えている。視聴情報１は、ユーザが視聴した番組の履歴情報であり、その入力は入力部４が受け付ける。この視聴情報１としては、ユーザが何らかの番組を視聴するたびに入力部４に入力される。
【００６４】
推薦要求情報２は、システムもしくはユーザからの視聴する番組についての推薦要求であり、その入力は入力部５が受け付ける。ＥＰＧテキスト情報を含むＥＰＧデータ３は、ＥＰＧデータ受信部６にて受信される。表示部１７は推薦する番組を表示するためのものである。
【００６５】
番組推薦装置は、さらに、ＥＰＧデータ処理部７、番組案内データ格納部（番組案内データ格納手段）８、番組案内データ参照部（番組データ抽出手段）９、ジャンル識別部（番組データ抽出手段）１０、ユーザデータ更新部（ユーザデータ作成手段）１１、ユーザデータ格納部（ユーザデータ格納手段）１２、ユーザデータ参照部１３、嗜好ポイント算出部（推薦番組決定手段）１４、合致度算出部（推薦番組決定手段）１５および表示情報生成部（推薦番組決定手段）１６を備えている。
【００６６】
ＥＰＧ受信部６にてＥＰＧデータが受信されると、ＥＰＧデータ処理部７はＥＰＧデータ３からキーワードを抽出する。番組案内データ格納部８は、ＥＰＧデータ処理部７にて抽出されたキーワードを、例えば図３（ｂ）に示すように、番組のジャンルおよびキーワード種別とともに番組案内データとして番組ごとに格納する。なお、キーワード種別は図３（ｂ）において、タイトル、出演者および単語である。
【００６７】
入力部４に視聴情報１が入力されると、番組案内データ参照部９は、番組案内データ格納部８に格納されている番組案内データのうち、視聴情報１が示す番組、即ちユーザが視聴した番組（以下、単にユーザ視聴番組と称する）の番組案内データから、キーワードを抽出する。ジャンル識別部１０は、ユーザ視聴番組のジャンルを識別する。
【００６８】
ユーザデータ格納部１２には、図４に示すように、ユーザデータとして、ジャンルごと、さらに一つのジャンル内においてはキーワード種別ごとにキーワードおよびその属性データ（視聴頻度など）が格納されている。そこで、ユーザデータ更新部１１は、番組案内データ参照部９から抽出されたキーワードについて、ユーザデータ格納部１２のユーザデータにおいて、同一ジャンルかつ同一キーワード種別内に一致するキーワードがある場合に、その属性データを更新する。一方、番組案内データ参照部９から抽出されたキーワードについて、ユーザデータ格納部１２のユーザデータにおいて、同一ジャンルかつ同一キーワード種別内に一致するキーワードがない場合に、そのキーワードを追加し、属性データとしての例えば視聴頻度に１を与える。
【００６９】
入力部５に推薦要求情報２が入力されると、ユーザデータ参照部１３はユーザデータ格納部１２のユーザデータを参照して、嗜好ポイント算出部１４がユーザデータの各キーワードについての嗜好ポイントを算出するための情報を嗜好ポイント算出部１４に供給する。嗜好ポイント算出部１４は、ユーザデータ参照部１３から供給された情報に基づいて、ユーザデータの各キーワードについての嗜好ポイントを算出する。算出後の嗜好ポイントはユーザデータ格納部１２に格納される。なお、上記の推薦要求情報２は、ユーザによる、例えば番組推薦装置に設けられているボタンの操作やリモートコントローラ（以下、単にリモコンと称する）の操作によって入力される。
【００７０】
合致度算出部１５は、嗜好ポイント算出部１４にて算出された嗜好ポイントに基づき、番組案内データ格納部８に格納されている各番組案内データ（例えば放送予定の各番組案内データ）について、ユーザの嗜好との合致度を算出する。表示情報生成部１６は、合致度算出部１５にて算出された合致度に基づいてユーザに推薦する番組を抽出する。
【００７１】
表示部１７は、表示情報生成部１６にて抽出された番組を表示する。推薦する番組についての表示部１７での表示例を図８に示す。この例では、おすすめの各番組の日時、放送局、番組タイトルの一覧が表示される。この場合、合致度の高い番組順に表示してもよいし、放送開始日時の早い番組順に表示しても良い。
【００７２】
番組推薦装置では、ＥＰＧ受信部６にて受信したＥＰＧデータ３の範囲内で推薦する番組を抽出する。なお、ＥＰＧ受信部６は、１回の受信において現在の日時からＮ日後（Ｎは任意の値）までのＥＰＧデータ３を受信する。
【００７３】
本実施の形態に係る番組推薦装置は、実質的には、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図２に、このコンピュータシステム２００の内部構成を示す。
【００７４】
図２を参照して、このコンピュータシステム２００は、光ディスクドライブ２０１および磁気ディスクドライブ２０２を有するコンピュータ２２０と、モニタ２０３と、リモコン２０４とを含む。
【００７５】
コンピュータ２２０は、光ディスクドライブ２０１および磁気ディスクドライブ２０２に加えて、リモコン２０４からの信号を受信するリモコンインタフェース（Ｉ／Ｆ）２０５と、ＣＰＵ（中央処理装置）２０６と、リモコンインタフェース２０５、ＣＰＵ２０６、光ディスクドライブ２０１および磁気ディスクドライブ２０２に接続されたバス２０７と、バス２０７に接続され、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）２０８と、同じくバス２０７に接続され、プログラム命令、システムプログラム、および作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）２０９とを含む。
【００７６】
ここでは示さないが、コンピュータ２２０はさらにローカルエリアネットワーク（ＬＡＮ）への接続を提供するネットワークアダプタボードを含んでもよい。
【００７７】
コンピュータシステム２００に番組推薦装置の機能を実現させるためのプログラム、ＥＰＧデータ３、および視聴情報１はいずれも、光ディスクドライブ２０１または磁気ディスクドライブ２０２に挿入される光ディスク２１０または磁気ディスク２１１に記憶され、さらにハードディスク２１２に転送される。または、プログラム、ＥＰＧデータ３、および視聴情報１は図示しないネットワークを通じてコンピュータ２２０に送信され、ハードディスク２１２に記憶されてもよい。プログラムは実行の際にＲＡＭ２０９にロードされる。光ディスク２１０から、磁気ディスク２１１から、またはネットワークを介して、直接にＲＡＭ２０９にプログラムをロードしてもよい。
【００７８】
このプログラムは、コンピュータ２２０に本実施の形態に係る番組推薦装置の機能を実現させる複数の命令を含む。これら機能を実現させるのに必要な基本的機能のいくつかはコンピュータ２２０上で動作するオペレーティングシステム（ＯＳ）またはサードパーティのプログラム、若しくはコンピュータ２２０にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態に係る番組推薦装置の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記した番組推薦装置の制御を実行する命令のみを含んでいればよい。コンピュータシステム２００の動作は周知であるので、ここでは繰り返さない。
【００７９】
なお、番組推薦装置の機能を実現するためのプログラム、ＥＰＧデータ３、および視聴情報１が記録される記録媒体は、ＣＤ−ＲＯＭ（コンパクトディスク読取専用メモリ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｃ）、ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）、およびＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の光ディスク２１０、ＦＤ（フレキシブルディスク）およびハードディスク等の磁気ディスク２１１に限らない。磁気テープおよびカセットテープ等のテープ、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カードおよび光カード等のカード型記録媒体、並びにマスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、およびフラッシュＲＯＭ等の半導体メモリのいずれかでもよい。ただし、コンピュータシステム２００は、これら記録媒体からの読出を行なうための読出装置を実装する必要がある。
【００８０】
次に、図１に示した各機能部についてさらに詳細に説明する。
ＥＰＧ受信部６にて受信されるＥＰＧデータ３の一例を図３（ａ）に示す。同図に示すように、ＥＰＧデータ３は、番組ごとに、その番組の放送の開始日時、終了日時、番組を放送する放送局名、番組が属するジャンル名、番組名（タイトル）、出演者名、番組の内容を説明する番組説明文などがテキスト情報として記述されている。出演者には、司会者、解説者などの種類が識別できるタグがつけられている場合もある。
【００８１】
ＥＰＧデータ処理部７は、入力されたＥＰＧデータ３のテキスト情報から、番組名、出演者（キーワード）およびジャンルを抽出し、これらの情報を番組ごとに番組案内データとして番組案内データ格納部８に格納する。さらに、ＥＰＧデータ処理部７は、番組名および番組説明文から番組の特徴を表す単語を抽出する。
【００８２】
単語は、ＥＰＧデータ３の中にすでに番組の特徴を表す番組特徴キーワードが含まれている場合、それをそのまま単語として番組案内データ格納部８に格納してよい。この番組特徴キーワードとは、ＥＰＧデータ３内に、出演者名が格納されているのと同じように、キーワードが格納されるデータ枠があり、放送局があらかじめ番組の特徴を現すキーワードして付与されているものである。したがって、ＥＰＧデータ処理部７がＥＰＧデータ３から抽出する前記キーワードとは異なるものである。番組特徴キーワードが含まれていない場合、テキストデータを形態素解析し、分解された単語から品詞が名詞のものだけ格納してもよい。また、あらかじめ格納すべき単語のリストを作成しておき、リストと一致した単語のみ格納してもよい。
【００８３】
ＥＰＧデータ処理部７での上記の処理により、番組案内データ格納部８に格納される番組案内データの一例を図３（ｂ）に示す。この番組案内データは、ジャンルとしてドラマが格納され、タイトルとしてタイトルＡ、出演者として俳優Ｂ，女優Ｃ、単語（番組特徴キーワード）として単語Ｄ，単語Ｆが格納されている。また、番組を識別できるように、開始日時、終了日時、放送局名を一緒に格納している。なお、番組を識別するための情報としては、これらに限定されることはなく、Ｇコードあるいは番組ＩＤなどであってもよい。
【００８４】
本実施の形態においては、ユーザデータ格納部１２のユーザデータにおけるキーワード種別（図４参照）として、上記のタイトル、出演者、ジャンルおよび単語を利用しているが、これらに限定されることはない。例えば、出演者を司会者、解説者および脚本などにさらに細分化してもよい。
【００８５】
また、本実施の形態においては、視聴情報１は、ユーザが視聴した番組の履歴情報としているが、録画予約された番組の情報、あるいはユーザが気に入った番組として指定した番組の情報などでもよい。この場合の番組指定の方法も、特に限定されず、例えば、ユーザが視聴中に入力ボタンによって登録する方法、またはＥＰＧデータ３閲覧中に入力ボタンによって登録する方法でもよい。また、コンテンツデータにコンテンツの内容を説明するテキストデータが付与されたコンテンツを視聴した場合にも、そのテキストデータをＥＰＧデータ３と同じように扱うことにより、テキストデータ中のデータをユーザの嗜好を示すキーワードとしてユーザデータ格納部１２に格納可能である。
【００８６】
番組案内データ参照部９は、ユーザの視聴履歴情報を含む視聴情報１が入力されると、この視聴情報１によって示される、ユーザ視聴番組に関する番組案内データ格納部８での番組案内データを参照し、ユーザ視聴番組のキーワードを抽出する。具体的には、番組案内データ格納部８から、視聴情報１に基づき、ユーザ視聴番組と開始日時、終了日時および放送局が一致する番組のキーワード、例えばタイトル、出演者、ジャンル、単語を抽出する。
【００８７】
ジャンル識別部１０は、番組案内データ参照部９にて抽出された情報に基づいて、ユーザ視聴番組のジャンルを識別する。ユーザデータ格納部１２は、図４に示すユーザデータを格納している。このユーザデータとしては、ジャンル別、キーワード種類別にキーワードを格納しており、さらにキーワード（キーワードを含む番組）の視聴回数（視聴頻度：第１の評価値）および最終視聴日時を格納している。そこで、ユーザデータ更新部１１は、番組案内データ参照部９によりユーザ視聴番組から抽出された各キーワードについて、ジャンル識別部１０にて識別されたキーワード種別ごと、ジャンルごとにユーザデータ格納部１２におけるキーワードの属性データを更新する。図４において、キーワードの属性データは、視聴頻度（視聴回数）および最終視聴日時である。
【００８８】
具体的には、ユーザデータ更新部１１は、新たなユーザ視聴番組と一致するジャンル内においてキーワード種別ごとに抽出されたキーワードをユーザデータ格納部１２において検索し、すでにユーザデータ格納部１２に格納されている場合、そのキーワードについて視聴回数（視聴頻度）を１加算し、最終視聴日時を更新する。また、ユーザデータ格納部１２は、そのキーワードがユーザデータ格納部１２に格納されていない場合、新たにテーブルを設け、キーワード名を登録し、視聴回数を１回として登録し、最終視聴日時を登録する。
【００８９】
ユーザデータ更新部１１は、ユーザデータ格納部１２においてユーザ視聴番組のキーワードの属性データを更新する際に、表記情報の制限がある場合、表記情報の条件を満たすキーワードのみについて属性データの更新を行う。表記情報の制限とは、ＥＰＧデータ３のテキスト情報内に出現するキーワードの表記の順序・形式などに意味があるとみなし、キーワードの属性データを更新するか否か、視聴回数を加算する際の加算値を変更するか否かなどを、ジャンルごとにあらかじめ定めたものである。
【００９０】
例えば、ジャンルがドラマの場合において、ＥＰＧデータ３が示す出演者は、主演が一番に記述され、以下、重要な出演者順に記述されることが多い。重要な出演者とは、ドラマの中での出演時間が長い出演者、人気の高い出演者などが考えられる。また、ユーザも、通常、主演者や重要な出演者の方を好む度合いが高いことから、表記順序の上位の出演者について優先度が高くなるように、表記順序の制限を設けてもよい。
【００９１】
また、例えばジャンルがドラマの場合において、番組案内データ参照部９が出演者のうち表記順序がある任意のＮ番目までの出演者のみをキーワードとして抽出し、そのキーワードについてユーザデータ更新部１１がユーザデータ格納部１２のユーザデータを更新するようにしてもよい。Ｎ番目以降の出演者は、通常、ユーザの好み度合いが低いと考えられることから、キーワードとして抽出しない。これによって、ユーザにとってあまり好きでない出演者に基づいて番組が推薦されてしまう問題を解決可能である。
【００９２】
この点について具体的に説明する。ユーザはあるドラマＸの主演である俳優Ａが好きであるものの、別のドラマＹも視聴している。俳優ＢはそれらドラマＸとドラマＹとの両方に出演している。この場合、視聴頻度では俳優Ａよりも俳優Ｂの方が上回り、俳優Ｂの嗜好ポイントが高くなる可能性がある。ここで、俳優Ｂが出演するドラマＰと俳優Ａが出演するドラマＱとがあった場合、単に視聴頻度のみにより推薦番組を抽出する手法では、ドラマＰの方が推薦順序の上位となる。しかしながら、本番組推薦装置では、例えば番組案内データ参照部９において、上記Ｎの値を主演に限定されるように設定することにより、俳優Ａの方の嗜好ポイントが高くなるので、ドラマＱの方を推薦順序の上位とすることができる。
【００９３】
このように、ドラマや映画の場合には、出演者のうち主演の人ほどユーザが好きである可能性が高いと考えられるが、主演の人よりも脇役の人の方が数多くのドラマ、映画に出演する可能性が高い。したがって、単に視聴頻度のみにより推薦番組を抽出する手法では、ユーザが複数のドラマや映画を視聴している場合、脇役の人の方が主演の人よりも視聴頻度が高くなってしまい、ユーザの嗜好に合致した推薦ができなくなる。本実施の形態の構成は、このような問題を解決し、ユーザの嗜好に適合した番組を推薦し易くなっている。
【００９４】
なお、上記の手法は、ジャンルがドラマのキーワードが出演者の場合に限定されず、他のジャンルにおける他のキーワードの場合にも適用可能である。
【００９５】
また、上記のような機能を得るための構成としては、上記のものの他、下記のように、視聴回数として加算する値（以下、キーワード加算値と称する）に重みをかける構成としてもよい。即ち、
キーワード加算値＝（視聴回数）×（重み）
である。
【００９６】
この手法において、重みは番組案内データ（ＥＰＧデータ３）における表記順序が上位であるキーワードほど重くする。例えば、表記順序が１番目の重みは１．０とし、２番目以降の重みは０．３ずつ減少させる。したがって、キーワード加算値は、表記順序が
１番目の場合、１×１．０＝１．０
２番目の場合、１×（１．０−０．３）＝０．７
３番目の場合、１×（１．０−０．３×２）＝０．４
となる。この手法の場合にも、図４のユーザデータにおいて、キーワード加算値が任意の値Ｎ以上となったキーワードのみについて、属性データ（視聴頻度）をキーワード加算値によって更新する。
【００９７】
さらに、図５のような番組案内データを有する番組を視聴した場合に関し、上記の重み付けを行う場合と行わない場合とにおけるキーワード加算値の違いについて説明する。
【００９８】
図５（ａ）の番組の場合、表記順序が１番目の俳優Ｂは重みを１とし、表記順序が２番目以降の俳優Ｃ，Ｄは重みを０．３ずつ減少させる。したがって、キーワード加算値は、
俳優Ｂの場合、１×１．０＝１．０
俳優Ｃの場合、１×（１．０−０．３）＝０．７
俳優Ｄの場合、１×（１．０−０．３×２）＝０．４
となる。同じように、図５（ｂ），図５(Ｃ)の番組の場合、表記順序が１番目の俳優Ａは重みを１とし、表記順序が２番目以降の俳優Ｅ，Ｄは重みを０．３ずつ減少させる。したがって、キーワード加算値は、
俳優Ａの場合、１×１．０＝１．０
俳優Ｅの場合、１×（１．０−０．３）＝０．７
俳優Ｄの場合、１×（１．０−０．３×２）＝０．４
となる。
【００９９】
したがって、ユーザが図５（ａ）〜図５（ｃ）の番組を全て視聴した場合、俳優Ａのキーワード加算値は２、俳優Ｄのキーワード加算値は１．２となり、俳優Ａのキーワード加算値の方が大きくなる。キーワード加算値が大きいほど、嗜好ポイントが高くなるので、俳優Ａが出演する番組の方が俳優Ｄの出演する番組よりも優先的に推薦されることになる。
【０１００】
一方、上記の重み付けをしない手法では、出演者の視聴回数を均等に加算するので、図５（ａ）〜図５（ｃ）の番組を全て視聴した場合、俳優Ａのキーワード加算値は２、俳優Ｄのキーワード加算値は３となり、俳優Ｄのキーワード加算値の方が大きくなる。したがって、俳優Ｄの出演する番組の方が優先的に推薦されることになる。この場合、俳優Ｄは脇役であるので、ユーザの好みの度合いが低い可能性が高く、俳優Ｄの出演する番組を推薦してもユーザの好みに合致しないことが多い。このように、上記重み付けをしない手法であれば脇役の視聴回数が高くなってしまうのに対し、キーワードの表記順序を考慮して上記重み付けを行う手法であれば、そのような問題を解決することが可能である。
【０１０１】
以上のような、キーワードの表記順序に基づくキーワード加算値の計算条件をジャンルごとに定めることによって、ジャンルによるキーワードの表記順序の傾向を考慮したユーザデータの構築が可能になる。
【０１０２】
キーワード加算値についての制限に関しては、上記のような表記順序に基づく制限のほか、テキスト情報の付加情報に基づく制限も採用可能である。例えば、出演者の中で番組の司会者かゲスト出演者かを区別するタグがＥＰＧデータ３に含まれている場合、音楽番組では司会者よりもゲストの方をユーザが好む可能性が高いと考えられることから、司会者の重みを軽くしてもよい。また、音楽番組の司会者とバラエティ番組の司会者だと、同じ司会者でもバラエティ番組の司会者の方をユーザが好む度合いが高い可能性があると考えられる場合など、ジャンルによってその重みをかえてよい。このように、ＥＰＧデータ３に司会者とゲスト出演者を識別できるタグなどの付加情報が付与されている場合に、その付加情報を利用してジャンル別に重みを設定することで、ユーザのより好み度合いに合致したユーザデータを構築することが可能である。
【０１０３】
また、ユーザデータ格納部１２に新たに格納すべきキーワードがある場合において、ユーザデータ格納部１２のキーワードを記憶するメモリ容量が既に一杯になっているときには、格納されているキーワードを削除して、新たなキーワードを格納する。どのキーワードを削除するかという、キーワードの削除条件はジャンル別に異なる。
【０１０４】
通常、視聴回数が一番少ないキーワード、または最終視聴日時が一番古いキーワードを削除する。この場合、最終視聴日時から現在の日付が何日以上のキーワードを削除するかという最大格納日数をあらかじめジャンル別に決めておく。
【０１０５】
連続ドラマの場合、一つのドラマが通常３ヶ月単位であるので、キーワードの最大格納日数を９０日とし、９０日以上視聴日時が更新されないキーワードを削除対象とする。３ヶ月で終了する連続ドラマの場合、ドラマが放送終了すると、ドラマに関連する事柄について興味が失われることが多いと考えられる。したがって、このように最大格納日数を制限することで、古い履歴を削除し、新しい履歴を優先し、その履歴に基づいて番組を推薦することが可能になる。
【０１０６】
このように、最大格納日数を短く設定しておくと、一過性の好みのような、興味が失われている番組にも関わらず、そのような番組が引き続き推薦されてしまう問題に対応できる。
【０１０７】
または、２時間ドラマなど連続ドラマでないドラマや映画は、嗜好が連続ドラマよりも長期間持続すると考えられるとことから、さらに長い日数を最大格納日数としてもよい。このような設定により、完全または部分的に同じタイトル、完全または部分的に同じ出演者で構成されるシリーズ化されたドラマ、映画についてもユーザの嗜好を蓄積し、長期的に推薦することが可能になる。
【０１０８】
このように、最大格納日数がどのジャンルのキーワードについても同じに設定されている手法に対し、本番組推薦装置では、ジャンル別にキーワードの最大格納日数を設定することによって、長く残しておいた方がよい履歴を残し、一過性の好みのような長く残さない方がよい履歴を削除することができる。
【０１０９】
以上、視聴履歴が入力されたときのユーザデータ格納部１２へのデータ格納方法について説明した。次に、ユーザデータ格納部１２において、視聴頻度から嗜好ポイントを算出する方法について述べる。
【０１１０】
キーワードに付与された嗜好ポイントは、ポイントが高いほどそのキーワードをユーザが好んでいると判断でき、視聴頻度が多くなるほどポイントが高くなる。あるキーワードの嗜好ポイントを算出する際には、キーワードの種別、キーワードを含む番組の視聴頻度のほかに、視聴した日から現在までの日数、番組の視聴時間、同じキーワードを含む番組の放送回数などをパラメータとして利用してもよい。さらに、嗜好ポイントは、それぞれのパラメータに重み付けなどの処理を行って算出する。
【０１１１】
番組を視聴した日から現在までの日数をパラメータに利用する場合は、現在までの日数が短いほど嗜好ポイントが大きくなるように設定する。視聴時間をパラメータに利用する場合は、視聴時間をユーザデータ格納部１２に格納し、視聴時間が多いほど嗜好ポイントが大きくなるようにする。また、番組の本来の放送時間中にユーザが実際に視聴した時間の割合をパラメータとして利用してもよく、その場合には、前記割合が大きいほど嗜好ポイントが大きくなるようにする。番組の放送回数をパラメータとして利用するときは、番組の放送回数もユーザデータ格納部１２に格納し、放送回数中に何回視聴しているかの割合が大きいほど嗜好ポイントが大きくなるようにする。
【０１１２】
ここでは、嗜好ポイントの算出方法の一例として、視聴頻度のみをパラメータとして利用する場合について説明する。なお、嗜好ポイントは視聴頻度と同じ値とする。図４のユーザデータにより説明すると、ジャンルがドラマで、キーワードがタイトルＡの嗜好ポイントｆ(ドラマ、タイトルＡ)は３、ジャンルがドラマで、キーワードが単語Ｄの嗜好ポイントｆ(ドラマ、単語Ｄ)は８０、ジャンルがスポーツで、キーワードが単語Ｄの嗜好ポイントｆ(スポーツ、単語Ｄ)は１である。単語Ｄは、ドラマおよびスポーツの両方のジャンルに出現しているものの、ジャンルによってそれぞれ嗜好ポイントが異なる。
【０１１３】
あるキーワードの嗜好ポイントが複数のジャンルのそれぞれにおいて所定の閾値以上の嗜好ポイントをもつキーワードについては、それぞれの嗜好ポイントを足し合わせた値をそれぞれのジャンルの嗜好ポイントとして置き換えて利用してもよい。
【０１１４】
例えば、ジャンル１のキーワードＡの嗜好ポイントｆ（１，Ａ）を３０、ジャンル２のキーワードＡの嗜好ポイントｆ（２，Ａ）を４０、閾値を３０とすると、嗜好ポイントｆ（１，Ａ）と嗜好ポイントｆ（２，Ａ）とを足し合わせた値の７０をキーワードＡ，Ｂそれぞれの嗜好ポイントとする。即ち値、ｆ（１，Ａ）＝ｆ（２，Ａ）＝７０である。これによって、ジャンル１，２においてキーワードＡの嗜好ポイントが高くなり、キーワードＡをＥＰＧデータ３に含む番組が推薦されやすくなる。
【０１１５】
この手法では、嗜好ポイントの高いキーワードについてそのポイント値をまとめることにより嗜好ポイントを高くし、そのキーワードを含む番組を推薦されやすくしている。この手法では、嗜好ポイントを足し合わせるジャンル同士のキーワードが似通っている場合に効果的である。
【０１１６】
例えば、映画とドラマというジャンルにおいては、出演者がどちらも俳優であることが多く、ユーザは映画でよく見る出演者がドラマに出演していても見る可能性が高い。したがって、映画とドラマのどちらでも嗜好ポイントの高い出演者の嗜好ポイント同士は足し合わせた方が、ユーザの嗜好に適した番組を推薦する上で効果的である。
【０１１７】
また、あるジャンルにおいて所定の閾値以上の嗜好ポイントを有するキーワードは、別のジャンルにおいてもその嗜好ポイントの値を利用することにしてもよい。例えば、ジャンル１でキーワードＡの嗜好ポイントが所定の閾値を超えた場合、ジャンル２でのキーワードＡの嗜好ポイントがそれよりも低い値であるときは、ジャンル２でのキーワードＡの嗜好ポイントをジャンル１での値に置き換える。これによって、ジャンル２においてもキーワードＡを含む番組が推薦されやすくなる。
【０１１８】
このように、複数のジャンル間における同一キーワードの嗜好ポイント同士を足し合わせたり、複数のジャンル間における同一キーワードの嗜好ポイントをそれら異なるジャンル間において置き換えたりする規則は、あらかじめ定めた特定のジャンル間のみで行われることにしてよい。
【０１１９】
また、ジャンルごとに、嗜好ポイントを算出する際の条件を異なる条件に設定することも可能である。例えば、あるジャンルでは、視聴頻度が最大のキーワードのみを有効として嗜好ポイントを設定する一方、それ以外のキーワードは嗜好ポイントを０とする条件を加えても良い。
【０１２０】
この手法に関し、例えば、ジャンルが野球の場合であって、単語のキーワードとしてチーム名が抽出される場合について説明する。ユーザがチームＡを好きな場合、チームＡが対戦するゲームを視聴するので、その視聴頻度は高くなる。しかしながら、チームＡと対戦する他のチーム（チームＢ、チームＣ、チームＤ）についてもチームＡほどではないものの、徐々に視聴頻度は上がってくると考えられる。そうなると、他のチームの嗜好ポイントも上がり、チームＢがチームＣと対戦するゲームも推薦されてしまう可能性がある。
【０１２１】
この場合に、視聴頻度が最も高いチームＡのみに嗜好ポイントを与え、他のチームの嗜好ポイントを０にすることにより、チームＡのゲームしか推薦されないようにすることが可能である。
【０１２２】
上記の手法では、ジャンルが同じキーワード種別の中で、最も視聴頻度が高いキーワードのみの嗜好ポイントを算出し、それ以外のキーワードの嗜好ポイントを０にしている。一方、チーム名（例えばプロ野球のチーム名）をあらかじめ全て登録しておくなど、チーム名が識別できる場合には、同じキーワード種別の中ではなく、チーム名の中で最も視聴頻度の高いチームのみの嗜好ポイントを算出し、それ以外のチーム名の嗜好ポイントを０にするようにしてもよい。このように、ジャンルごとにキーワードを格納することによって、ジャンルごとに嗜好ポイントを算出する際の条件を設定することも可能である。
【０１２３】
また、各キーワードの嗜好ポイントを算出する際には、嗜好ポイントの算出に使用するパラメータの値にかける重み係数をジャンル別に設定することも可能である。例えば、パラメータとして、視聴回数と視聴した日から現在までの日数とを設定した場合について説明する。この場合、ジャンルαにおけるキーワードＡの嗜好ポイントｆは、
ｆ（α，Ａ）＝Ｘ×ｇ（Ｘ，α）＋Ｙ×ｇ（Ｙ，α）
ただし、Ｘ：視聴回数、Ｙ：視聴した日から現在までの日数、ｇ（ｘ，ｙ）：パラメータｘがジャンルｙのときの重み
と表すことができる。
【０１２４】
この場合には、一つのキーワードに対して、視聴回数と最終視聴日とを履歴として記録し、それらのパラメータ値によって嗜好ポイントが決まる。以下にこの手法による嗜好ポイントの計算例について説明する。
【０１２５】
例えば、ドラマＡを毎回視聴し、ドラマＡに含まれるキーワードＡ１を格納していたとき、ドラマＡを毎回視聴していると、視聴回数が増加し、キーワードＡ１の嗜好ポイントが増加する。
【０１２６】
一方、ドラマＡの放送が終了し、ユーザが新たな別のドラマＢの視聴を開始した場合、ドラマＢに含まれるキーワードＢ１の嗜好ポイントが上昇する。しかしながら、キーワードＢ１の嗜好ポイントは、最初のうち、ドラマＢの視聴回数が低いので、キーワードＡ１の嗜好ポイントに比べて低いままであることが予想される。
【０１２７】
このような場合には、視聴回数の多少よりも最近の視聴データから推測した嗜好によって、ユーザへの推薦番組を選定した方がユーザの嗜好に合致すると考えられる。そこで、視聴した日から現在までの日数が多ければ多いほど嗜好ポイントが小さくなるように重みをかけることによって嗜好ポイントを調節する。このときの重みのかけ具合はジャンルによって変えてもよい。このようにジャンル別に重みを設定した場合には、ユーザの嗜好に合致した番組を推薦する上において、番組の選定を高精度に行うことができる。その理由は、下記のように、ジャンルによってキーワードの出現度合いが異なること、および長続きする嗜好と移り変わりの激しい嗜好とが存在することによる。
【０１２８】
例えば連続ドラマの場合、約３ヶ月周期にて放送番組が変更されることが多い。ドラマＡの放送期間中はドラマＡに関するキーワードに対しての興味は維持されるものの、ドラマの放送期間が終了すると、上記キーワードに対する興味が低下する傾向がある。このような移り変わりの激しい嗜好に対応するため、ユーザによる最終視聴日から少なくとも３ヶ月経過すると、ユーザがドラマＡに対する興味を失ったと判断し、嗜好ポイントが０になるように重みをかけてもよい。
【０１２９】
また、２時間ドラマなどのシリーズ化されたドラマや映画の場合、３ヶ月後にも次シリーズが放送される可能性がある。そこで、これを長続きする嗜好とみなし、最終視聴日から現在までの日数が多くても嗜好ポイントがあまり小さくならないように重みをかけるように設定してもよい。
【０１３０】
同様に、例えば、歌手などの音楽番組のゲスト出演者などは、頻繁に出演しないため視聴回数は増えないものの、ユーザの嗜好が強い場合がある。このような場合は、長続きする嗜好とみなし、最終視聴日から現在までの日数が多くても嗜好ポイントがあまり小さくならないように重みをかけるように設定してもよい。
【０１３１】
また、視聴最終日から現在までの経過日数によっては履歴自体を削除するようにしてもよい。例えば、キーワードを格納する履歴数に限界がある場合、視聴最終日から現在までの日数に基づいてキーワードの格納可能日数を制限する。この格納可能日数は、キーワードが抽出された番組のジャンルによって設定していてもよい。
【０１３２】
上記の手法に関し、例えば、スポーツのジャンルの番組から抽出したキーワードＡの最大格納期間は５０日とし、ドラマのジャンルの番組から抽出したキーワードＢの最大格納期間は３０日とする。
【０１３３】
以上のように、ジャンルに応じてキーワードの嗜好ポイントを算出するパラメータにかける重みを変えるようにした場合には、ユーザに番組を推薦する上において、ジャンルごとに異なるキーワードの出現度合い、およびユーザの興味具合に対応することが可能になる。
【０１３４】
次に、上記のようにして求めたキーワードの嗜好ポイントを利用して、各番組に対するユーザの嗜好との合致度を算出する方法について説明する。この合致度が高い番組ほど、ユーザの嗜好に合致している可能性が高いとみなす。
【０１３５】
上記の合致度は、現在の日時以降に視聴可能な各番組のＥＰＧデータ３において、ユーザデータ格納部１２に格納されているキーワードをどれだけ含むか、およびそれらキーワードの嗜好ポイントがそれぞれいくつであるかによって算出される。
【０１３６】
なお、合致度の算出対象となる番組は、現在の日時以降に視聴可能な番組としているが、ユーザやシステムが合致度の算出対象となる番組の範囲を指定し、その範囲内の全ての番組について合致度を算出し、合致度の高い番組を推薦する構成としてもよい。
【０１３７】
番組案内データ格納部８には、番組案内データとして番組に含まれるキーワードが番組ごとに格納されている。また、ユーザデータ格納部１２には、図４に示すように、ジャンル別にキーワードごとの嗜好ポイントが格納されている。合致度算出部１５は、ユーザデータ格納部１２に格納されているキーワードごとの嗜好ポイントを参照して、番組案内データ格納部８に格納されている番組についてユーザの嗜好との合致度を算出する。この場合、ユーザデータ格納部１２から参照するキーワードの嗜好ポイントは、番組案内データ格納部８に格納されている番組案内データのジャンルと一致するジャンルのものである。なお、ユーザデータ格納部１２に格納されていないキーワードについては、嗜好ポイントを０とする。
【０１３８】
合致度の算出方法としては、単純に、各番組のＥＰＧデータ３に含まれる各キーワードについての嗜好ポイントの総計を合致度としてもよい。あるいは、キーワード種別ごとに嗜好ポイントの平均値を算出し、その総計を合致度としてもよい。ここで、図３（ｂ）のような番組案内データと、図４のようなユーザデータがあった場合、キーワード種別ごとに嗜好ポイントの平均値を算出することにより合致度を算出する方法について説明する。
【０１３９】
合致度算出部１５は、図３（ｂ）に示す番組案内データのジャンルがドラマなので、ユーザデータ格納部１２からジャンルがドラマのデータを参照する。図４のユーザデータには、ジャンルがドラマの場合、キーワード種別として、タイトル、出演者および単語があるので、これらキーワード種別ごとの嗜好ポイントの平均値を求める。番組案内データにおけるキーワードのタイトルＡに関し、ユーザデータにおけるキーワードＡの嗜好ポイントは６であるから、キーワード種別がタイトルの嗜好ポイントの平均値は６となる。また、番組案内データにおけるキーワードの俳優Ｂおよび女優Ｃに関し、ユーザデータにおける俳優Ｂの嗜好ポイントは７、および女優Ｃの嗜好ポイントは３であるから、キーワード種別が出演者の嗜好ポイントの平均値は５となる。
【０１４０】
また、番組案内データにおけるキーワードの単語Ｄおよび単語Ｆに関し、ユーザデータにおける単語Ｄおよび単語Ｆの嗜好ポイントは共に８０であるから、キーワード種別が単語の嗜好ポイントの平均値は８０となる。
【０１４１】
したがって、図３（ｂ）の番組案内データに関し、各キーワード種別の平均値の総計から得られる合致度は、
６＋５＋８０＝９１
となる。
【０１４２】
上記の処理においては、利用可能な嗜好ポイントに閾値を設けて、利用する嗜好ポイントを制限してもよい。例えば、閾値を５に設定した場合、嗜好ポイントが５以下のキーワードは有効なキーワードとはならない。この場合、キーワード種別が出演者の嗜好ポイントの平均値は、俳優Ｂの嗜好ポイントのみから計算される結果、７となる。
【０１４３】
このように、利用可能な嗜好ポイントに閾値を設けることで、嗜好ポイントが小さくてユーザが好むキーワードと判断し難いキーワードが除かれる結果、ユーザが好む可能性の高いキーワードのみを利用して合致度を算出することが可能である。なお、上記閾値の値は、ジャンルごと、あるいはキーワード種別ごとに異なる値を設定してもよい。
【０１４４】
同様にして、図３(ｃ)に示す番組案内データがあった場合に、その合致度を算出する。図３（ｃ）の番組案内データのジャンルはスポーツなので、ユーザデータ格納部１２からジャンルがスポーツのユーザデータを参照する。キーワードのタイトルＧの嗜好ポイントは６なので、キーワード種別がタイトルの嗜好ポイントの平均値は６となる。出演者はいないのでキーワード種別が出演者の嗜好ポイントの平均値は０である。キーワードの単語Ｄの嗜好ポイントが１、単語Ｅの嗜好ポイントが９５なので、キーワード種別が単語の嗜好ポイントの平均値は４８となる。したがって、図３（ｃ）に示す番組案内データの合致度は、
６＋０＋４８＝５４
となる。この合致度は、図３(ｂ)の番組案内データよりも低い値となるので、図３（ｂ）の番組案内データに対応する番組の方が優先的に推薦されることになる。
【０１４５】
ここで、本番組推薦装置におけるジャンルを考慮したキーワードの嗜好ポイントに基づく上記の合致度の算出結果に対し、比較例として、ジャンルを考慮しないキーワードの嗜好ポイントに基づく合致度の算出結果を示す。比較例については、上記の場合と同様に、図４のユーザデータを使用し、図３（ｂ）および図３（ｃ）の番組案内データについて、キーワード種別ごとに平均値を求めることにより合致度を算出する。ここでも、図４のユーザデータにおける視聴頻度をそのまま嗜好ポイントとして使用する。
【０１４６】
図３（ｂ）の番組案内データにおいて、キーワード種別がタイトルの嗜好ポイントはタイトルＡのみの６（ジャンル：ドラマ）となる。キーワード種別が出演者の嗜好ポイントは、俳優Ｂの嗜好ポイントが７（ジャンル：ドラマ）、女優Ｃの嗜好ポイントが３（ジャンル：ドラマ）であるから、これらを平均して５となる。キーワード種別が単語の嗜好ポイントは、単語Ｄの嗜好ポイントが８０（ジャンル：ドラマ）と１（ジャンル：スポーツ）とを加えて８１、単語Ｆの嗜好ポイントが８０であるから、これらを平均して８０．５となる。したがって、図３（ｂ）の番組案内データに対応する番組の合致度は、
６＋５＋８０．５＝９１．５
となる。
【０１４７】
同様に、図３（ｃ）の番組案内データにおいて、キーワード種別がタイトルの嗜好ポイントはタイトルＧのみの６（ジャンル：スポーツ）となる。キーワード種別が出演者の嗜好ポイントは０となる。キーワード種別が単語の嗜好ポイントは、単語Ｄの嗜好ポイントが８０（ジャンル：ドラマ）と１（ジャンル：スポーツ）とを加えて８１、単語Ｅの嗜好ポイントが９５（ジャンル：スポーツ）であるから、これらを平均して８８となる。したがって、図３（ｃ）の番組案内データに対応する番組の合致度は
６＋０＋８８＝９４
となる。
【０１４８】
この比較例での合致度は、図３（ｃ）の番組案内データ（ジャンル：スポーツ）の方が図３（ｂ）の番組案内データ（ジャンル：ドラマ）よりも高くなっている。しかしながら、これら両番組案内データにキーワードとして含まれる単語Ｄの嗜好ポイントは、実際にはほとんどがドラマを視聴したことにより得られたものであり、ジャンルがスポーツでの嗜好ポイントは低いものとなっている。したがって、比較例での上記合致度の計算結果に反し、図３（ｃ）の番組案内データ（ジャンル：スポーツ）に対応する番組よりも、図３（ｂ）の番組案内データ（ジャンル：ドラマ）に対応する番組を推薦したほうが、ユーザの好みに則しているといえる。この説明から明らかなように、ジャンル別のキーワードの嗜好ポイントに基づいて推薦番組を選定する方が、ユーザの好みに合致した番組を推薦することができる。
【０１４９】
なお、合致度を算出する上においては、キーワード種別ごとに適宜重みをかけてもよい。例えば、タイトルに重みＧをつける場合は、３×Ｇ＝３Ｇがタイトルの平均値となる。タイトルに重みをつけた場合には、ユーザが過去に視聴した番組の合致度が高くなる。一方、出演者に重みをつけた場合には、出演者に重きをおいた推薦が可能になる。
【０１５０】
また、この場合には、ジャンル別に重みのかけ方をかえても良い。例えば、連続ドラマの場合には、繰り返し同じタイトルの番組を視聴する可能性が高いので、タイトルに重みをつけてもよい。また、映画の場合には、タイトルがさまざまなので、出演者や単語に重みをつけた方が、ユーザがよく見る俳優が出演する映画や、よく見る内容の映画を推薦することが可能になる。
【０１５１】
また、所定の閾値以上の嗜好ポイントを有するキーワードは、別ジャンルであっても合致度算出時にそのキーワードの嗜好ポイントを利用することにしてもよい。例えば、ジャンルＰのある番組案内データがキーワードＡを含む場合において、ユーザデータ格納部１２のジャンルＰでのキーワードＡの嗜好ポイントが低く、ジャンルＱでのキーワードＡの嗜好ポイントが所定の閾値以上であるとき、ジャンルＱでの嗜好ポイントをキーワードＡの嗜好ポイントとして合致度を算出してもよい。これによって、嗜好ポイントの高いキーワードを含む番組が推薦されやすくなる。
【０１５２】
合致度算出部１５では、上記のようにして各番組の合致度を算出すると、その合致度のデータを表示情報生成部１６に出力する。表示情報生成部１６では、入力された合致度のデータに基づいて表示用データを作成し、表示部１７に出力する。表示部１７では、入力された表示用データを画面に表示する。この場合、合致度の高い順に番組を表示しても良いし、番組表に合致度を付与して表示してもよい。
【０１５３】
次に、本実施の形態における番組推薦装置でのユーザデータ作成処理（ユーザデータ更新処理）および番組推薦処理の流れを図６および図７のフローチャート図を使って説明する。なお、これらの処理の前提として、番組推薦装置では、ＥＰＧ受信部６がＥＰＧデータ３を受信すると、ＥＰＧデータ処理部７がＥＰＧデータ３からキーワードを抽出し、番組案内データ格納部８が、ＥＰＧデータ処理部７にて抽出されたキーワードを番組のジャンルごと、かつキーワード種別ごとに番組案内データとして格納する。この処理によって、番組案内データ格納部８に格納される番組案内データは、例えば図３（ｂ）に示すものである。また、嗜好ポイントを算出するパラメータとしては、視聴回数（視聴頻度）を用いるものとする。
【０１５４】
図６に示すように、ユーザが視聴した番組の履歴情報を示す視聴情報１、または本番組推薦装置を含むシステムからの推薦要求情報２が入力されると（Ｓ１０１）、番組推薦装置はＳ１０２以降の処理に入る。
【０１５５】
Ｓ１０２において、入力された情報が視聴情報１であった場合、Ｓ１０３以降のユーザ作成処理を行い、入力された情報が推薦要求情報２であった場合、番組推薦処理を行う（Ｓ１２１）。
【０１５６】
Ｓ１０３において、番組案内データ参照部９は、視聴情報１によって示されるユーザが視聴した番組（ユーザ視聴番組）に相当する、番組案内データ格納部８に格納されている番組案内データを参照して、キーワードを抽出する。
【０１５７】
次に、ジャンル識別部１０は、ユーザ視聴番組のジャンルを前記番組案内データを参照して識別する（Ｓ１０４）。
【０１５８】
次に、ユーザデータ更新部１１は、番組案内データ参照部９にて抽出されたキーワードについて、ユーザデータ格納部１２に格納されているキーワードの属性データを更新する。この場合、ユーザデータ更新部１１は、表記情報の制限が設定されているか否かを判断する（Ｓ１０５）。
【０１５９】
表記情報の制限とは、ＥＰＧデータ３に出現するキーワードの表記の順序・形式などに意味があるとみなし、ユーザデータ格納部１２に格納されているユーザデータにおけるキーワードの視聴回数（視聴頻度）などの属性データを更新するか否か、およびキーワードに視聴回数（視聴頻度）を加算する際の値を変更するか否かなどを、番組のジャンルごとにあらかじめ定めたものである。
【０１６０】
表記情報の制限が設定されている場合、ユーザデータ更新部１１は、表記情報の制限に該当しない（表記情報の条件を満たす）キーワードのみについてユーザデータ格納部１２のユーザデータを更新する（Ｓ１０６〜Ｓ１１４）。
【０１６１】
なお、ここでは、表記情報の制限として、ジャンルがドラマ、かつキーワード種別が出演者のキーワードに関し、ＥＰＧデータ３における表記順序が前から３番目までの出演者（キーワード）のみを更新の対象とすることが設定されているものとする。
【０１６２】
ユーザデータ更新部１１は、Ｓ１０６において、上記のような表記情報の制限が設定されている場合に、表記情報の条件を満たすキーワードを抽出する一方、同制限が設定されていない場合に、全てのキーワードを抽出する。次にユーザデータ更新部１１は、ユーザ視聴番組のジャンルがドラマか否かを判断し、ドラマの場合には出演者が格納されているか否かを調べ、出演者の数が３人以内の場合には全ての出演者（キーワード）を抽出する。一方、出演者の数が３人を超える場合には、前から３番目の出演者（キーワード）のみを抽出する。
【０１６３】
このような処理では、４番目以降の出演者は脇役であり、ユーザの好みではないとみなし、ユーザデータに反映しないことにより、ユーザが好む可能性の高い出演者のみのデータをユーザデータとして格納する。なお、出演者以外のキーワードは全て抽出される。
【０１６４】
次に、ユーザデータ更新部１１は、抽出したキーワードのうち、未処理のものがあるか否かを判定し（Ｓ１０７）、未処理のもがなければ処理を終了する。一方、未処理のものがあれば、それらキーワードのうちの一つをキーワード種別の情報とともに抽出し（Ｓ１０８）、そのキーワードがユーザデータ格納部１２にすでに格納されているか否かを判定する（Ｓ１０９）。ユーザデータ格納部１２内のユーザデータを参照する際には、ユーザ視聴番組のジャンルと同じジャンルの格納場所を検索し、次に、キーワード種別が一致する格納場所を検索し、その中で一致するキーワードがあるか否かを検索する。
【０１６５】
上記の判定において、キーワードがユーザデータ格納部１２に格納済みであった場合には、視聴回数（視聴頻度）を１加算し（Ｓ１１０）、最終視聴日を視聴日時に更新し（Ｓ１１１）、Ｓ１０７に戻る。
【０１６６】
Ｓ１０９において、Ｓ１０８にて抽出したキーワードがユーザデータ格納部１２に格納されていない場合、そのキーワードをユーザデータ格納部１２に格納可能か否かを判断する（Ｓ１１２）。この判断は、例えば、ユーザデータ格納部１２を格納するメモリの許容量に基づいて行う。
【０１６７】
上記判断の結果、キーワードをユーザデータ格納部１２に格納可能であれば、そのキーワードを同じジャンル、かつ同じキーワードと関連づけて格納し（Ｓ１１４）、視聴回数（視聴頻度）を１とし、最終視聴日を視聴日時とする。
【０１６８】
一方、Ｓ１１２において、メモリの許容量の制限からキーワードを格納できない場合には、既に格納されているキーワードを一つ削除する（Ｓ１１３）。削除するキーワードは、最終視聴日から現在の日付までの経過日数に基づいて抽出する。この場合、最終視聴日から現在の日付までの経過日数が何日以上のキーワードに対して削除を許容するかという、最終視聴日からの最大格納日数をあらかじめジャンル別に決めておく。したがって、Ｓ１１３の処理においては、ユーザデータ格納部１２に格納されている各キーワードについて、最終視聴日時から最大格納日数を超えているものを検索し、該当するものがあればそのキーワードを削除する。該当するものがない場合には、視聴回数が１回しかなく、最大格納日数に最も近いキーワードを削除する。
【０１６９】
次に、Ｓ１０２において、入力された情報が推薦要求情報２であった場合の番組推薦処理の流れを図７のフローチャートに基づいて説明する。
【０１７０】
番組推薦装置では、Ｓ２０１〜Ｓ２０８において、ユーザデータ格納部１２の各キーワードの視聴頻度から嗜好ポイントを算出する。
【０１７１】
この場合、嗜好ポイント算出部１４は、ユーザデータ格納部１２のユーザデータにおいて、未処理のキーワードがあるか否かを判断し（Ｓ２０１）、なければＳ２０８以降の処理に進む。一方、未処理のキーワードがあれば、そのうちの一つを抽出する（Ｓ２０２）。
【０１７２】
次に、嗜好ポイント算出部１４は、各キーワードに対する嗜好ポイントを算出する際に、利用するパラメータの値にかける重み係数がジャンル別に設定されている場合、Ｓ２０２にて抽出したキーワードのジャンルに対してあらかじめ設定されている重みを参照する（Ｓ２０３）。ここでは、パラメータとして視聴回数（視聴頻度）のみを利用するので、嗜好ポイントは、（視聴回数）×（該当するジャンルの重み）となる。
【０１７３】
次に、嗜好ポイント算出部１４は、ジャンル別に設定した嗜好ポイントを算出する際の条件を参照し（Ｓ２０４）、キーワードについての嗜好ポイントを算出する（Ｓ２０５）。
【０１７４】
ここでは、例えば、野球のジャンルの中で、最も視聴頻度が高いキーワードのみの嗜好ポイントを算出し、それ以外のキーワードの嗜好ポイントを０にする条件が設定されているものとする。この場合、チーム名をあらかじめ全て登録しておくなど、チーム名が識別できる場合は、同じキーワード種別の中ではなく、チーム名の中で最も視聴頻度の高いチームのみの嗜好ポイントを算出し、それ以外のチーム名の嗜好ポイントを０にするようにしてもよい。
【０１７５】
次に、嗜好ポイント算出部１４は、嗜好ポイントに閾値を設けて合致度算出時に利用する嗜好ポイントを制限するような制限が設定されている場合、Ｓ２０５にて算出した嗜好ポイントが閾値を超えているか否かを判断し（Ｓ２０６）、超えていない場合には、嗜好ポイントを０にする（Ｓ２０７）。
【０１７６】
上記のようにして、嗜好ポイント算出部１４によりユーザデータ格納部１２のユーザデータにおける全てのキーワードについて嗜好ポイントが算出されると、Ｓ２０８以降の理に進む。
【０１７７】
Ｓ２０８は、あるジャンルにおいて閾値以上の嗜好ポイントを有するキーワードについて、別ジャンルにもその嗜好ポイントの値を利用して合致度を算出する条件が設定されている場合の処理である。この場合には、Ｓ２０８において、先ず、ユーザデータ格納部１２のユーザデータにおける全てのキーワードを検索して、閾値を超える嗜好ポイントＡを有するキーワードがあるか否かを調べる。次に、閾値を超えるキーワードがあった場合、そのキーワードについて別ジャンルでの有無を検索する。そして、同一キーワードが別のジャンルに存在し、そのキーワードの嗜好ポイントＢが嗜好ポイントＡより小さい場合には、嗜好ポイントＢを嗜好ポイントＡの値に置き換える。
【０１７８】
Ｓ２０９以降では、番組ごとにユーザの嗜好との合致度を算出し、合致度の高い番組から順に表示部１７に表示する場合の処理について説明する。
【０１７９】
合致度算出部１５は、番組案内データ格納部８に格納されている番組案内データについて、未処理の番組案内データがあるか否かを調べ（Ｓ２０９）、あればそのうちの一つを抽出する（Ｓ２１０）。
【０１８０】
次に、合致度算出部１５は、番組案内データ格納部８を参照し、抽出した番組案内データのジャンルを識別し(Ｓ２１１)、さらにその番組案内データに含まれているキーワードを抽出する(Ｓ２１２)。
【０１８１】
次に、合致度算出部１５は、Ｓ２１１にて抽出した番組案内データのジャンルと同じジャンルのキーワードをユーザデータ格納部１２において検索し、これによって抽出したキーワードの嗜好ポイントを参照し、合致度を算出する（Ｓ２１３）。この場合、ユーザデータ格納部１２のユーザデータはキーワードがジャンル別に格納されており、合致度算出部１５は、Ｓ２１１にて抽出した番組のジャンルと一致するジャンルのデータ（嗜好ポイント）をユーザデータから参照して合致度を算出する。したがって、番組案内データ格納部８に格納されている番組案内データについて、ジャンル別にユーザの好みに対する合致度を算出可能である。
【０１８２】
なお、ユーザデータ格納部１２に存在しないキーワードの嗜好ポイントは０として算出する。また、キーワード種別に重みをかける場合は、どのジャンルにおいてどのキーワード種別にどれくらいの重みをかけるかをあらかじめ決めておき、それに従って合致度を算出する。
【０１８３】
上記の処理を番組案内データ格納部８の各番組案内データに対して行い、未処理の番組案内データがなくなると、表示情報生成部１６は、合致度の高い番組案内データを抽出する（Ｓ２１４）。表示部１７は、表示情報生成部１６にて抽出された番組案内データを推薦番組として表示する。この場合、合致度を番組表（例えばＥＰＧ）に付与して表示してもよい。
【０１８４】
以上のように、本番組推薦装置では、視聴した番組のＥＰＧデータ３から抽出したキーワードの視聴頻度をユーザデータ格納部１２に格納する際に、ジャンル別に格納することによって、番組推薦時にジャンルごとの視聴傾向を考慮した推薦を行うことが可能であり、これによってユーザの嗜好に適合した番組を高い精度で推薦することができる。
【０１８５】
なお、キーワードについては、ジャンル別に頻度をとる以外に、曜日、時間帯などの項目別に頻度をとるとも可能である。この場合、番組案内データから、曜日または時間帯の情報を抽出し、曜日別、または時間帯別に頻度をとる。曜日別または時間帯別のなかに、さらにジャンル別に頻度をとってもよい。曜日は、日付け情報から曜日を推定し、時間帯は、06:00〜12:00を午前、12:00〜18:00を昼、18:00〜23:00を夜、23:00〜翌06:00を深夜、などのようにあらかじめ設定しておくとよい。
【０１８６】
また、複数のジャンルをまとめて一つのグループとし、グループごとに頻度をとることも可能である。この場合、ＥＰＧテキスト情報内にある単語を含む場合はグループ１、別の単語を含む場合はグループ２、というようにＥＰＧテキスト情報内の情報を利用して独自にグループ分けしてもよい。
【０１８７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０１８８】
本発明の番組推薦装置は、ＥＰＧを利用してユーザの視聴データを蓄積する録画機器、テレビ、パソコンなどの機器に適用可能であり、それら機器おいて、視聴データからユーザの嗜好を蓄積し、蓄積した嗜好データを用いて番組を推薦する。この場合、視聴データをジャンル別に蓄積するので、ジャンルごとの視聴傾向を考慮した推薦を行うことができ、よりユーザの嗜好に合致した番組を推薦できる。
【図面の簡単な説明】
【０１８９】
【図１】本発明の実施の一形態における番組推薦装置の機能的構成を示すブロック図である。
【図２】図１に示した番組推薦装置のハードウエアの構成を示すブロック図である。
【図３】図３（ａ）は図１に示した番組推薦装置が受信するＥＰＧデータの説明図、図３（ｂ）は、図３（ａ）のＥＰＧデータから抽出され、図１に示した番組案内データ格納部に格納される番組案内データの一例を示す説明図、図３（ｃ）は他の番組案内データの例を示す説明図である。
【図４】図１に示したユーザデータ格納部に格納されるユーザデータの一例を示す説明図である。
【図５】図５（ａ）は、ＥＰＧデータから抽出され、図１に示した番組案内データ格納部に格納される番組案内データのさらに他の例を示す説明図、図３（ｂ）は番組案内データのさらに他の例を示す説明図、図３（ｃ）は番組案内データのさらに他の例を示す説明図である。
【図６】図１に示した番組推薦装置におけるユーザデータ作成処理（ユーザデータ更新処理）の流れを示すフローチャートである。
【図７】図１に示した番組推薦装置における番組推薦処理の流れを示すフローチャートである。
【図８】図１に示した表示情報生成部にて抽出された推薦番組についての表示部での表示例を示す説明図である。
【図９】従来の番組推薦装置にて格納されるユーザデータの一例を示す説明図である。
【符号の説明】
【０１９０】
１    視聴情報
２    推薦要求情報
３    ＥＰＧデータ
７    ＥＰＧデータ処理部
８    番組案内データ格納部（番組案内データ格納手段）
９    番組案内データ参照部（番組データ抽出手段）
１０    ジャンル識別部（番組データ抽出手段）
１１    ユーザデータ更新部（ユーザデータ作成手段）
１２    ユーザデータ格納部（ユーザデータ格納手段）
１３    ユーザデータ参照部
１４    嗜好ポイント算出部（推薦番組決定手段）
１５    合致度算出部（推薦番組決定手段）
１６    表示情報生成部（推薦番組決定手段）
１７    表示部（推薦番組表示手段）
【図１】
2006094018.tif 000003
【図２】
2006094018.tif 000004
【図３】
2006094018.tif 000005
【図４】
2006094018.tif 000006
【図５】
2006094018.tif 000007
【図６】
2006094018.tif 000008
【図７】
2006094018.tif 000009
【図８】
2006094018.tif 000010
【図９】
2006094018.tif 000011