(57)【特許請求の範囲】
【請求項１】
発話を示す入力データ・ストリームに基づいて発話を認識する音声認識方法であって、
ノードで接続された複数の音素ブランチを含む接頭語ツリーとして、前記入力データ・ストリームによって表され、音素から構成された可能性のある単語を提供するステップであって、各音素ブランチは音素に対応し、前記複数の音素ブランチは、前記接頭語ツリーの入力側で無音に対応する少なくとも１つの入力無音ブランチと、前記接頭語ツリーの出力側で無音に対応する少なくとも１つの出力無音ブランチとによって分類されている、前記のステップと、
前記接頭語ツリーをトラバースして、前記入力データ・ストリームによって表される可能性のある単語を得るステップと、
を含み、
前記可能性のある単語を提供するステップは、
前記接頭語ツリーの入力側で前記接頭語ツリーに複数の無音ブランチを設けるステップであって、各無音ブランチはノードで少なくとも１つの音素ブランチに接続されている、ステップをさらに含むことを特徴とする音声認識方法。
【請求項２】
前記接頭語ツリーをトラバースするステップは、
前記接頭語ツリーの入力側から前記接頭語ツリーの出力側までの複数の連続的ノードにスコアを割り当てることにより、前記接頭語ツリーをトラバースするステップであって、前記スコアは、そのとき前記スコアが割り当てられているノードに至るブランチに対応する音素を前記入力データが表す可能性を示している、前記のステップ、
前記接頭語ツリーの出力側で無音ノードに対応し、しきい値レベルを満たすスコアを割り当てられているＮ個の単語を、前記入力データ・ストリームによって表される可能性のある単語として選択する、前記のステップと、
を含む、請求項１に記載の音声認識方法。
【請求項３】
前記接頭語ツリーに複数の無音ブランチを設けるステップは、
前記接頭語ツリーに前記複数の無音ブランチを設けるステップであって、前記複数の無音ブランチによって表される前記無音は、文脈に基づいて変化する、前記のステップ、
を含む、請求項１に記載の音声認識方法。
【請求項４】
可能性のある語を提供するステップは、
前記接頭語ツリーの入力側で前記接頭語ツリーに前記複数の無音ブランチを設けるステップであって、各無音ブランチによって表される無音は、前記無音ブランチが接続されている前記音素に基づいて、他の無音ブランチによって表される音から変化する、前記のステップ、
を含む、請求項１に記載の音声認識方法。
【請求項５】
前記接頭語ツリーをトラバースするステップは、
前記無音ブランチと、前記入力データが、スコアが割り当てられているノードに至る前記無音ブランチに対応する前記無音を表す可能性を示す前記音素ブランチとの間に接続された前記ノードにスコアを割り当てるステップ、
を含む、請求項１に記載の音声認識方法。
【請求項６】
前記接頭語ツリーをトラバースするステップは、
前記無音ブランチと前記音素ブランチとの間に接続された前記ノードに割り当てられた前記スコアに基づいて、前記接頭語ツリーからブランチを取り除くステップ、
を含む、請求項５記載の音声認識方法。
【請求項７】
取り除くステップは、
割り当てられた前記スコアが、取り除きしきい値レベルを満たすノードから出る前記接頭語ツリーにおけるブランチを更にトラバースすることを打ち切るステップ、
を含む、請求項６に記載の音声認識方法。
【発明の詳細な説明】
【０００１】
［発明の背景］
本発明は、コンピュータ音声認識に関する。特に、本発明は無音分類語彙目録の接頭語ツリー検索を行うことによって遂行されるコンピュータ音声認識に関する。
【０００２】
最も成功を収めている現在の音声認識システムは、ヒドン・マルコフ・モデル（ＨＭＭ）として知られている確率モデルを採用している。ヒドン・マルコフ・モデルは複数の状態を含み、移行確率は、同じ状態への移行も含め、各状態からあらゆる状態への各移行に関して定義されている。観察は各独特な状態に確率的に関連づけられている。状態間の移行確率（観察が１つの状態から次の状態に移行する確率）は、全て同じというわけではない。したがって、状態間の移行確率と観察確率が与えられた場合に、全体的確率が最大になる可能性が最も高い状態のシーケンスを判断するために、ビタビ・アルゴリズムなどの検索技術が採用されている。
【０００３】
状態移行のシーケンスは、知られた方法で、観察時間のシーケンスに亘ってＨＭＭの状態の全てを表すトレリス線図を通るパスとして表すことができる。したがって、観察シーケンスを与えられた場合に、トレリス線図を通る最も可能性の高いパス（すなわち、ＨＭＭによって表される可能性が最も高い状態のシーケンス）は、ビタビ・アルゴリズムを使用して判断することができる。
【０００４】
現在の音声認識システムにおいては、発話はヒドン・マルコフ・プロセスによって生成されるものと考えられてきた。その結果、ＨＭＭは発話スペクトルの観察されたシーケンスをモデル化するために採用されており、ここで特定のスペクトルはＨＭＭにおける状態と確率的に関連づけられている。換言すれば、発話スペクトルの所与の観察されたシーケンスについて、対応するＨＭＭに最も可能性の高い状態のシーケンスがある。
【０００５】
したがって、この対応するＨＭＭは観察されたシーケンスに関連づけられている。この技術は拡張することができ、そのため、ＨＭＭにおける状態の各識別的なシーケンスが音素などのサブワード・ユニットと関連づけられると、サブワード・ユニットの最も可能性の高いシーケンスが発見できる。更に、サブワード・ユニットがどのように結合されて単語を形成するかのモデルを使用し、次に単語がどのように結合されて文を形成するかの言語モデルを使用して、完全な音声認識が達成される。
【０００６】
実際に音響信号を処理するときに、信号は通常、フレームと呼ばれる連続的時間間隔でサンプル抽出される。フレームは通常、複数のサンプルを含み、重複するか近接していることがある。各フレームは、発話信号の独特な部分と関連づけられている。各フレームによって表される発話信号の部分が分析されて、対応する音響ベクトルを提供する。音声認識の間に、検索は、音響ベクトルのシーケンスに関連づけられる可能性が最も高い状態のシーケンスについて行われる。
【０００７】
音響ベクトルのシーケンスに対応する最も可能性の高い状態のシーケンスを発見するために、ビタビ・アルゴリズムが採用されている。ビタビ・アルゴリズムは、時間同期的な方法で、第１のフレームから始めて、一度に１つのフレームを進める計算を行う。検討している状態シーケンス（すなわち、ＨＭＭ）における各状態に関して、確率スコアが計算される。したがって、累積的確率スコアは、ビタビ・アルゴリズムがフレーム毎に音響信号を分析するときに、可能な状態シーケンスのそれぞれについて連続的に計算される。発声の終わりに、ビタビ・アルゴリズムによって計算された最も高い確率スコアを有する状態シーケンス（あるいは、ＨＭＭまたは一連のＨＭＭ）は、発声全体に関して最も可能性の高い状態シーケンスを提供する。最も可能性の高い状態シーケンスは次に対応する発話サブワード・ユニット、単語または単語シーケンスに変換される。
【０００８】
ビタビ・アルゴリズムは幾何級数的計算を、モデルにおける状態および移行の数ならびに発声の長さに比例する計算に縮小する。しかし、語彙数が多いと、状態および移行の数は多くなり、全ての可能な状態シーケンスに関する各フレームの各状態での確率スコアを更新するのに必要な計算は、通常は約１０ミリセカンドの長さである１フレームの継続時間の何倍も長くなってしまう。
【０００９】
このため、最も可能性の高い状態シーケンスを判断するのに必要とされる計算を大幅に縮小するために、刈り込みまたはビームサーチと呼ばれる技術が開発された。この種の技術は、ほとんどあり得ない状態シーケンスに関する確率スコアを計算する必要性を抹消する。これは通常、各フレームで、そのフレームに関連づけられた最も大きいスコアを有する、検討中の各残余状態フレーム（または潜在シーケンス）に関する確率スコアを比較することにより達成される。特定の潜在シーケンスに関する状態の確率スコアが十分に低ければ（その時点での他の潜在シーケンスに関する最大計算確率スコアと比較したときに）、刈り込みアルゴリズムは、そのような低いスコアの状態シーケンスが完了した最も可能性の高い状態シーケンスの一部にはなりそうもないと推測する。この比較は通常、最小しきい値を使用して達成される。最小しきい値未満に落ちるスコアを有する潜在状態シーケンスは、検索工程から除外される。しきい値は、主として所望のメモリおよび計算の節約ならびに、メモリおよび計算の節約によって生じる所望のエラー率上昇に基づいて、あらゆる所望のレベルに設定できる。
【００１０】
音声認識に必要な計算の規模を更に縮小するもう１つの従来技術は、接頭語ツリーの使用を含む。接頭語ツリーは、音声認識システムの語彙目録をツリー構造として表し、そのツリー構造の中ではそのシステムが遭遇する可能性のある単語の全てが表される。
【００１１】
かかる接頭語ツリーにおいては、各サブワード・ユニット（音素など）は通常、特定の音声モデル（例えば、ＨＭＭ）と関連づけられたブランチによって表される。音声ブランチはそれに続く音声ブランチにノードで接続されている。同じ第１音素を共有する語彙目録内の全ての単語は、同じ第１ブランチを共有する。同じ第１および第２の音素を有する全ての単語は、同じ第１および第２のブランチを共有する。対照的に、共通の第１音素を有するが異なった第２音素を有する単語は、接頭語ツリーにおける同じ第１ブランチを共有するが、接頭語ツリーにおける第１のノードで分かれる第２ブランチを有する、などである。ツリー構造は、システムが遭遇する可能性のある全ての単語がツリーの末端ノード（すなわち、ツリーのリーフ）によって表されるような方法で続く。
【００１２】
接頭語ツリー構造を採用することにより、最初のブランチの数が、システムの語彙目録または語彙における通常の単語数よりもはるかに少なくなることは明らかである。実際に、検索している語彙または語彙目録の大きさに拘わらず、最初のブランチの数は音素の総数（約４０〜５０）を越えることはできない。異音の変形が使用されるとしても、ブランチの最初の数は、使用される異音に応じて多くなり得る。
【００１３】
この種の構造は、それ自体を多数の重要な利点に導いている。例えば、ツリーにおいて少数の最初のブランチを与えると、語彙が非常に大きくても、可能な最初の音素のそれぞれの確率を評価することにより、語彙目録中の全ての単語の始めを検討することが可能である。更に、刈り込みを使用すると、低い確率の多数の音素ブランチを検索の非常に初期で抹消することが可能である。したがって、ツリーの第２レベルは第１レベルよりも多くのブランチを有するが、実際に検討しているブランチの数（すなわち、仮定の数）も、可能なブランチの数を越えて削減される。
【００１４】
上記技術を採用した音声認識システムは通常、２つのタイプに分類できる。第１のタイプは、滑らかな発話を認識できる連続的音声認識（ＣＳＲ）システムである。第２のタイプのシステムは、断続的な発話（または控えめな発話）のみを認識するために通常は採用されるが、検索スペースが一般的に短いので、連続的音声認識システムよりも正確で効率的でもある、断続的音声認識（ＩＳＲ）システムである。また、連続的音声認識システムは一般的に断続的な発話も受け付けることができるので、断続的音声認識システムは連続的音声認識の特別なケースと考えられてきた。連続的音声認識システムは、断続的な発話を認識しようと試みるときに、同様には作動しないだけである。
【００１５】
無音情報は両方のシステムにおいて役割を果たす。今日まで、両タイプの音声認識システムは、無音を語彙目録における特別な語として扱ってきた。無音の語は、認識されているとおり、単語の間に挿入できるように通常の検索工程に関与する。
【００１６】
しかし、音声認識システムにおいて単語の移行を検討することは、計算集約的であり費用のかかる工程であることが知られている。したがって、無音が別個の単語として扱われる断続的音声認識システムにおいては、無音の単語から語彙目録中の全ての他の単語への移行は、語彙目録中の全ての単語（または、検索の終わりに残っている単語）から無音の単語への移行と同様に検討しなければならない。
【００１７】
また、連続的音声認識システムにおいては、このシステムが、話者が不連続的に、すなわち断続的に話していると識別したとしても、ＣＳＲシステムはやはり、単語の間に無音を有していない仮定を検討する。これは、１つの単語を２つ以上の単語に不適切に分解する傾向につながる。もちろん、これはそのようなことがなければ起きないであろう、高いエラー率に帰する。更に、これは、連続的発話に属していて断続的な発話には属していない検索スペースの一部をまだカバーしているので、計算上、非効率的である。
【００１８】
無音を語彙目録における別個の単語として採用することに加えて、無音の従来のモデル化も、以前の音声認識システムにおける問題やエラーにつながった。無音は文脈から独立しているということが広く信じられている。したがって、文脈に拘わらず、無音は従来の音声認識システムにおいてモデル化されてきた。換言すれば、無音は、それに先行するかそれに続く単語またはサブワード・ユニットに拘わらず、同じようにモデル化されてきた。これは音声認識システムの正確性を低下させるだけでなく、本発明によるモデル化よりも低い効率にしてしまう。
【００１９】
［発明の要約］
音声認識システムは、発話を示す入力データ・ストリームに基づいて発話を認識する。入力データ・ストリームによって表される可能性のある単語は、ノードで接続された複数の音素ブランチを含む接頭語ツリーとして提供される。複数の音素ブランチは、接頭語ツリーの入力側で無音に対応する少なくとも１つの入力無音ブランチと、接頭語ツリーの出力側で無音に対応する少なくとも１つの出力無音ブランチとによって分類されている。
【００２０】
好適な一実施形態においては、複数の無音ブランチが接頭語ツリーにおいて提供されている。複数の無音ブランチは、文脈に依存する無音を表す。
【００２１】
本発明のもう１つの好適な実施形態においては、音声認識システムは連続的音声認識システム語彙目録と断続的音声認識システム語彙目録との両方を含む。システムは、システムの使用者によってそのときに採用されている発話の種類に基づいて、ＣＳＲ語彙目録の使用とＩＳＲ語彙目録の使用とを切り替える。
【００２２】
［好適な実施形態の詳細な説明］
図１およびそれに関連する解説は、本発明を実施できる適切な計算環境の簡潔で一般的な説明を提供することを目的としている。要求されてはいないが、本発明は、パーソナル・コンピュータによって実行されるプログラム・モジュールなどのコンピュータ実行可能命令の一般的コンテキストにおいて、少なくとも部分的に説明する。一般的に、プログラム・モジュールは、特定のタスクを遂行するか特定の抽象的なデータ・タイプを実施する、ルーチン・プログラム、オブジェクト、構成要素、データ構造などを含む。更に、当業者は、携帯装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースまたはプログラム可能家庭用電子製品、ネットワークＰＣ、ミニコンピュータ、メーンフレーム・コンピュータなどを含む、他のコンピュータ・システム編成で実施できることを理解されるであろう。本発明は、通信ネットワークを介してリンクされたリモート処理装置によってタスクが遂行される、分散化された計算環境においても実施できる。分散化された計算環境においては、プログラム・モジュールはローカル・メモリ記憶装置およびリモート・メモリ記憶装置の両方に配置されてもよい。
【００２３】
図１を参照すると、本発明を実施する例示的システムは、処理ユニット２１、システム・メモリ２２および、システム・メモリを含む様々なシステム構成要素を処理ユニット２１に接続するシステム・バス２３を含む従来のパーソナル・コンピュータ２０の形式で汎用計算装置を含んでいる。システム・バス２３は、メモリ・バスまたはメモリ・コントローラ、周辺バスおよび、様々なバス・アーキテクチャの何れかを使用するローカル・バスを含む、数種類のバス構造の何れであってもよい。システム・メモリは、リード・オンリー・メモリ（ＲＯＭ）２４およびランダム・アクセス・メモリ（ＲＡＭ）２５を含む。始動時などに、パーソナル・コンピュータ２０内の構成要素の間で情報を伝送することを補助する基本ルーチンを含む基本入出力装置２６（ＢＩＯＳ）は、ＲＯＭ２４に記憶されている。パーソナル・コンピュータ２０は更に、ハード・ディスク（図示せず）から読み出しまたはそれに書き込むハード・デスク・ドライブ２７、リムーバブル磁気ディスク２９から読み出しまたはそれに書き込む磁気ディスク・ドライブ２８および、ＣＤ  ＲＯＭまたは他の光媒体などのリムーバブル光ディスク３１から読み出しまたはそれに書き込む光ディスク・ドライブ３０を含む。ハード・ディスク・ドライブ２７、磁気ディスク・ドライブ２８および光ディスク・ドライブ３０は、それぞれ、ハード・ディスク・ドライブ・インターフェイス３２、磁気ディスク・ドライブ・インターフェイス３３および光ドライブ・インターフェイス３４によってシステム・バス２３に接続されている。これらのドライブおよび関連づけられたコンピュータ読み取り可能媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュールおよび、パーソナル・コンピュータ２０用の他のデータの不揮発性記憶装置を提供する。
【００２４】
本明細書中で説明する例示的環境はハード・ディスク、リムーバブル磁気ディスク２９およびリムーバブル光ディスク３１を採用しているが、当業者は、磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイ・カートリッジ、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリー・メモリ（ＲＯＭ）などの、コンピュータによってアクセス可能なデータを記憶できる他の種類のコンピュータ読み取り可能媒体も、例示的動作環境において使用できることを理解するはずである。
【００２５】
オペレーティング・システム３５、１つまたは複数のアプリケーション・プログラム３６、他のプログラム・モジュール３７およびプログラム・データ３８を含む、多数のプログラム・モジュールを、ハード・ディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５に記憶してもよい。使用者は、キーボード４０、画像位置指示装置４２およびマイクロフォン６２などの入力装置を介して、パーソナル・コンピュータ２０にコマンドと情報を入力できる。他の入力装置（図示せず）は、ジョイスティック、ゲーム・パッド、サテライト・デッシュ、スキャナなどを含んでもよい。これらおよび他の入力装置は、システム・バス２３に接続されたシリアル・ポート・インターフェイス４６を介してしばしば処理ユニット２１に接続されているが、サウンド・カード、パラレル・ポート、ゲーム・ポートまたは汎用シリアル・バス（ＵＳＢ）などの他のインターフェイスによって接続されてもよい。モニタ４７または他の種類の表示装置も、ビデオ・アダプタ４８などのインターフェイスを介してシステム・バス２３に接続される。モニタ４７に加えて、パーソナル・コンピュータは通常、スピーカ４５およびプリンタ（図示せず）などの他の周辺出力装置を含んでもよい。
【００２６】
パーソナル・コンピュータ２０は、リモート・コンピュータ４９などの１つまたは複数のリモート・コンピュータへの論理接続を使用して、ネットワーク化された環境において動作してもよい。リモート・コンピュータ４９は、もう１台のパーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイスまたは他のネットワーク・ノードであってもよく、通常はパーソナル・コンピュータ２０に関連して上記で説明した要素の多くまたは全てを含むが、メモリ記憶装置５０のみを図１に示した。図１に示した論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）５１およびワイド・エリア・ネットワーク（ＷＡＮ）５２を含む。かかるネットワーク環境は、事務所、企業内コンピュータネットワーク・イントラネットおよびインターネットにおいてはありふれたものである。
【００２７】
ＬＡＮネットワーク環境で使用する場合には、パーソナル・コンピュータ２０はネットワーク・インターフェイスまたはアダプタ５３を介してローカル・エリア・ネットワーク５１に接続されている。ＷＡＮネットワーク環境で使用する場合には、パーソナル・コンピュータ２０は通常、モデム５４またはインターネットなどのワイド・エリア・ネットワーク５２上で通信を確立する他の手段を含む。モデム５４は、内蔵または外付けの何れであってもよいが、シリアル・ポート・インターフェイス４６を介してシステム・バス２３に接続されている。ネットワーク環境においては、パーソナル・コンピュータ２０に関連して図示したプログラム・モジュールまたはその部分は、リモート・メモリ記憶装置に記憶されてもよい。図示したネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用してもよいことが理解されるであろう。
【００２８】
図２は、本発明の一態様による音声認識システム６０のブロック図である。音声認識システム６０は、マイクロフォン６２，アナログ・デジタル（Ａ／Ｄ）コンバータ６４、トレーニング・モジュール６５，フィーチャ抽出モジュール６６，無音検出モジュール６８、語彙目録記憶モジュール７０、音声発話ユニット記憶モジュール７２、ツリー検索エンジン７４および出力装置７６を含む。更に、言語モデル記憶モジュール７５も設けて、サーチエンジン７４によってアクセスすることもできる。システム６０全体またはシステム６０の一部は、図１に示した環境において実施できることに留意すべきである。例えば、マイクロフォン６２は、適切なインターフェイスを介して、またＡ／Ｄコンバータ６４を介して、パーソナル・コンピュータ２０への入力装置として設けることが好ましいこともある。トレーニング・モジュール６５、フィーチャ抽出モジュール６６および無音検出モジュール６８は、コンピュータ２０内のハードウエア・モジュールであっても、図１に開示された情報記憶装置の何れかに記憶されており、ＣＰＵ２１または他の適当なプロセッサによってアクセス可能であるソフトウエア・モジュールであってもよい。更に、語彙目録記憶モジュール７０および音声発話ユニット記憶モジュール７２も、図１に示した何れかの適当なメモリ装置に記憶されることが好ましい。また、ツリー検索エンジン７４はＣＰＵ２１（１つまたは複数のプロセッサを含むことができる）に実装されることが好ましく、あるいはパーソナル・コンピュータ２０によって採用された専用音声認識プロセッサによって遂行されてもよい。更に、出力装置７６は、好適な一実施形態において、モニタ４７、プリンタまたは他のあらゆる適当な出力装置として実装されてもよい。
【００２９】
何れの場合にも、音声認識の間に、発話は使用者からマイクロフォン６２に提供される可聴音声信号の形式でシステム６０に入力される。マイクロフォン６２は可聴発話信号を、Ａ／Ｄコンバータ６４に提供されるアナログ電子信号に変換する。Ａ／Ｄコンバータ６４はアナログ発話信号を、フィーチャ抽出モジュール６６に提供される一連のデジタル信号に変換する。好適な実施形態においては、フィーチャ抽出モジュール６６は、デジタル信号についてスペクトル分析を行い、周波数スペクトルの各周波数帯に関する等級値を計算する従来のアレイ・プロセッサである。信号は、好適な一実施形態においては、約１６ｋＨｚのサンプル・レートでＡ／Ｄコンバータ６４によってフィーチャ抽出モジュール６６に提供され、Ａ／Ｄコンバータ６４を、市販されているよく知られたＡ／Ｄコンバータとして実施する。
【００３０】
フィーチャ抽出モジュール６６は、Ａ／Ｄコンバータ６４から受け取ったデジタル信号を、複数のデジタル・サンプルを含むフレームに分割する。各フレームは約１０ミリセカンドの長さである。フレームは次に、フィーチャ抽出モジュール６６によって、複数の周波数帯に関するスペクトル特性を反映したフィーチャ・ベクトルに符号化されることが好ましい。分離または半連続的ヒドン・マルコフ・モデルの場合には、フィーチャ抽出モジュール６６はフィーチャ・ベクトルを、ベクトル量子化技術およびトレーニング・データから引き出されたコードブックを使用して、１つまたは複数のコードワードに符号化することが好ましい。したがって、フィーチャ抽出モジュール６６は、その出力部で発話された各発声に関するフィーチャ・ベクトル（またはコードワード）を提供する。フィーチャ抽出モジュール６６は、約１０ミリセカンド毎に１つのコードワードのレートで、フィーチャ・ベクトル（またはコードワード）を提供することが好ましい。
【００３１】
出力確率分布はここで、分析される特定のフレームのフィーチャ・ベクトル（またはコードワード）を使用して、ヒドン・マルコフ・モデルに対して計算することが好ましい。これらの確率分布は後に、ビタビまたは類似の種類の技術を遂行するに当たり使用する。
【００３２】
フィーチャ抽出モジュール６６はＡ／Ｄコンバータ６４からのデジタル・サンプルを処理しているので、無音検出モジュール６８もサンプルを処理している。無音検出モジュール６８は、フィーチャ抽出モジュール６６を実装するのに使用されるプロセッサと同じまたは異なったプロセッサの何れでも実装できる。無音検出モジュール６８はよく知られた方法で動作する。簡潔に言えば、無音検出モジュール６８は、無音を検出して、使用者が発声する単語の間の境界を判断するために、Ａ／Ｄコンバータ６４によって提供されるデジタル・サンプルを処理する。無音検出モジュール６８は次に、単語の境界の検出を示す境界検出信号をツリー検索エンジン７４に提供する。
【００３３】
コードワードをフィーチャ抽出モジュール６６から受け取り、境界検出信号を無音検出モジュール６８によって提供されると、ツリー検索エンジン７４は音声発話ユニット・モデル・メモリ７２に記憶された情報にアクセスする。メモリ７２は、システム６０によって検出される発話ユニットを表す、ヒドン・マルコフ・モデルなどの音声発話ユニット・モデルを記憶している。好適な一実施形態においては、メモリ７２に記憶された音声モデルは、音素を表すＨＭＭを含む。メモリ７２に記憶されたＨＭＭに基づいて、ツリー検索エンジン７４は、フィーチャ抽出モジュール６６から受け取ったコードワードによって表される、したがってシステムの使用者が受け取る発声を表す、最も可能性の高い音素を判断する。また、適切な音素は、各音素に関するＨＭＭの各状態について計算される特定のsenonesを吟味することを含む、多数の方法で選択することができる。また、音声ＨＭＭツリー検索は、適切な音素を発見するために遂行できる。
【００３４】
ツリー検索エンジン７４は、メモリ７０に記憶された語彙目録のもアクセスする。ツリー検索エンジン７４が、メモリ７２内の音声発話ユニット・モデルにアクセスすることに基づいて受け取る情報は、無音検出モジュール６８によって示されるように、単語境界の間でフィーチャ抽出モデル６６によって受け取られるコードワードを表す可能性が最も高い単語を判断するために、語彙目録７０を検索するに当たって使用される。また、検索エンジン７４は、North American Business News Corpusから抽出され、１９９４年ペンシルバニア州立大学発刊のCRS-III Text Language Modelと題する刊行物に更に詳細に記載されている、６０，０００語の三重字語モデルなど、モジュール７５内の言語モデルにアクセスすることが好ましい。言語モデルは、入力データによって表される最も可能性の高い単語または単語シーケンスを識別するに当たって使用される。したがって、決定された単語または単語シーケンスは、使用者が受け取る発声を表す可能性が最も高い。単語または単語シーケンスは次に、ツリー検索エンジン７４によって出力装置７６に出力される。
【００３５】
好適な実施形態においては、語彙目録７０は、音声認識システム６０の語彙の単語の全てを表す情報を含んでいる。単語は、ルートからリーフへと（すなわち内部単語ノードへと）トラバースして、使用者の発声を示す可能性が最も高い単語に到達することができる、接頭語ツリーの形式でツリー検索エンジン７４に提供されることが好ましい。
【００３６】
図３は、先行技術の音声認識システムにしたがって使用される接頭語ツリーを示している。明確化のために、図３は接頭語ツリーの一部のみを示している。ルート・ノード（すなわちインプット・ノード）７８には最初の単語境界で遭遇する。複数のブランチ８０がルート・ノード７８から接頭語ツリーの残りの部分に至っている。複数のブランチのそれぞれは、音素に関連づけられている。図３において、ルート・ノード７８を出るブランチは、文字ＡＯ、ＡＥおよびＴで表される音素のみを表している。ツリーは他のノードやブランチを通って延び、出力ノード７９で終わる。
【００３７】
１つの検索技術によれば、ツリー７７は入力ノード７８から出力ノード７９へとトラバースされるので、そのとき音声認識システムによって検討されている音素ブランチに接続された各ノードにスコアが割り当てられている。スコアは、吟味されている特定の音素が、フィーチャ抽出モジュール６６から受け取ったコードワードによって示された実際の音素である可能性を示している。
【００３８】
例えば、使用者によって単語ＯＲＡＮＧＥがシステム６０に入力された場合、フィーチャ抽出モジュール６６は、ＡＯ、Ｒ、ＩＸ、Ｎ、ＪＨのように表される音素を示すコードワードに単語ＯＲＡＮＧＥを分割する可能性がある。ツリー検索エンジンがツリー７７をトラバースすると、これはツリー７７において検討されている各音素ブランチについてスコアを計算することが好ましく、ここで、スコアはコードワードによって符号化された特定の音素が検討中のブランチに関する音素に対応する可能性を示す。したがって、ツリー検索エンジン７４は、検討中の最初のコードワードが、検討中のブランチに対応するＡＯ音素によって表される可能性が高いことを示すノード８２のスコアを計算する。ツリー検索エンジン７４は、ツリー７７における他のノード８４および８６のそれぞれに関するスコアも計算することが好ましく、ここで、スコアは、分析されているコードワードが音素ＡＥおよびＴによって表される可能性を示す。理想的な状況の下では、ノード８４および８６に割り当てられたスコアは、ノード８２に割り当てられたスコアよりも低い。
【００３９】
検索エンジン７４がツリー７７をトラバースすると、分析中の現在のコードワード（出力可能性分布）がこのとき検討されているツリー７７におけるブランチに対応する音素によって表される可能性に基づき、また、音素ブランチによって現在のノードに接続されている更にツリーの上方のノードに割り当てられたスコアに基づいている、ツリー７７における各ノードにスコアを割り当てることが好ましい。これは全て、知られた方法で行われる。
【００４０】
また、刈り込み技術を使用することができる。刈り込みは、各ノードにおいて、そのノードに割り当てられたスコアを、検討しているフレームに対応する他のノードの何れかでの最大スコアと比較することにより達成される。特定のノードのスコアが、ツリー７７における他の対応するノードに関する最大スコアと比較して十分に低い場合には、検討中のそのノード（最低スコアのノード）に至るブランチは、完成した最も可能性が高い音素シーケンスの一部になる可能性はない（すなわち、そのシーケンスの音素は、システムによって認識される最終単語の一部になる可能性はない）。したがって、そのブランチはツリー７７から落とされ（すなわち刈り込まれ）て、その後の処理においてはもはや検討されない。
【００４１】
断続的音声認識システムにおいては、ツリー７７がトラバースされた後に、無音が単語境界で実施されなければならない。したがって、出力ノード７９は無音ブランチに至り、現在の単語境界に続く次の単語について再び認識を開始できるように、無音ブランチは分岐して入力ノード７８に戻る（ツリー７７が再入ツリーであれば）。しかし、これは以下のような多くの理由によって幾分か次善の成果につながり得る。
【００４２】
第１に、無音を単語境界で実施できるように、ツリー７７のリーフの全てが出力ノード７９に至らなければならない。しかし、言語モデルを使用して単語シーケンスを判断する場合には、ツリー７７をトラバースした後に、Ｎ-best仮定を維持することが望ましい。ツリー７７の全てのリーフが単一の出力ノード７９に至らなければならない場合には、ツリー７７をトラバースするに当たって使用するビタビ・アルゴリズムが、Ｎ-best仮定を維持することは困難であり非効率的である。また、かかる先行技術の接頭語ツリーにおける無音は、その文脈に拘わらず同じくモデル化される。本発明の発明者は、無音は文脈に基づいて大きく代わることがあると認識していた。文脈に拘わらず無音をモデル化することは、認識の誤りにつながり得る。また、音声認識システム内での単語間移行の検討は複雑であり且つ時間のかかると広く認識されている。しかし、先行技術にしたがってツリー７７を利用すると、システムによって認識された各単語について、無音から認識された単語へ、そして無音に戻る移行が行われなければならない（断続的音声認識システムにおいてさえ）。これは、エラー率の上昇につながることがあり、システムの非効率性に帰結する。
【００４３】
図４は、本発明による接頭語ツリー８８の好適な一実施形態を示している。ツリー８８は、本発明の一態様にしたがって発話を認識するに当たって使用される語彙目録が、無音分類語彙目録であることを示している。換言すれば、ツリー８８をトラバースするために、ツリーはルート・ノード９０で入る。図４に示した実施形態においては、ルート・ノード９０は、無音を表す無音ブランチ９２に接続されており、無音ブランチ９２は音素ブランチおよび接頭語ツリーの残りの部分に接続されている。ツリー上の各リーフ（単語を表す）は、それぞれが無音に関連づけられたブランチ９４、９６および９８などの無音ブランチに接続されている。接頭語ツリー８８を採用することにより、本システムは無音分類語彙目録を提供し、この語彙目録内の各単語は無音によって分類されている。
【００４４】
図４に示した実施形態においては、単一の無音のみがツリー８８の入力側で接続されている。このトップ・レベルの無音ブランチ９２は、ノード１００で、図３においてツリー７７の第１レベルを形成する複数の音素ブランチに接続されている。ツリー８８の末端の無音は、この好適な実施形態において、文脈に依存的な無音である。換言すれば、システム６０における音声モデルのトレーニングの間（以下で詳細に説明）、音声モデルをトレーニングするためにシステム６０に提供された発話は、モデル化されてメモリ７２に記憶される複数の文脈依存無音を含む。単語境界が無音検出モジュール６８によって検出されると、ツリー検索エンジン７４は、メモリ７２内の音声無音モデルを使用して、且つ接頭語ツリー８８を使用して、適切な無音を配置する。
【００４５】
無音分類語彙目録を示す接頭語ツリー８８を採用することにより、多数の利点が得られた。第１に、無音分類語彙目録は、単語間移行を検討する必要性を抹消した。換言すれば、図３に示した先行技術のシステムにおいて、単語から無音へ、そして単語に戻る移行は、システムによって調節される必要があった。しかし、無音を単語の一部として語彙目録に入れることにより、これらの単語間の移行は必要ではなくなった。その代わり、調節しなければならない唯一の移行は、実際に話される１つの単語から他の単語への移行である。更に、図４に示した実施形態を使用すると、ツリー８８によって表される語彙目録内のあらゆる単語は、入力無音９２を共有する。したがって、最初の無音を単語内に埋め込む追加費用はほとんどかからない。また、ツリー８８末端によって表される単語のそれぞれは独立の無音で終わるので、ビタビ・アルゴリズムは、ツリー８８をトラバースした後に、Ｎ-best仮定を更に効率的に維持できる。これは、最も可能性の高い単語シーケンスを判断するために、同様に言語モデル（または他の適当なモデル）を使用するシステムにおけるビタビ・アルゴリズムの更に効率的な発展につながる。
【００４６】
本発明によって得られるもう１つの重要な利点は、図４に示したように、システムが連続的音声認識システムに使用されるときに得られる。典型的な連続的音声認識システムのアーキテクチャは、クロスワード文脈を扱うように構成されている。しかし、これは、連続的音声認識システムが断続的な発話に適用されるときには、高いエラー率に帰結することがある。例えば、話者が断続的または不連続的な話し方で連続的音声認識システムに話しているときに、連続的音声認識システムのクロスワード文脈調節の特徴は、１つの単語を不正確に２つ以上の単語に分離しがちなことがある。しかし、使用者が断続的または不連続的な話し方で話していることをシステムが検出すると、本発明の一態様による（更に図７について説明された）システムは、それ自体を再編成して、無音分類語彙目録を採用する。単語境界で無音を実施することにより、本システムは、クロスワード文脈が検討されないことを確実にして、したがって、本発明を採用した連続的音声認識システムは、更に効率的且つ更に正確に、断続的な発話を更に良好に扱うことができる。
【００４７】
図５は、本発明のもう１つの態様による接頭語ツリー１０２のもう１つの実施形態を示している。接頭語ツリー１０２は、図４に示した接頭語ツリー８８に類似であり、同様の部分には同様の符号を付してある。しかし、ツリー１０２の入力末端で単一の無音ブランチ９２を有する代わりに、１０４、１０６および１０８などの複数の無音ブランチがツリー１０２の入力末端で含まれている。無音ブランチ１０４、１０６および１０８は文脈依存無音に対応している。したがって、ツリーの出力末端で文脈依存無音のみを有する（図４に示したツリー８８におけるように）代わりに、ツリー１０２もツリーの入力末端で文脈依存無音を有する。ツリーの入力末端の無音ブランチは、ツリーの残りの部分に接続された音素ブランチに接続されている。ツリー８８と同様に、ツリー１０２は、語彙目録内の各単語の終わりで無音を表すリーフにおいて終了する。
【００４８】
したがって、ツリー１０２によって表される無音分類語彙目録は、文脈依存無音によって語彙目録における見出し語を分類する。これは、多数の重要な利点につながる。文脈依存無音ブランチ１０４、１０６および１０８は、ツリー８８の単一のトップ・レベル無音ブランチ９２を、多数の文脈依存無音に分割する。これは刈り込み操作を補助し、したがってシステム全体を更に効率化する。例えば、ツリー検索エンジン７４は、ツリーにおける最初の音素ブランチに接続されたノードにスコアを割り当てることによって開始するのではなく、無音ブランチ１０４、１０６および１０８に接続されたノードにスコアを割り当てて始めることができる。これによって、ツリー１０２のセグメントを、更に速く検索スペースを削減する検索プロセスにおいて早期に取り除くか抹消することが可能になる。
【００４９】
図６は、多数の無音ブランチ（それに接続されたブランチ）がツリーから取り除かれたツリー１０２（図５に示した）を示している。ツリー１０２の入力側で文脈依存無音を表す無音ブランチのそれぞれを検討した後に、それらの無音ブランチに接続された各ノードにスコアが割り当てられる。次に、好適な一実施形態において、各ノードについてのスコアのそれぞれが、ツリーのそのレベルにある何れかのノードに割り当てられた最大スコアと比較される。比較のために、所定のしきい値レベルを設定できるか、適応しきい値レベルを実施できる。比較されるノードのスコアが、しきい値レベルによる最大スコア未満であれば、そのノードに接続されたそれに続く全てのブランチはツリーから取り除かれ、それによって、何れか所与の検索について検索スペースが大幅に削減される。図６は、無音ブランチ１０８用のノードに割り当てられたスコアが十分に低く、ツリーのブランチの残りの部分がそのツリーから取り除かれていることを示している。
【００５０】
もちろん、決定はツリーの最初のレベルで行う必要はない。また、検索方法においてはあらゆる特定のしきい値レベルを採用することができる。しきい値レベルが低いほど、検索の間に亘ってより多い仮定を保持することになり、したがって、認識システムはより正確になる。しかし、刈り込み技術に関連するエラー率を大幅に低下させる一方で、計算上の節約を増大させるように、しきい値は経験的に決定することが好ましい。
【００５１】
図２に示したシステムをトレーニングするために、使用者によってトレーニング・ワードがシステム６０に話し込まれる。トレーニング・ワードは、Ａ／Ｄコンバータ６４によってデジタル・サンプルに変換され、フィーチャ抽出モジュール６６によってコードワードに変換される、一組のトレーニング・データを含む。コードワード（すなわち、出力確率分布）は、トレーニング・モジュール６５に提供される。トレーニング・モジュール６５は、キーボード４０などの使用者入力装置によって、使用者から各トレーニング・ワードの音声転写も受け取る。トレーニング・モジュール６５は、音声認識システムの残りの部分から、同じプロセッサまたは別個のプロセッサの何れでも実施できる。トレーニング・データによって表される所望の語彙における各単語の各音素について、トレーニング・モジュール６５によって１つまたは複数のＨＭＭが作成される。したがって、ＨＭＭは語彙において音素に関連づけられたモデル出力分布を表す。次に、所望の語彙において各単語に関連づけられたリーフを提供するために音素が構成されるように、所望の語彙に基づいて接頭語ツリーが形成される。また、上記のように、トレーニング・ワード（すなわち、データ・セット）はマイクロフォンから一度に１単語ずつ受け取っても、以前に作成されたデータ・セットを含むフロッピー・ディスクなどの従来のコンピュータ入力装置によって一括して入力してもよい。
【００５２】
本発明の一態様によれば、トレーニング・モジュール６５は、同様に、文脈依存無音についてもヒドン・マルコフ・モデルをトレーニングする。所望の文脈依存無音は、トレーニング・データによって表される。モデル化された無音は、上記のように接頭語ツリーにも提供される。
【００５３】
図７は、本発明による音声認識システム１２０の第２の実施形態のブロック図である。システム１２０はシステム６０に類似であり、同様の部分はそれに対応して番号を付した。しかし、システム１２０は、連続的発話ならびに断続的な発話を受け入れて認識するように構成されている。したがって、システム１２０は、連続的音声認識語彙目録および言語モデル・メモリ１２４ならびに連続発話（ＣＳ）／断続的発話（ＩＳ）インジケータ１２６を含む。
【００５４】
好適な一実施形態においては、連続的音声認識および言語モデル・メモリ１２４は、接頭語ツリー形式などのようなあらゆる適当な方法で提供することができるＣＳＲ語彙目録を含む。したがって、通常の滑らかな発話の間には、システム１２０は、音声認識タスクを遂行するに当たって、メモリ１２４によって提供される情報にアクセスする。しかし、使用者が断続的または不連続的な話し方で話している場合には、システム１２０は、メモリ７０内の無音分類語彙目録によって提供された情報にアクセスするように切り替わる。メモリ７０によって提供された無音分類語彙目録は、連続発話語彙目録よりも遙かに効率的で正確な断続的な発話の認識につながるので、システム１２０は、滑らかなまたは連続的な発話の途中で、断続的な発話を更に容易に且つ効率的に認識できる。
【００５５】
語彙目録の間で切り替えるために、検索エンジン７４は、話者が連続的あるいは断続的に話しているかを示すＣＳ／ＩＳ信号をＣＳ／ＩＳインジケータ１２６から受け取る。ＣＳ／ＩＳインジケータ１２６は、多数の適当な方法で実施できる。例えば、実例的な一実施形態においては、ＣＳ／ＩＳインジケータ１２６は、無音検出モジュール６８として単に実施されている。無音検出モジュール６８が大量の無音または、（経験的に判断することが好ましい特定量の）休止を検出している場合、検索エンジン７４は、それが話者が断続的または不連続な発話パターンで話していることを示しているものと解釈するように構成されている。その場合に、エンジン７４は、メモリ１２４からではなく、メモリ７０から語彙目録にアクセスするように切り替える。
【００５６】
本発明の一態様によれば、ＣＳ／ＩＳインジケータ１２６は、システム１２０を操作するために使用者が対話するユーザ・インターフェイスに設けられている。実例的な一実施形態においては、ユーザ・インターフェイスは使用者に、連続的または断続的発話を選択するオプションを使用者に提供するだけである。使用者が何らかの適当なユーザ入力装置を使用してその選択を行った後に、ユーザ・インターフェイスは適切なＣＳ／ＩＳ信号をエンジン７４に提供する。もう１つの実例的な実施形態においては、ユーザ・インターフェイスは使用者に、認識基準に基づいて連続的または断続的発話パターンで話すように命じる。例えば、認識システム１２０が現在の単語シーケンスにおいて多数のエラーまたは修正を行った場合には、エンジン７４はユーザ・インターフェイス内のＣＳ／ＩＳインジケータ１２６に、ユーザに断続的な話し方で話すことを命じるように命令する。エンジン７４は次に、単語の現在のシーケンスが正確に認識されるまで、更に正確な音声認識を得るためにメモリ７０によって提供される語彙目録に切り替える。次に、エンジン７４はユーザ・インターフェイスにあるＣＳ／ＩＳインジケータ１２６を制御して、ユーザに再び連続的な話し方で話し続けるように命令する。エンジン７４は、メモリ１２４内の語彙目録からの情報にアクセスするように戻り、音声認識工程を継続する。もちろん、使用者がいつ連続的発話と断続的発話との間で切り替えたかを判断するために、あらゆる他の適切なメカニズム（適当な発見的方法など）を採用することもできる。
【００５７】
したがって、本発明の多様な特徴は先行技術のシステムに比べて多大の利点を提供することが理解できる。例えば、本発明の無音分類語彙目録は、無音は語彙目録における各単語の部分として埋め込まれているので、システムが単語間の移行を考慮する必要性を抹消している。また、各単語には終わりの無音が埋め込まれているので、ツリーがトラバースされた後に、システムは更に効率的にＮ-best仮定を保持することができる。更に、文脈依存的な方法で無音をモデル化することにより、音声認識工程は更に正確になり、刈り込みは認識タスクの更に早い時期に達成することができるので、検索スペースを減らし効率性を高めることになる。更に、連続的発話語彙目録と断続的発話語彙目録との間で適応的に切り替えることにより、本システムは、認識工程において断続的発話に遭遇したときに、従来の連続的音声認識システムのクロスワード文脈調節特徴がエラーを発生する可能性を低下させる。これはまた、システムの正確性および効率性を高める。
【００５８】
本発明は、好適な実施形態を参照して説明したが、本発明の趣旨および範囲から逸脱することなく、形式的および詳細に変更を加えることができることを当業者は認めるであろう。
【図面の簡単な説明】
【図１】  本発明による音声認識システムを実施する例示的環境のブロック図である。
【図２】  図１に示したシステムの部分の更に詳細なブロック図である。
【図３】  先行技術の接頭語ツリーを示した図である。
【図４】  本発明による接頭語ツリーの一実施形態を示した図である。
【図５】  本発明による接頭語ツリーのもう１つの実施形態を示した図である。
【図６】  本発明のもう１つの態様による刈り込み技術を採用した、図５に示した接頭語ツリーを示した図である。
【図７】  本発明のもう１つの態様による音声認識システムのもう１つの実施形態のブロック図である。
【図１】
0004414088.tif 000002
【図２】
0004414088.tif 000003
【図３】
0004414088.tif 000004
【図４】
0004414088.tif 000005
【図５】
0004414088.tif 000006
【図６】
0004414088.tif 000007
【図７】
0004414088.tif 000008