(57)【要約】【課題】トレーニングするためのトレーニングデータへの注釈付けを支援するように目下トレーニングされる自然言語理解システムを提供する。【解決手段】注釈付けされていないトレーニングデータがシステムに提供され、システムはトレーニングデータに注釈を提案する。提案された注釈を確認または修正する機会がユーザに与えられ、システムは修正済みまたは検証済みの注釈を使ってトレーニングされる。【選択図】　　　　図２
2004005648.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のモデルを有する自然言語理解（ＮＬＵ）システムをトレーニングするために、注釈付けされたトレーニングデータを生成するための方法であって、
注釈付けされていないトレーニングデータのそれぞれの単位に対して前記ＮＬＵシステムを使用して提案された注釈を生成するステップと、
ユーザが確認した注釈を取得するために、ユーザの検証または修正のために前記提案された注釈を表示するステップと、
前記ユーザが確認した注釈を使用して前記ＮＬＵシステムをトレーニングするステップとを備えることを特徴とする方法。
【請求項２】
前記ＮＬＵシステムで１つまたは複数のモデルを初期設定するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
ユーザの検証または修正のために前記提案された注釈を表示するステップは、
前記提案された注釈のうちユーザが識別した部分を示すユーザ入力を受け取るステップと、
前記ユーザが識別した部分に関する複数の代替の提案された注釈を表示するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記１つまたは複数のモデルはモデルの制約を課すものであり、複数の提案された注釈を表示するステップは、
前記代替の提案された注釈が前記モデルの制約に合致する前記単位に対する全体の注釈につながる場合にのみ、ユーザが識別した部分の代替の提案された注釈を表示するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記提案された注釈は親ノードおよび子ノードを含み、複数の代替の提案された注釈を表示するステップは、起動されると子ノードを削除するユーザが起動可能なノード削除入力を表示するステップを含むことを特徴とする請求項４に記載の方法。
【請求項６】
複数の代替の提案された注釈を表示するステップは、
前記提案された注釈によってカバーされていない前記単位の部分を表示するステップと、
前記カバーされていない部分に関する代替の提案された注釈を表示するステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記ユーザは前記カバーされていない部分のセグメントを選択することが可能であり、代替の提案された注釈を表示するステップは、
前記選択されたセグメントに関する代替の提案された注釈を表示するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記選択されたセグメントに関する代替の提案された注釈を表示するステップは、
前記モデルの制約に合致する場合にのみ、提案された注釈を表示するステップを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記１つまたは複数のモデルのうち複数の様々な部分をトレーニングする際に使用されるトレーニングデータの量のインジケーションを表示するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
トレーニングデータの量のインジケーションを表示するステップは、
前記１つまたは複数のモデルを表示するステップと、
しきい値量のトレーニングデータを使用してトレーニングされた前記１つまたは複数のモデルの部分を、視覚的に対比させるステップを含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記１つまたは複数のモデルに関する１つまたは複数の性能基準に基づいて、前記しきい値量のトレーニングデータが動的であることを特徴とする請求項１０に記載の方法。
【請求項１２】
検証または修正のために前記提案された注釈を表示するステップは、
前記提案された注釈に関する信頼測定基準を生成するステップと、
前記信頼測定基準に基づいて、前記表示された提案された注釈の部分を視覚的に対比させるステップとを含むことを特徴とする請求項１に記載の方法。
【請求項１３】
視覚的に対比させるステップは、
しきい値レベルを下回る関連付けられた信頼測定基準を有する前記表示された注釈の前記部分を視覚的に対比させるステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
提案された注釈を生成する前に、限定的なユーザインジケーションを受け取るステップと、
前記限定的なユーザインジケーションに基づいて、前記提案された注釈を生成するために使用される自然言語理解処理を制限するステップとをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１５】
自然言語理解処理を制限するステップは、
前記自然言語理解処理を、前記１つまたは複数のモデルのうちユーザが識別した部分のみを使用することに制限するステップを含むことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ユーザが確認した注釈と前の注釈との間の不整合性を識別するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１７】
不整合性が識別された場合、前記ユーザが確認した注釈の不整合性を視覚的に対比させる、前記ユーザが確認した注釈を表示するステップをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
前記提案された注釈を表示するステップは、
それぞれの提案された注釈に関して信頼測定基準を生成するステップと、
前記信頼測定基準に基づいた順序で前記提案された注釈を表示するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項１９】
前記提案された注釈を表示するステップは、
注釈のタイプに基づいて前記提案された注釈をソートするステップを含むことを特徴とする請求項１に記載の方法。
【請求項２０】
前記提案された注釈を表示するステップは、
互いに近接する同じタイプの注釈を表示するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記提案された注釈を表示するステップは、
起動されると、ユーザが同じタイプの注釈を順番に修正または検証できるようになる、前記ユーザが起動可能な入力を提供するステップを含むことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記ＮＬＵシステムを使用して提案された注釈を生成するステップは、
複数の異なるＮＬＵサブシステムを使用して、それぞれの単位に関する複数の提案された注釈を生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項２３】
提案された注釈を生成するステップは、
表示されるそれぞれの単位に関して、前記提案された注釈のうちの１つを選択するステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
１つまたは複数のモデルを有する自然言語理解（ＮＬＵ）システムをトレーニングするためのユーザインターフェースであって、前記ユーザインターフェースは、
前記１つまたは複数のモデルを表すモデル表示を表示する第１の部分と、
注釈付けされていないトレーニング入力を表示する第２の部分と、
前記注釈付けされていないトレーニング入力のうちの選択された１つに関して提案された注釈を表示する第３の部分とを備えることを特徴とするユーザインターフェース。
【請求項２５】
前記表示された提案された注釈の一部を識別するユーザ入力に応答して、前記識別された部分に関する代替の提案された注釈を表示する第４の部分をさらに備えることを特徴とする請求項２４に記載のユーザインターフェース。
【請求項２６】
少なくとも１つのモデルを有する自然言語理解（ＮＬＵ）システムをトレーニングするために、注釈付けされたトレーニングデータを生成する方法であって、
注釈付けされていないトレーニングデータの単位に関して提案された注釈を生成するステップと、
前記提案された注釈の複数の異なる部分に関して信頼測度を算出するステップと、
しきい値レベルを下回る対応する信頼測度を有する部分を視覚的に対比させることによって、前記提案された注釈を表示するステップとを備えることを特徴とする方法。
【請求項２７】
自然言語理解（ＮＬＵ）システムをトレーニングするために注釈付けされたトレーニングデータを生成する方法であって、
前記ＮＬＵシステムを使用して、注釈付けされていないトレーニングデータの複数の単位のそれぞれについて、それぞれがタイプを有する提案された注釈を生成するステップと、
ユーザが確認した注釈を取得するために、前記提案された注釈のユーザ修正または検証のためのユーザが起動可能な入力を使用して、前記タイプに基づいた順序で前記提案された注釈を表示するステップとを備えることを特徴とする方法。
【請求項２８】
複数の異なる自然言語理解技法を使用する自然言語理解（ＮＬＵ）システムをトレーニングするために、注釈付けされたトレーニングデータを生成する方法であって、
複数の提案された注釈を取得するために、それぞれの自然言語トレーニング技法を使用して、注釈付けされていないトレーニングデータの単位に関して提案された注釈を生成するステップと、
前記複数の提案された注釈のうちの１つを選択するステップと、
ユーザが確認した注釈を取得するために、前記提案された注釈のユーザ修正または検証のためのユーザが起動可能な入力を使用して、前記選択された提案された注釈を表示するステップとを備えることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自然言語理解に関する。さらに詳細には、本発明は自然言語理解システムをトレーンニングするためのトレーニングデータの注釈付け（ａｎｎｏｔａｔｉｎｇ）に関する。
【０００２】
【従来の技術】
自然言語理解とは、コンピュータユーザが（テキスト入力または音声入力を介して、あるいは何らかの他のコンピュータとの対話を介して）コンピュータに自然言語で入力できるようにするプロセスである。コンピュータはこの入力を処理して、ユーザが表した意思の理解を生成する。
【０００３】
従来の自然言語理解システムをトレーニングするためには、注釈付けされたトレーニングデータが大量に必要である。適切なトレーニングデータがなければシステムは適切にトレーニングされず、性能が低下する。
【０００４】
ただし、注釈付けされたトレーニングデータを生成するために、従来のシステムは手作業の注釈付けを信頼する。これには、大きな欠点が多数ある。手作業の注釈付けは費用がかかり、時間を消費し、単調であり、誤りを起こしやすい。さらに、注釈の修正が困難な場合さえある。注釈がほぼ正しい場合、誤りを見つけるのは非常に困難である。
【０００５】
【発明が解決しようとする課題】
本発明の一目的は、この自然言語理解システムをトレーニングするためのトレーニングデータへの注釈付けを支援するように目下トレーニングされる自然言語理解システムを提供することである。
【０００６】
【課題を解決するための手段】
システムは、任意選択で、いくつかの初期注釈付け済みトレーニングデータを使用して、初期にトレーニングされる。さらに、注釈付けされていないトレーニングデータがシステムに提供され、システムはトレーニングデータに注釈を提案する。提案された注釈を確認するかまたは修正する機会がユーザに与えられ、システムは修正済みまたは検証済みの注釈を使ってトレーニングされる。
【０００７】
一実施形態では、ユーザがシステムと対話する場合、提案された注釈の正当な選択肢だけが、ユーザの選択肢として表示される。
【０００８】
他の実施形態では、自然言語理解システムが、提案された注釈に関連付けられた信頼測定基準（ｃｏｎｆｉｄｅｎｃｅ　ｍｅｔｒｉｃ）を算出する。システムはこの信頼測定基準を使用して、提案済み注釈の中で最も信頼度の低いデータにマーク付けすることができる。これにより、システムの信頼度が最も低いデータにユーザの注意が向けられる。
【０００９】
他の実施形態では、システムが注釈を提案する速度および精度を上げるために、ユーザは、自然言語理解システムによって提案される注釈のタイプを、可能な所定のサブセットに限定することができる。たとえばユーザは、システムが使用する解釈の言語カテゴリまたはタイプを選択することができる。そのようにしてシステムが提案できる注釈を限定することで、システムの速度および精度が上がる。
【００１０】
他の実施形態では、自然言語理解システムが注釈セットを受け取る。次にシステムは、システムがすでに注釈と矛盾してトレーニングされているかどうかを判定するために、注釈を検査する。これを使用して、たとえ様々な注釈者（ａｎｎｏｔａｔｏｒ）（人間または機械）が使用する様々な注釈スタイルであっても、任意のタイプの矛盾を検出することができる。システムはこれにフラグを立て、データに注釈を付ける際のユーザの誤りまたは注釈の矛盾を減らすようにすることができる。
【００１１】
他の実施形態では、システムは、提案された注釈を昇順（または降順）の信頼測定基準に基づいてランク付けする。これにより、システムは信頼度が最も低いトレーニングデータをユーザに対して識別し、ユーザはそのデータの処理を優先する。
【００１２】
システムは、提案された注釈を事前に指定された任意のタイプ別にソートすることもできる。これによりユーザは、所与のタイプの提案されたすべての注釈を一度に処理（たとえば修正または検証）することができる。これによってより迅速な注釈付けが可能になり、より一貫性のある、より正確な注釈付け作業が促進される。
【００１３】
本システムは、提案された注釈を生成するために、様々な異なる技法を使用することもできる。こうした技法は平行して使用することが可能であり、選択アルゴリズムを使用して、ユーザに表示する提案された注釈を使用される様々な技法のすべての結果に基づいて選択することができる。技法によって強度は様々であり、技法を組み合わせることで、どんな個々の言語理解方法よりも良い結果が生じる可能性が多い。
【００１４】
同様に本発明は、適切なトレーニングデータが受け取られなかった使用される自然言語理解モデルの様々な部分をユーザに表示することができる。これによりユーザは、適切にモデルをトレーニングするのに依然として必要な様々なタイプのデータを識別することができる。
【００１５】
【発明の実施の形態】
本発明は、自然言語理解システムをトレーニングするための注釈付けされたトレーニングデータの生成に対処するものである。ただし、本発明について詳細に論じる前に、本発明が使用可能な環境の一実施形態について論じる。
【００１６】
図１は、本発明が実施できる好適なコンピューティングシステム環境１００の一例を示す図である。コンピューティングシステム環境１００は好適なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲を限定することを意図するものではない。さらに、例示的オペレーティング環境１００に示された構成要素のいずれか１つまたは組合せに関して、コンピューティング環境１００はどんな依存状態または要件ももたないと解釈されるものとする。
【００１７】
本発明は、多数の他の汎用または特殊用途向けコンピューティングシステム環境または構成でも動作可能である。本発明での使用に好適なよく知られたコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラム可能大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、任意の上記システムまたはデバイスを含む分散型コンピューティング環境などが含まれるが、これらに限定されるものではない。
【００１８】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の通常のコンテキストで記載することができる。一般に、プログラムモジュールには、特定のタスクを実行するかまたは特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などが含まれる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散型コンピューティング環境で実施することもできる。分散型コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルおよびリモートのどちらのコンピュータ記憶媒体にも配置することができる。
【００１９】
図１を参照すると、本発明を実施するための例示的システムには、コンピュータ１１０の形で汎用コンピューティングデバイスが含まれる。コンピュータ１１０の構成要素は、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合させるシステムバス１２１を含むことができるが、これらに限定されるものではない。システムバス１２１は、メモリバスまたはメモリ制御装置、周辺バス、および様々なバスアーキテクチャのうちいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造のいずれかであってよい。例を挙げると、こうしたアーキテクチャにはＩｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、Ｍｉｃｒｏ　Ｃｈａｎｎｅｌ　Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｅｎｈａｎｃｅｄ　ＩＳＡ（ＥＩＳＡ）バス、Ｖｉｄｅｏ　Ｅｌｅｃｔｒｏｎｉｃｓ　Ｓｔａｎｄａｒｄｓ　Ａｓｓｏｃｉａｔｉｏｎ（ＶＥＳＡ）ローカルバス、およびＭｅｚｚａｎｉｎｅバスとしても知られるＰｅｒｉｐｈｅｒａｌＣｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バスが含まれるが、これらに限定されるものではない。
【００２０】
コンピュータ１１０は、典型的には様々なコンピュータ読取り可能媒体を含む。コンピュータ読取り可能媒体は、コンピュータ１１０がアクセス可能な任意の使用可能媒体であってよく、揮発性媒体および不揮発性媒体、取外し可能媒体および取外し不能媒体のどちらも含まれる。例を挙げると、コンピュータ読取り可能媒体にはコンピュータ記憶媒体および通信媒体が含まれるが、これらに限定されるものではない。コンピュータ記憶媒体には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される、揮発性媒体および不揮発性媒体、取外し可能媒体および取外し不能媒体のどちらも含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望の情報を格納するのに使用可能でありコンピュータ１００がアクセス可能な任意の他の媒体が含まれるが、これらに限定されるものではない。通信媒体は典型的には、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波ＷＡＶまたは他の移送メカニズムなどの変調データ信号で具体化するものであり、任意の情報送達媒体が含まれる。「変調データ信号」とは、その特徴セットのうち１つまたは複数を有するか、信号中の情報を符号化するように変更された信号を意味する用語である。例を挙げると、通信媒体には有線ネットワークまたは直接有線接続などの有線媒体、ならびに音波、ＦＲ、赤外線、および他の無線媒体などの無線媒体が含まれるが、これらに限定されるものではない。上記いずれかの組合せも、コンピュータ読取り媒体の範囲に含まれるものとする。
【００２１】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの、揮発性メモリおよび／または不揮発性メモリ形式のコンピュータ記憶媒体を含む。典型的には、起動時などのコンピュータ１１０内の要素間での情報転送を支援する基本ルーチンを含む基本入出力システム１３３（ＢＩＯＳ）が、ＲＯＭ　１３１に格納される。ＲＡＭ　１３２は、典型的には処理ユニット１２０に即時アクセス可能であり、かつ／または現在処理ユニット１２０上で動作中である、データおよび／またはプログラムモジュールを含む。例を挙げると、図１にはオペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７が示されているが、これらに限定されるものではない。
【００２２】
コンピュータ１１０は、他の取外し可能／取外し不能の揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。図１には、取外し不能な不揮発性磁気媒体との間で読取りまたは書込みを行うハードディスクドライブ１４１、取外し可能な不揮発性磁気ディスク１５２との間で読取りまたは書込みを行う磁気ディスクドライブ１５１、および、ＣＤ　ＲＯＭまたは他の光媒体などの取外し可能な不揮発性光ディスク１５６との間で読取りまたは書込みを行う光ディスクドライブ１５５が含まれているが、単なる例示に過ぎない。例示的オペレーティング環境で使用可能な他の取外し可能／取外し不能、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどが含まれるが、これらに限定されるものではない。ハードディスクドライブ１４１は、典型的にはインターフェース１４０などの取外し不能メモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、典型的にはインターフェース１５０などの取外し可能メモリインターフェースによってシステムバス１２１に接続される。
【００２３】
上記で論じ図１に例示したドライブおよびそれらに関連付けられたコンピュータ記憶媒体は、コンピュータ読取り可能命令、データ構造、プログラムモジュール、およびコンピュータ１１０に関する他のデータの記憶域を提供する。たとえば図１では、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納しているものとして図示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであっても異なっても良いことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、少なくともこれらが異なるコピーであることを示すために、ここでは異なる番号が与えられている。
【００２４】
ユーザは、キーボード１６２、マイクロフォン１６３、および、マウス、トラックボール、またはタッチパッドなどのポインティングデバイス１６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）は、ジョイスティック、ゲームパッド、衛星放送用パラボラアンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバスに結合されたユーザ入力インターフェース１６０を介して、処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造によって接続されることもある。モニタ１９１または他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。コンピュータは、モニタに加えて、スピーカ１９７およびプリンタ１９６などの他の周辺出力デバイスを含むことも可能であり、これらは出力周辺インターフェース１９０を介して接続することができる。
【００２５】
コンピュータ１１０は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用する、ネットワーク化された環境で動作可能である。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードであってよく、典型的には、コンピュータ１１０に関して上記で述べた要素の多くまたはすべてを含む。図１に示された論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークも含むことができる。こうしたネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【００２６】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０はネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ　１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は典型的には、モデム１７２またはインターネットなどのＷＡＮ　１７３を介した通信を確立するための他の手段を含む。モデム１７２は内蔵でも外付けでもよく、ユーザ入力インターフェース１６０または他の適切なメカニズムを介して、システムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関して述べたプログラムモジュールあるいはその一部をリモートのメモリ記憶デバイスに格納することができる。例を挙げると、図１には、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０上に常駐しているように示されているが、これに限定されるものではない。図示されたネットワーク接続は例示的なものであって、コンピュータ間に通信リンクを確立する他の手段も使用可能であることを理解されよう。
【００２７】
本発明は、図１に関して記載したようなコンピュータシステム上で実行可能であることに留意されたい。ただし本発明は、サーバ、メッセージ処理専用のコンピュータ、または本発明の様々な部分が分散型コンピューティングシステムの様々な部分で実行される、分散型システムで実行可能である。
【００２８】
図２は、本発明の一実施形態による自然言語理解（ＮＬＵ）システムをトレーニングするためのシステム３００を示す構成図である。システム３００は、トレーニングされる自然言語理解システム３０２を含む。さらにシステム３００は、学習構成要素３０４およびユーザ修正または検証インターフェース３０６も含む。図３は、図２に示されたシステム３００のオペレーション全体を示す流れ図である。
【００２９】
ＮＬＵシステム３０２は、例示的には、自然言語入力を受け取り、自然言語入力の意味に関するインジケーションを取得および出力するために任意の知られた自然言語処理技法に従ってこれを処理する、自然言語理解システムである。ＮＬＵシステム３０２には、例示的には、注釈付けされたトレーニングデータでトレーニングしなければならないモデルも含まれる。
【００３０】
本発明の一実施形態によれば、学習構成要素３０４は、注釈付けされたトレーニングデータを任意選択で受け取り、自然言語理解（ＮＬＵ）システム３０２で使用されるモデルをトレーニングするトレーニング構成要素である。学習構成要素３０４は、ＮＬＵシステム３０２で使用されるモデルを修正またはトレーニングするための、任意の知られた学習構成要素であってよく、本発明は任意の特定の学習構成要素３０４に限定されるものではない。
【００３１】
いずれの場合も、学習構成要素３０４は初期の注釈付けされたトレーニングデータ３０６を任意選択で第一に受け取る。これは、図３のブロック３０８で示されている。初期の注釈付けされたトレーニングデータ３０６が使用される場合、これには、ユーザによって注釈付けされた初期のデータ、またはＮＬＵシステム３０２で使用されるドメインおよびモデルの知識を有する他のエンティティが含まれる。したがって学習構成要素３０４は、ＮＬＵシステム３０２のモデルを生成（またはトレーニング）する。初期の注釈付けされたトレーニングデータに基づいたＮＬＵシステムのトレーニングは任意選択であり、図３のブロック３１０で示されている。
【００３２】
ＮＬＵシステム３０２はこのように初期設定され、受け取った注釈付けされていないデータについて提案される注釈を生成することができるが、初期設定ステップは必ずしも必要ではない。いずれの場合も、ＮＬＵシステム３０２はまだ完全にはトレーニングされておらず、注釈の多くが正しくない可能性がある。
【００３３】
次にＮＬＵシステム３０２は、注釈付けされていない（または部分的に注釈付けされた）トレーニングデータ３１２を受け取り、ユーザはこれに対してＮＬＵシステム３０２をより良くトレーニングするための注釈を作成することを希望する。同様に本発明を使用して、不適切に注釈付けされたデータを除き、部分的または完全に注釈付けされたデータに関する注釈を生成することができる。以下では、「注釈付けされていない」という用語を、他の注釈が望まれるこれらすべてのデータを含める際に使用する。ＮＬＵシステム３０２での注釈付けされていないトレーニングデータ３１２の受取りは、図３のブロック３１４で示されている。
【００３４】
次にＮＬＵシステム３０２は、注釈付けされていないトレーニングデータ３１２のための提案された注釈３１６を生成する。これは図３のブロック３１８で示されている。提案された注釈３１６は、ユーザに提示するために、ユーザの修正または検証インターフェース３０６に提供される。次にユーザは、提案された注釈３１６を確認するかまたはこれらを変更することができる。これについては本明細書の後半でより詳細に説明するが、図３ではブロック３２０で示されている。
【００３５】
ユーザが提案された注釈３１６を修正または検証して、修正済みまたは検証済みの注釈３２２を取得すると、修正済みまたは検証済みの注釈３２２は学習構成要素３０４に提供される。次に学習構成要素３０４は、修正済みまたは検証済み注釈３２２に基づいて、ＮＬＵシステム３０２で使用されるモデルをトレーニングまたは検証する。これは図３のブロック３２４で示されている。
【００３６】
このようにして、ＮＬＵシステム３０２は、トレーニングそれ自体で使用するための注釈付けされたトレーニングデータ３２２の生成に関与する。注釈付けされていないトレーニングデータ３１２に基づいてトレーニングプロセスで初期に作成された提案された注釈３１６は、不適切な可能性があるが、スクラッチから注釈付けされていないトレーニングデータに関する注釈を作成するよりも、不適切な注釈を修正する方が、ユーザにとってはかなり容易であることがわかっている。したがって本発明を使用すると、注釈付けされたトレーニングデータをより簡単に生成することができる。
【００３７】
さらにプロセスが続行され、ＮＬＵシステム３０２がより良くトレーニングされると、提案される注釈３１６は正しい割合が高くなるか、または少なくともより正しくなる。したがってシステムは、トレーニングそれ自体について正しい提案された注釈をかなり効率良く作成し始めることになる。
【００３８】
図４は、本発明の一実施形態によるトレーニングシステム３００のより詳細な構成図である。図４ではＮＬＵシステム３０２がより詳細に示されており、システム３００に関連付けられたデータ構造についてもより詳細に示されている。
【００３９】
具体的に言えば、図４は、ＮＬＵシステム３０２が言語理解構成要素３５０および言語モデル３５２を含むことを示すものであり、もちろん言語モデル３５２は、特定の自然言語理解技法によって使用される任意の他のモデルであってよい。言語理解構成要素３５０は、例示的には、入力データを構文解析し、入力データの意味または意図を示す出力解析または注釈を生成するために使用される、１つまたは複数の知られた言語理解アルゴリズムを含む。構成要素３５０は、例示的には、そのプロセスを実行する際に１つまたは複数のモデル３５２にアクセスする。一例として言語モデル３５２が図示されているが、他の統計的または文法ベースのモデル、あるいは他のモデル（言語モデルまたは意味モデルなど）も同様に使用することができる。
【００４０】
さらに図４は、言語理解構成要素３５０の出力が、例示的にはトレーニング注釈オプション３５３および注釈信頼測定基準３５４を含むことも示す。トレーニング注釈オプション３５３は例示的には、構成要素３５０に入力された各トレーニング文またはトレーニング句（または他の入力単位）に対して構成要素３５０によって生成された、複数の異なる注釈仮説（ａｎｎｏｔａｔｉｏｎ　ｈｙｐｏｔｈｅｓｅｓ）を含む。注釈信頼測定基準３５４は、例示的には、関連付けられたトレーニングデータ注釈オプション３５３において構成要素３５０が有する信頼度に関するインジケーションを含む。一実施形態では、言語理解構成要素３５０は、必然的に信頼測定基準３５４を生成する知られた構成要素である。信頼測定基準３５４は、トレーニング注釈オプション３５３の各部分に関連付けられる。
【００４１】
さらに図４には、言語モデル適用範囲測定基準（ｃｏｖｅｒａｇｅ　ｍｅｔｒｉｃｓ）生成構成要素３５６も示される。構成要素３５６は、例示的にはモデル３５２の一部が適切にトレーニングされたかどうかを判定するようにプログラムされる。そのために構成要素３５６は、例示的には、モデル３５２の様々な部分それぞれに関連付けられたトレーニングデータのボリュームを識別し、適切にトレーニングデータの適用範囲とされていないモデル３５２の部分があるかどうかを判定する。構成要素３５６は、ユーザがアクセスするためのモデル適用範囲測定基準３５８を出力する。したがって、モデル３５２の一部が適切な量のトレーニングデータでトレーニングされていない場合、ユーザは、モデル３５２のそれらの部分をより良くトレーニングするために、所与のタイプの追加のトレーニングデータを集めることができる。
【００４２】
図５Ａおよび図５Ｂは、システムのオペレーションをより詳細に示す流れ図である。図６は、本発明が使用するユーザインターフェース３０６の一実施形態を示す図であり、図５Ａおよび図５Ｂと共に論じられる。ユーザインターフェース３０６は第１の区画（ｐａｎｅ）３６４、第２の区画３６６、および第３の区画３６８を有する。区画３６４は、言語モデル３５２を表す解析ツリー（ｐａｒｓｅ　ｔｒｅｅ）である（前述のように、任意の他のタイプのモデルであってよい）。解析ツリーには複数のノード３６８、３７０、３７２、３７４、３７６、および３７８がある。図６に示される例示的実施形態では、これらのノードがそれぞれ言語モデル３５２によって認識されるコマンドに対応する。
【００４３】
図６に示される例では、使用されている自然言語理解システムは、定期航空路の予約のチェックおよび実行を容易にするものである。したがって、ノード３６８〜３７８はすべてＮＬＵ　３０２によって認識される（したがって具体的には言語モデル３５２によってモデリングされる）すべてのコマンドを表すものである。したがって図示されているコマンドは、「Ｅｘｐｌａｉｎ　Ｃｏｄｅ」、「Ｌｉｓｔ　Ａｉｒｐｏｒｔｓ」、「Ｓｈｏｗ　Ｃａｐａｃｉｔｙ」などである。各ノードには、コマンドノードをさらに定義する属性が含まれるかどうかに応じて、１つまたは複数の子ノードがある。属性は、例示的には、ＮＬＵシステム３０２によって認識または理解されたコマンドノードを完全に識別するために入力されるスロットである。次にこのスロットも、自分専用の入力用スロットを有することができる。
【００４４】
区画３６６は、解析ツリーによって区画３６４内に表されるモデルをトレーニングするのに使用される、（トレーニングデータ３１２中の）複数の異なるトレーニング句を表示する。ユーザは、（マウスのカーソルでクリックするなどにより）これらの句のうち１つを単に選択するだけでよく、システム３５０はこのトレーニング句を、区画３６４に示された言語理解構成要素３５０および言語モデル３５２に対して適用する。システムが生成する提案された解析（または注釈）３１６が、区画３６８に表示される。フィールド３８０は、ユーザが選択したトレーニング句を表示するが、区画３６６のリストにない場合、ユーザはトレーニング句に入力することもできる。
【００４５】
（図５Ａおよび図５Ｂに示されるような）オペレーションでは、システム３００は第一に、言語モデルのトレーニングデータ適用範囲（たとえばモデル適用範囲測定基準３５８）をユーザに表示する。これは、図５Ａのブロック３６０に示されている。モデル適用範囲測定基準を生成する場合、たとえば、区画３６４に示される言語モデルでの規則グループは、ごくわずかなトレーニングデータが処理された、いくつかのセクションまたは文法規則を有することができる。この場合、トレーニングデータの量が事前に選択されたかまたは動的に選択されたしきい値に達していなければ、例示的にはシステムは、モデルの各セクションについて集められ処理されたトレーニングデータの量を示すために、区画３６４の言語モデル表示の部分をハイライト表示または色分け（ｃｏｌｏｒ　ｃｏｄｅ）する（または他の方法で視覚的に対比させる）。もちろん、視覚的に対比させることにより、単にデータの量が十分であるか不十分であるかを示すことが可能であるが、モデルの各部分をトレーニングするために使用される特定量のトレーニングデータに関してよりきめ細やかなインジケーションを提供するために、さらに細かい部分に分けることができる。この視覚的な対比は、モデルの性能に基づくものとすることもできる。
【００４６】
十分なトレーニングデータが処理され、モデル３５２のすべての部分が適切にトレーニングされると、トレーニングプロセスは完了する。これはブロック３６２によって示される。ただし、ブロック３６２で追加のトレーニングデータが必要であると決定されると、追加の注釈が付けられていないトレーニングデータ３１２がＮＬＵシステムに入力される。これは図５Ａのブロック３６３で示されている。追加のトレーニングデータ３１２は、例示的には複数のトレーニング文または句、あるいは他の言語単位を含むことになる。
【００４７】
ブロック３６３に示されるように、ユーザがトレーニングデータ３１２を追加すると、複数のトレーニング句またはトレーニング文、あるいは他の単位をＮＬＵシステム３０２に適用することができる。次にＮＬＵシステム３０２は、トレーニングデータ３１２として供給された注釈が付けられていないすべての例に対して、注釈の提案を生成する。これはブロック３９０で示されている。もちろん、注釈が付けられていない各トレーニング例に対して、ＮＬＵシステム３０２は複数のトレーニング注釈オプション３５３（図４に図示）ならびに関連付けられた注釈信頼測定基準３５４を生成することができる。その場合、ＮＬＵシステム３０２は、ユーザに表示される提案された注釈３１６として、トレーニングオプション３５３のうち１つを選択する。これは例示的には信頼測定基準３５４を使用して実行される。
【００４８】
いずれの場合も、ブロック３９０で、注釈付けされていないトレーニングのそれぞれの例に対していったん注釈の提案が生成されると、システムは提案された注釈３１６を検証または修正するためにユーザと対話できるようになる。提案された注釈３１６がユーザに表示される特定の方法は、ブロック３９２で示されるように、ユーザが選択できる処理戦略に応じて決まる。ユーザが手動モードを選択すると、単に処理がブロック３９４に移るだけである。この場合、再度図６を参照すると、ユーザが区画３６６からトレーニング例のうちの１つを選択するだけで、システムはそのトレーニング例に対して提案された注釈３１６を区画３６８に表示する。
【００４９】
さらにシステムは、一実施形態では、区画３６８に表示された信頼測定基準３５４が最も低い注釈の一部をハイライト表示することもできる。これは、図５Ｂのブロック３９６に示されている。わずかに不適切な注釈と１００％正しいものとの差を見つけるのは、困難な場合がある。提案された注釈の信頼度の低いセクションをハイライト表示することにより、ＮＬＵシステム３０２が最も自信のない部分にユーザの注意が引きつけられ、その結果、ユーザが不適切な注釈を見つける確率が高くなる。
【００５０】
ブロック３９２で、ユーザが注釈付け時間を最小限にし、注釈付けの整合性を向上させたいと希望する場合、ユーザはＮＬＵ　３０２への適切な入力を介してこれを選択し、ＮＬＵシステム３０２は、現在選択されている例との類似性でグループ化されたトレーニングデータ例を区画３６６に出力する。これはブロック３９８で示されている。言い換えると、ユーザが同じタイプの提案された注釈をすべて一度に修正すれば、提案された注釈を修正または検証し、注釈付けの選択にさらに整合性を持たせることが、ユーザにとってより簡単になると思われる。したがって、図６に示された例では、トレーニングデータが、「Ｓｈｏｗ　Ｆｌｉｇｈｔ」コマンド（ノード３７８で表される）に関するモデルをトレーニングするための６００のトレーニング例を含む場合、ユーザは、他のトレーニング例が点在するいくつかの「Ｓｈｏｗ　Ｆｌｉｇｈｔ」の例を処理するよりも、これらそれぞれの例を１つずつ処理（修正または検証のいずれか）することを望むであろう。その場合、システム３０２は「Ｓｈｏｗ　Ｆｌｉｇｈｔ」トレーニング文をまとめてグループ化し、それらを区画３６６にまとめて表示する。もちろん、同じトレーニングデータをグループ化する際に使用できる技法には、同様の注釈をグループ化すること、および同様の語を持つ注釈をグループ化することなど、数例を挙げただけでも様々な異なる技法がある。したがって、ユーザが例を次々にクリックしていくと、同様のトレーニングデータが処理される。いったんこの方法でトレーニング文がグループ化され表示されると、処理はブロック３９４に関して進行し、ユーザがトレーニング例のうち１つを選択すると、その例の解析または注釈が区画３６８に表示される。
【００５１】
ブロック３９２で、ユーザが修正または検証される１例あたりのトレーニングの利益を最大にしたいと希望する場合、ユーザはＮＬＵシステム３０２への適切な入力を介してこのオプションを選択する。その場合、ＮＬＵシステム３０２は、注釈の信頼測定基準３５４に基づいて昇順でソートされた、トレーニング文および提案された注釈３１６を提示する。これにより、システムが最も自信のない例文がリストの最上位に表示される。したがって、ユーザがこれらの例をそれぞれ選択し、検証または修正していくにつれて、システムは信頼度の高い例を処理するよりも多くのことを学習していく。もちろん、提案された注釈およびトレーニング文は、信頼測定基準値を降順にするなどの任意の他の順序でランク付けすることも可能である。信頼測定基準によってランク付けされたトレーニング例の提示は、図５Ａのブロック４００で示されている。
【００５２】
ユーザが３つの処理戦略のうちのいずれを選択するかに関わらず、最終的にユーザには、図６に記載された情報または同様の情報を示す表示が提示される。したがって、ユーザは区画３６６からトレーニング例のうち１つを選択しなければならず、その例の解析ツリー（または注釈）がブロック３６８に例示的に示されており、最も信頼度の低い部分が例示的に注釈信頼測定基準３５４に基づいてハイライト表示されるかまたは何らかの方法でユーザに示される。これは図５Ｂのブロック３９６で示されている。
【００５３】
次にユーザは、ブロック４０２で示されるように、注釈が正しいかどうかを判定する。正しくない場合、ユーザは区画３６８に表示された解析または注釈の中で不適切な注釈セグメントを、単にそのセグメントをクリックすること、またはカーソルを使用してハイライト表示することによって選択する。不適切な注釈セグメントの選択は、図５Ｂのブロック４０４で示されている。
【００５４】
図６に示された例では、ユーザが、提案された注釈の一番上のノード（「Ｅｘｐｌａｉｎ　Ｃｏｄｅ」ノード）をハイライト表示したことがわかる。このセグメントが選択またはハイライト表示されると、システム３０２は、ドロップダウンボックス４１０中のように、（トレーニングデータ注釈付けオプション３５３から）注釈のハイライト表示されたセグメントに使用可能なすべての正当な注釈選択肢を表示する。これらの注釈付けオプション３５３は、注釈信頼測定基準３５４に基づいた信頼度順で、または任意の他の望ましい順序で同様に、ドロップダウンボックス４１０に表示することができる。これは、図５Ｂのブロック４１２で示されている。
【００５５】
「正当な注釈選択肢」とは、システム３０２が使用するモデル３５２の制約に違反しない選択肢を意味するものである。たとえば英語の入力を処理する場合、おそらくモデル３５２には、あらゆる文に動詞がなければならないこと、またはあらゆる前置詞句が前置詞で始まらなければならないことを示す制約があるであろう。その上、こうした制約は、意味的な場合もある。たとえば、制約によって、「Ｌｉｓｔ　Ａｉｒｐｏｒｔ」コマンドには都市が入るが、「Ｓｈｏｗ　Ｃａｐａｃｉｔｙ」コマンドには入らないようにすることができる。任意の他の多種多彩な制約も、同様に使用することができる。ユーザが区画３６８の不適切な注釈部分を選択した場合、システム３０２は、トレーニングデータのそのセグメントについてすべての可能な解析または注釈を生成しない。その代わりにシステム３０２は、単に、トレーニングデータのそのセグメントについて、それらの部分または注釈を生成および表示し、結果的にトレーニング文全体を正当に解析することになるだけである。特定の注釈が正当な全体解析（モデルの制約に違反しないものが使用される）を実行できないと、システム３０２はその可能な解析または注釈をユーザ用のオプションとしてドロップダウンボックス４１０に表示しない。
【００５６】
ドロップダウンボックス４１０に選択肢が表示されると、ユーザは単にこれをハイライト表示してクリックすることによって、正しいものを選択する。これは図５Ｂのブロック４１４で示されている。その後、処理はブロック４０２に戻り、その時点で注釈が正しいことが判定される。
【００５７】
修正済みまたは検証済みの注釈３２２は保存され、学習構成要素３０４に提示される。これは図５Ｂのブロック４１６に示されている。学習構成要素３０４は、例示的には、新しく入力されたトレーニングデータ（修正済みまたは検証済みの注釈３２２など）に基づいてモデルを修正する、知られた学習アルゴリズムである。更新された言語モデルパラメータは図４のブロック４２０で示されており、それらパラメータを生成するプロセスは、図５Ｂのブロック４２２で示されている。
【００５８】
システム３０２は、以前に注釈付けされたトレーニングデータ間での整合性もチェックすることができる。たとえば、ＮＬＵシステム３０２が学習するにつれて、以前または現在注釈付けされたトレーニングデータが不適切に注釈付けされていたことを学習する場合がある。基本的にこれは、ユーザが過去のトレーニング例に対して選択した注釈を、システムが正確に予測しているかどうかをチェックするものである。予測の誤りは、トレーニングセットの不整合性を示唆する可能性がある。
【００５９】
これらの不整合性をチェックするかどうかの決定は、ユーザが選択することが可能であり、ブロック４２４で示されている。学習構成要素３０４が不整合性をチェックするものである場合、システム３０２は、ユーザによってすでに注釈付けされていたトレーニングデータに関して提案された注釈を再度出力するように制御される。学習構成要素３０４は、保存された注釈データ（ユーザによって検証または修正され、保存された注釈）と、自動的に生成された注釈とを比較する。次に学習構成要素３０４は、ブロック４３０で示されるように、２つの注釈における不整合性を探す。不整合性がない場合、ユーザによって修正または検証された注釈に誤りがないと考えられることを意味し、単に処理がブロック３９０に戻り、ユーザによって選択された注釈付けされていない次の例に対して注釈付けの提案が生成される。
【００６０】
ただし、ブロック４３０で不整合性が見つかった場合は、システム３０２が、ユーザが以前に検証または修正したものとの注釈の不整合性を生み出すことになる、十分な量のトレーニングデータですでにトレーニングされており、ユーザ入力が不適切であったということについてシステムがかなりの自信を持っていることを意味する。したがって、処理は再度ブロック３９６に戻り、ユーザの修正済みまたは検証済みの注釈は、システム３０２が誤りの可能性があると考えた注釈のその部分にユーザの注意を引きつけるために、やはり信頼度の低い部分がハイライト表示された状態で、区画３６８でユーザに再度表示される。これによって、ブロック４０２に示されたように注釈が正しいことを確認するために、注釈をチェックする他の機会がユーザに与えられる。
【００６１】
注釈が最終的に検証または修正されると、ユーザがＵＩ　３０６の「Ｌｅａｒｎ　Ｔｈｉｓ　Ｐａｒｓｅ」ボタン（または他の同様のアクチュエータ）をクリックするだけで、学習構成要素３０４によって言語モデルが更新される。
【００６２】
本発明によって他の機能が企図されることにも留意されたい。たとえ修正時に正当な注釈のみが生成され、ユーザに表示される場合であっても、かなりの時間がかかる可能性がある。したがって本発明は、入力例の自然言語分析を可能な分析の特定のサブセットに制限する際にユーザが使用できるメカニズムを提供する。たとえばこうした制限は、分析を単一の言語カテゴリまたはモデルの一定部分に制限することができる。図６で示された例では、たとえばユーザが「ＳｈｏｗＣａｐａｃｉｔｙ」コマンドを処理する場合、ユーザは、次のトレーニング文を選択する前に、単にモデルのその部分をハイライト表示するだけでよい。これは、図５Ｂのブロック４６０および４６２で示されている。したがって、ＮＬＵシステム３０２は提案された注釈を生成するステップで、その分析および提案を、モデルの選択されたノードに該当する注釈だけに制限する。言い換えれば、ＮＬＵシステム３０２は、ハイライト表示されたコマンドノードの下にあるノードへの入力トレーニング文のマッピングを試行するだけである。これにより、処理時間が大幅に削減され、提案された注釈を生成する際の正確さが向上する。
【００６３】
図７および８は、本発明の一実施形態による他の特徴を示す図である。図６に関して上記で述べたように、ユーザが区画３６６でトレーニング文を選択すると、そのトレーニング文または句が、ＮＬＵシステム３０２における言語モデル（または他のモデル）に適用され（またはすでに適用されている）、システム３０２は区画３６８に表示された提案された注釈を生成する。その提案された注釈が不適切な場合、ユーザは注釈の不適切なセグメントをハイライト表示することが可能であり、システムはすべての正当な選択肢を表示する。ただし、ノードのラベル表示誤りだけでなく、ノードがないために追加しなければならないか、あるいはノードが多すぎて削除するかまたは２つを組み合わせなければならないことから、区画３６８に表示される注釈の提案の一部が不適切である場合がある。
【００６４】
ノードを削除しなければならない場合、ユーザはそのノードをハイライト表示した後、ドロップダウンボックス４１０から削除を選択する。ただし、ノード構造への追加の変更を実行しなければならない場合、ユーザはドロップダウンボックス４１０で「ａｄｄ　ｃｈｉｌｄ（子の追加）」を選択することができる。その場合、ユーザには図７に示されたものと同様のものが表示される。
【００６５】
図７には、第１のフィールド５００および第２のフィールド５０２がある。第１のフィールド５００は、トレーニング文またはトレーニング句の一部を表示し、区画３６８に示された注釈の対象がもはやカバーしていないがカバーしなければならないトレーニング句の部分をハイライト表示する。完全な注釈が、トレーニング文中のあらゆる単一語をカバーする必要はないことを理解されよう。たとえば、コマンドの前にある「Ｐｌｅａｓｅ」と言う単語は、注釈付けしないことができる。この発明の本特徴は、単に注釈がカバーしていない部分に適用されるが、完全な注釈に必要な場合もある。
【００６６】
図７の例では、表示されるトレーニング文の一部が「Ｓｅａｔｔｌｅ　ｔｏ　Ｂｏｓｔｏｎ」である。さらに図７では、「Ｓｅａｔｔｌｅ」が灰色の文字で表されていることから、「Ｓｅａｔｔｌｅ」という用語が現在区画３６８に表示されている注釈によってカバーされていることを示している。「ｔｏ　Ｂｏｓｔｏｎ」は太字で表されており、これは現在区画３６８に表示されている解析（または注釈）によってまだカバーされていないことを示す。
【００６７】
ボックス５０２は、「ｔｏ　Ｂｏｓｔｏｎ」という用語に使用可能なすべての正当な注釈オプションを示している。ユーザは、これらのうち１つをハイライト表示させて「ＯＫ」ボタンを起動するだけで、それを選択することができる。ただしユーザは、ボックス５００中の単語（「ｔｏ　Ｂｏｓｔｏｎ」）のいずれかまたは両方をハイライト表示させることも可能であり、システム３０２は、ハイライト表示された単語について可能なすべての正当な注釈オプションを生成し、それをボックス５０２に表示する。したがって、ユーザが「ｔｏ」を選択した場合、ボックス５０２は「ｔｏ」について可能なすべての正当な注釈を一覧表示する。ユーザが「Ｂｏｓｔｏｎ」を選択した場合、ボックス５０２は「Ｂｏｓｔｏｎ」について可能なすべての正当な注釈を一覧表示する。ユーザが「ｔｏ　Ｂｏｓｔｏｎ」を選択した場合、ボックス５０２は「ｔｏ　Ｂｏｓｔｏｎ」について可能なすべての正当な注釈を一覧表示する。この方法では、ユーザは、単にトレーニング文のうちの任意数の部分をハイライト表示し、ボックス５０２に表示された正当な注釈オプションのうち適切な１つを選択することによって、ボックス５００に表示されたトレーニング文の部分（現在は提案された注釈によってカバーされていない）を、任意の所望数のノードに分割することができる。
【００６８】
具体的に言えば、図８に示されるように、システム３００は、選択されたトレーニング文について提案される解析または注釈を区画３６８に表示したと想定される。これはブロック５０４で示されている。次にユーザは、ブロック５０６で示されるように、不適切な子ノードを削除したと想定される。次にユーザは、ブロック５０８で示されるように、ドロップダウンボックス４１０の「Ａｄｄ　Ｃｈｉｌｄ」オプションを選択する。これにより、（提案された注釈または解析の一部がユーザによって削除されているため）システムが解析によってまだカバーされていないトレーニングデータの部分を表示する、図７に示されたものと同様の表示が生成される。これはブロック５１０で示されている。
【００６９】
次にシステムは、ブロック５１２で示されるように、カバーされていないトレーニングデータの選択された部分について、正当な選択肢を表示する。ユーザが選択肢のうちの１つを選択すると、そのユーザの選択に基づいて区画３６８に表示された注釈が修正される。これはブロック５１４および５１６に示されており、現在の注釈が完了したかどうかが判定される。完了していない場合、処理はブロック５１０に戻る。ただし、完了している場合、このトレーニング文に関しての処理は完了する。これはブロック５１８で示されている。
【００７０】
ブロック５１４でユーザが選択肢のうちの１つをフィールド５０２から選択しなかった場合、ユーザがカバーされていないトレーニングデータの一部をフィールド５００から選択（またはハイライト表示）したかどうかが判定される。選択しなかった場合、システムは、ユーザがフィールド５００に表示されたカバーされていないデータの一部を選択するか、フィールド５０２から正しい解析を選択するまで待機する。これはブロック５２０によって示されている。ただし、ユーザがフィールド５００中でカバーされていないトレーニングデータの一部をハイライト表示した場合、処理はブロック５１２に戻り、システムは選択されたカバーされていないトレーニングデータに対する正当な選択肢を表示するため、ユーザは適切な注釈を選択することができる。
【００７１】
本発明の他の実施形態によれば、文（または単語、単語グループ、句、あるいは文または文のグループなどの、任意の他の自然言語単位）についての注釈を生成するための様々な異なる技法が知られている。たとえば、自然言語入力からの注釈の生成に関する統計および文法ベースの分類システムが知られている。本発明の一実施形態によれば、同じトレーニング文（または他の自然言語単位）について注釈を生成するために、複数の異なる技法が使用される。したがってシステム３０２は、言語理解構成要素３５０に、提案された注釈を生成するための様々な異なるアルゴリズムを含む。もちろん、システム３０２は例示的に、それらの異なるアルゴリズムに関連付けられた対応するモデルも含む。図９は、本発明の一実施形態による、これらの技法ならびに様々なアルゴリズムおよびモデルの使用方法を示す流れ図である。
【００７２】
ユーザは第一に、ユーザがどちらの注釈生成技法（ａｎｎｏｔａｔｉｏｎ　ｇｅｎｅｒａｔｉｏｎ　ｔｅｃｈｎｉｑｕｅ）を使用したいか（すべて、一部、または１つのみ）を（ユーザインターフェースアクチュエータまたは他の入力技法を介して）システム３０２に示す。これはブロック６００で示されている。この技法は、それぞれの性能を人間が注釈付けした文に照らしてテストすることによって、またはどれが最も効果的であるかを決定する任意の他の方法によって、選択することができる。次にシステム３００は、システムの初期設定に使用された初期の注釈付けされたトレーニングデータに関して、それらのそれぞれの技法に関連付けられたモデルをトレーニングする。これはブロック６０２で示されている。次に、トレーニングされたモデルを使用して、注釈付けされていないトレーニングデータに関する注釈を上記と同様の方法で提案するが、相違点は、注釈が複数の異なる技法を使用して同時に生成されることである。これはブロック６０４で示されている。
【００７３】
次に、ユーザに表示する提案された注釈を選択するために、異なる技法の結果が組み合わされる。これはブロック６０６で示されている。多彩な組合せアルゴリズムを使用して、適切な注釈を選択することができる。たとえば、投票アルゴリズムを使用して、大多数の注釈生成技法が合意する提案された注釈を選択することができる。もちろん、他の同様のまたはより賢明な組合せアルゴリズムを使用して、注釈生成技法によって生成された中から、提案された注釈を選択することもできる。
【００７４】
提案された注釈として特定の注釈が選択されると、ユーザインターフェースを介して表示される。これはブロック６０８で示されている。
【００７５】
したがって、自然言語理解システムをトレーニングするための、タイムリー、効率的、および安価なトレーニングデータを容易にするために、本発明の多くの異なる実施形態が使用可能であることがわかる。注釈提案を生成するためにＮＬＵシステムそれ自体を使用するだけで、トレーニングデータに注釈付けするのに必要な時間および手作業が大幅に削減される。初期にはシステムが誤りを犯すことも多いが、注釈をゼロから作成するよりも提案された注釈を修正する方が容易である。
【００７６】
修正時に正当な選択肢を提示するだけで、システムはより効率的な注釈編集を促進する。同様に、提案された注釈のうちシステムの信頼度が低い部分にユーザの注意を集めるために信頼測定基準を使用することで、注釈の誤りが減少し、正しい注釈提案を検証するのに必要な時間が削減される。
【００７７】
さらに、ユーザが自然言語理解方法をモデルのサブセットに限定できるユーザインターフェースを提供することによっても性能が向上する。ユーザが単一の言語カテゴリに属するデータのクラスタを注釈付けしている場合、ユーザは自然言語分析をそのカテゴリに限定し、処理の速度を上げて、注釈提案の正確さを向上させることができる。
【００７８】
本発明は、言語理解アルゴリズムを（ユーザによって確認または修正された）注釈付けされたトレーニングデータに適用すること、およびシステムが注釈に合意していないケースをハイライト表示することによって、あるいは単に信頼測定基準の低い注釈をハイライト表示することによって、ユーザの注釈誤りの発見を支援することもできる。このシステムは、信頼度の低いデータに関するトレーニングを優先するように構成することもできる。一実施形態では、そのトレーニングデータを第一に処理するためにユーザに提示される。
【００７９】
他の実施形態では、自動的に生成された注釈提案または言語の類似性を特徴付けるための任意の他の技法を使用して、同様のトレーニングデータがまとめてグループ化される。これにより、ユーザは同様のトレーニング例を一度に注釈付けするため、トレーニングデータの注釈付けが簡単になる。さらにユーザは、誤りのより少ない整合性のある注釈付けができるようになる。また、同様のトレーニング例がクラスタ化されると、トレーニングデータにおけるパターンが識別しやすくなる。
【００８０】
本発明は、より正確な結果を得るための、複数の自然言語理解アルゴリズム（または注釈提案生成技法）の組合せも提供する。これらの技法を並行して使用し、ユーザに提供される注釈サポートの品質を向上させることができる。
【００８１】
さらに、言語モデル（または使用される他のモデル）のすべての部分をカバーするトレーニングデータを取得することが一般に重要であるため、本発明の一実施形態では言語モデルを表示し、モデルの部分をトレーニングする際に使用したトレーニングデータの量に基づいて、その部分をハイライト表示するかまたは視覚的に対比させる。これにより、モデルのどの部分が最もトレーニングデータを必要とするかを示すことにより、トレーニングデータを収集する作業においてユーザを指導することができる。
【００８２】
以上、本発明について特定の実施形態を参照しながら説明してきたが、当分野の技術者であれば、本発明の精神および範囲を逸脱することなく、形式および詳細が変更できることを理解されよう。
【図面の簡単な説明】
【図１】本発明が使用可能な環境を示す構成図である。
【図２】本発明の一実施形態による自然言語理解システムをトレーニングするためのシステムを示す構成図である。
【図３】本発明全体のオペレーションを示す流れ図である。
【図４】本発明の一実施形態による自然言語理解システムをトレーニングするためのシステムを示すより詳細な構成図である。
【図５Ａ】本発明のオペレーションを示すより詳細な流れ図である。
【図５Ｂ】本発明のオペレーションを示すより詳細な流れ図である。
【図６】本発明が使用するユーザインターフェースの実施形態を示すスクリーンショットである。
【図７】本発明が使用するユーザインターフェースの実施形態を示すスクリーンショットである。
【図８】本発明の一実施形態により提案された注釈でノードを追加または削除する際の本システムのオペレーションを示す流れ図である。
【図９】本発明の一実施形態により注釈付けされたデータを提案する際の様々な自然言語理解技法の使用法を示す流れ図である。
【符号の説明】
３００　システム
３０２　ＮＬＵシステム
３０４　学習構成要素
３０６　ユーザ修正または検証インターフェース
３１２　注釈付けされていないトレーニングデータ
３１６　提案された注釈
３２２　修正済みまたは検証済みの注釈
【図１】
2004005648.tif 000003
【図２】
2004005648.tif 000004
【図３】
2004005648.tif 000005
【図４】
2004005648.tif 000006
【図５Ａ】
2004005648.tif 000007
【図５Ｂ】
2004005648.tif 000008
【図６】
2004005648.tif 000009
【図７】
2004005648.tif 000010
【図８】
2004005648.tif 000011
【図９】
2004005648.tif 000012