以下、本願が開示する音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法、音響モデル学習プログラム及び音声認識プログラムの実施形態の一例の説明に先立ち、実施形態の一例が前提とする従来技術を説明する。その後、本願が開示する音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法、音響モデル学習プログラム及び音声認識プログラムの実施形態の一例を説明する。
なお、以下では、例えばAがベクトルである場合には“ベクトルA”と表記し、例えばAが行列である場合には“行列A”と表記し、例えばAがスカラーである場合には単に“A”と表記する。また、例えばAが集合である場合には、“集合A”と表記する。また、例えばベクトルAの関数fは、f(ベクトルA)と表記する。また、ベクトル、行列又はスカラーであるAに対し、“^A”と記載する場合は「“A”の直上に“^”が記された記号」と同等であるとする。また、ベクトル、行列又はスカラーであるAに対し、“−A”と記載する場合は「“A”の直上に“−”が記された記号」と同等であるとする。また、ベクトル、行列又はスカラーであるAに対し、“~A”と記載する場合は「“A”の直上に“~”が記された記号」と同等であるとする。また、ベクトル又は行列であるAに対し、ATはAの転置を表す。
<従来の音声認識装置>
図1を用いて、例えば非特許文献1に示される、従来の音声認識装置について説明する。図1は、従来の音声認識装置に係る音声認識装置の構成の一例を示す図である。図1に示すように、音声認識装置10aは、特徴量抽出部101a、出力確率計算部102a、単語列検索部103aを有する。また、音声認識装置10aは、記憶部150aと接続される。
記憶部150aは、音響モデル及び言語モデルをあらかじめ記憶する。音響モデルは、音声の音響的特徴をモデル化したものである。言語モデルは、音素や単語といった多数のシンボル系列から構成されている。例えば、言語モデルは、単語列の生成確率をモデル化したものであるといえる。一般的に、音声認識用の音響モデルは、各音素をLeft to rightのHMMであり、ニューラルネットワーク(以下、NN(Neural Network)と称す)で計算されたHMMの各状態の出力確率分布を含む。
すなわち、記憶部150aに記憶されている音響モデルは、音素等の各シンボルにおけるHMMの状態遷移確率、i番目の隠れ層に関する重み行列Wi及びバイアスベクトルbi、アクティベーション関数のパラメータ等を含むNNのパラメータである。ここで、iは、隠れ層のインデックスである。これらを音響モデルパラメータと称し、その集合をΛ={W1,b1,・・・,WI,bI}(Iは、隠れ層の総数に1を足した数、すなわち隠れ層と出力層の総数)とする。言語モデルは、音素や単語といった多数のシンボル系列Sjから構成されており、P(Sj)は言語モデルによって得られるシンボル系列Sjの確率(言語確率)である。なお、シンボル系列Sjとは、音声認識結果となりうる、音素や単語等からなるシンボルの系列である。
特徴量抽出部101aは、認識用音声データを読み込み、認識用音声データから音声特徴量を抽出する。音声特徴量としては、例えば、MFCC(Mel Frequency Cepstral Coefficient)、LMFC(log Mel Filterbank coefficients)、ΔMFCC(MFCCの1回微分)、ΔΔMFCC(MFCCの2回微分)、対数(スペクトル)パワー、Δ対数パワー(対数パワーの1回微分)等がある。
そして、特徴量抽出部101aは、フレーム毎に当該フレーム及びその前後5フレーム程度の連続する各フレームから得られる特徴量を連結し、10〜2000次元程度の音声特徴量ベクトルon(nは、1,・・・,Nの自然数)を生成する。そして、特徴量抽出部101aは、下記(1)式のように、全てのフレームについての音声特徴量ベクトルonをまとめた音声特徴量ベクトル系列Oを生成する。音声特徴量ベクトル系列Oは、1からNフレーム目までのD次元ベクトルで表現されるデータである。例えば、フレーム長は、30ms程度、フレームシフト長は、10ms程度である。
出力確率計算部102aは、記憶部150aから音響モデルパラメータΛを読み込み、読み込んだ音響モデルパラメータΛに基づき、音声特徴量ベクトル系列Oの各フレームnに対する音響モデルの各HMM状態の出力確率を計算する。HMM状態の出力確率は、例えば非特許文献1の(2)式で表されるようなNNの出力である。
図2は、従来の音声認識装置の処理の概要の一例を示す図である。図2に示すように、従来技術の音声認識に音響モデルを表すNNは、入力と出力との間に、1以上の隠れ層を有する。NNの入力は、音声特徴量ベクトルonであり、最前段の隠れ層へ入力される。NNの出力は、最後段の隠れ層によるHMM状態の出力確率である。出力確率計算部102aが行う各隠れ層における計算は、線形変換による処理及びアクティベーション関数による処理の2つの処理を含む。各隠れ層における線形変換は、下記(2)式のようになる。
ただし、上記(2)式において、ベクトルzi,nは、i番目(iは自然数であり、i=1,2,・・・,I(ただしIは隠れ層の総数に1を足した数、すなわち隠れ層と出力層の総数))の隠れ層における線形変換の出力であり、ベクトルxi−1,nは(i−1)番目の隠れ層の出力である。なお、ベクトルx0,nは、NNの入力である音声特徴量ベクトルonである。また、アクティベーション関数の出力は、下記(3)式のようになる。
ただし、上記(3)式において、ベクトルxi,nはi番目の隠れ層の出力であり、σは、例えばsigmoid関数等のアクティベーション関数であり、σ(ベクトルzi,n)ベクトルの要素毎に計算される。すなわち、出力確率計算部102aは、i番目の隠れ層において、前段の隠れ層である(i−1)番目の隠れ層の出力であるベクトルxi−1,nに対し上記(2)式による線形変換を行った結果であるベクトルzi,nに対して、上記(2)式による処理を行った結果であるベクトルxi,nを出力する。そして、出力確率計算部102aは、各ベクトルxi,n(i=1,2,・・・,I)に基づき、音声特徴量ベクトル系列Oの各フレームnに対する音響モデルの各HMM状態の出力確率を計算する。
単語列検索部103aは、出力確率計算部102aにより計算された各HMM状態の出力確率に基づき、J個(Jは自然数)の対立候補シンボル系列Sjを生成し、対立候補シンボル系列Sj毎に、音響モデルとの適合尤度を示す音響スコアを計算する。シンボルは、例えば、音素である。ここで、j=1,2,・・・,Jである。次に、単語列検索部103aは、記憶部150aから言語モデルを用いて、対立候補シンボル系列Sj毎に、言語モデルとの適合尤度を示す言語スコアを計算する。そして、単語列検索部103aは、計算した音響スコア及び言語スコアに基づき、J個の対立候補シンボル系列Sjの中から、認識用音声データに対応する単語列として最も確からしい、つまり、音響スコア及び言語スコアを統合したスコアが最も高い対立候補シンボル系列を、記憶部150aに記憶される言語モデルから検索し、検索した対立候補シンボル系列を、認識結果である単語列^Sとして出力する。
図3は、従来の音声認識装置に係る音声認識処理の一例を示すフローチャートである。まず、音声認識装置10aは、記憶部150aから、音響モデルを読み込む(ステップS101a)。次に、音声認識装置10aは、記憶部150aから、言語モデルを読み込む(ステップS102a)。次に、音声認識装置10aは、認識用音声データを読み込む(ステップS103a)。次に、音声認識装置10aは、読み込んだ認識用音声データから音声特徴量を抽出する(ステップS104a)。次に、音声認識装置10aは、音響モデルを用いて、音声特徴量を基に、音響モデルの出力確率を計算する(ステップS105a)。次に、音声認識装置10aは、出力確率及び言語スコアに基づき、言語モデルから単語列を検索する(ステップS106a)。次に、音声認識装置10aは、検索した単語列を出力する(ステップS107a)。
<補助特徴量を用いた音声認識装置>
前述の通り、周囲の雑音環境や話者の多様性等により、音響モデル学習装置で学習される音声データと音声認識装置に入力される音声データとで音声の特徴が一致せず、音声認識装置による音声認識の精度が低下する場合があり、これに対し、補助特徴量を用いて、音響モデルのパラメータを音響条件に適応させる音響モデルの学習方法及び音声認識方法として、CADNN(Context Adaptive Deep Neural Network)が知られている(例えば、参考文献3:M. Delcroix, K. Kinoshita, T. Hori, T. Nakatani, “Context adaptive deep neural networks for fast acoustic model adaptation,” in Proc. IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2015 , pp.4535-4539, 2015.)。
ここで、図4等を用いて、補助特徴量を用いた音声認識装置について説明する。図4は、補助特徴量を用いた音声認識装置の処理の概要の一例を示す図である。図4に示すように、NNの隠れ層は、音響条件特徴量を示すベクトル(以下、「音響条件特徴量ベクトル」と称す)の要素毎に分解された形になっている。図4の例では、NNの隠れ層は、音響条件特徴量を示すベクトル(以下、「音響条件特徴量ベクトル」と称す)の要素ごとに分解された形になっている。図4の例では、1つの隠れ層(i番目の隠れ層)が分解されている状態を示すが、少なくとも1つの隠れ層又は全ての隠れ層を分解するとしてもよい。分解された隠れ層の線形変換後の出力は、下記(4)式のように計算する。
ただし、上記(4)式におけるyk,nは、n番目のフレームから抽出された音響条件特徴量ベクトルyn∈RK(K次元実数空間)のk番目(kは1,2,・・・,Kなる自然数、Kは音響条件の数を示す自然数)の要素である。以下、音響条件特徴量yk,nと称す。また、上記(4)式における重み行列Wi,kは、i番目の隠れ層における音響条件特徴量ベクトルyk,nに対する線形重み行列である。また、上記(4)式におけるバイアスベクトルbi,kは、i番目の隠れ層における音響条件特徴量ベクトルyk,nに関するバイアスベクトルである。このように、CADNNは、隠れ層をK個の音響条件の要素に分解して表現する。また、音響条件特徴量は、補助特徴量を入力としたときの、音響条件特徴量計算モデルの出力である。
図5を用いて、補助特徴量を用いた音声認識装置の構成について説明する。図5は、補助特徴量を用いた音声認識装置の構成の一例を示す図である。図5に示すように、補助特徴量を用いた音声認識装置10bは、特徴量抽出部101b、補助特徴量抽出部102b、音響条件特徴量計算部103b、出力確率計算部104b及び単語列検索部105bを有する。また、音声認識装置10bは、記憶部150bと接続される。
記憶部150bは、音声認識装置10aの記憶部150aと同様に、音響モデル及び言語モデルをあらかじめ記憶する。さらに、記憶部150bは、音響条件特徴量計算モデルを記憶する。また、特徴量抽出部101bは、音声認識装置10aの特徴量抽出部101aと同様に、認識用音声データを読み込み、認識用音声データから音声特徴量を抽出する。
補助特徴量抽出部102bは、認識用音声データを読み込み、下記(5)式で表される補助特徴量ベクトルUを抽出し、抽出した補助特徴量ベクトルuを、音響条件特徴量計算部103bに出力する。ただし、下記(5)式のLは補助特徴量ベクトルuの次元を表す。
補助特徴量は、例えば、話者性や、雑音、残響等の環境の特徴等を表す。例えば、補助特徴量としては、話者性を表すために、i−vectorやBottleneck特徴量計算モデルが使われる場合がある。また、音声特徴量が、時間フレームごとに異なるのに対し、補助特徴量は、1発話の中や、1人の話者の複数の発話の中では、時間フレームにかかわらず同一となる。
音響条件特徴量計算部103bは、補助特徴量を基に、音響条件特徴量を計算し、計算した音響条件特徴量を、出力確率計算部104bに出力する。また、出力確率計算部104bは、特徴量抽出部101bによって抽出された音声特徴量と、音響条件特徴量計算部103bによって計算された音響条件特徴量とを基に、HMM状態の出力確率を計算する。出力確率計算部104bは、2つの特徴量が入力される点で、音声認識装置10aの出力確率計算部102aと異なる。
単語列検索部105bは、音声認識装置10aの単語列検索部103aと同様に、出力確率計算部104bによって計算されたHMM状態の出力確率と、言語モデルとを基に、単語列を検索する。
図6は、補助特徴量を用いた音声認識処理の一例を示すフローチャートである。まず、音声認識装置10bは、記憶部150bから、音響モデルを読み込む(ステップS101b)。次に、音声認識装置10bは、記憶部150bから、音響条件特徴量計算モデルを読み込む(ステップS102b)。次に、音声認識装置10bは、記憶部150bから、言語モデルを読み込む(ステップS103b)。次に、音声認識装置10bは、認識用音声データを読み込む(ステップS104b)。次に、音声認識装置10bは、読み込んだ認識用音声データから音声特徴量を抽出する(ステップS105b)。次に、音声認識装置10bは、認識用音声データから補助特徴量を抽出する(ステップS106b)。次に、音声認識装置10bは、補助特徴量を基に、音響条件特徴量を計算する(ステップS107b)。次に、音声認識装置10bは、音響モデルを用いて、音声特徴量と、音響条件特徴量とを基に、音響モデルの出力確率を計算する(ステップS108b)。次に、音声認識装置10bは、出力確率及び言語スコアに基づき、言語モデルから単語列を検索する(ステップS109b)。次に、音声認識装置10bは、検索した単語列を出力する(ステップS110b)。
<Bottleneck特徴量計算モデル学習装置>
前述の通り、補助特徴量としては、話者性を表すためにBottleneck特徴量が使われる場合がある(参考文献1:Souvik Kundu, Gautam Mantena, Yanmin Qian, Tian Tan, Marc Delcroix, Khe Chai Sim, “JOINT ACOUSTIC FACTOR LEARNING FOR ROBUST DEEP NEURAL NETWORK BASED AUTOMATIC SPEECH RECOGNITION,” ICASSP 2016.)。
ここで、図7を用いて、BottleneckNNであるBottleneck特徴量計算モデルについて説明する。図7は、Bottleneck特徴量計算モデルの概要の一例を示す図である。図7に示すように、Bottleneck特徴量計算モデルでは、中間層の1つを、他の層よりも少ないユニットを持つBottleneck層としている。
ここで、図8に示す、Bottleneck特徴量計算モデルを学習するBottleneck特徴量計算モデル学習装置の例を用いて、Bottleneck特徴量計算モデルの学習について説明する。図8は、Bottleneck特徴量計算モデル学習装置の構成の一例を示す図である。Bottleneck特徴量計算モデル学習装置30cは、音声特徴量から、話者や環境を示すインデクスを予測し学習を行う。
図8に示すように、Bottleneck特徴量計算モデル学習装置30cは、特徴量抽出部301c、学習部302c及び記憶部350cを有する。記憶部350cは、Bottleneck特徴量計算モデルを記憶する。具体的には、記憶部350cは、Bottleneck特徴量計算モデルのパラメータΩを記憶する。
パラメータΩは、i´´番目の隠れ層に関する重み行列W´´i´´及びバイアスベクトルb´´i´´、アクティベーション関数のパラメータ等を含むBottleneckNNのパラメータである。ここで、i´´は、隠れ層のインデックスである。これらのパラメータの集合をΩ={W´´1´´,b´´1´´,・・・,W´´I´´,b´´I´´}(I´´は、隠れ層の総数に1を足した数、すなわち隠れ層と出力層の総数)とする。
特徴量抽出部301cは、音声認識装置10aの特徴量抽出部101aと同様に、学習用音声データを読み込み、学習用音声データから音声特徴量ベクトル系列Oを抽出する。学習部302cは、下記(6)式に示すように、特徴量抽出部301cによって抽出された音声特徴量ベクトル系列Oと話者インデクスTrを用いて、目的関数FΩが最大となるようパラメータΩを推定する。
なお、FΩは、例えばCross Entropyである。また、非特許文献3に記載されているように、上記(6)式の最適化問題は、SGD(Stochastic Gradient Descent)法で解き、そのためのパラメータに対する微分はError backpropagationアルゴリズムで計算することができる。
図9は、Bottleneck特徴量計算モデル学習処理の一例を示すフローチャートである。まず、Bottleneck特徴量計算モデル学習装置30cは、記憶部350cから、Bottleneck特徴量計算モデルを読み込む(ステップS301c)。次に、Bottleneck特徴量計算モデル学習装置30cは、学習用音声データを読み込む(ステップS302c)。次に、Bottleneck特徴量計算モデル学習装置30cは、話者インデクスを読み込む(ステップS303c)。次に、Bottleneck特徴量計算モデル学習装置30cは、学習用音声データから音声特徴量を抽出する(ステップS304c)。次に、Bottleneck特徴量計算モデル学習装置30cは、音声特徴量及び話者インデクスを用いて、Bottleneck特徴量計算モデルを学習する(ステップS305c)。次に、Bottleneck特徴量計算モデル学習装置30cは、学習したBottleneck特徴量計算モデルのパラメータを出力する(ステップS306c)。
<Bottleneck特徴量を用いた補助特徴量計算装置>
図10の例を用いて、Bottleneck特徴量を用いた補助特徴量の計算方法を説明する。図10は、Bottleneck特徴量を用いた補助特徴量計算装置の構成の一例を示す図である。図10に示すように、補助特徴量計算装置40dは、特徴量抽出部401d、Bottleneck特徴量計算部402d、平均計算部403d及び記憶部450dを有する。記憶部450dは、Bottleneck特徴量計算モデル学習装置30cの記憶部350cと同様に、Bottleneck特徴量計算モデルを記憶する。
また、特徴量抽出部401dは、Bottleneck特徴量計算モデル学習装置30cの特徴量抽出部301cと同様に、学習用又は認識用の音声データを読み込み、音声データから音声特徴量ベクトル系列Oを抽出する。
また、Bottleneck特徴量計算部402dは、特徴量抽出部401dで抽出された音声特徴量を基に、Bottleneck特徴量unを計算する。Bottleneck特徴量unは、図7に示す通り、Bottleneck層の出力である。
平均計算部403dは、下記(7)式により、Bottleneck特徴量計算部402dによって計算されたBottleneck特徴量unの全フレームの平均を計算する。ただし、Nはフレーム数であり、例えば1発話分のフレームの数を表す。そして、平均計算部403dによって計算された平均が、補助特徴量として出力される。
図11は、Bottleneck特徴量を用いた補助特徴量計算処理の一例を示すフローチャートである。まず、補助特徴量計算装置40dは、記憶部450dから、Bottleneck特徴量計算モデルを読み込む(ステップS401d)。次に、補助特徴量計算装置40dは、音声データを読み込む(ステップS402d)。次に、補助特徴量計算装置40dは、音声データから音声特徴量を抽出する(ステップS403d)。次に、補助特徴量計算装置40dは、音声特徴量を用いて、Bottleneck特徴量を計算する(ステップS404d)。次に、補助特徴量計算装置40dは、Bottleneck特徴量の平均を計算する(ステップS405d)。
[第1の実施形態]
第1の実施形態では、補助特徴量の計算を逐次処理とすることで、音声認識における遅延を低減させる。つまり、補助特徴量を計算する際、補助特徴量計算装置40dでは1発話ごとにBottleneck特徴量の平均を計算していたのに対し、本実施形態では、過去の音声データのみを用いて、下記(8)式のような移動平均を計算する。
ただし、vnは補助特徴量であり、un=f(on,Ω)は、Bottleneck特徴量計算モデルの、Bottleneck層の出力である。また、上記(8)式は下記(9)式のように表すことができる。
さらに、忘却因子αを導入する場合、上記(9)式は下記(10)式のように表すことができる。ただし、αは0<α≦1の係数である。
このように、上記(8)式〜(10)式により計算された補助特徴量vnを利用することで、音声認識時に遅延を低減させることができる。図12は、第1の実施形態に係る音声認識装置の処理の概要の一例を示す図である。図12に示すように、音響モデルのNN151に、音響条件特徴量計算モデルのNN152、及び、vnを出力とする補助特徴量を計算するNN153を、直接的又は間接的に接続させることができる。このため、第1の実施形態では、回帰型NNを構築することができ、補助特徴量を計算するNN153を、NN151及びNN152と同時に最適化することが可能となる。なお、NN153は、Feed forward型のNNであってもよい。
ここで、NN153の出力は、下記(11)式で表される。
ただし、onは入力特徴量であり、パラメータΩは、i´´番目の隠れ層に関する重み行列W´´i´´及びバイアスベクトルb´´i´´、アクティベーション関数のパラメータ等を含むBottleneckNNのパラメータである。ここで、i´´は、隠れ層のインデックスである。これらのパラメータの集合をΩ={W´´1´´,b´´1´´,・・・,W´´I´´,b´´I´´}(I´´は、隠れ層の総数に1を足した数、すなわち隠れ層と出力層の総数)とする。
ここで、CADNNであるNN151のパラメータと、BottleneckNNであるNN153のパラメータの同時最適化を実現するため、Bottleneck特徴量の平均処理は回帰型NNとして書き換える。その結果、従来の回帰型NNと同様な最適化方法であるBack Propagation Through Time(参考文献2:D. Yu and L. Deng, “Automatic speech recognition:A deep learning approach,”Springer,2015.)によって全体最適化が可能になる。このとき、NN153のパラメータΩの微分値は、下記(12)式で表される。
なお、上記(12)式のFは最適化基準を表す。Fは、例えばCross Entropyである。また、δi´´,nは、逆伝搬した誤差を表し、下記(13)式によって計算される。
<Online CADNNを用いた音声認識装置>
以降、本実施形態の計算モデルをOnline CADNNとよぶ。ここで、図13を用いて、本実施形態の音声認識装置の構成について説明する。図13は、第1の実施形態に係る音声認識装置の構成の一例を示す図である。図13は、第1の実施形態に係る音声認識装置に係る音声認識装置の構成の一例を示す図である。図13に示すように、音声認識装置10は、特徴量抽出部11、補助特徴量計算部12及び音声認識部13を有する。また、補助特徴量計算部12には、Bottleneck特徴量計算部121及び平均計算部122が含まれる。また、音声認識部13には、音響条件特徴量計算部131、出力確率計算部132、単語列検索部133、及び記憶部150が含まれる。また、記憶部150は、音響モデルパラメータΛ及びBottleneck特徴量計算モデルパラメータΩを記憶する。
特徴量抽出部11は、音声データの各フレームについて、音声データの特徴量である第1の入力特徴量と、音声データの音響条件に関する特徴量である第2の入力特徴量と、を抽出する。また、第1の入力特徴量は、例えば、音声認識装置10aの特徴量抽出部101aで抽出される音声特徴量ベクトル系列Oと同様である。
なお、第2の入力特徴量は、第1の入力特徴量と同一のものであってもよいし、第1の入力特徴量と異なるものであってもよい。また、第2の入力特徴量は、音声データから抽出されたものであってもよいし、音声データ以外のデータから抽出されたものであってもよい。例えば、特徴量抽出部11は、音声以外のデータとして、当該音声データに係る音声を収集したマイクロホン等が備えられた移動体の、速度や加速度等から第2の特徴量を抽出することができる。
Bottleneck特徴量計算部121は、Bottleneck特徴量計算モデルパラメータと第2の入力特徴量とを基に、音声データの各フレームのBottleneck特徴量を、Bottleneck特徴量計算モデルを用いて計算する。具体的には、Bottleneck特徴量計算部121は、上記(11)式で示されるunを計算する。また、Bottleneck特徴量計算部121が計算するBottleneck特徴量は、NN153のBottleneck層の出力ということができる。
なお、本実施形態では、NN153が多層ニューラルネットワーク(DNN)である場合について説明しているが、NN153は、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)、BLSTM(Bidirectional Long Short-Term Memory)等であってもよい。
平均計算部122は、複数のフレームにおけるBottleneck特徴量の平均である補助特徴量を計算する。具体的には、平均計算部122は、上記(9)式又は(10)で示されるvnを計算する。
音響条件特徴量計算部131は、音響条件特徴量計算モデルパラメータと補助特徴量とを基に、音声データの音響条件の特徴を示す音響条件特徴量を、音響条件特徴量計算モデルを用いて計算する。また、音響条件特徴量は、例えば、音声認識装置10bの音響条件特徴量計算部103bで計算される音響条件特徴量と同様である。また、音響条件特徴量計算部131が計算する音響条件特徴量は、NN152の出力ということができる。
出力確率計算部132は、音響モデルパラメータを、音響条件特徴量を基に補正したパラメータである補正後パラメータを生成する。そして、出力確率計算部132は、第1の入力特徴量及び補正後パラメータを基にHMM状態の出力確率を計算する。出力確率計算部132は、音声認識装置10bの出力確率計算部104bと同様の処理を行う。
単語列検索部133は、第1の入力特徴量及び補正後パラメータを基に計算された音響モデルの出力確率と、言語モデルの生成確率と、を用いて、単語列を出力する。単語列検索部133は、音声認識装置10bの単語列検索部105bと同様の処理を行う。
これにより、本実施形態の音声認識装置10は、フレームごとに順次処理を行うことができるため、遅延を低減させた音声認識を行うことができる。音声認識装置10は、1フレームごとに処理を行ってもよいし、遅延として認識されない程度の範囲で、複数フレームごとに処理を行うようにしてもよい。以下に、音声認識装置10が1フレームごとに処理を行う場合の例を説明する。
特徴量抽出部11は、N個(ただし、1<N)のフレームで構成される音声データの各フレームについて、第1の入力特徴量と第2の入力特徴量とを順次抽出する。そして、Bottleneck特徴量計算部121は、特徴量抽出部11によって第2の入力特徴量が入力されるたびに、Bottleneck特徴量を計算する。
そして、平均計算部122は、Bottleneck特徴量計算部121によって、n番目(ただし、1<n≦N)の第2の入力特徴量についてのBottleneck特徴量が計算されるたびに、音声データの1番目からn番目までのBottleneck特徴量の平均を補助特徴量として計算する。なお、このとき、平均計算部122は、上記(10)式のように、n−1番目のフレームに関する前記Bottleneck特徴量の平均を用いてn番目のフレームに関する前記Bottleneck特徴量の平均を計算してもよい。
音響条件特徴量計算部131は、音響条件特徴量計算モデルパラメータ、及び補助特徴量を基に、n番目のフレームに関する音響条件特徴量を計算する。そして、出力確率計算部132は、音響モデルパラメータを、音響条件特徴量を基に補正し、n番目のフレームに関する補正後パラメータを生成する。そして、単語列検索部133は、n番目の第1の入力特徴量、及び補正後パラメータを基に計算された音響モデルの出力確率と、言語モデルの生成確率と、を用いて、単語列を出力する。
図14を用いて、音声認識装置10を用いた音声認識処理について説明する。図14は、第1の実施形態に係る音声認識装置の音声認識処理の一例を示すフローチャートである。図14に示すように、まず、音声認識装置10は、認識用音声データを読み込む(ステップS101)。次に、音声認識装置10は、記憶部150からBottleneck特徴量計算モデルを読み込む(ステップS102)。次に、音声認識装置10は、記憶部150から音響条件特徴量計算モデルを読み込む(ステップS103)。次に、音声認識装置10は、記憶部150から音響モデルを読み込む(ステップS104)。次に、音声認識装置10は、記憶部150から言語モデルを読み込む(ステップS105)。
そして、特徴量抽出部11は、認識用音声データから第1の入力特徴量を抽出し、認識用音声データ又はその他のデータから第2の入力特徴量を抽出する(ステップS106)。次に、Bottleneck特徴量計算部121は、Bottleneck特徴量計算モデルを用いて、第2の入力特徴量を基にBottleneck特徴量を計算する(ステップS107)。そして、平均計算部122は、Bottleneck特徴量の平均を計算する(ステップS108)。
そして、音響条件特徴量計算部131は、Bottleneck特徴量の平均を補助特徴量として、音響条件特徴量計算モデルを用いて、音響条件特徴量を計算する(ステップS109)。次に、出力確率計算部132は、第1の入力特徴量と、音響条件特徴量とを基に、音響モデルの出力確率を計算する(ステップS110)。具体的には、出力確率計算部132は、音響条件特徴量を用いて音響モデルパラメータを補正し、補正後の音響モデルを用いてHMM状態の出力確率を計算する。
次に、単語列検索部133は、出力確率及び言語スコアに基づき、言語モデルから単語列を検索する(ステップS111)。次に、単語列検索部133は、検索した単語列を出力する(ステップ112)。
次に、図15を用いて、音声認識装置10で用いられる各モデルを学習するための音響モデル学習装置について説明する。図15は、第1の実施形態に係る音響モデル学習装置の構成の一例を示す図である。図15に示すように、音響モデル学習装置20は、特徴量抽出部201、補助特徴量計算部202、音響条件特徴量計算部203、出力確率計算部204、エラー計算部205、音響モデルパラメータ微分値計算部206、音響モデルパラメータ更新部207、音響条件特徴量計算モデルパラメータ微分値計算部208、音響条件特徴量計算モデルパラメータ更新部209、収束判定部212及び記憶部250を有する。
記憶部250は、音響モデルを特徴付けるパラメータとして、音響モデルパラメータΛ={W1,n,b1,n|nは、1,2,・・・,Nなる自然数}を記憶する。ただし、Nは、後述のフレーム毎の音響条件特徴量ベクトルynを計算する対象である一発話の総フレーム数である。
また、記憶部250は、音響条件特徴量計算モデルを特徴付けるパラメータとして、音響条件特徴量計算モデルパラメータΘ={W´i´,b´i´,i´,・・・,I´}を記憶する。
また、記憶部250は、Bottleneck特徴量計算モデルを特徴付けるパラメータとして、Bottleneck特徴量計算モデルパラメータΩ={W´´i´´,b´i´,i´´,・・・,I´´}を記憶する。
特徴量抽出部201は、音声データの各フレームについて、音声データの特徴量である第1の入力特徴量と、音声データの音響条件に関する特徴量である第2の入力特徴量と、を抽出する。なお、特徴量抽出部201は、音声認識装置10の特徴量抽出部11と同様の処理を行う。
また、補助特徴量計算部202は、図示しないBottleneck特徴量計算部221及び平均計算部222を含む。Bottleneck特徴量計算部221は、Bottleneckニューラルネットワークで表されるBottleneck特徴量計算モデルを特徴付けるBottleneck特徴量計算モデルパラメータと、第2の入力特徴量と、を基に、音声データの各フレームのBottleneck特徴量を、Bottleneck特徴量計算モデルを用いて計算する。また、平均計算部222は、複数のフレームにおけるBottleneck特徴量の平均である補助特徴量を計算する。なお、Bottleneck特徴量計算部221及び平均計算部222は、それぞれ音声認識装置10のBottleneck特徴量計算部121及び平均計算部122と同様の処理を行う。
音響条件特徴量計算部203は、ニューラルネットワークで表される音響条件特徴量計算モデルを特徴付ける音響条件特徴量計算モデルパラメータと、補助特徴量と、を基に、音声データの音響条件の特徴を示す音響条件特徴量を、音響条件特徴量計算モデルを用いて計算する。なお、音響条件特徴量計算部203は、音声認識装置10の音響条件特徴量計算部131と同様の処理を行う。
出力確率計算部204は、音響条件特徴量計算モデルの出力層が結合されたニューラルネットワークで表される音響モデルを特徴付ける音響モデルパラメータを、音響条件特徴量を基に補正したパラメータである補正後パラメータを生成する。なお、出力確率計算部204は、音声認識装置10の出力確率計算部132と同様の処理を行う。
エラー計算部205は、出力確率計算部204により計算された各HMM状態の出力確率と、入力された正解シンボル系列−Sr(正解HMM状態)とに基づき、下記(14)式によりエラーベクトルδI,nを計算する。ただし、xI,nはNNに基づき計算されるネットワークの出力であり、dnは入力正解シンボル系列−Srから得られる正解HMM状態である。
また、音響モデルパラメータ微分値計算部206は、エラー計算部205によって計算された逆伝搬した誤差δI,nと、出力確率計算部204により補正された音響モデルパラメータ^Λに基づき、音響モデルパラメータ微分値を計算する。
音響モデルパラメータ更新部207は、補正後パラメータと第1の入力特徴量とを基に音響モデルパラメータを更新する。音響モデルパラメータ更新部207は、記憶部250から読み込んだ音響モデルパラメータΛと、音響モデルパラメータ微分値計算部206により計算された音響モデルパラメータ微分値とに基づき、下記(15)により音響モデルパラメータΛを更新する。
ただし、上記(15)式において、重み行列~Wi,k及びバイアスベクトル~bi,kは、更新した音響モデルパラメータ~Λであり、重み行列−Wi,k及びバイアスベクトル−bi,kは1つ前のステップで得られた音響モデルパラメータ−Λである。また、上記(15)式において、ηはSGDの変数であるLearning Rateであり、例えば0.1〜0.0001等の微小値である。ηは、音響モデルパラメータ補正用パラメータである。なお、音響モデルパラメータ微分値は、補正後パラメータと第1の入力特徴量とによって変化するため、音響モデルパラメータ更新部207は、補正後パラメータと第1の入力特徴量とを基に音響モデルパラメータを更新することになる。
音響条件特徴量計算モデルパラメータ微分値計算部208は、音響モデルパラメータ微分値計算部206によって計算された逆伝搬した誤差δi,nと、音響条件特徴量計算モデルパラメータΘに基づき、音響条件特徴量計算モデルパラメータの微分値を計算する。
音響条件特徴量計算モデルパラメータ更新部209は、補正後パラメータと第1の入力特徴量とを基に音響条件特徴量計算モデルパラメータを更新する。音響条件特徴量計算モデルパラメータ更新部209は、記憶部250から読み込んだ音響条件特徴量計算モデルパラメータΘと、音響条件特徴量計算モデルパラメータ微分値計算部208により計算された音響条件特徴量計算モデルパラメータの微分値とに基づき、下記(16)式により音響条件特徴量計算モデルパラメータΘを更新する。
ただし、上記(16)式において、重み行列~W´i´,k及びバイアスベクトル~b´i´,kは、更新した音響条件特徴量計算モデルパラメータ~Θであり、重み行列−W´i´,k及びバイアスベクトル−b´i´,kは、更新前の音響条件特徴量計算モデルパラメータ−Θである。また、上記(16)式において、η´はSGDの変数であるLearning Rateであり、例えば0.1〜0.0001等の微小値である。η´は、音響条件特徴量計算モデルパラメータ補正用パラメータである。なお、音響条件特徴量計算モデルパラメータ微分値は、補正後パラメータと第1の入力特徴量とによって変化するため、音響条件特徴量計算モデルパラメータ更新部209は、補正後パラメータと第1の入力特徴量とを基に音響条件特徴量計算モデルパラメータを更新することになる。
Bottleneck特徴量計算モデルパラメータ微分値計算部210は、音響条件特徴量計算モデルパラメータ微分値計算部208によって計算された逆伝搬した誤差δi´´,nと、Bottleneck特徴量計算モデルパラメータΩに基づき、音響条件特徴量計算モデルパラメータの微分値を計算する。
Bottleneck特徴量計算モデルパラメータ更新部211は、補正後パラメータと第1の入力特徴量とを基にBottleneck特徴量計算モデルパラメータを更新する。Bottleneck特徴量計算モデルパラメータ更新部211は、記憶部250から読み込んだBottleneck特徴量計算モデルパラメータΩと、Bottleneck特徴量計算モデルパラメータ微分値計算部210により計算されたBottleneck特徴量計算モデルパラメータの微分値とに基づき、下記(17)式によりBottleneck特徴量計算モデルパラメータΩを更新する。
ただし、上記(17)式において、重み行列~W´´i´´,k及びバイアスベクトル~b´´i´´,kは、更新したBottleneck特徴量計算モデルパラメータ~Ωであり、重み行列−W´´i´´,k及びバイアスベクトル−b´´i´´,kは、更新前のBottleneck特徴量計算モデルパラメータ−Θである。また、上記(17)式において、η´´はSGDの変数であるLearning Rateであり、例えば0.1〜0.0001等の微小値である。η´´は、Bottleneck特徴量計算モデルパラメータ補正用パラメータである。なお、Bottleneck特徴量計算モデルパラメータ微分値は、補正後パラメータと第1の入力特徴量とによって変化するため、Bottleneck特徴量計算モデルパラメータ更新部211は、補正後パラメータと第1の入力特徴量とを基にBottleneck特徴量計算モデルパラメータを更新することになる。
各パラメータの微分値計算には、例えば、従来のStochastic Gradient Descent(SGD)法を用いることもできる(例えば、参考文献2を参照)。また、パラメータ学習の高速化のために用いられるmomentumやL2 Regularizationをあわせて用いることもできる。また、各パラメータの更新には、Back Propagation Through Time(例えば、参考文献2を参照)を用いることができる。
収束判定部212は、音響モデルパラメータ~Λ、音響条件特徴量計算モデルパラメータ~Θ及びBottleneck特徴量計算モデルパラメータ~Ωについて、学習(推定)が所定の収束条件を満たすか否かを判定する。収束判定部212は、所定の収束条件を満たすと判定した場合には、収束条件充足判定時の音響モデルパラメータ~Λ、音響条件特徴量計算モデルパラメータ~Θ及びBottleneck特徴量計算モデルパラメータ~Ωを、音響モデル学習装置20の出力値として出力する。音響モデル学習装置20から出力された各パラメータ、例えば、記憶部250に記憶される。
一方、収束判定部212は、所定の収束条件を満たさないと判定した場合には、収束条件充足判定時の音響モデルパラメータ~Λを出力確率計算部204に出力し、音響条件特徴量計算モデルパラメータ~Θを音響条件特徴量計算部203に出力し、Bottleneck特徴量計算モデルパラメータ~ΩをBottleneck特徴量計算部221に出力する。そして、音響条件特徴量計算部203、出力確率計算部204、エラー計算部205、音響モデルパラメータ微分値計算部206、音響モデルパラメータ更新部207、音響条件特徴量計算モデルパラメータ微分値計算部208、音響条件特徴量計算モデルパラメータ更新部209、収束判定部212は処理を繰り返す。
このとき、所定の収束条件を満たすと判定した時の音響モデルパラメータ~Λ、音響条件特徴量計算モデルパラメータ~Θ及びBottleneck特徴量計算モデルパラメータ~Ωは、さらに記憶部250に記憶され、次回の処理における各パラメータの初期値として用いられるようにしてもよい。
なお、収束判定部212は、例えば、(1)1つ前のステップで得られた各パラメータと、更新された各パラメータとの差分が閾値以下になった場合、(2)収束条件充足判定の繰り返し回数が所定の回数以上になった場合、(3)学習用音声データの一部を用いて性能を評価した際に、所定の性能指標が所定値以上悪化した場合等のいずれかの所定条件に基づき、収束条件充足判定を行うことができる。
音響モデル学習装置20は、音声認識装置10と同様に、フレームごとに順次処理を行うことができる。音響モデル学習装置20は、1フレームごとに処理を行ってもよいし、複数フレームごとに処理を行うようにしてもよい。
図16を用いて、音響モデル学習装置20を用いた学習処理について説明する。図16は、第1の実施形態に係る音響モデル学習装置の学習処理の一例を示すフローチャートである。図16に示すように、まず、音響モデル学習装置20は、学習用音声データを読み込む(ステップS201)。次に、音響モデル学習装置20は、記憶部250からBottleneck特徴量計算モデルを読み込む(ステップS202)。次に、音響モデル学習装置20は、記憶部250から音響条件特徴量計算モデルを読み込む(ステップS203)。次に、音響モデル学習装置20は、記憶部250から音響モデルを読み込む(ステップS204)。次に、音響モデル学習装置20は、正解シンボル系列−Srを読み込む(ステップS205)。
そして、特徴量抽出部201は、学習用音声データから第1の入力特徴量を抽出し、学習用音声データ又はその他のデータから第2の入力特徴量を抽出する(ステップS206)。次に、補助特徴量計算部202は、Bottleneck特徴量計算モデルを用いて、第2の入力特徴量を基にBottleneck特徴量を計算し、さらにBottleneck特徴量の平均を計算することで補助特徴量を計算する(ステップS207)。次に、音響条件特徴量計算部203は、音響条件特徴量計算モデルを用いて、補助特徴量から音響条件特徴量を計算する(ステップS208)。
そして、出力確率計算部204は、第1の入力特徴量と、音響条件特徴量とを基に、音響モデルパラメータを補正し(ステップS209)、音響モデルの出力確率を計算する(ステップS210)。具体的には、出力確率計算部132は、音響条件特徴量を用いて音響モデルパラメータを補正し、補正後の音響モデルを用いてHMM状態の出力確率を計算する。
次に、エラー計算部205は、各HMM状態の出力確率と、入力された正解シンボル系列−Srとに基づき、エラーベクトルδI,nを計算する(ステップS211)。次に、音響モデルパラメータ微分値計算部206は、逆伝搬したエラーと補正された音響モデルパラメータとに基づき、音響モデルパラメータ微分値を計算する(ステップS212)。また、音響条件特徴量計算モデルパラメータ微分値計算部208は、逆伝搬したエラーと音響条件特徴量計算モデルパラメータとに基づき、音響条件特徴量計算モデルパラメータ微分値を計算する(ステップS213)。また、Bottleneck特徴量計算モデルパラメータ微分値計算部210は、逆伝搬したエラーとBottleneck特徴量計算モデルパラメータとに基づき、Bottleneck特徴量計算モデルパラメータ微分値を計算する(ステップS214)。
次に、音響モデルパラメータ更新部207は、音響モデルパラメータ微分値を用いて音響モデルパラメータを更新する(ステップS215)。また、音響条件特徴量計算モデルパラメータ更新部209は、音響条件特徴量計算モデルパラメータ微分値を用いて音響条件特徴量計算モデルパラメータを更新する(ステップS216)。また、音響条件特徴量計算モデルパラメータ更新部209は、Bottleneck特徴量計算モデルパラメータ微分値を用いてBottleneck特徴量計算モデルパラメータを更新する(ステップS217)。
次に、収束判定部212は、更新した各パラメータの学習が所定の収束条件を満たすか否かを判定する(ステップS218)。収束判定部212が所定の収束条件が満たされていないと判定した場合、(ステップS218No)、音響モデル学習装置20は、ステップS207、S208、S209へ処理を移す。
一方、収束判定部212が所定の収束条件が満たされたと判定した場合、(ステップS218Yes)、音響モデル学習装置20は、更新した各パラメータを出力する(ステップS219)。
(その他の実施形態)
実施形態では、DNN(CADNN)に基づく音響モデルを音響条件特徴量計算モデルと結合させる場合について説明したが、DNNに限らず、CNN、RNN、LSTM、BLSTMのニューラルネットワーク等、種々のニューラルネットワークに基づく音響モデルを音響条件特徴量計算モデルと結合させ、同様の定式化を行うことが可能である。また、本発明における音響モデルは、HMMに基づくものに限られずニューラルネットワークを用いて出力確率を計算する任意の音響モデルとすることができる。例えば、本発明における音響モデルは、CTC(Connectionist Temporal Classification)やencoder-decoderに基づくモデルであってもよい。
(実施形態による効果)
本実施形態の音声認識装置10の特徴量抽出部11は、音声データの各フレームについて、音声データの特徴量である第1の入力特徴量と、音声データの音響条件に関する特徴量である第2の入力特徴量と、を抽出する。また、Bottleneck特徴量計算部121は、Bottleneck特徴量計算モデルパラメータと第2の入力特徴量とを基に、音声データの各フレームのBottleneck特徴量を、Bottleneck特徴量計算モデルを用いて計算する。また、平均計算部122は、複数のフレームにおけるBottleneck特徴量の平均である補助特徴量を計算する。また、音響条件特徴量計算部131は、音響条件特徴量計算モデルパラメータと補助特徴量とを基に、音声データの音響条件の特徴を示す音響条件特徴量を、音響条件特徴量計算モデルを用いて計算する。また、出力確率計算部132は、音響モデルパラメータを、音響条件特徴量を基に補正したパラメータである補正後パラメータを生成する。また、単語列検索部133は、第1の入力特徴量と及び補正後パラメータを基に計算された音響モデルの出力確率と、言語モデルの生成確率と、を用いて、単語列を出力する。
これにより、任意の数のフレーム単位での音声認識を行うことができるようになり、例えば1発話分のフレーム単位で音声認識を行う場合に比べ、遅延を低減させることが可能となる。
また、特徴量抽出部11は、N個(ただし、1<N)のフレームで構成される音声データの各フレームについて、第1の入力特徴量と第2の入力特徴量とを順次抽出することができる。このとき、Bottleneck特徴量計算部121は、特徴量抽出部11によって第2の入力特徴量が入力されるたびに、Bottleneck特徴量を計算する。また、平均計算部122は、Bottleneck特徴量計算部121によって、n番目(ただし、1<n≦N)の第2の入力特徴量についてのBottleneck特徴量が計算されるたびに、音声データの1番目からn番目までのBottleneck特徴量の平均を補助特徴量として計算する。また、音響条件特徴量計算部131は、音響条件特徴量計算モデルパラメータ、及び補助特徴量を基に、n番目のフレームに関する音響条件特徴量を計算する。また、出力確率計算部132は、音響モデルパラメータを、音響条件特徴量を基に補正し、n番目のフレームに関する補正後パラメータを生成する。また、単語列検索部133は、n番目の第1の入力特徴量、及び補正後パラメータを基に計算された音響モデルの出力確率と、言語モデルの生成確率と、を用いて、単語列を出力する。
これにより、処理の待ち時間は1フレーム分となり、遅延をほぼ発生しないようにすることができる。
また、平均計算部122は、n−1番目のフレームに関する前記Bottleneck特徴量の平均を用いてn番目のフレームに関するBottleneck特徴量の平均を計算することができる。
これにより、フレームn個分のBottleneck特徴量を用いて平均を計算する場合と比べて、計算量を削減することが可能となる。
本実施形態の音響モデル学習装置20の特徴量抽出部201は、音声データの各フレームについて、音声データの特徴量である第1の入力特徴量と、音声データの音響条件に関する特徴量である第2の入力特徴量と、を抽出する。また、Bottleneck特徴量計算部221は、Bottleneckニューラルネットワークで表されるBottleneck特徴量計算モデルを特徴付けるBottleneck特徴量計算モデルパラメータと、第2の入力特徴量と、を基に、音声データの各フレームのBottleneck特徴量を、Bottleneck特徴量計算モデルを用いて計算する。また、平均計算部222は、複数のフレームにおけるBottleneck特徴量の平均である補助特徴量を計算する。また、音響条件特徴量計算部203は、ニューラルネットワークで表される音響条件特徴量計算モデルを特徴付ける音響条件特徴量計算モデルパラメータと、補助特徴量と、を基に、音声データの音響条件の特徴を示す音響条件特徴量を、音響条件特徴量計算モデルを用いて計算する。また、出力確率計算部204は、音響条件特徴量計算モデルの出力層が結合されたニューラルネットワークで表される音響モデルを特徴付ける音響モデルパラメータを、音響条件特徴量を基に補正したパラメータである補正後パラメータを生成する。また、音響モデルパラメータ更新部207は、補正後パラメータと第1の入力特徴量とを基に音響モデルパラメータを更新する。また、音響条件特徴量計算モデルパラメータ更新部209は、補正後パラメータと第1の入力特徴量とを基に音響条件特徴量計算モデルパラメータを更新する。また、Bottleneck特徴量計算モデルパラメータ更新部211は、補正後パラメータと第1の入力特徴量とを基にBottleneck特徴量計算モデルパラメータを更新する。
表1に、音声認識タスクCHiME3において、各手法を用い、音響モデルを発話ごとに発話者に対して教師なし適応させた時の結果(単語誤り率)を表している。従来法(CADNN)では、音響条件特徴量の計算のために、1発話分(数秒)の遅延が生じる。一方、本発明(Online CADNN)では、遅延はほぼ発生しない。このため、本発明は、遅延を低減したうえで、高い認識性能を発揮できる。
(音響モデル学習装置及び音声認識装置の装置構成について)
音声認識装置10及び音響モデル学習装置20の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要さない。すなわち、音声認識装置10及び音響モデル学習装置20の機能の分散及び統合の具体的形態は図示のものに限られず、全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。例えば、Bottleneck特徴量計算部121及び平均計算部122は、一体の機能部であってもよい。
また、例えば、音声認識装置10及び音響モデル学習装置20は、一体の装置であってもよい。音声認識装置10及び音響モデル学習装置20が一体の装置である場合には、音声認識装置10及び音響モデル学習装置20において同様の機能を有する各機能部は1つに統合されてもよい。
また、音声認識装置10及び音響モデル学習装置20における各処理は図示のものに限られず、処理順序の入れ替え、及び処理の統合や分離をすることができる。例えば、実施形態におけるステップS212〜S217は、S212、S215、S213、S216、S214、S217の順で実行されてもよい。
また、音声認識装置10及び音響モデル学習装置20において行われる各処理は、全部又は任意の一部が、CPU等の処理装置及び処理装置により解析実行されるプログラムにて実現されてもよい。音声認識装置10及び音響モデル学習装置20において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともできる。また、実施形態において説明した各処理のうち、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
(プログラム)
一実施形態として、音響モデル学習装置及び音声認識装置は、パッケージソフトウェアやオンラインソフトウェアとして上記の音響モデル学習又は音声認識を実行する音響モデル学習プログラム又は音声認識プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の音響モデル学習プログラム又は音声認識プログラムを情報処理装置に実行させることにより、情報処理装置を音響モデル学習装置又は音声認識装置として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、音響モデル学習装置及び音声認識装置は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の音響モデル学習又は音声認識に関するサービスを提供するサーバ装置として実装することもできる。例えば、音響モデル学習装置は、学習用音声データを入力とし、音響条件の計算モデルを出力とする音響モデル学習サービスを提供するサーバ装置として実装される。また、例えば、音声認識装置は、認識用音声データを入力とし、認識結果の単語列を出力とする音声認識サービスを提供するサーバ装置として実装される。これらの場合、音響モデル学習装置及び音声認識装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の音響モデル学習又は音声認識に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図17は、プログラムが実行されることにより、実施形態に係る音声認識装置及び音響モデル学習装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、音響モデル学習装置又は音声認識装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、音響モデル学習装置又は音声認識装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。