(57)【要約】  コンテキストアウェアオーディオナビゲーション命令を提供するために、サーバデバイスは、ユーザに以前に提供されたオーディオナビゲーション命令のセットを、オーディオナビゲーション命令が提供されたコンテキストを記述するセンサデータと、ドライバーがオーディオナビゲーション命令に正しく応答したかどうかの表示と共に取得する。サーバデバイスは、このデータを使用して機械学習モデルをトレーニングし、機械学習モデルは、特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別する。ナビゲーション指示を求める要求に応答して、サーバデバイスは、要求を生成するクライアントコンピューティングデバイスから、クライアントコンピューティングデバイスの周囲の環境を示すセンサデータを受け取る。次いで、サーバデバイスは、要求に応答して、センサデータおよびナビゲーション命令を機械学習モデルに適用して、オーディオナビゲーション命令のセットを生成する。サーバデバイスは、クライアントコンピューティングデバイスにオーディオナビゲーション命令のセットを提供する。
2021530676.tif 000002
【特許請求の範囲】
【請求項１】
車両内でコンテキストアウェアオーディオナビゲーション命令を生成するための方法であって、
1つまたは複数のプロセッサによって、(i)前記車両内の複数のセンサ信号であって、オーディオナビゲーション命令が提供されるコンテキストを記述するセンサ信号と、(ii)ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかの表示とを使用して、機械学習モデルをトレーニングするステップと、
前記1つまたは複数のプロセッサによって、前記ドライバーに提供すべきナビゲーション命令を決定するステップと、
前記1つまたは複数のプロセッサによって、決定された前記ナビゲーション命令に基づいて、オーディオナビゲーション命令を生成するステップであって、
1つまたは複数のセンサ信号を受け取るステップ、および
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記機械学習モデルを適用して、(i)前記オーディオナビゲーション命令の詳細レベル、(ii)前記オーディオナビゲーション命令を提供するタイミング、または(iii)前記オーディオナビゲーション命令の音量のうちの少なくとも1つを生成するステップ
を含む、ステップと、
スピーカを介して前記ドライバーに提示するために前記オーディオナビゲーション命令を提供するステップと
を含む、方法。
【請求項２】
コンテキストを記述する前記車両内の前記センサ信号が、(i)前記車両の周囲の気象条件もしくは時刻を示す視界データ、(ii)前記車両における、もしくは前記車両の周りの雑音レベルを示すオーディオデータ、または(iii)前記車両の周囲の交通条件を示す交通量データのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項３】
前記機械学習モデルを適用して、前記オーディオナビゲーション命令を提供するタイミングを生成するステップが、前記機械学習モデルを適用して、前記オーディオナビゲーション命令の2つ以上のインスタンスを提供する頻度を生成するステップを含む、請求項1に記載の方法。
【請求項４】
前記オーディオナビゲーション命令を生成するステップが、
方向転換のための位置としてランドマークを含む高詳細レベルを有する前記オーディオナビゲーション命令を生成するステップ、または
前記方向転換のための前記位置として交差点を含む低詳細レベルを有する前記オーディオナビゲーション命令を生成するステップ
のうちの少なくとも1つを含む請求項1に記載の方法。
【請求項５】
前記ドライバーに前記オーディオナビゲーション命令を提供するステップに応答して、前記ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかを決定するステップと、
前記オーディオナビゲーション命令と、前記1つまたは複数のセンサ信号と、前記ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかの表示とを、トレーニングデータとして前記機械学習モデルに提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項６】
提供された前記トレーニングデータに基づいて、前記機械学習モデルを更新するステップ
をさらに含む、請求項5に記載の方法。
【請求項７】
機械学習モデルをトレーニングするステップが、前記オーディオナビゲーション命令の詳細レベルを決定するための第1の機械学習モデル、前記オーディオナビゲーション命令のタイミングを決定するための第2の機械学習モデル、または前記オーディオナビゲーション命令の音量を決定するための第3の機械学習モデルのうちの2つ以上を含む、オーディオナビゲーション命令を生成するための複数の機械学習モデルをトレーニングするステップを含む、請求項1に記載の方法。
【請求項８】
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記機械学習モデルを適用するステップが、
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記第1の機械学習モデルを適用して、前記オーディオナビゲーション命令の詳細レベルを生成するステップ、
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記第2の機械学習モデルを適用して、前記オーディオナビゲーション命令を提供するタイミングを生成するステップ、または
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記第3の機械学習モデルを適用して、前記オーディオナビゲーション命令を提供する音量を生成するステップ
のうちの少なくとも1つを含む、請求項7に記載の方法。
【請求項９】
車両内でコンテキストアウェアオーディオナビゲーション命令を生成するためのサーバデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合され、命令を記憶した非一時的コンピュータ可読メモリであって、前記命令が、前記1つまたは複数のプロセッサによって実行されるとき、前記サーバデバイスに、
(i)前記車両内の複数のセンサ信号であって、オーディオナビゲーション命令が提供されるコンテキストを記述するセンサ信号と、(ii)ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかの表示とを使用して、機械学習モデルをトレーニングすること、
前記ドライバーに提供すべきナビゲーション命令を決定すること、
決定された前記ナビゲーション命令に基づいて、オーディオナビゲーション命令を生成することであって、
1つまたは複数のセンサ信号を受け取ること、および
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記機械学習モデルを適用して、(i)前記オーディオナビゲーション命令の詳細レベル、(ii)前記オーディオナビゲーション命令を提供するタイミング、または(iii)前記オーディオナビゲーション命令の音量のうちの少なくとも1つを生成すること
を含む、生成すること、
スピーカを介して前記ドライバーに提示するための前記オーディオナビゲーション命令を提供すること
を行わせる、非一時的コンピュータ可読メモリと
を備える、サーバデバイス。
【請求項１０】
コンテキストを記述する前記車両内の前記センサ信号が、(i)前記車両の周囲の気象条件もしくは時刻を示す視界データ、(ii)前記車両における、もしくは前記車両の周りの雑音レベルを示すオーディオデータ、または(iii)前記車両の周囲の交通条件を示す交通量データのうちの少なくとも1つを含む、請求項9に記載のサーバデバイス。
【請求項１１】
前記オーディオナビゲーション命令を提供するタイミングが、前記オーディオナビゲーション命令の2つ以上のインスタンスを提供する頻度を含む、請求項9に記載のサーバデバイス。
【請求項１２】
生成された前記オーディオナビゲーション命令が、
方向転換のための位置としてランドマークを含む高詳細レベルを有するオーディオナビゲーション命令、または
前記方向転換のための前記位置として交差点を含む低詳細レベルを有するオーディオナビゲーション命令
のうちの少なくとも1つを含む、請求項9に記載のサーバデバイス。
【請求項１３】
前記命令がさらに、前記サーバデバイスに、
前記ドライバーに前記オーディオナビゲーション命令を提供することに応答して、前記ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかを決定させ、
前記オーディオナビゲーション命令と、前記1つまたは複数のセンサ信号と、前記ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかの表示とを、トレーニングデータとして前記機械学習モデルに提供させる、請求項9に記載のサーバデバイス。
【請求項１４】
前記命令がさらに、前記サーバデバイスに、
提供された前記トレーニングデータに基づいて、前記機械学習モデルを更新させる、請求項13に記載のサーバデバイス。
【請求項１５】
前記機械学習モデルが、前記オーディオナビゲーション命令の詳細レベルを決定するための第1の機械学習モデル、前記オーディオナビゲーション命令のタイミングを決定するための第2の機械学習モデル、または前記オーディオナビゲーション命令の音量を決定するための第3の機械学習モデルのうちの2つ以上を含む、オーディオナビゲーション命令を生成するための複数の機械学習モデルを含む、請求項9に記載のサーバデバイス。
【請求項１６】
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記機械学習モデルを適用するために、前記命令が、前記サーバデバイスに、
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記第1の機械学習モデルを適用して、前記オーディオナビゲーション命令の詳細レベルを生成すること、
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記第2の機械学習モデルを適用して、前記オーディオナビゲーション命令を提供するタイミングを生成すること、または
決定された前記ナビゲーション命令および受け取られた前記1つまたは複数のセンサ信号に前記第3の機械学習モデルを適用して、前記オーディオナビゲーション命令を提供する音量を生成すること
のうちの少なくとも1つを行わせる、請求項15に記載のサーバデバイス。
【請求項１７】
車両内でコンテキストアウェアオーディオナビゲーション命令を提示するためのクライアントデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合され、命令を記憶した非一時的コンピュータ可読メモリであって、前記命令が、前記1つまたは複数のプロセッサによって実行されるとき、前記クライアントデバイスに、
第1のインスタンスにおいて、
第1の開始位置から第1の目的地までのナビゲーション指示を求める要求を提供させ、
車両内のセンサ信号の第1のセットを提供させ、
特定のタイミングまたは音量で提示されるべき特定の詳細レベルを有する第1のオーディオナビゲーション命令を含む、オーディオナビゲーション命令の第1のセットを受け取らせ、
スピーカを介して、オーディオナビゲーション命令の前記第1のセットを提示させ、
第2のインスタンスにおいて、
第2の開始位置から第2の目的地までのナビゲーション指示を求める要求を提供させ、
車両内のセンサ信号の第2のセットを提供させ、
前記第1のインスタンスと同一の向き、位置、もしくは方向転換を有し、前記第1のインスタンスとは異なる詳細レベルを有し、または前記第1のインスタンスとは異なるタイミングもしくは音量で提示されるべきである前記第1のオーディオナビゲーション命令を含む、オーディオナビゲーション命令の第2のセットを受け取らせ、
前記スピーカを介して、オーディオナビゲーション命令の前記第2のセットを提示させる、非一時的コンピュータ可読メモリと
を備える、クライアントデバイス。
【請求項１８】
前記車両内の前記センサ信号が、(i)前記車両の周囲の気象条件もしくは時刻を示す視界データ、(ii)前記車両における、もしくは前記車両の周りの雑音レベルを示すオーディオデータ、または(iii)前記車両の周囲の交通条件を示す交通量データのうちの少なくとも1つを含む、請求項17に記載のクライアントデバイス。
【請求項１９】
オーディオナビゲーション命令の前記第1のセットおよび前記第2のセットが、(i)オーディオナビゲーション命令が提供されるコンテキストを記述する、前記車両内の複数のセンサ信号と、(ii)ドライバーが前記オーディオナビゲーション命令に正しく応答したかどうかの表示とを使用してトレーニングされた機械学習モデルを介して生成される、請求項17に記載のクライアントデバイス。
【請求項２０】
前記第1のインスタンスにおいて、前記第1のオーディオナビゲーション命令が、方向転換のための位置としてランドマークを含む高詳細レベルで提示され、
前記第2のインスタンスにおいて、前記第1のオーディオナビゲーション命令が、前記方向転換のための前記位置として交差点を含む低詳細レベルで提示される、請求項17に記載のクライアントデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンテキストアウェアオーディオナビゲーション命令に関し、より詳細には、機械学習技法を使用して、コンテキストに基づいてオーディオナビゲーション命令についての最適なパラメータを識別することに関する。
【背景技術】
【０００２】
本明細書において提供される背景説明は、本開示の文脈を全般的に提示するためのものである。この背景セクションにおいて説明される範囲の本発明者らの業績、ならびに他の場合には出願時に従来技術としての資格がないことがある説明の態様は、本開示に対する従来技術として明示的にも黙示的にも認められない。
【０００３】
今日、コンピュータ、スマートフォンなど、または組込みデバイス内で実行中のソフトウェアアプリケーションが、ステップバイステップのナビゲーション指示を生成する。通常、ユーザは、開始地点および目的地を指定し、ソフトウェアアプリケーションは、直ちに、および/またはユーザが開始地点から目的地まで移動するとき、オーディオフォーマットで指示を表示および/または提示する。
【０００４】
これらのソフトウェアアプリケーションは、一般に、距離、街路名、建物番号の表示を利用して、ルートに基づいてナビゲーション指示を生成する。たとえば、これらのシステムは、「4分の1マイル進み、次いでMaple Streetに右折せよ」のような命令をドライバーに提供し得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
コンテキストアウェアオーディオナビゲーション命令を生成するために、コンテキストアウェアオーディオナビゲーション生成システムは、機械学習技法を利用して、コンテキストを仮定してオーディオナビゲーション指示に伴うユーザの過去の経験に基づいて機械学習モデルを生成する。たとえば、あるインスタンスでは、ユーザは、ラジオを再生する音量が非常に大きかったとき、またはトラックが通り過ぎたとき、オーディオナビゲーション命令に従うことができなかったことがあり得る。別のインスタンスでは、ユーザは、次の方向転換のための街路標識が見にくかったとき、または夜間および/または気象条件のために視界が不十分であったとき、オーディオナビゲーション命令に従うことができなかったことがあり得る。
【０００６】
したがって、コンテキストアウェアオーディオナビゲーション生成システムは、ユーザに提供されたオーディオナビゲーション命令のセットを、オーディオナビゲーション命令が提供された車両内のセンサからのコンテキストデータと共に収集する。ユーザに提供された各オーディオナビゲーション命令について、コンテキストアウェアオーディオナビゲーション生成システムは、ユーザがオーディオナビゲーション命令に正しく従ったかどうかの表示を収集する。次いで、この情報が、機械学習モデルをトレーニングするためのトレーニングデータとして使用され、特定のコンテキストについての最適なオーディオナビゲーション命令パラメータが識別される。たとえば、車両内の雑音が低く、交通量が少なく、時刻または気象条件のために視界が不十分であるとき、機械学習モデルは、「500フィート先で左折し、Main Street上の停止信号灯を単に通過せよ」、および「100フィート先で左折し、Main Street上の停止信号灯を単に通過せよ」など、オーディオナビゲーション命令が低音量、高詳細レベルで2回提示されるべきであると決定し得る。
【０００７】
ユーザがナビゲーション指示を要求したとき、コンテキストアウェアオーディオナビゲーション生成システムは、進路変更ごとのナビゲーション命令のセットを生成し、コンテキストを示す、ユーザの車両からのセンサデータを取得する。各テキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーション生成システムは、センサデータおよびテキストベースのナビゲーション命令を機械学習モデルに適用し、オーディオナビゲーション命令を提示することについての詳細レベル、タイミング、および/または音量などのオーディオナビゲーション命令パラメータを生成する。次いで、コンテキストアウェアオーディオナビゲーション生成システムは、決定されたオーディオナビゲーション命令パラメータに従って、ユーザに各オーディオナビゲーション命令を提示する。
【０００８】
本開示の技法の例示的一実施形態は、車両内でコンテキストアウェアオーディオナビゲーション命令を生成するための方法である。本方法は、(i)車両内の複数のセンサ信号であって、オーディオナビゲーション命令が提供されるコンテキストを記述するセンサ信号と、(ii)ドライバーがオーディオナビゲーション命令に正しく応答したかどうかの表示とを使用して、機械学習モデルをトレーニングすることと、ドライバーに提供すべきナビゲーション命令を決定することとを含む。本方法は、1つまたは複数のセンサ信号を受け取ることを含む、決定されたナビゲーション命令に基づいてオーディオナビゲーション命令を生成することと、決定されたナビゲーション命令および受け取られた1つまたは複数のセンサ信号に機械学習モデルを適用して、(i)オーディオナビゲーション命令の詳細レベル、(ii)オーディオナビゲーション命令を提供するタイミング、または(iii)オーディオナビゲーション命令の音量のうちの少なくとも1つを生成することとをさらに含む。さらに、本方法は、スピーカを介してドライバーに提示するためのオーディオナビゲーション命令を提供することを含む。
【０００９】
別の例示的実施形態は、車両内でコンテキストアウェアオーディオナビゲーション命令を生成するためのサーバデバイスであり、サーバデバイスは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、命令を記憶した非一時的コンピュータ可読メモリとを含む。命令は、1つまたは複数のプロセッサによって実行されるとき、サーバデバイスに、(i)車両内の複数のセンサ信号であって、オーディオナビゲーション命令が提供されるコンテキストを記述するセンサ信号と、(ii)ドライバーがオーディオナビゲーション命令に正しく応答したかどうかの表示とを使用して、機械学習モデルをトレーニングさせる。命令はさらに、サーバデバイスに、ドライバーに提供すべきナビゲーション命令を決定すること、1つまたは複数のセンサ信号を受け取ることを含む、決定されたナビゲーション命令に基づいてオーディオナビゲーション命令を生成することと、決定されたナビゲーション命令および受け取られた1つまたは複数のセンサ信号に機械学習モデルを適用して、(i)オーディオナビゲーション命令の詳細レベル、(ii)オーディオナビゲーション命令を提供するタイミング、または(iii)オーディオナビゲーション命令の音量のうちの少なくとも1つを生成することとを行わせる。さらに、命令は、サーバデバイスに、スピーカを介してドライバーに提示するためのオーディオナビゲーション命令を提供させる。
【００１０】
さらに別の例示的実施形態は、車両内でコンテキストアウェアオーディオナビゲーション命令を提示するためのクライアントデバイスであり、クライアントデバイスは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、命令を記憶した非一時的コンピュータ可読メモリとを含む。命令は、1つまたは複数のプロセッサによって実行されるとき、クライアントデバイスに、第1のインスタンスにおいて、第1の開始位置から第1の目的地までのナビゲーション指示を求める要求を提供させ、車両内のセンサ信号の第1のセットを提供させ、特定のタイミングまたは音量で提示されるべき特定の詳細レベルを有する第1のオーディオナビゲーション命令を含む、オーディオナビゲーション命令の第1のセットを受け取らせ、スピーカを介して、オーディオナビゲーション命令の第1のセットを提示させる。第2のインスタンスにおいて、命令は、クライアントデバイスに、第2の開始位置から第2の目的地までのナビゲーション指示を求める要求を提供させ、車両内のセンサ信号の第2のセットを提供させ、第1のインスタンスと同一の向き、位置、もしくは方向転換を有し、第1のインスタンスとは異なる詳細レベルを有し、または第1のインスタンスとは異なるタイミングもしくは音量で提示されるべきである第1のオーディオナビゲーション命令を含む、オーディオナビゲーション命令の第2のセットを受け取らせ、スピーカを介して、オーディオナビゲーション命令の第2のセットを提示させる。
【図面の簡単な説明】
【００１１】
【図１】コンテキストアウェアオーディオナビゲーション命令を生成するために本開示の技法が使用され得る例示的車両を示す図である。
【図２】機械学習技法を使用してコンテキストアウェアオーディオナビゲーション命令を生成するための技法が実装され得る例示的システムのブロック図である。
【図３】特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための機械学習モデルを生成するために、図2のコンテキストアウェアオーディオナビゲーション生成システムが利用し得る例示的ナビゲーション命令データテーブルである。
【図４】機械学習モデルを用いたコンテキストアウェアオーディオナビゲーション命令の生成を示す、組み合わされたブロック図および論理図である。
【図５】コンテキストアウェアオーディオナビゲーション生成システム内で動作し、またはコンテキストアウェアオーディオナビゲーション生成システムと協働するコンピューティングデバイス内で実装され得る、車両内でコンテキストアウェアオーディオナビゲーション命令を生成するための例示的方法の流れ図である。
【図６】コンテキストアウェアオーディオナビゲーション生成システム内で動作し、またはコンテキストアウェアオーディオナビゲーション生成システムと協働するコンピューティングデバイス内で実装され得る、車両内でコンテキストアウェアオーディオナビゲーション命令を提示するための例示的方法の流れ図である。
【発明を実施するための形態】
【００１２】
概要
車両内ナビゲーションシステムによって提供されるオーディオ命令は一般に、有益でなくてはならず、従うべきルートについての十分な命令を提供しなければならないが、聞く人、特にドライバーの注意を不必要にそらさずに行わなければならない。環境が変化するにつれて、そのようなオーディオ命令についての最適なパラメータも変化し得る。環境は比較的短い時間フレームの間に変化し得、したがってパラメータが変化し得る速度も著しいものであり得る。さらに、ユーザ、特にドライバーの実施し得る手動入力操作の範囲が限られていることがあり、したがってオーディオパラメータの手動調節は望ましくないことがある。したがって、改良型のシステム-ユーザオーディオインターフェースが有益であり得る。
【００１３】
いくつかの実施形態では、センサが、オーディオナビゲーション命令が供給されているコンテキストの表示を提供するために活用され得る。一例として、交通雑音、会話、音楽再生などの背景雑音の形のコンテキストを提供するために、雑音を検出するためのオーディオセンサが使用され得る。別の例として、ドライバーが運転に払わなければならなくなっている注意を示し得、ドライバーがオーディオナビゲーション命令に払い得る注意に影響を及ぼし得る、車両の周りの交通量および気象に関するコンテキストを提供するために、交通量データが取得され得、かつ/または気象条件および時刻が決定され得る。いくつかの実施形態では、センサから導出されたコンテキストに応じて、スピーカまたは他のオーディオシステムによって出力されるオーディオ命令を適合させるようにオーディオナビゲーション命令のパラメータを決定するために、機械学習モデルが適用され得る。この結果、スピーカまたは他のオーディオシステムによって出力されるオーディオナビゲーション命令が、ユーザに過度の負担を負わせることなく、かつ/または過度な遅れなしに、オンザフライで現在のコンテキストに動的かつ自動的に適合される。
【００１４】
実施形態では、ドライバーがオーディオナビゲーション命令に正しく応答したかどうかの表示が(たとえば、ナビゲーション指示による、予想される場所に対する車両の場所に基づいて)決定され得、その表示が、機械学習モデルをトレーニングするために、関連するセンサ信号と共に使用され得る。これによって、モデルを動的に更新することが可能となり得、それによって、オーディオナビゲーション命令のパラメータの自動適合が、特に特定のナビゲーションシステムがさらされるコンテキストに関連して改善され得る。
【００１５】
例示的ハードウェアおよびソフトウェア構成要素
図1を参照すると、上記で略述した技法が実装され得る例示的環境1が、ポータブルデバイス10と、ヘッドユニット14を備える車両12とを含む。ポータブルデバイス10は、たとえばスマートフォン、タブレットコンピュータ、または車両内ナビゲーションシステムであり得る。ポータブルデバイス10は、通信リンク16を介して車両12のヘッドユニット14と通信し、通信リンク16はワイヤード(たとえば、ユニバーサルシリアルバス(USB))またはワイヤレス(たとえば、Bluetooth、Wi-Fi Direct)であり得る。ポータブルデバイス10はまた、第4世代または第3世代セルラーネットワーク(それぞれ4Gまたは3G)などのワイヤレス通信ネットワークを介して、様々なコンテンツプロバイダ、サーバなどと通信し得る。
【００１６】
ヘッドユニット14は、デジタル地図などのナビゲーション情報を提示するためのディスプレイ18を含み得る。いくつかの実装でのディスプレイ18はタッチスクリーンであり、テキスト入力を入力するためのソフトウェアキーボードを含む。テキスト入力は、目的地、起点などの名前または住所を含み得る。それぞれヘッドユニット14およびステアリングホイール上のハードウェア入力制御20および22が、英数字文字を入力するために、またはナビゲーション指示を要求するための他の機能を実施するために使用され得る。ヘッドユニット14はまた、たとえばマイクロフォン24やスピーカ26などのオーディオ入力および出力構成要素をも含み得る。スピーカ26は、ポータブルデバイス10から送られたオーディオ命令を再生するために使用され得る。
【００１７】
コンテキストアウェアオーディオナビゲーション生成システムが実装され得る例示的通信システム100が、図2に示されている。通信システム100は、「マッピングアプリケーション122」とも呼ばれることのある地理アプリケーション122を実行するように構成されたクライアントコンピューティングデバイス10を含む。実装に応じて、アプリケーション122は、対話型デジタル地図を表示し、オーディオナビゲーション指示を含む、ドライビング、ウォーキング、または他のナビゲーション指示を提供するためにルーティングデータを要求して受け取り、様々なジオロケーテッドコンテンツ(geolocated content)などを提供し得る。デジタル地図を表示すると共に様々な位置にナビゲートするクライアントコンピューティングデバイス10は、ユーザ(本明細書では「ドライバー」とも呼ばれる)によって操作され得る。
【００１８】
クライアントコンピューティングデバイス10に加えて、通信システム100は、クライアントデバイス10にコンテキストアウェアオーディオナビゲーション命令を提供するように構成されたサーバデバイス60を含む。サーバデバイス60はデータベース80に通信可能に結合され得、データベース80は、例示的一実装では、機械学習モデルをトレーニングするためのトレーニングデータに加えて、オーディオナビゲーション命令を生成するための機械学習モデルを記憶する。トレーニングデータは、オーディオナビゲーション命令についての詳細レベル、オーディオナビゲーション命令のタイミング、オーディオナビゲーション命令の音量などの、各オーディオナビゲーション命令についてのパラメータを含む、ユーザに提供されるオーディオナビゲーション命令のセットを含み得る。さらに、各オーディオナビゲーション命令について、トレーニングデータは、オーディオナビゲーション命令を受け取ったユーザの車両からのセンサデータを含み得る。センサデータは、オーディオナビゲーション命令が提供されるコンテキストを記述し得る。センサデータは、ユーザの車両の周囲のエリアについての交通量データ、時刻などの視界データ、ユーザの車両の周囲のエリアについての気象データ、および/またはオーディオナビゲーション命令が提示されたときのユーザの現在位置を示す位置データ、車両内の背景音楽もしくは会話、街路雑音、警笛、電話呼出し音などの車両内もしくは車両の周りの雑音レベルを示すオーディオデータを含み得る。さらに、各オーディオナビゲーション命令について、トレーニングデータは、ユーザがオーディオナビゲーション命令に正しく従ったかどうか、もしくは応答したかどうかの表示、および/またはオーディオナビゲーション命令へのユーザの満足に関する自己報告された表示を含み得る。トレーニングデータは、図3を参照しながら以下でさらに詳細に説明される。
【００１９】
より一般には、サーバデバイス60は、任意のタイプの適切な地理空間情報、または地理的コンテキストにリンクされ得る情報を記憶する1つまたはいくつかのデータベースと通信し得る。通信システム100はまた、たとえばドライビング、ウォーキング、バイキング、または公共交通機関指示を提供するナビゲーションデータサーバ34をも含み得る。さらに、通信システム100は、マップ表示を生成するためにサーバデバイス60にマップデータを提供するマップデータサーバ50を含み得る。通信システム100内で動作中のデバイスは、通信ネットワーク30を介して相互接続され得る。
【００２０】
様々な実装では、クライアントコンピューティングデバイス10はスマートフォンまたはタブレットコンピュータであり得る。クライアントコンピューティングデバイス10は、メモリ120と、1つまたは複数のプロセッサ(CPU)116と、グラフィックス処理装置(GPU)112と、マイクロフォンおよびスピーカを含むI/Oモジュール114と、ユーザインターフェース(UI)32と、全地球測位サービス(GPS)モジュールを含む1つまたはいくつかのセンサ19とを含み得る。メモリ120は非一時的メモリであり得、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、他のタイプの永続的メモリなどの1つまたはいくつかの適切なメモリモジュールを含み得る。I/Oモジュール114は、たとえばタッチスクリーンであり得る。様々な実装では、クライアントコンピューティングデバイス10は、図2に示されるよりも少ない構成要素を含み得、または逆に、追加の構成要素を含み得る。他の実施形態では、クライアントコンピューティングデバイス10は、任意の適切なポータブルまたは非ポータブルコンピューティングデバイスであり得る。たとえば、クライアントコンピューティングデバイス10は、ラップトップコンピュータ、デスクトップコンピュータ、スマートウォッチやスマートグラスなどのウェアラブルデバイスなどであり得る。
【００２１】
メモリ120はオペレーティングシステム(OS)126を記憶し、OS126は、任意のタイプの適切なモバイルまたは汎用オペレーティングシステムであり得る。OS126は、アプリケーションがセンサ読取り値を検索することを可能にするアプリケーションプログラミングインターフェース(API)機能を含み得る。たとえば、コンピューティングデバイス10上で実行するように構成されたソフトウェアアプリケーションは、その瞬間のクライアントコンピューティングデバイス10の現在位置を検索するためのOS126 APIを起動する命令を含み得る。APIはまた、APIの推定がどれほど確かかの定量的表示を(たとえば、パーセンテージとして)返し得る。
【００２２】
メモリ120はまた、マッピングアプリケーション122をも記憶し、マッピングアプリケーション122は、上記で示したように、対話型デジタル地図を生成し、かつ/または他の地理的機能を実施するように構成される。マッピングアプリケーション122は、ナビゲーション命令、オーディオナビゲーション命令、および/またはオーディオナビゲーション命令パラメータを受け取り、ナビゲーションディスプレイ124を介して、オーディオナビゲーション命令パラメータに従ってオーディオナビゲーション命令を提示し得る。マッピングアプリケーション122はまた、ナビゲーションディスプレイ124を介して、ドライビング、ウォーキング、交通機関指示を表示し、一般には、地理、ジオロケーション、ナビゲーションなどに関する機能を提供し得る。
【００２３】
図2はマッピングアプリケーション122をスタンドアロンアプリケーションとして示すが、マッピングアプリケーション122の機能はまた、クライアントコンピューティングデバイス10上で実行中のウェブブラウザを介してアクセス可能なオンラインサービスの形態で、クライアントコンピューティングデバイス10上で実行中の別のソフトウェアアプリケーションについてのプラグインまたは拡張として、などで提供され得ることに留意されたい。マッピングアプリケーション122は一般に、異なるそれぞれのオペレーティングシステムについて異なるバージョンとして提供され得る。たとえば、クライアントコンピューティングデバイス10のメーカは、Android(商標)プラットフォーム用のマッピングアプリケーション122を含むソフトウェア開発キット(SDK)、iOS(商標)プラットフォーム用の別のSDKなどを提供し得る。
【００２４】
いくつかの実装では、サーバデバイス60は、1つまたは複数のプロセッサ62およびメモリ64を含む。メモリ64は有形の非一時的メモリであり得、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、他のタイプの永続的メモリなどを含む任意のタイプの適切なメモリモジュールを含み得る。メモリ64は、コンテキストアウェアオーディオナビゲーションジェネレータ68を構成する、プロセッサ62上で実行可能な命令を記憶し、コンテキストアウェアオーディオナビゲーションジェネレータ68は、特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための機械学習モデルを生成し得る。コンテキストアウェアオーディオナビゲーションジェネレータ68はまた、ユーザの周囲の外部環境のコンテキストを記述するセンサデータと共に、開始位置から目的地へのユーザに対するナビゲーション指示を求める要求を受け取り得る。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、テキストベースのナビゲーション命令を検索し、テキストベースのナビゲーション命令およびセンサデータを機械学習モデルに適用して、オーディオナビゲーション命令を生成し得る。さらに、コンテキストアウェアオーディオナビゲーションジェネレータ68は、クライアントコンピューティングデバイス10にオーディオナビゲーション命令を提供し得、次いでオーディオナビゲーション命令は、ナビゲーションディスプレイ124によってスピーカ26を介して提示される。いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、以下でより詳細に説明される機械学習エンジンを含む。
【００２５】
コンテキストアウェアオーディオナビゲーションジェネレータ68およびナビゲーションディスプレイ124は、コンテキストアウェアオーディオナビゲーション生成システムの構成要素として動作し得る。あるいは、コンテキストアウェアオーディオナビゲーション生成システムはサーバ側構成要素のみを含み、オーディオナビゲーション命令を提示するように単にナビゲーションディスプレイ124に命令を提供し得る。言い換えれば、これらの実施形態でのコンテキストアウェアオーディオナビゲーション生成技法は、ナビゲーションディスプレイ124に対して透過的に実装され得る。別の代替として、コンテキストアウェアオーディオナビゲーションジェネレータ68の機能全体が、ナビゲーションディスプレイ124内で実装され得る。
【００２６】
簡単のために、図2は、サーバデバイス60をサーバのただ1つのインスタンスとして示す。しかしながら、いくつかの実装によるサーバデバイス60は、1つまたは複数のプロセッサをそれぞれ備え、他のサーバデバイスとは無関係に動作することのできる1つまたは複数のサーバデバイスのグループを含む。そのようなグループ内で動作中のサーバデバイスは、組織/広告主コンピューティングデバイス10からの要求を、個々に(たとえば、可用性に基づいて)、要求を処理することに関連するある動作があるサーバデバイス上で実施され、同一の要求を処理することに関連する別の動作が別のサーバデバイス上で実施される分散型の方式で、または任意の他の適切な技法に従って処理し得る。この議論では、「サーバデバイス」という用語は、個々のサーバデバイス、または2つ以上のサーバデバイスのグループを指すことがある。
【００２７】
動作の際に、クライアントコンピューティングデバイス10内で動作中のナビゲーションディスプレイ124は、データを受け取り、サーバデバイス60にデータを送る。したがって、一例では、クライアントコンピューティングデバイス10は、クライアントコンピューティングデバイス10の周囲の環境を示すセンサデータを含み、開始位置から目的地までのナビゲーション指示を要求する通信を、(サーバデバイス60内に実装された)コンテキストアウェアオーディオナビゲーションジェネレータ68に送り得る。したがって、コンテキストアウェアオーディオナビゲーションジェネレータ68は、要求内に含まれるデータを、特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための機械学習モデルに適用し、オーディオナビゲーション命令のセットを生成し得る。
【００２８】
たとえば、ユーザは、ユーザの現在位置から特定のレストランまでのナビゲーション指示を要求し得る。クライアントコンピューティングデバイス10はまた、交通量が少なく、晴天で、街路雑音のために雑音レベルが高い昼間の表示を含むセンサデータを、サーバデバイス60に提供し得る。その結果、コンテキストアウェアオーディオナビゲーションジェネレータ68は、第1のオーディオナビゲーション命令が低詳細レベルを有するべきであり、高音量で3回提示されるべきであると決定し得る。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、第1のオーディオナビゲーション命令を、ユーザがMain Streetに近づくにつれて3回それぞれ高音量で提示されるべき「Xフィート先でMain Streetに右折せよ」として生成し得、Xは、ユーザの現在位置からMain Streetまでの更新後の距離である。
【００２９】
コンテキストアウェアオーディオナビゲーションジェネレータ68は、第1のオーディオナビゲーション命令および/またはオーディオナビゲーション命令パラメータをクライアントコンピューティングデバイス10に提供する。クライアントコンピューティングデバイス10は、スピーカ26を介して第1のオーディオナビゲーション命令を提示し得る。いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、各オーディオナビゲーション命令を個々に生成し、クライアントコンピューティングデバイス10に提供する。他の実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、テキストベースのナビゲーション命令のセットを生成し、クライアントコンピューティングデバイス10に提供する。次いで、各テキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、クライアントコンピューティングデバイス10からセンサデータを受け取り、テキストベースのナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成し、クライアントコンピューティングデバイス10に提供する。その結果、クライアントコンピューティングデバイス10は、オーディオナビゲーション命令パラメータに従ってオーディオナビゲーション命令を生成および提示する。
【００３０】
いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、同一のナビゲーション命令の複数のバージョンを含むテキストベースのナビゲーション命令のセットを生成し、クライアントコンピューティングデバイス10に提供する(たとえば、低詳細レベルのナビゲーション命令の第1のバージョン、中詳細レベルのナビゲーション命令の第2のバージョン、高詳細レベルのナビゲーション命令の第3のバージョン)。次いで、各ナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成し、クライアントコンピューティングデバイス10に提供する。その結果、クライアントコンピューティングデバイス10は、オーディオナビゲーション命令パラメータに対応するナビゲーション命令のバージョンを提示する。
【００３１】
特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための機械学習モデルを生成するために、コンテキストアウェアオーディオナビゲーションジェネレータ68は、以前にユーザに提供されたオーディオナビゲーション命令のセット、および/または以前にユーザに提供された各オーディオナビゲーション命令についてのオーディオナビゲーション命令パラメータを含むトレーニングデータを取得する。
【００３２】
たとえば、位置データおよび/または他のユーザデータを共有するオプションを選択するユーザが、それぞれのクライアントコンピューティングデバイス10によって提示されたオーディオナビゲーション命令のセットを、オーディオナビゲーション命令が提示されたときに収集されたそれぞれのクライアントコンピューティングデバイス10からのセンサデータと共に送り得る。センサデータは、各オーディオナビゲーション命令について、オーディオナビゲーション命令が提示されたときの交通量、オーディオナビゲーション命令が提示されたときの時刻、オーディオナビゲーション命令が提示されたときの気象条件、オーディオナビゲーション命令が提示されたときの雑音レベル、オーディオナビゲーション命令が提示されたときのユーザの現在位置などを含み得る。いくつかの実施形態では、クライアントコンピューティングデバイス10は、クライアントコンピューティングデバイス10内に含まれるクロックおよびマイクロフォンを介して、それぞれ時刻および雑音レベルを決定する。気象を決定するために、クライアントコンピューティングデバイス10は、雨センサを含み得、または米国国立気象局などの外部サービスと通信し得る。たとえば、クライアントコンピューティングデバイス10は、GPSモジュールと通信して現在位置を取得し、現在位置を含む領域についての気象データを求めて米国国立気象局に要求を送り得る。同様に、交通量を決定するために、クライアントコンピューティングデバイス10は、GPSモジュールと通信して現在位置を取得し、現在位置を含む領域についての交通量データを求めて交通サービスに要求を送り得る。
【００３３】
いずれにしても、提示された各オーディオナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、センサデータと、ユーザがオーディオナビゲーション命令に正しく従ったかどうかの表示とを取得する。たとえば、オーディオナビゲーション命令が提示された後にユーザの現在位置が元のルートの経路とは異なったために、マッピングアプリケーション122が新しいルートを生成した場合、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザがオーディオナビゲーション命令に正しく従わなかったという表示を受け取り得る。さらにいくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、オーディオナビゲーション命令へのユーザの満足に関する自己報告された表示を、追加のトレーニングデータとして取得し得る。たとえば、マッピングアプリケーション122は、オーディオナビゲーション命令への不満を示すためのユーザ制御、および/またはユーザがユーザの不満を説明するためのテキストフィールドを含み得る。このようにして、機械学習モデルは、従う可能性がより高く、ユーザを困らせ、またはユーザの妨げとなる可能性のより低いオーディオナビゲーション命令を生成し得る。
【００３４】
オーディオナビゲーション命令のセット、オーディオナビゲーション命令パラメータ、センサデータ、およびユーザがオーディオナビゲーション命令に正しく従ったかどうか、かつ/またはオーディオナビゲーション命令に満足したかどうかの表示は、機械学習技法を使用して、機械学習モデルを生成するためのトレーニングデータとして提供され得る。いくつかの実施形態では、各オーディオナビゲーション命令パラメータについて別々の機械学習モデルが生成され得る。たとえば、ある機械学習モデルが、オーディオナビゲーション命令についての詳細レベルを決定するために生成され得る。別の機械学習モデルが、オーディオナビゲーション命令を提供するタイミングを決定するために生成され得る。さらに別の機械学習モデルが、オーディオナビゲーション命令についての音量を決定するために生成され得る。
【００３５】
機械学習モデルを生成するための例示的トレーニングデータ
図3は、機械学習モデルを生成するために使用され得る例示的トレーニングデータ300を示す。いくつかの実施形態では、トレーニングデータ300はデータベース80内に記憶され得る。トレーニングデータ300は、オーディオナビゲーション命令パラメータ310、センサデータからのコンテキスト信号320、およびオーディオナビゲーション命令に対するドライバー応答330という3つの部分を含み得る。オーディオナビゲーション命令パラメータ310は、オーディオナビゲーション命令の詳細レベル302、オーディオナビゲーション命令のタイミング304、およびナビゲーション命令の音量306を含み得る。詳細レベルは高、中、または低であり得、低詳細レベルのオーディオナビゲーション命令は、たとえば方向転換(たとえば、「左折せよ」)と、方向転換のための位置としての街路名(たとえば、State Street)とを含む。いくつかの実施形態では、低詳細レベルのオーディオナビゲーション命令は、ユーザの現在位置から方向転換のための位置までの距離を記述する構成要素(たとえば、「500フィート先」)を含まない。中詳細レベルのオーディオナビゲーション命令は、たとえば、方向転換(たとえば、「左折せよ」)と、方向転換のための街路名または交差点(たとえば、State Street)と、ユーザの現在位置から方向転換のための位置までの距離を記述する構成要素(たとえば、「500フィート先」)とを含む。高詳細レベルのオーディオナビゲーション命令は、たとえば、方向転換のための位置としてのランドマーク(たとえば、「Joe's Restaurantにおいて右折せよ」)、方向転換のための位置に関する交通信号灯の記述(たとえば、「1000フィート先、2つの停止信号灯を通過した後、State Streetに左折せよ」、「Jim's Repair Shopの隣の次の一時停止標識においてやや右に進め」)、ユーザが方向転換のための位置に到達するまでの推定時間量を記述する構成要素(たとえば、「500フィート先または約30秒後に左折せよ」)、これらの任意の適切な組合せ、または中詳細レベルよりも多くの詳細を含む任意の適切なオーディオナビゲーション命令を含む。
【００３６】
オーディオナビゲーション命令のタイミング304は、オーディオナビゲーション命令304の複数のインスタンスが提示された回数または頻度を示し得る(たとえば、同一の方向転換および位置を含むが、ドライバーが位置に近づくにつれて位置までの距離または推定時間量が変動する、類似のオーディオナビゲーション命令304の複数のインスタンス)。オーディオナビゲーション命令のタイミング304はまた、ユーザが以前の方向転換の位置と後続の方向転換の位置との間の中間にいるときなど、オーディオナビゲーション命令304をいつ提示するかも示し得る。音量306はデシベル(dB)単位で示され、または低音量(たとえば、第1のしきいデシベル量未満)、中音量(たとえば、第1のしきいデシベル量と、第1のしきいデシベル量よりも高い第2のしきいデシベル量との間)、高音量(たとえば、第2のしきいデシベル量超)などと分類され得る。
【００３７】
センサデータからのコンテキスト信号320は、オーディオナビゲーション命令が提供された位置308、気象条件314、時刻316などの視界データを含み得る。ある位置では、街路標識が、見にくい場所において遮られ得、または別の街路標識と近接して配置され、したがって方向転換のための街路がさらに離れているとユーザが想定し得る。データテーブル300内の位置列308はGPS座標を含むが、位置は交差点、街路住所、または任意の他の適切な位置であり得る。さらに、時刻316は、オーディオナビゲーション命令が提供された厳密な時刻(たとえば、午後9:15)を含み得、または午前、午後、晩、夜などの時間フレームを含み得る。
【００３８】
センサデータからのコンテキスト信号320はまた、低交通量、中交通量、または高交通量と分類される交通量データ312をも含み得る。たとえば、道路についての低交通量は、道路上の車両が制限速度以上で移動していることを示し得る。道路についての中交通量は、道路上の車両が制限速度未満のしきい速度内(たとえば、制限速度の5〜10mph以内)で移動していることを示し得る。道路についての高交通量は、道路上の車両がしきい速度未満(たとえば、5〜10mph未満)で移動していることを示し得る。
【００３９】
さらに、センサデータからのコンテキスト信号320は、車両内の背景音楽もしくは会話、街路雑音、警笛、電話呼出し音などの車両内または車両の周りの雑音レベルを示すオーディオデータ318を含み得る。雑音318はデシベル(dB)単位で示され、または静(たとえば、第1のしきいデシベル量未満)、中(たとえば、第1のしきいデシベル量と、第1のしきいデシベル量よりも高い第2のしきいデシベル量の間)、大(たとえば、第2のしきいデシベル量超)などと分類され得る。いくつかの実施形態では、オーディオデータ318はまた、ラジオまたは他の音楽再生、街路雑音などの雑音源の表示をも示し得る。例示的トレーニングデータ300は位置データ308、交通量データ312、気象データ314、時刻316、およびオーディオデータ318をコンテキスト信号320として含むが、これらは、単に例示しやすくするためのコンテキスト信号のいくつかの例に過ぎない。クライアントコンピューティングデバイス10の周囲の環境を示す任意の適切なセンサデータが、コンテキスト信号320として使用され得る。
【００４０】
オーディオナビゲーション命令パラメータ310およびセンサデータからのコンテキスト信号320に加えて、トレーニングデータ300は、オーディオナビゲーション命令に対するドライバーの応答330を示すデータを含み得る。オーディオナビゲーション命令に対するドライバーの応答330を示すデータは、ドライバーがオーディオナビゲーション命令に正しく従ったかどうかの表示320を含み得る。たとえば、オーディオナビゲーション命令が提示された後にユーザの現在位置が元のルートの経路とは異なったために、マッピングアプリケーション122が新しいルートを生成した場合、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザがオーディオナビゲーション命令に正しく従わなかったという表示を受け取り得る。オーディオナビゲーション命令に対するドライバーの応答330を示すデータはまた、オーディオナビゲーション命令へのユーザの満足に関する自己報告された表示322をも含み得る。たとえば、マッピングアプリケーション122は、オーディオナビゲーション命令への不満を示すためのユーザ制御、および/またはユーザがユーザの不満を説明するためのテキストフィールドを含み得る。
【００４１】
機械学習モデルを生成するために、コンテキストアウェアオーディオナビゲーションジェネレータ68は、トレーニングデータ300のサブセットが、ドライバーが正しく応答した/満足したオーディオナビゲーション命令に対応する、またはドライバーが正しく応答しなかった、もしくは満足しなかったオーディオナビゲーション命令に対応すると分類し得る。たとえば、(低音量でGPS座標8.501,47.363の位置において1回再生された高詳細レベルを有し、午前中の晴天の騒々しい環境内の高交通量において提供された)トレーニングデータ300の第1の行が、ドライバーが正しく応答した/満足したオーディオナビゲーション命令に対応すると分類され得る。(高音量でGPS座標8.524,47.365の位置において1回再生された高詳細レベルを有し、夜の曇った条件の静かな環境内の低交通量において提供された)トレーニングデータ300の第4の行が、ドライバーが正しく応答しなかったオーディオナビゲーション命令に対応すると分類され得る。
【００４２】
次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、第1および第2のサブセットを解析して、機械学習モデルを生成する。機械学習モデルは、回帰分析(たとえば、ロジスティック回帰、線形回帰、多項式回帰)、k最近接法、デシジョンツリー、ランダムフォレスト、ブースティング、ニューラルネットワーク、サポートベクトルマシン、ディープラーニング、強化学習、ベイジアンネットワークなどの様々な機械学習技法を使用して生成され得る。いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、オーディオナビゲーション命令についての詳細レベルを決定するための第1の機械学習モデルを生成し得る。コンテキストアウェアオーディオナビゲーションジェネレータ68は、オーディオナビゲーション命令を提供するタイミングを決定するための第2の機械学習モデルと、オーディオナビゲーション命令についての音量を決定するための第3の機械学習モデルとを生成し得る。
【００４３】
たとえば、オーディオナビゲーション命令を提供するタイミングを決定するための機械学習モデルは、通常の最小2乗法を使用して生成された線形回帰モデルであり得る。第1および第2のサブセットの解析に基づいて、コンテキストアウェアオーディオナビゲーションジェネレータ68は、オーディオナビゲーション命令についての頻度が交通量と負の相関を有し、雨、雪、霧などの悪気象条件と正の相関を有することを決定し得る。さらに、オーディオナビゲーション命令の音量を決定するための機械学習モデルも、通常の最小2乗法を使用して生成された線形回帰モデルであり得る。
【００４４】
別の例では、オーディオナビゲーション命令についての詳細レベルを決定するための機械学習モデルは、サポートベクトルマシンであり得る。さらに別の例では、特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための単一の機械学習モデルが、ブランチによって接続されたいくつかのノードを有するデシジョンツリーであり得、各ノードは、センサデータに対するテストを表し(たとえば、時刻は午前か、それとも午後か)、各ブランチはテストの結果を表し(たとえば、はい)、各リーフはコンテキストについてのオーディオナビゲーション命令パラメータを表す(たとえば、低詳細レベル、3回、高音量)。
【００４５】
より具体的には、コンテキストアウェアオーディオナビゲーションジェネレータ68はデシジョンツリーを生成し得、第1のノードが、交通量が多いかどうかに対応する。交通量が多くない場合、第1のブランチは、時刻が夜かどうかに対応する第2のノードに接続し得る。時刻が夜である場合、第2のブランチは、外部環境が騒々しいかどうかに対応する第3のノードに接続し得る。外部環境が騒々しい場合、第3のブランチは、オーディオナビゲーション命令が中詳細レベル、2回、高音量で提示されるべきであることを示し得るリーフノードに接続し得る。デシジョンツリーが1つのリーフノードおよび3つのブランチを含むが、これは単に例示しやすくするために過ぎない。各デシジョンツリーは、センサデータに対する任意の適切な数および/またはタイプのテストを有する、任意の数のノード、ブランチ、およびリーフを含み得る。
【００４６】
機械学習技法を使用してオーディオナビゲーション命令を生成するための例示的論理
図4は、図2のコンテキストアウェアオーディオナビゲーションジェネレータ68が例示的シナリオにおいて各オーディオナビゲーション命令についてのオーディオナビゲーション命令パラメータをどのように決定するかを概略的に示す。図4のブロックのうちのいくつかは、ハードウェアおよび/またはソフトウェア構成要素を表し(たとえば、ブロック402)、他のブロックは、データ構造、またはこれらのデータ構造、レジスタ、もしくは状態変数を記憶するメモリを表し(たとえば、ブロック404、412、420)、他のブロックは出力データを表す(たとえば、ブロック406〜410)。入力信号は、対応する信号名が付けられた矢印で表される。
【００４７】
機械学習モデル420を生成するために、図4の機械学習エンジン402がコンテキストアウェアオーディオナビゲーションジェネレータ68内に含まれ得る。機械学習モデル420を生成するために、機械学習エンジン402は、ユーザに以前に提供された第1のオーディオナビゲーション命令422を、第1のオーディオナビゲーション命令が提供されたときのセンサデータの第1のセット、およびユーザが第1のオーディオナビゲーション命令に正しく従ったかどうかの第1の表示と共に含むトレーニングデータを受け取る。トレーニングデータはまた、同一または異なるユーザに以前に提供された第2のオーディオナビゲーション命令424を、第2のオーディオナビゲーション命令が提供されたときのセンサデータの第2のセット、およびユーザが第2のオーディオナビゲーション命令に正しく従ったかどうかの第2の表示と共に含む。さらに、トレーニングデータは、同一または異なるユーザに以前に提供された第3のオーディオナビゲーション命令426を、第3のオーディオナビゲーション命令が提供されたときのセンサデータの第3のセット、およびユーザが第3のオーディオナビゲーション命令に正しく従ったかどうかの第3の表示と共に含む。さらに、トレーニングデータは、同一または異なるユーザに以前に提供されたオーディオナビゲーション命令428を、第nのオーディオナビゲーション命令が提供されたときのセンサデータの第nのセット、およびユーザが第nのオーディオナビゲーション命令に正しく従ったかどうかの第nの表示と共に含む。
【００４８】
例示的トレーニングデータは、同一または異なるユーザに提供された4つのオーディオナビゲーション命令422〜428を含むが、これは単に例示しやすくするために過ぎない。トレーニングデータは、任意の数のユーザからの任意の数のオーディオナビゲーション命令を含み得る。
【００４９】
次いで、機械学習エンジン402は、トレーニングデータを解析して、特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための機械学習モデル420を生成する。いくつかの実施形態では、機械学習エンジン402は、各オーディオナビゲーション命令パラメータについて別々の機械学習モデルを生成する。たとえば、機械学習エンジン402は、オーディオナビゲーション命令についての詳細レベルを決定するための第1の機械学習モデルと、オーディオナビゲーション命令を提供するタイミングを決定するための第2の機械学習モデルと、オーディオナビゲーション命令についての音量を決定するための第3の機械学習モデルとを生成し得る。機械学習モデル420が線形回帰モデルとして示されているが、機械学習モデルは、ロジスティック回帰モデル、デシジョンツリー、ニューラルネットワーク、超平面、任意の他の適切な機械学習モデルなどの別のタイプの回帰モデルであり得る。
【００５０】
いずれにしても、ユーザによるナビゲーション指示を求める要求に応答して、図4のシステムは、たとえば、ナビゲーションサーバ34からルートについてのテキストベースのナビゲーション命令のセット404をファイルとして受け取る。この例では、テキストベースのナビゲーション命令のセット404は方向転換(maneuver)1〜3の記述を含むが、一般には、テキストベースのナビゲーション命令のセット404は任意の数の方向転換を含み得る。各テキストベースのナビゲーション命令について、システムは、ユーザのクライアントコンピューティングデバイス10の周囲の外部環境412を示すセンサデータを受け取る。センサデータは、ユーザの車両の周囲のエリアについての交通量データ、時刻などの視界データ、ユーザの車両の周囲のエリアについての気象データ、および/またはオーディオナビゲーション命令を提示するための位置を示す位置データ、車両内の背景音楽もしくは会話、街路雑音、警笛、電話呼出し音などの車両内もしくは車両の周りの雑音レベルを示すオーディオデータを含み得る。
【００５１】
次いで、機械学習エンジン402は、テキストベースのナビゲーション命令と、外部環境412を示すセンサデータとを機械学習モデル420に適用して、オーディオナビゲーション命令についてのオーディオナビゲーション命令パラメータを識別する。他の実施形態では、機械学習エンジン402は、テキストベースのナビゲーション命令と、外部環境412を示すセンサデータとを第1の機械学習モデルに適用して、オーディオナビゲーション命令についての詳細レベルを識別し、第2の機械学習モデルに適用して、オーディオナビゲーション命令を提供するタイミングを決定し、第3の機械学習モデルに適用して、オーディオナビゲーション命令についての音量を決定する。たとえば、第1の方向転換について、機械学習モデル420は、オーディオナビゲーション命令406が低詳細レベルで生成され、高音量で2回再生されるべきであると決定する。第2の方向転換について、機械学習モデル420は、オーディオナビゲーション命令408が高詳細レベルで生成され、低音量で4回再生されるべきであると決定する。第3の方向転換について、機械学習モデル420は、オーディオナビゲーション命令410が低詳細レベルで生成され、低音量で1回再生されるべきであると決定する。
【００５２】
いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、テキストベースのナビゲーション命令のセットを、各ナビゲーション命令を提示するためのオーディオナビゲーション命令パラメータと共に、ユーザのクライアントコンピューティングデバイス10に提供する。他の実施形態では、各テキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーション命令についての決定されたオーディオナビゲーション命令パラメータに基づいて、対応するオーディオナビゲーション命令を生成する。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、スピーカを介して提示されるようにユーザのクライアントコンピューティングデバイス10にオーディオナビゲーション命令のセットを提供する。
【００５３】
さらにいくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68はまず、テキストベースのナビゲーション命令のセット全体をユーザのクライアントコンピューティングデバイス10に提供する。いくつかのシナリオでは、コンテキストアウェアオーディオナビゲーションジェネレータ68は、たとえばユーザのクライアントコンピューティングデバイスに、異なる詳細レベルの同一のナビゲーション命令の複数のバージョンを提供する。より具体的には、「Main Streetに右折せよ」というナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、「Main Streetに右折せよ」というナビゲーション命令を、低詳細レベルのナビゲーション命令の第1のバージョンとして提供し得る。コンテキストアウェアオーディオナビゲーションジェネレータ68はまた、「Xフィート先でMain Streetに右折せよ」というナビゲーション命令を、中詳細レベルのナビゲーション命令の第2のバージョンとして提供し得る。さらに、コンテキストアウェアオーディオナビゲーションジェネレータ68は、「Xフィート先または約Y秒後に、Joe's Restaurantの隣の一時停止標識においてMain Streetに右折せよ」というナビゲーション命令を、高詳細レベルのナビゲーション命令の第3のバージョンとして提供し得る。
【００５４】
次いで、各テキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、外部環境412を示すセンサデータを受け取り、機械学習モデル420に適用する。次いで、機械学習モデル420は、テキストベースのナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成し、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザのクライアントコンピューティングデバイス10にオーディオナビゲーション命令パラメータを提供する。次いで、ユーザのクライアントコンピューティングデバイス10は、たとえばオーディオナビゲーション命令パラメータ内に含まれる詳細レベルに対応するナビゲーション命令のバージョンを選択することによって、ナビゲーション命令にオーディオナビゲーション命令パラメータを適用する。ユーザのクライアントコンピューティングデバイス10はまた、オーディオナビゲーション命令パラメータに基づいて、オーディオナビゲーション命令についての音量およびタイミングを調節し得る。次いで、ユーザのクライアントコンピューティングデバイス10は、スピーカ26を介して、生成したオーディオナビゲーション命令をユーザに提示する。
【００５５】
コンテキストアウェアオーディオナビゲーション命令を提示するための例示的方法
図5は、車両内でコンテキストアウェアオーディオナビゲーション命令を生成するための例示的方法500の流れ図を示す。方法は、コンピュータ可読メモリ上に記憶され、サーバデバイス60の1つまたは複数のプロセッサにおいて実行可能である命令のセットとして実装され得る。たとえば、方法はコンテキストアウェアオーディオナビゲーションジェネレータ68によって実装され得る。
【００５６】
ブロック502において、以前にユーザに提示されたオーディオナビゲーション命令のセットを含むトレーニングデータが、トレーニング期間中に取得され、特定のコンテキストについてのオーディオナビゲーション命令パラメータが識別されるための、機械学習モデルがトレーニングされる。各オーディオナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68はまた、オーディオナビゲーション命令が提示されたときの、ユーザのクライアントコンピューティングデバイス10の周囲の外部環境を示すコンテキスト信号としてセンサデータを取得する(ブロック504)。さらに、各オーディオナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザがオーディオナビゲーション命令に正しく従ったかどうか、かつ/またはオーディオナビゲーション命令に満足したかどうかの表示を取得する(ブロック506)。
【００５７】
コンテキストアウェアオーディオナビゲーションジェネレータ68、より具体的にはコンテキストアウェアオーディオナビゲーションジェネレータ68内に含まれる機械学習エンジン402は、トレーニングデータを解析して、図4に示されるような機械学習モデル420などの機械学習モデルを生成する(ブロック508)。より具体的には、機械学習エンジン402は、トレーニングデータを、ユーザが正しく従ったオーディオナビゲーション命令についての第1のサブセットおよび対応するセンサデータと、ユーザが正しく従わなかったオーディオナビゲーション命令についての第2のサブセットおよび対応するセンサデータとに分類し得る。次いで、2つのサブセットが、回帰分析(たとえば、ロジスティック回帰、線形回帰、多項式回帰)、k最近接法、デシジョンツリー、ランダムフォレスト、ブースティング、ニューラルネットワーク、サポートベクトルマシン、ディープラーニング、強化学習、ベイジアンネットワークなどの様々な機械学習技法を使用して解析され、特定のコンテキストについてのオーディオナビゲーション命令パラメータを識別するための機械学習モデルが生成され得る。
【００５８】
いくつかの実施形態では、機械学習エンジン402は、オーディオナビゲーション命令パラメータのそれぞれについて、いくつかの機械学習モデル420を生成する。たとえば、機械学習エンジン402は、オーディオナビゲーション命令についての詳細レベルを決定するための第1の機械学習モデルと、オーディオナビゲーション命令を提供するタイミングを決定するための第2の機械学習モデルと、オーディオナビゲーション命令についての音量を決定するための第3の機械学習モデルとを生成し得る。
【００５９】
いずれにしても、機械学習モデル420がトレーニングされ、生成されると、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザからのナビゲーション指示を求める要求に応答して、機械学習モデル420を利用してオーディオナビゲーション命令を生成する。より具体的には、ブロック510において、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザのクライアントコンピューティングデバイス10による開始位置から目的地までのナビゲーション指示を求める要求を受け取る。開始位置は、クライアントコンピューティングデバイス10の現在位置であり得る。いずれにしても、要求に応答して、コンテキストアウェアオーディオナビゲーションジェネレータ68はナビゲーション命令のセットを生成する(ブロック512)。ナビゲーション命令のセットはテキストフォーマットとして生成され得る。さらに、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーションデータサーバ34に要求を転送し、ナビゲーションデータサーバ34からナビゲーション命令のセットを受け取ることによって、ナビゲーション命令のセットを生成し得る。
【００６０】
ユーザのクライアントコンピューティングデバイス10からナビゲーション指示を求める要求を受け取ることに加えて、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザのクライアントコンピューティングデバイス10の周囲の外部環境を示すセンサデータを受け取る。ブロック514において、各ナビゲーション命令について、機械学習エンジン402は、機械学習モデル420にセンサデータを適用して、ナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成する。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーション命令にオーディオナビゲーション命令パラメータを適用して、オーディオナビゲーション命令を生成し(ブロック516)、ユーザのクライアントコンピューティングデバイス10にオーディオナビゲーション命令を提供する(ブロック518)。したがって、ユーザのクライアントコンピューティングデバイス10は、スピーカ26を介してオーディオナビゲーション命令を提示する。
【００６１】
他の実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、テキストベースのナビゲーション命令のセットを、各ナビゲーション命令を提示するためのオーディオナビゲーション命令パラメータと共に、ユーザのクライアントコンピューティングデバイス10に提供する。次いで、ユーザのクライアントコンピューティングデバイス10は、対応するテキストベースのナビゲーション命令およびオーディオナビゲーション命令パラメータに従って、各オーディオナビゲーション命令を生成する。
【００６２】
さらにいくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68はまず、ユーザのクライアントコンピューティングデバイス10にテキストベースのナビゲーション命令のセット全体を提供する。いくつかのシナリオでは、コンテキストアウェアオーディオナビゲーションジェネレータ68は、たとえばユーザのクライアントコンピューティングデバイスに、異なる詳細レベルの同一のナビゲーション命令の複数のバージョンを提供する。次いで、各テキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、外部環境412を示すセンサデータを受け取り、機械学習モデル420に適用する。機械学習モデル420は、ナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成し、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ユーザのクライアントコンピューティングデバイス10にオーディオナビゲーション命令パラメータを提供する。次いで、ユーザのクライアントコンピューティングデバイス10は、たとえばオーディオナビゲーション命令パラメータ内に含まれる詳細レベルに対応するナビゲーション命令のバージョンを選択することによって、テキストベースのナビゲーション命令にオーディオナビゲーション命令パラメータを適用する。ユーザのクライアントコンピューティングデバイス10はまた、オーディオナビゲーション命令パラメータに基づいて、オーディオナビゲーション命令についての音量およびタイミングを調節し得る。次いで、ユーザのクライアントコンピューティングデバイス10は、スピーカ26を介して、生成したオーディオナビゲーション命令をユーザに提示する。
【００６３】
いくつかの実施形態では、ユーザのクライアントコンピューティングデバイス10は、ユーザがオーディオナビゲーション命令のそれぞれに正しく応答したかどうかを決定する。次いで、各オーディオナビゲーション命令について、クライアントコンピューティングデバイス10は、オーディオナビゲーション命令と、センサデータと、およびユーザがオーディオナビゲーション命令に正しく応答したかどうかの表示とを、追加のトレーニングデータとしてサーバデバイス60に提供する。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、追加のトレーニングデータを使用して、それに応じて機械学習モデル420を更新し得る。
【００６４】
図6は、車両内でコンテキストアウェアオーディオナビゲーション命令を提示するための例示的方法600の流れ図を示す。方法は、コンピュータ可読メモリ上に記憶され、クライアントコンピューティングデバイス10の1つまたは複数のプロセッサにおいて実行可能である命令のセットとして実装され得る。たとえば、方法はナビゲーションディスプレイ124によって実装され得る。
【００６５】
ブロック602において、第1のインスタンスでは、クライアントコンピューティングデバイス10が、第1の開始位置から第1の目的地までの第1のナビゲーション指示を求める要求を提供する。要求はサーバデバイス60に提供され得る。さらに、要求は、クライアントコンピューティングデバイス10の周囲の外部環境を示すセンサデータの第1のセットを含み得る(ブロック604)。
【００６６】
要求に応答して、コンテキストアウェアオーディオナビゲーションジェネレータ68は、対応する第1のテキストベースのナビゲーション命令を有する第1のオーディオナビゲーション命令を含むオーディオナビゲーション命令の第1のセットを生成する。第1のテキストベースのナビゲーション命令は、特定の方向転換(たとえば、左折)、方向転換のための位置(たとえば、State StreetとMain Streetの交差点)、および/または特定の方向転換のための位置にユーザが近づく方向(たとえば、State Streetを南に向かっている)を含む。さらに、第1のオーディオナビゲーション命令は、オーディオナビゲーション命令についての詳細レベル、オーディオナビゲーション命令を提供するタイミング、オーディオナビゲーション命令についての音量などの、オーディオナビゲーション命令パラメータのセットを含む。
【００６７】
いずれにしても、コンテキストアウェアオーディオナビゲーションジェネレータ68は、クライアントコンピューティングデバイス10に第1のセットを提供し(ブロック606)、次いで、クライアントコンピューティングデバイス10は、スピーカ26を介してユーザに第1のセットを提示する(ブロック608)。いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーションデータサーバ34に要求を転送し、ナビゲーションデータサーバ34からテキストベースのナビゲーション命令のセットを受け取ることによって、オーディオナビゲーション命令の第1のセットを生成する。それぞれのテキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、機械学習モデル420にセンサデータの第1のセットを適用して、ナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成する。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーション命令にオーディオナビゲーション命令パラメータを適用して、オーディオナビゲーション命令を生成する。
【００６８】
ブロック610において、第2のインスタンスでは、クライアントコンピューティングデバイス10が、第2の開始位置から第2の目的地までの第2のナビゲーション指示を求める要求を提供する。要求はサーバデバイス60に提供され得る。さらに、要求は、クライアントコンピューティングデバイス10の周囲の外部環境を示すセンサデータの第2のセットを含み得る(ブロック612)。
【００６９】
要求に応答して、コンテキストアウェアオーディオナビゲーションジェネレータ68は、第1のインスタンスと同一の第1のテキストベースのナビゲーション命令を有する第2のオーディオナビゲーション命令を含むオーディオナビゲーション命令の第2のセットを生成する。より具体的には、第2のインスタンスでの第1のテキストベースのナビゲーション命令は、第1のインスタンスでの第1のテキストベースのナビゲーション命令と同一の方向転換、方向転換のための位置、および/または特定の方向転換のための位置にユーザが近づく方向を含む。さらに、第1のテキストベースのナビゲーション命令に対応する第2のオーディオナビゲーション命令は、第1のインスタンスでの第1のオーディオナビゲーション命令とは異なるオーディオナビゲーション命令パラメータを含む。たとえば、第2のインスタンスでの第2のオーディオナビゲーション命令は、第1のインスタンスでの第1のオーディオナビゲーション命令とは異なる詳細レベル、タイミング、または音量を含み得る。
【００７０】
いずれにしても、コンテキストアウェアオーディオナビゲーションジェネレータ68は、クライアントコンピューティングデバイス10に第2のセットを提供し(ブロック614)、次いで、クライアントコンピューティングデバイス10は、スピーカ26を介してユーザに第2のセットを提示する(ブロック616)。いくつかの実施形態では、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーションデータサーバ34に要求を転送し、ナビゲーションデータサーバ34からテキストベースのナビゲーション命令のセットを受け取ることによって、オーディオナビゲーション命令の第2のセットを生成する。それぞれのテキストベースのナビゲーション命令について、コンテキストアウェアオーディオナビゲーションジェネレータ68は、機械学習モデル420にセンサデータの第2のセットを適用して、ナビゲーション命令についてのオーディオナビゲーション命令パラメータを生成する。次いで、コンテキストアウェアオーディオナビゲーションジェネレータ68は、ナビゲーション命令にオーディオナビゲーション命令パラメータを適用して、オーディオナビゲーション命令を生成する。
【００７１】
追加の考慮すべき点
以下の追加の考慮すべき点が上記の議論に当てはまる。本明細書全体にわたって、複数のインスタンスが、単一のインスタンスとして説明された構成要素、動作、または構造を実装し得る。1つまたは複数の方法の個々の動作が別々の動作として図示され、説明されるが、個々の動作のうちの1つまたは複数が同時に実施され得、図示される順序で動作が実施される必要はない。例示的構成において別々の構成要素として提示される構造および機能が、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として提示された構造および機能が、別々の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改良は、本開示の主題の範囲内に包含される。
【００７２】
さらに、本明細書において、いくつかの実施形態が、論理、またはいくつかの構成要素、モジュール、もしくは機構を含むものとして説明される。モジュールは、ソフトウェアモジュール(たとえば、機械可読媒体上に記憶されたコード)またはハードウェアモジュールのどちらかを構成し得る。ハードウェアモジュールは、一定の動作を実施することのできる有形のユニットであり、一定の方式で構成または配置され得る。例示的実施形態では、1つまたは複数のコンピュータシステム(たとえば、スタンドアロン、クライアント、またはサーバコンピュータシステム)あるいはコンピュータシステムの1つまたは複数のハードウェアモジュール(たとえば、プロセッサまたはプロセッサのグループ)が、ソフトウェア(たとえば、アプリケーションまたはアプリケーション部分)によって、本明細書において説明されるように一定の動作を実施するように動作するハードウェアモジュールとして構成され得る。
【００７３】
様々な実施形態では、ハードウェアモジュールは機械的または電子的に実装され得る。たとえば、ハードウェアモジュールは、一定の動作を実施するように(たとえば、フィールドプログラマブルゲートアレイ(FPGA)や特定用途向け集積回路(ASIC)などの専用プロセッサとして)永続的に構成される専用回路または論理を含み得る。ハードウェアモジュールはまた、一定の動作を実施するようにソフトウェアによって一時的に構成される(汎用プロセッサまたは他のプログラマブルプロセッサ内に包含される)プログラマブル論理または回路をも含み得る。機械的に、専用の永続的に構成された回路として、または一時的に構成された(たとえば、ソフトウェアによって構成された)回路としてハードウェアモジュールを実装する決定は、コストおよび時間を考慮して行われ得ることを理解されよう。
【００７４】
したがって、ハードウェアという用語は、有形のエンティティを包含し、一定の方式で動作し、または本明細書において説明された一定の動作を実施するように物理的に構成され、永続的に構成され(たとえば、ハードワイヤードされ)、または一時的に構成される(たとえば、プログラムされる)エンティティであると理解されたい。本明細書では、「ハードウェア実装モジュール」という用語はハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(たとえば、プログラムされる)実施形態を考慮すると、ハードウェアモジュールのそれぞれを、何らかのある時間に構成またはインスタンス化する必要はない。たとえば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを備える場合、汎用プロセッサは、異なる時間にそれぞれ異なるハードウェアモジュールとして構成され得る。ソフトウェアは、それに応じて、たとえばある時間に特定のハードウェアモジュールを構成し、異なる時間に異なるハードウェアモジュールを構成するようにプロセッサを構成し得る。
【００７５】
ハードウェアモジュールは、他のハードウェアに情報を提供し、他のハードウェアから情報を受け取り得る。したがって、記載のハードウェアモジュールは、通信可能に結合されると見なされ得る。そのようなハードウェアモジュールのうちの複数が同時に存在する場合、ハードウェアモジュールを接続する(たとえば、適切な回路およびバスを介する)信号伝送を通じて通信が達成され得る。異なる時間に複数のハードウェアモジュールが構成またはインスタンス化される実施形態では、そのようなハードウェアモジュール間の通信が、たとえば複数のハードウェアモジュールがアクセスできるメモリ構造内の情報の記憶および検索を通じて達成され得る。たとえば、あるハードウェアモジュールは、動作を実施し、ハードウェアモジュールが通信可能に結合されるメモリデバイス内にその動作の出力を記憶し得る。次いで、別のハードウェアモジュールが、後の時間に、メモリデバイスにアクセスして、記憶された出力を検索および処理し得る。ハードウェアモジュールはまた、入力または出力デバイスとの通信を開始し得、リソース(たとえば、情報の集合)に対して動作し得る。
【００７６】
方法500および600は、非一時的コンピュータ可読記憶媒体内に記憶され、コンピューティングデバイス(たとえば、サーバデバイス、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、スマートウォッチ、モバイルコンピューティングデバイス、または本明細書において説明される他のクライアントコンピューティングデバイス)のプロセッサを使用して実行される有形のコンピュータ実行可能命令の形態の1つまたは複数の機能ブロック、モジュール、個々の機能またはルーチンを含み得る。方法500および600は、たとえば例示的環境のバックエンドサーバ(たとえば、マップデータサーバ、ナビゲーションサーバ、または本明細書において説明される任意の他のタイプのサーバコンピューティングデバイス)、クライアントコンピューティングデバイスモジュールの部分として、またはそのような環境の外部のモジュールの部分として含まれ得る。説明がしやすいように、図が他の図を参照して説明され得るが、方法500および600は、他のオブジェクトおよびユーザインターフェースと共に利用され得る。さらに、上記の説明は、方法500および600のステップが特定のデバイス(サーバデバイス60やクライアントコンピューティングデバイス10など)によって実施されることを記述するが、これは例示のために行われるに過ぎない。方法500および600のブロックは、1つまたは複数のデバイスまたは環境の他の部分によって実施され得る。
【００７７】
本明細書において説明される例示的方法の様々な動作は、少なくとも部分的に、関連する動作を実施するように(たとえば、ソフトウェアによって)一時的に構成され、または永続的に構成される1つまたは複数のプロセッサによって実施され得る。一時的に構成されるか、永続的に構成されるかに関わらず、そのようなプロセッサは、1つまたは複数の動作または機能を実施するように動作するプロセッサ実装モジュールを構成し得る。本明細書において参照されるモジュールは、いくつかの例示的実施形態では、プロセッサ実装モジュールを含む。
【００７８】
同様に、本明細書において説明される方法またはルーチンは、少なくとも部分的にプロセッサ実装され得る。たとえば、方法の動作の少なくとも一部が、1つまたは複数のプロセッサまたはプロセッサ実装ハードウェアモジュールによって実施され得る。動作のうちのいくつかの実施は、単一のマシン内に常駐するだけでなく、いくつかのマシンにわたって配置される1つまたは複数のプロセッサの間で分散され得る。いくつかの例示的実施形態では、プロセッサは、単一の位置内(たとえば、自宅環境内、オフィス環境内、またはサーバファームとして)に配置され得るが、他の実施形態では、プロセッサはいくつかの位置にわたって分散され得る。
【００７９】
1つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境内の、またはSaaSとしての関連する動作の実施をサポートするように動作し得る。たとえば、上記で示されたように、動作の少なくとも一部が、(プロセッサを含むマシンの例として)コンピュータのグループによって実施され得、これらの動作は、ネットワーク(たとえば、インターネット)を介して、1つまたは複数の適切なインターフェース(たとえば、API)を介してアクセス可能である。
【００８０】
さらに、図は、単に例示の目的で例示的環境のいくつかの実施形態を示す。本明細書において説明される原理から逸脱することなく、本明細書において示される構造および方法の代替実施形態が利用され得ることを以下の議論から当業者は容易に理解されよう。
【００８１】
本開示を読むとき、本明細書において開示される原理を通じてコンテキストアウェアオーディオナビゲーション命令を提供するためのさらに追加の代替の構造的および機能的設計を当業者は理解されよう。したがって、特定の実施形態および適用が図示および説明されたが、開示される実施形態が、本明細書において開示される厳密な構成および構成要素に限定されないことを理解されたい。添付の特許請求の範囲において定義される精神および範囲から逸脱することなく、当業者にとって明らかとなる様々な修正、変更、および変形が、本明細書において開示される方法および装置の配置、動作、および詳細において行われ得る。
【符号の説明】
【００８２】
10  ポータブルデバイス
12  車両
14  ヘッドユニット
16  通信リンク
18  ディスプレイ
19  センサ
20  ハードウェア入力制御
22  ハードウェア入力制御
24  マイクロフォン
26  スピーカ
30  通信ネットワーク
32  ユーザインターフェース(UI)
34  ナビゲーションデータサーバ
50  サーバ
60  サーバデバイス
62  プロセッサ
64  メモリ
68  コンテキストアウェアオーディオナビゲーションジェネレータ
80  データベース
100  通信システム
112  グラフィックス処理装置(GPU)
114 I/Oモジュール
116  プロセッサ(CPU)
120  メモリ
122  アプリケーション
124  ナビゲーションディスプレイ
126  オペレーティングシステム(OS)
300  トレーニングデータ
302  オーディオナビゲーション命令の詳細レベル
304  オーディオナビゲーション命令のタイミング
306  ナビゲーション命令の音量
308  位置
310  オーディオナビゲーション命令パラメータ
314  気象条件
316  時刻
318  オーディオデータ、雑音
320  センサデータからのコンテキスト信号
322  ユーザの満足に関する自己報告された表示
330  ドライバー応答
402  機械学習エンジン
420  機械学習モデル
【図１】
2021530676.tif 000003
【図２】
2021530676.tif 000004
【図３】
2021530676.tif 000005
【図４】
2021530676.tif 000006
【図５】
2021530676.tif 000007
【図６】
2021530676.tif 000008
【国際調査報告】
2021530676.tif 000009
2021530676.tif 000010