(58)【調査した分野】(Int.Cl.,DB名)
前記検出した発声区間についての発声音が表現している単語を特定する処理は、前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとの類似度の高さを表す照合スコアを取得し、
前記プログラムは、前記単語区間に関してのSNRと前記発声区間に関してのSNRとの比較結果に基づいて該単語区間の発声音が表している単語について前記照合スコアを取得する処理により取得した照合スコアを変更する処理を前記コンピュータに更に実行させ、
前記特定した単語を音声認識の結果として選出するか否かを判定する処理は、該単語についての照合スコアに基づいて行う、
ことを特徴とする請求項1に記載のプログラム。
前記検出した発声区間に関してのSNRを算出する処理は、前記検出した発声区間に関してのSNRの算出を、前記検出した発声区間を含む所定の区間における音声信号に関してのSNRを算出することによって行うことを特徴とする請求項1から8のうちのいずれか一項に記載のプログラム。
【発明を実施するための形態】
【0017】
まず
図1について説明する。
図1は音声認識装置の一実施例の機能構成図である。
図1の音声認識装置10は、入力部11、検出部12、第一算出部13、照合部14、単語辞書15、音響モデル16、第二算出部17、選出部18、及び出力部19を備えている。
【0018】
入力部11は、音声を表している音声信号を受理して、当該音声信号から当該音声の特徴量を算出する。なお、本実施例においては、入力部11は、当該音声信号から当該音声のパワーを特徴量として算出するものとする。なお、入力部11に入力される音声信号は、例えば、音声を収音した不図示のマイクロフォンから出力されるアナログ信号をデジタルデータに変換したものでもよく、また、不図示の記憶装置で保存されていた音声信号のデータファイルでもよい。
【0019】
検出部12は、入力部11が算出した音声信号の特徴量を用いて、当該音声信号が表している音声に発声音が含まれている発声区間を当該音声信号から検出する。本実施例においては、検出部12は、入力部11が算出した音声パワーの平均値を求め、当該平均値を用いて発声区間の検出を行う。より具体的には、検出部12は、音声パワーがこの平均値よりも所定の閾値α以上の大きさとなったときを検出して発声区間の始まりとする。また、検出部12は、発声区間の始まりの検出後に、この平均値よりも所定の閾値β以下である音声パワーが所定時間(例えば1秒)継続した場合を検出して、その期間の先頭を発声区間の終わりとする。
【0020】
第一算出部13は、検出部12が検出した発声区間に関しての信号対雑音比(SNR:Signal to Noise Ratio)を算出する。このSNRの算出の手法として、様々な手法を用いることができる。本実施例では、第一算出部13は、下記の[A]又は[B]のどちらかの手法を用いて、このSNRの算出を行う。
【0021】
[A]第一算出部13は、まず、雑音Nの値として、入力された音声信号についての音声パワーの最低値、若しくは、発声区間内の音声信号についての音声パワーの最低値を求め、信号Sの値として、発声区間内の音声信号についての音声パワーの最大値を求める。ここで、第一算出部13は、下記の数式(1)の計算を行ってSNRの値を算出し、算出された値を、検出部12が検出した発声区間に関してのSNRの算出結果とする。
【0022】
SNR[dB] = 10log
10(S/N)・・・・・・・・・・(1)
[B]第一算出部13は、検出部12が検出した検出された発声区間を含む所定の区間における音声信号に関してのSNRを算出する。すなわち、第一算出部13は、まず、検出部12が検出した検出された発声区間に、当該発声区間の前及び後の所定期間(例えば5分間)の区間を加えた区間を算出対象区間に設定する。なお、検出部12は、この算出対象区間の設定において、検出部12が検出した検出された発声区間に、当該発声区間の前の所定期間(例えば5分間)の区間のみを加えた区間を算出対象区間に設定するようにしてもよい。算出対象区間の設定をこのようにすると、音声認識装置10を、認識結果を直ちに発声者に提示する用途に用いる場合に好適である。次に、第一算出部13は、算出対象区間内の音声信号についての音声パワーの平均値と標準偏差とを求める。ここで、第一算出部13は、算出対象区間内の音声信号の音声パワーのうちで、当該音声パワーの平均値から当該音声パワーの標準偏差を減算した値よりも小さいものの平均値を算出し、算出された平均値を雑音Nの値とする。また、第一算出部13は、算出対象区間内の音声信号の音声パワーのうちで、当該音声パワーの平均値に当該音声パワーの標準偏差を加算した値よりも大きいものの平均値を算出し、算出された平均値を信号Sの値とする。そして、第一算出部13は、前掲した数式(1)の計算を行ってSNRの値を算出し、算出された値を、検出部12が検出した発声区間に関してのSNRの算出結果とする。
【0023】
照合部14は、検出部12が検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、当該検出した発声区間についての発声音が表現している単語を特定する。本実施例では、照合部14は、単語辞書15と音響モデル16とから単語のモデルを生成し、発声区間の音声信号の特徴量と、生成された単語のモデルとの類似度の高さを表す照合スコアを求め、この照合スコアが所定の閾値以上となる単語を特定する。ここで、単語のモデルは、例えば、単語辞書15に格納されている単語の読みである音節列や音素列に対応する、音節毎や音素毎の音響モデル16(例えばHMM(Hidden Markov Model、隠れマルコフモデル))を連結することによって生成される。また、音声信号の特徴量としては、例えば、MFCC(Mel Frequency Cepstral Coefficient)や、パワー差分が用いられる。その後、照合部14は、この単語のモデルと音声信号の特徴量とを照合して、両者が一致するとみなすことの確からしさを表す確率を、照合スコアとして算出する。そして、照合部14は、算出された確率値が最高の単語若しくは単語列を特定する。なお、照合部14は、算出された確率値が、一定の基準、例えば、1フレームあたりの確率値が所定確率値以上といった基準を充足する単語若しくは単語列を、複数特定するようにしてもよい。
【0024】
第二算出部17は、検出部12が検出した発声区間内における、照合部14が特定した単語についての発声音を表している単語区間に関してのSNRを算出する。このSNRの算出の手法としては、第一算出部13と同様に、様々な手法を用いることができる。本実施例では、第一算出部13が用いた手法に応じ、下記の[C]又は[D]のどちらかの手法を用いて、このSNRの算出を行う。
【0025】
[C]第一算出部13が前述した手法[A]を用いる場合には、第二算出部17は、雑音Nの値として、第一算出部13が用いた雑音Nの値と同一の値とし、信号Sの値として、単語区間内の音声信号についての音声パワーの最大値を求める。そして、第二算出部17は、前掲した数式(1)の計算を行ってSNRの値を算出し、算出された値を、単語区間に関してのSNRの算出結果とする。
【0026】
[D]第一算出部13が前述した手法[B]を用いる場合には、第二算出部17は、雑音Nの値として、第一算出部13が用いた雑音Nの値と同一の値とする。また、第二算出部17は、単語区間内の音声信号の音声パワーのうちで、算出対象区間内の音声信号の音声パワーの平均値に当該音声パワーの標準偏差を加算した値よりも大きいものの平均値を算出し、算出された平均値を信号Sの値とする。そして、そして、第二算出部17は、前掲した数式(1)の計算を行ってSNRの値を算出し、算出された値を、単語区間に関してのSNRの算出結果とする。
【0027】
選出部18は、単語区間に関してのSNRについての、検出部12が検出した発声区間に関してのSNRとの比較結果に基づいて、当該単語区間の発声音が表している単語を選出する。本実施例では、選出部18は、発声区間に関してのSNRに対して所定の下限閾値以上のSNRである単語区間の発声音が表している単語、例えば、発声区間に関してのSNRよりも12dB低い値以上のSNRである単語区間の発声音が表している単語を選出する。
【0028】
出力部19は、選出部18が選出した単語を出力する。出力部19により出力される単語が、入力部11に入力される音声信号についての音声認識の結果である。なお、出力部19は、例えば、単語の表記となる文字列を表示装置に表示させることによって単語の出力を行ってもよく、また、単語が表されているデータファイルの形式で出力を行ってもよい。また、出力部19は、単語が選出部18により選出されなかった場合には、何も出力しないようにしてもよく、また、音声認識の結果が得られなかった旨の通知を出力するようにしてもよい。
【0029】
図1の音声認識装置10は以上の構成を備えている。この構成によれば、照合部14によって特定された単語についての発声音を表している単語区間に関してのSNRが算出され、算出されたSNRが発声区間に関してのSNRと比較される。そして、この単語の選出が、その比較結果に基づいて行われる。従って、認識対象者の発声音が含まれているものとして検出した発声区間の音声信号に、他の人の発声音が含まれていても、認識対象者の発声音のみを対象とした音声認識の結果を適切に提供することができる。
【0030】
入力される音声信号において認識対象者の発声音についての音声パワーが例えば3dBから12dBまでの間で変動している場合において、認識対象者についての単語区間での音声パワーは、その上限である12dBに近い大きさである可能性が高い。その一方、その音声信号においての他の人の音声パワーは、認識対象者のものに比べて相対的に低く、例えば0dBから6dBまでの間である。従って、特に単語区間内においては、他の人についての音声パワーが認識対象者についてのものよりも高いものが含まれる可能性は極めて低い。これは、他の人はマイクロフォンからの距離が認識対象者よりも離れていたり、あるいは、他の人はマイクロフォンに向かって発声していなかったりするからである。つまり、認識対象者の発声音と共に他の人の発声音をマイクロフォンで収音したときの当該他の人の発声音の音声パワーは認識対象者のものよりも減衰している。従って、
図1の音声認識装置10が前述したようにして単語の選出を行うことで、他の人の発声音の音声認識の結果を、認識対象者の音声認識の結果として出力してしまう誤りが抑制されるのである。
【0031】
なお、選出部18は、発声区間に関してのSNRに対して所定の下限閾値以上であって且つ所定の上限閾値以下のSNRである単語区間の発声音が表している単語を選出するようにしてもよい。すなわち、例えば、選出部18は、発声区間に関してのSNRに対して−12dBから+12dBの範囲内のSNRである単語区間の発声音が表している単語を選出するようにしてもよい。このようにして、単語の選出の基準とする単語区間の発声音のSNRの条件に上限を追加すると、単語認識の対象とは本来なり得ない大音量の騒音、例えば、咳やくしゃみ、あるいはドアが閉まったときの音などに基づく音声認識の結果が選出対象から除外される。従って、このような騒音の音声認識の結果を、認識対象者の音声認識の結果として出力してしまう誤りが抑制される。なお、この手法は、例えば、前述した[A]及び[C]の手法をそれぞれ第一算出部13及び第二算出部17が用いた場合に採用するよりも、前述した[B]及び[D]の手法を用いた場合に採用した方が、より効果的である。
【0032】
本実施例では、以上のような機能構成を備える
図1の音声認識装置10を、コンピュータを用いて実現する。
【0033】
図2について説明する。
図2はコンピュータのハードウェア構成図である。
図2のコンピュータ20は、MPU21、ROM22、RAM23、ハードディスク装置24、入力装置25、表示装置26、インタフェース装置27、及び記録媒体駆動装置28を備えている。なお、これらの各構成要素はバスライン29を介して接続されており、MPU21の管理の下で各種のデータを相互に授受することができる。
【0034】
MPU(Micro Processing Unit)21は、コンピュータ20全体の動作を制御する演算処理装置である。
【0035】
ROM(Read Only Memory)22は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。MPU21は、この基本制御プログラムを音声認識装置10の起動時に読み出して実行することにより、コンピュータ20の各構成要素の動作制御が可能になる。なお、ROM22として、フラッシュメモリ等の、記憶データが不揮発性であるメモリを使用してもよい。
【0036】
RAM(Random Access Memory)23は、MPU21が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。
【0037】
ハードディスク装置24は、MPU21によって実行される各種の制御プログラムや、各種のデータを記憶しておく記憶装置である。MPU21は、ハードディスク装置24に記憶されている所定の制御プログラムを読み出して実行することにより、各種の制御処理を行えるようになる。
【0038】
入力装置25は、例えばキーボード装置やマウス装置であり、例えばコンピュータ20の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をMPU21に送付する。
【0039】
表示装置26は例えば液晶ディスプレイであり、MPU21から送付される出力データに応じ、各種のテキストや画像の表示を行う。
【0040】
インタフェース装置27は、外部機器との間での各種のデータの授受の管理を行う。
記録媒体駆動装置28は、可搬型記録媒体30に記録されている各種の制御プログラムやデータの読み出しを行う装置である。MPU21は、可搬型記録媒体30に記録されている所定の制御プログラムを、記録媒体駆動装置28を介して読み出して実行することによって、各種の制御処理を行うようにすることもできる。なお、可搬型記録媒体30としては、例えばCD−ROM(Compact Disc Read Only Memory)やDVD−ROM(Digital Versatile Disc Read Only Memory)、USB(Universal Serial Bus)規格のコネクタが備えられているフラッシュメモリなどがある。
【0041】
このように、コンピュータ20は標準的なハードウェア構成を備えている。このコンピュータ20を用いて音声認識装置10を構成するには、例えば、音声認識装置10で行われる後述の制御処理をMPU21に行わせるための制御プログラムを作成して、例えばハードディスク装置24若しくは可搬型記録媒体30に予め格納しておく。そして、MPU21に所定の指示を与えてこの制御プログラムを読み出させて実行させる。なお、単語辞書15及び音響モデル16は、例えばハードディスク装置24に予め格納しておく。あるいは、インタフェース装置27を介して接続されている外部記憶装置に単語辞書15及び音響モデル16を格納しておいてもよい。このようにすることで、
図2の各構成要素を、
図1の音声認識装置10を構成する各機能ブロックとして機能させることが可能となる。
【0042】
なお、音声信号の入力としては、例えば、発声音を収音した不図示のマイクロフォンから出力されるアナログ信号をインタフェース装置27に入力して、インタフェース装置27でデジタルデータに変換したものを用いる。また、例えば、不図示の記憶装置で保存されている音声信号のデータを、インタフェース装置27を介して取得したものを、音声信号の入力として用いてもよい。
【0043】
次に
図3について説明する。
図3は、
図1の音声認識装置10で行われる制御処理の手順を図解したフローチャートである。
【0044】
図3の処理が開始されると、まず、S101において、音声を表している音声信号を受理して、当該音声信号から当該音声の特徴量を算出する処理を入力部11が行う。
【0045】
次に、S102では、S101の処理により算出された音声信号の特徴量を用いて、当該音声信号が表している音声に発声音が含まれている発声区間を当該音声信号から検出する処理を、検出部12が前述のようにして行う。
【0046】
次に、S103では、S102の処理により検出された発声区間に関してのSNRを算出する処理を、第一算出部13が前述の[A]若しくは[C]のどちらかの手法を用いて行う。
【0047】
次に、S104では、S102の処理で検出された発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとの照合によって、当該検出された発声区間についての発声音が表現している単語を1つ特定する処理を、照合部14が前述のようにして行う。前述したように、照合部14は、単語辞書15と音響モデル16とを使用して、このS104の処理を行う。
【0048】
次に、S105では、S102の処理により検出された発声区間についての発声音が表現している単語を、S104の処理により特定することができたか否かを判定する処理を照合部14が行う。照合部14は、ここで、単語の特定ができたと判定したとき(判定結果がYesのとき)にはS106に処理を進め、単語の特定ができなかったと判定したとき(判定結果がNoのとき)にはS109に処理を進める。
【0049】
S106では、S102の処理により検出された発声区間内における、S104の処理により特定された単語についての発声音を表している単語区間に関してのSNRを算出する処理を、第二算出部17が前述のようにして行う。なお、このS106の処理において、第二算出部17は、S103の処理において第一算出部13が用いた手法に応じ、前述した[C]又は[D]のどちらかの手法を用いて、このSNRの算出を行う。
【0050】
S107では、S106の処理により算出された単語区間に関してのSNRが所定の条件に合致するかどうかを検証する処理を選出部18が行う。すなわち、選出部18は、単語区間に関してのSNRが、S103の処理により算出された発声区間に関してのSNRに対して所定の下限閾値以上であるか否か、例えば、発声区間に関してのSNRから12dB低い値以上であるか否かを検証する処理を行う。
【0051】
なお、このS107の処理において、選出部18は、前述したように、単語区間に関してのSNRが、発声区間に関してのSNRに対して所定の下限閾値以上であって且つ所定の上限閾値以下であるか否かを検証する処理を行うようにしてもよい。すなわち、例えば、第一算出部13及び第二算出部17が[B]及び[D]の手法をそれぞれ用いた場合に、選出部18は、単語区間に関してのSNRが、発声区間に関してのSNRに対してJ倍からK倍の範囲内であるかを検証する処理を行うようにしてもよい。なお、この場合における定数Jの値は例えば0.8であり、定数Kの値は例えば1.2である。
【0052】
次に、S108では、S107の処理による検証の結果、S106の処理により算出された単語区間に関してのSNRが所定の条件に合致したか否かを判定する処理を選出部18が行う。選出部18は、ここで、単語区間に関してのSNRが所定の条件に合致したと判定したとき(判定結果がYesのとき)には、S104の処理により特定された単語を選出結果とし、その後はS109に処理を進める。一方、選出部18は、ここで、単語区間に関してのSNRが所定の条件に合致しないと判定したとき(判定結果がNoのとき)には、S104に処理を戻して、他の単語を特定する処理を照合部14に行わせる。
【0053】
S109では、
図3の処理の結果を出力する処理を出力部19が行い、その後はこの
図3の処理が終了する。このS109の処理がS108の処理に続いて行われる場合には、出力部19は、S108の処理により選出部18が選出した単語を、前述のようにして出力する。また、このS109の処理がS105の処理に続いて行われる場合には、出力部19は、音声認識の結果が得られなかった旨の通知を出力するか、若しくは、何も出力しないようにする。
【0054】
図1の音声認識装置10は、以上の制御処理を行うことで、他の人の発声音が含まれても、認識対象者の発声音のみを対象とした音声認識の結果の提供が適切なものとなる。
【0055】
なお、
図3の制御処理では、S104の処理により単語を1つずつ特定した上で、S105からS108にかけての処理を行うようにしている。この代わりに、S104の処理により単語を複数特定した上で、それらの複数の単語の各々について、S105からS108にかけての処理を並行して行うようにしてもよい。
【0056】
次に
図4について説明する。
図4は音声認識装置の別の一実施例の機能構成図である。
図4に図解した音声認識装置10の構成において、
図1に表したものと同名の機能ブロックについては同一の符号を付している。以下の説明において特に説明を行わない機能ブロックについては
図1に表したものと同様の機能を提供するものとする。
【0057】
図4の音声認識装置10は、
図1と同様の各機能ブロックに加えて、変更部31を更に備えている。この変更部31は、第二算出部17が算出した単語区間に関してのSNRと第一算出部13が算出した発声区間に関してのSNRとの比較結果に基づいて、当該単語区間の発声音が表している単語について照合部14が取得した照合スコアを変更する。
【0058】
なお、変更部31を備えている
図4の構成においては、選出部18は、単語区間の発声音が表している単語の選出を、当該単語についての照合スコアに基づいて行う。
【0059】
ここで、変更部31による照合スコアの変更と、選出部18による、照合スコアに基づいた単語の選出とについて、
図5を用いて説明する。
【0060】
図5に図解した[a]及び[b]のグラフは、発声区間の発声音について照合部14が単語の特定を行ったときの、当該単語について得られた照合スコアと、単語区間についての発声区間に対するSNRの比率との関係の一般的な傾向を表したものである。
【0061】
一般に、発声音の音声パワーが十分に得られなければ、発声区間の発声音の特徴量と単語の音響モデルとの類似度は低いものとなる。また、発声区間における認識対象者以外の他の人の発声音は、認識対象者の発声音よりも一般的には音声パワーが小さいことは既に説明した。これらのことから、認識対象者以外の他の人の発声音について照合部14が単語の特定を行ったときに得られる照合スコアは、認識対象者の発声音について得られる照合スコアよりも小さくなる傾向を一般的には呈する。
図5のグラフはこの傾向を表したものであり、照合スコアが同一の場合においての認識対象者以外の他の人の発声音についての認識対象者の発声音に対する割合は、照合スコアが低くなるほど大きくなることが分かる。
【0062】
図5の[a]は、選出部18による単語の選出を、照合スコアとは無関係に、SNRの比率と所定の検出閾値との比較によって行う場合を表現している。なお、この[a]の例では、その検出閾値を、照合スコアが『80』の場合において最適と思われる『0.6』と設定した場合を表している。しかしながら、この設定では、照合スコアが『70』の場合においては、認識対象者以外の他の人の発声音について照合部14が特定した単語を、選出部18が誤って選出してしまう確率が高くなってしまう。また、照合スコアが『90』の場合においては、認識対象者の発声音について照合部14が特定した単語を、選出部18が誤って選出から除外してしまう確率が高くなってしまう。
【0063】
そこで、
図4の音声認識装置10における変更部31は、単語区間に関してのSNRと発声区間に関してのSNRとの比較結果に基づいて、単語区間の発声音が表している単語について照合部14が取得した照合スコアを変更する。より具体的には、単語区間に関してのSNRと発声区間に関してのSNRとの比率が所定の閾値未満である場合には、単語区間の発声音が表している単語について照合部14が取得した照合スコアを減点してペナルティを課す。そして、選出部18は、単語区間の発声音が表している単語の選出を、この単語についての照合スコアに基づいて行う。
【0064】
図5の[b]は、変更部31が、単語区間に関してのSNRと発声区間に関してのSNRとの比率が0.7未満である場合に、比率が0.1少ない毎にペナルティとして値10を照合スコアから減点する場合の例である。従って、SNRの比率が0.6から0.7までの単語に対しては照合スコアにペナルティ10が課せられ、SNRの比率が0.5から0.6までの単語に対しては照合スコアにペナルティ20が課せられる。
【0065】
なお、
図5の[b]の例では、選出部18は、照合スコアが70以上の単語を、単語区間の発声音が表している単語として選出するものとする。すると、照合スコアが『80』の場合においては、SNRの比率が『0.6』以上の単語が選出される。この場合に選出される単語は、
図5の[a]と同様である。一方、
図5の[b]の例では、照合スコアが『70』の場合においてはSNRの比率が『0.7』以上の単語が選出されることになり、照合スコアが『90』の場合においてはSNRの比率が『0.5』以上の単語が選出されることになる。従って、
図5の[b]のようにして単語の選出を行うことで、
図5の[a]のようにする場合よりも、単語選出をより適切に行えるようになる。
【0066】
本実施例では、以上のような機能構成を備える
図4の音声認識装置10を、
図2に図解したハードウェア構成を備えるコンピュータ20を用いて実現する。このためには、例えば、音声認識装置10で行われる後述の制御処理をMPU21に行わせるための制御プログラムを作成して、例えばハードディスク装置24若しくは可搬型記録媒体30に予め格納しておく。そして、MPU21に所定の指示を与えてこの制御プログラムを読み出させて実行させる。なお、単語辞書15及び音響モデル16は、例えばハードディスク装置24に予め格納しておく。あるいは、インタフェース装置27を介して接続されている外部記憶装置に単語辞書15及び音響モデル16を格納しておいてもよい。このようにすることで、
図2の各構成要素を、
図4の音声認識装置10を構成する各機能ブロックとして機能させることが可能となる。
【0067】
次に
図6について説明する。
図6は、
図4の音声認識装置10で行われる制御処理の手順を図解したフローチャートである。
【0068】
まず、
図6におけるS101からS103にかけての処理は、
図3に図解したフローチャートにおけるものと同一の処理内容であるので、ここではその説明を省略する。
【0069】
S103に続くS201では、
図3のS104と同様の照合の処理を照合部14が行う。但し、このS201では、照合部14は、単語の特定を行うと共に、この単語の特定のために算出した照合スコアを、特定された単語と対応付けて出力する処理を行う。
【0070】
S201に続くS105からS107にかけての処理は、
図3に図解したフローチャートにおけるものと同一の処理内容であるので、ここではその説明を省略する。
【0071】
S107に続くS202では、S106の処理で算出された単語区間に関してのSNRがS107の検証処理における所定の条件に合致しない場合には、S201の処理で特定された単語についての照合スコアを減点してペナルティを課す処理を変更部31が行う。このときの減点は、本実施例においては一律とするが、
図5の[b]の例のように、単語区間に関してのSNRについての所定の条件からの乖離の程度に応じて減点幅を大きくしてもよい。
【0072】
なお、照合部14が、照合スコアとして、例えば、この単語のモデルと音声信号の特徴量との距離を算出する場合には、照合スコアは、その値が小さいほど両者の類似度が高いことを表すことになる。従って、この場合には、変更部31は、S201の処理で特定された単語についての照合スコアにペナルティを課すために、当該照合スコアを加点する処理を行うことになる。
【0073】
S203では、
図6の処理の結果を出力する処理を出力部19が行い、その後はこの
図6の処理が終了する。このS203の処理がS202の処理に続いて行われる場合には、出力部19は、S201の処理で特定された単語を出力する。なお、出力部19は、この単語の出力と共に、その単語についての照合スコアを出力するようにしてもよい。また、出力部19は、複数の単語を出力する場合には、照合スコア順に並び替えて各単語を出力するようにしてもよく、更には、照合スコアの上位の所定数個の単語のみを出力するようにしてもよい。なお、このS203の処理がS105の処理に続いて行われる場合には、出力部19は、
図3のS109の処理と同様に、音声認識の結果が得られなかった旨の通知を出力するか、若しくは、何も出力しないようにする。
【0074】
図4の音声認識装置10は、以上の制御処理を行うことで、他の人の発声音が含まれても、認識対象者の発声音のみを対象とした音声認識の結果がより適切に提供される。
【0075】
次に
図7について説明する。
図7は音声認識装置の更なる別の一実施例の機能構成図である。
【0076】
図7に図解した音声認識装置10の構成において、
図1に表したものと同名の機能ブロックについては同一の符号を付している。以下の説明において特に説明を行わない機能ブロックについては
図1に表したものと同様の機能を提供するものとする。
【0077】
図7の音声認識装置10は、
図1と同様の各機能ブロックに加えて、閾値算出部41を更に備えている。
【0078】
図7の構成において、選出部18は、発声区間に関してのSNRに対して所定の下限閾値以上のSNRである単語区間の発声音が表している単語を選出する。但し、選出部18は、この単語の選出に用いる下限閾値として、選出の対象である単語毎に対応付けられている下限閾値を用いて行う。閾値算出部41は、この選出部18による選出の対象である単語についての下限閾値を、当該単語の読みの情報に基づいて算出する。より具体的には、本実施例における閾値算出部41は、選出部18による選出の対象である単語についての下限閾値の算出を、当該単語の読みの各音節について予め用意されている閾値の平均値を算出することによって行う。
【0079】
ここで、
図7の音声認識装置10が奏する効果について、
図8を用いて説明する。
図8の2つのグラフは、ある発声区間における発声音についての音声パワーの時間変化の様子の一例を表しており、認識対象者が『えー、ふくやまのてんき』と発声している傍らで他の人が『こう』と発声した場合の様子を表している。このグラフにおいて、横軸は時間の経過を表しており、縦軸は音声パワーを表している。ここで、この発声区間内におけるノイズレベルは一定であるとすれば、この音声パワーの時間変化は、発声区間のSNRの変化をそのまま表していると見ることができる。
【0080】
まず、
図8の[a]は、選出部18が単語の選出に用いる検出閾値を高くして、他の人の発声音『こう』についての照合部14による照合結果が選出部18での選出における選出対象から除外されるように設定した場合を表している。この検出閾値は、前述した下限閾値に相当するものである。検出閾値をこのように設定した場合には、認識対象者の発声音において音声パワーが相対的に低い、例えば発声音『ふく』の発声区間の音声パワーが検出閾値を下回るため、発声音『ふく』についての照合部14による照合結果も選出対象から除外されてしまう。
【0081】
その一方で、
図8の[a]は、選出部18が単語の選出に用いる検出閾値を低くして、上述した認識対象者の発声音『ふく』についての照合部14による照合結果が選出されるように設定した場合を表している。このように設定した場合には、今度は他の人の発声音『こう』の発声区間の音声パワーが検出閾値を上回ってしまうため、発声音『こう』についての照合部14による照合結果が選出対象とされてしまう。
【0082】
このように、選出部18が単語の選出に用いる下限閾値を常に一定の値とすると、認識対象者の発声音についての単語を選出して他の人の発声音についての単語を選出から除外する選出部18の動作が不適切になる場合がある。そこで、閾値算出部41は、この選出部18による選出の対象である単語についての下限閾値を、当該単語の読みの情報に基づいて算出するようにする。このようにすることで、選出部18の上述した動作がより適切なものとなり、発声区間内に他の人の発声音が含まれていても、認識対象者の発声音の音声認識の結果の提供がより適切なものとなる。
【0083】
本実施例では、以上のような機能構成を備える
図7の音声認識装置10を、
図2に図解したハードウェア構成を備えるコンピュータ20を用いて実現する。このためには、例えば、音声認識装置10で行われる後述の制御処理をMPU21に行わせるための制御プログラムを作成して、例えばハードディスク装置24若しくは可搬型記録媒体30に予め格納しておく。そして、MPU21に所定の指示を与えてこの制御プログラムを読み出させて実行させる。なお、単語辞書15及び音響モデル16は、例えばハードディスク装置24に予め格納しておく。あるいは、インタフェース装置27を介して接続されている外部記憶装置に単語辞書15及び音響モデル16を格納しておいてもよい。このようにすることで、
図2の各構成要素を、
図7の音声認識装置10を構成する各機能ブロックとして機能させることが可能となる。
【0084】
次に
図9について説明する。
図9は、
図7の音声認識装置10で行われる制御処理の手順を図解したフローチャートである。
【0085】
図9の処理が開始されると、まず、S301において、単語辞書15に格納されている各単語について、選出部18による単語の選出に用いる下限閾値を、その単語の読みの情報に基づいて算出する処理を閾値算出部41が行う。
【0086】
ここで、この下限閾値の算出の手法について、
図10から
図12の各図を用いて説明する。
【0087】
まず
図10について説明する。
図10は、閾値算出部41が前述の下限閾値の算出のために使用する音節閾値テーブルの例である。このテーブルは、日本語の音節の各々に、その音節についての閾値を対応付けたものである。この音節毎の閾値は、例えば、事前に収録した音声データを用いて、音節毎の音声パワーを計測してその計測値の対数値を算出し、得られた値を、その音声データ中の音声パワーの対数値の最大値で除算することによって正規化した値を用いる。
【0088】
なお、音節閾値テーブルとしては、この代わりに、例えば、音節の母音毎に、母音のパワー差に基づいた値を閾値として対応付けたテーブルを用いるようにしてもよい。すなわち、例えば、五十音におけるア段に属する音節は閾値を『0.90』とし、イ段に属する音節は『0.60』とし、ウ段に属する音節は例えば『0.70』とし、エ段に属する音節は『0.80』とし、オ段に属する音節は例えば『0.85』としてもよい。
【0089】
なお、
図2に図解したハードウェア構成を備えるコンピュータ20を用いて
図7の音声認識装置10を実現する場合には、この音節閾値テーブルは例えばハードディスク装置24に予め格納しておくようにする。
【0090】
閾値算出部41は、この音節閾値テーブルを参照して、単語の読みを表している音節列を構成している各音節についての閾値を取得し、音節毎に得られた閾値の平均値を算出し、算出された平均値を、当該単語についての下限閾値とする。
【0091】
例えば、単語『福山』についての下限閾値を算出する場合、まず、閾値算出部41は、まず、単語辞書15を参照して、この単語『福山』の読み『ふくやま』を取得する。次に、閾値算出部41は、読み『ふくやま』を音節『ふ』、『く』、『や』、及び『ま』に分解し、音節閾値テーブルを参照して、各音節についての閾値を参照する。ここでは、音節『ふ』、『く』、『や』、及び『ま』について、それぞれ閾値『0.75』、『0.70』、『0.90』、及び『0.85』が音節閾値テーブルから得られたものとする。ここで、閾値算出部41は、この4つの閾値の平均値を算出し、算出結果として、平均値『0.80』が得られる。閾値算出部41は、算出された平均値『0.80』を、単語『福山』についての下限閾値として、単語辞書15に格納する。
図11のテーブルは、各単語について、このようにして算出された下限閾値が格納された単語辞書15の一例を表している。
【0092】
なお、
図7の音声認識装置10により英単語の認識を行う場合には、閾値算出部41は、音素閾値テーブルを用いて、前述の下限閾値の算出を行う。
図12は、音素閾値テーブルの例である。このテーブルは、音素を表している発音記号の各々に、その音素についての閾値を対応付けたものである。この音素毎の閾値は、例えば、事前に収録した音声データを用いて、音素毎の音声パワーを計測してその計測値の対数値を算出し、得られた値を、その音声データ中の音声パワーの対数値の最大値で除算することによって正規化した値を用いる。
【0093】
例えば、単語『sky』についての下限閾値を算出する場合、まず、閾値算出部41は、まず、単語辞書15を参照して、この単語『sky』の発音『skai』を取得する。次に、閾値算出部41は、発音『skai』を音素『s』、『k』、『a』、及び『i』に分解し、音節閾値テーブルを参照して、各音節についての閾値を参照する。ここでは、音素『s』、『k』、『a』、及び『i』について、それぞれ閾値『0.7』、『0.8』、『0.9』、及び『0.75』が音節閾値テーブルから得られたものとする。ここで、閾値算出部41は、この4つの閾値の平均値を算出し、算出結果として、平均値『0.79』が得られ、この値が、単語『sky』についての下限閾値となる。
【0094】
また、例えば、単語『throw』についての下限閾値を算出する場合、まず、閾値算出部41は、まず、単語辞書15を参照して、この単語『throw』の発音『θrou』を取得する。次に、閾値算出部41は、発音『θrou』を音素『θ』、『r』、『o』、及び『u』に分解し、音節閾値テーブルを参照して、各音節についての閾値を参照する。ここでは、音素『θ』、『r』、『o』、及び『u』について、それぞれ閾値『0.7』、『0.7』、『0.9』、及び『0.8』が音節閾値テーブルから得られたものとする。ここで、閾値算出部41は、この4つの閾値の平均値を算出し、算出結果として、平均値『0.78』が得られ、この値が、単語『throw』についての下限閾値となる。
【0095】
なお、
図2に図解したハードウェア構成を備えるコンピュータ20を用いて
図7の音声認識装置10を実現する場合には、この音素閾値テーブルは例えばハードディスク装置24に予め格納しておくようにする。
【0096】
図7の音声認識装置10により英単語の認識を行う場合には、閾値算出部41は、この音素閾値テーブルを参照して、英単語の読みを表している音素列を構成している各音素についての閾値をまず取得する。そして、音素毎に得られた閾値の平均値を算出し、算出された平均値を、当該英単語についての下限閾値とする。
【0097】
図9の説明に戻る。S301に続くS101からS106にかけての処理は、
図3に図解したフローチャートにおけるものと同一の処理内容であるので、ここではその説明を省略する。
【0098】
S106に続くS302では、
図3のS107の処理と同様に、S106の処理により算出された単語区間に関してのSNRが所定の条件に合致するかどうかを検証する処理を選出部18が行う。但し、S302では、選出部18は、単語区間に関してのSNRが、S103の処理で算出された発声区間に関してのSNRに、S104の処理で特定された単語についてS301の処理で算出された下限閾値を乗算した値以上であるか否かを検証する処理を行う。例えば、発声区間のSNRが『7.00』であって、特定された単語が『福山』であった場合には、選出部18は、S302において、
図11に基づき、単語『福山』の単語区間のSNRが7.00×0.80=5.60以上であるか否かを検証する処理を行う。
【0099】
次に、S303では、S302の処理による検証の結果、S106の処理により算出された単語区間に関してのSNRが所定の条件に合致したか否かを判定する処理を選出部18が行う。選出部18は、ここで、単語区間に関してのSNRが所定の条件に合致したと判定したとき(判定結果がYesのとき)には、S104の処理により特定された単語を選出結果とし、その後はS109に処理を進める。一方、選出部18は、ここで、単語区間に関してのSNRが所定の条件に合致しないと判定したとき(判定結果がNoのとき)には、S104に処理を戻して、他の単語を特定する処理を照合部14に行わせる。
【0100】
S109では、
図9の処理の結果を出力する処理を出力部19が行い、その後はこの
図9の処理が終了する。このS109の処理がS108の処理に続いて行われる場合には、出力部19は、S108の処理により選出部18が選出した単語を、前述のようにして出力する。また、このS109の処理がS105の処理に続いて行われる場合には、出力部19は、音声認識の結果が得られなかった旨の通知を出力するか、若しくは、何も出力しないようにする。
【0101】
図7の音声認識装置10は、以上の制御処理を行うことで、他の人の発声音が含まれても、認識対象者の発声音のみを対象とした音声認識の結果がより適切に提供される。
【0102】
なお、
図1、
図4、及び
図7の各々の音声認識装置10において、第一算出部13は発声区間に関してのSNRを算出し、第二算出部17は単語区間に関してのSNRを算出している。この代わりに、第一算出部13が、発声区間の音声信号の平均パワーを算出するようにし、第二算出部17が、単語区間の音声信号の平均パワーを算出するようにしてもよい。なお、この場合には、選出部18は、単語区間に関しての音声信号の平均パワーについての、発声区間に関しての音声信号の平均パワーとの比較結果に基づいて、当該単語区間の発声音が表している単語を選出するようにする。
図1、
図4、及び
図7の各々の音声認識装置10をこのように構成しても、他の人の発声音が含まれても、認識対象者の発声音のみを対象とした音声認識の結果の提供が適切なものとなる。
【0103】
なお、第一算出部13は、発声区間の音声信号の平均パワーの算出を、例えば下記のようにして行ってもよい。
【0104】
すなわち、第一算出部13は、まず、発声区間を一定時間間隔のフレームに分割して各フレームの音声パワーを求める。そして、音声パワーの高い順に所定数のフレームを特定し、特定された所定数のフレームについての音声パワーの平均値を算出し、その平均値を、発声区間の音声信号の平均パワーとする。なお、この代わりに、音声パワーの高い順に各フレームを並べたときの上位の所定の割合(例えば上位10パーセント)に含まれるフレームについての音声パワーの平均値を算出し、その平均値を、発声区間の音声信号の平均パワーとするようにしてもよい。
【0105】
なお、以上までに説明した各実施形態に関し、更に以下の付記を開示する。
(付記1)
入力された音声信号の特徴量を用いて、該音声信号が表している音声に発声音が含まれている発声区間を該音声信号から検出し、
前記検出した発声区間に関しての信号対雑音比(SNR)を算出し、
前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、前記検出した発声区間についての発声音が表現している単語を特定し、
前記検出した発声区間内における、前記特定した単語についての発声音を表している単語区間に関してのSNRを算出し、
前記単語区間に関してのSNRについての前記検出した発声区間に関してのSNRとの比較結果に基づいて、該単語区間の発声音が表している単語を選出し、
前記選出した単語を出力する、
処理をコンピュータに実行させることを特徴とするプログラム。
(付記2)
前記単語区間の発声音が表している単語を選出する処理は、前記発声区間に関してのSNRに対して所定の下限閾値以上のSNRである単語区間の発声音が表している単語を選出することを特徴とする付記1に記載のプログラム。
(付記3)
前記単語区間の発声音が表している単語を選出する処理は、前記発声区間に関してのSNRに対して所定の下限閾値以上であって且つ所定の上限閾値以下のSNRである単語区間の発声音が表している単語を選出することを特徴とする付記1に記載のプログラム。
(付記4)
前記検出した発声区間についての発声音が表現している単語を特定する処理は、前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとの類似度の高さを表す照合スコアを取得し、
前記プログラムは、前記単語区間に関してのSNRと前記発声区間に関してのSNRとの比較結果に基づいて該単語区間の発声音が表している単語について前記照合スコアを取得する処理により取得した照合スコアを変更する処理を前記コンピュータに更に実行させ、
前記単語区間の発声音が表している単語を選出する処理は、該単語区間の発声音が表している単語の選出を、該単語についての照合スコアに基づいて行う、
ことを特徴とする付記1に記載のプログラム。
(付記5)
前記照合スコアを変更する処理は、前記発声区間に関してのSNRに対してSNRが所定の下限閾値に満たない単語区間の発声音が表している単語について前記照合スコアを取得する処理により取得した照合スコアを変更して、該照合スコアが表している類似度の高さを低下させることを特徴とする付記4に記載のプログラム。
(付記6)
前記単語区間の発声音が表している単語を選出する処理は、前記単語の選出に用いる下限閾値として、選出の対象である単語毎に対応付けられている下限閾値を用いて行うことを特徴とする付記2に記載のプログラム。
(付記7)
前記単語区間の発声音が表している単語を選出する処理による選出の対象である単語についての下限閾値を、該単語の読みの情報に基づいて算出する処理を前記コンピュータに更に実行させることを特徴とする付記6に記載のプログラム。
(付記8)
前記下限閾値を算出する処理は、前記単語区間の発声音が表している単語を選出する処理による選出の対象である単語についての下限閾値の算出を、該単語の読みの各音節について各々対応付けられている閾値の平均値を算出することによって行うことを特徴とする付記7に記載のプログラム。
(付記9)
前記検出した発声区間に関してのSNRを算出する処理は、前記検出した発声区間に関してのSNRの算出を、前記検出した発声区間を含む所定の区間における音声信号に関してのSNRを算出することによって行うことを特徴とする付記1から8のうちのいずれか一項に記載のプログラム。
(付記10)
入力された音声信号の特徴量を用いて、該音声信号が表している音声に発声音が含まれている発声区間を該音声信号から検出し、
前記検出した発声区間の音声信号の平均パワーを算出し、
前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、前記検出した発声区間についての発声音が表現している単語を特定し、
前記検出した発声区間内における、前記特定した単語についての発声音を表している単語区間の音声信号の平均パワーを算出し、
前記単語区間に関しての音声信号の平均パワーについての前記検出した発声区間に関しての音声信号の平均パワーとの比較結果に基づいて、該単語区間の発声音が表している単語を選出し、
前記選出した単語を出力する、
処理をコンピュータに実行させることを特徴とするプログラム。
(付記11)
入力された音声信号の特徴量を用いて、該音声信号が表している音声に発声音が含まれている発声区間を該音声信号から検出する検出部と、
前記検出した発声区間に関しての信号対雑音比(SNR)を算出する第一算出部と、
前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、前記検出した発声区間についての発声音が表現している単語を特定する照合部と、
前記検出した発声区間内における、前記特定した単語についての発声音を表している単語区間に関してのSNRを算出する第二算出部と、
前記単語区間に関してのSNRについての前記検出した発声区間に関してのSNRとの比較結果に基づいて、該単語区間の発声音が表している単語を選出する選出部と、
前記選出した単語を出力する出力部と、
を備えることを特徴とする音声認識装置。
(付記12)
前記選出部は、前記発声区間に関してのSNRに対して所定の下限閾値以上のSNRである単語区間の発声音が表している単語を選出することを特徴とする付記11に記載の音声認識装置。
(付記13)
前記選出部は、前記発声区間に関してのSNRに対して所定の下限閾値以上であって且つ所定の上限閾値以下のSNRである単語区間の発声音が表している単語を選出することを特徴とする付記11に記載の音声認識装置。
(付記14)
前記照合部は、前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとの類似度の高さを表す照合スコアを取得し、
前記音声認識装置は、前記単語区間に関してのSNRと前記発声区間に関してのSNRとの比較結果に基づいて該単語区間の発声音が表している単語について前記照合部が取得した照合スコアを変更する変更部を更に備え、
前記選出部は、該単語区間の発声音が表している単語の選出を、該単語についての照合スコアに基づいて行う、
ことを特徴とする付記11に記載の音声認識装置。
(付記15)
前記変更部は、前記発声区間に関してのSNRに対してSNRが所定の下限閾値に満たない単語区間の発声音が表している単語について前記照合部が取得した照合スコアを変更して、該照合スコアが表している類似度の高さを低下させることを特徴とする付記14に記載の音声認識装置。
(付記16)
前記選出部は、前記単語の選出に用いる下限閾値として、選出の対象である単語毎に対応付けられている下限閾値を用いて行うことを特徴とする付記12に記載の音声認識装置。
(付記17)
前記選出部による選出の対象である単語についての下限閾値を、該単語の読みの情報に基づいて算出する閾値算出部を更に備えることを特徴とする付記16に記載の音声認識装置。
(付記18)
前記閾値算出部は、前記選出部による選出の対象である単語についての下限閾値の算出を、該単語の読みの各音節について各々対応付けられている閾値の平均値を算出することによって行うことを特徴とする付記17に記載の音声認識装置。
(付記19)
前記第一算出部は、前記検出した発声区間に関してのSNRの算出を、前記検出した発声区間を含む所定の区間における音声信号に関してのSNRを算出することによって行うことを特徴とする付記11から18のうちのいずれか一項に記載の音声認識装置。
(付記20)
入力された音声信号の特徴量を用いて、該音声信号が表している音声に発声音が含まれている発声区間を該音声信号から検出する検出部と、
前記検出した発声区間の音声信号の平均パワーを算出する第一算出部と、
前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、前記検出した発声区間についての発声音が表現している単語を特定する照合部と、
前記検出した発声区間内における、前記特定した単語についての発声音を表している単語区間の音声信号の平均パワーを算出する第二算出部と、
前記単語区間に関しての音声信号の平均パワーについての前記検出した発声区間に関しての音声信号の平均パワーとの比較結果に基づいて、該単語区間の発声音が表している単語を選出する選出部と、
前記選出した単語を出力する出力部と、
を備えることを特徴とする音声認識装置。
(付記21)
入力された音声信号の特徴量を用いて、該音声信号が表している音声に発声音が含まれている発声区間を該音声信号から検出し、
前記検出した発声区間に関しての信号対雑音比(SNR)を算出し、
前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、前記検出した発声区間についての発声音が表現している単語を特定し、
前記検出した発声区間内における、前記特定した単語についての発声音を表している単語区間に関してのSNRを算出し、
前記単語区間に関してのSNRについての前記検出した発声区間に関してのSNRとの比較結果に基づいて、該単語区間の発声音が表している単語を選出し、
前記選出した単語を出力する、
ことを特徴とする音声認識方法。
(付記22)
入力された音声信号の特徴量を用いて、該音声信号が表している音声に発声音が含まれている発声区間を該音声信号から検出し、
前記検出した発声区間の音声信号の平均パワーを算出し、
前記検出した発声区間の音声信号の特徴量と複数の単語の各々についての音響モデルとを照合することによって、前記検出した発声区間についての発声音が表現している単語を特定し、
前記検出した発声区間内における、前記特定した単語についての発声音を表している単語区間の音声信号の平均パワーを算出し、
前記単語区間に関しての音声信号の平均パワーについての前記検出した発声区間に関しての音声信号の平均パワーとの比較結果に基づいて、該単語区間の発声音が表している単語を選出し、
前記選出した単語を出力する、
ことを特徴とする音声認識方法。