【文献】
K. Kumatani; R. Singh; F. Faubel; J. McDonough; Y. Oualil,Joint constrained maximum likelihood regression for overlapping speech recognition,Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on ,米国,IEEE,2013年 5月26日,p.121 - 125 ,ISSN:1520-6149
(58)【調査した分野】(Int.Cl.,DB名)
前記音響モデルを構築するステップは、話者毎の音声と話者毎の書き起こしとの1以上の組、および、前記話者混合音声と該話者混合音声に対する書き起こしとの1以上の組を用いて、前記同時発話部分を表す音響単位が含まれる複数の音響単位の音響モデルを学習するステップである、請求項2に記載の構築方法。
前記作成するステップは、音響モデル用の話者混合音声に対する書き起こしを作成するステップと、言語モデル用の話者混合音声に対する書き起こしを作成するステップとを含み、前記音響モデル用の話者混合音声に対する書き起こしを作成するステップは、前記コンピュータ・システムが、
前記複数の話者間で時間上重なる所定の書き起こし部分に関し、いずれの話者が支配的であるかを判断するステップと、
いずれかの話者が支配的であると判断された場合、前記同時発話部分であることを示す単位への置き換えに代えて、支配的である話者に対応する書き起こし部分を採用するステップと
を含む、請求項1〜7のいずれか1項に記載の構築方法。
前記構築方法は、さらに、前記コンピュータ・システムが、所定規則に従って同時発話が発生するとして、該同時発話部分であることを示す言語単位が含まれる、前記音声認識モデルを構成する言語モデルを形成するステップをさらに含む、請求項1〜5のいずれか1項に記載の構築方法。
前記言語モデルは、n−gramモデルまたはニューラル・ネットワーク・モデルであり、前記音響モデルは、HMM−GMMまたはHMM−DNNである、請求項1〜9のいずれか1項に記載の構築方法。
請求項1〜10のいずれか1項に記載の構築方法により構築された音声認識モデルに基づいて、入力される音声から、同時発話部分を識別しながら、音声認識結果を出力する、音声認識方法。
前記音響モデル構築部は、前記同時発話部分であることを示す単位に対応付けられる同時発話部分を表す音響単位を定義し、該音響単位を少なくとも含む音響モデルを学習しながら、前記音声認識モデルを構成する音響モデルを構築する、請求項12に記載のコンピュータ・システム。
前記言語モデル構築部は、前記話者混合音声に対する書き起こしに基づき、前記同時発話部分であることを示す単位を言語単位として含む言語モデルを学習しながら、前記音声認識モデルを構成する言語モデルを構築する、請求項12または13に記載のコンピュータ・システム。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。なお、以下に説明する実施形態では、音声認識モデルを構築するための構築方法およびコンピュータ・システムとして、音声認識システム100が実行する音声認識モデルの構築方法および音声認識システム100を、一例として説明する。また、説明する実施形態による音声認識システム100は、構築された音声認識モデルに基づく音声認識方法を実装し、音声認識装置としても構成される。
【0019】
(音声認識システムの概略構成)
図1は、本発明の実施形態による音声認識システム100の構成を示すブロック図である。
図1に示すように、音声認識システム100は、音声データが入力される音声分析部102と、音声分析結果から音声認識モデルに基づき認識結果を出力する音声認識部104と、学習データの基づき音声認識モデルを構築する音声認識モデル構築部120とを含み構成される。
【0020】
音声分析部102には、例えばマイクロフォンで採音されたアナログ音声信号を所定のサンプリング周波数および所定のビット深度でサンプリングしてディジタル化された音声データが入力される。音声分析部102は、入力される音声データから、ヒトの発声機構に由来する音声の特性やヒトの聴覚の特性が考慮された音声の特徴量を抽出し、音声の特徴量の時系列を出力する。また、事前処理として、入力音声から発話された区間を検出する音声区間検出が施されてもよい。なお、音声データは、音声ファイルとして入力されてもよいし、マイクロフォンなどの録音デバイスから直接入力されてもよいし、ネットワークソケットを経由して入力されてもよく、特に限定されるものではない。
【0021】
音声認識部104は、入力される音声の特徴量の時系列から、音声認識モデルに基づいて、最も尤もらしい発話内容を推定し、認識結果を出力する。説明する実施形態では、音声認識モデルは、言語モデル106、音響モデル108および辞書110を含み構成される。以下、まず、音声認識モデルの概略について説明する。
【0022】
ここで、音声データを特徴量の時系列として構成した音声の時系列特徴量を、X={x
t}と表す。音声分析部102は、所定長の時間窓およびフレーム周期で音声分析を行っており、ここで、t(=1,…,T)は、時間窓に対応するフレームのインデックスであり、x
tは、フレームtにおける所定次元の特徴量のベクトルである。また、Tは、音声データにおけるフレームの総数である。
【0023】
音声の特徴量としては、特に限定されるものではないが、メル周波数ケプストラム係数(MFCC,Mel Frequency Cepstral Coefficient)、LPC(Linear Predictive Coding)ケプストラム係数、PLP(Perceptual Linear Prediction)ケプストラム係数などを挙げることができる。抽出された特徴量は、各フレーム毎の所定次元の特徴量のベクトルを構成する。音声の特徴量には、さらに、前後数フレームの特徴量を時間方向に回帰して得られるΔ特徴量、ΔのΔ特徴量であるΔΔ特徴量などの動的特徴量が含まれてもよい。
【0024】
音声認識処理は、音声の時系列特徴量Xから、対応する最も尤もらしい単語系列W^={w^
i}を推定する処理に相当する。ここで、i(=1,…,I)は、最尤の単語系列の単語を識別するインデックスであり、w^
iは、単語系列におけるi番目の単語である。Iは、単語系列に含まれる単語数である。
【0025】
統計的な枠組みで解く場合、音声認識は、argmax
W p(W|X)を求める問題として定式化され、ベイズの定理に基づいて、以下のように変形することができる。下記式中、p(W|X)は、時系列特徴量Xが与えられた時にラベル列Wが与えられる確率を表す。変形後のp(X|W)は、ラベル列Wが与えられた時に時系列特徴量Xを生成する確率を表し、p(W)は、ラベル列Wの事前分布を表す。
【0027】
上述した言語モデル106は、上記式中のlog p(W)を計算するためのモデルであり、単語などの所定の言語単位の連鎖に関する尤度を与える。言語モデル106としては、特に限定されるものではないが、好適には、n−gramモデルやニューラルネットワークに基づくモデルを用いることができる。
【0028】
上述した音響モデル108は、上記式中のlog p(X|W)を計算するためのモデルであり、音素などの所定の音響単位で標準的な特徴量パターンを保持し、入力と照合して尤度を与える。音響モデル108としては、特に限定されるものではないが、好適には、混合ガウス分布(GMM,Gaussian Mixture Model)を出力分布とした隠れマルコフモデル(HMM,Hidden Markov Model)であるHMM−GMMシステムや、HMM−GMMシステムにおけるGMMの代わりにDNN(Deep Neural Network)を用いたHMM−DNNシステムなどを挙げることができる。
【0029】
典型的には、言語モデル106は、単語単位でモデル化されるが、音響モデル108は、音素単位でモデル化される。辞書110は、認識の対象となる単語の集合を保持し、各単語と、各単語に対する音素の系列との対応付けを記述する。なお、言語モデル106のモデル化の言語単位は、説明する実施形態では、単語単位とするが、文字単位、音節単位、文節単位、クラスなど他の単位を用いることを妨げるものではない。また、音響モデル108のモデル化の音響単位は、説明する実施形態では、音素単位とするが、単語単位、音節単位など他の単位を用いることもできる。
【0030】
音声認識部104は、上記言語モデル106および音響モデル108を統合して、最尤の単語系列を探索する機能部であり、デコーダあるいは音声認識エンジンとして参照される。音声認識部104は、ステレオ音声の各チャンネル毎の音声またはモノラル音声を音声認識の対象とすることができる。音声認識部104は、入力された音声の時系列特徴量Xに基づき、所定の目的関数が最大になる単語系列W^を決定し、音声認識結果を出力する。
【0031】
音声認識モデル構築部120は、上述した言語モデル106および音響モデル108を、所与の学習データを用いて学習し、構築する。本実施形態においては、学習データとしては、書き起こし付きステレオ音声112が提供される。書き起こし付きステレオ音声112は、2者対話における話者毎のチャンネルを有する音声データであり、話者毎のチャンネルに対応して書き起こし(テキスト)が付されている。この書き起こしは、典型的には、人手で書き起こされたものであるが、機械によって自動的に付与された書き起こしが含まれることを妨げるものではない。
【0032】
音声認識モデル構築部120は、書き起こし付きステレオ音声112の各チャンネル毎の音声データから音声分析して得られる各チャンネル毎の音声の特徴量時系列と、正解ラベルとして与えられる各チャンネル毎の書き起こしとのセットを学習データとして用い、音声認識モデルを構成する言語モデル106および音響モデル108を学習する。
【0033】
上述したように、モノラル音声に対する音声認識は、ステレオ音声と比較して、その精度が劣化してしまうことが知られている。これは、対話において複数の話者の発話が重なり得るところ、モノラル音声では、まず、この発話が重なる部分での認識を誤りやすいためである。さらに、大語彙連続音声認識などの音声認識では、単語間のつながりを利用して認識精度を向上させているところ、発話が重なる部分で誤認識が発生してしまうと、その前後の認識結果に対しても影響を与え、バースト誤りを発生させてしまう可能性がある。また、モノラル音声に関しては、同時発話部分およびその発話内容をラベル付けする人的コストが非常に高いため、ステレオ音声に比較して、学習に充分な数の正解ラベルデータを入手することは難しい。
【0034】
そこで、本発明の実施形態による音声認識システム100では、書き起こし付きステレオ音声112を学習データとして用いて、モノラル音声にも対応可能な音声認識モデルを構築する。
【0035】
より具体的には、本発明の実施形態による音声認識システム100は、書き起こし付きステレオ音声112における話者毎の音声と、話者毎の書き起こしとの間のアライメントを取得し、話者毎の書き起こしを時間軸に沿って連結し、モノラル音声に対する書き起こしを作成する。その際に、複数の話者間で時間軸上重なる所定の書き起こし部分が、同時発話部分であることを示す単位に置き換えられる。そして、モノラル音声に対する書き起こしに基づき、音声認識モデルを構成する言語モデル106および音響モデル108の少なくとも一方を構築する。これにより、同時発話が発生し得る複数話者のモノラル音声であっても、同時発話部分を識別しながら音声認識することが可能となる。特に同時発話部分が言語的に予測されるので、バースト誤りの発生が抑制され、ひいては、音声認識の精度の向上が図られる。
【0036】
なお、本実施形態において、ステレオ音声の各チャンネルの音声は、対話における一方の話者の音声を他方の話者の音声から分離して録音されたものであり、本実施形態における話者分離音声を構成する。一方、モノラル音声は、対話における複数の話者の音声が混合して録音されたものであり、本実施形態における話者混合音声を構成する。
【0037】
さらに、以下に説明する実施形態では、2者対話を取り扱うものとし、Lチャンネルに一方の話者の音声が含まれ、Rチャンネルに他方の話者の音声が含まれるものとして、ステレオ音声を用いて説明する。しかしながら、学習に用いることができる音声は、これに限定されるものではない。他の実施形態では、3以上の話者による対話における各話者毎の話者分離音声を学習データとして用いることもできる。同様に、2者対話における複数の話者の音声が混合して構成されたモノラル音声を用いて説明するが、認識の対象とすることができる音声としては、これに限定されるものではない。当然に単一の話者のモノラル音声、ステレオ音声の各チャネルの音声を認識対象とすることができ、また、他の実施形態では、3以上の話者による対話における話者混合音声を認識対象とすることを妨げない。
【0038】
(音声認識モデル構築の概要)
以下、
図2〜
図17を参照しながら、本発明の実施形態による音声認識モデルの構築処理について、より詳細に説明する。
【0039】
図2は、本発明の実施形態による音声認識システム100を構成する音声認識モデル構築部120のより詳細なブロック図である。
図2に示すように、音声認識モデル構築部120は、アライメント部122と、音声合成部124と、言語モデル構築部130と、音響モデル構築部150とを含み構成される。
【0040】
アライメント部122は、書き起こし付きステレオ音声112におけるチャンネル毎の音声(音声の時系列特徴量)と、チャンネル毎の書き起こし(テキスト)との間の時間的なアライメントを取得する。時間的なアライメントを取得するため、アライメント部122は、強制アライメント(Forced Alignment)と呼ばれる手法を採用することができる。アライメント部122は、本実施形態におけるアライメント取得部を構成する。
【0041】
図3および
図4は、本発明の実施形態におけるアライメント部122が実行する、書き起こしをアライメントする処理を説明する図である。
図3は、言語が日本語である場合を例示し、
図4は、言語が英語である場合を例示する。
図3および
図4には、LチャンネルおよびRチャンネルの模式的な音声波形と、LチャンネルおよびRチャンネルの書き起こしとが示されている。なお、
図3および
図4に示す音声波形、単語レベルおよび音素レベルの書き起こしは、説明の便宜上模式的に示すものであり、
図3および
図4は、正確な音声波形および書き起こしの対応を示すものではない点に留意されたい。また、音声は、音声分析部102により、所定のフレーム周期の特徴量ベクトルの時系列に変形されているが、ここでは、説明の便宜上、音声波形に対応付けて示している点にも留意されたい。
【0042】
書き起こし付きステレオ音声112に含まれる書き起こしは、テキストとして提供される場合があるが、その場合は、テキストから、日本語の場合は形態素解析等により、英語の場合は分かち書きのスペースに基づいて、単語単位で区切られる。また、日本語であれば、辞書における各単語の発音形(かな)から、かな音素対応表により、単語単位から階層的にさらに音素単位で区切ることができる。言語が英語の場合も同様である。また、書き起こしとして、最初から単語系列さらに音素系列として与えられてもよい。
【0043】
アライメント部122は、単語レベルにおいては、各単語の時間軸上の対応する開始時点および終了時点の時間的位置(タイプスタンプやフレーム)を識別し、その情報を各単語に付す。アライメント部122は、音素レベルにおいては、各音素の時間軸上の対応する開始時点および終了時点の時間的位置を識別し、その情報を各音素に付す。各チャンネルの音声間の時間軸が合わせられれば、単語レベルおよび音素レベルの各レベルにおいて、両者の書き起こしにおける同時発話部分(
図3および
図4中でグレイ表示されている。)を特定することができる。
【0044】
ここで、再び
図2を参照する。音声合成部124は、書き起こし付きステレオ音声112の各チャンネルの音声を合成し、合成モノラル音声126を生成する。合成モノラル音声126は、ステレオ音声がモノラル音声として記録されていたとした場合の仮想的な音声である。合成モノラル音声126についても、生成された後、音声分析部102にて音声の時系列特徴量に変形される。音声合成部124は、本実施形態における音声合成部を構成する。
【0045】
言語モデル構築部130は、アライメント部122によるアライメント結果に基づき、言語モデル106を学習する。本実施形態による言語モデル構築部130は、複数の話者が同時発話する部分を、上述したアライメント部122が付した時間的位置に基づき特定し、ステレオ音声の書き起こし中における対応する書き起こし部分を、同時発話部分であることを示す単位で置き換えて、学習データを生成し、言語モデルを構築する。同時発話部分であることを示す単位は、好ましくは、言語モデルのモデル化の単位と一致し、説明する実施形態では単語単位であり、以下、オーバラップ語と参照する。つまり、構築される言語モデル106は、通常の単語のほか、オーバラップ語を含めてモデル化されたものとなる。なお、言語モデルのモデル化の単位を音節とする実施形態では、オーバラップ音節とすることができる。
【0046】
ここで、言語モデルについて、単語N−gramを一例として説明する。学習データの規模に合わせて、Nは、2,3,4などを用いることができる。Nが3であるトライグラムの場合は、w
iが所定単語となる確率が、前の単語w
i−2,w
i−1のみに依存するというモデルとなり、ラベル列Wを生成する確率は、下記式のように表すことができる。
【0048】
学習データから、p(w
x|w
y,w
z)を学習することになるが、学習データにおいて、w
xの出現した回数f
xと、w
y,w
zの次にw
xが出現した回数f
y,z→xとから、下記式により最尤推定することができる。
【0050】
トライグラムでは、取り得るすべての単語連鎖w
x,w
y,w
zの組み合わせについて、p(w
x|w
y,w
z)を用意したものが言語モデルの学習すべきパラメータとなる。学習データに現れないような組み合わせも存在するため、典型的には、学習データに出現した回数が極端に少ない単語連鎖の確率を補正する種々のスムージング・アルゴリズムが適用される。スムージング・アルゴリズムとしては、特に限定されるものではないが、例えば、Modified Kneser−Ney、Kneser−Ney、Good−Turing、Witten−Bellなどの種々のスムージング・アルゴリズムを挙げることができる。
【0051】
また、説明する実施形態では、言語モデル106にてモデル化される単語には、同時発話部分であることを示すオーバラップ語が含まれる。言語モデル106にオーバラップ語が含まれるので、どういう単語の連鎖が続いた場合に、オーバラップ語がどの程度の確率で生じるか、オーバラップ語を含む単語連鎖があった場合にどの単語がどの程度の確率で生じるかがモデル化されており、同時発話の発生を言語的に予測することが可能となる。
【0052】
音響モデル構築部150は、音声合成部124が生成した合成モノラル音声126およびアライメント部122によるアライメント結果に基づき、音響モデル108を学習する。本実施形態においては、上述したオーバラップ語に対応する音素(以下、オーバラップ音素と参照する。)が新たに定義される。音響モデル構築部150は、複数の話者が同時発話する音声部分を、上述したアライメント部122が付した時間的位置に基づき特定し、対応する書き起こし部分をオーバラップ語で置き換える。説明する実施形態では、音響モデル構築部150は、さらに、オーバラップ語にアライメントされる合成モノラル音声の部分を、オーバラップ音素に対応付けて学習データを生成し、音響モデル108を構築する。つまり、構築される音響モデル108は、同時発話部分であることを示すオーバラップ音素を含めてモデル化されたものとなる。
【0053】
ここで、音響モデルについて、音素単位のHMM−GMMシステムを一例として説明する。HMM−GMMシステムの音響モデルは、left−to−right型の隠れマルコフモデルが、各状態において混合ガウス分布に従って特徴量を出力するモデルとして構成される。HMM−GMMシステムの学習すべきパラメータは、HMMの状態iから状態jへの状態遷移確率a
ijと、各状態についてのGMMの各正規分布kの重みw
k、平均ベクトルμ
k、分散共分散行列σ
kである。GMMの各正規分布kの共分散行列は、計算量の観点から、対角行列と仮定されることが多く、その場合はσ
kはベクトルとなる。
【0054】
また、HMM−GMMシステムでは、1つの音素に対し、left−to−right型の複数状態、典型的には3状態程度のHMMを用いて、この複数状態HMMを音素の個数分だけ用意し、音声の時系列特徴量Xを生成するモデルを構成する。3状態HMMの場合は、音素の個数をN個とすれば、3×NのHMMの状態が存在することになり、この3×N個の状態それぞれが、その状態において音声の特徴量を出力する確率分布として、1つのGMMを有する。
【0055】
つまり、音声認識に用いるHMM−GMMの学習すべきパラメータは、状態数N×3分のGMMパラメータ{μ
k,σ
k,w
k}およびHMMの状態遷移確率{a
ij}となる。これらのパラメータは、EMアルゴリズムの一種であるバウム−ウェルチ(Baum-Weltch)アルゴリズムにより、書き起こし付き音声から最尤推定できることが知られている。また、最尤基準(MLE,Maximum Likelihood Estimation)のほか、相互情報量最大化(MMI,Maximum Mutual Information)基準、音素誤り率最小化(MPE,Minimum Phone Error)基準、BMMI(Boosted MMI)基準などの音響モデルの識別学習を適用することもできる。
【0056】
なお、説明する実施形態では、音響モデル108にてモデル化される音素には、同時発話部分であることを示すオーバラップ語に対応するオーバラップ音素が含まれる。音響モデル108にオーバラップ音素が含まれるので、オーバラップ語が与えられた場合に、時系列特徴量が出力される確率がモデル化されることになる。なお、辞書110には、オーバラップ語の発音がオーバラップ音素であるというエントリが記述されることになる。好適な実施形態では、オーバラップ語に対して1つのオーバラップ音素を対応付けることができるが、他の実施形態において、オーバラップ語に対して複数のオーバラップ音素を対応付けることを妨げるものではない。
【0057】
なお、音素単位のHMM−GMMシステムを採用する場合、観測される特徴量x
tは、前後の音素の影響を受けるため、好適な実施形態では、前後の音素コンテキストを考慮したトライフォンやペンタフォンのHMM−GMMを用いることができる。なお、その際に、オーバラップ音素は、モノフォンとして取り扱うことができる。また、その場合は、トライフォンやペンタフォンの数が、音素の数の3乗または5乗と大きくなるので、すべてに対して充分な学習データを確保することが難しくなる。このため、音響的特徴が類似するトライフォンまたはペンタフォンを状態単位でグループ化し、パラメータを共有して学習を行うことができる。どのトライフォンまたはペンタフォンのパラメータを共有するかの決定には、決定木アルゴリズムを利用することができる。
【0058】
なお、上述したおよび以下の説明においては、本発明の要旨に関連する部分を中心に説明し、関連性が薄い部分については説明を省略する。しかしながら、音声認識精度の向上のために行うことができる処理、例えば、音声データに対する音声区間検出、音響モデルの話者適応、特徴量の話者適応、音響モデルの雑音適応、特徴量強調、特徴量正規化、音響モデルの識別学習、特徴量の識別学習などの処理を、本発明の音響モデルおよび言語モデルの構築処理と組み合わせて適用できることはいうまでもない。
【0059】
(言語モデル構築)
以下、
図5〜
図7、
図11および
図12を参照しながら、本実施形態における言語モデルの構築処理について、より詳細に説明する。
【0060】
図5は、本発明の実施形態による音声認識システム100における音声認識モデル構築部120を構成する言語モデル構築部130のより詳細なブロックを示す。
図5に示すように、言語モデル構築部130は、言語モデル用モノラル音声書き起こし作成部132と、オーバラップ語含有言語モデル学習部136と、言語モデル統合部140とを含み構成される。
【0061】
言語モデル用モノラル音声書き起こし作成部132は、アライメント結果に基づき、ステレオ音声のチャンネル毎の書き起こしを時間軸に沿って連結し、合成モノラル音声に対する書き起こしを作成する。その際には、書き起こし作成部132は、複数のチャンネル間で時間軸上重なる所定の書き起こし部分を、同時発話部分であることを示すオーバラップ語に置き換える処理を行う。ここで作成された書き起こしを言語モデル用モノラル音声書き起こし134と参照する。
【0062】
言語モデルでは、オーバラップ語を発生させ得るあらゆる単語連鎖をモデル化することが好ましいため、好ましくは、単語の一部でしか時間軸上重なっていない場合でも、また一方の音声が支配的で音声的には認識可能である場合でも、すべての箇所をオーバラップ語に置き換える。なお、複数の単語にまたがって重複が生じる場合は、ステレオ音声のチャンネルのうちの重複にかかる単語数が大きい方の数のオーバラップ語に置き換えることができる。
【0063】
オーバラップ語含有言語モデル学習部136は、作成された言語モデル用モノラル音声書き起こし134に基づき、オーバラップ語を含む言語モデルを学習する。言語モデルがN−gramであれば、ここでは、各対話について用意された言語モデル用モノラル音声書き起こし134を学習データとして用いて、オーバラップ語を含めたあらゆる単語についての出現回数およびあらゆる単語連鎖の出現回数を計数することにより言語モデルが最尤推定される。この学習された言語モデルを、オーバラップ語含有言語モデル138と参照する。
【0064】
言語モデル統合部140は、学習されたオーバラップ語含有言語モデル138と、オリジナル言語モデル142とを統合して、音声認識モデルを構成する最終的な言語モデル106を形成する。オリジナル言語モデル142は、オーバラップ語を含まない学習データなどから学習される通常の音声認識で利用されていた言語モデルである。オリジナル言語モデル142は、書き起こし付きステレオ音声112の各チャンネルの書き起こし付き音声から学習された言語モデルであってもよいし、全く異なる学習データから学習された言語モデルであってもよい。
【0065】
言語モデル構築部130は、調整パラメータとして、オーバラップ語含有言語モデル138とオリジナル言語モデル142とを統合する際の重み144を保持する。言語モデル統合部140は、この重み144に従って言語モデルの統合を行う。このように、所定の重み付けして、オーバラップ語含有言語モデル138を、オリジナル言語モデル142に統合するのは、オーバラップ語含有言語モデル138の働きを適度に調整するためである。
【0066】
なお、N−gramの言語モデルの統合は、以下のように行われる。オリジナル言語モデル142にはオーバラップ語が含まれないので、オーバラップ語を含む単語連鎖に対して、ゼロの確率が保持された状態とみなすことができる。これに対して、オーバラップ語含有言語モデル138には、オーバラップ語を含まない単語連鎖にも、オーバラップ語を含む単語連鎖にも確率が与えられている。このため、オーバラップ語を含む単語連鎖に対しては、重み144に応じた割合(例えば、統合比がオリジナル:オーバラップ語含有=8:2であった場合、2/10)をかけた値となる。オリジナル言語モデル142に含まれる他の単語連鎖については、重み144に応じた重み付け平均値となる。
【0067】
図6は、本発明の実施形態による音声認識システム100における言語モデル構築処理を示すフローチャートである。
図6に示す処理は、例えば音声認識システム100を構成するコンピュータに対しユーザから音声認識モデル構築の指示が行われたことに応答して、ステップS100から開始される。ステップS101〜ステップS104のループでは、音声認識システム100を構成するコンピュータは、与えられた書き起こし付きステレオ音声112の学習データ毎に、ステップS102およびステップS103の処理を実行する。
【0068】
ステップS102では、コンピュータは、アライメント部122により、ステレオ音声の各チャンネル毎の音声および書き起こしの間の時間アライメントを取得する。なお、単語単位で同時発話部分を検知する場合、ここでは、少なくとも単語レベルでアライメントが取られればよい。ステップS103では、コンピュータは、言語モデル用モノラル音声書き起こし作成部132を呼び出して、言語モデル用モノラル音声書き起こしを作成する処理を実行する。
【0069】
図7は、
図6に示したステップS103で呼び出される、言語モデル用モノラル音声書き起こし作成処理を示すフローチャートである。
図7に示す処理は、
図6に示したステップS103で呼び出されて、ステップS200から開始される。
【0070】
ステップS201では、コンピュータは、時間軸上先頭となるLチャンネルまたはRチャンネルの書き起こしにおける単語を取得する。ステップS202では、コンピュータは、取得した単語と、前の単語とが時間的に重なるか否かを判定する。ステップS202で、前の単語と重ならないと判定された場合(NO)は、ステップS203へ処理が分岐される。最初のループでは、前の単語が存在しないので、そのまま、重ならないと判定される。また、2回目以降のループでも、取得した単語の開始時点の時間的位置が、前の単語の終了時点の時間的位置より後にある場合は、時間的に重ならないと判定される。ステップS203では、コンピュータは、取得した単語を出力用配列に追加し、ステップS205へ処理を進める。
【0071】
これに対して、ステップS202で、前の単語と重なると判定された場合(YES)は、ステップS204へ処理が分岐される。2回目以降のループにおいて、取得した一方のチャンネルの単語の開始時点の時間位置が、他方のチャンネルの前の単語の開始時点および終了時点の時間的位置の間にある場合は、時間的に重なると判定される。ステップS204では、コンピュータは、取得した単語を破棄し、出力用配列中の前単語をオーバラップ語に置き換えて、ステップS205へ処理を進める。
【0072】
ステップS205では、コンピュータは、当該学習データにおいて終端に達したか否かを判定する。ステップS205で、終端に達していないと判定された場合(NO)は、ステップS206へ処理が進められる。ステップS206では、コンピュータは、時間軸上で次になるLチャンネルまたはRチャンネルの単語を取得し、ステップS202へ処理をループさせる。一方、ステップS205で、終端に達したと判定された場合(YES)は、ステップS207へ分岐されて、
図6に示す元の処理に制御が戻される。
【0073】
図11および
図12は、ステレオ音声の書き起こしから言語モデル用書き起こしを作成する処理を説明する図である。
図11は、言語が日本語である場合を示し、
図12は、言語が英語である場合を例示する。
【0074】
図11に示す例では、「じゃ」、「いい」、「です」、「よ」、「あ」、「よろしい」、「です」、「か」…という順で、単語が取得される。Rチャンネルの単語「あ」が取得される際には、Lチャンネルの前単語「よ」と重なると判定される。この場合、取得された単語「あ」が破棄され、出力用配列中にある前単語「よ」がオーバラップ語「<<OVL>>」に置き換えられる。「ひとかぶ」、「ちゅうもん」、「でもさ」、「ちょっと」の単語系列についても同様の置き換えが行われる。
【0075】
また、
図12に示す例では、「okay」、「that's」、「all」、「right」、「uh-huh」「are」「you」「sure」…という順で、単語が取得される。Rチャンネルの単語「uh-huh」が取得された際には、Lチャンネルの前単語「right」と重なると判定される。この場合、単語「uh-huh」が破棄され、出力用配列中にある前単語「right」がオーバラップ語「<<OVL>>」に置き換えられる。「your」、「order」、「wait」、「on」の単語系列についても同様の置き換えが行われる。
【0076】
なお、複数の単語にまたがって重複が生じる場合は、ステレオ音声のチャンネルのうちの重複にかかる単語数が大きい方の数のオーバラップ語に置き換えればよい。
【0077】
再び
図6を参照すると、すべての学習データについてのループS101〜S104が終了すると、ステップS105へ処理が進められる。ステップS105では、コンピュータは、オーバラップ語含有言語モデル学習部136により、準備されたすべての学習データの言語モデル用モノラル音声書き起こしから、オーバラップ語含有言語モデル138を学習する。ステップS106では、コンピュータは、重み144の設定値を読み出し、統合の重み付けを判定する。ステップS107では、コンピュータは、言語モデル統合部140により、判定された重み付けに従って、オーバラップ語含有言語モデル138と、オリジナル言語モデル142とを統合し、最終的な言語モデル106を形成し、ステップS108で本処理を終了する。
【0078】
なお、
図6では、音声認識システム100を構成する単一のコンピュータが各ステップを行うものとして説明した。しかしながら、ステップ各々を、さらには各ステップにおけるサブステップ各々を、音声認識システム100を構成する複数のコンピュータ間で並列分散実施することを妨げるものではない。
【0079】
(音響モデル構築)
以下、
図8〜
図17を参照しながら、本実施形態における音響モデルの構築処理について、より詳細に説明する。
【0080】
図8は、本発明の実施形態による音声認識システム100における音声認識モデル構築部120を構成する音響モデル構築部150のより詳細なブロック図である。
図8に示すように、音響モデル構築部150は、音響モデル用モノラル音声書き起こし作成部152と、オーバラップ音素音響モデル学習部158と、音響モデル統合部164と、音響モデル改良部168とを含み構成される。
【0081】
音響モデル用モノラル音声書き起こし作成部152は、アライメント結果に基づき、ステレオ音声のチャンネル毎の書き起こしを時間軸に沿って連結し、合成モノラル音声126に対する書き起こしを作成する。その際には、書き起こし作成部152は、複数のチャンネル間で時間軸上重なる所定の書き起こし部分を、同時発話部分であることを示す単位(説明する実施形態では単語単位であり、オーバラップ語である。)に置き換える処理を行う。この作成された書き起こしを、音響モデル用モノラル音声書き起こし156と参照する。
【0082】
音響モデルでは、音素が抽出できる部分からは可能な限り音素を抽出することが好ましいため、時間軸上重なっている場合に一律にすべての書き起こし部分をオーバラップ語に置き換えることはしない。一方の音声が支配的である部分については、その支配的な方の書き起こし部分を使用して時間軸に沿って連結する。いずれの音声も支配的ではない同時発話、ひいては認識が難しい同程度の大きさの同時発話のみが、オーバラップ語に置き換えられる。
【0083】
そのため、本実施形態による音響モデル構築部150は、調整パラメータとして、いずれか一方が支配的であるかを判断するためのSNR(Signal to Noise Ratio)に対する閾値154を保持する。そして、音響モデル用モノラル音声書き起こし作成部152は、この閾値154に従って書き起こしの作成を行う。その際には、大きい方の音声が信号であり、小さい方の音声がノイズであるとした場合のSNRと、閾値との比較が行われる。SNRが閾値(例えば10dB)以上であれば、その大きい方の音声が支配的であると判断される。
【0084】
作成された音響モデル用モノラル音声書き起こし156は、合成モノラル音声126とセットとなり、オーバラップ語を含む書き起こし付き合成モノラル音声128として構成される。
【0085】
オーバラップ音素音響モデル学習部158は、作成された書き起こし付き合成モノラル音声128に基づき、合成モノラル音声におけるオーバラップ語にアライメントされる部分(その音声の時系列特徴量)から、同時発話部分を表すオーバラップ音素の音響モデルを学習する。HMM−GMMシステムであれば、各対話について用意された学習データとなる合成モノラル音声のうちの、オーバラップ語にアライメントされるあらゆる部分を抽出し、それにオーバラップ音素を対応付けて、それを学習データとして用いて、オーバラップ音素に対応する状態数分のGMMパラメータ{μ
k,σ
k,w
k}およびHMMの状態遷移確率{a
ij}を学習する。この学習された音響モデルを、オーバラップ音素音響モデル160と参照する。
【0086】
音響モデル統合部164は、学習されたオーバラップ音素音響モデル160と、オリジナル音響モデル162とを結合して、音響モデル(1次)166を形成する。オリジナル音響モデル162は、オーバラップを含まない学習データなどから学習される、通常の音声認識で利用されていた音響モデルである。書き起こし付きステレオ音声112から学習された音響モデルであってもよいし、全く異なる学習データから学習された音響モデルであってもよい。
【0087】
なお、音響モデルの統合は、HMM−GMMシステムの場合、通常の音素に対応するHMM−GMMに対し、オーバラップ音素に対応するHMM−GMMを組み合わせることで完了する。
【0088】
音響モデル改良部168は、形成された音響モデル(1次)166を初期値として、元となる書き起こし付きステレオ音声112および上述した処理で生成された書き起こし付き合成モノラル音声128を含む学習データを用いて、マルチコンディション学習を実施する。これにより、音響モデル(1次)166から改良された形で、音声認識モデルを構成する最終的な音響モデル(2次)106が与えられる。
【0089】
なお、音響モデル(1次)を最終的な音響モデルとして用いてもよいが、好適な実施形態では、マルチコンディション学習された音響モデル(2次)を最終的な音響モデルとして用いることができる。書き起こし付き合成モノラル音声128を学習データに含めることによって、一方の音声が支配的であるが重なりが発生した場合の特徴量に対しても、正解ラベルが関連付けられる。このため、全く重なりがない場合の特徴量にだけ正解ラベルが関連付けられた音響モデル(このような音響モデルは、同時発話部分であるが、ヒトであれば聞き取れるような一方が支配的な音声部分であっても、誤った音素として認識する可能性が比較的に高い)に比較して、同時発話部分であるが一方が支配的な音声部分をより精度高く認識することが可能となる。
【0090】
図9は、本発明の実施形態による音声認識システム100における音響モデル構築処理を示すフローチャートである。
図9に示す処理は、例えば音声認識システム100を構成するコンピュータに対しユーザから音声認識モデル構築の指示が行われたことに応答して、ステップS300から開始される。ステップS301〜ステップS304のループでは、音声認識システム100を構成するコンピュータは、与えられた書き起こし付きステレオ音声112の学習データ毎に、ステップS302およびステップS303の処理を実行する。
【0091】
ステップS302では、コンピュータは、アライメント部122により、ステレオ音声の各チャンネルの音声および書き起こしの間の時間アライメントを取得する。なお、単語単位で同時発話部分を検知する場合、ここでは、少なくとも単語レベルでアライメントが取られればよく、
図6に示したステップS102が既に行われていれば、重ねて行う必要はない。ステップS303では、コンピュータは、音響モデル用モノラル音声書き起こし作成部152を呼び出し、音響モデル用モノラル音声書き起こしを作成する処理を実行する。
【0092】
図10は、
図9に示したステップS303で呼び出される、音響モデル用モノラル音声書き起こし作成処理を示すフローチャートである。
図10に示す処理は、
図9に示したステップS303で呼び出されて、ステップS400から開始される。
【0093】
ステップS401では、コンピュータは、時間軸上先頭となるLチャンネルまたはRチャンネルの書き起こしにおける単語を取得する。ステップS402では、コンピュータは、取得した単語と、前の単語とが時間的に重なるか否かを判定する。ステップS402で、前の単語と重ならないと判定された場合(NO)は、ステップS403へ処理が分岐される。ステップS403では、コンピュータは、取得した単語を出力用配列に追加し、ステップS409へ処理を進める。
【0094】
これに対して、ステップS402で、前の単語と重なると判定された場合(YES)は、ステップS404へ処理が分岐される。ステップS404では、コンピュータは、取得した単語と比較して前の単語が支配的であるか否かを判定する。ステップS404で、前の単語が支配的であると判定された場合(YES)は、ステップS405へ処理が分岐される。ステップS405では、コンピュータは、取得した単語を破棄し、ステップS409へ処理を進める。
【0095】
これに対して、ステップS404で、前の単語が支配的ではないと判定された場合(NO)は、ステップS406へ処理が分岐される。ステップS406では、コンピュータは、さらに、前単語と比較して、取得した単語が支配的であるか否かを判定する。ステップS406で、取得した単語が支配的であると判定された場合(YES)は、ステップS407へ処理が分岐される。ステップS407では、コンピュータは、出力配列中の前単語を取得した単語で置き換え、ステップS409へ処理を進める。
【0096】
これに対して、ステップS406で、取得した単語が支配的ではないと判定された場合(NO)は、ステップS408へ処理が分岐される。この場合は、取得した単語および前単語のいずれも支配的ではない場合に対応する。ステップS408では、コンピュータは、取得した単語を破棄し、出力用配列中の前単語をオーバラップ語に置き換えて、ステップS409へ処理を進める。
【0097】
ステップS409では、コンピュータは、当該学習データにおいて終端に達したか否かを判定する。ステップS409で、終端に達していないと判定された場合(NO)は、ステップS410へ処理が進められる。ステップS410では、コンピュータは、時間軸上で次になるLチャンネルまたはRチャンネルの単語を取得し、ステップS402へ処理をループさせる。一方、ステップS409で、終端に達したと判定された場合(YES)は、ステップS411へ分岐されて、
図9に示す元の処理に戻される。
【0098】
図11および
図12には、ステレオ音声の書き起こしから音響モデル用書き起こしを作成する処理も説明されている。
【0099】
図11に示す例では、前半では「じゃ」、「いい」、「です」、「よ」、「あ」、「よろしい」…という順で、単語が取得されている。Rチャンネルの単語「あ」が取得された際には、Lチャンネルの前単語「よ」と重なると判定される。しかしながら、Lチャンネルの単語「よ」の音声が大きく、かつ、SNRが閾値以上であるため、Lチャンネル側が支配的であると判定され、Rチャンネルの単語「あ」が破棄され、出力用配列はそのまま維持される。つまり、オーバラップ語への置き換えに代えて、支配的である方の書き起こし部分が採用されることになる。これに対して、後半では、「ひとかぶ」、「ちゅうもん」、「でもさ」、「ちょっと」という順で、単語が取得される。Lチャンネルの「でもさ」が取得された際には、Rチャンネルの前単語「ちゅうもん」と重なると判定される。ここでは、Rチャンネルの単語「ちゅうもん」の音声がいくらか大きいが、SNRが閾値より小さいため、いずれも支配的ではないと判定され、Lチャンネルの単語「でもさ」が破棄され、出力用配列中にある前単語「ちゅうもん」がオーバラップ語「<<OVL>>」に置き換えられる。
【0100】
また、
図12に示す例では、前半では、「okay」、「that's」、「all」、「right」、「uh-huh」「are」…という順で、単語が取得される。Rチャンネルの単語「uh-huh」が取得された際には、Lチャンネルの前単語「right」と重なると判定される。しかしながら、Lチャンネルの「right」の音声が大きく、かつ、SNRが閾値以上であるため、Lチャンネル側が支配的であると判定され、Rチャンネルの単語「uh-huh」が破棄され、出力用配列はそのまま維持される。つまり、オーバラップ語への置き換えに代えて、支配的である方の書き起こし部分が採用される。これに対して、後半では、「your」、「order」、「wait」、「on」という順で、単語が取得される。Lチャンネルの「wait」が取得された際には、Rチャンネルの前単語「order」と重なると判定される。ここでは、Rチャンネルの単語「order」の音声がいくらか大きいが、SNRが閾値より小さいため、いずれも支配的ではないと判定され、Lチャンネルの単語「wait」が破棄され、出力用配列中にある前単語「order」がオーバラップ語「<<OVL>>」に置き換えられる。
【0101】
図11および
図12に示すように、作成されるモノラル音声書き起こしは、音響モデル用と言語モデル用とでは異なる結果となる可能性がある。
【0102】
再び
図9を参照すると、すべての学習データについてのループS301〜S304が終了すると、ステップS305へ処理が進められる。ステップS305では、コンピュータは、オーバラップ音素音響モデル学習部158により、作成されたすべての学習データの合成モノラル音声うちの同時発話部分を有するものの、オーバラップ語にアライメントされた部分から、オーバラップ音素音響モデル160を学習する。
【0103】
図13および
図14は、合成モノラル音声の書き起こしのオーバラップ語にアライメントされた音声部分を説明する図である。
図13は、言語が日本語である場合を示し、
図14は、言語が英語である場合を例示する。なお、音声部分は、音声分析部102により、時系列特徴量に変形されているが、ここでは、説明の便宜上、音声波形の部分に対応付けて示している点に留意されたい。
【0104】
図13の例では、Rチャンネルの単語「ちゅうもん」と、Lチャンネルの単語「でもさ」とが、モノラル音声書き起こしにおいて、同時発話部分を表すオーバラップ語「<<OVL>>」に置き換えられている。また、
図14の例では、Rチャンネルの単語「order」と、Lチャンネルの単語「wait」とが、モノラル音声書き起こしにおいて、同時発話部分を表すオーバラップ語「<<OVL>>」に置き換えられている。
【0105】
そして、このオーバラップ語「<<OVL>>」に時間軸上アライメントされる音声部分(音声の時系列特徴量)が、オーバラップ語に対応するオーバラップ音素に対応付けられて、学習データを構成し、この学習データに基づいて、オーバラップ音素音響モデル160が学習される。
【0106】
なお、説明する実施形態では、単語単位で同時発話部分を検知し、同時発話部分であることを示す単位を単語単位とし、オーバラップ語に置き換えを行うものとして説明したが、これに限定されるものではない。他の実施形態では、音素単位で同時発話部分を検出し、同時発話部分であることを示す単位を音素単位として置き換えを行ってもよい。
【0107】
図15および
図16は、音素単位で同時発話部分の検出を行う場合の書き起こしのオーバラップ単位にアライメントされた音声部分を説明する図である。
図15は、言語が日本語である場合を示し、
図16は、言語が英語である場合を例示する。なお、音声部分は、音声分析部102により、時系列特徴量に変形されているが、ここでは、説明の便宜上、音声波形の部分に対応付けて示している点に留意されたい。
【0108】
図10に示す音響モデル用モノラル音声書き起こし作成処理において、単語単位で処理を行うものしていたが、音素単位で同時発話部分の検出を行う場合は、単語に代えて音素の単位で処理を取り扱えばよい。またその場合は、
図9に示すステップS302では、音素レベルでアライメントを取ればよい。
【0109】
図15の例では、Rチャンネルの単語「ちゅうもん」に対応する音素列ののうちの一部(「m」,「o」,「N」)と、Lチャンネルの単語「でもさ」の音素列のうちの一部(「d」,「e」,「m」,「o」,「s」)とが、モノラル音声書き起こしにおいて、同時発話部分としてオーバラップ単位「<<OVL>>」に置き換えられている。また、
図16の例では、Rチャンネルの単語「order」の音素列の一部と、Lチャンネルの単語「wait」の音素列の一部とが、モノラル音声書き起こしにおいて、同時発話部分を表すオーバラップ単位「<<OVL>>」に置き換えられている。
【0110】
そして、このオーバラップ単位に時間軸上アライメントされる音声部分(音声の時系列特徴量)が、オーバラップ単位に対応するオーバラップ音素に対応付けられて、学習データを構成し、この学習データに基づいて、オーバラップ音素音響モデル160が学習される。このように、オーバラップを検出する単位を単語単位から音素単位に変更してもよい。
【0111】
再び
図9を参照すると、ステップS306では、コンピュータは、音響モデル統合部164により、オーバラップ音素音響モデル160とオリジナル音響モデル162とを統合し、音響モデル(1次)166を形成する。ステップS307では、音響モデル改良部168により、音響モデル(1次)166を初期値として、書き起こし付きステレオ音声112と、オーバラップ語を含む書き起こし付き合成モノラル音声128とから、マルチコンディション学習を行って、最終的な音響モデル(2次)108を形成し、ステップS308で本処理を終了する。なお、音響モデル(1次)166をそのまま最終的な音響モデルとして用いる他の実施形態では、ステップS306からステップS308へ直接進めて、本処理を終了することになる。
【0112】
なお、
図9では、音声認識システム100を構成する単一のコンピュータが各ステップを行うものとして説明した。しかしながら、ステップ各々を、さらには各ステップにおけるサブステップ各々を、音声認識システム100を構成する複数のコンピュータ間で並列分散実施することを妨げるものではない。
【0113】
また、
図8および
図9に示す音響モデル構築処理では、一旦、オーバラップ音素音響モデル160を構築し、それをオリジナル音響モデル162と統合し、得られた音響モデル(1次)166を初期値として、さらにマルチコンディション学習することにより、最終的な音響モデル(2次)108を得ていた。しかしながら、最終的な音響モデルを得る方法は、これに限定されるものではない。
【0114】
図17は、本発明の他の実施形態による音声認識システム100における音響モデル構築部250のより詳細なブロック図である。
図17に示すように、他の実施形態による音響モデル構築部250は、音響モデル用モノラル音声書き起こし作成部252と、オーバラップ音素含有音響モデル学習部258とを含み構成される。
【0115】
音響モデル用モノラル音声書き起こし作成部252は、
図8に示した実施形態と同様に、アライメント結果に基づき、ステレオ音声のチャンネル毎の書き起こしを時間軸に沿って連結し、合成モノラル音声126に対する音響モデル用モノラル音声書き起こし256を作成する。作成された音響モデル用モノラル音声書き起こし256は、合成モノラル音声126とセットとなり、オーバラップ語を含む書き起こし付き合成モノラル音声128として構成される。
【0116】
オーバラップ音素含有音響モデル学習部258は、元となる書き起こし付きステレオ音声112および上述した処理で生成された書き起こし付き合成モノラル音声128を含む学習データを用いたマルチコンディション学習を実施することにより、音声認識モデルを構成する最終的な音響モデル(2次同等)106を直接、フルスクラッチで構築する。音響モデル(2次同等)106には、書き起こし付き合成モノラル音声128におけるオーバラップ語に対応したオーバラップ音素の音響モデルが含まれる。マルチコンディション学習により、通常の音素およびオーバラップ音素を含む複数の音素に対応する状態数分のGMMパラメータ{μ
k,σ
k,w
k}およびHMMの状態遷移確率{a
ij}が学習される。
【0117】
この場合も、書き起こし付き合成モノラル音声128が学習データに含められているので、一方の音声が支配的な発話の重なりが発生した場合の特徴量に対して、正解ラベルが関連付けられる。このため、一方が支配的な同時発話部分をより精度高く認識することが可能となる。
【0118】
(音声認識)
以下、上述したように構成された言語モデル106および音響モデル108を用いた音声認識処理について説明する。
【0119】
再び
図1を参照する。音声認識部104は、上記言語モデル106および音響モデル108を統合して、最尤の単語系列を探索する。上述したように音声認識部104は、入力された音声の時系列特徴量Xに基づき、目的関数が最大になる単語系列W^を決定する。
【0120】
目的関数は、上記(数1)に示したlog p(X|W)+log p(W)をそのまま用いてもよいが、好適には、単語系列Wに含まれる単語の数I、音響モデルおよび言語モデルのどちらに重きを置くかを調整するパラメータα、単語の個数が増えすぎることを防ぐ挿入ペナルティを調整するパラメータβを導入して、log p(X|W)+αlog p(W)+βIを用いることができる。決定の際は、典型的には、現実的な計算時間内で妥当な認識結果が得られるように、所定のデコーディング・アルゴリズムを用いて、適切に探索および枝狩りが行われる。
【0121】
上述した構築処理により構築された言語モデル106および音響モデル108を用いた音声認識においては、言語モデルにオーバラップ語が含められているため、同時発話を言語的に予測することが可能である。また、音響モデル108には、オーバラップ語に対応するオーバラップ音素が含められる。より好適には、認識が難しい同程度の大きさの同時発話のみが、オーバラップ音素の音響モデルを学習するための学習データに含まれ、相手方の声が小さなノイズとして含まれる、認識できる可能性がある音声が、通常の音素の音響モデルを学習するための学習データに含められる。このため、音声認識が難しい同時発話箇所のみを識別し、認識できる可能性のある同時発話箇所を適切に音声認識することが可能となる。ひいては、同時発話が発生し得る複数話者のモノラル音声であっても、同時発話部分を識別しながら音声認識することが可能となる。特に同時発話部分が言語的に予測されるので、バースト誤りの発生が抑制され、ひいては、音声認識の精度の向上が図られる。
【0122】
例えば、あるモノラル音声に対して、「これはですね(同時発話発生)もうマ当然グローバル対応なんかも考えて」という正解ラベルが与えられる場合を考える。同時発話を考慮しない言語モデルおよび音響モデルでは、「これはですねマもうマまとめグローバル対応なんかも考えて」というような音声認識結果が得られる。これは、同時発話部分の影響により、「当然」とすべき箇所が「まとめ」となる置換誤りが発生している例である。これに対して、本発明の実施形態による言語モデル106および音響モデル108では、例えば、「これはちょっとですね<<OVL>>マもうマ当然グローバル対応なんかも考えて」という音声認識結果が得られる。これは、同時発話発生部分は同時発話部分として認識し、置換誤りの発生を防止して認識している例である。
【0123】
このように、本発明の実施形態による言語モデル106および音響モデル108によれば、バースト誤りとして置換誤りおよび挿入誤りに含まれていた同時発話部分がガーベージモデルに吸収され、結果として、置換誤りおよび挿入誤りを減少させ、全体として有意な認識精度の向上が得られる。
【0124】
なお、同時発話部分として識別された箇所は、不要であるとして、出力する音声認識結果から削除されてもよい。この場合、上述したオーバラップ語を含む言語モデル106とオーバラップ語に対応するオーバラップ音素を含む音響モデル108とは、同時発話部分をごみとして捨てるガーベージモデルを含んだ音声認識モデルということができる。あるいは、同時発話部分として識別された箇所に、同時発話部分であるとの属性情報を付して音声認識結果に含めてもよい。このように属性情報を付す場合、例えば、その属性情報が付された部分を、すべての部分に対して実施した場合に計算量の観点から見合わないようなより高度な音声認識処理を適用し、可能な限りの音声認識を試みることができる。
【0125】
また、説明する実施形態では、音声認識モデルを構成する言語モデル106および音響モデル108は、本発明の実施形態による言語モデル構築方法および音響モデル構築方法により作成されたものであった。しかしながら、言語モデル106および音響モデル108の一方を別の方法で作成することを妨げない。他の実施形態では、所定規則に従って(例えば一定確率で)同時発話が発生するとして、同時発話部分であることを示す言語単位(オーバラップ語)が含まれる言語モデルを形成し、この言語モデルと、上述した音響モデル108を組み合わせて、音声認識モデルを構築することもできる。
【0126】
(ハードウェア構成)
以下、上記実施形態による音声認識システムを実現するコンピュータ装置について説明する。
図18は、本実施形態の音声認識システム100を実現するコンピュータ装置の概略的なハードウェア構成を示す。
図18に示すコンピュータ装置は、中央処理装置(CPU)12と、CPU12が使用するデータの高速アクセスを可能とするL1およびL2などのレベルを有するキャッシュ・メモリ14と、CPU12の処理を可能とするDRAMなどの固体メモリ素子から形成されるシステム・メモリ16とを備えている。
【0127】
CPU12、キャッシュ・メモリ14およびシステム・メモリ16は、システム・バス18を介して、他のデバイスまたはドライバ、例えば、グラフィックス・ドライバ20およびネットワーク・インタフェース・カード(NIC)22へと接続されている。グラフィックス・ドライバ20は、バスを介して外部のディスプレイ24に接続されて、CPU12による処理結果をディスプレイ画面上に表示させることができる。また、NIC22は、物理層レベルおよびデータリンク層レベルでコンピュータ装置10を、TCP/IPなどの適切な通信プロトコルを使用するネットワークへと接続している。
【0128】
システム・バス18には、さらにI/Oバス・ブリッジ26が接続されている。I/Oバス・ブリッジ26の下流側には、PCIなどのI/Oバス28を介して、IDE、ATA、ATAPI、シリアルATA、SCSI、USBなどにより、ハードディスク装置30が接続されている。また、I/Oバス28には、USBなどのバスを介して、キーボードおよびマウスなどのポインティング・デバイスなどの入力装置32が接続されていて、この入力装置32によりユーザ・インタフェースが提供される。I/Oバス28には、さらに、マイクロフォンなどの録音デバイスを接続してもよい。
【0129】
コンピュータ装置のCPU12としては、いかなるシングルコア・プロセッサまたはマルチコア・プロセッサを用いることができる。コンピュータ装置は、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などのオペレーティング・システム(以下、OSとして参照する。)により制御される。コンピュータ装置は、上記OSの管理の下、システム・メモリ16上などにプログラムを展開し、プログラムを実行し、各ハードウェア資源を動作制御することによって、上述した機能部の構成および処理をコンピュータ上に実現する。
【0130】
(実験)
パーソナル・コンピュータを用いて、通常の方法でオリジナル言語モデルおよびオリジナル音響モデルを構築し、さらに、上述した実施形態による音声認識システム構築処理により、オリジナル言語モデルおよびオリジナル音響モデルと統合して、それぞれオーバラップ語およびオーバラップ音素を含む言語モデルおよび音響モデルを構築した。
【0131】
学習データ
学習データとしては、実際の音声通話記録のステレオ音声と、その人手による各チャンネルの書き起こしのセット(150時間分)を用意した。なお、音声および書き起こしの言語は、日本語である。音響モデルの学習のため、ステレオ音声の各チャンネルの音声を合成し、合成モノラル音声を作成した。音声データは、サンプリングレート8kHz、16ビットで準備し、フレーム長25msecの時間窓、フレーム周期10msecで音響分析を行った。各フレーム毎にPLPの合計13次元の特徴量ベクトルを算出した。
【0132】
言語モデル構築
言語モデルは、単語3−gramとした。スムージング・アルゴリズムは、Modified Kneser−Neyアルゴリズムを用いた。オリジナル言語モデル142は、学習データとして与えられたステレオ音声112の各チャネルの書き起こしを用いて学習した。また、学習データとして与えられた書き起こし付きステレオ音声112を強制アライメントし、時間軸上重なる書き起こし部分を識別し、検出されたすべての部分をオーバラップ語に置き換えて、合成モノラル音声に対応する言語モデル用書き起こし134を作成した。言語モデル用書き起こし134を学習データとして、オーバラップ語含有言語モデル138を学習した。オリジナル言語モデル142と、オーバラップ語含有言語モデル138とを、オリジナル8に対してオーバラップ語含有2の重み付けで統合し、最終的な言語モデル106を得た。
【0133】
音響モデル構築
音響モデルは、HMM−GMMシステムとして構築した。オリジナル音響モデル162は、学習データとして与えられたステレオ音声の各チャネルの音声および書き起こしを用いて学習した。各音素毎に3状態left−to−right型のHMMでモデル化を行い、前後音素コンテキストを考慮したトライフォンモデルの学習を行った。その際には、決定木アルゴリズムに基づき、音響的特徴が類似したトライフォンのグループで状態共有をし、状態数4500およびガウシアン数150000のモデルを学習した。なお、特徴量空間の識別学習(bMMI基準)を行い、音響モデルの学習には、音響モデルの識別学習(bMMI基準)を行い、MLLR(Maximum Likelihood Linear Regression)適応を行った。
【0134】
オーバラップ音素音響モデル160を学習するため、学習データとして与えられた書き起こし付きステレオ音声を強制アライメントし、時間軸上重なる書き起こし部分を識別して、その検出された部分のうちの、大きい方の音声を信号とし小さい方の音声をノイズとして計算されるSNRが10dBを下回ったものをオーバラップ語に置き換えて、合成モノラル音声に対応するオーバラップ語を含む音響モデル用書き起こし156を作成した。その際に、SNRが10dB以上あった場合は、大きい方の音声の書き起こしを連結させた。そして、音響モデル用書き起こし156中のオーバラップ語にアライメントされる合成モノラル音声中の部分を学習データとして、これを新たに定義したオーバラップ音素に対応付けて、オーバラップ音素音響モデル160を作成した。オーバラップ音素についても、3状態left−to−right型のHMMでモデル化を行った。なお、オーバラップ音素については、モノフォンとして取り扱った。そして、オリジナル音響モデル162と、オーバラップ音素音響モデル160とを統合し、音響モデル(1次)166を得た。
【0135】
さらに、書き起こし付きステレオ音声および書き起こし付きモノラル音声のすべての学習データを用いて、作成された上記音響モデル(1次)を初期値として、マルチコンディション学習を行い、最終的な音響モデル(2次)を得た。
【0136】
音声認識結果
上記で作成されたオリジナル言語モデル142、オリジナル音響モデル162、言語モデル106、音響モデル(1次)166および音響モデル(2次)108を用いて、実際の通話音声のモノラル音声を音声認識し、その文字誤り率(CER,Character Error Rate)を求め、置換誤り数、挿入誤り数および削除誤り数を計数した。その音声認識実験の結果を下記表1に示す。下記表1中、基準手法は、オリジナル言語モデル142およびオリジナル音響モデル162を用いた音声認識に対応する。
【0138】
表1を見ると明らかなように、本実施形態による言語モデル106および音響モデル166,108を用いる場合は、音響モデル(1次)166を用いる場合でも、基準手法に比較して、CERが有意に改善していることが分かる。基準手法のCERをベースラインとして計算したCER相対改善率をみると、音響モデル(1次)166を使う場合で2%弱改善し、音響モデル(2次)108を使う場合には3%弱改善していることがわかる。置換誤り数、挿入誤り数および削除誤り数を見てみると、削除誤り数がわずかに増加するものの、置換誤り数および挿入誤り数が大幅に減少し、全体としてCERが改善していることが分かる。これは、バースト誤りとして置換誤りおよび挿入誤りに含まれていた同時発話部分をガーベージモデルが好適に吸収しているためであると考えられる。なお、音響モデル(2次)108を用いた方が、音響モデル(1次)166を用いるより、CERが改善されるは、マルチコンディション学習により、通常の音素の音響モデルの学習データに、小さなノイズとして同時発話部分を含ませているためと考えられる。
【0139】
以上説明したように、本発明の実施形態によれば、複数の話者の音声が混合する話者混合音声に対し同時発話部分を識別可能な音声認識モデルを効率的に構築することができる構築方法、コンピュータ・システム、プログラムおよび記録媒体を提供することができる。さらに、本発明の実施形態によれば、話者混合音声に対し同時発話部分を識別可能な音声認識モデルによる音声認識方法、音声認識装置およびプログラムを提供することができる。
【0140】
なお、本発明につき、発明の理解を容易にするために各機能部および各機能部の処理を記述したが、本発明は、上述した特定の機能部が特定の処理を実行するほか、処理効率や実装上のプログラミングなどの効率を考慮して、いかなる機能部に、上述した処理を実行するための機能を割当てることができる。
【0141】
また、本発明では、好適に適用できる言語としては、上記例示した日本語、英語の他、中国語、アラビア語、ドイツ語、フランス語、ロシア語、韓国語など、上述した以外の言語についても適用可能である。
【0142】
本発明の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、JavaScript(登録商標)、Perl、Python,Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、装置可読な記録媒体に格納して頒布または伝送して頒布することができる。
【0143】
これまで本発明を、特定の実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。