以下に添付図面を参照して、本実施形態にかかる情報処理装置及び方法の一例を詳細に説明する。
図1は、本実施の形態の情報処理装置の機能的構成を示すブロック図である。図1に示すように、本実施の形態における情報処理装置10は、受信部12、番組記憶部14(第1記憶手段)、メタデータ抽出部16、番組メタデータ記憶部18、キーワード索引作成部20(作成手段)、キーワード索引記憶部22、シーン選択部24(選択手段)、表示部26、視聴履歴収集部28、視聴履歴記憶部30(第2記憶手段)、キーワードスコア計算部32(第1計算手段)、キーワードスコア記憶部34、シーンスコア計算部36(第2計算手段)、シーンスコア記憶部38、及び操作部40(指示手段)を備えている。
受信部12は、コンテンツデータを受信する。受信部12としては、図示を省略する放送局からの放送電波をコンテンツデータとして受信するテレビチューナや、インターネットからコンテンツデータを受信するネットワークインターフェース等が挙げられる。
コンテンツデータは、番組、及び番組の内容を示すメタデータ等を含むデータである。番組の例としては、TV放送番組、DVDなどの記録媒体やVODサービスの形態等で配信、販売、配布されている映画・ビデオクリップ、Web上で配信されている動画像、カメラや携帯電話で撮影した動画像、ビデオレコーダ、HDDレコーダ、DVDレコーダ、録画機能付きTV・PCなどで録画された録画番組などが挙げられる。
メタデータとは、番組の内容を示すデータであり、本実施の形態では、少なくとも、番組中の各位置に応じた内容を示す文字情報を含むデータである。番組メタデータ中の各位置は、本実施の形態では、時間情報によって示される。具体的には、本実施の形態では、メタデータは、番組を識別するための番組IDと、番組の放送日(受信部12によって受信された日)と、番組内における開始時間と終了時間と、該番組内における該開始時間と終了時間の間の内容を示す文字情報と、を含んでいる。
本実施の形態では、この文字情報が、クローズドキャプション(番組のセリフを文字情報に変換した字幕)である場合を説明する。
なお、本実施の形態では、受信部12が、番組とメタデータとを含むコンテンツデータを受信する場合を説明するが、受信部12が、番組とメタデータとを異なるタイミングで受信してもよい、また、本実施の形態では、1つの受信部12で、番組とメタデータとを含むコンテンツデータを受信する場合を説明するが、番組とメタデータとを別々の受信部で受信してもよい。この場合には、例えば、情報処理装置10を、テレビチューナとネットワークインターフェースとの双方を受信部12として備えた構成とする。そして、番組をテレビチューナで受信し、メタデータをネットワークインターフェースで受信すればよい。
なお、メタデータは、上述のように、少なくとも、番組中の各位置に応じた内容を示す文字情報を含むデータであればよく、該文字情報は、上述のようなクローズドキャプションに限られない。例えば、該文字情報は、EPG(Electronic Program Guide)や、RSS(Rich Site Summary)であってもよい。
図2には、本実施の形態におけるメタデータのデータ構成の一例を示した。なお、図2(A)〜図2(C)中、番組ID、放送日、開始時刻、終了時刻、及びクローズドキャプションを示す各行が、1つのメタデータに相当する。すなわち、番組毎に、1または複数のメタデータが対応づけられる。例えば、図2(A)の1行目に示すメタデータは、番組ID「500」、番組の放送日2010年9月3日の番組の、番組内における開始時刻6分00秒から終了時刻6分4秒までの4秒間の内容を示す文字情報であるクローズドキャプションが「記者クラブ主催の党首討論会が開かれました。」であることを示す。なお、番組IDとは、番組を一意に識別するための識別情報である。
また、図2(B)の1行目に示すメタデータは、番組ID「820」、番組の放送日2010年9月5日の番組の、番組内における開始時刻52分30秒から終了時刻52分40秒までの10秒間の内容を示す文字情報であるクローズドキャプションが「本日は、今話題の電子書籍端末について紹介します。」であることを示す。同様に、図2(C)の1行目に示すメタデータは、番組ID「1000」、番組の放送日2010年9月10日の番組の、番組内における開始時刻1時間20分35秒から終了時刻1時間20分40秒までの5秒間の内容を示す文字情報であるクローズドキャプションが「選手Bは、インドのある村を訪れ、」であることを示す。
図1に戻り、番組記憶部14は、ハードディスクドライブ装置(HDD)等の記憶媒体であり、受信部12で受信したコンテンツデータに含まれる番組、該番組を識別するための番組ID、及びメタデータを対応づけて記憶する。
なお、この番組記憶部14には、受信部12で受信したコンテンツデータが順次記憶される。このため、番組記憶部14は、複数のコンテンツデータ、すなわち、複数の番組及び各番組に対応する1または複数のメタデータを記憶する。
メタデータ抽出部16は、番組記憶部14に記憶された各番組に対応するメタデータを抽出し、番組メタデータ記憶部18に記憶する。番組メタデータ記憶部18は、ハードディスクドライブ装置(HDD)等の記憶媒体である。番組メタデータ記憶部18は、例えば、図2に示すようなメタデータを記憶する。
図1に戻り、キーワード索引作成部20は、番組メタデータ記憶部18に記憶された全ての番組に対応するメタデータの各々に含まれる各クローズドキャプションを、複数のキーワードに分解する。詳細には、例えば、キーワード索引作成部20は、各クローズドキャプションを形態素解析することによって、該クローズドキャプションを形態素(言語で意味を持つ最小単位)の列に分解する。そして、キーワード索引作成部20は、複数の形態素のうちの、名詞または固有名詞である形態素を、キーワードとして抽出する。これによって、キーワード索引作成部20は、各メタデータの各々に含まれるクローズドキャプションを、複数のキーワードの集合に分解する。
この形態素解析によって、キーワード索引作成部20は、例えば、図2(A)に示す番組ID「500」のクローズドキャプション「記者クラブ主催の党首討論会が開かれました。」から、「電子書籍」及び「売り上げ」をキーワードとして抽出する。キーワード索引作成部20は、同様にして、他のメタデータに含まれるクローズドキャプションからもキーワードを抽出する。
そして、キーワード索引作成部20は、抽出したキーワードの各々に基づいて、キーワード索引を作成する。キーワード索引とは、キーワードと、索引情報と、を対応づけたテーブルを示す。索引情報は、本実施の形態では、番組IDと、番組内におけるキーワードの出現位置(開始時刻)とを示す。この出現位置として、本実施の形態では、各キーワードを含むクローズドキャプションの開始時刻を用いる。この開始時刻は、メタデータに含まれる開始時刻から読み取ればよい。
図3には、このキーワード索引のデータ構成の一例を示した。図3に示すように、各キーワードに対応する索引情報がキーワード索引に登録される。
例えば、キーワード「電子書籍」を含むあるメタデータのクローズドキャプションが「電子書籍が売り上げを伸ばしています。」であり、このクローズドキャプションの開始時刻が番組ID「500」の7分11秒目である場合を説明する(上記図2(A)9行目のメタデータ参照)。この場合には、キーワード索引作成部20は、キーワード「電子書籍」が番組ID「500」の7分11秒目に出現することを示す索引情報を、キーワード索引に登録する(図3中、(500,0:07:11)を参照)。
また、キーワード「電子書籍」を含むクローズドキャプションが複数ある場合には、キーワード索引作成部20は、該複数のクローズドキャプションの各々に基づいた索引情報をキーワード索引に登録する。例えば、上記図2(A)〜図2(C)に示す例では、キーワード「電子書籍」は、クローズドキャプション「電子書籍を読む端末の多くは携帯電話ですが、」と、クローズドキャプション「本日は、今話題の電子書籍端末について紹介します。」と、に含まれている(上記図2(A)9行目と10行目のメタデータ、及び上記図2(B)1行目のメタデータ参照)。このため、この場合には、キーワード索引作成部20は、キーワード「電子書籍」が番組ID「500」の7分11秒目、7分15秒目、及び番組ID「820」の52分30秒目の各々に出現することを示す索引情報を、キーワード索引に登録する(図3中、(500,0:07:11)、(500,0:07:15)、(820,0:52:30)参照)。
このようなキーワード索引が作成されることによって、本実施の形態の情報処理装置10では、各キーワードの出現位置が高速に検索可能な状態となる。例えば、図3に示すキーワード索引を用いることで、キーワード「電子書籍」が番組ID「500」の7分11秒目、7分15秒目、番組ID「820」の52分30秒目の3箇所に出現することを、高速に検索することが可能な状態となる。また、キーワード索引を用いることによって、詳細を後述するシーンスコア計算部36では、シーンスコアを高速に計算することができる。
図1に戻り、キーワード索引記憶部22は、ハードディスクドライブ装置(HDD)等の記憶媒体であり、キーワード索引作成部20で作成されたキーワード索引を記憶する。
キーワードスコア計算部32は、キーワード索引記憶部22に記憶されている各キーワードについて、キーワードスコアを計算する。キーワードスコアとは、キーワードに付与された数値であり、値が大きいほど、そのキーワードに対するユーザの興味や関心の度合いが大きいことを表す。なお、このユーザとは、情報処理装置10を操作する操作者を示す。
キーワードスコア記憶部34は、ハードディスクドライブ装置(HDD)等の記憶媒体であり、キーワードスコアとキーワードとを対応づけた対応テーブルを記憶する。
図4には、キーワードスコアとキーワードとの対応テーブルの一例を示した。図4に示す対応テーブルに示されるキーワードスコアから、「電子書籍」、「A社」、「ワールドカップ」、「サッカー」などのキーワードに対するユーザの関心の度合いが、他のキーワードに比べて高いことがわかる。
キーワードスコア計算部32におけるキーワードスコアの計算方法としては、様々な方法が挙げられる。本実施の形態では、キーワードスコア計算部32は、番組の視聴範囲に対応するクローズドキャプションに多く出現するキーワードほど、高いキーワードスコアを付与する。このキーワードスコアの計算方法の詳細については後述する。
図1に戻り、操作部40は、次に表示する番組を示す信号や、ザッピングの指示(切替指示)を示す信号を受け付ける。操作部40には、ユーザが次に表示する番組を指示するためのボタン(図示省略)や、ザッピングを指示するためのボタン(図示省略)が設けられている。ユーザによる操作部40におけるこれらのボタンの操作指示によって、操作部40は、ザッピングの指示を示す信号や次に表示する番組を示す信号を受け付ける。なお、これらの信号を受け付けた操作部40は、これらの信号をシーン選択部24へ送信する。
なお、ザッピングとは、番組を視聴しているユーザが表示番組を次々に切り替える行為のことを示す。本実施の形態では、このザッピングの指示とは、表示部26に表示されている番組またはシーンの切替指示を示す。
シーン選択部24は、操作部40から次に表示する番組を示す信号を受け付けたときに、受け付けた該信号に基づいて、番組を番組記憶部14から読み出し、表示部26に表示する。また、シーン選択部24は、操作部40からザッピングの指示を示す信号を受け付ける度に、シーンスコア記憶部38に記憶されているシーンスコアの高いシーンから順に、表示部26に表示する(詳細後述)。
表示部26は、番組を表示する機器であり、例えば、LCD(液晶ディスプレイ)等を挙げることができる。
視聴履歴収集部28は、表示部26に表示された番組の視聴履歴情報を作成する。視聴履歴記憶部30は、ハードディスクドライブ装置(HDD)等の記憶媒体であり、視聴履歴収集部28で収集された視聴履歴情報を記憶する。
視聴履歴情報は、ユーザがどの番組のどの視聴範囲を視聴したかを示すデータである。具体的には、視聴履歴情報は、視聴した番組の番組IDと、該番組の放送日(受信部12で受信した日)と、該番組における視聴開始時刻としての開始時刻と、該番組における視聴終了時刻としての終了時刻と、を含む。なお、この開始時刻と終了時刻とが、視聴範囲に相当する。
図5には、この視聴履歴情報のデータ構成の一例を示した。例えば、図5の1行目に示す視聴履歴情報では、番組ID「200」で、2010年9月3日に放送された番組の、10分50秒目から28分20秒目までがユーザによって視聴されたことを示す。
視聴履歴収集部28では、表示部26に表示される番組を常時監視することによって、上記視聴履歴情報を作成し、視聴履歴記憶部30に格納する。
図1に戻り、シーンスコア計算部36は、キーワードスコア記憶部34に記憶された各キーワードのキーワードスコアと、番組メタデータ記憶部18に記憶されたメタデータと、キーワード索引記憶部22に記憶されたキーワード索引と、から、各番組の1または複数の特定範囲をシーンとして定め、定めたシーンのシーンスコアを計算する。シーンスコアとは、番組の中の、シーンとして定められた特定範囲に対するユーザの興味や関心の度合いを示す。このため、シーンスコアの値が大きいほど、そのシーンに対するユーザの興味や関心の度合いが大きいことを示す。なお、このシーンスコア計算部36による各番組の「シーン」の設定方法や、シーンスコアの計算方法の詳細は後述する。
シーンスコア記憶部38は、ハードディスクドライブ装置(HDD)等の記憶媒体であり、シーンスコア計算部36で定められた番組のシーンと、各シーンに対応するシーンスコアと、を対応づけて記憶する。
次に、本実施の形態の情報処理装置10で実行されるザッピング前処理について説明する。
図6は、情報処理装置10で実行されるザッピング前処理の手順を示すフローチャートである。
なお、本実施の形態では、図6に示されるザッピング前処理が実行される前に、番組記憶部14には、受信部12によって受信された1または複数のコンテンツデータの各々に含まれる、番組及びメタデータが記憶されているものとして説明する。
なお、受信部12は、コンテンツデータを受信する度に、受信したコンテンツデータを番組記憶部14に記憶してもよいし、予め録画予約されたコンテンツデータのみを番組記憶部14に記憶してもよい。予め録画予約されたコンテンツデータを番組記憶部14に記憶する場合には、例えば、録画予約するコンテンツデータのチャンネル情報と放映開始時刻と放映終了時刻とを示す情報を、受信部12のメモリに予め記憶しておく。そして、受信部12では、予め記憶した放送開始時刻となったときに、該記憶されたチャンネル情報のコンテンツデータを受信部12で受信して番組記憶部14に記憶すればよい。なお、この録画予約は、例えば、操作部40に予め録画予約を行うときにユーザによって操作指示されるボタンを用意しておく。そして、このボタンがユーザによって操作指示されることによって、該録画予約が行われるようにすればよい。
次に、メタデータ抽出部16が、番組記憶部14に記憶されている各番組に対応するメタデータを抽出する(ステップS104)。番組メタデータ記憶部18は、メタデータ抽出部16で抽出されたメタデータを記憶する(ステップS106)。
ステップS104及びステップS106の処理が実行されることによって、番組メタデータ記憶部18には、例えば、上記図2に示すメタデータが記憶される。
次に、キーワード索引作成部20が、キーワード索引作成処理を実行する(ステップS108)。そして、キーワードスコア計算部32が、キーワードスコア計算処理を実行(ステップS110)した後に、シーンスコア計算部36が、シーンスコア計算処理を実行(ステップS112)し、本ルーチンを終了する。
次に、上記キーワード索引作成処理(ステップS108)、キーワードスコア計算処理(ステップS110)、及びシーンスコア計算処理(ステップS112)の詳細を説明する。
まず、ステップS108における、キーワード索引作成処理の詳細について説明する。なお、キーワード索引作成部20は、番組毎に、番組に対応する1または複数のメタデータに基づいてキーワード索引作成処理を実行する。
図7には、キーワード索引作成部20が実行するキーワード索引作成処理を示すフローチャートを示した。
まず、キーワード索引作成部20は、番組メタデータ記憶部18に記憶されている各番組のうちの、まだ索引化されていない番組の有無を判断する(ステップS200)。ステップS200の判断は、例えば、番組メタデータ記憶部18に記憶されている番組IDに、索引化済を示すデータが対応づけて記憶されているか否かを判別することによって行う。この場合には、例えば、キーワード索引作成部20が、番組毎にキーワード索引作成処理(後述するステップS201〜ステップS204)を実行する度に、キーワード索引を行った番組の番組IDに対応づけて索引化済を示す情報を番組メタデータ記憶部18に記憶する。そして、キーワード索引作成部20は、この番組メタデータ記憶部18に記憶されているメタデータの番組IDに対応する索引済を示す情報が、番組メタデータ記憶部18に記憶されているか否かを判別することによって、索引化されていない番組の有無を判断すればよい。
索引化されていない番組無し、と判断した場合には(ステップS200:No)、本ルーチンを終了する(ステップS200:No)。
一方、索引化されていない番組有り、と判断した場合には(ステップS200:Yes)、キーワード索引作成部20は、索引化されていない番組のうちの1つの番組の番組IDに対応する全てのメタデータを読み取る(ステップS201)。詳細には、キーワード索引作成部20は、索引化済を示す情報の対応づけられていない1または複数の番組IDのうちの1つを選択し、選択した番組IDを含むメタデータの全てを番組メタデータ記憶部18から読み取る。
例えば、索引化済を示す情報の対応づけられていない番組IDが「500」である場合には、キーワード索引作成部20は、上記図2(A)に示す、番組ID「500」を含むメタデータの全てを番組メタデータ記憶部18から読み取る。
そして、キーワード索引作成部20は、ステップS201で読み取ったメタデータの各々に含まれるクローズドキャプションについて、形態素解析を実行する(ステップS202)。
この形態素解析によって、キーワード索引作成部20は、ステップS201で読み取ったメタデータに含まれるクローズドキャプションを、キーワードの集合に分解する。
そして、キーワード索引作成部20は、上記形態素解析によって得られた各キーワードに基づいてキーワード索引を作成し、キーワード索引記憶部22に記憶する(ステップS204)。そして、キーワード索引作成部20は、上記ステップS200で否定判断(ステップS200:No)するまでステップS201〜ステップS204の処理を繰り替し実行する。
次に、上記ステップS110における、キーワードスコア計算処理の詳細について説明する。このキーワードスコア計算処理は、キーワードスコア計算部32が実行する。
キーワードスコア計算部32は、キーワード索引記憶部22に格納された各キーワードについて、キーワードスコアを計算する。このキーワードスコアの計算方法としては、さまざまな方法を挙げることができる。
もっとも単純なキーワードスコアの計算方法は、番組の内の視聴範囲に含まれるクローズドキャプション中のキーワードの数をカウントし、視聴範囲に出現する回数の多いキーワードほど、高いキーワードスコアを付与する方法が挙げられる。しかしながら、この方法では、ユーザの興味や関心の低いキーワードについてもカウントされてしまう場合がある。
そこで、本実施の形態では、キーワードスコア計算部32は、ステップS110におけるキーワードスコア計算処理として、図8に示すキーワードスコア計算処理を実行する。図8に示すキーワードスコア計算処理は、キーワードの視聴カバー率をキーワードスコアとして計算する処理である。視聴カバー率とは、各キーワードにおける、番組中の視聴範囲に対応するクローズドキャプション中の出現数を、番組の全範囲のクローズドキャプション中の出現数で割った値を示す。
詳細には、図8に示すように、キーワードスコア計算部32は、まず、キーワード索引記憶部22に記憶されているキーワード索引に登録されているキーワードのうちの、キーワードスコア未計算のキーワードが有るか否かを判断する(ステップS300)。
ステップ300の判断は、例えば、キーワード索引記憶部22のキーワード索引について、キーワードスコアの登録されていないキーワードが有るか否かを判別することによって行うことができる。
全てのキーワードについて、キーワードスコアが計算済である場合には(ステップS300:No)、キーワードスコア計算部32は、本ルーチンを終了する。
一方、キーワードスコア未計算のキーワードが有る場合には(ステップS300:Yes)、キーワードスコア計算部32は、未計算のキーワードのうちの1つを、キーワードスコア計算対象として設定する(ステップS302)。
次に、キーワードスコア計算部32は、番組記憶部14に記憶されている全ての番組の全範囲に対応するクローズドキャプションにおける、上記ステップS302で設定したキーワードの出現数をカウントする(ステップS304)。詳細には、キーワードスコア計算部32は、キーワード索引記憶部22に記憶されているキーワード索引に基づいて、該キーワード索引に登録されている上記ステップS302で設定したキーワードに対応づけられている索引情報の数をカウントすることによって、該出現数をカウントする。
例えば、上記ステップS302でキーワード「電子書籍」を設定したとする。そして、上記図3に示すキーワード索引がキーワード索引記憶部22に記憶されているとする。この場合には、キーワード「電子書籍」に対応する索引情報は3つである。このため、キーワードスコア計算部32は、該キーワード索引から、キーワード「電子書籍」の全番組の全範囲に対応するクローズドキャプションにおける、キーワード「電子書籍」の出現数として「3」をカウントする。
次にキーワードスコア計算部32は、視聴範囲に対応するクローズドキャプションにおける、上記ステップS302で設定したキーワードの出現数をカウントする(ステップS306)。
このステップS306では、キーワードスコア計算部32は、視聴履歴記憶部30に記憶されている視聴履歴情報と、キーワード索引記憶部22に記憶されているキーワード索引と、に基づいて、該視聴範囲におけるキーワードの出現数をカウントする。
例えば、上記ステップS302でキーワード「電子書籍」を設定したとする。そして、キーワード索引記憶部22には、上記図3に示すキーワード索引が記憶されており、視聴履歴記憶部30には、上記図5に示す視聴履歴情報が記憶されているとする。この場合には、キーワードスコア計算部32は、該キーワード索引と該視聴履歴情報とから、キーワード「電子書籍」の3つの索引情報である(500,0:07:11)、(500,0:07:15)、及び(820,0:52:30)のうちの、(500,0:07:11)及び(500,0:07:15)を視聴と判定し、(820,0:52:30)を未視聴と判定する。そして、キーワードスコア計算部32は、この視聴と判定した索引情報の数である「2」を、キーワード「電子書籍」の視聴範囲に対応するクローズドキャプションにおける出現数としてカウントする。
次にキーワードスコア計算部32は、上記ステップS306で算出したカウント数を、上記ステップS304で算出したカウント数で除算する事によって、キーワードスコアを算出する(ステップS308)。
例えば、キーワード「電子書籍」の視聴カバー率としてのキーワードスコアは、上記「2」を「3」で除算した値である0.67となる。
そして、キーワードスコア計算部32は、上記ステップS308で算出したキーワードスコアを、対応するキーワードに対応づけてキーワードスコア記憶部34に記憶する(ステップS310)。次に、キーワードスコア計算部32は、上記ステップ300で否定判断するまで、上記ステップ302〜ステップS310の処理を繰り返し実行する。
キーワードスコア計算部32が、上記ステップS300〜ステップS310に示すキーワードスコア計算処理を実行することによって、キーワード索引記憶部22に登録されている全てのキーワードについて、キーワードスコアを計算することができる。
なお、本実施の形態におけるキーワードスコア計算部32において行うキーワードスコア計算処理は、上記に説明したような、視聴カバー率をキーワードスコアとして計算する方法に限られない。
例えば、キーワードスコア計算部32では、機械学習を用いた手法を用いて各キーワードのキーワードスコアを計算してもよい。機械学習を用いた手法を用いてキーワードスコアを計算する場合には、例えば、ユーザの嗜好を示すデータを事前に収集して解析を行い、解析結果から、キーワード毎にキーワードスコアを計算すればよい。なお、ユーザの嗜好を示すデータは、事前に操作部40の操作指示によってユーザによって入力されるようにしてもよいし、ウェブサーバー等から収集してもよい。
また、ユーザが手動で、各キーワードに対応する任意のキーワードスコアを登録するようにしてもよい。また、上記キーワードスコア計算部32による視聴カバー率をキーワードスコアとして計算する方法と、手動によるキーワードスコアの登録とを組み合わせて用いてもよい。なお、上記視聴カバー率をキーワードスコアとして計算する方法と、ユーザが手動で任意のキーワードを登録する方法とを組み合わせる場合には、ユーザが手動で登録したキーワードのキーワードスコアを、視聴カバー率で求められた値より高い値(上記図4に示す例では、例えば、1.0)としてもよい。
次に、上記ステップS112における、シーンスコア計算処理の詳細について説明する。このシーンスコア計算処理は、シーンスコア計算部36が実行する。
図9には、シーンスコア計算部36が実行するシーンスコア計算処理を示すフローチャートを示した。
シーンスコア計算部36では、まず、キーワードスコア記憶部34から、キーワードスコアの値が予め定められた閾値以上であるキーワードを、嗜好キーワードとして抽出する(ステップS500)。
例えば、上記図4に示すキーワードスコアが各キーワードに対応づけてキーワードスコア記憶部34に記憶されているとする。そして、閾値として、予め0.8が定められていたとする。この場合には、シーンスコア計算部36では、上記ステップS500の処理によって、上記図4に示す全てのキーワードの中から、「電子書籍」、「A社」、「ワールドカップ」、「サッカー」、「日本代表」を、嗜好キーワードとして抽出する。
次に、シーンスコア計算部36は、キーワード索引記憶部22から、上記ステップS500で抽出した嗜好キーワードに対応する索引情報(番組IDと出現位置)を読み取る(ステップS502)。
例えば、嗜好キーワードが「電子書籍」であり、上記図3に示すキーワード索引がキーワード索引記憶部22に記憶されている場合には、シーンスコア計算部36は、(500,0:07:11)、(500,0:07:15)、(820,0:52:30)の3つの索引情報をキーワード索引から読み取る。
なお、ステップS502の処理において、同じ嗜好キーワードに対応する索引情報が複数あり、この複数の索引情報に、同じ番組IDで且つ近い出現位置(例えば、時間差が30秒以内等)を示す索引情報が含まれている場合には、該索引情報の内の最も出現位置の早い索引情報を読み取ることが好ましい。例えば、嗜好キーワード「電子書籍」に対応する該3つの索引情報のうちの、(500,0:07:11)と(500,0:07:15)とは、出現位置が4秒と近い。このため、この場合には、シーンスコア計算部36は、ステップS502において、(500,0:07:11)と(820,0:52:30)と、を読み取る。
また、ステップS502の処理において、「ワールドカップ」、「サッカー」のように異なる嗜好キーワードについても、同じ番組IDで且つ近い出現位置(例えば、時間差が30秒以内等)を示す索引情報については、最も出現位置の早い索引情報を読み取ることが好ましい。
例えば、上記図3に示す例では、嗜好キーワード「サッカー」の索引情報である(500,0:06:30)、嗜好キーワード「ワールドカップ」の索引情報である(500,0:06:30)、及び嗜好キーワード「日本代表」の索引情報である(500,0:06:40)が、同じ番組IDで且つ近い出現位置を示す索引情報である。この場合には、この3つの嗜好キーワードと索引情報の組み合わせのうちの、最も出現位置の早い索引情報(500,0:06:30)と嗜好キーワード「サッカー」を読み取る。
そして、シーンスコア計算部36では、その他の嗜好キーワードについても同様に索引情報を抽出する。
ステップS502の処理によって、シーンスコア計算部36は、番組記憶部14に記憶されている全ての番組について、各番組に関する嗜好キーワードと、各嗜好キーワードの番組内における出現位置を示す情報と、を抽出する。
図10には、番組の全範囲中における嗜好キーワードの出現位置を模式的に示した。例えば、ステップS502の処理によって、シーンスコア計算部36は、図10に示すように、番組ID500の番組の全範囲中(図10中、番組IDの時間軸50参照)における、嗜好キーワード「サッカー」と「電子書籍」の各々の出現位置(図10中、出現位置50A及び出現位置50B参照)を読み取る。また、シーンスコア計算部36は、番組ID820の番組の全範囲中(図10中、番組IDの時間軸52参照)における、嗜好キーワード「電子書籍」の出現位置(図10中、出現位置52A参照)を読み取る。また、シーンスコア計算部36は、番組ID1000の番組の全範囲中(図10中、番組IDの時間軸54参照)における、嗜好キーワード「サッカー」の出現位置(図10中、出現位置54A参照)を読み取る。
次に、シーンスコア計算部36は、各番組における、各嗜好キーワードの出現位置を含む予め定めた特定範囲を、シーンスコア計算対象のシーンとして設定する(ステップS504)。
この予め定めた特定範囲の長さとしては、例えば、30秒等の時間を予め定めておいてもよいし、該出現位置に対応するクローズドキャプション1つ分の範囲としてもよいし、該クローズドキャプションと該クローズドキャプションに連続する複数のクローズドキャプション分(例えば5つ分)の範囲としてもよい。ただし、各シーンのシーンスコアの精度向上の観点から、シーンスコア計算対象のシーンとして設定する特定範囲の長さには、ある程度上限を設けることが好ましい。
なお、このシーンとして設定する特定範囲は、各嗜好キーワードの出現位置を含む予め定めた特定範囲であればよい。例えば、シーンとして設定する特定範囲は、該出現位置を開始位置とする特定範囲であってもよいし、該出現位置を終了位置とする特定範囲であってもよい。なお、本実施の形態では、該出現位置を開始位置とする特定範囲を、シーンとして設定する場合を説明する。
図10には、番組ID500の番組の全範囲(時間軸50参照)における、嗜好キーワード「サッカー」の出現位置50Aを開始位置とする特定範囲51Aを、シーンとして設定した場合を示した。また、図10には、番組ID500の番組の全範囲(時間軸50参照)における、嗜好キーワード「電子書籍」の出現位置50Bを開始位置とする特定範囲51Bを、シーンとして設定した場合を示した。
同様に、図10には、番組ID820の番組の全範囲(時間軸52参照)における、嗜好キーワード「電子書籍」の出現位置52Aを開始位置とする特定範囲53Aと、番組ID1000の番組の全範囲(時間軸54参照)における、嗜好キーワード「サッカー」の出現位置54Aを開始位置とする特定範囲55Aと、を、シーンとして設定した場合を示した。
このように、本実施の形態の情報処理装置10では、ステップS504の処理によって、番組の全範囲ではなく、番組中の特定の範囲を、シーンスコア計算対象のシーンとして設定することができる。
次に、シーンスコア計算部36は、上記ステップS504で設定したシーンの範囲と、該シーンを含む番組の番組IDと、を対応づけてシーンスコア記憶部38に記憶する(ステップS506)。本実施の形態では、シーンスコア計算部36は、このシーンの範囲として、シーンの開始位置と終了位置を示す情報を記憶する。
次に、シーンスコア計算部36は、上記ステップS506で記憶した全てのシーンについて、シーンスコア未計算のシーンが有るか否かを判別する(ステップS508)。そして、シーンスコア未計算のシーン無と判別(ステップS508:No)と判別するまで、ステップS510〜ステップS518の処理を繰り返す。
シーンスコア計算部36は、シーンスコア未計算のシーンが有ると判別すると(ステップS508:Yes)、まず、シーンスコア未計算のシーンの内の1つをシーンスコア計算対象として設定する(ステップS510)。
次に、シーンスコア計算部36は、ステップS510でシーンスコア計算対象として設定したシーンのクローズドキャプションを抽出し、形態素解析を行うことによって該クローズドキャプションをキーワードの集合に分解する(ステップS512)。
ステップS512におけるクローズドキャプションの抽出は、例えば、シーンの番組IDと、シーンの範囲(番組におけるシーンの開始位置と終了位置)と、から、該番組ID及び該シーンの範囲に対応するクローズドキャプションを、番組メタデータ記憶部18から読み取ることによって行えばよい。
例えば、番組ID「500」の嗜好キーワード「電子書籍」の出現位置である7分11秒から始まる30秒間の範囲をシーンスコア計算対象のシーンとして設定した場合には、シーンスコア計算部36は、クローズドキャプションとして、上記図2(A)に示す「電子書籍が売り上げを伸ばしています。」、「電子書籍を読む端末の多くは携帯電話ですが、」、及び「今後、新製品が続々と登場し、市場は拡大すると予想されます。」を読み取る。
なお、ステップS512における形態素解析については、上記ステップS202と同様にして行えばよい。
次に、シーンスコア計算部36は、ステップS512で得た各キーワードに対応するキーワードスコアを、キーワードスコア記憶部34から読み取る(ステップS514)。なお、キーワードスコア記憶部34に対応するキーワードが登録されていないキーワードについては、キーワードスコアの値として「0」を読み取ればよい。
次に、シーンスコア計算部36は、シーンに含まれる全てのキーワードのキーワードスコアの合計値を、シーンスコアとして算出する(ステップS516)。
例えば、上記ステップS512において、上述のように、上記図2(A)に示す「電子書籍が売り上げを伸ばしています。」と「電子書籍を読む端末の多くは携帯電話ですが、」と「今後、新製品が続々と登場し、市場は拡大すると予想されます。」を読み取ったとする。この場合には、シーンスコア計算部36は、これらのクローズドキャプションの各々に含まれるキーワードである「電子書籍」、「売り上げ」、「電子書籍」、「端末」、「携帯電話」、「新製品」、及び「市場」の各々に対応するキーワードスコアの合計値(0.9+0.0+0.9+0.0+0.6+0.6+0.0)の3.0を、シーンスコアとして計算する(図10参照)。
別の例として、シーンスコア計算部36が、番組ID「500」の嗜好キーワード「サッカー」の出現位置である6分30秒から始まる30秒間の範囲を、シーンスコア計算対象のシーンとして設定し、該シーンに対応するクローズドキャプションとして、上記図2(A)に示す、「次はサッカーワールドカップの速報です。」、「日本代表は、日本時間の25日未明、決勝トーナメントの進出をかけて」、及び「イギリスと戦います。」を読み取ったとする。この場合には、シーンスコア計算部36は、これらのクローズドキャプションの各々に含まれるキーワードである「サッカー」、「ワールドカップ」、「速報」、「日本代表」、「日本時間」、「決勝」、及び「トーナメント」の各々に対応するキーワードスコアの合計値(0.8+0.9+0.0+0.8+0.0+0.0+0.0)の2.5を、該シーンのシーンスコアとして計算する(図10参照)。
また、別の例として、シーンスコア計算部36が、番組ID「1000」の嗜好キーワード「サッカー」の出現位置である30秒間の範囲を、シーンスコア計算対象のシーンとして設定し、該シーンに対応するクローズドキャプションとして、上記図2(C)に示す「子供たちにサッカーボールをプレゼントし、ともにサッカーを楽しみました。」を読み取ったとする。この場合には、シーンスコア計算部36は、このクローズドキャプションに含まれるキーワードである「子供たち」、「サッカーボール」、「プレゼント」、「サッカー」の各々に対応するキーワードスコアの合計値(0.0+0.0+0.0+0.8)の0.8を、該シーンのシーンスコアとして計算する(図10参照)。
次に、シーンスコア計算部36は、算出したシーンスコアを、該シーンスコアのシーン範囲と番組IDに対応づけてシーンスコア記憶部38に記憶する(ステップS518)。
ステップS518の処理によって、シーンスコア記憶部38は、番組ID、シーン範囲に対応するシーンスコアを記憶する。図11には、シーンスコア記憶部38に記憶された、番組ID、シーン範囲、及びシーンスコアのデータ構成の一例を示した。
図10及び図11に示すように、番組ID「1000」の嗜好キーワード「サッカー」から始まる30秒間のシーン(特定範囲55A)は、嗜好キーワード「サッカー」に関連するものの、ワールドカップなどスポーツに関連のある内容ではない(図2(C)も参照)。このため、同じ嗜好キーワード「サッカー」から始まる番組ID「500」のシーン(特定範囲51A)に比べて、番組ID「1000」のシーン(特定範囲55A)のシーンスコアは低くなっている。このため、本実施の形態では、後述するザッピング処理時において、ユーザの興味及び関心の高いシーンを正確に提供することができるといえる。
なお、本実施の形態では、シーンスコア計算部36は、各シーンに含まれる全てのキーワードのキーワードスコアの合計値をシーンスコアとして計算したが、該キーワードスコアを用いた他の演算方法を用いてシーンスコアを計算してもよい。
次に、操作部40が操作されることによってザッピング指示が入力されたときのザッピング処理について説明する。
図12には、情報処理装置10で行われるザッピング処理を示すフローチャートを示した。
シーン選択部24では、ザッピング指示が入力されたか否かを判断する(ステップS600)。ステップS600の判断は、操作部40からザッピング指示を示す信号を受け付けたか否かを判別することによって行うことができる。このザッピング指示を示す信号は、ユーザによって操作部40に設けられたザッピングを指示するためのボタンが操作されることによって、操作部40からシーン選択部24へ出力される。ザッピング指示が入力されたことを判断した場合には(ステップS600:Yes)、ステップS602へ進む。一方。ザッピング指示が入力されていない場合には(ステップS600:No)、本ルーチンを終了する。
次に、シーン選択部24は、シーンスコア記憶部38に記憶されているシーンスコアのうち、最も高いシーンスコアに対応するシーン範囲と番組IDを読み取る(ステップS602)。そして、シーン選択部24は、ステップS602で読み取った番組IDに対応する番組を番組記憶部14から読み取り(ステップS604)、ステップS602で読み取ったシーン範囲の開始時刻に対応する位置から表示部26へ表示する表示処理を開始する(ステップS606)。
ステップS602〜ステップS606の処理が実行されることによって、表示部26には、シーンスコアの最も高いシーンが表示部26に表示される。
次に、シーン選択部24では、ザッピング指示が入力されたか否かを上記ステップS600と同様にして判断する(ステップS608)。そして、シーン選択部24は、ザッピング指示が入力されたと判断した場合には(ステップS608:Yes)、シーンスコア記憶部38に記憶されているシーンスコアのうち、前回表示したシーンの次にシーンスコアの高いシーン範囲と番組IDを読み取る(ステップS610)。そして、シーン選択部24は、ステップS610で読み取った番組IDに対応する番組を番組記憶部14から読み取り(ステップS612)、ステップS610で読み取ったシーン範囲の開始時刻に対応する位置から表示部26へ表示する表示処理を開始する(ステップS614)。
次に、シーン選択部24は、表示部26への表示終了を示す終了指示が入力されたか否かを判断する(ステップS616)。ステップS616の判断は、操作部40から表示終了を示す信号を受け付けたか否かを判別することによって行うことができる。この表示終了を示す信号は、ユーザによって操作部40に設けられた表示終了を指示するためのボタンが操作されることによって、操作部40からシーン選択部24へ出力される。シーン選択部24が、終了指示の入力を判別しなかった場合には(ステップS616:No)、終了指示の入力を判断(ステップS616:Yes)するまで、上記ステップS608〜ステップS614の処理を繰り返し実行する。
このため、操作部40が操作されることによってザッピング指示が入力される度に、シーンスコアの高いシーンから順に、表示部26にシーンが表示される。
以上説明したように、本実施の形態の情報処理装置10では、キーワード索引作成部20が、クローズドキャプションからキーワードを抽出し、キーワードと該キーワードの番組における出現位置とを示すキーワード索引を作成する。そして、キーワードスコア計算部32が、視聴履歴情報に基づいて各キーワードのキーワードスコアを算出する。そして、シーンスコア計算部36が、キーワード索引とキーワードスコアに基づいて、各番組における特定範囲をシーンとして設定し、設定したシーンのシーンスコアをキーワードスコアに基づいて計算する。
このように、本実施の形態の情報処理装置10では、キーワード索引を作成する。そして、シーンの設定時には、このキーワード索引を用いる。このため、少ない計算量で、シーンの設定を行うことができる。また、本実施の形態の情報処理装置10では、番組の全範囲ではなく、ユーザの関心の高い特定範囲を選択的にシーンとして設定し、設定したシーンのシーンスコアを算出する。このため、シーンスコア計算時の計算量を従来に比べて削減することができる。
従って、本実施の形態の情報処理装置10では、少ない計算量で、ユーザの関心や興味の度合いに応じたシーンを順次提供することができる。
次に、本実施の形態の情報処理装置10のハードウェア構成について説明する。図13は、本実施の形態の情報処理装置10のハードウェア構成例を示すブロック図である。
実施の形態の情報処理装置10は、表示部26によって制御されるディスプレイ装置等の表示部68、チューナ等の受信部70、操作部72、CPU60(Central Processing Unit)、ROM(Read Only Memory)62、RAM(Random Access Memory)64、及びHDD66等がバス67により相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
CPU60は、情報処理装置10の全体の処理を制御する演算装置である。RAM64は、CPU60による各種処理に必要なデータを記憶する。ROM62は、CPU60による各種処理を実現するプログラム等を記憶する。HDD66は、上述した各記憶部に格納されるデータを記憶する。受信部70は、外部装置や外部端末に通信回線等を介して接続し、接続した外部装置や外部端末との間でデータを送受信するためのインタフェースである。操作部72は、上記操作部40に相当する。
本実施の形態の情報処理装置10で実行される上記各種処理を実行するためのプログラムは、ROM62等に予め組み込んで提供される。
なお、本実施の形態の情報処理装置10で実行されるプログラムは、情報処理装置10にインストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供するように構成してもよい。
また、本実施の形態の情報処理装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態の情報処理装置10における上記各処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施の形態の情報処理装置10で実行される上記プログラムは、上述した各部(メタデータ抽出部16、キーワード索引作成部20、キーワードスコア計算部32、シーンスコア計算部36、シーン選択部24、視聴履歴収集部28)を含むモジュール構成となっている。実際のハードウェアとしては、CPU60が、ROM62等から各種プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した機能構成が主記憶装置上に生成されるようになっている。
なお、本実施の形態では、情報処理装置10として、表示部26(表示部68)を備えた構成を説明したが、表示部26(表示部68)を装置本体とは別体として備えた構成であってもよい。すなわち、情報処理装置10は、HDDなどの大容量記憶媒体によりコンテンツ(番組)を読み書き自在に記録する記録再生装置に適用してもよいし、テレビジョン装置、PC(Personal Computer)に適用してもよい。
なお、上記には、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。