(57)【特許請求の範囲】
【請求項１】
車両環境において動作可能な車両診断システムであって、前記車両診断システムは、
車両中にインストールされ、かつイベント決定コンポーネントと、通知コンポーネントと、ダイレクトアクションアプリケーションプログラミングインターフェース(API)とを有するデジタルアシスタントアプリケーションを実行するデータ処理システムを備え、
前記データ処理システムが、
前記イベント決定コンポーネントによってかつ前記データ処理システムのインターフェースを介して、前記車両の複数のセンサーのうちの少なくとも1つによって検知された車両診断データを受信することと、
前記イベント決定コンポーネントによって、前記車両診断データの分析に基づいて、前記車両に関連するトリガイベントを識別することであって、前記イベント決定コンポーネントが前記車両の将来のメンテナンスアクティビティを予測するために前記車両診断データを分析し、前記車両に関連する前記トリガイベントが前記将来のメンテナンスアクティビティに対応する、ことと、
前記通知コンポーネントによって、前記トリガイベントに基づいて前記車両の出力インターフェースを選択することとを行うように構成され、
前記ダイレクトアクションAPIが、
前記トリガイベントに対応するイベントデータメッセージを生成することであって、前記イベントデータメッセージが、前記出力インターフェースに適合する出力としてフォーマットされる、ことと、
前記出力インターフェースが前記イベントデータメッセージに関連する情報をインターフェース出力として出力するように、前記イベントデータメッセージを前記デジタルアシスタントアプリケーションから前記出力インターフェースに送信することとを行う、
ように構成される、システム。
【請求項２】
前記イベント決定コンポーネントが、前記トリガイベントに関連する推奨されたアクションを決定し、
前記ダイレクトアクションAPIが、前記推奨されたアクションに対応する情報を含むように前記イベントデータメッセージを生成する、
請求項1に記載のシステム。
【請求項３】
前記イベント決定コンポーネントが、前記車両からリモートにあるコンピューティングデバイスに記憶された情報に基づいて、前記推奨されたアクションを決定する、
請求項2に記載のシステム。
【請求項４】
前記車両診断システムは、
自然言語プロセッサコンポーネントを含む前記デジタルアシスタントアプリケーションを備え、
前記自然言語プロセッサコンポーネントが、
前記データ処理システムのインターフェースを介して、入力オーディオ信号を受信することと、
要求を識別するために前記入力オーディオ信号をパースすることであって、前記ダイレクトアクションAPIが前記要求に基づいてアクションデータメッセージを生成し、前記アクションデータメッセージが機能を示す、こととを行う、
請求項1に記載のシステム。
【請求項５】
前記車両診断システムは、
遂行コンポーネントを含む前記デジタルアシスタントアプリケーションを備え、
前記ダイレクトアクションAPIが、アクションデータメッセージを前記遂行コンポーネントに送信し、
前記遂行コンポーネントが、前記アクションデータメッセージによって示された機能を実行する、
請求項1に記載のシステム。
【請求項６】
前記出力インターフェースが、前記車両中に含まれるオーディオデバイスを備え、
前記車両の前記オーディオデバイスが、前記イベントデータメッセージに関連する前記情報をオーディオ出力として出力するように構成された、
請求項1に記載のシステム。
【請求項７】
前記出力インターフェースがモバイルコンピューティングデバイスのオーディオデバイスを備え、
前記モバイルコンピューティングデバイスの前記オーディオデバイスが、前記イベントデータメッセージに関連する前記情報をオーディオ出力として出力するように構成された、
請求項1に記載のシステム。
【請求項８】
前記通知コンポーネントが、追加出力インターフェースを選択するように構成され、
前記ダイレクトアクションAPIが、
前記トリガイベントに対応する追加イベントデータメッセージを生成することであって、前記追加イベントデータメッセージが前記追加出力インターフェースに基づいてフォーマットされる、ことと、
前記追加出力インターフェースが前記追加イベントデータメッセージに関連する情報を出力することを引き起こすために、前記追加イベントデータメッセージを前記追加出力インターフェースに送信することとを行うように構成された、
請求項1に記載のシステム。
【請求項９】
前記ダイレクトアクションAPIが、前記追加イベントデータメッセージを、第2のデジタルアシスタントアプリケーションを実行するモバイルコンピューティングデバイスのためのテキストメッセージ、電子メール、およびプッシュ通知のうちの少なくとも1つとして生成する、
請求項8に記載のシステム。
【請求項１０】
前記車両診断データが、車両診断データの第1のセットを備え、
前記イベント決定コンポーネントが、
前記車両の前記複数のセンサーのうちの少なくとも1つによって検知された前記車両診断データの第1のセットと異なる車両診断データの第2のセットを受信することと、
前記車両診断データの前記第2のセットの分析に基づいて、前記車両に関連する追加トリガイベントを識別することとを行うようにさらに構成され、
前記通知コンポーネントが、前記追加トリガイベントに基づいて、追加出力インターフェースを選択するようにさらに構成され、
前記ダイレクトアクションAPIが、
前記追加トリガイベントに対応する追加イベントデータメッセージを生成することであって、前記追加イベントデータメッセージが前記追加出力インターフェースに基づいてフォーマットされる、ことと、
前記追加出力インターフェースが前記追加イベントデータメッセージに関連する情報を出力することを引き起こすために、前記追加イベントデータメッセージを前記追加出力インターフェースに送信することとを行うようにさらに構成された、
請求項1に記載のシステム。
【請求項１１】
前記イベント決定コンポーネントが、
前記車両の第1の車両状態を決定することと、
前記車両の状態変化を決定するために前記車両診断データを監視することと、
前記車両の前記状態変化に基づいて、前記トリガイベントを識別することとを行うようにさらに構成された、
請求項1に記載のシステム。
【請求項１２】
前記通知コンポーネントが、前記イベントデータメッセージに関連する通知時間を決定し、
前記ダイレクトアクションAPIが、前記出力インターフェースが前記通知時間において前記イベントデータメッセージに関連する情報を出力するように、前記イベントデータメッセージを前記出力インターフェースに送信する、
請求項1に記載のシステム。
【請求項１３】
前記イベント決定コンポーネントが、前記トリガイベントに関連する優先度レベルを決定し、
前記通知コンポーネントが、前記トリガイベントの前記優先度レベルに部分的に基づいて前記通知時間を決定する、
請求項12に記載のシステム。
【請求項１４】
車両診断方法であって、
車両中にインストールされたデータ処理システムによって実行されるデジタルアシスタントアプリケーションによって、前記データ処理システムのインターフェースを介して、前記車両に関連する複数のセンサーのうちの少なくとも1つによって検知された車両診断データを受信するステップと、
前記デジタルアシスタントアプリケーションによって、前記車両診断データの分析に基づいて、前記車両に関連するトリガイベントを識別するステップであって、前記車両に関連する前記トリガイベントを識別するステップは、
前記車両の将来のメンテナンスアクティビティを予測するために前記車両診断データを分析することと、
前記将来のメンテナンスアクティビティと前記車両に関連する前記トリガイベントを対応付けること、
とを含み、
前記デジタルアシスタントアプリケーションによって、前記トリガイベントに基づいて、前記車両の出力インターフェースを識別するステップと、
前記デジタルアシスタントアプリケーションによって、前記トリガイベントに対応するイベントデータメッセージを生成するステップであって、前記イベントデータメッセージが、前記出力インターフェースに適合する出力としてフォーマットされる、ステップと、
前記デジタルアシスタントアプリケーションによって、前記出力インターフェースが前記イベントデータメッセージに関連する情報をインターフェース出力として出力するように、前記イベントデータメッセージを前記デジタルアシスタントアプリケーションから前記出力インターフェースに送信するステップとを含む、
方法。
【請求項１５】
前記デジタルアシスタントアプリケーションによって、前記トリガイベントに関連する推奨されたアクションを決定するステップと、
前記デジタルアシスタントアプリケーションによって、前記推奨されたアクションに対応する情報を含むように前記イベントデータメッセージを生成するステップとを含む、
請求項14に記載の方法。
【請求項１６】
前記デジタルアシスタントアプリケーションによって、前記車両からリモートにあるコンピューティングデバイスに記憶された情報に基づいて、前記推奨されたアクションを決定するステップをさらに含む、
請求項15に記載の方法。
【請求項１７】
前記デジタルアシスタントアプリケーションによって、入力オーディオ信号を受信するステップと、
前記デジタルアシスタントアプリケーションによって、要求を識別するために前記入力オーディオ信号をパースし、前記要求に基づいてアクションデータメッセージを生成し、前記アクションデータメッセージが機能を示す、ステップとを含む、
請求項14に記載の方法。
【請求項１８】
前記デジタルアシスタントアプリケーションによって、前記アクションデータメッセージによって示された前記機能を実行するステップとを含む、
請求項17に記載の方法。
【請求項１９】
前記出力インターフェースが、前記車両中に含まれるオーディオデバイスを備え、
前記車両の前記オーディオデバイスが、前記イベントデータメッセージに関連する前記情報をオーディオ出力として出力するように構成された、
請求項14に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車両診断データに基づくアクション可能イベント決定に関する。
【背景技術】
【０００２】
車、トラック、バス、およびオートバイなど、車両(vehicle)の動作条件は、時間または使用とともに悪化することがある。車両の周囲の条件も変化することがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の一態様によれば、オーディオベースの車両診断システムが、車両環境において動作可能であり得る。本システムは、車両中にインストールされ、イベント決定コンポーネントと、通知コンポーネントと、ダイレクトアクションアプリケーションプログラミングインターフェース(API)とを有するデジタルアシスタントアプリケーションを実行するデータ処理システムを含むことができる。イベント決定コンポーネントは、データ処理システムのインターフェースを介して、車両に関連する複数のセンサーのうちの少なくとも1つによって検知された車両診断データを受信することができる。イベント決定コンポーネントは、車両診断データの分析に基づいて、車両に関連するトリガイベントを識別することができる。デジタルアシスタントアプリケーションは、トリガイベントに基づいて第1のオーディオ出力インターフェースを選択するための通知コンポーネントをも含むことができる。デジタルアシスタントアプリケーションは、トリガイベントに対応するイベントデータメッセージを生成するためのダイレクトアクションアプリケーションプログラミングインターフェース(API)をも含むことができる。イベントデータメッセージは、第1のオーディオ出力インターフェースに適合することができる。また、ダイレクトアクションAPIは、第1のオーディオ出力インターフェースがイベントデータメッセージに関連する情報をオーディオ出力として出力することを引き起こすために、イベントデータメッセージをデジタルアシスタントアプリケーションから第1のオーディオ出力インターフェースに送信することができる。
【０００４】
本開示の一態様によれば、オーディオベースの車両診断方法が、車両中に設置されたデータ処理システムによって実行されるデジタルアシスタントアプリケーションのイベント決定コンポーネントによって、データ処理システムのインターフェースを介して、車両に関連する複数のセンサーのうちの少なくとも1つによって検知された車両診断データを受信するステップを含むことができる。本方法は、イベント決定コンポーネントによって、車両診断データの分析に基づいて、車両に関連するトリガイベントを識別するステップを含むことができる。本方法は、デジタルアシスタントアプリケーションの通知コンポーネントによって、トリガイベントに基づいて第1のオーディオ出力インターフェースを選択するステップを含むことができる。本方法は、デジタルアシスタントアプリケーションのダイレクトアクションAPI、トリガイベントに対応するイベントデータメッセージを生成するステップを含むことができる。イベントデータメッセージは、第1のオーディオ出力インターフェースに適合することができる。本方法は、ダイレクトアクションAPIによって、第1のオーディオ出力インターフェースがイベントデータメッセージに関連する情報をオーディオ出力として出力することを引き起こすために、イベントデータメッセージをデジタルアシスタントアプリケーションから第1のオーディオ出力インターフェースに送信するステップを含むことができる。
【０００５】
これらおよび他の態様および実装形態が、以下で詳細に説明される。上記の情報および以下の発明を実施するための形態は、様々な態様および実装形態の例示的な例を含み、請求される態様および実装形態の性質および特性を理解するための概観または枠組を与える。図面は、様々な態様および実装形態の例示およびさらなる理解を与え、本明細書の一部に組み込まれ、本明細書の一部を構成する。
【０００６】
添付の図面は、一定の縮尺で描かれるものではない。様々な図面における同様の参照番号および名称は、同様の要素を示す。明快のために、あらゆるコンポーネントがあらゆる図面においてラベリングされるとは限らない。
【図面の簡単な説明】
【０００７】
【図１】車両に関連するイベントを決定するための例示的なシステムを示す図である。
【図２】車両の内部キャビンを含む、図1のシステム中に含まれる車両の平面図である。
【図３】図1に示されている例示的なシステムを使用する例示的なオーディオベースの車両診断方法を示す図である。
【図４】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００８】
車両に関連するイベントを決定するための方法、装置、およびシステムに関係する様々な概念、およびそれらの実装形態のより詳細な説明が以下に続く。上記で紹介され、以下でより詳細に説明される様々な概念は、多数のやり方のいずれかで実装され得る。車、トラック、バス、オートバイ、ボート、飛行機、または他の輸送デバイスなど、車両は、診断データを収集するための複数のセンサーを含むことができる。診断データは、そのような車両の運転者に故障状態(failure condition)を報告するために使用され得る。車両は、そのような情報を報告するための制限された出力インターフェースを含み得る。その結果、たとえば車両のコンソール上の「エンジンをチェック(check engine)」ライトを点灯することによって、故障状態が運転者に報告されたとき、運転者は、何が故障を引き起こしたか、または、故障を修正するためにどんなアクションがとられるべきであるかを決定することが容易に可能でないことがある。さらに、診断データは現在の故障状態を示し、運転者または他のユーザには、故障が起こる前に故障を防ぐためのアクションをとる時間がほとんどまたはまったくないことがある。
【０００９】
本開示は、一般に、車両診断データに基づいて車両に関連するアクション可能(actionable)イベントを決定するためのデータ処理システムを対象とする。データ処理システムは、運転者の注意を必要とする車両イベントを決定し、特徴づけるために、複数のセンサーからのデータをアグリゲートし、処理することができ、そのようなイベントのための修正アクションを推奨することができ、承認時に、推奨された修正アクションの完了を可能にすることができる。本開示のソリューションは、車両の1つまたは複数の状態を監視することと、車両状態のうちの1つまたは複数の変化を決定したときのみ、車両に関連するイベントを報告することとによって、計算効率を改善することができる。車両内のコンピューティングデバイス上で以下で説明される計算のうちの少なくともいくつかを実施することによって、システムは、診断データをコンピュータネットワーク上でリモートコンピュータに送信する必要を省くことによって帯域幅利用を低減することができる。車両にローカルなコンピューティングデバイス上で計算のうちの少なくともいくつかを実施することはまた、車両にローカルなコンピューティングデバイスと他のリモートコンピューティングデバイスとの間のネットワーク接続が信頼できないことがあるとき、レイテンシを改善することができる。
【００１０】
本明細書で説明されるシステムおよび方法は、車両中に設置され、デジタルアシスタントアプリケーションを含むデータ処理システムを含むことができる。デジタルアシスタントアプリケーションは、デジタルアシスタントアプリケーションと人間ユーザとの間の二方向会話を可能にするソフトウェアアプリケーションであり得る。会話は、自然言語を使用して、たとえば、英語または他の言語で行われ得る。デジタルアシスタントアプリケーションは、車両に関連する任意の数のセンサーから車両診断データを受信することができ、ユーザ(たとえば、車両の運転者または所有者)に報告されるべきであるトリガイベントを決定するために診断データを処理することができる。デジタルアシスタントアプリケーションは、トリガイベントを報告するための適切なインターフェースを選択することができ、トリガイベントに対応し、選択されたインターフェースに従ってフォーマットされた、イベントデータメッセージを生成することができる。たとえば、選択されたインターフェースは、車両の内部キャビン中のスピーカーであり得、デジタルアシスタントアプリケーションは、スピーカーを通して再生されることになるオーディオとしてイベントデータメッセージをフォーマットすることができる。デジタルアシスタントアプリケーションは、次いで、選択されたインターフェースを介して出力されることになるイベントデータメッセージを送信することができる。デジタルアシスタントアプリケーションはまた、トリガイベントに対処するために、推奨されたアクションを決定することができ、推奨されたアクションをユーザに通知することができる。ユーザから承認を受信すると、デジタルアシスタントアプリケーションは、アクションの完了を可能にすることができる。たとえば、推奨されたアクションは、整備士によって実施されるべきメンテナンスアクティビティであり得、デジタルアシスタントアプリケーションは、ユーザがローカル整備士とのアポイントメントをスケジュールするのを支援することができる。車両内でローカルにトリガイベントおよび推奨されたアクションを識別するために必要な計算分析の少なくとも一部分を実施することによって、デジタルアシスタントアプリケーションは、そのような計算が車両からリモートにあるコンピューティングデバイスによって行われることを必要とする代替案に対して、ネットワーク帯域幅を節約し、プロセッサ利用を低減し、電力を節約することができる。
【００１１】
図1は、車両に関連するイベントを決定するための例示的なシステム100を示す。システム100は、少なくとも1つのデータ処理システム102と、1つまたは複数のクライアントデバイス128と、1つまたは複数の車両140とを含むことができる。
【００１２】
データ処理システム102はインターフェース104を含むことができる。データ処理システム102は、オーディオベースの入力をパースするための自然言語プロセッサ(NLP)コンポーネント106を含むことができる。データ処理システム102は、システム100中の他のデバイスのインターフェースを検出し、管理するためのインターフェース管理コンポーネント108を含むことができる。データ処理システム102は、車両140に関連するイベントを決定し、ならびに、決定されたイベントに応答してとられるべき推奨されたアクションを決定するための、イベント決定コンポーネント116を含むことができる。データ処理システム102は、ユーザがイベントまたは推奨されたアクションについてそれを通して通知され得るインターフェースを選択するための通知コンポーネント114を含むことができる。データ処理システム102は、ユーザから承認を受信すると、推奨されたアクションの完了を可能にするための遂行コンポーネント(fulfilment component)110を含むことができる。データ処理システム102は、ダイレクトアクションアプリケーションプログラミングインターフェース(API)112を含むことができる。データ処理システム102はデータリポジトリ118を含むことができ、データ処理システム102は、データリポジトリ118にパラメータ120と、ポリシー122と、応答データ124と、テンプレート126とを記憶することができる。クライアントデバイス128および車両140は、データ処理システム102のコンポーネントのいずれかのインスタンスを含み、実行することができる。クライアントデバイス128および車両140は、各々、データ処理システム102の全部または一部を含むことができる。
【００１３】
システム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のインスタンスを実行することができる。車両140は、デジタルアシスタントアプリケーション144をも含むことができる。デジタルアシスタントアプリケーション144は、データ処理システム102に示されているコンポーネントのうちの1つ、2つ以上、または全部を含むことができる。データ処理システム102に関して本明細書で説明される動作は、車両140内でローカルに実施され得る。
【００１４】
システム100のコンポーネントはネットワーク142上で通信することができる。いくつかの実装形態では、クライアントデバイス128のうちの1つまたは複数は、車両140のインスタンス内に配置され得る。たとえば、クライアントデバイス128は、車両140を運転している運転者のポケット中のモバイルフォンであり得る。クライアントデバイス128のうちの1つまたは複数はまた、車両140に対してリモートにあり得る。たとえば、運転者が、車両140を駐車し、モバイルフォンを携帯して車両140を出た後、運転者のモバイルフォンは車両140に対してリモートにあり得る。
【００１５】
ネットワーク142は、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロエリアネットワーク、または他のエリアネットワークなどのコンピュータネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイルフォン通信ネットワークなどの他のコンピュータネットワーク、およびそれらの組合せを含むことができる。ネットワーク142は、ウェブページ、ウェブサイト、ドメイン名、ユニフォームリソースロケータ、またはデータプロバイダ138などの情報リソースにアクセスするために、データ処理システム102と、クライアントデバイス128と、車両140とによって使用され得る。たとえば、データ処理システム102は、ネットワーク142を介して、車両140に関連するロケーションなど、特定のロケーションのための気象データを与えるデータプロバイダ138にアクセスすることができる。
【００１６】
ネットワーク142は、たとえば、ポイントツーポイントネットワーク、ブロードキャストネットワーク、ワイドエリアネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ATM(非同期転送モード)ネットワーク、SONET(同期光ネットワーク)ネットワーク、SDH(同期デジタルハイアラーキ)ネットワーク、ワイヤレスネットワークまたはワイヤラインネットワーク、およびそれらの組合せを含むことができる。ネットワーク142は、赤外チャネルまたは衛星帯域など、ワイヤレスリンクを含むことができる。ネットワーク142のトポロジーは、バス、スター、またはリングネットワークトポロジーを含み得る。ネットワーク142は、高度モバイルフォンプロトコル(AMPS)、時分割多元接続(TDMA)、符号分割多元接続(CDMA(登録商標))、モバイル通信用グローバルシステム(GSM(登録商標))、汎用パケット無線サービス(GPRS)、またはユニバーサルモバイルテレコミュニケーションズシステム(UMTS)を含む、モバイルデバイスの間で通信するために使用される任意の1つまたは複数のプロトコルを使用する携帯電話網を含むことができる。異なるタイプのデータが異なるプロトコルを介して送信され得るか、または、同じタイプのデータが異なるプロトコルを介して送信され得る。
【００１７】
クライアントデバイス128および車両140は、各々、ネットワーク142を介してデータ処理システム102と互いに通信するためのプロセッサを有するコンピューティングデバイスなど、少なくとも1つの論理デバイスを含むことができる。クライアントデバイス128および車両140は、データ処理システム102に関して説明されるコンポーネントのいずれかのインスタンスを含むことができる。クライアントデバイス128および車両140は、データ処理システム102のインスタンスを含むことができる。クライアントデバイス128は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末、スマートフォン、モバイルデバイス、ポータブルコンピュータ、シンクライアントコンピュータ、仮想サーバ、スピーカーベースのデジタルアシスタント、あるいは任意の他のタイプまたは形態のコンピューティングデバイスを含むことができる。車両140は、手動または自律走行車、トラック、バス、産業車両、オートバイ、ボート、航空機、あるいは他の輸送機械を含むことができる。車両140は、データ処理システム102またはそれの任意のコンポーネントのインスタンスを実行することができる1つまたは複数のプロセッサを含むことができる。たとえば、データ処理システム102またはそれのコンポーネントは、デジタルアシスタントアプリケーション144によって実行され得る。データ処理システム102を実行するために使用されるプロセッサは、車両140のヘッドユニットなど、車両140のコンピューティングデバイスのコンポーネントであり得る。
【００１８】
クライアントデバイス128および車両140は、少なくとも1つのセンサー130と、少なくとも1つのトランスデューサ136と、少なくとも1つのオーディオドライバと、少なくとも1つのスピーカー132とを含むことができる。センサー130は、マイクロフォンまたはオーディオ入力センサーを含むことができる。センサー130は、GPSセンサー、近接度センサー、周辺光センサー、温度センサー、動きセンサー、加速度計、またはジャイロスコープのうちの少なくとも1つをも含むことができる。センサー130は、占有または重量センサーを含むことができる。センサー130は、速度計、走行距離計、ガスゲージ、または車両140の機能に関連する他のセンサーなど、車両140の計器に関連するセンサーをも含むことができる。トランスデューサ136は、オーディオ入力を電子信号に変換することができる。オーディオドライバは、スピーカー132を制御するためにクライアントデバイス128または車両140の1つまたは複数のプロセッサによって実行されるスクリプトまたはプログラムを含むことができる。スピーカー132は、電気信号を可聴波に変換することによってオーディオ信号をレンダリングすることができる。
【００１９】
クライアントデバイス128および車両140はエンドユーザに関連することができ、エンドユーザは、(たとえば、センサー130、インターフェース104、またはデジタルアシスタントアプリケーション144を介して)クライアントデバイス128または車両140に入力オーディオ信号として音声クエリまたはコマンドを入力し得、(たとえば、スピーカー132を介して)データ処理システム102から与えられ得るコンピュータ生成音声の形態でオーディオ出力を受信する。車両140、またはそれのコンポーネントのいずれかはまた、トリガイベントに対応するイベントデータメッセージ、またはトリガイベントに対処するために所定の機能またはアクションを実施するためのアクションデータメッセージを生成することができる。インターフェース104は、データメッセージを受信するか、またはデータメッセージをデータ処理システム102のダイレクトアクションAPI112に与え、システム100のコンポーネント間の通信を可能にすることができる。クライアントデバイス128および車両140は、ユーザがシステム100のコンポーネントと対話することを可能にするユーザインターフェースをも含むことができる。
【００２０】
データ処理システム102は、少なくとも1つのプロセッサを有する少なくとも1つのサーバを含むことができる。たとえば、データ処理システム102は、少なくとも1つのデータセンターまたはサーバファーム中に配置された複数のサーバを含むことができる。データ処理システム102は、オーディオ入力信号から、要求と要求またはコマンドに関連するトリガキーワードとを決定することができる。要求またはコマンドとトリガキーワードとに基づいて、データ処理システム102は、応答データを生成または選択することができる。応答データは、オーディオベースまたはテキストベースであり得る。たとえば、応答データは、レンダリングされたときにスピーカー132を介してオーディオ出力または音響波を与える1つまたは複数のオーディオファイルを含むことができる。応答データ内のデータは、コンテンツアイテムと呼ばれることもある。応答データは、オーディオコンテンツに加えて他のコンテンツ(たとえば、テキスト、ビデオ、または画像コンテンツ)を含むことができる。
【００２１】
データ処理システム102は、複数の論理的にグループ化されたサーバを含み、分散コンピューティング技法を可能にすることができる。サーバの論理グループは、データセンター、サーバファームまたはマシンファームと呼ばれることがある。サーバは地理的に分散され得る。データセンターまたはマシンファームは単一のエンティティとして管理され得るか、または、マシンファームは複数のマシンファームを含むことができる。各マシンファーム内のサーバは異種であり得、すなわち、サーバまたはマシンのうちの1つまたは複数は、1つまたは複数のタイプのオペレーティングシステムプラットフォームに従って動作することができる。データ処理システム102は、たとえば企業データセンター中に配置された、関連するストレージシステムとともに、1つまたは複数の高密度ラックシステムに格納された、データセンター中のサーバを含むことができる。このようにして統合サーバをもつデータ処理システム102は、局所高性能ネットワーク上にサーバと高性能ストレージシステムとを配置することによって、システム管理性(manageability)と、データセキュリティと、システムの物理的セキュリティと、システム性能とを改善することができる。いくつかの実装形態では、サーバとストレージシステムとを含む、データ処理システム102のコンポーネントの全部または一部を集中化することと、それらを高度システム管理ツールと結合することとが、サーバリソースのより効率的な使用を可能にすることができ、これは、電力要件および処理要件を節約することができ、帯域幅使用を低減することができる。データ処理システム102のコンポーネントの各々は、少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、あるいは、データリポジトリ118および他のコンピューティングデバイスと通信するように構成されたプログラマブル論理アレイなどの他の論理デバイス、ならびにスクリプト、プログラム、またはアプリケーションを含むことができる。
【００２２】
データ処理システム102は、データリポジトリ118を含むことができる。データリポジトリ118は、1つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ118は、コンピュータデータストレージまたはメモリを含むことができ、データの中でも、1つまたは複数のパラメータ120と、1つまたは複数のポリシー122と、応答データ124と、テンプレート126とを記憶することができる。パラメータ120と、ポリシー122と、テンプレート126とは、クライアントデバイス128とデータ処理システム102と車両140との間の音声ベースのセッションに関するルールなどの情報を含むことができる。パラメータ120と、ポリシー122と、テンプレート126とは、トリガイベントまたは推奨されたアクションを識別するためにセンサー130からの診断データを処理するか、分析するか、またはそれに優先度を付けるためのルールなどの情報をも含むことができる。応答データ124は、識別されたトリガイベントまたは推奨されたアクションに関係するオーディオ出力または関連するメタデータのためのコンテンツアイテム、ならびに、クライアントデバイス128との1つまたは複数の通信セッションの一部であり得る入力オーディオメッセージを含むことができる。
【００２３】
データ処理システム102に関連するアプリケーション、スクリプト、プログラム、または他のコンポーネントが、クライアントデバイス128または車両140において設置され得る。いくつかの実装形態では、アプリケーションは、デジタルアシスタントアプリケーション144であり得るか、またはデジタルアシスタントアプリケーション144を含むことができる。アプリケーションは、クライアントデバイス128または車両140が、入力オーディオ信号(および他のデータ)をデータ処理システム102のインターフェース104に通信することを可能にすることができる。アプリケーションは、クライアントデバイス128および車両140が、出力オーディオ信号をレンダリングするためにクライアントデバイス128と車両140とのコンポーネントを駆動することを可能にすることができる。
【００２４】
データ処理システム102のダイレクトアクションAPI112は、イベントデータメッセージを生成することができる。イベントデータメッセージは、車両140のトリガイベントに対応するデータ、命令、または他の情報を含むことができる。ダイレクトアクションAPI112は、たとえば、センサー130から受信された、車両診断データの分析に基づいてイベントデータメッセージを生成することができる。ダイレクトアクションAPI112は、データプロバイダ138またはクライアントデバイス128など、システム100の他のコンポーネントから受信された情報に基づいてイベントデータメッセージを生成することができる。イベントデータメッセージは、JSONフォーマットされたデータメッセージ、XMLフォーマットされたデータメッセージ、および、たとえば、モバイルコンピューティングデバイスのためのオーディオデータメッセージ、電子メールデータメッセージ、テキストメッセージ、またはプッシュ通知であり得る。
【００２５】
イベント決定コンポーネント116は、トリガイベントを決定するためにセンサー情報および他の情報を処理することができる。トリガイベントは、車両140のコンポーネントの故障に対応することができ、イベント決定コンポーネント116は、センサー130から受信されたデータに基づいて、その故障が起きたと決定することができる。たとえば、センサー130は、車両140のフードの下の温度センサーに対応することができ、イベント決定コンポーネント116は、センサー130からの温度読出しが、エンジン温度があまりに高いことを示すと決定することができる。この分析に基づいて、イベント決定コンポーネント116は、エンジン温度に対応するトリガイベントを識別することができる。ダイレクトアクションAPI112は、影響を受ける車両の部品(すなわち、エンジン)、トリガイベントの理由(すなわち、許容範囲外の温度)、およびトリガイベントに関連し得る他のパラメータ(すなわち、イベント決定コンポーネント116がトリガイベントを決定することを引き起こした、センサー130によって測定された特定の温度)など、トリガイベントに関係する情報を含むイベントデータメッセージを生成することができる。
【００２６】
イベント決定コンポーネント116は、車両140のコンポーネントの故障に必ずしも対応するとは限らないが、依然としてユーザの注意に値し得るトリガイベントを生成することができる。たとえば、センサー130は、車両140の少なくとも1つの窓の位置を決定するためのセンサーを含むことができる。イベント決定コンポーネント116は、センサー130からの出力が、少なくとも1つの窓が開いていることを示すと決定することができる。イベント決定コンポーネント116はまた、車両140の近くのロケーションについて、データプロバイダ138から気象情報を受信することができる。この例では、イベント決定コンポーネント116は、雨が降っているかまたは雨が降る可能性があり、車両140の窓が開いているという決定に基づいて、トリガイベントを決定することができる。ダイレクトアクションAPI112は、次いで、窓が開いており、車両140の近くのロケーションにおいて雨が降っているかまたは雨が降る可能性があることを示す情報を含むイベントデータメッセージを生成することができる。
【００２７】
ダイレクトアクションAPI112はまた、少なくとも1つの出力インターフェースに適合する様式で、イベントデータメッセージを少なくとも1つの出力インターフェースに送信することができる。たとえば、ダイレクトアクションAPI112は、スピーカー132が、ユーザにトリガイベントを知らせるオーディオを再生することを引き起こすために、オーディオファイルとしてイベントデータメッセージを車両140内のスピーカー132に送信することができる。通知コンポーネント114は、イベントデータメッセージがそれを通して送信されるインターフェースを決定することができる。たとえば、車両140が運転者によって使用されている場合、通知コンポーネント114は、運転者が直ちにトリガイベントを通知され得るように車両140内のインターフェース(たとえば、車両140のスピーカー132)が選択されるべきであると決定することができる。一方、車両140が駐車されている場合、通知コンポーネント114は、ユーザが車両から離れている間にユーザがトリガイベントを正常に通知される可能性が高くなるように、クライアントデバイス128のスピーカー132など、異なるインターフェースが選択されるべきであると決定することができる。通知コンポーネント114は、単一のトリガイベントのために使用されるべき複数のインターフェースを決定することができる。ダイレクトアクションAPI112は、次いで、選択されたインターフェースの各々に対応するイベントデータメッセージを生成することができ、イベントデータメッセージをそれらのそれぞれの選択されたインターフェースに送信することができる。
【００２８】
イベント決定コンポーネント116はまた、トリガイベントのための推奨されたアクションを決定することができる。推奨されたアクションは、トリガイベントに対処するのに好適であり得る任意のアクションであり得る。トリガイベントが、データプロバイダ138からの情報が雨が降っている可能性があることを示すときに車両140の窓が開いていることに対応する、上記で説明された例を続けると、イベント決定コンポーネント116は、推奨されたアクションが、雨によって引き起こされ得る車両の内部への損傷を防ぐために、開いている窓を閉じることであると決定することができる。この例では、ダイレクトアクションAPI112は、推奨されたアクションに対応するアクションデータメッセージを生成することができる。アクションデータメッセージは、アクションの識別およびアクションが実施されるべきである時間など、推奨されたアクションに関係する任意の情報を含むことができる。イベントデータメッセージのように、アクションデータメッセージも、JSONフォーマットされたメッセージまたはXMLフォーマットされたメッセージ、および、たとえば、モバイルコンピューティングデバイスのためのオーディオメッセージ、ビデオメッセージ、電子メールメッセージ、テキストメッセージ、またはプッシュ通知など、様々なやり方でフォーマットされ得る。イベント決定コンポーネント116は、ユーザが推奨されたアクションをそれを通して通知されるべきである適切なインターフェースを決定することができ、ダイレクトアクションAPI112は、選択されたインターフェースに適合する様式でアクションデータメッセージを生成することができ、ダイレクトアクションAPI112は、アクションデータメッセージを選択されたインターフェースに送信することができる。
【００２９】
上記で説明されたように、イベントデータメッセージまたはアクションデータメッセージは、それぞれのトリガイベントまたは推奨されたアクションに関係する属性を含むデータメッセージであり得る。属性は、たとえば、車両140のロケーション、クライアントデバイス128のロケーション、クライアントデバイス128に関連するユーザの許可レベル、車両識別子、インターフェース識別子、車両状態、または要求状態を含むことができる。ダイレクトアクションAPI112は、イベントデータメッセージまたはアクションデータメッセージ中にどのフィールドまたは属性を含めるべきかを決定するために、リポジトリ118からテンプレート126を取り出すことができる。ダイレクトアクションAPI112は、必要なパラメータを決定することができ、その情報をアクションデータメッセージにパッケージングすることができる。ダイレクトアクションAPI112は、データメッセージの属性のための情報を取得するためにリポジトリ118からコンテンツを取り出すことができる。
【００３０】
NLPコンポーネント106は、入力オーディオ信号を受信することができる。データ処理システム102は、たとえば、クライアントデバイス128または車両140から、入力オーディオ信号を受信することができる。第1のデバイスはNLPコンポーネント106を実行することができ、NLPコンポーネント106は、第2のデバイスから入力オーディオ信号を受信することができる。たとえば、車両140はNLPコンポーネント106を実行することができ、入力オーディオ信号はクライアントデバイス128から受信され得る。
【００３１】
NLPコンポーネント106は、入力オーディオ信号をオーディオ波形の記憶された代表的セットと比較し、最も近い一致を選定することによって、入力オーディオ信号を、認識されるテキストに変換することができる。代表的波形は、入力オーディオ信号の大きいセットにわたって生成され得る。入力オーディオ信号が、認識されるテキストに変換された後に、NLPコンポーネント106は、そのテキストを、たとえば、学習段階を介してアクションまたは出力オーディオ信号に関連付けられたワードに一致させることができる。
【００３２】
入力オーディオ信号から、NLPコンポーネント106は、少なくとも1つの要求またはコマンド、あるいはその要求またはコマンドに対応する少なくとも1つのトリガまたはホットキーワードを識別することができる。要求またはコマンドは、入力オーディオ信号の意図または内容を示すことができる。トリガキーワードは、とられる可能性があるアクションのタイプを示すことができる。たとえば、NLPコンポーネント106は、ドアをロックする推奨されたアクションに応答して車両140のドアをロックするための要求を識別するために、入力オーディオ信号をパースすることができる。トリガキーワードは、とられるべきアクションを示す少なくとも1つのワード、フレーズ、ルートまたは部分ワード、あるいは派生語を含むことができる。たとえば、トリガキーワードは、「ゴー(go)」、「オーケー(ok)」、「ヘイ(hey)」、「はい(yes)」、または「いいえ(no)」であり得る。
【００３３】
NLPコンポーネント106は、ユーザが、選択されたインターフェースにアクションデータメッセージが送信された後に応答することを可能にすることができる。たとえば、アクションデータメッセージは、示されたアクション、ならびにそのアクションを実施するための許可についての要求を含むことができる。ユーザは、たとえば「はい」または「いいえ」などのトリガキーワードのうちの1つを使用することによって、NLPコンポーネント106によって処理されることになる自然言語での示されたアクションを実施するための許可を与えることができる。トリガイベントが、車両140の近傍において雨の可能性がある時間中の車両140の開いた窓に対応し、推奨されたアクションが窓を閉じることである上記の例を再び続けると、アクションデータメッセージは、推奨されたアクションを実施するための許可についての要求を含み得る。ユーザは、「はい」と言うことによって、推奨されたアクションが実施されることを許可することができ、「いいえ」と言うことによって、推奨されたアクションのための許可を拒否することができる。
【００３４】
たとえば、ユーザが推奨されたアクションを許可したとき、遂行コンポーネント110は、アクションの完了を可能にすることができる。たとえば、遂行コンポーネント110は、ユーザから許可を受信すると、様々なアクションをとるために車の様々な特徴およびコンポーネントと通信することができる。上記の例を再び続けると、遂行コンポーネント110は、車両140の1つまたは複数の開いた窓を閉じるためのユーザからの許可を受信すると、その開いた窓が閉じることを引き起こすことができる。遂行コンポーネント110は、車両のコンポーネントに関連しないアクションを実施することができる。たとえば、エンジン故障など、訓練された専門家によるメンテナンスを必要とするより深刻な故障状態に対応するトリガイベントの場合、推奨されたアクションは、車両140を整備士に持って行くことであり得る。ユーザがアクションを許可した場合、遂行コンポーネント110は、現地の整備士とのアポイントメントを自動的にスケジュールすることができる。遂行コンポーネント110は、アポイントメントをスケジュールするために1つまたは複数のクライアントデバイス128によって与えられた情報を使用することができる。たとえば、第1のクライアントデバイス128は車両140の所有者に属することができ、第2のクライアントデバイス128は整備士に属することができる。これらのクライアントデバイス128の一方または両方からのカレンダー情報に基づいて、遂行コンポーネント110は、アポイントメントをスケジュールするための好都合な時間を選択することができる。
【００３５】
図2は、車両140の内部キャビンを含む、図1のシステム100中に含まれる車両140の平面図を示す。車両140の内部キャビンは、複数の座席200を含むことができる。座席200の各々は、1つまたは複数のセンサー130を含むことができる。いくつかの実装形態では、座席200中のセンサー130は、重量または占有センサーであり得る。車両140の内部キャビンは、複数のスピーカー132を含むことができる。車両140はデジタルアシスタントアプリケーション144をも含み、デジタルアシスタントアプリケーション144は、図1に関して上記で説明されたように、データ処理システム102または車両140に関して説明されるコンポーネントのうちの1つまたは複数を実行することができる。たとえば、デジタルアシスタントアプリケーション144は、車両140内のデータ処理システム102のコンポーネントのすべてを含むことができる。
【００３６】
デジタルアシスタントアプリケーション144は、車両140内のクライアントデバイス128の相対位置(あるいは存在または不在)を決定することができる。クライアントデバイス128の位置または存在は、イベントデータメッセージまたはアクションデータメッセージを生成することと、これらのデータメッセージがそれを通して送信されるインターフェースを選択することとについて関連があり得る、車両140の状態の1つまたは複数の属性に組み込まれ得る。たとえば、トリガイベントは、デジタルアシスタントアプリケーション144が、クライアントデバイス128が車両140中にないと決定した時間中に起こり得る。車両のスピーカー132を通して送信されたデータメッセージは、ユーザが車両から離れているときにトリガイベントをユーザに正常に通知しないので、通知コンポーネント114は、そのトリガイベントについてのイベントデータメッセージを通信するための異なるインターフェースを選択し得る。クライアントデバイス128の位置またはロケーションは、相対位置であり、異なるレベルの解像度を含むことができる。デジタルアシスタントアプリケーション144は、ユーザが特定の時間に車両140内にいるかどうかを決定する占有センサー130を使用して、同様の情報を決定することができる。
【００３７】
車両140は、エンジン室中に配置されたセンサー130をも含む。図2に示されているセンサー130の数および配置は例示的なものにすぎず、限定するものではない。実際には、車両140は、車両140全体にわたって配置され、トリガイベントの決定に関連があり得る任意のタイプの診断データを測定する、任意の数のセンサー130を含み得る。
【００３８】
デジタルアシスタントアプリケーション144は、車両状態またはトリガイベントを決定するために2つまたはそれ以上のセンサーからの組み合わせられた出力を分析することができる。複数のセンサーの出力を組み合わせることは、トリガイベントのより正確なまたはより詳細な決定を可能にすることができる。たとえば、第1のセンサー130はGPS受信機であり得、第2のセンサー130は速度計であり得る。デジタルアシスタントアプリケーション144は、車両140の状態を正確に決定するために両方のセンサーの出力を分析することができる。たとえば、GPSデータは車両が移動していることを示し得、速度計データは車両が停止していることを示す。デジタルアシスタントアプリケーション144は、明らかな不整合を解決するために両方のデータタイプを分析するように構成され得る。たとえば、デジタルアシスタントアプリケーション144は、車両140がフラットベッドトラック上で牽引されていると、このデータから決定し得る。
【００３９】
いくつかの実装形態では、デジタルアシスタントアプリケーション144は、まだ起こっていないが将来起こる可能性があるトリガイベントに関する予測を行うために、センサー130から受信されたデータを使用することができる。たとえば、デジタルアシスタントアプリケーション144は、車両が一般に、どのくらい速く加速および減速するかを決定するために、速度計データを処理することができる。減速レートはタイヤおよびブレーキパッドの機能的寿命に影響を及ぼし得るので、デジタルアシスタントアプリケーション144は、そのようなコンポーネントがいつ故障する可能性があるかを、そのような故障が起こる前でも、決定することができる。デジタルアシスタントアプリケーション144は、切迫した故障が起こる前にその故障に対応するトリガイベントを生成することができる。そのようなイベントに関連する推奨されたアクションは予防メンテナンス(preventive maintenance)アクションであり、それにより、いくつかのタイプの故障が起こる前にそれらを防ぐための機会をユーザに与え得る。
【００４０】
図3は、図1のシステム100を使用する例示的なオーディオベースの車両診断方法300を示す。方法300は、図1に示されているコンポーネントのうちのいくつかを参照しながら以下で説明される。方法300は、診断データを受信するステップ(ブロック302)を含むことができる。方法300は、トリガイベントを識別するステップ(ブロック304)を含むことができる。方法300は、第1のオーディオ出力インターフェースを選択するステップ(ブロック306)を含むことができる。方法300は、イベントデータメッセージを生成するステップ(ブロック308)を含むことができる。方法300は、イベントデータメッセージを第1のオーディオ出力インターフェースに送信するステップ(ブロック310)を含むことができる。
【００４１】
方法300は、診断データを受信するステップ(ブロック302)を含むことができる。いくつかの実装形態では、診断データは、図1に示されているイベント決定コンポーネント116によって受信され得る。診断データは、インターフェース104など、図1に示されているデータ処理システム102のインターフェースを介して受信され得る。診断データは、車両140中に設置され得るか、または車両140からリモートにあるコンピューティングデバイス内に含まれ得る、任意の数のセンサー130によって検知または決定されたデータであり得る。たとえば、診断データは、クライアントデバイス128が車両140内に存在しないときでも、車両140の運転者によって所有またはアクセスされ得る、クライアントデバイス128のセンサー130から受信され得る。イベント決定コンポーネント116はまた、データプロバイダ138など、外部ソースから診断データを受信することができる。診断データは、車両140の現在状態または車両140に関連するアクション可能イベントを決定するのに有用なまたは好適なデータを含むことができる。したがって、診断データは、車両140の機能コンポーネント(たとえば、エンジンコンポーネント、ホイール、タイヤ、エレクトロニクス、計器など)に関係するデータ、ならびに車両140中のおよびその周りの環境条件に関係するデータを含むことができる。
【００４２】
方法300は、トリガイベントを識別するステップ(ブロック304)を含むことができる。トリガイベントは、車両140の所有者または操作者がそれを知らされるか、またはそれに沿って行動することを望み得るイベントを含むことができる。トリガイベントは、診断データの分析に基づいてイベント決定コンポーネント116によって識別され得る。トリガイベントは、車両140のコンポーネントの故障に対応することができる。たとえば、センサー130は、車両140のタイヤの空気圧力センサーに対応することができ、イベント決定コンポーネント116は、センサー130からの圧力読出しが、タイヤの空気が抜けているかまたは空気が十分に入っていないことを示すと決定することができる。この分析に基づいて、イベント決定コンポーネント116は、低いタイヤ空気圧に対応するトリガイベントを識別することができる。
【００４３】
イベント決定コンポーネント116は、車両140のコンポーネントの故障に対応しないことがあるトリガイベントを生成することができる。たとえば、センサー130は、車両140のドアがロックされているかどうかを決定するためのセンサーを含むことができる。イベント決定コンポーネント116は、センサー130からの出力が、少なくとも1つのドアがロックされていないことを示すと決定することができる。また、イベント決定コンポーネント116が(たとえば、占有または重量センサー130からのデータに基づいて)車両が占有されていないと決定した場合、イベント決定コンポーネント116は、ドアのロックされていないステータスに基づいてトリガイベントを決定することができる。
【００４４】
イベント決定コンポーネント116はまた、トリガイベントに関連する優先度レベルを決定することができる。たとえば、イベント決定コンポーネント116は、(エンジンまたは変速機の故障などの)車両140の重大な故障に関係するトリガイベントが比較的高い優先度レベルを有し得ると決定することができる。イベント決定コンポーネント116はまた、予防メンテナンスに対応するトリガイベントが比較的低い優先度レベルを有し得ると決定することができる。
【００４５】
方法300は、第1のオーディオ出力インターフェースを選択するステップ(ブロック306)を含むことができる。第1のオーディオ出力インターフェースは、通知コンポーネント114によって選択され得る。通知コンポーネント114は、スピーカー132など、車両140に組み込まれたオーディオ出力インターフェースを選択することができる。たとえば、占有センサーデータが、ユーザが車両内にいることを示す場合、通知コンポーネント114は、スピーカー132が、それを通してユーザに情報を通信するための適切なインターフェースであると決定することができる。オーディオ出力インターフェースを選択することは、オーディオ出力インターフェースから情報を受信するために運転者が道路から自身の目をそらす必要がないように、車両が使用されているときの動作を可能にすることができる。ユーザが車両内にいない事例では、通知コンポーネント114は、異なるオーディオ出力インターフェースを選択することができる。たとえば、通知コンポーネント114は、ユーザが車両140内にいない場合、クライアントデバイス128のスピーカー132を第1のオーディオ出力インターフェースとして選択することができる。
【００４６】
通知コンポーネント114はまた、イベントデータメッセージのための通知時間を決定することができる。概して、通知時間は、ユーザがトリガイベントについて通知されるべきである時間であり得る。たとえば、緊急ではないトリガイベントの場合、通知コンポーネント114は、通知時間を、ユーザのカレンダーがユーザが忙しくないことを示す時間として選択し得る。したがって、通知時間は、緊急ではないトリガイベントに関係する情報でユーザのじゃまをしないように、現在時間から遅延され得る。しかしながら、トリガイベントが緊急であるか、または場合によっては高優先度であるものとして示されている場合、通知コンポーネント114は、通知時間についてより早い時間を選択し得る。
【００４７】
方法300は、イベントデータメッセージを生成するステップ(ブロック308)を含むことができる。ダイレクトアクションAPI112は、イベントデータメッセージを生成することができる。イベントデータメッセージは、識別されたトリガイベントに対応することができる。イベントデータメッセージは、第1のオーディオ出力インターフェースに適合するオーディオ出力としてフォーマットされ得る。たとえば、いくつかの実装形態では、イベントデータメッセージは、.wavまたは.mp3ファイルなどのオーディオファイルであり得る。概して、イベントデータメッセージは、トリガイベントの指示、トリガイベントが起こった時間、車両140の識別、およびその値が許容範囲外であるセンサー130からの読出しなど、トリガイベントに関連するパラメータなど、トリガイベントに関係する情報を含むことができる。
【００４８】
方法300は、イベントデータメッセージを第1のオーディオ出力インターフェースに送信するステップ(ブロック310)を含むことができる。ダイレクトアクションAPI112は、データ処理システム102から第1のオーディオ出力インターフェースにイベントデータメッセージを送信することができる。ダイレクトアクションAPI112は、通知コンポーネント114によって選択された通知時間までイベントデータメッセージの送信を遅延させることができる。第1のオーディオ出力インターフェースへのイベントデータメッセージの送信は、第1のオーディオ出力インターフェースが、イベントデータメッセージに関連する情報をオーディオ出力として出力することを引き起こすことができる。通知コンポーネント114はまた、トリガイベントに関する情報がそれを通して通信されるべきである追加のインターフェース(そのうちのいくつかは非オーディオインターフェースであり得る)を選択することができる。ダイレクトアクションAPI112は、各選択されたインターフェースについてのそれぞれのイベントデータメッセージを生成することができ、イベントデータメッセージをそれらのそれぞれのインターフェースに送信することができる。したがって、ユーザは、ユーザがトリガイベントに関する情報を正常に受信する確率を増加させるために、2つ以上のインターフェースを介してトリガイベントについて知らされ得る。
【００４９】
図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の一部であり得る。
【００５０】
コンピューティングシステム400は、ユーザに情報を表示するための、液晶ディスプレイまたはアクティブマトリックスディスプレイなど、ディスプレイ435に、バス405を介して結合され得る。英数字および他のキーを含むキーボードなど、入力デバイス430が、情報およびコマンド選択をプロセッサ410に通信するためにバス405に結合され得る。入力デバイス430は、タッチスクリーンディスプレイ435を含むことができる。入力デバイス430は、方向情報およびコマンド選択をプロセッサ410に通信するための、およびディスプレイ435上でのカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなど、カーソル制御をも含むことができる。ディスプレイ435は、たとえば、データ処理システム102、クライアントコンピューティングデバイス128、または図1の他のコンポーネントの一部であり得る。
【００５１】
本明細書で説明されるプロセス、システムおよび方法は、プロセッサ410がメインメモリ415中に含まれている命令の構成を実行したことに応答して、コンピューティングシステム400によって実装され得る。そのような命令は、記憶デバイス425など、別のコンピュータ可読媒体からメインメモリ415中に読み取られ得る。メインメモリ415中に含まれている命令の構成の実行は、コンピューティングシステム400が、本明細書で説明される例示的なプロセスを実施することを引き起こす。メインメモリ415中に含まれている命令を実行するために、多重処理構成における1つまたは複数のプロセッサも採用され得る。ハードワイヤード回路が、本明細書で説明されるシステムおよび方法とともに、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用され得る。本明細書で説明されるシステムおよび方法は、ハードウェア回路とソフトウェアとの特定の組合せに限定されない。
【００５２】
図4において例示的なコンピューティングシステムが説明されたが、本明細書で説明される動作を含む主題は、他のタイプのデジタル電子回路において、あるいは、本明細書で開示される構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。
【００５３】
本明細書で説明されるシステムがユーザに関する個人情報を収集するか、または個人情報を利用し得る状況では、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、社会活動、またはアクティビティ、ユーザの選好、あるいはユーザのロケーションに関する情報)を収集し得るプログラムまたは特徴かどうかを制御するための、あるいは、ユーザにより関連があり得るコンテンツサーバまたは他のデータ処理システムからコンテンツを受信すべきかどうか、またはそれをどのように受信すべきかを制御するための機会を与えられ得る。さらに、あるデータは、パラメータを生成するときに個人識別可能情報が削除されるように、そのデータが、記憶または使用される前に1つまたは複数のやり方で匿名化され得る。たとえば、個人識別可能情報がユーザについて決定され得ないように、ユーザの識別情報が匿名化され得るか、または、ユーザの特定のロケーションが決定され得ないように、ロケーション情報が取得されるユーザの地理的ロケーションが(都市レベル、郵便番号レベル、または州レベルなどに)一般化され得る。したがって、ユーザは、どのように情報がユーザに関して収集され、コンテンツサーバによって使用されるかを制御し得る。
【００５４】
本明細書で説明される主題および動作は、デジタル電子回路において、あるいは、本明細書で開示される構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書で説明される主題は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体上で符号化された1つまたは複数のコンピュータプログラム、たとえば、コンピュータプログラム命令の1つまたは複数の回路として実装され得る。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、マシン生成の電気、光、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらのうちの1つまたは複数の組合せであるか、またはその中に含まれ得る。コンピュータ記憶媒体は、伝搬信号ではなく、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個のコンポーネントまたは媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であるか、またはその中に含まれ得る。本明細書で説明される動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたか、または他のソースから受信されたデータに対して、データ処理装置によって実施される動作として実装され得る。
【００５５】
「データ処理システム」、「コンピューティングデバイス」、「コンポーネント」、または「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記のうちの複数のもの、あるいは上記の組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せを構成するコードをも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。システム100のコンポーネントは、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有することができる。
【００５６】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含む、任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応することができる。コンピュータプログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に記憶されるか、当該のプログラムに専用の単一のファイルに記憶されるか、あるいは複数の協調ファイル(coordinated file)(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるか、あるいは、1つのサイトに配置されるかまたは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【００５７】
本明細書で説明されるプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実施するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサ(たとえば、データ処理システム102のコンポーネント)によって実施され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実施され得、装置が、同じく専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装され得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足されるか、または専用論理回路に組み込まれ得る。
【００５８】
本明細書で説明される主題は、たとえば、データサーバとして、バックエンドコンポーネントを含むか、あるいはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、あるいはフロントエンドコンポーネント、たとえば、ユーザが本明細書で説明される主題の実装形態とそれを通して対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいは1つまたは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、またはフロントエンドコンポーネントの組合せを含む、コンピューティングシステムにおいて実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【００５９】
システム100またはシステム400など、コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、概して互いからリモートにあり、一般に通信ネットワーク(たとえば、ネットワーク142)を通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し、互いに対してクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実装形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)クライアントデバイスにデータ(たとえば、コンテンツアイテムを表すデータパケット)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され(たとえば、クライアントコンピューティングデバイス128または車両140からデータ処理システム102によって受信され)得る。
【００６０】
動作は図面において特定の順序で示されているが、そのような動作は、示されている特定の順序で、または連続した順序で実施されることを必要とされず、すべての図示された動作が実施されることを必要とされるとは限らない。本明細書で説明されるアクションは、異なる順序で実施され得る。
【００６１】
様々なシステムコンポーネントの分離は、すべての実装形態において分離を必要とするとは限らず、説明されるプログラムコンポーネントは単一のハードウェアまたはソフトウェア製品中に含まれ得る。たとえば、NLPコンポーネント106およびイベント決定コンポーネント116は、単一のコンポーネント、アプリ、またはプログラム、あるいは1つまたは複数の処理回路を有する論理デバイス、あるいはデータ処理システム102の1つまたは複数のサーバの一部であり得る。
【００６２】
ここでいくつかの例示的な実装形態について説明したが、上記のものが例示的であり、限定するものではなく、例として提示されたことは明らかである。特に、本明細書で提示される例の多くが、方法行為またはシステム要素の特定の組合せを伴うが、それらの行為およびそれらの要素は、同じ目的を達成するために他のやり方で組み合わせられ得る。一実装形態に関して説明される行為、要素、および特徴は、他の実装形態または実装形態における同様の役割から除外されるものではない。
【００６３】
本明細書で使用される語法および用語は、説明の目的のためのものであり、限定するものと見なされるべきではない。本明細書における「含む(including)」、「含む、備える(comprising)」、「有する(having)」、「含んでいる(containing)」、「伴う(involving)」、「によって特徴づけられる(characterized by)」、「ことを特徴とする(characterized in that)」、およびそれらの変形態の使用は、その後にリストされる項目、それらの等価物、および追加の項目、ならびにその後にリストされる項目のみからなる代替実装形態を包含することを意図される。一実装形態では、本明細書で説明されるシステムおよび方法は、説明される要素、行為、またはコンポーネントのうちの1つ、それらのうちの2つ以上の各組合せ、あるいはそれらのすべてからなる。
【００６４】
単数形で言及された本明細書におけるシステムおよび方法の実装形態または要素または行為への言及は、複数のこれらの要素を含む実装形態をも包含し得、本明細書における任意の実装形態または要素または行為への複数形での言及は、単一の要素のみを含む実装形態をも包含し得る。単数形または複数形での言及は、本開示のシステムまたは方法、それらのコンポーネント、行為、または要素を、単一の構成または複数の構成に限定するものではない。任意の情報、行為または要素に基づく任意の行為または要素への言及は、その行為または要素が任意の情報、行為、または要素に少なくとも部分的に基づく実装形態を含み得る。
【００６５】
本明細書で開示される任意の実装形態は、任意の他の実装形態または実施形態と組み合わせられ得、「実装形態(an implementation)」、「いくつかの実装形態(some implementations)」、「一実装形態(one implementation)」などへの言及は、必ずしも相互排他的であるとは限らず、実装形態に関して説明される特定の特徴、構造、または特性が、少なくとも1つの実装形態または実施形態に含まれ得ることを示すものである。本明細書で使用されるそのような用語は、必ずしもすべて同じ実装形態に言及しているとは限らない。任意の実装形態は、本明細書で開示される態様および実装形態に従う任意の様式で、包括的にまたは排他的に、任意の他の実装形態と組み合わせられ得る。
【００６６】
「または(or)」への言及は、「または」を使用して説明される任意の用語が、説明される用語のうちの単一の用語、2つ以上の用語、およびすべての用語のいずれかを示し得るように、包含的なものとして解釈され得る。「’A’および’B’のうちの少なくとも1つ(at least one of ’A’ and ’B’)」への言及は、’A’のみ、’B’のみ、ならびに’A’と’B’の両方を含むことができる。「含む、備える(comprising)」または他のオープンな用語とともに使用されるそのような言及は、追加の項目を含むことができる。
【００６７】
図面、発明を実施するための形態、または任意の請求項における技術的特徴の後に参照符号が続く場合、それらの参照符号は、図面、発明を実施するための形態、および特許請求の範囲の了解度を増すために含まれている。したがって、参照符号もそれらの不在も、請求項要素の範囲を限定する効果を有しない。
【００６８】
本明細書で説明されるシステムおよび方法は、それらの特性から逸脱することなく、他の特定の形態で具現され得る。上記の実装形態は、説明されるシステムおよび方法を限定するものではなく、例示的なものである。本明細書で説明されるシステムおよび方法の範囲は、したがって、上記の説明ではなく、添付の特許請求の範囲によって示され、特許請求の範囲の等価の意味および範囲内に入る変更はその中に包含される。
【符号の説明】
【００６９】
100  システム
102  データ処理システム
104  インターフェース
106  自然言語プロセッサ(NLP)コンポーネント
108  インターフェース管理コンポーネント
110  遂行コンポーネント
112  ダイレクトアクションアプリケーションプログラミングインターフェース(API)
114  通知コンポーネント
116  イベント決定コンポーネント
118  データリポジトリ
120  パラメータ
122  ポリシー
124  応答データ
126  テンプレート
128  クライアントデバイス、クライアントコンピューティングデバイス
130  センサー
132  スピーカー
138  データプロバイダ
140  車両
142  ネットワーク
144  デジタルアシスタントアプリケーション
200  座席
400  コンピュータシステム、コンピューティングデバイス、コンピューティングシステム
405  バス
410  プロセッサ
415  メインメモリ
420  読取り専用メモリ(ROM)
425  記憶デバイス
430  入力デバイス
435  ディスプレイ、タッチスクリーンディスプレイ
【図１】
0006903770.tif 000002
【図２】
0006903770.tif 000003
【図３】
0006903770.tif 000004
【図４】
0006903770.tif 000005