(57)【要約】【課題】より的確なタイミングで話者適応処理を実行させる。【解決手段】ノイズ測定部１０５は、マイク１０１により集音された、ユーザが発話する前の周囲のノイズレベルを測定し、測定結果を適応判定部１１３に供給する。一方、探索部１０８は、音声の特徴量に基づいて生成された特徴ベクトルに対応する単語を音声認識結果として外部に出力するとともに、候補となった単語毎の最終スコアをCM値算出部１１２に供給する。CM値算出部１１２は、候補となった単語毎の最終スコアに基づいて、CM値を算出し、適応判定部１１３に供給する。適応判定部１１３は、周囲のノイズレベルとCM値に基づいて、音響モデルの適応処理を実行するか否かを判定する。本発明は、例えば、ゲーム機に適用することができる。【選択図】図１
2005091568.tif 000002
【特許請求の範囲】
【請求項１】
ノイズレベルを取得する取得手段と、
音声を認識する音声認識手段と、
前記音声認識手段による第１の認識結果の信頼度を算出する算出手段と、
前記取得手段により取得された前記ノイズレベル、および前記算出手段により算出された前記第１の認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定手段と、
前記判定手段により前記話者適応処理を実行すると判定された場合、前記話者適応処理を実行する実行手段と
を備えることを特徴とする音声認識装置。
【請求項２】
前記認識結果の信頼度は、CM値である
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記話者適応処理が実行された場合、
前記音声認識手段は、同一の前記音声を再度認識し、
前記算出手段は、前記音声認識手段により再度認識された第２の認識結果の信頼度を算出し、
前記判定手段は、前記算出手段により算出された前記第２の認識結果の信頼度に基づいて、前記音声認識に利用するデータを、前記話者適応処理前の状態に戻すか否かを判定し、
前記実行手段は、前記判定手段により、前記データを前記話者適応処理前の状態に戻すと判定された場合、前記データを前記話者適応処理前の状態に戻す
ことを特徴とする請求項１に記載の音声認識装置。
【請求項４】
前記判定手段により前記話者適応処理前の状態に戻すと判定された場合、前記第１の認識結果を外部に出力し、前記判定手段により前記話者適応処理前の状態に戻さないと判定された場合、前記第２の認識結果を外部に出力する出力手段をさらに備える
ことを特徴とする請求項３に記載の音声認識装置。
【請求項５】
ノイズレベルを取得する取得ステップと、
音声を認識する音声認識ステップと、
前記音声認識ステップの処理による認識結果の信頼度を算出する算出ステップと、
前記取得ステップの処理により取得された前記ノイズレベル、および前記算出ステップの処理により算出された前記認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップと、
前記判定ステップの処理により前記話者適応処理を実行すると判定された場合、前記話者適応処理を実行する実行ステップと
を含むことを特徴とする音声認識方法。
【請求項６】
ノイズレベルを取得する取得ステップと、
音声を認識する音声認識ステップと、
前記音声認識ステップの処理による認識結果の信頼度を算出する算出ステップと、
前記取得ステップの処理により取得された前記ノイズレベル、および前記算出ステップの処理により算出された前記認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップと、
前記判定ステップの処理により前記話者適応処理を実行すると判定された場合、前記話者適応処理を実行する実行ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項７】
ノイズレベルを取得する取得ステップと、
音声を認識する音声認識ステップと、
前記音声認識ステップの処理による認識結果の信頼度を算出する算出ステップと、
前記取得ステップの処理により取得された前記ノイズレベル、および前記算出ステップの処理により算出された前記認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップと、
前記判定ステップの処理により前記話者適応処理を実行すると判定された場合、前記話者適応処理を実行する実行ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置および方法、記録媒体、並びにプログラムに関し、特に、より的確に話者適応処理を実行することができるようにした音声認識装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
従来、音声認識において、個々のユーザの発話の特徴に基づいて、音響モデルを適応させる話者適応技術が知られている（例えば、非特許文献１参照）。これにより、ユーザ毎の音声の認識率をより向上させることができる。
【０００３】
非特許文献１には、話者適応技術としてMLLR（Maximum Likelihood Linear Regression）法が提案されている。
【非特許文献１】"C. J. Leggetter et al, "Maximum Likelihood Linear Regression for Speaker Adaptation of Continuous Density Hidden Markov Models", Computer Speech and Language,1995,vol.9, pp171-185"
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来、話者適応処理を実行する条件については、あまり検討されてこなかった。
【０００５】
そのため、例えば、周囲の雑音が多い環境で、話者適応処理を実行した結果、話者適応処理前より音声認識の認識率が低下する（誤認識率が増加する）ことがあるという課題があった。
【課題を解決するための手段】
【０００６】
本発明の音声認識装置は、ノイズレベルを取得する取得手段と、音声を認識する音声認識手段と、音声認識手段による第１の認識結果の信頼度を算出する算出手段と、取得手段により取得されたノイズレベル、および算出手段により算出された第１の認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定手段と、判定手段により話者適応処理を実行すると判定された場合、話者適応処理を実行する実行手段とを備えることを特徴とする。
【０００７】
前記認識結果の信頼度は、CM値であるようにすることができる。
【０００８】
前記話者適応処理が実行された場合、前記音声認識手段には、同一の前記音声を再度認識するようにさせ、前記算出手段には、前記音声認識手段により再度認識された第２の認識結果の信頼度を算出するようにさせ、前記判定手段には、前記算出手段により算出された前記第２の認識結果の信頼度に基づいて、前記音声認識に利用するデータを、前記話者適応処理前の状態に戻すか否かを判定するようにさせ、前記実行手段には、前記判定手段により、前記データを前記話者適応処理前の状態に戻すと判定された場合、前記データを前記話者適応処理前の状態に戻すようにさせることができる。
【０００９】
前記判定手段により前記話者適応処理前の状態に戻すと判定された場合、前記第１の認識結果を外部に出力し、前記判定手段により前記話者適応処理前の状態に戻さないと判定された場合、前記第２の認識結果を外部に出力する出力手段をさらに設けるようにすることができる。
【００１０】
本発明の音声認識方法は、ノイズレベルを取得する取得ステップと、音声を認識する音声認識ステップと、音声認識ステップの処理による認識結果の信頼度を算出する算出ステップと、取得ステップの処理により取得されたノイズレベル、および算出ステップの処理により算出された認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップと、判定ステップの処理により話者適応処理を実行すると判定された場合、話者適応処理を実行する実行ステップとを含むことを特徴とする。
【００１１】
本発明の記録媒体のプログラムは、ノイズレベルを取得する取得ステップと、音声を認識する音声認識ステップと、音声認識ステップの処理による認識結果の信頼度を算出する算出ステップと、取得ステップの処理により取得されたノイズレベル、および算出ステップの処理により算出された認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップと、判定ステップの処理により話者適応処理を実行すると判定された場合、話者適応処理を実行する実行ステップとを含むことを特徴とする。
【００１２】
本発明のプログラムは、ノイズレベルを取得する取得ステップと、音声を認識する音声認識ステップと、音声認識ステップの処理による認識結果の信頼度を算出する算出ステップと、取得ステップの処理により取得されたノイズレベル、および算出ステップの処理により算出された認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップと、判定ステップの処理により話者適応処理を実行すると判定された場合、話者適応処理を実行する実行ステップとをコンピュータに実行させることを特徴とする。
【００１３】
本発明の音声認識装置および方法、記録媒体、並びにプログラムにおいては、ノイズレベルが取得され、音声が認識され、認識結果の信頼度が算出され、取得されたノイズレベル、および算出された認識結果の信頼度に基づいて、話者適応処理を実行するか否かが判定され、話者適応処理を実行すると判定された場合、話者適応処理が実行される。
【００１４】
本発明は、例えば、ゲーム機に適用することができる。
【発明の効果】
【００１５】
本発明によれば、話者適応処理を実行することができる。特に、より的確な条件下で話者適応処理を実行させることが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００１７】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。
【００１８】
本発明によれば、音声認識装置が提供される。この音声認識装置は、ノイズレベルを取得する取得手段（例えば、図１のノイズ測定部１０５）と、音声を認識する音声認識手段（例えば、図１の探索部１０８）と、音声認識手段による第１の認識結果の信頼度を算出する算出手段（例えば、図１のCM値算出部１１２）と、取得手段により取得されたノイズレベル、および算出手段により算出された第１の認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定手段（例えば、図１の適応判定部１１３）と、判定手段により話者適応処理を実行すると判定された場合、話者適応処理を実行する実行手段（例えば、図１の適応部１１４）とを備える。
【００１９】
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記認識結果の信頼度は、CM値（例えば、図１のCM値算出部１１２により算出されるCM（Confidence measure）値であるようにすることができる。
【００２０】
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記話者適応処理（例えば、図３のステップＳ１０９の処理）が実行された場合、前記音声認識手段には、同一の前記音声を再度認識する（例えば、図３のステップＳ１１０の処理）ようにさせ、前記算出手段には、前記音声認識手段により再度認識された第２の認識結果の信頼度を算出する（例えば、図３のステップＳ１１１の処理）ようにさせ、前記判定手段には、前記算出手段により算出された前記第２の認識結果の信頼度に基づいて、前記音声認識に利用するデータを、前記話者適応処理前の状態に戻すか否かを判定する（例えば、図３のステップＳ１１２の処理）ようにさせ、前記実行手段には、前記判定手段により、前記データを前記話者適応処理前の状態に戻すと判定された場合、前記データを前記話者適応処理前の状態に戻す（例えば、図３のステップＳ１１３の処理）ようにさせることができる。
【００２１】
本発明によれば、音声認識装置が提供される。この音声認識装置では、前記判定手段により前記話者適応処理前の状態に戻すと判定された場合（例えば、図６のステップＳ２１１でYES）、前記第１の認識結果を外部に出力し、前記判定手段により前記話者適応処理前の状態に戻さないと判定された場合（例えば、図６のステップＳ２１１でNO）、前記第２の認識結果を外部に出力する出力手段（例えば、図４の認識結果選択部１５１）をさらに設けるようにすることができる。
【００２２】
本発明によれば、音声認識方法が提供される。この音声認識方法は、ノイズレベルを取得する取得ステップ（例えば、図２のステップＳ１０２）と、音声を認識する音声認識ステップ（例えば、図２のステップＳ１０４）と、音声認識ステップの処理による認識結果の信頼度を算出する算出ステップ（例えば、図２のステップＳ１０６）と、取得ステップの処理により取得されたノイズレベル、および算出ステップの処理により算出された認識結果の信頼度に基づいて、話者適応処理を実行するか否かを判定する判定ステップ（例えば、図２のステップＳ１０７およびステップＳ１０８）と、判定ステップの処理により話者適応処理を実行すると判定された場合、話者適応処理を実行する実行ステップ（例えば、図３のステップＳ１０９）とを含む。
【００２３】
本発明によれば、音声認識方法と同様のプログラムが提供される。
【００２４】
以下、図を参照して、本発明の実施の形態について説明する。
【００２５】
図１は、本発明を適用した音声認識装置の構成例を示すブロック図である。
【００２６】
図１において、マイク１０１は、周囲の音声を集音して、アナログの音声信号をA/D変換部１０２に供給する。
【００２７】
A/D変換部１０２は、マイク１０１から供給されたアナログの音声信号をA/D（Analog to Digital）変換して、デジタル信号としての音声信号を生成し、これを音声区間特定部１０３、無音時音声用バッファ１０４、および音響分析部１０６に出力する。
【００２８】
音声区間検出部１０３は、A/D変換部１０２の出力に基づいて、音声区間を検出し、その検出結果を表すメッセージを、ノイズ測定部１０５および音響分析部１０６に供給する。ここで、音声区間を検出する方法としては、例えば、所定のフレームごとに、A/D変換部１０２の出力のパワーを計算し、そのパワーが所定の閾値以上であるかどうかを判定する方法がある。
【００２９】
無音時音声バッファ１０４は、A/D変換部１０２から供給された音声信号を所定の時間分だけ記憶する。なお、無音時音声バッファ１０４の記憶容量の上限まで音声信号が記憶された場合、無音時音声バッファ１０４に記憶されている１番古い音声信号の上に、新たに供給された音声信号が上書き記憶されてゆく。これにより、無音時音声バッファ１０４には、常に最新の音声信号が保持される。無音時音声バッファ１０４に記憶された音声信号は、適宜、ノイズ測定部１０５により読み出される。
【００３０】
ノイズ測定部１０５は、音声区間検出部１０３から、音声区間が検出された旨のメッセージが通知された場合、音声区間の直前の区間の音声信号を、所定の時間長分だけ無音時音声バッファ１０４より読み出し、読み出した音声信号に含まれている定常ノイズを算出する。これにより、ユーザの発話直前にあたる無音時のノイズレベルが算出される。このノイズレベルは、周囲の環境による雑音と考えられる。ノイズ測定部１０５は、算出したノイズレベルの値を適応判定部１１３に通知する。
【００３１】
音響分析部１０６は、音声区間検出部１０３からのメッセージに基づいて、A/D変換部１０２からの音声信号のうち、音声区間検出部１０３により音声区間として検出された音声信号について、適当なフレームごとに音響分析処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量としての特徴ベクトルを抽出する。なお、音響分析部１０６では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル（特徴パラメータ）を抽出することが可能である。
【００３２】
音響分析部１０６においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ１０７に順次供給されて記憶される。従って、特徴ベクトルバッファ１０７では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【００３３】
なお、特徴ベクトルバッファ１０７は、例えば、ある発話の開始から終了まで（音声区間）に得られる時系列の特徴ベクトルを記憶する。
【００３４】
探索部１０８は、特徴ベクトルバッファ１０７に記憶された特徴ベクトルを用いて、辞書データベース（DB）１０９、文法データベース（DB）１１０、および音響データベース（DB）１１１を必要に応じて参照しながら、マイク１０１に入力された音声（入力音声）を、例えば、連続分布HMM法等に基づいて、音声認識する。
【００３５】
すなわち、音響データベース１１１は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phonetic-Linguistic-Units))ごとの音響的な特徴を表す音響モデルのセットを記憶している。ここでは、連続分布ＨＭＭ法に基づいて音声認識を行うので、音響モデルとしては、例えば、ガウス分布等の確率密度関数を用いたＨＭＭ(Hidden Markov Model)が用いられる。辞書データベース１０９は、認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース１１０は、辞書データベース１０９の単語辞書に登録されている各単語が、どのように連鎖するか（つながるか）を記述した文法規則（言語モデル）を記憶している。ここで、文法規則としては、例えば、文脈自由文法（ＣＦＧ）や、正規文法（ＲＧ）、統計的な単語連鎖確率（Ｎ−ｇｒａｍ）などに基づく規則を用いることができる。
【００３６】
探索部１０８は、辞書データベース１０９の単語辞書を参照することにより、音響データベース１１１に記憶されている音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。さらに、探索部１０８は、幾つかの単語モデルを、文法データベース１１０に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルとのマッチングを、連続分布ＨＭＭ法によって行い、マイク１０１に入力された音声を認識する。即ち、探索部１０８は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ１０７に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、探索部１０８は、例えば、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【００３７】
なお、ここでは、ＨＭＭ法により音声認識が行われるため、探索部１０８は、音響的には、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとする。
【００３８】
すなわち、探索部１０８におけるスコア計算は、音響データベース１１１に記憶された音響モデルによって与えられる音響的なスコア（以下、適宜、音響スコアという）と、文法データベース１１０に記憶された文法規則によって与えられる言語的なスコア（以下、適宜、言語スコアという）とを総合評価することで行われる。
【００３９】
具体的には、音響スコアは、例えば、ＨＭＭ法による場合には、単語モデルを構成する音響モデルから、音響分析部１０６が出力する特徴ベクトルの系列が観測される確率（出現する確率）に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖（連接）する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア（以下、適宜、最終スコアという）に基づいて、音声認識結果が確定される。
【００４０】
ここで、音声認識装置は、文法データベース１１０を設けずに構成することも可能である。但し、文法データベース１１０に記憶された規則によれば、接続する単語モデルが制限され、その結果、探索部１０８における音響スコアの計算の対象とする単語数が限定されるので、探索部１０８の計算量を低減し、処理速度を向上させることができる。
【００４１】
探索部１０８は、最終スコアが最も高い単語を音声認識結果の単語列として、後段の図示せぬ処理部に出力する。また、探索部１０８は、音声認識結果として決定した単語の最終スコア（１番高い値の最終スコア）、および候補となった他の単語の最終スコアをCM値算出部１１２に供給する。
【００４２】
CM値算出部１１２は、探索部１０８から供給された音声認識結果の単語の最終スコア、および候補となった他の単語の最終スコアと比較することにより、認識結果のCM値を算出する。すなわち、音声認識結果としての単語の最終スコアが、他の候補の最終スコアからかけ離れて大きな値であれば、その音声認識結果はより正確である可能性が高いと考えられ、音声認識結果としての単語の最終スコアが、他の候補の最終スコアと近い値であれば、その音声認識結果はあまり正確ではない可能性があると考えられる。そこで、例えば、CM値算出部１１２は、音声認識結果の単語の最終スコアと、他の単語候補のうち１番高い最終スコアの単語の最終スコアとの差を、CM値として求める。CM値算出部１１２は、算出したCM値を適応判定部１１３に供給する。
【００４３】
なお、上記のCM値の算出方法は一例であり、もちろん、上記以外の方法により、CM値を算出しても良い。例えば、ニューラルネットワーク理論に基づいて、CM値を算出しても良い。
【００４４】
適応判定部１１３は、ノイズ測定部１０５から供給される無音時のノイズレベル、およびCM値算出部１１２から供給されるCM値に基づいて、音響モデルの適応処理（話者適応処理）を実行するか否かを判定し、音響モデルの適応処理を実行すると判定した場合、適応部１１４に、音響モデルの適応処理を実行するように通知する。また、適応判定部１１３は、同一の特徴ベクトルについて、再度、探索部１０８によりマッチング処理が実行された後、CM値算出部１１２からCM値が供給された場合、そのCM値に基づいて、モデルの適応を成立させるか否かを判定し、判定結果のメッセージを適応部１１４に通知する。
【００４５】
適応部１１４は、適応判定部１１３より、音響モデルの適応処理を実行するように通知された場合、CM値が算出された単語列に対応する特徴ベクトルを特徴ベクトルバッファ１０７から読み出し、この特徴ベクトルを利用して話者適応処理を実行し、音響データベース１１１に記憶された音響モデルを更新する。なお、更新する際、適応部１１４は、更新前の音響モデルを一時的に保持しておく。その後、適応判定部１１３より、更新された音響モデルを成立させる旨のメッセージが通知された場合、適応部１１４は、保持していた更新前の音響モデルを破棄する。一方、適応判定部１１３より、更新された音響モデルを、更新前の音響モデルに戻す旨のメッセージが通知された場合、適応部１１４は、音響データベース１１１に記憶された、更新後の音響モデルを消去し、保持していた更新前の音響モデルを再度音響データベース１１１に記憶させる。
【００４６】
次に、図２および図３のフローチャートを参照して、図１の音声認識装置の音声認識処理を説明する。
【００４７】
A/D変換部１０２は、マイク１０１により集音された音声を順次A/D変換し、生成したデジタル信号としての音声信号を音声区間検出部１０３、音響分析部１０６、および無音時音声バッファ１０４に供給している。ステップＳ１０１において、音声区間検出部１０３は、A/D変換部１０２から供給された音声信号に基づいて、ユーザから音声入力があったか否かを判定する。すなわち、音声区間検出部１０３は、音声区間か否かを判定し、音声区間であると判定するまで、ステップＳ１０１の処理を繰り返して待機する。そして、音声区間検出部１０３が音声区間であると判定した場合、音声区間検出部１０３は、音声区間である旨のメッセージをノイズ測定部１０５および音響分析部１０６に通知する。
【００４８】
音声区間検出部１０３から音声区間である旨のメッセージを受信したノイズ測定部１０５は、ステップＳ１０２において、無音時音声バッファ１０４に記憶された、音声区間の直前の所定の時間長分の音声信号を読み出し、ユーザが発話する前の周囲のノイズレベルを算出し、算出したノイズレベルの値を適応判定部１１３に供給する。
【００４９】
また、音声区間検出部１０３から音声区間である旨のメッセージを受信した音響分析部１０６は、ステップＳ１０３において、A/D変換部１０２から供給された音声信号からの特徴ベクトルの抽出を開始する。すなわち、音響分析部１０６は、A/D変換部１０２から供給された音声信号について、適当な時間間隔で音響分析処理を施し、音声の音響的特徴を表すパラメータ（特徴ベクトル）に変換し、特徴量として抽出する。抽出された特徴ベクトルは、特徴ベクトルバッファ１０７に順次供給され、記憶される。
【００５０】
ステップＳ１０４において、探索部１０８は、特徴ベクトルバッファ１０７に記憶された、音声区間の音声信号から抽出された特徴ベクトルを用い、辞書データベース１０９に記憶された単語辞書、文法データベース１１０に記憶された文法規則、および音響データベース１１１に記憶された音響モデルを参照することにより、音声認識結果の候補としての複数の単語列（単語）に対する言語スコアおよび音響スコアを計算し、さらに、最終スコアを求め、最終スコアの最も大きい単語列（単語）を、音声認識結果として確定する。
【００５１】
そして、ステップＳ１０５において、探索部１０８は、確定した音声認識結果としての単語列（単語）を図示せぬ後段の処理部に出力するとともに、音声認識結果としての単語列（単語）の最終スコア、および候補となった他の単語列の最終スコアを、CM値算出部１１２に供給する。
【００５２】
ステップＳ１０６において、CM値算出部１１２は、探索部１０８より供給された、音声認識結果の単語列（単語）の最終スコアと、候補となった他の単語列（単語）の最終スコアを比較することにより、CM値を算出し、算出したCM値を適応判定部１１３に供給する。
【００５３】
適応判定部１１３は、音響モデルの適応を行うか否かの判定の基準となるノイズレベルの値（以下、基準ノイズ値と称する）を、予め保持している。そして、ステップＳ１０７において、適応判定部１１３は、ステップＳ１０２でノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値より低いか否かを判定し、ノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値より低くなかった（ノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値以上だった）場合、処理はステップＳ１０１に戻り、上述したステップＳ１０１以降の処理が繰り返される。
【００５４】
ステップＳ１０７において、適応判定部１１３が、ステップＳ１０２でノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値より低いと判定した場合、処理はステップＳ１０８に進む。
【００５５】
適応判定部１１３は、音響モデルの適応を行うか否かの判定の基準となるCM値（以下、基準CM値と称する）を、予め保持している。そして、ステップＳ１０８において、適応判定部１１３は、ステップＳ１０６でCM値算出部１１２から供給されたCM値が基準CM値より高いか否かを判定し、CM値算出部１１２から供給されたCM値が基準CM値より高くなかった（CM値算出部１１２から供給されたCM値が基準CM値以下上だった）場合、処理はステップＳ１０１に戻り、上述したステップＳ１０１以降の処理が繰り返される。
【００５６】
ステップＳ１０８において、適応判定部１１３が、ステップＳ１０６でCM値算出部１１２から供給されたCM値が基準CM値より高いと判定した場合、適応判定部１１３は、適応部１１４に、音響モデルの適応処理（話者適応処理）を実行するように要求する。その後、処理は図３のステップＳ１０９に進む。
【００５７】
適応判定部１１３から音響モデルの適応処理（話者適応処理）を実行するように要求された適応部１１４は、ステップＳ１０９において、特徴ベクトルバッファ１０７より、ステップＳ１０４で単語列（単語）が探索された特徴ベクトルを読み出し、この特徴ベクトルと、探索部１０８により探索された単語列（単語）を利用して、例えば、MLLR法などにより、音響データベース１１１に記憶された音響モデルを適応処理（話者適応処理）する。これにより、音響データベース１１１に記憶されている音響モデルが更新される。なお、適応部１１４は、更新前の音響モデルを保持しておく。
【００５８】
ステップＳ１１０において、探索部１０８は、ステップＳ１０４で１度使用した特長ベクトルを、再び、特徴ベクトルバッファ１０７より読み出し、辞書データベース１０９、文法データベース１１０、およびステップＳ１０９で更新された音響データベース１１１を参照して、読み出した特徴ベクトルに対応する単語列（単語）を再び検索する。すなわち、探索部１０８は、読み出した特徴ベクトルに対して、音声認識結果の候補としての複数の単語列（単語）に対する言語スコアおよび音響スコアを計算し、さらに、最終スコアを求め、最終スコアの最も大きい単語列（単語）を、音声認識結果として確定する。そして、探索部１０８は、音声認識結果としての単語列（単語）の最終スコア、および候補となった他の単語列の最終スコアを、CM値算出部１１２に供給する。
【００５９】
ステップＳ１１１において、CM値算出部１１２は、探索部１０８より供給された、音声認識結果の単語列（単語）の最終スコアと、他の候補となった単語列（単語）の最終スコアを比較することにより、更新された音響データベース１１１を利用した場合のCM値を算出し、算出したCM値を適応判定部１１３に供給する。
【００６０】
ステップＳ１１２において、適応判定部１１３は、ステップＳ１１１でCM値算出部１１２から供給されたCM値が基準CM値より高いか否かを判定し、CM値算出部１１２から供給されたCM値が基準CM値より高くなかった（CM値算出部１１２から供給されたCM値が基準CM値以下だった）場合、適応部１１４に対して、音響データベース１１１を適応前の状態に戻すように要求する。その後、処理はステップＳ１１３に進む。
【００６１】
適応判定部１１３から、音響データベース１１１を適応前の状態に戻すように要求された適応部１１４は、ステップＳ１１３において、音響データベース１１１に記憶されている、更新された音響モデルを削除するとともに、保持していた適応前（更新前）の音響モデルを再び音響データベース１１１に記憶させる。これにより、音響データベース１１１は、更新前の状態に戻る。ステップＳ１１３の処理の後、処理は図２のステップＳ１０１に戻り、上述したステップＳ１０１以降の処理が繰り返される。
【００６２】
ステップＳ１１２において、適応判定部１１３が、ステップＳ１１１でCM値算出部１１２から供給されたCM値が基準CM値より高いと判定した場合、適応部１１４に対して、音響モデルの適応を成立させるように要求する。その後、処理はステップＳ１１４に進む。
【００６３】
適応判定部１１３から、音響モデルの適応を成立させるように要求された適応部１１４は、ステップＳ１１４において、ステップＳ１０９で更新した音響データベース１１１を維持し、保持していた更新前の音響モデルを破棄（消去）する。これにより、ステップＳ１０９で更新された音響データベース１１１が確定され、以降の音声認識処理に利用される。その後、処理は図２のステップＳ１０１に戻り、上述したステップＳ１０１以降の処理が繰り返される。
【００６４】
以上のようにして、音声認識処理が実行される。
【００６５】
以上のように、周囲のノイズレベルが基準ノイズ値より低く、音声認識結果の確からしさ（CM値）が基準CM値より高い場合のみ、音響データベース１１１の音響モデルを適応させる（話者適応処理を行う）ようにすることにより、話者適応処理を行う最適な条件下でのみ話者適応処理を実行させることができるようになる。従って、話者適応処理を実行したがゆえに音声認識率が低下する（誤認識率が増加する）ことを防止することができる。
【００６６】
また、音響データベース１１１の音響モデルを適応処理（話者適応処理）した後、再び、同じ特徴ベクトルについて音声認識処理を実行し（ステップＳ１１０）、そのCM値を評価し（ステップＳ１１２）、再評価したCM値に基づいて、音響モデルの適応を成立させる（ステップＳ１１４）か、適応前の状態に戻すか（ステップＳ１１３）を決定することにより、話者適応処理により音声認識の性能が低下しないように維持することができ、話者適応処理の信頼性をさらに向上させることができる。
【００６７】
なお、以上の音声認識処理は、１発話毎に実行しても良いし、１単語毎に実行しても良い。すなわち、例えば、ユーザが「今日は良い天気ですね」と発話した場合に、「今日は良い天気ですね」全体に対応する特徴ベクトルについて単語列を探索し、CM値を求めるようにしても良いし、「今日」、「は」、「良い」、「天気」、および「ですね」のそれぞれに対して、対応する特徴ベクトルについて単語列を検索し、CM値を求めるようにしても良い。
【００６８】
以上の音声認識処理においては、ステップＳ１０４およびステップＳ１１０において、それぞれ音声認識結果の単語列（単語）が求められるが、そのうち、先に求められた音声認識結果の単語列（単語）を、図示せぬ後段の処理部に出力することにより、より迅速に音声認識結果を出力することができる。従って、音声認識結果を早急に次の処理に利用する必要がある場合に、上記の音声認識処理は適している。しかしながら、音声認識結果を早急に次の処理に利用する必要が無い場合、１回目の音声認識結果と２回目の音声認識結果の両方、またはいずれか一方を選択して出力するようにしても良い。図４は、このようにした場合の音声認識装置の構成例を示している。
【００６９】
図４の音声認識装置において、図１の音声認識装置と同一の部位には同一の符号を付しており、同一の部位についての説明は、適宜、省略する。
【００７０】
図４の音声認識装置は、図１の音声認識装置に、さらに認識結果選択部１５１が付加された構成になっている。
【００７１】
探索部１０８は、単語列（単語）の探索を実行し、その結果求められた音声認識結果を認識結果選択部１５１に供給する。
【００７２】
また、適応判定部１１３は、音響データベース１１１の音響モデルの適応処理を実行するか否かを判定した後、判定結果を認識結果選択部１５１にも通知する。また、適応判定部１１３は、音響データベース１１１の更新を成立させるか否かを判定した後、判定結果を認識結果選択部１５１にも通知する。
【００７３】
認識結果選択部１５１は、探索部１０８から音声認識結果の単語列（単語）が供給された場合、それを１回目の音声認識結果として記憶しておく。そして、次に適応判定部１１３から、音響モデルの適応処理を実行しない旨の判定結果が通知された場合、認識結果選択部１５１は、記憶していた１回目の音声認識結果を図示せぬ後段の処理部に出力する。一方、適応判定部１１３から、音響モデルの適応処理を実行する旨の判定結果が通知された場合、認識結果選択部１５１は、１回目の音声認識結果を保持しつつ、さらに待機する。そして、次に探索部１０８から音声認識結果の単語列（単語）が供給された場合、それを２回目の音声認識結果として記憶しておく。次に適応判定部１１３から音響データベース１１１の更新を成立させる旨の判定結果が通知された場合、認識結果選択部１５１は、２回目の音声認識結果を後段の図示せぬ処理部に出力する。一方、適応判定部１１３から音響データベース１１１を更新前の状態に戻す旨の判定結果が通知された場合、認識結果選択部１５１は、１回目の音声認識結果を後段の図示せぬ処理部に出力する。
【００７４】
次に、図５および図６のフローチャートを参照して、図４の音声認識装置の音声認識処理について説明する。なお、図５のステップＳ２０１乃至ステップＳ２０４の処理は、図２のステップＳ１０１乃至ステップＳ１０４の処理と同様であるため、簡略化して説明する。
【００７５】
ステップＳ２０１において、音声区間検出部１０３は、A/D変換部１０２から供給された音声信号に基づいて、ユーザから音声入力があったか否かを判定して待機し、音声区間検出部１０３が音声区間であると判定した場合、音声区間検出部１０３は、音声区間である旨のメッセージをノイズ測定部１０５および音響分析部１０６に通知する。
【００７６】
音声区間検出部１０３から音声区間である旨のメッセージを受信したノイズ測定部１０５は、ステップＳ２０２において、無音時音声バッファ１０４に記憶された、音声区間の直前の所定の時間長分の音声信号を読み出し、ユーザが発話する前の周囲のノイズレベルを算出し、算出したノイズレベルの値を適応判定部１１３に供給する。
【００７７】
また、音声区間検出部１０３から音声区間である旨のメッセージを受信した音響分析部１０６は、ステップＳ２０３において、A/D変換部１０２から供給された音声信号からの特徴ベクトルの抽出を開始する。抽出された特徴ベクトルは、特徴ベクトルバッファ１０７に順次供給され、記憶される。
【００７８】
ステップＳ２０４において、探索部１０８は、特徴ベクトルバッファ１０７に記憶された、音声区間の音声信号から抽出された特徴ベクトルを用い、辞書データベース１０９に記憶された単語辞書、文法データベース１１０に記憶された文法規則、および音響データベース１１１に記憶された音響モデルを参照することにより、音声認識結果の候補としての複数の単語列（単語）に対する言語スコアおよび音響スコアを計算し、さらに、最終スコアを求め、最終スコアの最も大きい単語列（単語）を、音声認識結果として確定する。
【００７９】
そして、探索部１０８は、確定した音声認識結果としての単語列（単語）を認識結果選択部１５１に供給するとともに、音声認識結果としての単語列（単語）の最終スコア、および候補となった他の単語列の最終スコアを、CM値算出部１１２に供給する。認識結果選択部１５１は、探索部１０８から供給された音声認識結果の単語列（単語）を１回目の音声認識結果として記憶する。
【００８０】
ステップＳ２０５において、CM値算出部１１２は、探索部１０８より供給された、音声認識結果の単語列（単語）の最終スコアと、他の候補となった単語列（単語）の最終スコアを比較することにより、CM値を算出し、算出したCM値を適応判定部１１３に供給する。
【００８１】
ステップＳ２０６において、適応判定部１１３は、ステップＳ２０２でノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値より低いか否かを判定し、ノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値より低くなかった（ノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値以上だった）場合、音響モデルの適応処理を実行しないと判定し、その判定結果を認識結果選択部１５１に通知する。その後、処理はステップＳ２０８に進む。
【００８２】
ステップＳ２０６において、適応判定部１１３が、ステップＳ２０２でノイズ測定部１０５から供給されたノイズレベルの値が基準ノイズ値より低いと判定した場合、処理はステップＳ２０７に進む。
【００８３】
ステップＳ２０７において、適応判定部１１３は、ステップＳ２０５でCM値算出部１１２から供給されたCM値が基準CM値より高いか否かを判定し、CM値算出部１１２から供給されたCM値が基準CM値より高くなかった（CM値算出部１１２から供給されたCM値が基準CM値以下だった）場合、音響モデルの適応処理を実行しないと判定し、その判定結果を認識結果選択部１５１に通知する。その後、処理はステップＳ２０８に進む。
【００８４】
適応判定部１１３から音響モデルの適応処理を実行しない旨の判定結果が通知された認識結果選択部１５１は、ステップＳ２０８において、記憶していた１回目の音声認識結果を図示せぬ後段の処理部に出力する。その後、処理はステップＳ２０１に戻り、上述したステップＳ２０１以降の処理が繰り返される。
【００８５】
ステップＳ２０７において、適応判定部１１３が、ステップＳ２０５でCM値算出部１１２から供給されたCM値が基準CM値より高いと判定した場合、適応判定部１１３は、適応部１１４に、音響モデルの適応処理を実行するように要求する。その後、処理は図６のステップＳ２０９に進む。
【００８６】
適応判定部１１３から音響モデルの適応処理を実行するように要求された適応部１１４は、ステップＳ２０９において、特徴ベクトルバッファ１０７より、ステップＳ２０４で単語列（単語）が探索された特徴ベクトルを読み出し、この特徴ベクトルと、探索部１０８により探索された単語列（単語）を利用して、例えば、MLLR法などにより、音響データベース１１１に記憶された音響モデルを適応処理（話者適応処理）する。これにより、音響データベース１１１に記憶されている音響モデルが更新される。なお、適応部１１４は、更新前の音響モデルを保持しておく。
【００８７】
ステップＳ２１０において、探索部１０８は、ステップＳ２０４で１度使用した特長ベクトルを、再び、特徴ベクトルバッファ１０７より読み出し、辞書データベース１０９、文法データベース１１０、およびステップＳ２０９で更新された音響データベース１１１を参照して、読み出した特徴ベクトルに対応する単語列（単語）を再び探索する。すなわち、探索部１０８は、読み出した特徴ベクトルに対して、音声認識結果の候補としての複数の単語列（単語）に対する言語スコアおよび音響スコアを計算し、さらに、最終スコアを求め、最終スコアの最も大きい単語列（単語）を、音声認識結果として確定する。そして、探索部１０８は、音声認識結果の単語列（単語）を認識結果選択部１５１に供給するとともに、音声認識結果としての単語列（単語）の最終スコア、および候補となった他の単語列の最終スコアを、CM値算出部１１２に供給する。認識結果選択部１５１は、探索部１０８から供給された音声認識結果の単語列（単語）を２回目の音声認識結果として記憶する。なお、認識結果選択部１５１は、この時点で、１回目の音声認識結果も継続して保持している。
【００８８】
ステップＳ２１１において、CM値算出部１１２は、探索部１０８より供給された、音声認識結果の単語列（単語）の最終スコアと、他の候補となった単語列（単語）の最終スコアを比較することにより、更新された音響データベース１１１を利用した場合のCM値を算出し、算出したCM値を適応判定部１１３に供給する。
【００８９】
ステップＳ２１２において、適応判定部１１３は、ステップＳ２１１でCM値算出部１１２から供給されたCM値が基準CM値より高いか否かを判定し、CM値算出部１１２から供給されたCM値が基準CM値より高くなかった（CM値算出部１１２から供給されたCM値が基準CM値以下だった）場合、適応部１１４に対して、音響データベース１１１を適応前の状態に戻すように要求するとともに、認識結果選択部１５１に対して、音響データベース１１１を適応前の状態に戻す旨のメッセージを通知する。その後、処理はステップＳ２１３に進む。
【００９０】
適応判定部１１３から、音響データベース１１１を適応前の状態に戻すように要求された適応部１１４は、ステップＳ２１３において、音響データベース１１１に記憶されている、ステップＳ２０９で更新された音響モデルを削除するとともに、保持していた適応前（更新前）の音響モデルを再び音響データベース１１１に記憶させる。これにより、音響データベース１１１は、更新前の状態に戻る。
【００９１】
適応判定部１１３から、音響データベース１１１を適応前の状態に戻す旨のメッセージが通知された認識結果選択部１５１は、ステップＳ２１４において、１回目の音声認識結果を、図示せぬ後段の処理部に出力する。ステップＳ２１４の処理の後、処理は図５のステップＳ２０１に戻り、上述したステップＳ２０１以降の処理が繰り返される。
【００９２】
ステップＳ２１２において、適応判定部１１３が、ステップＳ２１１でCM値算出部１１２から供給されたCM値が基準CM値より高いと判定した場合、適応部１１４に対して、音響モデルの適応を成立させるように要求するとともに、認識結果選択部１５１に対して、音響モデルの適応を成立させる旨のメッセージを通知する。その後、処理はステップＳ２１５に進む。
【００９３】
適応判定部１１３から、音響モデルの適応を成立させるように要求された適応部１１４は、ステップＳ２１５において、ステップＳ２０９で更新した音響データベース１１１を維持し、保持していた更新前の音響モデルを破棄（消去）する。これにより、ステップＳ２０９で更新された音響データベース１１１が確定され、以降の音声認識処理に利用される。
【００９４】
適応判定部１１３から、音響モデルの適応を成立させる旨のメッセージが通知された認識結果選択部１５１は、ステップＳ２１６において、２回目の音声認識結果を、図示せぬ後段の処理部に出力する。その後、処理は図５のステップＳ２０１に戻り、上述したステップＳ２０１以降の処理が繰り返される。
【００９５】
以上のようにして、音声認識処理が実行される。
【００９６】
以上のように、ステップＳ２０４およびステップＳ２１０において、それぞれ得られた音声認識結果のうち、いずれか一方を選択して出力することにより、より最適化された音響モデルに基づいて音声認識された音声認識結果を出力することが可能となる。
【００９７】
なお、以上の音声認識処理は、１発話毎に実行しても良いし、１単語毎に実行しても良い。すなわち、例えば、ユーザが「今日は良い天気ですね」と発話した場合に、「今日は良い天気ですね」全体に対応する特徴ベクトルについて単語列を探索し、CM値を求めるようにしても良いし、「今日」、「は」、「良い」、「天気」、および「ですね」のそれぞれに対して、対応する特徴ベクトルについて単語列を検索し、CM値を求めるようにしても良い。
【００９８】
なお、本発明は、例えば、家庭用あるいは業務用のゲーム機、携帯電話機、携帯端末装置、その他、あらゆる電化機器に適用することが可能である。
【００９９】
上述した一連の処理は、ハードウェアにより実行させることもできるし、上述したようにソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体等からインストールされる。
【０１００】
図７は、このような処理を実行するパーソナルコンピュータ５００の内部構成例を示す図である。パーソナルコンピュータのCPU（Central Processing Unit）５０１は、ROM（Read Only Memory）５０２に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）５０３には、CPU５０１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース５０５には、マウス、キーボード、マイクロフォン、AD変換器などから構成される入力部５０６が接続され、入力部５０６に入力された信号をCPU５０１に出力する。また、入出力インタフェース５０５は、ディスプレイ、スピーカ、およびDA変換器などから構成される出力部５０７も接続されている。
【０１０１】
さらに、入出力インタフェース５０５には、ハードディスクなどから構成される記憶部５０８、および、インターネットなどのネットワークを介して他の装置とデータの通信を行う通信部５０９も接続されている。ドライブ５１０は、磁気ディスク５２１、光ディスク５２２、光磁気ディスク５２３、半導体メモリ５３４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１０２】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図７に示すように、磁気ディスク５２１（フレキシブルディスクを含む）、光ディスク５２２（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク５２３（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリ５２４などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納されるROM５０２や、記憶部５０８を構成するハードディスクなどにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１０３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１０４】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１０５】
【図１】本発明を適用した音声認識装置の構成例を示すブロック図である。
【図２】図１の音声認識装置の音声認識処理を説明するフローチャートである。
【図３】図１の音声認識装置の音声認識処理を説明する、図２に続くフローチャートである。
【図４】本発明を適用した音声認識装置の構成例を示すブロック図である。
【図５】図４の音声認識装置の音声認識処理を説明するフローチャートである。
【図６】図４の音声認識装置の音声認識処理を説明する、図２に続くフローチャートである。
【図７】本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１０６】
１０１  マイク，  １０２  A/D変換部，  １０３  音声区間検出部，  １０４  無音時音声バッファ，  １０５  ノイズ測定部，  １０６  音響分析部，  １０７  特徴ベクトルバッファ，  １０８  探索部，  １０９  辞書データベース（DB），  １１０  文法データベース（DB），  １１１  音響データベース（DB），  １１２  CM値算出部，  １１３  適応判定部，  １１４  適応部，  １５１  認識結果選択部
【図１】
2005091568.tif 000003
【図２】
2005091568.tif 000004
【図３】
2005091568.tif 000005
【図４】
2005091568.tif 000006
【図５】
2005091568.tif 000007
【図６】
2005091568.tif 000008
【図７】
2005091568.tif 000009