(57)【要約】【課題】複数の言語モデルによる音声認識処理を行い、雑音や距離により認識性能が低下しないようにする。【解決手段】入力音声された音声の特徴量を抽出部３で抽出し、特徴量に基づいて、認識処理部２１−１乃至２１−４が単語列を認識する。認識評価部５は、認識された単語の音響スコアに重み付けを行い、アプリケーション制御部６に出力すべき単語を選択する。また、タスク制御部９は、雑音予測部７による雑音の推定値に基づいて、認識処理部２１−１乃至２１−４の稼動、停止、または切り替えを行い、同様に、ユーザ距離予測部８による距離の推定結果に基づいて、認識処理部２１−１乃至２１−４の稼動、停止、または切り替えを行う。本発明は、ロボットの音声認識処理に適用することができる。【選択図】      図１
2004198831.tif 000002
【特許請求の範囲】
【請求項１】
入力音声を認識して認識結果を出力する音声認識装置において、
前記入力音声に重畳された雑音の観測値又は推定値を求める雑音予測手段と、
異なる言語モデルに対応した認識処理を選択的に行う認識処理手段と、
前記雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御手段と
を備えることを特徴とする音声認識装置。
【請求項２】
異なるアプリケーションを選択的に動作させるアプリケーション制御手段を更に備え、
前記アプリケーション制御手段は、前記雑音の観測値又は推定値に基づいて動作させるアプリケーションを選択する
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記選択制御手段は、前記雑音の観測値又は推定値が所定値を超えた場合、語彙、または文法の制約が強い言語モデルに対応した認識処理が行われるように選択を制御する
ことを特徴とする請求項１記載の音声認識装置。
【請求項４】
前記選択制御手段は、前記雑音の観測値又は推定値が所定値を超えた場合、前記アプリケーション制御手段に、アプリケーションの停止または切り替えを実行させる
ことを特徴とする請求項２記載の音声認識装置。
【請求項５】
入力音声を認識して認識結果を出力する音声認識装置において、
前記入力音声の音源位置又は音源までの距離を求める距離予測手段と、
異なる言語モデルに対応した認識処理を選択的に行う認識処理手段と、
前記音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択手段と
を備えることを特徴とする音声認識装置。
【請求項６】
異なるアプリケーションを選択的に動作させるアプリケーション制御手段を更に備え、
前記アプリケーション制御手段は、前記音源位置又は音源までの距離に基づいて、動作させるアプリケーションを選択する
ことを特徴とする請求項５記載の音声認識装置。
【請求項７】
前記選択制御手段は、前記音源位置又は音源までの距離が所定値を超えた場合、語彙、または文法の制約が強い言語モデルに対応した認識処理が行われるように選択を制御する
ことを特徴とする請求項５記載の音声認識装置。
【請求項８】
前記選択制御手段は、前記音源位置又は音源までの距離が所定値を超えた場合、前記アプリケーション制御手段に、アプリケーションの停止または切り替えを実行させる
ことを特徴とする請求項６記載の音声認識装置。
【請求項９】
入力された音声を認識して認識結果を出力する音声認識装置において、
異なる言語モデルに対応した認識処理を選択的に行う認識処理手段と、
前記認識処理手段の認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って前記認識結果を評価し、評価結果のうち最も評価の高い認識結果を出力する評価手段と
を備えることを特徴とする音声認識装置。
【請求項１０】
前記評価手段は、評価の高い順に認識結果を出力する
ことを特徴とする請求項９に記載の音声認識装置。
【請求項１１】
前記評価手段は、前記認識処理手段の認識結果の音響スコアに重み付けをする
ことを特徴とする請求項９記載の音声認識装置。
【請求項１２】
前記評価手段は、前記認識処理手段の認識結果の言語スコアに重み付けをする
ことを特徴とする請求項９記載の音声認識装置。
【請求項１３】
前記評価手段は、前記認識処理手段の認識結果のスコアに対し所定の値を加えて重み付けをする
ことを特徴とする請求項９記載の音声認識装置。
【請求項１４】
前記評価手段は、前記言語モデルに対応して、前記認識処理手段の認識結果のスコアに対する重み付けを動的に変化させる
ことを特徴とする請求項９の音声認識装置。
【請求項１５】
前記評価手段は、前記アプリケーションの動作状況に対応して、前記認識処理手段の認識結果のスコアに対する重み付けを変化させる
ことを特徴とする請求項１４記載の音声認識装置。
【請求項１６】
前記評価手段は、前記雑音の観測値又は推定値に基づいて、前記認識処理手段の認識結果のスコアに対する重み付けを変化させる
ことを特徴とする請求項１４に記載の音声認識装置。
【請求項１７】
前記評価手段は、前記音源位置又は音源までの距離に基づいて、前記認識手段処理手段の認識結果のスコアに対する重み付けを変化させることを特徴とする請求項１４に記載の音声認識装置。
【請求項１８】
入力音声を認識して認識結果を出力する音声認識装置の音声認識方法において、
前記入力音声に重畳された雑音の観測値又は推定値を求める雑音予測ステップと、
異なる言語モデルに対応した認識処理を選択的に行う認識処理ステップと、
前記雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御ステップと
を含むことを特徴とする音声認識方法。
【請求項１９】
入力音声を認識して認識結果を出力する音声認識装置のプログラムにおいて、
前記入力音声に重畳された雑音の観測値又は推定値の生成を制御する雑音予測制御ステップと、
異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、
前記雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２０】
入力音声を認識して認識結果を出力する音声認識装置のプログラムが記録された記録媒体において、
前記入力音声に重畳された雑音の観測値又は推定値の生成を制御する雑音予測制御ステップと、
異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、
前記雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御ステップと
をコンピュータに実行させるプログラムが記録されたことを特徴とする記録媒体。
【請求項２１】
入力音声を認識して認識結果を出力する音声認識装置の音声認識方法において、
前記入力音声の音源位置又は音源までの距離を求める距離予測ステップと、
異なる言語モデルに対応した認識処理を選択的に行う認識処理ステップと、
前記音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択ステップと
を含むことを特徴とする音声認識方法。
【請求項２２】
入力音声を認識して認識結果を出力する音声認識装置のプログラムにおいて、
前記入力音声の音源位置又は音源までの距離の予測値の生成を制御する距離予測制御ステップと、
異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、
前記音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２３】
入力音声を認識して認識結果を出力する音声認識装置のプログラムが記録された記録媒体において、
前記入力音声の音源位置又は音源までの距離の予測値の生成を制御する距離予測制御ステップと、
異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、
前記音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択制御ステップと
をコンピュータに実行させるプログラムが記録されたことを特徴とする記録媒体。
【請求項２４】
入力された音声を認識して認識結果を出力する音声認識装置の音声認識方法において、
異なる言語モデルに対応した認識処理を選択的に行う認識処理ステップと、
前記認識処理手段の認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って前記認識結果を評価し、評価結果のうち最も評価の高い認識結果を出力する評価ステップと
を含むことを特徴とする音声認識方法。
【請求項２５】
入力された音声を認識して認識結果を出力する音声認識装置のプログラムにおいて、
異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、
前記認識処理制御ステップの認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って前記認識結果を評価し、評価結果のうち最も評価の高い認識結果の出力を制御する評価制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２６】
入力された音声を認識して認識結果を出力する音声認識装置のプログラムが記録された記録媒体において、
異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、
前記認識処理制御ステップの認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って前記認識結果を評価し、評価結果のうち最も評価の高い認識結果の出力を制御する評価制御ステップと
をコンピュータに実行させるプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力された音声信号に対して、対応する単語の系列を求めて出力を行う音声認識装置および方法、プログラム、並びに記録媒体に関し、特に複数の言語モデルを制御できるようにする音声認識装置および方法、プログラム、並びに記録媒体に関する。
【０００２】
【従来の技術】
近年、音声認識を応用したアプリケーションとしての製品やサービスの実用化が盛んに行なわれるようになってきた。
【０００３】
音声認識とは、入力された音声信号に対応した単語の系列を自動的に決定する技術のことであり、この技術とアプリケーションを組み合わせることで、様々な製品やサービスが可能となる。
【０００４】
しかし、音声認識の技術として、任意の音声信号に対して高精度に対応する単語系列を決定することは難しく、語彙や文法に対して制約を設けることが一般に行なわれている。一方、音声認識を応用したアプリケーションでは、システムの状態やユーザの要求等に応じて、対話が遷移していく。そこで、この対話の遷移に応じて、語彙や文法を適切に切り替えることで、高性能な音声認識のアプリケーションを構築することが提案されている（例えば、特許文献１、および非特許文献１参照）。
【０００５】
特許文献１には、音声認識システムとそれを応用する複数のアプリケーションに関して、アプリケーションを管理する機能をもち、音声認識システムと複数のアプリケーションが相互に情報を送り合えるようにすることで、アプリケーションに応じた語彙の切り替えや、複数のアプリケーションに認識結果を送信する方法が開示されている。
【０００６】
また、非特許文献１には、音声認識システムとアプリケーションを接続し、音声認識システムの文法の切り替えを行なう方法、および、複数の文法を同時に駆動する方法が開示されている。複数の文法を駆動する方法として、独立した複数の認識プロセスを並列に動作させる方法と、全ての文法を結合して一つの文法として扱うことで単一の認識プロセスを動作させる方法が考えられる。
【０００７】
このような技術を用いることで、音声認識システムにおいて、語彙と文法（以下、言語モデルと称する）を複数同時に駆動したり、言語モデルを切り替えることが可能であり、音声認識システムとアプリケーションを接続することで、さまざまなアプリケーションを構築することが可能となる。
【０００８】
【特許文献１】
特願平５−３５３１４２号公報
【０００９】
【非特許文献１】
「複数文法の同時認識および動的切り替えを行なう認識エンジン Julius/Julian-3.3」
【００１０】
【発明が解決しようとする課題】
しかしながら、特許文献１または非特許文献１のように、アプリケーションの切り替えに応じて言語モデルを切り替えたり、アプリケーションの中の対話の遷移にしたがって言語モデルを切り替えるだけでは、実環境において所望の音声認識性能が得られないという課題があった。
【００１１】
例えば、背景の雑音や、ユーザとマイクとの位置関係によって、音声認識の性能は大きく変化する。雑音が大きくなるほど認識性能は低下し、ユーザがマイクから離れるほど認識性能は低下する。静かな環境で接話マイクを利用するパーソナルコンピュータ上のアプリケーションなどの場合は大きな問題にはならないが、周囲に環境雑音がある場合、ロボットの対話システムのように、ロボットが動作する際に発生するモータ音などが存在する場合、さらに、ロボットが動き回り、ユーザとマイクの距離関係が変化する場合など、音声認識の性能が低下し、アプリケーションが正常に動作しなくなるという恐れがある。
【００１２】
また、複数の言語モデルを同時に駆動した場合、音声認識の性能が低下するという課題があった。
【００１３】
例えば、トライグラムで駆動する大語彙の連続音声認識システムと、小語彙の孤立単語音声認識システムを同時に駆動した場合、それぞれの音声認識システムに対して認識結果である単語系列が決定される。このとき、どちらの単語系列を最終的な認識結果として利用するかが問題となるが、その判断を誤ると、認識性能が著しく低下するおそれがある。
【００１４】
一般に、認識結果である単語系列は、音響的なマッチングのスコア（音響スコア）と言語的なマッチングのスコア（言語スコア）を総合して最も良いものが選ばれる。２つの言語モデルを駆動した場合、それぞれの音声認識システムから、最も総合スコアの高い単語系列が出力されることになる。ここで得られる総合スコアを比較して良い方を最終的な認識結果とする方法が考えられる。また、トライグラムと文脈自由文法を組み合わせるような場合には、言語スコアを単純には比較できないので、音響スコアだけを比較する方法も考えられる。
【００１５】
しかしながら、実際に、語彙数50の孤立単語認識と語彙数1000の文脈自由文法の連続単語認識を同時に駆動し、それぞれに対応した発話を入力した実験を行なうと、単独で駆動した場合に、それぞれ98.25%、95.19%の単語正解率が得られたにも関わらず、同時に駆動すると、それぞれ93.25%、95.19%となり、孤立単語認識の性能が約5%低下することが実験で確認されている。
【００１６】
また、語彙数50の孤立単語認識と語彙数6万のトライグラム文法の大語彙連続音声認識を同時に駆動し、それぞれに対応した発話を入力した実験を行なうと、単独で駆動した場合に、それぞれ98.25%、81.12%の単語正解率が得られたにも関わらず、同時に駆動すると、それぞれ32.00%、81.12%となり、孤立単語認識の性能が約66%も低下することが実験で確認されている。いずれの実験も、音響スコアの比較によって最終的な単語列を決定した場合の結果である。
【００１７】
上述の実験において、孤立単語認識の性能が低下している原因としては、受理範囲の広い言語モデルが音響スコアの高い単語列を生成し、その単語列を最終的な認識結果と誤って判定することではないかと予想できる。また、複数の言語モデルを駆動することは、単独で言語モデルを駆動する場合に比べて言語モデルの制約が緩くなることを意味するので、認識率が低下するのは一般的な音声認識の特性である考えることもできる。
【００１８】
本発明は、このような問題を解決するものであり、複数の言語モデルを同時に駆動しながら、認識率の低下を防ぎ、適切に言語モデルを切り替えることができるようにするものである。
【００１９】
【課題を解決するための手段】
本発明の第１の音声認識装置は、入力音声に重畳された雑音の観測値又は推定値を求める雑音予測手段と、異なる言語モデルに対応した認識処理を選択的に行う認識処理手段と、雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御手段とを備えることを特徴とする。
【００２０】
異なるアプリケーションを選択的に動作させるアプリケーション制御手段を更に備え、アプリケーション制御手段は、雑音の観測値又は推定値に基づいて動作させるアプリケーションを選択することができる
【００２１】
前記選択制御手段は、雑音の観測値又は推定値が所定値を超えた場合、語彙、または文法の制約が強い言語モデルに対応した認識処理が行われるように選択を制御することができる。
【００２２】
前記選択制御手段は、雑音の観測値又は推定値が所定値を超えた場合、アプリケーション制御手段に、アプリケーションの停止または切り替えを実行させることができる。
【００２３】
本発明の第２の音声認識装置は、入力音声の音源位置又は音源までの距離を求める距離予測手段と、異なる言語モデルに対応した認識処理を選択的に行う認識処理手段と、音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択手段とを備えることを特徴とする。
【００２４】
異なるアプリケーションを選択的に動作させるアプリケーション制御手段を更に備え、アプリケーション制御手段は、音源位置又は音源までの距離に基づいて、動作させるアプリケーションを選択することができる。
【００２５】
前記選択制御手段は、音源位置又は音源までの距離が所定値を超えた場合、語彙、または文法の制約が強い言語モデルに対応した認識処理が行われるように選択を制御することができる。
【００２６】
前記選択制御手段は、音源位置又は音源までの距離が所定値を超えた場合、アプリケーション制御手段に、アプリケーションの停止または切り替えを実行させることができる。
【００２７】
本発明の第３の音声認識装置は、異なる言語モデルに対応した認識処理を選択的に行う認識処理手段と、認識処理手段の認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って認識結果を評価し、評価結果のうち最も評価の高い認識結果を出力する評価手段とを備えることを特徴とする。
【００２８】
前記評価手段は、評価の高い順に認識結果を出力することができる。
【００２９】
前記評価手段は、前記認識処理手段の認識結果の音響スコアに重み付けをすることができる。
【００３０】
前記評価手段は、認識処理手段の認識結果の言語スコアに重み付けをすることができる。
【００３１】
前記評価手段は、認識処理手段の認識結果のスコアに対し所定の値を加えて重み付けをすることができる。
【００３２】
前記評価手段は、言語モデルに対応して、認識処理手段の認識結果のスコアに対する重み付けを動的に変化させることができる。
【００３３】
前記評価手段は、アプリケーションの動作状況に対応して、認識処理手段の認識結果のスコアに対する重み付けを変化させることができる。
【００３４】
前記評価手段は、雑音の観測値又は推定値に基づいて、認識処理手段の認識結果のスコアに対する重み付けを変化させることができる。
【００３５】
前記評価手段は、音源位置又は音源までの距離に基づいて、認識手段処理手段の認識結果のスコアに対する重み付けを変化させることができる。
【００３６】
本発明の第１の音声認識方法は、入力音声に重畳された雑音の観測値又は推定値を求める雑音予測ステップと、異なる言語モデルに対応した認識処理を選択的に行う認識処理ステップと、雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御ステップとを含むことを特徴とする。
【００３７】
本発明の第１のプログラムは、入力音声に重畳された雑音の観測値又は推定値の生成を制御する雑音予測制御ステップと、異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御ステップとをコンピュータに実行させることを特徴とする。
【００３８】
本発明の第１の記録媒体は、入力音声に重畳された雑音の観測値又は推定値の生成を制御する雑音予測制御ステップと、異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、雑音の観測値又は推定値に基づいて、認識処理の選択を制御する選択制御ステップとをコンピュータに実行させるプログラムが記録されたことを特徴とする。
【００３９】
本発明の第２の音声認識方法は、入力音声の音源位置又は音源までの距離を求める距離予測ステップと、異なる言語モデルに対応した認識処理を選択的に行う認識処理ステップと、音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択ステップとを含むことを特徴とする。
【００４０】
本発明の第２のプログラムは、入力音声の音源位置又は音源までの距離の予測値の生成を制御する距離予測制御ステップと、異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択制御ステップとをコンピュータに実行させることを特徴とする。
【００４１】
本発明の第２の記録媒体は、入力音声の音源位置又は音源までの距離の予測値の生成を制御する距離予測制御ステップと、異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、音源位置又は音源までの距離に基づいて、認識処理の選択を制御する選択制御ステップとをコンピュータに実行させるプログラムが記録されたことを特徴とする。
【００４２】
本発明の第３の音声認識方法は、異なる言語モデルに対応した認識処理を選択的に行う認識処理ステップと、認識処理手段の認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って前記認識結果を評価し、評価結果のうち最も評価の高い認識結果を出力する評価ステップとを含むことを特徴とする。
【００４３】
本発明の第３のプログラムは、異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、認識処理制御ステップの認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って認識結果を評価し、評価結果のうち最も評価の高い認識結果の出力を制御する評価制御ステップとをコンピュータに実行させることを特徴とする。
【００４４】
本発明第３の記録媒体は、異なる言語モデルに対応した認識処理の選択を制御する認識処理制御ステップと、認識処理制御ステップの認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って認識結果を評価し、評価結果のうち最も評価の高い認識結果の出力を制御する評価制御ステップとをコンピュータに実行させるプログラムが記録されたことを特徴とする。
【００４５】
本発明の第１の音声認識装置および方法、並びにプログラムにおいては、入力音声に重畳された雑音の観測値又は推定値が求められ、異なる言語モデルに対応した認識処理が選択的に行われ、雑音の観測値又は推定値に基づいて、認識処理の選択が制御される。
【００４６】
本発明第２の音声認識装置および方法、並びにプログラムにおいては、入力音声の音源位置又は音源までの距離が求められ、異なる言語モデルに対応した認識処理を選択的に行われ、音源位置又は音源までの距離に基づいて、認識処理の選択が制御される。
【００４７】
本発明第３の音声認識装置および方法、並びにプログラムにおいては、異なる言語モデルに対応した認識処理を選択的に行われ、認識結果のスコアに対し言語モデルに対応した所定の値を乗じて重み付けを行って認識結果が評価され、評価結果のうち最も評価の高い認識結果が出力される。
【００４８】
【発明の実施の形態】
図１は、本発明を適用した音声認識装置の構成例を示したブロック図である。この構成例においては、ユーザの音声の入力を受付けるマイク１、入力された音声をディジタル信号に変換するＡ／Ｄ変換部２、および変換されたディジタル信号から特徴量を演算する特徴抽出部３が設けられている。また、特徴量を分析し、音声の認識をおこなう認識処理部２１−１乃至２１−４、認識処理部２１-１乃至２１−４の稼動を制御する認識処理制御部４、認識処理部２１−１乃至２１−４の認識結果を評価する認識結果評価部５、アプリケーションを実行するアプリケーション実行部３１−１乃至３１−３、およびアプリケーション実行部３１−１乃至３１−３の稼動を制御するアプリケーション制御部６が設けられている。
【００４９】
アプリケーション実行部３１−１乃至３１−３ではそれぞれ、異なるアプリケーションを実行することができ、アプリケーション制御部６においては、新しいアプリケーション実行部を追加したり、不要なアプリケーション実行部を削除したりすることができる。
【００５０】
また、アプリケーション制御部６は、タスク制御部９からの指示に基づいて、あるアプリケーションの稼動を停止させたり、開始させたりすることができる。すなわち、複数のアプリケーションを同時に動作させたり、アプリケーションの切り替えを行うことができる。また、アプリケーション制御部６はタスク制御部９と相互に接続されており、アプリケーション制御部６が、タスク制御部９を経由して、認識処理部２１−１乃至２１−４の停止、または切り替えなどを指示することができ、各アプリケーションが、対話の遷移などに応じて、言語モデルを切り替えたり、同時に複数の言語モデルを駆動して認識処理を行なわせることが可能となる。
【００５１】
さらに、発生する雑音を予測する雑音予測部７、ユーザとの距離を予測する距離予測部８がタスク制御部９に接続されている。タスク制御部９は認識処理制御部４、認識結果評価部５、およびアプリケーション制御部６に接続されており、各部の制御を行う。
【００５２】
図２に認識処理制御部４の構成例を示す。認識処理制御部４は、複数の言語モデルに対応する認識処理を並列に処理することができるように構成されており、１つの言語モデルに対応する認識処理を行なうモジュールとして、それぞれ認識処理部２１−１乃至２１−４が設けられている。
【００５３】
認識処理制御部２においては、新たな言語モデルに対応した認識処理部を追加したり、不要になった認識処理部を削除することができる。また、タスク制御部９の指示に基づいて、各認識処理部に対して、認識処理を停止させたり、開始させたりすることができる。すなわち、複数の認識処理部を同時に駆動したり、認識処理部を切り替えたりすることによって、複数の言語モデルを同時に駆動したり、言語モデルを切り替えることができる。
【００５４】
認識処理部２１−１乃至２１−４には、特徴抽出部３により演算された特徴量に基づいて、音声のマッチングを行うマッチング部５１−１乃至５１−４が設けられており、また、語彙に関する情報が蓄積された辞書データベース５２−１乃至５２−４、文法に関する情報が蓄積された文法データベース５３−１乃至５３−４が設けられている。さらに音響に関する情報が蓄積された音響モデルデータベース２２が、マッチング部５１−１乃至５１−４と接続されている。
【００５５】
音響モデルデータベース２２により、同じ音響モデルをすべての認識処理部が共有して利用することができるように構成されており、これによって消費するメモリや音響モデルにおいて発生するスコア計算のための処理などを効率的に共有することが可能となる。しかし、複数のCPUに分散して認識処理を行なう場合などは、それぞれの認識処理部が音響モデルをもつことも可能である。
【００５６】
音響モデルデータベース２２は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。音響モデルとしては、例えば、ＨＭＭ(Hidden Markov Model)が用いられる。辞書データベース６は、認識対象の各単語（語彙）について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース７は、辞書データベース６の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。文法規則としては、例えば、文脈自由文法（CFG）に基づく記述や、統計的な単語連鎖確率(N-gram)などが用いられる。
【００５７】
辞書データベース５３−１乃至５３−４にはそれぞれ異なる語彙に関する情報が蓄積されており、文法データベース５３−１乃至５３−４にもそれぞれ異なる文法に関する情報が蓄積されている。この辞書データベースと文法データベースの組み合わせにより言語モデルが決定される。
【００５８】
次に、図３を参照して、音声認識装置の音声認識処理について説明する。ステップＳ１において、ＡＤ変換部２はマイク１から音声が入力されたか否かを判定し、入力されたと判定されるまで待機する。
【００５９】
ステップＳ１において、音声が入力されたと判定された場合、ステップＳ２に進み、ＡＤ変換部２は、音声のＡＤ変換、すなわち、アナログ信号からディジタル信号への変換を行う。
【００６０】
ステップＳ３において、特徴抽出部３は、ディジタル信号に変換された音声信号を、適当な時間間隔で周波数分析行うなどして、スペクトルや、その他の音声の音響的特徴を表すパラメータに変換し、特徴量として抽出する。
【００６１】
ステップＳ４において、タスク制御部９は、駆動させる認識処理部を選択する。
【００６２】
例えば、ロボット対話システムにおいて、アプリケーション実行部３１−１において、ユーザと雑談を行なうアプリケーションが実行され、アプリケーション実行部３１−２において、ユーザの指令に従って歌を歌うアプリケーションが実行され、アプリケーション実行部３１−３において、ユーザの指令に従ってダンスを踊るアプリケーションが実行されている場合を想定する。
【００６３】
このとき、各アプリケーションに対応する言語モデルが一つずつあるとし、それぞれの言語モデルに対応した認識処理部が駆動される。また、すべてのアプリケーションに共通の言語モデルが１つ駆動されているとする。例えば各アプリケーションの起動や停止のためのコマンド、および全てのアプリケーションを終了するコマンドなどを認識するための言語モデルが、共通の言語モデルとなる。
【００６４】
この場合、ユーザと雑談を行なうアプリケーションに対応する言語モデルをもつ認識処理部２１−２、ユーザの指令に従って歌を歌うアプリケーションに対応する言語モデルをもつ認識処理部２１−３、ユーザの指令に従ってダンスを踊るアプリケーションに対応する言語モデルをもつ認識処理部２１−４、全てのアプリケーションで共通に利用される言語モデルをもつ認識処理部２１−１が駆動される。すなわち、全部で４つの認識処理部２１−１乃至２１−４が認識処理制御部４で動作していることになり、１つのアプリケーションに対応する認識処理部はそれぞれ２つずつとなる。
【００６５】
このように、タスク制御部９はアプリケーションに対応する言語モデルをもつ認識処理部を選択して駆動させる。
【００６６】
ステップＳ５において、認識処理部２１−１乃至２１−４は、図４を参照して後述する単語系列認識処理を実行する。
【００６７】
ステップＳ６において、認識結果評価部５は、図７を参照して後述する認識結果評価処理を実行する。
【００６８】
ステップＳ７において、認識結果評価部は、認識結果をアプリケーション制御部６に出力する。そして、処理は、ステップＳ１に戻り、以降の処理が繰り返し実行される。
【００６９】
次に、図４を参照して、図３のステップＳ５の単語系列認識処理について説明する。この処理は認識処理部２１−１乃至２１−４により、並列に実行される。
【００７０】
ステップＳ４１において、認識処理部２１−１乃至２１−４は、特徴抽出部３から出力された音声の特徴量を音響データベースとマッチングし、音素、音節を判定する。
【００７１】
ステップＳ４２において、認識処理部２１−１乃至２１−４は、音素、音節を辞書データベース文法データベースとマッチングして、音響スコアと言語スコアを演算する。
【００７２】
入力された特徴量がもつ音響的なパターンが、辞書データベースに含まれる各単語に対応する音響的な標準パターンと比較され、音響的な評価値が、音響スコアとして演算される。また、文法としてたとえばバイグラムが用いられる場合には、直前の単語との連鎖確率に基づく各単語の言語的な確からしさが数値化され、その値が言語的評価値となり、言語スコアとして演算される。
【００７３】
ステップＳ４３において、認識処理部２１−１乃至２１−４は、音響スコアと言語スコアを総合して最も評価の高い単語列を決定し、ステップＳ４４に進み、決定された単語列と、その単語列に対応する音声スコア、言語スコアを出力する。
【００７４】
例えば、ユーザが、「今日はいい天気ですね。」と発声したとき、「今日」、「は」、「いい」、「天気」、「ですね」のような単語の系列が認識結果として得られることになる。このとき、各単語に対応して音響スコア、および言語スコアが与えられる。
【００７５】
このようにして、入力された音声から単語系列が認識される。
【００７６】
単語系列認識処理は、それぞれ異なる言語モデルをもつ複数の認識処理部において、並列に実行されるため、同じ音声を入力しても、認識処理部によって認識結果が異なる場合もあり得る。このとき、複数の認識結果から１つの認識結果を選択する必要がある。
【００７７】
しかし、上述したように、複数の言語モデルを同時に駆動した場合、音声認識の性能が低下する場合がある。そこで、この問題を解決するために、本発明の音声認識装置には、認識結果評価部５が設けられている。
【００７８】
ある１つのアプリケーションに対応して、２つの認識処理部が駆動している場合を考える。例えば、ロボット対話システムにおいて、ユーザと雑談を行なうアプリケーションが動作しているとし、このアプリケーションに対応した言語モデルとして、大語彙でトライグラム文法を用いた大語彙連続音声認識の言語モデルをもつ認識処理部２１−２と、小語彙のコマンドだけ受け付ける孤立単語認識の言語モデルをもつ認識処理部２１−１が駆動している。
【００７９】
音声が入力されると、認識処理部で単語系列認識処理が行われ、単語列が認識される。ここで、各単語に音響スコアと言語スコアが与えられることになる。しかし、大語彙連続音声認識の言語モデルをもつ認識処理部２１−２の認識結果に対しては、各単語にトライグラム文法で与えられる言語スコアが与えられるが、孤立単語認識の言語モデルをもつ認識処理部２１−１の認識結果に対しては、言語スコアが利用されず、言語スコアが与えられない。
【００８０】
この場合、音響スコアと言語スコアを総合したスコアを用いると、それぞれの単語列を比較することが難しくなるが、２つの認識処理部２１−１乃至２１−２が同じ音響モデルを用いて、同じような音響スコアの計算を行なっているとすれば、音響スコアに関して比較することができる。
【００８１】
そこで、この音響スコアを用いて、どちらの認識処理部の認識結果を選択するかを判断する方法を考える。上述した通り、語彙数50の孤立単語認識と語彙数6万のトライグラム文法の大語彙連続音声認識を同時に駆動した実験では、単独で駆動した場合に比べて、孤立単語認識の性能が約66%も低下することが確認されている。
【００８２】
ここで、認識性能の低下を防ぐために、それぞれの音響スコアに対して所定の値を乗じて重み付けをする方法が考えられる。
【００８３】
図５は、重みを変化させた場合の、発話セットAと発話セットBの単語正解率を調べた結果である。ここで、重みは、所定の値として、孤立単語認識が出力する単語列の音響スコアに対して掛け合わせるものとする。なお音響スコアは、対数尤度が用いられており、スコアは負の値で求まり、絶対値の小さいスコアの方が評価が高いということになる。したがって、重みを小さくすればするほど、孤立単語認識の結果が有利となる。
【００８４】
なお、単語正解率は、次式により求められる。
単語正解率 = (正解単語数 - 挿入誤り単語数) / 入力単語数  * 100
【００８５】
発話セットAは、男女各4名がそれぞれ50発話ずつ発声した孤立単語認識に対応した発話セットである。発話セットBは、男女各8名がそれぞれ175発話ずつ発声した大語彙連続音声認識に対応した連続音声の発話セットである。
【００８６】
それぞれの発話セットを対応する音声認識を単独で駆動して実験を行なった場合、それぞれの単語正解率は、発話セットAが98.25%、発話セットBが81.12%であった。これに対して、２つの認識処理を駆動し、重み付けをしないで音響スコアだけを比較して認識結果の単語列を決定した場合の結果は、表における重み1.0の欄に示されている。
【００８７】
すなわち、重み付けをしないで音響スコアだけを比較して認識結果の単語列を決定した場合、発話セットAの認識率が32.00%まで低下することが示されている。しかし、重みを、例えば 0.985に設定した場合、発話セットBの単語正解率を落とすことなく、発話セットAの単語正解率が98.00%まで改善されていることが分かる。
【００８８】
同様に、語彙数50の孤立単語認識と語彙数1000の文脈自由文法の連続単語認識を同時に駆動し、それぞれに対応した発話を入力した実験を行なった場合の結果を図６に示す。ここでも、重みは、孤立単語認識の結果の音響スコアに対して掛け合わせている。
【００８９】
発話セットAは上述したものと同じであり、発話セットCは男女各2名がそれぞれ100発話ずつ発声した文脈自由文法の連続単語認識に対応した連続音声の発話セットである。単独で評価した場合、発話セットCの単語正解率は、95.19%であった。この実験においても、二つの認識処理を駆動し、重み付けをしないで音響スコアだけを比較して認識結果の単語列を決定した場合の結果は、表における重み1.0の欄に示されている。
【００９０】
すなわち、重み付けをしないで音響スコアだけを比較して認識結果の単語列を決定した場合、発話セットAの認識率が93.25%まで低下することが分かる。
【００９１】
しかし、重みを、0.985に設定した場合、発話セットCの単語正解率は少し低下するものの、発話セットAの単語正解率が98.25%まで改善されていることが分かる。
【００９２】
１つのアプリケーションに対応して、複数のそれぞれ異なる言語モデルをもつ認識処理部を駆動し、複数の認識結果が得られる場合、上述したように、その認識結果の単語列に付与された音響スコアに対して、言語モデルに対応した所定の値を重みとして乗じた後に、スコアの評価の高い方を最終的な認識結果とすることで、複数の言語モデルを駆動した場合に生じる音声認識の性能低下を大きく改善することができる。
【００９３】
次に、図７を参照して、図３のステップＳ６の認識結果評価処理について説明する。この処理は、認識結果評価部５において実行される。
【００９４】
ステップＳ２１において、認識結果評価部５は、認識処理部２１−１から出力された単語と、その単語に対応する音響スコアを取得する。
【００９５】
ステップＳ２２において、認識結果評価部５は、認識処理部２１−２から出力された単語と、その単語に対応する音響スコアを取得する。
【００９６】
ステップＳ２３において、認識結果評価部５は、認識処理部２１−１から出力された単語と認識処理部２１−２から出力された単語が同一であるか否かを判定する。
【００９７】
ステップＳ２３において、認識処理部２１−１から出力された単語と認識処理部２１−２から出力された単語が同一でないと判定された場合、ステップＳ２４に進み、認識結果評価部５は、認識処理部２１−１から出力された単語に対応する音響スコアに重み付けを行う。
【００９８】
例えば、認識処理部２１−２は大語彙でトライグラム文法を用いた大語彙連続音声認識の言語モデルを駆動し、認識処理部２１−１は、小語彙のコマンドだけ受け付ける孤立単語認識の言語モデルを駆動しているとき、認識処理部２１−１から出力された単語の音響スコアに、例えば、０．９８５などの値が乗じられ、重み付けが行われる。
【００９９】
ステップＳ２５において、認識結果評価部５は、ステップＳ２４で重み付けされた音響スコアと、認識処理部２１−２から出力された単語に対応する音響スコアを比較して、ステップＳ２６に進み、音響スコアの評価が高い方の単語を選択する。
【０１００】
ステップＳ２３において、認識結果評価部５は、認識処理部２１−１から出力された単語と認識処理部２１−２から出力された単語が同一であると判定された場合、ステップＳ２４、ステップＳ２５、およびステップＳ２６の処理は、スキップされる。
【０１０１】
ステップＳ２７において、認識結果評価部５は、単語を出力する。
【０１０２】
このようにして、複数の認識処理部による認識結果から１つの認識結果が選択される。なお、認識結果評価部５は、複数の認識結果から１の認識結果を選択せずに、複数の認識結果を、音響スコアの評価の高い順に出力してもよい。
【０１０３】
以上においては、認識処理部２１−１の認識結果と認識処理部２１−２の認識結果を比較し、認識結果を選択する処理について述べたが、同様に、認識処理部２１−１の認識結果と認識処理部２１−３の認識結果、認識処理部２１−１の認識結果と認識処理部２１−４の認識結果についてもそれぞれ比較が行われ、１つ認識結果が選択される。
【０１０４】
なお、以上では、音響スコアに所定の値を乗じることにより重み付けを行う方法について示したが、言語スコアに重み付けを行う方法、または音響スコアと言語スコアを統合したスコアに重み付けを行う方法を用いてもよい。さらに、予め設定された所定の値（オフセット値）を音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに加算する方法を用いることもできる。
【０１０５】
また、以上では、音響スコア、言語スコアまたは音響スコアと言語スコアを統合したスコアに対して、言語モデルに対応した所定の値を乗じたり、加算したりすることにより、重み付けを行う方法について示したが、実行されるアプリケーションに基づいて、所定の値を変化させ、音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに対して、乗じたり、加算したりすることにより、アプリケーションの特性に応じた重み付けを行うこともできる。
【０１０６】
さらに、後述する雑音推定処理による推定結果に基づいて、音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに対して、乗じたり、加算したりする所定の値を変化させ、雑音の大きさに応じた重み付けを行うことも可能であり、また、後述する距離推定処理による推定結果に基づいて、音響スコア、言語スコア、または音響スコアと言語スコアを統合したスコアに対して、乗じたり、加算したりする所定の値を変化させ、ユーザとマイクの間の距離に応じた重み付けを行うことも可能である。
【０１０７】
また、上述したような複数の異なる言語モデルをもつ認識処理部２１−１乃至２１−４と認識結果評価部５を組み合わせる方法を用いることによって、ある言語モデルの認識性能を高めることもできる。特に、統計的な言語モデルに文脈自由文法の言語モデルを組み合わせることで、統計的な言語モデルを単独で用いた場合に得られる認識性能より高い性能を得ることが可能となる。
【０１０８】
一般に、統計的な言語モデルを用いた大語彙連続音声認識では、語彙および文法の制約が緩くなることで、広い範囲の音声を認識出来る反面、全体に認識率は低くなる。一方、文脈自由文法によって語彙および文法に強い制約が与えられた言語モデルでは、認識できる音声は制約されるが、その制約下で発声される音声に対しては、高い認識率を得ることができる。
【０１０９】
例えば、語彙数6万のトライグラム文法の大語彙連続音声認識を単独で駆動した場合、その単語正解率は81.12%であった。一方、語彙数50の孤立単語認識を単独で駆動した場合、その単語正解率は98.25%であった。この２つの認識率の差をみれば、大語彙連続音声認識のトライグラム文法では、孤立単語認識に比べて語彙および文法の制約が緩いことから、孤立単語認識の語彙および文法の制約下で発声される音声に対して、同じような高い認識率を得ることは難しいと容易に予想できる。
【０１１０】
そこで、上述したように２つの言語モデルを認識処理部２１−１乃至２１−２で同時に駆動し、認識結果評価部５を用いて重みを調整することで、大語彙連続音声認識の認識率をほとんど落とすことなく、孤立単語認識の語彙および文法の制約下で発声される音声に対して高い認識率を得ることができる。すなわち、トライグラム文法の大語彙連続音声認識を単独で駆動する場合と比べると、総合的な認識性能は向上する。
【０１１１】
この例では、大語彙連続音声認識の言語モデルをもつ認識処理部２１−２と孤立単語認識の言語モデルをもつ認識処理部２１−１を組み合わせることについて説明したが、同じように、大語彙連続音声認識の言語モデルをもつ認識処理部と、文脈自由文法に与えられる連続単語認識の言語モデルをもつ認識処理部を同時に駆動し、認識結果評価部５による認識結果評価処理を行えば、総合的な認識性能を向上させることができる。すなわち、大語彙連続音声認識によって広い範囲の音声を認識できると同時に、文脈自由文法の制約下の音声に対しては高い認識性能を得ることができるようになる。
【０１１２】
なお、認識結果評価部５を設けずに、認識処理部２１−１乃至２１−４による認識結果を直接アプリケーション制御部６に出力することも可能である。
【０１１３】
ところで、音声認識の性能を低下させる原因として、上述したように背景の雑音や、ユーザとマイクとの位置も影響する。雑音が大きくなるほど認識性能は低下し、ユーザがマイクから離れるほど認識性能は低下する。
【０１１４】
例えば、ロボット対話システムにおいて、ロボットの頭、手、足などがモータによって動作できるとした場合、ロボットが頭、手、足などを動かす際にモータ音やギア音などの雑音が発生し、この雑音が入力音声信号に重畳されたとすると、音声認識の認識性能が低下するというおそれがある。雑音としては、ロボットが動作する際に発生する雑音の他に、ロボットが歌を歌ったり、話をする場合には、その歌声や話し声も、認識性能を低下させる雑音となる。また、それ以外にも、空調の音や、テレビの音など、周囲で発生する音も認識性能を低下させる雑音となる。
【０１１５】
これらの雑音の観測や推定を行なうために、本発明の音声認識装置には、雑音予測部７が設けられる。
【０１１６】
ロボットが自ら発生するモータ音やギア音、歌声、話し声などに関しては、ロボットは自分の動作状況を把握できるので、どのような雑音となるかを高精度に推定することは容易に行なえる。例えば、モータの回転速度に応じてどのような雑音が発生するかをあらかじめデータとして持っておいたり、自ら発する歌声や話し声の音量からその大きさを推定したりすることができる。また、モータ音やギア音が発生する個所にマイクを設けることで観測することも可能である。ロボットの周囲で発生する雑音に関しては、マイクから入力される信号を観測することで推定を行うことができる。
【０１１７】
また、ロボット対話システムにおいて、ロボットが手足や車輪などを使って移動する場合、あるいは、ユーザがロボットとの位置関係を変化させる場合、マイクとユーザとの距離関係が変化する。一般に、ユーザとマイクとの距離が長くなればなるほど、音声の認識性能は低下する
【０１１８】
この距離の問題を解決するために本発明の音声認識装置には、ユーザ距離予測部８が設けられている。
【０１１９】
マイクとユーザの距離を観測し推定するために、例えば、CCDカメラを備え、ユーザが近くにいるか遠くにいるかを自動的に判断したり、ユーザとの距離を推定したりすることができる。特に、CCDカメラを使った顔画像認識と組み合わせることで、ユーザが正面にいることを認識したり、正面にいるユーザまでの距離を推定したりすることができる。また、カメラにおいて広く利用されるオートフォーカスなどの技術を使うことで、ユーザとの距離を推定したりすることもできる。
【０１２０】
なお、温度センサーを用いてユーザまでの距離を推定するなど、その推定方法に関しては、その推定精度が高ければ、何を用いてもよい。
【０１２１】
次に、図８を参照して、雑音、距離推定処理について説明する。この処理は上述した音声認識処理と並行して行われる。
【０１２２】
ステップＳ１において、雑音予測部７は後述する雑音予測処理を実行する。
【０１２３】
ステップＳ６２において、タスク制御部９は、推定結果から認識性能の低下が予測されるか否かを判定する。
【０１２４】
このとき、雑音予測部７の推定結果から雑音のレベルが所定の閾値を越えるか否かが判定される。雑音のレベルが所定の閾値より大きいと判定された場合、音声の認識性能の低下が予測される。
【０１２５】
ステップＳ６２において、認識性能の低下が予測されると判定された場合、タスク制御部９は、認識処理部の停止または切り替えを行う。
【０１２６】
例えば、上述した３つのアプリケーションが動作している状況において、ロボットがダンスをしている場合を考える。ロボットが手足を動作させてダンスを行なうことで、大きな雑音が発生する。このとき、３つのアプリケーションに対応した言語モデルを用いた認識処理を認識処理部で行なったとしても、十分な認識性能が得られない場合がある。
【０１２７】
この雑音により認識性能が大きく低下すると判定された場合、タスク制御部９は、各アプリケーションに対応した認識処理部を停止するように、認識処理制御部４に指示する。
【０１２８】
雑音が大きい場合、語彙や文法の制約を強くすることによって、受理できる発話は制約されることになるものの、雑音環境下での認識性能を維持することができる。
【０１２９】
例えば、認識処理部２１−２乃至２１−４で、語彙および文法の制約が緩い言語モデルが駆動されている場合、認識処理部２１−２乃至２１−４は停止される。この結果、認識処理制御部４では、すべてのアプリケーションで共通に使われる語彙や文法の制約の強い言語モデルだけが駆動されることになる。例えば、アプリケーションを停止するためのコマンド「止まれ」だけを認識する言語モデルをもつ認識処理部２１−１だけが駆動され、ロボットがダンスをしている間は、このコマンド「止まれ」しか認識しない状態になる。
【０１３０】
なお、このとき、認識制御部４は、認識処理部２１−２乃至２１−４を全て停止させずに、その一部を停止させたり、語彙や文法の制約を強くした別の言語モデルをもつ認識処理部に切り替えることも可能である。
【０１３１】
ステップＳ６４において、タスク制御部９はアプリケーション実行部の停止または切り替えを行う。
【０１３２】
例えば、ロボットがダンスを行なう場合、ロボットの動作によって生じる雑音が大きくなるため、ユーザと雑談を行なうアプリケーションが停止されたり、あるいは、雑音環境下においてロボットを緊急に停止させるためのアプリケーションが新たに実行される。
【０１３３】
ステップＳ６２において、認識性能の低下が予測されないと判定された場合、ステップＳ６３、ステップＳ６４の処理はスキップされる。
【０１３４】
ステップＳ６５において、ユーザ距離予測部８は、後述する距離推定処理を行う。
【０１３５】
ステップＳ６６において、タスク制御部９は、推定結果から認識性能の低下が予測されるか否かを判定する。
【０１３６】
このとき、ユーザ距離予測部８の推定結果からユーザとマイクの間の距離が所定の閾値を越えるか否かが判定される。ユーザとマイクの間の距離が所定の閾値より大きいと判定された場合、音声認識の認識性能が予測される。
【０１３７】
ステップＳ６６において、認識性能の低下が予測されると判定された場合、タスク制御部９は、認識処理部の停止または切り替えを行う。
【０１３８】
マイクとユーザとの距離により、認識性能が低下すると予測された場合、タスク制御部９が、認識処理制御部４に指令を出し、認識処理部の停止、切り替えを制御することで、ユーザとマイクとの距離が大い場合に、音声認識の性能が低下する問題を解決することができる。認識性能の低下を防ぐ方法は、雑音の場合と同じで、語彙や文法の制約を強くする方法が用いられる。
【０１３９】
すなわち、語彙や文法の制約を強くするために、認識処理部の停止、切り替えが行なわれる。また、雑音の場合と同じように、マイクとユーザとの距離に基づいて、タスク制御部９がアプリケーション制御部６に対して、アプリケーションの停止、切り替えを指令することもできる。
【０１４０】
ステップＳ６８において、タスク制御部９はアプリケーション実行部の停止または切り替えを行う。
【０１４１】
ステップＳ６６において、認識性能の低下が予測されないと判定された場合、ステップＳ６７、ステップＳ６８の処理はスキップされる。
【０１４２】
そして、処理はステップＳ１に戻り、以降の処理が繰り返し実行される。
【０１４３】
このようにして、雑音、距離による音声認識の低下を防ぐことができる。すなわち、雑音の観測値または推定値を求めるようにすることにより、入力された音声に雑音が重畳された環境下において、雑音に応じて言語モデルを変化させることが可能となり、認識性能を維持できる。また、入力音声の音源位置または音源までの距離を求めるようにすることにより、ユーザとマイクの距離が離れた場合に、その距離に応じて言語モデルを変化させることが可能となり、認識性能を維持できる。
【０１４４】
次に、図９を参照して、図８のステップＳ６１の雑音推定処理について説明する。この処理は、雑音予測部７で実行される。
【０１４５】
ステップＳ８１において、雑音予測部７は、タスク制御部９を経由して、アプリケーション実行部３１−１乃至３１−３から実行内容情報を取得する。例えば、アプリケーション実行部３１−３において、ユーザの指令に従ってロボットがダンスを踊るアプリケーションが実行されている場合、これからダンスが開始されることが実行内容情報として取得される。
【０１４６】
ステップＳ８２において雑音予測部７は、取得された実行内容情報から雑音の推定値を生成する。
【０１４７】
このとき、ロボットが発生するモータ音やギア音、歌声、話し声などに関しては、アプリケーション実行部３１−３で動作状況を把握し、雑音の大きさが推定される。例えば、モータの回転速度に応じてどのような雑音が発生するかをあらかじめデータとして保持しておくなどして、雑音の大きさを推定することもできるし、また、モータ音やギア音が発生する個所にマイクを設けることで雑音の大きさを推定することもできる。また、ロボットの周囲で発生する雑音についても、マイクから入力される信号が観測され、推定が行なわれる。
【０１４８】
ステップＳ８３において、雑音予測部７は、雑音の推定値を出力する。
【０１４９】
このようにして、雑音の大きさが推定される。
【０１５０】
次に、図１０を参照して、図８のステップＳ６５の距離推定処理について説明する。この処理は、ユーザ距離予測部８において、実行される。
【０１５１】
ステップＳ１０１において、ユーザ距離予測部８はＣＣＤカメラを駆動し、ユーザに焦点を合わせ、距離情報を取得する。
【０１５２】
ステップＳ１０２において、距離予測部８は、取得した距離情報をもとに、ユーザとマイクの間の距離の推定値を生成し、ステップＳ１０３に進み、推定値を出力する。
【０１５３】
このようにして、ユーザとマイクの間の距離が推定される。
【０１５４】
以上のように、本発明の音声認識装置は、認識結果評価部５を設けたことにより、複数の言語モデルを同時に駆動させた場合に、それぞれの言語モデルに対応した重みを調整することが可能となり、ある言語モデルが別の言語モデルに影響を与えることを抑え、それぞれの認識性能を維持することが可能となる。
【０１５５】
また、認識結果評価部５を設けて、複数言語モデルを同時に駆動させる方法を組み合わせることで、ある言語モデルを単独で駆動させる場合に比べて、より高い認識性能を得ることが可能となる。特に、統計的な言語モデルを用いた大語彙音声認識に対して、文脈自由文法で記述された制約の強い言語モデルを同時に駆動させることで、大語彙連続音声認識の認識性能を高めることが可能となる。
【０１５６】
以上、本発明の実施の形態として、図１の構成の装置について説明したが、本発明の実施の形態は、図１の例に限定されず、様々な形態を取ることが可能である。
【０１５７】
例えば、図１２は、本発明が適用される音声認識装置の他の構成例を表している。図１２において、図１の装置と対応する部分には、対応する符号が付してある。図１の構成例においては、ユーザ距離予測部８が設けられていたが、図１２の構成においては、ユーザ距離予測部８が省略されている。その他の構成は、図１の対応するものと基本的に同様である。
【０１５８】
図１２の構成例における動作については、図３、図４、および図８を参照して説明した通りであるが、この場合、図８のステップＳ６５乃至Ｓ６８の処理は省略される。
【０１５９】
また、本発明が適用される音声認識装置のその他の構成例が、図１３に示されている。図１３において、図１の装置と対応する部分には、対応する符号が付してある。図１の構成例においては、雑音予測部７が設けられていたが、図１３の構成においては、雑音予測部７が省略されている。その他の構成は、図１の対応するものと基本的に同様である。
【０１６０】
図１２の構成例における動作については、図３、図４、および図８を参照して説明した通りであるが、この場合、図８のステップＳ６１乃至Ｓ６４の処理は省略される。
【０１６１】
なお、上述した一連の処理をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、図１、図２、図１２、および図１３のそれぞれのブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えても良い。
【０１６２】
なお、上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１６３】
図１１は、パーソナルコンピュータの構成例を示す図である。CPU（Central  Processing  Unit）９１は、ROM（Read  Only  Memory）９２に記憶されているプログラム、または記憶部９８からRAM（Random  Access  Memory）９３にロードされたプログラムに従って各種の処理を実行する。RAM９３にはまた、CPU９１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１６４】
CPU９１、ROM９２、およびRAM９３は、バス９４を介して相互に接続されている。このバス９４にはまた、入出力インタフェース９５も接続されている。
【０１６５】
入出力インタフェース９５には、キーボード、マウスなどよりなる入力部９６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ（表示部）、並びにスピーカなどよりなる出力部９７、ハードディスクなどより構成される記憶部９８、モデム、ターミナルアダプタなどより構成される通信部９９が接続されている。通信部９９は、インターネットなどのネットワークを介しての通信処理を行う。
【０１６６】
入出力インタフェース９５にはまた、必要に応じてドライブ１００が接続され、ドライブ１００には、本発明のプログラムが記録された記録媒体が装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部１２８にインストールされる。
【０１６７】
記録媒体は、磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、或いは半導体メモリ１２４などにより構成される。
【０１６８】
なお、本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１６９】
【発明の効果】
以上の如く、本発明の音声認識装置によれば、雑音の観測値または推定値を求めるようにすることにより、入力された音声に雑音が重畳された環境下において、雑音に応じて言語モデルを変化させることが可能となり、認識性能を維持することが可能となる。また、入力された音声の音源位置または音源までの距離を求めるようにすることにより、ユーザとマイクの距離が離れた場合に、その距離に応じて言語モデルを変化させることが可能となり、認識性能を維持することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した音声認識装置の構成例を示すブロック図である。
【図２】図１の認識処理制御部４の構成例を示すブロック図である。
【図３】音声認識処理を説明するフローチャートである。
【図４】単語系列認識処理を説明するフローチャートである。
【図５】音響スコアに対する重み付けと発話セットの単語正解率の関係を示す図である。
【図６】音響スコアに対する重み付けと発話セットの単語正解率の関係を示す図である。
【図７】認識評価処理を説明するフローチャートである。
【図８】雑音、距離推定制御処理を説明するフローチャートである。
【図９】雑音推定処理を説明するフローチャートである。
【図１０】距離推定処理を説明するフローチャートである。
【図１１】本発明のプログラムを実行するパーソナルコンピュータの構成例を示すブロック図である。
【図１２】本発明を適用した音声認識装置の他の構成例を示すブロック図である。
【図１３】本発明を適用した音声認識装置の他の構成例を示すブロック図である。
【符号の説明】
１  マイク，  ２  ＡＤ変換部，  ３  特徴抽出部，  ４  認識制御部，  ５認識結果評価部，  ６  アプリケーション制御部，  ７  雑音予測部，  ８  ユーザ距離予測部，  ９  タスク制御部，  ２２  音響モデルデータベース，  ５１−１乃至５１−４，  マッチング部，  ５２−１乃至５２−４，  辞書データベース，  ５３−１乃至５３−４，  文法データべース，  ７０  パーソナルコンピュータ，  ９１  ＣＰＵ，  ９２  ＲＯＭ  ，９３  ＲＡＭ，  ９８  記憶部，  １２１  磁気ディスク，  １２２  光ディスク，  １２３  光磁気ディスク，  １２４  半導体メモリ
【図１】
2004198831.tif 000003
【図２】
2004198831.tif 000004
【図３】
2004198831.tif 000005
【図４】
2004198831.tif 000006
【図５】
2004198831.tif 000007
【図６】
2004198831.tif 000008
【図７】
2004198831.tif 000009
【図８】
2004198831.tif 000010
【図９】
2004198831.tif 000011
【図１０】
2004198831.tif 000012
【図１１】
2004198831.tif 000013
【図１２】
2004198831.tif 000014
【図１３】
2004198831.tif 000015