(57)【要約】【課題】  音声認識装置に発音を与えることによって音声認識システムをテストし調整するシステムおよび方法を提供すること。【解決手段】  最初に、テキストドキュメントが、システムに与えられ、テキスト中の単語を表す音素列に変換される。音素は次いで、隠れマルコフモデルなどのモデル単位に変換される。このモデルから、各モデルまたは状態に対して確率が得られ、特徴ベクトルが判定される。各状態に対して最も起こり得るベクトルと一致する特徴ベクトルが、各モデルごとに選択される。こうした理想特徴ベクトルは、音声認識装置に与えられ、処理される。最終結果は、元のテキストと比較され、システムに対する修正を、出力テキストに基づいて行うことができる。【選択図】  図２
2006113569.tif 000002
【特許請求の範囲】
【請求項１】
特徴ベクトルに基づいて、出力テキストを与えるように構成された音声認識装置と、
少なくとも１つの単語を有する、与えられたテキストに対する発音を与えるように構成された発音ツールと、
前記テキストに対する、前記与えられた発音から、特徴ベクトル列を生成するように構成されたベクトルジェネレータとを備えることを特徴とする音声認識テストシステム。
【請求項２】
前記与えられた発音からモデルを生成するように構成されたモデル単位ジェネレータをさらに備え、
前記ベクトルジェネレータは、前記生成されたモデルに基づいて、前記特徴ベクトル列を生成することを特徴とする請求項１に記載の音声認識システム。
【請求項３】
前記発音ツールに発音を与えるように構成された発音データベースをさらに備えることを特徴とする請求項２に記載の音声認識システム。
【請求項４】
前記テキスト中の少なくとも１つの単語に対する発音を、前記発音ツールに与えるように構成されたテキスト−音声シンセサイザをさらに備えることを特徴とする請求項２に記載の音声認識システム。
【請求項５】
前記発音ツールは、前記発音に対する音素列を生成するように構成され、
前記モデル単位ジェネレータは、前記音素列中の各音素に対するモデルを識別することを特徴とする請求項２に記載の音声認識システム。
【請求項６】
前記モデル単位ジェネレータは、前記音素列中の前記音素それぞれに対してモデルを生成する際、モデルデータベースにアクセスすることを特徴とする請求項５に記載の音声認識システム。
【請求項７】
前記モデルデータベース中の前記モデルは、隠れマルコフモデルを含むことを特徴とする請求項６に記載の音声認識システム。
【請求項８】
前記ベクトルジェネレータは、特徴ベクトルデータベースから前記特徴ベクトルを入手することを特徴とする請求項１に記載の音声認識システム。
【請求項９】
前記特徴ベクトルデータベースは、前記音声認識装置の音響モデルを含むことを特徴とする請求項８に記載の音声認識システム。
【請求項１０】
前記ベクトルジェネレータは、前記特徴ベクトルとして、前記モデルの分布確率に最も合致する特徴ベクトルを識別するように構成されることを特徴とする請求項９に記載の音声認識システム。
【請求項１１】
音声認識システムをテストする方法であって、
少なくとも１つの単語を含むテキストを受け取るステップと、
発音ツールを用いて、前記テキストに対する発音を生成するステップと、
前記発音に対して、ベクトル列を生成するステップと、
前記音声認識システムに前記ベクトル列を与えるステップと、
前記与えられたベクトル列に応答して、前記音声認識システムからテキストを出力するステップとを含むことを特徴とする方法。
【請求項１２】
発音を生成するステップは、
前記発音に対する音素列を生成するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
さらに、発音を生成するステップは、
前記テキスト中の前記少なくとも１つの単語を、発音データベース中で識別するステップと、
前記識別された発音を取得するステップとを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記テキストに対する発音を生成するステップは、
少なくとも１組の文字−音規則を含むモジュールに前記テキストを与えるステップと、
前記モジュールにおいて、前記テキストに対する音素列を生成するステップと、
前記発音ツールに前記音素列を返すステップとを含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記モジュールは、テキスト−音声エンジンであることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記音素列に対するモデルを生成するステップは、
前記音素列に対するモデル単位列を生成するステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１７】
前記音素列に対するモデル単位列を生成するステップは、
モデルデータベースにアクセスするステップと、
前記モデルデータベース中で、前記音素列中のある音素と合致するモデルを識別するステップと、
そのモデルを、前記モデルとして返すステップとをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記モデル単位列中の各モデル単位ごとに、少なくとも１つの確率を得るステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記得られるモデルは、隠れマルコフモデルであり、
前記隠れマルコフモデル中の各マルコフ状態に対する確率が得られることを特徴とする請求項１８に記載の方法。
【請求項２０】
各マルコフ状態に対する前記確率は、前記状態に対する確率分布であることを特徴とする請求項１９に記載の方法。
【請求項２１】
ベクトルを生成するステップは、
前記モデル単位列中の各モデル単位ごとに特徴ベクトルを識別するステップと、
各モデル単位ごとに、前記特徴ベクトルとして、確率関数の最大値に最も合致する前記モデル単位に合致する前記ベクトルを選択するステップとを含むことを特徴とする請求項１８に記載の方法。
【請求項２２】
ベクトルを生成するステップは、
最も高い確率を有する前記モデル単位における分布点を判定するステップと、
前記判定された分布点に最も合致する前記特徴ベクトルを選択するステップとをさらに含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記特徴ベクトルを選択するステップは、
特徴ベクトルデータベースにアクセスするステップを含むことを特徴とする請求項２１に記載の方法。
【請求項２４】
前記特徴ベクトルデータベースは、前記音声認識システムの音響モデルであることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記ベクトル列を与えるステップは、前記音声認識システムへの前記ベクトルを、前記音声認識システムのために前記特徴ベクトルを判定するコンポーネントに続くコンポーネントに直接与えることを特徴とする請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識に関する。より詳細には、本発明は、音声認識装置のテストおよび調整に関する。
【背景技術】
【０００２】
最初に、音声認識システムにおいて用いられるプロセスの基本的な説明を記述する。音声認識システムにおいて、入力音声信号は、音声信号の言葉の内容を表す単語群に変換される。この変換は、最初にアナログ音声信号を一連のデジタル値に変換する。デジタル値は次いで、デジタル値に基づいて特徴ベクトル列を計算する特徴抽出ユニットを経由する。各特徴ベクトルは通常、多次元であり、音声信号からなる１個のフレームを表す。
【０００３】
最も有望な単語列を識別するために、特徴ベクトルは、トレーニング用テキストを使ってトレーニングされた１つまたは複数のモデルに適用される。一般に、これは、フレームベースの音響モデルに特徴ベクトルを適用することを伴い、１個のフレーム状態が１個の特徴ベクトルに関連づけられる。しかし、近年、１個のセグメント状態に複数の特徴ベクトルを関連づけるセグメントモデルが導入されている。こうしたセグメントモデルは、人間の音声における大規模な推移のより正確なモデルを提供するものと思われる。
【０００４】
すべてのモデル、すなわちフレームベースおよびセグメントベースのモデルは両方とも、音響単位ごとに確率を判定する。初期の音声認識システムにおいて、音響単位は、単語全体であった。しかし、言葉の中の各単語が、別個にモデル化されなければならなかったので、このようなシステムは、大量のモデリングデータを必要とした。たとえば、ある言葉が、１０，０００語を含む場合、認識システムは、１０，０００モデルも必要とした。
【０００５】
必要とされるモデルの数を削減するために、当該分野では、より小さい音響単位を使い始めた。このようなより小さい単位の例は、単語中の個々の音を表す音素、および音素中の個々の状態を表すセノン（ｓｅｎｏｎ）を含む。他の認識システムは、ある音素の中心から、隣接する音素の中心に及ぶ音響単位を表すディフォン（ｄｉｐｈｏｎｅ）を使用した。比較的最近の認識システムは、３つの音素（たとえば、ある音素の中心から、一次音素を介して次の音素の中心）に及ぶ音響単位を表すトライフォンを使用している。
【０００６】
特徴ベクトル列の確率を判定するとき、従来技術による音声認識システムは、異なるタイプの音響単位を混合していなかった。したがって、音素音響モデルを用いて確率を判定するとき、考慮される音響単位はすべて、音素となる。従来技術は、音声信号の一部のセグメントに対する音素、および音声信号の他の部分に対してセノンを使わなかった。このせいで、開発者は、セグメントモデルとうまく作用する比較的大きい単位を使うか、それともトレーニングするのが比較的容易であるとともに比較的少ないデータを必要とする、比較的小さい単位を使うか決定しなければならなかった。
【０００７】
音声認識の間、個々の音響単位の確率はしばしば、１組のガウス分布を用いて判定される。少なくとも、１個のガウス分布が、音響単位が張られた各特徴ベクトルに与えられる。
【０００８】
ガウス分布は、トレーニングデータから形成され、特定の音響単位に対する特定の値を有する特徴ベクトルの確率を示す。分布は、様々な場所、様々な話者によるコンテキストにおいて見られ、異なる音響条件を有する様々な音響単位の数千回の繰返しを示す、構築済みのトレーニングデータから形成される。最終的な分布は、特定のモデリング単位の出現すべてに対するベクトルすべてのヒストグラムの近似として説明することができる。たとえば、トレーニング用テキストに音素「ｔｈ」が出現する度に、生じる特徴ベクトル値が測定され、ガウス分布を生成するのに用いられる。
【０００９】
異なる話者は異なる音声信号を生じるので、観察された特徴ベクトルが、システムをトレーニングするのに利用された話者とは異なる話者によって生じられたというだけで、音響単位に対する１個のガウス分布が、音声認識において高いエラーレートを生じ得る場合がある。この問題を克服するために、従来技術は、各音響単位に対するガウス分布の混合を導入した。各混合において、話者の一グループに対して別個のガウス分布が生成される。たとえば、男性の話者に対して１つのガウス分布、および女性の話者に対して１つのガウス分布が存在し得る。
【００１０】
ガウス混合分布を用いて、各音響単位は、複数のターゲットを、各ガウス分布の平均値に配置させる。したがって、例として、特定の音響単位に対して、あるターゲットは、男性のトレーニング用音声からであり、別のターゲットは、女性のトレーニング用音声からのものであり得る。
【００１１】
しかし、音声認識装置の開発が進んだにもかかわらず、ある特定のタイプの単語を提示されたときの認識装置の正確さに関する多くの問題が残っている。ベクトルの正確さが向上しても、パッケージ化およびパッケージされたベクトルの翻訳に起因して、エラーは依然として起こる。こうした問題は、音響モデルと発声された発話内容の間の不一致、言語モデルと期待されるテキストの間の不一致、この両方の組合せに起因するエラーや、発音や音声認識エンジンにおけるエラーなど、他の問題を含み得る。言語モデルに関する問題の中でも、特に困難な問題は、同音異義語（ｈｏｍｏｎｙｍ）に関するものである。
【００１２】
同音異義語とは、音は似ているが、異なる綴りおよび意味をもつ単語である。たとえば、よく知られている同音異義語は、ｒｅａｄ／ｒｅｅｄ、ｒｅａｄ／ｒｅｄ、ｔｈｅｉｒ／ｔｈｅｒｅ、ｈｅｒｅ／ｈｅａｒ、ｃｕｅ／ｑｕｅｕｅ、ｗｈｅｔｈｅｒ／ｗｅａｔｈｅｒ、およびｆｏｒｅ／ｆｏｒ／ｆｏｕｒを含む。こうした単語は、全く同じように発音されるので、認識装置は、複数の単語の中から、発声された発話内容と一致するものを１つ選ばなければならない。ほとんどの場合、認識装置は、優先される単語として示される単語を選択する。この選択は、たとえば、どの単語が、その単語の最も一般的に使われる形であるか、または言語モデル情報を用いて、どの単語が言語的に適切であると思われるかによって行うことができる。
【００１３】
言語モデル関連エラーは、音声認識システムが、データ入力とは無関係に、どのコンテキストにおいても個々の単語を認識することができない場合に起こる。この状況において、期待される単語は、代替候補のリストに現れるが、第１選択ではない。こうした単語は、言語モデルの重みを削減する限り認識することができる。言語モデルによって誘発されるエラーは、単語が分離して提示される場合には、音声認識システムは個々の単語を認識することができるが、こうした単語がテストにおいて提示される状況では、個々の単語を認識することができない事例である。たとえば、言語モデルが、「ｔｏ  ｈｏｓｅ」を分離して認識することができるが、「ｗａｎｔ  ｔｏ  ｈｏｓｅ」を認識することができない場合（たとえばシステムは、この入力を「ｗａｎｔ  ｔｏ  ｈｏｓｔ」と認識する場合がある）、これが言語モデルエラーとなる。このようなエラーの第２の例は、言語モデルが、「Ｊｕｌｙ  ２５ｔｈ」は正しく認識するが、「Ｊｕｌｙ  ２５ｔｈ．」は正しく認識しない場合である。
【００１４】
他のエラーは、音響モデルの不一致、話者、および他の原因に起因し得る。ほとんどの場合、こうしたエラーは、話者による発声と、異なる発音、アクセント、ノイズ環境などによるモデルの間の不一致に起因し、システムにおけるどの内部エラーによって引き起こされるものでもない。しかし、音声認識システムの性質のせいで、こうしたタイプのエラーは、上記のエラーと同様に見える場合がある。
【００１５】
【特許文献１】米国特許第６，１６３，７６９号明細書“ＴＥＸＴ−ＴＯ−ＳＰＥＥＣＨ  ＵＳＩＮＧ  ＣＬＵＳＴＥＲＥＤ  ＣＯＮＴＥＸＴ−ＤＥＰＥＮＤＥＮＴ  ＰＨＯＮＥＭＥ−ＢＡＳＥＤ  ＵＮＩＴＳ”
【非特許文献１】“ＣＳＲ――ＴＩＴ  Ｔｅｘｔ  Ｌａｎｇｕａｇｅ  Ｍｏｄｅｌ”，  Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｐｅｎｎ．，  １９９４
【発明の開示】
【発明が解決しようとする課題】
【００１６】
したがって、開発者は、たとえば音響の不一致からエラーが生じた可能性を考慮することなく、他のエラータイプを識別する必要があり、本発明は、こうした問題の少なくともいくつかに対処する。
【課題を解決するための手段】
【００１７】
本発明の一実施形態は、テキストドキュメントに基づいて、音声認識装置をテストし調整するシステムおよび方法を対象とする。本発明は、音声認識装置をテストするのに、高価なサウンドファイルを用いるのではなく、テキストドキュメントからなる大型の既存コーパスを活用する。テキストドキュメントを活用する利益には、音声認識装置システムに基づいて、結果、最初の結果が誤っている場合の代替結果などのフォーマット、その言語の話者を必要としないシステムテスト、および実際の状況でシステム内で起こるエラーの一部分の予測を行うシステムの特徴を機能的にテストすることができることがあり得る。
【００１８】
一実施形態では、テキストドキュメントが、システムによって発音ツールで受け取られる。発音ツールは、テキストドキュメント中の各単語の発音を判定する。この判定を遂行するために、ツールは、単語および関連づけられた発音からなるデータベース、またはテキスト−音声シンセサイザのどちらかを見ることができる。こうした発音は次いで、音素列に変換される。音素列は、単語の発音から判定することもでき、その単語に対するデータベースエントリに格納することもできる。
【００１９】
次に、音素列は、モデル単位ジェネレータによってモデルに変換される。モデル単位ジェネレータは、モデルのデータベースからモデルを得ることができる。各音素ごとに、音素を表す少なくとも１つのモデルが識別される。こうしたモデルは、「音（ｐｈｏｎｅ）」モデルに基づく。言い換えると、モデル単位ジェネレータは、ディフォン（ｄｉｐｈｏｎｅ）、トライフォン（ｔｒｉｐｈｏｎｅ）、クワドフォン（ｑｕａｄｐｈｏｎｅ）などを利用する。したがって、音素列がどのように構成されるかに応じて、モデル単位ジェネレータは、任意選択で、音素列を音に変換する必要があり得る。一実施形態では、モデル単位ジェネレータは、各音素ごとに隠れマルコフモデル（ＨＭＭ）を入手し、音素を表すのにトライフォンを用いる。トライフォンを用いると、３つのマルコフ状態を有する隠れマルコフモデルを生じる。モデル単位ジェネレータは、マルコフ状態それぞれに対して確率分布も得る。ＨＭＭおよび確率は、理想ベクトルジェネレータに渡される。一実施形態では、各トライフォンは、３つのセノンで表される。セノンは、隠れマルコフモデルの状態である。各セノンは、多次元ガウス分布の一次結合と言われる確率分布関数の記述である。
【００２０】
理想ベクトルジェネレータは、音素列中の各音素に対するベクトル列をひとまとめにする。理想ベクトルジェネレータは、特徴ベクトルのデータベースにアクセスし、確率が最も高い分布曲線中の点に合致するか、または最も厳密に合致する特徴ベクトルを判定する。こうした特徴ベクトルは例示的には、最も起こり得る状態に基づくので、理想ベクトルと呼ばれる。理想ベクトルジェネレータは例示的には、特徴ベクトルのデータベース用に、音声認識装置の音響モデルを用いることができる。特徴ベクトル用に音響モデルを用いることによって、本発明は、音声認識装置に、単語を表す各音素に対して装置が予想する特徴ベクトルを与える。これによって、音響の不一致を回避する。
【００２１】
まとめられた理想ベクトルは次いで、音声認識装置に与えられる。こうした理想ベクトルは、特徴抽出モジュールの後だが、特徴ベクトルに対するそれ以上のどの処理にも先立って音声認識装置に与えられる。この処理は本質的に、音声認識装置には、ベクトルが内部的に判定されたように見える。理想ベクトルは続いて、音声認識装置の通常規則に従って処理され、次いで、テキストとして出力される。開発者は次いで、認識結果に基づいて、音声認識装置をテストし調整することができる。音声認識装置の観点の音響点から完全な入力を与えることによって、開発者は、テストにおけるすべてのエラーは、言語モデルにおける不一致または脆弱性から、あるいはシステムにおける内部エラーから生じたものであることがわかるようになる。こうしたエラーは、テストに実際のオーディオファイルを使う際に生じる、音響の不一致による予期されるエラーとは区別される。
【発明を実施するための最良の形態】
【００２２】
本発明は、別個に生成された特徴ベクトルに基づく、音声認識装置のテストまたは調整を扱う。本発明をより詳細に説明する前に、本発明を利用することができる例示的な一環境を記述する。
【００２３】
図１は、本発明を実施することができる、適切な計算機システム環境１００の例を示す。計算機システム環境１００は、適切な計算機環境の一例に過ぎず、本発明の使用または機能の範囲に対するどのような限定を示唆することも意図していない。計算機環境１００は、例示的な動作環境１００に示されるどのコンポーネントまたはその組合せに関するどのような依存も要件も有していると解釈されるべきではない。
【００２４】
本発明は、他の数多くの汎用または専用の通信環境または構成とも動作する。本発明とともに使用するのに適切であり得る他の公知の計算システム、環境、および／または構成の例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれをも含む分散型計算機環境などを含むが、それに限定されない。
【００２５】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的な状況において説明することができる。概して、プログラムモジュールは、特定のタスクを実施しまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実施される分散型計算機環境においても実施することができる。分散型計算機環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモートコンピュータ記憶媒体両方に置くことができる。
【００２６】
図１を参照すると、本発明を実施する例示的なシステムは、汎用計算装置をコンピュータ１１０の形で含む。コンピュータ１１０のコンポーネントは、処理ユニット１２０と、システムメモリ１３０と、システムメモリなど様々なシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１とを含み得るが、それに限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなど、いくつかのタイプのバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含む。
【００２７】
コンピュータ１１０は通常、様々なコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、コンピュータ１１０によってアクセスすることができるとともに揮発性媒体および不揮発性媒体両方、取外し可能媒体および固定式媒体を含む、使用可能などの媒体でもよい。限定ではなく例として、コンピュータ読取可能媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するためのどの方法でも技術でも実施される揮発性媒体および不揮発性媒体両方、取外し可能媒体および固定式媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多用途ディスク）または他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは、所望の情報を格納するのに使うことができるとともにコンピュータ１１０によってアクセスすることができる他のどの媒体も含むが、それに限定されない。通信媒体は一般に、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータを、たとえば搬送波や他の移送機構などの変調されたデータ信号の形にし、どの情報配信媒体も含む。「変調されたデータ信号」という用語は、信号中の情報をエンコードするようなやり方で設定されまたは変更される信号特性の１つまたは複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体を含む。上記のどの組合せも、やはりコンピュータ読取可能媒体の範囲に含むべきである。
【００２８】
システムメモリ１３０は、コンピュータ記憶媒体を、ＲＯＭ（読出し専用メモリ）１３１およびＲＡＭ（ランダムアクセスメモリ）１３２など、揮発性および／または不揮発性メモリの形で含む。ＢＩＯＳ（基本入出力システム）１３３は、たとえば起動中にコンピュータ１１０内部の要素の間で情報を転送するのを助ける基本ルーチンを含み、通常はＲＯＭ１３１に格納される。ＲＡＭ１３２は一般に、処理ユニット１２０に対してただちにアクセス可能な、かつ／または処理ユニット１２０によって現在操作されているデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図１では、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２９】
コンピュータ１１０は、他の取外し可能／固定式、揮発性／不揮発性コンピュータ記憶媒体も含み得る。単なる例として、図１では、固定式不揮発性磁気媒体からの読出しまたはそこへの書込みを行うハードディスクドライブ１４１、取外し可能な不揮発性磁気ディスク１５２からの読出しまたはそこへの書込みを行う磁気ディスクドライブ１５１、および、ＣＤ  ＲＯＭや他の光学媒体など、取外し可能な不揮発性光ディスク１５６からの読出しまたはそこへの書込みを行う光ディスクドライブ１５５を示す。例示的な動作環境で使うことができる、他の取外し可能／固定式、揮発性／不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含むが、それに限定されない。ハードディスクドライブ１４１は通常、インターフェイス１４０などの固定式メモリインターフェイスによって、システムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インターフェイス１５０などの取外し可能メモリインターフェイスによって、システムバス１２１に接続される。
【００３０】
上述し、かつ図１に示されているディスクドライブおよびそれに関連するコンピュータ読取可能媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、およびコンピュータ１１０用の他のデータの格納を可能にする。図１では、たとえば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示してある。こうしたコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでも、異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくとも異なるコピーであることを示すために、ここでは異なる番号を与えてある。
【００３１】
ユーザは、入力デバイス、たとえばキーボード１６２、マイクロホン１６３、およびマウス、トラックボール、またはタッチパッドなどのポインティングデバイス１６１を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）は、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどを含み得る。こうしたおよび他の入力デバイスはしばしば、システムバスに結合されたユーザ入力インターフェイス１６０を介して処理ユニット１２０に接続されるが、他のインターフェイスおよびバス構造、たとえば並列ポート、ゲームポート、ＵＳＢ（ユニバーサルシリアルバス）によって接続することもできる。モニタ１９１または他のタイプの表示デバイスも、ビデオインターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。モニタに加え、コンピュータは、出力周辺インターフェイス１９５を介して接続することができるスピーカ１９７およびプリンタ１９６など、他の周辺出力デバイスも含み得る。
【００３２】
コンピュータ１１０は、リモートコンピュータ１８０など、１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードでよく、通常、コンピュータ１１０に関連して上述した要素の多くまたはすべてを含む。図１に示す論理接続は、ＬＡＮ（ローカルエリアネットワーク）１７１およびＷＡＮ（ワイドエリアネットワーク）１７３を含むが、他のネットワークも含み得る。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【００３３】
ＬＡＮネットワーク環境において使われる場合、コンピュータ１１０は、ネットワークインターフェイスまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境において使われる場合、コンピュータ１１０は通常、モデム１７２、または、たとえばインターネットなどのＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内部にあっても外部にあってもよく、ユーザ入力インターフェイス１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク接続された環境では、コンピュータ１１０に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納することができる。限定ではなく例として、図１では、リモートアプリケーションプログラム１８５を、リモートコンピュータ１８０に常駐するものとして示してある。図示したネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段も使用できることが理解されよう。
【００３４】
図２は、本発明の一実施形態による音声認識のテストおよび調整システム２００のコンポーネントを示すブロック図である。テストコンポーネント２００は、発音ツール２１０、モデル単位ジェネレータ２２０、および理想ベクトルジェネレータ２３０を含み、音声認識装置２４０とインターフェイスをとる。こうしたコンポーネントそれぞれの詳細を、以下に示す。
【００３５】
テキスト２０１が、テストコンポーネント２００に与えられる。このテキスト２０１は、開発者がテストしまたは調整しているシステムの部分に応じて、多くの形を取り得る。一実施形態では、開発者は、テキスト２０１を手で入れる。しかし、別の実施形態では、複数のテキストエントリが、コンポーネント２００に供給される。この例示的な実施形態では、テキストは、通常の音声認識システムに対して問題を最も引き起こす可能性があると開発者が判断した複数の単語を含むファイルとして、コンポーネント２００に渡される。テキストは、どの言語でもよいが、音声認識装置が作用できる言語であることが好ましい。
【００３６】
発音ツール２１０は、所与のテキスト２０１用の１つの発音または複数の発音を識別するように構成された、テストシステム２００のコンポーネントである。テキスト２０１が、発音ツール２１０で受け取られると、テキスト中の各単語の発音は、例示的には、発音のデータベース２１４またはテキスト−音声シンセサイザ２１６のどちらかから入手される。ただし、発音を入手する前に、発音ツール２１０は、テキスト中の単語を識別し、また、どの句読点も単語形式に変換する。発音データベース２１４またはテキスト−音声シンセサイザ２１６のどちらかによって返される結果は、テキスト中の１つまたは複数の単語の発音を表す音素列である。こうした音素は次いで、モデル単位ジェネレータ２２０に出力される。
【００３７】
データベース２１４は、一実施形態では、音声認識コンポーネント２４０によって、ユーザからの所与の音声入力に関連づけられた単語を識別するのに用いられるのと同じデータベースである。ただし、他のデータベースを使うこともできる。データベース２１４は例示的には、音声認識システムが認識することができる、各単語に対するエントリを含む。システムが認識することができる各単語ごとに、データベース２１４は、単語の発音を表す少なくとも１つの音素列も含む。この音素列は、発音ツール２１０に返される。
【００３８】
例示的なテキスト−音声シンセサイザ２１６を、図３に示す。ただし、他のテキスト−音声シンセサイザも、文字−音コンポーネントも使うことができる。概して、ジェネレータ２１６は、テキストアナライザ３２０および単位連結モジュール３３０を含む。合成音声に変換されたテキストは、テキストアナライザ３２０に入力３１０として与えられる。テキストアナライザ３２０は、省略形の正式な形への展開ならびに拡張数字、金額、句読点および他の英字以外の文字の、フルワード相対形への展開を含み得る、テキストの正規化を実施する。テキストアナライザ３２０は次いで、正規化されたテキスト入力を、公知の技術によって、音素などのサブワード要素ストリングに変換する。音素ストリングは次いで、単位連結モジュール３３０に与えられる。所望される場合、テキストアナライザ３２０は、韻律（ｐｒｏｓｏｄｉｃ）テンプレート（図示せず）を用いて、音素ストリングにアクセントパラメータを割り当てることができる。
【００３９】
単位連結モジュール３３０は、音素ストリングを受け取るとともに、対応する合成音声を構築し、この合成音声は、出力信号３６０として、デジタル−アナログコンバータ３７０に与えられ、コンバータ３７０は、アナログ信号３７５を話者８３に与える。ただし、本願では、合成音声の出力信号は、発音ツール２１０に与えられる。
【００４０】
テキストアナライザ３２０からのストリング入力に基づいて、単位連結モジュール３３０は、３５０で格納されている、対応する決定木全体を走査した後、単位一覧３４０から、代表的インスタンスを選択する。単位一覧３４０は、実際の音響データからなる、代表的なコンテキストに依存する音素ベース単位の蓄積である。一実施形態では、トライフォン（直前の１つの音素および直後の複数の音素をコンテキストとしてもつ音素）が、コンテキストに依存する音素ベース単位用に使用される。他の形の音素ベース単位は、クインフォン（ｑｕｉｎｐｈｏｎｅ）およびディフォンまたは他のｎ−フォンを含む。決定木３５０は、どの音素ベース単位が単位連結モジュール３３０によって使われるべきか判定するためにアクセスされる。一実施形態では、音素ベース単位は、１つの音素なので、合計で４５本の音素決定木が、３５０で作成され格納される。
【００４１】
音素決定木３５０は例示的には、ルートノードおよび連続するノードそれぞれを、左（前）または右（後）の音素のカテゴリについて尋ねる、各ノードに関連づけられた言語的質問で分割することによって伸びていく２分木である。音素の左または右のコンテキストについての言語的質問は通常、言語学の専門家によって、コンテキスト効果の言語クラスを取り込むような設計として作成される。一実施形態では、一意の各コンテキスト依存音素ベース単位ごとに、隠れマルコフモデル（ＨＭＭ）が作成される。単位一覧３４０および決定木３５０の作成を示す一例が記載されている（たとえば、参照により本明細書に組み込まれており、本願と同一譲受人に譲渡される特許文献１）。ただし、他の方法を用いることもできる。
【００４２】
上で述べたように、単位連結モジュール３３０は、決定木３５０を走査した後、単位一覧３４０から、代表的インスタンスを選択する。実行時の間、単位連結モジュール３３０は、予め選択された最良の音素ベース単位を連結するか、または結合歪み関数を最小化する、複数のインスタンスから使用可能な最良の音素ベース単位を動的に選択することができる。一実施形態では、結合歪み関数は、ＨＭＭスコア、音素ベース単位連結歪み、および韻律不一致歪みの組合せである。テキスト−音声シンセサイザ２１６は、テキストアナライザ３２０および単位連結モジュール３３０がハードウェアまたはソフトウェアモジュールであり、単位一覧３４０および決定木３５０を、コンピュータ１１０を参照して説明した記憶デバイスのどれを用いても格納することができるコンピュータ１１０で実現することができる。他の形のテキスト−音声シンセサイザを使うこともできることが当業者には理解されよう。上述した連結シンセサイザ２１６に加え、調音シンセサイザおよび形式シンセサイザも、音声校正フィードバックを提供するのに使うことができる。
【００４３】
モデル単位ジェネレータ２２０は、音素列中の音素それぞれに対してモデルを生成するように構成される。一実施形態では、モデル単位ジェネレータ２２０は、音素それぞれに対してトライフォンを構築する。トライフォンから、モデル単位ジェネレータは、データベース２２４にアクセスして、生成されたトライフォンを表す隠れマルコフモデルを得る。一実施形態では、データベース２２４は、音声認識システムの音響モデルである。ただし、ＨＭＭまたは音素用の他のモデルを含む他のデータベースを使うこともできる。（たとえば、音素が、テキスト−音声シンセサイザ２１６を使って生成された場合、計算済のＨＭＭを使うことができる）。生成された各トライフォンは、多様なＨＭＭをそれに関連づけさせることができるので、トライフォンに対する、関連づけられたすべてのＨＭＭ状態が取得される。こうしたＨＭＭ状態は、理想ベクトルジェネレータ２３０に渡される。
【００４４】
理想ベクトルジェネレータ２３０は、モデル単位ジェネレータによって生成されたＨＭＭをすべて受け取る。各ＨＭＭに対して、理想ベクトルジェネレータ２３０は、３つのマルコフ状態またはセノンを識別する。ただし、他の実施形態では、音素に対して、より多いまたはより少ないマルコフ状態が存在し得る。次いで、理想ベクトルジェネレータ２３０は、各ＨＭＭごとに、マルコフ状態それぞれの相対確率を判定する。次いで、理想ベクトルジェネレータ２３０は、各状態ごとに、最大尤度を生じる点のベクトルを選択する。ただし、他のモデルが使われる場合、理想ベクトルジェネレータ２３０は、そのモデルの相対確率を判定する。
【００４５】
隠れマルコフモデルの場合、理想ベクトルジェネレータ２３０は、各次元ごとに、最大尤度を有する、各マルコフ状態の出力確率分布における点を選択する。ただし、たとえば、確率が多変量混合ガウス分布に基づいて表される場合、理想ベクトルジェネレータ２３０は、重みおよびＧｃｏｎｓｔの最も高い組合せをもつ混合を選択する。最良の混合が識別されると、理想ベクトルジェネレータ２３０は、マルコフ状態に対して判定された混合と最も厳密に合致する、音声認識装置の音響モデルまたは他のデータベース２３４中で、特徴ベクトルまたはコードワードを見つける。特徴ベクトルは、識別されると、ひとまとめにされ、音声認識コンポーネント２４０に伝送される。
【００４６】
音声認識システム２４０の例示的な実施形態を、図４に示してある。音声認識システム２４０は、マイクロホン９２、アナログ−デジタル（Ａ／Ｄ）コンバータ４０１、トレーニングモジュール４１５、特徴抽出モジュール４１０、レキシコン格納モジュール４３０、セノンツリーを伴う音響モデル４４０、ツリー検索エンジン４２０、および言語モデル４５０を含む。システム２４０の全体も、音声認識システム２４０の一部も、図１に示す環境において実装することができることに留意されたい。たとえば、マイクロホン９２は好ましくは、適切なインターフェイスおよびＡ／Ｄコンバータ４０１を介した、コンピュータ１１０への入力デバイスとして提供することができる。トレーニングモジュール４１５および特徴抽出モジュール４１０は、コンピュータ１１０内のハードウェアモジュールか、または図１で開示し、かつ処理ユニット１２０もしくは別の適切なプロセッサによってアクセス可能な情報記憶デバイスのいずれかに格納されたソフトウェアモジュールでよい。さらに、レキシコン格納モジュール４３０、音響モデル４４０、および言語モデル４５０も、好ましくは図１に示すメモリデバイスのいずれかに格納される。さらに、ツリー検索エンジン４２０は、処理ユニット１２０（１つまたは複数のプロセッサを含み得る）内で実装され、または、パーソナルコンピュータ１１０によって利用される専用の音声認識プロセッサによって実施することもできる。
【００４７】
図に示す実施形態では、音声認識中に、音声は、システム２４０への入力として、可聴音声信号の形でユーザによってマイクロホン９２に与えられる。マイクロホン９２は、可聴音声信号をアナログ電子信号に変換し、この信号は、Ａ／Ｄコンバータ４０１に与えられる。Ａ／Ｄコンバータ４０１は、アナログ音声信号をデジタル信号配列に変換し、この信号は、特徴抽出モジュール４１０に与えられる。一実施形態では、特徴抽出モジュール４１０は、デジタル信号に対して分光分析を実施するとともに周波数スペクトルの各周波数帯ごとに振幅値を計算する、従来のアレイプロセッサである。信号は、例示的な一実施形態では、Ａ／Ｄコンバータ４０１によって、約１６ｋＨｚのサンプルレートで特徴抽出モジュール４１０に与えられる。
【００４８】
特徴抽出モジュール４１０は、Ａ／Ｄコンバータ４０１から受け取ったデジタル信号を、複数のデジタルサンプルを含むフレームに分割する。各フレームは、持続期間が約１０ミリ秒である。フレームは次いで、特徴抽出モジュール４１０によって、複数の周波数帯に対する分光特性を反映する特徴ベクトルにエンコードされる。離散および半連続的隠れマルコフモデルの場合、特徴抽出モジュール４１０はまた、ベクトル量子化技術およびトレーニングデータから導出されたコードブックを用いて、特徴ベクトルを、１つまたは複数のコードワードにエンコードする。したがって、特徴抽出モジュール４１０は、出力において、発声された各発話内容ごとに、特徴ベクトル（すなわちコードワード）を提供する。特徴抽出モジュール４１０は、１つの特徴ベクトル（すなわちコードワード）あたり約１０ミリ秒おきの割合で、特徴ベクトル（すなわちコードワード）を提供する。
【００４９】
次いで、出力確率分布が、分析中の特定のフレームの特徴ベクトル（すなわちコードワード）を用いて、隠れマルコフモデルに対して計算される。こうした確率分布は、後でビタビ（Ｖｉｔｅｒｂｉ）または同様のタイプの処理技術を実行する際に使われる。
【００５０】
本発明は、音声認識装置２４０をテストし調整するように設計されるので、特徴ベクトルを表すデジタル信号は、理想ベクトルジェネレータ２３０から音声認識装置２４０に直接与えられる。こうしたベクトルが生成されるとき、それ以外の場所では、上記の音声信号処理を行う必要はない。ただし、音声認識装置の正確さの二重チェックとして、音声認識装置に発音を与えることができる。いずれの場合も、特徴ベクトルは、ツリー検索エンジン４２０に与えられる。
【００５１】
特徴抽出モジュール４１０またはベクトルジェネレータ２３０（システムがどのようにテストされているかに応じて）からコードワードを受け取ると、ツリー検索エンジン４２０は、音響モデル４４０に格納された情報にアクセスする。モデル４４０は、音声認識システム２４０によって検出される音声単位を表す、隠れマルコフモデルなどの音響モデルを格納する。一実施形態では、音響モデル４４０は、隠れマルコフモデルにおいて各マルコフ状態に関連づけられたセノンツリーを含む。隠れマルコフモデルは、例示的な一実施形態では、音素を表す。音響モデル４４０中のセノンに基づいて、ツリー検索エンジン４２０は、特徴抽出モジュール４１０から受け取られた特徴ベクトル（すなわちコードワード）によって表され、したがってシステムのユーザから受け取られた発声を表す可能性が最も高い音素を判定する。
【００５２】
ツリー検索エンジン４２０は、モジュール４３０に格納されたレキシコンにもアクセスする。音響モデル４４０へのアクセスに基づいて、ツリー検索エンジン４２０によって受け取られた情報は、レキシコン格納モジュール４３０の検索において、特徴抽出モジュール４１０から受け取られたコードワードまたは特徴ベクトルを表す可能性が最も高い単語を判定するのに用いられる。また、検索エンジン４２０は、例示的には、Ｎｏｒｔｈ  Ａｍｅｒｉｃａｎ  Ｂｕｓｉｎｅｓｓ  Ｎｅｗｓコーパスから導出され、刊行物（たとえば、非特許文献１）においてより詳細に説明されている、６０，０００語の三重文字言語モデル、または他のどのコーパスでもある、言語モデル４５０にアクセスする。言語モデル４５０は、入力音声によって表される可能性が最も高い単語の識別でも使われる。可能性が最も高い単語が、出力テキストとして与えられる。
【００５３】
本実施形態において、音声認識システム２４０は、ＨＭＭモデリングおよびセノンツリーを使用すると説明したが、音声認識システム２４０は、多くの形をとることができ、ユーザによって発話され、またはテストシステム２００によって与えられるテキストを出力として与えることだけが必要であることを理解されたい。
【００５４】
図５は、本発明の一実施形態によるテストシステム２００によって実行されるステップを示すフロー図である。最初に、開発者は、ステップ５１０で、テストシステム２００にテキスト２０１を与える。このテキストは、開発者が、音声認識装置による認識中にエラーを起こすと予想する１つの単語でも、一連の単語でもよい。たとえば、入力することができるテキストは、「Ｈｉ  Ｂｅｃｋｙ．  Ｉ  ａｍ  ｓｅｎｄｉｎｇ  ｙｏｕ  ｔｈｉｓ  ｅ−ｍａｉｌ  ｔｏ  ｇｉｖｅ  ｙｏｕ  ｔｈｅ  ｌａｔｅｓｔ  ｕｐｄａｔｅ  ｆｒｏｍ  Ｓｅａｔｔｌｅ．  Ａｆｔｅｒ  ｆｏｕｒ  ｍｏｎｔｈｓ  ｏｆ  ｈｏｕｓｅ  ｓｅａｒｃｈｉｎｇ  Ｉ  ｂｏｕｇｈｔ  ａ  ｈｏｕｓｅ  ｌａｓｔ  ｗｅｅｋ．  Ｔｈｅ  ｈｏｕｓｅ  ｉｓ  ｇｒｅｙ  ａｎｄ  ｈａｓ  ｆｏｕｒ  ｂｅｄｒｏｏｍｓ，  ｔｈｒｅｅ  ｂａｔｈｒｏｏｍｓ，  ａｎｄ  ａ  ｇｒｅａｔ  ｂｉｇ  ｄｅｃｋ  ｗｉｔｈ  ａ  ｖｉｅｗ  ｏｆ  ｔｈｅ  ｌａｋｅ．」でよい。このテキストは、エラーを誘発する言葉遣いを含んでおり、一般的な音声認識装置によって、「Ｈｉｄｅｋｉ  Ｉ’ｍ  ｓｅｎｄｉｎｇ  ｙｏｕ  ｔｈｉｓ  ｅ−ｍａｉｌ  ｔｏ  ｇｉｖｅ  ｙｏｕ  ｔｈｅ  ｌａｔｅｓｔ  ｕｐｄａｔｅ  ｆｒｏｍ  Ｓｅａｔｔｌｅ．  Ａｆｔｅｒ  ｆｏｕｒ  ｍｏｎｔｈｓ  ｏｆ  ｈｏｕｓｅ  ｓｅａｒｃｈｉｎｇ  ａ  ｂｏｕｇｈｔ  ａ  ｈｏｕｓｅ  ｌａｓｔ  ｗｅｅｋ．  Ｔｈｅ  ｈｏｕｓｅ  ｉｓ  ｇｒｅｙ  ａｎｄ  ｈａｓ  ｆｏｕｒ  ｂｅｄｒｏｏｍｓ，  ｔｈｒｅｅ  ｂａｔｈｒｏｏｍｓ，  ａｎｄ  ａ  ｇｒｅａｔ  ｂｉｇ  ｂａｃｋ  ｗｉｔｈ  ａ  ｖｉｅｗ  ｏｆ  ｔｈｅ  ｌａｋｅ．」のように誤って認識される場合がある。
【００５５】
このテキストは、最初に、発音ツール２１０によって受け取られる。発音ツール２１０は、最初に、テキストを解析してテキスト中の各単語を識別し、その中にあるどの句読点も、句読点の表現に変換する。たとえば、「，」が、「コンマ」という単語に変換される。このテキスト解析および変換を、ステップ５２０に示す。
【００５６】
テキストが解析され変換されると、発音ツール２１０は次いで、発音データベース２１４を検索して、テキスト中の各単語に関連づけられた発音および音素列を識別する。識別された単語に対して複数の発音がある場合、発音ツール２１０は、最初の発音を選択する。ただし、他の発音選択方法を使うこともできる。この処理を、ステップ５２５に示す。一致が見つかると、その単語に関連する音素列が、発音ツール２１０に返される。しかし、一致が見つからない場合、単語は、テキスト−音声シンセサイザ２１６に渡される。テキスト−音声シンセサイザ２１６は、その単語に対する音素列を生成し、この列を、発音ツール２１０に返す。この処理を、ステップ５２６に示す。単語の発音および音素列生成プロセスは、上の図３を参照してより詳細に説明してある。テキスト−音声シンセサイザ２１６による音素生成を、ステップ５２７に示す。音素は、ステップ５２６で、発音ツール２１０に返される。
【００５７】
発音ツール２１０は次いで、モデル単位ジェネレータ２２０に音素列を渡す。モデル単位ジェネレータ２２０は、音素列中の音素それぞれを取り出し、音素それぞれのトライフォン表現を生成する。この処理を、ステップ５３０に示す。次いで、モデル単位ジェネレータ２２０は、データベース２２４または音響モデル４４０にアクセスして、トライフォンそれぞれに対して隠れマルコフモデルを得る。この処理を、ステップ５３０に示す。隠れマルコフモデルが得られると、モデルは、理想ベクトルジェネレータ２３０に渡される。
【００５８】
理想ベクトルジェネレータ２３０は、隠れマルコフモデルによって表されるトライフォンをモデル化するのに使われるセノンそれぞれに対して、理想ベクトルを生成する。理想ベクトルを生成するために、トライフォンのマルコフ状態それぞれに対する確率分布が得られる。各マルコフ状態に関連づけられたこの確率分布は、ステップ５４０で、音響モデル４４０から取得することができる。ただし、他の実施形態では、確率分布は、マルコフモデルに対する、かつ関連するトライフォンへの確率分布を判定するどの方法を用いても計算することができる。
【００５９】
一実施形態では、各隠れマルコフモデルは、３つのマルコフ状態（セノン）を含む。マルコフ状態それぞれの確率が判定されまたは得られると、確率分布における最大確率の位置が、次元として選択される。特徴ベクトルは、最大確率点に最も厳密に合致する特徴ベクトル（すなわちコードワード）を識別することによって、トレーニング中に生成された、音声認識装置２４０の音響モデルから選択される。各マルコフ状態に対する特徴ベクトルのこの生成プロセスを、ステップ５５０に示す。生成されるベクトルは例示的には、トライフォンを含むマルコフ状態それぞれに対する、分布における最大点に基づくので、このプロセスは、理想ベクトルを生成する。
【００６０】
テキストに対して理想ベクトルがすべて生成されると、理想ベクトルは、ひとまとめにされ、音声認識装置２４０に渡される。ただし、通常の音声認識でのように、音パターンとして音声認識装置２４０に入力されるのではなく、理想ベクトルは、ツリー検索エンジン４２０に直接与えられる。ツリー検索エンジン４２０にベクトルを与えることによって、本発明は、ベクトルが、それ自体の特徴抽出モジュールから受け取られ、それ以外の場所で生成されたのではないと信じ込ませるように、音声認識装置を「欺く」ことができる。音声認識装置への理想ベクトルの提供を、ステップ５５５に示す。
【００６１】
与えられた特徴ベクトルを用いて、音声認識装置は、ステップ５６０で認識結果を出力する。この出力は次いで、開発者によって、音声認識装置のプログラミングにおけるエラーまたは問題を識別するために分析することができる。システムの追加調整またはテストは、ステップ５７０で行うことができる。
【００６２】
特定の実施形態を参照して本発明を説明したが、本発明の精神および範囲から逸脱することなく、形体および細部において変更を行うことができることが当業者には理解されよう。
【図面の簡単な説明】
【００６３】
【図１】本発明を実施することができる例示的な一環境を示すブロック図である。
【図２】本発明の一実施形態による音声認識テストシステムのコンポーネントを示すブロック図である。
【図３】本発明とともに使うことができるテキスト−音声エンジンのコンポーネントを示すブロック図である。
【図４】本発明を利用することができる例示的な一音声認識システムを示すブロック図である。
【図５】本発明の一実施形態によるテストシステムによって実行されるステップを示すフロー図である。
【符号の説明】
【００６４】
８３  話者
９２  マイクロホン
１００  計算機システム環境
１１０  コンピュータ
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ  
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  固定式不揮発性メモリインターフェイス
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取外し可能不揮発性メモリインターフェイス
１５１  磁気ディスクドライブ
１５２  取外し可能な不揮発性磁気ディスク
１５５  光ディスクドライブ
１５６  取外し可能な不揮発性光ディスク
１６０  ユーザ入力インターフェイス
１６１  ポインティングデバイス
１６２  キーボード
１６３  マイクロホン
１７０  ネットワークインターフェイス
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェイス
１９１  モニタ
１９５  出力周辺インターフェイス
１９６  プリンタ
１９７  スピーカ
２００  テストコンポーネント
２０１  テキスト
２１０  発音ツール
２１４  発音データベース
２１６  テキスト−音声コンポーネント
２２０  モデル単位ジェネレータ
２２４  データベース
２３０  理想ベクトルジェネレータ
２３４  データベース
２４０  音声認識装置
３１０  テキスト入力
３２０  テキストアナライザ
３３０  単位連結モジュール
３４０  単位一覧
３５０  決定木
３６０  出力信号
３７０  Ｄ／Ａ
３７５  アナログ信号
４０１  アナログ−デジタル
４１０  特徴抽出
４１５  トレーニング装置
４２０  検索エンジン
４３０  レキシコン
４４０  音響モデル
４５０  言語モデル
【図１】
2006113569.tif 000003
【図２】
2006113569.tif 000004
【図３】
2006113569.tif 000005
【図４】
2006113569.tif 000006
【図５】
2006113569.tif 000007