(57)【要約】【課題】認識精度が高いパラメータを得ることができるパーセプトロン学習装置を提供する。【解決手段】正解系列から得られる素性と、仮説から得られる素性との相互において単語の不一致の発生率に対応した値を持つ評価関数Ｓを求め、この評価関数により正解系列から得られた素性の値と、仮説から得られた素性の値に重み付けを施し、重み付けされた素性の値によってパラメータα(ｊ)の値を更新し、重み付けされたパラメータα(ｊ)の値を用いてパーセプトロンアルゴリズム解析を行い、最も大きいスコア値を示す仮説を検出し、最も大きいスコア値を示す仮説から最適なパラメータα(ｊ)の値を学習する。【選択図】図１
2008210242.tif 000002
【特許請求の範囲】
【請求項１】
正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力手段と、
パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定手段と、
前記データ入力手段により取り込まれた正解系列及びそれに対応する仮説系列とから素性値を算出する素性値算出手段と、
前記パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段と、
前記正解系列からみた前記スコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、前記スコアを最大化する仮説からみた前記正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出手段と、
前記素性値算出手段で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、前記評価関数算出手段で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新手段と、
前記パーセプトロンアルゴリズム解析手段の解析処理と、前記パラメータ更新手段の更新処理とを全学習データに対して再帰的に実行させるループ制御手段と、
を備える構成としたことを特徴とするパーセプトロン学習装置。
【請求項２】
請求項１記載のパーセプトロン学習装置において、前記評価関数を表す差分は、前記正解系列と前記スコアを最大化する仮説との間の相対的な識別誤り率によって定めることを特徴とするパーセプトロン学習装置。
【請求項３】
請求項１記載のパーセプトロン学習装置において、前記評価関数を表す差分は、前記正解系列と前記スコアを最大化する仮説との間の相対的な識別誤り数によって定めることを特徴とするパーセプトロン学習装置。
【請求項４】
正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力処理と、
パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定処理と、
前記データ入力処理により取り込まれた正解系列及びそれに対応する仮説系列とから素性値を算出する素性値算出処理と、
前記パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析処理と、
前記正解系列からみた前記スコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、前記スコアを最大化する仮説からみた前記正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出処理と、
前記素性値算出処理で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、前記評価関数算出処理で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新処理と、
前記パーセプトロンアルゴリズム解析処理の解析処理と、前記パラメータ更新処理の更新処理とを全学習データに対して再帰的に実行するループ制御処理と、
を含むことを特徴とするパーセプトロン学習装置におけるパラメータ学習方法。
【請求項５】
コンピュータが解読可能なプログラム言語によって記述され、コンピュータに請求項１乃至３の何れかに記載のパーセプトロン学習装置として機能させるパーセプトロン学習プログラム。
【請求項６】
コンピュータが読み取り可能な記録媒体によって構成され、この記録媒体に請求項５記載のパーセプトロン学習プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はパターン識別に用いられるパーセプトロン学習装置、パーセプトロン装置におけるパラメータ学習方法、パーセプトロン学習プログラム、記録媒体に関する。
【背景技術】
【０００２】
従来よりパターン識別（図形の識別、単語列の認識等）の分野でパーセプトロン装置が広く用いられている（非特許文献１）。系列の識別に広く用いられているパーセプトロンアルゴリズムでは、素性系列上での識別学習が行われる。
素性系列は識別対象となる系列から抽出されるベクトルである。つまり、パーセプトロンアルゴリズムは、識別対象の系列ではなく、素性系列の識別誤りが小さくなるようにパラメータの学習を行なっている。
【０００３】
図４に従来のパーセプトロン学習装置の構成を示す。１０−１は従来のパーセプトロン学習装置を示す。ここでは単語列を入力系列として学習する場合を例示して説明する。従来のパーセプトロン学習装置１０−１は例えば音声認識において入力音声の正解単語列（もしくは最も正解単語列に近い仮説）を正解系列yKとし、これに対応する他の仮説系列を学習データとして読み込むデータ入力手段１１と、パーセプトロンアルゴリズムに用いられているパラメータαの全ての値を初期値、例えばα＝{０}に設定するパラメータ初期設定手段１２と、データ入力手段１１に取り込まれた正解系列yK及びそれに対応する仮説系列から素性値を算出する素性値算出手段１３と、ある仮説から得られた素性値とパラメータαの積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段１５と、素性値算出手段１３で算出した素性値φ(yK,i,j)とφ(zK*,i,j)を用いてパラメータαの値を更新するパラメータ更新手段１７−１と、データ入力手段１１に取り込んだ学習データの全てについて学習したか否かを判定し、学習データの全てに関して再帰的に学習を実行させるループ制御手段１８とによって構成され、その学習結果としてパラメータαを出力する。
【０００４】
図５にパーセプトロン学習装置１０−１の処理手順を説明するためのフローチャートを示す。
【０００５】
ステップSP5-1で学習データ入力手段１１が学習データを取り込む。
【０００６】
ステップSP5-2でパラメータ初期設定手段１２がパラメータαの全ての値を初期値α＝{０}に設定する。
【０００７】
ステップSP5-3で素性値算出手段１３はデータ入力手段１１に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する。
【０００８】
ステップSP5-4でパーセプトロンアルゴリズム解析手段１５がパラメータαが与えられた条件の基で、ある仮説から得られた素性との累積加算値で与えられたスコアを最大化する仮説zK*を求める。
【０００９】
ステップSP5-5でパラメータ更新手段１７−１は素性値φ(yK,i,j)とφ(zK*,i,j)を用いてパラメータαの値を更新する。
【００１０】
ステップSP5-6でループ制御手段１８は学習データの中の全ての仮説について学習を実行したか否かを判定し、学習が未である仮説が存在すれば再度ステップSP5-4に戻りパラメータαの更新を繰り返す。全ての仮説に関して処理が完了すると、予め設定した学習の繰り返し回数Ｔに達したか否かをステップSP5-7で判定し、学習の繰り返し回数がＴ回に達した時点で学習を終了する。
【００１１】
図６に図５に示した処理手順を実行するためのプログラムの記載例を示す。Ｌ−１は学習データの読み込みを実行する行、行Ｌ−２はパラメータαの初期化処理を行なう行、行Ｌ−４はＴ回の学習繰り返しを制御する行、行Ｌ−５は全Ｋ組の学習用データを順次適用する行、行Ｌ−６はパーセプトロンアルゴリズムの解析処理を実行する行である。この行Ｌ−６でスコアが最大化される仮説zK*が求められる。行Ｌ−７に示される各素性のインデックスｊに対し、行Ｌ−８でパラメータα（ｊ）の更新処理を実行する。
【００１２】
ここで素性値算出手段１３で実行する素性値算出方法について説明する。
ある仮説Ｗ＝“おーい＿お茶＿ちょうだい”が与えられたとする。このとき単語の１〜３個の並びを抽出すると、“おーい”、“お茶”、“おーい＿お茶”、“ちょうだい”、“お茶＿ちょうだい”、“おーい＿お茶＿ちょうだい”が得られる。ここで素性値をその単語の並びが得られたか否かで「１」または「０」の２値で表すと、この例の場合、“おーい＿お茶”に対応する素性値φはφ(W,i=2,j=おーい＿お茶)=1となる。“おーい＿おじや”に対応する素性値φはφ(W,i=2,j=おーい＿おじや)=0である。ここでiは素性が得られた位置、ｊは素性を表すインデックスを表わす。
位置iにおける素性の例:(位置i-2から位置iの単語3つの組)、(位置i-1から位置iの単語２つの組)、(位置iの単語)
【００１３】
【表１】
2008210242.tif 000003
位置i=5における素性は｛(の+親+は),(親+は),(は)｝となる。
【００１４】
図４に示したパラメータ更新手段１７−１、図５に示したステップSP5-6で行われるパラメータ更新処理は図６に示す行L-8から明らかなように正解系列yKと仮説zK*の双方に素性が存在するとき、更新値は「０」となり、パラメータα(ｊ)の値は更新されない。正解系列yKにのみ素性が存在した場合は更新値は「＋１」となり、パラメータα(ｊ)の値は＋１されプラス値側に更新される。仮説zK*のみに素性が存在する場合は更新値は「−１」となり、パラメータα(ｊ)の値は−１されマイナス値側に更新される。ただし、実際の学習時には学習率η（＞０）を乗じ、±ηずつ更新される場合もある。パラメータα(ｊ)の値は６行目のパーセプトロンアルゴリズム解析時に利用され素性値φ(zK,i,j)とパラメータα(ｊ)との積の累計加算値が最大となる仮説zK*を求め、この条件を満たすパラメータα(ｊ)の値を学習値として保存し、パターン識別時に利用する。
【００１５】
実際のパターン識別時には、得られたパラメータαを直接利用するのではなく、平均パラメータαave(ｊ)=Σk,tαkt(ｊ)/KTを用いた方がテストセットに対し頑健で精度良く解析できることが知られている。ただし、αkt(ｊ)は、t番目のループにおいて、ｋ番目のデータを学習し終えた際のパラメータα(ｊ)である。
【非特許文献１】Michael Collins. “Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms,” Proceedings of the Conference on Empirical Methods for Natural Language Processing, pp. 1-8. 2002.
【発明の開示】
【発明が解決しようとする課題】
【００１６】
従来のパーセプトロンアルゴリズムでは、各系列から得られる素性系列の差が小さくなるように学習されているが、この学習方法によれば識別対象の系列ではなく、素性系列の識別誤りが小さくなるように学習を行なうことになる。この学習方法によれば素性系列の各要素の識別に関わる影響力を直接的に考慮することができないことになり、識別問題の解法として妥当ではない。
【００１７】
この発明の目的は識別対象となる系列の識別誤り率を小さくするこように学習を行ない、正当な識別問題の解法を提供しようとするものである。
【課題を解決するための手段】
【００１８】
この発明では正解系列からみた系列のスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び系列のスコアを最大化する仮説からみた正解系列との差分を表わす評価関数S(zK*,i,j)を算出する評価関数算出手段を設け、この評価関数算出手段で算出した評価関数を素性値に乗算し、評価関数により素性値に重み付けを行ない、パラメータα(ｊ)の更新値に修正を加え、パラメータα(ｊ)の学習を適正に行わせるように構成する。
【００１９】
具体的にはこの発明によるパーセプトロン学習装置は正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力手段と、パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定手段と、データ入力手段に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する素性値算出手段と、パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段と、正解系列からみたスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、スコアを最大化する仮説からみた正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出手段と、素性値算出手段で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、評価関数算出手段で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新手段と、パーセプトロンアルゴリズム解析手段の解析処理と、パラメータ更新手段の更新処理とを全学習データに対して再帰的に実行させるループ制御手段とを備える構成とした。
【００２０】
この発明によるパーセプトロン学習装置は更に前記記載のパーセプトロン学習装置において、評価関数を表す差分は、正解系列とスコアを最大化する仮説との間の相対的な識別誤り率によって定めることを特徴とする。
更に、この発明によるパーセプトロン学習装置は更に前記記載のパーセプトロン学習装置において、評価関数を表す差分は、正解系列とスコアを最大化する仮説との間の相対的な識別誤り数によって定めることを特徴とする。
【００２１】
この発明によるパーセプトロン学習装置におけるパラメータ学習方法は、正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力処理と、パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定処理と、データ入力処理に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する素性値算出処理と、パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析処理と、正解系列からみたスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、スコアを最大化する仮説からみた正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出処理と、素性値算出処理で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、評価関数算出処理で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新処理と、パーセプトロンアルゴリズム解析処理の解析処理と、パラメータ更新処理の更新処理とを全学習データに対して再帰的に実行するループ制御処理とを含むことを特徴とする。
【発明の効果】
【００２２】
図７に図８に示す実験条件に従って従来のパーセプトロン学習方法で学習したパラメータを利用してパターン認識を行った場合の単語誤り率と、同様に図８に示す実験条件に従って本発明によるパーセプトロン学習装置で学習したパラメータを利用してパターン認識を行った場合の、単語誤り率を示す。図７に示す曲線Ａは従来技術による単語誤り率、曲線Ｂはこの発明による単語誤り率を示す。尚、図７において、横軸λは後に説明するスケーリングパラメータを示す。図７から明らかなようにこの発明によるパーセプトロン学習装置で学習したパラメータα(ｊ)を用いることにより低い単語誤り率を得ることができた。この結果認識性能の高い音声認識装置、或いはパターン認識装置等を構成することができる利点が得られる。
【発明を実施するための最良の形態】
【００２３】
この発明によるパーセプトロン学習装置は全体をハードウェアによって構成することもできるが、最も簡素に実現するにはコンピュータにこの発明によるパーセプトロン学習プログラムをインストールし、コンピュータをパーセプトロン学習装置として機能させる実施形態が最良である。
【００２４】
コンピュータにこの発明によるパーセプトロン学習装置として機能させた場合、コンピュータにはコンピュータにインストールしたパーセプトロン学習プログラムにより正解系列と、それに対応する仮説系列の集合の組を学習データとして取り組むデータ入力手段と、パーセプトロンアルゴリズムに用いられるパラメータαの値を初期設定するパラメータ初期設定手段と、データ入力手段に取り込まれた正解系列と、それに対応する仮説系列から素性値を算出する素性値算出手段と、パラメータαが与えられた条件の基で、ある仮説から得られた素性値との積和で与えられるスコアを最大化する仮説zK*を求めるパーセプトロンアルゴリズム解析手段と、正解系列からみたスコアを最大化する仮説との差分を表す評価関数S(yK,i,j)及び、スコアを最大化する仮説からみた正解系列との差分を表す評価関数S(zK*,i,j)を算出する評価関数算出手段と、素性値算出手段で算出した素性値φ(yK,i,j)とφ(zK*,i,j)にそれぞれ、評価関数算出手段で算出した評価関数S(yK,i,j)及びS(zK*,i,j)を乗算し、重み付けされたパラメータαの値を更新するパラメータ更新手段と、パーセプトロンアルゴリズム解析手段の解析処理と、パラメータ更新手段の更新処理とを全学習データに対して再帰的に実行させるループ制御手段とを構築し、コンピュータをパーセプトロン学習装置として機能させる実施形態が採られる。
【実施例１】
【００２５】
図１にこの発明によるパーセプトロン学習装置１０−２の実施例を示す。この発明によるパーセプトロン学習装置１０−２の特徴とする構成はパーセプトロンアルゴリズム解析手段１５の後段に評価関数算出手段１６を設けた点と、この評価関数算出手段１６で算出した評価関数を用いてパラメータ更新手段は、重み付けされたパラメータ更新処理を実行する重み付けパラメータ更新手段１７−２とした点である。
【００２６】
図２に示すフローチャートではステップＳＰ１−５で実行する評価関数算出処理と、ステップＳＰ１−６で実行する重み付け乗算に基づくパラメータαの更新処理に特徴を有する。その他の構成は図４に示した従来のパーセプトロン学習装置１０−１と、図５に示したフローチャートと同じであるから、ここではこの発明の特徴とする部分についてのみ説明することにする。
【００２７】
従来のパーセプトロンアルゴリズムでは単に素性系列の差を小さくするように学習していたが、しかし、識別対象となる系列とは異なるため、各素性が識別対象となる系列(xk,yk)の識別誤り率に対しどの程度影響するかを考慮し、この誤り率を小さくするように学習を行った方が、問題の性質を陽に表現しているといえる。
【００２８】
そこで、この発明では各素性の識別誤りへの影響力を表現する評価関数S(z,i,j)を導入し、評価関数Sを用いて素性値φに重み付けを施し、パラメータα(ｊ)の更新値に修正を加える。
ここで評価関数算出手段１４で実行する評価関数の算出方法について説明する。この例では各素性の抽出範囲における正解系列ykと仮説zkとの相対的な単語不一致数にしたがって評価関数Sを算出する例を示す。
【００２９】
【表２】
2008210242.tif 000004
【００３０】
・正解系列ykの位置iyk=5における各素性の相対的な単語不一致数S(yk,i=5,(の+親+は))=2,S(yk,i=5,(親+は))=1,S(yk,i=5,(は))=1,
・  仮説zkの位置izk=4における各素性の相対的な単語不一致数S(zk,i=4,(私+親+と))=2,S(zk,i=4,(親+と))=1,S(zk,i=4,(と))=1,
これらの単語不一致数Ｓが重み付けパラメータ更新手段１７−２に引き渡され、図３に示す行Ｌ−８で素性値φ(yk,i,j)とφ(zk*,i,j)のそれぞれに乗算され、重み付けされたパラメータα(ｊ)としてその数値を更新する。
重み付けされたパラメータα(ｊ)を行なう行Ｌ−８で実行するパーセプトロンアルゴリズム解析に用いることにより正解率の高い仮説を検出できることとなり、良質のパラメータα(ｊ)の学習効果を得ることができる。
【００３１】
上述では評価関数を正解系列と仮説との間の相対的な単語不一致数を基に算出したが、誤り率を用いることができる。誤り率とは先に説明した不一致の単語数と、素性抽出範囲の単語数との比で求めること等もできる。但し、評価関数Sを不一致の単語数で求める場合には整数演算のみで処理できるから、高速演算が可能であるが、単語の不一致発生率を基に評価関数Sを算出する場合には小数点を含む演算が必要となる不利益が発生する。
【００３２】
学習で得られたパラメータα(ｊ)の利用例
以下に学習で得られたパラメータα(ｊ)を用いたパーセプトロンアルゴリズムの利用例を説明する。ここでは音声認識結果の認識精度をパーセプトロンアルゴリズム解析によって更に高めることを目的とした利用方法について説明する。
音声認識装置では複数の仮説を出力する。各仮説には既に
【数１】
2008210242.tif 000005
が付されている。一般に音声認識装置はこの
【数２】
2008210242.tif 000006
が最も大きい仮説を最尤仮説とし、認識結果として出力している。
パーセプトロンアルゴリズムを適用する場合、各仮説に付加されている
【数３】
2008210242.tif 000007
をパーセプトロンアルゴリズム解析によりリスコアし、リスコアの結果最も大きいスコアが得られる仮説を最終的な認識結果とするものである（参考文献１）。
【００３３】
つまり、
【数４】
2008210242.tif 000008
となる仮説zK*を最終認識結果とする。λは音声認識の
【数５】
2008210242.tif 000009
とパーセプトロンのスコアΣi,jφ(zK,i,j)・α(ｊ)のスケーリングを調整するパラメータであり、図７の横軸に付したスケーリングパラメータである。図７に示した例ではこのλの値を変化させ、リスコアの精度を評価する。この発明では単語誤り率がスケーリングパラメータλの値の変化に対して鋭敏である。これはこの発明において評価関数S(z,i,j)の値が大きい場合にパーセプトロンのパラメータαの値が大きく振れるため、一部のデータサンプルにオーバーフィッティングする可能性があり、その影響であると考えられる。そのための学習データが少ない場合に、従来のパーセプトロンアルゴリズムを採用した場合より単語誤り率が高くなる可能性もある。しかしながら充分なデータ量を確保できれば図７に示した結果のように単語誤り率をさらに改善することができる。
【００３４】
参考文献１  Brian Roark, Murat Saraclar, Michael Collins “Corrective Language Modeling for Large Vocablary ASR with the Perceptron Algorithm,” Proceedings of ICASSP, Vol.1, pp. 749-752. 2004.
参考文献2  Kikuo Maekawa, Hanae Koiso, Sadaoki Furui, Hitoshi Isahara. ”Spontaneous Speech Corpus of Japanese,”Proceedings of The Second International Conference on Language Resources and Evaluation,pp.947-952.2000
【産業上の利用可能性】
【００３５】
音声認識結果の更なる精度向上に活用することができる。
【図面の簡単な説明】
【００３６】
【図１】この発明によるパーセプトロン学習装置の一実施例を説明するためのブロック図。
【図２】この発明によるパーセプトロン学習装置におけるパラメータ学習方法の手順を説明するためのフローチャート。
【図３】この発明によるパーセプトロン学習プログラムの概要を説明するための図。
【図４】従来のパーセプトロン学習装置を説明するためのブロック図。
【図５】従来のパーセプトロン学習装置におけるパラメータ学習方法の手順を説明するためのフローチャート。
【図６】従来のパーセプトロン学習プログラムの概要を説明するための図。
【図７】この発明の効果を説明するための実験例を示すグラフ。
【図８】図７に示した実験結果の実験条件を説明するための図。
【符号の説明】
【００３７】
１０−１    従来のパーセプトロン学習装置              
１０−２    この発明によるパーセプトロン学習装置  
１１    データ入力手段                        
１２    パラメータ初期設定手段                            
１３    素性値算出手段                            
１５    パーセプトロンアルゴリズム解析手段
１６    評価関数算出手段
１７−１    パラメータ更新手段
１７−２    重み付きパラメータ更新手段
１８    ループ制御手段
【図１】
2008210242.tif 000010
【図２】
2008210242.tif 000011
【図３】
2008210242.tif 000012
【図４】
2008210242.tif 000013
【図５】
2008210242.tif 000014
【図６】
2008210242.tif 000015
【図７】
2008210242.tif 000016
【図８】
2008210242.tif 000017