(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
少なくとも１つのプロセッサによって実行されたとき、不完全自然言語表現(incomplete natural language expressions)を解釈するための方法を実施するコンピューター実行可能命令を符号化するメモリと、
を含むシステムであって、前記方法は、
クライアントデバイスからの入力を受信するステップであって、前記ユーザー入力が不完全自然言語表現を含み、前記不完全自然言語表現が、１つまたは複数の文字が不足している一連の文字である、受信するステップと、
前記不完全自然言語表現から１つまたは複数のｎグラム(n-grams)を抽出するステップと、
考えられるドメインのセットを判断するために、前記抽出された１つまたは複数のｎグラムを分析するステップと、
考えられるドメインの前記セットの、各考えられるドメインに信頼性レベルを割り当てるステップであって、少なくとも１つの考えられるドメインのための前記信頼性レベルが所定の信頼性しきい値を超える、割り当てるステップと、
前記少なくとも１つの考えられるドメインに関連するユーザーの意図を予測するステップと、
前記予測された意図を実施するための少なくとも１つのドメインアプリケーションを開始するステップと、
少なくとも１つの機能を実行するための、少なくとも１つのスロットを予測するステップと、
選択を受信するステップであって、前記受信された選択は、前記少なくとも１つの機能が前記ユーザーの実際の意図を反映することの確認を示す、受信するステップと
確認を示す少なくとも前記受信された選択に基づいて、自然言語分析コンポーネントをトレーニングするステップと、
を含む、システム。
【請求項２】
前記少なくとも１つのドメインアプリケーションを開始するためのグラフィカルユーザーインターフェイスを提示するステップであって、前記ドメインアプリケーションが、前記予測された意図を実施するための少なくとも１つの機能に関連する、提示するステップをさらに含む、請求項１に記載のシステム。
【請求項３】
コンテキスト情報を分析して、考えられるドメインのセットを判断するステップをさらに含む、請求項１に記載のシステム。
【請求項４】
考えられるドメインのセットが、カレンダードメイン、アラームドメイン、及び、旅行ドメインを含む、請求項１に記載のシステム。
【請求項５】
前記ｎグラムが、単語ｎグラム、部分語ｎグラム、又は、文字ｎグラムである、請求項１に記載のシステム。
【請求項６】
実行されたとき、
クライアントデバイスからのテキスト入力を受信するステップであって、前記ユーザー入力が不完全自然言語表現を含み、前記不完全自然言語表現が、１つまたは複数の文字が不足している一連の文字である、受信するステップと、
前記不完全自然言語表現から１つまたは複数のｎグラムを抽出するステップと、
考えられるドメインの第１のセットを判断するために、前記抽出された１つまたは複数のｎグラムを分析するステップと、
考えられるドメインの前記第１のセットの各考えられるドメインに信頼性レベルを割り当てるステップであって、少なくとも１つの考えられるドメインのための前記信頼性レベルが所定の信頼性しきい値を超える、割り当てるステップと、
前記少なくとも１つの考えられるドメインに関連するユーザーの意図を予測するステップと、
前記予測された意図を実施するための少なくとも１つのドメインアプリケーションを開始するステップと、
少なくとも１つの機能を実行するための、少なくとも１つのスロットを予測するステップと、
選択を受信するステップであって、前記受信された選択は、前記少なくとも１つの機能が前記ユーザーの実際の意図を反映することの確認を示す、受信するステップと
確認を示す少なくとも前記受信された選択に基づいて、自然言語分析コンポーネントをトレーニングするステップと、
を行う方法を実施する命令を記憶するコンピューター可読記憶デバイス。
【請求項７】
前記少なくとも１つのドメインアプリケーションを開始するためのグラフィカルユーザーインターフェイスを提示するステップであって、前記ドメインアプリケーションが、前記予測された意図を実施するための少なくとも１つの機能に関連する、提示するステップをさらに含む、請求項６に記載のコンピューター可読記憶デバイス。
【請求項８】
前記少なくとも１つの機能を実行するための少なくとも１つのスロットを予測するステップと、
選択を受信するステップであって、前記受信された選択は、前記少なくとも１つの機能が前記ユーザーの実際の意図を反映することの確認を示す、受信するステップと、
をさらに含む、請求項７に記載のコンピューター可読記憶デバイス。
【請求項９】
信頼性レベルを割り当てるステップが、各考えられるドメインに１から０までの数を割り当てるステップを含む、請求項６に記載のコンピューター可読記憶デバイス。
【請求項１０】
考えられるドメインの第２のセットを判断するために、コンテキスト情報を分析するステップをさらに含む、請求項６に記載のコンピューター可読記憶デバイス。
【請求項１１】
前記不完全自然言語表現が、アノテーション付きトレーニングデータを更に含み、
前記トレーニングデータが、ユーザーの意図、ドメイン、スロット情報リマインダーテキスト、及び、スロット情報リマインダー開始時間としてのタグ付けを含む、
請求項１に記載のシステム。
【請求項１２】
前記不完全自然言語表現が、アノテーション付きトレーニングデータを更に含み、
前記トレーニングデータが、ユーザーの意図、ドメイン、スロット情報リマインダーテキスト、及び、スロット情報リマインダー開始時間としてのタグ付けを含む、
請求項６に記載のコンピューター可読記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、不完全自然言語クエリを理解するための方法に関する。
【背景技術】
【０００２】
[0001]様々なコンピューティングデバイスは、ユーザーからの入力を受信するために言語理解アプリケーション（たとえば、デジタルアシスタントアプリケーション）を使用する。しかしながら、言語理解アプリケーションは、テキストおよびオーディオ入力などの不完全入力をしばしば受信する。たとえば、ユーザーがタイプまたはジェスチャーするとき、少なくとも、ユーザーが入力を入力することを止めるまで、入力は不完全である。したがって、入力のリアルタイム解釈は不完全入力の理解を必要とする。ユーザーに表現を完成するように要求することは、ユーザー時間を浪費し、コンピューターが応答をユーザーに配信するのにかかる時間を遅くするので、不完全自然言語表現のリアルタイム理解は、コンピューター効率とユーザー効率の両方を改善し得る。この点について、デジタルアシスタントアプリケーションは、不完全テキスト入力およびオーディオ入力を解釈する必要を有し得る。
【０００３】
[0002]不完全入力を解釈することは課題を提示する。たとえば、ユーザーは、不完全入力を入力するとき、コンピューターが（１つまたは複数の）特定のアクションを実施することを望み得る。「アクション」は、たとえば、「会議を作成する」、「ルートを入手する」、「タスクを作成する」、「アラームを設定する」など、コンピューター上で実行可能な任意の機能である。「所望のアクション」は、ユーザーが、不完全入力を入力しながら実施しようとする、１つまたは複数の特定のアクションである（（１つまたは複数の）所望のアクションは、本明細書では「ユーザーの意図」または「ユーザー意図」と呼ばれる）。いくつかの言語理解アプリケーションは、不完全入力に基づいて、ユーザーにオートコンプリート候補を供給する。しかしながら、これらの候補は、ユーザーの意図に対処することができず、たとえば、所望のアクションの実施を可能にすることができない。
【０００４】
[0003]本技術の態様が製作されたのは、これらおよび他の一般的な考慮事項に関してである。また、比較的特定の問題について説明したが、実施形態は、背景技術において識別された特定の問題を解決することに限定されるべきでないことを理解されたい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本願発明の一実施例は、例えば、不完全自然言語クエリを理解するための方法に関する。
【課題を解決するための手段】
【０００６】
[0004]本開示は、一般に、コンピューティングデバイスによって不完全自然言語入力を解釈することに関する。本技術の態様では、１つまたは複数のデバイスが、不完全自然言語表現に基づいてアクションをとる。たとえば、不完全自然言語表現が、入力としてコンピューティングデバイスによって受信され得る。入力は、テキスト、ジェスチャー、または音声入力のうちの１つまたは複数であり得る。この不完全自然言語表現から、ユーザーがそこにおいて操作することを望む１つまたは複数のドメイン（すなわち、カレンダードメイン、アラームドメインなど、関係するアクションのグループ）に関する１つまたは複数の予測が行われる。
【０００７】
[0005]さらに、本技術の態様は、ユーザーの意図が特定のドメインの特定のアクションに向けられている可能性を予測することを含む。たとえば、１つのドメインはカレンダードメインであり、カレンダードメインにおいてとられ得るアクションの例としては、予定を設定すること、予定を取り消すこと、または予定を移動することがある。不完全自然言語表現に基づいて、ドメインにおける各アクションのための意図仮説が、各アクションについて作成される。意図仮説は、ドメインにおけるアクションがユーザーの意図（すなわち、所望のアクション）であるという予測である。複数のドメインが予測され得、各ドメインが複数のアクションを有し得るので、複数のドメイン予測は複数の意図仮説を生じ得る。
【０００８】
[0006]一態様では、意図仮説が、追加情報を使用する意図仮説である（たとえば、意図が、日付、時間、参加者などを使用するであろうカレンダー予定を作成することである）場合、追加情報を取得する（たとえば、不完全入力中のまたはそれに関係する日付、時間、および参加者に関係する情報を見つける）ために、不完全自然言語表現および／または他のコンテキスト情報の分析が行われる。
【０００９】
[0007]さらに、複数の選択可能なオプション（たとえば、カレンダードメインアプリケーションのためのＧＵＩ）が、各予測されたドメインについて生成され得、各選択可能なオプションがユーザーに提示され得る。選択可能なオプションは、予測されたドメインがユーザーの意図を反映する可能性の分析に基づいてランク付けされ得、情報（たとえば、潜在的な会議のための日付および時間）が、選択可能なオプション中に事前ポピュレートされる。本技術の態様では、選択可能なオプションの選択により、グラフィカルユーザーインターフェイスがユーザーデバイス上にドメインアプリケーションを提示する。ドメインアプリケーションは、特定のドメインにおける１つまたは複数のアクションを実施するためのアプリケーションである。ドメインアプリケーションは、アクションを実施するために機能を使用する。たとえば、カレンダードメインアプリケーションは、会議を作成するために機能「ｃｒｅａｔｅ＿ｍｅｅｔｉｎｇ」を使用し得る。したがって、特定のドメインアプリケーションの提示は、ドメインアプリケーションが不完全自然言語表現および／または他のコンテキスト情報から検出または推論しなかった任意の追加情報をユーザーが補充することを可能にし得る。
【００１０】
[0008]さらに、本技術の態様は、不完全自然言語表現分析モデルを構築するためのバックエンド学習モジュールを含む。バックエンド学習モジュールはテスト不完全自然言語表現を使用し得る。各テスト不完全自然言語表現はユーザーの実世界意図を反映することになる。テスト不完全自然言語表現（または表現の要素）は、不完全自然言語表現に基づいて意図を予測するために使用され得る予測アルゴリズムを作成するために、様々な技法を使用して分析されることになる。一態様では、テスト不完全自然言語表現は、１つまたは複数の完成されたフルクエリ自然言語表現モデルと同等と見なされることになる。このようにして、不完全自然言語表現分析モデルを構築するプロセスは、前に構築されたフルクエリ自然言語表現モデルを活用することができる。
【００１１】
[0009]以下の図を参照しながら非限定的で非網羅的な例について説明する。
【図面の簡単な説明】
【００１２】
【図１】[0010]例示的な一実施形態による、不完全自然言語表現を理解するためのクライアントコンピューティングデバイスにおいて実装される例示的な動的システムを示す図である。
【図２】[0011]１つまたは複数の態様による、不完全自然言語表現を解釈するためのネットワーク化されたシステムを示す図である。
【図３】[0012]不完全自然言語表現を解釈するための方法を示す図である。
【図４】[0013]不完全自然言語表現から推論された予測された情報を受信し、表示するための方法を示す図である。
【図５】[0014]本開示の態様がそれを用いて実施され得るコンピューティングデバイスの物理的コンポーネント（たとえば、ハードウェア）を示すブロック図である。
【図６Ａ】[0015]本技術の態様を実装するためのモバイルコンピューティングデバイス６００の一態様を示す図である。
【図６Ｂ】[0016]モバイルコンピューティングデバイスの一態様のアーキテクチャを示すブロック図である。
【図７】[0017]コンピューティングデバイス、タブレット、またはモバイルデバイスなど、リモートソースからコンピューティングシステムにおいて受信されたデータを処理するためのシステムのアーキテクチャの一態様を示す図である。
【図８】[0018]本明細書で開示する１つまたは複数の態様を実行し得る例示的なタブレットコンピューティングデバイスを示す図である。
【図９】[0019]不完全自然言語表現分析モデルを構築するためのシステムを示す図である。
【発明を実施するための形態】
【００１３】
[0020]以下の発明を実施するための形態では、添付の図面を参照する。これらの図面は本開示の一部であり、各図面は本技術の特定の態様の例を与える。本技術の適用は、図面に示された例よりも広範である。実際、本開示の趣旨または範囲から逸脱することなく、図示された態様は組み合わせられ得、他の態様が利用され得、構造的変更が行われ得る。態様は、方法、システムまたはデバイスとして実施され得る。したがって、態様は、ハードウェア実装形態、完全にソフトウェアの実装形態、またはソフトウェア態様とハードウェア態様とを組み合わせる実装形態の形態をとり得る。したがって、以下の発明を実施するための形態は限定的な意味にとられるべきではなく、本開示の範囲は添付の特許請求の範囲およびそれらの均等物によって定義される。
【００１４】
[0021]本開示は、概して、不完全自然言語表現を理解することに関する。不完全自然言語表現は、１つまたは複数の文字または単語が不足している、一連の文字、単語、および／またはジェスチャーである。不完全自然言語表現の非限定的な例としては、不完全テキスト入力、タッチ入力、ジェスチャー入力、または音声入力がある。たとえば、デジタルアシスタントへのユーザーによるリアルタイムテキスト入力は、少なくとも、ユーザーが入力をタイプし終えるまで不完全である。本技術は、入力の認識および抽出と、可能性のあるユーザー意図を判断するための入力の分析と、可能性のあるユーザー意図に基づいた１つまたは複数のアプリケーションの実行とを含む。
【００１５】
[0022]たとえば、ユーザーがタイプしている間、自然言語表現は不完全、たとえば、「Ｔｏｍｏｒｒｏｗ  ｍｏｒｎｉｎｇ  Ｉ  ｃａｎ’ｔ  ｍｅｅ（明日の朝、私はｍｅｅできません）」であり得ると考える。ユーザーは、完全自然言語表現、たとえば、「Ｔｏｍｏｒｒｏｗ  ｍｏｒｎｉｎｇ  Ｉ  ｃａｎ’ｔ  ｍｅｅｔ  ｗｉｔｈ  Ｊａｓｏｎ  ａｔ  ９  ａｍ．（明日の朝、私は午前９時にジェイソンと会えません。）Ｃａｎｃｅｌ  ｔｈｅ  ｍｅｅｔｉｎｇ  ａｔ  ９  ａｍ（午前９時の会議を取り消してください）」をタイプする過程にあり得る。本技術は、不完全入力の認識、抽出、および分析を含む。一態様では、これは、リアルタイムで（たとえば、入力が受信される時間中にまたはそれと実質的に同時に）行われる。
【００１６】
[0023]本技術の一態様は、ユーザーの不完全入力が、カレンダードメインなど、特定のドメインに向けられている高い可能性を判断し得る。たとえば、上記の完全表現は、カレンダードメインにおいて実施され得るアクションである、会議を取り消すというユーザーの意図を明示的に識別する。しかしながら、会議を取り消すというユーザーの意図は、受信された不完全入力からも推論され得る。たとえば、句「Ｉ  ｃａｎ’ｔ  ｍｅｅ（私はｍｅｅできません）」は、句「Ｉ  ｃａｎ’ｔ  ｍｅｅｔ（私は会えません）」との可能性のある相関を有し得る。句「Ｉ  ｃａｎ’ｔ  ｍｅｅｔ（私は会えません）」と、利用可能な場合、コンテキスト情報（たとえば、ユーザーのカレンダーにおいて明日の朝に設定された会議）とから、会議を取り消すというユーザーの第１の可能性のある意図が判断され得る。したがって、本技術は、カレンダードメインアプリケーションを実行し始め得る。コンピューターは、不完全自然言語表現に基づいて、特定の会議の取り消しを生じるための情報をカレンダードメインアプリケーションに事前ポピュレートし得る。入力の事前ポピュレーションは、カレンダードメインアプリケーションの１つまたは複数の機能を満たすことであり得る。
【００１７】
[0024]さらに、本技術の一態様は、ユーザーの第２の可能性のある意図を判断することを含む。たとえば、不完全自然表現「Ｔｏｍｏｒｒｏｗ  ｍｏｒｎｉｎｇ  Ｉ  ｃａｎ’ｔ  ｍｅｅ（明日の朝、私はｍｅｅできません）」に基づいて、ユーザーが旅行ドメインにアクセスすることを試みていると判断され得る。これは、利用可能な他のコンテキスト情報に基づいて行われ得る。たとえば、入力が会議取り消しを示唆すると判断され、また、ユーザーが、スケジュールされた会議より前に会議目的地へのフライトを利用することになっている場合、ユーザーがそのフライトを取り消すことを望む可能性があるという判断が行われ得る。したがって、旅行ドメインアプリケーションが実行し始め、旅行手配を取り消すのに十分な情報を事前ポピュレートし得る。
【００１８】
[0025]本技術の態様は、各ドメインアプリケーションを並行して実行させることを含む。一態様では、ユーザーに対する出力が生成され、その出力は、ユーザーが不完全自然言語表現の（１つまたは複数の）意図を確認することを可能にする。
【００１９】
[0026]上記の例は説明の目的で与えられることに留意されたい。本技術は、不完全自然言語表現を分析するために使用され得るが、コンピューティングシステムが、自然言語表現が不完全であることを認識するかまたは知ることが可能であるという要件はない。そうではなく、本技術の態様は、任意の受信された入力に対して不完全自然言語表現分析を実行することを含む。
【００２０】
[0027]図１に、不完全自然言語表現を理解するための動的システム１００の一態様を示す。態様では、動的システム１００は、クライアントコンピューティングデバイス１０４上に実装され得る。基本構成では、クライアントコンピューティングデバイス１０４は、入力要素と出力要素の両方を有するコンピューティングデバイスである。クライアントコンピューティングデバイス１０４は、不完全自然言語表現を理解するための動的システム１００を実装するための任意の好適なコンピューティングデバイスであり得る。たとえば、クライアントコンピューティングデバイス１０４は、携帯電話、スマートフォン、タブレット、ファブレット、スマートウォッチ、ウェアラブルコンピューター、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューターなどのうちの少なくとも１つであり得る。このリストは、例にすぎず、限定的と見なされるべきではない。不完全自然言語表現を理解するための動的システム１００を実装するための任意の好適なクライアントコンピューティングデバイスが使用され得る。
【００２１】
[0028]態様では、動的システム１００は、入力認識コンポーネント１１０と、抽出コンポーネント１２０と、自然言語分析コンポーネント１３０と、ドメインセット予測器１３５と、仮説生成コンポーネント１４０と、ドメインコンポーネント１５０と、出力生成コンポーネント１９０とを含み得る。様々なコンポーネントは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせを使用して実装され得る。
【００２２】
[0029]動的システム１００は、不完全自然言語表現を処理するように構成され得る。この点について、動的システム１００は、不完全自然言語表現を受信することを可能にし得る。一例では、不完全自然言語表現は、音声または合図（ｓｉｇｎｅｄ）言語入力（たとえば、ユーザークエリおよび／または要求）の形態の句、単語、および／または用語を含み得る。別の例では、自然言語表現は、テキスト言語入力（たとえば、ユーザークエリおよび／または要求）の形態の句、単語、および／または用語を含み得る。たとえば、不完全自然言語表現「Ｔｏｍｏｒｒｏｗ  ｍｏｒｎｉｎｇ，Ｉ  ｃａｎ’ｔ  ｍｅｅ（明日の朝、私はｍｅｅできません）」は、１つまたは複数の文字が不足しており、完全な自然言語表現を形成しない。
【００２３】
[0030]本技術の態様では、入力認識コンポーネント１１０は、ユーザーからの入力が、話されるにせよ、合図されるにせよ、またはタイプされるにせよ、それを受信する。入力認識コンポーネント１１０は、その入力をコンピューティングデバイスによって理解可能な一連の文字として解釈する。たとえば、動的システム１００は、テキスト入力コンポーネントである入力認識コンポーネント１１０を含み得る。一態様では、テキスト入力コンポーネントは、タッチスクリーンまたはキーボードを介して入力を受信するように構成され得る。
【００２４】
[0031]さらに、動的システム１００は、音声認識コンポーネントである入力認識コンポーネント１１０を含み得る。態様では、音声認識コンポーネントは、「自動音声認識」（ＡＳＲ）、「コンピューター音声認識」、および「音声テキスト化」（ＳＴＴ）など、当業者に知られている標準的な音声認識技法を含み得る。いくつかの場合には、音声認識コンポーネントは、「テキスト音声化」など、当業者に知られている標準的なテキスト音声化技法を含み得る。音声認識コンポーネントが１つまたは複数の様々な異なるタイプの音声認識および／またはテキスト認識コンポーネントを含み得ることを、当業者は認識されよう。
【００２５】
[0032]さらに、動的システム１００は、ジェスチャー認識コンポーネントである入力認識コンポーネント１１０を含み得る。ジェスチャー認識コンポーネントは、ステレオカメラ、深度認識カメラ、（グローブなどの）ワイヤードデバイス、ジャイロスコープデバイス、コントローラーデバイス、シングルカメラなどを含み得る。
【００２６】
[0033]態様では、入力認識コンポーネント１１０によって受信された後に、入力は、次いで、抽出コンポーネント１２０に送られる。本技術の一態様は、文字ｎグラム抽出器１２２を有する抽出コンポーネント１２０を含む。文字ｎグラム抽出器１２２は、入力を、文字ｎグラムとして知られる一連の１つまたは複数の隣接文字に解析する。本開示で使用する文字ｎグラム中の文字数は特定のｎグラムの名前を決定する。たとえば、「文字トリグラム」フォーマットで抽出された文字は、入力の３つの隣接文字を含むことになる。したがって、単語「ｒｅｍｉｎｄｅｒ（リマインダー）」がトリグラムフォーマットで抽出された場合、抽出されたトリグラムは、「ｒ  ｅ  ｍ」、「ｅ  ｍ  ｉ」、「ｍ  ｉ  ｎ」、「ｉ  ｎ  ｄ」、「ｎ  ｄ  ｅ」、および「ｄ  ｅ  ｒ」である。単一の不完全自然言語表現について複数のｎグラムが抽出され得る。
【００２７】
[0034]本技術の態様では、文字ｎグラム抽出器１２２は、表現中の各単語が単語であるかどうかにかかわらず、表現全体を抽出する。したがって、たとえば、句「Ｆｉｎｄ  Ｃａｒ（車を見つけてください）」は、「Ｆ  ｉ  ｎ」、「ｉ  ｎ  ｄ」、「ｎ  ｄ  ＿」、「ｄ  ＿  Ｃ」、「＿  Ｃ  ａ」、および「Ｃ  ａ  ｒ」として文字トリグラムに抽出され得、「＿」文字はスペースを示す。他の実施形態では、スペースは無視される。他の文字ｎグラムが使用され得る。
【００２８】
[0035]さらに、抽出コンポーネント１２０は単語ｎグラム抽出器コンポーネント１２４を有し得る。単語ｎグラム抽出器コンポーネント１２４は、不完全自然言語表現を１つまたは複数の単語ｎグラムに解析する。たとえば、単語ｎグラム抽出器コンポーネント１２４は、不完全自然言語表現「ｆｉｎｄ  ｃａｒ  ａｔ（車ａｔを見つけてください）」を「ｆｉｎｄ  ｃａｒ」および「ｃａｒ  ａｔ」として単語バイグラムに解析し得る。部分語（ｐａｒｔｉａｌ  ｗｏｒｄ）ｎグラムも単語ｎグラム抽出器コンポーネント１２４によって抽出され得ることに留意されたい。たとえば、不完全自然言語表現「ｆｉｎｄ  ｃａ（ｃａを見つけてください）」は、「ｆｉｎｄ」および「ｃａ」として単語ユニグラムに解析され得る。したがって、単語ｎグラム抽出器コンポーネント１２４は、部分語を単語ｎグラムに抽出し、および／または全語（ｆｕｌｌ  ｗｏｒｄ）をｎグラムに抽出し得る。
【００２９】
[0036]抽出コンポーネント１２０は、抽出されたｎグラムを自然言語分析コンポーネント１３０に送る。実施形態では、ｎグラムを囲むコンテキスト単語も自然言語分析コンポーネント１３０に送られる。たとえば、以下は、不完全入力「ｒｅｍｉｎｄｅ」について抽出された部分文字ユニグラム〜部分文字セプトグラムをもつ、コンテキスト単語「ｃｒｅａｔｅ（作成する）」の一例である。これらの部分語ｎグラムの各々は、次いで、分析のために自然言語分析コンポーネント１３０に送られ得る。
【００３０】
ａ．  ｃｒｅａｔｅ  ｒ
ｂ．  ｃｒｅａｔｅ  ｒｅ
ｃ．  ｃｒｅａｔｅ  ｒｅｍ
ｄ．  ｃｒｅａｔｅ  ｒｅｍｉ
ｅ．  ｃｒｅａｔｅ  ｒｅｍｉｎ
ｆ．  ｃｒｅａｔｅ  ｒｅｍｉｎｄｅ
これらのｎグラムの各々はリアルタイムで抽出され得ることが諒解されよう。したがって、たとえば、ユーザーが「ｃｒｅａｔｅ  ｒｅｍｉｎｄｅｒ  ａｔ  ６：００  ｐｍ（午後６時００分のリマインダーを作成してください）」とタイプすることを試みている場合、抽出コンポーネント１２０は、各文字が受信された後、ｎグラムを自然言語分析コンポーネント１３０に送ることになる。
【００３１】
[0037]本技術の態様では、自然言語分析コンポーネント１３０は、考えられるドメインのセットを作成するために、全語ｎグラムを含む、各抽出されたｎグラムを一緒に分析する。たとえば、自然言語分析コンポーネント１３０は、全語ｎグラム「ｃｒｅａｔｅ（作成する）」と、不完全入力「ｒｅｍｉｎｄｅ」に関連する各抽出されたｎグラムとに基づいて、考えられるドメインのセットを識別し得る。一態様では、考えられるドメインのうちの１つはアラームドメインである。他の考えられるドメインは、連絡先ドメイン、タスクドメイン、カレンダードメイン、または旅行ドメインを含み得る。自然言語分析コンポーネント１３０は、受信された文字ｎグラムを分析する文字ｎグラム分析器１３２と、受信された単語ｎグラムを分析する単語ｎグラム分析器１３４とを有し得る。
【００３２】
[0038]一態様では、ドメインセット予測器１３５は、自然言語分析コンポーネント１３０によって識別された考えられるドメインのセットを受信する。一実施形態では、ドメインセット予測器は、自然言語分析コンポーネント１３０によって識別された考えられるドメインを使用し、他のコンテキスト情報に基づいて、考えられるドメインを追加、修正、または変更する。たとえば、前に受信された情報、（以下でさらに説明する）ターンベースの情報、および表示情報は、すべて、考えられるドメインのセットを改良するために使用され得る。一態様では、考えられるドメインのセットは、事前設定され、動的システム１００に関連するすべてのドメインを含む。
【００３３】
[0039]一態様では、考えられるドメインのセットが識別されると、関連するｎグラムおよび／またはコンテキスト情報とともに、識別された考えられるドメインは仮説生成コンポーネント１４０に移る。仮説生成コンポーネント１４０は、情報を分析し、ドメインセット予測器１３５によって予測された各考えられるドメインに関連する１つまたは複数のユーザー意図（すなわち、所望のアクション）に信頼性数を割り当てる。信頼性スコアは、特定の予測された意図がユーザーの実際の意図である可能性を表す、０から１の間の数など、ランク付けである。たとえば、不完全自然言語表現がアラームドメインにおける「アラームを作成する」意図に向けられているかどうかを分析するとき、仮説生成コンポーネント１４０は、以下に示されるように、全語ｎグラム「ｃｒｅａｔｅ（作成する）」と後続の以下の部分語ｎグラムとのための信頼性スコアを判断し得る。
【００３４】
ｎグラム                              信頼性スコア
ａ．  ｃｒｅａｔｅ  ｒ                ０．５１２５７６３
ｂ．  ｃｒｅａｔｅ  ｒｅ              ０．５３２４８５８
ｃ．  ｃｒｅａｔｅ  ｒｅｍ            ０．５５６７４１７
ｄ．  ｃｒｅａｔｅ  ｒｅｍｉ          ０．６２２４８６０
ｅ．  ｃｒｅａｔｅ  ｒｅｍｉｎ        ０．６６２９９６３
ｆ．  ｃｒｅａｔｅ  ｒｅｍｉｎｄｅ    ０．７３４３５８１
したがって、仮説生成コンポーネント１４０は、ユーザーの意図がアラームドメインにおいてアラームを作成することであるかどうかを判断するために、全語ｎグラム「ｃｒｅａｔｅ（作成する）」と後続の部分語セプトグラム「ｒｅｍｉｎｄｅ」とを分析する。その分析は、たとえば、約０．７３の信頼性スコアを生じる。仮説生成コンポーネント１４０は、各文字が受信された後に（たとえば、ユーザーが文字をタイプするにつれてリアルタイムで）意図仮説を生成し得ることに留意されたい。
【００３５】
[0040]他のコンテキスト情報が、仮説生成コンポーネント１４０によって使用され得る。たとえば、自然言語分析コンポーネント１３０は、不完全自然言語表現「ｓｈｏｗ  ｍｅ  ｄｉｒｅｃｔｉｏｎｓ  ｔｏ  ｗａｓｈ（ｗａｓｈへの方向を案内してください）」が、ユーザーの目的が地図ドメイン（たとえば、考えられるドメイン）に関連し得ることを示すと判断し得る。そのような判断の後、仮説生成コンポーネント１４０は、不完全自然言語表現を使用して意図予測を行い得る。意図予測は、１つまたは複数のｎグラムに基づき得る。たとえば、不完全自然言語表現「ｓｈｏｗ  ｍｅ  ｄｉｒｅｃｔｉｏｎｓ  ｔｏ  ｗａｓｈ（ｗａｓｈへの方向を案内してください）」について、仮説生成コンポーネント１４０は、ユーザー１０２の第１の予測された意図が、第１の考えられるドメイン、たとえば、地図ドメインにおいて実施され得るアクションである、ある場所への「方向を入手する」こと（所望のアクション）であると判断し得る。第１の予測された意図を実現するために、地図作成アプリケーションなど、第１のドメインアプリケーション１６０にアクセスするオプションがユーザーに与えられ得る。そのような意図予測は、部分語ｎグラム「Ｗａｓｈ」が、「Ｗａｓｈｉｎｇｔｏｎ，Ｏｒｅｇｏｎ（オレゴン州ワシントン）」または「Ｗａｓｈｉｎｇｔｏｎ（ワシントン）Ｄ．Ｃ．」など、地理的場所の省略である高い確率に基づき得る。確率の判断は、クワッドグラムｗａｓｈを含んでいる場所にデバイスが近接しているという、および／またはコンテキスト句「ｓｈｏｗ  ｍｅ  ｄｉｒｅｃｔｉｏｎｓ  ｔｏ（への方向を案内してください）」からの、仮説生成コンポーネント１４０による判断に基づき得る。
【００３６】
[0041]ドメインセット予測器１３５と仮説生成コンポーネント１４０の両方は、それぞれ、（１つまたは複数の）考えられるドメインおよび／またはユーザーの（１つまたは複数の）予測された意図を識別するために、他の情報を使用し得る。たとえば、（以下でより詳細に説明する）シングルターンシナリオおよび／またはマルチターンシナリオの両方における不完全自然言語表現の分析が行われ得る。シングルターンシナリオとマルチターンシナリオの両方において、様々なｎグラムが、単独でまたは上記で説明したｎグラム分析とともに使用され得る。
【００３７】
[0042]シングルターンシナリオは、入力／自然言語表現が、ユーザー１０２と動的システム１００との間のターン中に独立して処理されるシナリオである。シングルターンシナリオは、不完全自然言語表現を分析するために、現在分析されている不完全自然言語表現からの情報をもっぱら利用し得る。これは、入力が受信されている間の不完全自然言語表現のリアルタイム分析を含む。
【００３８】
[0043]マルチターンシナリオは、不完全自然言語表現が２つ以上のターンにわたって分析されるシナリオである。ターンは、ユーザー１０２がデジタルアシスタントアプリケーションへの要求をタイプすることを含み得、そのデジタルアシスタントアプリケーションは、ユーザー１０２からの入力を認識するために入力認識コンポーネント１１０を利用し得る。ターンは、デジタルアシスタントアプリケーションがアクティブ化され、ユーザーがタイプし始めたときに開始し得る。ターンは、ユーザーがタイプするのを止め、および／またはデジタルアシスタントアプリケーションが非アクティブ化されたときに終了し得る。
【００３９】
[0044]ターンは、自然言語表現と動的システム１００による応答／アクションの両方を含む。すなわち、第１のターンは、自然言語表現と動的システム１００による応答／アクションの両方を含み得る。他の態様では、ユーザーからの応答、たとえば、特定のドメインアプリケーションの選択が検出された場合、この応答はターンの一部と考えられる。他の態様では、マルチターンシナリオは、複数のターンからの情報が、不完全自然言語表現に関する予測を行うために使用され得ることを示す。
【００４０】
[0045]したがって、態様では、ドメインセット予測器１３５は、ｎグラム分析と組み合わせて、上記で説明したマルチターンシナリオから集められたコンテキスト情報を使用して、ドメイン予測を実施し得る。さらに、仮説生成コンポーネント１４０も、マルチターンシナリオから取得されたコンテキスト情報を使用し得る。たとえば、第１のターンは、不完全自然言語表現「ｈｏｗ  ｉｓ  ｔｈｅ  ｗｅａｔｈｅｒ  ｔｏｍｏｒ（天気ｔｏｍｏｒはどうですか）」を含み得る。この例では、ドメインセット予測器１３５は、コンテキストターンを鑑みて、考えられるドメインを天気ドメインとして予測し得る。さらに、仮説生成コンポーネント１４０は、ｎグラム「ｔｏｍｏｒ」を分析し、天気ドメインにおけるユーザーの意図が「明日の天気を入手する」ことであるという高い信頼性スコアを割り当て得る。
【００４１】
[0046]第２のターンは、不完全自然言語表現「ｈｏｗ  ａｂｏｕｔ  ｔｈｉｓ  ｗｅｅ（このｗｅｅはどうですか）」を含み得る。この例では、ドメインセット予測器１３５は、考えられるドメインとして天気ドメインを予測し得る。たとえば、ドメインセット予測器１３５は、（たとえば、ユーザーとのさらなる対話を介して）「ｈｏｗ  ｉｓ  ｔｈｅ  ｗｅａｔｈｅｒ  ｔｏｍｏｒ（天気ｔｏｍｏｒはどうですか）」の第１のターンを、ユーザーが天気ドメインにあることを意図することを意味すると解決し、その後受信された不完全自然言語表現「ｈｏｗ  ａｂｏｕｔ  ｔｈｉｓ  ｗｅｅ（このｗｅｅはどうですか）」について、同じ考えられるドメイン（すなわち、天気ドメイン）を予測するためにその解決を使用し得る。
【００４２】
[0047]さらに、コンテキスト情報に鑑みた仮説生成コンポーネント１４０による部分語ｎグラム「ｗｅｅ」の分析は、仮説生成コンポーネント１４０が、ユーザーが今週（ｔｈｉｓ  ｗｅｅｋ）または今週末（ｔｈｉｓ  ｗｅｅｋｅｎｄ）のいずれかに関する天気情報を求めているという高い信頼性を予測することを可能にし得る。すなわち、第１のターンが、天気ドメインに関連する天気に関する要求であることに基づいて、仮説生成コンポーネント１４０は、「ｈｏｗ  ａｂｏｕｔ  ｔｈｉｓ  ｗｅｅ（このｗｅｅはどうですか）」の不完全自然言語表現が第１の表現「ｈｏｗ  ｉｓ  ｔｈｅ  ｗｅａｔｈｅｒ  ｔｏｍｏｒｒｏｗ（明日の天気はどうですか）」に関係することを予測し得る。仮説生成コンポーネント１４０は、ドメインセット予測器１３５から、不完全自然言語表現「ｈｏｗ  ａｂｏｕｔ  ｔｈｉｓ  ｗｅｅ（このｗｅｅはどうですか）」が、ドメイン天気において情報を送信請求することを意図していることを受信し、次いで、ユーザーの意図が「今週または今週末についての天気を入手する」ことであると判断するために、句「ｈｏｗ  ａｂｏｕｔ  ｔｈｉｓ（これはどうですか）」のコンテキストにおいて部分ｎグラム「ｗｅｅ」をさらに分析し得る。
【００４３】
[0048]別の態様では、ドメインセット予測器１３５は、並行して、不完全自然言語表現「ｈｏｗ  ａｂｏｕｔ  ｔｈｉｓ  ｗｅｅ（このｗｅｅはどうですか）」が前のターンに関係しないという判断を行い得る。代わりに、たとえば、ドメインセット予測器１３５は、ユーザーがＳＭＳテキストドメインにアクセスすることを望むという判断を行い得る。これは、たとえば、ドメインセット予測器１３５が、ユーザーの挙動を、要求を「ｓｅｎｄ  ｔｅｘｔ（テキストを送ってください）」で始めることなしにテキストを送ろうと試みることに関連付けたとき、行われ得る。
【００４４】
[0049]上記で説明したように、考えられるドメインのセットが識別され、各考えられるドメインのための各予測された意図に信頼性スコアが与えられた後、情報はドメインコンポーネント１５０に送られ得る。情報は、ユーザーの（１つまたは複数の）予測された意図、１つまたは複数のｎグラム、不完全自然言語表現、および／または何らかのコンテキスト情報を含み得る。図示のように、ドメインコンポーネント１５０は、第１のドメインアプリケーション１６０、第２のドメインアプリケーション１７０、および第３のドメインアプリケーション１８０など、１つまたは複数のドメインアプリケーションに関連する。これらのドメインアプリケーションは、アラームドメインアプリケーション、カレンダードメインアプリケーション、コミュニケーションドメインアプリケーション、メモドメインアプリケーション、リマインダードメインアプリケーションなどのうちの１つまたは複数に関係し得る。他のドメインアプリケーションが企図される。一態様では、情報は、信頼性スコアが所定の信頼性しきい値に達したときに送られる。
【００４５】
[0050]仮説生成コンポーネント１４０から第１の予測された意図を受信すると、ドメインコンポーネント１５０は、第１の予測された意図に対応する第１のドメインアプリケーション１６０などのアプリケーションを開く。たとえば、第１の予測された意図が、ユーザーの現在場所からワシントン州シアトルへの「ルートを入手する」ことである場合、ドメインコンポーネント１５０は地図ドメインアプリケーションを開き得る。
【００４６】
[0051]ドメインコンポーネント１５０によって記憶されたまたはそれにとってアクセス可能である、ドメインアプリケーションに関連する情報が、ドメインコンポーネント１５０に関連するドメインアプリケーションのいずれかにドメインコンポーネント１５０によって送られ得る。たとえば、一態様では、第１のドメインアプリケーション１６０は、機能「ｇｅｔ＿ｒｏｕｔｅ」を実行する地図ドメインアプリケーションであり得る。地図ドメインアプリケーションは、機能「ｇｅｔ＿ｒｏｕｔｅ」を実行するために、入力（たとえば、ユーザー目的地、ユーザー起点など）および／または他の情報（たとえば、全地球測位システム（ＧＰＳ）に基づいた現在場所）を使用し得る。
【００４７】
[0052]機能を実施するためにドメインアプリケーションによって使用される情報はスロットとして知られている。さらに、複数のドメインが高い信頼性に達した場合、ドメインコンポーネント１５０は、第１のドメインアプリケーション１６０、第２のドメインアプリケーション１７０、および／または第３のドメインアプリケーション１８０のいずれかを含む、様々なドメインアプリケーションのための複数のスロットのための情報を識別し得る。１つまたは複数のドメインアプリケーションのための１つまたは複数のスロットの識別はスロット予測として知られている。
【００４８】
[0053]一態様では、スロット予測は、ｎグラム分析を含めて、不完全自然言語表現を使用して実施される。たとえば、スロット予測は、第１のスロット１６２など、第１のドメインアプリケーション１６０のスロットを識別し、不完全自然言語表現から抽出された意味論的に読み込まれた単語から集められた情報でそのスロットを埋めることを含み得る。上記の例を続けると、「ｓｈｏｗ  ｍｅ  ｄｉｒｅｃｔｉｏｎｓ  ｔｏ  ｗａｓｈ（ｗａｓｈへの方向を案内してください）」は、ユーザーがオレゴン州ワシントン（Ｗａｓｈｉｎｇｔｏｎ，Ｏｒｅｇｏｎ）への方向を入手することを試みることとして解釈され得る。すなわち、単語ｎグラム「ｗａｓｈ」は、ドメインコンポーネント１５０に、地図作成アプリケーションにおいて目的地の場所に関するスロット予測を行わせるであろう十分に高い信頼性レベルで、「Ｗａｓｈｉｎｇｔｏｎ，Ｏｒｅｇｏｎ（オレゴン州ワシントン）」を意味すると解釈され得る。
【００４９】
[0054]たとえば、第１のドメインアプリケーション１６０が地図作成アプリケーションであり、所望の機能が「ｇｅｔ＿ｒｏｕｔｅ」機能である場合、地図作成アプリケーションは第１のスロット１６２を目的地場所で埋める必要があり得る。したがって、この例では、ドメインコンポーネント１５０は、オレゴン州ワシントンが、第１のスロット１６２を埋めるべき目的地場所であると予測し得る。ドメインコンポーネント１５０は、第２のスロット１６４など、「ｇｅｔ＿ｒｏｕｔｅ」機能を実行するための第１のドメインアプリケーションの他のスロットを埋めるのに十分な情報を有しないことがある。そのようなスロットは、後で、動的システム１００がより多くの情報を受信したときに埋められ得る。
【００５０】
[0055]さらに、マルチターンシナリオが、第２のスロット１６４など、ドメインアプリケーションのための追加のスロットをポピュレートするのに十分な情報をドメインコンポーネント１５０に与え得る。実際、前のターンのｎグラムおよび他の情報は、ドメインコンポーネント１５０がスロット予測を行うための意図情報を供給するために使用され得る。
【００５１】
[0056]たとえば、ターンの第１のターンは、不完全自然言語表現「ｃｒｅａｔｅ  ａ  ｍｅｅｔｉｎｇ  ｗｉｔｈ  Ｊａｓ（Ｊａｓとの会議を作成してください）」を含み得る。この例では、ドメインセット予測器１３５はカレンダードメインを予測し得、仮説生成コンポーネント１４０は、たとえば、機能「ｃｒｅａｔｅ＿ｍｅｅｔｉｎｇ」を使用する、「会議を作成する」の予測された意図に高い信頼性レベルを割り当て得る。ドメインコンポーネント１５０は、次いで、文字トリグラム「Ｊ  Ａ  Ｓ」の分析を実施し得る。コンテキスト句「ｃｒｅａｔｅ  ａ  ｍｅｅｔｉｎｇ（会議を作成してください）」に基づいて、ドメインコンポーネント１５０は、文字トリグラム「Ｊ  Ａ  Ｓ」が、ジェイソン（Ｊａｓｏｎ）との会議を作成するというユーザーの意図を表すと推論し得、第１のスロット１６２をジェイソンという名前の連絡先についての情報で埋め得る。
【００５２】
[0057]同様に、同じターンの第２のターンは、不完全自然言語表現「ｆｒｏｍ  ２ｐｍ  ｔｏ  ４（午後２時から４まで）」を含み得る。この例では、ドメインセット予測器１３５はカレンダードメインを予測し得る。仮説生成コンポーネント１４０は、ユーザーの意図が「会議時間を設定する」ことであると予測し得、ドメインコンポーネント１５０は、「ｓｔａｒｔ＿ｔｉｍｅ＝２ｐｍ」および「ｅｎｄ＿ｔｉｍｅ＝４ｐｍ」というスロット予測を行い得る。
【００５３】
[0058]そのような判断は、ｎグラム分析を使用して行われ得る。たとえば、ドメインコンポーネント１５０は、コンテキスト句「２ｐｍ  ｔｏ（午後２時〜）」、ならびに前のターンがカレンダードメインに関係したという高い信頼性ランク付けに基づいて、十分に高い信頼性をもって、ユニグラム４が「４  ｐｍ（午後４時）」であることを意図とすると判断し得る。
【００５４】
[0059]動的システム１００は、現在処理されている不完全自然言語表現からの情報を使用して、ならびに他のソースからの他のコンテキスト情報を使用して、ドメイン、意図、およびスロットのための信頼性スコアを判断するために不完全自然言語表現を評価し得る。コンテキスト情報は、ターン中の各ターンから抽出された情報を含み得る。さらに、コンテキスト情報は、動的システム１００による前のターンに対する応答を含み得る。たとえば、前のターンに対する応答は、動的システム１００がユーザーからの前の要求にどのように応答したか（たとえば、動的システムがユーザーに何を与えたか）、クライアントコンピューティングデバイス１０４のディスプレイ上に配置されたアイテム、クライアントコンピューティングデバイス１０４のディスプレイ上に配置されたテキストなどを含み得る。別の場合には、コンテキスト情報はクライアントコンテキストを含み得る。たとえば、クライアントコンテキストは、クライアントコンピューティングデバイス１０４上の連絡先リスト、クライアントコンピューティングデバイス１０４上のカレンダー、ＧＰＳ情報（たとえば、クライアントコンピューティングデバイス１０４の場所）、現在時間（たとえば、朝、夜、タイムゾーン）、アクティビティ（たとえば、ユーザーが、クライアントとの会議中、エクササイズ中、運転中などであることを反映する情報）などを含み得る。別の場合には、コンテキスト情報はナレッジコンテンツを含み得る。たとえば、ナレッジコンテンツは、不完全自然言語表現からの特徴を記憶されたデータとマッピングするナレッジデータベースを含み得る。
【００５５】
[0060]態様では、出力生成コンポーネント１９０はユーザー１０２に対する出力を生成する。たとえば、出力生成コンポーネント１９０は、予測されたスロットをもつ１つまたは複数のドメインアプリケーションが動的システム１００によって前に推論されたことを示すグラフィカルユーザーインターフェイスを生成し得る。したがって、出力生成コンポーネント１９０は、ユーザー１０２に１つまたは複数のドメインアプリケーションを提示し得る。ユーザー１０２は、第１のドメインアプリケーション１６０、第２のドメインアプリケーション１７０、および第３のドメインアプリケーション１８０など、適切なドメインアプリケーションを選択し得る。一態様では、適切なドメインアプリケーションの選択は、動的システム１００に対してドメイン目的とユーザーの実際の意図とを確認する。
【００５６】
[0061]図２に、１つまたは複数の態様による、不完全自然言語表現を理解するためのネットワーク化されたシステム２００を示す。態様では、ネットワーク化されたシステム２００は、クライアントコンピューティング環境２０３を記憶するクライアントコンピューティングデバイス２０４を使用するユーザー２０２を、自然言語分析環境２０６を記憶する１つまたは複数のサーバー２０１に接続する。さらに、サーバーコンピューティングデバイス２０１は、クライアントコンピューティングデバイス２０４にデータを与え、クライアントコンピューティングデバイス２０４からデータを受信し得る。そのようなデータ交換はネットワーク２０５を通して行われ得る。一態様では、ネットワーク２０５は、インターネットなど、分散コンピューティングネットワークである。
【００５７】
[0062]クライアントコンピューティングデバイス２０４はクライアントコンピューティング環境２０３を記憶する。クライアントコンピューティング環境２０３は、入力認識コンポーネント２１０と、第１のドメインアプリケーション２６０、第２のドメインアプリケーション２７０、および第３のドメインアプリケーション２８０を記憶するドメインコンポーネント２５０とを含み得る。さらに、出力生成コンポーネント２９０も、クライアントコンピューティング環境２０３中に存在し得る。
【００５８】
[0063]図示のように、サーバーコンピューティングデバイス２０１は自然言語分析環境２０６を記憶する。単一のサーバーコンピューティングデバイス２０１上に実装されて示されているが、態様では、自然言語分析環境２０６は、複数のサーバーコンピューティングデバイスなど、２つ以上のサーバーコンピューティングデバイス上に実装され得る。
【００５９】
[0064]自然言語分析環境２０６は、文字ｎグラム抽出器２２２と単語ｎグラム抽出器２２４とを記憶する抽出コンポーネント２２０を含み得る。さらに、自然言語分析環境２０６はまた、文字ｎグラム分析器２３２と単語ｎグラム分析器２３４とを記憶する自然言語分析コンポーネント２３０を記憶し得る。自然言語分析環境２０６は、ドメインセット予測器２３５と仮説生成コンポーネント２４０とをも記憶し得る。
【００６０】
[0065]ネットワーク化されたシステム２００は、不完全自然言語表現を処理するように構成され得る。この点について、ネットワーク化されたシステム２００は、ｎグラム分析とコンテキスト情報とを使用して不完全自然言語表現の理解を可能にし得る。入力認識コンポーネント２１０、抽出コンポーネント２２０、自然言語分析コンポーネント２３０、ドメインセット予測器２３５、仮説生成コンポーネント２４０、ドメインコンポーネント２５０、第１のドメインアプリケーション２６０、第２のドメインアプリケーション２７０、第３のドメインアプリケーション２８０、および出力生成コンポーネント２９０は、図１に関して説明した同じ名前が付けられた参照番号と同様に構成されるかまたはそれと同じである。
【００６１】
[0066]上記で説明したように、サーバーコンピューティングデバイス２０１に記憶された自然言語分析環境２０６は、ネットワーク２０５を通してクライアントコンピューティングデバイス２０４におよびそれからデータを与え得る。データは、データを送信するのに適した任意のネットワーク上で通信され得る。いくつかの態様では、ネットワーク２０５は、インターネットなどのコンピューターネットワークである。この点について、ネットワーク２０５は、ローカルエリアネットワーク（ＬＡＮ）と、ワイドエリアネットワーク（ＷＡＮ）と、インターネットと、ワイヤレスおよびワイヤード伝送媒体とを含み得る。この点について、不完全自然言語表現は入力認識コンポーネント２１０によって受信され得る。入力認識コンポーネント２１０は、サーバーコンピューティングデバイス２０１上の自然言語分析環境２０６によって処理するために入力をネットワーク２０５上で送信し得る。入力認識コンポーネント１１０／２１０、抽出コンポーネント１２０／２２０、自然言語分析コンポーネント１３０／２３０、ドメインセット予測器１３５／２３５、仮説生成コンポーネント１４０／２４０、（１つまたは複数のドメインアプリケーションを記憶する）ドメインコンポーネント１５０／２５０、および出力生成コンポーネント１９０／２９０は、任意の組み合わせで、クライアントコンピューティングデバイス、サーバーコンピューティングデバイス、および／またはクライアントコンピューティングデバイスとサーバーコンピューティングデバイスの両方に配置され得ることが諒解されよう。図１および図２は、例にすぎず、限定的と見なされるべきではない。実際、クライアントコンピューティングデバイスとサーバーコンピューティングデバイスとを含むコンポーネントの任意の好適な組み合わせが、不完全自然言語表現を理解するために使用され得る。
【００６２】
[0067]図３に、不完全自然言語表現を理解するための方法を示す。方法３００は動作３０２において開始し、不完全自然言語表現が受信される。たとえば、不完全自然言語表現は、１つまたは複数の不完全句または単語を含んでいる不完全自然言語表現であり得る。したがって、不完全自然言語表現は、複数の部分語ｎグラム、複数の単語ｎグラム、および複数の文字ｎグラムを含み得る。一例では、不完全自然言語表現は、テキスト入力、ジェスチャー入力、および／または音声言語入力（たとえば、ユーザークエリおよび／または要求）の形態の不完全句、単語、および／または用語を含み得る。すなわち、不完全自然言語表現は、不足している情報を有し得る。
【００６３】
[0068]不完全自然言語表現がシステムにおいて受信されたとき、フローは動作３０４に進み、不完全自然言語表現の様々なｎグラムを分析することによって、考えられるドメインのセットが作成される。たとえば、部分語、単語、および文字ｎグラムが、句「ｈｏｗ  ａｂｏｕｔ  ｔｏｍｏ（ｔｏｍｏはどうですか）」から抽出され得る。この例では、１つの考えられるドメインは、（たとえば、完成された自然言語表現「ｈｏｗ  ａｂｏｕｔ  ｔｏｍｏｒｒｏｗ（明日はどうですか）」に対応する）カレンダードメインであり得、および／または別の考えられるドメインは、（「ｔａｍａｌｅｓ（タマーレ）」のＷｅｂ検索に対応する）Ｗｅｂ検索ドメインであり得る。
【００６４】
[0069]考えられるドメインの識別は、さらに、コンテキスト情報に基づき得る。一態様では、コンテキスト情報は、ターンの複数のターンから抽出された情報を含み得る。抽出された情報は、システムが、前のターン（たとえば、現在のターンからの前の自然言語表現／要求）に基づいて、１つまたは複数のドメイン予測、意図予測、および／またはスロット予測（たとえば、結果）を行うことを可能にし得る。
【００６５】
[0070]追加の態様では、コンテキスト情報はクライアントコンテキストを含み得る。たとえば、クライアントコンテキストは、クライアントコンピューティングデバイス上の連絡先リスト、クライアントコンピューティングデバイス上のカレンダー、ＧＰＳ情報（たとえば、クライアントコンピューティングデバイスの場所）、現在時間（たとえば、朝、夜、会議中、ワークアウト中、運転など）などを含み得る。別の場合には、コンテキスト情報はナレッジコンテンツを含み得る。たとえば、ナレッジコンテンツは、不完全自然言語表現からの特徴を記憶されたデータとマッピングするナレッジデータベースを含み得る。一例として、「ジョンハウイー」は、ナレッジデータベースではレストランにマッピングされ得る。この点について、複数の考えられるドメインが、受信された不完全自然言語表現のために生成され得る。
【００６６】
[0071]考えられるドメインのセットが作成された後、フローは動作３０６に進み、１つまたは複数の予測された意図が、各考えられるドメインについて判断される。たとえば、各考えられるドメインは、ドメインに関連する機能の対応するセットを有し得、各機能は、所望のアクション（たとえば、ユーザー意図）に対応し得る。ある場合には、ｎグラムおよびコンテキスト情報が、各機能のための信頼性スコアを判断するために、各考えられるドメインにおける各機能（たとえば、各意図）に対して分析され得る。
【００６７】
[0072]意図のセットが生成されたとき、フローはランク付け動作３０８に進む。ランク付け動作３０８では、各意図が、所与の信頼性スコアに従ってランク付けされる。たとえば、信頼性スコアは、コンテキスト情報とｎグラム分析とに基づいて与えられ得る。
【００６８】
[0073]意図のセットがランク付けされた後、フローは動作３１０に進み、低い信頼性スコアをもつ意図が削除される。態様では、意図の削除は、所定の信頼性しきい値に基づいて行われる。たとえば、信頼性スコアが０から１の間にある場合、０．７よりも低い信頼性スコアをもつ意図は削除されることになる。代替的に、意図は、それらがランク付けの下部分にある場合、削除され得る。たとえば、１０個の意図が識別された場合、（信頼性スコアによる）下の７個は削除されることになる。いくつかの態様では、意図は削除されない。所定の信頼性しきい値よりも大きい信頼性スコアをもつ意図は、予測された意図として識別され得る。
【００６９】
[0074]フローは、次いで動作３１２に進み、予測された意図のスロットが予測される。たとえば、予測された意図が「ルートを入手する」であり、地図作成ドメインアプリケーションの機能が「ｇｅｔ＿ｒｏｕｔｅ」である場合、機能ｇｅｔ＿ｒｏｕｔｅは、実行するために情報を必要とし得る。そのような情報は、目的地場所または起点場所を含み得る。この情報（またはスロット）は、コンテキスト情報とｎグラム分析とを使用して予測され得る。
【００７０】
[0075]スロットを予測する動作３１２の後、フローは判断３１４に続く。判断３１４において、追加の考えられるドメインがセット中にあるかどうかが判断される。追加の考えられるドメインがセット中にある場合、本方法は、セット中の次の考えられるドメインのための仮説を判断するために戻る。考えられるドメインが残っていない場合、方法３００は終了する。
【００７１】
[0076]図４に、不完全自然言語表現から推論された予測された情報を受信し、表示するための方法を示す。方法４００は動作４０２において開始し、不完全自然言語表現が受信される。たとえば、不完全自然言語表現は、１つまたは複数の不完全句または単語を含んでいる不完全自然言語表現であり得る。受信された入力は、ジェスチャー、音声、またはテキスト入力の形態で受信され得る。
【００７２】
[0077]動作４０２から、フローは動作４０４に進み、入力は処理のために送出される。一態様では、情報は、不完全自然言語表現の分析のために１つまたは複数のサーバーに送られる。入力は、インターネットなどのネットワーク上で送られ得る。
【００７３】
[0078]動作４０６において、１つまたは複数の意図予測が受信される。１つまたは複数の意図予測は、１つまたは複数の考えられるドメインに対応する。意図予測は、不完全自然言語表現のコンテキスト情報とｎグラム分析とに基づき得る。
【００７４】
[0079]フローは、次いで動作４０８に進み、スロットが予測される。たとえば、意図が「ｇｅｔ＿ｒｏｕｔｅ」であり、スロットが目的地場所である場合、コンテキスト情報およびｎグラム分析は、スロットの予測がワシントンＤＣの目的地場所であることを可能にし得る。
【００７５】
[0080]フローは、次いで、予測された意図を表示する動作４１０に進む。予測された意図を表示する動作４１０では、予測されたスロットとともに１つまたは複数の予測された意図が、たとえば、グラフィカルユーザーインターフェイスを介して、ユーザーに提示され得る。たとえば、予測された意図は、グラフィカルユーザーインターフェイスにおいて地図作成アプリケーションを開くことによって表示され得る。地図作成アプリケーションは、さらに、ルートを入手するための機能を開始し得、目的地場所および現在場所など、機能のための予測されたスロットをポピュレートし得る。ユーザーは、特定の予測された意図がユーザーの実際の意図であることを示すために、グラフィカルユーザーインターフェイスと対話し得る。
【００７６】
[0081]図５は、本開示の態様がそれを用いて実施され得るコンピューティングデバイス５００の物理的コンポーネント（たとえば、ハードウェア）を示すブロック図である。以下で説明するコンピューティングデバイスコンポーネントは、本明細書で開示する方法３００〜４００を採用するために実行され得る、たとえばクライアントおよび／またはコンピューターの、デジタルアシスタントアプリケーション５１３のためのコンピューター実行可能命令、たとえばクライアントの、出力生成コンポーネント５１１のための実行可能命令を有し得る。基本構成では、コンピューティングデバイス５００は、少なくとも１つの処理ユニット５０２とシステムメモリ５０４とを含み得る。コンピューティングデバイスの構成およびタイプに応じて、システムメモリ５０４は、限定はしないが、揮発性ストレージ（たとえば、ランダムアクセスメモリ）、不揮発性ストレージ（たとえば、読み取り専用メモリ）、フラッシュメモリ、またはそのようなメモリの任意の組み合わせを含み得る。システムメモリ５０４は、オペレーティングシステム５０５と、図１〜図３に関する、あいまいな要求を弁別するアプリケーション、および特にデジタルアシスタントアプリケーション５１３または出力生成コンポーネント５１１など、ソフトウェアアプリケーション５２０を実行するのに好適な１つまたは複数のプログラムモジュール５０６とを含み得る。オペレーティングシステム５０５は、たとえば、コンピューティングデバイス５００の動作を制御するのに好適であり得る。さらに、本開示の実施形態は、グラフィックスライブラリ、他のオペレーティングシステム、または他のアプリケーションプログラムとともに実施され得、特定の適用例またはシステムに限定されない。この基本構成は、破線５０８内のコンポーネントによって図５に示されている。コンピューティングデバイス５００は追加の特徴または機能を有し得る。たとえば、コンピューティングデバイス５００は、たとえば、磁気ディスク、光ディスク、またはテープなどの追加のデータストレージデバイス（リムーバブルおよび／または非リムーバブル）をも含み得る。そのような追加のストレージは、リムーバブルストレージデバイス５０９および非リムーバブルストレージデバイス５１０によって図５に示されている。
【００７７】
[0082]上述のように、いくつかのプログラムモジュールおよびデータファイルがシステムメモリ５０４に記憶され得る。処理ユニット５０２上で実行する間、プログラムモジュール５０６（たとえば、出力生成コンポーネント５１１またはデジタルアシスタントアプリケーション５１３）は、本明細書で説明するように、限定はしないが、態様を含むプロセスを実施し得る。本開示の態様に従って、および特に不完全自然表現の理解のために使用され得る他のプログラムモジュール。
【００７８】
[0083]さらに、本開示の実施形態は、個別電子素子を含む電気回路、論理ゲートを含んでいるパッケージ化または集積電子チップ、マイクロプロセッサを利用する回路中で、あるいは電子素子またはマイクロプロセッサを含んでいる単一のチップ上で実施され得る。たとえば、本開示の実施形態はシステムオンチップ（ＳＯＣ）を介して実施され得、図５に示されたコンポーネントの各々または多くは単一の集積回路上に集積され得る。そのようなＳＯＣデバイスは、１つまたは複数の処理ユニットと、グラフィックスユニットと、通信ユニットと、システム仮想化ユニットと、様々なアプリケーション機能とを含み得、それらのすべては単一の集積回路としてチップ基板上に集積される（または「焼き込まれる」）。ＳＯＣを介して動作するとき、プロトコルを切り替えるクライアントの能力に関する、本明細書で説明する機能は、単一の集積回路（チップ）上にコンピューティングデバイス５００の他のコンポーネントとともに集積された特定用途向け論理を介して動作させられ得る。本開示の実施形態はまた、限定はしないが、機械、光、流体、および量子技術を含む、たとえば、ＡＮＤ、ＯＲ、およびＮＯＴなどの論理演算を実施することが可能な他の技術を使用して実施され得る。さらに、本開示の実施形態は、汎用コンピューター内であるいは他の回路またはシステム中で実施され得る。
【００７９】
[0084]コンピューティングデバイス５００はまた、キーボード、マウス、ペン、サウンドまたはボイス入力デバイス、タッチまたはスワイプ入力デバイスなど、１つまたは複数の入力デバイス５１２を有し得る。ディスプレイ、スピーカー、プリンターなどの（１つまたは複数の）出力デバイス５１４も含まれ得る。上述のデバイスは例であり、他のものが使用され得る。コンピューティングデバイス５００は、他のコンピューティングデバイス５１８との通信を可能にする１つまたは複数の通信接続５１６を含み得る。好適な通信接続５１６の例としては、限定はしないが、ＲＦ送信機、受信機、および／またはトランシーバ回路、ユニバーサルシリアルバス（ＵＳＢ）、パラレル、および／またはシリアルポートがある。
【００８０】
[0085]本明細書で使用するコンピューター可読媒体という用語はコンピューター記憶媒体を含み得る。コンピューター記憶媒体は、コンピューター可読命令、データ構造、またはプログラムモジュールなど、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み得る。システムメモリ５０４、リムーバブルストレージデバイス５０９、および非リムーバブルストレージデバイス５１０は、すべてコンピューター記憶媒体例（たとえば、メモリストレージ）である。コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、電気的消去可能読み取り専用ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは情報を記憶するために使用され得、コンピューティングデバイス５００によってアクセスされ得る他の製造品を含み得る。いかなるそのようなコンピューター記憶媒体もコンピューティングデバイス５００の一部であり得る。コンピューター記憶媒体は、搬送波あるいは他の伝搬または変調されたデータ信号を含まない。
【００８１】
[0086]通信媒体は、コンピューター可読命令、データ構造、プログラムモジュール、あるいは、搬送波または他のトランスポート機構など、変調されたデータ信号中の他のデータによって実施され得、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号中の情報を符号化するような様式で設定または変更された１つまたは複数の特性を有する信号を表し得る。限定ではなく例として、通信媒体は、ワイヤードネットワークまたは直接ワイヤード接続などのワイヤード媒体、ならびに音響、無線周波数（ＲＦ）、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含み得る。
【００８２】
[0087]図６Ａおよび図６Ｂに、本開示の実施形態がそれを用いて実施され得るモバイルコンピューティングデバイス６００、たとえば、携帯電話、スマートフォン、（スマートウォッチなどの）ウェアラブルコンピューター、タブレットコンピューター、ラップトップコンピューターなどを示す。いくつかの態様では、クライアントはモバイルコンピューティングデバイスであり得る。図６Ａを参照すると、態様を実装するためのモバイルコンピューティングデバイス６００の一態様が示されている。基本構成では、モバイルコンピューティングデバイス６００は、入力要素と出力要素の両方を有するハンドヘルドコンピューターである。モバイルコンピューティングデバイス６００は、一般に、ディスプレイ６０５と、ユーザーが情報をモバイルコンピューティングデバイス６００に入力することを可能にする１つまたは複数の入力ボタン６１０とを含む。モバイルコンピューティングデバイス６００のディスプレイ６０５は入力デバイス（たとえば、タッチスクリーンディスプレイ）としても機能し得る。含まれる場合、オプションの側面入力要素６１５がさらなるユーザー入力を可能にする。側面入力要素６１５は、ロータリースイッチ、ボタン、または他のタイプの手動入力要素であり得る。代替態様では、モバイルコンピューティングデバイス６００は、より多いまたはより少ない入力要素を組み込み得る。たとえば、ディスプレイ６０５は、いくつかの実施形態ではタッチスクリーンでないことがある。また別の代替実施形態では、モバイルコンピューティングデバイス６００は、携帯電話など、ポータブル電話システムである。モバイルコンピューティングデバイス６００はまた、オプションのキーパッド６３５を含み得る。オプションのキーパッド６３５は、物理的キーパッド、またはタッチスクリーンディスプレイ上に生成される「ソフト」キーパッドであり得る。様々な実施形態では、出力要素は、グラフィカルユーザーインターフェイス（ＧＵＩ）を示すためのディスプレイ６０５、ビジュアルインジケーター６２０（たとえば、発光ダイオード）、および／またはオーディオトランスデューサー６２５（たとえば、スピーカー）を含む。いくつかの態様では、モバイルコンピューティングデバイス６００は、ユーザーに触覚フィードバックを与えるための振動トランスデューサーを組み込む。また別の態様では、モバイルコンピューティングデバイス６００は、信号を外部デバイスに送るかまたはそれから信号を受信するための、オーディオ入力（たとえば、マイクジャック）、オーディオ出力（たとえば、ヘッドフォンジャック）、およびビデオ出力（たとえば、ＨＤＭＩ（登録商標）ポート）など、入力および／または出力ポートを組み込む。
【００８３】
[0088]図６Ｂは、モバイルコンピューティングデバイスの一態様のアーキテクチャを示すブロック図である。すなわち、モバイルコンピューティングデバイス６００は、いくつかの態様を実装するためにシステム（たとえば、アーキテクチャ）６０２を組み込むことができる。一実施形態では、システム６０２は、１つまたは複数のアプリケーション（たとえば、ブラウザー、電子メール、カレンダー機能（ｃａｌｅｎｄａｒｉｎｇ）、連絡先マネージャー、メッセージングクライアント、ゲーム、およびメディアクライアント／プレーヤー）を実行することが可能な「スマートフォン」として実装される。いくつかの態様では、システム６０２は、統合された携帯情報端末（ＰＤＡ）およびワイヤレス電話など、コンピューティングデバイスとして統合される。
【００８４】
[0089]１つまたは複数のアプリケーションプログラムは、メモリ６６２に読み込まれ、オペレーティングシステム６６４上でまたはそれに関連して実行され得る。アプリケーションプログラムの例としては、電話ダイヤラープログラム、電子メールプログラム、個人情報管理（ＰＩＭ）プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザープログラム、メッセージングプログラムなどがある。システム６０２はまた、メモリ６６２内に不揮発性ストレージ領域６６６を含む。不揮発性ストレージ領域６６６は、システム６０２が電源を切断された場合に失われるべきでない永続情報を記憶するために使用され得る。アプリケーションプログラム６６６は、電子メールまたは電子メールアプリケーションによって使用される他のメッセージなど、不揮発性ストレージ領域６６６中の情報を使用し、それに記憶し得る。また、同期アプリケーション（図示せず）がシステム６０２上に常駐し、不揮発性ストレージ領域６６６に記憶された情報を、ホストコンピューターにおいて記憶された対応する情報と同期させておくために、ホストコンピューター上に常駐する対応する同期アプリケーションと対話するようにプログラムされる。諒解されるべきであるように、本明細書で説明するようにカレンダーイベントを作成するための命令（たとえば、および／またはオプションでカレンダーイベント作成モジュール７１１）を含む、他のアプリケーションが、メモリ６６２に読み込まれ、モバイルコンピューティングデバイス６００上で実行され得る。
【００８５】
[0090]システム６０２は、１つまたは複数のバッテリーとして実装され得る電源６７０を有する。電源６７０は、バッテリーを補足または再充電する、ＡＣアダプターまたは電力供給されるドッキングクレイドルなど、外部電源をさらに含み得る。
【００８６】
[0091]システム６０２は、無線周波数通信を送信および受信する機能を実施する無線機６７２をも含み得る。無線機６７２は、通信キャリアまたはサービスプロバイダーを介して、システム６０２と「外界」との間のワイヤレス接続を可能にする。無線機６７２へのおよびそれからの送信は、オペレーティングシステム６６４の制御下で行われる。言い換えれば、無線機６７２によって受信された通信は、オペレーティングシステム６６４を介してアプリケーションプログラム６６６に配布され得、その逆も同様である。
【００８７】
[0092]ビジュアルインジケーター６２０が、ビジュアル通知を与えるために使用され得、および／またはオーディオインターフェイス６７４が、オーディオトランスデューサー６２５を介して可聴通知を生成するために使用され得る。図示の実施形態では、ビジュアルインジケーター６２０は発光ダイオード（ＬＥＤ）であり、オーディオトランスデューサー６２５はスピーカーである。これらのデバイスは、電源６７０に直接結合され得、したがって、アクティブ化されたとき、それらのデバイスは、プロセッサ６６０および他のコンポーネントがバッテリー電力を温存するために停止することがあっても、通知機構によって規定された継続時間の間オンにとどまる。ＬＥＤは、デバイスの電源投入ステータスを示すために、ユーザーがアクションをとるまで無期限にオンにとどまるようにプログラムされ得る。オーディオインターフェイス６７４は、ユーザーに可聴信号を与え、ユーザーから可聴信号を受信するために使用される。たとえば、オーディオトランスデューサー６２５に結合されることに加えて、オーディオインターフェイス６７４は、電話会話を可能にするためになど、可聴入力を受信するためにマイクにも結合され得る。本開示の実施形態によれば、マイクは、以下で説明するように、通知の制御を可能にするためのオーディオセンサーとしても働き得る。システム６０２は、静止画像、ビデオストリームなどを記録するために、オンボードカメラ６３０の動作を可能にするビデオインターフェイス６７６をさらに含み得る。
【００８８】
[0093]システム６０２を実装するモバイルコンピューティングデバイス６００は、追加の特徴または機能を有し得る。たとえば、モバイルコンピューティングデバイス６００は、磁気ディスク、光ディスク、またはテープなどの追加のデータストレージデバイス（リムーバブルおよび／または非リムーバブル）をも含み得る。そのような追加のストレージは、不揮発性ストレージ領域６６８によって図６Ｂに示されている。
【００８９】
[0094]モバイルコンピューティングデバイス６００によって生成またはキャプチャされ、システム６０２を介して記憶されたデータ／情報は、上記で説明したように、モバイルコンピューティングデバイス６００上にローカルに記憶され得、あるいはデータは、無線機６７２を介して、またはモバイルコンピューティングデバイス６００と、モバイルコンピューティングデバイス６００に関連する別個のコンピューティングデバイス、たとえば、インターネットなど、分散コンピューティングネットワーク中のサーバーコンピューターとの間のワイヤード接続を介して、デバイスによってアクセスされ得る任意の数の記憶媒体に記憶され得る。諒解されるべきであるように、そのようなデータ／情報は、無線機６７２を介してまたは分散コンピューティングネットワークを介して、モバイルコンピューティングデバイス６００を介してアクセスされ得る。同様に、そのようなデータ／情報は、電子メールおよび共同的データ／情報共有システムを含む、よく知られているデータ／情報転送および記憶手段に従って、記憶および使用のためにコンピューティングデバイス間で容易に転送され得る。
【００９０】
[0095]図７に、上記で説明したように、コンピューティングデバイス７０４、タブレット７０６、またはモバイルデバイス７０８など、リモートソースからコンピューティングシステムにおいて受信されたデータを処理するためのシステムのアーキテクチャの一態様を示す。サーバー７０２において表示されるコンテンツは、異なる通信チャネルまたは他のストレージタイプに記憶され得る。たとえば、様々なドキュメントは、ディレクトリサービス７２２、Ｗｅｂポータル７２４、メールボックスサービス７２６、インスタントメッセージングストア７２８、またはソーシャルネットワーキングサイト７３０を使用して記憶され得る。クライアントコンピューティング環境２０３は、サーバー７０２と通信するクライアントによって採用され得る。サーバー７０２は、ネットワーク７１５を通して、パーソナルコンピューター７０４、タブレットコンピューティングデバイス７０６および／またはモバイルコンピューティングデバイス７０８（たとえば、スマートフォン）などのクライアントコンピューティングデバイスにおよびそれからデータを与え得る。例として、図１〜図２に関して上記で説明したコンピューターシステムは、パーソナルコンピューター７０４、タブレットコンピューティングデバイス７０６および／またはモバイルコンピューティングデバイス７０８（たとえば、スマートフォン）中に埋め込まれ得る。コンピューティングデバイスのこれらの実施形態のいずれも、グラフィック発信側システムにおいて前処理されるべき、または受信側コンピューティングシステムにおいて後処理されるべき使用可能なグラフィカルデータを受信することに加えて、ストア７１６からコンテンツを取得し得る。
【００９１】
[0096]図８に、本明細書で開示する１つまたは複数の態様を実行し得る例示的なタブレットコンピューティングデバイス８を示す。さらに、本明細書で説明する態様および機能は、アプリケーション機能、メモリ、データ記憶および取得ならびに様々な処理機能が、インターネットまたはイントラネットなど、分散コンピューティングネットワーク上で互いからリモートで動作させられ得る、分散型システム（たとえば、クラウドベースコンピューティングシステム）上で動作し得る。様々なタイプのユーザーインターフェイスおよび情報が、オンボードコンピューティングデバイスディスプレイを介して、または１つまたは複数のコンピューティングデバイスに関連するリモートディスプレイユニットを介して表示され得る。たとえば、様々なタイプのユーザーインターフェイスおよび情報は、様々なタイプのユーザーインターフェイスおよび情報がその上に投影される壁面上で表示され、対話され得る。本発明の実施形態がそれを用いて実施され得る多数のコンピューティングシステムとの対話は、キーストローク入力、タッチスクリーン入力、ボイスまたは他のオーディオ入力、関連するコンピューティングデバイスが、コンピューティングデバイスの機能を制御するためのユーザージェスチャーをキャプチャし、解釈するための検出（たとえば、カメラ）機能を装備している場合のジェスチャー入力などを含む。
【００９２】
[0097]図９に、不完全自然言語表現分析モデルを構築するためのシステム９００を示す。態様では、システム９００は、アノテーション付きテストデータを使用して、自然言語モデルと不完全自然言語モデルとを構築する。たとえば、システム９００は、自然言語モデルを作成するために、アノテーション付きテストデータとしてフルクエリまたは部分クエリを使用し、クエリをｎグラム分析特徴抽出器に通し得る。本システムは、アノテーションをガイドとして使用して、正確さを判断するために自然言語モデルを分析し得る。さらに、本システムは、次いで、不完全自然言語モデルを作成するために、それらの同じフルクエリを使用し、不完全自然言語表現を作成するために文字を削除し、不完全自然言語表現をｎグラム分析特徴抽出器に通し得る。モデルは、次いで、アノテーションをガイドとして使用して、正確さを判断するために比較され得る。さらに、前に処理された不完全自然言語クエリが、モデルをトレーニングするために使用され、不完全自然言語モデルに通され得る。システム９００の様々なコンポーネントは、次いで、より正確な自然言語モデルおよび／またはより正確な不完全自然言語モデルを入手するために修正され得る。
【００９３】
[0098]本技術の態様では、システム９００は、アノテーション付きストレージデバイス９１０に記憶されたアノテーション付きテストデータ９１３を含む。アノテーション付きトレーニングデータは、データが、ドメイン、意図および／またはスロットに関係する情報でタグ付けされることを意味する。たとえば、クエリ「ｒｅｍｉｎｄ  ｍｅ  ｔｏ  ｍｏｖｅ  ｍｙ  ｃａｒ  ｉｎ  ｔｗｏ  ｈｏｕｒｓ（２時間後に私の車を移動することを私にリマインドしてください）」、ユーザーの意図は、「ｃｒｅａｔｅ＿ｓｉｎｇｌｅ＿ｒｅｍｉｎｄｅｒ」としてタグ付けされ、ドメインは、「ｒｅｍｉｎｄｅｒ（リマインダー）」ドメインとしてタグ付けされ、スロット情報リマインダーテキストは、「ｍｏｖｅ  ｍｙ  ｃａｒ（私の車を移動する）」としてタグ付けされ、スロット情報リマインダー開始時間は、「ｉｎ  ｔｗｏ  ｈｏｕｒｓ（２時間後）」としてタグ付けされる。タグ付けされることは、ドメイン、意図、およびスロット予測が、ユーザー意図を正しく反映するものとして識別されたことを意味する。
【００９４】
[0099]さらに、アノテーション付きテストデータは、前に処理された不完全自然言語表現の結果を含み得る。処理は、それぞれ、図１および図２を参照しながら説明した自然言語分析コンポーネント１３０または自然言語分析コンポーネント２３０など、自然言語分析コンポーネントによって行われ得る。たとえば、ユーザーは、動的システム１００およびネットワーク化されたシステム２００など、自然言語表現を解釈するためのシステムによって生成された予測されたドメイン、意図、およびスロットの正確さを確認していることがある。したがって、アノテーション付きテストデータ９１３は不完全自然言語表現を含み得、その表現は、ユーザーによって確認されたドメイン、意図、およびスロットでタグ付けされることになる。
【００９５】
[00100]コンテキスト情報もアノテーション付きテストデータ９１３に関連付けられ得る。たとえば、アノテーション付きテストデータ９１３が、前に処理された不完全自然言語表現でポピュレートされた場合、コンテキスト情報は、ターン中の各ターンから抽出された情報、前のに対する応答、クライアントコンピューティングデバイスのディスプレイ上に配置されたアイテム、クライアントコンピューティングデバイスのディスプレイ上に配置されたテキスト、クライアントコンテキスト（たとえば、クライアント連絡先リスト、カレンダー、ＧＰＳ情報、不完全自然言語が受信された時間）などを含み得る。
【００９６】
[00101]自然言語クエリは、次いで、ｎグラム分析特徴抽出器９３０に渡され得る。ｎグラム分析特徴抽出器９３０は、単語ｎグラム特徴抽出器９３２と、文字ｎグラム特徴抽出器９３４と、部分語ｎグラム特徴抽出器９３６とを有し得る。各抽出器は、第１の特徴トレーニングデータセット９４０を作成するために、部分語ｎグラムと、単語ｎグラムと、文字ｎグラムとを抽出し得る。ｎグラム抽出は、図１および図２で言及したのと同様の様式で実施され得る。
【００９７】
[00102]特徴付き（ｆｅａｔｕｒｅｄ）トレーニングデータセット９４０は、次いで、ドメイン、意図、およびスロットを予測するために、自然言語理解（ＮＬＵ：ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｕｎｄｅｒｓｔａｎｄｉｎｇ）コンポーネント９５０に記憶された自然言語モデルによって使用され得る。ドメイン、意図、およびスロットの予測は、上記で説明した予測と同様または同じに行われ得る。
【００９８】
[00103]様々な特徴が、ＮＬＵモデル９５０をトレーニングするために使用される。たとえば、単語ｎグラム、部分ｎグラム、および部分語ｎグラムが、自然言語モデルをトレーニングするために使用され得る。さらに、エンティティ語彙が、そのときのＮＬＵモデルをトレーニングするために使用され得る。各語彙は、同じ意味論的クラスに属するエンティティのセットである。たとえば、映画名、アプリケーション名などのセットは、すべて、考慮されたエンティティ語彙である。ＮＬＵモデルをトレーニングすることにより、より正確なドメイン、意図、およびスロット予測が生じる。
【００９９】
[00104]プレフィックスモジュール９２０は、ＮＬＵモデルに渡される同じクエリから不完全自然言語表現を作成し得る。上記の例を続けると、クエリ「ｒｅｍｉｎｄ  ｍｅ  ｔｏ  ｍｏｖｅ  ｍｙ  ｃａｒ（私の車を移動することを私にリマインドしてください）」は、「ｒｅｍｉｎｄ  ｍ」、「ｒｅｍｉｎｄ  ｍｅ」、「ｒｅｍｉｎｄ  ｍｅ  ｔ」などに解析され得る。
【０１００】
[00105]代替的に、前に処理された不完全自然言語表現が使用されるとき、アノテーション付きテストデータは、プレフィックスモジュールを通過せず、単に不完全ｎグラム分析特徴抽出器９３０に移る。
【０１０１】
[00106]不完全自然言語表現は、次いで、ｎグラム分析特徴抽出器９３０に移り得る。ｎグラム自然言語特徴抽出器９３０は、上記で説明したように、単語ｎグラムと、部分語ｎグラムと、文字ｎグラムとを抽出する。この抽出された情報は、次いで、特徴付きテストデータ９６０に渡される。
【０１０２】
[00107]特徴付きテストデータ９６０は、次いで、ドメイン、意図、およびスロットを予測するために、不完全自然言語理解（ＩＮＬＵ：ｉｎｃｏｍｐｌｅｔｅ  ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｕｎｄｅｒｓｔａｎｄｉｎｇ）コンポーネント９６５に記憶された不完全自然言語モデルによって使用され得る。ドメイン、意図、およびスロットの予測は、上記で説明した予測と同様または同じに行われ得る。
【０１０３】
[00108]様々な特徴が、ＩＮＬＵモデル９６５をトレーニングするために使用される。たとえば、単語ｎグラム、部分ｎグラム、および部分語ｎグラムが、自然言語モデルをトレーニングするために使用され得る。さらに、エンティティ語彙が、そのときのＩＮＬＵモデルをトレーニングするために使用され得る。各語彙は、同じ意味論的クラスに属するエンティティのセットである。たとえば、映画名、アプリケーション名などのセットは、すべて、考慮されたエンティティ語彙である。ＩＮＬＵモデルをトレーニングすることにより、より正確なドメイン、意図、およびスロット予測が生じる。
【０１０４】
[00109]一態様では、ＮＬＵモデルおよび／またはＩＮＬＵモデルの予測は、タグ付けされた実際のドメイン、意図、およびスロットに対して評価される。適切な場合、ＮＬＵモデルおよび／またはＩＮＬＵモデルは調整される。
【０１０５】
[00110]本開示の態様について、たとえば、本開示の態様による方法、システム、およびコンピュータープログラム製品のブロック図ならびに／または動作図を参照しながら上記で説明した。ブロック中で言及された機能／行為は、フローチャートに示された順序以外で行われ得る。たとえば、連続して示された２つのブロックは、事実上、実質的に同時に実行され得、またはブロックは、関与する機能／行為に応じて、時々逆順で実行され得る。
【０１０６】
[00111]本出願で提供される１つまたは複数の態様の説明および例示は、請求する本開示の範囲をいかなる形でも限定または制限するものではない。本出願で提供される態様、例、および詳細は、所有権（ｐｏｓｓｅｓｓｉｏｎ）を伝え、請求する開示の最良の形態を他者が製作および使用することを可能にするのに十分であると考えられる。請求する開示は、本出願で提供されるいかなる態様、例、または詳細にも限定されると解釈されるべきではない。組み合わせで図示および説明されているか、別々に図示および説明されているかにかかわらず、（構造的および方法論的の両方の）様々な特徴は、特徴の特定のセットをもつ実施形態を作り出すために選択的に含められるかまたは省略されるものとする。本出願の説明および例示を提供された当業者は、請求する開示のより広い範囲から逸脱しない、本出願で具現化された一般的な発明的概念のより広範な態様の趣旨内に入る変形形態、変更形態、および代替態様を想定し得る。
【図１】
0006727212.tif 000002
【図２】
0006727212.tif 000003
【図３】
0006727212.tif 000004
【図４】
0006727212.tif 000005
【図５】
0006727212.tif 000006
【図６Ａ】
0006727212.tif 000007
【図６Ｂ】
0006727212.tif 000008
【図７】
0006727212.tif 000009
【図８】
0006727212.tif 000010
【図９】
0006727212.tif 000011