説明

モデルパラメータ配列装置とその方法とプログラム

【課題】モデルの要素集合Θのパラメータ要素をその重要度順に配列するモデルパラメータ配列装置を提供する。
【解決手段】初期化部は、選択サブセット候補を空集合で初期化して集合Θと選択サブセット候補を出力する。要素選択部は、集合Θと選択サブセット候補を入力として、サブセット候補として選択サブセット候補と他のパラメータ要素との全ての組を出力する。サブセット評価値記憶部は、サブセット候補を入力として、当該サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、上記集合Θのスコア値である評価値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補として記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、音声認識、機械翻訳、発話分類などの自然言語処理を含む統計的機械学習の分野において用いられるモデルのモデルパラメータ要素の集合を、重要度の順に配列するモデルパラメータ配列装置とその方法とプログラムに関する。
【背景技術】
【0002】
例えば、自然言語処理において分類問題やランキング問題は極めて重要な問題である。分類問題は、ある単語列(サンプル)が事前に定義された有限個のクラスのうち、どれに分類されるかを推定する問題である。例えば、発話内容を、挨拶、質問、回答などにクラス分けする発話分類はこれに相当する。ランキング問題は、有限個のサンプルからなる集合が与えられた時に、各サンプルに対して、ある観点における順位を与える問題である。音声信号を単語列に変換する技術である音声認識や、機械翻訳はこれに相当するものと見なすことが出来る。
【0003】
一般に、分類問題では、サンプルとクラスに応じたスコアが付与され、スコアの大きさに基づいて分類されるクラスを推定する。ランキング問題では、サンプルごとにスコアが付与され、スコアの大きさに基づいて順位が決定する。
【0004】
スコアを付与するには、サンプルとクラスの組を、素性表現するための変換ルールが事前に定義されている必要がある。また、事前にモデルを用意しておく必要がある。
【0005】
モデルとは、例えば音声認識であれば言語モデルであり、素性表現された入力(単語列、サンプル)に対して、スコアを返す関数のことである。ここでモデルを用意するとは、関数の型を決めた上で、そのパラメータの具体的な値を事前に決定しておくことである。統計的手法では、大量に集めた学習データを利用してモデルパラメータの値を決定する。
【0006】
通常、モデルパラメータの値を決定するプロセス、つまり学習は簡単ではない。対象とする分野の専門的な知識や、大規模な計算システム、大量の学習データなどが必要である。そのため、分類やランキングを行う専門的な知識を持たない一般ユーザが、使用環境に合わせてモデルを学習することは現実的ではない。
【0007】
専門家が汎用性の高いモデルを用意した場合、モデルパラメータ数が大きくなる場合がある。その場合、一般ユーザは、それに応じた規模の計算機を用意することを余儀なくされる。例えば、言語モデルは、隣り合う単語の組ごとに対応したパラメータをもつ。そのため、様々な語彙をサポートした汎用性の高い言語モデルを構築しようと考えた場合、モデルパラメータ要素の集合は非常に大きくなる。
【0008】
そのモデルが、その規模の大きさから使い難い場合、使用環境にあったモデルパラメータ数に専門家が予め調整した上で学習を行う必要があった。(非特許文献1)。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】北内敬、宇津呂武仁、松本裕二、「誤り駆動型の素性選択による日本語形態素解析の確率モデル学習」情報処理学会論文誌、Vol.40 No.5 May 1999
【発明の概要】
【発明が解決しようとする課題】
【0010】
従来は、計算機システムが変わる度に、モデルパラメータ要素を推定し直さなければならなかった。モデルパラメータ要素を推定し直さなくても良いようにするためには、予めモデルパラメータ要素をその重要度の順番に並べておき、必要な数のモデルパラメータだけを利用するといった方策が必要である。当該重要度は、モデルパラメータ数の削減前後で、モデルが返すスコアが変わらないように決定される必要がある。しかし、従来、その条件を満たした上で、モデルパラメータ要素をその重要度の順番に配列し直す装置や方法は存在しなかった。
【0011】
この発明は、このような課題に鑑みてなされたものであり、モデルパラメータ要素を重要度の順番に配列し直すモデルパラメータ配列装置とその方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
この発明のモデルパラメータ配列装置は、初期化部と、要素選択部と、サブセット評価値記憶部と、パラメータ順位付け部と、を具備する。初期化部は、選択サブセット候補を空集合で初期化する。要素選択部は、集合Θと選択サブセット候補を入力として、サブセット候補として選択サブセット候補と他のパラメータ要素との全ての組を出力する。サブセット評価値記憶部は、サブセット候補を入力として、当該サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、上記集合Θのスコア値である評価値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補として記憶する。パラメータ順位付け部は、選択サブセット候補を、選択した順若しくはその逆順に配列した配列済みモデルパラメータを出力する。
【発明の効果】
【0013】
この発明のモデルパラメータ配列装置は、既存のモデルのモデルパラメータ要素を、その重要度の順番に配列した配列済みモデルパラメータを出力する。当該重要度は、モデルパラメータ数の削減前後で、モデルが返すスコアが変わらないように決定されたものである。そのため、当該重要度に配列済みのモデルパラメータを用いることで、任意のサイズのサブセットのモデルパラメータ要素を得ることが可能になる。つまり、この発明のモデルパラメータ配列装置によって、モデルパラメータ要素の集合Θを重要度の順番に配列しておくことで、任意の計算機システムに適応するサブセットのモデルパラメータ要素を簡単に得ることが出来る。
【図面の簡単な説明】
【0014】
【図1】この発明のモデルパラメータ配列装置100の機能構成例を示す図。
【図2】モデルパラメータ配列装置100の動作フローを示す図。
【図3】データ(a2)を利用してモデル縮減を行いデータ(a3)で評価するEval-A評価実験結果を示す図。
【図4】データ(a2)を利用して配列済みモデルパラメータを作成しデータ(o2)で評価するEval-B評価実験結果を示す図。
【図5】データ(o1)を利用して配列済みモデルパラメータを作成しデータ(o2)で評価するEval-C評価実験結果を示す図。
【発明を実施するための形態】
【0015】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。実施例の説明の前に、この発明の基本的な考えを説明する。
【0016】
〔この発明の基本的な考え〕
サンプルs(例えば音声認識においてはある単語列)に、所望のスコアを付与する問題は、パターン認識、自然言語処理、などの多くの分野で共通する概念であり、極めて重要である。所望のスコアを与える関数をモデルQΘ(s)とおき、その関数を制御するモデルパラメータ要素の集合をΘ(以降、要素集合Θとも称する)とした時に、統計的手法では、大量にサンプルを集め、要素集合Θの各要素について具体的な値を推定する。これをモデルパラメータ推定、若しくは学習と称する。
【0017】
一般に要素集合Θの要素数が多いほど、推定は難しく大量のサンプルが必要となる。また、要素集合Θの中には、推定に悪影響を及ぼす要素が存在する場合もある。要素集合Θの最適なサブセットΦ、つまり要素集合Θよりも要素数の少ない最適なサブセットが見つけることが出来れば、より少ない要素数に基づいて適切なスコアを与える関数を得ることが出来る。このサブセットを見つける問題のことを変数選択問題と称する。ただし、変数選択問題では要素集合Θのサブセットを見つけることが目的であり、通常、そのパラメータサブセットΦの各要素の値は、Φの決定後に推定される。
【0018】
変数選択問題は、NP困難問題(NP-hard)であることが知られている、そのため様々な近似手法が提案されている。例えば前向き選択(SFS: Sequential Forward Selection)若しくは後ろ向き選択(SBS: Sequential Backward Selection)は、それらの一つである。前向き選択及び後ろ向き選択では、モデルパラメータの学習と選択を繰り返しながら、誤り率などの指標が小さくなるようなサブセットを求める。前向き選択では、重要なモデルパラメータ要素を順に採用し、後ろ向き選択では重要でないモデルパラメータを順に削除する。モデルパラメータの選択の度に、モデルパラメータの値を決め直す、すなわち学習し直す必要があるので、ユーザが指定した数からなる学習済みのモデルパラメータを瞬時に返すことが出来ない。
【0019】
本発明の目的は、スコア付与の結果の変化が極力小さくなるように、要素集合Θのサブセットを選択するようにすることである。サブセットの選択により、モデルQΘ(s)の代替として、小さなモデルQΦ(s)を用いてサンプルsへのスコア付与が出来るようになる。これを実現するための基本的な考え方は、前向き選択又は後ろ向き選択で要素集合Θの要素を、モデルパラメータ数の削減前後で、モデルが返すスコアが変わらない様に重要度を決定し、重要なものから指定数分の要素を選択することにある。この発明では、要素集合Θの全要素の値が既に学習済みであることを前提とし、当該Θから算出されるスコアとサブセットから算出されるスコアとの差を評価関数に用いる。従来の変数選択問題では、各要素のパラメータ推定値は通常用いられないが、この発明では積極的に用いる。
【実施例1】
【0020】
図1に、この発明のモデルパラメータ配列装置100の機能構成例を示す。モデルパラメータ配列装置100は、初期化部5と、要素選択部10と、サブセット評価値記憶部20と、パラメータ順位付け部30と、制御部40と、を具備する。モデルパラメータ配列装置100の各部の機能は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
【0021】
初期化部5は、モデルパラメータ要素の集合Θを入力とし、前向き選択の場合には、選択サブセット候補Φを空集合で初期化し、後ろ向き選択の場合には、選択サブセット候補Φを集合Θで初期化する。
【0022】
要素選択部10は、N個のモデルパラメータ要素の集合Θと選択サブセット候補Φを入力として、前向き選択の場合には、サブセット候補として選択サブセット候補Φと他のパラメータ要素との全ての組を出力する。
【0023】
後ろ向き選択の場合には、サブセット候補として選択サブセット候補Φに属する各モデルパラメータ要素を取り除いた全ての組を出力する。
【0024】
ここでモデルの要素集合Θとは、例えばモデルyを線形表現した時(式(1))のモデルパラメータ要素a,b,…,nの集合である。以下、モデルパラメータ要素からなる集合を{*}と示す。
【0025】
【数1】

【0026】
例えば、モデルyをy=ax+bx+cxとした場合、前向き選択において最初のサブセット候補は{a},{b},{c}であり、選択サブセット候補ΦがΦ={a}である場合のサブセット候補は{ab},{ac}である。後ろ向き選択においては、最初のサブセット候補は{ab},{ac},{bc}であり、選択サブセット候補ΦがΦ={ab}である場合のサブセット候補は{a},{b}となる。
【0027】
サブセット評価値記憶部20は、サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、要素集合Θのスコア値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補Φとして記憶する。
【0028】
パラメータ順位付け部30は、選択サブセット候補Φを、選択した順若しくはその逆順に配列した配列済みモデルパラメータΦを出力する。制御部40は、上記した各部間の時系列的な動作等を制御するものである。
【0029】
以上の作用により、モデルパラメータ配列装置100は、既存のモデルの要素集合Θの各モデルパラメータ要素を、その重要度の順番に配列した配列済みモデルパラメータΦを出力する。
【0030】
図2に示すモデルパラメータ配列装置100の動作フローを参照して更に詳しくその動作を説明する。例えば要素集合ΘをΘ={a,b,c}、要素選択部10におけるサブセット候補の選択を、前向き選択で行う場合を例に説明する。
【0031】
前向き選択の場合、初期化部5は、選択サブセット候補Φを空集合にする(ステップS5)。要素選択部10は、最初選択サブセット候補Φが未選択のため、サブセット候補として{a},{b},{c}を選択する(ステップS10)。前向き選択では、Θ−Φの全てのモデルパラメータ要素について再帰処理を行う。
【0032】
サブセット評価値記憶部20は、サブセット候補{a},{b},{c}のスコアEの最大値と、要素集合Θの全ての要素を用いた場合のスコアEとの差分を求める(ステップS20)。そして、その差分が最小となるサブセット候補を選択サブセット候補Φとして記憶する(ステップS21)。
【0033】
選択サブセット候補Φとして、例えばサブセット候補{a}を選択した場合、前向き選択では選択サブセット候補Φに{a}を追加した集合を作成する。要素選択部10は、選択サブセット候補Φ={a}の入力に応答して、サブセット候補{ab},{ac}をサブセット評価値記憶部20に出力する(ステップS10)。
【0034】
サブセット評価値記憶部20は、サブセット候補{ab},{ac}のスコアEの最大値と、要素集合Θの全ての要素を用いた場合のスコアEとの差分を求め、その差分が最小となるサブセット候補が例えば{ab}の場合、選択サブセット候補に{b}を追加する(ステップS21)。この例では、この時点でモデルパラメータ要素a,b,cの順位付けが終了するので、選択サブセット候補に{c}も最後のモデルパラメータ要素として同時に追加する。以上のステップS10〜S21の処理は、未処理のモデルパラメータ要素が無くなるまで繰り返される。
【0035】
全てのモデルパラメータ要素についての処理が終了(ステップS41のNo)すると、パラメータ順位付け部30は、記憶された選択サブセット候補Φを、そのtの順番に配列した配列済みモデルパラメータΦとして出力する(ステップS30)。
【0036】
このように、前向き選択は、空集合から始め、与えられた評価関数の下で、最も重要なパラメータ要素の順に要素を追加して行く手法である。後ろ向き選択の場合は、最も重要度の低いモデルパラメータ要素を順に取り除く処理を行う。後ろ向き選択の場合は選択サブセット候補Φの初期値は要素集合Θである。つまりΦ=Θであり、前向き選択のΦt+1=Φ+{a}に対してΦt+1=Φ−{a}の処理を行う点で異なるが、モデルパラメータ要素の重要度の順列を決める点で同じであり、動作フローも図2と変わるところは無い。
【0037】
なお、サブセット評価値記憶部20が、スコアの差分を求める処理に任意の距離関数を用いても良い。その距離関数に、例えばスコア差の二乗誤差(式(2))を導入しても良い。
【0038】
【数2】

【0039】
〔評価実験〕
この発明のモデル縮減方法の効果を確認する目的で、日本語話言葉コーパス(CSJ)を用いて評価実験を行った。CSJは、講演音声とその書き起こしからなるコーパスである。CSJには、学会講演と模擬講演が含まれる。模擬講演は「私の街」、「生涯で最も幸せな出来事」等といったテーマの講演形式のスピーチが収録されている。
【0040】
音声認識の誤り訂正言語モデルを構築し、そのモデルを縮減することでモデルサイズと精度との関係を評価した。音声認識システムは、一般に複数の認識候補となる単語列を出力することが出来る。各認識候補単語列にはスコアが与えられており、最も高いスコアを持つ単語列が通常の認識結果である。誤り訂正言語モデルは、認識候補単語列に補正スコアを加えることで、認識結果の再ランキングを行うモデルである。今、認識候補単語列の集合をSとおくと、最終的な認識結果sは式(3)で与えられる。
【0041】
【数3】

【0042】
ここでf(s)は音声認識システムが付与した認識候補単語列sに対応するスコアである。また、aはスケーリングを調整する定数であり、誤り訂正言語モデルのモデルパラメータAを推定する際に、開発データなどを利用して決定する。
【0043】
表1に、誤り訂正言語モデルの学習・評価に用いたデータの内訳を示す。
【0044】
【表1】

【0045】
データ(a1)〜(a3)は、学会講演であり、データ(o1)と(o2)は模擬講演である。各発話に対し音声認識システムを適用し、5000個の認識候補単語列を生成した。
【0046】
データ(a1)を使って誤り訂正言語モデルのパラメータ推定を行った。つまり、要素集合Θの推定を行った。素性には、(a1)に出現した全ての単語1-gram,2-gram,3-gram及び品詞1-gram,2-gram,3-gramの頻度を利用した。n-gramとはn個のトークン(単語又は品詞)の並びである。最終的なパラメータ数は凡そ1000万である。
【0047】
パラメータの推定には、ラウンドロビン対比学習法(Round-robin duel discrimination)を使用した。スケーリングを調整する定数aの値は、データ(a2)を開発セットとして用いて、その単語誤り率(WER)が最小になるように決定した。
【0048】
モデル縮減の評価として3つの環境を用意した。データ(a2)を利用して配列済みモデルパラメータを作成し、データ(a3)で評価する場合をEval-Aと記載する。同様にデータ(a2)を利用してモデル縮減を行いデータ(a3)で評価する場合をEval-B、データ(a1)を利用して配列済みモデルパラメータを作成しデータ(o2)で評価する場合をEval-Bとする。同様に、データ(o1)とデータ(o2)の組をEval-Cとする。誤り訂正言語モデルは、学会講演で学習しているためEval-BとEval-Cはアウトオブドメインとなるタスクでの評価となる。
【0049】
それぞれの結果を図3〜5に示す。横軸は使用した要素数であり対数スケールである。縦軸は誤り訂正言語モデル適用後の認識結果のWERである。図中に、破線で示す特性は従来手法であり、実線がこの発明のモデルパラメータ配列装置100で作成した配列済みモデルパラメータの上位の指定数のモデルパラメータを利用した場合である。なお、配列済みモデルパラメータは、後ろ向き選択で作成した。
【0050】
何れの条件でも、従来手法の単語誤り率を示す破線(+)よりも単語誤り率の上昇を抑制させながら大きくモデルを縮減することに成功している。つまり、要素数を減らしても単語誤り率の劣化を少なくすることが出来る。
【0051】
このように、この発明のモデルパラメータ配列方法によれば認識結果の変化を小さく抑制しつつ、要素数を大幅に縮減することが可能である。なお、評価実験結果は、音声認識を例に説明を行ったが、この発明のモデルパラメータ配列方法は、他に機械翻訳や発話分類をはじめ、画像認識、自然言語処理の分野のモデルにも利用することが可能である。
【0052】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【0053】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0054】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0055】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

【特許請求の範囲】
【請求項1】
N個のモデルパラメータ要素の集合Θと選択サブセット候補とを入力として、
上記選択サブセット候補を空集合で初期化する初期化部と、
上記集合Θと上記選択サブセット候補を入力として、サブセット候補として選択サブセット候補と他のパラメータ要素との全ての組を出力する要素選択部と、
上記サブセット候補を入力として、当該サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、上記集合Θのスコア値である評価値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補として記憶するサブセット評価値記憶部と、
上記選択サブセット候補を、選択した順若しくはその逆順に配列した配列済みモデルパラメータを出力するパラメータ順位付け部と、
を具備するモデルパラメータ配列装置。
【請求項2】
N個のモデルパラメータ要素の集合Θと選択サブセット候補とを入力として、
上記選択サブセット候補を集合Θで初期化する初期化部と、
サブセット候補として選択サブセット候補に属する各モデルパラメータ要素を取り除いた全ての組を出力する要素選択部と、
上記サブセット候補を入力として、当該サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、上記集合Θのスコア値である評価値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補として記憶するサブセット評価値記憶部と、
上記選択サブセット候補を、選択した順若しくはその逆順に配列した配列済みモデルパラメータを出力するパラメータ順位付け部と、
を具備するモデルパラメータ配列装置。
【請求項3】
請求項1又は2に記載のモデルパラメータ配列装置において、
上記差分を求める距離関数に、最小二乗誤差の関数を用いたことを特徴とするモデルパラメータ配列装置。
【請求項4】
N個のモデルパラメータ要素の集合Θと選択サブセット候補とを入力として、
上記選択サブセット候補を空集合で初期化する初期化過程と、
上記集合Θと上記選択サブセット候補を入力として、サブセット候補として選択サブセット候補と他のパラメータ要素との全ての組を出力する要素選択過程と、
上記サブセット候補を入力として、当該サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、上記集合Θのスコア値である評価値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補として記憶するサブセット評価値記憶過程と、
上記選択サブセット候補を、選択した順若しくはその逆順に配列した配列済みモデルパラメータを出力するパラメータ順位付け過程と、
を備えるモデルパラメータ配列方法。
【請求項5】
N個のモデルパラメータ要素の集合Θと選択サブセット候補とを入力として、
上記選択サブセット候補を集合Θで初期化する初期化過程と、
サブセット候補として選択サブセット候補に属する各モデルパラメータ要素を取り除いた全ての組を出力する要素選択過程と、
上記サブセット候補を入力として、当該サブセット候補のそれぞれのスコアEの最大値若しくは最小値と、上記集合Θのスコア値である評価値Eとの差分を求め、その差分が最小若しくは最大となるサブセット候補を選択サブセット候補として記憶するサブセット評価値記憶過程と、
上記選択サブセット候補を、選択した順若しくはその逆順に配列した配列済みモデルパラメータを出力するパラメータ順位付け過程と、
を備えるモデルパラメータ配列方法。
【請求項6】
請求項4又は5に記載のモデルパラメータ配列方法において、
上記差分を求める距離関数に、二乗誤差の関数を用いたことを特徴とするモデルパラメータ配列方法。
【請求項7】
請求項1乃至3の何れかに記載したモデルパラメータ配列装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−8200(P2013−8200A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−140450(P2011−140450)
【出願日】平成23年6月24日(2011.6.24)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(504157024)国立大学法人東北大学 (2,297)
【Fターム(参考)】