"サンプル集合Sとクラス集合Cを入力として、サンプルsとクラスcの全ての組み合わせについて、素性変換ルールに基づいて素性ベクトルFを生成し、素性ベクトルFの要素fkに対応する重要度qkを、当該重要度qkに上記素性ベクトルFの要素fkの二乗値fk2を加えた値として算出する素性値加算部と、上記重要度qkと外部から入力されるモデルパラメータAの要素akを入力として、当該重要度qkに、対応するモデルパラメータAの要素akの二乗値ak2を乗じた値をモデルパラメータの要素の重要度とし、その重要度の大きさの順番にモデルパラメータを並べ替えたソート済みモデルパラメータAを出力するモデルパラメータ乗算部と、上記ソート済みモデルパラメータAを入力として、その上位m個のモデルパラメータを出力するモデル縮減部と、を具備するモデル縮減装置。サンプル集合Sとクラス集合Cを入力として、サンプルsとクラスcの全ての組み合わせについて、素性変換ルールに基づいて素性ベクトルFを生成し、素性ベクトルFの要素fkに対応する重要度qkを、当該重要度qkに上記素性ベクトルFの要素fkの二乗値fk2を加えた値として算出する素性値加算部と、上記重要度qkと外部から入力されるモデルパラメータAの要素akを入力として、当該重要度qkに、対応するモデルパラメータAの要素akの二乗値ak2を乗じた値をモデルパラメータの要素の重要度とし、その重要度の大きさの順番にモデルパラメータを並べ替えたソート済みモデルパラメータAと、上記重要度を大きさの順番に並べたソート済み重要度Qを出力するモデルパラメータ乗算部と、上記ソート済みモデルパラメータAと上記ソート済み重要度Qを入力として、上位から1~m番目のm個のモデルパラメータa1~amを、m1番目の重要度qm1とi番目の重要度qiの比で補正して出力するモデル縮減部と、を具備するモデル縮減装置。サンプル集合Sとクラス集合Cを入力として、サンプルsとクラスcの全ての組み合わせについて、素性変換ルールに基づいて素性ベクトルFを生成し、素性ベクトルFの要素fkに対応する重要度qkを、当該重要度qkに上記素性ベクトルFの要素fkの二乗値fk2を加えた値として算出する素性値加算過程と、上記重要度qkと外部から入力されるモデルパラメータAの要素akを入力として、当該重要度qkに、対応するモデルパラメータAの要素akの二乗値ak2を乗じた値をモデルパラメータの要素の重要度とし、その重要度の大きさの順番にモデルパラメータを並べ替えたソート済みモデルパラメータAを出力するモデルパラメータ乗算過程と、上記ソート済みモデルパラメータAを入力として、その上位m個のモデルパラメータを出力するモデル縮減過程と、を備えるモデル縮減方法。サンプル集合Sとクラス集合Cを入力として、サンプルsとクラスcの全ての組み合わせについて、素性変換ルールに基づいて素性ベクトルFを生成し、素性ベクトルFの要素fkに対応する重要度qkを、当該重要度qkに上記素性ベクトルFの要素fkの二乗値fk2を加えた値として算出する素性値加算過程と、上記重要度qkと外部から入力されるモデルパラメータAの要素akを入力として、当該重要度qkに、対応するモデルパラメータAの要素akの二乗値ak2を乗じた値をモデルパラメータの要素の重要度とし、その重要度の大きさの順番にモデルパラメータを並べ替えたソート済みモデルパラメータAと、上記重要度を大きさの順番に並べたソート済み重要度Qを出力するモデルパラメータ乗算過程と、上記ソート済みモデルパラメータAと上記ソート済み重要度Qを入力として、上位から1~m番目のm個のモデルパラメータa1~amを、m1番目の重要度qm1とi番目の重要度qiの比で補正して出力するモデル縮減過程と、を備えるモデル縮減方法。請求項1又は2に記載したモデル縮減装置としてコンピュータを機能させるためのプログラム。言語モデルを始めとする一部のモデルのパラメータ数は極めて大きい。しかし、これまで、例えば認識結果が極力変わらないように、既存のモデルパラメータを、任意のサイズにモデルパラメータを縮減する方法は知られていない。ここでの縮減とは、モデルパラメータを任意の数に削減することを意味する。この発明は、このような課題に鑑みてなされたものであり、モデルパラメータ数の縮減を実現することで、ユーザが計算機の規模等に合わせて柔軟にモデルパラメータ数を変更可能なように、モデルパラメータ数を縮減するモデル縮減装置とその方法とプログラムを提供することを目的とする。この発明のモデル縮減装置は、素性値加算部と、モデルパラメータ乗算部と、モデル縮減部と、を具備する。素性値加算部は、サンプル集合Sとクラス集合Cを入力として、サンプルsとクラスcの全ての組み合わせについて、素性変換ルールに基づいて素性ベクトルを生成し、素性ベクトルの要素fkに対応する重要度qkを、当該重要度qkに上記素性ベクトルの要素fkの二乗値fk2を加えた値として算出する。モデルパラメータ乗算部は、重要度qkと外部から入力されるモデルパラメータAの要素akを入力として、当該重要度qkに、対応するモデルパラメータAの要素の二乗値ak2を乗じた値をモデルパラメータの要素の重要度とし、その重要度の大きさの順番にモデルパラメータを並べ替えたソート済みモデルパラメータAを出力する。モデル縮減部は、ソート済みモデルパラメータAを入力として、その上位m個のモデルパラメータを出力する。ここでmはユーザが指定したモデルパラメータ数である。この発明のモデル縮減装置は、モデルを素性変換ルールに基づいて素性ペクトルに分解し、素性ベクトルに対応する重要度の大きなモデルパラメータのみを用いる。このモデル縮減装置によれば、例えば音声認識用の言語モデル等のモデルの数を、任意のサイズに縮減することが出来ると共に、モデル縮減による認識結果の変化を小さくすることができる。また、予め、単純な統計量を得ておくだけでモデルの縮減が可能であり、サンプルに対して正解ラベル分類問題であればどのクラスcが正解クラスであるか示す情報、ランキング問題であればサンプルの順位であり、一般に人手で付与する必要がある。などを与えておく必要がない。以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。実施例の説明の前に、この発明の基本的な考えを説明する。この発明の基本的な考えこの発明のモデル縮減方法は、線形モデルに特化した手法である。ます、始めに線形モデルについて定義する。素性ベクトルFとモデルパラメータAが与えられたとき、両者の内積式1によりスコアを与えるモデルを線形モデルと称する。素性ベクトルFは、分類問題の場合、サンプルsとクラスcが与えられたとき、事前に定められたルールに基づいて生成される。ランキング問題では、サンプルsが与えられたときに事前に定められたルールに基づいて生成される。分類問題は、有限個のクラスcからなる集合Cが与えられたとき、式2を全てのクラスcc∈Cについて算出し、一般には最大の値を取るクラスを分類結果とする。ランキング問題では、サンプルの集合Sが与えられたとき、式3を全てのサンプルss∈Sについて算出し、その値の大きい順番に並べ替えて順位とする。また、二値分類といわれる2クラスの分類問題においては、あるサンプルsが与えられたとき、式3の計算結果の符合によって2クラスの推定を行うこともある。今、モデルパラメータA及び素性ベクトルFの要素をそれぞれak,fkk12...nとしたとき、直積値式4をスコアとする場合であっても、モデルパラメータの要素ak>0の場合、対数に変換することで大小関係は保たれ、かつ、線形モデルの型となることから、これも線形モデルとみなす。2つの異なるサンプル間のスコアを比較する場合に、式5の関係は式6で現せる。ここで、logをakと見なせば、直積値式4は線形モデルに変換できる。式1をABFで現す。つまり、モデルをBAにより変換することを仮定する。モデルパラメータ数をnとすると、Bはn×nの対角行列である、すなわち式7である。今、モデルパラメータAの要素akを変換する変換係数bkにスパース性があると仮定する。つまり、多くの要素がゼロを持つならば、BAにより多くのモデルパラメータ値がゼロに変換される。値ゼロのモデルパラメータを不要物と見なすことで、モデルを縮減することが出来る。モデルの縮減前後で、クラス分類やランキング問題の結果があまり変わらない制約を与えるため、最小二乗誤差法を導入する。スコア差式8を最小化するBを考える。ここでFiはサンプル若しくはクラスが与えられた下で表現される素性ベクトルである。最小値を与えるBは明らかに単位行列であるため、Bがスパースになる制約を加えた最小化問題を考える。ここでは、Bがスパースになる制約としてL1正規化を用いて目的関数Zを設ける。ここでwは非負の定数であり、Bのスパース性の度合いを決定するパラメータである。wの値の決定方法は後述する。この最小化問題の解となる変換係数bkの値は解析的に得られない。そこで近似を導入する式10。ここでfi,kはFiのk番目の要素である。Fが十分スパースであるとすると、第2項のfi,kfi,k′は凡そゼロと見なすことが出来る。そこで、近似的に次式の最小化問題に置き換える。この近似から、素性ベクトルFiが十分スパースに分布するとき、この発明は効果的に機能することが予想される。Z′の最小化問題の解析解は各kについて式12で与えられる。さて、wは非負の定数であることから0≦bk≦1である。wが大きい値を取るとき、多くの要素の変換係数bkがbk=0となるので、最終的に得られるモデルパラメータ値akbkも0となる。なお、縮減後のモデルサイズmとwが同期している必然性はない。非同期とする場合、wの値を決定するための他の手段が必要である。その場合は、別途開発用のデータを用意して決定する。縮減後のモデルサイズmとwを同期させる場合、つまり、m1番目以降のモデルパラメータ値を0とする場合、素性ベクトルFの要素に対応する重みqkを式13に示すように予め得ておき、m1番目に大きな値を持つ要素の重みqm1を用いてwを式14で求めると良い。qkは、各要素の重要度を現していると見なすことができる。最終的に変換係数bkは式15で与えられる。この変換係数bkを、モデルパラメータakに乗じて補正する。重要度qkの大きなモデルパラメータのみを用いることで、例えば音声認識精度を落とすことなく、モデルパラメータの数を減らすことが可能である。上記の考えに基づけば、そのモデルパラメータ値をakbkにより変換することが基本である。しかし、実際にはこの値の変換の処理を省略することも可能である。図1に、この発明のモデル縮減装置100の機能構成例を示す。その動作フローを図2に示す。モデル縮減装置100は、素性値加算部10と、モデルパラメータ乗算部20と、モデル縮減部30と、制御部40と、を具備する。モデル縮減装置100の各部の機能は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。素性値加算部10は、サンプルSとクラス集合Cを入力として、サンプルSとクラス集合Cの全ての組み合わせについて、素性変換ルールに基づいて素性ベクトルを生成し、素性ベクトルに対応する重要度qkを、当該重要度qkに上記素性ベクトルの二乗値を加えた値として算出するステップS10。モデルパラメータ乗算部20は、重要度qkと外部から入力されるモデルパラメータAの要素akを入力として、当該重要度qkに、対応するモデルパラメータAの要素の二乗値ak2を乗じた値をモデルパラメータの要素の重要度とし、その重要度の大きさの順番にモデルパラメータを並べ替えたソート済みモデルパラメータAを出力するステップS20。モデル縮減部30は、ソート済みモデルパラメータAを入力として、その上位m個のモデルパラメータを出力するステップS30。制御部40は、上記した各部間の時系列的な動作等を制御するものである。以上の作用により、例えば音声認識用の言語モデル等のモデルの数を、任意のサイズに縮減することができる。以降、モデル縮減装置100の各部の動作をより詳しく説明する。図3に、素性値加算部10の機能構成例を示す。その動作フローを図4に示す。素性値加算部10は、サンプルクラス取得手段11と、素性表現化手段12と、二乗値加算手段13と、を備える。素性値加算部10が動作を開始すると、まず制御部40が、モデルパラメータの要素数分の記憶容量を確保し、記憶領域を全てゼロに初期化するステップS40。例えば、外部から入力されるモデルパラメータの要素akに対応する重要度qkを記憶する記憶領域をQ=qkq1q2...,qnと表記する。サンプルクラス取得手段11は、サンプル集合Sとクラス集合Cを入力として、サンプル集合Sとクラス集合Cの全ての組み合わせについて、それらの集合からサンプルsとクラスcを取得して素性表現化手段12に出力するステップS110~S113。素性表現化手段12は、サンプルsとクラスcの全ての組み合わせについてそれぞれ、素性変換ルール12aに基づいて素性ベクトルFs,c=を生成する。二乗値加算手段13は、記憶された重要度Qの要素qkに、素性ベクトルの要素fkの二乗値を加算して重要度Qを更新するステップS13。この重要度Qの更新は、サンプルsとクラスcの全ての組み合わせについて行われる。図5に、モデルパラメータ乗算部20の機能構成例を示す。モデルパラメータ乗算部20は、モデルパラメータ値乗算手段21と、ソート手段22を、備える。モデルパラメータ値乗算手段21は、モデルパラメータの要素の重要度qkに、外部から入力されるモデルパラメータAの要素akの二乗値を乗じて重要度qkとする計算式17を行う。この計算は全てのkについて行われ、重要度qkはソート手段22に出力される。ソート手段22は、重要度qkを降順に並べ替え、ソート済みの重要度Qを生成する。そして、ソート済みの重要度Qとkの対応が取れるようにモデルパラメータの要素akを並べ替え、ソート済みのモデルパラメータAをモデル縮減部30に出力する。図6に、モデル縮減部30の動作フローを示す。モデル縮減部30は、縮減後のサイズmの数分のソート済みのモデルパラメータAの上位m個のモデルパラメータを出力するステップS303。縮減後のサイズmは、予めモデル縮減部30に設定されていても良いし、破線で示すように外部から設定するようにしても良い。図6のiは、要素番号を現す変数であり、ソート前の順番kと区別する目的でiとしている。図7に、この発明のモデル縮減装置200の機能構成例を示す。モデル縮減装置200は、モデル縮減装置100図1と、モデルパラメータ乗算部22と、モデル縮減部32とが異なる。モデルパラメータ乗算部22は、ソート済みの重要度Qをソート済みのモデルパラメータAと共に、モデル縮減部32に出力する点のみが、モデル縮減装置100と異なる。モデル縮減部32は、ソート済みモデルパラメータAとソート済み重要度Qを入力として、並べ替えられた上位から1~m番目のm個のモデルパラメータa1~amを、m1番目の重要度qm1とi番目の重要度qiの比で補正して出力する点で、上位からm個のモデルパラメータを選択するだけのモデル縮減部30と異なる。評価実験この発明のモデル縮減方法の効果を確認する目的で、日本語話言葉コーパスCSJを用いて評価実験を行った。CSJは、講演音声とその書き起こしからなるコーパスである。CSJには、学会講演と模擬講演が含まれる。模擬講演は私の街、生涯で最も幸せな出来事等といったテーマの講演形式のスピーチが収録されている。音声認識の誤り訂正言語モデルを構築し、そのモデルを縮減することでモデルサイズと精度との関係を評価した。音声認識システムは、一般に複数の認識候補となる単語列を出力することが出来る。各認識候補単語列にはスコアが与えられており、最も高いスコアを持つ単語列が通常の認識結果である。誤り訂正言語モデルは、認識候補単語列に補正スコアを加えることで、認識結果の再ランキングを行うモデルである。今、認識候補単語列の集合をSとおくと、最終的な認識結果sは式20で与えられる。ここでf0sは音声認識システムが付与した認識候補単語列sに対応するスコアである。また、a0はスケーリングを調整する定数であり、誤り訂正言語モデルのモデルパラメータAを推定する際に、開発データなどを利用して決定する。表1に、誤り訂正言語モデルの学習評価に用いたデータの内訳を示す。データa1~a3は、学会講演であり、データo1とo2は模擬講演である。各発話に対し音声認識システムを適用し、5000個の認識候補単語列を生成した。データa1を使って誤り訂正言語モデルの学習を行った。つまり、モデルパラメータAの学習を行った。なお、モデルパラメータAの要素数は凡そ1000万個である。素性には、a1に出現した全ての単語1gram2gram3gram及び品詞1gram2gram3gramの頻度を利用した。ngramとはn個のトークン単語又は品詞の並びである。モデルパラメータAの学習には、ラウンドロビン対比学習法Roundrobindueldiscriminationを使用した。スケーリングを調整する定数a0の値は、データa2を開発セットとして用いて、その単語誤り率WERが最小になるように決定した。モデル縮減の評価として5つの環境を用意した。データa1を利用してモデル縮減を行いデータa3で評価する場合をEvalAと記載する。同様にデータa2を利用してモデル縮減を行いデータa3で評価する場合をEvalB、データa1を利用してモデル縮減を行いデータo2で評価する場合をEvalCとする。同様に、データa2とデータo2の組をEvalD、データo1とデータo2の組をEvalEとする。誤り訂正言語モデルは、学会講演で学習しているためEvalCからEvalEはアウトオブドメインとなるタスクでの評価となる。EvalAは、誤り訂正言語モデルの学習データと、モデル縮減のためのデータが一致しており、評価データのドメインも一致する場合の例である。EvalBではドメインは一致するが、モデル縮減のためのデータが極少量しかない場合を模擬している。EvalCDはEvalABのそれぞれにおいて、評価セットだけがアウトオブドメインである場合に相当する。EvalEはモデル縮減のためのデータにも、誤り訂正言語モデルの学習データと異なるドメインを利用した場合である。それぞれの結果を図8~12に示す。横軸はモデル縮減後のモデルサイズmであり対数スケールである。縦軸は誤り訂正言語モデル適用後の認識結果のWERである。図中に、破線で示す特性は従来手法であり、単純にモデルパラメータAの要素akの絶対値の大きな順に上位m個のモデルパラメータを利用する方法である。一点鎖線で示す特性は、この発明の実施例1図1のモデル縮減装置100によって縮減されたモデルを使用した結果を示す。実線で示す特性は、実施例2図7のモデル縮減装置200によって縮減されたモデルを使用した結果を示す。従来手法で性能が大きく劣化し始める100k以下のモデルサイズで比較する。何れの条件でも、従来手法の単語誤り率を示す破線よりも単語誤り率の上昇を抑制させながら大きくモデルを縮減することに成功している。このように、この発明のモデル縮減方法によれば認識結果の変化を小さく抑制しつつ、モデル数を大幅に縮減することが可能である。なお、評価実験結果は、音声認識を例に説明を行ったが、この発明のモデル縮減方法は、線形モデルを使用する限りにおいて、他に機械翻訳や、発話分類をはじめ、画像認識、自然言語処理の分野でも利用することが可能である。上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVDDigitalVersatileDisc、DVD-RAMRandomAccessMemory、CD-ROMCompactDiscReadOnlyMemory、CD-RRecordableRWReWritable等を、光磁気記録媒体として、MOMagnetoOpticaldisc等を、半導体メモリとしてEEP-ROMElectronicallyErasableandProgrammableReadOnlyMemory等を用いることができる。また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。"