(57)【要約】【課題】楽曲データなどのコンテンツデータから対応する特徴量を抽出できるアルゴリズムを、高精度で速やかに生成する。【解決手段】ステップＳ９４において、高レベル特徴量抽出式学習部は、Ｐ番目の初期集団に含まれる低レベル特徴量と教師データのうちの学習用データとを用い、ａ番目の学習アルゴリズムに適用して高レベル特徴量抽出式を学習により推定する。ステップＳ９５において、高レベル特徴量抽出式学習部は、ステップＳ９４の処理結果として得られた高レベル特徴量の評価値として、情報量基準AICまたはBICを演算する。ステップＳ９７において、高レベル特徴量抽出式学習部は、学習に使用する低レベル特徴量からなるｐ組の初期集団を、その評価値（情報量基準）に基づいてジェネティックに更新する。本発明は、楽曲や映像の高レベル特徴量を取得するシステムに適用できる。【選択図】図３４
2007122186.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成する情報処理装置において、
前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成手段を含み、
前記高レベル特徴量抽出式生成手段は、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する
情報処理装置。
【請求項２】
前記複数の学習アルゴリズムは、回帰解析、クラス分類、SVM(Support Vector Machine)、またはＧＰ(Genetic Programming)のうち、少なくとも１つを含む
請求項１に記載の情報処理装置。
【請求項３】
前記所定の情報量基準は、AIC(Akaike Information Criterion)またはBIC(bayesian Information Criterion)である
請求項１に記載の情報処理装置。
【請求項４】
前記高レベル特徴量抽出式生成手段は、予め用意されている複数の前記学習データを学習用と評価用にランダムに分割して使用する
請求項１に記載の情報処理装置。
【請求項５】
前記高レベル特徴量抽出式生成手段は、予め演算されている複数の低レベル特徴量のうち、前記高レベル特徴量抽出式の学習に用いるものを遺伝的アルゴリズムに基づいて選択する
請求項１に記載の情報処理装置。
【請求項６】
コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成する情報処理装置の情報処理方法において、
前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成ステップを含み、
前記高レベル特徴量抽出式生成ステップは、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する
情報処理方法。
【請求項７】
コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成するためのプログラムであって、
前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成ステップを含む処理をコンピュータに実行させ、
前記高レベル特徴量抽出式生成ステップは、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、例えば、楽曲データに基づいて前記楽曲データの特徴量を抽出するアルゴリズムを自動的に生成するようにした情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、楽曲データを入力として前記楽曲データの特徴量（楽曲データの速さ、明るさ、にぎやかさ等）を出力するアルゴリズムの自動生成に関する発明が提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】米国特許出願公報  ＵＳ２００４／０１８１４０１Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明では、図１に示すように、楽曲データとそのメタデータから１段階の演算処理により特徴量を抽出する特徴量抽出アルゴリズムを作成しており、当該アルゴリズムの作成過程、当該アルゴリズムを用いた特徴量の計算過程に要する演算量が膨大である。
【０００５】
したがって、できるだけ無駄なく少ない演算量で、楽曲データから対応する特徴量を速やかに抽出できるアルゴリズムの生成方法の出現が望まれている。
【０００６】
また、楽曲の波形に信号処理を施し抽出した複数の低レベル特徴量と機械学習を用いて高レベル特徴量を抽出することができるが、低レベル特徴量の数が増えると安定した機械学習が難しくなるという問題があった。
【０００７】
したがって、複数の低レベル特徴量のうち、高レベル特徴量を精度よく抽出するのに必要な低レベル特徴量のみを最適に選択する方法の出現が望まれている。
【０００８】
また、これまで様々な機械学習アルゴリズムのうち、特徴量を抽出するために最適なアルゴリズムを自動的に選択することはできなかった。
【０００９】
したがって、高レベル特徴量を精度よく抽出するのに最適な学習アルゴリズムを自動的に選択する方法の出現が望まれている。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、高レベル特徴量を抽出するために必要な低レベル特徴量と学習アルゴリズムを最適に自動選択し、楽曲データなどのコンテンツデータから対応する特徴量を高精度で速やかに抽出できるアルゴリズムを自動生成できるようにするものである。
【課題を解決するための手段】
【００１１】
本発明の一側面である情報処理装置は、コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成する情報処理装置において、前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成手段を含み、前記高レベル特徴量抽出式生成手段は、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する。
【００１２】
前記複数の学習アルゴリズムは、回帰解析、クラス分類、SVM(Support Vector Machine)、またはＧＰ(Genetic Programming)のうち、少なくとも１つを含むようにすることができる。
【００１３】
前記所定の情報量基準は、AICまたはBICであるようにすることができる。
【００１４】
前記高レベル特徴量抽出式生成手段は、予め用意されている複数の前記学習データを学習用と評価用にランダムに分割して使用するようにすることができる。
【００１５】
前記高レベル特徴量抽出式生成手段は、予め演算されている複数の低レベル特徴量のうち、前記高レベル特徴量抽出式の学習に用いるものを遺伝的アルゴリズムに基づいて選択するようにすることができる。
【００１６】
本発明の一側面である情報処理方法は、コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成する情報処理装置の情報処理方法において、前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成ステップを含み、前記高レベル特徴量抽出式生成ステップは、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する。
【００１７】
本発明の一側面であるプログラムは、コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成するためのプログラムであって、前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成ステップを含む処理をコンピュータに実行させ、前記高レベル特徴量抽出式生成ステップは、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する。
【００１８】
本発明の一側面においては、コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式が、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成される。なお、この学習では、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式が生成され、生成された前記高レベル特徴量抽出式が所定の情報量基準に基づいて評価される。
【発明の効果】
【００１９】
本発明の一側面によれば、高レベル特徴量を抽出するために必要な低レベル特徴量と学習アルゴリズムを最適に自動選択し、楽曲データなどのコンテンツデータから対応する特徴量を高精度で速やかに抽出できるアルゴリズムを生成することができる。
【発明を実施するための最良の形態】
【００２０】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２１】
本発明の一側面である情報処理装置（例えば、図５の特徴量抽出アルゴリズム生成装置２０）は、コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成する情報処理装置において、前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成手段（例えば、図５の高レベル特徴量抽出式学習部２５）を含み、前記高レベル特徴量抽出式生成手段は、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する。
【００２２】
本発明の一側面である情報処理方法は、コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成する情報処理装置の情報処理方法において、前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成ステップ（例えば、図７のステップＳ４）を含み、前記高レベル特徴量抽出式生成ステップは、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する（例えば、図３４のステップＳ９５）。
【００２３】
本発明の一側面であるプログラムは、コンテンツデータの特徴量を検出するための特徴量検出アルゴリズムを生成するためのプログラムであって、前記コンテンツデータまたは前記コンテンツデータに対応するメタデータに基づいて演算された低レベル特徴量を入力として前記コンテンツデータの特徴を示す高レベル特徴量を出力する高レベル特徴量抽出式を、前記コンテンツデータに対応する高レベル特徴量を教師データとした学習により生成する高レベル特徴量抽出式生成ステップ（例えば、図７のステップＳ４）を含む処理をコンピュータに実行させ、前記高レベル特徴量抽出式生成ステップは、異なる複数の学習アルゴリズムを用いて前記高レベル特徴量抽出式を生成し、生成した前記高レベル特徴量抽出式を、所定の情報量基準に基づいて評価する（例えば、図３４のステップＳ９５）。
【００２４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２５】
図２は、本発明の一実施の形態である特徴量抽出アルゴリズム生成装置２０（図５）によって生成される特徴量抽出アルゴリズムの概要を示している。この特徴長抽出アルゴリズム１１は、コンテンツデータ（楽曲データ）とそれに対応するメタデータ（属性データ）を入力として低レベル特徴量を出力する低レベル特徴量抽出部１２、および、低レベル特徴量を入力として高レベル特徴量を出力する高レベル特徴量抽出部１４から構成される。
【００２６】
低レベル特徴量抽出部１２は、入力データに所定の演算を施す１以上のオペレータ（演算子）が組み合わされたｍ種類の低レベル特徴量抽出式から成る低レベル特徴量抽出式リスト１３を有している。したがって、低レベル特徴量抽出部１２は、ｍ種類の低レベル特徴量を高レベル特徴量抽出部１４に出力する。
【００２７】
図３は低レベル特徴量抽出式の例を示している。例えば、図３Ａに示す低レベル特徴量抽出式ｆ１は、楽曲の波形データを入力として、各チャンネル（例えば、Ｌ(Left)チャンネルとＲ（Right）チャンネル）間で波形データの平均値（Mean）を演算し、演算された平均値を時間軸に沿って高速フーリエ変換（FFT）を行い、FFT結果から周波数の標準偏差(StDev)を求め、その結果を低レベル特徴量ａとして出力する。
【００２８】
また例えば、図３Ｂに示す低レベル特徴量抽出式ｆ２は、楽曲のコード進行データを入力として、時間軸に沿ってマイナーコードの出現率(Ratio)を求め、その結果を低レベル特徴量ｂとして出力する。
【００２９】
なお、低レベル特徴量抽出部１２の出力である低レベル特徴量は、それ単体で意味のある値である必要ない。
【００３０】
高レベル特徴量抽出部１４は、入力されるｍ種類の低レベル特徴量のうちの１種類以上の低レベル特徴量に比較的単純な演算（四則演算、累乗演算など）を行い、その演算結果を高レベル特徴量として出力するｋ種類の高レベル特徴量抽出式を有している。したがって、高レベル特徴量抽出部１４は、ｋ種類の高レベル特徴量を出力する。
【００３１】
図４は高レベル特徴量抽出式の例を示している。例えば、図４Ａに示す高レベル特徴量抽出式Ｆ１は、低レベル特徴量ａ，ｂ，ｃ，ｄ，ｅに四則演算を行い、その結果を１種類の高レベル特徴量である速さの値として出力する。
【００３２】
また例えば、図４Ｂに示す低レベル特徴量抽出式Ｆ２は、低レベル特徴量ａ，ｃ，ｄ，ｅに四則演算と累乗演算を行い、その結果を１種類の高レベル特徴量である明るさの値として出力する。
【００３３】
次に、図５は、本発明の一実施の形態である特徴量抽出アルゴリズム生成装置２０の構成例を示している。この特徴量抽出アルゴリズム生成装置２０は、最適な低レベル特徴量抽出式と高レベル特徴量抽出式をジェネティック(Genetic)な学習によって生成するものであり、ｍ種類の低レベル特徴量抽出式から成る低レベル特徴量抽出式リストをｎ個生成する低レベル特徴量抽出式リスト生成部２１、低レベル特徴量抽出式リスト生成部２１から供給されるｎ個の低レベル特徴量抽出式リストにｌ曲分の入力データ（コンテンツデータやメタデータ）を代入して、各入力データに対応するｍ種類の低レベル特徴量をｎ組得る低レベル特徴量演算部２４、低レベル特徴量演算部２４からのｎ組の出力と対応する教師データ（ｌ曲にそれぞれ対応するｋ項目の高レベル特徴量）に基づいて高レベル特徴量抽出式を学習によって推定する高レベル特徴量抽出式学習部２５、学習が進められて最終的に生成されるた高レベル特徴量抽出式を用いて高レベル特徴量を演算する高レベル特徴量演算部２６、および、各部の動作の繰り返し（ループ）を制御する制御部２７から構成される。
【００３４】
低レベル特徴量抽出式リスト生成部２１は、第１世代の低レベル特徴量抽出式リストについてはランダムに、第２世代以降の低レベル特徴量抽出式リストについては前世代の低レベル特徴量抽出式リストに基づく低レベル特徴量を用いて学習された高レベル特徴量抽出式の精度などに基づいて生成する。
【００３５】
低レベル特徴量抽出式リスト生成部２１に内蔵されたオペレータ組検出部２２は、生成された低レベル特徴量抽出式中に頻出する複数のオペレータの組み合わせを検出する。オペレータ生成部２３は、オペレータ組検出部２２によって検出された複数のオペレータの組み合わせを新たな１種類のオペレータとして登録する。
【００３６】
高レベル特徴量抽出式学習部２５は、ｎ組の低レベル特徴量にそれぞれ対応し、ｋ種類の高レベル特徴量抽出式を生成するとともに、各高レベル特徴量抽出式の推定精度と各高レベル特徴量抽出式における各低レベル特徴量の寄与率を算出して低レベル特徴量抽出式リスト生成部２１に出力する。また、高レベル特徴量抽出式学習部２５は、学習の最終世代において、ｎ組の低レベル特徴量抽出式リストのうち、得られた高レベル特徴量の平均精度が最も高かったリストのｍ組の低レベル特徴量抽出式と、これに対応するｋ種類の高レベル特徴量抽出式を高レベル特徴量演算部２６に供給する。
【００３７】
高レベル特徴量演算部２６は、最後に高レベル特徴量抽出式学習部２５から供給された低レベル特徴量抽出式、高レベル特徴量抽出式を用いて高レベル特徴量を演算する。
【００３８】
図６は、高レベル特徴量演算部２６の詳細な構成例を示している。
【００３９】
この高レベル特徴量演算部２６は、入力データ（コンテンツデータとそれに対応するメタデータ）を最終的な低レベル特徴量抽出式リストに代入して低レベル特徴量を演算する低レベル特徴量演算部４１、低レベル特徴量演算部４１による演算結果を最終的な高レベル特徴量抽出式に代入して高レベル特徴量を演算する高レベル特徴量演算部４２、高レベル特徴量演算部４２による演算結果と教師データ（入力データに対応する高レベル特徴量）と２乗誤差を演算する２乗誤差演算部４３、低レベル特徴量演算部４１の演算結果である低レベル特徴量を入力、２乗誤差演算部４３の演算結果である２乗誤差を出力とするリジェクト領域抽出式を学習により生成するリジェクト領域抽出式学習部４４、および、入力データをリジェクト領域抽出式学習部４４によって生成されたリジェクト領域抽出式に代入し、入力データに対応して演算される高レベル特徴量の特徴抽出精度（２乗誤差）を推定し、推定した特徴抽出精度が所定の閾値以上である場合だけ高レベル特徴量演算部４２に高レベル特徴量を演算させる特徴量抽出精度演算部４５から構成される。
【００４０】
次に、特徴量抽出アルゴリズム生成装置２０の動作について説明する。
【００４１】
図７は特徴量抽出アルゴリズム生成装置２０の基本的な動作である特徴量抽出アルゴリズム生成処理を説明するフローチャートである。
【００４２】
ステップＳ１において、制御部２７は、学習ループパラメータＧを１に初期化して学習ループを開始する。なお、学習ループは、ユーザなどによって予め設定されている学習回数ｇだけ繰り返される。
【００４３】
ステップＳ２において、低レベル特徴量抽出式リスト生成部２１は、図８に示すように、ｍ種類の低レベル特徴量抽出式から成る低レベル特徴量抽出式リストをｎ個生成して低レベル特徴量演算部２４に出力する。
【００４４】
ステップＳ２の処理（低レベル特徴量抽出式リスト生成処理）について、図９のフローチャートを参照して詳述する。
【００４５】
ステップＳ１１において、低レベル特徴量抽出式リスト生成部２１は、生成する低レベル特徴量抽出式リストが第１世代であるか否かを判定する。なお、この判定は学習ループパラメータＧが０であるとき、生成する低レベル特徴量抽出式リストが第１世代であると判定するようにする。生成する低レベル特徴量抽出式リストが第１世代であると判定された場合、処理はステップＳ１２に進む。ステップＳ１２において、低レベル特徴量抽出式リスト生成部２１は、第１世代の低レベル特徴量抽出式リストをランダムに生成する。
【００４６】
反対に、ステップＳ１１において、生成する低レベル特徴量抽出式リストが第１世代ではないと判定された場合、処理はステップＳ１３に進む。ステップＳ１３において、低レベル特徴量抽出式リスト生成部２１は、次世代の低レベル特徴量抽出式リストを、前世代の低レベル特徴量抽出式リストに基づいてジェネティック(Genetic)に生成する。
【００４７】
ステップＳ１２の処理（第１世代リストランダム生成処理）について、図１０を参照して説明する。ステップＳ２１において、制御部２７は、リストループパラメータＮを１に初期化してリストループを開始する。なお、リストループは、予め設定されているリスト数ｎだけ繰り返される。
【００４８】
ステップＳ２２において、制御部２７は、式ループパラメータＭを１に初期化して式ループを開始する。なお、式ループは、１個の低レベル特徴量抽出式リストを構成する低レベル特徴量抽出式数ｍだけ繰り返される。
【００４９】
ここで、式ループにおいて生成される低レベル特徴量抽出式の記述方法について図１１を参照して説明する。低レベル特徴量抽出式は、入力データが左端に記述され、その右側に１種類以上のオペレータが演算の順序に対応して記述される。各オペレータには、適宜、処理対称軸とパラメータが含まれる。
【００５０】
例えば、図１１の例の場合、12TomesMが入力データであり、32#Differential，32#MaxIndex,16#LPF_1;O.861などがオペレータである。また、オペレータ中の32#，16#などが処理対称軸を示している。例えば、12TomesMは、入力データがモノラルのPCM(pulse coded modulation sound source)波形データを時間軸方向にであることを示している。48#はチャンネル軸、32#は周波数軸と音程軸、16#は時間軸を示す。オペレータ中の0.861はローパスフィルタ処理におけるパラメータであり、例えば透過させる周波数の閾値を示している。
【００５１】
図１０に戻る。ステップＳ２３において、低レベル特徴量抽出式リスト生成部２１は、生成するリストＮの低レベル特徴量抽出式Ｍの入力データをランダムに決定する。
【００５２】
入力データの種類としては、例えば図１２に示すWav，12Tones，Chord，Keyなどが考えられる。入力データであるWAVは、図１３に示すようなPCM波形データであり、保有次元は時間軸とチャンネル軸である。入力データである12Tonesは、PCM波形データを時間軸に沿って音程毎に解析したものであり、保有次元は時間軸と音程軸である。入力データであるChordは、図１４に示すような楽曲のコード進行（Ｃ，Ｃ＃，Ｄ，・・・，Ｂｍ）を示すデータであり、保有次元は時間軸と音程軸である。入力データであるKeyは、楽曲のキー（Ｃ，Ｃ＃，Ｄ，・・・，Ｂ）を示すデータであり、保有次元は時間軸と音程軸である。
【００５３】
図１０に戻る。ステップＳ２４において、低レベル特徴量抽出式リスト生成部２１は、生成するリストＮの低レベル特徴量抽出式Ｍの処理対称軸とパラメータをランダムに１つ決定する。パラメータの種類としては、平均値（Mean）、高速フーリエ変換（FFT）、標準偏差(StDev)、出現率(Ratio)、ローパスフィルタ(LPF)、ハイパスフィルタ(HPF)、絶対値(ABS)、微分(Differential)、最大値(MaxIndex)、不偏分散(UVariance)などが考えられる。なお、決定されたオペレータによっては処理対称軸が固定されていることがあるので、その場合、パラメータに固定されている処理対称軸を採用する。また、パラメータを必要とするオペレータが決定された場合、パラメータもランダムまたは予め設定されている値に決定する。
【００５４】
ステップＳ２５において、低レベル特徴量抽出式リスト生成部２１は、現時点で生成されているリストＮの低レベル特徴量抽出式Ｍの演算結果がスカラ（１次元）であるか、または次元数が所定の値（例えば、１または２程度の小さい数）以下であるか否かを判定し、否と判定した場合、ステップＳ２４の処理に戻ってオペレータを１つ追加する。そして、図１６に示すように演算結果の保有次元数が少なくなり、ステップＳ２５において、リストＮの低レベル特徴量抽出式Ｍの演算結果がスカラであるか、または次元数が所定の値（例えば、１または２程度の小さい数）以下であると判定された場合、処理はステップＳ２６に進む。
【００５５】
ステップＳ２６において、制御部２７は、式ループパラメータＭが最大値ｍよりも小さいか否かを判定し、式ループパラメータＭが最大値ｍよりも小さい場合、式ループパラメータＭを１だけインクリメントして処理をステップＳ２３に戻す。反対に、式ループパラメータＭが最大値ｍよりも小さくない場合（式ループパラメータＭが最大値ｍと同値の場合）、式ループを抜けて処理をステップＳ２７に進める。ここまでの処理により、低レベル特徴量抽出式リストが１個生成されたことになる。
【００５６】
ステップＳ２７において、制御部２７は、リストループパラメータＮが最大値ｎよりも小さいか否かを判定し、リストループパラメータＮが最大値ｎよりも小さい場合、リストループパラメータＮを１だけインクリメントして処理をステップＳ２２に戻す。反対に、リストループパラメータＮが最大値ｎよりも小さくない場合（リストループパラメータＮが最大値ｎと同値の場合）、リストループを抜けて第１世代リストランダム生成処理を終了する。ここまでの処理により、第１世代の低レベル特徴量抽出式リストがｎ個生成されたことになる。
【００５７】
次に、図９のステップＳ１３の処理（次世代リストジェネティック生成処理）について、図１７を参照して説明する。ステップＳ３１において、低レベル特徴量抽出式リスト生成部２１は、選択数ｎｓ、交差数ｎｘ、突然変異数ｎｍをランダムに決定する。ただし、選択数ｎｓ、交差数ｎｘ、突然変異数ｎｍの和はｎとする。なお、選択数ｎｓ、交差数ｎｘ、突然変異数ｎｍは予め設定した定数を採用してもよい。
【００５８】
ステップＳ３２において、低レベル特徴量抽出式リスト生成部２１は、決定した選択数ｎｓに基づいて、ｎｓ個の低レベル特徴量抽出式リストを生成する。ステップＳ３３において、低レベル特徴量抽出式リスト生成部２１は、決定した交差数ｎｘに基づいて、ｎｘ個の低レベル特徴量抽出式リストを生成する。ステップＳ３４において、低レベル特徴量抽出式リスト生成部２１は、決定した突然変異数ｎｍに基づいて、ｎｍ個の低レベル特徴量抽出式リストを生成する。
【００５９】
ステップＳ３２の選択生成処理について、図１８のフローチャートを参照して詳述する。この選択生成処理では、次世代のｎ個の低レベル特徴量抽出式リストのうちの選択数ｎｓ個が生成される。
【００６０】
ステップＳ４１において、低レベル特徴量抽出式リスト生成部２１は、前世代（１世代前）のｎ個の低レベル特徴量抽出式リストを、高レベル特徴量抽出式学習部２５から入力された高レベル特徴量抽出式の推定精度の平均値が高い順に並び替える。そして、ステップＳ３２において、低レベル特徴量抽出式リスト生成部２１は、並び替えた前世代のｎ個の低レベル特徴量抽出式リストのうち、上位ｎｓ個を次世代の低レベル特徴量抽出式リストとして採用する。以上で選択生成処理は終了される。
【００６１】
図１７のステップＳ３３の交差生成処理について、図１９のフローチャートを参照して説明する。この交差生成処理では、次世代のｎ個の低レベル特徴量抽出式リストのうちの交差数ｎｘ個が生成される。
【００６２】
ステップＳ５１において、制御部２７は、交差ループパラメータＮＸを１に初期化して交差ループを開始する。なお、交差ループは、交差数ｎｘだけ繰り返される。
【００６３】
ステップＳ５２において、低レベル特徴量抽出式リスト生成部２１は、前世代の低レベル特徴量抽出式リストから、高レベル特徴量抽出式学習部２５から入力された高レベル特徴量抽出式の推定精度の平均値が高い方のものが優先的に選択されるように重み付けをした後、ランダムに２個の低レベル特徴量抽出式リストＡ，Ｂを選択する。なお、ここでの選択は、上述した選択生成処理で選択されたｎｓ個の低レベル特徴量抽出式リストを選択候補から除外してもよいし、選択候補に残しておいてもよい。
【００６４】
ステップＳ５３において、制御部２７は、式ループパラメータＭを１に初期化して式ループを開始する。なお、式ループは、１個の低レベル特徴量抽出式リストに含まれる式数ｍだけ繰り返される。
【００６５】
ステップＳ５４において、低レベル特徴量抽出式リスト生成部２１は、低レベル特徴量抽出式リストＡ，Ｂに含まれる２ｍ本の低レベル特徴量抽出式リストから、高レベル特徴量抽出式学習部２５から入力された高レベル特徴量抽出式における寄与率が高い方のものが優先的に選択されるように重み付けをした後、ランダムに１本の低レベル特徴量抽出式を選択して次世代の低レベル特徴量抽出式リストに追加する。
【００６６】
ステップＳ５５において、制御部２７は、式ループパラメータＭが最大値ｍよりも小さいか否かを判定し、式ループパラメータＭが最大値ｍよりも小さい場合、式ループパラメータＭを１だけインクリメントして処理をステップＳ５４に戻す。反対に、式ループパラメータＭが最大値ｍよりも小さくない場合（式ループパラメータＭが最大値ｍと同値の場合）、式ループを抜けて処理をステップＳ５６に進める。ここまでの処理により、低レベル特徴量抽出式リストが１個生成されたことになる。
【００６７】
ステップＳ５６において、制御部２７は、交差ループパラメータＮＸが最大値ｎｘよりも小さいか否かを判定し、交差ループパラメータＮＸが最大値ｎｘよりも小さい場合、交差ループパラメータＮＸを１だけインクリメントして処理をステップＳ５２に戻す。反対に、交差ループパラメータＮＸが最大値ｎｘよりも小さくない場合（交差ループパラメータＮＸが最大値ｎｘと同値の場合）、交差ループを抜けて交差生成処理を終了する。ここまでの処理により、交差数ｎｘ個の低レベル特徴量抽出式リストが生成されたことになる。
【００６８】
図１７のステップＳ３４の突然変異生成処理について、図２０のフローチャートを参照して説明する。この突然変異生成処理では、次世代のｎ個の低レベル特徴量抽出式リストのうちの突然変異数ｎｍ個が生成される。
【００６９】
ステップＳ６１において、制御部２７は、突然変異ループパラメータＮＭを１に初期化して突然変異ループを開始する。なお、突然変異ループは、突然変異数ｎｍだけ繰り返される。
【００７０】
ステップＳ６２において、低レベル特徴量抽出式リスト生成部２１は、前世代の低レベル特徴量抽出式リストから、高レベル特徴量抽出式学習部２５から入力された高レベル特徴量抽出式の推定精度の平均値が高い方のものが優先的に選択されるように重み付けをした後、ランダムに１個の低レベル特徴量抽出式リストＡを選択する。なお、ここでの選択は、上述した選択生成処理で選択されたｎｓ個の低レベル特徴量抽出式リストを選択候補から除外してもよいし、選択候補に残しておいてもよい。また、上述した交差生成処理のステップＳ５２の処理で選択された低レベル特徴量抽出式リストを選択候補から除外してもよいし、選択候補に残しておいてもよい。
【００７１】
ステップＳ６３において、制御部２７は、式ループパラメータＭを１に初期化して式ループを開始する。なお、式ループは、１個の低レベル特徴量抽出式リストに含まれる式数ｍだけ繰り返される。
【００７２】
ステップＳ６４において、低レベル特徴量抽出式リスト生成部２１は、低レベル特徴量抽出式リストＡに含まれるｍ本の低レベル特徴量抽出式のうちのＭ番目のものに注目して、Ｍ番目の低レベル特徴量抽出式の演算結果である低レベル特徴量の寄与率が、低レベル特徴量抽出式リストＡに含まれる他の低レベル特徴量抽出式の演算結果である低レベル特徴量の寄与率に比較して低いか否かを判定する。具体的には、例えば低レベル特徴量抽出式リストＡに含まれるｍ本の低レベル特徴量抽出式のうち、演算結果である低レベル特徴量の寄与率が低い方の所定の順番までに属するか否かを判定する。
【００７３】
ステップＳ６４において、Ｍ番目の低レベル特徴量抽出式の演算結果である低レベル特徴量の寄与率が他よりも低いと判定した場合、処理はステップＳ６５に進み、低レベル特徴量抽出式リスト生成部２１は、Ｍ番目の低レベル特徴量抽出式をランダムに変形して次世代の低レベル特徴量抽出式リストに追加する。
【００７４】
反対に、ステップＳ６４において、Ｍ番目の低レベル特徴量抽出式の演算結果である低レベル特徴量の寄与率が他よりも低くないと判定した場合、処理はステップＳ６６に進み、低レベル特徴量抽出式リスト生成部２１は、Ｍ番目の低レベル特徴量抽出式をそのまま次世代の低レベル特徴量抽出式リストに追加する。
【００７５】
ステップＳ６７において、制御部２７は、式ループパラメータＭが最大値ｍよりも小さいか否かを判定し、式ループパラメータＭが最大値ｍよりも小さい場合、式ループパラメータＭを１だけインクリメントして処理をステップＳ６４に戻す。反対に、式ループパラメータＭが最大値ｍよりも小さくない場合（式ループパラメータＭが最大値ｍと同値の場合）、式ループを抜けて処理をステップＳ６８に進める。ここまでの処理により、低レベル特徴量抽出式リストが１個生成されたことになる。
【００７６】
ステップＳ６８において、制御部２７は、突然変異ループパラメータＮＭが最大値ｎｍよりも小さいか否かを判定し、突然変異ループパラメータＮＭが最大値ｎｍよりも小さい場合、突然変異ループパラメータＮＭを１だけインクリメントして処理をステップＳ６２に戻す。反対に、突然変異ループパラメータＮＭが最大値ｎｍよりも小さくない場合（突然変異ループパラメータＮＭが最大値ｎｍと同値の場合）、突然変異ループを抜けて突然変異生成処理を終了する。ここまでの処理により、突然変異数ｎｍ個の低レベル特徴量抽出式リストが生成されたことになる。
【００７７】
以上説明した次世代リストジェネティック生成処理によれば、前世代の低レベル特徴量抽出式リストに対応する推定精度が高いもの、低レベル特徴量抽出式に対応する寄与率が高いものは次世代に継承され、推定精度や寄与率が低いものは次世代に継承されず淘汰されることになる。したがって、世代が進むに連れて、低レベル特徴量抽出式リストに対応する推定精度は向上し、低レベル特徴量抽出式に対応する寄与率も向上することが期待できる。
【００７８】
図７に戻る。ステップＳ３において、低レベル特徴量演算部２４は、低レベル特徴量抽出式リスト生成部２１から入力されたｎ個の低レベル特徴量抽出式リストに曲Ｃ１乃至Ｃｌのｌ曲分の入力データ（コンテンツデータやメタデータ）を代入して低レベル特徴量を演算する。なお、ここで入力されるｌ曲分の入力データは、それぞれｋ項目の教師データ（対応する高レベル特徴量）が予め得られているものを使用する。例えば、低レベル特徴量演算部２４は、図２１Ａに示されるような保有次元が音程軸と時間軸である入力データに対して#16Meanのオペレータに相当する演算を実行した場合、図２１Ｂに示すように時間軸を処理対象軸にして各音程の値の平均値が算出される。
【００７９】
そして演算結果として得られる図２２に示すようなｎ組の各入力データに対応するｍ種類の低レベル特徴量を高レベル特徴量抽出式学習部２５に出力する。
【００８０】
図７に戻る。ステップＳ４において、高レベル特徴量抽出式学習部２５は、低レベル特徴量演算部２４から入力された各入力データにそれぞれ対応して演算されたｎ組の低レベル特徴量と、対応する教師データ（図２３に示すように、各入力データ（楽曲Ｃ１乃至Ｃｌ）にそれぞれ対応するｋ種類の高レベル特徴量）に基づいて、１組がｋ種類の高レベル特徴量抽出式の組をｎ組、学習によって推定する（生成する）。また、各高レベル特徴量抽出式の推定精度と各高レベル特徴量抽出式における各低レベル特徴量の寄与率を算出して低レベル特徴量抽出式リスト生成部２１に出力する。
【００８１】
ステップＳ４における高レベル特徴量抽出式学習処理について、図２４のフローチャートを参照して詳述する。
【００８２】
ステップＳ７１において、制御部２７は、リストループパラメータＮを１に初期化してリストループを開始する。なお、リストループは、予め設定されているリスト数ｎだけ繰り返される。ステップＳ７２において、制御部２７は、教師データループパラメータＫを１に初期化して教師データループを開始する。なお、教師データループは、予め設定されている教師データの種類数ｋだけ繰り返される。
【００８３】
ステップＳ７３において、制御部２７は、アルゴリズムループパラメータＡを１に初期化してアルゴリズムループを開始する。なお、アルゴリズムループは、学習アルゴリズムの種類数ａだけ繰り返される。
【００８４】
適用する学習アルゴリズムとしては、例えば、Regression（回帰解析）、Classify（クラス分類）、SVM(Support Vector Machine)、およびＧＰ(Genetic Programming)を挙げることができる。
【００８５】
Regressionに属する学習アルゴリズムとしては、図２５に示すように、教師データと低レベル特徴量が線形の関係にあるとの仮定に基づいて教師データとＹの２乗誤差が最小となるようにパラメータｂnを学習するもの、および、図２６に示すように、教師データと低レベル特徴量が非線形の関係にあるとの仮定に基づいて教師データとＹの２乗誤差が最小となるようにパラメータｂnmを学習するものを挙げることができる。
【００８６】
Classifyに属する学習アルゴリズムとしては、図２７に示すように、各クラス（同図の場合、男性ボーカルクラスと女性ボーカルクラス）のそれぞれの中心からのユークリッド距離ｄを算出してユークリッド距離ｄが最短のクラスに分類するもの、図２８に示すように、各クラス（同図の場合、男性ボーカルクラスと女性ボーカルクラス）の平均ベクトルとの相関correlを算出して相関correlが最大のクラスに分類するもの、図２９に示すように、各クラス（同図の場合、男性ボーカルクラスと女性ボーカルクラス）のそれぞれの中心からのマハラノビス距離ｄを算出してマハラノビス距離ｄが最短のクラスに分類するもの、図３０Ａに示すように、各クラス群（同図の場合、男性ボーカルクラス群と女性ボーカルクラス群）の分布を複数のクラスで表現し、それぞれのクラス群の中心からのユークリッド距離ｄを算出してユークリッド距離ｄが最短のクラスに分類するもの、および、図３０Ｂに示すように、各クラス群（同図の場合、男性ボーカルクラス群と女性ボーカルクラス群）の分布を複数のクラスで表現し、それぞれのクラス群の中心からのマハラノビス距離ｄを算出してマハラノビス距離ｄが最短のクラスに分類するものを挙げることができる。
【００８７】
SVMに属する学習アルゴリズムとしては、図３１に示すように、各クラス（同図の場合、男性ボーカルクラスと女性ボーカルクラス）の境界面をサポートベクトルで表現し、分離面と境界付近のベクトルとの距離（マージン）が最大になるようにパラメータｂｎｍを学習するものを挙げることができる。
【００８８】
ＧＰに属する学習アルゴリズムとしては、図３２に示すように、低レベル特徴量を組み合わせた式をＧＰで生成するもの、図３３Ａに示すように、低レベル特徴量を組み合わせた式を交差させるもの、および、図３３Ｂに示すように、低レベル特徴量を組み合わせた式を突然変異させるものを挙げることができる。
【００８９】
例えば、上述した全ての学習アルゴリズムを用いる場合、学習アルゴリズムの種類数ａは１１とされる。
【００９０】
図２４に戻る。ステップＳ７４において、制御部２７は、クロスバリデーションループパラメータＣを１に初期化してクロスバリデーションループを開始する。なお、クロスバリデーションループは、予め設定されているクロスバリデーション回数ｃだけ繰り返される。
【００９１】
ステップＳ７５において、高レベル特徴量抽出式学習部２５は、ｋ種類の教師データのうち、Ｋ番目の種類のｌ曲分の教師データ（高レベル特徴量）をランダムに学習用と評価用に２分割する（クロスバリデーション）。以下、教師データのうち、学習用に分類されたものを学習用データ、評価用に分類されたものを評価用データと称する。
【００９２】
ステップＳ７６において、高レベル特徴量抽出式学習部２５は、Ｎ番目の低レベル特徴量抽出式リストを用いて演算されたｍ種類の低レベル特徴量と学習用データとをａ番目の学習アルゴリズムに適用して高レベル特徴量抽出式を学習により推定する。この学習に際しては、演算量の削減と過学習（オーバフィッティング）を抑止するために、ｍ種類の低レベル特徴量のうちのいくつかをジェネティックに選択して使用する。
【００９３】
この低レベル特徴量を選択するときの評価値には、関数である情報量基準AIC(Akaike Information Criterion)、または情報量基準BIC(Bayesian Information Criterion)を用いる。情報量基準AICおよびBICは学習モデル（いまの場合、選択されている低レベル特徴量）の選択基準として用いるものであり、その値が小さいほど学習モデルほど良い（評価が高い）とされる。
【００９４】
AICは次式のように表記される。
AIC＝−２×最大対数尤度＋２×自由パラメータ数
【００９５】
例えば、学習アルゴリズムにRegression（線形）が採用されている場合（図２５の場合）、自由パラメータ数＝ｎ＋１、対数尤度＝−０．５×学習用データ数×（（log２π）＋１＋log（平均２乗誤差））であるので、
AIC＝学習用データ数×（（log２π）＋１＋log（平均２乗誤差））＋２×（ｎ＋１）
となる。
【００９６】
BICは次式のように表記される。
BIC＝−２×最大対数尤度＋log（学習用データ数）×自由パラメータ数
例えば、学習アルゴリズムにRegression（線形）が採用されている場合（図２５の場合）、  BIC＝学習用データ数×（（log２π）＋１＋log（平均２乗誤差））＋log（学習用データ数）×（ｎ＋１）
となる。BICはAICと比較して、学習用データ数が増加してもその値が増加し難いことが特徴である。
【００９７】
ここで、ステップＳ７６の学習アルゴリズムに基づく学習処理について、図３４を参照して説明する。この学習処理に際しては、上述したように、演算量の削減と過学習（オーバフィッティング）を抑止するために、ｍ種類の低レベル特徴量のうちのいくつかをジェネティックに選択して使用する。
【００９８】
ステップＳ９１において、高レベル特徴量抽出式学習部２５は、ｍ種類の低レベル特徴量のうち、選択するもの（学習に使用するもの）をランダムに抽出した初期集団をｐ組生成する。
【００９９】
ステップＳ９２において、高レベル特徴量抽出式学習部２５は、ジェネティックアルゴリズム（ＧＡ:遺伝的アルゴリズム）による特徴選択ループを開始する。このＧＡによる特徴選択ループは、後述するステップＳ９８において所定の条件を満たすまで繰り返される。
【０１００】
ステップＳ９３において、制御部２７は、初期集団ループパラメータＰを１に初期化して初期集団ループを開始する。なお、初期集団ループは、ステップＳ９１の処理で生成された低レベル特徴量の初期集団数ｐだけ繰り返される。
【０１０１】
ステップＳ９４において、高レベル特徴量抽出式学習部２５は、Ｐ番目の初期集団に含まれる低レベル特徴量と教師データのうちの学習用データとを用い、ａ番目の学習アルゴリズムに適用して高レベル特徴量抽出式を学習により推定する。
【０１０２】
ステップＳ９５において、高レベル特徴量抽出式学習部２５は、ステップＳ９４の処理結果として得られた高レベル特徴量の評価値として、情報量基準AICまたはBICを演算する。ステップＳ９６において、制御部２７は、初期集団ループパラメータＰが最大値ｐよりも小さいか否かを判定し、初期集団ループパラメータＰが最大値ｐよりも小さい場合、初期集団ループパラメータＰを１だけインクリメントして処理をステップＳ９４に戻す。反対に、初期集団ループパラメータＰが最大値ｐよりも小さくない場合（初期集団ループパラメータＰが最大値ｐと同値の場合）、初期集団ループを抜けて処理をステップＳ９７に進める。この初期集団ループにより、各初期集団に基づいて学習された高レベル特徴量抽出式の評価値として情報基準量を得ることができる。
【０１０３】
ステップＳ９７において、高レベル特徴量抽出式学習部２５は、学習に使用する低レベル特徴量からなるｐ組の初期集団を、その評価値（情報量基準）に基づいてジェネティックに更新する。具体的には、図１７のステップＳ３２乃至Ｓ３４と同様に、選択、交差、突然変異によって初期集団を更新する。この更新により、当初はランダムに生成された初期集団が高レベル特徴量抽出式の評価値を向上させる学習が進められたものとなる。
【０１０４】
ステップＳ９８において、制御部２７は、ｐ組の初期集団にそれぞれ対応する高レベル特徴量抽出式のうち、最も評価値の高い（情報基準量が小さい）のものの評価値が、ＧＡによる特徴選択ループが繰り返される毎に向上している（情報基準量が減少している）間は処理をステップＳ９３に戻す。反対に、ｐ組の初期集団にそれぞれ対応する高レベル特徴量抽出式のうち、最も評価値の高いのものの評価値が、ＧＡによる特徴選択ループが繰り返されても向上しなくなってきた（情報基準量が減少しなくなってきた）場合、ＧＡによる特徴選択ループを抜け、最も評価値の高いを高レベル特徴量抽出式を後段の処理（図２４のステップＳ７７の処理）に出力する。そして、学習アルゴリズムに基づく学習処理は終了される。
【０１０５】
図２４に戻る。ステップＳ７７において、高レベル特徴量抽出式学習部２５は、ステップＳ７６の処理で得た高レベル特徴量抽出式を評価用データを用いて評価する。具体的には、得られた高レベル特徴量抽出式を用いて高レベル特徴量を演算し、評価用データとの２乗誤差を算出する。
【０１０６】
ステップＳ７８において、制御部２７は、クロスバリデーションループパラメータＣが最大値ｃよりも小さいか否かを判定し、クロスバリデーションループパラメータＣが最大値ｃよりも小さい場合、クロスバリデーションループパラメータＣを１だけインクリメントして処理をステップＳ７５に戻す。反対に、クロスバリデーションループパラメータＣが最大値ｃよりも小さくない場合（クロスバリデーションループパラメータＣが最大値ｃと同値の場合）、クロスバリデーションループを抜けて処理をステップＳ７９に進める。ここまでの処理により、ｃ本の学習結果、すなわち、高レベル特徴量抽出式が得られたことになる。このクロスバリデーションループにより、学習用データと評価用データがランダムに変換されるので、高レベル特徴量抽出式が過学習されていないことを確認することができる。
【０１０７】
ステップＳ７９において、高レベル特徴量抽出式学習部２５は、クロスバリデーションループによって得られたｃ本の学習結果、すなわち、高レベル特徴量抽出式のうち、ステップＳ７７の処理における評価値が最も高いものを選択する。
【０１０８】
ステップＳ８０において、制御部２７は、アルゴリズムループパラメータＡが最大値ａよりも小さいか否かを判定し、アルゴリズムループパラメータＡが最大値ａよりも小さい場合、アルゴリズムループパラメータＡを１だけインクリメントして処理をステップＳ７４に戻す。反対に、アルゴリズムループパラメータＡが最大値ａよりも小さくない場合（アルゴリズムループパラメータＡが最大値ａと同値の場合）、アルゴリズムループを抜けて処理をステップＳ８１に進める。このアルゴリズムループにより、Ａ種類の学習アルゴリズムによって学習されたＫ番目の種類の高レベル特徴量抽出式がａ本得られたことになる。そこで、ステップＳ８１において、高レベル特徴量抽出式学習部２５は、アルゴリズムループによって得られたａ本の学習結果、すなわち、高レベル特徴量抽出式のうち、ステップＳ７７の処理における評価値が最も高いものを選択する。
【０１０９】
ステップＳ８２において、制御部２７は、教師データループパラメータＫが最大値ｋよりも小さいか否かを判定し、教師データループパラメータＫが最大値ｋよりも小さい場合、教師データループパラメータＫを１だけインクリメントして処理をステップＳ７３に戻す。反対に、教師データループパラメータＫが最大値ｋよりも小さくない場合（教師データループパラメータＫが最大値ｋと同値の場合）、教師データループを抜けて処理をステップＳ８３に進める。この教師データループにより、Ｎ番目の低レベル特徴量抽出式リストに対応する、ｋ種類の高レベル特徴量抽出式が得られたことになる。
【０１１０】
ステップＳ８３において、制御部２７は、リストループパラメータＮが最大値ｎよりも小さいか否かを判定し、リストループパラメータＮが最大値ｎよりも小さい場合、リストループパラメータＮを１だけインクリメントして処理をステップＳ７２に戻す。反対に、リストループパラメータＮが最大値ｎよりも小さくない場合（リストループパラメータＮが最大値ｎと同値の場合）、リストループを抜けて処理をステップＳ８４に進める。このリストループにより、ｎ個の低レベル特徴量抽出式リストにそれぞれ対応する、ｋ種類の高レベル特徴量抽出式が得られたことになる。
【０１１１】
ステップＳ８４において、高レベル特徴量抽出式学習部２５は、得られたｎ個の低レベル特徴量抽出式リストにそれぞれ対応する、ｋ種類の高レベル特徴量抽出式の推定精度と各高レベル特徴量抽出式における各低レベル特徴量の寄与率を算出して低レベル特徴量抽出式リスト生成部２１に出力する。以上で、高レベル特徴量抽出式学習処理が終了される。
【０１１２】
図７に戻る。ステップＳ５において、制御部２７は、学習ループパラメータＧが最大値ｇよりも小さいか否かを判定し、学習ループパラメータＧが最大値ｇよりも小さい場合、学習ループパラメータＧを１だけインクリメントして処理をステップＳ２に戻す。反対に、学習ループパラメータＧが最大値ｇよりも小さくない場合（学習ループパラメータＧが最大値ｇと同値の場合）、学習ループを抜けて処理をステップＳ６に進める。なお、ステップＳ１乃至Ｓ５の学習ルールが特徴量抽出アルゴリズムの学習過程であり、これ以降のステップＳ６は、特徴量抽出アルゴリズムを用いた高レベル特徴量の演算のための処理である。
【０１１３】
ステップＳ６において、高レベル特徴量抽出式学習部２５は、学習の最終世代において、ｎ組の低レベル特徴量抽出式リストのうち、得られた高レベル特徴量の平均精度が最も高かったリストのｍ組の低レベル特徴量抽出式と、これに対応するｋ種類の高レベル特徴量抽出式を高レベル特徴量演算部２６に供給する。ステップＳ７において、高レベル特徴量演算部２６は、高レベル特徴量抽出式学習部２５から供給された低レベル特徴量抽出式、高レベル特徴量抽出式のうち、最後に高レベル特徴量抽出式学習部２５から供給された低レベル特徴量抽出式、高レベル特徴量抽出式を用いて高レベル特徴量を演算する。なお、ステップＳ７の処理については図３８以降を参照して後述する。
【０１１４】
以上、特徴量抽出アルゴリズム生成装置２０による特徴量抽出アルゴリズム生成処理の説明を終了する。
【０１１５】
次に、上述した特徴量抽出アルゴリズム生成処理におけるステップＳ１乃至Ｓ６の学習ループが繰り返されて低レベル特徴量抽出式リストの世代が進み成長したとき、すなわち、低レベル特徴量抽出式の寄与度が向上したり、対応する高レベル特徴量抽出式の推定精度が向上したりしたときに実行する新規オペレータ生成処理について説明する。
【０１１６】
低レベル特徴量抽出式リストの世代が進み成長した場合、低レベル特徴量抽出式リストの中には、図３５に示すように複数のオペレータの順列（以下、オペレータの組み合わせと称する）が異なる低レベル特徴量抽出式上に頻出することになる。そこで、異なる低レベル特徴量抽出式上に頻出する複数のオペレータの組み合わせを新たなオペレータの１つとして、低レベル特徴量抽出式リスト生成部２１において使用するオペレータに登録するようにする。
【０１１７】
例えば、図３５の場合、３つのオペレータの組み合わせ”32#FFT，Log，32#FFT”が５本の低レベル特徴量抽出式に出現している。この”32#FFT，Log，32#FFT”が１つのオペレータNewOperator１として登録された場合、次世代以降の低レベル特徴量抽出式には、例えば図３６に示すようにオペレータNewOperator１が含まれることになる。
【０１１８】
この新規オペレータ生成処理について、図３７のフローチャートを参照して説明する。ステップＳ１０１において、オペレータ組検出部２２は、所定の数（例えば、１乃至５程度）以下のオペレータからなるオペレータの順列（順序のあるオペレータの組み合わせ）を生成する。ここで生成されるオペレータの組み合わせ数をｏｇとする。
【０１１９】
ステップＳ１０２において、制御部２７は、組み合わせループパラメータＯＧを１に初期化して組み合わせループを開始する。なお、組み合わせループは、オペレータの組み合わせ数ｏｇだけ繰り返される。
【０１２０】
ステップＳ１０３において、ｏｇ番目のオペレータの組み合わせの出現頻度Countを１に初期化する。ステップＳ１０４において、制御部２７は、リストループパラメータＮを０に初期化してリストループを開始する。なお、リストループは、予め設定されているリスト数ｎだけ繰り返される。ステップＳ１０５において、制御部２７は、式ループパラメータＭを１に初期化して式ループを開始する。なお、式ループは、１個の低レベル特徴量抽出式リストを構成する低レベル特徴量抽出式数ｍだけ繰り返される。
【０１２１】
ステップＳ１０６において、オペレータ組検出部２２は、Ｎ番目の低レベル特徴量抽出式リストを構成するＭ番目の低レベル特徴量抽出式上にｏｇ番目のオペレータの組み合わせが存在するか否かを判定し、存在すると判定した場合、処理をステップＳ１０７に進めて出現頻度Countを１だけインクリメントする。反対に、ｏｇ番目のオペレータの組み合わせが存在しないと判定した場合、ステップＳ１０７をスキップして、処理をステップＳ１０８に進める。
【０１２２】
ステップＳ１０８において、制御部２７は、式ループパラメータＭが最大値ｍよりも小さいか否かを判定し、式ループパラメータＭが最大値ｍよりも小さい場合、式ループパラメータＭを１だけインクリメントして処理をステップＳ１０６に戻す。反対に、式ループパラメータＭが最大値ｍよりも小さくない場合（式ループパラメータＭが最大値ｍと同値の場合）、式ループを抜けて処理をステップＳ１０９に進める。
【０１２３】
ステップＳ１０９において、制御部２７は、リストループパラメータＮが最大値ｎよりも小さいか否かを判定し、リストループパラメータＮが最大値ｎよりも小さい場合、リストループパラメータＮを１だけインクリメントして処理をステップＳ１０５に戻す。反対に、リストループパラメータＮが最大値ｎよりも小さくない場合（リストループパラメータＮが最大値ｎと同値の場合）、リストループを抜けて処理をステップＳ１１０に進める。
【０１２４】
ステップＳ１１０において、制御部２７は、組み合わせループパラメータＯＧが最大値ｏｇよりも小さいか否かを判定し、組み合わせループパラメータＯＧが最大値ｏｇよりも小さい場合、組み合わせループパラメータＯＧを１だけインクリメントして処理をステップＳ１０３に戻す。反対に、組み合わせループパラメータＯＧが最大値ｏｇよりも小さくない場合（組み合わせループパラメータＯＧが最大値ｏｇと同値の場合）、組み合わせループを抜けて処理をステップＳ１１０に進める。ここまでの処理により、全てオペレータの組み合わせにそれぞれ対応する出現頻度Countが検出されたことになる。
【０１２５】
ステップＳ１１１において、オペレータ組検出部２２は、出現頻度Countが所定の閾値以上のオペレータの組み合わせを抽出してオペレータ生成部２３に出力する。ステップＳ１１２において、オペレータ生成部２３は、オペレータ組検出部２２から入力されたオペレータの組み合わせを新たな１つのオペレータとして登録する。以上で新規オペレータ生成処理が終了される。
【０１２６】
以上説明したように、新規オペレータ生成処理によれば、出現頻度の高い、すなわち、高レベル特徴量を演算する上で有効であると考えられるオペレータの組み合わせが１つのオペレータとされ、次世代以降の低レベル特徴量抽出式において使用されるので、低レベル特徴量抽出式の作成速度と成長速度が向上する。また、有効な低レベル特徴量抽出式が早期に発見されることとなる。さらに、従来、人手により発見していた有効であると考えられるオペレータの組み合わせを自動的に検出できるので、この点も新規オペレータ生成処理が奏する効果のひとつである。
【０１２７】
次に、上述した図７のステップＳ７の処理について、図３８のフローチャートを参照して説明する。ステップＳ１４１において、高レベル特徴量演算部２６は、高レベル特徴量抽出式学習部２５から供給された最終的な高レベル特徴量抽出式のうち、高い精度の演算結果を得られるもののみを選択するための高精度リジェクト処理を実行する。
【０１２８】
高精度リジェクト処理は、高レベル特徴量の精度は低レベル特徴量の値に因果関係があるとの考えに基づき、低レベル特徴量を入力として高レベル特徴量の精度を出力するリジェクト領域抽出式を学習によって得るものである。高精度リジェクト処理について、図３９のフローチャートを参照して説明する。
【０１２９】
ステップＳ１５１において、高レベル特徴量演算部２６の低レベル特徴量演算部４１は、最終的な低レベル特徴量抽出式リストを取得する。高レベル特徴量演算部２６の高レベル特徴量演算部４２は、最終的な高レベル特徴量抽出式を取得する。
【０１３０】
ステップＳ１５２において、制御部２７は、コンテンツループパラメータＬを１に初期化してコンテンツループを開始する。なお、コンテンツループは、高精度リジェクト処理を実行するために用意できる入力データ（コンテンツデータとメタデータ）の数ｌだけ繰り返される。なお、用意できる入力データに対応する高レベル特徴量も、教師データとして用意されているものとする。
【０１３１】
ステップＳ１５３において、低レベル特徴量演算部４１は、ステップＳ１５１の処理で取得した最終的な低レベル特徴量抽出式リストにＬ番目の入力データを代入し、その演算結果であるｍ種類の低レベル特徴量を高レベル特徴量演算部４２およびリジェクト領域抽出式学習部４４に出力する。高レベル特徴量演算部４２は、ステップＳ１５１の処理で取得した最終的な高レベル特徴量抽出式に、低レベル特徴量演算部４１から入力されたｍ種類の低レベル特徴量を代入し、その演算結果である高レベル特徴量を２乗誤差演算部４３に出力する。
【０１３２】
ステップＳ１５４において、２乗誤差演算部４３は、高レベル特徴量演算部４２から入力された高レベル特徴量と、教師データ（入力データに対応する真の高レベル特徴量）との２乗誤差を演算してリジェクト領域抽出式学習部４４に出力する。この演算結果である２乗誤差が、高レベル特徴量演算部４２において演算される高レベル特徴量抽出式の精度（以下、特徴抽出精度と称する）となる。
【０１３３】
ステップＳ１５５において、制御部２７は、コンテンツループパラメータＬが最大値ｌよりも小さいか否かを判定し、コンテンツループパラメータＬが最大値ｌよりも小さい場合、コンテンツループパラメータＬを１だけインクリメントして処理をステップＳ１５３に戻す。反対に、コンテンツループパラメータＬが最大値ｌよりも小さくない場合（コンテンツループパラメータＬが最大値ｌと同値の場合）、コンテンツループを抜けて処理をステップＳ１５６に進める。ここまでの処理により、各入力データにそれぞれ対応する、演算によって得られた高レベル特徴量と教師データとの２乗誤差が得られたことになる。
【０１３４】
ステップＳ１５６において、リジェクト領域抽出式学習部４４は、低レベル特徴量演算部４１から入力される低レベル特徴量と２乗誤差演算部４３から入力される２乗誤差とに基づく学習により、低レベル特徴量を入力としてそれに基づいて演算される高レベル特徴量の特徴抽出精度を出力とするリジェクト領域抽出式を生成し、生成したリジェクト領域抽出式を特徴量抽出精度演算部４５に供給する。以上で高精度リジェクト処理を終了され、処理は図３８のステップＳ１４２に進められる。
【０１３５】
ステップＳ１４２において、低レベル特徴量演算部４１は、高レベル特徴量を求めたい楽曲の入力データを、最終的な低レベル特徴量抽出式リストにＬ番目の入力データを代入して低レベル特徴量を演算し、演算結果を高レベル特徴量演算部４２および特徴量抽出精度演算部４５に出力する。
【０１３６】
ステップＳ１４３において、特徴量抽出精度演算部４５は、低レベル特徴量演算部４１から入力される低レベル特徴量を、リジェクト領域抽出式学習部４４から供給されたリジェクト領域抽出式に代入して、低レベル特徴量演算部４１から入力される低レベル特徴量に基づいて演算される高レベル特徴量の特徴量抽出精度（すなわち、高レベル特徴量演算部４２で演算される高レベル特徴量に対して推定される２乗誤差）を演算する。
【０１３７】
ステップＳ１４４において、特徴量抽出精度演算部４５は、ステップＳ１４３の処理で演算した特徴量抽出精度が所定の閾値以上であるか否かを判定し、演算した特徴量抽出精度が所定の閾値以上であると判定した場合、処理はステップＳ１４５に進み、特徴量抽出精度演算部４５は、高レベル特徴量演算部４２に対して高レベル特徴量の演算を実行させる。高レベル特徴量演算部４２は、ステップＳ１４２の処理で低レベル特徴量演算部４１から入力されたｍ種類の低レベル特徴量を、最終的な高レベル特徴量抽出式に代入して高レベル特徴量を演算する。そして、ここで演算された高レベル特徴量が出力されて、高精度高レベル特徴量演算処理が終了される。
【０１３８】
なお、ステップＳ１４４において、演算した特徴量抽出精度が所定の閾値よりも小さいと判定された場合、ステップＳ１４５はスキップされて高精度高レベル特徴量演算処理が終了される。
【０１３９】
したがって、高精度高レベル特徴量演算処理によれば、高レベル特徴量抽出式により計算される高レベル特徴量の精度を推定することができる。また、高い精度が期待できない高レベル特徴量を演算しないので、無駄な演算を省略することが可能となる。
【０１４０】
以上説明したように、本発明を適用した特徴量抽出アルゴリズム生成装置２０による特徴量抽出アルゴリズム学習処理によれば、楽曲データから対応する特徴量を抽出できるアルゴリズムを、高精度で速やかに生成することが可能となるだけでなく、高精度の高レベル特徴量だけを少ない演算量で取得することが可能となる。
【０１４１】
なお、本発明は、楽曲の高レベル特徴量を取得する場合だけでなく、映像データなどあらゆる種類のコンテンツデータの高レベル特徴量を取得する場合に適用することが可能である。
【０１４２】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１４３】
このパーソナルコンピュータ１００は、CPU(Central Processing Unit)１０１を内蔵している。CPU１０１にはバス１０４を介して、入出力インタフェース１０５が接続されている。バス１０４には、ROM(Read Only Memory)１０２およびRAM(Random Access Memory)１０３が接続されている。
【０１４４】
入出力インタフェース１０５には、ユーザが操作コマンドを入力するキーボード、マウス等の入力デバイスよりなる入力部１０６、操作画面などを表示するCRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)等のディスプレイよりなる出力部１０７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１０８、およびモデム、LAN（Local Area Network）アダプタなどよりなり、インタネットに代表されるネットワークを介した通信処理を実行する通信部１０９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどの記録媒体１１１に対してデータを読み書きするドライブ１１０が接続されている。
【０１４５】
このパーソナルコンピュータ１００に上述した一連の処理を実行させるプログラムは、記録媒体１１１に格納された状態でパーソナルコンピュータ１００に供給され、ドライブ１１０によって読み出されて記憶部１０８に内蔵されるハードディスクドライブにインストールされている。記憶部１０８にインストールされているプログラムは、入力部１０６に入力されるユーザからのコマンドに対応するCPU１０１の指令によって、記憶部１０８からRAM１０３にロードされて実行される。
【０１４６】
なお、本明細書において、プログラムに基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１４７】
また、プログラムは、１台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【０１４８】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１４９】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１５０】
【図１】従来の特徴量抽出アルゴリズムを説明するための図である。
【図２】本発明を適用した特徴量抽出アルゴリズム生成装置によって生成される特徴量抽出アルゴリズムの概要を示す図である。
【図３】低レベル特徴量抽出式の例を示す図である。
【図４】高レベル特徴量抽出式の例を示ず図である。
【図５】本発明を適用した特徴量抽出アルゴリズム生成装置の構成例を示すブロック図である。
【図６】図５の高レベル特徴量演算部の構成例を示すブロック図である。
【図７】特徴量抽出アルゴリズム学習処理を説明するフローチャートである。
【図８】低レベル特徴量抽出式リストの例を示す図である。
【図９】低レベル特徴量抽出式リスト生成処理を説明するフローチャートである。
【図１０】第１世代リストランダム生成処理を説明するフローチャートである。
【図１１】低レベル特徴量抽出式の記述方法を示す図である。
【図１２】入力データの例を示す図である。
【図１３】入力データWavを説明する図である。
【図１４】入力データChordを説明する図である。
【図１５】入力データKeyを説明する図である。
【図１６】低レベル特徴量抽出式の保有次元を説明する図である。
【図１７】次世代リストジェネティック生成処理を説明するフローチャートである。
【図１８】選択生成処理を説明するフローチャートである。
【図１９】交差生成処理を説明するフローチャートである。
【図２０】突然変異生成処理を説明するフローチャートである。
【図２１】オペレータMeanの演算を説明するための図である。
【図２２】低レベル特徴量演算部の処理を説明するための図である。
【図２３】教師データの例を示す図である。
【図２４】高レベル特徴量抽出式学習処理を説明するフローチャートである。
【図２５】学習アルゴリズムの例を説明するための図である。
【図２６】学習アルゴリズムの例を説明するための図である。
【図２７】学習アルゴリズムの例を説明するための図である。
【図２８】学習アルゴリズムの例を説明するための図である。
【図２９】学習アルゴリズムの例を説明するための図である。
【図３０】学習アルゴリズムの例を説明するための図である。
【図３１】学習アルゴリズムの例を説明するための図である。
【図３２】学習アルゴリズムの例を説明するための図である。
【図３３】学習アルゴリズムの例を説明するための図である。
【図３４】学習アルゴリズムに基づく学習処理を説明するフローチャートである。
【図３５】オペレータの組み合わせの例を示す図である。
【図３６】オペレータの組み合わせの例を示す図である。
【図３７】新規オペレータ生成処理を説明するフローチャートである。
【図３８】高精度高レベル特徴量演算処理を説明するフローチャートである。
【図３９】高精度リジェクト処理を説明するフローチャートである。
【図４０】汎用パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１５１】
２０  特徴量抽出アルゴリズム生成装置，  ２１  低レベル特徴量抽出式リスト生成部，  ２２  オペレータ組検出部，  ２３  オペレータ生成部，  ２４  低レベル特徴量演算部，  ２５  高レベル特徴量抽出式学習部，  ２６  高レベル特徴量演算部，２７  制御部，  ４１  低レベル特徴量演算部，  ４２  高レベル特徴量演算部，  ４３  ２乗誤差演算部，  ４４  リジェクト領域抽出式学習部，  ４５  特徴量抽出精度演算部，  １００  パーソナルコンピュータ，  １０１  CPU，  １１１  記録媒体
【図１】
2007122186.tif 000003
【図２】
2007122186.tif 000004
【図３】
2007122186.tif 000005
【図４】
2007122186.tif 000006
【図５】
2007122186.tif 000007
【図６】
2007122186.tif 000008
【図７】
2007122186.tif 000009
【図８】
2007122186.tif 000010
【図９】
2007122186.tif 000011
【図１０】
2007122186.tif 000012
【図１１】
2007122186.tif 000013
【図１２】
2007122186.tif 000014
【図１３】
2007122186.tif 000015
【図１４】
2007122186.tif 000016
【図１５】
2007122186.tif 000017
【図１６】
2007122186.tif 000018
【図１７】
2007122186.tif 000019
【図１８】
2007122186.tif 000020
【図１９】
2007122186.tif 000021
【図２０】
2007122186.tif 000022
【図２１】
2007122186.tif 000023
【図２２】
2007122186.tif 000024
【図２３】
2007122186.tif 000025
【図２４】
2007122186.tif 000026
【図２５】
2007122186.tif 000027
【図２６】
2007122186.tif 000028
【図２７】
2007122186.tif 000029
【図２８】
2007122186.tif 000030
【図２９】
2007122186.tif 000031
【図３０】
2007122186.tif 000032
【図３１】
2007122186.tif 000033
【図３２】
2007122186.tif 000034
【図３３】
2007122186.tif 000035
【図３４】
2007122186.tif 000036
【図３５】
2007122186.tif 000037
【図３６】
2007122186.tif 000038
【図３７】
2007122186.tif 000039
【図３８】
2007122186.tif 000040
【図３９】
2007122186.tif 000041
【図４０】
2007122186.tif 000042