(57)【特許請求の範囲】
【請求項１】
時系列のフレーム毎に信号をパターン認識することにより生成されるラティスにおける一部分を確定するラティス確定装置であって、
前記ラティスにおける、ノードおよび通過するアークの数が予め設定された基準値以下となるフレームを分割位置として検出する検出部と、
前記分割位置のノードまたは前記分割位置を通過するアークのうち、少なくとも１つを残存要素として選択する選択部と、
前記残存要素がノードである場合、前記ラティスにおける始端ノードから前記残存要素までの複数の経路上のノードおよびアークを確定し、前記残存要素がアークである場合、前記ラティスにおける始端ノードから前記残存要素の直前のノードまたは直後のノードまでの複数の経路上のノードおよびアークを確定する確定部と、
を備えるラティス確定装置。
【請求項２】
前記選択部は、前記分割位置のノードまたは前記分割位置を通過するアークのうち、何れか１つを前記残存要素として選択する
請求項１に記載のラティス確定装置。
【請求項３】
前記選択部は、前記ラティスにおける始端ノードから末尾ノードまでの複数の経路のうち、信号との一致度を表すスコアが最良の経路から順に少なくとも１つの経路を検出し、検出した少なくとも１つの経路上における前記分割位置のノードまたは通過するアークを前記残存要素として選択する
請求項１または２に記載のラティス確定装置。
【請求項４】
前記選択部は、前記ラティスにおける始端ノードから前記分割位置までの複数の経路のうち、信号との一致度を表すスコアが最良の経路から順に少なくとも１つの経路を検出し、検出した少なくとも１つの経路上における前記分割位置のノードまたは通過するアークを前記残存要素として選択する
請求項１または２に記載のラティス確定装置。
【請求項５】
前記選択部は、前記ラティスにおける始端ノードから、前記分割位置と末尾ノードのフレームとの間の何れかの指定フレームまでの複数の経路のうち、信号との一致度を表すスコアが最良の経路から順に少なくとも１つの経路を検出し、検出した少なくとも１つの経路上における前記分割位置のノードまたは通過するアークを前記残存要素として選択する
請求項１または２に記載のラティス確定装置。
【請求項６】
前記選択部は、前記分割位置のノードまたは前記分割位置を通過するアークのうち、末尾ノードに到達するまでの経路の分岐数が最も多い順に少なくとも１つのノードまたはアークを検出し、検出した少なくとも１つのノードまたはアークを前記残存要素として選択する
請求項１または２に記載のラティス確定装置。
【請求項７】
前記検出部は、始端ノードから末尾ノードまでに、ノードおよび通過するアークの数が前記基準値以下となるフレームが複数存在する場合、時間的に最も後のフレームを前記分割位置として検出する
請求項１から６の何れか１項に記載のラティス確定装置。
【請求項８】
前記検出部は、始端ノードから予め定められたフレーム数より後のフレームを前記分割位置として検出する
請求項１から７の何れか１項に記載のラティス確定装置。
【請求項９】
前記ラティスから、前記分割位置における前記残存要素以外のノードおよび通過するアーク、および、前記分割位置より時間的に前のフレームにおける前記残存要素に到達できないノードおよびアークを削除する削除部をさらに備える
請求項１から６の何れか１項に記載のラティス確定装置。
【請求項１０】
前記ラティスから、前記分割位置における前記残存要素以外のノードおよび通過するアーク、および、前記分割位置より時間的に後のフレームにおける前記残存要素から到達できないノードおよびアークを削除する削除部をさらに備える
請求項１から６の何れか１項に記載のラティス確定装置。
【請求項１１】
前記ラティスにおける一部分を確定する処理を実行するタイミングを決定するタイミング制御部をさらに備え、
前記タイミング制御部は、パターン認識をしている最中において、前記ラティスにおける一部分を確定する処理を実行させる
請求項１から１０の何れか１項に記載のラティス確定装置。
【請求項１２】
前記タイミング制御部は、パターン認識をしている最中の枝刈り処理の実行時において、前記ラティスにおける一部分を確定する処理を実行させる
請求項１１に記載のラティス確定装置。
【請求項１３】
前記確定部は、
確定したノードおよびアークを、未確定のノードおよびアークとは別個の新たなラティスに分割し、
未確定の前記ラティスに始端ノードを新たに登録する
請求項１から１２の何れか１項に記載のラティス確定装置。
【請求項１４】
前記確定部は、分割した前記新たなラティスを出力し、出力後に前記新たなラティスを削除する
請求項１３に記載のラティス確定装置。
【請求項１５】
前記ラティスは、全てのアークが、連続する２つのフレームのノード間の遷移を表し、
前記検出部は、ノードの数が前記基準値以下となる１つのフレームを前記分割位置として検出する
請求項１から１４の何れか１項に記載のラティス確定装置。
【請求項１６】
前記ラティスは、連続する２つのフレーム間よりも広い２つのフレーム間のノードの遷移を表すアークを含み、
前記検出部は、ノードの数と通過するアークの数との合計が前記基準値以下となる１つのフレームを前記分割位置として検出し、
請求項１から１４の何れか１項に記載のラティス確定装置。
【請求項１７】
時系列のフレーム毎に信号をパターン認識することによりラティスを生成するデコーダと、
前記デコーダにより生成された前記ラティスの一部を確定する、請求項１から１６の何れか１項に記載のラティス確定装置と、
を備えるパターン認識装置。
【請求項１８】
時系列のフレーム毎に信号をパターン認識することにより生成されるラティスにおける一部分を確定するラティス確定方法であって、
前記ラティスにおける、ノードおよび通過するアークの数が予め設定された基準値以下となるフレームを分割位置として検出する検出ステップと、
前記分割位置のノードまたは前記分割位置を通過するアークのうち、少なくとも１つを残存要素として選択する選択ステップと、
前記残存要素がノードである場合、前記ラティスにおける始端ノードから前記残存要素までの複数の経路上のノードおよびアークを確定し、前記残存要素がアークである場合、前記ラティスにおける始端ノードから前記残存要素の直前のノードまたは直後のノードまでの複数の経路上のノードおよびアークを確定する確定ステップと、
を実行するラティス確定方法。
【請求項１９】
コンピュータを、時系列のフレーム毎に信号をパターン認識することにより生成されるラティスにおける一部分を確定するラティス確定装置として機能させるためのプログラムであって、
前記コンピュータを、
前記ラティスにおける、ノードおよび通過するアークの数が予め設定された基準値以下となるフレームを分割位置として検出する検出部と、
前記分割位置のノードまたは前記分割位置を通過するアークのうち、少なくとも１つを残存要素として選択する選択部と、
前記残存要素がノードである場合、前記ラティスにおける始端ノードから前記残存要素までの複数の経路上のノードおよびアークを確定し、前記残存要素がアークである場合、前記ラティスにおける始端ノードから前記残存要素の直前のノードまたは直後のノードまでの複数の経路上のノードおよびアークを確定する確定部と
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ラティス確定装置、パターン認識装置、ラティス確定方法およびプログラムに関する。
【背景技術】
【０００２】
音声等の時系列の信号をパターン認識して、対応するラベル列へと変換するパターン認識装置が知られている。また、ラベル列を確定する前の途中段階の認識結果をラティスとして保持するパターン認識装置も知られている。このようなパターン認識装置では、完成したラティスまたは完成したラティスから得られるラベル列を最終の認識結果として出力する。ラティスから得られるラベル列は、例えば、ラティスの経路のうちの最良の経路上の１つのラベル列であったり、ラティスの経路のうちの最良の経路からＮ番目（Ｎは２以上の整数）に良い経路までのＮ個のラベル列であったりする。
【０００３】
しかし、このようなパターン認識装置は、ラティスが全て完成してから認識結果を出力するので、入力される信号が長いほど、信号の入力から認識結果の出力までの遅延時間が長くなってしまっていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−９２４９６号公報
【非特許文献】
【０００５】
【非特許文献１】P.  Brown，  J.  Spohrer，  P.  Hochschild  and  J.  Baker，“Partial  traceback  and  dynamic  programming”，  ICASSP'82，  1982，pp.1629-1632
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、時系列に入力される信号をパターン認識することにより生成されたラティスを早期に確定することにある。
【課題を解決するための手段】
【０００７】
実施形態に係るラティス確定装置は、時系列のフレーム毎に信号をパターン認識することにより生成されるラティスにおける一部分を確定する。前記ラティス確定装置は、検出部と、選択部と、確定部とを備える。前記検出部は、前記ラティスにおける、ノードおよび通過するアークの数が予め設定された基準値以下となるフレームを分割位置として検出する。前記選択部は、前記分割位置のノードまたは前記分割位置を通過するアークのうち、少なくとも１つを残存要素として選択する。前記確定部は、前記残存要素がノードである場合、前記ラティスにおける始端ノードから前記残存要素までの複数の経路上のノードおよびアークを確定し、前記残存要素がアークである場合、前記ラティスにおける始端ノードから前記残存要素の直前のノードまたは直後のノードまでの複数の経路上のノードおよびアークを確定する。
【図面の簡単な説明】
【０００８】
【図１】パターン認識装置の構成図。
【図２】デコーダにより生成されたラティスを示す図。
【図３】デコーダによる枝刈り処理を示す図。
【図４】ラティス確定装置の構成を示す図。
【図５】ラティス確定装置による処理の流れを示す図。
【図６】ラティスの分割位置の一例を示す図。
【図７】ラティスの残存要素の一例を示す図。
【図８】ラティスから削除されるノードおよびアークの一例を示す図。
【図９】確定したノードおよびアークの一例を示す図。
【図１０】ラティスの分割例を示す図。
【図１１】単語ラティスおよび分割位置の一例を示す図。
【図１２】パターン認識装置の処理を表す疑似コードの一例を示す図。
【図１３】変形例に係るラティス確定装置の構成を示す図。
【図１４】変形例に係る変換部の処理を表す疑似コードの一例を示す図。
【図１５】パターン認識装置のハードウェアブロック図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら実施形態について詳細に説明する。本実施形態に係るパターン認識装置は、時系列に入力される信号をパターン認識することによりラティスを生成し、生成したラティスの一部分を早期に確定して出力することを目的とする。
【００１０】
図１は、パターン認識装置１０の構成を示す図である。パターン認識装置１０は、区間切出装置１２と、モデル記憶部１４と、デコーダ１６と、ラティス記憶部１８と、ラティス確定装置２０と、出力部２２とを備える。
【００１１】
パターン認識装置１０には、信号が時系列に入力される。パターン認識装置１０には、一例として、音声信号、文字を表す筆跡信号またはジェスチャ等を表す動画像信号等が時系列に入力される。パターン認識装置１０は、パターン認識が可能であり、時系列に入力可能な信号であれば、どのような信号を入力してもよい。
【００１２】
区間切出装置１２は、入力した信号におけるパターン認識をすべき区間と、パターン認識をしなくてよい区間とを判別する。そして、区間切出装置１２は、入力した信号のうち、パターン認識をすべき区間の信号をデコーダ１６へと出力する。例えば、音声信号を入力する場合、区間切出装置１２は、無音部分を除いた音声区間を切り出す音声区間検出器（Voice  Activity  Detector）であってよい。パターン認識装置１０は、区間切出装置１２を備えることにより、無駄な信号処理を無くすとともに、信号を入力してから
認識結果を出力するまでの遅延時間を短くすることができる。なお、パターン認識装置１０は、区間切出装置１２を備えない構成であってもよい。
【００１３】
モデル記憶部１４は、信号をパターン認識するために照合されるモデルを記憶する。モデル記憶部１４は、音声信号をパターン認識する場合には、ＨＭＭ（Hidden  Markov  Model）等による音響モデルを記憶する。さらに、モデル記憶部１４は、音響モデルおよび言語モデル、発音辞書を含むモデルを記憶していてもよい。
【００１４】
デコーダ１６は、モデル記憶部１４に記憶されたモデルおよび所定の探索アルゴリズムを用いて、入力された信号をパターン認識し、入力された信号のパターンに近似する複数のラベル列を表すラティスを生成する。デコーダ１６は、信号を時系列に入力している最中に順次にパターン認識をして、ラティスを順次に更新する。
【００１５】
デコーダ１６は、例えば、トークンパッシングと呼ばれる探索アルゴリズムによりラティスを生成する。例えば、音声信号をパターン認識する場合、デコーダ１６は、ＨＭＭによる音響モデルの状態の遷移パターンを表すラティスを生成する。また、例えば、デコーダ１６は、音声信号により表される単語（テキスト列）の遷移パターンを表すラティスを生成してもよい。これに限らず、デコーダ１６は、例えば、音素または音節等の遷移パターンを表すラティスを生成してもよい。
【００１６】
ラティス記憶部１８は、デコーダ１６により生成されたラティスを記憶する。ラティス記憶部１８は、記憶しているラティスがデコーダ１６によるパターン認識の実行に従って順次に更新される。
【００１７】
ラティス確定装置２０は、ラティス記憶部１８に記憶されているラティスの一部分を、ラティスが完成する前に早期に確定する。例えば、ラティス確定装置２０は、デコーダ１６によりパターン認識がされている最中において、ラティスにおける時間的に前の方から順番に一部分の内容を確定する。ラティス確定装置２０は、ラティスにおける確定した一部分を特定する情報をメモリ等に書き込んで、デコーダ１６による確定した部分の更新を禁止してもよい。また、ラティス確定装置２０は、確定した一部分を未確定の部分から分割して、新たなラティスを生成してもよい。また、さらに、ラティス確定装置２０は、分割した新たなラティスを後段の出力部２２へと出力して、出力済みの部分をラティス記憶部１８から削除してもよい。
【００１８】
出力部２２は、ラティス確定装置２０により確定されたラティスを外部に出力する。また、出力部２２は、確定されたラティスにおける、信号との一致度を表すスコアが最も良い経路上のラベル列を出力してもよい。また、出力部２２は、確定されたラティスにおける、スコアが１番目からＮ番目までに良いＮ個の経路上のそれぞれのラベル列を出力してもよい。さらに、また、出力部２２は、確定されたラティスを加工したグラフを出力してもよい。例えば、出力部２２は、最良の経路を表すグラフ、１番目からＮ番目までに良い経路を表すグラフ、無駄な経路を削除したラティス、または、コンフュージョンネットワーク等を出力してもよい。
【００１９】
なお、パターン認識装置１０は、デコーダ１６の前段に特徴量抽出装置を備えてもよい。特徴量抽出装置は、信号の特徴を表す特徴量を抽出する。この場合、デコーダ１６は、特徴量を表す信号を時系列に入力して、信号をパターン認識する。
【００２０】
図２は、デコーダ１６により生成されたラティスの一例を示す図である。デコーダ１６は、時刻を表すフレーム毎に信号をパターン認識することによりラティスを生成する。フレームは、例えば一定間隔毎の時刻を表す。フレームは、例えば昇順の数値であるフレーム番号により特定される。
【００２１】
デコーダ１６により生成されるラティスは、ノードおよびアークを含む非循環有向グラフである。図面上において、ノードは、丸印で表し、アークは、矢印で表す。
【００２２】
ノードは、ある時刻における信号の状態を表す。それぞれのノードには、時刻情報（本実施形態においては、フレーム番号）が対応付けられている。アークは、ノード間の遷移を表す。すなわち、アークは、ある時刻における信号の状態（ノード）が、次に何れの時刻の何れの状態（ノード）に遷移するかを表す。それぞれのアークには、直前のノードと、直後のノードとが対応付けられている。
【００２３】
デコーダ１６により生成されるラティスは、非循環のグラフであるので、直前のノードのフレームは、直後のノードのフレームよりも時間的に前となる。また、デコーダ１６により生成されるラティスは、あるノードに入ってくるアークが複数存在してよく、あるノードから出ていくアークも複数存在してよい。
【００２４】
また、ラティスには、ノードまたはアーク、あるいは、ノードおよびアークの両者にラベルが割り当てられる。ラベルは、ＨＭＭの状態、テキスト、単語、音素または音節等であってよい。また、ラベルは、空（ε）を含んでもよい。
【００２５】
また、ラティスには、ノードまたはアーク、あるいは、ノードおよびアークの両者に、信号との一致度を表すスコアが割り当てられている。ある期間内における始端ノードから末尾ノードまでの経路上のスコアの累積値は、その期間の信号のパターンとその経路上のラベル列との一致度を表す。ある期間において、累積したスコアが例えば最大または最小となる経路は、その期間における最良の経路となる。
【００２６】
デコーダ１６は、一例として、図２に示すような、全てのアークが、連続する２つのフレームのノード間の遷移を表すラティスを生成する。例えば、ＨＭＭの状態の遷移を表すラティスは、図２に示すようなラティスとなる。このようなラティスを状態ラティスとも呼ぶ。
【００２７】
また、デコーダ１６は、連続する２つのフレーム間よりも広い２つのフレーム間のノードの遷移を表すアークを含むラティスを生成してもよい。このようなラティスを単語ラティスとも呼ぶ。単語ラティスについては、図１１を参照して後述する。
【００２８】
図３は、デコーダ１６による枝刈り処理を示す図である。図３のラティスは状態ラティスであるとして説明する。デコーダ１６は、フレーム毎に、信号をパターン認識し、認識して得られたノードおよびアークをラティス記憶部１８に記憶されたラティスに追加する。また、デコーダ１６は、所定の条件に達する毎に（例えば一定期間毎に）、ラティス記憶部１８に記憶されたラティスに対して枝刈り処理を実行することにより、終端まで繋がらない経路を削除する。また、デコーダ１６は、累積したスコアが悪い経路を削除してもよい。
【００２９】
例えば、フレーム番号２のフレームまでパターン認識をした結果、デコーダ１６は、図３のＡに示すようなラティスを生成したとする。また、次のフレーム番号３のフレームにおいて、デコーダ１６は、例えば、図３のＢのようにラティスを更新したとする。図３のＢのラティスには、フレーム番号２のフレームにおいて追加したノードから、フレーム番号３のフレームのノードへと繋がっていない経路が存在する。このような経路は、以後のパターン認識処理において不要となる可能性が高い経路であるとして、デコーダ１６がその経路に続くノードおよびアークを追加しないことで生じる。
【００３０】
そこで、デコーダ１６は、枝刈り処理により、このような終端まで繋がらないノードおよびアークをラティスから削除する。また、累積したスコアが悪い経路上のノードおよびアークをラティスから削除することもできる。これにより、デコーダ１６は、以後の計算量を減らすとともに、ラティス記憶部１８の空き容量を増やすことができる。なお、ラティスが状態ラティスでない場合は、図３の例のように、フレーム番号２のノードがフレーム番号３のいずれのノードに繋がっていない場合でも、さらに先のフレーム番号のノードに繋がる可能性があるため、隣り合うフレームのノードが繋がっていないという条件のみでは、その経路を削除することはできない。しかしながら、一般に、デコーダは、ノードやアークをラティス内の適切な位置に追加するために、探索中の経路を把握している。つまり、探索を進める必要がないと判定した経路を特定することができる。従って、ラティスが状態ラティスでない場合であっても、デコーダ１６は、枝刈り処理を実行することができる。
【００３１】
図４は、ラティス確定装置２０の構成をラティス記憶部１８とともに示す図である。ラティス確定装置２０は、タイミング制御部４２と、検出部４４と、選択部４６と、削除部４８と、確定部５０とを備える。
【００３２】
タイミング制御部４２は、ラティスにおける一部分を確定する処理を実行するタイミングを決定する。具体的には、タイミング制御部４２は、デコーダ１６がパターン認識をしている最中において、ラティスにおける一部分を確定する処理を実行させる。
【００３３】
例えば、タイミング制御部４２は、デコーダ１６がパターン認識をしている最中において一定期間毎に、ラティスにおける一部分を確定する処理を実行させてもよい。また、タイミング制御部４２は、一例として、デコーダ１６がパターン認識をしている最中の枝刈り処理の実行時において、ラティスにおける一部分を確定する処理を実行させてもよい。これにより、タイミング制御部４２は、ラティスに含まれるノードおよびアークが少なくなったタイミングで一部分を確定する処理を実行するので、確定処理のための計算量を少なくし、さらに、一部分を確定できる可能性を高くすることができる。
【００３４】
また、タイミング制御部４２は、一例として、ラティスに含まれる経路数が一定値以下となった場合に、ラティスにおける一部分を確定する処理を実行させてもよい。これによっても、タイミング制御部４２は、確定処理のための計算量を少なくし、さらに、一部分を確定できる可能性を高くすることができる。
【００３５】
さらに、タイミング制御部４２は、一例として、ラティスの始端ノードのフレームから予め定められたフレーム数経過した後であって、ラティスに含まれる経路数が一定値以下となった場合に、ラティスにおける一部分を確定する処理を実行させてもよい。また、タイミング制御部４２は、フレーム毎にノードの数が単調増加している期間は、ラティスにおける一部分を確定する処理を禁止してもよい。始端ノードに近い期間は、一般に経路数が徐々に増大していくので、この期間においてラティスが分離されると、正確な認識結果を得られない可能性が高くなるためである。
【００３６】
このようなタイミング制御部４２は、ラティスにおける一部分を確定する処理を実行させる指示を検出部４４に与える。検出部４４は、タイミング制御部４２から指示を受けたことに応じて処理を開始する。
【００３７】
検出部４４は、ラティス記憶部１８に記憶されたラティスにおける、ノードおよび通過するアークの数が予め設定された基準値以下となる１つのフレームを分割位置として検出する。ここで、あるフレームを通過するアークとは、直前のノードが、そのフレームより時間的に前のフレームのノードであり、直後のノードが、そのフレームより時間的に後のフレームのノードであるアークをいう。
【００３８】
例えば、デコーダ１６により生成されたラティスが、状態ラティス（全てのアークが、連続する２つのフレームのノード間の遷移を表すラティス）である場合、検出部４４は、ノードの数が基準値以下となる１つのフレームを分割位置として検出する。また、デコーダ１６により生成されたラティスが、単語ラティス（連続する２つのフレーム間よりも広い２つのフレーム間のノードの遷移を表すアークを含むラティス）である場合、検出部４４は、ノードの数と通過するアークの数との合計が基準値以下となる１つのフレームを分割位置として検出する。
【００３９】
また、検出部４４は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから末尾ノードまでに、ノードおよび通過するアークの数が基準値以下となるフレームが複数存在する場合、例えば、これらのフレームのうち時間的に最も後のフレームを分割位置として検出する。これにより、検出部４４は、信号を入力してから確定するまで時間をより短くするように、ノードおよびアークを確定させることができる。
【００４０】
また、検出部４４は、ノードおよび通過するアークの数が基準値以下となるフレームが複数存在する場合、例えば、これらのフレームのうちノードおよび通過するアークの数が最も少ないフレームを分割位置として検出してもよい。これにより、検出部４４は、より正確な認識結果を得ることができるように、ノードおよびアークを確定させることができる。
【００４１】
また、検出部４４は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから予め定められたフレーム数より後のフレームを分割位置として検出してもよい。すなわち、検出部４４は、始端ノードから予め定められたフレーム数以前のフレームを分割位置として検出することを禁止してもよい。また、検出部４４は、始端ノードから、フレーム毎にノード数が単調増加している期間のフレームを分割位置として検出することを禁止してもよい。始端ノードに近い期間は、一般に経路数が徐々に増大していくので、この期間においてラティスが分離されると、正確な認識結果を得られない可能性が高くなるためである。
【００４２】
このような検出部４４は、検出した分割位置を選択部４６に通知する。選択部４６は、検出部４４から通知を受けたことに応じて処理を開始する。
【００４３】
選択部４６は、分割位置のノードまたは分割位置を通過するアークのうち、少なくとも１つを残存要素として選択する。より具体的には、デコーダ１６により生成されたラティスが状態ラティスである場合、選択部４６は、分割位置における少なくとも１つのノードを残存要素として選択する。また、例えば、デコーダ１６により生成されたラティスが単語ラティスである場合、選択部４６は、分割位置のノードおよび分割位置を通過するアークの少なくとも１つを残存要素として選択する。
【００４４】
選択部４６は、一例として、分割位置のノードまたは分割位置を通過するアークのうち、何れか１つを残存要素として選択する。これにより、選択部４６は、ラティスを分割位置で分割した場合に、時間的に前側のラティスと時間的に後側のラティスとの接続点となるノードをそれぞれ１つにすることができる。なお、選択部４６は、分割位置のノードおよび分割位置を通過するアークの全てを残存要素として選択してもよい。
【００４５】
選択部４６は、より正確に認識結果が出力でき、且つ、適切な計算量の範囲で残存要素を選択することができれば、どのようなアルゴリズムで残存要素を選択してもよい。
【００４６】
例えば、選択部４６は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから末尾ノードまでの複数の経路のうち、信号との一致度を表すスコアが最良の経路から順に少なくとも１つの経路を検出する。そして、選択部４６は、検出した少なくとも１つの経路上における分割位置のノードまたは通過するアークを残存要素として選択してもよい。これにより、選択部４６は、現時点において最も正確な認識結果を得る可能性が高いノードまたはアークを残存要素として選択することができる。
【００４７】
また、例えば、選択部４６は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから分割位置までの複数の経路のうち、スコアが最良の経路から順に少なくとも１つの経路を検出する。そして、選択部４６は、検出した少なくとも１つの経路上における分割位置のノードまたは通過するアークを残存要素として選択してもよい。これにより、選択部４６は、比較的に少ない計算量で残存要素を選択することができる。
【００４８】
また、例えば、選択部４６は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから、分割位置と末尾ノードのフレームとの間の何れかの指定フレームまでの複数の経路のうち、スコアが最良の経路から順に少なくとも１つの経路を検出する。そして、選択部４６は、検出した少なくとも１つの経路上における分割位置のノードまたは通過するアークを残存要素として選択してもよい。これにより、選択部４６は、比較的に少ない計算量の範囲で、より正確な認識結果を得る可能性の高いノードまたはアークを残存要素として選択することができる。
【００４９】
また、例えば、選択部４６は、ラティス記憶部１８に記憶されたラティスにおける分割位置のノードまたは分割位置を通過するアークのうち、末尾ノードに到達するまでの経路の分岐数が最も多い順に少なくとも１つのノードまたはアークを検出する。そして、選択部４６は、検出した少なくとも１つのノードまたはアークを残存要素として選択してもよい。これにより、選択部４６は、スコアを計算するよりも少ない計算量で、より正確な認識結果を得る可能性の高いノードまたはアークを残存要素として選択することができる。
【００５０】
このような選択部４６は、選択した残存要素を削除部４８および確定部５０に通知する。削除部４８は、選択部４６から通知を受けたことに応じて処理を開始する。
【００５１】
削除部４８は、ラティス記憶部１８に記憶されたラティスから、分割位置における残存要素以外のノードおよび通過するアーク、および、分割位置より時間的に前のフレームにおける残存要素に到達できないノードおよびアークを削除する。さらに、削除部４８は、ラティス記憶部１８に記憶されたラティスから、分割位置より時間的に後のフレームの残存要素から到達しないノードおよびアークを削除してもよい。これにより、削除部４８は、ラティス記憶部１８により多くの空容量を確保して、デコーダ１６にラティス記憶部１８を効率良く使用させることができる。
【００５２】
なお、削除部４８は、分割位置および分割位置より時間的に前のノードおよびアークを削除し、分割位置より時間的に後のノードおよびアークを削除しなくてもよい。これにより、削除部４８は、少なくとも、確定範囲に含まれる不要なノードおよびアークを削除することができる。また、削除部４８は、ラティスの一部分を確定する処理において毎回削除を実行せずに、複数回毎に削除を実行してもよい。また、パターン認識装置１０は、デコーダ１６等が枝刈り処理等により不要なノードおよびアークを削除するのであれば、削除部４８を備えない構成であってもよい。
【００５３】
確定部５０は、選択部４６から通知を受けたことに応じて処理を開始する。確定部５０は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから分割位置までの経路上のノードおよびアークを確定する。確定部５０は、残存要素がノードである場合、始端ノードから残存要素までの複数の経路上のノードおよびアークを確定する。また、確定部５０は、残存要素がアークである場合、始端ノードから残存要素の直前のノードまたは直後のノードまでの複数の経路上のノードおよびアークを確定する。なお、確定部５０は、残存要素がアークである場合、始端ノードから残存要素の直後のノードまでの複数の経路上のノードおよびアークを確定した方が、より多くのノードおよびアークを早期に確定することができる。
【００５４】
確定部５０は、一例として、ラティス記憶部１８に記憶されたラティスにおける、確定したノードおよびアークが特定できるようにメモリ等に確定対象を示す情報を登録する。これにより、確定部５０は、デコーダ１６等による確定したノードおよびアークに対する更新を禁止したり、確定したノードおよびアークを次回の処理対象から除いたりすることができる。
【００５５】
また、確定部５０は、確定したノードおよびアークを、未確定のノードおよびアークとは別個の新たなラティスに分割してもよい。この場合、確定部５０は、未確定のラティスに始端ノードを新たに登録する。さらに、この場合、確定部５０は、未確定のラティスにおける、確定した新たなラティスの終端ノードに対応するノードから出ていたアークについて、直前のノードを、新たに登録した始端ノードに変更する。これにより、確定部５０は、確定済みの新たなラティスと、未確定のラティスの２つのラティスをラティス記憶部１８に記憶させることができる。なお、未確定のラティスに始端ノードを新たに登録する代わりに、確定したラティスの終端ノードを新たに登録することにより、ラティスを分割することもできる。
【００５６】
さらに、確定部５０は、分割した確定済みの新たなラティスを出力部２２へと出力してもよい。これにより、出力部２２は、確定済みのラティスを外部に出力したり、確定済みのラティスに基づきラベル列等を出力したりすることができる。そして、確定部５０は、確定済みの新たなラティスを出力後に、その新たなラティスをラティス記憶部１８から削除してもよい。これにより、確定部５０は、出力済みのラティスを削除して、ラティス記憶部１８の空容量を増やすことができる。
【００５７】
なお、検出部４４は、例えばユーザから、基準値の設定を受け付ける。基準値が大きい場合、分割位置を検出できる可能性が大きくなる。従って、ラティス確定装置２０は、基準値が大きいほど、早期にラティスの一部分を確定することができる。もっとも、基準値が大きい場合、後段の認識処理に対する影響が大きくなる。従って、確定部分の認識結果が誤っていた場合、後段の認識処理が不正確になる可能性が高い。
【００５８】
これに対して、基準値が小さい場合、後段の認識処理に対する影響が小さくなる。従って、確定部分の認識結果が誤っていた場合であっても、後段の認識処理は正確になる可能性が高い。もっとも、基準値が小さい場合、分割位置を検出できる可能性が小さくなる。従って、基準値が小さい場合、早期にラティスの一部分を確定できなくなる。以上から、基準値は、認識率の要望と早期出力の要望とのバランスに応じて適切な値が設定されることが好ましい。
【００５９】
なお、最も早期出力の要求が大きい場合には、検出部４４は、ノードの数および通過するアークの数に関わらず、一定時間長毎にラティスの分割位置を設定してもよい。この場合、検出部４４は、基準値が設定されない構成となる。
【００６０】
図５は、ラティス確定装置２０による処理の流れを示す図である。また、図６〜図１０は、状態ラティスに対するラティス確定装置２０の処理内容の一例を示す。ラティス確定装置２０は、図５に示すフローに従って処理を実行する。
【００６１】
まず、ステップＳ１１において、タイミング制御部４２は、ラティスにおける一部分を確定するタイミングか否かを判断する。タイミング制御部４２は、確定タイミングではないと判断した場合（Ｓ１１のＮｏ）、ステップＳ１１で処理を待機する。タイミング制御部４２は、確定タイミングであると判断した場合（Ｓ１１のＹｅｓ）、処理をステップＳ１２に進める。
【００６２】
続いて、ステップＳ１２において、検出部４４は、ラティス記憶部１８に記憶されたラティスにおける分割位置を検出する。例えば、検出部４４は、図６に示されるような状態ラティスがラティス記憶部１８に記憶されている場合、ノードの数が基準値以下となる１つのフレームを分割位置として検出する。
【００６３】
例えば、図６に示す状態ラティスのそれぞれのフレームのノード数は、フレーム番号０から順に、１、２、３、５、６、４、２、２、４、５、４、３である。例えば基準値が２であるとすると、基準値以下となるフレームは、フレーム番号０、１、６、７となる。
【００６４】
本例において、検出部４４は、始端ノードから予め定められたフレーム数より後のフレームを分割位置として検出する。この場合、例えば予め定められたフレーム数が２であるとすると、検出部４４は、フレーム番号０、１を分割位置として検出すること禁止する。従って、検出部４４は、フレーム番号６または７の何れかを分割位置として検出する。
【００６５】
また、本例において、検出部４４は、始端ノードから末尾ノードまでにノードの数が基準値以下となるフレームが複数存在する場合、時間的に最も後のフレームを分割位置として検出する。従って、本例において、検出部４４は、フレーム番号７のフレームを分割位置として検出する。
【００６６】
続いて、ステップＳ１３において、検出部４４は、分割位置が有ったか否かを判断する。分割位置が無かった場合（Ｓ１３のＮｏ）、検出部４４は、処理をステップＳ１１に戻す。分割位置が有った場合（Ｓ１３のＹｅｓ）、検出部４４は、処理をステップＳ１４に進める。
【００６７】
ステップＳ１４において、選択部４６は、分割位置のノードまたは分割位置を通過するアークのうち、少なくとも１つを残存要素として選択する。本例においては、ラティス記憶部１８に状態ラティスが記憶されているので、選択部４６は、分割位置における１つのノードを残存要素として選択する。具体的には、選択部４６は、図７に示すように、始端ノード（フレーム番号０）から末尾ノード（フレーム番号１１）までの複数の経路のうち、信号との一致度を表すスコアが最も良い経路を検出する。そして、選択部４６は、検出した１つの経路上における分割位置（フレーム番号７）のノードを残存要素として選択する。
【００６８】
続いて、ステップＳ１５において、削除部４８は、ラティス記憶部１８に記憶されたラティスにおける、不要なノードおよびアークを削除する。本例においては、図８に示すように、削除部４８は、分割位置（フレーム番号７）における残存要素以外のノードを削除する。また、削除部４８は、分割位置より時間的に前のフレーム（フレーム番号０〜６）における、残存要素に到達できないノードおよびアーク（すなわち、残存要素以外のノードのみに到達するノードおよびアーク）を削除する。さらに、削除部４８は、分割位置より時間的に後のフレーム（フレーム番号８から１１）における、残存要素から到達しないノードおよびアーク（すなわち、残存要素以外のノードからのみ到達するノードおよびアーク）を削除する。
【００６９】
続いて、ステップＳ１６において、確定部５０は、ラティス記憶部１８に記憶されたラティスにおける始端ノードから分割位置までの経路上のノードおよびアークを確定する。具体的には、確定部５０は、残存要素がノードである場合、始端ノードから残存要素までの複数の経路上のノードおよびアークを確定する。また、確定部５０は、残存要素がアークである場合、始端ノードから残存要素の直前のノードまたは直後のノードまでの複数の経路上のノードおよびアークを確定する。本例においては、図９に示すように、確定部５０は、フレーム番号０のフレームの始端ノードからフレーム番号７の残存要素であるノードまでの複数の経路上の全てのノードおよびアークを確定する。
【００７０】
続いて、ステップＳ１７において、確定部５０は、確定したノードおよびアークを、未確定のノードおよびアークとは別個の新たなラティスに分割する。本例の場合、図１０に示すように、確定部５０は、フレーム番号０からフレーム番号７までの確定したノードおよびアークを新たなラティスに登録する。
【００７１】
さらに、確定部５０は、未確定のラティスに始端ノードを新たに登録する。例えば、本例の場合、図１０に示すように、確定部５０は、未確定のラティスに、フレーム番号７の新たな始端ノードを追加する。そして、確定部５０は、フレーム番号７のノードからフレーム番号８のフレームのノードへの遷移を表すアークについて、直前のノードを、新たに追加した始端ノードに変更する。
【００７２】
続いて、ステップＳ１８において、確定部５０は、分割した確定済みの新たなラティスを出力部２２へと出力する。そして、確定部５０は、確定済みの新たなラティスを出力後に、その新たなラティスをラティス記憶部１８から削除する。ラティス確定装置２０は、ステップＳ１８の処理を終了すると、本フローを終了する。
【００７３】
図１１は、デコーダ１６により生成された単語ラティスの一例を示す図である。デコーダ１６は、図１１に示されるような、連続する２つのフレーム間よりも広い２つのフレーム間のノードの遷移を表すアークを含むラティス（単語ラティス）を生成してもよい。
【００７４】
この場合、検出部４４は、それぞれのフレームにおけるノードの数と通過するアークの数との合計値を算出し、合計値が基準値以下のフレームを分割位置として検出する。例えば、図１１に示すような単語ラティスの場合、ノードの数および通過するアークの数の合計値は、フレーム番号０から順に、１、２、４、６、６、５、４、３、５、６、６、４となる。そして、基準値が３である場合、検出部４４は、フレーム番号７のフレームを分割位置として検出する。
【００７５】
例えば、検出部４４は、下記の式（１）により、それぞれのフレームにおけるノードの数および通過するアークの数の合計値ｗ（ｆ）を算出する。
【数１】
0006562698.tif 000002
【００７６】
ｆは、フレーム番号を表す。ｑはノードを表す。Ｑは、ラティスに含まれるノードｑの集合を表す。ｅはアークを表す。Ｅは、ラティスに含まれるアークｅの集合を表す。ｔ（ｑ）は、ノードｑのフレーム番号を表す。ｐ（ｅ）は、アークｅの直前のノードを表す。ｎ（ｅ）は、アークｅの直後のノードを表す。
【００７７】
フレーム番号ｆのフレームを通過するアークｅとは、直前のノードがフレーム番号ｆより前のフレームであり、且つ、直後のノードがフレーム番号ｆより後のフレームであるアークをいう。従って、フレーム番号ｆのフレームを通過するアークｅは、（ｔ（ｐ（ｅ））＜ｆ）∧（ｆ＜ｔ（ｎ（ｅ）））の条件を満たす。従って、式（１）における第１項は、アークの集合Ｅに含まれる、フレーム番号ｆを通過するアークｅの数を表す。また、式（１）における第２項は、ノードの集合Ｑに含まれる、フレーム番号ｆのノードの数を表す。従って、式（１）は、フレーム番号ｆのフレームにおけるノードの数および通過するアークの数の合計値ｗ（ｆ）を算出することを表す。
【００７８】
図１２は、パターン認識装置１０の処理を表す疑似コードの一例を示す図である。パターン認識装置１０は、一例として、図１２に示す疑似コードを１行目から順次に実行する。
【００７９】
１行目は、信号の入力が無くなるまで、２行目から１１行目までの処理を繰り返すことを示す。従って、パターン認識装置１０は、信号の入力が無くなるまで、２行目から１１行目までの処理を繰り返す。
【００８０】
２行目では、デコーダ１６は、入力された信号を変数ｘに代入する。３行目では、デコーダ１６は、入力された信号に対して１フレーム分のパターン認識処理を実行する。
【００８１】
４行目では、ラティス確定装置２０は、条件Ｔを満たしたか否かを判断する。条件Ｔは、ラティスの一部分を確定する処理を実行するか否かの判断条件である。この条件の具体例は、タイミング制御部４２の説明で記載したとおりである。条件Ｔを満たした場合、ラティス確定装置２０は、５行目以下の処理を実行する。条件Ｔを満たさなかった場合、ラティス確定装置２０は、処理を１行目に戻す。
【００８２】
５行目では、ラティス確定装置２０は、分割位置を検出し、検出した分割位置を変数ｆｄに代入する。６行目では、ラティス確定装置２０は、分割位置を取得できたか否かを判断する。分割位置を取得できた場合、ラティス確定装置２０は、７行目以下の処理を実行する。分割位置を取得できなかった場合、ラティス確定装置２０は、処理を１行目に戻す。
【００８３】
７行目では、ラティス確定装置２０は、分割位置のノードまたは分割位置を通過するアークのうち、１つを残存要素として選択する処理を実行する。８行目では、ラティス確定装置２０は、分割位置における残存要素以外のノードおよび通過するアーク、および、残存要素に到達できないまたは残存要素から到達しないノードおよびアークを削除する処理を実行する。
【００８４】
９行目では、ラティス確定装置２０は、始端ノードから分割位置までを確定する処理を実行する。１０行目では、ラティス確定装置２０は、確定したノードおよびアークを新たなラティスとして分割する処理を実行する。そして、１１行目では、ラティス確定装置２０は、確定したラティスを出力して、ラティス記憶部１８から削除する処理を実行する。
【００８５】
以上のように本実施形態に係るパターン認識装置１０によれば、時系列に入力される信号をパターン認識し、パターン認識することにより生成されたラティスを早期に確定することができる。
【００８６】
図１３は、変形例に係るラティス確定装置２０の構成をラティス記憶部１８とともに示す図である。変形例に係るラティス確定装置２０は、デコーダ１６により単語ラティスが生成された場合、単語ラティスを状態ラティスに変換してから処理を実行する。なお、図１から図１２を参照して説明した実施形態と略同一の機能を有する部材については図面中に同一の符号を付けて詳細な説明を省略する。
【００８７】
変形例に係るラティス確定装置２０は、図４に示す構成に加えて、変換部６２をさらに備える。変換部６２は、ラティス記憶部１８に記憶された単語ラティスを読み出して状態ラティスに変換し、変換後の状態ラティスをラティス記憶部１８に書き戻す。また、デコーダ１６により単語ラティスが生成された場合、検出部４４、選択部４６、削除部４８および確定部５０は、変換後の状態ラティスに対して処理を実行する。
【００８８】
これにより、検出部４４、選択部４６、削除部４８および確定部５０は、デコーダ１６により単語ラティスが生成された場合であっても、状態ラティスに対する処理と同様の処理を実行することができる。すなわち、検出部４４、選択部４６、削除部４８および確定部５０は、通過するアークの数の検出する処理、通過するアークを残存要素として選択する処理、および、残存要素がアークである場合の確定処理を実行しなくてよい。従って、変形例に係るラティス確定装置２０によれば、検出部４４、選択部４６、削除部４８および確定部５０の計算量を少なくすることができる。
【００８９】
なお、ラティス確定装置２０は、分割位置を検出する処理を変換後の状態ラティスに基づき実行し、分割位置を検出する処理以外の処理を変換前の単語ラティスに対して実行してもよい。この場合、検出部４４は、変換後の状態ラティスに対して処理を実行する。また、この場合、選択部４６、削除部４８および確定部５０は、変換前の単語ラティスに対して処理を実行する。
【００９０】
図１４は、変形例に係るラティス確定装置２０の変換部６２の処理を表す疑似コードの一例を示す図である。変換部６２は、一例として、図１４に示す疑似コードを１０１行目から順次に実行する。
【００９１】
まず、１０１行目では、変換部６２は、変換前の単語ラティスのアークの集合Ｅに含まれる全てのアークｅを、集合ＥＷに複製する。１０２行目は、集合ＥＷに含まれる全てのアークｅについて、１０３行目から１１０行目までを実行することを示す。従って、変換部６２は、集合ＥＷに含まれる全てのアークｅについて、１０３行目から１１０行目までの処理を実行する。
【００９２】
１０３行目では、変換部６２は、アークｅの直前のノードｐ（ｅ）を、変数ｑｐに代入する。１０４行目は、変数ｉについて、１から、（ｔ（ｎ（ｅ））−ｔ（ｐ（ｅ））−１）までの整数のそれぞれについて、１０５行目から１０８行目までを実行することを示す。従って、変換部６２は、変数ｉに１から、（ｔ（ｎ（ｅ））−ｔ（ｐ（ｅ））−１）までの間の整数のそれぞれについて、１０５行目から１０８行目までを実行する。
【００９３】
１０５行目では、変換部６２は、新しいノードｑを生成する。１０６行目では、変換部６２は、新しいアークｅ´を生成する。なお、変換部６２は、新しいアークｅ´の直前のノードｐ（ｅ´）にｑｐを代入する。また、変換部６２は、新しいアークｅ´の直後のノードｎ（ｅ´）にｑを代入する。１０７行目では、変換部６２は、フレーム番号ｔ（ｑ）に、ｔ（ｐ（ｅ））＋ｉを代入する。
【００９４】
１０８行目では、変換部６２は、ノードの集合Ｑに新しいノードｑを追加する。また、変換部６２は、アークの集合Ｅに新しいアークｅ´を代入する。また、変数ｑｐに新しいノードｑを代入する。
【００９５】
１０９行目では、変換部６２は、新しいアークｅ´を生成する。なお、変換部６２は、新しいアークｅ´の直前のノードｐ（ｅ´）にｑｐを代入し、新しいアークｅ´の直後のノードｎ（ｅ´）にｎ（ｅ）を代入し、新しいアークｅ´のラベル列ｌ（ｅ´）に、アークｅのラベル列ｌ（ｅ）を代入する。なお、分割位置を検出するためのみに単語ラティスを状態ラティスに変換する場合には、変換部６２は、１０９行目のｌ（ｅ´）＝ｌ（ｅ）を実行しなくてよい。
【００９６】
１１０行目では、変換部６２は、アークの集合Ｅに対して、アークｅを除き、新しいアークｅ´を追加する。以上の処理により、変換部６２は、単語ラティスを状態ラティスに変換することができる。
【００９７】
図１５は、パターン認識装置１０のハードウェアブロック図である。パターン認識装置１０は、一例として、一般のコンピュータ（情報処理装置）と同様のハードウェア構成により実現される。パターン認識装置１０は、ＣＰＵ（Central  Processing  Unit）１０１と、操作部１０２と、表示部１０３、マイクロフォン１０４と、ＲＯＭ（Read  Only  Memory）１０５と、ＲＡＭ（Random  Access  Memory）１０６と、記憶部１０７と、通信装置１０８と、バス１０９とを備える。各部は、バス１０９により接続される。
【００９８】
ＣＰＵ１０１は、ＲＡＭ１０６の所定領域を作業領域としてＲＯＭ１０５または記憶部１０７に予め記憶された各種プログラムとの協働により各種処理を実行し、パターン認識装置１０（区間切出装置１２、デコーダ１６、ラティス確定装置２０および出力部２２）を構成する各部の動作を統括的に制御する。また、ＣＰＵ１０１は、ＲＯＭ１０５または記憶部１０７に予め記憶されたプログラムとの協働により、操作部１０２、表示部１０３、マイクロフォン１０４および通信装置１０８等を実現させる。
【００９９】
操作部１０２は、マウスやキーボード等の入力デバイスであって、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をＣＰＵ１０１に出力する。
【０１００】
表示部１０３は、ＬＣＤ（Liquid  Crystal  Display）等の表示装置である。表示部１０３は、ＣＰＵ１０１からの表示信号に基づいて、各種情報を表示する。例えば、表示部１０３は、出力部２２が出力するラティスまたはラベル列等を表示する。なお、通信装置１０８または記憶部１０７等にラティスまたはラベル列等を出力する場合には、パターン認識装置１０は、表示部１０３を備えなくてもよい。
【０１０１】
マイクロフォン１０４は、音声信号を入力するデバイスである。予め記録された音声信号または通信装置１０８から入力される音声信号のパターン認識をする場合、または、音声以外の信号のパターン認識をする場合には、パターン認識装置１０は、マイクロフォン１０４を備えなくてもよい。
【０１０２】
ＲＯＭ１０５は、パターン認識装置１０の制御に用いられるプログラムおよび各種設定情報等を書き換え不可能に記憶する。ＲＡＭ１０６は、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等の揮発性の記憶媒体である。ＲＡＭ１０６は、ＣＰＵ１０１の作業領域として機能する。具体的には、パターン認識装置１０が用いる各種変数およびパラメータ等を一時記憶するバッファ等として機能する。ラティス記憶部１８が記憶する情報の記憶に使用することもできる。
【０１０３】
記憶部１０７は、フラッシュメモリ等の半導体による記憶媒体、磁気的または光学的に記録可能な記憶媒体等の書き換え可能な記録装置である。記憶部１０７は、パターン認識装置１０の制御に用いられるプログラムおよび各種設定情報等を記憶する。また、記憶部１０７は、モデル記憶部１４およびラティス記憶部１８等が記憶する情報を記憶する。
【０１０４】
通信装置１０８は、外部の機器と通信して、ラティスまたはラベル列等の出力等に用いられる。予め記録された音声信号またはマイクロフォン１０４から入力した音声信号のパターン認識をする場合であり、ラティスまたはラベル列等を表示部１０３または記憶部１０７に出力する場合には、パターン認識装置１０は、通信装置１０８を備えなくてもよい。
【０１０５】
なお、手書き文字のパターン認識を行う場合には、パターン認識装置１０は、筆跡入力装置をさらに備える。また、ＯＣＲを行う場合には、パターン認識装置１０は、スキャナまたはカメラ等をさらに備える。また、ジェスチャ認識、手信号の認識または手話認識を行う場合には、パターン認識装置１０は、動画像信号を入力するビデオカメラをさらに備える。音声を利用しないこれらのパターン認識を行う場合には、パターン認識装置１０は、マイクロフォン１０４を備えなくてもよい。
【０１０６】
本実施形態のパターン認識装置１０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１０７】
また、本実施形態のパターン認識装置１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態のパターン認識装置１０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のパターン認識装置１０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１０８】
本実施形態のパターン認識装置１０で実行されるプログラムは、上述した区間切出装置１２、デコーダ１６およびラティス確定装置２０（タイミング制御部４２、検出部４４、選択部４６、削除部４８、確定部５０および変換部６２）を含むモジュール構成となっており、ＣＰＵ１０１（プロセッサ）が記憶媒体等からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、区間切出装置１２、デコーダ１６およびラティス確定装置２０（タイミング制御部４２、検出部４４、選択部４６、削除部４８、確定部５０および変換部６２）が主記憶装置上に生成されるようになっている。なお、区間切出装置１２、デコーダ１６およびラティス確定装置２０の一部または全部がハードウェアにより構成されていてもよい。
【０１０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１０】
１０  パターン認識装置
１２  区間切出装置
１４  モデル記憶部
１６  デコーダ
１８  ラティス記憶部
２０  ラティス確定装置
２２  出力部
４２  タイミング制御部
４４  検出部
４６  選択部
４８  削除部
５０  確定部
６２  変換部
【図１】
0006562698.tif 000003
【図２】
0006562698.tif 000004
【図３】
0006562698.tif 000005
【図４】
0006562698.tif 000006
【図５】
0006562698.tif 000007
【図６】
0006562698.tif 000008
【図７】
0006562698.tif 000009
【図８】
0006562698.tif 000010
【図９】
0006562698.tif 000011
【図１０】
0006562698.tif 000012
【図１１】
0006562698.tif 000013
【図１２】
0006562698.tif 000014
【図１３】
0006562698.tif 000015
【図１４】
0006562698.tif 000016
【図１５】
0006562698.tif 000017