(57)【特許請求の範囲】
【請求項１】
音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の場合に音声区間を分割し、上記音声区間を分割した発話区間の数Ｍが、音声認識処理群を構成する音声認識部の数Ｎよりも少ない場合、上記非音声分割区間長閾値Ｔｐの値を小さくした条件で上記音声区間を分割する処理をＭ≧Ｎになるまで繰り返して、上記音声信号を発話区間単位に分割した分割済み音声を出力する音声分割部と、
上記分割済み音声を発話区間単位で記憶する分割済み音声記憶部と、
分割済み音声記憶部に記憶された発話区間を、複数の音声認識部に分配する分割音声分配部と、
上記複数の音声認識部で構成される音声認識処理群と、
音声認識処理群が出力する複数の音声認識結果を時間順に結合して、上記音声信号に対する音声認識結果を出力する音声認識結果統合部と、
を具備する音声認識装置。
【請求項２】
音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の場合に音声区間を分割し、上記音声区間を分割した発話区間の数Ｍが、音声認識処理群を構成する音声認識部の数Ｎよりも少ない場合、当該分割した音声区間の時間長が最大の発話区間を選択して上記非音声分割区間長閾値Ｔｐの値を小さくした条件で当該発話区間の音声区間を再分割し、上記非音声分割区間長閾値Ｔｐの値が最小非音声分割区間長閾値Ｔｐminになるか、Ｍ≧Ｎになるまで音声区間の時間長が最大の発話区間に対して上記再分割する処理を繰り返して、上記音声信号を発話区間単位に分割した分割済み音声を出力する音声分割部と、
上記分割済み音声を発話区間単位で記憶する分割済み音声記憶部と、
分割済み音声記憶部に記憶された発話区間を、複数の音声認識部に分配する分割音声分配部と、
上記複数の音声認識部で構成される音声認識処理群と、
音声認識処理群が出力する複数の音声認識結果を時間順に結合して、上記音声信号に対する音声認識結果を出力する音声認識結果統合部と、
を具備する音声認識装置。
【請求項３】
請求項１又は２に記載の音声認識装置において、
上記音声分割部で分割した発話区間の数Ｍが上記音声認識部の数Ｎに満たない場合（Ｍ＜Ｎ）、
上記Ｍ個の発話区間の最も長い発話区間を、均等に新たにｋ（ｋは２以上の整数）分割した場合の発話区間の数がＭ−１＋ｋ＞Ｎとなるか否かを判定し、発話区間の数がＭ−１＋ｋ＞Ｎの時はｋをｋ＝Ｎ−Ｍ＋１として上記最も長い発話区間をｋで分割し、当該ｋ分割した結果の数がＭ−１＋ｋ＜Ｎの場合は再び最新の最大発話時間の発話区間に対して上記ｋ分割する処理を、当該ｋ分割した結果の数Ｍ−１＋ｋが上記音声認識部の数Ｎ以上になるまで繰り返すと共に上記ｋ分割した分割部分に重複区間Ｔ０を設ける第２発話分割部を更に備え、
上記音声認識結果統合部は、
上記重複区間に存在する単語の時間重複割合が所定値以上の単語のみを残した音声認識結果ネットワークのスコアが最も高い単語列を上記音声認識結果として選択する、
ことを特徴とする音声認識装置。
【請求項４】
音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の場合に音声区間を分割し、上記音声区間を分割した発話区間の数Ｍが、音声認識処理群を構成する音声認識部の数Ｎよりも少ない場合、上記非音声分割区間長閾値Ｔｐの値を小さくした条件で上記音声区間を分割する処理をＭ≧Ｎになるまで繰り返して、上記音声信号を発話区間単位に分割した分割済み音声を出力する音声分割過程と、
分割済み音声記憶部に発話区間単位で記憶された音声区間を、複数の音声認識ステップに分配する分割音声分配過程と、
上記複数の音声認識ステップで構成される音声認識過程と、
音声認識過程で得られた複数の音声認識結果を時間順に結合して、上記音声信号に対する音声認識結果を出力する音声認識結果統合過程と、
を備える音声認識方法。
【請求項５】
音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の場合に音声区間を分割し、上記音声区間を分割した発話区間の数Ｍが、音声認識処理群を構成する音声認識部の数Ｎよりも少ない場合、当該分割した音声区間の時間長が最大の発話区間を選択して上記非音声分割区間長閾値Ｔｐの値を小さくした条件で当該発話区間の音声区間を再分割し、上記非音声分割区間長閾値Ｔｐの値が最小非音声分割区間長閾値Ｔｐminになるか、Ｍ≧Ｎになるまで上記再分割する処理を繰り返して、上記音声信号を発話区間単位に分割した分割済み音声を出力する音声分割過程と、
分割済み音声記憶部に発話区間単位で記憶された音声区間を、複数の音声認識ステップに分配する分割音声分配過程と、
上記複数の音声認識ステップで構成される音声認識過程と、
音声認識過程で得られた複数の音声認識結果を時間順に結合して、上記音声信号に対する音声認識結果を出力する音声認識結果統合過程と、
を備える音声認識方法。
【請求項６】
請求項４又は５に記載の音声認識方法において、
上記発話区間の数Ｍが上記音声認識部の数Ｎに満たない場合（Ｍ＜Ｎ）、
上記Ｍ個の発話区間の最も長い発話区間を、均等に新たにｋ（ｋは２以上の整数）分割した場合の発話区間の数がＭ−１＋ｋ＞Ｎとなるか否かを判定し、発話区間の数がＭ−１＋ｋ＞Ｎの時はｋをｋ＝Ｎ−Ｍ＋１として上記最も長い発話区間をｋで分割し、当該ｋ分割した結果の数がＭ−１＋ｋ＜Ｎの場合は再び最新の最大発話時間の発話区間に対して上記ｋ分割する処理を、当該ｋ分割した結果の数Ｍ−１＋ｋが上記音声認識部の数Ｎ以上になるまで繰り返すと共に上記ｋ分割した分割部分に重複区間Ｔ０を設ける第２発話分割過程を更に備え、
上記音声認識結果統合過程は、
上記重複区間に存在する単語の時間重複割合が所定値以上の単語のみを残した音声認識結果ネットワークのスコアが最も高い単語列を上記音声認識結果として選択する、
ことを特徴とする音声認識方法。
【請求項７】
請求項１乃至３の何れかに記載した音声認識装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声認識処理を並列に実行する音声認識装置とその方法とプログラムに関する。
【背景技術】
【０００２】
近年のプロセッサのマルチコア化や、クラウドコンピューティング技術による並列処理、ＧＰＵ(Graphics Processor Unit)やＳＩＭＤ（Single Instruction Multiple Data）の活用による情報処理の並列化により、処理要求からの応答時間の短縮化が図られている。
【０００３】
音声認識の分野で、ＧＰＵを用いた音響尤度計算方法としては、非特許文献１に開示された方法が知られている。それは、音響モデル内の全てのガウス分布に対する音響尤度計算を並列に処理する方法であり、データ転送回数を削減させることで、音声認識の高速化を実現している。
【０００４】
一方、音声認識の精度を向上させる目的で、音声信号に含まれる発話区間を分割して、音声認識処理を行う考えが特許文献１に開示されている。この考えは、音声認識処理をするのに最も適当な音響モデルを、発話区間毎に選択して用いることで音声認識精度を向上させるものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】ディクソンポール、大西翼、古井貞煕「ＷＦＳＴを用いた音声認識デコーダの機能拡張」、日本音響学会講演論文集、105〜106頁、2007年9月.
【特許文献１】特開２０１１−１３５４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に開示された方法は、一つの音声認識処理の中で行われる音響尤度計算を並列に処理する方法であり、音声認識処理そのものを並列処理するものでは無かった。また、特許文献１に開示された方法は、発話区間毎に分割した後の音声認識処理は直列的に処理されるものである。つまり従来は、発話区間毎に、それぞれ音声認識処理を並列に行う考えは今まで無かった。したがって、音声認識処理に時間が掛かる課題があった。
【０００７】
この発明は、発話区間毎に、複数の音声認識処理を同時に行うことで音声認識処理を高速化した音声認識装置とその方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明の音声認識装置は、音声分割部と、分割済み音声記憶部と、分割音声分配部と、音声認識処理群と、音声認識結果統合部と、を具備する。音声分割部は、音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の場合に音声区間を分割し、上記音声信号を発話区間単位に分割した分割済み音声を出力する。分割済み音声記憶部は、分割済み音声を発話区間単位で記憶する。分割音声分配部は、分割済み音声記憶部に記憶された発話区間を、複数の音声認識部に分配する。音声認識処理群は、その複数の音声認識部で構成される。音声認識結果統合部は、音声認識処理群が出力する複数の音声認識結果を時間順に結合して、音声信号に対する音声認識結果を出力する。
【発明の効果】
【０００９】
この発明の音声認識装置は、音声信号を複数の発話区間に分割し、複数の音声認識処理部においてその分割した発話区間毎に音声認識処理を行うので、音声認識処理の処理速度を速くする効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】この発明の音声認識装置１００の機能構成例を示す図。
【図２】音声認識装置１００の動作フローを示す図。
【図３】音声分割部１０の機能構成例を示す図。
【図４】音声分割部１０の動作フローを示す図。
【図５】分割音声分配部３０の動作フローを示す図。
【図６】発話区間を音声認識処理した結果の一例を示す図。
【図７】この発明の音声認識装置２００の音声認識結果統合部２５０で言語スコアを再計算する際の単語列の例を示す図。
【図８】この発明の音声認識装置３００の音声分割部３１０の動作フローを示す図。
【図９】発話区間の時間長に長短がある場合の発話区間の例を示す。
【図１０】この発明の音声認識装置４００の音声分割部４１０の動作フローを示す図。
【図１１】この発明の音声認識装置５００の音声分割部５１０の動作フローを示す図。
【図１２】この発明の音声認識装置５００の音声認識結果統合部５５０の発話分割部分に重複区間Ｔ０を設けた単語ラティスの例を示す図。
【図１３】図１２に示した発話区間を統合した音声認識結果ネットワークの例を示す図。
【発明を実施するための形態】
【００１１】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには
同じ参照符号を付し、説明は繰り返さない。
【実施例１】
【００１２】
図１に、この発明の音声認識装置１００の機能構成例を示す。その動作フローを図２に示す。音声認識装置１００は、音声分割部１０と、分割済み音声記憶部２０と、分割音声分配部３０と、音声認識処理群４０と、音声認識結果統合部５０と、制御部６０を具備する。その各部の機能は、例えばＲＯＭ、ＲＡＭ、ＣＰＵ等で構成されるコンピュータに所定のプログラムが読み込まれて、ＣＰＵがそのプログラムを実行することで実現されるものである。
【００１３】
音声分割部１０は、音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長Ｔｐ以上の場合に音声区間を分割し、分割した音声信号を発話区間単位の分割済み音声信号として出力する（ステップＳ１０）。音声・非音声判別は、例えば、フレーム毎の音声信号のパワーがほぼ０の区間を非音声区間とし、音声信号のパワーが所定値以上の区間を音声区間とする。又は、音声信号から音声特徴量を求め、その音声特徴量と音声ＧＭＭと無音ＨＭＭ（Hidden Mixture Model：隠れマルコフモデル）とを比較し、音声ＧＭＭの方が高い尤度を示せばそのフレームを音声、無音ＨＭＭの方が高い尤度を示せば無音として音声・非音声判別を行っても良い。発話区間単位の分割済み音声信号は、分割済み音声記憶部２０に記憶される。
【００１４】
分割音声分配部３０は、分割済み音声記憶部２０に記憶された発話区間を、音声認識処理群４０を構成する複数の音声認識部４０１〜４０Ｎに分配する（ステップＳ３０）。音声認識部４０１〜４０Ｎは、従来技術で示した特許文献１に開示されたものと同様の音声認識処理を行う。
【００１５】
音声認識結果統合部５０は、音声認識処理群４０が出力する複数の音声認識結果を時間順に結合して、入力された音声信号に対する音声認識結果を出力する（ステップＳ５０）。制御部６０は、上記した各機能部間の時系列的な動作等を制御するものである。
【００１６】
以上述べたように、音声認識装置１００は、入力される音声信号を発話区間単位の音声信号に分割して、その発話区間単位ごとに複数の音声認識処理部４０１〜４０Ｎが並列に動作して音声認識処理を行う。したがって、音声認識処理の処理速度を速くすることができる。
【００１７】
音声認識装置１００の各部の機能を、図面を参照して更に詳しく説明する。図３に、音声分割部１０の機能構成例を示す。その動作フローを図４に示す。音声分割部１０は、音声・非音声判別手段１１と、発話分割手段１２を備える。音声・非音声判別手段１１は、入力される音声信号を、フレーム毎に上記したような例えば音声信号のパワーを参照して音声区間と非音声区間に判別する（ステップＳ１１）。
【００１８】
発話分割手段１２は、最初に音声区間番号ｉをｉ＝０に初期化する（ステップＳ１２０）。そして、最初の音声区間を検出（ステップＳ１２１）し、その後、非音声分割区間長閾値Ｔｐ（例えば１秒）以上の非音声区間が継続することを検出（ステップＳ１２２のＹｅｓ）する。ステップＳ１２１で音声区間が検出され、その後に非音声分割区間長閾値Ｔｐ以上の非音声区間が検出されると一発話単位が検出され、音声区間番号ｉはインクリメントされる（ステップＳ１２３）。ステップＳ１２２において非音声分割区間長閾値Ｔｐ以上の非音声区間の継続が検出されない場合で、且つ、音声信号が終了しない時は音声区間が継続しているとして音声信号のフレームを更新する（ステップＳ１２４のＮｏ）。非音声分割区間長閾値Ｔｐ以上の非音声区間の継続が検出されない場合（ステップＳ１２２のＮｏ）に音声信号が終了した時（ステップＳ１２４のＹｅｓ）は、音声区間番号ｉをインクリメントして音声分割処理を終了する（ステップＳ１２５）。
【００１９】
ステップＳ１２１〜Ｓ１２５の処理は、音声信号の全てのフレームについて終了するまで繰り返される。最初の音声区間が検出されない場合（ステップＳ１２１のＮｏ）も、音声信号が終了するまでフレーム番号が更新される。
【００２０】
次に、分割された発話区間を、複数の音声認識部４０１〜４０Ｎに分配する分割音声分配部３０について説明する。図５に、分割音声分配部３０の動作フローを示す。音声分割部１０で分割された発話区間の数をＭ（以下Ｍ）、複数の音声認識部４０１〜４０Ｎの数をＮ（以下Ｎ）として説明する。
【００２１】
Ｍ≦Ｎの場合（ステップＳ３１のＹｅｓ）、分割音声分配部３０は、Ｍ個の発話区間をＭ個の音声認識部４０１〜４０Ｍにそれぞれ分配する（ステップＳ３２）。
【００２２】
Ｍ＞Ｎの場合（ステップＳ３１のＮｏ）、分割音声分配部３０は、Ｎ個の発話区間をＮ個の音声認識部４０１〜４０Ｎにそれぞれ分配する（ステップＳ３３）。ここで分配済みの音声区間の数をｊとする。そして、音声認識部４０１〜４０Ｎの何れかの処理終了を待つ（ステップＳ３４のＮｏ）。音声認識部４０１〜４０Ｎの何れかの処理が終了すると、残りの発話区間を処理の終了した音声認識部に分配する（ステップＳ３６）。この処理を終了した音声認識部に発話区間が直に分配される処理は、分配済みの音声区間の数ｊが発話区間の数Ｍと等しくなるまで繰り返される。
【００２３】
その結果、音声認識処理群４０は、最大Ｎ個の音声認識部４０１〜４０Ｎの同時並行処理で音声認識結果を出力する。音声認識結果統合部５０は、音声認識処理群４０が出力する複数の音声認識結果を時間順に統合して、入力音声信号に対する音声認識結果として出力する（ステップＳ５０）。
【００２４】
以上説明したように、音声認識装置１００によれば複数の発話区間単位ごとに複数の音声認識処理部４０１〜４０Ｎが並列に動作して音声認識処理を行うので、音声認識処理の処理速度を速くすることができる。
【００２５】
例えば音声認識処理群４０の出力する音声認識結果ネットワークは、単語ラティス形式又はコンフュージョンネットワーク形式で出力される。単語ラティスとは、入力文に対してあらゆる可能な認識結果単語候補をラティスと称されるデータ構造で表現したものである。音声信号を例えば、発話中に言い淀んだ「今日の天気、…、は晴れ」とした場合、音声分割処理によって音声区間番号ｉ＝１が「今日の天気」、ｉ＝２が「は晴れ」の２個の発話区間に分解される。コンフュージョンネットワーク形式とは、単語ラティス形式を認識結果単語候補の順序関係を保持しながら簡略化したものである。
【００２６】
図６に、その２個の発話区間を単語ラティスで示す。○はノードと称され、そのノード間に認識結果単語候補が割り振られている。この例では、下線を付した認識結果単語候補の言語スコアが高いことを示している。音声認識装置１００では、発話区間単位で言語スコアを計算するので、発話区間ｉ＝１と２との間の関連性が評価されない。その結果、音声認識結果が、例えば「今日の天気は割れ」となってしまう場合が考えられる。この課題を解決した音声認識装置２００を次に説明する。
【実施例２】
【００２７】
音声認識装置２００は、音声認識装置１００の音声認識結果統合部５０が、音声認識結果統合部２５０に置き換わった点のみが異なる。音声認識装置２００の機能構成例の図示は省略する。
【００２８】
音声認識結果統合部２５０は、複数の発話区間毎の音声認識結果を時間順に結合した結合部分の単語の言語スコアを、２個以上の文字列又は２個以上の単語のＮ−gramを用いて再計算し、結合した音声認識結果ネットワークの言語スコアが最も高い単語列を音声認識結果として選択する。Ｎ−gramとはある文字列の中で、Ｎ個の文字列又は単語の組み合わせが、どの程度出現するかを調査する言語モデルである。
【００２９】
図７に、音声認識結果統合部２５０で、図６に示した発話区間ｉ＝１と２を結合した単語ラティスを示す。この例の場合、発話区間ｉ＝２の認識結果単語候補「は」の言語スコアは、３−gramの「の」と、「天気」と、「は」とで再計算されるので、認識結果単語候補「は」の言語スコアは「の天気割れ」よりも高くなり、音声信号の「今日の天気、…、は晴れ」に対する音声認識結果を「今日の天気は晴れ」とすることができる。
【００３０】
このように、音声認識装置２００では、発話区間の結合付近の文章のつながりを考慮したより精度の高い言語スコアを再計算することが可能なので、音声認識精度を向上させることができる。なお、音声区間を分割する非音声分割区間長閾値Ｔｐを固定にした例で説明したが、この非音声分割区間長閾値Ｔｐを可変にした音声認識装置３００も考えられる。次に、その音声認識装置３００を説明する。
【実施例３】
【００３１】
音声認識装置３００は、音声認識装置１００又は２００の音声分割部１０が、音声分割部３１０に置き換わった点のみが異なる。音声認識装置３００の機能構成例の図示は省略する。
【００３２】
音声分割部３１０は、音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の条件で音声区間を分割した発話区間の数Ｍが、音声認識処理群４０を構成する音声認識部４０１〜４０Ｎの数Ｎよりも少ない場合、非音声分割区間長閾値Ｔｐの値を小さくした条件で音声区間を分割する処理をＭ≧Ｎになるまで繰り返す。
【００３３】
図８に、音声分割部３１０の動作フローを示す。音声分割部３１０は、音声信号を入力として、当該音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長Ｔｐ以上の場合に音声区間を分割し、分割した音声信号を発話区間単位の分割済み音声信号として出力する（ステップＳ３１０）。音声区間を分割した発話区間の数Ｍが、音声認識部４０１〜４０Ｎの数Ｎ以上の場合（ステップＳ３１１のＮｏ）、音声分割処理を終了する。
【００３４】
音声区間を分割した発話区間の数Ｍが、音声認識部４０１〜４０Ｎの数Ｎよりも小さい場合（ステップＳ３１１のＹｅｓ）、音声分割部３１０は非音声分割区間長閾値Ｔｐの値を例えば０.１秒（ｔ＝０.１秒）短くして音声分割処理を再度行う（ステップＳ３１２とＳ３１３）。そして、発話区間の数Ｍが、音声認識部４０１〜４０Ｎの数Ｎ以上になったら音声分割処理を終了する（ステップＳ３１４のＮｏ）。
【００３５】
音声区間を分割した発話区間の数Ｍが、音声認識部４０１〜４０Ｎの数Ｎよりも小さい場合（ステップＳ３１４のＹｅｓ）、非音声分割区間長閾値Ｔｐの値がその最小値Ｔｐmin（例えばＴｐmin＝０.１秒）以下であるか否かが評価され（ステップＳ３１５）、以下の場合は音声分割処理を終了する。非音声分割区間長閾値Ｔｐの値が最小値Ｔｐminでない場合、再び非音声分割区間長閾値Ｔｐの値を所定の時間間隔で短くして音声を分割する処理を、発話区間の数Ｍが音声認識部４０１〜４０Ｎの数Ｎ以上の値になるまで繰り返す。
【００３６】
このように音声分割部３１０は、音声認識部４０１〜４０Ｎの数Ｎよりも発話区間の数Ｍが多くなるように音声信号を分割するので、音声認識処理群４０を有効に活用することができ、音声認識処理をより高速にすることが可能である。なお、複数の発話区間の時間長がアンバランスである場合、更に改善する方法が考えられる。図９に、発話区間の時間長に長短がある場合の例を示す。図９の横方向は発話区間ｉ＝１〜ｉ＝８である。縦方向はその発話区間の発話時間長を示す。発話区間ｉ＝５の発話時間長は、他の発話区間の平均的な時間長の３倍以上の長さがある。このような場合、発話区間ｉ＝５の時間長が音声認識処理の処理時間の長さを決めてしまう。この場合、最長の発話区間を更に分割してその発話時間長を短く分割することで、音声認識処理の時間を短縮することができる。次に、その最長の発話区間に着目して音声認識処理をより高速にしたこの発明の音声認識装置４００を説明する。
【実施例４】
【００３７】
音声認識装置４００は、音声認識装置１００又は２００の音声分割部１０が、音声分割部４１０に置き換わった点のみが異なる。音声認識装置４００の機能構成例の図示は省略する。
【００３８】
音声分割部４１０は、音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の条件で音声区間を分割した発話区間の数Ｍが、音声認識処理群４０を構成する音声認識部４０１〜４０Ｎの数Ｎよりも少ない場合、当該分割した音声区間の時間長が最大の発話区間を選択して非音声分割区間長閾値Ｔｐの値を小さくした条件で当該発話区間の音声区間を再分割し、上記非音声分割区間長閾値Ｔｐの値が最小非音声分割区間長閾値Ｔｐminになるか、Ｍ≧Ｎになるまで音声区間の時間長が最大の発話区間に対して再分割する処理を繰り返す。
【００３９】
図１０に、音声分割部４１０の動作フローを示す。音声分割部４１０は、まず、音声信号の音声・非音声判別を行い非音声区間の区間長が非音声分割区間長閾値Ｔｐ以上の条件で音声区間を分割する（ステップＳ４１０）。音声区間を分割した発話区間の数Ｍが、音声認識処理群４０を構成する音声認識部４０１〜４０Ｎの数Ｎよりも少ない場合、当該分割した音声区間の時間長が最大の発話区間を選択する（ステップＳ４１２）。そして、その最大の発話区間の音声区間を非音声分割区間長閾値Ｔｐの値を、例えば０.１秒（ｔ）間隔で小さくした条件で再分割する（ステップＳ４１４）。
【００４０】
再分割した結果の発話区間の数Ｍが、音声認識処理群４０を構成する音声認識部４０１〜４０Ｎの数Ｎ以上になるまで（ステップＳ４１５のＮｏ）、又は、非音声分割区間長閾値Ｔｐの値が最小非音声分割区間長閾値Ｔｐminになるまで音声区間の時間長が最大の発話区間を再分割する処理を繰り返す（ステップＳ４１６のＹｅｓ）。
【００４１】
音声認識装置４００は、最長の発話区間を短く分割するので、音声認識処理をより高速に行うことができる。なお、上記した音声認識装置１００〜４００の音声区間を分割する方法は、所定の長さ以上の非音声区間を探して分割する例で説明した。この方法で音声区間を分割してもなお、発話区間の数Ｍが音声認識部４０１〜４０Ｎの数Ｎに満たない場合がある（Ｍ＜Ｎ）。その場合に、一度音声分割部１０で分割した音声区間を、更に均等にｋ分割して発話区間を作成する音声認識装置５００も考えられる。次に、その音声認識装置５００を説明する。
【実施例５】
【００４２】
音声認識装置５００は、音声認識装置１００〜４００の音声分割部１０と分割済み音声記憶部２０との間に第２音声分割部７０が設けられる点と、音声認識結果統合部５０が音声認識結果統合部５５０となる点が異なる。音声認識装置５００の機能構成例の図示は省略する。
【００４３】
第２音声分割部７０は、音声分割部１０で分割した発話区間の数Ｍが上記音声認識部の数Ｎに満たない場合（Ｍ＜Ｎ）に動作する。第２音声分割部７０は、Ｍ個の発話区間の最も長い発話区間を、均等にｋ（ｋは２以上の整数）分割し、その結果がＭ−１＋ｋ＞Ｎとなる場合はｋをｋ′＝Ｎ−Ｍ＋１として上記ｋ分割する前の最も長い発話区間をｋ′で分割し、ｋ分割した結果がＭ＜Ｎの場合は再び最新の最大発話時間の発話区間に対してｋ分割する処理を、全ての発話区間の数Ｍが上記音声認識部の数Ｎに等しくなるまで繰り返すと共にｋ分割した分割部分に重複区間Ｔ０を設ける。
【００４４】
図１１に、第２音声分割部７０の動作フローを示す。第２音声分割部７０は、音声分割部１０で分割した発話区間の数Ｍが音声認識部４０１〜４０Ｎの数Ｎ以上の場合（ステップＳ５１１のＮｏ）は、音声の分割処理を行わない。
【００４５】
Ｍ＜Ｎの場合（ステップＳ５１１のＹｅｓ）、第２音声分割部７０は、Ｍ個の発話区間の中の最も長い発話区間を選択し、その発話区間を均等にｋ分割する（ステップＳ５１２、Ｓ５１３）。ｋは、２以上の整数であり外部から与えられる。例えばＭ＝４、Ｎ＝６、ｋ＝４として説明する。
【００４６】
４個の発話区間の中の最長の発話区間を、４（ｋ）分割した場合の発話区間の数が音声認識部４０１〜４０Ｎの数Ｎよりも大きくなるか否かを判断する（ステップＳ５１３）。４個の発話区間の中の最長の発話区間を、４（ｋ）分割すると発話区間の数ＭはＭ′＝７となりＮよりも大きくなる（ステップＳ５１３のＹｅｓ）。この場合、ｋを＝６−４＋１＝３として、最も長い発話区間を分割する。ｋで分割した発話区間の数はＭ＝４からＭ＝６となり、音声認識部４０１〜４０Ｎの数Ｎと等しい数となるので分割処理を終了する（ステップＳ５１６のＹｅｓ）。
【００４７】
ｋ分割した結果がＭ-１＋ｋ＜Ｎの場合（ステップＳ５１６のＹｅｓ）は、k分割した結果の発話区間を含めた最新の発話区間の最大発話時間の発話区間に対してステップＳ５１２〜Ｓ５１６までの処理を、全ての発話区間の数Ｍが上記音声認識部の数Ｎに等しくなるまで繰り返す。Ｍ-１＋ｋ≧Ｎになったら分割処理を終了（ステップＳ５１６のＮｏ）し、ｋ分割した分割部分に重複区間Ｔ０を設けて動作を終了する（ステップＳ５１７）。
【００４８】
図１２に、重複区間Ｔ０を単語ラティス形式で示す。図１２の横方向は経過時間である。図１２は、音声信号を「今日の天気は晴れ」とした時に、その一つの音声区間を２分割した例を示している。よって、「天気」の途中に分割ポイントがある例である。
【００４９】
その分割ポイントの前後に重複区間Ｔ０が設けられている。音声認識結果統合部５５０は、重複区間Ｔ０に存在する単語の時間重複割合が所定値以上の単語のみを残した音声認識結果ネットワークのスコアが最も高い単語列を上記音声認識結果として選択する。時間重複割合とは、異なる発話区間の重複区間に出現する同一単語ｗにおいて、単語ｗの発話区間が重複している時間の割合のことである。発話区間ｉ＝１の「天気」と「ペンキ」、発話区間i＝２の「天気」と「ペンキ」、はそれぞれ同一単語で時間を重複している。例えば発話区間ｉ＝１の「天気」の時間長を１秒、発話区間ｉ＝２の「天気」の時間長を１.５秒とすると、ｉ＝１の天気の時間重複割合は１.０/１.０で１である。ｉ＝２の「天気」の時間重複割合は１.０/１.５で０.６６である。
【００５０】
つまり、音声認識結果統合部５５０は、隣り合う２つの音声認識結果ネットワーク内に含まれる重複区間の単語に対し、両ネットワークに存在し、かつその時間重複割合が所定値以上（例えば０.６以上）である重複単語のみを残し、他の単語は全てのネットワークから削除する。そして、音声認識ネットワーク同士を統合する。統合の際、それぞれに存在する認識結果単語候補のうち音響スコア、言語スコアの高い認識結果単語候補を選択して音声認識結果とする。
【００５１】
図１３に、図１２に示した発話区間を統合した音声認識結果ネットワークの例を示す。発話区間ｉ＝１と２との間で重複しない「お」、「野天」、「木」、「はい」、「屋」の認識結果単語候補は削除されている。
【００５２】
このように音声区間を分割しても、分割部分に重複区間を設け、それを考慮した認識結果の統合処理を行うことで、音声認識精度を劣化させずに音声認識処理の時間を短縮することが可能である。
【００５３】
以上述べたように、この発明の音声認識装置１００〜５００は、音声信号を複数の発話区間に分割し、複数の音声認識処理部においてその分割した発話区間毎に音声認識処理を行うので、音声認識処理の処理速度を速くすることができると共に、音声認識の認識精度も劣化させることがない。
なお、上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【００５４】
また、上記方法及び装置において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００５５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、BD(Blue Ray Disc)、DVD（Digital Versatile Disc）、DVD-RAM（Random Access Memory）、CD-ROM（Compact Disc Read Only Memory）、CD-R（Recordable）/RW（ReWritable）等を、光磁気記録媒体として、MO（Magneto Optical disc）等を、半導体メモリとしてEEP-ROM（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００５６】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００５７】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0005667962.tif 000002
【図２】
0005667962.tif 000003
【図３】
0005667962.tif 000004
【図４】
0005667962.tif 000005
【図５】
0005667962.tif 000006
【図６】
0005667962.tif 000007
【図７】
0005667962.tif 000008
【図８】
0005667962.tif 000009
【図９】
0005667962.tif 000010
【図１０】
0005667962.tif 000011
【図１１】
0005667962.tif 000012
【図１２】
0005667962.tif 000013
【図１３】
0005667962.tif 000014