IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許7341243制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案
<>
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図1A
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図1B
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図1C
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図2A
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図2B
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図2C
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図3
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図4
  • 特許-制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-31
(45)【発行日】2023-09-08
(54)【発明の名称】制限付きアーキテクチャをもつサードパーティ車両コンピューティングデバイス用の自動化アシスタント提案
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20230901BHJP
   G06F 16/90 20190101ALI20230901BHJP
   G06F 3/04842 20220101ALI20230901BHJP
   G06F 3/16 20060101ALI20230901BHJP
   G10L 15/00 20130101ALI20230901BHJP
   G16Y 10/40 20200101ALI20230901BHJP
   G16Y 40/60 20200101ALI20230901BHJP
   G01C 21/36 20060101ALI20230901BHJP
【FI】
G06Q50/10
G06F16/90 100
G06F3/04842
G06F3/16 650
G06F3/16 620
G10L15/00 200J
G16Y10/40
G16Y40/60
G01C21/36
【請求項の数】 20
(21)【出願番号】P 2021543211
(86)(22)【出願日】2019-05-09
(65)【公表番号】
(43)【公表日】2022-06-09
(86)【国際出願番号】 US2019031498
(87)【国際公開番号】W WO2020226650
(87)【国際公開日】2020-11-12
【審査請求日】2021-08-24
【早期審査対象出願】
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴィノッド・クリシュナン
(72)【発明者】
【氏名】ヴィクラム・アガワル
【審査官】小池 堂夫
(56)【参考文献】
【文献】米国特許出願公開第2014/0108307(US,A1)
【文献】米国特許出願公開第2014/0136187(US,A1)
【文献】特表2014-521141(JP,A)
【文献】米国特許出願公開第2017/0352082(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 50/10
G01C 21/36
G06F 16/90
G06F 3/04842
G06F 3/16
G10L 15/00
G16Y 10/40
G16Y 40/60
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実装される方法であって、
ユーザが車両に乗っているときに動作中である車両アプリケーションを介して、前記車両アプリケーションのグラフィカルユーザインターフェースにおいてレンダリングされるコンテンツに対応する車両アプリケーションデータを受信するステップであって、前記車両アプリケーションデータがサードパーティアプリケーションによって提供される前記コンテンツの少なくとも一部分を特徴づけ、前記グラフィカルユーザインターフェースは、前記車両の車両コンピューティングデバイスと通信するディスプレイパネルにおいて表示される、ステップと、
前記サードパーティアプリケーションによって提供される前記コンテンツの少なくとも前記一部分を特徴づける前記車両アプリケーションデータを受信したことに応答して、前記車両アプリケーションデータが、自動化アシスタントを介して利用可能なアシスタントデータに関連付けられると判断するステップであって、前記自動化アシスタントは、前記車両コンピューティングデバイスを介してアクセス可能である、ステップと、
前記車両アプリケーションデータが前記アシスタントデータに関連付けられると判断したことに応答して、提案データを生成するステップであって、
前記提案データは、前記アシスタントデータおよび前記車両アプリケーションデータに関連付けられるアクションを識別し、前記提案データは、前記ディスプレイパネルにおいてレンダリングされている前記コンテンツとは異なる自然言語コンテンツを特徴づける、ステップと、
前記提案データに基づいて、ならびに前記アシスタントデータおよび前記車両アプリケーションデータの相関の強度に基づいて、以前生成された提案データに関連付けられる優先度データに対する前記提案データの優先度を判断するステップであって、
前記以前生成された提案データは、前記車両アプリケーションの前記グラフィカルユーザインターフェースにおいて以前レンダリングされた1つまたは複数の提案要素に対応する、ステップと、
前記優先度データに対する前記提案データの前記優先度が、前記提案データが他の提案データよりも優先されることを示すとき、
前記提案データに基づいて、および前記ユーザが前記車両に乗っている間に、前記車両アプリケーションの前記グラフィカルユーザインターフェースにおいて、特定の提案要素をレンダリングさせるステップであって、前記特定の提案要素は前記自然言語コンテンツを含み、
前記他の提案データが、前記アシスタントデータとは異なるアシスタントデータおよび前記車両アプリケーションデータと異なる車両アプリケーションデータに関連付けられるアクションを識別する、ステップとを含む方法。
【請求項2】
前記優先度データは、前記ユーザおよび/または1人もしくは複数の他のユーザが前記車両に乗っていた間に、前記ユーザおよび/または前記1人もしくは複数の他のユーザが前記1つまたは複数の提案要素を選択した1つまたは複数の以前のインスタンスに基づく、請求項1に記載の方法。
【請求項3】
行先ロケーションまでの前記ユーザの推定到着時間を判断するステップであって、他の提案データに関連付けられる前記優先度データに対する前記提案データの前記優先度を判断するステップは、少なくとも部分的には前記行先ロケーションまでの前記ユーザの前記推定到着時間に基づく、ステップをさらに含む、請求項1に記載の方法。
【請求項4】
前記優先度データに対する前記提案データの前記優先度が、前記提案データが前記他の提案データよりも優先されることを示すとき、
前記車両アプリケーションの前記グラフィカルユーザインターフェースにおいて前記特定の提案要素をレンダリングさせたことに続いて、前記特定の提案要素が選択されたと判断するステップと、
前記特定の提案要素が選択されたと判断したことに応答して、前記提案データの前記優先度を修正させるステップとをさらに含む、請求項1に記載の方法。
【請求項5】
前記車両アプリケーションの前記グラフィカルユーザインターフェースは、前記コンテンツを含む第1のエリア、および他のコンテンツを含む第2のエリアを含み、
前記車両アプリケーションの前記グラフィカルユーザインターフェースにおいて前記特定の提案要素をレンダリングさせるステップは、
前記特定の提案要素を、前記グラフィカルユーザインターフェースの前記第1のエリアにおいてレンダリングさせ、別の提案要素を、前記グラフィカルユーザインターフェースの前記第2のエリアにおいてレンダリングさせるステップであって、前記別の提案要素は少なくとも部分的に、前記他のコンテンツに基づく、ステップを含む、請求項1に記載の方法。
【請求項6】
前記車両アプリケーションデータは前記他のコンテンツにも対応し、
前記提案データを生成するステップは、前記他のコンテンツに関連付けられた別のアクションを識別するステップを含む、請求項5に記載の方法。
【請求項7】
前記グラフィカルユーザインターフェースの前記第1のエリアにおいて提供される前記コンテンツに、および前記グラフィカルユーザインターフェースの前記第2のエリアにおいて提供される前記他のコンテンツに基づく追加提案データを生成するステップであって、
前記追加提案データは、前記アシスタントデータおよび前記車両アプリケーションデータに関連付けられた追加アクションを識別し、前記提案データは、前記コンテンツおよび前記他のコンテンツとは異なる他の自然言語コンテンツを特徴づける、ステップをさらに含む、請求項5に記載の方法。
【請求項8】
前記車両アプリケーションの前記グラフィカルユーザインターフェースは、前記自動化アシスタントに対応する第3のエリアを含み、前記方法は、
前記追加提案データに基づいて、および前記ユーザが前記車両に乗っている間に、前記車両アプリケーションの前記グラフィカルユーザインターフェースの前記第3のエリアにおいて別個の提案要素をレンダリングさせるステップであって、前記別個の提案要素は、前記他の自然言語コンテンツを含む、ステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記提案データに基づいて、前記車両アプリケーションの前記グラフィカルユーザインターフェースにおいて前記特定の提案要素をレンダリングさせるステップは、前記自動化アシスタントから前記車両アプリケーションにアクションデータを提供するステップを含む、請求項1に記載の方法。
【請求項10】
前記特定の提案要素は前記車両アプリケーションによってレンダリングされ、前記特定の提案要素の前記自然言語コンテンツは、前記ユーザによって前記車両コンピューティングデバイスに話されると、前記自動化アシスタントを介して前記アクションを初期化させる発話を特徴づける、請求項1に記載の方法。
【請求項11】
前記優先度データに対する前記提案データの前記優先度が、前記提案データが前記他の提案データよりも優先されることを示すとき、
前記特定の提案要素の前記自然言語コンテンツに対応する口頭入力を前記ユーザが与えたと判断するステップと、
前記ユーザが前記口頭入力を与えたと判断したことに応答して、前記自動化アシスタントに前記アクションを初期化させるステップであって、前記アクションは、前記自動化アシスタントが前記アクションを初期化したことに応答して、別個の車両アプリケーションによって実施される、ステップとをさらに含む、請求項10に記載の方法。
【請求項12】
前記自動化アシスタントは、前記優先度データを生成したソースによって提供され、前記車両アプリケーションデータは、前記ソースとは異なるサードパーティソースによって生成され、前記別個の車両アプリケーションは、前記ソースおよび前記サードパーティソースとは別個のソースによって提供される、請求項11に記載の方法。
【請求項13】
前記車両アプリケーションは、前記ソースによって提供されるナビゲーションアプリケーションであり、前記別個の車両アプリケーションは、前記別個のソースによって提供される通信および/またはメディアアプリケーションである、請求項12に記載の方法。
【請求項14】
1つまたは複数のプロセッサによって実装される方法であって、
車両コンピューティングデバイスの車両アプリケーションによって、サードパーティアプリケーションが、前記車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされているグラフィカルユーザインターフェースを介してコンテンツを提供していると判断するステップであって、
前記車両アプリケーションは、前記車両コンピューティングデバイスを介してユーザにとってアクセス可能であり、前記車両コンピューティングデバイスは、前記ユーザを行先にナビゲートしている車両の一部である、ステップと、
前記グラフィカルユーザインターフェースが前記コンテンツを含むと判断したことに基づいて、前記サードパーティアプリケーションによって提供される前記コンテンツの少なくとも一部分を特徴づける車両アプリケーションデータを生成するステップと、
前記車両コンピューティングデバイスの前記車両アプリケーションによって、前記車両アプリケーションデータを自動化アシスタントに提供するステップであって、前記自動化アシスタントも、前記車両コンピューティングデバイスを介して前記ユーザに対してアクセス可能である、ステップと、
前記自動化アシスタントに前記車両アプリケーションデータを提供したことに基づいて、前記自動化アシスタントに、アシスタントデータと前記車両アプリケーションデータとの間の対応に基づいて生成される提案データを提供させるステップであって、前記アシスタントデータは前記ユーザのアカウントに関連付けられ、前記自動化アシスタントによりアクセス可能である、ステップと、
前記車両アプリケーションによって、および前記自動化アシスタントから、前記提案データを受信するステップであって、前記提案データは、前記ユーザによって前記車両コンピューティングデバイスに話されると、前記自動化アシスタントに、前記サードパーティアプリケーションによるアクションの実施を初期化させる自然言語コンテンツを特徴づける、ステップと、
前記自動化アシスタントから前記提案データを受信したことに応答して、
前記サードパーティアプリケーションに、前記サードパーティアプリケーションの前記グラフィカルユーザインターフェースにおいて前記自然言語コンテンツをレンダリングさせるステップであって、
前記自然言語コンテンツは、前記コンテンツが前記グラフィカルユーザインターフェースにおいてレンダリングされ、前記車両が前記ユーザを前記行先にナビゲートするのと同時に、前記グラフィカルユーザインターフェースにおいてレンダリングされる、ステップとを含む方法。
【請求項15】
前記自然言語コンテンツが前記グラフィカルユーザインターフェースにおいてレンダリングされたのに続いて、
前記ユーザおよび/または別のユーザが、前記グラフィカルユーザインターフェースにおいてレンダリングされた前記自然言語コンテンツの少なくとも一部を含む発話を与えたと判断するステップと、
前記ユーザおよび/または前記別のユーザが前記発話を与えたと判断したことに応答して、前記自動化アシスタントに、前記サードパーティアプリケーションによる前記アクションの実施を初期化させるステップとをさらに含む、請求項14に記載の方法。
【請求項16】
前記提案データを受信したことに応答して、前記車両が前記ユーザを前記行先までナビゲートするべき時間量および/または残っている距離を判断するステップと、
前記車両が前記ユーザを前記行先までナビゲートするべき前記時間量および/または残っている前記距離が閾を満足するかどうかを判断するステップであって、
前記サードパーティアプリケーションに、前記サードパーティアプリケーションの前記グラフィカルユーザインターフェースにおいて前記自然言語コンテンツをレンダリングさせるステップは、前記時間量および/または残っている前記距離が前記閾を満足するときに実施される、ステップと、をさらに含む、請求項14に記載の方法。
【請求項17】
コンテンツデータの少なくとも前記一部分は、前記車両コンピューティングデバイスの前記ディスプレイパネルにおいて表示される、レンダリングされたデータに基づいて、前記自動化アシスタントに提供するために選択される、請求項16に記載の方法。
【請求項18】
前記グラフィカルユーザインターフェースにおいて提示されている追加データを特徴づける、更新されたコンテンツデータを提供するステップをさらに含む、請求項14に記載の方法。
【請求項19】
1つまたは複数のプロセッサによって実装される方法であって、
サードパーティアプリケーションから車両アプリケーションに、車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされるべきコンテンツを特徴づけるコンテンツデータを提供するステップであって、前記車両コンピューティングデバイスは、ユーザを行先に向かわせている車両中に含まれる、ステップと、
前記車両アプリケーションに前記コンテンツデータを提供したことに基づいて、前記車両アプリケーションに、前記コンテンツデータの少なくとも一部分を自動化アシスタントに提供させるステップであって、
前記自動化アシスタントは、前記車両コンピューティングデバイスの1つまたは複数のインターフェースを介して前記ユーザにとってアクセス可能であり、
前記車両コンピューティングデバイスは、前記自動化アシスタントからの前記コンテンツデータへのアクセスを制限する、ステップと、
前記車両アプリケーションから、前記自動化アシスタントが前記コンテンツデータの少なくとも前記一部分を受信したことに基づいて、少なくとも部分的に生成される提案データを受信するステップであって、
前記提案データは、前記ユーザから前記自動化アシスタントへの発話に含まれるとき、前記自動化アシスタントに、前記サードパーティアプリケーション、前記車両アプリケーション、および/または別のサードパーティアプリケーションによる1つまたは複数のアクションの実施を初期化させる自然言語コンテンツを特徴づける、ステップと、
前記車両アプリケーションから前記提案データを受信したことに応答して、前記車両コンピューティングデバイスの前記ディスプレイパネルに、グラフィカルユーザインターフェースにおいて前記自然言語コンテンツをレンダリングさせるステップと、
前記ユーザが、前記車両コンピューティングデバイスのインターフェースを介して前記自動化アシスタントに前記発話を与えると、
前記自動化アシスタントに、前記サードパーティアプリケーション、前記車両アプリケーション、および/または別のサードパーティアプリケーションによる前記1つまたは複数のアクションの実施を初期化させるステップとを含む方法。
【請求項20】
前記ユーザが、前記車両コンピューティングデバイスの前記インターフェースを介して前記自動化アシスタントに前記発話を与えると、
前記サードパーティアプリケーションと通信するサーバデバイスを介して、前記車両コンピューティングデバイスとは別個の別のコンピューティングデバイスに、前記1つまたは複数のアクションの動作状況を提供するステップをさらに含む、請求項19に記載の方法。
【発明の詳細な説明】
【背景技術】
【0001】
コンピューティングデバイスおよびそれらのそれぞれのアプリケーションは通常、様々なタスクでユーザを支援するための堅牢な機能性を提供する。特定のアプリケーションまたはデバイスの提供元は、ユーザが初期の使用中にすべての機能性を利用するのではなく、むしろ、アプリケーションまたはデバイスの機能を、時間をかけて学習するものと予期し得る。特定のデバイスが自動化アシスタントへのアクセスを提供するとき、自動化アシスタントは、提案を使ってユーザを様々な機能に慣れさせるように作用してよく、提案は、ユーザを、特定のデバイスおよび/またはアプリケーションの1つまたは複数のアクションを制御するように向ける。ただし、車両コンピューティングデバイスまたは他のOEMコンピューティングデバイスなどにおけるいくつかの事例では、自動化アシスタントは、車両コンピューティングデバイスを通してアクセス可能であるが、車両コンピューティングデバイスの動作から集めることができるデータのタイプが限定される場合がある。その結果、自動化アシスタントによって行われるどの提案も、車両および/または車両コンピューティングデバイスのより効果的および/または効率的な使用を可能にし得る、車両コンピューティングデバイスおよび/または他のアプリケーションの機能に適切に合わせられない場合がある。
【0002】
さらに、そのような限定は、ユーザが、車両コンピューティングデバイスの安全性機能についてより素早く学習するのを妨げ得る。言い換えると、車両コンピューティングデバイスは、ユーザが瞬時に認めることが無理なく予期され得ないような多量の安全性特徴を提供し得るので、そのような特徴について学習する際のいかなる遅れも、車両の安全性および/または有用性を限定する可能性がある。さらに、ユーザは、特徴を学習するのよりも、ナビゲートするために車両を制御するのに時間の多くを費やし得るので、ユーザは、電力消費の削減および効率の増大などの利益を受けていないものである。これは特に、車両コンピューティングデバイスがユーザに対する機能性の提案についてもっぱら先見的でないときに明らかであり得るが、というのは、そのような利益はしばしば、ユーザが様々なタスクをコンピューティングデバイスにアウトソーシングするときに実現されるからである。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書において説明する実装形態は、車両アプリケーションを介して提案をレンダリングし、車両アプリケーションを介してアクションを初期化することができる自動化アシスタントも含む車両コンピューティングデバイスにおいて提供される車両アプリケーションの階層に関する。車両アプリケーションは、車両の車両コンピューティングデバイス上に搭載されてよく、ナビゲーション、通信、媒体、および/またはコンピューティングデバイスによって提供されることが可能な、どの他のタイプのサービスにも関連した様々な機能性を提供することができる。車両コンピューティングデバイスは、車両コンピューティングデバイス上に搭載されているオペレーティングシステムに従って動作することができ、1つまたは複数の相手先商標製造会社(OEM)アプリケーションを含む。OEMアプリケーションは、車両も提供するエンティティまたはソースによって提供されてよい。さらに、車両コンピューティングデバイスは、サードパーティソースによって提供される1つまたは複数の車両アプリケーション(すなわち、ネイティブ車両アプリケーションではなくサードパーティアプリケーション)、ならびにサードパーティソースから別個のソースによって提供される自動化アシスタントも含み得る。自動化アシスタントと他のアプリケーションとの間の通信は、車両コンピューティングデバイスを介して起こる通信に制限されてよく、そうすることにより、車両システムの信頼性が向上し得る。自動化アシスタントは、車両コンピューティングデバイスからはリモートであってよい。自動化アシスタントによって提案された1つまたは複数のアクションは、ローカル車両アプリケーション(ネイティブOEMアプリケーション、またはサードパーティアプリケーションであろうとも)によって実施されてよく、それにより、特に、自律車両環境においてなど、車両がそのシステムの完全制御を保持するという望ましい状況において、車両性能の信頼性が向上し得る。1つまたは複数のアクションは、リモート自動化アシスタントによって実施されてよく、それにより、自動化アシスタントに関連付けられたユーザデータおよび情報(アシスタントデータ)を保護し、したがって、ローカル車両アプリケーションがユーザデータへのアクセスを有するのを妨げることによって、ユーザプライバシーおよびデータセキュリティを向上することができる。
【0004】
いくつかの実装形態では、ユーザが車両に乗っている間、1つまたは複数の他の車両アプリケーションからのデータに基づく様々な異なるコンテンツを含むグラフィカルユーザインターフェースを、OEM車両アプリケーションおよび/または自動化アシスタントがレンダリングすることができる。たとえば、グラフィカルユーザインターフェースは、ナビゲーション関連コンテンツをレンダリングするための第1のエリア、通信関連コンテンツをレンダリングするための第2のエリア、および/または自動化アシスタントコンテンツをレンダリングするための第3のエリアを含み得る。ユーザが車両コンピューティングデバイスおよび/または車両アプリケーションの様々な機能を学習するために、自動化アシスタントは、グラフィカルユーザインターフェースの各エリアにおいて提案を提供し、かつ/またはレンダリングさせればよい。その結果、自動化アシスタントが様々な異なる車両を介してアクセス可能であることにかかわらず、車両コンピューティングデバイスにおいて提供される1つまたは複数の他の車両アプリケーションからのデータを使うことによって、自動化アシスタントはそれでもなお、自動化アシスタントが動作している車両に関係なくユーザに提案を与えることができる。
【0005】
いくつかの実装形態では、グラフィカルユーザインターフェースが、少なくとも第1のエリアおよび第2のエリアを表示しているとき、OEM車両アプリケーションは、ユーザインターフェースにおいて提供されるものを特徴づけるデータを生成し、この生成されたデータを自動化アシスタントに提供することができる。データは、自動化アシスタントが提案を生成することができるコンテキストを提供するために、グラフィカルユーザインターフェースにおいて提供されるコンテンツの一部または全部を特徴づけるか、または、本明細書で使用するように、示すことができる。たとえば、第1のエリアが行先までのナビゲーション方向を表示しており、第2のエリアが、着信電話呼に関する通知を表示しているとき、OEM車両アプリケーションは、着信電話呼の状況および行先までのナビゲーションの状況を特徴づける(または示す)データを生成してよい。いくつかの実装形態では、自動化アシスタントは、データを、自動化アシスタント、および/または車両コンピューティングデバイスを介してアクセス可能な、どの他のアプリケーションによっても実施されるべき1つまたは複数の提案またはアクションを生成するのに使えばよい。
【0006】
たとえば、自動化アシスタントは、着信呼のソースである人に推定到着時間を与えるためにメッセージングアプリケーションを呼び出すための提案要素を、グラフィカルユーザインターフェースにおいて提供することができる。自動化アシスタントは、提案が通信に関連しているので、グラフィカルユーザインターフェースの第2のエリアにおいて提案要素を提供させればよい。提案要素は、「ミーガンに推定到着時間を送って」など、アシスタントがとり得るどのアクションも特徴づける(または示す)自然言語コンテンツを含み得る。自然言語コンテンツは、提案要素において提供されるテキストであってよく、提案要素に関連付けられたアクションを実施するために自動化アシスタントを呼び出すための例示的発声であってよく、かつ/またはそうでなければ、自動化アシスタントを呼び出すための発話を特徴づけることができる。たとえば、メッセージを送らせるように自動化アシスタントを呼び出すために、ユーザは、提案要素がレンダリングされているロケーションでディスプレイパネルをタップし、かつ/またはグラフィカルユーザインターフェースにおいてレンダリングされた発話の少なくとも一部分を含む口頭入力(たとえば、「アシスタント、ETAを示すメッセージをミーガンに送って」)を与えればよい。別の例では、口頭入力は、提案要素の自然言語コンテンツと同じ意味または意図を有し得る。
【0007】
いくつかの実装形態では、OEM車両アプリケーションは、時間とともに、少なくとも、車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされるコンテンツの変化に応答して自動化アシスタントに様々なデータを提供してよい。後続データがOEM車両アプリケーションから自動化アシスタントによって受信されると、自動化アシスタントは、さらなる提案を生成し、かつ/または様々な異なるプロパティに従って提案をランク付けすることができる。いくつかの事例では、自動化アシスタントによって提供される提案要素が、アシスタントデータと、OEM車両アプリケーションによって提供される車両アプリケーションデータとの間の相関の強度に従ってランク付けされてよい。たとえば、ディスプレイパネルにおいて表示される行先を特徴づける車両アプリケーションデータが、行先も識別するアシスタントデータとの、より強い相関を有する場合があり、この「より強い」相関は、車両アプリケーションデータが、やはりアシスタントデータによって識別される行先を識別しないときに相対し得る。
【0008】
特定のタイプのアプリケーションおよび/または活動に関連付けられたグラフィカルユーザインターフェースの各エリア用に、提案要素のセットが生成され得る。提案要素の各セットについて、提案要素のセットの各提案要素にランクが割り当てられ得る。このようにして、グラフィカルユーザインターフェースの特定のエリアにおいて提案要素がレンダリングされるべきであるとき、レンダリングされるために選択される提案要素が、特定のエリアに対応する提案要素のセットからの最も高いランク付け提案要素であり得る。いくつかの実装形態では、特定の提案要素向けのランク付けは、グラフィカルユーザインターフェース全体のコンテンツ、ユーザと自動化アシスタントとの間の以前の対話、ユーザからの許可を得て自動化アシスタントにとって利用可能なサードパーティアプリケーションデータ、車両の1つもしくは複数の動作を特徴づける車両データ、および/または提案についてのランク付けが基づき得るどの他の情報に基づいてもよい。
【0009】
いくつかの実装形態では、自動化アシスタントは、サードパーティ車両アプリケーションがレンダリングするべき提案を与えることができ、これらの提案は、OEM車両アプリケーションからの情報に基づいて生成され得る。たとえば、複数の異なるサードパーティアプリケーションは、車両コンピューティングデバイスを介してアクセス可能であってよく、データを送り、かつ/または受信するためにOEM車両アプリケーションと通信することができる。いくつかの実装形態では、OEM車両アプリケーションは、車両コンピューティングデバイス上の他のアプリケーションの間の通信を限定してよい。したがって、サードパーティアプリケーションは、自動化アシスタントとローカルに通信することはできないが、もっぱら車両コンピューティングデバイスを介して通信することができる場合があり、むしろ、自動化アシスタントはしたがって、サードパーティアプリケーションとの直接通信を通してではなく、OEM車両アプリケーションによって提供されるデータを使ってサードパーティアプリケーションによって実施される動作を承知し得る。
【0010】
たとえば、サードパーティアプリケーションが車両コンピューティングデバイスのディスプレイパネルにおいてコンテンツをレンダリングしているとき、OEM車両アプリケーションは、コンテンツを特徴づけるデータを生成し、データを自動化アシスタントに提供すればよい。代替または追加として、サードパーティアプリケーションは、自動化アシスタントに(たとえば、自動化アシスタントアプリケーションプログラミングインターフェース(API)を使って)データを提供するために、サーバなどのリモートコンピューティングデバイスと通信することができる。提案データが次いで、自動化アシスタントを介して生成され、次いで、OEM車両アプリケーションおよび/またはサードパーティアプリケーションに関連付けられたリモートデバイスと共有されてよい。1つまたは複数の提案要素が次いで、提案データに基づいて、サードパーティアプリケーションのグラフィカルユーザインターフェースにおいて提示されてよい。このようにして、OEM車両アプリケーションがローカルアプリケーションの間の通信を、もっぱら車両コンピューティングデバイスを介して起こる通信に限定するにもかかわらず、自動化アシスタントは、それでもなお、少なくとも車両コンピューティングデバイスおよび/または車両に関して、ユーザが承知していない可能性がある様々なアクションのための提案をユーザに与えることができる。
【0011】
いくつかの実装形態では、自動化アシスタントは、サードパーティアプリケーションおよび/またはOEM車両アプリケーションを介してユーザの指示で最近実施されたアクションに関連した提案を与えることを回避してよい。たとえば、サードパーティアプリケーションが車両整備アプリケーションに対応し、車両整備アプリケーションが、車両の一部が注意を必要とすることを示す通知を与えると、自動化アシスタントは、この通知を、OEM車両アプリケーションを介して知らされ得る。たとえば、車両整備アプリケーションが、車両がガソリンおよび/または充電を必要とすることを示すとき、車両整備アプリケーションは、車両に燃料補給するための近くの場所についての通知を与えればよい。OEM車両アプリケーションは、サードパーティアプリケーションのグラフィカルユーザインターフェースにおいてレンダリングされる通知および/またはコンテンツに基づいてデータを生成し、生成されたデータを自動化アシスタントに提供すればよい。自動化アシスタントは、データを、提案を生成するのに使ってよく、提案は、すでにユーザに提示されていることに従ってランク付けおよび/またはフィルタリングされ得る。
【0012】
たとえば、生成された提案が、車両に燃料補給するための近くの場所に対応するとき、生成された提案は、車両に燃料補給するための近くの場所に対応しない別個の提案よりも低くランク付けされ(すなわち、優先順位付けられ)てよい。その結果、たとえば、車両についての他の情報を取得するための発話(たとえば、「アシスタント、1ガロンあたりのハイウェイマイルは?」)に関する他の提案が、燃料補給するための近くの場所に関連した提案よりも高く優先順位付けられてよい。代替または追加として、サードパーティアプリケーションからのコンテンツに基づくデータと、アシスタントデータとの間の比較に基づいて、他の提案が生成されてよく、アシスタントデータは、ユーザと自動化アシスタントとの間の対話に関連付けられたデータである。たとえば、アシスタントデータは、ユーザと自動化アシスタントとの間の以前の対話のコンテンツ、ユーザのアカウントにリンクされるか、もしくは関連付けられるとともに自動化アシスタントを通してユーザによって対話される連絡先情報もしくはカレンダ情報を含んでよく、かつ/またはアシスタントデータは、自動化アシスタントとのユーザ対話の時間および/もしくはロケーションに関連付けられた時間および/もしくはロケーション情報を含んでよい。一例では、OEM車両アプリケーションからのデータは、サードパーティアプリケーションからの通知が車両の動作特徴に関連付けられていると判断するために、アシスタントデータと比較されてよい。この判断に基づいて、自動化アシスタントは、車両の動作特徴に関して、ユーザが以前、自動化アシスタントとのダイアログセッションに参加したときを判断することができる。
【0013】
たとえば、ユーザは、自分の車両の適切なタイヤ空気圧がどのようであるかを調べるために、自動化アシスタントに問い合わせていた場合がある。したがって、OEM車両アプリケーションからデータを受信したことに応答して、自動化アシスタントは、「アシスタント、この車のタイヤ空気圧は?」などの発話を特徴づける提案を生成し得る。この提案に対応する提案データは、自動化アシスタントからOEM車両アプリケーションおよび/またはサードパーティアプリケーションへ送信されてよく、サードパーティアプリケーションは次いで、提案を、車両の燃料状況を特徴づけるコンテンツとともに、グラフィカルユーザインターフェースにおいて提示すればよい。このようにして、ユーザが、自分の車両に燃料補給することについて通知されている間、ユーザは、車両に関連した他の事柄を点検するように、そのような事柄がより素早く対処され得るために同様のダイアログセッションを執り行うことを学習することができ、そうすることによって、車両整備の健全なルーチンを促進する。
【0014】
他の実装形態は、1つまたは複数のプロセッサ(たとえば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU))によって、上で、および/または本明細書の他の箇所で記載する方法のうちの1つまたは複数などの方法を実施するように実行可能な命令を記憶するコンピュータプログラムまたは非一時的コンピュータ可読記憶媒体を含み得る。さらに他の実装形態は、上で、および/または本明細書の他の箇所で記載する方法のうちの1つまたは複数などの方法を実施するように、記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含む1つもしくは複数のコンピュータおよび/または1つもしくは複数のロボットからなるシステムを含み得る。
【0015】
本明細書でより詳細に記載する、上記概念と追加概念のすべての組合せは、本明細書で開示する主題の一部であることを企図されることを諒解されたい。たとえば、本開示の最後に著される、特許請求する主題のすべての組合せが、本明細書で開示する主題の一部であることを企図される。
【図面の簡単な説明】
【0016】
図1A】自動化アシスタントへのアクセスを提供するOEM車両コンピューティングデバイスを含む車両のビューを示す図である。
図1B】自動化アシスタントへのアクセスを提供するOEM車両コンピューティングデバイスを含む車両のビューを示す図である。
図1C】自動化アシスタントへのアクセスを提供するOEM車両コンピューティングデバイスを含む車両のビューを示す図である。
図2A】ローカルアプリケーションの間の通信に対する制限を利用する、OEM車両コンピューティングデバイスを介してアクセス可能なOEMアプリケーションおよび/またはサードパーティアプリケーションにおいて提案要素を提供する自動化アシスタントの1つまたは複数の実装形態を示す図である。
図2B】ローカルアプリケーションの間の通信に対する制限を利用する、OEM車両コンピューティングデバイスを介してアクセス可能なOEMアプリケーションおよび/またはサードパーティアプリケーションにおいて提案要素を提供する自動化アシスタントの1つまたは複数の実装形態を示す図である。
図2C】ローカルアプリケーションの間の通信に対する制限を利用する、OEM車両コンピューティングデバイスを介してアクセス可能なOEMアプリケーションおよび/またはサードパーティアプリケーションにおいて提案要素を提供する自動化アシスタントの1つまたは複数の実装形態を示す図である。
図3】OEM車両アプリケーションおよび/またはサードパーティアプリケーションを介して提案をレンダリングし、OEM車両アプリケーションおよび/またはサードパーティアプリケーションを介してアクションを初期化することができる車両自動化アシスタントを含むOEM車両コンピューティングデバイスを提供するシステムを示す図である。
図4】サードパーティ車両コンピューティングデバイスのグラフィカルユーザインターフェースおよび/またはサードパーティ車両コンピューティングデバイスにおいて動作するサードパーティアプリケーションにおいて1つまたは複数の提案要素を提供するための方法を示す図である。
図5】例示的コンピュータシステムのブロック図である。
【発明を実施するための形態】
【0017】
図1A図1B、および図1Cは、自動化アシスタント128へのアクセスを提供するOEM車両コンピューティングデバイス104を含む車両108のビュー100、ビュー130、およびビュー140を示し、自動化アシスタント128は、OEM車両アプリケーション124および/またはサードパーティアプリケーション126のグラフィカルユーザインターフェース106において提案をレンダリングさせることができる。具体的には、図1Aは、異なるアプリケーションに対応する1つもしくは複数の異なるエリアおよび/またはグラフィカルユーザインターフェース106において提示され得るコンテンツをもつグラフィカルユーザインターフェース106を提供するOEM車両コンピューティングデバイス104のビュー100を示す。OEM車両コンピューティングデバイス104は、1つもしくは複数のOEM車両アプリケーション124、1つもしくは複数のサードパーティアプリケーション126、および/または自動化アシスタント128を含み得る。ユーザ102が車両108に乗っている間、OEM車両コンピューティングデバイス104を介してアクセス可能な1つまたは複数のアプリケーションは、グラフィカルユーザインターフェース106において特定のコンテンツをレンダリングさせるために、特定のOEM車両アプリケーション124と通信することができる。
【0018】
たとえば、OEM車両コンピューティングデバイス104は、ナビゲーションアプリケーションなどのOEM車両アプリケーション124を含むことができ、これは、グラフィカルユーザインターフェース106の第1のエリア110においてコンテンツをレンダリングさせることができる。代替または追加として、OEM車両コンピューティングデバイス104は、メッセージングアプリケーションなどのサードパーティアプリケーション126を含むことができ、これは、グラフィカルユーザインターフェース106の第2のエリア114において他のコンテンツをレンダリングさせることができる。グラフィカルユーザインターフェース106においてコンテンツをレンダリングするためのデータを提供する各アプリケーションは、特定のOEM車両アプリケーション124と通信することができる。この特定のOEM車両アプリケーションは、他のOEM車両アプリケーション124、サードパーティアプリケーション126、および自動化アシスタント128と通信することができる。たとえば、ナビゲーションアプリケーションは、来るべきナビゲーション命令を特徴づけるデータを提供することができ、ナビゲーション命令は、グラフィカルユーザインターフェース106の第1のエリア110に第1のグラフィカル要素112としてレンダリングされ得る。さらに、メッセージングアプリケーションは、着信メッセージを特徴づける(またはそのコンテンツを示す)他のデータを提供することができ、他のデータは、グラフィカルユーザインターフェース106において、特定のOEM車両アプリケーション124によって第2のグラフィカル要素116としてレンダリングされ得る。
【0019】
いくつかの実装形態では、特定のOEM車両アプリケーション124は、OEM車両コンピューティングデバイス104の1つまたは複数のアプリケーションによって提供されるコンテンツを特徴づけるデータを生成すること、および生成されたデータを自動化アシスタント128に提供することによって、アプリケーションの間の通信を仲介することができる。たとえば、生成されたデータは、第1のグラフィカル要素112において提供される自然言語コンテンツ、および第2のグラフィカル要素116において提供される他の自然言語コンテンツを特徴づけることができる。特定のOEM車両アプリケーション124は、この生成されたデータを自動化アシスタント128に提供すればよく、自動化アシスタント128は、生成されたデータを、グラフィカルユーザインターフェース106の各それぞれのエリア向けの追加提案を与えるのに使えばよい。
【0020】
図1Bは、自動化アシスタント128によって提供されるデータに基づいて、グラフィカルユーザインターフェース106の各エリアに提案要素用の作成空間を提供するグラフィカルユーザインターフェース106のビュー130を示し、この提案要素は、特定のOEM車両アプリケーション124からのデータに基づいて、およびアシスタントデータに関連付けられたOEM車両アプリケーション124からのデータに基づいて生成された。車両アプリケーションデータが、ユーザと自動化アシスタントとの間の対話に関連付けられたデータに少なくとも部分的に対応する場合、車両アプリケーションデータとアシスタントデータは関連付けるか、または相関させることができる。たとえば、車両アプリケーションデータは、ユーザと自動化アシスタントとの間の以前の対話もしくはダイアログセッションのコンテンツに対応し、自動化アシスタントによって実施された以前のアクションに関し、ユーザにリンクされたロケーションもしくは連絡先に関連付けられたアクションを示し、またはそうでなければアシスタントデータに対応し得る。具体的には、特定のOEM車両アプリケーション124が、第1のグラフィカル要素112のコンテンツを特徴づけるデータを、自動化アシスタント128に提供し得る。自動化アシスタント128は、OEM車両アプリケーション124からデータを受信し、受信されたデータに基づいて提案データを生成することができる。いくつかの実装形態では、受信されたデータは、自動化アシスタント128によって実施されることが可能な1つまたは複数のアクションと比較されてよく、比較に基づいて、提案データが生成され得る。追加または代替として、OEM車両アプリケーション124は、第2のグラフィカル要素116のコンテンツを特徴づける他のデータを、自動化アシスタント128に提供し得る。自動化アシスタント128は、他の受信されたデータを、他の受信されたデータと、自動化アシスタント128によって実施されることが可能な1つまたは複数のアクションとの間の相関を判断するために処理させることができる。比較に基づいて、他の提案データが生成され、OEM車両アプリケーション124に提供され得る。
【0021】
OEM車両アプリケーション124が自動化アシスタント128から提案データを受信したことに応答して、OEM車両アプリケーション124は、グラフィカルユーザインターフェース106において提案要素をレンダリングさせることができる。たとえば、OEM車両アプリケーション124は、1つまたは複数のアプリケーションの動作状況を特徴づける連絡先をレンダリングするランチャーアプリケーションを含み、また、自動化アシスタント128から受信されたデータに従って、1つまたは複数のアプリケーションの1つまたは複数のアクションを初期化し得る。たとえば、自動化アシスタント128は、第1の提案要素132を特徴づける提案データを提供することができ、このデータは、ユーザおよび/または別のユーザによって話されると、自動化アシスタントに、特定のアクションを初期化または実施させる発話を特徴づけることができる。たとえば、車両アプリケーションは選択の指示を自動化アシスタントに与えればよく、自動化アシスタントは、車両コンピューティングデバイスの別のアプリケーションにアクションを実施させることができる。別のアプリケーションは、サードパーティアプリケーション(すなわち、自動化アシスタントおよび車両OEMアプリケーションとは異なるソースからの)またはOEM車両アプリケーションのうちの1つであってよい。さらに、自動化アシスタント128は、第2の提案要素134を特徴づける他の提案データを提供することができ、このデータは、ユーザおよび/または別のユーザによって話されると、自動化アシスタント128に、異なる特定のアクションを初期化または実施させる異なる発話を特徴づけることができる。たとえば、第1の提案要素132は、「アシスタント、私のETAは?」などの発話を特徴づけることができる。
【0022】
ユーザが、ディスプレイパネル120において提案要素をタップしたこと、または提案要素132のコンテンツの少なくともある程度の量を含む口頭入力を与えたことに応答して、自動化アシスタントは、行先への推定到着時間をユーザへ通信することができる。さらに、第2の提案要素134は、「アシスタント、ジェーンに返信して」などの発話を特徴づけることができる。ユーザが、ディスプレイパネル120において第2の提案要素134をタップしたこと、および/または第2の提案要素134のコンテンツの少なくとも一部を含む口頭入力を与えたことに応答して、自動化アシスタント128は、ユーザに、ジェーンという名前の連絡先へ送信されるべきメッセージ用の追加コンテンツを与えるよう促せばよい。このようにして、ユーザは、OEM車両アプリケーション124および/もしくはサードパーティアプリケーション126のアクションを初期化し、かつ/またはそうでなければ車両アプリケーション124および/もしくはサードパーティアプリケーション126によって提供される情報に基づいてアクションを実施するために、自動化アシスタントをユーザが利用してよいと通告され得る。
【0023】
図1Cは、ランチャーOEM車両アプリケーション124に、複数の異なるアプリケーション用のグラフィカルユーザインターフェース106において提示されたコンテンツに基づく提案要素を提供させる自動化アシスタント128のビュー140を示す。具体的には、第3の提案要素142が、ランチャーOEM車両アプリケーション124によって提供される車両アプリケーションデータを使って、自動化アシスタント128によって生成され得る。ランチャーOEM車両アプリケーション124は、グラフィカルユーザインターフェース106におけるレンダリングのために、複数の異なるサードパーティアプリケーションおよび/または他のOEM車両アプリケーション124からデータを受信し得る。ランチャーOEM車両アプリケーション124は、グラフィカルユーザインターフェース106において提示されるコンテンツを特徴づけるデータを生成し、生成されたデータを自動化アシスタント128に提供すればよい。自動化アシスタント128は、ランチャーOEM車両アプリケーション124からの受信データを、提案データを生成するのに使えばよく、提案データは、グラフィカルユーザインターフェース106の第3のエリア118においてレンダリングされ得る。
【0024】
提案データは、グラフィカルユーザインターフェース106において提示されるコンテンツの複数の異なるソースに関する提案をユーザに与えるために、自動化アシスタント128を介して生成され得る。いくつかの実装形態では、ランチャーOEM車両アプリケーション124からの生成されたデータは、別個のOEM車両アプリケーションによって実施される進行中のアクション、ならびに最近実施されたアクションまたは別個のサードパーティアプリケーション126によって与えられた、最近提示された通知を特徴づけることができる。ユーザ102向けの適切な提案を生成するために、自動化アシスタント128は、生成されたデータ(グラフィカルユーザインターフェース106において提示されるコンテンツを特徴づけるか、または示す)のいずれかが、自動化アシスタント128にとってアクセス可能なアシスタントデータとの何らかの関係をもっているかどうかを判断すればよい。たとえば、自動化アシスタント128はユーザ102のアカウントにリンクされ得るので、自動化アシスタント128は、「ジェーン」と呼ばれるユーザの連絡先からサードパーティアプリケーションへの着信メッセージを通知され得る。第2のグラフィカル要素116のコンテンツと、着信メッセージも示すアシスタントデータとの間のこの関連付けまたは関係に基づいて、自動化アシスタント128は、ジェーンに返信するためのブランクメッセージを生成することができる。さらに、自動化アシスタント128は、第1のグラフィカル要素112のコンテンツとアシスタントデータとの間の関係を判断することもできる。たとえば、アシスタントデータは、自動化アシスタント128によって実施または初期化されることが可能な1つまたは複数のアクションを特徴づけることができる。
【0025】
提案データは、グラフィカルユーザインターフェース106において提示されるコンテンツの複数の異なるソースに関する提案をユーザに与えるために、自動化アシスタント128を介して生成され得る。いくつかの実装形態では、ランチャーOEM車両アプリケーション124からの生成されたデータは、別個のOEM車両アプリケーションによって実施される進行中のアクション、ならびに最近実施されたアクションまたは別個のサードパーティアプリケーション126によって与えられた、最近提示された通知を特徴づけることができる。ユーザ102向けの適切な提案を生成するために、自動化アシスタント128は、生成されたデータのいずれかが、自動化アシスタント128にとってアクセス可能なアシスタントデータとの何らかの関係をもっているかどうかを判断すればよい。たとえば、自動化アシスタント128はユーザ102のアカウントにリンクされ得るので、自動化アシスタント128は、ユーザの既知の連絡先「ジェーン」からサードパーティアプリケーションへの着信メッセージを通知され得る。第2のグラフィカル要素116のコンテンツと、着信メッセージも示すアシスタントデータとの間のこの関係に基づいて、自動化アシスタント128は、ジェーンに返信するためのブランクメッセージを生成することができる。さらに、自動化アシスタント128は、第1のグラフィカル要素112のコンテンツとアシスタントデータとの間の関係を判断することもできる。たとえば、アシスタントデータは、自動化アシスタント128によって実施または初期化されることが可能な1つまたは複数のアクションを特徴づけることができる。
【0026】
図2A図2B、および図2Cは、ローカルアプリケーションの間の通信に対する制限を利用する、OEM車両コンピューティングデバイス204を介してアクセス可能なOEMアプリケーションおよび/またはサードパーティアプリケーションにおいて提案要素を提供する自動化アシスタント228の1つまたは複数の実装形態を示す。たとえば、図2Aのビュー200において与えられるように、OEM車両コンピューティングデバイス204は、OEM車両アプリケーション224、サードパーティアプリケーション226、および/または自動化アシスタント228を含み得る。OEM車両コンピューティングデバイス204は、自動化アシスタント228に対するアクセス制限を強制してよく、そうすることによって、OEM車両アプリケーション224のローカルに記憶されたデータ、およびサードパーティアプリケーション226のローカルに記憶されたデータへのアクセスを、自動化アシスタント228に対して制限する。ただし、OEM車両アプリケーション224のうちの1つまたは複数が、車両208、OEM車両コンピューティングデバイス204、OEM車両アプリケーション224、サードパーティアプリケーション226の動作、および/または車両208に関連付けられ得る任意の他の情報に関して、ある程度の量のデータを自動化アシスタント228に提供することができる。
【0027】
たとえば、ランチャーOEM車両アプリケーションが、OEM車両コンピューティングデバイス204のディスプレイパネル220においてレンダリングされるグラフィカルユーザインターフェース206のコンテンツを特徴づけるコンテンツデータを生成し得る。コンテンツデータは、グラフィカルユーザインターフェース206の第1のエリア210に提示される自然言語コンテンツを特徴づけることができる。第1のエリア210は、ナビゲーションアプリケーションなどのサードパーティアプリケーションに関連付けられた第1のグラフィカル要素212を含み得る。コンテンツデータは、グラフィカルユーザインターフェース206の第2のエリア214に提示される自然言語コンテンツも特徴づけることができる。第2のエリア214は、メッセージングアプリケーションなどのサードパーティアプリケーションに関連付けられた第2のグラフィカル要素216を含み得る。
【0028】
自動化アシスタント228がOEM車両アプリケーション224および/またはサードパーティアプリケーション226を初期化できるようにする機能性にユーザ202を慣れさせるために、自動化アシスタント228は、そのような機能性に関連した提案要素を提供すればよい。言い換えると、自動化アシスタント228は、OEM車両アプリケーション224からのコンテンツデータを、別のOEM車両アプリケーション224および/またはサードパーティアプリケーション226によるアクションの実施を初期化するために自動化アシスタント228を呼び出すための、ユーザ202によって与えられ得る発話のための提案を生成するのに使うことができる。
【0029】
たとえば、自動化アシスタント228は、第1のグラフィカル要素212のコンテンツと第2のグラフィカル要素216のコンテンツの両方に関するコマンドをユーザが与えるための提案に対応する提案データを生成するのに、コンテンツデータを使うことができる。このようにして、自動化アシスタント228は、OEM車両コンピューティングデバイス204のすべての機能性の使用を促進するための有用な提案を依然として提供しながら、OEM車両コンピューティングデバイス204によって強制された制限の境界内で作用している。たとえば、提案データは、「アシスタント、一番近い食料品店はどこ?」などの発話を特徴づけることができる。この発話は、ナビゲーションアプリケーションが、ユーザを特定の行先へ向ける、進行中のアクションを執り行ったこと、およびユーザ202が、車両208での運転中にコーヒーを買うことに関するメッセージを受信したことに基づいて提案され得る。提案データはランチャーOEM車両アプリケーションに提供されてよく、アプリケーションは、提案データを処理し、第3のグラフィカル要素216をグラフィカルユーザインターフェース206の第3のエリア222内に提示させればよい。その結果、自動化アシスタント228が、OEM車両コンピューティングデバイス204によって明記されたどのアクセス制限にも違反することなく、ユーザ202に提案が提示され、そうすることによって、自動化アシスタントの他のインスタンスが、同様の制限をもつ他の車両上で動作できるようになる。追加または代替として、自動化アシスタント228は、第1のグラフィカル要素212のコンテンツまたは第2のグラフィカル要素216のコンテンツのうちのただ1つに関するコマンドをユーザが与えるための提案に対応する提案データを生成するのに、コンテンツデータを使うことができる。
【0030】
いくつかの実装形態では、ユーザが第3のグラフィカル要素216をタップしたこと、および/または識別された発話をOEM車両コンピューティングデバイス204に与えたことに応答して、自動化アシスタント228が呼び出され得る。さらに、発話に応答して、自動化アシスタント228は、ナビゲーションアプリケーションによる、1つまたは複数の対応するアクションの実施を初期化してよい。たとえば、自動化アシスタント228が、「アシスタント、一番近い食料品店はどこ?」という発話を受信したことに応答して、自動化アシスタント228は、ランチャーOEM車両アプリケーションおよび/またはナビゲーションアプリケーションに関連付けられたサーバデバイスに提供されるべきコマンドデータを生成すればよい。コマンドデータは、ナビゲーションアプリケーションに対応するAPIに従って生成された1つまたは複数のコマンドを特徴づけることができる。ランチャーOEMアプリケーションおよび/またはサーバデバイスがコマンドデータを受信すると、ランチャーOEMアプリケーションおよび/またはサーバデバイスは、ナビゲーションアプリケーション、および/または任意の他のサードパーティアプリケーション226を介しての、1つまたは複数のコマンドの実行を初期化し得る。
【0031】
コマンドのうちの1つまたは複数の、実行が初期化されたことに応答して、ナビゲーションアプリケーションは、図2Bのビュー240に示すように、グラフィカルユーザインターフェース206においてサードパーティアプリケーションインターフェース242を提供させることができる。したがって、ランチャーOEM車両アプリケーションによって明記された制約にかかわらず、ユーザは、OEM車両コンピューティングデバイス204において1つまたは複数のアクションを実施するためのサードパーティアプリケーションを呼び出すために、自動化アシスタント228に発話を与えてよい。上述した例を助長するために、サードパーティアプリケーション226は、サードパーティアプリケーションインターフェース242を提供するためのランチャーOEM車両アプリケーションに、コンテンツを提供すればよい。さらに、コンテンツは、近くの食料品店のロケーション、ユーザが現在とっている経路に関する詳細、およびユーザ202が行先にいつ到着するかについての詳細を特徴づけることができる。
【0032】
いくつかの実装形態では、ランチャーOEM車両アプリケーションは、グラフィカルユーザインターフェース206において提供されるコンテンツを特徴づけるデータを生成することができる。この生成されたデータは自動化アシスタント228に提供されてよく、アシスタント228は、グラフィカルユーザインターフェース206に対する最近の変化に基づいて、さらなる提案を生成することができる。具体的には、生成されたデータは、サードパーティアプリケーションインターフェース242において提供されるコンテンツを特徴づけることができ、自動化アシスタント228は、生成されたデータを、自動化アシスタント228に、OEM車両アプリケーション224および/またはサードパーティアプリケーション226による、1つまたは複数のアクションの実施を初期化させるための他の提案データを生成するために使えばよい。さらに、提案データは、1つまたは複数のアクションが、ナビゲーションアプリケーションとは異なるアプリケーション、および/またはグラフィカルユーザインターフェース206において提示されるコンテンツを提供した他のアプリケーションによって実施されることにかかわらず、グラフィカルユーザインターフェース206において提供されるコンテンツに関連する1つまたは複数のアクションを特徴づけることができる。
【0033】
図2Cのビュー260において与えられるように、自動化アシスタントは、ランチャーOEM車両アプリケーションに、異なるアプリケーションを使って1つまたは複数のアクションを実施するために、別個のアプリケーションを呼び出すための1つまたは複数の提案262を与えさせることができる。自動化アシスタント228は、グラフィカルユーザインターフェース206において以前レンダリングされたコンテンツを特徴づけるデータと、グラフィカルユーザインターフェース206において現在レンダリングされているコンテンツとを、ユーザ202向けの適切な提案を生成するために使うことができる。たとえば、メッセージングアプリケーションは、図2Aにおいて、ジェーンからの新規メッセージを有するものとして示され、ナビゲーションアプリケーションからのETAが図2Cにおいて与えられたので、自動化アシスタントは、この新たなETAをジェーンへ送るために、ユーザが自動化アシスタントを呼び出すことを提案してよい。具体的には、自動化アシスタント228によって生成された提案データは、「アシスタント、私の新しいETAをジェーンに送って」などの発話を特徴づけることができる。提案データは、提案データに従ってグラフィカルユーザインターフェース206において1つまたは複数の提案262を提示させるために、自動化アシスタント228からランチャーOEM車両アプリケーションおよび/またはナビゲーションアプリケーションに関連付けられたサーバデバイスに与えられてよい。
【0034】
図3は、OEM車両アプリケーション320および/またはサードパーティアプリケーション332を介して提案をレンダリングし、OEM車両アプリケーション320および/またはサードパーティアプリケーション332を介してアクションを初期化することができる車両自動化アシスタント322を含むOEM車両コンピューティングデバイス318を提供するシステム300を示す。システム300は自動化アシスタント304を含んでよく、自動化アシスタント304は、OEM車両コンピューティングデバイス318および/またはサーバデバイス302など、1つまたは複数のコンピューティングデバイスにおいて提供されるアシスタントアプリケーションの一部として動作し得る。ユーザは、アシスタントインターフェースを介して自動化アシスタント304と対話することができ、アシスタントインターフェースは、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/またはユーザとアプリケーションとの間のインターフェースを提供することが可能な任意の他の装置であってよい。
【0035】
たとえば、ユーザは、自動化アシスタント304に機能を実施させる(たとえば、データを与えさせ、周辺デバイスを制御させ、エージェントにアクセスさせ、入力および/または出力を生成させる、など)ために、アシスタントインターフェース(たとえば、OEM車両コンピューティングデバイス318のアシスタントインターフェースおよび/または任意の他のクライアントデバイスのアシスタントインターフェース)に言葉、テキスト、および/またはグラフィカル入力を与えることによって、自動化アシスタント304を初期化することができる。OEM車両コンピューティングデバイス318はディスプレイデバイスを含んでよく、ディスプレイデバイスは、ユーザがタッチインターフェースを介してOEM車両コンピューティングデバイス318のアプリケーションを制御できるようにするためのタッチ入力および/またはジェスチャーを受信するためのタッチインターフェースを含むディスプレイパネルであってよい。いくつかの実装形態では、OEM車両コンピューティングデバイス318にはディスプレイデバイスが欠けている場合があり、そうすることによって、グラフィカルユーザインターフェース出力を提供することなく、可聴ユーザインターフェース出力を提供し、そのような配置では、車両コンピューティングデバイス318は、本明細書に記載するグラフィカルユーザインターフェースをレンダリングするために、外部ディスプレイデバイスに結合または接続されてよい。さらに、OEM車両コンピューティングデバイス318は、ユーザから口頭自然言語入力を受信するための、マイクロフォンなどのユーザインターフェースを提供し得る。いくつかの実装形態では、OEM車両コンピューティングデバイス318は、タッチインターフェースを含んでよく、カメラが欠けていても、含んでもよいが、任意選択で、1つまたは複数の他のセンサーを含み得る。
【0036】
OEM車両コンピューティングデバイスおよび/または他のサードパーティサーバデバイス350は、インターネットなどのネットワーク340を介してサーバデバイス302と通信してよい。さらに、OEM車両コンピューティングデバイス318と他のクライアントデバイスは、Wi-Fiネットワークなどのローカルエリアネットワーク(LAN)を介して、互いと通信することができる。自動化アシスタント322は、OEM車両コンピューティングデバイス318において計算用リソースを節約するために、サーバデバイス302に計算タスクをオフロードすればよい。たとえば、サーバデバイス302は自動化アシスタント304を収容することができ、OEM車両コンピューティングデバイス318は、1つまたは複数のアシスタントインターフェースにおいて受信された入力をサーバデバイス302へ送信すればよい。ただし、いくつかの実装形態では、自動化アシスタント304は、クライアント自動化アシスタント322として、OEM車両コンピューティングデバイス318において収容され得る。
【0037】
様々な実装形態において、自動化アシスタント304のすべての、またはすべてよりも少ない態様が、OEM車両コンピューティングデバイス318上で実装され得る。それらの実装形態のうちのいくつかでは、自動化アシスタント304の態様は、OEM車両コンピューティングデバイス318のクライアント自動化アシスタント322により実装され、自動化アシスタント304の他の態様を実装することができるサーバデバイス302とインターフェースすることができる。サーバデバイス302は、複数のユーザおよびそれらに関連付けられたアシスタントアプリケーションに、複数のスレッドを介して随意にサービスすることができる。自動化アシスタント304のすべての、またはすべてよりも少ない態様がOEM車両コンピューティングデバイス318のクライアント自動化アシスタント322により実装される実装形態において、クライアント自動化アシスタント322は、OEM車両コンピューティングデバイス318のオペレーティングシステムとは別個のアプリケーション(たとえば、オペレーティングシステムの「上に」インストールされた)であってよく、または代替として、OEM車両コンピューティングデバイス318のオペレーティングシステムによって直接実装されて(たとえば、オペレーティングシステムのアプリケーションと見なされるが、それと一体であって)よい。
【0038】
いくつかの実装形態では、自動化アシスタント304および/またはクライアント自動化アシスタント322は入力処理エンジン306を含んでよく、エンジン306は、OEM車両コンピューティングデバイス318および/またはサーバデバイス302向けの入力および/または出力を処理するための複数の異なるモジュールを利用することができる。たとえば、入力処理エンジン306は、アシスタントインターフェースにおいて受信されたオーディオデータを処理して、オーディオデータ中で具現化されたテキストを識別することができる音声処理エンジン308を含み得る。オーディオデータは、たとえば、OEM車両コンピューティングデバイス318において計算用リソースを保持するために、OEM車両コンピューティングデバイス318からサーバデバイス302へ送信され得る。
【0039】
オーディオデータをテキストに変換するためのプロセスは音声認識アルゴリズムを含んでよく、音声認識アルゴリズムは、ニューラルネットワーク、および/または単語もしくはフレーズに対応するオーディオデータのグループを識別するための統計モデルを利用することができる。オーディオデータから変換されたテキストは、データ解析エンジン310によって解析され、コマンドフレーズ、意図、アクション、スロット値、および/またはユーザによって指定されたどの他のコンテンツも生成および/または識別するのに使うことができるテキストデータとして、自動化アシスタントにとって利用可能にされてよい。いくつかの実装形態では、データ解析エンジン310によって与えられた出力データは、自動化アシスタント304により実施されることが可能な特定の意図、アクションおよび/もしくはルーチンならびに/または自動化アシスタント304によってアクセスされることが可能なアプリケーションもしくはエージェントに対応する入力をユーザが与えたかどうかを判断するために、パラメータモジュール312に与えられてよい。たとえば、アシスタントデータ316は、サーバデバイス302および/またはOEM車両コンピューティングデバイス318において、車両データ324として記憶されてよく、自動化アシスタント304、および/またはクライアント自動化アシスタント322によって実施されることが可能な1つまたは複数のアクションを定義するデータ、ならびにアクションを実施するのに必要なパラメータも含み得る。
【0040】
いくつかの実装形態では、自動化アシスタント304はOEM車両コンピューティングデバイス318を介してアクセス可能であってよく、デバイス318は、OEM車両コンピューティングデバイス318においてアクセス可能なアプリケーションの間のローカル通信を限定し得る。自動化アシスタント304は、1つまたは複数のアクションを実施するための、OEM車両アプリケーション320、サードパーティアプリケーション332、および/またはクライアントデバイスを初期化するために自動化アシスタント304を呼び出すための提案を与えるように動作し得る。自動化アシスタント304はOEM車両コンピューティングデバイス318を介してアクセス可能であってよく、デバイス318は、サーバデバイス302と通信する自動化アシスタント322のインスタンスへのアクセスを提供し得る。追加または代替として、自動化アシスタント304は、OEM車両コンピューティングデバイス318において提供されてよい。
【0041】
車両コンピューティングデバイス318は、自動化アシスタント322とサードパーティアプリケーション332との間の、および/または自動化アシスタント322とOEM車両アプリケーション320との間の、データの送信を限定するように、アプリケーション対話エンジン334を操作し得る。アプリケーション対話エンジン334は、OEM車両コンピューティングデバイス318における様々なアプリケーションへ/からデータを送り、かつ/または受信し、いつ、および/またはどれだけ多くのデータを、OEM車両コンピューティングデバイス318における他のアプリケーションと共有するべきかを判断することができる。たとえば、サードパーティアプリケーション332はOEM車両コンピューティングデバイス318において利用可能であってよく、サードパーティアプリケーション332はサードパーティサーバデバイス350と通信することができる。サードパーティサーバデバイス350は、OEM車両コンピューティングデバイス318を介して提供された要求を、入力要求エンジン354を使って処理することができ、コマンドエンジン356を使って要求に応答すればよい。
【0042】
いくつかの実装形態では、サードパーティサーバデバイス350のアプリケーション状況エンジン352はサーバデータ358を生成することができ、このデータは、1つまたは複数のサードパーティアプリケーション332の状況を特徴づけることができる。さらに、サードパーティアプリケーション332は、ユーザのアカウントに関連付けられてよく、アカウントも、自動化アシスタント304に関連付けられてよい(ユーザからの事前許可を得て)ので、データは、サードパーティサーバデバイス350とサーバデバイス302との間で共有され得る。たとえば、アプリケーション状況エンジン352によって判断されたアプリケーション状況の変化、および/または1つもしくは複数のアプリケーションによって実施される動作が、サードパーティアプリケーション332によって実施される1つまたは複数のアクションを自動化アシスタント304に通告するために、自動化アシスタント304へ通信されてよい。サードパーティ対話エンジン326は、自動化アシスタント304にコンテキストデータを提供するために、サードパーティサーバデバイス350、OEM車両コンピューティングデバイス318、クライアントデバイス、および/またはどの他のデバイスもしくは装置からもデータを受信し得る。
【0043】
自動化アシスタント304の提案エンジン328は、自動化アシスタント304によって初期化され得る関連アクションに関する提案を生成するために、コンテキストデータを使うことができる。さらに、提案を特徴づける提案データは、アシスタントデータ316として記憶され、提案ランク付けエンジン336によって処理され得る。提案ランク付けエンジン336は、少なくとも部分的にはコンテキストデータに基づいて提案をランク付けし得る。さらに、いくつかの実装形態では、提案ランク付けエンジン336は、アプリケーションによって最近実施され、かつ/またはアプリケーションによって現在実施されているアクションを提案するのを防止するために、コンテキストデータを使ってランク付けされ得る。
【0044】
いくつかの実装形態では、提案は、コンテキストデータに従ってランク付けおよび/または提示されてよく、コンテキストデータは、ユーザの経路の詳細を含み得る。たとえば、コンテキストデータは、ユーザが現在、X分および/またはYマイルだけ続く経路の部分を走行中であるかどうかを示し得る。いくつかの実装形態では、経路の部分が時間および/または距離閾を満足するとき、提案エンジン328は、OEM車両コンピューティングデバイス318のグラフィカルユーザインターフェースにおいて、1つまたは複数の提案要素を提示させればよい。ただし、経路の部分が時間および/または距離閾を満足しないとき、提案エンジン328は、グラフィカルユーザインターフェースに1つまたは複数の提案要素を提示させるのを回避すればよい。
【0045】
図4は、サードパーティ車両コンピューティングデバイスのグラフィカルユーザインターフェースおよび/またはサードパーティ車両コンピューティングデバイスにおいて動作するサードパーティアプリケーションにおいて1つまたは複数の提案要素を提供するための方法400を示す。方法400は、1つもしくは複数のコンピューティングデバイス、アプリケーション、および/またはユーザインターフェースにおいて提案を与えることが可能などの他の装置もしくはモジュールによっても実施され得る。方法400は、車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされているコンテンツを特徴づける車両アプリケーションデータを受信することを含む動作402を含み得る。車両コンピューティングデバイスは、車両コンピューティングデバイスを介してアクセス可能なアプリケーションの間のローカル通信を制限する制約に従って動作し得る。
【0046】
たとえば、車両コンピューティングデバイスは、OEMサードパーティ車両アプリケーション、1つもしくは複数の他のサードパーティアプリケーション、および/または自動化アシスタントを含み得る。自動化アシスタントは、車両コンピューティングデバイスからはリモートであってよい。したがって、車両コンピューティングデバイスは、自動化アシスタントと1つまたは複数の他のサードパーティアプリケーションとの間の通信を限定し得る。たとえば、車両コンピューティングデバイスが、サードパーティナビゲーションアプリケーションおよび/またはサードパーティメッセージングアプリケーションを含むとき、上述したアプリケーションは、自動化アシスタントと直接通信することを制限され、代わりに、もっぱら車両コンピューティングデバイスを介して、任意選択で車両アプリケーションを通して通信することに制限されてよい。ただし、OEM車両アプリケーションは車両アプリケーションデータを生成することができ、このデータは、車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされているコンテンツを特徴づけるか、または示し得る。代替または追加として、OEM車両アプリケーションは、1つもしくは複数の他のサードパーティアプリケーション、車両、ならびに/または車両および/もしくは車両コンピューティングデバイスに関連付けられ得るどの他の装置もしくはモジュールによっても実施される1つまたは複数の動作を特徴づける車両アプリケーションデータを生成し得る。自動化アシスタントと他のサードパーティアプリケーションとの間の直接通信アクセスを制限すると、車両システムの完全性を維持するのを助けることができ、これは、車両安全性および信頼性のために重要であり得る。
【0047】
方法400は、受信された車両アプリケーションデータと、自動化アシスタントに関連付けられたアシスタントデータとの間の関係を判断する動作404をさらに含み得る。たとえば、動作404は、車両アプリケーションデータが、ユーザと自動化アシスタントとの間の1つまたは複数のダイアログセッションの主題だった何らかの情報を特徴づけるかどうかを判断することを含み得る。代替または追加として、動作404は、車両アプリケーションデータが、自動化アシスタントへのアクセスを提供する1つまたは複数のコンピューティングデバイスを使って、ユーザによってアクセスされた何らかの情報を特徴づけるかどうかを判断することを含み得る。そのような情報へのアクセスは、ユーザが、他のデバイスおよび/または人にはアクセスさせたくない情報を保護するために、ユーザからの許可を得て提供され得る。代替または追加として、動作404は、車両アプリケーションデータおよびアシスタントデータが、あるタイプのデータに関連付けられ得る情報および/または主観的情報を特徴づけるかどうかを判断することをさらに含み得る。たとえば、特定の人から車両コンピューティングデバイスにおいて、着信呼が受信されていることを車両アプリケーションデータが示し、ユーザが以前、同じ特定の人からの呼に答えるために自動化アシスタントを呼び出したことがあることを自動化アシスタントデータが示すとき、車両アプリケーションデータとアシスタントデータとの間の関係が識別され得る。
【0048】
方法400は、(車両)アプリケーションデータが過去のアクションを特徴づけるかどうかを判断する任意選択の動作406をさらに含み得る。過去のアクションは、車両アプリケーションデータが受信される前の時間期間内に実行されたアクション(たとえば、通知を提供する、データを送る、データにアクセスする、データを生成する、など)であってよい。いくつかの実装形態では、時間期間は、ユーザと車両コンピューティングデバイスとの間の、および/またはユーザと自動化アシスタントとの間の対話のプロパティに従って静的または動的な閾時間期間であってよい。例として、車両コンピューティングデバイスにおいて利用可能なサードパーティアプリケーションが、車両の液体センサーがアラーム状態にあることを示す通知を与えることができる。この通知は、車両アプリケーションデータを受信する閾時間期間内にディスプレイパネルにおいてレンダリングされたグラフィカルユーザインターフェースにおいて通知が提供されているので、過去のアクションと見なされてよい。いくつかの実装形態では、通知が提示された時間は、車両アプリケーションデータによって特徴づけられる時間情報に基づいて判断されてよい。自動化アシスタントは、車両のいくつかのプロパティを追跡するためのアプリケーションへのアクセスを有することができ、したがって、液体センサーについての通知によって特徴づけられる情報も知っていてよい。ただし、車両コンピューティングデバイスのディスプレイパネルにおいて通知がいつ提示されたかに依存して、自動化アシスタントは、液体センサーについての通知をディスプレイパネルにおいて現れさせるのを回避する場合も、しない場合もある。
【0049】
アプリケーションデータが、動作406において過去のアクションを特徴づけるとき、方法400は動作408へ進んでよく、動作408は、過去のアクションを提案するのを避ける他の提案データを生成することを含み得る。例として、サードパーティアプリケーションが、液体センサーに関連した通知を与えると、他の提案データは、液体センサーの状況を詳述する情報を要求することを含まない1つまたは複数の提案を与えることによって、液体センサーの状況についての情報を取得することを提案するのを避け得る。むしろ、自動化アシスタントは、液体センサーに対応する液体を購入することについての情報を要求すること、液体センサーの状況を詳述する情報を含むメッセージを送ること、液体センサーに関連付けられた整備を実施する店に電話呼をかけること、および/または液体センサーの状況を詳述する情報を要求するのとは異なる、任意の他の要求のための発話を特徴づける提案データを生成すればよい。
【0050】
アプリケーションデータが、動作406において判断された過去のアクションを特徴づけないとき、方法400は動作410へ進んでよい。動作410は、車両アプリケーションデータとアシスタントデータとの間の関係に基づいて提案データを生成することを含み得る。たとえば、サードパーティアプリケーションにおけるグラフィカルユーザインターフェースが、特定の行先までの経路を特徴づけるコンテンツを含み、自動化アシスタントが、閾時間期間内に液体センサーに関連した通知を与えていないとき、自動化アシスタントは、液体センサーについての通知に対応する提案データを与えればよい。提案データは、ユーザによって話されると、自動化アシスタントに、液体センサーの状況に関連した情報を提供させる発話などの自然言語コンテンツを特徴づけることができる。たとえば、発話は、「アシスタント、液体センサーの状況はどう?」であってよい。
【0051】
方法400は、動作410および/または動作408から動作412へ進んでよく、動作412は、車両アプリケーションデータとアシスタントデータとの間の関係に基づいて、提案データおよび/または他の提案データについての優先度を判断することを含み得る。いくつかの実装形態では、動作412は任意選択の動作であってよい。いくつかの実装形態では、車両アプリケーションデータとアシスタントデータとの間の相関の強度は、提案データについての優先度を判断するのに使われ得る。たとえば、自動化アシスタントとユーザとの間のダイアログセッションに明示的に含まれる自然言語コンテンツを特徴づける車両アプリケーションデータについての相関は、ユーザと自動化アシスタントとの間の過去のダイアログセッションにより、自然言語コンテンツによって特徴づけられるアクションが生じたとき、車両アプリケーションデータとアシスタントデータとの間の別の相関よりも強い相関を有すると特徴づけられ得る。
【0052】
方法400は動作412から動作414へ進んでよく、動作414は、提案データに基づいて、サードパーティアプリケーションによって渋滞提案要素をレンダリングさせることを含み得る。任意選択で、提案要素は車両アプリケーションによってレンダリングされてよい。車両アプリケーションによって提案要素をレンダリングさせることは、自動化アシスタントから車両アプリケーションにアクションデータを提供することを含み得る。アクションデータは、提案要素が選択されると車両アプリケーションによって実施されるべきアクションを示すことができ、たとえば、提案要素に関連付けられたアクションの実行のためのパラメータを含んでよい。提案要素は、提案要素が提示されるロケーションでディスプレイパネルをユーザがタップすることによって、および/または提案要素に含まれる自然言語コンテンツの少なくともある程度の量を含む発話をユーザが与えることによって選択することができる、選択可能な要素であってよい。提案要素がディスプレイパネルにおいてレンダリングされると、方法400は、レンダリングされた提案要素が特定の時間期間内に選択されたかどうかを判断する、任意選択の動作416へ進んでよい。いくつかの実施形態では、提案要素に関連付けられたアクションは、アクションデータに基づいて、OEM車両アプリケーションまたはサードパーティアプリケーションのうちの1つによって実施されてよい。ネイティブOEM車両アプリケーションにアクションを実施させると、不可欠な車両システムへのアクセスをサードパーティアプリケーションが有することが望ましくないインスタンスにおけるセキュリティを向上することができ、たとえば、自律車両では、センサーシステムまたはナビゲーションシステムへのアクセスは、車両のネイティブアプリケーションに制限され得る。他の実施形態では、アクションデータは、自動化アシスタントによって与えられる一意のID番号を含んでよく、ユーザによる提案要素の選択により、車両アプリケーションは、自動化アシスタントに、提案要素のアクションデータの一意のID番号に関連付けられたアクションを実施させることができる。自動化アシスタントにアプリケーションを実施させると、ユーザのプライバシーを向上することができ、というのは、サードパーティアプリケーションまたは車両のネイティブOEMアプリケーションは、ユーザについての、または車両アプリケーションデータとアシスタントデータとの間の相関もしくは関連付けに基づいて自動化アシスタントによって実施されるアクションについての情報へのアクセスを有していないからである。セキュリティはしたがって、ユーザ向けに向上され得る。
【0053】
レンダリングされた提案要素が特定の時間期間内に選択されると、方法は、動作416から任意選択の動作418へ進んでよい。任意選択の動作418は、提案の選択に従って提案データに優先度を割り当てることを含み得る。ただし、ユーザが特定の時間期間内に提案を選択しない場合、方法は、動作416から動作420へ進んでよい。動作420は、提案要素の非選択に従って提案データに優先度を割り当てることを含み得る。いくつかの実装形態では、提案データの優先度は、ユーザが提案要素を選択したことに応答して上げられてよく、かつ/または提案データの優先度は、ユーザが特定の時間期間内に提案要素を選択しなかったことに応答して下げられてよい。このようにして、ユーザが車両コンピューティングデバイスと対話すると、提案は、ユーザとの関連性、ならびにユーザが、提案データに対応するコンテンツをすでに認めたかどうかに従ってランク付けされ得る。方法400は、車両および/または車両コンピューティングデバイスにおいて様々な機能を促進するために、新規車両アプリケーションデータがサードパーティ車両アプリケーションによってレンダリングされるのに従って循環してよく、そうすることによって、車両および/または車両コンピューティングデバイスのより効率的な使用も促進する。
【0054】
図5は、例示的コンピュータシステム510のブロック図である。コンピュータシステム510は通常、バスサブシステム512を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ514を含む。これらの周辺デバイスは、たとえば、メモリ525およびファイル記憶サブシステム526を含む記憶サブシステム524と、ユーザインターフェース出力デバイス520と、ユーザインターフェース入力デバイス522と、ネットワークインターフェースサブシステム516とを含み得る。入力および出力デバイスは、コンピュータシステム510とのユーザ対話を可能にする。ネットワークインターフェースサブシステム516は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム中の対応するインターフェースデバイスに結合される。
【0055】
ユーザインターフェース入力デバイス522は、キーボード、マウス、トラックボールなどのポインティングデバイス、タッチパッド、もしくはグラフィックスタブレット、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、すべての可能なタイプのデバイスと、コンピュータシステム510中に、または通信ネットワーク上に情報を入力する方法とを含むことを意図している。
【0056】
ユーザインターフェース出力デバイス520は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、オーディオ出力デバイスを介するなどして、非視覚ディスプレイも提供し得る。概して、「出力デバイス」という用語の使用は、すべての可能なタイプのデバイスと、コンピュータシステム510からユーザに、または別の機械もしくはコンピュータシステムに情報を出力する方法とを含むことを意図している。
【0057】
記憶サブシステム524は、本明細書に記載するモジュールの一部または全部の、機能性を提供するプログラミングおよびデータ構造体を記憶する。たとえば、記憶サブシステム524は、方法400の選択された態様を実施するための、ならびに/またはOEM車両コンピューティングデバイス104および/もしくは204、OEM車両アプリケーション124および/もしくは224、サードパーティアプリケーション126および/もしくは226、自動化アシスタント128および/もしくは228、車両108および/もしくは208、サーバデバイス302、OEM車両コンピューティングデバイス318、サードパーティサーバデバイス350、および/もしくは本明細書において論じる任意の他のアプリケーション、デバイス、装置、および/もしくはモジュールのうちの1つもしくは複数を実装するための論理を含み得る。
【0058】
これらのソフトウェアモジュールは概して、プロセッサ514によって単独で、または他のプロセッサとの組合せで実行される。記憶サブシステム524において使われるメモリ525は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)530と、固定命令が記憶される読出し専用メモリ(ROM)532とを含むいくつかのメモリを含み得る。ファイル記憶サブシステム526が、プログラムおよびデータファイルのための永続記憶をもたらすことができ、ハードディスクドライブ、フロッピーディスクドライブを、関連付けられた取り外し可能媒体、CD-ROMドライブ、光ドライブ、または取り外し可能メディアカートリッジとともに含み得る。いくつかの実装形態の機能性を実装するモジュールは、ファイル記憶サブシステム526によって記憶サブシステム524に、またはプロセッサ514によってアクセス可能な他の機械に記憶され得る。
【0059】
バスサブシステム512は、コンピュータシステム510の様々な構成要素およびサブシステムを、意図したように互いと通信させるための機構を提供する。バスサブシステム512は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は複数のバスを使うことができる。
【0060】
コンピュータシステム510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む様々なタイプであってもよい。コンピュータおよびネットワークの絶えず変化する性質により、図5に示すコンピュータシステム510の記述は、いくつかの実装形態を示す目的で、具体例としてのみ意図される。コンピュータシステム510の多くの他の構成は、図5に示すコンピュータシステムよりも多いか、またはそれよりも少ない構成要素を有することが可能である。
【0061】
本明細書に記載するシステムがユーザ(もしくは、本明細書ではしばしば、「関係者」と呼ばれる)についての個人情報を収集するか、もしくは個人情報を利用し得る状況において、ユーザは、プログラムもしくは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的アクションもしくは活動、職業、ユーザの嗜好、またはユーザの現在の地理的ロケーションについての情報)を収集するかどうかを制御するための、あるいはユーザにより適し得るコンテンツサーバからコンテンツを受信するかどうか、および/またはどのようにして受信するかを制御するための機会を与えられ得る。また、特定のデータが、記憶され、または使われる前に、個人識別情報が削除されるように1つまたは複数のやり方で扱われ得る。たとえば、ユーザのアイデンティティが、ユーザについての個人識別情報が判断され得ないように扱われてよく、またはユーザの地理的ロケーションが、ユーザの特定の地理的ロケーションを判断することができないように、地理的ロケーション情報が入手されるように(たとえば、市、郵便番号、または州レベルに)一般化されてよい。したがって、ユーザは、情報がどのように、ユーザについて収集され、かつ/または使われるかに対する制御を有することができる。
【0062】
いくつかの実装形態を、本明細書に記載し、示したが、機能を実施し、かつ/または本明細書に記載する結果および/もしくは利点のうちの1つもしくは複数を入手するための様々な他の手段ならびに/または構造が使用されてよく、そのような変更および/または修正の各々は、本明細書に記載する実装形態の範囲内であると見なされる。より全般的には、本明細書に記載するすべてのパラメータ、寸法、材料、および構成は、例示的であることを意図しており、実際のパラメータ、寸法、材料、および/または構成は、本教示が使われる具体的な1つのアプリケーションまたは複数のアプリケーションに依存する。ルーチン実験のみを使って、本明細書に記載する具体的な実装形態に対する多くの等価物を、当業者は理解し、または確かめることができよう。したがって、上記の実装形態は例示の目的でのみ提示されていること、ならびに添付の請求項およびその等価物の範囲内において、具体的に記載し、特許請求するのとは違うように実装形態が実践され得ることが理解されよう。本開示の実装形態は、本明細書に記載する各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法のどの組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合は、本開示の範囲に含まれる。
【0063】
いくつかの実装形態では、1つまたは複数のプロセッサによって実装される方法が、ユーザが車両に乗っているときに動作中である車両アプリケーションを介して、車両アプリケーションのグラフィカルユーザインターフェースにおいてレンダリングされるコンテンツに対応する車両アプリケーションデータを受信することであって、グラフィカルユーザインターフェースは、車両の車両コンピューティングデバイスと通信するディスプレイパネルにおいて表示される、ことなどの動作を含むものとして説明される。方法は、車両アプリケーションデータを受信したことに応答して、車両アプリケーションデータが、自動化アシスタントを介して利用可能なアシスタントデータに関連付けられると判断することであって、自動化アシスタントは、車両コンピューティングデバイスを介してアクセス可能である、ことをさらに含み得る。方法は、車両アプリケーションデータがアシスタントデータに関連付けられると判断したことに応答して、提案データを生成することであって、提案データは、アシスタントデータおよび車両アプリケーションデータに関連付けられるアクションを識別し、提案データは、ディスプレイパネルにおいてレンダリングされているコンテンツとは異なる自然言語コンテンツを特徴づける、ことをさらに含み得る。方法は、提案データに基づいて、以前生成された提案データに関連付けられる優先度データに対する提案データの優先度を判断することであって、以前生成された提案データは、車両アプリケーションのグラフィカルユーザインターフェースにおいて以前レンダリングされた1つまたは複数の提案要素に対応する、ことをさらに含み得る。方法は、優先度データに対する提案データの優先度が、提案データが他の提案データよりも優先されることを示すとき、提案データに基づいて、およびユーザが車両に乗っている間に、車両アプリケーションのグラフィカルユーザインターフェースにおいて、特定の提案要素をレンダリングさせることであって、特定の提案要素は自然言語コンテンツを含む、ことをさらに含み得る。
【0064】
いくつかの実装形態では、優先度データは、ユーザおよび/または1人もしくは複数の他のユーザが車両に乗っていた間に、ユーザおよび/または1人もしくは複数の他のユーザが1つまたは複数の提案要素を選択した1つまたは複数の以前のインスタンスに基づく。いくつかの実装形態では、方法は、行先ロケーションまでのユーザの推定到着時間を判断することであって、他の提案データに関連付けられる優先度データに対する提案データの優先度を判断することは、少なくとも部分的には行先ロケーションまでのユーザの推定到着時間に基づく、ことをさらに含み得る。いくつかの実装形態では、方法は、優先度データに対する提案データの優先度が、提案データが他の提案データよりも優先されることを示すとき、車両アプリケーションのグラフィカルユーザインターフェースにおいて特定の提案要素をレンダリングさせたことに続いて、特定の提案要素が選択されたと判断することと、特定の提案要素が選択されたと判断したことに応答して、提案データの優先度を修正させることとをさらに含み得る。
【0065】
いくつかの実装形態では、車両アプリケーションのグラフィカルユーザインターフェースは、コンテンツを含む第1のエリア、および他のコンテンツを含む第2のエリアを含み、車両アプリケーションのグラフィカルユーザインターフェースにおいて特定の提案要素をレンダリングさせることは、特定の提案要素を、グラフィカルユーザインターフェースの第1のエリアにおいてレンダリングさせ、別の提案要素を、グラフィカルユーザインターフェースの第2のエリアにおいてレンダリングさせることであって、別の提案要素は少なくとも部分的に、他のコンテンツに基づく、ことを含む。いくつかの実装形態では、車両アプリケーションデータは他のコンテンツにも対応し、提案データを生成することは、他のコンテンツに関連付けられた別のアクションを識別することを含む。いくつかの実装形態では、方法は、グラフィカルユーザインターフェースの第1のエリアにおいて提供されるコンテンツに、およびグラフィカルユーザインターフェースの第2のエリアにおいて提供される他のコンテンツに基づく追加提案データを生成することであって、追加提案データは、アシスタントデータおよび車両アプリケーションデータに関連付けられた追加アクションを識別し、提案データは、コンテンツおよび他のコンテンツとは異なる他の自然言語コンテンツを特徴づける、ことをさらに含み得る。
【0066】
いくつかの実装形態では、車両アプリケーションのグラフィカルユーザインターフェースは、自動化アシスタントに対応する第3のエリアを含み、方法は、追加提案データに基づいて、およびユーザが車両に乗っている間に、車両アプリケーションのグラフィカルユーザインターフェースの第3のエリアにおいて別個の提案要素をレンダリングさせることであって、別個の提案要素は、他の自然言語コンテンツを含む、ことをさらに含む。いくつかの実装形態では、提案データに基づいて、車両アプリケーションのグラフィカルユーザインターフェースにおいて特定の提案要素をレンダリングさせることは、自動化アシスタントから車両アプリケーションにアクションデータを提供することを含む。いくつかの実装形態では、特定の提案要素は車両アプリケーションによってレンダリングされ、提案要素の自然言語コンテンツは、ユーザによって車両コンピューティングデバイスに話されると、自動化アシスタントを介してアクションを初期化させる発話を特徴づける。いくつかの実装形態では、方法は、優先度データに対する提案データの優先度が、提案データが他の提案データよりも優先されることを示すとき、提案要素の自然言語コンテンツに対応する口頭入力をユーザが与えたと判断することと、ユーザが口頭入力を与えたと判断したことに応答して、自動化アシスタントにアクションを初期化させることであって、アクションは、自動化アシスタントがアクションを初期化したことに応答して、別個の車両アプリケーションによって実施される、こととをさらに含み得る。
【0067】
いくつかの実装形態では、自動化アシスタントは、優先度データを生成したソースによって提供され、車両アプリケーションデータは、ソースとは異なるサードパーティソースによって生成され、別個の車両アプリケーションは、ソースおよびサードパーティソースとは別個のソースによって提供される。いくつかの実装形態では、車両アプリケーションは、ソースによって提供されるナビゲーションアプリケーションであり、別個の車両アプリケーションは、別個のソースによって提供される通信および/またはメディアアプリケーションである。いくつかの実装形態では、自動化アシスタントは、優先度データを生成したソースによって提供され、車両アプリケーションデータは、ソースとは異なるサードパーティソースによって生成される。いくつかの実装形態では、自動化アシスタントは、車両の車両コンピューティングデバイスからはリモートである。
【0068】
他の実装形態では、1つまたは複数のプロセッサによって実装される方法が、車両コンピューティングデバイスの車両アプリケーションによって、サードパーティアプリケーションが、車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされているグラフィカルユーザインターフェースを介してコンテンツを提供していると判断することであって、車両アプリケーションは、車両コンピューティングデバイスを介してユーザにとってアクセス可能であり、車両コンピューティングデバイスは、ユーザを行先にナビゲートしている車両の一部である、ことなどの動作を含むものとして説明される。いくつかの実装形態では、方法は、グラフィカルユーザインターフェースがコンテンツを含むと判断したことに基づいて、サードパーティアプリケーションによって提供されるコンテンツの少なくとも一部分を特徴づける車両アプリケーションデータを生成することをさらに含み得る。いくつかの実装形態では、方法は、車両コンピューティングデバイスの車両アプリケーションによって、車両アプリケーションデータを自動化アシスタントに提供することであって、自動化アシスタントも、車両コンピューティングデバイスを介してユーザに対してアクセス可能である、ことをさらに含み得る。いくつかの実装形態では、方法は、自動化アシスタントに車両アプリケーションデータを提供したことに基づいて、自動化アシスタントに、アシスタントデータと車両アプリケーションデータとの間の対応に基づいて生成される提案データを提供させることであって、アシスタントデータはユーザのアカウントに関連付けられる、ことをさらに含み得る。いくつかの実装形態では、方法は、車両アプリケーションによって、および自動化アシスタントから、提案データを受信することであって、提案データは、ユーザによって車両コンピューティングデバイスに話されると、自動化アシスタントに、サードパーティアプリケーションによるアクションの実施を初期化させる自然言語コンテンツを特徴づける、ことをさらに含み得る。いくつかの実装形態では、方法は、自動化アシスタントから提案データを受信したことに応答して、サードパーティアプリケーションに、サードパーティアプリケーションのグラフィカルユーザインターフェースにおいて自然言語コンテンツをレンダリングさせることであって、自然言語コンテンツは、コンテンツがグラフィカルユーザインターフェースにおいてレンダリングされ、車両がユーザを行先にナビゲートするのと同時に、グラフィカルユーザインターフェースにおいてレンダリングされる、ことをさらに含み得る。
【0069】
いくつかの実装形態では、方法は、自然言語コンテンツがグラフィカルユーザインターフェースにおいてレンダリングされたのに続いて、ユーザおよび/または別のユーザが、グラフィカルユーザインターフェースにおいてレンダリングされた自然言語コンテンツの少なくとも一部を含む発話を与えたと判断することと、ユーザおよび/または別のユーザが発話を与えたと判断したことに応答して、自動化アシスタントに、サードパーティアプリケーションによるアクションの実施を初期化させることとをさらに含み得る。いくつかの実装形態では、方法は、提案データを受信したことに応答して、車両がユーザを行先までナビゲートするべき時間量および/または残っている距離を判断することと、車両がユーザを行先までナビゲートするべき時間量および/または残っている距離が閾を満足するかどうかを判断することとをさらに含んでよく、サードパーティアプリケーションに、サードパーティアプリケーションのグラフィカルユーザインターフェースにおいて自然言語コンテンツをレンダリングさせることは、時間量および/または残っている距離が閾を満足するときに実施される。いくつかの実装形態では、方法は、グラフィカルユーザインターフェースにおいて提示されている追加データを特徴づける、更新されたコンテンツデータを提供することをさらに含み得る。
【0070】
さらに他の実装形態では、1つまたは複数のプロセッサによって実装される方法が、サードパーティアプリケーションから車両アプリケーションに、車両コンピューティングデバイスのディスプレイパネルにおいてレンダリングされるべきコンテンツを特徴づけるコンテンツデータを提供することであって、車両コンピューティングデバイスは、ユーザを行先に向かわせている車両中に含まれる、ことなどの動作を含むものとして説明される。方法は、車両アプリケーションにコンテンツデータを提供したことに基づいて、車両アプリケーションに、コンテンツデータの少なくとも一部分を自動化アシスタントに提供させることであって、自動化アシスタントは、車両コンピューティングデバイスの1つまたは複数のインターフェースを介してユーザにとってアクセス可能であり、車両コンピューティングデバイスは、コンテンツデータのアクセス可能性を自動化アシスタントに対して制限する、ことをさらに含み得る。方法は、車両アプリケーションから、自動化アシスタントがコンテンツデータの少なくとも一部分を受信したことに基づいて、少なくとも部分的に生成される提案データを受信することであって、提案データは、ユーザから自動化アシスタントへの発話に含まれるとき、自動化アシスタントに、サードパーティアプリケーション、車両アプリケーション、および/または別のサードパーティアプリケーションによる1つまたは複数のアクションの実施を初期化させる自然言語コンテンツを特徴づける、ことをさらに含み得る。方法は、車両アプリケーションから提案データを受信したことに応答して、車両コンピューティングデバイスのディスプレイパネルに、グラフィカルユーザインターフェースにおいて自然言語コンテンツをレンダリングさせることをさらに含み得る。方法は、ユーザが、車両コンピューティングデバイスのインターフェースを介して自動化アシスタントに発話を与えると、自動化アシスタントに、サードパーティアプリケーション、車両アプリケーション、および/または別のサードパーティアプリケーションによる1つまたは複数のアクションの実施を初期化させることをさらに含み得る。
【0071】
いくつかの実装形態では、コンテンツデータの少なくとも一部分は、車両コンピューティングデバイスのディスプレイパネルにおいて表示される、レンダリングされたデータに基づいて、自動化アシスタントに提供するために選択される。いくつかの実装形態では、方法は、ユーザが、車両コンピューティングデバイスのインターフェースを介して自動化アシスタントに発話を与えると、サードパーティアプリケーションと通信するサーバデバイスを介して、車両コンピューティングデバイスとは別個の別のコンピューティングデバイスに、1つまたは複数のアクションの動作状況を提供することをさらに含み得る。
【符号の説明】
【0072】
102 ユーザ
104 OEM車両コンピューティングデバイス
106 グラフィカルユーザインターフェース
108 車両
110 第1のエリア
112 第1のグラフィカル要素
114 第2のエリア
116 第2のグラフィカル要素
118 第3のエリア
120 ディスプレイパネル
124 OEM車両アプリケーション、ランチャーOEM車両アプリケーション
126 サードパーティアプリケーション
128 自動化アシスタント
132 第1の提案要素
134 第2の提案要素
142 第3の提案要素
202 ユーザ
204 OEM車両コンピューティングデバイス
206 グラフィカルユーザインターフェース
208 車両
210 第1のエリア
212 第1のグラフィカル要素
214 第2のエリア
216 第2のグラフィカル要素、第3のグラフィカル要素
220 ディスプレイパネル
222 第3のエリア
224 OEM車両アプリケーション
226 サードパーティアプリケーション
228 自動化アシスタント
242 サードパーティアプリケーションインターフェース
262 提案
300 システム
302 サーバデバイス
304 自動化アシスタント
306 入力処理エンジン
308 音声処理エンジン
310 データ解析エンジン
312 パラメータモジュール
318 OEM車両コンピューティングデバイス、車両コンピューティングデバイス
320 OEM車両アプリケーション
322 車両自動化アシスタント、自動化アシスタント、クライアント自動化アシスタント
324 車両データ
326 サードパーティ対話エンジン
328 提案エンジン
332 サードパーティアプリケーション
334 アプリケーション対話エンジン
336 提案ランク付けエンジン
340 ネットワーク
350 サードパーティサーバデバイス
352 アプリケーション状況エンジン
354 入力要求エンジン
356 コマンドエンジン
358 サーバデータ
510 コンピュータシステム
512 バスサブシステム
514 プロセッサ
516 ネットワークインターフェースサブシステム
520 ユーザインターフェース出力デバイス
522 ユーザインターフェース入力デバイス
524 記憶サブシステム
525 メモリ
526 ファイル記憶サブシステム
530 メインランダムアクセスメモリ(RAM)
532 読出し専用メモリ(ROM)
図1A
図1B
図1C
図2A
図2B
図2C
図3
図4
図5