(57)【要約】【課題】隠れマルコフモデルを用いる音声認識を高精度に行う。【解決手段】特徴量抽出手段１１１は、入力音声にフレームを割り当て、各フレーム毎の特徴量を抽出する。累積尤度算出手段１１３は、隠れマルコフモデルを用いて、各フレーム毎における状態毎の累積尤度を算出する。このとき、子音を示すフレームについては通常の尤度演算を行うが、母音を示すフレームにおいては、類似したモデルを集めたグループ毎に尤度演算を行う。そして、最大の累積尤度を与えるグループが定まった後は、そのグループについてだけ尤度演算を行うことに決定する。これにより、話者の個人差の少ない子音と、個人差の多い母音とに分け、母音についてだけ個人差を考慮した認識ができ、その結果、音声認識処理の高精度化が図られる。【選択図】図２
2010145784.tif 000002
【特許請求の範囲】
【請求項１】
全音声データから学習した、子音認識用の音響モデルと、各グループ別の音声データから学習した、複数の母音認識用の音響モデルと、を記憶した記憶部と、
入力された音声について複数の所定長フレーム毎に抽出した特徴量と、前記記憶部に記憶された各音響モデルとに基づいて、前記入力された音声についての各音素の状態遷移確率を算出する確率算出手段と、
算出された状態遷移確率を累積し、各音響モデル毎の尤度を算出する尤度算出手段と、
当該フレームより前のフレームで算出された尤度の累積値を順次算出する累積尤度算出手段と、
前記累積尤度算出手段が算出した累積尤度に基づいて、前記入力された音声の認識を行う音声認識手段と、
を備えたことを特徴とする音声認識装置。
【請求項２】
各フレームの音声が母音であるか子音であるかを判別するフレーム識別手段と、
入力される音声が母音である場合に、前記母音認識用の音響モデルを学習したグループを決定するグループ決定手段と、
を備えたことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
全音声データから学習する、子音認識用の音響モデルと、各グループ別の音声データから学習する、各グループ毎の母音認識用の音響モデルと、を記憶する記憶部と、
母音認識用の音響モデルのグループ数を指定するグループ数指定手段と、
前記母音認識用の音響モデルのグループ間の距離を算出する距離算出手段と、
最短距離の２つのグループを１つのグループとするグループ化手段と、
全グループ数が指定された数以下になったかを判定するグループ数判定手段と、
を備えたことを特徴とする音響モデル学習装置。
【請求項４】
所定の装置による音響モデルを用いた音声認識を高精度化する音声認識方法であって、
全音声データから学習した、子音認識用の音響モデルと、各グループ別の音声データから学習した、母音認識用の複数の音響モデルと、を取得するモデル取得ステップと、
対象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出する特徴量抽出ステップと、
各フレームにおいて抽出された特徴量に基づいて、前記対象音声についての各音素の状態遷移確率を算出する確率算出ステップと、
算出された状態遷移確率を累積し、各音響モデル毎の尤度を算出する尤度算出ステップと、
算出された各音響モデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出する累積尤度算出ステップと、
前記算出された累積尤度に基づいて音声認識を行う音声認識ステップと、
を備えたことを特徴とする音声認識方法。
【請求項５】
コンピュータを
全音声データから学習した、子音認識用の音響モデルと、各グループ別の音声データから学習した、母音認識用の複数の音響モデルと、を記憶し、
対象音声を取り込み、該取り込んだ音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出し、
各フレームにおいて抽出された特徴量に基づいて、状態遷移確率を算出し、
算出された状態遷移確率を累積し、各音響モデル毎の尤度を算出し、
算出された各音響モデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出し、
前記算出された累積尤度に基づいて音声認識を行う、
ことを特徴とする音声認識装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置、音響モデル学習装置、音声認識方法、および、プログラムに関し、特に、隠れマルコフモデルを用いた音声認識を高精度に行うことができる音声認識装置、音響モデル学習装置、音声認識方法、および、プログラムに関する。
【背景技術】
【０００２】
機械的な音声認識は、一つの音、例えば、「あ」だけを認識するのであれば、以下の手法で行うこともできる。
まず、音声信号波形に対して所定長のフレーム（時間窓）を設定し、各フレームから数値的な特徴量を抽出する。
そして、各フレームで抽出された特徴量と、標準パターンである音響モデルとを比較する。
その比較の結果、その特徴量と一致する音響モデルの音を認識結果とする。
【０００３】
例えば、日本語の母音には、「あ」、「い」、「う」、「え」、「お」の５音があり、マイクロフォンで捉えて電気信号に変換された波形から抽出された特徴量が「あ」の音響モデルと一致すれば、「あ」を認識結果とする。
【０００４】
ここで、音響モデルとは、「あ」は、この特徴量、「い」は、この特徴量、という具合に予め用意されている特徴量である。また、このような用意をしておくことは音響モデルの学習に相当する。
【０００５】
しかしながら、このような音響モデルは、個人用の認識装置であれば、その個人が装置に学習させておけばよいが、音声認識は、例えば、公共の機関での電話応対とか、不特定人が使用するディクテーション装置のように、未知の人物の声を認識することが必要な場合もある。
【０００６】
そのため、なるべく多数の人の声から学習した音響モデルを用意する。その場合、「あ」は、この数値範囲、「い」は、この数値範囲、という具合に、音響モデルは数値範囲で用意され、音声認識は、マイクロフォンを通じて得られた特徴量が、この数値範囲に入れば、「あ」、この数値範囲に入れば、「い」という具合に決められる。
【０００７】
ところが、人の話す音声を認識する場合では、音素の連続を認識することとなり、同じ「あ」という音素でも、その前後の音素とのつながりによって上述した特徴量は異なった数値を取る。このため、音声認識において、上述した手法は使うことができない。
【０００８】
一般に、音声認識では、音素の連続を、ある定常状態から他の定常状態への遷移として捉え、この遷移がいわゆるマルコフ過程であるとし、音響モデルとして「隠れマルコフモデル」（Hidden Malkov Model：以下「ＨＭＭ」とする）を用いる統計的な手法により音声信号からその信号が出力される元となった言葉を確率的に推定する。
【０００９】
この手法では、いずれのＨＭＭに対応する特徴量が最も高い確率で出力されるかを示す尤度が計算され、その確率を最大とするＨＭＭに対応する単語を音声認識結果として出力する。このような音声認識の手法は、例えば、特許文献１などに開示されている。
【００１０】
この尤度計算は、例えば、以下のガウス分布の数式（１）を演算することで求められる。
【００１１】
Ｐｍ（Ｙ；μｍ，Σｍ）
＝｛１／√((２π)ｎ｜Σｊ｜）｝exp(−1/2（yt−μt）ＴΣ−１（yt−μt））
Ｊ：状態数    t：time
（１）
【００１２】
そして、算出された各ＨＭＭ毎の尤度を、前フレームで計算された累積尤度値の最大値に対して累積するというビタビアルゴリズムにより、累積尤度値を更新する。
【００１３】
上記のような演算を行う音声認識において、ＨＭＭは大量の発声データからの学習により作成される。特に、不特定話者を対象とする音声認識では、発声データは年齢層や性別などについて幅広く収集される。この結果、あらゆる人の音声が認識できる。
【００１４】
ところが、あらゆる人の音声が認識できる反面、各音素についてＨＭＭの数値の取り得る範囲（実際は、多数次元のベクトルの範囲）が広がり、その結果、認識の精度が下がる可能性があった。
【００１５】
【特許文献１】特開２００１−３５６７９０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は上記実状に鑑みてなされたもので、隠れマルコフモデル（ＨＭＭ）を用いる音声認識を高精度に行うことを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するため、本発明の第１の観点に係る音声認識装置は、
全音声データから学習した、子音認識用の音響モデルと、各グループ別の音声データから学習した、複数の母音認識用の音響モデルと、を記憶した記憶部と、
入力された音声について複数の所定長フレーム毎に抽出した特徴量と、前記記憶部に記憶された各音響モデルとに基づいて、前記入力された音声についての各音素の状態遷移確率を算出する確率算出手段と、
算出された状態遷移確率を累積し、各音響モデル毎の尤度を算出する尤度算出手段と、
当該フレームより前のフレームで算出された尤度の累積値を順次算出する累積尤度算出手段と、
前記累積尤度算出手段が算出した累積尤度に基づいて、前記入力された音声の認識を行う音声認識手段と、
を備えたことを特徴とする。
【００１８】
このように、音響モデルを分けたのは、次の理由による。まず、子音認識用と、母音認識用とに分けたのは、子音が話者による個人差が少ない反面、母音は声帯の影響による個人差が大きいからである。また、母音認識用の音響モデルを複数に分けたのは、母音の個人差に対応するためである。
【００１９】
上記音声認識装置において、
各フレームの音声が母音であるか子音であるかを判別するフレーム識別手段と、
入力される音声が母音である場合に、前記母音認識用の音響モデルを学習したグループを決定するグループ決定手段と、
を備えることが望ましい。
【００２０】
これは、所定数以上の母音が認識された後は、グループを決定して効率的な認識処理をすることが望ましいためである。
【００２１】
上記目的を達成するため、本発明の第２の観点に係る音響モデル学習装置は、
全音声データから学習する、子音認識用の音響モデルと、各グループ別の音声データから学習する、各グループ毎の母音認識用の音響モデルと、を記憶する記憶部と、
母音認識用の音響モデルのグループ数を指定するグループ数指定手段と、
前記母音認識用の音響モデルのグループ間の距離を算出する距離算出手段と、
最短距離の２つのグループを１つのグループとするグループ化手段と、
全グループ数が指定された数以下になったかを判定するグループ数判定手段と、
を備えたことを特徴とする。
【００２２】
上記目的を達成するため、本発明の第３の観点に係る音声認識方法は、
所定の装置による音響モデルを用いた音声認識を高精度化する音声認識方法であって、
全音声データから学習した、子音認識用の音響モデルと、各グループ別の音声データから学習した、母音認識用の複数の音響モデルと、を取得するモデル取得ステップと、
対象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出する特徴量抽出ステップと、
各フレームにおいて抽出された特徴量に基づいて、前記対象音声についての各音素の状態遷移確率を算出する確率算出ステップと、
算出された状態遷移確率を累積し、各音響モデル毎の尤度を算出する尤度算出ステップと、
算出された各音響モデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出する累積尤度算出ステップと、
前記算出された累積尤度に基づいて音声認識を行う音声認識ステップと、
を備えたことを特徴とする。
【００２３】
上記目的を達成するため、本発明の第４の観点に係るプログラムは、
コンピュータを
全音声データから学習した、子音認識用の音響モデルと、各グループ別の音声データから学習した、母音認識用の複数の音響モデルと、を記憶し、
対象音声を取り込み、該取り込んだ音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出し、
各フレームにおいて抽出された特徴量に基づいて、状態遷移確率を算出し、
算出された状態遷移確率を累積し、各音響モデル毎の尤度を算出し、
算出された各音響モデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出し、
前記算出された累積尤度に基づいて音声認識を行う、
ことを特徴とする音声認識装置として機能させる。
【発明の効果】
【００２４】
本発明によれば、隠れマルコフモデル（ＨＭＭ）を用いた音声認識を高精度に行うことができる。
【発明を実施するための最良の形態】
【００２５】
本発明に係る実施の形態を、以下図面を参照して説明する。
【００２６】
（実施形態１）
（音声認識装置）
図１は、本発明の実施の形態に係る音声認識装置の構成を示すブロック図である。図示するように、音声認識装置１００は、制御部１１０と、入力制御部１ ２０と、出力制御部１３０と、プログラム格納部１４０と、記憶部１５０と、から構成される。
【００２７】
制御部１１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）やワークエリアとなる所定の記憶装置（ＲＡＭ（Random Access Memory）など）から構成され、音声認識装置１００の各部を制御するとともに、プログラム格納部１４０に格納されている所定の動作プログラムに基づいて後述する各処理を実行する。
【００２８】
入力制御部１２０は、例えば、ＰＣＭ（Pulse Code Modulation）などのサンプリングを行うＡＤＣ（Analog Digital Converter：アナログ−デジタル変換器）などから構成され、マイクロフォンなどの所定の入力装置１２から入力されたアナログ音声信号をデジタル信号に変換する。
【００２９】
出力制御部１３０は、例えば、スピーカやディスプレイ装置などの所定の出力装置１３を接続し、制御部１１０による音声認識結果などを出力装置１３から出力する。
【００３０】
プログラム格納部１４０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリ、ハードディスク装置などの所定の記憶装置から構成され、制御部１１０が実行する種々の動作プログラムが格納されている。プログラム格納部１４０には、以下のような動作プログラムが格納されている。後述する音声認識装置１００の各処理は、制御部１１０がこれらの動作プログラムを実行することで実現される。
【００３１】
（１）「特徴量抽出プログラム」：入力制御部１２０で変換された音声信号の特徴量（特徴パラメータ）を抽出するプログラム
（２）「尤度算出プログラム」： 各フレーム毎の尤度を算出するとともに、累積尤度を算出するプログラム
（３）「音声認識プログラム」： 算出された累積尤度と音響モデルとに基づいて音声認識するプログラム
【００３２】
制御部１１０は、プログラム格納部１４０に格納されている上記各プログラムを実行することにより、図２に示すように、特徴量抽出手段１１１、尤度算出手段１１２、累積尤度算出手段１１３、ノード作成手段１１４、音声認識手段１１５、として機能する。図２は、制御部１１０の機能を模式的に示す機能ブロック図である。
【００３３】
特徴量抽出手段１１１は、入力制御部１２０で変換された音声信号に対し、複数の所定長のフレームを所定周期で設定し、各フレーム毎のパワー成分（特徴量）を抽出する。
【００３４】
尤度算出手段１１２は、各フレーム毎に抽出された特徴量と、後述する音響モデル格納部１５３に格納されている隠れマルコフモデル（ＨＭＭ）とを比較することで、各フレーム毎の連続音素認識を行い、各ＨＭＭ毎の状態遷移確率（尤度）を算出する。ここでは、各音素毎に所定の状態数が予め定められており、各音素のある状態からどの状態に遷移するかの確率を、取得された特徴量とＨＭＭとを比較することで求める。例えば、「はちのへ」という単語の音素は「h・a・c h・i・ｎ・ｏ・ｈ・ｅ」となるが、状態数を「３ 」とした場合、各音素を「h1,h2,h3」「a1,a2,a3」「ch1,ch2,ch3」…、と表すことができる。本実施の形態では、各音素毎の状態数が「３」であるものとして以下の各処理を行うものとする。
【００３５】
累積尤度算出手段１１３は、尤度算出手段１１２がこれまで算出した尤度に基づいて、各フレームにおける各状態毎に尤度の累積値を求める。
【００３６】
ノード作成手段１１４は、後述する文法格納部１５４に格納されている文法情報に基づき、後述する辞書格納部１５５から取得する候補単語と累積尤度とを対応付けて展開する。
【００３７】
音声認識手段１１５は、ノード作成手段１１４が展開した累積尤度に基づいて、候補単語を音声認識結果として取得して出力する。
【００３８】
記憶部１５０は、例えば、ＲＡＭ（Random Access Memory）やフラッシュメモリ、ハードディスク装置などの記憶装置などから構成され、音声認識装置１００の音声認識処理に必要となる各種情報を記憶する。記憶部１５０は図３に示すように、音声格納部１５１、特徴格納部１５２、音響モデル格納部１５３、文法格納部１５４、辞書格納部１５５、および、累積尤度格納部１５６から構成される。
【００３９】
音声格納部１５１は、入力制御部１２０が変換したデジタル信号を随時バッファリングする。
【００４０】
特徴格納部１５２は、特徴量抽出手段１１１が抽出した各フレーム毎の特徴量を示す情報（以下、「特徴量データ」とする）を随時格納（展開）する。
【００４１】
音響モデル格納部１５３は、音声認識装置１００が対応する言語について、認識対象となる音声を構成する全ての音素をモデル化した音響モデル（音素モデル）を予め蓄積する。本実施の形態では、音響モデルとして「隠れマルコフモデル」（ＨＭＭ）を用いるものとする。また、本実施の形態における音響モデル格納部１５３では、ＨＭＭを子音と母音とに分け、全音声データから学習した、子音認識用のＨＭＭと、母音認識用のＨＭＭと、を記憶する。さらに、母音認識用のＨＭＭは、各グループ別の音声データから学習した、複数のＨＭＭから成る。
以下、このグループ分けについて説明する。
【００４２】
人が発する音声には、子音よりも母音の方に、個人差が多く含まれる。そこで、母音のみを対象に、ＨＭＭを人のグループに分ける。具体的には、メル周波数ケプストラム係数（ＭＦＣＣ）の距離を求め、この距離が近い者同士をグループとしてグループ分けを行い、各グループごとに音声認識できるようにする。
【００４３】
ここで、ＭＦＣＣの次元数をＮとする。そして、認識対象言語にＶ個の母音があるとし、それらに０〜Ｖ−１の番号を振る。また、発声者の数をＭとし、ｍ番目の人が発声した母音ｖの音素片の数をＫｍｖとする。
【００４４】
そして、ｍ番目の人が発声したｋ番目の母音ｖのＭＦＣＣをＣｍ，ｋ，ｖ＝｛ｃｎ，ｍ，ｋ，ｖ｜ｎ＝０，…，Ｎ−１｝とし、その平均値Ｇｍ，ｖ＝｛ｇｎ，ｍ，ｖ｜ｎ＝０，…，Ｎ−１｝を次式のように定義する。
ｇｎ，ｍ，ｖ＝（１／Ｋｍ，ｖ）Σk=0Km,v−１ｃｎ，ｍ，ｋ，ｖ 
（２）
【００４５】
また、ｍ１番目の人とｍ２番目の人とがそれぞれ発声した母音相互の距離Ｄ（ｍ１，ｍ２）を次式のように定義する。
Ｄ（ｍ１，ｍ２）＝Σｖ=0V-1Σn=0N-1ｓｎ(ｇn,m1,v−ｇn,m2,v)２
（３）
ここで、ｓｎは、ＭＦＣＣのｎ次元目の重み係数である。
【００４６】
さらに、これらの距離が近い者同士を集めてＭＡ人のグループＡと、ＭＢ人のグループＢとができたとする。その場合、グループＡと、グループＢとの相互間の距離ＤＧ（Ａ，Ｂ）を次式のように定義する。
ＤＧ（Ａ，Ｂ）＝ＭＡＸ（Ｄ（maｉ，mbｊ））                     （４）
【００４７】
ここで、maｉの範囲は、｛maｉ｜ｉ＝０，…，ＭＡ−１｝であり、ＭＡはグループＡに属する人数である。また、mbｊの範囲は、｛mbｊ｜ｊ＝０，…，ＭＢ−１｝であり、ＭＢはグループＢに属する人数である。
以上の計算によって、母音のＨＭＭを所定数のグループに分ける。
【００４８】
また、距離の代わりに、ｎ次元ベクトルの角度の大きさＤAを用いる方法もある。これは、次式により求められる。
ＤA（ｍ１，ｍ２）
＝Σｖ=0V-1［｛Σn=0N-1(ｇn,m1,v×ｇn,m2,v)｝／｛√(Σn=0N-1ｇn,m1,v２)√(Σn=0N-1ｇn,m2,v２)｝
（５）
これも、広い意味で、ｍ１番目の人とｍ２番目の人との間の距離（広義の距離）とみなせる。
ここで、音響モデル格納部１５３の説明を終わり、記憶部１５０の次の部分の説明に移る。
【００４９】
文法格納部１５４は、音声認識装置１００が対応する言語の文法規則を定義したファイルを格納する。
【００５０】
辞書格納部１５５は、音声認識装置１００が対応する言語の単語毎の音素パターン系列情報を登録した単語辞書を格納する。
【００５１】
累積尤度格納部１５６は、累積尤度算出手段１１３が算出した累積尤度を示す累積尤度情報を格納する。すなわち、累積尤度算出手段１１３が累積尤度を算出すると、ノード作成手段１１４により、図４に示すような累積尤度マップが累積尤度格納部１５６に展開される。図４に示す例では、単語「けせんぬま」について、各フレームの状態番号毎に累積尤度値が展開されている。なお、本実施の形態では、算出された累積尤度の逆数が累積尤度格納部１５６に展開されるものとする。したがって、図４に示す累積尤度のうち、数値が小さいほど尤度が大きいことを示す。
【００５２】
上記のように構成された音声認識装置１００の動作を以下図面を参照して説明する。以下に示す各動作は、制御部１１０がプログラム格納部１４０に格納されている各プログラムのいずれかまたはすべてを適時実行することで実現されるものである。
【００５３】
最初に、本発明の実施の形態に係る音声認識装置１００による音声認識動作の概略（「音声認識処理」）を図５に示すフローチャートを参照して説明する。この「音声認識処理」は、音声認識装置１００の入力装置１２から音声が入力され、入力制御部１２０によりデジタル変換された音声信号が音声格納部１５１にバッファされたことを契機に開始されるものとする。
【００５４】
まず、特徴量抽出手段１１１は、音声格納部１５１にバッファされた音声信号に対し、所定長のフレームを所定周期毎に割り当てるとともに、各フレームにおける特徴量を抽出して、特徴量データを特徴格納部１５２に格納する（ステップＳ５０１）。なお、各フレームを示す「フレーム番号」は、「０」から割り当てられるものとする。
【００５５】
そして、尤度算出手段１１２は、フレーム番号を指定するフレームポインタ（ｆ）に、初期値「０」を設定する（ステップＳ５０２）。
【００５６】
次に、尤度算出手段１１２は、当該フレームの直前のフレームにおいて尤度演算を行ったか否かを判別する（ステップＳ５０３）。ステップＳ５０２で０番フレームが指定されているので、直前フレームでの尤度演算は行われていない。したがって、図６に示すステップＳ６０１に進む。
【００５７】
そして、尤度算出手段１１２は、当該フレームにおける状態番号を示す状態番号ポインタ（ｓ）に、初期値「０」を設定する（ステップＳ６０１）。
【００５８】
また、尤度算出手段１１２は、当該状態数における尤度に初期値「０」を設定する（ステップＳ６０２）。
【００５９】
次に、尤度算出手段１１２は、音響モデル格納部１５３に格納されているガウス分布を用いて、確率演算を行う（ステップＳ６０３）。この演算は、前記数式（１）を用いて行うが、実際は混合ガウス分布であり、数式（１）の正規分布の重み付け和を求める。そして、ステップＳ６０３で算出された確率で尤度を更新する（ステップＳ６０４）。なお、算出された確率および尤度を示す情報は、例えば、ワークエリアなどの所定の記憶領域に保持されるものとする。
【００６０】
そして、尤度算出手段１１２は、当該フレームにおいてさらなる状態数があるか否かを判別する（ステップＳ６０５）。
【００６１】
当該フレームにさらなる状態数がある場合には（ステップＳ６０５：Ｎｏ）、状態番号ポインタ（ｓ）を１インクリメントし（ステップＳ６０６）、次の状態数に対応するガウス分布を用いて確率演算および尤度更新を行う（ステップＳ６０３、Ｓ６０４）。
【００６２】
すべての状態数における確率演算および尤度更新が終了すると（ステップＳ６０５：Ｙｅｓ）、累積尤度算出手段１１３は、当該フレームの各状態で算出された尤度を用いて、例えば、ビタビアルゴリズムにより各状態毎の累積尤度を算出して更新し（ステップＳ６０７）、ノード作成手段１１４が候補単語と累積尤度とを対応付けて展開する。
【００６３】
当該フレームについての累積尤度が更新されると、尤度算出手段１１２は、さらなるフレームがあるか否かを判別する（ステップＳ５０７）。さらなるフレームがある場合（ステップＳ５０７：Ｎｏ）、尤度算出手段１１２は、フレームポインタ（ｆ）を１インクリメントし（ステップＳ５０８）、次のフレームについて、ステップＳ５０３以下で同様の処理を行う。
【００６４】
上述のように、先頭フレーム（０番）では尤度演算が行われたので、ステップＳ５０３では「直前フレームで確率演算あり」と判別される（ステップＳ５０３：Ｙｅｓ）。この場合、尤度算出手段１１２は、累積尤度格納部１５６に展開されている累積尤度を参照して、累積尤度値が最大となっている状態番号を特定する（ステップＳ５０４）。これは、各フレーム中で累積尤度が最大となっている部分のモデルと状態番号とを調べることで当該部分の音声が子音であるか母音であるかを判別するためである。
【００６５】
図４の例では、例えば、第１９フレームにおける最大累積尤度値は「４９３９」（上述のように、累積尤度値の逆数を取っているため、絶対値が最も小さいものが最大尤度を示す）であり、対応する状態数は「ｋ３」である。「ｋ３」は、「けせんぬま（k・e・s・e・N・n・u・m・a）」の「ｋ」の第３状態部分であるから「子音」であることがわかる。
【００６６】
このようにして、尤度算出手段１１２は、当該フレームの音声が「子音」であるか母音であるかを判別する（ステップＳ５０５）。
【００６７】
当該音声が「母音」でない場合（ステップＳ５０５：Ｎｏ）、上述した図６に示すステップＳ６０１に進む。
一方、当該音声が「母音」である場合（ステップＳ５０５：Ｙｅｓ）、ステップＳ５０６で母音比較処理を行う。以下、この処理を図７及び図８を参照して説明する。
【００６８】
図７において、尤度算出手段１１２は、まず、特徴量データと比較する対象であるグループが決定済みか否かを判別する（ステップＳ７０１）。この処理は、例えば、グループが決定済みの旨を表示するフラグを参照することで行い得る。
【００６９】
グループが決定済みであるときは（ステップＳ７０１：Ｙｅｓ）、すべての母音ＨＭＭのうち、決定済みのグループの母音ＨＭＭのみに着目する（ステップＳ７０２）。この処理は、例えば、ポインタｇに決定済みのグループの番号を設定することにより行い得る（ステップＳ７０２）。
【００７０】
そして、該当するグループの状態番号ポインタsgに初期値「０」を設定し（ステップＳ７１１）、この後は、ステップＳ７１２〜Ｓ７１７で上述したステップＳ６０２〜Ｓ６０７と同様の処理をその該当するグループの母音ＨＭＭを比較対象として行う。
【００７１】
以上の処理を終了した後は、上述したステップＳ５０７に戻って既に説明したステップＳ５０７〜Ｓ５０９の処理を行う。
【００７２】
一方、ステップＳ７０１でグループが決定済みでないときは（ステップＳ７０１：Ｎｏ）、図８に示す処理を行う。
【００７３】
図８においては、まず、各グループの参照回数をそれぞれ計数する各グループごとのカウンタに初期値「０」を設定する（ステップＳ８０１）。そして、すべてのグループを比較の対象として処理すべく、ポインタｇに最初のグループの番号「１」を設定する（ステップＳ８０２）。
【００７４】
そして、該当するグループの状態番号ポインタsgに初期値「０」を設定し（ステップＳ８１１）、この後は、ステップＳ８１２〜Ｓ８１７で、上述したステップＳ７１２〜Ｓ７１７、ステップＳ６０２〜Ｓ６０７と同様の処理をその最初のグループの母音ＨＭＭを比較対象として行う。
【００７５】
最初のグループの処理が終了すると、尤度算出手段１１２は、さらなるグループがあるか否かを判別する（ステップＳ８１８）。さらなるグループがある場合（ステップＳ８１８：Ｎｏ）、尤度算出手段１１２は、グループポインタ（ｇ）を１インクリメントし（ステップＳ８１９）、次のグループについて、ステップＳ８１１以下で同様の処理を行う。
【００７６】
一方、さらなるグループがない場合（ステップＳ８１８：Ｙｅｓ）、以上の処理を終了し、最も確率の高いＨＭＭを輩出したグループのカウンタを１インクリメントする（ステップＳ８２０）。そして、現在がグループを決定する時期か否かを判定する（ステップＳ８２１）。この判定は、例えば、所定の回数以上、母音の比較処理が行われたか否かを判定することにより行い得る。
【００７７】
この判定の結果、グループを決定する時期であるときは（ステップＳ８２１：Ｙｅｓ）、グループカウンタcnt(g)に最も大きい値が示されているグループの番号を、決定済みグループに設定する（ステップＳ８２２）。この設定により、次のフレームの処理では、上述したステップＳ７０２でグループポインタ（ｇ）に上記決定済みグループの設定番号が移され、決定されたグループだけについて母音比較処理が行われる。
【００７８】
以上の処理を終了した後は、上述したステップＳ５０７に戻って既に説明したステップＳ５０７、Ｓ５０８の処理を行う。ここで、さらなるフレームがある場合（ステップＳ５０７：Ｎｏ）、尤度算出手段１１２は、フレームポインタ（ｆ）を１インクリメントし（ステップＳ５０８）、次のフレームについて、ステップＳ５０３以下で同様の処理を行う。
【００７９】
一方、当該フレームが最終フレームである場合（ステップＳ５０７：Ｙｅｓ）は、所定の出力処理（ステップＳ５０９）を行って、音声認識結果の出力を行う。ここでは、音声認識手段１１５が、累積尤度格納部１５６に展開されている候補単語と累積尤度を参照し、最終フレームの最終状態からノードを遡ってトレースして出力すべき認識結果（単語）を取得し、出力制御部１３０により音声あるいは文字情報として出力する。
【００８０】
以上のように、音声を子音と母音とに分けて認識し、母音についてはグループに分け、決定されたグループからＨＭＭを決めるようにしたので、認識処理の高速化を図りつつ、より認識精度を高めることができる。
【００８１】
ところで、母音のグループを決定する方法には、上述した、指定回数以上母音が比較された時点で決定する方法のほかに、以下の方法がある。これは、上述したステップＳ８２０〜Ｓ８２２の代わりに図９に示すステップＳ８３０〜Ｓ８３２の処理を実行することにより行われる。
【００８２】
この方法では、ステップＳ８１８でさらなるグループがない場合（ステップＳ８１８：Ｙｅｓ）、各グループの平均尤度を算出する（ステップＳ８３０）。これは、各グループごとの尤度を合計し、それぞれのグループ内のＨＭＭ総数で除算して求められる。
【００８３】
そして、最大の平均尤度のグループと、第２位の平均尤度のグループとの平均尤度の比が、予め指定された比以上か否かを判定する（ステップＳ８３１）。
【００８４】
この比が、予め指定された比以上である場合（ステップＳ８３１：Ｙｅｓ）、最大の平均尤度のグループに決定する（ステップＳ８３２）。
【００８５】
以上の処理によれば、決定の時期を別の要因で定める必要がなく、グループの採用回数をカウントする必要もなく、音声認識に伴い算出されている尤度について、平均値とその最大値などを算出することで自ずと採用すべきグループを決定できるという利点がある。
【００８６】
（実施形態２）
（音響モデル学習装置）
次に、上述したグループ別のＨＭＭを学習する装置について説明する。
【００８７】
この装置は、上述した図１の装置を使って実現される。
図１において、記憶部１５０の音響モデル格納部１５３（図３参照）には、まず、子音と母音とに分けない通常のＨＭＭが格納される。そして、制御部１１０は、プログラム格納部１４０に格納された図示しないＨＭＭ学習プログラムを実行することで音響モデル学習装置として機能する。
【００８８】
この装置は、機能的には、図１０に示すように、グループ数指定手段１１６と、距離算出手段１１７と、グループ化手段１１８と、グループ数判定手段１１９と、母音子音選別手段１１１０と、を備える。
【００８９】
グループ数指定手段１１６は、記憶部１５０の音響モデル格納部１５３（図３参照）に設けられた、所定のエリアにおいて、母音認識用のＨＭＭのグループ数を指定する。これは、入力装置１２によってユーザが例えばキーボードにより指定することで、制御部１１０がこの指定値を記憶部１５０に記憶させることにより行い得る。
【００９０】
距離算出手段１１７は、前述した数式（３）及び数式（４）、又は、数式（５）及び数式（４）に従って、母音認識用のＨＭＭのグループ間の距離を算出する。
【００９１】
グループ化手段１１８は、すべてのグループのうち、最短距離にある２つのグループを１つのグループとする。これは、最短距離にあると判定された２つのグループのそれぞれ異なるグループ番号をいずれか１つの番号に統一し、全グループ数から数値「１」を減ずることで行い得る。
【００９２】
グループ数判定手段１１９は、グループの統一により全グループ数が減少していき、その全グループ数が指定された数以下になったかを判定する。
母音子音選別手段１１１０は、記憶部１５０の所定領域に記憶されたＨＭＭが母音か子音かを選別してそれぞれ別々の領域に格納する。
【００９３】
次に、上述した装置の動作を図１１を参照して説明する。
動作開始前に、人についての母音ＨＭＭの全グループ数を規定するために指定されたグループ数Ｇが、ユーザにより入力装置１２を介して記憶部１５０のワークエリアなどに設定されているものとする。
【００９４】
まず、制御部１１０は、発声者の音声が録音された媒体からＨＭＭの音声データを収集し、記憶部１５０の所定領域に記憶させる（ステップＳ９０１）。初期状態においては、すべての発声者の音素ＨＭＭをそれぞれ一人から成る１つずつのグループとみなす。
【００９５】
そして、制御部１１０の母音子音選別手段１１１０は、人のポインタｍ、各人の音声データのポインタｎ、子音ＨＭＭのポインタｓ、母音ＨＭＭのポインタｇに、それぞれ「０」を初期設定する（ステップＳ９０２）。
【００９６】
次に、母音子音選別手段１１１０は、ｍ番目の人のｎ番目のデータが母音か子音かを判定する（ステップＳ９０３）。この判定は、例えば、母音か子音かの判定のみを専用に行うためのＨＭＭを用意しておき、前述した音声認識の場合と同様に、尤度算出により母音である確率と子音である確率とを求めた上で、両者を比較することで行い得る。
【００９７】
そして、母音であるときは（ステップＳ９０３：Ｙｅｓ）、母音ＨＭＭの記憶領域にＨＭＭを格納し（ステップＳ９０４）、母音ＨＭＭのポインタｇを１インクリメントする（ステップＳ９０５）。
【００９８】
また、子音であるときは（ステップＳ９０３：Ｎｏ）、子音ＨＭＭの記憶領域にＨＭＭを格納し（ステップＳ９０６）、子音ＨＭＭのポインタｓを１インクリメントする（ステップＳ９０７）。
【００９９】
このようにして、最初の音声データの処理が終了すると、母音子音選別手段１１１０は、さらなる音声データがあるか否かを判別する（ステップＳ９２１）。さらなる音声データがある場合（ステップＳ９２１：Ｎｏ）、母音子音選別手段１１１０は、音声データのポインタｎを１インクリメントし（ステップＳ９２２）、次の音声データについて、ステップＳ９０３以下で同様の処理を行う。
一方、さらなる音声データがない場合（ステップＳ９２１：Ｙｅｓ）、次の人の処理（ステップＳ９０３〜Ｓ９０７）に進む。
最初の人の処理が終了すると、母音子音選別手段１１１０は、さらなる人がいるか否かを判別する（ステップＳ９０８）。さらなる人がいる場合（ステップＳ９０８：Ｎｏ）、母音子音選別手段１１１０は、人のポインタｍを１インクリメントし（ステップＳ９０９）、次の人について、ステップＳ９０３以下で同様の処理を行う。
【０１００】
一方、さらなる人がいない場合（ステップＳ９０８：Ｙｅｓ）、次の処理（ステップＳ９１０）に進む。
続いて、グループ数判定手段１１９は、人の全グループ数ｍが指定されたグループ数Ｇ以下であるかを判定する。
【０１０１】
人の全グループ数ｍが指定されたグループ数Ｇ以下でない場合（ステップＳ９１０：Ｎｏ）、距離算出手段１１７は、前述した数式（３）、又は、数式（５）に従って、母音認識用のＨＭＭ間の距離を算出する（ステップＳ９１１）。
【０１０２】
続いて、グループ化手段１１８は、最短距離にあると判定された２つの母音認識用のＨＭＭを、１つのグループとする（ステップＳ９１２）。これは、例えば、各ＨＭＭに割り当てられているグループ番号のうち、若い方の番号に統一することで行い得る。
【０１０３】
そして、グループ化手段１１８は、人の全グループ数ｍから数値「１」を減ずる（ステップＳ９１３）。その後、上述したステップＳ９１０に戻る。
【０１０４】
ステップＳ９１０でさらに人の全グループ数ｍが指定されたグループ数Ｇ以下ではない場合（ステップＳ９１０：Ｎｏ）、距離算出手段１１７は、前述した数式（３）及び数式（４）、又は、数式（５）及び数式（４）に従って、母音認識用のＨＭＭ間の距離を算出する（ステップＳ９１１）。ここでは、上記の１グループ化により、２者以上の音声データを含むグループも存在する。
【０１０５】
続いて、グループ化手段１１８は、最短距離にあると判定された２つの母音認識用のＨＭＭ又はそのグループを、１つのグループとする（ステップＳ９１２）。これは、例えば、各ＨＭＭに割り当てられているグループ番号のうち、若い方の番号に統一することで行い得る。
【０１０６】
そして、グループ化手段１１８は、人の全グループ数ｍから数値「１」を減ずる（ステップＳ９１３）。その後、上述したステップＳ９１０に戻る。
【０１０７】
以上の処理を繰り返し実行し、人の全グループ数ｍが指定されたグループ数Ｇ以下となった場合（ステップＳ９１０：Ｙｅｓ）、グループ数判定手段１１９は、すべての処理を終了する。
【０１０８】
以上により、記憶部１５０には、全音声データから学習された、子音認識用のＨＭＭと、人の各グループ別の音声データから学習された、人の各グループ毎の母音認識用のＨＭＭと、が記憶される。
【０１０９】
なお、上記実施の形態における音声認識装置１００及び音響モデル学習装置（１００）は、専用装置で構成可能であることはもとより、例えば、パーソナルコンピュータなどの汎用コンピュータ装置などで構成することができる。この場合、上記実施の形態に示した処理をコンピュータ装置上で実現するためのプログラムをコンピュータ装置にインストールすることにより、本発明に係る音声認識装置１００などを構成することができる。この場合のプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭなどの記録媒体に格納して配布可能であることはもとより、搬送波に重畳させることで、インターネットなどの通信媒体を介して配布することができる。
【０１１０】
すなわち、本発明に係る音声認識装置などは、例えば、携帯型の翻訳装置などとして実現できる他、パーソナルコンピュータやゲーム装置などで動作するアプリケーションとして実現することができ、高精度の音声認識を実現するものである。
【０１１１】
また、既存の音声認識装置や音声認識アプリケーションなどに、本発明に係る各処理を実現するためのプログラムを追加すること（例えば、バージョンアップなど）により、音声認識処理を高精度化することができる。
【０１１２】
以上説明したように、本発明によれば、音声認識における高い認識精度を実現することができる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施の形態に係る音声認識装置の構成を示すブロック図である。
【図２】図１に示す音声認識装置の制御部で実現される機能を示す機能ブロック図である。
【図３】図１に示す記憶部の詳細を示す図である。
【図４】図３に示す累積尤度格納部に展開される累積尤度値の例を示す図である。
【図５】本発明の実施の形態に係る「音声認識処理」を説明するためのフローチャートである。
【図６】本発明の実施の形態に係る「音声認識処理」を説明するためのフローチャートである。
【図７】本発明の実施の形態に係る「母音比較処理」を説明するためのフローチャートである。
【図８】本発明の実施の形態に係る「母音比較処理」を説明するためのフローチャートである。
【図９】本発明の実施の形態に係る「母音比較処理」を説明するためのフローチャートである。
【図１０】本発明の実施の形態に係る音響モデル学習装置の構成を示すブロック図である。
【図１１】本発明の実施の形態に係る「ＨＭＭ学習処理」を説明するためのフローチャートである。
【符号の説明】
【０１１４】
１００…音声認識装置（音響モデル学習装置）、１１１…特徴量抽出手段、１１２…尤度算出手段、１１３…累積尤度算出手段、１１４…ノード作成手段、１１５…音声認識手段、１１６…グループ数指定手段、１１７…距離算出手段、１１８…グループ化手段、１１９…グループ数判定手段、１１１０…母音子音選別手段、１５１…音声格納部、１５２…特徴格納部、１５３…音響モデル格納部、１５４…文法格納部、１５５…辞書格納部、１５６…累積尤度格納部
【図１】
2010145784.tif 000003
【図２】
2010145784.tif 000004
【図３】
2010145784.tif 000005
【図４】
2010145784.tif 000006
【図５】
2010145784.tif 000007
【図６】
2010145784.tif 000008
【図７】
2010145784.tif 000009
【図８】
2010145784.tif 000010
【図９】
2010145784.tif 000011
【図１０】
2010145784.tif 000012
【図１１】
2010145784.tif 000013