(57)【要約】  初回にユーザのクエリに応答するどのリソースも、1つまたは複数の基準(たとえば、1つまたは複数の品質基準)を満足しないと決定することと、そのような決定に応答して、後でユーザに提示するために、後のクエリに応答しかつ基準を満足する所与のリソースに基づくコンテンツを提供することとに関連する、方法、装置、およびコンピュータ可読媒体。後のクエリに応答する所与のリソースは、初回にクエリに応答する任意のリソースに加えるリソースであってよく、または初回にクエリに応答したリソースの改良バージョンであってもよい。
2019537801.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
ユーザと、前記プロセッサのうちの1つまたは複数のプロセッサによって実施された自動アシスタントとの間の対話セッションにおいて、
前記対話セッションの一部として前記ユーザからクエリを受信するステップであって、前記クエリが、ユーザインターフェース入力デバイスを介してユーザによって生成されたユーザインターフェース入力に基づいており、前記クエリが、前記対話セッションの一部として前記自動アシスタントに向けられる、ステップと、
前記クエリに応答するリソースがどれも1つまたは複数の基準を満足しないと決定するステップと、
前記クエリに応答する前記リソースがどれも前記基準を満足しないと決定することに基づいて、
前記クエリに応答しかつ前記基準を満足する所与のリソースの存在を監視するステップと、
前記ユーザと前記自動アシスタントとの間の後続の対話セッションにおいて、前記所与のリソースの前記存在を決定することに基づいて、
前記後続の対話セッションの一部として、前記自動アシスタントからの出力として前記ユーザに提示するために、前記クエリに応答しかつ前記基準を満足する前記所与のリソースに基づくコンテンツを提供するステップと
を含む、方法。
【請求項２】
前記対話セッションにおいて、前記クエリに応答する前記リソースがどれも前記基準を満足しないと決定することに応答して、
前記対話セッションの一部として、前記自動アシスタントからの出力として前記ユーザに提示するために、前記クエリに応答する前記リソースがどれも前記基準を満足しないことに関連するプロンプトを提供するステップと、
前記プロンプトに応答して前記ユーザからさらなるユーザインターフェース入力を受信するステップと
をさらに含み、
前記後続の対話セッションにおいて、前記所与のリソースに基づく前記コンテンツを提供するステップが、前記プロンプトに応答して前記ユーザから前記さらなるユーザインターフェース入力を受信することを条件とする、請求項1に記載の方法。
【請求項３】
前記後続の対話セッションにおいて、
前記後続の対話セッションの一部として前記ユーザからさらなるユーザインターフェース入力を受信するステップであって、前記さらなるユーザインターフェース入力が前記クエリに関連しない、ステップをさらに含み、
前記後続の対話セッションにおいて、前記所与のリソースに基づく前記コンテンツを提供するステップが、前記さらなるユーザインターフェース入力を受信することに基づく、請求項1に記載の方法。
【請求項４】
前記後続の対話セッションにおいて、
前記後続の対話セッションの一部として、前記自動アシスタントからの出力として前記ユーザに提示するために、前記さらなるユーザインターフェース入力に応答する初期応答出力を提供するステップをさらに含み、
前記コンテンツを提供するステップが、前記初期応答出力を提供するステップに続いて行われ、前記さらなるユーザインターフェース入力の後で前記ユーザによって提供される任意の追加の入力を受信することなしに行われる、請求項3に記載の方法。
【請求項５】
1つまたは複数のプロセッサによって実施される方法であって、
初回にクエリを受信するステップであって、前記クエリが、ユーザインターフェース入力デバイスを介してユーザによって生成されたユーザインターフェース入力に基づいている、ステップと、
前記クエリを受信することに応答して、1つまたは複数のデータベースの検索を前記クエリに基づいて発行させるステップと、
前記検索に応答して、前記初回に前記クエリに応答する1つまたは複数のリソースを取得するステップと、
前記初回に前記クエリに応答する前記リソースがどれも1つまたは複数の基準を満足しないと決定するステップと、
前記初回の後の2回目に、前記2回目に前記クエリに応答する所与のリソースが前記基準を満足すると決定するステップであって、
前記所与のリソースが、前記初回に前記クエリに応答する前記リソースに加えるものであるか、または前記初回に前記クエリに応答する前記リソースのうちの1つの改良バージョンである、ステップと、
前記初回に前記クエリに応答した前記リソースがどれも前記基準を満足しなかったと決定することに基づいて、および前記2回目に前記クエリに応答する前記所与のリソースが前記基準を満足すると決定することに基づいて、
前記ユーザのコンピューティングデバイスを介して前記ユーザに提示するために、前記2回目に前記クエリに応答する前記所与のリソースに基づくコンテンツを提供するステップと
を含む、方法。
【請求項６】
前記1つまたは複数の基準が品質基準を含む、請求項5に記載の方法。
【請求項７】
前記品質基準が、前記データベースのうちの1つまたは複数の中に、前記クエリに対する信頼すべき回答としての表示を有している、請求項6に記載の方法。
【請求項８】
前記初回に前記クエリに応答する前記リソースがどれも前記基準を満足しないと決定することに応答して、
ユーザインターフェース出力デバイスを介して前記ユーザに提示するために、前記初回に前記クエリに応答する前記リソースがどれも前記基準を満足しないことに関連するプロンプトを提供するステップと、
前記プロンプトに応答して前記ユーザからさらなるユーザインターフェース入力を受信するステップと
をさらに含み、
前記所与のリソースに基づく前記コンテンツを提供するステップが、前記プロンプトに応答して前記ユーザから前記さらなるユーザインターフェース入力を受信することを条件とする、請求項5に記載の方法。
【請求項９】
前記所与のリソースが、前記データベースのうちの1つのエントリであり、前記所与のリソースが前記2回目に前記基準を満足すると決定するステップが、
前記エントリに対するフィールドが、前記クエリに対する所望の情報を示す前記2回目に値を包含すると決定するステップを含む、請求項5に記載の方法。
【請求項１０】
前記所与のリソースが前記初回に前記クエリに応答したが、前記初回に前記値を含まず、前記所与のリソースが前記初回に前記基準を満足しなかったと決定するステップが、
前記初回に前記エントリに対する前記フィールド内に包含される任意の値が、前記クエリに対する所望の情報を示さないと決定するステップを含む、請求項9に記載の方法。
【請求項１１】
前記初回の後で、前記クエリに関連しておらず、前記コンピューティングデバイスを介して前記ユーザによって提供される、さらなるユーザインターフェース入力を受信するステップと、
前記さらなるユーザインターフェース入力を受信することに基づいて、前記所与のリソースに基づく前記コンテンツを提供するステップと
をさらに含む、請求項5に記載の方法。
【請求項１２】
前記コンピューティングデバイスを介して前記ユーザに提示するために、前記さらなるユーザインターフェース入力に応答する初期応答出力を提供するステップをさらに含み、
前記コンテンツを提供するステップが、前記初期応答出力を提供するステップに続いて行われ、前記さらなるユーザインターフェース入力の後で前記ユーザによって提供される任意の追加の入力を受信することなしに行われる、請求項11に記載の方法。
【請求項１３】
前記クエリが、前記コンテンツが前記ユーザへの提示のために提供される前記コンピューティングデバイスに追加されるものである追加のコンピューティングデバイス上で受信される、請求項11に記載の方法。
【請求項１４】
1つまたは複数のプロセッサによって実施される方法であって、
初回にユーザのクエリに応答するリソースがどれも1つまたは複数の基準を満足しないと決定するステップと、
前記初回に前記クエリに応答する前記リソースがどれも前記基準を満足しないと決定することに応答して、
前記クエリに応答しかつ前記基準を満足する所与のリソースの存在を監視するステップであって、
前記所与のリソースが、前記初回に前記クエリに応答する前記リソースに加えるものであるか、または前記初回に前記クエリに応答する前記リソースのうちの1つの改良バージョンである、ステップと、
前記所与のリソースの前記存在を決定することに基づいて、
前記ユーザのコンピューティングデバイスを介して前記ユーザに提示するために、前記クエリに応答しかつ前記基準を満足する前記所与のリソースに基づくコンテンツを提供するステップと
を含む、方法。
【請求項１５】
前記初回の後で、前記クエリに関連しておらず、前記コンピューティングデバイスを介して前記ユーザによって提供される、さらなるユーザインターフェース入力を受信するステップと、
前記さらなるユーザインターフェース入力を受信することに基づいて、前記所与のリソースに基づく前記コンテンツを提供するステップと
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記コンピューティングデバイスを介して前記ユーザに提示するために、前記さらなるユーザインターフェース入力に応答する初期応答出力を提供するステップをさらに含み、
前記コンテンツを提供するステップが、前記初期応答出力を提供するステップに続いて行われ、前記さらなるユーザインターフェース入力の後で前記ユーザによって提供される任意の追加の入力を受信することなしに行われる、請求項15に記載の方法。
【請求項１７】
前記クエリが、前記コンテンツが前記ユーザへの提示のために提供される前記コンピューティングデバイスに追加されるものである追加のコンピューティングデバイス上で受信される、請求項15に記載の方法。
【請求項１８】
前記1つまたは複数の基準が品質基準を含む、請求項14に記載の方法。
【請求項１９】
前記品質基準が、1つまたは複数のデータベースの中に、前記クエリに対する信頼すべき回答としての表示を有している、請求項18に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
検索エンジンは、検索エンジンに提出されたクエリに応答して様々なリソースについての情報を提供する。たとえば、ユーザのクエリに応答して、検索エンジンは、クエリに応答するリソースを識別し得、識別されたリソースの態様を含む、および/または識別されたリソースにリンクする検索結果を提供し得る。しかしながら、いくつかのクエリに応答して、検索エンジンは、検索結果を提供することができないことがあり、および/または十分な品質の1つまたは複数の検索結果を提供することができないことがある。これは、ユーザがクエリを介して探求している情報がまだ利用可能でない(およびそれゆえ検索エンジンにアクセスできない)、および/または検索エンジン(または関連する構成要素)がまだ情報を適切に索引付けしていない、またはさもなければ情報を記憶していないなど、様々な状況による場合がある。
【０００２】
たとえば、架空の会社(Acme)によって製造される架空の製品(「ウィジェット」)に対するリリース日を探求する、「Acmeのウィジェットに対するリリース日は何日か」というユーザのクエリを仮定する。リリース日がウェブページおよび/または他のインターネットリソース上で公的に利用可能であるならば、検索エンジンは、高品質の1つまたは複数の検索結果を提供すること、および探求されている情報(すなわち、リリース日)をユーザに提供することが可能であり得る。たとえば、リリース日は、提示に対する信頼すべき(authoritative)回答の検索結果として、検索エンジンによって他の検索結果より顕著に提供されてよく、および/または他の検索結果の内在するリソースへのリンクとともに、別の検索結果の断片において提供されてよい。しかしながら、リリース日が公的に利用可能でないならば、検索エンジンは、高品質の検索結果を提供することができないことがあるか、または検索結果をまったく提供できない可能性さえもある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書は、初回にユーザのクエリに応答するリソースは、1つまたは複数の基準(たとえば、1つまたは複数の品質基準)を満足しないと決定することと、そのような決定に応答して、後のクエリに応答しかつ基準を満足する所与のリソースに基づくコンテンツ(たとえば、検索結果)を、後でユーザに提示するために提供することとに関連する方法、装置、およびコンピュータ可読媒体を対象とする。後のクエリに応答する所与のリソースは、初回にクエリに応答する任意のリソースに加えるリソースであってよく、または初回にクエリに応答したリソースの改良バージョン(たとえば、ナレッジグラフまたは他のデータベースにおけるエントリの改良バージョン)であってよい。
【０００４】
所与のリソースに基づくコンテンツは、ユーザのコンピューティングデバイスを介して後でユーザに提示するために提供され、ユーザが再びクエリを提出することおよび/または別のクエリが同様の情報を探求することを要することなく、ユーザへの提示のために提供され得る。たとえば、コンテンツは、ユーザのモバイルコンピューティングデバイス上に視覚的および/または可聴の通知を介してユーザに公開され(surface)てよく、ユーザがそのクエリおよび/または別のクエリを再び提出することとは無関係に公開されてよい。同じく、たとえば、コンテンツは、ユーザと自動アシスタントとの間の対話セッションの間に自動アシスタントの視覚的および/または可聴出力として提示されてよく、ここで対話セッションは、そのクエリおよび/または別のクエリが同様の情報を探求することとは無関係である。
【０００５】
本明細書のこれらおよび他の実装形態のいくつかは、様々な技術的利点を達成し得る。たとえば、そのクエリおよび/または同様の情報を探求する別のクエリを再び提出することをユーザに要求することなく、ユーザへの提示のためにコンテンツを提供することによって、さもなければ、そのクエリおよび/または同様の情報を探求する別のクエリを再び提出することでユーザによって消費されることになるリソースなど、様々な計算用リソースの使用が低減され得る。同じく、たとえばいくつかの実装形態では、ユーザのクエリに応答するリソースは、1つまたは複数の基準を満足しないと決定することに応答して、プロンプトまたは他の通知がユーザへの提示のために提供され得る。それらの実装形態のうちのいくつかでは、プロンプトは、基準を満足するリソースの不足をユーザに通知し得、および/または基準を満足するリソースが後で利用可能になる場合、関連するコンテンツが自動的にユーザに提供されることをユーザに通知し得る。これは、そのクエリの同じ情報を探求する、計算コストの高い追跡検索をユーザが発行する代わりに、そのようなコンテンツのプッシュまたは他の提供をユーザに待ち受けさせ得る。本明細書の他の箇所で説明するように、追加のおよび/または代替の技術的利点が達成され得る。
【０００６】
いくつかの実装形態では、初回にユーザのクエリを受信するステップと、そのクエリを受信することに応答して、1つまたは複数のデータベースの検索をそのクエリに基づいて発行させるステップとを含む、1つまたは複数のプロセッサによって実行される方法が提供される。方法は、検索に応答して初回にクエリに応答する1つまたは複数のリソースを取得するステップと、初回にクエリに応答するリソースはどれも1つまたは複数の基準を満足しないと決定するステップとをさらに含む。方法は、初回の後の2回目に、2回目にクエリに応答する所与のリソースが基準を満足すると決定するステップをさらに含む。所与のリソースは、初回にクエリに応答するリソースに加えるものか、または初回にクエリに応答するリソースのうちの1つの改良バージョンである。方法は、ユーザのコンピューティングデバイスを介してユーザに提示するために、2回目にクエリに応答する所与のリソースに基づくコンテンツを提供するステップをさらに含む。提供するステップは、初回にクエリに応答したリソースはどれも基準を満足しなかったと決定するステップに基づき、かつ2回目にクエリに応答する所与のリソースが基準を満足すると決定することに基づく。
【０００７】
本明細書で開示する技術のこれらおよび他の実装形態は、随意に、以下の特徴のうちの1つまたは複数を含み得る。
【０００８】
いくつかの実装形態では、1つまたは複数の基準は、品質基準を含む。それらの実装形態のうちのいくつかでは、品質基準は、データベースのうちの1つまたは複数のデータベースの中に、クエリに対する信頼すべき回答としての表示を有している。
【０００９】
いくつかの実装形態では、方法は、初回にクエリに応答するリソースはどれも基準を満足しないと決定することに応答して、ユーザインターフェース出力デバイスを介してユーザへの提示のために、初回にクエリに応答するリソースはどれも基準を満足しないことに関連するプロンプトを提供するステップと、そのプロンプトに応答してユーザからさらなるユーザインターフェース入力を受信するステップとをさらに含む。それらの実装形態では、所与のリソースに基づくコンテンツを提供するステップは、そのプロンプトに応答してユーザからさらなるユーザインターフェース入力を受信することを条件とし(contingent on)得る。
【００１０】
いくつかの実装形態では、所与のリソースは、データベースのうちの1つのエントリであり、所与のリソースが2回目に基準を満足すると決定するステップは、エントリのためのフィールドがクエリに対する所望の情報を示す、2回目に値を包含すると決定するステップを含む。それらの実装形態のうちのいくつかでは、所与のリソースは初回にクエリに応答したが、初回に値を含まず、所与のリソースは初回に基準を満足しなかったと決定するステップは、初回にエントリに対するフィールド内に包含される任意の値は、クエリに対する所望の情報を示さないと決定するステップを含む。
【００１１】
いくつかの実装形態では、方法は、初回の後で、そのクエリと関連しておらず、コンピューティングデバイスを介してユーザによって提供される、さらなるユーザインターフェース入力を受信するステップと、さらなるユーザインターフェース入力を受信することに基づいて、所与のリソースに基づくコンテンツを提供するステップとをさらに含む。それらの実装形態のうちのいくつかでは、方法は、コンピューティングデバイスを介してユーザに提示するために、さらなるユーザインターフェース入力に応答する初期応答出力を提供するステップをさらに含み、コンテンツを提供するステップは、所期応答出力を提供するステップの後で行われ、かつ、随意に、さらなるユーザインターフェース入力の後にユーザによって提供される任意の追加の入力を受信することなしに行われる。
【００１２】
いくつかの実装形態では、クエリは、コンテンツがユーザへの提示のために提供されるコンピューティングデバイスに追加されるものである追加のコンピューティングデバイス上で受信される。
【００１３】
いくつかの実装形態では、初回にユーザのクエリに応答するリソースはどれも1つまたは複数の基準を満足しないと決定するステップを含む、1つまたは複数のプロセッサによって実行される方法が提供される。方法は、初回にクエリに応答するリソースはどれも基準を満足しないと決定することに応答して、クエリに応答しかつ基準を満足する所与のリソースの存在を監視するステップをさらに含む。所与のリソースは、初回にクエリに応答するリソースに加えるものか、または初回にクエリに応答するリソースのうちの1つの改良バージョンである。方法は、所与のリソースの存在を決定することに基づいて、所与のリソースに基づくコンテンツを提供するステップをさらに含む。コンテンツは、ユーザのコンピューティングデバイスを介してユーザに提示するために提供される。
【００１４】
本明細書で開示する技術のこれらおよび他の実装形態は、随意に、以下の特徴のうちの1つまたは複数を含み得る。
【００１５】
いくつかの実装形態では、方法は、初回の後で、そのクエリと関連しておらず、コンピューティングデバイスを介してユーザによって提供される、さらなるユーザインターフェース入力を受信するステップと、さらなるユーザインターフェース入力を受信することに基づいて、所与のリソースに基づくコンテンツを提供するステップとをさらに含む。それらの実装形態のうちのいくつかでは、方法は、コンピューティングデバイスを介してユーザに提示するために、さらなるユーザインターフェース入力に応答する初期応答出力を提供するステップをさらに含み、コンテンツを提供するステップは、所期応答出力を提供するステップの後で行われ、かつ、随意に、さらなるユーザインターフェース入力の後にユーザによって提供される任意の追加の入力を受信することなしに行われる。
【００１６】
いくつかの実装形態では、クエリは、コンテンツがユーザへの提示のために提供されるコンピューティングデバイスに追加されるものである追加のコンピューティングデバイス上で受信される。
【００１７】
いくつかの実装形態では、1つまたは複数の基準は、品質基準を含む。それらの実装形態のうちのいくつかでは、品質基準は、1つまたは複数のデータベースの中に、クエリに対する信頼すべき回答としての表示を有している。
【００１８】
いくつかの実装形態では、ユーザと、プロセッサのうちの1つまたは複数のプロセッサによって実施される自動アシスタントとの間の対話セッションにおいて、対話セッションの一部としてユーザからクエリを受信するステップと、クエリに応答するリソースはどれも1つまたは複数の基準を満足しないと決定するステップとを含む、1つまたは複数のプロセッサによって実行される方法が提供される。クエリは、ユーザインターフェース入力デバイスを介してユーザによって生成されたユーザインターフェース入力に基づき、クエリは、対話セッションの一部として自動アシスタントを対象とする。方法は、初回にクエリに応答するリソースはどれも基準を満足しないと決定することに応答して、クエリに応答しかつ基準を満足する所与のリソースの存在を監視するステップをさらに含む。方法は、ユーザと自動アシスタントとの間の後続の対話セッションにおいて、および所与のリソースの存在を決定することに基づいて、後続の対話セッションの一部として自動アシスタントからの出力としてユーザへの提示のために、クエリに応答しかつ基準を満足する所与のリソースに基づくコンテンツを提供するステップをさらに含む。
【００１９】
本明細書で開示する技術のこれらおよび他の実装形態は、随意に、以下の特徴のうちの1つまたは複数を含み得る。
【００２０】
いくつかの実装形態では、方法は、対話セッションにおいて、クエリに応答するリソースはどれも基準を満足しないと決定することに応答して、対話セッションの一部として自動アシスタントからの出力としてユーザへの提示のために、クエリに応答するリソースがどれも基準を満足しないことに関連するプロンプトを提供するステップと、プロンプトに応答してユーザからさらなるユーザインターフェース入力を受信するステップとをさらに含む。それらの実装形態のうちのいくつかでは、後続の対話セッションにおいて、所与のリソースに基づくコンテンツを提供するステップは、そのプロンプトに応答してユーザからさらなるユーザインターフェース入力を受信することを条件とする。
【００２１】
いくつかの実装形態では、方法は、後続の対話セッションにおいて、後続の対話セッションの一部としてユーザからさらなるユーザインターフェース入力を受信するステップをさらに含む。さらなるユーザインターフェース入力はクエリと関連せず、所与のリソースに基づくコンテンツを提供するステップは、さらなるユーザインターフェース入力を受信することに基づく。それらの実装形態のうちのいくつかでは、方法は、後続の対話セッションにおいて、後続の対話セッションの一部として自動アシスタントからの出力としてユーザへの提示のために、さらなるユーザインターフェース入力に応答する初期応答出力を提供するステップをさらに含む。それらの実装形態では、コンテンツを提供するステップは、初期応答出力を提供するステップの後で行われる場合があり、および/または、さらなるユーザインターフェース入力の後でユーザによって提供される任意の追加の入力を受信することなしに行われる場合がある。
【００２２】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリに記憶された命令を実行するように動作可能であり、命令は、前述の方法のいずれかの実行を行うように構成される。同じく、いくつかの実装形態は、前述の方法のいずれかを実行するために、1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。
【００２３】
本明細書で非常に詳細に説明する前述の概念と追加の概念とのすべての組合せは、本明細書で開示する主題の一部であるとして企図されていることを諒解されたい。たとえば、本開示の最後に現れる特許請求される主題のすべての組合せは、本明細書で開示する主題の一部であるとして意図されている。
【図面の簡単な説明】
【００２４】
【図１】本明細書で開示する実装形態が実装され得る例示的な環境のブロック図である。
【図２】図1の例示的環境の様々な構成要素が、本明細書で開示する実装形態に従って、いかにして相互に作用するかの一例を示す図である。
【図３Ａ】例示的なクライアントコンピューティングデバイスを示す図である。例示的なクライアントコンピューティングデバイスのディスプレイスクリーンは、クエリと、クエリに応答して提供され得るプロンプトおよび検索結果との一例を表示している。
【図３Ｂ】図3Aの時点の後の時点における図3Aの例示的なクライアントコンピューティングデバイスを示す図である。図3Bのディスプレイスクリーンは、図3Bの時点において図3Aのクエリに応答するリソースに基づき、かつリソースが1つまたは複数の基準を満足すること基づいて、および図3Aの時点においてクエリに応答するリソースが基準を満足しないことに基づいて提供されるコンテンツの一例を示している。
【図４Ａ】自動アシスタントとの対話セッション内で提供されるクエリ、およびその対話セッションの間にクエリに応答して提供され得る検索結果の一例をディスプレイスクリーンが表示する、図3Aの例示的なクライアントコンピューティングデバイスを示す図である。
【図４Ｂ】図4Aの時点の後の時点における例示的なクライアントコンピューティングデバイスを示す図である。図4Bのディスプレイスクリーンは、自動アシスタントとの別の対話セッションの間にコンテンツの別の例を表示している。コンテンツは、図4Bの時点において図4Aのクエリに応答するリソースに基づき、リソースが1つまたは複数の基準を満足すること基づいて、かつ図4Aの時点においてクエリに応答するリソースが基準を満足しないことに基づいて提供される。
【図５Ａ】自動アシスタントとの対話セッション内で提供されるクエリ、およびその対話セッションの間にクエリに応答して提供され得るプロンプトの別の例をディスプレイスクリーンが表示する、図3Aの例示的なクライアントコンピューティングデバイスを示す図である。
【図５Ｂ】図5Aの時点の後の時点における例示的なクライアントコンピューティングデバイスを示す図である。図5Bのディスプレイスクリーンは、自動アシスタントとの別の対話セッションの間に、図5Bの時点において図5Aのクエリに応答するリソースに基づき、かつリソースが1つまたは複数の基準を満足すること基づいておよび図5Aの時点においてクエリに応答するリソースが基準を満足しないことに基づいて提供される、コンテンツの別の例を表示している。
【図６】別の例示的なクライアントコンピューティングデバイスと、自動アシスタントとの対話セッション内でコンテンツを音声で提示することの一例とを示す図である。コンテンツは、図6の時点において、ユーザの以前のクエリに応答するリソースに基づく。コンテンツは、リソースが1つまたは複数の基準を満足すること基づいて、かつ以前のクエリの時点において以前のクエリに応答するリソースが基準を満足しないことに基づいて提供される。
【図７】本明細書で開示する実装形態による例示的な方法を示すフローチャートである。
【図８】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００２５】
本明細書で説明するいくつかの実装形態は、初回にユーザのクエリに応答するリソースは、1つまたは複数の基準(たとえば、1つまたは複数の品質基準)を満足しないと決定することと、そのような決定に応答して、後でユーザに提示するために、後のクエリに応答しかつ基準を満足する所与のリソースに基づくコンテンツを提供することとに関する。後のクエリに応答する所与のリソースは、初回にクエリに応答する任意のリソースに加えるリソースであってよく、または初回にクエリに応答したリソースの改良バージョンであってよい。所与のリソースに基づくコンテンツは、ユーザのコンピューティングデバイスを介して後でユーザに提示するために提供され、ユーザがクエリを再び提出することおよび/または別のクエリが同様の情報を探求することを要することなく、ユーザへの提示のために提供され得る。
【００２６】
一例として、架空のスポーツチーム(「チームA」および「チームB」)間の試合の時間を探求する、「チームAは何時にチームBと試合をするか」というユーザクエリを仮定する。試合の時間は、まだアナウンスされていないことを、さらに仮定する。
【００２７】
1つまたは複数のデータベースの検索は、クエリと、(もしあれば)検索が識別されたことに応答する1つまたは複数のリソースとに基づいて発行され得る。リソースの1つまたは複数の特徴は、それらのリソースはどれも1つまたは複数の品質基準を満足しないと決定するために利用され得る。たとえば、リソースの品質基準は、リソースに対する1つまたは複数の検索順位付け信号および/またはリソースに対する累積順位付けスコアが、1つまたは複数のしきい値を満足することであってよい。別の例として、リソースの品質基準は、リソースが、1つまたは複数のデータベース内に、クエリに対する信頼すべき回答であるコンテンツを含むとしての表示を有することであってよい。たとえば、いくつかのリソースは、1つまたは複数のクエリに対する信頼すべき回答であるコンテンツを含むと見なされてよく、そのようなコンテンツは、そのようなクエリに応答して顕著に提示されてよい(たとえば、唯一の回答コンテンツとして提示されてよく、または他のコンテンツより顕著に提示されてよい)。たとえば、信頼すべき回答は、いわゆる「ワンボックス」内で視覚的に提示されてよく、および/またはユーザに対して音声で読み上げられてよい(ところが、他の応答リソースからのコンテンツは、あるとしても、提示されず、および/または読み上げられない)。さらに別の例として、ナレッジグラフまたは他のリソースにおけるエントリであるリソースの品質基準は、エントリが、クエリに対する所望の情報を示す値を包含するフィールドを含むことであってよい。
【００２８】
応答リソースはどれも1つまたは複数の品質基準を満足しないと決定することに応答して、後で識別される、基準を満足するリソースからのコンテンツを将来のある時点でのユーザへの提示のために提供させるデータが、ユーザに関連して記憶され得る。
【００２９】
ユーザクエリの時刻の後で、品質基準を満足する所与のリソースが存在して品質基準を満足することが決定され得る。たとえば、所与のリソースは、その後、クエリ(および随意に1つまたは複数の他のクエリ)に対する信頼すべきコンテンツを含むと見なされたリソースであり得る。同じく、たとえば、所与のリソースは、クエリに応答する値(ところが、以前の値は、あったとしても、応答しなかった)を含むために更新された1つまたは複数のフィールドを含むデータベース(たとえば、ナレッジグラフ)のエントリであり得る。たとえば、初回にクエリに応答して、「チームAとチームB」との間の試合に対応するナレッジグラフエントリは、「時間」フィールド/ノードを欠いていたか、または応答しない「知られていない/利用できない」値を有する「時間」フィールド/ノード含んでいた可能性がある。ユーザクエリの時刻の後で、エントリの「時間」フィールドは、「19:00」などの特定の応答値で更新され得る。
【００３０】
品質基準を満足する所与のリソースが存在しかつ品質基準を満足すると決定することに応答して、所与のリソースに基づくコンテンツは、ユーザのコンピューティングデバイスを介してユーザに提示するために提供され得る。たとえば、コンテンツは、ユーザがクエリを提出するために使用したのと同じコンピューティングデバイスを介して、および/または別のコンピューティングデバイスを介してユーザに提示するために提供され得る。コンテンツは、様々な形で提示のために提供され得る。たとえば、コンテンツは、ユーザのモバイルコンピューティングデバイス上に視覚的および/または可聴のプッシュ通知として提供されてよく、ユーザがそのクエリおよび/または別のクエリを再び提出することに関係なく公開されてよい。同じく、たとえば、コンテンツは、ユーザと自動アシスタントとの間の対話セッションの間に自動アシスタントの視覚的および/または可聴の出力として提示されてよく、ここで対話セッションは、そのクエリおよび/または別のクエリが同様の情報を探求することとは無関係である。
【００３１】
これらおよび他の実装形態の追加の説明が、ここで図を参照しながら提供される。図1では、本明細書で開示する技法が実装され得る例示的な環境が示される。例示的な環境は、1つまたは複数のユーザインターフェース入力デバイス102と、1つまたは複数のユーザインターフェース出力デバイス104と、システム120とを含む。
【００３２】
ユーザインターフェース入力デバイス102は、たとえば、物理的キーボード、タッチスクリーン(たとえば、仮想キーボードまたは他のテキスト入力メカニズムを実装する)、および/またはマイクロフォンを含み得る。ユーザインターフェース出力デバイス104は、たとえば、ディスプレイスクリーンおよび/またはスピーカーを含み得る。ユーザインターフェース入力デバイス102およびユーザインターフェース出力デバイス104は、ユーザの1つまたは複数のコンピューティングデバイス上に組み込まれ得る。たとえば、ユーザのモバイルフォンはユーザインターフェース入力デバイス102およびユーザインターフェース出力デバイス104を含んでよく、またはスタンドアローンパーソナルアシスタントハードウェアデバイスはユーザインターフェース入力デバイス102およびユーザインターフェース出力デバイス104を含んでよく、または第1のコンピューティングデバイスはユーザインターフェース入力デバイス102を含みかつ別のコンピューティングデバイスはユーザインターフェース出力デバイス104を含んでよい、等々。
【００３３】
システム120は、ユーザインターフェース入力デバイス102およびユーザインターフェース出力デバイス104とは別個のように図1に示されているが、いくつかの実装形態では、システム120のすべてまたは一部(all or aspects)は、ユーザインターフェース入力デバイス102および/またはユーザインターフェース出力デバイス104を同様に包含するコンピューティングデバイス上に実装され得る。たとえば、システム120の出力生成エンジン132および/またはクエリ処理エンジン122のすべてまたは一部は、コンピューティングデバイス上に実装され得る。いくつかの実装形態では、システム120のすべてまたは一部は、ユーザインターフェース入力デバイス102および/またはユーザインターフェース出力デバイス104を包含するコンピューティングデバイスから離れて遠くにあるコンピューティングデバイス上に実装され得る(たとえば、すべてまたは一部は「クラウドに」実装され得る)。それらの実装形態のいくつかでは、システム120のそれらの態様は、ローカルエリアネットワーク(LAN)および/またはワイドエリアネットワーク(WAN)(たとえば、インターネット)などの1つまたは複数のネットワークを介してコンピューティングデバイスと通信し得る。
【００３４】
ユーザインターフェース入力デバイス102および/またはユーザインターフェース出力デバイス104を含み得るクライアントコンピューティングデバイスのいくつかの非限定的な例は、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、少なくとも部分的に自動アシスタント専用のスタンドアローンハードウェアデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車内通信システム、車内娯楽システム、車内ナビゲーションシステム)、またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの時計、コンピューティングデバイスを有するユーザの眼鏡、仮想現実または拡張現実コンピューティングデバイス)のうちの1つまたは複数を含む。追加および/または代替のクライアントコンピューティングデバイスが提供され得る。いくつかの実装形態では、所与のユーザは、コンピューティングデバイスの協調的「エコシステム」を共同で形成する複数のクライアントコンピューティングデバイスを利用するシステム120のすべてまたは一部と通信し得る。しかしながら、簡潔にするために、本開示において説明するいくつかの例は、ユーザ単一のクライアントコンピューティングデバイスを動作させることに焦点を合わせることになる。
【００３５】
クライアントコンピューティングデバイスおよびシステム120は、それぞれ(それらが個別のデバイスであるとき)、データの記憶およびソフトウェアアプリケーションのための1つまたは複数のメモリと、データへのアクセスおよびアプリケーションの実行のための1つまたは複数のプロセッサと、ネットワーク上の通信を促進する他の構成要素とを含み得る。クライアントコンピューティングデバイスのうちの1つまたは複数によっておよび/またはシステム120によって実行される動作は、複数のコンピューティングデバイスにわたって分配され得る。システム120は、たとえば、ネットワークを介して互いに結合された1つまたは複数のロケーション内の1つまたは複数のコンピュータ上で作動するコンピュータプログラムとして実装され得る。
【００３６】
図1に示すように、ユーザは、ユーザインターフェース入力デバイス102を介してクエリまたは他の入力をシステム120に与える。システム120は、ユーザインターフェース出力デバイス104を介して(随意に、1つまたは複数の構成要素によるさらなる処理の後)ユーザへの提示のために応答出力を提供する。簡単にするために、入力は、ユーザインターフェース入力デバイス102によってシステム120に直接与えられるように図1に示され、出力は、システム120によってユーザインターフェース出力デバイス104に直接与えられるように示されている。しかしながら、様々な実装形態では、1つまたは複数の中間ハードウェア構成要素が、システム120とユーザインターフェース入力デバイス102および/またはユーザインターフェース出力デバイス104との間に機能的に介挿されてよく、入力および/または出力を随意に処理してよいことに留意されたい。たとえば、1つまたは複数の構成要素は、システム120によって与えられた出力を処理してよく、出力の処理に基づいて、ユーザインターフェース出力デバイス104を介して検索結果および/または他のコンテンツの提示のために1つまたは複数の信号を生成してもよい。たとえば、ユーザインターフェース出力デバイス104がシステム120のすべてまたは一部から離れたクライアントコンピューティングデバイス上にある場合、ハードウェアプロセッサおよび/または他の構成要素は出力を処理し、出力に基づいて、ユーザインターフェース出力デバイス104を駆動するための信号を生成してよい。
【００３７】
いくつかの実装形態では、入力はテキスト入力である。それらの実装形態のうちのいくつかでは、システム120によって受信された入力は、すでにテキスト形式である。たとえば、ユーザインターフェース入力デバイス102は、キーボードを対象とするユーザインターフェース入力およびシステム120に与えられるテキスト入力に応じて、テキスト入力を生成するキーボードを含み得る。同じく、たとえば、ユーザインターフェース入力デバイス102はマイクロフォンを含んでよく、システム120から離れている音声-テキストプロセッサは、マイクロフォンにおいて受信された音声入力をテキスト入力に変換してよく、テキスト入力はシステム120に与えられてよい。いくつかの他の実装形態では、システム120によって最初に受信された入力はテキスト形式ではないが、システム120によってテキスト形式に変換され、システム120の1つまたは複数の他の構成要素にテキスト形式で与えられる。たとえば、ユーザインターフェース入力デバイス102はマイクロフォンを含んでよく、音声入力がマイクロフォンにおいて受信されてシステム120に与えられてよく、システム120の音声-テキストプロセッサが音声入力をテキスト入力に変換してもよい。
【００３８】
クライアントコンピューティングデバイスは、システム120との対話および/または他の通信を可能にする1つまたは複数のアプリケーションを随意に動作させ得る。そのようなアプリケーションは、ウェブブラウザ、専用検索アプリケーション、ショートメッセージングサービス(「SMS」)および/またはマルチメディアメッセージングサービス(「MMS」)クライアント、オンラインチャットクライアント(たとえば、インスタントメッセンジャ、インターネットリレーチャットまたは「IRC」、など)、ソーシャルネットワークに関連するメッセージングアプリケーション、システム120との会話に専用の自動アシスタントメッセージングサービスなど、様々な形態で提供され得る。いくつかの実装形態では、複数のアプリケーションのうちの1つまたは複数のアプリケーションは、ウェブブラウザまたはクライアントコンピューティングデバイスの他のアプリケーションによってレンダリングされたウェブページまたは他のリソースを介して実装され得る。
【００３９】
様々な実装形態では、システム120は、クエリ処理エンジン122と、リソース基準エンジン124と、監視エンジン126と、検索エンジン128と、順位付けエンジン130と、出力生成エンジン132とを含み得る。いくつかの実装形態では、エンジン122、124、126、128、130および/または132のうちの1つまたは複数は省略されてよく、組み合わされてよく、および/またはシステム120から離れた構成要素内に実装されてよい。たとえば、エンジン122、124、126、128、130および/または132のうちの1つまたは複数、あるいはそれらの任意の動作部分は、ユーザインターフェース入力デバイス102および/またはユーザインターフェース出力デバイス104を含みかつシステム120から離れたクライアントコンピューティングデバイスによって実行される構成要素内に実装され得る。同じく、たとえば、検索エンジン128および/または順位付けエンジン130は、システム120から離れたシステム(たとえば、システム120と通信している別の検索システム)によって全体的または部分的に実装され得る。
【００４０】
クエリ処理エンジン122は、システム120に提出されたクエリおよび随意の他の入力を処理し、システム120の1つまたは複数の他の構成要素による使用のために注釈付き出力を生成する。たとえば、クエリ処理エンジン122は、ユーザインターフェース入力デバイス102を介してユーザによって生成されたユーザインターフェース入力に基づいて生成された自然言語自由形式テキスト入力を処理し得る。生成された注釈付き出力は、テキスト入力の1つまたは複数の注釈と、随意にテキスト入力の用語の1つまたは複数(たとえば、すべて)とを含む。
【００４１】
いくつかの実装形態では、クエリ処理エンジン122は、テキスト入力内の様々なタイプの文法情報を識別してそれに注釈を付けるように構成される。たとえば、クエリ処理エンジン122は、文法的役割を用いて用語に注釈を付けるように構成された品詞タグ付け器を含み得る。同じく、たとえば、いくつかの実装形態では、クエリ処理エンジン122は、追加および/または代替として、テキスト入力における用語間の構文関係を決定するように構成された依存関係解析器を含み得る。
【００４２】
いくつかの実装形態では、クエリ処理エンジン122は、追加および/または代替として、人々、団体、ロケーションなどに対する参照など、1つまたは複数のセグメント内のエンティティ参照に注釈を付けるように構成されたエンティティタグ付け器を含む。エンティティタグ付け器は、(たとえば、人々などのエンティティクラスに対するすべての参照の識別を可能にするために)高レベルの細分性、および/または(たとえば、特定の個人などの特定のエンティティに対するすべての参照の識別を可能にするために)低レベルの詳細情報においてエンティティに対する参照に注釈を付け得る。エンティティタグ付け器は、特定のエンティティを解決するために自然言語入力のコンテンツに依存してよく、および/または特定のエンティティを解決するためにナレッジグラフまたは他のエンティティデータベースと随意に通信してよい。
【００４３】
いくつかの実装形態では、クエリ処理エンジン122は、追加および/または代替として、1つまたは複数の文脈上の手掛かりに基づいて同じエンティティに対する参照をグループ化または「クラスタ化」するように構成された同一指示リゾルバ(coreference resolver)を含み得る。たとえば、同一指示リゾルバは、自然言語入力「Acmeのウィジェット、それはいつリリースされる予定か」において、用語「それ」は「Acmeのウィジェット」であると解決するために利用され得る。
【００４４】
いくつかの実装形態では、クエリ処理エンジン122の1つまたは複数の構成要素は、クエリ処理エンジン122の1つまたは複数の他の構成要素からの注釈に依存し得る。たとえば、いくつかの実装形態では、名前付きエンティティタグ付け器は、特定のエンティティに対するすべての言及に注釈を付けることにおいて、同一指示リゾルバおよび/または依存関係解析器からの注釈に依存し得る。同じく、たとえば、いくつかの実装形態では、同一指示リゾルバは、参照を同じエンティティにクラスタ化することにおいて依存関係解析器からの注釈に依存し得る。いくつかの実装形態では、特定のテキスト入力の処理において、クエリ処理エンジン122の1つまたは複数の構成要素は、1つまたは複数の注釈を決定するために、関連する以前の入力および/または特定のテキスト入力の外側の他の関連データを使用し得る。たとえば、システム120との対話内のユーザの第1のクエリは、「Acmeのウィジェットについての検索結果」であってよく、ユーザの後続のクエリは、「それはいつリリースされる予定か」であってよい。「それはいつリリースされる予定か」を処理することにおいて、同一指示リゾルバは、以前の入力である「Acmeのウィジェットについての検索結果」を利用して、「それ」は「Acmeのウィジェット」であると解決し得る。
【００４５】
検索エンジン128は、ユーザによってシステム120に提出されたクエリに応答して、1つまたは複数の検索データベース154を検索する。検索エンジン128は、クエリに応答する1つまたは複数のリソースは、もしあれば、それらを識別するために検索データベース154を検索する。いくつかの実装形態では、検索データベース154は、公的に利用可能なリソースに索引を付けるデータベース、および/またはユーザの個人用であるリソースに索引を付けるデータベースを含む。検索エンジン128は、応答リソースを識別するためにデータベース154を利用してよく、識別された応答リソースに基づいて検索結果を生成してよい。いくつかの実装形態では、検索データベース154のうちの1つまたは複数は、システム120および/または任意の別のクライアントコンピューティングデバイスから遠くにあってよく、ならびに/あるいは検索データベース154のうちの1つまたは複数は、システム120および/または任意の別のクライアントコンピューティングデバイスの近くにあってよい。本明細書では、「データベース」という用語は、1つまたは複数のコンピュータ可読媒体内に記憶される構造化データまたは非構造化データの任意の収集に言及するために使用される。
【００４６】
検索エンジン128は、従来のおよび/または他の情報検索技法など、クエリに応答して検索データベース154を検索することにおける様々な技法を利用し得る。順位付けエンジン130は、リソースの評判、検索パラメータとリソースとの間の適合の度合い、ユーザの属性(たとえば、ユーザのロケーション、ユーザの第一言語)など、1つまたは複数の順位付け信号を使用して検索エンジン128によって識別されるリソースに対するスコアを計算する。次いで、順位付けエンジン130は、スコアを使用して応答リソースを順位付けする。
【００４７】
検索エンジン128は、1つまたは複数の検索結果を生成するために、順位付けエンジン130によって順位付けされた識別された応答リソースを使用する。検索結果は、クエリに基づいて発行される、検索に応答するリソースに対応する検索結果を含む。たとえば、検索結果の各々は、応答コンテンツ項目の題名または他の梗概、コンテンツ項目の要約、応答コンテンツ項目へのリンク、応答コンテンツ項目に関連する他の情報、および/またはコンテンツ項目の全体さえも含むことができる。
【００４８】
いくつかの実装形態では、クエリに応答して、検索エンジン128は、検索データベース154のうちの1つまたは複数内で示されるリソースを、クエリに対する信頼すべき回答であるコンテンツを含むとして識別し得る。それらの実装形態のうちのいくつかでは、検索エンジン128は、信頼すべき回答を含む検索結果を生成し得、クエリに応答してその検索結果を顕著に提示のために(たとえば、唯一の応答検索結果として提示のために、または他の検索結果より顕著に提示のために)提供し得る。たとえば、信頼すべき回答は、いわゆる「ワンボックス」内で視覚的提示のために提供されてよく、および/またはユーザに対して音声で読み上げるために提供されてよい(ところが、他の応答リソースからのコンテンツは、あるとしても、提供されない)。いくつかの実装形態では、検索エンジン128は、ナレッジグラフまたは他のデータベース内のエントリがクエリに対して信頼すべき回答を示す1つまたは複数のフィールドを含むと決定し得る。たとえば、「Acmeのウィジェットのリリース日」というクエリに対して、検索エンジン128は、「Acmeのウィジェット」に対応するナレッジグラフエントリを識別し得、信頼すべきリリース日を示すそのエントリに対する「リリース日」フィールドを識別する。そのような信頼すべきリリース日は、検索エンジン128によってクエリに対する信頼すべき回答の中に含まれ得る。
【００４９】
検索エンジン128および順位付けエンジン130によって生成された順位付けされた検索結果は、クエリに応答して出力生成エンジン132によって提供される。出力生成エンジン132は、ユーザインターフェース出力デバイス104のうちの1つまたは複数を介して、ユーザへの提示のために順位付けされた検索結果を提供する。たとえば、出力生成エンジン132は、ユーザインターフェース出力デバイス104のうちの1つまたは複数を介して、可聴のおよび/または視覚的提示のために検索結果を提供し得る。いくつかの実装形態では、システム120は、ユーザとの対話セッションに従事する自動アシスタントとして実装されてよく、または自動アシスタントと通信していてもよい。それらの実装形態のうちのいくつかでは、システム120は、対話セッションの間にユーザからクエリを受信し得、ユーザとシステム120との間の対話の一部としてクエリに応答して検索結果を提供し得る。
【００５０】
リソース基準エンジン124は、様々なクエリに対して、それらのクエリに対して返されたリソースが、1つまたは複数の品質基準など、1つまたは複数の基準を満足するかどうかを決定する。いくつかの実装形態では、リソース基準エンジン124は、リソースがクエリに対する品質基準を満足するかどうかを決定するために、検索エンジン128がクエリに応答するとして識別したリソースの1つまたは複数の特徴を利用する。たとえば、リソース基準エンジン124は、リソースに対する1つまたは複数の検索順位付け信号および/または順位付けエンジン130によって決定されたリソースに対する累積順位付けスコアに基づいて、リソースが1つまたは複数の品質基準を満足するかどうかを決定し得る。たとえば、リソース基準エンジン124は、クエリに応答する最高に順位付けされたリソースが、そのリソースが少なくともしきいの順位付けスコアを有する場合のみ、品質基準を満足すると決定し得る。別の例として、リソース基準エンジン124は、リソースが、クエリに対する信頼すべき回答であるコンテンツを含むとの表示を検索データベース154のうちの1つまたは複数の中に有する場合のみ、リソースは品質基準を満足すると決定し得る。さらに別の例として、リソース基準エンジン124は、リソースが、クエリに対する所望の情報を示す値を包含するフィールドを含むナレッジグラフまたは他のリソースの中のエントリである場合のみ、リソースは品質基準を満足すると決定し得る。
【００５１】
クエリに対する応答リソースはどれも品質基準を満足しないと決定することに応答して、リソース基準エンジン124は、後で識別される、基準を満足するリソースからのコンテンツを将来のある時点でのユーザへの提示のために提供させるデータを、ユーザに関連して記憶し得る。以下でより詳細に説明するように、監視エンジン126は、そのようなリソースの存在を監視し得、ユーザインターフェース出力デバイス104のうちの1つまたは複数を介してユーザへの提示のために提供するために、そのリソースを出力生成エンジン132に提供し得る。
【００５２】
いくつかの実装形態では、リソース基準エンジン124は、追加または代替として、クエリ自体が1つまたは複数の基準を満足すると決定することに基づいて、そのようなデータをユーザに関連して記憶し得る。たとえば、リソース基準エンジン124は、クエリ自体が特定の回答を探求する疑問クエリであると決定される場合、そのようなデータのみを記憶し得る。疑問クエリは、トピックについての一般的情報を探求する一般クエリと対比され得る。たとえば、「今夜のチームAの試合は何時か」は、それが特定の回答(試合の時間)を探求しているので、疑問クエリである。一方、「ボクサー犬」は、それがボクサー種の犬についての一般的情報を探求しているので、一般クエリである。
【００５３】
リソース基準エンジン124は、クエリを疑問クエリとして識別するために様々な技法を利用し得る。たとえば、リソース基準エンジン124は、「誰が」、「何が」、「いつ」、「どこで」、および/または「?」の存在など、クエリ内の1つまたは複数の用語および/または文字に基づいてクエリを疑問クエリとして識別し得る。同じく、たとえば、リソース基準エンジン124は、クエリ処理エンジン122によって提供される注釈に基づいてクエリを疑問クエリとして識別し得る。たとえば、リソース基準エンジン124は、1つまたは複数のタイプのエンティティの存在を示す注釈をクエリが含むことに基づいて、特定の構文構造を示す注釈をクエリが含むことに基づいて、などでクエリを疑問クエリとして識別し得る。同じく、たとえば、発話クエリ(spoken query)の場合、リソース基準エンジン124は、発話入力の1つまたは複数の特性(たとえば、抑揚、イントネーション)に基づいてクエリを疑問クエリとして識別し得る。さらに別の例として、リソース基準エンジン124は、「[イベント]は何時か」のテンプレート(ここで、[イベント]はコンサート、スポーツの試合、テレビショーなど、エンティティのグループを示す)、「[映画]のリリース日はいつか」のテンプレート(ここで、[映画]は「映画」の分野であるエンティティのグループを示す)、「新しい[物理的ロケーション]はいつオープンするか」のテンプレート(ここで、[物理的ロケーション]はレストラン、事業など、物理的ロケーションエンティティのグループを示す)などの疑問クエリテンプレートとクエリが一致することに基づいて、クエリを疑問クエリとして識別し得る。
【００５４】
いくつかの実装形態では、クエリに応答するリソースは、1つまたは複数の基準を満足しないと決定することに応答して、および/またはクエリが1つまたは複数の基準を満足すると決定することに応答して、リソース基準エンジン124は、出力生成エンジン132に、クエリを提出したユーザへの提示のためにプロンプトまたは他の通知を提供させ得る。たとえば、プロンプトは、基準を満足するリソースの不足をユーザに通知し得、および/または基準を満足するリソースが後で利用可能になる場合は、関連するコンテンツが自動的にユーザに提供されることをユーザに通知し得る。それらの実装形態のうちのいくつかでは、リソース基準エンジン124は、後で識別される、基準を満足するリソースからのコンテンツを将来のある時点でのユーザへの提示のために提供させるデータを、ユーザに関連して記憶する前に、プロンプトに応答して肯定的ユーザインターフェース入力を最初に要求し得る。
【００５５】
監視エンジン126は、リソース基準エンジン124によって識別されたクエリに応答するリソース、およびクエリに応答して前に識別されたリソースによって満足されなかった1つまたは複数の基準を満足するリソースの存在を監視する。基準を満足する、所与のクエリに対するリソースが存在すると決定することに応答して、監視エンジン126は、前に所与のクエリ(またはその変形物)を提出したユーザのコンピューティングデバイスに、そのリソースに基づくコンテンツを提供させるために、出力生成エンジン132と通信し得る。
【００５６】
監視エンジン126は、リソース基準エンジン124によって識別されたクエリに応答するリソース、およびクエリに応答して前に識別されたリソースによって満足されなかった1つまたは複数の基準を満足するリソースの存在を監視するために、様々な技法を利用し得る。たとえば、監視エンジン126は、周期的におよび/または他の間隔で検索エンジン128にクエリを再提出し得、応答リソースが今回基準を満足するかどうかを決定するために、リソース基準エンジン124と通信し得る。別の例として、基準は、リソースがクエリに対する信頼すべきコンテンツを含むとして識別されることであってよく、監視エンジン126は、対応するデータが(たとえば、検索データベース154内に)リソースと関連して記憶されることに応答してそのようなコンテンツを識別し得る。たとえば、監視エンジン126は、そのようなデータがそのクエリおよび/または1つまたは複数の関連するクエリに対するリソースに関連しているとの通知を別の構成要素から受信することに応答して、監視の間にそのようなデータの記憶を認識し得る。同じく、たとえば、監視エンジン126は、データベース(たとえば、ナレッジグラフ)のエントリが、クエリに対する所望の情報を現在示している値を含める(ところが、以前の値は、あったとしても、含められなかった)ために更新された1つまたは複数のフィールドを含むと決定し得る。
【００５７】
品質基準を満足する所与のリソースが存在しかつ品質基準を満足すると決定することに応答して、出力生成エンジン132は、ユーザのコンピューティングデバイスを介してユーザに提示するために所与のリソースに基づくコンテンツを提供し得る。たとえば、コンテンツは、ユーザがクエリを提出するために使用したのと同じコンピューティングデバイスを介して、および/または別のコンピューティングデバイスを介してユーザに提示するために提供され得る。コンテンツは、様々な形で提示のために提供され得る。たとえば、コンテンツは、ユーザのモバイルコンピューティングデバイス上に視覚的および/または可聴のプッシュ通知として提供されてよく、ユーザがそのクエリおよび/または別のクエリを再び提出することに関係なく公開されてよい。同じく、たとえば、コンテンツは、ユーザと自動アシスタントとの間の対話セッションの間に自動アシスタントの視覚的および/または可聴の出力として提示されてよく、ここで対話セッションは、そのクエリおよび/または別のクエリが同様の情報を探求することとは無関係である。
【００５８】
ここで図2を参照すると、システム120の様々な構成要素について、追加の説明が提供される。図2では、クエリ処理エンジン122は、ユーザインターフェース入力デバイス102のうちの1つによって生成されたユーザインターフェース入力に基づくクエリ201を受信する。クエリ処理エンジン122は、クエリ201入力の注釈および/またはクエリ201自体の用語を含む注釈付き入力203を生成する。検索エンジン128は、検索パラメータを決定するために注釈付き入力203を利用し、検索パラメータに基づいて検索データベース154のうちの1つまたは複数の検索を発行し、検索に応答するリソース(もしあれば)を識別する。順位付けエンジン130は、1つまたは複数の信号を利用して応答リソース(もしあれば)を順位付けする。
【００５９】
応答リソースが返され、および/またはしきいの順位付けを満足する場合、順位付けエンジン130は、クエリ201に応答して提供するために、検索結果205を出力生成エンジン132に提供する。たとえば、出力生成エンジン132は、ユーザインターフェース出力デバイス104のうちの1つまたは複数を介して、提示のために検索結果205を提供し得る。
【００６０】
リソース基準エンジン124は、クエリ201に応答するリソース(もしあれば)が1つまたは複数の基準を満足するかどうかを決定するために、検索エンジン128、順位付けエンジン130、および/または検索データベース154と通信する。リソースが基準を満足する場合、リソース基準エンジン124は、クエリ201に対するアクションをそれ以上実行しない。
【００６１】
しかしながら、リソースが基準を満足しない場合、リソース基準エンジン124は、後で識別される、基準を満足するリソースからのコンテンツを将来のある時点でのユーザへの提示のために提供させるデータを、ユーザに関連して記憶し得る。いくつかの実装形態では、そのようなデータを記憶する前に、リソース基準エンジン124は、クエリ201に応答して提供するために、プロンプト207を出力生成エンジン132に提供し得る。プロンプト207は、基準を満足するリソースの不足をユーザに通知し得、および/または基準を満足するリソースが後で利用可能になる場合は、関連するコンテンツが自動的にユーザに提供されることをユーザに通知し得る。それらの実装形態のうちのいくつかでは、リソース基準エンジン124は、ユーザに関連するデータを記憶する前にプロンプト207に応答して肯定的ユーザインターフェース入力を最初に要求し得る。
【００６２】
監視エンジン126は、クエリに応答しかつ基準を満足するリソースの存在を、ある時間期間にわたって監視し得る。そのようなリソースが将来のある時点で存在すると決定することに基づいて、およびデータがリソース基準エンジン124によってユーザに関連して記憶されていることに基づいて、監視エンジン126は、ユーザインターフェース出力デバイス104のうちの1つまたは複数を介してユーザへの提示のために提供するために、新しいコンテンツ209を出力生成エンジン132に提供し得る。出力生成エンジン132は、ユーザインターフェース出力デバイス104のうちの1つ(それは、クエリ201を提出するために使用されたコンピューティングデバイスと異なるコンピューティングデバイスの一部であり得る)を介してユーザへの提示のために新しいコンテンツ209を提供する。
【００６３】
ここで図3A〜図6を参照すると、システム120の実装形態の様々な例が説明される。図3A、図3B、図4A、図4B、図5Aおよび図5Bは、それぞれ、本明細書で開示する実装形態による、コンピューティングデバイス110のユーザとシステム120との間で発生し得る相互作用の例を表示するディスプレイスクリーン140を有するコンピューティングデバイス110を示す。システム120の1つまたは複数の態様は、コンピューティングデバイス110上に、および/またはコンピューティングデバイス110とネットワーク通信している1つまたは複数のコンピューティングデバイス上に実装され得る。
【００６４】
図3A、図3B、図4A、図4B、図5Aおよび図5Bのディスプレイスクリーン140は、仮想キーボードを介してユーザインターフェース入力を生成するためにユーザが選択し得るテキスト入力インターフェース要素188と、マイクロフォンを介してユーザインターフェース入力を生成するためにユーザが選択し得る音声入力インターフェース要素189とをさらに含む。いくつかの実装形態では、ユーザは、音声入力インターフェース要素189を選択することなく、マイクロフォンを介してユーザインターフェース入力を生成し得る。たとえば、対話の間に、マイクロフォンを介する可聴のユーザインターフェース入力に対する能動的監視が、ユーザが音声入力インターフェース要素189を選択する必要性を除去するために行われる場合がある。それらの実装形態のうちのいくつかおよび/または他の実装形態において、音声入力インターフェース要素189は省略されてよい。その上、いくつかの実装形態では、テキスト入力インターフェース要素188は、追加および/または代替として、省略されてよい(たとえば、ユーザは、可聴のユーザインターフェース入力のみを提供し得る)。同じく、図3A、図3B、図4A、図4B、図5Aおよび図5Bのディスプレイスクリーン140は、コンピューティングデバイス110に1つまたは複数のアクションを実行させるためにユーザと相互作用し得るシステムインターフェース要素181、182、183を含む。
【００６５】
図6は、1つまたは複数のマイクロフォンおよび1つまたは複数のスピーカーを含むコンピューティングデバイス610を示し、コンピューティングデバイス610のユーザ102と本明細書で説明する実装形態によるシステム120との間で、マイクロフォンおよびスピーカーを介して行われ得る対話の例を示す。システム120の1つまたは複数の態様は、コンピューティングデバイス610上に、および/またはコンピューティングデバイス610とネットワーク通信している1つまたは複数のコンピューティングデバイス上に実装され得る。
【００６６】
図3Aでは、ユーザは、検索クエリインターフェース要素370に示すように、「Acmeウィジェットのリリース日」のクエリを提出している。クエリに応答して、システム120は、クエリに応答するリソースを取得し、ディスプレイスクリーン140上の提示のためにそれらのリソースに基づく検索結果374A〜374Cを提供する。システム120はさらに、応答リソースが1つまたは複数の基準を満足することに失敗したと決定しており、その結果、検索結果374A〜374Cとともに提示に対するプロンプト372を提供する。プロンプト372は、「重要な結果」は入手可能でないことをユーザに通知し、「より良い」結果が入手可能になったときに通知されるためにプロンプト372を選択することを、ユーザに求める。
【００６７】
ユーザがプロンプト372を選択することに応答して、システム120は、その後、システム120がそのような結果の存在を決定した後、「より良い」結果をユーザに提供し得る。この一例が、図3Bに示されている。
【００６８】
図3Bは、図3Aの時点の後の時点における図3Aのクライアントコンピューティングデバイス110を示す。図3Bのディスプレイスクリーン140は、図3Bの時点において図3Aのクエリに応答するリソースに基づくコンテンツ376の一例を表示している。システム120は、リソースが1つまたは複数の基準を満足すること基づいて、図3Aの時点においてクエリに応答するリソースが基準を満足しないことに基づいて、およびユーザが図3Aのプロンプト372を選択することに基づいて、提示のためにコンテンツ376を提供する。
【００６９】
図4Aおよび図4Bは、図3Aおよび図3Bの例の代わりに行われる場合がある別の例を示す。図4Aおよび図4Bでは、クライアントコンピューティングデバイス110のユーザは、自動アシスタントとの「チャット型」の対話セッションに参加している。自動アシスタントは、システム120によって、その全体または一部を実装されてよく、および/またはシステム120とインターフェースしてもよい。
【００７０】
図4Aでは、ユーザは、図4Aの対話セッションの一部としてクエリ480Aを提供する。クエリ480Aに応答して、システム120は、クエリ480Aに応答するリソースを取得し、クエリ480Aに対する明確な回答は知られていないが、クエリ480Aに応答するリソースのうちの2つに基づく2つの検索結果を同様に提供することをユーザに通知する応答の返答482Aを提供する。システム120はさらに、クエリ480Aに応答するリソースが1つまたは複数の基準を満足することに失敗したと決定する。
【００７１】
図4Bでは、ユーザは、図4Aの対話セッションの後で行われる別の対話セッションに参加している。図4Bの対話セッションでは、ユーザは、「今日の天気は」のクエリ480Bを提供する。システム120は、クエリ480Bに応答するリソースを取得し、そのリソースに基づく応答の返答482B1を提供する。
【００７２】
次いで、システム120は、図4Bの時点において図4Aのクエリに応答するリソースに基づくさらなる返答482B2を提供する。システム120は、リソースが1つまたは複数の基準を満足すること基づいて、かつ図4Aの時点においてクエリに応答するリソースが基準を満足しないことに基づいて、提示のためにさらなる返答482B2を提供する。
【００７３】
図4Aおよび図4Bの例では、図4Aにおいてプロンプトをユーザに提供することなく、および/またはさもなければ、クエリ480Aに関連するコンテンツを今後受信することの要望をユーザが認めることを要求することなく、システムは返答482B2を提供することに留意されたい。図4Bでは、システム120は、返答482B2がクエリ480Bに応答しない場合でも、クエリ480Bに対する返答482B1の直後に返答482B2を提供することにさらに留意されたい。それらの実装形態のうちのいくつかでは、システム120は、返答482B2を提供する前にユーザが自動アシスタントとの対話セッションに参加するのを待ってよく、および/または、対話セッションが返答482B2および/またはクエリ480Aに関連しない(すなわち、図4Bのように)場合でも、返答482B2を提供してもよい。それらの実装形態のうちのいくつかでは、これは、ユーザがすでに対話セッションに参加している間にシステム120が返答482B2を提供することを可能にし得、それにより、ユーザに対する障害、および/またはさもなければ図3Bのような「プッシュ」通知が提供された場合に行われることがある計算リソースの使用が低減され得る。いくつかの実装形態では、システム120は、図4Bの対話セッションは図4Aのそれとは別の対話セッションであると決定することに基づいて、図4Bの対話セッション内に返答482B2を提供し得る。
【００７４】
本明細書で使用されるように、「対話セッション」は、ユーザと自動アシスタントとの間の1つまたは複数のメッセージの論理的自己完結型の交換を含み得る。自動アシスタントは、セッション間の時間の経過、セッション間のユーザ状況(たとえば、ロケーション、予定された会合の前/間/後など)の変化、ユーザと自動アシスタントとの間の対話以外のユーザとクライアントデバイスとの間の1つまたは複数の介在する相互作用の検出(たとえば、ユーザが少しの間アプリケーションを切替える、ユーザがスタンドアローンの音声起動型製品から遠ざかり、その後に戻る)、セッション間のクライアントデバイスのロッキング/スリーピング、自動アシスタントの1つまたは複数のインスタンスとインターフェースするために使用されるクライアントデバイスの変更など、様々な信号に基づいて、ユーザとの複数の対話セッションの間で区別し得る。
【００７５】
図5Aおよび図5Bは、図3Aおよび図3Bの例と、図4Aおよび図4Bの例との代わりに行われる場合がある別の例を示す。図5Aおよび図5Bでは、クライアントコンピューティングデバイス110のユーザは、自動アシスタントとの「チャット型」の対話セッションに参加している。自動アシスタントは、システム120によって、その全体または一部を実装されてよく、および/またはシステム120とインターフェースしてもよい。
【００７６】
図5Aでは、ユーザは、図5Aの対話セッションの一部としてクエリ580A1を提供する。クエリ580A1に応答して、システム120は、クエリ580A1に応答する取得されたリソースはどれも1つまたは複数の品質基準を満足しないと決定する。リソースが品質基準を満足しないと決定することに応答して、システム120は、クエリ580Aに対する明確な回答は知られていないことをユーザに通知し、かつリリース日が公表されたときに通知されることをユーザが望むかどうかをユーザに求めるプロンプトをユーザに提供する、応答の返答582Aを提供する。ユーザはさらに、リリース日が公表されたときに通知されることをユーザが望むことを認めるさらなる入力580A2を提供する。
【００７７】
図5Bでは、ユーザは、図5Aの対話セッションの後で行われる別の対話セッションに参加している。図5Bの対話セッションでは、システム120は、図5Bの時点において図5Aのクエリに応答するリソースに基づくコンテンツ582Bを提供する。図5Bでは、システム120は、リソースが1つまたは複数の基準を満足すること基づいて、図5Aの時点においてクエリに応答するリソースが基準を満足しないことに基づいて、および図5Aのさらなる入力580A1に基づいて、提示のためにコンテンツ582Bを提供する。図5Bでは、システム120は、自動アシスタントとの対話セッションを可能にするコンピューティングデバイス110のアプリケーションにアクセスすることに応答して、しかしユーザが対話セッション内で任意のユーザインターフェース入力を提供する前に、コンテンツ582Bを提供することに留意されたい。それらの実装形態のうちのいくつかでは、これは、ユーザが対話セッションに参加するために準備している間にシステム120がコンテンツ582Bを提供することを可能にし得、それにより、ユーザに対する障害、および/またはさもなければ図3Bのような「プッシュ」通知が提供された場合に行われることがある計算リソースの使用が低減され得る。
【００７８】
図6は、図3A、図4Aおよび/または図5Aの後で行われる場合がある例、ならびに図3B、図4Bおよび/または図5Bの代わりに行われる場合がある例を示す。
【００７９】
図6では、ユーザ102(それは、クライアントコンピューティングデバイス101のユーザと同じユーザである)は、ユーザと、コンピューティングデバイス610および/またはシステム120によって全体的または部分的に実装される自動アシスタントとの間の対話の一部として発話入力680Aを提供する。発話入力680Aに応答して、自動アシスタントは、コンピューティングデバイス610のスピーカーを介して可聴の提示のために応答の返答682Aを提供する。
【００８０】
次いで、自動アシスタントは、図6の時点において以前のクエリ(たとえば、図3A、図4Aまたは図5Aのクエリ)に応答するリソースに基づくさらなる返答682Bを提供する。自動アシスタントは、リソースが1つまたは複数の基準を満足するとシステム120が決定すること基づいて、および以前のクエリの時点において以前のクエリに応答するリソースが基準を満足しないことに基づいて、提示のためにさらなる返答682Bを提供する。図6では、自動アシスタントは、返答682Bが発話入力680Aに応答しない場合でも、発話入力680Aに対する返答682Aの直後に返答682Bを提供することに留意されたい。それらの実装形態のうちのいくつかでは、システム120は、返答682Bを提供する前にユーザが自動アシスタントとの対話セッションに参加するのを待ってよく、および/または、対話セッションが返答682B2および/または以前のクエリに関連しない場合でも、返答682B2を提供してもよい。図6は、後で決定されるリソースに基づくコンテンツを音声で提供することのみを示しているが、初期のクエリおよび対応する相互作用もまた、コンピューティングデバイス610および/または他のコンピューティングデバイスを介して音声で行われ得ることを理解されたい。
【００８１】
図7は、本明細書で開示する実装形態による例示的な方法700を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照しながら説明される。このシステムは、システム120など、様々なコンピュータシステムの様々な構成要素を含み得る。その上、方法700の動作は特定の順序で示されているが、これは限定を意味するものではない。1つまたは複数の動作は並び替えられても、省略されても、または追加されてもよい。
【００８２】
ブロック750において、システムはユーザクエリを受信する。
【００８３】
ブロック752において、システムは、ユーザクエリに対する応答リソースがあるかどうかを決定する。ユーザクエリに対する応答リソースがないと、システムが決定した場合、システムはブロック758に進む。ブロック758は、以下でより詳細に説明される。
【００８４】
ブロック752において、ユーザクエリに対する応答リソースがあると、システムが決定した場合、システムはブロック754に進む。ブロック754において、システムは、応答リソースのいずれかが1つまたは複数の基準を満足するかどうかを決定する。応答リソースのうちの1つまたは複数が基準を満足するとシステムが決定した場合、システムはブロック756に進み、次いで、方法700は終了する。ブロック756において、システムは、クエリに応答して、応答リソースのうちの1つまたは複数に基づく検索結果を提供する。
【００８５】
ブロック754において、システムは、応答リソースはどれも基準を満足しないと決定する場合、システムはブロック758に進み、システムは、随意に同様にブロック756に進んでよい。
【００８６】
ブロック758において、システムは、後で識別される、基準を満足するリソースからのコンテンツを将来のある時点でのユーザへの提示のために提供させるデータを、ユーザに関連して記憶する。
【００８７】
ブロック760において、システムは、ブロック750のクエリに応答しかつ基準を満足する所与のリソースの存在を監視する。ブロック762において、所与のリソースが決定されているかどうかが決定される。決定されていない場合、システムは、ブロック760において監視を継続する。
【００８８】
決定されている場合、システムは、ブロック764に進む。ブロック764において、システムは、所与のリソースに基づくコンテンツを、ユーザへの提示のために提供する。ブロック764において、システムは、ブロック758においてユーザに関連して記憶されたデータに基づいて、コンテンツをユーザに提供し得る。ブロック764は、ブロック750および/またはブロック756(実行される場合)から時間的に(たとえば、数時間、数日、または数週間だけ)離れている時間において行われる。
【００８９】
いくつかの実装形態では、ブロック764は、ブロック766において、1つまたは複数の提供基準(providing criteria)が満足されると決定することに基づいて実行される。ユーザが自動アシスタントとの対話セッションに参加したこと、特定のアプリケーション(たとえば、自動アシスタントとの対話セッションを可能にするアプリケーション)を開いたこと、および/または他の提供基準など、様々な提供基準が利用され得る。
【００９０】
図8は、本明細書で説明する技法の1つまたは複数の態様を実行するために随意に利用され得る例示的なコンピューティングデバイス810のブロック図である。いくつかの実装形態では、クライアントコンピューティングデバイス、システム120、および/または他の構成要素のうちの1つまたは複数は、例示的なコンピューティングデバイス810の1つまたは複数の構成要素を備え得る。
【００９１】
コンピューティングデバイス810は、一般的に、バスサブシステム812を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ814を含む。これらの周辺デバイスは、たとえば、メモリサブシステム825およびファイル記憶サブシステム826と、ユーザインターフェース出力デバイス820と、ユーザインターフェース入力デバイス822と、ネットワークインターフェースサブシステム816とを含む記憶サブシステム824を含み得る。入力および出力デバイスは、コンピューティングデバイス810とのユーザ相互作用を可能にする。ネットワークインターフェースサブシステム816は、外部ネットワークへのインターフェースを提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
【００９２】
ユーザインターフェース出力デバイス822は、キーボー;マウス、トラックボール、タッチパッドまたはグラフィックタブレットなどのポインティングデバイス;スキャナ;ディスプレイに組み込まれたタッチスクリーン;音声認識システム、マイクロフォンなどの音声入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、情報をコンピューティングデバイス810内または通信ネットワーク上に入力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図されている。
【００９３】
ユーザインターフェース出力デバイス820は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を生成するためのいくつかの他のメカニズムを含み得る。ディスプレイサブシステムは、オーディオ出力デバイスを介するなど、非視覚的表示も提供し得る。一般に、「出力デバイス」という用語の使用は、情報をコンピューティングデバイス810からユーザに、または別のマシンもしくはコンピューティングデバイスに出力するための、すべての可能なタイプのデバイスおよび方法を含むことが意図されている。
【００９４】
記憶サブシステム824は、本明細書で説明するモジュールの一部またはすべての機能を提供するプログラム構造およびデータ構造を記憶する。たとえば、記憶サブシステム824は、図7の方法の選択された態様を実行するための論理を含み得る。
【００９５】
これらのソフトウェアモジュールは、一般に、プロセッサ814によって単独に、または他のプロセッサとの組合せによって実行される。記憶サブシステム824内で使用されるメモリ825は、プログラムを実行する間に命令およびデータを記憶するための主ランダムアクセスメモリ(RAM)630と、固定命令が記憶されるリードオンリーメモリ(ROM)632とを含むいくつかのメモリを含むことができる。ファイル記憶サブシステム826は、プログラムおよびデータファイルのための永続記憶装置を提供することができ、ハードディスクドライブ、関連する取り外し可能媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能媒体カートリッジを含む場合がある。いくつかの実装形態の機能を実装するモジュールは、記憶サブシステム824内、またはプロセッサ814によってアクセス可能な他のマシン内のファイル記憶サブシステム826によって記憶され得る。
【００９６】
バスサブシステム812は、コンピューティングデバイス810の様々な構成要素およびサブシステムが意図通りに互いに通信することを許容するためのメカニズムを提供する。バスシステム812は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
【００９７】
コンピューティングデバイス810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプであり得る。コンピュータおよびネットワークの常に変容する性質によって、図8に示すコンピューティングデバイス810の説明は、いくつかの実装形態を示すための特定の例として意図されているにすぎない。コンピューティングデバイス810の多くの他の構成は、図8に示すコンピューティングデバイスより多いまたは少ない構成要素を有することが可能である。
【００９８】
本明細書で説明するシステムが、ユーザについての個人情報を収集するか、または個人情報を使用し得る状況では、ユーザは、プログラムまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの嗜好、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御すること、あるいはユーザにとってより関連し得るコンテンツをコンテンツサーバから受信するかどうかおよび/またはいかに受信するかを制御することを行う機会を提供され得る。同じく、いくつかのデータは、データが記憶されるかまたは使用される前に1つまたは複数の方法で処理されてよく、それにより個人識別可能情報が除去される。たとえば、ユーザのアイデンティティは、個人識別可能情報がユーザに対して特定できないように処理され得るか、またはユーザの地理的位置は、ユーザの特定の地理的位置が特定できないように、地理的位置情報が取得される場所に(都市、郵便番号、または州レベルなどに)一般化され得る。したがって、ユーザは、情報がどのように、ユーザについて収集されるかおよび/または使用されるかに対して制御することができる。
【００９９】
いくつかの実装形態が本明細書において説明され、図示されたが、機能を実行するため、ならびに/あるいは結果および/または本明細書で説明する利点のうちの1つまたは複数を取得するための多様な他の手段および/または構造が利用されてよく、そのような変化形態および/または変更形態の各々は、本明細書で説明する実装形態の範囲内にあるものと見なされる。より一般的には、本明細書で説明するすべてのパラメータ、寸法、材料および構成は、模範例であること、ならびに実際のパラメータ、寸法、材料、および/または構成は、本教示が使用される特定のアプリケーションに依存することになることを意図している。当業者は、ただの通常の実験を使用して、本明細書で説明する特定の実装形態に対する多くの同等物を認識するか、または究明することができるであろう。それゆえ、前述の実装形態は例としてのみ提示されていること、ならびに添付の特許請求の範囲およびその同等物の範囲内で、実装形態は、具体的に説明され、特許請求されるものと異なって実行されてもよいことを理解されたい。本開示の実装形態は、本明細書で説明するそれぞれの個々の特徴、システム、品目、材料、道具、および/または方法を対象とする。加えて、そのような特徴、システム、品目、材料、道具、および/または方法の2つ以上の任意の組合せは、そのような特徴、システム、品目、材料、道具、および/または方法が互いに矛盾していないならば、本開示の範囲内に含まれる。
【符号の説明】
【０１００】
102  ユーザインターフェース入力デバイス
104  ユーザインターフェース出力デバイス
110  コンピューティングデバイス
120  システム
122  クエリ処理エンジン
124  リソース基準エンジン
126  監視エンジン
128  検索エンジン
130  順位付けエンジン
132  出力生成エンジン
140  ディスプレイスクリーン
154  検索データベース
181  システムインターフェース要素
182  システムインターフェース要素
183  システムインターフェース要素
184  テキスト入力インターフェース要素
185  音声入力インターフェース要素
188  テキスト入力インターフェース要素
189  音声入力インターフェース要素
201  クエリ
203  注釈付き入力
205  検索結果
207  プロンプト
209  新しいコンテンツ
370  検索クエリインターフェース要素
372  プロンプト
374A  検索結果
374B  検索結果
374C  検索結果
376  コンテンツ
480A  クエリ
480B  クエリ
482A  応答の返答
482B1  応答の返答
482B2  返答
580A  クエリ
580A1  クエリ
580A2  入力
582A  応答の返答
582B  コンテンツ
610  コンピューティングデバイス
680A  発話入力
682A  応答の返答
682B  返答
810  コンピューティングデバイス
812  バスサブシステム
814  プロセッサ
816  ネットワークインターフェースサブシステム
820  ユーザインターフェース出力デバイス
822  ユーザインターフェース入力デバイス
824  記憶サブシステム
825  メモリサブシステム
826  ファイル記憶サブシステム
830  RAM
832  ROM
【図１】
2019537801.tif 000003
【図２】
2019537801.tif 000004
【図３Ａ】
2019537801.tif 000005
【図３Ｂ】
2019537801.tif 000006
【図４Ａ】
2019537801.tif 000007
【図４Ｂ】
2019537801.tif 000008
【図５Ａ】
2019537801.tif 000009
【図５Ｂ】
2019537801.tif 000010
【図６】
2019537801.tif 000011
【図７】
2019537801.tif 000012
【図８】
2019537801.tif 000013
【国際調査報告】
2019537801.tif 000014
2019537801.tif 000015