(57)【特許請求の範囲】
【請求項１】
複数の楽曲において出現するｎ種類（ｎは自然数）の単語を、ｎ次元の情報空間の座標軸にして、前記複数の楽曲のうち一の楽曲において、前記ｎ種類の単語が夫々出現する頻度に基づいて、前記一の楽曲に対応されるｎ次元の第１ベクトルを作成する第１作成手段と、
前記ｎ次元の情報空間において、（i）前記ｎ種類の単語のうち一の単語が、前記ｎ種類の単語のうちの各単語と組み合わされて、前記一の楽曲において、夫々出現する一の頻度と、（ii）前記一の単語が、前記各単語と組み合わされて、前記複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、前記一の単語に対応されるｎ次元の第２ベクトルを作成する第２作成手段と、
前記第１ベクトルと、前記第２ベクトルとのベクトル差の大きさに基づいて、所望の楽曲を検索する検索手段と、
を備えることを特徴とする楽曲検索装置。
【請求項２】
前記ベクトル差の大きさが最小となる場合、前記第１ベクトルに対応する前記一の楽曲を代表する代表語を、前記一の単語として登録する代表語テーブルを作成する第３作成手段を更に備え、
前記検索手段は、所望のキー単語と、前記代表語テーブルに登録された前記一の単語との比較に基づいて、前記所望の楽曲として、前記一の楽曲を検索することを特徴とする請求項１に記載の楽曲検索装置。
【請求項３】
前記第１作成手段は、前記複数の楽曲に夫々対応される、複数の第１ベクトルをテーブル形式で、更に作成し、
前記第２作成手段は、前記ｎ種類の単語に夫々対応される、複数の第２ベクトルをテーブル形式で、更に作成し、
前記検索手段は、所望のキー単語と同一性を有する、前記ｎ種類の単語のうち一の単語に対応される、一の第２ベクトルと、一の第１ベクトルとのベクトル差の大きさが最小となる場合、前記所望の楽曲として、前記一の第１ベクトルに対応される一の楽曲を検索することを特徴とする請求項１に記載の楽曲検索装置。
【請求項４】
前記検索手段は、前記一の第２ベクトルと、複数の第１ベクトルとのベクトル差の大きさが所定範囲にある場合、前記所望の楽曲として、前記複数の第１ベクトルに夫々対応される、複数の楽曲を検索することを特徴とする請求項３に記載の楽曲検索装置。
【請求項５】
前記検索手段は、（i）前記ｎ種類の単語のうち他の単語に対応される、他の第２ベクトルと、他の第１ベクトルとのベクトル差の大きさが最小となる場合、前記所望の楽曲として、前記他の第１ベクトルに対応される他の楽曲を検索すると共に、（ii）前記一の第２ベクトルと、前記他の第２ベクトルとのベクトル差の大きさが所定範囲にある場合、前記所望の楽曲として、前記一又は他の楽曲を検索することを特徴とする請求項３に記載の楽曲検索装置。
【請求項６】
所望のキー単語を入力する入力手段を更に備え、
前記検索手段は、入力された前記キー単語と同一性を有する、前記一の単語に対応される、前記第２ベクトルと、前記第１ベクトルとのベクトル差の大きさに基づいて、前記所望の楽曲を検索することを特徴とする請求項１に記載の楽曲検索装置。
【請求項７】
（i）前記第１作成手段は、前記複数の楽曲における属性に基づいて、前記複数の楽曲をグループ化して、前記第１ベクトルを作成することに加えて、又は、代えて、（ii）前記第２作成手段は、前記ｎ種類の単語における属性に基づいて、前記ｎ種類の単語をグループ化して、前記第２ベクトルを作成することを特徴とする請求項１に記載の楽曲検索装置。
【請求項８】
前記複数の楽曲を記憶する記憶手段と、
記憶された前記複数の楽曲に出現する前記ｎ種類の単語を抽出する抽出手段を更に備え、
前記第１作成手段は、抽出された前記ｎ種類の単語に基づいて、前記第１ベクトルを作成し、
前記第２作成手段は、抽出された前記ｎ種類の単語に基づいて、前記第２ベクトルを作成することを特徴とする請求項１に記載の楽曲検索装置。
【請求項９】
複数の楽曲から所望の楽曲を検索する楽曲検索装置における楽曲検索方法であって、
前記楽曲検索装置が、前記複数の楽曲において出現するｎ種類（ｎは自然数）の単語を、ｎ次元の情報空間の座標軸にして、前記複数の楽曲のうち一の楽曲において、前記ｎ種類の単語が夫々出現する頻度に基づいて、前記一の楽曲に対応されるｎ次元の第１ベクトルを作成する第１作成工程と、
前記楽曲検索装置が、前記ｎ次元の情報空間において、（i）前記ｎ種類の単語のうち一の単語が、前記ｎ種類の単語のうちの各単語と組み合わされて、前記一の楽曲において、夫々出現する一の頻度と、（ii）前記一の単語が、前記各単語と組み合わされて、前記複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、前記一の単語に対応されるｎ次元の第２ベクトルを作成する第２作成工程と、
前記楽曲検索装置が、前記第１ベクトルと、前記第２ベクトルとのベクトル差の大きさに基づいて、前記所望の楽曲を検索する検索工程と、
を備えることを特徴とする楽曲検索方法。
【請求項１０】
コンピュータを、
複数の楽曲において出現するｎ種類（ｎは自然数）の単語を、ｎ次元の情報空間の座標軸にして、前記複数の楽曲のうち一の楽曲において、前記ｎ種類の単語が夫々出現する頻度に基づいて、前記一の楽曲に対応されるｎ次元の第１ベクトルを作成する第１作成手段と、
前記ｎ次元の情報空間において、（i）前記ｎ種類の単語のうち一の単語が、前記ｎ種類の単語のうちの各単語と組み合わされて、前記一の楽曲において、夫々出現する一の頻度と、（ii）前記一の単語が、前記各単語と組み合わされて、前記複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、前記一の単語に対応されるｎ次元の第２ベクトルを作成する第２作成手段と、
前記第１ベクトルと、前記第２ベクトルとのベクトル差の大きさに基づいて、所望の楽曲を検索する検索手段と、
を備える楽曲検索装置として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばネットワークを介して配信されたり、データベースに格納されている複数の楽曲から、所望の楽曲を検索する楽曲検索装置及び方法、並びにコンピュータをこのような楽曲検索装置として機能させるコンピュータプログラムの技術分野に関する。
【背景技術】
【０００２】
近年、通信カラオケやインターネット等のネットワークを介して楽曲のデータを配信することが盛んに行われている。このような楽曲のデータを配信する際、例えば情報配信装置に有されるデータベースに格納された楽曲の数量が増加するに従って、所望の楽曲を、より適切且つ迅速に検索することができる検索手法に対する必要性が高まっている。ここに、本願発明に係る「楽曲」とは、例えばロック、ポップス、演歌、ジャズ又はクラシックなど、そのジャンルを問わず、ユーザによって視聴され得る音楽及び音楽情報の全てを含む概念である。【０００３】
このような複数の楽曲から、所望の楽曲を検索する手法として、ユーザが、文字列を入力し、その文字列が歌詞に含まれる楽曲を検索した結果とする手法、所謂、キーワードに基づく検索が一般的に行われている。しかしながら、この手法においては、ユーザが、歌詞に含まれる単語の表記と、同一の文字列を入力する必要があり、ユーザにとって、必ずしも利用の際の利便性が向上されなかった。【０００４】
そこで、特許文献１等に記載されているように、複数の楽曲において、出現する単語を抽出して、複数の単語の出現頻度に基づいて、所望の楽曲を検索する手法が提案されている。具体的には、図１３（ａ）に示されるように、楽曲「Ｍ１」を構成する、例えば「港」等の単語「Ｗ１」が、抽出されて、図１３（ｂ）に示されるような、複数の種類の単語の出現する頻度を示す値がテーブル形式（後述される出現語テーブル１０）で、出力される。【０００５】
【特許文献１】特開２００３−２７１１６０
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１等における、複数の単語の出現頻度に対して、主成分分析を行うだけでは、所望の楽曲を適切に検索することは困難であるという技術的な問題点が生じてしまう。具体的には、主成分分析の際に必要となる、例えば類義語辞書等の２次的に作成される分析データにおいて、例えば意味解釈における誤差が大きくなってしまい、所望の楽曲を適切に検索することは困難であるという技術的な問題点が生じてしまう。【０００７】
本発明は、例えば上述した従来の問題点に鑑みなされたものであり、例えば複数の楽曲から、所望の楽曲を的確且つ迅速に検索することを可能とする楽曲検索装置及び方法、並びにコンピュータをこのような楽曲検索装置として機能させるコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
（楽曲検索装置）
以下、本発明に係る楽曲検索装置について説明する。【０００９】
上記課題を解決するために、本発明の楽曲検索装置は、複数の楽曲において出現するｎ種類（ｎは自然数）の単語（W1、W2、…、Wn）を、ｎ次元の情報空間の座標軸にして、前記複数の楽曲のうち一の楽曲において、前記ｎ種類の単語が夫々出現する頻度に基づいて、前記一の楽曲に対応されるｎ次元の第１ベクトル（一の楽曲に対応）を作成する第１作成手段と、前記ｎ次元の情報空間において、（i）前記ｎ種類の単語のうち一の単語が、前記ｎ種類の単語のうちの各単語と組み合わされて、前記一の楽曲において、夫々出現する一の頻度と、（ii）前記一の単語が、前記各単語と組み合わされて、前記複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、前記一の単語に対応されるｎ次元の第２ベクトル（一の単語に対応）を作成する第２作成手段と、前記第１ベクトルと、前記第２ベクトルとのベクトル差の大きさに基づいて、所望の楽曲を検索（又は選択）する検索手段と、を備える。【００１０】
本発明の楽曲検索装置によれば、第１作成手段によって、複数の楽曲において出現するｎ種類（ｎは自然数）の単語（例えばW1、W2、…、Wn）を、ｎ次元の情報空間の座標軸にして、複数の楽曲のうち一の楽曲（例えばW1）において、ｎ種類の単語が夫々出現する頻度に基づいて、一の楽曲に対応されるｎ次元の第１ベクトルが作成される。ここに、本願発明に係るベクトルとは、例えばベクトルによって示される座標上の点や位置情報を意味するようにしてもよい。特に、このベクトルは、単位ベクトルによって、表現されていてもよいし、或いは、ノルムの正規化処理が施されていてもよい。【００１１】
第１ベクトルの作成と同時に、又は、相前後して、第２作成手段によって、ｎ次元の情報空間において、（i）ｎ種類の単語のうち一の単語が、ｎ種類の単語のうちの各単語と組み合わされて、一の楽曲において、夫々出現する一の頻度と、（ii）一の単語が、各単語と組み合わされて、複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、一の単語に対応されるｎ次元の第２ベクトルが作成される。【００１２】
次に、検索手段によって、第１ベクトルと、第２ベクトルとのベクトル差の大きさに基づいて、所望の楽曲が検索（又は選択）される。ここに、本願発明に係る、ベクトル差とは、ベクトル演算に基づく、差を意味する。このベクトル差の大きさを算出する際には、例えば２つのベクトルが夫々示す２点間のユークリッド距離に基づいて算出してもよい。また、本願発明に係る、検索とは、所定の条件や、所定の単語、所謂、検索語に基づいて、一義的に対応付けられる楽曲等の所定の情報を選択することを意味する。【００１３】
具体的には、一の楽曲に対応される第１ベクトルと、一の単語に対応される第２ベクトルとのベクトル差の大きさが、相対的に小さい、即ち、ｎ次元の情報空間において、他の単語に対応される他の第２ベクトルと比較して、相対的に近くに存在する場合、（i）一の楽曲によって形成されている言葉の世界（言い換えると、言葉によって世の中の人々が一般的に想像可能な世界）と、（ii）一の単語を基準にして各単語と組み合わせることによって形成されている言葉の世界とは類似性が高いと推定することが可能である。ここに本願発明に係る「類似性」とは、殆ど又は完全に等価である又は等しいとみなすことが可能な性質を意味する概念である。このように、一の単語が単独で使用されることによって形成される言葉の世界を考慮する場合と比較して、一の単語と各単語とを組み合わせて使用されることによって形成される言葉の世界を考慮する場合、言葉の意味解釈の違いをより効果的に反映させることができる。【００１４】
より具体的には、（i）一の楽曲を構成するｎ種類の単語が夫々出現する頻度の値を要素とするｎ次元の第１ベクトルと、（ii）例えば公表されている大量の楽曲等の複数の楽曲において、一つの楽曲を単位として計測（カウント）された、一の単語が、この一の単語を含むｎ種類の単語と、組み合わされて夫々出現する頻度の合計値を要素とするｎ次元の第２ベクトルとが相対的に定量的及び定性的に類似であると推定することが可能である。【００１５】
以上の結果、第１ベクトルと、第２ベクトルとのベクトル差の大きさに基づいて、的確且つ迅速に、所望の楽曲を検索することが可能である。【００１６】
本発明の楽曲検索装置の一の態様では、前記ベクトル差の大きさが最小となる場合、前記第１ベクトルに対応する前記一の楽曲を代表する代表語を、前記一の単語として登録する代表語テーブルを作成する第３作成手段を更に備え、前記検索手段は、所望のキー単語と、前記代表語テーブルに登録された前記一の単語との比較に基づいて、前記所望の楽曲として、前記一の楽曲を検索する。【００１７】
この態様によれば、代表語テーブルに登録された一の単語と、キー単語との比較に基づいて、所望のキー単語に対応される、所望の楽曲を、的確且つ、より迅速に検索することが可能である。加えて、一の楽曲を、代表語テーブルに登録された一の単語によって、代表させるので、複数の単語によって、代表させる場合と比較して、より迅速な検索を実現可能である。【００１８】
本発明の楽曲検索装置の他の態様では、前記第１作成手段は、前記複数の楽曲に夫々対応される、複数の第１ベクトルをテーブル（出現語テーブル）形式で、更に作成し、前記第２作成手段は、前記ｎ種類の単語に夫々対応される、複数の第２ベクトル（一の単語）をテーブル（共同出現語テーブル）形式で、更に作成し、前記検索手段は、所望のキー単語と同一性を有する、前記ｎ種類の単語のうち一の単語に対応される、一の第２ベクトル（複数のうちの一の単語に対応）と、一の第１ベクトル（複数のうちの一の楽曲に対応）とのベクトル差の大きさが最小となる場合、前記所望の楽曲として、前記一の第１ベクトルに対応される一の楽曲を検索する。【００１９】
この態様によれば、テーブル形式で作成された複数の第１ベクトルと、テーブル形式で作成された複数の第２ベクトルに基づいて、所望のキー単語と同一性を有する一の単語に対応される、所望の楽曲を、的確且つ、より迅速に検索することが可能である。ここに、本願発明に係る同一性とは、形式的に同一であるという性質を意味すると共に、実質的に同一であるという性質を意味する。【００２０】
上述した検索手段に係る態様では、前記検索手段は、前記一の第２ベクトル（複数のうちの一の単語に対応）と、複数の第１ベクトルとのベクトル差の大きさが所定範囲にある場合、前記所望の楽曲として、前記複数の第１ベクトルに夫々対応される、複数の楽曲を検索するように構成してもよい。【００２１】
このように構成すれば、所定範囲にあるベクトル差の大きさに基づいて、所望のキー単語と同一性を有する一の単語に対応される、所望される、複数の楽曲を、的確且つ、迅速に検索することが可能である。【００２２】
上述した検索手段に係る態様では、前記検索手段は、（i）前記ｎ種類の単語のうち他の単語に対応される、他の第２ベクトル（他の単語）と、他の第１ベクトル（他の楽曲）とのベクトル差の大きさが最小となる場合、前記所望の楽曲として、前記他の第１ベクトル（他の楽曲）に対応される他の楽曲を検索すると共に、（ii）前記一の第２ベクトル（一の単語）と、前記他の第２ベクトル（他の単語）とのベクトル差の大きさが所定範囲にある場合、前記所望の楽曲として、前記一又は他の楽曲を検索するように構成してもよい。【００２３】
このように構成すれば、所定範囲にある、一の第２ベクトルと、他の第２ベクトルとのベクトル差の大きさに基づいて、所望のキー単語と同一性を有する一の単語に対応される、所望される、一又は他の楽曲を、的確且つ、迅速に検索することが可能である。【００２４】
本発明の楽曲検索装置の他の態様では、所望のキー単語を入力する入力手段を更に備え、前記検索手段は、入力された前記キー単語と同一性を有する、前記一の単語に対応される、前記第２ベクトルと、前記第１ベクトルとのベクトル差の大きさに基づいて、前記所望の楽曲を検索する。【００２５】
この態様によれば、入力されたキー単語と同一性を有する、一の単語に基づいて、所望の楽曲を、的確且つ、より迅速に検索することが可能である。【００２６】
本発明の楽曲検索装置の他の態様では、（i）前記第１作成手段は、前記複数の楽曲における属性（ジャンル、時代、使用者）に基づいて、前記複数の楽曲をグループ化して、前記第１ベクトル（一の楽曲）を作成することに加えて、又は、代えて、（ii）前記第２作成手段は、前記ｎ種類の単語における属性（ジャンル、時代、使用者）に基づいて、前記ｎ種類の単語をグループ化して、前記第２ベクトル（一の単語）を作成する。【００２７】
この態様によれば、複数の楽曲における、例えばジャンル、時代、使用者等の各種の属性、及び、ｎ種類の単語における、例えばジャンル、時代、使用者等の各種の属性に基づいて、所望の楽曲を、的確且つ、より迅速に検索することが可能である。【００２８】
本発明の楽曲検索装置の他の態様では、前記複数の楽曲を記憶する記憶手段と、記憶された前記複数の楽曲に出現する前記ｎ種類の単語を抽出する抽出手段を更に備え、前記第１作成手段は、抽出された前記ｎ種類の単語に基づいて、前記第１ベクトルを作成し、前記第２作成手段は、抽出された前記ｎ種類の単語に基づいて、前記第２ベクトルを作成する。【００２９】
この態様によれば、記憶手段、及び抽出手段に基づいて、所望のキー単語に対応される、所望の楽曲を、的確且つ、より迅速に検索することが可能である。【００３０】
（楽曲検索方法）
以下、本発明に係る楽曲検索方法について説明する。【００３１】
上記課題を解決するために、本発明の楽曲検索方法は、複数の楽曲から所望の楽曲を検索する楽曲検索装置における楽曲検索方法であって、前記楽曲検索装置が、前記複数の楽曲において出現するｎ種類（ｎは自然数）の単語（Ｗ１、Ｗ２、…、Ｗｎ）を、ｎ次元の情報空間の座標軸にして、前記複数の楽曲のうち一の楽曲において、前記ｎ種類の単語が夫々出現する頻度に基づいて、前記一の楽曲に対応されるｎ次元の第１ベクトル（一の楽曲に対応）を作成する第１作成工程と、前記楽曲検索装置が、前記ｎ次元の情報空間において、（i）前記ｎ種類の単語のうち一の単語が、前記ｎ種類の単語のうちの各単語と組み合わされて、前記一の楽曲において、夫々出現する一の頻度と、（ii）前記一の単語が、前記各単語と組み合わされて、前記複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、前記一の単語に対応されるｎ次元の第２ベクトル（一の単語に対応）を作成する第２作成工程と、前記楽曲検索装置が、前記第１ベクトルと、前記第２ベクトルとのベクトル差の大きさに基づいて、前記所望の楽曲を検索（又は選択）する検索工程と、を備える。
【００３２】
本発明の楽曲検索方法によれば、上述した本発明の楽曲検索装置が有する各種利益を享受することが可能となる。【００３３】
尚、上述した本発明の楽曲検索装置が有する各種態様に対応して、本発明の楽曲検索方法も各種態様を採ることが可能である。【００３４】
（コンピュータプログラム）
以下、本発明に係るコンピュータプログラムについて説明する。【００３５】
上記課題を解決するために、本発明の制御用のコンピュータプログラムは、コンピュータを、複数の楽曲において出現するｎ種類（ｎは自然数）の単語を、ｎ次元の情報空間の座標軸にして、前記複数の楽曲のうち一の楽曲において、前記ｎ種類の単語が夫々出現する頻度に基づいて、前記一の楽曲に対応されるｎ次元の第１ベクトルを作成する第１作成手段と、前記ｎ次元の情報空間において、（i）前記ｎ種類の単語のうち一の単語が、前記ｎ種類の単語のうちの各単語と組み合わされて、前記一の楽曲において、夫々出現する一の頻度と、（ii）前記一の単語が、前記各単語と組み合わされて、前記複数の楽曲のうち他の楽曲において、夫々出現する他の頻度と、を加算した全体頻度に基づいて、前記一の単語に対応されるｎ次元の第２ベクトルを作成する第２作成手段と、前記第１ベクトルと、前記第２ベクトルとのベクトル差の大きさに基づいて、所望の楽曲を検索する検索手段と、を備える楽曲検索装置として機能させる。
【００３６】
本発明に係るコンピュータプログラムによれば、当該コンピュータプログラムを格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラムをコンピュータに読み込んで実行させれば、或いは、当該コンピュータプログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明の楽曲検索装置を比較的簡単に実現できる。【００３７】
尚、上述した本発明の楽曲検索装置における各種態様に対応して、本発明の各コンピュータプログラムも各種態様を採ることが可能である。【００３８】
上記課題を解決するために、コンピュータ読取可能な媒体内のコンピュータプログラム製品は、上述した本発明の楽曲検索装置（但し、その各種態様を含む）に備えられたコンピュータにより実行可能なプログラム命令を明白に具現化し、該コンピュータを、前記第１作成手段、前記第２作成手段、及び前記検索手段のうち少なくとも一部として機能させる。【００３９】
本発明のコンピュータプログラム製品によれば、当該コンピュータプログラム製品を格納するＲＯＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク等の記録媒体から、当該コンピュータプログラム製品をコンピュータに読み込めば、或いは、例えば伝送波である当該コンピュータプログラム製品を、通信手段を介してコンピュータにダウンロードすれば、上述した本発明の楽曲検索装置を比較的容易に実施可能となる。更に具体的には、当該コンピュータプログラム製品は、上述した本発明の楽曲検索装置として機能させるコンピュータ読取可能なコード（或いはコンピュータ読取可能な命令）から構成されてよい。【００４０】
本発明のこのような作用及び他の利得は次に説明する実施例から明らかにされる。【００４１】
以上説明したように、本発明の楽曲検索装置及び方法によれば、第１作成手段、第２作成手段、及び検索手段を備える。この結果、第１ベクトルと、第２ベクトルとのベクトル差の大きさに基づいて、的確且つ迅速に、所望の楽曲を検索することが可能である。【００４２】
また、本発明のコンピュータプログラムによれば、コンピュータを上述した本発明の楽曲検索装置として機能させるので、上述した楽曲検索装置をして、第１ベクトルと、第２ベクトルとのベクトル差の大きさに基づいて、的確且つ迅速に、所望の楽曲を検索することが可能である。
【図面の簡単な説明】
【００４３】
【図１】本実施例に係る、楽曲検索装置１００の基本構成を示したブロック図である。
【図２】本実施例に係る、楽曲検索装置による、第１作成処理、及び、第２作成処理を含む、前段階の処理を示したフローチャートである。
【図３】本実施例に係る、複数の第１ベクトルの一具体例である出現語テーブルを示すテーブルである。
【図４】本実施例に係る、複数の第２ベクトルの一具体例である共同出現語テーブルを示すテーブルである。
【図５】本実施例に係る、複数の第２ベクトルの一具体例である共同出現語テーブルが作成される際の変遷を示した複数のテーブル（図５（ａ）、図５（ｂ）、及び図５（ｃ））である。
【図６】本実施例に係る、代表語テーブルの一具体例を示すテーブルである。
【図７】本実施例に係る、ｎ次元の情報空間の一例として、２次元の情報空間を示したグラフ（図７（ａ））、２次元の情報空間に対応した出現語テーブル１０を示したテーブル（図７（ｂ））、及び、２次元の情報空間に対応した共同出現語テーブル２０を示したテーブル（図７（ｃ））である。
【図８】本実施例に係る、楽曲検索装置による、楽曲の検索の結果を表示する、後段階の処理を示したフローチャートである。
【図９】他の実施例に係る、楽曲検索装置１００の基本構成を示したブロック図である。
【図１０】他の実施例に係る、楽曲検索装置による、第１作成処理、及び、第２作成処理を含む、前段階の処理を示したフローチャートである。
【図１１】他の実施例に係る、楽曲検索装置による、楽曲の検索の結果を表示する、後段階の処理を示したフローチャートである。
【図１２】他の実施例に係る、出現語距離テーブルの一具体例を示すテーブルである。
【図１３】一般的な手法における、楽曲を構成する単語が出現する概念を示す模式図（図１３（ａ））及びテーブル（図１３（ｂ））である。
【符号の説明】
【００４４】
１０        出現語テーブル
２０        共同出現語テーブル
３０        代表語テーブル
４０        出現語距離テーブル
１００      楽曲検索装置
１１０      記憶手段
１２０      抽出手段
１３０      第１作成手段
１４０      第２作成手段
１５０      算出手段
１６０      検索手段
１７０      入力手段
１８０      表示手段
【発明を実施するための最良の形態】
【００４５】
以下、本発明を実施するための最良の形態について実施例毎に順に図面に基づいて説明する。【００４６】
（１）楽曲検索装置の実施例
図１から図８を参照して、本発明に係る楽曲検索装置の実施例について説明する。【００４７】
（１−１）  基本構成
先ず、図１を参照して、本実施例に係る楽曲検索装置１００の基本構成について説明する。ここに、図１は、本実施例に係る、楽曲検索装置１００の基本構成を示したブロック図である。【００４８】
図１に示されるように、本実施例に係る楽曲検索装置１００は、記憶手段１１０と、抽出手段１２０と、後述される出現語テーブルを作成する第１作成手段１３０と、後述される共同出現語テーブルを作成する第２作成手段１４０と、作成された出現語テーブルや共同出現語に基づいて、各種の算出処理を行う算出手段１５０（即ち、本発明に係る第３作成手段の一具体例）と、楽曲の検索を行う検索手段１６０と、ユーザの所望の単語を入力する入力手段１７０と、楽曲の検索の結果を表示する表示手段１８０とを備えて構成されている。特に、後述される第１及び第２ベクトルの作成する、前段階の処理は、主に、記憶手段１１０と、抽出手段１２０と、第１作成手段１３０と、第２作成手段１４０と、算出手段１５０とによって、行われる。加えて、後述される楽曲の検索の結果を表示する、後段階の処理は、主に、検索手段１６０と、入力手段１７０と、表示手段１８０とによって、行われる。特に、入力手段は、ユーザから単語が入力されてもよい。或いは、入力手段は、ユーザから楽曲の内容（図２中の楽曲Ｓ１を参照）そのものが入力され、記憶手段に出力するようにしてもよい。【００４９】
尚、楽曲検索装置の一部は、例えば前段階の処理を行う、例えばインターネット等のネットワークを介して楽曲を配信する楽曲配信装置（所謂、楽曲配信サーバ）によって構成されていてもよい。加えて、楽曲検索装置の他部は、例えば後段階の処理を行う、例えば通信機能を有して楽曲を受信する楽曲再生装置によって構成されていてもよい。また、本実施例に係る楽曲検索装置は、オーディオ機器、車載用オーディオ機器、カーナビゲーション装置、又は携帯用音楽機器などの一部若しくは全体、又はそれらに機能を付加する外付けの機能拡張装置など多様な形態を採り得る。或いは、また、本実施例に係る楽曲検索装置に記憶される、複数の楽曲は、例えば、ＣＤやＤＶＤなどに予め記録された市販の音楽ソフトウェアに含まれる楽曲であってもよいし、インターネットなどのネットワークを介して、ユーザが所定のサーバなどからダウンロードした、或いは所定のサーバから配信された楽曲であってもよい。このようにダウンロード或いは配信されるなどしてユーザが取得した楽曲である場合には、これら楽曲は、ユーザ側において、適宜ＨＤ（Hard Disk）、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、又はＤＶＤ−ＲＡＭなどの記録媒体に記録されて保存されていてもよい。【００５０】
（１−２）  動作原理  −  第１及び第２ベクトルの作成する、前段階の処理−
次に、図２を参照して、本実施例に係る、楽曲検索装置１００の動作原理として、第１ベクトルの一具体例である出現語テーブル１０を作成する処理、及び、第２ベクトルの一具体例である共同出現語テーブル２０を作成する処理を含む、前段階の処理について説明する。ここに、図２は、本実施例に係る、楽曲検索装置による、第１作成処理、及び、第２作成処理を含む、前段階の処理を示したフローチャートである。尚、図２中の実線の矢印は、処理の流れを示し、点線の矢印は、情報の流れを示す。また、説明の便宜上、各処理において、ステップ番号の末尾に「ｔ」が付加されている処理は、記憶手段へのテーブルの入力又は出力を意味する。【００５１】
図２に示されるように、本実施例に係る、楽曲検索装置１００のＣＰＵ（Central Processing Unit）の制御下で、例えば公表されている殆ど全ての楽曲の歌詞が、記憶手段１１０に記憶され、収集される（ステップＳ１０１）。ここに、本実施例に係る歌詞とは、例えば人声等の、言葉によって表現された論理的な情報を構成する、連続して楽曲中に出現する複数の単語を意味する。【００５２】
次に、ＣＰＵの制御下で、記憶された複数の楽曲の特徴量に基づいて、例えば静かな曲等の、音楽（所謂、インスツルメンツ）よりも、歌詞が中心と思われる楽曲を選別する（ステップＳ１０２）。ここに、本実施例に係る、特徴量とは、音声信号の音圧レベルの変化率や平均、和音変化率、１分当たりのビート数、及び音声信号の最大振幅等の楽曲の特徴を示す所定の物理的な変数である。尚、選別された全ての楽曲の歌詞を、本実施例に係る第１及び第２作成処理の対象とする。【００５３】
次に、ＣＰＵの制御下で、選別された全ての楽曲の歌詞を、全て連結する。尚、この連結の際には、繰り返し出現する歌詞も含めて連結するようにしてもよい（ステップＳ１０３）。【００５４】
次に、ＣＰＵの制御下で、抽出手段１２０によって、選別された全ての楽曲の歌詞において出現する全ての単語の抽出処理、所謂、形態素解析の処理が行われる（ステップＳ１０４）。ここに、本実施例に係る形態素解析の処理とは、入力されたテキスト情報を、単語の単位で、全て分解し、品詞を示す情報と共に、全ての単語を出力する情報処理を意味する。【００５５】
次に、ＣＰＵの制御下で、例えば、出現する回数が所定の閾値より少ない単語や、意味を解析できない単語等の歌詞によって、構成される楽曲の特徴を表現していない単語が削除され、厳選される（ステップＳ１０５）。加えて、単語の組み合わせにより、明確に意味が異なる語をグループ化する等の処理が行われてもよい。具体的には、否定を示す助詞が直後にある単語等の、一の単語の前後に位置される他の単語との合わせて別の単語とするようにしてもよい。このことによって、後述される楽曲を代表する代表語をより明確且つ高精度に決定することが可能である。尚、厳選された全ての単語を、本実施例に係る第１及び第２作成処理の対象とする。【００５６】
上述したステップＳ１０２からＳ１０５と同時に、又は、相前後して、ＣＰＵの制御下で、抽出手段１２０によって、一つの楽曲を単位として、出現する単語が抽出され、形態素解析が行われる（ステップＳ１０６）。特に、一つの楽曲において抽出される単語の数のばらつきによる影響を少なくするために、一つの楽曲において抽出される単語の総数を、一定値にしてもよい。【００５７】
次に、ＣＰＵの制御下で、第１作成手段によって、本実施例に係る、第１ベクトルの一具体例である出現語テーブル１０が作成され、記憶手段１１０によって、記憶される。（ステップＳ１０６ｔ）。尚、出現語テーブル１０の詳細については、後述される。【００５８】
次に、ＣＰＵの制御下で、第２作成手段によって、本実施例に係る、第２ベクトルの一具体例である共同出現語テーブル２０が作成される（ステップＳ１０７）。尚、共同出現語テーブル２０の詳細については、後述される。【００５９】
次に、ＣＰＵの制御下で、記憶手段１１０によって、共同出現語テーブル２０が記憶される（ステップＳ１０８ｔ）。【００６０】
次に、ＣＰＵの制御下で、算出手段１５０によって、出現語テーブル１０を構成する列ベクトル（後述される第１ベクトルの一具体例）と、共同出現語テーブル２０を構成する列ベクトル（後述される第２ベクトルの一具体例）とのベクトル差の大きさが、算出される（ステップＳ１０９）。【００６１】
次に、ＣＰＵの制御下で、算出手段１５０によって、算出されたベクトル差の大きさに基づいて、代表語テーブル３０が作成される（ステップＳ１１１）。尚、代表語テーブル２０の詳細については、後述される。【００６２】
次に、ＣＰＵの制御下で、算出手段１５０によって、作成された、代表語テーブルが、例えば記憶手段１１０によって、記憶される（ステップＳ１１２ｔ）。【００６３】
（１−３）  複数の第１ベクトルの一具体例  −  出現語テーブル  −
ここで、図３を参照して、本実施例に係る、複数の第１ベクトルの一具体例である出現語テーブルについて説明する。ここに、図３は、本実施例に係る、複数の第１ベクトルの一具体例である出現語テーブルを示すテーブルである。【００６４】
図３に示されるように、出現語テーブル１０は、「１行目」から「ｍ行目（但し、ｍは自然数）」において、複数の楽曲に夫々対応する、複数の列ベクトルによって、構成されている。具体的には、出現語テーブル１０の「１行目」において、曲ＩＤ（Identification Number）が「Ｍ１」である楽曲「Ｍ１」に対応されるｎ次元（但し、ｎは自然数）のベクトル、即ち、ベクトルＭ１（２、５、３、・・・、５）を有する。尚、このｎ次元のベクトルの要素は、一つの楽曲中において、ｎ種類の単語（即ち、語ＩＤが「Ｗ１」から「Ｗｎ」によって夫々示される単語「Ｗ１」から単語「Ｗｎ」）が、夫々出現する頻度を示す。また、本実施例の出現語テーブルに係るベクトルは、例えば大きさを「１」とする単位ベクトルによって、示されてもよい。或いは、ノルムの手法に基づいて、正規化されていてもよい。或いは、出現頻度の合計に基づいて決定される所定の係数が乗算されていてもよい。【００６５】
続いて、出現語テーブル１０の「２行目」において、楽曲「Ｍ２」に対応されるｎ次元のベクトルであるベクトルＭ２（１、８、２、・・・、４）を有する。出現語テーブル１０の「３行目」において、楽曲「Ｍ３」に対応されるベクトルＭ３（１、２、６、・・・、３）を有する。以下、概ね同様にして、・・・、出現語テーブル１０の「ｍ行目」において、楽曲「Ｍｍ」に対応されるベクトルＭｍ（５、４、３、・・・、１）を有する。【００６６】
この出現語テーブルに基づいて、本実施例に係る、複数の第２ベクトルの一具体例である共同出現語テーブルが作成される。【００６７】
（１−４）  複数の第２ベクトルの一具体例  −  共同出現語テーブル  −
ここで、図４及び図５に加えて、前述した図３を適宜参照して、本実施例に係る、複数の第２ベクトルの一具体例である共同出現語テーブルについて説明する。ここに、図４は、本実施例に係る、複数の第２ベクトルの一具体例である共同出現語テーブルを示すテーブルである。【００６８】
図４に示されるように、共同出現語テーブル２０は、「１行目」から「ｎ行目」において、ｎ種類の単語に夫々対応する、複数の列ベクトルによって、構成されている。具体的には、共同出現語テーブル２０は、「１行目」において、単語「Ｗ１」に対応されるｎ次元のベクトル、即ち、ベクトルＷ１（２１、８５、５７、・・・、３５）を有する。尚、このｎ次元のベクトルの要素は、ｎ種類の単語のうち一の単語（例えば単語「Ｗ１」）がこのｎ種類の単語のうちの各単語（即ち、単語「Ｗ１」から単語「Ｗｎ」）と組み合わされて、１番目の楽曲（例えば楽曲「Ｍ１」）において夫々出現する１番目の頻度から、この一の単語が各単語と組み合わされて、ｍ番目の楽曲において夫々出現するｍ番目の頻度まで、の全ての頻度を加算した合計値を示す。また、本実施例の共同出現語テーブルに係るベクトルも、前述したように、例えば大きさを「１」とする単位ベクトルによって、示されてもよい。或いは、ノルムの手法に基づいて、正規化されていてもよい。【００６９】
（１−４−１）  共同出現語テーブルを作成する手法  
ここで、図５に加えて、前述した図３を適宜参照して、この共同出現語テーブル２０を、前述した出現語テーブル１０に基づいて作成する手法について説明する。ここに、図５は、本実施例に係る、複数の第２ベクトルの一具体例である共同出現語テーブルが作成される際の変遷を示した複数のテーブル（図５（ａ）、図５（ｂ）、及び図５（ｃ））である。尚、共同出現語テーブル２０を作成する手法においては、共同出現語テーブル２０は、初期化されており、全ての要素は「０」であると仮定する。【００７０】
図５（ａ）に示されるように、共同出現語テーブル２０の「１行目」において、初期化されたベクトルＷ１（０、０、０、・・・、０）に有される最初の要素を、作成する際には、先ず、出現語テーブル１０内のベクトルＭ１（２、５、３、・・・、５）の要素のうち、最初の要素に着目する。この最初の要素は、単語「Ｗ１」が出現する頻度「２」であるので、この２の自乗を、初期化されたベクトルＷ１（０、０、０、・・・、０）の最初の要素の値に加算し、ベクトルＷ１（＋４、０、０、・・・、０）を作成する。【００７１】
次に、図５（ｂ）に示されるように、共同出現語テーブル２０の「１行目」において、前述のベクトルＷ１（＋４、０、０、・・・、０）に有される２番目の要素を、作成する際には、出現語テーブル１０内のベクトルＭ１（２、５、３、・・・、５）の要素のうち、１番目の要素、及び、２番目の要素に着目する。これら１番目の要素と、２番目の要素とによって、単語「Ｗ１」と単語「Ｗ２」とが組み合わされて出現する頻度を算出できる。従って、１番目の要素の値「２」と、２番目の要素の値「５」との積の値「１０（＝２×５）」を、前述したベクトルＷ１（＋４、０、０、・・・、０）の２番目の要素の値に加算し、ベクトルＷ１（＋４、＋１０、０、・・・、０）を作成する。他方、見方を変えて、単語「Ｗ２」を基準にして、ベクトルＭ１（２、５、３、・・・、５）の２番目の要素と、１番目の要素とによって、単語「Ｗ２」と単語「Ｗ１」とが組み合わされて出現する頻度も算出できる。従って、２番目の要素の値「５」と、１番目の要素の値「２」との積の値「１０（＝２×５）」を、初期化されたベクトルＷ２（０、０、０、・・・、０）の１番目の要素の値に加算し、ベクトルＷ２（＋１０、０、０、・・・、０）を作成する。【００７２】
加えて、図５（ｂ）に示されるように、共同出現語テーブル２０の「２行目」において、前述のベクトルＷ２（＋１０、０、０、・・・、０）に有される２番目の要素を、作成する際には、出現語テーブル１０内のベクトルＭ１（２、５、３、・・・、５）の要素のうち、２番目の要素に着目する。この２番目の要素は、単語「Ｗ２」が出現する頻度「５」であるので、この５の自乗を、ベクトルＷ２（＋１０、０、０、・・・、０）の２番目の要素の値に加算し、ベクトルＷ１（＋１０、＋２５、０、・・・、０）を作成する。【００７３】
この結果、図５（ｂ）に示されるように、共同出現語テーブル２０の「１行目」において、ベクトルＷ１（＋４、＋１０、０、・・・、０）が作成される。と共に、共同出現語テーブル２０の「２行目」において、ベクトルＷ２（＋１０、＋２５、０、・・・、０）が作成される。【００７４】
次に、図５（ｃ）に示されるように、共同出現語テーブル２０の「１行目」において、前述のベクトルＷ１（＋４、＋１０、０、・・・、０）に有される３番目の要素を、作成する際には、出現語テーブル１０内のベクトルＭ１（２、５、３、・・・、５）の要素のうち、１番目の要素、及び、３番目の要素に着目する。これら１番目の要素と、３番目の要素とによって、単語「Ｗ１」と単語「Ｗ３」とが組み合わされて出現する頻度を算出できる。従って、１番目の要素の値「２」と、３番目の要素の値「３」との積の値「６（＝２×３）」を、前述したベクトルＷ１（＋４、＋１０、０、・・・、０）の３番目の要素の値に加算し、ベクトルＷ１（＋４、＋１０、＋６、・・・、０）を作成する。他方、見方を変えて、単語「Ｗ３」を基準にして、ベクトルＭ１（２、５、３、・・・、５）の３番目の要素と、１番目の要素とによって、単語「Ｗ３」と単語「Ｗ１」とが組み合わされて出現する頻度も算出できる。従って、３番目の要素の値「３」と、１番目の要素の値「２」との積の値「６（＝３×２）」を、初期化されたベクトルＷ３（０、０、０、・・・、０）の１番目の要素の値に加算し、ベクトルＷ３（＋６、０、０、・・・、０）を作成する。【００７５】
概ね同様にして、図５（ｃ）に示されるように、共同出現語テーブル２０の「２行目」において、前述のベクトルＷ２（＋１０、＋２５、０、・・・、０）に有される３番目の要素を、作成する際には、出現語テーブル１０内のベクトルＭ１（２、５、３、・・・、５）の要素のうち、２番目の要素、及び、３番目の要素に着目する。これら２番目の要素と、３番目の要素とによって、単語「Ｗ２」と単語「Ｗ３」とが組み合わされて出現する頻度を算出できる。従って、２番目の要素の値「５」と、３番目の要素の値「３」との積の値「１５（＝５×３）」を、前述したベクトルＷ２（＋１０、＋２５、０、・・・、０）の３番目の要素の値に加算し、ベクトルＷ２（＋１０、＋２５、＋１５、・・・、０）を作成する。他方、見方を変えて、単語「Ｗ３」を基準にして、ベクトルＭ１（２、５、３、・・・、５）の３番目の要素と、２番目の要素とによって、単語「Ｗ３」と単語「Ｗ２」とが組み合わされて出現する頻度も算出できる。従って、３番目の要素の値「３」と、２番目の要素の値「５」との積の値「１５（＝３×５）」を、前述のベクトルＷ３（＋６、０、０、・・・、０）の２番目の要素の値に加算し、ベクトルＷ３（＋６、＋１５、０、・・・、０）を作成する。【００７６】
加えて、図５（ｃ）に示されるように、共同出現語テーブル２０の「３行目」において、前述のベクトルＷ３（＋６、＋１５、０、・・・、０）に有される３番目の要素を、作成する際には、出現語テーブル１０内のベクトルＭ１（２、５、３、・・・、５）の要素のうち、３番目の要素に着目する。この３番目の要素は、単語「Ｗ３」が出現する頻度「３」であるので、この３の自乗を、ベクトルＷ３（＋６、＋１５、０、・・・、０）の３番目の要素の値に加算し、ベクトルＷ３（＋６、＋１５、＋９、・・・、０）を作成する。【００７７】
この結果、図５（ｃ）に示されるように、共同出現語テーブル２０の「１行目」において、ベクトルＷ１（＋４、＋１０、＋６、・・・、０）が作成される。と共に、共同出現語テーブル２０の「２行目」において、ベクトルＷ２（＋１０、＋２５、＋１５、・・・、０）が作成される。と共に、共同出現語テーブル２０の「３行目」において、ベクトルＷ３（＋６、＋１５、＋９、・・・、０）が作成される。【００７８】
以上のように算出した共同出現語テーブル２０において、（Ｗｘ、Ｗｙ）と、（Ｗｙ、Ｗｘ）との値は等しくなるので、有効なデータ（又は必要なデータ）を少なくとも記憶手段に記録（記憶）すれば記憶容量を少なくすることができる。【００７９】
（１−４）  複数の第２ベクトルの一具体例  −  共同出現語テーブル  （続き）−
再び、図４に戻って、上述した手法に基づいて作成された、共同出現語テーブル２０は、「２行目」において、単語「Ｗ２」に対応されるｎ次元のベクトルであるベクトルＷ２（８５、４３、１６０、・・・、６０）を有する。共同出現語テーブル２０は、「３行目」において、単語「Ｗ３」に対応されるベクトルＷ３（５７、１６０、３８、・・・、８３）を有する。以下、概ね同様にして、・・・、共同出現語テーブル２０は、「ｎ行目」において、単語「Ｗｎ」に対応されるベクトルＷｎ（３５、６０、８３、・・・、９３）を有する。【００８０】
（１−５）  代表語テーブルの一具体例  
次に、図６、及び図７を参照して、本実施例に係る、代表語テーブルの一具体例について説明する。ここに、図６は、本実施例に係る、代表語テーブルの一具体例を示すテーブルである。【００８１】
図６に示されるように、前述した出現語テーブル１０、及び、共同出現語テーブル２０に基づいて、代表語テーブル３０が作成される。この代表語テーブル３０においては、楽曲を代表する代表語が登録される。この代表語を登録する手法は、先ず（i）出現語テーブル１０に有される、複数の楽曲に夫々対応する、複数の列ベクトル（即ち、ベクトルＭ１からベクトルＭｍまで）のうちの「ｐ番目（但し、ｐは自然数）」のベクトルと、（ii）共同出現語テーブル２０に有される、ｎ種類の単語に夫々対応する、複数の列ベクトル（即ち、ベクトルＷ１からベクトルＷｎまで）のうちの「ｑ番目（但し、ｑは自然数）」のベクトルとのベクトル差の大きさが夫々比較される。次に、これら「ｐ番目」のベクトルと、「ｑ番目」のベクトルとのベクトル差の大きさが最小となる場合、「ｐ番目」のベクトルと「ｑ番目」のベクトルとが類似であると推定して、代表語テーブル３０において、「ｐ番目」のベクトルに対応する楽曲「Ｍｐ」を代表する代表語として、単語「Ｗｑ」を登録する。【００８２】
具体的には、図６に示されるように、代表語テーブル３０において、楽曲「Ｍ２」、楽曲「Ｍ１２」、及び楽曲「Ｍ９３」を代表する代表語として、単語「Ｗ１」が登録され、楽曲「Ｍ３」、及び楽曲「Ｍ２９」を代表する代表語として、単語「Ｗ２」が登録されている。【００８３】
（１−５−１）  代表語を決定する一手法  
ここで、図７に加えて、前述した図３及び図４を適宜参照して、本実施例に係る、代表語を決定する一手法について説明する。ここに、図７は、本実施例に係る、ｎ次元の情報空間の一例として、２次元の情報空間を示したグラフ（図７（ａ））、２次元の情報空間に対応した出現語テーブル１０を示したテーブル（図７（ｂ））、及び、２次元の情報空間に対応した共同出現語テーブル２０を示したテーブル（図７（ｃ））である。尚、図７（ｃ）の共同出現語テーブル２０においては、正規化のために、所定の係数「ｋ（例えば「０．１」等）」が各値に乗算されている。また、図７（ａ）において、２次元のベクトルは、ベクトルの要素「Ｗ１」を横軸、即ち「Ｗ１軸」とし、ベクトルの要素「Ｗ２」を縦軸、即ち「Ｗ２軸」とする座標上において、示されている。【００８４】
図７（ａ）に示されるように、出現語テーブル１０における、２次元のベクトルＭ２（１、８）（図７（ｂ）を参照）と、２次元のベクトルＷ１（２１ｋ、８５ｋ）とのベクトル差の大きさは、ベクトルＷ２（８５ｋ、２１ｋ）と比較して、最小であるので、代表語テーブル３０において、ベクトルＭ２に対応する楽曲「Ｍ２」を代表する代表語として、単語「Ｗ１」を登録する。或いは、２次元のベクトルＭ２（１、８）と、２次元のベクトルＷ１（２１ｋ、８５ｋ）とのベクトル差の大きさは、所定範囲として、中心をベクトルＭ２とし、半径Ｒが「２」である円１の領域内にあるので、代表語テーブル３０において、ベクトルＭ２に対応する楽曲「Ｍ２」を代表する代表語として、単語「Ｗ１」を登録する。【００８５】
また、概ね同様にして、図７（ａ）に示されるように、出現語テーブル１０における、２次元のベクトルＭ３（９、５）（図７（ｂ）を参照）と、２次元のベクトルＷ２（８５ｋ、２１ｋ）とのベクトル差の大きさは、ベクトルＷ１（２１ｋ、８５ｋ）と比較して、最小であるので、代表語テーブル３０において、ベクトルＭ３に対応する楽曲「Ｍ３」を代表する代表語として、単語「Ｗ２」を登録する。或いは、２次元のベクトルＭ３（９、５）と、２次元のベクトルＷ２（８５ｋ、２１ｋ）とのベクトル差の大きさは、所定範囲として、中心をベクトルＭ３とし、半径Ｒが「３．５」である円２の領域内にあるので、代表語テーブル３０において、ベクトルＭ３に対応する楽曲「Ｍ３」を代表する代表語として、単語「Ｗ２」を登録する。【００８６】
特に、代表語を決定する際には、共同出現語テーブルにおける、一の単語のベクトルと、他の単語のベクトルとのベクトル差が、所定範囲であるので、一の単語を代表語とする一の楽曲の代表語として、他の単語を登録するようにしてもよい。【００８７】
（１−５）  代表語テーブルの一具体例  （続き）  
再び、図６に戻って、上述した手法に基づいて代表語が登録された、代表語テーブル３０において、楽曲「Ｍ８１」を代表する代表語として、単語「Ｗ３」が登録され、楽曲「Ｍ３４」、及び楽曲「Ｍ６７」を代表する代表語として、単語「Ｗｎ」が登録されている。【００８８】
この結果、検索手段は、代表語テーブルだけを保持していれば、複雑な処理を行う必要が殆ど又は完全にないので、例えば検索手段、表示手段、及び、入力手段が楽曲検索装置の端末等の他部として利用されている場合、この他部において、各種の処理を行う負荷を低減し、所望の楽曲をより迅速に検索することが可能である。【００８９】
（１−６）  動作原理  −  楽曲の検索の結果を表示する、後段階の処理−
次に、図８を参照して、本実施例に係る、楽曲検索装置１００の動作原理として、楽曲の検索の結果を表示する、後段階の処理について説明する。ここに、図８は、本実施例に係る、楽曲検索装置による、楽曲の検索の結果を表示する、後段階の処理を示したフローチャートである。尚、図８中の実線の矢印は、処理の流れを示し、点線の矢印は、情報の流れを示す。また、説明の便宜上、各処理において、ステップ番号の末尾に「ｔ」が付加されている処理は、記憶手段へのテーブルの入力又は出力を意味する。【００９０】
（１−６−１）  登録済みの楽曲と類似する楽曲の検索の場合
図８に示されるように、ＣＰＵの制御下で、入力手段１７０によって、記憶手段１１０に既に記憶されている楽曲のうち、例えばユーザが所望する楽曲を示す楽曲ＩＤ等の識別情報が入力される（ステップＳ２０１）。【００９１】
次に、ＣＰＵの制御下で、検索手段によって、前述した、代表語テーブル３０に基づいて、入力された楽曲の代表語に対応される、他の楽曲が検索されると共に、ＣＰＵの制御下で、表示手段１８０によって、ユーザに表示される（ステップＳ２０２）。【００９２】
（１−６−２）  新規の楽曲と類似する楽曲の検索の場合
上述したステップＳ２０１と同時に、又は、相前後して、ＣＰＵの制御下で、入力手段１７０によって、例えば記憶手段に記憶されていない、新規の、ユーザが所望する楽曲が入力され、記憶手段によって記憶される（ステップＳ２０３）。【００９３】
次に、前述した、ステップＳ１０６と概ね同様にして、ＣＰＵの制御下で、抽出手段１２０によって、一つの楽曲を単位として、出現する単語が抽出され、形態素解析が行われる（ステップＳ２０４）。【００９４】
次に、前述した、ステップＳ１１１と概ね同様にして、ＣＰＵの制御下で、算出手段１５０によって、算出されたベクトル差の大きさに基づいて、新規の楽曲に対応される代表語が算出（決定）され、代表語テーブル３０に追加される（ステップＳ２０５）。加えて、前述したステップＳ１１２ｔと概ね同様にして、ＣＰＵの制御下で、追加された、代表語テーブル３０が、例えば記憶手段１１０によって、記憶される（ステップＳ１１２ｔ）。【００９５】
次に、ＣＰＵの制御下で、検索手段によって、追加された、代表語テーブル３０に基づいて、入力された新規の楽曲の代表語に対応される、他の楽曲が検索されると共に、ＣＰＵの制御下で、表示手段１８０によって、ユーザに表示される（ステップＳ２０２）。【００９６】
（１−６−３）  単語に基づく、楽曲の検索の場合
上述したステップＳ２０１と同時に、又は、相前後して、ＣＰＵの制御下で、入力手段１７０によって、例えばユーザが所望する、一又は複数の単語（所謂、検索語）が入力される（ステップＳ２０６）。【００９７】
次に、前述した、ステップＳ１１１と概ね同様にして、ＣＰＵの制御下で、算出手段１５０によって、一又は複数の検索語と、代表語テーブル３０に登録されている代表語との比較に基づいて、検索語に対応される代表語が算出（決定）される（ステップＳ２０７）。【００９８】
次に、ＣＰＵの制御下で、検索手段によって、前述した、代表語テーブル３０に基づいて、決定された代表語に対応される、楽曲が検索されると共に、ＣＰＵの制御下で、表示手段１８０によって、ユーザに表示される（ステップＳ２０２）。【００９９】
特に、例えば単語「Ｗ１」、及び単語「Ｗ３」等の複数の検索語に対応されるベクトルＭｗに基づいて算出された、ベクトル差の大きさに基づいて、検索が代表語テーブルや、後述される出現語テーブルが作成されるようにしてもよい。具体的には、例えば単語「Ｗ１」に対応される要素、及び単語「Ｗ３」に対応される要素を夫々「１」とするベクトルＭｗ（１、０、１、・・・、０）に基づいて、ベクトル差の大きさを算出するようにしてもよい。この結果、一の単語から連想される他の単語に基づいて、より適切に、所望の楽曲を検索することが可能となる。【０１００】
（２）楽曲検索装置の他の実施例
図９から図１２を参照して、本発明に係る楽曲検索装置の他の実施例について説明する。【０１０１】
（２−１）  基本構成、及び、動作原理
先ず、図９を参照して、他の実施例に係る楽曲検索装置１００の基本構成について説明する。ここに、図９は、他の実施例に係る、楽曲検索装置１００の基本構成を示したブロック図である。図１０は、他の実施例に係る、楽曲検索装置による、第１作成処理、及び、第２作成処理を含む、前段階の処理を示したフローチャートである。図１１は、他の実施例に係る、楽曲検索装置による、楽曲の検索の結果を表示する、後段階の処理を示したフローチャートである。【０１０２】
尚、他の実施例の基本構成において、上述した実施例と概ね同様の構成要素には、同様の符号番号を付し、それらの説明は適宜省略する。また、他の実施例の動作原理において、上述した実施例と概ね同様の処理には、同様のステップ番号を付し、それらの説明は適宜省略する。【０１０３】
図９に示されるように、他の実施例に係る算出手段１５０は、出現語距離テーブル４０を作成する。尚、出現語距離テーブル４０の詳細については、後述される。【０１０４】
図１０に示されるように、前段階の処理においては、前述したステップＳ１０９を経て、ＣＰＵの制御下で、算出手段１５０によって、算出されたベクトル差の大きさに基づいて、出現語距離テーブル４０が作成される（ステップＳ３０１ｔ）。【０１０５】
図１１に示されるように、後段階の処理においては、前述したステップＳ２０１を経て、ＣＰＵの制御下で、検索手段によって、後述の出現語距離テーブル４０に基づいて、入力された楽曲の代表語と、所定範囲の距離にある他の代表語に対応される、複数の楽曲が検索されると共に、ＣＰＵの制御下で、表示手段１８０によって、ユーザに表示される（ステップＳ２０２）。【０１０６】
（２−２）  出現語距離テーブルの一具体例  
次に、図１２を参照して、他の実施例に係る、出現語距離テーブルの一具体例について説明する。ここに、図１２は、他の実施例に係る、出現語距離テーブルの一具体例を示すテーブルである。【０１０７】
図１２に示されるように、前述した共同出現語テーブル２０に基づいて、出現語距離テーブル４０が作成される。この出現語距離テーブル４０においては、共同出現語テーブル２０におけるｎ種類の単語「Ｗ１」から単語「Ｗｎ」のうちの２つの単語のベクトル差の大きさを示す値が登録される。具体的には、単語「Ｗ１」と単語「Ｗ２」との距離は、ベクトルＷ１（２１、８５、５７、・・・、３５）と、ベクトルＷ２（９８、４３、１６０、・・・、６０）とのベクトル差の大きさに基づいて、「３」の値が、出現語距離テーブル４０の行列（Ｗ１、Ｗ２）の要素と、行列（Ｗ２、Ｗ１）の要素となる。また、行数と列数が等しい行列（Ｗｎ、Ｗｎ）の要素は全て「０」の値を取る。以下、概ね同様にして、単語「Ｗ１」と単語「Ｗ３」との距離は、ベクトルＷ１（２１、８５、５７、・・・、３５）と、ベクトルＷ３（５２、１２１、３８、・・・、８３）とのベクトル差の大きさに基づいて、「６」の値が、出現語距離テーブル４０の行列（Ｗ１、Ｗ３）の要素と、行列（Ｗ３、Ｗ１）の要素となる。【０１０８】
以上のように算出した出現語距離テーブル４０において、（Ｗｘ、Ｗｙ）と、（Ｗｙ、Ｗｘ）との値は等しくなる。また、（Ｗｎ、Ｗｎ）の要素も不要なデータなので、有効なデータ（又は必要なデータ）を少なくとも記録（記憶）すれば記憶容量を少なくすることができる。【０１０９】
この結果、出現語距離テーブル４０に基づいて、迅速且つ的確に、所望の楽曲を検索することが可能となる。【０１１０】
本発明は、上述した実施例に限られるものではなく、請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う楽曲検索装置及び方法、並びに制御用のコンピュータプログラムもまた本発明の技術的範囲に含まれるものである。
【産業上の利用可能性】
【０１１１】
本発明に係る楽曲検索装置及び方法、並びにコンピュータプログラムは、例えばネットワークを介して配信されたり、データベースに格納されている複数の楽曲から、所望の楽曲を検索する楽曲検索装置に利用可能である。また、例えば民生用或いは業務用の各種コンピュータ機器に搭載される又は各種コンピュータ機器に接続可能な楽曲検索装置等にも利用可能である。
【図１】
0004792497.tif 000002
【図２】
0004792497.tif 000003
【図３】
0004792497.tif 000004
【図４】
0004792497.tif 000005
【図５】
0004792497.tif 000006
【図６】
0004792497.tif 000007
【図７】
0004792497.tif 000008
【図８】
0004792497.tif 000009
【図９】
0004792497.tif 000010
【図１０】
0004792497.tif 000011
【図１１】
0004792497.tif 000012
【図１２】
0004792497.tif 000013
【図１３】
0004792497.tif 000014