(57)【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実装される方法であって、前記方法は、
第1のコンピューティングデバイスにおいて、通知を、前記通知が基づくアプリケーションにアクセス可能であるリモートサーバデバイスから受信するステップと、
前記通知のうちの第1の通知の第1のソースと、前記通知のうちの第2の通知の第2のソースとを識別するステップであって、前記第1のソースが、前記アプリケーションのうちの第1のアプリケーションを制御する第1のエンティティに対応し、前記第2のソースが、前記アプリケーションのうちの第2のアプリケーションを制御する第2のエンティティに対応する、識別するステップと、
前記第1のソースのための第1のスコアが通知しきい値を満たし、前記第2のソースのための第2のスコアが前記通知しきい値を満たすことができないと決定するステップであって、前記第1のスコアが、前記第1のコンピューティングデバイスのユーザと前記第1のソースとの間の対話の第1の前のインスタンスに基づき、前記第2のスコアが、前記ユーザと前記第2のソースとの間の対話の第2の前のインスタンスに基づく、決定するステップと、
車両中に組み込まれ、ナビゲーションアプリケーションを含む車両コンピューティングデバイスから、前記車両コンピューティングデバイスのオーディオインターフェースにおいて規定されるルートを通して前記車両をナビゲートすることのアクティビティの1つまたは複数のプロパティに基づくコンテキストデータを受信するステップであって、前記車両コンピューティングデバイスが、いくつかの通知を、前記通知に関連付けられたソースのスコアに従って提供するように構成され、前記コンテキストデータが基づく前記1つまたは複数のプロパティが、前記車両がどのようにナビゲートしているかを識別する、受信するステップと、
前記コンテキストデータに基づいて前記第2のスコアを変更するステップと、
前記変更された第2のスコアが前記通知しきい値を満たすと決定するステップと、
前記車両コンピューティングデバイスが、前記第1のスコアおよび前記変更された第2のスコアが前記通知しきい値を満たすことに基づいて、前記第1の通知および前記第2の通知を提供することを引き起こすステップと
を含む、方法。
【請求項２】
前記アクティビティに基づいて前記第2のスコアを変更するステップは、さらに、前記車両コンピューティングデバイスが前記アクティビティに参加することを中止するまで、前記第2のスコアが一時的に前記通知しきい値を満たすことを引き起こす、請求項1に記載の方法。
【請求項３】
前記通知しきい値は、前記第1の通知および前記第2の通知がそれを通して提供される特定のモダリティに関連付けられ、前記特定のモダリティが、オーディオモダリティとビジュアルモダリティの一方または両方を含む、請求項1に記載の方法。
【請求項４】
1つまたは複数のプロセッサによって実装される方法であって、前記方法は、
ユーザによるアクティビティの実施中に前記ユーザのクライアントコンピューティングデバイスにおいて、通知を受信するステップであって、前記アクティビティが車両コンピューティングデバイスのオーディオインターフェースにおいて規定されるルートを通して車両をナビゲートすることを含み、前記車両コンピューティングデバイスが前記車両に組み込まれ、ナビゲーションアプリケーションを含む、ステップと、
前記クライアントコンピューティングデバイスにおいて、前記通知のソースを識別するステップと、
前記クライアントコンピューティングデバイスにおいて、および前記通知の前記ソースに基づいて、前記通知が、前記アクティビティの前記実施中に前記ユーザに提供するための候補であると決定するステップと、
前記通知が前記アクティビティの前記実施中に前記ユーザに提供するための候補であるという決定に応答して、
前記クライアントコンピューティングデバイスによって、リモートサーバデバイスに、前記通知に基づく通知データを送信するステップと、
前記送信に応答して、前記リモートサーバデバイスから、前記通知を提供すべきかどうかを指示する提供データを受信するステップと、
前記クライアントコンピューティングデバイスによって、および前記提供データに基づいて、前記通知に基づく通知コンテンツが前記アクティビティ中に前記ユーザに提供されることを引き起こすステップであって、前記リモートサーバデバイスが、前記車両がどのようにナビゲートしているかを識別する1つまたは複数のプロパティに基づいて前記提供データを生成し、前記通知コンテンツが提供されることを引き起こすステップが、前記通知コンテンツが、前記クライアントコンピューティングデバイスと、前記車両コンピューティングデバイスとのうちの少なくとも1つのデバイスを介して提供されることを引き起こすステップを含む、提供されることを引き起こすステップと
を含む、方法。
【請求項５】
前記アクティビティの実施中に前記クライアントコンピューティングデバイスにおいて、追加の通知を受信するステップと、
前記クライアントコンピューティングデバイスにおいて、前記追加の通知の追加のソースを識別するステップと、
前記クライアントコンピューティングデバイスにおいて、および前記追加の通知の前記追加のソースに基づいて、前記追加の通知が、前記アクティビティ中に前記ユーザに提供するための候補でないと決定するステップと、
前記通知が前記ユーザに提供するための候補でないと決定したことに基づいて、
前記リモートサーバデバイスへの追加の通知データの送信を抑制するステップであって、前記追加の通知データが前記追加の通知に基づく、抑制するステップと、
前記アクティビティ中に前記追加の通知の提供を抑制するステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記リモートサーバデバイスに前記通知データを送信するステップが、前記クライアントコンピューティングデバイスにおいて、前記ユーザが前記アクティビティに関与していると決定することにさらに基づく、請求項4に記載の方法。
【請求項７】
前記送信に応答して前記リモートサーバデバイスから受信された前記提供データが、前記通知をそれを介して提供すべき特定のモダリティをさらに指示し、前記通知コンテンツが提供されることを引き起こすステップが、
前記提供データが前記特定のモダリティを指示することに基づいて、前記通知コンテンツが前記特定のモダリティを介して提供されることを引き起こすステップ
をさらに含む、請求項4に記載の方法。
【請求項８】
前記特定のモダリティが、オーディオのみのモダリティ、グラフィックのみのモダリティ、および組み合わせられたオーディオとグラフィックとのモダリティのうちの1つである、請求項7に記載の方法。
【請求項９】
前記特定のモダリティは、前記通知コンテンツが、前記クライアントコンピューティングデバイスのみを介して提供されるべきであるのか、前記車両コンピューティングデバイスのみを介して提供されるべきであるのか、前記クライアントコンピューティングデバイスと前記車両コンピューティングデバイスの両方を介して提供されるべきであるのかを指示する、請求項7に記載の方法。
【請求項１０】
前記通知コンテンツが提供されることを引き起こすステップが、前記クライアントコンピューティングデバイスによって、前記車両コンピューティングデバイスが前記通知コンテンツを提供することを引き起こすように前記車両コンピューティングデバイスを制御するステップ
を含む、請求項4に記載の方法。
【請求項１１】
前記通知が、前記ソースによって構築された自然言語コンテンツを含むメッセージであり、前記クライアントコンピューティングデバイスにおいて、前記通知が前記ユーザに提供するための候補であると決定するステップが、前記通知の前記ソースに基づき、前記自然言語コンテンツとは無関係であり、前記提供データが、前記自然言語コンテンツに基づいて前記リモートサーバデバイスにおいて決定される、請求項4に記載の方法。
【請求項１２】
前記通知コンテンツが、前記通知のサブセットまたは前記通知の書き直しを含み、前記リモートサーバデバイスから受信された前記提供データが、前記通知コンテンツをさらに含む、請求項4に記載の方法。
【請求項１３】
前記提供データが前記通知のためのスコアを含み、前記提供データに基づいて前記通知データが提供されることを引き起こすステップが、前記スコアがしきい値を満たすことに基づいて、前記通知データが提供されることを引き起こすステップを含む、請求項4に記載の方法。
【請求項１４】
1つまたは複数のプロセッサによって実装される方法であって、前記方法は、
ユーザと1人または複数の追加のユーザとを含む参加者間のメッセージングセッション中で1つまたは複数のアクティビティ前メッセージを受信するステップであって、前記参加者の各々が、対応するコンピューティングデバイスの対応するメッセージングアプリケーションを使用して前記メッセージングセッションに関与し、前記1つまたは複数のアクティビティ前メッセージは、前記ユーザが特定のアクティビティに関与することより前に受信され、前記特定のアクティビティが、車両コンピューティングデバイスのオーディオインターフェースにおいて規定されるルートを通して車両をナビゲートすることを含み、前記車両コンピューティングデバイスが前記車両に組み込まれ、ナビゲーションアプリケーションを含む、受信するステップと、
前記1つまたは複数のアクティビティ前メッセージを受信した後に、前記ユーザが前記特定のアクティビティに関与すると決定するステップと、
前記ユーザが前記特定のアクティビティに関与するという決定に応答して、
前記ユーザへの電子通知の提供を選択的に抑制する変更された通知モードをアクティブにするステップと、
前記ユーザが前記特定のアクティビティに関与する間、および前記変更された通知モードがアクティブにされる間、前記1人または複数の追加のユーザのうちの1人によって前記メッセージングセッション中で提供される追加のメッセージを受信するステップと、
前記1つまたは複数のアクティビティ前メッセージの最近性と、前記1つまたは複数のアクティビティ前メッセージの量と、前記車両がどのようにナビゲートしているかを識別する1つまたは複数のプロパティとのうちの少なくとも1つに基づいて、前記追加のメッセージのためのスコアを決定するステップと、
前記スコアに基づいて、前記追加のメッセージに基づくコンテンツが前記ユーザの少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップと
を含む、方法。
【請求項１５】
前記スコアに基づいて、前記コンテンツが前記少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップが、
前記スコアに基づいて、前記コンテンツを抑制する代わりに前記コンテンツを提供することを決定するステップ
を含む、請求項14に記載の方法。
【請求項１６】
前記スコアに基づいて、前記コンテンツが前記少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップが、
前記スコアに基づいて、前記車両コンピューティングデバイス、または前記コンテンツのレンダリングのためのモダリティを選択するステップ
を含む、請求項14に記載の方法。
【請求項１７】
前記ユーザが前記特定のアクティビティに関与する間、および前記変更された通知モードがアクティブにされる間、前記メッセージングセッションの一部でない追加の通知を受信するステップと、
前記追加の通知のソースに基づいて前記追加の通知のための追加のスコアを決定するステップと、
前記追加のスコアに基づいて、前記追加の通知に基づく任意の追加のコンテンツの、前記ユーザへの提供を抑制するステップと
をさらに含む、請求項14に記載の方法。
【請求項１８】
前記スコアに基づいて、前記追加のメッセージに基づく前記コンテンツが、前記ユーザの前記少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップが、前記コンテンツが可聴的にレンダリングされることを引き起こすステップを含み、
前記ユーザが前記特定のアクティビティに関与する間、および前記変更された通知モードがアクティブにされる間、前記メッセージングセッションの一部でない追加の通知を受信するステップと、
前記追加の通知のソースに基づいて前記追加の通知のための追加のスコアを決定するステップと、
前記追加のスコアに基づいて、前記追加の通知に基づく追加のコンテンツが、同時に可聴的にレンダリングされることなしに、前記少なくとも1つのコンピューティングデバイスを介してグラフィカルにレンダリングされることを引き起こすステップと
をさらに含む、請求項14に記載の方法。
【請求項１９】
請求項1から18のいずれか一項に記載の方法を実施するように構成された装置。
【請求項２０】
1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサが、請求項1から18のいずれか一項に記載の方法を実施することを引き起こす命令を記憶する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通知のソースに基づいて通知の提供を制御するためのシステム、方法、および装置に関する。
【背景技術】
【０００２】
人間は、本明細書では「自動アシスタント(automated assistant)」と呼ばれる(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「会話型エージェント」などとも呼ばれる)対話型ソフトウェアアプリケーションを用いた人間対コンピュータの対話に関与し得る。たとえば、人間(その人間は、自動アシスタントと対話するとき「ユーザ」と呼ばれることがある)は、(i)いくつかの場合にはテキストに変換され、次いで処理され得る、話された自然言語入力(すなわち発話)を使用して、および/または(ii)テキスト(たとえば、タイピングされた)自然言語入力を提供することによって、コマンドおよび/または要求を提供し得る。ユーザが運転などのアクティビティに参加しているとき、ユーザは、ユーザが車両をナビゲートするのに必要とされるコグニションの量のために、自動アシスタントに多くの注意を払うことに応じられないことがある。その結果、自動アシスタントは、ユーザに様々な通知を提供するが、ユーザは、その後、どんな通知が提供されたかを覚えていないことになり得る。さらに、ユーザが、グループチャットに参加しているか、または様々なサービスに加入している場合、ユーザが運転している間にあまりに注意散漫になるならば、ユーザへの着信メッセージの数が圧倒的となり、危険な結果をもたらすことがある。通知の提供が、ユーザから応答を引き出すために全体的に効果がない場合、計算リソースは、その後、ユーザへの通知を繰り返すことに浪費され得る。さらに、通知を無差別に繰り返すことは、何らかの他のアクティビティに参加しているにもかかわらず、いくつかの通知に確認応答したことがあるユーザにとって時間の浪費であり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書で説明される実装形態は、様々な電子通知を、それらの通知のソースに少なくとも部分的に基づいて、ユーザに提示すべきかどうか、いつ提示すべきか、および/またはどのように提示すべきかを動的に決定するためのシステム、方法、および装置に関する。ユーザへの通知の提供を動的に適応させることは、(たとえば、それらの提供を抑制すること、および/またはあまり気を散らさないモダリティを通してそれらを提供することによって)いくつかの通知によって引き起こされる注意散漫を低減することができ、および/またはいくつかの通知を提供することに関連付けられた様々な計算リソースの消費を低減することができる。たとえば、計算リソースは、提供される通知の量および/または範囲の低減を通して、ならびに/あるいはいくつかの通知の即時提供を抑制し、代わりにユーザがあまり注意散漫でないときに後でそれらを提供すること(それにより、ユーザが注意散漫であるときと、後の時間において再びとの両方で、ユーザに通知を提供することの発生を緩和すること)を通して、低減され得る。
【０００４】
様々な実装形態では、受信された通知に関連付けられる注意散漫は、通知のソースの識別情報に関係するデータおよび/または通知に関連付けられたコンテキストデータを使用して緩和され得る。たとえば、ユーザに通知が提供されるかどうか、および/またはどのように提供されるかは、通知のソースに関連付けられたソースのスコアに基づき得る。ソースのためのスコアは、ユーザに個別化され得、ソースとのユーザの過去のコンピュータベースの対話、ユーザに関連付けられた現在のコンテキストデータ、ソースに関連付けられたコンテキストデータ、ユーザからの明示的ユーザインターフェース入力、および/または他のデータに基づき得る。本明細書で使用される「ソース(source)」は、人(たとえば「ボブ」)、アプリケーション(たとえば「メッセージングアプリ1」)、あるいは、メディアアプリケーション、メッセージングアプリケーション、ナビゲーションアプリケーション、および/または他のアプリケーションなど、アプリケーションの組合せを指すことがある。アプリケーションによって初期化された通知は、ユーザへの通知の重要性に従って、および/またはユーザが参加しているアクティビティ(たとえば、車両を運転すること)に従って対処(たとえば、提供または抑制)され得る。いくつかの実装形態では、通知のソースは、ユーザが、一般に、ソースおよび/またはそれらの通知、ならびに/あるいはソースおよび/またはユーザに関連付けられた任意の他のコンテキストデータ(たとえば、カレンダーデータ、ロケーションデータなど)とどのように対話するかに従って、自動アシスタントによってランク付けされ得る。さらに、ランク付けは、ユーザによってソースから受信された通知の提供を変更し続けるために、経時的に適応され得る。
【０００５】
通知および/またはコンテキストデータのソースに従って、インバウンド(inbound)通知の提供を選択的に抑制すること、および/または場合によっては適応させることに関係する技法が、1つまたは複数のコンピューティングデバイスによって実装される。たとえば、ユーザは、車両コンピューティングデバイスを含む車両を動作させることができ、車両コンピューティングデバイスは、(たとえば、Bluetooth(登録商標)、「ワイヤード」接続、および/または他の通信プロトコルを介して)様々なアプリケーションを含むポータブルコンピューティングデバイスとペアにされ得る。アプリケーションは、リモートサーバデバイスからデータを受信するために、ネットワーク(たとえば、LTE、Wi-Fi、Bluetooth(登録商標)または任意の他のネットワーク接続)を介して、リモートサーバデバイスと通信することができる。インバウンド通知の提供の適応は、ポータブルコンピューティングデバイス、リモートサーバデバイス、および/または車両コンピューティングデバイスにおいて実施され得る。たとえば、ポータブルコンピューティングデバイスおよび/または車両コンピューティングデバイスは、ユーザへの通知の提供を選択的に抑制することと関与する処理のすべてまたは側面を実施し、(たとえば、ネットワーク停止のために)リモートサーバデバイスが利用可能でないときでも、そのような処理が実施されることを可能にすることができる。
【０００６】
いくつかの実装形態では、ポータブルコンピューティングデバイスは、最初に、通知のプロパティに従って通知をフィルタ処理することができ、次いで、残りの通知のすべてまたは側面をリモートサーバデバイスに送信する。これらおよび他の様式では、ポータブルコンピューティングデバイスの初期フィルタ処理を満たす通知のみが、リモートサーバデバイスに送信され、それにより、ネットワークリソースの消費を緩和する。リモートサーバデバイスは、次いで、残りの通知の各々を処理し、残りの通知の各々についてのスコアを決定することができる。スコアは、通知のコンテンツ(たとえば、自然言語コンテンツ)、通知に対応するメッセージのコンテンツ、通知に関連付けられたコンテキストデータ、ユーザに関連付けられた行動データ、および/あるいは通知の関連性または重要性をスコアリングするために使用され得る任意の他のデータに基づき得る。それらの実装形態のいくつかのバージョンでは、リモートサーバデバイスは、ポータブルコンピューティングデバイスにスコアを提供し、ポータブルコンピューティングデバイスがスコアを受信するとき、ポータブルコンピューティングデバイスは、ユーザに通知をどのように提示すべきか、および/またはいつ提示すべきかを決定するために、スコアを1つまたは複数のしきい値と比較することができる。たとえば、第1の通知のために提供されたスコアは、部分的な通知しきい値を満たし、それにより、ポータブルコンピューティングデバイスが、ディスプレイデバイス上にグラフィックとして通知を提示することを引き起こすことができる。この例を続けると、第2の通知のために提供されたスコアは、完全な通知しきい値を満たし、それにより、ポータブルコンピューティングデバイスが、ユーザが問合せに応答することを望むかどうかに関する問合せとともに可聴モダリティを通して通知を提示することを引き起こすことができる。さらにこの例を続けると、第3の通知のために提供されたスコアは通知しきい値を満たすことができず、それにより、ポータブルコンピューティングデバイスが、第3の通知に関係する任意のコンテンツの即時提供を抑制することを引き起こすことができる。それらの実装形態のいくつかの追加および/または代替のバージョンでは、リモートサーバデバイスは、スコアに基づいて、通知が提供されるべきであるかどうか、および/またはどのように提供されるべきであるかを決定し、ポータブルコンピューティングデバイスに、(たとえば、スコアの代わりに)通知が提供されるべきであるかどうか、および/またはどのように提供されるべきであるかの指示を提供する。ポータブルコンピューティングデバイスは、次いで、通知を提示すべきかどうか、および/またはどのように提示すべきかを決定する際に、通知が提供されるべきであるかどうか、および/またはどのように提供されるべきであるかの指示を使用することができる。
【０００７】
いくつかの実装形態では、通知は、自動アシスタントが通知に関連付けられたアプリケーションを識別することを可能にするハッシュを使用して制限され得る。自動アシスタントは、少なくとも部分的に、ポータブルコンピューティングデバイス上で、および/またはポータブルコンピューティングデバイスと通信して、実行していることがある。通知に関連付けられたアプリケーションを識別するためにハッシュを使用することは、自動アシスタントが、通知に関連付けられたアプリケーションに基づいて通知の提供に対処することを可能にすることができる。たとえば、自動アシスタントは、メッセージングアプリケーションに対応するハッシュをもつ通知の即時提供を可能にしながら、いくつかの他の通知(たとえば、販売、ゲームアプリケーション、航空運賃などに関する通知)に対応する通知の即時提供を抑制することができる。いくつかの実装形態では、インバウンド通知は、インバウンド通知を発信したアプリケーションの名前に基づくデータのストリングを含むデータパケット中に含まれ得る。データのストリングは、インバウンド通知が対応するアプリケーション、および/あるいはアプリケーションのスコアまたは優先度を決定するために、ハッシュのテーブルと比較され得る。
【０００８】
メッセージングアプリケーションに対応するインバウンド通知が、ポータブルコンピューティングデバイスまたは車両コンピューティングデバイスにおいて受信されたとき、自動アシスタントは、さらなる処理が、インバウンドメッセージまたはインバウンド通知に関して実施されることを引き起こすことができる。たとえば、他のコンテキストデータ(たとえば、ユーザのロケーション、ソースのロケーション、カレンダーデータ、ソースとユーザとの関係、関係する通知、および/または任意の他のデータ)と組み合わせられた、メッセージのコンテンツ(たとえば、タイトル、件名、本文、受信者、送信者など)が、ユーザにメッセージを通知すべきなのか、何らかのやり方で通知を制限すべきなのかを決定するために使用され得る。いくつかの実装形態では、通知は、ユーザが運転しているかどうか、または、ユーザが運転している間に邪魔されることを希望しないことをユーザが明示的に指示したかどうかに基づいて制限され得る。たとえば、自動アシスタントは、車両コンピューティングデバイスを通してアクセス可能であり得、車両コンピューティングデバイスは、ユーザから音声コマンドを受信することが可能なオーディオインターフェースを含むことができる。自動アシスタントが、通知が受信されたことを指示し始めるとき(たとえば、「カレンからメッセージを受信しました(You have received a message from Karen)。...しますか(Would you like...)。」)、ユーザは、自動アシスタントを中断し、ユーザが邪魔されるのを望まないことを指示することができる(たとえば、「今は邪魔をしないでください(Please don't disturb me right now)。」)。応答して、自動アシスタントは、場合によっては同様の状況下で提供されるであろう同様の通知を制限するために、ユーザによって提供される応答に関するコンテキストデータを集めることができる。
【０００９】
追加または代替として、自動アシスタントは、ソースからの通知を制限すべきかどうかに関してユーザに問い合わせるために、ソースのスコアリングを使用することができる。たとえば、比較的低いスコアリングのアプリケーション(たとえば、週1回など、ユーザがまれにアクセスするショッピングアプリケーション)から、複数の通知が受信されている場合、自動アシスタントは、ユーザが(たとえば、運転している間に)受信時にそれらの通知を受信することを望むかどうかに関して、ユーザに問い合わせることができる。ユーザが通知を受信することを望まないことをユーザが指示する場合、ソースのスコアリングは、ユーザの応答と、受信時において集められた任意のコンテキストデータ(たとえば、車両関係データ)とに基づいてさらに低減され得る。
【００１０】
ソーススコアリングは、1つまたは複数のプロセスによって実施され得る。いくつかの実装形態では、ソーススコアリングは、コンテキストスコアリングエンジンおよびスコア調整エンジンによって実施され得る。コンテキストスコアリングエンジンは、通知のためのベースとして自動アシスタントによって使用されているデータのソースをスコアリングするために、コンテキストデータを使用することができる。コンテキストスコアリングエンジンは、車両コンピューティングデバイス、ポータブルコンピューティングデバイス、および/またはリモートサーバデバイスのうちの1つまたは複数において動作することができる。たとえば、自動アシスタントは、少なくともリモートサーバデバイスにおいて動作していることがあり、コンテキストスコアリングエンジンは、ポータブルコンピューティングデバイスにおいて動作していることがある。ポータブルコンピューティングデバイスが、自動アシスタントから通知を受信するとき、コンテキストスコアリングエンジンは、コンテキストスコアリングエンジンがソースをどのようにスコアリングしているかに従って、ユーザに提供される通知を制限することができる。ソーススコアリングは、ポータブルコンピューティングデバイスにとって利用可能であるコンテキストデータおよび/またはユーザ行動データを使用して、コンテキストスコアリングエンジンにおいて確立および/または調整され得る。たとえば、少なくとも、ポータブルコンピューティングデバイスにおいて記憶された連絡先(contact)のリストに従って、ユーザの配偶者であるものとして指定されたソースが、連絡先のリスト中のたいていの他の連絡先よりも高くスコアリングされ得る。このようにして、注意散漫は、ユーザによって明示的に提供されたデータ、ならびに自動アシスタントによって収集された任意の他のコンテキストデータおよび/または行動データに従って緩和され得る。
【００１１】
ソーススコアリングは、さらに、コンテキストスコアリングエンジンと組み合わせて動作することができるスコア調整エンジンによって適応され得る。スコア調整エンジンは、自動アシスタントおよび/またはユーザが対話する任意の他のデバイスによって観測される、ユーザの学習された行動に従って、ソース(たとえば、人および/またはアプリケーション)のスコアを更新することができる。そのような学習された行動は、ユーザがソースにどのように応答するか、ユーザがソースから通知を受信することを選定するかどうか、ユーザとソースとの間の前の対話、ならびに/あるいはユーザおよび/またはソースに関連付けられ得る任意の他のアクションに基づき得る。たとえば、ユーザは、ユーザの車両を運転している間に特定の連絡先(すなわち、ソース)に電話をかけるように自動アシスタントに依頼していることがある。したがって、スコア調整エンジンは、通話中に車両を動作させながら特定の連絡先との通話に参加するユーザの意思に基づいて、特定の連絡先のスコアを増加させることができる。
【００１２】
いくつかの実装形態では、自動アシスタントは、自動アシスタントが、特定のソースのスコアリングが相応に調整されることを引き起こすことができるように、特定のソースの重要性についてユーザに明示的に尋ねることができる。たとえば、初めて、メッセージがアクティビティ(たとえば、運転)中に特定のソースから受信されるとき、自動アシスタントは、ユーザがメッセージのコンテンツを知ることを望むかどうかに関して、ユーザに問い合わせることができる(たとえば、「ナンシーからメッセージを受信しました(You received a message from Nancy)。メッセージを聞きますか?(Would you like to hear the message?)」)。ユーザが肯定的に応答する場合(たとえば、「聞きます(Sure)」)、特定のソースのスコアリングは、アクティビティ中にソースから通知を受信するための特定の通知しきい値を上回って設定され得る。ユーザが否定的に応答する場合(たとえば、「今は聞きません(Not right now)」)、特定のソースのスコアリングは、特定の通知しきい値を下回って設定され得、その結果、将来、ユーザは、ソースのスコアがそのしきい値を上回って増加するまで、ソースからのメッセージで気を散らされない。
【００１３】
ソースのスコアリングは、スコアリングが最初に特定のしきい値を下回って設定されるにもかかわらず、その特定のしきい値を超えるように変更され得る。たとえば、ユーザがユーザの車両を運転している間にユーザが新しい連絡先から着信メッセージに関する通知を受信し、ユーザがメッセージのコンテンツを受信することを断った場合、新しい連絡先のスコアは、通知しきい値を下回って設定され得る。その後、ユーザがユーザのカレンダー中にイベントを追加し、新しい連絡先がイベントの出席者として識別された場合、新しい連絡先のスコアは、スコア調整エンジンによって増加され得る。最終的に、新しい連絡先のスコアが通知しきい値に達するかまたはそれを超える場合、新しい連絡先からのメッセージに関する通知は、ユーザがアクティビティ(たとえば、運転)に参加している間、少なくともユーザがアクティビティに参加している間にそのような通知を受信することに対するユーザの回避を再び指示するまで、受信され得る。
【００１４】
いくつかの実装形態では、ソースのスコアリングは、ユーザがアクティビティに関与する直前のソースとユーザとの間の対話に基づき得る。たとえば、ソースとユーザとは、メッセージングアプリケーションを介して会話に参加することができ、会話が終わる前に、ユーザは、その後、ユーザの車両に入り、ロケーションまで運転することを決めることができる。運転中に、車両コンピューティングデバイス、またはユーザによって携帯されるポータブルコンピューティングデバイスが、メッセージがソースから受信されたことを指示する通知を受信した場合、ソースのスコアは、最近のコンテキストデータに基づいて調整され得る。最近のコンテキストデータは、ユーザとソースとの間の最も最近の会話の時間を識別し、したがって、会話が、ユーザが運転を開始した直前であったことを指示することができる。ソースのスコアの増加が、それらのスコアが通知しきい値を上回ることを引き起こす場合、ユーザは、ユーザの運転中に通知またはメッセージを受信することができる。しかしながら、スコアの増加が、スコアが通知しきい値を上回って増加することを引き起こさない場合、ユーザは、ユーザがユーザの運転を完了した後、またはユーザがアクティビティにあまり関与していない何らかの他の時間において、メッセージについて通知され得る。
【００１５】
通知の提供に対する制限は、完全な通知しきい値および/または部分的な通知しきい値など、1つまたは複数の通知しきい値に基づき得る。通知が、コンピューティングデバイス(たとえば、車両コンピューティングデバイスおよび/またはポータブルコンピューティングデバイス)に提供されるとき、通知に関連付けられた各ソースのスコアは、通知がユーザにどのように提示されなければならないかを決定するために、各しきい値と比較され得る。たとえば、コンテキストスコアリングエンジンは、最初に、完全な通知しきい値と部分的な通知しきい値の両方を下回るようにソースのスコアを確立することができる。その結果、ソースに関連付けられた通知は、ユーザが運転しているかまたは特定のアクティビティに関与する間、ユーザに提供されないであろう。ユーザからのおよび/または自動アシスタントによって収集される他のデータからの明示的命令の結果として、ソースのスコアが部分的な通知しきい値を超えて増加する場合、通知の少なくとも一部分、または通知に関連付けられたメッセージが、ユーザがアクティビティに関与する間、ユーザに提示され得る。ソースのスコアが完全な通知しきい値を超えてさらに増加する場合、通知全体、または通知に関連付けられたメッセージが、ユーザがアクティビティに関与する間、ユーザに提示され得る。
【００１６】
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される方法は、第1のコンピューティングデバイスにおいて、通知を、通知が基づくアプリケーションにアクセス可能であるリモートサーバデバイスから受信するステップなど、動作を含むものとして記載される。動作は、通知のうちの第1の通知の第1のソースと、通知のうちの第2の通知の第2のソースとを識別するステップをさらに含むことができる。第1のソースは、アプリケーションのうちの第1のアプリケーションを制御する第1のエンティティに対応することができ、第2のソースは、アプリケーションのうちの第2のアプリケーションを制御する第2のエンティティに対応することができる。動作は、第1のソースのための第1のスコアが通知しきい値を満たし、第2のソースのための第2のスコアが通知しきい値を満たすことができないと決定するステップをも含むことができる。第1のスコアは、第1のコンピューティングデバイスのユーザと第1のソースとの間の対話の第1の前のインスタンスに基づき得る。第2のスコアは、ユーザと第2のソースとの間の対話の第2の前のインスタンスに基づき得る。動作は、第2のコンピューティングデバイスから、第2のコンピューティングデバイスが参加しているアクティビティの1つまたは複数のプロパティに基づくコンテキストデータを受信するステップをも含むことができる。第2のコンピューティングデバイスは、いくつかの通知を、通知に関連付けられたソースのスコアに従って提供するように構成され得る。さらに、動作は、コンテキストデータに基づいて第2のスコアを変更するステップと、変更された第2のスコアが通知しきい値を満たすと決定するステップと、第2のコンピューティングデバイスが、第1のスコアおよび変更された第2のスコアが通知しきい値を満たすことに基づいて、第1の通知および第2の通知を提供することを引き起こすステップとを含むことができる。
【００１７】
第2のコンピューティングデバイスは、車両中に組み込まれ、第1のコンピューティングデバイスとペアにされた、車両コンピューティングデバイスであり得る。アクティビティは、車両コンピューティングデバイスを含む車両をナビゲートすることであり得る。コンテキストデータが基づき得る1つまたは複数のプロパティは、車両がどのようにナビゲートしているかを識別する。車両をナビゲートすることは、車両コンピューティングデバイスのオーディオインターフェースにおいて規定されるルートを通して車両をナビゲートすることを含むことができ、車両コンピューティングデバイスは、通知しきい値を満たす第3のスコアに対応するナビゲーションアプリケーションを含むことができる。アクティビティに基づいて第2のスコアを変更するステップは、さらに、第2のコンピューティングデバイスがアクティビティに参加することを中止するまで、第2のスコアが一時的に通知しきい値を満たすことを引き起こすことができる。通知しきい値は、第1の通知および第2の通知がそれを通して提供される特定のモダリティに関連付けられ得る。特定のモダリティは、オーディオモダリティとビジュアルモダリティの一方または両方を含むことができる。
【００１８】
他の実装形態では、1つまたは複数のプロセッサによって実装される方法は、ユーザによるアクティビティの実施中にユーザのクライアントコンピューティングデバイスにおいて、通知を受信するステップと、クライアントコンピューティングデバイスにおいて、通知のソースを識別するステップとを含むものとして記載される。動作は、クライアントコンピューティングデバイスにおいて、および通知のソースに基づいて、通知が、アクティビティの実施中にユーザに提供するための候補であると決定するステップをも含むことができる。動作は、通知がアクティビティの実施中にユーザに提供するための候補であるという決定に応答して、クライアントコンピューティングデバイスによって、リモートサーバデバイスに、通知に基づく通知データを送信するステップと、送信に応答して、リモートサーバデバイスから、通知を提供すべきかどうかを指示する提供データを受信するステップと、クライアントコンピューティングデバイスによって、および提供データに基づいて、通知に基づく通知コンテンツがアクティビティ中にユーザに提供されることを引き起こすステップとをさらに含むことができる。通知コンテンツが提供されることを引き起こすステップは、通知コンテンツが、クライアントコンピューティングデバイスと、クライアントデバイスとペアにされた追加のコンピューティングデバイスとのうちの少なくとも1つを介して提供されることを引き起こすステップを含むことができる。いくつかの実装形態では、動作は、アクティビティの実施中にクライアントコンピューティングデバイスにおいて、追加の通知を受信するステップと、クライアントコンピューティングデバイスにおいて、追加の通知の追加のソースを識別するステップとを含むことができる。動作は、クライアントコンピューティングデバイスにおいて、および追加の通知の追加のソースに基づいて、追加の通知が、アクティビティ中にユーザに提供するための候補でないと決定するステップをも含むことができる。動作は、通知がユーザに提供するための候補でないと決定したことに基づいて、リモートサーバへの追加の通知データの送信を抑制するステップであって、追加の通知データが追加の通知に基づく、抑制するステップと、アクティビティ中に追加の通知の提供を抑制するステップとをも含むことができる。リモートサーバデバイスに通知データを送信するステップは、クライアントデバイスにおいて、ユーザがアクティビティに関与していると決定することにさらに基づき得る。
【００１９】
送信に応答してリモートサーバデバイスから受信された提供データは、通知をそれを介して提供すべき特定のモダリティをさらに指示することができる。通知コンテンツが提供されることを引き起こすステップは、提供データが特定のモダリティを指示することに基づいて、通知コンテンツが特定のモダリティを介して提供されることを引き起こすステップを含むことができる。特定のモダリティは、オーディオのみのモダリティ、グラフィックのみのモダリティ、および組み合わせられたオーディオとグラフィックとのモダリティのうちの1つであり得る。特定のモダリティは、通知コンテンツが、クライアントコンピューティングデバイスのみを介して提供されるべきであるのか、追加のコンピューティングデバイスのみを介して提供されるべきであるのか、クライアントコンピューティングデバイスと追加のコンピューティングデバイスの両方を介して提供されるべきであるのかを指示することができる。アクティビティは車両に関係付けられ得、追加のコンピューティングデバイスは車両と一体であり得る。さらに、通知コンテンツが提供されることを引き起こすステップは、クライアントデバイスによって、追加のコンピューティングデバイスが通知コンテンツを提供することを引き起こすように追加のコンピューティングデバイスを制御するステップを含むことができる。通知は、ソースからのメッセージであり得、ソースによって構築された自然言語コンテンツを含む。さらに、クライアントコンピューティングデバイスにおいて、通知がユーザに提供するための候補であると決定するステップは、通知のソースに基づき得、自然言語コンテンツとは無関係であり得る。提供データは、自然言語コンテンツに基づいてリモートサーバデバイスにおいて決定され得る。通知コンテンツは、通知のサブセットまたは通知の書き直しを含むことができ、リモートサーバデバイスから受信された提供データは、通知コンテンツをさらに含む。提供データは通知のためのスコアを含むことができ、提供データに基づいて通知データが提供されることを引き起こすステップは、スコアがしきい値を満たすことに基づいて、通知データが提供されることを引き起こすステップを含むことができる。
【００２０】
また他の実装形態では、1つまたは複数のプロセッサによって実装される方法は、参加者間のメッセージングセッション中で1つまたは複数のアクティビティ前メッセージ(pre-activity message)を受信するステップなど、動作を含むものとして記載される。参加者は、ユーザと1人または複数の追加のユーザとを含むことができる。参加者の各々は、対応するコンピューティングデバイスの対応するメッセージングアプリケーションを使用してメッセージングセッションに関与することができる。アクティビティ前メッセージは、ユーザが特定のアクティビティに関与することより前に受信され得る。動作は、1つまたは複数のアクティビティ前メッセージを受信した後に、ユーザが特定のアクティビティに関与すると決定するステップと、ユーザが特定のアクティビティに関与するという決定に応答して、ユーザへの電子通知の提供を選択的に抑制する変更された通知モードをアクティブにするステップとをも含むことができる。動作は、ユーザが特定のアクティビティに関与する間、および変更された通知モードがアクティブにされる間、1人または複数の追加のユーザのうちの1人によってメッセージングセッション中で提供される追加のメッセージを受信するステップをさらに含むことができる。動作は、1つまたは複数のアクティビティ前メッセージの最近性(recency)と、1つまたは複数のアクティビティ前メッセージの量とのうちの少なくとも1つに基づいて、追加のメッセージのためのスコアを決定するステップをも含むことができる。さらに、動作は、スコアに基づいて、追加のメッセージに基づき得るコンテンツがユーザの少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップを含むことができる。
【００２１】
スコアに基づいて、コンテンツが少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップは、スコアに基づいて、コンテンツを抑制する代わりにコンテンツを提供することを決定するステップを含むことができる。スコアに基づいて、コンテンツが少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップは、スコアに基づいて、コンピューティングデバイス、またはコンテンツのレンダリングのためのモダリティを選択するステップを含むことができる。本方法は、ユーザが特定のアクティビティに関与する間、および変更された通知モードがアクティブにされる間、メッセージングセッションの一部でない追加の通知を受信するステップを含むことができる。
【００２２】
本方法は、追加の通知のソースに基づいて追加の通知のための追加のスコアを決定するステップと、追加のスコアに基づいて、追加の通知に基づく任意の追加のコンテンツの、ユーザへの提供を抑制するステップとをも含むことができる。スコアは、ユーザが、以前アクティビティに関与した間に参加者から前の通知を前に受信したときの、インスタンスを識別する対話データを使用しても生成され得る。スコアに基づいて、追加のメッセージに基づき得るコンテンツが、ユーザの少なくとも1つのコンピューティングデバイスを介してレンダリングされることを引き起こすステップは、コンテンツが可聴的にレンダリングされることを引き起こすステップを含む。本方法は、ユーザが特定のアクティビティに関与する間、および変更された通知モードがアクティブにされる間、メッセージングセッションの一部でない追加の通知を受信するステップをさらに含むことができる。さらに、本方法は、追加の通知のソースに基づいて追加の通知のための追加のスコアを決定するステップと、追加のスコアに基づいて、追加の通知に基づく追加のコンテンツが、同時に可聴的にレンダリングされることなしに、少なくとも1つのコンピューティングデバイスを介してグラフィカルにレンダリングされることを引き起こすステップとを含むことができる。
【００２３】
本明細書で開示される様々な実装形態は、本明細書で説明される方法のうちの1つまたは複数などの方法を実施するために、プロセッサ(たとえば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU))によって実行可能な命令を記憶する、1つまたは複数の一時的または非一時的コンピュータ可読記憶媒体を含み得る。また他の様々な実装形態は、本明細書で説明される方法のうちの1つまたは複数などの方法を実施するために、記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む、1つまたは複数のコンピュータのシステムを含み得る。
【００２４】
本明細書でより詳細に説明される上記の概念と追加の概念とのすべての組合せが、本明細書で開示される主題の一部であるものとして企図されることを諒解されたい。たとえば、本開示の最後に現れる請求される主題のすべての組合せは、本明細書で開示される主題の一部であるものとして企図される。
【図面の簡単な説明】
【００２５】
【図１】通知および/または通知のソースのために生成されたスコアに従って、ユーザに提供される通知を制限するためのシステムを示す図である。
【図２】ユーザについての注意散漫を低減するために通知スコアがどのように適応され得るかを示す状態図である。
【図３】通知のソースに割り当てられたスコアに従って、ユーザに提供される通知を制限するための方法を示す図である。
【図４】リモートデバイスにおいて少なくとも部分的に生成されるスコアデータに基づいて、通知を通知のサブセットに制限するための方法を示す図である。
【図５】ユーザによって経験される注意散漫を低減するために、少なくとも、ユーザが参加している1つまたは複数のアクティビティに従って、通知のソースのためのスコアを動的に変更するための方法を示す図である。
【図６】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２６】
図1は、通知および/または通知のソースのために生成されたスコアに従って、ユーザに提供される通知を制限するためのシステム100を示す。システム100は、自動アシスタント104をホストすることができる、サーバデバイス102など、リモートデバイス114を含むことができる。いくつかの実装形態では、自動アシスタント104は、サーバデバイス102、および/またはアシスタントアプリケーションをホストすることが可能な1つまたは複数のコンピューティングデバイスにおいてホストされ得る。たとえば、いくつかの実装形態では、自動アシスタント104は、パーソナルコンピューティングデバイス118、車両コンピューティングデバイス134、および/またはリモートデバイス114においてホストされ得る。自動アシスタント104によって実施されるプロセスおよび/または機能は、サーバデバイス102によって実施されるか、または別個のデバイスにわたって分散され得る。たとえば、ユーザは、パーソナルコンピューティングデバイス118のアシスタントインターフェースにおいて、音声コマンドまたはテキスト入力など、入力を提供することができる。ユーザからの入力は、パーソナルコンピューティングデバイス118から、プライベートネットワーク(たとえば、ピアツーピア)または公衆ネットワーク(たとえば、インターネット)など、ネットワーク116を介して、サーバデバイス102に送信され得る。入力が、音声コマンド、またはユーザからの他の可聴入力であるとき、入力は、自動アシスタント104の一部であるか、または自動アシスタント104とは別個であり得る、音声からテキストへのエンジン(voice to text engine)108において受信され得る。音声からテキストへのエンジン108は、入力をテキストに変換することができ、このテキストは、自動アシスタント104がユーザからの入力にどのようにして十分に応答することができるかを決定するために、自動アシスタント104によってパースされ得る。
【００２７】
1人または複数のユーザと自動アシスタント104との間の対話が、アシスタント対話データ106として記憶され得る。アシスタント対話データ106は、たとえば、1人または複数のユーザから受信された1つまたは複数の入力と、自動アシスタント104から生成された1つまたは複数の応答とを識別する、対応データを提供することができる。自動アシスタント104は、ユーザ要求、選好、および/またはユーザが場合によってはどのように自動アシスタント104と対話するかを、学習するかまたは場合によっては適応するための、1つまたは複数の機械学習アルゴリズムを採用することができる。いくつかの実装形態では、サーバデバイス102および/または自動アシスタント104は、サーバスコアリングエンジン110を含むことができる。サーバスコアリングエンジン110は、ユーザによって受信されるべき通知112のソースのためのスコアを決定するかまたは場合によっては推定することが可能なアプリケーション、スクリプト、および/または他の実行可能データであり得る。
【００２８】
通知は、サーバデバイス102において生成され、ならびに/あるいは別個のデバイスおよび/またはアプリケーションから、サーバデバイス102またはパーソナルコンピューティングデバイス118に提供され得る。たとえば、別個のサーバデバイスからのデータは、サーバデバイス102、パーソナルコンピューティングデバイス118、および/または自動アシスタント104が、通知112を受信または生成することを引き起こすことができる。さらに、別のユーザ140によって動作させられる、ポータブルコンピューティングデバイス142など、他のデバイスからのデータも、サーバデバイス102、パーソナルコンピューティングデバイス118、および/または自動アシスタント104が、通知112を受信または生成することを引き起こすことができる。このようにして、複数の異なるソース(たとえば、人または機械)からの複数の異なるアプリケーションは、通知112が、システム100において提供されるデバイスのいずれかに記憶されることを引き起こすことができる。
【００２９】
いくつかの実装形態では、システム100は、車両コンピューティングデバイス134などの車両装置130を含むことができ、車両装置130は、車両132の一部であり、パーソナルコンピューティングデバイス118および/またはサーバデバイス102と通信していることがある。たとえば、他のユーザ140は、メッセージが、他のユーザ140のポータブルコンピューティングデバイス142上のメッセージングアプリケーションから、車両コンピューティングデバイス134および/またはパーソナルコンピューティングデバイス118に送信されることを引き起こすことができる。最初に、他のユーザ140がネットワーク116を介してメッセージを送るとき、自動アシスタント104は、メッセージ送信に気づいており、通知112を生成することができる。たとえば、自動アシスタント104は、ユーザに関連付けられたメッセージングアプリケーションと通信していることがあり、ユーザのメッセージングアプリケーションは、他のユーザ140からのメッセージの受信に関して自動アシスタント104に指示を提供することができる。代替的に、ポータブルコンピューティングデバイス142から送信されたメッセージは、ネットワークキャリアによってネットワーク116を介してパーソナルコンピューティングデバイス118に送信され得、パーソナルコンピューティングデバイス118は、自動アシスタント104と通信しているアシスタントアプリケーション120を含むことができる。パーソナルコンピューティングデバイス118は、受信されたメッセージに関する通知122を生成し、メッセージが他のユーザ140から受信されたという指示を、サーバデバイス102における自動アシスタント104に提供することができる。パーソナルコンピューティングデバイス118はまた、車両コンピューティングデバイス134の車両アプリケーション138、オーディオインターフェース、および/またはディスプレイインターフェースにおける提示のために、車両コンピューティングデバイス134に通知を提供することができる。しかしながら、運転しているかまたは他のアクティビティを実施している間、通知の提示は、ユーザにとって気を散らすものであり得るので、通知は、通知のいくつかのプロパティに従って制限され得る。
【００３０】
たとえば、ルートに沿って車両132をナビゲートしている間、パーソナルコンピューティングデバイス118におけるナビゲーションアプリケーションが、ルートナビゲーション中に行うべき様々な方向転換に関する可聴命令を提供することができる。パーソナルコンピューティングデバイス118において動作するクライアントスコアリングエンジン124は、ユーザが経験する注意散漫の量を制限するために、通知または通知のソースをフィルタ処理および/またはスコアリングすることができる。通知のソースはナビゲーションアプリケーションを含むことができ、ナビゲーションアプリケーションは1つまたは複数のしきい値を満たすようにスコアリングされ得、その結果、1つまたは複数のしきい値は、ナビゲーションアプリケーションからの通知が、運転している間にユーザに提示されることを可能にする。ナビゲーションアプリケーションのスコアリングは、ユーザが、ユーザの車両を運転している間にアプリケーションを開いたということ、または、ユーザが、(たとえば、任意の好適なワイヤードまたはワイヤレス通信プロトコルを介して、ユーザのパーソナルコンピューティングデバイス118と車両コンピューティングデバイスとの間の通信リンクまたは通信セッションを確立することによって)ユーザのパーソナルコンピューティングデバイス118を車両コンピューティングデバイス134とペアリングしたということに基づき得る。代替的に、1つまたは複数のしきい値を満たすためのナビゲーションアプリケーションのスコアリングは、コンテキストデータ136に基づき得、コンテキストデータ136は、車両の動作、車両の環境、ユーザが車両内で関与している他のアクティビティ、車両132においてアクセスされている他の車両アプリケーション138、および/またはユーザによって実施されているアクティビティに関係する任意の他の情報に関する情報を提供することができる。
【００３１】
通知の特定のソースに割り当てられたスコアは、コンテキストデータ136に従って変更され得る。たとえば、ナビゲーションアプリケーションのためのスコアは、車両132が動いていることをコンテキストデータ136が指示するとき、増加され得る。さらに、ナビゲーションに関係しないアプリケーションに割り当てられたスコアは、車両132が動いており、および/またはしきい値速度に達したことをコンテキストデータ136が指示したことの結果として、クライアントスコアリングエンジン124によって減少され得る。
【００３２】
いくつかの事例では、複数の異なるソースからの通知122が、パーソナルコンピューティングデバイス118において受信され得、クライアントスコアリングエンジン124は、ソースの総数よりも少ないもののためのスコアのみが通知しきい値を満たすように、ソースをスコアリングすることができる。たとえば、通知122は、(たとえば、ポータブルコンピューティングデバイス142上のメッセージングアプリケーションなどの)メッセージングアプリケーションとゲームアプリケーションとによって提供されるデータに少なくとも部分的に基づき得る。クライアントスコアリングエンジン124は、スコアが通知しきい値を満たすように、メッセージングアプリケーション、および/またはメッセージングアプリケーションを使用するメッセージのソースをスコアリングすることができる。さらに、クライアントスコアリングエンジン124は、ゲームアプリケーションのためのスコアが通知しきい値を満たすことができないように、ゲームアプリケーションをスコアリングすることができる。その結果、通知しきい値を満たすスコアを有するソースが、通知のサブセットをなす通知に関連付けられ得る。通知のサブセットは、その後、パーソナルコンピューティングデバイス118など、コンピューティングデバイス128のインターフェース126を介してユーザに提示されるか、またはさらなる処理のためにサーバデバイス102に提供され得る。
【００３３】
いくつかの実装形態では、通知のサブセットに対応する通知データは、さらなる処理のために、自動アシスタント104および/またはサーバスコアリングエンジン110に提供され得る。詳細には、サーバスコアリングエンジン110は、通知のサブセット中の各通知の各ソースのためのスコアを提供することができる。たとえば、サーバスコアリングエンジン110は、ユーザが運転している間にだれと会話をし、ユーザが運転している間にだれに応答することを断ったかの指示を提供することができる、アシスタント対話データ106にアクセスすることができる。サーバスコアリングエンジン110は、アシスタント対話データ106を使用して、ユーザが、前に、運転している間にメッセージを受信することを選択したソースのスコアを増加させ、ユーザが、前に、運転している間にメッセージを受信することを断った別個のソースのスコアを減少させることができる。代替または追加として、ソースのためのスコアは、ソースの関係(たとえば、配偶者、家族、知人、同僚など)に基づき得る。たとえば、ユーザの配偶者に対応するソースは、ユーザの友人に対応する別個のソースよりも高いスコアを割り当てられ得る。代替または追加として、少なくとも、自動アシスタント104にとってアクセス可能であるカレンダーデータに従って、ユーザがそこに向かって運転しているイベントへの出席者であるソースが、出席者として識別されない別個のソースよりも高いスコアを割り当てられ得る。
【００３４】
通知のサブセットに対応するソースのためのスコアが、パーソナルコンピューティングデバイス118に送信され得、パーソナルコンピューティングデバイス118は、そのスコアを、パーソナルコンピューティングデバイス118によって記憶された通知しきい値、または場合によってはパーソナルコンピューティングデバイス118にとってアクセス可能な通知しきい値と比較することができる。通知しきい値を満たすスコアを有するソースに対応するメッセージは、その後、パーソナルコンピューティングデバイス118において、および/または車両コンピューティングデバイス134において、ユーザに提示され得る。通知しきい値を満たすことができないスコアを有するソースに対応する他のメッセージは、少なくとも後続の状況下でそのソースのためのスコアが通知しきい値を満たすまで、ユーザに提示されることを保留され得る。
【００３５】
いくつかの実装形態では、ソースのためのスコアは、パーソナルコンピューティングデバイス118によって記憶された複数の異なる通知しきい値、または場合によってはパーソナルコンピューティングデバイス118にとってアクセス可能な複数の異なる通知しきい値と比較され得る。たとえば、スコアは完全な通知しきい値と比較され得、スコアが完全な通知しきい値を満たすとき、スコアを割り当てられたソースに対応する通知は、全部そろった完全な形態で提示され得る。たとえば、通知がテキストメッセージに関連付けられる場合、アシスタントアプリケーション120は、テキストメッセージが可聴的にまたは視覚的にユーザに提示されることを引き起こすことができる。さらに、いくつかの実装形態では、スコアが完全な通知しきい値を満たし、通知がテキストメッセージに関連付けられる場合、アシスタントアプリケーション120は、テキストメッセージに応答するためのオプションを提示され得る。他の実装形態では、通知しきい値は、部分的な通知しきい値を含むことができ、スコアが部分的な通知しきい値を満たすとき、スコアを割り当てられたソースに対応する通知が、ユーザに部分的に提示され得る。たとえば、通知が電子メールに関連付けられる場合、アシスタントアプリケーション120は、電子メールの件名行が可聴的にまたは視覚的にユーザに提示されることを引き起こすことができる。代替的に、電子メールのソースのためのスコアが、部分的な通知しきい値を満たす場合、アシスタントアプリケーション120は、ユーザが運転している間、注意散漫を緩和するために、パーソナルコンピューティングデバイス118および/または車両コンピューティングデバイス134において、グラフィックが表示されることを引き起こすことができる。
【００３６】
いくつかの実装形態では、他のユーザ140は、自動アシスタントをも含むか、または自動アシスタントにとってアクセス可能である、ポータブルコンピューティングデバイス142を動作させることができる。ユーザが車両132を運転している間に他のユーザ140にメッセージを送るとき、ユーザのためのスコアが、クライアントスコアリングエンジン124および/またはサーバスコアリングエンジン110によって設定され得る。ユーザのためのスコアは、少なくとも、ユーザが車両132を運転していることを指示するコンテキストデータ136に基づいて、1つまたは複数の通知しきい値を下回って設定され得る。そのようなスコアリングは、運転している間に人々からメッセージを受信しないために、それらのポータブルコンピューティングデバイス142における選好の選択に応答して実施され得る。このようにして、他のユーザ140は、ユーザが運転している間にユーザからメッセージを受信していないことになるので、ユーザは、少なくともユーザが運転を終えるまで、他のユーザ140から応答メッセージを受信しないことになる。いくつかの実装形態では、他のユーザ140に関連付けられたアシスタントアプリケーションは、自動アシスタント104に他のユーザ140のこの選好を通信することができ、自動アシスタント104は、他のユーザ140の選好をユーザに気づかせることができる。これは、運転している間にユーザが送っているメッセージが、運転しているユーザが運転を終えるまで、他のユーザ140によって実際は受信されないことにユーザが気づくことになるので、運転している間にユーザがテキストメッセージを送信し(text)ないようにさらに促すことができる。
【００３７】
図2は、ユーザについての注意散漫を低減するために通知スコアがどのように適応され得るかを示す状態図200を含む。状態図200は、パーソナルコンピューティングデバイス、サーバコンピューティングデバイス、および/または通知を処理することが可能な任意の他のコンピューティングデバイスなど、1つまたは複数のコンピューティングデバイスにおいて実行する、1つまたは複数のプロセスとして具現され得る。状態図200は、第1のユーザ204および第2のユーザ208が、ユーザのそれぞれのスコアデータが動的に変化することを引き起こす通信にどのように参加することができるかを示す。詳細には、スコアデータは、少なくとも、第1のユーザ204および第2のユーザ208のうちの1人がアクティビティに参加しているとき、第1のユーザ204および/または第2のユーザ208によって経験される注意散漫を低減するために調整され得る。これは、極めて重要な通信がユーザに送信され、あまり重要でない通信が、遅延されるか、省略されるか、あるいは場合によってはあまり気を散らさないフォーマットまたはモダリティにおいてユーザに提示されることを可能にすることができる。
【００３８】
状態図200はリモートデバイス202を含み、リモートデバイス202は、アシスタントアプリケーション、および/または通知を処理することが可能な任意の他のアプリケーション(たとえば、スコアリングエンジン)をホストするサーバデバイスであり得る。リモートデバイス202は、第1のユーザ204によって動作させられる第1のコンピューティングデバイス206、ならびに第2のユーザ208によって動作させられる第2のコンピューティングデバイス210と通信していることがある。リモートデバイス202、第1のコンピューティングデバイス206、および第2のコンピューティングデバイス210の各々は、スコアを生成および/または変更することができ、スコアは、データのソースを、ユーザに通知を提供するためのベースとなるのに十分に関連するものまたは重要であるものと見なすために使用され得る。状態図200は、特定の状況が第1のユーザ204および第2のユーザ208に影響を及ぼすことの結果としてソースのスコアが変更される、例示的なシナリオを提供する。
【００３９】
第2のユーザ208は、最初に、第2のコンピューティングデバイス210に連絡先情報212を入力することができる。連絡先情報212は、リモートデバイス202に送信され得、リモートデバイス202は、連絡先情報212において提供されたデータおよび/または第2のユーザ208に関連付けられた任意の他のデータに基づいて、連絡先情報212に対応するソースをスコアリングすることができる。たとえば、連絡先情報212は、第2のユーザ208が前に電子通信を介して対応した同僚に関連付けられ得る。第2のユーザ208は、同僚に紹介された後に、第2のコンピューティングデバイス210およびリモートデバイス202に連絡先情報212を追加することができる。その後、状態図200において提供されるように、同僚であり得る第1のユーザ204は、第2のユーザ208にメッセージ214を送ることができる。
【００４０】
メッセージ214は、第2のコンピューティングデバイス210および/またはリモートデバイス202によって受信され得る。しかしながら、第2のユーザ208がメッセージ214を受信する状況に応じて、第2のユーザ208は、第1のユーザ204に対応するスコアが通知しきい値を満たすまで、メッセージ214を通知されないことがある。いくつかの実装形態では、第2のコンピューティングデバイス210は、第1のユーザ204に関連付けられたスコアデータを生成することができる。他の実装形態では、メッセージ214は、最初に、第2のコンピューティングデバイス210において受信され得、第2のコンピューティングデバイス210は、リモートデバイス202に通知データ216を提供することができる。
【００４１】
通知データ216は、メッセージ214のソース、および/またはメッセージのコンテキストに関係する任意の他のデータをリモートデバイス202が識別することができるように、リモートデバイス202によって処理され得る。たとえば、リモートデバイス202は、対話データを決定する218ために通知データ216を処理することができる。対話データ218は、第1のユーザ204と第2のユーザ208とが対話したか、または場合によっては通信した、前のインスタンスを識別または説明することができる。対話データ218は、カレンダーデータ、ロケーションデータ、ソーシャルネットワークデータ、メッセージデータ、通話データ、購入データなど、第1のユーザ204に関連付けられた他のデータ、および/または情報のソースに関連付けられ得る任意の他のデータをも識別することができる。通知データ216は、リモートデバイス202が第1のスコアデータ220を生成するためのベースとして使用され得、第1のスコアデータ220は、リモートデバイス202から第1のコンピューティングデバイス10に送信され得る。第1のコンピューティングデバイス206は、第1のスコアデータを変更する222プロセスを実施することができる。変更された第1のスコアデータ222は、第1のスコアデータ220および/または第1のコンピューティングデバイス206にとって利用可能な任意の他の情報に基づき得る。たとえば、第1のコンピューティングデバイス206は、第2のユーザ208がアクセスしている1つまたは複数のアプリケーションに気づいていることがあり、第1のスコアデータは、第2のユーザ208が使用しているアプリケーションのタイプに従って変更され得る。
【００４２】
変更された第1のスコアデータ222は、第2のユーザ208にメッセージ214に関する通知を提示すべきかどうかを決定するために、1つまたは複数の通知しきい値と比較され得る。変更された第1のスコアデータ222が、通知しきい値を満たす場合、メッセージ214に関する通知は、第2のコンピューティングデバイス210および/または第2のユーザ208に関連付けられた別個のコンピューティングデバイスにおいて提示され得る(すなわち、通知を提示する224)。変更された第1のスコアデータ222が、通知しきい値を満たさない場合、通知は、別の時間において、異なるフォーマットにおいて、異なるモダリティにおいて提供されるか、または完全に省略され得る。
【００４３】
第2のユーザ208がメッセージ214に関する通知を受信した場合、第2のユーザ208は、第1のユーザ204に応答メッセージ226を送ることができる。詳細には、第2のユーザ208は、自動アシスタントに、第1のユーザ204に応答メッセージ226を提供するように指示することができる。自動アシスタントがリモートデバイス202においてホストされるとき、リモートデバイス202は、第2のユーザ208が第1のユーザ204に応答する記録を有することになる。応答メッセージ226が送られたとき、第2のユーザ208がアクティビティを実施していた場合、自動アシスタントは、第1のスコアデータを変更する228プロセスを実施することができる。詳細には、自動アシスタントは、アクティビティ中に第1のユーザ204と通信しようという第2のユーザ208の意思を反映するように、第1のスコアデータを変更する228ことができる。たとえば、第2のユーザ208が、アクティビティに関与し、第1のユーザ204からメッセージを受信するとき、少なくとも、第1のスコアがどれくらい高いかに基づいて、第1のコンピューティングデバイス206が第1のユーザ204にメッセージを提示することができるように、第1のスコアは増加され得る。
【００４４】
応答メッセージ226の受信に応答して、第1のコンピューティングデバイス206は、リモートデバイス202に通知データ230を提供することができる。リモートデバイス202は、第2のユーザ208のアクティビティを決定する234プロセスを実施することができる。リモートデバイス202は、第2のスコアデータ232を提供するために、第2のユーザ208によって実施されているアクティビティに関係する任意のデータとともに通知データ230を処理することができる。いくつかの実装形態では、第2のスコアデータ232は、第1のユーザ204と第2のユーザ208との間の関係に基づき得る。他の実装形態では、第2のスコアデータ232は、応答メッセージ226のコンテンツを識別するデータ、および/または第2のユーザ208に関係する任意の他のデータとともに、第2のユーザ208の選好に基づき得る。
【００４５】
第2のスコアデータ232が、第1のユーザ204に関連付けられた通知しきい値を満たすとき、第1のコンピューティングデバイス206は、通知を提示する236プロセスを実施することができる。第1のユーザ204は、次いで、第2のユーザ208に応答メッセージ238を提供することができる。リモートデバイス202は、応答メッセージ238に確認応答し、第2のスコアデータを変更する240プロセスを実施することができる。アクティビティに参加している第2のユーザが第1のユーザ204と特定の関係を有すること、ならびに/あるいは第2のユーザ208および第1のユーザ204に関係する任意の他の状況または情報に鑑みて、第2のスコアデータを変更する240ことによって、第2のスコアデータ240は、第2のユーザ208と通信しようという第1のユーザ204の意思を反映することができる。
【００４６】
図3は、通知のソースに割り当てられたスコアに従って、ユーザに提供される通知を制限するための方法300を示す。方法300は、1つまたは複数のコンピューティングデバイス、および/あるいは人または機械によって受信されるべき通知を処理することが可能な任意の他の装置によって実施され得る。方法300は、第1のコンピューティングデバイスにおいて、通知を、通知が基づくアプリケーションにアクセス可能であるリモートサーバデバイスから受信する動作302を含むことができる。第1のコンピューティングデバイスは、たとえば、自動アシスタントインターフェースを介して自動アシスタントアプリケーションと対話するための、自動アシスタントインターフェースを含むセルラーフォンであり得る。さらに、リモートサーバデバイスにアクセス可能なアプリケーションは、メッセージングアプリケーション、ゲームアプリケーション、メディアアプリケーション、ネットワークアプリケーション、フィットネスアプリケーション、ナビゲーションアプリケーション、および/またはコンピューティングデバイスにおいて動作することができる任意の他のアプリケーションであり得る。
【００４７】
方法300は、通知のうちの第1の通知の第1のソースと、通知のうちの第2の通知の第2のソースとを識別する動作304をさらに含むことができる。第1のソースと第2のソースとは、複数のアプリケーションのうちのあるアプリケーションを各々制御する別個のエンティティに対応することができる。たとえば、第1のソースは、第1のコンピューティングデバイスにとってアクセス可能である連絡先リストによって指示された、ユーザの配偶者である人に対応することができる。第2のソースはユーザの同僚に対応することができる。いくつかの実装形態では、第1のソースと第2のソースとは、各々、通知に関連付けられたデータをリモートサーバデバイスに通信する別個のサーバに関連付けられ得る。
【００４８】
さらに、方法300は、第1のソースのための第1のスコアが通知しきい値を満たし、第2のソースのための第2のスコアが通知しきい値を満たすことができないと決定する動作306を含むことができる。通知しきい値は、第1のコンピューティングデバイスによって記憶されるか、または場合によっては第1のコンピューティングデバイスにとってアクセス可能であり得る。通知しきい値は、通知がユーザにどのように提供されるかに関連付けられ得る。さらに、通知しきい値は、通知の対応するスコアまたは通知の対応するソースのスコアに従って通知をフィルタ処理するために使用され得る、複数の異なる通知しきい値のうちの1つであり得る。たとえば、動作306の通知しきい値は、ソースがだれであるか、またはソースがどんなアプリケーションに関連付けられるかに従って、最初にソースをフィルタ処理するために提供され得る。通知しきい値を満たすソースのスコアは、その後、たとえば、対話データ、コンテキストデータ、および/またはソースに関連付けられ得る任意の他の情報など、他の基準に基づいて更新され得る。
【００４９】
さらに、方法300は、第2のコンピューティングデバイスから、第2のコンピューティングデバイスが参加しているアクティビティに関連付けられたコンテキストデータを受信する動作308を含むことができる。第2のコンピューティングデバイスは、車両の動作に関係するデータ、および車両が動作させられているコンテキストに関係する任意の他の情報を収集する、車両コンピューティングデバイスであり得る。たとえば、コンテキストデータは、車両速度、ルートデータ、気象データ、車両保守データ、乗客データ、および/またはコンピューティングデバイスのコンテキストから導出され得る任意の他のデータを含むことができる。いくつかの実装形態では、コンテキストデータは、車両上の1つまたは複数のセンサーからの信号、または車両コンピューティングデバイスと通信している1つまたは複数のリモートデバイスからの信号に基づき得る。たとえば、コンテキストデータは、車両コンピューティングデバイスにおいて動作するナビゲーションアプリケーションによって提供されるルートデータに対応することができる。ルートデータは、ルートのための目的地を、第2のソース(たとえば、同僚)に関連付けられた業務会議のロケーションであるものとして識別することができる。このようにして、コンテキストデータは、スコアをさらにどのように調整するかを決定するために、前に通知しきい値を満たしたスコアを有するソースと比較され得る。
【００５０】
方法300は、第2のスコアが通知しきい値を満たすことを引き起こすように、コンテキストデータに基づいて第2のスコアを変更する動作310を含むことができる。たとえば、第2のソースは同僚であり得、コンテキストデータによって識別された目的地は、業務会議のためのロケーションまたは他の業務関係のロケーションであり得る。したがって、第2のソースのためのスコアは、第2のソースとコンテキストデータとの関連性に基づいて調整され得る。このようにして、ソースのためのスコアは、通知のコンテキストが変化するとき、動的に変化することができる。いくつかの実装形態では、第2のスコアは、第2のスコアが通知しきい値を一時的に満たすように変更され得る。たとえば、コンテキストデータが、ユーザが目的地に到着したか、または、その後、到着後に目的地を離れたことを指示するとき、第2のスコアは、通知しきい値を満たさないように再び変更され得る。
【００５１】
方法300は、第2のコンピューティングデバイスが、第1のスコアおよび第2のスコアが通知しきい値を満たすことに基づいて、第1の通知および第2の通知を提供することを引き起こすか、またはそれらの通知を提供するように制御する、動作312をさらに含むことができる。いくつかの実装形態では、第2のコンピューティングデバイスが第1の通知および第2の通知を提供することを引き起こすことは、車両の第2のコンピューティングデバイスに接続されたディスプレイデバイスが、第1の通知および第2の通知に対応するグラフィックおよび/またはテキストを表示することを引き起こすことを含むことができる。
【００５２】
図4は、リモートデバイスにおいて少なくとも部分的に生成されるスコアデータに基づいて、通知を通知のサブセットに制限するための方法400を示す。方法400は、1つまたは複数のコンピューティングデバイス、および/あるいは人または機械によって受信されるべき通知を処理することが可能な任意の他の装置によって実施され得る。方法400は、クライアントデバイスにおいて、通知を、通知が基づくアプリケーションにアクセス可能であるリモートサーバデバイスから受信する動作402を含むことができる。通知は、複数の異なるアプリケーション、ウェブサービス、自動アシスタント、サードパーティエージェント、および/またはデバイスにデータを提供することが可能な任意の他のプログラムからのものであり得る。
【００５３】
方法400は、通知のソースを識別する動作404をさらに含むことができる。ソースは、アプリケーションを制御するエンティティに対応することができる。たとえば、アプリケーションは、メッセージングアプリケーションとサードパーティエージェントアプリケーションとを含むことができる。したがって、メッセージングアプリケーションおよびサードパーティエージェントアプリケーションを制御するソースは、1つまたは複数の人、デバイス、および/あるいはアプリケーションまたはデバイスを制御することが可能な任意の他のエンティティであり得る。ソースは、受信された通知に含まれるデータ、または場合によっては受信された通知に関連付けられたデータを使用して識別され得る。たとえば、データは、通知のソースの名前を決定するためにルックアップテーブルと比較され得るヘッダまたは他のストリングテキストを含むことができる。いくつかの実装形態では、ルックアップテーブルは、ソースのためのスコアのリストを含むか、またはそのリストに関連付けられ得る。スコアは、ユーザがソースと対話するとき、ならびに/あるいはユーザおよび/またはソースのコンテキストが経時的に変化するとき、経時的に変化する動的スコアを含むことができる。
【００５４】
方法400は、識別されたソース、および/またはユーザと通知のサブセットを発信した1つまたは複数の識別されたソースとの間の対話の1つまたは複数のインスタンスを指示する対話データに基づいて、通知のサブセットを決定する動作406をさらに含むことができる。たとえば、通知のサブセットは、メッセージングアプリケーションに対応するソースによって提供された通知に制限され得る。さらに、いくつかの実装形態では、通知のサブセットは、ユーザがメッセージングアプリケーションを介して頻繁に関与する人に対応するソースによって提供された通知に制限され得る。ユーザがだれと頻繁に関与するかに関する決定は、ソースに連絡するためにユーザがアシスタントアプリケーションをどのくらいの頻度で関与させるか、どのくらい最近にユーザがソースに連絡したかを追跡するアシスタント対話データ、ソースを識別する他のアプリケーションデータ、および/またはユーザがソースから通知を受信する意思がどれくらいあり得るかを決定するために使用され得る任意の他の情報に基づき得る。いくつかの実装形態では、通知のサブセットを決定することは、識別されたソースの識別情報に基づき得、通知のコンテンツとは無関係であり得る。
【００５５】
方法400は、リモートサーバデバイスに、通知のサブセットを識別する通知データを提供する動作408をも含むことができる。通知データは、通知のサブセットのソース、および/または通知のサブセットに関連付けられた任意の他のデータを識別することができる。たとえば、通知のサブセットが1つまたは複数のソースからのメッセージに関係する通知を含むとき、通知データは、メッセージからのコンテンツ、メッセージの他の受信者、メッセージ中の件名行、メッセージの受信時間および/または送信時間、ならびに/あるいはメッセージに関連付けられ得る任意の他のデータを含むことができる。
【００５６】
方法400は、リモートサーバデバイスから、(i)通知のサブセットの各通知、または(ii)通知のサブセットを発信した1つまたは複数のソースの各ソース、のためのスコアを指示するスコアデータを受信する動作410をさらに含むことができる。スコアデータは、各通知と、ユーザおよび/またはユーザの現在のコンテキストとの関連性を表すことができる。たとえば、通知のサブセットのうちの第1の通知のための第1のソースは、ユーザの配偶者に対応することができ、通知のサブセットのうちの第2の通知のための第2のソースは、ユーザがまれに通信する知人に対応することができる。したがって、少なくとも、リモートサーバデバイスにとって利用可能であるデータによって指示された、ユーザとのそれらの関係に基づいて、第1のソースは第2のスコアよりも高くスコアリングされ得る。クライアントデバイスは、最初に、通知のコンテンツ(たとえば、自然言語メッセージコンテンツ)とは無関係に、受信された通知から通知のサブセットを決定することができることに留意されたい。言い換えれば、クライアントデバイスは、最初に、ソースおよび/またはソースのためのスコアに基づいて通知のサブセットを生成するために、通知をフィルタ処理することができる。一方、リモートサーバデバイスは、通知のコンテンツに基づいてスコアデータを決定することができる。このようにして、クライアントデバイスにおいて計算リソースが節約され得るが、より広範な処理(たとえば、自然言語コンテンツの処理)はリモートサーバデバイスに任され得る。
【００５７】
さらに、方法400は、通知のサブセットのうちの1つまたは複数の通知が、スコアデータに基づいてユーザに提供されることを引き起こす動作412を含むことができる。いくつかの実装形態では、通知がそこにおいて提供されるモダリティは、スコアデータに基づくか、または場合によってはリモートサーバデバイスから受信された提供データにおいても識別され得る。たとえば、第1のソース(たとえば、配偶者)が、第2のソース(たとえば、知人)よりも高いスコアを割り当てられているので、第1の通知は、第2の通知とは別様にユーザに提示され得る。第1の通知は、たとえば、オーディオモダリティとビデオモダリティの両方を通して提示され得、第2の通知はビデオモダリティを通して提示され得る。このようにして、ユーザにとっての通知のソースの重要性、または通知のソースとユーザとの関連性に従って、通知のみがフィルタ処理されるので、ユーザについての注意散漫が緩和される。さらに、リモートサーバデバイスは、ユーザに提示されるべき通知のコンテンツをも詳述する提供データを提供することができる。たとえば、リモートサーバデバイスは、ユーザから応答を引き出すために、ユーザのために表示されるべきテキストおよび/またはユーザに口述されるべきオーディオを詳述する、提供データを提供することができる。
【００５８】
図5は、ユーザによって経験される注意散漫を低減するために、少なくとも、ユーザが参加している1つまたは複数のアクティビティに従って、通知のソースのためのスコアを動的に変更するための方法500を示す。方法500は、1つまたは複数のコンピューティングデバイス、および/あるいは人または機械によって受信されるべき通知を処理することが可能な任意の他の装置によって実施され得る。方法500は、ユーザと1人または複数の参加者との間のチャットセッションに対応する1つまたは複数のメッセージを受信する動作502を含むことができる。1人または複数の参加者の各参加者は、メッセージングアプリケーションを含むコンピューティングデバイスを使用してチャットセッションに関与することができる。さらに、参加者によって動作させられる各メッセージングアプリケーションは、ユーザにとってアクセス可能である自動アシスタントと、直接または間接的にのいずれかで通信していることがある。このようにして、自動アシスタントは、ユーザと参加者との間で発生する通信を関知する(privy)ことができる。
【００５９】
方法500は、チャットセッション中に、チャットセッションに参加することとは別様にユーザを関与させるアクティビティにユーザが関与すると決定する動作504をも含むことができる。アクティビティは、たとえば、車両を運転することなど、1つまたは複数のアクティビティを含むことができる。代替的に、アクティビティは、オーディオ通話またはビデオ通話に参加すること、階段を歩くこと、泳ぐこと、オーディオまたはビデオを記録すること、ユーザの自宅の外で働くこと、ゲームをプレイすること、および/あるいはユーザからのある程度の量のコグニションを必要とする任意の他のアクティビティであり得る。アクティビティ(たとえば、運転)は識別され得、アクティビティに関連付けられた対話データは、ユーザがアクティビティに関与するときに一般に呈する関与の量を決定するために使用され得る。たとえば、ユーザが、一般に、アクティビティ中にビデオ通話を受信することを断った場合、自動アシスタントまたは他のアプリケーションは、アクティビティが少なくとも部分的に視覚的にユーザを関与させると決定することができる。したがって、アクティビティ中に受信される通知のソースの任意のスコアリングは、アクティビティに基づき、詳細には、ユーザがアクティビティにどのように関与しているかに基づき得る。
【００６０】
方法500は、ユーザがアクティビティに関与する間、1人または複数の参加者のうちの参加者が、チャットセッションの促進においてユーザが受信するためのメッセージを送ったことを指示する通知を受信する動作506を含むことができる。言い換えれば、チャットセッションは、ユーザが最初にアクティビティに関与した後の時間まで続いている。たとえば、アクティビティが運転であるとき、ユーザがユーザの車両を運転している間、通知は受信されることになる。
【００６１】
方法500は、メッセージを送った参加者のためのスコアをリモートサーバデバイスが決定することを引き起こす動作508を含むことができる。スコアは、少なくとも、ユーザがアクティビティに関与する間、またはユーザが参加者と対話した任意の他の時間において、参加者とユーザとの間の対話のインスタンスを識別する対話データを使用して、生成され得る。代替または追加として、対話データは、参加者を、ユーザが関与するアクティビティに相関させる情報を指示することができる。たとえば、アクティビティは運転であり得、参加者は、ユーザが、前に、運転している間に通信した誰かとして、対話データ中で識別され得る。代替または追加として、対話データは、ユーザがユーザと通信したときからの時間の量を指示することができる。時間の量が通信しきい値を満たす場合、スコアは、参加者からの通知がアクティビティ中にユーザに提示されることを引き起こすように、増加されるかまたは場合によっては生成され得る。しかしながら、時間の量が通信しきい値を満たさない場合、スコアは、参加者からの通知が部分的なフォーマット(たとえば、対応するメッセージングの一部分のみ)において提示されるか、またはユーザがもはやアクティビティに関与しなくなるまで遅延されることを引き起こすように、減少されるかまたは場合によっては生成され得る。
【００６２】
方法500は、参加者のためのスコアが少なくとも一時的に通知しきい値を満たすことに基づいて、通知がユーザに提示されることを引き起こす動作510をさらに含むことができる。たとえば、ユーザのパーソナルコンピューティングデバイスは、ユーザの車両コンピューティングデバイスが、車両コンピューティングデバイスのオーディオビジュアルインターフェースを介して、通知を提示することを引き起こすか、または通知を提示するように制御することができる。代替的に、パーソナルコンピューティングデバイスは、スコアによって満たされた通知しきい値に応じて、完全なまたは部分的なフォーマットにおいて、ユーザに通知を提示することができる。
【００６３】
図6は、例示的なコンピュータシステム610のブロック図600である。コンピュータシステム610は、一般に、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリ625およびファイル記憶サブシステム626を含む記憶サブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含み得る。入出力デバイスは、コンピュータシステム610とのユーザ対話を可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム中の対応するインターフェースデバイスに結合される。
【００６４】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックスタブレットなど、ポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなど、オーディオ入力デバイス、および/あるいは他のタイプの入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、コンピュータシステム610にまたは通信ネットワーク上に情報を入力するためのすべての可能なタイプのデバイスおよびやり方を含むものとする。
【００６５】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス機械、またはオーディオ出力デバイスなどの非視覚的表示を含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスなどを介して非視覚的表示を提供し得る。概して、「出力デバイス」という用語の使用は、コンピュータシステム610から、ユーザに、あるいは別の機械またはコンピュータシステムに、情報を出力するためのすべての可能なタイプのデバイスおよびやり方を含むものとする。
【００６６】
記憶サブシステム624は、本明細書で説明されるモジュールの一部または全部の機能性を提供するプログラミングおよびデータ構成体を記憶する。たとえば、記憶サブシステム624は、方法300、方法400、方法500の選択された態様を実施するための、ならびに/あるいはリモートデバイス114、サーバデバイス102、自動アシスタント104、パーソナルコンピューティングデバイス118、車両コンピューティングデバイス134、リモートデバイス202、第1のコンピューティングデバイス206、第2のコンピューティングデバイス210、および/または本明細書で説明される任意の動作を実施することが可能な任意の他のデバイスのうちの1つまたは複数を実装するための、論理を含み得る。
【００６７】
これらのソフトウェアモジュールは、概して、プロセッサ614単独によって、または他のプロセッサと組み合わせて実行される。記憶サブシステム624中で使用されるメモリ625は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)630と、固定命令が記憶される読取り専用メモリ(ROM)632とを含む、いくつかのメモリを含むことができる。ファイル記憶サブシステム626は、プログラムおよびデータファイルのための永続記憶装置を提供することができ、ハードディスクドライブ、関連するリムーバブルメディアと一緒のフロッピーディスクドライブ、CD-ROMドライブ、オプティカルドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実装形態の機能性を実装するモジュールは、記憶サブシステム624中の、またはプロセッサ614によってアクセス可能な他の機械中のファイル記憶サブシステム626によって記憶され得る。
【００６８】
バスサブシステム612は、コンピュータシステム610の様々な構成要素およびサブシステムに、意図されたように互いと通信させるための機構を提供する。バスサブシステム612は単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は複数のバスを使用し得る。
【００６９】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、あるいは任意の他のデータ処理システムまたはコンピューティングデバイスを含む、様々なタイプのものであり得る。コンピュータおよびネットワークの絶え間なく変化する性質により、図6に示されたコンピュータシステム610の説明は、いくつかの実装形態を示すための特定の例として意図されるにすぎない。図6に示されたコンピュータシステムよりも多いまたは少ない構成要素を有するコンピュータシステム610の多くの他の構成が可能である。
【００７０】
本明細書で説明されるシステムがユーザ(または本明細書でしばしば言及される「参加者」)についての個人情報を収集する、または個人情報を利用し得る状況では、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワークについての情報、社会的な行動または活動、職業、ユーザの選好、あるいはユーザの現在の地理的ロケーション)を収集するかどうかを制御するための、あるいは、ユーザにより関連があり得るコンテンツサーバからコンテンツを受信すべきかどうか、および/またはそれをどのように受信すべきかを制御するための、機会を提供され得る。また、個人が識別可能な情報が除去されるように、あるデータは、記憶または使用される前に1つまたは複数のやり方で扱われ得る。たとえば、個人が識別可能な情報がユーザについて決定され得ないように、ユーザの識別情報が扱われ得るか、または、ユーザの具体的な地理的ロケーションが決定され得ないように、地理的ロケーション情報が取得されるユーザの地理的ロケーションが(都市レベル、ZIPコードレベル、または州レベルなどに)一般化され得る。したがって、ユーザは、情報がどのようにユーザについて収集されおよび/または使用されるかを制御し得る。
【００７１】
本明細書ではいくつかの実装形態が説明および示されたが、機能を実施するための、ならびに/あるいは本明細書で説明される結果および/または利点のうちの1つまたは複数を取得するための、様々な他の手段および/または構造が利用され得、そのような変形および/または変更の各々は、本明細書で説明される実装形態の範囲内であると見なされる。より一般的には、本明細書で説明されるすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、本教示が使用される特定の1つまたは複数の適用例に依存する。当業者は、せいぜい日常的な実験を使用して、本明細書で説明される特定の実装形態に対する多くの等価物を認識するか、または確認することが可能である。したがって、上記の実装形態は単に例として提示されていることと、添付の特許請求の範囲およびその等価物の範囲内で、詳細に説明および請求された以外のやり方で実装形態が実施され得ることとを理解されたい。本開示の実装形態は、本明細書で説明される各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。さらに、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合、2つまたはそれ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せが、本開示の範囲内に含まれる。
【符号の説明】
【００７２】
100  システム
102  サーバデバイス
104  自動アシスタント
106  アシスタント対話データ
108  音声からテキストへのエンジン
110  サーバスコアリングエンジン
112  通知
114  リモートデバイス
116  ネットワーク
118  パーソナルコンピューティングデバイス
120  アシスタントアプリケーション
122  通知
124  クライアントスコアリングエンジン
126  インターフェース
128  コンピューティングデバイス
130  車両装置
132  車両
134  車両コンピューティングデバイス
136  コンテキストデータ
138  車両アプリケーション
140  別のユーザ、他のユーザ
142  ポータブルコンピューティングデバイス
200  状態図
202  リモートデバイス
204  第1のユーザ
206  第1のコンピューティングデバイス
208  第2のユーザ
210  第2のコンピューティングデバイス
212  連絡先情報
214  メッセージ
216  通知データ
218  対話データを決定する、対話データ
220  第1のスコアデータ
222  第1のスコアデータを変更する、変更された第1のスコアデータ
224  通知を提示する
226  応答メッセージ
228  第1のスコアデータを変更する
230  通知データ
232  第2のスコアデータ
234  アクティビティを決定する
236  通知を提示する
238  応答メッセージ
240  第2のスコアデータを変更する
600  ブロック図
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  記憶サブシステム
625  メモリ
626  ファイル記憶サブシステム
630  ランダムアクセスメモリ
632  読取り専用メモリ
【図１】
0006955034.tif 000002
【図２】
0006955034.tif 000003
【図３】
0006955034.tif 000004
【図４】
0006955034.tif 000005
【図５】
0006955034.tif 000006
【図６】
0006955034.tif 000007