JP4678464B2 - 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 - Google Patents
音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 Download PDFInfo
- Publication number
- JP4678464B2 JP4678464B2 JP2001189179A JP2001189179A JP4678464B2 JP 4678464 B2 JP4678464 B2 JP 4678464B2 JP 2001189179 A JP2001189179 A JP 2001189179A JP 2001189179 A JP2001189179 A JP 2001189179A JP 4678464 B2 JP4678464 B2 JP 4678464B2
- Authority
- JP
- Japan
- Prior art keywords
- definition information
- speech
- speed
- accuracy
- hmm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、音声認識装置および音声認識方法、並びにプログラムおよび記録媒体に関し、例えば、ユーザ等の要求に応じた速度または精度の音声認識処理を行うことができるようにする音声認識装置および音声認識方法、並びにプログラムおよび記録媒体に関する。
【0002】
【従来の技術】
図1は、従来の音声認識装置の一例の構成を示している。
【0003】
ユーザが発した音声は、マイク(マイクロフォン)1に入力され、マイク1では、その入力音声が、電気信号としての音声信号に変換される。この音声信号は、AD(Analog Digital)変換部2に供給される。AD変換部2では、マイク1からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データに変換される。この音声データは、特徴抽出部3に供給される。
【0004】
特徴抽出部3は、AD変換部2からの音声データについて、適当なフレームごとに音響処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴ベクトル(特徴量)を抽出し、マッチング部4に供給する。なお、特徴抽出部3では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴量を抽出することが可能である。
【0005】
マッチング部4は、特徴抽出部3からの特徴ベクトルを用いて、音響モデルデータベース5、辞書データベース6、および文法データベース7を必要に応じて参照しながら、マイク1に入力された音声(入力音声)を、例えば、連続分布HMM法等に基づいて音声認識する。
【0006】
即ち、音響モデルデータベース5は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、例えば、HMM(Hidden Markov Model)が用いられる。辞書データベース6は、認識対象の各単語について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース7は、辞書データベース6の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0007】
マッチング部4は、辞書データベース6の単語辞書を参照することにより、音響モデルデータベース5に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部4は、幾つかの単語モデルを、文法データベース7に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルと、マイク1に入力された音声から抽出された特徴ベクトル系列とのマッチング処理を、例えば、連続分布HMM法に基づいて行い、その音声を認識する。即ち、マッチング部4は、特徴抽出部3から供給される時系列の特徴ベクトルが出力(観測)されるスコア(尤度)が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0008】
つまり、マッチング部4は、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列を、音声認識結果として出力する。
【0009】
スコア計算は、一般に、音響モデルデータベース5に記憶された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアという)と、文法データベース7に記憶された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアという)とを総合評価することで行われる。
【0010】
即ち、音響スコアとしては、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部3が出力する特徴ベクトルの系列が出力(観測)される確率(出力確率)の累積値が計算される。また、言語スコアとしては、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率が求められる。そして、各単語についての音響スコアと言語スコアとを総合評価(例えば、重み付け加算など)して得られる最終的なスコア(以下、適宜、最終スコアという)に基づいて、音声認識結果が確定される。
【0011】
以上のような処理が行われることにより、図1の音声認識装置では、例えば、ユーザが、「今日はいい天気ですね」と発話した場合には、「今日」、「は」、「いい」、「天気」、「ですね」といった各単語に、音響スコアおよび言語スコアが与えられ、それらを総合評価して得られる最終スコアが最も大きいときに、単語列「今日」、「は」、「いい」、「天気」、「ですね」が、音声認識結果として出力される。
【0012】
ところで、上述の場合において、辞書データベース6の単語辞書に、「今日」、「は」、「いい」、「天気」、および「ですね」の5単語が登録されているとすると、これらの5単語を用いて構成しうる5単語の並びは、55通り存在する。従って、単純には、マッチング部4では、この55通りの単語列を評価し、その中から、ユーザの発話に最も適合するもの(最終スコアを最も大きくするもの)を決定しなければならない。そして、単語辞書に登録する単語数が増えれば、その単語数分の単語の並びの数は、単語数の単語数乗通りになるから、評価の対象としなければならない単語列は、膨大な数となる。
【0013】
さらに、一般には、発話中に含まれる単語の数は未知であるから、5単語の並びからなる単語列だけでなく、1単語、2単語、・・・からなる単語列も、評価の対象とする必要がある。従って、評価すべき単語列の数は、さらに膨大なものとなるから、そのような膨大な単語列の中から、音声認識結果として最も確からしいものを、演算量の観点から効率的に決定することは、非常に重要な問題である。
【0014】
音声認識精度の劣化を抑えながら、計算量の低減化を図る方法としては、例えば、E.Bocchieri. Vector quantization for the efficient computation of continuous density likelihoods. In International Conference on Acoustic, Speech, and Signal Processing, volume 2, pages 692-695, Apr. 1993(以下、文献1という)、K.M.Knill, M.J.F.Gales, and S.J.Young. Use of gaussian selection in large vocabulary continuous speech recognition using hmms. In International Conference on Spoken Language Processing, volume 1, pages 470-473, Oct. 1996(以下、文献2という)、M.J.F.Gales, K.M.Knill, and S.J.Young. State-based gaussian selection in large vocabulary continuous speech recognition using hmms. In Cambridge University Technical Report, TR284, Jan. 1997(以下、文献3という)、S.M.Herman and R.A.Sukkar. Variable threshold vector quantization for reduced continuous density likelihood computation in speech recognition. In IEEE Workshop on Acoustic Speech Recognition and Understanding Proceedings, pages 331-338, Santa Babara, 1997(以下、文献4という)に記載されているように、音響スコアを構成する出力確率の計算の一部を省略する方法がある。
【0015】
即ち、例えば、連続HMM法によれば、HMMが、ある状態sにおいて、時刻tの特徴ベクトルxtを出力する出力確率bs(xt)は、次式で計算される。
【0016】
bs(xt)=Σcm×gm(xt)・・・(1)
【0017】
ここで、式(1)において、cmは、m番目の関数gm()に対する重み係数であり、関数gm()は、HMMを構成するm番目の確率密度関数(例えば、ガウス分布)である。また、Σは、変数mについてのサメーションを表す。従って、式(1)によれば、出力確率bs(xt)は、確率密度関数gm(xt)の重みcm付き和として計算される。
【0018】
重み係数cmと確率密度関数gm()は、音響モデルであるHMMを定義する情報としての定義情報のひとつであり(他の定義情報としては、例えば、HMMの状態が、ある状態から、必要に応じてその状態を含む他の状態に遷移する確率としての状態遷移確率がある)、HMMは、重み係数cmと確率密度関数gm()のセットを、1セットだけ用いて定義される場合の他、複数セット用いて定義される場合がある。
【0019】
HMMが、複数としてのNセットの重み係数c0乃至cN-1と確率密度関数g0乃至gN-1()を用いて定義される場合、式(1)の計算は、変数mを0からN−1までの整数値に変えて行う必要がある。
【0020】
しかしながら、HMMを定義するN個の確率密度関数g0(xt),g1(xt),・・・,gN-1(xt)の中には、出力確率bs(xt)、ひいては音響スコアに寄与する大きさ(程度)(以下、適宜、寄与度という)が非常に小さいもの(ほとんど寄与しないもの)が存在する場合がある。
【0021】
そこで、文献1乃至4に記載の方法では、寄与度が非常に小さい確率密度関数gm()について、式(1)の計算から省略することで、音声認識精度の劣化を抑えながら、計算量の低減化を図るようになっている。
【0022】
具体的には、例えば、図2に示すような、特徴ベクトル空間の所定の部分空間ごとに、その部分空間に属する特徴ベクトルxtの出力確率bs(xt)の計算に用いる1以上の確率密度関数gm()を対応付けた表(以下、適宜、計算対象関数表という)が作成され、ある部分空間に属する特徴ベクトルxtの出力確率bs(xt)の計算は、N個の確率密度関数g0()乃至gN-1()のうち、計算対象関数表において、特徴ベクトルxtが属する部分空間に対応付けられているものだけを用いて行われる。
【0023】
この場合、一部の確率密度関数の計算を省くことができるので、演算量が低減され、さらに、音声認識処理の速度を向上させることができる。また、計算が省かれる確率密度関数は、スコアbs(xt)に対する寄与度がほとんどないものであるから、その計算の省略による音声認識精度の劣化を抑えることができる。
【0024】
ここで、図2の計算対象関数表において(後述する図6乃至図9においても同様)、特徴ベクトル空間は、Y0,Y1,・・・,Y511の512の部分空間に分割されている。
【0025】
また、計算対象関数表では、部分空間ごとではなく、特徴ベクトルxtごとに、その特徴ベクトルxtの出力確率bs(xt)の計算に用いる1以上の確率密度関数gm()を対応付けておくのが理想的であるが、そうすると、特徴ベクトルxtは連続量であることから、計算対象関数表を作成することができなくなるため、計算対象関数表は、部分空間ごとに、確率密度関数gmを対応付ける形で作成される。
【0026】
図2の計算対象関数表によれば、例えば、部分空間Y0に属する特徴ベクトルxtの出力確率bs(xt)は、式bs(xt)=c0g0(xt)+c1g1(xt)+c5g5(xt)+c15g15(xt)によって計算されることになる。
【0027】
一方、HMMを定義する確率密度関数gm()の総数Nを、例えば、16とすると、式(1)をそのまま採用する場合には、特徴ベクトルxtの出力確率bs(xt)は、式bs(xt)=c0g0(xt)+c1g1(xt)+・・・+c15g15(xt)によって計算されることになる。
【0028】
従って、式(1)をそのまま用いる場合には、16の確率密度関数について演算を行う必要があるが、計算対象関数表を用いる場合には、4つの確率密度関数について演算を行えば済むことになり、大幅に演算量を低減することができる。
【0029】
なお、計算対象関数表を用いる場合には、特徴ベクトルxtが、512の部分空間Y0乃至Y511のうちのいずれに属するかを検出する必要があるが、この部分空間の検出方法としては、例えば、ベクトル量子化を用いることができる。
【0030】
【発明が解決しようとする課題】
上述のように、計算対象関数表を用いることにより、音響スコア(出力確率)を求めるための演算量を低減し、音声認識精度の低下を抑えながら、音声認識処理速度を向上させることができる。
【0031】
しかしながら、例えば、音声認識処理に割り当てられるリソースが少なくなった場合であっても、リアルタイムでの音声認識処理が要求されるときには、多少の音声認識精度の劣化があったとしても、音声認識処理速度を向上させること、即ち、演算量をリソースにあわせて少なくすることが望ましい。
【0032】
これは、リアルタイムでの音声認識処理が要求される場合には、その後に、その音声認識結果に基づいて処理が行われることが一般的であり、従って、リアルタイムで音声認識結果が得られない場合には、その後の処理に支障をきたすこととなるからである。
【0033】
一方、例えば、音声認識処理に割り当て可能なリソースが十分ある場合には、その十分なリソースによって、多くの演算を行い、精度の高い音声認識処理をリアルタイムで得ることができる。即ち、この場合、音声認識処理速度を低下させても、精度の高い音声認識結果をリアルタイムで得ることができる。従って、リソースが十分な場合には、その十分なりソースを使用して、精度の高い音声認識処理を行うのが、リソースの有効利用の観点からは望ましい。
【0034】
本発明は、このような状況に鑑みてなされたものであり、要求に応じた速度や精度の音声認識処理を行うことができるようにするものである。
【0035】
【課題を解決するための手段】
本発明の一側面の音声認識装置、プログラム、又は、記録媒体は、音声を認識する音声認識装置であって、前記音声の特徴量を抽出する抽出手段と、前記音声の特徴量が、その特徴量空間において属する部分空間を検出する検出手段と、前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段と、前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報を選択する選択手段と、前記選択手段において選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアを求め、そのスコアに基づいて、前記音声の音声認識結果を出力するマッチング手段とを備え、前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、前記選択手段は、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報を、前記定義情報がスコアに寄与する大きさに対応する順番で選択する音声認識装置、そのような音声認識装置として、コンピュータを機能させるためのプログラム、又は、そのようなプログラムが記録されている記録媒体である。
【0036】
本発明の一側面の音声認識方法は、音声を認識する音声認識装置の音声認識方法であって、前記音声認識装置が、前記音声の特徴量を抽出する抽出ステップと、前記音声の特徴量が、その特徴量空間において属する部分空間を検出する検出ステップと、前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段における、前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報を選択する選択ステップと、前記選択ステップにおいて選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアを求め、そのスコアに基づいて、前記音声の音声認識結果を出力するマッチングステップとを備え、前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、前記選択ステップでは、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報を、前記定義情報がスコアに寄与する大きさに対応する順番で選択する音声認識方法である。
【0039】
本発明の一側面においては、前記音声の特徴量が抽出され、前記音声の特徴量が、その特徴量空間において属する部分空間が検出される。さらに、前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段における、前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報が選択される。そして、その選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアが求められ、そのスコアに基づいて、前記音声の音声認識結果が出力される。前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、その定義情報の選択では、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報が、前記定義情報がスコアに寄与する大きさに対応する順番で選択される。
【0040】
【発明の実施の形態】
図3は、本発明を適用した音声認識装置の一実施の形態の構成例を示している。なお、図中、図1における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図3の音声認識装置は、マッチング部4に代えて、マッチング部11が新たに設けられている他は、図1における場合と同様に構成されている。
【0041】
図4は、図3のマッチング部11の構成例を示している。
【0042】
特徴抽出部3(図3)が出力する時系列の特徴ベクトルは、部分空間検出部21とスコア計算部25に供給されるようになっている。
【0043】
部分空間検出部21は、部分空間データ記憶部22を参照することにより、そこに供給される特徴ベクトルが、その特徴ベクトル空間において属する部分空間を検出し、その部分空間を表す部分空間情報を、計算対象関数選択部23に供給する。
【0044】
部分空間データ記憶部22は、部分空間検出部21が、特徴ベクトルが属する部分空間を検出するのに必要な情報としての部分空間データを記憶している。
【0045】
ここで、部分空間検出部21においては、例えば、ベクトル量子化によって、特徴ベクトルが属する部分空間を検出するようにすることができ、この場合、部分空間データ記憶部22においては、部分空間データとして、そのベクトル量子化に用いられるコードブックが記憶される。
【0046】
なお、コードブックは、多数の音声データを用い、コードブック学習用のアルゴリズムの1つである、例えば、LBG(Linde Buzo Gray)アルゴリズム等によって学習を行うことにより作成することが可能である。
【0047】
コードブックには、特徴ベクトル空間を幾つかの部分空間(本実施の形態では、前述したように、512の部分空間であるとする)に分割したときの各部分空間の代表のベクトルとしてのコードベクトルと、そのコードベクトルを表すコードとが登録されている。従って、特徴ベクトル空間を、例えば、512の部分空間に分割した場合には、コードブックには、512のコードベクトルと対応するコードが登録されている。
【0048】
部分空間検出部21は、特徴ベクトルと、コードブックに登録された512のコードベクトルそれぞれとの距離を計算し、その距離を最も短くするコードベクトルを検出する。そして、部分空間検出部21は、そのコードベクトルを代表のベクトルとする部分空間が、特徴ベクトルが属する部分空間であるとして、その検出したコードベクトルに対応するコードを、特徴ベクトルが属する部分空間を表す部分空間情報として出力する。
【0049】
計算対象関数選択部23は、部分空間検出部21からの部分空間情報に基づき、計算対象関数表記憶部24に記憶された計算対象関数表(定義情報テーブル)を参照することで、特徴ベクトルを用いた音響スコア(出力確率)の計算に用いる、音響モデル(ここでは、前述したように、HMM)を定義する確率密度関数等を選択する。
【0050】
即ち、計算対象関数選択部23には、部分空間検出部21から部分空間情報が供給される他、速度/精度設定部27から、速度/精度情報も供給されるようになっている。
【0051】
計算対象関数選択部23は、計算対象関数表記憶部24に記憶された計算対象関数表において、部分空間検出部21からの部分空間情報が表す部分空間に対応付けられている確率密度関数等から、速度/精度設定部27から供給される速度/精度設定情報に基づき、1以上の確率密度関数等を選択する。そして、計算対象関数選択部23は、その選択した確率密度関数等を表す選択情報を、スコア計算部25に供給する。
【0052】
計算対象関数表記憶部24は、特徴ベクトル空間の複数の部分空間それぞれごとに、音響モデルデータベース5に記憶された音響モデルを定義する1以上の確率密度関数等を対応付けた計算対象関数表を記憶している。
【0053】
スコア計算部25は、特徴抽出部3から供給される特徴ベクトルを用いて、音響モデルデータベース5に記憶された音響モデル、辞書データベース6に記憶された単語辞書、および文法データベース7に記憶された文法規則を必要に応じて参照し、音声認識結果の候補(以下、適宜、仮説という)を構成しながら、各仮説について、前述したようなHMM法に基づく音響スコアと、言語スコアを計算する。
【0054】
但し、スコア計算部25は、音響スコアについては、音響モデルを定義する確率密度関数すべてではなく、計算対象関数選択部23から供給される選択情報が表す確率密度関数等を用いて、特徴ベクトルxtの出力確率bs(xt)を求め、その出力確率に基づいて、音響スコアを求める。
【0055】
スコア計算部25において求められた音響スコアおよび言語スコアは、出力選択部26に供給され、出力選択部26は、各仮説について得られた音響スコアおよび言語スコアを総合評価して最終スコアを得て、例えば、その最終スコアを最も大きくする仮説を選択し、音声認識結果として出力する。
【0056】
速度/精度設定部27は、操作レバー28の操作にしたがい、音声認識処理の速度または精度を設定し、その設定した速度または精度を表す速度/精度情報を、計算対象関数選択部23に供給する。
【0057】
操作レバー28は、ユーザが、音声認識処理の速度または精度を指定するときに操作され、その操作に対応する操作信号を、速度/精度設定部27に供給する。
【0058】
従って、 速度/精度設定部27では、ユーザの要求にしたがって、音声認識処理の速度または精度が設定される。
【0059】
ここで、操作レバー28は、物理的なレバーとして構成することもできるし、画面上に表示される仮想的なレバーとして構成することもできる。操作レバー28が、物理的なレバーとして構成される場合には、操作レバー28は、ユーザが実際に掴んで操作することになる。また、操作レバー28が仮想的なレバーとして構成される場合は、操作レバー28は、ユーザがマウスでドラッグ等して操作することになる。
【0060】
なお、図4の実施の形態においては、より低速または高精度の音声認識処理を要求する場合には、操作レバー28は左方向に操作され、逆に、より高速または低精度の音声認識処理を要求する場合には、操作レバー28は右方向に操作されるようになっている。
【0061】
次に、図5のフローチャートを参照して、図4のマッチング部11で行われるマッチング処理について説明する。
【0062】
ユーザが発話を行い、これにより、特徴抽出部3が、その音声の特徴ベクトルの出力を開始すると、マッチング部11は、マッチング処理を開始する。
【0063】
即ち、特徴抽出部3が出力する時系列の特徴ベクトルは、部分空間選択部21とスコア計算部25に供給され、部分空間検出部21は、ステップS1において、部分空間データ記憶部22を参照し、特徴抽出部3からの特徴ベクトルxtが属する部分空間を検出する。そして、部分空間検出部21は、その部分空間を表す部分空間情報を、計算対象関数選択部23に供給し、ステップS2に進む。
【0064】
ステップS2では、計算対象関数選択部23が、計算対象関数表記憶部24に記憶された計算対象関数表において、部分空間検出部21からの部分空間情報が表す部分空間に対応付けられている確率密度関数等から、1以上の確率密度関数等を、必要に応じて速度/精度設定部27からの速度/精度設定情報に基づいて選択し、その選択した確率密度関数等を表す選択情報を、スコア計算部25に供給する。
【0065】
スコア計算部25は、ステップS3において、辞書データベース6の単語辞書に記憶された単語について、計算対象関数選択部23から供給される選択情報が表す、音響モデルデータベース5の音響モデルを定義する確率密度関数等を用いて、特徴ベクトルxtの出力確率bs(xt)を求め、その出力確率に基づいて、音響スコアを求めるとともに、文法データベース7の文法規則を参照することで、言語スコアを求める。さらに、スコア計算部25は、その音響スコアおよび言語スコアに基づき、必要に応じて、仮説(音声認識結果の候補)を生成して、ステップS4に進む。
【0066】
ステップS4では、ユーザが発話を行った音声区間の終点までについて、音響スコアと言語スコアの計算が終了したかどうかが判定され、終了していないと判定された場合、ステップS1に戻り、次の特徴ベクトルを対象に、以下、同様の処理が繰り返される。なお、音響スコアおよび言語スコアの計算は、必要に応じて、ビームサーチ法による枝狩りをしながら行われる。
【0067】
また、ステップS4において、ユーザが発話を行った音声区間の終点までについて、音響スコアと言語スコアの計算が終了したと判定された場合、ステップS5に進み、出力選択部26は、1以上の仮説について得られた音響スコアおよび言語スコアを総合評価して最終スコアを得て、例えば、その最終スコアを元も大きくする仮説を選択し、音声認識結果として出力して、マッチング処理を終了する。
【0068】
次に、図6乃至図9を参照して、図4の計算対象関数表記憶部24に記憶される計算対象関数表について説明する。なお、以下においては、例えば、特徴ベクトル空間は512の部分空間Y0乃至Y511に分割されており、音響モデルデータベース5に記憶された音響モデルとしてのHMMは、16の確率密度関数g0()乃至g15()で定義されるものとする。
【0069】
図4のマッチング部11では、基本的には、上述したように、計算対象関数表記憶部24に記憶された計算対象関数表において、部分空間検出部21が出力する部分空間情報が表す部分空間(特徴ベクトルxtが属する部分空間)に対応付けられている確率密度関数等から、1以上の確率密度関数等が、速度/精度情報に基づいて選択され、その確率密度関数等を用いて、特徴ベクトルxtの出力確率bs(xt)が求められるが、この出力確率bs(xt)は、計算対象関数表において、特徴ベクトルxtが属する部分空間に対応付けられている確率密度関数等すべてを用いて計算することも可能である。
【0070】
即ち、マッチング部11では、出力確率bs(xt)を、特徴ベクトルxtが属する部分空間に対応付けられている確率密度関数等から選択したものを用いて計算することも可能であるし、また、特徴ベクトルxtが属する部分空間に対応付けられている確率密度関数等すべてを用いて計算することも可能である。
【0071】
いま、出力確率bs(xt)を、特徴ベクトルxtが属する部分空間に対応付けられている確率密度関数等から選択したものを用いて計算するモードを、選択可能モードというとともに、出力確率bs(xt)を、特徴ベクトルxtが属する部分空間に対応付けられている確率密度関数等すべてを用いて計算するモードを、選択不可能モードというものとすると、選択不可能モードでは、例えば、図6に示すような計算対象関数表が用いられる。
【0072】
即ち、図6の計算対象関数表では、512の部分空間Y0乃至Y511それぞれに、その部分空間Yj(j=0,1,・・・,511)に属する特徴ベクトルxtの出力確率bs(xt)の計算に用いる確率密度関数のリスト{gm}、またはフロア値が対応付けられている。
【0073】
図6の計算対象関数表が用いられる場合、計算対象関数選択部23は、確率密度関数{gm}が対応付けられている部分空間Yjを表す部分空間情報を、部分空間検出部21から受信したときには、その部分空間Yjに対応付けられている確率密度関数{gm}すべてを選択し、その確率密度関数{gm}すべてを表す選択情報を、スコア計算部25に供給する。
【0074】
スコア計算部25では、選択情報が表す確率密度関数を用いて、出力確率bs(xt)が計算される。従って、この場合、スコア計算部25では、前述の図2で説明した場合と同様にして、出力確率bs(xt)が計算される。
【0075】
ところで、図6の計算対象関数表では、部分空間Yjに対して、特徴ベクトルxtの出力確率bs(xt)の計算に用いる確率密度関数{gm}が対応付けられている場合の他、フロア値が対応付けられている場合がある。
【0076】
フロア値は、それが対応付けられている部分空間Yjに属する特徴ベクトルの出力確率の最小値を表す固定の値であり、フロア値が対応付けられている部分空間Yjに属する特徴ベクトルの出力確率は、そのフロア値とされる。
【0077】
即ち、計算対象関数選択部23は、フロア値が対応付けられている部分空間Yjを表す部分空間情報を、部分空間検出部21から受信したときには、その部分空間Yjに対応付けられているフロア値を選択し、そのフロア値を表す選択情報を、スコア計算部25に供給する。
【0078】
スコア計算部25では、選択情報がフロア値を表す場合、そのフロア値を、出力確率bs(xt)とする。
【0079】
従って、この場合、出力確率は、確率密度関数を用いた計算を行うことなく求めることができるので、演算量を削減することができる。
【0080】
即ち、図6の計算対象関数表においては、部分空間Yjに対して、確率密度関数{gm}が対応付けられている場合と、フロア値が対応付けられている場合とがあり、フロア値が対応付けられている部分空間Yjに属する特徴ベクトルxtの出力確率bs(xt)を求めるにあたっては、確率密度関数を計算する必要はないから、図2に示したように、すべての部分空間に対して、確率密度関数が対応付けられている計算対象関数表を用いる場合に比較して、より演算量を削減することができる。
【0081】
なお、図6の計算対象関数表においては、部分空間Y3に対して、フロア値「−30.0」が対応付けられているが、このフロア値は、出力確率の対数をとった値としてある。後述する図7乃至図9の実施の形態に示したあるフロア値も同様である。
【0082】
また、選択不可能モードにおいては、図6の計算対象関数表の他、図7に示すような計算対象関数表を用いることも可能である。
【0083】
即ち、図7の計算対象関数表は、図6の計算対象関数表に対して、各部分空間Yjに対応付けられている確率密度関数の個数を追加したものとなっている。図7の計算対象関数表を用いる場合には、計算対象関数選択部23が出力する選択情報に、特徴ベクトルが属する部分空間Yjに対応付けられている個数を含めることができ、この場合、スコア計算部25において、出力確率を求めるのにあたって計算しなければならない確率密度関数の個数を、即座に認識することができる。
【0084】
なお、計算対象関数表に登録される確率密度関数は、出力確率に対する寄与度が大きいものであり、従って、図6や図7の計算対象関数表において、部分空間Y3に対して、確率密度関数が登録されていないのは、音響モデルを定義する確率密度関数g0()乃至g15()それぞれの、部分空間Y3に属する特徴ベクトルの出力確率に対する寄与度が、相対的に差がないためである。また、部分空間Y3に属する任意の特徴ベクトルについては、音響モデルを定義する16の確率密度関数g0()乃至g15()を用いて計算される出力確率(の対数をとったもの)が−30程度であり、従って、出力確率を−30.0の固定値としても、精度のよい近似が可能であるため、図6や図7の計算対象関数表の部分空間Y3については、出力確率が−30.0の固定値とされている。
【0085】
次に、図8は、選択可能モードの場合に、計算対象関数表記憶部24に記憶される計算対象関数表の一実施の形態の構成例を示している。
【0086】
図8の計算対象関数表においては、各部分空間Yjに、確率密度関数{gm}またはフロア値の他、出力確率(ひいては音響スコア)の計算に用いる確率密度関数の個数(以下、適宜、計算個数という)が複数対応付けられている。
【0087】
即ち、図8の実施の形態においては、例えば、部分空間Y0に対して、フロア値「−29.0」、確率密度関数{g5(),g1(),g15(),g0()}、計算個数{0,1,4}が対応付けられている。また、例えば、部分空間Y1に対して、フロア値「−45.0」、確率密度関数{g0(),g1(),g17(),g8(),g3(),g10()}、計算個数{0,3,6}が対応付けられている。さらに、部分空間Y2に対して、フロア値「−20.0」、確率密度関数{g2(),g6(),g4()}、計算個数{0,3,3}が対応付けられている。また、部分空間Y3に対して、フロア値「−30.0」、計算個数{0,0,0}が対応付けられている。以下、同様にして、部分空間Y4乃至Y510にも、フロア値または確率密度関数{gm}と、計算個数が対応付けられており、最後の部分空間Y511に対して、フロア値「−40.0」、確率密度関数{g15()}、計算個数{0,0,1}が対応付けられている。
【0088】
図8の計算対象関数表が用いられる場合、計算対象関数選択部23は、まず、部分空間検出部21から供給される部分空間情報に基づき、計算対象関数表において、ベクトルxtが属する部分空間Yjのエントリ(行)を選択する。いま、このようにして、部分空間情報に基づき、計算対象関数表から選択された部分空間Yjのエントリを、選択エントリというものとすると、さらに、計算対象関数選択部23は、選択エントリにおける複数の計算個数から、速度/精度設定部27から供給される速度/精度情報に対応するものを選択する。
【0089】
即ち、計算対象関数表の各エントリにおける複数の計算個数それぞれは、計算対象関数選択部23に選択させる確率密度関数の個数を表しており、音声認識処理に要求される速度または精度に基づいて登録されている。
【0090】
具体的には、例えば、いま、音声認識処理について、「高速/低精度」、「中速/中精度」、「低速/高精度」の3つの速度または精度の設定が可能であるとすると、図8の実施の形態では、計算対象関数表の各エントリに、3つの計算個数が登録されているが、この3つの計算個数のうち、最も左側の計算個数は、「高速/低精度」の速度または精度が設定されたときに、左から2番目の計算個数は、「中速/中精度」の速度または精度が設定されたときに、最も右側の計算個数は、「低速/高精度」の速度または精度が設定されたときに、それぞれ選択される。
【0091】
従って、図8の実施の形態において、速度/精度設定部27から供給される速度/精度情報が、「高速/低精度」を表す場合には、計算対象関数選択部23では、部分空間Y0乃至Y511のエントリそれぞれに登録されている3つの計算個数のうち、最も左側にある0,0,0,0,・・・,0が選択される。また、速度/精度情報が、「中速/中精度」を表す場合には、計算対象関数選択部23では、部分空間Y0乃至Y511のエントリそれぞれに登録されている3つの計算個数のうち、左から2番目にある1,3,3,0,・・・,0が選択される。さらに、速度/精度情報が、「低速/高精度」を表す場合には、計算対象関数選択部23では、部分空間Y0乃至Y511のエントリそれぞれに登録されている3つの計算個数のうち、最も右側にある4,6,3,0,・・・,1が選択される。
【0092】
以上から、特徴ベクトルxtが、例えば、部分空間Y0に属するとした場合、計算対象関数選択部23は、その部分空間Y0のエントリを選択エントリとする。さらに、速度/精度設定部27から供給される速度/精度情報が、「高速/低精度」を表す場合には、計算対象関数選択部23は、選択エントリに登録されている3つの計算個数「0,1,4」のうちの最も左側の「0」を選択する。また、計算対象関数選択部23は、速度/精度情報が「中速/中精度」を表す場合には、選択エントリに登録されている3つの計算個数「0,1,4」のうちの左から2番目の「1」を選択し、速度/精度情報が「低速/高精度」を表す場合には、選択エントリに登録されている3つの計算個数「0,1,4」のうちの最も右側の「4」を選択する。
【0093】
いま、上述のようにして、選択エントリに登録されている複数の計算個数から選択されたものを、選択計算個数というものとすると、計算対象関数選択部23は、選択エントリから、選択計算個数だけの確率密度関数を選択する。
【0094】
従って、例えば、図8において、部分空間Y0のエントリが選択エントリとされた場合において、選択計算個数が、「0」、「1」、「4」とされたときには、計算対象関数選択部23は、部分空間Y0に登録されている確率密度関数から、0,1,4個を選択する。
【0095】
ここで、選択エントリからの確率密度関数の選択は、次のようにして行われる。
【0096】
即ち、選択計算個数が、「0」の場合は、選択エントリからは、確率密度関数は選択されず、フロア値が選択される。また、選択計算個数が、「0」以外の値である場合には、選択エントリからは、そこに登録されている1以上の確率密度関数のうちの、左から、選択計算個数分だけの確率密度関数が選択される。
【0097】
従って、図8において、部分空間Y0のエントリが選択エントリとされた場合において、選択計算個数が、「0」とされたときには、計算対象関数選択部23は、部分空間Y0のエントリに登録されているフロア値「−29.0」を選択する。また、選択計算個数が、「1」とされたときには、計算対象関数選択部23は、部分空間Y0のエントリに登録されている確率密度関数{g5(),g1(),g15(),g0()}のうちの、左から1つだけ、即ち、{g5()}を選択する。さらに、選択計算個数が、「4」とされたときには、計算対象関数選択部23は、部分空間Y0に登録されている確率密度関数{g5(),g1(),g15(),g0()}のうちの、左から4つ、即ち、部分空間Y0に登録されている確率密度関数の全部{g5(),g1(),g15(),g0()}を選択する。
【0098】
そして、計算対象関数選択部23は、その選択したフロア値または確率密度関数を表す選択情報を、スコア計算部25に供給する。
【0099】
ここで、図8の計算対象関数表においては、部分空間Y3のエントリにおける3つの計算個数は、いずれも「0」となっている。従って、部分空間Y3のエントリが選択エントリとされた場合には、速度/精度情報が、「高速/低精度」、「中速/中精度」、「低速/高精度」のうちのいずれを表すときであっても、選択計算個数は「0」であり、従って、計算対象関数選択部23では、フロア値「−30.0」が選択されることになる。
【0100】
以上から、特徴ベクトルxtが、例えば、部分空間Y0に属する場合において、速度/精度情報が「高速/低精度」に設定されている「高速/低精度」モードでは、スコア計算部25において、特徴ベクトルxtの出力確率bs(xt)は、フロア値「−29.0」とされる。従って、この場合、出力確率bs(xt)は、確率密度関数を用いた計算をせずに求められるから、精度は落ちるが、高速な処理が可能となる。
【0101】
また、速度/精度情報が「中速/中精度」に設定されている「中速/中精度」モードでは、スコア計算部25において、特徴ベクトルxtの出力確率bs(xt)は、1の確率密度関数g5(xt)を計算し、さらに、前述の式(1)に基づき、その重み付け値c5g5(xt)を計算することによって求められる。従って、この場合、出力確率bs(xt)は、1つの確率密度関数g5(xt)を用いた計算によって求められるから、「高速/低精度」モードの場合に比較して、処理速度は低下するが、精度は向上することになる。
【0102】
さらに、速度/精度情報が「低速/高精度」に設定されている「低速/高精度」モードでは、スコア計算部25において、特徴ベクトルxtの出力確率bs(xt)は、4つの確率密度関数g5(xt),g1(xt),g15(xt),g0(xt)を計算し、さらに、前述の式(1)に基づき、その重み付け和c5g5(xt)+c1g1(xt)+c15g15(xt)+c0g0(xt)を計算することによって求められる。従って、この場合、出力確率bs(xt)は、4つの確率密度関数g5(xt),g1(xt),g15(xt),g0(xt)を用いた計算によって求められるから、「高速/低精度」モードの場合に比較して、処理速度はさらに低下するが、精度はさらに向上することになる。
【0103】
図4のマッチング部11では、速度/精度情報は、ユーザによって操作される操作レバー28にしたがって設定されるようになっており、従って、ユーザの要求に応じた速度や精度での音声認識処理が可能となる。
【0104】
なお、計算対象関数表のエントリに、複数の確率密度関数を登録する場合には、その複数の確率密度関数gm()は、例えば、そのサフィックスmの昇順や降順に並べても良いが、図8の実施の形態においては、計算対象関数表のエントリに登録されている複数の確率密度関数は、出力確率(ひいては、音響スコア)に対する寄与度が大きい順に並べられている(最も左の確率密度関数が、出力確率に対する寄与度が最も大きいものとなっている)。
【0105】
従って、この場合、計算対象関数選択部23では、出力確率(ひいては、音響スコア)に対する寄与度が大きい確率密度関数が優先的に選択されることになり、スコア計算部25でも、そのような確率密度関数が優先的に用いて、出力確率(ひいては、音響スコア)が計算されることになるので、計算対象関数表に基づき、一部の確率密度関数の計算を省略することによって生じる出力確率(音響スコア)の誤差を、最小限に抑えることができる。
【0106】
なお、図8の実施の形態では、計算対象関数表の各エントリに、「高速/低精度」モード、「中速/中精度」モード、および「低速/高精度」モードの3つの速度/精度モードそれぞれに対する3つの計算個数を登録するようにしたが、計算対象関数表の各エントリには、計算個数ではなく、そのエントリに登録されている確率密度関数の総数を設定し、計算対象関数選択部23において、速度/精度情報に基づき、0から確率密度関数の総数までの範囲(以下、適宜、選択範囲という)の整数値から、計算個数を選択するようにすることが可能である。
【0107】
即ち、例えば、図8の計算対象関数表の部分空間Y0のエントリには、4つの確率密度関数{g5(),g1(),g15(),g0()}が登録されているから、選択範囲は0乃至4で、選択範囲内の整数値としては、0,1,2,3,4の5つを取り得るから、計算個数も、その5つの整数値から選択される。
【0108】
この場合、図4の操作レバー28の可動範囲を、左端付近、左端と中心の中間付近、中心付近、中心と右端の中間付近、右端付近の5つの範囲に分けて、操作レバー28が、その5つの範囲それぞれに位置するときは、計算対象関数選択部23において、計算個数として、0,1,2,3,4をそれぞれ選択するようにすることができる。
【0109】
この場合、スコア計算部25では、操作レバー28が、左端付近に位置するときには、4つの確率密度関数{g5(),g1(),g15(),g0()}のうちの0個、即ち、フロア値を用いて、出力確率が求められることになる。また、操作レバー28が、左端と中心の中間付近に位置するときには、4つの確率密度関数{g5(),g1(),g15(),g0()}のうちの、出力確率に対する寄与度が最も高い1つの確率密度関数g5()を計算することによって、出力確率が求められることになる。さらに、操作レバー28が、中心付近に位置するときには、4つの確率密度関数{g5(),g1(),g15(),g0()}のうちの、出力確率に対する寄与度が最も高い確率密度関数g5()と2番目に高い確率密度関数g1()の2つを計算することによって、出力確率が求められることになる。また、操作レバー28が、中心と右端の中間付近に位置するときには、4つの確率密度関数{g5(),g1(),g15(),g0()}のうちの、出力確率に対する寄与度が高い順に3つの確率密度関数g5(),g1(),g15()を計算することによって、出力確率が求められることになる。さらに、操作レバー28が、右端付近に位置するときには、4つの確率密度関数g5(),g1(),g15(),g0()すべてを計算することによって、出力確率が求められることになる。
【0110】
従って、この場合、5段階の速度または精度での音声認識処理が可能となる。
【0111】
なお、上述のように、操作レバー28の位置に応じて、出力確率の計算に用いる確率密度関数を選択する場合には、計算対象関数表の各部分空間のエントリには、音響モデルを定義する16の確率密度関数g0()乃至g15()すべてを、寄与度の高い順に登録しておくことが可能である。
【0112】
次に、図9は、選択可能モードの場合に、計算対象関数表記憶部24に記憶される計算対象関数表の他の実施の形態の構成例を示している。
【0113】
図9の実施の形態においては、計算対象関数表記憶部24には、高速/低精度用計算対象関数表(図9(A))と、低速/高精度用計算対象関数表(図9(B))の2つの計算対象関数表が、計算対象関数表記憶部24に記憶されるようになっており、計算対象関数選択部23は、速度/精度設定部27から供給される速度/精度情報に基づき、高速/低精度用計算対象関数表または低速/高精度用計算対象関数表のうちのいずれか一方を選択し、その選択した計算対象関数表を参照して、確率密度関数またはフロア値を選択する。
【0114】
即ち、速度/精度設定部27は、操作レバー28が左側に位置する場合は、低速または高精度の音声認識処理を行うことを設定し、その旨の速度/精度情報を、計算対象関数選択部23に供給する。この場合、計算対象関数選択部23では、低速/高精度用計算対象関数表(図9(B))が選択される。一方、速度/精度設定部27は、操作レバー28が右側に位置する場合は、高速または低精度の音声認識処理を行うことを設定し、その旨の速度/精度情報を、計算対象関数選択部23に供給する。この場合、計算対象関数選択部23では、高速/低精度用計算対象関数表(図9(A))が選択される。
【0115】
図9の実施の形態において、低速/高精度用計算対象関数表(図9(B))における各エントリに登録されている確率密度関数は、基本的に、高速/低精度用計算対象関数表(図9(A))において、対応するエントリに登録されている確率密度関数に対して、0以上の確率密度関数を加えたものとなっている。
【0116】
従って、低速/高精度用計算対象関数表を参照して、確率密度関数等(確率密度関数またはフロア値)を選択する場合には、高速/低精度用計算対象関数表を参照して、確率密度関数等を選択する場合に比較して、出力確率の計算に要する演算量が多くなるので、処理速度が低速にはなるが、精度の高い音声認識結果が得られる。
【0117】
また、逆に、高速/低精度用計算対象関数表を参照して、確率密度関数等を選択する場合には、低速/高精度用計算対象関数表を参照して、確率密度関数等を選択する場合に比較して、精度は劣化するかもしれないが、出力確率の計算に要する演算量が少なくなるので、処理速度を高速化することができる。
【0118】
なお、図9の実施の形態においても、計算対象関数表には、確率密度関数を、出力確率に対する寄与度が高い順に登録することができ、さらに、操作レバー28の位置に応じて、計算対象関数表から選択する確率密度関数の個数を変化させるようにすることができる。
【0119】
即ち、例えば、操作レバー28が左側に位置する場合は、低速/高精度用計算対象関数表(図9(B))を選択し、さらに、操作レバー28が、どの程度左側に位置するかによって、低速/高精度用計算対象関数表から選択する確率密度関数の個数を変化させることができる。また、操作レバー28が右側に位置する場合は、高速/低精度用計算対象関数表(図9(A))を選択し、さらに、操作レバー28が、どの程度右側に位置するかによって、高速/低精度用計算対象関数表から選択する確率密度関数の個数を変化させることができる。この場合、音声認識処理の速度または精度について、より細かな制御を行うことが可能となる。
【0120】
また、図9の実施の形態においては、計算対象関数表記憶部24に、2つの計算対象関数表を記憶させるようにしたが、計算対象関数表記憶部24には、その他、音声認識処理に要求される速度または精度に応じて、登録されている確率密度関数の数が異なる3以上の計算対象関数表を記憶させておき、計算対象関数選択部23においては、その3以上の計算対象関数表から、速度/精度情報に基づいて、参照する計算対象関数表を選択するようにすることが可能である。
【0121】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0122】
そこで、図10は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【0123】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
【0124】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
【0125】
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
【0126】
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
【0127】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0128】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0129】
なお、図3に示した音声認識装置は、例えば、音声によってデータベースの検索を行う場合や、各種の機器の操作を行う場合、各機器へのデータ入力を行う場合、音声対話システム等に適用可能である。より具体的には、例えば、音声による地名の問合せに対して、対応する地図情報を表示するデータベース検索装置や、音声による命令に対して、荷物の仕分けを行う産業用ロボット、キーボードの代わりに音声入力によりテキスト作成を行うディクテーションシステム、ユーザとの会話を行うロボットにおける対話システム等に適用可能である。
【0130】
また、本実施の形態では、速度/精度設定部27において、ユーザによる操作レバー28の操作に応じて、音声認識処理の速度または精度を設定するようにしたが、音声認識処理の速度または精度は、その他、例えば、音声認識処理に割り当て可能なリソース等の要因に基づいて設定することが可能である。
【0131】
即ち、例えば、図10に示したようなコンピュータにプログラムを実行させることによって、図3に示した音声認識装置を実現する場合においては、CPU102は、一般に、音声認識処理以外のタスクも実行することから、音声認識処理に割り当て可能なリソースは、時々刻々と変化する。そこで、速度/精度設定部27においては、CPU102が音声認識処理に割り当て可能なリソースを認識し、そのリソースによって、リアルタイムで、かつ最大の精度が得られるように、音声認識処理の速度と精度を設定するようにすることができる。
【0132】
また、本実施の形態では、スコア計算部25において、連続量の特徴ベクトルを用いて、連続HMM法に基づく音響スコアを計算するようにしたが、本発明は、例えば、離散値の特徴ベクトルを用いて、離散HMM法に基づく音響スコアを計算する場合にも適用可能である。
【0133】
即ち、例えば、Satoshi Takahashi, Kiyoaki Aikawa, and Shigeki Sagayama. Discrete mixture hmm. In International Conference on Acoustic, Speech, and Signal Processing, pages 971-974, 1997等には、離散混合分布型HMM(discrete mixture HMM)による音声認識手法が記載されているが、この離散混合分布型HMMによれば、特徴ベクトルxtの出力確率bs(xt)は、例えば、次式にしたがって計算される。
【0134】
bs(xt)=ΣCm×Gm(Zi)・・・(2)
【0135】
ここで、式(2)において、Cmは、m番目の関数Gm()に対する重み係数であり、関数Gm()は、離散混合分布型HMMを構成するm番目の確率関数である。また、Σは、変数mについてのサメーションを表す。また、Ziは、特徴ベクトルxtが属する特徴ベクトル空間の部分空間を表し、例えば、連続量の特徴ベクトルxtをベクトル量子化して得られるものである。従って、Ziは、特徴ベクトルxtが属する特徴ベクトル空間の部分空間のコードベクトル(代表ベクトル)を表すと考えることもでき、その値は離散値である。
【0136】
式(2)は、前述した式(1)と同様の形をしているから、離散混合分布型HMMを用いる場合も、計算対象関数表によって、出力確率を求めるための確率関数の計算の一部を省くことが可能であり、従って、図6乃至図9に示した計算対象関数表における確率密度関数gm()を、確率関数Gm()に置き換えた計算対象関数表を用いることにより、ユーザ等の要求に応じた速度や精度の音声認識処理を行うことが可能となる。
【0137】
また、本実施の形態では、HMM法に基づく音声認識を行うようにしたが、本発明は、その他のアルゴリズムに基づく音声認識にも適用可能である。
【0138】
さらに、本実施の形態では、計算対象関数表を、確率密度関数の他、必要なフロア値も用いて構成するようにしたが、計算対象関数表は、フロア値を用いずに構成することも可能である。
【0139】
なお、図6乃至図9に示した計算対象関数表は、原理的には、例えば、次のようにして作成することが可能である。即ち、特徴ベクトル空間の各部分空間Y0乃至Y511を代表するコードベクトルv0乃至v511それぞれが、音響モデルを定義する16の確率密度関数g0()乃至g15()それぞれから出力される確率を求め、その確率を、出力確率に対する寄与度として、各部分空間について、寄与度の相対的に大きい確率密度関数を選択し、その部分空間のエントリに登録することにより、計算対象関数表を作成することができる。なお、計算対象関数表のフロア値としては、例えば、各部分空間に属する任意の特徴ベクトルxtについて、式(1)にしたがって計算される出力確率の最小値や、最大値、平均値などを採用することが可能である。
【0140】
【発明の効果】
本発明の一側面によれば、例えば、ユーザ等の要求に応じた速度や精度の音声認識処理を行うことが可能となる。即ち、速度重視の音声認識処理や精度重視の音声認識処理を行うことが可能となる。
【図面の簡単な説明】
【図1】従来の音声認識装置の一例の構成例を示すブロック図である。
【図2】従来の音声認識装置で用いられる計算対象関数表を示す図である。
【図3】本発明を適用した音声認識装置の一実施の形態の構成例を示すブロック図である。
【図4】マッチング部11の構成例を示すブロック図である。
【図5】マッチング部11によるマッチング処理を説明するフローチャートである。
【図6】計算対象関数表記憶部24に記憶される計算対象関数表の第1実施の形態の構成例を示す図である。
【図7】計算対象関数表記憶部24に記憶される計算対象関数表の第2実施の形態の構成例を示す図である。
【図8】計算対象関数表記憶部24に記憶される計算対象関数表の第3実施の形態の構成例を示す図である。
【図9】計算対象関数表記憶部24に記憶される計算対象関数表の第4実施の形態の構成例を示す図である。
【図10】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
1 マイク, 2 AD変換部, 3 特徴抽出部, 5 音響モデルデータベース, 6 辞書データベース, 7 文法データベース, 11 マッチング部, 21 部分空間検出部, 22 部分空間データ記憶部, 23 計算対象関数選択部, 24 計算対象関数表記憶部, 25 スコア計算部, 26 出力選択部, 27 速度/精度設定部, 28 操作レバー, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体
Claims (8)
- 音声を認識する音声認識装置であって、
前記音声の特徴量を抽出する抽出手段と、
前記音声の特徴量が、その特徴量空間において属する部分空間を検出する検出手段と、
前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段と、
前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報を選択する選択手段と、
前記選択手段において選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアを求め、そのスコアに基づいて、前記音声の音声認識結果を出力するマッチング手段と
を備え、
前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、
前記選択手段は、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報を、前記定義情報がスコアに寄与する大きさに対応する順番で選択する
音声認識装置。 - 前記定義情報は、さらに、前記HMMが前記特徴量を出力する出力確率を表す固定値を含む
請求項1に記載の音声認識装置。 - 前記記憶手段は、前記音声認識処理の速度または精度に対応して、前記選択手段に選択させる前記定義情報の個数も記憶しており、
前記選択手段は、前記音声認識処理の速度または精度に対応する個数の前記定義情報を選択する
請求項1に記載の音声認識装置。 - 前記記憶手段は、前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられる前記HMMを定義する1以上の定義情報を対応付けた定義情報テーブルを、前記音声認識処理の速度または精度ごとに記憶しており、
前記選択手段は、前記音声認識処理の速度または精度に対応する前記定義情報テーブルから、前記定義情報を選択する
請求項1に記載の音声認識装置。 - 前記マッチング手段は、連続量または離散値の前記特徴量を用いて、連続HMM法または離散HMM法に基づく前記マッチング処理を行う
請求項1に記載の音声認識装置。 - 音声を認識する音声認識装置の音声認識方法であって、
前記音声認識装置が、前記音声の特徴量を抽出する抽出ステップと、
前記音声認識装置が、前記音声の特徴量が、その特徴量空間において属する部分空間を検出する検出ステップと、
前記音声認識装置が、前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段における、前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報を選択する選択ステップと、
前記音声認識装置が、前記選択ステップにおいて選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアを求め、そのスコアに基づいて、前記音声の音声認識結果を出力するマッチングステップと
を備え、
前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、
前記選択ステップでは、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報を、前記定義情報がスコアに寄与する大きさに対応する順番で選択する
音声認識方法。 - 音声を認識する音声認識処理を、コンピュータに行わせるプログラムであって、
前記音声の特徴量を抽出する抽出手段と、
前記音声の特徴量が、その特徴量空間において属する部分空間を検出する検出手段と、
前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段と、
前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報を選択する選択手段と、
前記選択手段において選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアを求め、そのスコアに基づいて、前記音声の音声認識結果を出力するマッチング手段と
して、コンピュータを機能させるためのプログラムであり、
前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、
前記選択手段は、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報を、前記定義情報がスコアに寄与する大きさに対応する順番で選択する
プログラム。 - 音声を認識する音声認識処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
前記音声の特徴量を抽出する抽出手段と、
前記音声の特徴量が、その特徴量空間において属する部分空間を検出する検出手段と、
前記特徴量空間の複数の部分空間それぞれごとに、前記音声の特徴量とのマッチング処理に用いられるHMM(Hidden Markov Model)を定義する1以上の定義情報を対応付けて記憶している記憶手段と、
前記音声の特徴量が属する前記部分空間に対応付けられている前記1以上の定義情報から、任意の1以上の定義情報を選択する選択手段と、
前記選択手段において選択された定義情報を用いて、前記音声の特徴量と前記HMMとのマッチング処理を行うことにより、前記音声が、前記HMMに対応するものであることの尤度を表すスコアを求め、そのスコアに基づいて、前記音声の音声認識結果を出力するマッチング手段と
して、コンピュータを機能させるためのプログラムであり、
前記定義情報は、前記HMMが前記特徴量を出力する出力確率を求めるのに用いられる確率密度関数または確率関数であり、
前記選択手段は、ユーザの操作にしたがって設定される音声認識処理の速度若しくは精度、又は、音声認識処理に割り当て可能なリソースに応じて設定される音声認識処理の速度若しくは精度に基づいて、前記音声認識処理の速度または精度に対応する個数の前記定義情報を、前記定義情報がスコアに寄与する大きさに対応する順番で選択する
プログラムが記録されている記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001189179A JP4678464B2 (ja) | 2001-06-22 | 2001-06-22 | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001189179A JP4678464B2 (ja) | 2001-06-22 | 2001-06-22 | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003005780A JP2003005780A (ja) | 2003-01-08 |
JP4678464B2 true JP4678464B2 (ja) | 2011-04-27 |
Family
ID=19028141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001189179A Expired - Fee Related JP4678464B2 (ja) | 2001-06-22 | 2001-06-22 | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4678464B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10133333C1 (de) | 2001-07-10 | 2002-12-05 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen eines Fingerabdrucks und Verfahren und Vorrichtung zum Identifizieren eines Audiosignals |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05281994A (ja) * | 1992-03-31 | 1993-10-29 | Mitsubishi Electric Corp | 類似度演算装置 |
JPH1078793A (ja) * | 1996-09-04 | 1998-03-24 | Hitachi Ltd | 音声認識装置 |
JPH11212587A (ja) * | 1998-01-22 | 1999-08-06 | Hitachi Ltd | 音声認識における雑音適応方法 |
JP2001125593A (ja) * | 1999-10-29 | 2001-05-11 | Sharp Corp | 音声認識装置、音声認識方法および音声認識プログラムを記録した媒体 |
-
2001
- 2001-06-22 JP JP2001189179A patent/JP4678464B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05281994A (ja) * | 1992-03-31 | 1993-10-29 | Mitsubishi Electric Corp | 類似度演算装置 |
JPH1078793A (ja) * | 1996-09-04 | 1998-03-24 | Hitachi Ltd | 音声認識装置 |
JPH11212587A (ja) * | 1998-01-22 | 1999-08-06 | Hitachi Ltd | 音声認識における雑音適応方法 |
JP2001125593A (ja) * | 1999-10-29 | 2001-05-11 | Sharp Corp | 音声認識装置、音声認識方法および音声認識プログラムを記録した媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2003005780A (ja) | 2003-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4465564B2 (ja) | 音声認識装置および音声認識方法、並びに記録媒体 | |
JP4802434B2 (ja) | 音声認識装置及び音声認識方法、並びにプログラムを記録した記録媒体 | |
KR100924399B1 (ko) | 음성 인식 장치 및 음성 인식 방법 | |
US5956679A (en) | Speech processing apparatus and method using a noise-adaptive PMC model | |
JP4141495B2 (ja) | 最適化された部分的確率混合共通化を用いる音声認識のための方法および装置 | |
WO2015118645A1 (ja) | 音声検索装置および音声検索方法 | |
JP6614639B2 (ja) | 音声認識装置及びコンピュータプログラム | |
US20040167779A1 (en) | Speech recognition apparatus, speech recognition method, and recording medium | |
JP4224250B2 (ja) | 音声認識装置、音声認識方法および音声認識プログラム | |
US8271282B2 (en) | Voice recognition apparatus, voice recognition method and recording medium | |
JP2011065120A (ja) | すべての言語の音声識別及び音声識別を利用した単字入力の方法 | |
KR20050082253A (ko) | 모델 변이 기반의 화자 클러스터링 방법, 화자 적응 방법및 이들을 이용한 음성 인식 장치 | |
JP2002507010A (ja) | 同時に起こるマルチモード口述のための装置及び方法 | |
Aymen et al. | Hidden Markov Models for automatic speech recognition | |
JP2007240589A (ja) | 音声認識信頼度推定装置、その方法、およびプログラム | |
JP2662112B2 (ja) | 発声された単語のモデル化方法および装置 | |
Manasa et al. | Comparison of acoustical models of GMM-HMM based for speech recognition in Hindi using PocketSphinx | |
JP3961780B2 (ja) | 言語モデル学習装置およびそれを用いた音声認識装置 | |
US20040006469A1 (en) | Apparatus and method for updating lexicon | |
JP4600706B2 (ja) | 音声認識装置および音声認識方法、並びに記録媒体 | |
KR100480790B1 (ko) | 양방향 n-그램 언어모델을 이용한 연속 음성인식방법 및장치 | |
JP2938866B1 (ja) | 統計的言語モデル生成装置及び音声認識装置 | |
JP4678464B2 (ja) | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 | |
US5774848A (en) | Reference pattern training system and speech recognition system using the same | |
JPH10254473A (ja) | 音声変換方法及び音声変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100708 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100930 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101116 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |