(57)【要約】【課題】  ユーザに最適なコンテンツを検索するコンテンツ検索において、コンテンツの検索結果の精度を向上させる。【解決手段】  入力部２１は、ユーザにより入力された、複数の検索キーと、複数の検索キー間の論理演算子とからなる論理演算式を制御部２２に供給する。類似度計算部２６は、特徴量抽出部２４および特徴量DB２５から供給されるコンテンツの特徴量に基づいて、検索キーによって指定されたキーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を計算する。合成部２８は、キーコンテンツと検索対象コンテンツとの類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する。そして、合成スコアが大きい検索対象コンテンツが、ユーザに最適なコンテンツとして提示される。本発明は、例えば、コンテンツを検索する情報処理装置に適用できる。【選択図】図１
2006040085.tif 000002
【特許請求の範囲】
【請求項１】
複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを検索する処理を行う情報処理装置において、
複数のキーコンテンツのそれぞれを指定する複数の検索キーと、前記複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力手段と、
前記入力手段で入力された前記論理演算式の前記検索キーによって指定されたキーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する類似度計算手段と、
前記入力手段で入力された前記論理演算式の前記検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの前記類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算手段と、
前記合成スコア計算手段により計算された前記合成スコアに基づいて、前記複数の検索対象コンテンツのなかから、前記ユーザに最適なコンテンツを提示する提示手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記類似度計算手段は、コンテンツの複数の特徴量を用いて、前記キーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記コンテンツの複数の特徴量のそれぞれを抽出する抽出手段をさらに備える
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記入力手段は、前記コンテンツの各特徴量に対する重みをさらに入力し、
前記類似度計算手段は、前記入力手段が入力した前記重みによって重み付けられた前記コンテンツの複数の特徴量を用いて、前記キーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記論理演算子は、and，or、またはnotの少なくとも１つである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを検索する処理を行う情報処理方法において、
複数のキーコンテンツのそれぞれを指定する複数の検索キーと、前記複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップと、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーによって指定されたキーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する類似度計算ステップと、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの前記類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップと、
前記合成スコア計算ステップの処理により計算された前記合成スコアに基づいて、前記複数の検索対象コンテンツのなかから、前記ユーザに最適なコンテンツを提示する提示ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを検索する処理を行うプログラムであって、
複数のキーコンテンツのそれぞれを指定する複数の検索キーと、前記複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップと、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーによって指定されたキーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する類似度計算ステップと、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの前記類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップと、
前記合成スコア計算ステップの処理により計算された前記合成スコアに基づいて、前記複数の検索対象コンテンツのなかから、前記ユーザに最適なコンテンツを提示する提示ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを検索する処理を行うプログラムにおいて、
複数のキーコンテンツのそれぞれを指定する複数の検索キーと、前記複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップと、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーによって指定されたキーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する類似度計算ステップと、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの前記類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップと、
前記合成スコア計算ステップの処理により計算された前記合成スコアに基づいて、前記複数の検索対象コンテンツのなかから、前記ユーザに最適なコンテンツを提示する提示ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、ユーザに最適なコンテンツを検索するコンテンツ検索において、コンテンツの検索結果の精度を向上させる情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
テレビジョン放送やラジオ放送などの番組、映画、写真等の画像、楽曲（音声）、または、インターネット上のサイトなどに掲載されている、料理や旅行、ショッピングなどの各種の情報など様々なコンテンツにおいて、数多くのコンテンツのなかから、ユーザ自身の嗜好に合うコンテンツを検索することがある。
【０００３】
ユーザの嗜好に合うコンテンツを検索する方法としては、検索キーとなる１つの検索キーオブジェクト（コンテンツ）を入力し、その検索キーオブジェクトの特徴量と、特徴量格納・管理装置に格納されているオブジェクトの特徴量とから、両者の類似度を算出し、その類似度が所定の値以上のオブジェクトについて類似度の高い順に順序付けが行われて出力される類似オブジェクト検索装置がある（例えば、特許文献１参照）。
【０００４】
このような従来のコンテンツの検索方法では、コンテンツの検索条件となる検索キー（コンテンツ）が１つだけ与えられ、その検索キーを基に、ユーザに最適なコンテンツが検索されている。
【０００５】
【特許文献１】特開平１０−１７１８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、１つの検索キーのみの情報に基づいて、コンテンツを検索した場合、その検索キーが、ユーザの嗜好を完全に反映しているとは言い切れず、ユーザの嗜好に合わないコンテンツが検索（提示）されることがあった。即ち、コンテンツの検索結果の精度が高いとは言えない場合があった。
【０００７】
従って、検索条件となる検索キーを複数用いた方が、ユーザの嗜好をより正確に反映させることができ、コンテンツの検索結果の精度を向上させることができると考えられる。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、ユーザに最適なコンテンツを検索するコンテンツ検索において、コンテンツの検索結果の精度を向上させることができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、複数のキーコンテンツのそれぞれを指定する複数の検索キーと、複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力手段と、入力手段で入力された論理演算式の検索キーによって指定されたキーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算する類似度計算手段と、入力手段で入力された論理演算式の検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算手段と、合成スコア計算手段により計算された合成スコアに基づいて、複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを提示する提示手段とを備えることを特徴とする。
【００１０】
類似度計算手段には、コンテンツの複数の特徴量を用いて、キーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算させることができる。
【００１１】
コンテンツの複数の特徴量のそれぞれを抽出する抽出手段をさらに設けることができる。
【００１２】
入力手段には、コンテンツの各特徴量に対する重みをさらに入力させ、類似度計算手段には、入力手段が入力した重みによって重み付けられたコンテンツの複数の特徴量を用いて、キーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算させることができる。
【００１３】
論理演算子は、and，or、またはnotの少なくとも１つとすることができる。
【００１４】
本発明の情報処理方法は、複数のキーコンテンツのそれぞれを指定する複数の検索キーと、複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップと、入力ステップの処理で入力された論理演算式の検索キーによって指定されたキーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算する類似度計算ステップと、入力ステップの処理で入力された論理演算式の検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップと、合成スコア計算ステップの処理により計算された合成スコアに基づいて、複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを提示する提示ステップとを含むことを特徴とする。
【００１５】
本発明の記録媒体に記録されているプログラムは、複数のキーコンテンツのそれぞれを指定する複数の検索キーと、複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップと、入力ステップの処理で入力された論理演算式の検索キーによって指定されたキーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算する類似度計算ステップと、入力ステップの処理で入力された論理演算式の検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップと、合成スコア計算ステップの処理により計算された合成スコアに基づいて、複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを提示する提示ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、複数のキーコンテンツのそれぞれを指定する複数の検索キーと、複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップと、入力ステップの処理で入力された論理演算式の検索キーによって指定されたキーコンテンツと複数の検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算する類似度計算ステップと、入力ステップの処理で入力された論理演算式の検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップと、合成スコア計算ステップの処理により計算された合成スコアに基づいて、複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを提示する提示ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１７】
本発明においては、複数のキーコンテンツのそれぞれを指定する複数の検索キーと、複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式が入力され、入力された論理演算式の検索キーによって指定されたキーコンテンツと複数の検索対象コンテンツそれぞれとの類似度が、全てのキーコンテンツについて計算され、論理演算式の検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの類似度を用いて論理演算が行われ、検索対象コンテンツごとの合成スコアが計算される。そして、計算された合成スコアに基づいて、複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツが提示される。
【発明の効果】
【００１８】
本発明によれば、ユーザに最適なコンテンツを検索するコンテンツ検索において、コンテンツの検索結果の精度を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２１】
請求項１に記載の情報処理装置は、
複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを検索する処理を行う情報処理装置（例えば、図１のコンテンツ提示装置１１）において、
複数のキーコンテンツのそれぞれを指定する複数の検索キーと、前記複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力手段（例えば、図１の入力部２１）と、
前記入力手段で入力された論理演算式の前記検索キーによって指定されたキーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する類似度計算手段（例えば、図１の類似度計算部２６）と、
前記入力手段で入力された前記論理演算式の前記検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの前記類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算手段（例えば、図１の合成部２８）と、
前記合成スコア計算手段により計算された前記合成スコアに基づいて、前記複数の検索対象コンテンツのなかから、前記ユーザに最適なコンテンツを提示する提示手段（例えば、図１の制御部２２）と
を備えることを特徴とする。
【００２２】
請求項３に記載の情報処理装置は、
前記コンテンツの複数の特徴量のそれぞれを抽出する抽出手段（例えば、図１の特徴量抽出部２４）をさらに備える
ことを特徴とする。
【００２３】
請求項６に記載の情報処理方法は、
複数の検索対象コンテンツのなかから、ユーザに最適なコンテンツを検索する処理を行う情報処理方法において、
複数のキーコンテンツのそれぞれを指定する複数の検索キーと、前記複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を入力する入力ステップ（例えば、図６のステップＳ１の処理）と、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーによって指定されたキーコンテンツと前記複数の検索対象コンテンツそれぞれとの類似度を、全ての前記キーコンテンツについて計算する類似度計算ステップ（例えば、図７のステップＳ２２の処理）と、
前記入力ステップの処理で入力された前記論理演算式の前記検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとの前記類似度を用いて論理演算を行い、検索対象コンテンツごとの合成スコアを計算する合成スコア計算ステップ（例えば、図６のステップＳ６の処理）と、
前記合成スコア計算ステップの処理により計算された前記合成スコアに基づいて、前記複数の検索対象コンテンツのなかから、前記ユーザに最適なコンテンツを提示する提示ステップ（例えば、図６のステップＳ７の処理）と
を含むことを特徴とする。
【００２４】
請求項７に記載の記録媒体のプログラム、請求項８に記載のプログラムの各ステップの具体例も、請求項６に記載の情報処理方法の各ステップの発明の実施の形態における具体例と同様である。
【００２５】
以下、図を参照して、本発明の実施の形態について説明する。
【００２６】
図１は、本発明を適用したコンテンツ提示システムの一実施の形態の構成例（機能ブロック図）を示している（第１実施の形態）。
【００２７】
図１のコンテンツ提示システムは、コンテンツ提示装置１１とコンテンツサーバ１２とから構成されている。
【００２８】
コンテンツ提示装置１１は、コンテンツサーバ１２のコンテンツＤＢ（Data Base）４１のなかから、ユーザに最適な（ユーザの好みの）コンテンツを検索し、ユーザに提示（推薦）する。
【００２９】
ここで、コンテンツとは、例えば、テレビジョン放送やラジオ放送などの番組、映画、写真等の画像、楽曲（音声）、または、インターネット上のサイトなどに掲載されている、料理や旅行、ショッピングなどの各種のカテゴリの情報を表す。但し、本実施の形態では、コンテンツは楽曲であるとして、ユーザが聴きたい楽曲を提示（検索）する例について説明する。また、コンテンツサーバ１２のコンテンツＤＢ（Data Base）４１に記憶されているコンテンツのそれぞれを、以下では、検索対象コンテンツという。
【００３０】
コンテンツ提示装置１１の入力部２１では、ユーザが、複数の検索キーと、その複数の検索キー間の論理演算子とからなる、複数の検索キーの論理演算式を、図示せぬキーボードやマウスなどを用いて入力する。
【００３１】
ここで、ユーザが入力可能な論理演算子は、例えば、and，or，notなどである。また、ユーザが入力する検索キーは、コンテンツ（楽曲）を指定する情報であり、例えば、楽曲のタイトルや、楽曲の歌手名やアルバム名などとすることができる。なお、ユーザコンテンツＤＢ２３に記憶されている楽曲のタイトルのリストが図示せぬLCD (Liquid Crystal Display)などの表示部に表示されている場合などでは、リストのリスト番号（ID）などでも良い。
【００３２】
ユーザは、ユーザコンテンツＤＢ２３に記憶されている楽曲で、自分が気に入った曲のタイトルを検索キーとして入力部２１で入力する。なお、ユーザが所有しているコンテンツ以外のコンテンツを入力（指定）することも可能である。
【００３３】
入力部２１は、ユーザによって入力された、複数の検索キーと、複数の検索キーとその検索キー間の論理演算子とからなる論理演算式とを制御部２２に供給する。
【００３４】
制御部２２は、入力部２１から供給される検索キーを特徴量抽出部２４に供給するとともに、論理演算式を合成部２８に供給する。
【００３５】
また、制御部２２には、ソート部２９から、後述する合成スコアＳが大きい順にソートされている検索対象コンテンツのリストが供給される。制御部２２は、ソート部２９から供給される検索対象コンテンツのリストを基に、合成スコアＳの一番大きい検索対象コンテンツ（以下、推薦コンテンツとも称する）を、外部I/F部３０を制御することによりコンテンツサーバ１２のコンテンツＤＢ４１から取得させ、ユーザコンテンツＤＢ２３に記憶させるとともに、コンテンツ再生部３１にも供給させ、推薦コンテンツを再生（提示）させる。
【００３６】
ユーザコンテンツＤＢ２３には、ユーザがこれまでに取得したコンテンツ（楽曲）が記憶されている。ユーザコンテンツＤＢ２３に記憶されているコンテンツは、特徴量抽出部２４またはコンテンツ再生部３１に供給される。なお、ユーザコンテンツＤＢ２３には、上述したように、外部I/F３０を介してコンテンツサーバ１２から取得したコンテンツの他、例えば、DVD(Digital Versatile Disc)や半導体メモリなどの所定の記録媒体（リムーバブルメディア）から、図示せぬドライブなどを介して取得したコンテンツも記憶させることができる。
【００３７】
特徴量抽出部２４は、制御部２２から供給される検索キーで指定されるコンテンツ（以下、キーコンテンツという）をユーザコンテンツＤＢ２３から取得し、そのキーコンテンツの特徴量を抽出して、類似度計算部２６に供給する。制御部２２からは、複数の検索キーが供給されるので、特徴量抽出部２４は、複数のキーコンテンツの特徴量を抽出し、類似度計算部２６に供給する。
【００３８】
また、特徴量抽出部２４は、外部I/F部３０を介してコンテンツＤＢ４１から供給される、検索対象コンテンツの特徴量を特徴量ＤＢ２５に供給する。なお、コンテンツＤＢ４１に検索対象コンテンツの特徴量が記憶されていない場合には、特徴量抽出部２４は、検索対象コンテンツそのものを外部I/F部３０を介して取得し、そこから特徴量を抽出して、特徴量ＤＢ２５に供給することができる。
【００３９】
特徴量ＤＢ２５は、特徴量抽出部２４から供給される検索対象コンテンツの特徴量を記憶し、必要に応じて、類似度計算部２６に供給する。
【００４０】
ここで、本実施の形態では、コンテンツを楽曲としているので、コンテンツの特徴量の種類としては、例えば、テンポ、ムード、および音の多さを採用する。また、コンテンツの特徴量の値は、０乃至１の範囲の数値となっており、これにより、その特徴の度合いを表す。例えば、テンポ（の特徴量）については、その楽曲が遅いテンポの曲であるか、または速いテンポの曲であるかが０乃至１の範囲の数値で表されている。また、ムード（の特徴量）については、その楽曲が暗いムードの曲であるか、または明るいムードの曲であるかが０乃至１の範囲の数値で表されている。さらに、音の多さ（の特徴量）については、その楽曲がソロの演奏による曲であるか、または多数の楽器を用いた演奏による曲であるかが０乃至１の範囲の数値で表されている。
【００４１】
なお、コンテンツの特徴量の種類の数は、上述の３つに限定されず、２以下でも、４以上でもよい。その他の楽曲の特徴量の種類としては、例えば、メロディー、コード進行などを採用することができる。
【００４２】
類似度計算部２６には、複数のキーコンテンツの特徴量が特徴量抽出部２４から供給されるとともに、全ての検索対象コンテンツの特徴量が特徴量ＤＢ２５から供給される。類似度計算部２６は、キーコンテンツと検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算し、スコア計算部２７に供給する。
【００４３】
ここで、キーコンテンツと検索対象コンテンツとの類似度を表す指標としては、例えば、テンポ、ムード、音の多さの特徴量それぞれを軸とする３次元空間における、キーコンテンツのベクトルと検索対象コンテンツのベクトルのユークリッド距離を採用することができる。
【００４４】
即ち、キーコンテンツと検索対象コンテンツとの類似度（距離）Ｄは、
【００４５】
Ｄ＝sqrt｛（検索対象コンテンツ.テンポ−キーコンテンツ.テンポ）2
＋（検索対象コンテンツ.ムード−キーコンテンツ.ムード）2
＋（検索対象コンテンツ.音の多さ−キーコンテンツ.音の多さ）2｝
・・・・・・・・・・・・（１）
【００４６】
と表すことができる。なお、式（１）において、検索対象コンテンツ.テンポは、検索対象コンテンツのテンポの特徴量の値を表し、検索対象コンテンツ.ムードは、検索対象コンテンツのムードを表し、検索対象コンテンツ.音の多さは、検索対象コンテンツの音の多さを表す。キーコンテンツについても同様である。また、sqrtは、平方根（√）を表す。
【００４７】
また、キーコンテンツと検索対象コンテンツとの類似度Ｄとしては、上述のユークリッド距離に限定されず、例えば、キーコンテンツおよび検索対象コンテンツそれぞれのベクトルの内積などを採用することもできる。
【００４８】
ここで、特徴量抽出部２４から供給されるキーコンテンツの総数をｎ個、特徴量ＤＢ２５から供給される検索対象コンテンツの総数をｍ個（ｎ，ｍは、２以上の任意の整数）とした場合、１つのキーコンテンツに対して、ｍ個の類似度Ｄが計算されることとなり、全部でｎ×ｍ個の類似度Ｄがスコア計算部２７に供給される。
【００４９】
スコア計算部２７は、類似度計算部２６から供給される、キーコンテンツと検索対象コンテンツとの類似度Ｄから、キーコンテンツと検索対象コンテンツとのスコアｓを計算し、合成部２８に供給する。従って、スコア計算部２７においても、類似度計算部２６と同様のｎ×ｍ個のスコアｓが計算され、合成部２８に供給される。
【００５０】
スコア計算部２７では、キーコンテンツと検索対象コンテンツとの類似度Ｄが高いほどスコアｓが大きくなるようにスコアｓが計算される。従って、類似度Ｄとして上述の式（１）で表される距離を用いた場合、距離が小さいほど類似度が高いことを表すので、スコアｓは、例えば、式（２）のように計算することができる。
【００５１】
ｓ＝１÷（Ｄ＋α）
・・・・・・・・・・・・（２）
【００５２】
式（２）において、αは、類似度Ｄがゼロの場合（キーコンテンツと検索対象コンテンツとが完全に一致する場合）でも分母がゼロとならないようにするための所定の定数を表す。
【００５３】
また、類似度を、その値が大きくなるほど、類似度が高くなるような指標を用いた場合には、類似度Ｄをそのままスコアｓとすることができる。この場合、スコア計算部２７は省略することができる。
【００５４】
合成部２８は、スコア計算部２７から供給されるｎ×ｍ個のスコアｓと、制御部２２から供給される論理演算式とに基づいて、検索対象コンテンツごとの合成スコアSを計算する。即ち、合成部２８は、論理演算式の検索キーに代えて、その検索キーに対応するキーコンテンツと検索対象コンテンツとのスコアｓを用いて論理演算を行い、検索対象コンテンツごとの合成スコアＳを計算する。従って、合成部２８では、１つの検索対象コンテンツに対してｎ個のスコアｓの論理演算が行われ、ｍ個の検索対象コンテンツの合成スコアＳが算出される。また、合成部２８は、ｍ個の検索対象コンテンツの合成スコアＳをソート部２９に供給する。
【００５５】
ソート部２９は、合成部２８から供給される各検索対象コンテンツの合成スコアＳを、その合成スコアＳの大きい順にソートする。そして、ソート部２９は、合成スコアＳが大きい順にソートされた検索対象コンテンツのリストを制御部２２に供給する。従って、ソート部２９から供給される検索対象コンテンツのリストでは、検索対象コンテンツのリストの上位にあるほど、即ち、合成スコアＳが大きいほど、ユーザに最適な（ユーザの嗜好に合致する）コンテンツであることを表す。
【００５６】
外部I/F(Inter Face)部３０は、例えば、ADSL（Asymmetric Digital Subscriber Line）モデムや、LAN (Local Area Network)カード等で構成され、インターネットなどの各種のネットワークとの間の通信インタフェースとして機能する。外部I/F部３０は、制御部２２の制御の下、図示せぬネットワークを介して、コンテンツサーバ１２のコンテンツDB４１から検索対象コンテンツ、または検索対象コンテンツの特徴量を取得し、ユーザコンテンツDB２３または特徴量抽出部２４に供給する。
【００５７】
コンテンツ再生部３１は、制御部２２の制御の下、ユーザコンテンツDB２３から供給されるコンテンツを再生する。再生された楽曲は、図示せぬスピーカなどから出力される。
【００５８】
コンテンツサーバ１２は、多数のコンテンツ（楽曲）を記憶しているコンテンツDB４１を備え、ネットワークを介してコンテンツサーバ１２にアクセスしてくるユーザの要求に応じて、コンテンツDB４１に記憶されているコンテンツまたはコンテンツの特徴量を提供（供給）する。
【００５９】
以上のように構成される図１のコンテンツ提示システムでは、入力部２１において、コンテンツを指定する複数の検索キーと、その複数の検索キー間の論理演算子とからなる論理演算式がユーザにより入力される。
【００６０】
特徴量抽出部２４は、制御部２２から供給される検索キーに対応するコンテンツ（キーコンテンツ）をユーザコンテンツＤＢ２３から取得し、その特徴量を抽出して類似度計算部２６に供給する。類似度計算部２６は、特徴量抽出部２４から供給されるキーコンテンツの特徴量と、特徴量ＤＢ２５から供給される、コンテンツサーバ１２のコンテンツＤＢ４１に記憶されている検索対象コンテンツの特徴量とを用いて、キーコンテンツと検索対象コンテンツとの類似度Ｄを、全てのキーコンテンツについて計算する。
【００６１】
さらに、スコア計算部２７において、キーコンテンツと検索対象コンテンツとの類似度Ｄがスコアｓに変換され、合成部２８において、入力部２１で入力された論理演算式に対応する論理演算によって、検索対象コンテンツごとに、スコアｓが合成される（合成スコアＳが計算される）。そして、ソート部２９から制御部２２に合成スコアＳが大きい順の検索対象コンテンツのリストが供給され、制御部２２は、外部I/F部３０に、合成スコアＳが一番大きい（リストの最上位の）コンテンツを、コンテンツサーバ１２のコンテンツＤＢ４１から取得させ、ユーザコンテンツＤＢ２３に記憶させるとともに、コンテンツ再生部３１に再生させる。
【００６２】
なお、図１では、コンテンツ提示装置１１と接続されている外部のサーバ（コンテンツサーバ）は、コンテンツサーバ１２の１つだけであるが、コンテンツ提示装置１１は、複数のサーバと接続して、そこに記憶されているコンテンツまたはコンテンツの特徴量を取得することができる。
【００６３】
次に、コンテンツ提示装置１１の各部で計算されるデータについて説明する。
【００６４】
初めに、入力部２１において、ユーザは、「コンテンツＫＢ1andコンテンツＫＢ2and・・・・・・andコンテンツＫＢn」のように論理演算式（検索キーと論理演算子）を入力したとする。入力されたコンテンツＫＢ1，コンテンツＫＢ2，・・，コンテンツＫＢnのそれぞれは、検索キーであり、ユーザコンテンツＤＢ２３に記憶されているコンテンツ（キーコンテンツ）のタイトルでもある。また、検索キーの間のそれぞれに、論理演算子としてandが入力されている。
【００６５】
このとき、特徴量抽出部２４は、ユーザコンテンツＤＢ２３からｎ個のコンテンツＫＢ1乃至コンテンツＫＢnを取り出し、それらの特徴量を抽出して、類似度計算部２６に供給する。
【００６６】
図２は、制御部２２から供給される検索キーに対応して、特徴量抽出部２４において抽出されたキーコンテンツ（コンテンツＫＢ1乃至コンテンツＫＢn）の特徴量の例を示している。
【００６７】
具体的には、コンテンツＫＢ1のテンポは0.5であり、コンテンツＫＢ1のムードは0.3であり、コンテンツＫＢ1の音の多さは0.6となっている。また、コンテンツＫＢ2のテンポは0.9であり、コンテンツＫＢ2のムードは0.4であり、コンテンツＫＢ2の音の多さは0.2となっている。さらに、コンテンツＫＢnのテンポは0.2であり、コンテンツＫＢnのムードは0.8であり、コンテンツＫＢnの音の多さは0.5となっている。なお、コンテンツＫＢ3乃至コンテンツＫＢn-1のデータについては図示が省略されている。
【００６８】
図２に示すキーコンテンツ（コンテンツＫＢ1乃至コンテンツＫＢn）の特徴量が、特徴量抽出部２４から類似度計算部２６に供給される。また、類似度計算部２６には、特徴量ＤＢ２５から、全ての検索対象コンテンツの特徴量も供給される。
【００６９】
図３は、特徴量ＤＢ２５に記憶されている全ての検索対象コンテンツの特徴量の例を示している。
【００７０】
具体的には、特徴量ＤＢ２５に記憶されているコンテンツＡ1のテンポは0.4であり、コンテンツＡ1のムードは0.2であり、コンテンツＡ1の音の多さは0.8となっている。また、コンテンツＡ2のテンポは0.3であり、コンテンツＡ2のムードは0.5であり、コンテンツＡ2の音の多さは0.5となっている。さらに、コンテンツＡmのテンポは0.4であり、コンテンツＡmのムードは0.6であり、コンテンツＡmの音の多さは0.1となっている。なお、コンテンツＡ3乃至コンテンツＡm-1のデータについては図示が省略されている。
【００７１】
そして、類似度計算部２６は、キーコンテンツと検索対象コンテンツそれぞれとの類似度Ｄを、全てのキーコンテンツについて計算する。例えば、図２と図３に示したキーコンテンツと検索対象コンテンツの特徴量のデータ例では、コンテンツＫＢ1について、コンテンツＫＢ1とコンテンツＡ1との類似度Ｄ1,1、コンテンツＫＢ1とコンテンツＡ2との類似度Ｄ1,2、・・・・、およびコンテンツＫＢ1とコンテンツＡmとの類似度Ｄ1,mが、類似度計算部２６において計算される。また、同様にして、コンテンツＫＢ2乃至コンテンツＫＢnのそれぞれについても、各検索対象コンテンツ（コンテンツＡ1乃至コンテンツＡm）との類似度Ｄi,j（ｉ＝２乃至ｎ，ｊ＝１乃至ｍ）が計算される。
【００７２】
さらに具体的には、例えば、コンテンツＫＢ1とコンテンツＡ1との類似度Ｄ1,1は、式（１）を用いて次のように計算される。
【００７３】
コンテンツＫＢ1とコンテンツＡ1との類似度Ｄ1,1
＝sqrt｛（コンテンツＡ1.テンポ  −  コンテンツＫＢ1.テンポ）2
＋（コンテンツＡ1. ムード  −  コンテンツＫＢ1. ムード）2
＋（コンテンツＡ1. 音の多さ  −  コンテンツＫＢ1. 音の多さ）2｝
＝sqrt｛（0.4−0.5）2＋（0.2−0.3）2＋（0.8−0.6）2｝
＝sqrt｛0.06｝
≒0.245
【００７４】
また、このとき、スコア計算部２７で計算される、コンテンツＫＢ1とコンテンツＡ1とのスコアｓ1,1は、式（２）を用いて次のように求めることができる。
【００７５】
コンテンツＫＢ1とコンテンツＡ1とのスコアｓ1,1＝１÷（0.245＋0.1）
≒2.9
【００７６】
なお、ここでは、式（２）における所定の定数αが、0.1として計算されている。
【００７７】
図４は、上述のように、スコア計算部２７が、コンテンツＫＢi（キーコンテンツ）とコンテンツＡj（検索対象コンテンツ）との類似度から、コンテンツＫＢiとコンテンツＡjとのスコアｓi,j（ｉ＝１乃至ｎ，ｊ＝１乃至ｍ）を計算した例を示している。
【００７８】
図４に示すように、コンテンツＫＢ1については、コンテンツＫＢ1とコンテンツＡ1とのスコアｓ1,1、コンテンツＫＢ1とコンテンツＡ2とのスコアｓ1,2，・・・、およびコンテンツＫＢ1とコンテンツＡmとのスコアｓ1,mの、ｍ個のスコアｓ1,1乃至ｓ1,mが得られる。
【００７９】
また、コンテンツＫＢ2についても、コンテンツＫＢ2とコンテンツＡ1とのスコアｓ2,1、コンテンツＫＢ2とコンテンツＡ2とのスコアｓ2,2，・・・、およびコンテンツＫＢ2とコンテンツＡmとのスコアｓ2,mの、ｍ個のスコアｓ2,1乃至ｓ2,mが得られる。
【００８０】
同様にして、コンテンツＫＢ3乃至コンテンツＫＢnのそれぞれについても、それぞれｍ個のスコアが得られる。
【００８１】
従って、図４に示す、全てのコンテンツＫＢi（キーコンテンツ）についての、コンテンツＫＢiとコンテンツＡjとのスコアｓi,jが、スコア計算部２７から合成部２８に供給される。
【００８２】
合成部２８において、各コンテンツＫＢi（キーコンテンツ）の（この後に計算される）合成スコアＳに与える影響度を互いに等しくするために、コンテンツＫＢiごとにスコアｓi,jの最大値を１とするスコアｓi,jの正規化が行われる。なお、以下では、正規化されたスコアｓi,jをｓ'i,jと表す。
【００８３】
また、合成部２８は、図５に示すように、入力部２１で入力された検索キーおよび論理演算子に対応して検索対象コンテンツごとの合成スコアＳ（コンテンツＡjの合成スコアＳj）を計算する。
【００８４】
具体的には、入力部２１で入力された検索キーのコンテンツＫＢiが、コンテンツＫＢiとコンテンツＡjとのスコアｓ'i,jに変換され、論理演算子and，or，notが、それぞれ、乗算（×）、加算（＋）、減算（−）の演算に変換された式によって、コンテンツＡjの合成スコアＳjが演算される。
【００８５】
即ち、論理演算式「コンテンツＫＢ1andコンテンツＫＢ2and・・・・・・andコンテンツＫＢn」の入力に対しては、コンテンツＡ1の合成スコアＳ1は、コンテンツＫＢ1とコンテンツＡ1とのスコアｓ'1,1×コンテンツＫＢ2とコンテンツＡ1とのスコアｓ'2,1×・・・×コンテンツＫＢnとコンテンツＡ1とのスコアｓ'n,1で求められる。
【００８６】
また、コンテンツＡ2の合成スコアＳ2は、コンテンツＫＢ1とコンテンツＡ2とのスコアｓ'1,2×コンテンツＫＢ2とコンテンツＡ2とのスコアｓ'2,2×・・・×コンテンツＫＢnとコンテンツＡ2とのスコアｓ'n,2で求められる。
【００８７】
同様にして、コンテンツＡ3乃至Ａmについても、合成スコアＳ3乃至Ｓmが求められる。
【００８８】
以上のようにして、コンテンツサーバ１２のコンテンツＤＢ４１に記憶されている検索対象コンテンツ（コンテンツＡ1乃至Ａm）のすべてについて、合成スコアＳ1乃至Ｓmが、それぞれ求められる。
【００８９】
そして、ソート部２９において、合成スコアＳ1乃至Ｓmが、その値の大きい順にソートされ、制御部２２の制御の下、合成スコアＳの一番大きい検索対象コンテンツ（推薦コンテンツ）がユーザに提示される。即ち、推薦コンテンツが、コンテンツサーバ１２のコンテンツＤＢ４１からダウンロードされ、ユーザコンテンツＤＢ２３に記憶されるとともに、コンテンツ再生部３１にも供給され、再生される。
【００９０】
なお、推薦コンテンツを、合成スコアＳが一番大きい１つのコンテンツに限定せず、合成スコアＳが大きい任意の数のコンテンツとして、その任意の数の推薦コンテンツを合成スコアＳの大きい順に提示（再生）するようにしてもよい。
【００９１】
また、コンテンツ提示装置１１では、推薦コンテンツをコンテンツサーバ１２のコンテンツＤＢ４１からダウンロードして再生せずに、ソート部２９から供給される検索対象コンテンツのリストを、表示部にそのまま表示するだけとして、再生するか否かについてはユーザに選択させるようにしても良い。
【００９２】
次に、図６のフローチャートを参照して、コンテンツ提示装置１１のコンテンツ提示処理について説明する。
【００９３】
初めに、ステップＳ１において、入力部２１は、複数の検索キーと論理演算子とからなる論理演算式がユーザにより入力されたか否かを判定する。ステップＳ１で、論理演算式が入力されたと判定されるまで、ステップＳ１の処理が繰り返される。
【００９４】
ステップＳ１で、論理演算式が入力されたと判定された場合、ステップＳ２に進み、制御部２２は、入力部２１から供給される論理演算式のなかの検索キーを特徴量抽出部２４に供給する。また、ステップＳ２では、特徴量抽出部２４は、ユーザコンテンツＤＢ２３に記憶されているコンテンツのなかから、検索キーに対応するコンテンツ（キーコンテンツ）を取り出し、そのキーコンテンツの各特徴量を抽出し、類似度計算部２６に供給して、ステップＳ３に進む。
【００９５】
ステップＳ３において、類似度計算部２６は、全ての検索対象コンテンツの特徴量を特徴量ＤＢ２５から取得し、ステップＳ４に進む。
【００９６】
ステップＳ４において、類似度計算部２６およびスコア計算部２７は、スコア計算処理を行い、ステップＳ５に進む。ステップＳ４のスコア計算処理では、図４を参照して説明したように、コンテンツＫＢiとコンテンツＡjとのスコアｓi,jが求められる。なお、スコア計算処理の詳細は、図７を参照して後述する。
【００９７】
ステップＳ５において、合成部２８は、コンテンツＫＢiごとにスコアｓi,jを正規化して（正規化されたスコアｓ'i,jを求めて）、ステップＳ６に進む。
【００９８】
ステップＳ６において、合成部２８は、制御部２２から供給される論理演算式に従ってスコアｓ'i,jの論理演算を行うことにより、検索対象コンテンツごとの合成スコア（図５に示したコンテンツＡjの合成スコアＳj）を計算し、ソート部２９に供給して、ステップＳ７に進む。
【００９９】
ステップＳ７において、ソート部２９は、ステップＳ６で計算された合成スコアＳjの大きい順に検索対象コンテンツをソートし、その結果得られる検索対象コンテンツのリストを制御部２２に供給する。また、ステップＳ７では、制御部２２は、ソート部２９から供給される検索対象コンテンツのリストに基づいて、合成スコアの一番大きい検索対象コンテンツ（推薦コンテンツ）を、外部I/F部３０にコンテンツサーバ１２（のコンテンツＤＢ４１）から取得させ、ユーザコンテンツＤＢ２３に記憶させる。さらに、制御部２２は、推薦コンテンツをユーザコンテンツＤＢ２３からコンテンツ再生部３１に供給させ、再生させて、処理を終了する。
【０１００】
次に、図７のフローチャートを参照して、図６のステップＳ４におけるスコア計算処理について説明する。
【０１０１】
初めに、ステップＳ２１において、類似度計算部２６は、キーコンテンツの数と検索対象コンテンツの数をカウントする変数ｉとｊに１をセットして、ステップＳ２２に進む。
【０１０２】
ステップＳ２２において、類似度計算部２６は、式（１）を用いて、コンテンツＫＢi（キーコンテンツ）とコンテンツＡj（検索対象コンテンツ）との類似度Ｄi,jを計算し、スコア計算部２７に供給して、ステップＳ２３に進む。
【０１０３】
ステップＳ２３において、類似度計算部２６は、変数ｊが検索対象コンテンツの総数ｍと同一の値であるか否かを判定する。ステップＳ２３で、変数ｊが検索対象コンテンツの総数ｍと同一の値ではないと判定された場合、即ち、コンテンツＫＢiについて、全ての検索対象コンテンツＡjとのスコアｓi,jが計算されていない場合、ステップＳ２４に進み、類似度計算部２６は、変数ｊを１だけインクリメントして、ステップＳ２２に戻る。
【０１０４】
一方、ステップＳ２３で、変数ｊが検索対象コンテンツの総数ｍと同一の値であると判定された場合、即ち、コンテンツＫＢiについては、全ての検索対象コンテンツＡjとのスコアｓi,jが計算された場合、ステップＳ２５に進む。
【０１０５】
ステップＳ２５において、類似度計算部２６は、変数ｉがキーコンテンツの総数ｎと同一の値であるか否かを判定する。
【０１０６】
ステップＳ２５で、変数ｉがキーコンテンツの総数ｎと同一の値ではないと判定された場合、即ち、全てのキーコンテンツについてスコアｓi,jが計算されていない場合、ステップＳ２６に進み、変数ｉを１だけインクリメントして、ステップＳ２２に戻る。
【０１０７】
一方、ステップＳ２５で、変数ｉがキーコンテンツの総数ｎと同一の値であると判定された場合、即ち、全てのキーコンテンツについてスコアｓi,jが計算された場合、ステップＳ２７に進む。
【０１０８】
ステップＳ２７乃至Ｓ３２のうち、ステップＳ２８を除くステップＳ２７、およびＳ２９乃至Ｓ３２は、類似度計算部２６に代えてスコア計算部２７が処理を行うことを除いて、上述したステップＳ２１、およびＳ２３乃至Ｓ２６のそれぞれと同様の処理を行う。
【０１０９】
ステップＳ２８では、スコア計算部２７は、式（２）を用いて、類似度計算部２６から供給されるコンテンツＫＢiとコンテンツＡjとの類似度Ｄi,jから、コンテンツＫＢiとコンテンツＡjとのスコアｓi,jを計算し、合成部２８に供給して、ステップＳ２９に進む。
【０１１０】
即ち、ステップＳ２７乃至Ｓ３２では、１つのキーコンテンツに対し全ての検索対象コンテンツとのスコアｓが計算され、さらに、そのスコアｓの計算が、全てのキーコンテンツに対して繰り返される。これにより、コンテンツＫＢiとコンテンツＡjとのスコアｓi,jが計算された後、処理を戻る。
【０１１１】
以上のように、図６のコンテンツ提示処理によれば、入力部２１で入力される論理演算式に従って、検索対象コンテンツのなかから、ユーザの嗜好に最も合致する（合成スコアＳjの大きい）コンテンツを検出し、ユーザに提示することができる。即ち、ユーザに最適なコンテンツを提示することができる。
【０１１２】
また、コンテンツ提示処理では、ユーザは、入力部２１において、複数の検索キーと、その検索キー間の関係（論理演算）を表す論理演算子とからなる論理演算式を入力する。従って、１つの検索キー(キーコンテンツ)のみが指定され、その１つの検索キーに基づいてユーザに最適なコンテンツを提示する場合に比べて、ユーザの嗜好により近い（正確な）コンテンツを提示することができる。即ち、コンテンツの検索結果の精度を向上させることができる。
【０１１３】
ところで、入力部２１において、ユーザが論理演算式を入力する際、複数の検索キーなどに対して自分自身の好みを重みとして付加することができれば、検索結果として得られるコンテンツを、より自分の嗜好に合致させることができる、即ち、検索結果の精度をさらに向上することができると考えられる。
【０１１４】
そこで、図８は、検索キーやコンテンツの特徴量に対して重み係数を指定することができるようにした、コンテンツ提示システムのその他の実施の形態の構成例を示している（第２実施の形態）。なお、図１と対応する部分については、同一の符号を付してあり、その説明を省略する。
【０１１５】
即ち、図８のコンテンツ提示装置１１では、図１の入力部２１、制御部２２、類似度計算部２６、および合成部２８に代えて、入力部８１、制御部８２、類似度計算部８３、および合成部８４が設けられている。
【０１１６】
入力部８１では、第1実施の形態と同様に、論理演算式がユーザによって入力される他に、各検索キーに対する重み係数、および各特徴量に対する重み係数も、ユーザにより入力される。
【０１１７】
例えば、ユーザは、入力部８１において、
「論理演算式：（コンテンツＫＢ1  or  コンテンツKB2）  and  コンテンツKB3、
コンテンツKB1の重み係数：１．０、
コンテンツKB2の重み係数：０．５、
コンテンツKB3の重み係数：１．０、
テンポの重み係数：０．５、
ムードの重み係数：１．０、
音の多さの重み係数：０．５」
のように、論理演算式、各検索キーに対する重み係数、および各特徴量に対する重み係数を入力する。
【０１１８】
この入力がなされた場合、ユーザは、検索キーについては、（重み係数が０．５である）コンテンツKB2よりも（重み係数が１．０である）コンテンツＫＢ1とコンテンツKB3とを重視しており、コンテンツの特徴量については、（重み係数が０．５である）テンポおよび音の多さよりも（重み係数が１．０である）ムードを重視していることを表しており、コンテンツ提示装置１１は、そのようなユーザの嗜好を反映した楽曲の検索を行う。
【０１１９】
入力部８１は、ユーザにより入力される、複数の検索キー、複数の検索キーおよび検索キー間の論理演算子からなる論理演算式、各検索キーに対する重み係数、並びに各特徴量に対する重み係数を制御部８２に供給する。
【０１２０】
制御部８２は、入力部８１から供給される各特徴量に対する重み係数を類似度計算部８３に供給する。また、制御部８２は、入力部８１から供給される各検索キーに対する重み係数を合成部８４に供給する。
【０１２１】
なお、制御部８２は、上述した第1実施の形態と同様の処理も行う。従って、特徴量抽出部２４には、検索キーが供給され、合成部８４には、論理演算式と各検索キーの重み係数とが供給される。
【０１２２】
類似度計算部８３には、第1実施の形態と同様に、検索キーに対応する複数のキーコンテンツの特徴量が特徴量抽出部２４から供給される。また、類似度計算部８３には、全ての検索対象コンテンツの特徴量も特徴量ＤＢ２５から供給される。
【０１２３】
さらに、類似度計算部８３には、上述したように、各特徴量に対する重み係数が制御部８２から供給される。即ち、テンポ、ムード、および音の多さそれぞれに対する重み係数が、制御部８２から類似度計算部８３に供給される。
【０１２４】
類似度計算部８３は、制御部８２から供給される重み係数によって重み付けられたコンテンツの特徴量を用いて、キーコンテンツと検索対象コンテンツそれぞれとの類似度を、全てのキーコンテンツについて計算し、スコア計算部２７に供給する。
【０１２５】
即ち、類似度計算部８３では、上述の式（１）に代えて、次式（３）により、キーコンテンツと検索対象コンテンツとの類似度Ｄが計算される。
【０１２６】
Ｄ＝sqrt｛
((検索対象コンテンツ.テンポ−キーコンテンツ.テンポ)×テンポの重み係数)2
＋((検索対象コンテンツ.ムード−キーコンテンツ.ムード)×ムードの重み係数)2
＋((検索対象コンテンツ.音の多さ−キーコンテンツ.音の多さ)×音の多さの重み係数)2｝
・・・・・・・・・・・・（３）
【０１２７】
例えば、テンポに対する重み係数、ムードに対する重み係数、および音の多さに対する重み係数を、それぞれ上述の０．５，１．０，０．５として、図２と図３を参照して説明したコンテンツＫＢ1とコンテンツＡ1との類似度Ｄ1,1を、式（３）を用いて計算すると次のようになる。
【０１２８】
コンテンツＫＢ1とコンテンツＡ1との類似度Ｄ1,1
＝sqrt｛(（コンテンツＡ1.テンポ  −  コンテンツＫＢ1.テンポ）×テンポの重み係数)2
＋(（コンテンツＡ1. ムード  −  コンテンツＫＢ1. ムード）×ムードの重み係数)2
＋(（コンテンツＡ1. 音の多さ  −  コンテンツＫＢ1. 音の多さ）×音の多さの重み係数)2｝
＝sqrt｛（（0.4−0.5）×0.5）2＋（（0.2−0.3）×1.0）2＋（（0.8−0.6）×0.5）2｝
＝sqrt｛（-0.5）2＋（-1.0）2＋（0.2×0.5）2｝
≒1.125
【０１２９】
また、このとき、スコア計算部２７で計算される、コンテンツＫＢ1とコンテンツＡ1とのスコアｓ1,1は、式（２）を用いて次のように求めることができる（ただし、α＝0.1とする）。
【０１３０】
コンテンツＫＢ1とコンテンツＡ1とのスコアｓ1,1＝１÷（1.125＋0.1）
≒0.8
【０１３１】
合成部８４には、スコア計算部２７から、コンテンツＫＢiとコンテンツＡjとのスコアｓi,jが供給されるとともに、制御部８２から、論理演算式と各検索キーに対する重み係数とが供給される。
【０１３２】
合成部８４は、重み係数により重みが付加された検索キーを用いて、検索対象コンテンツごとの合成スコアを計算する。即ち、合成部８４は、論理演算式の検索キーに代えて、その検索キーに対応する重みが付加された、コンテンツＫＢiとコンテンツＡjとのスコアｓi,jを用いて論理演算を行い、検索対象コンテンツごとの合成スコアＳ（コンテンツＡjの合成スコアＳj）を計算する。
【０１３３】
以上のように構成される図８のコンテンツ提示システムでは、入力部８１において、論理演算式（複数の検索キーと複数の検索キー間の論理演算を指定する論理演算子）、各検索キーに対する重み係数、および各特徴量に対する重み係数がユーザにより入力される。即ち、入力部８１では、各検索キーおよびコンテンツの各特徴量について、ユーザの好みに応じた重みが入力される。
【０１３４】
特徴量抽出部２４は、制御部８２から供給される検索キーによって指定されるコンテンツ（キーコンテンツ）をユーザコンテンツＤＢ２３から取得し、その特徴量を抽出して類似度計算部８３に供給する。類似度計算部８３は、制御部８２から供給される各特徴量に対する重み係数により重み付けられたコンテンツの特徴量を用いて、キーコンテンツと検索対象コンテンツとの類似度Ｄを計算し、スコア計算部２７に供給する。
【０１３５】
そして、スコア計算部２７において、キーコンテンツと検索対象コンテンツとの類似度Ｄがスコアｓに変換され、合成部８４において、入力部８１で入力された論理演算式と各検索キーに対する重み係数とに従い、検索対象コンテンツごとにスコアｓが合成される（検索対象コンテンツごとの合成スコアＳが計算される）。そして、ソート部２９から制御部８２に合成スコアＳが大きい順の検索対象コンテンツのリストが供給され、制御部８２は、外部I/F部３０に、合成スコアＳが一番大きい（リストの最上位の）コンテンツを、コンテンツサーバ１２のコンテンツＤＢ４１から取得させ、ユーザコンテンツＤＢ２３に記憶させるとともに、コンテンツ再生部３１に再生させる。
【０１３６】
図９は、入力部８１において、論理演算式（複数の検索キーおよび論理演算子）の他に、各検索キーに対する重み係数が入力された場合の合成スコアＳの計算例を示している。なお、ユーザが入力した論理演算式は、図５で示した例と対応している。
【０１３７】
即ち、図９に示すように、入力部８１において、第1実施の形態と同様に、「コンテンツＫＢ1andコンテンツＫＢ2and・・・・・・andコンテンツＫＢn」の論理演算式がユーザにより入力されている。さらに、入力部８１では、コンテンツＫＢ1，コンテンツＫＢ2，・・・、およびコンテンツＫＢnの検索キーに対して、それぞれ、ＷKB1，ＷKB2，・・・・、およびＷKBnの重み係数が入力されている。
【０１３８】
この場合、コンテンツＡjの合成スコアＳjは、コンテンツＫＢiの重み係数ＷKBiが乗算されたスコアｓ'i,jを、論理演算子andに対応して互いに乗算することにより求めることができる。
【０１３９】
即ち、コンテンツＡ1の合成スコアＳ1は、図９に示すように、（コンテンツＫＢ1とコンテンツＡ1とのスコアｓ'1,1×コンテンツＫＢ1の重み係数ＷKB1）×（コンテンツＫＢ2とコンテンツＡ1とのスコアｓ'2,1×コンテンツＫＢ2の重み係数ＷKB2）×・・・×（コンテンツＫＢnとコンテンツＡ1とのスコアｓ'n,1×コンテンツＫＢnの重み係数ＷKBn）で求められる。
【０１４０】
また、コンテンツＡ2の合成スコアＳ2は、（コンテンツＫＢ1とコンテンツＡ2とのスコアｓ'1,2×コンテンツＫＢ1の重み係数ＷKB1）×（コンテンツＫＢ2とコンテンツＡ2とのスコアｓ'2,2×コンテンツＫＢ2の重み係数ＷKB2）×・・・×（コンテンツＫＢnとコンテンツＡ2とのスコアｓ'n,2×コンテンツＫＢnの重み係数ＷKBn）で求められる。
【０１４１】
同様にして、コンテンツＡ3乃至Ａmについても、各検索キーの重みを考慮した合成スコアＳ3乃至Ｓmが求められる。
【０１４２】
次に、入力部８１において、論理演算式内の所定の論理演算にカッコを付すことにより、論理演算の合成順序を指定した場合の合成スコアＳの計算について説明する。
【０１４３】
例えば、入力部８１において、論理演算式、および各検索キーに対する重み係数が、図１０に示すように入力されたとする。
【０１４４】
即ち、入力部８１において、ユーザは、論理演算式を、「（コンテンツＫＢ1  and  コンテンツKB2  and  コンテンツKB3  ）orコンテンツＫＢ4」と入力している。また、ユーザは、コンテンツKB1乃至KB4の重み係数を、それぞれＷKB1乃至ＷKB4と入力している。
【０１４５】
この入力がなされた場合、合成部８４は、論理演算式による絞込みを正しく行うために、換言すれば、各検索キーに対する重みを正しく検索結果に反映するために、カッコ内の論理演算を先に行う。また、カッコの組の数が複数ある場合には、内側のカッコが先に計算される。
【０１４６】
従って、合成部８４は、初めに、（コンテンツＫＢ1  and  コンテンツKB2  and  コンテンツKB3  ）のスコアｓ1_2_3,jを計算する。具体的には、合成部８４において、次式の計算が行われる。
【０１４７】
ｓ1_2_3,1＝ｓ1,1×ｓ2,1×ｓ3,1
ｓ1_2_3,2＝ｓ1,2×ｓ2,2×ｓ3,2
・
・
ｓ1_2_3,m＝ｓ1,m×ｓ2,m×ｓ3,m
【０１４８】
ここで、スコアｓ1,j×ｓ2,j×ｓ3,jの計算の結果得られる（コンテンツＫＢ1  and  コンテンツKB2  and  コンテンツKB3）のスコアｓ1_2_3,jは、スコアｓ1,j，ｓ2,j，またはｓ3,jそれぞれの値により、コンテンツＫＢ4のスコアｓ4,jに対して、大きくなったり、小さくなる可能性がある。この場合、（コンテンツＫＢ1  and  コンテンツKB2  and  コンテンツKB3）とコンテンツＫＢ4とは、演算を対等な関係として行うことができなくなる。
【０１４９】
このため、合成部８４は、スコアｓ1_2_3,1乃至ｓ1_2_3,mのなかの最大値を１としてスコアｓ1_2_3,jを正規化したスコアｓ’1_2_3,jを求める。また、コンテンツＫＢ4のスコアｓi,jについても同様に、正規化されたスコアｓ'i,jが求められる。これにより、（コンテンツＫＢ1  and  コンテンツKB2  and  コンテンツKB3）のスコアｓ’1_2_3,jとコンテンツＫＢ4のスコアｓ'4,jとは、互いに対等なor演算を行うことができる。
【０１５０】
次に、合成部８４は、スコアｓ’1_2_3,jの重み係数WKB1_2_3を求める。重み係数WKB1_2_3は、例えば、ＷKB1乃至ＷKB3の平均により求めることができる。即ち、WKB1_2_3＝（ＷKB1×ＷKB2×ＷKB3）／３とすることができる。
【０１５１】
そして、合成部８４は、重み係数WKB1_2_3が乗算されたスコアｓ’1_2_3,jと、重み係数ＷKB4が乗算されたスコアｓ'4,jとを、論理演算子orに対応する演算を行う（加算する）ことにより、検索対象コンテンツごとの合成スコアＳを計算する。
【０１５２】
即ち、コンテンツＡ1の合成スコアＳ1は、図１０に示すように、スコアｓ’1_2_3,1×WKB1_2_3＋ｓ'4,1×ＷKB4で求められる。
【０１５３】
また、コンテンツＡ2の合成スコアＳ2は、スコアｓ’1_2_3,2×WKB1_2_3＋ｓ'4,2×ＷKB4で求められる。
【０１５４】
同様にして、コンテンツＡ3乃至Ａmについても、検索キー間の論理演算に優先順位（合成順序）が指定され、各検索キーに対する重みが考慮された合成スコアＳ3乃至Ｓmを求めることができる。
【０１５５】
次に、図１１のフローチャートを参照して、入力部８１において図１０に示す入力が行われたときの、コンテンツ提示装置１１のコンテンツ提示処理について説明する。
【０１５６】
初めに、ステップＳ５１で、論理演算式、および各検索キーに対する重み係数がユーザにより入力されたか否かを判定する。ステップＳ５１で、論理演算式、および各検索キーに対する重み係数が入力されたと判定されるまで、ステップＳ５１の処理が繰り返され、論理演算式、および各検索キーに対する重み係数が入力されたと判定された場合、ステップＳ５２に進む。
【０１５７】
ステップＳ５２乃至Ｓ５４は、図６のステップＳ２乃至Ｓ４の処理と同様であるので、その説明を省略する。また、ステップＳ５４のスコア計算処理は、図７を参照して説明した処理と同様である。なお、ステップＳ５１において、各特徴量に対する重み係数も入力されている場合には、上述した図７のステップＳ２２の、コンテンツＫＢiとコンテンツＡjとの類似度Ｄi,jの計算において、コンテンツＫＢiとコンテンツＡjの特徴量どうしの差分値に、対応する特徴量の重み係数が乗算される。
【０１５８】
ステップＳ５４の後、ステップＳ５５に進み、合成部８４は、（コンテンツＫＢ1  and  コンテンツKB2  and  コンテンツKB3）のスコアｓ1_2_3,jを計算し、さらにスコアｓ1_2_3,jを正規化したスコアｓ’1_2_3,jを求める。また、ステップＳ５５では、合成部８４は、ＷKB1乃至ＷKB3の平均からスコアｓ’1_2_3,jに対する重み係数WKB1_2_3を求める。
【０１５９】
さらに、ステップＳ５５において、合成部８２は、コンテンツＫＢ4のスコアｓ4,jを正規化したスコアｓ'4,jを求め、ステップＳ５６に進む。
【０１６０】
ステップＳ５６において、合成部８４は、重み係数WKB1_2_3が乗算されたスコアｓ’1_2_3,jと、重み係数ＷKB4が乗算されたスコアｓ'4,jとを、論理演算子orに対応する演算を行う（加算する）ことにより、検索対象コンテンツごとの合成スコア（図１０に示したコンテンツＡjの合成スコアＳj）を計算して、ステップＳ５７に進む。
【０１６１】
ステップＳ５７では、図７のステップＳ７と同様の処理が行われる。即ち、ソート部２９は、ステップＳ５６で計算されたコンテンツＡjの合成スコアＳjの大きい順に検索対象コンテンツをソートし、その結果得られる検索対象コンテンツのリストを制御部８２に供給する。また、ステップＳ５７では、制御部８２は、ソート部２９から供給される検索対象コンテンツのリストに基づいて、合成スコアＳjの一番大きい検索対象コンテンツ（推薦コンテンツ）を、外部I/F部３０に、コンテンツサーバ１２（のコンテンツＤＢ４１）から取得させ、ユーザコンテンツＤＢ２３に記憶させる。さらに、制御部８２は、推薦コンテンツをユーザコンテンツＤＢ２３からコンテンツ再生部３１に供給させ、再生させて、処理を終了する。
【０１６２】
図１１のコンテンツ提示処理によれば、図９または図１０に示したように、論理演算式とともに、各検索キーに対する重み係数、または各特徴量に対する重み係数が入力された場合、その重み係数を反映してコンテンツを検索し、ユーザに最適なコンテンツとしてユーザに提示することができる。
【０１６３】
従って、例えば、テンポ、ムード、音の多さの３つの特徴量のうち、ムードに対する重みを大きく、テンポと音の多さの２つに対する重みを小さく設定した場合、ムードを重視した楽曲の検索およびユーザへの提示が可能となる。
【０１６４】
なお、上述した実施の形態では、入力部２１（入力部８１）においてユーザが入力する論理演算式のうちの検索キーを、ユーザ自身が保有しているコンテンツ（ユーザコンテンツＤＢ２３）のなかから指定し、検索対象コンテンツを、ユーザ自身が保有していないコンテンツ（コンテンツサーバ１２のコンテンツＤＢ４１）から検索する例で説明したが、検索キー（キーコンテンツ）および検索対象コンテンツは、その特徴量が既知であれば、ユーザ自身が保有しているか、外部のサーバが保有しているかを問わない。
【０１６５】
例えば、検索キー（キーコンテンツ）および検索対象コンテンツの両方を、コンテンツ提示装置１１のユーザコンテンツＤＢ２３に記憶されているコンテンツとすることができる。この場合、図７および図１１のコンテンツ提示処理は、ユーザコンテンツＤＢ２３に記憶されているコンテンツを、そのユーザの嗜好が強い順にユーザに提示する、コンテンツのパーソナライズ（個人化）機能として作用する。
【０１６６】
具体的には、入力部８１において、ユーザコンテンツＤＢ２３に記憶されている多数の楽曲（コンテンツ）のなかの、既にユーザが聴いた楽曲のいくつかをキーコンテンツとし、そのキーコンテンツの各楽曲に対して、例えば、大好きから大嫌いまでの嗜好の度合いを１．０乃至−１．０で割り当て、検索キーに対する重み係数とする。また、入力部８１において、検索キー間の論理演算子を全てor演算とする。
【０１６７】
例えば、ユーザは、「論理演算式：楽曲１or楽曲２or楽曲3、楽曲１の重み係数：０．３、楽曲２の重み係数：１．０、楽曲３の重み係数：−０．５」のように、入力部２１において入力する。
【０１６８】
このように入力された場合、コンテンツ提示装置１１は、楽曲１、楽曲２、および楽曲３についてのユーザの嗜好を基に、ユーザコンテンツＤＢ２３に記憶されている各検索対象コンテンツをユーザの嗜好に合わせて最適化する（パーソナライズする）。
【０１６９】
また、論理演算子and，or，notに対応する演算としては、上述した乗算（×）、加算（＋）、減算（−）以外の演算を採用することが可能である。例えば、コンテンツＰとコンテンツＱの２つのコンテンツの論理演算において、(コンテンツＰ and コンテンツＱ)の演算をコンテンツＰとコンテンツＱのスコアのうちの小さいスコアとし、(コンテンツＰ or コンテンツＱ)の演算をコンテンツＰとコンテンツＱのスコアのうちの大きいスコアとし、(コンテンツＰ not コンテンツＱ)の演算をコンテンツＱのスコアがある閾値以上である場合をゼロ、それ以外の場合をコンテンツＰのスコアとした結果などを採用することが可能である。
【０１７０】
さらに、上述した実施の形態では、類似度およびスコアの計算を、コンテンツごとに行うようにしたが、さらに細かく、テンポやムードなどのコンテンツの特徴量ごとに行うようにしても良い。
【０１７１】
また、上述した実施の形態では、入力部２１においてユーザが入力する検索キーを、楽曲のタイトルとしたが、入力部２１には、その他、テンポの速い曲などのコンテンツの特徴を検索キーとして入力することもできる。この場合、コンテンツ提示装置１１では、例えば、テンポ（コンテンツの特徴量）が所定の値以上の楽曲（コンテンツ）を検索キーとして与えられたことと同様の処理を行うことができる。
【０１７２】
上述した一連の処理は、専用のハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアによって行う場合、例えば、その一連の処理は、図１２に示されるような（パーソナル）コンピュータにプログラムを実行させることにより実現することができる。
【０１７３】
図１２において、CPU（Central Processing Unit）３０１は、ROM（Read Only Memory）３０２に記憶されているプログラム、または記憶部３０８からRAM（Random Access Memory）３０３にロードされたプログラムに従って各種の処理を実行する。RAM３０３にはまた、CPU３０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１７４】
CPU３０１は、例えば、図１のコンテンツ提示装置１１の制御部２２、特徴量抽出部２４、類似度計算部２６、スコア計算部２７、合成部２８、およびソート部２９の処理を行う。
【０１７５】
CPU３０１、ROM３０２、およびRAM３０３は、バス３０４を介して相互に接続されている。このバス３０４にはまた、入出力インタフェース３０５も接続されている。
【０１７６】
入出力インタフェース３０５には、キーボード、マウスなどよりなる入力部３０６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部３０７、ハードディスクなどより構成される記憶部３０８、モデム、ターミナルアダプタなどより構成される通信部３０９が接続されている。通信部３０９は、インターネットなどのネットワークを介しての通信処理を行う。
【０１７７】
入力部３０６は、例えば、コンテンツ提示装置１１の入力部２１として、記憶部２０８は、例えば、コンテンツ提示装置１１のユーザコンテンツＤＢ２３および特徴量ＤＢ２５として機能する。また、通信部３０９は、例えば、コンテンツ提示装置１１の外部I/F部３０として機能する。
【０１７８】
入出力インタフェース３０５にはまた、必要に応じてドライブ３１０が接続され、磁気ディスク３２１、光ディスク３２２、光磁気ディスク３２３、或いは半導体メモリ３２４などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部３０８にインストールされる。
【０１７９】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１８０】
【図１】本発明を適用したコンテンツ提示システムの一実施の形態の構成例を示すブロック図である。
【図２】キーコンテンツの特徴量の例を示す図である。
【図３】特徴量ＤＢ２５に記憶されている特徴量の例を示す図である。
【図４】スコア計算部２７によるスコアの計算を説明する図である。
【図５】合成部２８によるスコアの合成を説明する図である。
【図６】コンテンツ提示処理を説明するフローチャートである。
【図７】スコア計算処理を説明するフローチャートである。
【図８】本発明を適用したコンテンツ提示システムのその他の実施の形態の構成例を示すブロック図である。
【図９】合成部８４によるスコアの合成を説明する図である。
【図１０】合成部８４によるスコアの合成を説明する図である。
【図１１】コンテンツ提示処理を説明するフローチャートである。
【図１２】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１８１】
１１    コンテンツ提示装置，  １２    コンテンツサーバ，  ２１    入力部，  ２２    制御部，  ２３    ユーザコンテンツＤＢ，  ２４    特徴量抽出部，  ２５    特徴量ＤＢ，  ２６    類似度計算部，  ２７    スコア計算部，  ２８    合成部，  ２９    ソート部，  ８１    入力部，  ８２    制御部，  ８３    類似度計算部，  ８４    合成部
【図１】
2006040085.tif 000003
【図２】
2006040085.tif 000004
【図３】
2006040085.tif 000005
【図４】
2006040085.tif 000006
【図５】
2006040085.tif 000007
【図６】
2006040085.tif 000008
【図７】
2006040085.tif 000009
【図８】
2006040085.tif 000010
【図９】
2006040085.tif 000011
【図１０】
2006040085.tif 000012
【図１１】
2006040085.tif 000013
【図１２】
2006040085.tif 000014