以下、図面に基づいて本発明の実施の形態について説明する。なお以下の説明では、同一の部品については同一の符号を付すものとし、前記部品の名称や機能が同一である場合には、前記部品についての詳細な説明は繰り返さない。
<全体構成>
まず、本実施の形態に係るコンテンツ検索装置の全体構成について説明する。本実施の形態に係るコンテンツ検索装置は、キーワードに基づいて静止画像や動画像等のコンテンツの検索を行うための装置であって、代表的に、ハードディスクレコーダなどのような録画再生装置や、パーソナルコンピュータや、ワークステーションなどから構成されるコンピュータシステムによって実現される。そして、前記コンテンツ検索装置によって行われるコンテンツの検索処理は、ハードディスクレコーダなどのような録画再生装置、パーソナルコンピュータ、ワークステーションなどのコンピュータ上で実行されるソフトウェアによって実現される。以下では、コンテンツ検索装置の一例として、ハードディスクを備えた録画再生装置として機能するコンピュータやモニタ(ディスプレイ)などから構成されるコンピュータシステムについての説明を行う。
本実施の形態に係るコンテンツ検索装置は、実質的には、CPU(Central Processing Unit;中央処理装置)や記憶装置等のハードウェアと、当該CPUにより実行されるプログラムと、当該記憶装置に格納されるデータとにより実現される。図1はコンテンツ検索装置の一例としてのコンピュータシステム200のハードウェア構成を示す制御ブロック図である。
図1を参照して、このコンピュータシステム200は、光ディスクドライブ201および磁気ディスクドライブ202を有するコンピュータ220と、モニタ203と、リモートコントローラ204と、を含む。
コンピュータ220は、光ディスクドライブ201および磁気ディスクドライブ202に加えて、リモートコントローラ204からの信号を受信するリモートコントローラインターフェイス(リモコンI/F)205と、CPU206と、光ディスクドライブ201および磁気ディスクドライブ202に接続されたバス207と、バス207に接続されブートアッププログラム等を記憶するROM(Read Only Memory;読出専用メモリ)208と、同じくバス207に接続されてプログラム命令、システムプログラム、および作業データ等を記憶するRAM(Random Access Memory)209とを含む。
そして、図1に示すように、コンピュータ220は、さらにネットワーク250を介してコンテンツサーバ251への接続を提供するための通信インターフェイス213を備えている。また、コンピュータ220は、モニタ(ディスプレイ)203やプロジェクターなどの表示装置に、後述するキーワードやコンテンツ等を出力するための表示部インターフェイス214を備えている。
コンピュータ220にコンテンツ検索装置の機能を実現させるためのプログラムやその他の入力情報は、いずれも光ディスクドライブ201または磁気ディスクドライブ202に挿入される光ディスク210または磁気ディスク211に記憶され、さらにハードディスク212に転送される。または、プログラムや入力情報は図示しないネットワークを通じてコンピュータ220に送信され、ハードディスク212に記憶されてもよい。プログラムは実行の際にRAM209にロードされる。光ディスク210や磁気ディスク211から、またはネットワークを介して、直接にRAM209にプログラムをロードしてもよい。
このプログラムは、コンピュータ220に本実施の形態に係る検索装置の機能を実現させる複数の命令を含む。これらの機能を実現させるのに必要な基本的機能のいくつかはコンピュータ220上で動作するオペレーティングシステム(OS)またはサードパーティのプログラム、若しくはコンピュータ220にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施の形態に係る検索装置の機能を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能または「ツール」を呼出すことにより、上記した検索装置の制御を実行する命令のみを含んでいればよい。コンピュータ220の動作は周知であるので、ここでは繰り返さない。
なお、検索装置の機能を実現するためのプログラムやその他の入力情報が記録される記録媒体は、CD−ROM(Compact Disk-Read Only Memory)、MO(Magneto-Optical disc)、MD(Mini Disc)、およびDVD(Digital Versatile Disc)等の光ディスク210、FD(Flexible Disk)およびハードディスク等の磁気ディスク211などが挙げられる。しかし、当該記録媒体はこれらに限られるものではなく、磁気テープおよびカセットテープ等のテープ、IC(Integrated Circuit)カードおよび光カード等のカード型記録媒体、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、およびフラッシュROM等の半導体メモリなどであってもよい。ただし、コンピュータ220は、これらの記録媒体からプログラムの読み出しを行うための読出装置を実装する必要がある。
モニタ(ディスプレイ)203は、液晶パネルやCRTから構成されるものであって、表示部インターフェイス214を介して、CPU206などが出力した情報を表示する。
リモートコントローラ204は、赤外線などを介して、押下されたボタンに対応した信号をコンピュータ220へと送信するものであって、ユーザから情報を受け付ける。
RAM209は、各種の情報を記憶する。ROM208は、CPU206が実行するプログラムや実行のためのデータを記憶する。
ハードディスク212は、静止画像や動画像などのコンテンツのデータを記憶する大容量記憶装置である。
CPU206は、コンピュータ220の各要素を制御するものであって、各種の演算を実施する装置である。また、CPU206は、後述するように、コンテンツ検索処理等を行うものであって、当該処理結果を内部バス207を介してモニタ203やROM208やRAM209などに出力する。より詳細には、上記の各種処理は、たとえば、ROM208あるいはハードディスク212に格納された各種の処理手順(各種の画像処理用のアルゴリズム)に関するプログラムが一旦RAM209へと読み出され、読み出された前記プログラムがCPU206上で実行されることによって、実現されるものである。
通信インターフェイス213や表示部インターフェイス214は、CPU206が出力した情報を電気信号へと変換するものであって、CPU206が出力した情報をその他の装置が利用できる信号へと変換する装置でもある。また、通信インターフェイス213は、本実施の形態に係るコンピュータ220の外部から入力された情報を受信して、CPU206が利用できる情報に変換する装置でもある。表示部インターフェイス214には、必要に応じて、プリンタなどモニタ203以外の他の出力装置が接続され得る。
既に述べたように、本実施の形態に係るコンテンツ検索装置およびコンテンツ検索処理は、コンピュータハードウェア(CPU206)によって実行されるソフトウェアによって実現される。一般的にこうしたソフトウェアは、DVD210やディスク211などの記録媒体に格納されて、もしくはネットワークなどを介して流通する。そして、前記ソフトウェアは、光ディスクドライブ201や磁気ディスクドライブ202などにより前記記録媒体から読取られて、若しくは通信インターフェイス213にて受信されて、ハードディスク212に格納される。そして、ハードディスク212からRAM209に読出されて、CPU206により実行される。
<機能構成>
次に、本実施例に係るコンテンツ検索装置が有する各機能について説明する。図2は、本実施の形態に係るコンテンツ検索装置の機能構成を示す機能ブロック図である。本実施の形態においては、各種のコンテンツ検索処理機能がハードディスクレコーダ、パーソナルコンピュータおよびワークステーションなどのコンピュータ上で実行されるソフトウェアによって実現される構成としているが、各ブロックの機能や各ステップの処理をソフトウェアによって実現する代わりに、各ブロックを専用のハードウェア回路等によって実現してもよい。
図2に示すように、本実施の形態に係るコンテンツ検索装置は、表示部203−1と、入力部204−1と、受付部205−1と、記憶部212−1と、抽出部206−1と、検索部206−2と、関連度算出部206−3と、表示制御部206−4と、関連度更新部206−5と、優先度付与部206−6と、通信部213−1と、出力部214−1と、を備えて構成されている。そして、優先度付与部206−6は、判別部206−7を含む。また、記憶部212−1は、抽出記憶部212−2と、選択記憶部212−3とを含む。
具体的には、本実施の形態に係るコンテンツ検索装置は、利用者からのキーワード選択情報が入力される入力部204−1と、入力部204−1からの情報を受け取り、入力情報に応じて各処理部に情報を渡す受付部205−1と、検索用キーワードとキーワード間の関連度情報等のキーワード情報を記憶した記憶部212−1と、任意のキーワードと記憶部212−1に記憶されているキーワードとの関連度を算出する関連度算出部206−3と、記憶部212−1に記憶されている関連度などのキーワード情報に基づいてキーワードに優先度を付与する優先度付与部206−6と、優先度と記憶部212−1が記憶している関連度などのキーワード情報に基づいてキーワードの表示を制御する表示制御部206−4(出力部214−1)と、当該表示制御に基づき関連するキーワードを表示する表示部203−1と、指定されたキーワードに基づき検索を行うための検索式を作成して検索要求を行うとともに、当該検索要求に基づいて検索された検索結果を取得する検索部206−2と、利用者からのキーワード選択情報を格納する選択記憶部212−3(記憶部212−1)と、選択記憶部212−3(記憶部212−1)に格納されているキーワード選択情報に基づいて記憶部212−1に記憶されているキーワード間の関連度情報を更新する関連度更新部206−5を備えている。
以下、各機能について詳細に説明する。
まず、表示部203−1は、たとえばモニタ203によって実現され、コンピュータ220から出力される様々な情報をユーザに表示する。表示部203−1は、表示制御部206−4の制御に基づいて表示を行うものであって、前記出力部214−1から出力(表示)される第1または第2のキーワード群や前記コンテンツを示す情報に基づいて、前記キーワード群および前記コンテンツの概要情報やコンテンツ自体を表示する。表示部203−1は、コンピュータ220と別体の、当該コンピュータ220と接続されているモニタ(ディスプレイ)などによって実現されてもよい。また、ノート型のパーソナルコンピュータのように、表示部203−1が、コンピュータ220と一体的に構成されているモニタ(ディスプレイ)などによって実現されてもよい。すなわち、後述する出力部214−1が、表示部203−1の役割を兼ねる構成であってもよい。
入力部204−1は、たとえばリモートコントローラ204、(図示しない)キーボード、マウスのような複数のキー制御が可能なハードウェアなどによって実現されるものであって、ユーザからの様々な選択情報、要求情報、指定情報が入力される。
受付部205−1は、たとえばリモートコントローラインターフェイス205や、コンピュータ220自体に備えられている図示しない操作パネルなどによって実現されるものであって、ユーザからの第1のキーワード群の中の第1のキーワードの選択を受け付ける。また、受付部205−1は、コンテンツの選択および第2のキーワードのいずれかの選択を受け付ける。受付部205−1は、固定キーワードを出力する要求を受け付け、固定キーワードの選択を受け付ける。受付部205−1は、新たなキーワードの出力の要求を受け付け、当該キーワードの選択を受け付ける。
抽出部206−1と、検索部206−2と、関連度算出部206−3と、表示制御部206−4と、関連度更新部206−5と、優先度付与部206−6と、判別部206−7は、ハードディスク212からRAM209へと読み出されたプログラムがCPU206上で実行されることによって実現される。より詳細には、ハードディスク212に記憶されたプログラムが一旦RAM209へと読み出されて、CPU206がRAM209から前記プログラムを読み出しながら順次実行することによって、各々の機能が実現される。
このようにして、抽出部206−1は、前記記憶部212−1に記憶された前記複数の検索用キーワードの中から、複数の第1のキーワード(第1のキーワード群)を選択候補として抽出する。また、抽出部206−1は、前記第1のキーワードが選択されたときに、前記記憶部212−1に記憶された前記複数の検索用キーワードの中から、当該選択された第1のキーワードと他の検索用キーワードとの間の関連度に基づいて、前記複数の第1のキーワード(第1のキーワード群)と異なる複数の第2のキーワード(第2のキーワード群)を次回の選択候補として抽出し、抽出したキーワードを記憶部212−1(抽出記憶部212−2)に記憶する。抽出部206−1は、前記新たなキーワードの出力の要求に応じて、前記記憶部212−1から未出力のキーワードを抽出する。そして、抽出部206−1は、後述する優先度に基づいて第1または第2のキーワード群を抽出する。
検索部206−2は、ユーザによって選択された検索ボタンに対応するキーワードを記憶部212−1(選択記憶部212−3)に記憶して、当該キーワードに基づきコンテンツの検索を行うための検索式を作成し、検索要求を行う。つまり、検索部206−2は、前記第1のキーワードが選択されたときに、選択された第1のキーワードに基づいてコンテンツの検索を行う。検索部206−2は、前記第2のキーワードが選択されたときに、選択された第2のキーワードに基づいてコンテンツの検索を行う。検索部206−2は、検索されたコンテンツに関するメタ情報を抽出して、前記メタ情報に基づき前記コンテンツを示す情報(概要情報)を生成する構成であってもよい。この場合は、検索部206−2は、各前記キーワードに基づいて検索されたそれぞれのコンテンツが属すジャンルを取得して前記記憶部212−1に記憶する。
関連度算出部206−3は、前記検索部206−2による前記キーワードに基づくコンテンツの検索結果に基づいて前記検索キーワード間の関連度を算出する。関連度算出部206−3は、前記第1または第2のキーワードが選択されたときに、前記選択された第1または第2のキーワードと記憶部212−1に記憶されている他のキーワードとの間の関連度を算出する構成であってもよい。より詳細には、前記関連度算出部206−3は、検索部206−2によって求められる、1の前記キーワードと他の前記キーワードとの積検索の結果に基づいて、両キーワード間の関連度を算出する。関連度算出部206−3は、前記記憶部212−1を介して、前記キーワード毎の前記ジャンルの分布を取得して、1の前記キーワードのジャンルの分布と他の前記キーワードのジャンルの分布との相関関係に基づいて、両キーワード間の関連度を算出する構成であってもよい。
表示制御部206−4は、抽出されたキーワードに対応して生成された検索ボタンとコンテンツの検索結果情報の表示部における表示を制御する。表示制御部206−4は、抽出部206−1にて抽出されたキーワードでもって表示用の検索ボタンを生成し、出力部214−1を介して当該検索ボタンを表示部203−1に表示する。また、表示制御部206−4は、検索部206−2による検索結果から表示用の検索結果情報を作成する。
関連度更新部206−5は、前記第2のキーワードの選択に応じて、予め選択された前記第1キーワードと選択された前記第2のキーワードとの関連度を更新する。
判別部206−7は、各前記キーワードが複合語か否かを判別する。
優先度付与部206−6は、前記関連度と前記判別部による判別結果とに基づいて各前記キーワードに優先度を付与する。
記憶部212−1は、たとえばハードディスク212やRAM209などによって実現されるものであって、複数の検索用キーワードや当該検索用キーワード間の関連度やコンテンツなどを記憶する。記憶部212−1は、抽出記憶部212−2と選択記憶部212−3とを含む。抽出記憶部212−2は、抽出された複数の第1および第2のキーワード(第1および第2のキーワード群)を記憶する。選択記憶部212−3は、ユーザに選択された前記第1および第2のキーワードを記憶する。また、記憶部212−1は、複数の固定キーワードを記憶する。
通信部213−1は、通信インターフェイス213などによって実現され、ネットワーク250を介して前記選択されたキーワードに基づいて外部のコンテンツサーバ251に検索要求を行い、当該コンテンツサーバ251から検索結果を取得する。
出力部214−1は、表示部インターフェイス214などによって実現され、抽出部206−1によって抽出されたキーワード群(たとえば、第1キーワード群など)を示す情報(外部装置へ送信する電気信号やデータなどを含む。)を出力する。より詳細には、出力部214−1は、表示部インターフェイス214や、CPU206上で実行されるプログラムによって実現される表示制御部206−4などによって実現されるものである。出力部214−1は、前記第2のキーワード群を、各前記第2のキーワードと予め選択された前記第1のキーワードとの関連度を示す情報とともに表示させる。また、出力部214−1は、前記第1または第2のキーワード群を、各前記第1または第2のキーワードにて検索されたそれぞれのコンテンツが属すジャンルの分布に基づいて表示させる。そして、出力部214−1は、前記第1または第2のキーワード群を、各前記第1または第2のキーワードにて検索されたコンテンツの個数を示す情報とともに表示させる。
また、出力部214−1は、前記検索部206−2によって検索された前記コンテンツを示す情報(たとえば、コンテンツの概要情報や、コンテンツから抽出された画像や、コンテンツ自体を示す動画像データなどを含む。)および前記抽出部206−1によって抽出された前記複数の第2のキーワード(第2のキーワード群)を示す情報を出力し、前記コンテンツが選択されたときに、当該コンテンツ自体を再生して出力する。出力部214−1は、前記キーワードの各々に対応するボタンを表示させる。出力部214−1は、前記コンテンツの検索結果として、たとえば、それぞれのコンテンツの代表画面と概要情報とを出力する。また、出力部214−1は、出力要求を受け付けて、前記記憶部212−1から前記複数の固定キーワードを読み出して、前記複数の第1のキーワード(第1のキーワード群)として出力する。また、出力部214−1は、出力要求を受け付けて、未だ出力されていない(抽出されていない)キーワードを出力する。
<各処理部の詳細説明>
以下では、上記の各処理部についてのさらに詳細な説明を行う。関連度情報の算出には、利用者がキーワードを選択するたびに記憶部212−1に記憶されているキーワードとの関連度を算出する動的な算出方法と、あらかじめ記憶部212−1に記憶されているすべてのキーワード間の関連度を算出しておき、記憶部212−1に記憶しておく方法の2種類あり、どちらを利用するかは予めコンテンツ検索装置において設定されるものである。関連度情報の算出方法については後述する。
リモートコントローラ204にて実現される入力部204−1は、ユーザから入力情報を受け付ける。より詳細には、ユーザは、入力部204−1に、表示部203−1にて表示中のどの検索ボタンを選択したかという検索ボタン選択情報、検索結果一覧の表示中のどのコンテンツを選択したかというコンテンツ選択情報、関連度を算出するキーワード情報、表示中の検索ボタンとは別の検索ボタンを要求するキーワード要求情報、固定キーワードの表示を要求するキーワード要求情報等を入力する。関連度を算出するキーワード情報とは、あらかじめキーワード間の関連度を算出する際の対象キーワード一つずつの入力であり、システムによるキーワード入力である。
入力部204−1で、利用者からキーワード選択情報が入力されると、選択したキーワードに基づいて関連度情報が算出される。そして、当該選択されたキーワードとの関連度が高いキーワード群が抽出される。ただし、記憶している関連度情報をもとに関連度の高いキーワードが抽出される構成であってもよい。そして、記憶部212−2に記憶されている関連度情報を更新するか否かのいずれかを行う。入力部204−1に関連度を算出するためのキーワード情報が入力されると、入力されたキーワードと記憶部212−1に記憶されている各キーワードとの関連度を算出し、記憶部212−1に算出された関連度情報を記憶する。キーワード間の関連度を記憶している記憶部212−1に、キーワードを新たに追加する際にも同様に追加するキーワード情報が入力される。
入力部204−1にユーザからの入力情報が入力されると、リモートコントローラインターフェイス205にて実現される受付部205−1は、入力部204−1からの情報を受け取り、入力情報に応じて各処理部に情報を渡す。受付部205−1は、表示中のどの検索ボタンを選択したかという検索ボタン選択情報を受け取ると、選択された検索ボタンのキーワード情報を抽出部206−1と検索部206−2と記憶部212−1(選択記憶部212−3)と関連度算出部206−3とに渡す。そして、どのコンテンツを選択したかというコンテンツ選択情報を受け取ると、当該コンテンツ選択情報を出力部214−1に渡す。受付部205−1が、関連度を算出するキーワード情報を受け取ると、関連度算出部206−3に渡す。
抽出部206−1は、入力情報に基づき記憶部212−1から検索用のキーワードを抽出し、抽出したキーワードを記憶部212−1(抽出記憶部212−2)に記憶する。抽出したキーワードのうち、表示部203−1で検索ボタンが表示できる数だけ(図4の画面例203Aでは9個)出力部214−1に渡す。以下では、入力情報別に抽出部206−1の処理について説明する。選択された検索ボタンの選択情報が渡された場合、そのキーワードと所定の方法に基づきキーワードを抽出する。所定の方法については後ほど説明する。
検索部206−2は、キーワード情報を受け取ると、関連度算出方法に基づき検索を行うための検索式を作成し、検索要求を行う。検索式は、受け取ったキーワード情報と、記憶部212−1に記憶されているキーワード情報を元に作成する。詳細については後で説明する。検索部206−2は、検索式を元に行われた検索結果を取得して、関連度算出方法に基づき取得結果の中から必要な情報を記憶部212−1に格納する。
図3は記憶部212−1が格納するキーワードデータベースの一例を示すイメージ図である。関連度算出部206−3は、記憶部212−1を参照して、記憶している各キーワードについて、新たに受け取ったキーワード情報(または選択されたキーワード情報)との関連度情報が格納されているかどうかを判別する。図3に示すように、各キーワード毎に、他のキーワードとの関連度が格納されている。表中のキーワードである「スポーツ」は、「音楽」との関連度が20、「コンサート」との関連度が10、「野球」との関連度が50、「サッカー」との関連度が50、「釣り」との関連度が30となっている。関連度の値が高いほど、キーワード間の関連の度合いが大きいものとする。
関連度情報の他、キーワードの選択回数、キーワードが複合語かどうかの情報など、キーワード自身がもつ情報を格納していてもよい。受け取ったキーワード情報との関連度情報が既に記憶部212−1に格納されていれば、再度関連度を算出しなくともよい。格納されていなければ、関連度算出部206−3が、受け取ったキーワード情報と、記憶している各キーワードとの関連度を算出する。関連度の算出は、(予め)検索部206−2によってキーワード検索を行い、当該検索結果に基づいて関連度を算出するものである。関連度算出部206−3は、受け取ったキーワード情報を検索部206−2に渡す。
関連度算出部206−3は、記憶部212−1に関連度算出に必要な情報が格納されると、受け取ったキーワード情報と、記憶部212−1で記憶している各キーワードとの関連度を算出する。算出した関連度は、記憶部212−1に格納する。関連度算出部206−3は、記憶部212−1に受け取ったキーワード情報との関連度情報がすでに格納されていれば、受け取ったキーワード情報を優先度付与部206−6に渡す。
優先度付与部206−6は、優先度付与方法と、記憶部212−1に記憶されているキーワードの関連度情報と、関連度情報以外のキーワード情報とに基づいて、各キーワードに優先度を付与する。優先度付与方法については後で説明する。当該優先度付与情報は、表示制御部206−4に渡される。
表示制御部206−4は、優先度付与情報と、表示部203−1で表示できるキーワードの数にもとづき、表示するキーワードを決定して、所定の表示方法に基づいて表示の制御を行う。キーワード表示方法については後で説明する。表示するキーワードは、優先度の高いものから順に表示できるキーワードの数分だけ抽出する。表示部203−1は、表示制御部206−4の制御に基づき表示を行う。
記憶部212−1(抽出記憶部212−2)に抽出キーワードを格納する際は、一旦記憶部212−1(抽出記憶部212−2)内の抽出キーワードをクリアしてから格納する。また、抽出キーワードのうちどのキーワードを出力部214−1に渡して出力(表示)したのかを記憶しておく。つまり、抽出キーワードのうちどのキーワードを既にユーザに提示したかという情報を付与して記憶部212−1に記憶しておく。表示中の検索ボタンとは別の検索ボタンを要求するキーワード要求情報が渡された場合、記憶部212−1で記憶されているキーワードうち未提示のキーワードを表示する数だけ抽出する。抽出したキーワードは出力部214−1に渡され、抽出記憶部212−2では提示したことを記憶しておく。
受付部205−1が、利用者からのキーワード選択情報を受け取ると、記憶部212−1(選択記憶部212−3)にキーワードを格納する。受け取ったキーワード選択情報は、関連度更新部206−5に渡す。関連度更新部206−5は、受け取ったキーワード選択情報と、記憶部212−1(選択記憶部212−3)に記憶されている直前に選択されたキーワードとに基づき、記憶部212−1が記憶しているキーワード間の関連度情報を更新する。関連度情報の更新は、記憶部212−1でキーワード間の関連度を記憶している場合に、利用者のキーワード選択情報によって、記憶している関連度情報を更新するものである。関連度更新方法については後述する。
<抽出キーワードとコンテンツ検索結果の表示方法>
図4は本実施の形態に係るコンテンツ検索装置が表示する画面例203Aを示す図である。図4に示すように、モニタ203には、抽出部206−1によって抽出されたキーワードから生成された複数の検索ボタン301が表示されている。図4に示すように、本実施の形態に係るコンピュータ220は、9個の検索ボタンをモニタ203上に出力する。ユーザは、表示された検索ボタンの中から好みのキーワードの検索ボタンを選択することができる。ユーザによって検索ボタンが選択されると、選択されたキーワードで自動的に検索を行い、検索結果を画面右側に表示する。
より詳細には、図4に示す画面例203Aは、図示しない複数の第1のキーワード群の中からユーザが「ニュース」という第1のキーワードの検索ボタンを選択した直後の画面を示しているものである。つまり、画面例203Aに示す画面が表示される前には、モニタ203に「ニュース」というキーワード含む複数の第1のキーワード群が表示されていたことになる。当該複数の第1のキーワードは、後述するように、ユーザの嗜好度順に抽出されるものであってもよいし、固定キーワードであってもよい。
図4に示すように、「ニュース」が選択された後のモニタ203は、前の画面においてユーザにより「ニュース」というキーワードが選択されたことを示しており、直前に選択されたキーワード303である「ニュース」と、後述する所定の抽出方法によって抽出された複数の第2のキーワードの検索ボタン301を表示している。つまり、「ニュース」というキーワードを選択すると、「ニュース」という選択されたキーワード303とキーワードに基づいたコンテンツの検索結果情報302と、次回検索用の複数の第2のキーワードに対応する検索ボタン301とが共に表示される。
検索ボタン301は、出力部214−1(表示制御部206−4)がモニタ203上に表示するために生成したソフトウェアボタンである。本実施の形態に係るコンピュータ220は、ボタン選択によって次提示用キーワードの抽出要求と検索要求の両方を行う構成になっている。
ここでは、ユーザによる検索ボタンの選択決定の方法は特に限定しない。例えば、表示部がタッチセンサを備えている場合、目的の検索ボタンを直接タッチする操作によって選択する。コンテンツ検索装置が、十字方向にフォーカス移動制御可能な入力デバイス、たとえば図4に示すリモートコントローラ204Aを備えている場合、十字方向への操作によってキーワード毎の検索ボタンのフォーカスを移動させ、好みのキーワードの検索ボタンにフォーカスをあわせ、決定ボタン221の操作によって検索ボタンを選択する。
また、コンテンツ検索装置が1〜9までの数字キーを備えた入力デバイスを備えている場合、あらかじめ各検索ボタンに対して数字を一つずつ割り当てておき、好みのキーワードの数字キーを操作することによってボタン選択するという構成であってもよい。
また、一般的なパーソナルコンピュータにおけるマウス操作のように、表示画面上をポインタ移動とポインタ位置での決定操作(一般的なパーソナルコンピュータマウスのクリック操作)によって操作する入力デバイスを備えている場合、目的のキーワードの検索ボタンにポインタをあわせ、決定操作によってボタン選択するのでもよい。検索ボタンは、ボタンに限定するものではなく、選択操作によって次提示用キーワードの抽出要求と検索要求の両方とを行う機能を備えたものであればよい。例えばメニュー、リンクであってもよい。
ユーザによる検索ボタンの選択情報は、入力部204−1で受け付け、選択された検索ボタンのキーワードは記憶部212−1が記憶する。検索部206−2は、選択されたキーワードから検索式を作成し、検索要求を行う。そして、検索部206−2は検索結果を取得し、出力部214−1が表示部203−1にて表示するための検索結果情報302を作成する。
前述したように、抽出部206−1は、ユーザに提示される最初の(第1の)キーワードや、ユーザがキーワードを選択することによって次にユーザに提示される第2のキーワードの抽出を行う。抽出部206−1は、キーワードを抽出すると、抽出したキーワードを記憶部212−1に格納し、出力部214−1で表示用の検索ボタン301を生成する。出力部214−1が検索結果情報と検索ボタンの表示を制御する。
このように、本実施の形態に係るコンテンツ検索装置(コンピュータシステム200)においては、モニタ203にキーワードが提示されるので、ユーザがキーワードを入力する必要がなく検索操作が楽になる。そして、キーワードの選択操作はユーザが単純な操作でもって行えるので、キーボードを持たないような、入力デバイスが貧弱な機器においても有効である。提示キーワードが検索開始ボタンとなっているので、キーワードの決定と同時に検索要求を行うことができ、検索のための必要なステップが少なく、検索の繰り返しが容易なものとなる。検索結果が気に入らなければ、提示されている別のキーワードを選択するといった、次々と提示されるキーワードによって検索の繰り返しが容易なものとなる。
次回検索用の提示キーワードと検索結果を両方表示することによって、ユーザは、検索結果からコンテンツを選択するか、別の提示キーワードによって再度検索するかを、検索結果と提示キーワードを見比べながら選択することが可能なものとなる。
図4における画面例203Aにおいては、検索ボタン301が画面左側に、コンテンツの検索結果情報302が画面右側に表示されるように表示制御されているが、このような配置に限らない。画面例203Aでは、検索ボタン301を3×3の行列状に配置しているが、このような配置に限らない。図4に示すように、出力部214−1は、モニタ203上で、検索ボタン301とコンテンツの検索結果情報302とが重ならないように、左右もしくは上下などに並べて表示する。また、第1のキーワードに対応する検索ボタン301を、新しく生成された第2のキーワード(もしくは新たなキーワード)に対応する検索ボタン301に表示切替する際に、その前後で効果的な表示を行い、検索ボタンが新たなボタンに切り替わったことをわかりやすく表示してもよい。
<別のキーワードの要求>
図4に示すNEXTボタン304は、ユーザが提示中のキーワードとは別のキーワードを要求する際に選択するボタンである。このボタンが選択されると、出力部214−1は、抽出部206−1にて抽出されて記憶部212に格納されているキーワードのうち未だ未提示のキーワードを提示する数(検索ボタンの数)だけ出力する。そして、出力部214−1が表示部203−1を介して新たに提示したキーワードについては、記憶部212のデータベース上に記憶する。出力部214−1で表示用の検索ボタンを生成すると、出力部214−1は表示部203−1を介して現在の表示中の検索ボタンにかえて新しく生成された検索ボタンを表示する。このとき、検索結果の表示方法については限定しない。検索ボタンの表示を変更する前後において、検索結果の表示を変更しない構成であってもよいし、別の(新たな)検索結果を表示する構成であってもよい。
このように、表示部203−1を介して提示されたキーワードの中に、ユーザが所望する適切なキーワードがない場合、ユーザは簡単に別の(新たな)キーワードに切り替えることができる。つまり、ユーザは、テンポ良く、次々と新たな検索キーワードを提示させて、新たな検索を実行することができる。
<固定キーワードの要求>
図4に示すGENREボタン305は、ユーザが固定キーワードの出力を要求する際に選択するボタンである。固定キーワードとは、前回提示したキーワードや嗜好度、関連度等によらず、ユーザからの呼び出し要求(固定キーワードに対応する検索ボタンの出力の要求)に従って提示されるキーワードであって、あらかじめ定められたキーワードのことをいう。
記憶部212−1は、それぞれの検索用キーワードを、固定キーワードであるか否かの情報と共に記憶している。ユーザによってGENREボタン305が選択されると、抽出部206−1は、記憶部212−1から固定キーワードを抽出する。出力部214−1で表示用の検索ボタンを生成すると、出力部214−1は表示部203−1を介して現在の表示中の検索ボタンにかえて新しく生成された検索ボタンを表示する。コンテンツの検索結果の表示方法については限定しない。検索ボタン301の表示を変更する前後において、コンテンツの検索結果の表示を変更しない構成であってもよいし、新たなコンテンツの検索結果を表示する構成であってもよい。
抽出部206−1が、ユーザが前回選択したキーワードに関連したキーワードを抽出する構成の場合には、ユーザが検索用キーワードを繰り返し選択しているうちに、表示部203−1によって提示されるキーワードがある一部の分野に偏る場合がある。また、繰り返し検索しているうちに、ユーザの検索意図が移り変わり、現在提示されているキーワード群と関連しない、全く別の分野のキーワードで検索したくなる場合も考えられる。この場合に、前回の選択キーワードによらず、ユーザの所望のタイミングにて、予め設定された固定キーワードを提示キーワードとして提示することにより、別の分野での検索に移りやすくする。
固定キーワードは、限定しないが、例えば、シソーラス階層において上位層のキーワード、もしくは言語的な意味によって階層化されたキーワードのうち上位層のキーワード、コンテンツを分類するカテゴリ名、分野名、ジャンル名等に利用されるキーワードにするとなおよい。
<コンテンツの閲覧方法>
次に、コンテンツの検索結果画面から目的のコンテンツを閲覧する方法を説明する。検索部206−2は、コンテンツデータもしくはコンテンツデータに付与されたコンテンツメタ情報等を取得する。コンテンツメタ情報を取得した場合、出力部214−1は、取得したコンテンツメタ情報から検索結果を表示するに必要なデータ、つまり各コンテンツをそれぞれ特徴づけるデータを抽出し、表示情報を作成する。抽出されるデータの例として、コンテンツのタイトル、作者、概要説明、ジャンル、キーワード、出演者、サムネイル画像等の画像、ダイジェスト映像、閲覧にかかる料金等が上げられる。抽出したデータは、データの形式に基づいて表示情報を作成する。
<関連度算出方法>
次に、関連度算出部206−3で行う、関連度算出方法について説明する。関連度の算出は、任意のキーワードと、記憶部212−1が記憶している各キーワードとの関連度を算出することによって行う。より詳細には、関連度の算出は、検索部206−2がキーワードに基づいた検索を行い、関連度算出部206−3が検索結果に基づいた関連度を算出することによって行なう。以下では、数種類の関連度算出方法について説明する。たとえば、任意のキーワードと他の各キーワードとのAND検索(積検索)数によって算出する方法や、任意のキーワードと他の各キーワードとに基づいてコンテンツの検索を行なって得られたコンテンツのそれぞれが属すジャンルの分布度合いの一致度などによって算出する方法がある。
ここではまず、任意のキーワードと他の各キーワードとのAND検索数(条件に該当するコンテンツの数)によって関連度を算出する方法について説明する。検索部206−2は、任意のキーワードと、記憶部212−1が記憶している各キーワードでキーワード検索を行うための検索式を作成し、検索要求を行う。キーワードの単独の検索と、任意のキーワードと各キーワードとのAND検索を行うための検索式を作成する。キーワードAとキーワードBのAND検索とは、キーワードAとキーワードBとが両方含まれるコンテンツを検索することをいう。検索要求に従い検索を行うと、検索部206−2は検索結果を取得する。検索部206−2は、取得した検索結果から必要な情報を抽出し、記憶部212−1に格納する。AND検索数(AND検索によってヒットしたコンテンツの個数または件数)によって関連度を算出する場合、検索数(コンテンツの個数)を格納する。
図5は記憶部212−1における検索結果の格納例を示すイメージ図である。図5に示す例では、任意のキーワードを「ニュース」とし、記憶部212−1に記憶されている他の各キーワードを「スポーツ」、「音楽」、「コンサート」、「野球」、「サッカー」、「釣り」などとする。そして、各キーワードについて、単独の検索数と、「ニュース」とのAND検索数を格納している。従って、検索部206−2では、「ニュース」と「スポーツ」、「ニュース」と「音楽」、「ニュース」と「コンサート」、といった、任意のキーワードと各キーワードとのAND検索を行うための検索式と、「スポーツ」、「音楽」、「コンサート」といった単独のキーワード検索を行うための検索式を作成し、検索要求を行う。検索部206−2は、各検索結果に基づき、検索数(検索によってヒットしたコンテンツの個数)を格納する。検索数が格納されると、関連度算出部206−3は、任意のキーワード(この場合「ニュース」)との関連度を算出する。任意のキーワードと単語A(他の各キーワード)との間の関連度算出式の一例を以下に示す。
(単語Aの関連度)=(任意のキーワードと単語AとのAND検索数)/(単語Aの単独の検索数)
算出した関連度情報を、記憶部212−1に格納する。上記算出式にて算出した関連度情報の例を図5の右列に示す。各キーワードについて「ニュース」との関連度を格納している。AND検索数が多いものほど、キーワードが共に出現するコンテンツが多いということで、キーワード間の関連性が高いといえる。よって、AND検索数からキーワード間の関連度情報を付与することが可能である。関連度の算出式は、AND検索数が多いキーワードほどキーワード間の関連度情報が高くなるように定義するとよい。また、単独の検索数が多くなると、AND検索数もそれに伴い多くなることから、先に示した算出式では単語Aの単独の検索数で割ることによって、単独の検索数によらない関連度が算出可能になる。
関連度の算出は、利用者によってキーワードが選択されたときなどの選択情報が入力されたときに、選択キーワードと記憶部212−1に記憶されている各キーワードとの組み合わせでAND検索を行い、関連度を動的に求める構成であってもよい。また、あらかじめ記憶部212−1に記憶されている各キーワードについて全ての組み合わせのAND検索を行い、関連度を算出し、図3に示すように記憶部212−1にデータベースとして格納しておくといった構成であってもよい。あらかじめ関連度を算出し、記憶部212−1に格納しておくと、選択キーワードが入力されるたびに検索を行う必要がないので、高速に関連キーワードを抽出することができる。
加えて、あらかじめ全てのキーワード間の関連度を算出し、当該関連度を記憶部212−1に格納しておき、記憶部212−1に格納されていないキーワードが入力された際に、動的に当該キーワードに関する全ての関連度を算出するという方法でもよい。新たに算出した関連度は、入力されたキーワードと共に、図3に示すような記憶部212−1の関連度テーブル(キーワードデータベース)に格納する。
このように、記憶部212−1に格納されていないキーワードが入力された際に、動的に関連度を算出できる方法だと、辞書にないキーワードについて、他のキーワードとの関連度を同様に算出し、辞書に追加することが可能である(この場合の辞書とは、本実施の形態の場合には、記憶部212−1に格納されている辞書データベースなどをいう。)。従来例にあるような固定的な関連度辞書を用いる方法では、単語を追加する際には辞書を作り直し、古い辞書と差し替えるしかないが、本実施の形態における関連度付与方法を採用した場合には、辞書にないキーワードに対しても新たに関連語を抽出することが可能となり、また算出した関連度を辞書に追加することが可能である。
AND検索数を求める際には、2つのキーワードに基づいてAND検索を行い、その検索結果としての該当コンテンツ数をAND検索数としたが、そのような方法には限らない。たとえば、各キーワードの単独の検索結果のうち検索順位が上位N位までのコンテンツにおいて、互いのキーワードに共通して検索されたコンテンツ数をAND検索数としてもよい。例えば、「ニュース」と「スポーツ」のAND検索数を求める例で説明する。「ニュース」と、「スポーツ」のそれぞれ単独でキーワード検索を行い、上位N位までの検索コンテンツをそれぞれ抽出し、互いに共通するコンテンツM個をAND検索数とする。そして、この場合には、前記M(個)を前記N(位)で除したものを関連度とする構成であってもよい。
検索コンテンツの中で共通するコンテンツがあるということは、そのコンテンツには両キーワードが出現するということであり、キーワードのAND検索を行う方法と同じく、キーワードが共に出現するコンテンツが多いほどAND検索数が多くなる。本手法では、2つのキーワードに基づいたAND検索を行わなくてもよいので、AND検索数を求めるために必要な検索回数が少なくてすむ。また、検索結果の順位づけが上位のコンテンツほど該キーワードにより関連するコンテンツ、例えば、該キーワードの出現回数が多いコンテンツ、該キーワードがコンテンツのタイトルや見出し等で利用されるなど当該キーワードがコンテンツのなかで重要なキーワードとなっているコンテンツ、などが上位になるように順位づけがなされている場合、上位N位のコンテンツを利用するということは、両キーワードにより関連するコンテンツ同士からAND検索数を算出するということであり、AND検索数の算出に適しているといえる。
<関連度算出方法の変形例>
任意のキーワードと、各キーワードで検索し、得られたコンテンツのそれぞれが属すジャンルの分布度合いの一致度によって算出する方法を説明する。検索部206−2は、任意のキーワードと、記憶部212−1が記憶している各キーワードでそれぞれ単独のキーワード検索を行うための検索式を作成し、検索要求を行う。検索要求に従い検索を行うと、検索部206−2は検索結果を取得する。検索部206−2は、取得した検索結果から必要な情報を抽出し、記憶部212−1に格納する。検索部206−2は、必要な情報として、取得した検索コンテンツのそれぞれが属すジャンルの分布を格納する。
この場合は、検索対象となるコンテンツは、コンテンツの特徴に応じて分野もしくはジャンルなどに分類されているものとなる。類似するコンテンツは、同じ分野もしくはジャンルに分類される。例えば、コンテンツが動画コンテンツの場合、「映画」、「ドラマ」、「音楽」、「趣味」、「ビジネス」、「お笑い」などのジャンルが考えられる。
図6は記憶部212−1における検索結果の第2の格納例を示すイメージ図である。検索部206−2は、キーワードに基づく検索によって得られたコンテンツのそれぞれがどのジャンルに属すかを調べる。そして、検索部206−2は、キーワード毎に検索されたそれぞれコンテンツに関し、各ジャンルに属すコンテンツが何件あるかカウントする。図6に示すように、検索部206−2は、カウント結果を記憶部212−1に記憶する。「スポーツ」などのキーワードで検索し、得られたコンテンツのジャンル分布数が格納されている。この場合、各分布数は、各分布数を全部足した値が10になるように正規化した値を格納する。
例えば、任意のキーワードが「ニュース」の場合、同様に分布数を格納し、「ニュース」のジャンル分布度合いと、他のキーワードのジャンル分布度合いの一致度を算出する。一致度の算出は、それぞれのジャンル分布数をベクトル化し、当該ベクトルに基づく演算を施すことによって算出する。たとえば、関連度算出部206−3が、キーワード間の、それぞれのジャンル分布の相関関係を示す値(一致度など)を算出するのである。
具体的には、図6に示すように、「ニュース」というキーワードにて検索されたそれぞれのコンテンツが属すジャンルをジャンル毎にカウントする。その結果、当該キーワードに対応するベクトルは、それぞれのジャンルを基底ベクトルとして、たとえば(映画,ドラマ,音楽,趣味,ビジネス,お笑い)=(1,1,2,1,4,1)のように算出される。他の各キーワードについても同様にベクトル化し、ニュースのベクトルとの内積もしくは距離を一致度として算出する。そして、算出した一致度を示す情報を関連度とするのである。「ニュース」と「スポーツ」の一致度を両ベクトルの距離から算出すると、
(1−1)2+(1−1)2+(2−0)2+(1−6)2+(4−1)2+(1−1)2=38
となる。
そして、算出した一致度(距離の平方)を記憶部212−1に格納し、当該一致度(相関関係)に基づいて関連度を算出して記憶部212−1に格納する。このように、相関関係として上記のような一致度が算出される場合には、当該一致度が大きい(距離が長い)ほど相関は小さく、当該一致度が小さい(距離が短い)ほど相関は大きいといえる。つまり、関連度算出部206−3は、キーワード間の当該一致度が大きいときほど(相関が小さいときほど)低い関連度を設定し、当該一致度が小さいときほど(相関が大きいときほど)高い関連度を設定する(記憶部212−1に格納する)。
検索コンテンツのジャンル分布の一致度合いが大きいキーワードほど、同ジャンルに属すコンテンツが多いということから、キーワードの関連度が高いといえる。従って、先に算出した、ベクトル距離でもって算出された関連度は小さいほどキーワード間の関連度が大きいといえる。
本算出方法においても、先に述べた算出方法と同様、利用者によってキーワードが選択されたときなどの選択情報が入力されたときに検索を行い、関連度を動的に求める構成であっても良いし、あらかじめ記憶部212−1に記憶されているキーワードで検索を行って、全ての組み合わせの関連度を算出しておく構成であってもよい。そして、あらかじめ関連度を算出して記憶部212−1に格納しておき、記憶部212−1に格納されていないキーワードが入力された際に、動的に関連度を算出するという方法でもよい。このとき、ジャンル分布度合い、つまり各ジャンルにコンテンツが属す個数を記憶しておくと、新規キーワード入力された際には新規キーワードの検索を1回おこなえばよいことになる。新たに算出した関連度は、入力キーワードと共に、図3に示すような記憶部212−1の関連度テーブル(キーワードデータベース)に格納する。
<関連度算出方法の第2の変形例>
他の関連度算出方法を説明する。任意のキーワードで検索し、得られたコンテンツのコンテンツメタ情報の中に記憶部212−1の各キーワードがどれだけ含まれるかによって関連度を算出してもよい。検索部206−2は、任意のキーワード単独でキーワード検索を行うための検索式を作成して検索要求を行い、検索結果を取得する。取得したコンテンツのコンテンツメタ情報に記憶部212−1の各キーワードが含まれるかどうかを判断し、その結果を記憶部212−1に格納する。任意のキーワードでキーワード検索したコンテンツに含まれるキーワードは、任意のキーワードとの関連があるとみなし、キーワードが含まれるかどうかの判断結果から関連度を算出することが可能である。検索結果であるコンテンツ(コンテンツのメタ情報)に含まれているキーワードなどの出現回数をカウントし、当該出現回数を格納しておいてもよい。この場合、当該出現回数を示す情報を関連度とし、出現回数が多いほど関連度合いが大きいものとする。
コンテンツメタ情報のうちのいずれの情報(どの種類の情報)にキーワードが含まれるかによって関連度を決定してもよい。例えば、コンテンツメタ情報が、タイトル、サブタイトル、ジャンル情報、コンテンツ詳細説明情報等からなる場合、キーワードが、タイトルに含まれるか、ジャンル情報に含まれるか、コンテンツ詳細説明情報に含まれるかによって関連度を変えても良い。タイトルやジャンル情報は、コンテンツの特徴をより捉えているとみなし、タイトルやジャンル情報に含まれるキーワードは、コンテンツ詳細説明情報のみに含まれるキーワードよりも関連度を大きく設定してもよい。タイトルやジャンル情報に含まれる場合は、ある任意の重みを設定し、出現回数に当該重み分を加えたものを関連度として格納してもよい。この場合、出現回数が多いほど、さらに、タイトルやジャンル情報に含まれる回数が多いほど関連度合いが大きくなる。
以上、関連度を算出する方法についての例を説明した。検索対象のコンテンツを一旦検索し、検索結果から関連度を算出するといった関連度付けは、検索対象ごとに行うことができることから、検索対象に応じた関連度づけが可能である。つまり、検索対象に応じて、関連度の高いキーワードを抽出可能であるといえる。さらに、キーワードが新しく追加されても関連度情報をそのつど付与することが可能である。
<関連度更新方法>
次に、関連度更新部206−5で行う、関連度の更新方法について説明する。関連度更新部206−5は、受け取ったキーワード選択情報と、記憶部212−1(選択記憶部212−3)に記憶されている直前の選択キーワードに基づき、記憶部212−1が記憶しているキーワード間の関連度情報を更新する。記憶部212−1(選択記憶部212−3)には、利用者が選択したキーワード順に格納しているとする。関連度情報の更新は、記憶部212−1でキーワード間の関連度を記憶している場合に、利用者のキーワード選択によって、記憶している関連度情報を更新するものである。
例えば、図4に示すように、「ニュース」を選択した直後に関連キーワードとして抽出され表示されたキーワードのうち、利用者が「芸能情報」というキーワードを選択したとする。利用者が「芸能情報」を選択したということは、利用者にとって「ニュース」と「芸能情報」は関連度が高いとみなしているということになる。このとき、「ニュース」と「芸能情報」の関連度情報を以前よりも関連度が大きくなるように更新する。記憶部212−1で記憶している「ニュース」と「芸能情報」の関連度の値に加算し、新たな関連度の値に差し替える。従って、利用者によって選択されたキーワードとその直前に選択されたキーワードとの関連度が以前よりも大きくなるように更新する。
図7は記憶部212−1におけるキーワードと関連度との格納例を示すイメージ図である。図7に示すように、「ライブ」に対する関連度として、「音楽ライブ」が50、「お笑いライブ」が50、「コントライブ」が35、「コンサートツアー」が30、「ライブビデオ」が30が定義されており、「ライブ」を選択した直後に関連キーワードが関連度順に「音楽ライブ」、「お笑いライブ」、「コントライブ」と表示されたとする。関連度の値は、大きいものほど関連度が大きいとする。
このとき、利用者が「音楽ライブ」を選択したとすると、利用者にとって、「ライブ」と「音楽ライブ」の関連度が高いとみなしているということがわかる。このことから、「音楽ライブ」との関連度を今の関連度の値、すなわち50に加算する。どれぐらい加算するかは定義しないが、例えば、10加算するとすると、50+10=60の、60を更新後の値として差し替える。これにより、「ライブ」と「音楽ライブ」の関連度が大きくなり(更新され)、「ライブ」の関連キーワードとして抽出されやすくなる。
同時に、「音楽ライブ」に関連度の高いキーワードとの関連度も更新してもよい。「音楽ライブ」と関連度の高いキーワードとして、「コンサートツアー」、「ライブビデオ」が上げられる。「ライブ」の「コンサートツアー」との関連度、「ライブ」の「ライブビデオ」との関連度を、以前よりも大きくなるように更新してもよい。「音楽ライブ」を選択する前は、「ライブ」の「コンサートツアー」との関連度は30であるが、「音楽ライブ」が選択されたことにより、「ライブ」の「コンサートツアー」との関連度も30に加算する。どれぐらい加算するかは定義しないが、例えば、10加算するとすると、30+10=40の、40を更新する値として差し替える。これにより、「ライブ」と「コンサートツアー」の関連度が大きくなり、「コントライブ」(関連度35)よりも「ライブ」の関連キーワードとして抽出されやすくなる。
以上まとめると、「ライブ」から「音楽ライブ」が選択されたことにより、「音楽ライブ」と関連度の高いキーワード「コンサートツアー」、「ライブビデオ」とも関連度が大きいとみなし、関連度を更新する。従って、利用者によって選択されたキーワードに関連度の高いキーワードと、直前に選択されたキーワードとの関連度が大きくなるように更新する。このようにして、利用者が選択したキーワードに関連するキーワードがより抽出されやすくする。ここで、「ライブ」の後に「音楽ライブ」が選択された場合には、「ライブ」における「音楽ライブ」に対する関連度(図7の右上)のみを更新してもよいし、逆に、「音楽ライブ」における「ライブ」に対する関連度(図7の左下)のみを更新してもよい。
以上のようにして、あらかじめ算出した関連度情報を、利用者のキーワードの選択遷移によって更新することで、利用者に適した関連キーワードが抽出されやすくなる。利用者の検索意図は、利用者やその時々によって多様であることから、関連度情報を更新できるしくみは重要である。
<優先度付与方法>
優先度付与部206−6で行う、優先度付与方法について説明する。優先度付与部206−6は、優先度付与方法と、記憶部212−1に記憶されている検索用キーワードとの関連度情報と、関連度情報以外のキーワード情報とに基づいて、キーワードに優先度を付与する。優先度を付与して表示制御部206−4に渡す。優先度付与方法には、たとえば、選択したキーワードとの関連度の値順に優先度を付与する方法と、各キーワードが、選択したキーワードを含む複合語か単語かを判別し、判別情報に基づき優先度を変更する方法とが挙げられる。
関連度の値順に優先度を付与する方法を、図5を用いて説明すると、「ニュース」が選択されたキーワードとして入力され、「ニュース」との関連度が表に示すように算出されたとすると、関連度の大きい順、この場合値の大きい順に優先度を付与する。「スポーツ」、「音楽」、「野球」、「コンサート」、の順に抽出される。優先度付与部206−6では、まず関連度の値順に優先度を付与し、その後で優先度を変更する。
各キーワードが、選択したキーワードを含む複合語か単語かを判別し、判別情報に基づき優先度を変更する方法を説明する。関連度が算出された際に、関連度の高いキーワードが選択したキーワードを含む複合語ばかりになると、提示するキーワードの分野が偏り、利用者が選択しにくいことが考えられる。
例えば、「ニュース」が選択されたキーワードとして入力され、関連度が算出され、関連度の大きい順に、「スポーツニュース」、「国際ニュース」、「株ニュース」、「海外ニュース」、「経済ニュース」、「スキャンダル」、「天気」、というように算出されたとする。関連度順に優先度を付与すると、「スポーツニュース」、「国際ニュース」、「株ニュース」、「海外ニュース」、「経済ニュース」というように、「ニュース」の複合語ばかりが並び、提示キーワードの分野が偏る。このように、提示キーワードの分野が偏ると、利用者が選択しにくいことが考えられる。
そのため、本実施の形態に係るコンテンツ検索装置においては、各キーワードが選択キーワードを含む複合語かどうかを判断し、上位N位以下の複合語の優先度を下げることによって、複合語ばかりが提示されないようにする。例えば、複合語を3つまでしか提示しないとすると、上位3位以下の複合語の優先度は下げることから、「スポーツニュース」、「国際ニュース」、「株ニュース」以外の「ニュース」の複合語の優先度は下げる。これにより、「スキャンダル」、「天気」のような、複合語でないキーワードの優先度が上がり、関連キーワードとして提示されやすくなる。
複合語かどうかの判断は、選択したキーワードの文字列を含むかどうかで判断する、もしくは、記憶部212−1でそれぞれどのキーワードの複合語であるかをあらかじめ記憶しておいてもよい。以上のようにして、複合語かどうかといった、キーワード自身がもつ言語情報を利用して、関連キーワードの優先度を変更する。これによって、複合語ばかりが提示されないようにするなど、提示キーワードの偏りをなくし、利用者がより選択しやすいようにする。
<キーワード表示方法>
次に、表示制御部206−4(出力部214−1)が行う、キーワード表示の制御について説明する。表示制御部206−4は、優先度の高い順に、表示部203−1で表示できるキーワードの数だけキーワードを抽出し、表示方法に基づき表示の制御を行う。表示方法は、関連度合いに基づきキーワードの表示する方法と、あらかじめキーワードで検索し、得られたコンテンツのそれぞれが属すジャンルの分布度合いに基づきキーワードを表示する方法と、あらかじめキーワードで検索し、得られたコンテンツの数に基づきキーワードを表示する方法とがある。
図8はキーワード群の表示例を示すイメージ図である。図8は、たとえば、ユーザによって「ニュース」が選択されたあと、「ニュース」の関連キーワードが表示された画面例203Bを示すものである。
そして、関連度合いに基づきキーワードの表示を行う方法では、算出した関連度の値を抽出されたキーワードとともに、キーワード群として表示する。この場合には、「ニュース」というキーワードと他のキーワードとのAND検索数を表示したり、図8に示すように、当該AND検索数を各キーワードについて単独で検索した検索数で除した値を表示したりする方法があげられる。それぞれの関連度の値を表示することによって、各キーワードで比較することができ、利用者はキーワードを選択しやすくなる。
あらかじめキーワードで検索し、得られたコンテンツのそれぞれが属すジャンルの分布度合いに基づきキーワードを表示する方法では、それぞれのキーワードがどのジャンルに属すコンテンツを多く含むかによって表示を変更する。たとえば、図6に示す各キーワードの検索コンテンツのジャンル分布などから、抽出されたキーワードがどのジャンルをもっとも多く含むかを判断し、当該ジャンルによってキーワードの表示を変える。「スポーツ」、「野球」、「サッカー」は、趣味のジャンルのコンテンツを検索コンテンツに多く含むことから、例えば図8に示すように、当該キーワードに趣味のマークやスポーツのマークを表示させる。そして、「音楽」、「コンサート」は、音楽のジャンルのコンテンツを検索コンテンツに多く含むことから、当該キーワードに音楽のマークを表示させる。ただし、このようなマークに限定するものではなく、キーワードを表示するソフトウェアボタンの色や表示フォントを変える構成であっても良い。
これによって、利用者は「スポーツ」、「野球」、「サッカー」と、「音楽」、「コンサート」とでは、検索されて表示されるコンテンツの種類(ジャンル)が大きく異なることがわかる。例えば、ユーザが、前回選択したキーワード(今の場合は「ニュース」)にて検索されたコンテンツと同分野のコンテンツを求めている場合には、同じマーク、同じ表示方法のキーワードを選択すればよい。違った分野のコンテンツをみたければ、違うマーク、違う表示方法のキーワードを選択すればよい。
このように、各キーワードの検索コンテンツのジャンル分布によってキーワードの表示を変えることによって、利用者がキーワードを選択しやすくなる。
<コンテンツ検索処理>
次にコンテンツ検索処理について説明する。図9はコンテンツ検索処理の流れを示すフローチャートである。入力部204になんらかの入力があると(ステップ101、以下ステップをSと略す。)、CPU206は当該入力された情報が選択情報であるか否かを判断する(S102)。そして、入力された情報が前記選択情報である場合(S102にてYESの場合)、CPU206は、検索ボタンが選択された旨のキーワード選択情報か、コンテンツの検索結果の一覧表示の中からコンテンツが選択された旨のコンテンツ選択情報か、を判断する(S103)。検索ボタン選択情報を受け付けた場合(S103にてYESの場合)、S104以降の処理に進む。コンテンツ選択情報を受け付けた場合(S103にてNOの場合)、選択されたコンテンツを再生して出力すべく、表示制御を行う(S112)。
S104以降の処理について説明する。抽出部206−1は、抽出記憶部212−2を参照して、次回検索用のキーワードを所定の方法によって抽出する(S104)。すなわち、CPU206は、第1または第2のキーワードの選択を受け付けて、第2のキーワード群の抽出処理(S104)を実行する。当該キーワードの抽出処理(S104)については、後述する。抽出部206−1は、抽出したキーワードを、抽出記憶部212−2に格納する。抽出キーワードの中から提示するキーワードを抽出し、出力部214−1(表示制御部206−4)に渡す。このとき、抽出したキーワードは提示済みキーワードとして抽出記憶部212−2で記憶する。出力部214−1において、抽出されたキーワードから検索ボタンを生成し(S105)、生成した検索ボタンを出力部214−1に渡す。
次に、検索部206−2は、記憶部212−1を参照して、予め指定されている検索条件(たとえば、前述の特殊な検索に関する情報など)を取得する(S106)。検索部206−2は、S103にて受け付けたキーワード選択情報に基づいて、ユーザに選択された第1または第2のキーワードを選択記憶部212−3に記憶する。そして、検索部206−2は、取得した検索条件に従って検索式を作成し(S107)、作成した検索式を用いて検索要求を行う(S108)。検索部206−2が検索結果を取得すると(S109)、出力部214−1(表示制御部206−4)が、取得した当該検索結果に基づいて表示部203−1にて表示するための表示用の検索結果情報を作成する(S110)。そして、出力部214−1は、作成された検索結果情報を電気信号に変更して外部の表示部203−1などに出力し、表示部203−1が、キーワードに対応した検索ボタンとコンテンツの検索結果の表示を行う(S111)。
S102において、入力情報が選択情報でない場合、CPU206は、検索結果画面と検索キーワード画面との切り替えを要求する第1の切替要求情報もしくはは表示中のコンテンツの切り替えを要求する第2の切替要求情報が入力されたか否かについての判断を行う(S113)。第1もしくは第2の切替要求であった場合、出力部214−1が当該切替要求に従って表示制御する(S114)。S113において切替要求でないと判断された場合、CPU206は、表示中の検索ボタンのキーワードとは別の検索ボタンを要求するキーワード要求情報(NEXTボタンが押下された旨の情報)であるか否かを判断する(S115)。
別のキーワード要求情報の場合、抽出部206−1は抽出記憶部212−2を参照し、未提示のキーワードを検索ボタンの数だけ抽出する(S116)。抽出部206−1は、抽出したキーワードを、提示済みキーワードとして抽出記憶部212−2に記憶し、出力部214−1に渡す。以降の処理はS105以降の処理と同様である。S115において別のキーワード要求情報でないと判断された場合、CPU206は、固定キーワードの要求情報かどうかを判断する(S117)。固定キーワードの要求情報の場合、抽出部206−1は、記憶部212−1から固定キーワードを抽出し、記憶部212−1に記憶し、検索ボタンの数だけ出力部214−1に渡す(S118)。以降の処理はS105以降の処理と同様である。S117において固定キーワードの要求情報でなかった場合、前記入力された情報は、検索時の条件を指定する指定情報の入力であるので、S119において記憶部212−1に入力された指定情報を記憶する。
以上、本実施の形態に係るコンテンツ検索処理の流れについて説明した。
<キーワード抽出処理>
次に、キーワード抽出処理(S104)の流れについて説明する。図10はキーワード抽出処理(S104)の流れを示すフローチャートである。図10に示すように、受付部205−1がキーワード情報を受け付けると(S201またはS103にてYESの場合)、関連度算出部206−3が入力された選択キーワードと記憶部212−1に記憶されている各キーワードとの関連度が、既に記憶部212−1に記憶されているか否かを判断する(S202)。関連度が記憶されていない場合には(S202にてNOの場合)、関連度算出部206−3が上記の関連度算出方法の少なくとも1つの方法に基づいて関連度の算出を行い、優先度付与部206−6が優先度の付与を行う(S203〜S207)。一方、関連度が記憶されている場合には、(S202にてYESの場合)、既に記憶されている関連度情報を利用して、優先度付与部206−6が優先度の付与を行う(S208〜S211)。
関連度が未だ記憶されていない場合(S202にてNOの場合)におけるS203以降の処理について説明する。検索部206−2が、上記の関連度算出方法に基づいて、入力された選択キーワードと記憶部212−1に記憶している他の各キーワードに関して検索をおこなうための検索式を作成し、検索要求を行う(S203)。検索部206−2が、検索結果を取得し、関連度算出に必要な情報、たとえばAND検索結果数もしくは検索コンテンツのそれぞれが属すジャンルの分布数を、記憶部212−1に記憶する(S204)。関連度算出部206−3が記憶部212−1を参照して、入力キーワードと各キーワードとの関連度を算出し、記憶部212−1に算出した関連度を格納する(S205)。次に、優先度付与部206−6が、記憶部212−1を参照し、優先度付与方法にもとづき優先度を付与する(S206)。最後に表示制御部206−4(出力部214−1)が、優先度の高い順に、表示部203−1で表示できるキーワードの数だけキーワードを抽出し、表示方法に基づき表示の制御を行う(S207)。
一方、既に関連度が記憶されている場合(S202にてYESの場合)におけるS208以降の処理について説明する。優先度付与部206−6が、記憶部212−1を参照し、優先度付与方法にもとづき優先度を付与する(S208)。最後に表示制御部206−4(出力部214−1)が、優先度の高い順に、表示部203−1で表示できるキーワードの数だけキーワードを抽出し、表示方法に基づき表示の制御を行う(S209)。そして、入力されたキーワード情報が、利用者によるキーワード選択情報かどうかを判別する(S210)。選択情報の場合(S210にてYESの場合)、選択記憶部212−3が選択キーワードを格納し(S211)、関連度更新部206−5が関連度更新方法に基づき記憶部212−1で記憶している関連度を更新する(S212)。選択情報でない場合(S210にてNOの場合)、キーワードの抽出処理を終了する。
<検索キーワードの更新>
記憶部212−1が記憶するキーワードは更新することも考えられる。キーワードの追加や、記憶している関連度情報や嗜好度情報の更新が可能である。キーワード情報の更新は、通信部や、入力部を介して更新情報が入力され、記憶部212−1の情報を更新する構成であってもよい。また、ユーザが提示したキーワードの中から検索キーワードとして選択したキーワードの嗜好度情報を更新するという方法によっても更新可能である。検索ボタン選択情報が入力されるたびに、記憶部212−1に記憶している選択キーワードの嗜好度情報を更新する。
検索用キーワードを更新することによって、新しいキーワードの追加が可能であり、検索対象のコンテンツにあったキーワードを提示することが可能になる。また、検索用キーワードをユーザの嗜好に適用させることが可能であり、ユーザの検索意図に合ったキーワードを提示することが可能になる。そして、更新されたキーワードに関しては、上記のS202におけるNOの場合以降のステップに記載されているように、S203〜S207の処理によって、更新されたキーワードに関係する新たな関連度および優先度が付与される。
<初回提示キーワード>
本実施の形態に係るコンテンツ検索装置においては、初回検索時(初回起動時)に提示する(第1の)キーワードは、固定キーワードにするとよい。固定キーワードをカテゴリ名等に利用されるような広義な意味をもつキーワードとしておくと、初回検索時には複数のカテゴリが提示されることになるので、ユーザがキーワードの選択をしやすい。また、嗜好度の高いキーワードを提示してもよい。
初回検索時(初回起動時)に提示するキーワードは、検索部で検索するコンテンツサイトごとに用意しておいてもよい。コンテンツサイトが保持しているコンテンツの種類、分類、カテゴリ、ジャンル、タイトル等の情報からキーワードを決定してもよい。例えば、コンテンツサイトにてコンテンツを複数のジャンルに分類している場合、各ジャンル名を初回検索時に提示するキーワードとするとよい。
<通信部を有した場合>
本実施の形態に係るコンテンツ検索装置は、検索部206−2や、検索対象であるコンテンツデータを備えていなくてもよい。本実施の形態に係るコンテンツ検索装置が、通信部を備えている場合、通信部を介してコンテンツサーバに検索要求を送信し、コンテンツサーバにて検索を行い、検索結果を通信部を介して取得する、といった方式においても同様の検索が実現可能である。つまり、本実施の形態に係るコンテンツ検索装置は、ネットワークを介してコンテンツを検索し、当該コンテンツを閲覧することが可能なパソコン、テレビ、携帯電話等においても利用できる可能性がある。
<本実施の形態のまとめ>
本実施の形態に係るコンテンツ検索装置(コンピュータシステム200)の構成をまとめると、以下のようになる。
本実施の形態に係るコンテンツ検索装置においては、選択したキーワードに関連するキーワードをキーワードデータベースから抽出する際に、選択したキーワードとの関連度を、選択したキーワードと各キーワードとのAND検索(積検索)数によって算出する。
AND検索数が多いものほど、共に出現するコンテンツ数が多いということで、キーワード間の関連性が高いといえるため、AND検索数からキーワード間の関連度情報を付与することが可能となる。このようにAND検索数から関連度を付与するといった動的な関連度付けは、検索対象ごと行うことができることから、検索対象に応じた関連度情報の利用が可能となる。つまり、検索対象に応じて、関連度の高いキーワードを抽出可能であるといえる。さらに、キーワードが新しく追加されても関連度情報を新たに付与することが可能である。
また、本実施の形態に係るコンテンツ検索装置においては、選択したキーワードに関連するキーワードをキーワードデータベースから抽出する際に、選択したキーワードとの関連度を、各キーワードで検索した検索コンテンツのそれぞれが属すジャンルの分布度合いの一致度によって算出する。
キーワードを検索し、得られたコンテンツのそれぞれが属すジャンルを調べ、そのジャンルの分布度合いの一致度が大きいキーワード同士は、同ジャンルのコンテンツを検索できるということから関連度が高いといえる。つまり、関連性の高いキーワードは、同じジャンル内で共起する可能性が高いとみなせることから、検索結果コンテンツが属すジャンルの分布度合いの一致度からキーワードの関連度付けが可能である。そして、当該検索結果から関連度を付与するといった動的な関連度付けは、検索対象ごと行うことができることから、検索対象に応じた関連度情報の利用が可能である。つまり、検索対象に応じて、関連度の高いキーワードを抽出可能であるといえる。さらに、キーワードが新しく追加されても関連度情報を新たに付与することが可能である。
また、本実施の形態に係るコンテンツ検索装置においては、利用者のキーワード選択遷移情報によって、記憶しているキーワード間の関連度情報を更新する。
利用者の検索意図は多様であることから、あらかじめ設定されたキーワード間の関連度情報では、利用者にとって適切な関連キーワードを抽出できないことがある。そのため、利用者が選択したキーワードの選択遷移情報もしくは選択履歴情報を利用して関連度情報を更新することによって、利用者に適した関連キーワードを抽出することが可能になる。
また、本実施の形態に係るコンテンツ検索装置においては、選択したキーワードに関連する複数のキーワードを抽出し、抽出したキーワードの一部を提示する際に、抽出キーワードによる検索コンテンツのジャンル分布度合い、もしくはキーワードの選択履歴もしくは抽出キーワードが選択キーワードを含む複合語か単語かのいずれかによって優先度を変更し、優先度順に提示することによって、提示するキーワードが偏らなくする。
検索コンテンツのジャンル分布度合いや、キーワードが複合語か単語かを考慮しないで提示すると、複合語ばかりが提示されることがあるなど、提示するキーワードの分野に偏りが生じる場合がある。偏りがあると、利用者がキーワードを選択しにくくなる可能性があることため、本実施の形態に係る優先度付けを行うことによって偏りのないキーワードの提示を行う。
また、本実施の形態に係るコンテンツ検索装置においては、関連キーワードとして抽出された複数のキーワードを提示する際に、直前に選択したキーワードとの関連度合い、もしくは提示キーワードによる検索コンテンツのジャンル分布度合い、もしくは提示キーワードによる検索コンテンツ数のいずれかに基づいて、それぞれのキーワードの表示を行う。
これによって、直前に選択したキーワードとの関連度合いをわかりやすいもしくは、検索結果がある程度予測できることによって、利用者が提示キーワードから選択しやすくなる。
以上のように、本実施の形態に係るコンテンツ検索装置においては、検索結果から関連度を付与するといった動的な関連度付けを、検索コンテンツ(検索対象)毎に行うことができることから、検索対象に応じた関連度情報の利用が可能となる。つまり、検索対象に応じて、関連度の高いキーワードを抽出可能であるといえる。さらに、キーワードが新しく追加されても関連度情報を新たに付与することが可能である。また、利用者のキーワード選択遷移情報によって、関連度情報を更新することによって、利用者に適した関連度情報を付与することが可能になる。関連度情報に基づき関連キーワードを抽出し、提示する際にキーワードがもつ関連度情報等の情報を利用して優先度付けを行い優先度に基づき提示したり、表示を変えて提示することによって、利用者が提示キーワードを選択しやすくする。
上記に示す関連度算出方法の変形例は、その本質を変容させることなく、互いに組み合わせ可能であって、1の算出方法を他の算出方法に適用することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
200 コンピュータシステム、201 光ディスクドライブ、202 磁気ディスクドライブ、203 モニタ、203−1 表示部、204 リモートコントローラ、204−1 入力部、205 リモートコントローラインターフェイス、205−1 受付部、206−1 抽出部、206−2 検索部、206−3 関連度算出部、206−4 表示制御部、206−5 関連度更新部、206−6 優先度付与部、206−7 判別部、207 内部バス、210 光ディスク、211 磁気ディスク、212 ハードディスク、212−1 記憶部、212−2 抽出記憶部、212−3 選択記憶部、213 通信インターフェイス、213−1 通信部、214 表示部インターフェイス、214−1 出力部、220 コンピュータ、221 決定ボタン、250 ネットワーク、251 コンテンツサーバ、301 検索ボタン、302 検索結果情報。