(57)【要約】【課題】  与えられた単語列に対するクラスの条件付き尤度（これは分類精度との相関が非常に良い）が最大化されるような、言語モデルを推定する方法を提供する。【解決手段】  本方法は、与えられたトレーニング文または発話に対して分類器が正しいクラスと正しくないクラスとを判別するように、すべてのクラスに対して同時に統計的言語モデルパラメータをチューニングすることを含む。本発明の特定実施形態は、ｎグラム分類器に対する判別トレーニング技法の場合における有理関数成長変換の実施態様に関する。【選択図】  図２
2004362584.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラスに対応する複数の言語モデルのそれぞれに対するパラメータのセットを推定するコンピュータ実施方法において、
前記パラメータのセットに対する初期値を設定するステップと、
与えられた単語列に対するクラスの条件付き尤度を増大させるように、前記パラメータのセットを互いに同時に調整するステップとを備えることを特徴とするコンピュータ実施方法。
【請求項２】
前記複数の言語モデルは複数のｎグラム言語モデルであることを特徴とする請求項１に記載の方法。
【請求項３】
前記条件付き尤度は最大化されることを特徴とする請求項２に記載の方法。
【請求項４】
前記条件付き尤度は有理関数成長変換の適用を用いて最大化されることを特徴とする請求項３に記載の方法。
【請求項５】
前記単語列はトレーニング資料のテキスト列であることを特徴とする請求項２に記載の方法。
【請求項６】
前記単語列はトレーニング文から導出されたテキスト列であることを特徴とする請求項５に記載の方法。
【請求項７】
前記単語列は音声発話から導出されたテキスト列であることを特徴とする請求項５に記載の方法。
【請求項８】
前記パラメータのセットを同時に調整するステップは、与えられたトレーニング入力に対して正しいクラスと正しくないクラスを判別するように前記パラメータのセットを調整するステップを含むことを特徴とする請求項２に記載の方法。
【請求項９】
前記パラメータのセットを調整するステップは、初見のデータに対処するように前記パラメータのセットをトレーニングするステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項１０】
初見のデータに対処するステップは、スムージングに基づいて前記パラメータを調整するステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
複数のｎグラム言語モデルのそれぞれに対するパラメータのセットを推定するコンピュータ実施方法において、
前記パラメータのセットの少なくとも２つを互いに同時に生成するステップを備えることを特徴とするコンピュータ実施方法。
【請求項１２】
少なくとも２つのセットを互いに同時に生成するステップは、すべてのセットを互いに同時に生成するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記複数のｎグラム言語モデルのそれぞれはクラスに関連づけられ、前記パラメータのセットの少なくとも２つを同時に生成するステップは、第１の特定のクラスが特定の単語列に関連づけられる尤度が増大するように、および第２のクラスが該特定の単語列に関連づけられる尤度が減少するように、前記パラメータのセットの少なくとも２つを生成するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１４】
前記特定の単語列はトレーニング文から導出されることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記特定の単語列は音声発話から導出されることを特徴とする請求項１３に記載の方法。
【請求項１６】
同時に前記パラメータのセットの少なくとも２つを生成するステップは、与えられたトレーニング入力に対してｎグラム言語モデルが正しいクラスと正しくないクラスとを判別するように同時にパラメータの複数のセットを生成するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１７】
初見のデータに対処するように前記パラメータのセットをトレーニングするステップをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１８】
自然言語入力を分類するコンピュータ実施方法において、
与えられた単語列に対するクラスの条件付き尤度を増大させるように、複数のクラスに対応する複数の統計的分類コンポーネントを互いに同時にトレーニングするステップであって、該複数の統計的分類コンポーネントはｎグラム言語モデル分類器であるステップと、
自然言語入力を受け取るステップと、
前記複数の統計的分類コンポーネントを前記自然言語入力に適用することにより該自然言語入力を前記複数のクラスの１つに分類するステップとを備えることを特徴とするコンピュータ実施方法。
【請求項１９】
前記条件付き尤度は最大化されることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記条件付き尤度は有理関数成長変換の適用を用いて最大化されることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記複数の統計的分類コンポーネントをトレーニングするステップは、
有理関数成長変換反復の最適な数および最適なＣＭＬ重みβmaxを識別して前記有理関数成長変換の適用を容易にするステップを含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
有理関数成長変換反復の最適な数および最適なＣＭＬ重みβmaxを識別するステップは、
トレーニングデータの集合を主データの集合およびヘルドアウトデータの集合に分割するステップと、
前記主データを使用して、前記統計的分類コンポーネントに対する一連の相対頻度を推定するステップと、
前記ヘルドアウトデータを使用して、有理関数成長変換反復の前記最適な数および前記最適なＣＭＬ重みβmaxをチューニングするステップとを含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記ヘルドアウトデータを使用してチューニングするステップは、
実行すべき有理関数成長変換反復の初期設定数Ｎを決めるステップと、
前記最適なＣＭＬ重みβmaxを求めるために調べるべき値の範囲を決めるステップと、
それぞれの値βmaxに対して、前記主データの条件付き尤度が各反復において増大するような有理関数成長変換関数をＮ以下でできるだけ多く実行するステップと、
前記ヘルドアウトデータの条件付き尤度を最大化する有理関数成長変換反復の数およびβmax値を最適として識別するステップとを備えることを特徴とする請求項２２に記載の方法。
【請求項２４】
前記複数の統計的分類コンポーネントをトレーニングするステップは、
前記主データおよびヘルドアウトデータをプールすることによりトレーニングデータの合併集合を形成するステップと、
前記有理関数成長変換反復の最適な数および前記最適なＣＭＬ重みβmaxを使用して、前記トレーニングデータの合併集合に関して前記複数の統計的分類コンポーネントをトレーニングするステップとをさらに含むことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記複数の統計的分類コンポーネントはｎグラム言語モデルであることを特徴とする請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストおよび音声の分類に関する。特に、本発明は、分類精度を改善するための言語モデルの強化に関する。
【背景技術】
【０００２】
自然言語理解（natural language understanding）は、コンピュータを用いて、ユーザが発生するテキストまたは音声の意味を決定することを伴う。自然言語入力の意味を決定する際の１ステップとして、入力を所定のクラスのセットの１つに分類することがある。例えば、「I want to book a flight to Rome（ローマまでの飛行便を予約したい）」のような特定の入力が旅行手配クラスに分類される。その場合、このクラスのためのアプリケーションが呼び出されて、入力からさらなる情報を解読し、入力によって表されるユーザ目標を実行することができる。
【０００３】
このような分類は、自然言語処理における明確な問題である。実際のアプリケーションの具体例として、自動コールセンタのための呼ルーティングや、自然言語によるヘルプシステムがある。
【０００４】
分類プロセスを容易にするために、分類器（クラシファイア）を使用することができる。分類器の一般的な例として、ｎグラム分類器、ナイーブベイズ分類器および最大エントロピー分類器のような統計的分類器がある。ｎグラム分類器では、統計的言語モデルを用いて、自然言語の単語列（すなわち文）をクラスに割り当てる。具体的には、各クラスごとに別々のｎグラム言語モデルを構築する。実行時に、言語モデルを並列に使用して、与えられたテスト単語列または音声発話に確率を割り当てる。テスト単語列または発話に対して最大の確率を示す言語モデルに関連するクラスが、その列／発話が属するクラスに指定される。クラス割当ては１対１である必要はない。与えられたテスト文または発話に対して各クラスが受ける確率に応じて、テスト文または発話をＮ−ベストクラス候補のセットに割り当てることができる。音声分類の場合、ｎグラム分類器は、音声発話の認識および分類が統合された１パスシナリオで使用可能であるという利点を有する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ｎグラム分類器をトレーニングする直接的方法としては、別々に最尤（ＭＬ）推定を用いて各クラスに対する言語モデルをトレーニングすることがある。このようなトレーニング方式は、実施は容易であるが、得られる分類器の分類精度が限られる。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、与えられた単語列に対するクラスの条件付き尤度（これは分類精度との相関が非常に良い）が最大化されるような、言語モデルをトレーニングする方法に関する。本方法は、与えられたトレーニング文または発話に対して分類器が正しいクラスと正しくないクラスとを判別（discriminate）するように、すべてのクラスに対して統計的言語モデルパラメータを同時にチューニングすることを含む。本発明の特定実施形態は、ｎグラム分類器に対する判別トレーニング技法の場合における有理関数成長変換の実施に関する。
【発明を実施するための最良の形態】
【０００７】
Ｉ．例示的オペレーティング環境
本発明の種々の態様は、テキストまたは音声発話の分類のために使用される言語モデルの条件付き最尤（ＣＭＬ）推定に関する。しかし、本発明をさらに詳細に説明する前に、本発明が実施され得る例示的環境の一実施形態を説明する。
【０００８】
図１は、本発明が実施され得る好適なコンピューティングシステム環境１００の一例を示している。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例に過ぎず、本発明の用途または機能の範囲に関するいかなる限定を示唆することも意図していない。また、コンピューティング環境１００は、例示的オペレーティング環境１００に示されるいかなるコンポーネントまたはその組合せに関するいかなる従属性または要件を有するとも解釈されてはならない。
【０００９】
本発明は、他の多くの汎用または専用のコンピューティングシステムの環境または構成とともに動作する。本発明とともに使用するのに適し得る周知のコンピューティングシステム、環境、および／または構成の例としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサ方式のシステム、セットトップボックス、プログラム可能な消費者家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、電話システム、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境等があるが、これらには限定されない。
【００１０】
本発明は、コンピュータにより実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的関連で記述され得る。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。本発明は、通信ネットワークを通じてリンクされるリモート処理デバイスによりタスクが実行される分散コンピューティング環境で実施されるように設計される。分散コンピューティング環境では、プログラムモジュールはメモリ記憶デバイスを含むローカルおよびリモートの両方のコンピュータ記憶媒体に配置される。プログラムおよびモジュールによって実行されるタスクが、以下で図を参照して説明される。当業者は、本明細書の説明および図面をプロセッサ実行可能命令として実施することができ、その命令はいかなる形態のコンピュータ可読媒体に書き込まれてもよい。
【００１１】
図１を参照すると、本発明を実施する例示的システムは、コンピュータ１１０の形態の汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントとしては、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット１２０に結合するシステムバス１２１があり得るが、これらには限定されない。システムバス１２１は、さまざまなバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のいずれでもよい。例として、限定ではないが、このようなアーキテクチャとしては、Industry Standard Architecture（ＩＳＡ）バス、Micro Channel Architecture（ＭＣＡ）バス、Enhanced ISA（ＥＩＳＡ）バス、Video Electronics Standards Association（ＶＥＳＡ）ローカルバス、およびMezzanineバスとしても知られているPeripheral Component Interconnect（ＰＣＩ）バスがある。
【００１２】
コンピュータ１１０は通常、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によりアクセス可能ないかなる利用可能な媒体であってもよく、揮発性および不揮発性媒体、リムーバブルおよび固定媒体の両方が含まれる。例として、限定ではないが、コンピュータ可読媒体にはコンピュータ記憶媒体および通信媒体が含まれ得る。コンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータのような情報の格納のためのいかなる方法または技術で実現された揮発性および不揮発性、リムーバブルおよび固定媒体の両方が含まれる。コンピュータ記憶媒体には、以下のものに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）等の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ等の磁気記憶デバイス、または所望の情報を格納するために使用可能でありコンピュータ１１０によりアクセス可能ないかなる他の媒体も含まれる。
【００１３】
通信媒体は通常、キャリア波等の被変調データ信号または他のトランスポートメカニズムでコンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータを具現化し、いかなる情報配信媒体も含む。「被変調データ信号」という用語は、信号中に情報を符号化するように１つまたは複数の信号の特性が設定または変更された信号を意味する。例として、限定ではないが、通信媒体としては、有線ネットワークまたは直接有線接続のような有線媒体、および音響、ＲＦ、赤外線等の無線媒体のような無線媒体がある。上記のいずれかの組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００１４】
システムメモリ１３０は、読み出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２のような揮発性および／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中等にコンピュータ１１０内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が通常ＲＯＭ１３１に格納される。ＲＡＭ１３２は通常、処理ユニット１２０から直接アクセス可能な、および／または処理ユニット１２０が現在動作しているデータおよび／またはプログラムモジュールを含む。例として、限定ではないが、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００１５】
コンピュータ１１０はまた、他のリムーバブル／固定、揮発性／不揮発性のコンピュータ記憶媒体を含んでもよい。単なる例として、図１は、固定不揮発性磁気媒体の読み書きを行うハードディスクドライブ１４１、リムーバブル不揮発性磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭ等の光媒体のようなリムーバブル不揮発性光ディスク１５６の読み書きを行う光ディスクドライブ１５５を示している。例示的オペレーティング環境で使用可能な他のリムーバブル／固定、揮発性／不揮発性のコンピュータ記憶媒体としては、以下のものには限定されないが、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭ等がある。ハードディスクドライブ１４１は通常、インタフェース１４０のような固定メモリインタフェースを通じてシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インタフェース１５０のようなリムーバブルメモリインタフェースによりシステムバス１２１に接続される。
【００１６】
前述し図１に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ１１０のためのコンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの格納を行う。例えば図１において、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するように示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じでも異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくともそれらが別のコピーであることを示すためにここでは異なる番号が与えられている。
【００１７】
ユーザは、キーボード１６２、マイクロフォン１６３、およびマウス、トラックボールまたはタッチパッド等のポインティングデバイス１６１のような入力デバイスを通じてコンピュータ１１０にコマンドおよび情報を入力することが可能である。他の入力デバイス（図示せず）としては、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等があり得る。これらおよび他の入力デバイスは、システムバスに結合したユーザ入力インタフェース１６０を通じて処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）のような他のインタフェースおよびバス構造により接続されてもよい。モニタ１９１または他のタイプの表示デバイスもまた、ビデオインタフェース１９０のようなインタフェースを通じてシステムバス１２１に接続される。モニタに加えて、コンピュータはスピーカ１９７およびプリンタ１９６のような他の周辺出力デバイスを含んでもよく、これらは出力周辺インタフェース１９５を通じて接続され得る。
【００１８】
コンピュータ１１０は、リモートコンピュータ１８０のような１つまたは複数のリモートコンピュータへの論理接続を用いたネットワーク環境で動作する。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の一般的なネットワークノードであってよく、通常、コンピュータ１１０に関して前述した要素の多くまたはすべてを含む。図１に示す論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含んでもよい。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットで一般的である。
【００１９】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０はネットワークインタフェースすなわちアダプタ１７０を通じてＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は通常、インターネットのようなＷＡＮ１７３を通じて通信を確立するためのモデム１７２等の手段を含む。モデム１７２は、内蔵でも外付けでもよいが、ユーザ入力インタフェース１６０等の適当なメカニズムを通じてシステムバス１２１に接続され得る。ネットワーク環境では、コンピュータ１１０に関して図示したプログラムモジュールまたはその部分は、リモートメモリ記憶デバイスに格納されてもよい。例として、限定ではないが、図１は、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０上に存在するように示している。理解されるように、図示したネットワーク接続は例示であり、コンピュータ間に通信リンクを確立する他の手段を使用してもよい。
【００２０】
本発明は、図１に関して説明したようなコンピュータシステム上で実施することができることに注意すべきである。しかし、本発明は、サーバ、メッセージ処理専用コンピュータ上で、または本発明の異なる部分が分散コンピューティングシステムの異なる部分で実施される分散システム上で、実施可能である。
【００２１】
ＩＩ．タスク分類システムの概要
図２は、自然言語分類システム２００の一部のブロック図である。システム２００は、統計的分類器２０４を含む。また、システム２００は、任意に、音声認識エンジン２０６を含むことも可能である。インタフェース２００は、音声信号を入力として受け入れる場合、認識器２０６を含む。しかし、インタフェース２００がテキスト入力を受け取る場合、認識器２０６は不要である。本説明は、音声認識器２０６が存在する一実施形態に関して行われるが、理解されるように、他の実施形態では音声認識器２０６が存在する必要はない。また、手書きモード等の他の自然言語通信モードが使用可能である。このような場合、手書き認識コンポーネント等の好適な認識コンポーネントが利用される。
【００２２】
クラスまたはタスク分類を実行するため、システム２００はまず、ユーザが話した自然言語音声を表す音声信号の形態で発話２０８を受け取る。音声認識器２０６が、発話２０８に対して音声認識を実行し、その出力に、自然言語テキスト２１０を提供する。テキスト２１０は、音声認識器２０６が受け取った自然言語発話２０８のテキスト表現である。音声認識器２０６は、音声入力に対して音声認識を実行するいかなる既知の音声認識システムであってもよい。音声認識器２０６は、アプリケーション固有の口述言語モデルを含み得るが、音声認識器２０６が音声を認識する方法が具体的にどのような方法であるかは、本発明の主要部を形成しない。同様に、もう１つの実施形態では、音声認識器２０６は、結果または解釈のリストをそれぞれの確率とともに出力する。後のコンポーネントが各解釈に作用し、関連する確率をクラスまたはタスク分類において使用する。
【００２３】
一実施形態によれば、自然言語テキスト２１０の全部または一部が、分析および分類のために統計的分類器２０４に提供される。一部が提供される場合としては、前処理を利用して、テキスト２１０からのある特定の要素（例えば、a、an、theのような冠詞）を除去する場合がある。もう１つの実施形態によれば、自然言語テキスト２１０のあまり直接的でない表現（例えばベクトル表現）が、分析および分類のために統計的分類器２０４に提供される。
【００２４】
一実施形態によれば、特徴（feature）のセットが、統計的分類器２０４に提示するために自然言語テキストから抽出される。実例として、特徴のセットは、タスク分類を実行する際に非常に有益であると考えられるものである。これは、経験的に、またはその他の方法で求めることができる。
【００２５】
一実施形態では、抽出される特徴は、自然言語入力テキスト２１０内の単語の有無を示す単語識別子のセットである。例えば、特定のアプリケーション用に設計されたある一定の語彙内の単語のみが分類器２０４による考慮のためにタグ付けされ、その語彙外の単語は<UNKNOWN>のような区別された単語タイプにマップされる。
【００２６】
より複雑な特徴のタイプが考慮のために選択されることも同様に可能であることに注意すべきである。例えば、単語の共起が、選択される特徴であることも可能である。これは、例えば、実行すべきタスクをより明示的に識別するために使用され得る。例えば、「send mail（メール送信）」という単語の共起は、統計的分類器２０４による処理のために特に重要であるとして注目される特徴であり得る。入力テキスト中にこれらの２つの単語がこの順序で見つかった場合、統計的分類器２０４はその事実の通知を受け取ることになる。バイグラム、トライグラム、他のｎグラム、および他のいかなる所望の特徴等、さまざまな他の特徴も同様に選択することができる。
【００２７】
特徴抽出プロセスの前にテキスト２１０の処理を容易にするために、自然言語テキスト２１０に対して任意に前処理を実行することができる。例えば、自然言語テキスト２１０は、ある特定のタイプの内容を伝達するようにあらかじめ定められた単語の有無の指示のみを含むことが望ましい場合がある。
【００２８】
特徴抽出の前にステミング（stemming、接辞処理）を使用することも可能である。ステミングは、単語における形態論的変動を除去してそれらの語根形を得るプロセスである。形態論的変動の例としては、屈折変化（例えば、複数形、動詞の時制等）および単語の文法的役割を変える派生変化（例えば、slow対slowlyの場合の形容詞対副詞等）がある。ステミングは、基礎となる意味が同じである複数の特徴を単一の特徴にまとめるために使用することができる。これを利用して、データが疎であることを克服し、計算効率を改善し、統計的分類方法で使用される特徴独立性の仮定の影響を低減することができる。
【００２９】
いずれの場合でも、統計的分類器２０４は、自然言語テキスト２１０の情報を受け取り、統計的分類コンポーネント２０７を利用して、その情報を、複数のあらかじめ規定されたクラスまたはタスクの１つまたは複数に分類する。実例として、コンポーネント２０７は、ｎグラム分類器、ナイーブベイズ分類器または最大エントロピー分類器に関連するもののようなさまざまな統計的言語モデルのいずれかである。実例として、トレーナ２０９が、トレーニングデータ２０５およびテストデータ２１３の集合を利用して言語モデルをトレーニングする。実例として、テストデータ２１３は、トレーニングプロセスを容易にするためにトレーニングデータ２０５から取り置かれた限られた量のデータである。
【００３０】
次に、分類器２０４によって実行されるタスクまたはクラス識別の基礎となる理論をさらに詳細に説明する。記法を確定するため、以下では音声発話をＡで表す。発話Ａを生じた単語列をＷ＝ｗ１...ｗｎで表す。発話ＡのクラスをＣ（Ａ）で表す。単語語彙をＶ、クラス語彙をＣで表す。コーパスはトレーニングデータおよびテストデータ（それぞれＴおよびε）に分割される。コーパスは、発話Ａ、トランスクリプションＷおよび発話クラスＣ（Ａ）を含むタプル（またはサンプル）ｓからなる。参考までに、与えられた分類器のパフォーマンスは、次のクラス誤り率（ＣＥＲ）によって測定される：
【００３１】
【数１】
2004362584.tif 000003
【００３２】
ここで、ｓ．Ａはサンプルｓ内の音響を表す。δ（・，・）はクロネッカーのδ演算子であり、その引数が相等しい場合には１に等しく、そうでない場合には０に等しい。
【００３３】
ｎグラム言語モデル分類器の場合、２パスシナリオを仮定すると、クラスＣでラベル付けされたトランスクリプションをプールすることによって各クラス
【００３４】
【数２】
2004362584.tif 000004
【００３５】
ごとにｎグラムモデルＰ（ｗｉ｜ｗｉ−１，...，ｗｉ−ｎ＋１，Ｃ）が作成される。プールされたｎグラム言語モデルＰ（ｗｉ｜ｗｉ−１，ｗｉ−ｎ＋１）が、クラス固有の言語モデルＰ（・｜Ｃ）に加えてすべてのトレーニングトランスクリプションから作成される。次に、プールされた言語モデルを用いて１ベスト認識出力に対するテキスト分類を行うことによって、各テスト発話にクラスを割り当てる：
【００３６】
【数３】
2004362584.tif 000005
【００３７】
これは、式２の第１ステップが音声認識器２０６によって実行され、式２の第２ステップが統計的分類器２０４によって実行されるという２パス手法である。実例として、この２パス手法の第２段階はｎグラムテキスト分類器を実現する。
【００３８】
ｎグラム型の分類器は、与えられた音声発話に音声認識と並行してクラスが割り当てられる単一パスシステムで使用可能であるという特別な可能性のある効率上の利点を有する。さらに、ｎグラム型の分類器は、比較的高次の単語共起の考慮を可能にするという点で有利であることに注意すべきである。例えば、トライグラムの考慮は、単語３つ組の検査を伴う。たとえユニグラムのみが考慮される場合であっても、単語の共起数はｎグラム分類器で考慮される。
【００３９】
図３は、単一パス分類システム２２０の一部の図である。図２中の要素と同一または類似の機能を有する図３中の要素には、同一または類似の参照番号が付されている。
【００４０】
システム２２０（図３）は、統計的分類器／復号器２１１を含むという点でシステム２００（図２）とは異なる。実例として、分類器／復号器２１１は、単一パスで発話２０８を復号および分類する。分類器／復号器２１１は、トレーナ２０９によってトレーニングされる統計的分類コンポーネント２０７（すなわち言語モデル）を含む。実例として、コンポーネント２０７は、単一パスシステムのために構成されたｎグラム言語モデルである。これにより、与えられた発話Ａには、単語列
【００４１】
【数４】
2004362584.tif 000006
【００４２】
を見つける音声復号と並行してクラス
【００４３】
【数５】
2004362584.tif 000007
【００４４】
が割り当てられる。
【００４５】
図３の単一パスシステムによれば、クラスＣでラベル付けされたすべてのトレーニングトランスクリプションをプールすることによって各クラス
【００４６】
【数６】
2004362584.tif 000008
【００４７】
ごとにｎグラムモデルＰ（ｗｉ｜ｗｉ−１，...，ｗｉ−ｎ＋１，Ｃ）が作成される。それぞれの言語モデルＰ（・｜Ｃ）に、各クラスに対する関連するラベルを並列に積み重ねることにより、認識ネットワークが構築される。各言語モデルＰ（・｜Ｃ）への遷移はスコアｌｏｇＰ（Ｃ）を有する。１パスで、最尤経路が次のように識別される：
【００４８】
【数７】
2004362584.tif 000009
【００４９】
したがって、分類器／復号器２１１は、発話２０８を受け取ると、音声復号と並行してクラスを割り当てることができる。最尤であると認識される単語列は、列とともに返されるクラスタグを有する。出力は、タスクまたはクラスＩＤ２１４および復号列２１５である。実例として、復号列２１５は、発話２０８の単語列表現である。
【００５０】
１パスおよび２パスシステムの両方の場合に、ｎグラム言語モデルをスムージング（平滑化）することにより初見のトレーニングデータに対処することができる。一実施形態によれば、クラス固有トレーニングモデルに対するｎグラム確率は、異なる次数（一様モデルでは０、ｎグラムモデルではｎ−１など）における相対頻度推定値の線形補間を用いて推定される。異なる次数における線形補間重みはコンテキストカウントに従って分類され、それらの値は相互検証データに対する最尤技法を用いて推定される。そして、相互検証データからのｎグラムカウントを主トレーニングデータから収集されたカウントに加算することにより、相対頻度推定値の品質を向上させる。このようなスムージングは、Jelinek and Mercer, Interpolated Estimation of Markov Source Parameters From Sparse Data, Pattern Recognition in Practice, Gelsema and Kanal editors, North-Holland (1980)、にさらに詳細に記載されている。これはスムージングの一例である。
【００５１】
スムージングのプロセスを規定する方法は他にもある。スムージングのもう１つの実施形態によれば、ｎグラム言語モデルを推定するため、異なる次数における相対頻度推定値ｆｋ（・），ｋ＝０...ｎの間で再帰的削除補間方式を利用する：
【００５２】
【数８】
2004362584.tif 000010
【００５３】
ここで
【００５４】
【数９】
2004362584.tif 000011
【００５５】
相対頻度ｆｎ（ｗ／ｈｎ）および補間重みλ（ｈｎ）は、与えられた言語モデルに利用可能なトレーニングデータの７０／３０％ランダム分割によって得られる主データおよびヘルドアウトデータからそれぞれ最尤推定を用いて推定される。補間重みは、次のコンテキストカウントに従って分類される：
λ（ｈｎ）＝λ（ＣＭＬ（ｈｎ））    （６）
【００５６】
ここで、ＣＭＬ（ｈｎ）は、当該クラスに割り当てられたトレーニングデータ中にコンテキストｈｎが見出される回数である。
【００５７】
一般的に、分類器２０４および２１１は、対応する自然言語入力に割り当てられた特定のタスクまたはクラスを識別するタスクまたはクラス識別子２１４を出力するように構成される。別法として、識別子２１４は、タスクまたはクラス識別子の順位付きリスト（またはｎベストリスト）であってもよい。識別子２１４は、識別されたタスクに基づいてアクションをとることができるアプリケーションまたは他のコンポーネントに提供される。例えば、識別されたタスクがメール送信(SendMail)である場合、識別子２１４は電子メールアプリケーションに送られ、電子メールアプリケーションは、ユーザが使用するための電子メールテンプレートを表示することができる。言うまでもなく、他のいかなるタスクまたはクラスも同様に考えられる。同様に、識別子２１４のｎベストリストが出力される場合、適当なユーザインタフェースを通じてリスト内の各項目を表示することにより、ユーザは所望のクラスまたはタスクを選択することができる。通常、復号列２１５もまたアプリケーションに提供されることに留意されたい。
【００５８】
ＩＩＩ．タスクまたはクラス識別
図４は、本発明の一実施形態による、タスクまたはクラス識別の方法に関連するステップを示すフローチャートである。注意すべきであるが、本方法は、図２および図３に関連して前述したような１パスまたは２パスシステムのいずれに合わせてカスタマイズすることもできる。分類器は分類コンポーネント２０７を利用する。実例として、分類コンポーネント２０７は、クラス依存ｎグラム統計的言語モデル分類器のセットである。ブロック４０２により、１つのクラス固有モデルが各クラスまたはタスクごとに生成される。したがって、自然言語入力２１０が受け取られると（ブロック４０４）、クラス固有言語モデルが各クラスについてその情報に対して実行される（ブロック４０６）。各言語モデルからの出力に、それぞれのクラスに対する事前確率（prior probability）が乗じられる（ブロック４０８）。実例として、結果として得られた値が最も高いクラスがターゲットクラスに対応する（ブロック４１０）。
【００５９】
図５は、一実施形態による、クラス固有言語モデルのトレーニングに関連するステップを示すフローチャートである。実例として、このようなトレーニングは、トレーナ２０９（図２および図３）によって実行される。ブロック５０２により、クラス固有ｎグラム言語モデルは、ｎグラム言語モデルがトレーニングされている種々のクラスのうちから、トレーニングコーパス内の文を分離することによってトレーニングされる。ブロック５０６により、各クラスに対応する文を、そのクラスに対するｎグラム分類器をトレーニングする際に使用する。これにより、与えられた個数のｎグラム言語モデルが得られる。この個数は、考慮すべきクラスの総数に対応する。注意すべきであるが、ブロック５０４により、トレーニング前に、ステミングのような特徴抽出技法や他の形態の前処理を任意に文に適用することができる。前処理は、文がクラスに分けられる前後のいずれに行うことも可能である。また、ステップ５０６は、前述のような疎データの影響の低減に役立つように、スムージングを用いて言語モデルを定義することを含んでもよい。
【００６０】
ＩＶ．ｎグラム分類器の条件付き最尤（ＣＭＬ）推定
本発明のいくつかの実施形態では、トレーニングステップ５０６は、条件付き最尤（ＣＭＬ）推定方式を利用して実行される。ＣＭＬトレーニング方式によれば、統計的言語モデルパラメータをすべてのクラスに対して同時にトレーニングすることが可能となり、それによって分類器は、与えられたトレーニング文または発話に対して正しいクラスと正しくないクラスを判別する。
【００６１】
一実施形態では、言語モデルＰ（Ｗ｜Ｃ），∀Ｃが、クラス誤り率（式１）が最小になるように同時にトレーニングされる。ＣＥＲは解析的に扱えないので、便宜的に、音声発話分類の場合は
【００６２】
【数１０】
2004362584.tif 000012
【００６３】
また、テキスト分類の場合は
【００６４】
【数１１】
2004362584.tif 000013
【００６５】
という条件付き確率で代用する。ここで、Ｔはトレーニングデータ中のサンプルの数であり、｜ｓｉ．Ａはトレーニングサンプルｉ内の音響を表し、｜ｓｉ．Ｃはトレーニングサンプルｉに関連するクラスであり、｜ｓｉ．Ｗはトレーニングサンプルｉに関連する文（単語列）である。選択は、トレーニングデータに関するＣＥＲ（トレーニングデータに関する誤りの期待確率に等しい）との逆相関によって正当化される。
【００６６】
テキストのみの場合に特に注目すると、次の条件付き対数尤度を最大にするように言語モデルＰ（Ｗ｜Ｃ），∀Ｃをチューニングするのが望ましい。
【００６７】
【数１２】
2004362584.tif 000014
【００６８】
ここで、
【００６９】
【数１３】
2004362584.tif 000015
【００７０】
目標は、式（７）の目的関数を最大化することとなる。効率上の理由から、クラス固有言語モデルに対する最尤（ＭＬ）の場合（式５参照）と同じパラメータ付けをそのまま用いるのが望ましい。例えば、ＭＬの場合と同じλおよびｆｎのパラメータを（そのパラメータに対して決まる値は異なるが）そのまま用いるのが望ましい。実例として、記憶領域要件および実行時間はＭＬモデルの場合と同じとする。これは任意の制約であり、取り除くことも可能である。
【００７１】
注意すべきであるが、音声発話分類の場合、言語モデルＰ（Ｗ｜Ｃ），∀Ｃは、次の条件付き尤度Ｌ（Ｃ｜Ａ）が最大になるようにチューニングすることができる。
【００７２】
【数１４】
2004362584.tif 000016
【００７３】
ここで、
【００７４】
【数１５】
2004362584.tif 000017
【００７５】
Ｌ（Ｃ｜Ａ）（式９）とＬ（Ｃ｜Ｗ）（式７）を最大化するために言語モデルをチューニングすることの間の顕著な相違点として、前者の場合には、単語間の音響的な混同しやすさを考慮に入れ、非常に混同しやすい単語の分類結果への寄与を割り引こうとすることがある。
【００７６】
Ｌ（Ｃ｜Ｗ）を最大化するには、言語モデルトレーニングのためのクラスラベルとともに、単語トランスクリプションが必要である（音響データは言語モデルトレーニングに使用されない）。結果として得られるモデルはｎグラムであるため、音声およびテキストの両方の分類に容易に使用することができる。
【００７７】
Ｖ．ＣＭＬ  ｎグラムパラメータ推定のための有理関数成長変換
以上説明したように、各クラス固有ｎグラムモデルは式５に従ってパラメータ付けされる。ＣＭＬ推定手続きの目標は、トレーニングデータの条件付き尤度Ｌ（Ｃ｜Ｗ）（式７参照）が最大になるように、すべての次数０...ｎ−１で、相対頻度値ｆｎ（ｗ｜ｗ−１，...，ｗ−ｎ）を補間重みλ（ｗ−１，...，ｗ−ｎ）とともにチューニングすることである。
【００７８】
本発明の一態様によれば、効率的で効果的な最適化技法として、有理関数成長変換（ＲＦＧＴ）がある。ＲＦＧＴアルゴリズムは、既知の数学的応用であり、P. S. Gopalakrishanan et al., An inequality for rational functions with applications to some statistical estimation problems, IEEE Transaction on Information Theory, Vol.37, No.1, pp.107-113, January 1991、に詳細に記載されている。ＲＦＧＴ手続きは、本明細書に記載の応用に特に適している。というのは、この手続きは確率分布に作用するため、各反復において、モデルのパラメータ付けの基礎となる確率分布の適当な規格化を強制するからである。
【００７９】
式５のパラメータ付けの下で、次数ｋの相対頻度ｆｋ（ｗ｜ｆｋ，ｃ）に対する再推定の式は次の通りである。
【００８０】
【数１６】
2004362584.tif 000018
【００８１】
ここで、ＣＭＬ（ｗ，ｈｋ，ｃ）は、トレーニングデータから収集されたクラスｃの文中の（ｗ，ｈｋ）の最尤カウントを表す：
【００８２】
【数１７】
2004362584.tif 000019
【００８３】
ＣＣＭＬ（ｗ，ｈｋ，ｃ）は、クラスｃの文中の（ｗ，ｈｋ）の「ＣＭＬカウント」を表す：
【００８４】
【数１８】
2004362584.tif 000020
【００８５】
ここで、与えられた文Ｗ＝ｗ１，...，ｗｑに対するクラスｃの確率Ｐ（ｃ｜Ｗ）は、クラス固有ｎグラムモデルＰｎ（ｗ｜ｈ，ｃ）およびクラスに関する事前確率Ｐ（ｃ）を用いて割り当てられる：
【００８６】
【数１９】
2004362584.tif 000021
【００８７】
コンテキスト依存の「ＣＭＬ重み」β（ｈｋ，ｃ）は、各反復においてβｍａｘ＞０に設定される。展開後、その値を各コンテキストβ（ｈｋ，ｃ）について別々に低下させ、式１２の分子がすべての事象（ｗ，ｈｋ，ｃ）に対して非負になるようにする：
【００８８】
【数２０】
2004362584.tif 000022
【００８９】
最初に十分に低いβｍａｘ値を選択すれば、ほとんどのコンテキスト（ｈｋ，ｃ）についてこの調整は不要であることに注意すべきである。小さいβｍａｘ値を選択することの欠点は、各反復におけるＬ（Ｃ｜Ｗ）の相対的増加が小さくなることである。
【００９０】
モデルパラメータは、トレーニングデータをランダムに主データおよびヘルドアウトデータに分割することによって推定される。ＭＬトレーニングの場合と同じ分割が使用される。主データは相対頻度を推定するために使用される一方、ヘルドアウトデータはＲＦＧＴ反復の数および最適なＣＭＬ重みβｍａｘをチューニングするために使用される。クラス事前確率（class prior）および補間重みは再推定されない。実例として、クラス事前確率、相対頻度および補間重みに対する初期値はＭＬのものである。例えば、補間重みは式５で計算されるものである。
【００９１】
実例として、ＲＦＧＴ反復の数および最適なＣＭＬ重みβｍａｘは次のように求められる。
・実行すべきＲＦＧＴ反復の初期設定数Ｎを決める。
・βｍａｘパラメータ値を求めるために調べるべきグリッド（値の範囲およびステップ）を決める。
・それぞれの値βｍａｘに対して、主データの条件付き尤度Ｌ（Ｃ｜Ｗ）が各反復において増大するようにＲＦＧＴ反復を（Ｎ以下で）できるだけ多く実行する。
・ヘルドアウトデータの条件付き尤度Ｌ（Ｃ｜Ｗ）を最大化する（反復数，βｍａｘ）の対を、求める値として保持する。
【００９２】
実行すべきＲＦＧＴ反復の数およびβｍａｘ値を求めた後、主データおよびヘルドアウトデータをプールし、これらの値を用いてモデルをトレーニングする。
【００９３】
以上、具体的な実施形態に関連して本発明を説明したが、当業者には理解されるように、本発明の精神および範囲から逸脱することなく、形態および細部において変更が可能である。
【図面の簡単な説明】
【００９４】
【図１】本発明が使用され得る１つの例示的環境のブロック図である。
【図２】自然言語分類システムの一部のブロック図である。
【図３】もう１つの自然言語分類システムの一部のブロック図である。
【図４】タスクまたはクラス識別に関連するステップを示すフローチャートである。
【図５】クラス固有言語モデルのトレーニングに関連するステップを示すフローチャートである。
【符号の説明】
【００９５】
１００  コンピューティングシステム環境
１１０  コンピュータ
１２０  処理ユニット
１２１  システムバス
１３０  システムメモリ
１３１  読み出し専用メモリ（ＲＯＭ）
１３２  ランダムアクセスメモリ（ＲＡＭ）
１３３  基本入出力システム（ＢＩＯＳ）
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  固定メモリインタフェース
１４１  ハードディスクドライブ
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  リムーバブルメモリインタフェース
１５１  磁気ディスクドライブ
１５２  磁気ディスク
１５５  光ディスクドライブ
１５６  光ディスク
１６０  ユーザ入力インタフェース
１６１  ポインティングデバイス
１６２  キーボード
１６３  マイクロフォン
１７０  ネットワークインタフェース
１７１  ローカルエリアネットワーク（ＬＡＮ）
１７２  モデム
１７３  広域ネットワーク（ＷＡＮ）
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインタフェース
１９１  モニタ
１９５  出力周辺インタフェース
１９６  プリンタ
１９７  スピーカ
２００  自然言語分類システム
２０４  統計的分類器
２０５  トレーニングデータ
２０６  音声認識器
２０７  統計的分類コンポーネント
２０８  発話
２０９  トレーナ
２１０  自然言語テキスト
２１１  統計的分類器／復号器
２１３  テストデータ
２１４  タスクまたはクラスＩＤ
２１５  復号列
２２０  単一パス分類システム
【図１】
2004362584.tif 000023
【図２】
2004362584.tif 000024
【図３】
2004362584.tif 000025
【図４】
2004362584.tif 000026
【図５】
2004362584.tif 000027