(57)【要約】【課題】  自然言語理解（ＮＬＵ）アプリケーションを開発する方法を提供する。【解決手段】  本方法には、マルチ・パス処理技法を使用して、ＮＬＵトレーニング・テキスト・コーパスからＮＬＵ解釈情報を決定することが含まれる。１つのパスを変更して、後続のパスに対する入力を変更することができる。ＮＬＵ解釈情報は、ＮＬＵトレーニング・テキスト・コーパスの少なくとも一部の解釈を指定することができる。ＮＬＵ解釈情報はデータベースに格納され、ＮＬＵ解釈情報の選択された項目をグラフィカル・エディタに提示することができる。ユーザ指定の編集も、グラフィカル・エディタで受け取られる。
2005537532.tif 000002
【特許請求の範囲】
【請求項１】
マルチ・パス処理技法を使用して自然言語理解（ＮＬＵ）トレーニング・テキスト・コーパスからＮＬＵ解釈情報を決定するステップであって、１つのパスを変更すると後続のパスに関する入力が自動的に変更され、前記ＮＬＵ解釈情報は前記ＮＬＵトレーニング・テキスト・コーパスの少なくとも一部の解釈を指定するものである、ＮＬＵ解釈情報を決定するステップと、
前記ＮＬＵ解釈情報をデータベース（２０５）内に格納するステップと、
グラフィカル・エディタ（３１０）内で、ＮＬＵ解釈情報の選択された項目（３３０）を提示するステップ、および前記ＮＬＵ解釈情報に対するユーザ指定の編集を受け取るステップと、
を有する、自然言語理解（ＮＬＵ）アプリケーションを開発する方法。
【請求項２】
前記提示するステップが、
前記ＮＬＵ解釈情報を、データ項目を表す終端ノードおよび非終端ノードからなる意味ツリーとして提示するステップをさらに有する、請求項１に記載の方法。
【請求項３】
前記意味ツリーの一部が正しいかどうかを示す確率を決定するステップと、
前記確率が所定のしきい値確率を超えない場合、前記意味ツリーの前記一部を視覚的に識別するステップと、
をさらに有する、請求項２に記載の方法。
【請求項４】
前記ＮＬＵ解釈情報内での前記意味ツリーの下部構造のオカレンスの数を決定するステップと、
前記オカレンスの数が所定のしきい値を超えない場合、前記意味ツリーの前記下部構造を視覚的に識別するステップと、
をさらに有する、請求項２に記載の方法。
【請求項５】
前記ＮＬＵ解釈情報からの前記意味ツリーの選択されたノードの交差を決定するステップと、
前記選択されたノードの交差を、追加のノードを前記意味ツリーに追加するための選択肢として提示するステップと、
前記意味ツリーの前記選択されたノードより上にノードを追加するステップであって、前記追加されるノードは前記選択肢から選択されるものである、ノードを追加するステップと、
をさらに有する、請求項２に記載の方法。
【請求項６】
ユーザ・コマンドに応答して、前記意味ツリーの追加ノードを作成するステップであって、前記ノードは追加のデータ項目を表すものである、追加ノードを作成するステップと、
前記ノードを記述に関連付けるステップと、
をさらに有する、請求項２に記載の方法。
【請求項７】
前記関連付けられる記述をスペル・チェックするステップをさらに有する、請求項６に記載の方法。
【請求項８】
前記意味ツリーのノードが選択され、前記方法は、
ユーザの要求に応答して、前記ノードおよび前記ノードのパラメータを表示するための複数の列を有するディクショナリ・ビューを表示するステップをさらに有し、前記ディクショナリ・ビューは、ハイライト表示されたノードによって表されるデータ項目を含むものである、請求項２に記載の方法。
【請求項９】
データ項目のディクショナリおよびテキスト解釈を指定するモデルからなるグループから選択された所定のＮＬＵ解釈情報に従って、前記意味ツリーを自動的に完了するステップをさらに有する、請求項２に記載の方法。
【請求項１０】
前記自動的に完了するステップが、
前記データ項目のディクショナリからの単一のデータ項目が、前記ＮＬＵトレーニング・テキスト・コーパスの単語に関連付けられているかどうかを判定するステップと、
関連付けられている場合、前記データ項目を前記単語に自動的に割り当てるステップと、
を有する、請求項９に記載の方法。
【請求項１１】
前記ＮＬＵ解釈情報の選択された項目を、ツール・チップとして表示するステップと、
前記提示された意味ツリーが正しい解釈である確率を表示するステップと、
をさらに有する、請求項２に記載の方法。
【請求項１２】
指定された意味ツリー構造を前記ＮＬＵ解釈情報から検索するステップをさらに有する、請求項２に記載の方法。
【請求項１３】
データ項目の交差を識別するステップと、
前記ＮＬＵトレーニング・テキスト・コーパスの文に関する前記意味ツリーのユーザ指定ノードに注釈を付けるための選択肢として、前記識別されたデータ項目を提示するステップと、
をさらに有する、請求項２に記載の方法。
【請求項１４】
前記提示するステップが、
親および子のデータ項目と前記データ項目のパラメータとを表示するための複数の列を有するディクショナリ・ビュー内に、前記ＮＬＵ解釈情報を提示するステップをさらに有する、請求項１に記載の方法。
【請求項１５】
前記ディクショナリ・ビューが、前記データ項目の子を示すための列と、前記データ項目の親を示すための他の列とを含む、請求項１４に記載の方法。
【請求項１６】
前記データ項目を、前記子または親の列に従ってソートするステップをさらに有する、請求項１５に記載の方法。
【請求項１７】
所定のしきい値を超える確率またはカウントを有するデータ項目を視覚的に示すステップをさらに有する、請求項１４に記載の方法。
【請求項１８】
所定のしきい値を超えない確率またはカウントを有するデータ項目を非表示にするステップをさらに有する、請求項１４に記載の方法。
【請求項１９】
ユーザが関連のある特定のデータ項目を選択したのに応答して、前記ＮＬＵ解釈情報から前記関連を表す終端および非終端のノードを有する意味ツリーを検索するステップをさらに有する、請求項１４に記載の方法。
【請求項２０】
データ項目ソース、データ項目ターゲット、データ項目に関連する方向、データ項目に関連する注釈付けプログラム、注釈状況、ノード・カウント、データ・ファイル、文の領域、および使用状況からなるグループから選択されたパラメータに従って、ＮＬＵ解釈情報をフィルタリングするステップをさらに有する、請求項１４に記載の方法。
【請求項２１】
前記ＮＬＵ解釈情報から導出されたヒストグラム情報を表示するステップをさらに有する、請求項１４に記載の方法。
【請求項２２】
前記提示するステップが、文ビュー内に個々のテキスト句に関連する前記ＮＬＵ解釈情報を提示するステップをさらに有し、前記ＮＬＵ解釈情報は、注釈状況、句のカウント、指定された句の用法、句のコレクション情報、正確さの確率、および正確さのランクからなるグループから選択されるものである、請求項１に記載の方法。
【請求項２３】
前記提示するステップが、
前記ＮＬＵ解釈情報を複数の意味ツリーとして分割画面ビュー内に提示するステップをさらに有し、前記分割画面ビューは、少なくとも、第１の意味ツリーを表示するための第１のウィンドウと、第２の意味ツリーを表示するための第２のウィンドウを有するものである、請求項１に記載の方法。
【請求項２４】
前記第１のウィンドウに前記第１の意味ツリーを表示しながら、ユーザの要求に応答して前記第２のウィンドウに前記意味ツリーの異なるツリーを提示するステップをさらに有する、請求項２３に記載の方法。
【請求項２５】
前記第１および第２の意味ツリーは、同じコンテキスト内の同じテキスト句の異なる解釈である、請求項２３に記載の方法。
【請求項２６】
前記第１の意味ツリーはテキスト句の正しい解釈を表し、前記第２の意味ツリーは統計モデルに従って前記テキスト句の予測解釈を表すものである、請求項２５に記載の方法。
【請求項２７】
前記正しい解釈のスコアが前記予測解釈のスコアよりも高い場合、前記統計モデルは不正確であることを指示するステップをさらに有する、請求項２６に記載の方法。
【請求項２８】
前記第１および第２の意味ツリーは、２つの異なるコンテキスト内の同じテキスト句の異なる解釈である、請求項２３に記載の方法。
【請求項２９】
前記第１の意味ツリーは第１の処理パス後のテキスト句に対応し、前記第２の意味ツリーは後続の処理パス後の前記テキスト句に対応するものである、請求項２３に記載の方法。
【請求項３０】
前記第１の意味ツリーが第１のテキスト句を表すものであり、前記方法は、
前記第１のウィンドウ内の前記第１の意味ツリーへの編集を受け取るステップと、
ユーザ編集に応答して、前記編集された第１の意味ツリーに対応する異なるテキスト句の意味ツリーを検索するステップと、前記第２のウィンドウ内に前記異なるテキスト句に関する前記意味ツリーを表示するステップと、
を有する、請求項２３に記載の方法。
【請求項３１】
前記第１の意味ツリーと前記第２の意味ツリーとの相違を視覚的に示すステップをさらに有する、請求項２３に記載の方法。
【請求項３２】
前記第１の意味ツリーを前記第２の意味ツリーと一致させるステップをさらに有する、請求項２３に記載の方法。
【請求項３３】
ＮＬＵトレーニング文を自動的にインポートするステップと、
前記ＮＬＵトレーニング・テキスト・コーパスから決定された統計的可能性に従って、前記ＮＬＵトレーニング文の解釈を自動的に決定するステップと、
をさらに有する、請求項１に記載の方法。
【請求項３４】
トレーニング文のＮＬＵ解釈を自動的にインポートするステップと、
前記ＮＬＵ解釈を前記ＮＬＵトレーニング・テキスト・コーパスに適用するステップと、
をさらに有する、請求項１に記載の方法。
【請求項３５】
前記マルチ・パスのうちの１つから結果として生じる前記ＮＬＵ解釈情報を、前記パスのうちの前記１つを指定するユーザ入力に応答して表示するステップをさらに有する、請求項１に記載の方法。
【請求項３６】
テキスト句に関するＮＬＵ解釈情報の属性に従って、前記ＮＬＵトレーニング・テキスト・コーパスのテキスト句を文ビュー内で順序付けするステップと、
前記テキスト句のうちの少なくとも２つに関する前記ＮＬＵ解釈情報を意味ツリーとして順次表示するステップであって、前記意味ツリーは、前記文ビューの前記順序付けに従って表示されるものである、順次表示するステップと、
をさらに有する、請求項１に記載の方法。
【請求項３７】
前記いずれかの請求項に記載の方法に従って自然言語理解（ＮＬＵ）アプリケーションを開発するための総合開発ツールであって、
ＮＬＵトレーニング・テキスト・コーパスに対応するＮＬＵ解釈情報の項目を格納するように構成されたデータベースと、
前記ＮＬＵ解釈情報の項目を操作するための複数のビューを有する、前記データベースと通信可能なようにリンクされたグラフィカル・エディタと、
マルチ・パス・システムに従って前記ＮＬＵ解釈情報の項目を決定するように、および、前記ＮＬＵ解釈情報の項目を前記データベース内に格納するように、構成されたプロセッサと、
を有する、総合開発ツール。
【請求項３８】
コンピュータに、請求項１から３６のうちのいずれかに記載の方法の各ステップを実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語理解の分野に関し、より具体的に言えば、自然言語理解アプリケーションを構築するための総合開発ツールに関する。
【背景技術】
【０００２】
自然言語理解（ＮＬＵ）システムは、コンピュータが人間の音声から情報を理解および抽出できるようにするものである。こうしたシステムは、人間の音声を理解する必要のある音声認識システムなどのさまざまな他のコンピュータ・アプリケーションを使用して、補足的に機能することが可能である。ＮＬＵシステムは、テキスト内に含まれる関連情報を抽出し、その後この情報を、飛行機のフライト予約、文書の検索、またはテキストの要約などの目的で、他のアプリケーション・プログラムまたはシステムに供給することができる。
【０００３】
現在当分野では、ＮＬＵシステムは、テキスト文字列が文字のグループ、単語、または文を表すことのできるテキスト文字列から情報を抽出するために、いくつかの異なる技法を採用している。最も一般的な技法は、一般に当分野では、終端（ｔｅｒｍｉｎａｌ）および非終端（ｎｏｎ−ｔｅｒｍｉｎａｌ）を有するバッカス−ナウア記法（ＢＮＦ）を使用して表される、文脈自由文法を使用してテキスト文字列を解析するための言語手法である。終端とは、それ以上細分化できない単語または他の記号のことであるのに対して、通常、非終端とは、動詞句または名詞句などの音声の部分あるいは句のことである。したがって、ＮＬＵへの文法的手法は、統計処理を使用せずにＢＮＦ文法に基づいて各テキスト文字列を解析しようとするものである。
【０００４】
こうしたＮＬＵシステムに基づいた文法を構築するためには、通常、アプリケーションの開発にかなりの時間と費用をかけることのできる言語学者が必要である。しかしながら、特に電話での会話様式に関して、潜在的な各ユーザの要求またはプロンプトに対する応答を予測することが困難であるため、ＮＬＵアプリケーションの品質は満足できるものではない。特に、言語学者を使用したにもかかわらずこうした不満足な結果が生じる場合がある。
【０００５】
ＮＬＵシステムがテキスト文字列から情報を抽出する際に使用する他の技法には、テキスト文字列の分析に文法を使用しない統計的手法がある。現在、こうしたシステムは、注釈付き文の大規模なコーパスから意味を学習する。注釈付き文は、トレーニング・コーパスと呼ばれるテキストのコーパスにまとめられる。統計的ＮＬＵシステムの開発およびテキストの注釈付けに使用されるツールは、ＡＳＣＩＩファイル、従来のテキスト・エディタ、およびキーボード・マクロのようなまったく異なる要素を含んでいた。これらの非効率的なツールを使用して、単語の関係を指定し統計モデルを構築することができる。しかしこれまでのところ、効率的かつ正確なグラフィックによるビジュアル編集ツールは、まだ開発されていない。
【０００６】
従来のＮＬＵアプリケーション開発ツールを使用することの他の欠点は、チーム環境での開発が難しいことである。とりわけ、既存のツールではまったく異なる構成要素を使用するので、こうした開発ツールでは、１人のチーム・メンバによる変更を追跡するかまたはフラグを立てて、他のチーム・メンバがテキストの同じ部分を上書きしたり注釈を付け直したりしないようにすることができない。さらに、従来の開発ツールでは、トレーニング・コーパス内の特定の文の複数のインスタンスに互いに整合性のない方法で注釈が付けられているような状況を、識別することができない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、主として熟練した専門家達には、統計的ＮＬＵアプリケーションの開発が残されている。
【課題を解決するための手段】
【０００８】
本明細書で開示された発明は、請求項１、３７、および３８に記載されたような自然言語理解（ＮＬＵ）アプリケーションを構築するための、方法、システム、およびマシン読取り可能ストレージに関する。具体的に言えば、本明細書で開示された発明は、統計モデルを構築するための総合開発ツールをユーザに提供することができる。本発明は、一連のテキスト・ファイル、テキスト・エディタ、およびキーボード・マクロを使用して、テキストのコーパスの解釈、意味、または構造を指定する解釈情報を指定するのではなく、データベースならびに多彩なグラフィック編集ツールおよび可聴ツールを利用して、解釈情報を指定することができる。本発明は、ユーザ編集の同期化およびラベル付け機能を含む本発明のデータベース機能により、特にネットワークまたはワークグループ環境での使用に好適なものとなっている。結果として、本発明はより多くの機能を提供することができる。
【０００９】
好ましいことに、本ステップには、データ項目を表す終端および非終端ノードを含む意味ツリーとしてＮＬＵ解釈情報を提示することが含まれる。本発明の一実施形態に従って、意味ツリーの一部が正しいかどうかを示す確率を決定することができる。意味ツリーのこの部分は、確率が所定の確率のしきい値を超えていない場合に視覚的に識別することができる。別の方法として、ＮＬＵ解釈情報内での意味ツリーの下部構造のオカレンスの数を決定することができる。意味ツリーの下部構造は、オカレンスの数が所定のしきい値を超えていない場合に視覚的に識別することができる。
【００１０】
この方法は、ＮＬＵ解釈情報からの意味ツリーの選択されたノードの交差（ｉｎｔｅｒｓｅｃｔｉｏｎ）を決定すること、当該選択されたノードの交差を追加のノードを意味ツリーに追加するための選択肢として提示すること、および、その後意味ツリーの選択されたノードより上にノードを追加することも含むことができる。とりわけ、追加されるノードを提示された選択肢から選択することができる。意味ツリーの追加ノードは、ユーザのコマンドに応答して作成することができる。追加ノードは追加のデータ項目を表すことができる。さらにユーザは、追加されるノードの記述を入力することが可能であり、当該記述が入力される場合にはスペル・チェックを受けることができる。ユーザの要求に応答して意味ツリーのノードが選択される場合、ノードおよびノードのパラメータを表示するための１つまたは複数の列を有するディクショナリ・ビューを表示することができる。とりわけ、ディクショナリ・ビューは、意味ツリーのハイライト表示されたノードで表されるデータ項目を有するディクショナリの領域を含むか、またはこの領域に焦点を合わせることができる。
【００１１】
意味ツリーは、データ項目のディクショナリなどの所定の注釈データまたはテキスト解釈を指定するモデルに従って、自動的に完了することができる。一実施形態では、データ項目のディクショナリの中の単一のデータ項目が、ＮＬＵトレーニング・テキスト・コーパスの単語に関連付けられているかどうかに関して、判定することができる。関連付けられていれば、単一のデータ項目を当該の単語に割り当てることができる。ＮＬＵ解釈情報の選択された項目は、提示された意味ツリーが正しい解釈であるかどうかを示すツール・チップ様式および確率で表示することができる。この方法には、指定された意味ツリー構造をＮＬＵ解釈情報から検索することも含まれる。データ項目の交差は、ＮＬＵトレーニング・テキスト・コーパスのユーザ指定語に注釈を付けるための選択として識別および提示することができる。
【００１２】
好ましいことに、本発明は、ディクショナリ・ビュー内にＮＬＵ解釈情報を提示することを含むことができる。その場合、ＮＬＵ解釈情報は、親および子のデータ項目とデータ項目のパラメータとを表示するための１つまたは複数の列を使用して提示することができる。ディクショナリ・ビューは、データ項目の子を示すための列と、データ項目の親を示すための列とを含むことができる。データ項目は、親および子の列を含むいずれかの列に従ってソートすることができる。データ項目が所定のしきい値を超える確率またはカウントを有する場合、ディクショナリ・ビューに表示されるデータ項目を視覚的に見分けることができる。ディクショナリ・ビューに表示されるデータ項目が所定のしきい値を超えない確率またはカウントを有する場合は、非表示にすることができる。ユーザが関連のある特定のデータ項目を選択したのに応答して、ＮＬＵ解釈情報から関連を表す終端および非終端のノードを含む意味ツリーを検索することができる。さらに当該方法は、データ項目ソース、データ項目ターゲット、データ項目に関連する方向（ｄｉｒｅｃｔｉｏｎ）、データ項目に関連する注釈付けプログラム（ａｎｎｏｔａｔｏｒ）、注釈状況、ノード・カウント、データ・ファイル、文の領域、および／または使用状況などのパラメータに従って、ＮＬＵ解釈情報をフィルタリングすることを含むこともできる。ＮＬＵ解釈情報から導出されたヒストグラム情報を表示することもできる。
【００１３】
好ましいことに、本発明は、文ビュー内にＮＬＵ解釈情報を提示することを含むことができる。個々のテキスト句に関連するＮＬＵ解釈情報を表示することができる。たとえば、注釈状況、カウント、指定された用法、コレクション情報、正確さの確率、正確さのランクなどの情報を、文および／または句ごとに表示することができる。
【００１４】
好ましいことに、本発明は、分割画面ビュー内にＮＬＵ解釈情報を１つまたは複数の意味ツリーとして提示することを含むことができる。分割画面ビューは、少なくとも、第１の意味ツリーを表示するための第１のウィンドウと、第２の意味ツリーを表示するための第２のウィンドウを含むことができる。当該方法は、第１のウィンドウに第１の意味ツリーを表示しながら、ユーザの要求に応答して第２のウィンドウに異なる意味ツリーを提示することを含むことができる。当該意味ツリーは、同じコンテキスト内の同じテキスト句の異なる解釈、２つの異なるコンテキスト内の同じテキスト句の異なる解釈、あるいは、異なる処理パスの結果とすることができる。たとえば、第１のウィンドウは第１の処理パス後に決定された意味ツリーを提示し、第２のウィンドウは後続の処理パス後に決定された結果として生じる意味ツリーを提示することができる。別の方法として、第１の意味ツリーはテキスト句の正しい解釈を表し、第２の意味ツリーは、統計モデルに従ってテキスト句の予測解釈を表すこともできる。正しい解釈のスコアが予測解釈のスコアよりも高い場合、統計モデルは不正確であるという指示を与えることができる。第１の意味ツリーが第１のテキスト句を表す場合、当該方法は、第１のウィンドウ内の第１の意味ツリーへの編集を受け取ること、さらにユーザ編集に応答して、編集された第１の意味ツリーに対応する異なるテキスト句の意味ツリーを検索すること、ならびに第２のウィンドウ内に異なるテキスト句に関する意味ツリーを表示することを、含むことができる。当該方法は、第１の意味ツリーと第２の意味ツリーとの相違を視覚的に示すこと、および第１の意味ツリーを第２の意味ツリーと一致させることを含むことができる。
【００１５】
好ましいことに、本発明は、ＮＬＵトレーニング文を自動的にインポートすること、および、ＮＬＵトレーニング・テキスト・コーパスから決定された統計的可能性に従って、ＮＬＵトレーニング文の解釈を自動的に決定することを、含むことができる。別の方法として、トレーニング文のＮＬＵ解釈を自動的にインポートして、ＮＬＵトレーニング・テキスト・コーパスに適用することもできる。マルチ・パスのいずれか１つから結果として生じるＮＬＵ解釈情報は、パスのうちの１つを指定するユーザ入力に応答して表示することができる。さらに当該方法は、テキスト句に関するＮＬＵ解釈情報の属性に従って、ＮＬＵトレーニング・テキスト・コーパスのテキスト句を文ビュー内で順序付けすること、および、少なくとも２つのテキスト句に関するＮＬＵ解釈情報を意味ツリーとして順次表示することも、含むことができる。意味ツリーは、この順序付けに従って文ビュー内に表示することができる。
【００１６】
総合開発ツールは、ＮＬＵ解釈情報のデータ項目の中から選択された項目の検索を指定するための、グラフィカル・ユーザ・インターフェースを含むこともできる。グラフィカル・ユーザ・インターフェースは、検索を指定するための選択可能な終端および非終端の少なくとも１つのリストを含むことができる。選択されたデータ項目と他のデータ項目との関係を指定するために、グラフィカル・ユーザ・インターフェースに追加の領域を含めることができる。
【００１７】
グラフィカル・エディタは、ＮＬＵ解釈情報の項目を階層ツリー構造で提示するためのツリー・ビューと、ＮＬＵ解釈情報の個々の項目を列フォーマットで提示するためのディクショナリ・ビューと、ＮＬＵ解釈情報の１つまたは複数の項目を文形式で提示するための文ビューと、少なくとも２つの意味ツリーを同時に提示するための分割画面ビューと、追加のＮＬＵトレーニング・テキストおよび関連する解釈情報をインポートするためのインポート・ビューとを含むことができる。ＮＬＵトレーニング・テキスト・コーパスから少なくとも１つの解釈を決定するように構成されたプログラム可能統計モデルも、含むことができる。
【００１８】
現時点で好ましい実施形態が現時点で図面に示されているが、本発明は、図示された精密な配置構成および手段に限定されるものではないことを理解されよう。
【発明を実施するための最良の形態】
【００１９】
本明細書で開示された発明は、自然言語理解（ＮＬＵ）アプリケーションで使用する統計モデルを構築するための方法およびシステムに関する。具体的に言えば、本明細書で開示された発明は、ＮＬＵシステムで使用する統計モデルを構築するための総合開発ツールをユーザに提供することができる。本発明は、一連のテキスト・ファイル、テキスト・エディタ、およびキーボード・マクロを含む構成要素の合同体（ａｍａｌｇａｍａｔｉｏｎ）を使用して、テキストのコーパスを有する文の意味および構造を指定するのではなく、総合開発ツール（ＩＤＴ）を提供するものである。ＩＤＴは、テキストのコーパスへの注釈として指定されることが多い解釈情報を指定するための、データベースならびに視覚（グラフィカル）ツールおよび可聴ツールの組合せ（ａｓｓｏｒｔｍｅｎｔ）を含むことができる。ＮＬＵ解釈情報は、トレーニング・テキスト・コーパスを有する文の解釈または意味を指定する。ユーザ編集を同期化およびラベル付けする本発明の機能を含む本発明のデータベース機能は、本発明を特にネットワーク化コンピューティングまたはワークグループ環境で使用するのに適したものとする。
【００２０】
図１は、本発明と共に使用するための典型的なコンピュータ・システム１００を示す図である。コンピュータ・システム１００は、中央処理ユニット１１０（ＣＰＵ）、１つまたは複数のメモリ・デバイス１１５、および関連する回路を有する、コンピュータ１０５を含むことができる。メモリ・デバイス１１５はＩＤＴ２１０を含むことが可能であり、電子ランダム・アクセス・メモリおよび大容量データ記憶媒体からなるものとすることができる。コンピュータ・システムは、好適なインターフェース回路１２５を介してコンピュータ・システムに動作可能なように接続されたマイクロフォン１２０と、動作可能なように接続されたビデオ・データ端末などのオプションのユーザ・インターフェース・ディスプレイ・ユニット１３０とを含むこともできる。ＣＰＵは、当業者によく知られているような任意の好適なマイクロプロセッサまたは他の電子処理ユニットからなるものであることが可能である。システムには、スピーカ１３５および１４０、ならびにマウス１４５およびキーボード１５０などのインターフェース・デバイスを提供することが可能であるが、本明細書に記載された発明の動作には必要でない。本明細書に記載されたコンピュータ・システムに関する様々なハードウェア要件は、通常、多くの市販の高速コンピュータのいずれか１つによって満たすことができる。
【００２１】
図２は、本明細書で開示された発明が実施可能なシステム・アーキテクチャの例を示す概略図である。図に示されるように、システム・アーキテクチャは、いくつかのコンピュータ・システム２１５、２２０、および２２５を含むことが可能であり、それらはそれぞれ、好適なオペレーティング・システムで実行中のＩＤＴ２１０を含むことが可能である。コンピュータ・システム２１５〜２２５は、コンピュータ通信ネットワーク２００を介して相互に、およびデータベース・サーバ２０５と、通信可能なようにリンクすることができる。したがって、コンピュータ・システム２１５〜２２５はそれぞれ、注釈付けおよび非注釈付けデータ、統計モデル、ならびにアルゴリズムの完全なセットを有する、内蔵型ＩＤＴ２１０を含むことが可能であるが、本発明の一態様に従い、ＩＤＴ２１０によって使用されるデータの様々な部分をデータベース・サーバ２０５に格納し、これにアクセスすることが可能である。たとえば、ワークグループの複数のユーザがアクセスを必要とする可能性のある情報の様々な項目を、個々の各コンピュータ・システム２１５〜２２５ではなく、データベース・サーバ２０５に格納することができる。たとえば図２に示されるように、データベース・サーバ２０５は、注釈付けテキスト、非注釈付けテキスト、統計モデル、アルゴリズム、およびその他を格納することができる。
【００２２】
ＩＤＴ２１０は、テキストのコーパスを統計的に処理するための機能の分類および解析を含むことができる。より具体的に言えば、ＩＤＴ２１０を使用して、分類プログラム（ｃｌａｓｓｅｒ）および解析プログラム（ｐａｒｓｅｒ）の少なくとも一部を含む統計モデルを構築することができる。ＩＤＴ２１０を使用してテキストのコーパスに注釈付けすることが可能であり、その結果生じる注釈付けされたテキストのコーパスをコンポーネント文に編成し、それぞれが注釈から導出されたツリー状の階層構造を有するようにすることができる。統計モデルは、注釈付けされたテキストのコーパスを使用して構築またはトレーニングすることができる。統計モデルが構築またはトレーニングされると、さらにＩＤＴは現在の統計モデルの正確さをテストすることができる。
【００２３】
しかしながら、２つより多くのパスが使用可能なマルチ・パス・テキスト処理手法に従うことが可能であることを理解されたい。したがって、各パスからの出力は、次または後続のパスへの入力として働くことができる。たとえば、様々なフィルタおよび／またはワード・スポッティング・アルゴリズム、たとえば意味のない単語を識別および注釈付けするための「ｎｕｌｌフィルタ」、または前置詞句、名詞句、およびその他などの小規模な意味句を識別する句パスを、使用することができる。さらに、ソース・チャネル・モデル化などの他の注釈付け技法を使用することも可能であり、結果として生じる注釈は整列と呼ばれ、ツリー様の構造ではない。
【００２４】
分類プログラムおよび解析プログラムの例を挙げると、財務ＮＬＵアプリケーションにおけるアカウント・タイプなどの、関連するテキスト文字列のアプリケーション特有のグループ分けであることが可能なクラスに関して、文に注釈付けすることができる。時刻および日付などの他のクラスは、アプリケーションに依存しないものとすることができる。クラスは、テキストのコーパスの分析を介して経験的に決定することが可能であり、その結果、分類プログラムは、特定のテキスト文字列または単語を定義済みクラスに属するものとして認識することができる。終端および非終端の記述子、解析ツリーおよびクラス・ツリーを含む意味ツリー、ならびにＩＤＴツールからまとめて導出された任意の他の単語頻度データまたは統計データを、注釈データと呼ぶことができることを理解されたい。とりわけ、テキストのコーパスを構成する任意のテキストを含む注釈データは、１つまたは複数のテキスト・ファイルとして格納するのではなく、データベース内に格納することができる。
【００２５】
分類プログラムは、事前に定義されたクラスのうちの１つを構成する、受け取ったテキスト内の部分文字列を識別するための統計処理方法を使用して構築することができる。たとえば分類プログラムは、何千という文に注釈付けを行い、文を構成する単語またはテキスト文字列のクラスを識別する、統計処理方法を使用して構築することができる。注釈付けされた文を使用して、ＮＬＵシステム内で単語またはテキスト文字列が属するクラスを認識するように、分類プログラムをトレーニングすることができる。したがって分類プログラムは、条件付きエントロピーを最小にすること、または結果として生じるモデルが主要なテキスト文字列を識別するためのトレーニング・データを予測する可能性を最大にすることなどの、当分野で知られた統計処理アルゴリズムを使用して構築することができる。たとえば、ＮＬＵシステムは、テキスト文字列の特定のクラスを認識することが可能な、意思決定ツリーまたは最大エントロピー・モデルを使用することができる。
【００２６】
分類プログラムは、受け取ったテキストの一部から結果として生じる簡略化されたテキストを生成することが可能であり、ここでは、オリジナルのテキスト文字列内にあるクラスの識別されたメンバに定義済みクラスを用いて注釈付けし、それによって実際のテキスト文字列をクラス名に効果的に置き換えることができる。たとえば、分類プログラムは「私は５００ドルをＸＹＺ口座からＡＢＣ口座に振り替えたい」というテキスト文字列を、「私は「金額（ＡＭＯＵＮＴ）」を「口座（ＦＵＮＤ）」から「口座（ＦＵＮＤ）」に振り替えたい」という例示的な出力となるように処理することができる。とりわけ、テキスト入力の構造が大幅に簡略化されている。具体的に言えば、受け取ったテキスト入力を分類することによって、結果として生じる入力構造の数、すなわち可能な文法上の構造を大幅に減少させ、後続の統計処理を容易にすることができる。たとえば、受け取ったテキスト入力を分類することなく、以下の文を異なる構造を有するものとみなすことができる。
・私は５００ドルをＸＹＺ口座からＡＢＣ口座に振り替えたい。
・私は５０００ドルをＸＹＺ口座からＡＢＣ口座に振り替えたい。
・私は１００ドルをＸＹＺ口座からＡＢＣ口座に振り替えたい。
・私は５００ドルをＡＢＣ口座からＸＹＺ口座に振り替えたい。
・私は５００ドルをＡ口座からＢ口座に振り替えたい。
・私は５００ドルをＣ口座からＡ口座に振り替えたい。
【００２７】
しかしながら、上記のテキストを分類すると、その結果は、各テキスト入力が「私は「金額」を「口座」から「口座」に振り替えたい」という共通の構造を共有していることを示すものである。したがって、受け取ったテキスト入力内にクラスの異なるメンバが存在していても、テキスト入力が異なる構造として扱われることはない。とりわけ、分類した文は、クラス・ツリーと呼ぶことのできる階層ツリー構造を使用して表すことができる。クラス・ツリーは、対応する文の解釈または意味を表す１タイプの意味ツリーである。階層意味ツリーは、終端または非終端の両方のノードを含むことができる。たとえば、意味ツリーのリーフは、処理済テキストの単語およびクラスに対応することができる。リーフは１つまたは複数の非終端にまで及ぶことが可能であり、それぞれ、他の意味および構造を意味ツリーに提供することができる。さらに、リーフおよび非終端（ならびに終端）はそれぞれ、ユーザ構成可能記述子を含むことができる。それぞれのリーフは、直接あるいは１つまたは複数の非終端を介して最終的にルート・ノードまで及ぶことが可能である。
【００２８】
解析プログラムは、処理されたテキスト出力を入力として分類プログラムから受け取ることができる。解析プログラムは、受け取ったテキストを処理して、受け取ったテキスト入力の残りの関連テキスト文字列に、特徴、すなわちアクションおよびパラメータまたは他の終端または非終端グループ分けに対応する、追加の非終端および／または記述子を追加することができる。たとえば、解析プログラムは、特定の主要な単語をグループ分けすることができる。これらの特徴を決定する場合、解析プログラムは、分類プログラムの説明で前述したように統計処理方法を利用することができる。たとえば解析プログラムは、分類プログラムからのテキスト出力を処理して、テキスト文字列用の解析ツリーを決定することができる。テキスト文字列の解析ツリーは、全般から細部へと流れて終端または単語レベルまで延在する、受け取ったテキスト文字列のクラス、アクション、およびパラメータからなる自然言語テキスト入力の階層表現とすることができる。解析ツリーは、テキスト文字列を識別するために使用される最高レベルがルートとして働く、グラフィカル形式で示すことができる。ルートの下方にはより詳細な非終端が存在し、終端レベルへと延在しており、それぞれの非終端および終端が解析ツリーのノードである。文の解析ツリーは、通常、その文に対応するクラス・ツリーよりも複雑である。しかしそれでもなお、解析ツリーおよびクラス・ツリーはどちらも意味ツリーと呼ぶことができる。
【００２９】
ＩＤＴ２１０は、様々な再構築された統計モデルを含むことができる。たとえば、日付、時刻、量、あるいは他の句または表現のクラスなどの句を広範囲にわたって使用した処理のための、タグ用プログラム（ｔａｇｇｅｒ）または分類プログラムと呼ばれる統計モデルを、ＩＤＴに含めることができる。こうした統計モデルは、分類および解析モデルを含むことができる。したがって、ＩＤＴ２１０がインポートまたは読み取った任意のテキストのコーパスについて、ＩＤＴ２１０は、インポートされたテキストのコーパスを自動的に分析して、事前に構築されたモデルに関するインジケータを識別することができる。このインジケータは、日付、時刻、および儀礼的な言葉（すなわち「ありがとう」）を含む他の容易に置換え可能な項目などのクラスに対応する、終端を含むことができる。特定の事前に構築されたモデルに対応するそれぞれのインジケータについて、ＩＤＴ２１０は、その事前に構築された統計モデルを現在構築中の統計モデルに組み込むことができる。たとえばＩＤＴ２１０は、キーワード検索を実行するか、または前述の他の統計処理方法を使用して、テキストのコーパスを分析し、事前に構築されたモデルがテキストのコーパスとの関連性を有するかどうかを判別することができる。さらにＩＤＴ２１０がこうした事前に構築されたモデルを含むかどうかをユーザに問い合わせるか、別の方法として、ユーザはこうしたモデルが含まれるように要求することができる。いずれのイベントでも、ユーザはこうした機能により、常に繰り返し発生するテキスト句を処理するための統計モデルを作り直すことから解放される。
【００３０】
上記で述べたように、分類プログラムおよび解析プログラムをＩＤＴ２１０に含めることは、本明細書で開示された発明の一実施形態を表すものに過ぎない。当業者であれば、任意の適切な統計処理方法および／またはモデルが使用できることを理解されよう。たとえば、他の実施形態は、ワード・スポッティング・アルゴリズム、最大エントロピー、規則、またはヒューリスティックス（ｈｅｕｒｉｓｔｉｃｓ）を含むことができる。いずれの場合でも、本明細書で開示された発明は、分類プログラムおよび解析プログラムを使用する特定の実施形態に限定されるものではない。
【００３１】
上記で述べたように、ＩＤＴ２１０は、リレーショナル・データベースなどのデータベースならびにグラフィカル・ツールおよび可聴ツールの組合せを利用して、テキストのコーパスの注釈付けおよびＮＬＵアプリケーションで使用するための統計モデルの開発において、ユーザを支援することができる。図３は、ＩＤＴの例示的なグラフィカル・ユーザ・インターフェース（ＧＵＩ）３００内に提示された、例示的なツリー・エディタ・ビュー３１０を示す図である。当該ツリー・エディタ・ビューは、クラス・ツリーと解析ツリーの両方を含むことができる、意味ツリーを表示する直感的な方法を提供するものである。図３に示されるように、テキストのコーパスからの例示的な文がツリー・フォーマットで表示されている。ツリー状の文構造は下から上へと流れるものであり、この場合は単語である終端から非終端へと流れ、非終端から「！Ｓ！」と示されたルート・ノードへと流れる。とりわけ、非終端から他の非終端へと流れて、複数レベルの文構造に対処することができる。場合によっては、終端から直接ルート・ノードへと流れることもできる。いずれの場合も、終端および非終端のデータ項目に対応する記述を完全に構成することができる。具体的に言えば、ＮＬＵシステム設計者は、終端および非終端データ項目（および対応する記述）の適切なセットを決定して、意味および文脈を指定することができる。これらのユーザが構成した終端および非終端のデータ項目を、ＩＤＴ内に組み込むことができる。
【００３２】
たとえば図３は、財務システムと共に働くように調整されたＮＬＵシステムに対処する、一連の終端および非終端データ項目を示す図である。終端および非終端データ項目はツリー構造で編成され、ツリーのルートは当該構造の頂点にある。このルート・ノードから親ノードが子ノードへと分岐し、さらにこれらの子ノードは他の子ノードに対する親ノードとして働く。ツリー構造は、コーパス・テキストの実際の単語に達するまで下方へと続く。たとえば、図３に示されるように、単語「ｗａｎｔ」３２０には終端「ｎｕｌｌ」３３０によって注釈が付けられている。とりわけ、文に関する文脈上の情報または意味を、もしもあったとしてもそれほど多く伝えているものとは識別されない単語に、「ｎｕｌｌ」終端を適用することができる。また、単語「ｆｉｒｓｔ」３４０には終端「ｓｅｌｅｃｔ」３５０によって注釈が付けられており、これがその親へ、この場合は非終端の「ＳＥＬＥＣＴ」３６０へと流れる。「ＳＥＬＥＣＴ」非終端３６０は、他の非終端「ＦＵＮＤ−ＩＮＦＯ」３７０である親ノードへと流れる。したがって、意味ツリーの「ＳＥＬＥＣＴ」非終端３６０は、「ＦＵＮＤ−ＩＮＦＯ」の子であり、「ｓｅｌｅｃｔ」に対しては親である。次に「ＦＵＮＤ−ＩＮＦＯ」は、テキスト文字列のルート・ノードであり最高レベルを示す「！Ｓ！」へと流れる。終端および非終端の名前は、完全にユーザが構成することができる。たとえば、統計モデルが旅行予約システムと共に働くように設計されている場合、アプリケーション開発者またはユーザは、アプリケーション特有の単語グループ分けを表すように終端および非終端を構成することができる。その場合の例には、休暇の種類、出発日、到着日、旅行期間、およびその他を含めることができる。
【００３３】
非注釈付け文の場合、ＩＤＴはデフォルトの終端および非終端の注釈付けプログラムを使用して、解析ツリーまたはクラス・ツリーを完了させることができる。デフォルトの非終端注釈付けプログラムが「ｎｕｌｌ」の場合、ＩＤＴはメモリ内に格納された個々の単語を照会して、他の好適または適当な非終端を選択することができる。依然としてＩＤＴは、デフォルトの非終端ではなく、特定の単語に対して以前に指定された非終端注釈付けプログラムを使用することができる。
【００３４】
部分的に注釈付けされた文の場合、ＩＤＴはその文に関する解析ツリーまたはクラス・ツリーを自動的に完了させることができる。その場合ＩＤＴは、決定された解析ツリーを有するメモリから文を検索することが可能であり、当該文は入力された文に似ているか、または部分的に注釈付けされた文である。したがってＩＤＴは、格納された解析済みの文に基づいて、入力された文に対する完全な解析ツリーを提案することができる。この方法でＩＤＴは、自動完了機能を使用して、テキスト文に対するクラス・ツリーおよび解析ツリーを決定することができる。別の方法として、ユーザは、終端および非終端を挿入すること、ならびにノードを適切な分岐線に接続することによって、ＩＤＴを使用して意味ツリーを手動で構築することができる。
【００３５】
解釈データは、いくつかの方法で、ツリー・エディタ・ビューを使用してグラフィカルに編集することができる。たとえば、ツリー・エディタ・ビューでは、テキストのコーパスを有する単語の編集が可能であり、終端および非終端の編集が可能であり、分岐の編集が可能である。前述の編集はそれぞれ、ドラッグ・アンド・ドロップ、右および左クリック、ならびにダブル・クリック・アクションなどの、従来のポインタ制御アクションを使用して実行することができる。たとえばツリーのノードは、そのノードを選択し、そのノードをドラッグしてユーザが意図する新しい親の上でドロップすることにより、異なる親を指すように編集することができる。このアクションは、選択されたノードへの以前の親からのリンクを外し、そのノードを新しい親にリンクさせるものである。さらにユーザは、ツリーの分岐を手動で描くか、またはＩＤＴ内で様々な機能を使用して分岐を描くことが可能であり、その結果として生じるツリーの形状は読取り可能な構造を有する。ＩＤＴは、任意のツリー分岐が他のツリー分岐と重複するかまたは交わることがないようにする設定を含むことができる。ユーザは、分岐の角度、および直線または曲線の分岐を選択することが可能であり、その結果として生じるツリーの形状は読取り可能な構造を有する。さらに、テキスト、テキスト・サイズ、充てんカラー、および充てんパターンは、ユーザが構成することができる。システム内の有効なツリーは、最終的に「！Ｓ！」などのルート記号またはルート・ノードを代表する何らかの他の記号につながる単語を含まなければならないことを理解されたい。したがってＩＤＴは、無効なツリー構造を生じる結果となるような、特定の編集制御またはアクションを使用禁止にする安全機能を含むことができる。
【００３６】
図４は、本明細書に開示された本発明の配置構成に従っていくつかの異なる検索機能を実施するための、例示的なＧＵＩ３７５を示す概略図である。図に示されるように、様々な異なる方法でユーザがテキストの注釈および構造を検索できるようにする、ＧＵＩ３７５が提供可能である。具体的に言えば、ユーザは、特定のタグに関してはフィールド３８０を使用し、特定のラベルに関してはフィールド３８５を使用し、特定のツリー構造および／または下部構造に関してはフィールド３９０を使用して、テキスト注釈を検索することができる。たとえば、ユーザは、大規模なツリー構造のうちの小さなセグメントを描画し、フィールド３９０に指定されたツリー構造に似ている構造を注釈データから検索することができる。
【００３７】
ツリー構造それ自体を使用して、他の関連または一致する構造を検索することができる。具体的に言えば、ＩＤＴは、ユーザが意味ツリーの一部を選択できるようにするものである。いったん選択すると、ユーザは、選択された構造に一致する構造を他の意味ツリーから検索するように、ＩＤＴに指示することができる。たとえばユーザは、ユーザがテキストのコーパス内のどこかに配置しようと考える構造を有するツリー・ノードを、マウスを使用して四角で囲むことができる。ユーザが描いた四角の中にある意味ツリーの項目またはノードを、選択することができる。いったん選択されると、ＩＤＴは、データベース機能を使用して注釈付けされたテキストのコーパスを検索し、一致する構造を突き止めることができる。キーボードのキーストロークの異なる組合せなどの、ツリー・ノードを選択する他の方法も使用できることを理解されたい。したがって本発明は、意味ツリー構造を選択する特定の方法に限定されるものではない。
【００３８】
終端および非終端の両方を編集または作成するための、例示的なＧＵＩ４００を提供することができる。したがって、以下の考察では非終端について述べるが、これは、終端および非終端のどちらにも適用可能である。このユーザ・インターフェースは、ユーザが新しい非終端（場合によってはタグと呼ばれることもある）を記述できるようにするものである。また、既存の非終端の定義を編集することもできる。この機能を呼び出す場合、ユーザは、非終端が作成または編集される単語を選択し、当該非終端を編集または作成するためのユーザ・コマンドを発行することができる。フィールド４０５は、１つまたは複数の選択されたツリー・ノードのすべての親および子ノードの交差を取り、当該交差を、選択された単語またはノードに可能なラベル選択肢としてユーザに提示することができる、「許容ディクショナリ・リスト（Ｄｉｃｔｉｏｎａｒｙ  Ａｌｌｏｗｅｄ  Ｌｉｓｔ）」である。さらに、ノードの交差内で、許容ディクショナリ・リストは、以前の親および子ノードが他の意味ツリー内で編成されていた方法、ならびに、親および子ノードから延在する分岐と親および子ノードへつながる分岐の方向に関する他の履歴情報を、考慮に入れることができる。本発明の一実施形態では、自動モードを提供することができる。自動モードでは、可能な終端または非終端を許容ディクショナリ・リストが１つだけ含んでいる場合、ＩＤＴは、ユーザが選択した単語または単語のグループに適用される終端または非終端を自動的に選択することができる。
【００３９】
フィールド４１０は、システムで定義されたすべての終端または非終端をユーザに提示することができる、ＧＵＩ４００のディクショナリ・フィールドである。ユーザが終端または非終端を選択するためにリストを使用するかどうかに関わらず、記述フィールド４１５は、選択された項目の適切な使用法に関する情報をユーザに提供することができる。フィールド４１５の記述は、ユーザが特定の終端または非終端の適切かつ所期の用途を学習するのを支援することができる。たとえば、ＩＤＴによって、ユーザがツール・エディタ・ビュー内でポインタを終端または非終端の上に移動させたときに、記述それ自体をツール・チップとして表示することができる。これは、新しい開発者が既存のＮＬＵ開発チームに加入し、その開発チームが使用する注釈付けの方法を習得しなければならない場合に、特に有益な可能性がある。
【００４０】
ユーザがまだ定義されていない新しい終端をＩＤＴに入力したい場合、ユーザは「新規タグ（Ｎｅｗ  Ｔａｇ）」アイコン４２０を選択することができる。図６は、その場合にアイコン４２０の起動に応答してＩＤＴが表示することのできる、例示的なＧＵＩ５００を示す図である。図６の例示的ＧＵＩ５００は、ユーザが、新しい終端または非終端をフィールド５１０に、付随する記述をフィールド５２０に入力できるようにするものである。
【００４１】
図７は、図３のＧＵＩと同様のツリー・エディタ・ビューを提示するための、他の例示的ＧＵＩ６００を示す図である。図に示されるように、例示的ＧＵＩ６００には、ＧＵＩ６００のウィンドウ６１０内でアクセス可能な例示的ポップアップ・メニュー６０５が含まれる。とりわけ、このポップアップ・メニュー６０５から前述の機能の多くに直接アクセスすることができる。たとえばユーザは、追加の非終端の追加、構成ファイル内に指定された統計モデルに従った文の分類を含む解析ツリーの自動完了の選択、ツリーのノードの編集、単語構造または文全体の構造の検索、ならびに、アクションの削除または取消しを実行することができる。さらに図に示されるように、それぞれの単語が対応するタグですでに注釈付けされているために、「タグの追加（Ａｄｄ  Ｔａｇ）」機能は使用不可である。とりわけ本発明のこの実施形態では、タグおよびラベルという用語は特定の終端または非終端に関連して使用されている。たとえば、タグは単語に割り当てられ、ラベルはタグのグループ分けに構造を割り当てる際に使用することができる。したがって、ルート・ノードまでの解析ツリーを完了するためにはラベルのみが使用可能である。
【００４２】
図８は、ツリー・エディタ・ビューを提示するための他の例示的ＧＵＩ７００を示す図である。この場合、ユーザはツリー・エディタ・ビューに示されたテキストのコーパスの単語を編集することを選択した。とりわけ、ユーザはトレーニング文の単語を選択し、その単語の編集を選択した。以前の単語の代わりに、新しい単語「ｄｅｓｃｒｉｐｔｉｏｎ」７０５が入力されている。したがってユーザは、テキストの実際のコーパス、ならびにＩＤＴのいずれかのツリー・エディタ・ビューからの終端、非終端、およびツリー構造を編集することができる。とりわけこの場合は、ツリーの単語を変更してもツリーの形状は変化しないが、古い単語が新しくユーザが指定した単語に置き換えられる。さらに、ＩＤＴは、メモリからの文と編集された文とが一致するかどうかをチェックすることができる。一致する場合、既存のツリーを使用するか、または既存のツリーを新しく編集したツリーに置き換えるかに関して、ユーザに照会することができる。
【００４３】
図９は、ユーザが文変更機能を呼び出した、ツリー・エディタ・ビューを提示するための他の例示的ＧＵＩ８００を示す図である。こうしたユーザの要求に応答して、ＩＤＴは、ユーザが任意のツリー・エディタ・ビュー内からトレーニング・コーパス文全体を編集することのできる、例示的ＧＵＩ８０５を表示することができる。とりわけ、ユーザが文を編集する際に、任意の解析ツリー、クラス・ツリー、および編集済みの文にはもはや対応しない他の解釈情報を、データベース内で更新することができる。ＩＤＴは、既存の文を検索して、他の文が新しく編集した文と一致するかどうかを判別することができる。一致する場合、一致する文のクラス・ツリーおよび解析ツリーのデータを、新しく編集された文に関連付けることができる。さらにこの機能により、ユーザは、テキストのコーパスが読み取られるかまたは処理されるときに、以下で論じるいくつかのオプションのうちの１つを使用して、そのコーパスに導入されたエラーを修正することができる。
【００４４】
図１０は、ツリーの基部を有する単語を表示するために使用可能な、例示的ＧＵＩ９００を示す図である。文はフィールド９２５内にリスト表示可能であり、情報はいくつかの異なる列フィールドに従って編成可能である。具体的に言えば、列見出し９０５を使用して、テキストのコーパス内での個々の文の番号位置を表示することができる。列見出し９１０は、カウント、すなわちその正確なテキストがテキストのコーパス内に現れる回数を表示するために、予約することができる。列見出し９１５は、文の先頭に付けられるフィードバック・タグ、ならびに文のテキストを表示することができる。フィードバック・タグは、文が対応する形式名およびスロット名を示すことができる。フィードバック・タグは、別の列にリスト表示するか、または文のテキストの前に付けることができる。さらにユーザは、ＩＤＴを文の分類モードにするボタン９２０を起動することによって、他のビューに切り替えることができる。図に示されるように、クラス名またはタグが文に組み込まれている。とりわけ、同じＧＵＩスタイルを使用して、解析済みまたは分類済みの両方の文をユーザに提示することができる。したがって、文の単語を、場合に応じて終端または非終端に置き換えることができる。
【００４５】
リスト表示された文は、文番号列、カウント番号列、またはテキスト列に従って昇順または降順でソートすることができる。ＧＵＩ９００は、各文に含まれる単語の数を示す列を含むこともできる。ユーザはこの情報を使用して、分類または解析を開始するための短い文を選択することができる。文を昇順または降順でソートすることが可能であり、任意の列カテゴリに基づいて検索またはフィルタリングすることが可能であることを理解されたい。
【００４６】
ＧＵＩ９００に含まれる表示列は、ＩＤＥによって追跡される任意のデータに従ってユーザが構成できるものである。たとえば、所与の文に対応するフィードバック・タグ、プロンプト、解析ツリー・スコア、またはアプリケーション・フォームを指定する、追加の列を含めることができる。解析プログラムまたは分類プログラムによって決定された、文の注釈付けランクを示す列を含めることができる。たとえば、ランク１は、モデルが正しい答えを予測する最も高い可能性を示すことができる。ランクが高いほど、モデルが正しい答えを予測する可能性は低くなる。文がトレーニングまたは平滑化（ｓｍｏｏｔｈｉｎｇ）に使用されるかどうかを示すことが可能な、状況列を含めることができる。文法生成、ユーザによる入力、パイロット・テスト中の会話、システム・テスト中の会話、展開中の会話、またはその他などの、文がどのように集められたかを示す情報を含めることもできる。いずれの場合も、前述のリストが網羅的であるという意味ではない。
【００４７】
図１１は、ディクショナリ・スタイルの単語ビューを提示するために使用可能な、例示的ＧＵＩ１０００を示す図である。このビューを使用して、終端、非終端、または注釈付き単語の完全なリストを表示することができる。当該表示は、特定のテキストのコーパス内で使用されない終端および非終端を表示する必要がないように、構成することができる。とりわけユーザは、現在のビューをさらに示す起動可能アイコン１０２５を起動することによって、分類ビューと解析ビューとの間を前後にトグルすることができる。この場合、当該ビューはディクショナリ解析ビューである。注釈付けされていない単語を単語ビュー内に表示することができるが、必ずしも必要ではない。図１１に示されるように、ウィンドウ１００５の単語ビューは、少なくとも２つの見出しに再分割することができる。見出しは、単語見出し１０１０と終端または非終端見出し１０１５を含むことができる。終端または非終端見出し１０１５では、括弧に入った数字で、データがテキストのコーパスに現れた回数を示すことができる。ユーザは、カウントを実行可能または実行不能にすること、ならびにＧＵＩ１０００内の項目の色およびフォントを調整することができる。また、ＩＤＴは、ユーザがカウントの少ない項目とカウントの多い項目とを区別できるようにするものでもある。たとえば、ＩＤＴはカウントの少ない項目を１つの色で表し、カウントの多い項目を別の色を使用して表すことができる。さらに、特定の終端または非終端のカウントが特定のプログラム可能しきい値よりも少ない場合、システムは、終端または非終端の統計精度を上げるためにはより多くのデータが必要であることを示すことができる。一実施形態では、特定の情報項目を、開発者が適切であるとみなす統計的または発見的情報に基づいてハイライト表示することができる。
【００４８】
例示的ＧＵＩ１０００を使用して、終端が非終端まで延在する方法を表示することもできる。たとえば、終端を列見出し１０１０の下にある列に配置し、非終端を列見出し１０１５の下にある列に配置することができる。ディクショナリ・タグ・ビューでは、特定のノードから親ノードへと延在する分岐の方向を表示することができる。たとえば、ポインティング・デバイスを使用して、ユーザが特定の非終端上で右クリックすると、ＩＤＴは子ノードから親ノードへと延在する分岐の方向を表示することができる。可能な方向には、単項（ｕｎａｒｙ）、左、中、右、上、または下が含まれる。
【００４９】
さらに例示的ＧＵＩ１０００を使用して、非終端が他の非終端に接続する方法を表示することができる。この場合、ラベルが他のラベルと接続できることから、ラベルはどちらの列にも配置可能であることを除いて、ビューはタグ・ビューと同様とすることができる。いずれの場合も、ＧＵＩ１０００はユーザによる構成が可能である。一態様では、列の順序付けをユーザが決定することができる。たとえば、タグ列および付随する番号情報を単語列の左に表示することができる。同様に、単語列の左の列に、テキストのコーパスに単語が現れた合計回数を表示することができる。単語列の右には、単語が特定のタグまたはルートとしてタグ付けされた回数を示す番号を表示することができる。それでも、列の順序付け、ならびに他の解釈情報を表示するための追加の列を含めることは、ユーザによる構成が可能である。
【００５０】
ディクショナリ・スタイル・ビューの他の実施形態では、解釈情報、ならびに具体的には、ディレクトリ・ツリー構造と同様に終端および非終端情報を、ユーザに提示することができる。この場合、タグはグラフィックではルートとして提示することが可能であり、ラベルはグラフィックではルートの下に折りたたみ式構造として示すことが可能である。さらに、他の非終端に接続する非終端は、グラフィックではそれらの親である非終端の下に示すことが可能である。ユーザは、終端または非終端をクリックして、下にある構造を展開および表示するか、または終端または非終端をクリックして、下にある構造を折りたたむことができる。ディレクトリ・ツリー・ビューは、終端および非終端が構築中の統計モデル内で使用されている間に、終端および非終端の階層全体の直感的なグラフィカル表示をユーザに提供することができる。
【００５１】
検索機能をディクショナリ・ビューに含めて、ユーザが特定のエントリを有するデータ項目を検索できるようにすることができる。たとえばユーザは、特定のタグまたはラベルを検索すること、ならびに、タグまたはラベルを、注釈データ内でタグまたはラベルが発生した回数などのパラメータによって検索することができる。当該検索機能は、終端と非終端との間にユーザが指定した関係を検索することもできる。例えばユーザは、右、左、上、または単項などの特定の方向から、ノードから延在するかまたはノードに到達する分岐を有する、任意のノード、親および／または子に関して、注釈データを検索することができる。
【００５２】
ディクショナリ・ビューにフィルタ機能を含めることもできる。ユーザは、ＧＵＩ１０００を介して、データ項目ソース、データ項目ターゲット、データ項目に関連付けられた方向、またはデータ項目に関連付けられた注釈付けプログラムなどのパラメータに従って、表示された情報をフィルタリングすることができる。ユーザは、データが注釈付けされているかまたはいないかを示す注釈状況、子ノードが親として「Ｎ」よりも多くの注釈付けされた例を有するかどうかを示すノード・カウント、特定のデータ・ファイルからの関係のみが表示されるデータ・ファイル、特定の文からのみ導出された関係を表示するための文の領域、ならびに、トレーニング、平滑化、および／またはテスト・データからの関係を表示するための使用状況に従って、データをフィルタリングすることもできる。
【００５３】
図１２は、ＩＤＴの構築構成要素と共に使用可能な例示的ＧＵＩ１１００を示す図である。例示的ＧＵＩ１１００には、ＮＬＵアプリケーションを「構築」するために実行可能なスクリプトを指定するための、いくつかのフィールドが含まれる。フィールド１１０５を使用して、デフォルトのパラメータ、他の特定用途向けパラメータ、実行されるスクリプト、ならびにスクリプトが実行された後に表示される情報を指定することが可能な、特定のファイルを指定することができる。さらに当該ファイルは、回帰テスト中に処理および使用されるテキスト・ファイルを指定することもできる。記述（Ｄｅｓｃｒｉｐｔｉｏｎ）フィールド１１１０には、スクリプトの機能の記述が含まれる。パラメータ・リスト（Ｐａｒａｍｅｔｅｒ  Ｌｉｓｔ）フィールド１１１５には、スクリプトの実行に使用可能なパラメータのリストを表示することができる。フィールド１１２０を使用して、スクリプトに関連する可能性のある任意の追加の情報または所見を伝えることができる。とりわけ、記述フィールド１１１０および追加情報（Ａｄｄｉｔｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ）フィールド１１２０は、ユーザのチームまたはアプリケーション開発者がＮＬＵアプリケーションを開発中である開発環境で役立つ可能性がある。
【００５４】
図１３は、ＩＤＴの回帰テスト構成要素と共に使用可能な、例示的ＧＵＩ１２００を示す図である。とりわけ、ＧＵＩ１２００は、２つの部分に再分割することができる。フィールド１２０５は、テキストのコーパスのユーザの注釈から決定された真の意味ツリーを表示することができる。フィールド１２１０は、図１２のフィールド１１０５で以前に指定された構成ファイルに指定された統計モデルを使用して、ＩＤＴによって生成された意味ツリーを表示することができる。したがって、構成ファイル内に複数の統計モデルを指定することが可能であり、それによって各統計モデルの結果を比較することができる。たとえば、ＧＵＩは第３の部分を含むことが可能であり、ここでＧＵＩは、回帰テスト中に使用された各統計モデルに対して１つの部分を有し、真に対して別の部分を有する。この２つのツリーの相違点を、自動的にハイライト表示することができる。異なる確率が最も高く、不正な結果につながるような相違点は、さらに強調させることができる。したがって、どこからデバッグを開始すればよいかというヒントを、ユーザに与えることができる。ユーザは、例示された意味ツリー間の相違点を視覚的に確認することができる。
【００５５】
ユーザは、結果として生じる意味ツリー、この場合は解析ツリーを、１つずつ循環させることができる。例えばユーザは、各回析ツリーに対応する信頼スコアで示された上位「ｎ」個の選択肢を循環させることができる。信頼スコアは、真ではなく、結果として生じる解析ツリーが基礎となる統計モデルをどこまで細密に反映しているかについて、ＩＤＴが解釈したインジケーションを提供するものであることを理解されたい。高い信頼スコアを有する結果として生じる解析ツリーと、真と細密に一致する結果として生じる解析ツリーとの間には、対応関係が存在する可能性がある。とりわけ、上位「ｎ」個の選択肢のうちの１つは、真と一致する統計モデルである可能性がある。にもかかわらずユーザは、特に真が正しくない場合に、可能な解釈を循環させて、将来の編集の基点とすることのできる解釈を見つけることができる。
【００５６】
さらに図１３には、モデルの信頼スコアがユーザに対して表示されていることをユーザに通知する、自動完了スコア（Ａｕｔｏｃｏｍｐｌｅｔｉｏｎ  Ｓｃｏｒｅ）１２１５も示されている。各ノードまたは各ノードに対応するテキストの信頼スコアなどの追加情報を、ノード内に表示するか、またはポインタが意味ツリーのノード上に置かれたときにツール・チップとして表示することができる。一実施形態では、ノードを拡張して増加した解釈情報を収容することができる。ノードの信頼スコアは、エラーを検出する際、あるいは特定の解析ツリーがなぜ真に近似または一致しなかったかを判別する際に、開発者を支援することができる。しかしながら、ＩＤＴは、様々な意味ツリーの特徴および設定のいずれかを、ツール・チップとしてまたはノード内に表示できるように構成可能であることを理解されたい。ＧＵＩ１２００は、正しい注釈のスコアが、モデルから抽出された回答の最高スコアよりも高い場合に、メッセージを提示することもできる。その場合、モデルは正しい回答を予測しており、統計モデルの検索メカニズムには問題が生じている。これは通常、検索の範囲を広げることによって修復され、開発者が直接何らかのデバッグを行う必要はない。
【００５７】
さらに図１３のＧＵＩを使用して、同じ文の注釈データの異なるステージを示すこともできる。具体的に言えば、第１のパス、たとえば解析パスから生じた注釈データを１つのウィンドウに表示し、分類パスなどの第２のパスから生じた注釈データを他のウィンドウに表示することができる。しかしながら、分割画面ＧＵＩ１２００は異なる文を表示することもできる。たとえば、１つのウィンドウを使用して文のビューを保持し、第２のウィンドウを使用して特定の構造を有する他の文を検索することができる。
【００５８】
さらに分割画面ＧＵＩ１２００を使用して、文脈の異なる同じテキスト文について２つの異なる注釈を表示することもできる。たとえば、解析「ｗｈａｔ’ｓ  ａｖａｉｌａｂｌｅ」は、「ｈｏｗ  ｍａｙ  Ｉ  ｈｅｌｐ  ｙｏｕ」または「ｗｈａｔ  ｆｕｎｄ  ｗｏｕｌｄ  ｙｏｕ  ｌｉｋｅ  ｔｈｅ  ｐｒｉｃｅ  ｏｆ」、あるいは「ｈｏｗ  ｍｕｃｈ  ｗｏｕｌｄ  ｙｏｕ  ｌｉｋｅ  ｔｏ  ｗｉｔｈｄｒａｗ」に答える場合に、異なる意味をとる。
【００５９】
図１４は、ＩＤＴのインポート構成要素と共に使用可能な例示的ＧＵＩ１３００を示す図である。インポート構成要素は、いくつかの方法のうちのいずれかを使用して既存のテキストのコーパスをインポートすることができる。たとえば、テキストのコーパスは、文の注釈付けされていないテキスト・ファイルまたは注釈付けされたテキスト・ファイルとしてインポートすることができる。さらに、従来のＮＬＵシステムはユーザの応答を格納できるものであるため、ＮＬＵシステムのログを調べて、解析プログラムの出力、分類プログラムの出力、または言語モデル・テキストのデータを取得することができる。前述のデータ・タイプは、それぞれＩＤＴにインポートすることができる。他の実施形態では、ユーザは、ディクショナリ・スタイル・ビューまたはツリー・ビューを使用して、テキスト文をＩＤＴに１つずつ直接タイプ入力することができる。
【００６０】
さらに他の実施形態は、テキストのコーパスを表現するユーザが話した言葉を含むデジタル・オーディオ・ファイルを受け取ることができる。別の方法としてＩＤＴは、サウンド・カードなどのアナログ−デジタル変換器を介して、アナログ・オーディオ・ソースをデジタル形式で記録することができる。にもかかわらず、ＩＤＴは、ユーザが話した言葉をテキストに変換してトレーニング・コーパスを導出するための音声認識システムを含むことができる。その場合、テキストのコーパスのデジタル記録を、将来の使用および分析用、ならびにＩＤＴ使用時の再生用に、メモリに格納することができる。トレーニング・テキスト・コーパスを表現するオーディオ・ファイルを特定のテキスト句または文に関連付けると、その結果としてユーザまたは開発者は、トレーニング・テキストのオーディオ表現を聞くこと、ならびにテキストに関係する注釈情報を見ることができる。たとえば、オーディオ・ファイルの位置およびファイル名を指定することによって、テキストの一部、テキストに注釈が付けられているか、付けられていないか、分類プログラムの出力、または解析プログラムの出力を、オーディオ・ファイルに関連付けることができる。別の方法として、オーディオ・ファイルを指定して、開発者が関連付けられたテキストをＩＤＴにタイプ入力することもできる。
【００６１】
ＧＵＩ１３００は、テキストのコーパスをインポートするときにインポート構成要素の設定を調整するために使用することができる。フィールド１３０５を使用して、ＩＤＴにインポートされるファイルの名前およびパスを表示することができる。とりわけこのファイルは、注釈付けされたテキストのコーパス、注釈付けされていないテキストのコーパス、および／または、処理される音声のデジタル記録または音声認識エンジンから導出されたテキスト・ファイルを含む音声ファイルとすることができる。フィールド１３１０は、インポートされるファイル内でＩＤＴによって認識された文の数を示すことができる。コントロール１３１５、１３２０、１３２５、および１３３０は、インポートのタイプ、あるいはＩＤＴに組み込まれている現在の統計モデルにどの文および対応する注釈データが組み入れられるかを決定する。たとえば、コントロール１３１５を起動すると、結果としてＩＤＴはすべての文を追加する。文がすでにデータベースに含まれている場合、ＩＤＴはインポートされた文に対してＩＤＴ内に定義されているツリー構造を使用する。コントロール１３２０を起動してもいずれの文もインポートされないが、インポート済みファイル内の重複する文に対応する注釈データで、ＩＤＴに含まれる注釈データを上書することになる。コントロール１３２５を起動すると、リレーショナル・データベース内にすでに含まれている文であるにもかかわらず、すべての文を追加する。しかしながらコントロール１３２５は、インポート済みファイルからの重複する文に対応する注釈データで、ＩＤＴ内の注釈データを上書することになる。コントロール１３３０を起動すると、リレーショナル・データベース内に含まれていない、インポート済みファイルからの文および注釈データのみを追加することになる。コントロール１３３５を起動すると、前述のインポート基準に従って、指定されたファイルがインポートされる。
【００６２】
図１５は、インポート済みファイル内に位置する終端および非終端を現在の統計モデルに追加するために使用可能な、例示的ＧＵＩ１４００を示す図である。たとえばＩＤＴは、注釈付けされたテキスト・ファイルをインポートした後、当該の注釈付けされたインポート済みテキスト・ファイル内で、現在の統計モデル内に存在しない終端および非終端を識別することができる。したがって、ユーザに提示可能なＧＵＩ１４００では、ウィンドウ１４０５内で新しい終端および非終端をユーザに提示することができる。とりわけ、「タグ／ラベル（Ｔａｇ／Ｌａｂｅｌ）」列１４１０内のインジケーションは、新しい項目を、たとえばタグまたはラベル（終端または非終端）として識別することができる。特定のタグまたはラベルの正確なスペリングは、「スペリング（Ｓｐｅｌｌｉｎｇ）」列１４１５にリスト表示することができる。ユーザは、「記述（Ｄｅｓｃｒｉｐｔｉｏｎ）」列１４２０に、タグまたはラベルに関する機能または他の関連情報の適切な記述を記入することができる。とりわけユーザは、特別なＧＵＩを必要とせずに、テキストをＧＵＩ１４００に直接入力して記述列に記入することができる。したがって、タグまたはラベル記述の編集は、所望のタグに対応する記述の行および列を選択することで「インライン」で実行することができる。
【００６３】
ユーザは、本明細書で開示されたＩＤＴが解釈情報の様々な側面を表すために、様々な色、パターン、サウンド、および記号を含む様々な方法のうちのいずれかで解釈情報を描写するように、構成することができる。同様にユーザは、ＩＤＴ内で使用される終端または非終端をカスタマイズすることができる。したがって、上記明細書では本発明の好ましい実施形態について例示および説明しているが、本発明が本明細書で開示された精密な構造に限定されるものでないことを理解されよう。本発明は、その趣旨または不可欠な属性から逸脱することなく、他の特定の形式で具体化することが可能である。したがって、本発明の範囲を示すものとしては、上記明細書ではなく特許請求の範囲を参照すべきである。
【００６４】
本発明は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せで実現することができる。本発明は、１つのコンピュータ・システム内の集中型方式、または異なる要素がいくつかの相互に接続されたコンピュータ・システムにまたがって分散している分散型方式で、実現することができる。本明細書に記載された方法を実施するように適合された、任意の種類のコンピュータ・システムまたは他の装置が好適である。ハードウェアとソフトウェアの典型的な組合せは、ロードおよび実行されると、本明細書に記載された方法を実行するようにコンピュータを制御するコンピュータ・プログラムを備えた、汎用コンピュータ・システムとすることができる。
【００６５】
本発明は、本明細書に記載された方法の実施を可能にするすべての機能を有し、コンピュータ・システムにロードされるとこれらの方法を実行することが可能な、コンピュータ・プログラム記録媒体で具体化することもできる。この文脈でのコンピュータ・プログラムとは、情報処理機能を有するシステムに、特定の機能を実行させることを意図した命令セットの、任意の言語、コード、または表記法での任意の表現式を意味するものであり、当該特定機能の実行は、直接、あるいはａ）他の言語、コード、または表記法への変換、ｂ）異なる材料形式での再生のうちの、いずれかまたは両方を実行した後に行われる。
【図面の簡単な説明】
【００６６】
【図１】本発明が使用可能なコンピュータ・システムの例を示す概略図である。
【図２】本明細書で開示された本発明が実施可能なシステム・アーキテクチャの例を示す概略図である。
【図３】例示的なツリー・ビューのグラフィカル・ユーザ・インターフェースを示す図である。
【図４】自然言語理解解釈情報を検索するための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図５】タグを修正および作成するための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図６】新しいタグを定義するための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図７】意味ツリー・ビューを示す例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図８】意味ツリー・ビューを示す他の例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図９】意味ツリー・ビュー内のテキストを修正するための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１０】トレーニング・テキスト・コーパスの文および／または句を表示するための、例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１１】ディクショナリ・スタイル・ビュー内に終端および非終端のデータ項目を表示するための、例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１２】本明細書に開示された本発明の構築ビューおよび構成要素を示す、例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１３】複数の意味ツリーを表示するための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１４】データをインポートするための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１５】インポート済みデータ内で終端および非終端を識別するための例示的なグラフィカル・ユーザ・インターフェースを示す図である。
【図１】
2005537532.tif 000003
【図２】
2005537532.tif 000004
【図３】
2005537532.tif 000005
【図４】
2005537532.tif 000006
【図５】
2005537532.tif 000007
【図６】
2005537532.tif 000008
【図７】
2005537532.tif 000009
【図８】
2005537532.tif 000010
【図９】
2005537532.tif 000011
【図１０】
2005537532.tif 000012
【図１１】
2005537532.tif 000013
【図１２】
2005537532.tif 000014
【図１３】
2005537532.tif 000015
【図１４】
2005537532.tif 000016
【図１５】
2005537532.tif 000017
【国際調査報告】
2005537532.tif 000018
2005537532.tif 000019
2005537532.tif 000020