(57)【特許請求の範囲】
【請求項１】
入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を認識する音声認識装置であって、
音声認識の対象とする単語群から、既に前記スコアの計算がされた単語に接続される単語の候補である候補単語と、前記候補単語に連続して続く単語の候補である１以上の単語とからなる単語列を選択する単語列選択手段と、
ユーザが発した前記音声の特徴量を、前記特徴量が抽出された抽出時刻とともに保持する保持手段と、
前記スコアを計算済みの単語の発話の終了時刻に基づいて、前記保持手段から、前記候補単語のスコアを計算するために用いる特徴量の系列を読み出す読み出し手段と、
前記候補単語のスコアを計算するスコア計算手段と、
時刻情報を有する、単語どうしの境界を表すノードを介して、計算された前記スコアを有する、前記候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報を記憶する接続関係記憶手段と、
前記単語接続情報において、前記複数のパス毎に、前記パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、前記音声認識結果となる単語列を確定する確定手段と
を備え、
前記単語列選択手段は、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、前記単語群が登録されており、前記単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、前記単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び前記特徴量の系列に基づいて、前記単語辞書に登録されている前記単語群から前記単語列を選択し、
前記スコア計算手段は、前記第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、前記第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、前記第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び前記特徴量の系列に基づいて、前記候補単語のスコアを計算する
音声認識装置。
【請求項２】
前記スコア計算手段は、
前記第２の辞書データベース及び前記第２の音響モデルデータベースを用いて構成される前記候補単語の単語モデルに基づき、前記読み出し手段により読み出された前記特徴量の系列を用いて、前記候補単語についての音響的なスコアを算出し、
前記第２の文法データベースに基づいて、前記候補単語についての言語的なスコアを算出し、
算出した音響的なスコアおよび言語的なスコアを総合評価して得られる前記候補単語のスコアを計算する
請求項１に記載の音声認識装置。
【請求項３】
前記スコア計算手段は、前記第２の文法データベースに基づき、前記候補単語の前後の単語に応じて、前記候補単語についての前記言語的なスコアを算出する
請求項２に記載の音声認識装置。
【請求項４】
前記音声認識の対象とする単語群を記憶している記憶手段として、前記第１の辞書データベースをさらに備える
請求項１に記載の音声認識装置。
【請求項５】
前記音声から、その特徴量を抽出する抽出手段をさらに備え、
前記保持手段は、前記抽出手段により抽出された前記特徴量を、前記抽出時刻とともに保持し、
前記スコア計算手段は、前記候補単語の単語モデルに基づき、前記読み出し手段により読み出された前記特徴量の系列を用いて、前記候補単語についての前記音響的なスコアを算出する
請求項２に記載の音声認識装置。
【請求項６】
入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を認識する音声認識装置の音声認識方法であって、
音声認識の対象とする単語群から、既に前記スコアの計算がされた単語に接続される単語の候補である候補単語と、前記候補単語に連続して続く単語の候補である１以上の単語とからなる単語列を選択する単語列選択ステップと、
前記スコアを計算済みの単語の発話の終了時刻に基づいて、ユーザが発した前記音声の特徴量を、前記特徴量が抽出された抽出時刻とともに保持する保持手段から、前記候補単語のスコアを計算するために用いる特徴量の系列を読み出す読み出しステップと、
前記候補単語のスコアを計算するスコア計算ステップと、
時刻情報を有する、単語どうしの境界を表すノードを介して、計算された前記スコアを有する、前記候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報を記憶させる接続関係記憶ステップと、
前記単語接続情報において、前記複数のパス毎に、前記パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、前記音声認識結果となる単語列を確定する確定ステップと
を備え、
前記単語列選択ステップは、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、前記単語群が登録されており、前記単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、前記単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び前記特徴量の系列に基づいて、前記単語辞書に登録されている前記単語群から前記単語列を選択し、
前記スコア計算ステップは、前記第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、前記第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、前記第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び前記特徴量の系列に基づいて、前記候補単語のスコアを計算する
音声認識方法。
【請求項７】
入力された音声に対して、その音声認識結果の尤度を表すスコアを計算し、そのスコアに基づいて、前記音声を認識する音声認識処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
音声認識の対象とする単語群から、既に前記スコアの計算がされた単語に接続される単語の候補である候補単語と、前記候補単語に連続して続く単語の候補である１以上の単語とからなる単語列を選択する単語列選択ステップと、
前記スコアを計算済みの単語の発話の終了時刻に基づいて、ユーザが発した前記音声の特徴量を、前記特徴量が抽出された抽出時刻とともに保持する保持手段から、前記候補単語のスコアを計算するために用いる特徴量の系列を読み出す読み出しステップと、
前記候補単語のスコアを計算するスコア計算ステップと、
時刻情報を有する、単語どうしの境界を表すノードを介して、計算された前記スコアを有する、前記候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報を記憶させる接続関係記憶ステップと、
前記単語接続情報において、前記複数のパス毎に、前記パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、前記音声認識結果となる単語列を確定する確定ステップと
を含み、
前記単語列選択ステップは、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、前記単語群が登録されており、前記単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、前記単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び前記特徴量の系列に基づいて、前記単語辞書に登録されている前記単語群から前記単語列を選択し、
前記スコア計算ステップは、前記第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、前記第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、前記第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び前記特徴量の系列に基づいて、前記候補単語のスコアを計算する
音声認識処理を、コンピュータに行なわせるプログラムが記録されている記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声認識装置および音声認識方法、並びに記録媒体に関し、特に、例えば、高速、かつ高精度な音声認識を行うことができるようにする音声認識装置および音声認識方法、並びに記録媒体に関する。
【０００２】
【従来の技術】
図１は、従来の音声認識装置の一例の構成を示している。
【０００３】
ユーザが発した音声は、マイク（マイクロフォン）１に入力され、マイク１では、その入力音声が、電気信号としての音声信号に変換される。この音声信号は、ＡＤ(Analog Digital)変換部２に供給される。ＡＤ変換部２では、マイク１からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データに変換される。この音声データは、特徴抽出部３に供給される。
【０００４】
特徴抽出部３は、ＡＤ変換部２からの音声データについて、適当なフレームごとに音響処理を施し、これにより、例えば、ＭＦＣＣ(Mel Frequency Cepstrum Coefficient)等の特徴量を抽出し、マッチング部４に供給する。なお、特徴抽出部３では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴量を抽出することが可能である。
【０００５】
マッチング部４は、特徴抽出部３からの特徴量を用いて、音響モデルデータベース５、辞書データベース６、および文法データベース７を必要に応じて参照しながら、マイク１に入力された音声（入力音声）を、例えば、連続分布ＨＭＭ法等に基づいて音声認識する。
【０００６】
即ち、音響モデルデータベース５は、音声認識する音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布ＨＭＭ法に基づいて音声認識を行うので、音響モデルとしては、例えば、ＨＭＭ(Hidden Markov Model)が用いられる。辞書データベース６は、認識対象の各単語について、その発音に関する情報（音韻情報）が記述された単語辞書を記憶している。文法データベース７は、辞書データベース６の単語辞書に登録されている各単語が、どのように連鎖する（つながる）かを記述した文法規則（言語モデル）を記憶している。ここで、文法規則としては、例えば、文脈自由文法（ＣＦＧ）や、統計的な単語連鎖確率（Ｎ−ｇｒａｍ）などに基づく規則を用いることができる。
【０００７】
マッチング部４は、辞書データベース６の単語辞書を参照することにより、音響モデルデータベース５に記憶されている音響モデルを接続することで、単語の音響モデル（単語モデル）を構成する。さらに、マッチング部４は、幾つかの単語モデルを、文法データベース７に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴量に基づき、連続分布ＨＭＭ法によって、マイク１に入力された音声を認識する。即ち、マッチング部４は、特徴抽出部３が出力する時系列の特徴量が観測されるスコア（尤度）が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【０００８】
即ち、マッチング部４は、接続された単語モデルに対応する単語列について、各特徴量の出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列を、音声認識結果として出力する。
【０００９】
スコア計算は、一般に、音響モデルデータベース５に記憶された音響モデルによって与えられる音響的なスコア（以下、適宜、音響スコアという）と、文法データベース７に記憶された文法規則によって与えられる言語的なスコア（以下、適宜、言語スコアという）とを総合評価することで行われる。
【００１０】
即ち、音響スコアは、例えば、ＨＭＭ法による場合には、単語モデルを構成する音響モデルから、特徴抽出部３が出力する特徴量の系列が観測される確率（出現する確率）に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖（連接）する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア（以下、適宜、最終スコアという）に基づいて、音声認識結果が確定される。
【００１１】
具体的には、あるＮ個の単語からなる単語列におけるｋ番目の単語をｗkとして、その単語ｗkの音響スコアをＡ（ｗk）と、言語スコアをＬ（ｗk）と、それぞれ表すとき、その単語列の最終スコアＳは、例えば、次式にしたがって計算される。
【００１２】
Ｓ＝Σ（Ａ（ｗk）＋Ｃk×Ｌ（ｗk））・・・（１）
但し、Σは、ｋを１からＮに変えてのサメーションをとることを表す。また、Ｃkは、単語ｗkの言語スコアＬ（ｗk）にかける重みを表す。
【００１３】
マッチング部４では、例えば、式（１）に示す最終スコアを最も大きくするＮと、単語列ｗ1，ｗ2，・・・，ｗNを求めるマッチング処理が行われ、その単語列ｗ1，ｗ2，・・・，ｗNが、音声認識結果として出力される。
【００１４】
以上のような処理が行われることにより、図１の音声認識装置では、例えば、ユーザが、「ニューヨークに行きたいです」と発話した場合には、「ニューヨーク」、「に」、「行きたい」、「です」といった各単語に、音響スコアおよび言語スコアが与えられ、それらを総合評価して得られる最終スコアが最も大きいときと、単語列「ニューヨーク」、「に」、「行きたい」、「です」が、音声認識結果として出力される。
【００１５】
ところで、上述の場合において、辞書データベース６の単語辞書に、「ニューヨーク」、「に」、「行きたい」、および「です」の５単語が登録されているとすると、これらの５単語を用いて構成しうる５単語の並びは、５5通り存在する。従って、単純には、マッチング部４では、この５5通りの単語列を評価し、その中から、ユーザの発話に最も適合するもの（最終スコアを最も大きくするもの）を決定しなければならない。そして、単語辞書に登録する単語数が増えれば、その単語数分の単語の並びの数は、単語数の単語数乗通りになるから、評価の対象としなければならない単語列は、膨大な数となる。
【００１６】
さらに、一般には、発話中に含まれる単語の数は未知であるから、５単語の並びからなる単語列だけでなく、１単語、２単語、・・・からなる単語列も、評価の対象とする必要がある。従って、評価すべき単語列の数は、さらに膨大なものとなるから、そのような膨大な単語列の中から、音声認識結果として最も確からしいものを、計算量および使用するメモリ容量の観点から効率的に決定することは、非常に重要な問題である。
【００１７】
計算量およびメモリ容量の効率化を図る方法としては、例えば、音響スコアを求める過程において、その途中で得られる音響スコアが所定の閾値以下となった場合に、そのスコア計算を打ち切るという音響的な枝刈り手法や、言語スコアに基づいて、スコア計算の対象とする単語を絞り込む言語的な枝刈り手法がある。
【００１８】
これらの枝刈り手法によれば、スコア計算の対象が、所定の判断基準（例えば、上述したような計算途中の音響スコアや、単語に与えられる言語スコア）に基づいて絞り込まれることで、計算量の削減を図ることができる。しかしながら、その反面、絞り込みを強くすると、即ち、判断基準を厳しくすると、本来、音声認識結果として正しいものまでも枝刈りされてしまい、誤認識が生じることになる。従って、枝刈り手法による場合には、音声認識結果として正しいものが枝刈りされないように、ある程度のマージンをもたせた絞り込みを行う必要があり、このため、計算量を大きく削減することは困難である。
【００１９】
また、音響スコアを求める場合に、スコア計算の対象となっているすべての単語について独立に行うと、その計算量が大きくなることから、複数の単語についての音響スコアの計算の一部を共通化（共有化）する方法が提案されている。この共通化の方法としては、単語辞書の単語のうち、その先頭の音韻が同一のものについて、その先頭の音韻から、同一になっている音韻までは、音響モデルを共通に用い、それ以後の異なる音韻には、音響モデルを個々に用いることにより、全体として１つの木構造のネットワークを構成し、これを用いて、音響スコアを求める方法がある。具体的には、例えば、いま、単語「秋田」と「曙」を考え、「秋田」の音韻情報が「akita」であり、「曙」の音韻情報が「akebono」であるとすると、単語「秋田」と「曙」の音響スコアは、それぞれの先頭から２番目までの同一の音韻a,kについては兼用で計算される。そして、単語「秋田」の残りの音韻k,i,t,a、および単語「曙」の残りの音韻e,b,o,n,oについては、それぞれ独立に音響スコアが計算される。
【００２０】
従って、この方法によれば、音響スコアの計算量を大幅に低減することができる。
【００２１】
しかしながら、この方法では、共通化されている部分（音響スコアが兼用で計算される部分）において、その音響スコアの計算の対象となっている単語を決定することができない。即ち、上述の単語「秋田」と「曙」の例でいえば、それぞれの先頭から２番目までの音韻a,kについて音響スコアが計算されている場合は、その音響スコアが計算されている単語が、「秋田」であるのか、または「曙」であるのかを同定することができない。
【００２２】
そして、この場合、「秋田」については、その３番目の音韻iについて音響スコアの計算が開始されたときに、その計算対象が「秋田」であることを同定することができ、「曙」についても、その３番目の音韻eについての音響スコアの計算が開始されたときに、その計算対象が「曙」であることを同定することができる。
【００２３】
従って、音響スコアの計算の一部を共通化してしまうと、単語の音響スコアの計算の開始時に、その単語を同定することができないため、その単語について、言語スコアを考慮することができない。その結果、単語の音響スコアの開始前に、上述したような言語的な枝刈り手法を用いることが困難となり、無駄な計算が行われることがある。
【００２４】
さらに、音響スコアの計算の一部を共通化する場合、単語辞書のすべての単語を対象として、上述したような木構造のネットワークが構成されるから、これを保持するための大きなメモリ容量が必要となる。
【００２５】
また、計算量およびメモリ容量の効率化を図る方法としては、音響スコアを計算する場合に、単語辞書のすべての単語を対象とするのではなく、その音響スコアの計算の対象とする単語を予備的に選択（予備選択）し、その予備選択された単語についてだけ、音響スコアを計算する方法がある。ここで、予備選択は、例えば、それほど精度の高くない、簡易的な音響モデルや文法規則を用いて行われる。
【００２６】
なお、予備選択の方法は、例えば、L. R. Bahl, S. V. De Gennaro, P. S. Gopalakrishnan and R. L. Mercer, "A Fast Approximate Acoustic Match for Large Vocabulary Speech Recognition", IEEE Trans. Speech and Audio Proc., vol. 1, pp.59-67, 1993等に記載されている。
【００２７】
ところで、単語の音響スコアは、音声の特徴量の系列を用いて計算されるが、その計算に使用する特徴量の系列の始点や終点が異なれば、求められる音響スコアも変化する。そして、この変化は、音響スコアと言語スコアとを総合評価して求められる式（１）の最終スコアに影響する。
【００２８】
ある単語に対応する特徴量の系列の始点および終点、即ち、単語どうしの境界（単語境界）は、例えば、動的計画法(Dynamic Programming)を用いて求めることができる。即ち、特徴量の系列の任意の点を、単語境界の候補とし、音声認識結果の候補となる単語列の単語について、その音響スコアと言語スコアとを総合評価したスコア（以下、適宜、単語スコアという）を、逐次累積していく。そして、その単語スコアの累積の際に、最も大きい累積値を与える単語境界の候補を、その累積値とともに記憶していく。
【００２９】
これにより、最終的な単語スコアの累積値が求めらると、最も良い累積値、即ち、最も大きい最終スコアを与える単語境界も求められる。
【００３０】
上述のようにして単語境界を求める方法は、ビタビデコーディング(Viterbi decoding)、あるいはワンパスデコーディング(One pass decoding)等と呼ばれ、例えば、中川聖一、「確率モデルによる音声認識」、電子情報通信学会、pp.20-26、１９８８年７月１日等に、その詳細が記載されている。
【００３１】
上述の予備選択を効果的に行うには、単語境界をどこにするか、即ち、特徴量の系列（特徴量系列）のどの点を始点とするかが非常に重要である。
【００３２】
具体的には、例えば、図２（Ａ）に示すような、音声「今日はいい天気ですね」について得られた特徴量系列において、「今日」と「は」との正しい単語境界が、時刻ｔ1である場合において、単語「今日」に続く単語「は」に関して予備選択を行うときに、正しい時刻ｔ1より先行する時刻ｔ1-1を始点として予備選択を行うと、その予備選択には、単語「は」の特徴量だけでなく、その直前の単語「今日」の最後の部分の特徴量が影響する。一方、正しい時刻ｔ1より後行する時刻ｔ1+1を始点として予備選択を行うと、その予備選択においては、単語「は」の最初の部分の特徴量が用いられないことになる。
【００３３】
従って、いずれにしても、始点を誤ると、予備選択、ひいては、その後に行われるマッチング処理に悪影響を与えることとなる。
【００３４】
なお、図２においては（後述する図５および図６においても同様）、左から右方向が、時間の経過を表しており、また、音声区間の開始時刻を０として、音声区間は時刻Ｔで終了するものとしてある。
【００３５】
上述した動的計画法を用いる方法では、特徴量系列の最後、即ち、図２においては、音声区間の終了時刻Ｔまでの単語スコア（音響スコアおよび言語スコア）の計算が終了しないと、最終的な単語境界を決定することができないため、予備選択を行う段階では、その予備選択の始点となる単語境界を一意に決定することは困難である。
【００３６】
そこで、単語境界の候補を、音声区間の特徴量系列を用いた単語スコアの計算が終了するまで保持しておく方法がある。
【００３７】
この方法では、例えば、音声区間の開始時刻０を始点として、単語「今日」の単語スコアを計算した場合に、時刻ｔ1-1，ｔ1，ｔ1+1が、単語「今日」の発話の終点の候補として求まったとすると、この３通りの時刻ｔ1-1，ｔ1，ｔ1+1が保持され、それぞれを始点として、次の単語の予備選択が行われる。
【００３８】
いま、この予備選択によって、時刻ｔ1-1を始点とした場合には、「は」と「いい」の２単語が、時刻ｔ1を始点とした場合には、「は」の１単語が、時刻ｔ1+1を始点とした場合には、「は」と「いい」の２単語が、それぞれ得られたとし、さらに、これらの各単語を対象として単語スコアの計算を行うことにより、図２（Ｂ）乃至図２（Ｇ）に示すような結果が得られたとする。
【００３９】
即ち、図２（Ｂ）は、時刻ｔ1-1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻ｔ2が得られた状態を示しており、図２（Ｃ）は、時刻ｔ1-1を始点として、単語「いい」の単語スコアの計算を行い、その終点の候補として、時刻ｔ2+1が得られた状態を示している。また、図２（Ｄ）は、時刻ｔ1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻ｔ2+1が得られた状態を示しており、図２（Ｅ）は、時刻ｔ1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻ｔ2が得られた状態を示している。さらに、図２（Ｆ）は、時刻ｔ1+1を始点として、単語「は」の単語スコアの計算を行い、その終点の候補として、時刻ｔ2が得られた状態を示しており、図２（Ｇ）は、時刻ｔ1+1を始点として、単語「いい」の単語スコアの計算を行い、その終点の候補として、時刻ｔ2+2が得られた状態を示している。なお、図２においては、ｔ1-1＜ｔ1＜ｔ1+1＜ｔ2＜ｔ2+1＜ｔ2+2となっている。
【００４０】
図２（Ｂ）乃至図２（Ｇ）のうち、図２（Ｂ）、図２（Ｅ）、および図２（Ｆ）に示したものについては、いずれも、音声認識結果の候補としての単語列が、「今日」、「は」で同一あり、さらに、その単語列の最後「は」の終点も、時刻ｔ2で同一であるから、その中から最も適切なものを、例えば、時刻ｔ2までの単語スコアの累積値等に基づいて選び、残りを破棄することが可能である。
【００４１】
しかしながら、いまの時点では、図２（Ｂ）、図２（Ｅ）、または図２（Ｆ）のうちから選んだものに、図２（Ｃ）、図２（Ｄ）、図２（Ｇ）に示したものを加えた中から、正しいものを確定することはできないから、これらの４通りの場合を保持しておく必要がある。そして、この４通りの場合それぞれについて、再び、予備選択を行っていくことになる。
【００４２】
従って、この方法では、音声区間の特徴量系列を用いた単語スコアの計算が終了するまで、多くの単語境界の候補を保持しながら、単語スコアの計算を行っていく必要があり、計算量およびメモリ容量の効率化の観点からは好ましくない。
【００４３】
また、この場合、単語境界の候補として、真に正しい単語境界を保持していれば、原理的には、上述の動的計画法を用いた場合と同様の正しい単語境界を、最終的に得ることができるが、その反面、単語境界の候補として、真に正しい単語境界を保持し損ねると、その単語境界を始点または終点とする単語を誤認識し、さらには、それに起因して、その後に続く単語も誤認識することがある。
【００４４】
一方、近年においては、音響モデルとして、前後のコンテキストに依存するもの（考慮したもの）が用いられるようになってきている。前後のコンテキストに依存する音響モデルとは、同一の音節（または音素）の音響モデルであっても、その直前や直後の音節によって異なるものとしてモデル化したもので、従って、例えば、音節「あ」は、その直前や直後の音節が、例えば、「か」の場合と「さ」の場合とで、異なる音響モデルにモデル化される。
【００４５】
前後のコンテキストに依存する音響モデルとしては、大きく分けて、単語内のコンテキストに依存する音響モデルと、単語間にまたがるコンテキストに依存する音響モデルとがある。
【００４６】
単語内のコンテキストに依存する音響モデルを用いる場合には、「今日」（きょう）という単語モデルを、音響モデル「きょ」と「う」とを連結して作成するときに、音響モデル「きょ」として、その直後の音節「う」に依存したもの（直後の音節「う」の影響を考慮した音響モデル「きょ」）が用いられ、あるいは、音響モデル「う」として、その直前の音節「きょ」に依存したものが用いられる。
【００４７】
一方、単語間にまたがるコンテキストに依存する音響モデルを用いる場合には、上述のように、「今日」という単語モデルを、音響モデル「きょ」と「う」とを連結して作成するときに、その後につづく単語が「は」であれば、音響モデル「う」として、その直後の単語の最初の音節「は」に依存したものが用いられる。この単語間にまたがるコンテキストに依存する音響モデルは、クロスワードモデルと呼ばれる。
【００４８】
このクロスワードモデルを、予備選択を行う音声認識に適用した場合には、予備選択された単語について、その直前の単語との間のコンテキストは考慮することができるが、その直後の単語は、まだ決まっていないから、その直後の単語との間のコンテキストは考慮することができない。
【００４９】
そこで、予備選択される単語について、その単語の直後に位置する可能性の高い単語を、あらかじめ求めておき、その単語との間のコンテキストを考慮して、単語モデルを作成する方法がある。即ち、例えば、単語「今日」について、その直後に、「は」や、「が」、「の」などが位置する可能性が高い場合には、単語「今日」の単語モデルの最後の音節に対応する音響モデル「う」として、「は」、「が」、「の」をそれぞれ考慮したものを用いて、単語モデルを作成する方法がある。
【００５０】
しかしながら、この方法では、余分なコンテキストまでも必ず考慮してしまうため、演算量およびメモリ容量の効率化の観点からは好ましくない。
【００５１】
また、同様の理由から、予備選択された単語について、その言語スコアを、その直後の単語を考慮して計算することも困難である。
【００５２】
一方、注目している単語（注目単語）に対して先行する単語だけでなく、後行する単語も考慮した音声認識方法としては、例えば、R. Schwartz and Y. L. Chow, "The N-Best Algorithm: An Efficient and Exact Procedure for Finding The Most Likely Sentence Hypotheses", Proc. ICASSP, pp.81-84, 1990に記載されているような、２パスデコーディング(2 pass decoding)と呼ばれる方法がある。
【００５３】
即ち、図３は、２パスデコーディングによる音声認識を行う、従来の音声認識装置の一例の概略構成を示している。
【００５４】
図３において、マッチング部４1は、例えば、図１のマッチング部４と同様のマッチング処理を行い、その結果得られる単語列を出力する。但し、マッチング部４1は、マッチング処理の結果得られる複数の単語列から、最終的な音声認識結果となるものを１つだけ出力するのではなく、音声認識結果の候補として確からしいものを複数出力する。
【００５５】
マッチング部４1の出力は、マッチング部４2に供給され、マッチング部４2は、マッチング部４1が出力する複数の単語列それぞれについて、その単語列を音声認識結果とすることの確からしさを再評価するマッチング処理を行う。即ち、マッチング部４1が出力する音声認識結果としての単語列においては、ある単語の直前の単語だけでなく、直後の単語も存在するから、マッチング部４2では、直前の単語だけでなく、直後の単語も考慮して、クロスワードモデルによって、音響スコアや言語スコアが新たに求められる。そして、マッチング部４2は、マッチング部４1からの複数の単語列から、各単語列の新たな音響スコアおよび言語スコアに基づいて、音声認識結果として確からしいものを決定して出力する。
【００５６】
なお、以上のような２パスデコーディングでは、一般に、最初のマッチング処理を行うマッチング部４1では、精度のそれほど高くない、簡易な音響モデル、単語辞書、および文法規則が用いられ、後段のマッチング処理を行うマッチング部４2では、高精度の音響モデル、単語辞書、文法規則が用いられる。これにより、図３の音声認識装置では、マッチング部４1と４2それぞれにおける処理量が、相互に緩和される一方、精度の高い音声認識結果を得ることができるようになっている。
【００５７】
図３は、上述のように、２パスデコーディングの音声認識装置であるが、図３の後段のマッチング部４2の後段に、同様のマッチング部を追加したマルチパスデコーディング(multi pass decoding)の音声認識装置も提案されている。
【００５８】
しかしながら、２パスデコーディングやマルチパスデコーディングでは、最初のマッチング処理が終了するまで、次のマッチング処理を行うことができない。従って、音声の入力があってから、最終的な音声認識結果が出力されるまでの遅延時間が大になる。
【００５９】
そこで、例えば、幾つかの単語についての最初のマッチング処理が終了した時点で、その幾つかの単語については、クロスワードモデルを適用して後段のマッチング処理を行うことを逐次的に繰り返す方法が、例えば、M. Schuster, "Evaluation of a Stack Decoder on a Japanese Newspaper Dictation Task", 音講論, 1-R-12, pp.141-142, 1997等で提案されている。
【００６０】
【発明が解決しようとする課題】
しかしながら、マッチング処理を逐次的に繰り返す方法でも、最初のマッチング処理においては、予備選択された単語の直後の単語は、まだ決まっていないから、その直後の単語との間のコンテキストを考慮することは困難である。
【００６１】
本発明は、このような状況に鑑みてなされたものであり、単語についての音響的または言語的な評価を、その直後の単語も考慮して行うことができるようにするものである。
【００６２】
【課題を解決するための手段】
本発明の音声認識装置は、音声認識の対象とする単語群から、既にスコアの計算がされた単語に接続される単語の候補である候補単語と、候補単語に連続して続く単語の候補である１以上の単語とからなる単語列を選択する単語列選択手段と、ユーザが発した音声の特徴量を、特徴量が抽出された抽出時刻とともに保持する保持手段と、スコアを計算済みの単語の発話の終了時刻に基づいて、保持手段から、候補単語のスコアを計算するために用いる特徴量の系列を読み出す読み出し手段と、候補単語のスコアを計算するスコア計算手段と、時刻情報を有する、単語どうしの境界を表すノードを介して、計算されたスコアを有する、候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報を記憶する接続関係記憶手段と、単語接続情報において、複数のパス毎に、パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、音声認識結果となる単語列を確定する確定手段とを備え、単語列選択手段は、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、単語群が登録されており、単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び特徴量の系列に基づいて、単語辞書に登録されている単語群から単語列を選択し、スコア計算手段は、第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び特徴量の系列に基づいて、候補単語のスコアを計算する。
【００６３】
スコア計算手段には、第２の辞書データベース及び第２の音響モデルデータベースを用いて構成される候補単語の単語モデルに基づき、読み出し手段により読み出された特徴量の系列を用いて、候補単語についての音響的なスコアを算出させ、第２の文法データベースに基づいて、候補単語についての言語的なスコアを算出させ、算出した音響的なスコアおよび言語的なスコアを総合評価して得られる候補単語のスコアを計算させることができる。
【００６４】
また、スコア計算手段には、第２の文法データベースに基づき、候補単語の前後の単語に応じて、候補単語についての言語的なスコアを計算させることができる。
【００６５】
本発明の音声認識装置には、音声認識の対象とする単語群を記憶している記憶手段として、第１の辞書データベースをさらに設けることができる。
【００６６】
また、本発明の音声認識装置には、音声から、その特徴量を抽出する抽出手段をさらに設けることができ、この場合、保持手段には、抽出手段により抽出された特徴量を、抽出時刻とともに保持させ、スコア計算手段には、候補単語の単語モデルに基づき、読み出し手段により読み出された特徴量の系列を用いて、前記候補単語についての音響的なスコアを算出させることができる。
【００６７】
本発明の音声認識方法は、音声認識の対象とする単語群から、既にスコアの計算がされた単語に接続される単語の候補である候補単語と、候補単語に連続して続く単語の候補である１以上の単語とからなる単語列を選択する単語列選択ステップと、スコアを計算済みの単語の発話の終了時刻に基づいて、ユーザが発した音声の特徴量を、特徴量が抽出された抽出時刻とともに保持する保持手段から、候補単語のスコアを計算するために用いる特徴量の系列を読み出す読み出しステップと、候補単語のスコアを計算するスコア計算ステップと、時刻情報を有する、単語どうしの境界を表すノードを介して、計算されたスコアを有する、候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報を記憶させる接続関係記憶ステップと、単語接続情報において、複数のパス毎に、パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、音声認識結果となる単語列を確定する確定ステップとを備え、単語列選択ステップは、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、単語群が登録されており、単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び特徴量の系列に基づいて、単語辞書に登録されている単語群から単語列を選択し、スコア計算ステップは、第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び特徴量の系列に基づいて、候補単語のスコアを計算する。
【００６８】
本発明の記録媒体は、音声認識の対象とする単語群から、既にスコアの計算がされた単語に接続される単語の候補である候補単語と、候補単語に連続して続く単語の候補である１以上の単語とからなる単語列を選択する単語列選択ステップと、スコアを計算済みの単語の発話の終了時刻に基づいて、ユーザが発した音声の特徴量を、特徴量が抽出された抽出時刻とともに保持する保持手段から、候補単語のスコアを計算するために用いる特徴量の系列を読み出す読み出しステップと、候補単語のスコアを計算するスコア計算ステップと、時刻情報を有する、単語どうしの境界を表すノードを介して、計算されたスコアを有する、候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報を記憶させる接続関係記憶ステップと、単語接続情報において、複数のパス毎に、パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、音声認識結果となる単語列を確定する確定ステップとを含み、単語列選択ステップは、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、単語群が登録されており、単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び特徴量の系列に基づいて、単語辞書に登録されている単語群から単語列を選択し、スコア計算ステップは、第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び特徴量の系列に基づいて、候補単語のスコアを計算する音声認識処理を、コンピュータに行なわせるプログラムを記録している。
【００６９】
本発明の音声認識装置および音声認識方法、並びに記録媒体においては、音声認識の対象とする単語群から、既にスコアの計算がされた単語に接続される単語の候補である候補単語と、候補単語に連続して続く単語の候補である１以上の単語とからなる単語列が選択され、スコアを計算済みの単語の発話の終了時刻に基づいて、ユーザが発した音声の特徴量を、特徴量が抽出された抽出時刻とともに保持する保持手段から、候補単語のスコアを計算するために用いる特徴量の系列が読み出され、候補単語のスコアが計算される。そして、時刻情報を有する、単語どうしの境界を表すノードを介して、計算されたスコアを有する、候補単語を表すアークどうしを接続することにより形成される複数のパスを用いて、音声認識結果の候補となる単語列の単語どうしの接続関係を表す単語接続情報が記憶され、単語接続情報において、複数のパス毎に、パスを形成するアークに対応する単語のスコアを累積して得られる最終スコアに基づいて、音声認識結果となる単語列が確定される。なお、音声認識する音声の言語における個々の音響的な特徴を表す音響モデルを記憶している第１の音響モデルデータベース、単語群が登録されており、単語群の各単語について、その発音に関する情報を表す音韻情報が記述された単語辞書を記憶している第１の辞書データベース、単語群の各単語がどのように連鎖するかを記述した文法規則を記憶している第１の文法データベース、及び特徴量の系列に基づいて、単語辞書に登録されている単語群から単語列が選択され、第１の辞書データベースの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している第２の辞書データベース、第１の音響モデルデータベースよりも精度の高い処理が可能な高精度の音響モデルを記憶している第２の音響モデルデータベース、第１の文法データベースよりも精度の高い処理が可能な高精度の文法規則を記憶している第２の文法データベース、及び特徴量の系列に基づいて、候補単語のスコアが計算される。
【００７０】
【発明の実施の形態】
図４は、本発明を適用した音声認識装置の一実施の形態の構成例を示している。なお、図中、図１における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【００７１】
特徴量抽出部３が出力する、ユーザが発した音声の特徴量の系列は、フレーム単位で、制御部１１に供給されるようになっており、制御部１１は、特徴量抽出部３からの特徴量を、特徴量記憶部１２に供給する。
【００７２】
また、制御部１１は、単語接続情報記憶部１６に記憶された単語接続情報を参照し、マッチング部１４や再評価部１５を制御する。さらに、制御部１１は、マッチング部１４が、前述した図１のマッチング部４と同様のマッチング処理を行うことにより得られるマッチング処理結果としての音響スコアや言語スコア等に基づいて、単語接続情報を生成し、その単語接続情報によって、単語接続情報記憶部１６の記憶内容を更新する。また、制御部１１は、再評価部１５の出力に基づいて、単語接続情報記憶部１６の記憶内容を修正する。さらに、制御部１１は、単語接続情報記憶部１６に記憶された単語接続情報に基づいて、最終的な音声認識結果を確定して出力する。
【００７３】
特徴量記憶部１２は、制御部１１から供給される特徴量の系列を、例えば、ユーザの音声の認識結果が得られるまで記憶する。なお、制御部１１は、音声区間の開始時刻を基準（例えば０）とする、特徴抽出部３が出力する特徴量が得られた時刻（以下、適宜、抽出時刻という）を、その特徴量とともに、特徴量記憶部１２に供給するようになっており、特徴量記憶部１２は、特徴量を、その抽出時刻とともに記憶する。
【００７４】
単語予備選択部１３は、マッチング部１４からの要求に応じ、単語接続情報記憶部１６、音響モデルデータベース１７Ａ、辞書データベース１８Ａ、および文法データベース１９Ａを必要に応じて参照しながら、マッチング部１４でマッチング処理の対象とする単語を選択する単語予備選択処理を、特徴量記憶部１２に記憶された特徴量を用いて行う。但し、本実施の形態では、単語予備選択部１３は、マッチング処理の対象とする単語の他、発話において、その単語の直後の単語である可能性が高いものも選択し、その２つの単語でなる単語列を、単語予備選択処理の結果として、マッチング部１４に供給する。
【００７５】
ここで、上述のように単語予備選択部１３が単語予備選択処理の結果として出力する単語列を構成する２つの単語のうち、先頭の単語を第１単語と、２番目の単語を第２単語という。
【００７６】
マッチング部１４は、制御部１１からの制御に基づき、単語接続情報記憶部１６、音響モデルデータベース１７Ｂ、辞書データベース１８Ｂ、および文法データベース１９Ｂを必要に応じて参照しながら、単語予備選択部１３からの単語予備選択処理の結果得られる単語列の第１単語を対象としたマッチング処理を、特徴量記憶部１２に記憶された特徴量を用いて行い、そのマッチング処理の結果を、制御部１１に供給する。
【００７７】
再評価部１５は、制御部１１からの制御に基づき、音響モデルデータベース１７Ｃ、辞書データベース１８Ｃ、および文法データベース１９Ｃを必要に応じて参照しながら、単語接続情報記憶部１６に記憶された単語接続情報の再評価を、特徴量記憶部１２に記憶された特徴量を用いて行い、その再評価結果を制御部１１に供給する。
【００７８】
単語接続情報記憶部１６は、制御部１１から供給される単語接続情報を、ユーザの音声の認識結果が得られるまで記憶する。
【００７９】
ここで、単語接続情報は、最終的な音声認識結果の候補となる単語列を構成する単語どうしの接続（連鎖または連接）関係を表すもので、各単語の音響スコアおよび言語スコア、並びに各単語に対応する発話の開始時刻および終了時刻も含んでいる。
【００８０】
即ち、図５は、単語接続情報記憶部１６に記憶される単語接続情報を、グラフ構造を用いて示している。
【００８１】
図５の実施の形態において、単語接続情報としてのグラフ構造は、単語を表すアーク（図５において、○印どうしを結ぶ線分で示す部分）と、単語どうしの境界を表すノード（図５において○印で示す部分）とから構成されている。
【００８２】
ノードは、時刻情報を有しており、この時刻情報は、そのノードに対応する特徴量の抽出時刻を表す。上述したように、抽出時刻は、音声区間の開始時刻を０とする、特徴抽出部３が出力する特徴量が得られた時刻であるから、図５において、音声区間の開始、即ち、最初の単語の先頭に対応するノードNode1が有する時刻情報は０となる。ノードは、アークの始端および終端となるが、始端のノード（始端ノード）、または終端のノード（終端ノード）が有する時刻情報は、それぞれ、そのノードに対応する単語の発話の開始時刻、または終了時刻となる。
【００８３】
なお、図５では、左から右方向が、時間の経過を表しており、従って、あるアークの左右にあるノードのうち、左側のノードが始端ノードとなり、右側のノードが終端ノードとなる。
【００８４】
アークは、そのアークに対応する単語の音響スコアおよび言語スコアを有しており、このアークが、終端ノードとなっているノードを始端ノードとして、順次接続されていくことにより、音声認識結果の候補となる単語の系列が構成されていく。
【００８５】
即ち、制御部１１においては、まず最初に、音声区間の開始を表すノードNode1に対して、音声認識結果として確からしい単語に対応するアークが接続される。図５の実施の形態では、「今日」に対応するアークArc1、「いい」に対応するアークArc6、および「天気」に対応するArc11が接続されている。なお、音声認識結果として確からしい単語かどうかは、マッチング部１４において求められる音響スコアおよび言語スコアに基づいて決定される。
【００８６】
そして、以下、同様にして、「今日」に対応するアークArc1の終端である終端ノードNode2、「いい」に対応するアークArc6の終端である終端ノードNode7、「天気」に対応するArc11の終端である終端ノードNode12それぞれに対して、同様に、確からしい単語に対応するアークが接続されていく。
【００８７】
以上のようにしてアークが接続されていくことで、音声区間の開始を始点として、左から右方向に、アークとノードで構成される１以上のパスが構成されて行くが、例えば、そのパスのすべてが、音声区間の最後（図５の実施の形態では、時刻Ｔ）に到達すると、制御部１１において、音声区間の開始から最後までに形成された各パスについて、そのパスを構成するアークが有している音響スコアおよび言語スコアが累積され、最終スコアが求められる。そして、例えば、その最終スコアが最も高いパスを構成するアークに対応する単語列が、音声認識結果として確定されて出力される。
【００８８】
具体的には、例えば、図５において、ノードNode１から、「今日」に対応するアークArc1、ノードNode2、「は」に対応するアークArc2、ノードNode3、「いい」に対応するアークArc3、ノードNode4、「天気」に対応するアークArc4、ノードNode5、「ですね」に対応するアークArc5、およびノードNode6で構成されるパスについて、最も高い最終スコアが得られた場合には、単語列「今日」、「は」、「いい」、「天気」、「ですね」が、音声認識結果として出力されることになる。
【００８９】
なお、上述の場合には、音声区間内にあるノードについて、必ずアークを接続して、音声区間の開始から最後にまで延びるパスを構成するようにしたが、このようなパスを構成する過程において、それまでに構成されたパスについてのスコアから、音声認識結果として不適当であることが明らかであるパスに関しては、その時点で、パスの構成を打ち切る（その後に、アークを接続しない）ようにすることが可能である。
【００９０】
また、上述のようなパスの構成ルールに従えば、１つのアークの終端が、次に接続される１以上のアークの始端ノードなり、基本的には、枝葉が拡がるように、パスが構成されて行くが、例外的に、１つのアークの終端が、他のアークの終端に一致する場合、つまり、あるアークの終端ノードと、他のアークの終端ノードとが同一のノードに共通化される場合がある。
【００９１】
即ち、文法規則としてバイグラムを用いた場合には、別のノードから延びる２つのアークが、同一の単語に対応するものであり、さらに、その単語の発話の終了時刻も同一であるときには、その２つのアークの終端は一致する。
【００９２】
図５において、ノードNode7を始端として延びるアークArc７、およびノードNode13を始端として延びるアークArc13は、いずれも「天気」に対応するものであり、その発話の終了時刻も同一であるため、その終端ノードは、同一のノードNode8に共通化されている。
【００９３】
なお、ノードの共通化は行わないようにすることも可能であるが、メモリ容量の効率化の観点からは、行うのが好ましい。
【００９４】
また、図５では、文法規則としてバイグラムを用いているが、その他、例えば、トライグラム等を用いる場合も、ノードの共通化は可能である。
【００９５】
図４に戻り、音響モデルデータベース１７Ａ，１７Ｂ、および１７Ｃは、基本的には、図１の音響モデルデータベース５において説明したような音響モデルを記憶している。
【００９６】
但し、音響モデルデータベース１７Ｂは、音響モデルデータベース１７Ａよりも精度の高い処理が可能な高精度の音響モデルを記憶しており、音響モデルデータベース１７Ｃは、音響モデルデータベース１７Ｂよりも精度の高い処理が可能なより高精度の音響モデルを記憶している。即ち、音響モデルデータベース１７Ａにおいて、各音素や音節について、例えば、前後のコンテキストに依存しない１パターンの音響モデルだけが記憶されているとすると、音響モデルデータベース１７Ｂには、各音素や音節について、例えば、前後のコンテキストに依存しない音響モデルの他、単語間にまたがるコンテキストに依存する音響モデル、つまり、クロスワードモデルも記憶されている。そして、音響モデルデータベース１７Ｃには、各音素や音節について、例えば、前後のコンテキストに依存しない音響モデルおよびクロスワードモデルの他、単語内のコンテキストに依存する音響モデルも記憶されている。
【００９７】
辞書データベース１８Ａ，１８Ｂ、および１８Ｃは、基本的には、図１の辞書データベース６において説明したような単語辞書を記憶している。
【００９８】
即ち、辞書データベース１８Ａ乃至１８Ｃの単語辞書には、同一セットの単語が登録されている。但し、辞書データベース１８Ｂの単語辞書は、辞書データベース１８Ａの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶しており、辞書データベース１８Ｃの単語辞書は、辞書データベース１８Ｂの単語辞書よりもさらに精度の高い処理が可能な高精度の音韻情報を記憶している。即ち、辞書データベース１８Ａの単語辞書には、例えば、各単語に対して、１通りの音韻情報（読み）だけ登録されているとすると、辞書データベース１８Ｂの単語辞書には、例えば、各単語に対して、複数通りの音韻情報が登録されている。そして、辞書データベース１８Ｃの単語辞書には、例えば、各単語に対して、さらに多くの通りの音韻情報が登録されている。
【００９９】
具体的には、例えば、単語「お早う」に対して、辞書データベース１８Ａの単語辞書には、１通りの音韻情報「おはよう」だけが、辞書データベース１８Ｂの単語辞書には、「おはよう」の他、「おはよー」や「おはよ」が、辞書データベース１８Ｃの単語辞書には、「おはよう」、「おはよー」、および「おはよ」の他、「はよう」や「はよー」が、それぞれ音韻情報として登録されている。
【０１００】
文法データベース１９Ａ，１９Ｂ、および１９Ｃは、基本的には、図１の文法データベース７において説明したような文法規則を記憶している。
【０１０１】
但し、文法データベース１９Ｂは、文法データベース１９Ａよりも精度の高い処理が可能な高精度の文法規則を記憶しており、文法データベース１９Ｃは、文法データベース１９Ｂよりも精度の高い処理が可能なより高精度の文法規則を記憶している。即ち、文法データベース１９Ａが、例えば、ユニグラム（単語の生起確率）に基づく文法規則を記憶しているとすると、文法データベース１９Ｂは、例えば、バイグラム（直前の単語との関係を考慮した単語の生起確率）を記憶している。そして、文法データベース１９Ｃは、例えば、トライグラム（直前の単語およびそのさらに１つ前の単語との関係を考慮した単語の生起確率）や文脈自由文法等に基づく文法規則を記憶している。
【０１０２】
以上のように、音響モデルデータベース１７Ａには、各音素や音節について、１パターンの音響モデルが、音響モデルデータベース１７Ｂには、各音素や音節について、複数パターンの音響モデルが、音響モデルデータベース１７Ｃには、各音素や音節について、さらに多くのパターンの音響モデルが、それぞれ記憶されている。また、辞書データベース１８Ａには、各単語について、１通りの音韻情報が、辞書データベース１８Ｂには、各単語について、複数通りの音韻情報が、辞書データベース１８Ｃには、各単語について、さらに多くの通りの音韻情報が、それぞれ記憶されている。そして、文法データベース１９Ａには、簡易な文法規則が、文法データベース１９Ｂには、精度の高い文法規則が、文法データベース１９Ｃには、さらに精度の高い文法規則が、それぞれ記憶されている。
【０１０３】
これにより、音響モデルデータベース１７Ａ、辞書データベース１８Ａ、および文法データベース１９Ａを参照する単語予備選択部１３では、それほど精度は高くないが、多くの単語を対象として、迅速に、音響スコアおよび言語スコアを求めることができるようになっている。また、音響モデルデータベース１７Ｂ、辞書データベース１８Ｂ、および文法データベース１９Ｂを参照するマッチング部１４では、ある程度の数の単語を対象として、迅速に、精度の高い音響スコアおよび言語スコアを求めることができるようになっている。そして、音響モデルデータベース１７Ｃ、辞書データベース１８Ｃ、および文法データベース１９Ｃを参照する再評価部１５では、少ない数の単語を対象として、迅速に、より精度の高い音響スコアおよび言語スコアを求めることができるようになっている。
【０１０４】
なお、ここでは、音響モデルデータベース１７Ａ乃至１７Ｃそれぞれに記憶させる音響モデルの精度について優劣を設けるようにしたが、音響モデルデータベース１７Ａ乃至１７Ｃには、いずれにも、同一の音響モデルを記憶させることができ、この場合、音響モデルデータベース１７Ａ乃至１７Ｃは、１つの音響モデルデータベースに共通化することができる。同様に、辞書データベース１８Ａ乃至１８Ｃの単語辞書それぞれの記憶内容や、文法データベース１９Ａ乃至１９Ｃそれぞれの文法規則も、同一にすることができる。
【０１０５】
次に、図６のフローチャートを参照して、図４の音声認識装置による音声認識処理について説明する。
【０１０６】
ユーザが発話を行うと、その発話としての音声は、マイク１およびＡＤ変換部２を介することにより、ディジタルの音声データとされ、特徴抽出部３に供給される。特徴抽出部３は、そこに供給される音声データから、音声の特徴量を、フレームごとに順次抽出し、制御部１１に供給する。
【０１０７】
制御部１１は、何らかの手法で音声区間を認識するようになっており、音声区間においては、特徴抽出部３から供給される特徴量の系列を、各特徴量の抽出時刻と対応付けて、特徴量記憶部１２に供給して記憶させる。
【０１０８】
さらに、制御部１１は、音声区間の開始後、ステップＳ１において、音声区間の開始を表すノード（以下、適宜、初期ノードという）を生成し、単語接続情報記憶部１６に供給して記憶させる。即ち、制御部１１は、ステップＳ１において、図５におけるノードNode1を、単語接続情報記憶部１６に記憶させる。
【０１０９】
そして、ステップＳ２に進み、制御部１１は、単語接続情報記憶部１６の単語接続情報を参照することで、途中ノードが存在するかどうかを判定する。
【０１１０】
即ち、上述したように、図５に示した単語接続情報においては、終端ノードに、アークが接続されていくことにより、音声区間の開始から最後にまで延びるパスが形成されて行くが、ステップＳ２では、終端ノードのうち、まだアークが接続されておらず、かつ、音声区間の最後にまで到達していないものが、途中ノード（例えば、図５におけるノードNode8や、Node10，Node11）として検索され、そのような途中ノードが存在するかどうかが判定される。
【０１１１】
なお、上述したように、音声区間は何らかの手法で認識され、さらに、終端ノードに対応する時刻は、その終端ノードが有する時刻情報を参照することで認識することができるから、アークが接続されていない終端ノードが、音声区間の最後に到達していない途中ノードであるかどうかは、音声区間の最後の時刻と、終端ノードが有する時刻情報とを比較することで判定することができる。
【０１１２】
ステップＳ２において、途中ノードが存在すると判定された場合、ステップＳ３に進み、制御部１１は、情報接続情報の中に存在する途中ノードのうちの１つを、それに接続するアークとしての単語を決定するノード（以下、適宜、注目ノードという）として選択する。
【０１１３】
即ち、制御部１１は、情報接続情報の中に１つの途中ノードしか存在しない場合には、その途中ノードを、注目ノードとして選択する。また、制御部１１は、情報接続情報の中に複数の途中ノードが存在する場合には、その複数の途中ノードのうちの１つを注目ノードとして選択する。具体的には、制御部１１は、例えば、複数の途中ノードそれぞれが有する時刻情報を参照し、その時刻情報が表す時刻が最も古いもの（音声区間の開始側のもの）、または最も新しいもの（音声区間の終わり側のもの）を、注目ノードとして選択する。あるいは、また、制御部１１は、例えば、初期ノードから、複数の途中ノードそれぞれに至るまでのパスを構成するアークが有する音響スコアおよび言語スコアを累積し、その累積値（以下、適宜、部分累積スコアという）が最も大きくなるパス、または小さくなるパスの終端になっている途中ノードを、注目ノードとして選択する。
【０１１４】
その後、制御部１１は、注目ノードが有する時刻情報を開始時刻としてマッチング処理を行う旨の指令（以下、適宜、マッチング処理指令という）を、マッチング部１４および再評価部１５に出力する。
【０１１５】
再評価部１５は、制御部１１からマッチング処理指令を受信すると、ステップＳ４に進み、単語接続情報記憶部１６を参照することにより、初期ノードから注目ノードに至るまでのパス（以下、適宜、部分パスという）を構成するアークによって表される単語列（以下、適宜、部分単語列という）を認識し、その部分単語列の再評価を行う。即ち、部分単語列は、後述するようにして、単語予備選択部１３が予備選択した単語を対象に、マッチング部１４がマッチング処理を行うことにより得られた音声認識結果の候補とする単語列の途中結果であるが、再評価部１５では、その途中結果が、再度、評価される。
【０１１６】
具体的には、再評価部１５は、部分単語列について、言語スコアおよび音響スコアを再計算するため、部分単語列に対応する特徴量の系列を、特徴量記憶部１２から読み出す。即ち、再評価部１５は、部分パスの先頭のノードである初期ノードが有する時刻情報が表す時刻から、注目ノードが有する時刻情報が表す時刻までに対応付けられている特徴量の系列（特徴量系列）を、特徴量記憶部１２から読み出す。さらに、再評価部１５は、音響モデルデータベース１７Ｃ、辞書データベース１８Ｃ、および文法データベース１９Ｃを参照し、特徴量記憶部１２から読み出した特徴量系列を用いて、部分単語列について、言語スコアおよび音響スコアを再計算する。なお、この再計算は、部分単語列を構成する各単語の単語境界を固定せずに行われる。従って、再評価部１５では、部分単語列の言語スコアおよび音響スコアを再計算することにより、部分単語列について、それを構成する各単語の単語境界の決定が、動的計画法に基づいて行われることになる。
【０１１７】
再評価部１５は、以上のようにして、部分単語列の各単語の言語スコアおよび音響スコア、並びに単語境界を新たに得ると、その新たな言語スコアおよび音響スコアによって、単語接続情報記憶部１６の部分単語列に対応する部分パスを構成するアークが有する言語スコアおよび音響スコアを修正するとともに、新たな単語境界によって、単語接続情報記憶部１６の部分単語列に対応する部分パスを構成するノードが有する時刻情報を修正する。なお、本実施の形態では、再評価部１５による単語接続情報の修正は、制御部１１を介して行われるようになっている。
【０１１８】
即ち、例えば、図７に示すノードNode5が注目ノードとされた場合において、初期ノードNode1から注目ノードNode5に至る部分パスのうちの、例えば、ノードNode3、単語「いい」に対応するアークArc3、ノードNode4、単語「天気」に対応するArc4、およびノードNode5の部分で表される単語列「いい」、「天気」に注目すると、再評価部１５は、ノードNode3に対応する時刻からノードNode5に対応する時刻までの特徴量系列を用い、音響モデルデータベース１７Ｃおよび辞書データベース１８Ｃを参照することで、単語「いい」、「天気」それぞれの単語モデルを構成し、音響スコアを計算する。さらに、再評価部１５は、文法データベース１９Ｃを参照することで、単語「いい」、「天気」それぞれの言語スコアを計算する。具体的には、例えば、文法データベース１９Ｃに、トライグラムに基づく文法規則が記憶されている場合には、再評価部１５は、単語「いい」については、その直前の単語「は」と、さらにその前の単語「今日」を用い、単語が、「今日」、「は」、「いい」と連鎖する確率を求め、その確率に基づいて言語スコアを計算する。また、再評価部１５は、単語「天気」については、その直前の単語「いい」と、さらにその前の単語「は」を用い、単語が、「は」、「いい」、「天気」と連鎖する確率を求め、その確率に基づいて言語スコアを計算する。
【０１１９】
再評価部１５は、以上のようにして求められる音響スコアおよび言語スコアを累積し、その累積値が最も大きくなるように、単語「いい」と「天気」の単語境界を決定する。そして、再評価部１５は、そのようにして求まった音響スコアおよび言語スコアによって、単語「いい」に対応するアークArc3と、単語「天気」に対応するArc4がそれぞれ有する音響スコアおよび言語スコアを修正するとともに、決定した単語境界によって、単語「いい」と「天気」の単語境界に対応するノードNode4が有する時刻情報を修正する。
【０１２０】
従って、再評価部１５では、部分単語列の各単語どうしの単語境界が、動的計画法に基づいて決定され、単語接続情報１６に記憶された単語接続情報が、逐次修正されていく。そして、この修正された単語接続情報を参照して、単語予備選択部１３およびマッチング部１４で処理が行われるため、それぞれにおける処理の精度および信頼性を向上させることができる。
【０１２１】
さらに、再評価部１５において単語接続情報の単語境界が修正されるため、単語接続情報として記憶しておく単語境界の候補の数を大幅に削減することができる。
【０１２２】
即ち、従来においては、例えば、前述の図２で説明したように、単語「今日」と「は」との単語境界の候補として、時刻ｔ1-1，ｔ1，ｔ1+1の３つを保持しておく必要があり、また、正しい単語境界である時刻ｔ1を保持し損ねた場合には、その後のマッチング処理に悪影響を与える。これに対して、再評価部１５において単語境界を逐次修正する場合には、例えば、誤った単語境界である時刻ｔ1-1の１つだけしか保持しなかったとしても、再評価部１５において、その誤った単語境界である時刻ｔ1-1が、正しい単語境界である時刻ｔ1に修正されるから、その後のマッチング処理に悪影響を与えることはない。
【０１２３】
また、再評価部１５では、部分単語列を構成する単語については、最初と最後の単語を除き、その前と後に接続する単語それぞれを考慮したクロスワードモデルを用いて音響スコアを計算し、さらに、言語スコアの計算も、その前と後に接続する単語をそれぞれ考慮して行うことができ、従って、高精度の処理を行うことができる。しかも、再評価部１５の処理は、逐次的に行われるため、前述した２パスデコーディングのような大きな遅延は生じない。
【０１２４】
図６に戻り、以上のようにして、再評価部１５は、単語接続情報記憶部１６の単語接続情報の修正を終了すると、その旨を、制御部１１を介して、マッチング部１４に供給する。
【０１２５】
マッチング部１４は、上述したように、制御部１１からマッチング処理指令を受信した後、再評価部１５から、制御部１１を介して、単語接続情報の修正が終了した旨を受信すると、注目ノードと、それが有する時刻情報とを、単語予備選択部１３に供給し、単語予備選択処理を要求する。
【０１２６】
単語予備選択部１３は、マッチング部１４から、単語予備選択処理の要求を受信すると、ステップＳ５において、注目ノードに接続されるアークとなる単語の候補と、その後に続く単語の候補それぞれとしての第１単語と第２単語でなる単語列、つまり、マッチング処理の直接の対象となる第１単語と、その後に続く第２単語からなる単語列を選択する単語予備選択処理を、辞書データベース１８Ａの単語辞書に登録された単語を対象として行う。
【０１２７】
即ち、単語予備選択部１３は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部１２から読み出す。さらに、単語予備選択部１３は、辞書データベース１８Ａの単語辞書に登録された各単語の単語モデルを、音響モデルデータベース１７Ａに記憶された音響モデルを接続することで構成し、さらに、例えば、任意の２つの単語モデルを接続して、第１単語と第２単語からなる単語列のモデル（単語列モデル）を構成する。そして、単語予備選択部１３は、各単語列モデルに対応する単語列の第１単語と第２単語それぞれについて、特徴量記憶部１２から読み出した特徴量の系列を用いて、音響スコアを計算する。
【０１２８】
また、単語予備選択部１３は、各単語列モデルに対応する単語列の言語スコアを、文法データベース１９Ａに記憶された文法規則に基づいて計算する。即ち、単語予備選択部１３は、単語列の第１単語については、例えば、ユニグラムに基づいて、その言語スコアを求め、第２単語については、例えば、第１単語と第２単語とが連鎖する確率を規定するバイグラムに基づいて、その言語スコアを求める。
【０１２９】
なお、単語予備選択部１３において、単語列の第１単語または第２単語の音響スコアの計算は、第２単語または第１単語に依存するクロスワードモデルをそれぞれ用いて行うことが可能である。さらに、単語予備選択部１３においては、単語接続情報を参照することにより、第１単語の音響スコアの計算を、第１単語の直前の単語（注目ノードが終端となっているアークに対応する単語）に依存するクロスワードモデルを用いて行うことも可能である。
【０１３０】
また、単語予備選択部１３においては、単語接続情報を参照することにより、第１単語の言語スコアの計算を、第１単語の直前の単語と第１単語とが連鎖する確率を規定するバイグラムに基づいて行ったり、第１単語の２つ前の単語、第１単語の直前の単語、および第１単語が連鎖する確率を規定するトライグラムに基づいて行うことが可能である。同様に、第２単語の言語スコアの計算も、第２単語の２つ前の単語（第１単語の直前の単語）、第２単語の直前の単語である第１単語、および第２単語が連鎖する確率を規定するトライグラムに基づいて行うことが可能である。
【０１３１】
単語予備選択部１３は、以上のようにして、第１単語と第２単語からなる各単語列について音響スコアおよび言語スコアを求めると、その音響スコアおよび言語スコアを総合評価したスコアを、以下、適宜、単語列スコアという）を求め、その上位Ｌ個を、マッチング処理に用いる単語列として、マッチング部１４に供給する。
【０１３２】
マッチング部１４は、単語予備選択部１３から、マッチング処理に用いるＬ個の単語列（以下、適宜、選択単語列という）を受信すると、ステップＳ６において、各選択単語列の第１単語を対象として、その前後それぞれの単語に依存するクロスワードモデルを用いたマッチング処理を行う。
【０１３３】
即ち、マッチング部１４は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部１２から読み出す。さらに、マッチング部１４は、辞書データベース１８Ｂを参照することで、選択単語列の第１単語の音韻情報を認識し、その音韻情報に対応する音響モデルを、音響モデルデータベース１７Ｂから読み出して接続することで、第１単語の単語モデルを構成する。
【０１３４】
ここで、マッチング部１４は、第１単語の各音素（または音節）に対応する音響モデルとして、その前後の音素（または音節）に依存するものを用いて、第１単語の単語モデルを構成する。従って、マッチング部１４では、第１単語の最初の音素については、単語接続情報を参照することにより、第１単語の直前の単語の最後の音素に依存したクロスワードモデルを用いて、第１単語の単語モデルが構成される。また、マッチング部１４では、第１単語の最後の音素については、その直後の単語である第２単語の最初の音素に依存したクロスワードモデルを用いて、第１単語の単語モデルが構成される。
【０１３５】
以上により、例えば、第１単語が「おはよう」で、第２単語が「ございます」である場合においては、第１単語の最後の音素/u/については、その直前の音素/o/（「よ」の母音部分）と、その直後の音素/g/（「ご」の子音部分）とに依存した音響モデル、即ち、第１単語の最後の音素/u/を、より高精度に表す音響モデルを用いて、第１単語「おはよう」の単語モデルが構成される。
【０１３６】
そして、マッチング部１４は、上述のようにして構成した単語モデルに基づき、特徴量記憶部１２から読み出した特徴量系列を用いて、第１単語の音響スコアを計算する。
【０１３７】
また、マッチング部１４は、文法データベース１９Ｂを参照することで、第１単語の言語スコアを、その前後の単語を考慮して計算する。即ち、マッチング部１４は、例えば、単語接続情報を参照することにより、第１単語の直前の単語と、さらにその前の単語を認識し、第１単語の２つ前の単語、第１単語の直前の単語、および第１単語が連鎖するトライグラムに基づく確率、並びに第１単語および第２単語が連鎖するバイグラムに基づく確率を求める。さらに、マッチング部１４は、これらのトライグラムに基づく確率と、バイグラムに基づく確率とから、第１単語の言語スコアを求める。
【０１３８】
マッチング部１４は、以上のようにして、単語予備選択部１３からのＬ個の選択単語列の第１単語すべてについて、その音響スコアおよび言語スコアを求め、ステップＳ７に進む。ステップＳ７では、Ｌ個の選択単語列の第１単語それぞれについて、その音響スコアおよび言語スコアを総合評価した単語スコアが求められ、その単語スコアに基づいて、単語接続情報記憶部１６に記憶された単語接続情報が更新される。
【０１３９】
即ち、ステップＳ７では、マッチング部１４は、各選択単語列の第１単語について単語スコアを求め、例えば、その単語スコアを所定の閾値と比較すること等によって、注目ノードに接続するアークとしての単語を、第１単語の中から絞り込む。そして、マッチング部１４は、その絞り込みの結果残った第１単語を、その音響スコア、言語スコア、およびその単語の終了時刻とともに、制御部１１に供給する。
【０１４０】
なお、単語の終了時刻は、音響スコアを計算するのに用いた特徴量の抽出時刻から認識される。また、ある単語について、その終了時刻としての蓋然性の高い抽出時刻が複数得られた場合には、その単語については、各終了時刻と、対応する音響スコアおよび言語スコアとのセットが、制御部１１に供給される。
【０１４１】
制御部１１は、上述のようにしてマッチング部１４から供給される第１単語の音響スコア、言語スコア、および終了時刻を受信すると、マッチング部１４からの各第１単語について、単語接続情報記憶部１６に記憶された単語接続情報（図５）における注目ノードを始端ノードとして、アークを延ばし、そのアークを、終了時刻の位置に対応する終端ノードに接続する。さらに、制御部１１は、各アークに対して、対応する単語、並びにその音響スコアおよび言語スコアを付与するとともに、各アークの終端ノードに対して、対応する終了時刻を時刻情報として与える。そして、ステップＳ２に戻り、以下、同様の処理が繰り返される。
【０１４２】
以上のように、単語接続情報は、マッチング部１４の処理結果に基づいて、逐次更新され、さらに、再評価部１５において逐次修正されるので、単語予備選択部１３およびマッチング部１４は、常時、単語接続情報を利用して処理を行うことが可能となる。
【０１４３】
なお、制御部１１は、単語接続情報を更新する際に、可能であれば、上述したような終端ノードの共通化を行う。
【０１４４】
一方、ステップＳ２において、途中ノードが存在しないと判定された場合、ステップＳ８に進み、制御部１１は、単語接続情報を参照することで、その単語接続情報として構成された各パスについて、単語スコアを累積することで、最終スコアを求め、例えば、その最終スコアが最も大きいパスを構成するアークに対応する単語列を、ユーザの発話に対する音声認識結果として出力して、処理を終了する。
【０１４５】
以上のように、単語予備選択部１３において、途中ノードに続く単語の候補である第１単語だけでなく、その後に続く蓋然性の高い第２単語も選択するようにしたので、第１単語について、第２単語に基づき、精度の高い音響スコアや言語スコアの計算を行うことができ、その結果、音声認識精度を向上させることができる。
【０１４６】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１４７】
そこで、図８は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１４８】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０１４９】
あるいはまた、プログラムは、フロッピーディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体１１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１５０】
なお、プログラムは、上述したようなリムーバブル記録媒体１１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部１０８で受信し、内蔵するハードディスク１０５にインストールすることができる。
【０１５１】
コンピュータは、CPU(Central Processing Unit)１０２を内蔵している。CPU１０２には、バス１０１を介して、入出力インタフェース１１０が接続されており、CPU１０２は、入出力インタフェース１１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部１０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)１０３に格納されているプログラムを実行する。あるいは、また、CPU１０２は、ハードディスク１０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部１０８で受信されてハードディスク１０５にインストールされたプログラム、またはドライブ１０９に装着されたリムーバブル記録媒体１１１から読み出されてハードディスク１０５にインストールされたプログラムを、RAM(Random Access Memory)１０４にロードして実行する。これにより、CPU１０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU１０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース１１０を介して、LCD(Liquid CryStal Display)やスピーカ等で構成される出力部１０６から出力、あるいは、通信部１０８から送信、さらには、ハードディスク１０５に記録等させる。
【０１５２】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０１５３】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１５４】
なお、マッチング部１４でスコア計算の対象となる単語（第１単語）は、単語予備選択部１３においてあらかじめ選択されているから、マッチング部１４による各単語のスコア計算は、前述したような、音響スコアの計算の一部を共通化する木構造のネットワークを構成せずに、各単語ごとに独立して行うことができる。この場合、マッチング部１４が各単語についてスコア計算を行うために確保するメモリ容量を小さく抑えることができる。さらに、この場合、単語のスコア計算を開始するときに、その単語が、どの単語であるのかを同定することができるから、前述したような、単語を同定することができないことによって無駄な計算が行われることを防止することができる。
【０１５５】
また、マッチング部１４や再評価部１５によるスコア計算は、各単語ごとに、時間的に独立して行うことができ、この場合、スコア計算に要するメモリ容量を使い回すことにより、必要とするメモリ容量を小さく抑えることができる。
【０１５６】
なお、図４に示した音声認識装置は、例えば、音声によってデータベースの検索を行う場合や、各種の機器の操作を行う場合、各機器へのデータ入力を行う場合、音声対話システム等に適用可能である。より具体的には、例えば、音声による地名の問合せに対して、対応する地図情報を表示するデータベース検索装置や、音声による命令に対して、荷物の仕分けを行う産業用ロボット、キーボードの代わりに音声入力によりテキスト作成を行うディクテーションシステム、ユーザとの会話を行うロボットにおける対話システム等に適用可能である。
【０１５７】
また、本実施の形態では、単語予備選択部１３において、２つの単語（第１単語と第２単語）からなる単語列を選択するようにしたが、単語予備選択部１３では、３以上の単語からなる単語列を選択するようにすることも可能である。この場合、マッチング部１４では、単語列の先頭の単語について、その後に続く２以上の単語に基づき、より精度の高い文法規則（言語モデル）を用いて、言語スコアを計算することが可能となる。
【０１５８】
さらに、単語予備選択部１３において選択する単語列を構成する単語数は、固定である必要はなく、可変にすることが可能である。
【０１５９】
【発明の効果】
本発明の音声認識装置および音声認識方法、並びに記録媒体によれば、単語についての、例えば、音響的なスコアや言語的なスコアを、その直後の単語も考慮して計算することが可能となり、その結果、音声認識精度を向上させることが可能となる。
【図面の簡単な説明】
【図１】従来の音声認識装置の一例の構成を示すブロック図である。
【図２】単語どうしの境界の候補を保持する必要性を説明する図である。
【図３】従来の音声認識装置の他の一例の構成を示すブロック図である。
【図４】本発明を適用した音声認識装置の一実施の形態の構成例を示すブロック図である。
【図５】単語接続情報を説明するための図である。
【図６】図４の音声認識装置の処理を説明するためのフローチャートである。
【図７】再評価部１５の処理を説明するための図である。
【図８】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  マイク，  ２  ＡＤ変換部，  ３  特徴抽出部，  １１  制御部，  １２特徴量記憶部，  １３  単語予備選択部，  １４  マッチング部，  １５  再評価部，  １６  単語接続情報記憶部，  １７Ａ乃至１７Ｃ  音響モデルデータベース，  １８Ａ乃至１８Ｃ  辞書データベース，  １９Ａ乃至１９Ｃ  文法データベース，  １０１  バス，  １０２  CPU，  １０３  ROM，  １０４  RAM，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
0004600705.tif 000002
【図２】
0004600705.tif 000003
【図３】
0004600705.tif 000004
【図４】
0004600705.tif 000005
【図５】
0004600705.tif 000006
【図６】
0004600705.tif 000007
【図７】
0004600705.tif 000008
【図８】
0004600705.tif 000009