(57)【特許請求の範囲】
【請求項１】
連続音声認識におけるフレーム同期ビームサーチの制御を行うサーチ制御手段と、
前記ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、
前記ビームサーチの際に使用するネットワークを記憶するネットワーク管理手段と、
前記仮説の単語履歴情報を保持するワードエンドテーブル管理手段と、
を有し、
前記ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて、現在フレームでの展開後仮説数の予測を行い、該予測に基づきビーム幅の調整を行うことを特徴とする音声認識装置。
【請求項２】
離散単語認識におけるトレリス上でのビームサーチを制御するサーチ制御手段と、
前記ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、
前記ビームサーチにおいて使用するネットワークを記憶するネットワーク管理手段と、
を有し、
前記ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて、現在フレームでの展開後仮説数の予測を行い、該予測に基づきビーム幅の調整を行うことを特徴とする音声認識装置。
【請求項３】
連続音声認識におけるフレーム同期ビームサーチの制御を行うサーチ制御手段と、
前記ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、
前記ビームサーチの際に使用するネットワークを記憶するネットワーク管理手段と、
前記仮説の単語履歴情報を保持するワードエンドテーブル管理手段と、
を有し、
前記ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームにおける仮説展開の振る舞いが現在フレームにおける仮説展開の振る舞いを予測するための良質な指標となるかどうかを判断し、良質な指標とはならないと判断した場合、前記現在フレームにおける仮説展開の振る舞いの予測を他の方法に変更して行い、該予測に基づきビーム幅の調整を行うことを特徴とする音声認識装置。
【請求項４】
離散単語認識におけるトレリス上でのビームサーチを制御するサーチ制御手段と、
前記ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、
前記ビームサーチにおいて使用するネットワークを記憶するネットワーク管理手段と、
を有し、
前記ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームにおける仮説展開の振る舞いが現在フレームにおける仮説展開の振る舞いを予測するための良質な指標となるかどうかを判断し、良質な指標とはならないと判断した場合、前記現在フレームにおける仮説展開の振る舞いの予測を他の方法に変更して行い、該予測に基づきビーム幅の調整を行うことを特徴とする音声認識装置。
【請求項５】
音声認識におけるビームサーチ方法であって、
時間フレーム上の仮説群について、評価値を計算するステップと、
該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、
該閾値計算ステップ後、前記閾値以上の評価値を持つ仮説の数を求め、該仮説数に基づき、展開後仮説数の予測を行うか否か判断するステップと、
該ステップで展開後仮説数の予測を行うと判断された場合に前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測ステップと、
以上のステップにおいて求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈りステップと、
該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、
該展開ステップ中、展開された仮説の数が前記最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈りステップに戻って該閾値により再度枝刈りを行って前記展開処理をやり直すステップと、
を有することを特徴とするビームサーチ方法。
【請求項６】
音声認識におけるビームサーチ方法であって、
時間フレーム上の仮説群について、評価値を計算するステップと、
該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、
前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測ステップと、
以上のステップにおいて求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈りステップと、
該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、
該展開ステップ中、展開された仮説の数が前記最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈りステップに戻って該閾値により再度枝刈りを行って前記展開処理をやり直すステップと、
を有し、
前記予測ステップは、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うことを特徴とするビームサーチ方法。
【請求項７】
音声認識におけるビームサーチ方法であって、
時間フレーム上の仮説群について、評価値を計算するステップと、
該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、
前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測ステップと、
以上のステップにおいて求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈りステップと、
該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、
該展開ステップ中、展開された仮説の数が前記最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈りステップに戻って該閾値により再度枝刈りを行って前記展開処理をやり直すステップと、
を有し、
前記予測ステップは、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴とするビームサーチ方法。
【請求項８】
音声認識におけるビームサーチ方法であって、
時間フレーム上の仮説群について、評価値を計算するステップと、
該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、
前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測ステップと、
以上のステップにおいて求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈りステップと、
該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、
該展開ステップ中、展開された仮説の数が前記最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈りステップに戻って該閾値により再度枝刈りを行って前記展開処理をやり直すステップと、
を有し、
前記予測ステップは、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うとともに、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴とするビームサーチ方法。
【請求項９】
音声認識におけるビームサーチプログラムであって、
時間フレーム上の仮説群について、評価値を計算する処理と、
該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、
該閾値計算処理後、前記閾値以上の評価値を持つ仮説の数を求め、該仮説数に基づき、展開後仮説数の予測を行うか否か判断する処理と、
該処理で展開後仮説数の予測を行うと判断された場合に前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測処理と、
以上の処理において求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈り処理と、
該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、
該展開処理中、展開された仮説の数が前記最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈り処理に戻って該閾値により再度枝刈りを行って前記展開処理をやり直す処理と、
をコンピュータに実行させることを特徴とするビームサーチプログラム。
【請求項１０】
音声認識におけるビームサーチプログラムであって、
時間フレーム上の仮説群について、評価値を計算する処理と、
該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、
前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測処理と、
以上の処理において求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈り処理と、
該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、
該展開処理中、展開された仮説の数が前記最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈り処理に戻って該閾値により再度枝刈りを行って前記展開処理をやり直す処理と、
をコンピュータに実行させ、
前記予測処理は、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うことを特徴とするビームサーチプログラム。
【請求項１１】
音声認識におけるビームサーチプログラムであって、
時間フレーム上の仮説群について、評価値を計算する処理と、
該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、
前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測処理と、
以上の処理において求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈り処理と、
該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、
該展開処理中、展開された仮説の数が前記最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈り処理に戻って該閾値により再度枝刈りを行って前記展開処理をやり直す処理と、
をコンピュータに実行させ、
前記予測処理は、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴とするビームサーチプログラム。
【請求項１２】
音声認識におけるビームサーチプログラムであって、
時間フレーム上の仮説群について、評価値を計算する処理と、
該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、
前記閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるように前記ビーム幅を調整して前記閾値を補正する予測処理と、
以上の処理において求めた前記閾値を用いて前記仮説群の枝刈りを行う枝刈り処理と、
該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、
該展開処理中、展開された仮説の数が前記最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、前記ビーム幅を再調整して新たな閾値を求め、前記枝刈り処理に戻って該閾値により再度枝刈りを行って前記展開処理をやり直す処理と、
をコンピュータに実行させ、
前記予測処理は、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うとともに、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴とするビームサーチプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声認識装置、ビームサーチ方法、およびビームサーチプログラムに関する。
【０００２】
【従来の技術】
音声認識処理において、ビームサーチ法と呼ばれる方法が知られている。これは、大語彙連続音声認識などにおいて、保持する仮説（認識候補）を一定数内に納めて演算量・メモリ容量を削減するための方法の１つである。ビームサーチ法では、各フレームにおける仮説群において、所定のビーム幅を用いて、評価値の高いものだけ残し、低いものは枝刈り（プルーニング）する。
【０００３】
携帯端末やカーナビでは、メモリ量の小さな組み込み用途のＣＰＵ上で動作する連続音声認識装置が求められている。そのアプリケーションとしては、目的地検索のための住所入力や目的地である施設名の入力などがある。これらのタスクを想定すると、組み込み用途の音声認識エンジンに求められる機能としては、以下のようなものが挙げられる。
【０００４】
○大語彙な固有名詞の認識  ○発声中の息継ぎの許容  ○誤認識があった場合に、正しく認識された部分を省略して誤認識された所から再発声することの許容○「えー」などの付加語の許容  ○語順を入れ替えた発声の許容  ○与えられた一定のメモリ量内での動作（一時的にでもそのメモリ量を超えることは望ましくない）など。
【０００５】
従来のビームサーチ法の一例が、ＩＣＳＬＰ９４，ＹＯＫＯＨＡＭＡ  １９９４年の「ＩＭＰＲＯＶＥＭＥＮＴＳ  ＩＮ  ＢＥＡＭ  ＳＥＡＲＣＨ」と題されたＶｏｌｋｅｒ  Ｓｔｅｉｎｂｉｓｓらによる論文に掲載されている。この従来方法について図１０および図１１を参照して説明する。ここでは、説明を簡略化して、１フレーム分の処理について述べる。
【０００６】
あるフレームについて、仮説展開処理を施す前の仮説群のことを「展開前仮説」と呼ぶことにする。また、仮説展開処理が施された後の仮説群のことを「展開後仮説」と呼ぶことにする。
【０００７】
ステップ１：サーチ制御部２２は、展開前仮説の中から１つ仮説を取り出し、以下のステップ３までの処理を行う。サーチ制御部２２は、全ての展開前仮説に対して順次このループ処理を行う。
【０００８】
ステップ２：仮説を、ネットワーク管理部２３に記録されているネットワーク（＝音素などの認識単位をアークとするネットワーク）に従って、定められた遷移先（自己遷移を含む）に展開する。もし、ネットワークの展開処理（＝サーチ処理に必要なネットワーク部分を外部記憶からメモリ上に展開する処理）が必要であれば、ネットワーク管理部２３はネットワークを展開する。
【０００９】
ステップ３：仮説を遷移先に展開した際に単語遷移が発生した場合、ワードエンドテーブル管理部２４は、単語遷移情報を記録する。
【００１０】
ステップ４：展開前仮説に対する仮説展開処理が完了すると、ビーム調整部２１は、展開後仮説中で最も高いスコアＳを求める。
【００１１】
ステップ５：ビーム調整部２１は、ステップ４で求めた最高スコアＳから所定のビーム幅ｂを差し引いた値を枝刈りの閾値ｔｈとして決定して、展開後仮説のうち閾値ｔｈ以下のスコアを持つ仮説を枝刈り（プルーニング）して棄却する。
【００１２】
ステップ６：ビーム調整部２１は、展開後仮説のうち、枝刈り処理後に残った仮説の数ｎを求める。
【００１３】
ステップ７：ステップ６で求めた枝刈り後仮説数ｎが、予め指定された最大仮説数Ｎｍａｘよりも多い場合、ビーム調整部２１は、枝刈り後の仮説数が上記Ｎｍａｘになるような仮説スコアの閾値ｔｈ’を求める。ここでは、ヒストグラムを用いてその閾値を求めている。ステップ６で求めた仮説数ｎが、Ｎｍａｘ以下の場合、このフレームでの仮説展開処理は終了する。
【００１４】
ステップ８：サーチ制御部２２は、ステップ７においてビーム調整部２１が新たに求めた閾値ｔｈ’を用いて、展開後仮説をさらに枝刈りする。この結果、枝刈りされずに残っている仮説の個数は、Ｎｍａｘ以下に収まる。これでこのフレームでの仮説展開処理は終了する。
【００１５】
【発明が解決しようとする課題】
しかしながら、上記従来のビームサーチ方法は、仮説個数の制御を仮説展開処理後に行っているため、仮説展開処理中、一時的に、仮説数が予め指定された個数を超えてしまう。これは、メモリの最大使用量が制限される組み込み用途での音声認識処理には不都合であるという問題点がある。
【００１６】
本発明は、かかる問題点に鑑みてなされたものであり、ビーム幅を動的に調整制御することにより、仮説展開処理中および仮説展開処理後の仮説数を予め指定された一定個数内に抑え、処理に必要となるメモリ量を予め指定された一定容量内に納めることのできる音声認識装置、ビームサーチ方法、およびビームサーチプログラムを提供することを目的とする。
【００１７】
【課題を解決するための手段】
かかる目的を達成するために、請求項１記載の発明は、連続音声認識におけるフレーム同期ビームサーチの制御を行うサーチ制御手段と、ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、ビームサーチの際に使用するネットワークを記憶するネットワーク管理手段と、仮説の単語履歴情報を保持するワードエンドテーブル管理手段と、を有し、ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて、現在フレームでの展開後仮説数の予測を行い、該予測に基づきビーム幅の調整を行うことを特徴としている。
【００１８】
請求項２記載の発明は、離散単語認識におけるトレリス上でのビームサーチを制御するサーチ制御手段と、ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、ビームサーチにおいて使用するネットワークを記憶するネットワーク管理手段と、を有し、ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて、現在フレームでの展開後仮説数の予測を行い、該予測に基づきビーム幅の調整を行うことを特徴としている。
【００１９】
請求項３記載の発明は、連続音声認識におけるフレーム同期ビームサーチの制御を行うサーチ制御手段と、ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、ビームサーチの際に使用するネットワークを記憶するネットワーク管理手段と、仮説の単語履歴情報を保持するワードエンドテーブル管理手段と、を有し、ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームにおける仮説展開の振る舞いが現在フレームにおける仮説展開の振る舞いを予測するための良質な指標となるかどうかを判断し、良質な指標とはならないと判断した場合、現在フレームにおける仮説展開の振る舞いの予測を他の方法に変更して行い、該予測に基づきビーム幅の調整を行うことを特徴としている。
【００２０】
請求項４記載の発明は、離散単語認識におけるトレリス上でのビームサーチを制御するサーチ制御手段と、ビームサーチの際、展開される仮説が所定の最大許容仮説数および仮説を保持するための所定のメモリ容量内に納まるようにビーム幅の動的な調整処理を行うビーム調整手段と、ビームサーチにおいて使用するネットワークを記憶するネットワーク管理手段と、を有し、ビーム調整手段は、現在フレームでの仮説展開の前に、過去のフレームでの仮説展開の振る舞いを調べ、過去のフレームにおける仮説展開の振る舞いが現在フレームにおける仮説展開の振る舞いを予測するための良質な指標となるかどうかを判断し、良質な指標とはならないと判断した場合、現在フレームにおける仮説展開の振る舞いの予測を他の方法に変更して行い、該予測に基づきビーム幅の調整を行うことを特徴としている。
【００２１】
請求項５記載の発明は、音声認識におけるビームサーチ方法であって、時間フレーム上の仮説群について、評価値を計算するステップと、該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、該閾値計算ステップ後、閾値以上の評価値を持つ仮説の数を求め、該仮説数に基づき、展開後仮説数の予測を行うか否か判断するステップと、該ステップで展開後仮説数の予測を行うと判断された場合に閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測ステップと、以上のステップにおいて求めた閾値を用いて仮説群の枝刈りを行う枝刈りステップと、該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、該展開ステップ中、展開された仮説の数が最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈りステップに戻って該閾値により再度枝刈りを行って展開処理をやり直すステップと、を有することを特徴としている。
【００２２】
請求項６記載の発明は、音声認識におけるビームサーチ方法であって、時間フレーム上の仮説群について、評価値を計算するステップと、該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測ステップと、以上のステップにおいて求めた閾値を用いて仮説群の枝刈りを行う枝刈りステップと、該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、該展開ステップ中、展開された仮説の数が最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈りステップに戻って該閾値により再度枝刈りを行って展開処理をやり直すステップと、を有し、予測ステップは、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うことを特徴としている。
【００２３】
請求項７記載の発明は、音声認識におけるビームサーチ方法であって、時間フレーム上の仮説群について、評価値を計算するステップと、該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測ステップと、以上のステップにおいて求めた閾値を用いて仮説群の枝刈りを行う枝刈りステップと、該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、該展開ステップ中、展開された仮説の数が最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈りステップに戻って該閾値により再度枝刈りを行って展開処理をやり直すステップと、を有し、予測ステップは、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴としている。
【００２４】
請求項８記載の発明は、音声認識におけるビームサーチ方法であって、時間フレーム上の仮説群について、評価値を計算するステップと、該ステップで導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算ステップと、閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測ステップと、以上のステップにおいて求めた閾値を用いて仮説群の枝刈りを行う枝刈りステップと、該枝刈りステップにおいて枝刈りされた後の仮説群について、ネットワークに従った展開処理を行う展開ステップと、該展開ステップ中、展開された仮説の数が最大許容数を越えることが確定した場合、展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈りステップに戻って該閾値により再度枝刈りを行って展開処理をやり直すステップと、を有し、予測ステップは、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うとともに、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴としている。
【００２５】
請求項９記載の発明は、音声認識におけるビームサーチプログラムであって、時間フレーム上の仮説群について、評価値を計算する処理と、該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、該閾値計算処理後、閾値以上の評価値を持つ仮説の数を求め、該仮説数に基づき、展開後仮説数の予測を行うか否か判断する処理と、該処理で展開後仮説数の予測を行うと判断された場合に閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測処理と、以上の処理において求めた閾値を用いて仮説群の枝刈りを行う枝刈り処理と、該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、該展開処理中、展開された仮説の数が最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈り処理に戻って該閾値により再度枝刈りを行って展開処理をやり直す処理と、をコンピュータに実行させることを特徴としている。
【００２６】
請求項１０記載の発明は、音声認識におけるビームサーチプログラムであって、時間フレーム上の仮説群について、評価値を計算する処理と、該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測処理と、以上の処理において求めた閾値を用いて仮説群の枝刈りを行う枝刈り処理と、該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、該展開処理中、展開された仮説の数が最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈り処理に戻って該閾値により再度枝刈りを行って展開処理をやり直す処理と、をコンピュータに実行させ、予測処理は、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うことを特徴としている。
【００２７】
請求項１１記載の発明は、音声認識におけるビームサーチプログラムであって、時間フレーム上の仮説群について、評価値を計算する処理と、該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測処理と、以上の処理において求めた閾値を用いて仮説群の枝刈りを行う枝刈り処理と、該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、該展開処理中、展開された仮説の数が最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈り処理に戻って該閾値により再度枝刈りを行って展開処理をやり直す処理と、をコンピュータに実行させ、予測処理は、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴としている。
【００２８】
請求項１２記載の発明は、音声認識におけるビームサーチプログラムであって、時間フレーム上の仮説群について、評価値を計算する処理と、該処理で導出された最高評価値から所定のビーム幅を差し引いて枝刈り用の評価値閾値を計算する閾値計算処理と、閾値以上の評価値を持つ仮説についての展開後仮説数の予測を行い、該予測された仮説数が所定の最大許容数を越える場合、該最大許容数以内に納まるようにビーム幅を調整して閾値を補正する予測処理と、以上の処理において求めた閾値を用いて仮説群の枝刈りを行う枝刈り処理と、該枝刈り処理において枝刈りされた後の仮説群について、ネットワークに従った展開を行う展開処理と、該展開処理中、展開された仮説の数が最大許容数を越えることが確定した場合、該展開処理のキャンセルを行って仮説展開前の状態に戻し、ビーム幅を再調整して新たな閾値を求め、枝刈り処理に戻って該閾値により再度枝刈りを行って展開処理をやり直す処理と、をコンピュータに実行させ、予測処理は、過去のフレームでの仮説展開速度、仮説展開加速度、および現在フレームでの仮説展開前の仮説数を用いて展開後仮説数の予測を行うとともに、過去のフレームでの仮説展開の振る舞いに応じて、展開後仮説数予測方法の変更を行うことを特徴としている。
【００３７】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【００３８】
図１は、本発明の実施の形態における音声認識装置の構成を示すブロック図である。本装置は、ビーム調整部１と、サーチ制御部２と、ネットワーク管理部３と、ワードエンドテーブル管理部４とを有する。また、図示しない音声入力処理部、認識結果出力処理部などを有する。各部は、本発明のビームサーチ方法およびプログラムに従って動作する。ビーム調整部１は、ビームサーチの際のビーム幅の動的調整処理を行う。サーチ制御部２は、ビームサーチの主要な制御、つまり、枝刈りや仮説展開などを行う。ネットワーク管理部３は、ビームサーチの際に参照するネットワークを記憶および管理する。ワードエンドテーブル管理部４は、連続音声認識を行う際に必要な要素であり、単語履歴情報（単語終端情報・単語遷移情報を含む）を保持して管理する。
【００３９】
本実施例における音声認識装置で使用するネットワークの例について説明する。本装置では、文脈自由文法（ＣＦＧ）を、再帰を許すネットワーク文法の形式で記述して音声認識を行う。本装置でのネットワーク文法全体は、複数のサブネットワーク文法（ルールと呼ぶ）から構成される。ネットワーク文法全体をルールの集合で表すことにより、木構造ルールの効率的な利用などが可能である。
【００４０】
例えば、図３に示す１１万語全国住所認識タスクでは、全国の住所を３階層の木構造ルールから構成しており、県名の木構造ルールの出力は、各県ごとに別の木構造ルール（「神奈川県の市を集めた木構造ルール」など）に接続される。
【００４１】
また、図４に示すように、ネットワーク文法中に同一の木構造ルール（「地名」や「カテゴリ名」）が重複して多数回出現するような場合にも、それら木構造ルールの形式が共有されるので、各ルールはただ１つだけ保持すればよい。これにより語順の自由度が高まる。
【００４２】
図７は、本発明の実施の形態における音声認識装置でのビームサーチ方法およびビームサーチプログラムの動作を示すフローチャートである。図７および図６を用いて、本音声認識装置でのビームサーチにおける枝刈り処理方法、ビーム幅の決定、単語終端情報の記録、およびサーチ制御に必要な各種処理の例を説明する。その他の動作は、従来の連続音声認識または離散単語音声認識におけるフレーム同期ビームサーチ方法に従うものとする。以下、あるフレームについて、仮説展開処理を施す前の仮説群のことを「展開前仮説」と呼ぶことにする。また、仮説展開処理が施された後の仮説群のことを「展開後仮説」と呼ぶことにする（図６参照）。
【００４３】
本発明の第１の実施の形態における音声認識装置は、以下の処理を行う。あるフレームについて、ビーム調整部１は、展開前仮説の中から最も高いスコアＳを求める（ステップＳ１）。ビーム調整部１は、最高スコアＳから、所定のビーム幅ｂを差し引いた値ｔｈを枝刈り用の閾値とする（ステップＳ２、図２参照）。そして、閾値ｔｈ以上のスコアを持つ仮説の個数ｎを求める（ステップＳ３）。
【００４４】
ビーム調整部１は、ステップ３で求めた仮説数ｎと予め指定された数Ｎとを比較して、展開後仮説数の予測を行う必要があるかどうか判断する（ステップＳ４）。ｎがＮより小さい場合、枝刈り用の閾値をステップＳ２で求めたｔｈに決定する（ステップＳ４・ＮＯ）。ｎがＮよりも大きい場合（ステップＳ４・ＮＯ）、展開後仮説が予め指定された最大仮説数Ｎｍａｘを越える可能性があると判断して、ビーム調整部１は、所定の手法（後述）に基づき、展開後仮説数の予測を行う（予測された展開後仮説数をｎｐとする）（ステップＳ５）。そして、予測された仮説数ｎｐと、予め指定された最大仮説数Ｎｍａｘとを比較する（ステップＳ６）。ｎｐがＮｍａｘ以下の場合、枝刈りのための仮説スコア閾値として、ステップ２で求めた閾値ｔｈを使う（ステップＳ７）。ｎｐがＮｍａｘより大きい場合、展開後の仮説数がＮｍａｘ（あるいはＮｍａｘを越えることのなく最も近い数）になるような仮説スコアの閾値ｔｈ’を計算して求める（ステップＳ８）。
【００４５】
サーチ制御部２は、上記ステップにおいて決定された閾値（ｔｈまたはｔｈ’）を用いて、展開前仮説の枝刈り処理を行う（ステップＳ９）。
【００４６】
サーチ制御部２は、展開前仮説の中から１つずつ仮説を取り出し、以下のステップＳ１７までの仮説展開ループ処理を行う（ステップＳ１０）。サーチ制御部２は、仮説を、ネットワーク管理部３に記録されているネットワークに従って、定められた遷移先（自己遷移を含む）に展開する（ステップＳ１１）。もし、ネットワークの展開処理（メモリへのロード）が必要であれば、ネットワーク管理部３は、ネットワークの展開処理を行う（ステップＳ１２、１３）。サーチ制御部２は、仮説展開処理中、展開された仮説の個数ｎａをカウントする（ステップＳ１４）。仮説展開処理において、単語遷移が発生した場合、ワードエンドテーブル管理部４は、単語遷移情報を記録する（ステップＳ１６、１７）。
【００４７】
仮説展開処理中、展開された仮説数ｎａがＮｍａｘを越えることが確定した場合（ステップＳ１５・ＹＥＳ）、サーチ制御部２は、後述の仮説展開キャンセル処理Ａ〜Ｃを行い、ビーム調整部１に対し、枝刈りのための新しい閾値ｔｈ’’を要求する（ステップＳ１８）。ビーム調整部１は、サーチ制御部２の要求に応じて、その時点での閾値（ｔｈまたはｔｈ’）より大きな閾値ｔｈ’’を求めてサーチ制御部２に返す。サーチ制御部２は、新しい閾値ｔｈ’’を用いて、再度、枝刈り処理を行って展開前仮説数を減らす。そして、ステップ１０以降の仮説展開ループ処理をやり直す。
【００４８】
キャンセル処理Ａ：サーチ制御部２は、仮説展開処理において展開前仮説に対して行った変更を全て元に戻し、展開後仮説を保持しているメモリを、新たに仮説を記録することができるように初期化する。
【００４９】
キャンセル処理Ｂ：連続音声認識の場合、サーチ制御部２は、ワードエンドテーブル管理部４がこのフレーム中に記録した全ての単語終端情報を削除し、再びこのフレームにおける処理で発生する単語終端情報を記録することができるようにワードエンドテーブル管理部４を初期化する。
【００５０】
キャンセル処理Ｃ：サーチ制御部２は、仮説展開処理においてネットワーク管理部３の記憶するネットワーク情報を変更している場合、変更部分を、仮説展開処理前の状態に戻す。以上で、仮説展開のやり直しのためのキャンセル処理は終了である。
【００５１】
本発明の第２の実施例における音声認識装置について、図８を参照して説明する。第２の実施例でのビーム調整部１は、過去のフレームにおける仮説展開の振る舞いから、現在フレームでの仮説展開における適切なビーム幅を予測して動的に調整制御する。第ｉフレームにおける、仮説展開前の仮説数をＮｂ（ｉ）、仮説展開後の仮説数をＮａ（ｉ）と定義する。ここで、Ｎａ（ｉ）＝Ｎｂ（ｉ）×Ｖ（ｉ）が成り立つような係数Ｖ（ｉ）を仮説展開速度と定義する。予め定められた最大仮説数をＮｍａｘとすると、Ｎｂ（ｉ）×Ｖ（ｉ）＝ＮｍａｘとなるようなＮｂ（ｉ）は、Ｎｍａｘ／Ｖ（ｉ）と求まる。もし、Ｎｍａｘ／Ｖ（ｉ）＜Ｎｂ（ｉ）である場合、枝刈りによってＮｂ（ｉ）個の仮説をＮｍａｘ／Ｖ（ｉ）個に減らすための、枝刈り閾値を求める。この閾値の導出計算では、従来方法と同様にヒストグラムを使用することにより、演算量を小さく抑えることができる。
【００５２】
本発明の第３の実施例における音声認識装置について、図８を参照して説明する。第３の実施例でのビーム調整部１は、１つ前のフレームでの仮説展開速度Ｖ（ｉ−１）から現在フレームでの仮説展開速度Ｖ（ｉ）を予測し、ビーム幅を調整する。第ｉフレームにおける仮説展開加速度を、Ａ（ｉ）＝Ｖ（ｉ）／Ｖ（ｉ−１）と定義する。理想的には、認識対象である入力音声は、フレーム間では急激には変化しないため、Ａ（ｉ）≒１が成り立つことが多い。このため、例えば、Ｖ（ｉ）≒Ｖ（ｉ−１）とみなし、第２の実施例の方法を用いてビーム幅の調整を行う。
【００５３】
また、Ａ（ｉ）＝Ｖ（ｉ）／Ｖ（ｉ−１）≒１としてＮａ（ｉ）を予測する方法以外にも、過去数フレーム分のＶ（ｊ）（ｊ＜ｉ）を用いた回帰計算を用いてＶ（ｉ）を予測する方法も可能である。
【００５４】
本発明の第４の実施の形態における音声認識装置のビーム調整部１は、サーチ制御部２から枝刈り閾値の変更要求を受けると、より多くの仮説を枝刈りするために、枝刈り閾値を上げる（＝ビーム幅を狭める）。閾値の変更例をいくつか挙げる。
【００５５】
例１：ビーム調整部１は、変更要求を受けた時点でのビーム幅に、予め定められた１より小さな値を掛けることにより、ビーム幅を狭め、現在残っている仮説のスコアの中で最も良いスコアから上記新たなビーム幅を差し引いたスコアを新たな閾値としてサーチ制御部２に渡す。
【００５６】
例２：図９を参照して説明する。変更要求を受けた時点での、展開前仮説のうち仮説展開処理の終了済みの仮説の数をＮｅとする。変更要求を受けた時点で、展開後仮説数は、予め指定された最大値Ｎｍａｘに達しているので、仮説展開速度をＮｍａｘ／Ｎｅとみなす。展開後仮説数をＮｍａｘにするためには、展開前仮説数をＮｅとすればよい。ビーム調整部１は、展開前仮説数をＮｅとするような閾値を計算し、サーチ制御部２に渡す。また、安全係数として予め定められた１より小さな値ｓをＮｅに掛け、展開前仮説数をｓ×Ｎｅとしてもよい。
【００５７】
例３：例２で求めた仮説展開速度Ｎｍａｘ／Ｎｅと、変更要求を受けた時点で計算されている仮説展開速度Ｖとから、新たな仮説展開速度を内挿して求める。例えば、定数ａ（０≦ａ≦１）を用いて、ａＶ＋（１−ａ）Ｎｍａｘ／Ｎｅとする。この仮説展開速度を用いると、展開前仮説数は、Ｎｍａｘ／｛ａＶ＋（１−ａ）Ｎｍａｘ／Ｎｅ｝となる。ビーム調整部１は、展開前仮説数がこの数になる閾値を求め、サーチ制御部２に渡す。
【００５８】
本発明の第５の実施の形態における音声認識装置のサーチ制御部２は、展開後仮説数が、予め指定された最大値Ｎｍａｘを越えた場合、そのフレームで既に行った展開前仮説に対する仮説展開処理による全ての変更をキャンセルして元に戻す。
【００５９】
例えば、前述の従来方法では、ネットワークのアークの持つ情報として、仮説へのポインタを持つ必要があり、仮説展開処理中に、このポインタの値は、アーク上の展開前仮説のポインタから展開後仮説へのポインタに書き換えられる。この場合、アークの持つ仮説へのポインタを仮説展開前の状態に戻す必要がある。
【００６０】
また、ワードエンドテーブル管理部４に、そのフレームで発生した単語遷移情報が記録されており、この記録も削除しなくてはならない。第５の実施例の音声認識装置のサーチ制御部２は、以上のようなキャンセル処理の必要な情報を全て初期化する（展開処理前の状態に戻す）。ただし、ネットワーク展開のキャンセル処理は行っても行わなくても良い。ネットワーク展開のキャンセル処理を行った場合、別の閾値で再びこのフレームのサーチ処理を行う際にネットワーク展開処理を行わなくてはならないが、仮説展開処理のやり直しを行う前に既に展開されてしまった不必要なネットワーク展開のための必要なメモリを要しないため、メモリ量が少なくて済む。ネットワーク展開のキャンセル処理を行わなかった場合、別の閾値で再びこのフレームのビームサーチを行う際にネットワーク展開処理を行う必要はなく、ネットワーク展開のための演算量を減らすことができる。但しこの場合、不必要なネットワーク展開も記録したままとなるため、余分なメモリ量を必要とする。
【００６１】
本発明の第６の実施の形態における音声認識装置のワードエンドテーブル管理部４は、サーチ制御部２から、現在フレームでの仮説展開処理において記録された単語終端情報の削除要求があった場合、現在フレームでの仮説展開処理において記録された全ての単語終端情報を削除することにより、不要なメモリを削減する。
【００６２】
本発明の第７の実施の形態における音声認識装置のビーム調整部１は、仮説展開の予測が困難であると判断したとき、予測方法を変更する。仮説展開の予測が困難であるケースの１つとして、ビームサーチを行っている対象のネットワーク中で急激に分岐数が増える箇所があり、そこに到達した仮説が一気に多くの仮説に展開されるというケースが考えられる。このため、仮説展開加速度が、予め指定された一定値（＝Ａｍａｘとする）を越えた場合、仮説展開の予測方法を別の方法に変更した方が良い。予測方法としては以下のものが考えられる。
【００６３】
方法１：仮説展開速度を１とする。この仮説展開速度を用いて、第２の実施例の方法で展開後仮説数を予測する。
【００６４】
方法２：仮説展開速度として、現在求められている仮説展開速度ではなく、Ｖ（ｉ−１）／Ａｍａｘを用いる。この仮説展開速度を用いて、第２の実施例の方法で展開後仮説数を予測する。
【００６５】
方法３：現在生き残っている仮説の存在するアークについて、全ての後続アーク数をネットワークから求め、Ｖ＝（［全ての後続アーク数］＋［現在の仮説の存在するアーク数］）／［現在の仮説の存在するアーク数］を仮説展開速度とする。この仮説展開速度を用いて、第２の実施例の方法で展開後仮説数を予測する。また、予め定めた安全係数ｓ（０＜ｓ＜１）を上記Ｖに掛け、ｓ×Ｖを仮説展開速度としても良い。
【００６６】
なお、上述した実施形態は、本発明の好適な実施形態の一例を示すものであり、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【００６７】
【発明の効果】
以上の説明から明らかなように、本発明によれば、仮説を保持する数およびメモリ容量を所定値内に納めることにより、省メモリ・省演算量を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態における音声認識装置の構成を示すブロック図である。
【図２】枝刈り閾値の決定の仕方について示す図である。
【図３】ネットワークの例（１１万語全国住所タスク）を示す図である。
【図４】ネットワークの例（施設名入力タスク）を示す図である。
【図５】あるフレームにおける展開前仮説と展開後仮説について示す図である。
【図６】本発明のビームサーチ方法について説明するための図である。
【図７】本発明の実施の形態における音声認識装置でのビームサーチ方法およびビームサーチプログラムの処理を示すフローチャートである。
【図８】第３の実施例における予測方法を説明するための図である。
【図９】第４の実施例における閾値変更例２を説明するための図である。
【図１０】従来のビームサーチを行う音声認識装置の構成を示すブロック図である。
【図１１】従来のビームサーチ方法の一例の動作を示すフローチャートである。
【符号の説明】
１  ビーム調整部
２  サーチ制御部
３  ネットワーク管理部
４  ワードエンドテーブル管理部
２１  ビーム調整部
２２  サーチ制御部
２３  ネットワーク管理部
２４  ワードエンドテーブル管理部
【図１】
0004461646.tif 000002
【図２】
0004461646.tif 000003
【図３】
0004461646.tif 000004
【図４】
0004461646.tif 000005
【図５】
0004461646.tif 000006
【図６】
0004461646.tif 000007
【図７】
0004461646.tif 000008
【図８】
0004461646.tif 000009
【図９】
0004461646.tif 000010
【図１０】
0004461646.tif 000011
【図１１】
0004461646.tif 000012