(57)【特許請求の範囲】
【請求項１】
乗車オーダーに関連する到着時間を推定するための方法であって、
前記方法は、
トレーニングされた機械学習モデルに輸送情報を入力するステップであって、
前記輸送情報が、前記乗車オーダーに関連する出発地と目的地とを含み、
前記トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含む、
入力するステップと、
前記トレーニングされた機械学習モデルに基づいて、前記出発地と前記目的地とを接続するルートを介して前記目的地に到着するための推定された時間を得るステップとを含み、
前記機械学習モデルをトレーニングするステップは、複数の履歴車両移動の各々について、
前記履歴車両移動に関連する輸送トレーニング・データを得るステップであって、前記輸送トレーニング・データが、履歴出発地と履歴目的地とを接続する履歴ルートと、実履歴移動時間とを含み、前記履歴ルートが、道路セグメントに各々対応するリンクのシーケンスに対応する、得るステップと、
前記輸送トレーニング・データから１つまたは複数の大域特徴および局所特徴を得るステップと、
それぞれ出力を得るために、前記ワイド・ネットワークに前記大域特徴を入力するステップ、前記ディープ・ニューラル・ネットワークに前記大域特徴を入力するステップ、および前記リカレント・ニューラル・ネットワークに前記局所特徴を入力するステップと、
を含む、方法。
【請求項２】
推定された履歴移動時間を得るために、前記ワイド・ネットワーク、前記ディープ・ニューラル・ネットワーク、および前記リカレント・ニューラル・ネットワークからの前記出力を前記多層パーセプトロン・ネットワークに入力するステップ
をさらに含む、請求項１に記載の方法。
【請求項３】
前記大域特徴が、前記履歴ルートにおける前記リンクについて均一であり、
前記局所特徴が、個々に前記リンクに関連する、
請求項１または請求項２に記載の方法。
【請求項４】
前記大域特徴が、
ドライバ識別情報、乗客識別情報、曜日、時間、気象、またはピーク時間決定のうちの少なくとも１つを含む疎な特徴と、
前記ルートを包含する形状を含む第１の密な特徴と
を含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記局所特徴が、
前記リンクに対応して関連する基準特徴であって、リンク識別情報、リンク速度制限、リンク通行料金決定、リンク道路幅、またはリンク道路分類のうちの少なくとも１つを含む、基準特徴と、
前記リンクに対応して関連する第２の密な特徴であって、リアルタイム・リンク交通速度、リンク長さ、またはリンク交通信号持続時間のうちの少なくとも１つを含む、第２の密な特徴と
を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記ワイド・ネットワークからの前記出力を得るために、前記ワイド・ネットワークに前記大域特徴を入力するステップが、
前記大域特徴のうちのあらゆる２つの間の積に各々対応する複数の特徴積を得るステップ
を含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記ディープ・ニューラル・ネットワークが、フィードフォワード・ニューラル・ネットワークを含み、
前記ディープ・ニューラル・ネットワークからの前記出力を得るために、前記ディープ・ニューラル・ネットワークに前記大域特徴を入力するステップが、
前記疎な特徴を埋め込むステップと、
前記第１の密な特徴と前記埋め込まれた疎な特徴とを連結するステップと、
前記フィードフォワード・ニューラル・ネットワークからの前記出力を得るために、前記連結された第１の密な特徴および疎な特徴を前記フィードフォワード・ニューラル・ネットワークに供給するステップと
を含む、
請求項４〜６のいずれか一項に記載の方法。
【請求項８】
前記リカレント・ニューラル・ネットワークが、前記リンクの前記シーケンスを対応させるシーケンスにおける複数の層を含み、
前記リカレント・ニューラル・ネットワークからの前記出力を得るために、前記リカレント・ニューラル・ネットワークに前記局所特徴を入力するステップが、前記履歴車両移動の各々について、
層の前記シーケンスにおける最後の層の現在の隠れ状態を得るために、前記層への入力として、前記局所特徴を対応して供給するステップ
を含む、
請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記リカレント・ニューラル・ネットワークが、長短期メモリ・ネットワークに結合された別の多層パーセプトロン・ネットワークを含み、
前記リカレント・ニューラル・ネットワークからの前記出力を得るために、前記リカレント・ニューラル・ネットワークに前記局所特徴を入力するステップが、
前記リンクに対応して関連する第１の結果を得るために、前記別の多層パーセプトロン・ネットワークに前記局所特徴を供給するステップと、
様々な層のうちの最後の層の現在の隠れ状態を得るために、前記長短期メモリ・ネットワークの前記様々な層への入力として前記第１の結果を対応して供給するステップと
を含む、
請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスを含み、
前記輸送情報が、ドライバ識別情報、乗客識別情報、曜日、時間、気象、ピーク時間決定、前記ルートを包含する形状、リンク識別情報、リンク速度制限、リンク通行料金決定、リンク道路幅、リンク道路分類、リアルタイム・リンク交通速度、リンク長さ、またはリンク交通信号持続時間のうちの少なくとも１つをさらに含む、
請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
サーバ上で実装可能な、乗車オーダーに関連する到着時間を推定するためのシステムであって、プロセッサと、命令を記憶する非一時的コンピュータ可読ストレージ媒体とを備え、前記命令は、前記プロセッサによって実行されたとき、前記システムに方法を実施させ、前記方法は、
トレーニングされた機械学習モデルに輸送情報を入力するステップであって、
前記輸送情報が、前記乗車オーダーに関連する出発地と目的地とを含み、
前記トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含む、
入力するステップと、
前記トレーニングされた機械学習モデルに基づいて、前記出発地と前記目的地とを接続するルートを介して前記目的地に到着するための推定された時間を得るステップと、を含み、
前記機械学習モデルをトレーニングすることは、複数の履歴車両移動の各々について、
前記履歴車両移動に関連する輸送トレーニング・データを得ることであって、前記輸送トレーニング・データが、履歴出発地と履歴目的地とを接続する履歴ルートと、実履歴移動時間とを含み、前記履歴ルートが、道路セグメントに各々対応するリンクのシーケンスに対応する、得ることと、
前記輸送トレーニング・データから１つまたは複数の大域特徴および局所特徴を得ることと、
それぞれ出力を得るために、前記ワイド・ネットワークに前記大域特徴を入力すること、前記ディープ・ニューラル・ネットワークに前記大域特徴を入力すること、および前記リカレント・ニューラル・ネットワークに前記局所特徴を入力することと
を含む、システム。
【請求項１２】
前記機械学習モデルをトレーニングすることは、複数の履歴車両移動の各々について、
推定された履歴移動時間を得るために、前記ワイド・ネットワーク、前記ディープ・ニューラル・ネットワーク、および前記リカレント・ニューラル・ネットワークからの前記出力を前記多層パーセプトロン・ネットワークに入力すること
をさらに含む、請求項１１に記載のシステム。
【請求項１３】
処理回路によって実行されたとき、前記処理回路に、
トレーニングされた機械学習モデルに輸送情報を入力することであって、
前記輸送情報が、前記乗車オーダーに関連する出発地と目的地とを含み、
前記トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含む、
入力することと、
前記トレーニングされた機械学習モデルに基づいて、前記出発地と前記目的地とを接続するルートを介して前記目的地に到着するための推定された時間を得ることと
を含み、
前記機械学習モデルをトレーニングすることは、複数の履歴車両移動の各々について、
前記履歴車両移動に関連する輸送トレーニング・データを得ることであって、前記輸送トレーニング・データが、履歴出発地と履歴目的地とを接続する履歴ルートと、実履歴移動時間とを含み、前記履歴ルートが、道路セグメントに各々対応するリンクのシーケンスに対応する、得ることと、
前記輸送トレーニング・データから１つまたは複数の大域特徴および局所特徴を得ることと、
それぞれ出力を得るために、前記ワイド・ネットワークに前記大域特徴を入力すること、前記ディープ・ニューラル・ネットワークに前記大域特徴を入力すること、および前記リカレント・ニューラル・ネットワークに前記局所特徴を入力することと
を含む、動作を実施させる、命令を記憶した非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、到着時間を推定するための方法およびデバイスに関する。
【背景技術】
【０００２】
車両派遣プラットフォームが、輸送サービスをそれぞれ提供するための様々な車両に輸送要求を割り振ることができる。そのようなサービスを要求するユーザは、そのプラットフォームが１つまたは複数の好適なルートを決定するために、出発地と目的地とを示し得る。サービス料金を推定するのを助けるために、および／またはサービスを受け入れるべきかどうかを決定するための情報を提供するために、目的地における到着時間を正確に予測することが重要である。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の様々な実施形態は、到着時間を推定するように構成されたシステム、方法、および非一時的コンピュータ可読媒体を含むことができる。乗車オーダー（ｒｉｄｅ  ｏｒｄｅｒ）に関連する到着時間を推定するための方法は、トレーニングされた機械学習モデルに輸送情報を入力するステップを含み得る。輸送情報は、乗車オーダーに関連する出発地と目的地とを含み得る。トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含み得る。本方法は、トレーニングされた機械学習モデルに基づいて、出発地と目的地とを接続するルートを介して目的地に到着するための推定された時間を得るステップをさらに含み得る。
【０００４】
いくつかの実施形態では、ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスを含む。輸送情報は、ドライバ識別情報、乗客識別情報、曜日、時間、気象、ピーク時間決定、ルートを包含する形状、リンク識別情報、リンク速度制限、リンク通行料金決定、リンク道路幅、リンク道路分類、リアルタイム・リンク交通速度、リンク長さ、またはリンク交通信号持続時間のうちの少なくとも１つをさらに含む。
【０００５】
いくつかの実施形態では、機械学習モデルをトレーニングするステップは、複数の履歴車両移動の各々について、履歴車両移動に関連する輸送トレーニング・データを得るステップであって、輸送トレーニング・データが、履歴出発地と履歴目的地とを接続する履歴ルートと、実履歴移動時間とを含む、得るステップと、輸送トレーニング・データから１つまたは複数の（１）大域特徴および（２）局所特徴を得るステップと、それぞれ出力を得るために、ワイド・ネットワークに大域特徴を入力するステップ、ディープ・ニューラル・ネットワークに大域特徴を入力するステップ、およびリカレント・ニューラル・ネットワークに局所特徴を入力するステップと、推定された履歴移動時間を得るために、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークからの出力を多層パーセプトロン・ネットワークに入力するステップと、推定された履歴移動時間と実履歴移動時間との間の差分を最小化することに少なくとも基づいて、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、リカレント・ニューラル・ネットワーク、および多層パーセプトロン・ネットワークに関連する１つまたは複数の重みを更新するステップとを含む。履歴ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスに対応し得る。大域特徴は、履歴ルートにおけるリンクについて均一であり得る。局所特徴は、個々にリンクに関連し得る。
【０００６】
いくつかの実施形態では、大域特徴は、（１）ドライバ識別情報、乗客識別情報、曜日、時間、気象、またはピーク時間決定のうちの少なくとも１つを含む疎な特徴と、（２）ルートを包含する形状を含む第１の密な特徴とを含み得る。局所特徴は、（１）リンクに対応して関連する基準特徴であって、リンク識別情報、リンク速度制限、リンク通行料金決定、リンク道路幅、またはリンク道路分類のうちの少なくとも１つを含む、基準特徴と、（２）リンクに対応して関連する第２の密な特徴であって、リアルタイム・リンク交通速度、リンク長さ、またはリンク交通信号持続時間のうちの少なくとも１つを含む、第２の密な特徴とを含み得る。
【０００７】
いくつかの実施形態では、ワイド・ネットワークからの出力を得るために、ワイド・ネットワークに大域特徴を入力するステップは、大域特徴のうちのあらゆる２つの間の積に各々対応する複数の特徴積を得るステップと、ワイド・ネットワークからの出力を得るために、大域特徴と得られた特徴積とに基づいてアフィン変換を実施するステップとを含む。アフィン変換は、大域特徴と得られた特徴積とを出力にマッピングし得、大域特徴と出力とは、１つまたは複数の重みに関連し得る。
【０００８】
いくつかの実施形態では、ディープ・ニューラル・ネットワークは、フィードフォワード・ニューラル・ネットワークを含み得、フィードフォワード・ニューラル・ネットワークは、シーケンスにおける複数の層を含み得、隣り合う層のあらゆる２つが、１つまたは複数の重みに関連し得、複数の層は、入力層と、１つまたは複数の隠れ層と、出力層とを含み得、大域特徴は、疎な特徴と、第１の密な特徴とを含み得る。ディープ・ニューラル・ネットワークからの出力を得るために、ディープ・ニューラル・ネットワークに大域特徴を入力するステップは、疎な特徴を埋め込むステップと、第１の密な特徴と埋め込まれた疎な特徴とを連結するステップと、フィードフォワード・ニューラル・ネットワークの出力層からの出力を得るために、連結された第１の密な特徴および疎な特徴をフィードフォワード・ニューラル・ネットワークに供給するステップとを含み得る。
【０００９】
いくつかの実施形態では、リカレント・ニューラル・ネットワークは、リンクのシーケンスに対応させるシーケンスにおける複数の層を含み得、隣り合う層のあらゆる２つが、１つまたは複数の重みに関連し得、第１の層以外の層の各々は、前の層から入力と前の隠れ状態とを受信し、出力と現在の隠れ状態とを生成する。リカレント・ニューラル・ネットワークからの出力を得るために、リカレント・ニューラル・ネットワークに局所特徴を入力するステップは、履歴移動の各々について、層のシーケンスにおける最後の層の現在の隠れ状態を得るために、層への入力として、局所特徴を対応して供給するステップを含み得る。
【００１０】
いくつかの実施形態では、リカレント・ニューラル・ネットワークは、長短期メモリ・ネットワークに結合された別の多層パーセプトロン・ネットワークを含み得、別の多層パーセプトロン・ネットワークと長短期メモリ・ネットワークとは、各々、重みのうちの１つまたは複数に関連する。リカレント・ニューラル・ネットワークからの出力を得るために、リカレント・ニューラル・ネットワークに局所特徴を入力するステップは、リンクに対応して関連する第１の結果を得るために、別の多層パーセプトロン・ネットワークに局所特徴を供給するステップと、様々な層のうちの最後の層の現在の隠れ状態を得るために、長短期メモリ・ネットワークの様々な層への入力として第１の結果を対応して供給するステップとを含み得る。
【００１１】
いくつかの実施形態では、多層パーセプトロン・ネットワークは、シーケンスにおける複数の層を含み得、隣り合う層のあらゆる２つが、重みのうちの１つまたは複数に関連し得、複数の層は、入力層と、１つまたは複数の隠れ層と、出力層とを含み得る。
【００１２】
別の態様によれば、本開示は、乗車オーダーに関連する到着時間を推定するためのシステムを提供する。本システムは、サーバ上で実装可能であり得る。本システムは、プロセッサと、命令を記憶する非一時的コンピュータ可読ストレージ媒体とを備え得、命令は、プロセッサによって実行されたとき、本システムに方法を実施させる。方法は、トレーニングされた機械学習モデルに輸送情報を入力するステップを含み得る。輸送情報は、乗車オーダーに関連する出発地と目的地とを含み得る。トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含み得る。方法は、トレーニングされた機械学習モデルに基づいて、出発地と目的地とを接続するルートを介して目的地に到着するための推定された時間を得るステップをさらに含み得る。
【００１３】
別の態様によれば、本開示は、乗車オーダーに関連する到着時間を推定するための方法を提供する。本方法は、サーバ上で実装可能であり得る。本方法は、デバイスから、出発地から目的地への輸送のための乗車オーダーを受信するステップと、出発地と目的地とを接続するルートを決定するステップと、ルートに関連する輸送情報を得るステップと、ルートを介して目的地に到着するための推定された時間を得るために、トレーニングされた機械学習モデルに得られた輸送情報を入力するステップと、推定された時間をデバイス上で再生させるステップとを含み得る。
【００１４】
別の態様によれば、本開示は、乗車オーダーに関連する到着時間を推定するためのシステムであって、プロセッサと、命令を記憶する非一時的コンピュータ可読ストレージ媒体とを備え、命令は、プロセッサによって実行されたとき、本システムに方法を実施させる、システムを提供する。方法は、デバイスから、出発地から目的地への輸送のための乗車オーダーを受信するステップと、出発地と目的地とを接続するルートを決定するステップと、ルートに関連する輸送情報を得るステップと、ルートを介して目的地に到着するための推定された時間を得るために、トレーニングされた機械学習モデルに得られた輸送情報を入力するステップと、推定された時間をデバイス上で再生させるステップとを含み得る。
【００１５】
別の態様によれば、本開示は、命令を記憶する非一時的コンピュータ可読ストレージ媒体であって、命令が、プロセッサによって実行されたとき、プロセッサに、乗車オーダーに関連する到着時間を推定するための方法を実施させる、非一時的コンピュータ可読ストレージ媒体を提供する。方法は、デバイスから、出発地から目的地への輸送のための乗車オーダーを受信するステップと、出発地と目的地とを接続するルートを決定するステップと、ルートに関連する輸送情報を得るステップと、ルートを介して目的地に到着するための推定された時間を得るために、トレーニングされた機械学習モデルに得られた輸送情報を入力するステップと、推定された時間をデバイス上で再生させるステップとを含み得る。
【００１６】
本明細書で開示されるシステム、方法、および非一時的コンピュータ可読媒体のこれらおよび他の特徴、ならびに構造の関係する要素および部分の組合せの動作方法および機能ならびに製造の経済性は、それらのすべてが本明細書の一部を形成し、同様の参照番号が様々な図における対応する部分を指す、添付の図面を参照しながら、以下の説明および添付の特許請求の範囲を考慮すればより明らかになろう。ただし、図面は、単に例示および説明のためのものであり、本発明の限界を定めるものではないことを明確に理解されたい。
【００１７】
本技術の様々な実施形態のいくつかの特徴が、添付の特許請求の範囲において特に記載される。本発明の原理が利用される、例示的な実施形態を記載する以下の詳細な説明、および添付の図面を参照することによって、技術の特徴および利点のより良い理解が得られるであろう。
【図面の簡単な説明】
【００１８】
【図１】様々な実施形態による、到着時間を推定するための例示的な環境を示す図である。
【図２】様々な実施形態による、到着時間を推定するための例示的なシステムを示す図である。
【図３Ａ】様々な実施形態による、到着時間を推定するための例示的な機械学習モデルを示す図である。
【図３Ｂ】様々な実施形態による、到着時間を推定するための例示的な多層パーセプトロン・フレームワークを示す図である。
【図３Ｃ】様々な実施形態による、到着時間を推定するための例示的なリカレント・ニューラル・ネットワーク・フレームワークを示す図である。
【図４Ａ】様々な実施形態による、到着時間を推定するための例示的な方法のフローチャートを示す図である。
【図４Ｂ】様々な実施形態による、到着時間を推定するための例示的な方法のフローチャートを示す図である。
【図４Ｃ】様々な実施形態による、到着時間を推定するための例示的な方法のフローチャートを示す図である。
【図５】本明細書で説明される実施形態のいずれかが実装され得る例示的なコンピュータ・システムのブロック図である。
【発明を実施するための形態】
【００１９】
輸送サービスのための車両プラットフォームが提供され得る。そのような車両プラットフォームは、車両配車プラットフォームまたは車両派遣プラットフォームと呼ばれることもあり、プラットフォーム・アプリケーションがインストールされたモバイル・フォンなどのデバイスを通してアクセス可能であり得る。アプリケーションを介して、ユーザ（乗り物要求者）は、輸送要求（たとえば、目的地、識別されたピックアップ位置またはユーザの現在地などの出発地）を車両プラットフォームに送信することができる。車両プラットフォームは、最小距離、ユーザのための最小コスト、ドライバのための最小コスト、車両の利用可能性など、様々なファクタに基づいて、出発地から目的地への輸送のための１つまたは複数のルートを決定し得る。車両プラットフォームはまた、要求者の位置またはピックアップ位置などへの近接度など、様々なファクタに基づいて、アプリケーションを介して車両ドライバに要求を送信し得る。車両ドライバは要求から選定することができ、各々は受け付けるべき要求を選ぶことができる。輸送要求が車両と照合されると、ユーザは、車両プラットフォームのアプリケーションを介して、決定されたルート、および／または推定された到着時間を通知され得る。推定された到着時間は、車両プラットフォームが輸送サービスのための料金を決定し、およびユーザが輸送サービスを受け入れるかどうかを決定するために重要である。さらに、到着時間は、ユーザがスケジュールを調整するのを助けるために、ユーザが車両によって輸送される間、リアルタイムで更新され得る。
【００２０】
現在の技術では、到着時間推定方法は初歩的であり、その精度は低い。例示的な既存の方法は、物理モデルを含むにすぎず、そこでは、走行時間が合計距離と走行速度とに基づいて算出される。多くの異なるファクタを受ける走行速度は、同じルートにおいて道路セグメントごとに変動することがある。そのような変動の考慮の欠如が、既存の方法における不正確さを生じる少なくとも１つの理由である。
【００２１】
開示されるシステムおよび方法は、少なくとも、現在の技術における上記で説明された欠点を克服し、正確な到着時間推定値を提供することができる。車両派遣シナリオに関して説明されるが、開示されるシステムおよび方法は、車両の到着時間を推定するための様々な同様の状況において適用可能である。開示されるシステムおよび方法は、推定値を提供するためにリアルタイムでユーザのデバイスおよびドライバのデバイスと通信することができる、トレーニングされた機械学習モデルを得るために、履歴移動など、履歴データに基づいて、機械学習モデルをトレーニングすることができる。
【００２２】
開示されるシステムおよび方法によって使用される機械学習モデル（またはアルゴリズム）は、多層パーセプトロン（ＭＬＰ：ｍｕｌｔｉｌａｙｅｒ  ｐｅｒｃｅｐｔｒｏｎ）ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク（ＤＮＮ：ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）、およびリカレント・ニューラル・ネットワーク（ＲＮＮ：ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）のすべてを含み得る。４つのネットワークの各々は、その（１つまたは複数の）入力、（１つまたは複数の）中間状態、および（１つまたは複数の）出力を関連付ける様々な重みを含み得る。例示的なトレーニング・プロセスでは、トレーニング・データは、様々な移動、および出発地、目的地、時間、位置、走行時間などの関連する情報を含み得る。様々な特徴が、トレーニング・データから得られ得、ワイド・ネットワーク、ＤＮＮ、およびＲＮＮに対応して入力され得る。ワイド・ネットワーク、ＤＮＮ、およびＲＮＮからの出力は、トレーニング・データにおける各移動についての推定された到着時間を得るために、組み合わせられるかまたはさもなければＭＬＰに入力され得る。ワイド・ネットワーク、ＤＮＮ、ＲＮＮ、およびＭＬＰに関連する重みは、推定された到着時間と（履歴）走行時間との間の差分を最小化することに少なくとも基づいて更新され得る。したがって、多くの履歴移動を用いて機械学習モデルをトレーニングすることによって、しきい値精度に達するトレーニングされた機械学習モデルが得られ得る。
【００２３】
本開示の様々な実施形態は、到着時間を推定するように構成されたシステム、方法、および非一時的コンピュータ可読媒体を含む。いくつかの実施形態では、乗車オーダーに関連する到着時間を推定するための方法は、サーバ上で実装可能であり得、デバイスから、出発地から目的地への輸送のための乗車オーダーを受信するステップと、出発地と目的地とを接続するルートを決定するステップと、ルートに関連する輸送情報を得るステップと、ルートを介して目的地に到着するための推定された時間を得るために、トレーニングされた機械学習モデルに得られた輸送情報を入力するステップと、推定された時間をデバイス上で再生させるステップとを含み得る。
【００２４】
いくつかの実施形態では、ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスを含み得る。輸送情報は、ドライバ識別情報、乗客識別情報、曜日、時間、気象、ピーク時間決定、ルートを包含する形状、リンク識別情報、リンク速度制限、リンク通行料金決定、リンク道路幅、リンク道路分類、リアルタイム・リンク交通速度、リンク長さ、またはリンク交通信号持続時間のうちの少なくとも１つを含み得る。
【００２５】
いくつかの実施形態では、乗車オーダーに関連する到着時間を推定するための方法は、トレーニングされた機械学習モデルに輸送情報を入力するステップを含み得る。輸送情報は、乗車オーダーに関連する出発地と目的地とを含み、トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含む。本方法は、トレーニングされた機械学習モデルに基づいて、出発地と目的地とを接続するルートを介して目的地に到着するための推定された時間を得るステップをさらに含み得る。本方法は、サーバ、モバイル・フォンなど、コンピューティング・デバイスによって実施され得る。
【００２６】
図１は、様々な実施形態による、到着時間を推定するための例示的な環境１００を示す。図１に示されているように、例示的な環境１００は、１つまたは複数のプロセッサ１０４とメモリ１０６とを含む少なくとも１つのコンピューティング・システム１０２を備えることができる。メモリ１０６は、非一時的およびコンピュータ可読であり得る。メモリ１０６は、１つまたは複数のプロセッサ１０４によって実行されたとき、本明細書で説明される様々な動作を１つまたは複数のプロセッサ１０４に実施させる命令を記憶し得る。システム１０２は、モバイル・フォン、タブレット、サーバ、コンピュータ、ウェアラブル・デバイス（スマート・ウォッチ）など、様々なデバイスの上にまたはそれらとして実装され得る。上記のシステム１０２は、環境１００の他のデバイスにアクセスするために、適切なソフトウェア（たとえば、プラットフォーム・プログラムなど）および／またはハードウェア（たとえば、ワイヤ、ワイヤレス接続など）がインストールされ得る。
【００２７】
環境１００は、システム１０２にとってアクセス可能である、１つまたは複数のデータ・ストア（たとえば、データ・ストア１０８）と、１つまたは複数のコンピューティング・デバイス（たとえば、コンピューティング・デバイス１０９）とを含み得る。いくつかの実施形態では、システム１０２は、データ・ストア１０８（たとえば、履歴輸送移動のデータベースまたはデータセット）および／またはコンピューティング・デバイス１０９（たとえば、輸送移動情報をキャプチャするドライバまたは乗客によって使用されるコンピュータ、サーバ、モバイル・フォン）から（たとえば、出発地、目的地、時間、位置、走行時間、および過去の車両輸送移動のための他のデータとしての）データを得るように構成され得る。システム１０２は、到着時間を推定するための機械学習モデルをトレーニングするために、得られたデータを使用し得る。出発地、目的地、および他の位置情報は、ＧＰＳ（全地球測位システム）座標を含み得る。
【００２８】
環境１００は、システム１０２に結合された１つまたは複数のコンピューティング・デバイス（たとえば、コンピューティング・デバイス１１０および１１１）をさらに含み得る。コンピューティング・デバイス１１０および１１１は、セルフォン、タブレット、コンピュータ、ウェアラブル・デバイス（スマート・ウォッチ）など、デバイスを含み得る。コンピューティング・デバイス１１０および１１１は、システム１０２との間でデータを送信または受信し得る。
【００２９】
いくつかの実施形態では、システム１０２は、オンライン情報またはサービス・プラットフォームを実装し得る。サービスは、車両（たとえば、車、自転車、ボート、飛行機など）に関連し得、プラットフォームは、車両（サービス配車または乗車オーダー派遣）プラットフォームと呼ばれることがある。プラットフォームは、輸送についての要求を受け付け、要求を満たす車両を照合し、ピックアップを手配し、取引を処理し得る。たとえば、ユーザは、輸送をプラットフォームに要求するために、コンピューティング・デバイス１１０（たとえば、プラットフォームに関連するソフトウェア・アプリケーションがインストールされたモバイル・フォン）を使用し得る。システム１０２は、要求を受信し、それを（たとえば、ドライバによって携帯されるモバイル・フォンにその要求を投稿することによって）様々な車両ドライバに送信し得る。車両ドライバは、投稿された輸送要求を受け付け、ピックアップ位置情報を得るために、コンピューティング・デバイス１１１（たとえば、プラットフォームに関連するアプリケーションがインストールされた別のモバイル・フォン）を使用し得る。料金（たとえば、輸送料金）が、システム１０２とコンピューティング・デバイス１１０および１１１との間で取引され得る。何らかのプラットフォーム・データが、メモリ１０６に記憶されるか、あるいはデータ・ストア１０８ならびに／またはコンピューティング・デバイス１０９、１１０、および１１１から取出し可能であり得る。たとえば、各移動について、（たとえば、コンピューティング・デバイス１１１によって送信された）出発地および目的地の位置、料金、および移動時間が、システム１０２によって得られ得る。そのような移動データは、トレーニング・データに組み込まれ得る。
【００３０】
いくつかの実施形態では、システム１０２とコンピューティング・デバイスのうちの１つまたは複数（たとえば、コンピューティング・デバイス１０９）とが、単一のデバイスまたはシステムに組み込まれ得る。代替的に、システム１０２と１つまたは複数のコンピューティング・デバイスとが、別個のデバイスとして動作し得る。（１つまたは複数の）データ・ストアは、システム１０２にとってどこでも、たとえば、メモリ１０６中で、コンピューティング・デバイス１０９中で、システム１０２に結合された別のデバイス（たとえば、ネットワーク・ストレージ・デバイス）中で、または別のストレージ・ロケーション（たとえば、クラウドベース・ストレージ・システム、ネットワーク・ファイル・システムなど）中でなど、アクセス可能であり得る。システム１０２およびコンピューティング・デバイス１０９は、この図では単一の構成要素として示されているが、システム１０２およびコンピューティング・デバイス１０９は、単一のデバイスまたは互いに結合された複数のデバイスとして実装され得ることが理解されたい。システム１０２は、単一のシステムまたは互いに結合された複数のシステムとして実装され得る。概して、システム１０２、コンピューティング・デバイス１０９、データ・ストア１０８、ならびにコンピューティング・デバイス１１０および１１１は、データがそれを通して通信され得る１つまたは複数のワイヤードまたはワイヤレス・ネットワーク（たとえば、インターネット）を通して互いと通信することが可能であり得る。環境１００の様々な態様が、図２〜図５を参照しながら以下で説明される。
【００３１】
図２は、様々な実施形態による、乗車オーダーを派遣するための例示的なシステム２００を示す。図２に示され、以下で提示される動作は、例示的であるものとする。
【００３２】
様々な実施形態では、システム１０２は、データ・ストア１０８および／またはコンピューティング・デバイス１０９、１１０、および１１１からデータ２０２および／またはデータ２０６を得ることがある。コンピューティング・デバイス１１１は、たとえば、タクシー、サービス配車車両などを含むサービス車両のドライバに関連し（たとえば、それによって使用され）得る。コンピューティング・デバイス１１０は、車両サービスを要求するユーザに関連し（たとえば、それによって使用され）得る。データ２０２およびデータ２０６は、機械学習モデルをトレーニングするためのトレーニング・データおよび／またはトレーニングされた機械学習モデルを適用するときに到着時間を推定するための算出データを含み得る。たとえば、トレーニング・データおよび算出データは、移動依存情報（たとえば、出発地、目的地）および／または移動非依存情報（たとえば、道路幅、道路分類）を含み得る。トレーニング・データは、機械モデルをトレーニングするために事前に収集され得、算出データは、リアルタイムでまたはクエリ２０４に応答して得られ得る。コンピューティング・デバイスのうちのいくつかは、トレーニングまたは算出のためのデータを記録するための様々なセンサーを含み得る。たとえば、ＧＰＳ（全地球測位システム）は、車両のリアルタイム位置を記録することができる。ＧＰＳまたは速度計は、クロックとともに、位置および時間に関して車両速度を記録することができる。トレーニング・データのさらなる詳細が、図４Ａを参照しながら以下で説明される。得られたデータ２０２および／または２０６は、メモリ１０６に記憶され得る。システム１０２は、到着時間を推定するために得られたデータ２０２および／またはデータ２０６（トレーニング・データ）を用いて機械学習モデルをトレーニングし得る。
【００３３】
いくつかの実施形態では、乗車オーダーを行うことを企図するユーザは、システム１０２にクエリ２０４を送信するためにコンピューティング・デバイス１１０を使用し得る。クエリ２０４は、コンピューティング・デバイス１１０から承知のうえでまたは知らないで送信され得る。クエリ２０４は、到着時間を推定することについての要求を含み得る。代替的に、コンピューティング・デバイス１１０は、車両サービスを要求しているかまたは要求したユーザに関連し得る。すなわち、ユーザは、車両サービスを受け入れていることも受け入れていないこともある。前者の状況では、クエリ２０４は、出発地（たとえば、ピックアップ位置）、目的地など、情報をさらに含み得る。したがって、システム１０２は、到着時間を推定するためにトレーニングされた機械学習モデルを適用し、コンピューティング・デバイス１１０、またはコンピューティング・デバイス１１１などの１つまたは複数の他のデバイスにデータ２０７を送り得る。データ２０７は、目的地に到着するための推定された時間を含み得る。ユーザが車両サービスを受け入れていない場合、ユーザは、推定された到着時間に基づいて、車両サービスを受けるかまたは取り消し得る。ユーザが車両サービスをすでに受け入れている場合（たとえば、車両に乗っているとき）、ユーザは、推定された到着時間に基づいてスケジュールを調整し得る。推定された到着時間は、計画されたルートに関連し得るので、車両ドライバは、推定された到着時間に基づいて、計画されたルートを調整し得る。たとえば、推定された到着時間が、リアルタイムで更新され、計画されたルート上の事故などの理由のために急増した場合、ドライバは、それに応じて代替ルートを切り替えることができる。現在の走行ルートが、（たとえば、車両のリアルタイム・ロケーション・トラッキングに基づいて）最初に計画されたルートからそれるとシステム１０２が決定した場合、システム１０２は、計画されたルートを更新し、それに応じて、推定された走行時間を更新し得る。
【００３４】
到着時間推定は、サーバ、モバイル・フォンなど、コンピューティング・デバイスによってトリガされ得る。様々な実施形態では、乗車オーダーに関連する到着時間を推定するための方法は、トレーニングされた機械学習モデルに輸送情報を入力するステップを含み得る。輸送情報は、乗車オーダーに関連する出発地（たとえば、ピックアップ位置）と目的地と（すなわち、出発地から目的地への輸送）を含み得る。本方法は、トレーニングされた機械学習モデルに基づいて、出発地と目的地とを接続するルートを介して目的地に到着するための推定された時間を得るステップをさらに含み得る。ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスを含み得る。街路は、道路分類、速度制限、街灯など、様々なファクタに依存する多くのリンク（道路セグメント）を含み得る。いくつかの実施形態では、リンク末端が、これらの要因のうちの１つまたは複数が変化する位置において決定され得る。輸送情報は、ドライバ識別情報、乗客識別情報、曜日、時間、気象、ピーク時間決定、ルートを包含する形状、リンク識別情報、リンク速度制限、リンク通行料金決定、リンク道路幅、リンク道路分類、リアルタイム・リンク交通速度、リンク長さ、またはリンク交通信号持続時間のうちの少なくとも１つをさらに含み得る。トレーニングされた機械学習モデルは、図３Ａ〜図３Ｃを参照しながら以下で説明されるように、多層パーセプトロン・ネットワークに結合された、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークを含み得る。
【００３５】
図３Ａは、様々な実施形態による、到着時間を推定するための例示的な機械学習モデル３０５およびそれのトレーニング・プロセス３１０を示す。図３Ａに示され、以下で提示される動作は、例示的であるものとする。機械学習モデル３０５は、多層パーセプトロン・ネットワーク３０８に結合された、ワイド・ネットワーク３０２、ディープ・ニューラル・ネットワーク３０４、およびリカレント・ニューラル・ネットワーク３０６のすべてを含み得る。
【００３６】
いくつかの実施形態では、トレーニングは、複数の履歴車両移動の各々に基づいて実施され得る。機械学習モデルをトレーニングするステップは、（ステップ３０１）履歴車両移動に関連する輸送トレーニング・データを得るステップであって、輸送トレーニング・データが、履歴出発地と履歴目的地とを接続する履歴ルートと、実履歴移動時間とを含む、得るステップと、（ステップ３０３ａおよび３０３ｂ）輸送トレーニング・データから１つまたは複数の大域特徴および局所特徴を得るステップと、それぞれ出力を得るために、ワイド・ネットワーク３０２に大域特徴を入力するステップ、ディープ・ニューラル・ネットワーク３０４に大域特徴を入力するステップ、およびリカレント・ニューラル・ネットワーク３０６に局所特徴を入力するステップと、（ステップ３０７において）推定された履歴移動時間を得るために、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークからの出力を多層パーセプトロン・ネットワーク３０８に入力するステップと、（ステップ３０９）推定された履歴移動時間と実履歴移動時間との間の差分を最小化することに少なくとも基づいて、ワイド・ネットワーク、ディープ・ニューラル・ネットワーク、リカレント・ニューラル・ネットワーク、および多層パーセプトロン・ネットワークに関連する１つまたは複数の重みを更新するステップとを含み得る。
【００３７】
いくつかの実施形態では、輸送トレーニング・データは、様々なシステム、デバイス（たとえば、モバイル・フォン上のセンサー）、データ・ストア（たとえば、オンライン・マップ・データ・ストア）などから得られ得る。たとえば、輸送トレーニング・データは、マップ・データ、道路データ、乗車オーダー・データなどを含み得る。輸送データは前処理され得る。たとえば、生データから雑音を除去するために、様々なしきい値処理およびフィルタ処理技法が使用され得る。
【００３８】
いくつかの実施形態では、大域特徴および局所特徴が、輸送データから得られ得る。大域特徴は、疎な特徴と、第１の密な特徴とを含み得る。局所特徴（または代替的に連続特徴と呼ばれる）は、基準特徴と、第２の密な特徴とを含み得る。いくつかの場合には、データ表す表現としての疎な特徴は、密な特徴とは対照的に０の大部分を含んでいる。さらに、一例では、輸送トレーニング・データは、様々な履歴移動に対応し得る。各履歴移動は、履歴出発地から履歴目的地への過去の輸送がそれを介して実施された、履歴ルートに関連し得る。履歴ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスに対応し得る。大域特徴は、履歴ルートにおけるリンクについて均一であり得、局所特徴は、個々にリンクに関連し得る（すなわち、リンクごとに異なり得る）。街路は、１つまたは複数のリンクに分割され得る。いくつかの場合には、街灯または断面は、２つまたはそれ以上の隣接リンクを分割する。
【００３９】
限定はしないが、大域特徴を参照すると、いくつかの実施形態では、疎な特徴は、ドライバ識別情報（たとえば、システム１０２中のデータベースに記憶されたドライバＩＤ、データベースは、ドライバＩＤに関連する他の情報をも記憶する）、乗客識別情報（たとえば、ドライバＩＤと同様に記憶された乗客ＩＤ）、曜日、時間（たとえば、タイムスタンプ、１日が５分などの等しいタイムスライスに分割されたときのタイムスライス）、気象（たとえば、移動中の気象）、またはピーク時間決定（たとえば、過去の移動が所定のピーク交通時間帯と重複するかどうか）のうちの少なくとも１つを含み得る。第１の密な特徴（または代替的に第１の実数特徴と呼ばれる）は、ルートを包含する形状（たとえば、最も小さい正方形）を含み得る。
【００４０】
限定はしないが、局所特徴を参照すると、いくつかの実施形態では、リンクに対応して関連する基準特徴は、リンク識別情報（たとえば、システム１０２中のデータベースに記憶されたリンクＩＤ、データベースは、リンクＩＤに関連する他の情報をも記憶する）、リンク速度制限（たとえば、各道路セグメント上の車両速度制限）、リンク通行料金決定（たとえば、各道路セグメントが通行料金を有するかどうか）、リンク道路幅、またはリンク道路分類（たとえば、ハイウェイ分類、地方道路分類）のうちの少なくとも１つを含み得る。リンクに対応して関連する第２の密な特徴（または代替的に第２の実数特徴と呼ばれる）は、リアルタイム・リンク交通速度（たとえば、リアルタイムの各道路セグメント上の交通流の速度）、リンク長さ、またはリンク交通信号持続時間（たとえば、どのくらいの時間の間、各道路セグメント中の街灯の赤信号または青信号が持続するか）のうちの少なくとも１つを含み得る。
【００４１】
大域特徴および局所特徴の各々は、到着時間に影響を及ぼし得る。たとえば、悪天候および料金所が、走行速度を遅くし、到着時間を遅延させ得る。別の例では、リンク速度制限が、そのリンクを介した走行速度の理論的上限を設定し得る。また別の例では、ルートを包含する最も小さい正方形が、それの２つの反対側のコーナーの座標位置（ｃｏｏｒｄｉｎａｔｅ  ｌｏｃａｔｉｏｎｓ）に関連し得、これは、２つの正方形がすぐ近くにあるかどうかを決定するために使用され得る。２つの正方形が地理的にすぐ近くにある場合、対応するルートが、同じエリア中で、推定された到着時間におけるいくつかの類似度を共有するように決定され得る。
【００４２】
限定はしないが、ワイド・ネットワーク３０２を参照すると、いくつかの実施形態では、ワイド・ネットワークからの出力を得るために、ワイド・ネットワークに大域特徴（疎な特徴および第１の密な特徴）を入力するステップは、（ステップ３１２）各特徴積が大域特徴のうちのあらゆる２つの間の積（たとえば、クロス）に対応する複数の特徴積を得るステップと、（ステップ３２２）ワイド・ネットワークからの出力を得るために、大域特徴と得られた特徴積とに基づいてアフィン変換を実施するステップとを含み得る。アフィン変換は、大域特徴と得られた特徴積とを出力にマッピングし、大域特徴（入力）と出力とは、１つまたは複数の重みに関連する。たとえば、２つの大域特徴がｘおよびｙである場合、それらの積ｘｙは、特徴積であり得、アフィン変換は、ｗ１ｘ＋ｗ１ｙ＋ｗ３ｘｙ＋ｂを得るために、（ｘ、ｙ、ｘｙ）に対して実施され得、ここで、ｗ１、ｗ２、およびｗ３は、ｘ、ｙ、およびｘｙに対する線形変換であり、ｂは、変換された空間中のベクトルである。重みは、ｗ１、ｗ２、ｗ３、および／またはｂを含み得る。
【００４３】
限定はしないが、ディープ・ニューラル・ネットワーク３０４を参照すると、いくつかの実施形態では、ディープ・ニューラル・ネットワークは、フィードフォワード・ニューラル・ネットワーク（ＦＮＮ：ｆｅｅｄｆｏｒｗａｒｄ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）を含み得る。図３Ｂを参照しながら以下で説明される多層パーセプトロン（ＭＬＰ）ネットワークが、ＦＮＮの一例である。フィードフォワード・ニューラル・ネットワークは、シーケンスにおける複数の層を含み得る。複数の層は、入力層と、１つまたは複数の隠れ層と、出力層とを含む。隣り合う層のあらゆる２つが、１つまたは複数の重みに関連し得る。大域特徴は、疎な特徴と、第１の密な特徴とを含み得る。ディープ・ニューラル・ネットワークからの出力を得るために、ディープ・ニューラル・ネットワークに大域特徴を入力するステップは、（ステップ３１４）疎な特徴を埋め込むステップ（たとえば、シグモイド関数を適用するステップ、局所線形埋込みを適用するステップ）と、（ステップ３２４）第１の密な特徴と埋め込まれた疎な特徴とを連結するステップ（たとえば、特徴を組み合わせるステップ）と、（ステップ３３４）フィードフォワード・ニューラル・ネットワークの出力層からの出力を得るために、連結された第１の密な特徴および疎な特徴をフィードフォワード・ニューラル・ネットワークに供給するステップとを含み得る。
【００４４】
限定はしないが、リカレント・ニューラル・ネットワーク３０６を参照すると、いくつかの実施形態では、リカレント・ニューラル・ネットワークは、リンクのシーケンスに対応させるシーケンスにおける複数の層を含み得る。隣り合う層のあらゆる２つが、重みのうちの１つまたは複数に関連し得る。第１の層以外の層の各々は、前の層から入力と前の隠れ状態とを受信し、出力と現在の隠れ状態とを生成し得る。リカレント・ニューラル・ネットワークからの出力を得るために、リカレント・ニューラル・ネットワークに局所特徴（基準特徴および第２の密な特徴）を入力するステップは、履歴移動の各々について、層のシーケンスにおける最後の層の現在の隠れ状態を得るために、層への入力として、局所特徴を対応して供給するステップを含み得る。例示的なリカレント・ニューラル・ネットワークが、図３Ｃを参照しながら以下で説明される。
【００４５】
代替的に、リカレント・ニューラル・ネットワークは、長短期メモリ・ネットワーク（ＬＳＴＭ）に結合された多層パーセプトロン（ＭＬＰ）ネットワークを含み、別の多層パーセプトロン・ネットワークと長短期メモリ・ネットワークとは、各々、重みのうちの１つまたは複数に関連する。たとえば、ＭＬＰとＬＳＴＭとは、リカレント・ニューラル・ネットワーク３０６の入力と出力とを関連付ける１つまたは複数の重みを含み得る。いくつかの実施形態では、リカレント・ニューラル・ネットワークからの出力を得るために、リカレント・ニューラル・ネットワークに局所特徴を入力するステップは、（ステップ３１６）リンクに対応して関連する第１の結果を得るために、別の多層パーセプトロン・ネットワークに局所特徴を供給するステップと、（ステップ３２６）様々な層のうちの最後の層の現在の隠れ状態を得るために、長短期メモリ・ネットワークの様々な層への入力として第１の結果を対応して供給するステップとを含み得る。
【００４６】
限定はしないが、多層パーセプトロン・ネットワーク３０８を参照すると、いくつかの実施形態では、多層パーセプトロン・ネットワークは、シーケンスにおける複数の層を含み得る。複数の層は、入力層と、１つまたは複数の隠れ層と、出力層とを含む。隣り合う層のあらゆる２つが、１つまたは複数の重みに関連する。入力層は、ワイド・ネットワーク３０２からの出力と、ディープ・ニューラル・ネットワーク３０４からの出力と、リカレント・ニューラル・ネットワーク３０６からの出力（たとえば、隠れ状態）とを含み得る。例示的な多層パーセプトロン・ネットワークが、図３Ｂを参照しながら以下で説明される。
【００４７】
いくつかの実施形態では、ステップ３０７において、推定された履歴移動時間が、多層パーセプトロン・ネットワーク３０８から出力される。ステップ３０９において、上記で説明されたように、機械学習モデル３０５に関連する重み（すなわち、ワイド・ネットワーク３０２、ディープ・ニューラル・ネットワーク３０４、およびリカレント・ニューラル・ネットワーク３０６、および多層パーセプトロン・ネットワーク３０８に関連する重み）が、ステップ３０７からの推定された履歴移動時間と履歴データからの実履歴移動時間との間の差分を最小化することに少なくとも基づいて更新される。履歴移動時間は、独立して検証されるか、手作業で得られるか、クロスチェックされるか、またはさもなければ正確に保たれ得る。一例では、推定された履歴移動時間と実履歴移動時間との間の誤差が、損失関数を使用することによって算出され得る。次いで、この誤差は、たとえば、バックプロパゲーション・アルゴリズムを使用して、一度に１層ずつ、確率的勾配降下に従って、各層についての重みを更新するために、機械学習モデル３０５を通して逆伝搬され得る。これは、バックワード・パスと呼ばれることがある。
【００４８】
いくつかの実施形態では、トレーニングの終結において、重みは、推定された到着時間の精度がしきい値を上回るようにトレーニングされていることがある。精度は、履歴移動データを使用して検証され得る。いくつかの実施形態では、オンデマンドで到着時間を推定するために、トレーニングされた機械学習モデルを適用するとき、上記で説明された輸送トレーニング・データと同様の輸送データがモデルに供給され得る。輸送データは、出発地および目的地など、情報を含み得る。上記で説明された様々な特徴など、他のデータが、輸送データ中に含まれるか、またはオンライン・データ・ストア、クラウド・デバイスなど、他のソースからフェッチされ（ｆｅｔｃｈｅｄ）得る。
【００４９】
図３Ｂは、様々な実施形態による、到着時間を推定するための例示的な多層パーセプトロン・フレームワークを示す。図３Ｂに示され、以下で提示される動作は、例示的であるものとする。
【００５０】
多層パーセプトロン・ネットワークなど、ニューラル・ネットワークでは、ニューロンが、基本ビルディング・ブロックとして働き得る。ニューロンは、入力信号（たとえば、入力データ）を受信し、ロジスティック算出関数を使用して入力信号を処理し、算出結果に応じて出力信号（たとえば、出力データ）を送信し得る。これらのニューロンがニューロンのネットワークに構成されるとき、それらは、ニューラル・ネットワークと呼ばれる。ネットワーク中のニューロンの各列は層と呼ばれ、ネットワークは、各層において複数のニューロンをもつ複数の層を有することができる。単一のニューロンをもつネットワークはパーセプトロンと呼ばれ、ニューロンの複数の層をもつネットワークは多層パーセプトロン（ＭＬＰ）と呼ばれる。たとえば、２つの隠れ層ＭＬＰ（層Ａ１および層Ａ２）が図３Ｂに示され、ここで、入力層は、ネットワークへの入力（Ｘ１、Ｘ２、Ｘ３、Ｘ４）を含む。入力層は、これがネットワークの唯一の露出した部分であり得るので、可視層とも呼ばれる。隠れ層は、高レベル特徴を形成するために、異なるスケールまたは分解能において入力層から特徴を導出し、出力層において値または値のベクトルを出力する。各隠れ層において、ネットワークは、次のように特徴を算出し得る。
【００５１】
Ａ１＝ｆ（Ｗ１＊Ｘ）
【００５２】
Ａ２＝ｆ（Ｗ２＊Ａ１）
【００５３】
【数１】
0006804792.tif 000002
【００５４】
図３Ｃは、様々な実施形態による、到着時間を推定するための例示的なリカレント・ニューラル・ネットワーク（ＲＮＮ）フレームワークを示す。図３Ｃに示され、以下で提示される動作は、例示的であるものとする。
【００５５】
ルートがリンクに分割されるので、および車両がおそらくリンクを介して出発地から目的地に進むので、リンクは、互いに対して連続であり得る。リカレント・ニューラル・ネットワークは、到着時間を推定するために、連続情報を利用することができる。すなわち、入力（および出力）は、互いに依存し得る。ＲＮＮは、ＲＮＮがシーケンスのあらゆる要素について同じタスクを実施するので、リカレントと呼ばれ、出力は、前の算出に依存する。ＲＮＮは、任意に長いシーケンスにおける情報、たとえば、数ステップ前の情報を利用することができる。
【００５６】
図３Ｃは、ＲＮＮの一部分（層ｔ−１、層ｔ、層ｔ＋１）を示す。層ｔ−１は、ルートのリンクｔ−１に対応し、層ｔは、ルートのリンクｔに対応し、層ｔ＋１は、ルートのリンクｔ＋１に対応する。（第１の層以外の）各層は、前の層から入力と隠れ状態とを受信し得る。たとえば、層ｔの場合、層ｔは、入力ｔと、隠れ状態ｔ−１とを受信する。入力はベクトルで表され得る。隠れ状態は、ネットワークの「メモリ」と呼ばれることがある。隠れ状態ｔは、たとえば、各々、重みに関連する、入力ｔおよび隠れ状態ｔ−１の非線形関数に基づいて得られ得る。出力ｔは、重みに関連する隠れ状態ｔの関数であり得る。
【００５７】
上記で示されたように、開示されるシステムおよび方法は、到着時間推定の精度を著しく改善することができる。ワイド・ネットワークおよびディープ・ニューラル・ネットワークは、ルートの全体的特徴をモデル化することができる。たとえば、クロス積によって、疎な特徴が、高い精度でモデル化され得る。さらに、ＲＮＮは、様々なリンクの特徴と、到着時間推定におけるそれらの差分とをモデル化することができる。したがって、開示されるシステムおよび方法は、既存の技術よりも著しく改善する。
【００５８】
図４Ａは、本開示の様々な実施形態による、例示的な方法４００のフローチャートを示す。方法４００は、たとえば、図１の環境１００を含む、様々な環境において実装され得る。例示的な方法４００は、システム１０２（たとえば、プロセッサ１０４、メモリ１０６）、コンピューティング・デバイス１１０（たとえば、ユーザに関連するモバイル・フォン）、またはコンピューティング・デバイス１１１（たとえば、車両ドライバに関連するモバイル・フォン）のうちの１つまたは複数の構成要素によって実装され得る。例示的な方法４００は、システム１０２と同様の複数のシステムによって実装され得る。以下で提示される方法４００の動作は、例示的であるものとする。実装形態に応じて、例示的な方法４００は、様々な順序でまたは並列に実施される、追加の、より少数の、または代替のステップを含み得る。
【００５９】
ブロック４０２において、輸送情報が、トレーニングされた機械学習モデルに入力され得る。輸送情報は、乗車オーダーに関連する出発地と目的地とを含み得、トレーニングされた機械学習モデルは、多層パーセプトロン・ネットワークに結合された、ワイド・アルゴリズム、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークのすべてを含む。ブロック４０４において、トレーニングされた機械学習モデルに基づいて、出発地と目的地とを接続するルートを介して目的地に到着するための推定された時間が得られ得る。
【００６０】
図４Ｂは、本開示の様々な実施形態による、例示的な方法４５０のフローチャートを示す。方法４５０は、たとえば、図１の環境１００を含む、様々な環境において実装され得る。例示的な方法４５０は、システム１０２の１つまたは複数の構成要素（たとえば、プロセッサ１０４、メモリ１０６）によって実装され得る。例示的な方法４５０は、システム１０２と同様の複数のシステムによって実装され得る。以下で提示される方法４５０の動作は、例示的であるものとする。実装形態に応じて、例示的な方法４５０は、様々な順序でまたは並列に実施される、追加の、より少数の、または代替のステップを含み得る。以下で説明される様々なモジュールが、たとえば、上記で説明された方法によって、トレーニングされていることがある。
【００６１】
ブロック４５２において、履歴車両移動に関連する輸送トレーニング・データが得られ得、輸送トレーニング・データは、履歴出発地と履歴目的地とを接続する履歴ルートと、実履歴移動時間とを含む。ブロック４５４において、１つまたは複数の大域特徴および局所特徴が、輸送トレーニング・データから得られ得る。ブロック４５６において、それぞれ出力を得るために、大域特徴は、ワイド・アルゴリズムに入力され得、大域特徴は、ディープ・ニューラル・ネットワークに入力され得、局所特徴は、リカレント・ニューラル・ネットワークに入力され得る。ブロック４５８において、推定された履歴移動時間を得るために、ワイド・アルゴリズム、ディープ・ニューラル・ネットワーク、およびリカレント・ニューラル・ネットワークからの出力が、多層パーセプトロン・ネットワークに入力され得る。ブロック４６０において、ワイド・アルゴリズム、ディープ・ニューラル・ネットワーク、リカレント・ニューラル・ネットワーク、および多層パーセプトロン・ネットワークに関連する１つまたは複数の重みが、推定された履歴移動時間と実履歴移動時間との間の差分を最小化することに少なくとも基づいて更新され得る。履歴ルートは、各リンクが道路セグメントに対応する、接続されたリンクのシーケンスに対応し得る。大域特徴は、履歴ルートにおけるリンクについて均一であり得、局所特徴は、個々にリンクに関連し得る（すなわち、リンクごとに異なり得る）。
【００６２】
図４Ｃは、本開示の様々な実施形態による、例示的な方法４８０のフローチャートを示す。方法４８０は、たとえば、図１の環境１００を含む、様々な環境において実装され得る。例示的な方法４８０は、システム１０２の１つまたは複数の構成要素（たとえば、プロセッサ１０４、メモリ１０６）によって実装され得る。例示的な方法４８０は、システム１０２と同様の複数のシステムによって実装され得る。以下で提示される方法４８０の動作は、例示的であるものとする。実装形態に応じて、例示的な方法４８０は、様々な順序でまたは並列に実施される、追加の、より少数の、または代替のステップを含み得る。以下で説明される様々なモジュールが、たとえば、上記で説明された方法によって、トレーニングされていることがある。
【００６３】
ブロック４８２において、出発地から目的地への輸送のための乗車オーダーが、デバイス（たとえば、モバイル・フォンなど、コンピューティング・デバイス）から受信され得る。ブロック４８４において、出発地と目的地とを接続するルートが決定され得る。たとえば、出発地と距離とを接続する、最短距離のルートまたは最も走行されたルートが決定され得る。ブロック４８６において、ルートに関連する輸送情報が得られ得る。ブロック４８８において、ルートを介して目的地に到着するための推定された時間を得るために、トレーニングされた機械学習モデルに得られた輸送情報が入力され得る。ブロック４９０において、推定された時間が、デバイス上で再生させられ（たとえば、スクリーン上に表示され、音声として再生され）得る。
【００６４】
代替的に、出発地から目的地への輸送のための乗車オーダーが、デバイス（たとえば、モバイル・フォンなど、コンピューティング・デバイス）から受信され得る。出発地と目的地とを接続する１つまたは複数のルートが決定され得る。ルートを介して目的地に到着するための様々な移動時間（異なる推定された時間）を得るために、ルートに関連する輸送情報が得られ、トレーニングされた機械学習モデルに入力され得る。最速ルートなど、ルートのうちの１つまたは複数が決定され、対応する推定された到着時間とともにデバイス上で再生させられ（たとえば、スクリーン上に表示され、音声として再生され）得る。
【００６５】
本明細書で説明される技法は、１つまたは複数の専用コンピューティング・デバイスによって実装される。専用コンピューティング・デバイスは、技法を実施するためにハードワイヤードされ得るか、あるいは技法を実施するように永続的にプログラムされた１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）またはフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）など、回路またはデジタル電子デバイスを含み得るか、あるいはファームウェア、メモリ、他のストレージ、または組合せ中のプログラム命令に従って技法を実施するようにプログラムされた１つまたは複数のハードウェア・プロセッサを含み得る。そのような専用コンピューティング・デバイスはまた、技法を達成するために、カスタム・ハードワイヤード論理、ＡＳＩＣ、またはＦＰＧＡをカスタム・プログラミングと組み合わせ得る。専用コンピューティング・デバイスは、デスクトップ・コンピュータ・システム、サーバ・コンピュータ・システム、ポータブル・コンピュータ・システム、ハンドヘルド・デバイス、ネットワーキング・デバイス、あるいは技法を実装するためにハードワイヤードおよび／またはプログラム論理を組み込む任意の他のデバイスまたはデバイスの組合せであり得る。（１つまたは複数の）コンピューティング・デバイスは、概して、オペレーティング・システム・ソフトウェアによって制御および協調される。従来のオペレーティング・システムは、実行のためのコンピュータ・プロセスを制御およびスケジュールし、メモリ管理を実施し、ファイル・システム、ネットワーキング、Ｉ／Ｏサービスを提供し、特にグラフィカル・ユーザ・インターフェース（「ＧＵＩ」）など、ユーザ・インターフェース機能を提供する。
【００６６】
図５は、本明細書で説明される実施形態のいずれかが実装され得るコンピュータ・システム５００を示すブロック図である。システム５００は、上記で説明されたシステム１０２に対応し得る。コンピュータ・システム５００は、情報を通信するためのバス５０２または他の通信機構と、情報を処理するための、バス５０２に結合された１つまたは複数のハードウェア・プロセッサ５０４とを含む。（１つまたは複数の）ハードウェア・プロセッサ５０４は、たとえば、１つまたは複数の汎用マイクロプロセッサであり得る。（１つまたは複数の）プロセッサ５０４は、上記で説明されたプロセッサ１０４に対応し得る。
【００６７】
コンピュータ・システム５００は、プロセッサ５０４によって実行されるべき情報および命令を記憶するための、バス５０２に結合されたランダム・アクセス・メモリ（ＲＡＭ）、キャッシュおよび／または他の動的ストレージ・デバイスなど、メイン・メモリ５０６をも含む。メイン・メモリ５０６は、プロセッサ５０４によって実行されるべき命令の実行中に、一時変数または他の中間情報を記憶するためにも使用され得る。そのような命令は、プロセッサ５０４にとってアクセス可能なストレージ媒体に記憶されるとき、コンピュータ・システム５００を、命令において指定された動作を実施するためにカスタマイズされた専用マシンにする。コンピュータ・システム５００は、プロセッサ５０４のための静的情報および命令を記憶するための、バス５０２に結合された読取り専用メモリ（ＲＯＭ）５０８または他の静的ストレージ・デバイスをさらに含む。磁気ディスク、光ディスク、またはＵＳＢサム・ドライブ（フラッシュ・ドライブ）など、ストレージ・デバイス５１０が、情報および命令を記憶するために、与えられ、バス５０２に結合される。メイン・メモリ５０６、ＲＯＭ５０８、および／またはストレージ５１０は、上記で説明されたメモリ１０６に対応し得る。
【００６８】
コンピュータ・システム５００は、コンピュータ・システムと組み合わせてコンピュータ・システム５００を専用マシンにさせるかまたは専用マシンになるようにプログラムする、カスタマイズされたハードワイヤード論理、１つまたは複数のＡＳＩＣまたはＦＰＧＡ、ファームウェアおよび／あるいはプログラム論理を使用して、本明細書で説明される技法を実装し得る。一実施形態によれば、本明細書の技法は、（１つまたは複数の）プロセッサ５０４が、メイン・メモリ５０６中に含まれている１つまたは複数の命令の１つまたは複数のシーケンスを実行することに応答して、コンピュータ・システム５００によって実施される。そのような命令は、ストレージ・デバイス５１０など、別のストレージ媒体からメイン・メモリ５０６に読み取られ得る。メイン・メモリ５０６中に含まれている命令のシーケンスの実行は、本明細書で説明されるプロセス・ステップを（１つまたは複数の）プロセッサ５０４に実施させる。代替実施形態では、ハードワイヤード回路が、ソフトウェア命令の代わりにまたはそれらと組み合わせて使用され得る。
【００６９】
メイン・メモリ５０６、ＲＯＭ５０８、および／またはストレージ５１０は、非一時的ストレージ媒体を含み得る。本明細書で使用される「非一時的媒体」という用語、および同様の用語は、マシンを特定の様式で動作させるデータおよび／または命令を記憶する任意の媒体を指す。そのような非一時的媒体は、不揮発性媒体および／または揮発性媒体を含み得る。不揮発性媒体は、たとえば、ストレージ・デバイス５１０などの光ディスクまたは磁気ディスクを含む。揮発性媒体は、メイン・メモリ５０６などの動的メモリを含む。非一時的媒体の一般的な形態は、たとえば、フロッピー・ディスク、フレキシブル・ディスク、ハードディスク、ソリッド・ステート・ドライブ、磁気テープ、または任意の他の磁気データ・ストレージ媒体、ＣＤ−ＲＯＭ、任意の他の光データ・ストレージ媒体、孔のパターンをもつ任意の物理媒体、ＲＡＭ、ＰＲＯＭ、およびＥＰＲＯＭ、フラッシュＥＰＲＯＭ、ＮＶＲＡＭ、任意の他のメモリ・チップまたはカートリッジ、ならびにそれらのネットワーク化されたバージョンを含む。
【００７０】
コンピュータ・システム５００は、バス５０２に結合された通信インターフェース５１８をも含む。通信インターフェース５１８は、１つまたは複数のローカル・ネットワークに接続された１つまたは複数のネットワーク・リンクに結合する二方向データ通信を提供する。たとえば、通信インターフェース５１８は、対応するタイプの電話回線へのデータ通信接続を提供するための、統合サービス・デジタル・ネットワーク（ＩＳＤＮ）カード、ケーブル・モデム、衛星モデム、またはモデムであり得る。別の例として、通信インターフェース５１８は、互換ローカル・エリア・ネットワーク（ＬＡＮ）へのデータ通信接続を提供するためのＬＡＮカード（またはＷＡＮと通信するためのＷＡＮ構成要素）であり得る。ワイヤレス・リンクも実装され得る。いかなるそのような実装においても、通信インターフェース５１８は、様々なタイプの情報を表すデジタル・データ・ストリームを搬送する電気信号、電磁信号または光信号を送受信する。
【００７１】
コンピュータ・システム５００は、（１つまたは複数の）ネットワーク、ネットワーク・リンクおよび通信インターフェース５１８を通して、メッセージを送り、プログラム・コードを含む、データを受信し得る。インターネットの例では、サーバが、インターネット、ＩＳＰ、ローカル・ネットワークおよび通信インターフェース５１８を通して、アプリケーション・プログラムのための要求されたコードを送信し得る。
【００７２】
受信されたコードは、そのコードが受信されたとき、プロセッサ５０４によって実行され、および／あるいは後の実行のためにストレージ・デバイス５１０または他の不揮発性ストレージに記憶され得る。
【００７３】
先行するセクションで説明されたプロセス、方法、およびアルゴリズムの各々は、コンピュータ・ハードウェアを含む１つまたは複数のコンピュータ・システムまたはコンピュータ・プロセッサによって実行されるコード・モジュールにおいて実施され、および完全にまたは部分的に自動化され得る。プロセスおよびアルゴリズムは、特定用途向け回路において部分的にまたは完全に実装され得る。
【００７４】
上記で説明された様々な特徴およびプロセスは、互いとは無関係に使用され得るか、または様々なやり方で組み合わせられ得る。すべての可能な組合せおよび部分組合せが、本開示の範囲内に入るものとする。さらに、いくつかの実装形態では、いくつかの方法またはプロセス・ブロックが省略され得る。また、本明細書で説明される方法およびプロセスは、特定のシーケンスに限定されず、それらに関係するブロックまたは状態が、適切である他のシーケンスにおいて実施され得る。たとえば、説明されるブロックまたは状態が、具体的に開示される順序以外の順序で実施され得るか、あるいは複数のブロックまたは状態が、単一のブロックまたは状態において組み合わせられ得る。例示的なブロックまたは状態は、直列に、並列に、または何らかの他の様式で実施され得る。ブロックまたは状態が、開示される例示的な実施形態に追加されるかまたはそれらから除去され得る。本明細書で説明される例示的なシステムおよび構成要素が、説明されるものとは異なって構成され得る。たとえば、要素が、開示される例示的な実施形態と比較して、それらに追加されるか、それらから除去されるか、または並べ替えられ得る。
【００７５】
本明細書で説明される例示的な方法の様々な動作は、少なくとも部分的に、アルゴリズムによって実施され得る。アルゴリズムは、メモリ（たとえば、上記で説明された非一時的コンピュータ可読ストレージ媒体）に記憶されたプログラム・コードまたは命令中に含まれ得る。そのようなアルゴリズムは、機械学習アルゴリズムまたはモデルを含み得る。いくつかの実施形態では、機械学習アルゴリズムまたはモデルは、機能を実施するようにコンピュータを明示的にプログラムしないことがあるが、トレーニング・データから学習して、機能を実施する予測モデル（トレーニングされた機械学習モデル）を作ることができる。
【００７６】
本明細書で説明される例示的な方法の様々な動作は、少なくとも部分的に、関連する動作を実施するように（たとえば、ソフトウェアによって）一時的に構成されたかまたは永続的に構成された、１つまたは複数のプロセッサによって実施され得る。一時的に構成されたのか永続的に構成されたのかにかかわらず、そのようなプロセッサは、本明細書で説明される１つまたは複数の動作または機能を実施するように動作するプロセッサ実装エンジンを構成し得る。
【００７７】
同様に、本明細書で説明される方法は、少なくとも部分的にプロセッサ実装され得、１つまたは複数の特定のプロセッサが、ハードウェアの一例である。たとえば、方法の動作のうちの少なくともいくつかが、１つまたは複数のプロセッサまたはプロセッサ実装エンジンによって実施され得る。その上、１つまたは複数のプロセッサは、「クラウド・コンピューティング」環境においてまたは「サービスとしてのソフトウェア」（ＳａａＳ）として、関連する動作のパフォーマンスをサポートするようにも動作し得る。たとえば、動作のうちの少なくともいくつかが、（プロセッサを含むマシンの例としての）コンピュータのグループによって実施され得、これらの動作が、ネットワーク（たとえば、インターネット）を介しておよび１つまたは複数の適切なインターフェース（たとえば、アプリケーション・プログラム・インターフェース（ＡＰＩ））を介してアクセス可能である。
【００７８】
動作のうちのいくつかのパフォーマンスが、プロセッサの間で分散され得、単一の機械内に存在するだけでなく、いくつかのマシンにわたって展開される。いくつかの例示的な実施形態では、プロセッサまたはプロセッサ実装エンジンは、単一の地理的位置に（たとえば、ホーム環境、オフィス環境、またはサーバ・ファーム内に）あり得る。他の例示的な実施形態では、プロセッサまたはプロセッサ実装エンジンは、いくつかの地理的位置にわたって分散され得る。
【００７９】
本明細書全体にわたって、複数のインスタンスが、単一のインスタンスとして説明される構成要素、動作、または構造を実装し得る。１つまたは複数の方法の個々の動作が、別個の動作として示され、説明されたが、個々の動作のうちの１つまたは複数が同時に実施され得、示された順序でそれらの動作が実施されることは必要とされない。例示的な構成において別個の構成要素として提示される構造および機能が、組み合わせられた構造または構成要素として実装され得る。同様に、単一の構成要素として提示される構造および機能は、別個の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改善は、本明細書の主題の範囲内に入る。
【００８０】
主題の概観が、特定の例示的な実施形態に関して説明されたが、本開示の実施形態のより広い範囲から逸脱することなく、これらの実施形態に様々な修正および変更が行われ得る。主題のそのような実施形態は、単に便宜上、および２つ以上の開示または概念が事実上開示される場合に本出願の範囲を単一の開示または概念に随意に限定することを意図することなしに、「発明」という用語で、本明細書で個々にまたはまとめて呼ばれ得る。
【００８１】
本明細書で示される実施形態は、開示される教示を当業者が実施することを可能にするために十分詳細に説明された。本開示の範囲から逸脱することなく構造的および論理的な置換および変更が行われ得るように、そこから他の実施形態が使用され、導出され得る。したがって、詳細な説明は、限定的な意味にとられるべきではなく、様々な実施形態の範囲が、添付の特許請求の範囲が権利付与される等価物の全範囲とともに、そのような特許請求の範囲によってのみ定義される。
【００８２】
本明細書で説明されたおよび／または添付図に示された流れ図におけるいかなるプロセスの説明、要素、またはブロックも、プロセス中の特定の論理関数またはステップを実装するための１つまたは複数の実行可能な命令を含む、コードのモジュール、セグメント、または部分を潜在的に表すものとして理解されたい。代替実装形態が、本明細書で説明される実施形態の範囲内に含まれ、そこで、当業者によって理解されるように、要素または機能が、関与する機能に応じて、削除され得、実質的に同時にまたは逆順でを含めて、示されたまたは説明されたものとは順が狂って実行され得る。
【００８３】
本明細書で使用される「または」という用語は、包含的または排他的意味で解釈され得る。その上、単一の事例として本明細書で説明されるリソース、動作、または構造について、複数の事例が与えられ得る。さらに、様々なリソース、動作、エンジン、およびデータ・ストアとの間の境界はいくぶん恣意的であり、特定の動作が、特定の例示的な構成の文脈において示される。機能の他の割振りが想定され、本開示の様々な実施形態の範囲内に入り得る。概して、例示的な構成において別個のリソースとして提示される構造および機能は、組み合わせられた構造またはリソースとして実装され得る。同様に、単一のリソースとして提示される構造および機能は、別個のリソースとして実装され得る。これらおよび他の変形、修正、追加、および改善は、添付の特許請求の範囲によって表されるように本開示の実施形態の範囲内に入る。したがって、本明細書および図面は、限定的な意味ではなく例示的な意味で考慮されるべきである。
【００８４】
特に、「することができる（ｃａｎ）」、「することができる（ｃｏｕｌｄ）」、「し得る、することがある（ｍｉｇｈｔ）」、または「し得る、することがある（ｍａｙ）」など、条件付き文言は、別段に明記されていない限り、または使用される文脈内で別段に理解される限り、概して、いくつかの実施形態は、いくつかの特徴、要素および／またはステップを含み、他の実施形態はそれらを含まないことを伝えるものとする。したがって、そのような条件付き文言は、概して、特徴、要素および／またはステップが何らかのやり方で１つまたは複数の実施形態に必要とされることを暗示するものではなく、あるいは１つまたは複数の実施形態が、ユーザ入力または指示を用いてまたは用いずに、これらの特徴、要素および／またはステップが、含まれるのか、何らかの特定の実施形態において実施されることになるのかを決定するための論理を必然的に含むことを暗示するものではない。
【図１】
0006804792.tif 000003
【図２】
0006804792.tif 000004
【図３Ａ】
0006804792.tif 000005
【図３Ｂ】
0006804792.tif 000006
【図３Ｃ】
0006804792.tif 000007
【図４Ａ】
0006804792.tif 000008
【図４Ｂ】
0006804792.tif 000009
【図４Ｃ】
0006804792.tif 000010
【図５】
0006804792.tif 000011