(57)【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて発音プレフィックスツリーをエンコードする方法であって、発音プレフィックスツリーは複数のノードを有し、各非ルート及び非リーフノードは音素を表し、各リーフノードはルートノードからリーフノードへの経路において非リーフノードにより表された音素で形成されたワードを表し、各リーフノードは確率を有し、上記方法は、
各非リーフノードの確率を、その子ノードの確率に基づく確率にセットし、
各ノードのファクタを、そのノードの確率をそのノードの親ノードの確率で除算したものにセットし、そして
発音プレフィックスツリーの各リーフノードに対しエンコードされた発音エントリーを発生し、このエンコードされた発音エントリーは、リーフノードにより表されたワードを指示すると共に、所定のファクタ以外のファクタをもつ最も近い祖先ノードのファクタを含み、
上記発音プレフィックスツリーは、上記エンコードされた発音エントリー及び各ワードを構成する音素のリストから発生できることを特徴とする方法。
【請求項２】
ノードの子ノードは、最も高い確率をもつ子孫リーフノードを有する子ノードが他の子ノードの左側となるように順序付けされ、そして発音プレフィックスツリーの各リーフノードに対してエンコードされた発音エントリーを発生する上記段階は、発音プレフィックスツリーの深さ優先の左−右の横断を実行することを含む請求項１に記載の方法。
【請求項３】
ユニグラム発音プレフィックスツリーを発生し、
発生されたユニグラム発音プレフィックスツリーの各ノードに独特な識別子を指定し、そして
各ワードごとに、ユニグラム発音プレフィックスツリーのルートノードから、そのワードを表すリーフノードへの経路において各ノードに対する独特の識別子を記憶する、
ことによりツリーノード辞書を形成することを含む請求項１に記載の方法。
【請求項４】
独特の識別子の指定は、ユニグラム発音プレフィックスツリーの巾優先の左−右横断において訪問するノードに順次の識別子を指定する請求項３に記載の方法。
【請求項５】
各ノードは、発音プレフィックスツリー内に深さを有し、そしてエンコードされた発音エントリーは、１．０以外のファクタをもつ最も近い祖先ノードの深さを含む請求項１に記載の方法。
【請求項６】
各ワードを構成する音素の指示を含むツリーノード辞書を形成し、
子ノードの子孫リーフノードの最も高い確率に基づいて発音プレフィックスツリーの各非リーフノードの子ノードを順序付けし、
発音プレフィックスツリーの各非リーフノードに対し、非リーフノードの確率をその子ノードの確率に基づく確率にセットし、
発音プレフィックスツリーの各ノードに対し、ノードのファクタを、そのノードの確率をそのノードの親ノードの確率で除算したものにセットし、そして
発音プレフィックスツリーの各リーフノードに対し、エンコードされた発音エントリーを発生し、このエンコードされた発音エントリーは、リーフノードにより表されたワードを指示すると共に、１．０以外のファクタをもつ最も近い祖先ノードのファクタを含む請求項１に記載の方法。
【請求項７】
ノードの子ノードは、最も高い確率をもつ子孫リーフノードを有する子ノードが最も左側となるように確率により順序付けされ、そして発音プレフィックスツリーの各リーフノードに対してエンコードされた発音エントリーを発生する上記段階は、発音プレフィックスツリーの深さ優先の左−右の横断を実行することを含む請求項６に記載の方法。
【請求項８】
ツリーノード辞書の形成は、
ユニグラム発音プレフィックスツリーを発生し、
発生されたユニグラム発音プレフィックスツリーの各ノードに独特な識別子を指定し、そして
各ワードごとに、ルートノードから、そのワードを表すリーフノードへの経路において各ノードに対する独特の識別子を記憶する、
ことを含む請求項６に記載の方法。
【請求項９】
独特の識別子の指定は、ユニグラム発音プレフィックスツリーの巾優先の左−右横断において訪問するノードに順次の識別子を指定する請求項８に記載の方法。
【請求項１０】
発音プレフィックスツリーをエンコードするためのエンコーダと、
認識されるべきスピーチを受け取りそしてその受け取ったスピーチを構成する音素を識別するための音素確認装置と、
識別された音素に対応するワードを、エンコードされた発音プレフィックスツリーでエンコードされた確率を用いて識別するための確認装置とを備えたことを特徴とするスピーチを認識するコンピュータシステムであって、
上記発音プレフィックスツリーは複数のノードを有し、各非ルート及び非リーフノードは音素を表し、各リーフノードはルートノードからリーフノードへの経路において非リーフノードにより表された音素で形成されたワードを表し、各リーフノードは確率を有し、
各非リーフノードの確率を、その子ノードの確率に基づく確率にセットし、
各ノードのファクタを、そのノードの確率をそのノードの親ノードの確率で除算したものにセットし、そして
上記発音プレフィックスツリーの各リーフノードに対しエンコードされた発音エントリーを発生し、このエンコードされた発音エントリーは、上記リーフノードにより表されたワードを指示すると共に、所定のファクタ以外のファクタをもつ最も近い祖先ノードのファクタを含むことを特徴とするコンピュータシステム。
【請求項１１】
ノードの子ノードは、最も高い確率をもつ子孫リーフノードを有する子ノードが他の子ノードの左側となるように順序付けされ、そして発音プレフィックスツリーの各リーフノードに対してエンコードされた発音エントリーを発生する上記段階は、発音プレフィックスツリーの深さ優先の左−右の横断を実行することを含む請求項１０に記載のコンピュータシステム。
【請求項１２】
上記エンコーダは、
ユニグラム発音プレフィックスツリーを発生し、
発生されたユニグラム発音プレフィックスツリーの各ノードに独特な識別子を指定し、そして
各ワードごとに、ユニグラム発音プレフィックスツリーのルートノードから、そのワードを表すリーフノードへの経路において各ノードに対する独特の識別子を記憶する、
ことによりツリーノード辞書を形成する請求項１０に記載のコンピュータシステム。
【請求項１３】
独特の識別子の指定は、ユニグラム発音プレフィックスツリーの巾優先の左−右横断において訪問するノードに順次の識別子を指定する請求項１２に記載のコンピュータシステム。
【請求項１４】
発音プレフィックスツリーは、バイグラム発音プレフィックスツリーである請求項１０に記載のコンピュータシステム。
【請求項１５】
発音プレフィックスツリーは、トリグラム発音プレフィックスツリーである請求項１０に記載のコンピュータシステム。
【請求項１６】
発音プレフィックスツリーをエンコードするためのエンコーダと、
認識されるべきスピーチを受け取りそしてその受け取ったスピーチを構成する音素を識別するための音素確認装置と、
識別された音素に対応するワードを、エンコードされた発音プレフィックスツリーでエンコードされた確率を用いて識別するための確認装置とを備えたことを特徴とするスピーチを認識するコンピュータシステムであって、
上記ツリーは複数のノードを有し、上記ツリーは、ルートノード及びリーフノードを有し、各リーフノードはある値を有し、上記エンコーダは、さらに、
ルートノードからリーフノードへ至る各経路のノードの識別を伴う経路リストと、
各ノードのファクタを、ノードの値をそのノードの親ノードの値で除算したものにセットする手段と、
上記ツリーの各リーフノードに対しエンコードされたエントリーを発生する手段とを備え、上記エンコードされたエントリーは、上記リーフノードを識別すると共に、所定のファクタ以外のファクタをもつ最も近い祖先ノードのファクタを含むことを特徴とするコンピュータシステム。
【請求項１７】
上記ツリーは、上記エンコードされたエントリー及び経路リストから発生することができる請求項１６に記載のコンピュータシステム。
【請求項１８】
各ノードは、ツリー内の深さを有し、上記エンコードされたエントリーは、１．０以外のファクタをもつ最も近い祖先ノードの深さを含む請求項１６に記載のコンピュータシステム。
【請求項１９】
エンコードされたエントリーを発生した後に、各エンコードされたエントリーごとに、そのエンコードされたエントリーにより識別されたリーフノードのリストにおいてある深さのノードの識別を選択することにより、ツリー内のある深さのノードを識別する手段を備えた請求項１８に記載のコンピュータシステム。
【請求項２０】
上記ある深さは、リストのインデックスとして使用される請求項１９に記載のコンピュータシステム。
【請求項２１】
上記ツリーは、バイグラム発音プレフィックスツリーであり、そしてある深さのノードの識別は、一連の音素の認識中に実行される請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータスピーチ認識のためのコンピュータシステムに係り、より詳細には、発音のプレフィックスツリーをコンパクトにエンコードするための方法及びシステムに係る。
【０００２】
【従来の技術】
コンピュータシステムにより人間のスピーチを迅速且つ正確に認識することはコンピュータシステムの開発者が長年追求している目標である。このようなコンピュータスピーチ認識（ＣＳＲ）システムから得られる利益は絶大である。例えば、文書をコンピュータシステムに打ち込むのではなく、人間は文書のワードを単に話すだけでよく、ＣＳＲシステムがワードを認識し、そしてワードがタイプされたかのように各ワードの文字を記憶する。人間は一般にタイプするより速く話すことができるので、効率が改善される。又、人間は、もはやタイプの仕方を学習する必要がなくなる。又、コンピュータを使用できる多くの用途では、人間の手がタイプ以外の作業で占有されるために、その使用が現在非実際的となっている。
【０００３】
スピーチを処理するために、典型的なＣＳＲシステムは、音素と称するスピーチの基本単位を定義する。各音素は異なる音に対応する。例えば、ワード「ｃｏｔｔｏｎ」は、通常、４つの音素「ｋ」、「ａｗ」、「ｔ」及び「ｅｎ」で話される。ＣＳＲシステムは、音声辞書を使用して、各ワードの音素を辞書に記憶する。図１は、５ワードの語彙サンプルに対する音声辞書を示している。この音声辞書は、語彙の各ワードを、そのワードを構成する音素と共に含む。例えば、ワード「ｃｏｔｔｏｎ」の辞書入力は、「ｃｏｔｔｏｎ  ｋ  ａｗ  ｔ  ｅｎ」である。ＣＳＲシステムは、スピーチの一部分を受け取ると、どの音素が話されたか識別する。音素が識別されると、ＣＳＲシステムは、辞書を走査して、どのワードがそれらの音素を構成するか決定することができる。ＣＳＲシステムが各音素を正しく識別できる場合には、スピーチの認識が比較的単純な作業となる。しかしながら、音素の正しい識別は、困難な作業であると分かっている。
【０００４】
音素認識において遭遇する難題は、人間のスピーチパターンがほとんど無限に変化することにより生じる。この変化は、話し手のアクセント、話す速度及び調子、話し手の現在の健康状態（例えば、風邪をひいた）、話し手の年齢及び性別等により生じる。従って、ＣＳＲシステムは、スピーチの一部分を処理するときに、各音素に対し、スピーチのその部分がその音素に対応する見込みを示す確率を指定する。例えば、「ｗｅｒｅ」又は「ｗｅａｒ」のワードが話される場合には、ＣＳＲシステムは、スピーチが２つの部分を構成すると考える。第１の部分に対して、ＣＳＲシステムは、音素「ｗ」に０．９の確率を指定し、音素「ａｘｒ」に０．１の確率を指定し、そして他の全ての音素に０の確率を指定する。第２の部分に対して、ＣＳＲシステムは、音素「ｅｒ」に０．６の確率を指定し、音素「ａｘｒ」に０．３の確率を指定し、音素「ｗ」に０．１の確率を指定し、そして他の全ての音素に０の確率を指定する。次いで、ＣＳＲシステムは、ワードを話されたワードと最も厳密に一致する最も高い確率で一連の音素を認識することができる。この例では、話されたワードが「ｗｅｒｅ」である確率が０．５４（即ち０．９ｘ０．６）であり、そして話されたワードが「ｗｅａｒ」である確率が０．３６（即ち０．９ｘ０．４）である。従って、ＣＳＲシステムは、ワードを「ｗｅｒｅ」と認識する。
【０００５】
スピーチパターンのこれらの変化を更に加味するために、ＣＳＲシステムは、話されたワードの識別を助けるために、典型的なスピーチパターンから累積される種々の確率を使用する。特に、ＣＳＲシステムは、特定のワードが日常のスピーチで話される確率を使用する。図１の音声辞書は、語彙のワードに対する例示的な確率を示している。これらの確率は、前後関係とは独立したもので、即ちそのワードの前後に話されるワードに関わりなくワードが話される確率を表す。例えば、この例示的な語彙においては、ワード「ｗｅ」は、０．３の確率を有し、そしてワード「ｃｏｔｔｏｎ」は、０．１の確率を有する。これらの確率は、ワード「ｗｅ」が典型的にワード「ｃｏｔｔｏｎ」よりも３倍は頻繁に話されることを示す。前後関係とは独立した確率は、単一のワードに基づくので、それらをユニグラム確率と称する。上記例を続けると、前後関係とは独立した確率も考慮する場合は、話されたワードが「ｗｅｒｅ」である確率は、０．０８１であり、そして話されたワードが「ｗｅａｒ」である確率は、０．０９である。従って、前後関係とは独立した確率が考慮された場合には、ＣＲＳシステムは、ワードを「ｗｅｒｅ」ではなく、「ｗｅａｒ」と認識する。
【０００６】
認識を更に改善するために、ＣＳＲシステムは、前後関係に従属する確率も用いている。前後関係に従属する確率は、各ワードが一連の他のワードに続く確率である。例えば、ワード「ｔｏ  ｂｅ  ｏｒ  ｎｏｔ  ｔｏ」の後にワード「ｂｅ」が続く確率は、極めて高い。しかしながら、記憶する必要のある確率の数はシーケンスの長さと共に指数関数的に増加する。特に、ｌ個のワードの全ての考えられるシーケンスを表すために記憶する必要のある確率の数は、辞書におけるワードの数をｎとすれば、ｎのｌ乗となる。通常の辞書は、６０，０００語を含むことができるので、前後関係に従属する確率を表すには膨大な量の記憶が必要になる。従って、ＣＳＲシステムは、一般に、確率を記憶するシーケンスの長さを２に制限している（即ち、ｌ＝２）。例えば、ＣＳＲシステムは、ワード「ｂｅ」がワード「ｔｏ」に続く確率と、ワード「ｏｒ」がワード「ｂｅ」に続く確率を記憶するが、ワード「ｏｒ」がワード「ｔｏ  ｂｅ」に続く確率は記憶しない。図２は、長さ２の例示的な語彙のシーケンスに対する前後関係に従属する確率を示す。例えば、ワード「ｗｅａｒ」の後にワード「ｃｏｔｔｏｎ」が続く確率は、０．９であり、そしてワード「ｗｅａｒ」の後にワード「ｗｅ」が続く確率は、０．１である。これらの前後関係に従属する確率は、２つのワードのシーケンスに基づいているので、バイグラム確率と称する。上記例を続けると、ワード「ｗｅ」が次に話されそして前後関係に従属する確率を考慮する場合に、最初に話されたワードが「ｗｅｒｅ」である確率は、０．０４０５であるが、最初に話されたワードが「ｗｅａｒ」である確率は、０．００９である。従って、ＣＲＳシステムは、最初に話されたワードをワード「ｗｅｒｅ」として認識する。
【０００７】
【発明が解決しようとする課題】
大きな語彙システムにおいてスピーチ内容を認識するには膨大な量の計算が必要となることから、語彙システムにおいては、語句の開始で他の語句と重複した部分があった場合、発音プレフィックスツリーに基づいたデータ編成を使用し、その重複部分に対応する発音プレフィックスを一致させて冗長な計算を排除するようにしている。
【０００８】
図３は、例示的な音声辞書のプレフィックスツリーデータ構造体を示す。このプレフィックスツリーデータ構造体は、音声辞書と同じ情報を、スペースを節約し且つ容易にサーチできるフォーマットで含んでいる。発音プレフィックスツリー（ＰＰＴ）と称するこのプレフィックスツリーデータ構造体は、共通のプレフィックスを共用するワードに対する冗長な音素の記憶を排除することによりスペースを節約する。例えば、ワード「ｃａｕｇｈｔ」及び「ｃｏｔｔｏｎ」の発音は、ノード２０１ないし２０６により表される。最初の３つの音素「ｋ」、「ａｗ」及び「ｔ」は、両方のワードに共用されるので、ＰＰＴは、これら音素の各々に対し１つのノードしか含まない。ＣＳＲシステムは、ルートノードから、話されたワードを表すリーフノードへ、認識された音素の経路をたどることによりＰＰＴを迅速にサーチすることができる。例えば、音素「ｋ  ａｗ  ｔ  ｅｎ」が受け取られた場合には、ＣＳＲシステムは、ルートノード２００でスタートして、ワード「ｃｏｔｔｏｎ」を表すリーフノード２０６で終わるプレフィックスツリーを進むことになる。各リーフノードは、辞書のワードを表し、そのワードのユニグラム確率を含んでいる。例えば、リーフノード２０６は、ワード「ｃｏｔｔｏｎ」に対するユニグラム確率である０．１の確率を含む。ＰＰＴの各ノードは、ルートからノードへの分岐の数を表すプレフィックスツリー内の深さにある。例えば、ノード２０６の深さは５である。図３のＰＰＴは、ユニグラム確率を含むので、ユニグラムＰＰＴとして知られている。
【０００９】
図４は、ワード「ｗｅｒｅ」に続く辞書のワードに対するバイグラム確率を表すバイグラムＰＰＴである。各リーフノードは、ワード「ｗｅｒｅ」に続くことのできるワードに対応し、このようなワードがワード「ｗｅｒｅ」に続く確率を含む。従って、全てのバイグラム確率を表すために、辞書の各ワードは、そのワードに続くワードの対応確率を含むバイグラムＰＰＴを有する。このようなバイグラムＰＰＴの表示は、大量の記憶を必要とする。例えば、典型的な辞書は、バイグラムＰＰＴで表された５．０２百万のバイグラム確率を有し、全部で１８．２百万のノードをもつ。各ノードが４バイトのメモリを使用すると仮定すれば、全てのバイグラム確率を記憶するのに７２．８百万のバイトが必要になる。このような大量のデータは、このような情報を従来のメモリ装置に記憶するのを不可能にするだけではなく、確率を迅速に探索するのも不可能にする。
【００１０】
【課題を解決するための手段】
本発明は、バイグラム発音プレフィックスツリーを表すのに必要な記憶量を著しく低減しそしてスピーチ認識中に子ノードを迅速に決定できるようにバイグラム発音プレフィックスツリーをエンコードする方法及びシステムを提供する。コンピュータシステムは、１つのツリーノード辞書を伴う各バイグラム発音プレフィックスツリーに対し、バイグラム発音プレフィックスツリーをエンコードで表す。コンピュータシステムは、語彙の各ワードを構成する音素のリストを含むツリーノード辞書を発生する。次いで、コンピュータシステムは、各バイグラム発音プレフィックスツリーに対して次の動作を繰り返す。コンピュータシステムは、各非リーフノードの確率を、その子ノードの確率に基づく確率にセットする（即ち、スミアリング(smearing)）。次いで、コンピュータシステムは、各ノードのファクタを、そのノードの確率をそのノードの親ノードの確率で除算したものにセットする（即ち、ファクトリング(factoring) ）。最後に、コンピュータシステムは、バイグラム発音プレフィックスツリーの各リーフノードに対してエンコードされた発音エントリーを形成する。このエンコードされた発音エントリーは、リーフノードで表されたワードを指示し、そして所定のファクタ以外のファクタをもつ最も近い祖先のファクタを含む。
【００１１】
次いで、このエンコードされたバイグラム発音プレフィックスツリーをスピーチ認識中に使用して、バイグラムコンテクストをインスタンス生成することができる。バイグラムコンテクストは、対応する音素が話された見込みを示す各ノードの確率をもつバイグラム発音プレフィックスツリーのインスタンスである。各音素が話されるたびに、コンピュータシステムは、エンコードを使用して、バイグラムコンテクストに追加されるべき次の子ノードを識別する。次いで、コンピュータシステムは、ツリーノード辞書を使用して、バイグラムコンテクストに追加されるべき子ノードを迅速に識別する。
【００１２】
バイグラム発音プレフィックスツリーをエンコードするのに加えて、コンピュータシステムは、トリグラム及び一般的には任意の長さのｎグラムに対して発音ツリーをエンコードすることができる。各発音プレフィックスツリーは、ｎグラムの長さに関わりなく、同じ形式の情報を含み、即ちワード及び確率に対応するリーフノードを含む。スピーチを認識すると、ｎグラムコンテクストは、ｎグラムのワード数から１を引いたものにセットされる。例えば、トリグラムコンテクストは、エンコードされたトリグラム発音プレフィックスツリーに関連した２つのワードにセットされる。
【００１３】
【発明の実施の形態】
好ましい実施形態において、本発明は、バイグラム発音プレフィックスツリーをエンコードしそしてこのエンコードの発音プレフィックスツリーを用いてスピーチを認識するための方法及びシステムを提供する。バイグラム発音プレフィックスツリーは、認識中に祖先ノードのみに基づいて「スミアリング」された確率を決定できるようにエンコードされる。スミアリングされた確率とは、そのノードの子孫ノードの確率に基づいて各非リーフノードに記憶された確率を意味する。スミアリングされた確率を使用すると、ワードの識別が分かる前に、認識中に確率の計算を行うことができる。
【００１４】
本発明のシステムは、スミアリングされた確率をもつバイグラム発音プレフィックスツリーを、各バイグラム発音プレフィックスに対し１つのツリーノード辞書とエンコードとの組み合わせとしてエンコードする。ツリーノード辞書は、語彙の各ワードを構成する音素のリストを含む。各バイグラム発音プレフィックスツリーのエンコードは、各リーフノードのエントリーを含む。このエントリーは、１．０以外のファクタをもつ最も近い祖先ノードのファクタと共にリーフノードのワードを識別する。バイグラム発音プレフィックスツリーの各ノードは、そのノードのスミアリングされた確率を親ノードの確率で除算したものに等しいファクタが指定される。このファクタは、兄弟ノードをもたない各ノードのファクタが１．０であるという特徴を有する。バイグラム発音プレフィックスツリーにおける大半のノードは、通常、兄弟をもたないので、１．０のファクタをエンコードから除去することができる。
【００１５】
エンコードされたバイグラム発音プレフィックスツリーは、スピーチ認識中に、バイグラムコンテクストをインスタンス生成するのに使用できる。バイグラムコンテクストは、対応する音素が話された見込みを示す各ノードの確率をもつバイグラム発音プレフィックスツリーのインスタンスである。各音素が話されたときには、コンピュータシステムは、エンコードを使用して、バイグラムコンテクストに追加されるべき次の子ノードを識別する。次いで、コンピュータシステムは、ツリーノード辞書を使用して、バイグラムコンテクストに追加されるべき子ノードを速やかに識別する。
【００１６】
図５は、本発明の要素を示すコンピュータシステムのブロック図である。このコンピュータシステムは、中央処理ユニット、メモリ及び種々の記憶装置を備えた標準的なコンピュータである。このコンピュータシステムは、バイグラムＰＰＴ３０１、ＰＰＴエンコーダ３０２、エンコードされたバイグラムＰＰＴ３０３、音素認識装置３０４、コンピュータスピーチ認識装置（ＣＳＲ）３０５、及びユニグラムＰＰＴ３０６を備えている。ＰＰＴエンコーダ及びコンピュータスピーチ認識装置を実施するコンピュータプログラムは、通常は、コンピュータメモリ又はディスクドライブのようなコンピュータ読み取り可能な媒体に記憶される。ＰＰＴエンコーダ３０２は、バイグラムＰＰＴ３０１がエンコードされたバイグラムＰＰＴ３０３を発生できるようにする。エンコードされたバイグラムＰＰＴは、バイグラムＰＰＴのコンパクトエンコードである。スピーチ認識中に、ＣＳＲシステム３０５は、音素認識装置３０４から一連の音素を受け取り、そしてエンコードされたバイグラムＰＰＴ３０３及びユニグラムＰＰＴ３０６を用いて、一連の受け取った音素をワードとして認識する。
【００１７】
図６は、例示的な辞書に対する拡張ユニグラムＰＰＴを示す。拡張ユニグラムＰＰＴは、各ノードのファクタを含むように拡張されると共にそのノードがユニグラム確率により順序付けされたユニグラムＰＰＴである。各親ノードの子ノードは、その子ノードの子孫リーフノードの最大の確率に基づいて左から右へと順序付けされる。例えば、ノード〔１〕の子孫リーフノードの最大の確率は０．３であり、ノード〔２〕の子孫リーフノードの最大の確率は０．２であるから、ノード〔１〕は、ノード〔２〕の左にある。同様に、ノード〔３〕、ノード〔４〕及びノード〔５〕の子孫リーフノードの最大確率は、０．３、０．２５及び０．１５であるから、ノード〔３〕は最も左にあり、そしてノード〔５〕は最も右にある。ユニグラムＰＰＴの各ノードには、順次ノード識別が指定される。これらのノード識別は、ユニグラムＰＰＴの巾優先の左−右の横断においてノードが訪問されるときに指定される。従って、同じ深さにあるノードは、順次の独特の識別子を有する。例えば、深さ３のノードは、識別子〔３〕、〔４〕、〔５〕及び〔６〕を含む。
【００１８】
拡張ユニグラムＰＰＴのファクタは、式（１）及び（２）に基づく確率から形成される。先ず、各非リーフノードの確率が、リーフノードの確率に基づいてセットされる。各非リーフノードの確率は、次の式で発生される。
0003601751.tif 000002
即ち、ユニグラムＰＰＴの各非リーフノードの確率は、その子ノードの確率の最大値である。例えば、ノード〔１〕は、０．３の確率を有し、これは、その子ノード〔３〕、〔４〕及び〔５〕の確率である０．３、０．２５及び０．１５のうちの最大確率である。各ノードのファクタは、次の式により発生される。
ｆ（ｎ）＝Ｐ’（ｎ）／Ｐ’（ｐａｒｅｎｔ（ｎ）  ）                        （２）
即ち、ノードのファクタは、そのノードの確率をその親ノードの確率で除算したものである。例えば、ノード〔５〕の確率は、０．１５であり、そしてその親ノード〔１〕の確率は、０．３であり、従って、ノード〔５〕のファクタは、０．１５を０．３で除算した０．５である。拡張ユニグラムＰＰＴは、ノードのファクタのみを記憶する。というのは、ファクタから確率を発生できるからである。ノードに関連した確率は、その親ノードの確率にノードのファクタを乗算したものである。例えば、ノード〔１〕の確率は０．３であり、そして子ノード〔５〕のファクタは０．５である。従って、ノード〔５〕の確率は、０．３に０．５を乗算した０．１５となる。確率ではなく、このようなファクタを使用するのは、大半のファクタが一般的に１．０であり、コンパクトな表示に適しているからである。即ち、除去されるいかなるファクタも、１．０であると仮定することができる。
【００１９】
拡張ユニグラムＰＰＴが発生されると、ＰＰＴエンコーダは、ツリーノード辞書（ＴＮＤ）を発生する。図７は、図６の拡張ユニグラムＰＰＴに対するツリーノード辞書を示している。ＴＮＤは、辞書内の各ワードに対するエントリーを、そのワードを認識するときに拡張ユニグラムＰＰＴに訪問される各ノードのノード識別子と共に含んでいる。例えば、ワード「ｃｏｔｔｏｎ」を認識するために、ノード〔０〕、〔２〕、〔６〕、〔１０〕、〔１２〕及び〔１３〕が横断される。横断は常にノード〔０〕でスタートするので、そのノード識別子をＴＮＤから除去することができる。ＴＮＤ及びエンコードされたバイグラムＰＰＴは、バイグラムＰＰＴのエンコードを表す。
【００２０】
又、ＰＰＴエンコーダは、各バイグラムＰＰＴをユニグラムＰＰＴの拡張と同様に拡張する。特に、各非リーフノードに対してファクタが発生される。図８は、ワードバイグラムコンテクスト「ｗｅｒｅ」に対する拡張バイグラムＰＰＴを表し、そして図９は、ワードバイグラムコンテクスト「ｗｅａｒ」に対する拡張バイグラムＰＰＴを表している。ＰＰＴエンコーダは、拡張バイグラムＰＰＴ６０１及び７０１に対し各々エンコード６０２及び７０２を発生する。エンコードされたバイグラムＰＰＴは、各リーフノードごとにエントリーを含む。エンコードされたバイグラムＰＰＴ及びＴＮＤからバイグラムＰＰＴを再生することができる。従って、エンコードされたバイグラムＰＰＴは、バイグラムＰＰＴのコンパクトエンコードを表す。エンコードされたバイグラムＰＰＴ（ＬＥＢＰＰＴ）の各エントリーは、拡張バイグラムＰＰＴ内のワード、ファクタ及び深さを識別する。例えば、ＬＥＢＰＰＴ６０２の第２エントリーは、ワード「ｃａｕｇｈｔ」、ファクタ０．８及び深さ１を識別する。この第２エントリーは、ワード「ｃａｕｇｈｔ」のリーフノードが０．８の確率を有することを示す。即ち、ノード〔１１〕の確率は、ＬＥＢＰＰＴ６０２の第１エントリーのファクタ０．５の０．８倍である。更に、この第２エントリーは、０．８のファクタが拡張バイグラムＰＰＴ内の深さ１のノードに記憶されることを示す。
【００２１】
ＰＰＴエンコーダは、拡張バイグラムＰＰＴの左−右の深さ優先横断を実行することによりＬＥＢＰＰＴを発生する。訪問した各リーフノードごとに、ＰＰＴエンコーダは、リーフノード内のワード並びに１．０以外のファクタ有する最後に訪問したノードのファクタ及び深さを識別するエントリーをＬＥＢＰＰＴに加える。例えば、図８のリーフノード〔７〕が訪問されたときには、１．０以外のファクタをもつ最後に訪問したノードがノード〔０〕である。それ故、ＬＥＢＰＰＴの最初のエントリーは、「ｗｅ  ０．５  ０」であり、これは０．５のファクタと０の深さを示す。第２のエントリーは、ノード〔１１〕に対応する。ノード〔１１〕を訪問する前に最後に訪問した１．０以外のファクタをもつノードはノード〔２〕であり、これはファクタ０．８及び深さ１を有する。従って、ＬＥＢＰＰＴの第２のエントリーは、「ｃａｕｇｈｔ  ０．８  １」である。最後に、ノード〔１３〕が訪問されたときには、１．０以外の確率をもつ最後に訪問したノードはノード〔１２〕であり、これは、ファクタ０．２５及び深さ４を有する。従って、ＬＥＢＰＰＴの第３エントリーは、「ｃｏｔｔｏｎ０．２５  ４」である。
【００２２】
バイグラムＰＰＴは、ツリーノード辞書（ＴＮＤ）を用いてＬＥＢＰＰＴをデコードすることによりＬＥＢＰＰＴから再生することができる。ＬＥＢＰＰＴの各エントリーごとに、デコーダは、ＬＥＢＰＰＴエントリーに記憶されたワードに対してＴＮＤからエントリーを検索する。（好ましいＣＳＲシステムは、認識を開始する前にこのようなデコードを実際に行わず、デコードは認識と一体化される。）ＴＮＤエントリーは、そのワードのバイグラムＰＰＴの一部分であるノードを識別する。即ち、エントリーは、そのワードに対するルートノードからリーフノードへ至る経路上でバイグラムＰＰＴを識別する。デコーダは、各識別されたノードに対しバイグラムＰＰＴにノードを追加する。例えば、デコーダは、ＬＥＢＰＰＴ６０１の第１エントリーに遭遇すると、バイグラムＰＰＴにルートを追加し、そしてワード「ｗｅ」に対してＴＮＤエントリーにおいて識別された各ノードごとにノードを追加する。次いで、デコーダは、ＬＥＢＰＰＴエントリーに記憶された深さにあるノードを除いて、各追加ノードのファクタを１．０にセットする。デコーダは、そのノードのファクタをＬＥＢＰＰＴエントリーのファクタにセットする。同様に、デコーダは、第２のエントリーに遭遇すると、その第２エントリーに記憶されたワードに対しＴＮＤからエントリーを検索する。デコーダは、各識別されたノードに対してバイグラムＰＰＴにノードを追加する（まだ追加されていない場合）。デコーダは、ワード「ｃａｕｇｈｔ」に対するノードの識別子をＴＮＤから検索し、そして各識別されたノードに対しノードを追加する。次いで、デコーダは、深さ１に形成されたノードのファクタを０．８にセットし、そして他の全てのファクタを１．０にセットする。最後に、デコーダは、第３のエントリーに遭遇すると、ワード「ｃｏｔｔｏｎ」に対してＴＮＤエントリーを検索し、そしてまだ追加されていない各識別されたノード、即ちノード〔１２〕及びノード〔１３〕に対してノードを追加する。次いで、デコーダは、ＬＥＢＰＰＴエントリーの深さにあるノードのファクタをＬＥＢＰＰＴエントリーのファクタ０．２５にセットし、そして他の全てのファクタを１．０にセットする。この点において発生されるＰＰＴは、拡張バイグラムＰＰＴである。次いで、デコーダは、拡張バイグラムＰＰＴを横断して、リーフノードに対する確率を発生する。バイグラムＰＰＴをコンパクトに表すために、エンコードされたバイグラムツリーのカラムの深さが不要であることが当業者に明らかであろう。しかしながら、以下で明らかなように、深さを含ませると、スピーチ認識中にバイグラムコンテクストを迅速に形成することができる。
【００２３】
図１０は、エンコードバイグラムＰＰＴルーチンのフローチャートである。エンコードバイグラムＰＰＴルーチンは、ＰＰＴエンコーダにより実行される。このルーチンは、ルーチンに通された拡張バイグラムＰＰＴの深さ優先の左−右横断を実行しそしてエンコードされたバイグラムＰＰＴを形成する反復ルーチンである。このルーチンは、最初に呼び出されると、拡張バイグラムＰＰＴのルートノードを通す。ルーチンがそれ自身を繰り返し呼び出すたびに、拡張バイグラムＰＰＴのサブツリーを通す。ステップ８０１において、通されたサブツリーのルートノードがリーフノードである場合には、ルーチンはステップ８０５に続くが、さもなくば、ルーチンはステップ８０２に続く。ステップ８０２ないし８０４において、ルーチンはループして、通されたサブツリーのルートノードの各子ノードを選択し、そしてこのルーチンを繰り返し呼び出して、選択された子ノードをサブツリーのルートノードとして通す。ステップ８０２において、ルーチンは、第１の子ノードで始めて、通されたサブツリーの次の子ノードを選択する。ステップ８０３において、通されたサブツリーのルートノードの全ての子ノードが既に選択された場合には、ルーチンは復帰するが、さもなくば、ルーチンは、このルーチンを繰り返し呼び出して、選択されたノードをサブツリーのルートノードとして通し、そしてステップ８０２へループして、次の子ノードを選択する。ステップ８０５において、ルーチンは、ルートノードのワードに対しＬＥＢＰＰＴにエントリーを追加すると共に、１．０のファクタをもたない最後の訪問したノードの深さ及びファクタを追加し、そして復帰する。このルーチンは、バイグラムＰＰＴをエンコードするものとして説明しないが、対応するｎグラムの長さに関わりなく、この同じルーチンを変更せずに使用して、ＰＰＴをエンコードすることができる。
【００２４】
図１１は、デコードＬＥＢＰＰＴルーチンのフローチャートである。デコードＬＥＢＰＰＴルーチンには、ＬＥＢＰＰＴ及びＴＮＤが通され、拡張バイグラムＰＰＴを再生する。上記のように、好ましいＣＳＲシステムは、拡張バイグラムＰＰＴを再生する必要はない。むしろ、ＣＳＲシステムは、以下に述べるように必要な情報をＬＥＢＰＰＴから直接検索する。ステップ９０１ないし９０９において、ルーチンはループして、各ＬＥＢＰＰＴエントリーを選択し、そしてそのエントリーにより表された拡張バイグラムＰＰＴにノードを追加する。ステップ９０１において、ルーチンは、最初から始めて次のＬＥＢＰＰＴを選択する。ステップ９０２において、全てのＬＥＢＰＰＴエントリーが既に選択された場合には、ルーチンは復帰し、さもなくば、ルーチンはステップ９０３に続く。ステップ９０３において、ルーチンは、選択されたＬＥＢＰＰＴエントリーのワードに対応するＴＮＤエントリーを選択する。ステップ９０４ないし９０９において、ルーチンはループして、選択されたＴＮＤエントリーで識別された各ノードを処理し、そしてまだ追加されていない場合にはそれを拡張バイグラムＰＰＴに追加する。ステップ９０４において、ルーチンは、選択されたＬＥＢＰＰＴエントリーの深さで始めて次の深さを選択する。選択された深さが、選択されたＴＮＤエントリーの最大深さより大きい場合には、ルーチンはステップ９０１へループして、次のＬＥＢＰＰＴエントリーを選択するが、さもなくば、ルーチンはステップ９０６に続く。ステップ９０６では、ルーチンは、選択されたＴＮＤエントリーで識別されたノードに対応するノードを拡張バイグラムＰＰＴに追加する。ステップ９０７において、選択された深さが、選択されたＬＥＢＰＰＴエントリーの深さに等しい場合には、ルーチンはステップ９０８に続き、さもなくば、ルーチンはステップ９０９に続く。ステップ９０８においては、ルーチンは、追加されたノードのファクタを、選択されたＬＥＢＰＰＴエントリーのファクタにセットする。ステップ９０９において、ルーチンは、追加されたノードのファクタを１．０にセットする。次いで、ルーチンは、ステップ９０４にループし、次の深さを選択する。
【００２５】
図１２は、ＬＥＢＰＰＴを使用するＣＳＲシステムのフローチャートである。ＣＳＲシステムは、一連の音素を検索し、そしてそれらの音素に最もマッチする一連のワードを選択する。認識システムは、各音素が処理されるときに一連の音素が表す一連のワードに関して新たな仮定を繰り返し発生する。例えば、ＣＳＲシステムは、次の仮定を確立する。
Ｈ１（ｔ）＝「ｗｅ  ｗｅａｒ」      Ｐ（Ｈ１（ｔ））＝０．６
Ｈ２（ｔ）＝「ｗｅ  ｗｅｒｅ」      Ｐ（Ｈ２（ｔ））＝０．４
ＣＳＲシステムは、ＴＮＤに関連してユニグラム及びバイグラムＰＰＴを参照することによりこれらの仮定を拡張する。
【００２６】
図１３ないし１５は、ＣＳＲシステムにより発生されたＰＰＴを示す。ＣＳＲシステムは、最良の仮定（即ち、最も高い確率をもつ仮定）に対してユニグラムＰＰＴを発生し、そして各々の仮定（バイグラムコンテクストと称する）に対してバイグラムＰＰＴを発生する。ユニグラムＰＰＴのノードは、最良の仮定の確率に、そのノードに対するユニグラム確率を乗算したものを含む。例えば、図１３のノード〔５〕の確率は、図６のノード〔５〕からのユニグラム確率０．１５に最良の仮定の確率０．６を乗算した０．０９である。バイグラムＰＰＴのノードは、対応する仮定の確率にそのノードの確率を乗算したものを含む。例えば、図１４のノード〔１０〕の確率は、図８のノード〔１０〕からのバイグラム確率０．４に、対応する仮定の確率０．６を乗算した０．２４である。ＣＳＲシステムは、各音素が受け取られるときに、ユニグラムＰＰＴ及びバイグラムＰＰＴを並列に構成する。バイグラムＰＰＴを発生するために、ＣＳＲシステムは、ＬＥＢＰＰＴ及びＴＮＤを使用して、どんなノードを追加すべきか及びそれらノードに対する確率を識別する。
【００２７】
最後の音素が処理された後に、ＣＳＲシステムは、音素に最良にマッチする一連のワードとして最良の仮定を選択する。最後の音素がまだ処理されない場合には、ＣＳＲシステムは、最初から始めて、次の未処理の仮定を次の仮定として選択する。
【００２８】
図１２を参照すれば、ステップ１００１において、システムは、次の音素を検索する。ステップ１００２において、全ての音素が既に処理された場合には、システムは、ステップ１０１０に続き、さもなくば、ステップ１００３に続く。ステップ１００３において、システムは、検索された音素に対し新たな仮定を確立する。ステップ１００４において、新たな仮定が確立されない場合には、システムは、ステップ１００５に続き、さもなくば、システムは、ステップ１００７にスキップして、バイグラムＰＰＴを更新する。ステップ１００５−１００９において、システムは、最良の仮定に対してユニグラムＰＰＴをそして各仮定に対してバイグラムＰＰＴをインスタンス生成する。次いで、システムは、仮定の確率とユニグラム及びバイグラムの確率とに基づいて、ＰＰＴのノードの確率をセットし、システムはループして、仮定の状態を反映するようにＰＰＴを更新する。ステップ１００５において、システムは、初期化ワード間バイグラムＰＰＴルーチンを呼び出し、これは１つのワードから次のワードへの移行に対してバイグラムＰＰＴを初期化する。ステップ１００６において、システムは、初期化ワード間ユニグラムＰＰＴルーチンを呼び出し、これは１つのワードから次のワードへの移行に対してユニグラムＰＰＴを初期化する。ステップ１００７ないし１００９において、ルーチンはループし、バイグラムＰＰＴのユニグラムを音素に基づいて更新する。ステップ１００７において、システムは、更新バイグラムＰＰＴを呼び出し、音素に基づいてバイグラムＰＰＴを更新する。ステップ１００８において、システムは、更新ユニグラムＰＰＴルーチンを呼び出す。ステップ１００９において、新たに確立された各仮定のバイグラムＰＰＴが完了した場合に、ルーチンはステップ１００１へループし、次の音素を選択するが、さもなくば、ステップ１００７へループして、ＰＰＴの更新を完了する。ステップ１０１０において、システムは、検索された一連の音素に対する認識されたワードとして最良の仮定を選択し、そして完了する。
【００２９】
図１６は、初期化ワード間バイグラムＰＰＴルーチンを示すフローチャートである。このルーチンは、新たに確立された各仮定の最後のワードに対しバイグラムコンテクスト（即ち、新たなバイグラムＰＰＴ）を確立する。このルーチンは各バイグラムコンテクストに対しルートノードを初期化する。ステップ１４０１ないし１４０９において、ルーチンはループして各仮定の選択及び処理を行う。ステップ１４０１において、ルーチンは、最初から始めて次の仮定を選択する。ステップ１４０２において、全ての仮定が既に選択された場合には、ルーチンは復帰し、さもなくば、ルーチンはステップ１４０３へ続く。ステップ１４０３において、ルーチンは、バイグラムコンテクストを、選択された仮定の最後のワードにセットする。ステップ１４０４ないし１４０９において、ルーチンはループして、指定のバイグラムコンテクストに対し各ＬＥＢＰＰＴを処理する。ステップ１４０４において、ルーチンは、最初のＬＥＢＰＰＴエントリーでスタートして選択されたバイグラムコンテクストに対し、ＬＥＢＰＰＴの次のエントリーを選択する。ステップ１４０５において、バイグラムコンテクストの全てのＬＥＢＰＰＴエントリーが既に選択された場合には、ルーチンはステップ１４０１へループして次の仮定を選択するが、さもなくば、ルーチンは、ステップ１４０６に続く。ステップ１４０６において、選択されたエントリーの深さが０又は１である場合には、ルーチンはステップ１４０７に続くが、さもなくば、ルーチンは、ステップ１４０４へループして、次のＬＥＢＰＰＴエントリーを選択する。ステップ１４０７において、ルーチンは、ＴＮＤから選択されたＬＥＢＰＰＴエントリーのワードの第１の音素を識別する。ステップ１４０８において、ステップ１４０８において、ルーチンは、選択されたＬＥＢＰＰＴエントリーのワードの第１の音素に対しこのバイグラムコンテクストのノードをインスタンス生成する。ステップ１４０９において、ルーチンは、ノードの確率を、ＬＥＢＰＰＴエントリーのファクタに選択された仮定の確率を乗算したものにセットし、そしてステップ１４０４へループして、次のＬＥＢＰＰＴエントリーを選択する。
【００３０】
図１７は、初期化ワード間ユニグラムＰＰＴルーチンを示すフローチャートである。このルーチンは、最も高い確率をもつ仮定に対しユニグラムＰＰＴをインスタンス生成する。このルーチンは、ユニグラムＰＰＴのルートノードの各子ノードに対しノードを初期化する。ステップ１５０１において、ルーチンは、最も高い確率をもつ仮定を選択する。ステップ１５０２ないし１５０５において、ルーチンは、ユニグラムＰＰＴのルートノードの各子ノードに対しユニグラムコンテクストをインスタンス生成する。ステップ１５０２において、ルーチンは、最初からスタートして、ユニグラムＰＰＴのルートノードの次の子ノードを選択する。ステップ１５０３において、全ての子ノードが既に選択された場合には、ルーチンは復帰し、さもなくば、ルーチンは、ステップ１５０４に続く。ステップ１５０４において、ルーチンは、選択された子ノードに対し選択された仮定のためのノードをインスタンス生成する。ステップ１５０５において、ルーチンは、インスタンス生成されたノードの確率を、子ノードのファクタに選択された仮定の確率を乗算したものにセットし、そしてステップ１５０２へループし、ルートノードの次の子ノードを選択する。
【００３１】
図１８は、更新バイグラムＰＰＴルーチンのフローチャートである。ステップ１６０１において、ルーチンは、最初からスタートして、次のバイグラムコンテクストを選択する。ステップ１６０２において、全てのバイグラムコンテクストが既に選択された場合には、ルーチンは復帰し、さもなくば、ルーチンはステップ１６０３へ続く。ステップ１６０３ないし１６０８では、ルーチンがループして、選択されたバイグラムコンテクストに対しバイグラムＰＰＴの各リーフノードに子ノードを追加する。ステップ１６０３において、ルーチンは、最初からスタートしてバイグラムＰＰＴに対し次のリーフノードを選択する。ステップ１６０４において、全てのリーフノードが既に選択された場合には、ルーチンはステップ１６０１へループし、次のバイグラムコンテクストを選択するが、さもなくば、ルーチンはステップ１６０５へ続く。ステップ１６０５において、ルーチンは、ＴＮＤにおける選択されたノードのワードの次の音素を識別する。ステップ１６０６において、ルーチンは、次の音素に対し、選択されたバイグラムコンテクストのバイグラムＰＰＴのためのノードをインスタンス生成する。ステップ１６０７において、ルーチンは、インスタンス生成されたノードの確率を選択されたリーフノードの確率にセットする。ステップ１６０８において、ルーチンは、インスタンス生成されたノードの兄弟に対するノードを追加するルーチンを呼び出し、そしてステップ１６０３へループして、次のリーフノードを選択する。
【００３２】
図１９は、インスタンス生成されたノードの兄弟のノードを追加するルーチンのフローチャートである。ステップ１７０１において、ルーチンは、インスタンス生成されたノードのエントリーで始めて、ＬＥＢＰＰＴの次のエントリーを選択する。ステップ１７０２において、ＬＥＢＰＰＴの全てのエントリーが既に選択された場合には、ルーチンは復帰し、さもなくば、ルーチンはステップ１７０３へ続く。ステップ１７０３において、選択されたＬＥＢＰＰＴエントリーの深さが、インスタンス生成されたノードの深さに１を加えたものより大きい場合には、ルーチンはステップ１７０１へループして、次のＬＥＢＰＰＴエントリーを選択するが、さもなくば、ルーチンはステップ１７０４に続く。ステップ１７０４において、選択されたエントリーの深さが、インスタンス生成されたノードの深さ以下である場合には、ルーチンは復帰し、さもなくば、ルーチンはステップ１７０５へ進む。ステップ１７０５において、ルーチンは、ＴＮＤから選択されたＬＥＢＰＰＴエントリーのワードの次の音素を識別する。ステップ１７０６において、ルーチンは、次の音素に対し、選択されたバイグラムコンテクストのバイグラムＰＰＴのノードをインスタンス生成する。ステップ１７０７において、ルーチンは、ノードの確率を、親ノードの確率に選択されたＬＥＢＰＰＴエントリーのファクタを乗算したものにセットし、そしてステップ１７０１へループして、次のＬＥＢＰＰＴエントリーを選択する。
【００３３】
図２０は、更新ユニグラムＰＰＴルーチンのフローチャートである。ステップ１８０１において、ルーチンは、最良の仮定の次のリーフノードを選択する。ステップ１８０２において、最良の仮定の全てのリーフノードが既に選択された場合には、ルーチンは復帰し、さもなくば、ルーチンはステップ１８０３に続く。ステップ１８０３において、ルーチンは、選択されたリーフノードの各子ノードに対してノードをインスタンス生成する。ステップ１８０３において、ルーチンは、拡張ユニグラムＰＰＴから選択されたリーフノードの次の子ノードを選択する。ステップ１８０４において、全ての子ノードが既に選択された場合には、ルーチンはステップ１８０１へループして、次のリーフノードを選択するか、さもなくば、ルーチンはステップ１８０５に続く。ステップ１８０５において、ルーチンは、選択された子ノードに対してノードをインスタンス生成する。ステップ１８０６において、ルーチンは、インスタンス生成されたノードの確率を、親ノードの確率に拡張ユニグラムＰＰＴからのファクタを乗算したものにセットし、そしてステップ１８０３へループして、次の子ノードを選択する。
【００３４】
好ましい実施形態について本発明を以上に説明したが、本発明は、この実施形態に限定されるものではない。当業者にとっては、本発明の精神から逸脱せず、種々の変更がなされ得ることが明らかであろう。本発明の範囲は、特許請求の範囲に規定する。特に、本発明のエンコード技術は、スピーチ認識に関連しない種々の用途に対してツリーデータ構造をエンコードするのにも使用することができる。一般に、エンコード技術は、ツリーデータ構造をコンパクトに表すための一般的な機構として使用することができる。
【図面の簡単な説明】
【図１】励磁的な５ワード語彙に対する音声辞書を示す図である。
【図２】長さ２の例示的な語彙のシーケンスに対する前後関係に従属する確率を示す図である。
【図３】例示的な音声辞書に対するユニグラムＰＰＴを示す図である。
【図４】ワード「ｗｅｒｅ」に続く辞書のワードのバイグラムＰＰＴを示す図である。
【図５】本発明の要素を示すコンピュータシステムのブロック図である。
【図６】例示的な辞書の拡張ユニグラムＰＰＴを示す図である。
【図７】図６のユニグラムＰＰＴに対するツリーノード辞書を示す図である。
【図８】ワード「ｗｅｒｅ」に対する拡張バイグラムＰＰＴを示す図である。
【図９】ワード「ｗｅａｒ」に対するバイグラムＰＰＴを示す図である。
【図１０】エンコードバイグラムＰＰＴルーチンのフローチャートである。
【図１１】デコードＬＥＢＰＰＴルーチンのフローチャートである。
【図１２】ＬＥＢＰＰＴを使用するＣＳＲシステムのフローチャートである。
【図１３】ＣＳＲシステムにより発生されたＰＰＴを示す図である。
【図１４】ＣＳＲシステムにより発生されたＰＰＴを示す図である。
【図１５】ＣＳＲシステムにより発生されたＰＰＴを示す図である。
【図１６】初期化ワード間バイグラムＰＰＴルーチンのフローチャートである。
【図１７】初期化ワード間ユニグラムＰＰＴルーチンのフローチャートである。
【図１８】更新バイグラムＰＰＴルーチンのフローチャートである。
【図１９】インスタンス生成されたノードの兄弟のノードを追加するためのルーチンのフローチャートである。
【図２０】更新ユニグラムＰＰＴルーチンのフローチャートである。
【符号の説明】
２００  ルートノード
３０１  バイグラムＰＰＴ
３０２  ＰＰＴエンコーダ
３０３  エンコードされたバイグラムＰＰＴ
３０４  音素確認装置
３０５  コンピュータスピーチ確認装置
３０６  拡張ユニグラムＰＰＴ
【図１】
0003601751.tif 000003
【図２】
0003601751.tif 000004
【図３】
0003601751.tif 000005
【図４】
0003601751.tif 000006
【図５】
0003601751.tif 000007
【図６】
0003601751.tif 000008
【図７】
0003601751.tif 000009
【図８】
0003601751.tif 000010
【図９】
0003601751.tif 000011
【図１０】
0003601751.tif 000012
【図１１】
0003601751.tif 000013
【図１２】
0003601751.tif 000014
【図１３】
0003601751.tif 000015
【図１４】
0003601751.tif 000016
【図１５】
0003601751.tif 000017
【図１６】
0003601751.tif 000018
【図１７】
0003601751.tif 000019
【図１８】
0003601751.tif 000020
【図１９】
0003601751.tif 000021
【図２０】
0003601751.tif 000022