(57)【特許請求の範囲】
【請求項１】
視聴中の番組に関連するキーワードと、前記番組に対応付けてベクトル量で設定されたジャンル情報とを対応付けて記録するキーワードリスト記録部と、
前記番組に関する情報から前記ジャンル情報を抽出する番組ジャンル抽出部と、
前記番組ジャンル抽出部により抽出された前記番組のジャンル情報と、前記キーワードリスト記録部に記録された前記キーワードのジャンル情報との前記ベクトル量におけるベクトル距離を演算するベクトル距離演算部と、
前記ベクトル距離演算部により得られるベクトル距離に基づいて、前記番組に関連するキーワードをソートしたキーワードリストを生成するキーワードソート部と、
を備えることを特徴とするキーワードリスト生成装置。
【請求項２】
前記番組のジャンルの種類を推定する番組ジャンル推定部を更に備え、
前記キーワードソート部は、前記番組ジャンル推定部により、前記番組に関連付けられた時系列のタグのジャンル情報から推定された番組のジャンルに基づいて、前記キーワードリストに含まれるキーワードをソートする、
ことを特徴とする請求項１に記載のキーワードリスト生成装置。
【請求項３】
前記キーワードとともに前記ジャンル情報を記録するキーワード辞書記録部と、
前記キーワード辞書記録部のデータを更新するキーワード辞書更新部とを更に備え、
前記キーワード辞書更新部は、前記番組に関連付けられたタグのジャンル情報により、前記キーワード辞書記録部に記録されたジャンルベクトルを更新する、
ことを特徴とする請求項２に記載のキーワードリスト生成装置。
【請求項４】
請求項１乃至３の何れか１項に記載のキーワードリスト生成装置と、
１又は複数の過去の放送コンテンツを記録した放送コンテンツ蓄積装置と、
前記放送コンテンツ蓄積装置から、指定した放送日時の放送コンテンツを取得するコンテンツ取得装置と、
前記キーワードリスト生成装置により生成されたキーワードリストを前記放送コンテンツに多重する表示制御装置と、
前記表示制御装置の出力する放送コンテンツを表示する表示装置と、を備え、
前記表示制御装置は、前記表示装置に表示されたキーワードリストから前記キーワードの選択を受け付け、受け付けたキーワードが付加された他の放送コンテンツを前記表示装置に表示させる、
ことを特徴とするコンテンツ視聴装置。
【請求項５】
放送波を受信し、受信した放送波に付加された放送コンテンツと、番組情報と、字幕情報とを出力する放送波受信装置と、
リアルタイムの放送コンテンツとタイムシフトの放送コンテンツとを切り替えるコンテンツ切替装置と、を更に備え、
前記表示制御装置は、前記表示装置に表示されたキーワードリストからのキーワードの選択を受け付け、受け付けたキーワードが付加された前記リアルタイムの放送コンテンツまたは前記タイムシフトの放送コンテンツを前記表示装置に表示させる、
ことを特徴とする請求項４に記載のコンテンツ視聴装置。
【請求項６】
コンピューターに、
視聴中の番組に関連するキーワードと、前記番組に対応付けてベクトル量で設定されたジャンル情報とを対応付けて記録部に記録するキーワードリスト記録ステップと、
前記番組に関する情報から前記ジャンル情報を抽出する番組ジャンル抽出ステップと、
前記番組ジャンル抽出ステップにより抽出された前記番組のジャンル情報と、前記記録
部に記録された前記キーワードのジャンル情報との前記ベクトル量におけるベクトル距離を演算するベクトル距離演算ステップと、
前記ベクトル距離演算ステップにより得られるベクトル距離に基づいて、前記番組に関連するキーワードをソートしたキーワードリストを生成するキーワードソートステップと、
を実行させるためのキーワードリスト生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーワードリスト生成装置、コンテンツ視聴装置、およびキーワードリスト生成プログラムに関する。
【背景技術】
【０００２】
近年、記録容量の増加、ネットワークの広帯域化により、視聴者が都合のよい時間に過去の放送番組を視聴するタイムシフト視聴環境が整い始めている。例えば、放送番組の全チャンネルを２４時間全て録画しておく全録画機や、放送局等のコンテンツ提供者が放送番組をインターネット等の有線設備を使って提供するビデオ・オン・デマンド（ＶＯＤ）サービスがこれにあたる。
【０００３】
また、大量に保管された過去の放送番組の中から、視聴者が見たい番組を探す方法として、視聴者が入力したキーワードや、視聴中の番組に関連するキーワードにタグ付けされた放送番組をリストアップした上で、その中から見たい番組を選択する方法がある（例えば、非特許文献１〜３および特許文献１参照）。
【０００４】
また、視聴中の番組に関連するキーワードのリストを提示した上で、その中から視聴者が興味のあるキーワードを選択する場合には、視聴中の放送番組にできるだけ関連のある（選ばれる可能性の高い）キーワードが上位となるようにソートして提示することが好ましい。放送番組に関連するキーワードリストをソートする方法としては、キーワードの重要性について定量化を行うｔｆ（term frequency）−ｉｄｆ（inverse document frequency）を利用する方法がある（例えば、非特許文献４参照）。ｔｆ−ｉｄｆでは、例えば文書（放送番組）ｊにおける単語（キーワード）ｉの出現頻度をｎｉｊ、文書（放送番組）の総数をＤとすると、文書ｊにおける単語ｉのｔｆ−ｉｄｆｉｊは、以下の式で表すことができる。
ｔｆ−ｉｄｆｉｊ＝ｔｆｉｊ×ｉｄｆｉ
ｔｆｉｊ＝ｎｉｊ／Σｋｎｋｊ
ｉｄｆｉ＝ｌｏｇ（Ｄ／Σｊｓｇｎ（ｎｉｊ））
ここで、ｓｇｎ（ｘ）はｘ＝０で０、ｘ＞０で１となる関数である。上述した式を用いて対象文書（視聴中の番組）ｊに出現する各単語のｔｆ−ｉｄｆ値を計算し、その値に基づいてソートすることで、キーワードのリストを関連の高い順にソートする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１７８７４９号公報
【非特許文献】
【０００６】
【非特許文献１】加藤雅也他、「録画視聴をより楽しむためのみどころシーン再生及びタグリストサービス」、東芝レビュー、Vol.68, No.5, pp.14-17, 2013
【非特許文献２】山下道生、「番組シーン再生のための字幕情報を用いた検索技術」、東芝レビュー、Vol.69, No.4, pp.50-53, 2014
【非特許文献３】金子豊他、「放送時刻でアクセス可能な放送コンテンツのアーカイブシステムの試作」、情報処理学会第75回全国大会, 2E-2, 2013
【非特許文献４】谷口忠大、「イラストで学ぶ人工知能概論」、p.175, 株式会社講談社, 2014年9月25日発行
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したｔｆ−ｉｄｆの計算には、文書数×単語数のサイズの出現頻度行列が必要であり、文書数または単語数が増加するほど計算コストが高くなってしまう場合があった。また、文書の総数（番組数）が変わった場合、全てのｉｄｆ値を再計算することが必要となるため、結果として全てのｔｆ−ｉｄｆ値の再計算が必要となる。同様に、新しい単語（キーワード）が追加された場合も、全てのｔｆ−ｉｄｆ値の再計算が必要となる。したがって、例えば、放送番組のように逐次番組数が増える環境や、数年分の放送番組のような大量の文書を対象とした場合、ｔｆ−ｉｄｆの計算コストが高くなってしまう場合があった。また、ｔｆ−ｉｄｆは放送番組が終了し、その放送番組中に出現するキーワードの出現頻度が確定しないと計算できないため、放送波によるリアルタイムでの視聴中には対応できない場合があった。
【０００８】
本発明は、上記問題を解決すべくなされたもので、その目的は、視聴中の番組に関連するキーワードを迅速に関連の高い順にソートして提示することができるキーワードリスト生成装置、コンテンツ視聴装置、およびキーワードリスト生成プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
［１］上記問題を解決するために、本発明の一態様は、視聴中の番組に関連するキーワードと、前記番組に対応付けてベクトル量で設定されたジャンル情報とを対応付けて記録するキーワードリスト記録部と、前記番組に関する情報から前記ジャンル情報を抽出する番組ジャンル抽出部と、前記番組ジャンル抽出部により抽出された前記番組のジャンル情報と、前記キーワードリスト記録部に記録された前記キーワードのジャンル情報との前記ベクトル量におけるベクトル距離を演算するベクトル距離演算部と、前記ベクトル距離演算部により得られるベクトル距離に基づいて、前記番組に関連するキーワードをソートしたキーワードリストを生成するキーワードソート部と、を備えることを特徴とするキーワードリスト生成装置である。
【００１０】
［２］また、本発明の一態様は、上記のキーワードリスト生成装置において、前記番組のジャンルの種類を推定する番組ジャンル推定部を更に備え、前記キーワードソート部は、前記番組ジャンル推定部により、前記番組に関連付けられた時系列のタグのジャンル情報から推定された番組のジャンルに基づいて、前記キーワードリストに含まれるキーワードをソートすることを特徴とする。
【００１１】
［３］また、本発明の一態様は、上記のキーワードリスト生成装置において、前記キーワードとともに前記ジャンルのジャンル情報を記録するキーワード辞書記録部と、前記キーワード辞書記録部のデータを更新するキーワード辞書更新部とを更に備え、前記キーワード辞書更新部は、前記番組に関連付けられたタグのジャンル情報により、前記キーワード辞書記録部に記録されたジャンルベクトルを更新することを特徴とする。
【００１２】
［４］また、本発明の一態様は、上記のキーワードリスト生成装置と、１又は複数の過去の放送コンテンツを記録した放送コンテンツ蓄積装置と、前記放送コンテンツ蓄積装置から、指定放送日時の放送コンテンツを取得するコンテンツ取得装置と、前記キーワードリスト生成装置により生成されたキーワードリストを前記放送コンテンツに多重する表示制御装置と、前記表示制御装置の出力する放送コンテンツを表示する表示装置と、を備え、前記表示制御装置は、前記表示装置に表示されたキーワードリストから前記キーワードの選択を受け付け、受け付けたキーワードが付加された他の放送コンテンツを前記表示装置に表示させる、ことを特徴とするコンテンツ視聴装置である。
【００１３】
［５］また、本発明の一態様は、上記のコンテンツ視聴装置において、放送波を受信し、受信した放送波に付加された放送コンテンツと、番組情報と、字幕情報とを取得する放送波受信装置と、リアルタイムの放送コンテンツとタイムシフトの放送コンテンツとを切り替えるコンテンツ切替装置と、を更に備え、前記表示制御装置は、前記表示装置に表示されたキーワードリストからのキーワードの選択を受け付け、受け付けたキーワードが付加された前記リアルタイムの放送コンテンツまたは前記タイムシフトの放送コンテンツを前記表示装置に表示させることを特徴とする。
【００１４】
［６］また、本発明の一態様は、コンピューターに、視聴中の番組に関連するキーワードと、前記番組に対応付けてベクトル量で設定されたジャンル情報とを対応付けて記録部に記録するキーワードリスト記録ステップと、前記番組に関する情報から前記ジャンル情報を抽出する番組ジャンル抽出ステップと、前記番組ジャンル抽出ステップにより抽出された前記番組のジャンル情報と、前記記録部に記録された前記キーワードのジャンル情報との前記ベクトル量におけるベクトル距離を演算するベクトル距離演算ステップと、前記ベクトル距離演算ステップにより得られるベクトル距離に基づいて、前記番組に関連するキーワードをソートしたキーワードリストを生成するキーワードソートステップと、を実行させるためのキーワードリスト生成プログラムである。
【発明の効果】
【００１５】
本発明の一態様によれば、視聴中の番組に関連するキーワードを迅速にソートすることができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態によるキーワードリスト生成装置１００の概略機能構成を示す機能ブロック図である。
【図２】本実施形態によるコンテンツ視聴装置２００の概略機能構成を示す機能ブロック図である。
【図３】コンテンツ視聴装置２００のザッピング視聴動作を説明する図である。
【図４】番組のジャンルの一例を示す図である。
【図５】遠隔操作装置２６０の外観の一例を示す図である。
【図６】番組情報記録部１５０、キーワード辞書記録部１６０、およびタグ記録部１７０のデータを更新するデータ更新部１８０の動作を説明する図である。
【図７】番組情報記録部１５０に記録されるデータの一例を示す図である。
【図８】キーワード辞書記録部１６０に記録されるデータの一例を示す図である。
【図９】タグ記録部１７０に記録されるデータの一例を示す図である。
【図１０】番組ジャンル抽出部１８２におけるジャンルベクトルの計算例を説明するための図である。
【図１１】番組ジャンル抽出部１８２におけるジャンルベクトル計算処理の一例を示すフローチャートである。
【図１２】キーワード辞書更新部１８６におけるキーワード辞書更新処理の一例を示すフローチャートである。
【図１３】リアルタイム視聴時のキーワードリスト生成装置１００の動作の構成を示す図である。
【図１４】キーワードリスト記録部１３０に記録されるデータの一例を示す図である。
【図１５】番組ジャンル推定部４０２の動作を説明するための図である。
【図１６】番組ジャンル推定部４０２における番組ジャンル推定処理の一例を示すフローチャートである。
【図１７】タイムシフト視聴時のキーワードリスト生成装置１００の動作の構成を示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら、本発明の実施形態によるキーワードリスト生成装置、コンテンツ視聴装置、およびキーワードリスト生成プログラムについて説明する。
【００１８】
［キーワードリスト生成装置１００の概略機能構成］
図１は、本実施形態によるキーワードリスト生成装置１００の概略機能構成を示す機能ブロック図である。図１に示すキーワードリスト生成装置１００は、番組ジャンル判定部１１０と、キーワードリストソート部１２０と、キーワードリスト記録部１３０と、ジャンルベクトル検索部１４０と、番組情報記録部１５０と、キーワード辞書記録部１６０と、タグ記録部１７０と、データ更新部１８０とを備えている。なお、上述したキーワードリスト記録部１３０、番組情報記録部１５０、およびキーワード辞書記録部１６０、およびタグ記録部１７０は、１または複数の「記録部」として構成されていてもよい。
【００１９】
キーワードリスト生成装置１００は、現在視聴中の放送コンテンツの再生番組時刻から放送番組を特定し、その放送番組に関連付けられたタグのキーワードリストＬを生成する。
【００２０】
番組ジャンル判定部１１０は、リアルタイム視聴時に、入力された番組情報Ｐとキーワードリスト記録部１３０に記録されたキーワードリストのジャンルベクトルから、現在時刻における番組のジャンルを判定する。なお、番組情報Ｐとは、例えばＥＰＧ（電子番組ガイド）のデータのうち、番組の開始日時、番組の終了日時、番組タイトル、番組ジャンル、およびチャンネル等のうち、少なくとも１つであるが、これに限定されるものではない。
【００２１】
また、番組ジャンル判定部１１０は、判定結果に対応付けてジャンルベクトルを生成し、生成したジャンルベクトルをキーワードリストソート部１２０に出力する。ここで、ジャンルベクトルとは、番組に対応付けて設定されたジャンル情報をベクトル量として表現したものである。ジャンルベクトルの詳細については、後述する。
【００２２】
また、番組ジャンル判定部１１０は、タイムシフト視聴時に、現在視聴中の再生番組時刻から番組情報Ｐを取得し、取得した番組情報Ｐに対して、キーワードリスト記録部１３０に記録されたキーワードリストのジャンルベクトルから、視聴中の番組のジャンルを判定する。また、番組ジャンル判定部１１０は、判定結果に対応付けてジャンルベクトルを生成し、生成したジャンルベクトルをキーワードリストソート部１２０に出力する。
【００２３】
キーワードリストソート部１２０は、番組ジャンル判定部１１０により得られる番組のジャンルベクトルと、キーワードリスト記録部１３０により得られるキーワードのジャンルベクトルとに基づいて、番組のジャンルベクトルとキーワードのジャンルベクトルとのベクトル距離を計算する。また、キーワードリストソート部１２０は、計算したベクトル距離からキーワードリストをソートし、ソートしたキーワードリストＬを出力する。
【００２４】
キーワードリスト記録部１３０は、表示された番組に対応付けられたキーワードリストに表示されるキーワードが記録される。なお、キーワードリスト記録部１３０は、ジャンルベクトル付きのタグ情報が記録されてもよい。また、キーワードリスト記録部１３０は、番組情報Ｐが変わったタイミングで記録内容を消去してもよい。これにより、キーワードリスト記録部１３０には、現在視聴中の番組に関連したタグのみが記録される状態にすることができる。
【００２５】
ジャンルベクトル検索部１４０は、字幕情報Ｑを入力し、番組情報記録部１５０、キーワード辞書記録部１６０およびタグ記録部１７０に含まれる各情報から字幕情報Ｑに対応するジャンルベクトルを検索する。ここで、字幕情報Ｑとは、番組に対応した文字データであり、映画の字幕等に限定されず、字幕放送として番組に対応付けられたデータであってもよい。また、字幕に限定されず、番組に関連した文字データであってもよい。字幕情報Ｑは、例えばテキストデータと、そのテキストデータの表示開始日時を組にしたデータである。ジャンルベクトル検索部１４０は、検索により取得したジャンルベクトルをキーワードリスト記録部１３０に記録する。
【００２６】
番組情報記録部１５０は、各番組情報に関する情報が記録される。記録される情報としては、例えば番組の開始日時、終了日時、タイトル、ジャンル、チャンネル等が記録されるが、記録される内容については、これに限定されるものではなく、登場人物等が記録されていてもよい。
【００２７】
キーワード辞書記録部１６０は、キーワードごとにジャンル、ジャンルベクトルが記録されている。タグ記録部１７０は、タグの関連付けられた日時とキーワード名、チャンネルが組となったデータが記録されている。
【００２８】
データ更新部１８０は、入力された番組情報Ｐを番組情報記録部１５０に記録する。また、データ更新部１８０は、入力された字幕情報Ｑから抽出したタグをタグ記録部１７０に記録する。また、データ更新部１８０は、キーワード辞書記録部１６０に登録されているキーワードに対応したジャンルベクトルを更新する。なお、データ更新部１８０への入力となる番組情報Ｐと字幕情報Ｑとは、視聴者の視聴状況にかかわらず、常に動作している方が、キーワード辞書記録部１６０に記録される各キーワードのジャンルベクトルの精度は高くなる。したがって、タイムシフト視聴時も、放送中の番組の番組情報Ｐと字幕情報Ｑを受信し、データ更新部１８０が稼働していることが好ましい。
【００２９】
［キーワードリスト生成装置１００を備えたコンテンツ視聴装置２００の機能構成例］
次に、上述したキーワードリスト生成装置１００を備えたコンテンツ視聴装置の概略機能構成について、図を用いて説明する。図２は、本実施形態によるコンテンツ視聴装置２００の概略機能構成を示す機能ブロック図である。図２に示すコンテンツ視聴装置２００は、放送コンテンツ蓄積装置（放送コンテンツ蓄積部）２１０と、コンテンツ取得装置（コンテンツ取得部）２２０と、放送波受信装置（放送波受信部）２３０と、コンテンツ切替装置（コンテンツ切替部）２４０と、表示制御装置（表示制御部）２５０と、遠隔操作装置（リモートコントローラ、遠隔操作部）２６０と、表示装置（表示部）２７０と、上述したキーワードリスト生成装置１００とを備える。
【００３０】
図２に示す放送コンテンツ蓄積装置２１０は、１又は複数の過去の放送コンテンツが記録されている。コンテンツ取得装置２２０は、放送日時を指定することで、放送コンテンツ蓄積装置２１０から、指定した放送日時に対応する放送コンテンツを取得することができる。例えば、コンテンツ取得装置２２０は、放送コンテンツ蓄積装置２１０から、タイムシフト視聴中の放送日時（再生番組時刻Ｔ）の放送コンテンツを取得する。
【００３１】
放送波受信装置２３０は、放送局等から送信される番組（テレビ）の放送波等を受信する装置であり、受信した放送波から現在放送中の映像および音声等の放送コンテンツと、それに付随する番組情報Ｐおよび字幕情報Ｑとを取得する。
【００３２】
コンテンツ切替装置２４０は、リアルタイムの放送コンテンツとタイムシフトの放送コンテンツとを切り替える。コンテンツ切替装置２４０は、現在視聴中の再生番組時刻Ｔに基づいて、放送波受信装置２３０からの放送コンテンツと、コンテンツ取得装置２２０からの放送コンテンツとを切り替える。すなわち、再生番組時刻Ｔが現在の場合には、放送波受信装置２３０からの放送コンテンツを選択し、再生番組時刻Ｔが過去の場合には、コンテンツ取得装置２２０からの放送コンテンツを選択する。
【００３３】
表示制御装置２５０は、放送コンテンツにキーワードリストを多重する。例えば、表示制御装置２５０は、コンテンツ切替装置２４０からの放送コンテンツと、キーワードリスト生成装置１００が作成したキーワードリストＬとを合成し、合計したデータを表示装置２７０に表示させる。
【００３４】
また、表示制御装置２５０は、表示装置２７０に表示されたキーワードリストからのキーワードの選択を受け付け、受け付けたキーワードが付加された他の放送コンテンツを表示装置２７０に表示させる。例えば、表示制御装置２５０は、受け付けたキーワードが付加されたリアルタイムの放送コンテンツまたはタイムシフトの放送コンテンツを表示装置２７０に表示させる。また、キーワードは、例えば遠隔操作装置２６０から得ることができる。
【００３５】
遠隔操作装置２６０は、視聴者等により表示装置２７０に表示されたキーワードリストから選択されたキーワード（タグ）を受け付け、受け付けたキーワードを表示制御装置２５０に出力する。また、遠隔操作装置２６０は、コンテンツ視聴装置の電源のＯＮ／ＯＦＦ、チャンネルの切り替え操作等を受け付け、受け付けたキーワードを表示制御装置２５０に出力する。
【００３６】
表示装置２７０は、表示制御装置２５０が出力する放送コンテンツやキーワードリストＬ、その合成画像等を画面に表示する。表示装置２７０は、例えばＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）表示装置等である。
【００３７】
本実施形態では、例えば大量の放送コンテンツを視聴するコンテンツ視聴装置において、視聴中の番組に関連するキーワードのリストが与えられ、番組に関連するキーワード（多くの人が興味をもつと思われるキーワード）ができるだけ上位になるように、そのリストをソートする。また、本実施形態では、放送コンテンツ（放送番組等）およびキーワードの増加に対しても演算コストの低いソート方法を実現する。
【００３８】
次に、上述したコンテンツ視聴装置２００の動作について、図を用いて具体的に説明する。図３は、コンテンツ視聴装置２００のザッピング視聴動作を説明する図である。図３の例において、視聴者は、表示装置２７０で現在放送中の放送番組または、過去に放送した放送コンテンツを、遠隔操作装置２６０を操作しながらザッピング視聴することができる。なお、本実施形態におけるザッピング視聴とは、番組視聴において、遠隔操作装置２６０でチャンネルを頻繁に切り替えながら視聴することである。また、本実施形態におけるザッピング視聴には、例えばリアルタイムで放送される複数の番組（チャンネル）間で切り替える場合や、タイムシフトにおける複数の番組間で切り替える場合、リアルタイムで放送される番組と、タイムシフトにおける番組とで切り替える場合を含む。
【００３９】
図３では、最初の状態として、現在日時が「２０１５年１２月２０日の２２時３５分３０秒」であり、その時刻の放送番組を視聴しているとする。現在の放送時刻における番組情報Ｐは、放送開始日時が「２０１５年１２月２０日２２時００分００秒」、番組終了日時が「２０１５年１２月２０日２３時００分００秒」、タイトルが「バラエティショー」、ジャンルは「0x50,0x22,0x2f」としている。
【００４０】
このジャンルは、例えば予め番組提供者側（放送局側）により設定される。ここで、図４は、番組のジャンルの一例を示す図である。図４に示すジャンルは、一例として「電波産業会、“デジタル放送に使用する番組配列情報  −  第２部 番組配列情報における基本情報のデータ構造と定義：付録Ｈ コンテント記述子におけるジャンル指定”、ＡＲＩＢ  ＳＴＤ−Ｂ１０」等を用いて設定することができるが、これに限定されるものではない。
【００４１】
図４に示す示す例では、ジャンルの大分類の種類が１６種類、更に大分類ごとに１６種類の中分類が設定されている。したがって、全ジャンルの中分類の合計は２５６種類となっている。以下のこのジャンルの種類を基準として説明するが、他の分類方法等があればそれを用いて番組のジャンルを設定してもよい。
【００４２】
図３に戻り、図３の下部には、番組に関連付けられたタグを示している。ここでタグとは、番組の放送日時に関連付けられたキーワードとする。図３の例では、現在放送しているタイトル「バラエティショー」に関連付けられたタグと、過去に放送された番組タイトル「歌謡ショーＡ」に関連付けられたタグが示されている。
【００４３】
すなわち、「歌謡ショーＡ」には、「２０１５年１２月１４日の１４時００分００秒」にキーワード「歌謡ショーＡ」、「１４時１５分００秒」の同一時刻に「Ａさん」、「Ｂさん」、および「Ｃさん」の３つのタグ、「１４時３２分００秒」に「曲名１」、「１４時４０分００秒」に「曲名２」の各タグが関連付けられている。また、「バラエティショー」には、「２０１５年１２月２０日の２２時００分００秒」に「バラエティショー」、「２２時１０分００秒」に「Ｋさん」、「２２時１５分００秒」に「Ｃさん」の各タグが関連付けられている。
【００４４】
視聴者が視聴している番組は、表示装置２７０に表示されている。また、図３では、表示装置２７０に表示された番組画面３００の右側にキーワードリスト３０２が同時に表示されているが、キーワードリスト３０２が表示される位置については、これに限定されるものではなく、例えば、番組画面３００の下側に表示してもよく、番組画面３００とは別の画面に表示させてもよい。
【００４５】
番組画面３００に表示されるキーワードリスト３０２には、視聴中の番組に関連するタグのキーワードが表示される。すなわち、図３では視聴中の番組「バラエティショー」には、３つのタグが関連付けられているので、「バラエティショー」、「Ｋさん」、および「Ｃさん」の３つのキーワードがキーワードリスト３０２に表示されている。
【００４６】
キーワードリスト３０２には視聴者がキーワードを選択できるようにカーソル３０４が表示されている。視聴者は、遠隔操作装置２６０を操作してカーソル３０４を動かして、キーワードリスト３０２に記載された各キーワードの中から、所望のキーワードを選択することができる。
【００４７】
ここで、図５は、遠隔操作装置２６０の外観の一例を示す図である。遠隔操作装置２６０は、スイッチＳＷ１〜スイッチＳＷ５が設けられているが、これに限定されるものではない。スイッチＳＷ１は、カーソルを上に移動するスイッチである。スイッチＳＷ２は、カーソルを下に移動するスイッチである。視聴者は、スイッチＳＷ１またはスイッチＳＷ２を使って、図３に示すキーワードリスト３０２に表示されたものの中から所望のキーワードを選択することができる。
【００４８】
また、スイッチＳＷ３およびスイッチＳＷ４は、放送番組の切り替えを指示するスイッチである。例えば、ＳＷ３を押した場合、現在視聴している番組の放送日時から過去方向において、選択したキーワード（タグ）と同一のキーワードが存在する一番近い番組に切り替え移動を行う。また、スイッチＳＷ４を押した場合、現在視聴している番組の放送日時から未来方向において選択したキーワードと同一のキーワードが存在する一番近い番組に切り替え移動を行う。また、スイッチＳＷ５を押すと、現在時刻にジャンプする。すなわち、スイッチＳＷ５は、放送中の番組への移動を指示し、コンテンツ視聴装置２００は、タイムシフト視聴からリアルタイム視聴へ変更するためのスイッチである。なお、表示制御装置２５０は、遠隔操作装置２６０のスイッチＳＷ１〜ＳＷ５が操作されたタイミングで再生番組時刻Ｔを変更する。
【００４９】
上述したコンテンツ視聴装置によれば、現在放送中の放送コンテンツと過去に放送した放送コンテンツをシームレスに切り替えて視聴することができ、放送コンテンツに関連付けられたキーワードリストを参照し、興味のあるキーワードに関する放送コンテンツをザッピングしながら視聴することができる。
【００５０】
［ザッピング視聴の動作例］
次に、本実施形態におけるザッピング視聴の動作例について説明する。図３の例では、現在放送中の番組「バラエティショー」を視聴中の２２時３５分３０秒に、キーワードリストの中のキーワード「Ｃさん」を選択し、遠隔操作装置２６０のスイッチＳＷ３を押したときの動作例を示している。
【００５１】
遠隔操作装置２６０のＳＷ３を押すと、表示制御装置２５０は、カーソル３０４で選択されたキーワード「Ｃさん」のタグのうち、現在視聴している放送日時から過去方向で一番近いタグの位置に移動する。すなわち、図３の例では、「２０１５年１２月１４日の１４時１５分００秒」の「Ｃさん」のタグに再生位置を移動する。この場合、再生位置とは、例えば過去方向で一番近くにある「Ｃさん」のタグが、キーワードリスト上に最初に表示される時刻である。
【００５２】
これにより、コンテンツ視聴装置２００は、現在放送中の番組の視聴（リアルタイム視聴）から、過去に放送した番組の視聴（タイムシフト視聴）に自動的に切り替えることができる。すなわち、表示制御装置２５０は、タイトル「歌謡ショーＡ」の「１４時１５分００秒」の位置から再生を行い、その放送コンテンツの再生画面３１０を表示装置２７０に表示させる。
【００５３】
例えば、コンテンツ視聴装置２００は、「２０１５年１２月１４日」の「１４時１５分００秒」からの再生を開始すると、キーワードリストも、再生中の番組に関連付けられたタグのキーワードリストの表示に変更する。すなわち、図３の例では、コンテンツ視聴装置２００は、番組「歌謡ショーＡ」に関連付けられた「歌謡ショーＡ」、「Ａさん」、「Ｂさん」、「Ｃさん」、「曲名２」、および「曲名１」の６個のタグをキーワードリスト３１２として表示する。また、本実施形態では、図３に示すように、キーワードリスト３１２の表示において、先ほど選択した「Ｃさん」のタグ３１４にカーソルを合わせておいてもよい。
【００５４】
遠隔操作装置２６０のスイッチＳＷ４は、スイッチＳＷ３と同様に、番組の切り替えを指示できるが、ＳＷ３では過去方向に移動したのに対し、ＳＷ４では現在視聴している番組の放送日時から未来方向に近いタグの位置へ移動する。
【００５５】
また、ＳＷ５のスイッチを押すと、現在時刻の番組に遷移（ジャンプ）する。すなわち、スイッチＳＷ５は、放送中の番組への移動を指示する。これにより、コンテンツ視聴装置２００は、タイムシフト視聴からリアルタイム視聴へ変更する。
【００５６】
上述したように、コンテンツ視聴装置２００を使うことで、表示装置２７０に表示されるキーワードリストの中から、興味のあるキーワードを選択し、同じキーワードのタグがついた放送番組をザッピングしながら視聴できる。視聴者は、現在放送中の番組と過去に放送された番組を、キーワードを選択しながら気ままに視聴することができる。
【００５７】
［キーワードリスト生成装置１００の動作説明］
次に、キーワードリスト生成装置１００の動作内容について、具体的に説明する。上述した図３に示すように、キーワードリストＬには、視聴中の番組に関連するキーワードが表示される。視聴者は、興味のあるキーワードを選択するためにカーソルキーを移動して選択するため、できるだけ番組に関連するキーワード（多くの人が興味を持つと思われるキーワード）が上位にある方が、カーソルの移動量が少なく、キーワードを選びやすくなる。キーワードリスト生成装置１００は、放送番組Ｐのジャンルデータを利用して、視聴中の番組に関連するキーワードを所定の順序でソートする。なお、所定の順序とは、例えば、番組との関連性が高いキーワード順または関連性の低いキーワード順等である。以下、関連性が高いキーワード順にソートする例を用いて、その動作について説明する。
【００５８】
図６は、番組情報記録部１５０、キーワード辞書記録部１６０、およびタグ記録部１７０のデータを更新するデータ更新部１８０の動作を説明する図である。データ更新部１８０は、番組ジャンル抽出部１８２と、キーワード抽出部１８４と、キーワード辞書更新部１８６とを備える。
【００５９】
番組ジャンル抽出部１８２は、入力された番組情報Ｐから得られるデータ（例えば、開始日時、終了日時、タイトル、ジャンル、チャンネル等）を番組情報記録部１５０に記録する。また、番組ジャンル抽出部１８２は、入力された番組情報Ｐのジャンルのデータからジャンルベクトル１およびジャンルベクトル２の一方または双方を計算する。なお、ジャンルベクトルの計算例については後述する。
【００６０】
ここで、図７は、番組情報記録部１５０に記録されるデータの一例を示す図である。番組情報記録部１５０には、番組情報Ｐのデータが保管される。番組情報記録部１５０は、データの項目として、例えば「開始日時」、「終了日時」、「タイトル」、「ジャンル」、および「チャンネル」等がある。図７の例では、タイトルが「歌謡ショーＡ」で、開始日時が「２０１５年１２月１４日１４時００時００分」、終了日時が「２０１５年１２月１４日１４時４５分００秒」、ジャンルが「{0x40, 0x41, 0x54}」、チャンネルが「ＣＨ−１」の番組情報と、タイトルが「バラエティショー」で開始日時が「２０１５年１２月２０日２２時００時００分」、終了日時が「２０１５年１２月２０日２３時００分００秒」、ジャンルが「{0x50, 0x22, 0x2f}」、チャンネルが「ＣＨ−１」の番組情報が記録されているが、これらの番組に限定されるものではなく、１以上の番組情報が記録されていればよい。
【００６１】
なお、図７のジャンルに記録された「0x40」や「0x54」等は、上述したデジタル放送に使用する番組配列情報に対応したジャンルを示す１６進数のコード（８ビットコード）である。上位４ビットはジャンルの大分類である。すなわち、「0x40」は大分類のジャンルとして「音楽」を示し、「0x54」は大分類として「バラエティ」を示している。また、下位４ビットはジャンルの中分類を表しており、例えば「0x40」は「国内ロック・ポップス」、「0x41」は「海外ロック・ポップス」、「0x54」は「音楽バラエティ」を示している。なお、上述したジャンルの分類は一例であり、他の分類手法により分類された値を設定してもよい。
【００６２】
キーワード抽出部１８４は、入力される字幕情報Ｑのテキスト文書の中から、キーワード辞書記録部１６０に記録されているキーワード名を抽出する。ここで、図８は、キーワード辞書記録部１６０に記録されるデータの一例を示す図である。図８に示すキーワード辞書記録部１６０は、データの項目として、例えば「キーワード名（文字列）」と、「１６次元の数値ベクトルであるジャンルベクトル１(gvec1)」、および「２５６次元の数値ベクトルであるジャンルベクトル２(gvec2)」等がある。キーワード辞書記録部１６０は、これらの各項目が１つの組（要素データ）として記録されている。
【００６３】
例えば、図８の例では、例えば、「キーワード名」が「曲名１」の場合に、「ジャンルベクトル１」が「{302,39,278,…}」、「ジャンルベクトル２」が「{461,401,327,…}」が記録されている。また、別のデータでは、「キーワード名」が「Ａさん」に対して、「ジャンルベクトル１」が「{20,4,0,…}」、「ジャンルベクトル２」が「{32,28,20,…}」が記録され、「キーワード名」が「歌謡ショーＡ」の場合に、「ジャンルベクトル１」が「{394,41,227,…}」、ジャンルベクトル２が「{583,480,442,…}」が記録されている。なお、データ例については、これに限定されるものではない。
【００６４】
例えば、字幕情報Ｑとして「２０１５年１２月１４日１４時３２分００秒、“次は「曲名１を歌っていただきます。”」というデータが入力された場合、キーワード抽出部１８４は、字幕情報Ｑから文字列「曲名１」を抽出し、抽出した文字列を用いてキーワード辞書記録部１６０のキーワード名を検索する。キーワード抽出部１８４は、キーワード辞書記録部１６０から「曲名１」が抽出できた場合、その日時情報およびチャンネル情報とともに、タグデータとしてタグ記録部１７０に記録する。すなわち、上述の例では、キーワード抽出部１８４は、「２０１５年１２月１４日１４時３２分００秒、曲名１、ＣＨ−１」がタグデータとしてタグ記録部１７０に記録される。
【００６５】
ここで、図９は、タグ記録部１７０に記録されるデータの一例を示す図である。図９に示すタグ記録部１７０は、データの項目として、例えばタグの関連付けられた「日時」、「キーワード名」、および「チャンネル」等がある。タグ記録部１７０は、これらの各項目が１つの組として記録されている。図９の例では、「日時」が「２０１５年１２月１４日１４時００分００秒」で「キーワード名」が「歌謡ショーＡ」、「チャンネル」が「ＣＨ−１」のタグが記録されている。また、同様に「日時」が「２０１５年１２月１４日１４時１５分００秒」で「キーワード名」が「Ａさん」、「チャンネル」が「ＣＨ−１」のタグ、「日時」が「２０１５年１２月１４日１４時３２分００秒」で「キーワード名」が「曲名１」、「チャンネル」が「ＣＨ−１」のタグ、「日時」が「２０１５年１２月１４日１４時１５分００秒」で「キーワード名」が「Ｂさん」、「チャンネル」が「ＣＨ−１」のタグがそれぞれ記録されている。なお、データ例については、これに限定されるものではない。
【００６６】
キーワード辞書更新部１８６は、キーワード辞書記録部１６０に記録されたキーワード名のうち、キーワード抽出部１８４が出力したキーワード名のジャンルベクトルを、番組ジャンル抽出部１８２が出力するジャンルベクトルを使って更新する。
【００６７】
［ジャンルベクトルの計算例について］
ここで、上述した番組ジャンル抽出部１８２におけるジャンルベクトルの計算例について説明する。図１０は、番組ジャンル抽出部１８２におけるジャンルベクトルの計算例を説明するための図である。
【００６８】
ジャンルベクトルは、先に説明した８ビット長のジャンルコードをベクトル表現したものである。図１０（Ａ）では、大分類によるジャンルベクトル１の計算例を示している。つまり、ジャンルベクトル１は、大分類のジャンルをベクトル表現した１６次元のベクトルである。また、図１０（Ｂ）では、中分類によるジャンルベクトル２の計算例を示している。つまり、ジャンルベクトル２は、中分類のジャンルをベクトル表現した２５６次元のベクトルである。また、図１０の例では、番組情報Ｐのジャンルが{0x40,0x41,0x54}である場合のジャンルベクトルの計算例を示している。
【００６９】
図１０（Ａ）に示すジャンルベクトル１は、大分類のジャンルに対応しているため、番組ジャンル抽出部１８２は、{0x40,0x41,0x54}のうち、上位４ビットの{0x4,0x4,0x5}を使って生成する。番組ジャンル抽出部１８２は、最初に、１番目のジャンルコード「0x4」に対して５番目の要素のみを１としたベクトル、２番目のジャンルコード「0x4」に対して５番目の要素のみ１としたベクトル、および３番目のジャンルの「0x5」に対して６番目の要素のみ１としたベクトルの３つのベクトルを生成する。次に、番組ジャンル抽出部１８２は、生成した３つのベクトルを加算してジャンルベクトル１（gvec1）を生成する。ここで、番組ジャンル抽出部１８２は、複数のジャンルのうち出現が早いほど番組との関連性が高いものとして、出現順序に対応して３つのベクトルの値に対して３倍、２倍、１倍の重み付けを行った後に加算する。なお、重み付けの値については、これに限定されるものではない。これにより、図１０（Ａ）に示すように、{0x4,0x4,0x5}の大分類のジャンルから、ジャンルベクトル１としてgvec1=(0,0,0,0,5,1,0,0,0,0,0,0,0,0,0,0)が生成される。
【００７０】
同様に、{0x40,0x41,0x54}の中分類のジャンルコードを含めた場合のジャンルベクトル２の計算例を図１０（Ｂ）に示している。図１０（Ｂ）の例では、大分類が示す１６個の要素を１、中分類が示す１個の要素を２とする２５６次元ベクトルを、各ジャンルコードから生成し加算することでジャンルベクトル２（gvec2）を生成している。gvec1と同様、ジャンルコードの出現順序に対して３倍、２倍、１倍の重み付けをしている。これにより、図１０（Ｂ）に示すように、{0x40,0x41,0x54}の大分類のジャンルから、ジャンルベクトル２としてgvec2=(0,…,0,8,7,5,…,5,1,1,1,1,2,1,…,1,0,…,0)が生成される。
【００７１】
上述した番組ジャンル抽出部１８２におけるジャンルベクトル計算処理について、フローチャートを用いて説明する。図１１は、番組ジャンル抽出部１８２におけるジャンルベクトル計算処理の一例を示すフローチャートである。なお、以下の説明では、上述した番組情報Ｐのジャンルが{0x40,0x41,0x54}が入力された後のジャンルベクトル計算処理について説明する。
【００７２】
番組ジャンル抽出部１８２は、番組情報Ｐに含まれるジャンルコードが入力されると、そのジャンルコードの数を変数Ｎに設定する（ステップＳ１００）。例えば、入力されたジャンルコードが{0x40,0x41,0x54}であった場合、Ｎには３が設定される。次に、番組ジャンル抽出部１８２は、重み係数ＷとしてＮの値を設定する（ステップＳ１１０）。次に、番組ジャンル抽出部１８２は、ジャンルベクトル１(gvec1)およびジャンルベクトル２(gvec2)の初期値として、それぞれ０ベクトルを設定する（ステップＳ１２０）。次に、番組ジャンル抽出部１８２は、ジャンルコードの数だけ以下に示すループ処理（繰り返し処理）を行うため、ループのカウンタ値ｎに０を設定する（ステップＳ１３０）。
【００７３】
ステップＳ１３０の処理では、番組ジャンル抽出部１８２は、ジャンルコードのｎ番目のジャンルの大分類コードを変数Ｇに設定し（ステップＳ１３１）、ｎ番目のジャンルの中分類コードを変数Ｈに設定する（ステップＳ１３２）。例えば、上記の例の場合、ｎ＝０であればＧには「０ｘ４」、Ｈには「０ｘ０」が設定され、ｎ＝２であればＧには「０ｘ５」、Ｈには「０ｘ４」が設定される。
【００７４】
次に、番組ジャンル抽出部１８２は、Ｇ番目の要素のみが値Ｗで、他の要素が０の１６次元ベクトルをgvec1に加算する（ステップＳ１３３）。例えば、ｎ＝０、Ｗ＝３、Ｇ＝０ｘ４の場合、番組ジャンル抽出部１８２は、(0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0)をgvec1に加算する。
【００７５】
次に、番組ジャンル抽出部１８２は、Ｇ×１６＋Ｈ番目を除くＧ×１６番目から（Ｇ＋１）×１６−１番目の要素がＷ、Ｇ×１６＋Ｈ番目の要素が２×Ｗ、それ以外の要素が０の２５６次元ベクトルをgvec2に加算する（ステップＳ１３４）。例えば、ｎ＝０、Ｗ＝３、Ｇ＝０ｘ４、Ｈ＝０ｘ０の場合、番組ジャンル抽出部１８２は、(0,0,…(0が64個),6,3,3,…(3が15個),0,0,…(0が176個))をgvec2に加算する。番組ジャンル抽出部１８２は、次のジャンルの計算のために、重み係数ＷをＷ−１とし（ステップＳ１３５）、カウンタｎをｎ＋１とし（ステップＳ１３６）。上述したステップＳ１３１〜ステップＳ１３６の処理を、入力されたジャンルコードの数（Ｎ回）を繰り返すことで、ジャンルベクトルを計算する。次に、番組ジャンル抽出部１８２は、計算されたジャンルベクトル１(gvec1)およびジャンルベクトル２(gvec2)を出力し（ステップＳ１４０）、本フローチャートの処理を終了する。なお、上述の処理では、ジャンルベクトル１およびジャンルベクトル２の双方を計算しているが、いずれか一方であってもよい。
【００７６】
次に、キーワード辞書更新部１８６におけるキーワード辞書更新処理について、フローチャートを用いて説明する。図１２は、キーワード辞書更新部１８６におけるキーワード辞書更新処理の一例を示すフローチャートである。
【００７７】
図１２の処理において、キーワード辞書更新部１８６は、キーワード抽出部１８４からキーワード（文字列）の入力を受け付けると、その文字列を変数Keywordに設定する（ステップＳ２００）。次に、キーワード辞書更新部１８６は、番組ジャンル抽出部１８２から、現在の番組情報Ｐのジャンルベクトル１（gvec1）とジャンルベクトル２（gvec2）とを取得し、それぞれgvec1_p、gvec2_pに設定する（ステップＳ２１０）。次に、キーワード辞書記録部１６０に記憶されたキーワード名から、Keywordと一致するデータを検索し、そのジャンルベクトル１(gvec1)とジャンルベクトル２(gvec2)を取得する（ステップＳ２２０）。
【００７８】
次に、キーワード辞書更新部１８６は、取得したgvec1に対してgvec1_pを加算し、またgvec2に対してgvec2_pを加算し（ステップＳ２３０）、得られたジャンルベクトルをKeywordの新たなジャンルベクトルとしてgvec1、gvec2を更新する（ステップＳ２４０）。
【００７９】
上述したように、キーワードリスト生成装置１００のデータ更新部１８０は、入力された番組情報Ｐを番組情報記録部１５０に記録し、字幕情報Ｑから抽出したタグをタグ記録部１７０に記録するとともに、キーワード辞書記録部１６０に記録されているキーワードに対応したジャンルベクトルを更新する。これにより、キーワード辞書記録部１６０には、各キーワードが、どのジャンルでこれまでに出現しているかを表現するジャンルベクトルがキーワード名とともに記録される。
【００８０】
［キーワードリスト生成装置１００のリアルタイム視聴時の動作例］
次に、キーワードリスト生成装置１００のキーワードリストＬを生成する動作例について説明する。キーワードリスト生成装置１００は、放送波の番組を視聴するリアルタイム視聴時と、過去の放送コンテンツを視聴するタイムシフト視聴時で動作が一部異なる。そのため、以下ではそれぞれの視聴時について具体的に説明する。
【００８１】
［リアルタイム視聴時の動作例］
図１３は、リアルタイム視聴時のキーワードリスト生成装置１００の動作の構成を示す図である。図１３に示すキーワードリスト生成装置１００は、番組ジャンル抽出部１８２と、番組ジャンル推定部４０２と、キーワード抽出部１８４と、ジャンルベクトル取得部４０４と、ベクトル距離演算部４０６と、キーワードソート部４０８と、キーワードリスト記録部１３０と、キーワード辞書記録部１６０とを備える。なお、図１３に示す番組ジャンル抽出部１８２および番組ジャンル推定部４０２が、図１における番組ジャンル判定部１１０に相当する。また、ベクトル距離演算部４０６およびキーワードソート部４０８がキーワードリストソート部１２０に相当する。また、キーワード抽出部１８４およびジャンルベクトル取得部４０４がジャンルベクトル検索部１４０に相当する。
【００８２】
図１３の例において、番組ジャンル抽出部１８２は、上述したように番組情報Ｐからジャンルコードを取得し、そのジャンルコードからジャンルベクトルを計算し、計算されたジャンルベクトルを番組ジャンル推定部４０２に出力する。
【００８３】
番組ジャンル推定部４０２は、番組ジャンル抽出部１８２から得られる現在視聴中の番組のジャンルコードから、現在視聴中の箇所に対する部分的な番組ジャンルを推定し、必要に応じてジャンルベクトルを再計算する。例えば、番組情報Ｐには、番組に関連しているジャンルコードが付加されているが、例えばニュースやワイドショー等の番組では、番組内の時間帯によって、様々な話題がある。そのため、必ずしも番組情報に付加されたジャンルコードに一致しない内容になっている。そこで、番組ジャンル推定部４０２は、キーワードリスト記録部１３０に記録されたキーワードリストから、番組内のジャンルを視聴箇所に応じて推定する動作を実行する。番組内のジャンルの状態を推定するため、番組ジャンル推定部４０２は、番組に関連付けられた時系列のタグのジャンルベクトルの種別を利用する。
【００８４】
ここで、図１４は、キーワードリスト記録部１３０に記録されるデータの一例を示す図である。図１４に示すキーワードリスト記録部１３０には、コンテンツ視聴装置２００の表示装置２７０にて表示されるキーワードリストに表示されるキーワードが記録される。図１４に示すキーワードリスト記録部１３０は、データの項目として、例えば「日時」、「キーワード名」、「ジャンルベクトル１」および「ジャンルベクトル２」等がある。キーワードリスト記録部１３０は、これらの各項目が１つの組として記録されている。
【００８５】
例えば、図１４の例では、「日時」が「２０１５年１２月１４日１４時００分００秒」で、「キーワード名」が「歌謡ショーＡ」、「ジャンルベクトル１」が{394,41,227,…}、「ジャンルベクトル２」が{583,480,442,…}のデータが記録されている。また、「日時」が「２０１５年１２月１４日１４時１５分００秒」で、「キーワード名」が「Ａさん」、「ジャンルベクトル１」が{20,4,0,…}、「ジャンルベクトル２」が{32,28,20,…}のデータが記録されている。
【００８６】
図１５は、番組ジャンル推定部４０２の動作を説明するための図である。図１５の例では、タイトルが「朝のワイドショー」、放送日時が「２０１５年１２月１４日」の「８時００分００秒〜９時３０分００秒」、ジャンルが{0x22, 0x23, 0x80}の番組を例としている。この場合、大分類のジャンルとしては、０ｘ２の「情報／ワイドショー」と０ｘ８の「ドキュメンタリー／教養」となる。
【００８７】
番組ジャンル推定部４０２は、図１５に示すように、所定の時間間隔からなる時系列ごとにタグを関連付ける。これらのタグは、キーワードリスト記録部１３０に記録された各キーワードに対応している。図１５の例では、それらのタグのジャンルベクトルで一番大きな値をもつ要素のジャンルで識別している。
【００８８】
例えば、ジャンルベクトル１が(10,20,0,5,34,99,30,70,121,9,10,0,0,0,0,0)である場合、一番大きな要素は９番目の121である。したがって、番組ジャンル推定部４０２は、このジャンルベクトルの主要ジャンルを「０ｘ８」とする。例えば、図１５の例に示すように、タグの主要ジャンルが分布していたとする。この場合、番組ジャンル推定部４０２は、ジャンル「０ｘ８」のタグが多く出てくる時間帯は、番組の内容がドキュメンタリーに関連する話題であり、「０ｘ０」のタグが多く出てくる時間帯は、ニュースに関連する話題であると推定できる。したがって、番組ジャンル推定部４０２は、時間範囲△Ｔ内のタグの主要ジャンルからその範囲のジャンルを推定し、番組情報Ｐの主要なジャンル（ジャンルコードの先頭の大分類のジャンル）と異なる場合には、番組のジャンルを修正する。
【００８９】
例えば、番組ジャンル推定部４０２は、図１５の例における時刻範囲△Ｔ内の主要ジャンルが「０ｘ８」と判定された場合には、番組情報Ｐの主要ジャンル「０ｘ２」と異なるため、番組のジャンルを{0x22, 0x23,0x80}の先頭に「0x80」を追加して{0x80,0x22,0x23, 0x80}に修正した上で、番組のジャンルベクトルを再計算する。
【００９０】
次に、上述した番組ジャンル推定部４０２における動作の流れについてフローチャートを用いて説明する。図１６は、番組ジャンル推定部４０２における番組ジャンル推定処理の一例を示すフローチャートである。番組ジャンル推定部４０２は、番組情報Ｐのジャンル、再生放送時刻の入力を行い（ステップＳ３００）、番組情報Ｐのジャンルコードの先頭のジャンルコードの大分類を変数Ｇに設定する（Ｓ３１０）。次に、「現在の再生番組時刻−△Ｔ／２」を開始時刻ｓｔに設定し、「現在の再生番組時刻＋△Ｔ／２」を終了時刻ｅｄに設定する（Ｓ３２０）。
【００９１】
次に、番組ジャンル推定部４０２は、キーワードリスト記録部１３０から日時がｓｔ〜ｅｄの範囲にあるキーワードリストを取得する（ステップＳ３３０）。次に、番組ジャンル推定部４０２は、時間範囲△Ｔ内の主要ジャンルを判定するための１６次元の配列ＣＯＵＮＴ［０］〜ＣＯＵＮＴ［１５］に０をセットする（ステップＳ３４０）。また、番組ジャンル推定部４０２は、ステップＳ３３０で取得したキーワードリストのキーワードの数を変数Ｎに設定する（ステップＳ３５０）。
【００９２】
次に、番組ジャンル推定部４０２は、ループ処理をするためのカウント用変数ｎに０を設定し、ループ処理を開始する（Ｓ３６０）。番組ジャンル推定部４０２は、ステップＳ３３０で取得したキーワードリストのｎ番目のキーワードのジャンルベクトルgvec1の最大要素の番号を変数Ｋに設定する（ステップＳ３６１）。例えば、ジャンルベクトル１が「gvec1=(10,20,0,5,34,99,30,70,121,9,10,0,0,0,0,0)」である場合、１２１が最大となるため、Ｋ＝８となる。次に、番組ジャンル推定部４０２は、ＣＯＵＮＴ［Ｋ］の値をＣＯＵＮＴ［Ｋ］＋１とする（ステップＳ３６２）。また、番組ジャンル推定部４０２は、ループ処理を行うためカウント値ｎをｎ＋１とし（ステップＳ３６３）、ｎがＮより小さければ、ステップＳ３６１に戻り同様の処理を行う。
【００９３】
次に、番組ジャンル推定部４０２は、ループ処理を終了した結果の変数ＣＯＵＮＴから、最大の要素の場所をＳに設定する（ステップＳ３７０）。例えば、上述したループ処理の結果、ＣＯＵＮＴ＝{1,2,3,4,0,0,2,0,9,0,0,0,0,0,0,0}の場合、最大要素の値９の位置は９番目（０から数えると８番目）となるので、Ｓ＝８となる。
【００９４】
次に、番組ジャンル推定部４０２は、ＧとＳとの値が異なるか否かを判断する（ステップＳ３８０）。ＧとＳとの値が異なる場合、すなわち番組情報Ｐの主要ジャンルと、時間範囲△Ｔ内のタグの主要ジャンルから推定した番組のジャンルとが異なる場合（ステップＳ３８０において、ＹＥＳ）、番組ジャンル推定部４０２は、番組ジャンルコードの先頭に０ｘＳ０のジャンルコードを付加し（ステップＳ３９０）、ジャンルベクトルを再計算する（ステップＳ４００）。例えば、上記の例の場合、Ｓ＝８であるため、番組ジャンル推定部４０２は、０ｘ８０のジャンルコードを番組のジャンルに付加する。次に、番組ジャンル推定部４０２は、再計算されたジャンルベクトルgvec1、gvec2を出力する（ステップＳ４１０）。
【００９５】
また、ステップＳ３８０の処理において、ＧとＳとが等しい場合（ステップＳ３８０において、ＮＯ）、番組ジャンル推定部４０２は、番組ジャンルに変更ないため、すでに番組ジャンル抽出部１８２により計算済みのジャンルベクトルをそのまま使用し、ジャンルベクトルgvec1、gvec2を出力する（ステップＳ４１０）。これにより、本フローチャートの処理を終了する。
【００９６】
上述したように、キーワードリスト生成装置１００のリアルタイム視聴時の番組ジャンル判定部１１０は、番組ジャンル抽出部１８２および番組ジャンル推定部４０２の動作により、入力された番組情報Ｐとキーワードリスト記録部１３０に記録されたキーワードリストのジャンルベクトルから、現在時刻における番組のジャンルを推定し、ジャンルベクトルを出力することができる。
【００９７】
ここで、図１３の例において、キーワード抽出部１８４は、入力された字幕情報Ｑから、キーワード辞書記録部１６０に登録されているキーワードを抽出し、タグ情報として出力する。また、ジャンルベクトル取得部４０４は、キーワード抽出部１８４が出力したタグ情報のキーワード名をキーワード辞書記録部１６０から検索し、そのキーワードのジャンルベクトルを取得し、キーワードリスト記録部１３０に登録する。キーワードリスト記録部１３０には、図１５で示したようにジャンルベクトル付きのタグ情報が記録される。なお、キーワードリスト記録部１３０は、番組情報Ｐが変わったタイミングで、記録内容を消去する。これにより、キーワードリスト記録部１３０には、常に現在視聴中の番組に関連したタグのみが記録されている状態となる。
【００９８】
ベクトル距離演算部４０６は、番組ジャンル推定部４０２が出力する番組のジャンルベクトルgvec1_pまたはgvec2_pと、キーワードリスト記録部１３０に記録されている各キーワードのジャンルベクトルgvec1またはgvec2との距離を計算する。すなわち、番組情報のジャンルベクトルに近いキーワードほど、番組との関連性が高いものとする。ジャンルベクトル間の距離として、本実施形態では、コサイン類似度を用いるが、これに限定されるものではない。コサイン類似度では、２つのベクトルをｖ１、ｖ２とするとコサイン類似度ｃｏｓθは、「ｃｏｓθ＝（ｖ１・ｖ２）／（｜ｖ１｜｜ｖ２｜）」で表される。
【００９９】
コサイン類似度を計算するときに用いるジャンルベクトルとして、大分類のジャンルから作成したジャンルベクトル１（１６次元ベクトル）を用いるか、中分類のジャンルから作成したジャンルベクトル２（２５６次元ベクトル）を用いるかは任意である。
【０１００】
キーワードソート部４０８は、ベクトル距離演算部４０６の各キーワードのコサイン類似度の値を大きい順にソートし、キーワードリストＬとして出力する。このように、キーワードリスト生成装置１００は、現在視聴中の番組情報Ｐと、時々刻々と入力される字幕情報Ｑから、キーワードを抽出するとともに、そのキーワードリストを、視聴中の番組のジャンルとの関連性が高い順にソートして出力することができる。
【０１０１】
［タイムシフト視聴時のキーワードリスト生成装置１００の動作例］
次に、タイムシフト視聴時のキーワードリスト生成装置１００の動作の構成について、図を用いて説明する。図１７は、タイムシフト視聴時のキーワードリスト生成装置１００の動作の構成を示す図である。図１７に示すキーワードリスト生成装置１００は、番組ジャンル抽出部１８２と、番組ジャンル推定部４０２と、ジャンルベクトル取得部４０４と、ベクトル距離演算部４０６と、キーワードソート部４０８と、番組情報取得部４１０と、キーワードリスト取得部４１２と、キーワードリスト記録部１３０と、キーワード辞書記録部１６０と、番組情報記録部１５０と、タグ記録部１７０とを備える。なお、キーワードリスト生成装置１００のタイムシフト視聴時の動作は、上述したリアルタイム視聴時の動作と共通する部分が多いため、以下では、異なる部分を中心に説明する。
【０１０２】
番組情報取得部４１０は、現在再生中の再生番組時刻から、番組情報記録部１５０に保管されている番組情報を検索し、番組情報Ｐを取得する。なお、図１７に示すタイムシフト視聴動作時における番組情報取得部４１０、番組ジャンル抽出部１８２、および番組ジャンル推定部４０２は、上述した番組ジャンル判定部１１０に相当する。また、番組情報取得部４１０によって現在視聴中の再生番組時刻から番組情報Ｐを取得する以外は、リアルタイム視聴時の番組ジャンル判定部１１０の動作と同じ動作をする。また、図１７のタイムシフト動作時におけるベクトル距離演算部４０６とキーワードソート部４０８とは、図１におけるキーワードリストソート部に相当し、これは図６を使ってすでに説明したリアルタイム視聴時のキーワードリストソート部１２０の動作と同様である。
【０１０３】
また、図１７に示すタイムシフト動作時における番組情報取得部４１０、キーワードリスト取得部４１２、およびジャンルベクトル取得部４０４は、上述したジャンルベクトル検索部１４０に相当する。キーワードリスト取得部４１２は、番組情報取得部４１０が取得した番組情報Ｐの放送開始時刻および放送終了時刻、チャンネル情報等を用いて、タグ記録部１７０に記録されている放送開始時刻から放送終了時刻の全タグを取得する。そして、各タグの情報（キーワード、日時、チャンネル）を順にジャンルベクトル取得部４０４の入力とする。
【０１０４】
図１７の例において、ジャンルベクトル取得部４０４は、すでにリアルタイム視聴時に説明した動作と全く同じである。ジャンルベクトル取得部４０４は、入力されたタグ情報に従い、ジャンルベクトルを付加して、キーワードリスト記録部１３０に記録する。結果として、キーワードリスト記録部１３０には、視聴中の番組に関連付けられた全てのタグのリストがジャンルベクトル付きで、キーワードリストとして記録されることになる。
【０１０５】
上述したように、キーワードリスト生成装置１００により、タイムシフト視聴している番組に関連したキーワードが、視聴中の番組のジャンルに関連の高い順にソートされたキーワードリストを取得することができる。
【０１０６】
なお、キーワード辞書記録部１６０には、すでにキーワードが記録されているが、必要に応じて新しいキーワードをキーワード辞書記録部１６０に登録してもよい。これにより、字幕情報Ｑから、そのキーワードを抽出できるようになる。例えば、ｔｆ−ｉｄｆを用いた手法のように、新規のキーワードの追加のために、全ての値を計算し直す必要がない。
【０１０７】
また、上述した本実施形態におけるキーワードリスト生成装置１００では、キーワード辞書記録部１６０、番組情報記録部１５０、タグ記録部１７０、およびデータ更新部１８０を、同一の装置内にあるものとして説明したが、これに限るものではない。例えば、キーワード辞書記録部１６０、番組情報記録部１５０、タグ記録部１７０、およびデータ更新部１８０を、一以上の情報処理装置からなるクラウドコンピューティングにより構成されたクラウド上のデータベースまたはサーバとして設けられていてもよい。
【０１０８】
この場合、例えば、家庭内等にあるキーワードリスト生成装置１００（コンテンツ視聴装置２００）は、必要に応じて、インターネット等の通信ネットワークを介してクラウド上のキーワード辞書記録部１６０、番組情報記録部１５０、およびタグ記録部１７０にアクセスする構成を備えていてもよい。これにより、各データベースの更新（データ更新部１８０）を、キーワードリスト生成装置１００で行う必要がなくなり、キーワードリスト生成装置１００の処理を低減させることができる。
【０１０９】
また、コンテンツ視聴装置２００は、放送コンテンツ蓄積装置２１０をクラウド上のデータベースとして管理してもよく、この場合には、必要に応じて通信ネットワークを介してデータベースにアクセスする構成を備えていてもよい。
【０１１０】
上述したように本実施形態によれば、リアルタイム視聴またはタイムシフト視聴時に、視聴中に関連するキーワードを、視聴中の番組との関連性が高い順にソートすることができる。これにより、視聴者は、画面に表示されたキーワードリストから所望するキーワードを選択しやすくなる。また、本実施形態によれば、キーワードの追加や番組の追加によって再計算の必要がなく、簡易な方法でキーワードのリストの生成、ソート等を行うことができる。そのため、ＶＯＤのようなタイムシフト視聴だけでなく、視聴できる番組数やタグ数が時々刻々増え続けるリアルタイム視聴時にも利用することができる。また、本実施形態によれば、キーワード数分のジャンルベクトルを記録するだけでよく、従来のｔｆ−ｉｄｆのように番組数×キーワード数の頻度行列の大きなデータを記録する必要がなくなる。
【０１１１】
なお、上述したキーワードリスト生成装置１００（コンテンツ視聴装置２００）は、例えば、テレビ受像機、ＰＣ（Personal Computer）、タブレット情報端末、スマートフォン、ＰＤＡ（Personal Digital Assistant）、透過式でないヘッドマントディスプレイ装置等でもよい。
【０１１２】
［プログラムについて］
上述したキーワードリスト生成装置１００またはコンテンツ視聴装置２００が備える各構成は、内部に、コンピューターシステムを有している。そして、上述したキーワードリスト生成装置１００またはコンテンツ視聴装置２００が備える各構成の機能を実現するためのプログラム（例えば、キーワードリスト生成プログラム）をコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより上述したキーワードリスト生成装置１００またはコンテンツ視聴装置２００が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行する」とは、コンピューターシステムにプログラムをインストールすることを含む。ここでいう「コンピューターシステム」とは、ＯＳ（Operating System）や周辺機器等のハードウェアを含むものとする。
【０１１３】
また、「コンピューターシステム」は、インターネットやＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピューター装置を含んでもよい。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。
【０１１４】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にキーワードリスト生成装置１００またはコンテンツ視聴装置２００が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。更に「コンピューター読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。更に、上述した機能をコンピューターシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１１５】
また、上述した機能の一部又は全部を、ＬＳＩ（Large Scale Integration）等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はＬＳＩに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【０１１６】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【０１１７】
１００  キーワードリスト生成装置
１１０  番組ジャンル判定部
１２０  キーワードリストソート部
１３０  キーワードリスト記録部
１４０  ジャンルベクトル検索部
１５０  番組情報記録部
１６０  キーワード辞書記録部
１７０  タグ記録部
１８０  データ更新部
２００  コンテンツ視聴装置
２１０  放送コンテンツ蓄積装置
２２０  コンテンツ取得装置
２３０  放送波受信装置
２４０  コンテンツ切替装置
２５０  表示制御装置
２６０  遠隔操作装置
２７０  表示装置
４０２  番組ジャンル推定部
４０４  ジャンルベクトル取得部
４０６  ベクトル距離演算部
４０８  キーワードソート部
４１０  番組情報取得部
４１２  キーワードリスト取得部
【図１】
0006647141.tif 000002
【図２】
0006647141.tif 000003
【図３】
0006647141.tif 000004
【図４】
0006647141.tif 000005
【図５】
0006647141.tif 000006
【図６】
0006647141.tif 000007
【図７】
0006647141.tif 000008
【図８】
0006647141.tif 000009
【図９】
0006647141.tif 000010
【図１０】
0006647141.tif 000011
【図１１】
0006647141.tif 000012
【図１２】
0006647141.tif 000013
【図１３】
0006647141.tif 000014
【図１４】
0006647141.tif 000015
【図１５】
0006647141.tif 000016
【図１６】
0006647141.tif 000017
【図１７】
0006647141.tif 000018