(57)【要約】【課題】長い文脈や話題といった特徴を利用して誤り修正モデルのモデルパラメータを識別的かつ頑健に学習する。【解決手段】言語モデル学習部２３は、発話中の単語と前の発話から抽出した話題特徴量と前の単語の隠れ層の出力とを入力として後続の単語の接続確率を再帰的ニューラルネットワークにより算出する言語モデルを、静的なテキストデータから学習する。整列部３２は、音声データに対して正解単語列を整列し、正解単語列の各単語に対する再帰的ニューラルネットワークの隠れ層の出力を算出する。音声認識部３３は、音声データを音声認識し、音声認識結果の各単語に対する隠れ層の出力を算出する。誤り修正モデル学習部３５は、整列された正解単語列を構成する単語の言語的な特徴及び隠れ層の出力と音声認識結果を構成する単語の言語的な特徴及び隠れ層の出力とに基づいて、誤り修正モデルを統計的に学習する。【選択図】図２
2015075706.tif 000002
【特許請求の範囲】
【請求項１】
文書のテキストデータを記憶する言語資源記憶部と、
再帰的ニューラルネットワークの入力に、前記言語資源記憶部に記憶されている前記テキストデータにおける文章中の単語と、前記テキストデータにおける前記文章よりも前の文章から抽出した話題特徴量と、前記単語の前の単語について算出した前記再帰的ニューラルネットワークの隠れ層の出力とを用いて前記単語に後続する単語の接続確率を算出する言語モデルを学習する言語モデル学習部と、
音声データと正解単語列とを対応付けて記憶する音声資源記憶部と、
前記音声資源記憶部に記憶される前記音声データに対して前記正解単語列を整列し、整列した前記正解単語列を構成する各単語を、前記言語モデル学習部が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する整列部と、
前記音声資源記憶部に記憶されている前記音声データを音声認識し、音声認識により得られた音声認識結果を構成する各単語を、前記言語モデル学習部が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する音声認識部と、
整列された前記正解単語列に含まれる単語と前記音声認識結果に含まれる単語とから言語的な特徴を抽出する素性定義部と、
隠れ層の出力及びモデルパラメータにより重み付けした言語的な特徴を用いて音声認識のスコアを修正するための誤り修正モデルを、整列された前記正解単語列を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴と、前記音声認識結果を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴とに基づいて学習する誤り修正モデル学習部と、
を備えることを特徴とする誤り修正モデル学習装置。
【請求項２】
前記誤り修正モデル学習部は、前記音声データが与えられたときの前記正解単語列の事後確率と前記音声認識結果の事後確率との差分により定められる評価関数が最大となるように前記モデルパラメータを統計的に算出する、
ことを特徴とする請求項１に記載の誤り修正モデル学習装置。
【請求項３】
前記再帰的ニューラルネットワークに単語とともに入力される前記話題特徴量は、当該単語が含まれる発話または文章よりも前の発話または文章に含まれる各単語の出現頻度から統計的な次元圧縮手法により抽出される、
ことを特徴とする請求項１または請求項２に記載の誤り修正モデル学習装置。
【請求項４】
前記言語資源記憶部が記憶するテキストデータは、ニュース原稿のテキストデータ、または、ウェブ上のテキストデータである、
ことを特徴とする請求項１から請求項３のいずれか１項に記載の誤り修正モデル学習装置。
【請求項５】
前記言語的な特徴は、単語あるいは単語の品詞であり、
前記誤り修正モデルは、前記言語的な特徴に基づく素性関数の値を、前記再帰的ニューラルネットワークの隠れ層の出力及び前記素性関数のモデルパラメータにより重み付けして得られたスコアにより音声認識のスコアを修正する算出式である、
ことを特徴とする請求項１から請求項４のいずれか１項に記載の誤り修正モデル学習装置。
【請求項６】
入力された音声データを、音響モデルと前記言語モデル学習部により学習された前記言語モデルとを用いて音声認識し、前記誤り修正モデル学習部により学習された前記誤り修正モデルにより、入力された前記音声データから得られた音声認識結果の選択における誤りを修正して出力する入力音声認識部をさらに備える、
ことを特徴とする請求項１から請求項５のいずれか１項に記載の誤り修正モデル学習装置。
【請求項７】
コンピュータを、
再帰的ニューラルネットワークの入力に、言語資源記憶手段に記憶されているテキストデータにおける文章中の単語と、前記テキストデータにおける前記文章よりも前の文章から抽出した話題特徴量と、前記単語の前の単語について算出した前記再帰的ニューラルネットワークの隠れ層の出力とを用いて前記単語に後続する単語の接続確率を算出する言語モデルを学習する言語モデル学習手段と、
音声資源記憶手段に音声データと対応付けて記憶される正解単語列を、前記音声データに対して整列し、整列した前記正解単語列を構成する各単語を、前記言語モデル学習手段が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する整列手段と、
前記音声資源記憶手段に記憶されている前記音声データを音声認識し、音声認識により得られた音声認識結果を構成する各単語を、前記言語モデル学習手段が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する音声認識手段と、
整列された前記正解単語列に含まれる単語と前記音声認識結果に含まれる単語とから言語的な特徴を抽出する特徴量抽出手段と、
隠れ層の出力及びモデルパラメータにより重み付けした言語的な特徴を用いて音声認識のスコアを修正するための誤り修正モデルを、整列された前記正解単語列を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴と、前記音声認識結果を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴とに基づいて学習する誤り修正モデル学習手段と、
を具備する誤り修正モデル学習装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誤り修正モデル学習装置、及びプログラムに関する。
【背景技術】
【０００２】
音声認識の誤り修正については、音声とその書き起こし（正解文）から、言語的な特徴を用いて音声認識の誤り傾向を統計的に学習し、学習の結果得られた統計的な誤り修正モデルを用いて音声認識の性能改善を図る技術がある（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】小林ほか，「単語誤り最小化に基づく識別的スコアリングによるニュース音声認識」，電子情報通信学会論文誌  Ｄ，電子情報通信学会，２０１０年，vol.J93-D No.5，ｐ．５９８−６０９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
音声認識で用いられる誤り修正モデルでは、音声認識の誤り傾向を学習するために、比較的短い文脈（２単語あるいは３単語連鎖）を特徴として用いる。また、誤り修正モデルのモデルパラメータの学習には、ニュース原稿やウェブテキストなどの静的なテキストではなく、音声とその書き起こしおよび音声認識結果が用いられる。このため、学習データを大量に収集することが困難であり、長い文脈を利用することは、モデルの統計的頑健性の観点から困難である。
【０００５】
しかし、音声言語を含む自然言語では、単語の出現は直前の単語から構成される文脈に依存するだけではなく、より長い文脈や話題などの要因にも影響される。音声認識誤りの訂正能力が高い誤り修正モデルを学習するには、これまでのように単純な文脈を利用するだけではなく、より多数の単語から構成される文脈や、話題などの情報を利用する必要がある。
【０００６】
本発明は、このような事情を考慮してなされたもので、長い文脈や話題といった特徴を利用して誤り修正モデルのモデルパラメータを識別的かつ頑健に学習する誤り修正モデル学習装置、及びプログラムを提供する。
【課題を解決するための手段】
【０００７】
［１］  本発明の一態様は、文書のテキストデータを記憶する言語資源記憶部と、再帰的ニューラルネットワークの入力に、前記言語資源記憶部に記憶されている前記テキストデータにおける文章中の単語と、前記テキストデータにおける前記文章よりも前の文章から抽出した話題特徴量と、前記単語の前の単語について算出した前記再帰的ニューラルネットワークの隠れ層の出力とを用いて前記単語に後続する単語の接続確率を算出する言語モデルを学習する言語モデル学習部と、音声データと正解単語列とを対応付けて記憶する音声資源記憶部と、前記音声資源記憶部に記憶される前記音声データに対して前記正解単語列を整列し、整列した前記正解単語列を構成する各単語を、前記言語モデル学習部が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する整列部と、前記音声資源記憶部に記憶されている前記音声データを音声認識し、音声認識により得られた音声認識結果を構成する各単語を、前記言語モデル学習部が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する音声認識部と、整列された前記正解単語列に含まれる単語と前記音声認識結果に含まれる単語とから言語的な特徴を抽出する素性定義部と、隠れ層の出力及びモデルパラメータにより重み付けした言語的な特徴を用いて音声認識のスコアを修正するための誤り修正モデルを、整列された前記正解単語列を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴と、前記音声認識結果を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴とに基づいて学習する誤り修正モデル学習部と、を備えることを特徴とする誤り修正モデル学習装置である。
この発明によれば、誤り修正モデル学習装置は、静的なテキストにおける文章中の単語と、この文章よりも前の文章から抽出した話題特徴量と、前の単語について算出した隠れ層の出力とを入力として後続する単語の接続確率を再帰的ニューラルネットワークにより算出する言語モデルを学習する。誤り修正モデル学習装置は、学習データとして用意された音声データ及び正解単語列を音声資源記憶部から読み出すと、音声データに対して正解単語列を整列し、学習した言語モデルを用いて、正解単語列を構成する各単語を入力としたときの再帰的ニューラルネットワークの隠れ層の出力を算出する。さらに、誤り修正モデル学習装置は、学習データの音声データを音声認識し、学習した言語モデルを用いて、音声認識結果を構成する各単語を入力としたときの再帰的ニューラルネットワークの隠れ層の出力を算出する。誤り修正モデル学習装置は、隠れ層の出力及びモデルパラメータにより重み付けした言語的な特徴を用いて音声認識のスコアを修正するための誤り修正モデルを、整列された正解単語列を構成する各単語について算出された隠れ層の出力により重み付けした当該単語の言語的な特徴と、音声認識結果を構成する各単語について算出された隠れ層の出力により重み付けした当該単語の言語的な特徴とに基づいて学習する。
これにより、誤り修正モデル学習装置は、発話に含まれる単語に加えて、１つ前の単語の隠れ層の出力と、前の発話から得られた話題特徴量を入力に用いる再帰的ニューラルネットワークを学習に利用するため、従来よりも長い文脈および話題を考慮した誤り修正モデルを学習することができる。また、誤り修正モデル学習装置は、大量に入手しやすいテキストデータを誤り修正モデルの学習の一部に用いているため、統計的に頑健な誤り修正モデルを学習することができる。
【０００８】
［２］  本発明の一態様は、上述する誤り修正モデル学習装置であって、前記誤り修正モデル学習部は、前記音声データが与えられたときの前記正解単語列の事後確率と前記音声認識結果の事後確率との差分により定められる評価関数が最大となるように前記モデルパラメータを統計的に算出する、ことを特徴とする。
この発明によれば、誤り修正モデル学習装置は、音声データが与えられたときの正解単語列の事後確率と音声認識結果の事後確率との差分として定められる評価関数に基づいて、誤り修正モデルのモデルパラメータを統計的に算出する。
これにより、誤り修正モデル学習装置は、正解単語列の事後確率が高くなるように認識誤りの傾向を効率的に学習し、誤り修正モデルを生成することができる。
【０００９】
［３］  本発明の一態様は、上述する誤り修正モデル学習装置であって、前記再帰的ニューラルネットワークに単語とともに入力される前記話題特徴量は、当該単語が含まれる発話または文章よりも前の発話または文章に含まれる各単語の出現頻度から統計的な次元圧縮手法により抽出される、ことを特徴とする。
この発明によれば、誤り修正モデル学習装置は、話題特徴量を、再帰的ニューラルネットワークに入力される単語が含まれる発話または文章よりも前の発話または文章に含まれる各単語の出現頻度から統計的な次元圧縮手法により抽出する。
これにより、誤り修正モデル学習装置は、再帰的ニューラルネットワークに入力される単語が含まれる発話または文章より前の発話または文章から得られる単語行列を低次元の因子に圧縮した表現により話題特徴量を抽出するため、データスパースネスに対して頑健な言語モデルを学習することができる。
【００１０】
［４］  本発明の一態様は、上述する誤り修正モデル学習装置であって、前記言語資源記憶部が記憶するテキストデータは、ニュース原稿のテキストデータ、または、ウェブ上のテキストデータである、ことを特徴とする。
この発明によれば、誤り修正モデル学習装置は、ニュース原稿のテキストデータ、または、ウェブ上のテキストデータから言語モデルを学習する。
これにより、誤り修正モデル学習装置は、比較的大量に入手可能なテキストを誤り修正モデルの学習の一部に用いるため、誤り修正モデルの頑健性が向上することに加え、データスパースネスの問題も回避することができる。
【００１１】
［５］  本発明の一態様は、上述する誤り修正モデル学習装置であって、前記言語的な特徴は、単語あるいは単語の品詞であり、前記誤り修正モデルは、前記言語的な特徴に基づく素性関数の値を、前記再帰的ニューラルネットワークの隠れ層の出力及び前記素性関数のモデルパラメータにより重み付けして得られたスコアにより音声認識のスコアを修正する算出式である、ことを特徴とする。
この発明によれば、誤り修正モデル学習装置は、単語あるいは単語の品詞を言語的な特徴として抽出する。誤り修正モデル学習装置は、言語的な特徴に基づく素性関数の値と、再帰的ニューラルネットワークの隠れ層の出力及び素性関数のモデルパラメータとを用いて音声認識のスコアを修正する算出式である誤り修正モデルを、整列された正解単語列の素性関数の値を当該正解単語列について算出された隠れ層の出力により重み付けした値と、音声認識結果の素性関数の値を当該音声認識結果について算出された隠れ層の出力により重み付けした値とに基づいて学習する。
これにより、誤り修正モデル学習装置は、単語あるいは単語の品詞に基づいて認識誤り傾向を効率的に学習し、認識誤りを精度よく修正する誤り修正モデルを生成することができる。
【００１２】
［６］  本発明の一態様は、上述する誤り修正モデル学習装置であって、入力された音声データを、音響モデルと前記言語モデル学習部により学習された前記言語モデルとを用いて音声認識し、前記誤り修正モデル学習部により学習された前記誤り修正モデルにより、入力された前記音声データから得られた音声認識結果の選択における誤りを修正して出力する入力音声認識部をさらに備える、ことを特徴とする。
この発明によれば、誤り修正モデル学習装置は、音声データを音声認識することにより得られた正解候補の中から、誤り修正モデルを用いて音声認識結果を選択する。
これにより、誤り修正モデル学習装置は、入力された音声データに対して、認識率のよい音声認識結果を得ることができる。
【００１３】
［７］  本発明の一態様は、コンピュータを、再帰的ニューラルネットワークの入力に、言語資源記憶手段に記憶されているテキストデータにおける文章中の単語と、前記テキストデータにおける前記文章よりも前の文章から抽出した話題特徴量と、前記単語の前の単語について算出した前記再帰的ニューラルネットワークの隠れ層の出力とを用いて前記単語に後続する単語の接続確率を算出する言語モデルを学習する言語モデル学習手段と、音声資源記憶手段に音声データと対応付けて記憶される正解単語列を、前記音声データに対して整列し、整列した前記正解単語列を構成する各単語を、前記言語モデル学習手段が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する整列手段と、前記音声資源記憶手段に記憶されている前記音声データを音声認識し、音声認識により得られた音声認識結果を構成する各単語を、前記言語モデル学習手段が学習した前記言語モデルの入力としたときの前記再帰的ニューラルネットワークの隠れ層の出力を算出する音声認識手段と、整列された前記正解単語列に含まれる単語と前記音声認識結果に含まれる単語とから言語的な特徴を抽出する特徴量抽出手段と、隠れ層の出力及びモデルパラメータにより重み付けした言語的な特徴を用いて音声認識のスコアを修正するための誤り修正モデルを、整列された前記正解単語列を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴と、前記音声認識結果を構成する各単語について算出された前記隠れ層の出力により重み付けした当該単語の前記言語的な特徴とに基づいて学習する誤り修正モデル学習手段と、を具備する誤り修正モデル学習装置として機能させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、長い文脈や話題といった特徴を利用して誤り修正モデルのモデルパラメータを識別的かつ頑健に学習することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態によるニューラルネットワークを示す図である。
【図２】同実施形態による誤り修正モデル学習装置の構成を示す機能ブロック図である。
【図３】同実施形態による誤り修正モデル学習装置の全体処理フローを示す図である。
【図４】同実施形態による誤り修正モデル学習部が実行する誤り修正モデル学習処理の処理フローを示す。
【図５】同実施形態による音声認識における単語仮説の展開を示す図である。
【図６】同実施形態による拡張されたノードデータのデータ構造体を示す図である。
【図７】ニューラルネットワークを示す図である。
【図８】拡張した再帰的ニューラルネットワークを示す図である。
【図９】図８に示す拡張した再帰的ニューラルネットワークにおける特徴量の関係を示す図である。
【図１０】図８に示す拡張した再帰的ネットワークのフィードフォワード型ニューラルネットワークへの展開を示す図である。
【図１１】従来の音声認識におけるノードデータのデータ構造体を示す図である。
【発明を実施するための形態】
【００１６】
［１．  本実施形態の概要］
音声認識の誤り傾向を反映した、いわゆる誤り修正モデルがすでに提案されている。誤り修正モデルのモデルパラメータは、音声認識結果と正解単語列とからなる学習データに基づいて推定される。しかし、実際の音声認識では、学習データと音声認識の対象が、それらの話題性において完全に適合することは多くない。このような話題性が完全に一致しない学習データに基づいて学習した誤り修正モデルを利用して音声認識を行っても、その音声認識の性能は、音声認識の対象となる発話の内容に対して必ずしも最適とはいえない。また、誤り修正モデルでは、通常２〜３単語連鎖程度の比較的短い単語列（文脈）に基づく特徴を利用しているが、音声言語を含む自然言語では、文中の単語の依存関係は、より長い文脈に基づいていると考えられる。
【００１７】
高い音声認識性能を目指すには、話題に合致し、かつ３単語連鎖以上の長い文脈依存性を考慮した誤り修正モデルを学習する必要がある。しかし、誤り修正モデルの学習では、大量の音声データとその書き起こしである正解単語列が必要となるため、長距離文脈や話題を利用したモデルを頑健に推定することは、データ収集のコストの面から困難であった。
【００１８】
そこで、本実施形態では、話題と長距離文脈の両者を利用した誤り修正モデルを実現する。本実施形態の特徴は、第１に、誤り修正モデルのモデルパラメータの推定の一部を、ニュース原稿やウェブテキストなどの静的なテキストから行う点であり、第２に、話題と長距離文脈の特徴を反映した誤り修正モデルを学習するという点である。比較的大量に入手可能なテキストを、誤り修正モデルのモデルパラメータの推定の一部に用いることにより、モデルの頑健性が向上することに加え、データスパースネスの問題も回避することが期待できる。さらには、本実施形態では、話題と長距離文脈を利用した誤り修正モデルの音声認識への適用手法についても説明する。
【００１９】
［２．  誤り修正モデルの学習アルゴリズム］
本実施形態の誤り修正モデル学習装置は、音声認識の誤りを修正する統計的な誤り修正モデルのパラメータを、長い文脈や話題といった特徴を利用して識別的かつ頑健に学習し、音声認識に適用する。これにより、誤り修正モデルを発話内容に適合させ、音声認識性能を改善する。以下、本実施形態の誤り修正モデル学習装置に適用する誤り修正モデルの学習アルゴリズムについて説明する。
【００２０】
［２．１  従来法の誤り修正モデル］
ベイズの定理によれば、音声入力ｘが与えられたとき、この音声入力ｘに対して最も尤もらしい単語列ｗ＾（「＾」は、「ハット」を表す。）は、以下の式（１）により求めることができる。
【００２１】
【数１】
2015075706.tif 000003
【００２２】
音声入力ｘ及び単語列ｗは、例えば、発話の単位に対応し、Ｐ（ｗ｜ｘ）は、音声入力ｘが与えられたときに単語列（文仮説）ｗが得られる事後確率である。
また、Ｐ（ｘ｜ｗ）は、単語列ｗに対する音響的な尤もらしさを示す尤度であり、対数尤度として定義される音響スコアは隠れマルコフモデル（Hidden Markov Model、ＨＭＭ）及び混合ガウス分布（Gaussian Mixture Model、ＧＭＭ）に代表される統計的音響モデル（以下、「音響モデル」と記載する。）に基づいて計算される。言い換えれば、このスコアは、音響特徴量が与えられたとき、複数の正解候補の単語それぞれに対する尤もらしさを表す。
【００２３】
一方、Ｐ（ｗ）は、単語列ｗに対する言語的な生成確率であり、対数生成確率として定義される言語スコアは、単語ｎ−ｇｒａｍモデル等の統計的言語モデル（以下、「言語モデル」と記載する。）により計算される。言い換えれば、このスコアは、音声認識対象の単語の前または後の単語列、あるいは前後両方の単語列が与えられたとき、複数の正解候補の単語列それぞれに対する言語的な尤もらしさを表す。なお、単語ｎ−ｇｒａｍモデルは、Ｎ単語連鎖（Ｎは、例えば１、２、または３である。）の統計に基づいて、（Ｎ−１）単語の履歴から次の単語の生起確率を与えるモデルである。
【００２４】
式（１）のＰ（ｘ｜ｗ）Ｐ（ｗ）が最大の場合は、その対数も最大である。そこで、音声認識では、上記の式（１）のベイズの定理に基づいて、音声入力ｘが与えられたときの文仮説（正解候補）である単語列ｗの評価関数Ｄ（ｗ｜ｘ）を以下の式（２）のように定める。
【００２５】
【数２】
2015075706.tif 000004
【００２６】
式（２）が定められたとき、以下の式（３）に示すように、音声入力ｘに対する正解候補の単語列ｗの集合の中から、式（２）が示す評価関数Ｄ（ｗ｜ｘ）の結果が最大である単語列ｗ＾が、音声入力ｘの音声認識結果として選択される。ここで、κは、音響スコアに対する言語スコアの重みである。
【００２７】
【数３】
2015075706.tif 000005
【００２８】
従来法における誤り修正モデルでは、式（１）を以下の式（４）のように変更する。
【００２９】
【数４】
2015075706.tif 000006
【００３０】
式（４）においてｅｘｐΣｉλｉｇｉ（ｗ）は、単語列ｗの誤り傾向を反映したスコアであり、単語列ｗに対するペナルティもしくは報償として働く。また、ｇｉ（ｗ）（ｉ＝１，...，）はｉ番目の素性関数であり、モデルパラメータΛ＝｛λ１，...｝の要素λｉは素性関数ｇｉ（ｗ）に対する重み（素性重み）である。素性関数は、与えられた単語列（ここでは、単語列ｗ）で言語的ルールが成立すればその数となり、成立しなければ０となるような関数として定められる。これら素性関数ｇｉの例として、以下などがあげられる。
【００３１】
（１）単語列ｗに連続する単語２項組（ｕ，ｖ）が含まれる場合、その数を返す関数
（２）単語列ｗに連続しない単語２項組（ｕ，ｖ）が含まれる場合、その数を返す関数
【００３２】
音声認識の誤り傾向は、素性関数と素性重みにより言語的な特徴に対するペナルティとして表現され、学習データの単語誤りを最小化する評価関数に基づいて推定される。モデルパラメータΛは、正解単語列および音声認識結果の集合を用いて推定されるが、通常、正解単語列が与えられた学習データを大量に収集することは、特にコストの面から困難である。そのため、従来法の誤り修正モデルでは、連続する単語２項組、３項組などの比較的短い文脈を素性として採用している。これは、より長い単語連鎖を素性としても、学習データのスパースネスが原因で統計的に頑健なモデルを学習できないことによる。
【００３３】
［２．２  本実施形態に適用される誤り修正モデルの学習アルゴリズム］
本実施形態では、従来法の課題を解決するために、再帰的ニューラルネットワークに基づいて、文脈および話題に関する特徴量を抽出し、誤り修正モデルのモデルパラメータを推定する。再帰的ニューラルネットワークでは、特徴量の次元圧縮が可能であるものの、ネットワークの層間を結ぶ多数のパラメータの推定には大量の学習データが必要となる。本実施形態では、パラメータの一部をニュース原稿などの静的なテキストから推定することにより、データスパースネスの問題を解決する。
【００３４】
図７は、ニューラルネットワークを示す図である。同図では、いわゆるElman型の再帰的ニューラルネットワーク（recurrent neural network）を示している。同図に示すニューラルネットワークは、入力層、隠れ層、及び出力層の３層から構成され、統計的言語モデルのケースでは、入力として単語を与えると、その単語に後続する単語の出現確率（接続確率）が出力される。ニューラルネットワークを用いた言語モデルの場合、語彙サイズをＮとすると、入力層はＮ個の素子からなる層であり、入力される単語は、その単語に該当するインデックスの素子（要素）のみに１が設定され、それ以外のインデックスの素子には０が設定された離散ベクトルとして定められる。隠れ層は、任意の数の素子により構成される層である。また、出力層はＮ個の素子からなる層であり、入力の単語に後続する単語の出現確率となる。ニューラルネットワークの隠れ層は、シグモイド関数により非線形変換されて出力層への入力となり、出力層は、確率の条件を満たすために、各素子の値の総和が１となるようにソフトマックス関数により正規化される。
【００３５】
従来のfeed-forward型のニューラルネットワークとは異なり、再帰的ニューラルネットワークでは、隠れ層の出力が入力層にフィードバックされる。フィードバックにより、再帰的ニューラルネットワークの出力は過去の隠れ層の系列に依存する。言語モデルであれば、出力である単語の確率分布は、過去の入力単語に依存することを意味する。つまり、再帰的に算出される隠れ層を入力に用いることで、長い文脈が考慮された単語の確率分布が出力される。
【００３６】
文献「T. Mikolov and G. Zweig, Context Dependent Recurrent Neural Network Language Model.Technical Report, NSR-TR-2012-92, Microsoft, 2012.」に記載の再帰的ニューラルネットワークの定義では、時刻ｔにおける入力層ｘｔ、隠れ層ｈｔ、及び出力層ｏｔはそれぞれ、以下の式（５）〜式（７）のようになる。
【００３７】
【数５】
2015075706.tif 000007
【００３８】
【数６】
2015075706.tif 000008
【００３９】
【数７】
2015075706.tif 000009
【００４０】
式（５）において、入力層ｘｔは、時刻ｔの単語ベクトルｗｔおよび１時刻前（ｔ−１）の隠れ層の出力ｈｔ−１からなるベクトルである。単語ベクトルｗｔのＮ個の要素は各単語に対応しており、該当する要素のみに１が設定され、それ以外の要素には０が設定される。単語ベクトルｗｔが表す単語を単語ｗｔとも記載する。式（６）において、Ｍｈは、入力層に対する重み係数行列であり、sigmoid(・)はベクトルの要素に対するシグモイド関数である。なお、隠れ層の要素（素子）数は任意であり、通常、入力層の要素数よりも小さい。式（７）において、Ｍｏは、隠れ層に対する重み係数（パラメータ）行列であり、softmax(・)は、出力層に対するソフトマックス関数である。出力層ｏｔは、単語ベクトルｗｔが表す単語に後続する単語の確率分布を表す。出力層ｏｔのＮ個の要素（素子）は、各単語に対応しており、その要素に対応する単語の事後確率を表す。
【００４１】
上述の再帰的ニューラルネットワークに基づく統計的言語モデルの学習では、話題に関する特徴を入力するために拡張的な手法が行われている。
図８は、拡張した再帰的ニューラルネットワークを示す図である。通常、統計的言語モデルにおける再帰的ニューラルネットワークでは、単語および１時刻前の隠れ層の出力を入力とする。この入力に、現在着目している発話の直近の発話から得られた話題に関する情報をさらに利用することで、より長い範囲の文脈（話題）をニューラルネットワークに反映できる。つまり、同図に示す拡張した再帰的ニューラルネットワークにおいては、単語ベクトルｗｔおよび１時刻前（ｔ−１）の隠れ層の出力ｈｔ−１に加え、話題に関する特徴量である話題特徴量ベクトルｖをさらに入力としている。
【００４２】
図９は、拡張した再帰的ニューラルネットワークにおける特徴量の関係を示す図である。同図においては、現在着目している発話ｓｎにおける単語（単語ｗｔ）に後続する予測単語（出力層ｏｔ）を、話題に依存した特徴（話題特徴量ベクトルｖ）と、発話ｓｎにおける単語ｗｔより前の単語列に基づく特徴（隠れ層の出力ｈｔ−１）とを用いて得る。話題に依存した特徴は、発話ｓｎより前の発話ｓｎ−ｍ，...，ｓｎ−１から抽出される。
【００４３】
拡張した再帰的ニューラルネットワークの入力層ｘｔは、以下の式（８）となる。ただし、隠れ層ｈｔ、及び出力層ｏｔは、上記の式（６）、式（７）と同様である。
【００４４】
【数８】
2015075706.tif 000010
【００４５】
上述した再帰的ニューラルネットワークは、話題に関する特徴量の有無にかかわらず、ｎ−ｇｒａｍ言語モデルの条件付き確率を推定するために用いられることがほとんどであり、誤り修正モデルで利用されることはない。
【００４６】
ニューラルネットワークでは、入力層、隠れ層、出力層の各素子間をつなぐ重み係数（結合重み）がパラメータとなるが、一般に素子間の重み係数パラメータは数が多いため、統計的に頑健な学習を行うには大量の学習データを必要とする。しかしながら、誤り修正モデルでは、音声に対する正解単語列を人手により用意しなければならないため、ニューラルネットワークの学習に十分なデータを用意することが困難である。この課題を解決するために、本実施形態の誤り修正モデル学習装置では、図１に示すニューラルネットワークを採用する。
【００４７】
図１は、本実施形態で採用するニューラルネットワークを示す図である。同図に示すニューラルネットワークでは、図８に示す再帰的ニューラルネットワークに、誤り修正モデルのための出力層２が追加されている。なお、同図においては、図８に示す再帰的ニューラルネットワークの出力層を、出力層１としている。出力層２は、誤り修正モデルに用いられる素性関数の値をベクトル表現したものであり、再帰的ニューラルネットワークにより得られる隠れ層ｈｔに、重み係数行列Ｍｏ’を乗算した値ｏ’ｔが出力される。本実施形態の誤り修正モデル学習装置は、出力層２を構成する素性関数を定義した上で、重み係数行列Ｍｏ’を学習する。
【００４８】
本実施形態による誤り修正モデル学習装置の特徴は、図１に示すニューラルネットワークのうち、従来型の再帰的ニューラルネットワークの部分を、比較的大量に収集可能な静的テキスト（ニュース原稿やウェブテキストなど）に基づいて学習することである。つまり、本実施形態による誤り修正モデル学習装置は、静的テキストから入力層〜隠れ層の結合重みである重み係数行列Ｍｈを得た上で、誤り修正モデルの学習のための結合重みである重み係数行列Ｍｏ’のみを改めて学習することにある。この手続きにより、本実施形態による誤り修正モデル学習装置は、音声認識結果と正解単語列とからなる学習データから、再帰的ニューラルネットワークの最下層（入力層〜隠れ層）の結合重みを学習することなく、隠れ層〜出力層の間の結合重みのみを学習することにより誤り修正モデルを学習できる。また、本実施形態による誤り修正モデル学習装置は、再帰的ニューラルネットワークを採用することにより、従来法よりも長い文脈や話題といった情報を考慮した誤り修正モデルを得られることも特徴である。つまり、本実施形態による誤り修正モデル学習装置は、１時刻前の隠れ層の出力ｈｔ−１を入力に用いて現在の時刻の隠れ層ｈｔを求めることを繰り返すことで長い文脈を考慮し、現在の発話ｓｎより前の発話群から得られた話題に関する特徴量である話題特徴量ベクトルｖを入力に用いる話題を考慮している。
【００４９】
［３．  誤り修正モデル学習装置の構成］
図２は、本発明の一実施形態による誤り修正モデル学習装置１０の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。誤り修正モデル学習装置１０は、コンピュータ装置により実現され、同図に示すように、言語モデル学習処理部２０、誤り修正モデル学習処理部３０、及び音声認識処理部４０を備えて構成される。
【００５０】
言語モデル学習処理部２０は、ニュース原稿やウェブ上のテキストデータを学習データとして、図１に示す再帰的ニューラルネットワークに基づく言語モデルを学習する。言語モデルは、ニューラルネットワークにおける重み係数行列Ｍｈ、Ｍｏに相当する。言語モデル学習処理部２０は、言語資源記憶部２１、話題モデル学習部２２、及び言語モデル学習部２３を備えて構成される。
【００５１】
言語資源記憶部２１は、ニュース原稿のテキストデータやウェブから収集したテキストデータなどを学習テキストとして記憶する。話題モデル学習部２２は、統計的な次元圧縮手法により話題に関する特徴量（以下、「話題特徴量」と記載する。）を抽出するために用いる話題モデルを、言語資源記憶部２１に記憶されている学習テキストに基づいて学習する。話題モデル学習部２２は、学習した話題モデルを設定した話題モデルデータＤ１を出力する。言語モデル学習部２３は、言語資源記憶部２１に記憶されている学習テキストが示す文章と、話題モデルデータＤ１に設定されている話題モデルを用いて当該文章よりも前の文章から抽出した話題特徴量とを用いて、ニューラルネットワークにおける重み係数行列Ｍｈ、Ｍｏを言語モデルとして学習する。言語モデル学習部２３は、学習した言語モデルを設定した言語モデルデータＤ２を出力する。
【００５２】
誤り修正モデル学習処理部３０は、図１に示す再帰的ニューラルネットワークに基づき、言語モデル学習処理部２０が得た言語モデルを拡張した誤り修正モデルを、音声認識結果を学習データに用いて学習する。誤り修正モデル学習処理部３０は、音声資源記憶部３１、整列部３２、音声認識部３３、素性定義部３４、及び誤り修正モデル学習部３５を備えて構成される。
【００５３】
音声資源記憶部３１は、発話の音声データと、その音声データの正解単語列とからなる学習データを記憶する。整列部３２は、音声資源記憶部３１に記憶されている音声データに対応する正解単語列の整列を行う。整列部３２は、整列した正解単語列を設定した正解単語列データＤ３を出力する。音声認識部３３は、正解単語列の整列に用いられた音声データを、音響モデル記憶部４１に記憶されている音響モデルと、言語モデルデータＤ２に設定されている言語モデルとを用いて音声認識する。音声認識部３３は、音声認識結果を設定した音声認識結果データＤ４を出力する。素性定義部３４は、正解単語列データＤ３に設定されている正解単語列に含まれる単語と、音声認識結果データＤ４に設定されている音声認識結果に含まれる単語に基づいて素性関数を定義する。誤り修正モデル学習部３５は、正解単語列データＤ３に設定されている正解単語列と、音声認識結果データＤ４に設定されている音声認識結果と、正解単語列及び音声認識結果それぞれをニューラルネットワークに入力したときの隠れ層の出力値とを用いて、素性定義部３４が定義した素性関数を用いた誤り修正モデルのモデルパラメータである重み係数行列Ｍｏ’を学習する。誤り修正モデル学習部３５は、学習したモデルパラメータを用いた誤り修正モデルを誤り修正モデルデータＤ５に設定して音声認識処理部４０へ出力する。
【００５４】
音声認識処理部４０は、音響モデル、言語モデル学習処理部２０が学習した言語モデル、及び誤り修正モデル学習処理部３０が学習した誤り修正モデルを用いて音声認識を行い、認識結果を出力する。音声認識処理部４０は、音響モデル記憶部４１、言語モデル記憶部４２、誤り修正モデル記憶部４３、及び入力音声認識部４４を備えて構成される。
【００５５】
音響モデル記憶部４１は、音響モデルを記憶する。言語モデル記憶部４２は言語モデル学習処理部２０において学習した言語モデルを設定した言語モデルデータＤ２を記憶する。誤り修正モデル記憶部４３は、誤り修正モデル学習処理部３０において学習した誤り修正モデルを設定した誤り修正モデルデータＤ５を記憶する。入力音声認識部４４は、音響モデル記憶部４１に記憶されている音響モデル、言語モデル記憶部４２から読み出した言語モデル、及び誤り修正モデル記憶部４３から読み出した誤り修正モデルを用いて入力音声データＤ６を音声認識し、音声認識結果を設定した入力音声認識結果データＤ７を出力する。
【００５６】
なお、言語資源記憶部２１に記憶されている音声データ、及び入力音声データＤ６は、発話の音声波形を短時間スペクトル分析して得られた特徴量を示す。
【００５７】
［４．  誤り修正モデル学習装置の処理手順］
図３は、図２に示す誤り修正モデル学習装置１０の全体処理フローを示す図である。以下、同図に示す各ステップの処理について説明する。
【００５８】
［４．１  言語モデル学習処理部２０の処理手順］
言語モデル学習処理部２０は、図１に示す再帰的ニューラルネットワークに基づく言語モデルを学習する。言語資源記憶部２１には、放送局内のニュース原稿を示すテキストデータや、ウェブ上のテキストデータなどが学習テキストとして集積されている。言語資源記憶部２１は、学習テキストを記事ごとに分類し、各記事を文書データとして記憶する。
【００５９】
［４．１．１  ステップＳ１：話題特徴量抽出処理］
再帰的ニューラルネットワークの学習では、話題特徴量を入力として必要とする。このため、再帰的ニューラルネットワークに基づく言語モデルを学習する前に、話題モデル学習部２２において、話題特徴量の抽出に用いる話題モデルを学習する。本実施形態では、話題特徴量として非負値行列因子分解（Non-negative Matrix Factorization）による特徴ベクトルを用いる。話題モデル学習部２２は、言語資源記憶部２１に記憶されている学習データから各記事の文書データを読み出し、読み出した文書データに非負値行列因子分解を適用することで話題特徴量を抽出する。非負値行列因子分解については、例えば、文献「D. D. Lee and H. S. Seung, Algorithm for Non-negative Matrix Factorization, In Advances in Neural Information Processing Systems, pp. 556-562, 2001.」に記載されている。
【００６０】
言語資源記憶部２１に記憶されている学習テキストに対してベクトル空間モデルを使えば、ｍ個の単語を含んだｎ個の記事からなる学習テキストの記事集合Ｄは、ｍ行ｎ列の単語−文書行列として表現できる。単語−文書行列の要素は、例えばその要素の列に対応した記事において、その要素の行に対応した単語が出現する相対頻度に基づいて定めることができる。
【００６１】
非負値行列因子分解では、学習テキストがｍ×ｎの文書−単語行列として表現されるときに、以下の式（９）を考える。
【００６２】
【数９】
2015075706.tif 000011
【００６３】
そして、記事集合Ｄをなるべく近似できるような上記の式（９）の行列Ｗ、行列Ｖとして、ｍ×ｒの非負行列Ｗ’、およびｒ×ｎの非負行列Ｖ’を求める。ただし、行列Ｅは誤差からなる行列である。式（９）に示す因子分解では、記事をｒ個の因子（潜在トピック）で表現することに相当する。つまり、非負行列Ｗ’には、記事集合Ｄに頻出する単語の出現パターンがｒ個の列それぞれに潜在トピックを表す基底として現れる。そして、非負行列Ｖ’の各列は、その列に対応する記事に対してｒ個の潜在トピックそれぞれが寄与している度合いを表す。ｍ＞＞ｒであれば、非負行列Ｖ’は、元の記事の単語行列を低次元の因子に圧縮した表現となるため、データスパースネスに対し頑健となる。
【００６４】
未知の文書の単語ベクトルｄに対する話題特徴量ベクトルｖは、式（１０）のように当該文書を非負行列Ｗ’により因子分解して得られる。単語ベクトルｄの各要素は単語に対応しており、文書における各単語の出現頻度が設定される。また、話題特徴量ベクトルｖは、非負行列Ｗ’に表れるｒ個の潜在トピックそれぞれが文書に寄与している度合いを表す。この次元圧縮されたｒ次元の話題特徴量ベクトルｖは、統計的言語モデルの話題特徴量として扱われる。
【００６５】
【数１０】
2015075706.tif 000012
【００６６】
話題モデル学習部２２は、言語資源記憶部２１に学習データとして記憶されているｎ個の文書データを読み出し、読み出した文書データが示す記事それぞれについてｍ個の各単語の出現頻度をカウントする。話題モデル学習部２２は、カウントした各記事の単語の出現頻度を要素とする記事集合Ｄを生成する。記事集合Ｄの各要素には、列に対応する記事における、行に対応する単語の出現頻度が設定される。話題モデル学習部２２は、生成した記事集合Ｄに非負値行列因子分解を適用して、非負行列Ｗ’、および非負行列Ｖ’を算出すると、算出した非負行列Ｗ’を話題モデルとして設定した話題モデルデータＤ１を出力する。
【００６７】
［４．１．２  ステップＳ２：言語モデル学習処理］
言語モデル学習部２３は、ステップＳ１において得られた話題モデルを用いて、言語資源記憶部２１に記憶されている学習テキストから再帰的ニューラルネットワークに基づく言語モデルを学習する。同様のモデルの学習は、例えば、文献「T. Mikolov and G. Zweig, Context Dependent Recurrent Neural Network Language Model, Microsoft Research Technical Report MSR-TR-2012-92, Microsoft, 2012.」に記載されているが、その概略は以下の通りである。
【００６８】
まず、図１に示す再帰的ネットワークに含まれる、図８に示す再帰的ネットワークの部分を図１０に示すように展開し、通常のフィードフォワード型ニューラルネットワークで近似する。
図１０は、図８に示す再帰的ネットワークのフィードフォワード型ニューラルネットワークへの展開を示す図である。展開する深さは任意であるが、本実施形態では、深さを３とした例を示す。展開したフィードフォワード型ニューラルネットワークでは、誤差逆伝播法などのアルゴリズムを用いて、ニューラルネットワークの各層の重み係数行列を学習できる。誤差逆伝播法については、例えば、文献「R. Rojas, Neural Networks - A Systematic Introduction, pp.151-184, Springer-Verlag, 1996.」に記載されている。
【００６９】
言語モデル学習部２３は、言語資源記憶部２１の学習テキストを逐次的に処理することで重み係数行列を学習する。この学習には、例えば、文献「P. J. Werbos, Backpropagation Through Time: What It Does and How to Do It, Proceedings of The IEEE, vol. 78, no. 10, pp.1550-1560, 1990.」に記載のBackpropagation Through Time アルゴリズムを用いることができる。学習の手順を以下に示す。
【００７０】
（手順１）  言語モデル学習部２３は、学習テキスト中の記事における文章ｓｎ｛ｎ＝１，...，N｝の直前のｍ個の文章｛ｓｎ−ｍ，ｓｎ−ｍ＋１，...，ｓｎ−１｝を１つの文章とみなして各単語の出現頻度をカウントする。言語モデル学習部２３は、カウントした各単語の出現頻度を表す単語ベクトルｄを、話題モデルデータＤ１に設定されている非負行列Ｗ’を用いて式（１０）により次元圧縮された基底ベクトルの表現に変換し、話題特徴量ベクトルｖｎを算出する。
【００７１】
（手順２）  学習テキスト中の文章ｓｎを構成する単語｛ｗ１，ｗ２，...，ｗｔ，...，ｗｎＴ｝に対して、展開した再帰的ニューラルネットワークにおけるｔ番目の入出力を（ｗｔ，ｗｔ＋１，ｗｔ＋２，ｖｎ，ｈｔ−１，ｏｔ−１）とする。ここで、ｔ番目の入出力における単語ｗｔ，ｗｔ＋１，ｗｔ＋２は、語彙サイズを次元数とし、該当する単語を示すインデックスの要素のみを１とし、他の要素を０とするベクトルである。言語モデル学習部２３は、誤差逆伝播法に基づき、入出力（ｗｔ，ｗｔ＋１，ｗｔ＋２，ｖｎ，ｈｔ−１，ｏｔ−１）を用いて、重み係数行列Ｍｈｔ、Ｍｈｔ＋１、Ｍｈｔ＋２、Ｍｏを推定する。
【００７２】
（手順３）  言語モデル学習部２３は、手順２において推定した重み係数行列Ｍｈｔ、Ｍｈｔ＋１、Ｍｈｔ＋２の平均をとり、再帰的ニューラルネットワークの重み係数行列Ｍｈをこの平均した行列により更新する。さらに、言語モデル学習部２３は、重み係数行列Ｍｈｔ、Ｍｈｔ＋１、Ｍｈｔ＋２それぞれを、平均した行列と差し替える。
【００７３】
（手順４）  言語モデル学習部２３は、（手順１）〜（手順３）までの処理を、学習テキストすべてについて繰り返す。
【００７４】
（手順５）  言語モデル学習部２３は、（手順１）〜（手順４）までの処理を、重み係数行列Ｍｈが収束するまで繰り返す。
【００７５】
言語モデル学習部２３は、上記の処理によって求めた重み係数行列Ｍｈと重み係数行列Ｍｏを言語モデルとして設定した言語モデルデータＤ２を出力する。
【００７６】
［４．２  誤り修正モデル学習処理部の処理］
［４．２．１  誤り修正モデルの学習方法］
誤り修正モデル学習処理部３０は、ステップＳ１において求められた話題モデルと、ステップＳ２において求められた再帰的ニューラルネットワークによる言語モデルとを利用して、誤り修正モデルを学習する。
【００７７】
本実施形態では、誤り修正モデルの素性関数は、単語ｗの関数として定める。例えば、素性関数を以下とする。
【００７８】
（１）  単語ｗが、ｕ∈Ｖに等しいときに１を返す関数
（２）  単語ｗの品詞がｃ∈Ｃに等しいときに１を返す関数
【００７９】
ここで、Ｖは語彙、ｕはＶに含まれる単語、Ｃは品詞の集合、ｃはＣに含まれる品詞とする。
【００８０】
いま、Ｋ個の素性関数をｇｋ（ｋ＝１，...，Ｋ）として、音声入力ｘと話題特徴量ベクトルｖが与えられたときに単語列ｗが得られる事後確率Ｐ（ｗ｜ｘ，ｖ）を以下の式（１１）とする。
【００８１】
【数１１】
2015075706.tif 000013
【００８２】
ここで、Ｎは、単語列ｗを構成する単語ｗｉの数、単語ｗｉ−１０は、単語ｗｉに対する履歴（直近の単語列）、Ｐ（ｗｉ｜ｗｉ−１０，ｖ）は、再帰的ニューラルネットワークに基づく言語モデルの出力確率（出力層１からの出力）である。つまり、式（１１）では、単語列ｗを構成する各単語ｗｉのｎグラムの積を算出している。ｅｘｐより後ろは誤り修正モデルの確率の一部となり、再帰的ニューラルネットワークにおける出力層２からの出力の和である。ｈｊ（ｉ）は、単語ｗｉを入力として再帰的ニューラルネットワークを伝播させたときの隠れ層ｈ（ｉ）のｊ番目の素子の値であり、Ｍｊｋｏ’は、隠れ層と出力層２の間の重み係数行列Ｍｏ’におけるｊ行ｋ列目の要素（ｊｋ成分）である。
【００８３】
誤り修正モデル学習処理部３０は、誤り修正モデル学習処理において、重み係数行列Ｍｏ’を求める。本実施形態では、マージン最大化による誤り修正モデルの学習を行うこととする。
マージン最大化では、音声入力（音声データ）ｘに対して、以下の２つのペアが必要となる。
（１）正解単語列ｗｒ（音声データに対して整列済み）
（２）音声認識結果ｗｄ（音声データに対して整列済み）
【００８４】
式（１１）の対数を取った対数事後確率から、誤り修正モデルによる音声入力ｘに対する単語列ｗのスコアＳ（ｗ｜ｘ）を、以下の式（１２）のように定める。
【００８５】
【数１２】
2015075706.tif 000014
【００８６】
式（１２）は、本実施形態で用いる誤り修正モデルである。ここで、ｆａｍ（ｗ｜ｘ）は、音響モデル（前述のＨＭＭ−ＧＭＭ）による対数スコア（音響スコア）である。μｌｍは、音響スコアに対する言語スコアの重みである。ｆｌｍ（ｗｉ｜ｗｉ−１０，ｖ）は、再帰的ニューラルネットワークに基づく言語モデルによる単語ｗｉの対数スコア（言語スコア）であり、出力層ｏｔに相当する。また、ΣｉΣｋｇｋ（ｗｉ）Σｊｈｊ（ｉ）Ｍｊｋｏ’は、単語列ｗの誤り傾向を反映したスコアである。このように、誤り修正モデルは、隠れ層の出力及びモデルパラメータにより重み付けした言語的な特徴を用いて音声認識のスコアを修正する式である。
【００８７】
式（１２）を用いた正解単語列ｗｒのスコアをＳ（ｗｒ｜ｘ）、音声認識結果ｗｄのスコアをＳ（ｗｄ｜ｘ）としたときに、その差分(マージン)により定められる評価関数を以下の式（１３）に示すＤｍとし、重み係数行列Ｍｏ’に関する最大化を図る。
【００８８】
【数１３】
2015075706.tif 000015
【００８９】
差分Ｄｍについての重み係数行列Ｍｏ’のｊｋ成分Ｍｊｋｏ’に関する勾配を求めると、以下の式（１４）となる。
【００９０】
【数１４】
2015075706.tif 000016
【００９１】
この勾配は、正解単語列ｗｒを構成する各単語ｗｉｒの素性関数の値ｇｋ（ｗｉｒ）を当該単語について算出された隠れ層のｊ番目の素子の値ｈｊｒ（ｉ）により重み付けした値の合計と、音声認識結果ｗｄを構成する各単語ｗｉ’ｄの素性関数の値ｇｋ（ｗｉ’ｄ）を当該単語について算出された隠れ層のｊ番目の素子の値ｈｊｄ（ｉ’）により重み付けした値の合計との差分に比例する。
確率的勾配降下法にしたがえば、重み係数行列Ｍｏ’の更新式は以下の式（１５）のようになる。
【００９２】
【数１５】
2015075706.tif 000017
【００９３】
ここで、ηは定数とする。
誤り修正モデル学習処理部３０は、上記の手法を学習データ全体に対して適用し、誤り修正モデルを学習する。つまり、誤り修正モデル学習処理部３０は、音声データが与えられたときの誤り修正モデルを用いた正解単語列の生成確率（対数事後確率）と音声認識結果の生成確率（対数事後確率）とを用いて定められる評価関数である差分Ｄｍが最大になるように、誤り修正モデルのモデルパラメータであるＭｏ’の各要素を統計的に算出する。
以下、誤り修正モデル学習処理部３０において誤り修正モデルを得るための処理を説明する。
【００９４】
［４．２．２  ステップＳ３：整列済み正解単語列取得処理］
整列部３２は、音声資源記憶部３１に学習データとして記憶されている音声データに対して、該当する正解単語の整列を行う。この整列は、音声資源記憶部３１の各学習データに対して順序を考慮して行われる。これは、話題特徴量ベクトルの計算を行うために学習データの順序を保持しておく必要があるためである。また、整列部３２は、各単語に、再帰的ニューラルネットワークに基づく言語モデルにより単語予測を行った際の隠れ層の出力を記録しておく。
【００９５】
具体的には、整列部３２は、既存の技術により、正解単語列を構成する各単語に音声データにおける発話開始時刻を対応付け、正解単語列を発話された時刻順に整列する。整列部３２は、整列を行う際、音響モデル記憶部４１に記憶されている音響モデルと、言語モデル学習処理部２０で学習した言語モデル及び話題モデルとを用い、正解単語列を構成する各単語にその音響スコア及び言語スコアを付与する。整列部３２は、式（８）、式（６）、及び式（７）を用いて、正解単語列ｗｒを構成する単語ｗｉの言語スコアｆｌｍ（ｗｉ｜ｗｉ−１０，ｖ）を算出するが、重み係数行列Ｍｈ、Ｍｏには言語モデルデータＤ２に設定されている言語モデルを用いる。このとき、式（８）におけるｗｔは、単語ｗｉを表す単語ベクトルであり、ｈｔ−１は、ひとつ前の単語ｗｉ−１について言語スコアを算出した際に式（６）により求めた隠れ層の出力である。また、整列部３２は、話題特徴量ベクトルｖを、話題モデルデータＤ１から取得した話題モデル（非負行列Ｗ’）と、正解単語列ｗｒよりも前の正解単語列群から取得した単語頻度を表す単語ベクトルｄとを用いて、式（１０）により算出する。整列部３２は、各単語の音響スコア、言語スコア、及び、隠れ層の出力を付加した整列済みの正解単語列ｗｒを正解単語列データＤ３に設定し、出力する。単語ｗｉに付加する隠れ層の出力は、言語スコアｆｌｍ（ｗｉ｜ｗｉ−１０，ｖ）を算出した際の式（６）の隠れ層ｈｔの値である。
【００９６】
［４．２．３  ステップＳ４：学習データの音声認識処理］
一方、音声認識部３３は、音声資源記憶部３１に学習データとして記憶されている音声データを、言語モデルデータＤ２が示す言語モデルおよび話題モデルデータＤ１が示す話題モデルを用いて音声認識を実行し、音声認識結果ｗｄを得る。音声認識部３３は、ステップＳ３と同様の処理により、正解単語列データＤ３が示す正解単語列ｗｒと同様に、音声認識結果ｗｄにも、単語列を構成する各単語に音響スコアと言語スコアを付与し、さらに、再帰的ニューラルネットワークで単語予測を行った際の隠れ層の出力を記録する。つまり、音声認識部３３は、音声認識結果ｗｄを構成する単語ｗｉの言語スコアｆｌｍ（ｗｉ｜ｗｉ−１０，ｖ）を式（８）、式（６）、及び式（７）により算出する。この際、音声認識部３３は、言語モデルデータＤ２に設定されている言語モデル（重み係数行列Ｍｈ、Ｍｏ）と話題モデルデータＤ１から取得した話題モデル（非負行列Ｗ’）とを用いる。音声認識部３３は、各単語の音響スコア、言語スコア、及び、隠れ層の出力を付加した音声認識結果ｗｄを音声認識結果データＤ４に設定し、出力する。
【００９７】
［４．２．４  ステップＳ５：素性関数定義処理］
素性定義部３４は、正解単語列データＤ３が示す正解単語列ｗｒに含まれる単語、および、音声認識結果データＤ４が示す音声認識結果ｗｄに含まれる単語から言語的な特徴を抽出し、抽出された言語的な特徴で定義される素性関数を得る。素性関数の定義は、前述の通り以下とする。
【００９８】
（１）  単語ｗが、ｕ∈Ｖに等しいときに１を返す関数
（２）  単語ｗの品詞がｃ∈Ｃに等しいときに１を返す関数
【００９９】
素性定義部３４は、例えば、正解単語列ｗｒ及び音声認識結果ｗｄから上記のルールに従った素性関数を全て抽出し、抽出した素性関数が出現する頻度をカウントする。素性定義部３４は、は、カウントした出現頻度が予め定めた閾値以上である素性関数を、誤り修正モデルの学習で用いる素性関数ｇｋとして決定する。これにより、素性定義部３４が得た素性関数をＫ個とする。素性定義部３４は、正解単語列データＤ３及び音声認識結果データＤ４と、得られた素性関数ｇｋとを誤り修正モデル学習部３５に出力する。
【０１００】
［４．２．５  ステップＳ６：誤り修正モデル学習処理］
図４は、誤り修正モデル学習部３５が実行する誤り修正モデル学習処理の処理フローを示す。
誤り修正モデル学習部３５は、ｎに初期値１を設定し（ステップＳ１１）、ｋに初期値１を設定し（ステップＳ１２）、ｊに初期値１を設定する（ステップＳ１３）。
誤り修正モデル学習部３５は、音声資源記憶部３１に記憶されている学習データの第ｎ番目の音声データｘｎに対応する正解単語列ｗｒｎおよび音声認識結果ｗｄｎを得る。誤り修正モデル学習部３５は、正解単語列ｗｒｎを正解単語列データＤ３から読み出し、音声認識結果ｗｄｎを音声認識結果データＤ４から読み出す。誤り修正モデル学習部３５は、第ｋ番目の素性関数について、式（１４）の右辺である以下の式（１６）を計算する（ステップＳ１４）。
【０１０１】
【数１６】
2015075706.tif 000018
【０１０２】
なお、誤り修正モデル学習部３５は、正解単語列ｗｒｎを構成する各単語ｗｉｒに付加されている隠れ層の出力からｊ番目の素子の値ｈｊｒ（ｉ）を取得し、音声認識結果ｗｄｎを構成する各単語ｗｉｒに付加されている隠れ層の出力からｊ番目の素子の値ｈｊｄ（ｉ’）を取得する。
【０１０３】
誤り修正モデル学習部３５は、上述した式（１５）にしたがって、以下の式（１７）により、重み係数行列Ｍｏ’のｊｋ成分Ｍｊｋｏ’を計算する（ステップＳ１５）。
【０１０４】
【数１７】
2015075706.tif 000019
【０１０５】
式（１７）において、（∂Ｄ／∂Ｍｊｋｏ’）は、式（１６）の算出結果である。本実施形態では、誤り修正モデル学習部３５は、平均化確率的勾配降下法に基づき、以下の式（１８）、式（１９）に示すように重み係数行列Ｍｏ’のｊｋ成分の更新を行う（ステップＳ１６）。式（１８）の左辺のＭ〜ｊｋｏ’は、更新後の重み係数行列Ｍｏ’のｊｋ成分である。式（１９）は、１〜ｎ回目のループ処理のそれぞれにおいて算出された重み係数行列Ｍｏ’のｊｋ成分の平均であり、式（１８）の右辺のＭ〜ｊｋｏ’である。
【０１０６】
【数１８】
2015075706.tif 000020
【０１０７】
【数１９】
2015075706.tif 000021
【０１０８】
誤り修正モデル学習部３５は、ｊが重み係数行列Ｍｏ’の行数（隠れ層の素子数）に達するまで、現在のｊの値に１を加算してステップＳ１４からの処理を繰り返す（ステップＳ１７）。
誤り修正モデル学習部３５は、ｋが素性関数の個数Ｋ（重み係数行列Ｍｏ’の列数）に達するまで、現在のｋの値に１を加算してステップＳ１３からの処理を繰り返す（ステップＳ１８）。
誤り修正モデル学習部３５は、学習データの全ての音声データｘｎについて処理を終了するまで、現在のｎの値に１を加算してステップＳ１２からの処理を繰り返す（ステップＳ１９）。
【０１０９】
誤り修正モデル学習部３５は、学習データの全ての音声データｘｎについて処理を終了した場合、前回の収束判定時からの重み係数行列Ｍｏ’の変化が、所定の範囲内であるか否かにより収束したか否かを判断する（ステップＳ２０）。誤り修正モデル学習部３５は、収束していないと判断した場合（ステップＳ２０：ＮＯ）、ステップＳ１１からの処理を繰り返し、収束したと判断した場合（ステップＳ２０：ＹＥＳ）、図４の処理を終了する。誤り修正モデル学習部３５は、式（１２）に更新が収束したときの重み係数行列Ｍｏ’を用いた誤り修正モデルを生成し、生成した誤り修正モデルを設定した誤り修正モデルデータＤ５を音声認識処理部４０に出力する。
【０１１０】
［４．３  音声認識処理部の処理］
音声認識アルゴリズムでは、通常Viterbi探索に基づき、音声入力が得られるたびに単語仮説をグラフのノード（頂点）として展開していく。
図５は、音声認識における単語仮説の展開を示す図である。各ノードには、音声入力の始点に向かって逆向きにトレースを行えるよう、音声認識結果を構成する単語仮説の情報を、音声認識スコアとともに保存する。
【０１１１】
図１１は、従来の音声認識におけるノードデータのデータ構造体を示す図である。各ノードのノードデータは、同図に示すようなデータをもつ構造体として定義される。つまり、各ノードのデータ構造体は、当該ノードに対応した単語仮説を特定するためのインデックスである「int word」と、この単語仮説の音響モデル・言語モデル・誤り修正モデルによるスコアを設定する「float score」と、当該ノードの１つ前のノードを示す「node* backptr」とを有する。
【０１１２】
しかし、再帰的ニューラルネットワークでは、ニューラルネットワークの隠れ層の出力が入力単語列に依存して変わるため、これを仮説の展開時にノードに記録する必要がある。したがって、本実施形態では、上述のノードの構造体は、図６に示すように拡張される。
図６は、拡張されたノードデータのデータ構造体を示す図である。同図に示すように、図１１に示すデータ構造体に、隠れ層の出力を設定するための「layer hidden_layer」が追加されている。
【０１１３】
一方、１つのノードに１つの隠れ層の出力をもたせるには、着目しているノードに接続する複数のノードのいずれか１つを選択する必要がある。例えば、図５のノードｎ４に対しては、ノードｎ１からノードｎ３までのノードが接続しており、隠れ層の出力ｈｎ１，ｈｎ２，ｈｎ３のいずれかを入力とした隠れ層の出力をノードｎ４に記録する必要がある。本実施形態では、ノードｎ４が参照するノードｎ１からノードｎ３のうち、スコアが最大となる経路のノードの隠れ層の出力を、再帰的ニューラルネットワークにおけるノードｎ４の入力となる隠れ層の出力ｈｔ−１とする。
【０１１４】
入力音声認識部４４は、音響モデル記憶部４１に記憶されている音響モデル、言語モデル記憶部４２に記憶されている言語モデルデータＤ２が示す言語モデル、誤り修正モデル記憶部４３に記憶されている誤り修正モデルデータＤ５が示す誤り修正モデルを用いて入力音声データＤ６を認識する。入力音声認識部４４は、図６に示すデータ構造のノードデータに設定されている誤り修正モデルのスコアに基づいて最もスコアがよい文仮説を選択し、選択した文仮説を音声認識結果として設定した入力音声認識結果データＤ７を出力する。これは、誤り修正モデル学習処理部３０の音声認識部３３の処理と同様であるが、音声認識結果データＤ４には、図６に示すノードデータの隠れ層の出力値を単語ごとに付加して出力する点が異なる。
【０１１５】
［４．３．１  ステップＳ７：入力音声の音声認識処理］
入力音声認識部４４は、音声認識対象の音声データとして入力音声データＤ６が入力されると、言語モデル記憶部４２に記憶されている言語モデル、及び音響モデル記憶部４１に記憶されている音響モデルとを用いて、入力音声データＤ６の正解候補の単語列を得る。入力音声認識部４４は、音声認識により得られた正解候補の単語列を構成する各単語（単語仮説）に対応したノードについて図６に示すデータ構造のノードデータを生成し、当該ノードの単語インデックスと、前ノード参照用ポインタを設定する。
【０１１６】
入力音声認識部４４は、正解候補の単語列を構成する各単語について、音響モデルを用いて音響スコアを算出するとともに、言語モデル（重み係数行列Ｍｈ、Ｍｏ）を用いて式（８）、式（６）、及び式（７）により言語スコアを算出する。入力音声認識部４４は、言語スコアを算出する際、式（８）の隠れ層の出力ｈｔ−１に、１つ前のノードのノードデータに設定されている隠れ層の出力を用いるが、１つ前のノードが複数ある場合には、スコアが最もよくなる経路となるノードの隠れ層の出力を用いる。また、入力音声認識部４４は、式（８）の話題特徴量ベクトルｖを、話題モデルデータＤ１から取得した話題モデル（非負行列Ｗ’）と、現在の入力音声データＤ６よりも前の入力音声データの音声認識結果から取得した単語頻度を表す単語ベクトルｄとを用いて、式（１０）により算出する。
【０１１７】
入力音声認識部４４は、誤り修正モデル記憶部４３から読み出した誤り修正モデルに従って、正解候補の単語列を構成する各単語について、音響スコア及び言語スコアと、言語スコアの算出において式（６）により算出された隠れ層の出力とを用いて、誤り修正モデルのスコアを算出する。入力音声認識部４４は、ノードデータに音響スコア、言語スコア、及び誤り修正モデルのスコアと、隠れ層の出力とを設定する。入力音声認識部４４は、誤り修正モデルのスコアが最もよくなる経路の正解候補の単語列を正解単語列として選択し、入力音声認識結果データＤ７に設定してリアルタイムに出力する。誤り修正モデルを用いることにより、入力音声認識部４４は、入力音声データＤ６から得られた音声認識結果の選択における誤りを修正する。
【０１１８】
［５．  効果］
以上説明した本実施形態の誤り修正モデル学習装置１０によれば、従来よりも長い文脈および話題を考慮した誤り修正モデルが構成可能となる。入力音声認識部４４は、この誤り修正モデルを用いて音声認識を行うことにより、認識誤りが削減される。また、本実施形態の誤り修正モデル学習装置１０は、大量に入手しやすいテキストデータを誤り修正モデルのモデルパラメータの学習の一部に用いているため、統計的に頑健なモデルとなり、認識誤りが削減される。
【０１１９】
［６．  その他］
なお、上述の誤り修正モデル学習装置１０は、内部にコンピュータシステムを有している。そして、誤り修正モデル学習装置１０の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【０１２０】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【０１２１】
１０  誤り修正モデル学習装置
２０  言語モデル学習処理部
２１  言語資源記憶部
２２  話題モデル学習部
２３  言語モデル学習部
３０  誤り修正モデル学習処理部
３１  音声資源記憶部
３２  整列部
３３  音声認識部
３４  素性定義部
３５  誤り修正モデル学習部
４０  音声認識処理部
４１  音響モデル記憶部
４２  言語モデル記憶部
４３  誤り修正モデル記憶部
４４  入力音声認識部
【図１】
2015075706.tif 000022
【図２】
2015075706.tif 000023
【図３】
2015075706.tif 000024
【図４】
2015075706.tif 000025
【図５】
2015075706.tif 000026
【図６】
2015075706.tif 000027
【図７】
2015075706.tif 000028
【図８】
2015075706.tif 000029
【図９】
2015075706.tif 000030
【図１０】
2015075706.tif 000031
【図１１】
2015075706.tif 000032