(57)【要約】      （修正有）【課題】音声認識システム、特に音声テキストシステムを提供することにある。【解決手段】音声部分に対応する一連の特徴ベクトルを受理する手段と、復号化ネットワークにおける各々が一連のテキスト単位を表すノード列に前記特徴ベクトルを異なる尤度値でマッピングする手段と、各トークンが１つのノードに対応し、複数のテキスト単位連接およびこれら連接の尤度値と関連するダイナミックプログラミングトークン受け渡しアルゴリズムを実行することによって前記候補テキスト単位連接に対応する前記復号化ネットワークにおいて１以上の候補ノード列を決定する手段とを具備する。【選択図】図１
2005215672.tif 000002
【特許請求の範囲】
【請求項１】
音声部分に対応する１以上の候補テキスト単位連接を所定の基準に従って決定するための自動音声認識システムの復号装置であって、
音声部分に対応する一連の特徴ベクトルを受ける手段と、
復号化ネットワークにおける各々が一連のテキスト単位を表すノード列に前記特徴ベクトルを異なる尤度値でマッピングする手段と、
各トークンが１つのノードに対応し、複数のテキスト単位連接およびこれら連接の尤度値と関連するダイナミックプログラミングトークン受け渡しアルゴリズムを実行することによって前記候補テキスト単位連接に対応する前記復号化ネットワークにおいて１以上の候補ノード列を決定する手段と、
を具備し、
前記復号化ネットワークにおいて１つのノードと関連する１つのトークンは該ネットワークにおける複数の先のノードと関連する複数のトークンから取り込まれ、
共通のノードに移動することになる異なるノードからの複数のトークンが混合され、前記共通ノードに対応し、テキスト単位連接の識別子および前記異なるノードの前記先のトークンと関連する尤度値と関連する新トークンを生成する、復号装置。
【請求項２】
前記識別子を有する前記トークンをマージングする手段をさらに有し、前記先のトークンの前記テキスト単位連接はそれらの対応する尤度値に応じて前記マージされたトークンと関連する、請求項１記載の復号装置。
【請求項３】
前記トークンが遅延マージ閾値未満の尤度値を有していれば前記マージングは遅延されるだけである、請求項２の復号装置。
【請求項４】
剪定閾値未満の尤度値を有するトークンを剪定する手段をさらに含む請求項１乃至３のいずれか１記載の復号装置。
【請求項５】
１トークンの前記複数の候補テキスト単位連接はＮ−最良尤度値を持つテキスト単位連接である、請求項１乃至４のいずれか１記載の復号装置。
【請求項６】
前記トークンは各々が前記テキスト単位連接に対応する複数のカテゴリマーカとさらに関連し、各カテゴリマーカは複数のカテゴリの１つと関連し、それによってトークンにおける前記複数の候補テキスト単位連接は前記複数のカテゴリにおける最良尤度値を持つ前記テキスト単位連接である、請求項１乃至４のいずれか１記載の復号装置。
【請求項７】
前記複数の候補テキスト単位連接は各カテゴリのＮ−最良尤度値を持つテキスト単位連接である、請求項６記載の復号装置。
【請求項８】
各トークンと関連する前記複数のテキスト単位連接は前記テキスト単位連接と関連する前記尤度値を統計的言語モデルスコアに加算させるために使用される、請求項１乃至７のいずれか１記載の復号装置。
【請求項９】
前記ダイナミックプログラミングトークン受け渡しアルゴリズムはビタビアルゴリズムである、請求項１乃至８のいずれか１記載の復号装置。
【請求項１０】
前記ダイナミックプログラミングトークン受け渡しアルゴリズムはボウムウエルチアルゴリズムである、請求項１乃至８のいずれか１記載の復号装置。
【請求項１１】
前記トークン及び前記テキスト単位連接は論理的に分離されたメモリに記憶され、論理的分離リストデータ構造はテキスト単位連接または識別子及び対応尤度値を持つトークンに関連するために使用される、クレーム１乃至１０のいずれか１記載の復号装置。
【請求項１２】
前記マッピング手段はヒッデンマルコフモデルに基づいたオーディオモデルにより構成される、請求項１乃至１１のいずれか１記載の復号装置。
【請求項１３】
請求項１乃至１２のいずれか１に従った復号装置により構成される自動音声認識システム。
【請求項１４】
請求項１３に従った音声認識システムにより構成される、自動車用音声作動制御またはナビゲーションシステム。
【請求項１５】
自動音声認識システムにおいて音声部分に対応する複数の候補テキスト単位連接を所定の基準に従って決定する復号化方法であって、
音声部分に対応する一連の特徴ベクトルを受けるステップと、
復号化ネットワークにおいて各々が一連のテキスト単位を表す複数のノード列に前記特徴ベクトルを異なる尤度値でマッピングするステップと、
各トークンが１つのノードに対応し、複数のテキスト単位連接およびこれら連接の尤度値と関連するダイナミックプログラミングトークン受け渡しアルゴリズムを実行することによって前記候補テキスト単位連接に対応する前記復号化ネットワークにおいて１以上の候補ノード列を決定するステップと、
を具備し、
前記復号化ネットワークにおいて１つのノードと関連する１つのトークンは該ネットワークにおける複数の先のノードと関連する複数のトークンから取り込まれ、
共通のノードに移動することになる異なるノードからの複数のトークンが混合され、前記共通ノードに対応し、テキスト単位連接の識別子および前記異なるノードの前記先のトークンと関連する尤度値と関連する新トークンを生成する、復号化方法。
【請求項１６】
前記識別子を有する前記トークンをマージングするステップをさらに有し、前記先のトークンの前記テキスト単位連接はそれらの対応する尤度値に応じて前記マージされたトークンと関連する、請求項１５記載の方法。
【請求項１７】
前記トークンが遅延マージ閾値未満の尤度値を有していれば前記マージングは遅延されるだけである請求項１６記載の方法。
【請求項１８】
剪定閾値未満の尤度値を有するトークンを剪定するステップをさらに含む請求項１５乃至１７のいずれか１記載の方法。
【請求項１９】
１トークンの前記複数の候補テキスト単位連接はＮ−最良尤度値を持つテキスト単位連接である、請求項１５乃至１８のいずれか１記載の方法。
【請求項２０】
前記トークンは各々が前記テキスト単位連接に対応する複数のカテゴリマーカとさらに関連し、各カテゴリマーカは複数のカテゴリの１つと関連し、それによってトークンにおける前記複数の候補テキスト単位連接は前記複数のカテゴリにおける最良尤度値を持つ前記テキスト単位連接である、請求項１５乃至１８のいずれか１記載の方法。
【請求項２１】
前記複数の候補テキスト単位連接は各カテゴリのＮ−最良尤度値を持つテキスト単位連接である、請求項２０記載の方法。
【請求項２２】
各トークンと関連する前記複数のテキスト単位連接は前記テキスト単位連接と関連する前記尤度値を統計的言語モデルスコアに加算させるために使用される、請求項１５乃至２１のいずれか１記載の方法。
【請求項２３】
前記ダイナミックプログラミングトークン受け渡しアルゴリズムはビタビアルゴリズムである、請求項１５乃至２２のいずれか１記載の方法。
【請求項２４】
前記ダイナミックプログラミングトークン受け渡しアルゴリズムはボウムウエルチアルゴリズムである、請求項１５乃至２２のいずれか１記載の方法。
【請求項２５】
前記トークン及び前記テキスト単位連接は論理的に分離されたメモリに記憶され、論理的分離リストデータ構造はテキスト単位連接または識別子及び対応尤度値を持つトークンに関連するために使用される、クレーム１５乃至２４のいずれか１記載の方法。
【請求項２６】
請求項１５乃至２５のいずれか１に従った復号方法を含む自動音声認識方法。
【請求項２７】
請求項１５乃至２８のいずれか１に従った方法を実行するためのプロセッサ制御コードを保持するキャリア媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識システム、特に音声テキストシステム及びソフトウエア並びに同システムのための復号装置に関する。
【背景技術】
【０００２】
自動音声認識システム（ＡＳＲ）は、音声をテキストに変換する多くの用途、例えばコンピュータシステムにおけるデジタルディクテーションまたはモダーンカーに設けられるもののような埋め込み式コンピュータシステムの音声命令認識に用いられる。そのようなシステムは音声のような発話のデジタルオーディオ信号を入力として取り込み、オーディオ信号のテキスト変換を出力として供給する。ＡＳＲは、制限された資源の使用および低コストが要望される埋め込み式アプリケーションに対して特に問題となる記憶および処理パワーの集中を招く。
【０００３】
音声の短いサンプルを取り込み、それらを音声部分を表す特徴ベクトルに変換し、これらベクトルの列をテキスト単位またはワードの可能な列または連接をマッピングすることによって認識が行われる。このシステムは、テキスト単位列がいかに良く特徴ベクトルに対応するかに依存して一連の特徴ベクトルが与えられた複数のテキスト単位列に対する確率または尤度に関連する。最高確率を持つテキスト単位の特定の列は明らかに音声、即ち特徴ベクトル列の最も有望なテキスト表記である。
【０００４】
代表的なアプリケーションとして乗用車に搭載された音声認識システムがある。このシステムに利用できる有効な資源は１メガバイトＲＡＭおよび１メガバイトＲＯＭ並びに１００ＭＩＰＳ  ＣＰＵパワーに限定できる。代表的な入力文は“窓を開ける”および“ベーカーストリートを案内する”である。要求された実際の予定地点は（おそらく“ＣＤプレーヤをスタートする”のような数１００の短い句を認識するために必要なだけである）小型命令制御システムと何百ものストリート名を認識するために必要とするナビゲーションシステムとの間で大きく異なる。
【０００５】
アプリケーションにより、全ての可能なテキスト単位列（文）集は小さくか非常に大きくできる。言語モデルはアプリケーションにおいて意味をなす可能なテキスト単位列に関する制約を表す。これは語彙と組み合わされる。この語彙はテキスト単位毎に１以上の発音を含む。言語モデルおよび語彙を用いて復号化ネットワークが構成される。それによってネットワークを介する経路は特定テキスト単位連接の特定の発音に対応する。オーディオモデルは復号化ネットワークを介する任意の経路に尤度値を割り付けるために使用される。これらの値は経路に含まれる発音が実際の特徴ベクトルにどれだけ近いかに依存する。
【０００６】
復号化ネットワークは（他のノードを接続するために寄与するだけである）ヌル（空）ノードのような技術をできるだけ用いて、ノードをアークに接続するネットワークとして経路を表すことによって効率的な方法で（しばしば大きい）数の経路を表す。代表的なネットワークはテキスト単位を表すアークに関するラベルを含み、それによって全ての経路は共に特別の言語領域におけるテキスト単位の全ての有効列、例えば車内音声命令認識システムでの有効命令の全体を表す。そのようなネットワークの中の各ノ ードは特徴ベクトルの一連の観察における１ステップを表す。これは通常１以上の状態と関連するが、上述したように任意の状態にマップしないヌルノードも存在する。観察の尤度を計算できる多次元確率密度関数が１つの状態である。１つの状態はサウンドの多重発生を反映する１経路の複数のノードに、または異なる潜在的発話における同じサウンドを表す異なる経路の複数のノードに関連できる。
【０００７】
どの経路が最も適切であるかを決定するために計算が行われ、多くのアプリケーションでは、これは音声部分のテキスト表記となる。上記の車内命令認識システムにおいては、このとき表記命令が例えばウインドウを開けるためにコ ントローラに入力される。一般的には、この計算はビタビアルゴリズムを用いて行われる。もう一つの方法として、バウムウエルチ（Baum-Welch）（または往復）アルゴリズムが使用できる。これらのアルゴリズムはToken Passing: a simple conceptual model for connected speech recognition systems, by S.J. Young, N.H.Russell, J.H.S. Thornton, Cambridge University Engineering Department, July 31, 1989に記載されているようにトークン受け渡しアルゴリズム（Token Passing algorithms）として定式化できる。
【０００８】
これらアルゴリズムは復号化ネットワークとしてノードと関連するトークンを用いるものとして考えることができ、開始ノードからそのノードまでの最良部分経路を表す。各トークンは（論理）データ構造であり、メモリに記憶され、テキスト単位あるいはそのノードに導く最良部分経路に対応するワード履歴と対応する。また、トークンはワード履歴のための尤度“スコア”で成る。
【０００９】
多くのアプリケーションでは、Ｎ−最良ワード列が必要となる。例えば、ユーザまたは話者が最良または最高尤度列が正しくないことを示し ている場合、次の最良または第２の最高尤度列が代替えとして与えられ、Ｎまで同様に行われる。Ｎ−最良列では、最良経路だけでなく各ノードまでのＮ−最良経路を記憶しなければならない。アルゴリズムはＮ個のワード履歴を含むようにトークンを拡張することによってこれを取り扱いことができ、尤度またはスコアをそのような各ワード履歴に関連づける。各ノードまでのＮ最良経路を維持するためのもう一つの理由は統計的言語モデルの使用にある。このモデルはトークン内の尤度に追加できる。テキスト単位としてワードを使用し、最新の３つのワードを考慮する特別のケースでは、これは三重文字言語モデル（trigram language mode）として知られている。その場合、必要ならばまだ代替え列をアプリケーションに与えることができる。
【００１０】
これらのアルゴリズムでは、第１トークンがエンプティワード履歴で作られ、開始ノードと関連する。この後、新特徴ベクトル毎に、各トークンはネットワークエリアを介して到達できる全てのノードにコピーされる。“セルフループ（self-loop）”アークもある。これらは自らノードを接続し、ある時間トークンをノードに残すことを効果的に可能にする。各尤度はその状態となる特徴ベクトルの尤度で更新され、また次のノードに導くアークと関連する推移確率によっても更新される。等しいワード履歴を有する２個以上のトークンが合致すると、最高尤度（ビタビ）またはコンビネーションのいずれかが使用される（ボウムウエルチ）。異なるワード履歴を有する２個以上のトークンがあると、最良の１つが選択される（１−最良）か、または２つのトークンからＮ最良を反映するものを種々のワード履歴から選択する。
【００１１】
ネットワークを通しての処理は所定終端ノードに到達した後、あるいは例えば音声部分の終端に対応するある期間後に停止してもよい。うまくいけば、終端ノードと関連するトークンは終端ノードに導く経路の内の前記の一連のノードまたは各一連のノードに対応する尤度スコアを含む。
【００１２】
おそらく何千ものノードおよびより多い可能経路を含む実際のネットワークにおいては、これはメモリ空間およびＣＰＵ要件に対する意味を有する。種々の技術がトークン受け渡し処理に利用される処理および／またはメモリ資源量を軽減するために使用される。例えば、その列と関連する他の処理は処理パワーおよびメモリ空間を解放するために中止できるようにほとんどありそうもない列に対応するトークンを削除するために使用される。
【００１３】
これら存在する技術によってさえ、ＡＳＲシステムは大きな処理パワーおよびメモリ資源を必要とする。このことは、プロセッサおよび／またはメモリ資源を最小にする要望がある場合に車内音声命令認識システムのようなより小さい埋め込み型アプリケーションにおいて特に問題である。
【発明の開示】
【００１４】
一局面における一般条件では、この発明は、音声部分に対応する一連の特徴ベクトルを受け、Ｎ個の最も有望な結果、または複数の所定のカテゴリにおける最良の結果、あるいは多数の所定のカテゴリの各々におけるＮ個の有望な結果の近似を出力する。復号装置は確率密度関数に対応するノードのネットワークを用いる。これらノードはシステムの言語領域におけるテキスト単位の有効列に対応する経路に接続される。復号装置は特徴ベクトル列をマッピング毎に尤度値とともにノード経路または列にマッピングし、一組の所定のカテゴリの各々において最高尤度スコアを有するノードのＮ個のシーケンスを決定することによってテキスト単位のＮ個の最も有望なシーケンスを計算する。この計算は遅延結合メカニズムが用いられるトークン通過方法を用いて行われる。２つのトークンからのワード履歴および関連尤度値を新たな“交差ノード”トークンにマージングする代わりにこれらワード履歴および関連尤度値に対するポインタまたは識別子が新たなトークンと関連する。
【００１５】
これは、（ワード履歴を新トークンと関連ずけることを決定する）マージオペレーションを後に、例えばネットワーク処理が停止したときに行うことを可能にし、それ故に全く尤度がなく、かつ全くＮ−最良とならない結果となるトークンと関連するマージオペレーションを行わなければならないことを回避する。マージングはトークンのワード履歴が認識されたワードまたは認識される予定のワードによって拡張しなければならないことを復号装置が決定するときのような他の状況において必要となる。
【００１６】
剪定と組み合わされるときに、この遅延マージング技術は、低尤度の経路がワード認識、故にマージングの要求前にうまく剪定されるので実質的に計算を減少する。
【００１７】
トークンが一度終端ノードに到達すると、関連ワード履歴がワード履歴を記憶しているデータ構造から検索できる。
【００１８】
故に、この復号装置配置により処理パワーが節約され、また遅延しないときマージオペレーションの結果を記憶する必要がないのでメモリを節約できる。
【００１９】
特に一局面では、本発明は、所定の基準に従って、音声部分に対応する１以上の候補テキスト単位連接を決定するための自動音声認識シス テムの復号装置を提供する。復号装置は音声部分に対応する一連の特徴ベクトルを受ける手段と、異なる尤度値によって特徴ベクトルを、復号化ネットワークにおける各列がテキスト単位連接を表す複数のノード列にマッピングする手段と、各トークンが１つのノードに対応し、複数のテキスト単位連接およびこれら連接の尤度値と関連するダイ ナミックプログラミングトークン受け渡しアルゴリズムを実行することによって候補テキスト単位連接に対応する復号化ネットワークにおける１以上の候補ノード列を決定する手段とを具備する。復号化ネットワークにおける１つのノードと関連するトークンは該ネットワークにおける先のネットワークと関連するトークンから抽出される。共通ノードに送るべき異なるノードからのトークンは共通ノードに対応し、テキスト単位連接および異なるノードの先のトークンと関連する尤度値に対する識別子と関連する新トークンを生成するために組み合わされる。
【００２０】
この復号装置配置によって、テキスト単位連接および他の先のノード／トークンにおけるそれらの尤度値に識別子を与えることによって幾つかのマージを遅延できる。
【００２１】
複数の候補テキスト単位連接はＮ−最良尤度値を備えるテキスト単位連接、および／または複数のカテゴリで、例えば複数の特定のノイズレベルで最良尤度値を備えたテキスト単位連接とすることができる。
【００２２】
カテゴリ化が採用される場合、トークンは各々が１つのテキスト単位連接に対応している複数のカテゴリマーカに関連しているのが好ましい。各カテゴリマーカは前記カテゴリの１つに関連づけられている。
【００２３】
マッピング手段はオーディオモデルおよび言語モデルで構成することが好ましい。オーディオモデルはヒッデンマルコフモデル（Hidden Markov Model）であることが好ましい。
【００２４】
ダイナミックプログラミングトークン受け渡しアルゴリズム(dynamic programming token passing algorithm)はビタビアルゴリズムであることが好ましいが、それは例えばボームウエルチアルゴリズムであってもよい。
【００２５】
復号装置は剪定閾値未満の尤度値を持つトークンを剪定する手段を更に備えている。これは幾つかのトークンがマージングを必要とする前に剪定されるので必要な処理を減らす。
【００２６】
トークンおよびテキスト単位連接は論理的に分離されたメモリに記憶されることが好ましく、論理的分離リストデータ構造はトークンをそれらのテキスト単位連接または識別子および対応する尤度値と関連するために用いられる。しかしながら、他のメモリアーチテクチャも可能である。
【００２７】
識別子を有するトークンをマージングする手段はトークンを対応する尤度値に応じて先のノードのテキスト単位連接と関連づける手段を備える。
【００２８】
一実施形態では、トークンがマージ閾値を越える尤度値を有すればマージングが行われる。
【００２９】
復号装置は自動音声認識システム、例えばカーユースの音声作動制御または案内システムにおいて実施することが好ましい。
【００３０】
他の局面において、自動音声認識システムにおいて所定の基準に従って音声部分に対応する複数の候補テキスト単位を決定する復号装置を提供する。復号装置は音声部分に対応する一連の特徴ベクトルを受ける手段と、テキスト単位連接を表すシーケンス毎にヒッデンマルコフモデルに基づいたオーディオモデルを用いて、特徴ベクトルと異なる復号化ネットワークにおけるノードの列にマッピングする手段と、各トークンがノードに対応し、複数のテキスト単位連接およびこれら連接の尤度値に関連するダイナミックプログラミングトークン受け渡しアルゴリズムを実行することによって候補テキスト単位連接に対応する復号化ネットワー クにおいて１以上の候補ノード列を決定する手段とにより構成される。復号化ネットワークにおけるノードと関連するトークンは該ネットワー クの先のノードと関連するトークンから抽出される。共通ノードを通過することになる異なるノードからのトークンはマージされ、先のトークンのテキスト単位連接および尤度値に基づいているテキスト単位連接および尤度値に関連し、共通ノードに対応する新トークンを生成する。復号装置はさらに後でマージオペレーションを行うために十分であるインストラ クションを保持する仮構造を作ることによってマージオペレーションを遅らせる手段と、剪定閾値未満の尤度値を有するトークンを剪定する手段とを有する。
【００３１】
特に他の局面では、自動音声認識システムにおいて所定の基準に従って音声部分に対応する複数の候補テキスト単位連接を決定するための復号化方法を提供する。この方法は、音声部分に対応する一連の特徴ベクトルを受け、復号化ネットワークにおいて各々がテキスト単位連接を表す複数のノード列に異なる尤度値でマッピングし、各トークンが個々のノードに対応し、多数のテキスト単位連接およびこれら連接に対する尤度値に関連しているダイナミックプロツラミングトークン受け渡しアルゴリズムを実行することによって前記複数の候補テキスト単位連接に対応する復号化ネットワークにおける複数のノード列を決定する。ノード列におけるノードと関連するトークンは該ノード列における先のノードと関連するトークンから抽出される。共通ノードを通過することになる異なるノード列からのトークンは混合され、テキスト単位連接およびこれらテキスト単位連接と関連する尤度値の識別子と関連し、共通ノードに対応する新トークンを生成する。
【００３２】
また、上記好ましい装置に対応する方法を提供する。
【００３３】
また、これらの方法を実行するためのプロセッサコードを有するコンピュータプログラムを提供する。これは、ＣＤＲＯＭのような記憶媒体などの搬送媒体または信号のような伝搬媒体に設けられる。
【発明を実施するための最良の形態】
【００３４】
この実施形態は、発話のデジタルオーディオ信号を入力とし、オーディオ信号のテキスト表記を出力とする自動音声認識システムに用いられる。図１は、そのようなＡＳＲシステムの基本構成を示している。一般的にＡＳＲシステムは６つの主要な要素を有する。図１の部分をさらに詳細に参照すると、発話のデジタルオーディオ信号はオーディオプリプロセッサによって受信され、そこで一連の特徴ベクトルに変換される。各特徴ベクトルは音声の短いセグメントを表す。有効な変換技術は“HTK Book version 3.2” by S. Young, G. Evermann et al. Cambridge University Engineering Department December 2002に詳しく説明されている。
【００３５】
オーディオプリプロセッサから一連の特徴ベクトルが与えられると、復号装置はＡＳＲの他の要素、即ち復号化ネットワーク、オーディオモデル、言語モデルおよび語彙を用いて“最良”テキスト表記を見つけようとする。これは次の３つの文献、即ちL. R. Rabiner, “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition”, in Proceedings of the IEEE, 77(2):257-286, 1989; S.J. Young, N.H. Russell and J.H.S. Thornton, “Token Passing: A Simple Conceptual Model for Connected Speech Recognition System”， Cambridge University Engineering Department Technical Report CUED/F＿INFENG/TR.38, Cambridge University, 1989; and J.J.Odell, V. Valtchev, P.C. woodland and S.J. Young, “A One-Pass Decoder Design for Large Vocabulary Recognition”, in Proceedings of the DARP A Human Language Technology Workshop, pp. 405-410, March 1995に詳しく説明されている。
【００３６】
復号化ネットワークは現在言語領域の可能な文の集合を表し、“A Frame-Synchronous Network Search Algorithm for Connected Word Recognition”, by C.H. Lee and L.R. Rabiner, IEEE Trabsaction on Acoustics, Speech, and Signal Processing, vol. ASSP-37, no. 11, November 1989にさらに詳しく述べられている。
【００３７】
オーディオモデルは（ＡＭ）音声単位、例えばワード、音韻または音節の数学的モデルである。有効なモデル単位は音韻モデルであり、有効なオーディオモデルはヒッデンマルコフモデル（ＨＭＭ）である。
【００３８】
言語モデル（ＬＭ）は特定の言語または領域における可能なワード列に関する制約を表す。それは現在言語領域における文のシンタックスおよびセマンテック構造を得ることを計っている。有効な言語モデルは“Estimation of probabilities in the language model of the IBM speech recognition system”, by N. Arthur, IEEE Transactions on Acoustics, Speech and Signal Processing, ASSP-32(4):859-86, August 1984.
サブワードオーディオモデルが用いられれば、そのときには現在言語領域の任意のワードを表す正確なモデルシーケンスを与える辞書が必要となる。音単位オーディオモデル(phone unit Acoustic Model)には、語彙が発音辞書であり、これはワード毎に音韻表記を与える。
【００３９】
復号化問題はＡＭ，ＬＭおよび言語領域の文法によって得られる情報を用いて、（一連の特徴ベクトルの形式で）発話を受ける最良テキスト表記を見つけることである。これは次のように数式化できる。
【数１】
2005215672.tif 000003
【００４０】
【数２】
2005215672.tif 000004
【００４１】
Ｐ（Ｗ）は現言語領域における所定のワード列Ｗの確率であり、それは言語モデルによって与えられる。バイグラム言語モデル（bi-gram Language Model)を使用すれば、Ｐ（Ｗ）は式２ａのように表される。Ｐ（Ｏ）は全てのワード列に渡って一定であるので通常は無視される。Ｐ（Ｏ／Ｗ）の値はオーディオモデルによって得られる。Ｈがワード列Ｗを表すモデルシーケンスＨ１．．．ＨＭであれば、次式が成り立つ。
【数３】
2005215672.tif 000005
【００４２】
上述したように、好ましいオーディオモデルはヒッデンマルコフモデル（ＨＭＭ）である。この場合、Ｈは一連のＨＭＭ、即ちＨ１．．．ＨＭの列である。ワードモデルを使用すると、Ｍ＝Ｎ，即ち対応ワード毎に１モデルとなる。音モデルは尤も一般的に使用されるタイプのモデルである。音モデルを使用すると、一般的にはＭ＞Ｎである。それはワードの音声転写は通常１よりい多い音を含むからである。ＨＭＭは図２に示すように有向アークによって接続される状態の集合である。
【００４３】
図２はアークによって相互接続されている１から５までの５つの状態を示している。これらの状態は１以上の音声単位または音韻に対応する。状態１は第１状態であり、状態２、３に発信リンクしている。状態３は自らに発信リンクするともに状態３および４に発信リンクしている。状態３は自らに発信リンクすると共に状態４および５に発信リンクしている。最後に状態４は自らに発信リンクすると共に最終状態５に発信リンクしている。状態間の選択的動きは異なるアクセントおよび音声速度に対応する。故に、例えば特定の音韻をゆっくり発音するか引き延ばす場合に自己に戻ったリンクを用いて状態が繰り返してもよい。
【００４４】
通常、第１および最終状態は非発音状態即ちヌル状態である。名称が意味するようにこれらはどの特徴ベクトルも発生しない状態である。ヌル状態はＨＭＭネットワークにおけるＨＭＭ間の接続点として寄与する。ヌル状態を用いると、ＨＭＭ間のアーク数が減少する。次の説明では、これらヌル状態は復号化処理の結果に影響しないので一般化を失うことなく簡単化のために無視される。
【数４】
2005215672.tif 000006
【００４５】
τ＝τ１，．．．，τＭはＯ＝Ｏ１，．．．，ＯＭおよびＯｍ＝Ｏτｍ−１＋１，．．．，ＯτｍのようにモデルシーケンスＨのための音声部分の１つの可能時間列である。Ｓｍ＝Ｓτｍ−１＋１，．．．Ｓτｍはモデル Ｈｍのための１つの可能状態列である。状態ｉｄ，Ｓｔ＝｛ｉ，ｍ｝はモデルｉｄｍと状態数ｉの両方を示している。Ａi,jは状態ｉから状態ｊまでの推移確率である。ｂｊ（Ｏｔ）は特徴ベクトルＯｔを発生する状態ｊの確率である。Ｐ（Ｏｍ，Ｓｍ・Ｈｍ）は式４で定義される。
【数５】
2005215672.tif 000007
【００４６】
次の恒等式は式４を簡単化するために用いられる。
【数６】
2005215672.tif 000008
【００４７】
また、ヒッデンマルコフモデルは次のように仮定する。
【００４８】
・モデルが特定の特徴ベクトルを発生する確率は前に発生した特徴ベクトルまたは前のヒッデン状態に依存しない。それは現ヒッデン状態に依存するだけである。
【００４９】
・特定のヒッデン状態にある確率は前のヒッデン状態に依存するだけである。
【００５０】
故に、次の恒等式が式４に用いられる。
【数７】
2005215672.tif 000009
【００５１】
通常、ビタビ復号化が使用される。この場合、最高尤度を与える時間列および状態列だけを考える。ビタビ復号化のために式３のＰ（Ｏ|Ｈ）が式５ａに修正される。
【数８】
2005215672.tif 000010
【００５２】
ｓ＝ｓ１，．．．，ｓＭは全発話のための１つの可能な状態列である。計算式５ａは実質的にはダイナミックプログラミング問題であり、通常、コンピュータで能率的なビタビアルゴリズムが使用される。
【００５３】
式５ａは次のように再定義される。
【数９】
2005215672.tif 000011
【００５４】
Ｔは発話Ｏのための合計フレーム数である。結果的にＰ（Ｏ|Ｈ）が次の定義を用いて再帰的に計算できる
【数１０】
2005215672.tif 000012
【００５５】
そのようなネットワークの一部が図３に示さ れている。図２の“内部”アークが明確さのために除去された。通常、認識言語領域は（全ての可能ワード列を表す）ワードネットワークを用 いて特定される。ワードレベルネットワークは語彙の音韻表記を用いて、モデルネットワークに拡張される。モデルレベルネットワークは状態レベルネットワークにさらに拡張できる。そのような状態ネットワークのために所定の発話Ｏの修正表記Ｗが次式となる。
【数１１】
2005215672.tif 000013
【００５６】
但し、STARTは初期状態の集合であり、FINAL(H)はモデルシーケンスＨの最終状態の集合である場合、（（式））が成立する。状態ネットワークにおける全ての最終状態の集合は特定の状態ネットワークによって表される全ての可能ワード列に対応する。各最終状態は複数の有効ワード列と関連する。例えば、図３において、状態７は最終状態であり、状態１は最初の状態である。状態７で終わる状態ネットワークを介する３つの有効経路がある。これらの経路は状態列１２５７、１３５７および１３８７をそれぞれ介して状態ネットワークを辿る。状態６はこの状態ネットワークにおける他の最終状態である。状態列１２４６である、状態６での終わる１つの経路だけがある。
【００５７】
任意のダイナミックプログラミングアルゴリズム、例えばボウムウエルチが選択的に使用できるが、復号化ネットワーク処理は好ましくはビタビアルゴリズムを用いて行われる。
【００５８】
ダイナミックプログラミングアルゴリズムはS.J. Young, N.N.   russel and J.H.S. Thornton, メToken Passing: A simple Conceptual Modelfor Connected Speech Recognition systemモ, Cambridge University Engin eering Department Technical Report CUED/F＿INFENG/TR. 38, CAMBRIDTE UNICWEAIRY, 1989に記載されているようなトークン受け渡しアルゴリズムによって遂行されるのが好ましい。
【００５９】
トークンは図４に示されるようにネットワークの各ノードに関連する。トークンは要約または論理データ構造である。この論理データ構造はそれが関連している状態に対する尤度（スコア）およびその状態またはノードに対するテキスト単位の連接（ワード履歴）を含む。通常、ログ尤度は次式（６）を計算するためにコンピュータ的にはより安くなるので記憶される。
【数１２】
2005215672.tif 000014
【００６０】
時間ｊでは、状態ｊに対するトークンはログ（Φｊ（ｔ））の値を保つ。新たな音声フレーム毎に、復号化ネットワークの全てのトークンは式６を用いて更新される。（Φｊ（ｔ−１））は時間ｔ−１に状態ｉに対するトークンにおけるログ尤度であることを留意すべきである。状態ｉからのトークンは状態ｊに伝搬され、ログ推移確率log（Ai,j）および現特徴ベクトルlog(bj(Ot))を発生する状態ｊの確率のログによって更新され、よってトークン受け渡しアルゴリズムの名がある。
【００６１】
時間Ｔでは、全ての最終状態と関連する一連のトークンから最良ログ尤度を持つトークンが“正確”表記に対応する状態列を表す。最終状態は１以上の状態列と関連できるので、トレースバック（trace back）情報の幾つかの形態が最良トークンを生成した状態列を回復できるように記録される。通常、ワード列だけが表記として必要であ り、それ故にトレースバック情報がワード境界で記録されるだけである。
【００６２】
式６によると、log(Aij)+log(Φi(t-1))に対して最高の値を与える状態からのトークンが選択され、１以上の先の状態を伴う状態のための新たなトークンとなるように更新される。
【００６３】
図５は、トークン伝播または通過の一例を示す。この例では、状態５は先の状態２および３からそれぞれトークンを受ける。状態２および３からのトークンの１つだけが更新のために選択され（ビタビ）、状態５で新たなト ークンとなる。選択されないトークンに関する情報はなくなる。
【００６４】
各トークンは最良表記の特定の仮説を表す。１以上のトークンが同じ状態にあるときに最良ログ尤度を持つ仮説だけがビタビ復号化において選択される。他の全ては破棄される。
【００６５】
Ｎ最良表記が要求される場合には、Ｎの仮説がトークンに維持される。これはＮ最良復号化と呼ばれ、“Spoken Language Processing-A Guide to Theory, Algorithm, and System Development” by X. Huang, A. Acera, andH.W. Hon., Prentice Hall, Upper Saddle River, New Jersey, USA, ISBN: 0-13-022616-5,2001に詳しく述べられている。このタイプの復号化では、先行状態からのこれらのトークンの各々が異なるワード履歴を記録するのでＮベスト先行トークンからのワード履歴情報を保存しなければならない。Ｎベストワード履歴を保存することによってＡＳＲシステムは所定の発話に対するＮ最良転写を表すワードグラフまたはワード格子を発生できる。
【００６６】
この場合に、新トークンは最良ログ尤度を与えるトークンの単なる更新バージョンではない。理想的には、列における全ての先行状態かのトークンは混合され、Ｎ先行トークンからの全ての情報を維持するように新トークンを形成する。Ｎ先行トークンからのワード履歴およびスコアを持つ新トークンを生成する処理がトークンマージングと呼ばれる。
【００６７】
このタイプのマージングを維持するために、トークン構造がリストを含むように更新される。リストの各入力は１つの先行トークンからの関連情報を記録する。トークンがマージされると、これらトークンからのリストは図７に示されるように新トークンのための新リストにマージされる、即ち、図７の例では、状態５は先行状態２および３からトークンを受ける。状態２および３の各々は３つの入力を有するリストを持つトークンを有する。状態５に対する新トークンのログ尤度は（推移確率を与えた後）最良先行トークンから取り込まれ、上記のように式６に従って更新される。
【００６８】
通常、リストの入力はログ尤度の大きい順に分類され、リストのサイズが限定される。故に、Ｎの最良エントリだけが維持される。例えば、図７において、トークンの全てにはリストに最大３つのエントリが含まれる。状態２および３からのトークンがマージされると、２つのリストがマージされ、新リストを作るために分類されるが、新リストの最初の３つのエントリは状態５ための新トークンに保持される。
【００６９】
新分類リストを作るために全ての分類リストをマージすると、特にリストのエントリ数が大きければ、コンピュータ的には高価なオペレーションとなる。これは、全てのワード履歴入力のスコア（またはオフセット）を新トークンに保持するのはどのエントリであるかを決定するために比較しなければならなく、オフセットを再計算する必要があるためである。この余分なコストは、この タイプのトークンマージングが音声フレーム毎に復号化ネットワークにおいて状態毎に行われるのでP(O・H)のための合計計算コストを大きく増加させることになる。
【００７０】
トークンと関連するデータは、例えば図６に示されるように多くの方法でメモリに記憶できる。トークンはその内容またはデータを配信できると言う意味では要約データ構造である。図示のノードはスコアまたは尤度値および 複数のワード履歴からなる関連トークンを有する。スコアまたは尤度値は（リストの一番上に示されている）最高得点ワード履歴と関連する。全てのワード履歴は、トップワード履歴自体に対して結果的にゼロとなる、トップワード履歴との差として表されるスコアまたはログ尤度を有する。異なるワード履歴はこのノードを介する一連の異なる経路となる。トークンは尤度を適切な発生および推移尤度でコピーし、更新することによって１つのノードから他のノードに移動する。複数のトークンは１つのノードにコピーする必要があるとき、それらはマージしなければならない。低スコアを有するトークンはメモリ空間およびＣＰＵを節約するために通常は取り除かれるか破壊される。
【００７１】
コンピュータの効率化のために、トークンと関連するワード履歴（“Open”、“Open the”．．．）が一般的には分離ワード履歴データ構造に記憶され、トークンはポインタまたはインデックスを介してワード履歴をこの構造（Word hist. 1, Word hist. 2,ノ）に記憶する。図示の例では、トークンのWord Hist 1ポインタまたはインデックスはワード履歴データ構造の“ウインドウを開ける”を指し示す。これは複製化よりむしろトークンによって共通ワード履歴を共有化することを可能にする。同様に、ワード履歴自体は破線でワード履歴データ構造に示されるようにワードおよび列において先のワードに対するポインタに再分割できる。これは複製を回避し、故にメモリ空間を節約する。
【００７２】
テキスト単位連接および関連する尤度スコアのトークンデータを維持するための種々の他のメモリ構成が当業者によって容易に実現できる。
【００７３】
復号化システムにおける幾つかのトークンは該システムの他のトークンと比較される非常に低いログ尤度を有していてもよい。これはそのトークンによって表される仮説がその点で時間的に余りありそうもないことを意味する。時間フレーム毎にシステムの全てのトークンは非常に低いログ尤度を有するそれらトークンを含めて更新される。しかしながら、これは通常余り起きそうもなく、それらありそうもないトークンを更新するために使用する計算コストは無駄になる。ありそうもない仮説が認識できできるだけ早く破棄すれば、計算時間が大きく節約できる。
【００７４】
故に、ビーム剪定の使用が好ましい。これは“A One-Pass Decoder Design   for Large vocabulary Recognition”, J.J. Odell, V. Valtchev, P.C. woodland and S.J. Young, in Proceedings of the DARPA Human Language Technology Workshop, pp. 405-410, March 1995に詳細に記載されている。
【００７５】
ビーム剪定では、１タイムフレームに対して全てのトークンを更新すると、最良ログ尤度を有するトークンがシステムの全ての存在するトークンから選択される。最良ログ尤度はこのタイムフレームのための剪定ビームの頂部である。剪定閾値は図８に示されるようにビームの頂部からビーム幅を差し引くことによって決定できる。
【００７６】
システムの全てのトークンがチェックされ、剪定閾値未満のログ尤度を有する任意のトークンは更なる計算が無価値と考えられる。故に、これらのトークンは復号化の合計計算コストを減少するために破壊される。トークンを破壊するために、それはヌルトークンと置き換えられる。ヌルトークンはエ ンプティリストを有し、ワード履歴を持たないトークンであり、ワード履歴ではない。トークンのログ尤度はlog(0)に近似する大きな負の数である。
【００７７】
適切なビーム幅を選択することが重要である。厳しいビーム幅であると、正確な仮説を破棄する非常に高いリスクを持ちながら最大計算コストを節減することになる。
【００７８】
文献には多くの剪定方法が記載されている。ここに記載された方法は最も一般的でありながら、本発明と組み合わせて使用できる多くの他の方法がある。剪定方法によっては結果の節約を変えることができる。
【００７９】
剪定閾値は新タイムフレームに任意のトークンを作る前に推定できる。通常、最良ログ尤度は非常にゆっくり変化するので、通常、前のタイムフレームからの情報が使用される。このケースであれば、新トークンを作る前にログ尤度は推定されるべきである。新ログ尤度が推定剪定閾値を越えていれ ば、トークンが作られるだけである。不必要なトークンが作られないので効率は改善される。
【００８０】
より詳細にマージングオペレーションに戻ると、図９は各々が複数のワード履歴を含む２つのトークンがどのように既知の技術に従って状態ネットワークにおいて１つの新トークンにマージされるかを示している。１つのトークンは時間ｔ−１にて状態２であり、３つのエントリ、即ち”open the”(ログ尤度１５０)、”close the”(ログ尤度１３０)および”find the”(ログ尤度１００)を持っている。これらログ尤度は通常、最良ログ尤度に対する相関差として記憶される。これは図９に示されており、ここでは、状態２でのトークンにおいて値“１５０”の“トップログ尤度”の項目があり、このとき３つのエントリ“open the”,“close the”および“find the”が”0”, ”-20”および”-50”をそれぞれ有する。“トップログ尤度”は音声信号の状態モデルを介する最も有望な経路を示す値である。
【００８１】
第２トークンは時間t-1で状態３にあり、３つのエントリ“open new”（ログ  尤度１４０）、“close this”(ログ尤度１２０)および“delete this”(ログ尤 度１００)を有する。このトークンはまた値“140”を有する“最高ログ尤度” の項目を有し、丁度挙げられた３つのエントリは“0”,“-20”および“-40”の相関値をそれぞれ有する。
【００８２】
状態５に推移するために、（これは可能性があるけれども）トークンに加えられる新たなワードがないが、時間ｔで状態５のシングルトークンがあるように２つのトークンがマージされる。今、"open the"に対応するトークン が推移ログ尤度および状態５の発生によるより高いログ尤度(160)を有する。全ての他のエントリのログ尤度の相関差はトークンがマージングしないで移動するとき変わらないが、（この例に示すように）２つのトークンがマージされるときに調整される。
【００８３】
トークンのエントリの数の制限、即ち３に制限することにより、選択がなされる。エントリ“open new”および“close the”が最高スコア（それぞれ１５０および１４０）を持つのでそれらが選択された。他のエントリのログ尤度は余りにも低いのでそれらエントリは除外された。トークンのエントリの数の制限により、ＡＳＲの正確な機能は危うくならないが、任意のトークン（その後、完全な認識過程）から正しく再構成できる代替え過程の数を制限する。
【００８４】
故に、概要的には、周知のマージング処理が次のステップを必要とする。
【００８５】
１．正確な状態数が記憶されているかトークンにより暗示しているかを確認することによって新トークンを記憶するメモリ空間を確立する。
【００８６】
２．新状態のための発生および推移ログ尤度を計算し、トップログ尤度に加算する。
【００８７】
３．新トークンのエントリを選択する。これらは、オフセットが変化していない場合における現存するトークンの一番良いものからか、または前記オフセットが新最高ログ尤度に対するオフセットになるよう調整すべき場合における任意の他のトークンから一番よいものを選ぶ。
【００８８】
４．有効な事由により、新トークンのエントリが分類順であることを確かめることが通常である。
【００８９】
これらステップの最後の２つはＡＳＲシステムの処理要求の大きな部分を表し比較的時間がかかる。
【００９０】
この発明の実施形態が図１の復号装置によって利用される。この実施形態は特徴ベクトルの実際の列を生成する種々の相互接続サブワードの確率を決定するためのビタビアルゴリズムに関して記載されている。
【００９１】
特に、マージオメレーションは図１０に示されるように“遅延される”（または多くの場合、完全に無効にされる）。トークン内のワード履歴（"open", "open the"）またはそれらのポインタ(Word Hist. 1, Word Hist. 2・・・)のリストを記憶する代わりに遅延マージの都合の良い実施を可能にするため、リストは論理的に独立したＬＩＳＴデータ構造に分離して記憶され、トークンはＬＩＳＴデータ構造に適切なワード履歴構造（“A”，“B”および“C”）に対するワード履歴構造基準を有する。エントリまたはワード履歴構造のリストは既知トークンに含まれるリストに類似する実際のリスト（Ａ，Ｂ）またはまだマージする必要がある他のリストに対する識別子（Ｃ）のリストのいずれかを含むことができる。（トークンがネットワーク終端に達するときのような）必要性が生じたときにオペレーションは実行しなければならないが、新トークンが剪定によりいつかの後に破棄されるならば、マージオペレーシ ョンは避けることができる。新トークンは遅延マージまたは混合トークンの２つのエントリリストのログ尤度に違いを維持し、それらを後の段階で正しく評価する。
【００９２】
図１０のトークンと図９のトークンとを比較すると、状態２および３でのトークン間の差は本実施形態（図１０）の方法においてリストがトークン（即ち、リストＡおよびＢ）から分離しており、トークンがこれらリストに対する基準を有することであることを見ることができる。即ち、状態２のトークンはそのエントリとしてリスト“B”に対する基準またはポインタを有し、状態３のトークンはそのエントリとしてリスト“B”に対する基準を有する。遅延マージはこの分離がなくても実現できるけれども、この分離は好ましい実施形態の一部である。
【００９３】
図１０において、状態５では、図９において起こるような状態２および３からのトークンをマージするよりも実際には最小計算が行える。トークンはトップ尤度を決定し、発生および推移尤度を用いて新尤度を算出する。この場合、１６０である新しい値が記憶される。また、それはリスト“C”に対する基準を有する。リストＣはトークンからリスト間のマージオペレーションを着手するために十分である情報を記憶する。この場合には、リストＣは後日マージされるべきリスト、即ちＡおよびＢに対する基準並びに２つのリストの尤度間の差、即ち−１０を記憶する。
【００９４】
この方法の１つの利点は、それらの尤度スコアが余りにも小さいので後に剪定されるトークンに対してマージオペレーションが行われることである。
【００９５】
リストがトークン内に記憶されていない場合の実施形態の他の利点は、エントリを含むデータ構造が大きかったとしても複数のトークンは同じ構造で共有できるのでメモリ使用の節約となる。
【００９６】
状態１のトークンは、リストＡに対する基準並びにトップ尤度基準１５０を有する。このとき、このトークンは複数の異なる状態、即ち状態２、３および４に送られる。これらの状態では、他のトークンは受けないので、新状態毎に発生および推移尤度を用いて各ケースにおいて更新する必要がある尤度だけである。故に、状態２、３および４の新トークンの全ては新トップ尤度値、即ち１６０、１６５および１６０をそれぞれ有するが、なおリストＡを参照している。故に、新リストはこれらトークンに対して生成する必要がないが、代わりにそれらはリストＡの現状の構造を共有する。リストに対して間接的基準を持つときにオーバヘッドがある間、通常、構造の共有化のために節約がある。
【００９７】
複数の遅延マージオペレーションを使用する実施形態が図１２に示されている。時間ｔでのトークンは時間t-1でのトークンに属するリストに戻り参照する。これは順次より古いリストに戻って参照する。
【００９８】
特に、時間ｔではトークンは状態５となる。この状態で、一方は状態２から、他方は状態３からの２つのトークンが達していた。先の実施形態のように、状態５でのトークンは状態２および３から到達するトークンに対する新トップログ尤度を決定し、このケースでは値１６０である最良の１つを記憶する。このとき、新リストＧに対する基準を記憶する。新リストＧは状態２および３のトークンと関連する２つのリスト、即ちリストＥおよびＦに対する基準を記憶する。また、新リストはそれぞれ状態２および３からのリストＥおよびＦにおけるエントリの２つのトップ尤度間の差を記憶する。これは“Ｆオフ セット：−１０”として記憶される。
【００９９】
状態２および３のトークンとそれぞれ関連するリストＥおよびＦを参照すると、これらリストが後にマージオペレーションを行うために十分である情報をも含むことを知ることができる。即ち、状態２と関連するリストは２つの先のリストＡおよびＢを参照し、リストＢからのトップ尤度がリストＡからオフセットしている量として値“−１０”を記憶する。同様に、状態３と関連するリストＦは２つの先のリストＣおよびＤを参照し、リストＤがオフセットしている値“−２０”を記憶する。
【０１００】
故に、先の状態におけるトークンについての情報で別のメモリ位置を参照してトークン構造は複数のマージオペレーションを後の時点まで遅延できる付加的な利点を有する。（多重）マージオペレーションを避けることによってトークンが剪定される機会が多くなることが分かる。
【０１０１】
図１３を参照すると、実施形態を示すメモリアーチテクチャが示されている。図５に示される方法と同様な方法において、復号化ネットワークにおけるノードＸはノード基準とそのノードＸに対する尤度スコアからなる関連トークンｘを有する。しかしながら、ワード履歴（"open", "open the"）または対応するポインタ（Word Hist.1, Word Hist.2・・・）のリストの代わりに、トークンｘはＬＩＳＴデータ構造におけるワード履歴構造（Ａ，Ｂ，Ｃ）に対するポインタまたはインデックス（リストＣ）を含んでいる。ワード履歴構造（Ａ，Ｂ，Ｃ）はオフセットと関連するものと共に対応ワード履歴（"open", "open the"）に対するポインタ(Word Hist.1, Word Hist.2ノ)により構成される。
【０１０２】
ワード履歴ポインタ（Word Hist.1ノ）または実際に幾つかの実施においてはワード履歴自体（"open"）を含むリストエントリ（ＡおよびＢ）に加えて、ＬＩＳＴデータ構造はまたＬＩＳＴデータ構造（例えばＣ＝Ａ＋Ｂ）における他のリストに対するポインタまたは基準を含むリストエントリ（Ｃ）により構成される。これらのポインタを用いることによって、通常必要とするマ ージオペレーションは例えばワード履歴が新ワードによって拡張する必要あるまで遅延できる。故に、トークンＡおよびＢの各々におけるワード履歴を比較し、尤度スコアを再計算するコンピュータによる高価な実施が遅延される。
【０１０３】
図１４は遅延されるときのマージングプロセスを示す。遅延マージオペレーションはトークンのワード履歴を拡張する必要があるときに実行してもよい。また、新特徴ベクトルの処理が終わると、例えば、１つのトークンが終端に達し、もっともらしいと判断されるので、または利用できる更なるベクトルがないか、あるいはアプリケーションによって課せられる時間制限に達したので、遅延マージオペレーションは必要ならその１トークンに対して実行される。この例では、復号化ネットワークにおけるノード１５６１に対応するトークンは１９０のログ尤度スコアを有し、ワード履歴構造Ｇと関連する。ワード履歴構造Ｇは、Ｆが−２０の大きなペナルティを受けるような場合に２つの異なるワード履歴、ＥおよびＦを混合することによって形成されることを示している。順次、構造Ｅは、−１０のペナルティをＢに与えるとＡおよびＢを混合して形成されることを示している。構造Ｆは、Ｄが−１０のペナルティを受ける場合にＣおよびＤから形成されることを示している。
【０１０４】
図はリストＥを形成するためにＡおよびＢをどのように混合されるかを示している。リストＥはＡ（ワード履歴１および２）からの２つのエントリとＢ（ワード履歴４）からの１つのエントリを含む。また、Ａ（ワード履歴７および８）から２つのエレメントそしてリストＢ（ワード履歴１０）から１つのエレメントを受けることによってリストＦはそのようにしてリストＣおよびＤから形成されるかを示している。
【０１０５】
これが一度行われると、リストＧを構成することができる。このリストＧはリストＥ（ワード履歴１および４）から２つのエントリを受け、リストＦ（ワード履歴７）から１つのエントリを受ける。これは、上位３つの仮説がこれら３つのワード履歴およびそれらのログ尤度を取ることによって近似するので、ｎ＝３に対してｎ−最良答を出す。他の近似値でも可能である。
【０１０６】
フローチャートＡおよびＢはこの発明の実施形態に従った遅延トークンマージを用いる音声認識システムの一般用語を示している。これらのノードは通常状態に対応する“ノード”の概念を用いている。（例えば、幾つかのノード は、あるＨＭＭ構造がネットワークの異なる場所で繰り返されていれば、同じ状態に対応できる。その場合、各ノードは明瞭なトークンを有する。）フローチャートは、ネットワークの終端に達するまで分割され（即ち、１つのトークンが幾つかのノードに送られる）そして遅延マージされる（即ち、複数 のトークンが遅延されるマージオペレーションによって１つのノードに集められる）ことによってネットワークのトークンがネットワークをどのように通過（コピーまたは遅延マージ）するかを示している。
【０１０７】
フローチャートに基づくシステムは下記のエレメントを使用する。
【０１０８】
１．ネットワーク構造の提示。このネットワーク構造は（期待観察を反映する）ノードおよび許容経路を決定するノード間のアークを含む。これらアー クはそれを行き来するトークンのワード履歴に加えられるべきワードラベルも含むことができる。
【０１０９】
２．先の時間インデックスで有効なトークン集、これらは存在するノードに関する情報、それらの最上位尤度およびそれらのエントリリストに対するインデックスを保有している。
【０１１０】
３． 現時間インデックスに対して構成されるトークン集、これらは先のトークンと同じ情報を保持する。
【０１１１】
４．トークンが参照するエントリリスト集。各リストは（ワード履歴とログ尤度オフセットの複数の対を含む）通常リスト、または遅延リストのいずれかである。遅延リストの場合、それらは（通常または遅延）の他のエントリリストに対する２以上のインデックスおよび２つのインデックスの低いスコア に対するログ尤度を一般的に含んでいる。
【０１１２】
図１５におるフローチャートＡを参照すると、初期エンプティトークンは初期ノード（５１）で作られる。このシステムは時間インデックス（５２）を増加するループに入り、先の時間インデックスに対して作られたトークンからの情報を収集して全てのノード（５３〜５７）を推定する。
【０１１３】
特に、これは、ノード（５３）に対するインデックスであるパラメータｎｉｄｘを初期化し、フローチャートＢ（５４）に記載されたノード更新手順を実行することによってノード毎の方法で行われる。これは直ぐにさらに詳細に述べる。このとき、インデックスは増加され（５６）、全てノード が処理されるまで推定手順は繰り返される（５７）。この時点で、システムはあるトークンがネットワークの終端に到達したかどうかをチェックする（５０）。達していなければ、チェックは次の時間インデックスによって継続する。あるトークンが終端に達すれば、システムはそのトークンに任意の遅延マージを行い、最良ワード履歴を出力する（５９）。より高度な機構が終了に対して可能であり、これがその丁度一例であることが評価されることになる。
【０１１４】
図１６のフローチャートＢを参照すると、単一ノードの推定は全ての到来アーク（６１−６６）を介して行き来し、これらを混合することによって行い、遅延エントリリスト構造を作る。
【０１１５】
即ち、最初にトークンが作られ、ノードの全ての到来アークを索引するために使用されるパラメータｐが初期化される（６１）。各アークが処理される（６２）。１つのアークがトークンを持たないノードからのものであれば、それは無視できる（６３）。そのアークがワードラベルを有していれば（６４）、そのノードからのトークンのワード履歴が更新される。ワードラベルを行き来するとき、遅延エントリリスト構造において参照している各エントリ毎にワード履歴を更新できるが、実施形態では遅延マージがワード履歴を実行する前に実行される（６５）。
【０１１６】
このとき、ワードラベルに遭遇したかどうかに関係なく、先の時間フレームからのトークンが新トークンに遅延マージされる（６６）。最後に、アークインデックスが増加され（６７）、ループが繰り返される。全ての到来アークが処理されたとき、自己ループをＨＭＭ構造に反映することによって先の時間インデックスのこのノードにあったトークンが新ノードに遅延マージ される。
【０１１７】
先に説明したビーム剪定方法を用いて、新トークンが閾値より低ければ、それは剪定される（６９−７０）。この場合には、先の時間インデックスの最良尤度が使用されるものと仮定する。
【０１１８】
遅延マージ手順（６６）を図１７を参照して説明する。時間ｔ−１に対応する状態１、２および３からのトークンが時間ｔで状態４に達する。状態１からのトークンはリストＡを参照し、１３０の最上ログ尤度を持ち、状態２からのトークンはリストＢを参照し、１３０のトップログ尤度を持つ。状態３からのトークンはリストＣを参照し、１６０の最上ログ尤度を有する。
【０１１９】
本発明の実施形態に従って遅延マージトークンを生成する動作は以下の通りである。
【０１２０】
１． 先の時間インデックスからの最初のトークンを追加すると、ノードインデックスとログ尤度（このノードの推移および発生ログ尤度によって更新される古いログ尤度）を設定する。単にエントリリストを参照する。
【０１２１】
２． 先の時間インデックスからの他のトークンを処理すると、２つのエントリリストに対する参照を含む仮の構造を作り、これを新トークンの新エントリリストにする。また、（更新前の）スコアが最初のものより高いかどうかをチェックする。高ければ、新トークンのログ尤度を変更し、このトークンのエントリリストのインデックスをオフセット０で与える。他のエントリリストのオフセットを変更し、ログ尤度の差を反映する。ログ尤度が低ければ、ログ尤度の差を反映するオフセットを設定し、他のオフセットを０に設定する。
【０１２２】
この動作は例えば図１７に示されている。“ステップ１”は実行される。これによって、状態４の新トークンが１５０である、ノード１トークンからのトップログ尤度が与えられ、また、リストＡである、ノード１トークンに対するリスト基準が与えられる。
【０１２３】
次に、“ステップ２”が実行される。これにより、ノード２トークンが考慮される。ノード２トークンの値が低い（即ち１３０）であるので、状態４の新トークンに対するトップログ尤度を１５０に維持する。新エントリリスト基準Ｘが新トークンに与えられる。リストＸを参照すると、これが遅延マージ情報を含むことを知ることができる。遅延マージ情報は後日マージオペレーションを行うには十分な情報である。リストＸはノード１および２のためのリスト、即ちリストＡおよびＢ並びにリストＢにおけるトップログ尤度がノードＡのログ尤度からオフセットする量、即ち−２０を識別する。
【０１２４】
図１７の例は状態４に達する３つのトークンを有しているので、“ステップ２”は第３トークンに対して繰り返され、“ステップ３”として図のように実施される。ここで、新トークンはログ尤度１６０を与えられる。これはログ尤度の最大であるノード３トークンに対応する。新エントリリスト基準Ｙが新トークンに与えられる。リストＹを参照すると、これは遅延マージ情報を含むことがわかる。この遅延マージ情報は後日マージオペレーションを行うには十分である。リストＹはノード３トークンのリスト、即ちリストＣ並びにリストＸを認識する。リストＸはノード１および２からのトークンのリストの遅延マージのために作られるリストである。リストＹはリストＣの最上ログ尤度がリストＸのログ尤度からオフセットする量、即ち−１０も含む。
【０１２５】
一般的に、ある時間遅延された後に要求されるマージオペレーションは次の通りである。
【０１２６】
１．エントリリストが２を参照している２つのリストのどれもがそれ自体遅延されているか否かをチェックする。
【０１２７】
２．従来では通常の手順のような通常のシステムについて先に説明したような通常の方法で２つの（非遅延）リストをマージする。
【０１２８】
３．結果のエントリリストに同じインデックスを与える。それによってそれを参照した任意の他のトークンが自動的にマージバージョンを参照する。
【０１２９】
４．遅延に使用された仮の構造を取り除く。
【０１３０】
本発明の代替え実施形態によると、マージオペレーションがとにかく必要となることが確実であれば、マージオペレーションを遅延する必要がないことを守ることによってシステムがさらに改良される。この良好な兆候はマージすべきトークンのトップログ尤度を比較することによって得られる。図１８に示されるようにこれが全システムの最良トークンのログ尤度に近ければ、そのときにはそのトークンはかなりの時間存続しそうであり、マージの遅延は価値があるかもしれない。しかし、これはビームの低い側に近くなれば、そのときにはトークンはすぐに取り除かれることが確実となり、そしてマージが完全に回避できることがあるのでマージを遅延することは全く有効となるかもしれない。
【０１３１】
それ故に、この代替え実施形態によると、（例えば）２つのトークンがノードに達すると、これらトークンの最高ログ尤度と全てのトークンの最高ログ尤度とが比較される。マージすべきトークンの最高ログ尤度がトップログ尤度から所定遅延閾値より大きければ、そのときには遅延マージ処理が行われる。しかし、最高ログ尤度が所定遅延閾値以内であれば、マージ処理が遅延内で行われる。最高ログ尤度が（遅延閾値未満である）剪定閾値未満の場合、そのときは、トークンがマージ無しに、または遅延マージ処理が行われシステムから取り除かれる。
【０１３２】
遅延マージ方法を標準トークン受け渡しアルゴリズムと比較する試みによって、全マージオペレーションのほぼ３０％が回避することが立証された。マージオペレーションがＣＰＵの使用のほぼ５０％の割合を占めるので、これは全体のＣＰＵ使用のほぼ１５％の節約に相当する。ＣＰＵの消費を低くすることによってユーザに対して安価な装置または早いフィードバックをもたらす。
【０１３３】
上記実施形態はＮ−最良ワード履歴の決定に関して述べてきたが、複数のワード履歴が決定された代替え処置および複数のワード履歴が各トークンと関連している。複数のカテゴリにおいて最善の結果を決定することが望まれる場合の例がある。図１９〜２２を参照して複数のカテゴリが利用される他の実施形態を説明する。
【０１３４】
可能なワード履歴をカテゴリ化したい多くの理由がある。例えば、復号装置はあるノイズレベルを仮定すれば、最も有望な発話が何であるか、あるトピックを仮定すれば、最も有望な発話は何であるか、または特定のサウンドが（このセグメントに影響する）このサウンドフラグメントの直前または直後に発せられていたならば最も有望な発話は何であるかをアプリケーションに示してもよい。
【０１３５】
図１９に示されるように、カテゴリマーカは発話の内容のある局面を表す各トークンの各ワード履歴と関連している。例えば、サウンド部分の直前または直後になされるサウンドを表すカテゴリ集、周囲のノイズ状態を表すカテゴリ集、またはユーザが参照しているトピックのような対話レベル情報を表すカテゴリ集がある。このとき、オーディオモデルまたは言語モデルはこれに基づいたワード履歴のスコアを自由に調整する。例えば、オーディオモデルはあるカテゴリに含まれる先のサウンドに関する情報に基づいた最初のサウンドの尤度を調整してもよい。
【０１３６】
上述のように、トークンは一般的には関連トップスコア（１５０）およびこれからのオフセットを持つように構成され、例えばカテゴリ１および２の両方が同じワード履歴を持つ状態では、それらの尤度に差がある。
【０１３７】
図２０はアームが各カテゴリにおいてＮ−最良ワード履歴を決定することになっているＮ−最良カテゴリに基づいた配置を示している。標準方法では、状態２および３に対するトークンから状態５に対する新トークンへのマージングはカテゴリ毎にＮ−最良ワード履歴（この例では、２最良ワード履歴）を決定する必要がある。図９に示すオペレーションからの違いは同じカテゴリ識別子を持つワード履歴だけがマージングの対象と考えられる。故に、異なるカテゴリに対するワード履歴は分離されている。
【０１３８】
図示のように、状態２に対するトークンは１つのカテゴリ２ワード履歴だけを有し、これに対して状態３に対するトークンは２つのカテゴリ２ワード履歴を有する。これはほとんどありそうもないワード履歴が破棄されるために起こるかもしれない。
【０１３９】
カテゴリ化しないで図１０に示される遅延マージオペレーションに似た方法で、状態２および３と関連するトークン（およびそれらの関連するワード履歴リストＡおよびＢ）のマージングが図２１に示されている。マージはリストデータベースにおけるエントリへのポインタＣを使用する状態５に対するトークンを作ることによって遅延される。このエントリＣは、最終的にマージングを必要とするかもしれない状態２および３からの寄与トークンのワード履歴ＡおよびＢを認識するだけである。カテゴリ化で処理するときの付加的要素は、例えば図２２に示すように例えばワード履歴ポインタ毎にリストテーブルにカテゴリフィールドを含めることによって各カテゴリと関連するポインタを区別することである。これは同じカテゴリにワード履歴だけがそのカテゴリのＮ−最良ワード履歴のそれらまたは１つとして考えられる。
【０１４０】
図１４と同様な遅延マージがカテゴリ化が可能な図２３に示されている。説明の簡略化のために、“ウイニング”または終端トークンがマージングを必要とする他のワード履歴ポインタＡおよびＢを参照するワード履歴ポインタ持つと仮定する。リストデータベースのポインタＡおよびＢはワード履歴データベースの多数のワード履歴を指しているが、異なるカテゴリと関連している。故に、マージングは２つのカテゴリ、即ちカテゴリ１および２に関して行われる。カテゴリ１は２つの最良または最も有望なワード履歴１および７を有し、カテゴリ２は最有望としてワード履歴１０および４を有する。
【０１４１】
それ故に、カテゴリ基本システムにおいて遅延マージ方法を用いる他の手順は以下の通りである。トークンの標記の内部にワード履歴毎にカテゴリメーカのフィールドを付加する。音声部分の処理を開始するときに、１つのトークンが開始ノードに作られるが、各々が異なるカテゴリメーカを持つ複数のワード履歴を備えている。
【０１４２】
トークンを遅延マージングするとき同じワード履歴だが、それらが異なるワード履歴を有するごとく異なるカテゴリを持つトークン内でエントリを処理する。同じワード履歴および同じカテゴリを同等なものとして用いてエントリを処理する。トークンが伝播するとき、それらの主要ログ尤度は通常オーディオモデルによって更新される。この間にトークンの他のワード履歴に対する相関差は一定となる。異なるカテゴリがあるとき、オーディオモデルまたは言語モデルが相関差を調整することを時々決定する。これは発生確率が種々のカテゴリに対して時々異なると言う事実を反映している。
【０１４３】
トークンがネットワークの終端に達すると、最高の仮説がカテゴリ毎に設けることができ、あるいは実際にはｎの最良結果が各カテゴリ毎に得ることができる。
【０１４４】
変更および付加が全般的発明の概念内で可能である。この発明の実施形態は発明の実例として考えるべきであり、全般的発明の概念に不必要に限定するものではない。
【０１４５】
例えば、理解を容易にするために、発明の概念はビタビアルゴリズムの形態であるトークン受け渡しアルゴリズムに関して述べてきた。しかし、発明の概念はビタビアルゴリズムを用いた任意の復号装置に適用できる。さらに、ビタビアルゴリズムが（往復アルゴリズムとしても知られている）ボウムウエルチアルゴリズムの特別なケースであるので、発明の概念をこのアルゴリズムに使用することができる。
【０１４６】
さらに、発明の概念は一般の音声認識システムの観点から説明してきたこと、および実際には同時調音の効果を得るために異なる話速度に起因するタイミング差を保証し、話者間の差を取り扱うことができるより複雑な方法が用いられてもよい。
【０１４７】
さらに、明細書の全体に使用されている用語“ワード”は全体的には実際のワード、幾つかのワードの句または二重音または音素のような実際ワードの成分である基本認識単位を意味している。
【０１４８】
本発明の実施形態は特定機能およびその相関関係の遂行を示す機能的ブロックおよび方法ステップを用いて説明されている。これらの機能ブロックおよび方法ステップの境界は説明の便宜上任意に定義されていた。特定の機能およびその相関関係が適切に行われている限り代わりの境界で定義できる。そのような代わりの境界は請求の範囲に記載された発明の範囲および精神内にある。当業者はこれらの機能ブロックは別個の要素、アプリケーション特定集積回路、適正なソフトウエアを実行するプロセッサおよびそれらの組み合わせによって実行できる。
【０１４９】
明細書の全体に渡った従来技術の検討はそのような従来技術が当分野において広く知られておりまたは共通の一般的知識の一部として形成するものではない。
【０１５０】
本発明はまたここに記載され、または暗示され、あるいは図面に示され、または暗示された個々の特徴、あるいはそのような特徴の任意の組み合わせ、または任意のそのような特徴の概括またはその均等物に拡張する組み合わせを提供する。故に、本発明の広がりと範囲は上述した実施形態のいずれによっても限定されるべきでない。請求の範囲、要約および図面を含む明細書に記載された特徴は想でないことを明確に述べていなければ、同じ、均等または類似の目的に寄与する代替え特徴に置き換えてもよい。
【図面の簡単な説明】
【０１５１】
【図１】自動音声認識システムの基本構成を示す。
【図２】状態集合としてのベイシックＨＭＭを示す。
【図３】復号化用ＨＭＭ状態ネットワークの一例を示す。
【図４】復号化ネットワークのノードと関連するトークンを示す。
【図５】トークン受け渡し方法を示す。
【図６】ＡＳＲのデータ構造を記憶するメモリアーチテクチャを示す。
【図７】トークンマージ手順を示す。
【図８】剪定ビーム閾値を示す。
【図９】図７のトークンマージング手順を示す。
【図１０】実施形態に従ったトークン遅延マージングまたは混合手順を示す。
【図１１】実施形態に従ったトークン構造の使用により得られるエントリリストの分担の一例を示す。
【図１２】実施形態に従った多重遅延トークンの一例を示す。
【図１３】実施形態のデータ構造を記憶するメモリアーチテクチャを示す。
【図１４】実施形態の遅延マージオペレーションを示す。
【図１５】この発明の実施形態に従った遅延トークンマージングを用いる音声認識システムの一般的な働きを示すフローチャートＡを示す。
【図１６】この発明の実施形態に従った遅延トークンマージングを用いる音声認識システムの一般的な働きを示すフローチャートＢを示す。
【図１７】実施形態に従った遅延マージトークンを生成する動作を示す。
【図１８】本発明の実施形態に従った部分遅延マージ方法を示す。
【図１９】カテゴリが各ワード履歴と関連する他の実施形態における復号化ネットワークのノードと関連するトークンを示す。
【図２０】カテゴリかを用いるトークンマージング手順を示す。
【図２１】実施形態に従ったカテゴリ基幹遅延マージングまたは混合手順を示す。
【図２２】実施形態の遅延マージ動作を示す。
【図２３】実施形態の遅延マージを示す。
【図１】
2005215672.tif 000015
【図２】
2005215672.tif 000016
【図３】
2005215672.tif 000017
【図４】
2005215672.tif 000018
【図５】
2005215672.tif 000019
【図６】
2005215672.tif 000020
【図７】
2005215672.tif 000021
【図８】
2005215672.tif 000022
【図９】
2005215672.tif 000023
【図１０】
2005215672.tif 000024
【図１１】
2005215672.tif 000025
【図１２】
2005215672.tif 000026
【図１３】
2005215672.tif 000027
【図１４】
2005215672.tif 000028
【図１５】
2005215672.tif 000029
【図１６】
2005215672.tif 000030
【図１７】
2005215672.tif 000031
【図１８】
2005215672.tif 000032
【図１９】
2005215672.tif 000033
【図２０】
2005215672.tif 000034
【図２１】
2005215672.tif 000035
【図２２】
2005215672.tif 000036
【図２３】
2005215672.tif 000037
【外国語明細書】
2005215672000001.pdf