(57)【要約】【課題】  文法オーサリングにおけるセグメント化あいまい性を自動的に解決すること。【解決手段】  規則ベース文法が生成される。セグメント化あいまい性は、トレーニングデータで識別される。あいまいなセグメント化に関する書き換え規則が列挙され、それぞれの確率が生成される。あいまい性はこの確率に基づいて解決される。一実施形態では、これは期待値最大化（ＥＭ）アルゴリズムを適用することによって実行される。【選択図】  図２Ａ
2004326750.tif 000002
【特許請求の範囲】
【請求項１】
自然言語処理に関する規則ベース文法を生成するための方法であって、
トレーニングデータのセグメント化があいまいなトレーニングデータにおいてセグメント化あいまい性を識別すること、
すべてのあいまいなセグメント化に関する書き換え規則を列挙すること、および
前記トレーニングデータによってサポートされる書き換え規則のオカレンスに基づいて、列挙されたそれぞれの書き換え規則に関する確率を生成することにより、前記セグメント化あいまい性を自動的に解決すること
を含むことを特徴とする方法。
【請求項２】
前記セグメント化あいまい性を自動的に解決することは、
前記トレーニングデータによってサポートされる書き換え規則のオカレンスに基づいて、列挙されたそれぞれの書き換え規則に関するカウントを予測すること、
前記予測されたカウントに基づいて、前記列挙されたそれぞれの書き換え規則に関する確率を生成すること、
取得されたそれぞれの書き換え規則に関する前記確率に基づいて、前記列挙された書き換え規則に関するカウントを再度予測すること、および
前記確率を取得することと前記カウントを再度予測することとを、所望の収束が得られるまで反復すること
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記トレーニングデータを受け取ることをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記トレーニングデータを受け取ることは、
スキーマおよび１つまたは複数の意味的な注釈が付けられたテキスト文字列を受け取ることを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記セグメント化あいまい性を識別することは、
書き換え規則を含むテンプレート文法を、前記トレーニングデータから生成することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記セグメント化あいまい性を識別することは、
前記スキーマ、前記書き換え規則、および前記注釈が付けられたテキスト文字列から、解析ツリーを生成することを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記各書き換え規則は、前記解析ツリーのリーフを前記テキスト文字列の一部にマッピングするものであって、前記セグメント化あいまい性を識別することは、
前記解析ツリーの複数の可能なリーフにマッピングすることが可能な前記テキスト文字列のあいまいな部分を識別することを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記すべてのあいまいなセグメント化に関する書き換え規則を列挙することは、
前記解析ツリーの前記可能なリーフのそれぞれに前記テキスト文字列のあいまいな部分をマッピングする、書き換え規則を列挙することを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記列挙されたそれぞれの書き換え規則に関する確率を生成することは、
同じリーフに適用される書き換え規則それぞれに関するカウントを正規化することを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記カウントを予測することに先立って、セグメント化あいまい性例の可能なセグメント化それぞれに関する確率を同じ値に設定することをさらに含むことを特徴とする請求項２に記載の方法。
【請求項１１】
前記セグメント化あいまい性を自動的に解決することは、
前記生成された確率に基づいて、前記列挙された書き換え規則をプルーニングすることを含むことを特徴とする請求項２に記載の方法。
【請求項１２】
前記プルーニングすることは、
前記書き換え規則それぞれについて生成された確率がしきい値と合致するかどうかを判別すること、および
前記判別に基づいて前記書き換え規則をプルーニングすることを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記プルーニングすることは、
前記しきい値に合致しない書き換え規則をプルーニングすることを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記プルーニングすることは、
セグメント化あいまい性のすべてのトレーニング例に関する最尤セグメント化によってサポートされていない書き換え規則をプルーニングすることを含むことを特徴とする請求項１１に記載の方法。
【請求項１５】
規則ベース文法をオーサリングするためのコンピュータ実施文法オーサリングシステムであって、
トレーニングデータを受け取り、前記トレーニングデータにおけるセグメント化あいまい性に対応するあいまいな書き換え規則を含むテンプレート文法を生成するように構成されたテンプレート文法生成器と、
前記テンプレート文法生成器に結合され、前記あいまいな書き換え規則を受け取り、前記あいまいな書き換え規則に関する確率を生成するように構成された、あいまい性除去構成要素と、
前記あいまい性除去構成要素に結合され、前記生成された確率に基づいて前記あいまいな書き換え規則をプルーニングするように構成された、プルーニング構成要素と
を含むことを特徴とする文法オーサリングシステム。
【請求項１６】
前記あいまいな書き換え規則は、それぞれ、あいまいなセグメント化セット中の可能なセグメント化に対応することを特徴とする請求項１５に記載の文法オーサリングシステム。
【請求項１７】
前記あいまい性除去構成要素は、
それぞれの可能なセグメント化に関連付けられた確率を生成するために、期待値最大化（ＥＭ）アルゴリズムを適用するように構成された期待値最大化（ＥＭ）アルゴリズム適用構成要素を含むことを特徴とする請求項１６に記載の文法オーサリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は文法オーサリングに関する。より具体的には、本発明は自動文法オーサリングシステムにおけるセグメント化あいまい性除去に関する。
【背景技術】
【０００２】
音声使用可能アプリケーションおよびサービスの開発を容易にするために、現在、意味ベースの堅固な理解システムが開発中である。こうしたシステムは、会話や研究のシステムで幅広く使用されている。ただし、従来の開発者が会話システムを実施する際に使用するのには、特に実用的なものではない。こうした実施は、ドメイン（ｄｏｍａｉｎ）固有の文法を手作業で開発することに、かなりの部分で依拠している。このタスクはかなり時間のかかる、エラーが生じやすいものであり、ドメインについてのかなりの専門知識を必要とする。
【０００３】
音声使用可能アプリケーションおよびサービスの開発を進めるために、例証ベース文法のオーサリングツールが導入されている。このツールは、ＳＧＳｔｕｄｉｏとして知られている（例えば、非特許文献１および２参照）。このツールは、多くの異なる従来の情報源を利用することによって、文法の開発をきわめて容易にするものである。また、言語知識の少ない一般の開発者でも、音声言語理解に関する意味文法を構築できるようにするものである。このシステムは、相対的に高品質の意味文法を、少ないデータで半自動的に生成するのを容易にする。さらにこのツールは、文法の開発に関連する作業を大幅に軽減するだけでなく、異なるドメインにおける理解の正確さも向上させる。
【０００４】
【非特許文献１】Y.  Wang  and  A.  Acero,  GRAMMAR  LEARNING  FOR  SPOKEN  LANGUAGE  UNDERSTANDING,  IEEE  Workshop  on  Automatic  Speech  Recognition  and  Understanding,  Madonna  D.  Campiglio  Italy,  2001
【非特許文献２】Y.  Wang  and  A.  Acero,  EVALUATION  OF  SPOKEN  LANGUAGE  GRAMMAR  LEARINIG  IN  ATIS  DOMAIN,  Proceedings  of  ICASSP,  Orlando,  FL  2002
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、ツールは改良が可能である。あいまい性を解決しなければならない場合、文法規則を誘導するためにユーザに頼ることが多い。これはわずらわしく、かつ文法の開発を遅らせる可能性がある。
【課題を解決するための手段】
【０００６】
規則ベース文法を生成する。セグメント化あいまい性は、トレーニングデータで識別される。あいまいなセグメント化に関する書き換え規則が列挙され、それぞれの確率が生成される。あいまい性はこの確率に基づいて解決される。一実施形態では、これは期待値最大化（ｅｘｐｅｃｔａｔｉｏｎ  ｍａｘｉｍｉｚａｔｉｏｎ）（ＥＭ）アルゴリズムを適用することによって実行される。
【発明を実施するための最良の形態】
【０００７】
本発明は、文法オーサリングツールに対処するものである。より具体的には、本発明は、文法オーサリング時のセグメント化の自動あいまい性除去に対処するものである。ただし、本発明について詳細に論じる前に、本発明を使用可能な環境の一例について論じる。
【０００８】
図１は、本発明を実施することのできる好適なコンピューティングシステム環境の一例を示す図である。コンピューティングシステム環境１００は、好適なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関して、どんな制限をも示唆することを意図するものではない。さらに、コンピューティング環境１００は、例示的オペレーティング環境１００に示された構成要素のいずれか１つまたは組合せに関する、どんな依存関係または要件としても解釈されるべきではない。
【０００９】
本発明は、多数の他の汎用または特定用途向けコンピューティングシステム環境または構成でも、動作可能である。本発明と共に使用するのに好適な、よく知られたコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに限定されるものではない。
【００１０】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境でも実施可能である。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含む、ローカルおよびリモートの両方のコンピュータ記憶媒体内に位置することができる。
【００１１】
図１を参照すると、本発明を実施するための例示的システムには、コンピュータ１１０の形態の汎用コンピューティングデバイスが含まれる。コンピュータ１１０の構成要素には、処理ユニット１２０、システムメモリ１３０、および、システムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合するシステムバス１２１が含まれるが、これらに限定されるものではない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかであってよい。例を挙げると、こうしたアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびメザニンバスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれるが、これらに限定されるものではない。
【００１２】
コンピュータ１１０は、一般的には様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ１１０がアクセス可能な任意の使用可能媒体であってよく、揮発性および不揮発性、着脱可能および着脱不可の、両方の媒体を含む。例を挙げると、コンピュータ読取り可能媒体はコンピュータ記憶媒体および通信媒体を含むことができるが、これらに限定されるものではない。コンピュータ記憶媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される、揮発性および不揮発性、着脱可能および着脱不可の、両方の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは、所望の情報を記憶するために使用可能でありコンピュータ１１０によってアクセス可能な任意の他の媒体が含まれるが、これらに限定されるものではない。通信媒体は、一般的には、搬送波または他の移送メカニズムなどの変調データ信号で、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを具体化するものであり、任意の情報送達媒体を含む。「変調データ信号」という用語は、信号の特徴のうちの１つまたは複数を、信号内の情報を符号化するような形で設定または変更した信号を意味する。例を挙げると、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音波、ＦＲ、赤外線、および他の無線媒体などの無線媒体が含まれるが、これらに限定されるものではない。上記のうちのいずれかの組合せも、コンピュータ読取り可能媒体の範囲に含まれるものとする。
【００１３】
システムメモリ１３０には、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体が含まれる。起動時などにコンピュータ１１０内の要素間での情報の転送を助ける基本ルーチンを含む、ＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）１３３は、通常、ＲＯＭ１３１に格納される。ＲＡＭ１３２には、通常、即時にアクセス可能であり、かつ／または、現在、処理ユニット１２０によってその上で動作中である、データおよび／またはプログラムモジュールが含まれる。例を挙げると、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７が示されているが、これらに限定されるものではない。
【００１４】
コンピュータ１１０は、他の着脱不可／着脱可能、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。例を挙げると、図１には、着脱不可の不揮発性磁気媒体からの読取りまたはこれへの書込みを行うハードディスクドライブ１４１、着脱可能の不揮発性磁気ディスク１５２からの読取りまたはこれへの書込みを行う磁気ディスクドライブ１５１、および、ＣＤ−ＲＯＭまたは他の光媒体などの着脱可能の不揮発性光ディスク１５６からの読取りまたはこれへの書込みを行う光ディスクドライブ１５５が示されている。例示的オペレーティング環境で使用可能な他の着脱可能／着脱不可、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、これらに限定されるものではない。ハードディスクドライブ１４１は、通常、インターフェース１４０などの着脱不可のメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェース１５０などの着脱可能のメモリインターフェースによってシステムバス１２１に接続される。
【００１５】
上述し、図１に示した、ドライブおよびそれらに関連付けられたコンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、および他のデータのストレージをコンピュータ１１０に提供する。たとえば図１では、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納しているように示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と、同じであるかまたは異なってもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくとも、それらが異なるコピーであることを示すために、ここでは異なる番号が与えられている。
【００１６】
ユーザは、キーボード１６２、マイクロフォン１６３、およびマウス、トラックボール、またはタッチパッドなどのポインティングデバイス１６１を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）には、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどが含まれる。これらおよび他のデバイスは、システムバスに結合されたユーザ入力インターフェース１６０を介して、処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続することもできる。モニタ１９１または他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介して、システムバス１２１に接続される。コンピュータは、モニタに加えて、出力周辺インターフェース１９５を介して接続することのできる、スピーカ１９７およびプリンタ１９６などの他の周辺出力デバイスを含むこともできる。
【００１７】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用する、ネットワーク化環境で動作可能である。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってよく、典型的には、コンピュータ１１０に関して上記で述べた要素の多くまたはすべてを含む。図１に示された論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークを含むこともできる。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでよく見られる。
【００１８】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２または他の手段を含む。モデムは内蔵型でも外付け型でもよく、ユーザ入力インターフェース１６０または他の適切なメカニズムを介して、システムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関して示されたプログラムモジュールまたはその一部を、リモートメモリ記憶デバイスに格納することができる。例を挙げると、図１には、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０上に常駐しているように示されているが、これに限定されるものではない。図示されたネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用可能であることを理解されよう。
【００１９】
本発明は、図１に関して記載したようなコンピュータシステム上で実行可能であることに留意されたい。ただし本発明は、サーバ、メッセージ処理専用コンピュータ、または、本発明の様々な部分が分散コンピューティングシステムの様々な部分で実行される分散型システム上で実行可能である。
【００２０】
図２Ａは、本発明の一実施形態に従ったモデルオーサリングシステム２００を示すブロック図である。モデルオーサリングシステム２００には、モデルオーサリング構成要素２０２およびオプションのユーザインターフェース２０４が含まれる。図２Ａは、モデルオーサリング構成要素２０２が、スキーマ２０６、トレーニング例テキスト文字列および注釈（ｔｒａｉｎｉｎｇ  ｅｘａｍｐｌｅ  ｔｅｘｔ  ｓｔｒｉｎｇｓ  ａｎｄ  ａｎｎｏｔａｔｉｏｎｓ）２０８のセット、オプションの文法ライブラリ２０９を入力として受け取り、規則ベース文法（文脈自由文法（ｃｏｎｔｅｘｔ  ｆｒｅｅ  ｇｒａｍｍａｒ）またはＣＦＧなど）２１０を出力することも示している。オプションの文法ライブラリ２０９は、アプリケーションデータベースから取得可能な、日付および時刻などのドメインに無関係の概念、ならびに都市名、航空会社などのドメインに依存した概念に関する定義を含む。
【００２１】
システム２００の詳細なオペレーションについては、以下でより詳細に述べる。ただし、簡潔に言えば、ユーザは、モデルオーサリング構成要素２０２に、スキーマ２０６およびトレーニング例テキスト文字列２０８を提供する。これは、オプションのユーザインターフェース２０４または何らかの他のユーザ入力メカニズム、あるいは、自動化手段を介して実行することができる。モデルオーサリング構成要素２０２は入力を受け取り、その入力に基づいて、規則ベース文法２１０を生成する。規則ベース文法の一例は、コンピュータが入力をテキストの意味表現にマッピングできるようにする、文脈自由文法（またはＣＦＧ）である。
【００２２】
スキーマ２０６は、例示的に言えば、モデル化されるドメインの意味記述である。スキーマの一例が図２Ｂに示されている。図２Ｂは、開発者がシステム２００に入力することのできる、かなり簡略化されたスキーマ２１２を示す。スキーマ２１２は、様々な都市へ出発し様々な都市から到着するフライト、ならびに様々な出発および到着時刻を有するフライトを示すための、ユーザからの入力に関する様々なテキスト文字列の意味を表すスキーマである。スキーマ２１２は、フライト表示コマンド（ＳｈｏｗＦｌｉｇｈｔ）がスロットとしてＦｌｉｇｈｔに関する意味クラスを含むことを示す。さらにスキーマ２１２は、Ｆｌｉｇｈｔに関する意味クラスが、出発時刻、到着時刻、出発都市、および到着都市に対応する４つのスロットを有することを示すように、さらに詳細に示す。
【００２３】
モデルオーサリング構成要素２０２は、スキーマ２１２から、図２Ｃに示された規則セットを生成することができる。規則１は、ＳｈｏｗＦｌｉｇｈｔ文が、コマンド部分ＳｈｏｗＦｌｉｇｈｔＣｍｄを常に有し、その後にプロパティ部分ＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓが続くことを示す。
【００２４】
規則２は、ＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分の中に、１つまたは複数のプロパティを含むことができることを示す。たとえば、規則２は、ＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分が、少なくとも１つのＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｙを含み、その後にオプションのＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分を続けることができることを示す。このＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓの再帰的定義は、その表現を簡略化し、１つまたは複数のプロパティを有することができるようにするものである。
【００２５】
規則３は、ＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｙ部分が、ＳｈｏｗＦｌｉｇｈｔＰｒｅＦｌｉｇｈｔ部分、Ｆｌｉｇｈｔ部分、およびＳｈｏｗＦｌｉｇｈｔＰｏｓｔＦｌｉｇｈｔ部分を含むことを示す。これは、スキーマ内のスロットＦｌｉｇｈｔが、プリアンブルおよびポストアンブルの両方を有することができることを示す。
【００２６】
規則４は、Ｆｌｉｇｈｔはスキーマ内のオブジェクトであり、ＳｈｏｗＦｌｉｇｈｔはコマンドであるため、スキーマ内のオブジェクトＦｌｉｇｈｔがコマンド部分を有さず、プロパティ部分（ＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ）のみを有することを示す。規則５は、ＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分が、少なくとも１つのＦｌｉｇｈｔＰｒｏｐｅｒｔｙと、その後に続くオプションのＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓとを含むように、再度再帰的に定義されることを示す。
【００２７】
規則６から９は、図２Ｂに示されたスキーマ２１２の４つのスロットに対応する。規則６は、第１のプロパティが、プリアンブル（ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙ）が前に付き、ポストアンブル（ＦｌｉｇｈｔＰｏｓｔＤｅｐａｒｔｕｒｅＣｉｔｙ）が後ろに付いた、出発都市スロットを有するように定義する。規則７は、同じ方法で到着都市を定義し、規則８および９は、同様の方法でそれぞれ出発時刻および到着時刻を定義する。
【００２８】
図２Ｃで識別されたすべての規則が、モデルオーサリング構成要素２０２によって、スキーマ２１２から自動的に生成可能であるということは事実であるが、依然として、どの特定の単語が特定の前終端記号（コマンド意味クラス用のコマンド、ならびにスロット用のプリアンブルおよびポストアンブル）に実際にマッピングされるかを示す書き換え規則（ｒｅｗｒｉｔｅ  ｒｕｌｅ）はない。たとえば、「ｐｌｅａｓｅ  ｓｈｏｗ  ｍｅ  ｔｈｅ  ｆｌｉｇｈｔｓ．．．」の句がＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングされることを示す規則がない。同様に、具体的にどの単語を、たとえばＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙプリアンブルなどにマッピングするかを示す、書き換え規則がない。したがって、開発者は、モデルオーサリング構成要素２０２がこれらの書き換え規則も学習できるように、トレーニング例テキスト文字列および注釈２０８も入力する。
【００２９】
図２Ｄは、例テキスト文字列２１３「Ｆｌｉｇｈｔ  ｆｒｏｍ  Ｓｅａｔｔｌｅ  ｔｏ  Ｂｏｓｔｏｎ」ならびに、テキスト文字列２１３に対応する意味注釈２１４の一例を示す図である。意味注釈２１４は開発者によって提供され、文字列２１３の意味論的意味を示すものである。たとえば意味注釈２１４は、入力テキスト文字列２１３が、それ自体がどちらも都市である２つのスロットを有するスロットＦｌｉｇｈｔを有するＳｈｏｗＦｌｉｇｈｔコマンドに対応することを示す。Ｆｌｉｇｈｔスロット内の２つのスロットは、スロットの名前によってのみ区別される。一方は「Ａｒｒｉｖａｌ」都市と呼ばれ、他方は「Ｄｅｐａｒｔｕｒｅ」都市と呼ばれる。意味注釈２１４は、単語「Ｂｏｓｔｏｎ」を「Ａｒｒｉｖａｌ」都市スロットにマッピングし、単語「Ｓｅａｔｔｌｅ」を「Ｄｅｐａｒｔｕｒｅ」都市スロットにもマッピングする。したがって、モデルオーサリング構成要素２０２は、注釈２１４に基づき、どのスロットが単語「Ｓｅａｔｔｌｅ」および「Ｂｏｓｔｏｎ」にマッピングされているかを知ることができる。
【００３０】
図２Ｃに示された注釈の付けられた例およびテンプレート文法規則から、モデルオーサリング構成要素２０２は、図２Ｅに示された解析ツリー２１６などの、規則ベース文法（またはＣＦＧ）解析ツリーを生成することができる。解析ツリー２１６の第１のレベル２１８（ＳｈｏｗＦｌｉｇｈｔがＳｈｏｗＦｌｉｇｈｔＣｍｄおよびそれに続くＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓで形成されることを示す部分）は、図２Ｃの規則１から形成される。
【００３１】
第２のレベル２２０（ＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓがＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｙで形成されることを示す部分）は、オプションのＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分が使用されない規則２から生成される。
【００３２】
次のレベル２２２（ＳｈｏｗＦｌｉｇｈｔＰｒｏｐｅｒｔｙが、ＳｈｏｗＦｌｉｇｈｔＰｒｅＦｌｉｇｈｔおよびそれに続くＦｌｉｇｈｔおよびそれに続くＳｈｏｗＦｌｉｇｈｔＰｏｓｔＦｌｉｇｈｔで形成されることを示す部分）は、図２Ｃの規則３から生成される。
【００３３】
次のレベル２２４（ＦｌｉｇｈｔオブジェクトがＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分で形成されることを示す）は、図２Ｃの規則４から生成される。
【００３４】
次のレベル２２６（ＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分がＦｌｉｇｈｔＰｒｏｐｅｒｔｙ部分およびそれに続くＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓ部分で形成されることを示す部分）は、図２Ｃの規則５から生成される。
【００３５】
次のレベル２２８（ＦｌｉｇｈｔＰｒｏｐｅｒｔｙ部分が、ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙおよびそれに続くＣｉｔｙスロットおよびそれに続くＦｌｉｇｈｔＰｏｓｔＤｅｐａｒｔｕｒｅＣｉｔｙポストアンブルで形成されることを示すレベル）は、規則６から生成され、次のレベル２３０（ＦｌｉｇｈｔＰｒｏｐｅｒｔｉｅｓが、ＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙプリアンブル、Ｃｉｔｙスロット、およびＦｌｉｇｈｔＰｏｓｔＡｒｒｉｖａｌＣｉｔｙポストアンブルで形成されることを示すレベル）は、規則７から生成される。
【００３６】
最後に、レベル２２８の下で単語「Ｓｅａｔｔｌｅ」がＣｉｔｙスロットにマッピングされ、レベル２３０の下で単語「Ｂｏｓｔｏｎ」がＣｉｔｙスロットにマッピングされることを示すレベルが、同様にユーザによって入力される意味注釈２１４から生成される。したがって、モデルオーサリング構成要素２０２は、入力文における単語「Ｓｅａｔｔｌｅ」および「Ｂｏｓｔｏｎ」から、ＣＦＧ解析ツリーおよび図２Ｃで生成された規則へのマッピング方法を習得することができる。都市規則は、注釈付きデータの代わりにライブラリ文法（これは次に、ドメイン特有のデータベースからデータを取得することによって構築可能である）からも取得可能であることに留意されたい。
【００３７】
ただし、入力文の中には、依然としてまだツリーにマッピングされていないいくつかの単語がある。これらの単語には、「Ｆｌｉｇｈｔ」、「ｆｒｏｍ」、および「ｔｏ」が含まれる。単語「Ｆｌｉｇｈｔ」および「ｆｒｏｍ」は「Ｓｅａｔｔｌｅ」の前に付けられるため、ＦｌｉｇｈｔＣｍｄ、ＳｈｏｗＦｌｉｇｈｔＰｒｅＦｌｉｇｈｔ、およびＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙを含む、解析ツリー２１６内の様々な前終端記号にマッピングすることができる。同様に、単語「ｔｏ」は、入力テキスト文字列２１３内の単語「Ｓｅａｔｔｌｅ」と「Ｂｏｓｔｏｎ」との間にあるため、単語「ｔｏ」を、ＦｌｉｇｈｔＰｏｓｔＤｅｐａｒｔｕｒｅＣｉｔｙまたはＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙのいずれかにマッピングすることができる。
【００３８】
単語「ｔｏ」は前置詞であることが知られているため、その後に来るものを変えなければならない。したがって、単語「ｔｏ」を、解析ツリー２１６内のＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙ前終端記号にマッピングすると決定することができる。
【００３９】
ただし、単語「Ｆｌｉｇｈｔ」および「ｆｒｏｍ」が解析ツリー２１６内のどこにあるべきかは、依然として知られていない。また、２つの単語の特定のセグメント化（ｓｅｇｍｅｎｔａｔｉｏｎ）も知られていない。たとえば、一代替形態では、単語「Ｆｌｉｇｈｔ」をＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピング可能であるが、単語「ｆｒｏｍ」はＳｈｏｗＦｌｉｇｈｔＰｒｅＦｌｉｇｈｔにマップされる。その場合、前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙは空のセットにマッピングされる。
【００４０】
他の代替形態によれば、単語「Ｆｌｉｇｈｔ」および「ｆｒｏｍ」はどちらも「ＳｈｏｗＦｌｉｇｈｔＣｍｄ」にマッピングされ、他の前終端記号ＳｈｏｗＦｌｉｇｈｔＰｒｅＦｌｉｇｈｔおよびＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙはどちらも空のセットにマッピングされる。
【００４１】
さらに他の代替形態では、「Ｆｌｉｇｈｔ」はＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングされ、「ｆｒｏｍ」はＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングされるが、残りの前終端記号ＳｈｏｗＦｌｉｇｈｔＰｒｅＦｌｉｇｈｔは空のセットにマッピングされる。
【００４２】
これは、開発者からの追加の情報がない場合にこれまで解決されなかった、セグメント化のあいまいさを表すものである。従来の一部のシステムでは、可能なセグメント化はそれぞれがユーザに表示され、ユーザはそれらセグメント化のうちの１つを選択できるだけであった。
【００４３】
ただし、その結果、いくつかの問題が生じた。第１に、このタイプのユーザとの対話は押し付けがましく、時間の無駄である。また、可能な前終端記号が他にもある場合、および、入力テキスト文字列内に位置合わせされていない単語が他にもある場合、ユーザに示されなければならない可能性の数は劇的に増える。ユーザが選択するためのこうした候補セグメント化をすべて効果的に表示することは、不可能ではないにしても、非常に困難である。さらに、ユーザが選択するためのセグメント化が適切に表示された場合であっても、ユーザはセグメント化でエラーをするか、または同様のテキスト文字列を矛盾してセグメント化することが多い。
【００４４】
一実施形態によれば、セグメント化選択のあいまい性を除去するために、期待値最大化（ｅｘｐｅｃｔａｔｉｏｎ  ｍａｘｉｍｉｚａｔｉｏｎ）（ＥＭ）アルゴリズムが、モデル構成要素２０２のセグメント化あいまい性（ｓｅｇｍｅｎｔａｔｉｏｎ  ａｍｂｉｇｕｉｔｙ）に適用される。ＥＭアルゴリズムは、通常、モデルが観測可能な隠し変数（ｈｉｄｄｅｎ  ｖａｒｉａｂｌｅ）を含む場合に、最尤推定量（ｍａｘｉｍｕｍ  ｌｉｋｅｌｉｈｏｏｄ  ｅｓｔｉｍａｔｏｒ）でモデルパラメータを推定するためのアルゴリズムである。
【００４５】
図３Ａは、モデルオーサリング構成要素２０２をより詳細に示すブロック図である。図３Ａは、モデルオーサリング構成要素２０２が例示的にテンプレート文法生成器３００、セグメント化ＥＭアプリケーション構成要素３０２、およびプルーニング（ｐｒｕｎｉｎｇ）構成要素３０４を含むことを示す。テンプレート文法生成器３００は、スキーマ２０６と、スキーマ２０６内の意味クラスによって（適切なタイプ単一化を介して）参照されるオプションの文法ライブラリ２０９の任意の規則とを受け取り、スキーマ２０６およびオプションの文法ライブラリ２０９から習得または収集することのできるすべての規則を含むテンプレート文法を生成する。その後、テンプレート文法は、トレーニング例（テキスト文字列およびそれらの注釈）と共に、ＥＭセグメント化ＥＭ構成要素によって入力として受け取られる。ＥＭセグメント化構成要素３０２は、テンプレート文法を使用して、トレーニング例中のセグメント化あいまい性を見つける。その後、ＥＭセグメント化構成要素３０２は、セグメント化あいまい性を除去する働きをする。そのあいまい性除去に基づいて、プルーニング構成要素３０４を使用する文法から書き換え規則をプルーニングし、規則ベース文法２１０を提供することができる。
【００４６】
ＥＭセグメント化構成要素３０２のオペレーションをさらに例示するために、図２Ｆおよび２Ｇに例示の表が示されている。図２Ｆは、例示セットを含む表である。その第１は、おそらく単語「ｆｒｏｍ」が、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄまたは前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙのいずれかにマッピング可能であることを示す。この例は、ＥＭセグメント化構成要素３０２が、「ｆｒｏｍ  Ｓｅａｔｔｌｅ  ｔｏ  Ｂｏｓｔｏｎ」のような例文から成果を得ることができるものである。第２の例は、単語「Ｆｌｉｇｈｔ  ｆｒｏｍ」が、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄおよびＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピング可能であることを示す。この例は、ＥＭセグメント化構成要素３０２が、「Ｆｌｉｇｈｔ  ｆｒｏｍ  Ｓｅａｔｔｌｅ  ｔｏ  Ｂｏｓｔｏｎ」のような例文から成果を得ることができるものである。第３の例は、単語「Ｆｌｉｇｈｔ  ｔｏ」が、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄおよびＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙにマッピング可能であることを示し、これも同様に、ＥＭセグメント化構成要素３０２が「Ｆｌｉｇｈｔ  ｔｏ  Ｂｏｓｔｏｎ  ｏｎ  Ｔｕｅｓｄａｙ」のような例から成果を得ることができるものである。ただし、例のセグメント化はあいまいである。言い換えれば、第１の例にある単語「ｆｒｏｍ」が、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄまたは前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングされるかどうかは、まだわからない。同様に、単語「Ｆｌｉｇｈｔ  ｆｒｏｍ」を、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄとＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙとの間にマッピングする方法もまだわからない。さらに、単語「Ｆｌｉｇｈｔ」を、可能な前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄとＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙとの間にマッピングする方法も、もちろんわからない。
【００４７】
図２Ｇは、ＥＭセグメント化構成要素３０２のオペレーションをさらに示す表である。図３Ｂは、ＥＭセグメント化構成要素３０２のオペレーションを示す流れ図であり、図２Ｆおよび２Ｇと共に説明する。
【００４８】
第１に、ＥＭセグメント化構成要素３０２はすべての可能なセグメント化を列挙する。これは、可能な書き換え規則とラベル表示された、図２Ｇの左の列に示されている。図２Ｇに示された書き換え規則では、前終端記号名を形成する単語の一部は略記されている。したがって、例を挙げると、書き換え規則ＳＦＣｍｄ→εは、ＳｈｏｗＦｌｉｇｈｔＣｍｄ（ＳＦＣｍｄと略記）前終端記号が空のセットにマッピングされる、セグメント化を示す。同様に、書き換え規則ＳＦＣｍｄ→ｆｒｏｍは、単語「ｆｒｏｍ」が前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングされる、セグメント化を示す。さらに、ＦＰＤＣｉｔｙ→εは、前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙ（ＦＰＤＣｉｔｙと略記）が空のセットにマッピングされるセグメント化を示し、ＦＰＡＣｉｔｙ→εは、前終端記号ＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙ（ＦＰＡＣｉｔｙと略記）が空のセットにマッピングされるセグメント化を示す。これらの例から、図２Ｇに示された表の書き換え規則部分の他の注記については改めて説明するまでもない。図２Ｆに示された例について、それぞれの可能なセグメント化が列挙されていると言えば十分であろう。
【００４９】
図２Ｆの第１の例から、１つのセグメント化は、単語「ｆｒｏｍ」がＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングされることを示し、他のセグメント化は、単語「ｆｒｏｍ」がＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングされることを示す。
【００５０】
図２Ｆの第２の例は、いくつかの異なるセグメント化の代替例もサポートしている。たとえば、１つのセグメント化代替例によれば、単語「Ｆｌｉｇｈｔ  ｆｒｏｍ」は、どちらも前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングされ、前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙはεにマッピングされる。他のセグメント化代替例では、単語「Ｆｌｉｇｈｔ  ｆｒｏｍ」は、どちらも前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングされ、前終端記号「ＳｈｏｗＦｌｉｇｈｔＣｍｄ」はεにマッピングされる。さらに他の代替例では、単語「Ｆｌｉｇｈｔ」と「ｆｒｏｍ」とは分けられ、その結果、「Ｆｌｉｇｈｔ」が前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングされ、単語「ｆｒｏｍ」は前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングされる。これらのセグメント化は、それぞれ、図２Ｇに列挙された書き換え規則にも示されている。
【００５１】
第３の例は、第２の例と同様の方法でセグメント化することが可能であって、単語「Ｆｌｉｇｈｔ  ｔｏ」が前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄまたは前終端記号ＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙのいずれかにマッピング可能であり、他方の前終端記号はεにマッピングされるか、あるいは、単語「Ｆｌｉｇｈｔ  ｔｏ」を前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄとＦｌｉｇｈｔＰｒｅＡｒｒｉｖａｌＣｉｔｙとに分けることが可能である。また、これらのセグメント化も、図２Ｇに示された書き換え規則で表される。
【００５２】
すべての可能なセグメント化の列挙は、図３Ｂの流れ図のブロック３０６で示される。
【００５３】
セグメント化をサポートする書き換え規則がいったん列挙されると、それらにはそれぞれ確率が割り当てられる。始めは、図２Ｇに示されたすべてのセグメント化に同じ確率が割り当てられる。これは、図３Ｂのブロック３０８で示される。
【００５４】
次に、ＥＭセグメント化構成要素３０２は、図２Ｆに示された例の新しい予測カウントの可能なオカレンスに基づいて、列挙された書き換え規則に新しい予測カウントを割り当てる。これはブロック３１０で示される。たとえば、第１の例では、２つの可能なセグメント化があり、一方は単語「ｆｒｏｍ」をＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングし、前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙをεにマッピングするものであり、他方はＳｈｏｗＦｌｉｇｈｔＣｍｄをεにマッピングし、単語「ｆｒｏｍ」を前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングするものである。最初の書き換え規則は、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄをε（空のセット）にマッピングすることを述べたものである。したがって、第１の例のセグメント化の半分は、図２Ｇの表に示された第１の書き換え規則をサポートしている。この第１の例から、第１の書き換え規則（ＳｈｏｗＦｌｉｇｈｔＣｍｄ→ε）に、２分の１のカウントが割り当てられる。
【００５５】
上述のように、第２の例は、３つの異なるセグメント化をサポートしており、そのうちの１つは「Ｆｌｉｇｈｔ  ｆｒｏｍ」の両方の単語を前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄに、前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙをεに割り当てるものであり、もう１つは単語「Ｆｌｉｇｈｔ」を前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄに、単語「ｆｒｏｍ」を前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングするものであり、最後は、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄをεに、「Ｆｌｉｇｈｔ  ｆｒｏｍ」の両方の単語を前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングするものである。これら３つのセグメント化のうち、１つは、第１の書き換え規則（ＳＦＣｍｄ→ε）をサポートしている。したがって、第２の例から、第１の書き換え規則には３分の１のカウントが割り当てられる。
【００５６】
同様に、第３の例は、３つの可能なセグメント化を有し、そのうちの１つは前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄをεにマッピングする。したがって、第３の例から、図２Ｇに示された第１の書き換え規則には、再度、３分の１のカウントが割り当てられる。
【００５７】
この種の分析を使用すると、第２の書き換え規則（ＳＦＣｍｄ→ｆｒｏｍ）は第１の例によってのみサポートされている。したがって、第１の例には２つの可能なセグメント化があり、そのうちの１つは第２の書き換え規則をサポートしているため、第２の書き換え規則（ＳＦＣｍｄ→ｆｒｏｍ）には２分の１のカウントが割り当てられる。
【００５８】
第３の書き換え規則（ＳＦＣｍｄ→Ｆｌｉｇｈｔ）は、図２Ｆに示された第２および第３の例のそれぞれからのセグメント化のうちの１つによってサポートされる。したがって、それらの例はそれぞれ３つの可能なセグメント化を有するため、第３の書き換え規則（ＳＦＣｍｄ→Ｆｌｉｇｈｔ）には、各例から３分の１のカウントが割り当てられる。
【００５９】
ＥＭセグメント化構成要素３０２は、このように、図２Ｇに列挙されたそれぞれの書き換え規則にカウントを割り当て、それらのカウントが図２Ｇに示された表の第２列に示されている。カウントはすべて、共通の分母を有するように変換され、各前終端記号について確率が得られるように正規化される。言い換えれば、ＳｈｏｗＦｌｉｇｈｔＣｍｄ終端記号の全確率量は、合計すると１でなければならない。したがって、各書き換え規則に関連付けられた確率を得るために、その書き換え規則のカウントに正規化係数を掛ける。
【００６０】
たとえば、前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄのカウント合計は３であることがわかる。したがって、第１の書き換え規則（ＳＦＣｍｄ→ε）の確率は７／１８である。同様に、第２の書き換え規則（ＳＦＣｍｄ→ｆｒｏｍ）の確率は３／１８、というようになる。ＥＭセグメント化構成要素３０２は、この確率を得るために、各書き換え規則および各前終端記号のカウントを処理する。
【００６１】
前終端記号ＦＰＤＣｉｔｙの場合、異なるすべての規則にわたるカウントの合計は２であるため、正規化係数は１／２である。最後の前終端記号ＦＰＡＣｉｔｙの場合、カウントは１である（３＊１／３＝１）ため、正規化係数は１である。したがって、ＥＭセグメント化構成要素３０２は、例によってサポートされている書き換え規則のオカレンスをより正確に反映するように、各書き換え規則に関連付けられた確率を１にリセットする。新しい確率を得るためにカウントを正規化することは、図３Ｂのブロック３１２で示される。
【００６２】
ＥＭセグメント化構成要素３０２は、カウントおよび確率が収束するまで、このプロセス（カウントを再度推定し、新しい確率を取得すること）を反復する。これはブロック３１４で示される。たとえば、第１の書き換え規則について新しいカウント
【００６３】
【数１】
2004326750.tif 000003
【００６４】
を取得するために、ＥＭセグメント化構成要素３０２は、第１に、非終端記号シーケンスがＳｈｏｗＦｌｉｇｈｔＣｍｄおよびＦＰＤＣｉｔｙであると想定し、単語「ｆｒｏｍ」を観察する合計尤度を求める数式１を以下のように実施する。
数式１  P(from|ShowFlightCmd  FPDCity)
=P(ε|ShowFlightCmd)*P(from|FPDCity)
+P(from|ShowFlightCmd)*P(ε|FPDCity)
=[(7/18)×(5/12)]+[(3/18)×(5/12)]=50/216
この数量から、空の文字列をＳｈｏｗＦｌｉｇｈｔＣｍｄと位置合わせし、「ｆｒｏｍ」をＦＰＤＣｉｔｙと位置合わせするセグメント化の比率は、以下のような新しく予測されるカウント
【００６５】
【数２】
2004326750.tif 000004
【００６６】
になる。
【００６７】
【数３】
2004326750.tif 000005
【００６８】
同様に、第２の書き換え規則（ＳＦＣｍｄ→ｆｒｏｍ）の新しいカウント
【００６９】
【数４】
2004326750.tif 000006
【００７０】
は、以下のように計算される。
【００７１】
【数５】
2004326750.tif 000007
【００７２】
このプロセスは、各例からカウント
【００７３】
【数６】
2004326750.tif 000008
【００７４】
を収集するために、それぞれの書き換え規則について続行される。その後、新しいカウントに正規化係数を掛け合わせ、新しい確率を取得する。図３Ｂに示されるように、構成要素３０２は、確率が収束するまでこのプロセスを反復し、新しいカウントおよび新しい確率を再度推定する。
【００７５】
反復が完了すると、構成要素３０２は、列挙されたそれぞれの書き換え規則に関連付けられた、新しいカウントおよび新しい確率を計算することになる。これは、本質的かつ自然に、非常に役立つものであるが、それぞれのセグメント化に対する確率を、トレーニング中に取得した異なるセグメント化に対応する規則に割り当てているので、望ましい最終結果ではない場合がある。たとえば、解析プログラムによっては、確率を利用できないものがある。また、解析を行う構成要素によっては、規則の数が多すぎて、解析プログラムの効率が悪くなる場合がある。
【００７６】
したがって、本発明の一実施形態によれば、構成要素３０２が、規則および関連する確率をプルーニング構成要素３０４に提供し、ここで規則をプルーニングすることができる。これは、図３Ｂのブロック３１６および３１８で示される。プルーニング構成要素３０４は、（ブロック３２０で示されるように）いくつかの異なる方法のうちの１つで、規則をプルーニングすることができる。たとえば、プルーニング構成要素３０４は、単に、所望のしきい値レベルより低い確率を有する規則だけをプルーニングすることができる。その後、構成要素３０４は、残りの規則を規則ベース文法２１０に導入する。
【００７７】
他の実施形態によれば、プルーニング構成要素３０４は、各例に対応する尤度の高い所定数のセグメント化を除いてすべて消去し、残りのセグメント化に従って、文法に書き換え規則を導入するだけである。たとえば、構成要素３０４は、最も高い確率を有する１つを除き、各例に対応するすべてのセグメント化を消去することができる。したがって、例１の場合、単語「ｆｒｏｍ」を前終端記号ＦｌｉｇｈｔＰｒｅＤｅｐａｒｔｕｒｅＣｉｔｙにマッピングしたセグメント化が、単語「ｆｒｏｍ」を前終端記号ＳｈｏｗＦｌｉｇｈｔＣｍｄに割り当てたセグメント化よりも高い確率を有すると想定する。その場合、第２のセグメント化（「ｆｒｏｍ」をＳｈｏｗＦｌｉｇｈｔＣｍｄにマッピングしたもの）が消去される。このケースでは、選択されたセグメント化をサポートする２つの書き換え規則が文法に追加される。したがって、書き換え規則「ＳＦＣｍｄ→ε」および書き換え規則「ＦＰＤＣｉｔｙ→ｆｒｏｍ」の両方が、文法に追加される。
【００７８】
同様に、任意の例の最善のセグメント化がもはやサポートしなくなった規則を、図２Ｇに示された列挙規則から除去することができる。したがって、規則「ＳＦＣｍｄ→ｆｒｏｍ」は、消去された例１のセグメント化によってのみサポートされていたので、除去することができる。
【００７９】
ここで、この方法でのＥＭアルゴリズムの適用について、より正式な数学用語を使用して説明する。セグメント化あいまい性解決法は、各ブロックがシーケンスＮ＝ＮＴ１、ＮＴ２、．．．、ＮＴｍの前終端記号と位置合わせするように、単語シーケンスｗ＝ｗ１、ｗ２、．．．、ｗｎに関するｍブロック区画π＝α１、α２、．．．、αｍを見つける問題として、形式化することができる。ブロックは、ｗからの０またはそれ以上の単語を含むことができる。
【００８０】
π、Ｎ、およびｗの接合確率をモデル化すると、以下のようになる。
【００８１】
【数７】
2004326750.tif 000009
【００８２】
次に、Ｎおよびｗが与えられると、以下のように最尤セグメント化を得ることができる。
【００８３】
【数８】
2004326750.tif 000010
【００８４】
こうした区画は、ヴィテルビ検索で見つけることができる。したがって、残る唯一の問題は、あらゆる前終端記号（または概念）ＮＴおよび単語シーケンスαに関するモデルパラメータＰ（ＮＴ→α）を推定することである。これは、トレーニングデータが、各前終端記号に対する単語シーケンスとペアになった前終端記号のリストである場合、最尤（ＭＬ）推定で実行することができる。ただし、オーサリングツールを介してユーザから取得されるトレーニング例は、例示的には、前終端記号シーケンスと終端記号シーケンスのペアである。区画またはセグメント化は陰の変数であり、ツールにはわからない。
【００８５】
ＥＭアルゴリズムは、まず、モデルのパラメータＰφを設定し、その後、反復的にパラメータをＰφ'に修正し、その結果、観測の尤度Ｄが増加する。
【００８６】
こうしたＰφ'見つけるために、数式６に補助関数Ｑを定義する。
【００８７】
【数９】
2004326750.tif 000011
【００８８】
これは、Ｌ（Ｄ｜Ｐφ'）−Ｌ（Ｄ｜Ｐφ）の下限、すなわち、２つのモデルパラメータ化の間のトレーニングデータの対数尤度差である。ＥＭアルゴリズムは、前終端記号に関するすべての可能な書き換え規則の確率の合計が１でなければならないという制約を条件として、新しいパラメータ化によるトレーニングサンプル尤度の増加を最大にするために、Ｑを最大化することによって、パラメータＰφ'を貪欲に（ｇｒｅｅｄｉｌｙ）リセットする。したがって、各規則ＮＴ→αについて、以下の数式を解くことによってその新しい確率が取得できる。
【００８９】
【数１０】
2004326750.tif 000012
【００９０】
【数１１】
2004326750.tif 000013
【００９１】
であるので、
【００９２】
【数１２】
2004326750.tif 000014
【００９３】
したがって、確率は、以下のように、予測カウント掛ける正規化係数−１／λにリセットされるはずである。
【００９４】
【数１３】
2004326750.tif 000015
【００９５】
予測カウントを計算するには、以下のことに留意されたい。
【００９６】
【数１４】
2004326750.tif 000016
【００９７】
したがって、以下のようになる。
【００９８】
【数１５】
2004326750.tif 000017
【００９９】
【数１６】
2004326750.tif 000018
【０１００】
を、前終端記号シーケンスＮを単語シーケンスｗに書き換えるプロセスにおいて、サブシーケンスα＝ｗｉ、．．．、ｗｊを生成するために、Ｎ中のｋ番目の前終端記号に対して規則ＮＴ→αが使用されるイベントとし、
【０１０１】
【数１７】
2004326750.tif 000019
【０１０２】
を、シーケンスＮ中の位置ｓからｔまでの前終端記号が、終端記号の単語ｗｐ、．．．、ｗｑ＝１をカバーする確率とする。すると、以下のようになる。
【０１０３】
【数１８】
2004326750.tif 000020
【０１０４】
したがって、
【０１０５】
【数１９】
2004326750.tif 000021
【０１０６】
を計算できる場合、数式９、１１、および１３を組み合わせて、予測されるカウントを取得し、モデルパラメータをリセットすることができる。実際、
【０１０７】
【数２０】
2004326750.tif 000022
【０１０８】
は、数式１４に従って動的プログラミングで計算することが可能であり、この式で、εはｎｕｌｌ文字列である。
【０１０９】
【数２１】
2004326750.tif 000023
【０１１０】
数式１１で、
【０１１１】
【数２２】
2004326750.tif 000024
【０１１２】
が使用できることに留意されたい。
【０１１３】
したがって、本発明の一態様は、セグメント化のあいまい性を除去するためにＥＭアルゴリズムを適用する。これにより文法のオーサリングプロセスが完全に自動化され、その結果、開発者が介入する必要が少なくなる。さらに、一貫したあいまい性除去も実行し、たとえテンプレート文法生成の後に割当て解除される多数の前終端記号および単語がある場合であっても、自動的にあいまい性除去を実行することができる。
【０１１４】
以上、特定の実施形態を参照しながら本発明について説明してきたが、当業者であれば、本発明の精神および範囲を逸脱することなく、形態および詳細における変更が可能であることを理解されよう。
【図面の簡単な説明】
【０１１５】
【図１】本発明を使用可能な環境の一例を示すブロック図である。
【図２Ａ】本発明の一実施形態に従ったモデルオーサリング構成要素の一実施形態を示すブロック図である。
【図２Ｂ】スキーマの例を示す図である。
【図２Ｃ】スキーマの例について生成された規則セットの例を示す図である。
【図２Ｄ】注釈付きセンテンスの例を示す図である。
【図２Ｅ】解析ツリーの例を示す図である。
【図２Ｆ】例の単語に関する可能な前終端記号を示す表図である。
【図２Ｇ】関連するカウントおよび確率を使用した書き換え規則を示す表図である。
【図３Ａ】文法オーサリング構成要素をより詳細に示すブロック図である。
【図３Ｂ】図３Ａに示された文法オーサリング構成要素のオペレーションを示す流れ図である。
【符号の説明】
【０１１６】
２００  モデルオーサリングシステム
２０２  モデルオーサリング構成要素
２０４  ユーザインターフェース
２０６  スキーマ
２０８  トレーニング例テキスト文字列
２０９  文法ライブラリ
２１０  規則ベース文法
【図１】
2004326750.tif 000025
【図２Ａ】
2004326750.tif 000026
【図２Ｂ】
2004326750.tif 000027
【図２Ｃ】
2004326750.tif 000028
【図２Ｄ】
2004326750.tif 000029
【図２Ｅ】
2004326750.tif 000030
【図２Ｆ】
2004326750.tif 000031
【図２Ｇ】
2004326750.tif 000032
【図３Ａ】
2004326750.tif 000033
【図３Ｂ】
2004326750.tif 000034
【外国語明細書】
2004326750000001.pdf