(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、実施形態の発話区間検出装置、音声処理システム、発話区間検出方法およびプログラムを、図面を参照して詳細に説明する。以下で示す実施形態は、クライアント装置が入力した信号に対してサーバ装置において音声認識処理を行い、認識結果をクライアント装置に返すサーバ・クライアント型の音声認識システムへの適用例であるが、本発明を適用可能なシステムはこれに限らない。
【0009】
(第1の実施形態)
図1は、本実施形態に係る音声認識システムの構成例を示すブロック図である。この音声認識システムは、複数のクライアント装置10(第1装置、外部装置)とサーバ装置20(第2装置、発話区間検出装置)とが通信ネットワーク30を介して通信可能に接続される構成である。この音声認識システムでは、クライアント装置10において、入力した信号に対して大まかな発話区間の検出を行い、発話が含まれている可能性のある区間の信号(以下、第1音声信号という。)をサーバ装置20に送信する。サーバ装置20は、クライアント装置10から受信した第1音声信号に対して厳密な発話区間の検出を行い、発話である可能性が高い区間の信号(以下、第2音声信号という。)に対して音声認識処理を行って、認識結果のテキストデータをクライアント装置10に送信する。これにより、クライアント装置10とサーバ装置20との間の通信量の削減を図りつつ、発話区間を精度よく検出して高精度で効率的な音声認識を実現する。
【0010】
クライアント装置10は、
図1に示すように、マイク11と、第1検出部12と、通信部13(送信部)と、尤度調整部14と、閾値調整部15と、を備える。クライアント装置10としては、例えば、外部接続端子に外付けのマイクを接続したパーソナルコンピュータや、マイクを内蔵するスマートフォン、タブレット端末、テレビ会議(ビデオ会議)システム用の端末として構成されたテレビ会議端末などを利用することができる。これらの装置はプロセッサやメモリなどの通常のコンピュータシステムを実現するリソースを備え、一例として、コンピュータシステム上で所定のプログラムを実行することにより、第1検出部12、通信部13、尤度調整部14、閾値調整部15などの各機能的な構成要素を実現する。
【0011】
マイク11は、人の発話(音声)を含む信号を入力する。マイク11が入力した信号(以下、入力信号という。)は、第1検出部12に渡される。なお、本実施形態ではクライアント装置10がマイク11により信号を入力する例を説明するが、クライアント装置10が外部装置から受信した信号、あるいは記録媒体などから読み出した信号を入力信号としてもよい。
【0012】
第1検出部12は、入力信号に対して、演算の処理負荷が比較的低い方法を用いて発話区間の検出を行う。本実施形態では、第1検出部12が、入力信号の信号強度に基づいて発話区間の検出を行う例を説明する。すなわち、第1検出部12は、マイク11からの入力信号の信号強度を発話区間検出のための特徴量として用い、入力信号に対して信号強度が大きいほど大きい値を示す尤度を時系列で算出する。ここで算出される尤度は人の発話らしさを表す値であり、例えば最大値が1、最小値が0となるように正規化される。そして、第1検出部12は、入力信号の中で尤度が第1閾値以上の区間を発話区間として検出し、この区間の信号を第1音声信号として出力する。
【0013】
図2は、第1検出部12の処理の一例を説明する図である。
図2(a)は、マイク11が入力したリニアPCMサンプリングデータ(入力信号)のグラフであり、横軸が時間、縦軸が信号強度を表している。
図2(b)は、(a)の入力信号から算出された尤度の時系列を表すグラフである。
図2(c)は、(b)の尤度を第1閾値と比較することで検出された発話区間を示している。なお、(a)のグラフは信号強度を振幅として表しており、振幅が大きいほど信号強度が大きいことを示している。また、(b)の尤度は、一定時間あたりの信号強度の平均値を正規化し、時間軸上にプロットしたものを曲線で近似した波形となっている。
【0014】
図2に示すように、第1検出部12は、入力信号に対して信号強度が大きいほど大きい値となる尤度を算出する(第1の方法)。そして、第1検出部12は、入力信号の中で尤度が第1閾値以上となっている区間を発話区間として検出する。なお、第1閾値は、入力信号から音声の取りこぼしが生じない程度の小さい値(例えば0.1)に初期設定され、後述するように、サーバ装置20からの指示に応じて適宜調整される。第1検出部12は、この第1閾値を用いて、入力信号の中で人の発話(音声)が含まれる可能性があると推定される区間を発話区間として検出している。また、第1検出部12が入力信号に対して算出する尤度は、後述するように、サーバ装置20側で算出される尤度との整合が取れるように調整される。
【0015】
通信部13は、サーバ装置20との間で通信ネットワーク30を介した各種情報の送受信を行う。例えば、通信部13は、第1検出部12が発話区間として検出した区間の信号である第1音声信号を、サーバ装置20に対して送信する。また、通信部13は、サーバ装置20から送信される後述の音声認識処理の認識結果としてのテキストデータや、尤度調整の指示、閾値調整の指示、マイク11の感度調整の指示などを受信する。
【0016】
尤度調整部14は、サーバ装置20からの尤度調整の指示に従って、第1検出部12が入力信号に対して算出する尤度の調整を行う。なお、尤度調整部14の処理の具体例については、サーバ装置20における処理の説明と併せて詳細を後述する。
【0017】
閾値調整部15は、サーバ装置20からの閾値調整の指示に従って、第1検出部12による発話区間の検出に用いる第1閾値の調整を行う。また、閾値調整部15は、サーバ装置20からマイク11の感度調整の指示が送られた場合に、この感度調整の指示に従ってマイク11の感度を調整する機能を持つ。なお、閾値調整部15の処理の具体例については、サーバ装置20における処理の説明と併せて詳細を後述する。
【0018】
サーバ装置20は、
図1に示すように、通信部21(受信部)と、第2検出部22(検出部)と、音声認識部23と、閾値調整部24と、尤度調整指示部25と、時間比率算出部26と、閾値調整指示部27と、記憶部28とを備える。
【0019】
通信部21は、クライアント装置10との間で通信ネットワーク30を介した各種情報の送受信を行う。例えば、通信部21は、クライアント装置10から送信された第1音声信号や閾値問い合わせなどを受信する。また、通信部21は、音声認識部23による認識結果としてのテキストデータや、尤度調整指示部25からの尤度調整の指令、閾値調整指示部27からの閾値調整の指示、マイク11の感度調整の指示などをクライアント装置10に対して送信する。
【0020】
第2検出部22は、クライアント装置10から受信した第1音声信号に対して、クライアント装置10の第1検出部12で行う発話区間検出よりも演算の処理負荷が高い方法を用いて、厳密な発話区間の検出を行う。例えば、第2検出部22は、音声の周波数特性や音響モデルなどから計算される特徴量を用いて、第1音声信号に対して時系列で尤度を算出する(第2の方法)。そして、第2検出部22は、第1音声信号の中で尤度が第2閾値以上の区間を発話区間として検出し、この区間の信号を第2音声信号として出力する。ここで第2閾値は、厳密な発話区間の検出を行うために、クライアント装置10の第1検出部12に設定される第1閾値よりも大きな値(例えば0.3)に初期設定され、後述するように、音声認識部23による認識結果に応じて、閾値調整部24により適宜調整される。
【0021】
図3は、第2検出部22の処理の概要を説明する図である。
図3(a)は、第1音声信号から算出された尤度の時間変化を表すグラフである。
図3(b)は、(a)の尤度を第2閾値と比較することで検出された発話区間(ハッチングを付した部分)を示している。
図3に示すように、第2検出部22は、第1音声信号から時系列で算出した尤度が第1閾値よりも大きい第2閾値以上となっている区間を発話区間として検出する。そして、第2検出部22は、検出した発話区間の信号である第2音声信号を音声認識部23に渡す。
【0022】
音声の周波数特性や音響モデルなどから計算される特徴量を用いた発話区間検出は、クライアント装置10の第1検出部12が行う単純な発話区間検出と比べてより多くのコンピュータリソースを必要とするが、発話区間をより正確に検出することができる。また、第1音声信号から算出された尤度が第1閾値よりも大きい第2閾値以上の区間を発話区間として検出することにより、より正確な発話区間を検出することができる。
【0023】
音声認識部23は、第2音声信号に対して、例えば音響モデルや言語モデルなどを用いた音声認識処理を行って、第2音声信号に対応するテキストデータを出力する。音声認識部23が実施する音声認識処理については、公知の技術をそのまま利用できるため、ここでは詳細な説明を省略する。認識結果としてのテキストデータは、通信部21からクライアント装置10に対して送信される。そして、このテキストデータが、クライアント装置10の図示しない表示部に表示される。
【0024】
なお、例えば他拠点間のテレビ会議やグループ通話など、複数のクライアント装置10で情報が共有されるアプリケーションにおいて本実施形態の音声認識システムを利用する場合は、サーバ装置20は、上述した音声認識処理の認識結果としてのテキストデータを集約した画面情報などを、情報を共有する複数のクライアント装置10に対してそれぞれ送信する。これにより、複数話者の発話を音声認識処理した認識結果のテキストデータが集約された画面を、複数のクライアント装置10の表示部に表示させることができる。
【0025】
閾値調整部24は、音声認識部23による認識結果に基づいて、第2検出部22による発話区間の検出に用いる第2閾値の調整を行う。音声認識部23は、第2音声信号に対して、音響モデルを用いた音響的な解析だけでなく、言語モデルを用いて発話として成り立っているかなどの言語的な解析も行って、第2音声信号に含まれる発話をテキストデータに変換する。したがって、音声認識部23による音声認識処理は、第2検出部22よりもさらに正確に発話区間を検出していると捉えることができる。つまり、音声認識部23による認識結果から、第2検出部22が発話区間を正確に検出できているかどうかが分かる。
【0026】
そこで、閾値調整部24は、音声認識部23による認識結果に基づいて、第2検出部22による発話区間の検出精度を高めるように、第2閾値を調整する。具体的には閾値調整部24は、音声認識処理の認識結果から、第2音声信号が発話の途中で途切れた信号となっていると判断される場合は第2閾値を小さくするように調整し、第2音声信号が発話でない部分を多く含む信号となっていると判断される場合は第2閾値を大きくするように調整する。これにより、第2検出部22は、第1音声信号から発話区間をより正確に検出できるようになる。
【0027】
尤度調整指示部25は、クライアント装置10の第1検出部12により算出される尤度が、第2検出部22により算出される尤度に近づくように、クライアント装置10に対して尤度の調整を指示する。
【0028】
本実施形態の音声認識システムは、クライアント装置10で大まかな発話区間検出を行い、サーバ装置20で厳密な発話区間検出を行うことで、クライアント装置10とサーバ装置20との間の通信量の削減を図りつつ、発話区間を精度よく検出して高精度で効率的な音声認識を実現する構成である。このため、サーバ装置20での発話区間検出に用いる第2閾値を、クライアント装置10での発話区間検出に用いる第1閾値よりも大きな値としている。しかし、クライアント装置10の第1検出部12が入力信号から尤度を算出する方法と、サーバ装置20の第2検出部22が第1音声信号から尤度を算出する方法が異なるため、同じ信号に対して第1検出部12が算出する尤度と第2検出部22が算出する尤度とが同程度になるように調整が必要となる。
【0029】
そこで、尤度調整指示部25は、例えば以下に示すような処理を行って、クライアント装置10の第1検出部12により算出される尤度が、第2検出部22により算出される尤度に近づくように、クライアント装置10に対して尤度の調整を指示する。そして、クライアント装置10の尤度調整部14が、この尤度調整指示部25からの指示に従って、第1検出部12が算出する尤度の調整を行う。
【0030】
すなわち、尤度調整指示部25は、まず、予め保持しているサンプル信号を第2検出部22に渡して尤度の算出を要求し、第2検出部22が上述した方法によりサンプル信号から算出した尤度の時系列データを取得する。サンプル信号は、人が発話している区間と無音の区間とを含む。なお、第2検出部22が算出する尤度は、予め最大値が1、最小値が0となるように正規化されていてもよいし、サンプル信号から算出した尤度の時系列データの最大値が1、最小値が0になるように調整されてもよい。
【0031】
その後、クライアント装置10がサーバ装置20に接続すると、尤度調整指示部25は、サーバ装置20に接続したクライアント装置10に対して、予め保持しているサンプル信号と、このサンプル信号から第2検出部22が算出した尤度の時系列データとを送信する。そして、尤度調整指示部25は、送信したサンプル信号に対して第1検出部12が上述した方法で時系列に算出する尤度が、送信した時系列データに近づくように、クライアント装置10に対して尤度の調整を指示する。
【0032】
サーバ装置20からサンプル信号、尤度の時系列データおよび尤度調整の指示を受信したクライアント装置10では、尤度調整部14が、サーバ装置20からの尤度調整の指示に従って、第1検出部12が算出する尤度の調整を行う。具体的には、尤度調整部14は、サーバ装置20から受信したサンプル信号を第1検出部12に渡して尤度の算出を要求する。この際、尤度調整部14は、第1検出部12に対して、尤度算出に関するパラメータを複数通りに変化させながら尤度を算出することを要求する。ここで、尤度算出に関するパラメータとしては、例えば、入力信号の信号強度に対する尤度の算出式やテーブルなどが挙げられる。
【0033】
そして、尤度調整部14は、第1検出部12から、変化させた各パラメータに対応する複数の尤度の時系列データを取得し、これら複数の尤度の時系列データをそれぞれ、サーバ装置20から受信した時系列データと比較する。そして、尤度調整部14は、サーバ装置20から受信した時系列データに対する類似度が最も高い時系列データを特定し、第1検出部12に対して、この時系列データに対応するパラメータを、尤度算出に関するパラメータとして使用することを指示する。以上の処理によって、第1検出部12が算出する尤度が、第2検出部22が算出する尤度に近づくように調整される。
【0034】
なお、マイク11や環境などの影響も加味した尤度調整を行いたい場合は、サンプル信号を外部の音声プレーヤにより再生してマイク11で入力し、マイク11で入力したサンプル信号に対して第1検出部12が尤度の算出を行うようにしてもよい。この場合、クライアント装置10のユーザがサーバ装置20からサンプル信号をダウンロードし、クライアント装置10を動作させた状態で、ダウンロードしたサンプル信号を外部の音声プレーヤにより再生させるようにしてもよい。
【0035】
時間比率算出部26は、クライアント装置10から受信した第1音声信号と、第2検出部22が第1音声信号から検出した発話区間の信号である第2音声信号との時間比率を算出する。
図4は、時間比率を説明する図であり、
図4(a)〜(c)それぞれ横軸が時間、白抜きの矩形が第1音声信号の時間長さ、ハッチングを付した矩形が第2音声信号の時間長さを表している。時間比率は、第1音声信号(クライアント装置10の第1検出部12が検出した発話区間)の時間長さに対する、第2音声信号(サーバ装置20の第2検出部22が検出した発話区間)の時間長さの割合である。
【0036】
図4(a)は、時間比率が適正範囲にあり、クライアント装置10とサーバ装置20とが想定通りの動作をしている例を示している。つまり、時間比率が
図4(a)のようになっていれば、クライアント装置10における大まかな発話区間検出と、サーバ装置20における厳密な発話区間検出との関係が想定通りであることが推定される。
【0037】
図4(b)は、第1音声信号の時間長さに対して第2音声信号の時間長さが短すぎ、時間比率が適正範囲よりも小さくなっている例を示している。クライアント装置10の第1検出部12が入力信号中の発話でない部分を過剰に含む区間を発話区間として検出している場合に、時間比率が
図4(b)のようになる。時間比率が
図4(b)のようになっている場合、発話でない部分を過剰に含む第1音声信号がクライアント装置10からサーバ装置20に送信されるため、通信量の増加を招く。
【0038】
図4(c)は、第1音声信号の時間長さに対して第2音声信号の時間長さが長すぎ、時間比率が適正範囲よりも大きくなっている例を示している。クライアント装置10の第1検出部12による発話区間の検出が厳密になりすぎている場合に、時間比率が
図4(c)のようになる。時間比率が
図4(c)のようになっている場合、クライアント装置10において入力信号から発話音声の取りこぼしが生じる懸念がある。
【0039】
以上のように、第1音声信号と第2音声信号との時間比率は、クライアント装置10とサーバ装置20とが想定通りの動作をしているか否かを判断する上で有用な情報となる。そこで、本実施形態のサーバ装置20は、上述した時間比率を算出する時間比率算出部26を備えている。時間比率算出部26が算出した時間比率は、閾値調整指示部27に渡される。
【0040】
閾値調整指示部27は、時間比率算出部26により算出された時間比率に基づいて、クライアント装置10の第1検出部12が発話区間の検出に用いる第1閾値の適正値を算出し、クライアント装置10に対して第1閾値を算出した適正値に調整することを指示する。この閾値調整指示部27のクライアント装置10に対する指示は、例えば、クライアント装置10からの閾値問い合わせに対する応答として行う。すなわち、閾値調整指示部27は、クライアント装置10からの閾値問い合わせに応じて、時間比率算出部26に対して時間比率の算出を要求し、時間比率算出部26から時間比率を取得する。そして、取得した時間比率が
図4(b)の例のように適正範囲よりも小さくなっている場合は、閾値調整指示部27は、クライアント装置10において現在設定されている第1閾値よりも大きい値を適正値として算出し、算出した適正値を問い合わせに対する返り値としてクライアント装置10に送信して、クライアント装置10に第1閾値の調整を指示する。一方、取得した時間比率が
図4(c)の例のように適正範囲よりも大きくなっている場合は、閾値調整指示部27は、クライアント装置10において現在設定されている第1閾値よりも小さい値を適正値として算出し、算出した適正値を問い合わせに対する返り値としてクライアント装置10に送信して、クライアント装置10に第1閾値の調整を指示する。
【0041】
サーバ装置20から第1閾値の適正値および閾値調整の指示を受信したクライアント装置10では、閾値調整部15が、サーバ装置20からの指示に従って、第1検出部12が発話区間の検出に用いている現在の第1閾値を、サーバ装置20から受信した適正値に変更する。以上の処理を繰り返すことにより、第1検出部12により検出される発話区間が、サーバ装置20の第2検出部22により検出される発話区間との関係において最適化されていく。
【0042】
また、閾値調整指示部27は、クライアント装置10に対して算出した第1閾値の適正値を、当該クライアント装置10の属性情報と対応付けて記憶部28に格納し、記憶部28に記憶させる機能を持つ。ここで属性情報とは、クライアント装置10の性能や使用環境、クライアント装置10を使用するユーザ情報など、発話区間の検出に影響を与える可能性がある各種条件を示す情報である。例えば、クライアント装置10のハードウェア資源のスペック、オペレーションシステムなどのソフトウェアのバージョン、マイク11の性能などを含むクライアント装置10のプロファイル情報や、クライアント装置10が例えば会議室などの特定の環境で固定して使用される場合の当該使用環境の情報、アカウントに紐付けられたクライアント装置10のユーザ情報などが、属性情報の一例として挙げられる。これらの属性情報は、例えば、クライアント装置10がサーバ装置20に接続する際にクライアント装置10から取得される。
【0043】
ここで、クライアント装置10がサーバ装置20に接続する際にクライアント装置10から取得された属性情報が、記憶部28が記憶している他のクライアント装置10の属性情報と類似する場合、閾値調整指示部27は、その属性情報に対応付けて記憶部28が記憶している第1閾値の適正値を読み出して、サーバ装置20に接続したクライアント装置10に対して、記憶部28から読み出した適正値を第1閾値の初期値として設定することを指示してもよい。これにより、第1閾値の初期値を固定値に設定する場合と比べて、クライアント装置10の性能や使用環境により適合した初期値を設定することができ、第1閾値の調整を行う前の初期段階においても、第1検出部12による適切な発話区間の検出が期待できる。
【0044】
また、閾値調整指示部27は、上述した時間比率に基づいて算出した第1閾値の適正値が0から1の間で予め定められた基準範囲を越える場合は、クライアント装置10に対してマイク11の感度を調整することを指示するように構成してもよい。例えば、時間比率に基づいて算出した第1閾値の適正値が基準範囲を越えて1に近い値となっている場合は、クライアント装置10のマイク11が発話以外の環境雑音を多く入力している状況が想定される。このような場合には、閾値調整指示部27は、クライアント装置10に対してマイク11の感度を下げることを指示する。また、時間比率に基づいて算出した第1閾値の適正値が基準範囲を越えて0に近い値となっている場合は、クライアント装置10のマイク11が適切に音を入力していない状況が想定される。このような場合には、閾値調整指示部27は、クライアント装置10に対してマイク11の感度を上げることを指示する。
【0045】
サーバ装置20からマイク11の感度調整の指示を受信したクライアント装置10では、閾値調整部15が、サーバ装置20からの指示に従って、マイク11の感度の調整を行う。これにより、マイク11の感度が環境に順応するように調整され、第1検出部12が適切な発話区間の検出を行えるようになる。
【0046】
また、閾値調整指示部27は、上述したマイク11の感度調整の指示に加えて、あるいはマイク11の感度調整の指示の代わりに、クライアント装置10に対してマイク11を用いた信号の入力が適切に行われていない旨の警告を送信するように構成してもよい。例えば、時間比率に基づいて算出した第1閾値の適正値が基準範囲を越えて1に近い値となっている場合に、閾値調整指示部27は、例えば、マイク11が発話以外の環境雑音を多く入力していることをユーザに伝えるとともに雑音が少ない環境での利用を促す警告を送信する。また、時間比率に基づいて算出した第1閾値の適正値が基準範囲を越えて0に近い値となっている場合に、閾値調整指示部27は、例えば、マイク11が適切に音を入力していないことをユーザに伝えるとともに使用するマイク11をより高性能のものに変更することを促す警告を送信する。このような警告を受信したクライアント装置10側では、警告の内容を図示しない表示部に表示してユーザに報知する。また、マイク11の感度調整の指示も警告に含め、警告の内容をクライアント装置10が解釈して自動的にマイク11の感度調整を行うようにしてもよい。
【0047】
次に、本実施形態に係る音声認識システムの動作の一例について、クライアント装置10での処理とサーバ装置20での処理とに分けて説明する。まず、クライアント装置10での処理の流れを
図5に沿って説明する。
図5は、クライアント装置10の処理手順の一例を示すフローチャートである。
【0048】
図5のフローチャートで示す一連の処理は、クライアント装置10がサーバ装置20に接続したことを契機に開始される。処理が開始されると、まず尤度調整部14が、サーバ装置20からの尤度調整の指示に従って、例えば上述の方法により第1検出部12が算出する尤度の調整を行う(ステップS101)。
【0049】
次に、第1検出部12が、発話区間の検出に用いる第1閾値の初期値を設定する(ステップS102)。第1閾値の初期値は、上述したように、予め定められた固定値(例えば0.1)であってもよいし、属性情報(プロファイル情報や使用環境の情報、ユーザ情報など)が類似する他のクライアント装置10に対して算出された第1閾値の適正値であってもよい。また、閾値調整部15が第1閾値の初期値を設定する構成であってもよい。
【0050】
次に、マイク11が、音声(人の発話)を含む信号の入力を開始し(ステップS103)、入力信号を第1検出部12に渡す。そして、第1検出部12が、入力信号に対して例えば上述の方法により発話区間の検出を行う(ステップS104)。第1検出部12が検出した発話区間の信号である第1音声信号は、通信部13から、通信ネットワーク30を介してサーバ装置20に送信される(ステップS105)。
【0051】
サーバ装置20において音声認識処理が行われて認識結果が送信されると、その認識結果が通信部13により受信される(ステップS106)。この認識結果はクライアント装置10の図示しない表示部に表示される。
【0052】
次に、閾値調整部15が、サーバ装置20に対して閾値問い合わせを行う(ステップS107)。閾値問い合わせは、通信部13から、通信ネットワーク30を介してサーバ装置20に送信される。そして、この閾値問い合わせに対する応答としてサーバ装置20から第1閾値の適正値および調整指示が送信されると、この適正値および調整指示が通信部13により受信され、閾値調整部15に渡される(ステップS108)。閾値調整部15は、サーバ装置20からの調整指示に従って、第1検出部12が発話区間の検出に用いる第1閾値の値を、調整指示とともに受け取った適正値に変更することで、第1閾値を調整する(ステップS109)。
【0053】
その後、マイク11による信号の入力が継続している間は(ステップS110:No)、ステップS103〜ステップS109の処理が繰り返され、マイク11による信号の入力が終了すると(ステップS110:Yes)、
図5のフローチャートで示す一連の処理が終了する。
【0054】
次に、サーバ装置20での処理の流れを
図6に沿って説明する。
図6は、サーバ装置20の処理手順の一例を示すフローチャートである。
図6のフローチャートで示す一連の処理は、クライアント装置10がサーバ装置20に接続したことを契機に開始される。複数のクライアント装置10が同時にサーバ装置20に接続している場合、サーバ装置20は、それぞれのクライアント装置10ごとに
図6のフローチャートで示す処理を実行する。
【0055】
処理が開始されると、まず尤度調整指示部25が、例えば上述の方法により、クライアント装置10に対して尤度調整の指示を行う(ステップS201)。
【0056】
次に、第2検出部22が、発話区間の検出に用いる第2閾値の初期値を設定する(ステップS202)。第2閾値の初期値は、上述したように、第1検出部12が発話区間の検出に用いる第1閾値よりも大きい値(例えば0.3)に設定される。なお、閾値調整部24が第2閾値の初期値を設定する構成であってもよい。
【0057】
次に、クライアント装置10から第1音声信号が送信されると、この第1音声信号が通信部21により受信され、第2検出部22に渡される(ステップS203)。そして、第2検出部22が、クライアント装置10からの第1音声信号に対して例えば上述の方法により発話区間の検出を行う(ステップS204)。第2検出部22が検出した発話区間の信号である第2音声信号は、音声認識部23に渡される。
【0058】
次に、音声認識部23が、第2検出部22から受け取った第2音声信号に対して音声認識処理を行う(ステップS205)。この音声認識部23による認識結果は、通信部21から、通信ネットワーク30を介してクライアント装置10に送信される(ステップS206)。
【0059】
次に、閾値調整部24が、音声認識部23による認識結果に基づいて、例えば上述の方法により第2閾値を調整する(ステップS207)。
【0060】
その後、クライアント装置10から閾値問い合わせが送信されると、この閾値問い合わせが通信部21により受信され、閾値調整指示部27に渡される(ステップS208)。閾値調整指示部27は、閾値問い合わせを受け取ると、まず、時間比率算出部26に対し時間比率の算出を要求する。この要求に応じて、時間比率算出部26が第1音声信号と第2音声信号との時間比率を算出する(ステップS209)。
【0061】
次に、閾値調整指示部27は、時間比率算出部26により算出された時間比率を取得し、この時間比率に基づいて、例えば上述の方法により第1閾値の適正値を算出する(ステップS210)。閾値調整指示部27が算出した第1閾値の適正値は、閾値調整の指示とともに、通信部21から、通信ネットワーク30を介してクライアント装置10に送信される(ステップS211)。また、この第1閾値の適正値は、クライアント装置10の属性情報に対応付けて記憶部28に格納される(ステップS212)。
【0062】
その後、クライアント装置10との接続が維持されている間は(ステップS213:Yes)、ステップS203〜ステップS212の処理が繰り返され、クライアント装置10との接続が遮断されると(ステップS213:No)、
図6のフローチャートで示す一連の処理が終了する。
【0063】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態に係る音声認識システムは、クライアント装置10で入力信号に対し大まかな発話区間の検出を行って第1音声信号をサーバ装置20に送信し、サーバ装置20で第1音声信号に対し厳密な発話区間の検出を行って、得られた第2音声信号に対し音声認識処理を行う構成である。したがって、本実施形態によれば、クライアント装置10とサーバ装置20との間の通信量の削減を図りつつ、発話区間を精度よく検出して高精度で効率的な音声認識を実施することができる。
【0064】
また、本実施形態の音声認識システムは、クライアント装置10側で算出される尤度をサーバ装置20側で算出される尤度に近づける機能を備えるため、クライアント装置10側とサーバ装置20側とで異なる方法で発話区間の検出を行いながら、共通の指標となる閾値を用いて発話区間の検出精度を調整することができる。すなわち、リソースが限られるクライアント装置10側での発話区間検出は演算の処理負荷が比較的低い方法で行い、サーバ装置20側ではクライアント装置10よりも演算の処理負荷が高い方法で厳密な発話区間検出を実施することができる。
【0065】
また、本実施形態の音声認識システムは、クライアント装置10側での発話区間検出に用いる第1閾値を調整する機能や、サーバ装置20側での発話区間検出に用いる第2閾値を調整する機能を備えるため、クライアント装置10側で検出される発話区間とサーバ装置20側で検出される発話区間との関係を、処理を繰り返すごとに最適化していくことができる。
【0066】
(第2の実施形態)
クライアント装置10の他の構成例を第2実施形態として説明する。以下では、第2実施形態のクライアント装置10を第1実施形態と区別してクライアント装置10Aと表記する。なお、サーバ装置20の構成は第1実施形態と共通である。以下、第1実施形態と共通の部分は同一の符号を付して重複した説明を省略し、第1実施形態との相違点のみを説明する。
【0067】
図7は、第2実施形態のクライアント装置10Aの構成例を示すブロック図である。第2実施形態のクライアント装置10Aは、例えばテレビ会議端末のように複数のユーザが共有して使用することを想定して構成されたものであり、第1実施形態のクライアント装置10が備えるマイク11に代えて、複数のマイクが一体化された構成のマイクアレイ16を備える。マイクアレイ16は、複数の話者の発話を含む信号を入力する。
【0068】
また、第2実施形態のクライアント装置10Aは、第1実施形態のクライアント装置10の構成に加えて、音声分離部17(分離部)をさらに備える。音声分離部17は、マイクアレイ16が入力した入力信号を、話者ごとの信号に分離する。すなわち、音声分離部17は、マイクアレイ16が入力した入力信号から音源(話者)の方向を推定し、推定した音源の方向が複数ある場合は、入力信号を音源ごとの信号に分離する。このような音源の方向を推定して信号を分離する技術は公知の技術であるため、ここでは詳細な説明は省略する。
【0069】
また、音声分離部17は、音源(話者)ごとに分離したそれぞれの信号に対し、発話区間を検出するための第1検出部12を動的に生成する。すなわち、音声分離部17は、マイクアレイ16が入力した入力信号から、ある方向に音源(話者)が存在すると判断したときに、その音源からの信号に対して発話区間の検出を行うための第1検出部12を生成する。また、他の方向に音源(話者)が存在すると判断したときも同様に、その音源からの信号に対して発話区間の検出を行うための第1検出部12を生成する。音源(話者)ごとに分離された信号は、それぞれ動的に生成された第1検出部12に渡されて、以降、第1実施形態と同様の処理が行われる。なお、音源(話者)ごとに動的に生成された第1検出部12は、所定時間に亘ってその音源(話者)の方向からの入力がない場合に削除される。
【0070】
また、クライアント装置10Aでは、第1実施形態と同様に、尤度調整部14による尤度の調整や、閾値調整部15による第1閾値の調整が行われるが、これらの尤度調整や閾値調整は、音源(話者)ごとに動的に生成される第1検出部12に対してそれぞれ個別に行われる。なお、サーバ装置20における処理も同様に、音源(話者)ごとに分離された信号に対して個別に行われる。
【0071】
以上のように、本実施形態では、クライアント装置10Aが入力信号を話者ごとに分離して第1検出部12を動的に生成する構成としているため、第1実施形態と同様に、クライアント装置10とサーバ装置20との間の通信量の削減を図りつつ、発話区間を精度よく検出して高精度で効率的な音声認識を実施することができることに加えて、複数話者の発話に対して個別に音声認識を行って、話者ごとの認識結果を得ることができる。
【0072】
(補足)
以上説明した実施形態のサーバ装置20における各機能的な構成要素は、例えば、汎用のコンピュータシステムを基本ハードウェアとして用いて実行されるプログラム(ソフトウェア)により実現することができる。
【0073】
図8は、サーバ装置20のハードウェア構成の一例を概略的に示すブロック図である。サーバ装置20は、
図8に示すように、CPUなどのプロセッサ101と、RAMなどの主記憶部102と、各種の記憶装置を用いた補助記憶部103と、通信インタフェース104と、これらの各部を接続するバス105とを含んだ汎用のコンピュータシステムとして構成される。なお、補助記憶部103は、有線または無線によるLAN(Local Area Network)などで各部に接続されてもよい。
【0074】
サーバ装置20の各機能的な構成要素は、例えば、プロセッサ101が、主記憶部102を利用して、補助記憶部103などに格納されたプログラムを実行することによって実現される。このプログラムは、例えば、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【0075】
また、このプログラムを、インターネットなどのネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、このプログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、このプログラムを、コンピュータ内部のROM(補助記憶部103)などに予め組み込んで提供するように構成してもよい。
【0076】
このプログラムは、サーバ装置20の機能的な構成要素(通信部21、第2検出部22、音声認識部23、閾値調整部24、尤度調整指示部25、時間比率算出部26および閾値調整指示部27)を含むモジュール構成となっており、実際のハードウェアとしては、例えば、プロセッサ101が上記記録媒体からプログラムを読み出して実行することにより、上記の各構成要素が主記憶部102上にロードされ、上記の各構成要素が主記憶部102上に生成されるようになっている。なお、サーバ装置20の機能的な構成要素は、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
【0077】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。