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

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

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

特許7590512センサーベースの検証を用いた車両機能制御
<>
  • 特許-センサーベースの検証を用いた車両機能制御 図1
  • 特許-センサーベースの検証を用いた車両機能制御 図2
  • 特許-センサーベースの検証を用いた車両機能制御 図3
  • 特許-センサーベースの検証を用いた車両機能制御 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】センサーベースの検証を用いた車両機能制御
(51)【国際特許分類】
   B60W 50/08 20200101AFI20241119BHJP
【FI】
B60W50/08
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2023134042
(22)【出願日】2023-08-21
(62)【分割の表示】P 2021202525の分割
【原出願日】2017-10-03
(65)【公開番号】P2023164437
(43)【公開日】2023-11-10
【審査請求日】2023-09-19
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ハリス・ラミック
(72)【発明者】
【氏名】ヴィクラム・アガワル
(72)【発明者】
【氏名】モイセス・モーゲンスターン・ガリ
(72)【発明者】
【氏名】デイヴィッド・ロイ・シャイラー
(72)【発明者】
【氏名】ヤオ・チェン
【審査官】平井 功
(56)【参考文献】
【文献】特開2016-85223(JP,A)
【文献】特開2016-206469(JP,A)
【文献】米国特許第09720498(US,B2)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
B60W 30/00-60/00
G01C 21/00-21/36
G01C 23/00-25/00
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサによって実行される方法であって、
車両内に位置するユーザからのユーザ入力を受信するステップであって、前記車両が複数のゾーンを含む、ステップと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別するステップと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成するステップと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにするステップと
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されていないとの決定に応答して、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめるステップと、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめるとの決定に基づいて、前記アクションデータ構造が代替アクションを含むように修正するステップと、
前記修正されたアクションデータ構造に含まれる前記代替アクションが、前記ユーザ入力を提供したユーザへの提示のために、前記クライアントデバイスまたは前記車両のヘッドユニットを介して提供されるようにするステップと
を含む、方法。
【請求項2】
1つまたは複数のプロセッサによって実行される方法であって、
車両内に位置するユーザからのユーザ入力を受信するステップであって、前記車両が複数のゾーンを含む、ステップと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別するステップと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成するステップと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定するステップであって、前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定するステップが、
前記車両の第1のスピーカー要素に、第1の非可聴トーンを音声的に放出させるステップであって、前記第1の非可聴トーンは、音声的に放出されたときに、前記クライアントデバイスに、
前記クライアントデバイスのマイクロフォン要素を介して前記第1の非可聴トーンを検出させ、
前記クライアントデバイスが前記第1の非可聴トーンを検出したことを示す第1の受信通知を前記車両のヘッドユニットに送信させるステップを含み、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定することが、前記第1の受信通知に基づく、前記所与のゾーンを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにするステップと
を含む、方法。
【請求項3】
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定するステップが、
前記車両の第2のスピーカー要素に、第2の非可聴トーンを音声的に放出させるステップであって、前記第2の非可聴トーンは、音声的に放出されたときに、前記ユーザの前記クライアントデバイスに、
前記クライアントデバイスの前記マイクロフォン要素を介して前記第2の非可聴トーンを検出させ、
前記クライアントデバイスが前記第2の非可聴トーンを検出したことを示す第2の受信通知を前記車両の前記ヘッドユニットへ送信させる、
ステップをさらに含み、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定することが、前記第2の受信通知にさらに基づく、請求項2に記載の方法。
【請求項4】
前記第1の非可聴トーンが第1の時刻において音声的に放出され、前記第2の非可聴トーンが第2の時刻において音声的に放出され、前記第2の時刻が前記第1の時刻と異なる、請求項3に記載の方法。
【請求項5】
1つまたは複数のプロセッサによって実行される方法であって、
車両内に位置するユーザからのユーザ入力を受信するステップであって、前記車両が複数のゾーンを含む、ステップと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別するステップと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成するステップと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにするステップと
を含み、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定するステップが、
前記車両の1つまたは複数の占有センサーによって生成された占有センサーデータを取得するステップ
を含み、前記ユーザ入力を提供した前記ユーザが位置する前記所与のゾーンが前記占有センサーデータに基づく、方法。
【請求項6】
前記車両の前記複数のゾーンが、運転者ゾーン、助手席ゾーン、および後部座席ゾーンを少なくとも含む、請求項1に記載の方法。
【請求項7】
前記ユーザは、
前記所与のゾーンが前記運転者ゾーンに対応するとき、前記車両機能の実施を引き起こすことを許可されるが、
前記所与のゾーンが前記助手席ゾーンまたは前記後部座席ゾーンに対応するとき、前記車両機能の実施を引き起こすことを許可されない、請求項6に記載の方法。
【請求項8】
前記ユーザは、
前記所与のゾーンが前記運転者ゾーンに対応するとき、前記車両機能の実施を引き起こすことを許可されないが、
前記所与のゾーンが前記助手席ゾーンまたは前記後部座席ゾーンに対応するとき、前記車両機能の実施を引き起こすことを許可される、請求項6に記載の方法。
【請求項9】
前記ユーザは、
前記所与のゾーンが前記運転者ゾーンまたは前記助手席ゾーンに対応するとき、前記車両機能の実施を引き起こすことを許可されるが、
前記所与のゾーンが前記後部座席ゾーンに対応するとき、前記車両機能の実施を引き起こすことを許可されない、請求項6に記載の方法。
【請求項10】
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするステップが、
前記アクションデータ構造に基づいて、前記車両のヘッドユニットに前記車両機能を実行させるステップを含む、請求項1に記載の方法。
【請求項11】
1つまたは複数のプロセッサによって実行される方法であって、
車両内に位置するユーザからのユーザ入力を受信するステップであって、前記車両が複数のゾーンを含む、ステップと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別するステップと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成するステップと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにするステップと
を含み、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするステップが、
前記アクションデータ構造に基づいて、前記クライアントデバイスに前記車両機能を実行させるステップを含む、方法。
【請求項12】
1つまたは複数のプロセッサによって実行される方法であって、
車両内に位置するユーザからのユーザ入力を受信するステップであって、前記車両が複数のゾーンを含む、ステップと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別するステップと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成するステップと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定するステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにするステップと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されていないとの決定に応答して、前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめるステップと、
前記アクションデータ構造を棄するステップと、
前記アクションデータ構造が棄されたとの指示が、前記ユーザ入力を提供した前記ユーザへの提示のために、前記クライアントデバイスまたは前記車両のヘッドユニットを介して提供されるようにするステップと
を含、方法。
【請求項13】
システムであって、
少なくとも1つのプロセッサと、
命令を記録するメモリと
を備え、前記命令は、実行されると前記少なくとも1つのプロセッサに、
車両内に位置するユーザからのユーザ入力を受信することであって、前記車両が複数のゾーンを含む、受信することと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別することと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成することと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定することと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定することと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにすることと
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されていないとの決定に応答して、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめることと、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめるとの決定に基づいて、前記アクションデータ構造が代替アクションを含むように修正することと、
前記修正されたアクションデータ構造に含まれる前記代替アクションが、前記ユーザ入力を提供したユーザへの提示のために、前記クライアントデバイスまたは前記車両のヘッドユニットを介して提供されるようにすることと
を行わせる、システム。
【請求項14】
システムであって、
少なくとも1つのプロセッサと、
命令を記録するメモリと
を備え、前記命令は、実行されると前記少なくとも1つのプロセッサに、
車両内に位置するユーザからのユーザ入力を受信することであって、前記車両が複数のゾーンを含む、受信することと、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別することと、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成することと、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定することと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定することと、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにすることと
を行わせ、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定するための命令が、
前記車両の第1のスピーカー要素に、第1の非可聴トーンを音声的に放出させるための命令であって、前記第1の非可聴トーンは、音声的に放出されたときに、前記クライアントデバイスに、
前記クライアントデバイスのマイクロフォン要素を介して前記第1の非可聴トーンを検出させ、
前記クライアントデバイスが前記第1の非可聴トーンを検出したことを示す第1の受信通知を前記車両のヘッドユニットに送信させる、
命令を含み、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定することが、前記第1の受信通知に基づく、システム。
【請求項15】
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定するための命令が、
前記車両の第2のスピーカー要素に、第2の非可聴トーンを音声的に放出させるための命令であって、前記第2の非可聴トーンは、音声的に放出されたときに、前記ユーザの前記クライアントデバイスに、
前記クライアントデバイスの前記マイクロフォン要素を介して前記第2の非可聴トーンを検出させ、
前記クライアントデバイスが前記第2の非可聴トーンを検出したことを示す第2の受信通知を前記車両の前記ヘッドユニットへ送信させる、
命令をさらに含み、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定することが、前記第2の受信通知にさらに基づく、請求項14に記載のシステム。
【請求項16】
前記第1の非可聴トーンが第1の時刻において音声的に放出され、前記第2の非可聴トーンが第2の時刻において音声的に放出され、前記第2の時刻が前記第1の時刻と異なる、請求項15に記載のシステム。
【請求項17】
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンを決定するための命令が、
前記車両の1つまたは複数の占有センサーによって生成された占有センサーデータを取得するための命令
をさら含み、前記ユーザ入力を提供した前記ユーザが位置する前記所与のゾーンが前記占有センサーデータに基づく、請求項14に記載のシステム。
【請求項18】
実行されると少なくとも1つのプロセッサに複数の動作を実行させるコンピュータプログラムであって、前記複数の動作が、
車両内に位置するユーザからのユーザ入力を受信する動作であって、前記車両が複数のゾーンを含む、動作と、
前記ユーザ入力を処理することに基づいて、車両機能を実施するようにとの要求を識別する動作と、
前記車両機能を実施するようにとの前記要求に基づいて、前記車両機能を実施するようにとの前記要求に関連付けられるアクションを含むアクションデータ構造を生成する動作と、
前記車両の前記複数のゾーンの中から、前記ユーザ入力を提供した前記ユーザに関連付けられるクライアントデバイスが位置する所与のゾーンを決定する動作と、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているか否かを決定する動作と、
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されているとの決定に応答して、前記アクションデータ構造に基づいて、前記車両機能が実行されるようにする動作と
前記ユーザ入力を提供した前記ユーザに関連付けられる前記クライアントデバイスが位置する前記所与のゾーンに基づいて、前記車両機能の実施を引き起こすことを前記ユーザが許可されていないとの決定に応答して、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめる動作と、
前記アクションデータ構造に基づいて前記車両機能が実行されるようにするのをやめるとの決定に基づいて、前記アクションデータ構造が代替アクションを含むように修正する動作と、
前記修正されたアクションデータ構造に含まれる前記代替アクションが、前記ユーザ入力を提供したユーザへの提示のために、前記クライアントデバイスまたは前記車両のヘッドユニットを介して提供されるようにする動作と
を含む、コンピュータプログラム
【請求項19】
システムであって、少なくとも1つのプロセッサと、命令を記録するメモリとを備え、前記命令は、実行されると前記少なくとも1つのプロセッサに、請求項2から5、11、および12のうちのいずれか一項に記載の方法を実行させる、システム。
【請求項20】
実行されると少なくとも1つのプロセッサに、請求項2から5、11、および12のうちのいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサーベースの検証を用いた車両機能制御に関する。
【背景技術】
【0002】
コンピューティングデバイス間のネットワークトラフィックデータの、パケットベースのまたはそれ以外の、過度のネットワーク送信は、コンピューティングデバイスが、ネットワークトラフィックデータを適切に処理すること、ネットワークトラフィックデータに関係する動作を完了すること、またはネットワークトラフィックデータに適時に応答することを妨げることがある。ネットワークトラフィックデータの過度のネットワーク送信はまた、データルーティングを複雑にするか、または応答コンピューティングデバイスがその処理キャパシティ以上にある場合に応答の品質を劣化させることがあり、それにより、非効率的な帯域利用を生じ得る。過度のネットワーク送信の一部分は、有効な要求でない要求のための送信を含むことがある。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の一態様によれば、車両機能(vehicular function)を検証するためのシステムが、データ処理システムを含むことができる。本システムは、データ処理システムによって実行される自然言語プロセッサ構成要素を含むことができる。自然言語プロセッサ構成要素は、データ処理システムのインターフェースを介して入力オーディオ信号を受信することができる。自然言語プロセッサ構成要素は、要求と、要求に関連する車両と、要求および車両に関連する遂行(fulfillment)インターフェースとを識別するために、入力オーディオ信号をパース(parse)することができる。本システムは、要求に基づいて、第1のアクションデータ構造を生成するためのダイレクトアクション・アプリケーション・プログラミング・インターフェースを含むことができる。本システムは、センサーデータの第1のセットに基づいて要求に関連する車両の車両状態を決定するための検証エンジンを含むことができる。車両状態は、第1の複数の属性を含むことができる。検証エンジンは、要求とセンサーデータの第2のセットとに基づいて要求状態を決定することができる。要求状態は、第2の複数の属性を含むことができる。検証エンジンは、要求状態の第2の複数の属性を車両状態の第1の複数の属性と比較することができる。検証エンジンは、要求状態の第2の複数の属性のうちの1つが車両状態の第1の複数の属性のうちの1つに一致したことに基づいて、第1のアクションデータ構造に関連する機能を実行するために、遂行インターフェースに第1のアクションデータ構造を送信することができる。
【0004】
本開示の一態様によれば、車両機能を検証するための方法が、データ処理システムによって実行される自然言語プロセッサ構成要素によって、およびデータ処理システムのインターフェースを介して、入力オーディオ信号を受信するステップを含むことができる。本方法は、自然言語プロセッサ構成要素によって、要求と、要求に関連する車両と、要求および車両に関連する遂行インターフェースとを識別するために、入力オーディオ信号をパースするステップを含むことができる。本方法は、ダイレクトアクション・アプリケーション・プログラミング・インターフェースによって、および要求に基づいて、第1のアクションデータ構造を生成するステップを含むことができる。本方法は、検証エンジンによって、センサーデータの第1のセットに基づいて要求に関連する車両の車両状態を決定するステップを含むことができる。車両状態は、第1の複数の属性を含むことができる。本方法は、検証エンジンによって、要求とセンサーデータの第2のセットとに基づいて要求状態を決定するステップを含むことができる。要求状態は、第2の複数の属性を含むことができる。本方法は、検証エンジンによって、要求状態の第2の複数の属性を車両状態の第1の複数の属性と比較するステップを含むことができる。本方法は、検証エンジンによって、および要求状態の第2の複数の属性のうちの1つが車両状態の第1の複数の属性のうちの1つに一致したことに基づいて、第1のアクションデータ構造に関連する機能を実行するために、遂行インターフェースに第1のアクションデータ構造を送信するステップを含むことができる。
【0005】
これらおよび他の態様および実装形態が、以下で詳細に説明される。上記の情報および以下の発明を実施するための形態は、様々な態様および実装形態の例示的な例を含み、請求される態様および実装形態の性質および特性を理解するための概観または枠組を与える。図面は、様々な態様および実装形態の例示およびさらなる理解を与え、本明細書の一部に組み込まれ、本明細書の一部を構成する。
【0006】
添付の図面は、一定の縮尺で描かれるものではない。様々な図面における同様の参照番号および名称は、同様の要素を示す。明快のために、あらゆる構成要素があらゆる図面においてラベリングされるとは限らない。
【図面の簡単な説明】
【0007】
図1】センサーベースの検証を用いて車両機能を認証および制御するための例示的なシステムを示す図である。
図2】車両の平面図を示し、図1に示されている車両の内部キャビン(interior cabin)を示す図である。
図3図1に示されている例示的なシステムを使用して車両機能を検証するための例示的な方法を示す図である。
図4】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0008】
音声起動された(voice activated)データパケットベースのコンピュータネットワーク環境中のパケット化されたデータのマルチモード送信のための方法、装置、およびシステムに関係する様々な概念、ならびにそれらの方法、装置、およびシステムの実装形態のより詳細な説明が以下で続く。上記で紹介され、以下でより詳細に説明される様々な概念は、多数のやり方のいずれかで実装され得る。
【0009】
本開示は、一般に、音声起動されたコンピュータネットワーク環境中のパケット化されたオーディオ信号内の要求を検証するためのデータ処理システムを対象とする。本データ処理システムは、たとえば、ネットワーク上での要求の送信より前に有効でない要求(およびそれらの関連するアクションデータ構造)を廃棄するかまたは場合によっては無効化することによって、1つまたは複数のコンピュータネットワーク上での聴覚データパケット送信の効率および有効性を改善することができる。本ソリューションはまた、データ処理システムが、有効でなく、廃棄されるべきであるアクションデータ構造に対してさらなる計算動作を実施するのを防ぐことによって、計算効率を改善することができる。無効な要求の送信を無効化することによって、本システムは、ネットワーク上で無効なアクションデータ構造を搬送するデータパケットを送信しないことによって、帯域利用を低減することができる。自然に話されたオーディオ信号を処理することは、計算集約的タスクであり得る。場合によっては無効な要求を検出することによって、本システムは、本システムが、場合によっては無効な要求をスキップするか、一時的にスキップするか、廃棄するか、または変更することを可能にすることによって、計算浪費を低減することができる。
【0010】
本明細書で説明されるシステムおよび方法は、オーディオ入力信号と呼ばれることもあるオーディオ入力クエリを受信するデータ処理システムを含むことができる。入力オーディオ信号は、窓を開けるまたは車を起動させるなど、車両設定における機能を実施するようにとの要求を含むことができる。入力オーディオ信号から、データ処理システムは要求を識別することができる。本システムは、オーディオ入力クエリに基づいてアクションデータ構造を生成することができる。アクションデータ構造は、要求を遂行するための要件を示す属性を含むことができる。本システムは、車両状態と、車両状態に関連する属性とを決定することができる。本システムは、要求が遂行されるべきであるかどうかを決定するためにアクションデータ構造の属性を車両状態の属性と比較し、分析することができる。車両状態の属性とアクションデータ構造の属性とが一致しない場合、本システムは、アクションデータ構造(および関連する要求)を無効化または廃棄し、遂行インターフェースが要求を遂行するのを防ぐことができ、これは、ネットワーク帯域幅を節約し、プロセッサ利用を低減し、電力を節約する。
【0011】
図1は、センサーベースの検証を用いて車両機能を認証および制御するための例示的なシステム100を示す。システム100は、少なくとも1つのデータ処理システム102と、1つまたは複数のクライアントデバイス128と、1つまたは複数の車両140とを含むことができる。
【0012】
データ処理システム102はインターフェース104を含むことができる。データ処理システム102は、オーディオベースの入力をパース(parse)するための自然言語プロセッサ(NLP)構成要素106を含むことができる。データ処理システム102は、システム100中の他のデバイスのインターフェースを検出し、管理するためのインターフェース管理構成要素108を含むことができる。データ処理システム102は、オーディオベースの信号を生成するためのオーディオ信号生成器構成要素110を含むことができる。データ処理システム102は、ダイレクトアクション・アプリケーション・プログラミング・インターフェース(API)112を含むことができる。データ処理システム102は、オーディオベースの入力信号に対する応答を選択するための応答選択器構成要素114を含むことができる。データ処理システム102は、データ処理システム102によって受信されたオーディオベースの入力を検証するための検証エンジン116を含むことができる。データ処理システム102はデータリポジトリ118を含むことができ、データ処理システム102は、データリポジトリ118にパラメータ120と、ポリシー122と、応答データ124と、テンプレート126とを記憶することができる。クライアントデバイス128および車両140は、データ処理システム102の構成要素のインスタンスを含み、実行することができる。いくつかの実装形態では、クライアントデバイス128および車両140は、各々、データ処理システム102のインスタンスを含むことができる。
【0013】
システム100は、1つまたは複数のクライアントデバイス128をも含むことができる。クライアントデバイス128は、センサー130と、スピーカー132と、インターフェース104と、トランスデューサ136とを含むことができる。クライアントデバイス128は、NLP構成要素106のインスタンスを実行することができる。システム100は、1つまたは複数のデータプロバイダ138をも含むことができる。システム100は、1つまたは複数の車両140を含むことができる。車両140は、センサー130と、スピーカー132と、インターフェース104と、トランスデューサ136とを含むことができる。車両140は、NLP構成要素106のインスタンスを実行することができる。システム100の構成要素はネットワーク142上で通信することができる。いくつかの実装形態では、クライアントデバイス128のうちの1つまたは複数は、車両140のインスタンス内に配置され得る。たとえば、クライアントデバイス128は、車両140を運転している運転者のモバイルフォンであり得る。いくつかの実装形態では、クライアントデバイス128のうちの1つまたは複数は、車両140に対して遠隔にあり得る。たとえば、運転者が作業のために車両140を駐車し、出た後、運転者のモバイルフォンは車両140に対して遠隔にある。
【0014】
ネットワーク142は、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロエリアネットワーク、または他のエリアネットワークなどのコンピュータネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイルフォン通信ネットワークなどの他のコンピュータネットワーク、およびそれらの組合せを含むことができる。ネットワーク142は、ウェブページ、ウェブサイト、ドメイン名、ユニフォームリソースロケータ、またはデータプロバイダ138などの情報リソースにアクセスするために、データ処理システム102と、クライアントデバイス128と、車両140とによって使用され得る。たとえば、データ処理システム102は、ネットワーク142を介して、車両140に関連するロケーションなど、特定のロケーションのための気象データを与えるデータプロバイダ138にアクセスすることができる。
【0015】
ネットワーク142は、たとえば、ポイントツーポイントネットワーク、ブロードキャストネットワーク、ワイドエリアネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ATM(非同期転送モード)ネットワーク、SONET(同期光ネットワーク)ネットワーク、SDH(同期デジタルハイアラーキ)ネットワーク、ワイヤレスネットワークまたはワイヤラインネットワーク、およびそれらの組合せを含むことができる。ネットワーク142は、赤外チャネルまたは衛星帯域など、ワイヤレスリンクを含むことができる。ネットワーク142のトポロジーは、バス、スター、またはリングネットワークトポロジーを含み得る。ネットワーク142は、高度モバイルフォンプロトコル(AMPS)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、モバイル通信用グローバルシステム(GSM(登録商標))、汎用パケット無線サービス(GPRS)、またはユニバーサルモバイルテレコミュニケーションズシステム(UMTS)を含む、モバイルデバイスの間で通信するために使用される任意の1つまたは複数のプロトコルを使用する携帯電話網を含むことができる。異なるタイプのデータが異なるプロトコルを介して送信され得るか、または、同じタイプのデータが異なるプロトコルを介して送信され得る。
【0016】
クライアントデバイス128および車両140は、各々、ネットワーク142を介してデータ処理システム102と互いに通信するためのプロセッサを有するコンピューティングデバイスなど、少なくとも1つの論理デバイスを含むことができる。クライアントデバイス128および車両140は、データ処理システム102に関して説明される構成要素のいずれかのインスタンスを含むことができる。クライアントデバイス128および車両140は、データ処理システム102のインスタンスを含むことができる。クライアントデバイス128は、デスクトップコンピュータ、ラップトップ、タブレットコンピュータ、携帯情報端末、スマートフォン、モバイルデバイス、ポータブルコンピュータ、シンクライアントコンピュータ、仮想サーバ、スピーカーベースのデジタルアシスタント、または他のコンピューティングデバイスを含むことができる。車両140は、手動または自律走行車、トラック、バス、産業車両、オートバイ、あるいは他の輸送機械を含むことができる。車両140は、データ処理システム102またはそれの任意の構成要素のインスタンスを実行することができる1つまたは複数のプロセッサを含むことができる。プロセッサは、車両のヘッドユニットの構成要素であり得る。
【0017】
クライアントデバイス128および車両140は、少なくとも1つのセンサー130と、少なくとも1つのトランスデューサ136と、少なくとも1つのオーディオドライバと、少なくとも1つのスピーカー132とを含むことができる。センサー130は、マイクロフォンまたはオーディオ入力センサーを含むことができる。センサー130は、GPSセンサー、近接度センサー、周辺光センサー、温度センサー、動きセンサー、加速度計、またはジャイロスコープのうちの少なくとも1つをも含むことができる。センサーは、占有または重量センサーを含むことができる。トランスデューサ136は、オーディオ入力を電子信号に変換することができる。オーディオドライバは、スピーカー132を制御するためにクライアントデバイス128または車両140の1つまたは複数のプロセッサによって実行されるスクリプトまたはプログラムを含むことができる。スピーカー132は、電気信号を可聴波に変換することによってオーディオ信号をレンダリングすることができる。
【0018】
クライアントデバイス128および車両140はエンドユーザに関連することができ、エンドユーザは、(センサー130を介して)クライアントデバイス128または車両140に入力オーディオ信号として音声クエリを入力し、データ処理システム102から与えられ得るコンピュータ生成音声の形態でオーディオ出力を受信する。入力オーディオ信号に応答して、クライアントデバイス128および車両140はまた、所定の機能またはアクションを実施するためにアクションデータ構造を受信することができる。インターフェース104は、データメッセージを受信するか、またはデータメッセージをデータ処理システム102のダイレクトアクションAPI112に与え、システム100の構成要素間の通信を可能にすることができる。クライアントデバイス128および車両140は、ユーザがシステム100の構成要素と対話することを可能にするユーザインターフェースをも含むことができる。
【0019】
システムのデータ処理システム102は、少なくとも1つのプロセッサを有する少なくとも1つのサーバを含むことができる。たとえば、データ処理システム102は、少なくとも1つのデータセンターまたはサーバファーム中に配置された複数のサーバを含むことができる。データ処理システム102は、オーディオ入力信号から、要求とその要求に関連するトリガキーワードとを決定することができる。要求とトリガキーワードとに基づいて、データ処理システム102は、応答データを生成または選択することができる。応答データは、オーディオベースまたはテキストベースであり得る。たとえば、応答データは、レンダリングされたときにオーディオ出力または音響波を与える1つまたは複数のオーディオファイルを含むことができる。応答データ内のデータは、コンテンツアイテムと呼ばれることもある。応答データは、オーディオコンテンツに加えて他のコンテンツ(たとえば、テキスト、ビデオ、または画像コンテンツ)を含むことができる。
【0020】
データ処理システム102は、複数の論理的にグループ化されたサーバを含み、分散コンピューティング技法を可能にすることができる。サーバの論理グループは、データセンター、サーバファームまたはマシンファームと呼ばれることがある。サーバは地理的に分散され得る。データセンターまたはマシンファームは単一のエンティティとして管理され得るか、またはマシンファームは複数のマシンファームを含むことができる。各マシンファーム内のサーバは異種であり得、サーバまたは機械のうちの1つまたは複数は、オペレーティングシステムプラットフォームの1つまたは複数のタイプに従って動作することができる。データ処理システム102は、たとえば企業データセンター中に配置された、関連するストレージシステムとともに、1つまたは複数の高密度ラックシステムに格納された、データセンター中のサーバを含むことができる。このようにして統合サーバをもつデータ処理システム102は、局所高性能ネットワーク上にサーバと高性能ストレージシステムとを配置することによって、システム管理性(manageability)と、データセキュリティと、システムの物理的セキュリティと、システム性能とを改善することができる。サーバおよびストレージシステムを含む、データ処理システム102の構成要素の全部または一部の集中化と、それらを高度システム管理ツールと結合することとが、サーバリソースのより効率的な使用を可能にし、これは、電力および処理要件を節約し、帯域幅使用を低減する。データ処理システム102の構成要素の各々は、少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、またはデータリポジトリ118および他のコンピューティングデバイスと通信するように構成されたプログラマブル論理アレイなどの他の論理デバイスを含むことができる。
【0021】
データ処理システム102は、データリポジトリ118を含むことができる。データリポジトリ118は、1つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ118は、コンピュータデータストレージまたはメモリを含むことができ、データの中でも、1つまたは複数のパラメータ120と、1つまたは複数のポリシー122と、応答データ124と、テンプレート126とを記憶することができる。パラメータ120と、ポリシー122と、テンプレート126とは、クライアントデバイス128とデータ処理システム102と車両140との間の音声ベースのセッションに関するルールなどの情報を含むことができる。応答データ124は、オーディオ出力についてのコンテンツアイテム、または関連するメタデータ、ならびにクライアントデバイス128との1つまたは複数の通信セッションの一部であり得る入力オーディオメッセージを含むことができる。
【0022】
データ処理システム102に関連するアプリケーション、スクリプト、プログラム、または他の構成要素が、クライアントデバイス128または車両140においてインストールされ得る。アプリケーションは、クライアントデバイス128または車両140が、入力オーディオ信号(および他のデータ)をデータ処理システム102のインターフェース104に通信することを可能にすることができる。アプリケーションは、クライアントデバイス128および車両140が、出力オーディオ信号をレンダリングするためにクライアントデバイス128と車両140との構成要素を駆動することを可能にすることができる。
【0023】
データ処理システムのNLP構成要素106は、入力オーディオ信号を受信することができる。データ処理システム102は、クライアントデバイス128または車両140から入力オーディオ信号を受信することができる。第1のデバイスはNLP構成要素106を実行することができ、NLP構成要素106は、第2のデバイスから入力オーディオ信号を受信することができる。たとえば、車両140はNLP構成要素106を実行することができ、入力オーディオ信号はクライアントデバイス128から受信され得る。
【0024】
NLP構成要素106は、入力オーディオ信号をオーディオ波形の記憶された代表的セットと比較し、最も近い一致を選定することによって、入力オーディオ信号を、認識されるテキストに変換することができる。代表的波形は、入力オーディオ信号の大きいセットにわたって生成され得る。入力オーディオ信号が、認識されるテキストに変換されると、NLP構成要素106は、そのテキストを、たとえば、学習段階を介してアクションまたは出力オーディオ信号に関連付けられたワードに一致させることができる。
【0025】
入力オーディオ信号から、NLP構成要素106は、少なくとも1つの要求あるいはその要求に対応する少なくとも1つのトリガまたはホットキーワードを識別することができる。要求は、入力オーディオ信号の意図または内容を示すことができる。トリガキーワードは、とられる可能性があるアクションのタイプを示すことができる。たとえば、NLP構成要素106は、車両の窓を開けるか、または音楽プレイリスト中の次のオーディオファイルにスキップするようにとの少なくとも1つの要求を識別するために、入力オーディオ信号をパースすることができる。トリガキーワードは、とられるべきアクションを示す少なくとも1つのワード、フレーズ、ルートまたは部分ワード、あるいは派生語を含むことができる。たとえば、トリガキーワードは、「ゴー(go)」または「オーケー(ok)」または「ヘイ(hey)」である。
【0026】
応答選択器構成要素114は、データリポジトリ118から情報を取得することができ、ここで、情報は、応答データ124の一部として記憶され得る。応答選択器構成要素114は、たとえば、応答データ124から、応答フレーズまたはコンテンツアイテムを選択するかまたは場合によっては識別するためにデータリポジトリ118を照会することができる。
【0027】
オーディオ信号生成器構成要素110は、コンテンツアイテムを含む出力信号を生成するかまたは場合によっては取得することができる。データ処理システム102は、コンテンツアイテムまたは要求に対応する出力信号を生成または作成するために、オーディオ信号生成器構成要素110を実行することができる。たとえば、要求が遂行されると、信号生成器構成要素110は、「アクションは完了しました(The action was completed)」というフレーズを含むオーディオ出力信号を生成することができる。
【0028】
インターフェース104は、システム100の構成要素が互いと通信することを可能にするデータインターフェースまたはネットワークインターフェースであり得る。データ処理システム102のインターフェース104は、ネットワーク142を介して、アクションデータ構造、オーディオ信号、または他のデータを含む1つまたは複数のデータパケットをクライアントデバイス128または車両140に与えるかまたは送信することができる。たとえば、データ処理システム102は、データリポジトリ118から、またはオーディオ信号生成器110からクライアントデバイス128に出力信号を与えることができる。データ処理システム102はまた、データパケット送信を介して、クライアントデバイス128または車両140に、アクションデータ構造において示された機能を実施するように命令することができる。出力信号は、取得されるか、生成されるか、1つまたは複数のデータパケット(または他の通信プロトコル)に変換されるか、または、1つまたは複数のデータパケット(または他の通信プロトコル)としてデータ処理システム102(または他のコンピューティングデバイス)からクライアントデバイス128または車両140に送信され得る。
【0029】
データ処理システム102のダイレクトアクションAPI112は、たとえば、要求に基づいて、アクションデータ構造を生成することができる。アクションデータ構造は、要求を満たすための指定されたアクションの実行のためのデータまたは命令を含むことができる。いくつかの実装形態では、アクションデータ構造は、JSONフォーマットされたデータ構造またはXMLフォーマットされたデータ構造であり得る。
【0030】
要求において指定されたアクションに応じて、ダイレクトアクションAPI112は、要求を遂行するために必要とされるパラメータを識別するコードまたはダイアログスクリプトを実行することができる。アクションデータ構造は、要求に応答して生成され得る。アクションデータ構造は、クライアントデバイス128または車両140に送信されるか、またはそれらによって受信されるメッセージ中に含まれ得る。NLP構成要素106によってパースされた要求に基づいて、ダイレクトアクションAPI112は、メッセージがクライアントデバイス128または車両140のうちのどれに送られるべきであるかを決定することができる。たとえば、入力オーディオ信号が「窓を開けてください(open a window)」を含む場合、NLP構成要素106は、アクションワード「窓を開けてください(open a window)」を識別することができる。ダイレクトアクションAPI112は、車両140への送信のために、要求をアクションデータ構造にパッケージングすることができる。ダイレクトアクションAPI112は、どの車両が、要求を生成したユーザに関連するかを決定するために、応答データ124からの車両IDにアクセスすることができる。受信されると、車両140は、アクションデータ構造を処理し、車両の窓を開けることができる。
【0031】
アクションデータ構造は、要求を完了するための情報を含むことができる。たとえば、アクションデータ構造は、要求を完了するかまたは場合によっては遂行することにおいて使用される属性を含むXMLまたはJSONフォーマットされたデータ構造であり得る。属性は、車両140のロケーション、クライアントデバイス128のロケーション、クライアントデバイス128に関連するユーザの許可レベル、車両識別子、インターフェース識別子、車両状態、または要求状態を含むことができる。いくつかの実装形態では、要求状態は、アクションが遂行される前に満たされるべきである1つまたは複数の属性を含む。たとえば、要求「オーケー、曲を変えてください(Ok, change the song)」の要求状態は、要求者が明示的に許可されたユーザまたは車両中の同乗者であるべきであることを示す属性{要求者:[許可されたもの、同乗者]}を有し得る。
【0032】
ダイレクトアクションAPI112は、アクションデータ構造中にどのフィールドまたは属性を含めるべきかを決定するために、リポジトリ118からテンプレート126を取り出すことができる。ダイレクトアクションAPI112は、必要なパラメータを決定することができ、その情報をアクションデータ構造にパッケージングすることができる。ダイレクトアクションAPI112は、データ構造の属性のための情報を取得するためにリポジトリ118からコンテンツを取り出すことができる。
【0033】
ダイレクトアクションAPI112は、フィールドを入力オーディオ信号からのデータでポピュレートすることができる。ダイレクトアクションAPI112はまた、フィールドを、データプロバイダ138、クライアントデバイス128、または車両140からのデータでポピュレートすることができる。いくつかの実装形態では、ダイレクトアクションAPI112は、フィールドをポピュレートするときに追加情報についてユーザにプロンプトすることができる。テンプレート126は、車両のヘッドユニットを通してメディアファイルを再生すること、メッセージに応答すること、および車内の機能を実施することなど、異なるタイプのアクションについて標準化され得る。いくつかの実装形態では、アクションデータ構造は、最初にリモートデータ処理システム102によって実行されるダイレクトアクションAPI112によって生成され得る。リモートデータ処理システム102は、アクションデータ構造を車両140のデータ処理システム102に送信することができ、これは、フィールドおよび属性をアクションデータ構造に追加することができる。
【0034】
ダイレクトアクションAPI112は、たとえば、カーシェアサービスから車を予約するために、データリポジトリ118から応答データ124(またはパラメータ120またはポリシー122)を取得し、ならびにクライアントデバイス128からエンドユーザ承諾とともに受信されたデータを取得して、ロケーション、時間、ユーザアカウント、ロジスティックまたは他の情報を決定することができる。応答データ124(またはパラメータ120またはポリシー122)は、アクションデータ構造中に含まれ得る。アクションデータ構造中に含まれるコンテンツが、認証のために使用されるエンドユーザデータを含むとき、データは、データリポジトリ118に記憶される前にハッシング関数を通され得る。
【0035】
データ処理システム102(あるいはそれのハードウェア、プロセッサまたはメモリ構成要素)は、検証エンジン116を含むか、検証エンジン116とインターフェースするか、または場合によっては検証エンジン116と通信することができる。検証エンジン116は、アクションデータ構造に関連するアクションおよび機能が実行または遂行されるべきであるかどうかを検証するかまたは場合によっては決定することができる。検証されたとき、検証エンジン116は、要求が遂行されることを可能にすることができる。検証エンジン116は、アクションが遂行されるための権限を要求者が有するかどうか、アクションを遂行することが安全であるかどうか、または他の機能が、要求された機能またはアクションの代わりに遂行されるべきであるかどうかを決定することができる。
【0036】
たとえば、「オーケー、トランクを開けてください(Ok, open the trunk)」という入力オーディオ信号の受信に応答して、検証エンジン116は、車両140が、道路に沿って駆動しており、トランクを開けることが安全でないので、トランクを開けないことを決定することができる。別の例では、「オーケー、次の曲(Ok, next song)」という入力オーディオ信号の受信に応答して、検証エンジン116は、ユーザが曲を変更し、次の曲にスキップするための権限を有すると決定することができる。検証エンジン116は、クライアントデバイス128、車両140、またはそれらの構成要素によって実行され得る。たとえば、車両140は、車両140のとき、検証エンジン116のローカルインスタンスを実行し得る。いくつかの実装形態では、車両140は、検証エンジン116がネットワーク142への接続を有するときにリモート検証エンジン116に計算作業をオフロードし、車両140がネットワーク142への接続を有しないときに検証エンジン116のローカルインスタンスを用いて要求を処理することができる。
【0037】
検証エンジン116は、データプロバイダ138、クライアントデバイス128のセンサー130、および車両140のセンサー130から受信されたデータなど、外部センサーデータからのデータに基づいてアクションを検証することができる。検証エンジン116はまた、入力オーディオ信号を生成したユーザの管理者権限に基づいてアクションを検証することができる。検証エンジン116は、車両140の車両状態に基づいてアクションを検証することができる。
【0038】
検証エンジン116は、センサーデータのセットに基づいて車両140の車両状態を決定することができる。車両状態は、要求が遂行されるべきである車両140の現在状態を示すことができる。車両状態は、車両140が移動しているのか、駐車しているのか、アイドリングしているのかを示すことができる。車両状態は、車両140の速度を示すことができる。検証エンジン116は、車両状態を決定するためにセンサーデータの組合せを使用することができる。センサーデータの組合せは、同様の条件を有し得る異なる状態を区別するために使用され得る。たとえば、赤信号における停車、駐車場における停車、交通における停車、および駐車場における駐車の、異なる状態は、いくつかの同様の条件(たとえば、0mphの車両速度)を有し得るが、異なる状態の各々において異なる機能が許可され得る。たとえば、車両140が駐車場において駐車しているときにトランクを開けることは安全であるが、車両140が赤信号において停車されたときにトランクを開けることは安全でないことがある。車両状態は、移動状態、外部環境状態、内部環境状態、およびデバイス状態など、複数のサブ状態(sub-state)を含むことができる。
【0039】
移動サブ状態は、現在速度および平均速度、現在加速度および平均加速度、駆動モードステータス、ならびにギアステータスなどの属性を含むことができる。外部環境サブ状態は、外部気象条件(たとえば、雨、晴れ、または雪)、外部温度、外部気象条件予報、および外部温度予報などの属性を含むことができる。内部環境サブ状態は、内部温度および内部ゾーン温度などの属性を含むことができる。デバイスサブ状態は、HVACステータス(たとえば、空調オン、空調オフ、暖房オンなど)、窓ステータス、ロックステータス、トラックステータス、半ドアステータス、サンルーフステータス、被加熱座席ステータス、被加熱ステアリングホイールステータス、ヘッドライトステータス、および内部光ステータスなどの属性を含むことができる。
【0040】
検証エンジン116は、クライアントデバイスのセンサー130からのセンサーデータ、車両のセンサー130からのセンサーデータ、データプロバイダ138からのデータ、またはそれらの任意の組合せを含むことができるセンサーデータのセットに基づいて、車両状態を決定することができる。車両状態内の属性のうちのいくつかは、単一のセンサーから決定され得(たとえば、半ドアステータス)、他の属性は、センサー信号の組合せから決定され得る(たとえば、移動ステータスは、速度データとギアデータとの組合せから決定され得る)。
【0041】
クライアントデバイス128からのセンサーデータは、セルラータワー三角測量またはクライアントデバイス128中のGPS受信機によって決定されたロケーションデータ、ロケーションデータを統合することによって決定された速度データ、加速度データ、アカウントデータ、許可データ、またはそれらの任意の組合せを含むことができる。センサーデータは、1つまたは複数のデータプロバイダ138からのデータを含むことができる。データプロバイダ138は、インターネットベースのデータリポジトリであり得る。データプロバイダ138は、それらのデータを、たとえば、APIによって利用可能にすることができる。データプロバイダ138は、気象データ、ロケーションデータ、イベントデータ、ロケーション検討データ、予報データ、またはそれらの任意の組合せを検証エンジン116に与えることができる。
【0042】
検証エンジン116は、入力オーディオファイルからパースされた要求に基づいて、要求状態を決定することができる。検証エンジン116は、センサーデータの第2のセットに基づいて要求状態を決定することができる。センサーデータの第1および第2のセットのデータは、更新データ信号、ベクトル、データアレイ、スカラー値、または他のフォーマットのデータとして受信され得る。要求状態は複数の属性を含むことができ、それらの属性の下で要求のアクションが実行され得るか、または、それらの属性は、要求が遂行されるために必要とされる。要求状態は、アクションデータ構造の構成要素であるか、またはアクションデータ構造から導出され得る。たとえば、「オーケー、トランクを開けてください(OK, open the trunk)」という要求は、駐車された条件にあるとき、および運転者または許可された同乗者によって要求されたときのみにトランクが開くことができることを示す属性をもつ要求状態を含むことができる。たとえば、要求状態は、{移動状態:駐車、要求者:許可された同乗者}であり得る。
【0043】
要求状態を決定するためのセンサーデータの第2のセットは、検証エンジン116が車両状態を決定するために使用したセンサーデータの第1のセットからのセンサーデータを含むことができる。データの第2のセットは、車両140内のクライアントデバイス128(またはそれに関連するユーザ)のロケーションをも含むことができる。
【0044】
検証エンジン116は、アクションデータ構造のアクションが実行されるべきであるのか、実施されるべきであるのか、さらに処理されるべきであるのかを決定するために、要求状態を車両状態と比較することができる。たとえば、車両状態は、車両140が駐車場において駐車されており、窓が閉じており、雨の外部条件であること(たとえば、{移動状態:駐車、窓:閉じられている、外部条件:雨})を示し得る。たとえば、入力オーディオ信号が「オーケー、窓を開けてください(OK, open the windows)」である場合、検証エンジン116は、要求についての要求状態が、要求が許可されたユーザから来るものであり、駆動属性が駆動または駐車であり得、気象属性が雨以外でなければならないこと(たとえば、{要求者:許可されたもの、移動状態:[駆動、駐車]、外部条件:[晴れ、全天曇り(overcast)、一部曇り(cloudy)]})を必要とすると決定し得る。車両状態を要求状態と比較すると、検証エンジン116は、車両状態の外部条件属性が、要求状態の外部条件属性に一致しない(または、要求状態の外部条件属性の要素でない)と決定することができる。状態が一致しないので、検証エンジン116は、車両140の外で雨が降っており、雨が降っているときに窓が開けられるべきでないので、要求が遂行されるべきでないと決定することができる。
【0045】
たとえば、検証エンジン116が、機能が遂行されるべきでないと決定したとき、検証エンジン116は、クライアントデバイス128または車両140のインターフェース104を介してユーザに提示される確認についての要求を生成することができる。確認についての要求は、ユーザが、要求を遂行しないという検証エンジンの決定をオーバーライドすることを望むかどうかをユーザに質問することができる。検証エンジン116が、機能が遂行されるべきでないと決定したとき、検証エンジン116は、アクションデータ構造を変更することをオファーすることができる。上記の例を続けると、検証エンジン116は、ユーザがサンルーフを張る(tile)ことを望むかどうかを質問するオーディオベースのプロンプトを生成することができる。
【0046】
図2は、車両140の平面図を示し、車両140の内部キャビンを示す。車両140の内部キャビンは、複数の座席200を含むことができる。座席200の各々は、1つまたは複数のセンサー130を含むことができる。センサー130は、重量または占有センサーであり得る。車両140の内部キャビンは、複数のスピーカー132を含むことができる。車両140はヘッドユニット202をも含むことができ、ヘッドユニット202は、データ処理システム102または車両140に関して説明される構成要素のうちの1つまたは複数を実行することができる。たとえば、ユーザ承諾を得て、スピーカー132は非可聴トーン(sub-audible tone)204を生成することができる。非可聴トーン204は、ユーザによって検出可能な通常周波数範囲内にない、スピーカー132によってレンダリングされるトーンであり得る。システム100は、非可聴トーン204の代わりに可聴トーンを使用することができる。ヘッドユニット202は、車両140内のデータ処理システムの構成要素のすべてを含むことができる。たとえば、ヘッドユニット202は、デジタルオーディオアシスタントアプリケーションとして構成されたデータ処理システム102を含むことができる。
【0047】
検証エンジン116は、車両140内のクライアントデバイス128の相対位置を決定することができる。クライアントデバイス128の位置は、要求状態または車両状態の1つまたは複数の属性に組み込まれ得る。クライアントデバイス128の位置またはロケーションは、相対位置であり、異なるレベルの解像度を含むことができる。たとえば、相対ロケーションは、座席200のうちの1つに関係する領域であり(たとえば、クライアントデバイス128(1)は助手席200に関連し)、異なるゾーンに関係する領域であり得る(たとえば、前方ゾーン中にクライアントデバイス128(1)および128(2)があり、後方ゾーン中にクライアントデバイス128がない)。
【0048】
車両140内のクライアントデバイス128の相対ロケーションは、非可聴トーン204を使用して決定され得る。車両140内のクライアントデバイス128の相対ロケーションはまた、センサー130からのセンサーデータに基づいて決定され得る。車両140内のクライアントデバイス128の相対ロケーションは、非可聴トーンとセンサー130からのセンサーデータとの組合せに基づいて決定され得る。
【0049】
検証エンジン116は、非可聴トーン204の送信とクライアントデバイス128による非可聴トーン204の受信との間の時間差を決定することによって、クライアントデバイス128の相対ロケーションを決定することができる。たとえば、ヘッドユニット202は、スピーカー132のうちの1つに非可聴トーン204を生成させることができる。スピーカー132は、第1の時刻において非可聴トーン204を生成することができる。非可聴トーン204を生成したスピーカー132に比較的近いクライアントデバイス128は、非可聴トーン204を生成したスピーカー132から比較的遠いクライアントデバイス128の前に、非可聴トーン204を受信することになる。たとえば、図2に示されているように、クライアントデバイス128(1)は、クライアントデバイス128(2)の前に非可聴トーン204を受信することになる。
【0050】
クライアントデバイス128が非可聴トーン204を受信するか、または場合によっては検出すると、クライアントデバイス128は、クライアントデバイス128がヘッドユニット202またはデータ処理システム102に送信する受信通知を生成することができる。受信通知は、スピーカー132が非可聴トーン204を受信した第2の時刻を示すことができる。受信通知は、セルラーネットワーク、車両140にローカルなWiFiネットワークを介して、またはBluetooth(登録商標)を介してデータ処理システム102に送信され得る。検証エンジン116は、非可聴トーン204の生成と、クライアントデバイス128が非可聴トーン204を受信したときとの間の時間の長さ(たとえば、上記の例における第1の時刻と第2の時刻との間の時間差)を決定することができる。異なるスピーカー132は、データ処理システム102が車両140内のクライアントデバイス128のロケーションを三角測量することを可能にするために、異なる時間において異なる非可聴トーン204を生成することができる。
【0051】
検証エンジン116は、センサー130からのデータに基づいてクライアントデバイス128のロケーションを決定することができる。センサー130は、座席200が占有されたかどうかを決定することができる重量センサーであり得る。たとえば、検証エンジン116は、センサー130が所定のしきい値を上回る重量を登録したとき、座席200が占有されたと決定することができる。いくつかの実装形態では、検証エンジン116は、非可聴トーン204を使用して、クライアントデバイス128が座席200のうちの1つの近くにあると決定することができる。検証エンジン116は、決定された座席200のセンサー130が重量を検出しているというセンサーデータを受信したことに基づいて、ユーザがクライアントデバイス128に関連することを確認することができる。センサーデータは、ユーザが、いくつかのゾーンまたはユーザにとってのみ利用可能である機能にアクセスするのを防ぐために使用され得る。たとえば、テキストメッセージングは、運転者に関連するクライアントデバイス128に対して無効化され得るが、車両140の他の座席200中の同乗者に関連するクライアントデバイス128について有効化され得る。運転者が身を乗り出し、運転者のクライアントデバイス128を助手席200のエリアに移動することになった場合、非可聴トーン204に基づいて、検証エンジン116は、クライアントデバイス128が助手席200に関連し、テキストメッセージングプログラムを使用するようにとの要求を生成することを可能にされるべきであると決定し得る。検証エンジン116は、助手席200中のセンサー130から0ポンドの重量データを受信し、ユーザが実際に助手席200にいないと決定することができ、運転者のクライアントデバイス128がテキストメッセージ機能にアクセスするのを防ぎ得る。いくつかの実装形態では、検証エンジン116は、車両140のドアの開および閉を検出した後にのみ、車両140中のクライアントデバイス128の相対ロケーションを更新し得る。
【0052】
図3は、車両機能を検証するための例示的な方法300を示す。方法300は、オーディオ信号を受信するステップ(ブロック302)を含むことができる。方法300は、オーディオ信号をパースするステップ(ブロック304)を含むことができる。方法300は、アクションデータ構造を生成するステップ(ブロック306)を含むことができる。方法300は、車両状態を決定するステップ(ブロック308)を含むことができる。方法300は、要求状態を決定するステップ(ブロック310)を含むことができる。方法300は、アクションデータ構造を送信するステップ(ブロック312)を含むことができる。
【0053】
方法300は、入力オーディオ信号を受信するステップ(ブロック302)を含むことができる。データ処理システムが入力オーディオ信号を受信することができる。たとえば、データ処理システムによって実行されるNLP構成要素が、入力オーディオ信号を受信することができる。データ処理システム(およびNLP構成要素)は、クライアントデバイス、車両の構成要素であるか、または場合によってはクライアントデバイス、車両によって実行されるか、あるいはスタンドアロンデバイスであり得る。クライアントデバイスまたは車両におけるマイクロフォンなどのセンサーは、入力オーディオ信号を検出することができ、次いで、それぞれのクライアントデバイスまたは車両は、データ処理システムにその入力オーディオ信号を送信することができる。たとえば、クライアントデバイス上で実行されるアプリケーションは、ユーザが「オーケー、サンルーフを開けてください(Ok, open the sunroof)」と話したことを検出することができる。検出された発話は、入力オーディオ信号に符号化され、データ処理システムまたは車両のNLP構成要素に送信され得る。
【0054】
方法300は、入力オーディオ信号をパースするステップ(ブロック304)を含むことができる。NLP構成要素は、入力オーディオ信号中の要求を識別するために、入力オーディオ信号をパースすることができる。NLP構成要素は、要求に関連する車両を識別することができる。NLP構成要素は、要求および車両に関連する遂行インターフェースを識別することができる。遂行インターフェースは、入力オーディオ信号の要求を遂行するためにアクションデータ構造を実行することになる、クライアントデバイスまたは車両のうちの1つのインターフェースであり得る。
【0055】
上記の例では、要求は、サンルーフを開けることであり得る。この例では、遂行インターフェースは、サンルーフを含む車両のインターフェースであり得る。いくつかの実装形態では、車両は、入力オーディオ信号中で明示的に示され得る。たとえば、ユーザは、ユーザの車両に愛称を割り当て得る(たとえば、ユーザは、ユーザの赤いトヨタカムリ(Toyota Camry)を「レッドカー(red car)」と名づけ得る)。明示的に示されたとき、入力オーディオ信号は「オーケー、私のレッドカーのサンルーフを開けてください(OK, open the sunroof of my red car)」であり得る。いくつかの実装形態では、データ処理システムは、ユーザのアカウントに関連するどの車両がアクションを遂行することができるかを決定することができる。たとえば、ユーザのレッドカーはサンルーフを含み得、ユーザのブルーカー(blue car)はサンルーフを含まないことがある。「オーケー、サンルーフを開けてください(Ok, open the sunroof)」という入力オーディオ信号を受信した後に。データ処理システムは、ユーザのレッドカーを自動的に選択し得る。いくつかの実装形態では、データ処理システムは、車両の確認のためにユーザに質問し得る。
【0056】
方法300は、アクションデータ構造を生成するステップ(ブロック306)を含むことができる。ダイレクトアクションAPIは、入力オーディオ信号の要求を遂行するために、クライアントデバイスまたは車両によって送信および処理され得るデータ構造を生成することができる。たとえば、上記の例を続けると、ダイレクトアクションAPIは、ユーザの車のサンルーフを開けるための第1のアクションデータ構造を生成することができる。ダイレクトアクションAPIは、データ処理システムのデータリポジトリから取り出されたテンプレートを使用して、アクションデータ構造を生成することができる。アクションデータ構造は、要求を遂行するために使用されるフィールドを含むことができる。たとえば、サンルーフを開けるようにとの要求の場合、アクションデータ構造は、そのアクションデータ構造が承認された場合、アクションデータ構造がそれに送信されるべきである車両IDのためのフィールド(または属性)を含むことができる。
【0057】
方法300は、車両状態を決定するステップ(ブロック308)を含むことができる。車両状態は、複数の属性を含むことができる。属性は、車両の現在ステータスを識別することができる。車両状態は、移動状態、外部環境状態、内部環境状態、およびデバイス状態など、複数のサブ状態を含むことができる。移動サブ状態は、現在速度および平均速度、現在加速度および平均加速度、駆動モードステータス、ならびにギアステータスなどの属性を含むことができる。外部環境サブ状態は、外部気象条件(たとえば、雨、晴れ、または雪)、外部温度、外部気象条件予報、および外部温度予報などの属性を含むことができる。内部環境サブ状態は、内部温度および内部ゾーン温度などの属性を含むことができる。デバイスサブ状態は、HVACステータス(たとえば、空調オン、空調オフ、暖房オンなど)、窓ステータス、ロックステータス、トラックステータス、半ドアステータス、サンルーフステータス、被加熱座席ステータス、被加熱ステアリングホイールステータス、および光ステータスなどの属性を含むことができる。検証エンジンは、車両、クライアントデバイスによって生成されたか、またはデータプロバイダから取り出されたセンサーデータを使用して車両状態を決定することができる。いくつかの実装形態では、1つのロケーションにおいて実行される検証エンジンが、車両状態を決定し、第2の検証エンジンに車両状態を送信することができる。たとえば、車両において実行される検証エンジンは、車両状態の全部または一部を決定し、次いで、リモートデータ処理システムにおいて実行される検証エンジンに車両状態を送信することができる。
【0058】
方法300は、要求状態を決定するステップ(ブロック310)を含むことができる。要求状態は、複数の属性を含むことができる。要求状態の属性は、アクションデータ構造に関連するアクションが完了する前に、遂行されるべきであるかまたは満たされるべきである1つまたは複数の条件を示すことができる。属性(および要求状態)は、アクションデータ構造の構成要素であるか、またはアクションデータ構造から導出され得る。たとえば、サンルーフを開けるようにとの要求のためのアクションデータ構造は、サンルーフがどの外部環境条件下で開けられるべきであるかを示すフィールドを含むことができる。検証エンジンは、外部環境条件を要求状態の属性に組み込むことができる。要求状態は、ユーザ属性を含むことができる。ユーザ属性は、ユーザに関連するクライアントデバイスのロケーション、または許可状態を含むことができる。ロケーションは、車両内のロケーションまたは地理的ロケーションであり得る(たとえば、クライアントデバイスは、ユーザのオフィスに配置される)。
【0059】
検証エンジンは、非可聴トーンを使用して、車両とともに、ユーザのロケーションを決定することができる。たとえば、検証エンジンは、車両内の1つまたは複数のスピーカーに非可聴トーンを生成させることができる。検証エンジンは、車両中のクライアントデバイスの相対ロケーションが、非可聴トーンがスピーカーにおいて再生されたときとクライアントデバイスが非可聴トーンを検出したときとの間の遅延を決定していると決定することができる。車両中のユーザの(およびクライアントデバイスの)相対ロケーションは、車両の座席中に置かれた重量または占有センサーの読みに基づいて決定され得る。
【0060】
方法300は、アクションデータ構造を送信することができる(ブロック312)。アクションデータ構造は、アクションデータ構造に関連する機能を実行するように構成された遂行インターフェースに送信され得る。いくつかの実装形態では、アクションデータ構造は、要求状態の1つまたは複数の属性が車両状態の1つまたは複数の属性に一致した場合のみ、遂行インターフェースに送信される。たとえば、検証エンジンは、機能を実行するための要件を示すことができる要求状態の属性を、車両状態の属性と比較することができる。たとえば、サンルーフを開けるようにとの要求は、外部環境属性要件{外部環境:[晴れ、全天曇り、一部曇り]}を有することができる。車両状態は、属性の中でも、{外部環境:雨}を含むことができる。この例では、検証エンジンは、要求状態属性が車両状態属性の要素でなく、車両のロケーションにおいて雨が降っているのでサンルーフが開けられるべきでないと決定することができる。検証エンジンは、検証エンジンが要求状態属性と車両状態属性との間に一致がないと決定したとき、アクションデータ構造を変更することができる。たとえば、検証エンジンは、雨が降っているのでサンルーフが開けられるべきでないという決定に応答して、車両のHVACをオンにするためにアクションデータ構造を変更し得る。検証エンジンは、アクションデータ構造が変更されることをユーザが望むかどうかをユーザに質問するプロンプトを生成し得る。たとえば、データ処理システムは「雨が降っているのでサンルーフを開けませんでした。代わりにACをオンにしてほしいですか?(I did not open the sunroof because it is raining. Would you like me to turn on the AC instead?)」というプロンプトを生成し得る。
【0061】
検証エンジンは、要求状態属性と車両状態属性との間に一致がないと決定することができる。データ処理システムは、要求が完了しなかったことをユーザに知らせる通知を生成することができる。その通知は、要求が完了しなかった理由を含むことができる。いくつかの実装形態では、検証エンジンが一致を見つけない場合、検証エンジンは、アクションデータ構造を廃棄し、遂行インターフェースにアクションデータ構造を送信しない。
【0062】
たとえば、検証エンジンが、要求状態属性と車両状態属性との間に一致があると決定したとき、検証エンジンは、アクションデータ構造に関連する機能を実行するために遂行インターフェースにアクションデータ構造を送信することができる。たとえば、サンルーフを開けるために、アクションデータ構造は、サンルーフの位置を制御するモーターを制御するためのアプリケーションを実行することができる車両のヘッドユニットに送られ得る。いくつかの実装形態では、データ処理システムは、機能が完了したという確認を送信することができる。たとえば、サンルーフが開けられたことを示すために、テキストベースまたはオーディオベースの出力信号がクライアントデバイスに送信され得る。
【0063】
図4は、例示的なコンピュータシステム400のブロック図である。コンピュータシステムまたはコンピューティングデバイス400は、システム100、またはデータ処理システム102などのシステム100の構成要素を含むか、またはそれらを実装するために使用され得る。コンピューティングシステム400は、情報を通信するためのバス405または他の通信構成要素と、情報を処理するための、バス405に結合されたプロセッサ410または処理回路とを含む。コンピューティングシステム400は、情報を処理するための、バスに結合された1つまたは複数のプロセッサ410または処理回路をも含むことができる。コンピューティングシステム400は、情報と、プロセッサ410によって実行されるべき命令とを記憶するための、バス405に結合された、ランダムアクセスメモリ(RAM)または他のダイナミック記憶デバイスなど、メインメモリ415をも含む。メインメモリ415は、データリポジトリ118であるか、またはデータリポジトリ118を含むことができる。メインメモリ415はまた、プロセッサ410による命令の実行中に、位置情報、一時的変数、または他の中間情報を記憶するために使用され得る。コンピューティングシステム400は、プロセッサ410のための静的情報および命令を記憶するための、バス405に結合された読取り専用メモリ(ROM)420または他の静的記憶デバイスをさらに含み得る。固体デバイス、磁気ディスクまたは光ディスクなど、記憶デバイス425が、情報および命令を永続的に記憶するために、バス405に結合され得る。記憶デバイス425は、データリポジトリ118を含むか、またはデータリポジトリ118の一部であり得る。
【0064】
コンピューティングシステム400は、ユーザに情報を表示するための、液晶ディスプレイまたはアクティブマトリックスディスプレイなど、ディスプレイ435にバス405を介して結合され得る。英数字および他のキーを含むキーボードなど、入力デバイス430が、情報およびコマンド選択をプロセッサ410に通信するためにバス405に結合され得る。入力デバイス430は、タッチスクリーンディスプレイ435を含むことができる。入力デバイス430は、方向情報とコマンド選択とをプロセッサ410に通信するための、およびディスプレイ435上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソル制御をも含むことができる。ディスプレイ435は、たとえば、データ処理システム102、クライアントコンピューティングデバイス128、または図1の他の構成要素の一部であり得る。
【0065】
本明細書で説明されるプロセス、システムおよび方法は、プロセッサ410がメインメモリ415中に含まれている命令の構成を実行したことに応答して、コンピューティングシステム400によって実装され得る。そのような命令は、記憶デバイス425など、別のコンピュータ可読媒体からメインメモリ415中に読み取られ得る。メインメモリ415中に含まれている命令の構成の実行は、コンピューティングシステム400が、本明細書で説明される例示的なプロセスを実施することを引き起こす。メインメモリ415中に含まれている命令を実行するために、多重処理構成における1つまたは複数のプロセッサも採用され得る。ハードワイヤード回路が、本明細書で説明されるシステムおよび方法とともに、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用され得る。本明細書で説明されるシステムおよび方法は、ハードウェア回路とソフトウェアとの特定の組合せに限定されない。
【0066】
図4において例示的なコンピューティングシステムが説明されたが、本明細書で説明される動作を含む主題は、他のタイプのデジタル電子回路において、あるいは、本明細書で開示される構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。
【0067】
本明細書で説明されるシステムがユーザに関する個人情報を収集するか、または個人情報を利用し得る状況では、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、社会活動、またはアクティビティ、ユーザの選好、あるいはユーザのロケーションに関する情報)を収集し得るプログラムまたは特徴かどうかを制御するための、あるいは、ユーザにより関連し得るコンテンツサーバまたは他のデータ処理システムからコンテンツを受信すべきかどうか、またはそれをどのように受信すべきかを制御するための機会を与えられ得る。さらに、あるデータは、パラメータを生成するときに個人識別可能情報が削除されるように、そのデータが、記憶または使用される前に1つまたは複数のやり方で匿名化され得る。たとえば、個人識別可能情報がユーザについて決定され得ないように、ユーザの識別情報が匿名化され得るか、または、ユーザの特定のロケーションが決定され得ないように、ロケーション情報が取得されるユーザの地理的ロケーションが(都市レベル、郵便番号レベル、または州レベルなどに)一般化され得る。したがって、ユーザは、どのように情報がユーザに関して収集され、コンテンツサーバによって使用されるかを制御し得る。
【0068】
本明細書で説明される主題および動作は、デジタル電子回路において、あるいは、本明細書で開示される構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書で説明される主題は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体上で符号化された1つまたは複数のコンピュータプログラム、たとえば、コンピュータプログラム命令の1つまたは複数の回路として実装され得る。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、マシン生成の電気的、光、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらのうちの1つまたは複数の組合せであるか、またはその中に含まれ得る。コンピュータ記憶媒体は、伝搬信号ではなく、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であるか、またはその中に含まれ得る。本明細書で説明される動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたか、または他のソースから受信されたデータに対して、データ処理装置によって実施される動作として実装され得る。
【0069】
「データ処理システム」、「コンピューティングデバイス」、「構成要素」、または「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記のうちの複数のもの、あるいは上記の組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを構成するコードをも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。システム100の構成要素は、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有することができる。
【0070】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、宣言型または手続き言語を含む、任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、またはコンピューティング環境において使用するのに好適な他のユニットとして等の、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応することができる。コンピュータプログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に記憶されるか、当該のプログラムに専用の単一のファイルに記憶されるか、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、あるいはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるか、あるいは1つのサイトに配置されるかまたは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【0071】
本明細書で説明されるプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実施するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサ(たとえば、データ処理システム102の構成要素)によって実施され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実施され得、装置が、同じく専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装され得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足されるか、または専用論理回路中に組み込まれ得る。
【0072】
本明細書で説明される主題は、たとえば、データサーバとしてバックエンド構成要素を含むか、あるいはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、あるいはフロントエンド構成要素、たとえば、ユーザが本明細書で説明される主題の実装形態とそれを通して対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の組合せを含むコンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【0073】
システム100またはシステム400などのコンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、一般に互いから遠隔にあり、典型的には通信ネットワーク(たとえば、ネットワーク142)を通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いに対してクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実装形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)クライアントデバイスにデータ(たとえば、コンテンツアイテムを表すデータパケット)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され(たとえば、クライアントコンピューティングデバイス128または車両140からデータ処理システム102によって受信され)得る。
【0074】
動作は図面において特定の順序で示されているが、そのような動作は、示されている特定の順序で、または連続した順序で実施されることを必要とされず、すべての図示された動作が実施されることを必要とされるとは限らない。本明細書で説明されるアクションは、異なる順序で実施され得る。
【0075】
様々なシステム構成要素の分離は、すべての実装形態において分離を必要とするとは限らず、説明されるプログラム構成要素は単一のハードウェアまたはソフトウェア製品中に含まれ得る。たとえば、NLP構成要素106および検証エンジン116は、単一の構成要素、アプリ、またはプログラム、あるいは1つまたは複数の処理回路を有する論理デバイス、あるいはデータ処理システム102の1つまたは複数のサーバの一部であり得る。
【0076】
ここで、いくつかの例示的な実装形態について説明したが、上記のものが例示的であり、限定するものではなく、例として提示されたことは明らかである。特に、本明細書で提示される例の多くが、方法行為またはシステム要素の特定の組合せを伴うが、それらの行為およびそれらの要素は、同じ目的を達成するために他のやり方で組み合わせられ得る。一実装形態に関して説明される行為、要素、および特徴は、他の実装形態または実装形態における同様の役割から除外されるものではない。
【0077】
本明細書で使用される語法および用語は、説明の目的のためのものであり、限定するものと見なされるべきでない。本明細書における「含む(including)」、「含む、備える(comprising)」、「有する(having)」、「含んでいる(containing)」、「伴う(involving)」、「によって特徴づけられる(characterized by)」、「ことを特徴とする(characterized in that)」、およびそれらの変形態の使用は、その後にリストされる項目、それらの等価物、および追加の項目、ならびにその後にリストされる項目のみからなる代替実装形態を包含することを意図される。一実装形態では、本明細書で説明されるシステムおよび方法は、説明される要素、行為、または構成要素のうちの1つ、それらのうちの2つ以上の各組合せ、あるいはそれらのすべてからなる。
【0078】
単数形で言及された本明細書におけるシステムおよび方法の実装形態または要素または行為への言及は、複数のこれらの要素を含む実装形態をも包含し得、本明細書における実装形態または要素または行為への複数形での言及は、単一の要素のみを含む実装形態をも包含し得る。単数形または複数形での言及は、本開示のシステムまたは方法、それらの構成要素、行為、または要素を、単一の構成または複数の構成に限定するものではない。任意の情報、行為または要素に基づく任意の行為または要素への言及は、その行為または要素が任意の情報、行為、または要素に少なくとも部分的に基づく実装形態を含み得る。
【0079】
本明細書で開示される任意の実装形態は、任意の他の実装形態または実施形態と組み合わせられ得、「実装形態(an implementation)」、「いくつかの実装形態(some implementations)」、「一実装形態(one implementation)」などへの言及は、必ずしも相互排他的であるとは限らず、実装形態に関して説明される特定の特徴、構造、または特性が、少なくとも1つの実装形態または実施形態に含まれ得ることを示すものである。本明細書で使用されるそのような用語は、必ずしもすべて同じ実装形態に言及しているとは限らない。任意の実装形態は、本明細書で開示される態様および実装形態に従う任意の様式で、包括的にまたは排他的に、任意の他の実装形態と組み合わせられ得る。
【0080】
「または(or)」への言及は、「または」を使用して説明される任意の用語が、説明される用語のうちの単一の用語、2つ以上の用語、およびすべての用語のいずれかを示し得るように、包含的なものとして解釈され得る。「'A'および'B'のうちの少なくとも1つ(at least one of 'A' and 'B')」への言及は、'A'のみ、'B'のみ、ならびに'A'と'B'の両方を含むことができる。「含む、備える(comprising)」または他のオープンな用語とともに使用されるそのような言及は、追加の項目を含むことができる。
【0081】
図面、発明を実施するための形態、または任意の請求項における技術的特徴の後に参照符号が続く場合、その参照符号は、図面、発明を実施するための形態、および特許請求の範囲の了解度を増すために含まれている。したがって、参照符号もそれらの不在も、請求項要素の範囲を限定する効果を有しない。
【0082】
本明細書で説明されるシステムおよび方法は、それらの特性から逸脱することなく、他の特定の形態で具現され得る。上記の実装形態は、説明されるシステムおよび方法を限定するものではなく、例示的なものである。本明細書で説明されるシステムおよび方法の範囲は、したがって、上記の説明ではなく、添付の特許請求の範囲によって示され、特許請求の範囲の等価の意味および範囲内に入る変更はその中に包含される。
【符号の説明】
【0083】
100 システム
102 データ処理システム
104 インターフェース
106 NLP構成要素
108 インターフェース管理構成要素
110 オーディオ信号生成器構成要素
112 ダイレクトアクションAPI
114 応答選択器構成要素
116 検証エンジン
118 データリポジトリ
120 パラメータ
122 ポリシー
124 応答データ
126 テンプレート
128 クライアントデバイス
128(1) クライアントデバイス
128(2) クライアントデバイス
130 センサー
132 スピーカー
136 トランスデューサ
138 データプロバイダ
140 車両
142 ネットワーク
200 座席
202 ヘッドユニット
204 非可聴トーン
400 コンピュータシステム
405 バス
410 プロセッサ
415 メインメモリ
420 読取り専用メモリ
425 記憶デバイス
430 入力デバイス
435 ディスプレイ
図1
図2
図3
図4