番組検索装置および番組検索プログラム
【課題】指定された特定の番組と内容が類似する番組を精度よく検索することのできる番組検索装置および番組検索プログラムを提供する。
【解決手段】出現頻度情報と固有表現情報を記憶する番組情報記憶部と、番組情報を取得する番組情報取得部と、指定された指定番組に関して番組情報取得部が取得した番組情報における表現の出現頻度をカウントする出現頻度カウント部と、前記出現頻度と番組情報記憶部から読み出した特定の検索対象番組に関する出現頻度情報とに基づき、指定番組と検索対象番組との間での表現の共起の度合いを計算するとともに、固有表現重み値によって重み付ける処理をすることによって関連度を算出する類似度計算部と、類似度計算部が算出した関連度に基づいて選択された検索対象番組を出力する検索結果提示部を、番組検索装置が備えるようにする。
【解決手段】出現頻度情報と固有表現情報を記憶する番組情報記憶部と、番組情報を取得する番組情報取得部と、指定された指定番組に関して番組情報取得部が取得した番組情報における表現の出現頻度をカウントする出現頻度カウント部と、前記出現頻度と番組情報記憶部から読み出した特定の検索対象番組に関する出現頻度情報とに基づき、指定番組と検索対象番組との間での表現の共起の度合いを計算するとともに、固有表現重み値によって重み付ける処理をすることによって関連度を算出する類似度計算部と、類似度計算部が算出した関連度に基づいて選択された検索対象番組を出力する検索結果提示部を、番組検索装置が備えるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、放送等の番組を検索する番組検索装置および番組検索プログラムに関する。特に、本発明は、蓄積されたデータベースを検索して、指定された番組に関連する番組を取得する番組検索装置および番組検索プログラムに関する。
【背景技術】
【0002】
近年、放送された番組を蓄積しておくことにより、放送後の任意の時間に、インターネット等の通信回線を通じて、視聴者が求める番組を視聴することのできるサービスが普及しはじめている。また、これに伴い、番組のジャンルなどの情報を含む番組メタデータに基づき、視聴者に番組を推薦するシステムやサービスが提案されている。推薦する番組を選択するための手法は、例えば、視聴者の視聴履歴などに基づいてその嗜好を学習し、その学習結果に基づいて番組を推薦するものである。
【0003】
特許文献1には、番組内容を記述した番組情報を取得し、その番組情報からキーワードを抽出し、そのキーワードの出現数およびそのキーワードが属するカテゴリに属する異なるキーワードの出現数をカウントし、これらの数値に基づいて検索クエリと被検索番組との間の類似度を計算し、計算された類似度に基づいて特定の番組を出力するという技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−043156号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されている技術では、EPGの情報(番組情報)から、タグに囲まれた文字列および記号に続く文字列、辞書に登録された文字列、品詞などの情報により得た文字列をキーワードとして抽出し、このキーワードに基づいて関連番組を検索している。しかしながら、キーワードが含まれていない関連番組があった場合は、検索漏れが生じる。
また、協調フィルタリングなど、履歴に基づいて番組を検索する方法では、指定された番組に関連している内容を有する番組が選択されるとは限らない。
【0006】
本発明は、上記の課題を考慮して為されたものであり、指定された特定の番組と内容が類似する番組を精度よく検索することのできる番組検索装置および番組検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
[1]上記の課題を解決するため、本発明の一態様による番組検索装置は、番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、前記番組情報を取得する番組情報取得部と、指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部とを備えることを特徴とする。
【0008】
この構成によれば、番組情報取得部が指定番組に関する番組情報を取得し、出現頻度カウント部がその番組情報における表現の出現頻度をカウントする。類似度計算部は、指定番組についての出現頻度と検索対象番組についての出現頻度との関係(表現の共起関係、共起の度合いを表わす尺度(例えば、Okapi BM25に基づく関数など))に基づき、また予め記憶された固有表現情報から読み出した固有表現重み値(番組情報に含まれる固有表現に対応するもの)に基づき、両者の関連度を算出する。これにより、単に出現頻度の統計的特徴のみによる関連度ではなく、固有表現の重みに基づいた関連度を計算することができる。
ここで、表現とは、番組情報のテキストに含まれる単語、あるいは単語の連鎖などである。複合語などの表現の出現頻度を統計的に扱うために、例えば、n個の単語の連鎖を表わすnグラム(n−gram,エヌグラム)を用いることは好適である。このとき、ストップワード(助詞等)を含むnグラムを除外したnグラムのみを用いても良い。
上記した共起の度合いを表わす尺度は、単に指定番組と特定の検索対象番組とにおける表現の出現頻度のみによって定まるものではなく、検索対象となるデータベース全体の番組における当該表現の出現頻度によっても変わる。つまり、ありふれた表現であるか番組特有の表現であるかに応じて、共起の度合いを表わす尺度の値は変わる。
なお、検索結果提示部は、1つの検索対象番組のみを選択して出力しても良く、複数の検索対象番組を選択して出力しても良い。通常は、計算された関連度が高いものを選択する。
指定番組および検索対象番組は、それぞれ、放送される番組や、通信回線等を介して配信される番組等の動画像コンテンツである。なお、指定番組あるいは検索対象番組は、番組全体を単位として扱っても良く、また、いわゆる番組を複数の項目(項目とは、番組内の意味的なまとまりの単位であり、例えば、ニュース番組における個々のニュース項目はここで言う項目である。)に分けて、個々の項目を単位として、出現頻度をカウントしたり、関連度の計算の対象としたり、選択して提示する対象とするようにしても良い。
【0009】
[2]また、本発明の一態様は、上記の番組検索装置において、前記表現はnグラムであり、前記番組情報記憶部が記憶する前記出現頻度情報は、番組ごとのnグラムの出現頻度を表わすものであり、且つ前記出現頻度情報は、番組ごとの所定の複数の連鎖数の前記nグラムごとの出現頻度を含むものであり、前記出現頻度カウント部は、前記指定番組に関する前記番組情報における前記所定の複数の連鎖数の前記nグラムごとの出現頻度をカウントするものであり、前記類似度計算部は、前記指定番組と前記検索対象番組との間での前記所定の複数の連鎖数のnグラムの共起の度合いを計算するものであり、特定の連鎖数のnグラムの共起の度合いを、当該連鎖数に応じたnグラム重み値によって重み付ける処理をさらに行うことによって前記関連度を算出することを特徴とする。
【0010】
この構成によれば、複数の連鎖数のnグラムのそれぞれの出現頻度に基づいて、指定番組と検索対象番組との間の関連度を算出する。また、nグラム重み値を適切に設定することにより、同一の単語の連鎖を含んで、連鎖数の異なる別のnグラムの出現頻度が多重に(過剰に)関連度に寄与することを防ぐことができる。
【0011】
[3]また、本発明の一態様は、上記の番組検索装置において、前記指定番組と前記検索対象番組との間での表現の共起の度合いに対して、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理を行った結果に基づき、前記指定番組と前記検索対象番組との間の関係を表わす前記表現を関係ラベルとして決定する関係ラベル決定部を更に備え、前記検索結果提示部は、対応する前記関係ラベルと関連付けて選択された前記検索対象番組を出力することを特徴とする。
【0012】
この構成によれば、指定番組と検索対象番組との関係を特徴付ける表現を関係ラベルとして決定する。両者間の表現の共起の度合いを固有表現重み値によって重み付ける処理とは、例えば、共起の度合いの尺度の値に単純に固有表現重み値を乗じることで良い。その結果が最も大きくなるような表現を、前記の関係ラベルとして決定することには合理性がある。関係ラベルは番組間の関係を示すラベルであるため、指定番組が変われば、検索結果が同じ番組であっても関係ラベルが異なることもある。
決定された関係ラベルを出力することにより、検索結果として選択された番組がなぜ選択されたかを説明付けることが可能となる。また、決定された関係ラベルごとに分類する形式で、複数の検索結果の番組を提示するようにできる。
【0013】
[4]また、本発明の一態様は、上記の番組検索装置において、検索対象とするための番組に関して前記番組情報取得部が取得した前記番組情報から固有表現を抽出する処理を行なうとともに、抽出された前記固有表現に対応する前記固有表現重み値を決定し、前記固有表現情報を作成して前記番組情報記憶部に書き込む固有表現特定部、を更に備え、前記出現頻度カウント部は、検索対象とするための番組に関しても前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントし、前記出現頻度情報を作成して前記番組情報記憶部に書き込むことを特徴とする。
【0014】
この構成により、番組情報記憶部が保持すべき出現頻度情報と固有表現情報とを、与えられた番組情報から抽出することができる。つまり、番組検索のために必要な番組データベースを構築することができる。
固有表現重み値は、個々の固有表現ごとに決定しても良い。また例えば、固有表現の種別を決定し、この種別に応じて固有表現重み値を決定しても良い。また、固有表現の種別を、固有表現情報の一部として記憶するようにしても良い。
【0015】
[5]また、本発明の一態様による番組検索プログラムは、コンピュータを、番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、前記番組情報を取得する番組情報取得部と、指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部と、を備える番組検索装置として機能させる。
【発明の効果】
【0016】
本発明によれば、番組の内容を考慮して関連番組の検索を精度良く行うことができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態による番組検索装置の機能構成を示したブロック図である。
【図2】同実施形態による番組取得部(10)内の詳細な機能構成を示したブロック図である。
【図3】同実施形態による電子番組ガイドデータ取得部(101)が取得する電子番組ガイド(EPG)データの一例を示した概略図である。
【図4】同実施形態によるウェブページデータ取得部(102)が取得するウェブページデータ(ホームページデータ)に基づいてマークアップされた画面表示例を示す概略図である。
【図5】クローズドキャプションデータの放送番組の画面内での表示例を示す概略図である。
【図6】同実施形態によるクローズドキャプションデータ取得部(103)が取得するクローズドキャプションデータの構造の一例を示す概略図である。
【図7】同実施形態による番組情報記憶部が記憶する出現頻度情報(121)のデータ構成を示す概略図である。
【図8】同実施形態による番組情報記憶部が記憶する固有表現情報(122)のデータ構成を示す概略図である。
【図9】同実施形態による番組データベース生成処理の手順を示すフローチャートである。
【図10】同実施形態による番組検索処理の手順を示すフローチャートである。
【図11】同実施形態による番組検索結果の提示の画面表示の一例を示す概略図である。
【発明を実施するための形態】
【0018】
次に、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態による番組検索装置の機能構成を示すブロック図である。同図において、符号1は番組検索装置である。図示するように、番組検索装置1は、番組情報取得部10と、出現頻度カウント部11と、番組情報記憶部12と、類似度計算部15と、検索結果提示部18と、固有表現特定部21と、関係ラベル決定部22とを含んで構成される。また、番組検索装置1は、外部記憶装置91やサーバコンピュータ92と接続されており、通信により、これらの外部の装置からデータを取得することが出来るように構成されている。
【0019】
番組情報取得部10は、外部記憶装置91やサーバコンピュータ92(ウェブサーバなど)などといった外部の装置から番組情報を取得する。ここで、番組情報とは、番組内容に関するテキストを含むデータであり、例えば、電子番組ガイドデータ(EPG,Electronic Program Guide)や、ウェブページデータや、クローズドキャプションデータ(CC,Closed Caption)などである。なお、番組情報取得部10が、電子番組ガイドデータやクローズドキャプションデータを放送波から直接取得するようにしてもよい。このとき、放送局は、これらのデータを用いて変調した放送波を送信する。
【0020】
出現頻度カウント部11は、指定された指定番組と検索対象となる検索対象番組のそれぞれに関して番組情報取得部10が取得した番組情報における表現(nグラム等)の出現頻度をカウントする。
【0021】
番組情報記憶部12は、磁気ディスク装置や半導体メモリ等を用いて実現されており、番組データベースを記憶する。この番組データベースは、固有表現情報122や出現頻度情報121のデータを含んでいる。出現頻度情報121は、前記の番組情報における番組ごとの表現の出現頻度を表わす。固有表現情報122は、少なくとも、前記の番組情報に含まれる固有表現とそれに対応する固有表現重み値とを関連付けて記憶する。これらのデータの詳細については後述する。
【0022】
類似度計算部15は、指定番組に関する番組情報について出現頻度カウント部11がカウントして得られた表現ごとの出現頻度と、番組情報記憶部12から読み出した特定の検索対象番組に関する出現頻度情報121と、同じく番組情報記憶部12から読み出した固有表現情報122とに基づき、指定番組と検索対象番組との間での表現の共起の度合いの尺度を計算するとともに、当該表現が固有表現情報122に含まれる固有表現である場合には前記共起の度合いの尺度を固有表現情報122が有する固有表現重み値によって重み付ける処理をすることによって、指定番組と検索対象番組との間の関連度を算出する。また、前記表現の出現頻度としてnグラムの出現頻度を用いる場合、類似度計算部15は、複数の連鎖数のnグラムの共起の度合いを計算するものであり、それらのうちの特定の連鎖数のnグラムの共起の度合いを当該連鎖数に応じたnグラム重み値によって重み付ける処理を行う。
【0023】
検索結果提示部18は、類似度計算部15が算出した関連度に基づいて、関連度の高い検索対象番組を選択し、選択された検索対象番組を出力する(例えば、画面に表示する)ものである。また、検索結果提示部18が、後述する関係ラベル決定部22が決定する関係ラベルと関連付けて、選択された検索対象番組を出力するようにしても良い。例えば、検索結果提示部18が、決定された関係ラベルごとに検索対象番組を分類した上で、関連度が上位の検索対象番組を選択して表示する。
【0024】
固有表現特定部21は、機械学習等の技術を用いて、前記の番組情報から固有表現を抽出する処理を行なう。また、固有表現特定部21は、機械学習の手法を用いることにより、固有表現を抽出する際に、その固有表現の種別を併せて決定する。また、個別の固有表現に応じた固有表現重み値あるいは固有表現種別に応じた固有表現重み値を決定し、これらを併せて固有表現情報122として番組情報記憶部12に書き込む。
【0025】
関係ラベル決定部22は、指定番組と検索対象番組との間での表現の共起の度合いに基づいて、それらの番組のペアにおいて共起の度合いの尺度が大きい(つまり、それら番組の関係を良く表わす)表現を、関係ラベルとして決定する。このとき、関係ラベル決定部22が、前記共起の度合いの尺度の計算結果に対して固有表現情報122から得た固有表現重み値によって重み付ける処理を行っても良い。
【0026】
図2は、番組情報取得部10の内部の機能構成を示すブロック図である。図示するように、番組情報取得部は、電子番組ガイドデータ取得部101と、ウェブページデータ取得部102と、クローズドキャプションデータ取得部103とを含んで構成される。
【0027】
電子番組ガイドデータ取得部101は、外部から、電子番組ガイドデータを取得する。電子番組ガイドデータは、放送波の信号として伝送されたり、放送局等のウェブサーバ装置からインターネット等を経由して伝送されたりする。電子番組ガイドデータには、番組内容に関するテキストの他に、番組タイトルや、放送日および放送時間や、出演者などに関する情報が含まれている。ただし、電子番組ガイドデータに含まれる番組内容データの量や質は、放送局や番組ジャンルにより異なる。ドラマやドキュメンタリ番組の場合には、電子番組ガイドデータは、あらすじ等を記述した詳細な情報を含んでいる。
【0028】
ウェブページデータ取得部102は、外部から、インターネット等を経由して、ウェブページデータを取得する。このとき、ウェブページデータ取得部102は、必要に応じて番組名や放送局名等をキーとした検索処理を行うことによって、目的とするウェブページデータを特定する場合もある。放送局のホームページのデータを提供するウェブサーバ装置は、放送前あるいは放送後の番組の内容に関する情報を有している。例えば時事番組などでは、放送時に提供される情報は少ないが、放送後にその番組の内容に関する詳細且つ豊富な情報がウェブサーバ装置から提供される場合がある。よって、ウェブページデータ取得部102が取得するデータは、他の番組情報を補完する役割として役立つ。
【0029】
クローズドキャプションデータ取得部103は、外部の記憶装置等から、クローズドキャプションデータを取得する。報道番組等では、即時性が重視されるため、電子番組ガイドデータやウェブページデータには詳細な情報が含まれていないことが多い。しかしながら、アナウンサーや番組出演者の発話をテキスト化したクローズドキャプションデータは、報道番組の内容に関する詳細な情報を含むため、本装置において有用である。なお、クローズドキャプションデータ取得部103は、番組単位でクローズドキャプションデータを取得するだけでなく、番組内の項目単位(ここで、項目とは、番組内の話題やニュース項目等の、意味的なまとまりに対応するものである。)にクローズドキャプションデータを取得することもできる。
【0030】
図3は、電子番組ガイドデータ取得部101が取得する電子番組ガイドデータの一例を示す概略図である。図示するように、電子番組ガイドデータは、番組内容に関するテキストのデータを含んでいる。
図4は、ウェブページデータ取得部102が取得するウェブページデータに基づいてマークアップされた番組情報のウェブページの画面表示例を示す概略図である。図示するように、このウェブページデータは、番組内容に関するテキストのデータを含んでいる。
図5は、放送番組の画面内に表示されているクローズドキャプションデータの例を示す概略図である。図示するように、クローズドキャプションデータは、番組内での発話内容のテキストデータである。
【0031】
図6は、上記のクローズドキャプションデータの構造の一例を示す概略図である。図示するように、クローズドキャプションデータは、表形式のデータとして保持されており、日付、番組ID(識別情報)、項目ID、時刻、クローズドキャプションの各項目を含んでいる。この表形式のデータの各行は、適切な長さを有する個々の発話に対応する。日付は、番組が放送された日付を表わし、その形式は「年/月/日」である。番組IDは、番組を一意に識別するためのデータである。項目IDは、必要に応じて、番組内の項目(ニュース項目等)を一意に識別するためのデータである。なお、番組内を複数の項目に分けて管理する必要がない場合には、この項目IDのデータは使用されない。時刻は、番組内での当該発話が開始された時刻(または放送時に当該クローズドキャプションを表示開始する時刻)を表わし、その形式は「時:分:秒.フレーム番号」である。クローズドキャプションは、当該発話の内容のテキストである。
このように、クローズドキャプションデータが番組IDのデータを有していることにより、クローズドキャプションデータ取得部103は、特定の番組のデータのみを容易に取得することができる。また、クローズドキャプションデータが項目IDのデータを有していることにより、クローズドキャプションデータ取得部103は、番組内の特定の項目のデータのみを容易に取得することができる。
なお、クローズドキャプションデータ取得部103が、項目IDを含まない形式のクローズドキャプションデータを外部から取得し、分析結果に基づいて項目IDを付加するようにしても良く、また、クローズドキャプションデータ取得部103が、項目IDを含んだ形式のクローズドキャプションデータを外部から取得するようにしても良い。前者の場合には、クローズドキャプションデータ取得部103は、画像処理技術を用いて番組の映像に含まれるアナウンサーを識別したり、音声認識により所定の長さを有する無声区間を認識したり、クローズドキャプションに含まれるテキストや番組の音声を認識した結果を基にトピックを認識したりする方法で、番組を複数の項目に分割し、そして個々の項目に対してユニークな項目IDを付与する。
【0032】
図7は、番組情報記憶部12が記憶する出現頻度情報121のデータ構成を示す概略図である。出現頻度情報121は、番組ごと(あるいは番組内の項目ごと)の単語のnグラム(n−gram)の出現頻度(出現回数)を表わすデータである。1種類の連鎖数(n)のnグラムの出現頻度のみを用いても良いし、複数種類の連鎖数のnグラムの出現頻度を利用しても良い。一例としては、1−グラム(ユニグラム)と2−グラム(バイグラム)と3−グラム(トライグラム)の3種類を用いるようにする。また、1−グラムからN−グラム(Nは2以上の整数)までのN種類を用いるようにしても良い。なお、複数種類のnグラムを利用する際に、必ずしもそれらの連鎖数が連続している必要はなく、また必ずしも1−グラムを含んでいる必要もない。
同図に示すように、出現頻度情報121は表形式のデータとして構成され、番組ID、項目ID、連鎖数(n)、nグラム、頻度の各項目を含んでいる。番組IDおよび項目IDは、既に説明した通りである。連鎖数は、1つのnグラムに含まれる単語数である。nグラムは、連鎖数の分の単語のつながりを表記した文字列データである。例えば、連鎖数が3である3−グラムを、「経済−産業−省」といったように「−」によって単語をつないで表記している。頻度は、当該番組内(あるいは当該番組における当該項目内)における当該nグラムの出現回数を表わす数値である。
【0033】
図8は、番組情報記憶部が記憶する固有表現情報122のデータ構成を示す概略図である。固有表現とは、固有名詞や数値表現などを含むものである。本実施形態では、拡張固有表現(Extended Named Entities)を用いる。固有表現情報122は、表形式のデータとして構成され、固有表現種別、重みwene、固有表現、の各データ項目を有する。固有表現種別は、固有表現の種別を表わすタグデータであり、例えば「PERSON」(人名)、「TITLE」(称号名)、「ORGANIZATION」(組織名)、「LIVING_THING」(生物名)、「GPE」(行政単位名)、「FACILITY」(施設名)などといったものがある。重みweneは、固有表現に応じた重みの数値である。この重みweneを決定する方法、およびこの重みweneを番組検索処理に用いる方法については後述する。固有表現のデータ項目に保持されるデータは、固有表現そのものを表わす文字列データである。
【0034】
次に、番組検索装置1による処理の手順について説明する。同装置による処理として主要なものは、番組データベース生成処理と、番組検索処理である。
【0035】
図9は、番組データベース生成処理の手順を示すフローチャートである。以下、このフローチャートに沿って、番組データベース生成の手順を説明する。
まずステップS101において、番組情報取得部10が、外部記憶装置91やサーバコンピュータ92などから番組情報を取得する。このとき、番組情報取得部10は、前述の電子番組ガイドデータやウェブページデータやクローズドキャプションデータを適宜選択して取得する。また、番組情報取得部10は、ある1つの番組に対して複数種類の番組情報(例えば、電子番組ガイドデータとウェブページデータ)を取得する場合もある。
【0036】
次にステップS102において、出現頻度カウント部11が、上で取得した番組情報に含まれるnグラムの出現頻度をカウントする。
具体的には、出現頻度カウント部11は、まず番組情報取得部10が取得した番組情報を読み込み、既存技術を用いて番組情報のテキストの形態素解析処理を行い、これらのテキストを形態素の列に分解する。そして、この形態素列から、予め定められた所定の連鎖数のnグラムを抽出する。例えば、連鎖数として、n=1,2,3を用いる場合、テキスト中の「・・・経済産業省・・・」という部分からは、「経済」、「産業」、「省」というそれぞれの1−グラムと、「経済−産業」、「産業−省」というそれぞれの2−グラムと、「経済−産業−省」という3−グラムが抽出される。そして、出現頻度カウント部11は、番組ごと(但し、番組内の項目ごとの場合もあり。以下で「番組ごと」と述べる処理についても同様に項目ごとの処理とすることができる。)の各々のnグラムの出現頻度をカウントする。出現頻度カウント部11は、その結果を番組情報記憶部12の出現頻度情報121に書き込む。これにより、あるnグラムTnについて、そのTnが含まれる番組数(番組内の項目ごとの処理の場合には「項目数」。以下では統一的に「番組数」と呼ぶ。なお、項目ごとの処理をする番組とそうでない番組が混在している場合も同様)mと、番組中に含まれるTnの数tfが得られる。
なお、この処理において、出現頻度カウント部11は、予め定められたストップワード(助詞等)を含まないnグラムを抽出する。これにより、番組内容の特徴をより良く表わす出現頻度情報が得られる。
【0037】
次にステップS103において、固有表現特定部21は、上で取得した番組情報に含まれる固有表現を抽出する。固有表現とは、人名、地名、組織名などといった固有名詞と数値表現を意味するものであり、テギスドの理解において必要な表現である。またこのとき固有表現特定部21は、抽出した固有表現に対して、固有表現の種類を表わすタグデータを付与する。その結果、出現頻度カウント部が抽出したnグラムに、固有表現タグを付与することができる。
【0038】
固有表現の種類は、様々に定義されている。情報抽出・情報検索の技術に関するワークショップIREX(Information Retrieval and Extraction Exercise)は、組織名(ORGANIZATION)、人名(PERSON)、地名(LOCATION)、日付表現(DATE)、時間表現(TIME)、金額表現(MONEY)、割合表現(PERCENT)、人工物(ARTIFACT)の8種類を定義した。
また、文献(関根聡,「関根の拡張固有表現階層」定義 Version 7.0.0,2007年3月8日,URL:http://nlp.cs.nyu.edu/ene/version7_0_0.html)は、拡張固有表現として、概念的に階層化された200種類の固有表現タグを定義している。その最も上の階層で定義されている固有表現の種類は、名前その他、人名、神名、組織名、地名、施設名、製品名、イベント名、自然物名、病気名、色名である。
なお、固有表現の種類の定義を適宜選択して用いるようにすれば良いが、一実施例としては、上記の拡張固有表現に定義されている200種類の中から、PERSON(人名)、TITLE(称号名)、ORGANIZATION(組織名)、LIVING_THING(生物名)、GPE(Geological Political Entity、政治的地名(国名、都道府県名、州名、郡名、市区町村名など))、FACILITY(施設名)を用いる。
【0039】
同ステップにおいて固有表現特定部21が固有表現を抽出する具体的処理としては、
SVM(Support Vector Machine、サポートベクターマシン)やCRF(Conditional Random Fields、条件付確率場)などといった既存の機械学習技術を用いて抽出する方法や、辞書やルールなど事前に与えられた情報に基づいて抽出する方法、あるいはそれらを組み合わせた方法がある。
機械学習技術を用いて固有表現を抽出する方法の概略は次の通りである。即ち、まず、番組情報のテキストの形態素解析を行う。そして、その結果得られる各形態素の素性を抽出する。ここで、素性とは、形態素の読み(辞書データから得られる)や、概念(概念辞書データから得られる)や、品詞などであり、これらの素性を組み合わせて、個々の形態素に対して数十次元の素性ベクトルを作る。一実施例としては、57次元の素性ベクトルを用いた。これにより、テキストから固有表現を抽出するという問題は、ある形態素に対応する素性ベクトルが特定のラベルを有するか否か(拡張固有表現の一種に該当するか否か)を識別する問題に還元される。そこで、学習用データに対して、人がラベル付けを行う。これを教師データとして、SVMやCRFによって学習を行う。この学習を行っておくことによって、与えられる任意の形態素に対応する素性ベクトルが特定のラベルを有するか否かを識別できるようになる。つまり、機械学習の結果を用いることにより、任意の入力テキストに含まれる形態素に、固有表現のラベル付けを行なうことができる。即ち、取得した番組情報から固有表現の抽出を行い、同時に抽出された固有表現の種類を特定することができる。
【0040】
次にステップS104において、固有表現特定部21は、上で抽出した固有表現に対する重みweneを決定する。
具体的には、固有表現特定部21は、固有表現の種類(タグ)ごとに予め定められた重みを付与するようにする。このとき、例えば人名を重視する場合には、タグ「PERSON」に対する重みの値を相対的に大きく設定する。また、固有表現の種類ごとにではなく、個々の固有表現ごとに重みの値を決定するようにしても良い。
また、重みの値の決定方法としては、予め人手で番組間の類似性の評価を行い、その結果(番組Aと番組Bがどの程度類似しているかを表わす指標)を学習のための教師データとする。この教師データには、人手若しくは機械学習により固有表現のタグを付与しておく。そして、各固有表現の重みの初期値を適宜設定し、その重みを用いて類似度計算部15の処理(後述する)によって番組間の類似度を計算する。その計算結果を、上記の教師データと比較して、評価関数により評価する。そして、評価関数の値が良くなる方向に、最急勾配法などを用いて、重みを変化させていく。その結果得られた最適な各固有表現の重みを採用する。
【0041】
固有表現特定部21は、ステップS103およびS104で得られた結果を、番組情報記憶部12の固有表現情報122に書き込む。以上が、番組データベース生成の処理である。
【0042】
図10は、番組検索処理の手順を示すフローチャートである。以下、このフローチャートに沿って、番組検索の手順を説明する。
まずステップS201において、番組指定手段(不図示)が検索の基となる番組Qを指定する。本実施形態による番組検索装置1が、放送信号を受信してその映像を画面に表示する機能(テレビ受信機機能)を兼ね備えている場合には、この番組指定手段は、例えば現在表示中の番組を番組Qとして指定する。また、番組検索装置1の外部からの信号や、操作者による操作に基づいて、番組指定手段が検索の基となる番組Qを指定するようにしても良い。
【0043】
次にステップS202において、番組情報取得部10は、上で指定された番組Qについての番組情報を、外部記憶装置91やサーバコンピュータ92や現在受信中の番組Qに付加されているデジタルデータ信号などから取得する。番組情報取得部10による具体的な番組情報の取得の動作は、前図のステップS101についての説明で述べた通りである。
次にステップS203において、出現頻度カウント部11が、上で取得した番組Qについての番組情報に基づき、そのデータに含まれるnグラムを抽出するとともに、それらのnグラムの出現頻度をカウントする。出現頻度カウント部11による具体的な動作は、前図のステップS102についての説明で述べた通りである。
【0044】
次にステップS204において、類似度計算部15は、上で指定された番組Qと、予め番組情報記憶部12の番組データベースに記憶されていた番組との関連度を計算する。このとき、類似度計算部15は、番組Qと、他のある番組Dとの関連度を下の式(1)で表わす計算によって計算する。
【0045】
【数1】
【0046】
ここで、Tnは、番組Qに含まれるnグラムである。また、nは、そのnグラムの連鎖数である。
また、weneは前述した通り拡張固有表現に対応する重みであり。この重みweneを用いて関連度を計算することにより、単に出現頻度の統計的特徴だけによらず、語の意味にも基づいた関連度を算出することができる。
また、wngは、nグラムの連鎖数に対応する重みであり、具体的には例えば、
wng=1/n
あるいは、
wng=1/(2n)
などといったように、nが大きくなるほど重みwngが小さくなるようにする。この重みwngを用いることにより、番組情報に含まれる複合語に対して過剰に高い関連度が算出されることを防ぐことができる。例えば、番組Qと番組Dの両方の番組情報に「経済産業省」という単語が含まれていた場合に、3−グラムの「経済−産業−省」だけでなく、2−グラムの「経済−産業」、「産業−省」や、1−グラムの「経済」、「産業」,「省」なども両番組情報間で共起する。このような場合にも、式(1)において重みwngの要素が作用することによって、これらのnグラムが関連度に対して過剰に作用することを防ぐ。
【0047】
式(1)におけるSBM25(Tn,D)は、検索エンジン等で用いられ、語と文書との関連性をランク付けるためのOkapi BM25に基づく関数を利用している。このSBM25(Tn,D)は、あるnグラムTnの番組Dにおけるスコアを計算するものであり、下の式(2)によって表わされる。
【0048】
【数2】
【0049】
ここで、Mは、番組情報データベースに記憶されている全ての番組の番組数である。また、mは、それらのうちnグラムTnを含む番組の番組数である。また、tfは、番組Dの番組情報の中のnグラムTnの頻度であり、そのデータは番組情報記憶部12の出現頻度情報121から読み出される。また、qtfは番組Qの番組情報の中のnグラムTnの頻度であり、そのデータは上のステップS203で求められたものである。
また、Kは、下の式(3)によって表わされる。
【0050】
【数3】
【0051】
ここで、dlは、番組Dの番組情報の説明文長(つまり、そのテキストに含まれる語数)である。また、avdlは、番組情報データベースに記憶されている全ての番組の番組情報の説明文長(語数)の平均である。
また、式(2)および式(3)における、bや、k1や、k3は、適宜設定されるパラメータである。これらのパラメータの一例としては、
b=0.75,
k1=1.2,
k3=7
といった値を用いる。
【0052】
類似度計算部15は、上述した計算方法により、番組データベースに格納されている全ての番組Dについて、番組Qとの関連度S(D,Q)を計算する。その結果のスコアに基づき、類似度計算部15は、関連度の高い上位の番組を出力する。
【0053】
次にステップS205において、関係ラベル決定部22は、検索元の番組Qと検索結果として得られる番組との関係を示す関係ラベルを決定する。具体的には、関係ラベル決定部22は、検索元の番組Qと、番組データベースに記憶されている番組Dとの関係を示すラベルL(D,Q)を、下の式(4)によって求める。
【0054】
【数4】
【0055】
つまり、番組Qと番組Dとが与えられたとき、関係ラベル決定部22は、式(2)で示した関数SBM25(Tn,D)を用いてSBM25(Tn,D)×wene(Tn)を計算し、この値が最大となるようなnグラムTnを、番組Qと番組Dとの関係を表わすラベルとして決定する。このような決定方法から明らかなように、番組データベースに保持されているある番組Dについて、指定される番組Qに応じて異なるラベルが決定される場合もある。
またこのとき、上で決定されたラベルが固有表現に該当する場合には、番組情報記憶部12の固有表現情報122から読み出された情報に基づいて、関係ラベル決定部22が、そのラベルに対応する固有表現種別を併せて決定するようにしても良い。
【0056】
なお、番組検索装置1が関係ラベル決定部22を持たないような構成としても良い。このような構成の場合には、ここで説明している番組検索の処理の手順からステップS205の処理のみを省略する。関係ラベルを必要としない場合にはこのように関係ラベル決定部22を省略してもよく、その場合には、番組検索装置1は、類似度計算部15による計算結果のみに基づいて検索結果を操作者に対して提示する。
【0057】
次にステップS206において、検索結果提示部18は、上述した一連の処理の結果に基づいて、検索結果をコンピュータの画面に表示することによって、操作者に対する提示を行う。具体的には、検索結果提示部18は、上で計算された関連度スコアに基づき、上位P個(Pは正整数)までの番組を結果に出力する。
【0058】
図11は、検索結果提示部18による検索結果の提示の画面表示の一例を示す概略図である。同図に示す例では、検索結果提示部18は、指定された番組Qを画面の中心部付近に、その番組Qのタイトル等(「天〇人」等)とともに表示している。また、番組Qを表示している場所の周辺に、番組Qとの関連度が高い他の番組を表示している。同図では、番組Qとの関連度の高い他の番組が、ラベルごとに分類されて、且つそれらのラベルにそれぞれ対応する固有表現種別とともに表示されている。得られたラベルが固有表現でない場合は、「Topic:」と表示される。即ち、ラベル「謙信」は固有表現種別「Person」に対応し、ラベル「信長」は固有表現種別「Person」に対応し、ラベル「兼続」は固有表現種別「Person」に対応し、ラベル「岐阜城」は固有表現種別「Facility」に対応している。例では、ラベル「鉄砲」は固有表現タグが付与されていないため、「Topic」に対応させる。そして、これらそれぞれのラベルにそれぞれ対応して該当する番組のうち、番組Qとの間の関連度が高い番組が、上位順に表示されている(その検索結果の各番組に対応するサムネール画像を表示しても良い)。
【0059】
つまり、このとき、検索結果提示部18は、番組Dと、類似度計算部15によって計算された番組Qと番組Dとの関連度のスコアS(D,Q)と、関係ラベル決定部22によって決定された番組Qと番組Dとの関係を表わす関係ラベルL(D,Q)とに基づき、番組データベース内の番組(D)をラベルごとに分類し、それらの各ラベルに属する上位の所定個の番組(D)のスコアの合計が上位となる所定個のラベルを決定する。そして、決定された各ラベルに属する上位の番組(D)を表示する。
また、このとき、検索結果提示部18は、画面中央に表示された番組Qの動画コンテンツを再生表示しながら、その周辺に、上述した関連番組のサムネール画像を表示し、操作者がそれらのサムネール画像のいずれかをクリックする操作をした場合には、今度はその選択された関連番組を指定番組Qとして、画面中央に表示再生するように切り替える。
【0060】
以上まとめると、検索結果提示部18は、下の(a)の方法で検索結果を画面に表示する。
(a)検索結果提示部18は、指定された番組Qを表示し、また、上位所定個の番組の関連度の合計が高いラベルと、そのラベルに対応する固有表現種別と、そのラベルに属する番組のうち関連度が上位の番組を表示する。
また、この方法だけでなく、検索結果提示部18が下の(b)〜(f)などのいずれかの方法で検索結果を画面に表示するようにしても良い。
(b)検索結果提示部18は、上記(a)と同様の表示をするが、但し、固有表現種別の表示を行なわない。
(c)検索結果提示部18は、上記(a)または(b)のいずれかの表示に加えて、ラベルに含まれる番組の関連度の合計値としては上位のラベルに含まれないが、各番組単独での番組Qとの関連度が高いような番組がある場合には、そのような単数又は複数の番組を併せて表示する。また、それらの番組は共通のラベルを持たないため、ラベルの代わりに「その他」などといった文言を併せて表示するようにしても良い。
(d)検索結果提示部18は、ラベルを考慮せず、単純に番組データベース中の全番組から関連度S(D,Q)が上位の所定個の番組を選んで表示する。この場合には、番組検索装置1が関係ラベル決定部22を含まない構成でも良い。
(e)検索結果提示部18は、番組をラベルごとに分類して並べることはないが、番組データベース中の全番組から関連度S(D,Q)が上位の所定個の番組を選んでスコアで順序付けて表示し、各番組に対応するラベルの文字列を表示する。
(f)検索結果提示部18は、上記(e)の表示に加えて、ラベルに対応する固有表現種別がある場合には、それを併せて表示する。
また、検索結果提示部18は、上記の(a)〜(f)のさらなるバリエーションによる表示を行っても良い。
【0061】
なお、上述した実施形態における番組検索装置の一部又は全部の機能をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における番組検索装置の機能を放送受信機に組み込むことによって実現しても良い。
【0062】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0063】
<評価実験の結果>
視聴者が視聴中の番組に関連する番組をどの程度良い精度で検索できるかを調べるため、上記実施形態の試作システムを用いた関連番組検索の評価実験を行なった。実験では、種類に重複のない15番組を検索元とし、検索結果の上位10番組を評価した。番組間の関連性を4段階(4:関連ある,3:少し関連ある,2:あまり関連ない,1:関連ない)で、関係の種類を示す関係ラベルを3段階(3:適切,2:ほぼ適切,1:不適切)で、それぞれ主観評価した。ベースラインとして、形態素のtf−idf値を素性としたCosine類似度を用いた。ラベルには、tf−idf値が最も高い形態素を付与した。
【0064】
この実験の結果、上記実施形態の試作システムが、ベースラインに比べ、関連性および関係ラベルの双方において上回った。具体的には、関連性については、ベースラインの評価結果が3.26に対して本試作システムのそれが3.35となった。関係ラベルについては、ベースラインの評価結果が2.25に対して本試作システムのそれが2.49となった。これは、本試作システムの手法では、ENE(拡張固有表現)や複合語が評価され、ユーザが「関連がある」と判断する意味のある語彙を持つ番組が上位に集まったためと分析できる。一方で、少数ではあるが、番組情報内で例示された国名など、内容とは直接関係ないENEの重みがスコアに寄与してしまった場合もあった。これは、検索元コンテンツの文脈を考慮した選択的なENEの重み付け(固有表現重み値の設定)を行うことによって改善できる。また、関係ラベルの評価においても、複合語やENEなど意味のある語が関係ラベルとして決定されたことで、ユーザの評価を上げることができたと分析できる。つまり、本発明の実施形態の有効性が実験によって確認された。
【産業上の利用可能性】
【0065】
本発明は、放送番組や、通信回線等を介して配信される映像番組などを視聴する視聴者に対して、他の関連する番組をレコメンドするために利用できる。また、そのような機能は、例えば多数の豊富な映像番組などを視聴者の要求に基づいて提供するサービスに適用することが産業上有用である。
【符号の説明】
【0066】
1 番組検索装置
10 番組情報取得部
11 出現頻度カウント部
12 番組情報記憶部
15 類似度計算部
18 検索結果提示部
21 固有表現特定部
22 関係ラベル決定部
【技術分野】
【0001】
本発明は、放送等の番組を検索する番組検索装置および番組検索プログラムに関する。特に、本発明は、蓄積されたデータベースを検索して、指定された番組に関連する番組を取得する番組検索装置および番組検索プログラムに関する。
【背景技術】
【0002】
近年、放送された番組を蓄積しておくことにより、放送後の任意の時間に、インターネット等の通信回線を通じて、視聴者が求める番組を視聴することのできるサービスが普及しはじめている。また、これに伴い、番組のジャンルなどの情報を含む番組メタデータに基づき、視聴者に番組を推薦するシステムやサービスが提案されている。推薦する番組を選択するための手法は、例えば、視聴者の視聴履歴などに基づいてその嗜好を学習し、その学習結果に基づいて番組を推薦するものである。
【0003】
特許文献1には、番組内容を記述した番組情報を取得し、その番組情報からキーワードを抽出し、そのキーワードの出現数およびそのキーワードが属するカテゴリに属する異なるキーワードの出現数をカウントし、これらの数値に基づいて検索クエリと被検索番組との間の類似度を計算し、計算された類似度に基づいて特定の番組を出力するという技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−043156号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示されている技術では、EPGの情報(番組情報)から、タグに囲まれた文字列および記号に続く文字列、辞書に登録された文字列、品詞などの情報により得た文字列をキーワードとして抽出し、このキーワードに基づいて関連番組を検索している。しかしながら、キーワードが含まれていない関連番組があった場合は、検索漏れが生じる。
また、協調フィルタリングなど、履歴に基づいて番組を検索する方法では、指定された番組に関連している内容を有する番組が選択されるとは限らない。
【0006】
本発明は、上記の課題を考慮して為されたものであり、指定された特定の番組と内容が類似する番組を精度よく検索することのできる番組検索装置および番組検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
[1]上記の課題を解決するため、本発明の一態様による番組検索装置は、番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、前記番組情報を取得する番組情報取得部と、指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部とを備えることを特徴とする。
【0008】
この構成によれば、番組情報取得部が指定番組に関する番組情報を取得し、出現頻度カウント部がその番組情報における表現の出現頻度をカウントする。類似度計算部は、指定番組についての出現頻度と検索対象番組についての出現頻度との関係(表現の共起関係、共起の度合いを表わす尺度(例えば、Okapi BM25に基づく関数など))に基づき、また予め記憶された固有表現情報から読み出した固有表現重み値(番組情報に含まれる固有表現に対応するもの)に基づき、両者の関連度を算出する。これにより、単に出現頻度の統計的特徴のみによる関連度ではなく、固有表現の重みに基づいた関連度を計算することができる。
ここで、表現とは、番組情報のテキストに含まれる単語、あるいは単語の連鎖などである。複合語などの表現の出現頻度を統計的に扱うために、例えば、n個の単語の連鎖を表わすnグラム(n−gram,エヌグラム)を用いることは好適である。このとき、ストップワード(助詞等)を含むnグラムを除外したnグラムのみを用いても良い。
上記した共起の度合いを表わす尺度は、単に指定番組と特定の検索対象番組とにおける表現の出現頻度のみによって定まるものではなく、検索対象となるデータベース全体の番組における当該表現の出現頻度によっても変わる。つまり、ありふれた表現であるか番組特有の表現であるかに応じて、共起の度合いを表わす尺度の値は変わる。
なお、検索結果提示部は、1つの検索対象番組のみを選択して出力しても良く、複数の検索対象番組を選択して出力しても良い。通常は、計算された関連度が高いものを選択する。
指定番組および検索対象番組は、それぞれ、放送される番組や、通信回線等を介して配信される番組等の動画像コンテンツである。なお、指定番組あるいは検索対象番組は、番組全体を単位として扱っても良く、また、いわゆる番組を複数の項目(項目とは、番組内の意味的なまとまりの単位であり、例えば、ニュース番組における個々のニュース項目はここで言う項目である。)に分けて、個々の項目を単位として、出現頻度をカウントしたり、関連度の計算の対象としたり、選択して提示する対象とするようにしても良い。
【0009】
[2]また、本発明の一態様は、上記の番組検索装置において、前記表現はnグラムであり、前記番組情報記憶部が記憶する前記出現頻度情報は、番組ごとのnグラムの出現頻度を表わすものであり、且つ前記出現頻度情報は、番組ごとの所定の複数の連鎖数の前記nグラムごとの出現頻度を含むものであり、前記出現頻度カウント部は、前記指定番組に関する前記番組情報における前記所定の複数の連鎖数の前記nグラムごとの出現頻度をカウントするものであり、前記類似度計算部は、前記指定番組と前記検索対象番組との間での前記所定の複数の連鎖数のnグラムの共起の度合いを計算するものであり、特定の連鎖数のnグラムの共起の度合いを、当該連鎖数に応じたnグラム重み値によって重み付ける処理をさらに行うことによって前記関連度を算出することを特徴とする。
【0010】
この構成によれば、複数の連鎖数のnグラムのそれぞれの出現頻度に基づいて、指定番組と検索対象番組との間の関連度を算出する。また、nグラム重み値を適切に設定することにより、同一の単語の連鎖を含んで、連鎖数の異なる別のnグラムの出現頻度が多重に(過剰に)関連度に寄与することを防ぐことができる。
【0011】
[3]また、本発明の一態様は、上記の番組検索装置において、前記指定番組と前記検索対象番組との間での表現の共起の度合いに対して、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理を行った結果に基づき、前記指定番組と前記検索対象番組との間の関係を表わす前記表現を関係ラベルとして決定する関係ラベル決定部を更に備え、前記検索結果提示部は、対応する前記関係ラベルと関連付けて選択された前記検索対象番組を出力することを特徴とする。
【0012】
この構成によれば、指定番組と検索対象番組との関係を特徴付ける表現を関係ラベルとして決定する。両者間の表現の共起の度合いを固有表現重み値によって重み付ける処理とは、例えば、共起の度合いの尺度の値に単純に固有表現重み値を乗じることで良い。その結果が最も大きくなるような表現を、前記の関係ラベルとして決定することには合理性がある。関係ラベルは番組間の関係を示すラベルであるため、指定番組が変われば、検索結果が同じ番組であっても関係ラベルが異なることもある。
決定された関係ラベルを出力することにより、検索結果として選択された番組がなぜ選択されたかを説明付けることが可能となる。また、決定された関係ラベルごとに分類する形式で、複数の検索結果の番組を提示するようにできる。
【0013】
[4]また、本発明の一態様は、上記の番組検索装置において、検索対象とするための番組に関して前記番組情報取得部が取得した前記番組情報から固有表現を抽出する処理を行なうとともに、抽出された前記固有表現に対応する前記固有表現重み値を決定し、前記固有表現情報を作成して前記番組情報記憶部に書き込む固有表現特定部、を更に備え、前記出現頻度カウント部は、検索対象とするための番組に関しても前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントし、前記出現頻度情報を作成して前記番組情報記憶部に書き込むことを特徴とする。
【0014】
この構成により、番組情報記憶部が保持すべき出現頻度情報と固有表現情報とを、与えられた番組情報から抽出することができる。つまり、番組検索のために必要な番組データベースを構築することができる。
固有表現重み値は、個々の固有表現ごとに決定しても良い。また例えば、固有表現の種別を決定し、この種別に応じて固有表現重み値を決定しても良い。また、固有表現の種別を、固有表現情報の一部として記憶するようにしても良い。
【0015】
[5]また、本発明の一態様による番組検索プログラムは、コンピュータを、番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、前記番組情報を取得する番組情報取得部と、指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部と、を備える番組検索装置として機能させる。
【発明の効果】
【0016】
本発明によれば、番組の内容を考慮して関連番組の検索を精度良く行うことができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態による番組検索装置の機能構成を示したブロック図である。
【図2】同実施形態による番組取得部(10)内の詳細な機能構成を示したブロック図である。
【図3】同実施形態による電子番組ガイドデータ取得部(101)が取得する電子番組ガイド(EPG)データの一例を示した概略図である。
【図4】同実施形態によるウェブページデータ取得部(102)が取得するウェブページデータ(ホームページデータ)に基づいてマークアップされた画面表示例を示す概略図である。
【図5】クローズドキャプションデータの放送番組の画面内での表示例を示す概略図である。
【図6】同実施形態によるクローズドキャプションデータ取得部(103)が取得するクローズドキャプションデータの構造の一例を示す概略図である。
【図7】同実施形態による番組情報記憶部が記憶する出現頻度情報(121)のデータ構成を示す概略図である。
【図8】同実施形態による番組情報記憶部が記憶する固有表現情報(122)のデータ構成を示す概略図である。
【図9】同実施形態による番組データベース生成処理の手順を示すフローチャートである。
【図10】同実施形態による番組検索処理の手順を示すフローチャートである。
【図11】同実施形態による番組検索結果の提示の画面表示の一例を示す概略図である。
【発明を実施するための形態】
【0018】
次に、本発明の一実施形態について、図面を参照しながら説明する。
図1は、本実施形態による番組検索装置の機能構成を示すブロック図である。同図において、符号1は番組検索装置である。図示するように、番組検索装置1は、番組情報取得部10と、出現頻度カウント部11と、番組情報記憶部12と、類似度計算部15と、検索結果提示部18と、固有表現特定部21と、関係ラベル決定部22とを含んで構成される。また、番組検索装置1は、外部記憶装置91やサーバコンピュータ92と接続されており、通信により、これらの外部の装置からデータを取得することが出来るように構成されている。
【0019】
番組情報取得部10は、外部記憶装置91やサーバコンピュータ92(ウェブサーバなど)などといった外部の装置から番組情報を取得する。ここで、番組情報とは、番組内容に関するテキストを含むデータであり、例えば、電子番組ガイドデータ(EPG,Electronic Program Guide)や、ウェブページデータや、クローズドキャプションデータ(CC,Closed Caption)などである。なお、番組情報取得部10が、電子番組ガイドデータやクローズドキャプションデータを放送波から直接取得するようにしてもよい。このとき、放送局は、これらのデータを用いて変調した放送波を送信する。
【0020】
出現頻度カウント部11は、指定された指定番組と検索対象となる検索対象番組のそれぞれに関して番組情報取得部10が取得した番組情報における表現(nグラム等)の出現頻度をカウントする。
【0021】
番組情報記憶部12は、磁気ディスク装置や半導体メモリ等を用いて実現されており、番組データベースを記憶する。この番組データベースは、固有表現情報122や出現頻度情報121のデータを含んでいる。出現頻度情報121は、前記の番組情報における番組ごとの表現の出現頻度を表わす。固有表現情報122は、少なくとも、前記の番組情報に含まれる固有表現とそれに対応する固有表現重み値とを関連付けて記憶する。これらのデータの詳細については後述する。
【0022】
類似度計算部15は、指定番組に関する番組情報について出現頻度カウント部11がカウントして得られた表現ごとの出現頻度と、番組情報記憶部12から読み出した特定の検索対象番組に関する出現頻度情報121と、同じく番組情報記憶部12から読み出した固有表現情報122とに基づき、指定番組と検索対象番組との間での表現の共起の度合いの尺度を計算するとともに、当該表現が固有表現情報122に含まれる固有表現である場合には前記共起の度合いの尺度を固有表現情報122が有する固有表現重み値によって重み付ける処理をすることによって、指定番組と検索対象番組との間の関連度を算出する。また、前記表現の出現頻度としてnグラムの出現頻度を用いる場合、類似度計算部15は、複数の連鎖数のnグラムの共起の度合いを計算するものであり、それらのうちの特定の連鎖数のnグラムの共起の度合いを当該連鎖数に応じたnグラム重み値によって重み付ける処理を行う。
【0023】
検索結果提示部18は、類似度計算部15が算出した関連度に基づいて、関連度の高い検索対象番組を選択し、選択された検索対象番組を出力する(例えば、画面に表示する)ものである。また、検索結果提示部18が、後述する関係ラベル決定部22が決定する関係ラベルと関連付けて、選択された検索対象番組を出力するようにしても良い。例えば、検索結果提示部18が、決定された関係ラベルごとに検索対象番組を分類した上で、関連度が上位の検索対象番組を選択して表示する。
【0024】
固有表現特定部21は、機械学習等の技術を用いて、前記の番組情報から固有表現を抽出する処理を行なう。また、固有表現特定部21は、機械学習の手法を用いることにより、固有表現を抽出する際に、その固有表現の種別を併せて決定する。また、個別の固有表現に応じた固有表現重み値あるいは固有表現種別に応じた固有表現重み値を決定し、これらを併せて固有表現情報122として番組情報記憶部12に書き込む。
【0025】
関係ラベル決定部22は、指定番組と検索対象番組との間での表現の共起の度合いに基づいて、それらの番組のペアにおいて共起の度合いの尺度が大きい(つまり、それら番組の関係を良く表わす)表現を、関係ラベルとして決定する。このとき、関係ラベル決定部22が、前記共起の度合いの尺度の計算結果に対して固有表現情報122から得た固有表現重み値によって重み付ける処理を行っても良い。
【0026】
図2は、番組情報取得部10の内部の機能構成を示すブロック図である。図示するように、番組情報取得部は、電子番組ガイドデータ取得部101と、ウェブページデータ取得部102と、クローズドキャプションデータ取得部103とを含んで構成される。
【0027】
電子番組ガイドデータ取得部101は、外部から、電子番組ガイドデータを取得する。電子番組ガイドデータは、放送波の信号として伝送されたり、放送局等のウェブサーバ装置からインターネット等を経由して伝送されたりする。電子番組ガイドデータには、番組内容に関するテキストの他に、番組タイトルや、放送日および放送時間や、出演者などに関する情報が含まれている。ただし、電子番組ガイドデータに含まれる番組内容データの量や質は、放送局や番組ジャンルにより異なる。ドラマやドキュメンタリ番組の場合には、電子番組ガイドデータは、あらすじ等を記述した詳細な情報を含んでいる。
【0028】
ウェブページデータ取得部102は、外部から、インターネット等を経由して、ウェブページデータを取得する。このとき、ウェブページデータ取得部102は、必要に応じて番組名や放送局名等をキーとした検索処理を行うことによって、目的とするウェブページデータを特定する場合もある。放送局のホームページのデータを提供するウェブサーバ装置は、放送前あるいは放送後の番組の内容に関する情報を有している。例えば時事番組などでは、放送時に提供される情報は少ないが、放送後にその番組の内容に関する詳細且つ豊富な情報がウェブサーバ装置から提供される場合がある。よって、ウェブページデータ取得部102が取得するデータは、他の番組情報を補完する役割として役立つ。
【0029】
クローズドキャプションデータ取得部103は、外部の記憶装置等から、クローズドキャプションデータを取得する。報道番組等では、即時性が重視されるため、電子番組ガイドデータやウェブページデータには詳細な情報が含まれていないことが多い。しかしながら、アナウンサーや番組出演者の発話をテキスト化したクローズドキャプションデータは、報道番組の内容に関する詳細な情報を含むため、本装置において有用である。なお、クローズドキャプションデータ取得部103は、番組単位でクローズドキャプションデータを取得するだけでなく、番組内の項目単位(ここで、項目とは、番組内の話題やニュース項目等の、意味的なまとまりに対応するものである。)にクローズドキャプションデータを取得することもできる。
【0030】
図3は、電子番組ガイドデータ取得部101が取得する電子番組ガイドデータの一例を示す概略図である。図示するように、電子番組ガイドデータは、番組内容に関するテキストのデータを含んでいる。
図4は、ウェブページデータ取得部102が取得するウェブページデータに基づいてマークアップされた番組情報のウェブページの画面表示例を示す概略図である。図示するように、このウェブページデータは、番組内容に関するテキストのデータを含んでいる。
図5は、放送番組の画面内に表示されているクローズドキャプションデータの例を示す概略図である。図示するように、クローズドキャプションデータは、番組内での発話内容のテキストデータである。
【0031】
図6は、上記のクローズドキャプションデータの構造の一例を示す概略図である。図示するように、クローズドキャプションデータは、表形式のデータとして保持されており、日付、番組ID(識別情報)、項目ID、時刻、クローズドキャプションの各項目を含んでいる。この表形式のデータの各行は、適切な長さを有する個々の発話に対応する。日付は、番組が放送された日付を表わし、その形式は「年/月/日」である。番組IDは、番組を一意に識別するためのデータである。項目IDは、必要に応じて、番組内の項目(ニュース項目等)を一意に識別するためのデータである。なお、番組内を複数の項目に分けて管理する必要がない場合には、この項目IDのデータは使用されない。時刻は、番組内での当該発話が開始された時刻(または放送時に当該クローズドキャプションを表示開始する時刻)を表わし、その形式は「時:分:秒.フレーム番号」である。クローズドキャプションは、当該発話の内容のテキストである。
このように、クローズドキャプションデータが番組IDのデータを有していることにより、クローズドキャプションデータ取得部103は、特定の番組のデータのみを容易に取得することができる。また、クローズドキャプションデータが項目IDのデータを有していることにより、クローズドキャプションデータ取得部103は、番組内の特定の項目のデータのみを容易に取得することができる。
なお、クローズドキャプションデータ取得部103が、項目IDを含まない形式のクローズドキャプションデータを外部から取得し、分析結果に基づいて項目IDを付加するようにしても良く、また、クローズドキャプションデータ取得部103が、項目IDを含んだ形式のクローズドキャプションデータを外部から取得するようにしても良い。前者の場合には、クローズドキャプションデータ取得部103は、画像処理技術を用いて番組の映像に含まれるアナウンサーを識別したり、音声認識により所定の長さを有する無声区間を認識したり、クローズドキャプションに含まれるテキストや番組の音声を認識した結果を基にトピックを認識したりする方法で、番組を複数の項目に分割し、そして個々の項目に対してユニークな項目IDを付与する。
【0032】
図7は、番組情報記憶部12が記憶する出現頻度情報121のデータ構成を示す概略図である。出現頻度情報121は、番組ごと(あるいは番組内の項目ごと)の単語のnグラム(n−gram)の出現頻度(出現回数)を表わすデータである。1種類の連鎖数(n)のnグラムの出現頻度のみを用いても良いし、複数種類の連鎖数のnグラムの出現頻度を利用しても良い。一例としては、1−グラム(ユニグラム)と2−グラム(バイグラム)と3−グラム(トライグラム)の3種類を用いるようにする。また、1−グラムからN−グラム(Nは2以上の整数)までのN種類を用いるようにしても良い。なお、複数種類のnグラムを利用する際に、必ずしもそれらの連鎖数が連続している必要はなく、また必ずしも1−グラムを含んでいる必要もない。
同図に示すように、出現頻度情報121は表形式のデータとして構成され、番組ID、項目ID、連鎖数(n)、nグラム、頻度の各項目を含んでいる。番組IDおよび項目IDは、既に説明した通りである。連鎖数は、1つのnグラムに含まれる単語数である。nグラムは、連鎖数の分の単語のつながりを表記した文字列データである。例えば、連鎖数が3である3−グラムを、「経済−産業−省」といったように「−」によって単語をつないで表記している。頻度は、当該番組内(あるいは当該番組における当該項目内)における当該nグラムの出現回数を表わす数値である。
【0033】
図8は、番組情報記憶部が記憶する固有表現情報122のデータ構成を示す概略図である。固有表現とは、固有名詞や数値表現などを含むものである。本実施形態では、拡張固有表現(Extended Named Entities)を用いる。固有表現情報122は、表形式のデータとして構成され、固有表現種別、重みwene、固有表現、の各データ項目を有する。固有表現種別は、固有表現の種別を表わすタグデータであり、例えば「PERSON」(人名)、「TITLE」(称号名)、「ORGANIZATION」(組織名)、「LIVING_THING」(生物名)、「GPE」(行政単位名)、「FACILITY」(施設名)などといったものがある。重みweneは、固有表現に応じた重みの数値である。この重みweneを決定する方法、およびこの重みweneを番組検索処理に用いる方法については後述する。固有表現のデータ項目に保持されるデータは、固有表現そのものを表わす文字列データである。
【0034】
次に、番組検索装置1による処理の手順について説明する。同装置による処理として主要なものは、番組データベース生成処理と、番組検索処理である。
【0035】
図9は、番組データベース生成処理の手順を示すフローチャートである。以下、このフローチャートに沿って、番組データベース生成の手順を説明する。
まずステップS101において、番組情報取得部10が、外部記憶装置91やサーバコンピュータ92などから番組情報を取得する。このとき、番組情報取得部10は、前述の電子番組ガイドデータやウェブページデータやクローズドキャプションデータを適宜選択して取得する。また、番組情報取得部10は、ある1つの番組に対して複数種類の番組情報(例えば、電子番組ガイドデータとウェブページデータ)を取得する場合もある。
【0036】
次にステップS102において、出現頻度カウント部11が、上で取得した番組情報に含まれるnグラムの出現頻度をカウントする。
具体的には、出現頻度カウント部11は、まず番組情報取得部10が取得した番組情報を読み込み、既存技術を用いて番組情報のテキストの形態素解析処理を行い、これらのテキストを形態素の列に分解する。そして、この形態素列から、予め定められた所定の連鎖数のnグラムを抽出する。例えば、連鎖数として、n=1,2,3を用いる場合、テキスト中の「・・・経済産業省・・・」という部分からは、「経済」、「産業」、「省」というそれぞれの1−グラムと、「経済−産業」、「産業−省」というそれぞれの2−グラムと、「経済−産業−省」という3−グラムが抽出される。そして、出現頻度カウント部11は、番組ごと(但し、番組内の項目ごとの場合もあり。以下で「番組ごと」と述べる処理についても同様に項目ごとの処理とすることができる。)の各々のnグラムの出現頻度をカウントする。出現頻度カウント部11は、その結果を番組情報記憶部12の出現頻度情報121に書き込む。これにより、あるnグラムTnについて、そのTnが含まれる番組数(番組内の項目ごとの処理の場合には「項目数」。以下では統一的に「番組数」と呼ぶ。なお、項目ごとの処理をする番組とそうでない番組が混在している場合も同様)mと、番組中に含まれるTnの数tfが得られる。
なお、この処理において、出現頻度カウント部11は、予め定められたストップワード(助詞等)を含まないnグラムを抽出する。これにより、番組内容の特徴をより良く表わす出現頻度情報が得られる。
【0037】
次にステップS103において、固有表現特定部21は、上で取得した番組情報に含まれる固有表現を抽出する。固有表現とは、人名、地名、組織名などといった固有名詞と数値表現を意味するものであり、テギスドの理解において必要な表現である。またこのとき固有表現特定部21は、抽出した固有表現に対して、固有表現の種類を表わすタグデータを付与する。その結果、出現頻度カウント部が抽出したnグラムに、固有表現タグを付与することができる。
【0038】
固有表現の種類は、様々に定義されている。情報抽出・情報検索の技術に関するワークショップIREX(Information Retrieval and Extraction Exercise)は、組織名(ORGANIZATION)、人名(PERSON)、地名(LOCATION)、日付表現(DATE)、時間表現(TIME)、金額表現(MONEY)、割合表現(PERCENT)、人工物(ARTIFACT)の8種類を定義した。
また、文献(関根聡,「関根の拡張固有表現階層」定義 Version 7.0.0,2007年3月8日,URL:http://nlp.cs.nyu.edu/ene/version7_0_0.html)は、拡張固有表現として、概念的に階層化された200種類の固有表現タグを定義している。その最も上の階層で定義されている固有表現の種類は、名前その他、人名、神名、組織名、地名、施設名、製品名、イベント名、自然物名、病気名、色名である。
なお、固有表現の種類の定義を適宜選択して用いるようにすれば良いが、一実施例としては、上記の拡張固有表現に定義されている200種類の中から、PERSON(人名)、TITLE(称号名)、ORGANIZATION(組織名)、LIVING_THING(生物名)、GPE(Geological Political Entity、政治的地名(国名、都道府県名、州名、郡名、市区町村名など))、FACILITY(施設名)を用いる。
【0039】
同ステップにおいて固有表現特定部21が固有表現を抽出する具体的処理としては、
SVM(Support Vector Machine、サポートベクターマシン)やCRF(Conditional Random Fields、条件付確率場)などといった既存の機械学習技術を用いて抽出する方法や、辞書やルールなど事前に与えられた情報に基づいて抽出する方法、あるいはそれらを組み合わせた方法がある。
機械学習技術を用いて固有表現を抽出する方法の概略は次の通りである。即ち、まず、番組情報のテキストの形態素解析を行う。そして、その結果得られる各形態素の素性を抽出する。ここで、素性とは、形態素の読み(辞書データから得られる)や、概念(概念辞書データから得られる)や、品詞などであり、これらの素性を組み合わせて、個々の形態素に対して数十次元の素性ベクトルを作る。一実施例としては、57次元の素性ベクトルを用いた。これにより、テキストから固有表現を抽出するという問題は、ある形態素に対応する素性ベクトルが特定のラベルを有するか否か(拡張固有表現の一種に該当するか否か)を識別する問題に還元される。そこで、学習用データに対して、人がラベル付けを行う。これを教師データとして、SVMやCRFによって学習を行う。この学習を行っておくことによって、与えられる任意の形態素に対応する素性ベクトルが特定のラベルを有するか否かを識別できるようになる。つまり、機械学習の結果を用いることにより、任意の入力テキストに含まれる形態素に、固有表現のラベル付けを行なうことができる。即ち、取得した番組情報から固有表現の抽出を行い、同時に抽出された固有表現の種類を特定することができる。
【0040】
次にステップS104において、固有表現特定部21は、上で抽出した固有表現に対する重みweneを決定する。
具体的には、固有表現特定部21は、固有表現の種類(タグ)ごとに予め定められた重みを付与するようにする。このとき、例えば人名を重視する場合には、タグ「PERSON」に対する重みの値を相対的に大きく設定する。また、固有表現の種類ごとにではなく、個々の固有表現ごとに重みの値を決定するようにしても良い。
また、重みの値の決定方法としては、予め人手で番組間の類似性の評価を行い、その結果(番組Aと番組Bがどの程度類似しているかを表わす指標)を学習のための教師データとする。この教師データには、人手若しくは機械学習により固有表現のタグを付与しておく。そして、各固有表現の重みの初期値を適宜設定し、その重みを用いて類似度計算部15の処理(後述する)によって番組間の類似度を計算する。その計算結果を、上記の教師データと比較して、評価関数により評価する。そして、評価関数の値が良くなる方向に、最急勾配法などを用いて、重みを変化させていく。その結果得られた最適な各固有表現の重みを採用する。
【0041】
固有表現特定部21は、ステップS103およびS104で得られた結果を、番組情報記憶部12の固有表現情報122に書き込む。以上が、番組データベース生成の処理である。
【0042】
図10は、番組検索処理の手順を示すフローチャートである。以下、このフローチャートに沿って、番組検索の手順を説明する。
まずステップS201において、番組指定手段(不図示)が検索の基となる番組Qを指定する。本実施形態による番組検索装置1が、放送信号を受信してその映像を画面に表示する機能(テレビ受信機機能)を兼ね備えている場合には、この番組指定手段は、例えば現在表示中の番組を番組Qとして指定する。また、番組検索装置1の外部からの信号や、操作者による操作に基づいて、番組指定手段が検索の基となる番組Qを指定するようにしても良い。
【0043】
次にステップS202において、番組情報取得部10は、上で指定された番組Qについての番組情報を、外部記憶装置91やサーバコンピュータ92や現在受信中の番組Qに付加されているデジタルデータ信号などから取得する。番組情報取得部10による具体的な番組情報の取得の動作は、前図のステップS101についての説明で述べた通りである。
次にステップS203において、出現頻度カウント部11が、上で取得した番組Qについての番組情報に基づき、そのデータに含まれるnグラムを抽出するとともに、それらのnグラムの出現頻度をカウントする。出現頻度カウント部11による具体的な動作は、前図のステップS102についての説明で述べた通りである。
【0044】
次にステップS204において、類似度計算部15は、上で指定された番組Qと、予め番組情報記憶部12の番組データベースに記憶されていた番組との関連度を計算する。このとき、類似度計算部15は、番組Qと、他のある番組Dとの関連度を下の式(1)で表わす計算によって計算する。
【0045】
【数1】
【0046】
ここで、Tnは、番組Qに含まれるnグラムである。また、nは、そのnグラムの連鎖数である。
また、weneは前述した通り拡張固有表現に対応する重みであり。この重みweneを用いて関連度を計算することにより、単に出現頻度の統計的特徴だけによらず、語の意味にも基づいた関連度を算出することができる。
また、wngは、nグラムの連鎖数に対応する重みであり、具体的には例えば、
wng=1/n
あるいは、
wng=1/(2n)
などといったように、nが大きくなるほど重みwngが小さくなるようにする。この重みwngを用いることにより、番組情報に含まれる複合語に対して過剰に高い関連度が算出されることを防ぐことができる。例えば、番組Qと番組Dの両方の番組情報に「経済産業省」という単語が含まれていた場合に、3−グラムの「経済−産業−省」だけでなく、2−グラムの「経済−産業」、「産業−省」や、1−グラムの「経済」、「産業」,「省」なども両番組情報間で共起する。このような場合にも、式(1)において重みwngの要素が作用することによって、これらのnグラムが関連度に対して過剰に作用することを防ぐ。
【0047】
式(1)におけるSBM25(Tn,D)は、検索エンジン等で用いられ、語と文書との関連性をランク付けるためのOkapi BM25に基づく関数を利用している。このSBM25(Tn,D)は、あるnグラムTnの番組Dにおけるスコアを計算するものであり、下の式(2)によって表わされる。
【0048】
【数2】
【0049】
ここで、Mは、番組情報データベースに記憶されている全ての番組の番組数である。また、mは、それらのうちnグラムTnを含む番組の番組数である。また、tfは、番組Dの番組情報の中のnグラムTnの頻度であり、そのデータは番組情報記憶部12の出現頻度情報121から読み出される。また、qtfは番組Qの番組情報の中のnグラムTnの頻度であり、そのデータは上のステップS203で求められたものである。
また、Kは、下の式(3)によって表わされる。
【0050】
【数3】
【0051】
ここで、dlは、番組Dの番組情報の説明文長(つまり、そのテキストに含まれる語数)である。また、avdlは、番組情報データベースに記憶されている全ての番組の番組情報の説明文長(語数)の平均である。
また、式(2)および式(3)における、bや、k1や、k3は、適宜設定されるパラメータである。これらのパラメータの一例としては、
b=0.75,
k1=1.2,
k3=7
といった値を用いる。
【0052】
類似度計算部15は、上述した計算方法により、番組データベースに格納されている全ての番組Dについて、番組Qとの関連度S(D,Q)を計算する。その結果のスコアに基づき、類似度計算部15は、関連度の高い上位の番組を出力する。
【0053】
次にステップS205において、関係ラベル決定部22は、検索元の番組Qと検索結果として得られる番組との関係を示す関係ラベルを決定する。具体的には、関係ラベル決定部22は、検索元の番組Qと、番組データベースに記憶されている番組Dとの関係を示すラベルL(D,Q)を、下の式(4)によって求める。
【0054】
【数4】
【0055】
つまり、番組Qと番組Dとが与えられたとき、関係ラベル決定部22は、式(2)で示した関数SBM25(Tn,D)を用いてSBM25(Tn,D)×wene(Tn)を計算し、この値が最大となるようなnグラムTnを、番組Qと番組Dとの関係を表わすラベルとして決定する。このような決定方法から明らかなように、番組データベースに保持されているある番組Dについて、指定される番組Qに応じて異なるラベルが決定される場合もある。
またこのとき、上で決定されたラベルが固有表現に該当する場合には、番組情報記憶部12の固有表現情報122から読み出された情報に基づいて、関係ラベル決定部22が、そのラベルに対応する固有表現種別を併せて決定するようにしても良い。
【0056】
なお、番組検索装置1が関係ラベル決定部22を持たないような構成としても良い。このような構成の場合には、ここで説明している番組検索の処理の手順からステップS205の処理のみを省略する。関係ラベルを必要としない場合にはこのように関係ラベル決定部22を省略してもよく、その場合には、番組検索装置1は、類似度計算部15による計算結果のみに基づいて検索結果を操作者に対して提示する。
【0057】
次にステップS206において、検索結果提示部18は、上述した一連の処理の結果に基づいて、検索結果をコンピュータの画面に表示することによって、操作者に対する提示を行う。具体的には、検索結果提示部18は、上で計算された関連度スコアに基づき、上位P個(Pは正整数)までの番組を結果に出力する。
【0058】
図11は、検索結果提示部18による検索結果の提示の画面表示の一例を示す概略図である。同図に示す例では、検索結果提示部18は、指定された番組Qを画面の中心部付近に、その番組Qのタイトル等(「天〇人」等)とともに表示している。また、番組Qを表示している場所の周辺に、番組Qとの関連度が高い他の番組を表示している。同図では、番組Qとの関連度の高い他の番組が、ラベルごとに分類されて、且つそれらのラベルにそれぞれ対応する固有表現種別とともに表示されている。得られたラベルが固有表現でない場合は、「Topic:」と表示される。即ち、ラベル「謙信」は固有表現種別「Person」に対応し、ラベル「信長」は固有表現種別「Person」に対応し、ラベル「兼続」は固有表現種別「Person」に対応し、ラベル「岐阜城」は固有表現種別「Facility」に対応している。例では、ラベル「鉄砲」は固有表現タグが付与されていないため、「Topic」に対応させる。そして、これらそれぞれのラベルにそれぞれ対応して該当する番組のうち、番組Qとの間の関連度が高い番組が、上位順に表示されている(その検索結果の各番組に対応するサムネール画像を表示しても良い)。
【0059】
つまり、このとき、検索結果提示部18は、番組Dと、類似度計算部15によって計算された番組Qと番組Dとの関連度のスコアS(D,Q)と、関係ラベル決定部22によって決定された番組Qと番組Dとの関係を表わす関係ラベルL(D,Q)とに基づき、番組データベース内の番組(D)をラベルごとに分類し、それらの各ラベルに属する上位の所定個の番組(D)のスコアの合計が上位となる所定個のラベルを決定する。そして、決定された各ラベルに属する上位の番組(D)を表示する。
また、このとき、検索結果提示部18は、画面中央に表示された番組Qの動画コンテンツを再生表示しながら、その周辺に、上述した関連番組のサムネール画像を表示し、操作者がそれらのサムネール画像のいずれかをクリックする操作をした場合には、今度はその選択された関連番組を指定番組Qとして、画面中央に表示再生するように切り替える。
【0060】
以上まとめると、検索結果提示部18は、下の(a)の方法で検索結果を画面に表示する。
(a)検索結果提示部18は、指定された番組Qを表示し、また、上位所定個の番組の関連度の合計が高いラベルと、そのラベルに対応する固有表現種別と、そのラベルに属する番組のうち関連度が上位の番組を表示する。
また、この方法だけでなく、検索結果提示部18が下の(b)〜(f)などのいずれかの方法で検索結果を画面に表示するようにしても良い。
(b)検索結果提示部18は、上記(a)と同様の表示をするが、但し、固有表現種別の表示を行なわない。
(c)検索結果提示部18は、上記(a)または(b)のいずれかの表示に加えて、ラベルに含まれる番組の関連度の合計値としては上位のラベルに含まれないが、各番組単独での番組Qとの関連度が高いような番組がある場合には、そのような単数又は複数の番組を併せて表示する。また、それらの番組は共通のラベルを持たないため、ラベルの代わりに「その他」などといった文言を併せて表示するようにしても良い。
(d)検索結果提示部18は、ラベルを考慮せず、単純に番組データベース中の全番組から関連度S(D,Q)が上位の所定個の番組を選んで表示する。この場合には、番組検索装置1が関係ラベル決定部22を含まない構成でも良い。
(e)検索結果提示部18は、番組をラベルごとに分類して並べることはないが、番組データベース中の全番組から関連度S(D,Q)が上位の所定個の番組を選んでスコアで順序付けて表示し、各番組に対応するラベルの文字列を表示する。
(f)検索結果提示部18は、上記(e)の表示に加えて、ラベルに対応する固有表現種別がある場合には、それを併せて表示する。
また、検索結果提示部18は、上記の(a)〜(f)のさらなるバリエーションによる表示を行っても良い。
【0061】
なお、上述した実施形態における番組検索装置の一部又は全部の機能をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における番組検索装置の機能を放送受信機に組み込むことによって実現しても良い。
【0062】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0063】
<評価実験の結果>
視聴者が視聴中の番組に関連する番組をどの程度良い精度で検索できるかを調べるため、上記実施形態の試作システムを用いた関連番組検索の評価実験を行なった。実験では、種類に重複のない15番組を検索元とし、検索結果の上位10番組を評価した。番組間の関連性を4段階(4:関連ある,3:少し関連ある,2:あまり関連ない,1:関連ない)で、関係の種類を示す関係ラベルを3段階(3:適切,2:ほぼ適切,1:不適切)で、それぞれ主観評価した。ベースラインとして、形態素のtf−idf値を素性としたCosine類似度を用いた。ラベルには、tf−idf値が最も高い形態素を付与した。
【0064】
この実験の結果、上記実施形態の試作システムが、ベースラインに比べ、関連性および関係ラベルの双方において上回った。具体的には、関連性については、ベースラインの評価結果が3.26に対して本試作システムのそれが3.35となった。関係ラベルについては、ベースラインの評価結果が2.25に対して本試作システムのそれが2.49となった。これは、本試作システムの手法では、ENE(拡張固有表現)や複合語が評価され、ユーザが「関連がある」と判断する意味のある語彙を持つ番組が上位に集まったためと分析できる。一方で、少数ではあるが、番組情報内で例示された国名など、内容とは直接関係ないENEの重みがスコアに寄与してしまった場合もあった。これは、検索元コンテンツの文脈を考慮した選択的なENEの重み付け(固有表現重み値の設定)を行うことによって改善できる。また、関係ラベルの評価においても、複合語やENEなど意味のある語が関係ラベルとして決定されたことで、ユーザの評価を上げることができたと分析できる。つまり、本発明の実施形態の有効性が実験によって確認された。
【産業上の利用可能性】
【0065】
本発明は、放送番組や、通信回線等を介して配信される映像番組などを視聴する視聴者に対して、他の関連する番組をレコメンドするために利用できる。また、そのような機能は、例えば多数の豊富な映像番組などを視聴者の要求に基づいて提供するサービスに適用することが産業上有用である。
【符号の説明】
【0066】
1 番組検索装置
10 番組情報取得部
11 出現頻度カウント部
12 番組情報記憶部
15 類似度計算部
18 検索結果提示部
21 固有表現特定部
22 関係ラベル決定部
【特許請求の範囲】
【請求項1】
番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、
前記番組情報を取得する番組情報取得部と、
指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、
前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、
前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部と、
を備えることを特徴とする番組検索装置。
【請求項2】
前記表現はnグラムであり、
前記番組情報記憶部が記憶する前記出現頻度情報は、番組ごとのnグラムの出現頻度を表わすものであり、且つ前記出現頻度情報は、番組ごとの所定の複数の連鎖数の前記nグラムごとの出現頻度を含むものであり、
前記出現頻度カウント部は、前記指定番組に関する前記番組情報における前記所定の複数の連鎖数の前記nグラムごとの出現頻度をカウントするものであり、
前記類似度計算部は、前記指定番組と前記検索対象番組との間での前記所定の複数の連鎖数のnグラムの共起の度合いを計算するものであり、特定の連鎖数のnグラムの共起の度合いを、当該連鎖数に応じたnグラム重み値によって重み付ける処理をさらに行うことによって前記関連度を算出する、
ことを特徴とする請求項1に記載の番組検索装置。
【請求項3】
前記指定番組と前記検索対象番組との間での表現の共起の度合いに対して、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理を行った結果に基づき、前記指定番組と前記検索対象番組との間の関係を表わす前記表現を関係ラベルとして決定する関係ラベル決定部を更に備え、
前記検索結果提示部は、対応する前記関係ラベルと関連付けて選択された前記検索対象番組を出力する、
ことを特徴とする請求項1又は請求項2に記載の番組検索装置。
【請求項4】
検索対象とするための番組に関して前記番組情報取得部が取得した前記番組情報から固有表現を抽出する処理を行なうとともに、抽出された前記固有表現に対応する前記固有表現重み値を決定し、前記固有表現情報を作成して前記番組情報記憶部に書き込む固有表現特定部、を更に備え、
前記出現頻度カウント部は、検索対象とするための番組に関しても前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントし、前記出現頻度情報を作成して前記番組情報記憶部に書き込む、
ことを特徴とする請求項1から3までのいずれか一項に記載の番組検索装置。
【請求項5】
コンピュータを、
番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、
前記番組情報を取得する番組情報取得部と、
指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、
前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、
前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部と、
を備える番組検索装置として機能させる番組検索プログラム。
【請求項1】
番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、
前記番組情報を取得する番組情報取得部と、
指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、
前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、
前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部と、
を備えることを特徴とする番組検索装置。
【請求項2】
前記表現はnグラムであり、
前記番組情報記憶部が記憶する前記出現頻度情報は、番組ごとのnグラムの出現頻度を表わすものであり、且つ前記出現頻度情報は、番組ごとの所定の複数の連鎖数の前記nグラムごとの出現頻度を含むものであり、
前記出現頻度カウント部は、前記指定番組に関する前記番組情報における前記所定の複数の連鎖数の前記nグラムごとの出現頻度をカウントするものであり、
前記類似度計算部は、前記指定番組と前記検索対象番組との間での前記所定の複数の連鎖数のnグラムの共起の度合いを計算するものであり、特定の連鎖数のnグラムの共起の度合いを、当該連鎖数に応じたnグラム重み値によって重み付ける処理をさらに行うことによって前記関連度を算出する、
ことを特徴とする請求項1に記載の番組検索装置。
【請求項3】
前記指定番組と前記検索対象番組との間での表現の共起の度合いに対して、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理を行った結果に基づき、前記指定番組と前記検索対象番組との間の関係を表わす前記表現を関係ラベルとして決定する関係ラベル決定部を更に備え、
前記検索結果提示部は、対応する前記関係ラベルと関連付けて選択された前記検索対象番組を出力する、
ことを特徴とする請求項1又は請求項2に記載の番組検索装置。
【請求項4】
検索対象とするための番組に関して前記番組情報取得部が取得した前記番組情報から固有表現を抽出する処理を行なうとともに、抽出された前記固有表現に対応する前記固有表現重み値を決定し、前記固有表現情報を作成して前記番組情報記憶部に書き込む固有表現特定部、を更に備え、
前記出現頻度カウント部は、検索対象とするための番組に関しても前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントし、前記出現頻度情報を作成して前記番組情報記憶部に書き込む、
ことを特徴とする請求項1から3までのいずれか一項に記載の番組検索装置。
【請求項5】
コンピュータを、
番組の内容を表わすテキストを含む番組情報における前記番組ごとの表現の出現頻度を表わす出現頻度情報と、前記番組情報に含まれる固有表現と前記固有表現に対応する固有表現重み値とを関連付けて記憶する固有表現情報と、を記憶する番組情報記憶部と、
前記番組情報を取得する番組情報取得部と、
指定された指定番組に関して前記番組情報取得部が取得した前記番組情報における表現の出現頻度をカウントする出現頻度カウント部と、
前記指定番組に関する前記番組情報について前記出現頻度カウント部がカウントして得られた表現ごとの前記出現頻度と、前記番組情報記憶部から読み出した特定の検索対象番組に関する前記出現頻度情報と、前記番組情報記憶部から読み出した前記固有表現情報とに基づき、前記指定番組と前記検索対象番組との間での前記表現の共起の度合いを計算するとともに、当該表現が前記固有表現情報に含まれる固有表現である場合には前記共起の度合いを前記固有表現重み値によって重み付ける処理をすることによって、前記指定番組と前記検索対象番組との間の関連度を算出する類似度計算部と、
前記類似度計算部が算出した前記関連度に基づいて選択された前記検索対象番組を出力する検索結果提示部と、
を備える番組検索装置として機能させる番組検索プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−43908(P2011−43908A)
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願番号】特願2009−190237(P2009−190237)
【出願日】平成21年8月19日(2009.8.19)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
【公開日】平成23年3月3日(2011.3.3)
【国際特許分類】
【出願日】平成21年8月19日(2009.8.19)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】
[ Back to top ]