(57)【要約】【課題】クラスタリング手法を適用して、短時間で正確な検索を実現する情報検索方法、装置およびプログラムを提供する。【解決手段】検索クエリ構築モジュール６は、ユーザの嗜好に適合した楽曲のクエリベクトルを管理するクエリDB６１と、クエリDB６１に登録されているクエリベクトル間の類似度を計算する類似度計算部６２と、相互に類似する複数のクエリベクトル同士を一つの嗜好情報に統合するクエリベクトル統合部６３と、統合後の新たなクエリベクトルをクエリDB６１に新規登録し、統合された２つの類似するクエリベクトルをクエリDB６１から削除することでクエリDB６１を更新する検索クエリ更新部６４とを含み、類似度の高いクエリベクトル同士が全て統合され、相互に類似しないクエリベクトルの集合である検索クエリQを構築する。【選択図】図３
2008165714.tif 000002
【特許請求の範囲】
【請求項１】
検索対象情報の集合の中からユーザの嗜好に適合した情報を検索する情報検索装置において、
各検索対象情報の特徴ベクトルを生成する情報ベクトル化手段と、
各検索対象情報を、その特徴ベクトルに基づいて複数のクラスタにクラスタリングするクラスタリング手段と、
前記各クラスタの代表ベクトルを生成する代表ベクトル生成手段と、
検索対象情報に関する嗜好の入力をユーザに促し、入力された嗜好情報を取り込む嗜好取込手段と、
前記入力された嗜好情報に基づいて検索クエリを構築する検索クエリ構築手段と、
前記各クラスタの代表ベクトルと検索クエリとを比較し、検索対象のクラスタを類似度の高い少なくとも一つのクラスタに絞り込む検索対象絞込手段と、
前記検索対象クラスタに属する情報の特徴ベクトルと前記検索クエリとを比較し、類似度の高い情報を抽出する検索手段と、
前記検索結果をユーザに提供する検索結果出力手段とを含むことを特徴とする情報検索装置。
【請求項２】
前記クラスタリング手段は、
検索対象情報の一部を、その特徴ベクトルに基づいて複数のクラスタにクラスタリングする手段と、
各クラスタの代表ベクトルと前記一部以外の各情報の特徴ベクトルとを比較して、当該一部以外の各情報の所属クラスタを決定する手段とを含むことを特徴とする請求項１に記載の情報検索装置。
【請求項３】
前記検索クエリ構築手段は、
入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手段と、
各クエリベクトルの類似度を算出する手段と、
相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する統合手段とを含み、
相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする請求項１または２に記載の情報検索装置。
【請求項４】
前記検索対象絞込手段は、検索クエリのクエリベクトルごとに検索対象クラスタを選択し、
前記検索手段は、検索クエリの各クエリベクトルに類似した情報を、当該各クエリベクトルに基づいて絞り込まれた検索対象クラスタを対象に検索することを特徴とする請求項３に記載の情報検索装置。
【請求項５】
各検索対象クラスタに属する各情報の特徴ベクトルと検索クエリとの類似度を、各検索対象クラスタ内での情報分布に基づいて正規化する手段を具備し、
前記検索手段は、前記正規化された類似度を対象に、類似度の高い情報を抽出することを特徴とする請求項１ないし４のいずれかに記載の情報検索装置。
【請求項６】
検索対象情報に関するユーザの複数の嗜好に基づいて構築された検索クエリで情報を検索する情報検索装置において、
入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手段と、
各クエリベクトルの類似度を算出する手段と、
相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する統合手段とを含み、
相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする情報検索装置。
【請求項７】
検索クエリのクエリベクトルごとに各検索対象情報との類似度を求め、類似度の高い情報をクエリベクトルごとに抽出する検索手段と、
前記クエリベクトルごとに抽出された検索結果を統合してユーザに提供する検索結果出力手段とを含むことを特徴とする請求項６に記載の情報検索装置。
【請求項８】
検索対象情報の集合の中からユーザの嗜好に適合した情報を検索する情報検索方法において、
各検索対象情報の特徴ベクトルを生成する手順と、
各検索対象情報を、その特徴ベクトルに基づいて複数のクラスタにクラスタリングする手順と、
前記各クラスタの代表ベクトルを生成する手順と、
検索対象情報に関する嗜好の入力をユーザに促し、入力された嗜好情報を取り込む手順と、
前記入力された嗜好情報に基づいて検索クエリを構築する手順と、
前記各クラスタの代表ベクトルと検索クエリとを比較し、検索対象のクラスタを類似度の高い少なくとも一つのクラスタに絞り込む手順と、
前記検索対象クラスタに属する情報の特徴ベクトルと前記検索クエリとを比較し、類似度の高い情報を抽出する手順と、
前記検索結果をユーザに提供する手順とを含むことを特徴とする情報検索方法。
【請求項９】
前記検索クエリを構築する手順が、
入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手順と、
各クエリベクトルの類似度を算出する手順と、
相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する手順とを含み、
相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする請求項８に記載の情報検索方法。
【請求項１０】
検索対象情報に関するユーザの複数の嗜好に基づいて構築された検索クエリで情報を検索する情報検索方法において、
入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手順と、
各クエリベクトルの類似度を算出する手順と、
相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する手順とを含み、
相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする情報検索方法。
【請求項１１】
検索対象情報の集合の中からユーザの嗜好に適合した情報を検索する情報検索プログラムにおいて、
各検索対象情報の特徴ベクトルを生成する手順と、
各検索対象情報を、その特徴ベクトルに基づいて複数のクラスタにクラスタリングする手順と、
前記各クラスタの代表ベクトルを生成する手順と、
検索対象情報に関する嗜好の入力をユーザに促し、入力された嗜好情報を取り込む手順と、
前記入力された嗜好情報に基づいて検索クエリを構築する手順と、
前記各クラスタの代表ベクトルと検索クエリとを比較し、検索対象のクラスタを類似度の高い少なくとも一つのクラスタに絞り込む手順と、
前記検索対象クラスタに属する情報の特徴ベクトルと前記検索クエリとを比較し、類似度の高い情報を抽出する手順と、
前記検索結果をユーザに提供する手順とをコンピュータに実行させることを特徴とする情報検索プログラム。
【請求項１２】
前記検索クエリを構築する手順が、
入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手順と、
各クエリベクトルの類似度を算出する手順と、
相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する手順とを含み、
相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする請求項１１に記載の情報検索プログラム。
【請求項１３】
検索対象情報に関するユーザの複数の嗜好に基づいて構築された検索クエリで情報を検索する情報検索プログラムにおいて、
入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手順と、
各クエリベクトルの類似度を算出する手順と、
相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する手順とをコンピュータに実行させ、
相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする情報検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数の情報の中からユーザの嗜好に合った情報を検索する情報検索方法
、装置およびプログラムに係り、特に、クラスタリング手法を適用して、短時間で正確な情報検索を実現する情報検索方法、装置およびプログラムに関する。
【背景技術】
【０００２】
ユーザの嗜好に基づく音楽情報検索技術が特許文献１および非特許文献１に開示されている。ここでは、ユーザからクエリとして入力された、楽曲と嗜好情報（好きな楽曲のサンプル）を基に楽曲の音響的な特徴を解析し、ユーザの嗜好に適合する楽曲を検索してユーザに提示している。また、ユーザからの適合フィードバック情報を利用することで検索精度の向上が図られている。
【０００３】
また、上記した技術の改良として、特許文献２および非特許文献２には、検索対象楽曲をクラスタリングし、そのクラスタリング結果を利用して特徴空間を再構築することにより、検索精度向上を図る手法が開示されている。
【特許文献１】特開２００３−３１６８１８号公報
【特許文献２】特開２００６−２４３８８７号公報
【非特許文献１】K. Hoashi et al.: Personalization of user profiles for content-based music retrieval based on user preferences, Proc of ACM Multimedia 2003, pp. 110-119, 2003.
【非特許文献２】K. Hoashi et al.: Feature space modification method for content-based music retrieval based on user preferences, Proc of ICASSP 2006, Vol. V, pp. 517-520, 2006.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記した従来技術ではいずれも、検索対象の楽曲の全てが検索クエリと比較され、その類似度に基づいてユーザ嗜好に合致しているか否かが判定されるので、検索対象の楽曲数が増加するにつれて情報検索の処理時間が増加してしまう。そして、検索対象楽曲数が膨大になると、実用的なシステムの構築が困難になるおそれがある。
【０００５】
また、上記した従来技術では、検索クエリとして、ユーザが好む複数の楽曲のサンプルを入力することが前提となっているが、クエリに含まれる楽曲の音響的特徴が著しく異なる場合、検索の精度に悪影響を及ぼす可能性が高い。
【０００６】
たとえば、静かな楽曲とにぎやかな楽曲とが嗜好情報として入力されると、上記した従来技術では、両楽曲の特徴ベクトルの和を算出して検索クエリを生成するため、クエリは両楽曲の中間的な特徴を持ち、静かでもにぎやかでもない楽曲の特徴をもつことになる。このようなクエリに基づいて検索された楽曲の多くは、ユーザがそもそも入力した楽曲とは類似していない特徴を有する楽曲となり、結果的に当該ユーザにとっての検索精度が劣化する要因となりえる。
【０００７】
本発明の目的は、上記した従来技術の課題を解決し、クラスタリング手法を適用して、短時間で正確な情報検索を実現する情報検索方法、装置およびプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記した目的を達成するために、本発明は、検索対象情報の集合の中からユーザの嗜好に適合した情報を検索する情報検索装置において、以下のような手段を含むことを特徴とする。
【０００９】
(1)各検索対象情報の特徴ベクトルを生成する情報ベクトル化手段と、各検索対象情報を、その特徴ベクトルに基づいて複数のクラスタにクラスタリングするクラスタリング手段と、前記各クラスタの代表ベクトルを生成する代表ベクトル生成手段と、検索対象情報に関する嗜好の入力をユーザに促し、入力された嗜好情報を取り込む嗜好取込手段と、前記入力された嗜好情報に基づいて検索クエリを構築する検索クエリ構築手段と、
【００１０】
前記各クラスタの代表ベクトルと検索クエリとを比較し、検索対象のクラスタを類似度の高い少なくとも一つのクラスタに絞り込む検索対象絞込手段と、前記検索対象クラスタに属する情報の特徴ベクトルと前記検索クエリとを比較し、類似度の高い情報を抽出する検索手段と、この検索結果をユーザに提供する検索結果出力手段とを含む。
【００１１】
(2)検索クエリ構築手段が、入力された各嗜好情報の特徴量を代表するクエリベクトルを生成する手段と、各クエリベクトルの類似度を算出する手段と、相互に類似する複数のクエリベクトル同士を一つのクエリベクトルに統合する統合手段とを含み、相互に類似しないクエリベクトルの集合が検索クエリとされることを特徴とする。
【００１２】
(3)検索対象クラスタに属する各情報の特徴ベクトルと検索クエリとの類似度を、各検索対象クラスタ内での情報分布に基づいて正規化する手段を具備し、検索種が、正規化された類似度を対象に、類似度の高い情報を抽出することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、以下のような効果が達成される。
【００１４】
(1)クエリベクトルごとに楽曲の検索対象クラスタが予め絞り込まれるので、高速検索が可能になる。
【００１５】
(2)検索クエリでは類似度の高いクエリベクトル同士が予め統合され、相互に類似しないクエリベクトルの集合となっており、このクエリベクトルごとに各楽曲との類似度が算出される。したがって、検索クエリが静かな楽曲とにぎやかな楽曲とを含んでいても、それぞれに類似した楽曲が独立して検索されるので、ユーザの嗜好を正確に反映した楽曲検索が可能になる。
【００１６】
(3)楽曲クラスタ内での楽曲分布に基づいて、この楽曲クラスタとクエリベクトルとの類似度が正規化されるので、各楽曲クラスタ内での楽曲分布が一様ではなく偏っていても正確な類似度算出が可能になる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の最良の実施の形態について詳細に説明する。図１は、本発明の情報検索装置を適用した楽曲検索システムの主要部の構成を示した機能ブロック図であり、ユーザが好みの楽曲を指定すると、この楽曲に適合した楽曲が多数の検索対象楽曲の中から検索されてユーザに提供される。
【００１８】
楽曲データベース(DB)１には、検索対象となる多数の楽曲が登録されている。楽曲ベクトル化モジュール２は、検索対象楽曲の音源から特徴抽出を行って各楽曲の特徴ベクトルを生成する。ここでは、前記特許文献２に開示されているツリーベクトル量子化手法（TreeQ）などを採用することにより各楽曲の特徴ベクトルが生成される。
【００１９】
クラスタリングモジュール３は、各楽曲の特徴ベクトルに基づいて検索対象楽曲のクラスタリングを行う。クラスタリングの手法としては、たとえばk-meansクラスタリングなどの既存アルゴリズムを採用することができる。なお、検索対象楽曲数が多い場合、全ての楽曲ベクトルをクラスタリングするためには膨大な処理時間が必要となるので、時間短縮のために、たとえば検索対象楽曲の一部をサンプリングしてクラスタリング処理を行うようにすることが望ましい。
【００２０】
本実施形態のクラスタリングモジュール３は、検索対象楽曲の一部をサンプリングし、クラスタリング処理を行って複数の楽曲クラスタを生成する楽曲クラスタ生成部３１と、各楽曲クラスタの特徴ベクトルclを、その重心などに基づいて生成し、この特徴ベクトルを各クラスタの代表ベクトルとしてクラスタDB４に登録する代表ベクトル生成部３２と、残りの全ての楽曲に関して、その特徴ベクトルと各楽曲クラスタの代表ベクトルとの類似度を算出し、最も類似度が高い楽曲クラスタを各楽曲の所属クラスタとして決定し、所属クラスタDB５に登録する楽曲クラスタリング部３３とから構成されている。前記所属クラスタDB５では、全ての検索対象楽曲が所属クラスタの識別子と対応付けられている。
【００２１】
嗜好情報取込モジュール１０は、検索対象楽曲に関する嗜好の入力をユーザに促し、入力された嗜好情報を取り込んで、その音響的な特徴量を代表するクエリベクトルを生成する。この嗜好情報取込モジュール１０には、ユーザが楽曲やそのサンプルを入力しても良いし、あるいは音響的な特徴ごとに分類された複数のデモ楽曲をユーザに視聴させ、そのいずれかをユーザに選択させることで、ユーザの好みの楽曲を認識するようにしても良い。
【００２２】
検索クエリ構築モジュール６は、ユーザの好みの楽曲またはそのサンプルに基づいて検索クエリを構築する。本実施形態では、後に詳述するように、ユーザによって入力あるいは指定された複数の楽曲の特徴ベクトルを比較し、音響的な特徴量が相互に類似している楽曲の特徴ベクトルは一つに統合することで、特徴が相互に類似していない複数のクエリベクトルqiの集合として検索クエリQを構築する。
【００２３】
検索対象絞込モジュール７は、検索クエリ構築モジュール６で構築された検索クエリQに基づいて検索対象の楽曲クラスタCを絞り込む。具体的には、検索クエリQを構成する個々のクエリベクトルqiと各楽曲クラスタの代表ベクトルclとの類似度を算出し、類似度が所定の基準値よりも高い楽曲クラスタのみを検索対象とする。なお、類似度が前記基準値よりも高い楽曲クラスタが一つも存在しないために楽曲クラスタCを絞り込めなくなる事態を避けるため、この検索対象絞込モジュール７では、検索クエリQの各クエリベクトルqiと各楽曲クラスタの代表ベクトルclとの類似度を算出し、類似度の上位N件の楽曲クラスタが検索対象とされるようにしても良い。
【００２４】
楽曲検索モジュール８は、検索対象選択モジュール７で絞り込まれた楽曲クラスタに所属する楽曲のみを対象に、その特徴ベクトルと検索クエリQとの類似度を算出する。具体的には、絞り込まれた楽曲クラスタに属する全ての楽曲の特徴ベクトルdkと、検索クエリQを構成する各クエリベクトルqiとの類似度を算出し、楽曲クラスタごとに類似度が上位の楽曲とそのスコアとを出力する。
【００２５】
本実施形態では、各類似度の算出においてコサイン類似度を採用し、前記楽曲検索モジュール８であれば、クエリベクトルqiと楽曲の特徴ベクトルdkとの類似度Sim(qi，dk)が次式(1)に基づいて算出される。
【００２６】
【数１】
2008165714.tif 000003
【００２７】
検索結果統合モジュール９は、楽曲クラスタ別に楽曲検索モジュール８で得られた検索結果を統合する。統合された検索結果（楽曲の一覧）は、最終的な検索結果としてユーザに提示される。
【００２８】
図２は、前記クラスタリングモジュール３による楽曲クラスタリングの手順を示したフローチャートである。
【００２９】
ステップＳ１１では、前記楽曲クラスタ生成部３１により、検索対象楽曲の一部が楽曲DB１からランダムに抽出される。例えば、検索対象楽曲が１００万曲あれば、１万曲程度がランダムに抽出される。ステップＳ１２では、前記抽出された一部の楽曲が、その特徴ベクトルに基づいてクラスタリングされ、複数の楽曲クラスタが生成される。ステップＳ１３では、各楽曲クラスタの音響的な特徴量を示すクラスタ代表ベクトルclが、前記代表ベクトル生成部３２により、各楽曲クラスタに分類されている楽曲の特徴ベクトルの重心として算出される。ステップＳ１４では、前記楽曲クラスタリング部３３により、前記抽出されなかった残りの全ての楽曲の特徴ベクトルと各クラスタ代表ベクトルとの類似度が算出され、各楽曲が、ベクトル間の類似度が最も近いいずれかの楽曲クラスタに分類される。
【００３０】
図３は、前記検索クエリ構築モジュール６の構成を示したブロック図であり、ユーザの嗜好に適合した楽曲のクエリベクトルを管理するクエリDB６１と、クエリDB６１に登録されているクエリベクトル間の類似度を計算する類似度計算部６２と、相互に類似する複数のクエリベクトル同士を一つの嗜好情報に統合するクエリベクトル統合部６３と、統合後の新たなクエリベクトルをクエリDB６１に新規登録し、統合された２つの類似するクエリベクトルを前記クエリDB６１から削除することで前記クエリDB６１を更新する検索クエリ更新部６４とを含み、このような更新が繰り返されることで、類似度の高いクエリベクトル同士が全て統合され、相互に類似しないクエリベクトルの集合である検索クエリQが構築される。
【００３１】
図４は、前記検索クエリ構築モジュール６による検索クエリQの構築手順を示したフローチャートである。
【００３２】
ステップＳ２１では、ユーザの嗜好に適合した複数の楽曲の特徴ベクトルがクエリベクトルqi(q1，q2，…)としてクエリベクトルDB６１に取り込まれる。本実施形態では、クエリベクトルqの集合が検索クエリQとして扱われる。ステップＳ２２では、検索クエリQの中から一対のクエリベクトル(qi，qj)が選択される。ステップＳ２３では、各クエリベクトル(qi，qj)の類似度Sim(qi，qj)が前記類似度計算部６２で計算される。ステップＳ２４では、クエリベクトルの全ての組み合わせについて類似度算出が完了したか否かが判定され、完了していなければステップＳ２２へ戻り、組み合わせを変更しながら上記した各処理が繰り返される。
【００３３】
以上のようにして、全ての組み合わせに関して類似度算出が完了するとステップＳ２５へ進み、最大の類似度max(Sim(qi，qj))が所定の基準値Thres1を超えているか否かが判定される。基準値Thres1を超えていればステップＳ２６へ進み、前記類似度が最大であった２つのクエリベクトルqi，qjが、前記クエリベクトル統合部６３で一つのクエリベクトルqi+jに統合される。ステップＳ２７では、前記検索クエリ更新部６４により、統合後のクエリベクトルqi+jが検索クエリQに追加され、統合前の２つのクエリベクトルqi，qjが検索クエリQから削除される。
【００３４】
本実施形態では、前記ステップＳ２５において、最大の類似度max(Sim(qi，qj))でも基準値Thres1を超えなくなるまで上記した各処理が繰り返えされ、類似度の高いクエリベクトル同士を全て統合することで、最終的に、相互に類似しないクエリベクトルの集合である検索クエリQが構築される。
【００３５】
図５は、前記検索対象絞込モジュール７による検索対象クラスタの絞り込み手順を示したフローチャートである。本実施形態では、検索クエリQを構成するクエリベクトルqiごとに、各楽曲クラスタの代表ベクトルclとの類似度が計算される。そして、類似度の高いクエリベクトルと楽曲クラスタとのペアを予め対応付け、後述する楽曲検索時の検索対象として定義することで、検索対象の楽曲クラスタが絞り込まれる。
【００３６】
なお、各クエリベクトルと対応付けられる楽曲クラスタは一つとは限らず、一のクエリベクトルが複数の楽曲クラスタと類似していれば、一のクエリベクトルが複数の楽曲クラスタと対応付けられる場合もあり得る。その逆に、一の楽曲クラスタが複数のクエリベクトルと類似していれば、複数のクエリベクトルが一の楽曲クラスタと対応付けられる場合もあり得る。
【００３７】
図５において、ステップＳ３１では、前記類似度の高いクエリベクトル同士が統合されて相互に類似しないクエリベクトルの集合となった検索クエリQが取り込まれる。ステップＳ３２では、各楽曲クラスタの特徴量を代表するクラスタ代表ベクトルclの一つが選択される。ステップＳ３３では、クエリベクトルの一つqiが選択される。
【００３８】
ステップＳ３４では、選択されているクラスタ代表ベクトルclとクエリベクトルqiとの類似度Sim(qi，cl)が算出される。ステップＳ３５では、この類似度Sim(qi，cl)が所定の基準値Thres2と比較され、類似度Sim(qi，cl)が基準値Thres2を上回っており、今回のクラスタ代表ベクトルclとクエリベクトルqiとの類似度が高いと判定されると、ステップＳ３６において、今回のクラスタ代表ベクトルclが今回のクエリベクトルqiと対応付けられて検索対象クラスタ集合Csに登録される。
【００３９】
ステップＳ３７では、全てのクエリベクトルqiに関して処理が完了したか否かが判定され、完了していなければステップＳ３３へ戻り、クエリベクトルqiを切り替えながら上記した各処理が繰り返される。
【００４０】
その後、検索クエリQの全てのクエリベクトルqiについて上記した処理が完了するとステップＳ３８へ進む。ステップＳ３８では、全てのクラスタ代表ベクトルclに関して処理が完了したか否かが判定される。完了していなければステップＳ３２へ戻り、クラスタ体表ベクトルclを切り替えながら上記した各処理が繰り返される。以上の手順が全て完了すると、検索クエリQとの類似度が高い楽曲クラスタのみが登録された検索対象クラスタ集合Csが完成する。
【００４１】
図６は、前記楽曲検索モジュール８による楽曲検索手順を示したフローチャートであり、本実施形態では、検索クエリQを構成するクエリベクトルqiごと、検索対象として対応付けられた楽曲クラスタに所属する楽曲のみを対象に類似度が計算される。
【００４２】
ステップＳ４１では、前記検索対象クラスタ集合Csの中から楽曲クラスタの一つが選択される。ステップＳ４２では、選択された楽曲クラスタに所属する楽曲の一つ(di)が選択される。ステップＳ４３では、今回の楽曲クラスタと対応付けられたクエリベクトルqiの一つが選択される
【００４３】
ステップＳ４４では、前記ステップＳ４２で選択された楽曲の特徴ベクトル(dk)と前記ステップＳ４３で選択されたクエリベクトル(qi)との類似度Sim(dk，qi)が算出される。ステップＳ４５では、今回の楽曲クラスタと対応付けられている全てのクエリベクトルqiに関して類似度算出が完了したか否かが判定される。完了していなければステップＳ４３へ戻り、クエリベクトルを切り替えながら上記した各手順が繰り返される。
【００４４】
その後、対応付けられている全てのクエリベクトルについて前記類似度算出が完了するとステップＳ４６へ進み、前記選択された楽曲クラスタに所属する全ての楽曲について前記類似度算出が完了したか否かが判定される。完了していなければステップＳ４２へ戻り、楽曲を切り替ながら上記した各手順が繰り返される。
【００４５】
その後、選択されている楽曲クラスタ内の全ての楽曲の特徴ベクトルについて前記類似度算出が完了するとステップＳ４７へ進み、類似度が上位の楽曲が抽出される。ステップＳ４８では、検索対象クラスタ集合Cs内の全ての楽曲クラスタについて、前記類似度が上位の楽曲抽出が完了したか否かが判定される。完了していなければステップＳ４１へ戻り、楽曲クラスタを切り替えながら上記した各手順が繰り返される。
【００４６】
その後、検索対象クラスタ集合Cs内の全ての楽曲クラスタについて、前記類似度が上位の楽曲抽出が完了するとステップＳ４９へ進む。ステップＳ４９では、クラスタごとに抽出された、類似度が上位の楽曲が、検索結果として検索結果統合モジュール９へ提供される。
【００４７】
前記検索結果統合モジュール９は、楽曲クラスタごとに抽出された検索結果（楽曲）を、各楽曲と対応クエリとの類似度に基づいてソートし、類似度が上位の複数の楽曲を検索結果としてユーザへ提供する。
【００４８】
本実施形態によれば、検索クエリQでは類似度の高いクエリベクトル同士が予め統合され、相互に類似しないクエリベクトルの集合となっており、このクエリベクトルごとに各楽曲との類似度が算出され、類似度が高い楽曲が検索結果として出力される。したがって、検索クエリが静かな楽曲とにぎやかな楽曲とを含んでいても、それぞれに類似した楽曲が独立して検索されるので、ユーザの嗜好を正確に反映した楽曲検索が可能になる。しかも、本実施形態ではクエリベクトルごとに楽曲の検索対象クラスタが予め絞り込まれるので、高速検索が可能になる。
【００４９】
ところで、上記した実施形態では、検索結果統合モジュール９が検索結果を類似度に基づいて単純に統合するものとして説明したが、楽曲クラスタとクエリベクトルとの類似度同士を比較する際、各楽曲クラスタ内での楽曲分布が一様ではなく偏っていると、最終的に得られる検索結果に偏りが生じ得る。
【００５０】
図７は、検索結果に偏りが生じる原因を模式的に表現した図であり、ここでは、クエリベクトルq2と対応付けられた楽曲クラスタC2内での楽曲分布が疎であり、クエリベクトルq1と対応付けられた楽曲クラスタC1内での楽曲分布が密である場合を示している。
【００５１】
このような状況下において、クラスタC1，C2をそれぞれ検索対象クラスタとするクエリベクトルq1，q2による検索結果を統合した場合、楽曲の分布密度が高いクラスタC1内の各楽曲とクエリベクトルq1との類似度の方が、クラスタC2内の各楽曲とクエリベクトルq2との類似度よりも全体的に高くなるので、クエリベクトルq1との類似度が高い楽曲ばかりが検索結果に含まれてしまう。その結果、クエリベクトルq2に類似した楽曲が検索されにくくなり、ユーザが満足する検索結果を得られなくなってしまう。
【００５２】
同様の問題は、図８に一例を示したように、一つのクエリベクトルq1が２つの楽曲クラスタC1，C2と対応付けられており、楽曲クラスタC2内での楽曲分布の密度が疎であり、楽曲クラスタC1内での楽曲分布の密度が密である場合にも生じ得る。
【００５３】
このような場合、前記検索結果統合モジュール９において、各楽曲クラスタ内の楽曲とクエリベクトルとの類似度が各検索対象クラスタ内での楽曲分布に基づいて正規化されるように、各類似度を、例えば次式(2)に基づいて予め正規化すれば良い。
【００５４】
【数２】
2008165714.tif 000004
【００５５】
上記の正規化手法は、分布が疎のクラスタ、すなわちAvgSim(qi，Ds)が低いと予想されるクラスタに属する楽曲のスコアを向上させる効果がある。この正規化処理の後で検索結果を統合することにより、統合検索結果に含まれる楽曲の偏りを軽減させることが可能になる。
【００５６】
なお、前記図１に関して説明した本発明の楽曲検索システムは、その楽曲ベクトル化モジュール２、クラスタリングモジュール３、検索クエリ構築モジュール６、検索対象絞込モジュール７、楽曲検索モジュール８、検索結果統合モジュール９および嗜好情報取込モジュール１０等のそれぞれで実行される手順をコンピュータで読取り可能な記録媒体にプログラムとして記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによっても実現できる。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含むものである。
【００５７】
なお、上記したプログラムは、上記した各モジュールの機能の一部を実現するためのものであっても良いし、あるいは各モジュールの機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【図面の簡単な説明】
【００５８】
【図１】本発明の情報検索装置を適用した楽曲検索システムの主要部の構成を示した機能ブロック図である。
【図２】楽曲クラスタリングの手順を示したフローチャートである。
【図３】検索クエリ構築モジュールの構成を示したブロック図である。
【図４】検索クエリの構築手順を示したフローチャートである。
【図５】検索対象クラスタの絞り込み手順を示したフローチャートである。
【図６】楽曲検索手順を示したフローチャートである。
【図７】検索結果に偏りが生じる原因を模式的に表現した図（その１）である。
【図８】検索結果に偏りが生じる原因を模式的に表現した図（その２）である。
【符号の説明】
【００５９】
１…楽曲データベース，２…楽曲ベクトル化モジュール，３…クラスタリングモジュール，４…クラスタDB，５…所属クラスタDB，６…検索クエリ構築モジュール，７…検索対象絞込モジュール，８…楽曲検索モジュール，９ …検索結果統合モジュール，１０…嗜好情報取込モジュール
【図１】
2008165714.tif 000005
【図２】
2008165714.tif 000006
【図３】
2008165714.tif 000007
【図４】
2008165714.tif 000008
【図５】
2008165714.tif 000009
【図６】
2008165714.tif 000010
【図７】
2008165714.tif 000011
【図８】
2008165714.tif 000012