(57)【特許請求の範囲】
【請求項１】
学習サンプルの素性ベクトルＦi,j及び重みｗi,j（ｉはサンプル集合のインデックスでｉ＝１,２,・・・,ｍ、ｊはサンプル集合に含まれる各学習サンプルのインデックスでｊ＝１,２,・・・,ｎi）を記憶するデータ記憶部と、
モデルパラメータＡの初期値が記憶され、当該モデルパラメータＡがモデルパラメータ更新部で得られた更新値により順次更新されるモデルパラメータ記憶部と、
データ記憶部から素性ベクトルＦi,j及び重みｗi,jを、モデルパラメータ記憶部からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数値を算出する目的関数値算出部と、
データ記憶部から素性ベクトルＦi,j及び重みｗi,jを、モデルパラメータ記憶部からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数の微分値を算出する目的関数微分値算出部と、
前記目的関数の微分値について所定の収束判定を行い、収束していない場合には、前記目的関数値に基づきモデルパラメータＡの更新値を計算して、これによりモデルパラメータ記憶部に記憶されたモデルパラメータＡを更新し、収束している場合には、当該目的関数値に対応するモデルパラメータＡを学習結果として出力するモデルパラメータ更新部と、
を備え、
学習結果が出力されるまで目的関数値算出部と目的関数微分値算出部とモデルパラメータ更新部における処理を繰り返し実行するモデルパラメータ学習装置であって、
前記目的関数値算出部は、
各学習サンプルの重み付きスコアをｗi,j・ｓA(Ｆi,j)（ｓA(Ｆi,j)は素性ベクトルＦi,jからスコアへの写像関数であり、モデルパラメータＡの対数線形モデル）により算出するサンプルスコア算出手段と、
サンプル集合ごとに、サンプル集合に含まれる２つの異なる学習サンプル（以下、「サンプルペア」という。）の重み付きスコアの比をサンプル集合内の全てのサンプルペアについて加算したサンプルスコア比加算値を求めるサンプルスコア比加算手段と、
前記サンプルスコア比加算値を対数変換してサンプルスコア比加算変換値を得るサンプルスコア比加算値変換手段と、
各サンプル集合について得られた前記サンプルスコア比加算変換値を全て加算することにより、モデルパラメータＡの目的関数値を算出するサンプルスコア比加算変換値加算手段と、
を備えることを特徴とするモデルパラメータ学習装置。
【請求項２】
請求項１に記載のモデルパラメータ学習装置において、
前記サンプルスコア比加算手段は、
前記サンプルスコア比加算値を、サンプル集合に含まれる各学習サンプルの重み付きスコアを全て加算して第１加算結果を求め、各学習サンプルの重み付きスコアの逆数を全て加算して第２加算結果を求め、第１加算結果と第２加算結果とを乗算することにより求める
ことを特徴とするモデルパラメータ学習装置。
【請求項３】
学習サンプルの素性ベクトルＦi,j及び重みｗi,j（ｉはサンプル集合のインデックスでｉ＝１,２,・・・,ｍ、ｊはサンプル集合に含まれる各学習サンプルのインデックスでｊ＝１,２,・・・,ｎi）を記憶するデータ記憶部と、
モデルパラメータＡの初期値が記憶され、当該モデルパラメータＡがモデルパラメータ更新部で得られた更新値により順次更新されるモデルパラメータ記憶部と、
を用い、
目的関数値算出部が、データ記憶部から素性ベクトルＦi,j及び重みｗi,jを、モデルパラメータ記憶部からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数値を算出する目的関数値算出ステップと、
目的関数微分値算出部が、データ記憶部から素性ベクトルＦi,j及び重みｗi,jを、モデルパラメータ記憶部からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数の微分値を算出する目的関数微分値算出ステップと、
モデルパラメータ更新部が、前記目的関数の微分値について所定の収束判定を行い、収束していない場合には、前記目的関数値に基づきモデルパラメータＡの更新値を計算して、これによりモデルパラメータ記憶部に記憶されたモデルパラメータＡを更新し、収束している場合には、当該目的関数値に対応するモデルパラメータＡを学習結果として出力するモデルパラメータ更新ステップと、
を学習結果が出力されるまで繰り返し実行するモデルパラメータ学習方法であって、
前記目的関数値算出ステップは、
サンプルスコア算出手段が、各学習サンプルの重み付きスコアをｗi,j・ｓA(Ｆi,j)（ｓA(Ｆi,j)は素性ベクトルＦi,jからスコアへの写像関数であり、モデルパラメータＡの対数線形モデル）により算出するサンプルスコア算出サブステップと、
サンプルスコア比加算手段が、サンプル集合ごとに、サンプル集合に含まれる２つの異なる学習サンプル（以下、「サンプルペア」という。）の重み付きスコアの比をサンプル集合内の全てのサンプルペアについて加算したサンプルスコア比加算値を求めるサンプルスコア比加算サブステップと、
サンプルスコア比加算値変換手段が、前記サンプルスコア比加算値を対数変換してサンプルスコア比加算変換値を得るサンプルスコア比加算値変換サブステップと、
サンプルスコア比加算変換値加算手段が、各サンプル集合について得られた前記サンプルスコア比加算変換値を全て加算することにより、モデルパラメータＡの目的関数値を算出するサンプルスコア比加算変換値加算サブステップと、
を実行することを特徴とするモデルパラメータ学習方法。
【請求項４】
請求項３に記載のモデルパラメータ学習方法において、
前記サンプルスコア比加算サブステップは、
前記サンプルスコア比加算値を、
サンプル集合に含まれる各学習サンプルの重み付きスコアを全て加算して第１加算結果を求めるステップと、
各学習サンプルの重み付きスコアの逆数を全て加算して第２加算結果を求めるステップと、
第１加算結果と第２加算結果とを乗算するステップと、
を実行することにより求める
ことを特徴とするモデルパラメータ学習方法。
【請求項５】
請求項１又は２に記載のモデルパラメータ学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランキング問題におけるモデルパラメータの学習に係るモデルパラメータ学習装置、方法、及びそのプログラムに関する。
【背景技術】
【０００２】
有限個のサンプルの中から、ある観点において最も良いと推定されるサンプルを見つけ出す手法は、各サンプルにスコアを与えて、スコア順で順位を決める問題、すなわち、ランキング問題の一部であると解釈できる。
【０００３】
順位を決めるための基本的な手順は、一般には次の通りである。
１．数値計算に持ち込むため、各サンプルを、事前に定義された手順で素性（特徴量）表現化する。
２．モデルパラメータと素性を用いて各サンプルのスコアを算出する。
３．スコア順にソートする。
【０００４】
ランキング問題の中心は「モデルパラメータ」を如何にして求めるかであり、一般には、複数のデータを用意し統計的手法に基づき決定する。モデルパラメータを求めることをモデルパラメータの学習と呼ぶ。モデルパラメータの学習には、いくつかの手法が存在する。例えば、条件付確率場、相互情報量最大化基準学習法、誤り率最小化学習法、ランキングブースティングなどが挙げられる。各手法にはそれぞれ一長一短があり、使用条件により選択的に用いられる。
【０００５】
以下、順位を決める方法、モデルパラメータの学習の基本的事項、及びモデルパラメータ学習装置の構成について説明する。なお、本明細書においては、スカラーおよびスカラーを返す関数は小文字で表記し、ベクトルおよびベクトルを返す関数は大文字で表記し、関数の引数を明示するときは( )を付与するものとする。例えばｆ(Ｘ)は、ベクトルＸを引数としてスカラーを返す関数ｆを意味する。
【０００６】
＜順位を決める方法＞
ある有限個のサンプルが与えられた下で、各サンプルのインデックスをｊと表記する。サンプル数がｎのとき、ｊの取りうる値は１からｎまでの自然数である。サンプルから素性を抽出するルールが与えられた下で、ｊ番目のサンプルに対応する素性ベクトルをＦjと表記する。
【０００７】
あるモデルパラメータＡが与えられた下で、素性ベクトルＦjからスコアへの写像関数ｓAを定義したとき、各サンプルのスコアはｓA(Ｆj)となる。サンプルの順位はこのスコアの順に決定する。すなわち、１位のサンプルのインデックスは、
【０００８】
【数１】
0005355512.tif 000002
【０００９】
である。
【００１０】
ｓA(Ｆj)の具体例は次の通りである。
・線形モデル
ｓA(Ｆj)＝ＡTＦj（Ｔは転置記号）
→すなわちｓA(Ｆj)はモデルパラメータと素性ベクトルの内積
・対数線形モデル
ｓA(Ｆj)＝exp(ＡTＦj)
→対数をとると線形モデルになる。また、
【００１１】
【数２】
0005355512.tif 000003
【００１２】
であるから、線形モデルと同じ演算で１位サンプルが得られる。
【００１３】
各サンプルに初期スコアが付与され、それに補正スコアを加えることで順位の入替えを行うリランキング問題への対応は、単に、線形モデル（対数線形モデルで１位サンプルを得る場合を含む）を用い、素性ベクトルの一要素を初期スコアとすることで実現できる。例えば、素性ベクトルの１番目の要素が初期スコアであるとすると、ＡTＦjは
【００１４】
【数３】
0005355512.tif 000004
【００１５】
と、初期スコア＋補正スコアの形で表現することができる。ここで、ａk、ｆj,kはそれぞれ、Ａ、Ｆjのｋ番目の要素である。この式でａ1は初期スコアと補正スコアとのスケーリングを調整する役割を担っている。
【００１６】
＜モデルパラメータの学習の基本的事項＞
(1) モデルパラメータの学習とは、モデルパラメータの全ての要素の具体的な値を決めることである。学習に際しては、次の(a)〜(d)のデータを用意する。なお、(c)と(d)のいずれかは、学習法によっては不要な場合がある。
【００１７】
(a)有限個のサンプル集合の集合
サンプル集合を複数用意する。サンプル集合のインデックスをｉとする。すなわち、集合の個数がｍのとき、ｉの取りうる値は１からｍまでの自然数である。また、ｉ番目のサンプル集合に属するサンプルの個数をｎiとする。
【００１８】
(b)各サンプルの素性ベクトル
ｉ番目のサンプル集合に属するｊ番目のサンプルの素性ベクトルをＦi,jと表記する。すなわち、ｊの取りうる値は１からｎiまでの自然数である。
【００１９】
(c) 学習における各サンプルの重み（重要度）
ｉ番目のサンプル集合に属するｊ番目のサンプルの重みをｗi,jと表記する。重みとしては、例えば、各サンプルの正解順位や誤り率などが考えられ、学習に先立ち予め用意しておく。
【００２０】
(d)正解サンプルの素性ベクトル
サンプル集合ごとに、最も理想的なサンプル（正解サンプル）が与えられているとき、その素性ベクトルをＦi,rと表記する。ここで、ｒは１以上の自然数であり、Ｆi,rはＦi,jのいずれかである必要はない。
【００２１】
(2) モデルパラメータＡの学習には、まず目的関数を予め与えておく必要がある。Ａの値を変化させ、目的関数値ｏAを最小化したモデルパラメータが学習結果である。すなわち、学習結果のモデルパラメータをＡ*と表記すると、
【００２２】
【数４】
0005355512.tif 000005
【００２３】
となる。この目的関数値ｏAに係る目的関数の違いが学習法の違いに相当する。既存の目的関数としては、例えば次のものが挙げられる。
【００２４】
・重み付き条件付確率場（非特許文献１参照（ＷＧＣＬＭに相当））
【００２５】
【数５】
0005355512.tif 000006
【００２６】
（条件付確率場は最大化問題であるが、式(5)では最小化問題となるように対数関数内を逆数としている。また、ｓA( )は対数線形モデルに限る。）
【００２７】
・誤り率最小化学習（非特許文献１参照（ＭＥＲＴに相当））
【００２８】
【数６】
0005355512.tif 000007
【００２９】
・一般化相互情報量最大化基準学習法（非特許文献２参照（Ｇeneralized−ＭＭＩに相当））
【００３０】
【数７】
0005355512.tif 000008
【００３１】
（最小化問題となるように対数関数内を逆数にした形態。σ、ｅは正のハイパーパラメータ。）
【００３２】
モデルパラメータＡの学習の目的は、上記各々の目的関数値ｏAを最小化するモデルパラメータＡの値を見つけることにある。最小化時には、分子を構成するサンプルには小さなスコアが、分母を構成するサンプルには大きなスコアが分配されることになり、かつ、スコアの分配は各サンプルに付された重みの影響を受ける。そのため、各学習法ごとに図８(a)〜(c)に示すようにサンプル間の識別が行われることが期待される。(a)は学習法が重み付き条件付確率場の場合、(b)は誤り率最小化学習の場合、(c)は一般化相互情報量最大化基準学習法の場合であり、それぞれ、左側に書かれているものが分子を構成するサンプル、右側に書かれているものが分母を構成するサンプルを表す。間に引かれた矢印の太さは、期待されるスコア差の大小を表し、太いほどスコア差が大きい。
【００３３】
一般に、モデルパラメータの学習のために使用するデータは、実際に順位付けを行うデータとは異なる。そのため、モデルパラメータの学習法には、学習データに近いデータ（マッチドデータ）に対しても、やや遠いデータ（ミスマッチドデータ）に対しても、精度よく順位付けがされるものが望まれる。学習法が双方のデータに対して高い精度を示すとき、高い汎化性能を持つという。
【００３４】
式(5)の目的関数を用いる重み付き条件付確率場の場合、分母には大きなスコアが分配されるため、正解サンプルにのみ大きなスコアが付与されることになる。このような性質は、マッチドデータに対しては有効であっても、ミスマッチドデータでの性能劣化が容易に想像できる。すなわち、マッチドデータに対しては、図中右側のサンプルのうち、重みの小さなサンプルにスコアが分配される（太い矢印が向く）ことが重要であり、ミスマッチドデータに対しては、複数のサンプルにスコアが分配される（複数のサンプルに矢印が向く）ことが重要である。式(6)の目的関数を用いる誤り率最小化学習の場合、分母が複数のサンプルで構成されるため、大きな値が付与されるスコアが複数のサンプルに跨る。そのため、重み付き条件付確率場より、ミスマッチドデータに対する頑健性の向上が期待できる。しかし、分母に重みを反映できないため、重み（重要度＝誤り率等）の小さなサンプルに大きなスコアが分配される補償が無い。そのため、マッチドデータでの性能劣化が予想される。一方、式(7)の目的関数を用いる一般化相互情報量最大化基準学習法は、分母が複数のサンプルで構成されているのに加え、分母に重みを反映したものとなっている。そのため、重み（重要度）の小さなサンプルに大きなスコアが分配され、アンマッチドデータだけでなくマッチドデータに対しても高い性能が期待でき、高い汎化性能を持つと言える。
【００３５】
学習結果としてモデルパラメータ
【００３６】
【数８】
0005355512.tif 000009
【００３７】
を求めるための最もナイーブな方法は、モデルパラメータＡがとりうる全ての値（ベクトル）について目的関数値ｏAを計算して、それを最小化するＡを探すことである。しかし、一般にはＡは高次元ベクトルであるため、このような方法は計算量的に非現実的である。また、一般にＡの各要素は連続値をとるため、その観点からも非現実的である。
【００３８】
これらの問題を解決する手法として、勾配法や準ニュートン法などの公知の手法を用いることが考えられる。これらの手法は、モデルパラメータＡについて、ある初期値から開始し、目的関数値ｏAの極小点を探索する。探索では、目的関数の微分値などを利用して、目的関数値ｏAが減少する方向にモデルパラメータＡを更新する処理を繰り返す。なお、モデルパラメータＡの更新幅や方向は、具体的に採る手法により異なる。
【００３９】
＜モデルパラメータ学習装置の構成＞
モデルパラメータの学習に用いるモデルパラメータ学習装置１００の構成例を図９に示す。また、それに対応する処理フロー例（ステップＳ１〜２）を図１０に示す。モデルパラメータ学習装置１００は、データ記憶部１１０とモデルパラメータ記憶部１２０と目的関数値算出部１３０とモデルパラメータ更新部１４０とを備える。
【００４０】
データ記憶部１１０には、学習サンプルの素性ベクトルＦi,j及び重みｗi,j（ｉはサンプル集合のインデックスでｉ＝１,２,・・・,ｍ、ｊはサンプル集合ｉに含まれる各学習サンプルのインデックスでｊ＝１,２,・・・,ｎi）が予め記憶される。つまり、データ記憶部１１０には、ｎi個の学習サンプルからなるサンプル集合ｉがｍ個記憶される。また、必要に応じて正解サンプルの素性ベクトルＦi,rが記憶される。
【００４１】
モデルパラメータ記憶部１２０には、モデルパラメータＡの初期値が予め記憶され、当該モデルパラメータＡはモデルパラメータ更新部１４０で得られた更新値Ａ´により順次更新される（更新後のモデルパラメータは説明の便宜上、Ａと呼ぶ）。
【００４２】
目的関数値算出部１３０は、データ記憶部１１０から素性ベクトルＦi,j及び重みｗi,jを、また、モデルパラメータ記憶部１２０からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数値ｏAを算出する（Ｓ１）。算出に用いる目的関数は、上記の各目的関数を使用条件に応じて選択する。
【００４３】
目的関数微分値算出部１４０は、目的関数値算出部１３０と同様に、データ記憶部１１０から素性ベクトルＦi,j及び重みｗi,jを、また、モデルパラメータ記憶部１２０からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数の微分値ｏA´を算出する（Ｓ２）。目的関数の微分値ｏA´は、目的関数値算出部１３０と同様な方法で目的関数値ｏAを求め、これを微分することにより求める。
【００４４】
モデルパラメータ更新部１５０は、目的関数の微分値ｏA´が十分に０に近いか等の所定の収束判定を行い、収束していない（例えば、未だ十分に０に近くない）場合には、目的関数値ｏAに基づきモデルパラメータの更新値Ａ´を計算して、これによりモデルパラメータ記憶部１１０に記憶されたモデルパラメータＡを更新し、収束している（例えば、十分に０に近い）場合には、当該目的関数値ｏAに対応するモデルパラメータＡを学習結果として出力する（Ｓ３）。モデルパラメータの更新手法は、上記の勾配法や準ニュートン法などに相当し、目的関数値の代わりに目的関数の微分値を用いて、目的関数値ｏAが減少する方向にモデルパラメータを更新する処理を行う。なお、具体的な更新幅等の決め方は採用する手法に依存する。
【００４５】
ステップＳ３において、目的関数の微分値ｏA´が収束していない場合には、再度ステップＳ１に戻り、更新値Ａ´がＡであるとして、再びステップＳ１〜Ｓ３の処理を行い、以降、ステップＳ３で学習結果が出力されるまでステップＳ１〜Ｓ３を繰り返し実行する。
【００４６】
なお、目的関数値算出部１３０、目的関数微分値算出部１４０、及びモデルパラメータ更新部１５０での計算の際に、ハイパーパラメータやその他のデータを用いる場合には、それらを予めデータ記憶部１１０に記憶しておき、必要に応じ読み出せばよい。
【先行技術文献】
【非特許文献】
【００４７】
【非特許文献１】大庭隆伸、堀貴明、中村篤、「誤り訂正言語モデルのシンボル系列重み付き学習法に関する考察」、音響学会講演論文集、2009、p.179-180
【非特許文献２】Atsushi Nakamura, Erik McDermott, Shinji Watanabe and Shigeru Katagiri,"A UNIFIED VIEW FOR DISCRIMINATIVE OBJECTIVE FUNCTIONS BASED ON NEGATIVE EXPONENTIAL OF DIFFERENCE MEASURE BETWEEN STRINGS", Proc. ICASSP2009, 2009, p.1633-1636
【発明の概要】
【発明が解決しようとする課題】
【００４８】
上記のとおり、一般化相互情報量最大化基準学習法は、高い汎化性能を示す学習手法であるが、モデルパラメータの大局的最適解への収束が保証されない。一方、（重み付き）条件付確率場は、汎化性能に劣るがモデルパラメータの大局的最適解への収束を保証する。上記のとおり、モデルパラメータの学習は各手法に定義された目的関数を最小化するモデルパラメータの探索として定義されるが、実質的にはそれは困難であるため、モデルパラメータの初期値に隣接する局所点を求める。この点、条件的確率場の目的関数は凸性を保持するため、大局的最適解へ収束する。これは、学習の妥当性を保証しているという点において重要である。また、実用的には、初期値を替えて学習をし直すといった手間を排除する効果がある。
【００４９】
本発明の目的は、高い汎化性能をもち、かつ、学習におけるモデルパラメータの大局的最適解への収束を実現するモデルパラメータ学習装置、方法、及びそのプログラムを提供することにある。
【課題を解決するための手段】
【００５０】
本発明のモデルパラメータ学習装置は、データ記憶部とモデルパラメータ記憶部と目的関数値算出部とモデルパラメータ更新部とを備える。
【００５１】
データ記憶部は、学習サンプルの素性ベクトルＦi,j及び重みｗi,j（ｉはサンプル集合のインデックスでｉ＝１,２,・・・,ｍ、ｊはサンプル集合に含まれる各学習サンプルのインデックスでｊ＝１,２,・・・,ｎi）を記憶する。
【００５２】
モデルパラメータ記憶部は、モデルパラメータＡの初期値が記憶され、当該モデルパラメータＡがモデルパラメータ更新部で得られた更新値により順次更新される。
【００５３】
目的関数値算出部は、サンプルスコア算出手段とサンプルスコア比加算手段とサンプルスコア比加算値変換手段とサンプルスコア比加算変換値加算手段とを備え、データ記憶部から素性ベクトルＦi,j及び重みｗi,jを、また、モデルパラメータ記憶部からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数値を算出する。サンプルスコア算出手段は、各学習サンプルの重み付きスコアをｗi,j・sA(Ｆi,j)（sA(Ｆi,j)は素性ベクトルＦi,jからスコアへの写像関数であり、モデルパラメータＡの対数線形モデル）により算出する。サンプルスコア比加算手段は、サンプル集合ごとに、サンプル集合に含まれる２つの異なる学習サンプル（以下、「サンプルペア」という。）の重み付きスコアの比をサンプル集合内の全てのサンプルペアについて加算したサンプルスコア比加算値を求める。サンプルスコア比加算値変換手段は、前記サンプルスコア比加算値を対数変換してサンプルスコア比加算変換値を得る。サンプルスコア比加算変換値加算手段は、各サンプル集合について得られたサンプルスコア比加算変換値を、全て加算することによりモデルパラメータＡの目的関数値を算出する。
【００５４】
目的関数微分値算出部は、データ記憶部から素性ベクトルＦi,j及び重みｗi,jを、モデルパラメータ記憶部からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数の微分値を算出する。
【００５５】
モデルパラメータ更新部は、目的関数微分値算出部で得られた目的関数の微分値について所定の収束判定を行い、収束していない場合には、前記目的関数値に基づきモデルパラメータＡの更新値を計算して、これによりモデルパラメータ記憶部に記憶されたモデルパラメータＡを更新し、収束している場合には、当該目的関数値に対応するモデルパラメータＡを学習結果として出力する。
【００５６】
そして、目的関数値算出部と目的関数微分値算出部とモデルパラメータ更新部における処理を、学習結果が出力されるまで繰り返し実行する。
【発明の効果】
【００５７】
本発明のモデルパラメータ学習装置、方法、及びそのプログラムによれば、各サンプルの重み（重要度）を積極的に使用してモデルパラメータを決定することにより高い汎化性能を実現でき、かつ、学習の目的関数を対数線形モデルの使用及び対数化により凸性を持つ関数とすることにより学習におけるモデルパラメータの大局的最適解への収束を実現することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明のモデルパラメータ算出装置１００の目的関数算出部１３０の構成例を示す図。
【図２】本発明のモデルパラメータ算出装置１００の目的関数算出部１３０の処理フロー例を示す図。
【図３】本発明のモデルパラメータ算出装置１００のサンプルスコア比加算手段１３２の構成例を示す図。
【図４】本発明のモデルパラメータ算出装置１００のサンプルスコア比加算手段１３２の処理フロー例を示す図。
【図５】実験データの構成を示す図。
【図６】素性ベクトル及びその重みを得る手順を説明する図。
【図７】実験結果を示す図。
【図８】各目的関数の分子のサンプルと分母のサンプルとの間に生じるスコア差のイメージを示す図。
【図９】モデルパラメータ算出装置１００の構成例を示す図。
【図１０】モデルパラメータ算出装置１００の処理フロー例を示す図。
【発明を実施するための形態】
【００５９】
本発明は、図９に示すモデルパラメータ学習装置１００の目的関数算出部１３０において使用する目的関数を適切に選ぶことで、高い汎化性能及び学習におけるモデルパラメータの大局的最適解への収束を実現する。
【００６０】
具体的には、本発明の目的関数算出部１３０は、データ記憶部１１０から素性ベクトルＦi,j及び重みｗi,jを、また、モデルパラメータ記憶部１２０からモデルパラメータＡを、それぞれ読み込み、当該モデルパラメータＡの目的関数値ｏAを次式の目的関数により算出する。
【００６１】
【数９】
0005355512.tif 000010
【００６２】
なお、ｓA(Ｘ)は、素性ベクトルＸからスコアへの写像関数であり、モデルパラメータＡの対数線形モデル（ｓA(Ｘ)＝exp(ＡTＸ)）である。
【００６３】
式(9)の目的関数においては、あるサンプル集合ｉに関して、異なる２つの学習サンプル（サンプルペア）ｊ、ｊ´の重み付きスコア比
【００６４】
【数１０】
0005355512.tif 000011
【００６５】
をサンプル集合ｉ内の全てのサンプルペアについて算出する。式(9)の目的関数を小さくするには、分子を小さく、分母を大きくする必要があるため、分子に対応するサンプルは負例（正解から遠いなどの悪質なサンプル）として振る舞い、分母に対応するサンプルは正例（正解に近いなどの良質なサンプル）として振る舞うことになる。式(9)の目的関数は、サンプル集合ｉ内のサンプルペアの総当たりで、正例と負例を識別することを要請するため、本発明におけるモデル学習法を、総当たり戦の意味を持つRound-robin duelを使って、ラウンドロビンデュアル識別法と呼ぶ。また、ラウンドロビンという言葉は、ひとつの役割を複数で担う場合にも使用される。ラウンドロビンデュアル識別法という名称には、負例の役割を全（複数の）サンプルが担い、正例の役割も全（複数の）サンプルが担うという意味も込められている。本発明のラウンドロビンデュアル識別法においては、サンプル間の識別は図８(d)に示すように行われるものと期待される。図８(d)は、図８(a)〜(c)と同様、左側に書かれているものが分子を構成するサンプル、右側に書かれているものが分母を構成するサンプルを表す。また、間に引かれた矢印の太さは、期待されるスコア差の大小を表し、太いほどスコア差が大きい。学習データに近いデータ（マッチドデータ）に対して良い性能を示すモデルを生成するには、図中右側のサンプルのうち、重みの小さなサンプルにスコアが大きく分配される(太い矢印が向く)ことが重要である。一方、学習データからはやや遠いデータ（ミスマッチドデータ）に対しては、複数のサンプルにスコアが分配される(複数のサンプルに矢印が向く)ことが重要である。式(9)の目的関数は、一般化相互情報量最大化基準学習法と同様、両特徴を備えたものとなっている。このことから、高い汎化性能を示すモデルの生成が期待される。
【００６６】
また、式(9)の目的関数では対数化を施しているが、その理由は２つある。１つは、スコアに対数線形モデルを導入することにより目的関数が下に凸となり、目的関数値ｏAが大局的最適解に収束するためである。もう１つは、あるサンプル集合ｉに含まれる全てのサンプルペアｊ、ｊ´の重み付きスコア比の総和
【００６７】
【数１１】
0005355512.tif 000012
【００６８】
の値が他のサンプル集合に対して極端に大きくなる場合がある。ある特定のサンプル集合ｉが極端に大きな値を持つ場合、このサンプル集合に特化した学習が行われる結果として汎化性能の低下を招く恐れがあるため、対数化を施すことでこれを防止する。なお、後者の意味においては、必ずしも対数化による対応は必須では無く、平方根や上限値を設定した関数などで変換するという対応も考えられるが、本発明においては大局的最適解への収束を保証する必要から対数化を採用している。
【００６９】
式(9)の目的関数値ｏAは、目的関数算出部１３０を例えば図１のように構成することで算出することができる。図１の目的関数算出部１３０は、サンプルスコア算出手段１３１とサンプルスコア比加算手段１３２とサンプルスコア比加算値変換手段１３３とサンプルスコア比加算変換値加算手段１３４とを備える。図２にその処理フロー（ステップＳ１１〜１４）を示す。
【００７０】
サンプルスコア算出手段１３１は、各学習サンプルの重み付きスコアをｗi,j・ｓA(Ｆi,j)（ｓA(Ｆi,j)は素性ベクトルＦi,jからスコアへの写像関数であり、モデルパラメータＡの対数線形モデル（ｓA(Ｆi,j)＝exp(ＡTＦi,j)））により算出する（Ｓ１１）。対数線形モデルを用いる理由は上記の通りである。
【００７１】
サンプルスコア比加算手段１３２は、サンプル集合ｉごとに、サンプル集合に含まれるサンプルペアｊ、ｊ´の重み付きスコアの比
【００７２】
【数１２】
0005355512.tif 000013
【００７３】
を、サンプル集合内の全てのサンプルペアについて加算したサンプルスコア比加算値
【００７４】
【数１３】
0005355512.tif 000014
【００７５】
を求める（Ｓ１２）。サンプルスコア比加算値の求め方として、具体的には、例えば次の２つの方法が考えられる。
【００７６】
１つは単純に、各サンプルペアについて、サンプルスコア算出手段１３１に得られた重み付きスコアｗi,j・ｓA(Ｆi,j)の比を式(12)により求め、それを式(13)に示すように全てのサンプルペアについて加算するという方法である。
【００７７】
もう１つは、サンプルスコア比加算手段１３２を例えば図３のように構成することにより求める方法である。図３のサンプルスコア比加算手段１３２は、サンプルスコア加算手段１３２ａとサンプルスコア逆数加算手段１３２ｂと乗算手段１３２ｃとを備える。図４にその処理フロー（ステップＳ１２ａ〜ｃ）を示す。サンプルスコア加算手段１３２ａは、サンプルスコア算出手段１３１で得られた各サンプルの重み付きスコアｗi,j・ｓA(Ｆi,j)の総和
【００７８】
【数１４】
0005355512.tif 000015
【００７９】
を求める（Ｓ１２ａ）。サンプルスコア逆数加算手段１３２ｂは、サンプルスコア算出手段１３１で得られた各サンプルの重み付きスコアｗi,j・sA(Ｆi,j)の逆数の総和
【００８０】
【数１５】
0005355512.tif 000016
【００８１】
を求める（Ｓ１２ｂ）。乗算手段１３２ｃは、サンプルスコア加算手段１３２ａとサンプルスコア逆数加算手段１３２ｂで得られた結果を乗算することによりサンプルスコア比加算値
【００８２】
【数１６】
0005355512.tif 000017
【００８３】
を求める（Ｓ１２ｃ）。
【００８４】
前者の方法の場合、Σが二重であり、ｊ毎に全てのｊ´について計算する必要が生じるが、後者の方法によれば、各Σを並行して処理することができるため、処理を高速化することができる。
【００８５】
なお、サンプルスコア比加算手段１３２においては、分母がゼロとなる演算の防ぐ措置を施しておくことが望ましい。例えば、「分母をゼロに近い値に置換」、「分母がゼロのとき、その分子を含めた値をゼロにする」などの例外処理を加えることが考えられる。また、ゼロを持たない所定の増加関数に重み付きスコアｗi,j・ｓA(Ｆi,j)を変換することが考えられる。ｓA(Ｆi,j)が対数線形モデルの場合は非ゼロが保証されているため、重みｗi,jのみを変換する。例えば、ハイパーパラメータσを用い、exp(σ・ｗi,j)などに置換する。
【００８６】
また、サンプルスコア比加算値は
【００８７】
【数１７】
0005355512.tif 000018
【００８８】
からわかるように、分子、分母ともサンプル集合ｉ内の全てのサンプルを対象とした加算値として説明したが、各サンプルが分子、分母のいずれかのみに出現するように構成しても構わない。例えば、重みｗi,jが所定の値より大きなサンプルは分子のみに利用し、それ以外は分母にのみ利用することが考えられる。例えば、式(17)において、分子の重みｗi,j´が０である場合、その項はサンプルスコア比加算値を全く変化させない。同様に他のサンプルの重みに比べて十分小さな重みを持つサンプルは、ほとんどサンプルスコア比加算値を変化させない。そのためモデルパラメータの学習結果にも殆ど影響を与えない。分母については重みの大きなサンプルについて同様のことがいえる。このようなサンプルを排除することで、計算コストを抑え、良質な近似を得ることができる。
【００８９】
サンプルスコア比加算値変換手段１３３は、サンプルスコア比加算手段１３２で得られたサンプルスコア比加算値を対数変換してサンプルスコア比加算変換値
【００９０】
【数１８】
0005355512.tif 000019
【００９１】
を求める（Ｓ１３）。対数変換する理由は上記の通りである。
【００９２】
サンプルスコア比加算変換値加算手段１３４は、サンプルスコア比加算値変換手段１３３において各サンプル集合ｉについて得られたサンプルスコア比加算変換値を、全てのサンプル集合について次式のように加算し、モデルパラメータＡの目的関数値ｏAを求める（Ｓ１４）。
【００９３】
【数１９】
0005355512.tif 000020
【００９４】
以上のように、本発明のモデルパラメータ学習装置及び方法によれば、各サンプルの重み（重要度）を積極的に使用してモデルパラメータを決定することにより高い汎化性能を実現でき、かつ、学習の目的関数を対数線形モデルの使用及び対数化により凸性を持つ関数とすることにより学習におけるモデルパラメータの大局的最適解への収束を実現することができる。
【００９５】
上記の各処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００９６】
また、本発明のモデルパラメータ学習装置をコンピュータによって実現する場合、装置の各部が有す機能の処理内容はプログラムによって記述される。そのプログラムは、例えば、ハードディスク装置に格納されており、実行時には必要なプログラムやデータがＲＡＭ(Random Access Memory)に読み込まれる。その読み込まれたプログラムがＣＰＵにより実行されることにより、コンピュータ上で各処理内容が実現される。なお、処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００９７】
＜比較実験による評価＞
本発明のモデルパラメータ学習装置１００について、音声認識の誤り訂正言語モデルにより評価を行った（非特許文献１参照）。音声認識器は一般に、ある１つの音声発話データに対して複数の候補単語列を出力する。各候補単語列にはスコアが付されており、最も大きなスコアが付された単語列が通常の認識結果である。誤り訂正言語モデルは、補正スコアを追加して、更に誤り率の小さな単語列を上位に移動するために使用される。
【００９８】
このタスクにおいて、上記のｉ,ｊ,Ｆi,j,ｗi,jはそれぞれ次のように対応する。
【００９９】
ｉ：音声発話データのインデックス（サンプル集合の識別子）
ｊ：候補単語列のインデックス（サンプル集合ｉ内のサンプルの識別子）
Ｆi,j：単語列から抽出した素性ベクトル（ここでは1,2,3-gram Boolean）
ｗi,j：単語誤り率又は単語誤り率による順位（それぞれについて実験）
【０１００】
実験には日本語話し言葉コーパス（ＣＳＪ）を使用した。ＣＳＪは、学会講演及び模擬講演の収録データ等から構成されている。模擬講演は、学会講演よりもより一般的な話題を対象とした講演である。ＣＳＪから選択した実験データは、図５のように構成した。学習セットは、モデルパラメータを決定するために使用する。開発セットはハイパーパラメータを決定するために使用する。そして、評価セットは性能評価に使用する。なお、開発セット１と評価セット１には学会講演を用い、開発セット２と評価セット２には模擬講演を用いることとし、１をマッチドデータ、２をミスマッチドデータとみなす。
【０１０１】
学習に必要な素性ベクトル、重みは、次の手順により得た（図６参照）。
【０１０２】
学習セットを構成する各発話音声データに対して音声認識器を適用し、５０００の候補単語列を生成する。ただし、一部５０００に満たない発話音声データも存在する。また、人手で与える正解単語列を用意する。各候補単語列と正解単語列とを比較し、単語誤り率又はその順位を計算してこれをｗi,jとする。単語誤り率は、「不正解単語数／正解単語列の単語数」により算出する。また、各候補単語列及び正解単語列を素性ベクトルに変換する。
【０１０３】
このようにして得られた素性ベクトル、重みに対し、本発明の学習法（ラウンドロビンデュアル識別法）を含む、各モデルパラメータ学習法を適用する。このとき、全学習法において対数線形モデルを用い、また、正則化項を用いた学習によりモデルパラメータを決定した。正則化項を用いた学習とは、目的関数＋‖Ａ‖／ｃを最小化するモデルパラメータを学習結果とする方法である。ここでは、‖Ａ‖はL2-normとし、ｃは定数で、開発セットにより決定する。これは、モデルの汎化性能を向上させるために広く用いられる手法である。
【０１０４】
また、式(9)に示した本発明の学習法（ラウンドロビンデュアル識別法）の目的関数について、非ゼロを担保するため、重みをexp(σ・ｗi,j)に変換する処理を行った。なお、ここでは対数線形モデルを用いるため、当該目的関数は次式となる。
【０１０５】
【数２０】
0005355512.tif 000021
【０１０６】
本タスクは１００万超える次元のベクトルを扱うため、初期値をランダムに与えて学習を繰り返すにも限界がある。そこで、本実験では単純にゼロベクトルを初期値とした。
【０１０７】
各学習法により得られたモデルパラメータを使用して、次の手順で誤り訂正を行った。
【０１０８】
まず、評価セットの或る音声に対して、音声認識器で５０００の候補単語列と音声認識スコアの組を取得する。ｊ番目の候補単語列の素性ベクトルをＦj、音声認識スコアをｓjと表記し、モデルパラメータＡを用いて次式によりスコアを再定義する。
【０１０９】
ａ0・ｓj＋ＡTＦj     (21)
ここで、ａ0はスケーリングの調整子であり、開発セットを用いて決定する。再定義されたスコアが最も大きくなる単語列を誤り訂正後の認識結果とする。この処理を評価セットの全音声に対して適用し、得られた誤り訂正後の認識結果全体の単語誤り率で評価を行う。
【０１１０】
実験結果（誤り訂正前後の単語誤り率）を図７に示す。(a)が重みとして単語誤り率を用いて学習したモデルにおける単語誤り率であり、(b)が重みとして単語誤り率による順位を用いて学習したモデルにおける単語誤り率である。なお、W-CRFは重み付き条件付確率場、MERTは誤り率最小化学習法、R2R2は本発明のラウンドロビンデュアル識別法、GMMIは一般化相互情報量最大化基準学習法を、それぞれ用いた場合である。
【０１１１】
この実験結果からわかるように、本発明のラウンドロビンデュアル識別法は、評価セット１、２の両方で低い誤り率を達成している。同様に凸性を持つ重み付き条件付確率場では、マッチドデータである評価セット１では低い誤り率を達成しているが、ミスマッチドデータである評価セット２では高い誤り率となっており、ラウンドロビンデュアル識別法とは有意差が認められる。誤り率最小化学習法では、評価セット１で高い誤り率を示したが、評価セット２においては、順位重みを用いた場合に低い誤り率を達成している。しかし、誤り率重みを用いた場合には、やや高い誤り率となっている。誤り率最小化学習法の目的関数は凸でないため、この原因が初期値の設定による可能性を否定できず、その他の理由による可能性も否定できない。一般化相互情報量最大化基準学習法に関しても、評価セット２において良好な性能を達成できていない。初期値の問題である可能性もあるが、誤り率最小化学習法と同様、その原因は明らかでない。
【図１】
0005355512.tif 000022
【図２】
0005355512.tif 000023
【図３】
0005355512.tif 000024
【図４】
0005355512.tif 000025
【図５】
0005355512.tif 000026
【図６】
0005355512.tif 000027
【図７】
0005355512.tif 000028
【図８】
0005355512.tif 000029
【図９】
0005355512.tif 000030
【図１０】
0005355512.tif 000031