(57)【要約】【課題】  連続音声認識処理において、認識結果の候補である多数の単語系列の中から、入力音声に最も近く言語的にもふさわしいものを効率よくサーチすることができるようにする。【解決手段】  音響的単語予備選択部４１は、音響モデル記憶部２０を少なくとも利用して、所定の単語系列に後続し得る音響的な単語候補を生成する。言語的単語予備選択部４２は、単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する言語モデル記憶部２２を少なくとも利用して、先の単語系列に後続し得る言語的な単語候補を生成する。最終単語候補決定部４３は、言語的な単語候補の個数が閾値以下の場合、言語的な単語候補と音響的な単語候補とのいずれも最終的な単語候補として出力し、言語的な単語候補の個数が閾値よりも大きい場合、言語的な単語候補を棄却し、音響的な単語候補を最終的な単語候補として出力する。【選択図】  図７
2005241811.tif 000002
【特許請求の範囲】
【請求項１】
連続音声認識処理を実行する音声処理装置において、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成手段と、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する記憶手段と、
前記記憶手段に記憶された前記言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成手段と、
前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成手段により生成された前記第１の単語候補と、前記第２の単語候補生成手段により生成された前記第２の単語候補とのいずれも、前記単語系列に接続し得る最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定手段と
を備えることを特徴とする音声処理装置。
【請求項２】
前記言語モデルは、有限状態オートマトン（FSA: Finite State Automaton）文法であり、
前記第２の単語候補生成手段は、前記有限状態オートマトン文法内のノードのうちの前記単語系列に対応するノードから出る１以上のアークのそれぞれに付与された単語を、前記第２の単語候補として生成する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記言語モデルは、カテゴリを使用した前記有限状態オートマトン文法であり、
前記記憶手段には、前記有限状態オートマトン文法に使用される前記カテゴリと単語との対応関係を示すテーブルがさらに記憶されており、
前記第２の単語候補生成手段は、前記有限状態オートマトン文法内のノードのうちの前記単語系列に対応する前記ノードから出る前記アークに前記カテゴリが付されている場合、前記記憶手段に記憶された前記テーブルを参照して、前記カテゴリに対応付けられている前記単語の全てを、前記第２の単語候補として生成する
ことを特徴とする請求項２に記載の音声処理装置。
【請求項４】
前記記憶手段と前記第２の単語候補生成手段とは、１つのモジュールにまとめられている
ことを特徴とする請求項１に記載の音声処理装置。
【請求項５】
連続音声認識処理を実行する音声処理装置の音声処理方法において、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、
前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補と、前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補とのいずれも、前記単語系列に接続し得る最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップと
を含むことを特徴とする音声処理方法。
【請求項６】
連続音声認識処理を制御するコンピュータに実行させるプログラムであって、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、
前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補と、前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補とのいずれも、前記単語系列に接続し得る最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップと
を含むことを特徴とするプログラム。
【請求項７】
連続音声認識処理を制御するコンピュータに実行させるプログラムが記録された記録媒体であって、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、
前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補と、前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補とのいずれも、前記単語系列に接続し得る最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップと
を含むプログラムが記録されていることを特徴とする記録媒体。
【請求項８】
連続音声認識処理を実行する音声処理装置において、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成手段と、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する記憶手段と、
前記記憶手段に記憶された前記言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成手段と、
前記第２の単語候補生成手段により生成された前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成手段の処理の実行を禁止して、前記第２の単語候補を最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補生成手段の処理の開始を指令し、前記第１の単語候補生成手段により生成された前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定手段と
を備ええることを特徴とする音声処理装置。
【請求項９】
連続音声認識処理を実行する音声処理装置の音声処理方法において、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、
前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理の実行を禁止して、前記第２の単語候補を最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補生成ステップの処理の開始を指令し、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップと
を含むことを特徴とする音声処理方法。
【請求項１０】
連続音声認識処理を制御するコンピュータに実行させるプログラムであって、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、
前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理の実行を禁止して、前記第２の単語候補を最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補生成ステップの処理の開始を指令し、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップと
を含むことを特徴とするプログラム。
【請求項１１】
連続音声認識処理を制御するコンピュータに実行させるプログラムを記録する記録媒体であって、
音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、
前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、
前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理の実行を禁止して、前記第２の単語候補を最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補生成ステップの処理の開始を指令し、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップと
を含むプログラムを記録していることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理装置および方法、並びに、プログラムおよび記録媒体に関し、特に、連続音声認識処理において、認識結果の候補である多数の単語系列の中から、入力音声に最も近く言語的にもふさわしいものを効率よく探索（サーチ）することができる、音声処理装置および方法、並びに、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
近年、連続音声認識処理を実現可能な音声処理装置が普及してきた（特許文献１乃至３、および非特許文献１参照）。この連続音声認識処理においては、認識結果の候補である多数の単語系列（以下、仮説と称する）の中から、入力音声に最も近く言語的にもふさわしいものを効率よく探索（サーチ）することが要求されている。
【特許文献１】特開2001-242884号公報
【特許文献２】国際公開WO 01/65541 A1号パンフレット
【特許文献３】特開2003-15683号公報
【非特許文献１】北研二・中村哲・永田昌明共著、音声言語処理、日本国、森北出版、１９９６年１１月発行
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来のサーチ手法では、このような要求、即ち、仮説の中から入力音声に最も近く言語的にもふさわしいものを効率よく探索（サーチ）するという要求に十分に応えることは困難である、という課題があった。
【０００４】
以下、従来の様々なサーチ手法と、それらが有するこの課題について、具体的に説明していく。
【０００５】
即ち、例えば、一般的に、認識器が A個（Aは任意の正数値）の語彙を持ち、かつ B個（Bは任意の正数値）の単語連鎖までを受け付ける場合、可能な単語の組み合わせは次の式（１）で示される。
【０００６】
1^A + 2^A + ... + B^A  ・・・（１）
なお、式（１）において、x^n は「x の n乗」を表わす。
【０００７】
具体的には、例えば、A=10, B=5 という単純な場合でさえ、式（１）にA=10, B=5のそれぞれを代入して演算すると、可能な組み合わせの数は10874275という大きな数となる。さらに、語彙数や最大連鎖数を増やすと、組み合わせの数はさらに膨大な数となる。このため、上述したように、その膨大な数の単語系列の中から最も良いものを、演算量およびメモリの観点から効率的にサーチすることが要求されている。
【０００８】
そのような要求に応えるため、例えば、特許文献１には、単語予備選択という手法が開示されている。そこで、以下、図１を参照して、この単語予備選択と、その後のマッチング処理とについて説明してく。
【０００９】
この図１は、発話開始の時刻0 から時刻t までサーチが進んだ状態を表わしている。図１において、波形１は、発話された音声の波形を示している。同図に示されるように、この時刻tの時点で、認識エンジン（図示せず）は、M個の仮説（部分的な認識結果）２−１乃至２−Ｍを保持している。また、各仮説２−１乃至２−Ｍのそれぞれは、言語的な履歴３−１乃至３−Ｍを保持している。なお、履歴の詳細については後述する。
【００１０】
そして、認識エンジンは、全語彙の音響スコアを求め、例えば、ある範囲内の音響スコアを持つ単語候補を最終的な単語候補として残す。或いは、認識エンジンは、上位 N個の音響スコアを持つ単語のみを最終的な単語候補として残す。
【００１１】
後述するマッチング処理の前に、以上のような単語候補を予め絞り込む処理（それに対応する手法）が単語予備選択である。また、単語予備選択において、単語候補を絞り込むために必要な上述した範囲や上位Nといった値は、（単語予備選択の）ビーム幅と称されている。
【００１２】
このような単語予備選択により、図１に示されるような、N個の単語候補４−１乃至４−Nが最終的な単語候補として残る（絞り込まれる）ことになる。
【００１３】
次に、認識エンジンはマッチング処理を行う。即ち、認識エンジンは、M個の仮説２−１乃至２−Ｍのそれぞれと、N個の単語候補４−１乃至４−Ｍのそれぞれとからできる M×N個の組み合わせ（単語系列）のそれぞれについて詳細なマッチングを行い、それぞれの音響スコアと言語スコアとを求め、さらに両スコアを統合した仮説スコアを求める（仮説展開）。そして、認識エンジンは、M×N個の組み合わせ（単語系列）の中から、仮説スコアが上位M'個(M'は、Mと同一な値を含む任意の正数値)の単語系列を抽出し、それを新たな仮説として残す（保持する）。
【００１４】
このようにして新たな仮説を求めると、認識エンジンは、時刻を時刻tから先に進めて上述した一連の処理（単語予備選択処理とマッチング処理）を繰り返す。このような一連の処理は、発話終了時刻まで繰り返し実行される。
【００１５】
このように、詳細なマッチング処理の前に単語予備選択処理が実行されることで、高速かつ省メモリでのサーチが可能となる。また、このような単語予備選択を利用するサーチ手法は、言語スコアの計算を除いて言語モデルの種類（統計的言語モデル、有限状態オートマトン文法、および、文脈自由文法等の種類等）には依存しないので、複数種類の言語モデルに対応した認識システムを容易に構築することができる。
【００１６】
即ち、この単語予備選択処理を実行することで、仮説の中から入力音声に最も近く言語的にもふさわしいものを効率よく探索（サーチ）するという要求にある程度応えることができる。
【００１７】
しかしながら、この単語予備選択は、ビーム幅を決める場合に、認識率と認識時間とがトレードオフの関係にある、という特徴を有しているため、そのような要求に十分に応えることができないでいる。即ち、従来の課題を十分に解決できないでいる。以下、この単語予備選択が有する特徴の詳細について説明する。
【００１８】
即ち、正しい認識結果（仮説）を見つけ出すためには、単語予備選択で求めた単語候補の集合の中に正解の単語が含まれている必要がある。そのためには、ビーム幅をある程度広げて単語候補の個数N を増やすという手法が考えられる。ただし、この手法では、N が増加すると、それに応じて、Ｍ個の仮説とＮ個の単語候補との組み合わせ（新たな仮説の候補）の個数M×N も増加するため、仮説展開に多くの時間を要するようになる。
【００１９】
従って、図２に示されるように、単語予備選択のビーム幅を横軸として認識精度を縦軸としたグラフを描くと右上がりの曲線となる。また、図３に示されるように、ビーム幅を横軸とし認識時間と縦軸としたグラフを描くと右上がりの曲線となる。このように、認識率と認識時間とがトレードオフの関係にある。
【００２０】
このような単語予備選択の特徴が、上述した課題を解決するための障害となっている。そこで、この障害を取り除くために、即ち、上述した課題をよりよく解決するために、単語予備選択で単語候補の集合を求める際に音響的な情報だけでなく言語的な情報も用いる手法、詳細には、統計的言語モデルを用いて単語候補を求めるという手法が、特許文献２に開示されている。
【００２１】
そこで、以下、特許文献２に開示されている手法について説明する。即ち、例えば、仮説の１つが「これ/は/大きな」という単語列であるとする。この場合、この単語列に接続しやすい単語を統計的言語モデルを用いて求め、それを単語候補に加える。具体的には、バイグラム確率 P(x|大きな) > threshold を満たす x を単語候補に加える。なお、“P(x|大きな)”は、「大きな」の直後に単語x が出現する確率である。また、thresholdは所定の閾値（正数値）を示す。この処理を全ての仮説について行う。
【００２２】
なお、以下、このようにして、統計的言語モデル等の言語モデルを用いて求められた単語候補を、言語的な単語候補と称する。これに対して、音響的な情報を用いて求められた単語候補を、音響的な単語候補と称する。
【００２３】
そして、次の式（２）で示されるように、音響的な単語候補と、言語的な単語候補という２種類の単語候補の和集合を最終的な単語候補とする。
【００２４】
単語候補 = 音響的な単語候補 ∪ 言語的な単語候補  ・・・（２）
【００２５】
なお、上述したように、音響的な単語候補の個数はビーム幅で調整され、また、言語的な単語候補の個数は閾値thresholdで調整される。
【００２６】
以上の処理が、特許文献２に開示された手法の概略である。この手法では、言語的な単語候補を使用しない他の手法と比べて、音響的な単語候補のビーム幅を狭く絞っても単語候補に正解単語が含まれる可能性が高くなる。そのため、同じ認識速度では、認識率を上げることができる。
【００２７】
このように、特許文献２で開示された手法を適用することで、即ち、単語候補として、音響的な言語と、統計的言語モデルを用いて求められた言語的な単語候補との両者を利用することで、上述した課題をより解決することができる（特許文献１で開示された手法を適用した場合に比べて）ようになる。
【００２８】
しかしながら、特許文献２で開示された手法は、言語モデルとして統計的言語モデルを使用する音声認識システムを想定している。その結果、その他のタイプの言語モデルを使用する音声認識システムに対して特許文献２で開示された手法をそのまま適用するだけでは、即ち、単語候補として、音響的な言語と、その他のタイプの言語モデルを用いて求められた言語的な単語候補との両者を単に利用するだけでは、上述した従来の課題を十分に解決することは困難である（特許文献１で開示された手法を適用した場合と同レベルにしか解決できない）。
【００２９】
例えば、その他のタイプの言語モデルとして有限状態オートマトン（FSA: Finite State Automaton）文法を使用する音声認識システムに対して、特許文献２で開示された手法をそのまま適用した場合、即ち、単語候補として、音響的な言語と、FSA文法を用いて求められた言語的な単語候補との両者を単に利用した場合、仮説の数が増大してしまうという問題が発生することがあり、その結果、従来の課題の解決が困難になる。
【００３０】
以下、この問題の詳細について説明する。
【００３１】
図４は、FSA文法を用いた言語モデルの例を示している。FSAとは、状態（またはノード）とアークとからなる有向グラフである。図４の例では、状態S0乃至S11が示されるとともに、アークが矢印で示されている。この状態S0乃至S11のうちの、S0 は開始状態と、S10 は終了状態と、それぞれ称されている。また、各アーク（矢印）のそれぞれには所定の単語が付与されていて、ある状態から次の状態に遷移するときには、この単語が消費される。具体的には、例えば、状態S1から状態S2に遷移するときには、「私」という単語が消費される。また、状態S0から状態S1への矢印（アーク）に付与された<先頭>と、状態S6から状態S10への矢印（アーク）に付与された<終端>とのそれぞれは、発話先頭と発話終端とのそれぞれを表わす特別なシンボルであり、音声的には発話前と発話後の無音部分のそれぞれに相当する。
【００３２】
ある単語列がこのFSA文法で受理できるか否かの判定は、初期状態 S0 から出発して終了状態 S10 まで到達できるか否かで判定される。例えば、図４のFSA文法の例では、次の（A）乃至（D）で示される文字列は受理される（単語の区切りはスラッシュで表わす）。即ち、図４のFSA文法で受理される文字列とは、（A）<先頭>/私/の/名前/は/AAA/です/<終端>、（B）<先頭>/私/は/BBB/だよ/<終端>、（C）<先頭>/これ/は/ボール/です/<終端>、および（D）<先頭>/これ/は/リンゴ/だよ/<終端>である。
【００３３】
ところで、FSA 文法では、所定の１つの状態から複数のアークが出ていることがある。例えば、図４の例では、状態S4からは、人名を表わす多数の単語（「AAA」，「BBB」，「KKK」等）のそれぞれが付されたアークが出ている。同様に、状態S8からは、物体名を表わす多数の単語（「ボール」，「箱」，「リンゴ」等）のそれぞれが付されたアークが出ている。
【００３４】
しかしながら、FSA 文法では、所定の１つの状態から出ている複数のアークのそれぞれに付与された単語には、言語的な優劣は存在しない。
【００３５】
従って、例えば、図４の例では、状態S4 から出ている多数のアークのそれぞれに付与された人名を表す単語に言語的なスコアをつけて選別することは意味がない。同様に、状態S8 から出ている多数のアークのそれぞれに付与された物体名を表す単語に言語的なスコアをつけて選別することは意味がない。なお、アークに遷移コストが付与されたFSAも存在するが、そのようなFSA では「適切な遷移コストは如何にして計算すれば良いか」という別の問題が発生するため、ここでは考慮に入れない。
【００３６】
このため、FSA文法を利用して言語的な単語候補を求める処理は、全ての単語（現在の状態から出ている全てのアークのそれぞれに対応付けられた単語）を不採用にするか、或いは、全ての単語を採用するかの二者択一を行う処理となり、その中間である「上位 N 個の単語を採用する」といった処理の実現は困難である。
【００３７】
即ち、最終的な単語候補を求める処理として、言語的な単語候補を１つも採用せずに音響的な単語候補だけを採用する処理（特許文献１の手法そのものの処理）か、或いは、音響的な単語候補と、FSA文法において現在の状態から出ている全てのアークのそれぞれに対応付けられた全ての単語（言語的な単語候補）とを採用する処理かのいずれか一方の処理となる。
【００３８】
後者の処理の場合、即ち、全ての単語（FSA文法において現在の状態から出ている全てのアークのそれぞれに対応付けられた単語）が言語的な単語候補として採用される処理の場合、大規模な FSA文法では仮説数の増大により速度が遅くなったり使用メモリ量が増えたりするという問題(以下、このような問題を、仮説数増大問題と称する)が発生する。その結果、従来の課題を解決することができなくなる。
【００３９】
以下、仮説数増大問題の具体的な例について説明する。
【００４０】
即ち、例えば、図１において、仮説２−１乃至２−Ｍのうちの１つの仮説２−Ｋ（Ｋは、１乃至Ｍのうちの任意の正数値）が「<先頭>/私/は」であるとする。この仮説２−Ｋは、図４の例のFSA文法においては、状態S4まで遷移している。図４に示されるように、この仮説２−Ｋに対応する言語的な単語候補４−１乃至４−Ｎのいずれかに成り得る単語（採用される可能性のある単語）は、状態S4 に後続（隣接）する多数の単語（即ち、AAA、BBB、KKK等）である。従って、それらの多数の単語の全てを言語的な単語候補として採用してしまうと、単語候補の個数Nが大きくなり、仮説２−１乃至２−Ｋと、単語候補４−１乃至４−Ｎとの組み合わせの個数 M×N も大きくなる。その結果、マッチングの処理時間が長時間になるとともに、使用メモリ量も増大してしまう。即ち、仮説数増大問題が発生し、その結果、従来の課題を解決することができなくなる。
【００４１】
より一般的に表現すると、音響的な単語候補の個数は、ビーム幅に依存してほぼ一定となるのに対して、FSA文法による言語的な単語候補の個数は、そのFSA文法の現在の状態に依存して変動する（１乃至多数となる）。従って、ある時刻においては、言語的な単語候補の個数が莫大な数となることもあり、そのような場合のマッチングの処理には、多大な時間がかかるとともに、使用メモリ量も増大してしまう。即ち、仮説数増大問題が発生し、その結果、従来の課題を解決することができなくなる。
【００４２】
なお、統計的言語モデルを用いた音声認識システムでは、任意の単語列が認識結果となり得るのに対し、FSA文法を用いた音声認識システムでは、FSA文法で表現される単語列のみが認識結果となり得る。その性質を利用した FSA文法用サーチ手法（アルゴリズム）として、例えば、非特許文献１にはワンパスアルゴリズムが、特許文献３にはビームサーチ法が、それぞれ開示されている。
【００４３】
しかしながら、非特許文献１や特許文献３に開示されたこれらのサーチ手法を、他の種類の言語モデルへ適用することは困難である。即ち、このようなサーチ手法を、統計的言語モデルと FSA文法との両方に対応した認識システムに適用することは困難である。
【００４４】
以上、単語候補として、音響的な言語と、FSA文法（その他の言語モデル）を用いて求められた言語的な単語候補との両者を採用する場合に発生する、仮説数増大問題について説明した。このような仮説数増大問題は、次のような言語モデルを用いて求められた言語的な単語候補が採用される場合にも全く同様に発生してしまう。即ち、仮説数増大問題が発生し得る言語モデルとは、仮説に後続する単語（後続単語）が有限個求められる言語モデルであり、具体的には、例えば、上述したFSA文法の他に、接続マトリクスと称される言語モデルや、文脈自由文法（CFG）と称される言語モデル等が存在する。なお、以下、仮説に後続する単語（後続単語）が有限個求められる言語モデルを、有限後続単語言語モデルと称する。
【００４５】
以上の内容をまとめると、現状では以下の３点の全て満たすサーチ手法は存在せず、このため、現状、上述した課題を解決できない状態である。即ち、１点目は、有限後続単語言語モデルと統計的言語モデルとで共通のサーチの枠組みを用いることで、サーチ用モジュールの共有化を実現する点である。２点目は、有限後続単語言語モデルの言語的情報を用いて、高速化または高精度化を実現する点である。３点目は、大規模な有限後続単語言語モデル（分岐の多いFSA文法等）において、仮説数増大の問題に対処する点である。
【００４６】
本発明は、このような状況に鑑みてなされたものであり、連続音声認識処理において、認識結果の候補である多数の単語系列の中から、入力音声に最も近く言語的にもふさわしいものを効率よく探索（サーチ）することができるようにするものである。
【課題を解決するための手段】
【００４７】
本発明の第１の音声処理装置は、連続音声認識処理を実行する音声処理装置であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成手段と、単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する記憶手段と、記憶手段に記憶された言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成手段と、第２の単語候補の個数が閾値以下の場合、第１の単語候補生成手段により生成された第１の単語候補と、第２の単語候補生成手段により生成された第２の単語候補とのいずれも、先の単語系列に接続し得る最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補を最終的な単語候補として決定する単語候補決定手段とを備えることを特徴とする。
【００４８】
言語モデルは、有限状態オートマトン（FSA: Finite State Automaton）文法であり、第２の単語候補生成手段は、有限状態オートマトン文法内のノードのうちの単語系列に対応するノードから出る１以上のアークのそれぞれに付与された単語を、第２の単語候補として生成するようにすることができる。
【００４９】
言語モデルは、カテゴリを使用した有限状態オートマトン文法であり、記憶手段には、有限状態オートマトン文法に使用されるカテゴリと単語との対応関係を示すテーブルがさらに記憶されており、第２の単語候補生成手段は、有限状態オートマトン文法内のノードのうちの単語系列に対応するノードから出るアークにカテゴリが付されている場合、記憶手段に記憶されたテーブルを参照して、カテゴリに対応付けられている単語の全てを、第２の単語候補として生成するようにすることができる。
【００５０】
記憶手段と第２の単語候補生成手段とは、１つのモジュールにまとめられているようにすることができる。
【００５１】
本発明の第１の音声処理方法は、連続音声認識処理を実行する音声処理装置の音声処理方法であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、第２の単語候補の個数が閾値以下の場合、第１の単語候補生成ステップの処理により生成された第１の単語候補と、第２の単語候補生成ステップの処理により生成された第２の単語候補とのいずれも、先の単語系列に接続し得る最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補を最終的な単語候補として決定する単語候補決定ステップとを含むことを特徴とする。
【００５２】
本発明の第１のプログラムは、連続音声認識処理を制御するコンピュータに実行させるプログラムであって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、第２の単語候補の個数が閾値以下の場合、第１の単語候補生成ステップの処理により生成された第１の単語候補と、第２の単語候補生成ステップの処理により生成された第２の単語候補とのいずれも、先の単語系列に接続し得る最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補を最終的な単語候補として決定する単語候補決定ステップとを含むことを特徴とする。
【００５３】
本発明の第１の記録媒体は、連続音声認識処理を制御するコンピュータに実行させるプログラムが記録された記録媒体であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、第２の単語候補の個数が閾値以下の場合、第１の単語候補生成ステップの処理により生成された第１の単語候補と、第２の単語候補生成ステップの処理により生成された第２の単語候補とのいずれも、先の単語系列に接続し得る最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補を最終的な単語候補として決定する単語候補決定ステップとを含むプログラムが記録されていることを特徴とする。
【００５４】
本発明の第１の音声処理装置および方法、並びに、第１のプログラムおよび記録媒体においては、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補が生成され、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補が生成され、第２の単語候補の個数が閾値以下の場合、第１の単語候補と第２の単語候補とのいずれもが、先の単語系列に接続し得る最終的な単語候補として決定され、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補が棄却されて、第１の単語候補が最終的な単語候補として決定される。
【００５５】
本発明の第２の音声処理装置は、連続音声認識処理を実行する音声処理装置であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成手段と、単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する記憶手段と、記憶手段に記憶された言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成手段と、第２の単語候補生成手段により生成された第２の単語候補の個数が閾値以下の場合、第１の単語候補生成手段の処理の実行を禁止して、第２の単語候補を最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補生成手段の処理の開始を指令し、第１の単語候補生成手段により生成された第１の単語候補を最終的な単語候補として決定する単語候補決定手段とを備ええることを特徴とする。
【００５６】
本発明の第２の音声処理方法は、連続音声認識処理を実行する音声処理装置の音声処理方法であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、第２の単語候補生成ステップの処理により生成された第２の単語候補の個数が閾値以下の場合、第１の単語候補生成ステップの処理の実行を禁止して、第２の単語候補を最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補生成ステップの処理の開始を指令し、第１の単語候補生成ステップの処理により生成された第１の単語候補を最終的な単語候補として決定する単語候補決定ステップとを含むことを特徴とする。
【００５７】
本発明の第２のプログラムは、連続音声認識処理を制御するコンピュータに実行させるプログラムであって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップと、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップと、第２の単語候補生成ステップの処理により生成された第２の単語候補の個数が閾値以下の場合、第１の単語候補生成ステップの処理の実行を禁止して、第２の単語候補を最終的な単語候補として決定し、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補を棄却し、第１の単語候補生成ステップの処理の開始を指令し、第１の単語候補生成ステップの処理により生成された第１の単語候補を最終的な単語候補として決定する単語候補決定ステップとを含むプログラムを記録していることを特徴とする。
【００５８】
本発明の第２の音声処理装置および方法、並びに、第２のプログラムおよび記録媒体においては、、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成処理と、単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成処理との実行が可能とされている。そして、第２の単語候補生成処理により生成された第２の単語候補の個数が閾値以下の場合、第１の単語候補生成処理の実行が禁止されて、第２の単語候補が最終的な単語候補として決定される。これに対して、第２の単語候補の個数が閾値よりも大きい場合、第２の単語候補が棄却され、第１の単語候補生成処理の開始が指令され、第１の単語候補生成処理により生成された第１の単語候補が最終的な単語候補として決定される。
【発明の効果】
【００５９】
以上のごとく、本発明によれば、連続音声認識処理が実行できる。特に、認識結果の候補である多数の単語系列の中から、入力音声に最も近く言語的にもふさわしいものを効率よく探索（サーチ）することができる。
【発明を実施するための最良の形態】
【００６０】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００６１】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００６２】
本発明によれば、第１の音声処理装置が提供される。この第１の音声処理装置（例えば、図５の音声処理装置）は、連続音声認識処理を実行する音声処理装置であって、音響的な情報（例えば、図７の音響モデル記憶部２０に記憶された音響モデル）を少なくとも利用して、所定の単語系列（例えば、図１の仮説２−１乃至２−Ｍのうちの所定の１つ）に後続し得る第１の単語候補（本明細書においては、後述するように、音響的な単語候補と称している）を生成する第１の単語候補生成手段（例えば、図６の単語予備選択部１６のうちの図７の音響的単語予備選択部４１）と、前記単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する記憶手段（例えば、図６と図７の言語モデル記憶部２２）と、前記記憶手段に記憶された前記言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補（本明細書においては、後述するように、言語的な単語候補と称している）を生成する第２の単語候補生成手段（例えば、図７の言語的単語予備選択部４２）と、前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成手段により生成された前記第１の単語候補と、前記第２の単語候補生成手段により生成された前記第２の単語候補とのいずれも、前記単語系列に接続し得る最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定手段（例えば、図９の時刻ｔの単語予備選択処理を実行する図６の単語予備選択部１６のうちの、図７の最終単語候補決定部４３）とを備えることを特徴とする。
【００６３】
この第１の音声処理装置において、前記言語モデルは、有限状態オートマトン（FSA: Finite State Automaton）文法（例えば、図４のFSA文法）であり、前記第２の単語候補生成手段は、前記有限状態オートマトン文法内のノード（例えば、図４のノードS0乃至S11）のうちの前記単語系列に対応するノード（例えば、図４のノードS2）から出る１以上のアーク（例えば、図４の矢印）のそれぞれに付与された単語（例えば、図４の「の」と「は」）を、前記第２の単語候補として生成することができる。
【００６４】
前記言語モデルは、カテゴリを使用した前記有限状態オートマトン文法（例えば、図２３のFSA文法）であり、前記記憶手段には、前記有限状態オートマトン文法に使用される前記カテゴリと単語との対応関係を示すテーブル（例えば、図２４や図２５のテーブル）がさらに記憶されており、前記第２の単語候補生成手段は、前記有限状態オートマトン文法内のノードのうちの前記単語系列に対応する前記ノードから出る前記アークに前記カテゴリが付されている場合（例えば、ノードS4の場合）、前記記憶手段に記憶された前記テーブルを参照して、前記カテゴリ（例えば、「人名」というカテゴリ）に対応付けられている前記単語の全て（例えば、図２４や図２５に示されるように、「AAA」，「BBB」，「KKK」等）を、前記第２の単語候補として生成することができる。
【００６５】
前記記憶手段と前記第２の単語候補生成手段とは、１つのモジュール（例えば、図１４のFSA言語モデル処理部６２であって、言語的単語予備選択部（FSA用）８１が図７の言語的単語予備選択部４２に相当し、FSA言語モデル記憶部８４が図７の言語モデル記憶部２２に相当する）にまとめられていることができる。
【００６６】
本発明によれば、第１の音声処理方法が提供される。この第１の音声処理方法（例えば、図９の時刻tの単語予備選択処理）は、連続音声認識処理を実行する音声処理装置（例えば、図５の音声処理装置）の音声処理方法であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップ（例えば、図９のステップＳ２１の処理）と、前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップ（例えば、図９のステップＳ２２の処理の一部、具体的には、図１０のステップＳ４６とＳ４７の処理等）と、前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補と、前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補とのいずれも、前記単語系列に接続し得る最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップ（例えば、図９のステップＳ２２の処理の一部、具体的には、図１０のステップＳ４５の判定処理と、図９のステップＳ２３の処理）とを含むことを特徴とする。
【００６７】
本発明によれば、第１のプログラムが提供される。この第１のプログラムは、連続音声認識処理を制御するコンピュータ（例えば、図３６のCPU２０１を有するコンピュータ）に実行させるプログラムであって、上述した第１の音声処理方法に対応する各ステップのそれぞれを含むことを特徴とする。
【００６８】
本発明によれば、第１の記録媒体が提供される。この第１の記録媒体は、上述した第１のプログラムが記録されていることを特徴とする。
【００６９】
本発明によれば、第２の音声処理装置が提供される。この第３の音声処理装置（例えば、図５または図１３の音声処理装置）は、連続音声認識処理を実行する音声処理装置であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成手段（例えば、図６の単語予備選択部１６のうちの図７の音響的単語予備選択部４１）と、前記単語系列に後続し得る単語候補が有限個求められる言語モデルを記憶する記憶手段（例えば、図６と図７の言語モデル記憶部２２）と、前記記憶手段に記憶された前記言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成手段（例えば、図７の言語的単語予備選択部４２）と、前記第２の単語候補生成手段により生成された前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成手段の処理の実行を禁止して、前記第２の単語候補を最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補生成手段の処理の開始を指令し、前記第１の単語候補生成手段により生成された前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定手段（例えば、図１５のステップＳ６２、Ｓ６３、Ｓ６４の処理を実行する図７の最終単語候補決定部４３）とを備ええることを特徴とする。
【００７０】
本発明によれば、第２の音声処理方法が提供される。この第２の音声処理方法（例えば、図１５の時刻tの単語予備選択処理）は、連続音声認識処理を実行する音声処理装置（例えば、図５の音声処理装置）の音声処理方法であって、音響的な情報を少なくとも利用して、所定の単語系列に後続し得る第１の単語候補を生成する第１の単語候補生成ステップ（例えば、図１５のステップＳ６４の処理）と、前記単語系列に後続し得る単語候補が有限個求められる言語モデルを少なくとも利用して、前記単語系列に後続し得る第２の単語候補を生成する第２の単語候補生成ステップ（例えば、図１５のステップＳ６１の処理であって、詳細は図１６）と、前記第２の単語候補生成ステップの処理により生成された前記第２の単語候補の個数が閾値以下の場合、前記第１の単語候補生成ステップの処理の実行を禁止して、前記第２の単語候補を最終的な単語候補として決定し、前記第２の単語候補の個数が前記閾値よりも大きい場合、前記第２の単語候補を棄却し、前記第１の単語候補生成ステップの処理の開始を指令し、前記第１の単語候補生成ステップの処理により生成された前記第１の単語候補を最終的な前記単語候補として決定する単語候補決定ステップ（例えば、図１５のステップＳ６２、Ｓ６３、Ｓ６５の処理）とを含むことを特徴とする。
【００７１】
本発明によれば、第２のプログラムが提供される。この第２のプログラムは、連続音声認識処理を制御するコンピュータ（例えば、図３６のCPU２０１を有するコンピュータ）に実行させるプログラムであって、上述した第２の音声処理方法に対応する各ステップのそれぞれを含むことを特徴とする。
【００７２】
本発明によれば、第２の記録媒体が提供される。この第２の記録媒体は、上述した第２のプログラムが記録されていることを特徴とする。
【００７３】
次に、図面を参照して、本発明の実施の形態について説明する。
【００７４】
図５は、本発明が適用される音声処理装置の一構成例を示している。
【００７５】
音声入力部１１は、例えば、マイクロフォンで構成され、ユーザが発生した音声を入力し、電気信号としての音声信号に変換して、ＡＤ(Analog Digital)変換部１２に供給する。
【００７６】
ＡＤ変換部１２は、音声入力部１１から供給された音声信号（アナログ信号）を、サンプリングし量子化することで、音声データ（デジタル信号）に変換して、特徴抽出部１３に供給する。
【００７７】
特徴抽出部１３は、ＡＤ変換部１２から供給された音声データに対して適当な時間間隔で周波数分析などを施して、スペクトルやその他の音声の音響的特徴量（パラメータ）を抽出する。このような特徴抽出部１３の処理の結果、音声の特徴量の時系列（以下、特徴量系列と称する）が得られることになる。この特徴量系列は制御部１４に供給されるとともに、時間をさかのぼって利用できるように特徴量記憶部１５にも供給され、記憶される。
【００７８】
制御部１４は、入力された特徴量系列に対するマッチング処理の実行指令を、マッチング部１７に対して発行する。
【００７９】
マッチング部１７は、この実行指令を受けて、音響モデル記憶部２０に記憶された情報、辞書記憶部２１に記憶された情報、および、言語モデル記憶部２２に記憶された情報に基づいて、特徴量記憶部１５に記憶された特徴量系列（入力音声に対応するパラメータ）に対して、上述したようなマッチング処理を施す。
【００８０】
音響モデル記憶部２０は、対象となる言語において用いられる個々の音素や音節などの音響的な特徴を保持するモデル（音響モデル）を記憶する。例えば、音響モデル記憶部２０には、隠れマルコフモデル（HMM：Hidden Markov Model）等が記憶される。
【００８１】
辞書記憶部２１は、認識対象となる個々の単語の発音に関する情報を辞書として保持する。これにより、辞書記憶部２１に記憶された辞書に含まれる単語と、音響モデル記憶部２０に記憶された音響モデルとが関連付けられる。その結果、辞書に含まれる各単語に対応する音響的な標準パターンが得られることになる。
【００８２】
言語モデル記憶部２２は、辞書記憶部２１に記憶された辞書に含まれる個々の単語がどのように連鎖し得るのかを記述するモデル（言語モデル）を記憶する。例えば、言語モデル記憶部２２には、上述したような統計的言語モデル、具体的には、例えば、統計的な単語連鎖確率を含む文法(N-gram)が記憶されたり、上述したFSA文法等の有限後続単語言語モデルが記憶される。
【００８３】
詳細には、マッチング部1７は、音響モデル記憶部２０に記憶された音響モデル、辞書記憶部２１に記憶された辞書、および、言語モデル記憶部２２に記憶された言語モデルを用いて、特徴量記憶部１５に記憶された特徴量系列と適合する単語を決定する。
【００８４】
例えば、音響モデルとして隠れマルコフモデル（HMM）を用いる場合には、マッチング部１７は、各特徴量の出現確率を特徴量系列にしたがって累積し、その累積値を音響的な評価値、即ち、上述した音響スコアとする。このような音響スコアは、上述した標準パターンをもちいることで、単語ごとに求まることになる。
【００８５】
また、例えば、言語モデルとして統計的言語モデルを用いる場合には、マッチング部１７は、直前の単語との連鎖確率に基づく各単語の言語的な確からしさを数値化し、その値を言語的評価値、即ち、上述した言語スコアとする。
【００８６】
単語ごとに求まる音響スコアと言語スコアとは、終端時刻と共に制御部１４に供給されるとともに、単語接続関係記憶部１９に供給されて記憶される。詳細には、単語接続関係記憶部１９には、マッチングの結果（単語ごとに求まる音響スコアと言語スコア）が、ノードとアークで表現されるグラフとして記憶される。
【００８７】
具体的には、例えば、単語接続関係記憶部１９に記憶される情報の簡単な例が、図６に示されている。図６の例では、ノード３１乃至３６は○印によって示され、アークはノードをつなぐ実線で示されている。各ノード３１乃至３６のそれぞれは時間情報を持ち、各アークには、対応する単語およびその単語に関する音響スコアと言語スコアとが記憶される。例えば、図６の例では、（ドア, A1, L1）のように示されており、このうちの、「ドア」が単語を、A1 が音響スコアを、L1 が言語スコアを、それぞれ示している。
【００８８】
このような図６に示されるグラフは、初期ノード３１を始端として、マッチング処理が進むに従って逐次形成されていく。即ち、初期ノード３１から終端ノード（図６の例では、ノード３５とノード３６）までの１つのグラフに存在する各アークのそれぞれに付された単語を時刻の順に並べた（図中、左から並べた）単語列が、終端ノードが持つ時刻における仮説となる。また、終端ノードがその仮説の履歴となる。具体的には、例えば、ノード３１、ノード３３、ノード３５をアーク（実線）で結んだグラフにおいては、「窓/を」が時刻tにおける仮説となり、ノード３５がその仮説の履歴となる。
【００８９】
各アークの終端ノード（図６の例では、ノード３５とノード３６）のうちの、特徴量系列の最終時刻Tにたどり着いていないもので、かつ、そのノードを始端とするアークがまだ伸びていないもの（例えば、図６の例では、ノード３５）に対しては、そのノードが持つ時刻（例えば、図６の例では、ノード３５が持つ時刻t）を開始時刻とするマッチング処理を継続して行う必要がある。そして、そのようなマッチング処理を継続すべきノードが複数ある場合には、制御部1４が順序づけを行い、その順序に従ってマッチング処理を行う実行指令を、マッチング部１７に対して発行する。
【００９０】
なお、このときの順序づけの手法は特に限定されないが、ここでは、例えば、ノードが持つ時刻が早い順に順序づけを行い、同時刻のノードが複数存在する場合は、その複数のノードを同時に対象とする手法を適用するとする。
【００９１】
この場合、図６の例では、制御部１４は、ノード３５が有する時刻tを開始時刻とするマッチング処理の実行指令を、マッチング部１７に対して発行することになる。即ち、マッチング部１７は、ノード３５に後続する単語とのマッチング処理を行う。その結果、単語接続関係記憶部１９には、そのマッチング処理で決定される終端時刻を時間情報として有する新たなノード（図示せず）が記憶され、また、その新たなノードとノード３５とを結ぶ新たなアークが生成され、マッチング処理の結果（単語、音響スコア、言語スコア）が、その新たなアークに記録されることになる。
【００９２】
このようにして、ノードとアークとが逐次形成され、初期ノード３１から最終時刻Tのノード（図６の例では、ノード３６のみが図示されている）まで延びる単語列（仮説）がグラフ形式で形成されていく。
【００９３】
そして、グラフが完成すると（最終時刻Tのノードの全てが形成されると）、制御部１４は、初期ノード３１から最終時刻Tのノードまで延びた単語列（仮説）の中から、音響スコアと言語スコアとを総合したスコアが最も良いと判定される仮説を抽出し、その仮説を入力音声信号に最も適合する単語系列として（認識結果として）、外部に出力する。
【００９４】
このようにして、マッチング部１７は、制御部１４で指定される時刻tを開始時刻としてマッチング処理を行うが、そのとき、辞書記憶部２１に記憶されている辞書に含まれる単語の全てを単語候補の対象とすると、その演算量は膨大なものとなる。そこで、この演算量を減少させるために、本実施の形態の音声処理装置には、単語予備選択部１６が設けられている。
【００９５】
即ち、単語予備選択部１６は、辞書記憶部２１に記憶されている辞書に含まれる単語の中から、マッチング部１７が処理対象とする単語候補を決定する（絞り込む）処理、即ち、上述した単語予備選択を実行する。
【００９６】
上述したように、単語予備選択を実行するブロック（単語予備選択部）自体は、従来の音声認識処理装置（上述した特許文献１や特許文献２参照）にも存在した。ただし、従来の単語予備選択部が有する機能だけでは、上述したように、従来の課題を解決することは困難である。
【００９７】
そこで、本実施の形態の単語予備選択部１６は、従来のそれに対して機能が拡張されている。具体的には、例えば、本実施の形態の単語予備選択部１６は、図７に示されるように構成される。即ち、図７は、本実施の形態の単語予備選択部１６の詳細な構成例を示している。
【００９８】
本実施の形態の単語予備選択部１６には、音響的単語予備選択部４１、言語的単語予備選択部４２、および、最終単語候補決定部４３が設けられている。
【００９９】
音響的単語予備選択部４１は、音響モデル記憶部２０に記憶された音響モデルと、辞書記憶部２１に記憶された辞書とを用いて、時刻tを開始点とする特徴量系列の最初の幾つかのフレームと辞書に含まれる各単語の発音の先頭部分との部分的なマッチング処理だけを簡易的に行うことで部分的な音響スコアを求め、その音響スコアに基づいて音響的な単語候補を決定する。
【０１００】
なお、このとき、音響的単語予備選択部４１は、例えば、図７の点線で示されるように、言語モデル記憶部２２に記憶された言語モデルをさらに用いて、単語の出現確率（ユニグラム確率）によって音響スコアを補正するといった処理を実行することができる。
【０１０１】
言語的単語予備選択部４２は、辞書記憶部２１に記憶された辞書と、言語モデル記憶部２２に記憶された言語モデルとを用いて、各仮説について言語的に繋がりやすい単語の集合を求め、その集合に含まれる各単語のそれぞれを言語的な単語候補として決定する。
【０１０２】
言語的単語予備選択部４２の詳細な処理は、利用する言語モデルによって異なる。例えば、言語モデルとして統計的言語モデル（N-gram）を利用する場合、言語的単語予備選択部４２は、上述したように、言語的な尤度が高い単語を求め、それを言語的な単語候補として決定する。なお、言語モデルとして有限後続単語言語モデル（特にFSA文法）を利用する場合の言語的単語予備選択部４２の詳細な処理については、図１０のフローチャート等を参照して後述する。
【０１０３】
最終単語候補決定部４３は、音響的単語予備選択部４１により求められた（或いは、これから求められる）音響的な単語候補と、言語的単語予備選択部４２により求められた（或いは、これから求められる）言語的な単語候補との中から、最終的な単語候補を決定する。
【０１０４】
例えば、言語的単語予備選択部４２が、後述するように、言語モデルとして有限後続単語言語モデル（特にFSA文法）を利用して、所定の仮説に対する言語的な単語候補を生成若しくはこれから生成する場合、その言語的な単語候補の個数が閾値以下のとき、最終単語候補決定部４３は、言語的単語予備選択部４２により生成された、その仮説に対する言語的な単語候補と、音響的単語予備選択部４１により生成された、その仮説に対する音響的な単語候補とのいずれも、その仮説に対する最終的な単語候補であるとして決定し、マッチング部１７等に供給する。
【０１０５】
これに対して、その仮説に対する言語的な単語候補の個数が閾値以上のとき、最終単語候補決定部４３は、その言語的な単語候補を棄却し、その仮説に対する音響的な単語候補を、その仮説に対する最終的な単語候補として決定し、マッチング部１７等に供給する。ただし、ここで言う棄却とは、言語的単語予備選択部４２により既に生成済みの言語的な単語候補を実際に廃棄（棄却）することの他、言語的な単語候補がまだ生成されていない場合に、言語的単語予備選択部４２に対してその言語的な単語候補の生成処理を禁止する（処理をスキップさせる）ことも指す概念である。
【０１０６】
以上のように、音響的単語予備選択部４１とは、結局、特許文献１等に開示された従来の単語予備選択部そのものであると捉えることができ、上述した従来の課題を解決すべく、本実施の形態においては、従来の単語予備選択部（音響的単語予備選択部４１）に加えてさらに、言語的単語予備選択部４２と最終単語候補決定部４３とが設けられていると捉えることができる。
【０１０７】
ただし、最終単語候補決定部４３は、図７の例では、単語予備選択部１６の中に音響的単語予備選択部４１や言語的単語予備選択部４２とは異なるブロックとして構成されているが、図７の形態に特に限定されない。即ち、例えば、図５の制御部１４やマッチング部１７等の他のブロックが最終単語候補決定部４３を含む（その機能を有している）形態でも構わないし、或いは、音響的単語予備選択部４１若しくは言語的単語予備選択部４２自身が、最終単語候補決定部４３を含む（その機能を有している）形態でも構わない。
【０１０８】
図５に戻り、再評価部１８は、制御部１４からの制御に基づいて、特徴量記憶部１５に記憶された特徴量を用いるとともに、音響モデル記憶部２０に記憶された音響モデル、辞書記憶部２１に記憶された辞書、および、言語モデル記憶部２２に記憶された言語モデルを必要に応じて用いながら、単語接続情報記憶部１９に記憶された単語接続情報（図６のグラフ）の再評価を行い、その再評価結果を制御部１４に供給する。
【０１０９】
次に、図８を参照して、本実施の形態の音声処理装置が実行する処理のうちの、時刻tにおけるマッチング処理（単語予備選択処理含む）について説明する。即ち、上述したように、発話開始時刻から発話終了時刻まで時刻tを進めさせ、時刻tが進む毎に、その時点の時刻tにおいて、図８に示されるマッチング処理が逐次実行されていく。ただし、このような、時刻tを発話開始時刻から発話終了時刻まで変化させる処理自体は、上述した特許文献１等を参照することで、当業者にとって容易に理解ができる処理であるので、その詳細な説明はここでは省略する。
【０１１０】
即ち、例えば、いま、上述した図１に示されるように、時刻tまで進められ、Ｍ個の部分仮説２−１乃至２−Ｍが生成され、それらの部分仮説２−１乃至２−Ｍのそれぞれに対して、番号１乃至Ｍのそれぞれが付されているとして、以下、時刻tにおけるマッチング処理（単語予備選択処理含む）について説明していく。
【０１１１】
この場合、図８のステップＳ１において、単語予備選択部１６は、図１に示されるような、Ｎ個の単語候補４−１乃至４−Ｎのそれぞれを決定し、マッチング部１７に供給する。即ち、ステップＳ１において、単語予備選択処理が実行される。なお、本実施の形態の単語予備選択処理の詳細は図９と図１０のフローチャートに示されているが、その説明については後述する。
【０１１２】
なお、このとき、例えば、単語予備選択部１６またはマッチング部１７は、ステップＳ１において生成された単語候補４−１乃至４−Ｎのそれぞれに対して、番号１乃至Ｎのそれぞれを付すとする。
【０１１３】
ステップＳ２において、マッチング部１７は、部分仮説の番号iの初期値として１を代入する（i←１）。
【０１１４】
ステップＳ３において、マッチング部１７は、i≦Ｍであるか否かを判定する。
【０１１５】
いまの場合、部分仮説の番号iは１（＜Ｍ）であるので、マッチング部１７は、ステップＳ３において、i≦Ｍであると判定し、ステップＳ４において、単語候補の番号jの初期値として１を代入する（ｊ←１）。
【０１１６】
ステップＳ５において、マッチング部１７は、ｊ≦Ｎであるか否かを判定する。
【０１１７】
いまの場合、単語候補の番号ｊは１（＜Ｎ）であるので、マッチング部１７は、ステップＳ５において、ｊ≦Ｎであると判定し、ステップＳ６において、番号ｉの部分仮説（いまの場合、図１の仮説２−１）と番号ｊの単語候補（いまの場合、図１の単語候補４−１）とを連結することで新仮説を生成し、その新仮説に対する音響スコアと言語スコアとを演算する。
【０１１８】
そして、マッチング部１７は、ステップＳ７において、ステップＳ６の処理で生成した新仮説を保持し、ステップＳ８において、単語候補の番号jを更新し（ｊ←j+1）、処理をステップＳ５に戻し、それ以降の処理を繰り返す。
【０１１９】
即ち、単語候補の番号jが２に更新されたので(j←1+1)、今度は、以上のステップＳ５乃至Ｓ８の処理が繰り返し実行されて、番号１の部分仮説２−１と番号２の単語候補４−２とが連結され、それが新仮説として保持される。また、このとき、その新仮説に対する音響スコアと言語スコアとが演算される。そして、単語候補の番号が３に更新される（ｊ←2+1）
【０１２０】
それ以降、以上のステップＳ５乃至Ｓ８の処理が繰り返し実行されて、番号１の部分仮説２−１と、番号３乃至Ｎのそれぞれの単語候補（単語候補２−３乃至２−Ｎのそれぞれ）とが連結され、それらが新仮説として保持される。また、このとき、それらの新仮説のそれぞれに対する音響スコアと言語スコアとが演算される。
【０１２１】
このような処理が繰り返し実行されて、最終的に、番号１の部分仮説２−１と番号Ｎの単語候補２−Ｎとが連結された新仮説が保持されると（ステップＳ７の処理が終了すると）、ステップＳ８において、単語候補の番号jがN+1に更新される（j←N+1）。その結果、マッチング部１７は、ステップＳ５において、j≦Ｎではないと判定し、ステップＳ９において、部分仮説の番号iを更新し（ｉ←ｉ＋１）、処理をステップＳ３に戻す。
【０１２２】
即ち、今度は、部分仮説の番号iが２（＜Ｍ）に更新されたので（ｉ←１＋１）、ステップＳ３において、ｉ≦Ｍであると判定され、ステップＳ４において、単語候補の番号jの初期値として１が代入された後、処理はステップＳ５に進められる。
【０１２３】
即ち、今度は、以上のステップＳ５乃至Ｓ８の処理が繰り返し実行されて、番号２の部分仮説２−２と、番号１乃至Ｎのそれぞれの単語候補（単語候補２−１乃至２−Ｎのそれぞれ）とが連結され、それらが新仮説として保持される。また、このとき、それらの新仮説のそれぞれに対する音響スコアと言語スコアとが演算される。
【０１２４】
それ以降、以上のステップＳ３乃至Ｓ９の処理が繰り返し実行されて、番号３乃至Ｍの部分仮説（仮説２−３乃至２−Ｍ）のそれぞれと、番号１乃至Ｎのそれぞれの単語候補（単語候補２−１乃至２−Ｎのそれぞれ）とが連結され、それらが新仮説として保持される。また、このとき、それらの新仮説のそれぞれに対する音響スコアと言語スコアとが演算される。
【０１２５】
以上の処理の結果として、最終的に、Ｎ×Ｍ個の新仮説が生成されて保持されるとともに、それらの新仮説のそれぞれに対する音響スコアと言語スコアとが演算される。
【０１２６】
そして、最後の番号Ｍの部分仮説２−Ｍと最後の番号Ｎの単語候補２−Ｎとが連結された最後の新仮説が保持されると（ステップＳ７の処理が終了すると）、ステップＳ８において、単語候補の番号jがN+1に更新される（j←N+1）。その結果、マッチング部１７は、ステップＳ５において、j≦Ｎではないと判定し、ステップＳ９において、部分仮説の番号iを更新し（ｉ←Ｍ＋１）、処理をステップＳ３に戻す。
【０１２７】
即ち、今度は、部分仮説の番号iがＭ＋１に更新されたので、マッチング部１７は、ステップＳ３において、ｉ≦Ｍではないと判定し、ステップＳ１０において、保持された新仮説（Ｎ×Ｍ個）の中から、スコア（音響スコアと言語スコアとの合算値）が上位M'個の新仮説を抽出し、それらを次の時刻の部分仮説として保持する。
【０１２８】
これにより、時刻tのマッチング処理は終了となる。
【０１２９】
なお、ステップＳ１０の処理は、個数の代わりに、上述したように、スコアが一定の範囲内に入っている新仮説を残すという処理であってもよい。
【０１３０】
その後、上述したように、時刻tが進められ、進められた時刻tに対するマッチング処理（上述したステップＳ１乃至Ｓ１０の処理）が実行される。即ち、今度は、進められた時刻tにおける単語予備選択処理（ステップＳ１の処理）によりN'個の単語候補が新たに決定され、それらのN'個の単語候補と、直前の時刻tのステップＳ１０の処理で保持されたM'個の新仮説とが連結されて、さらに新たな新仮説が生成される（ステップＳ３乃至Ｓ９の繰り返し処理）。そして、それらの新たな新仮説の中からスコアが上位M''個（M''は、MやM'を含む任意の正数値）の新仮説が抽出され、それらがさらに次の時刻の部分仮説として保持される（ステップＳ１０の処理）。
【０１３１】
上述したように、それ以降も、発話開始時刻から発話終了時刻まで時刻tが順次進めたれ、時刻tが進む毎に、その時点の時刻tにおいて、上述したマッチング処理（ステップＳ１乃至Ｓ１０の処理）が逐次実行されていく。
【０１３２】
次に、図９のフローチャートを参照して、本実施の形態の、時刻tの単語予備選択処理（図８のステップＳ１の処理）の詳細について説明する。
【０１３３】
ステップＳ２１において、図７の音響的単語予備選択部４１は、上述したように、時刻tの音響的な単語候補を求め、それらを含む集合CAを生成する。
【０１３４】
ステップＳ２２において、言語的単語予備選択部４２は、上述したように、時刻tの言語的な単語候補を求め、それらを含む集合CLを生成する。
【０１３５】
なお、以下、このようなステップＳ２２の処理を、「時刻tの言語的な単語候補の集合CL生成処理」と称する。上述したように、利用する言語モデルによって、「時刻tの言語的な単語候補の集合CL生成処理」の内容は異なる。例えば、図１０のフローチャートには、言語モデルとして有限後続単語言語モデル（例えばFSA文法）を利用する場合の「時刻tの言語的な単語候補の集合CL生成処理」の詳細な例が示されている。そこで、以下、図１０のフローチャートを参照して、言語モデルとして有限後続単語言語モデル（例えばFSA文法）を利用する場合の「時刻tの言語的な単語候補の集合CL生成処理」の詳細な例について説明する。
【０１３６】
ステップＳ４１において、言語的単語予備選択部４２は、集合CLに初期値としてΦ（空集合）を代入する。
【０１３７】
ステップＳ４２において、最終単語候補決定部４３は、履歴の番号iの初期値として１を代入する（i←１）。
【０１３８】
ステップＳ４３において、最終単語候補決定部４３は、ｉ≦Ｍであるか否かを判定する。
【０１３９】
いまの場合、ｉ＝１（＜Ｍ）なので、最終単語候補決定部４３は、ステップＳ４３において、ｉ≦Ｍであると判定し、ステップＳ４４において、値Ｋに、番号iの履歴に対応する言語的単語候補の個数を代入する。なお、言語的単語候補の個数とは、例えば、言語モデルとして上述した図４に示されるようなFSA文法を使用している場合（言語モデル記憶部２２にFSA文法が記憶されている場合）、ある状態（ノード）から出ているアークの本数を指す。
【０１４０】
具体的には、例えば、いま、図１１に示されるように、部分的な仮説が５個存在するとする（No.1乃至No.5の仮説が存在するとする）。即ち、図１の例では、Ｎ＝５個の仮説２−１乃至２−５が存在するとする。また、No.1乃至No.5の仮説のそれぞれは、履歴として図４のFSA文法の状態（ノード）を保持しているとする。具体的には、例えば、No.1乃至No.5の仮説のそれぞれは、状態S11，状態S4，状態S4，状態S3，状態S8のそれぞれを保持しているとする。なお、No.2の仮説とNo.3の仮説とは、履歴は状態S4で同一であるが、単語列が異なるので、ここでは、別の仮説としてそれぞれ取り扱う。また、図１に示されるように、１つの仮説に１つの履歴が対応しているので、仮説の番号が、そのまま対応する履歴の番号として付されるとする。即ち、番号１の履歴とは、No.1の仮説の履歴（図１１の例では、状態S11）を指す。
【０１４１】
いまの場合、最終単語候補決定部４３は、ステップＳ４４において、番号１の履歴（No.1の仮説）に対応する言語的単語候補の個数、即ち、状態S11から出ているアーク（「は」が付されたアーク）の本数である「１」を値Ｋに代入する。
【０１４２】
このように、ステップＳ４４の処理の時点では、言語的単語予備選択部４２自身は、言語的な単語候補の集合をまだ求めない。
【０１４３】
次に、ステップＳ４５において、最終単語候補決定部４３は、Ｋ≦Threshold1であるか否かを判定する。
【０１４４】
例えば、ここでは、閾値Threshold1 = 10 であるとする。即ち、アークの本数が１０本以下の場合、換言すると、対象となる状態（履歴）に続く単語の個数が１０個以下の場合、それらの単語の全てを、言語的な単語候補として採用するとする。
【０１４５】
いまの場合、Ｋ＝１であり、Ｋ≦Threshold1の条件が成立するので、最終的単語候補決定部４３は、ステップＳ４５において、Ｋ≦Threshold1であると判定し、言語的な単語候補を求めることを言語的単語予備選択部４２に指令する。
【０１４６】
すると、ステップＳ４６において、言語的単語予備選択部４２は、番号ｉの履歴に対応する言語的な単語候補の集合Ｓを生成する。即ち、いまの場合、状態S11（No.1の仮説の履歴）から出ているアークに付された「は」が言語的な単語候補として採用され、その「は」という言語的な単語候補のみを含む集合Ｓが生成される。
【０１４７】
そして、言語的単語予備選択部４２は、これまでの集合CLと集合Ｓとの和集合を求め、その和集合を新たな集合CLとして保持する（CL←CL∪Ｓ）。即ち、いまの場合、これまでの集合CLはΦ（空集合）であるので、「は」という言語的な単語候補のみを含む集合Ｓそのものが、新たな集合CLとして保持される。
【０１４８】
最終単語候補決定部４３は、ステップＳ４８において、番号iを更新する（i←i+1）。その後、処理はステップＳ４３に戻され、それ以降の処理が繰り返される。
【０１４９】
即ち、いまの場合、No.2乃至No.5の仮説の履歴のそれぞれに対して、ステップＳ４３乃至Ｓ４８の処理がその順番に繰り返し実行される。
【０１５０】
このような、No.1乃至No.5の仮説（履歴）のそれぞれに対して、ステップＳ４３乃至Ｓ４８の処理が繰り返し実行された結果が図１２に示されている。
【０１５１】
なお、図４の状態 S4と状態S8とのそれぞれからは多数のアークが出ているが、ここでは、500本と600本のそれぞれであるとする。
【０１５２】
図１２において、仮説Noと履歴のそれぞれの項目は、図１１の対応する項目のそれぞれと同一とされている。言語的単語候補の項目には、対応する履歴（状態）に続き得る単語、即ち、言語的な単語候補（採用された場合）が示されている。個数の項目には、対応する履歴（状態）から出ているアークの本数、即ち、図１０のステップＳ４４の処理で値Ｋに代入される数が示されている。採用/不採用の項目には、対応する言語的単語候補に記述された単語が、言語的な単語候補として実際に採用されたか否かが示される。
【０１５３】
具体的には、例えば、上述したように、No.1の仮説においては、個数は１であるので、即ち、個数は閾値 Threshold1（＝１０）以下であるので、「は」は言語的な単語候補として採用される。
【０１５４】
同様に、例えば、上述したように、No.4の仮説においても、個数は１であるので、「名前」は言語的な単語候補として採用される。
【０１５５】
これに対して、No.2の仮説においては、個数は５００であるので、即ち、個数は閾値 Threshold1（＝１０）より大きいので、「AAA」，「BBB」，「KKK」，「名無し」といった５００個の単語は言語的な単語候補として不採用となる（即ち、棄却される）。
【０１５６】
同様に、No.3の仮説においても、個数は５００であるので、「AAA」，「BBB」，「KKK」，「名無し」といった５００個の単語は言語的な単語候補として不採用となる（即ち、棄却される）。
【０１５７】
また、No.5の仮説においては、個数は６００であるので、即ち、個数は閾値 Threshold1（＝１０）より大きいので、「ボール」，「箱」，「リンゴ」，「不明」といった６００個の単語は言語的な単語候補として不採用となる（即ち、棄却される）。
【０１５８】
以上のことから、集合CLには、図１２の合計に示されるように、「は」と「名前」とが最終的に含まれることになる。即ち、時刻t の言語的な単語候補の集合CLとして、ここでは、{は,名前} が求まる。
【０１５９】
図１０に戻り、このようにして、No.1乃至No.5の仮説（履歴）のそれぞれに対して、ステップＳ４３乃至Ｓ４８の処理が実行され、最終的に、No.5の仮説に対するステップＳ４８の処理で、番号iがＭ+1に更新されると、ステップＳ４３において、i≦Ｍではないと判定され、「時刻tの言語的な単語候補の集合CL生成処理」は終了となる。
【０１６０】
ところで、上述したような閾値Threshold1を仮に用いず、従来のように全ての仮説（いまの場合、No.1乃至No.5の仮説）に連続し得る単語の全てを、言語的な単語候補として採用してしまうと、いまの場合、時刻tの言語的な単語候補の個数、即ち、集合CLの要素数は、最大で1102（=1+500+1+600）という大きな数となる。なお、人名と物体名とで重複する言語的な単語候補が存在することもあり得るので、正確には、集合CLの要素数は、600乃至1102の範囲のうちのいずれかの数となる。
【０１６１】
さらに、言語的な単語候補の個数が1102個であるとすると、後述するステップＳ２３（図９）の処理で、時刻t の最終的な単語候補として、この1102個の言語的な単語候補に対して、音響的な単語候補もさらに加えられるので、時刻t の最終的な単語候補の個数は1102個よりもさらに大きな数となる。従って、図１において、N=1102以上の値となる。即ち、M個の仮説２−１乃至２−Mに対して、1102個以上の単語候補４−１乃至４−Ｎが存在することになる。その結果、言語的な単語候補を使用しない場合に比べて M×N の値も増大し、詳細なマッチング（図８のステップＳ２乃至Ｓ１０の処理）の処理時間も多大になってしまう。即ち、従来の課題を解決することができない。
【０１６２】
これに対して、本実施の形態の上述した例では、言語的な単語候補として採用される単語は、「は」と「名前」の２単語だけであるため、時刻tの最終的な単語候補の数は、音響的な単語候補の数から若干（いまの場合、最大で２個だけ）増加する程度である。その結果、M×N の値も、言語的な単語候補を使用しない場合に比べても若干増加する程度であり、詳細なマッチングの処理時間は、言語的な単語候補を使用しない場合（音響的な単語候補のみを使用した場合）のマッチングの処理時間と比較しても若干の増加で済む、という効果を奏することが可能になる。
【０１６３】
さらに、本実施の形態においては、このように、言語的な単語候補を使用しない場合に比べて処理時間が若干増加する程度にも関わらず、本実施の形態の上述した処理で求められた言語的な単語候補（上述した例の場合、「は」と「名前」）は、FSA文法から求められたものであるため、正解の単語を含んでいる可能性が高い。そのため、言語的な単語候補を使用しない場合に比べて認識精度の向上が期待できる、という効果も奏することが可能になる。
【０１６４】
即ち、本実施の形態の音声処理装置は、上述した図１０のフローチャートに従って、「時刻tの言語的な単語候補の集合CL生成処理」を実行することで、従来の課題を解決することができる、という効果を奏することが可能になる。
【０１６５】
図９に戻り、以上のようにして、ステップＳ２１の処理で、時刻tの音響的な単語候補の集合CAが生成され、かつ、ステップＳ２２の処理で、時刻tの言語的な単語候補の集合CLが生成されると、ステップＳ２３において、最終単語候補決定部４３は、集合CAと集合CLとの和集合を求め、その和集合を、時刻tの単語候補の集合Cとしてマッチング部５７に供給する。
【０１６６】
これにより、本実施の形態の、時刻tの単語予備選択処理は終了となる。
【０１６７】
以上、本発明が適用される音声処理装置として、図５に示される構成の音声処理装置について説明してきたが、本発明が適用される音声処理装置の形態は図５の例に限定されず、様々な形態を取ることが可能である。
【０１６８】
例えば、上述した図７の言語的単語予備選択部４２の処理は、言語モデルの種類に依存した処理である。図７の例では、この言語モデルは、外部の言語モデル記憶部２２に記憶されているが、このような言語モデルの種類に依存した処理の実行部（言語的単語予備選択部４２等）と、言語モデル（それを記憶する言語モデル記憶部）そのものとを１つのモジュールにまとめることできる。これにより、他のモジュール（ブロック）は、どの言語モデルを使用した音声認識エンジンでも共通に用いることが可能になる。
【０１６９】
具体的には、例えば、図１３に示されるような音声処理装置を構成することができる。即ち、図１３は、本発明が適用される音声処理装置の他の構成例を示している。
【０１７０】
図１３の音声処理装置において、音声入力部５１乃至特徴量記憶部５５、および、再評価部５８乃至辞書記憶部６１のそれぞれは、図５における、音声入力部１１乃至特徴量記憶部１５、および、再評価部１８乃至辞書記憶部２１のそれぞれと基本的に同様の機能と構成を有している。そこで、ここでは、それらの説明については省略する。
【０１７１】
一方、図１３の音声処理装置における単語予備選択部５６とマッチング部５７のそれぞれは、図５における単語予備選択部１６とマッチング部１７のそれぞれと若干差異がある。ただし、この差異については後述する。
【０１７２】
さらに、図１３の音声処理装置においては、FSA言語モデル処理部６２、N-gram言語モデル処理部６３、および、スイッチ６４のそれぞれが設けられている。
【０１７３】
FSA言語モデル処理部６２、および、N-gram言語モデル処理部６３の詳細な構成例が図１４に示されている。そこで、以下、図１４を参照して、FSA言語モデル処理部６２、および、N-gram言語モデル処理部６３の詳細な構成例について説明する。
【０１７４】
FSA言語モデル処理部６２は、言語的単語予備選択部（FSA用）８１、FSAアクセス部８２、履歴更新部８３、および、FSA言語モデル記憶部８４から構成される。
【０１７５】
言語的単語予備選択部（FSA用）８１は、図７の言語的単語予備選択部４２に相当する。正確には、言語的単語予備選択部（FSA用）８１は、言語的単語予備選択部４２の機能のうちの、FSA文法を用いて言語的な単語候補を決定する機能を有する。即ち、言語的単語予備選択部（FSA用）８１は、例えば、上述した図１０のフローチャートに従って、「時刻tの言語的な単語候補の集合CL生成処理」を実行することができる。
【０１７６】
FSAアクセス部８２は、スイッチ６４がFSA言語モデル処理部６２側に切り替えられている（接続されている）場合、他のモジュール（図１３における、単語予備選択部５６、マッチング部５７、再評価部５８、辞書記憶部６１等）との通信を制御する。
【０１７７】
履歴更新部８３は、現在の状態と単語候補とに基づいて次の状態を求める。具体的には、例えば、いま、図４のFSA文法において、現在の状態が状態S5であり、単語候補が「だよ」である場合には、履歴更新部８３は、次の状態として状態S6を求める。
【０１７８】
FSA言語モデル記憶部８４は、図５の言語モデル記憶部２２に相当する。正確には、FSA言語モデル記憶部８４は、図５の言語モデル記憶部２２に記憶されている言語モデルのうちのFSA文法を記憶する。
【０１７９】
このようなFSA言語モデル処理部６２に対して、N-gram言語モデル処理部６３は、言語的単語予備選択部（N-gram用）９１、N-gramアクセス部９２、履歴更新部９３、および、N-gram言語モデル記憶部９４から構成される。
【０１８０】
言語的単語予備選択部（N-gram用）９１は、図７の言語的単語予備選択部４２に相当する。正確には、言語的単語予備選択部（N-gram用）８１は、言語的単語予備選択部４２の機能のうちの、言語モデルとしてN-gram（統計的言語モデル）を用いて言語的な単語候補を決定する機能を有する。
【０１８１】
N-gramアクセス部９２は、スイッチ６４がN-gram言語モデル処理部６３側に切り替えられている（接続されている）場合、他のモジュール（図１３における、単語予備選択部５６、マッチング部５７、再評価部５８、辞書記憶部６１等）との通信を制御する。
【０１８２】
履歴更新部９３は、(W_(i-1), W_i) という履歴（時刻t の直前の単語が W_i、その前が W_(i-1) であることを表わす）と単語候補 W_(i+1) とから、(W_i, W_(i+1)) という履歴を生成する。
【０１８３】
N-gram言語モデル記憶部９４は、図５の言語モデル記憶部２２に相当する。正確には、N-gram言語モデル記憶部８４は、図５の言語モデル記憶部２２に記憶されている言語モデルのうちのN-gramを記憶する。
【０１８４】
ところで、このように、履歴の更新処理は、FSA言語モデル処理部６２とN-gram言語モデル処理部６３側で実行されるので、図１３のマッチング部５７は、このような履歴の更新処理を実行する必要は無い。即ち、図１３のマッチング部５７は、図５のマッチング部１７と基本的に同様の機能と構成を有しているが、このような履歴の更新処理を実行する機能を有していなくともよい。
【０１８５】
また、言語的な単語予備選択の処理も、FSA言語モデル処理部６２とN-gram言語モデル処理部６３側で実行されるので、図１３の単語予備選択部５６は、図７の言語的単語予備選択部４２を有していなくともよい。換言すると、図１３の音声処理装置を構成するブロックのうちの何れか（例えば、FSA言語モデル処理部６２の言語的単語予備選択部（FSA用）８１等）が、図７の最終単語候補決定部４３の機能を有していれば、図１３の単語予備選択部５６として、従来の（特許文献１等の）単語予備選択部をそのまま使用することもできる。
【０１８６】
さらに、各言語モデルは、FSA言語モデル処理部６２とN-gram言語モデル処理部６３側で保持されるので、図１３の音声処理装置は、図５の言語モデル記憶部２２を搭載する必要がない。
【０１８７】
このように、FSA言語モデル処理部６２やN-gram言語モデル処理部６３といったモジュールを、必要となる（使用する）言語モデルの種類ごとに用意することで、上述したように、他のモジュールの処理を言語モデルの種類とは独立させることができる。その結果、例えば、次の２つの利点が得られる。即ち、1つ目の利点は、異なる種類の言語モデルを使用する音声認識エンジンでも、ソースコードの大部分を共通で使用することができ、そのため、ソースコードのメンテナンス性や再利用性が上がる点である。２つ目の利点は、1つの音声認識エンジンの中で、FSA文法に基づく認識と n-gram に基づく認識といった、異なる言語モデルに基づく複数の認識を同時に走らせることができる点である。
【０１８８】
以上、本発明が適用される音声処理装置の他の構成例について説明した。
【０１８９】
ところで、本発明が適用される音声処理装置は、時刻tのマッチング処理（単語予備選択処理含む）として、上述した図８乃至図１０のフローチャートに従った処理の他、様々なタイプの処理を実行することができる。
【０１９０】
例えば、本発明が適用される音声処理装置は、次のような思想に基づく、時刻tの単語予備選択処理（図８のステップＳ１の処理）を実行することができる。
【０１９１】
即ち、上述した例においては、基本的に、音響的単語予備選択部４１を恒常的に走らせながら、必要に応じて言語的単語予備選択部４２を走らせている。即ち、最終的な単語候補には、音響的な単語候補が必ず含まれ、言語的な単語候補は必要に応じて（数が少ない場合のみ）含まれる。しかしながら、本来、言語的な単語候補を用いる場合には、音響的な単語候補は不要のはずである。言語的な単語候補には正解単語が必ず含まれるためである。また、音響的単語予備選択部４１の処理は、言語的単語予備選択部４２の処理よりも一般的に負荷が重い。そのため、音響的単語予備選択部４１の処理を可能な限りスキップさせた方が認識速度を速くすることができる、といった思想である。
【０１９２】
このような思想に基づく時刻tの単語予備選択処理の例が、図１５に示されている。そこで、以下、図１５を参照して、このような思想に基づく（上述した図９とは異なる）、時刻tの単語予備選択処理について説明する。
【０１９３】
ステップＳ６１において、単語予備選択部１６の言語的単語予備選択部４２（図７）は、「時刻tの言語的な単語候補の集合CL生成処理」を実行する。
【０１９４】
このステップＳ６１の「時刻tの言語的な単語候補の集合CL生成処理」の詳細が、図１６のフローチャートに示されている。そこで、以下、図１６のフローチャートを参照して、ステップＳ６１の「時刻tの言語的な単語候補の集合CL生成処理」の詳細について説明する。
【０１９５】
図１６の「時刻tの言語的な単語候補の集合CL生成処理（図１５のステップＳ６１の処理）」と、上述した図１０の「時刻tの言語的な単語候補の集合CL生成処理（図９のステップＳ２２の処理）」とを比較するに、図１６における、ステップＳ７１乃至Ｓ７６のそれぞれの処理は、図１０における、ステップＳ４１乃至Ｓ４３、および、Ｓ４６乃至Ｓ４８のそれぞれの処理と基本的に同様の処理である。
【０１９６】
一方、図１０における、ステップＳ４４の処理とＳ４５の処理は、図１６の「時刻tの言語的な単語候補の集合CL生成処理（図１５のステップＳ６１の処理）」においては省略されている。
【０１９７】
即ち、図１６の「時刻tの言語的な単語候補の集合CL生成処理（図１５のステップＳ６１の処理）」においては、言語的な単語候補の個数による取捨選択は行なわれずに、全ての言語的な単語候補が採用される。
【０１９８】
図１５に戻り、このようにして、ステップＳ６１の処理で、時刻tの言語的な単語候補の集合CLが言語的単語予備選択部４２により生成されると、ステップＳ６２において、最終単語候補決定部４３（図７）は、|CL｜≦Threshold2であるか否かを判定する。なお、|CL｜は、ステップＳ６１の処理で生成された、時刻tの言語的な単語候補の集合CLの要素数を示している。また、Threshold2は、所定の閾値（基本的に、上述した図１０のステップＳ４５のThreshold1と異なる閾値であるが、同一の値であってもよい）である。
【０１９９】
即ち、時刻tの言語的な単語候補の集合CLの要素数が、閾値Threshold2以下の場合、最終単語候補決定部４３は、ステップＳ６２において、|CL｜≦Threshold2であると判定し、ステップＳ６３において、言語的な単語候補の集合CLを、最終的な単語候補の集合Ｃとして、マッチング部１７に提供する。この場合、音響的単語予備選択部４１（図７）の処理はスキップされる。これにより、時刻tの単語予備選択処理は終了となり、上述した図８のステップＳ２以降の処理が引き続き実行される。
【０２００】
これに対して、時刻tの言語的な単語候補の集合CLの要素数が、閾値Threshold2より大きい場合、最終単語候補決定部４３は、ステップＳ６２において、|CL｜≦Threshold2ではないと判定し、音響的単語予備選択部４１の処理の開始を指示する。
【０２０１】
すると、ステップＳ６４において、音響的単語予備選択部４１が、時刻tの音響的な単語候補の集合CAを生成するので、ステップＳ６５において、最終単語候補決定部４３は、その集合CAを、最終的な単語候補の集合Ｃとして、マッチング部１７に提供する。この場合、ステップＳ６１の処理で求められた言語的な単語候補は破棄（棄却）される。これにより、時刻tの単語予備選択処理は終了となり、上述した図８のステップＳ２以降の処理が引き続き実行される。
【０２０２】
以上のように、図１５の時刻tの単語予備選択処理が実行されることで、最終的な単語候補（その集合C）として、|CL｜>Threshold2の場合には音響的な単語候補（その集合CA）が採用されるのに対して、|CL｜≦Threshold2の場合には言語的な単語候補（その集合CL）が採用されることになる。
【０２０３】
具体的には、例えば、いま、Threshold2=10であるとする。
【０２０４】
また、図１７に示されるように、部分的な仮説が４個存在するとする（No.1乃至No.4の仮説が存在するとする）。また、No.1乃至No.4の仮説のそれぞれは、履歴として図４のFSA文法の状態（ノード）を保持しているとする。詳細には、例えば、No.1乃至No.4の仮説のそれぞれは、状態S2，状態S3，状態S1，状態S11のそれぞれを保持しているとする。また、言語的単語候補の項目には、対応する履歴（状態）に続き得る単語、即ち、言語的な単語候補が示されている。個数の項目には、対応する履歴（状態）から出ているアークの本数、即ち、対応する履歴の言語的な単語候補の個数が示されている。
【０２０５】
この場合、No.1乃至No.4の履歴のそれぞれの言語的な単語候補をマージ（和集合）したもの、即ち、ステップＳ６１の処理で生成される、時刻tの言語的な単語候補の集合CLは、図１７の合計の項目（右方）に示されるように、５個の要素からなる{は，の，名前，私，これ}といった集合となる。従って、|CL｜（＝５）＜Threshold2（＝１０）となるため、音響的単語予備選択部４１の処理はスキップされ、最終的な単語候補（その集合C）として、言語的な単語候補（その集合CL＝{は，の，名前，私，これ}）が採用されることになる。
【０２０６】
これに対して、例えば、いま、図１８に示されるように、部分的な仮説が５個存在するとする（No.1乃至No.5の仮説が存在するとする）。また、No.1乃至No.5の仮説のそれぞれは、履歴として図４のFSA文法の状態（ノード）を保持しているとする。詳細には、例えば、No.1乃至No.5の仮説のそれぞれは、状態S2，状態S4，状態S4，状態S3，状態S8のそれぞれを保持しているとする。なお、No.2の仮説とNo.3の仮説とは、履歴は状態S4で同一であるが、例えば、図示はしないが単語列が異なるとして、ここでは、別の仮説としてそれぞれ取り扱う。また、上述したように、ここでは、状態S4から出ているアークの数は５００とされ、状態S8から出ているアークの数は６００とされる。
【０２０７】
この場合、No.1乃至No.5の履歴のそれぞれの言語的な単語候補をマージ（和集合）したもの、即ち、ステップＳ６１の処理で生成される、時刻tの言語的な単語候補の集合CLは、図１８の合計の項目（右方）に示されるように、６００個以上の要素からなる集合となる。従って、Threshold2（＝１０）＜６００＜|CL｜となるため、これらの言語的な単語候補（６００個以上）は破棄（棄却）され、代わりに、音響的な単語候補（その集合CA）が、最終的な単語候補（その集合C）として採用されることになる。
【０２０８】
なお、以上のような図１５に示される時刻tの単語予備選択処理は、上述した図５の音声処理装置の処理であるとして説明してきたが、上述した図１３の音声処理装置の処理とすることも勿論可能である。
【０２０９】
以上、本発明が適用される音声処理装置が実行する、時刻tのマッチング処理（単語予備選択処理含む）の他の形態について説明した。
【０２１０】
この形態（図１５）の時刻tのマッチング処理（単語予備選択処理含む）では、言語的な単語候補を求める際に、各履歴から求められた単語候補をマージ（和集合）していた。そして、マージ後の要素数に応じて、言語的な単語候補を採用するか否かを決定していた。
【０２１１】
しかしながら、マージすることで、無駄な組み合わせが生成されることがある。具体的には、例えば、図１７の例では、言語的な単語候補の集合CLとして {は, の, 名前, 私, これ} という集合が生成されるが、履歴（状態）S1に着目すると、「は」と「の」以外の単語候補、即ち、「名前」、「私」、および「これ」は無駄な組み合わせである。同様に、履歴（状態）S3に着目すると、「名前」以外の単語候補、即ち、「は」、「の」、「私」、および「これ」は無駄な組み合わせである。
【０２１２】
そこで、言語的な単語候補と音響的な単語候補とのうちの何れを採用するかの処理を、マージして最終的に判定する処理（図１５の処理）の代わりに、履歴毎に実行する（判定する）ようにすれば、履歴と単語候補との間での無駄な組み合わせが生成されない。即ち、その結果、図１５の処理よりもさらに高速な処理を実行することができる。
【０２１３】
このように、言語的な単語候補と音響的な単語候補とのうちの何れを採用するかの処理を履歴毎に実行する（判定する）ことを特徴とする、時刻tのマッチング処理が、図１９と図２０に示されている。そこで、以下、図１９と図２０を参照して、上述した他の例（図８の例等）とは異なる、時刻tのマッチング処理について説明する。
【０２１４】
即ち、図１９と図２０のフローチャートは、単語候補を生成し、その単語候補と部分仮説とのマッチングを行う過程（ただし、図８とは異なる過程）を示している。詳細には、時刻t までに生成された M個の仮説と、時刻t から始まる N個の単語候補との全組み合わせ（N×M個の新仮説）について詳細なマッチングを行うことで、スコアが上位 M'個の新仮説を残して次の時刻へ進むという処理が示されている。
【０２１５】
なお、図１９と図２０に示される時刻tのマッチング処理は、上述した図１３の音声処理装置の処理とすることもできるが、ここでは、以下、上述した図５の音声処理装置の処理であるとして説明していく。
【０２１６】
はじめに、図１９のステップＳ８１において、単語予備選択部１６は、時刻tの音響的な単語候補の集合CAに初期値としてΦ（空集合）を代入する。
【０２１７】
なお、後述するように、このステップＳ８１以降の処理において、集合CAがΦ（空集合）であるか否かで、時刻t において音響的な単語候補の選択（単語予備選択）が既に実行されているか否かを判定することになる。
【０２１８】
ステップＳ８２において、マッチング部１７は、部分仮説の番号iの初期値として１を代入する（i←１）。
【０２１９】
ステップＳ８３において、マッチング部１７は、i≦Ｍであるか否かを判定する。
【０２２０】
いまの場合、部分仮説の番号iは１（＜Ｍ）であるので、マッチング部１７は、ステップＳ８３において、i≦Ｍであると判定する。すると、ステップＳ８４において、単語予備選択部１６は、時刻tにおける、番号iの仮説（履歴）に対応する言語的な単語候補を求め、それを集合CLに含める（集合CLを生成する）。
【０２２１】
具体的には、例えば、いま、上述した図１７に示されるように、部分的な仮説の個数Ｍ＝４であるとする（No.1乃至No.4の仮説が存在するとする）と、番号１の仮説（No1の仮説）の言語的な単語候補として、「は」と「の」が求められ、集合CL＝｛は，の｝が生成される。
【０２２２】
このようにして、ステップＳ８４の処理で、時刻tの言語的な単語候補の集合CLを生成すると、単語予備選択部１６は、ステップＳ６２において、|CL｜≦Threshold2であるか否かを判定する。
【０２２３】
例えば、いま、上述したように、閾値Threshold2＝１０であるとすると、時刻tにおける、番号１の仮説（No.1の仮説）の言語的な単語候補の集合CLの要素数（＝２）が、閾値Threshold2より小さいので、単語予備選択部１６は、ステップＳ８５において、|CL｜≦Threshold2であると判定し、ステップＳ８６において、言語的な単語候補の集合CLを、最終的な単語候補の集合Ｃとして、マッチング部１７に提供する。この場合、音響的単語予備選択部４１（図７）の処理はスキップされる。
【０２２４】
このような単語候補の集合Ｃが提供されると、マッチング部１７は、図２０のステップＳ９１において、単語候補の番号jの初期値として１を代入する（ｊ←１）。
【０２２５】
ステップＳ９２において、マッチング部１７は、ｊ≦｜Ｃ｜であるか否かを判定する。なお、｜Ｃ｜は集合Ｃの要素数を示す。
【０２２６】
いまの場合、集合Ｃ＝｛は，の｝のため｜Ｃ｜は２であり、また、単語候補の番号ｊは１であるので、マッチング部１７は、ステップＳ９２において、ｊ≦｜Ｃ｜であると判定し、ステップＳ９３において、番号ｉの部分仮説（いまの場合、No.1の仮説）と番号ｊの単語候補（いまの場合、番号１の単語候補であって、例えば、「は」）とを連結することで新仮説を生成し、その新仮説に対する音響スコアと言語スコアとを演算する。
【０２２７】
そして、マッチング部１７は、ステップＳ９４において、ステップＳ９３の処理で生成した新仮説を保持し、ステップＳ９５において、単語候補の番号jを更新し（ｊ←j+1＝1+1）、処理をステップＳ９２に戻し、それ以降の処理を繰り返す。
【０２２８】
即ち、今度は、番号１の部分仮説（No.1の仮説）と、番号２の単語候補（例えば、「の」）とが連結され、それが新仮説として保持される。また、このとき、その新仮説に対する音響スコアと言語スコアとが演算される。
【０２２９】
その後、ステップＳ９５において、単語候補の番号jが３に更新され（j←j+1=2+1）、その結果、マッチング部１７は、ステップＳ９２において、j≦｜Ｃ｜ではないと判定し、ステップＳ９６において、部分仮説の番号iを更新し（ｉ←i+1＝1+1=2）、処理を図１９のステップＳ８３に戻す。
【０２３０】
即ち、今度は、部分仮説の番号iが２（＜Ｍ）に更新されたので、ステップＳ８３において、ｉ≦Ｍであると判定され、処理はステップＳ８４に進められる。
【０２３１】
即ち、今度は、ステップＳ８４において、時刻tにおける、番号２の部分仮説（図１７のNo.2の仮説）に対応する言語的な単語候補として、図１７に示されるように「名前」が求められ、集合CL={名前}が生成される。
【０２３２】
従って、ステップＳ８５において、|CL｜≦Threshold2であると判定され、ステップＳ８６において、最終的な単語候補の集合Ｃ＝｛名前｝が、マッチング部１７に提供される。この場合、音響的単語予備選択部４１（図７）の処理はスキップされる。
【０２３３】
そして、上述した図２０のステップＳ９１の処理の後、ステップＳ９２乃至Ｓ９５のループ処理が1回だけ（｜Ｃ｜＝１のため）実行され、No.2の仮説と番号１の単語候補（いまの場合、「名前」）とが連結されて、それが新仮説となり、その新仮説に対する音響スコアと言語スコアとが演算される。
【０２３４】
それ以降、No.3の仮説とNo.4の仮説とのそれぞれに対しても、上述した一連の処理が繰り返し実行される。即ち、図１７に示されるように、No.3の仮説とNo.4の仮説のいずれの言語的な単語候補の個数（即ち、集合CLの要素数（＝１or２））も閾値Threshold2（＝１０）より小さいので、図１９のステップＳ８５において、|CL｜≦Threshold2であると判定され、ステップＳ８６において、言語的な単語候補の集合CLが、最終的な単語候補の集合Ｃとして採用され、マッチング部１７に提供される。この場合、音響的単語予備選択部４１（図７）の処理はスキップされる。その後、No.3の仮説とNo.4の仮説のそれぞれに対して、図２０における、ステップＳ９１、および、ステップＳ９２乃至Ｓ９５のループ処理が実行されて、詳細なマッチングが行われる（新仮説が生成され保持されるとともに、その音響スコアと言語スコアとが演算される）。
【０２３５】
このようにして、最終的に、番号４（＝Ｍ）の部分仮説（No.4の仮説）と、番号１の単語候補（図１７によると、「は」）とが連結された最後の新仮説が保持されると（ステップＳ９４の処理が終了すると）、ステップＳ９５において、単語候補の番号jが2に更新され（j←j+1＝１＋１）、その結果、ステップＳ９２において、j≦｜Ｃ｜ではないと判定され、ステップＳ９６において、部分仮説の番号iが更新され（ｉ←i+1＝４（＝Ｍ）＋１）、処理は図１９のステップＳ８３に戻される。
【０２３６】
即ち、今度は、部分仮説の番号iがＭ＋１に更新されたので、マッチング部１７は、ステップＳ８３において、ｉ≦Ｍではないと判定し、ステップＳ９０において、保持された新仮説の中から、スコア（音響スコアと言語スコアとの合算値）が上位M'個の新仮説を抽出し、それらを次の時刻の部分仮説として保持する。
【０２３７】
これにより、時刻tのマッチング処理は終了となる。
【０２３８】
以上のように、上述した図１７に示されるNo.1乃至No.4のそれぞれの仮説に対して図１９と図２０の時刻tのマッチング処理が施された結果が、図２１に示されている。図２１に示されるように（上述したように）、No.1乃至No.4のいずれの仮説も、言語的な単語候補の個数、即ち、集合CLの要素数（＝１or２）が閾値Threshold2（＝１０）より小さいので、その言語的な単語候補（その集合CL）が、最終的な単語候補（その集合Ｃ）として採用される。
【０２３９】
また、上述した図１８に示されるNo.1乃至No.5のそれぞれの仮説に対して図１９と図２０の時刻tのマッチング処理が施された結果が、図２２に示されている。
【０２４０】
図２２に示されるように、No.1とNo.4の仮説は、言語的な単語候補の個数、即ち、集合CLの要素数（＝１or２）が閾値Threshold2（＝１０）より小さいので、その言語的な単語候補（その集合CL）が、最終的な単語候補（その集合Ｃ）として採用される。
【０２４１】
なお、図１８におけるNo.1とNo.4の仮説のそれぞれに対する、図１９と図２０の時刻tのマッチング処理の流れは、上述した図１７に示される各仮説のそれぞれに対する処理の流れと基本的に同様であるため、ここでは、それらの説明については省略する。
【０２４２】
これに対して、図１８における、No.2，No.3，No.5の仮説は、言語的な単語候補の個数、即ち、集合CLの要素数（＝500or600）が閾値Threshold2（＝１０）より大きいので、その言語的な単語候補（その集合CL）は破棄（棄却）されて、音響的な言語単語候補（その集合CA）が最終的な単語候補（その集合Ｃ）として採用される。
【０２４３】
詳細には、No.2，No.3，No.5の仮説のそれぞれに対しては、図１９のステップＳ８５の処理において、|CL|≦Threshold2ではないと判定され、ステップＳ８７乃至Ｓ８９の処理が実行される。
【０２４４】
即ち、ステップＳ８７において、単語予備選択部１６は、CA＝Φ（空集合）であるか否かを判定する。
【０２４５】
集合CAが空集合の場合（ステップＳ８７において、CA＝Φであると判定した場合）、単語予備選択部１６は、ステップＳ８８において、時刻tの音響的な単語候補を求め、それを集合CAに含め、ステップＳ８９において、その集合CAを最終的な集合Ｃとしてマッチング部１７に供給する。
【０２４６】
これに対して、集合CAが空集合でない場合（ステップＳ８７において、CA＝Φではないと判定した場合）、時刻tの音響的な単語候補が既に求められている（単語予備選択が既に実行されている）ので、ステップＳ８８の処理は実行されずに、ステップＳ８９において、その集合CAが最終的な集合Ｃとしてマッチング部１７に供給される。なお、このようにステップＳ８８の処理がスキップされる（実行されない）のは、音響的な単語予備選択処理は時刻t毎に最大で1回実行されればよいからである。
【０２４７】
ところで、図１５の時刻tの単語予備選択処理が実行された場合における、図８のステップＳ３乃至Ｓ９のループ処理の繰り返し回数（以下、第１のループ回数と称する）と、図１９のと図２０のステップＳ８３乃至Ｓ９６のループ処理の繰り返し回数（以下、第２のループ回数と称する）とを比較すると、次のような結果となる。
【０２４８】
即ち、図１７のNo.1乃至No.4の仮説に対する処理においては、第１のループ回数は２０回となるのに対して、第２のループ回数は６回となる。また、図１８のNo.1乃至No.5の仮説に対する処理においては、第１のループ回数は「5 * |CA|回」となるのに対して、第２のループ回数は「3 * |CA| + 3回」となる。
【０２４９】
このように、いずれの場合も第２のループ回数の方が少ないことから、図１５と図８の処理を実行するよりも、図１９と図２０の処理を実行した方が、高速な処理を実現することがわかる。
【０２５０】
以上、本発明の音声処理装置の構成や処理の内容に関する様々な形態について説明した。
【０２５１】
ところで、本発明の音声処理装置が使用する有限後続単語言語モデルは、上述した図４に示されるようなFSA文法に限定されず、様々な言語モデルを適用することができる。そこで、以下、本発明の音声処理装置が使用可能な有限後続単語言語モデルのうちの、３つの具体的な例について個別に順次説明していく。
【０２５２】
例えば、本発明の音声処理装置は、有限後続単語言語モデルとして、図２３に示されるような、カテゴリベースの FSA 文法を使用することができる。
【０２５３】
なお、カテゴリとは、単語をある視点で分類した集合を指し、クラスとも称されている。カテゴリとして、例えば、「人名」「地名」といった意味的な分類による集合や、「名詞」「動詞」といった文法的な分類による集合などが存在する。
【０２５４】
具体的には、例えば、図２３のFSA文法は、上述した図４のFSA文法を元として、人名を表わす単語（「AAA」，「BBB」，「KKK」等）を[人名]というカテゴリに、物体名を表わす単語（「ボール」，「箱」，「りんご」等）を[物体名] というカテゴリに置き換えたものである。なお、図２３に示されるように、FSA文法においては、カテゴリと単語との混在も可能である。
【０２５５】
どの単語がどのカテゴリに属しているかという情報は、例えば、図２４や図２５に示されるようなテーブルで表現される。なお、このようなテーブルは、カテゴリテーブルと称されており、本明細書においても、以下、そのように称する。
【０２５６】
FSA文法においてこのようなカテゴリを用いる利点として、文法を簡潔に表現できる点や、文法自体を変更せずにテーブルを変更するだけで、受理可能な文を変化させることができる点などが挙げられる。
【０２５７】
本発明において、単語ベースのFSA文法（図４）の代わりにカテゴリベースのFSA文法（図２３）を用いる場合の変更点は次の２点である。即ち、1点目は、言語的な単語候補の個数を求める処理（図１０のステップＳ４４の処理等）において、アークの本数の他にカテゴリテーブルも参照する点である。２点目は、言語的な単語候補の集合Ｓ（または、最終的な言語的な単語候補の集合CL）を求める処理（図１１のステップＳ４６等）において、カテゴリテーブルを用いてカテゴリを単語に展開する点である。
【０２５８】
これらの２つの変更点のそれぞれについて、以下、個別に順次説明していく。
【０２５９】
最初に、１点目の変更点について説明する。例えば、図２３の状態 S4 について言語的な単語候補を求める場合を考える。状態S4からは、「[人名]」と「名無し」が付された２本のアークがでている。ただし、この場合、ステップＳ４４において値Ｋに代入される、状態S4に続く言語的な単語候補の個数は、アークの本数（＝２）そのものではなく、［人名］というカテゴリに属する単語の全ての数と、「名無し」のアークに相当する１とを加算した数となる。即ち、図２５のカテゴリテーブルによると、[人名] というカテゴリには 499個の単語が属している。従って、状態S4に続く言語的な単語候補の個数は、500（=499 + 1）個となり、この５００が値Ｋに代入されることになる。
【０２６０】
次に、２点目の変更点について説明する。図２３の状態S4に続く言語的な単語候補の集合Ｓは、FSA文法上においては、{[人名], 名無し} という２つの要素の集合となるが、実際には、［人名］に属する全ての単語が、図２３の状態S4に続く言語的な単語候補となる。従って、ステップＳ４６の処理において、図２５のテーブルが参照されて、［人名］というカテゴリが単語の集合｛AAA,BBB, KKK, ...｝に展開され、その結果、集合Ｓとして、｛AAA,BBB, KKK, ...，名無し} が生成される。
【０２６１】
以上、本発明の音声処理装置が使用する有限後続単語言語モデルの一例として、カテゴリベースの FSA 文法について説明した。
【０２６２】
本発明の音声処理装置はまた、有限後続単語言語モデルとして、文脈自由文法（以下、CFGと称する）を使用することができる。
【０２６３】
図２６に示されるように、CFG は、生成規則と称される規則の集合からなる。この生成規則において、大文字の“S”“S'”を非終端記号と、それ以外の“+”“(”“)”“a”を終端記号とそれぞれ称し、両者をあわせて文法記号と称する。
【０２６４】
ある終端記号列がこの文法で生成可能か否かは、その終端記号列に生成規則を逆向きに適用（右辺から左辺への書き替え）することで“S'”へと変換できるか否かで判定する。変換の過程は解析と、変換できた場合の表現は「受理された」と、それぞれ称されている。
【０２６５】
解析のためには、図２６に示されるCFG から、LR表と称されるテーブルが生成される。具体的には、例えば、図２７に示されるようなLR表が生成される。
【０２６６】
このLR表は、どのタイミングでどの規則を適用すれば良いかを表わしている。図２７のLR表において、“$”は文末を表わす特殊な終端記号である（FSA文法の <終端> に相当する）。また、sh r（rは、状態を示し、図２７の例では、０乃至７のうちのいずれかの値）(shift)は、現在着目している終端記号をスタックにプッシュしてから、状態ｒに遷移するACTION（アクション）を示している。re ｑ（qは、規則番号を示し、図２６の例では、０乃至３のうちのいずれかの値）(reduce)は、スタック上の文法記号に対して番号qの生成規則を逆向きに適用し、規則の左辺の非終端記号へ置換することを示している。acc (accept)は、受理（解析成功）を示している。なお、ACTIONとGOTOについては後述する。
【０２６７】
なお、テーブルの生成方法や、このテーブルを使用した解析方法などについては、例えば、「自然言誤解析の基礎」（田中穂積著・産業図書）等を参照することで、当業者は容易に理解することが可能であるので、ここでは、その詳細な説明は省略する。従って、ここでは、例えば、図２７のLR表を用いて“a+a+a”という終端記号列を解析する過程の概略についてのみ、図２８を参照して説明する。
【０２６８】
図示せぬ解析機（または、CFG を言語モデルとして持つ認識エンジン）はスタックを有するとする。このスタックの１エントリは、図２８に示されるように、文法記号と状態番号とのペア、即ち、（文法記号  状態番号）で表わされる。なお、図中、スタックの項目の左側がスタックの底を示している。
【０２６９】
また、図２８において、過程の項目には、各過程の順番（番号）が、入力文の項目には、その過程における入力文が、アクションの項目には、図２７のLR表のACTION（アクション）のうちの、その過程において実行すべき行動（アクション）が、それぞれ示されている。
【０２７０】
解析機は、スタックの先頭（右端）の状態と入力文の最左の終端記号とから LR表を調べ、次のアクションを決定する。
【０２７１】
具体的には、例えば、過程１においては、スタックの先頭の状態は０であり（初期状態であり）、入力文の最左記号は”a”である。従って、解析機は、図２７のLR表のうちの、状態が０で終端記号が”a”であるACTION（アクション）、即ち、sh3を求める。そこで、解析機は、状態を 3へ遷移させると共に、状態と最左記号とのペアである (a 3)をスタックにプッシュする。これにより、過程２に移行する。即ち、過程２においては、スタックの状態は3 に、入力文の最左記号は“+”に変化する（入力記号列が左にシフトされている）。
【０２７２】
過程２においては、このように、スタックの先頭の状態は３であり、入力部の最左記号は”＋”となるので、解析機は、図２７のLR表のうちの、状態が３で終端記号が”＋”であるACTION（アクション）、即ち、re3を求める。そこで、解析機は、図２６番号３の生成規則（S→a）の右辺である“a”をスタックから入力文へポップして、スタックを(0)、入力文を“a+a+a$”という状態にする。それから、入力文に対して図２６番号３の生成規則（S→a）を逆向きに適用（reduce:還元）する。即ち、最左記号“a”を非終端記号“S”に置換することで、“S+a+a$”という入力文を得る。この時点においては、最左記号が非終端記号”S”であり、状態が０である。このように、非終端記号”S”に置換されている場合、解析機は、図２７のLR表のGOTOを参照して、現状の状態０から、そのGOTOに記述されている状態、即ち、１に遷移させる。そして、解析機は、状態と最左記号（非終端記号に置換済）とのペアである(S 1)をスタックにプッシュする。これにより、過程３に移行する。即ち、過程３においては、スタックの状態は1に変化するが、入力文の最左記号は“+”のまま変化しない。
【０２７３】
解析機は、それ以降の各過程３乃至１２のそれぞれにおいても、上述した処理と同様の処理を逐次実行していく。すると、最終的には、過程１２においてアクションがacc となり、”a+a+a”は、このCFGで受理される（解析が成功した）。
【０２７４】
以上、”a+a+a”という終端記号列を解析する過程の概略について説明したが、その他の終端記号列、例えば、 “(a)”や“++a”といった終端記号列の解析も全く同様に行うことができる。なお、これらの解析の過程は図示はしないが、解析の結果、“(a)”はこのCFGで受理されるが、“++a”はこのCFGで受理されないことになる。
【０２７５】
このようなCFG も、本発明の音声処理装置が使用する有限後続単語言語モデルとして適用することができる。
【０２７６】
即ち、本発明の音声処理装置は、認識仮説のそれぞれについて CFG で受理可能か否かを上述したように解析し（調べ）、非受理の仮説を破棄することで、CFGに合った仮説のみを残すことができる。サーチの枠組みに組み込むためには、スタックの中身を履歴（各仮説が保持している）として扱い、入力文の最左の終端記号を、言語的な単語候補として扱えばよい。
【０２７７】
さらに、本発明の音声処理装置は、図２７に示されるようなLR表を用いると、言語的な単語候補を求めることもできる。即ち、本発明の音声処理装置は、LR表のある状態において、アクション（ACTION）が定義されている終端記号を求め、それを言語的な単語候補として採用することができる。具体的には、例えば、今の状態が３である場合、本発明の音声処理装置は、図２７のLR表の状態３の行を参照し、ACTIONが定義されている終端記号は“+”，“)”，“$”の ３個であると認識する。そして、本発明の音声処理装置は、認識した３個の終端記号、即ち、“+”，“)”，“$”を言語的な単語候補として採用し、それらを含む集合、即ち、{+, ), $}を生成する。なお、図２７のLR表の全状態に対応する言語的な単語候補の集合は図２９に示されるようになる。
【０２７８】
本発明の音声処理装置は、このようにして言語的な単語候補（その集合）を求めたら、それ以降は FSA文法の場合における処理と同様に、その言語的な単語候補を採用するか否かの判断を、その言語的な単語候補の個数（その集合の要素数）に応じて決定すればよい。
【０２７９】
以上、本発明の音声処理装置が使用する有限後続単語言語モデルの一例として、CFGについて説明した。
【０２８０】
本発明の音声処理装置はまた、有限後続単語言語モデルとして、接続マトリクスを使用することができる。
【０２８１】
接続マトリクスとは、隣接する２つの単語が接続可能か否かを示すマトリクス（行列）のことである。具体的には、例えば、図３０に示されるようなマトリクスである。図３０において、左端の縦の列は左側の単語を表わし、上端の行は右側の単語を表わす。「○」は、接続可能であることを表わし、空欄は接続不可能であることを表わす。
【０２８２】
例えば、「サンプル」の行（上から 7番目）と「です」の列（左から 3番目）とが交わる領域には「○」が付されている。従って、この接続マトリクスでは、「サンプル＋です」という接続が可能とされている。
【０２８３】
同様に、この接続マトリクスでは、「<先頭>＋これ」、「これ＋は」、「は＋サンプル」、および、「です＋<終端>」のそれぞれの接続が可能とされている（対応する領域に「○」が付されている）。従って、この接続マトリクスでは、例えば、「〈先頭〉/これ/は/サンプル/です/〈終端〉」という単語列は受理される。
【０２８４】
これに対して、「サンプル」の行（上から 7番目）と「これ」の列（左から６番目）とが交わる領域は空欄とされており、この接続マトリクスでは、「これ＋サンプル」という接続は不可能とされている。従って、この接続マトリクスでは、例えば、「〈先頭〉/サンプル/これ/です/〈終端〉」という単語列は受理されない。
【０２８５】
このような接続マトリクスも、本発明の音声処理装置が使用する有限後続単語言語モデルとして適用することができる。また、本発明の音声処理装置は、接続マトリクスにおいて「○」が付されている単語を求めることで、言語的な単語候補を求めることもできる。
【０２８６】
具体的には、例えば、本発明の音声処理装置は、「は」の右側に接続可能な単語（言語的な単語候補）を求める場合、図３０の接続マトリクスのうちの「は」の行を参照して、「○」がついている単語は「これ」と「サンプル」だけであると認識する。即ち、本発明の音声処理装置は、左側単語「は」に対応した言語的な単語候補は 「これ」と「サンプル」であると認識する。そして、本発明の音声処理装置は、認識した「これ」と「サンプル」を言語的な単語候補として採用し、それらを含む集合、即ち、{これ，サンプル}を生成する。なお、図３０の接続マトリクスの他の左側単語に対応する言語的な単語候補の集合は図３１に示されるようになる。
【０２８７】
本発明の音声処理装置は、このようにして言語的な単語候補（その集合）を求めたら、それ以降は FSA文法の場合における処理と同様に、その言語的な単語候補を採用するか否かの判断を、その言語的な単語候補の個数（その集合の要素数）に応じて決定すればよい。
【０２８８】
以上、本発明の音声処理装置が使用する有限後続単語言語モデルの一例として、接続マトリクスについて説明した。
【０２８９】
このように、本発明の音声処理装置は、様々な有限後続単語言語モデルを使用することができる。換言すると、本発明の音声処理装置が音響モデルとともに使用する言語モデルは、単に、有限後続単語言語モデルであればよい。勿論、上述したように、統計的言語モデルも、単独または有限後続単語言語モデルと併用して使用することができる。
【０２９０】
ところで、上述したような本発明の音声処理装置の効果を実際に確認するために、本願出願人は、次のようなFSA文法を用いて、認識精度と認識時間との関係を求めた。即ち、効果の確認のために用いたFSA文法とは、語彙数が1016であり、状態数が118であり、アーク数が3294であり、最大アーク数が941であり、平均アーク数が27.9であるFSA文法である。なお、最大アーク数とは、１つの状態（ノード）から出ているアークの最大値を指す。また、平均アーク数とは、１つの状態（ノード）から出ているアークの平均値を指す。
【０２９１】
本願出願人は、はじめに、言語的な単語候補を利用しなかった場合（即ち、特許文献１等に開示されている従来法であって、音響的な単語候補のみを使用して詳細なマッチング処理を行った場合）において、ビーム幅と、認識率および認識時間のそれぞれとが如何なる関係にあるのかを求めた。その結果（以下、従来の結果と称する）が、図３２に示されるとともに、図３３と図３４の実線部分（曲線１０１−０と曲線１０２−０）として示されている。
【０２９２】
なお、図３３は、ビーム幅を横軸とし認識率を縦軸としたグラフを示している。図３４は、ビーム幅を横軸とし認識時間を縦軸としたグラフを示している。
【０２９３】
図３２乃至図３４において、ビーム幅とは、サーチ中において、次の不等式（３）を満たす仮説のみを残すための尺度である。なお、不等式（３）において、「ベストスコア」とは、最適な（ベストの）仮説が有するスコアを指す。
【０２９４】
ベストスコア ≧ 仮説のスコア ≧ ベストスコア - ビーム幅    ・・・（３）
【０２９５】
認識率とは、単語精度（word accuracy）であり、認識結果に含まれている単語のうちで正解であるものの割合である。認識時間とは、認識に要した時間が実時間（発話に要した時間）の何倍であるかで表わしている。
【０２９６】
図３２乃至図３４に示されるように、ビーム幅を絞っていくと、認識時間はほぼ線形に短くなるが、それと共に認識率が急激に落ちていくことがわかる。
【０２９７】
次に、本願出願人は、ビーム幅を 70.0 に固定した上で、本発明を適用した場合（即ち、上述した本発明の音声処理装置に、上述した一連の処理を実行させ、それにより求められる音響的な単語候補と言語的な単語候補とを用いてマッチング処理を実行させた場合）において、ビーム幅と、認識率および認識時間のそれぞれとが如何なる関係にあるのかを求めた。その結果（以下、本発明の結果と称する）が、図３５に示されるとともに、図３３と図３４のビーム幅７０上の点（点１０１−５，１０１−１０，１０１−２０，１０１−５０，１０１−１００、および、点１０２−５，１０２−１０，１０２−２０，１０２−５０，１０２−１００）として示されている。
【０２９８】
なお、図３５において、閾値とは、図１０のステップＳ４５の処理で利用される閾値Threshold1を指す。即ち、仮説ごとに言語的な単語候補を求める場合、その個数が閾値以下の場合は採用し、上回る場合は棄却する。
【０２９９】
また、図３４において、閾値が５である場合の結果が点１０１−５として，閾値が１０である場合の結果が点１０１−１０として、閾値が２０である場合の結果が点１０１−２０として、閾値が５０である場合の結果が点１０１−５０として、閾値が１００である場合の結果が点１０１−１００として、それぞれ示されている。
【０３００】
同様に、図３５において、閾値が５である場合の結果が点１０２−５として，閾値が１０である場合の結果が点１０２−１０として、閾値が２０である場合の結果が点１０２−２０として、閾値が５０である場合の結果が点１０２−５０として、閾値が１００である場合の結果が点１０２−１００として、それぞれ示されている。
【０３０１】
図３４乃至図３６のそれぞれに示されるように、閾値が0 から20に上がると、認識率も向上することがわかる。このとき、認識時間も増加するが、その増加の割合は認識率向上の割合に比べると少ないことがわかる。また、閾値が20より大きくなっても、認識率は向上しないが、認識時間は増加することがわかる。
【０３０２】
以下、従来の結果（図３３）と本発明の結果（図３６）とを比較する。図３６に示されるように、本発明の結果では（言語的な単語候補を用いた場合には）、閾値が20 の時に、認識率が97.13%で認識時間が0.60（×実時間）となっている。これに対して、従来の結果では（言語的な単語候補を用いない場合には）、図３３乃至図３５から、同一の認識時間（0.60（×実時間））のときの認識率を推定すると（線形補間による推定を行うと）、ビーム幅が72.5で認識率が96.125%となる。従って、同一の認識時間の下では本発明の方が高い認識率を得ていることがわかる。
【０３０３】
一方、従来法で同一の認識率（97.13%）のときの認識速度を推定すると、ビーム幅が83.56 で認識時間が0.68（×実時間）となる。従って、同一の認識率の下では本発明の方が高速な処理を実現できることがわかる。
【０３０４】
以上の結果をまとめると、本発明の音声処理装置は、その個数が閾値以下の場合にのみ言語的な単語候補を採用するという手法を適用しているので、従来の音声処理装置（特許文献１等に開示された音声処理装置）と同等の認識時間で、従来以上の認識率（または、従来と同等の認識率）で、従来以上の認識速度を実現することが可能になる。
【０３０５】
また、このとき、本発明の音声処理装置が使用する言語的な単語候補は、従来のように（特許文献２のように）統計的言語モデルから求められるものではなく（勿論、統計的言語モデルから求めることも可能である）、有限後続単語言語モデルから求められるものである。即ち、従来においては、音響的な単語候補と併用されていた言語的な単語候補は、統計的言語モデルから求められる単語候補に限定されていた。これに対して、本発明においては、音響的な単語候補と併用される言語的な単語候補として、統計的言語モデルから求められる単語候補のみならず、FSA文法等の有限後続単語言語モデルから求められる単語候補も使用することができる。その結果、上述したような効果を奏することができる。特に、この効果は、分岐の多いFSA文法を用いる場合に顕著なものとなる。
【０３０６】
さらに、本発明においては、言語的な単語候補を求める処理を言語モデルのモジュール内に隠蔽することができるので（図１４等参照）、他のモジュール（サーチ等）はどの言語モデルを使用している音声認識でも使用することが可能になる。その結果、FSA言語モデルに特化したサーチ方法に比べて、ソースコードのメンテナンス等で優れている、という効果を奏することも可能になる。
【０３０７】
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図５や図１３の音声処理装置（全部または一部分）は、例えば、図３６に示されるようなパーソナルコンピュータで構成することもできる。
【０３０８】
図３６において、CPU（Central  Processing  Unit）２０１は、ROM（Read  Only  Memory）２０２に記憶されているプログラム、または記憶部２０８からRAM（Random  Access  Memory）２０３にロードされたプログラムに従って各種の処理を実行する。RAM２０３にはまた、CPU２０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３０９】
CPU２０１、ROM２０２、およびRAM２０３は、バス２０４を介して相互に接続されている。このバス２０４にはまた、入出力インタフェース２０５も接続されている。
【０３１０】
入出力インタフェース２０５には、キーボード、マウスなどよりなる入力部２０６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部２０７、ハードディスクなどより構成される記憶部２０８、モデムなどより構成される通信部２０９が接続されている。通信部２０９は、インターネットを含むネットワーク２（図８）を介しての通信処理を行う。
【０３１１】
入出力インタフェース２０５にはまた、必要に応じてドライブ２１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメ記録媒体２１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部２０８にインストールされる。
【０３１２】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３１３】
この記録媒体は、図３６に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリなどよりなるリムーバブル記録媒体２１１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM２０２や、記憶部２０８に含まれるハードディスクなどで構成される。
【０３１４】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３１５】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表わすものである。
【図面の簡単な説明】
【０３１６】
【図１】音声認識処理のサーチの過程を示す図である。
【図２】従来の単語予備選択におけるビーム幅と認識精度の関係を示す図である。
【図３】従来の単語予備選択におけるビーム幅と認識時間との関係を示す図である。
【図４】有限状態オートマトン（FSA）の例を示す図である。
【図５】本発明が適用される音声処理装置の構成例を示すブロック図である。
【図６】図５の音声処理装置の単語接続関係記憶部に記憶される、サーチにより生成された仮説（グラフ表記）を示す図である。
【図７】図５の音声処理装置の単語予備選択部の詳細な構成例を示すブロック図である。
【図８】本発明が適用される音声処理装置が実行する、時刻tのマッチング処理の例を説明するフローチャートである。
【図９】図８の時刻tのマッチング処理のうちの、時刻tの単語予備選択処理の詳細な例を説明するフローチャートである。
【図１０】図９の、時刻tの単語予備選択処理のうちの、時刻tの言語的な単語候補の集合CL生成処理の例を説明するフローチャートである。
【図１１】図４のFSA文法における仮説と履歴の例を示す図である。
【図１２】図１１に対応する履歴と言語的単語候補の例を示す図である。
【図１３】本発明が適用される音声処理装置の他の構成例を示すブロック図である。
【図１４】図１３の音声処理装置のうちの、FSA言語モデル処理部とN-gram言語モデル処理部との詳細な構成例を示すブロック図である。
【図１５】図８の時刻tのマッチング処理のうちの、時刻tの単語予備選択処理の詳細の他の例を説明するフローチャートである。
【図１６】図１５の時刻tのマッチング処理のうちの、時刻tの単語予備選択処理の詳細な例を説明するフローチャートである。
【図１７】図４のFSA文法における履歴と言語的単語候補の例を示す図である。
【図１８】図４のFSA文法における履歴と言語的単語候補の他の例を示す図である。
【図１９】本発明が適用される音声処理装置が実行する、時刻tのマッチング処理の他の例を説明するフローチャートである。
【図２０】本発明が適用される音声処理装置が実行する、時刻tのマッチング処理の他の例を説明するフローチャートである。
【図２１】図１７の履歴（仮説）に対して、図２０の時刻tのマッチング処理が施された結果を示す図である。
【図２２】図１８の履歴（仮説）に対して、図２０の時刻tのマッチング処理が施された結果を示す図である。
【図２３】カテゴリ有限状態オートマトン（FSA）の例を示す図である。
【図２４】図２３のカテゴリ有限状態オートマトンに対応するカテゴリテーブルの例を示す図である。
【図２５】図２３のカテゴリ有限状態オートマトンに対応するカテゴリテーブルの例を示す図である。
【図２６】文脈自由文法（CFG）の例を示す図である。
【図２７】図２６のCFGに対応するLR表の例を示す図である。
【図２８】図２６のCFGにおける、図２７のLR表を利用した“a+a+a”の解析過程を示す図である。
【図２９】図２７の各状態毎の言語的な単語候補を示す図である。
【図３０】接続マトリクスの例を示す図である。
【図３１】図３０に対応した言語的な単語候補を示す図である。
【図３２】従来法におけるビーム幅と、認識率および認識時間のそれぞれとの関係を示す図である。
【図３３】従来法および本発明が適用される手法のビーム幅と認識率の関係を示す図である。
【図３４】従来法および本発明が適用される手法のビーム幅と認識時間との関係を示す図である。
【図３５】本発明が適用される手法におけるビーム幅と、認識率および認識時間のそれぞれとの関係を示す図である。
【図３６】本発明が適用される音声処理装置のハードウエア構成例を示すブロック図である。
【符号の説明】
【０３１７】
１  音声波形，  ２  仮説，  ３  履歴，  ４  単語候補，  １１  音声入力部，  １２  AD変換部，  １３  特徴量抽出部，  １４  制御部，  １５  特徴量記憶部，  １６  単語予備選択部，  １７  マッチング部，  １８  再評価部，  １９  単語接続関係記憶部，  ２０  音響モデル記憶部，  ２１  辞書記憶部，  ２２  言語モデル記憶部，  ４１  音響的単語予備選択部，  ４２  言語的単語予備選択部，  ５１  音声入力部，  ５２  AD変換部，  ５３  特徴量抽出部，  ５４  制御部，  ５５  特徴量記憶部，  ５６  単語予備選択部，  ５７  マッチング部，  ５８  再評価部，  ５９  単語接続関係記憶部，  ６０  音響モデル記憶部，  ６１  辞書記憶部，  ６２  FSA言語モデル処理部，  ６３  N-gram言語モデル処理部，  ６４  スイッチ，  ８１  言語的単語予備選択部（FSA用），  ８４  FSA言語モデル記憶部，  ９１  言語的単語予備選択部（N-gram用），  ９４  N-gram言語モデル記憶部 
【図１】
2005241811.tif 000003
【図２】
2005241811.tif 000004
【図３】
2005241811.tif 000005
【図４】
2005241811.tif 000006
【図５】
2005241811.tif 000007
【図６】
2005241811.tif 000008
【図７】
2005241811.tif 000009
【図８】
2005241811.tif 000010
【図９】
2005241811.tif 000011
【図１０】
2005241811.tif 000012
【図１１】
2005241811.tif 000013
【図１２】
2005241811.tif 000014
【図１３】
2005241811.tif 000015
【図１４】
2005241811.tif 000016
【図１５】
2005241811.tif 000017
【図１６】
2005241811.tif 000018
【図１７】
2005241811.tif 000019
【図１８】
2005241811.tif 000020
【図１９】
2005241811.tif 000021
【図２０】
2005241811.tif 000022
【図２１】
2005241811.tif 000023
【図２２】
2005241811.tif 000024
【図２３】
2005241811.tif 000025
【図２４】
2005241811.tif 000026
【図２５】
2005241811.tif 000027
【図２６】
2005241811.tif 000028
【図２７】
2005241811.tif 000029
【図２８】
2005241811.tif 000030
【図２９】
2005241811.tif 000031
【図３０】
2005241811.tif 000032
【図３１】
2005241811.tif 000033
【図３２】
2005241811.tif 000034
【図３３】
2005241811.tif 000035
【図３４】
2005241811.tif 000036
【図３５】
2005241811.tif 000037
【図３６】
2005241811.tif 000038