(57)【特許請求の範囲】
【請求項１】
処理ユニットと、
前記処理ユニットに結合されたメモリと、を備え、
言語理解分類子モデルを更新するための動作を行うように構成されたサーバコンピュータであって、前記動作が、
前記サーバコンピュータに通信可能に結合された複数のコンピューティングデバイスの少なくとも１つのコンピューティングデバイスから、複数の利用可能なインテントの少なくとも１つのインテントおよび／または前記少なくとも１つのインテントのための少なくとも１つのスロットのうちの少なくとも１つの第１のユーザ選択を受信することであって、
前記少なくとも１つのインテントが、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられ、
前記少なくとも１つのスロットが、前記少なくとも１つのアクションを行うために使用される値を示し、
前記第１のユーザ選択が、前記少なくとも１つのコンピューティングデバイスで受け取られるデジタル音声入力と関連付けられる、ことと、
前記第１のユーザ選択と同一であり、複数の後続のデジタル音声入力と関連付けられた複数の後続のユーザ選択を、前記複数のコンピューティングデバイスの少なくとも別のコンピューティングデバイスから受信したときであって、前記複数の後続のデジタル音声入力が前記デジタル音声入力と実質的に同様である、とき、
前記デジタル音声入力を前記第１のユーザ選択とペアリングすることによってラベル付きデータセットを生成し、
各々がデバイス機能と関連付けられた１つまたは複数のエージェント定義と関連付けられた複数の利用可能な言語理解分類子から言語理解分類子を選択し、前記選択することが少なくとも、前記少なくとも１つのインテントに基づき、
前記生成されたラベル付きデータセットに基づいて前記選択された言語理解分類子を更新することと、
を含む、サーバコンピュータ。
【請求項２】
前記動作が、
前記複数の後続のユーザ選択の数を決定することと、
前記複数の後続のユーザ選択の前記数が第１の閾値より高いとき、前記生成されたラベル付きデータセットに基づいて、前記選択された言語理解分類子を自動的に更新することと、
をさらに含む、請求項１に記載のサーバコンピュータ。
【請求項３】
前記動作が、
前記エージェント定義と関連付けられた前記複数の利用可能な言語理解分類子を、前記コンピューティングデバイスでローカルストレージに記憶することと、
前記更新された言語理解分類子を前記コンピューティングデバイス内でユーザのプロファイルと関連付けることと、
前記更新された言語理解分類子を前記ローカルストレージに記憶することと、
前記更新された言語理解分類子を、前記コンピューティングデバイス上で動作するデジタルパーソナルアシスタントと少なくとも１つのサードパーティアプリケーションとの間で共有することができる共通リソースとして指定することと、
をさらに含む、請求項１に記載のサーバコンピュータ。
【請求項４】
前記更新することは、以前のインテントおよび／またはスロットの少なくとも１つとの前記選択された言語理解分類子の関連を、前記ユーザ選択の前記インテントおよび／または前記少なくとも１つのスロットの少なくとも１つとの新たな関連で置き換えることを含む、請求項１に記載のサーバコンピュータ。
【請求項５】
前記動作は、前記デジタル音声入力およびユーザ音声要求の一方または両方との前記選択された言語理解分類子の関連を作成することをさらに含む、請求項４に記載のサーバコンピュータ。
【請求項６】
言語理解分類子モデルを更新するための方法であって、
コンピューティングデバイスのユーザからのデジタル音声入力を、前記コンピューティングデバイスの１つまたは複数のマイクロホンを介して受け取ることと、
前記デジタル音声入力を使用して自然言語処理を行ってユーザ音声要求を決定することと、
前記ユーザ音声要求が前記コンピューティングデバイス上で動作するデジタルパーソナルアシスタントのエージェント定義における複数の予め定義されたタスクの少なくとも１つとも一致しないと決定すると、
複数の利用可能なインテントのインテントおよび前記インテントのための少なくとも１つのスロットのうちの少なくとも１つのユーザ選択を、前記コンピューティングデバイスのエンドユーザラベリングツール（EULT）のグラフィカルユーザインタフェースを使用して受け取り、
前記インテントが、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられ、
前記少なくとも１つのスロットが、前記少なくとも１つのアクションを行うために使用される値を示し、
前記ユーザ音声要求および前記ユーザ選択をペアリングすることによってラベル付きデータセットを生成し、
前記エージェント定義と関連付けられた複数の利用可能な言語理解分類子から言語理解分類子を選択し、前記選択することが少なくとも、前記ユーザによって選択された前記インテントに基づき、
前記生成されたラベル付きデータセットに基づいて前記選択された言語理解分類子を更新することであって、前記選択された言語理解分類子に対する前記更新が、ある数のユーザが実質的に同様のユーザ選択をした後にのみトリガされる、ことと、
を含む、方法。
【請求項７】
前記エージェント定義と関連付けられた前記複数の利用可能な言語理解分類子が、前記コンピューティングデバイスでローカルストレージに記憶され、前記方法が、
前記更新された言語理解分類子を前記コンピューティングデバイス内で前記ユーザのプロファイルと関連付けることと、
前記更新された言語理解分類子を前記ローカルストレージに記憶することと、
前記更新された言語理解分類子を、前記コンピューティングデバイス上で動作する前記デジタルパーソナルアシスタントと少なくとも１つのサードパーティアプリケーションとの間で共有することができる共通リソースとして指定することとをさらに含む、請求項６に記載の方法。
【請求項８】
前記更新することが、
以前のインテントおよび／またはスロットの少なくとも１つとの前記選択された言語理解分類子の関連を、前記ユーザ選択の前記インテントおよび／または前記少なくとも１つのスロットの少なくとも１つとの新たな関連で置き換えることを含む、請求項６に記載の方法。
【請求項９】
前記デジタル音声入力および前記ユーザ音声要求の一方または両方との前記選択された言語理解分類子の関連を作成することをさらに含む、請求項８に記載の方法。
【請求項１０】
前記ユーザ選択が前記インテントを備え、前記方法が、
前記インテントおよび前記ユーザ音声要求に基づいて、前記少なくとも１つのスロットを自動的に選択することをさらに含む、請求項６に記載の方法。
【請求項１１】
前記エージェント定義が、前記デジタルパーソナルアシスタントと関連付けられた音声コマンド定義（VCD）スキーマおよび反応エージェント定義（RAD）スキーマの少なくとも１つを備え、デバイス機能と関連付けられた１つまたは複数の応答対話を実装するために前記デジタルパーソナルアシスタントによって使用されるデータ／コマンド構造を指す反応エージェントを定義する、請求項６に記載の方法。
【請求項１２】
コンピューティングデバイスに言語理解分類子モデルを更新するための動作を行わせるためのコンピュータ実行可能命令を記憶するコンピュータ可読記憶媒体であって、前記動作が、
コンピューティングデバイスで受け取られるユーザ入力に基づいてユーザ要求を決定することであって、前記ユーザ要求がテキスト入力および音声入力の少なくとも１つを介して受け取られ、前記ユーザ要求が前記コンピューティングデバイス上で動作するデジタルパーソナルアシスタントの機能に対してである、ことと、
前記ユーザ要求が前記デジタルパーソナルアシスタントのエージェント定義における複数の予め定義された音声コマンドの少なくとも１つとも一致しないと決定することと、
前記ユーザ要求に前記エージェント定義と関連付けられた複数の利用可能な言語理解分
類子を適用することによって信頼スコアを生成することと、
前記信頼スコアが閾値より小さいと決定すると、
複数の利用可能なインテントの少なくとも１つのインテントおよび前記少なくとも１つのインテントのための少なくとも１つのスロットのうちの少なくとも１つのユーザ選択を、前記コンピューティングデバイスのエンドユーザラベリングツール（EULT）のグラフィカルユーザインタフェースを使用して受け、
前記少なくとも１つのインテントが、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられ、
前記少なくとも１つのスロットが、前記少なくとも１つのアクションを行うために使用される値を示し、
ユーザ音声要求および前記ユーザ選択をペアリングすることによってラベル付きデータセットを生成し、
前記エージェント定義と関連付けられた前記複数の利用可能な言語理解分類子から言語理解分類子を選択し、前記選択することが少なくとも、ユーザによって選択された前記少なくとも１つのインテントに基づき、
前記生成されたラベル付きデータセットを使用して前記選択された言語理解分類子を訓練することによって更新された言語理解分類子を生成することであって、前記言語理解分類子に対する前記更新が、ある数のユーザが実質的に同様のユーザ選択をした後にのみトリガされる、ことと、
を含む、コンピュータ可読記憶媒体。
【請求項１３】
前記動作が、
前記少なくとも１つのインテントと関連付けられた前記ドメインの選択を、前記コンピューティングデバイスの前記エンドユーザラベリングツール（EULT）の前記グラフィカルユーザインタフェースを使用して受け取ることをさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記動作が、
前記訓練することの間、前記選択された言語理解分類子を前記ユーザ要求、前記ユーザ選択の前記少なくとも１つのインテントおよび前記少なくとも１つのスロットと関連付けることをさらに含む、請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記エージェント定義が、前記デジタルパーソナルアシスタントと関連付けられた音声コマンド定義（VCD）スキーマおよび反応エージェント定義（RAD）スキーマの少なくとも１つを備え、デバイス機能と関連付けられた１つまたは複数の応答対話を実装するために前記デジタルパーソナルアシスタントによって使用されるデータ／コマンド構造を指す反応エージェントを定義する、請求項１２に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  コンピューティング技術が進歩するにつれて、ますます強力なモバイルデバイスが利用可能になった。たとえば、スマートフォンおよび他のコンピューティングデバイスが珍しくなくなった。そのようなデバイスの処理能力は、デジタルパーソナルアシスタントに関する機能など、異なる種類の機能が開発されることに帰着した。
【０００２】
[0002]  デジタルパーソナルアシスタントは、個人のためにタスクまたはサービスを行うために使用することができる。たとえば、デジタルパーソナルアシスタントは、モバイルデバイスまたはデスクトップコンピュータ上で動作するソフトウェアモジュールであることができる。追加的に、モバイルデバイス内に実装されるデジタルパーソナルアシスタントは、ユーザ質問または音声コマンドに応答することができるように、双方向かつ組込み会話理解を有する。デジタルパーソナルアシスタントによって行うことができるタスクおよびサービスの例は、電話をかけること、電子メールまたはテキストメッセージを送ること、およびカレンダーリマインダを設定することを含むことができる。
【０００３】
[0003]  デジタルパーソナルアシスタントがエージェントを使用して複数のタスクを行うように実装されてもよいとはいえ、各反応エージェントをプログラム／定義することは時間がかかることがある。したがって、デジタルパーソナルアシスタントを実装するための反応エージェント定義および関連した言語理解分類子モデルを作成および編集することに関連する技術の向上の十分な機会が存在する。
【発明の概要】
【０００４】
[0004]  この「発明の概要」は、「発明を実施するための形態」にさらに下記の簡略形式の概念の抜粋を導入するために提供される。この「発明の概要」は、特許請求される主題の主要な特徴または必須の特徴を特定するものとは意図されず、それはまた、特許請求される主題の範囲を限定するために使用されるものとも意図されない。
【０００５】
[0005]  １つまたは複数の態様によれば、言語理解分類子モデルを更新するための方法が、コンピューティングデバイスのユーザからのデジタル音声入力を、コンピューティングデバイスの１つまたは複数のマイクロホンを介して受け取ることを含んでもよい。入力は、他の入力を使用して（たとえば、テキスト入力または他の種類の入力を介して）もユーザから受け取ることができる。デジタル音声入力を使用して自然言語処理が行われて、ユーザ音声要求を決定する。ユーザ音声要求がコンピューティングデバイス上で動作するデジタルパーソナルアシスタントのエージェント定義（たとえば、拡張可能マークアップ言語（XML）スキーマ定義）における複数の予め定義されたタスクの少なくとも１つとも一致しないと決定すると、コンピューティングデバイスのエンドユーザラベリングツール（EULT）のグラフィカルユーザインタフェースが使用されてユーザ選択を受け取ってもよい。タスクは、音声（またはテキスト入力される）コマンドによっての他に、ルールベースエンジン、機械学習分類子などを通じてなど、１つまたは複数の追加の手段によって定義されてもよい。ユーザ選択は、ドメインに対する複数の利用可能なインテントの少なくとも１つのインテントを含んでもよい。任意選択により、ユーザ選択は、少なくとも１つのインテントのための少なくとも１つのスロットも含んでもよい。少なくとも１つのインテントは、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられる。ユーザ選択に含まれるとき、少なくとも１つのスロットは、少なくとも１つのアクションを行うために使用される値を示す。ユーザ音声要求をユーザ選択（たとえば、選択されたドメイン、インテントおよび/またはスロット）とペアリングする（またはその他関連付ける）ことによって、ラベル付きデータセットが生成されてもよい。エージェント定義と関連付けられる複数の利用可能な言語理解分類子から言語理解分類子が選択されてもよく、選択することは少なくとも、ユーザによって選択された少なくとも１つのインテントに基づく。選択された言語理解分類子は、生成されたラベル付きデータセットに基づいて更新されてもよい。
【０００６】
[0006]  １つまたは複数の態様によれば、サーバコンピュータが、処理ユニットおよび処理ユニットに結合されたメモリを含む。サーバコンピュータは、言語理解分類子モデルを更新するための動作を行うように構成され得る。動作は、サーバコンピュータに通信可能に結合された複数のコンピューティングデバイスの少なくとも１つのコンピューティングデバイスから、複数の利用可能なインテントの少なくとも１つのインテントの第１のユーザ選択を受信することを含んでもよい。任意選択により、ユーザ選択は、少なくとも１つのインテントのための少なくとも１つのスロットも含んでもよい。ユーザ選択に含まれるとき、少なくとも１つのインテントは、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられてもよい。少なくとも１つのスロットは、少なくとも１つのアクションを行うために使用される値を示してもよい。第１のユーザ選択は、少なくとも１つのコンピューティングデバイスで受け取られるデジタル音声入力と関連付けられてもよい。第１のユーザ選択と同一である複数の後続のユーザ選択が、複数のコンピューティングデバイスの少なくとも別のコンピューティングデバイスから受信されてもよい。デジタル音声入力を第１のユーザ選択とペアリングすることによって、ラベル付きデータセットが生成されてもよい。１つまたは複数のＸＭＬスキーマ定義と関連付けられる複数の利用可能な言語理解分類子から言語理解分類子が選択されてもよく、選択することは少なくとも、デジタル音声入力、第１のユーザ選択のドメイン、インテントおよび／またはスロットの１つまたは複数に基づく。選択された言語理解分類子は、生成されたラベル付きデータセットに基づいて更新されてもよい。
【０００７】
[0007]  １つまたは複数の態様によれば、コンピュータ可読記憶媒体が、実行時にコンピューティングデバイスに言語理解分類子モデルを更新するための動作を行わせる命令を含んでもよい。動作は、コンピューティングデバイスで受け取られるユーザ入力に基づいてユーザ要求を決定することを含んでもよい。ユーザ要求は、テキスト入力および音声入力の少なくとも１つを介して受け取られてもよく、要求は、コンピューティングデバイス上で動作するデジタルパーソナルアシスタントの機能に対してでもよい。動作は、ユーザ要求がデジタルパーソナルアシスタントの拡張可能マークアップ言語（XML）スキーマ定義における複数の予め定義されたタスク（たとえば、音声コマンド）の少なくとも１つとも一致しないと決定することをさらに含んでもよい。１つの実装では、ユーザ要求にＸＭＬスキーマ定義と関連付けられる複数の利用可能な言語理解分類子を適用することによって、信頼スコアが生成されてもよい。信頼スコアが閾値より小さいと決定すると、コンピューティングデバイスのエンドユーザラベリングツール（EULT）のグラフィカルユーザインタフェースを使用して、ユーザ選択が受け取られてもよい。別の実装では、ＥＵＬＴを使用してドメイン、インテントおよび／またはスロット情報の少なくとも１つのユーザ選択を受け取るかどうかを決定するために、（たとえば、閾値を使用する代わりに）他の方法が使用されてもよい。ユーザ選択は、複数の利用可能なインテントの少なくとも１つのインテントを含んでもよい。任意選択により、ユーザ選択は、ドメインおよび／または少なくとも１つのインテントのための少なくとも１つのスロットを含んでもよい。少なくとも１つのインテントは、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられる。ユーザ選択に含まれるとき、少なくとも１つのスロットは、少なくとも１つのアクションを行うために使用される値を示してもよい。ユーザ音声要求およびユーザ選択をペアリングすることによって、ラベル付きデータセットが生成されてもよい。ＸＭＬスキーマ定義と関連付けられる複数の利用可能な言語理解分類子から言語理解分類子が選択されてもよく、選択することは、ユーザによって選択された少なくとも１つのインテントおよび／またはスロットに基づく。選択された言語理解分類子を生成されたラベル付きデータセットを使用して訓練する（たとえば、分類子を音声要求ならびにユーザ選択におけるドメイン、インテントおよび/またはスロットの少なくとも１つと関連付ける）ことによって、更新された言語理解分類子が生成されてもよい。
【０００８】
[0008]  本明細書に記載されるように、各種の他の特徴および利点を要望に応じて技術に組み込むことができる。
【図面の簡単な説明】
【０００９】
【図１】[0009]本開示の例示的な実施形態による、言語理解分類子モデルを更新するためのアーキテクチャ例を例示するブロック図である。
【図２】[0010]本開示の例示的な実施形態による、音声対応アプリケーションによる言語理解分類子の様々な使用を例示するブロック図である。
【図３Ａ】[0011]本開示の例示的な実施形態による、言語理解分類子モデルを更新するための処理サイクル例を例示する。
【図３Ｂ】本開示の例示的な実施形態による、言語理解分類子モデルを更新するための処理サイクル例を例示する。
【図４Ａ】[0012]本開示の例示的な実施形態による使用されてもよいエンドユーザラベリングツールのユーザインタフェース例を例示する。
【図４Ｂ】本開示の例示的な実施形態による使用されてもよいエンドユーザラベリングツールのユーザインタフェース例を例示する。
【図５】[0013]１つまたは複数の実施形態による、言語理解分類子モデルを更新することを例示するフロー図である。
【図６】１つまたは複数の実施形態による、言語理解分類子モデルを更新することを例示するフロー図である。
【図７】１つまたは複数の実施形態による、言語理解分類子モデルを更新することを例示するフロー図である。
【図８】[0014]本明細書に記載される革新が併せて実装されてもよいモバイルコンピューティングデバイス例を例示するブロック図である。
【図９】[0015]いくつかの記載される実施形態を実装することができるコンピューティングシステム例の図である。
【図１０】[0016]本明細書に記載される技術と併せて使用することができるクラウドコンピューティング環境例である。
【発明を実施するための形態】
【００１０】
[0017]  本明細書に記載されるように、言語理解分類子モデルを更新するために、様々な技法および解決策を適用することができる。より詳細には、コンピューティングデバイス上で動作するデジタルパーソナルアシスタントと関連付けられる１つまたは複数のエージェントを定義するために、エージェント定義仕様（たとえば、音声コマンド定義（VCD）仕様、反応エージェント定義（RAD）仕様、または別の種類のコンピュータ可読文書）が使用されてもよい。エージェント定義仕様は、ＲＡＤＥを介して入力されて反応エージェント機能の可視化／宣言的表現を提供するドメイン情報、インテント情報、スロット情報、状態情報、予想されるユーザ発話（または音声コマンド）、状態遷移、応答列およびテンプレート、ローカリゼーション情報、ならびに任意の他の情報を指定してもよい。エージェント定義仕様は、１つまたは複数の言語理解分類子（用語「分類子」の定義は以下本明細書に提供される）とともに音声対応アプリケーション（たとえば、デバイスオペレーティングシステムにネイティブのデジタルパーソナルアシスタントまたはサードパーティの音声対応アプリケーション）内に実装されてもよい。各分類子は、ドメイン、インテントおよびスロットの１つまたは複数との他にユーザ発話と関連付けられることもできる。
【００１１】
[0018]  ユーザ発話（またはテキスト入力）がエージェント定義仕様内の具体的な発話／コマンドと一致しない事例では、エンドユーザラベリングツール（EULT）がコンピューティングデバイスで使用されて、ユーザがドメイン、ドメインに対するインテント、および／またはインテントのための１つもしくは複数のスロットの１つまたは複数を選択することを可能にしてもよい。ドメインが利用不可能である事例では、ユーザはドメインを追加してもよく、任意選択により、そのドメインに対するインテントおよび／またはスロットを指定してもよい。ユーザ発話を選択されたドメイン、インテントおよび／またはスロットと関連付けることによって、ラベル付きデータセットを作成することができる。選択されたインテント（および/またはドメインもしくはスロット）と関連付けられる分類子は次いで、ラベル付きデータセットを使用して更新されてもよい。分類子に対する更新は、ある数のユーザが実質的に同様のユーザ選択をした（すなわち、同じまたは同様のドメイン、インテントおよび/またはスロットを要求した）後にのみトリガされて、分類子の不正な操作および更新を回避してもよい。分類子に対する更新は、ローカルに（コンピューティングデバイス内で）なすことができ、更新された分類子は次いで、それが他のユーザによって使用することができるクラウドデータベースに記憶させることができる。代替的に、ユーザ選択情報は、十分な数のユーザが同じ（または同様の）発話およびユーザ選択を行った後にラベル付きデータセットが作成され、分類子を更新することができるサーバコンピュータ（クラウドサーバ）に送られてもよい。
【００１２】
[0019]  本文書では、様々な方法、処理および手順が詳述される。特定のステップが一定の順序で記載されることがあるが、そのような順序は主に便宜および明瞭さのためである。特定のステップが２回以上繰り返されてもよく、他のステップ前または後に起こってもよく（たとえそれらのステップが別の順序で別途記載されるとしても）、他のステップと並列に起こってもよい。第２のステップが開始される前に第１のステップが完了されなければならないときにのみ、第２のステップは、第１のステップに続くことが必要とされる。そのような状況は、文脈から明白でないときに具体的に指摘されるであろう。特定のステップが省略されてもよく、その省略が別のステップに著しく影響を与えるであろうときにのみ、特定のステップは必要とされる。
【００１３】
[0020]  本文書では、用語「および」、「または」ならびに「および／または」が使用される。そのような用語は、同じ意味を有すると、すなわち包括的に解釈されるものとする。たとえば、「ＡおよびＢ」は、少なくとも「ＡもＢも」、「Ａのみ」、「Ｂのみ」、「少なくともＡもＢも」を意味してもよい。別の例として、「ＡまたはＢ」は、少なくとも「Ａのみ」、「Ｂのみ」、「ＡもＢも」、「少なくともＡもＢも」を意味してもよい。排他的論理和が意図されるとき、そのようなものは具体的に記されるであろう（たとえば、ＡかＢか、ＡとＢの多くとも１つ）。
【００１４】
[0021]  本文書では、様々なコンピュータ実装方法、処理および手順が記載される。たとえアクションがユーザによって許可、開始もしくはトリガされてもよいとしても、またはたとえハードウェアデバイスがコンピュータプログラム、ソフトウェア、ファームウェアなどによって制御されるとしても、様々なアクション（受信、記憶、送信、通信、表示することなど）がハードウェアデバイスによって行われることが理解されるものとする。さらに、たとえデータが概念または現実の物体を表してもよいとしても、ハードウェアデバイスがデータに作用していることが理解されるものとし、したがって「データ」それ自体としての明示的なラベリングは省略される。たとえば、ハードウェアデバイスが「記録を記憶する」と記載されるとき、ハードウェアデバイスが記録を表すデータを記憶していることが理解されるものとする。
【００１５】
[0022]  本明細書で使用される場合、用語「エージェント」または「反応エージェント」は、デバイス機能と関連付けられる１つまたは複数の応答対話（たとえば、音声、テキストおよび/または触覚応答）を実装するためにデジタルパーソナルアシスタントによって使用されてもよいデータ／コマンド構造を指す。デバイス機能（たとえば、電子メーリング、メッセージングなど）は、デジタルパーソナルアシスタントへのユーザ入力（たとえば、音声コマンド）によって起動されてもよい。反応エージェント（またはエージェント）は、音声エージェント定義（VAD）、音声コマンド定義（VCD）または反応エージェント定義（RAD）ＸＭＬ文書（または別の種類のコンピュータ可読文書）の他に、対話を通じてエージェントを駆動するために使用されるプログラミングコード（たとえば、C++コード）を使用して定義することができる。たとえば、新たな電子メールウィンドウを開き、音声入力に基づいて電子メールを作文し、デジタルパーソナルアシスタントへの音声入力によって指定される電子メールアドレスに電子メールを送るために、ユーザタスク（たとえば、音声コマンド）に基づいて、電子メール反応エージェントが使用されてもよい。反応エージェントは、ユーザ入力に基づいてデジタルパーソナルアシスタントで開始される対話セッション中に１つまたは複数の応答（たとえば、オーディオ/ビデオ/触覚応答）を提供するためにも使用されてもよい。
【００１６】
[0023]  本明細書で使用される場合、用語「ＸＭＬスキーマ」は、ＸＭＬ環境でデータを記載および確認するために使用されるＸＭＬコードセグメントの集合をもつ文書を指す。より詳細には、ＸＭＬスキーマは、各要素がどこで許容されるか、どんな種類のコンテンツが許容されるかなど、ＸＭＬ文書でコンテンツを記載するために使用される要素および属性を掲げてもよい。ユーザは、ＸＭＬスキーマを準拠する、（たとえば、反応エージェント定義に使用するための）ＸＭＬファイルを生成してもよい。
【００１７】
[0024]  本明細書で使用される場合、用語「ドメイン」は、個人の認識の領域または範囲を示すために使用されてもよく、コンピューティングデバイスによって行われる一分類の機能と関連付けられてもよい。ドメイン例は、電子メール（たとえば、電子メールを生成して/送るために、電子メールエージェントがデジタルパーソナルアシスタント（DPA）によって使用することができる）、メッセージ（たとえば、テキストメッセージを生成して/送るために、メッセージエージェントがDPAによって使用することができる）、アラーム（アラームを設定/削除/修正するために、アラーム反応エージェントが使用することができる）などを含む。
【００１８】
[0025]  本明細書で使用される場合、用語「インテント」は、特定されるドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションを示すために使用されてもよい。たとえば、「アラームを設定」インテントがアラームドメインに対して使用されてもよい。
【００１９】
[0026]  本明細書で使用される場合、用語「スロット」は、所与のドメイン−インテントペアのための具体的なアクションを完了するために使用される具体的な値または一組の値を示すために使用されてもよい。スロットは、１つまたは複数のインテントに関連付けられてもよく、ＸＭＬスキーマテンプレートで明示的に提供（すなわち、注釈）されてもよい。典型的に、ドメイン、インテントおよび１つまたは複数のスロットが言語理解構成を作るが、しかしながら所与のエージェントシナリオ内で、スロットは、複数のインテントにわたって共有されることがあり得る。例として、ドメインが２つの異なるインテント−アラームを設定およびアラームを削除をもつアラームであれば、これらのインテントは両方とも同じ「アラーム時間」スロットを共有することがあり得る。この点では、スロットは、１つまたは複数のインテントに接続されてもよい。
【００２０】
[0027]  本明細書で使用される場合、用語「ユーザ選択」（エンドユーザラベリングツールと関連）は、ドメインおよび／またはインテントおよび／またはスロット情報のユーザによる選択を指す。この点では、ドメインまたはインテントまたはスロットの個別選択が可能である（たとえば、インテントのみを選択することができる）他に、任意のペアリング（たとえば、ドメイン−インテントおよびスロット無しの選択）が可能である。
【００２１】
[0028]  本明細書で使用される場合、用語「分類子」または「言語理解分類子」は、所与のユーザ入力（音声またはテキスト）をドメインおよびインテントにマッピングすることができる統計的、ルールベースまたは機械学習ベースのアルゴリズムまたはソフトウェア実装を指す。アルゴリズムは、分類子を使用して行われる任意の分類のための信頼スコアを出力することもあり得る。同じアルゴリズムまたは後続のソフトウェアが次いで、そのドメイン−インテントペアのための発話の一部としてユーザによって指定される一組のスロットを推論／決定することができる。所与のユーザ発話が複数の分類子を−いくつかを正の事例のためにおよび他のものを負の事例のために訓練することができる。例として、ユーザ発話（または音声/テキストコマンド）「ロブに、私は遅れているとメッセージを送る」は、「メッセージング」分類子を正のトレーニングセットとして、「電子メール」分類子を負のトレーニングセットとして訓練するために使用されることがあり得る。分類子は、ラベル付きデータ（たとえば、ユーザ発話、ドメイン、インテントおよび/またはスロット）の１つまたは複数の部分と関連付けることができる。
【００２２】
[0029]  図１は、本開示の例示的な実施形態による、言語理解分類子モデルを更新するためのアーキテクチャ例（１００）を例示するブロック図である。図１を参照すると、クライアントコンピューティングデバイス（たとえば、図８におけるデバイス８００などのスマートフォンまたは他のモバイルコンピューティングデバイス）が、アーキテクチャ１００に従って編成されて言語理解分類子モデルの更新を提供するソフトウェアを実行することができる。
【００２３】
[0030]  アーキテクチャ１００は、ネットワーク１３０を介してリモートサーバコンピュータ（または複数のコンピュータ）１４０に結合されたコンピューティングデバイス１０２（たとえば、電話、タブレット、ラップトップ、デスクトップまたは別の種類のコンピューティングデバイス）を含む。コンピューティングデバイス１０２は、音を電気信号に変換するためのマイクロホン１０６を含む。マイクロホン１０６は、それぞれ電磁誘導、容量変化または圧電気を使用して気圧変動から電気信号を発生するダイナミック、コンデンサまたは圧電マイクロホンであることができる。マイクロホン１０６は、増幅器、１つもしくは複数のアナログもしくはデジタルフィルタ、および／またはアナログデジタル変換器を含んでデジタル音入力を発生することができる。デジタル音入力は、ユーザがデジタルパーソナルアシスタント１１０にタスクを行うよう命じているときなどの、ユーザの声の複製を含むことができる。
【００２４】
[0031]  デジタルパーソナルアシスタント１１０は、コンピューティングデバイス１０２上で動作し、コンピューティングデバイス１０２のユーザが音声（またはテキスト）入力を使用して様々なアクションを行うようにする。デジタルパーソナルアシスタント１１０は、自然言語処理モジュール１１２、エージェント定義構造１１４、ユーザインタフェース１１６、言語理解分類子モデル（LUCM）１２０およびエンドユーザラベリングツール（EULT）１１８を備えることができる。デジタルパーソナルアシスタント１１０は、マイクロホン１０６を介してユーザ音声入力を受け、エージェント定義構造１１４（たとえば、音声コマンドデータ構造または反応エージェント定義構造）を使用してユーザ音声入力から対応するタスク（たとえば、音声コマンド）を決定し、タスク（たとえば、音声コマンド）を行うことができる。いくつかの状況では、デジタルパーソナルアシスタント１１０は、ユーザ（音声またはテキスト）コマンドをサードパーティ音声対応アプリケーション１０８の１つに送る。他の状況では、デジタルパーソナルアシスタント１１０はタスク自体を扱う。
【００２５】
[0032]  デバイスオペレーティングシステム（OS）１０４が、デバイス１０２のためのユーザ入力機能、出力機能、記憶アクセス機能、ネットワーク通信機能および他の機能を管理する。デバイスＯＳ１０４は、デジタルパーソナルアシスタント１１０にそのような機能へのアクセスを提供する。
【００２６】
[0033]  エージェント定義構造１１４は、ＤＰＡ１１０の１つまたは複数のエージェントを定義することができ、関連した音声コマンドバリエーションおよび音声コマンド例とともにＤＰＡ１１０および／またはサードパーティ音声対応アプリケーション１０８によってサポートされるタスクまたはコマンド（たとえば、音声コマンド）を指定することができる。いくつかの実装では、エージェント定義構造１１４はＸＭＬ形式で実装される。追加的に、エージェント定義構造１１４は、（たとえば、リモートアプリケーションおよび/またはリモートサービスのための能力を定義する、リモートサーバコンピュータ１４０から利用可能なスキーム定義にアクセスすることによって）アプリストア１４６からリモートで利用可能な音声対応アプリケーションおよび／またはウェブサービス１４８からリモートで利用可能な音声対応サービスを特定することができる。
【００２７】
[0034]  エージェント定義構造１１４は、言語理解分類子モデル（LUCM）１２０とともに提供することができる（たとえば、オペレーティングシステム１０４の一部として、またはDPA１１０がインストールされるときにインストールすることができる）。ＬＵＣＭ１２０は複数の分類子Ｃ１、...、Ｃｎを含むことができ、ここで各分類子は、ドメイン（Ｄ１、...、Ｄｎ）、インテント（Ｉ１、...、Ｉｎ）および／またはスロット（Ｓ１、...、Ｓｎ）の１つまたは複数と関連付けることができる。分類子の各々は、所与のユーザ入力（音声またはテキスト）をドメインおよびインテントにマッピングすることができる統計的、ルールベースまたは機械学習ベースのアルゴリズムまたはソフトウェア実装を含むことができる。アルゴリズムは、分類子を使用して行われる任意の分類のための信頼スコアを出力することもあり得る。いくつかの実装では、分類子は、ドメイン、インテントおよび／またはスロット情報の１つまたは複数と関連付けることができ、所与のユーザ音声／テキスト入力に適用されるとき、信頼スコアを提供してもよい（実装シナリオ例が図２に関連して記載される）。
【００２８】
[0035]  たとえＬＵＣＭ１２０がエージェント定義構造１１４とともにＤＰＡ１１０の一部であるとして例示されるとしても、本開示はこの点では限定されない。いくつかの実施形態において、ＬＵＣＭ１２０は分類子モデルのローカルコピーでもよく、それはエージェント定義構造１１４およびＤＰＡ１１０に関連する分類子（Ｃ１、...、Ｃｎ）を含む。別の（たとえば、グローバルな）分類子モデル（たとえば、LUCM１７０）は、（たとえば、サーバコンピュータ１４０の一部として）クラウドに記憶されてもよい。グローバルＬＵＣＭ１７０は、（たとえば、関連する）分類子のサブセットがエージェント定義構造に含まれ、アプリ（たとえば、サードパーティアプリ１０８、DPA１１０および/またはOS１０４）の一部として実装することができるように、そのような定義構造が作成されるときに使用されてもよい。
【００２９】
[0036]  ＤＰＡ１１０は、自然言語処理モジュール１１２を使用してユーザ音声入力を処理することができる。自然言語処理モジュール１１２は、デジタル音入力を受け、音声認識を使用してユーザによって話される語をテキストに翻訳することができる。抽出されたテキストは、意味的に解析されてタスク（たとえば、ユーザ音声コマンド）を決定することができる。デジタル音入力を解析し、口頭コマンドに応じてアクションをとることによって、デジタルパーソナルアシスタント１１０は、ユーザの音声入力によって制御することができる。たとえば、デジタルパーソナルアシスタント１１０は、抽出されたテキストを（たとえば、エージェント定義構造１１４に記憶される）可能性があるユーザコマンドのリストと比較して、ユーザの意図と最も一致しそうなコマンドを決定することができる。ＤＰＡ１１０はまた、ＬＵＣＭ１２０からの分類子の１つまたは複数を適用して信頼スコアを決定し、信頼スコアに基づいて分類子を選択し、分類子と関連付けられるコマンド（または発話）に基づいてユーザの意図と最も一致しそうなコマンドを決定してもよい。この点では、一致は、統計的もしくは確率的手法、決定木もしくは他の規則、他の適切なマッチング基準、またはその組合せに基づくことができる。可能性があるユーザコマンドは、ＤＰＡ１１０のネイティブのコマンドおよび／またはエージェント定義構造１１４に定義されるコマンドであることができる。したがって、エージェント定義構造１１４におけるコマンドおよびＬＵＣＭ１２０内の分類子を定義することによって、ＤＰＡ１１０によってユーザに代わって行うことができるタスクの範囲を拡大することができる。可能性があるコマンドは、サードパーティ音声対応アプリケーション１０８のタスクを行うための音声コマンドも含むことができる。
【００３０】
[0037]  デジタルパーソナルアシスタント１１０は、音声および／またはグラフィカルユーザインタフェース１１６を含む。ユーザインタフェース１１６は、ＤＰＡ１１０の能力（たとえば、EULT１１８の能力）および／またはサードパーティ音声対応アプリケーション１０８を説明する情報をユーザに提供することができる。
【００３１】
[0038]  エンドユーザラベリングツール（EULT）１１８は、適切な論理、回路網、インタフェースおよび／またはコードを備えてもよく、本明細書に記載されるように、言語理解分類子モデルを更新するための機能を提供するように動作可能でもよい。たとえば、エージェント定義構造１１４がユーザの音声／テキストコマンドと一致する音声コマンド列を有しない、または利用可能な分類子の１つまたは複数が（図２に見られるように）閾値量を下回る信頼スコアを返す事例で、ＥＵＬＴ１１８がトリガされてもよい。ユーザは次いで、ＥＵＬＴ１１８を使用して、ドメイン、インテントおよび／またはスロットを選択し、タスク（たとえば、発話として表現される音声コマンド）またはテキストコマンドをユーザ選択されたドメイン、インテントおよび／またはスロット情報と関連付けてもよい。ユーザ選択およびユーザ入力された音声／テキストコマンドは、サーバコンピュータ１４０に送られてもよく、そこでグローバル分類子セット１７０が更新されてもよい（たとえば、ユーザ音声/テキストコマンドと一致する分類子が、ユーザ入力されたドメイン、インテントおよび/またはスロットで更新される）。この場合、クラウドソーシング手法を使用して、分類子を訓練／ラベル付けすることができ、これにより、グローバルおよびローカルＬＵＣＭ（１７０および１２０）を向上させることができる。
【００３２】
[0039]  デジタルパーソナルアシスタント１１０は、リモートサーバコンピュータ１４０上で実行するリモートサービス１４２にアクセスすることができる。リモートサービス１４２は、ネットワーク１３０などのネットワーク上のネットワークアドレスで提供されるソフトウェア機能を含むことができる。ネットワーク１３０は、ローカルエリアネットワーク（LAN）、ワイドエリアネットワーク（WAN）、インターネット、イントラネット、有線ネットワーク、無線ネットワーク、セルラネットワーク、その組合せ、またはコンピューティングデバイス１０２とリモートサーバコンピュータ１４０との間の通信のためのチャネルを提供するのに適する任意のネットワークを含むことができる。図１に例示されるネットワークトポロジが単純化されていること、ならびに複数のネットワークおよびネットワーキングデバイスは、本明細書に開示される様々なコンピューティングシステムを相互接続するために活用することができることを理解されたい。
【００３３】
[0040]  リモートサービス１４２は、ネットワーク１３０を介してリモートサーバコンピュータ１４０からアクセス可能である様々なコンピューティングサービスを含むことができる。リモートサービス１４２は、（たとえば、モジュール１１２の自然言語処理機能を行う、または支援するためにデジタルパーソナルアシスタント１１０によって呼び出される）自然言語処理サービス１４４を含むことができる。リモートサービス１４２は、アプリストア１４６（たとえば、検索またはダウンロードおよびインストールすることができる音声対応アプリケーションを提供するアプリストア）を含むことができる。リモートサービス１４２は、デジタルパーソナルアシスタント１１０を使用して音声入力を介してアクセスを受け取ることができるウェブサービス１４８も含むことができる。リモートサービス１４２は、以下本明細書に説明されるように、開発者ラベリングツール１５０、分類子モデル訓練サービス１５２および分類子モデル不正検出サービス１５４も含むことができる。リモートサーバコンピュータ１４０は、発話データベース１６０およびラベル付きデータデータベース１６２を管理することもできる。
【００３４】
[0041]  図２は、本開示の例示的な実施形態による、音声対応アプリケーションによる言語理解分類子の様々な使用を例示するブロック図２００である。図１〜２を参照すると、ユーザ（たとえば、デバイス１０２のユーザ）は音声入力２０２を入力してもよい。音声認識ブロック２０６（たとえば、１１２）は、入力２０２の音声をユーザコマンド（テキスト）２０８に変換してもよい。ユーザコマンド２０８は、代替的に、テキスト入力２０４として入力されてもよい。ブロック２１０で、ユーザコマンド２０８をエージェント定義構造（たとえば、１１４）に指定される１つまたは複数のユーザコマンドと突き合わせることによって、エージェント定義マッチングが行われてもよい。（２１２で）直接一致があれば、ドメイン２１６、インテント２１８および／またはスロット２２０が一致したユーザコマンドから推論されてもよく、そのような情報は、ブロック２３２でＤＰＡ１１０および／またはアプリ１０８によって使用されてもよい。しかしながら、（２１４で）全く一致がなければ、ＬＵＣＭ１２０（または１７０）を使用するマッチングが行うことができる。
【００３５】
[0042]  より詳細には、ユーザコマンド２０８は、分類子Ｃ１、...、Ｃｎへの入力として使用されてもよく、対応する信頼スコア２４０が計算されてもよい。所与の分類子（たとえば、Ｃ１）について信頼スコアが閾値（たとえば、２０％）以上であれば、分類子は、そのような分類子と関連付けられるドメイン２２４、インテント２２６および／またはスロット２２８を抽出するために使用することができる。抽出されたドメイン／インテント／スロットは、（２３０で）ＤＰＡ１１０またはアプリ１０８によって使用することができる。しかしながら、（たとえば、２５０で）信頼スコアが閾値より低ければ、分類子モデルは（たとえばEULT１１８を使用して、図３Ｂ〜４Ｂに見られるように）更新することができる。ＥＵＬＴラベリング処理中に決定されるドメイン、インテントおよび／またはスロットは、（２３２で）ＤＰＡ１１０および／またはアプリ１０８によって使用することができる。
【００３６】
[0043]  たとえＥＵＬＴを使用してユーザ選択を得るかどうかを決定するために、分類子によって生成される信頼スコアが（閾値とともに）使用されるとしても、本開示はこの点では限定していない。別の実装では、ＥＵＬＴを使用してドメイン、インテントおよび／またはスロット情報の少なくとも１つのユーザ選択を受け取るかどうかを決定するために、（たとえば、閾値を使用する代わりに）他の方法が使用されてもよい。
【００３７】
[0044]  図３Ａ〜３Ｂは、本開示の例示的な実施形態による、言語理解分類子モデルを更新するための処理サイクル例を例示する。図３Ａを参照すると、開発者ラベリングツール１５０を使用して分類子データを訓練／更新するためのアーキテクチャ３００が例示される。図３Ａに見られるように、エージェント定義構造１１４は、ＬＵＣＭ１２０とまとめられてもよい（LUCM１２０はLUCM１７０と同じ、またはそのサブセットであることができる）。エージェント定義構造１１４およびＬＵＣＭ１２０は次いで、（たとえば、アプリストア１４６で利用可能なような）アプリ１０８またはＤＰＡ１１０の一部として実装することができる。アプリ１０８（およびDPA１１０）は次いで、デバイス１０２にインストールされてもよい。
【００３８】
[0045]  ＥＵＬＴ１１８が無効にされる事例では、ユーザは発話３０２（たとえば、ユーザコマンド）を提供してもよい。発話は、発話データベース１６０の一部として通信および記憶されてもよく、それは、サーバコンピュータ１４０に通信可能に結合された他のコンピューティングデバイスのユーザからの発話も記憶してもよい。ネットワーク管理者／開発者は次いで、開発者ラベリングツール１５０を使用して、データベース１６０から発話（たとえば、３０２）を検索し、ドメイン、インテントおよび／またはスロット選択３０３を生成してもよい。管理者選択３０３は、発話３０２とまとめられ、ラベル付きデータデータベース１６２内にラベル付きデータとして記憶させることができる。管理者は次いで、ラベル付きデータを分類子訓練サービス１５２に渡してもよい（またはラベル付きデータは、データベース１６２に記憶されると、自動的に訓練サービス１５２に通信されてもよい）。
【００３９】
[0046]  分類子モデル訓練サービス１５２は、適切な論理、回路網、インタフェースおよび／またはコードを備えてもよく、ＬＵＣＭ１２０および／または１７０内の１つまたは複数の分類子の訓練（または更新）を行うように動作可能でもよい。分類子訓練例３０４中に、ラベル付きデータセットを検索することができ（たとえば、３０２および３０３）；ドメイン、インテントおよび／またはスロット情報（たとえば、３０３）が（たとえば、インデックスとして）使用されて、ＬＵＣＭ１２０／１７０にアクセスし、そのようなドメイン、インテントおよび／またはスロットと関連付けられる分類子を検索することができる。訓練サービス１５２は次いで、ユーザ発話／コマンド（３０２）の他に、開発者ラベリングツール１５０を使用して管理者によって提供されるドメイン、インテントおよび／またはスロット（３０３）の１つまたは複数と分類子が関連付けられるように、それを更新することができる。更新されたＬＵＣＭ１２０は次いで、アプリでの実装のために使用され、エージェント定義構造とまとめることができる。
【００４０】
[0047]  図３Ｂを参照すると、エンドユーザラベリングツール（EULT）１１８を使用して分類子データを訓練／更新するためのアーキテクチャ３７０が例示される。図３Ｂに見られるように、エージェント定義構造１１４は、ＬＵＣＭ１２０とまとめられてもよい（LUCM１２０はLUCM１７０と同じ、またはそのサブセットであることができる）。エージェント定義構造１１４およびＬＵＣＭ１２０は次いで、（たとえば、アプリストア１４６で利用可能なような）アプリ１０８、ＤＰＡ１１０、および／またはアプリ３５０、...、３６０の一部として実装することができる。アプリ１０８、３５０、...、３６０（およびDPA１１０）は次いで、デバイス１０２にインストールされてもよい。
【００４１】
[0048]  ＥＵＬＴ１１８が有効にされる事例では、ユーザは発話３０２（たとえば、ユーザコマンド）を提供してもよい。発話は、発話データベース１６０の一部として通信および記憶されてもよく、それは、サーバコンピュータ１４０に通信可能に結合された他のコンピューティングデバイスのユーザからの発話も記憶してもよい。デバイス１０２のユーザは次いで、ＥＵＬＴ１１８を使用してユーザ入力を提供し、発話／コマンド３０２と関連付けられるドメイン、インテントおよび／またはスロットの１つまたは複数を選択してもよい（これは、エージェント定義構造１１４内のコマンドとの直接一致（たとえば、２１２）が全くないこと、および閾値（たとえば、２４０）を越える信頼スコアが全くないことを前提としている）。
【００４２】
[0049]  ユーザはＥＵＬＴ１１８を使用して、発話３０２と関連付けられるドメイン、インテントおよび／またはスロット（たとえば、３２０）を選択してもよい。ＤＰＡ１１０（またはそうでなければデバイス１０２）は、ＬＵＣＭ１２０内の分類子Ｃ１、...、Ｃｎの少なくとも１つを、入力されたユーザ選択３２０と一致するとして選択してもよい（たとえば、分類子と関連付けられるドメイン、インテントおよび/またはスロット情報を、EULT１１８を介して入力されたユーザ選択３２０のドメイン、インテントおよび/またはスロット情報と突き合わせることに基づいて、LUCM１２０から分類子が選択されてもよい）。
【００４３】
[0050]  本開示の例示的な実施形態による、一致する分類子がＬＵＣＭ１２０から検索された後に、デバイス１０２は、（たとえば、３０４に関して上記で論じたように）分類子を更新し、更新／訓練された分類子をローカル分類子３３０として記憶してもよい。分類子の訓練および更新ならびにローカル分類子３３０を生成することは、リモートサーバコンピュータ１４０の分類子モデル訓練サービス１５２を使用することによって行うことができる。この点では、グローバルＬＵＣＭ１７０にそのような訓練された分類子が存在することなしで、１つまたは複数のローカル分類子３３０が生成されてもよい。ローカル分類子３３０は、ユーザプロファイル３４０と関連付けられてもよく、デバイス１０２上にインストールされるアプリ３５０、...、３６０の１つまたは複数間で使用／共有されてもよい。任意選択により、ローカル分類子３３０は、ユーザプロファイル３４０の一部としてサーバコンピュータ１４０に記憶されてもよい（プロファイルも、他のプロファイル/ユーザアカウント情報とともにサーバコンピュータ１４０に記憶されてもよい）。
【００４４】
[0051]  ＤＰＡ１１０はまた、発話３０２とともにユーザ選択されたドメイン、インテントおよび／またはスロット情報３２０を、ラベル付きデータデータベース１６２内にラベル付きデータとして記憶するために通信してもよい。ラベル付きデータは次いで、訓練のために分類子訓練サービス１５２に渡されてもよい。本開示の例示的な実施形態による、分類子モデル不正検出サービス１５４が訓練サービス１５２と関連して使用されてもよい。より詳細には、不正検出サービス１５４は、適切な論理、回路網、インタフェースおよび／またはコードを備えてもよく、一定の最小数（閾値）のユーザが同じ（または実質的に同様の）ユーザ発話と関連付けられる分類子に同じ（または実質的に同様の）更新を要求しない限り、分類子訓練／更新を阻止するように動作可能でもよい。この点では、ユーザがタスク（たとえば、音声コマンドを表現する発話）を、システムにおけるその他の残りのユーザのほとんどがそのような発話を関連付けないドメイン、インテントおよび／またはスロットと関連付けようとする事例では、自動分類子更新が阻止され得る。
【００４５】
[0052]  最小数のユーザが分類子に同じまたは実質的に同様の更新を要求したならば、図３Ａに関して前記のように、分類子の訓練／更新（３０４）は続行することができる。分類子訓練例３０４中に、ラベル付きデータセットを検索することができ（たとえば、３０２および３０３）；ドメイン、インテントおよび／またはスロット情報（たとえば、３０３）が（たとえば、インデックスとして）使用されて、ＬＵＣＭ１２０／１７０にアクセスし、そのようなドメイン、インテントおよび／またはスロットと関連付けられる分類子を検索することができる。訓練サービス１５２は次いで、ユーザ発話／コマンド（３０２）の他に、開発者ラベリングツール１５０を使用して管理者によって提供されるドメイン、インテントおよび／またはスロット（３０３）の１つまたは複数と分類子が関連付けられるように、それを更新することができる。更新されたＬＵＣＭ１２０は、アプリでの実装のために使用され、エージェント定義構造とまとめることができる。
【００４６】
[0053]  図４Ａ〜４Ｂは、本開示の例示的な実施形態による使用されてもよいエンドユーザラベリングツールのユーザインタフェース例を例示する。図４Ａを参照すると、４０２でのユーザインタフェースは、ユーザにタスク（たとえば、音声コマンド）を提供するよう促すＤＰＡ１１０の初期のビューを例示する。４０４では、ユーザは４０５で音声コマンドを提供する。４０６では、ＤＰＡ１１０は、処理（たとえば、２０２〜２１４）を行って、エージェント定義構造１１４で一致するユーザコマンドまたは十分に高い信頼スコア（２４０）が全くないと決定する場合がある。処理は次いで、ＥＵＬＴ１１８インタフェースを起動することによって（たとえば、２５０で）継続する。４０７では、ＤＰＡ１１０は、タスク（たとえば、音声コマンド）が不確かであることをユーザに通知し、ユーザが「ラベリングツール」（EULT１１８）を起動することを望むかどうかを尋ねる。ユーザは次いで、ソフトウェアボタン４０８を押すことによってＥＵＬＴ１１８を起動する。
【００４７】
[0054]  図４Ｂを参照すると、４０９でのユーザインタフェースは、ユーザが自分のタスク（たとえば、音声コマンド）のための関連するドメインを選択することができるように１つまたは複数のドメインを提案する。１つまたは複数のドメインを掲げることができる（たとえば、タスク（もしくは音声コマンド）に関連する（たとえば、音声学的に同様の）１つまたは複数のドメインまたはシステムで利用可能なすべてのドメイン）。ユーザがドメインを選択した後に、ユーザインタフェース４１０が使用されて、選択されたドメインと関連付けられる１つまたは複数のインテントを掲げることができる。代替的に、ユーザが選べるように、すべての利用可能なインテントが掲げられてもよい。ユーザがインテントを選択した後に、ユーザインタフェース４１２が使用されて、選択されたインテントと関連付けられる１つまたは複数のスロットを掲げることができる。代替的に、ユーザが選べるように、すべての利用可能なスロットが掲げられてもよい。スロットを選択した後に、ドメイン、インテントおよび／またはスロット情報３２０は、上記のようにさらに処理されてもよい。
【００４８】
[0055]  図５〜７は、１つまたは複数の実施形態による、反応エージェント定義の生成を例示するフロー図である。図１〜５を参照すると、方法例５００は５０２で開始してもよく、ここでは複数の利用可能なインテントの少なくとも１つのインテントおよび／または少なくとも１つのインテントのための少なくとも１つのスロットのうちの少なくとも１つの第１のユーザ選択（３２０）が、サーバコンピュータ（たとえば、１４０）に通信可能に結合された複数のコンピューティングデバイスの少なくとも１つのコンピューティングデバイス（たとえば、１０２）から受信されてもよい。少なくとも１つのインテント（ユーザ選択３２０におけるインテント）は、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションと関連付けられる。（たとえば、ユーザ選択３２０内の）少なくとも１つのスロットは、少なくとも１つのアクションを行うために使用される値を示す。第１のユーザ選択（３２０）は、少なくとも１つのコンピューティングデバイス（１０２）で受け取られるデジタル音声入力（たとえば、発話３０２）と関連付けられる。５０４では、第１のユーザ選択と同一である複数の後続のユーザ選択を、複数のコンピューティングデバイスの少なくとも別のコンピューティングデバイスから受信したとき、デジタル音声入力を第１のユーザ選択とペアリングすることによって、ラベル付きデータセットが生成される。たとえば、３０２および３２０がペアリングされてラベル付きデータセットを生成した後、訓練サービス１５２は、一定（閾）数の他のユーザが同じ（または実質的に同様の）ユーザ選択および発話を提出した後に、対応する分類子の訓練に移ってもよい。５０６では、分類子モデル訓練サービス１５２は、１つまたは複数のエージェント定義と関連付けられる（たとえば、LUCM１７０からの）複数の利用可能な言語理解分類子から言語理解分類子を選択してもよい。選択することは少なくとも、少なくとも１つのインテントに基づいてもよい。５０８では、訓練サービス１５２は、生成されたラベル付きデータセットに基づいて選択された言語理解分類子を更新してもよい。
【００４９】
[0056]  図１〜３Ｂおよび６を参照すると、方法例６００は６０２で開始してもよく、ここではコンピューティングデバイス（１０２）のユーザからのデジタル音声入力（３０２）が、コンピューティングデバイス（１０２）の１つまたは複数のマイクロホン（１０６）を介して受け取られてもよい。６０４では、自然言語処理モジュール１１２は、デジタル音声入力を使用して自然言語処理を行ってユーザ音声要求を決定してもよい。
【００５０】
[0057]  ６０６では、ユーザ音声要求がコンピューティングデバイス上で動作するデジタルパーソナルアシスタント（１１０）のエージェント定義（たとえば、１１４）における複数の予め定義された音声コマンドの少なくとも１つとも一致しない（たとえば、２１４）と決定すると、複数の利用可能なインテントのインテントおよび少なくとも１つのインテントのための少なくとも１つのスロットのうちの少なくとも１つのユーザ選択（３２０）が、コンピューティングデバイス（１０２）のエンドユーザラベリングツール（EULT）（１１８）のグラフィカルユーザインタフェースを使用して受け取られてもよい。インテントは、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションおよび少なくとも１つのアクションを行うために使用される値を示す少なくとも１つのスロットと関連付けられる。６０８では、ＤＰＡ１１０は、ユーザ音声要求（３２０）およびユーザ選択（３０２）をペアリングすることによってラベル付きデータセットを生成してもよい。６１０では、ＤＰＡ１１０（またはデバイス１０２）は、エージェント定義（たとえば、１１４）と関連付けられる複数の利用可能な言語理解分類子（たとえば、LUCM１２０におけるＣ１、...、Ｃｎ）から言語理解分類子を選択してもよい。分類子の選択は少なくとも、ＥＵＬＴ１１８を使用してユーザによって選択される少なくとも１つのインテントに基づくことができる。６１２では、ＤＰＡ１１０（またはデバイス１０２）は、生成されたラベル付きデータセットに基づいて（たとえば、ローカル分類子３３０を作成する、３０２および３２０に基づいて）選択された言語理解分類子を更新してもよい。
【００５１】
[0058]  図１〜３Ｂおよび７を参照すると、方法例７００は７０２で開始してもよく、ここではコンピューティングデバイス（１０２）で受け取られるユーザ入力（３０２）に基づいて、ユーザ要求が決定されてもよい。ユーザ要求は、テキスト入力（２０４）および／または音声入力（２０２）の少なくとも１つを介して受け取ることができ、要求は、コンピューティングデバイス上で動作するデジタルパーソナルアシスタント（１１０）の機能に対してである。７０４では、ＤＰＡ１１０（またはデバイス１０２）は、ユーザ要求がデジタルパーソナルアシスタント（たとえば、２１４）のエージェント定義（１１４）における複数の予め定義されたタスク（たとえば、音声コマンド）の少なくとも１つとも一致しないと決定してもよい。
【００５２】
[0059]  ７０６では、ＤＰＡ１１０（またはデバイス１０２）は、ユーザ要求（２０８）にエージェント定義と関連付けられる複数の利用可能な言語理解分類子（Ｃ１、...、Ｃｎ）を適用することによって、信頼スコア（２４０）を生成してもよい。７０８では、信頼スコアが閾値（２５０）より小さいと決定すると、ＤＰＡ１１０は、複数の利用可能なインテントの少なくとも１つのインテントおよび少なくとも１つのインテントのための少なくとも１つのスロットのうちの少なくとも１つのユーザ選択（３２０）を、コンピューティングデバイスのエンドユーザラベリングツール（EULT）（１１８）のグラフィカルユーザインタフェースを使用して受け取る。少なくとも１つのインテントは、ドメインに対する一分類の機能の少なくとも１つの機能を行うために使用される少なくとも１つのアクションおよび少なくとも１つのアクションを行うために使用される値を示す少なくとも１つのスロットと関連付けられる。
【００５３】
[0060]  ７１０では、ＤＰＡ１１０（またはデバイス１０２）は、ユーザ音声要求（３０２）およびユーザ選択（３２０）をペアリングすることによってラベル付きデータセットを生成する。７１２では、ＤＰＡ１１０（またはデバイス１０２）は、エージェント定義と関連付けられる複数の利用可能な言語理解分類子（LUCM１２０）から言語理解分類子を選択し、選択することは少なくとも、ユーザによって選択される少なくとも１つのインテントに基づく。７１４では、ＤＰＡ１１０（またはデバイス１０２）は、（たとえば、ローカル分類子３３０を生成する）生成されたラベル付きデータセットを使用して選択された言語理解分類子を訓練することによって、更新された言語理解分類子を生成する。
【００５４】
[0061]  図８は、本明細書に記載される革新が併せて実装されてもよいモバイルコンピューティングデバイス例を例示するブロック図である。モバイルデバイス８００は、各種の任意選択のハードウェアおよびソフトウェア部品を含み、全体的に８０２で図示される。概して、モバイルデバイスにおける部品８０２は、デバイスの任意の他の部品と通信することができるが、但し例示の容易さのために、すべての接続が図示されるわけではない。モバイルデバイス８００は、各種のコンピューティングデバイス（たとえば、セル電話、スマートフォン、ハンドヘルドコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットデバイス、ネットブック、メディアプレーヤ、携帯情報端末（PDA）、カメラ、ビデオカメラなど）のいずれかであることができ、Ｗｉ−Ｆｉ、セルラまたは衛星ネットワークなどの１つまたは複数の移動通信ネットワーク８０４との無線双方向通信を許容することができる。
【００５５】
[0062]  例示されるモバイルデバイス８００は、信号符号化、（重みを割り当てること、および検索結果などのデータを格付けすることを含む）データ処理、入出力処理、電力制御および／または他の機能のようなタスクを行うためのコントローラまたはプロセッサ８１０（たとえば、信号プロセッサ、マイクロプロセッサ、ASIC、または他の制御および処理論理回路網）を含む。オペレーティングシステム８１２は、部品８０２の割当ておよび使用法ならびに１つまたは複数のアプリケーションプログラム８１１のためのサポートを制御する。オペレーティングシステム８１２はエンドユーザラベリングツール８１３を含んでもよく、それは図１〜７に関連して記載されるＥＵＬＴ１１８の機能と同様である機能を有してもよい。
【００５６】
[0063]  例示されるモバイルデバイス８００はメモリ８２０を含む。メモリ８２０は、非取外し式メモリ８２２および／または取外し式メモリ８２４を含むことができる。非取外し式メモリ８２２は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスクまたは他の周知のメモリ記憶技術を含むことができる。取外し式メモリ８２４は、グローバル移動通信システム（GSM（登録商標））通信システムで周知である、フラッシュメモリもしくは加入者識別モジュール（SIM）カード、または「スマートカード」などの他の周知のメモリ記憶技術を含むことができる。メモリ８２０は、オペレーティングシステム８１２およびアプリケーション８１１を動作させるためのデータおよび／またはコードを記憶するために使用することができる。データ例は、ウェブページ、テキスト、画像、サウンドファイル、ビデオデータ、または１つもしくは複数の有線もしくは無線ネットワークを介して１つもしくは複数のネットワークサーバもしくは他のデバイスに関して送信および／もしくは受信されるべき他のデータセットを含むことができる。メモリ８２０は、国際移動加入者識別情報（IMSI）などの加入者識別子、および国際移動機器識別子（IMEI）などの機器識別子を記憶するために使用することができる。そのような識別子は、ユーザおよび機器を識別するためにネットワークサーバに送信され得る。
【００５７】
[0064]  モバイルデバイス８００は、（たとえば、仮想キーボードまたはキーパッドに対する指タップ入力、指ジェスチャ入力またはキーストローク入力を取り込むことが可能な）タッチスクリーン８３２、（たとえば、音声入力を取り込むことが可能な）マイクロホン８３４、（たとえば、静止画像および/またはビデオ画像を取り込むことが可能な）カメラ８３６、物理キーボード８３８、ボタンおよび／またはトラックボール８４０などの１つまたは複数の入力デバイス８３０、ならびにスピーカ８５２およびディスプレイ８５４などの１つまたは複数の出力デバイス８５０をサポートすることができる。他の可能な出力デバイス（図示せず）は、圧電または他の触覚出力デバイスを含むことができる。いくつかのデバイスは、２つ以上の入出力機能を満たすことができる。たとえば、タッチスクリーン８３２およびディスプレイ８５４は、単一の入出力デバイスに組み合わせることができる。モバイルデバイス８００は、１つまたは複数のナチュラルユーザインタフェース（NUI）を提供することができる。たとえば、オペレーティングシステム８１２またはアプリケーション８１１は、オーディオ／ビデオプレーヤなどのマルチメディア処理ソフトウェアを備えることができる。
【００５８】
[0065]  無線モデム８６０は、当該技術でよく理解されているように、１つまたは複数のアンテナ（図示せず）に結合することができ、プロセッサ８１０と外部デバイスとの間の双方向通信をサポートすることができる。モデム８６０は一般的に図示され、たとえば、移動通信ネットワーク８０４と長距離で通信するためのセルラモデム、ブルートゥース（登録商標）互換モデム８６４、あるいは外部ブルートゥース搭載デバイスまたはローカル無線データネットワークもしくはルータと短距離で通信するためのＷｉ−Ｆｉ互換モデム８６２を含むことができる。無線モデム８６０は典型的に、単一のセルラネットワーク内の、セルラネットワーク間の、またはモバイルデバイスと公衆電話交換網（PSTN）との間のデータおよび音声通信のためのＧＳＭネットワークなど、１つまたは複数のセルラネットワークとの通信のために構成される。
【００５９】
[0066]  モバイルデバイスは、少なくとも１つの入出力ポート８８０、電源８８２、全地球測位システム（GPS）受信器などの衛星航法システム受信器８８４、加速度計、ジャイロ、もしくはデバイス８００の向きおよび運動を検出するための、ジェスチャコマンドを入力として受け取るための赤外線近接センサなどのセンサ８８６、（アナログもしくはデジタル信号を無線で送信するための）送受信器８８８、ならびに／またはＵＳＢポート、ＩＥＥＥ１３９４（FireWire）ポートおよび／もしくはＲＳ−２３２ポートであることができる物理コネクタ８９０をさらに含むことができる。図示される部品のいずれかを除去することができ、他の部品を追加することができるので、例示される部品８０２は必須または包括的ではない。
【００６０】
[0067]  モバイルデバイスは、衛星航法システム受信器８８４（たとえば、GPS受信器）を通じて受信される情報に基づいて、モバイルデバイスの位置を示す位置データを決定することができる。代替的に、モバイルデバイスは、別の方途でモバイルデバイスの位置を示す位置データを決定することができる。たとえば、モバイルデバイスの位置は、セルラネットワークのセルタワー間の三角測量によって決定することができる。または、モバイルデバイスの位置は、モバイルデバイスの付近のＷｉ−Ｆｉルータの既知の位置に基づいて決定することができる。位置データは、実装および／またはユーザ設定に応じて、毎秒または何らかの他の基準で更新することができる。位置データの出所に関係なく、モバイルデバイスは位置データを、地図航法で使用するために、地図航法ツールに提供することができる。
【００６１】
[0068]  クライアントコンピューティングデバイスとして、モバイルデバイス８００は、サーバコンピューティングデバイス（たとえば、検索サーバ、ルーティングサーバなど）に要求を送信し、サーバコンピューティングデバイスから代わりに、地図画像、距離、方向、他の地図データ、検索結果（たとえば、指定された検索範囲内のPOI検索に基づくPOI）、または他のデータを受信することができる。
【００６２】
[0069]  モバイルデバイス８００は、様々な種類のサービス（たとえば、コンピューティングサービス）がコンピューティング「クラウド」によって提供される実装環境の一部であることができる。たとえば、クラウドは、インターネットなどのネットワークを介して接続される様々な種類のユーザおよびデバイスにクラウドベースのサービスを提供する、中央に設けられても、または分散されてもよいコンピューティングデバイスの集合を備えることができる。いくつかのタスク（たとえば、ユーザ入力を処理すること、およびユーザインタフェースを提示すること）はローカルコンピューティングデバイス（たとえば、接続デバイス）で行うことができる一方で、他のタスク（たとえば、後続の処理で使用されるべきデータの記憶、データの加重、およびデータの格付）はクラウドで行うことができる。
【００６３】
[0070]  図８がモバイルデバイス８００を例示するとはいえ、より一般に、本明細書に記載される革新は、デスクトップコンピュータ、テレビ画面、またはテレビに接続されるデバイス（たとえば、セットトップボックスまたはゲームコンソール）など、他の画面特性およびデバイスフォームファクタを有するデバイスで実装することができる。サービスは、サービスプロバイダを通じて、またはオンラインサービスの他のプロバイダを通じてクラウドによって提供することができる。追加的に、本明細書に記載される技術がオーディオストリーミングに関してもよいので、デバイス画面は必要とされないことも使用されないこともある（ビデオ再生特性をもつマルチメディアエンドポイントデバイスにオーディオ/ビデオコンテンツがストリーミングされている事例で、ディスプレイが使用されてもよい）。
【００６４】
[0071]  図９は、いくつかの記載される実施形態を実装することができるコンピューティングシステム例の図である。多様な汎用または専用コンピューティングシステムで革新が実装されてもよいので、コンピューティングシステム９００は、使用または機能の範囲に関していかなる限定も暗示するものとは意図されない。
【００６５】
[0072]  図９を参照して、コンピューティングシステム９００は、１つまたは複数の処理ユニット９１０、９１５およびメモリ９２０、９２５を含む。図９では、この基本構成９３０は破線内に含まれる。処理ユニット９１０、９１５は、コンピュータ実行可能命令を実行する。処理ユニットは、汎用中央処理装置（CPU）、特定用途向け集積回路（ASIC）におけるプロセッサ、または任意の他の種類のプロセッサであることができる。マルチプロセシングシステムでは、複数の処理ユニットがコンピュータ実行可能命令を実行して処理能力を上昇させる。たとえば、図９は、中央処理装置９１０の他にグラフィック処理ユニットまたはコプロセシングユニット９１５を図示する。有形のメモリ９２０、９２５は、揮発性メモリ（たとえば、レジスタ、キャッシュ、RAM）、不揮発性メモリ（たとえば、ROM、EEPROM、フラッシュメモリなど）、または処理ユニットによってアクセス可能な、２つの何らかの組合せでもよい。メモリ９２０、９２５は、本明細書に記載される１つまたは複数の革新を実装するソフトウェア９８０を、処理ユニットによる実行に適するコンピュータ実行可能命令の形態で記憶する。
【００６６】
[0073]  コンピューティングシステムは追加の特徴も有してもよい。たとえば、コンピューティングシステム９００は、ストレージ９４０、１つまたは複数の入力デバイス９５０、１つまたは複数の出力デバイス９６０、および１つまたは複数の通信接続９７０を含む。バス、コントローラまたはネットワークなどの相互接続機構（図示せず）がコンピューティングシステム９００の部品を相互接続する。典型的に、オペレーティングシステムソフトウェア（図示せず）が、コンピューティングシステム９００で実行する他のソフトウェアのための動作環境を提供し、コンピューティングシステム９００の部品の活動を協調させる。
【００６７】
[0074]  有形のストレージ９４０は取外し式または非取外し式でもよく、磁気ディスク、磁気テープもしくはカセット、ＣＤ−ＲＯＭ、ＤＶＤ、または情報を記憶するために使用することができ、コンピューティングシステム９００内でアクセスを受け取ることができる任意の他の媒体を含む。ストレージ９４０は、本明細書に記載される１つまたは複数の革新を実装するソフトウェア９８０のための命令を記憶する。
【００６８】
[0075]  入力デバイス９５０は、キーボード、マウス、ペンもしくはトラックボールなどのタッチ入力デバイス、音声入力デバイス、走査デバイス、またはコンピューティングシステム９００への入力を提供する別のデバイスでもよい。ビデオ符号化のために、入力デバイス９５０は、カメラ、ビデオカード、ＴＶチューナカード、あるいはアナログもしくはデジタル形式のビデオ入力、またはコンピューティングシステム９００にビデオサンプルを読み込むＣＤ−ＲＯＭもしくはＣＤ−ＲＷを受け入れる同様のデバイスでもよい。出力デバイス９６０は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、またはコンピューティングシステム９００からの出力を提供する別のデバイスでもよい。
【００６９】
[0076]  通信接続９７０は、別のコンピューティングエンティティへの通信媒体を通じた通信を可能にする。通信媒体は、コンピュータ実行可能命令、オーディオもしくはビデオ入力もしくは出力、または他のデータなどの情報を変調データ信号で伝達する。変調データ信号は、その特性の１つまたは複数が信号における情報を符合化するような方式で設定または変更される信号である。限定ではなく例として、通信媒体は、電気、光学、ＲＦまたは他のキャリアを使用することができる。
【００７０】
[0077]  革新は、プログラムモジュールに含まれるものなどのコンピュータ実行可能命令が対象の実プロセッサまたは仮想プロセッサ上のコンピューティングシステムで実行される一般的な文脈で記載され得る。一般に、プログラムモジュールは、特定のタスクを行うか、または特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などを含む。プログラムモジュールの機能は、様々な実施形態で所望されるように、プログラムモジュール間で組み合わせられても、または分割されてもよい。プログラムモジュールのためのコンピュータ実行可能命令は、ローカルまたは分散コンピューティングシステム内で実行されてもよい。
【００７１】
[0078]  用語「システム」および「デバイス」は、本明細書で交換可能に使用される。文脈が別途明示しない限り、いずれの用語もコンピューティングシステムまたはコンピューティングデバイスの種類のいかなる限定も暗示しない。概して、コンピューティングシステムまたはコンピューティングデバイスはローカルまたは分散であることができ、ソフトウェアが本明細書に記載される機能を実装しつつ、専用ハードウェアおよび／または汎用ハードウェアの任意の組合せを含むことができる。
【００７２】
[0079]  図１０は、本明細書に記載される技術と併せて使用することができるクラウドコンピューティング環境例である。クラウドコンピューティング環境１０００は、クラウドコンピューティングサービス１０１０を備える。クラウドコンピューティングサービス１０１０は、コンピュータサーバ、データ記憶リポジトリ、ネットワーキングリソースなどといった、様々な種類のクラウドコンピューティングリソースを備えることができる。クラウドコンピューティングサービス１０１０は、中央に設けられる（たとえば、企業または組織のデータセンタによって提供される）か、または分散される（たとえば、異なるデータセンタなどの異なる位置で設けられ、/または異なる都市もしくは国に設けられる様々なコンピューティングリソースによって提供される）ことができる。追加的に、クラウドコンピューティングサービス１０１０は、言語理解分類子モデルを更新することに関して本明細書に記載されるＥＵＬＴ１１８および他の機能を実装してもよい。
【００７３】
[0080]  クラウドコンピューティングサービス１０１０は、コンピューティングデバイス１０２０、１０２２および１０２４などの様々な種類のコンピューティングデバイス（たとえば、クライアントコンピューティングデバイス）によって活用される。たとえば、コンピューティングデバイス（たとえば、１０２０、１０２２および１０２４）は、コンピュータ（たとえば、デスクトップまたはラップトップコンピュータ）、モバイルデバイス（たとえば、タブレットコンピュータまたはスマートフォン）、または他の種類のコンピューティングデバイスであることができる。たとえば、コンピューティングデバイス（たとえば、１０２０、１０２２および１０２４）は、クラウドコンピューティングサービス１０１０を活用して、コンピューティング動作（たとえば、データ処理、データ記憶、反応エージェント定義生成および編集など）を行うことができる。
【００７４】
[0081]  提示のため、詳細な記載は、「決定する」および「使用する」のような用語を使用してコンピューティングシステムにおけるコンピュータ動作を記載する。これらの用語は、コンピュータによって行われる動作に対する高レベル抽象化であり、人間によって行われる行為と混同されるべきでない。これらの用語に対応する実際のコンピュータ動作は、実装に応じて異なる。
【００７５】
[0082]  開示された方法のいくつかの動作が好都合な提示のために特定の、連続した順序で記載されるとはいえ、特定の順序が以下に述べる特有の言語によって必要とされない限り、この方式の記載が再配置を包含することが理解されるべきである。たとえば、連続して記載される動作は、場合によっては再配置されても、または同時に行われてもよい。その上、単純性のため、添付の図は、開示された方法が他の方法と併せて使用することができる様々な方途を図示しないことがある。
【００７６】
[0083]  開示された方法のいずれも、コンピュータ実行可能命令または１つもしくは複数のコンピュータ可読記憶媒体に記憶されるコンピュータプログラム製品として実装され、コンピューティングデバイス（たとえば、スマートフォンまたはコンピューティングハードウェアを含む他のモバイルデバイスを含む、任意の利用可能なコンピューティングデバイス）上で実行することができる。コンピュータ可読記憶媒体は、コンピューティング環境内でアクセスされることができる任意の利用可能な有形媒体である（たとえば、DVDもしくはCDなどの１つもしくは複数の光学媒体ディスク、（DRAMもしくはSRAMなどの）揮発性メモリ部品、または（フラッシュメモリもしくはハードドライブなどの）不揮発性メモリ部品）。例として、図９を参照しつつ、コンピュータ可読記憶媒体は、メモリ９２０および９２５ならびにストレージ９４０を含む。用語「コンピュータ可読記憶媒体」は信号および搬送波を含まない。加えて、用語「コンピュータ可読記憶媒体」は通信接続（たとえば、９７０）を含まない。
【００７７】
[0084]  開示された技法を実装するためのコンピュータ実行可能命令のいずれもの他に、開示した実施形態の実装中に作成および使用されるいかなるデータも、１つまたは複数のコンピュータ可読記憶媒体上に記憶させることができる。コンピュータ実行可能命令は、たとえば、専用ソフトウェアアプリケーション、またはウェブブラウザもしくは（リモートコンピューティングアプリケーションなどの）他のソフトウェアアプリケーションを介してアクセスもしくはダウンロードされるソフトウェアアプリケーションの一部であることができる。そのようなソフトウェアは、たとえば、単一のローカルコンピュータ（たとえば、任意の適切な市販のコンピュータ）上で、または１つもしくは複数のネットワークコンピュータを使用してネットワーク環境で（たとえば、インターネット、ワイドエリアネットワーク、ローカルエリアネットワーク、（クラウドコンピューティングネットワークなどの）クライアント-サーバネットワーク、もしくは他のそのようなネットワークを介して）実行することができる。
【００７８】
[0085]  明瞭さのため、ソフトウェアベースの実装の一定の選択された態様のみが記載される。当該技術で周知である他の詳細は省略される。たとえば、開示された技術がいかなる特定のコンピュータ言語またはプログラムにも限定されないことが理解されるべきである。たとえば、開示された技術は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ａｄｏｂｅ  Ｆｌａｓｈまたは任意の他の適切なプログラミング言語で書かれるソフトウェアによって実装することができる。同様に、開示された技術は、いかなる特定のコンピュータまたはハードウェアの種類にも限定されない。適切なコンピュータおよびハードウェアの一定の詳細は周知であり、本開示に詳細に述べられる必要がない。
【００７９】
[0086]  さらには、（たとえば、コンピュータに開示された方法のいずれかを行わせるためのコンピュータ実行可能命令を備える）ソフトウェアベースの実施形態のいずれも、適切な通信手段を通じてアップロード、ダウンロード、またはリモートでアクセスを受け取ることができる。そのような適切な通信手段は、たとえば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、（光ファイバーケーブルを含む）ケーブル、磁気通信、（RF、マイクロ波および赤外線通信を含む）電磁通信、電子通信、または他のそのような通信手段を含む。
【００８０】
[0087]  開示された方法、装置およびシステムは、いかなる形であれ限定的と解釈されるべきではない。その代わり、本開示は、様々な開示した実施形態のすべての新規かつ自明でない特徴および態様の個々ならびに互いの様々な組合せおよび部分組合せを対象とする。開示された方法、装置およびシステムは、いかなる特定の態様または特徴またはその組合せにも限定されず、また開示した実施形態は、いかなる１つまたは複数の特定の利点が存在することも、または問題が解決されることも必要としない。
【００８１】
[0088]  いかなる例からの技術も、その他の例の任意の１つまたは複数に記載される技術と組み合わせることができる。開示された技術の原理が適用されてもよい多くの可能な実施形態に鑑みて、例示された実施形態は開示された技術の例であり、開示された技術の範囲の限定としてとられるべきでないことを理解されたい。むしろ、開示された技術の範囲は、以下の請求項の範囲および趣旨によって包含されるものを含む。
【図１】
0006744314.tif 000002
【図２】
0006744314.tif 000003
【図３Ａ】
0006744314.tif 000004
【図３Ｂ】
0006744314.tif 000005
【図４Ａ】
0006744314.tif 000006
【図４Ｂ】
0006744314.tif 000007
【図５】
0006744314.tif 000008
【図６】
0006744314.tif 000009
【図７】
0006744314.tif 000010
【図８】
0006744314.tif 000011
【図９】
0006744314.tif 000012
【図１０】
0006744314.tif 000013