(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それぞれに対して、同様に、確からしい単語に対応するアークが接続されていく。
【００８８】
以上のようにしてアークが接続されていくことで、音声区間の開始を始点として、左から右方向に、アークとノードで構成される１以上のパスが構成されて行くが、例えば、そのパスのすべてが、音声区間の最後（図５の実施の形態では、時刻Ｔ）に到達すると、制御部１１において、音声区間の開始から最後までに形成された各パスについて、そのパスを構成するアークが有している音響スコアおよび言語スコアが累積され、最終スコアが求められる。そして、例えば、その最終スコアが最も高いパスを構成するアークに対応する単語列が、音声認識結果として確定されて出力される。
【００８９】
具体的には、例えば、図５において、ノードNode1から、「今日」に対応するアークArc1、ノードNode2、「は」に対応するアークArc2、ノードNode3、「いい」に対応するアークArc3、ノードNode4、「天気」に対応するアークArc4、ノードNode5、「ですね」に対応するアークArc5、およびノードNode6で構成されるパスについて、最も高い最終スコアが得られた場合には、単語列「今日」、「は」、「いい」、「天気」、「ですね」が、音声認識結果として出力されることになる。
【００９０】
なお、上述の場合には、音声区間内にあるノードについて、必ずアークを接続して、音声区間の開始から最後にまで延びるパスを構成するようにしたが、このようなパスを構成する過程において、それまでに構成されたパスについてのスコアから、音声認識結果として不適当であることが明らかであるパスに関しては、その時点で、パスの構成を打ち切る（その後に、アークを接続しない）ようにすることが可能である。
【００９１】
また、上述のようなパスの構成ルールに従えば、１つのアークの終端が、次に接続される１以上のアークの始端ノードなり、基本的には、枝葉が拡がるように、パスが構成されて行くが、例外的に、１つのアークの終端が、他のアークの終端に一致する場合、つまり、あるアークの終端ノードと、他のアークの終端ノードとが同一のノードに共通化される場合がある。
【００９２】
即ち、文法規則としてバイグラムを用いた場合には、別のノードから延びる２つのアークが、同一の単語に対応するものであり、さらに、その単語の発話の終了時刻も同一であるときには、その２つのアークの終端は一致する。
【００９３】
図５において、ノードNode7を始端として延びるアークArc７、およびノードNode13を始端として延びるアークArc13は、いずれも「天気」に対応するものであり、その発話の終了時刻も同一であるため、その終端ノードは、同一のノードNode8に共通化されている。
【００９４】
なお、ノードの共通化は行わないようにすることも可能であるが、メモリ容量の効率化の観点からは、行うのが好ましい。
【００９５】
図４に戻り、音響モデルデータベース１７Ａおよび１７Ｂは、基本的には、図１の音響モデルデータベース５において説明したような音響モデルを記憶している。
【００９６】
但し、音響モデルデータベース１７Ｂは、音響モデルデータベース１７Ａよりも精度の高い処理が可能な高精度の音響モデルを記憶している。即ち、音響モデルデータベース１７Ａにおいて、各音素や音節について、例えば、前後のコンテキストに依存しない１パターンの音響モデルだけが記憶されているとすると、音響モデルデータベース１７Ｂには、各音素や音節について、例えば、前後のコンテキストに依存しない音響モデルの他、単語間にまたがるコンテキストに依存する音響モデル、つまり、クロスワードモデルも記憶されている。なお、音響モデルデータベース１７Ｂには、各音素や音節について、例えば、前後のコンテキストに依存しない音響モデルおよびクロスワードモデルの他、さらに、単語内のコンテキストに依存する音響モデル等も記憶させることが可能である。
【００９７】
辞書データベース１８Ａおよび１８Ｂは、基本的には、図１の辞書データベース６において説明したような単語辞書を記憶している。
【００９８】
即ち、辞書データベース１８Ａおよび１８Ｂの単語辞書には、同一セットの単語が登録されている。但し、辞書データベース１８Ｂの単語辞書は、辞書データベース１８Ａの単語辞書よりも精度の高い処理が可能な高精度の音韻情報を記憶している。即ち、辞書データベース１８Ａの単語辞書には、例えば、各単語に対して、１通りの音韻情報（読み）だけ登録されているとすると、辞書データベース１８Ｂの単語辞書には、例えば、各単語に対して、複数通りの音韻情報が登録されている。なお、辞書データベース１８Ｂの単語辞書には、その他、例えば、各単語に対して、さらに多くの通りの音韻情報を登録することが可能である。
【００９９】
具体的には、例えば、単語「お早う」に対して、辞書データベース１８Ａの単語辞書には、１通りの音韻情報「おはよう」だけを、辞書データベース１８Ｂの単語辞書には、「おはよう」の他、「おはよー」や「おはよ」を、それぞれ音韻情報として登録することが可能である。
【０１００】
文法データベース１９Ａおよび１９Ｂは、基本的には、図１の文法データベース７において説明したような文法規則を記憶している。
【０１０１】
但し、文法データベース１９Ｂは、文法データベース１９Ａよりも精度の高い処理が可能な高精度の文法規則を記憶している。即ち、文法データベース１９Ａが、例えば、ユニグラム（単語の生起確率）に基づく文法規則を記憶しているとすると、文法データベース１９Ｂは、例えば、バイグラム（直前の単語との関係を考慮した単語の生起確率）を記憶している。なお、文法データベース１９Ｂには、その他、例えば、トライグラム（直前の単語およびそのさらに１つ前の単語との関係を考慮した単語の生起確率）や文脈自由文法等に基づく文法規則等を記憶させることも可能である。
【０１０２】
以上のように、音響モデルデータベース１７Ａには、各音素や音節について、１パターンの音響モデルが、音響モデルデータベース１７Ｂには、各音素や音節について、複数パターンの音響モデルが、それぞれ記憶されている。また、辞書データベース１８Ａには、各単語について、１通りの音韻情報が、辞書データベース１８Ｂには、各単語について、複数通りの音韻情報が、それぞれ記憶されている。そして、文法データベース１９Ａには、簡易な文法規則が、文法データベース１９Ｂには、精度の高い文法規則が、それぞれ記憶されている。
【０１０３】
これにより、音響モデルデータベース１７Ａ、辞書データベース１８Ａ、および文法データベース１９Ａを参照する単語予備選択部１３では、それほど精度は高くないが、多くの単語を対象として、迅速に、音響スコアおよび言語スコアを求めることができるようになっている。また、音響モデルデータベース１７Ｂ、辞書データベース１８Ｂ、および文法データベース１９Ｂを参照する認識部１４では、ある程度の数の単語を対象として、迅速に、精度の高い音響スコアおよび言語スコアを求めることができるようになっている。
【０１０４】
なお、ここでは、音響モデルデータベース１７Ａと１７Ｂそれぞれに記憶させる音響モデルの精度について優劣を設けるようにしたが、音響モデルデータベース１７Ａと１７Ｂには、いずれにも、同一の音響モデルを記憶させることができ、この場合、音響モデルデータベース１７Ａと１７Ｂは、１つの音響モデルデータベースに共通化することができる。同様に、辞書データベース１８Ａと１８Ｂの単語辞書それぞれの記憶内容や、文法データベース１９Ａと１９Ｂそれぞれの文法規則も、同一にすることができる。
【０１０５】
次に、図６のフローチャートを参照して、図４の音声認識装置による音声認識処理について説明する。
【０１０６】
ユーザが発話を行うと、その発話としての音声は、マイク１およびＡＤ変換部２を介することにより、ディジタルの音声データとされ、特徴抽出部３に供給される。特徴抽出部３は、そこに供給される音声データから、音声の特徴量を、フレームごとに順次抽出し、制御部１１に供給する。
【０１０７】
制御部１１は、何らかの手法で音声区間を認識するようになっており、音声区間においては、特徴抽出部３から供給される特徴量の系列を、各特徴量の抽出時刻と対応付けて、特徴量記憶部１２に供給して記憶させる。
【０１０８】
さらに、制御部１１は、音声区間の開始後、ステップＳ１において、音声区間の開始を表すノード（以下、適宜、初期ノードという）を生成し、単語接続情報記憶部１６に供給して記憶させる。即ち、制御部１１は、ステップＳ１において、図５におけるノードNode1を、単語接続情報記憶部１６に記憶させる。
【０１０９】
そして、ステップＳ２に進み、制御部１１は、単語接続情報記憶部１６の単語接続情報を参照することで、途中ノードが存在するかどうかを判定する。
【０１１０】
即ち、上述したように、図５に示した単語接続情報においては、終端ノードに、アークが接続されていくことにより、音声区間の開始から最後にまで延びるパスが形成されて行くが、ステップＳ２では、終端ノードのうち、まだアークが接続されておらず、かつ、音声区間の最後にまで到達していないものが、途中ノード（例えば、図５におけるノードNode8や、Node10，Node11）として検索され、そのような途中ノードが存在するかどうかが判定される。
【０１１１】
なお、上述したように、音声区間は何らかの手法で認識され、さらに、終端ノードに対応する時刻は、その終端ノードが有する時刻情報を参照することで認識することができるから、アークが接続されていない終端ノードが、音声区間の最後に到達していない途中ノードであるかどうかは、音声区間の最後の時刻と、終端ノードが有する時刻情報とを比較することで判定することができる。
【０１１２】
ステップＳ２において、途中ノードが存在すると判定された場合、ステップＳ３に進み、制御部１１は、情報接続情報の中に存在する途中ノードのうちの１つを、それに接続するアークとしての単語を決定するノード（以下、適宜、注目ノードという）として選択する。
【０１１３】
即ち、制御部１１は、情報接続情報の中に１つの途中ノードしか存在しない場合には、その途中ノードを、注目ノードとして選択する。また、制御部１１は、情報接続情報の中に複数の途中ノードが存在する場合には、その複数の途中ノードのうちの１つを注目ノードとして選択する。具体的には、制御部１１は、例えば、複数の途中ノードそれぞれが有する時刻情報を参照し、その時刻情報が表す時刻が最も古いもの（音声区間の開始側のもの）、または最も新しいもの（音声区間の終わり側のもの）を、注目ノードとして選択する。あるいは、また、制御部１１は、例えば、初期ノードから、複数の途中ノードそれぞれに至るまでのパスを構成するアークが有する音響スコアおよび言語スコアを累積し、その累積値（以下、適宜、部分累積スコアという）が最も大きくなるパス、または小さくなるパスの終端になっている途中ノードを、注目ノードとして選択する。
【０１１４】
その後、制御部１１は、注目ノードが有する時刻情報を開始時刻としてマッチング処理を行う旨の指令（以下、適宜、マッチング処理指令という）を、認識部１４に出力する。
【０１１５】
認識部１４は、制御部１１からマッチング処理指令を受信すると、注目ノードと、それが有する時刻情報とを、単語予備選択部１３に供給し、単語予備選択処理を要求する。
【０１１６】
単語予備選択部１３は、認識部１４から、単語予備選択処理の要求を受信すると、ステップＳ４において、注目ノードに接続されるアークとなる単語の候補を選択する単語予備選択処理を、辞書データベース１８Ａの単語辞書に登録された単語を対象として行う。
【０１１７】
即ち、単語予備選択部１３は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部１２から読み出す。さらに、単語予備選択部１３は、辞書データベース１８Ａの単語辞書に登録された各単語の単語モデルを、音響モデルデータベース１７Ａに記憶された音響モデルを接続することで構成する。そして、単語予備選択部１３は、各単語モデルに対応する単語について、特徴量記憶部１２から読み出した特徴量の系列を用いて、音響スコアを計算する。
【０１１８】
ここで、辞書データベース１８Ａの単語辞書には、例えば、図７（Ａ）に示すように、各単語について、ユニークなＩＤとしての単語ＩＤ、単語の表記、および単語の発音（音韻情報）をセットにしたものが登録されている。
【０１１９】
単語予備選択部１３は、単語辞書を参照することにより、例えば、図７（Ｂ）に示すような、各単語の構成要素としての音素等をノードとして、各単語における同一の音素を共通のノードとしたツリー構造のネットワーク（以下、適宜、単語ネットワークという）を構成し、その単語ネットワークにしたがって、そのノードを探索することにより、各単語について、音響スコアを計算する。なお、単語ネットワークは、予め構成しておくことが可能である。
【０１２０】
ここで、単語ネットワークにおけるノードを、単語接続情報におけるノードと区別するために、以下、適宜、音素ノードという。
【０１２１】
なお、図７（Ｂ）の実施の形態における単語ネットワークは、左側が上位階層で、右側にいくほど下位階層になるようになっており、最上位階層の音素ノードＮ0は、音素が割り当てられないルートノード(ROOT)となっている。
【０１２２】
また、図７（Ｂ）の単語ネットワークは、図７（Ａ）に示した単語辞書に登録された６単語「秋」、「秋田」、「空き地」、「明かり」、「明るい」、および「言う」について構成されたものであり、ルートノードＮ0の２つの子音素ノード（ある音素ノードに直接接続されている下位階層の音素ノード）のうちの１つである音素ノードＮ1には、単語「秋」、「秋田」、「空き地」、「明かり」、「明るい」に共通する先頭の音素"a"が割り当てられている。
【０１２３】
さらに、音素ノードＮ1の子音素ノードＮ2には、単語「秋」、「秋田」、「空き地」、「明かり」、「明るい」に共通する先頭から２番目の音素"k"が割り当てられてられており、音素ノードＮ2の２つの子音素ノードのうちの１つである音素ノードＮ3には、単語「秋」、「秋田」、「空き地」に共通する先頭から３番目の音素"i"が割り当てられている。
【０１２４】
また、音素ノードＮ3の子音素ノードである音素ノードＮ4には、単語「秋田」、「空き地」に共通する先頭から４番目の音素"t"が割り当てられており、音素ノードＮ4の２つの子音素ノードのうちの１つである音素ノードＮ5には、単語「秋田」の最後の音素"a"が割り当てられている。
【０１２５】
さらに、音素ノードＮ4の２つの子音素ノードのうちの他の１つである音素ノードＮ6には、単語「空き地」の最後の音素"i"が割り当てられており、音素ノードＮ2の２つの子音素ノードの他の１つである音素ノードＮ7には、単語「明かり」、「明るい」に共通する先頭から３番目の音素"a"が割り当てられている。
【０１２６】
また、音素ノードＮ7の子音素ノードである音素ノードＮ8には、単語「明かり」、「明るい」に共通する先頭から４番目の音素"r"が割り当てられており、音素ノードＮ8の２つの子音素ノードのうちの１つである音素ノードＮ9には、単語「明かり」の最後の音素"i"が割り当てられている。
【０１２７】
さらに、音素ノードＮ8の２つの子音素ノードのうちの他の１つである音素ノードＮ10には、単語「明るい」の先頭から５番目の音素"u"が割り当てられており、音素ノードＮ10の子音素ノードである音素ノードＮ11には、単語「明るい」の最後の音素"i"が割り当てられている。
【０１２８】
また、ルートノードＮ0の２つの子音素ノードのうちの他の１つである音素ノードＮ12には、単語「言う」の先頭の音素"i"が割り当てられており、音素ノードＮ12の子音素ノードである音素ノードＮ13には、単語「言う」の先頭から２番目の音素"u"が割り当てられている。
【０１２９】
さらに、図７（Ｂ）の単語ネットワークにおいては、単語の最後の音素が割り当てられている音素ノードに、その単語の単語ＩＤが登録されている。即ち、図７（Ｂ）の実施の形態においては、単語「秋」の最後の音素"i"が割り当てられている音素ノードＮ3には、その単語「秋」の単語ＩＤである＃１が、単語「秋田」の最後の音素"a"が割り当てられている音素ノードＮ5には、その単語「秋田」の単語ＩＤである＃２が、単語「空き地」の最後の音素"i"が割り当てられている音素ノードＮ6には、その単語「空き地」の単語ＩＤである＃３が、単語「明かり」の最後の音素"i"が割り当てられている音素ノードＮ9には、その単語「明かり」の単語ＩＤである＃４が、単語「明るい」の最後の音素"i"が割り当てられている音素ノードＮ11には、その単語「明るい」の単語ＩＤである＃５が、単語「言う」の最後の音素"u"が割り当てられている音素ノードＮ13には、その単語「言う」の単語ＩＤである＃６が、それぞれ登録されている。
【０１３０】
また、図７（Ｂ）の単語ネットワークにおいては、各音素ノードに、その音素ノード以下の音素ノード（その音素ノードの階層以下の階層の音素ノード）を終端とする単語の数（以下、適宜、残り単語数という）も登録されている。図７（Ｂ）では、音素ノードを表す四角形を区切る点線の下側に記述してある数字が、残り単語数を表している。
【０１３１】
例えば、音素ノードＮ2に注目した場合、その音素ノード以下の音素ノードを終端とする単語は、単語ＩＤが＃１乃至＃５の５つの単語があるから、残り単語数は５になっている。また、例えば、音素ノードＮ3に注目した場合、その音素ノード以下の音素ノードを終端とする単語は、単語ＩＤが＃１乃至＃３の３つの単語があるから、残り単語数は３になっている。他の音素ノードについても、同様にして、残り単語数が登録されている。
【０１３２】
単語予備選択部１３は、以上のような単語ネットワークにしたがって、音響モデルデータベース１７Ａに記憶された音響モデルを接続し、注目している音素ノード（以下、適宜、注目音素ノードという）について、例えば、いわゆるビタビサーチの手法にしたがって、音響スコアを計算する。
【０１３３】
即ち、単語予備選択部１３は、注目している時刻（以下、適宜、注目時刻という）ｔの特徴量に対して、注目音素ノードの親音素ノード（ある音素ノードに直接接続している上位階層の音素ノード）となっている音素ノードから注目音素ノードへ遷移する尤度を表すスコアを、音響モデルに基づいて求め、さらに、そのスコアと、注目音素ノードの親音素ノードの、注目時刻ｔの直前の時刻ｔ−１の音響スコアとを加算したスコア（以下、適宜、親遷移スコアという）を求める。
【０１３４】
また、単語予備選択部１３は、注目音素ノードから注目音素ノードへ遷移する尤度を表すスコアを、音響モデルに基づいて求め、さらに、そのスコアと、注目音素ノードの、注目時刻ｔの直前の時刻ｔ−１の音響スコアとを加算したスコア（以下、適宜、自己遷移スコアという）を求める。
【０１３５】
その後、単語予備選択部１３は、親遷移スコアと自己遷移スコアとを比較し、大きい方のスコアを求める。さらに、単語予備選択部１３は、注目音素ノードから、注目時刻の特徴量が観測される尤度を表すスコアを、音響モデルに基づいて求め、そのスコアと、親遷移スコアまたは自己遷移スコアのうちの大きい方のスコアとを加算する。そして、単語予備選択部１３は、その加算の結果得られるスコアを、注目音素ノードの、注目時刻ｔの音響スコアとする。
【０１３６】
単語選択部１３は、上述のようにして、単語ネットワークの各音素ノードを注目音素ノードとして、音響スコアを求めていく他、文法データベース１９Ａを参照することにより、各単語について、言語スコアを計算する。
【０１３７】
そして、単語予備選択部１３は、各単語について音響スコアおよび言語スコア（以下、適宜、両方含めて、単語スコアという）を求めると、その単語スコアに基づき、認識部１４でのマッチング処理の対象とする１以上の単語を選択して、認識部１４に供給する。
【０１３８】
なお、単語予備選択部１３では、単語接続情報記憶部１６を参照することにより、注目ノードを終端とする単語を考慮して、即ち、クロスワードモデルに基づいて、音響スコアを計算するようにすることが可能である。
【０１３９】
また、単語予備選択部１３では、注目ノードを始点として固定し、終点フリーで、各単語についての音響スコアが計算される。さらに、単語予備選択部１３では、特徴量記憶部１２に記憶された特徴量の系列に沿って、即ち、フレーム同期で、音響スコアが計算される。
【０１４０】
さらに、図７に示した単語ネットワークの各音素ノードには、ツリー構造を構成するための、例えば、親音素ノードへのポインタや、音響スコアおよび言語スコアも登録可能になっている。
【０１４１】
認識部１４は、単語予備選択部１３から、マッチング処理に用いる１以上の単語（以下、適宜、候補単語という）を受信すると、ステップＳ５において、各候補単語を対象として、マッチング処理を行う。
【０１４２】
即ち、認識部１４は、言語スコアおよび音響スコアを計算するのに用いる特徴量の系列の開始時刻を、注目ノードが有する時刻情報から認識し、その開始時刻以降の、必要な特徴量の系列を特徴量記憶部１２から読み出す。さらに、認識部１４は、辞書データベース１８Ｂを参照することで、候補単語の音韻情報を認識し、その音韻情報に対応する音響モデルを、音響モデルデータベース１７Ｂから読み出して接続することで、単語モデルを構成する。
【０１４３】
そして、認識部１４は、上述のようにして構成した単語モデルに基づき、特徴量記憶部１２から読み出した特徴量系列を用いて、各候補単語の音響スコアを計算する。
【０１４４】
また、認識部１４は、文法データベース１９Ｂを参照することで、候補単語の言語スコアを計算する。
【０１４５】
認識部１４は、以上のようにして、単語予備選択部１３からの１以上の候補単語すべてについて、その音響スコアおよび言語スコアを求め、ステップＳ６に進む。ステップＳ６では、１以上の候補単語それぞれについて、その音響スコアおよび言語スコア（単語スコア）に基づいて、単語接続情報記憶部１６に記憶された単語接続情報が更新される。
【０１４６】
即ち、ステップＳ６では、認識部１４は、各候補単語についての単語スコアを所定の閾値と比較すること等によって、注目ノードに接続するアークとしての単語を、１以上の候補単語の中から絞り込む。そして、認識部１４は、その絞り込みの結果残った候補単語を、その音響スコア、言語スコア、およびその候補単語の終了時刻とともに、制御部１１に供給する。
【０１４７】
なお、候補単語の終了時刻は、音響スコアを計算するのに用いた特徴量の抽出時刻から認識される。また、ある単語について、その終了時刻としての蓋然性の高い抽出時刻が複数得られた場合には、その単語については、各終了時刻と、対応する音響スコアおよび言語スコアとのセットが、制御部１１に供給される。
【０１４８】
制御部１１は、上述のようにして認識部１４から供給される、１以上の候補単語の音響スコア、言語スコア、および終了時刻を受信すると、認識部１４からの各候補単語について、単語接続情報記憶部１６に記憶された単語接続情報（図５）における注目ノードを始端ノードとして、アークを延ばし、そのアークを、終了時刻の位置に対応する終端ノードに接続する。さらに、制御部１１は、各アークに対して、対応する単語、並びにその音響スコアおよび言語スコアを付与するとともに、各アークの終端ノードに対して、対応する終了時刻を時刻情報として与える。そして、ステップＳ２に戻り、以下、同様の処理が繰り返される。
【０１４９】
なお、制御部１１は、単語接続情報を更新する際に、可能であれば、上述したような終端ノードの共通化を行う。
【０１５０】
一方、ステップＳ２において、途中ノードが存在しないと判定された場合、ステップＳ７に進み、制御部１１は、単語接続情報を参照することで、その単語接続情報として構成された各パスについて、単語スコアを累積することで、最終スコアを求め、例えば、その最終スコアが最も大きいパスを構成するアークに対応する単語列を、ユーザの発話に対する音声認識結果として出力して、処理を終了する。
【０１５１】
次に、図８のフローチャートを参照して、単語予備選択部１３による、図６のステップＳ４における単語予備選択処理について、さらに説明する。
【０１５２】
単語予備選択部１３は、まず最初に、ステップＳ１１において、単語予備選択処理のための初期化を行う。即ち、単語予備選択部１３は、単語ネットワーク（図７（Ｂ））の各音素ノードのスコア（音響スコア、言語スコア）を初期化する。さらに、単語予備選択部１３は、ルートノード以外のすべての音素ノードを非アクティブにするとともに、ルートノードをアクティブにする。
【０１５３】
ここで、本実施の形態では、音素ノードについて、アクティブな状態と、非アクティブな状態とが定義されている。アクティブな音素ノードは、単語予備選択部１３におけるスコア計算の対象とされ、非アクティブな音素ノードは、単語予備選択部１３におけるスコア計算の対象化から除外される。
【０１５４】
ステップＳ１１の処理後は、ステップＳ１２に進み、単語予備選択部１３は、認識部１４からの注目ノードが有する時刻情報が表す時刻以降の時刻のうち、まだ、注目時刻としていない、最も先行する時刻を注目時刻とし、その注目時刻の特徴量を、注目特徴量として、特徴量記憶部１２から読み出す。
【０１５５】
さらに、単語予備選択部１３は、ステップＳ１３に進み、単語ネットワークにしたがって、各音素ノードについて、注目特徴量に対するスコアを計算しながら、単語を探索し、探索された単語のスコアに基づいて、単語候補とする単語を選択するマッチング処理（詳細は、図９を参照して後述する）を行い、ステップＳ１４に進む。ステップＳ１４では、単語予備選択部１３は、単語予備選択処理が中断可能かどうかを調査する調査処理（詳細は、図１４を参照して後述する）を行い、ステップＳ１５に進む。ステップＳ１５では、単語予備選択部１３は、ステップＳ１４における調査処理の結果に基づいて、単語予備選択処理が中断可能かどうかを判定する。
【０１５６】
ステップＳ１５において、単語予備選択処理が中断可能でないと判定された場合、ステップＳ１６に進み、単語予備選択部１３は、特徴量記憶部１２に記憶されている、認識部１４からの注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてを、注目特徴量として、ステップＳ１３のマッチング処理を行ったかどうかを判定する。
【０１５７】
ステップＳ１６において、注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてを、注目特徴量としたマッチング処理を、まだ行っていないと判定された場合、ステップＳ１２に戻り、単語予備選択部１３は、まだ、注目時刻としていない、最も先行する時刻を注目時刻とし、その注目時刻の特徴量を、注目特徴量として、以下、同様の処理を繰り返す。
【０１５８】
また、ステップＳ１６において、注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてを、注目特徴量としたマッチング処理を行ったと判定された場合、ステップＳ１８に進み、単語予備選択部１３は、いままでのステップＳ１３のマッチング処理で選択された単語を、単語予備選択結果（候補単語）として、認識部１４に出力してリターンする。
【０１５９】
一方、ステップＳ１５において、単語予備選択処理が中断可能であると判定された場合、ステップＳ１７に進み、いままでのステップＳ１３のマッチング処理で選択された単語に、そのマッチング処理で探索途中の単語を加えたものを、単語予備選択結果（候補単語）として、認識部１４に出力してリターンする。
【０１６０】
次に、図９のフローチャートを参照して、単語予備選択部１３による、図８のステップＳ１３のマッチング処理について説明する。
【０１６１】
単語予備選択部１３は、まず最初に、ステップＳ２１において、注目特徴量に対する処理のための初期化（例えば、単語予備選択部１３が内蔵する、図示せぬメモリの初期化等）を行い、ステップＳ２２に進む。
【０１６２】
ステップＳ２２では、単語予備選択部１３は、単語ネットワークにおけるアクティブな音素ノード（以下、適宜、アクティブノードという）のすべてのスコアを、注目特徴量を用いて計算し、その更新を行ったかどうかを判定する。
【０１６３】
ステップＳ２２において、単語ネットワークにおけるアクティブノードのすべてのスコアを、まだ更新していないと判定された場合、ステップＳ２３に進み、単語予備選択部１３は、アクティブノードのうちの、まだスコアを更新していないもののうちの１つを選択し、ステップＳ２４に進む。ステップＳ２４では、単語予備選択部１３は、ステップＳ２３で選択したアクティブノード（以下、適宜、注目アクティブノードという）のスコアを、注目特徴量を用いて、上述したように計算し、その更新を行って、ステップＳ２５に進む。
【０１６４】
ステップＳ２５では、単語予備選択部１３は、注目アクティブノードの更新後のスコアが、所定の閾値以下（または未満）であるかどうかを判定する。ステップＳ２５において、注目アクティブノードの更新後のスコアが所定の閾値以下であると判定された場合、ステップＳ２６に進み、単語予備選択部１３は、注目アクティブノードを、非アクティブの状態に変更し、ステップＳ２２に戻る。
【０１６５】
ここで、ステップＳ２６において、非アクティブな状態にされた音素ノード（以下、適宜、非アクティブノードという）については、その後、アクティブ状態にされるまで、単語選択部１３におけるスコア計算の対象とはされない。従って、スコアの低くなった音素ノードは、非アクティブ状態とされることによって、枝刈りされることになる。
【０１６６】
一方、ステップＳ２５において、注目アクティブノードの更新後のスコアが所定の閾値以下でないと判定された場合、ステップＳ２６をスキップして、ステップＳ２２に戻る。
【０１６７】
そして、ステップＳ２２において、単語ネットワークにおけるアクティブノードのすべてのスコアを更新したと判定された場合、ステップＳ２７に進み、単語予備選択部１３は、スコアが更新されたアクティブノード（以下、適宜、更新済みアクティブノードという）のすべてを、注目更新済みアクティブノードとして選択して処理を行ったかどうかを判定する。
【０１６８】
ステップＳ２７において、更新済みアクティブノードのすべてを、まだ、注目更新済みアクティブノードとしていないと判定された場合、ステップＳ２８に進み、単語予備選択部１３は、まだ注目更新済みアクティブノードとされていない更新済みアクティブノードのうちの１つを、注目更新済みアクティブノードとして選択し、ステップＳ２９に進む。
【０１６９】
ステップＳ２９では、単語予備選択部１３は、注目更新済みアクティブノードが子音素ノードを有するかどうかを判定し、有すると判定した場合、ステップ３０に進む。ステップＳ３０では、単語予備選択部１３は、注目更新済みアクティブノードが有する子音素ノードすべてをアクティブ状態に変更し、ステップＳ３１に進む。
【０１７０】
また、ステップＳ２９において、注目更新済みアクティブノードが子音素ノードを有しないと判定された場合、ステップＳ３０をスキップして、ステップＳ３１に進み、単語予備選択部１３は、注目更新済みアクティブノードが、単語の終端、即ち、単語の最後の音素に対応するものであるかどうかを判定する。
【０１７１】
ここで、図７（Ｂ）で説明したように、単語ネットワークのノードにおいて、単語の最後の音素に対応するノードには、単語ＩＤが登録されている。従って、ステップＳ３１の判定処理は、注目更新済みアクティブノードに、単語ＩＤが登録されているかどうかに基づいて行われる。
【０１７２】
ステップＳ３１において、注目更新済みアクティブノードが、単語の最後の音素に対応するものであると判定された場合、ステップＳ３２に進み、単語予備選択部１３は、注目更新済みアクティブノードに登録されている単語ＩＤに対応する単語を、候補単語として選択し、ステップＳ２７に戻る。
【０１７３】
また、ステップＳ３１において、注目更新済みアクティブノードが、単語の最後の音素に対応するものでないと判定された場合、ステップＳ３２をスキップして、ステップＳ２７に戻る。
【０１７４】
そして、ステップＳ２７において、更新済みアクティブノードのすべてを、注目更新済みアクティブノードとして処理したと判定された場合、ステップＳ３３に進み、単語予備選択部１３は、ルートノードを非アクティブ状態にして、リターンする。
【０１７５】
なお、図９の実施の形態において、非アクティブの音素ノードがアクティブにされるケースは、ステップＳ３０において、更新済みアクティブノードが有する子音素ノードがアクティブにされる場合だけである。その結果、子音素ノードとならない（親音素ノードを有しない）ルートノードは、一度、非アクティブ状態になると、その後は、図８のステップＳ１１における初期化でアクティブにされない限り、アクティブな状態になることはない。従って、図８のステップＳ１３乃至Ｓ１６の処理が繰り返し行われている間は、最初のステップＳ１３のマッチング処理としての図９の処理におけるステップＳ３３において、ルートノードを非アクティブにした後は、次回から、ステップＳ３３の処理を行う必要はない。
【０１７６】
以上のようなマッチング処理によれば、例えば、図１０乃至図１３に示すように、アクティブな音素ノードが変化していく。
【０１７７】
即ち、例えば、いま、図１０乃至図１３に示すような、ルートノードを頂点とする４階層の単語ネットワークを考える。なお、図１０乃至図１３では、ノードを、○印で示しており、○印の中のｎ（ｉ，ｊ）は、第ｉ＋１階層のｊ＋１番目の音素ノードを表す。但し、ここでは、最上位階層を第１階層とする。
【０１７８】
まず、図８のステップＳ１１において初期化が行われることにより、ルートノードｎ（０，０）が、図１０（Ａ）に示すようにアクティブにされる。ここで、図１０乃至図１３では、アクティブな音素ノードを、斜線を付して示してある。従って、斜線を付していない○印は、非アクティブな音素ノードを表す。
【０１７９】
そして、例えば、注目時刻ｔ＝０では、図９のステップＳ２４において、図１０（Ｂ）に示すように、アクティブノードであるルートノードｎ（０，０）の注目時刻（ｔ＝０）におけるスコアｓn(0,0),0が計算、更新される。なお、スコアｓn(i,j),tは、第ｉ＋１階層のｊ＋１番目の音素ノードの時刻ｔにおけるスコアを表す。
【０１８０】
さらに、更新済みアクティブノードであるルートノードｎ（０，０）の子音素ノードｎ（１，０）およびｎ（１，１）が、図９のステップＳ３０において、図１０（Ｃ）に示すようにアクティブにされる。その後、図１０（Ｄ）に示すように、図９のステップＳ３３において、ルートノードｎ（０，０）が非アクティブにされる。
【０１８１】
次に、注目時刻ｔ＝１となり、図１１（Ａ）に示すように、アクティブノードｎ（１，０）とｎ（１，１）の注目時刻（ｔ＝１）におけるスコアｓn(1,0),1とｎs(1,1),1が、それぞれ計算、更新される（ステップＳ２４）。いま、例えば、スコアｓn(1,0),1とｓn(1,1),1が、いずれも閾値以下でないとすると、アクティブノードｎ（１，０）とｎ（１，１）は、図１１（Ｂ）に示すように、いずれも非アクティブにされず、アクティブ状態のままとされる（ステップＳ２５，Ｓ２６）。
【０１８２】
そして、図１１（Ｃ）に示すように、更新済みアクティブノードとなった音素ノードｎ（１，０）の子音素ノードである音素ノードｎ（２，０）およびｎ（２，１）がアクティブノードとされるとともに、やはり、更新済みアクティブノードとなった音素ノードｎ（１，１）の子音素ノードである音素ノードｎ（２，２）およびｎ（２，３）がアクティブノードとされる（ステップＳ３０）。
【０１８３】
次に、注目時刻ｔ＝２となり、図１２（Ａ）に示すように、アクティブノードｎ（１，０），ｎ（１，１），ｎ（２，０），ｎ（２，１），ｎ（２，２），ｎ（２，３）の注目時刻（ｔ＝２）におけるスコアｓn(1,0),2，ｓn(1,1),2，ｓn(2,0),2，ｓn(2,1),2，ｓn(2,2),2，ｓn(2,3),2が、それぞれ計算、更新される（ステップＳ２４）。いま、例えば、これらのスコアのうち、ｓn(1,0),2，ｓn(2,0),2，ｓn(2,3),2が、閾値以下でないとすると、それ以外のスコアの音素ノードｎ（１，１），ｎ（２，１），ｎ（２，２）は、図１２（Ｂ）に示すように、いずれも非アクティブ状態にされる（ステップＳ２５，Ｓ２６）。
【０１８４】
そして、図１２（Ｃ）に示すように、更新済みアクティブノードとなった音素ノードｎ（１，０）の子音素ノードである音素ノードｎ（２，１）がアクティブノードとされる（ステップＳ３０）。なお、更新済みアクティブノードノードｎ（１，０）の子音素ノードとしては、音素ノードｎ（２，０）も存在するが、この音素ノードｎ（２，０）は、既にアクティブ状態になっているので（アクティブにする処理を行ってもよいが）、アクティブ状態にする必要はない。
【０１８５】
さらに、更新済みアクティブノードである音素ノードｎ（２，０）の子音素ノードである音素ノードｎ（３，０）およびｎ（３，１）がアクティブノードとされるとともに、更新済みアクティブノードである音素ノードｎ（２，３）の子音素ノードである音素ノードｎ（３，６）およびｎ（３，７）がアクティブノードとされる（ステップＳ３０）。
【０１８６】
次に、注目時刻ｔ＝３となると、図１３（Ａ）に示すように、アクティブノードｎ（１，０），ｎ（２，０），ｎ（２，１），ｎ（２，３），ｎ（３，０），ｎ（３，１），ｎ（３，６），ｎ（３，７）の注目時刻（ｔ＝２）におけるスコアが、それぞれ計算、更新される（ステップＳ２４）。いま、例えば、これらのスコアのうち、アクティブノードｎ（１，０），ｎ（３，０），ｎ（３，７）のスコアが、閾値以下でないとすると、それ以外のスコアの音素ノードｎ（２，０），ｎ（３，０），ｎ（３，７）は、図１３（Ｂ）に示すように、いずれも非アクティブ状態にされる（ステップＳ２５，Ｓ２６）。
【０１８７】
そして、図１３（Ｃ）に示すように、更新済みアクティブノードとなった音素ノードｎ（１，０），ｎ（３，０），ｎ（３，７）のうち、子音素ノードを有するものの、その子音素ノードがアクティブノードとされる（ステップＳ３０）。
【０１８８】
以上のように、単語予備選択部１３では、アクティブな音素ノードについてのみ、そのスコアの計算、更新が行われていく。
【０１８９】
ところで、単語予備選択部１３による単語予備選択処理は、認識部１４におけるマッチング処理の計算量の低減等を図るべく、そのマッチング処理の対象とする単語の数を制限するために行うものであるから、認識部１４から供給される注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてについて行う必要は、必ずしもない。
【０１９０】
即ち、単語予備選択部１３による単語予備選択処理については、認識部１４におけるマッチング処理の対象とする単語の数を、所定数以下に制限することができれば、その目的を達成することができるから、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合には、単語予備選択処理の目的を達成することができたということができる。
【０１９１】
つまり、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合には、その所定数以下となった単語すべてを候補単語として、認識部１４におけるマッチング処理の対象としても、認識部１４の処理負担は、装置設計当初から予想された範囲内にあることから、問題とならない。
【０１９２】
なお、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合の、その所定数以下となった単語すべてを候補単語として、認識部１４におけるマッチング処理の対象とするときには、認識部１４から供給される注目ノードが有する時刻情報が表す時刻以降の時刻の特徴量すべてについて単語予備選択処理を行うときと比較して、予備選択される単語が増加することがあるが、その場合でも、認識部１４において、その予備選択された単語について、計算量の少ない言語スコアに基づいて枝刈りを行うことで、音声認識装置全体としての計算コストは低減することができる。
【０１９３】
以上から、単語予備選択部１３は、図８で説明したように、ステップＳ１４において、単語予備選択処理が中断可能かどうかを調査する調査処理を行い、その調査結果に基づき、単語予備選択処理の過程において、それまでに単語候補として予備選択された単語と、その後に候補単語として予備選択されうる単語との合計数が、所定数以下になった場合には、ステップＳ１５において、単語予備選択処理を中断することが可能である判断して、単語予備選択処理を中断し、ステップＳ１７において、それまでに単語候補として予備選択された単語に、その後に候補単語として予備選択されうる単語を、候補単語として加えて、認識部１４に供給するようになっている。
【０１９４】
ところで、図９乃至図１３で説明したことから、単語予備選択部１３のマッチング処理（図９）によれば、単語ネットワークにおいて、ある音素ノードは、その親音素ノードがアクティブな状態の場合に、アクティブになる（ステップＳ３０）。
【０１９５】
従って、非アクティブな音素ノードに注目した場合に、その注目音素ノードから、ルートノードまでのパス（以下、適宜、ノードパスという）上に、アクティブノードが存在しない場合には、注目音素ノードは、その後の図８のステップＳ１３乃至Ｓ１６のループ処理の間に、アクティブ状態になることはない。
【０１９６】
図８のステップＳ１３乃至Ｓ１６のループ処理が繰り返し行われ、これにより、図９のマッチング処理が、特徴量記憶部１２に記憶された特徴量の系列に沿って進んでいくと、その後のステップＳ１３乃至Ｓ１６のループ処理の間に、アクティブ状態になることがない音素ノードが多数出現する。
【０１９７】
音素ノードのうち、単語の最後の音素が割り当てられているものには、上述したように、その単語の単語ＩＤが登録されており、図９のマッチング処理では、そのような単語ＩＤが登録されている音素ノードがアクティブ状態となっている場合に、その単語ＩＤによって特定される単語（単語ＩＤに対応する単語）が、単語候補として予備選択される。
【０１９８】
従って、単語ＩＤが登録されている音素ノードが、上述したようなアクティブ状態になることがないものである場合には、その単語ＩＤに対応する単語が予備選択されることはない。
【０１９９】
以上から、単語ＩＤが登録されている音素ノードについてのノードパス上にアクティブノードが存在しない場合には、その単語ＩＤに対応する単語が予備選択されることはなく、このことは、その単語ＩＤに対応する単語が枝刈りされたことを意味する。
【０２００】
一方、単語ＩＤが登録されている音素ノードについてのノードパス上にアクティブノードが１つでも存在する場合には、その後のステップＳ１３乃至Ｓ１６のループ処理において、その単語ＩＤに対応する単語が、候補単語として予備選択される可能性があることになる。
【０２０１】
従って、ステップＳ１３乃至Ｓ１６のループ処理のある時点において、その後に、候補単語として予備選択されうる単語は、単語ＩＤが登録されている音素ノードについて、そのノードパス上にアクティブノードが存在するかどうかを調べることによって認識することができ、さらに、音素ノードの残り単語数を参照することで、予備選択されうる単語の数、即ち、探索途中の単語数も認識することができる。
【０２０２】
図８のステップＳ１４における調査処理では、上述のようにして、予備選択されうる単語の数を認識し、その単語の数に基づいて、単語予備選択処理が中断可能かどうかを調査するようになっている。
【０２０３】
そこで、図１４のフローチャートを参照して、図８のステップＳ１４における調査処理について説明する。
【０２０４】
調査処理では、まず最初に、ステップＳ４１において、単語予備選択部１３は、その後の処理によって候補単語となる可能性がある単語（以下、適宜、可能性単語という）の数をカウントする変数Ｎを０に初期化し、ステップＳ４２に進む。
【０２０５】
ステップＳ４２では、単語予備選択部１３は、単語ネットワークにおけるアクティブノードすべてを、注目アクティブノードとして処理を行ったかどうかを判定し、まだ行っていないと判定した場合、ステップＳ４３に進み、単語予備選択部１３は、まだ注目アクティブノードとしていないアクティブノードを、注目アクティブノードとして選択し、ステップＳ４４に進む。
【０２０６】
ステップＳ４４では、単語予備選択部１３は、注目アクティブノードから、ルートノードまでのノードパスを辿っていくことにより、そのノードパス上の音素ノードを検出し、ステップＳ４５に進む。
【０２０７】
ステップＳ４５では、単語予備選択部１３は、ステップＳ４４で検出した、注目アクティブノードについてのノードパス上の、注目アクティブノードを除く音素ノードの中に、アクティブノードが存在するかどうかを判定する。
【０２０８】
ステップＳ４５において、注目アクティブノードについてのノードパス上に、アクティブノードが存在しないと判定された場合、即ち、注目アクティブノードについてのノードパス（以下、適宜、注目ノードパスという）において、注目アクティブノードよりも上位階層の音素ノードがアクティブになることがなく、従って、注目アクティブノードが、その注目アクティブノードを含んでノードパスを形成する音素ノードのうちの最も上位階層のものであり、その結果、注目アクティブノードを含んで形成されるノードパス上の音素ノードを最後の音素とする単語のうち、現時点で枝刈りされていないものの数が、注目アクティブノードに登録されている残り単語数に等しい場合、ステップＳ４６に進み、単語予備選択部１３は、変数Ｎと、注目アクティブノードに登録されている残り単語数とを加算して、その加算値を、変数Ｎにセットする。その後、ステップＳ４２に戻り、以下、同様の処理を繰り返す。
【０２０９】
また、ステップＳ４５において、注目ノードパス上に、アクティブノードが存在すると判定された場合、ステップＳ４６をスキップして、ステップＳ４２に戻り、以下、同様の処理を繰り返す。
【０２１０】
そして、ステップＳ４２において、単語ネットワークにおけるアクティブノードすべてを、注目アクティブノードとして処理を行ったと判定された場合、ステップＳ４７に進み、単語予備選択部１３は、既にステップＳ３２（図９）で予備選択されている候補単語の数と、変数Ｎとの加算値が、所定の閾値未満（または以下）であるかどうかを判定する。
【０２１１】
ステップＳ４７において、予備選択されている候補単語の数と、変数Ｎとの加算値が、所定の閾値未満であると判定された場合、ステップＳ４８に進み、予備選択部１３は、予備選択処理の中断が可能であると認識して、リターンする。
【０２１２】
また、ステップＳ４７において、予備選択されている候補単語との数と、変数Ｎとの加算値が、所定の閾値未満でないと判定された場合、ステップＳ４９に進み、予備選択部１３は、予備選択処理の中断が可能でないと認識して、リターンする。
【０２１３】
なお、ステップＳ４７で用いられる閾値は、例えば、認識部１４の処理性能等を考慮して決定される。但し、変数Ｎによれば、現時点で、その後の処理によって候補単語とされ得る単語の数の他、既にステップＳ３２（図９）で予備選択されている候補単語の数も重複してカウントされ得るため、ステップＳ４７で用いられる閾値は、その重複分を見込んだ上で決定される。
【０２１４】
以上のように、単語予備選択部１３において、単語の探索の中断が可能かどうかが判定し、単語の探索の中断が可能な場合には、単語の探索を中断して、それまでに予備選択した単語と、探索途中の単語（その後の処理により候補単語となりうる単語）とを、候補単語として、認識部１４に出力する。従って、予備選択に要する計算量を低減することができ、その結果、音声認識装置全体としての音声認識処理を、その精度を劣化させずに高速化することができる。
【０２１５】
次に、上述の場合には、単語予備選択処理を、途中で中断することによって、単語予備選択処理の計算量の低減を図るようにしたが、単語予備選択処理の計算量の低減は、その他、例えば、音素ノードを途中で打ち切った単語ネットワークを用いることによっても実現することができる。
【０２１６】
即ち、図１５（Ａ）は、図７（Ａ）と同様の単語辞書を示しており、図１５（Ｂ）は、図１５（Ａ）の単語辞書に登録された単語について、音素ノードを途中で打ち切って構成した単語ネットワークを示している。
【０２１７】
図１５（Ｂ）の単語ネットワークは、図７（Ｂ）の単語ネットワークにおいて、そのルートノードＮ0の階層を第１階層とすると、第６階層以降を省略した形で構成されている。
【０２１８】
即ち、図１５（Ｂ）の単語ネットワークは、図７（Ｂ）の単語ネットワークの、第６階層の音素ノードＮ5，Ｎ6，Ｎ9，Ｎ10、および第７階層の音素ノードＮ11が省略されたものとなっている。
【０２１９】
さらに、図１５（Ｂ）の単語ネットワークにおいては、単語の終端の音素に対応する音素ノード（以下、適宜、終端音素ノードという）が省略される場合には、すべての音素ノードが存在すると仮定したときに、省略される終端音素ノードについてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードに、省略される終端音素ノードに登録されていた単語ＩＤが登録されている。
【０２２０】
即ち、図１５（Ｂ）の単語ネットワークにおいては、単語ＩＤが２の単語「秋田」の終端音素ノードＮ5が省略されているため、その終端音素ノードＮ5に登録されていた単語ＩＤ＃２が、終端音素ノードＮ5についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードＮ4に登録されている。
【０２２１】
また、図１５（Ｂ）の単語ネットワークにおいては、単語ＩＤが３の単語「空き地」の終端音素ノードＮ6が省略されているため、その終端音素ノードＮ6に登録されていた単語ＩＤ＃３が、終端音素ノードＮ6についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードＮ4に登録されている。
【０２２２】
さらに、図１５（Ｂ）の単語ネットワークにおいては、単語ＩＤが４の単語「明かり」の終端音素ノードＮ9が省略されているため、その終端音素ノードＮ9に登録されていた単語ＩＤ＃４が、終端音素ノードＮ9についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードＮ8に登録されている。
【０２２３】
また、図１５（Ｂ）の単語ネットワークにおいては、単語ＩＤが５の単語「明るい」の終端音素ノードＮ11が省略されているため、その終端音素ノードＮ11に登録されていた単語ＩＤ＃５が、終端音素ノードＮ11についてのノードパス上の、省略されない音素ノードのうちの最も下位の階層の音素ノードＮ8に登録されている。
【０２２４】
従って、図１５（Ｂ）の単語ネットワークでは、単語「秋田」と「空き地」の音韻情報が、"akit"という１つの音韻情報にまとめられ、また、単語「明かり」と「明るい」の音韻情報も、"akar"という１つの音韻情報にまとめられているということができる。
【０２２５】
このように、音韻情報を、幾つかの単語で１つにまとめた単語ネットワークを構成することにより、単語ネットワークを記憶するのに必要な記憶容量が低減され、さらに、予備選択部１３における計算量も低減されることになる。
【０２２６】
なお、この場合、単語予備選択部１３において予備選択される単語の数は、上述のような音素ノードの打ち切りを行っていない単語ネットワークを用いる場合に比較して増加することがあるが、その場合でも、認識部１４において、その予備選択された単語について、計算量の少ない言語スコアに基づいて枝刈りを行うことで、音声認識装置全体としての計算コストは低減することができる。
【０２２７】
また、図１５（Ｂ）の実施の形態では、第６階層以降の音素ノードを打ち切るようにしたが、即ち、各単語の先頭から５番目以降の音素に対応する音素ノードを打ち切るようにしたが、その他、例えば、最も長いノードパスを検出し、そのノードパスの後半（下位階層）の半分等の音素ノードを打ち切るようにすることが可能である。あるいは、また、各音素について、その継続時間長の平均値を求めておき、単語の発話時間が、その全体を発話したときの半分になるように、音素ノードを打ち切ること等も可能である。
【０２２８】
さらに、単語予備選択部１３では、図１５（Ｂ）の単語ネットワークを用いて、従来と同様の単語予備選択を行うことも可能であるし、図８で説明したような、単語の探索を途中で中断する単語予備選択を行うことも可能である。
【０２２９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０２３０】
そこで、図１６は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０２３１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク１０５やＲＯＭ１０３に予め記録しておくことができる。
【０２３２】
あるいはまた、プログラムは、フレキシブルディスク、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，  １０５  ハードディスク，  １０６  出力部，  １０７  入力部，  １０８  通信部，  １０９  ドライブ，  １１０  入出力インタフェース，  １１１  リムーバブル記録媒体
【図１】
0004696400.tif 000002
【図２】
0004696400.tif 000003
【図３】
0004696400.tif 000004
【図４】
0004696400.tif 000005
【図５】
0004696400.tif 000006
【図６】
0004696400.tif 000007
【図７】
0004696400.tif 000008
【図８】
0004696400.tif 000009
【図９】
0004696400.tif 000010
【図１０】
0004696400.tif 000011
【図１１】
0004696400.tif 000012
【図１２】
0004696400.tif 000013
【図１３】
0004696400.tif 000014
【図１４】
0004696400.tif 000015
【図１５】
0004696400.tif 000016
【図１６】
0004696400.tif 000017