(57)【特許請求の範囲】
【請求項１】
入力音声の特徴から音声特徴列を、任意の時間幅を有するフレーム毎に生成する生成部と、
文法に基づいて表現された語句が複数あり、前記各語句を分割して得られた１つ以上の連続する部分語句があり、前記部分語句毎の音声特徴の時系列変化を、前記音声特徴に関する状態の遷移で表現する状態遷移モデルを格納するモデル記憶部と、
前記各語句に属する１つ以上の連続する部分語句に関する部分文法を格納する第１の文法記憶部と、
前記第１の文法記憶部から転送された少なくとも一部の前記部分文法を格納すると共に、前記第１の文法記憶部に格納された情報を読み出すための読み出し時間より読み出し時間が短い第２の文法記憶部と、
前記第２の文法記憶部に格納された前記部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記生成部で生成されたフレーム毎の音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第１の照合部と、
前記第１の照合部において末尾状態の前向き確率が求められたときに、前記第１の文法記憶部から前記第２の文法記憶部へ前記部分語句の後続となる後続部分語句に関する後続部分文法を転送する文法転送部と、
前記第２の文法記憶部に格納された前記部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記音声特徴列の後に引き続いて前記生成部で生成されたフレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第２照合部と、
前記第２の文法記憶部に転送された前記後続部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記フレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第３の照合部と、
（１）前記語句毎に行うものであり、（２）前記後続部分文法の転送開始までは前記第１の照合部を動作させ、（３）前記転送の開始から完了までの間は前記第２の照合部を前記転送と並列に動作させ、（４）前記転送が完了したときに前記第３の照合部を動作させ、（５）前記各語句に属する部分語句が全て終了するまで（２）から（４）の動作を繰り返し行い、前記語句毎に最終的な前向き確率を求める認識制御部と、
前記複数の語句のそれぞれの前記最終的な前向き確率の中で、最大の前向き確率を与える語句を、前記音声特徴列の認識結果として出力する認識部と、
を備える音声認識装置。
【請求項２】
前記第１の照合部と前記第３の照合部とが同一の照合部であり、前記認識制御部からの指示に応じて、当該照合部の動作が前記第１の照合部と前記第３の照合部の動作と等価となるように、当該照合部がその内部処理を切り替える、
請求項１記載の音声認識装置。
【請求項３】
前記第１の照合部と前記第２の照合部のそれぞれの前記末尾状態の前向き確率を、前記末尾状態の順番を表す状態番号と前記フレームの順番を表すフレーム番号と関連付けて格納する確率記憶部と、
前記フレーム毎の後続音声特徴列を前記フレーム番号と関連付けて格納する音声特徴記憶部と、
を備え、
前記第３の照合部は、
前記転送された前記後続部分文法、前記記憶された前記末尾状態の前向き確率、前記状態番号、前記フレーム番号を参照して、前記記憶する後続音声特徴列に対して、前記状態遷移モデルの各状態の前向き確率を求める、
請求項１記載の音声認識装置。
【請求項４】
前記文法転送部は、前記転送が一定時間を経過しても完了しない場合には、前記後続部分文法の転送を中止する、
請求項１記載の音声認識装置。
【請求項５】
前記認識制御部は、前記転送が一定時間を経過しても完了しない場合には、前記第１の照合部を動作させる、
請求項４記載の音声認識装置。
【請求項６】
文法に基づいて表現された語句が複数あり、前記各語句のそれぞれを分割して得られた１つ以上の連続する部分語句があり、前記部分語句毎の音声特徴の時系列変化を、前記音声特徴に関する状態の遷移で表現する状態遷移モデルを格納するモデル記憶部と、
前記各語句にそれぞれ属する１つ以上の連続する部分語句に関するそれぞれの部分文法を格納する第１の文法記憶部と、
前記第１の文法記憶部から転送された全ステップまたは一ステップの前記部分文法を格納すると共に、前記第１の文法記憶部に格納された情報を読み出すための読み出し時間より読み出し時間が短い第２の文法記憶部と、
を備えた音声認識装置における音声認識方法であって、
入力音声の特徴から音声特徴列を、任意の時間幅を有するフレーム毎に生成する生成ステップと、
前記第２の文法記憶部に格納された前記部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記生成ステップで生成されたフレーム毎の音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第１の照合ステップと、
前記第１の照合ステップにおいて末尾状態の前向き確率が求められたときに、前記第１の文法記憶部から前記第２の文法記憶部へ前記部分語句の後続となる後続部分語句に関する後続部分文法を転送する文法転送ステップと、
前記第２の文法記憶部に格納された前記部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記音声特徴列の後に引き続いて前記生成ステップで生成されたフレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第２照合ステップと、
前記第２の文法記憶部に転送された前記後続部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記フレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を、末尾状態まで求める第３の照合ステップと、
（１）前記語句毎に行うものであり、（２）前記後続部分文法の転送開始までは前記第１の照合ステップを動作させ、（３）前記転送の開始から完了までの間は前記第２の照合ステップを前記転送と並列に動作させ、（４）前記転送が完了したときに前記第３の照合ステップを動作させ、（５）前記各語句に属する部分語句が全て終了するまで（２）から（４）の動作を繰り返し行い、前記語句毎に最終的な前向き確率を求める認識制御ステップと、
前記複数の語句のそれぞれの前記最終的な前向き確率の中で、最大の前向き確率を与える語句を、前記音声特徴列の認識結果として出力する認識ステップと、
を備える音声認識方法。
【請求項７】
前記第１の照合ステップと前記第３の照合ステップとが同一の照合ステップであり、前記認識制御ステップからの指示に応じて、当該照合ステップの動作が前記第１の照合ステップと前記第３の照合ステップの動作と等価となるように、当該照合ステップがその内部処理を切り替える、
請求項６記載の音声認識方法。
【請求項８】
前記第１の照合ステップと前記第２の照合ステップのそれぞれの前記末尾状態の前向き確率を、前記末尾状態の順番を表す状態番号と前記フレームの順番を表すフレーム番号と関連付けて格納する確率記憶部と、
前記フレーム毎の後続音声特徴列を前記フレーム番号と関連付けて格納する音声特徴記憶部と、
を備え、
前記第３の照合ステップは、
前記転送された前記後続部分文法、前記記憶された前記末尾状態の前向き確率、前記状態番号、前記フレーム番号を参照して、前記記憶する後続音声特徴列に対して、前記状態遷移モデルの各状態の前向き確率を求める、
請求項６記載の音声認識方法。
【請求項９】
前記文法転送ステップは、前記転送が一定時間を経過しても完了しない場合には、前記後続部分文法の転送を中止する、
請求項８記載の音声認識方法。
【請求項１０】
前記認識制御ステップは、前記転送が一定時間を経過しても完了しない場合には、前記第１の照合ステップを動作させる、
請求項９記載の音声認識方法。
【請求項１１】
文法に基づいて表現された語句が複数あり、前記各語句のそれぞれを分割して得られた１つ以上の連続する機能分語句があり、前記機能分語句毎の音声特徴の時系列変化を、前記音声特徴に関する状態の遷移で表現する状態遷移モデルを格納するモデル記憶部と、
前記各語句にそれぞれ属する１つ以上の連続する機能分語句に関するそれぞれの機能分文法を格納する第１の文法記憶部と、
前記第１の文法記憶部から転送された全機能または一機能の前記機能分文法を格納すると共に、前記第１の文法記憶部に格納された情報を読み出すための読み出し時間より読み出し時間が短い第２の文法記憶部と、
を備えたコンピュータにおける音声認識プログラムであって、
入力音声の特徴から音声特徴列を、任意の時間幅を有するフレーム毎に生成する生成機能と、
前記第２の文法記憶部に格納された前記機能分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記生成機能で生成されたフレーム毎の音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第１の照合機能と、
前記第１の照合機能において末尾状態の前向き確率が求められたときに、前記第１の文法記憶部から前記第２の文法記憶部へ前記機能分語句の後続となる後続機能分語句に関する後続機能分文法を転送する文法転送機能と、
前記第２の文法記憶部に格納された前記機能分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記音声特徴列の後に引き続いて前記生成機能で生成されたフレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第２照合機能と、
前記第２の文法記憶部に転送された前記後続機能分文法と前記モデル記憶部に格納された前記後続機能分文法における前記状態遷移モデルを参照して、前記フレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第３の照合機能と、
（１）前記語句毎に行うものであり、（２）前記後続機能分文法の転送開始までは前記第１の照合機能を動作させ、（３）前記転送の開始から完了までの間は前記第２の照合機能を前記転送と並列に動作させ、（４）前記転送が完了したときに前記第３の照合機能を動作させ、（５）前記各語句に属する機能分語句が全て終了するまで（２）から（４）の動作を繰り返し行い、前記語句毎に最終的な前向き確率を求める認識制御機能と、
前記複数の語句のそれぞれの前記最終的な前向き確率の中で、最大の前向き確率を与える語句を、前記音声特徴列の認識結果として出力する認識機能と、
を実現する音声認識プログラム。
【請求項１２】
前記第１の照合機能と前記第３の照合機能とが同一の照合機能であり、前記認識制御機能からの指示に応じて、当該照合機能の動作が前記第１の照合機能と前記第３の照合機能の動作と等価となるように、当該照合機能がその内部処理を切り替える、
請求項１１記載の音声認識プログラム。
【請求項１３】
前記第１の照合機能と前記第２の照合機能のそれぞれの前記末尾状態の前向き確率を、前記末尾状態の順番を表す状態番号と前記フレームの順番を表すフレーム番号と関連付けて格納する確率記憶部と、
前記フレーム毎の後続音声特徴列を前記フレーム番号と関連付けて格納する音声特徴記憶部と、
を備え、
前記第３の照合機能は、
前記転送された前記後続機能分文法、前記記憶された前記末尾状態の前向き確率、前記状態番号、前記フレーム番号を参照して、前記記憶する後続音声特徴列に対して、前記状態遷移モデルの各状態の前向き確率を求める、
請求項１１記載の音声認識プログラム。
【請求項１４】
前記文法転送機能は、前記転送が一定時間を経過しても完了しない場合には、前記後続機能分文法の転送を中止する、
請求項１１記載の音声認識プログラム。
【請求項１５】
前記認識制御機能は、前記転送が一定時間を経過しても完了しない場合には、前記第１の照合機能を動作させる、
請求項１４記載の音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文法に基づいて表現された認識対象の語句に対して音声認識処理を行う際に、文法に基づいて表現された語句を１つ以上の部分語句に分割した部分文法を使用する音声認識装置及びその方法に関するものである。
【背景技術】
【０００２】
音声認識の分野では、入力音声の音声特徴と、文法に記述された認識対象の語句に対応する音声特徴のモデルとを照合することで、音声認識を行う音声認識装置が広く使用されている。
【０００３】
この認識語彙を記述する文法としては、語句ネットワークによる表現や、文脈自由文法（ＣＦＧ：Ｃｏｎｔｅｘｔ−Ｆｒｅｅ  Ｇｒａｍｍａｒ）、有限状態文法（ＦＳＧ：Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｇｒａｍｍａｒ）などが用いられる。
【０００４】
これらの文法は、音声認識装置の内部にある所定の記憶装置に格納されており、音声認識処理の進展に応じて照合部から参照される。この参照は音声認識処理中に何度も行われる可能性がある。そのため、音声認識処理を高速に実行するためには、高速アクセスが可能な記憶装置に文法を格納しなければならない。また、認識語彙数が増えると、認識語彙を記述した文法のサイズもそれに応じて大きくなる。そのため、大語彙の音声認識処理を実行するためには、文法を格納するための大容量の記憶装置が必要となる。すなわち、音声認識装置では、大語彙の音声認識処理を高速に実行するために、高速アクセスが可能かつ大容量な記憶装置を備える必要がある。
【０００５】
しかし、高速アクセスが可能な記憶装置は、低速アクセスしかできない記憶装置に比べてコストが大きい。また、記憶装置のコストは容量に比例して大きくなるため、高速アクセスが可能かつ大容量な記憶装置のコストは非常に大きくなる。そのため、音声認識装置では、前述したコストの問題から、高速アクセスが可能かつ大容量の記憶装置を備えることが難しい場合がある。そのような場合には、低速アクセスしかできないが大容量な記憶装置で代替する方法がある。そのような記憶装置では、照合部からの文法の参照が低速になり、音声認識処理の速度が低下するという問題点がある。
【０００６】
この問題点に対処する方法として、特許文献１で開示されている技術（以下、従来技術という）が提案されている。この従来技術では、文法を、一群の文法規則をまとめてカプセル化した部分文法として分割し、全ての部分文法を低速アクセスしかできないが大容量な記憶装置（記憶装置１：例えばＨＤＤなど）に格納する。また、認識処理中に照合部が参照する部分文法を、高速アクセスが可能だが小容量な記憶装置（記憶装置２：例えばＲＡＭなど）に格納する。さらに、照合部の処理の進展に応じて、照合部が参照すべき部分文法のみを、前述の記憶装置１から記憶装置２に転送する。すなわち、照合部が新たに参照すべき部分文法が前述の記憶装置２に格納されていない場合には、照合部における処理を一旦中断し、該当する部分文法を前述の記憶装置１から記憶装置２へ転送する。転送が完了したら、照合部の処理を再開する。
【０００７】
従来技術によれば、記憶装置１には、照合部において参照が必要な部分文法のみを格納すれば良いため、記憶装置１の容量を小さくすることができる。
【０００８】
例えば、全国住所のように階層的な構造をもつ認識語彙に対して、各階層のグループ（県名・市町村名・町名）毎に部分文法を作成した場合を考える。このとき、照合部が参照すべき部分文法は、各階層における認識候補に関連する部分文法に限られる。すなわち、照合部の処理において、県名として「神奈川県」が認識候補に挙がった場合には、その後の処理において「神奈川県」に関連する市町村名を記述した部分文法のみを参照すれば良い。この結果、前述の記憶装置１に格納すべき部分文法の数を限定できるため、記憶装置１の容量をより小さくすることができる。また、照合部が参照する部分文法は高速アクセスが可能な記憶装置１に格納されるため、照合部からの部分文法の参照は高速のまま保つことができる。すなわち、従来技術により、記憶装置１の容量増大によるコストを抑えつつ、音声認識処理を高速に実行できる。
【特許文献１】特許第３５４６６３３号公報（Ｐ１４、図１参照）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし上記従来技術では、照合部が新たに参照すべき部分文法が前述の記憶装置２に格納されていない場合には、当該部分文法が前述の記憶装置１から記憶装置２へ転送されるまでの間は照合部の処理を一旦中断し、転送が完了してから照合部の処理を再開する。このとき、部分文法の転送に時間がかかる場合には、部分文法の転送待ち時間の分だけ、照合部の処理、すなわち音声認識処理の実行が遅延する。
【００１０】
一般に、ある記憶装置から別の記憶装置へのデータの転送には、記憶装置間の転送路の速度に応じた遅延時間がかかる。また、従来技術では、低速アクセスしかできない記憶装置１からの部分文法の転送を想定しているため、記憶装置１から部分文法を読み出すための遅延時間も発生する。従来技術では、これら全ての遅延時間の総量が音声認識処理の遅延時間となり、その分だけ音声認識処理の速度が低下する。
【００１１】
すなわち、従来技術では、部分文法を転送する際の転送待ち時間により音声認識処理の速度が低下するという問題点があり、大語彙の音声認識処理を高速に実行することができない。
【００１２】
そこで本発明は、上記問題点を解決するためになされたものであり、部分文法を転送する際の転送待ち時間による音声認識処理の速度低下を防ぎ、音声認識処理を高速に実行することができる音声認識装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、入力音声の特徴から音声特徴列を、任意の時間幅を有するフレーム毎に生成する生成部と、文法に基づいて表現された語句が複数あり、前記各語句のそれぞれを分割して得られた１つ以上の連続する部分語句があり、前記部分語句毎の音声特徴の時系列変化を、前記音声特徴に関する状態の遷移で表現する状態遷移モデルを格納するモデル記憶部と、前記各語句にそれぞれ属する１つ以上の連続する部分語句に関するそれぞれの部分文法を格納する第１の文法記憶部と、前記第１の文法記憶部から転送された全部または一部の前記部分文法を格納すると共に、前記第１の文法記憶部に格納された情報を読み出すための読み出し時間より読み出し時間が短い第２の文法記憶部と、前記第２の文法記憶部に格納された前記部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記生成部で生成されたフレーム毎の音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第１の照合部と、前記第１の照合部において末尾状態の前向き確率が求められたときに、前記第１の文法記憶部から前記第２の文法記憶部へ前記部分語句の後続となる後続部分語句に関する後続部分文法を転送する文法転送部と、前記第２の文法記憶部に格納された前記部分文法と前記モデル記憶部に格納された前記状態遷移モデルを参照して、前記音声特徴列の後に引き続いて前記生成部で生成されたフレーム毎の後続音声特徴列に対する、前記状態遷移モデルの各状態の前向き確率を求める第２照合部と、前記第２の文法記憶部に転送された前記後続部分文法と前記モデル記憶部に格納された前記後続部分文法における前記状態遷移モデルを参照して、前記フレーム毎の後続音声特徴列に対する、前記後続部分文法における前記状態遷移モデルの各状態の前向き確率を、末尾状態まで求める第３の照合部と、（１）前記語句毎に行うものであり、（２）前記後続部分文法の転送開始までは前記第１の照合部を動作させ、（３）前記転送の開始から完了までの間は前記第２の照合部を前記転送と並列に動作させ、（４）前記転送が完了したときに前記第３の照合部を動作させ、（５）前記各語句に属する部分語句が全て終了するまで（２）から（４）の動作を繰り返し行い、前記語句毎に最終的な前向き確率を求める認識制御部と、前記複数の語句のそれぞれの前記最終的な前向き確率の中で、最大の前向き確率を与える語句を、前記音声特徴列の認識結果として出力する認識部と、を備える音声認識装置である。
【発明の効果】
【００１４】
本発明によれば、部分文法の転送と並列に照合動作をさせることにより、部分文法の転送待ち時間による音声認識処理の速度低下を防ぎ、音声認識処理を高速に実行することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態について図面に基づいて説明する。
【００１６】
（第１の実施形態）
以下、本発明の第１の実施形態の音声認識装置について図１〜図１４に基づいて説明する。
【００１７】
（１）音声認識装置の構成
図１は、本実施形態の音声認識装置の構成例を表すブロック図である。
【００１８】
音声認識装置は、特徴抽出部１０１、第１の文法記憶部１０２、第２の文法記憶部１０３、文法転送部１０４、モデル記憶部１０５、認識制御部１０６、第１の照合部１０７、第２の照合部１０８を備える。
【００１９】
これら各部１０１〜１０８の各機能は、コンピュータに格納されたプログラムによっても実現可能である。
【００２０】
以下、各ブロックの説明に沿って、音声認識装置の詳細を説明する。
【００２１】
（２）特徴抽出部１０１
特徴抽出部１０１は、ある時間幅をもつフレーム毎に、入力音声信号から音声特徴列Ｘ（ｔ）＝（ｘ（１），ｘ（２），・・・，ｘ（Ｔ））を生成する。ここでｘ（ｔ）はｔ番目のフレームｔにおける音声特徴である。但し、１＝＜ｔ＝＜Ｔとし、ｔ＝１は認識処理を実施する入力音声の始端位置に、ｔ＝Ｔは入力音声の終端位置に対応する。
【００２２】
音声特徴としては、１次元以上の要素をもつベクトルを用いる。そのような音声特徴ベクトルとしてはＭＦＣＣが挙げられる。ＭＦＣＣは、フレームｔにおける音声スペクトルに対して、メルフィルタバンク出力の対数値をとり、さらにＤＣＴを適用してその低次成分を抽出するケプストラム分析を行うことで、音声特徴ベクトルを生成する方法である。
【００２３】
なお、特徴抽出部１０１における音声特徴として、ＭＦＣＣに限らず、任意の音声特徴を使用することができる。
【００２４】
（３）第１の文法記憶部１０２
第１の文法記憶部１０２は、認識対象の語句を記述した文法を記憶する。この文法は、１つ以上の部分語句毎に分割した部分文法の形で記憶されている。ここで、部分語句、文法及び部分文法の例を図２〜図４を用いて説明する。
【００２５】
（３−１）部分語句
図２は、認識対象の語句を表にまとめたものであり、それぞれ４つの部分語句からなる７文の認識語句の例である。なお、図２では、認識対象の語句を構成する部分語句をＷｎ（ｎ：単語番号）で示している。
【００２６】
（３−２）文法
図３は、図２で例示した認識語句を記述する文法の例である。
【００２７】
図３の文法は、ノードＮｎ（ｎ：ノード番号）と、ノード間を結ぶ有向アークから構成されている。ノードのうちＳＴ及びＥＤはそれぞれ文法の始端と終端を示している。各アークには部分語句Ｗｎが付与されており、始端ノードＳＴから終端ノードＥＤに到るアークをたどることで、認識対象の語句を得ることができる。例えば、図３の文法において、始端ノードＳＴから単語Ｗ１１、Ｗ２１、Ｗ３１、Ｗ４１が付与されたアークをたどり終端ノードＥＤに到ることで、図２の文番号１で示されている認識対象の語句「Ｗ１１−Ｗ２１−Ｗ３１−Ｗ４１」を得ることができる。
【００２８】
（３−３）部分文法
図４は、図３の文法に基づいて表現された語句を１つ以上の部分語句に分割し、これら部分語句に関する部分文法の例である。
【００２９】
図４は、図３の文法を６つの部分文法Ａ〜Ｆに分割した例である。図４の部分文法はそれぞれ、図３の文法及びアークの一部から構成されている。例えば、図４の部分文法Ａは、図３の文法のうち、始端ノードＳＴとアークＷ１１、Ｗ２２及び当該アークにより到達可能なノードＮ１１、Ｎ１２から構成されている。
【００３０】
また、部分文法ＡのノードＮ１１と部分文法ＢのノードＮ１１は同じノードであり、部分文法Ａと部分文法ＢがノードＮ１１を介して接続可能であることを示している。すなわち、部分文法Ｂは部分文法Ａの後続部分文法であり、部分文法ＡのノードＳＴからアークＷ１１をたどってノードＮ１１に到った場合に、さらに部分文法ＢのノードＮ１１から派生するアークをたどることが可能である。この関係は他の部分文法でも同様に成り立ち、部分文法と他の部分文法へは同じノードを介して接続される。
【００３１】
このような接続関係により、図４の部分文法は、図３の文法と同じ認識対象の語彙を表現する。
【００３２】
（３−４）文法の分割方法
図４は図３の文法を６つの部分文法に分割した例であるが、この分割の方法は音声認識装置の使用者が任意に決めることができる。
【００３３】
例えば、図４の部分文法Ｃのように、部分文法の先頭から末尾まで複数のアークをたどるように分割してもよい。
【００３４】
また、部分文法Ｆのように、複数の先行部分文法をもつように分割してもよい。
【００３５】
また、図４で例示したように６つの部分文法へ分割するだけでなく、１つ以上の任意の数の部分文法に分割してもよい。
【００３６】
また、図４の部分文法Ｂと部分文法Ｅのように互いに接続関係にないノード及びアークの集合をまとめて１つの部分文法にしてもよいし、部分文法Ｂをさらに細分化して２つの部分文法に分割してもよい。
【００３７】
（３−５）記憶内容
第１の文法記憶部１０２は、図４で例示した１つ以上の部分文法を全て記憶する。すなわち、認識対象の語句を記述するために必要な部分文法を全て記憶する。
【００３８】
そのため、第１の文法記憶部１０２は、全ての部分文法を記憶するために十分な容量をもたなければならない。このとき必要な記憶容量は、文法の大きさ、すなわち、認識対象の語句の数に比例する。認識対象の語句が全国住所のように比較的大きな語句数となる場合には、第１の文法記憶部１０２もそれ相応に大容量である必要がある。
【００３９】
そのような大容量の記憶装置としてはＨＤＤ（ハードディスクドライブ）が使用できる。なお、ＨＤＤに限らず、任意の記憶装置を使用できる。
【００４０】
（４）第２の文法記憶部１０３
第２の文法記憶部１０３は、図４で例示した部分文法のうち、１つ以上の部分文法を記憶する。
【００４１】
後述する理由により、第２の文法記憶部１０３の容量は、第１の文法記憶部１０２に対して比較的小さい容量とすることができる。但し、後述する理由により、第２の文法記憶部１０３は高速アクセスが可能であることが望ましい。そして、第１の文法記憶部１０２においてデータを取得するための読み出し時間よりも、第２の文法記憶部１０２の読み出し時間が短い必要がある。
【００４２】
そのような高速アクセスが可能な記憶装置としてはＲＡＭ（ランダムアクセスメモリー）が使用できる。なお、ＲＡＭに限らず、任意の記憶装置を使用できる。
【００４３】
（５）文法転送部１０４
文法転送部１０４は、後述する第１の照合部１０７における照合処理で参照が必要となった部分文法を、第１の文法記憶部１０２から第２の文法記憶部１０３へ転送する。
【００４４】
ここで、文法の始端ノードを含む部分文法は、後述する第１の照合部１０７における照合処理が始まる以前の段階で、第１の文法記憶部１０２から第２の文法記憶部１０３へ予め転送しておく。
【００４５】
図４の例では、始端ノードＳＴを含む部分文法Ａを、第２の文法記憶部１０３へ予め転送しておく。第１の照合部１０７は、第２の文法記憶部１０３に記憶された部分文法のうち、始端ノードを含む部分文法を参照して照合の処理を開始する。
【００４６】
（６）モデル記憶部１０５
モデル記憶部１０５は、認識対象の語句あるいは部分語句の音声特徴を表現する状態遷移モデルを記憶する。以下では、この状態遷移モデルを単に「音響モデル」と表記する。
【００４７】
音声認識に好適な音響モデルとして、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ：隠れマルコフモデル）がある。ＨＭＭは、１つ以上の状態Ｓｉと、初期状態の集合ＳＳ及び最終状態の集合ＳＦと、ある状態Ｓｊからある状態Ｓｉへの遷移確率Ａｊｉと、ある状態Ｓｊからある状態Ｓｉへの遷移パスにおける音声特徴ベクトルｘの出力確率Ｂｊｉ（ｘ）と、状態Ｓｉの初期確率ＰＳｉで定義される。但し、１＝＜ｉ＝＜ＮＳ及び１＝＜ｊ＝＜ＮＳであり、ＮＳはＨＭＭを構成する状態の総数である。
【００４８】
ＨＭＭの例を図５に示す。図５は、状態数ＮＳ＝４のＨＭＭの例であり、音声認識において典型的に用いられるＬｅｆｔ−ｔｏ−Ｒｉｇｈｔ型と呼ばれるトポロジー（構造）をもつＨＭＭである。
【００４９】
ＨＭＭの特徴として、ある部分語句に対応する複数のＨＭＭを接続することで、より長い語句のＨＭＭを得ることができる。例えば、図６に示すように、部分語句Ｗ１１及び部分語句Ｗ２１に対応する２つのＨＭＭを接続することで、語句「Ｗ１１−Ｗ２１」のＨＭＭを得ることができる。以下では、音響モデルとして図５で例示したＨＭＭを使用することを前提に説明を続ける。
【００５０】
ここで「状態遷移モデル（音響モデル）」とは、音声特徴の時系列変化を表現するもので、この状態遷移モデルの「各状態」は、その時系列変化のある時点における音声特徴を表現する。図５に示すように，これら状態が遷移（矢印）によって繋がることで、音響モデル全体として音声特徴の時系列変化を表現できる。具体的には，「各状態」は，ある時点における音声特徴の「出力確率」と呼ばれるものを出力し、「前向き確率」は、この出力確率を用いて，下記の式（１）〜（３）により計算される。
【００５１】
なお、音響モデルとして図５の例を含むあらゆるＨＭＭを使用することができる。例えば、図７のＨＭＭのように、多数の遷移パスをもつＨＭＭを使用できる。また、ＨＭＭに限らず、時系列テンプレートモデルのように、状態遷移をもつ任意のモデルも使用できる。
【００５２】
（７）第１の照合部１０７
第１の照合部１０７は、音声特徴列と音響モデルとの照合を行う。
【００５３】
（７−１）照合方法
この照合方法について説明する。
【００５４】
（７−１−１）ＨＭＭからの出力確率の計算
音声特徴列Ｘに対して、ある認識対象の語句ｗに対応するＨＭＭからの出力確率Ｐ（Ｘ｜ｗ）を計算する。ここで１＝＜ｗ＝＜Ｗとし、Ｗは認識対象の語句の総数とする。また、Ｐ（Ｘ｜ｗ）をＰ（Ｘ）と簡略表記したとき、Ｐ（Ｘ）は式（１）、式（２）、式（３）で計算される。
【００５５】
Ｐ（Ｘ）＝ｍａｘ  ｉ（α（ｉ，Ｔ））  （但し、Ｓｉ⊂ＳＦである）          ・・・（１）
α（ｉ，０）＝ＰＳｉ  （但し、Ｓｉ⊂ＳＳである）  ・・・（２）
α（ｉ，ｔ）＝ｍａｘ＿ｉ（Ａｊｉ＊Ｂｊｉ（ｘ（ｔ））＊α（ｊ，ｔ−１））  ・・・（３）
ここで、α（ｉ，ｔ）は、ＨＭＭの初期状態から遷移し、ｔ番目のフレームにおいてＨＭＭの状態Ｓｉに到る前向き確率である。
【００５６】
ＨＭＭでは、初期状態からｔ番目のフレームにおいて状態Ｓｉに到る遷移パスが複数存在するため、前向き確率は複数の遷移パス毎の前向き確率の総和として計算するのが本来である。しかし、式（３）では、複数の遷移パスの中で最大の前向き確率を与える遷移パスを選択し、その前向き確率をｔ番目のフレームにおける状態Ｓｉの前向き確率とする。これをビタビ法と呼ぶ。ビタビ法は、音声認識の分野において、複数の遷移パスの前向き確率の総和をとる方法の良い近似になることが知られている。
【００５７】
第１の照合部１０７は、式（１）に示すように、フレーム番号ＴにおけるＳｉ⊂ＳＦである状態Ｓｉの前向き確率により、音声特徴列Ｘに対する認識対象の語句ｗの出力確率Ｐ（Ｘ｜ｗ）を計算する。
【００５８】
また、複数の認識対象の語句ｗに対して出力確率Ｐ（Ｘ｜ｗ）を計算し、そのうち最大の出力確率を与える認識対象の語句ｗを、照合結果として出力する。
【００５９】
（７−１−２）変数の参照方法
式（１）、式（２）、式（３）のうちＨＭＭに依存する変数、すなわち、初期状態の集合ＳＳ、最終状態の集合ＳＦ、遷移確率Ａｊｉ、出力確率Ｂｊｉ、初期確率ＰＳｉは、認識対象の語句ｗに対応するＨＭＭから与えられる。
【００６０】
これらの変数は、第２の文法記憶部１０３に記憶された１つ以上の部分文法に記述された認識対象の語句及びその部分語句を参照し、また、モデル記憶部１０５に記憶された認識対象の語句及びその部分語句に対応するＨＭＭを参照することで得られる。
【００６１】
そのため、第１の照合部１０７における処理を十分に高速に実行するためには、認識対象の語句及びその部分語句の参照を高速に行う必要がある。したがって、第２の文法記憶部１０３に記憶された１つ以上の部分文法を十分に高速に参照できる必要がある。すなわち、第２の文法記憶部１０３は、高速アクセス可能であることが望ましい。
【００６２】
式（３）に示したように、音声特徴列Ｘに対するＨＭＭの状態Ｓｉの前向き確率α（ｉ，ｔ）は、フレーム番号ｔの増加に応じた漸化式で計算される。
【００６３】
そのため、第２の文法記憶部１０３に全ての部分文法が記憶されておらず、認識対象の語句の部分語句だけが参照可能な場合でも、式（３）に基づく前向き確率の計算を開始できる。
【００６４】
例えば、図４で例示した部分文法を使用する場合は、図４の部分文法のうち始端ノードＳＴを含む部分文法Ａが第２の文法記憶部１０３に記憶されていれば、部分文法Ａに記述されている部分語句Ｗ１１及びＷ１２に対応するＨＭＭをモデル記憶部１０５から参照することで、式（３）に基づく前向き確率の計算を開始できる。
【００６５】
（７−２）転送方法
上記参照処理を可能とするために、文法転送部１０４は、第１の文法記憶部１０２から第２の文法記憶部１０３へ、始端ノードを含む部分文法を予め転送しておく。
【００６６】
その後、第１の照合部１０７における処理の進展に応じて、文法転送部１０４が、第１の文法記憶部１０２から第２の文法記憶部１０３へ後続部分文法を転送する。
【００６７】
この転送方法について図４に基づいて説明する。
【００６８】
まず、図４の部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭに対する式（３）の前向き確率の計算が進展する。
【００６９】
次に、進展すると部分語句Ｗ１１に対応するＨＭＭの末尾状態の前向き確率が計算される。
【００７０】
次に、第１の照合部１０７は前向き確率の計算をさらに進めるために部分語句Ｗ１１の後続部分語句Ｗ２１及びＷ２２に対応するＨＭＭを参照することが必要となるので、文法転送部１０４は部分文法Ｂを第２の文法記憶部１０３へ転送する。
【００７１】
次に、第１の照合部１０７は、転送された後続部分文法である部分文法Ｂに記述された後続部分語句Ｗ２１及びＷ２２を参照し、さらに、それらに対応するＨＭＭをモデル記憶部１０４から参照することで、式（３）に基づく照合処理を継続できる。
【００７２】
このように、第１の照合部１０７における処理の進展に応じて、文法転送部１０４が必要となる部分文法を転送することで、第２の文法記憶部１０３で記憶する部分文法の数を効率的に限定することができる。例えば、図４で例示した部分文法を参照する場合に、認識対象の語句「Ｗ１１−Ｗ２１−Ｗ３１−Ｗ４１」の出力確率を計算するためには、第２の文法記憶部１０３には部分文法Ａ、Ｂ、Ｄ、Ｆの４つの部分文法のみが記憶されていればよい。このとき、他より大きい前向き確率を与える部分語句を対象として、それらの部分語句に後続する部分語句を含む部分文法を優先して転送することで、転送する部分文法を効率的に選択することができる。この結果、第２の文法記憶部１０３の容量を、第１の文法記憶部１０２の容量に比べて小さくできる。
【００７３】
（７−２）問題点
しかし、従来技術と同様に第１の照合部１０７だけを用いると、文法転送部１０４による部分文法の転送時間だけ、処理の実行が遅延するという問題点がある。これを図８〜１０を用いて説明する。
【００７４】
図８は、図４に例示した部分文法の集合で表現される文法及び認識対象の語句のうち、部分文法Ａに記述された部分語句Ｗ１１及び部分文法Ｂに記述された部分語句Ｗ２１を接続した語句「Ｗ１１−Ｗ２１」に対する前向き確率の計算において、前向き確率を計算すべきＨＭＭ状態列を図示したものである。図８の縦軸は、部分語句Ｗ１１に対応するＨＭＭ状態列Ｓ１〜Ｓ３、及び、部分語句Ｗ２１に対応するＨＭＭ状態列Ｓ４〜Ｓ６を示している。図８の横軸は、フレーム毎の音声特徴列を示している。また、図８の縦軸と横軸の交点は、フレームｔにおけるＨＭＭの状態Ｓｉを示し、これらの交点に対して前向き確率α（ｉ，ｔ）を計算する必要がある。また、交点間のアークはＨＭＭの状態間の遷移パスを示している。
【００７５】
第１の照合部１０７では、各交点の前向き確率を式（３）に基づいて計算することで照合処理を進めていく。初期状態では、第２の文法記憶部１０３に部分文法Ａのみが記憶されているため、部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭ状態列Ｓ１〜Ｓ３のみが参照可能となっている。この様子を図９に示す。
【００７６】
図９では、第２の文法記憶部１０３にまだ転送されていない部分文法Ｂに記述された部分語句Ｗ２１に対応するＨＭＭ状態列を破線で示している。第１の照合部１０７はまず、部分語句Ｗ１１に対応するＨＭＭ状態列の前向き確率を計算する。図９の例では、３番目のフレーム（ｔ＝３）の時点で、部分語句Ｗ１１の末尾状態Ｓ３の前向き確率α（３，３）の計算までが完了している。図９では、前向き確率の計算結果を、斜線で塗り潰した点として図示している。前向き確率の計算をこれ以上進めるためには、部分文法Ｂに記述された部分語句Ｗ２１に対応するＨＭＭ状態列を参照する必要がある。そのため、この時点で、文法転送部１０４が、部分文法Ｂを第１の文法記憶部１０２から第２の文法記憶部１０３へ転送する。
【００７７】
ここで、第１の照合部１０７だけを用いる場合には、部分文法の転送が完了した時点から、第１の照合部１０７における照合処理を再開することになる。すなわち、図１０の枠線内に示すように、４番目のフレーム（ｔ＝４）以降のフレームの音声特徴列に対して、部分語句Ｗ１１及び部分語句Ｗ２１に対応するＨＭＭ状態列Ｓ１〜Ｓ６の前向き確率が計算される。このとき、文法転送部１０４が部分文法の転送を完了するまでの間、前向き確率の計算は一旦中断されることとなる。そのため、文法転送部１０４における部分文法の転送時間の分だけ、第１の照合部１０７における処理が遅延することになり、それがすなわち音声認識装置全体の処理遅延となってしまう。
【００７８】
今、ｔ１番目からｔ２番目のフレーム（ｔ１＜ｔ２）の間に、ＨＭＭ状態列のうちｉ番目からｊ番目の状態（ｉ＜ｊ）を対象とした照合処理すなわち前向き確率の計算を実行するために必要な時間をＤ（ｔ１：ｔ２，Ｓｉ：Ｓｊ）とおくと、図８〜１０で例示した照合処理において、６番目のフレーム（ｔ＝６）までにＨＭＭ状態列Ｓ１〜Ｓ６の前向き確率を計算するために必要とする時間Ｄ（１：６，Ｓ１：Ｓ６）は、以下の式（４）で与えられる。
【００７９】
Ｄ（１：６，Ｓ１：Ｓ６）＝Ｄ１（１：３，Ｓ１：Ｓ３）＋Ｄｔ（Ｂ）＋Ｄ１（４：６，Ｓ１：Ｓ６）  ・・・（４）
ここで、Ｄｔ（Ｂ）は、文法転送部１０４において部分文法Ｂを転送するために必要な転送待ち時間とする。また、Ｄ１（）は、第１の照合部１０７が前向き確率を計算するために必要な時間とする。一般的に、異なる２つの記憶装置間でデータを転送する場合には、ある程度の転送待ち時間が発生する。
【００８０】
また、第１の文法記憶部１０２として、低速アクセスしかできないが大容量の記憶装置を用いた場合には、部分文法の転送開始時に第１の文法記憶部１０２から部分文法を読み出すための待ち時間も発生する。
【００８１】
これらの要因に応じて、任意の部分文法ｇを転送するための時間Ｄｔ（ｇ）は大きくなる。この結果、高速アクセスが可能な第２の文法記憶部１０３により前向き確率の計算に必要な処理時間を高速化できても、部分文法の転送に必要な時間が大きくなってしまい、結果として前向き確率の計算に必要な時間Ｄ（ｔ１：ｔ２，Ｓｉ：Ｓｊ）が大きくなるという問題点が発生する。
【００８２】
（７−３）解決手段
この問題点に鑑み、本実施形態では、後述する第２の照合部１０８及び認識制御部１０６を備え、部分文法の転送と並列に第２の照合部１０８を動作させることで、この問題点を解決する。以下では、この解決するための動作について説明する。
【００８３】
（８）第２の照合部１０８
第２の照合部１０８は、第１の照合部１０７と同じように、式（１）、式（２）、式（３）に基づき、音声特徴列と音響モデルとの照合を行う。但し、第２の照合部１０８は、文法転送部１０４が部分文法を転送している間に、部分文法の転送と並列に動作して照合処理を行う。この処理の様子を図１１〜１３を用いて説明する。図１１〜１３は、図８〜１０と同様に、第１の照合部１０７及び第２の照合部１０８における前向き確率の計算の様子を示している。
【００８４】
（８−１）部分文法の転送中の処理
図１１は、図９と同様に、３番目のフレーム（ｔ＝３）の時点で、部分語句Ｗ１１の末尾状態Ｓ３の前向き確率α（３，３）までの計算が完了した様子を示している。なお、図１１で図示した前向き確率の計算は、前述の通り第１の照合部１０７で実行される。
【００８５】
この時点から、文法転送部１０４は、第１の文法記憶部１０２から第２の文法記憶部１０３への部分文法Ｂの転送を開始する。
【００８６】
この部分文法の転送と並列に、第２の照合部１０８が、第２の文法記憶部１０３にすでに記憶されている部分文法Ａに対する照合処理、すなわち、部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭ状態列の前向き確率の計算を行う。この様子を図１２に示す。
【００８７】
図１２は、文法転送部１０４における部分文法の転送中に、第２の照合部１０８によって実行される前向き確率の計算の様子を図示したものである。第２の照合部１０８は、図１２の枠線内に示したように、４番目のフレーム（ｔ＝４）から６番目のフレーム（ｔ＝６）までの音声特徴列に対して、部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭ状態列Ｓ１〜Ｓ３の前向き確率を計算する。
【００８８】
第２の照合部１０８における前向き確率の計算は、文法転送部１０４における部分文法の転送が完了するまで継続する。ここでは、図１２で図示するように、第２の照合部１０８において６番目のフレーム（ｔ＝６）の音声特徴に対する前向き確率が完了した時点で、文法転送部１０４における部分文法の転送が完了するものとする。
【００８９】
（８−２）部分文法の転送後の処理
部分文法の転送が完了した時点で、第２の照合部１０８の処理を終了し、第１の照合部１０７における照合処理を再開する。
【００９０】
このとき、第１の照合部１０７において前向き確率を計算する範囲は、図１３の枠線内で示した範囲となる。すなわち、４番目のフレーム（ｔ＝４）から６番目のフレーム（ｔ＝６）までの音声特徴列に対して、新たに転送された部分文法Ｂに記述された部分語句Ｗ２１に対応するＨＭＭ状態列Ｓ４〜Ｓ６の前向き確率を計算する。図１３の枠線内で示した範囲は、第２の照合部１０８を使用せず第１の照合部１０７のみで前向き確率を計算した場合を示した図１０と比べて、前向き確率を計算する範囲が限定されている。
【００９１】
これにより、６番目のフレーム（ｔ＝６）までにＨＭＭ状態列Ｓ１〜Ｓ６の前向き確率を計算するために必要な時間Ｄ（１：６、Ｓ１：Ｓ６）を、式（４）の場合に比べて小さくすることができる。具体的には、第２の照合部１０８を使用した場合の、前向き確率を計算するために必要な時間Ｄ（１：６、Ｓ１：Ｓ６）は、以下の式（５）で与えられる。
【００９２】
Ｄ（１：６，Ｓ１：Ｓ６）＝Ｄ１（１：３，Ｓ１：Ｓ３）＋Ｄｔ（Ｂ）＋Ｄ１（４：６，Ｓ４：Ｓ６）  ・・・（５）
ここで、部分文法Ｂの転送に必要な時間Ｄｔ（Ｂ）は、第２の照合部１０８において、４番目のフレーム（ｔ＝４）から６番目のフレーム（ｔ＝６）までの音声特徴列に対してＨＭＭ状態列Ｓ１〜Ｓ３の前向き確率を計算するために必要な時間に等しい。すなわちＤｔ（Ｂ）＝Ｄ２（４：６，Ｓ１：Ｓ３）である。従って、式（５）は式（６）に変形できる。
【００９３】
Ｄ（１：６，Ｓ１：Ｓ６）＝Ｄ１（１：３，Ｓ１：Ｓ３）＋Ｄ２（４：６，Ｓ１：Ｓ３）＋Ｄ１（４：６，Ｓ４：Ｓ６）  ・・・（６）
また、第１の照合部１０７と第２の照合部１０８では、前向き確率を計算するための時間に差はない。すなわちＤ２（４：６，Ｓ１：Ｓ３）＝Ｄ１（４：６，Ｓ１：Ｓ３）である。これにより、式（６）はさらに式（７）に変形できる。
【００９４】
Ｄ（１：６，Ｓ１：Ｓ６）＝Ｄ１（１：３，Ｓ１：Ｓ３）＋Ｄ１（４：６，Ｓ１：Ｓ３）＋Ｄ１（４：６，Ｓ４：Ｓ６）＝Ｄ１（１:３,Ｓ１：Ｓ３）＋Ｄ１（４：６，Ｓ１：Ｓ３）  ・・・（７）
（８−３）並列処理の効果
式（４）と式（７）を比較すると、式（７）は、式（４）において部分文法の転送に必要な時間Ｄｔ（Ｂ）＝０となった場合に等しく、その左辺は式（４）に比べて小さくなる。
【００９５】
すなわち、部分文法の転送と並列に第２の照合部１０８の処理を実行することで、前向き確率を計算するために必要な時間Ｄから、部分文法Ｂの転送に必要な時間の影響を排除できる。
【００９６】
この結果、第２の文法記憶部１０３の容量を小さくすることでコストの増大を抑えつつ、文法転送部１０４における第１の文法記憶部１０２から第２の文法記憶部１０３への部分文法の転送に必要な時間に影響されず、高速な照合処理を実行できる。
【００９７】
（９）認識制御部１０６
認識制御部１０６は、文法転送部１０４における部分文法の転送状況を監視し、転送状況に応じて第１の照合部１０７及び第２の照合部１０８を切り替える。
【００９８】
すなわち、第１の照合部１０７における照合部の進展に応じて文法転送部１０２が部分文法の転送を開始すると、認識制御部１０６は第１の照合部１０７を第２の照合部１０８へ切り替えて、部分文法の転送と並列に第２の照合部１０８による照合処理を実行する。
【００９９】
また、認識制御部１０６は、文法転送部１０２における部分文法の転送が完了したら、第２の照合部１０８を第１の照合部１０７へ切り替えて、第１の照合部１０７による処理を再開する。
【０１００】
（１０）動作
次に、図１４を用いて、本実施形態の動作を説明する。図１４は、第１の実施形態の動作の一例を示すフローチャートである。
【０１０１】
なお、特徴抽出部１０１の動作フローは当業者には自明であるため、このフローチャートでは記述を省略した。以下では、図１４のフローチャートに基づく動作を、動作ステップＳ１〜Ｓ７毎に説明する。
【０１０２】
（Ｓ１）：文法転送部１０４において、第１の照合部１０７の照合処理の進展に基づき、部分文法の転送が必要かどうかを判断する。部分文法の転送が必要な場合はステップＳ４へ進む。そうでない場合にはステップＳ２へ進む。
【０１０３】
（Ｓ２）：第１の照合部１０７において、第２の文法記憶部１０３に記憶された部分文法を参照し、照合処理を実行する。
【０１０４】
（Ｓ３）：第１の照合部１０７あるいは第２の照合部１０８が、入力音声の終端に相当する音声特徴に対して照合処理を完了した場合にはステップＳ７へ進む。そうでない場合にはステップＳ１へ進み照合処理を継続する。
【０１０５】
（Ｓ４）：文法転送部１０４において、第１の照合部１０７で必要とされた部分文法を、第１の文法記憶部１０２から第２の文法記憶部１０３へ転送する。
【０１０６】
（Ｓ５）：第２の照合部１０８において、第２の文法記憶部１０３に記憶された部分文法を参照し、文法転送部１０４における部分文法の転送と並列に照合処理を実行する。
【０１０７】
（Ｓ６）：認識制御部１０６において、文法転送部１０４における部分文法の転送状況を監視し、部分文法の転送が完了していればステップＳ３へ進む。部分文法の転送が完了していない場合には、ステップＳ５へ進んで、第２の照合部１０８の処理を継続する。
【０１０８】
（Ｓ７）：第１の照合部１０７あるいは第２の照合部１０８において、最も大きい前向き確率を与える認識対象の語句を認識結果として出力する。
【０１０９】
（１１）効果
このように、本実施形態では、第２の文法記憶部１０３の容量を小さくすることで音声認識装置のコストの増大を抑えつつ、文法転送部１０４における第１の文法記憶部１０２から第２の文法記憶部１０３への部分文法の転送待ち時間に影響されず、高速な照合処理を実行することができる。
【０１１０】
（１２）変更例
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１１１】
例えば、上記実施形態では、照合部として、第１の照合部１０７及び第２の照合部１０８の２つを備え、これらの照合部を認識制御部１０６により切り替えて動作させるという構成をとっている。
【０１１２】
しかし、第１の照合部１０７及び第２の照合部１０８を同一の照合部とし、認識制御部１０６からの指示に応じて、照合部の動作が第１の照合部１０７あるいは第２の照合部１０８の動作と等価となるように、照合部がその内部処理を切り替えるという構成もとることができる。
【０１１３】
（第２の実施形態）
次に、第２の実施形態の音声認識装置について図１１，図１２、図１５〜図１８に基づいて説明する。
【０１１４】
（１）第２の実施形態の特徴
第１の実施形態の第１の照合部１０７と第２の照合部１０８における前向き確率計算の式（３）によれば、ｔ番目のフレームにおける前向き確率の計算は、一つ前のフレームｔ−１における前向き確率及びフレームｔにおける音声特徴ｘ（ｔ）にのみ依存している。そのため、照合処理において、ｔ番目のフレームにおける前向き確率α（ｉ，ｔ）を計算する際には、ｔ−１番目のフレームにおける前向き確率α（ｉ，ｔ−１）（１＝＜ｉ＝＜ＮＳ）のみを記憶しておき、ｔ番目のフレームにおける音声特徴ｘ（ｔ）に対して前向き確率を計算すれば良い。
【０１１５】
このように、ｔ番目のフレームにおける前向き確率の計算において、ｔ−１番目のフレームにおける前向き確率α（ｉ，ｔ−１）のみを記憶することとし、他の計算済みの前向き確率を忘却することで、任意の前向き確率を記憶するために必要なメモリ量を大幅に削減することができる。
【０１１６】
また、ｔ番目のフレームにおける音声特徴ｘ（ｔ）のみを参照し、ｔ番目のフレームより過去のフレームの音声特徴列を忘却することで、任意の音声特徴を記憶するために必要なメモリ量を大幅に削減できる。
【０１１７】
以下で説明する本実施形態は、照合部の前向き確率の計算の過程において、前向き確率及び音声特徴列を記憶するために必要なメモリ量を大幅に削減する効果を与えるものである。
【０１１８】
（２）音声認識装置の構成
図１５は、本実施形態の音声認識装置の構成例を表すブロック図である。
【０１１９】
音声認識装置は、図１で示した第１の実施形態のブロック図とほぼ同じ構成をとり、特徴抽出部１０１、第１の文法記憶部１０２、第２の文法記憶部１０３、文法転送部１０４、モデル記憶部１０５、認識制御部１０６、第１の照合部１０７、第２の照合部１０８を備える。さらに、本実施形態は、第３の照合部１０９、音声特徴記憶部１１０、確率記憶部１１１を備える。
【０１２０】
以下では、第１の実施形態との差分についてのみ説明する。
【０１２１】
（３）音声特徴記憶部１１０
音声特徴記憶部１１０は、文法転送部１０４が部分文法の転送する間に、第２の照合部１０８の照合処理において参照された音声特徴列を、フレーム番号と関連付けて記憶する。この動作を図１２及び図１６を用いて説明する。
【０１２２】
図１２の枠線内は、第２の照合部１０８における前向き確率の計算の様子を示している。図１２の例では、４番目のフレーム（ｔ＝４）から６番目のフレーム（ｔ＝６）までの間、部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭ状態列Ｓ１〜Ｓ３の前向き確率が計算されている。このとき、音声特徴記憶部１１０は、図１６の枠線内（音声特徴列）で例示したように、第２の照合部１０８の照合処理において参照された音声特徴列ｘ（４）、ｘ（５）、ｘ（６）をフレーム番号と関連付けて記憶する。
【０１２３】
（４）確率記憶部１１１
確率記憶部１１１は、第１の照合部１０７及び第２の照合部１０８において、後続部分語句をもつ部分語句に対応するＨＭＭ状態列の末尾状態まで前向き確率の計算が行われた場合に、当該末尾状態の状態番号とその前向き確率をフレーム番号と関連付けて記憶する。
【０１２４】
この動作を図１１、図１２及び図１６を用いて説明する。
【０１２５】
図１１は、第１の照合部１０７における、部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭ状態列の前向き確率の計算の様子を示している。図１１では、３番目のフレーム（ｔ＝３）において、部分語句Ｗ１１に対応するＨＭＭ状態列の末尾状態Ｓ３の前向き確率が計算されている。
【０１２６】
図１２の枠線内は、第２の照合部１０８における、部分文法Ａに記述された部分語句Ｗ１１に対応するＨＭＭ状態列の前向き確率の計算の様子を示している。この前向き確率の計算は、文法転送部１０４における部分文法Ｂの転送と並列に実行される。
【０１２７】
図１６は、図１１、図１２をまとめた図となっており、これまで説明した第１の照合部１０７及び第２の照合部１０８による前向き確率の計算の様子をまとめて示している。図１６の枠線内は、第１の照合部１０７及び第２の照合部１０８によって計算された、ＨＭＭ状態列の末尾状態Ｓ３の前向き確率である。
【０１２８】
図１７の例では、３番目のフレーム（ｔ＝３）から６番目のフレーム（ｔ＝６）までの間で、末尾状態Ｓ３の前向き確率が計算されている。このとき、確率記憶部１１１は、図１７の枠線内で示したＨＭＭ状態列の末尾状態Ｓ３の状態番号及び前向き確率α（３，３）、α（３，４）、α（３、５）、α（３，６）を、フレーム番号と関連付けて記憶する。
【０１２９】
（５）第３の照合部１０９
第３の照合部１０９は、文法転送部１０４における部分文法の転送が完了した時点から、音声特徴記憶部１１０に記憶された音声特徴列に対して、文法転送部１０４が転送した後続部分文法に記述された認識対象の語彙及びその部分語句に対応するＨＭＭ状態列の前向き確率を計算する。この前向き確率の計算において、確率記憶部１１１に記憶された先行部分語句に対応するＨＭＭ状態列の末尾状態の前向き確率を参照する。この動作を図１７の例で説明する。
【０１３０】
図１７の破線枠で囲まれているのは、図１６の例において音声特徴記憶部１１０に記憶された音声特徴列ｘ（４）、ｘ（５）、ｘ（６）及び確率記憶部１１１に記憶された前向き確率α（３，３）、α（３，４）、α（３，５）、α（３，６）を示している。図１７の枠線内は、第３の照合部１０９における、音声特徴記憶部１１０に記憶された音声特徴列に対するＨＭＭ状態列の前向き確率の計算の様子を示している。このとき、図１７の枠線内のＨＭＭ状態列の前向き確率を計算するためには、図１７の破線枠に囲まれた音声特徴列ｘ（４）、ｘ（５）、ｘ（６）及び前向き確率α（３，３）、α（３，４）、α（３，５）、α（３，６）を参照する必要がある。これらは前述の通り音声特徴記憶部１１０及び確率記憶部１１１に記憶されている。
【０１３１】
第３の照合部１０９においてｔ番目のフレームの前向き確率を計算するためには、音声特徴記憶部１１０に記憶されている音声特徴列、及び、確率記憶部１１１に記憶されている末尾状態の前向き確率の他に、ｔ−１番目のフレームにおける前向き確率α（ｉ，ｔ−１）のみ記憶すればよい。図１７の例では、５番目のフレーム（ｔ＝５）の前向き確率α（ｉ，５）（４＝＜ｉ＝＜５）を計算するためには、４番目のフレーム（ｔ＝４）で計算した前向き確率α（ｉ，４）（ｉ＝４）のみ記憶しておけば良い。さらに、６番目のフレーム（ｔ＝６）の前向き確率を計算するためには、５番目のフレーム（ｔ＝５）で計算した前向き確率のみ記憶すれば良く、４番目のフレーム（ｔ＝４）で計算した前向き確率を記憶する必要はない。このように、第３の照合部１０９における前向き確率の計算では、計算の過程で記憶すべき前向き確率α（ｉ，ｔ）の個数を大幅に削減できる。
【０１３２】
また、第１の照合部１０７及び第２の照合部１０８の前向き確率の計算においても、ｔ番目のフレームにおける前向き確率を計算するためには、ｔ−１番目のフレームにおける前向き確率のみを記憶すれば良く、これにより計算の過程で記憶すべき前向き確率の個数を大幅に削減できる。
【０１３３】
また、第１の照合部１０７、第２の照合部１０８では、ｔ番目のフレームにおける音声特徴ｘ（ｔ）のみ参照すればよく、それ以外の音声特徴列を記憶する必要はない。
【０１３４】
（６）認識制御部１０６
認識制御部１０６は、文法転送部１０２における部分文法の転送状況を監視し、転送状況に応じて第１の照合部１０７、第２の照合部１０８及び第３の照合部を切り替える。
【０１３５】
まず、第１の照合部１０７における照合部の進展に応じて文法転送部１０４が部分文法の転送を開始すると、認識制御部１０６は第１の照合部１０７を第２の照合部１０８へ切り替えて、部分文法の転送と並列に第２の照合部１０８による照合処理を実行する。
【０１３６】
次に、認識制御部１０６は、文法転送部１０４における部分文法の転送が完了したら、第２の照合部１０８を第３の照合部１０９へ切り替えて、第３の照合部１０９による照合処理を開始する。
【０１３７】
次に、認識制御部１０６は、第３の照合部１０９が音声特徴記憶部１１０に記憶された音声特徴列に対する照合処理を終えた時点で、第３の照合部１０９を第１の照合部１０７へ切り替えて、第１の照合部１０７による照合処理を再開する。
【０１３８】
（７）動作
次に、図１８を用いて、本実施形態の動作を説明する。図１８は、第２の実施形態の動作の一例を示すフローチャートである。
【０１３９】
なお、特徴抽出部１０１の動作フローは当業者には自明であるため、このフローチャートでは記述を省略した。以下では、図１８のフローチャートに基づく動作を、動作ステップＳ１〜Ｓ１５毎に説明する。
【０１４０】
（Ｓ１）：文法転送部１０４において、第１の照合部１０７の照合処理の進展に基づき、部分文法の転送が必要かどうかを判断する。部分文法の転送が必要な場合はステップＳ４へ進む。そうでない場合にはステップＳ２へ進む。
【０１４１】
（Ｓ２）：第１の照合部１０７において、第２の文法記憶部１０３に記憶された部分文法を参照し、照合処理を実行する。
【０１４２】
（Ｓ３）：確率記憶部１１１において、第１の照合部１０７が計算した前向き確率のうち、後続語句をもつ部分語句に対応するＨＭＭ状態列の末尾状態の前向き確率を、フレーム番号と関連付けて記憶する。
【０１４３】
（Ｓ４）：第１の照合部１０７あるいは第２の照合部１０８が、入力音声の終端に相当する音声特徴に対して照合処理を完了した場合にはステップＳ７へ進む。そうでない場合にはステップＳ１へ進み照合処理を継続する。
【０１４４】
（Ｓ５）：文法転送部１０４において、第１の照合部１０７で必要とされた部分文法を、第１の文法記憶部１０２から第２の文法記憶部１０３へ転送する。
【０１４５】
（Ｓ６）：第２の照合部１０８において、第２の文法記憶部１０３に記憶された部分文法を参照し、文法転送部１０４における部分文法の転送と並列に照合処理を実行する。
【０１４６】
（Ｓ７）：音声特徴記憶部１１０において、第２の照合部１０８の前向き確率の計算で参照された音声特徴列を、フレーム番号に関連付けて記憶する。
【０１４７】
（Ｓ８）：確率記憶部１１１において、第２の照合部１０８が計算した前向き確率のうち、後続語句をもつ部分語句に対応するＨＭＭ状態列の末尾状態の前向き確率を、フレーム番号と関連付けて記憶する。
【０１４８】
（Ｓ９）：認識制御部１０６において、文法転送部１０４における部分文法の転送状況を監視し、部分文法の転送が完了していればステップＳ１０へ進む。部分文法の転送が完了していない場合には、ステップＳ６へ進んで、第２の照合部１０８の処理を継続する。
【０１４９】
（Ｓ１０）：第３の照合部１０９において、音声特徴記憶部１１０に記憶された音声特徴列に対して、確率記憶部１１１に記憶されたＨＭＭ状態列の末尾状態の前向き確率を参照し、照合処理を実行する。
【０１５０】
（Ｓ１１）：認識制御部１０６において、第３の照合部１０９を監視し、第３の照合部１０９の処理が完了していればステップＳ１１へ進む。完了していなければステップＳ１０へ進み第３の照合部１０９の処理を継続する。
【０１５１】
（Ｓ１２）：第１の照合部１０７、第２の照合部１０８、第３の照合部１０９において、最も大きい前向き確率を与える認識対象の語句を認識結果として出力する。
【０１５２】
（８）効果
このように本実施形態では、第１の照合部１０７、第２の照合部１０８、第３の照合部１０９の前向き確率の計算の過程において、前向き確率及び音声特徴列を記憶しておくためのメモリ量を大幅に削減できる。
【０１５３】
（９）変更例
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１５４】
例えば、本実施形態では、照合部として、第１の照合部１０７、第２の照合部１０８、第３の照合部１０９の３つを備え、これらの照合部を認識制御部１０６により切り替えて動作させるという構成をとっている。
【０１５５】
しかし、第１の照合部１０７、第２の照合部１０８、第３の照合部１０９を同一の照合部とし、認識制御部１０６からの指示に応じて、照合部の動作が第１の照合部１０７、第２の照合部１０８、第３の照合部１０９の動作と等価となるように、照合部がその内部処理を切り替えるという構成もとることができる。
【０１５６】
（第３の実施形態）
次に、第３の実施形態の音声認識装置について図１に基づいて説明する。
【０１５７】
本実施形態の音声認識装置の構成例は、第１の実施形態の音声認識装置の構成例を表す図１と同様である。第３の実施形態では、文法転送部１０４及び認識制御部１０６の動作の一部が第１の実施形態と異なる。そこで、以下では、第３の実施形態における認識制御部１０６の動作についてのみ説明する。
【０１５８】
（１）第３の実施形態の特徴
本実施形態では、文法転送部１０４における部分文法の転送において、予め定めた時間を経過しても部分文法の転送が完了しない場合には、部分文法の転送を中止する。但し、この時間は、第２の照合部１０８の処理において参照されたフレーム数を単位として定めても良い。
【０１５９】
すなわち、部分文法の転送を開始してから１００ｍｓｅｃというように定めても良い。また、部分文法の転送を開始してから第２の照合部１０８において５フレーム分の音声特徴列に対する前向き確率の計算を完了した時点というように定めても良い。この時間は、任意の値を設定できる。
【０１６０】
（２）認識制御部１０６
認識制御部１０６は、文法転送部１０４における部分文法の転送状況を監視し、転送状況に応じて第１の照合部１０７及び第２の照合部１０８を切り替える。
【０１６１】
このとき、文法転送部１０４において、部分文法の転送が中止された場合には、部分文法の転送と並列に動作している第２の照合部１０８の処理を停止し、第２の照合部１０８を第１の照合部１０７へ切り替えて、第１の照合部１０７による処理を再開する。あるいは、第２の照合部１０８の処理を停止すると共に、音声認識装置の全ての処理を停止し、文法転送部１０４において部分文法の転送が中止されたことを音声認識装置の使用者に通知する。
【０１６２】
（３）効果
本実施形態では、文法転送部１０４における部分文法の転送において、予め定めた時間を経過しても部分文法の転送が完了しなかった場合に、文法転送部１０４が部分文法の転送を中止し、認識制御部１０６が第２の照合部１０７を第１の照合部１０６へ切り替えることで、照合処理を継続する。
【０１６３】
一般に、ある記憶装置から別の記憶装置へのデータ転送では、記憶装置あるいはデータ転送路における予期できない不具合により、データ転送の速度が極端に低下する、あるいは、失敗する場合がある。文法転送部１０４における部分文法の転送において、そのような部分文法の転送速度の極端な低下あるいは転送の失敗が発生すると、文法転送部１０４における部分文法の転送を完了できず、音声認識装置の動作状態が停留してしまう。
【０１６４】
そこで本実施形態では、そのような部分文法の転送速度の極端な低下あるいは転送の失敗を、文法転送部１０４において検出し、それに応じて文法転送部１０４及び認識制御部１０６を動作させることで、音声認識装置の動作状態の停留を防ぐことができる。
【図面の簡単な説明】
【０１６５】
【図１】本発明の第１の実施形態に関わる音声認識装置の構成例を示すブロック図である。
【図２】認識対象の語句の例である。
【図３】認識対象の語句を記述する文法の例である。
【図４】認識対象の語句を記述する文法を１つ以上の部分文法に分割した例である。
【図５】ＨＭＭの例である。
【図６】部分語句に対応する複数のＨＭＭを接続したＨＭＭの例である。
【図７】多数の遷移をもつＨＭＭの例である。
【図８】複数の部分語句に対応するＨＭＭ状態列に対する照合を解説する図である。
【図９】第１の実施形態における第１の照合部の照合処理を解説する図１である。
【図１０】従来技術による照合処理を実行した場合の図である。
【図１１】第１の照合部の照合処理を解説する図である。
【図１２】第２の照合部の照合処理を解説する図である。
【図１３】第１の照合部の照合処理を解説する図３である。
【図１４】第１の実施形態のフローチャートである。
【図１５】第２の実施形態に関わる音声認識装置の構成例を示すブロック図である。
【図１６】第１照合部と第２の照合部の照合処理を解説する図である。
【図１７】第３の照合部の照合処理を解説する図である。
【図１８】第２の実施形態のフローチャートである。
【符号の説明】
【０１６６】
１０１    特徴抽出部
１０２    第１の文法記憶部
１０３    第２の文法記憶部
１０４    文法転送部
１０５    モデル記憶部
１０６    認識制御部
１０７    第１の照合部
１０８    第２の照合部
【図１】
0004940057.tif 000002
【図２】
0004940057.tif 000003
【図３】
0004940057.tif 000004
【図４】
0004940057.tif 000005
【図５】
0004940057.tif 000006
【図６】
0004940057.tif 000007
【図７】
0004940057.tif 000008
【図８】
0004940057.tif 000009
【図９】
0004940057.tif 000010
【図１０】
0004940057.tif 000011
【図１１】
0004940057.tif 000012
【図１２】
0004940057.tif 000013
【図１３】
0004940057.tif 000014
【図１４】
0004940057.tif 000015
【図１５】
0004940057.tif 000016
【図１６】
0004940057.tif 000017
【図１７】
0004940057.tif 000018
【図１８】
0004940057.tif 000019