(57)【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサと、
少なくとも１つのプロセッサに、あいまいな要求を弁別するための方法を実施させるプログラムを記憶したメモリと
を含むシステムであって、前記方法は、
自然言語表現を受けるステップであって、前記自然言語表現は、テキストの単語、用語、および句のうちの少なくとも１つを含む、ステップと、
対話仮説セットを、前記自然言語表現から、コンテキスト情報を使用することによって作成するステップであって、前記対話仮説セットが、第１ドメインに対応する第１対話仮説と、第２ドメインに対応する第２対話仮説とを含む、ステップと、
第１ドメインエンジンコンポーネントおよび第２ドメインエンジンコンポーネントから、前記対話仮説セットのための複数の対話応答を生成するステップと、
機械学習技法により、前記第１ドメインエンジンコンポーネントおよび第２ドメインエンジンコンポーネントを、前記複数の前記対話応答の分析に基づいてランク付けするステップと、
最も高くランク付けされたドメインエンジンコンポーネントを用いてアクションを実施するステップと
を含む、システム。
【請求項２】
請求項１に記載のシステムであって、前記自然言語表現は、音声言語入力およびテキスト入力のうちの少なくとも１つである、システム。
【請求項３】
請求項１または２に記載のシステムであって、前記コンテキスト情報は、前に受けた自然言語表現から抽出された情報と、前に受けた自然言語表現に対する応答と、クライアントコンテキストと、ナレッジコンテンツとのうちの少なくとも１つを含む、システム。
【請求項４】
請求項３に記載のシステムであって、前記前に受けた自然言語表現から抽出された前記情報は、少なくとも、ドメイン予測と、意図予測と、スロットタイプとを含む、システム。
【請求項５】
請求項１から４のいずれか一項に記載のシステムであって、前記対話仮説セットを作成するステップは、
少なくとも１つの特徴を前記自然言語表現から抽出するステップと、
少なくとも２つの対話仮説を生成するステップであって、前記対話仮説セットの各対話仮説は、少なくとも１つの抽出された特徴を含む異なる自然言語表現を含む、ステップと
を含む、システム。
【請求項６】
請求項１から５のいずれか一項に記載のシステムであって、前記対話仮説セットのための複数の対話応答を生成するステップは、前記対話仮説セットの各対話仮説について複数の応答を生成するステップを含む、システム。
【請求項７】
請求項１から６のいずれか一項に記載のシステムであって、前記対話仮説セットのための複数の対話応答を生成するステップは、対話仮説をＷｅｂバックエンドエンジンに送るステップと、対話仮説をドメイン固有コンポーネントに送るステップとのうちの少なくとも１つを含む、システム。
【請求項８】
請求項１から７のいずれか一項に記載のシステムであって、ランク付けする前記ステップは、
特徴を、前記対話仮説セット中の対話仮説から抽出するステップと、
抽出された前記特徴のためのスコアを計算するステップであって、計算された前記スコアは前記対話仮説セット内の対話仮説ランクを示す、ステップと
を含む、システム。
【請求項９】
請求項１から８のいずれか一項に記載のシステムであって、ランク付けする前記ステップは、前記複数の前記対話応答を複数のログ記録された対話応答と比較するステップをさらに含む、システム。
【請求項１０】
請求項１から９のいずれか一項に記載のシステムであって、最も高くランク付けされたドメインエンジンコンポーネントを用いてアクションを実施するステップは、
最も高くランク付けされた対話仮説を用いて結果についてウェブバックエンドエンジンに問い合わせるステップと、
前記結果をクライアントコンピューティングデバイスのユーザに送るステップと
を含む、システム。
【請求項１１】
少なくとも１つのプロセッサに、対話コンポーネントをトレーニングしてあいまいな要求を弁別するための方法を実施させるプログラムであって、前記方法は、
自然言語表現を受けるステップであって、前記自然言語表現は、テキストの単語、用語、および句のうちの少なくとも１つを含む、ステップと、
対話仮説セットを、前記自然言語表現から、コンテキスト情報を使用することによって作成するステップであって、前記対話仮説セットが、第１ドメインに対応する第１対話仮説と、第２ドメインに対応する第２対話仮説とを含む、ステップと、
第１ドメインエンジンコンポーネントおよび第２ドメインエンジンコンポーネントから、前記対話仮説セットのための複数の対話応答を生成するステップと、
機械学習技法により、前記第１ドメインエンジンコンポーネントおよび第２ドメインエンジンコンポーネントを、前記複数の前記対話応答の分析に基づいてランク付けするステップと、
最も高くランク付けされたドメインエンジンコンポーネントを用いてアクションを実施するステップと
を含む、プログラム。
【請求項１２】
請求項１１に記載のプログラムであって、前記方法は、前記複数の対話応答を複数のログ記録された対話応答と比較するステップをさらに含み、複数のログ記録された対話応答は、前記自然言語表現から生成された複数の応答を含む、プログラム。
【請求項１３】
請求項１１または１２に記載のプログラムであって、前記対話仮説セットを作成するステップは、
少なくとも１つの特徴を前記自然言語表現から抽出するステップと、
少なくとも２つの対話仮説を生成するステップであって、前記対話仮説セットの各対話仮説は、少なくとも１つの抽出された特徴を含む異なる自然言語表現を含む、ステップと
を含む、プログラム。
【請求項１４】
請求項１２に記載のプログラムであって、前記方法は、
前記複数の対話応答のうちの少なくとも１つが前記ログ記録された対話応答のうちの少なくとも１つと一致するかを判定するステップと、
前記対話仮説セット内の少なくとも１つの対話仮説であって、前記少なくとも１つのログ記録された対話応答と一致する前記少なくとも１つの対話応答に対応する前記少なくとも１つの対話仮説をラベル付けするステップと
をさらに含む、プログラム。
【請求項１５】
請求項１１から１４のいずれか一項に記載のプログラムを含む１つまたは複数のコンピュータ可読記憶媒体。
【請求項１６】
コンピュータが実行する方法であって、
自然言語表現を受けるステップであって、前記自然言語表現は、テキストの単語、用語、および句のうちの少なくとも１つを含む、ステップと、
対話仮説セットを、前記自然言語表現から、コンテキスト情報を使用することによって作成するステップであって、前記対話仮説セットが、第１ドメインに対応する第１対話仮説と、第２ドメインに対応する第２対話仮説とを含む、ステップと、
第１ドメインエンジンコンポーネントおよび第２ドメインエンジンコンポーネントから、前記対話仮説セットのための複数の対話応答を生成するステップと、
機械学習技法により、前記第１ドメインエンジンコンポーネントおよび第２ドメインエンジンコンポーネントを、前記複数の前記対話応答の分析に基づいてランク付けするステップと、
最も高くランク付けされたドメインエンジンコンポーネントを用いてアクションを実施するステップと
を含む方法。
【請求項１７】
請求項１６に記載のコンピュータが実行する方法であって、前記自然言語表現は、音声言語入力およびテキスト入力のうちの少なくとも１つである、方法。
【請求項１８】
請求項１６または１７に記載のコンピュータが実行する方法であって、前記コンテキスト情報は、前に受けた自然言語表現から抽出された情報と、前に受けた自然言語表現に対する応答と、クライアントコンテキストと、ナレッジコンテンツとのうちの少なくとも１つを含む、方法。
【請求項１９】
請求項１８に記載のコンピュータが実行する方法であって、前記前に受けた自然言語表現から抽出された前記情報は、少なくとも、ドメイン予測と、意図予測と、スロットタイプとを含む、方法。
【請求項２０】
請求項１６から１９のいずれか一項に記載のコンピュータが実行する方法であって、前記対話仮説セットを作成するステップは、
少なくとも１つの特徴を前記自然言語表現から抽出するステップと、
少なくとも２つの対話仮説を生成するステップであって、前記対話仮説セットの各対話仮説は、少なくとも１つの抽出された特徴を含む異なる自然言語表現を含む、ステップと
を含む、方法。
【請求項２１】
請求項１６から２０のいずれか一項に記載のコンピュータが実行する方法であって、前記対話仮説セットのための複数の対話応答を生成するステップは、前記対話仮説セットの各対話仮説について複数の応答を生成するステップを含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[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]本出願で提供される１つまたは複数の態様の説明および例示は、請求する本開示の範囲をいかなる形でも限定または制限するものではない。本出願で提供される態様、例、および詳細は、所有権（ｐｏｓｓｅｓｓｉｏｎ）を伝え、請求する開示の最良の形態を他者が製作および使用することを可能にするのに十分であると考えられる。請求する開示は、本出願で提供されるいかなる態様、例、または詳細にも限定されると解釈されるべきではない。組合せで図示および説明されているか、別々に図示および説明されているかにかかわらず、（構造的および方法論的の両方の）様々な特徴は、特徴の特定のセットをもつ実施形態を作り出すために選択的に含められるかまたは省略されるものとする。本出願の説明および例示を提供された当業者は、請求する開示のより広い範囲から逸脱しない、本出願で具現化された一般的な発明的概念のより広範な態様の趣旨内に入る変形形態、変更形態、および代替態様を想定し得る。
【図１】
0006701206.tif 000002
【図２】
0006701206.tif 000003
【図３】
0006701206.tif 000004
【図４】
0006701206.tif 000005
【図５】
0006701206.tif 000006
【図６】
0006701206.tif 000007
【図７】
0006701206.tif 000008
【図８Ａ】
0006701206.tif 000009
【図８Ｂ】
0006701206.tif 000010
【図９】
0006701206.tif 000011
【図１０】
0006701206.tif 000012