JP4379050B2 - 音声認識装置、音声認識高速化方法、および、プログラム - Google Patents

音声認識装置、音声認識高速化方法、および、プログラム Download PDF

Info

Publication number
JP4379050B2
JP4379050B2 JP2003307378A JP2003307378A JP4379050B2 JP 4379050 B2 JP4379050 B2 JP 4379050B2 JP 2003307378 A JP2003307378 A JP 2003307378A JP 2003307378 A JP2003307378 A JP 2003307378A JP 4379050 B2 JP4379050 B2 JP 4379050B2
Authority
JP
Japan
Prior art keywords
likelihood
frame
speech recognition
predetermined
calculated
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
Application number
JP2003307378A
Other languages
English (en)
Other versions
JP2005077682A (ja
Inventor
滋 加福
浩一 中込
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003307378A priority Critical patent/JP4379050B2/ja
Publication of JP2005077682A publication Critical patent/JP2005077682A/ja
Application granted granted Critical
Publication of JP4379050B2 publication Critical patent/JP4379050B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、音声認識装置、音声認識高速化方法、および、プログラムに関し、特に、隠れマルコフモデルを用いた音声認識を高速に行うことができる音声認識装置、音声認識高速化方法、および、プログラムに関する。
装置を用いて音声認識を行う手法として、「隠れマルコフモデル」(Hidden Malkov Model:以下「HMM」とする)を用いた音声認識が知られている。この手法では、音声に対して所定長のフレーム(時間窓)を設定し、各フレームで抽出された特徴量と、標準パターンであるHMMとが比較される。ここでは、いずれのHMMに対応する特徴量が最も高い確率で出力されるかを示す尤度が計算され、その確率を最大とするHMMに対応する単語を音声認識結果として出力する。このような音声認識の手法は、例えば、特許文献1などに開示されている。
この尤度計算は、例えば、以下の数式1を演算することで求められる。この数式はガウス分布の数式であるが、実際は混合ガウス分布なので、これらの正規分布の重み付き和を求める必要がある。
Figure 0004379050
そして、算出された各HMM毎の尤度を、前フレームで計算された累積尤度値の最大値に対して、ビタビアルゴリズムにより累積尤度値を更新する。
上記のような演算を行う音声認識において、CPU(Central Processing Unit:中央演算処理装置)などの処理装置は、所定音声認識区間において、数式1の演算を相当回数(「フレーム数×状態数(HMM数)×混合ガウス分布数」)行う必要があり、負担が大きい。
このような問題を解決するための手法として、いわゆる「ガウス枝刈り」が知られている。これは、尤度計算により有効なガウス分布から順に計算し、有効でないガウス分布の計算はおこなわないというものである。
この手法は、ガウス分布の数が多い場合(例えば、16混合や32混合など)には高速化の効果を得ることができるが、、ガウス分布が少数(例えば、2混合や4混合など)である場合には、高速化の効果が得られなかった。
特開2001−356790
本発明は上記実状に鑑みてなされたもので、隠れマルコフモデル(HMM)を用いる音声認識を高速に行うことを目的とする。
上記目的を達成するため、本発明の第1の観点にかかる音声認識装置は、
入力された音声について複数の所定長フレーム毎に抽出した特徴量と、所定の混合ガウス分布を含む隠れマルコフモデルとに基づいて、各音素の状態遷移確率を算出する確率算出手段と、
算出された状態遷移確率をガウス分布毎の所定の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出手段と、
当該フレームより前のフレームで算出された尤度の累積値を順次算出する累積尤度算出手段と、
前記累積尤度算出手段が算出した累積尤度に基づいて、前記入力された音声の音声認識をおこなう音声認識手段と、
を備える音声認識装置において、
各フレームについて、前記累積尤度算出手段が算出した累積尤度に基づいて、各フレームの音声が重要であるか否かを判別し、重要でないと判別したフレームを所定のフレームとして識別するフレーム識別手段を備え、
前記確率算出手段、前記尤度算出手段、および、前記累積尤度算出手段は、前記フレーム識別手段が識別した前記所定のフレームでは所定の演算動作を省略する、
ことを特徴とする。
上記音声認識装置において、
前記フレーム識別手段は、
各隠れマルコフモデル毎に付与された重要度を示す情報を記憶する重要度情報記憶手段をさらに備え、
前記重要度情報記憶手段に記憶された重要度情報に基づいて、各フレームの音声が重要であるか否かを判別することが望ましい。
上記音声認識装置において、
前記尤度算出手段は、前記識別された所定フレームにおける尤度演算を省略し、
前記累積尤度算出手段は、当該所定フレームの直前のフレームで算出された尤度を用いて、当該所定フレームにおける累積尤度を算出することが望ましい。
上記目的を達成するため、本発明の第2の観点にかかる音声認識高速化方法は、
所定の装置による隠れマルコフモデルを用いた音声認識を高速化する音声認識高速化方法であって、
所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを取得するモデル取得ステップと、
対象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出する特徴量抽出ステップと、
各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出する確率算出ステップと、
算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出ステップと、
算出された各隠れマルコフモデル毎の尤度と、当該フレームの直前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出する累積尤度算出ステップと、
前記算出された累積尤度に基づいて音声認識を行う音声認識ステップと、
子音を示すフレームのうち、各子音の状態数に基づいて当該子音が重要であるか否かを判別することにより、重要でない音声を含むフレームにおける尤度算出を省略することを決定する省略要否決定ステップと、
を備え、
算出動作の省略が決定されたフレームにおける当該算出動作を省略する、
ことを特徴とする。
上記目的を達成するため、本発明の第3の観点にかかるプログラムは、
コンピュータを
所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを取得し、
象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出し、
各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出し、
算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出し、
算出された各隠れマルコフモデル毎の尤度と、当該フレームの直前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出し、
前記算出された累積尤度に基づいて音声認識を行う音声認識装置であって、
子音を示すフレームのうち、各子音の状態数に基づいて当該子音が重要であるか否かを判別することにより、重要でない子音を含むフレームにおける尤度算出を省略することを決定し、該算出動作の省略が決定されたフレームにおける当該算出動作を省略する、
ことを特徴とする音声認識装置として機能させる。
本発明によれば、隠れマルコフモデル(HMM)を用いた音声認識を高速に行うことができる。
本発明にかかる実施の形態を、以下図面を参照して説明する。
(第1の実施の形態)
図1は、本発明の実施の形態にかかる音声認識装置の構成を示すブロック図である。図示するように、音声認識装置100は、制御部110と、入力制御部120と、出力制御部130と、プログラム格納部140と、記憶部150と、から構成される。
制御部110は、例えば、CPU(Central Processing Unit:中央演算処理装置)やワークエリアとなる所定の記憶装置(RAM(Random Access Memory)など)から構成され、音声認識装置100の各部を制御するとともに、プログラム格納部140に格納されている所定の動作プログラムに基づいて後述する各処理を実行する。
入力制御部120は、例えば、PCM(Pulse Code Modulation)などのサンプリングを行うADC(Analog Digital Converter:アナログ−デジタル変換器)などから構成され、マイクロフォンなどの所定の入力装置12から入力されたアナログ音声信号をデジタル信号に変換する。
出力制御部130は、例えば、スピーカやディスプレイ装置などの所定の出力装置13を接続し、制御部110による音声認識結果などを出力装置13から出力する。
プログラム格納部140は、例えば、ROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置などの所定の記憶装置から構成され、制御部110が実行する種々の動作プログラムが格納されている。プログラム格納部140には、以下のような動作プログラムが格納されている。後述する音声認識装置100の各処理は、制御部110がこれらの動作プログラムを実行することで実現される。
(1)「特徴抽出プログラム」:入力制御部120で変換された音声信号の特徴量(特徴パラメータ)を抽出するプログラム
(2)「尤度算出プログラム」:各フレーム毎の尤度を算出するとともに、累積尤度を算出するプログラム
(3)「音声認識プログラム」:算出された累積尤度と音響モデルとに基づいて音声認識するプログラム
制御部110は、プログラム格納部140に格納されている上記各プログラムを実行することにより、図2に示すように、特徴抽出手段111、尤度算出手段112、累積尤度算出手段113、ノード作成手段114、音声認識手段115、として機能する。図2は、制御部110の機能を模式的に示す機能ブロック図である。
特徴抽出手段111は、入力制御部120で変換された音声信号に対し、複数の所定長のフレームを所定周期で設定し、各フレーム毎のパワー成分(特徴量)を抽出する。
尤度算出手段112は、各フレーム毎に抽出された特徴量と、後述する音響モデル格納部153に格納されている隠れマルコフモデル(HMM)とを比較することで、各フレーム毎の連続音素認識をおこない、各HMM毎の状態遷移確率(尤度)を算出する。ここでは、各音素毎に所定の状態数が予め定められており、各音素のある状態からどの状態に遷移するかの確率を、取得された特徴量とHMMとを比較することで求める。例えば、「はちのへ」という単語の音素は「h・a・ch・i・n・o・h・e」となるが、状態数を「3」とした場合、各音素を「h1, h2, h3」「a1, a2, a3」「ch1, ch2, ch3」…、と表すことができる。本実施の形態では、各音素毎の状態数が「3」であるものとして以下の各処理を行うものとする。
累積尤度算出手段113は、尤度算出手段112がこれまで算出した尤度に基づいて、各フレームにおける各状態毎に尤度の累積値を求める。
ノード作成手段114は、後述する文法格納部154に格納されている文法情報に基づき、後述する辞書格納部155から取得する候補単語と累積尤度とを対応付けて展開する。
音声認識手段は、ノード作成手段114が展開した累積尤度に基づいて、候補単語を音声認識結果として取得して出力する。
記憶部150は、例えば、RAM(Random Access Memory)やフラッシュメモリ、ハードディスク装置などの記憶装置などから構成され、音声認識装置100の音声認識処理に必要となる各種情報を記憶する。記憶部150は図3に示すように、音声格納部151、特徴格納部152、音響モデル格納部153、文法格納部154、辞書格納部155、および、累積尤度格納部156から構成される。
音声格納部151は、入力制御部120が変換したデジタル信号を随時バッファリングする。
特徴格納部152は、特徴抽出手段111が抽出した各フレーム毎の特徴量を示す情報(以下、「特徴量データ」とする)を随時格納(展開)する。
音響モデル格納部153は、音声認識装置100が対応する言語について、認識対象となる音声を構成する全ての音素をモデル化した音響モデル(音素モデル)を予め蓄積する。本実施の形態では、音響モデルとして「隠れマルコフモデル」(HMM)を用いるものとする。すなわち、音響モデル格納部153は、複数のHMMを格納する。また、各HMMはさらに、各音素の状態について、複数の「混合ガウス分布」を含む。ここで「混合ガウス分布」(混合分布)は、所定の重み係数で重み付けされたガウス分布を線形結合の和で表したものである。なお、各状態についての複数の混合ガウスのそれぞれには予め所定の付番がされているものとする。
文法格納部154は、音声認識装置100が対応する言語の文法規則を定義したファイルを格納する。
辞書格納部155は、音声認識装置100が対応する言語の単語毎の音素パターン系列情報を登録した単語辞書を格納する。
累積尤度格納部156は、累積尤度算出手段113が算出した累積尤度を示す累積尤度情報を格納する。すなわち、累積尤度算出手段113が累積尤度を算出すると、ノード作成手段114により、図4に示すような累積尤度マップが累積尤度格納部156に展開される。図4に示す例では、単語「けせんぬま」について、各フレームの状態番号毎に累積尤度値が展開されている。なお、本実施の形態では、算出された累積尤度の逆数が累積尤度格納部156に展開されるものとする。したがって、図4に示す累積尤度のうち、数値が小さいほど尤度が大きいことを示す。
上記のように構成された音声認識装置100の動作を以下図面を参照して説明する。以下に示す各動作は、制御部110がプログラム格納部140に格納されている各プログラムのいずれかまたはすべてを適時実行することで実現されるものである。
まず、本発明の実施の形態にかかる音声認識装置100による音声認識動作の概略(「音声認識処理1」)を図5に示すフローチャートを参照して説明する。この「音声認識処理1」は、音声認識装置100の入力装置12から音声が入力され、入力制御部120によりデジタル変換された音声信号が音声格納部151にバッファされたことを契機に開始されるものとする。
まず、特徴抽出手段111は、音声格納部151にバッファされた音声信号に対し、所定長のフレームを所定周期毎に割り当てるとともに、各フレームにおける特徴量を抽出して、特徴量データを特徴格納部152に格納する(ステップS101)。なお、各フレームを示す「フレーム番号」は、「0」から割り当てられるものとする。
次に尤度算出手段112は、フレーム番号を指定するフレームポインタ(f)に、初期値「0」を設定する(ステップS102)。
尤度算出手段112は、現在のフレームポインタに示される値(すなわち、フレーム番号)が偶数であるか奇数であるかを判別する(ステップS103)。
フレーム番号が偶数である場合(ステップS103:Yes)、尤度算出手段112は、当該フレームにおける状態番号を示す状態番号ポインタ(s)に、初期値「0」を設定する(ステップS104)。
尤度算出手段112は、当該状態数における尤度を初期値「0」に設定し(ステップS105)、さらに、当該状態数に対応する混合ガウス分布を指定する混合分布ポインタ(m)に初期値「0」を設定する(ステップS106)。
尤度算出手段112は、音響モデル格納部153に格納されている混合ガウス分布のうち、m番目の混合ガウス分布を用いて、確率演算を行い(ステップS107)、算出された確率で尤度を更新する(ステップS108)。なお、算出された確率および尤度を示す情報は、例えば、ワークエリアなどの所定の記憶領域に保持されるものとする。
尤度算出手段112は、当該状態数に対応する混合ガウス分布がまだある場合(ステップS109:No)は、混合分布ポインタ(m)を1インクリメントし(ステップS110)、当該混合ガウス分布を用いて確率演算(ステップS107)、および、尤度更新(ステップS108)を行う。すなわち、当該状態数に対応するすべての混合ガウス分布を用いて確率演算を行う。
当該状態数に対応するすべての混合ガウス分布を用いた確率演算を行うと(ステップS109:Yes)、尤度算出手段112は、当該フレームにおいてさらなる状態数があるか否かを判別する(ステップS111)。
当該フレームにさらなる状態数ある場合には(ステップS111:No)、状態番号ポインタ(s)を1インクリメントし(ステップS112)、次の状態数に対応するすべての混合ガウス分布を用いて確率演算および尤度更新を行う(ステップS105〜S109)。
すべての状態数における確率演算および尤度更新が終了すると(ステップS111:Yes)、尤度算出手段112は、確率演算を省略しても構わない混合ガウス分布があるか否かを決定するための「省略要否決定処理」を実行する。この「省略要否決定処理」を図6に示すフローチャートを参照して説明する。
まず、尤度算出手段112は、上記処理で各混合ガウス分布毎に算出された確率に基づいて、いずれの混合ガウス分布を用いた確率が最大であるかを算出する(ステップS151)。
次に尤度算出手段112は、混合分布ポインタ(m)を初期値「0」にし(ステップS152)、m番目の混合ガウス分布で算出された確率が、ステップS151で算出された最大値から所定値αより低い場合(ステップS153:Yes)、当該混合ガウス分布に、「次フレームにおける当該混合ガウス分布を用いた確率演算を省略するか否か」を示す「次回省略フラグ」をON(「1」)する(ステップS154)。本実施の形態では、次回省略フラグの値が「1」であるとき「次フレームにおける当該混合ガウス分布を用いた確率演算を省略する」ことを示し、「0」であるとき「次フレームにおける当該混合ガウス分布を用いた確率演算を省略しない」ことを示すものとする。
一方、当該混合ガウス分布で算出された確率が、ステップS151で算出された最大値から所定値以上である場合(ステップS153:No)は、次回省略フラグをOFF(「0」)する(ステップS155)。これをすべての混合ガウス分布について設定する(ステップS156:No、S157、S153〜S155)。
すべての混合ガウス分布について「次回省略フラグ」が設定されると(ステップS156:Yes)、図5に示すフローにもどる。
「省略要否決定処理」が終了すると、累積尤度算出手段113は、当該フレームの各状態で算出された尤度を用いて、例えば、ビタビアルゴリズムにより各状態毎の累積尤度を算出して更新し(ステップS113)、ノード作成手段114が候補単語と累積尤度とを対応付けて展開する。
当該フレームについての累積尤度が更新されると、尤度算出手段112は、フレームポインタ(f)を1インクリメントし(ステップS114)、次のフレームについて、同様の処理をおこなう。
ここで、図5に示すステップS103においてフレーム番号が「奇数」と判別された場合(ステップS103:No)の処理を図7に示すフローチャートを参照して説明する。
当該フレームが奇数番目である場合、尤度算出手段112は、状態番号ポインタ(s)を初期値「0」にし(ステップS115)、当該状態における尤度を初期値「0」に設定する(ステップS116)。
尤度算出手段112はさらに、混合分布ポインタ(m)を初期値「0」にし(ステップS117)、当該混合ガウス分布の次回省略フラグが「0」であるか否かを判別する(ステップS118)。
次回省略フラグが「0」である場合(ステップS118:Yes)、尤度算出手段112は、当該混合ガウス分布を用いて確率演算を行い(ステップS119)、算出された確率を用いて尤度更新を行う(ステップS120)。
一方、次回省略フラグが「1」である場合(ステップS118:No)は、尤度算出手段112は、当該混合ガウス分布を用いた確率演算は行わずにステップS123に進み、さらなる状態番号があるか否かが判別される。
当該状態においてさらなる混合ガウス分布がある場合(ステップS121:No)、尤度算出手段112は、混合分布ポインタ(m)を1インクリメントし(ステップS122)、次の混合ガウス分布について同様の処理を行う。
当該状態番号におけるすべての混合ガウス分布について演算要否が判別され、必要な演算が行われると、尤度算出手段112は、当該フレームにさらなる状態があるか否かを判別する(ステップS123)。当該フレームにさらなる状態数がある場合には(ステップS123:No)、尤度算出手段112は、状態番号ポインタ(s)を1インクリメントし(ステップS124)、次の状態番号において、次回省略フラグが「0」である混合ガウス分布のみ確率演算を行う。
当該偶数フレームのすべての状態について、混合ガウス分布毎の確率演算を選択的におこなった後、累積尤度算出手段113は、当該フレームの各状態で算出された尤度を用いて、例えば、ビタビアルゴリズムにより各状態毎の累積尤度を算出して更新し(ステップS125)、ノード作成手段114が候補単語と更新された累積尤度とを対応付けて展開する。
尤度算出手段112は、さらなるフレームがあるか否かを判別する(ステップS126)。さらなるフレームがある場合(ステップS126:No)、尤度算出手段112はフレームポインタ(f)を1インクリメントし(ステップS127)、次のフレームについて上記各処理を行う。
一方、当該フレームが最終フレームである場合(ステップS126:Yes)は、所定の出力処理(ステップS500)をおこなって、音声認識結果の出力を行う。ここでは、音声認識手段115が、累積尤度格納部156に展開されている候補単語と累積尤度を参照し、最終フレームの最終状態からノードを遡ってトレースして出力すべき認識結果(単語)を取得し、出力制御部130により音声あるいは文字情報として出力する。
上記処理により、直前の偶数フレームにおいて有用でなかった混合ガウス分布(すなわち、確率最大値から所定値より低い確率となった混合ガウス分布)がある場合、次の奇数フレームにおいてその混合ガウス分布を用いた確率演算が省略される。すなわち、前回出力確率が低かった混合ガウス分布の出力確率計算を2フレームに1回は全くおこなわないため、従来のガウス枝刈りよりも計算回数が減少するので、音声認識処理の高速化が図られる。
上記実施の形態では、フレームを「偶数」と「奇数」に分け、奇数番目のフレームについて所定の演算省略をおこなった。すなわち、2フレーム毎に所定の演算省略をおこなったものであるが、演算省略を行う頻度は任意である。例えば、3フレーム毎おこなってもよく、あるいは、3フレーム中の2フレームについて演算省略をおこなってもよい。
(第2の実施の形態)
上記第1の実施の形態では、フレーム番号に基づいて演算省略をおこなったが、各フレームで示される音声に基づいて演算省略をおこなってもよい。この場合の音声認識装置100の処理を、第2の実施の形態として以下に説明する。なお、音声認識装置100の構成は上記第1の実施の形態と同一である。
本実施の形態では、母音を示すフレームについて所定の演算省略をおこなう。この場合の「音声認識処理2」を図8に示すフローチャートを参照して説明する。
上記第1の実施の形態と同様に、デジタル変換された音声信号が音声格納部151にバッファされたことを契機に処理が開始され、特徴抽出手段111により各フレームの特徴量が抽出され(ステップS201)、尤度算出手段112により、フレームポインタ(f)が初期化される(ステップS202)。
次に、尤度算出手段112は、当該フレームの直前のフレームにおいて尤度演算をおこなったか否かを判別する(ステップS203)。ステップS202で0番フレームが指定されているので、直前フレームでの尤度演算は行われていない。したがって、図9に示すステップS204に進む。
すなわち、直前フレームでの尤度演算がされていないフレームについては、各状態ですべての混合ガウス分布を用いて尤度演算がされ、累積尤度が更新される(ステップS204〜S213)。この処理は、第1の実施の形態と同様であるので、詳細な説明は省略する。
ステップS213で累積尤度更新がなされると、当該フレームが最終フレームであるか否かを判別し(ステップS213→ステップS217(図8))、最終フレームでない場合(ステップS217:No)、フレームポインタ(f)を1インクリメントし(ステップS218)、次のフレームについてステップS203の判別をおこなう。
上述のように、先頭フレーム(0番)では尤度演算が行われたので、ステップS203では「直前フレームで確率演算あり」と判別される(ステップS203:Yes)。この場合、尤度算出手段112は、累積尤度格納部156に展開されている累積尤度を参照して、累積尤度値が最大となっている状態番号を特定する(ステップS214)。これは、各フレーム中で累積尤度が最大となっている部分のモデルと状態番号とを調べることで当該部分の音声が子音であるか母音であるかを判別するためである。図4の例では、例えば、19フレームにおける最大累積尤度値は「4939」(上述のように、累積尤度値の逆数を取っているため、絶対値が最も小さいものが最大尤度を示す)であり、対応する状態数は「k3」である。「k3」は、「けせんぬま(k・e・s・e・N・n・u・m・a)」の「k」の第3状態部分であるから「子音」であることがわかる。
このようにして、尤度算出手段112は、当該フレームの音声が母音であるか否かを判別する(ステップS215)。
当該音声が「母音」である場合(ステップS215:Yes)、累積尤度算出手段113により、累積尤度が更新される(ステップS216)。ここでは、当該フレームでの尤度計算は行わずに、直前のフレームで算出された尤度を用いて累積尤度を更新する。これは、「子音+母音」で構成される音節が発話された場合、認識のために重要となるのは発話開始の子音部分であるため、「子音+母音」の音節における母音部分の尤度計算を省略することができるためである。
そのため、ステップS215にて「子音」であると判別された場合(ステップS215:No)は、図9に示すステップS204〜S213の処理を行い、各状態ですべての混合ガウス分布を用いた尤度演算をし、累積尤度を更新する。
全フレームについて上記処理が行われると(ステップS217:Yes)、第1の実施の形態と同様の出力処理(ステップS500)により認識結果を出力して、処理を終了する。
上記のように本実施の形態によれば、音声認識に重要でない母音部分(子音に付随する母音)については尤度計算を省略し、直前のフレームで算出した尤度を用いるので、演算数が減少し、音声認識処理の高速化を図ることができる。
(第3の実施の形態)
上記第2の実施の形態では、子音か母音かを判別し、子音に付随する母音である場合には尤度計算を省略するものとしたが、子音であっても音素単位では認識の際に重要でないものもある。このような部分の演算処理を省略することで、音声認識処理のさらなる高速化を図ることができる。
この場合、各音素毎の重要度を示す「重要度テーブル」を、例えば、音響モデル格納部153に予め蓄積しておき、重要度に応じて演算の省略要否を判別する。重要度テーブルの例を図10に示す。図示するように、この重要度テーブルには、「子音」と「母音」それぞれについて、音素毎の状態数に応じて重要度が設定される。重要度は、例えば、0〜2の3値で表され、「0」が「重要度:低」(重要でない)を示し、「1」が「重要度:中」(やや重要)を示し、「2」が「重要度:高」(重要)を示す。
図示するように、「子音」の状態番号1〜2には、重要度「2」が設定され、状態番号3には重要度「1」が設定されている。これは、上述のように「子音」は音声認識の際に重要な音声であるが、音素レベルでは発話開始部(すなわち、状態番号1〜2)がより重要で、次の音素に近い部分(すなわち、状態番号3)はあまり重要ではないためである。また、「母音」の状態数1には、重要度「1」が設定され、状態番号2〜3には重要度「0」が設定されている。これは、上述のように「子音+母音」の音節では、認識する上で母音部は重要でないが、母音のみの音節は認識処理を行わなければ単語を抽出することができない。したがって、母音の発話開始部分を示す状態番号1を「やや重要」とし、後半部分である状態番号2〜3は「重要でない」としている。
このように設定された重要度に基づいて音声認識をおこなう「音声認識処理3」を図11に示すフローチャートを参照して説明する。
上記各実施の形態と同様に、デジタル変換された音声信号が音声格納部151にバッファされたことを契機に処理が開始され、特徴抽出手段111により各フレームの特徴量が抽出され(ステップS301)、尤度算出手段112により、フレームポインタ(f)が初期化される(ステップS302)。
次に、尤度算出手段112は、当該フレームの直前のフレームにおいて尤度演算をおこなったか否かを判別する(ステップS303)。ここで、直前フレームにおける尤度演算が行われていない場合(ステップS303:No)、上記第2の実施の形態におけるステップS204〜S213(図9)と同様の処理を行うことで、各状態に対応するすべての混合ガウス分布を用いて尤度演算をおこなう(ステップS304)。
一方、直前フレームにおいて尤度演算が行われていた場合(ステップS303:Yes)、尤度算出手段112は、累積尤度格納部156に展開されている累積尤度を参照して、累積尤度値が最大となっている状態番号を特定することで(ステップS305)、現在のフレームで示される音声が子音であるか否かを判別する(ステップS306)。
ここで、当該音声が子音である場合(ステップS306:Yes)、尤度算出手段112は、音響モデル格納部153の重要度テーブルを参照し、「子音」とステップS305で特定された「状態番号」とに対応する重要度がいずれであるかを判別する。ここで、当該重要度が「1」である場合(ステップS307:Yes)、尤度算出手段112は、当該フレームでの尤度演算を省略する。そして、累積尤度算出手段113は、直前のフレームで算出された尤度を用いて累積尤度を更新し(ステップS308)、ノード作成手段114が候補単語と更新された累積尤度とを対応付けて展開する。
すなわち、重要度テーブルでは、「子音」についての重要度に「2」と「1」が設定されているが、そのうちのより重要でない「重要度:1」となった音素について尤度演算を省略するものである。
一方、重要度が「2」の場合(ステップS307:No)、上記第2の実施の形態におけるステップS204〜S213(図9)と同様の処理を行うことで、各状態に対応するすべての混合ガウス分布を用いて尤度演算をおこなう(ステップS304)。すなわち、認識のために重要な音素については、対応するすべての混合ガウス分布を用いて尤度演算をおこなう。
また、当該音声が「母音」である場合(ステップS306:No)、尤度算出手段112は、重要度テーブルを参照し、「子音」とステップS305で特定された「状態番号」とに対応する重要度がいずれであるかを判別する。ここで、当該重要度が「0」である場合(ステップS309:No)、尤度算出手段112は、当該フレームでの尤度演算を省略する。そして、累積尤度算出手段113は、直前のフレームで算出された尤度を用いて累積尤度を更新し(ステップS308)、ノード作成手段114が候補単語と更新された累積尤度とを対応付けて展開する。
すなわち、重要度テーブルでは、「母音」についての重要度に「1」と「0」が設定されているが、そのうちのより重要でない「重要度:0」となった音素について尤度演算を省略するものである。
一方、重要度が「1」の場合(ステップS309:Yes)、上記第2の実施の形態におけるステップS204〜S213(図9)と同様の処理を行うことで、各状態に対応するすべての混合ガウス分布を用いて尤度演算をおこなう(ステップS304)。すなわち、発話開始部が母音である可能性のある音素は認識のために重要であるので、対応するすべての混合ガウス分布を用いて尤度演算をおこなう。
尤度算出手段112および累積尤度算出手段113は、上記処理を最終フレームまで順次実施し(ステップS310:No、S311)、最終フレームの処理が終了すると(ステップS310:Yes)、上述した出力処理(ステップS500)で認識結果を出力し、処理を終了する。
上記第3の実施の形態によれば、認識のために重要な「子音」のうち、音素レベルで重要度を分け、比較的重要度が低い音素についての尤度演算を省略することで、母音についての尤度演算を省略する場合より高速化を図ることができる。また、母音については、発話開始部分が母音である場合などは尤度演算を省略しないので、高速化を図りつつ、より認識精度を高めることができる。
なお、上記第1〜3の各実施の形態に記載の構成および方法を適宜組み合わせて音声認識をおこなってもよい。すなわち、処理対象フレームが偶数フレームの場合、各状態におけるすべての混合ガウス分布を用いて確率演算して累積尤度を更新する(以下、「通常処理」とする)とともに、出力確率が最大であった混合ガウス分布の確率値より所定値以上低い確率値であった分布については、次回省略するよう次回省略フラグを設定する。一方、処理対象が奇数フレームの場合、直前フレームで尤度演算していなかった場合は、通常処理をおこない、直前フレームでの尤度演算がない場合は、重要度テーブルを参照して、重要度に応じて演算を省略するか否かを決定する。ここで、重要度が「2」の場合は通常処理をおこなう。重要度が「1」の場合は、尤度演算は実行するが、次回省略フラグが「1」となっている混合ガウス分布についての演算は省略する。また、重要度が「0」の場合は、尤度演算を省略し、前フレームで算出された尤度を用いて累積尤度を更新する。
このような構成によれば、省略可能な演算処理をより詳細に決定することができ、高い認識精度と高速化を両立させることができる。
なお、上記実施の形態においては、重要度を3値で示したが、重要度の設定はこれに限られず任意である。すなわち、音声認識装置の能力や、認識対象によって、重要度を任意に設定することで、適切な認識精度と処理速度にすることができる。
また、上記各実施の形態における音声認識装置100は、専用装置で構成可能であることはもとより、例えば、パーソナルコンピュータなどの汎用コンピュータ装置などで構成することができる。この場合、上記各実施の形態に示した処理をコンピュータ装置上で実現するためのプログラムをコンピュータ装置にインストールすることにより、本発明にかかる音声認識装置100を構成することができる。この場合のプログラムの配布方法は任意であり、例えば、CD−ROMなどの記録媒体に格納して配布可能であることはもとより、搬送波に重畳させることで、インターネットなどの通信媒体を介して配布することができる。
すなわち、本発明にかかる音声認識装置は、例えば、携帯型の翻訳装置などとして実現できる他、パーソナルコンピュータやゲーム装置などで動作するアプリケーションとして実現することができ、高速な音声認識を実現するものである。
また、既存の音声認識装置や音声認識アプリケーションなどに、本発明にかかる各処理を実現するためのプログラムを追加すること(例えば、バージョンアップなど)により、音声認識処理を高速化することができる。
以上説明したように、本発明によれば、混合分布数の多少に関わらず、高速な音声認識と高い認識精度を実現することができる。
本発明の実施の形態にかかる音声認識装置の構成を示すブロック図である。 図1に示す音声認識装置の制御部で実現される機能を示す機能ブロック図である。 図1に示す記憶部の詳細を示す図である。 図3に示す累積尤度格納部に展開される累積尤度値の例を示す図である。 本発明の第1の実施の形態にかかる「音声認識処理1」を説明するためのフローチャートである。 図5に示す処理で実行される「省略要否決定処理」を説明するためのフローチャートである。 本発明の第1の実施の形態にかかる「音声認識処理1」を説明するためのフローチャートである。 本発明の第2の実施の形態にかかる「音声認識処理2」を説明するためのフローチャートである。 本発明の第2の実施の形態にかかる「音声認識処理2」を説明するためのフローチャートである。 本発明の第3の実施の形態にかかる「重要度テーブル」の例を示す図である。 本発明の第3の実施の形態にかかる「音声認識処理3」を説明するためのフローチャートである。
符号の説明
100…音声認識装置、111…特徴抽出手段、112…尤度算出手段、113…累積尤度算出手段、114…ノード作成手段、115…音声認識手段、151…音声格納部、152…特徴格納部、153…音響モデル格納部、154…文法格納部、155…辞書格納部、156…累積尤度格納部

Claims (5)

  1. 入力された音声について複数の所定長フレーム毎に抽出した特徴量と、所定の混合ガウス分布を含む隠れマルコフモデルとに基づいて、各音素の状態遷移確率を算出する確率算出手段と、
    算出された状態遷移確率をガウス分布毎の所定の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出手段と、
    当該フレームより前のフレームで算出された尤度の累積値を順次算出する累積尤度算出手段と、
    前記累積尤度算出手段が算出した累積尤度に基づいて、前記入力された音声の音声認識をおこなう音声認識手段と、
    を備える音声認識装置において、
    各フレームについて、前記累積尤度算出手段が算出した累積尤度に基づいて、各フレームの音声が重要であるか否かを判別し、重要でないと判別したフレームを所定のフレームとして識別するフレーム識別手段を備え、
    前記確率算出手段、前記尤度算出手段、および、前記累積尤度算出手段は、前記フレーム識別手段が識別した前記所定のフレームでは所定の演算動作を省略する、
    ことを特徴とする音声認識装置。
  2. 前記フレーム識別手段は、
    各隠れマルコフモデル毎に付与された重要度を示す情報を記憶する重要度情報記憶手段をさらに備え、
    前記重要度情報記憶手段に記憶された重要度情報に基づいて、各フレームの音声が重要であるか否かを判別する、
    ことを特徴とする請求項に記載の音声認識装置。
  3. 前記尤度算出手段は、前記識別された所定フレームにおける尤度演算を省略し、
    前記累積尤度算出手段は、当該所定フレームの直前のフレームで算出された尤度を用いて、当該所定フレームにおける累積尤度を算出する、
    ことを特徴とする請求項1または2に記載の音声認識装置。
  4. 所定の装置による隠れマルコフモデルを用いた音声認識を高速化する音声認識高速化方法であって、
    所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを取得するモデル取得ステップと、
    対象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出する特徴量抽出ステップと、
    各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出する確率算出ステップと、
    算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出ステップと、
    算出された各隠れマルコフモデル毎の尤度と、当該フレームの直前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出する累積尤度算出ステップと、
    前記算出された累積尤度に基づいて音声認識を行う音声認識ステップと、
    子音を示すフレームのうち、各子音の状態数に基づいて当該子音が重要であるか否かを判別することにより、重要でない音声を含むフレームにおける尤度算出を省略することを決定する省略要否決定ステップと、
    を備え、
    算出動作の省略が決定されたフレームにおける当該算出動作を省略する、
    ことを特徴とする音声認識高速化方法。
  5. コンピュータを
    所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを取得し、
    象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出し、
    各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出し、
    算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出し、
    算出された各隠れマルコフモデル毎の尤度と、当該フレームの直前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出し、
    前記算出された累積尤度に基づいて音声認識を行う音声認識装置であって、
    子音を示すフレームのうち、各子音の状態数に基づいて当該子音が重要であるか否かを判別することにより、重要でない子音を含むフレームにおける尤度算出を省略することを決定し、該算出動作の省略が決定されたフレームにおける当該算出動作を省略する、
    ことを特徴とする音声認識装置として機能させるプログラム。
JP2003307378A 2003-08-29 2003-08-29 音声認識装置、音声認識高速化方法、および、プログラム Expired - Fee Related JP4379050B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003307378A JP4379050B2 (ja) 2003-08-29 2003-08-29 音声認識装置、音声認識高速化方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003307378A JP4379050B2 (ja) 2003-08-29 2003-08-29 音声認識装置、音声認識高速化方法、および、プログラム

Publications (2)

Publication Number Publication Date
JP2005077682A JP2005077682A (ja) 2005-03-24
JP4379050B2 true JP4379050B2 (ja) 2009-12-09

Family

ID=34410177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003307378A Expired - Fee Related JP4379050B2 (ja) 2003-08-29 2003-08-29 音声認識装置、音声認識高速化方法、および、プログラム

Country Status (1)

Country Link
JP (1) JP4379050B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193813A (ja) * 2006-01-20 2007-08-02 Mitsubishi Electric Research Laboratories Inc データサンプルを複数のクラスのうちの1つに分類する方法及びデータサンプルを2つのクラスのうちの1つに分類する方法
JP5315976B2 (ja) * 2008-12-19 2013-10-16 カシオ計算機株式会社 音声認識装置、音声認識方法、および、プログラム
US11348572B2 (en) 2017-10-23 2022-05-31 Samsung Electronics Co., Ltd. Speech recognition method and apparatus

Also Published As

Publication number Publication date
JP2005077682A (ja) 2005-03-24

Similar Documents

Publication Publication Date Title
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
JP4224250B2 (ja) 音声認識装置、音声認識方法および音声認識プログラム
JP2007249212A (ja) テキスト音声合成のための方法、コンピュータプログラム及びプロセッサ
JP2005043666A (ja) 音声認識装置
JP2006526160A (ja) 語彙強調予測
US20230036020A1 (en) Text-to-Speech Synthesis Method and System, a Method of Training a Text-to-Speech Synthesis System, and a Method of Calculating an Expressivity Score
US7181391B1 (en) Method, apparatus, and system for bottom-up tone integration to Chinese continuous speech recognition system
CN107610693B (zh) 文本语料库的构建方法和装置
JP2007047412A (ja) 認識文法モデル作成装置、認識文法モデル作成方法、および、音声認識装置
JP2662112B2 (ja) 発声された単語のモデル化方法および装置
JP4298672B2 (ja) 混合分布hmmの状態の出力確率計算方法および装置
JP4859125B2 (ja) 発音評定装置、およびプログラム
JP3919475B2 (ja) 話者特徴抽出装置および話者特徴抽出方法、音声認識装置、並びに、プログラム記録媒体
JP4379050B2 (ja) 音声認識装置、音声認識高速化方法、および、プログラム
Taubert et al. A comparison of text selection algorithms for sequence-to-sequence neural tts
US8200478B2 (en) Voice recognition device which recognizes contents of speech
JP2008026721A (ja) 音声認識装置、音声認識方法、および音声認識用プログラム
JP4610451B2 (ja) 音声認識装置及びプログラム
JP4586386B2 (ja) 素片接続型音声合成装置及び方法
WO2012032748A1 (ja) 音声合成装置、音声合成方法及び音声合成プログラム
JP2004191705A (ja) 音声認識装置
JP2017198790A (ja) 音声評定装置、音声評定方法、教師変化情報の生産方法、およびプログラム
JP5315976B2 (ja) 音声認識装置、音声認識方法、および、プログラム
JP5344396B2 (ja) 言語学習装置、言語学習プログラム及び言語学習方法
KR20060043023A (ko) 음성 합성 장치, 음성 합성 방법, 및 음성 합성 프로그램을기억한 기억 매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090730

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: 20090825

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: 20090907

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4379050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees