(57)【要約】【課題】グループ推奨の仮想アシスタント生成【解決手段】１例では、方法は、ユーザのグループへの推奨の要求を受信したことに応答しておよび前記グループのユーザに対する第１のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成するステップを含む。この例では、前記方法はさらに、前記グループの前記ユーザに関連付けられた夫々の計算アシスタントによりおよび前記グループの前記ユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、前記グループに対する刈り取られた推奨リストに含めるための前記元の推奨リストから推奨を評価するステップであって、前記第２のプライバシ・レベルは前記第１のプライバシ・レベルよりも制限される、ステップを含む。この例では、前記方法はさらに、前記刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、前記グループの前記ユーザに表示するために、前記刈り取られた推奨リストを出力するステップを含む。【選択図】図１
2018109954.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのグループへの推奨の要求を受信したことに応答して、前記グループのユーザに対する第１のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成するステップと、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントによりおよび前記グループの前記ユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、前記グループに対する刈り取られた推奨リストに含めるための前記元の推奨リストから推奨を評価するステップであって、前記第２のプライバシ・レベルは前記第１のプライバシ・レベルよりも制限される、ステップと、
前記刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、前記グループの前記ユーザに表示するために、前記刈り取られた推奨リストを出力するステップと、
を含む、方法。
【請求項２】
前記刈り取られた推奨リストは第１の刈り取られた推奨リストを含み、前記方法は、
前記第１の刈り取られた推奨リストが推奨を含まないことに応答して、前記グループの前記ユーザの夫々の計算アシスタントによりおよび前記グループの前記ユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、前記グループに対する第２の刈り取られた推奨リストに含めるための前記元の推奨リストからの推奨を評価するステップと、
前記第２の刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、前記グループの前記ユーザに表示するために、前記第２の刈り取られた推奨リストを出力するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記グループの特定のユーザに関連付けられた計算アシスタントによりおよび前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、前記グループに対する前記第１の刈り取られた推奨リストに含めるための前記元の推奨リストからの推奨を評価するステップは、
前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、前記推奨を前記第１の刈り取られた推奨リストに含めないと判定するステップ
を含む、請求項２に記載の方法。
【請求項４】
前記グループの特定のユーザに関連付けられた前記計算アシスタントによりおよび前記グループの特定のユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、前記グループに対する前記第２の刈り取られた推奨リストに含めるための前記元の推奨リストからの前記推奨を評価するステップは、
前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第２の刈り取られた推奨リストに含めないと判定するステップ
を含む、請求項３に記載の方法。
【請求項５】
前記グループの特定のユーザに関連付けられた前記計算アシスタントによりおよび前記グループの特定のユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、前記グループに対する前記第２の刈り取られた推奨リストに含めるための前記元の推奨リストからの前記推奨を評価するステップは、
前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第２の刈り取られた推奨リストに含めると判定するステップ
を含む、請求項３に記載の方法。
【請求項６】
前記要求はユーザの前記グループに含まれない要求するユーザから受信され、前記元の推奨リストは、前記要求するユーザに対するデータに基づいて生成されない、請求項１に記載の方法。
【請求項７】
前記要求はユーザの前記グループに含まれる要求するユーザから受信され、前記元の推奨リストは前記要求するユーザに対するデータに基づいて生成される、請求項１に記載の方法。
【請求項８】
前記要求は、
娯楽推奨、
食料の推奨、
旅行の推奨、および
共有された商品推奨
のうち１つまたは複数に対するものである、請求項１に記載の方法。
【請求項９】
前記グループの前記ユーザに対する前記第１のプライバシ・レベル・データは前記グループの前記ユーザに対して公に利用可能なデータを含む、請求項１に記載の方法。
【請求項１０】
少なくとも１つのプロセッサと、
実行されたとき、前記少なくとも１つのプロセッサに、
ユーザのグループへの推奨の要求を受信したことに応答しておよび前記グループのユーザに対する第１のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成させ、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントに、前記元の推奨リストを出力させ、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信させ、
前記刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、前記刈り取られた推奨リストを前記グループの前記ユーザに表示するために出力させる
ように構成された計算アシスタントを提供させる命令を備えた少なくとも１つのメモリと
を備えたコンピューティング・デバイスであって、
前記第２のプライバシ・レベルは前記第１のプライバシ・レベルよりも制限される、
コンピューティング・デバイス。
【請求項１１】
前記刈り取られた推奨リストは第１の刈り取られた推奨リストを含み、前記計算アシスタントは、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する第２の刈り取られた推奨リストに含めるべきかどうかの指示を受信し、
前記第２の刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答しておよび前記グループの前記ユーザに表示するために、前記第２の刈り取られた推奨リストを出力する
ようにさらに構成された、請求項１０に記載のコンピューティング・デバイス。
【請求項１２】
特定のユーザに関連付けられた計算アシスタントは、
前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、前記元の推奨リストからの推奨を前記第１の刈り取られた推奨リストに含めないと判定する
ように構成される、請求項１１に記載のコンピューティング・デバイス。
【請求項１３】
前記特定のユーザに関連付けられた前記計算アシスタントは、
前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第２の刈り取られた推奨リストに含めないと判定する
ように構成される、請求項１２に記載のコンピューティング・デバイス。
【請求項１４】
前記特定のユーザに関連付けられた前記計算アシスタントは、
前記グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第２の刈り取られた推奨リストに含めると判定する、
ように構成される、請求項１２に記載のコンピューティング・デバイス。
【請求項１５】
前記要求はユーザの前記グループに含まれない要求するユーザから受信され、前記元の推奨リストは、前記要求するユーザに対するデータに基づいて生成されない、請求項１０に記載のコンピューティング・デバイス。
【請求項１６】
前記要求はユーザの前記グループに含まれる要求するユーザから受信され、前記元の推奨リストは前記要求するユーザに対するデータに基づいて生成される、請求項１０に記載のコンピューティング・デバイス。
【請求項１７】
前記要求は、
娯楽推奨、
食料の推奨、
旅行の推奨、および
共有された商品推奨
のうち１つまたは複数に対するものである、請求項１０に記載のコンピューティング・デバイス。
【請求項１８】
前記グループの前記ユーザに対する前記第１のプライバシ・レベル・データは前記グループの前記ユーザに対して公に利用可能なデータを含む、請求項１０に記載のコンピューティング・デバイス。
【請求項１９】
実行されたとき、コンピューティング・デバイスの１つまたは複数のプロセッサに、
ユーザのグループへの推奨の要求を受信したことに応答しておよび前記グループのユーザに対する第１のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成させ、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントに、前記元の推奨リストを出力させ、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信すさせ、
前記刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、前記刈り取られた推奨リストを前記グループの前記ユーザに表示するために出力させる
させる命令を格納した、非一時的コンピュータ可読記憶媒体であって、
前記第２のプライバシ・レベルは前記第１のプライバシ・レベルよりも制限される、
非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記刈り取られた推奨リストは第１の刈り取られた推奨リストを含み、前記非一時的コンピュータ可読記憶媒体は前記コンピューティング・デバイスの前記１つまたは複数のプロセッサに、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する第２の刈り取られた推奨リストに含めるべきかどうかの指示を受信させ、
前記第２の刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答しておよび前記グループの前記ユーザに表示するために、前記第２の刈り取られた推奨リストを出力させる
命令をさらに格納する、請求項１９に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
幾つかのコンピューティング・デバイスはユーザ・インタフェースを提供しうる。当該ユーザ・インタフェースから、ユーザは仮想の計算アシスタント（例えば、「インテリジェントなアシスタント」または単に「アシスタント」とも称される）とチャットし、会話し、または通信して、当該アシスタントに、有用な情報を出力させ、ユーザのニーズに応答させ、またはユーザが様々な実世界のまたは仮想のタスクを完了するのを支援するための特定の動作を実施させることができる。幾つかのアシスタントは、グループ・メンバの嗜好に基づいてユーザのグループに推奨を提供するような、ユーザのグループを同時に支援するための動作を実施しうる。
【発明の概要】
【課題を解決するための手段】
【０００２】
一般に、本開示の諸技術は、グループのユーザに関連付けられた仮想の計算アシスタント（例えば、「インテリジェントなアシスタント」とも称されまたは単に「アシスタント」とも称される）が、個々のユーザのプライベート情報を当該グループの他のユーザに示すことなく、ユーザのプライベート情報に基づいて、当該グループに対する推奨を提供することを可能としうる。例えば、計算アシスタントは、ユーザに対する利用可能な情報（例えば、ユーザに対するパブリックな情報、またはユーザが推奨生成に関して利用可能とすることに同意した情報）に基づいて元の推奨のリストを生成してもよい。元の推奨リストはユーザの当該グループに対する一般的な関心であってもよく、当該グループの１つまたは複数の独立なユーザは、当該推奨の幾つかを優先してまたはそれに対抗してプライベートな嗜好を有してもよい。したがって、元の推奨リストは、当該推奨を生成するときに当該プライベート嗜好を示すユーザに対するプライベート情報に当該アシスタントがアクセスできる場合に、当該グループに対するより多くの関心であってもよい。しかし、特定のユーザに関連付けられたアシスタントが別のユーザの別のプライベート情報およびプライベート嗜好にアクセスするのは望ましくないかもしれない。
【０００３】
１つまたは複数の本開示の諸技術によれば、夫々のアシスタントは、その関連付けられたユーザに対する夫々のプライベート情報に基づいて、刈り取られた推奨リストに含めるための元のリストからの推奨を評価してもよい。夫々のアシスタントは、その関連付けられたユーザに対する当該夫々のプライベート情報が、当該関連付けられたユーザが当該推奨に対するネガティブな嗜好を有すると示す場合に、推奨を当該刈り取られたリストに含めないと判定（即ち、ノックアウト）してもよい。当該アシスタントはついで、当該刈り取られたリストをユーザに提供（即ち、表示または出力）してもよい。このように、当該夫々のアシスタントは、その関連付けられたユーザのプライベート情報のプライバシを保存しつつ、当該グループ内のユーザの各々の独立な嗜好を考慮したより高品質のグループ推奨を提供しうる。
【０００４】
１例では、方法は、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成するステップを含む。この例では、当該方法はさらに当該グループのユーザに関連付けられた夫々の計算アシスタントによりおよび当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する刈り取られた推奨リストに含めるための元の推奨リストから推奨を評価するステップであって、当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限される、ステップを含む。この例では、当該方法はさらに、当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該グループのユーザに表示するために、当該刈り取られた推奨リストを出力するステップを含む。
【０００５】
別の例では、コンピューティング・デバイスは、少なくとも１つのプロセッサと、実行されたとき、当該少なくとも１つのプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力するように構成されたアシスタントを提供させる命令を備えた少なくとも１つのメモリであって、当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限される、メモリとを備える。
【０００６】
別の例では、実行されたとき、コンピューティング・デバイスの１つまたは複数のプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力させる命令を格納した非一時的コンピュータ可読記憶媒体であって、当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限される、非一時的コンピュータ可読記憶媒体が提供される。
【０００７】
１つまたは複数の例の詳細を添付図面および下記の説明で説明する。本開示の他の特徴、目的、および利点は、当該説明、図面、および添付の特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【０００８】
【図１】本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行する例示的なシステムを示す概念図である。
【図２】本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成される例示的なコンピューティング・デバイスを示すブロック図である。
【図３】本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成された例示的なコンピューティングシステムを示すブロック図である。
【図４】本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行する１つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。
【図５】本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行する１つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。
【発明を実施するための形態】
【０００９】
図１は、本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行する例示的なシステムを示す概念図である。図１のシステム１００は、ネットワーク１３０を介して、検索サーバシステム１８０およびコンピューティング・デバイス１１０Ａ乃至１１０Ｎ（集合的に、「コンピューティング・デバイス１１０」）と通信するアシスタントサーバシステム１６０を含む。システム１００をアシスタントサーバシステム１６０、検索サーバシステム１８０、およびコンピューティング・デバイス１１０の間で分散されているとして示しているが、他の例では、システム１００に属する特徴および技術が、コンピューティング・デバイス１１０のローカルコンポーネントにより内部的に実施されてもよい。同様に、アシスタントサーバシステム１６０は、特定のコンポーネントを含み、以下の説明において検索サーバシステム１８０および／またはコンピューティング・デバイス１１０に属する様々な技術を実施してもよい。
【００１０】
ネットワーク１３０は、コンピューティングシステム、サーバ、およびコンピューティング・デバイスの間でデータを送信するための任意のパブリックまたはプライベート通信ネットワーク、例えば、セルラ、Ｗｉ−Ｆｉ、および／または他のタイプのネットワークを表す。アシスタントサーバシステム１６０は、ネットワーク１３０を介して、データをコンピューティング・デバイス１１０のコンピューティング・デバイスと交換して、コンピューティング・デバイス１１０がネットワーク１３０に接続されたときにコンピューティング・デバイス１１０にアクセス可能な仮想アシスタントサービスを提供してもよい。アシスタントサーバシステム１６０は、ネットワーク１３０を介して、検索サーバシステム１８０とデータを交換して、検索サーバシステム１８０により提供された検索サービスを提供してもよい。コンピューティング・デバイス１１０は、ネットワーク１３０を介して、検索サーバシステム１８０とデータ交換して、検索サーバシステム１８０により提供された当該検索サービスにアクセスしてもよい。
【００１１】
ネットワーク１３０は、動作可能に相互接続されそれによりサーバシステム１６０および１８０およびコンピューティング・デバイス１１０の間での情報交換を提供する、１つまたは複数のネットワークハブ、ネットワークスイッチ、ネットワークルータ、または他の任意のネットワーク機器を含んでもよい。コンピューティング・デバイス１１０、アシスタントサーバシステム１６０、および検索サーバシステム１８０は、任意の適切な通信技術を用いてネットワーク１３０にわたってデータを送受信してもよい。コンピューティング・デバイス１１０、アシスタントサーバシステム１６０、および検索サーバシステム１８０はそれぞれ、夫々のネットワークリンクを用いてネットワーク１３０に動作可能に接続されてもよい。コンピューティング・デバイス１１０、アシスタントサーバシステム１６０、および検索サーバシステム１８０をネットワーク１３０に接続するリンクがイーサネット（登録商標）または他のタイプのネットワーク接続であってもよく、かかる接続が無線および／または有線接続であってもよい。
【００１２】
アシスタントサーバシステム１６０および検索サーバシステム１８０は、１つまたは複数のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、ネットワーク１３０のようなネットワークと情報を送受信できるクラウドコンピューティングシステム等のような任意の適切なリモートコンピューティングシステムを表す。アシスタントサーバシステム１６０は、仮想アシスタントサービスをホストする（かまたは少なくともそこへのアクセスを提供する）。検索サーバシステム１８０は検索サービスをホストする（かまたは少なくともそこへのアクセスを提供する）。幾つかの例では、アシスタントサーバシステム１６０および検索サーバシステム１８０は、クラウドを介してその夫々のサービスへのアクセスを提供するクラウドコンピューティングシステムを表す。
【００１３】
コンピューティング・デバイス１１０の各々は、独立なモバイルまたは非モバイルコンピューティング・デバイスを表す。コンピューティング・デバイス１１０の例は、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、メインフレーム、セットトップボックス、テレビ、ウェラブルデバイス（例えば、コンピュータ化された時計、コンピュータ化されたアイウェア、コンピュータ化されたグローブ等）、ホームオートメーションデバイスまたはシステム（例えば、インテリジェントサーモスタットまたはホームアシスタントデバイス）、携帯情報端末（ＰＤＡ）、ゲーミングシステム、メディアプレイヤ、電子書籍リーダ、モバイルテレビプラットフォーム、自動車ナビゲーションおよび娯楽システム、または、仮想アシスタントを実行またはそれにアクセスしネットワーク１３０のようなネットワークを介して情報を受信するように構成された、他の任意の種類のモバイル、非モバイル、ウェラブル、非ウェラブルなコンピューティングデバイスが含まれる。
【００１４】
アシスタントサーバシステム１６０および／または検索サーバシステム１８０は、ネットワーク１３０を介してコンピューティング・デバイス１１０と通信して、コンピューティング・デバイス１１０に、アシスタントサーバシステム１６０により提供された仮想アシスタントサービスへのアクセスを提供し、かつ／または、コンピューティング・デバイス１１０に、検索サーバシステム１８０により提供された検索サービスへのアクセスを提供してもよい。仮想アシスタントサービスを提供する過程で、アシスタントサーバシステム１６０は、ネットワーク１３０を介して検索サーバシステム１８０と通信して、タスクを完了するための仮想アシスタントサービス情報をユーザにを提供するための検索結果を取得してもよい。
【００１５】
システム１００は仮想アシスタントサービスを複数のユーザに提供してもよい。当該仮想アシスタントサービスはローカルおよびリモートのコンポーネントの組合せにより提供されてもよい。図１の例では、アシスタントサーバシステム１６０はリモートアシスタント・モジュール１２３Ａ乃至１２３Ｎ（集合的に、「リモートアシスタント・モジュール１２３」）およびユーザ情報データ・ストア１２５Ａ乃至１２５Ｎ（集合的に、「ユーザ情報データ・ストア１２５」）を含む。リモートアシスタント・モジュール１２３の各々は、ユーザ情報データ・ストア１２５の夫々のユーザ情報データ・ストアを、アシスタントサーバシステム１６０がネットワーク１３０を介して特定のユーザに提供する夫々の仮想アシスタントサービスの一部として維持してもよい。例えば、リモートアシスタント・モジュール１２３Ａは、アシスタントサーバシステム１６０がユーザＡにネットワーク１３０を介して提供する仮想アシスタントサービスの一部としてユーザ情報データ・ストア１２５Ａを維持してもよく、リモートアシスタント・モジュール１２３Ｂは、アシスタントサーバシステム１６０がユーザＢにネットワーク１３０を介して提供する仮想アシスタントサービスの一部としてユーザ情報データ・ストア１２５Ｂを維持してもよく、・・・、リモートアシスタント・モジュール１２３Ｎはアシスタントサーバシステム１６０がユーザＮにネットワーク１３０を介して提供する仮想アシスタントサービスの一部としてユーザ情報データ・ストア１２５Ｎを維持してもよい。
【００１６】
コンピューティング・デバイス１１０Ａはユーザ・インタフェース・デバイス（ＵＩＤ）１１２、ユーザ・インタフェース（ＵＩ）モジュール１２０、ローカルアシスタント・モジュール１２２Ａ、およびユーザ情報データ・ストア１２４Ａを含む。ローカルアシスタント・モジュール１２２Ａは、ユーザＡのような特定のユーザに対してローカルにコンピューティング・デバイス１１０Ａで実行する仮想アシスタントサービスの一部としてユーザ情報データ・ストア１２４Ａを維持してもよい。コンピューティング・デバイス１１０の他のコンピューティング・デバイスはコンピューティング・デバイス１１０Ａと同様なコンポーネントを含んでもよい。幾つかの例では、コンピューティング・デバイス１１０の夫々のコンピューティング・デバイスは、夫々のユーザに関連付けられた夫々のローカルアシスタント・モジュールおよび夫々のユーザ情報データ・ストアを含んでもよい。例えば、コンピューティング・デバイス１１０Ｂは、ユーザＢに関連付けられたローカルアシスタント・モジュール１２２Ｂ（図示せず）およびユーザ情報データ・ストア１２４Ｂ（図示せず）を含んでもよく、コンピューティング・デバイス１１０ＮはユーザＢに関連付けられたローカルアシスタント・モジュール１２２Ｎ（図示せず）およびユーザ情報データ・ストア１２４Ｎ（図示せず）を含んでもよい。ローカルアシスタント・モジュール１２２Ａ乃至１２２Ｎを、集合的に「ローカルアシスタント・モジュール１２２」と称してもよい。ユーザ情報データ・ストア１２４Ａ乃至１２４Ｎを、集合的に「ユーザ情報データ・ストア１２４」と称してもよい。
【００１７】
モジュール１２０、１２２、１２３、および１８２は、コンピューティング・デバイス１１０、アシスタントサーバシステム１６０、または検索サーバシステム１８０のうち１つにおいて常駐および／または実行するソフトウェア、ハードウェア、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの混合を用いて記述された動作を実施してもよい。コンピューティング・デバイス１１０、アシスタントサーバシステム１６０、および検索サーバシステム１８０はモジュール１２０、１２２、１２３、および１８２を複数のプロセッサまたは複数のデバイスで実行してもよい。コンピューティング・デバイス１１０、アシスタントサーバシステム１６０、および検索サーバシステム１８０は、モジュール１２０、１２２、１２３、および１８２を基盤ハードウェアで実行される仮想マシンとして実行してもよい。モジュール１２０、１２２、１２３、および１８２を、オペレーティング・システムまたはコンピューティングプラットフォームの１つまたは複数のサービスとして実行してもよい。モジュール１２０、１２２、１２３、および１８２を、コンピューティングプラットフォームのアプリケーションレイヤの１つまたは複数の実行可能プログラムとして実行してもよい。
【００１８】
コンピューティング・デバイス１１０ＡのＵＩＤ１１２はコンピューティング・デバイス１１０Ａに対する入力および／または出力デバイスとして機能してもよい。ＵＩＤ１１２は様々な技術を用いて実装してもよい。例えば、ＵＩＤ１１２は抵抗性タッチスクリーン、弾性表面波タッチスクリーン、静電容量タッチスクリーン、投影静電容量タッチスクリーン、圧力センシティブスクリーン、音響パルス認識タッチスクリーン、または別の存在センシティブ・ディスプレイ技術のような存在感知入力スクリーンを用いて入力デバイスとして機能してもよい。
【００１９】
ＵＩＤ１１２は、マイクロフォン技術、赤外線センサ技術、またはユーザ入力を受信する際に使用するための他の入力デバイス技術を用いて入力デバイスとして機能してもよい。例えば、ＵＩＤ１１２は、ＵＩモジュール１２０および／またはローカルアシスタント・モジュール１２２がタスクを完了するために処理する音声入力を、ビルトインマイクロフォン技術を用いて検出してもよい。別の例として、ＵＩＤ１１２は、コンピューティング・デバイス１１０Ａのユーザから触覚入力を受信しうる存在センシティブ・ディスプレイを含んでもよい。ＵＩＤ１１２は、ユーザからの１つまたは複数のジェスチャ（例えば、指またはスタイラスペンを用いたＰＳＤ１１２の１つまたは複数の位置をユーザがタッチまたはポインティングすること）を検出することによって触覚入力の指示を検出してもよい。
【００２０】
ＵＩＤ１１２は出力（例えば、ディスプレイ）デバイスとして機能して、ユーザに出力を提供してもよい。ＵＩＤ１１２は、液晶ディスプレイ（ＬＣＤ）、ドット・マトリックスディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、電子インク、またはコンピューティング・デバイス１１０Ａのユーザに可視情報を出力できる同様なモノクロまたはカラーディスプレイのような任意の１つまたは複数のディスプレイデバイスを用いて出力デバイスとして機能してもよい。ＵＩＤ１１２は、スピーカ技術、触覚フィードバック技術、または情報をユーザに出力するための他の出力デバイス技術を用いて出力デバイスとして機能してもよい。ＵＩＤ１１２は、ローカルアシスタント・モジュール１２２および／またはリモートアシスタント・モジュール１２３Ａにより提供された仮想アシスタントに関連するユーザ・インタフェース（例えば、ユーザ・インタフェース１１４）を提供してもよい。ＵＩＤ１１２は、コンピューティング・デバイス１１０で実行されておりかつ／またはそこからアクセス可能なコンピューティングプラットフォーム、オペレーティング・システム、アプリケーション、および／またはサービス（例えば、電子メール、チャット、オンラインサービス、電話、ゲーム等）の他の特徴に関連するユーザ・インタフェースを提供してもよい。
【００２１】
ＵＩモジュール１２０は、ＵＩＤ１１２を介してアシスタントサービスを提供するためにアシスタントサーバシステム１６０と対話することを含む、ＵＩＤ１１２およびコンピューティング・デバイス１１０Ａの他のコンポーネントとのユーザの対話を管理してもよい。ＵＩモジュール１２０はＵＩＤ１１２に、ユーザ・インタフェース１１４のようなユーザ・インタフェース（または他の例ユーザ・インタフェース）を、コンピューティング・デバイス１１０Ａのユーザが出力を参照しかつ／または入力をＵＩＤ１１２で提供する際に、出力させてもよい。ＵＩモジュール１２０およびＵＩＤ１１２は、入力の１つまたは複数の指示（例えば、音声入力、ジェスチャ入力等）を、異なる時点に、かつ、ユーザおよびコンピューティング・デバイス１１０Ａが異なる位置にいるときに、ユーザがユーザ・インタフェースと対話する際にユーザから受信してもよい。ＵＩモジュール１２０およびＵＩＤ１１２は、ＵＩＤ１１２で検出された入力を解釈して、ＵＩＤ１１２で検出された入力に関する情報を、コンピューティング・デバイス１１０Ａで実行されているローカルアシスタント・モジュール１２２Ａおよび／または１つまたは複数の他の関連付けられたプラットフォーム、オペレーティング・システム、アプリケーション、および／またはサービスに中継して、例えば、コンピューティング・デバイス１１０Ａに機能を実施させてもよい。
【００２２】
ＵＩモジュール１２０は、コンピューティング・デバイス１１０Ａおよび／またはサーバシステム１６０および１８０のような１つまたは複数のリモートコンピューティングシステムで実行されている１つまたは複数の関連付けられたプラットフォーム、オペレーティング・システム、アプリケーション、および／またはサービスから情報および命令を受信してもよい。さらに、ＵＩモジュール１２０が、コンピューティング・デバイス１１０Ａ、およびコンピューティング・デバイス１１０Ａの様々な出力デバイス（例えば、スピーカ、ＬＥＤインジケータ、オーディオまたは触覚出力デバイス等）で実行されている１つまたは複数の関連付けられたプラットフォーム、オペレーティング・システム、アプリケーション、および／またはサービスの間の介在物として動作して、出力（例えば、グラフィック、光のフラッシュ、音、触覚応答等）をコンピューティング・デバイス１１０Ａで出力してもよい。
【００２３】
検索モジュール１８２は、検索モジュール１８２が（例えば、コンピューティング・デバイス１１０Ａに関連付けられた文脈情報に基づいて）自動的に生成した検索クエリまたは検索モジュール１８２がアシスタントサーバシステム１６０またはコンピューティング・デバイス１１０から（例えば、コンピューティング・デバイス１１０のコンピューティング・デバイスのユーザの代わりに仮想アシスタントが実行しているタスクの一部として）受信した検索クエリに関連すると判定された情報の検索を実行してもよい。検索モジュール１８２は、（例えば、ローカルに格納されるかまたは検索サーバシステム１８０にリモートに格納される）様々な情報ソースからの当該検索クエリに関連する情報（例えば、天気または交通状況、ニュース、株価、スポーツスコア、ユーザスケジュール、輸送スケジュール、不動産価格等）を識別するための検索クエリに基づいてインターネット検索を実行してもよい。検索を実行した後、検索モジュール１８２は当該検索から返された情報（例えば、検索結果）をアシスタントサーバシステム１６０またはコンピューティング・デバイス１１０のコンピューティング・デバイスに出力してもよい。
【００２４】
図１の例では、ユーザ・インタフェース１１４は、（例えば、アシスタントサーバシステム１６０のローカルアシスタント・モジュール１２２および／またはリモートアシスタント・モジュール１２３Ａにより提供された）コンピューティング・デバイス１１０Ａによりアクセスされる仮想アシスタントサービスに関連付けられたグラフィカルユーザ・インタフェースである。ユーザ・インタフェース１１４は幾つかの例では可聴ユーザ・インタフェースであってもよい。図１に示すように、ユーザ・インタフェース１１４は、コンピューティング・デバイス１１０Ａのユーザ（即ち、「ユーザＡ」）、コンピューティング・デバイス１１０Ｂのユーザ（即ち、「ユーザＢ」）、コンピューティング・デバイス１１０Ｃのユーザ（即ち、「ユーザＣ」）、およびコンピューティング・デバイス１１０で実行されているかまたはそれにアクセス可能な仮想アシスタントの間の会話のテキストを示す。ユーザ・インタフェース１１４は、可聴音、振動、テキスト、グラフィックス、コンテンツカード、画像等のような様々な形態で仮想アシスタント情報を含んでもよい。ＵＩモジュール１２０はＵＩＤ１１２に、ユーザ・インタフェース１１４を、データＵＩモジュール１２０がネットワーク１３０を介してアシスタントサーバシステム１６０から受信するデータに基づいて出力させてもよい。ＵＩモジュール１２０は、ユーザ・インタフェース１１４を表示するための情報（例えば、オーディオデータ、テキストデータ、画像データ等）を、ＵＩＤ１１２でユーザ・インタフェース１１４内で情報を提供するためのアシスタントサーバシステム１６０および／またはローカルアシスタント・モジュール１２２からの命令とともに、アシスタントサーバシステム１６０および／またはローカルアシスタント・モジュール１２２からの入力として受信してもよい。
【００２５】
コンピューティング・デバイス１１０のローカルアシスタント・モジュール１２２およびアシスタントサーバシステム１６０のリモートアシスタント・モジュール１２３は、推奨をユーザのグループに提供するように構成されたユーザの当該グループに対する夫々のアシスタントを自動的に実行するための本明細書で説明した同様な機能をそれぞれ実施してもよい。リモートアシスタント・モジュール１２３およびユーザ情報データ・ストア１２５は例示的な仮想アシスタントのサーバサイドまたはクラウドの実装を表し、ローカルアシスタント・モジュール１２２およびユーザ情報データ・ストア１２４は当該例示的な仮想アシスタントのクライアントサイドのまたはローカル実装を表す。
【００２６】
モジュール１２２および１２３は、コンピューティング・デバイス１１０のコンピューティング・デバイスのユーザのような個人に対するタスクまたはサービスを実施できるインテリジェントな個人アシスタントとして実行するように構成された夫々のソフトウェアエージェントをそれぞれ含んでもよい。モジュール１２２および１２３は、（例えば、ＵＩＤ１１２で検出された）ユーザ入力、（例えば、コンテキストに基づく）位置認識、および／または（例えば、コンピューティング・デバイス１１０、アシスタントサーバシステム１６０にローカルに格納されるか、または検索サーバシステム１８０により提供された当該検索サービスを介して取得された）様々な情報ソースから他の情報（例えば、天気または交通状況、ニュース、株価、スポーツスコア、ユーザスケジュール、輸送スケジュール、不動産価格等）にアクセスするための能力に基づいて、これらのタスクまたはサービスを実施してもよい。モジュール１２２および１２３は、人工知能および／または機械学習技術を実施して、ユーザの代わりに１つまたは複数のタスクを自動的に識別し完了してもよい。
【００２７】
リモートアシスタント・モジュール１２３およびローカルアシスタント・モジュール１２２により提供された夫々のアシスタントは、情報の個人記録を自動的に作成、生成、または維持し、当該個人記録を、ユーザに固有な値として、それぞれユーザ情報データ・ストア１２４およびユーザ情報データ・ストア１２５として構造化された意味的な形式で格納してもよい。データ・ストア１２４および１２５は、それぞれ、リモートアシスタント・モジュール１２３およびローカルアシスタント・モジュール１２２により実行される夫々のアシスタントが、当該個人情報（例えば、ユーザに固有な値）に迅速にアクセスして、実世界のタスク、仮想タスクを完了し、またはユーザの即座のまたは将来のニーズに応答できるようにしてもよい。
【００２８】
アシスタント・モジュール１２２および１２３は、そうすることの明示的な許可をユーザから最初に受信した後にユーザに関連付けられた個人記録のみを保持してもよい。したがって、ユーザは、どのようにそのアシスタントがユーザに関する情報を収集し使用するかに対する完全な制御を有してもよい。例えば、コンピューティング・デバイス１１０ＡのユーザＡに関連付けられた個人記録を保持する前に、アシスタント・モジュール１２２Ａおよび１２３ＡはＵＩモジュール１２０にユーザ・インタフェースをＵＩＤ１１２を介して提供させてもよい。当該ユーザ・インタフェースは、ボックスを選択し、ボタンをクリックし、音声入力を述べ、またはアシスタント・モジュール１２２Ａおよび１２３Ａによりアシスタント・モジュール１２２Ａおよび１２３Ａがユーザの個人情報を収集し利用するための曖昧でない、肯定的な同意として解釈される特定の入力を当該ユーザ・インタフェースに提供することをユーザＡに要求する。
【００２９】
アシスタント・モジュール１２２および１２３は、当該個人情報をデータ・ストア１２４および１２５に格納する前にユーザの実際のアイデンティティを除去するために、個人記録として維持されている情報を暗号化または処理してもよい。例えば、データ・ストア１２４および１２５に格納されたとき、任意の個人的に識別可能な情報がユーザの当該個人記録から除去されるように、当該情報がアシスタント・モジュール１２２および１２３により処理されてもよい。
【００３０】
アシスタント・モジュール１２２および１２３はＵＩモジュール１２０にユーザ・インタフェースを提供させてもよい。当該ユーザ・インタフェースから、ユーザが、データ・ストア１２４および１２５に格納された個人記録から情報を修正または除去してもよい。例えば、当該ユーザ・インタフェースは、ユーザが特定の個人情報を修正または除去するコマンドをアシスタント・モジュール１２２および１２３に送信するための入力を提供できる領域を提供してもよい。このように、コンピューティング・デバイス１１０のユーザの各々は、データ・ストア１２４および１２５で夫々のアシスタント・モジュール１２２および１２３により保持されている情報に対する完全な制御を有してもよい。
【００３１】
アシスタント・モジュール１２２および１２３は、ユーザが、データ・ストア１２４および１２５内の情報がどのように使用されるかを制御できるようにしてもよい。例えば、アシスタント・モジュール１２２および１２３は、データ・ストア１２４および１２５内の情報を様々なプライバシ・レベルでタグ付けし、マークし、または注釈付けしてもよい。例えば、アシスタント・モジュール１２２および１２３は、データ・ストア１２４および１２５内の幾つかの情報を第１のプライバシ・レベルでマークし、データ・ストア１２４および１２５内の幾つかの情報を第２のプライバシ・レベルでマークしてもよい。当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限的であってもよい。即ち、当該第２のプライバシ・レベルを有するとしてマークされた情報を、当該第１のプライバシ・レベルを有するとしてマークされた情報よりもプライベートであると考えてもよい。幾つかの例では、当該第１のプライバシ・レベルを有するとしてマークされた情報はパブリック情報、または公に利用可能である情報であってもよい。
【００３２】
アシスタント・モジュール１２２および１２３は、様々な動作を実施する過程で、様々な目的のため様々なプライバシ・レベルでマークされたデータ・ストア１２４および１２５内の情報を利用してもよい。例えば、当該情報がよりプライベートになると、アシスタント・モジュール１２２および１２３が、当該情報を保護する際により厳格になってもよい。例えば、アシスタント・モジュール１２２および１２３は、パブリックとしてマークされた情報を他のユーザおよび／または他のユーザに関連付けられた仮想アシスタントに示すかまたは提供し、プライベートとしてマークされた情報を、他のユーザおよび／または他のユーザに関連付けられた仮想アシスタントから隠蔽するかまたは保護してもよい。このように、コンピューティング・デバイス１１０のユーザの各々は、データ・ストア１２４および１２５にある情報をどのように夫々のアシスタント・モジュール１２２および１２３により使用するかについて完全な制御を有しうる。
【００３３】
データ・ストア１２４および１２５により格納された個人記録内の各エントリは、アシスタント・モジュール１２２および１２３により迅速に訪問または解析して、ユーザのニーズを理解しユーザがタスクを完了するのを支援するための現在時点での情報アシスタント・モジュール１２２および１２３のニーズを発見できる、予め定義されたスキーマに関連付けられてもよい。個人情報がユーザに固有な１つまたは複数の値として記録されると、ユーザに関連付けられたアシスタント・モジュール１２２および１２３のアシスタント・モジュールは、ユーザに関連付けられたデータ・ストア１２４および１２５に格納された情報を迅速に使用してタスクを完了することができる。進行中のタスクがない場合、アシスタント・モジュール１２２および１２３は、ユーザに（例えば、ユーザ・インタフェース１１４を介して）、どのように当該アシスタントが当該情報を使用して将来ユーザを支援できるかの例を提供してもよい。ユーザは後に、この情報を忘れるかまたは修正するようにアシスタント・モジュール１２２および１２３に指示するための入力をＵＩＤ１１２で提供してもよい。
【００３４】
データ・ストア１２４および１２５により格納された値は、テキスト値（例えば、人の名前、場所の名前、エンティティの他のテキスト記述子）、数値（例えば、年齢、身長、体重、他の生理的データ、エンティティに関連付けられた他の数値情報）、または当該データ・ストアに関連付けられたユーザに固有な値に対するポインタ（例えば、ユーザの知識グラフ内のエンティティに対するメモリ内の位置、アドレスブック内の連絡先に対するメモリ内の位置等）であってもよい。換言すれば、ユーザに固有な値は、多くの形態をとってもよく、当該記録スキーマによって定義された個人記録の分野に固有であってもよい。当該値は、ユーザに固有である実際の情報を示してもよく、または、ユーザに固有な情報をそこから取り出せる位置への参照であってもよい。
【００３５】
コンピューティング・デバイス１１０のユーザはグループ内にあってもよい。グループの例は、ソーシャル・メディアのサイト、チャット・ルーム、グループチャット、ユーザのグループのアドホックな指定、または他の任意の複数のユーザの関連付けに関するグループを含むがこれらに限られない。コンピューティング・デバイス１１０のユーザは、当該グループに自力で参加してもよく、（同意をユーザから受信した後に）当該グループに追加されてもよく、または当該グループを生成してもよい。
【００３６】
アシスタント・モジュール１２２および１２３は、グループ推奨またはマルチユーザ推奨としても知られる１つまたは複数の推奨をユーザのグループに提供するように構成されてもよい。例えば、ユーザは、ユーザに関連付けられたアシスタント・モジュール１２２および１２３のアシスタント・モジュールがグループの１つまたは複数の推奨を提供することを要求してもよい。グループ推奨の幾つかの例は、娯楽（例えば、当該グループが観る映画の推奨）、食べ物（例えば、当該グループが行くためのレストランまたはバーの推奨）、旅行（例えば、旅行先、飛行先、またはツアーの場所の推奨）、および共有された商品（例えば、購入する車／テレビ／ゲーム・コンソールの推奨）を含むがこれらに必ずしも制限されない。
【００３７】
当該要求するユーザ（即ち、当該推奨を要求したユーザ）に関連付けられたアシスタント・モジュール１２２および１２３により提供されたグループ推奨の品質は、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３に利用可能な情報の品質に関連してもよい。例えば、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３が当該グループ内のユーザに関する情報をより多く使用すると、当該結果の推奨の品質がより高くなる（即ち、当該推奨が当該グループのメンバにより受理される可能性が高くなる）。したがって、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３が、当該グループのより多くのメンバにより受理される可能性が高い推奨を生成するために、グループの独立なメンバの個人情報をできるだけ多く使用するのが望ましいかもしれない。
【００３８】
しかし、当該グループのユーザは、その情報が、当該グループの他のメンバ、または当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３によりアクセス可能であることを望まないかもしれない。したがって、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３は、当該要求するユーザと異なる当該グループのユーザに対する情報への制限されたアクセスを有してもよい。したがって、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３は当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて元の推奨リストを生成してもよい。当該第１のプライバシ・レベル・データは当該グループのユーザに対するパブリック情報、および／または、当該グループのユーザがグループ推奨の目的のために利用可能にするのを同意した情報を含んでもよい。元の推奨リストが当該グループのユーザに対する制限されたデータに基づいて生成されるので、元の推奨リストは、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３が当該グループの他のユーザに対するプライベート情報に対するアクセスを有した場合ほど高品質でないかもしれない。
【００３９】
１つまたは複数の本開示の諸技術によれば、当該グループのユーザに関連付けられたアシスタント・モジュール１２２および１２３の夫々のアシスタント・モジュールは、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する刈り取られた推奨リストに含めるための元の推奨リストから推奨を評価してもよい。例えば、当該グループの第１のユーザに関連付けられたアシスタント・モジュール１２２および１２３（例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａ）は、当該グループに対する当該刈り取られた推奨リストに含めるための元の推奨リストからの推奨を、当該第１のユーザに対する第２のプライバシ・レベル・データに基づいて評価してもよく、当該グループの第２のユーザに関連付けられたアシスタント・モジュール１２２および１２３（例えば、アシスタント・モジュール１２２Ｂおよび／または１２３Ｂ）は、当該グループに対する当該刈り取られた推奨リストに含めるための元の推奨リストからの推奨を、当該第２のユーザに対する第２のプライバシ・レベル・データに基づいて評価してもよい、等である。当該第２のプライバシ・レベル・データは当該第１のプライバシ・レベル・データより制限されてもよい。例えば、幾つかのデータはデフォルトで第２のプライバシ・レベル・データとしてマークされてもよく、かつ／または、当該グループのユーザは、データを第２のプライバシ・レベル・データとしてマークさせるように１つまたは複数の設定を調節していてもよい。
【００４０】
当該グループのユーザに関連付けられたアシスタント・モジュール１２２および１２３の夫々のアシスタント・モジュールは、当該評価の結果を当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３に出力してもよい。例えば、当該グループのユーザに関連付けられたアシスタント・モジュール１２２および１２３の夫々のアシスタント・モジュールは、元の推奨リストの夫々の推奨ごとに、当該夫々の推奨を当該グループに対する当該刈り取られた推奨リストに含めるべきであるかどうかの指示を出力してもよい。特定のユーザに関連付けられたアシスタント・モジュール１２２および１２３は特定の推奨を当該刈り取られた推奨リストに含めるべきではないと判定してもよい。この場合、当該特定のユーザに対する第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示す。ユーザに対するデータはユーザが推奨に対するネガティブな嗜好を有し、当該データが、ユーザが当該推奨を受け入れず、当該推奨を好まず、当該推奨を受け入れ得るが別のオプション、または他の何等かのネガティブな含蓄を好むことを示すと示してもよい。しかし、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３には、当該評価の結果とともに正当化または説明が提供されなくてもよい。
【００４１】
当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３は、当該評価の結果を受信し、元の推奨リストからの何等かの推奨を当該刈り取られた推奨リストに含めるべきであるかどうかを判定してもよい。当該グループのユーザに関連付けられたアシスタント・モジュール１２２および１２３の夫々のアシスタント・モジュールが当該推奨を当該刈り取られた推奨リストに含めるべきではないと判定しない場合、元の推奨リストからの推奨を当該刈り取られた推奨リストに含めるべきである。
【００４２】
当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３は、当該グループのユーザに表示するために、当該刈り取られた推奨リストを出力してもよい。例えば、当該要求するユーザに関連付けられたアシスタント・モジュール１２２および１２３は当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられたアシスタント・モジュール１２２および１２３に出力してもよく、アシスタント・モジュール１２２および１２３は、その関連付けられたユーザに提供するために表示、発話、または出力してもよい。元の推奨リストが当該グループのユーザに知られておらず、当該グループのユーザは、どのユーザのアシスタント・モジュールが推奨を当該刈り取られた推奨リストに含めなかったかを知らないので、当該グループのユーザに関連付けられたアシスタント・モジュール１２２および１２３の夫々のアシスタント・モジュールは、元の推奨リストからの推奨に対する暗黙の「拒否権」を効果的に有しうる。このように、アシスタント・モジュール１２２および１２３は、その関連付けられたユーザのプライベート情報のプライバシを依然として保存しつつ、より高品質のの推奨を提供することができる。
【００４３】
幾つかの例では、上述の例にように、当該要求するユーザは当該推奨が生成されるユーザのグループに含まれてもよい。例えば、ユーザはユーザおよび１つまたは複数の他のユーザに対する推奨を要求してもよい。したがって、かかる例では、当該推奨が当該要求するユーザに対するデータに基づいて生成されてもよい。幾つかの例では、当該要求するユーザは、当該推奨が生成されるユーザのグループに含まれなくてもよい。例えば、ユーザは他のユーザに対する推奨を要求してもよい（例えば、管理アシスタントが他のユーザのグループに対する推奨を要求してもよい）。したがって、かかる例では、当該推奨が当該要求するユーザに対するデータに基づいて生成されなくてもよい。
【００４４】
前述のアプローチにより提供される幾つかの利点には、１）ユーザの個人情報を利用して、当該ユーザを含むグループに対してより高品質の推奨を生成しつつ、独立なユーザの個人情報のプライバシを維持すること、２）より高品質の推奨を生成して、グループの合意に達するのに必要な、時間量、およびしたがって電力（例えば、バッテリ電力）を最小化することがある。
【００４５】
図２は、本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成される例示的なコンピューティング・デバイスを示すブロック図である。図２のコンピューティング・デバイス２１０を、図１のコンピューティング・デバイス１１０のコンピューティング・デバイスの１例として後述する。図２はコンピューティング・デバイス２１０の１つの特定の例のみを示しているが、コンピューティング・デバイス２１０の他の多くの例を他の事例で使用してもよく、例示的なコンピューティング・デバイス２１０に含まれるコンポーネントのサブセットを含んでもよく、または、図２に示されていない追加のコンポーネントを含んでもよい。
【００４６】
図２の例に示すように、コンピューティング・デバイス２１０はユーザ・インタフェース・デバイス（ＵＳＤ）２１２、１つまたは複数のプロセッサ２４０、１つまたは複数の通信ユニット２４２、１つまたは複数の入力コンポーネント２４４、１つまたは複数の出力コンポーネント２４６、および１つまたは複数の記憶コンポーネント２４８を含む。ＵＳＤ２１２はディスプレイコンポーネント２０２、存在検知入力コンポーネント２０４、マイクロフォンコンポーネント２０６、およびスピーカコンポーネント２０８を含む。コンピューティング・デバイス２１０の記憶コンポーネント２４８は、ＵＩモジュール２２０、アシスタント・モジュール２２２、検索モジュール２８２、１つまたは複数のアプリケーションモジュール２２６、およびユーザ情報データ・ストア２２４を含む。
【００４７】
通信チャネル２５０は、コンポーネント２１２、２４０、２４２、２４４、２４６、および２４８の各々をコンポーネント間通信のために（物理的に、通信可能に、および／または動作可能に）相互接続してもよい。幾つかの例では、通信チャネル２５０は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他の任意の方法を含んでもよい。
【００４８】
コンピューティング・デバイス２１０の１つまたは複数の通信ユニット２４２は、１つまたは複数のネットワーク（例えば、図１のシステム１００のネットワーク１３０）上でネットワーク信号を送受信することにより、１つまたは複数の有線および／または無線ネットワークを介して外部デバイス（例えば、図１のシステム１００のアシスタントサーバシステム１６０および／または検索サーバシステム１８０）と通信してもよい。通信ユニット２４２の例は（例えば、イーサネット（登録商標）カードのような）ネットワークインタフェースカード、光送受信器、無線周波数送受信器、ＧＰＳ受信器、または情報を送受信できる他の任意のタイプのデバイスを含む。通信ユニット２４２の他の例は短波無線、セルラデータ無線、無線ネットワーク無線、ならびにユニバーサル・シリアル・バス（ＵＳＢ）コントローラを含んでもよい。
【００４９】
コンピューティング・デバイス２１０の１つまたは複数の入力コンポーネント２４４は入力を受信してもよい。入力の例は触覚、オーディオ、およびビデオ入力である。コンピューティング・デバイス２１０の入力コンポーネント２４２は、１例では、存在感知入力デバイス（例えば、タッチセンシティブスクリーン、ＰＳＤ）、マウス、キーボード、音声応答システム、カメラ、マイクロフォンまたは人間またはマシンからの入力を検出するための他の任意のタイプのデバイスを含む。幾つかの例では、入力コンポーネント２４２は、１つまたは複数のセンサコンポーネント、１つまたは複数の位置センサ（ＧＰＳコンポーネント、Ｗｉ−Ｆｉコンポーネント、セルラコンポーネント）、１つまたは複数の温度センサ、１つまたは複数の移動センサ（例えば、加速度計、ジャイロスコープ）、１つまたは複数の圧力センサ（例えば、バロメータ）、１つまたは複数の周辺光センサ、および１つまたは複数の他のセンサ（例えば、赤外線近接性センサ、湿度計等）を含んでもよい。他のセンサは、他の非限定的な例を幾つか挙げると、心拍数センサ、磁気計、グルコースセンサ、湿度計センサ、嗅覚センサ、コンパスセンサ、ステップ・カウンタ・センサを含んでもよい。
【００５０】
コンピューティング・デバイス１１０の１つまたは複数の出力コンポーネント２４６は出力を生成してもよい。出力の例は触覚、オーディオ、およびビデオ出力である。コンピューティング・デバイス２１０の出力コンポーネント２４６は、１例では、存在検知ディスプレイ、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、カソード・レイ・チューブ（ＣＲＴ）モニタ、液晶ディスプレイ（ＬＣＤ）、または人間またはマシンへの出力を生成するための他の任意のタイプのデバイスを含む。
【００５１】
コンピューティング・デバイス２１０のＵＩＤ２１２は、コンピューティング・デバイス１１０のＵＩＤ１１２と同様であってもよく、ディスプレイコンポーネント２０２、存在検知入力コンポーネント２０４、マイクロフォンコンポーネント２０６、およびスピーカコンポーネント２０８を含む。ディスプレイコンポーネント２０２は情報がＵＳＤ２１２により表示されるスクリーンであってもよく、存在検知入力コンポーネント２０４はディスプレイコンポーネント２０２でおよび／またはその近くでオブジェクトを検出しうる。スピーカコンポーネント２０８は可聴情報がＵＩＤ２１２により再生されるスピーカであってもよく、マイクロフォンコンポーネント２０６は、ディスプレイコンポーネント２０２および／またはスピーカコンポーネント２０８でおよび／またはその近くで可聴入力を検出しうる。
【００５２】
コンピューティング・デバイス２１０の内部コンポーネントとして示されているが、ＵＩＤ２１２は、入力および出力を送受信するためにコンピューティング・デバイス２１０とデータ経路を共有する外部コンポーネントを表してもよい。例えば、１例では、ＵＩＤ２１２は、コンピューティング・デバイス２１０の外部パッケージング内に配置されそこに物理的に接続されたコンピューティング・デバイス２１０の組み込みコンポーネント（例えば、携帯電話のスクリーン）を表す。別の例では、ＵＩＤ２１２は、コンピューティング・デバイス２１０のパッケージングまたは筐体の外部に配置されそこから物理的に分離したコンピューティング・デバイス２１０の外部コンポーネント（例えば、有線および／または無線データ経路をコンピューティング・デバイス２１０と共有するモニタ、プロジェクタ等）を表す。
【００５３】
１つの例示的な範囲として、存在感知入力コンポーネント２０４は、ディスプレイコンポーネント２０２から２インチ以下内にある指またはスタイラスのようなオブジェクトを検出してもよい。存在感知入力コンポーネント２０４は、当該オブジェクトが検出されたディスプレイコンポーネント２０２の位置（例えば、［ｘ、ｙ］座標）を決定してもよい。別の例示的な範囲では、存在感知入力コンポーネント２０４は、ディスプレイコンポーネント２０２から６インチ以下のオブジェクトを検出してもよく、他の範囲も可能である。存在感知入力コンポーネント２０４は、ユーザの指により選択されたディスプレイコンポーネント２０２の位置を、静電容量、誘導、および／または光認識技術を用いて決定してもよい。幾つかの例では、存在感知入力コンポーネント２０４はまた、ディスプレイコンポーネント２０２に関して説明したように、触覚、オーディオ、またはビデオ刺激を用いて、出力をユーザに提供する。図２の例では、ＰＳＤ２１２は（図１のグラフィカルユーザ・インタフェース１１４のような）ユーザ・インタフェースを提供してもよい。
【００５４】
スピーカコンポーネント２０８は、コンピューティング・デバイス２１０の筐体へのスピーカビルトインを備えてもよく、幾つかの例では、コンピューティング・デバイス２１０に動作可能に接続された１組の有線または無線のヘッドフォンに対するスピーカビルトインであってもよい。マイクロフォンコンポーネント２０６は、ＵＩＤ２１２でまたはその近くで発生する可聴入力を検出してもよい。マイクロフォンコンポーネント２０６は、背景雑音を除去しユーザ会話を検出された音声信号から隔離するための様々な雑音除去技術を実施してもよい。
【００５５】
コンピューティング・デバイス２１０のＵＩＤ２１２は、２次元および／または３次元ジェスチャをコンピューティング・デバイス２１０のユーザからの入力として検出してもよい。例えば、ＵＩＤ２１２のセンサは、ＵＩＤ２１２の当該センサの閾値距離内におけるユーザの移動（例えば、手、腕、ペン、スタイラス等の移動）を検出してもよい。ＵＩＤ２１２は、当該移動の２次元または３次元ベクトル表現を決定し、当該ベクトル表現を複数の次元を有するジェスチャ入力（例えば、ハンドウェーブ、ピンチ、拍手、ペンストローク等）に相関付けてもよい。換言すれば、ＵＩＤ２１２は、ＵＩＤ２１２が表示のための情報を出力するスクリーンまたはサーフェスでまたはその近傍でユーザがジェスチャすることを要求せずに、多次元ジェスチャを検出することができる。その代わり、ＵＩＤ２１２は、ＵＩＤ２１２が表示のための情報を出力するスクリーンまたはサーフェスでまたはその近くに存在しうるかまたは存在しえないセンサでまたはその近くで実施された多次元ジェスチャを検出することができる。
【００５６】
１つまたは複数のプロセッサ２４０は、コンピューティング・デバイス２１０に関連付けられた機能を実装しかつ／または命令を実行してもよい。プロセッサ２４０の例は、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、１つまたは複数のセンサハブ、およびプロセッサ、処理ユニット、または処理デバイスとして機能するように構成された他の任意のハードウェアを含む。モジュール２２０、２２２、２２６、および２８２は、コンピューティング・デバイス２１０の様々なアクション、動作、または機能を実施するようにプロセッサ２４０により動作可能であってもよい。例えば、コンピューティング・デバイス２１０のプロセッサ２４０は、プロセッサ２４０に当該動作モジュール２２０、２２２、２２６、および２８２を実施させる記憶コンポーネント２４８により格納された命令を取り出し、実行してもよい。当該命令は、プロセッサ２４０により実行されたとき、コンピューティング・デバイス２１０に、記憶コンポーネント２４８内に情報を格納させてもよい。
【００５７】
コンピューティング・デバイス２１０内の１つまたは複数の記憶コンポーネント２４８は、コンピューティング・デバイス２１０の動作中の処理のための情報を格納してもよい（例えば、コンピューティング・デバイス２１０は、コンピューティング・デバイス２１０での実行中にモジュール２２０、２２２、２２６、および２８２によりアクセスされるデータを格納してもよい）。幾つかの例では、記憶コンポーネント２４８は一時メモリであり、これは、記憶コンポーネント２４８の主な目的が長期記憶でないことを意味する。コンピューティング・デバイス２１０上の記憶コンポーネント２４８は、揮発性メモリとしての情報の短期記憶に関して構成されてもよく、したがって、電源がオフの場合に、格納されたコンテンツを保持しない。揮発性メモリの例はランダム・アクセスメモリ（ＲＡＭ）、動的ランダム・アクセスメモリ（ＤＲＡＭ）、静的ランダム・アクセスメモリ（ＳＲＡＭ）、および当業界で公知な他の形態の揮発性メモリを含む。
【００５８】
記憶コンポーネント２４８はまた、幾つかの例において、１つまたは複数のコンピュータ可読記憶媒体を含む。幾つかの例において、記憶コンポーネント２４８は１つまたは複数の非一時的コンピュータ可読記憶媒体を含む。記憶コンポーネント２４８を、一般に揮発性メモリにより格納されたものよりも大量の情報を格納するように構成してもよい。記憶コンポーネント２４８をさらに、不揮発性メモリ空間としての情報の長期記憶のために構成してもよく、電源のオン／オフのサイクルの後に情報を保持してもよい。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、、または電気的プログラム可能メモリ（ＥＰＲＯＭ）または電気的消去可能およびプログラム可能（ＥＥＰＲＯＭ）メモリの形態を含む。記憶コンポーネント２４８はモジュール２２０、２２２、２２６、および２８２ならびにデータ・ストア２２４に関連付けられたプログラム命令および／または情報（例えば、データ）を格納してもよい。記憶コンポーネント２４８はモジュール２２０、２２２、２２６、および２８２ならびにデータ・ストア２２４に関連付けられたデータまたは他の情報を格納するように構成されたメモリを含んでもよい。
【００５９】
ＵＩモジュール２２０は図１のコンピューティング・デバイス１１０のＵＩモジュール１２０の全ての機能を含んでもよく、コンピューティング・デバイス２１０が、コンピューティング・デバイス１１０のユーザとアシスタント・モジュール２２２の間の対話を促進するためのＵＳＤ２１２で提供するユーザ・インタフェース（例えば、ユーザ・インタフェース１１４）を管理するためのＵＩモジュール１２０と同様な動作を実施してもよい。例えば、コンピューティング・デバイス２１０のＵＩモジュール２２０は、アシスタント・ユーザ・インタフェース（例えば、ユーザ・インタフェース１１４）を出力する（例えば、音声の表示または再生）ための命令を含む情報を、アシスタント・モジュール２２２から受信してもよい。ＵＩモジュール２２０は、アシスタント・モジュール２２２からの情報を通信チャネル２５０で受信し、当該データを用いてユーザ・インタフェースを生成してもよい。ＵＩモジュール２２０は、ディスプレイコマンドおよび可聴出力コマンドおよび関連するデータを通信チャネル２５０で送信して、ＵＩＤ２１２にユーザ・インタフェースをＵＩＤ２１２で提供させてもよい。
【００６０】
幾つかの例では、ＵＩモジュール２２０は、ＵＩＤ２１２で検出された１つまたは複数のユーザ入力の指示を受信し、ユーザ入力に関する情報をアシスタント・モジュール２２２に出力してもよい。例えば、ＵＩＤ２１２は、音声入力をユーザから検出し、当該音声入力に関するデータをＵＩモジュール２２０に送信してもよい。
【００６１】
ＵＩモジュール２２０は当該音声入力の指示をさらなる解釈のためにアシスタント・モジュール２２２に送信してもよい。アシスタント・モジュール２２２は、当該音声入力に基づいて、当該検出された音声入力が、アシスタント・モジュール２２２が１つまたは複数のタスクを実施するためのユーザ要求を表すと判定してもよい。
【００６２】
アプリケーションモジュール２２６は、ユーザに情報を提供しかつ／またはタスクを実施するアシスタント・モジュール２２２のようなアシスタントによりアクセスされうる、コンピューティング・デバイス２１０で実行されておりそこからアクセス可能な全ての様々な独立なアプリケーションおよびサービスを表す。コンピューティング・デバイス２１０のユーザは、１つまたは複数のアプリケーションモジュール２２６に関連付けられたユーザ・インタフェースと対話して、コンピューティング・デバイス２１０に機能を実施させてもよい。アプリケーションモジュール２２６の多数の例が存在してもよく、フィットネスアプリケーション、カレンダアプリケーション、パーソナルアシスタントまたは予測エンジン、検索アプリケーション、地図またはナビゲーションアプリケーション、輸送サービスアプリケーション（例えば、バスまたは列車の追跡アプリケーション）、ソーシャルメディアアプリケーション、ゲームアプリケーション、電子メールアプリケーション、チャットまたはメッセージングアプリケーション、インターネットブラウザアプリケーション、またはコンピューティング・デバイス２１０で実行しうる任意のおよび全ての他のアプリケーションを含んでもよい。
【００６３】
コンピューティング・デバイス２１０の検索モジュール２８２は、コンピューティング・デバイス２１０の代わりに統合された検索機能を実施してもよい。検索モジュール２８２を、ＵＩモジュール２２０、アプリケーションモジュール２２６、および／またはアシスタント・モジュール２２２のうち１つまたは複数により起動して、検索動作をその代わりに実施してもよい。起動されたとき、検索モジュール２８２は様々なローカルおよびリモートの情報ソースにわたって生成された検索クエリに基づいて検索クエリを生成し検索を実行するような、検索機能を実施してもよい。検索モジュール２８２は実行された検索の結果を当該起動コンポーネントまたはモジュールに提供してもよい。即ち、検索モジュール２８２は、起動コマンドに応答して、検索結果をＵＩモジュール２２０、アシスタント・モジュール２２２、および／またはアプリケーションモジュール２２６に出力してもよい。
【００６４】
アシスタント・モジュール２２２は、図１のコンピューティング・デバイス１１０のコンピューティング・デバイスのローカルアシスタント・モジュール１２２のローカルアシスタント・モジュールの全ての機能を含んでもよく、アシスタントを提供するために当該ローカルアシスタント・モジュールと同様な動作を実施してもよい。幾つかの例では、アシスタント・モジュール２２２は、ローカルに（例えば、プロセッサ２４０で）実行して、アシスタント機能を提供してもよい。幾つかの例では、アシスタント・モジュール２２２が、コンピューティング・デバイス２１０にアクセス可能なリモートアシスタントサービスへのインタフェースとして動作してもよい。例えば、アシスタント・モジュール２２２が、図１のアシスタントサーバシステム１６０のリモートアシスタント・モジュール１２４のリモートアシスタント・モジュールへのインタフェースまたはアプリケーションプログラミングインタフェース（ＡＰＩ）であってもよい。
【００６５】
図１のシステム１００のユーザ情報データ・ストア１２４および１２５と同様に、ユーザ情報データ・ストア２２４は、アシスタント・モジュール２２２がコンピューティング・デバイス２１０のユーザに関して学習したかまたは提供されてきた情報を含む、アシスタント・モジュール２２２により作成された個人記録を格納してもよい。アシスタント・モジュール２２２は、検索モジュール２８２により提供された任意の情報に加えて、データ・ストア２２４に格納された情報に依存して、アシスタントタスクを実施してもよい。
【００６６】
図１のアシスタント・モジュール１２２および１２３と同様に、アシスタント・モジュール２２２はユーザのグループに対する推奨を生成するように構成されてもよい。例えば、アシスタント・モジュール２２２は、当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて元の推奨リストを生成し、当該グループの他のユーザに関連付けられた計算アシスタントによる評価のために元の推奨リストを出力してもよい。アシスタント・モジュール２２２は、当該グループの他のユーザに関連付けられた計算アシスタントから、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかかどうかの指示を受信してもよい。幾つかの例では、当該指示はポジティブであってもよい。例えば、当該グループの別のユーザに関連付けられた計算アシスタントは、アシスタント・モジュール２２２に、当該刈り取られた推奨リストに含めるために承認された元の推奨リストからの推奨リストを出力してもよい。幾つかの例では、当該指示はネガティブであってもよい。例えば、当該グループの別のユーザに関連付けられた計算アシスタントは、アシスタント・モジュール２２２に、当該刈り取られた推奨リストに含めるために承認されていない元の推奨リストからの推奨リスト（即ち、別のユーザに関連付けられた計算アシスタントが拒否する元の推奨リストからの推奨リスト）を出力してもよい。
【００６７】
当該グループのユーザに関連付けられた計算アシスタントは当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて当該指示を生成してもよい。上述のように、当該第２のプライバシ・レベルでマークされたデータの利用が、当該第１のプライバシ・レベルでマークされたデータより制限されてもよい。上述のように、当該グループのユーザに、どのデータが当該第２のプライバシ・レベルとしてマークされるかを制御するためのオプションを提供してもよく、当該グループの他のユーザに関連付けられた計算アシスタントは、グループ推奨を生成するための当該第２のプライバシ・レベルでマークされたデータを使用するための同意を受信してもよい。
【００６８】
当該グループの特定のユーザに関連付けられた計算アシスタントは特定の推奨を当該刈り取られた推奨リストに含めるべきではないと判定してもよい。この場合、当該特定のユーザに対する第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示す。ユーザに対するデータはユーザが推奨に対するネガティブな嗜好を有し、当該データが、ユーザが当該推奨を受け入れず、当該推奨を好まず、当該推奨を受け入れ得るが別のオプション、または他の何等かのネガティブな含蓄を好むことを示すと示してもよい。
【００６９】
アシスタント・モジュール２２２は当該計算アシスタントにより実施された評価に基づいて当該刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール２２２は元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも１つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール２２２は当該推奨を当該刈り取られた推奨リストに含めてもよい。
【００７０】
当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して（即ち、元の推奨リストからの少なくとも１つの推奨が当該グループのユーザに関連付けられた計算アシスタントの何れによっても拒否されなかった場合）、アシスタント・モジュール２２２は、当該グループのユーザに表示するために当該刈り取られた推奨リストを出力してもよい。１例として、アシスタント・モジュール２２２はＵＩモジュール２２０に、ディスプレイコンポーネント２０２を介して、当該刈り取られた推奨リストを含むＧＵＩを表示させてもよい。別の例として、アシスタント・モジュール２２２はＵＩモジュール２２０に、スピーカコンポーネント２０８を介して、当該刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール２２２は当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよい。当該計算アシスタントは次いで、当該刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。
【００７１】
幾つかの例では、当該刈り取られた推奨リストは推奨を含まなくてもよい。例えば、元の推奨リストからの全ての推奨が当該グループのユーザに関連付けられた計算アシスタントの少なくとも１つの計算アシスタントにより拒否されるかもしれない。幾つかの例では、アシスタント・モジュール２２２は、コンピューティング・デバイス２１０のユーザに、アシスタント・モジュール２２２が当該グループに対する推奨を生成できなかったことを知らせてもよい。しかし、特に推奨が、ユーザが当該推奨に対する何等かのネガティブな嗜好を有することに基づいて刈り取られた場合には、アシスタント・モジュール２２２が当該グループに対して推奨を生成できないのが望ましいかもしれない。
【００７２】
１つまたは複数の本開示の諸技術によれば、アシスタント・モジュール２２２は当該グループのユーザに関連付けられた計算アシスタントに、当該グループのユーザに対する重み付けされた第２のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価させてもよい。１例として、当該グループの特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、元の推奨リストからの推奨を当該改良された刈り取られた推奨リストに含めるべきではないと判定してもよい。別の例として、当該グループの特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、元の推奨リストからの推奨を当該改良された刈り取られた推奨リストに含めるべきであると判定してもよい。
【００７３】
ユーザに対するデータは、ユーザが推奨に対する完全にネガティブな嗜好を有し、当該データが、ユーザが当該推奨を受け入れず、当該推奨を好まず、当該推奨を決して受け入れないこと、または他の任意の完全にネガティブな嗜好を示すと示してもよい。例えば、ユーザがベジタリアンであることを示すデータが、ユーザがステーキハウスに行くことについて立腹している場合に、ユーザが完全にネガティブな嗜好を有することを示してもよい。ユーザに対するデータはユーザが推奨に対する部分的にネガティブな嗜好を有し、当該データが、ユーザは当該推奨を受け入れ得るが別のオプションを好み、通常は当該推奨を好まないが当該グループのために当該推奨を受け入れること、または他の任意の緩和的な含蓄を示すと示してもよい。例えば、ユーザがベジタリアンであることを示すデータが、ユーザがサラダを注文するのに関してＯＫである場合に、ユーザが部分的にネガティブな嗜好を有することを示してもよい。
【００７４】
アシスタント・モジュール２２２は、当該計算アシスタントにより実施された評価に基づいて改良された刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール２２２は、当該重み付けされたデータに基づいて、元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも１つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該重み付けされたデータに基づいて当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール２２２は当該推奨を当該改良された刈り取られた推奨リストに含めてもよい。
【００７５】
当該改良された刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、アシスタント・モジュール２２２は当該グループのユーザに表示するために当該改良された刈り取られた推奨リストを出力してもよい。１例として、アシスタント・モジュール２２２はＵＩモジュール２２０に、ディスプレイコンポーネント２０２を介して、当該改良された刈り取られた推奨リストを含むＧＵＩを表示させてもよい。別の例として、アシスタント・モジュール２２２はＵＩモジュール２２０に、スピーカコンポーネント２０８を介して、当該改良された刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール２２２は当該改良された刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよく、当該計算アシスタントは次いで、当該改良された刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。
【００７６】
幾つかの例では、アシスタント・モジュール２２２を含む、当該グループのユーザに関連付けられた計算アシスタントは、（刈り取られたかまたは改良され刈り取られた）推奨リストを生成するために使用される当該データの任意の指示の出力を控えてもよい。例えば、当該計算アシスタントは、当該推奨リストが、第２のプライバシ・レベル・データに基づくか（即ち、当該刈り取られたリストであるか）または重み付けされた第２のプライバシ・レベル・データに基づくか（即ち、当該改良された刈り取られたリストであるか）どうかを示すのを控えてもよい。当該計算アシスタントは元の推奨リストの任意の指示を出力するのを控えてもよい。したがって、当該計算アシスタントが、グループ・メンバのプライベートデータに基づいて、当該プライベートデータを示すことなく、グループ推奨を生成できてもよい。このように、当該計算アシスタントはグループに対するより高品質の推奨を生成してもよい。
【００７７】
図３は、本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成された例示的なコンピューティングシステムを示すブロック図である。図３のアシスタントサーバシステム３６０を、図１のアシスタントサーバシステム１６０の１例として後述する。図３はアシスタントサーバシステム３６０の１つの特定の例を示すにすぎず、アシスタントサーバシステム３６０の他の多くの例を他の事例で使用してもよく、例示的なアシスタントサーバシステム３６０に含まれるコンポーネントのサブセットを含んでもよく、または、図３に示されていない追加のコンポーネントを含んでもよい
【００７８】
図３の例に示すように、アシスタントサーバシステム３６０はユーザの１つまたは複数のプロセッサ３４０、１つまたは複数の通信ユニット３４２、および１つまたは複数の記憶デバイス３４８を含む。記憶デバイス３４８はアシスタント・モジュール３２２、検索モジュール３８２、およびユーザ情報データ・ストア３２５Ａ乃至３２５Ｎ（集合的に、「ユーザ情報データ・ストア３２５」）を含む。
【００７９】
プロセッサ３４０は図２のコンピューティングシステム２１０のプロセッサ２４０と同様である。通信ユニット３４２は図２のコンピューティングシステム２１０の通信ユニット２４２と同様である。記憶デバイス３４８は図２のコンピューティングシステム２１０の記憶デバイス２４８と同様である。通信チャネル３５０は図２のコンピューティングシステム２１０の通信チャネル２５０と同様であり、したがって、コンポーネント間通信のためにコンポーネント３４０、３４２、および３４８の各々を相互接続してもよい。幾つかの例では、通信チャネル３５０は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他の任意の方法を含んでもよい。
【００８０】
アシスタントサーバシステム３６０の検索モジュール３８２はコンピューティング・デバイス２１０の検索モジュール２８２と同様であり、アシスタントサーバシステム３６０のの代わりに統合された検索機能を実施してもよい。即ち、検索モジュール４８２は、アシスタント・モジュール３２２の代わりに検索動作を実施してもよい。幾つかの例では、検索モジュール３８２は、外部検索システムとインタフェースして、アシスタント・モジュール３２２の代わりに検索動作を実施してもよい。起動されたとき、検索モジュール３８２は様々なローカルおよびリモート情報ソースにわたって生成された検索クエリに基づいて検索クエリを生成し検索を実行するような、検索機能を実施してもよい。検索モジュール３８２は実行された検索の結果を当該起動コンポーネントまたはモジュールに提供してもよい。即ち、検索モジュール３８２は検索結果をアシスタント・モジュール３２２に出力してもよい。
【００８１】
アシスタント・モジュール３２２は、図１のローカルアシスタント・モジュール１２２のローカルアシスタント・モジュールおよびリモートアシスタント・モジュール１２３のリモートアシスタント・モジュール、ならびに図２のコンピューティング・デバイス２１０のアシスタント・モジュール２２２の全ての機能を含んでもよい。アシスタント・モジュール３２２は、アシスタントサーバシステム３６０を介してアクセス可能であるアシスタントサービスを提供するためのリモートアシスタント・モジュール１２２のリモートアシスタント・モジュールと同様な動作を実施してもよい。即ち、アシスタント・モジュール３２２は、ネットワーク上でアシスタントサーバシステム３６０と通信しているコンピューティング・デバイスにアクセス可能なリモートアシスタントサービスへのインタフェースとして動作してもよい。例えば、アシスタント・モジュール３２２は、図１のアシスタントサーバシステム１６０のリモートアシスタント・モジュール１２２のリモートアシスタント・モジュールへのインタフェースまたはＡＰＩであってもよい。
【００８２】
図１のシステム１００のユーザ情報データ・ストア１２４および１２５と同様に、ユーザ情報データ・ストア３２５はそれぞれ、アシスタント・モジュール３２２が夫々のユーザに関して学習したかまたは提供されてきた情報を含む、アシスタント・モジュール３２２により作成された個人記録を格納してもよい。アシスタント・モジュール３２２は、検索モジュール３８２により提供された任意の情報に加えて、データ・ストア３２５に格納された当該情報に依存して、アシスタントタスクを実施してもよい。
【００８３】
図４は、本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行する１つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。図４を図１のシステム１００の文脈で後述する。例えば、ローカルアシスタント・モジュール１２２Ａは、コンピューティング・デバイス１１０Ａの１つまたは複数のプロセッサで実行されている間に、本開示の１つまたは複数の態様に従う動作４０２乃至４２０のうち１つまたは複数を実施してもよい。幾つかの例では、リモートアシスタント・モジュール１２２Ａは、アシスタントサーバシステム１６０の１つまたは複数のプロセッサで実行されている間に、本開示の１つまたは複数の態様に従う動作４０２乃至４２０のうち１つまたは複数を実施してもよい。例示の目的のためにのみ、図４を図１のコンピューティング・デバイス１１０Ａの文脈で後述する。
【００８４】
動作において、コンピューティング・デバイス１１０Ａはユーザのグループに対する推奨を生成するための要求を受信してもよい（４０２）。図１の例でに示すように、ユーザＡ、ユーザＢ、およびユーザＣがグループチャットをしていてもよい。ユーザＡは「everyone still interested in taking a trip in March?」と尋ねるかもしれず、ユーザＢは「I’m interested」と言うことで応答するかもしれず、ユーザＣが「where were you thinking?」と尋ねるかもしれない。しかし、チャットの流れを見て、ユーザＢは「not this again, we can never agree on a place」と言うかもしれない。潜在的な目的地を議論しなければならないのを避けるために、ユーザＡは、彼らが「ask their virtual assistant for some recommendations」と述べてもよい。図１の例では、ユーザＡは、アシスタント起動コマンドを入力することでその仮想アシスタントに幾つかの推奨に問い合わせ、ユーザの当該グループに対する推奨の要求を提供してもよい。例えば、ＵＩモジュール１２０は「@assistant where should we take a trip in March」とタイプするユーザＡのＵＩＤ１１２でのユーザ入力の指示を受信してもよい。ＵＩモジュール１２０はアシスタント・モジュール１２２Ａおよび／または１２３Ａに当該ユーザ入力を提供してもよい。
【００８５】
当該グループのユーザに関連付けられたアシスタント・モジュールは第１のおよび第２のプライバシ・レベル・データを使用することの同意を当該グループのユーザから取得してもよい（４０４）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３ＡはユーザＡの第１のおよび第２のプライバシ・レベル・データを使用することの同意をユーザＡから取得してもよく、アシスタント・モジュール１２２Ｂおよび／または１２３ＢはユーザＢの第１のおよび第２のプライバシ・レベル・データを使用することの同意をユーザＢから取得してもよく、アシスタント・モジュール１２２Ｃおよび／または１２３ＣはユーザＣの第１のおよび第２のプライバシ・レベル・データを使用することの同意をユーザＣから取得してもよい。
【００８６】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成してもよい（４０６）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３ＡはユーザＡ、ユーザＢ、およびユーザＣに対する第１のプライバシ・レベル・データを評価して元の推奨リストを生成してもよい。この例では、当該グループに対する第１のプライバシ・レベル・データは、ユーザＡ、ユーザＢ、およびユーザＣが全て冬山スポーツ（例えば、スキーまたはスノーボーディング）、バーボン、およびトロピカルバケーションを楽しむことを示してもよい。当該第１のプライバシ・レベル・データに基づいて、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む元の推奨リストを生成してもよい。アシスタント・モジュール１２２Ａおよび／または１２３Ａは、元の推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに広めるかまたは出力してもよい。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、元の推奨リストをユーザＢに関連付けられた計算アシスタント（例えば、アシスタント・モジュール１２２Ｂおよび／または１２３Ｂ）、およびユーザＣに関連付けられた計算アシスタント（例えば、アシスタント・モジュール１２２Ｃおよび／または１２３Ｃ）に出力してもよい。
【００８７】
当該グループのユーザに関連付けられた夫々の計算アシスタントは、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい（４０８）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、ユーザＡに対する第２のプライバシ・レベル・データに基づいて、ユーザＡが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよい。同様に、ユーザＢに関連付けられた計算アシスタントは、ユーザＢに対する第２のプライバシ・レベル・データに基づいて、ユーザＢが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよく、ユーザＣに関連付けられた計算アシスタントは、ユーザＣに対する第２のプライバシ・レベル・データに基づいて、ユーザＣが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよい。
【００８８】
上述の例を続けると、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、ユーザＡが最近スキー旅行に行ったことを示すユーザＡに対する第２のプライバシ・レベル・データに少なくとも基づいて、ユーザＡがモンタナ州ボーズマンでの冬山スポーツに対する部分的にネガティブな嗜好を有すると判定してもよい。したがって、アシスタント・モジュール１２２Ａおよび／または１２３Ａはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、モンタナ州ボーズマンでの冬山スポーツを当該刈り取られたリストに含めるべきではないと判定してもよい。
【００８９】
ユーザＢに関連付けられた計算アシスタントは、ユーザＢが子供を説得しようとしていてＺｉｋａウィルスに関する大量の検索を実施したことを示すユーザＢに対する第２のプライバシ・レベル・データおよびＺｉｋａウィルスがカリブ海諸島に存在することを示すデータに少なくとも基づいて、ユーザＢがカリブ海諸島に対する完全にネガティブな嗜好を有すると判定してもよい。したがって、ユーザＢに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきであると判定してもよく、カリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきではないと判定してもよい。
【００９０】
ユーザＣに関連付けられた計算アシスタントは、ユーザＣがあまりアルコールを飲まないようにしてきていることを示すユーザＣに対する第２のプライバシ・レベル・データに少なくとも基づいて、ユーザＣがケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する部分的にネガティブな嗜好を有すると判定してもよい。したがって、ユーザＣに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきではないと判定してもよい。
【００９１】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該計算アシスタントにより実施された評価に基づいて当該刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも１つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該推奨を当該刈り取られた推奨リストに含めてもよい。
【００９２】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該結果の刈り取られた推奨リスト内に推奨があるかどうかを判定してもよい（４１０）。当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して（即ち、元の推奨リストからの少なくとも１つの推奨が当該グループのユーザに関連付けられた計算アシスタントの何れかによっても拒否されなかった場合）（４１０の「はい」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該刈り取られた推奨リストを出力してもよい（４１２）。１例として、アシスタント・モジュール１２２Ａおよび／または１２３ＡはＵＩモジュール１２０に当該刈り取られた推奨リストを含むＧＵＩを表示させてもよい。別の例として、アシスタント・モジュール１２２Ａおよび／または１２３ＡはＵＩモジュール１２０に当該刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよく、当該計算アシスタントは次いで、当該刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。
【００９３】
当該刈り取られた推奨リストが少なくとも１つの推奨を含まないことに応答して（４１０の「いいえ」分岐）、当該グループのユーザに関連付けられた夫々の計算アシスタントは、当該グループのユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい（４１４）。幾つかの例では当該評価が並列に実施されてもよい。例えば、当該グループのユーザに関連付けられた夫々の計算アシスタントは、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、当該刈り取られた推奨リストに含めるための元の推奨リストからの推奨を並列に評価し、当該グループのユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、当該改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい。当該改良された刈り取られたリストが少なくとも１つの推奨を含む場合（４１６の「はい」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該改良された刈り取られた推奨リストを出力してもよい（４１８）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは上述の刈り取られた推奨リストの出力と同様な方式で当該改良された刈り取られた推奨リストを出力してもよい。当該改良された刈り取られたリストが少なくとも１つの推奨を含む場合（４１６の「いいえ」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該計算アシスタントが当該グループに対して推奨を提供できなかったという指示を出力してもよい（４２０）。
【００９４】
元の推奨リストが冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む上述の例を続ける。アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該評価に基づいて、当該刈り取られたリストに残存する推奨がないと判定してもよい。特に、モンタナ州ボーズマンでの冬山スポーツがユーザＡの計算アシスタント（即ち、アシスタント・モジュール１２２Ａおよび／または１２３Ａ）により拒否され、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーがユーザＣの計算アシスタント（即ち、アシスタント・モジュール１２２Ｃおよび／または１２３Ｃ）により拒否され、カリブ海諸島でのビーチ・バケーションがユーザＢの計算アシスタント（即ち、アシスタント・モジュール１２２Ｂおよび／または１２３Ｂ）により拒否された。
【００９５】
ユーザＡ、ユーザＢ、およびユーザＣに関連付けられた計算アシスタントは、当該夫々のユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい。例えば、ユーザＡに対する第２のプライバシ・レベル・データが、ユーザＡがモンタナ州ボーズマンでの冬山スポーツに対する部分的にネガティブな嗜好のみを有し、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、アシスタント・モジュール１２２Ａおよび／または１２３Ａはモンタナ州ボーズマンでの冬山スポーツ、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアー、およびカリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。同様に、ユーザＣに対する第２のプライバシ・レベル・データが、ユーザＣがケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する部分的にネガティブな嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、ユーザＣに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツ、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーと判定してもよく、カリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。しかし、ユーザＢに対する第２のプライバシ・レベル・データが、ユーザＢがカリブ海諸島でのビーチ・バケーションに対する完全にネガティブな嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対するネガティブな嗜好を有さないことを示すので、ユーザＢに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られたリストに含めるべきであると判定してもよく、カリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきではないと判定してもよい。
【００９６】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該評価に基づいて、モンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られたリストに含めるべきであると判定してもよい。当該改良された刈り取られたリストは少なくとも１つの推奨を含むので、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該グループのユーザに表示するための当該改良された刈り取られたリストを出力してもよい。
【００９７】
図５は、本開示の１つまたは複数の態様に従う、例示的な仮想アシスタントを実行する１つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。図５を図１のシステム１００の文脈で後述する。例えば、ローカルアシスタント・モジュール１２２Ａは、コンピューティング・デバイス１１０Ａの１つまたは複数のプロセッサで実行されている間に、本開示の１つまたは複数の態様に従う動作５０２乃至５２４のうち１つまたは複数を実施してもよい。幾つかの例では、リモートアシスタント・モジュール１２２Ａは、アシスタントサーバシステム１６０の１つまたは複数のプロセッサで実行されている間に、本開示の１つまたは複数の態様に従う動作５０２乃至５２０のうち１つまたは複数を実施してもよい。例示の目的のためにのみ、図５を図１のコンピューティング・デバイス１１０Ａの文脈において後述する。
【００９８】
動作において、コンピューティング・デバイス１１０Ａはユーザのグループに対する推奨を生成するための要求を受信してもよい（５０２）。図１の例に示すように、ユーザＡ、ユーザＢ、およびユーザＣがグループチャットをしていてもよい。ユーザＡは「everyone still interested in taking a trip in March?」と尋ねるかもしれず、ユーザＢは「I’m interested」と言うことで応答するかもしれず、ユーザＣが「where were you thinking?」と尋ねるかもしれない。しかし、チャットの流れを見て、ユーザＢは「not this again, we can never agree on a place」と言うかもしれない。潜在的な目的地を議論しなければならないのを避けるために、ユーザＡは、彼らが「そask their virtual assistant for some recommendations」と述べてもよい。図１の例では、ユーザＡは、アシスタント起動コマンドを入力することでその仮想アシスタントに幾つかの推奨に問い合わせ、ユーザの当該グループへの推奨の要求を提供してもよい。例えば、ＵＩモジュール１２０は「@assistant where should we take a trip in March」とタイプするユーザＡのＵＩＤ１１２でのユーザ入力の指示を受信してもよい。ＵＩモジュール１２０は、アシスタント・モジュール１２２Ａおよび／または１２３Ａへのユーザ入力を提供してもよい。
【００９９】
当該グループのユーザに関連付けられたアシスタント・モジュールは第１のおよび第２のプライバシ・レベル・データを使用することの同意を当該グループのユーザから取得してもよい（５０４）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３ＡはユーザＡの第１のおよび第２のプライバシ・レベル・データを使用することの同意をユーザＡから取得してもよく、アシスタント・モジュール１２２Ｂおよび／または１２３ＢはユーザＢの第１のおよび第２のプライバシ・レベル・データを使用することの同意をユーザＢから取得してもよく、およびアシスタント・モジュール１２２Ｃおよび／または１２３ＣはユーザＣの第１のおよび第２のプライバシ・レベル・データを使用することの同意をユーザＣから取得してもよい。
【０１００】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該グループに対する第１のプライバシ・レベル・データのユーザに基づいて、当該グループへの元の推奨リストを生成してもよい（５０６）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３ＡはユーザＡ、ユーザＢ、およびユーザＣに対する第１のプライバシ・レベル・データを評価して元の推奨リストを生成してもよい。この例では、当該グループに対する第１のプライバシ・レベル・データは、ユーザＡ、ユーザＢ、およびユーザＣが全て冬山スポーツ（例えば、スキーまたはスノーボーディング）、バーボン、およびトロピカルバケーションを楽しむことを示してもよい。当該第１のプライバシ・レベル・データに基づいて、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む元の推奨リストを生成してもよい。アシスタント・モジュール１２２Ａおよび／または１２３Ａは、元の推奨リストを広めるかまたはそれを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよい。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは元の推奨リストをユーザＢに関連付けられた計算アシスタント（例えば、アシスタント・モジュール１２２Ｂおよび／または１２３Ｂ）、およびユーザＣに関連付けられた計算アシスタント（例えば、アシスタント・モジュール１２２Ｃおよび／または１２３Ｃ）に出力してもよい。
【０１０１】
当該グループのユーザに関連付けられた当該夫々の計算アシスタントは、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい（５０８）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、ユーザＡに対する第２のプライバシ・レベル・データに基づいて、ユーザＡが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを決定してもよい。同様に、ユーザＢに関連付けられた計算アシスタントは、ユーザＢに対する第２のプライバシ・レベル・データに基づいて、ユーザＢが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよく、ユーザＣに関連付けられた計算アシスタントは、ユーザＣに対する第２のプライバシ・レベル・データに基づいて、ユーザＣが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよい。
【０１０２】
上述の例を続けると、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、ユーザＡが最近スキー旅行に行ったことを示すユーザＡに対する第２のプライバシ・レベル・データに少なくとも基づいて、ユーザＡがモンタナ州ボーズマンでの冬山スポーツに対する部分的にネガティブな嗜好（例えば、６０％反対の嗜好）を有すると判定してもよい。したがって、アシスタント・モジュール１２２Ａおよび／または１２３Ａはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、モンタナ州ボーズマンでの冬山スポーツを当該刈り取られたリストに含めるべきではないと判定してもよい。
【０１０３】
ユーザＢに関連付けられた計算アシスタントはユーザＢが子供を説得しようとしていてＺｉｋａウィルスに関する大量の検索を実施したことを示すユーザＢに対する第２のプライバシ・レベル・データおよびＺｉｋａウィルスがカリブ海諸島に存在することを示すデータに少なくとも基づいて、ユーザＢがカリブ海諸島に対する完全にネガティブな嗜好（例えば、１００％反対の嗜好）を有すると判定してもよい。したがって、ユーザＢに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきであると判定してもよく、カリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきではないと判定してもよい。
【０１０４】
ユーザＣに関連付けられた計算アシスタントは、ユーザＣがあまりアルコールを飲まないようにしてきていることを示すユーザＣに対する第２のプライバシ・レベル・データに少なくとも基づいて、ユーザＣがケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する部分的にネガティブな嗜好（例えば、２５％反対の嗜好）を有すると判定してもよい。したがって、ユーザＣに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきではないと判定してもよい。
【０１０５】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該計算アシスタントにより実施された評価に基づいて、当該刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも１つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該推奨を当該刈り取られた推奨リストに含めてもよい。
【０１０６】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該結果の刈り取られた推奨リスト内に任意の推奨があるかどうかを判定してもよい（５１０）。当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して（即ち、元の推奨リストからの少なくとも１つの推奨が当該グループのユーザに関連付けられた計算アシスタントの何れかにより拒否されなかった場合）（５１０の「はい」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該刈り取られた推奨リストを出力してもよい（５１２）。１例として、アシスタント・モジュール１２２Ａおよび／または１２３ＡはＵＩモジュール１２０に当該刈り取られた推奨リストを含むＧＵＩを表示させてもよい。別の例として、アシスタント・モジュール１２２Ａおよび／または１２３ＡはＵＩモジュール１２０に当該刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよく、次いで、当該刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。
【０１０７】
当該刈り取られた推奨リストが少なくとも１つの推奨を含まない（５１０の「いいえ」分岐）ことに応答して、当該グループのユーザに関連付けられた当該夫々の計算アシスタントは、当該グループのユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい（５１４）。例えば、当該グループのユーザに関連付けられた計算アシスタントは、ユーザに対する第２のプライバシ・レベル・データが、ユーザが初期閾値より大きい当該推奨に対するネガティブな嗜好を示すかどうかを判定してもよい。幾つかの例では、当該閾値はを最初に低く（例えば、５％、１０％、１５％、．．．、２５％等）設定し、以下でさらに詳細に説明するように、推奨を提供できない場合に増大させてもよい。アシスタントは推奨を当該改良された刈り取られた推奨リストに含めるべきではないと判定してもよい。この場合、当該アシスタントは、ユーザに対する第２のプライバシ・レベル・データが、当該推奨に対するユーザの嗜好が当該閾値より大きいことを示すと判定する。幾つかの例では、当該アシスタントが当該初期閾値を用いて推奨を提供できない場合、当該アシスタントはユーザに対する第２のプライバシ・レベル・データが、増大された閾値（例えば、当該以前の閾値より高い５％、１０％等）より大きい当該推奨に対するネガティブな嗜好をユーザが有することを示すかどうかを判定してもよい。
【０１０８】
当該改良された刈り取られたリストは少なくとも１つの推奨を含む場合（５１６の「はい」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該改良された刈り取られた推奨リストを出力してもよい（５１８）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは上述の当該刈り取られた推奨リストの出力と同様な方式で当該改良された刈り取られた推奨リストを出力してもよい。当該改良された刈り取られたリストが少なくとも１つの推奨を含む場合（５１６の「いいえ」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該推奨を評価するために使用される当該重みが最大閾値より大きいかどうかを判定してもよい（５２０）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該推奨を評価するために使用される当該閾値が最大全体閾値レベル（例えば、７５％、８５％、９０％、９５％）より大きいかどうかを判定してもよい。当該重みが最大閾値より大きい場合（５２０の「はい」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該計算アシスタントが当該グループに対する任意の推奨を提供できなかったという指示を出力してもよい（５２４）。当該重みが最大閾値より大きくない場合（５２０の「いいえ」分岐）、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該重みを増大させてもよい（５２２）。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該閾値を５％、１０％、２０％等だけ増大させてもよい。当該グループのユーザに関連付けられた当該夫々の計算アシスタントは、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データの当該増大された重み付けに基づいて、当該改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい（５１４）。例えば、当該グループのユーザに関連付けられた計算アシスタントは、ユーザに対する第２のプライバシ・レベル・データが、ユーザが当該増大された閾値より大きい当該推奨に対するネガティブな嗜好を有すること示すかどうかを判定してもよい。幾つかの例では、当該計算アシスタントを少なくとも１つの推奨を提供できるまで当該ループを継続してもよい。幾つかの例では、当該ループを、当該推奨を評価するために使用される当該閾値が最大全体閾値レベルより大きくなるまで続けてもよい。このように、アシスタント・モジュールは、幾つかのユーザがそれに対して強いネガティブな嗜好を有する推奨を含まない状態で、最も望ましい推奨を当該改良された刈り取られたリストに含めてもよい。
【０１０９】
元の推奨リストが冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む上述の例を続ける。アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該評価に基づいて、当該刈り取られたリストに残存する推奨がないと判定してもよい。特に、モンタナ州ボーズマンでの冬山スポーツがユーザＡの計算アシスタント（即ち、アシスタント・モジュール１２２Ａおよび／または１２３Ａ）により拒否され、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーがユーザＣ（即ち、アシスタント・モジュール１２２Ｃおよび／または１２３Ｃ）の計算アシスタントにより拒否され、カリブ海諸島でのビーチ・バケーションがユーザＢの計算アシスタント（即ち、アシスタント・モジュール１２２Ｂおよび／または１２３Ｂ）により拒否された。
【０１１０】
ユーザＡ、ユーザＢ、およびユーザＣに関連付けられた計算アシスタントは、当該夫々のユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい。例えば、ユーザＡ、ユーザＢ、およびユーザＣに関連付けられた計算アシスタントは、当該夫々のユーザに対する第２のプライバシデータが、当該夫々のユーザが初期閾値（本例の説明のため１０％）を満たす元の推奨リストからの推奨に対する嗜好を有することを示すかどうかを判定してもよい。
【０１１１】
例えば、ユーザＡに対する第２のプライバシ・レベル・データが、ユーザＡが、モンタナ州ボーズマンでの冬山スポーツに対する６０％の嗜好を有し、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、アシスタント・モジュール１２２Ａおよび／または１２３Ａはモンタナ州ボーズマンでの冬山スポーツ（例えば、６０％の嗜好は１０％の閾値より大きいので）を当該改良された刈り取られたリストに含めるべきではないと判定し、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。同様に、ユーザＣに対する第２のプライバシ・レベル・データが、ユーザＣが、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する２５％の嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、ユーザＣに関連付けられた計算アシスタントはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアー（例えば、当該２５％の嗜好は１０％の閾値より大きいので）を当該改良された刈り取られたリストに含めるべきではないと判定し、モンタナ州ボーズマンでの冬山スポーツ、およびカリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。さらに、ユーザＢに対する第２のプライバシ・レベル・データが、ユーザＢがカリブ海諸島でのビーチ・バケーションに対する１００％の嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対するネガティブな嗜好を有さないことを示すので、ユーザＢに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られたリストに含めるべきであると判定し、カリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきではないと判定してもよい。
【０１１２】
アシスタント・モジュール１２２Ａおよび／または１２３Ａは、当該評価に基づいて、（例えば、モンタナ州ボーズマンでの冬山スポーツがユーザＡの計算アシスタントにより拒否され、カリブ海諸島でのビーチ・バケーションがユーザＢの計算アシスタントにより拒否され、およびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーがユーザＣの計算アシスタントにより拒否されたので）元の推奨リストからの推奨を当該改良された刈り取られたリストに含めるべきでないと判定してもよい。当該改良された刈り取られたリストは推奨を含まないので、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該閾値を増大させてもよい。例えば、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該閾値を３０％に増大させてもよい。ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対するユーザＣの２５％の嗜好が当該増大された３０％の閾値より小さいので、ユーザＣに関連付けられた計算アシスタントはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られた推奨リストに含めるべきであると判定してもよい。しかし、モンタナ州ボーズマンでの冬山スポーツに対するユーザＡの６０％の嗜好が当該増大された３０％の閾値より大きいので、ユーザＡに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツは依然として当該改良された刈り取られた推奨リストに含まれるべきではないと判定してもよい。同様に、カリブ海諸島でのビーチ・バケーションに対するユーザＢの１００％の嗜好が当該増大された３０％の閾値より大きいので、ユーザＢに関連付けられた計算アシスタントはカリブ海諸島でのビーチ・バケーションは依然として当該改良された刈り取られた推奨リストに含まれるべきではないと判定してもよい。当該改良された刈り取られたリストは少なくとも１つの推奨を含むので、アシスタント・モジュール１２２Ａおよび／または１２３Ａは当該グループのユーザに表示するための当該改良された刈り取られたリストを出力してもよい。
【０１１３】
以下の採番した例は本開示の１つまたは複数の態様を示しうる。
【０１１４】
例１：ユーザのグループへの推奨の要求を受信したことに応答して、当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成するステップと、当該グループのユーザに関連付けられた夫々の計算アシスタントによりおよび当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する刈り取られた推奨リストに含めるための元の推奨リストから推奨を評価するステップであって、当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限される、ステップと、当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該グループのユーザに表示するために、当該刈り取られた推奨リストを出力するステップとを含む、方法。
【０１１５】
例２：当該刈り取られた推奨リストは第１の刈り取られた推奨リストを含み、当該方法は、当該第１の刈り取られた推奨リストが推奨を含まないことに応答して、当該グループのユーザの夫々の計算アシスタントによりおよび当該グループのユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する第２の刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価するステップと、当該第２の刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該グループのユーザに表示するために、当該第２の刈り取られた推奨リストを出力するステップとをさらに含む、例１に記載の方法。
【０１１６】
例３：当該グループの特定のユーザに関連付けられた計算アシスタントによりおよび当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する当該第１の刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価するステップは、当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、当該推奨を当該第１の刈り取られた推奨リストに含めないと判定するステップを含む、例２に記載の方法。
【０１１７】
例４：当該グループの特定のユーザに関連付けられた計算アシスタントによりおよび当該グループの特定のユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する当該第２の刈り取られた推奨リストに含めるための元の推奨リストからの当該推奨を評価するステップは、当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第２の刈り取られた推奨リストに含めないと判定するステップを含む、例３に記載の方法。
【０１１８】
例５：当該グループの特定のユーザに関連付けられた計算アシスタントによりおよび当該グループの特定のユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、当該グループに対する当該第２の刈り取られた推奨リストに含めるための元の推奨リストからの当該推奨を評価するステップは、当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第２の刈り取られた推奨リストに含めると判定するステップを含む、例１乃至４の任意の組合せに記載の方法。
【０１１９】
例６：当該要求はユーザの当該グループに含まれない要求するユーザから受信され、元の推奨リストは、当該要求するユーザに対するデータに基づいて生成されない、例１乃至５の任意の組合せに記載の方法。
【０１２０】
例７：当該要求はユーザの当該グループに含まれる要求するユーザから受信され、元の推奨リストは当該要求するユーザに対するデータに基づいて生成される、例１乃至５の任意の組合せに記載の方法。
【０１２１】
例８：当該要求は、娯楽推奨、食料の推奨、旅行の推奨、および共有された商品推奨のうち１つまたは複数に対するものである、例１乃至７の任意の組合せに記載の方法。
【０１２２】
例９：当該グループのユーザに対する当該第１のプライバシ・レベル・データは当該グループのユーザに対して公に利用可能なデータを含む、例１乃至８の任意の組合せに記載の方法。
【０１２３】
例１０：少なくとも１つのプロセッサと、実行されたとき、当該少なくとも１つのプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力するように構成された計算アシスタントを提供させる命令を備えた少なくとも１つのメモリとを備えたコンピューティング・デバイスであって、当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限される、コンピューティング・デバイス。
【０１２４】
例１１：当該刈り取られた推奨リストは第１の刈り取られた推奨リストを含み、当該計算アシスタントは、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する第２の刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該第２の刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答しておよび当該グループのユーザに表示するために、当該第２の刈り取られた推奨リストを出力するようにさらに構成された、例１０に記載のコンピューティング・デバイス。
【０１２５】
例１２：特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、元の推奨リストからの推奨を当該第１の刈り取られた推奨リストに含めないと判定するように構成される、例１１に記載のコンピューティング・デバイス。
【０１２６】
例１３：当該特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第２の刈り取られた推奨リストに含めないと判定するように構成される、例１２に記載のコンピューティング・デバイス。
【０１２７】
例１４：当該特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する夫々の第２のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第２の刈り取られた推奨リストに含めると判定するように構成される、例１０乃至１３の任意の組合せに記載のコンピューティング・デバイス。
【０１２８】
例１５：当該要求はユーザの当該グループに含まれない要求するユーザから受信され、元の推奨リストは、当該要求するユーザに対するデータに基づいて生成されない、例１０乃至１４の任意の組合せに記載のコンピューティング・デバイス。
【０１２９】
例１６：当該要求はユーザの当該グループに含まれる要求するユーザから受信され、元の推奨リストは当該要求するユーザに対するデータに基づいて生成される、例１０乃至１４の任意の組合せに記載のコンピューティング・デバイス。
【０１３０】
例１７：当該要求は、娯楽推奨、食料の推奨、旅行の推奨、および共有された商品推奨のうち１つまたは複数に対するものである、例１０乃至１６の任意の組合せに記載のコンピューティング・デバイス。
【０１３１】
例１８：当該グループのユーザに対する当該第１のプライバシ・レベル・データは当該グループのユーザに対して公に利用可能なデータを含む、例１０乃至１７の任意の組合せに記載のコンピューティング・デバイス。
【０１３２】
例１９：実行されたとき、コンピューティング・デバイスの１つまたは複数のプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第１のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第２のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力させる命令を格納した非一時的コンピュータ可読記憶媒体であって、当該第２のプライバシ・レベルは当該第１のプライバシ・レベルよりも制限される、非一時的コンピュータ可読記憶媒体。
【０１３３】
例２０：当該刈り取られた推奨リストは第１の刈り取られた推奨リストを含み、当該非一時的コンピュータ可読記憶媒体は当該コンピューティング・デバイスの当該１つまたは複数のプロセッサに、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する重み付けされた夫々の第２のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する第２の刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該第２の刈り取られた推奨リストが少なくとも１つの推奨を含むことに応答しておよび当該グループのユーザに表示するために、当該第２の刈り取られた推奨リストを出力させる命令をさらに格納する、例１９に記載の非一時的コンピュータ可読記憶媒体。
【０１３４】
例２１：当該１つまたは複数のプロセッサに例１乃至９の任意の組合せに記載の方法を実施させる命令をさらに含む、例１９に記載の非一時的コンピュータ可読記憶媒体。
【０１３５】
例２２：例１乃至９の任意の組合せに記載の方法を実施するための手段を備える、コンピューティング・デバイス。
【０１３６】
１つまたは複数の例では、説明した機能を、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装してもよい。ソフトウェアで実装される場合、当該機能を、１つまたは複数の命令またはコードとして、コンピュータ可読媒体に格納するかまたは当該媒体で送信し、ハードウェアベースの処理ユニットにより実行してもよい。コンピュータ可読媒体はコンピュータ可読記憶媒体または媒体を含んでもよい。当該媒体は、データ記憶媒体のような有形媒体、またはコンピュータプログラムを或る場所から別の場所へ、例えば、通信プロトコルに従って転送するのを促進する任意の媒体を含む通信媒体に対応する。このように、コンピュータ可読媒体は一般に、（１）非一時的である有形コンピュータ可読記憶媒体、または、（２）信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示で説明した技術を実装するための命令、コードおよび／またはデータ構造を取り出すために、１つまたは複数のコンピュータまたは１つまたは複数のプロセッサによりアクセスしうる任意の利用可能な媒体であってもよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでもよい。
【０１３７】
限定ではなく例として、かかるコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶、磁気ディスク記憶、または他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形で所望のプログラムコードを格納するために使用できコンピュータによりアクセスされうる他の任意の記憶媒体を含むことができる。また、任意の接続は正しくコンピュータ可読媒体と称される。例えば、命令がウェブサイト、サーバ、または他のリモートソースから同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者線（ＤＳＬ）、または赤外線、無線、およびマイクロ波のような無線技術を用いて送信される場合、当該同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のような無線技術は媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体および媒体およびデータ記憶媒体が接続、搬送波、信号、または他の透過的な媒体を含まず、非透過的な、有形記憶媒体に関することは理解されるべきである。ディスクは、本明細書で使用する際、コンパクトディスク（ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ＤＶＤ）、フロッピーディスクおよびBlu-ray（登録商標）ディスクを含む。ディスクは通常、データを磁気的に再生し、レーザで光学的にデータを再生する。上の組合せはコンピュータ可読媒体の範囲内に含まれるべきである。
【０１３８】
命令は、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用目的マイクロプロセッサ、特殊用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ロジック・アレイ（ＦＰＧＡ）、または他の等価な集積回路または離散論理回路のような１つまたは複数のプロセッサにより実行されうる。したがって、本明細書で使用する際「プロセッサ」という用語は、以上の構造の何れかまたは本明細書で説明した技術を実装するのに適した他の任意の構造を指してもよい。さらに、幾つかの態様では、本明細書で説明する機能を、専用ハードウェアおよび／またはソフトウェアモジュール内で提供してもよい。また、当該技術を、１つまたは複数の回路または論理要素で完全に実装することができる。
【０１３９】
当該本開示の諸技術を、無線ハンドセット、集積回路（ＩＣ）または１組のＩＣ（例えば、チップセット）を含む、多種多様なデバイスまたは装置で実装してもよい。様々なコンポーネント、モジュール、またはユニットは、本開示では、開示された技術を実施するように構成されたデバイスの機能的態様を強調するように説明されているが、異なるハードウェアユニットによる実現を必ずしも必要とするものではない。むしろ、上述のように、様々なユニットは、ハードウェアユニットに結合するか、または、適切なソフトウェアおよび／またはファームウェアと関連して、上述の１つまたは複数のプロセッサを含む相互動作するハードウェアユニットの集合により提供されてもよい。
【０１４０】
様々な実施形態を説明した。これらのおよび他の実施形態は添付の特許請求の範囲内にある。
【符号の説明】
【０１４１】
１１０Ａ−１１０Ｎ  コンピューティング・デバイス
１２０  ＵＩモジュール
１２２Ａ  ローカル・アシスタント・モジュール
１２３Ａ−１２３Ｎ  リモート・アシスタント・モジュール
１２４Ａ  ユーザ情報データ・ストア
１２５Ａ−１２５Ｎ  ユーザ情報データ・ストア
１３０  ネットワーク
１６０  アシスタントサーバシステム
１８０  検索サーバシステム
１８２  検索モジュール
２０２  ディスプレイコンポーネント
２０４  存在検知入力コンポーネント
２０６  マイクロフォン・コンポーネント
２０８  スピーカ・コンポーネント
２１０  コンピューティング・デバイス
２１２  ユーザ・インタフェース・デバイス
２２０  ＵＩモジュール
２２２  アシスタント・モジュール
２２４  ユーザ情報データ・ストア
２２６  アプリケーション・モジュール（複数可）
２４０  プロセッサ（複数可）
２４２  通信ユニット（複数可）
２４４  入力コンポーネント（複数可）
２４６  出力コンポーネント（複数可）
２４８  記憶デバイス
２５０  通信チャネル
２８２  検索モジュール
３２２  アシスタント・モジュール
３２５Ａ−３２５Ｎ  ユーザ情報データ・ストア
３４０  プロセッサ（複数可）
３４２  通信ユニット（複数可）
３４８  記憶デバイス
３５０  通信チャネル
３６０  アシスタントサーバシステム
３８２  検索モジュール
【図１】
2018109954.tif 000003
【図２】
2018109954.tif 000004
【図３】
2018109954.tif 000005
【図４】
2018109954.tif 000006
【図５】
2018109954.tif 000007
【外国語明細書】
2018109954000001.pdf