以下、本発明の実施の形態におけるコンテンツ検索装置について図面を参照しながら説明する。
図1は、本発明の実施の形態におけるコンテンツ検索装置の構成を示すブロック図である。
本実施の形態におけるコンテンツ検索装置100は、ユーザによって選択されたキーワードおよびそのキーワードに関連する関連キーワードを用いて、サーバSvに大量に蓄積されたテレビ番組であるコンテンツの中から、ユーザの所望のコンテンツを容易に検索するものである。また、このコンテンツ検索装置100は、コンテンツとキーワードとの間の関連性が変化するような場合であっても、ユーザが望むコンテンツを容易に検索することができるものである。
このコンテンツ検索装置100は、入力判定部101と、プロファイル情報格納部102と、選択キーワード記憶部103と、困惑検出部104と、計数部105と、分散算出部106と、困惑種類判別部107と、コンテンツテーブル格納部108と、関連キーワード生成部109と、出力生成部110と、表示部111と、入力部112と、配分調整設定部113と、コンテンツテーブル選択部114とを備えている。
コンテンツテーブル格納部108は、サーバSvに蓄積された各コンテンツについて、そのコンテンツの名称や概要、キーワードなどの属性(以下、コンテンツ属性という)を示す複数のコンテンツテーブル108aを格納している。このコンテンツテーブル108aは、所定の期間(以下、提供期間という)ごとに生成されて格納されている。例えば、提供期間「2006年1月〜6月」に放送された複数のコンテンツのコンテンツ属性を示すコンテンツテーブル108aや、提供期間「2005年7月〜12月」に放送された複数のコンテンツのコンテンツ属性を示すコンテンツテーブル108aなどが格納されている。なお、このようなコンテンツテーブル108aは、例えばEPG(Electronic Program Guide)などを用いて生成されている。
プロファイル情報格納部102は、ユーザによるコンテンツの視聴履歴を示すプロファイル情報102aを格納している。
入力部112は、ユーザによる操作を受け付けて、その操作結果を入力判定部101に出力する。ユーザは、この入力部112を操作することにより、表示部111に表示されたコンテンツの名称またはキーワードを選択したり、コンテンツの選択に困惑していることをコンテンツ検索装置100に知らせる。例えば、ユーザは、表示部111に表示されたヘルプボタンを選択することによって、自らが困惑していることを知らせる。
入力判定部101は、入力部112から出力された操作結果が、選択されたコンテンツの名称、選択されたキーワード、および、ユーザが困惑していることを知らせる通知のうち、何れを示すかを判定する。そして、入力判定部101は、操作結果がキーワードを示すときには、そのキーワードを選択キーワードとして選択キーワード記憶部103および関連キーワード生成部109に出力する。また、入力判定部101は、操作結果がコンテンツの名称を示すときには、そのコンテンツのコンテンツIDを出力生成部110に出力する。さらにこのとき、入力判定部101は、コンテンツの検索が終了したと判断して、選択キーワード記憶部103に記憶されている全ての選択キーワードを消去する。また、入力判定部101は、操作結果が困惑の通知を示すときには、困惑信号を困惑検出部104に出力する。
なお、本実施の形態では、入力部112と入力判定部101とから入力手段が構成される。
選択キーワード記憶部103は、入力判定部101から出力された選択キーワードを格納する。この選択キーワード記憶部103には、1つのコンテンツの検索ごとに、その検索に対して選択された選択キーワードのみが格納される。つまり、コンテンツの検索が終了するごとに、その選択キーワード記憶部103の内容が消去される。
困惑検出部104は、困惑受信手段として構成され、入力判定部101から困惑信号を取得すると、ユーザがコンテンツの検索に困惑していることを検出する。その結果、困惑検出部104は、選択キーワード記憶部103に格納されている全ての選択キーワードを読み出して、計数部105および分散算出部106に出力する。
計数部105は、困惑検出部104から取得した選択キーワードの数(以下、キーワード数という)を数える。そして、計数部105は、そのキーワード数を示すキーワード数情報を困惑種類判別部107に出力する。
分散算出部106は、困惑検出部104から取得した選択キーワードが複数であれば、各選択キーワード間の後述するコサイン距離を算出する。そして、分散算出部106は、コサイン距離を尺度として用いることで、複数の選択キーワードの分散値を算出し、その分散値を示す分散情報を困惑種類判別部107に出力する。
困惑種類判別部107は、困惑状態判別手段として構成され、計数部105から出力されたキーワード数情報と、分散算出部106から出力された分散情報とを用いて、ユーザが直面している困惑の種類(以下、困惑タイプという)を判別する。つまり、困惑種類判別部107は、キーワード数情報の示すキーワード数と予め定められた閾値(キーワード数閾値)とを比較する。その結果、困惑種類判別部107は、そのキーワード数が閾値以上であるか否か、即ちキーワード数が多いか少ないかを判断する。また、困惑種類判別部107は、分散情報の示す分散値と予め定められた閾値(分散閾値)とを比較する。その結果、困惑種類判別部107は、その分散値が閾値以上であるか否か、即ち分散値が大きいか小さいか、言い換えれば複数の選択キーワードの関連度が小さいか大きいかを判断する。そして、困惑種類判別部107は、上述のように判断された結果、すなわち、キーワード数が多いか少ないか、および、分散値が大きいか小さいかに基づいて、困惑タイプを特定する。
そして、困惑種類判別部107は、特定された困惑タイプを配分調整設定部113とコンテンツテーブル選択部114とに出力する。
配分調整設定部113は、調整手段として構成され、ユーザによって最後に(最近に)選択された選択キーワードに対して、大きな関連度を有するキーワードの数と、中程度の関連度を有するキーワードの数と、小さな関連度を有するキーワードの数との配分(以下、関連度配分という)を設定する。例えば、配分調整設定部113は、初期状態では、大きな関連度を有するキーワードの数「5」と、中程度の関連度を有するキーワードの数「3」と、小さな関連度を有するキーワードの数「2」とを示す関連度配分=(5,3,2)を設定する。そして、配分調整設定部113は、その設定された関連度配分を示す配分情報を関連キーワード生成部109に出力する。
ここで、配分調整設定部113は、困惑種類判別部107から困惑タイプを取得していないときには、つまり上述の初期状態では、予め定められた関連度配分(例えば、(5,3,2))を設定する。一方、配分調整設定部113は、困惑種類判別部107から困惑タイプを取得すると、その困惑タイプに基づいて、上述の関連度配分を調整して設定し直す。そして、配分調整設定部113は、その調整された関連度配分を示す配分情報を関連キーワード生成部109に出力する。
コンテンツテーブル選択部114は、初期状態、つまり困惑種類判別部107から困惑タイプを取得していないときには、コンテンツテーブル格納部108に格納されている複数のコンテンツテーブル108aのうち提供期間が最近のテーブルを選択して、その選択したコンテンツテーブル108aを対象コンテンツテーブルとして関連キーワード生成部109および分散算出部106に出力する。また、コンテンツテーブル選択部114は、困惑種類判別部107から困惑タイプを取得すると、その困惑タイプおよびプロファイル情報102aと、ユーザによって最近に選択された選択キーワードとに基づいて、コンテンツテーブル格納部108に格納されているコンテンツテーブル108aのうちの何れか1つを選択して、その選択したコンテンツテーブル108aを新たな対象コンテンツテーブルとして関連キーワード生成部109および分散算出部106に出力する。つまり、コンテンツテーブル選択部114は、関連キーワード生成部109および分散算出部106で使用される対象コンテンツテーブル108aを、取得した困惑タイプに応じて変更する。
なお、本実施の形態におけるコンテンツテーブル選択部114は、コンテンツテーブル格納部108に格納された複数のコンテンツテーブル108aのうち何れか1つ選択するが、プロファイル情報102aを新たな対象コンテンツテーブルとして選択してもよい。
関連キーワード生成部109は、入力判定部101から選択キーワードを取得していないときには、対象コンテンツテーブル108aに示される複数のキーワードの中から、予め定められた方法に従って、表示部111に表示可能な数だけのキーワードを選択する。そして、関連キーワード生成部109は、その選択したキーワードを初期キーワードとして出力生成部110に出力する。例えば、関連キーワード生成部109は、「スポーツ」や「ドキュメンタリー」などのジャンルを初期キーワードとして選択する。なお、関連キーワード生成部109は、プロファイル情報102aに基づき、ユーザの視聴頻度の高いコンテンツに対応するキーワードを初期キーワードとして選択してもよい。
また、関連キーワード生成部109は、入力判定部101から選択キーワードを取得したときには、対象コンテンツテーブル108aに示される複数のコンテンツと複数のキーワードとに基づくコンテンツ行列を用い、選択キーワードに対する他の複数のキーワードの関連度を算出する。そして、関連キーワード生成部109は、上述のように算出された関連度と、配分調整設定部113から出力された配分情報の示す関連度配分とに従って、対象コンテンツテーブル108aの中からキーワードを選択することにより、その選択したキーワードを関連キーワードとして生成する。関連キーワード生成部109は、その関連キーワードを選択キーワードとともに出力生成部110に出力する。
なお、関連キーワード生成部109は、コンテンツテーブル選択部114から取得したコンテンツテーブル108aを出力生成部110に出力する。
出力生成部110は、入力判定部101からコンテンツIDを取得したときには、そのコンテンツIDによって識別されるコンテンツをサーバSvから取得して、表示部111に出力する。これにより、ユーザは、表示部111によって表示されるコンテンツを視聴する。さらに、出力生成部110は、コンテンツテーブル選択部114によって選択された対象コンテンツテーブル108aに基づいて、サーバSvから取得されたコンテンツの視聴履歴を作成し、プロファイル情報格納部102に格納されているプロファイル情報102aに追加する。
また、出力生成部110は、関連キーワード生成部109から選択キーワードを取得したときには、対象コンテンツテーブル108aにおいてその選択キーワードをキーワードとして含むコンテンツ属性の中のコンテンツの名称および概要などを、選択キーワードとともに表示部111に出力する。
また、出力生成部110は、関連キーワード生成部109から初期キーワードまたは関連キーワードを取得したときには、その初期キーワードまたは関連キーワードを表示部111に出力する。
表示部111は、出力生成部110からコンテンツを取得したときには、そのコンテンツを再生して表示する。また、表示部111は、出力生成部110から初期キーワードを取得したときには、その初期キーワードを表示し、出力生成部110から選択キーワード、関連キーワード、コンテンツの名称およびコンテンツの概要を取得したときには、それらを同一の画面に表示する。
なお、本実施の形態では、出力生成部110と表示部111とから出力表示手段が構成される。
図2は、コンテンツテーブル108aの一例を示す図である。
コンテンツテーブル108aは、例えば、6ヶ月の提供期間に放送された各コンテンツのコンテンツ属性を示し、そのコンテンツ属性は、コンテンツを識別するための情報であるコンテンツIDおよびコンテンツ名(コンテンツの名称や題名)と、コンテンツの放送(配信)が開始された日時と、そのコンテンツに属するキーワードと、そのコンテンツの要約または概要を示すコンテンツ概要とからなる。
例えば、コンテンツテーブル108aは、提供期間「2006年1月〜6月」に放送されたコンテンツのコンテンツ属性を示す。そして、そのコンテンツテーブル108aは、コンテンツID「2」で示されるコンテンツに対して、そのコンテンツ名が「動物万歳」であること、放送日時が「2006年1月1日19:00」であること、キーワードが「蜘蛛、カラス、マンモス」であること、およびコンテンツ概要が「マンモスからカラスまで…」であることを示す。
図3は、プロファイル情報102aの一例を示す図である。
プロファイル情報102aは、視聴されたコンテンツの属性(以下、視聴履歴属性という)を視聴履歴として示す。視聴履歴属性は、例えば、視聴されたコンテンツを識別するための情報であるコンテンツIDおよびコンテンツ名(コンテンツの名称または題名)と、そのコンテンツが視聴された日時と、そのコンテンツに属するキーワードとからなる。
出力生成部110は、コンテンツをサーバSvから取得して表示部111に出力すると、入力判定部101から取得したコンテンツIDと、コンテンツテーブル選択部114で選択された対象コンテンツテーブル108aとに基づいて、出力されたコンテンツのコンテンツ名、視聴された日時、およびキーワードを特定する。
そして、出力生成部110は、そのコンテンツIDと、特定されたコンテンツ名、日時、およびキーワードとを上述の視聴履歴属性として、プロファイル情報格納部102に格納されているプロファイル情報102aに追加的に記録する。
例えば、出力生成部110は、コンテンツID「68」と、コンテンツ名「我が多摩川」と、日時「2005年7月3日22:30」と、キーワード「丸子橋、野球、蛇、メダカ」とを視聴履歴属性として記録する。
このように、コンテンツが再生表示されるたびに、出力生成部110が視聴履歴属性をプロファイル情報102aに記録することによって、ユーザの嗜好をプロファイル情報102aに常に反映させることができる。
ここで、本実施の形態におけるコンテンツ検索装置100の概略的な動作を、図4を用いて説明する。
図4は、コンテンツ検索装置100の概略的な動作を説明するための図である。
このコンテンツ検索装置100は、まず図4の(a)に示すように、予め定められた複数の初期キーワード「松下花子、日本、バスケットボール、読書、携帯電話、歴史、珍しい、アメリカ」を表示する。このような複数の初期キーワードは、表示部111に表示され、何れか1つの初期キーワードがユーザによる入力部112の操作によって選択される。
ここで、コンテンツ検索装置100は、ユーザが初期キーワード「松下花子」を選択キーワードとして選択すると、図4の(b)に示すように、その選択キーワード「松下花子」に関する複数のコンテンツのコンテンツ名およびコンテンツ概要と、その選択キーワード「松下花子」に対する複数の関連キーワードと、ユーザがコンテンツの検索に困惑していることを通知するためのヘルプボタンとを表示する。例えば、複数のコンテンツ名およびコンテンツ概要として「コンテンツA:概要…、コンテンツB:概要…、コンテンツC:概要…」が表示され、複数の関連キーワードとして「松下太郎、京都、大阪、楽しい、ドキュメンタリー」が表示される。
つまり、コンテンツ検索装置100は、対象コンテンツテーブル108aに含まれるコンテンツ名およびコンテンツ概要のうち、選択キーワード「松下花子」をキーワードとして含むコンテンツ属性の中にあるコンテンツ名およびコンテンツ概要を、表示部111に表示する。そして、コンテンツ検索装置100は、対象コンテンツテーブル108aに含まれる各キーワードの選択キーワード「松下花子」に対する関連度と、予め定め設定された関連度配分とに基づいて、その対象コンテンツテーブル108aに含まれる各キーワードの中から、その選択キーワード「松下花子」に関連するキーワードを関連キーワードとして選択し、表示部111に表示する。
ここで、ユーザは、表示された複数のコンテンツ名およびコンテンツ概要の中に所望のものを見つけると、入力部112を操作して、そのコンテンツ名を選択する、つまりコンテンツを選択する。
コンテンツ検索装置100は、例えばコンテンツ名「コンテンツA」が選択されると、図4の(c)に示すように、サーバSvからそのコンテンツ名に対応するコンテンツを取得して再生し、表示部111に表示する。これにより、コンテンツの検索が終了する。
一方、ユーザは、表示された複数のコンテンツ名の中に、所望のコンテンツのコンテンツ名が無ければ、入力部112を操作することにより、表示された複数の関連キーワードの中から、その所望のコンテンツに対応すると思われる関連キーワードを新たな選択キーワードとして選択する。
コンテンツ検索装置100は、例えば関連キーワード「京都」が新たな選択キーワードとして選択されると、図4の(d)に示すように、その選択キーワード「京都」に関する複数のコンテンツのコンテンツ名およびコンテンツ概要と、その選択キーワード「京都」に対する複数の関連キーワードと、上述のヘルプボタンとを表示する。例えば、複数のコンテンツ名およびコンテンツ概要として「コンテンツD:概要…、コンテンツE:概要…、コンテンツF:概要…」が表示され、複数の関連キーワードとして「茶道、寺、文化、時代劇、ニシン」が表示される。
つまり、コンテンツ検索装置100は、対象コンテンツテーブル108aに含まれるコンテンツ名およびコンテンツ概要のうち、選択キーワード「京都」をキーワードとして含むコンテンツ属性の中にあるコンテンツ名およびコンテンツ概要を、表示部111に表示する。そして、コンテンツ検索装置100は、対象コンテンツテーブル108aに含まれる各キーワードの選択キーワード「京都」に対する関連度と、予め定め設定された関連度配分とに基づいて、その対象コンテンツテーブル108aに含まれる各キーワードの中から、その選択キーワード「京都」に関連するキーワードを関連キーワードとして選択し、表示部111に表示する。
なお、コンテンツ検索装置100は、上述のようにコンテンツ名を表示するときには、最近の選択キーワード「京都」と、それ以前に選択された選択キーワード「松下花子」とのアンドを取ってコンテンツ名(コンテンツ)の絞込みを行わない。即ち、コンテンツ検索装置100は、それ以前に選択された選択キーワードに関わらず、対象コンテンツテーブル108aに含まれるコンテンツ名のうち、最近の選択キーワード「京都」をキーワードとして含むコンテンツ属性の中にあるコンテンツ名を、表示部111に表示する。
ユーザは、表示部111に表示された複数のコンテンツ名の中に、所望のコンテンツのコンテンツ名が無ければ、上述と同様に、関連キーワードの選択を繰り返し行う。つまり、ユーザは、関連キーワードの選択を繰り返しながら、対話的に見たいコンテンツを検索する。なお、コンテンツ検索装置100は、関連キーワードの選択が繰り返されることによって、順次、新たな関連キーワードを表示し、既に表示された関連キーワードを再び表示するようなことはしない。既に表示された関連キーワードがユーザに選択されなかったということは、その関連キーワードがユーザの所望のキーワードではないということである。したがって、コンテンツ検索装置100は、既に表示された関連キーワードを再び表示することはせず、未だ表示されていないキーワードを関連キーワードとして表示する。
関連キーワードの選択が繰り返された結果、コンテンツ検索装置100は、例えば図4の(e)に示すように、選択キーワード「サムライ」に関する複数のコンテンツのコンテンツ名およびコンテンツ概要と、その選択キーワード「サムライ」に対する複数の関連キーワードと、上述のヘルプボタンとを表示する。例えば、複数のコンテンツ名およびコンテンツ概要として「コンテンツG:概要…、コンテンツH:概要…、コンテンツI:概要…」が表示され、複数の関連キーワードとして「刀、城、外国、剣道、映画」が表示される。
ここで、ユーザは、図4の(e)に示すように複数のコンテンツ名が表示されても、所望のコンテンツのコンテンツ名が表示されていないため、コンテンツの検索に困惑してしまう。そして、ユーザは、入力部112を操作することにより、ヘルプボタンを選択する。
コンテンツ検索装置100は、ヘルプボタンが選択されると、ユーザがコンテンツの検索に困惑していることを検出する。そして、本実施の形態におけるコンテンツ検索装置100は、関連キーワードを生成するための対象コンテンツテーブル108aおよび関連度配分の少なくとも一方を変更する。
コンテンツ検索装置100は、変更された結果に基づいて、対象コンテンツテーブル108aに含まれる各キーワードの中から、その選択キーワード「サムライ」に関連するキーワードを関連キーワードとして選択(生成)し直し、表示部111に表示する。例えば、図4の(f)に示すように、先に表示された関連キーワードとは異なる複数の関連キーワード「江戸、幕府、武士、農民、七人」が表示される。
このように本実施の形態におけるコンテンツ検索装置100は、ヘルプボタンが選択されたとき、つまりユーザの困惑時には、対象コンテンツテーブル108aおよび関連度配分の少なくとも一方を変更して関連キーワードを生成し直すことに特徴がある。
また、このようなコンテンツ検索装置100では、ユーザが自ら望むコンテンツに直接関連するキーワードを知らなかったときにも、ユーザが関連キーワードの選択を繰り返すことで、その所望のコンテンツを容易に検索することができる。
図5は、コンテンツテーブル108aのコンテンツ属性とキーワードとの関係を説明するための説明図である。
コンテンツテーブル108aは、図2に示すように、複数のコンテンツのそれぞれに対応した複数のコンテンツ属性を含み、そのコンテンツ属性には複数のキーワードが含まれている。つまり、コンテンツテーブル108aのコンテンツ属性は、キーワードごとに分類される。
例えば、提供期間「2006年1月〜6月」のコンテンツテーブル108aに示される複数のコンテンツ属性は、図5に示すように、キーワードKW1を含む複数のコンテンツ属性(コンテンツ属性群Ca1)と、キーワードKW2を含む複数のコンテンツ属性(コンテンツ属性群Ca2)と、キーワードKW3を含む複数のコンテンツ属性(コンテンツ属性群Ca3)となどに分類される。また、1つのコンテンツ属性は、複数のコンテンツ属性群に属する場合がある。
本実施の形態におけるコンテンツ検索装置100は、ヘルプボタンが選択されていないとき、つまり通常時には、最近(例えば提供期間「2006年1月〜6月」)のコンテンツテーブル108aを対象コンテンツテーブルとして扱う。そして、コンテンツ検索装置100は、その対象コンテンツテーブル108aに示される複数のコンテンツ属性の中から、選択キーワードに対応するコンテンツ属性を検索して、そのコンテンツ属性の中にあるコンテンツ名などを表示する。さらに、コンテンツ検索装置100は、選択キーワードに関連する関連キーワードを表示する。
例えば、ユーザによる入力部112の操作によってキーワードKW1が選択キーワードとして選択されたときには、コンテンツ検索装置100は、コンテンツ属性群Ca1に属するコンテンツ属性を検索し、その各コンテンツ属性にあるコンテンツ名などを表示する。さらに、コンテンツ検索装置100は、選択キーワードKW1に関連するキーワードKW2,KW3,KW5などを関連キーワードとして選択して表示する。さらに、ユーザによる入力部112の操作によって、関連キーワードKW2,KW3,KW5のうち関連キーワードKW3が新たな選択キーワードとして選択されたときには、コンテンツ検索装置100は、コンテンツ属性群Ca3に属するコンテンツ属性を検索し、その各コンテンツ属性にあるコンテンツ名などを表示する。さらに、コンテンツ検索装置100は、選択キーワードKW3に関連するキーワードKW4などを新たな関連キーワードとして選択して表示する。
このように本実施の形態におけるコンテンツ検索装置100は、ユーザによって関連キーワード(選択キーワード)が選択されると、対象コンテンツテーブル108aにおいてその選択キーワードに対応するコンテンツ名と、その選択キーワードに関連する関連キーワードとを表示する。そして関連キーワードが選択されるごとに、コンテンツ検索装置100は、その選択された関連キーワードを新たな選択キーワードとし、その選択キーワードに対応する新たなコンテンツ名と、その選択キーワードに関連する新たな関連キーワードとを表示する。これにより、本実施の形態におけるコンテンツ検索装置100は、複数のコンテンツ属性からなるコンテンツ属性群を、ユーザによって選択されたキーワードにしたがって切り替える。なお、本実施の形態におけるコンテンツ検索装置100は、各関連キーワードが選択キーワードに包含されていることを必要条件とせず、選択キーワードに対応する複数のコンテンツを、関連キーワードを用いてさらに絞り込むことを積極的に行わない。
また、本実施の形態におけるコンテンツ検索装置100は、困惑種類判別部107によって判別された困惑タイプに応じて、対象コンテンツテーブル108aを切り替える。例えば、コンテンツ検索装置100は、対象コンテンツテーブル108aを、提供期間「2006年1月〜6月」に対応したコンテンツテーブル108aから、提供期間「2005年7月〜12月」に対応したコンテンツテーブル108aに切り替える。
つまり、上述のように、コンテンツテーブル選択部114は、プロファイル情報102aおよび最近の選択キーワードに基づいて、コンテンツテーブル格納部108に格納されている複数のコンテンツテーブル108aの中から何れか1つのコンテンツテーブル108aを新たな対象コンテンツテーブルとして選択する。具体的に、コンテンツテーブル選択部114は、プロファイル情報102aにおいて、その選択キーワードが頻繁に現れる期間を特定する。そして、コンテンツテーブル選択部114は、その期間に対応したコンテンツテーブル108aを新たな対象コンテンツテーブルとして選択する。
その結果、選択キーワードに対応するコンテンツ名や、選択キーワードに対する他の各キーワードの関連度が変更され、ユーザが興味を有する期間に応じたコンテンツ名および関連キーワードを表示することができる。
図6は、関連キーワード生成部109による関連度の算出方法を説明するための説明図である。
関連キーワード生成部109は、まず、コンテンツテーブル選択部114から出力された対象コンテンツテーブル108aに基づいてコンテンツ行列を生成する。コンテンツ行列では、対象コンテンツテーブル108aにより示される複数のキーワードが行K1,K2,K3,…,Knにそれぞれ対応し、対象コンテンツテーブル108aにより示される複数のコンテンツ属性が列C1,C2,C3,…,Cmにそれぞれ対応する。
コンテンツ行列に含まれる要素(Ki,Cj)は、行Kiのキーワードが列Cjのコンテンツ属性に含まれているときには「1」とされ、行Kiのキーワードが列Cjのコンテンツ属性に含まれていないときには「0」とされる。なお、iは1〜nまでの整数であり、jは1〜mまでの整数である。例えば、行K1のキーワードが、列C1,C4のコンテンツ属性にのみ含まれている場合には、コンテンツ行列の行K1は(1,0,0,1,…,0)とされる。
次に、関連キーワード生成部109は、コンテンツ行列の各行K1,K2,K3,…,Knをキーワードベクトルとして扱う。つまり、対象コンテンツテーブル108aに示される全てのキーワードKW1,KW2,KW3,…,KWnが、キーワードベクトルK1,K2,K3,…,Knとして表される。
そして、関連キーワード生成部109は、キーワードベクトルK1,K2,K3,…,Knのコサイン距離を、選択キーワードに対する他の複数のキーワードの関連度として算出する。例えば、関連キーワード生成部109は、選択キーワードがキーワードKW1であるときには、キーワードベクトルK1,K2のコサイン距離a12を、キーワードKW2の選択キーワードKW1に対する関連度として算出する。同様に、関連キーワード生成部109は、キーワードベクトルK1,K3のコサイン距離a13を、キーワードKW3の選択キーワードKW1に対する関連度として算出する。
なお、図6に示すコンテンツ行列の要素は全て非負となるため、関連度となるコサイン距離の値は0〜1までの数値で示され、キーワード間の関連が強ければ1に近い値を示し、関連が弱ければ0に近い値を示す。
このように関連キーワード生成部109は、選択キーワードに対する他の複数のキーワードの関連度を算出して、それらの関連度と、配分調整設定部113から出力された配分情報の示す関連度配分とに基づいて、上記他の複数のキーワードから、選択キーワードに対する関連キーワードを選択する。その結果、関連キーワードが生成される。
図7は、関連キーワード生成部109により算出された関連度の具体例を示す図である。
関連キーワード生成部109は、例えば選択キーワード「松下花子」を入力判定部101から取得すると、その選択キーワード「松下花子」を表すキーワードベクトルと、他のキーワード「松下次郎」を表すキーワードベクトルとのコサイン距離を算出することにより、関連度「0.94」を算出する。さらに、関連キーワード生成部109は、その選択キーワード「松下花子」を表すキーワードベクトルと、他のキーワード「コスモス」を表すキーワードベクトルとのコサイン距離を算出することにより、関連度「0.85」を算出する。
なお、分散算出部106は、選択キーワード記憶部103に記憶されている複数の選択キーワード間のコサイン距離を算出するときには、上述の関連キーワード生成部109と同様の方法でそのコサイン距離を算出する。つまり、分散算出部106は、コンテンツテーブル選択部114で選択された対象コンテンツテーブル108aに基づいて、コンテンツ行列を生成し、上記複数の選択キーワードのそれぞれを表すキーワードベクトルを生成する。そして、分散算出部106は、各キーワードベクトル間のコサイン距離を算出し、算出されたコサイン距離を尺度として用いることで、複数の選択キーワードの分散値を算出する。
このように本実施の形態では、コンテンツテーブル格納部108にある全ての情報を用いることなく、対象コンテンツテーブルだけを用いて、選択キーワードに対する各キーワードの関連度を算出する。仮に、コンテンツテーブル格納部108にある全ての情報を用いれば、非常に膨大な量のコンテンツ属性の中で、コンテンツとキーワードとの関連が薄れてしまう。すなわち、コンテンツを選択するためのキーワードの特異性が薄れてしまう。ユーザは、何となく又は特定のコンテンツを想像し、想像したコンテンツのキーワードを考えながらコンテンツを検索するため、キーワードとコンテンツ間の関連が薄れてしまうと、想像したコンテンツの関連キーワードを用いてコンテンツを見つけることができなくなる。そこで、本実施の形態では、上述のように、特定の提供期間に応じた対象コンテンツテーブルだけを用いて各キーワードの関連度を算出するため、その提供期間においては、コンテンツとキーワードとの関連を薄めてしまうことなく、各キーワードの適切な関連度を算出し、ユーザの望む関連キーワードを生成することができる。その結果、ユーザは所望のコンテンツを容易に検索することができる。
なお、サーバSvに時事刻々と新たなコンテンツが格納されてコンテンツの数が増加する場合には、コンテンツテーブル格納部108に記憶されている情報も更新される。そして、この場合には、1つのコンテンツテーブル108aに含まれるコンテンツ属性の数が所定数以下に制限されたまま、コンテンツテーブル格納部108に格納されるコンテンツテーブル108aの数が増える。したがって、サーバSvのコンテンツの数が増加しても、特定の提供期間においては、コンテンツとキーワードとの関連を薄めてしまうことなく、常に、ユーザの望む関連キーワードを生成することができる。
図8は、困惑種類判別部107によって判別される困惑タイプを説明するための説明図である。
困惑種類判別部107は、計数部105から出力されたキーワード数情報と、分散算出部106から出力された分散情報とを用いて、4つの困惑タイプA,B,C,Dのうちの何れか1つを、ユーザが直面している困惑の種類として特定する。
つまり、困惑種類判別部107は、キーワード数情報が「キーワード数:少」を示し、分散情報が「分散値:小」を示しているときには、困惑タイプAを特定する。つまり、ユーザによって選択されて選択キーワード記憶部103に格納され選択キーワードの数が少なく、それら選択キーワードの分散値が小さい、つまり各選択キーワード間の関連度が大きい場合には、困惑タイプAが特定される。
ここで、困惑タイプAによってユーザがコンテンツの検索に困惑している場合には、関連度の小さい関連キーワードが多く表示されるように、関連度配分を調整することによって、その困惑が解決されることが予想される。
したがって、困惑タイプAが特定されると、配分調整設定部113は、小さな関連度を有するキーワードの数が多くなるように関連度配分を調整する。なお、このとき、コンテンツテーブル選択部114は、対象コンテンツテーブル108aを変更しない。
また、困惑種類判別部107は、キーワード数情報が「キーワード数:少」を示し、分散情報が「分散値:大」を示しているときには、困惑タイプBを特定する。つまり、ユーザによって選択されて選択キーワード記憶部103に格納され選択キーワードの数が少なく、それら選択キーワードの分散値が大きい、つまり各選択キーワード間の関連度が小さい場合には、困惑タイプBが特定される。
ここで、困惑タイプBによってユーザがコンテンツの検索に困惑している場合には、対象コンテンツテーブル108aを変更し、大きな関連度を有する関連キーワードが多く表示されるように、関連度配分を調整することによって、その困惑が解決されることが予想される。
したがって、困惑タイプBが特定されると、コンテンツテーブル選択部114は、対象コンテンツテーブル108aを、最近の提供期間に対応するコンテンツテーブル108aから、過去の提供期間に対応するコンテンツテーブル108aに変更する。さらに、このとき、配分調整設定部113は、大きな関連度を有するキーワードの数が多くなるように関連度配分を調整する。
また、困惑種類判別部107は、キーワード数情報が「キーワード数:多」を示し、分散情報が「分散値:小」を示しているときには、困惑タイプCを特定する。つまり、ユーザによって選択されて選択キーワード記憶部103に格納され選択キーワードの数が多く、それら選択キーワードの分散値が小さい、つまり各選択キーワード間の関連度が大きい場合には、困惑タイプCが特定される。
ここで、困惑タイプCによってユーザがコンテンツの検索に困惑している場合には、大きな関連度を有する関連キーワードが多く表示されるように、関連度配分を調整することによって、その困惑が解決されることが予想される。
したがって、困惑タイプCが特定されると、配分調整設定部113は、大きな関連度を有するキーワードの数が多くなるように関連度配分を調整する。なお、このとき、コンテンツテーブル選択部114は、対象コンテンツテーブル108aを変更しない。
また、困惑種類判別部107は、キーワード数情報が「キーワード数:多」を示し、分散情報が「分散値:大」を示しているときには、困惑タイプDを特定する。つまり、ユーザによって選択されて選択キーワード記憶部103に格納され選択キーワードの数が多く、それら選択キーワードの分散値が大きい、つまり各選択キーワード間の関連度が小さい場合には、困惑タイプDが特定される。
ここで、困惑タイプDによってユーザがコンテンツの検索に困惑している場合には、対象コンテンツテーブル108aを変更し、小さな関連度を有する関連キーワードが多く表示されるように、関連度配分を調整することによって、その困惑が解決されることが予想される。
したがって、困惑タイプDが特定されると、コンテンツテーブル選択部114は、対象コンテンツテーブル108aを、最近の提供期間に対応するコンテンツテーブル108aから、過去の提供期間に対応するコンテンツテーブル108aに変更する。さらに、このとき、配分調整設定部113は、小さな関連度を有するキーワードの数が多くなるように関連度配分を調整する。
図9A〜9Dは、配分調整設定部113によって調整される関連度配分を説明するための説明図である。
関連キーワード生成部109は、例えば図9Aに示すように、選択キーワードKWtに対する他のキーワードKW1,KW2,…,KWnの関連度at1,at2,…,atnを算出する。ここで、関連度が0.4未満であれば、その関連度は小さい(関連度小)と見なされ、関連度が0.4以上0.7未満であれば、その関連度は中程度(関連度中)と見なされ、関連度が0.7以上であれば、その関連度は大きい(関連度大)と見なされる。
配分調整設定部113は、通常時には、つまり困惑タイプを取得しているときには、例えば図9Bに示すように、関連度大のキーワードの数が5つで、関連度中のキーワードの数が3つで、関連度小のキーワードの数が2つであることを示す関連度配分を設定する。
その結果、関連キーワード生成部109は、図9Aに示すキーワードの中から、未だ選択されていない、関連度大のキーワードを関連キーワードとして5つ選択し、関連度中のキーワードを関連キーワードとして3つ選択し、関連度小のキーワードを関連キーワードとして2つ選択する。即ち、関連キーワード生成部109は、図9Bに示すように、関連度大のキーワードKW1,KW2,KW3,KW4,KW5と、関連度中のキーワードKWi,KW(i+1),KW(i+2)と、関連度小のキーワードKWj,KW(j+1)とをそれぞれ関連キーワードとして選択する。
一方、配分調整設定部113は、困惑タイプB,Cを取得すると、例えば図9Cに示すように、関連度大のキーワードの数が8つで、関連度中のキーワードの数が1つで、関連度小のキーワードの数が1つであることを示す関連度配分を設定する。
その結果、関連キーワード生成部109は、図9Aに示すキーワードの中から、未だ選択されていない、関連度大のキーワードを関連キーワードとして8つ選択し、関連度中のキーワードを関連キーワードとして1つ選択し、関連度小のキーワードを関連キーワードとして1つ選択する。即ち、関連キーワード生成部109は、図9Cに示すように、関連度大のキーワードKW6,KW7,KW8,KW9,KW10,KW11,KW12,KW13と、関連度中のキーワードKW(i+3)と、関連度小のキーワードKW(j+2)とをそれぞれ関連キーワードとして選択する。
また、配分調整設定部113は、困惑タイプA,Dを取得すると、例えば図9Dに示すように、関連度大のキーワードの数が2つで、関連度中のキーワードの数が3つで、関連度小のキーワードの数が5つであることを示す関連度配分を設定する。
その結果、関連キーワード生成部109は、図9Aに示すキーワードの中から、未だ選択されていない、関連度大のキーワードを関連キーワードとして2つ選択し、関連度中のキーワードを関連キーワードとして3つ選択し、関連度小のキーワードを関連キーワードとして5つ選択する。即ち、関連キーワード生成部109は、図9Dに示すように、関連度大のキーワードKW6,KW7と、関連度中のキーワードKW(i+3),KW(i+4),KW(i+5)と、関連度小のキーワードKW(j+2),KW(j+3),KW(j+4),KW(j+5),KW(j+6)とをそれぞれ関連キーワードとして選択する。
このように本実施の形態では、困惑タイプに応じて関連度配分を調整することによって、ユーザの望む関連度の関連キーワードを数多く表示することができ、その結果、所望のコンテンツを容易に検索することができる。
図10は、本実施の形態におけるコンテンツ検索装置100の動作を示すフローチャートである。
まず、コンテンツ検索装置100は、対象コンテンツテーブル108aに示される複数のキーワードの中から、予め定められた方法に従って複数のキーワードを選択し、その選択した複数のキーワードを初期キーワードとして表示する(ステップS100)。
次に、コンテンツ検索装置100は、ユーザによる入力部112に対する操作結果に基づいて、コンテンツ(コンテンツ名)が選択されたか、キーワードが選択されたか、ヘルプボタンが選択されたかを判別する(ステップS102)。なお、ステップS100で複数の初期キーワードが表示された直後では、コンテンツ検索装置100は、その複数の初期キーワードのうちの何れかが選択されたと判別する。また、このような選択は、表示部111に表示されたコンテンツ名、初期キーワード、関連キーワード、およびヘルプボタンに対する、ユーザの入力部112への入力操作によって行われる。
ここで、コンテンツ検索装置100は、コンテンツが選択されたと判別すると(ステップS102のコンテンツ)、その選択されたコンテンツをサーバSvに要求して取得する(ステップS104)。そして、コンテンツ検索装置100はそのコンテンツを再生する(ステップS106)。
一方、コンテンツ検索装置100は、ステップS102で、キーワード(初期キーワードまたは関連キーワード)が選択されたと判別すると(ステップS102のキーワード)、その選択されたキーワードを選択キーワードとして選択キーワード記憶部103に格納する(ステップS108)。さらに、コンテンツ検索装置100は、その選択キーワードに対応するコンテンツ名などを対象コンテンツテーブル108aから選択する(ステップS126)。また、コンテンツ検索装置100は、関連度配分および対象コンテンツテーブル108aに基づいて、その選択キーワードに関連する関連キーワードを生成する(ステップS128)。そして、コンテンツ検索装置100は、ステップS126で選択されたコンテンツ名などと、ステップS128で生成された関連キーワードとを表示する(ステップS130)。
また、コンテンツ検索装置100は、ステップS102で、ヘルプボタンが選択されたと判別すると(ステップS102のヘルプボタン)、選択キーワード記憶部103に格納されている選択キーワードの数(キーワード数)を数え(ステップS110)、それらの選択キーワードの分散値を算出する(ステップS112)。そして、コンテンツ検索装置100は、ステップS110で数えられたキーワード数と、ステップS112で算出された分散値とに基づいて、コンテンツの検索に対するユーザの困惑タイプを特定する(ステップS114)。例えば、コンテンツ検索装置100は、4つの困惑タイプA、B,C,Dの中から何れかのタイプを特定する。
コンテンツ検索装置100は、ステップS114で特定された困惑タイプに基づいて、対象コンテンツテーブル108aを変更すべきか否かを判別する(ステップS116)。例えば、コンテンツ検索装置100は、ステップS114で特定された困惑タイプがB,Dである場合には、変更すべきと判別し、ステップS114で特定された困惑タイプがA,Cである場合には、変更すべきでないと判別する。
ここで、コンテンツ検索装置100は、対象コンテンツテーブル108aを変更すべきと判別すると(ステップS116のY)、対象コンテンツテーブル108aを変更する(ステップS118)。つまり、コンテンツ検索装置100は、コンテンツテーブル格納部108に格納されている複数のコンテンツテーブル108aの中から、プロファイル情報102aに応じたコンテンツテーブル108aを選択して、現在設定されている対象コンテンツテーブル108aを、その選択されたコンテンツテーブル108aに変更する。
さらに、コンテンツ検索装置100は、ステップS114で特定された困惑タイプに基づいて、関連度小の関連キーワードがより多く表示されるべきか否かを判別する(ステップS120)。言い換えれば、コンテンツ検索装置100は、現在設定されている関連度配分をどのように調整すべきかを判別する。つまり、コンテンツ検索装置100は、関連度小のキーワードがより多く配分されるように関連度配分を調整すべきか、逆に、関連度大の関連キーワードがより多く配分されるように関連度配分を調整すべきかを判別する。例えば、コンテンツ検索装置100は、ステップS114で特定された困惑タイプがA,Dである場合には、関連度小の関連キーワードがより多く表示されるべきと判別し、ステップS114で特定された困惑タイプがB,Cである場合には、関連度大の関連キーワードがより多く表示されるべきと判別する。
ここで、コンテンツ検索装置100は、関連度小の関連キーワードがより多く表示されるべきと判別すると(ステップS120のY)、関連度小のキーワードがより多く配分されるように関連度配分を調整する(ステップS122)。例えば、コンテンツ検索装置100は、現在設定されている関連度配分=(5,3,2)を、関連度配分=(2,3,5)に調整する。一方、コンテンツ検索装置100は、関連度大の関連キーワードがより多く表示されるべきと判別すると(ステップS120のN)、関連度大のキーワードがより多く配分されるように関連度配分を調整する(ステップS124)。例えば、コンテンツ検索装置100は、現在設定されている関連度配分=(5,3,2)を、関連度配分=(8,1,1)に調整する。
関連度配分を調整すると、コンテンツ検索装置100は、上述と同様に、最近の選択キーワードに対応するコンテンツ名を対象コンテンツテーブル108aから選択し(ステップS126)、その選択キーワードに関連する関連キーワードを生成する(ステップS128)。そして、コンテンツ検索装置100は、ステップS126で選択されたコンテンツ名と、ステップS128で生成された関連キーワードとを表示する(ステップS130)。
コンテンツ検索装置100は、ステップS130でコンテンツ名および関連キーワードが表示されると、再び、ステップS102からの処理を繰り返し実行する。
ここで、本実施の形態におけるコンテンツ検索装置100が、困惑タイプA,B,C,Dを特定する場合における具体的な動作について、以下、具体的な例を挙げて説明する。
図11は、コンテンツ行列の具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図11に示すように、コンテンツ行列を生成する。つまり、コンテンツ検索装置100は、最近(例えば提供期間が2006年1月〜6月)のコンテンツテーブル108aを対象コンテンツテーブルとして扱い、その対象コンテンツテーブル108aからコンテンツ行列を生成する。このコンテンツ行列では、対象コンテンツテーブル108aにより示される複数のキーワード(松下花子、松下太郎、京都、および時代劇など)がそれぞれ各行に対応し、対象コンテンツテーブル108aにより示される複数のコンテンツ属性が列C1,C2,C3,…にそれぞれ対応する。
図12は、各キーワードの関連度の具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図12に示すように、選択キーワード「松下花子」に対する各キーワードの関連度を、図11に示すコンテンツ行列を使って算出する。つまり、コンテンツ検索装置100は、図11に示すコンテンツ行列の各行を、各キーワードを表すキーワードベクトルとして扱う。そして、コンテンツ検索装置100は、選択キーワード「松下花子」を表すキーワードベクトルと、各キーワードを表すキーワードベクトルとのコサイン距離を算出することにより、各キーワードの関連度を算出する。
その結果、コンテンツ検索装置100は、キーワード「松下太郎、京都、時代劇、寺、サムライ、ドラマ、将軍、茶道、笛、戦争、夫婦、歴史、…」の関連度が0.7以上で大きく、キーワード「馬、バイク、アメリカ、…」の関連度が0.4以上0.7未満で中程度であり、キーワード「松下研治、青春、ギター、教師、クイズ、野球、…」の関連度が0.4未満で小さいことを把握する。
そして、コンテンツ検索装置100は、例えば初期状態の関連度配分=(3,1,1)を用いて、対象コンテンツテーブル108aに含まれる複数のキーワードの中から、関連度大の3つのキーワード「松下太郎、京都、時代劇」と、関連度中の1つのキーワード「馬」と、関連度小の1つのキーワード「松下研治」とを、関連キーワードとして選択する。コンテンツ検索装置100は、このように選択した5つの関連キーワードを表示する。
図13は、コンテンツ検索装置100によって表示されるコンテンツ名および関連キーワードの具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図13に示すように、最近の選択キーワード「松下花子」をキーワードとして含む3つのコンテンツ属性にあるコンテンツ名およびコンテンツ概要「コンテンツA:概要、コンテンツB:概要…、コンテンツC:概要…」と、その選択キーワード「松下花子」に関連する上述の5つの関連キーワード「松下太郎、京都、時代劇、馬、松下研治」と、ヘルプボタンHbとを表示する。
ここで、次のような状況を想定する。即ち、ユーザは、図13に示すように関連キーワードが表示されている状態で、これまで関連キーワード「ドラマ、サムライ」を既に選択しており、最近に関連キーワード「松下花子」を選択している。そして、ユーザは、このように表示された3つのコンテンツ名の中に所望のコンテンツ名を見つけることができず、且つ、表示された5つの関連キーワードの中にも所望のキーワードを見つけることができずに、困惑してしまい、入力部112を操作してヘルプボタンHbを選択する。
コンテンツ検索装置100は、ヘルプボタンHbが選択されると、選択キーワード記憶部103に記憶されている選択キーワード「ドラマ、サムライ、松下花子」の数を数え、それらの選択キーワード「ドラマ、サムライ、松下花子」の分散値を算出し、困惑タイプを特定する。例えば、コンテンツ検索装置100は、数えられたキーワード数「3」が閾値「5」よりも少なく、且つ算出された分散値「0.3」が閾値「0.5」よりも小さいと判断し、その結果、困惑タイプAを特定する。
ここで困惑タイプAについて詳細に説明する。
困惑タイプAは、選択キーワードの数が少なく、それらの選択キーワードの分散値が小さい場合に特定される。選択キーワードの分散値が小さいということは、ユーザが互いに関連度の大きい関連キーワードを選択していることを意味している。一般に、ユーザは、検索開始時には、最初に選択したキーワードに対して関連度の大きい関連キーワードを選択しながら、当初想定しているコンテンツを見つけようとする。よって、実際にユーザが関連度の大きい関連キーワードを選択しているということは、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成されるキーワード間の関連度とが一致していることを意味している。つまり、選択キーワードの分散値が小さい場合には、対象コンテンツテーブル108aを変更する必要がない。
そして、選択キーワードの数が少なく、それらの選択キーワードの分散値が小さい場合にユーザが困惑しているということは、ユーザが関連度の大きいキーワードによるコンテンツの検索を早々にあきらめて、関連度の小さいキーワードによるコンテンツの検索を望んでいることを意味する。仮に、ユーザが関連度の大きい関連キーワードによるコンテンツの検索をあきらめていなければ、選択キーワードの数は多くなるはずだからである。
上述のような例の場合、ユーザは互いに関連度の大きい関連キーワード「ドラマ、サムライ、松下花子」を選択しているが、その選択によって表示された関連度の大きい関連キーワード、例えば「松下太郎、京都、時代劇」などには、ユーザが想定している関連度の大きい関連キーワードが表示されていない。したがって、ユーザは、関連度の大きい関連キーワード、つまり自らが当初想定していた関連キーワードによるコンテンツの検索を早々にあきらめる。そして、ユーザは、関連度の小さい関連キーワードによるコンテンツの検索をしようとするが、そのような関連キーワードの表示数が少ないため、困惑してしまうのである。
したがって、困惑タイプAが特定される場合には、対象コンテンツテーブル108aを変更することなく、関連度小の関連キーワードを多く表示すれば、ユーザの困惑を解消することができる。
そこで、コンテンツ検索装置100は、困惑タイプAを特定すると、対象コンテンツテーブル108aを変更することなく、関連度配分を調整する。つまり、コンテンツ検索装置100は、関連度小のキーワードがより多く配分されるように関連度配分を調整する。例えば、コンテンツ検索装置100は、初期状態の関連度配分=(3,1,1)を、関連度配分=(1,2,2)に調整する。
そして、コンテンツ検索装置100は、調整された関連度配分に基づいて改めて関連キーワードを生成する。例えば、コンテンツ検索装置100は、関連度配分=(1,2,2)を用いて、図12に示すような、対象コンテンツテーブル108aに含まれる複数のキーワードの中から、関連度大の1つのキーワード「寺」と、関連度中の2つのキーワード「アメリカ、バイク」と、関連度小の2つのキーワード「ギター、教師」とを、関連キーワードとして選択する。コンテンツ検索装置100は、このように選択した5つの関連キーワードを表示する。
図14は、困惑タイプAが特定された後に表示される関連キーワードの具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図14に示すように、最近の選択キーワード「松下花子」に対応する3つのコンテンツ名およびコンテンツ概要「コンテンツA:概要、コンテンツB:概要…、コンテンツC:概要…」と、その選択キーワード「松下花子」に関連する5つの関連キーワード「寺、アメリカ、バイク、ギター、教師」と、ヘルプボタンHbとを表示する。
このように、関連度が小さい関連キーワード「ギター、教師」や関連度が中程度の関連キーワード「アメリカ、バイク」が多く表示されるため、ユーザはキーワード「松下花子」に対して関連度の小さいキーワード、つまりキーワード「松下花子」から観点の異なるキーワードを用いて、コンテンツを検索することができる。その結果、ユーザは、困惑を解消して所望のコンテンツを検索することができる。
ここで、さらに次のような状況を想定する。即ち、ユーザは、図13に示すように関連キーワードが表示されている状態で、これまで関連キーワード「ギター、青春」を既に選択しており、最近に関連キーワード「松下花子」を選択している。そして、ユーザは、表示された3つのコンテンツ名の中に所望のコンテンツ名を見つけることができず、且つ、表示された5つの関連キーワードの中にも所望のキーワードを見つけることができずに、困惑してしまい、入力部112を操作してヘルプボタンHbを選択する。
コンテンツ検索装置100は、ヘルプボタンHbが選択されると、選択キーワード記憶部103に記憶されている選択キーワード「ギター、青春、松下花子」の数を数え、それらの選択キーワード「ギター、青春、松下花子」の分散値を算出し、困惑タイプを特定する。例えば、コンテンツ検索装置100は、数えられたキーワード数「3」が閾値「5」よりも少なく、且つ算出された分散値「0.8」が閾値「0.5」よりも大きいと判断し、その結果、困惑タイプBを特定する。
ここで困惑タイプBについて詳細に説明する。
困惑タイプBは、選択キーワードの数が少なく、それらの選択キーワードの分散値が大きい場合に特定される。選択キーワードの分散値が大きいということは、ユーザが互いに関連度の小さい関連キーワードを選択していることを意味している。一般に、ユーザは、検索開始時には、最初に選択したキーワードに対して関連度の大きい関連キーワードを選択しながら、当初想定しているコンテンツを見つけようとする。ところが、実際にユーザが関連度の小さい関連キーワードを選択しているということは、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成されるキーワード間の関連度とが一致していないことを意味している。
したがって、ユーザの困惑を解消するため、選択キーワードの分散値が大きい場合には、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成される関連度とを一致させる必要がある。つまり、対象コンテンツテーブル108aを変更する必要がある。
そして、選択キーワードの数が少なく、それらの選択キーワードの分散値が大きい場合にユーザが困惑しているということは、ユーザは興味のあるコンテンツを思い浮かべている、つまり目的意識を持って検索を行っているが、関連度が大きいと自ら想定している関連キーワードの表示数が少なく、そのような関連キーワードが早々に多く表示されてほしいとユーザが望んでいることを意味する。仮に、ユーザが目的意識を持たずに検索を行っていれば、選択キーワードの数は多くなるはずだからである。
上述のような例の場合、ユーザは、互いに関連度の小さい関連キーワード「ギター、青春、松下花子」を、互いに関連度が大きい関連キーワードと思って選択している。そして、ユーザにとって関連度が大きいと想定される関連キーワードは、コンテンツ検索装置100では関連度が小さいと評価されているため、多く表示されていない。つまり、ユーザは、関連度が小さいと想定される関連キーワードばかりが表示されていると思い、困惑してしまうのである。
したがって、困惑タイプBが特定される場合には、対象コンテンツテーブル108aを変更して、関連度の大きい関連キーワードを多く表示すれば、ユーザの困惑を解消することができる。
そこで、コンテンツ検索装置100は、困惑タイプBを特定すると、対象コンテンツテーブル108aを変更するとともに、関連度配分を調整する。つまり、コンテンツ検索装置100は、プロファイル情報102aを用いて、選択キーワード「松下花子」が頻繁に現れる期間を特定し、その期間に対応したコンテンツテーブル108aを新たな対象コンテンツテーブルとする。例えば、コンテンツ検索装置100は、提供期間が2006年1月〜6月である最近のコンテンツテーブル108aから、提供期間が2004年1月〜6月であるコンテンツテーブル108aに、対象コンテンツテーブルを変更する。さらに、コンテンツ検索装置100は、関連度大のキーワードがより多く配分されるように関連度配分を調整する。例えば、コンテンツ検索装置100は、初期状態の関連度配分=(3,1,1)を、関連度配分=(4,1,0)に調整する。
本実施の形態では、このように、プロファイル情報102aに基づいて対象コンテンツテーブル108aが変更されるため、ユーザの想定している期間と、対象コンテンツテーブル108aの提供期間とが一致し、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成される関連度とを一致させることができる。
図15は、コンテンツ行列が変更される一例を示す図である。
コンテンツ検索装置100は、対象コンテンツテーブル108aを、「提供期間:2006年1月〜6月」のコンテンツテーブル108aから、「提供期間:2004年1月〜6月」のコンテンツテーブル108aに変更する。その結果、コンテンツ検索装置100は、新たな対象コンテンツテーブル108aに基づいて、コンテンツ行列を作り直す。さらに、コンテンツ検索装置100は、その作り直されたコンテンツ行列に基づいて、最近の選択キーワード「松下花子」に対する各キーワードの関連度を算出し直す。
図16は、各キーワードの関連度が算出し直される具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図16に示すように、選択キーワード「松下花子」に対する各キーワードの関連度を、図15に示す作り直されたコンテンツ行列を使って上述と同様に算出する。その結果、コンテンツ検索装置100は、キーワード「松下研治、教師、学校、恋愛、バイク、…」の関連度が0.7以上で大きく、キーワード「ギター、バスケットボール、靴、スペイン、…」の関連度が0.4以上0.7未満で中程度であり、キーワード「船、音楽、…」の関連度が0.4未満で小さいことを把握する。
そして、コンテンツ検索装置100は、調整された関連度配分=(4,1,0)を用いて、対象コンテンツテーブル108aに含まれる複数のキーワードの中から、関連度大の4つのキーワード「松下研治、教師、学校、恋愛」と、関連度中の1つのキーワード「スペイン」とを、関連キーワードとして選択する。コンテンツ検索装置100は、このように選択した5つの関連キーワードを表示する。
図17は、困惑タイプBが特定された後に表示される関連キーワードの具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図17に示すように、最近の選択キーワード「松下花子」に対応する3つのコンテンツ名およびコンテンツ概要「コンテンツA:概要、コンテンツB:概要…、コンテンツC:概要…」と、その選択キーワード「松下花子」に関連する5つの関連キーワード「松下研治、教師、学校、恋愛、スペイン」と、ヘルプボタンHbとを表示する。
このように、関連度が大きいとユーザが想定している多くの関連キーワード「松下研治、教師、学校、恋愛」が表示されるため、ユーザは所望の関連キーワードを簡単に選択して所望のコンテンツを容易に検索することができ、ユーザの困惑を解消することができる。
ここで、さらに次のような状況を想定する。即ち、ユーザは、図13に示すように関連キーワードが表示されている状態で、これまで関連キーワード「ドラマ、将軍、戦争、夫婦、歴史」を既に選択しており、最近に関連キーワード「松下花子」を選択している。そして、ユーザは、表示された3つのコンテンツ名の中に所望のコンテンツ名を見つけることができず、且つ、表示された5つの関連キーワードの中にも所望のキーワードを見つけることができずに、困惑してしまい、入力部112を操作してヘルプボタンHbを選択する。
コンテンツ検索装置100は、ヘルプボタンHbが選択されると、選択キーワード記憶部103に記憶されている選択キーワード「ドラマ、将軍、戦争、夫婦、歴史、松下花子」の数を数え、それらの選択キーワード「ドラマ、将軍、戦争、夫婦、歴史、松下花子」の分散値を算出し、困惑タイプを特定する。例えば、コンテンツ検索装置100は、数えられたキーワード数「6」が閾値「5」よりも多く、且つ算出された分散値「0.3」が閾値「0.5」よりも小さいと判断すると、困惑タイプCを特定する。
ここで困惑タイプCについて詳細に説明する。
困惑タイプCは、選択キーワードの数が多く、それらの選択キーワードの分散値が小さい場合に特定される。選択キーワードの分散値が小さいということは、ユーザが互いに関連度の大きい関連キーワードを選択していることを意味している。一般に、ユーザは、検索開始時には、最初に選択したキーワードに対して関連度の大きい関連キーワードを選択しながら、当初想定しているコンテンツを見つけようとする。よって、実際にユーザが関連度の大きい関連キーワードを選択しているということは、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成されるキーワード間の関連度とが一致していることを意味している。つまり、選択キーワードの分散値が小さい場合には、対象コンテンツテーブル108aを変更する必要がない。
そして、選択キーワードの数が多く、それらの選択キーワードの分散値が小さい場合にユーザが困惑しているということは、ユーザが関連度の大きいキーワードによるコンテンツの検索に固執していることを意味する。仮に、ユーザが関連度の大きい関連キーワードによるコンテンツの検索に固執していなければ、選択キーワードの数は少なくなるはずだからである。
例えば、上述のような例の場合、ユーザは互いに関連度の大きい関連キーワード「ドラマ、将軍、戦争、夫婦、歴史、松下花子」を選択しているが、見つけようとしているコンテンツに対して、ユーザが想定している関連度の大きい関連キーワードがなかなか表示されない。したがって、ユーザは、関連度の大きい関連キーワードの表示数が少ないために、困惑してしまうのである。
したがって、困惑タイプCが特定される場合には、対象コンテンツテーブル108aを変更することなく、関連度大の関連キーワードを多く表示すれば、ユーザの困惑を解消することができる。
そこで、コンテンツ検索装置100は、困惑タイプCを特定すると、対象コンテンツテーブル108aを変更することなく、関連度配分を調整する。つまり、コンテンツ検索装置100は、関連度大のキーワードがより多く配分されるように関連度配分を調整する。例えば、コンテンツ検索装置100は、初期状態の関連度配分=(3,1,1)を、関連度配分=(4,1,0)に調整する。
そして、コンテンツ検索装置100は、調整された関連度配分に基づいて改めて関連キーワードを生成する。例えば、コンテンツ検索装置100は、関連度配分=(4,1,0)を用いて、図12に示すような、対象コンテンツテーブル108aに含まれる複数のキーワードの中から、関連度大の4つのキーワード「寺、サムライ、茶道、笛」と、関連度中の1つのキーワード「アメリカ」とを、関連キーワードとして選択する。コンテンツ検索装置100は、このように選択した5つの関連キーワードを表示する。
図18は、困惑タイプCが特定された後に表示される関連キーワードの具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図18に示すように、最近の選択キーワード「松下花子」に対する3つのコンテンツ名およびコンテンツ概要「コンテンツA:概要、コンテンツB:概要…、コンテンツC:概要…」と、その選択キーワード「松下花子」に関連する5つの関連キーワード「寺、サムライ、茶道、笛、アメリカ」と、ヘルプボタンHbとを表示する。
このように、関連度が大きい多くの関連キーワード「寺、サムライ、茶道、笛」が表示されるため、ユーザは所望の関連キーワードを簡単に選択して所望のコンテンツを容易に検索することができ、ユーザの困惑を解消することができる。
ここで、さらに次のような状況を想定する。即ち、ユーザは、図13に示すように関連キーワードが表示されている状態で、これまで関連キーワード「クイズ、青春、ギター、野球、松下研治」を既に選択しており、最近に関連キーワード「松下花子」を選択している。そして、ユーザは、表示された3つのコンテンツ名の中に所望のコンテンツ名を見つけることができず、且つ、表示された5つの関連キーワードの中にも所望のキーワードを見つけることができずに、困惑してしまい、入力部112を操作してヘルプボタンHbを選択する。
コンテンツ検索装置100は、ヘルプボタンHbが選択されると、選択キーワード記憶部103に記憶されている選択キーワード「クイズ、青春、ギター、野球、松下研治、松下花子」の数を数え、それらの選択キーワード「クイズ、青春、ギター、野球、松下研治、松下花子」の分散値を算出し、困惑タイプを特定する。例えば、コンテンツ検索装置100は、数えられたキーワード数「6」が閾値「5」よりも多く、且つ算出された分散値「0.8」が閾値「0.5」よりも大きいと判断すると、困惑タイプDを特定する。
ここで困惑タイプDについて詳細に説明する。
困惑タイプDは、選択キーワードの数が多く、それらの選択キーワードの分散値が大きい場合に特定される。選択キーワードの分散値が大きいということは、ユーザが互いに関連度の小さい関連キーワードを選択していることを意味している。一般に、ユーザは、検索開始時には、最初に選択したキーワードに対して関連度の大きい関連キーワードを選択しながら、当初想定しているコンテンツを見つけようとする。ところが、実際にユーザが関連度の小さい関連キーワードを選択しているということは、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成されるキーワード間の関連度とが一致していないことを意味している。
したがって、ユーザの困惑を解消するため、選択キーワードの分散値が大きい場合には、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成される関連度とを一致させる必要がある。つまり、対象コンテンツテーブル108aを変更する必要がある。
そして、選択キーワードの数が多く、それらの選択キーワードの分散値が大きい場合にユーザが困惑しているということは、ユーザは興味のあるコンテンツを思い浮かべておらず、つまり目的意識を持って検索を行っておらず、関連度の小さい関連キーワードによる検索も含めて広い範囲でコンテンツを検索したいとユーザが望んでいることを意味する。仮に、ユーザが目的意識を持って検索を行っていれば、選択キーワードの数は少なくなるはずだからである。
上述のような例の場合、ユーザは、検索開始時には、互いに関連度の小さい関連キーワード「クイズ、青春、ギター」を、互いに関連度が大きい関連キーワードと思って選択している。そして、ユーザは、目的意識がなく、広い範囲でコンテンツを検索しようと思い、互いに関連度の小さい関連キーワード「野球、松下研治、松下花子」を継続して選択している。しかし、ユーザは、関連度の小さい関連キーワードが多く表示されず、広い範囲でコンテンツを検索することができないと思い、困惑してしまうのである。
したがって、困惑タイプDが特定される場合には、対象コンテンツテーブル108aを変更して、関連度の小さい関連キーワードを多く表示すれば、ユーザの困惑を解消することができる。
そこで、コンテンツ検索装置100は、困惑タイプDを特定すると、対象コンテンツテーブル108aを変更するとともに、関連度配分を調整する。コンテンツ検索装置100は、対象コンテンツテーブル108aを変更するときには、上述と同様、例えば図15に示すように、対象コンテンツテーブル108aを、「提供期間:2006年1月〜6月」のコンテンツテーブル108aから、「提供期間:2004年1月〜6月」のコンテンツテーブル108aに変更する。
本実施の形態では、このように、プロファイル情報102aに基づいて対象コンテンツテーブル108aが変更されるため、ユーザの想定している期間と、対象コンテンツテーブル108aの提供期間とが一致し、ユーザの想定しているキーワード間の関連度と、対象コンテンツテーブル108aによって形成される関連度とを一致させることができる。
さらに、コンテンツ検索装置100は、新たな対象コンテンツテーブル108aに基づいて、コンテンツ行列を作り直し、その作り直されたコンテンツ行列に基づいて、例えば図16に示すように、最近の選択キーワード「松下花子」に対する各キーワードの関連度を算出し直す。その結果、コンテンツ検索装置100は、キーワード「松下研治、教師、学校、恋愛、バイク、…」の関連度が0.7以上で大きく、キーワード「ギター、バスケットボール、靴、スペイン、…」の関連度が0.4以上0.7未満で中程度であり、キーワード「船、音楽、…」の関連度が0.4未満で小さいことを把握する。
また、コンテンツ検索装置100は、関連度配分を調整するときには、関連度小のキーワードがより多く配分されるように関連度配分を調整する。例えば、コンテンツ検索装置100は、初期状態の関連度配分=(3,1,1)を、関連度配分=(1,2,2)に調整する。
そして、コンテンツ検索装置100は、調整された関連度配分=(1,2,2)を用いて、図16に示すような、対象コンテンツテーブル108aに含まれる複数のキーワードの中から、関連度大の1つのキーワード「教師」と、関連度中の2つのキーワード「バスケットボール、靴」と、関連度小の2つのキーワード「船、音楽」とを、関連キーワードとして選択する。コンテンツ検索装置100は、このように選択した5つの関連キーワードを表示する。
図19は、困惑タイプDが特定された後に表示される関連キーワードの具体的な一例を示す図である。
コンテンツ検索装置100は、例えば図19に示すように、最近の選択キーワード「松下花子」を含む3つのコンテンツ名およびコンテンツ概要「コンテンツA:概要、コンテンツB:概要…、コンテンツC:概要…」と、その選択キーワード「松下花子」に関連する5つの関連キーワード「教師、バスケットボール、靴、船、音楽」と、ヘルプボタンHbとを表示する。
このように、関連度が小さいとユーザが想定している多くの関連キーワード「船、音楽」が表示されるため、ユーザは広い範囲で自らの興味を沸かせるコンテンツを検索することができ、ユーザの困惑を解消することができる。
以上、本実施の形態では、ユーザがコンテンツの検索に困惑したときには、困惑タイプを特定し、その困惑タイプに応じて、対象コンテンツテーブル108aを変更したり、関連度配分を調整したりする。その結果、コンテンツとキーワードとの間の関連性が変化するような場合であっても、ユーザの望む関連キーワードを適切に表示して、ユーザの望むコンテンツを容易に検索することができる。
また、本発明のコンテンツ検索装置について上記実施の形態を用いて説明したが、本発明はこの実施の形態に限定されるものではない。
例えば、本実施の形態では、ユーザによってヘルプボタンHbが選択されたときには、最近の選択キーワードに対する各キーワードの関連度を算出して関連キーワードを生成したが、最近の選択キーワード以外の他の選択キーワードに対する関連度を算出してもよい。また、選択キーワード記憶部103に格納されている全ての選択キーワードの中から代表となるキーワードを生成し、そのキーワードに対する関連度を算出してもよい。この場合、コンテンツ検索装置は、全ての選択キーワードのそれぞれを表すキーワードベクトルの重心を算出し、その重心に最も近いキーワードベクトルを特定する。そして、コンテンツ検索装置は、その特定されたキーワードベクトルに対する他のキーワードの関連度を算出して関連キーワードを生成する。
これにより、ユーザに困惑が生じた際に、最近の選択キーワードがユーザの望むキーワードでない場合であっても、ユーザが望むキーワードに関連する適切な関連キーワードを生成することができる。
また、本実施の形態では、出力生成部110は、入力判定部101からコンテンツIDを取得してそのコンテンツIDに対応するコンテンツを表示部111に出力したときに、プロファイル情報102aに視聴履歴を追加したが、コンテンツが一定時間以上再生されたときに、視聴履歴を追加してもよい。例えば、ユーザがコンテンツを選択して再生を開始させても、ユーザは、そのコンテンツの視聴によってそのコンテンツに興味がないと分かれば、その再生を途中で停止させてしまう。このような場合にも、プロファイル情報102aに視聴履歴を追加すると、そのプロファイル情報102aにユーザの嗜好が正確に反映されず、そのプロファイル情報102aを用いて適切な対象コンテンツテーブル108aを設定することができない。したがって、出力生成部110は、コンテンツを表示部111に出力し、そのコンテンツが一定時間以上再生された場合にのみ、そのコンテンツの視聴履歴をプロファイル情報102aに追加する。これによって、プロファイル情報102aの信頼性が増し、適切な対象コンテンツテーブル108aが設定され、ユーザの望む適切な関連キーワードを表示することができる。
また、本実施の形態では、コンテンツテーブル格納部108には、コンテンツテーブル108aのみを格納したが、そのコンテンツテーブル108aにより示されるコンテンツ属性に対応するコンテンツを格納しておいてもよい。
また、本実施の形態では、関連キーワード生成部109は、生成された全ての関連キーワードを出力生成部110に出力したが、その生成された全ての関連キーワードのうちの一部だけを出力生成部110に出力して表示させてもよい。例えば、関連キーワード生成部109は、選択キーワードの属性と同一の属性を有する関連キーワードのみを出力生成部110に出力する。選択キーワードの属性は、例えば、人名、場所または形容詞などである。また、その選択キーワードは、最近の選択キーワードであってもよく、最近の選択キーワード以外の、選択キーワード記憶部103に格納されている他の選択キーワードであってもよい。また、関連キーワード生成部109は、選択キーワード記憶部103に格納されている全ての選択キーワードの属性のうち出現頻度の高い属性と同一の属性を有する関連キーワードを出力してもよい。この場合、ユーザの望んでいる関連キーワードの属性が、その出現頻度の高い属性である可能性が高いため、ユーザの望むより適切な関連キーワードを表示することができる。
また、本実施の形態では、関連キーワード生成部109は、対象コンテンツテーブル108aからキーワードを選択して関連キーワードを生成するときには、既に生成されて表示された関連キーワードと同一のキーワードを選択せずに、他のキーワードを選択したが、同一のキーワードを選択してもよい。
また、本実施の形態では、コンテンツテーブル選択部114は、プロファイル情報102aにおいて、最近の選択キーワードが頻繁に現れる期間を特定し、その期間に対応するコンテンツテーブル108aを新たな対象コンテンツテーブルとして選択した。しかし、コンテンツテーブル選択部114は、プロファイル情報102aにおいて、その最近の選択キーワードが現れる最も新しい日時を特定し、その日時を含む期間に対応するコンテンツテーブル108aを新たな対象コンテンツテーブルとして選択してもよい。例えば、コンテンツテーブル選択部114は、最近の選択キーワードが「松下花子」であれば、プロファイル情報102aにおいて選択キーワード「松下花子」を含む視聴履歴属性を検索し、その視聴履歴属性に含まれる日時のうち最も新しい日時、例えば2005年3月10日を特定する。そして、コンテンツテーブル選択部114は、その2005年3月10日を含む提供期間「2005年1月〜6月」のコンテンツテーブル108aを新たな対象コンテンツテーブルとして選択する。
一般に、ユーザは、過去に視聴したテレビ番組などのコンテンツのうち、最近に視聴したコンテンツほどそのコンテンツを記憶している。したがって、プロファイル情報102aにおいて、選択キーワードが現れる最も新しい日時を含む期間に対応するコンテンツテーブル108aを対象コンテンツとすることで、ユーザの望む適切な関連キーワードを表示することができる。
また、本実施の形態では、関連度配分を調整したが、関連度配分の代わりに、関連度大、関連度中、および関連度小を区分するための閾値(上述の0.4や0.7)を調整してもよい。
また、本実施の形態では、ユーザの操作によってヘルプボタンHbが選択されたときに、ユーザの困惑を検出したが、例えば、関連キーワードの選択が行われない時間が一定時間以上継続したときに、ユーザの困惑を検出してもよい。
また、コンテンツ行列に含まれる要素に重み付けを行ってもよい。コンテンツに含まれるキーワードの中には、コンテンツの内容と密接に関連しているものと、関連が薄いものとが混在している場合がある。そこで、例えば、コンテンツ属性に含まれるキーワードの頻度等を用いてコンテンツ行列の要素に重み付けを行うことにより、キーワードがコンテンツの内容を表す上でどれだけの関連度を持っているかをコンテンツ行列に反映することができる。これにより、キーワード間の関連度を、よりコンテンツの内容に関連した値として算出することが可能になる。