(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-15
(45)【発行日】2023-12-25
(54)【発明の名称】ユーザの注意散漫を低減し、かつ/または計算リソースの使用を緩和するための、通知出力の提供の動的適応
(51)【国際特許分類】
G08G 1/16 20060101AFI20231218BHJP
H04M 1/724 20210101ALI20231218BHJP
G01C 21/36 20060101ALI20231218BHJP
G06F 3/01 20060101ALN20231218BHJP
【FI】
G08G1/16 F
H04M1/724
G01C21/36
G06F3/01 515
G06F3/01 510
【外国語出願】
(21)【出願番号】P 2022072349
(22)【出願日】2022-04-26
(62)【分割の表示】P 2019568360の分割
【原出願日】2018-11-15
【審査請求日】2022-05-23
(32)【優先日】2017-11-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴィクラム・アガワル
(72)【発明者】
【氏名】モイセス・モーゲンスターン・ガリ
【審査官】佐々木 佳祐
(56)【参考文献】
【文献】特開2015-92311(JP,A)
【文献】特開2017-138741(JP,A)
【文献】特開2016-12292(JP,A)
【文献】特開2011-39629(JP,A)
【文献】特開2017-30555(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
G01C 21/00-25/00
H04M 1/724
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスを含む車両を介してユーザによってナビゲートされるべきルートを受信するステップと、
前記ルートの複数の部分の各々について、前記ユーザの操作上のエンゲージメントの予測レベルを生成するステップであって、前記操作上のエンゲージメントの予測レベ
ルが、前記ルートの前記複数の部分のうちの
1つの部分の間に前記ユーザが前記車両をナビゲートするために喚起する
と予測される注意の
大きさを定量化
したレベルである、ステップと、
サードパーティアプリケーションによって生成された電子通知を受信するステップと、
前記電子通知のアプリケーションエンゲージメントの予測レベルを生成するステップであって、前記アプリケーションエンゲージメントの予測レベルが、前記電子通知を承認するとき、または前記電子通知に応答するときに前記ユーザが喚起する
と予測される認知の
大きさを定量化
したレベルである、ステップと、
前記操作上のエンゲージメントの予測レベルと前記アプリケーションエンゲージメントの予測レベルとの比較に基づいて、前記ルートの前記複数の部分のうちの所与のルート部分に前記電子通知を相関させるステップと、
前記所与のルート部分に前記電子通知を相関させることに基づいて、
前記車両が前記所与のルート部分を
通過するとき、前記車両の前記コンピューティングデバイスに、前記電子通知に基づく出力を提供させるステップと
を含む方法。
【請求項2】
前記所与のルート部分について、前記操作上のエンゲージメントの予測レベルを生成することが、
前記所与のルート部分をナビゲートするための1つまたは複数の車両操縦のカテゴリを識別すること
を含む、請求項1に記載の方法。
【請求項3】
前記所与のルート部分について、前記操作上のエンゲージメントの予測レベルを生成することが、
前記電子通知に関連付けられた1つまたは複数のアプリケーション入力またはアプリケーション出力のカテゴリを識別すること
を含む、請求項1に記載の方法。
【請求項4】
前記所与のルート部分についての前記操作上のエンゲージメントの予測レベルに基づいて、前記電子通知に基づく前記出力を提供するための出力モダリティを決定するステップ
であって、前記出力モダリティは、ユーザの身体的感覚に関連付けられる出力形式である、ステップ
をさらに含み、
前記コンピューティングデバイスに、前記電子通知に基づく出力を提供させる前記ステップが、
決定された前記出力モダリティを使用して、前記コンピューティングデバイスに、前記電子通知の内容を出力させるステップ
を含む、請求項1に記載の方法。
【請求項5】
出力モダリティを決定する前記ステップが、前記電子通知の1つまたは複数の性質にさらに基づ
き、前記電子通知の前記1つまたは複数の性質が、通知の内容、通知のタイプ、および/または通知のソースを含む、請求項4に記載の方法。
【請求項6】
前記所与のルート部分についての前記操作上のエンゲージメントの予測レベルに基づいて、前記コンピューティングデバイスに、
前記電子通知の全体、
前記電子通知の圧縮バージョン、または
前記ユーザに代わって前記電子通知に応答したことの確認
を前記出力として提供させるかどうかを決定するステップ
をさらに含む、請求項1に記載の方法。
【請求項7】
請求項1から6のいずれか一項に記載の方法を実行するように構成された装置。
【請求項8】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から6のいずれか一項に記載の方法を実行させる命令を記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施態様は、ユーザの注意散漫を低減し、かつ/または計算リソースの使用を緩和するように通知出力の提供を動的に適応させることに関する。
【背景技術】
【0002】
人間は、本明細書では「自動アシスタント」と称される対話型ソフトウェアアプリケーション(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「会話エージェント」などとも称される)により、人とコンピュータとの間の対話を行う場合がある。たとえば、人間(自動アシスタントと対話するときは「ユーザ」と称されることがある)は、(i)いくつかの場合には、テキストに変換されてから処理されることがある、話された自然言語入力(すなわち、発話)を使用して、および/または(ii)テキスト(たとえば、入力された)自然言語入力を提供することによって、コマンドおよび/またはリクエストを提供する場合がある。通常、自動アシスタントアプリケーションがユーザに代わって所望の応答を生成するには、ユーザおよび自動アシスタントアプリケーションは、複数の対話にわたってやりとりする必要がある。たとえば、ユーザは、自動アシスタントアプリケーションに、自動アシスタントアプリケーションによって連絡先に送信されるべき応答メッセージの内容を説明する音声入力を提供することができる。応答メッセージを送信する前に、自動アシスタントは、受信された入力の精度を確実にするために、ユーザから受信された入力を反復し得る。ユーザが車両の運転などのアクティビティに携わっている間にそのような対話が行われると、ユーザは、注意散漫になり、それによって、ユーザにとって危険な状況が作り出される可能性がある。さらに、タスクを達成するために、ユーザとの複数の対話を行うよう自動アシスタントアプリケーションに要求することは、自動アシスタントアプリケーションをホストするコンピューティングデバイスにおける計算リソースを浪費し、自動アシスタントアプリケーションの機能をサポートする他のデバイスにおける計算リソースを浪費し、および/または複数の対話に関連するデータ(たとえば、オーディオデータなど)の送信に消費されるネットワークリソースを(たとえば、クライアントデバイス、および/またはネットワークデバイスなどにおいて)浪費する可能性がある。
【0003】
いくつかの自動アシスタントは、追加および/または代替として、ユーザに様々な通知を提供し、通常、受信時にそのような通知を提供することができる。通知には、たとえば、自動アシスタントアプリケーションを実行するデバイスとは別のデバイスからの通知、自動アシスタントとは別のアプリケーションからの通知、および/または自動アシスタントアプリケーションを実行するデバイスのオペレーティングシステムからの通知などがあり得る。しかしながら、少なくとも受信時に、ユーザは、通知を無視する、通知を理解しない、および/またはそうでなければ通知に対処しない場合がある。その結果、ユーザは、受信時にユーザが対処しなかった、以前に提示された任意の通知に対処するために、後で自動アシスタント(および/または他のアプリケーション)と対話する必要がある場合がある。これは、通知が最初の提供時に無視され、最初の提供後に再度提供されなければならないので、計算リソースおよび/またはネットワークの非効率性につながる可能性がある。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実装形態は、一般に、様々な通知をユーザに提示するかどうか、いつ、および/またはどのように提示するかを動的に決定する自動アシスタントアプリケーションに関連する方法、装置、およびコンピュータ可読媒体(一時的および非一時的)を対象とする。様々な通知を提示するかどうか、いつ、および/またはどのように提示するかの動的な適応によって、注意散漫を低減することができ、それによって、ユーザの安全性が向上し、ならびに/または提供される通知の量および/もしくは範囲が減少し、それによって、通知の提供に利用される様々な計算リソースの消費が低減される。いくつかの実装形態では、自動アシスタントアプリケーションは、(i)テキストメッセージなどの通知を完全に提示する、(ii)通知の内容の要約バージョンを提供する、(iii)ユーザがあまり注意散漫でなくなるまで、通知(またはその要約バージョン)の提示を抑制する、(iv)通知に自動的に応答する(随意に通知の任意の側面の提供を遅らせる、または通知の任意の側面を提供しない)、または(v)通知を完全に抑制するかどうかを決定することができる。追加または代替として、自動アシスタントアプリケーションは、通知(またはその要約バージョン)を提供するための出力モダリティ(たとえば、サウンド、画像、ビデオ、振動、および/または任意の他の媒体)を選択することができる。それらの実装形態の一部では、通知を提示するかどうか、いつ、および/またはどのように提示するかは、ユーザのエンゲージメント(engagement)の予測される現在のレベル、ユーザのエンゲージメントの予測される将来のレベル、通知の1つもしくは複数の性質(たとえば、通知の内容、通知の「タイプ」、通知のソース)、および/または通知が受信される時間のうちの1つもしくは複数に基づくことができる。それらの実装形態のいくつかのバージョンでは、ユーザのエンゲージメントの予測される現在のレベルは、(たとえば、ユーザの車両の1つもしくは複数の車両センサーから、および/またはユーザの1つもしくは複数のクライアントデバイスからの)様々なセンサーデータ、ユーザが乗員である車両によってナビゲートされているルート(たとえば、ユーザがドライバーのときなど)、アプリケーションデータ、および/または他のデータに基づくことができる。
【0005】
本明細書に記載する実装形態では、自動アシスタントは、ユーザがいくつかの通知を理解し、および/またはそれに対処する可能性が最も高いとき、および/またはその方法を決定し、そのような決定に基づいて通知を提供することができる。そのような方法で通知を提供することによって、ユーザが注意散漫になり、通知を理解しない、および/またはそれに対処しないときにユーザに提供される通知の発生を軽減することによって、計算リソースを保護することができる。したがって、そのような方法で通知を提供することによって、後で対処されていない通知、および/または理解されていない通知のリコールの発生量が減少し、それによって、そうでなければ後で通知を再度提供する際に利用されることになる計算リソースを節約する。追加または代替として、通知の提示の形式、タイミング、および/または任意の他の性質を適応させることによって、ユーザおよび/または他の人に影響を与える可能性のある危険および/または注意散漫な状況を回避することができる。さらに、そのような方法で通知を適応させることによって、通知の品質を向上させることができる。たとえば、ユーザがアイドル状態になるまで、または移動しなくなるまで通知の提示を遅らせると、コンテキストデータの収集に費やされるリソースが少なくなり、それによって、通知の提示に使用できるリソースが増え、通知へのより迅速な応答を行うことができる。
【0006】
本明細書で説明する実装形態の一例として、ユーザが車両を運転しており、ユーザが運転しているときに、ユーザのコンピューティングデバイスによって、所与の時間にテキストメッセージが受信されると仮定する。自動アシスタントアプリケーション(コンピューティングデバイスおよび/またはコンピューティングデバイスと組み合わされた追加のコンピューティングデバイスに関連付けられている)は、テキストメッセージに基づく内容を、ユーザへの提示のために、提供するかどうか、いつ、および/またはどのように提供するかを決定することができる。この決定は、ユーザのエンゲージメントの現在および/もしくは将来の予測レベルに基づいて、ならびに/またはテキストメッセージの内容に基づくことができる。たとえば、所与の時間に、ユーザが大いに関与している、および/または近いうちに大いに関与するようになることをデータが示す場合、自動アシスタントアプリケーションは、テキストメッセージに基づく内容の任意の出力の即時および/または短期の提供を抑制することができる。たとえば、自動アシスタントアプリケーションは、テキストメッセージに基づく内容の任意の出力の即時の提供を抑制し、代わりに、後でユーザの関与が少ないことを示すデータに基づいて、テキストメッセージに基づく内容を後で出力することができる。これによって、ユーザが運転に大いに関与しているときのユーザの注意散漫を回避することによって、安全性を向上させることができる。
【0007】
後に提供される内容は、たとえば、テキストメッセージの全体またはテキストメッセージの要約バージョンを含むことができる。テキストメッセージの全体を提供するか、テキストメッセージの要約バージョンを提供するかは、後のエンゲージメントの予測レベルに基づくことができる。たとえば、後のエンゲージメントの予測レベルが「中」レベルのエンゲージメントを示す場合、要約バージョンを提供することができ、一方、後のエンゲージメントの予測レベルが「低」レベルのエンゲージメントを示す場合、全体を提供することができる。後で提供される内容は、追加または代替として、たとえば、自動アシスタントアプリケーションがユーザに代わってテキストメッセージに応答することができることを確認するプロンプト、または自動アシスタントアプリケーションがユーザに代わってテキストメッセージに応答したことの確認を含むことができる。たとえば、自動アシスタントアプリケーションは、ユーザが大いに関与している間に(最初にユーザにプロンプトを表示せずに)テキストメッセージに自動的に応答し、後でユーザの関与が低いと判定したことに基づいて、提供された応答の要約を後で提供することができる。運転しているユーザのエンゲージメントのレベルに合わせて出力される内容の複雑さを調整することによって、安全性を向上させることができる。たとえば、要約された内容では、運転しているユーザが注意散漫になる可能性が低くなる。メッセージを要約することによって、完全なバージョンのメッセージではなく、要約されたメッセージの送信に必要なデータが少なくなるので、ネットワークリソースを保護することができる。
【0008】
本明細書で説明する実装形態の別の例として、ユーザが車両を運転しており、ユーザが運転しているとき、テキストメッセージとスポーツスコアの通知の両方が、ユーザのコンピューティングデバイスによって、所与の時間にまたはほぼ所与の時間に受信されると仮定する。さらに、自動アシスタントアプリケーション(コンピューティングデバイスおよび/またはコンピューティングデバイスと組み合わされた追加のコンピューティングデバイスに関連付けられた)が、データに基づいて、所与の時間におけるユーザの「中」予測レベルのエンゲージメントを決定すると仮定する。スポーツスコアの通知の場合、自動アシスタントアプリケーションは、その通知に基づいた任意の出力の即時の提供を抑制し、代わりに、「低」予測レベルのエンゲージメントの時間まで待ち、または、さらには、運転が終わるまで待ち、そのような出力を提供することを決定することができる。そのような決定は、「中」レベルのエンゲージメントおよび/またはスポーツスコアの通知の1つまたは複数の性質に基づくことができる(たとえば、それが「スポーツスコアタイプ」のものであることに基づく、特定のアプリケーションからである、以前のスポーツスコアの通知とのユーザの以前の対話に基づく)。テキストメッセージの場合、自動アシスタントは、「中」レベルのエンゲージメントに基づいて、および随意にテキストメッセージの1つまたは複数の性質(たとえば、送信者、内容など)に基づいて、可聴出力モダリティを介して、テキストメッセージの要約バージョンをすぐに提供するが、グラフィカル出力モダリティを介してメッセージのいずれかをすぐに提供しないことを決定することができる。運転しているユーザのエンゲージメントのレベルに合わせて出力のモダリティを選択することによって、安全性を向上させることができる。たとえば、可聴出力モダリティは、グラフィカル出力モダリティよりも、運転しているユーザが注意散漫になる可能性が低い。
【0009】
変形形態として、同じテキストメッセージおよびスポーツスコアの通知が受信されるが、所与の時間にユーザの「低」予測レベルのエンゲージメントが予測されると仮定する。そのような状況では、スポーツスコアの通知をすぐに提供することができる。また、テキストメッセージの要約バージョンは、可聴出力モダリティを介してすぐに提供することができ、メッセージのすべてまたは一部も、グラフィカル出力モダリティを介してすぐに提供することができる。
【0010】
さらに別の変形形態として、同じテキストメッセージおよびスポーツスコアの通知が受信されるが、所与の時間に、ユーザの「高」予測レベルのエンゲージメントが予測されると仮定する。そのような状況では、自動アシスタントは、スポーツスコアの通知に基づく任意の出力の即時の提供を抑制し、テキストメッセージに基づく任意の出力の即時の提供を抑制することができる。スポーツスコアの通知の場合、自動アシスタントは、「低」予測レベルのエンゲージメントが発生するまで待ち、通知に基づいて出力を提供することができる。テキストメッセージの場合、自動アシスタントは、代わりに、「中」または「低」の予測レベルのエンゲージメント(すなわち、どちらか最初に起こる方)が発生するまで待ち、通知に基づいて出力を提供することができる。随意に、テキストメッセージに基づく出力がどのように提供されるかは、発生が「中」の予測レベルのエンゲージメントの発生であるか、「低」の予測レベルのエンゲージメントの発生であるかによって変わり得る。たとえば、エンゲージメントの予測レベルが「低」の場合、テキストメッセージの全体を可聴式でグラフィカルに提供することができ、一方、エンゲージメントの予測レベルが「中」の場合、テキストメッセージの要約バージョンは可聴式でのみ提供することができる。
【0011】
上記および本明細書の他の場所で説明されるように、通知に基づく出力を提供するかどうか、いつ、および/またはどのように提供するかは、ユーザのエンゲージメントの現在および/または将来の予測レベルに基づくことができる。ユーザのエンゲージメントの予測レベルは、車両の1つまたは複数のセンサーによって生成されるデータ、ユーザによってナビゲートされるルートに関連するデータ、ユーザの物理的特性を測定するセンサーによって生成されるデータ(たとえば、ウェアラブル電子時計のセンサーから決定される心拍数)、および/または他のデータなど、様々なデータに基づくことができる。たとえば、エンゲージメントの予測レベルは、車両のおよび/または車両内のコンピューティングデバイスのマイクによってキャプチャされたオーディオの特性に基づくことができる。たとえば、キャプチャされたオーディオが子供の叫び声/泣き声を示している場合、キャプチャされたオーディオが比較的静かな状態を示している場合よりも高レベルのエンゲージメントを予測することができる。別の例として、エンゲージメントの予測レベルは、追加または代替として、1つまたは複数のセンサーによって測定された車両の速度、1つまたは複数のセンサーによって測定された最近のブレーキの量、ならびに1つまたは複数のセンサーによって測定された最近の加速/減速の量および/または程度などに基づくことができる。たとえば、車両が現在停止していることをセンサーデータが示す場合、車両が現在移動中であり、複数の重要な加速/減速が最近発生したことをセンサーデータが示す場合よりも低レベルのエンゲージメントを予測することができる。また別の例として、エンゲージメントの予測レベルは、追加または代替として、現在または今後の交通状況、現在または今後の予測される歩行者のアクティビティなど(たとえば、マップデータから取得される)に基づくことができる。また別の例として、エンゲージメントの予測レベルは、追加または代替として、ユーザの目的地に基づいてルートの予測される今後の部分に基づくことができる。ユーザの目的地は、たとえば、ユーザにルートガイダンスを提供しているナビゲーションアプリケーションに目的地を提供するために、ユーザがクライアントデバイスにおいてユーザインターフェース入力を利用することに基づくことができ、および/または、ユーザからの明示的な入力なしに、目的地を予測することができる。たとえば、ユーザの記憶された「勤務地」は、時間的な事柄(たとえば、朝および/または平日)、ユーザが過去に「勤務地」に行ったこと(たとえば、通常、朝および/または平日に発生する)、および/またはルートのすでにナビゲートされた部分(たとえば、これまでナビゲートされたルートは「勤務地」に向かっている)に基づいて予測することができる。また、たとえば、ユーザの場所は、ユーザのカレンダーエントリに基づいて(たとえば、カレンダーエントリの場所、およびカレンダーエントリの時刻近くにユーザが運転していることに基づいて)、および/またはユーザの他のデータに基づいて予測することができる。
【0012】
同じく上記および本明細書の他の場所で説明されるように、通知に基づく出力を提供するかどうか、いつ、および/またはどのように提供するかは、追加または代替として、通知の1つまたは複数の性質に基づくことができる。そのような性質は、通知の内容、通知のソース(たとえば、通知を開始したアプリ、または通知を開始した他のユーザなど)、通知のタイプ(たとえば、メッセージ対アプリの通知、またはより詳細なタイプなど)、同様の通知に関するユーザの過去の対話などに基づくことができる。
【0013】
様々な実装形態の例が上記で提供されているが、そのような例は、限定を意味するものではない。これらの様々な実装形態の追加の詳細、ならびに追加の実装形態を以下に示す。
【0014】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、自動アシスタントアプリケーションにおいて、コンピューティングデバイスを含む車両を介して目的地に向けて遠出(excursion)しているユーザに向けられた電子メッセージを受信するなどの動作を含むものとして記載される。自動アシスタントアプリケーションは、コンピューティングデバイス上で実行することも、コンピューティングデバイスと通信することもできる。さらに、遠出のルートの第1の部分の間またはその前にメッセージを受信することができる。動作は、ルートの第1の部分中のユーザのエンゲージメントの第1の予測レベルを決定すること、ルートの第1の部分に続くルートの第2の部分のエンゲージメントの第2の予測レベルを決定すること、およびエンゲージメントの第2の予測レベルが、エンゲージメントの第1の予測レベルよりもエンゲージメントが低いことを示すと判定することをさらに含むことができる。
【0015】
動作は、エンゲージメントの第2の予測レベルがエンゲージメントの第1の予測レベルよりも低いエンゲージメントを示すと判定したことに基づいて、車両がルートの第1の部分をナビゲートしている間、メッセージに基づく任意の内容の出力を保留することを決定すること、および車両がルートの第2の部分をナビゲートしている間、車両のコンピューティングデバイスに、メッセージに基づく内容をユーザに対して出力させることをさらに含むことができる。いくつかの実装形態では、方法は、メッセージに基づいて、メッセージがメッセージの受信に続いてユーザから明示的な口頭の内容を引き出すメッセージのカテゴリに対応すると判定することを含むことができる。車両がルートの第2の部分をナビゲートしている間、車両のコンピューティングデバイスに、ユーザに対してメッセージに基づく内容を出力させることは、さらに、エンゲージメントの第2の予測レベルと、ユーザから明示的な口頭の内容を引き出すメッセージのカテゴリとの間の一致を識別することに基づくことができる。メッセージがユーザから明示的な口頭の内容を引き出すメッセージのカテゴリに対応すると判定することは、ユーザと自動アシスタントアプリケーションとの間の1つまたは複数の以前の対話に関連付けられた履歴対話データにさらに基づくことができる。エンゲージメントの第1の予測レベルおよびエンゲージメントの第2の予測レベルの決定は、ルートについてのルート詳細データ(route intricacy data)に基づく。ルート詳細データの決定は、コンピューティングデバイスにとってアクセス可能なマップアプリケーションからマップアプリケーションデータを受信することを含むことができる。ルートの第1の部分についてエンゲージメントの第1の予測レベルを決定することは、マップアプリケーションデータに基づいて、ルートの第1の部分の間に車両をナビゲートするための少なくとも2つの操作間の時間量を決定することを含むことができる。この方法は、エンゲージメントの第2の予測レベルに基づいて、メッセージに基づく内容を提供するための出力モダリティを決定することをさらに含むことができる。車両がルートの第2の部分をナビゲートしている間、車両のコンピューティングデバイスに、メッセージに基づく内容を出力させることは、選択された出力モダリティを使用して、コンピューティングデバイスに、内容を出力させることを含むことができる。メッセージに基づく内容を提供するための出力モダリティを決定することは、メッセージの1つまたは複数の性質にさらに基づくことができる。この方法は、エンゲージメントの第2の予測レベルに基づいて、提供するメッセージの内容のタイプを決定する動作、およびそのタイプに適合するメッセージの内容に基づいて、コンピューティングデバイスに、メッセージの内容を出力させる動作も含むことができる。
【0016】
他の実施形態では、1つまたは複数のプロセッサによって実施される方法は、コンピューティングデバイスを含む車両を介してユーザによってナビゲートされるべきルートを受信する、およびルートの複数の部分の各々について、ユーザの操作上のエンゲージメント(operational engagement)の予測レベルを生成するなどの動作を含むものとして記載される。操作上のエンゲージメントの予測レベルの各々は、ルートの部分のうちの対応する部分の間にユーザが車両をナビゲートするために喚起する、予測される注意の量を定量化することができる。動作は、サードパーティアプリケーションによって生成された電子通知を受信すること、および電子通知のアプリケーションエンゲージメント(application engagement)の予測レベルを生成することをさらに含むことができる。アプリケーションエンゲージメントの予測レベルは、電子通知を消費または承認するとき、または電子通知に応答するときにユーザが喚起する、予測される認知の量を定量化することができる。動作は、操作上のエンゲージメントの予測レベルとアプリケーションエンゲージメントの予測レベルとの比較に基づいて、ルートのいくつかの部分のうちの所与のルート部分に電子通知を相関させることも含むことができる。さらに、動作は、電子通知を所与のルート部分に相関させることに基づいて、車両のコンピューティングデバイスに、車両が所与のルート部分をトラバースしているときに電子通知に基づく出力を提供させることをさらに含むことができる。所与のルート部分についての操作上のエンゲージメントの予測レベルを生成することは、所与のルート部分をナビゲートするための1つまたは複数の車両操縦のカテゴリを識別することを含むことができる。所与のルート部分についての操作上のエンゲージメントの予測レベルを生成することは、電子通知に関連付けられた1つまたは複数のアプリケーション入力またはアプリケーション出力のカテゴリを識別することを含むことができる。この方法は、所与のルート部分についての操作上のエンゲージメントの予測レベルに基づいて、電子通知に基づく出力を提供するための出力モダリティを決定することをさらに含むことができる。電子通知に基づき得る出力をコンピューティングデバイスに提供させることは、選択された出力モダリティを使用して、コンピューティングデバイスに内容を出力させることを含む。出力モダリティの決定は、電子通知の1つまたは複数の性質にさらに基づくことができる。この方法は、所与のルート部分についての操作上のエンゲージメントの予測レベルに基づいて、コンピューティングデバイスに、電子通知の全体、電子通知の圧縮バージョン、またはユーザに代わって電子通知が応答されたことの確認を出力として提供させるかどうかを決定することも含むことができる。
【0017】
また他の実装形態では、1つまたは複数のプロセッサによって実施される方法は、自動アシスタントアプリケーションにおいて、ユーザが参加している遠出に関連付けられた内容を含むメッセージを受信するなどの動作を含むものとして記載される。ユーザは、自動アシスタントアプリケーションにとってアクセス可能なコンピューティングデバイスを含む車両を使用して、遠出に参加することができる。動作は、メッセージから、遠出または車両に関連付けられた1つまたは複数のクエリを識別することをさらに含むことができる。1つまたは複数のクエリは、別のユーザによって操作される別個のコンピューティングデバイスからユーザに向けられる。動作は、コンピューティングデバイスにとって利用可能なデータであり、車両またはユーザの遠出に関連するデータにアクセスすること、および1つまたは複数のクエリの内容およびデータに基づいて、メッセージに応答してユーザによって生成された明示的なユーザインターフェース入力なしに、1つまたは複数のクエリに回答するために許容可能な情報を、データが識別することを決定することをさらに含むことができる。動作は、データに基づいており、ユーザからの明示的なユーザインターフェース入力がない1つまたは複数のクエリに対する応答メッセージを生成すること、および応答メッセージが別個のコンピューティングデバイスに対して送信されるようにすることをさらに含むことができる。
【0018】
データは、遠出の目的地を識別する位置データを含むルートマッピングアプリケーションによって生成することができる。1つまたは複数のクエリは、遠出の目的地を提供するようにユーザを誘導することができる。遠出または車両に関連付けられた1つまたは複数のクエリを識別することは、メッセージから識別された1つまたは複数のクエリに関連付けられたカテゴリを識別し、カテゴリが自動アシスタントアプリケーションにとってアクセス可能な旅行関連のデータに対応しているかどうかを決定することを含むことができる。データへのアクセスは、カテゴリが旅行関連のデータに対応していると決定したことに応答して実行することができる。この方法は、コンピューティングデバイスに、ユーザに対して問合せを提供させることをさらに含むことができる。問合せは、ユーザが応答メッセージに含まれるべき内容を明示的に唱えることなく、自動アシスタントアプリケーションが応答メッセージで応答することが許可されるかどうかに関する許可をユーザに要求することができる。遠出に関連付けられた1つまたは複数のクエリを識別することは、メッセージを構文解析して、遠出に関連付けられた1つまたは複数のクエリとは別の内容を区別することを含むことができる。データは、車両の第1の位置を識別することができ、メッセージは、別個のコンピューティングデバイスの第2の位置を識別することができ、応答メッセージを生成することは、車両の第1の位置を別個のコンピューティングデバイスの第2の位置と比較することを含むことができる。
【0019】
いくつかの実装形態では、1つまたは複数のプロセッサによって実施される方法は、コンピューティングデバイスを含む車両のナビゲーション中に、ユーザによって電子通知を受信すること、およびユーザの操作上のエンゲージメントの予測レベルを生成することなどの動作を含むものとして記載される。操作上のエンゲージメントの予測レベルは、ユーザが車両をナビゲートする際に喚起している予測される注意の量を定量化することができる。動作は、ユーザの操作上のエンゲージメントの予測レベルに基づいて、電子通知に対応する内容の提供のための少なくとも1つの性質を決定することも含むことができる。少なくとも1つの性質は、ユーザへの提示のために内容がいつ提供されるか、および内容の提示形式のうちの1つまたは複数を識別することができる。動作は、車両のコンピューティングデバイスに、少なくとも1つの性質に準拠した内容を提供させることをさらに含むことができる。少なくとも1つの性質を決定することは、電子通知の少なくとも1つの特性にさらに基づいてもよい。動作は、電子通知の少なくとも1つの特性に基づいて、車両のナビゲーション中に電子通知に対応する内容を提供するか、車両のナビゲーションが停止するまで内容の提供を抑制するかを決定することをさらに含むことができる。コンピューティングデバイスに、少なくとも1つの性質に準拠した内容を提供させることは、車両のナビゲーション中に内容を提供することを決定することに基づき得る。提示形式は、要約された提示形式を含み得る。提示形式は、ユーザに代わって自動アシスタントによって実行されるべきアクション、またはすでに実行されたアクションの要約を含むことができる。
【0020】
本明細書で開示される様々な実装形態は、本明細書で説明する方法のうちの1つまたは複数などの方法を実行するために、プロセッサ(たとえば、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU))によって実行可能な命令を記憶する1つまたは複数の一時的または非一時的コンピュータ可読記憶媒体を含み得る。また他の様々な実装形態は、本明細書に記載の方法のうちの1つまたは複数などの方法を実行するために記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つまたは複数のコンピュータのシステムを含み得る。
【0021】
本明細書でより詳細に説明される上述の概念および追加の概念のすべての組合せは、本明細書で開示される主題の一部として企図されることを諒解されたい。たとえば、本開示の最後に現れる請求する主題のすべての組合せは、本明細書で開示する主題の一部であると企図される。
【図面の簡単な説明】
【0022】
【
図1】ユーザへのメッセージまたは通知の送信および/または受信を適応させ、またはカスタマイズすることができる自動アシスタントを示す図である。
【
図2】自動アシスタントアプリケーションを使用して、アクティビティに関与しているユーザに代わって応答メッセージを提供するプロセス図である。
【
図3】ユーザのエンゲージメントの予測レベルに応じて、自動アシスタントによって、様々な通知を変更し、および/またはユーザに提示し得る方法の一例を提供する状態図である。
【
図4】ルートを介して車両をナビゲートしている間にユーザが発揮することが予想され得る、またはそうでなければ要求される可能性のあるエンゲージメントの予測レベルに少なくとも部分的に基づいて、ユーザにメッセージを提供するための方法を示す図である。
【
図5】操作上のエンゲージメントおよび/またはアプリケーションエンゲージメントの予測レベルまたは決定されたレベルに基づいて、ユーザに通知を提供するための方法を示す図である。
【
図6】メッセージの内容および自動アシスタントアプリケーションにとって利用可能なデータに基づいて、ある人からのメッセージに自動的に応答するための方法を示す図である。
【
図7】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0023】
通常の自動アシスタントアプリケーションは、自動アシスタントアプリケーションがユーザに利益をもたらすために何らかの操作を実行できるようになる前に、自動アシスタントアプリケーションとユーザの間で大量のやり取りを必要とする場合がある。たとえば、ある人が誰かにテキストを送信したいとき、その人、使用する番号(たとえば、職場の番号や自宅の番号など)を指定し、送信されるメッセージに具体化されるべきメッセージ内容を記述する必要がある。しばしば、運転中に送信されるメッセージはルートに関するものである可能性があり、ならびに/または目的地、イベント、到着時間、車両内の人々、および/もしくはユーザの遠出に関連する可能性がある任意の他の記述子に関する情報を含み得る。
【0024】
本明細書で使用される場合、通知は、ユーザに向けられ、対応するクライアントデバイスを介してメッセージを送信する別のユーザによって開始される様々なメッセージを含む。そのようなメッセージは、SMSメッセージ、テキストメッセージ、電子メール、サードパーティメッセージングアプリケーションメッセージなどを含む。通知は、対応するコンピューティングデバイスを介して別のユーザによって開始されるメッセージではない通知をさらに含む。たとえば、通知は、ユーザのコンピューティングデバイスにインストールされたアプリケーションによって生成された通知(たとえば、スポーツアプリによるスコア更新である通知、ショッピングアプリからの販売通知である通知など)、ユーザのコンピューティングデバイスのオペレーティングシステムによって生成されたシステム通知(たとえば、バッテリー残量が少なくなっているという通知、Wi-Fiネットワークが利用可能であるという通知など)なども含み得る。
【0025】
いくつかの実装形態では、自動アシスタントアプリケーションは、自動車コンピューティングデバイス、および/または、その中にあるが、自動車から離れたパーソナルコンピューティングデバイス上で、またはそこで動作することができる。これらの実装形態の一部では、自動アシスタントアプリケーションは、携帯電話などのパーソナルコンピューティングデバイスではなく、自動車コンピューティングデバイス上またはそこで動作することができる。しかしながら、パーソナルコンピューティングデバイスは、自動車コンピューティングデバイスと組み合わせることができ、それによって、自動アシスタントアプリケーションがパーソナルコンピューティングデバイスにおいて受信されたデータにアクセスすることができる媒体が提供される。さらに、自動アシスタントアプリケーションは、自動車コンピューティングデバイスおよび/または自動車コンピューティングデバイスと組み合わされたパーソナルコンピューティングデバイス上で実行することができるので、自動アシスタントアプリケーションは、車両関連データにアクセスすることができる。運転中または何らかの他のアクティビティの実行中に注意散漫になるのを防ぐために、自動アシスタントは、アクティビティ、通知、および/またはユーザに関連付けられたデータを使用して、通知またはメッセージの提供(すなわち、何かが提示されるかどうか、いつ、および/またはどのように提示されるかの指定)を変更することができる。
【0026】
いくつかの実装形態では、自動車コンピューティングデバイスのアシスタントアプリケーションインターフェースと組み合わされたサードパーティデバイス(たとえば、サードパーティメーカーによって作られたタブレットコンピューティングデバイスなど)によってメッセージを受信することができ、アシスタントアプリケーションインターフェースは、自動アシスタントアプリケーションと通信することができる。自動アシスタントアプリケーションは、サーバデバイスなどのリモートデバイス、または車両内に配置されているか、そうでなければ車両に取り付けられているコンピューティングデバイスにおいてホストすることができる。自動アシスタントアプリケーションは、メッセージを処理して、(i)自動アシスタントアプリケーションにとってアクセス可能な、または(ii)そうでなければ、車両の遠出に関連するデータを使用して応答され得る1つまたは複数のクエリをメッセージが含んでいるかどうかを判定することができる。着信メッセージの処理は、しきい値数未満のユーザとの対話、および/またはユーザからの入力でメッセージに応答することが可能であるかどうかに従って、メッセージを分類することを含むことができる。いくつかの実装形態では、車両の遠出に関連するデータに基づいて応答できるクエリは、推定到着時間の要求および/またはユーザまたは車両の現在位置の要求を含み得る。たとえば、送信者が単に自分の居場所、目的地に到着したかどうか、および/またはイベントが開始されたかどうかを単に人に伝えているとき、人の位置または到着時間に関する直接の質問ではない可能性のあるクエリを含むメッセージにも応答することができる。
【0027】
車両の遠出中に収集することができるデータは、車両の速度、車両の位置、天候など車両の環境の特徴、ユーザがナビゲートしている場所、ユーザの推定到着時間、ならびに/または車両の遠出中にセンサーおよび/もしくは他のデバイスによって収集することができる任意の他の情報を含むことができる。本明細書で説明するように、そのようなデータは、メッセージおよび/もしくは他の着信通知がユーザに提示されるかどうか、いつ、ならびに/またはどのように提示されるかを決定する際に利用することができる。さらに、そのようなデータは、追加または代替として、ユーザに代わって着信メッセージに応答する際に利用するための内容を決定する際に利用することができる。たとえば、「あなたはどこにいますか?」という着信メッセージの場合、ユーザは、自分の位置を自動車コンピューティングデバイスに入力するか声で説明しなければならない代わりに、単に、自動アシスタントアプリケーションがユーザの位置をメッセージの送信者に送信することを確認するだけでよい。自動アシスタントアプリケーションがユーザに代わって応答することを許可する確認は、通知の受信前、受信中、および/または受信後に提供することができる。たとえば、ユーザは、ユーザの配偶者がテキストメッセージを介してユーザの位置について尋ねたとき、ユーザに代わって、通知なしに、自動アシスタントアプリケーションに応答するようアドバイスすることができる(たとえば、「私がどこにいるのか妻が尋ねてきたとき、運転中は私に通知せず、私の位置を彼女に送ってください」)。その結果、ユーザの運転中に配偶者から「あなたはどこにいますか?」というメッセージが受信されたとき、自動アシスタントアプリケーションは、ユーザに関連付けられた地理位置情報データで応答し、ユーザにメッセージや応答を通知しない。
【0028】
代替的に、通知を受信している間、ユーザは、アクティビティが完了したとき(たとえば、運転を終了した、オフィスを離れた、食料雑貨店を出たなど)、特定の通知を受信するための基本設定を設定することができる。たとえば、自動アシスタントアプリケーションは、知人から呼び出しを受信していることをユーザに通知することができる。通知または呼び出しを受信すると、ユーザは、「運転を終えたら、アダムからの呼び出しと不在着信を私に通知してください」など口頭のコマンドを提供することができる。これに応答して、自動アシスタントアプリケーションは、連絡先「アダム」からの呼び出しおよび不在着信に関連する通知を提示するための設定を変更することができる。この設定によって、自動アシスタントアプリケーションは、ユーザが運転を終了するまでアダムからの呼び出しの送信または通知を遅らせることができる。本明細書で説明するように、自動アシスタントアプリケーションは、追加および/または代替として、通知をいつ提供するかに関連する基本設定の任意の明示的な指示をユーザから事前に受信することなく、ユーザに通知をいつ提供するかを自動的に決定することができる。たとえば、自動アシスタントアプリケーションは、本明細書で説明するように、ユーザのエンゲージメントの予測レベルおよび/または通知の性質に基づいて通知を提供すべきときを自動的に決定することができる。
【0029】
いくつかの実装形態では、ユーザは、通知が提示されるモダリティを変更することができ、それによって、ユーザは、おそらく、あまり注意散漫にならない形、またはあまり認知リソースを必要としない(たとえば、短期記憶が少ない)形で、依然として通知を受信することができる。たとえば、ユーザは、車両コンピューティングデバイスに接続されたグラフィカルユーザインターフェース(GUI)を含む車両を操作中である可能性がある。自動アシスタントアプリケーションは、ユーザが運転している間、GUIにおいて仕事の電子メールアカウントに関連付けられた電子メールを提示することができる。仕事関連の電子メールに関する通知を受信したことに応答して、ユーザは、「運転中に仕事の電子メールを受信したときは、ただ件名を読んでください」などの音声コマンドを提供することができる。それに応答して、自動アシスタントアプリケーションは、運転中に、ユーザが仕事の電子メール通知を受信するモダリティを変更することができる。その後、仕事の電子メールに関する通知が車両コンピューティングデバイスのGUIにおいて提示される代わりに、自動アシスタントアプリケーションは、車両のオーディオデバイス(たとえば、スピーカー)に、仕事の電子メールの件名に対応する音声言語を出力させることができる。代替的に、ユーザは、特定の時間および/または特定の条件もしくはコンテキストが発生するまで、通知を遅らせるための基本設定を設定することができる。たとえば、上述の例を参照すると、ユーザは、「運転中に仕事の電子メールを受信したときは、運転が終わったときに、ただ件名を読んでください」などの音声コマンドを提供することができる。その後、ユーザが運転中に仕事の電子メールを受信すると、自動アシスタントアプリケーションは、ユーザがアクセスしているデバイス、またはそうでなければユーザの可聴範囲内にあるデバイスを介して、ユーザへの仕事の電子メールの件名を読むことができる。
【0030】
ユーザは、「職場から運転して帰宅している間に仕事の電子メールを受信したときは、帰宅したときに、ただ送信者の名前を読んでください」などの音声コマンドを提供することもできる。その後、ユーザが運転して帰宅している間に仕事の電子メールを受信したとき、自動アシスタントアプリケーションは、ユーザに関連付けられた地理位置情報データが、ユーザが自宅にいることを示すまで、ユーザへの通知の提供を遅らせることができる。その時点で、自動アシスタントアプリケーションは、ユーザの家のオーディオデバイスに、ユーザが特定の送信者から仕事の電子メールを受信したことを示す可聴出力をユーザに対して提供させることができる。このようにして、自動アシスタントは、ユーザの入力を介して、通知が受信されるモダリティも変更しながら、運転中の潜在的な注意散漫の数を低減している。本明細書で説明するように、自動アシスタントアプリケーションは、追加および/または代替として、モダリティに関連するユーザからの基本設定の任意の明示的な指示を事前に受信することなく、ユーザに通知を提供するためのモダリティを自動的に決定することができる。たとえば、自動アシスタントアプリケーションは、本明細書で説明するように、ユーザのエンゲージメントの予測レベルおよび/または通知の性質に基づいて、通知を提供するためのモダリティを自動的に決定することができる。
【0031】
いくつかの実装形態では、ユーザは、送信者からメッセージを受信することができ、自動アシスタントアプリケーションは、必ずしもユーザに対してメッセージを読んだり説明したりすることなく、メッセージに応答することができる。たとえば、自動アシスタントアプリケーションは、着信メッセージを処理して、メッセージで識別された1つまたは複数のクエリに自動アシスタントアプリケーションが応答できるかどうかを判定することができる。自動アシスタントアプリケーションがクエリのうちの少なくとも1つに応答できる場合、自動アシスタントアプリケーションは、(i)メッセージが受信されたこと、および/または(ii)自動アシスタントアプリケーションがメッセージに応答できることを示すユーザへの通知を生成することができる。
【0032】
自動アシスタントアプリケーションは、たとえば、「アダムスミスからメッセージを受信し、あなたの場所でメッセージに応答することができます。あなたの場所で応答しましょうか?」などの通知を提供することができる。ユーザが自動アシスタントアプリケーションからの通知に肯定的に応答した場合(「はい、メッセージに応答してください。」)、自動アシスタントアプリケーションは、応答メッセージを生成し、応答メッセージを、送信者(たとえば、アダムスミス)に関連付けられたデバイスに送信することができる。このようにして、ユーザは、必ずしも運転中にメッセージを聞く必要はなく、また、応答メッセージの内容に何が含まれるかを必ずしも説明する必要もない。これによって、ユーザは、運転、車内での人とのコミュニケーション、車内でオーディオを聴くこと、および/または車両の操作中に安全に実行できる任意の他のアクティビティなど、他のタスクにより集中することができる。さらに、車内で動作するデバイス、および/または、通常はメッセージの送受信を処理するリモートデバイスにおいて、計算リソースを保護することができる。計算リソースをさらに保護するために、ユーザが通知に応答する前に応答メッセージを生成することができる。このようにして、自動アシスタントアプリケーションがユーザに代わって応答する許可をユーザが提供するとすぐに、応答メッセージの送信の任意の遅延を軽減することができる。
【0033】
さらに、自動アシスタントアプリケーションが着信メッセージを解釈し、着信メッセージで識別された1つまたは複数のクエリに対する応答を生成する結果として、必要な音声処理が少なくなる。実行する必要のあり得る唯一の音声処理は、たとえば、自動アシスタントアプリケーションがメッセージに応答することをユーザが確認することであり、これは、「はい」など1つの単語の応答と同じくらい簡単であり得る。本明細書で説明するように、自動アシスタントアプリケーションは、ユーザのエンゲージメントの予測レベルおよび/または通知の性質に基づいて、ユーザに代わって通知に応答するときを決定することができる。さらに、自動アシスタントアプリケーションは、そのような考慮事項に基づいて、(たとえば、ユーザの確認を必要とする)応答の前にユーザに最初にプロンプトを表示するかどうか、ユーザに最初にプロンプトを表示することなく応答するか、および/または自動アシスタントがユーザに代わって応答したことを示す指示を提供するかどうか、および/またはいつ提供するかを決定することができる。
【0034】
遠出中に収集され、メッセージに応答するときに使用することができるデータは、たとえば全地球測位システム(GPS)データを含むことができる。GPSデータを使用して、ユーザのコース、および/またはユーザの現在位置を識別することができる。識別されたコースおよび現在位置の各々は、自動アシスタントアプリケーションが受信されたメッセージに自動的に応答するために生成するメッセージで具体化することができる。セルタワー三角測量などのセルラーデータに基づく位置データを、着信メッセージに応答するための基礎として使用することもできる。メッセージが受信されたときに、自動アシスタントアプリケーションによって自動的に生成される応答データを提供するために、セルラーデータをGPSデータと組み合わせて使用することができる。
【0035】
いくつかの実装形態では、自動アシスタントアプリケーションによってマップアプリケーションデータを使用することもできる。マップアプリケーションデータは、たとえば、ユーザの意図された目的地、ユーザの過去の目的地、ユーザの旅行の開始時間、ユーザの推定到着時間、ユーザの近くの場所、ユーザが旅行の間に立ち寄る場所、および/またはマップアプリケーションにとってアクセス可能であり得る任意の他のデータを含むことができる。いくつかの実装形態では、ある場所へのルート中に受信されたメッセージへの応答を生成するために、自動アシスタントアプリケーションによって、速度および/または交通情報を使用することができる。たとえば、送信者に折り返し電話をかけるようにユーザに要求するメッセージをユーザに送信することができる。しかしながら、ユーザがある速度で、および/または(たとえば、渋滞や複雑な操作を含む)やや複雑なルートの特定のポイントで移動中にメッセージを受信した場合、自動アシスタントアプリケーションは、そうでなければユーザにメッセージを通知するために使用される通知の提供を変更することができる。たとえば、自動アシスタントアプリケーションは、メッセージに関するユーザへの通知の提供を省略し、旅行の特定の側面(たとえば、速度または現在のルートでの困難な曲がり角など)のために、ユーザが一時的に電話をかけることができないことを示す応答メッセージを送信者のために生成することができる。言い換えれば、自動アシスタントアプリケーションは、ユーザが高予測レベルのエンゲージメントに関連付けられたルートの一部にいると判定することができる。ユーザがルートの一部をナビゲートしている間に自動アシスタントアプリケーションがメッセージを受信すると、自動アシスタントアプリケーションは、ユーザがあまり注意散漫にならない別の時間または場所を識別することができ、したがって、メッセージをより受信できるようになる。
【0036】
いくつかの実装形態では、車両の性能に関連するデータまたは車両の(たとえば、ブレーキ、パワーステアリング、充電コントローラ、オルタネータ、温度センサー、タイヤ空気圧センサー、ガスタンクセンサーなど)1つまたは複数のサブシステムに対応する運用データは、ユーザに対する1つまたは複数の通知の提供を動的に決定するために、自動アシスタントアプリケーションの基礎として使用することができる。たとえば、ガスタンクレベル、充電レベル、エンジンメンテナンス、道路脇に対する車両の位置、および/または車両の状況を示すことができる任意の他のデータを測定するセンサーによって提供されるデータは、ユーザに対する1つまたは複数の通知の提供を決定するための基礎として使用することができる。いくつかの実装形態では、自動アシスタントアプリケーションは、送信者からメッセージを受信することができ、自動アシスタントアプリケーションは、ユーザに、車両の運用データを使用して、送信者からのメッセージを受信し、および/またはそれに応答するオプションを提供することができる。
【0037】
たとえば、送信者がユーザの場所を尋ねるメッセージをユーザに提供し、車両の運用データが、ユーザのガソリンが少なくなっていることを示しているとき、自動アシスタントアプリケーションは、ユーザのガソリンが少なくなっていることを示すメッセージを生成することができる。メッセージの内容は、たとえば、「私はムハンマドアリブルバードにいますが、ガソリンのために停止する必要があります」などを含むことができる。代替的に、車両の運用データは、ユーザが道路の脇で停車しており、エンジンのメンテナンスが必要であることを示すことができる。したがって、応答メッセージ用に自動アシスタントアプリケーションによって生成された応答メッセージの内容は、運用データに基づいてユーザの状況を記述することができる。たとえば、ユーザがユーザの状況またはユーザの場所を尋ねるメッセージを送信者から受信すると、アシスタントアプリケーションによって生成される応答メッセージの内容は、「エンジンのメンテナンスの問題のために道路の脇に停車しています」を含むことができる。
【0038】
いくつかの実装形態では、自動アシスタントアプリケーションは、ユーザに送信されたメッセージで識別されたタスクをユーザが達成することができるかどうかを判定するために、ユーザのルートに関連するデータを処理することができる。たとえば、ユーザが時速60マイルで移動しており、さらに15分間曲がる必要がない場合、ユーザは、移動中に電話で会話をすることができる可能性がある。したがって、ユーザが送信者に折り返し電話をする旨の要求を含むメッセージがユーザに送信された場合(たとえば、「こんにちは、ルーク、すぐに電話してもらえますか?」)、自動アシスタントアプリケーションは、ユーザへのメッセージを唱え、および/またはメッセージを要約し、送信者に電話するかどうかをユーザに尋ねることができる。随意に、自動アシスタントアプリケーションは、電話をかけ始めるかどうか、および/またはメッセージに応答するかどうかを決定するためのコンテキストを提供するために、次の曲がり角までどれだけの時間があるかをユーザに思い出させることができる。自動アシスタントアプリケーションが、ユーザがあまりにも注意散漫で電話での会話ができないと判定した場合(たとえば、ユーザが時速75マイルで移動しており、次の3分間に2回曲がる必要がある)、自動アシスタントアプリケーションは、送信者からのメッセージをユーザに通知する前にユーザの注意散漫が少なくなるまで待つことができる。たとえば、自動アシスタントアプリケーションは、ユーザが注意を高める必要があるルート、またはルートの少なくとも一部分を完了する(たとえば、次の3分間で2回の曲がり角を操作する)まで待つことができる。
【0039】
いくつかの実装形態では、自動アシスタントアプリケーションは、メッセージの送信者によって行われた仮定および/または矛盾を修正することができるメッセージを生成することができる。たとえば、映画館などの第1の位置にいつ到着するかを尋ねるメッセージをユーザに送信することができる。しかしながら、ユーザは、少なくとも第2の位置にルーティングするためにユーザが使用したマップアプリケーションに従って、レストランなどの第2の位置に向けて運転している場合がある。メッセージを受信したことに応答して、自動アシスタントアプリケーションは、メッセージを処理して、その人が、ユーザの現在のルートに関連する応答をユーザに要求していると判定することができる。さらに、自動アシスタントアプリケーションは、受信されたメッセージの内容をユーザのルートに関連付けられたデータと比較することができる。たとえば、ユーザのルートに関連付けられたデータは、マップアプリケーションにおいてユーザによって設定された目的地を含むことができる。メッセージの内容がマップアプリケーションからのデータに対応していないとき、アシスタントアプリケーションは、ユーザが第1の位置(たとえば、映画館など)ではなく、第2の位置(たとえば、レストランなど)にナビゲートしていることをその人にアドバイスするメッセージを生成することができる。次いで、自動アシスタントアプリケーションは、修正応答でその人に応答する許可をユーザに求めることができる(「アダムはあなたがいつ映画館に到着するかを尋ねています。あなたはレストランに行くつもりだと彼に伝えましょうか?」)。ユーザが自動アシスタントアプリケーションに修正メッセージを提供する許可を与えると、自動アシスタントアプリケーションは、修正メッセージをその人に送信することができる。修正メッセージは、メッセージのさらなる内容を提供したり、修正メッセージで提供される正確なテキストを具体的に提供したりすることをユーザに要求することなく、送信することができる。修正メッセージは、たとえば、「レストランに行くつもりです」などとすることができる。
【0040】
いくつかの実装形態では、センサーデータは、通常、言語に依存しないので、自動アシスタントアプリケーションによって生成された自動応答は、送信者および/またはユーザの言語の基本設定に従って翻訳することができる。たとえば、メッセージの送信者は、フランス語で話す基本設定を有している可能性があり、送信者はユーザの位置を要求するメッセージをフランス語でユーザに送信する可能性がある。応答して、自動アシスタントアプリケーションが送信者に応答することをユーザが許可した場合、自動アシスタントは、ユーザにはなじみがない(または送信者が基本設定している)が、そうでなければ、ユーザが走行している車両に関連付けられたセンサーデータに基づく言語でメッセージの内容を生成することができる。
【0041】
いくつかの実装形態では、自動アシスタントアプリケーションは、メッセージングアプリケーションとは異なる他のアプリケーションからの着信信号または通知に応答して内容を生成することができる。たとえば、自動車ディーラーまたは自動車整備会社に関連するサードパーティエージェントまたはサードパーティアプリケーションは、ユーザが所有する車両のある側面について尋ねるクエリを含む通知またはメッセージを送信する場合がある(たとえば、車はまだ熱いですか?」)。サードパーティエージェントからの通知の内容は、通知が車両関連かどうかを判定するために、自動アシスタントアプリケーションによって処理され得る。通知の内容が車両関連の場合、自動アシスタントアプリケーションは、ユーザが運転している車両に関連付けられた車両データ(たとえば、温度センサーデータなど)にアクセスして、自動アシスタントアプリケーションがサードパーティエージェントのための応答を生成することができるかどうかを判定することができる。
【0042】
車両データがサードパーティエージェントへの応答を生成するのに十分であると自動アシスタントアプリケーションが判定した場合、自動アシスタントアプリケーションは、サードパーティエージェントに応答する許可についてユーザに問い合わせることができる。たとえば、サードパーティエージェントは、サードパーティエージェントを管理する会社によって修理または設置された可能性のある車両のブレーキの状況について尋ねることができる。自動アシスタントアプリケーションは、ブレーキの状況を尋ねる通知を受信し、車両からのブレーキセンサーデータを使用して、サードパーティエージェントに送り返される応答メッセージの内容を生成することができる。自動アシスタントアプリケーションは、サードパーティエージェントからの通知をユーザに通知し、サードパーティエージェントに応答するための許可を求めることができる(たとえば、「ブレーキを修理した会社からメッセージを受信し、それに応答を提供することができます。現在のブレーキセンサーデータを会社に送信しましょうか?」)。ユーザが肯定的に応答した場合、またはさもなければ自動アシスタントアプリケーションがサードパーティエージェントに応答する許可を提供した場合、自動アシスタントアプリケーションは、ブレーキセンサーデータをサードパーティエージェントに送信することができ、それによって、ユーザが有する会社および/またはサードパーティエージェントとのエンゲージメントの量を最小限に抑えることができる。これによって、ユーザは、あまり注意散漫にならずに車両を操作することができるとともに、車両メーカーおよび車両サービスプロバイダーが車両および/またはサービスに関するフィードバックを受信することができる手段も提供することができる。
【0043】
図1は、ユーザへのメッセージまたは通知の送信および/または受信を調整することができる自動アシスタント104を示す
図100を提供する。具体的には、自動アシスタント104は、ユーザが車両116を操作しているときなどの注意散漫を低減するために、ユーザが自動アシスタント104から通常メッセージまたは指示をどのように受信するかを変更することができる。このようにして、自動アシスタント104は、そうでなければユーザに干渉することになるいくつかの注意散漫を低減することができる。したがって、自動アシスタント104は、車両116を操作しているユーザに対する注意散漫の数を低減することによって、車両116の安全性を向上させることができる。さらに、自動アシスタント104は、そうでなければユーザと自動アシスタント104との間の複数の対話を繰り返し行うことに費やされる計算リソースを保護することができる。
【0044】
自動アシスタント104は、サーバデバイス102などのリモートデバイス112、および/またはアシスタントアプリケーションをホストすることができる1つまたは複数のコンピューティングデバイスでホストすることができる。たとえば、いくつかの実装形態では、自動アシスタント104は、パーソナルコンピューティングデバイス140、車両コンピューティングデバイス122、および/またはリモートデバイス112でホストすることができる。自動アシスタント104によって実行されるプロセスまたは機能は、サーバデバイス102によって実行されるか、別個のデバイスに分散され得る。たとえば、ユーザは、パーソナルコンピューティングデバイス140のアシスタントインターフェース142で、ボイスコマンドまたはテキスト入力などの入力を提供することができる。ユーザからの入力は、パーソナルコンピューティングデバイス140から、プライベートまたはパブリックネットワーク(たとえばインターネット)などのネットワーク114を介してサーバデバイス102に送信することができる。入力がボイスコマンド、またはユーザからの他の可聴入力であるとき、入力は、自動アシスタント104の一部であり得るか、自動アシスタント104とは別であり得るボイス-テキストエンジン108で受信することができる。ボイス-テキストエンジン108は、入力をテキストに変換することができ、これは、自動アシスタント104がどのようにユーザからの入力に十分に応答することができるかを決定するために、自動アシスタント104によって構文解析することができる。
【0045】
1人または複数人のユーザと自動アシスタント104との間の対話は、アシスタント対話データ106として記憶することができる。アシスタント対話データ106は、たとえば、1人または複数人のユーザから受信された1つまたは複数の入力および自動アシスタント104から生成された1つまたは複数の応答を識別する対応データを提供することができる。自動アシスタント104は、ユーザの要求、基本設定、および/もしくはユーザがそうでなければ自動アシスタント104とどのように対話するかを学習する、またはそうでなければそれに適応させるための1つもしくは複数の機械学習アルゴリズムを使用することができる。いくつかの実装形態では、サーバデバイス102および/または自動アシスタント104は、エンゲージメント予測エンジン110を含むことができる。エンゲージメント予測エンジン110は、自動アシスタント104からの応答または他の出力を引き出すために、ユーザが発揮するエンゲージメントの量を決定またはそうでなければ推定することができるアプリケーション、スクリプト、および/または他の実行可能データとすることができる。
【0046】
エンゲージメント予測エンジン110は、自動アシスタント104から特定の応答を受信するための複雑さのレベルまたはランクを示すデータ(たとえば、メトリック)を生成するために、アシスタント対話データ106を処理することができる。たとえば、アシスタント対話データ106は、ユーザが車両116を運転している間にユーザが着呼を受信していることを、自動アシスタント104がユーザに以前示したときの対話に対応するデータを含むことができる。アシスタント対話データ106は、ユーザが自動アシスタント104に肯定的に応答したことを示すさらなるデータを提供することができ、それによって、車両116を運転している間に呼を受け付ける。この事例では、自動アシスタント104によって単一の出力が提供され、ユーザによって単一の応答が提供され、したがって、自動アシスタント104とユーザとの間のエンゲージメントは最小であった。ユーザが自動アシスタント104から同様の着呼関連の通知を受信すると、エンゲージメント予測エンジン110は、エンゲージメント予測エンジン110によって処理される他の対話の大部分より少ない、ユーザによって発揮される、または自動アシスタント104に応答することをユーザによって要求されるエンゲージメントを定量化するスコアやメトリックなどのデータを生成することができる。
【0047】
比較すると、自動アシスタント104は、ユーザが知人からメッセージを受信したことを示す出力を提供することができる。それに応答して、ユーザは、メッセージが自動アシスタント104によってユーザに対して読まれることを要求することができる。次いで、自動アシスタント104は、ユーザに対してメッセージの内容を読むことができ、内容がユーザに対する1つまたは複数のクエリを含む場合、自動アシスタント104は、メッセージに応答したいかどうかをユーザに尋ねることができる。それに応答して、ユーザは、自動アシスタント104に肯定的に応答し、自動アシスタント104によって生成されたメッセージを介して知人によって受信されるべき応答内容を提供することができる。ユーザが自動アシスタント104を介して知人から同様のメッセージを受信すると、エンゲージメント予測エンジン110は、(たとえば、ユーザが車両116を操作している間に呼がユーザに通知される上述の例など)着呼に応答するときに発揮されるエンゲージメントの量よりも大きい、ユーザによって発揮される、または自動アシスタント104に応答することをユーザによって要求されるエンゲージメントを示すデータを生成することができる。このようにして、エンゲージメント予測エンジン110および/または自動アシスタント104は、特定の通知および/またはユーザと自動アシスタント104との間の対話のエンゲージメントのレベルを示すデータを追跡することができる。
【0048】
いくつかの実装形態では、エンゲージメント予測エンジン110は、操縦の数、曲がり角の数、曲がり角の性質(たとえば、角度、半径、完了までの時間など)、交通状態、高度の変化、速度の変化、交差点の数、次のナビゲーションステップまでの距離、および/または車両116内で走行しているユーザによって行われているルートナビゲーションの任意の他の性質に基づいて、ユーザの操作上のエンゲージメントのレベルを推定することができる。操作上のエンゲージメント、および/または操作上のエンゲージメントに関連付けられた任意のデータは、ユーザに通知をいつおよび/またはどのように提示するかについての決定を行うために、自動アシスタント104によって使用され得る。エンゲージメント予測エンジン110は、様々なソースからのデータを使用して、様々なルートの操作上のエンゲージメントのレベルを推定することができる。たとえば、車両コンピューティングデバイス122は、ネットワーク114を介してサーバデバイス102にナビゲーションおよび/または車両関連データを提供することができる1つまたは複数の車両アプリケーション126を含むことができる。
【0049】
いくつかの実装形態では、車両116にある、および/またはそうでなければそれに関連付けられたセンサーは、車両データ128を生成することができ、車両データ128もネットワーク114を介してサーバデバイス102に送信することができる。いくつかの実装形態では、パーソナルコンピューティングデバイス140は、車両コンピューティングデバイス122と通信する、および/またはサーバデバイス102と通信することが可能なアプリケーションを含むことができる。エンゲージメント予測エンジン110は、車両データ128、車両アプリケーション126からのデータ、パーソナルコンピューティングデバイス140からのデータ、ならびに/あるいは、車両116をナビゲートする、もしくはそうでなければ車両116を制御するために、ユーザから発揮されるもしくはそうでなければ予想されるエンゲージメントのレベルに関連付けることができ、および/またはそれを示すことができる任意の他のデータを使用することができる。
【0050】
また他の実装形態では、車両コンピューティングデバイス122は、ユーザと車両116および/または車両コンピューティングデバイス122との間の対話に対応するユーザ対話データ124を収集することができる。たとえば、ユーザ対話データ124は、ユーザが、朝、職場に行くために車両116をナビゲートしている時間の大部分、ユーザが通常車両アプリケーション126のメディアストリーミングアプリケーションを呼び出すことを示すことができる。したがって、ユーザは、車両をナビゲートしている間に車両アプリケーション126のメディアストリーミングアプリケーションを使用することを個人的に選択しているので、朝の職場ルートナビゲーションについて生成される操作上のエンゲージメントの予測レベルは、他のルートナビゲーションに比べて低いと推定することができる。さらに、メディアストリーミングアプリケーションを操作するためのエンゲージメント予測エンジン110によって生成されるアプリケーションエンゲージメントの予測レベルは、車両コンピューティングデバイス122が車両116でルートをナビゲートしながら操作することができる他のアプリケーションに比べて低くなり得る。
【0051】
一例として、およびいくつかの実装形態では、ユーザが車両116をナビゲートしている間に、自動アシスタント104は、タブレットコンピューティングデバイス120などの接触コンピューティングデバイス130で生成されたメッセージを使用して、知人138がユーザに連絡しようとしていることを示す指示または他のデータを受信することができる。自動アシスタント104は、自動アシスタント104にとって利用可能なアカウントデータを使用して、ユーザのパーソナルコンピューティングデバイス140が車両コンピューティングデバイス122と組み合わされることを決定することができる。したがって、自動アシスタント104は、知人138から車両アプリケーション126またはパーソナルコンピューティングデバイス140のメッセージアプリケーションのいずれかにメッセージを送信するオプションを有する。しかしながら、自動アシスタント104は、メッセージを完全に提供するか、ユーザのためのメッセージを要約するか、ユーザに代わって自動的に応答してユーザに応答を提供するか、ユーザに代わって自動的に応答してユーザへの応答の提供を遅らせるか、および/またはそうでなければユーザによるメッセージの受信を変更するかを決定することができる。メッセージの提示または提供に対するそのような変更は、メッセージの内容、メッセージのコンテキスト、アシスタント対話データ106、ユーザ対話データ124、車両データ128、操作上のエンゲージメントの推定、アプリケーションエンゲージメントの推定、ならびに/またはエンゲージメント生成エンジン110および/もしくは自動アシスタント104によって生成される任意の他のデータに基づくことができる。情報を送信するためのこの技法は、ユーザへの損傷のリスクを軽減し、データの送信に関与する様々なデバイスの計算リソースを保護することもできる。
【0052】
いくつかの事例では、自動アシスタント104がパーソナルコンピューティングデバイス140および/または車両コンピューティングデバイス122へのメッセージまたは通知の送信をバイパスすることを選択すると、メッセージは、接触コンピューティングデバイス130でホストされるサードパーティエージェント136から発信され得る。たとえば、接触コンピューティングデバイス130は、車両116などの車両に関連付けられたサービスを提供する会社に関連付けることができる。サードパーティエージェント136は、車両116から車両データ128を収集するために会社によって確立されたサードパーティアシスタントアプリケーションであり得る。
【0053】
サードパーティエージェント136は、ユーザによる受信のためにメッセージを自動アシスタント104に提供することができる。自動アシスタント104は、メッセージの内容内のクエリを識別するために、メッセージを構文解析することができる。メッセージは、たとえば、「こんにちは、ジャック、最近、タイヤの穴を埋めました。その後、タイヤの空気圧は一定でしたか?」とすることができる。自動アシスタント104は、タイヤ空気圧データを要求するクエリを識別することができる。その後、自動アシスタント104は、車両データ128が、サードパーティエージェント136に関連付けられた会社によってサービスが実行されてから収集されたタイヤ空気圧データを含むかどうかを決定することができる。自動アシスタント104は、車両データ128を処理し、車両アプリケーション126のいくつかの機能を呼び出し、(ユーザからの許可を有する)自動アシスタント104にとって利用可能なアカウントデータおよび/または車両116において実行された最近のサービスを示すデータの任意の他のソース内で検索を実行することによって、車両116において実行されるサービスに関連するデータにアクセスすることができる。
【0054】
メッセージおよび/またはメッセージのクエリは、クエリに応答するためにユーザが発揮し得るアプリケーションエンゲージメントの量を推定するために、エンゲージメント予測エンジン110によって処理することができる。ユーザが口頭での内容や何らかの他の物理的に喚起された労力を明示的に提供することなく、自動アシスタント104にとってアクセス可能な車両データ128でクエリに応答することができるので、アプリケーションエンゲージメントの推定量は、ユーザが電話を受け付ける、またはテキストメッセージ応答の内容を口頭で提供することに比べて最小とすることができる。さらに、メッセージの受信に応答して、自動アシスタント104および/またはエンゲージメント予測エンジン110は、車両116を操作するときにユーザが発揮し得る操作上のエンゲージメントの現在および/または将来の量を推定することができる。たとえば、ユーザが1分の時間期間以内に複数の曲がり角によって特徴付けられる、特に複雑なルート上にいる場合、1分または数分よりも長い間いかなる曲がり角もなしに車両116をナビゲートするときにユーザが発揮する可能性のある操作上のエンゲージメントの量よりも高いものとして、操作上のエンゲージメントの量を推定することができる。
【0055】
エンゲージメント予測エンジン110によって推定されるアプリケーションエンゲージメントの量が少なく、エンゲージメント予測エンジン110によって推定される操作上のエンゲージメントの量が多いとき、自動アシスタント104は、応答をユーザに即座に提供することなく、サードパーティエージェント136への応答を提供することを選択することができる。たとえば、自動アシスタント104は、サードパーティエージェント136によって要求されたタイヤ空気圧データを識別し、車両コンピューティングデバイス122および/またはパーソナルコンピューティングデバイス140を介してユーザに通知することなく、タイヤ空気圧データをサードパーティエージェント136に送り返すことができる。むしろ、少なくともユーザがナビゲートしているルートの一部、推定されるアプリケーションエンゲージメント、および/または推定される操作上のエンゲージメントなどのメッセージのコンテキストに基づいて、自動アシスタント104は、(i)サードパーティエージェント136からのメッセージおよび/または(ii)自動アシスタント104によってサードパーティエージェント136に提供された応答のユーザへの通知を遅らせることができる。
【0056】
図2は、自動アシスタントアプリケーションを使用して、アクティビティに関与しているユーザに代わって応答メッセージを提供するプロセス
図200を示す。プロセス
図200に関して説明した1つもしくは複数のステップもしくは対話は、自動アシスタントアプリケーションをホストするか、またはそうでなければ自動アシスタントアプリケーションにとってアクセス可能な1つもしくは複数のコンピューティングデバイスによって実行可能な命令で具体化することができる。プロセス
図200は、車両210をナビゲートしているユーザ、ポータブルコンピューティングデバイス206を操作している別のユーザ204、自動アシスタントアプリケーションをホストするサーバデバイスなどのリモートコンピューティングデバイス202、および/または1つもしくは複数の他のアプリケーションをホストすることができる別個のリモートコンピュータデバイス208の間の対話を記載し得る。ユーザによって操作されている車両210は、LTE、Wi-Fi、Bluetooth(登録商標)、および/またはネットワークがアクセスされ得る任意の他の媒体などのネットワークプロトコルを介して自動アシスタントアプリケーションと通信することができる1つもしくは複数のコンピューティングデバイス212を含むことができる。さらに、ユーザは、車両210の1つもしくは複数のコンピューティングデバイス212と組み合わされるか、またはそうでなければ通信するパーソナルコンピューティングデバイスを操作するか、もしくは少なくともそれに近接し得る。
【0057】
プロセス
図200は、車両データ214が車両210のコンピューティングデバイス212からリモートコンピューティングデバイス202に送信されるトランザクションを含むことができる。車両データ214は、センサーデータ、ユーザ対話データ、ユーザのパーソナルコンピューティングデバイスから収集されるデータ、ナビゲーションデータ、環境データ、および/または車両のコンピューティングデバイスに関連付けられる、もしくはそれからアクセス可能な任意の他のデータを含むことができる。自動アシスタントアプリケーションは、車両データを受信し、ユーザが車両210を操作していると判定することができる。たとえば、車両データ214は、特定の目的地に到着するために、遠出の詳細、またはユーザが取っているルートを含むことができる。したがって、自動アシスタントアプリケーションは、ユーザが車両210の操作によって注意散漫になっている、またはさもなければそれに関与していることを通知され得る。
【0058】
プロセス
図200は、ルート処理216に関連付けられたトランザクションも含むことができる。ルート処理は、ルートの様々な部分に対応する操作上のエンゲージメントの予測レベルを決定するために、ユーザによって取られるルートの様々な部分を分析することを含むことができる(たとえば、地理位置情報データを使用するなど)。たとえば、ハイウェイでの長い時間期間の運転に対応するルートの一部の操作上のエンゲージメントの予測レベルは、脇道、路地、私道、および/またはルートの任意の他の非ハイウェイ部分に対応するルートの異なる部分の操作上のエンゲージメントの予測レベルよりも低い場合がある。いくつかの実装形態では、自動アシスタントアプリケーションは、ユーザが車両210をナビゲートしているかどうかに基づいた操作上のエンゲージメントの予測レベルを考慮しないことを選択する可能性もあるので、このトランザクションはオプションである。
【0059】
さらに、プロセス
図200は、アプリケーション通知218を受信することを含むことができる。アプリケーション通知218は、1つまたは複数の異なるアプリケーションをホストすることができる別個のリモートコンピューティングデバイス208から受信することができる。たとえば、1つまたは複数の異なるアプリケーションのうちの1つのアプリケーションは、ショッピングアプリケーションを含むことができ、アプリケーション通知218は、ショッピングアプリケーションによって提供されている取引を識別することができる。しかしながら、ユーザは車両210を操作しているので、自動アシスタントアプリケーションは、ランキングプロセスまたは学習プロセスに基づいて、ユーザが別のアクティビティ(たとえば、車両210の運転など)に関与しないようになるまで、そのような通知の提示を遅らせることを選択することができる。
【0060】
プロセス
図200は、ユーザへのメッセージ220の送信に対応するトランザクションをさらに含むことができる。いくつかの実装形態では、ユーザへのメッセージを、ユーザが複数の異なる人々と同時にチャットするために使用するグループチャットまたはマルチユーザチャットアプリケーションに関連付けることができる。別のユーザ204からのメッセージは、ユーザからの応答を引き出すことを意図していなくてもよい他の内容とともに、1つまたは複数のクエリを含むことができる。
【0061】
プロセス
図200は、アプリケーションフィルタ222を適用するためのトランザクションをさらに含むことができる。具体的には、アプリケーションフィルタ222を適用するトランザクションは、リモートコンピューティングデバイス202および/または車両210のコンピューティングデバイス212での自動アシスタントアプリケーションによって実行することができる。アプリケーション、および/または自動アシスタントアプリケーションにとってアクセス可能な1つまたは複数のアプリケーションに関連付けられた通知をフィルタリングすることによって、自動アシスタントアプリケーションは、ユーザによって受信される通知に優先順位を付けることができる。たとえば、自動アシスタントアプリケーションは、ユーザが車両210を操作していることを通知されたので、自動アシスタントアプリケーションは、ショッピングアプリケーションからのアプリケーション通知を遅らせるが、メッセージングアプリケーションに関連付けられた通知を提示することができる。代替的に、自動アシスタントアプリケーションは、ショッピングアプリケーションからのアプリケーション通知を遅らせるが、メッセージングアプリケーションに関連付けられた通知の提示を変更することができる。さらに、メッセージングアプリケーションからの通知は、誰がユーザにメッセージを送信しているかに応じてフィルタ処理することができる。
【0062】
いくつかの実装形態では、車両コンピューティングデバイス212においてアプリケーションフィルタリングを実行することができる。運転中にユーザが通知を受信するのに十分高くランク付けされる、または十分重要であると見なされる任意のアプリケーションは、車両コンピューティングデバイス212によってユーザに通知を送信することを許可され得る。その後、1つまたは複数の選択されたアプリケーションの識別子は、自動アシスタントアプリケーションまたはリモートコンピュータデバイス202に通信され得る。代替的に、選択されたアプリケーションに関連付けられたデータは、さらなる処理のために、自動アシスタントアプリケーションまたはリモートコンピューティングデバイス202に送信され得る。たとえば、プロセス
図200は、メッセージメタデータ224を送信するためのトランザクションを含むことができる。メッセージメタデータ224は、コンピューティングデバイス212が、メッセージを受信したアプリケーションが最近の取引をユーザに通知しようとしていたショッピングアプリケーションよりも優先されるべきであると判定した結果として送信され得る。アプリケーションの優先順位は、自動アシスタントアプリケーションとの過去のユーザ対話、自動アシスタントアプリケーションにとってアクセス可能な様々なアプリケーションとの過去のユーザ対話に基づいて生成されたデータ、通知がそこから受信されたアプリケーションに関連付けられたコンテキストデータ、ならびに/または通知および/もしくはアプリケーションの優先順位のベースとなる任意の他のデータに基づいて決定することができる。メタデータは、メッセージを送信する連絡先の名前、メッセージの見出し、メッセージの内容、メッセージに関連付けられた時間データ、ならびに/またはメッセージの送信および/もしくは受信に関連付けることができる任意の他のデータを識別することができる。
【0063】
さらに、プロセス
図200は、連絡先ランクを決定するトランザクション226を含むことができる。連絡先ランクの決定226は、ユーザが以前通信した連絡先のランキングを識別する、またはそれにアクセスすることを含むことができる。自動アシスタントアプリケーションは、ユーザが連絡先に応答する頻度、連絡先がユーザと通信する頻度、および/または連絡先に関連付けられたアプリケーションデータ(たとえば、カレンダーアプリケーションデータ、ソーシャルネットワーキングアプリケーションデータなど)の処理に従って、(たとえば、メタデータで識別される)連絡先のランキングを生成することができる。たとえば、少なくともユーザが同僚よりも頻繁に配偶者と通信することを示すデータに基づいて、ユーザの配偶者をユーザの同僚よりも高くランク付けすることができる。
【0064】
プロセス
図200は、メッセージクエリを識別するためのトランザクション228をさらに含むことができる。メッセージクエリは、質問、または受信されたメッセージの内容内で作成された他のステートメントとして具体化することができる。いくつかの実装形態では、メッセージの内容を画像および/またはテキストに関連付けることができる。たとえば、メッセージのテキストは、「これがどの種類のトウガラシであるかを知っていますか?」などの質問を含むことができ、メッセージとともに提供される画像は、ポブラノペッパーのキャプチャされた画像に対応することができる。
【0065】
プロセス
図200は、随意に、アプリケーションエンゲージメントを推定するトランザクション230を含むことができる。アプリケーションエンゲージメントの推定値は、アプリケーション(たとえば、メッセージングアプリケーションなど)との過去の対話、アプリケーションとの以前の対話に関連付けられたコンテキストデータ、アプリケーションとの対話中のユーザの感知された動き(たとえば、目の動き、手の動き、地理位置情報データなど)、および/またはアプリケーションとのエンゲージメントの量を推測することができる任意の他のデータに基づいて自動アシスタントアプリケーションによって生成することができる。たとえば、上述のメッセージは、テキストと画像の両方を含むので、自動アシスタントアプリケーションは、メッセージを残す、および/またはメッセージに応答するために、ユーザによって発揮されることになるアプリケーションエンゲージメントの推定値を生成することができる。次いで、ユーザによって経験される注意散漫を緩和するために、アプリケーションエンゲージメントの推定値を、自動アシスタントアプリケーションによって選択することができるメッセージの提供に対応する1つまたは複数のしきい値と比較することができる。たとえば、第1のしきい値よりも低いアプリケーションエンゲージメントの推定値は、ユーザが注意散漫にならずに全部の通知を受信することができることを自動アシスタントアプリケーションに示すことができる。しかしながら、アプリケーションエンゲージメントの推定値が第1のしきい値よりも高いとき、自動アシスタントアプリケーションは、要約された形式で(たとえば、完全なテキストメッセージよりも少ないテキストとして)通知を提供することができる。アプリケーションエンゲージメントの推定値が第2のしきい値よりも高いとき、通知は、単にメッセージが別のユーザ204から受信されたことを示す画像またはアイコンとしてユーザに提供することができる。
【0066】
プロセス
図200は、車両210のコンピューティングデバイス212において視覚通知を提供するトランザクション232を含むことができる。視覚通知を提供するトランザクション232は、自動アシスタントアプリケーションが、別のユーザ204から受信されたメッセージを、注意散漫になりすぎて完全な形式または要約された形式でユーザに提示できないと判定したことに基づく、またはその結果に基づき得る。したがって、自動アシスタントアプリケーションは、210の車両内にあるグラフィカルユーザインターフェースにおいて視覚刺激を提示するように選択することができる。
【0067】
ユーザが完全なメッセージ、またはメッセージに関連する少なくとも一部のデータを受信することを選択すると、234での通知選択に対応するトランザクションが行われる可能性がある。言い換えれば、コンピューティングデバイス212、またはユーザのパーソナルコンピューティングデバイスは、ユーザがメッセージを見たい、および/または別のユーザ204に応答を提供したいという指示を自動アシスタントアプリケーションに提供することができる。
【0068】
随意に、ユーザが通知を見ることを選択したことに応答して、送信者ランクを上げるトランザクション236は、自動アシスタントアプリケーションによって行われ得る。具体的には、自動アシスタントアプリケーションは、ユーザが210で車両を操作しているにもかかわらず、少なくともユーザが別のユーザ204に関連付けられた通知を受信すること、またはそれに応答することを選択したという事実に基づいて、別のユーザの連絡先ランクを上げることができる。このようにして、自動アシスタントアプリケーションは、ユーザが様々な連絡先からのメッセージを確認したとき、または確認するのをやめたとき、連絡先のランキングをリアルタイムで追跡することができる。
【0069】
プロセス
図200は、自動応答クエリを送信するトランザクション238も含むことができる。自動応答クエリによって、ユーザは、自動アシスタントアプリケーションがユーザに代わって別のユーザ204に応答する許可を有しているかどうかに関するクエリが提示され得る。言い換えれば、自動アシスタントアプリケーションは、視覚クエリ(たとえば、インターフェースでテキストを提示する)および/または車両210のオーディオシステムから出力され得る可聴クエリを提供することができる。可聴クエリは、たとえば、「ご主人から画像にはどのような種類のトウガラシがあるかを尋ねられ、私はあなたに代わって応答することができます。あなたに代わって応答しましょうか?」を含むことができる
【0070】
自動アシスタントアプリケーションに許可を与えることを選択した場合、自動応答選択240を送信するトランザクションを実行することができる。上述の例では、自動アシスタントアプリケーションは、クエリを識別し(「これがどのような種類のトウガラシかを知っていますか?」)、クエリを画像に相関させ、クエリに対する回答を検索することができる。たとえば、自動アシスタントアプリケーションは、(別のユーザ204および/またはユーザから許可を得て)別のユーザ204から受信された画像に基づいて、少なくともある程度の量のデータを使用してインターネットの画像検索を実行し、クエリに対する回答が検索結果に提供されるかどうかを決定することができる。検索結果で回答が提供される場合(たとえば、別のユーザ204からの画像がポブラノペッパーを含むことを検索結果の大部分が示すなど)、自動アシスタントアプリケーションは、応答メッセージを生成するトランザクション242(たとえば、「それはポブラノペッパーです」など)を引き受けることができる。
【0071】
ユーザがユーザに代わって応答する許可を自動アシスタントアプリケーションに付与し、自動アシスタントアプリケーションがクエリに回答するのに十分な情報を識別した結果として、自動アシスタントアプリケーションは、別のユーザ204に自動応答メッセージ244を送信するトランザクションを引き受けることができる。このようにして、自動アシスタントアプリケーションは、通常は規制されない通知によってユーザが注意散漫になる可能性がある状況に適応することができる。さらに、すべての通知をユーザに提供しないことによって、計算リソースを保護することができる。たとえば、これは、ユーザに関連付けられたディスプレイデバイスでの画像の生成、ユーザに関連付けられたデバイスでのオーディオ出力の提供、および/またはそうでなければ様々な電動ネットワーク接続を介した冗長通信に関連付けられた計算リソースを保護することができる。
【0072】
図3は、ユーザのエンゲージメントの予測レベルに応じて、自動アシスタントによって、様々な通知を変更し、および/またはユーザに提示する方法の一例を提供する状態
図300を示す。300の状態図、および/または状態
図300に関して説明した例は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサによって実行可能な命令として具体化することができる。たとえば、状態
図300に関して説明した例は、アシスタントアプリケーションならびに/または通知を受信および/もしくは送信することができる任意の他のアプリケーションによって行われる一連のステップを通じて実装することができる。
【0073】
状態
図300は、状態
図300において行われるアクティビティおよび/またはステップ間の時間的関係を提供する時間期間302を識別することができる。たとえば、自動アシスタントアプリケーションは、ユーザが時間期間302にわたって発揮した、または発揮すると予測されるエンゲージメントのレベルを追跡することができる。エンゲージメントのレベルは、たとえば、ルートにわたる車両のナビゲート、仕事関係のアクティビティ、ある時間期間にわたって実行されるアクティビティ、および/または自動アシスタントアプリケーションによってデータを収集することができる任意の他のタスクなど、1つもしくは複数のアクティビティに対応することができる。自動アシスタントアプリケーション、および/またはエンゲージメント予測エンジンは、ユーザのアクティビティに関連付けられたデータ、コンテキストデータ、地理位置情報データ、カレンダーデータ、頻繁なユーザアクティビティに関連付けられたパターンデータ、および/または任意の他のデータに基づいて、ユーザの様々なレベルのエンゲージメントを予測することができる。
【0074】
一例として、状態
図300は、ユーザのエンゲージメントのレベルに影響を及ぼす様々な状態を有するルートを通ってユーザが車両をナビゲートしている時間302を記載することができる。ルートは、ルートの異なる部分について様々な予測レベルのエンゲージメントを生成するために、アシスタントアプリケーションおよび/または任意の他のプロセスによって処理することができる。たとえば、第1のレベルのエンゲージメント310は、ユーザが近隣から高速道路にナビゲートする必要があるとき、特に複雑なルートの第1の部分に対応することができる。ルートの第1の部分のタイミングのため、ユーザは、様々な異なる通知を受信する場合がある。様々な通知は、ゲーム通知304、電子メール通知306、およびテキストメッセージ通知308を含むことができる。自動アシスタントアプリケーションは、少なくともエンゲージメントのレベルおよび/またはユーザのアクティビティに関連付けることができる任意の他のデータに従って、通知の各々をどのようにユーザに提示するかを変更することができる。
【0075】
たとえば、ユーザが第1のレベルのエンゲージメント310を発揮していると予測されている間に通知がすべて受信されるが、自動アシスタントアプリケーションは、テキストメッセージ通知308に関連付けられた機能を実行することを選択することができる。具体的には、ユーザは、ユーザが運転しているとき、またはユーザのエンゲージメントのレベルに関係なく、自動応答を受信する連絡先を指定することができる。その後、自動アシスタントアプリケーションは、テキストメッセージ通知308を受信し、テキストメッセージの1つが自動応答を受信する指定された連絡先に対応すると判定することができる。次いで、自動アシスタントは、ユーザの第1のレベルのエンゲージメント310を識別し、第1のレベルのエンゲージメント310に従って自動応答を生成することができる。たとえば、第1のレベルのエンゲージメント310は、エンゲージメントしきい値を超える可能性があり、それによって、自動アシスタントアプリケーションは、テキストメッセージへの自動応答318が実行されたことをユーザに通知しない。
【0076】
ユーザがルート上で車両をナビゲートし続けると、ユーザは、第2のレベルのエンゲージメント312に対応するルートの一部に到達することができる。第2レベルのエンゲージメントは、エンゲージメントのしきい値以下になる可能性があり、それによって、自動アシスタントアプリケーションは、320で要約されたテキストメッセージをユーザに提示する。言い換えれば、第2のレベルのエンゲージメント312は、エンゲージメントしきい値未満であるので、ユーザは、ルートの最初の部分の間にユーザによって受信された場合ほど注意散漫にならない特定の通知またはメッセージを受信することができる。
【0077】
いくつかの実装形態では、自動アシスタントアプリケーションによって、異なるモダリティでいくつかの通知を受信するオプションをユーザに提供することができる。たとえば、ユーザが第3のレベルのエンゲージメント314に対応するルートの一部を通って車両をナビゲートしているとき、自動アシスタントアプリケーションは、ユーザが電子メールメッセージを可聴形式で、電子メールの要約322として受信したいかどうかを問い合わせることができる。このようにして、ユーザは、電子メールメッセージを受信するために必ずしも道路から目を離す必要がなく、それによって、ディスプレイデバイスに電子メールメッセージを表示しないことによって、注意散漫になる回数を低減し、電力消費を軽減する。ユーザは、自動アシスタントアプリケーションが電子メールの要約を提示するように要求することができ(たとえば、「電子メールの送信者および電子メールの件名を教えてください」)、または自動アシスタントアプリケーションは、ユーザと自動アシスタントアプリケーションとの間の過去の対話に基づいて、ユーザが聞きたい電子メールの量を推測することができる。たとえば、ユーザは、未開封の電子メールの各々の最初の数行のみを読むように自動アシスタントアプリケーションに以前に要求した可能性がある。したがって、ユーザが運転中であり、エンゲージメントのレベルが下がると、自動アシスタントアプリケーションは、未開封の各電子メールの最初の数行が可聴式に提示される電子メール通知を提供することを選択することができる。
【0078】
ルートのある部分で、ユーザは、自動アシスタントアプリケーションによって予測されるように、第4のレベルのエンゲージメント316を発揮する可能性がある。第4のレベルのエンゲージメント316は、他のレベルのエンゲージメント未満である可能性があり、それによって、ユーザが実行しているアクティビティに特に関与していないことを自動アシスタントアプリケーションに知らせる。その結果、自動アシスタントアプリケーションは、車両ナビゲーション中に以前は提供されなかった任意の残りの通知を提供することができる。たとえば、自動アシスタントアプリケーションは、ユーザが第4のレベルのエンゲージメント316に対応するルートの一部にいるとき(たとえば、赤信号での停止、車道でのパーキングなど)、324でユーザにゲーム通知を提供することができる。さらに、第4のレベルのエンゲージメント316は、他のレベルのエンゲージメント未満なので、通知が受信されるモダリティは、ユーザが同様の通知(たとえば、ディスプレイデバイスで提示されるゲーム通知)を受信した以前のときと比較して変わっていない可能性がある。
【0079】
図4は、ルートを通って車両をナビゲートしている間にユーザが発揮することが予想され得る、またはそうでなければ要求される可能性のあるエンゲージメントの予測レベルに少なくとも部分的に基づいて、ユーザにメッセージを提供するための方法400を示す。方法400は、アシスタントアプリケーション、コンピューティングデバイス、ならびに/またはユーザに通知および/もしくはメッセージを提供することができる1つもしくは複数のデバイスによって実行することができる。方法400は、自動アシスタントアプリケーションにおいて、コンピューティングデバイスを含む車両を介して目的地に向けて遠出しているユーザに向けられたメッセージを受信するブロック402を含むことができる。車両に含まれるコンピューティングデバイスは、自動アシスタントアプリケーションにとってアクセスすることが可能である。たとえば、自動アシスタントアプリケーションは、車両コンピューティングデバイスに少なくとも部分的に記憶され、および/または1つもしくは複数の直接もしくは間接のネットワーク接続を介して車両コンピューティングデバイスと通信するリモートコンピューティングデバイスに少なくとも部分的に記憶され得る。
【0080】
方法400は、目的地への遠出のルートに基づいてルート詳細データを決定するブロック404をさらに含むことができる。ルート詳細データは、ルートの第1の部分の間にユーザが車両をナビゲートするためのエンゲージメントの第1の予測レベルを識別することができる。ルート詳細データは、自動アシスタントアプリケーションおよび/または自動アシスタントアプリケーションと通信するエンゲージメント予測エンジンによって生成することができる。ルート詳細データは、目的地への遠出のルートの性質に基づいて、具体的に決定することができる。そのような性質には、曲がり角の数、予想される速度変化の数、ルートに影響を与えると予測される天気、ルートに影響を与えると予測されるトラフィック、ルートに関連付けられた高度の変化、ルートにおける交差点の数、交通標識の数もしくはルートをナビゲートするための法的要件の数、および/またはナビゲートするルートを多少複雑にする可能性のあるルートの任意の他の特徴があり得る。ルートの性質は、自動アシスタントアプリケーションもホストするデバイスによって記憶されたデータ、および/または別のデバイスにおいて利用可能であるが、そうでなければルートに関する情報を有するエンティティに関連付けられたデータから識別することができる。
【0081】
方法400は、ルートの第1の部分が車両によってトラバースされたことを決定するブロック406も含むことができる。車両がルートの第1の部分をトラバースしている間に、自動アシスタントアプリケーションによってメッセージが受信され得る。たとえば、メッセージは、ユーザの知人に関連付けられた別のコンピューティングデバイスから送信されるSMSメッセージまたはテキストメッセージとすることができる。ユーザがルートの第1の部分を通って車両を運転またはそうでなければナビゲートしている間、自動アシスタントアプリケーションでの別のコンピューティングデバイスからメッセージを受信することができる。
【0082】
方法400は、ルートの第2の部分のエンゲージメントの第2の予測レベルを決定するブロック408をさらに含むことができる。エンゲージメントの第2の予測レベルは、エンゲージメントの第1の予測レベル未満である可能性がある。たとえば、エンゲージメントの第1の予測レベルは、エンゲージメントの第2の予測レベルのスコアまたはメトリックよりも高いものとして特徴付けることができる。したがって、ルートの第1の部分はより複雑であり、より多くの操縦を含み、環境条件による影響がより強く、および/またはそうでなければルートの第2の部分について決定されたエンゲージメントのレベルよりも高いユーザからのエンゲージメントのレベルを必要とする可能性がある。たとえば、ルートの第1の部分は、ルートの第2の部分よりも多くの交差点を有している可能性があり、および/またはルートの第1の部分は、ルートの第2の部分よりも多くの曲がり角を含む可能性がある。
【0083】
さらに、方法400は、エンゲージメントの第2の予測レベルに少なくとも部分的に基づいて、車両のコンピューティングデバイスに、ユーザがルートの第2の部分をナビゲートしている間に、メッセージの少なくとも一部またはメッセージの要約をユーザに対して出力させるブロック410を含むことができる。言い換えれば、自動アシスタントアプリケーションは、ユーザがルートの第1の部分をナビゲートしている間にメッセージが受信されたことを決定したので、自動アシスタントアプリケーションは、メッセージがルートの第1の部分をナビゲートしている間にユーザが注意散漫にする可能性があることを確認した。さらに、自動アシスタントアプリケーションは、その後、ナビゲートするのにユーザのエンゲージメントが少なくて済むルートの後続の部分(すなわち、ルートの第2の部分)を識別した。次いで、自動アシスタントアプリケーションは、ユーザがルートの第2の部分をナビゲートしている間にメッセージが受信されるように、メッセージの提供を変更したか、そうでなければ提示を遅らせた。
【0084】
図5は、操作上のエンゲージメントおよび/またはアプリケーションエンゲージメントの予測レベルまたは決定されたレベルに基づいて、ユーザに通知を提供するための方法500を示す。方法500は、自動アシスタントアプリケーション、コンピューティングデバイス、および/またはメッセージもしくは通知をユーザに送信することができる1つまたは複数のデバイスによって実行することができる。方法500は、自動アシスタントアプリケーションによって、ユーザによって選択されたルートを受信するブロック502を含むことができる。ルートは、自動アシスタントアプリケーションにとってアクセス可能なコンピューティングデバイスを含む車両を介してユーザが完了する遠出に対応する。遠出は、ユーザの友人が所有する家への旅行とすることができ、ユーザは、自動アシスタントアプリケーションおよび/または車両のコンピューティングデバイスによって提供される指示を使用して家まで車両を運転することができる。
【0085】
方法500は、ルートの異なる部分に基づいて、ユーザの操作上のエンゲージメントの予測レベルを生成するブロック504をさらに含むことができる。操作上のエンゲージメントの予測レベルは、遠出またはルートの様々な部分の間に車両をナビゲートするために、ユーザが喚起することができる、または喚起すると推定される様々な量の注意を定量化することができる。たとえば、特定の距離または時間期間内に複数の曲がり角を含むルートの一部は、特定の距離または時間期間内で複数の曲がり角を含まない、またはより少ない曲がり角を含むルートの一部よりも高い、操作上のエンゲージメントの予測レベルに対応し得る。
【0086】
方法500はまた、自動アシスタントアプリケーションにとってアクセス可能な1つまたは複数のアプリケーションから自動アシスタントアプリケーションにおいて受信された通知を識別するブロック506も含むことができる。たとえば、通知は、様々な異なるモダリティを通じてユーザに媒体を提供する様々な異なるアプリケーションによって提供されるか、そうでなければそれに対応することができる。様々なモダリティは、オーディオ、ビデオ、静止画像、テキスト、拡張現実、ストリーミング放送、振動などの身体的感覚、および/またはユーザが通知を受信することができる任意の他の媒体を含み得る。
【0087】
方法500は、識別された通知に基づいて、ユーザのアプリケーションエンゲージメントの予測レベルを生成するブロック508をさらに含むことができる。アプリケーションエンゲージメントの予測レベルは、少なくとも通知を受信するとき、または通知に応答するときにユーザが喚起することができる様々な認知の量もしくは予想される認知の量を定量化することができる。たとえば、ユーザによって口頭で提供された特定の内容でテキストメッセージに応答するためのアプリケーションエンゲージメントの予測レベルは、友人からの通話を受け付けるためのアプリケーションエンゲージメントの予測レベルよりも高い可能性がある。別の例として、Webサービスによって、またはテキストメッセージを介して提供される画像を表示するためのアプリケーションエンゲージメントの予測レベルは、車両データを会社またはサードパーティエージェントアプリケーションに送信するよう自動アシスタントアプリケーションに許可を提供するよりも高い場合がある。
【0088】
方法500は、識別された通知のうちの少なくとも1つの通知をルートの異なる部分のうちの少なくとも1つの部分に相関させるブロック510をさらに含むことができる。相関は、少なくとも操作上のエンゲージメントの予測レベルとアプリケーションエンゲージメントの予測レベルとの比較に基づくことができる。言い換えれば、自動アシスタントアプリケーションは、ルートの様々な部分の操作上のエンゲージメントの予測レベルを、通知に関連付けられたアプリケーションエンゲージメントの予測レベルと比較することができる。次いで、自動アシスタントアプリケーションは、ルートのいくつかの部分でユーザに提供するのに適切な通知を決定することができる。たとえば、ユーザは、ルートのその部分をナビゲートしている間、特に関与していないと予測されるので、操作上のエンゲージメントの最小予測レベルに関連付けられたルートの一部を識別された通知のうちのいずれかに相関させることができる。しかしながら、操作上のエンゲージメントの最も高い予測レベルに関連付けられたルートの一部は、アプリケーションエンゲージメントの最小予測レベルに関連付けられた1つまたは複数の通知に相関させることができる。上述の相関は、ユーザがルートの一部をナビゲートしている間に高くなったレベルのエンゲージメントを発揮しており、したがって、ある量のエンゲージメントを必要とする任意の通知がユーザを注意散漫にする可能性があるという仮定に基づいている。
【0089】
さらに、方法500は、車両がルートの異なる部分のうちの少なくとも一部をトラバースしているときに、車両のコンピューティングデバイスに、識別された通知のうちの少なくとも1つの通知を提供させるブロック512を含むことができる。いくつかの実装形態では、通知は、完全に、部分的に、要約された形式で、自動アシスタントアプリケーションを最初にサブミットしたものとは別の媒体で、ならびに/または操作上のエンゲージメントの予測レベルおよび/もしくはアプリケーションエンゲージメントの予測レベルに基づく何らかの変更された提供を有する形式で提供することができる。
【0090】
図6は、メッセージの内容および自動アシスタントアプリケーションにとって利用可能なデータに基づいて、ある人からのメッセージに自動的に応答するための方法600を示す。600の方法は、自動アシスタントアプリケーション、コンピューティングデバイス、および/またはコンピューティングデバイスにおいて受信されたメッセージへの応答を提供することができる1つまたは複数のデバイスによって実行することができる。方法600は、自動アシスタントアプリケーションにおいて、ユーザが参加している遠出に関連付けられた内容を含むメッセージを受信するブロック602を含むことができる。ユーザは、自動アシスタントアプリケーションにとってアクセス可能なコンピューティングデバイスを含む車両を使用して、遠出に参加することができる。さらに、メッセージは、人、会社、および/またはコンピューティングデバイスに送信することができるメッセージを生成することができる任意の他のエンティティに関連付けられた別個のコンピューティングデバイスによって提供されるか、またはそこから発信することができる。
【0091】
方法600は、メッセージから、遠出または車両に関連付けられた1つまたは複数のクエリを識別するブロック604をさらに含むことができる。たとえば、ユーザは、家族、友人、および他の知人間のテキストメッセージで一般的なように、様々な内容を含むメッセージを受信することができる。メッセージの内容には、たとえば、「こんにちは、私たちはちょうど映画館に着いたところで、この場所は混んでいます。いつここに着くと思いますか?」を含むことができる。自動アシスタントアプリケーションは、メッセージを構文解析して、クエリおよび非クエリに対応する内容を識別することができる。たとえば、自動アシスタントアプリケーションは、応答が求められていることを表す質問(たとえば、誰が、何を、いつ、どこで、どのようになど)および/または文字(たとえば、「?」)に対応する単語を分析することによって、メッセージングのクエリを識別することができる。さらに、自動アシスタントアプリケーションは、識別されたクエリをフィルタリングし、および/または分類して、自動アシスタントアプリケーションが、ユーザに代わって、識別されたクエリに対する応答を生成することができるかどうかを判定することができる。
【0092】
方法600は、コンピューティングデバイスにとって利用可能なデータにアクセスするブロック606も含むことができる。データは、車両またはユーザの遠出もしくはルートに関連付けられ得る。たとえば、自動アシスタントアプリケーションは、推定到着時間およびユーザの目的地を識別するナビゲーションデータにアクセスすることができる。自動アシスタントアプリケーションは、目的地またはその近くの場所を検索して(たとえば、目的地に対応する地理位置情報データを使用して)、目的地がメッセージで識別された場所(たとえば、映画館など)に近いかどうかを識別することができる。上述の例によれば、自動アシスタントアプリケーションは、目的地またはその近くの場所を検索し、目的地が映画館に対応するか、そうでなければ映画館に近接していると判定することができる。結果として、自動アシスタントアプリケーションは、自動アシスタントアプリケーションによって受信されたメッセージで提供される1つまたは複数のクエリに応答するために利用可能なデータを有することができる。
【0093】
方法600は、1つまたは複数のクエリの内容およびデータに基づいて、ユーザによって明示的な内容が提供されることなく、1つまたは複数のクエリに回答するのに許容可能な情報をデータが識別することを決定するブロック608をさらに含むことができる。言い換えれば、自動アシスタントアプリケーションは、自動アシスタントアプリケーションにとってアクセス可能なデータを、応答メッセージとして具体化することができるか、そうでなければそれに変換することができると判定することができる。たとえば、ナビゲーションデータで識別された目的地は、受信メッセージで識別されたクエリのうちの1つもしくは複数を実行する、またはそれに回答するのに十分であると、自動アシスタントアプリケーションによって決定することができる。さらに、明示的な内容とは、テキストに変換され、最初に受信されたメッセージの送信者に返送されるメッセージの内容として具体化されるようにユーザによって意図された口頭のまたは話された言語を指すことができる。
【0094】
方法600は、データに基づいて応答メッセージを生成するブロック610をさらに含むことができる。応答メッセージは、ユーザからの明示的な内容がない。言い換えれば、応答メッセージは、随意に、元のメッセージの受信に応答して、自動アシスタントアプリケーションによって排他的に生成することができる。さらに、応答メッセージは、随意に、自動アシスタントアプリケーションにとってアクセス可能な1つもしくは複数のアプリケーションおよび/またはデバイスから識別されたデータを組み込むことができる。たとえば、応答メッセージは、車両を目的地にナビゲートするためにユーザによって使用されているナビゲーションデータで具体化された目的地を識別することができる。
【0095】
方法600は、応答メッセージを、最初に受信されたメッセージが自動アシスタントアプリケーションに送信された別個のコンピューティングデバイスに対して送信されるようにするブロック612をさらに含むことができる。いくつかの実装形態では、メッセージの応答が送信されたことをユーザに通知することなく、応答メッセージを送信者に送信することができる。他の実装形態では、自動アシスタントアプリケーションは、自動アシスタントアプリケーションが送信者からメッセージを受信し、随意に送信者に応答する許可を受信する以外に、ユーザからのいかなる入力もなしに送信者に応答することができることをユーザに通知することができる。また他の実装形態では、自動アシスタントアプリケーションは、応答メッセージで送信者に応答し、その後、最初に受信されたメッセージおよび/またはユーザに代わって送信された応答メッセージをユーザに通知することができる。
【0096】
図7は、例示的なコンピュータシステム710のブロック図である。コンピュータシステム710は、通常、バスサブシステム712を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ714を含む。これらの周辺デバイスは、たとえば、メモリ725およびファイルストレージサブシステム726を含むストレージサブシステム724、ユーザインターフェース出力デバイス720、ユーザインターフェース入力デバイス722、ならびにネットワークインターフェースサブシステム716を含み得る。入力デバイスと出力デバイスによって、ユーザはコンピュータシステム710との対話が可能である。ネットワークインターフェースサブシステム716は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【0097】
ユーザインターフェース入力デバイス722は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、ボイス認識システム、マイクなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピュータシステム710または通信ネットワークに情報を入力するためのすべての可能なタイプのデバイスおよび方法を含むものとする。
【0098】
ユーザインターフェース出力デバイス720は、ディスプレイサブシステム、プリンタ、ファックス機械、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、オーディオ出力デバイスなどを介して非視覚ディスプレイも提供し得る。一般に、「出力デバイス」という用語の使用は、コンピュータシステム710からユーザまたは別の機械またはコンピュータシステムに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むものとする。
【0099】
ストレージサブシステム724は、本明細書で説明したモジュールの一部または全部の機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム724は、方法400、方法500、方法600、状態
図300の選択された態様を実行し、および/あるいはサーバデバイス102、リモートデバイス112、エンゲージメント予測エンジン110、自動アシスタント104、パーソナルコンピューティングデバイス140、車両コンピューティングデバイス122、接触コンピューティングデバイス130、リモートデバイス202、リモートデバイス208、車両コンピューティングデバイス212、またはパーソナルコンピューティングデバイスのうちの1つもしくは複数を実装するためのロジックを含み得る。
【0100】
これらのソフトウェアモジュールは、一般に、プロセッサ714によって単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム724において使用されるメモリ725は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)730と、固定の命令が記憶される読取り専用メモリ(ROM)732とを含むいくつかのメモリを含むことができる。ファイルストレージサブシステム726は、プログラムおよびデータファイルの永続記憶装置を提供することができ、ハードディスクドライブ、関連するリムーバブルメディアとともにフロッピーディスクドライブ、CD-ROMドライブ、オプティカルドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム724内のファイルストレージサブシステム726によって、またはプロセッサ714によってアクセス可能な他の機械に記憶されてもよい。
【0101】
バスサブシステム712は、コンピュータシステム710の様々なコンポーネントおよびサブシステムが意図したとおりに互いに通信するための機構を提供する。バスサブシステム712は単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用してもよい。
【0102】
コンピュータシステム710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプのものとすることができる。コンピュータおよびネットワークの絶えず変化する性質のために、
図7に示されたコンピュータシステム710の説明は、いくつかの実装形態を説明するための特定の例としてのみ意図されている。コンピュータシステム710の他の多くの構成は、
図7に示されるコンピュータシステムよりも多いまたは少ないコンポーネントを有することが可能である。
【0103】
本明細書に記載のシステムがユーザ(または本書でしばしば言及される「参加者」)に関する個人情報を収集する、または個人情報を利用する可能性がある状況では、ユーザは、プログラムもしくは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行動または活動、職業、ユーザの嗜好、またはユーザの現在の地理的位置に関する情報)を収集するかどうかを制御する機会、または、ユーザにとってより関連があり得る内容を、コンテンツサーバから受信するかどうか、および/またはどのように受信するかを制御する機会を与えられ得る。また、あるデータは、それが記憶または使用される前に1つまたは複数の方法で扱われる可能性があり、したがって、個人を特定可能な情報は削除される。たとえば、個人を特定可能な情報をそのユーザについて決定することができないように、ユーザの識別情報を扱うことができ、または、ユーザの特定の地理的位置を判定することができないように、(市、郵便番号、または州レベルなど)地理的位置情報が取得されるユーザの地理的位置が一般化され得る。したがって、ユーザは、ユーザに関する情報がどのように収集されるか、および/または使用されるかを制御することができる。
【符号の説明】
【0104】
102 サーバデバイス
104 自動アシスタント
106 アシスタント対話データ
108 ボイス-テキストエンジン
110 エンゲージメント予測エンジン
112 リモートデバイス
114 ネットワーク
116 車両
120 タブレットコンピューティングデバイス
122 車両コンピューティングデバイス
124 ユーザ対話データ
126 車両アプリケーション
128 車両データ
130 接触コンピューティングデバイス
136 サードパーティエージェント
138 知人
140 パーソナルコンピューティングデバイス
142 アシスタントインターフェース
202 リモートコンピューティングデバイス
204 別のユーザ
206 ポータブルコンピューティングデバイス
208 別個のリモートコンピュータデバイス
210 車両
212 コンピューティングデバイス
214 車両データ
216 ルート処理
218 アプリケーション通知
220 ユーザへのメッセージ
222 アプリケーションフィルタ
224 メッセージメタデータ
226 連絡先ランクを決定するトランザクション
228 メッセージクエリを識別するためのトランザクション
230 アプリケーションエンゲージメントを推定するトランザクション
232 視覚通知を提供するトランザクション
234 通知選択
236 送信者ランクを上げるトランザクション
238 自動応答クエリを送信するトランザクション
240 自動応答選択
242 応答メッセージを生成するトランザクション
244 自動応答メッセージ
302 時間期間
304 ゲーム通知
306 電子メール通知
308 テキストメッセージ通知
310 第1のレベルのエンゲージメント
312 第2のレベルのエンゲージメント
314 第3のレベルのエンゲージメント
316 第4のレベルのエンゲージメント
318 テキストメッセージへの自動応答
320 要約されたテキストメッセージを提示する
322 電子メールの要約
324 ゲーム通知を提供する
710 コンピュータシステム
712 バスサブシステム
714 (複数の)プロセッサ
716 ネットワークインターフェースサブシステム
720 ユーザインターフェース出力デバイス
722 ユーザインターフェース入力デバイス
724 ストレージサブシステム
725 メモリ
726 ファイルストレージサブシステム
730 メインランダムアクセスメモリ(RAM)
732 読取り専用メモリ(ROM)