(57)【特許請求の範囲】
【請求項１】
音単位で構成される単語を動的に選択するためのコンピュータシステムであって、
対応する単語が既知である複数の話された発声を収集するサンプル収集コンポーネントと、
どの音単位が前記話された発声と異なってモデル化されるかを前記話された発声から同定する音単位ランク付けコンポーネントと、
音声認識システムを再度習熟訓練するか、或いは、話し手の発音を向上させるかのいずれかのため、同定された音単位を含む複数の単語を選択する単語選択コンポーネントと、
を含み、
前記音声認識システムは、各音単位について、コードワードとして同定される量子化ベクトルのシークエンスが音単位に対応する確率を示すモデルを有し、
更に、前記モデルに基づいて、単語の音単位に対して各コードワードを整列させる整列コンポーネントを含み、
前記音単位ランク付けコンポーネントは、整列させた各コードワードが、該コードワードと整列する音単位の一部として話される確率を同定し、
前記どの音単位が異なってモデル化されているかを同定する段階が、整列させた音単位とコードワードに基づいて、各コードワードのフレーム精度基準を計算する段階と、当該音単位に基づいたフレーム精度基準を組み合わせることにより、固有の各音単位に対する組み合わせ精度基準を計算する段階を含み、
前記単語選択コンポーネントによって選択される単語が、比較的低い組み合わせ精度基準を示す音単位を含む単語である、
ことを特徴とするコンピュータシステム。
【請求項２】
フレーム精度基準は、フレームの話された発声が当該発声と整列する音単位内に含まれる確率と、フレームの話された発声が任意の音単位内に含まれる最高確率との比であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
フレーム精度基準は、フレームの話された発声が当該発声と整列する音単位内に含まれる確率と、フレームの話された発声が任意の音単位内に含まれる最高確率との差であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
フレーム精度基準は、音単位に対して整列させた各フレームの話された発声が当該音単位に含まれる確率の平均値であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項５】
フレーム精度基準は、音単位に対して整列させた各フレームの話された発声が当該音単位に含まれる確率の最大値であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
フレーム精度基準は、音単位に対して整列させた各フレームの話された発声が当該音単位に含まれる確率の最小値であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項７】
フレーム精度基準は、音単位に対して整列させた各フレームの話された発声が当該音単位に含まれる確率の加重平均値の和であることを特徴とする請求項１に記載のコンピュータシステム。
【請求項８】
どの音単位が異なってモデル化されているかを同定する段階が、認識中の誤認識された単語中で、音単位が認識される回数を数える段階を含むことを特徴とする請求項１〜７の何れか１つに記載のコンピュータシステム。
【請求項９】
どの音単位が異なってモデル化されているかを同定する段階が、認識中の正確な単語中で、音単位が認識されなかった回数を数える段階を含むことを特徴とする請求項１〜８の何れか１つに記載のコンピュータシステム。
【請求項１０】
どの音単位が異なってモデル化されているかを同定する段階が、音素モデルの確率値の差に基づいていることを特徴とする請求項１〜９の何れか１つに記載のコンピュータシステム。
【発明の詳細な説明】
発明の属する技術的分野
本発明はコンピュータ音声認識に関しており、より詳しくは、コンピュータ音声認識システムを習熟訓練することに関する。
発明の背景
コンピュータシステムにより人間の音声を早くかつ正確に認識することは、コンピュータシステムの開発者にとって長年の目標であった。コンピュータ音声認識（ＣＳＲ）システムから生じる利益には本質的なものがある。例えば、人にとっては、文書をコンピュータシステムにタイプするより、文書の単語を話すほうが容易であろうし、ＣＳＲシステムは単語を認識し、あたかもタイプされたかのように各単語の文字を記憶することになろう。一般的にタイプするよりも話すほうが早いから、効率は改善されることになろう。もはやタイプの仕方を学ぶ必要もなくなるであろう。両手がタイプ以外の仕事で塞がってしまうために、現在は実用化されていない多くの場面に、コンピュータが使用されることになろう。
代表的なＣＳＲシステムは、話された発声を語彙中の各単語のモデルと比較することを通して認識する。発声に最も良く合うモデルの単語が、話された単語として認識される。ＣＳＲシステムは各単語を、単語を構成する音素のシークエンスとしてモデル化することができる。発声を認識するため、ＣＳＲシステムは単語のシークエンス、即ち、発音に最も良く合う音素を同定する。しかし、これらの音素は単語を構成する音素に対して正確に対応しない可能性がある。従って、通常、ＣＳＲシステムは確率分析を用いて、どの単語が同定された音素に対し最も近い対応をしているかを決定する。
発声の認識時にＣＳＲシステムは、発声を表すアナログ信号を、後の処理でより使いやすい形に変換する。ＣＳＲシステムはまずアナログ信号をデジタルの形に変換する。その後ＣＳＲシステムは、高速フーリエ変換（ＦＦＴ）、線形予測コーディング（ＬＰＣ）、フィルターバンクのような信号処理技法をデジタル形式に適用し、発声に対し適当なパラメトリック表現を抽出する。普通に使われる表現は、種々の間隔（以下、「フレーム」と呼ぶ）で発声の周波数及び／又はエネルギバンドを表すＦＦＴ又はＬＰＣ係数を持った「特徴ベクトル」である。間隔は、コンピュータシステムの計算容量及び認識プロセスに期待される精度に従って、長くも短くもできる。代表的な間隔は１０ミリ秒の範囲にあるであろう。即ち、ＣＳＲシステムは発声の１０ミリ秒毎に特徴ベクトルを発生することになろう。各フレームは普通２５ミリ秒の長さである。従って、２５ミリ秒の長さのフレームが１０ミリ秒毎に発生する。継続フレームの間には重なりがあることになる。
特徴ベクトルの処理を容易にするため、各特徴ベクトルを、限定された数（例えば２５６）の「量子化ベクトル」へと量子化する。即ち、ＣＳＲシステムは、特徴ベクトルの代表的又は平均的な範囲を表すよう選択された相当数の量子化ベクトルを定義する。次に、ＣＳＲシステムは各特徴ベクトルを各量子化ベクトルと比較し、特徴ベクトルを表現するのに特徴ベクトルに最もよく似た量子化ベクトルを選定する。各量子化ベクトルは、一つの数（例えば、１から２５６まで間の数）により固有の定義を与えられ、これを「コードワード」呼ぶ。特徴ベクトルが量子化ベクトルとして表される時には、多くの異なる特徴ベクトルが同じ量子化ベクトルにマッピングされるので情報のロスが起こる。この情報ロスが認識に重大な影響を及ぼさないようにするため、ＣＳＲシステムは数千ないし数百万の量子化ベクトルを定義することもできる。このように多数の量子化ベクトルの定義を記憶するために必要な記憶装置の量は相当なものになる。従って、必要な記憶装置の量を減らすため、ＣＳＲシステムは特徴ベクトルを分割し、各セグメントをある小さな数（例えば、２５６）の量子化ベクトルへと量子化する。従って、各特徴ベクトルは、セグメント毎に一つの量子化ベクトル（コードワードとして同定される）で表される。説明を単純化するため、特徴ベクトルを分割せず従って特徴ベクトル（又はフレーム）毎に１個のコードワードしか持たないＣＳＲシステムについて述べる。
上記のように、話された発声が１つの単語のモデルと正確には対応しないことはしばしばある。正確な対応を見いだすのが困難なのは、ワードモデルが正確且つ完全には捕捉できない音声中に多くの変化があるためである。このような変化は、例えば、話し手のアクセント、話す人の早さと抑揚、話し手の現在の健康状態（例えば、風邪を引いている）、話し手の性別と年令等からくるものである。確率手法を使ったＣＳＲシステムのほうが、正確な対応を探し求める手法よりもスピーチを正確に認識する点においてはより成功率が高い。
こうした確率手法の１つで音声認識に普通使われるものに、隠れマルコフモデルが挙げられる。ＣＳＲシステムは語彙中の各ワードに対し隠れマルコフモデル（「ＨＭＭ」）を使用できる。ある単語に関するＨＭＭは、コードワードのシークエンスがどれくらいの確率で当該単語に対応しているかを導き出すことのできる確率情報を含んでいる。従って、発声を認識するため、ＣＳＲシステムは発声をコードワードのシークエンスに変換し、次に、各単語に対しＨＭＭを用いてその単語が発声と一致する確率を求める。ＣＳＲシステムはその発声を、最も高い確率を有する単語として認識する。
ＨＭＭは状態線図で表される。状態線図は伝統的に、一連の入力を受信後にシステムが成るであろう状態を求めるために使われている。状態線図は、状態と、原始状態と目標状態の間の遷移とから成る。各遷移は、システムがその入力を何時受信し、何時原始状態にあり、システムが目標状態に何時遷移するかを示す入力を伴っている。こうした状態線図は、例えば、語彙中の単語を構成するコードワードの各シークエンスを認識するシステムで使うことができる。システムが各コードワードを処理すると、システムは現在の状態と現に処理しつつあるコードワードとに基づいて次の状態を決定する。本例の場合、状態線図は各単語に対応するある種の最終状態を有することになろう。しかし、ある単語が複数の発音で表される場合、各単語が複数の最終状態を有することになるかもしれない。コードワード処理後、システムがある単語に対応するある最終状態にあれば、コードワードのシークエンスは最終状態の単語として認識されることになるだろう。
しかし、ＨＭＭは各コードワードに対して、ある状態から別の状態に遷移する際の各遷移に関係した確率を有している。例えば、ＨＭＭが状態２にあれば、あるコードワードが現在の状態から次の状態へ遷移を生じさせる確率は０．１であり、同じコードワードが現在の状態から異なる次の状態への遷移を生じさせる確率が０．２となる。同様に、異なるコードワードが現在の状態から次の状態への遷移を生じさせる確率は０．０１かもしれない。ＨＭＭは状態線図に関係した確率を有するから、コードワードの特定シークエンスに対する最終状態の決定は確率の形でしか表すことができない。従って、コードワードのあるシークエンスに関する可能な各最終状態を決定するには、ＨＭＭの状態線図に対して可能性のある状態のシークエンスを各々同定する必要があり、関連する確率を計算せねばならない。このような各状態のシークエンスを状態パスと呼ぶ。
認識を簡素化するため、代表的なＣＳＲシステムでは、可能性のある単語各々に対する可能性のあるコードワードのシークエンス各々の確率を表す大きな状態線図を有するＨＭＭを使用するのではなく、可能性のある各音単位をＨＭＭで表し、各単語を音単位のシークエンスとして表す。音単位は、伝統的に音素であった。しかし、他の音単位、例えばセノネも使用されてきている（ワング他著、「セノネを有する見えざるトリフォンの予測」、９３年ＩＣＡＳＳＰ紀要、１９９３年、第２巻、ｐ３１１−ｐ３１４）。各音単位にＨＭＭを用いる場合、ＣＳＲシステムでは、ある単語を構成する音素に関するＨＭＭを繋ぎ合わせ、結果的に出来上がるＨＭＭを評価することにより、音素のシークエンスがその単語を表す確率を評価する。
各ＨＭＭは各状態に対し、各コードワードが他の各状態への遷移になる確率を含んでいる。各状態の遷移に関する確率は、当該状態に関するコードワード依存の出力確率と、当該状態に関するコードワード非依存の遷移確率で表される。ある状態に関するコードワード依存の出力確率は、あるコードワードのシークエンスが当該状態のＨＭＭに結果的になった後、当該音素が当該コードワードを次のコードワードとして含む見込みを反映している。ある状態に関するコードワード非依存の遷移確率は、ＨＭＭが当該状態から次の各状態に遷移する確率を示している。従って、コードワードが入力された場合にＨＭＭが現在の状態から次の状態に遷移する確率は、現在の状態から次の状態に遷移する確率と、受信されたコードワードに関する出力確率の積となる。
図１は、ある音素に関するサンプルのＨＭＭを示す。ＨＭＭは３つの状態と、各状態を出る２つの遷移を有する。一般的に、ＣＳＲシステムは各音素を表すのに同一の状態線図を使用するが、音素依存の出力確率と遷移確率を伴っている。本ＨＭＭによると、ある遷移は同じ状態又は音声の左から右への性質をモデル化した次の状態に対してのみ起こる。各状態は関係する出力確率表と、遷移確率表を有しており、これらの表は出力確率と遷移確率を含んでいる。図１に示すようにＨＭＭが状態２にある場合、コードワード５に対する出力確率は、０．１であり、ＨＭＭが状態２にある場合、状態３への遷移確率は０．８である。従って、コードワード５を受信した場合にＨＭＭが状態２から状態３へ遷移する確率は、０．０８（即ち、０．１ｘ０．８）である。
コードワードのシークエンスがある音素を表す確率を決定するために、ＣＳＲシステムは確率格子を生成することができる。音素のＨＭＭに関する確率格子はコードワードのシークエンスの可能な各状態パスに関する確率の計算値を表す。確率格子は、当該シークエンスの各コードワードに対してＨＭＭが存在し得る可能な各状態に関するノードを含んでいる。各ノードは、現在までに処理されたコードワードが、当該ノードに関係する状態にＨＭＭが結果的になる累積確率を含んでいる。特定のコードワードに関するノード中の確率合計値は、現在までに処理されたコードワードが音素の接頭部分を表す見込みを示している。
図２は、確率格子を示す線図である。確率格子は、コードワードシークエンス「７、５、２、１、２」を処理した時の、図１に示したＨＭＭの各可能状態の確率を計算したものである。水平軸はコードワードに対応し、垂直軸はＨＭＭの状態に対応する。格子の各ノードは確率の合計値ではなく、各原始状態の確率に出力確率と遷移確率を掛けて得られる確率の最大確率が含まれている。例えば、ノード２０１は、確率８．６Ｅ−６を含んでいるが、この値は３．６Ｅ−４ｘ０．０１ｘ０．９と１．４Ｅ−３ｘ０．０３ｘ０．２の内の最大値である。各ノードに達するには多くの異なるパス（即ち、状態のシークエンス）が存在する。例えばノード２０１は、状態パス「１、２、３、３」、「１、２、２、３」、「１、１、２、３」のいずれでも到達可能である。各状態パスは、コードワードシークエンスを処理した時にＨＭＭが状態パスをたどる確率を有している。各ノードにおける確率は、そのノードに至る各状態パスの確率の内の最大値である。これらの最大確率は、以下に述べるビタビ整列に使用される。
図３は、ある単語に関する確率格子である。垂直軸は当該単語を構成する音素に関するＨＭＭ状態の連結に対応している。ノード３０１は当該単語に関する最終状態を表しており、当該ノードに至る全ての状態パスの可能性を最大限に含んでいる。図３の太線は、ノード３０１を最終点とする最も高い確率を有する状態パスを表している。あるアプリケーション（例えば、ＣＳＲシステムを習熟訓練する）では、特定ノードに達する最高確率を有する状態パスを同定することが役に立つ。こうした状態パスを同定するのによく知られたアルゴリズムがビタビアルゴリズムである。ビタビアルゴリズムにより、最終状態に至る最も確率の高い状態パスが決定された後では、格子の最終ノードから逆にたどって、最初の状態まで戻る最高確率状態パス上で以前のノードを決定することが可能となる。例えば、図２のノード２０３を終点とする最大確率を有する状態パスは、「１、２、２、２、３」である。確率格子が単語を構成する音素を表す時、各状態は音素と音素内の状態とによって同定される。
ＣＳＲシステムの精度は、部分的には、各音素に関するＨＭＭの出力確率と遷移確率の精度に左右される。代表的なＣＳＲシステムは、出力確率と遷移確率が平均的な話し手の音声を正確に反映するように、ＣＳＲシステムを「習熟訓練する」。習熟訓練の最中、ＣＳＲシステムは種々の話し手からコードワードシークエンスを膨大な単語に関して集める。単語は、各音素が膨大な回数に亘って話されるように選択される。これらのコードワードシークエンスからＣＳＲシステムは、各ＨＭＭに対して出力確率と遷移確率を計算する。この確率を計算する種々の反復手法が良く知られており、ハング他著、「音声認識のための隠れマルコフモデル」、エジンバラ大学出版、１９９０年刊行、にその記述を見ることができる。
しかしこうした習熟訓練手法の問題は、スピーチパタンが平均と異なるの人々のスピーチを平均的なＨＭＭが正確にはモデル化しないかも知れないという点である。概して、各人は平均と異なるある種のスピーチパターンを有するものである。従って、ＣＳＲシステムは、話し手が自分のスピーチパターンに合うようにＨＭＭを習熟訓練できるようにしている。こうした習熟訓練の際、ＣＳＲシステムは、システムを実際に使うユーザーが話す習熟訓練用の発声を使い、出力・遷移の両確率とコードワードで表される量子化ベクトルの様なＨＭＭパラメータをより洗練されたものにする。適合化されたパラメータは、ユーザーが供給したデータと並んで話し手とは別個の大量のデータにより生成されたパラメータと情報を使用して導き出される。従って、確率は話し手に依存した特性を反映していることになる。こうした一手法が、ハング、リー共著、「話し手非依存、話し手依存、話し手適合化の音声認識について」９１年ＩＣＡＳＳＰ紀要、１９９１年、ｐ８７７−ｐ８８０、に記述されている。
ＣＳＲシステムは通常、前もって選択された多種の単語を提供することで、習熟訓練をうける。これらの単語は、各音素に対応する音声の代表的なサンプルが収集できることを保証するように選択される。この代表的なサンプルにより、ＣＳＲシステムは、当該音素に関する話し手の発音を正確に反映してない如何なるＨＭＭでも、正確に適合化できることを保証する。例えば話し手が認識精度に満足せずに、追加習熟訓練を実行する時、ＣＳＲシステムは予め選択された追加の単語を話し手に提供する。
予め選択された単語を使用して適切な習熟訓練をすることは可能ではあるが、話し手は大量の単語を話さねばならないことにフラストレーションを覚えるかもしれない。実際、単語は各音素を含むように予め選ばれているため、話し手は許容可能な精度で音素がモデル化されている単語を効率よく話すよう求められることになる。従って、習熟訓練の精度を最適化しかつ話し手が話すように求められる単語数を減らすような習熟訓練を目的として、単語を動的に選択する習熟訓練システムを持つことが役立つことになる。
発明の概要
本発明は音声認識システムを習熟訓練するために、単語を動的に選択する方法とシステムを提供する。各単語は音単位を含む音声認識装置によりモデル化される。習熟訓練システムは話された発声を集めるが、発声に対応する単語は既知である。習熟訓練システムは話された発声から、音声認識システムがどの音単位を不正確にモデル化したかを同定する。習熟訓練システムは同定された音要素を含む単語を、音声認識システムを習熟訓練するために選択する。
本発明の一態様の場合、音声認識システムは各単語を音素のシークエンスとしてモデル化し、各音素に対するＨＭＭを有している。習熟訓練システムは各発声の各コードワードを、収集した発声が対応する既知の単語の音素と整列させることにより、どの音素が不正確にモデル化されているかを音素モデルに基づいて同定する。習熟訓練システムは、各コードワードを整列させた音素を評価し当該音素を他の音素と比べることにより、音素が正確にモデル化されている旨の精度表示を計算する。
【図面の簡単な説明】
図１は、音素に関するサンプルのＨＭＭを図示する。
図２は、確率格子を示す図である。
図３は、ある単語に関する確率格子を図示する。
図４は、音素に対して各コードワードを整列させた状態を示す。
図５Ａは、各音素が各コードワードを含む確率を示す。
図５Ｂは、各コードワードに関する各音素のランクを示す。
図５Ｃは、各フレームのコードワードに関する各音素のランクを示す。
図６は、音素に対して整列させたコードワードの平均ランクのサンプル計算値を示す。
図７は、好適習熟訓練システムが作動するコンピュータシステムのブロック図である。
図８は、習熟訓練システムの流れ図である。
図９は、ＨＭＭの精度に基づき音素をランク付けする手順の流れ図である。
発明の詳細な説明
本発明はコンピュータ音声認識（ＣＳＲ）システムを習熟訓練するため、単語を動的に選択する方法とシステムを提供する。ある実施例では、習熟訓練システムは、ＣＳＲシステムがどの音単位、例えば音素を最も不正確にモデル化したかを同定する。習熟訓練システムはその後、最も不正確にモデル化された少なくとも一つ以上の音素を含む単語を同定する。習熟訓練システムは、話し手に同定された単語を話すように促す。その後習熟訓練システムは、話された単語に対応する音素のモデルを適合化する。習熟訓練システムは、最も不正確にモデル化された音素を含む単語を選ぶことにより、モデルが話し手の実際のスピーチパターンから最も外れた場合についてモデルを習熟訓練することに力点を置くことができる。更に、話し手は既に正確にモデル化された単語を話すように求められることはない。
習熟訓練システムは、どの音素が最も不正確にモデル化されているかを、対応する単語が既知である発声に対して話し手が話す種々の発声を評価することにより決定する。習熟訓練システムは発声をコードワードに変換した後、各コードワードが音声認識の最中のどの音素と考えられるかを、コードワードを音素に対して整列させるプロセスによって決定する。整列が一旦完了すると習熟訓練システムは、各コードワードに対して、コードワードが音素が一部であると認識した時に、整列させた音素のモデルの精度を決定する。例えば、あるコードワードをある音素に対して整列させ、当該コードワードが当該音素内にある確率は他の音素に比べて非常に低いとモデルが予測すると、当該コードワードを当該音素として認識する時のそのモデルの精度は低いことになる。各コードワードに関する音素モデルの精度が決まった後、習熟訓練システムは、整列されたコードワードが音素の一部であると認識した時のモデルの全体精度を計算する。ある音素の全体精度は、当該音素と整列させられた各コードワードに関する精度を平均することにより計算可能である。最も低い全体精度を有する音素が最も不正確にモデル化されていることになる。
習熟訓練システムは、最も不正確にモデル化された音素を含む単語を習熟訓練用に選択する。習熟訓練システムは、異なった複数の選択手法を使ってもよい。習熟訓練システムは、ある一定の、最も不正確にモデル化された音素の数を定めることができる。次に、習熟訓練システムは、同定された音素の内の少なくとも一つを含む単語ならどれを選んでもよい。替わりに、習熟訓練システムは、同定された複数の音素を含む単語を優先的に選んで、同定された音素に関して習熟訓練をするために話し手が話さねばならぬ単語数を最小にしてもよい。又、習熟訓練システムは、馴染みでないかも知れぬ難解な単語を発音することを話し手に求めることがないことを保証するため、普通に話される単語を選ぶことができる。
習熟訓練システムは、コードワードと既知の単語とに関する確率格子をまず生成することで、コードワードのシークエンスをある単語の音素に対して整列させる。次に、習熟訓練システムは、最もありそうな状態に至る最もありそうな状態パスを同定する。こうした状態パスを同定するには、ビタビベースのアルゴリズムを使うのが好ましい。習熟訓練システムはその後状態パスを使って、どのコードワードがどの音素の一部として認識されるかを同定する。
習熟訓練システムは、習熟訓練用に話し手を特別に催促するかＣＳＲシステムが正しい単語と一緒に誤認識した発音を貯えるかのいずれかによって、音モデルの精度を決定する際に使われる音声を収集することができる。特別の催促は習熟訓練セッションで起こるのが普通である。習熟訓練システムは、前もって選んだ種々の単語を話し手が発音するように促すことによって始まり、その後モデルを適合化する。習熟訓練システムは、最も不正確に認識された音素を含む単語を選び、当該単語を話し手が発音するように促し、モデルを適合化する。習熟訓練システムはこうした適合化を繰り返し実行する。収集された音声が誤認識された発声の場合、習熟訓練システムは、最も不正確なモデル化であると決まったこうした誤認識された発音の音素を含む単語を最初に選択することになろう。どの音素モデルがより不正確にモデル化されているかの決定は、正しい単語の音素整列に対し発声と誤認識単語の音素整列を比べれば可能である。音素モデルの精度の基準を導き出すのに使えるファクターとしては、誤認識単語中で音素が不正確に認識される回数、正しい単語中の音素が認識されない回数、正しい音素モデルと正しくない音素モデルの確率数値の差を挙げることができる。誤認識された発声を使う利点は、話手が通常のスピーチで実際に使う単語の中の音素に基づいて習熟訓練がなされる点である。
好ましいＣＳＲシステムは習熟訓練を起こすべき時を自動的に決定する。普通話し手は習熟訓練セッションを実行することを難しいと考えている。従って、認識システムの精度が大きな問題をもたらさない限り、話し手は習熟訓練セッションを開始しない傾向にある。更には習熟訓練は大変難しいから、話し手はしばしば自分のスピーチパタンをモデルに合うように適合化させる。習熟訓練プロセスを話し手に対しより親しみやすくするため、ＣＳＲシステムは、定期的にないしは、習熟訓練が必要と見なされる程にセノネが不正確にモデル化されていると断定された時、短い習熟訓練セッションを自動的に開始することができる。例えば２０個のセノネがモデルに正確に合致しないと分かった時ないし日替わりベースで、習熟訓練セッションを自動的に開始することができよう。
本発明の手法は、例えば話し手が新たな言語を習う際に、単語の適当な発音を話し手に教えるのに使うこともできる。不正確にモデル化された音素を考えるよりも、話し手が音素を誤って発音しているとチューターシステムは考えるであろう。従って、最も不正確に発音される音素が一旦同定されれば、チューターシステムは当該音素を持つ単語を如何に発音するかを話し手に教えることに力点を置くことができる。チューターシステムは、モデル化された音素を使って計算を行い話された音素の正確さに基づいて話し手の発音を等級付けすることもできる。
ある好適実施例の習熟訓練システムでは、特定の音素が特定のコードワードを含む可能性を、当該音素が当該コードワードを含む音声モデル確率に基づいて決める。各コードワードに対し、習熟訓練システムは、確率に従って各音素をランク付けする。即ち、最も高い確率を有する音素に、最も高いランク（即ち１のランク）が割り当てられる。これらのランクはモデルの精度を計算する際に使用される。特に、習熟訓練システムは、ランクに対して整列させた全コードワードを使って、音素の平均ランクを計算する。習熟訓練システムはその後、平均ランクの低い音素を含む単語を習熟訓練用に選択する。
図４から６は、種々の音素の精度の計算値を図示する。本例は一単語を話したことを基にした計算値である。しかし実際には、こうした計算は多くの単語を基になされることになろう。入力単語は音素１０、１２、２から成る。習熟訓練システムは、対応する発声を以下のコードワード、５、１０、２５５、２、３、５０、３２、２５６、６、４、６、１００、２、３、５、を有する１５フレームに分割する。次に、習熟訓練システムはコードワードを音素に対して整列させる。図４は各コードワードを音素に対して整列させた状態を示す。表４０１は音素に対応する横軸、フレームに対応する縦軸を有する。表の記入値は各音素を整列させたコードワードを示す。コードワード５、１０、２５５、２を音素１０に対して整列させ、コードワード３、５０、３２、２５６、６、を音素１２に対して整列させ、コードワード６、１０、２、３、５、を音素２に対して整列させる。
図５Ａは、音声モデルのコードワード／音素の確率表を示す。表の縦軸はコードワードに対応し、横軸は音素に対応する。表の記入値は対応する音素が当該コードワード含む確率を示す。例えば音素１０がコードワード６を含む確率は０．０１であり、音素３がコードワード５を含む確率は０．０４である。各列の確率の合計は１である。
図５Ｂはコードワード／音素のランク表を示す。本表は各コードワードに関して、各音素に対するコードワードの確率のランクを示している。例えばコードワード６は音素１０に対して３３のランクを有しており、これは、コードワード６に関して見れば、他の３２個の音素中にある可能性が音素１０の中にある可能性より高く、又音素１０の中にある可能性が他の７個の音素中にある可能性よりも高いことを意味する（全体で４０音素を仮定）。従って表の各行には１から４０までの数が記入される。
各コードワードに対する音素のランクは複数の方法で生成可能である。例えば各フレームに対し、ＣＳＲシステムは、ある音素が当該フレームに関するコードワードを生成できる音声モデル確率を同定することができる。当該フレームに対し、最も高い確率を有する音素にはランク１が割り当てられ、２番目に高い確率を有する音素にはランク２が割り当てられ、以下同様に割り当てがなされる。コードワード／音素の確率表からの情報によりランクを動的に計算することが可能である。図５Ｃは各フレームのコードワードに対する各音素のランクを示す。あるフレームのランクは、当該フレームの全音素に関する確率を、確率が減る方向へ動的にソートすることで、生成可能である。替わりに、利用可能な記憶装置の量に依っては、コードワード／確率のランク表に示すように、ランクを一度に生成することも可能である。
図６に音素の平均ランクのサンプル計算値を、当該音素に対して整列させたフレームを使って示す。表６０１の横軸は音素に対応し、縦軸は入力された発声のコードワードに対応する。表の各記入値は、整列させたコードワードに関して対応する音素のランクを示す。例えばコードワード５、１０、２２５、２を音素１０に対して整列させ、これらコードワードに対して音素１０は、それぞれ１９、３１、１５、１のランクを有する。表の最下欄にはランクの合計値、整列させたコードワードの数、平均ランクを示す。例えば、音素１０に関するランクの合計値は６６、整列させたコードワードの数は４、従って音素１０に関する平均ランクは１６となる。音素１２に関する平均ランクは１３、音素２に関する平均ランクは１９であることも示されている。音素１２が最も高い平均ランクを有するから、音素１２は他の２つの音素よりもより正確にモデル化されているとＣＳＲシステムは考える。逆に音素２は最も低い平均ランクを有するから、音素２は他の２つの音素よりもより不正確にモデル化されているとＣＳＲシステムは考えて、習熟訓練用に音素２を優先的に選ぶことになろう。
図７は、好ましい習熟訓練システムが作動するコンピュータシステムのブロック線図である。コンピュータシステム７００は、メモリ７０１、中央演算装置７０２、記憶装置７０３、表示装置７０４、を有している。習熟訓練システムはコンピュータで読み取り可能な記憶媒体、例えばディスク上に永久記憶させ、実行用のコンピュータシステムのメモリにロードしても良い。好ましいＣＳＲシステムは認識コンポーネント７０５、ＨＭＭコンポーネント７０６、習熟訓練コンポーネント７１０を含んでいる。ＨＭＭコンポーネントは各音素用の隠れマルコフモデルと、各単語を音素へマッピングする装置を含んでいる。習熟訓練コンポーネントは、サンプル収集コンポーネント７１１、コードワード／音素整列コンポーネント７１２、音素ランク付けコンポーネント７１３、単語選択コンポーネント７１４を含む。サンプル収集コンポーネントは、ユーザーを特別に促すか又は誤認識された発声を収集するかのいずれかにより、種々の発声サンプルとそれに対応する単語を収集する。サンプル収集コンポーネントは、発声をコードワードに変換する。コードワード／音素整列コンポーネントは、コードワードとそれに対応する単語を受信し、ＨＭＭを使い各コードワードを単語の音素に対して整列させる。音素ランク付けコンポーネントは、音素に対して整列させたコードワードを使って当該音素の平均ランクを計算するために、コードワードの音素に対する整列を利用する。次に、単語選択コンポーネントは、平均ランクを用いて利用可能な語彙（図示せず）から単語を選択する。
図８は習熟訓練システムの流れ図である。ステップ８０１で習熟訓練システムは、図９に示した各音素に関するＨＭＭの精度に基づき、全音素をランク付けする。ステップ８０２で習熟訓練システムは、最も不正確にモデル化された音素、即ち低ランクの音素を同定する。ステップ８０３で習熟訓練システムは、同定された音素に関して習熟訓練用の単語を選択する。ステップ８０４で習熟訓練システムは、選択された各単語を発音するように話し手に促す。ステップ８０５で習熟訓練システムは、選択された単語の発声に基づきＨＭＭを適合化する。
図９は、ＨＭＭの精度に基づき音素をランク付けする手順の流れ図である。ある実施例では、本手順により、習熟訓練単語を話し手が発音するように促して、ランク付けの際に使う発音を収集する。次に、本手順により各音素の精度表示を計算する。ステップ９０１で、本手順は最初の習熟訓練単語から始めて、次の習熟訓練単語を選択する。習熟訓練単語としては予め確立された又は予め定義された習熟訓練単語のセットでもよければ、先に動的に選択されたものでもよい。ステップ９０２で習熟訓練単語が全て選択済みの場合、本手順はステップ９１１へ続くことになるが、他の場合はステップ９０３に続くことになる。ステップ９０３で、本手順は話し手が選択された単語を発音するよう催促し対応する発声を受信する。ステップ９０４で、本手順は発声をコードワードのシークエンスに変換する。ステップ９０５で、本手順は各コードワードを最も対応しそうな単語の音素に対して整列させる。ステップ９０６から９１０で、本手順は、各コードワードを選択し、当該コードワードに対して整列させた音素のランクを累積することを繰り返す。ステップ９０６で、本手順は、最初のコードワードから始めて次のコードワードを選択する。ステップ９０７で、コードワードが全て選択済みの場合、本手順は、ステップ９０１へ戻り次の習熟訓練単語を選択するが、他の場合はステップ９０８に続くことになる。ステップ９０８で、本手順は整列させられたコードワード内での音素のランクを同定する。ステップ９０９で、本手順は整列させられた音素に対し同定したランクを累積する。ステップ９１０で、本手順は当該音素に対して整列させられたコードワードの数のカウント数を増やし、ステップ９０６へ戻り次のコードワードを選択する。ステップ９１１で、本手順は累積ランクをカウント数で割って各音素の平均ランクを計算し、元に戻る。
本発明を好適実施例に関して述べてきたが、本発明はこれらの実施例に限られるものではない。本発明の精神の下での変更が当業者には明白である。例えば、離散的な音声発音を認識する条件で本発明を述べてきたが、本発明は連続的な音声認識システムに容易に使用可能である。更に本発明の手法は、隠れマルコフモデル以外を使用する認識システムの場合に使うことができる。又音素のランクはコードワードを生成する音声モデル確率以外の基準、例えば認識装置を使い音素誤認識のカウント数を使用することで計算することもできる。音単位のランクはフレームレベル以外の異なる総計レベルに基づいて計算することも可能である。例えばランクを、音声セグメントが複数のフレーム又は音声の可変長持続時間を含む音声セグメントレベルで総計することも可能である。音単位のランク及び習熟訓練用に選択された単語中の音単位の選択は、音素、音素中の状態、セノネ、文脈依存の音素中の状態、完結した単語自身と言った粒度が異なったレベルで実行することが可能である。文脈依存の音素は、多くの周辺音素の文脈ないし単語に依存する可能性がある。完結した単語は、習熟訓練に於けるモデル化と選択に対する単位と考えてもよい。完結した単語を単位として使うことは、語彙サイズが小さい時又はある種の単語が頻繁に使われ英語のアルファベット文字や数字のように紛らわしい時には有利である。ＣＳＲシステムではランク以外の精度基準を使用することも可能である。例えばＣＳＲシステムでは、音素の確率と最善の確率との差又は比を当該フレームに対して使ってもよい。又、異なるフレームにまたがるランク又は精度基準情報を、平均化以外の手法を使用して組み合わせることも可能であり、例えばその手法としては、同じ音単位が何回も発生することに対して精度基準の最大値、最小値、重み付け合計値等を計算することを挙げることができる。最後に、ＣＳＲシステムは認識プロセス自身を改善するために、音素モデルの精度に関して収集した情報（エラープロフィールと集合的に呼ばれる）を使うことができる。例えば音素モデルを、その既知の発生の期間中に、エラープロフィールによって同定されたように、認識する可能性が低いことをエラープロフィールが示している場合、認識の最中に音単位の確率を高めることが可能である。本発明の範囲を以下の請求項により定める。
【図１】
0003672573.tif 000002
【図２】
0003672573.tif 000003
【図３】
0003672573.tif 000004
【図４】
0003672573.tif 000005
【図５Ａ】
0003672573.tif 000006
【図５Ｂ】
0003672573.tif 000007
【図５Ｃ】
0003672573.tif 000008
【図６】
0003672573.tif 000009
【図７】
0003672573.tif 000010
【図８】
0003672573.tif 000011
【図９】
0003672573.tif 000012