(57)【要約】  本開示は、要求に対して経路を推奨するシステム及び方法に関する。前記システムは、端末から、出発地と目的地とを含んでもよい要求を受信し、敵対的生成ネットワーク（ＧＡＮ）モデルを決定し、前記ＧＡＮモデルに基づいて、前記出発地から目的地まで移動するための少なくとも１つの推奨される経路を決定し、前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信する、方法を実施してもよい。
2019529868.tif 000002
【特許請求の範囲】
【請求項１】
要求に関連付けられた少なくとも１つの経路を推奨するための命令のセットを含む少なくとも１つの記憶媒体と、
前記少なくとも１つの記憶媒体と通信するように構成された少なくとも１つのプロセッサと、を備えるシステムであって、
前記少なくとも１つのプロセッサは、前記命令のセットを実行するとき、
端末から、出発地及び目的地を含む要求を受信し、
敵対的生成ネットワーク（ＧＡＮ）モデルを決定し、
前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定し、
前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信する、ように指示される、システム。
【請求項２】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
サンプル経路のセットを取得し、
生成モデルを生成し、
前記生成モデルに基づいて、推定経路のセットを決定し、
識別モデルを生成し、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記識別モデルの第１の損失関数を決定し、
前記第１の損失関数の値が第１の閾値未満であるか否かを決定し、
前記第１の損失関数の値が前記第１の閾値未満であるという決定に基づいて、前記識別モデルを記憶する、ように指示される、請求項１のシステム。
【請求項３】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記第１の損失関数の値が前記第１の閾値以上であるという決定に基づいて、前記識別モデルを更新する、ように指示される、請求項２のシステム。
【請求項４】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記生成モデルの第２の損失関数を決定し、
前記第２の損失関数の値が第２の閾値未満であるか否かを決定し、
前記第２の損失関数の値が前記第２の閾値未満であるという決定に基づいて、前記生成モデルを記憶する、ように指示される、請求項２のシステム。
【請求項５】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記第２の損失関数の値が前記第２の閾値以上であるという決定に基づいて、前記生成モデルを更新する、ように指示される、請求項４のシステム。
【請求項６】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記識別モデル及び前記生成モデルに基づいて、前記ＧＡＮモデルを決定する、ように指示される、請求項４のシステム。
【請求項７】
前記サンプル経路のセットの各々は、
サンプル出発地、
サンプル目的地、
前記サンプル出発地と前記サンプル目的地とのリンク情報、
サンプル出発時間、
サンプル到着時間、又は
前記サンプル経路のセットの各々に関連付けられた交通情報、のうちの少なくとも１つを含む、請求項２のシステム。
【請求項８】
前記生成モデルは、畳み込みニューラルネットワークモデル及び再帰型ニューラルネットワークモデルのうちの一方である、請求項２のシステム。
【請求項９】
前記識別モデルは、畳み込みニューラルネットワークモデル及び再帰型ニューラルネットワークモデルのうちの一方である、請求項２のシステム。
【請求項１０】
前記サンプル経路のセットの数は、２５６、５１２、又は１０２４である、請求項２のシステム。
【請求項１１】
プロセッサによって、端末から、出発地及び目的地を含む要求を受信するステップと、
前記プロセッサによって、敵対的生成ネットワーク（ＧＡＮ）モデルを決定するステップと、
前記プロセッサによって、前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定するステップと、
前記プロセッサによって、前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信するステップと、を含む、方法。
【請求項１２】
前記ＧＡＮモデルを決定するステップは、
サンプル経路のセットを取得することと、
生成モデルを生成することと、
前記生成モデルに基づいて、推定経路のセットを決定することと、
識別モデルを生成することと、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記識別モデルの第１の損失関数を決定することと、
前記第１の損失関数の値が第１の閾値未満であるか否かを決定することと、
前記第１の損失関数の値が前記第１の閾値未満であるという決定に基づいて、前記識別モデルを記憶することと、を含む、請求項１１の方法。
【請求項１３】
前記ＧＡＮモデルを決定するステップは、
前記第１の損失関数の値が前記第１の閾値以上であるという決定に基づいて、前記識別モデルを更新することを含む、請求項１２の方法。
【請求項１４】
前記ＧＡＮモデルを決定するステップは、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記生成モデルの第２の損失関数を決定することと、
前記第２の損失関数の値が第２の閾値未満であるか否かを決定することと、
前記第２の損失関数の値が前記第２の閾値未満であるという決定に基づいて、前記生成モデルを記憶することと、を含む、請求項１２の方法。
【請求項１５】
前記ＧＡＮモデルを決定するステップは、
前記第２の損失関数の値が前記第２の閾値以上であるという決定に基づいて、前記生成モデルを更新することを含む、請求項１４の方法。
【請求項１６】
前記ＧＡＮモデルを決定するステップは、
前記識別モデル及び前記生成モデルに基づいて、前記ＧＡＮモデルを決定することを含む、請求項１４の方法。
【請求項１７】
前記サンプル経路のセットの各々は、
サンプル出発地、
サンプル目的地、
前記サンプル出発地と前記サンプル目的地とのリンク情報、
サンプル出発時間、
サンプル到着時間、又は
前記サンプル経路のセットの各々に関連付けられた交通情報、のうちの少なくとも１つを含む、請求項１２の方法。
【請求項１８】
前記生成モデルは、畳み込みニューラルネットワークモデル及び再帰型ニューラルネットワークモデルのうちの一方である、請求項１２の方法。
【請求項１９】
前記識別モデルは、畳み込みニューラルネットワークモデル及び再帰型ニューラルネットワークモデルのうちの一方である、請求項１２の方法。
【請求項２０】
前記サンプル経路のセットの数は、２５６、５１２、又は１０２４である、請求項１２の方法。
【請求項２１】
少なくとも１つのプロセッサによって実行されるとき、前記少なくとも１つのプロセッサに、
端末から、出発地及び目的地を含む要求を受信するステップと、
敵対的生成ネットワーク（ＧＡＮ）モデルを決定するステップと、
前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定するステップと、
前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信するステップと、
を含む方法を実施させる実行可能な命令を含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、オンデマンドサービスのためのシステム及び方法に関し、特に、敵対的生成ネットワーク（ＧＡＮ）モデルに基づいて経路を推奨するためのシステム及び方法に関する。
【背景技術】
【０００２】
インターネットに基づく経路計画は、その利便性のため、ますます人気となっている。経路計画サービスを提供するシステムは、運転手から出発地及び目的地を取得し、運転手が出発地から目的地に向かう経路を推奨してもよい。システムが経路を推奨するとき、システムは、交通状況、距離情報、時間情報などを分析してもよい。しかし、推奨される経路は、様々なリアルタイム状況のため、運転手の要求を満たせないこともある。その結果、運転手は、推奨される経路から逸脱することがある。
【発明の概要】
【０００３】
本開示の一態様により、システムを提供する。前記システムは、少なくとも１つの記憶媒体と、前記少なくとも１つの記憶媒体と通信するように構成された少なくとも１つのプロセッサとを含んでもよい。前記少なくとも１つの記憶媒体は、要求に関連付けられた少なくとも１つの経路を推奨するための命令のセットを含んでもよい。前記少なくとも１つのプロセッサが前記命令のセットを実行するとき、前記少なくとも１つのプロセッサは、以下の動作のうちの１つ以上を実施するように指示されてもよい。前記少なくとも１つのプロセッサは、端末から、出発地と目的地とを含む要求を受信してもよい。前記少なくとも１つのプロセッサは、敵対的生成ネットワーク（ＧＡＮ）モデルを決定してもよい。前記少なくとも１つのプロセッサは、前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定してもよい。前記少なくとも１つのプロセッサは、前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信してもよい。
【０００４】
いくつかの実施形態では、前記少なくとも１つのプロセッサは、サンプル経路のセットを取得してもよい。前記少なくとも１つのプロセッサは、生成モデルを生成してもよい。前記少なくとも１つのプロセッサは、前記生成モデルに基づいて、推定経路のセットを決定してもよい。前記少なくとも１つのプロセッサは、識別モデルを生成してもよい。前記少なくとも１つのプロセッサは、前記サンプル経路セット及び前記推定経路セットに基づいて、前記識別モデルの第１の損失関数を決定してもよい。前記少なくとも１つのプロセッサは、前記第１の損失関数の値が第１の閾値未満であるか否かを決定してもよい。前記少なくとも１つのプロセッサは、前記第１の損失関数の値が前記第１の閾値未満であるという決定に基づいて、前記識別モデルを記憶してもよい。
【０００５】
いくつかの実施形態では、前記少なくとも１つのプロセッサは、前記第１の損失関数の値が前記第１の閾値以上であるという決定に基づいて、前記識別モデルを更新してもよい。
【０００６】
いくつかの実施形態では、前記少なくとも１つのプロセッサは、前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記生成モデルの第２の損失関数を決定してもよい。前記少なくとも１つのプロセッサは、前記第２の損失関数の値が第２の閾値未満であるか否かを決定してもよい。前記少なくとも１つのプロセッサは、前記第２の損失関数の値が前記第２の閾値未満であるという決定に基づいて、前記生成モデルを記憶してもよい。
【０００７】
いくつかの実施形態では、前記少なくとも１つのプロセッサは、前記第２の損失関数の値が前記第２の閾値以上であるという決定に基づいて、前記生成モデルを更新してもよい。
【０００８】
いくつかの実施形態では、前記少なくとも１つのプロセッサは、前記識別モデル及び前記生成モデルに基づいて、前記ＧＡＮモデルを決定してもよい。
【０００９】
いくつかの実施形態では、前記サンプル経路のセットの各々は、サンプル出発地、サンプル目的地、前記サンプル出発地と前記サンプル目的地とのリンク情報、サンプル出発時間、サンプル到着時間、又は前記サンプル経路のセットの各々に関連付けられた交通情報のうちの少なくとも１つを含んでもよい。
【００１０】
いくつかの実施形態では、前記生成モデルは、畳み込みニューラルネットワークモデル、再帰型ニューラルネットワークモデルなどを含んでもよい。
【００１１】
いくつかの実施形態では、前記識別モデルは、畳み込みニューラルネットワークモデル、再帰型ニューラルネットワークモデルなどを含んでもよい。
【００１２】
いくつかの実施形態では、前記サンプル経路のセットの数は、２５６、５１２、１０２４などであってもよい。
【００１３】
本開示の他の態様に従って、方法を提供する。前記方法は、以下の動作の１つ以上を含んでもよい。プロセッサは、要求を取得してもよい。前記プロセッサは、端末から、出発地及び目的地を含む前記要求を受信してもよい。前記プロセッサは、敵対的生成ネットワーク（ＧＡＮ）モデルを決定してもよい。前記プロセッサは、前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定してもよい。前記プロセッサは、前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信してもよい。
【００１４】
いくつかの実施形態では、前記プロセッサは、サンプル経路のセットを取得してもよい。前記プロセッサは、生成モデルを生成してもよい。前記プロセッサは、前記生成モデルに基づいて、推定経路のセットを決定してもよい。前記プロセッサは、識別モデルを生成してもよい。前記プロセッサは、前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記識別モデルの第１の損失関数を決定してもよい。前記プロセッサは、前記第１の損失関数の値が第１の閾値未満であるか否かを決定してもよい。前記プロセッサは、前記第１の損失関数の値が前記第１の閾値未満であるという決定に基づいて、前記識別モデルを記憶してもよい。
【００１５】
いくつかの実施形態では、前記プロセッサは、前記第１の損失関数の値が前記第１の閾値以上であるという決定に基づいて、前記識別モデルを更新してもよい。
【００１６】
いくつかの実施形態では、前記プロセッサは、前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記生成モデルの第２の損失関数を決定してもよい。前記プロセッサは、前記第２損失関数の値が第２閾値未満であるか否かを決定してもよい。前記プロセッサは、前記第２の損失関数の値が前記第２の閾値未満であるという決定に基づいて、前記生成モデルを記憶してもよい。
【００１７】
いくつかの実施形態では、前記プロセッサは、前記第２の損失関数の値が前記第２の閾値以上であるという決定に基づいて、前記生成モデルを更新してもよい。
【００１８】
いくつかの実施形態では、前記プロセッサは、前記識別モデル及び前記生成モデルに基づいて、前記ＧＡＮモデルを決定してもよい。
【００１９】
さらなる特徴は、以下の説明に部分的に記載され、当業者であれば、以下の図面及び添付の図面を検討することにより部分的に明らかになるか、又は実施例の製造又は動作によって学習してもよい。本開示の特徴は、以下に説明する詳細な実施例に示される方法論、手段及び組み合わせの様々な態様を実施又は使用することによって実現及び達成されてもよい。
【図面の簡単な説明】
【００２０】
例示的な実施形態により、本開示をさらに説明する。これらの例示的な実施形態は、図面を参照し詳細に説明される。図面は、縮尺通りではない。これらの実施形態は、図面のいくつかの図を通して同様の参照符号が類似の構造を表す非限定的な概略の実施形態である。
【００２１】
【図１】本開示のいくつかの実施形態に係る例示的なオンデマンドサービスシステムを示す概略図である。
【００２２】
【図２】本開示のいくつかの実施形態に係るコンピューティングデバイスの例示的なハードウェア及び／又はソフトウェアコンポーネントを示す概略図である。
【００２３】
【図３】本開示のいくつかの実施形態に係る例示的な処理エンジンを示すブロック図である。
【００２４】
【図４】本開示のいくつかの実施形態に係る推奨される経路を決定するための例示的なプロセス／方法を示すフローチャートである。
【００２５】
【図５】本開示のいくつかの実施形態に係る例示的なトレーニングモジュールを示すブロック図である。
【００２６】
【図６】本開示のいくつかの実施形態に係る敵対的生成ネットワーク（ＧＡＮ）モデルを決定するための例示的なプロセス／方法を示すフローチャートである。
【００２７】
【図７】本開示のいくつかの実施形態に係る例示的なＧＡＮモデルを示す概略図である。
【００２８】
【図８】本開示のいくつかの実施形態に係る端末が実装されてもよいモバイルデバイスの例示的なハードウェア及び／又はソフトウェアコンポーネントを示す概略図である。
【発明を実施するための形態】
【００２９】
以下の説明は、あらゆる当業者が本開示を作成し、使用することができるように提示され、かつ特定の用途及びその要件の文脈において提供される。開示される実施形態に対する様々な変更は、当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本開示の精神及び範囲から逸脱することなく、他の実施形態及び用途に適用されてもよい。したがって、本開示は、示された実施形態に限定されるものではなく、特許請求の範囲と矛盾しない最大の範囲まで許容されるものとする。
【００３０】
本明細書で用いられる用語は、具体的な例示的実施形態を記述することのみを目的とするものであり、限定的であることを意図しない。本明細書で用いられる場合には、「ａ」、「ａｎ」の単数形及び「ｔｈｅ」は、文脈上で明確に別途示されない限り、同様に複数形も包含することを意図するものとする。「ｃｏｍｐｒｉｓｅ（備える）」、「ｃｏｍｐｒｉｓｅｓ」、及び／又は「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｅ（含む）」、「ｉｎｃｌｕｄｅｓ」、及び／又は「ｉｎｃｌｕｄｉｎｇ」などの用語は、本開示において用いられる場合、記述される特徴、整数、ステップ、動作、要素、及び／又は構成部品の存在を明示しているが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成部品、及び/又はそれらの群の存在又は追加を排除するものではないことがさらに理解されるであろう。
【００３１】
本開示の上記及び上記以外の特徴及び性質、ならびに関連する構成要素及び各部分の組み合わせの動作方法と機能、及び製造の経済性については、以下の詳細な説明を添付の図面を参照して検討することにより、さらに明らかになり、これらはいずれも本開示の一部を構成する。しかしながら、図面は、例示及び説明のみを目的とするものであり、本開示の範囲を限定するものではないことは、明確に理解されるべきである。図面は縮尺通りではないことを理解すべきである。
【００３２】
本開示において用いられるフローチャートは、本開示のいくつかの実施形態に従ってシステムが実施する動作を示す。フローチャートの動作は、順序通りに実施されなくてもよいことは、明確に理解されるであろう。逆に、動作は、逆の順序で、又は同時に実施されてもよい。さらに、１つ以上の他の動作が、フローチャートに追加されてもよい。１つ以上の動作は、フローチャートから削除されてもよい。
【００３３】
さらに、本開示におけるシステム及び方法は、オンデマンド輸送サービスに関して説明されるが、それが一つの例示的な実施形態に過ぎないことも理解されたい。本開示のシステム又は方法は、他の種類のオンデマンドサービスにも適用することができる。例えば、本開示のシステム又は方法は、土地、海洋、航空宇宙など、又はそれらの任意の組み合わせを含む異なる環境の輸送システムに適用することができる。輸送システムの車両は、タクシー、自家用車、ヒッチ、バス、列車、超特急列車、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、自動運転車など、又はそれらの任意の組み合わせを含むことができる。輸送システムは、管理及び／又は流通のための任意の輸送システム、例えば、速達便を発送及び／又は受領するシステムを含むこともできる。本開示のシステム又は方法の適用は、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部解析システム、人工知能ロボットなど、又はそれらの任意の組み合わせを含むことができる。
【００３４】
本開示における「乗客」、「要求元」、「サービス要求元」、及び「顧客」という用語は、サービスを要求するか又は注文することができる個人、実体又はツールを指すために互換的に用いられる。また、本開示における「運転手」、「提供元」、「サービス提供元」、及び「供給元」という用語は、サービスを提供するか、又はサービスの提供を容易化することができる個人、実体又はツールを指すために互換的に用いられる。本開示における「ユーザ」という用語は、サービスを要求し、サービスを注文し、サービスを提供するか、又はサービスの提供を容易化することができる個人、実体又はツールを指すことができる。例えば、ユーザは、乗客、運転手、オペレータなど、又はそれらの任意の組み合わせであってもよい。本開示において、「乗客」と「乗客端末」は、互換的に用いられてもよく、「運転手」と「運転手端末」は、互換的に用いられてもよい。
【００３５】
本開示における「サービス要求」と「注文」という用語は、互換的に用いられて、乗客、要求元、サービス要求元、顧客、運転手、提供元、サービス提供元、供給元など、又はそれらの任意の組み合わせによって開始される要求を指す。前記サービス要求は、乗客、要求元、サービス要求元、顧客、運転手、提供元、サービス提供元、又は供給元のいずれか１つによって受け入れることができる。前記サービス要求は、有料である場合も、無料である場合もある。
【００３６】
本開示において用いられる位置決め技術は、全地球測位システム（ＧＰＳ）、全地球航法衛星システム（ＧＬＯＮＡＳＳ）、コンパス測位システム（ＣＯＭＰＡＳＳ）、ガリレオ測位システム、準天頂衛星システム（ＱＺＳＳ）、ワイヤレスフィデリティ（ＷｉＦｉ）測位技術など、又はそれらの任意の組み合わせに基づいてもよい。上記測位システムのうちの１つ以上は、本開示において互換的に用いられてもよい。
【００３７】
本開示の一態様は、要求に応答して経路を推奨するためのオンラインシステム及び方法を提供する。前記システム及び方法は、端末から、出発地及び目的地を含む要求を受信してもよい。前記システム及び方法は、敵対的生成ネットワーク（ＧＡＮ）モデルに基づいて、前記要求に応答して、前記出発地から前記目的地まで移動する推奨される経路を決定してもよい。前記システム及び方法は、さらに、前記端末に表示される対象となる前記推奨される経路を送信してもよい。本開示に係るシステム及び方法も、複数の履歴注文に関連付けられた複数のサンプル経路に基づいて、前記ＧＡＮモデルをトレーニングしてもよい。したがって、本開示は、経路計画の効率及び実用性を向上させる。
【００３８】
経路計画は、全体として、インターネットの世界に深く根ざした技術である。端末とサーバとの間のリアルタイムＧＰＳ測位及びリアルタイム通信の可能性がなければ、要求に対して、出発地及び目的地を含む経路を推奨することは不可能である。また、経路を推奨することは、リアルタイム交通状況情報を必要とする。したがって、本開示に開示された技術手段も、インターネット時代に深く根ざした技術である。
【００３９】
プラットフォームのアプリケーションシナリオに対して、前記アプリケーションシナリオは、ユーザ端末（例えば、要求元端末又は提供元端末）及び車両（例えば、タクシー）を含んでもよい。前記ユーザ端末がサービス要求を行う時、前記プラットフォームは、位置情報（例えば、出発地、目的地など）及び／又は参照情報（例えば、交通情報）を取得してもよい。例えば、ユーザがタクシーを呼び寄せるとき、前記プラットフォームは、前記ユーザの位置情報を取得し、前記位置情報に基づいて経路を推奨し、前記タクシー運転手及び前記ユーザに、前記推奨される経路を提供してもよい。
【００４０】
図１は、本開示のいくつかの実施形態に係る例示的なオンデマンドサービスシステム１００を示す概略図である。例えば、オンデマンドサービスシステム１００は、タクシー配車、運転代行、配達車、相乗り、バス運行、運転手付きハイヤ、及び折り返し運転などの輸送サービス用のオンライン輸送サービスプラットフォームであってよい。オンデマンドサービスシステム１００は、サーバ１１０、ネットワーク１２０、要求元端末１３０、提供元端末１４０、データベース１５０、及び測位システム１６０を含むオンラインプラットフォームであってもよい。サーバ１１０は、処理エンジン１１２を含んでもよい。
【００４１】
いくつかの実施形態では、サーバ１１０は、単一のサーバ又はサーバグループであってもよい。前記サーバグループは、集中型であっても分散型であってもよい（例えば、サーバ１１０は、分散型システムであってもよい）。いくつかの実施形態では、サーバ１１０は、ローカルであってもリモートであってもよい。例えば、サーバ１１０は、ネットワーク１２０を介して、要求元端末１３０、提供元端末１４０及び／又はデータベース１５０に記憶された情報及び／又はデータにアクセスしてもよい。他の例として、サーバ１１０は、記憶された情報及び／又はデータにアクセスするために、要求元端末１３０、提供元端末１４０及び／又は前記データベース１５０に直接に接続してもよい。いくつかの実施形態では、サーバ１１０は、クラウドプラットフォームで実装されてもよい。単に例として、前記クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウドなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、サーバ１１０は、本開示の図２に示す１つ以上のコンポーネントを有するコンピューティングデバイス２００で実装されてもよい。
【００４２】
いくつかの実施形態では、サーバ１１０は、処理エンジン１１２を含んでもよい。処理エンジン１１２は、本開示に記載された１つ以上の機能を実施するために、サービス要求に関連する情報及び／又はデータを処理してもよい。例えば、処理エンジン１１２は、要求元端末１３０から取得された要求に応答して、出発地から目的地まで移動する推奨される経路を決定してもよい。いくつかの実施形態では、処理エンジン１１２は、１つ以上の処理エンジン（例えば、シングルコア処理エンジン又はマルチコアプロセッサ）を含んでもよい。単に例として、処理エンジン１１２は、中央処理装置（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、特定用途向け命令セットプロセッサ（ＡＳＩＰ）、グラフィックス処理ユニット（ＧＰＵ）、物理演算処理装置（ＰＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックデバイス（ＰＬＤ）、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ（ＲＩＳＣ）、マイクロプロセッサなど、又はそれらの任意の組み合わせなどの１つ以上のハードウェアプロセッサを含んでもよい。
【００４３】
ネットワーク１２０は、情報及び／又はデータの交換を円滑化してもよい。いくつかの実施形態では、オンデマンドサービスシステム１００の１つ以上のコンポーネント（例えば、サーバ１１０、要求元端末１３０、提供元端末１４０、データベース１５０、及び測位システム１６０）は、ネットワーク１２０を介して、オンデマンドサービスシステム１００の他のコンポーネントに、情報及び／又はデータを送信してもよい。例えば、サーバ１１０は、ネットワーク１２０を介して、要求元端末１３０からサービス要求を取得／入手してもよい。いくつかの実施形態では、ネットワーク１２０は、任意のタイプの有線又は無線ネットワーク、又はそれらの組み合わせであってもよい。単に例として、ネットワーク１３０は、ケーブルネットワーク、有線ネットワーク、光ファイバーネットワーク、テレコミュニケーションネットワーク、イントラネット、インターネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、公衆電話交換網（ＰＳＴＮ）、Ｂｌｕｅｔｏｏｔｈネットワーク、ＺｉｇＢｅｅネットワーク、近距離無線通信（ＮＦＣ）ネットワーク、など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、ネットワーク１２０は、１つ以上のネットワークアクセスポイントを含んでもよい。例えば、ネットワーク１２０は、基地局及び／又はインターネット交換ポイント１２０−１、１２０−２などのような有線又は無線のネットワークアクセスポイントを含んでもよく、それを介してオンデマンドサービスシステム１００の１つ以上のコンポーネントがネットワーク１２０に接続されてデータ及び／又は情報を交換する。
【００４４】
いくつかの実施形態では、要求元は、要求元端末１３０のユーザであってもよい。いくつかの実施形態では、要求元端末１３０のユーザは、要求元以外の他の何者かであってもよい。例えば、要求元端末１３０のユーザＡは、要求元端末１３０を用いて、ユーザＢに対するサービス要求を送信するか、又はサーバ１１０からサービス及び／又は情報あるいは命令を受信することができる。いくつかの実施形態では、提供元は、提供元端末１４０のユーザであってもよい。いくつかの実施形態では、提供元端末１４０のユーザは、提供元以外の他の何者かであってもよい。例えば、提供元端末１４０のユーザＣは、提供元端末１４０を用いて、ユーザＤに対するサービス要求、及び／又はサーバ１１０から情報又は命令を受信してもよい。いくつかの実施形態では、「要求元」と「要求元端末」は、互換的に用いられてもよく、「提供元」と「提供元端末」は、互換的に用いられてもよい。
【００４５】
いくつかの実施形態では、要求元端末１３０は、モバイルデバイス１３０−１、タブレット型コンピュータ１３０−２、ラップトップ型コンピュータ１３０−３、自動車内の内蔵デバイス１３０−４など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、モバイルデバイス１３０−１は、スマートホームデバイス、ウエアラブルデバイス、モバイルデバイス、仮想現実装置、拡張現実装置など、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、前記スマートホームデバイスは、スマート照明装置、インテリジェント電気装置の制御装置、スマート監視装置、スマートテレビ、スマートビデオカメラ、インターフォンなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、前記ウエアラブルデバイスは、ブレスレット、フットギア、眼鏡、ヘルメット、時計、衣類、バックパック、スマートアクセサリーなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、前記モバイルデバイスは、携帯電話、携帯情報端末（ＰＤＡ）、ゲーミングデバイス、ナビゲーション装置、販売時点情報管理（ＰＯＳ）装置、ラップトップ、デスクトップなど、又はそれらの任意の組み合わせを含んでもよい。いくつかの実施形態では、前記仮想現実装置及び／又は前記拡張現実装置は、仮想現実ヘルメット、仮想現実眼鏡、仮想現実パッチ、拡張現実ヘルメット、拡張現実眼鏡、拡張現実パッチなど、又はそれらの任意の組み合わせを含んでもよい。例えば、前記仮想現実装置及び／又は拡張現実装置は、グーグルグラスＴＭ、リフトコンＴＭ、フラグメンツＴＭ、ギヤＶＲＴＭなどを含んでもよい。いくつかの実施形態では、自動車内の内蔵デバイス１３０−４は、車載コンピュータ、車載テレビなどを含んでもよい。いくつかの実施形態では、要求元端末１３０は、要求元及び／又は要求元端末１３０の位置を決める測位技術を備えたデバイスであってよい。
【００４６】
いくつかの実施形態では、提供元端末１４０は、要求元端末１３０と類似の、又は同一のデバイスであってもよい。いくつかの実施形態では、提供元端末１４０は、提供元端末１４０（例えば、サービスプロバイダ）のユーザ及び／又は提供元端末１４０の位置を決める測位技術を利用する装置であってもよい。いくつかの実施形態では、要求元端末１３０及び／又は提供元端末１４０は、前記要求元、要求元端末１３０、前記提供元及び／又は提供元端末１４０の位置を決定するために、１つ以上の他の測位装置と通信してもよい。いくつかの実施形態では、要求元端末１３０及び／又は提供元端末１４０は、測位情報を前記サーバ１１０に送信してもよい。
【００４７】
データベース１５０は、データ及び／又は命令を記憶してもよい。いくつかの実施形態では、データベース１５０は、要求元端末１３０及び／又は提供元端末１４０から取得されたデータを記憶してもよい。いくつかの実施形態では、データベース１５０は、サーバ１１０が本開示に記載された例示的な方法を実施するために実行するか又は使用するデータ及び／又は命令を記憶してもよい。いくつかの実施形態では、データベース１５０は、マスストレージ、リムーバブルストレージ、揮発性読み書きメモリ、リードオンリーメモリ（ＲＯＭ）など、又はそれらの任意の組み合わせを含んでもよい。例示的なマスストレージは、磁気ディスク、光ディスク、ソリッドステートドライブなどを含んでもよい。例示的なリムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリーカード、ジップディスク、磁気テープなどを含んでもよい。例示的な揮発性読み書きメモリは、ランダムアクセスメモリ（ＲＡＭ）を含んでもよい。例示的なＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレート同期ダイナミックＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、サイリスタＲＡＭ（Ｔ−ＲＡＭ）、ゼロキャパシタＲＡＭ（Ｚ−ＲＡＭ）などを含んでもよい。例示的なＲＯＭは、マスクＲＯＭ（ＭＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、及びデジタルバーサタイルディスクＲＯＭなどを含んでもよい。いくつかの実施形態では、データベース１５０は、クラウドプラットフォームで実装されてもよい。単に例として、前記クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウドなど、又はそれらの任意の組み合わせを含んでもよい。
【００４８】
いくつかの実施形態では、データベース１５０は、オンデマンドサービスシステム１００の１つ以上のコンポーネント（例えば、サーバ１１０、要求元端末１３０、提供元端末１４０など）と通信するために、ネットワーク１２０に接続されてもよい。オンデマンドサービスシステム１００内の１つ以上のコンポーネントは、ネットワーク１２０を介して、データベース１５０に記憶されたデータ又は命令にアクセスしてもよい。いくつかの実施形態では、データベース１５０は、オンデマンドサービスシステム１００内の１つ以上のコンポーネント（例えば、サーバ１１０、要求元端末１３０、提供元端末１４０など）と直接、接続するか、又は通信してもよい。いくつかの実施形態では、データベース１５０は、サーバ１１０の一部であってよい。
【００４９】
測位システム１６０は、例えば、要求元端末１３０、提供元端末１４０などの１つ以上の対象に関連付けられた情報を決定してもよい。前記情報は、対象の位置、高度、速度、又は加速度、又は現在の時間を含んでもよい。例えば、測位システム１６０は、要求元端末１３０の現在の位置を決定してもよい。いくつかの実施形態では、測位システム１６０は、全地球測位システム（ＧＰＳ）、全地球航法衛星システム（ＧＬＯＮＡＳＳ）、コンパス測位システム（ＣＯＭＰＡＳＳ）、北斗衛星測位システム、ガリレオ測位システム、準天頂衛星システム（ＱＺＳＳ）などであってもよい。前記位置は、緯度座標及び経度座標などの座標の形式であってもよい。測位システム１６０は、１つ以上の衛星、例えば、衛星１６０−１、衛星１６０−２、及び衛星１６０−３を含んでもよい。衛星１６０−１〜１６０−３は、独立して又は共同で上記情報を決定してもよい。衛星測位システム１６０は、無線接続を介して、上記情報をネットワーク１２０、要求元端末１３０、又は提供元端末１４０に送信してもよい。
【００５０】
いくつかの実施形態では、オンデマンドサービスシステム１００（例えば、サーバ１１０、要求元端末１３０、提供元端末１４０）の１つ以上のコンポーネントは、データベース１５０にアクセスする許可を有してもよい。いくつかの実施形態では、オンデマンドサービスシステム１００の１つ以上のコンポーネントは、１つ以上の条件が満たされたときに、前記要求元、提供元及び／又は公共に関連する情報の読み取り及び／又は変更を行ってもよい。例えば、サーバ１１０は、サービスが完了した後に１つ以上のユーザの情報の読み取り及び／又は変更を行ってもよい。他の例として、要求元端末１３０からサービス要求を受信したときに、提供元端末１４０は、前記要求元に関連する情報にアクセスしてもよいが、提供元端末１４０は、前記要求元の関連情報を変更しなくてもよい。
【００５１】
いくつかの実施形態では、オンデマンドサービスシステム１００内の１つ以上のコンポーネントの情報交換は、サービスを要求することにより達成されてもよい。前記サービス要求の対象は、任意の製品であってもよい。いくつかの実施形態では、前記製品は、有形製品であってもよく、無形製品であってもよい。前記有形製品は、食品、医薬品、日用品、化学製品、電気器具、衣類、自動車、住宅、贅沢品など、又はそれらの任意の組み合わせを含んでもよい。前記無形製品は、サービス提供商品、金融商品、ナレッジ製品、インターネット製品など、又はそれらの任意の組み合わせを含んでもよい。前記インターネット製品は、個別ホスト製品、ウェブ製品、モバイルインターネット製品、商用ホスト製品、組み込み製品など、又はそれらの任意の組み合わせを含んでもよい。前記モバイルインターネット製品は、移動端末のソフトウェア、プログラム、システムなど、又はそれらの任意の組み合わせで用いられてもよい。前記移動端末は、タブレット型コンピュータ、ラップトップ型コンピュータ、携帯電話、携帯情報端末（ＰＤＡ）、スマートウォッチ、販売時点情報管理（ＰＯＳ）装置、車載コンピュータ、車載テレビ、ウエアラブルデバイスなど、又はそれらの任意の組み合わせを含んでもよい。例えば、前記製品は、前記コンピュータ又は携帯電話で用いられる任意のソフトウェア及び／又はアプリケーションであってもよい。前記ソフトウェア及び／又はアプリケーションは、社交、ショッピング、輸送、娯楽、学習、投資など、又はそれらの任意の組み合わせに関連してもよい。いくつかの実施形態では、輸送に関連する前記ソフトウェア及び／又はアプリケーションは、旅行ソフトウェア及び／又はアプリケーション、車両スケジューリングソフトウェア及び／又はアプリケーション、地図作成ソフトウェア及び／又はアプリケーションなどを含んでもよい。前記車両スケジューリングソフトウェア及び／又はアプリケーションでは、前記車両は、馬、馬車、人力車（例えば、手押し一輪車、自転車、三輪車）、自動車（例えば、タクシー、バス、自家用車）、列車、地下鉄、船舶、航空機（例えば、飛行機、ヘリコプター、宇宙連絡船、ロケット、熱気球）など、又はそれらの任意の組み合わせを含んでもよい。
【００５２】
図１に示されたアプリケーションシナリオは、例証のみを目的とするものであり、本開示の範囲を限定するものではないことに注意されたい。例えば、オンデマンドサービスシステム１００は、ナビゲーションシステムとして用いられてもよい。前記ナビゲーションシステムは、ユーザ端末（例えば、要求元端末１３０又は提供元端末１４０）及びサーバ（例えば、サーバ１１０）を含んでもよい。ユーザは、ユーザ端末を介して出発地及び目的地を入力してもよい。したがって、前記ナビゲーションシステムは、本開示に記載されたプロセス及び／又は方法に基づいて、出発地から目的地まで移動する経路を推奨し、表示される対象となる推奨される経路をユーザ端末に提供してもよい。
【００５３】
図２は、本開示のいくつかの実施形態に係るサーバ１１０、要求元端末１３０、及び／又は提供元端末１４０が実装されてもよいコンピューティングデバイス２００の例示的なハードウェア及び／又はソフトウェアコンポーネントを示す概略図である。例えば、処理エンジン１１２は、コンピューティングデバイス２００で実装されると共に、本開示で開示される処理エンジン１１２の機能を実施するように構成されてもよい。
【００５４】
コンピューティングデバイス２００は、汎用コンピュータ又は専用コンピュータであってもよく、両方とも、本開示のオンデマンドシステムを実装するために用いられてもよい。コンピューティングデバイス２００は、本明細書で記載されるように、オンデマンドサービスシステムの任意のコンポーネントを実装するために用いられてもよい。例えば、処理エンジン１１２は、そのハードウェア、ソフトウェアプログラム、ファームウェア、又はそれらの組み合わせを介して、コンピューティングデバイスで実装されてもよい。そのようなコンピュータの１つのみを便宜上示すが、処理負荷を分散するために、本明細書に記載されたオンデマンドサービスに関連するコンピュータ機能が、多くの類似のプラットフォームに分散して実装されてもよい。
【００５５】
コンピューティングデバイス２００は、例えば、データ通信を円滑化するために、ネットワークに接続される及び／又はネットワークから接続されるＣＯＭポート２５０を含んでもよい。コンピューティングデバイス２００も、プログラム命令を実行するための１つ以上のプロセッサの形態の中央処理装置（ＣＰＵ）２２０を含んでもよい。前記例示的なコンピューティングデバイスは、様々なデータファイルをコンピューティングデバイスで処理及び／又は送信するために、内部通信バス２１０、例えばディスク２７０を含む異なる形式のプログラムストレージとデータストレージ、及びリードオンリーメモリ（ＲＯＭ）２３０又はランダムアクセスメモリ（ＲＡＭ）２４０を含んでもよい。前記例示的なコンピューティングデバイスも、ＲＯＭ２３０、ＲＡＭ２４０、及び／又はＣＰＵ２２０によって実行される他のタイプの非一時的な記憶媒体に記憶されたプログラム命令を含んでもよい。本開示の方法及び／又はプロセスは、前記プログラム命令として実装されてもよい。コンピューティングデバイス２００も、前記コンピュータと他のコンポーネントとの間の入出力をサポートするＩ／Ｏコンポーネント２６０を含んでもよい。コンピューティングデバイス２００は、ネットワーク通信を介してプログラミング及びデータを受信することもできる。
【００５６】
単なる例示を目的とし、コンピューティングデバイス２００において、１つのＣＰＵ及び／又はプロセッサのみを記載する。しかしながら、本開示におけるコンピューティングデバイス２００も、多数のＣＰＵ及び／又はプロセッサを含んでもよいため、本開示で説明されるように、１つのＣＰＵ及び／又はプロセッサによって実施される動作及び／又は方法ステップも、多数のＣＰＵ及び／又はプロセッサによって共同で又は別々に実施されてもよい。例えば、本開示において、コンピューティングデバイス２００のＣＰＵ及び／又はプロセッサがステップＡ及びステップＢの両方を実行する場合、ステップＡ及びステップＢは、コンピューティングデバイス２００において２つの異なるＣＰＵ及び／又はプロセッサによって共同で又は別々に実施することができる（例えば、第１のプロセッサがステップＡを実行し、第２のプロセッサがステップＢを実行するか、又は第１のプロセッサと第２のプロセッサがステップＡ及びステップＢを共同で実行する）ことは理解されるであろう。
【００５７】
図３は、本開示のいくつかの実施形態に係る例示的な処理エンジン１１２を示すブロック図である。処理エンジン１１２は、受信モジュール３１０、トレーニングモジュール３２０、決定モジュール３３０、及び通信モジュール３４０を含んでもよい。
【００５８】
受信モジュール３１０は、要求を受信するように構成されてもよい。受信モジュール３１０は、ネットワーク１２０を介して要求元端末１３０から前記要求を受信してもよい。前記要求は、出発地、目的地、出発時間などを含んでもよい。いくつかの実施形態では、受信モジュール３１０は、要求に関連付けられた参照情報をさらに取得してもよい。前記参照情報は、前記要求に関連付けられた交通情報、前記要求に関連付けられた気象情報などを含んでもよい。いくつかの実施形態では、前記受信された情報（例えば、前記要求、前記参照情報など）は、さらに処理されるように他のモジュール（例えば決定モジュール３３０）に送信されてもよい。
【００５９】
トレーニングモジュール３２０は、経路計画のためのモデルをトレーニングするように構成されてもよい。前記モデルは、敵対的生成ネットワーク（ＧＡＮ）モデルであってもよい。前記ＧＡＮモデルは、識別モデル及び生成モデルを含んでもよい。トレーニングモジュール３２０は、複数のサンプル経路（例えば、複数の履歴注文に関連付けられた複数のサンプル経路）に基づいて、前記ＧＡＮモデルをトレーニングしてもよい。いくつかの実施形態では、前記トレーニングされたモデルは、決定モジュール３３０に送信されてもよい。いくつかの実施形態では、前記トレーニングされたモデルは、本開示の他の箇所に開示された記憶装置（例えば、データベース１５０、処理エンジン１１２に集積された記憶モジュール（図示せず））に送信されて記憶されてもよい。
【００６０】
いくつかの実施形態では、前記複数の履歴注文は、時間基準に基づいて選択されてもよい。例えば、前記複数の履歴注文は、ある期間内、すなわち過去６ヶ月、過去１週間、６ヶ月間にわたり毎日午前８時〜午前９時などで選択されてもよい。いくつかの他の実施形態では、前記複数の履歴注文は、空間基準に基づいて選択されてもよい。例えば、前記複数の履歴注文は、１つのエリア内、すなわち、ワシントンＤ．Ｃ．エリア、キャピタルヒルを中心とする半径３マイルのエリア内などで選択されてもよい。さらに他の実施形態では、前記複数の履歴注文は、１つ以上のパラメータ、例えば車両のタイプ、目的地、乗客のプロフィール、運転手のプロフィール、サービス料金などに関して選択されてもよい。
【００６１】
決定モジュール３３０は、前記ＧＡＮモデルに基づいて、要求に応答して、推奨される経路を決定するように構成されてもよい。決定モジュール３３０は、受信モジュール３１０から前記要求を取得し、トレーニングモジュール３２０から前記ＧＡＮモデルを取得してもよい。決定モジュール３３０は、前記推奨される経路を通信モジュール３４０に送信してもよい。
【００６２】
通信モジュール３４０は、前記推奨される経路を要求元端末１３０及び／又は提供元端末１４０に送信するように構成されてもよい。前記推奨される経路は、要求元端末１３０及び／又は提供元端末１４０に表示されてもよい。いくつかの実施形態では、前記推奨される経路は、テキスト、画像、ビデオコンテンツ、オーディオコンテンツ、グラフィックスなどの形式、又はそれらの組み合わせで要求元端末１３０及び／又は提供元端末１４０に提示されてもよい。
【００６３】
処理エンジン１１２内のモジュールは、有線接続又は無線接続を介して互いに接続又は通信されてもよい。前記有線接続は、金属ケーブル、光ケーブル、ハイブリッドケーブルなど、又はそれらの任意の組み合わせを含んでもよい。前記無線接続は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、Ｂｌｕｅｔｏｏｔｈ、ＺｉｇＢｅｅ、近距離通信（ＮＦＣ）など、又はそれらの任意の組み合わせを含んでもよい。２つ以上のモジュールは、単一のモジュールとして組み合わせられてもよく、いずれか１つのモジュールは、２つ以上のユニットに分割されてもよい。例えば、受信モジュール３１０は、要求を取得することと、推奨される経路を決定することとの両方を行ってもよい単一のモジュールとして決定モジュール３３０に集積されてもよい。他の例として、処理エンジン１１２は、前記要求、前記トレーニングされるモデル、前記推奨される経路、及び／又は前記要求に関連付けられた任意の情報を記憶するように構成されてもよい記憶モジュール（図３には図示せず）を含んでもよい。
【００６４】
図４は、本開示のいくつかの実施形態に係る推奨される経路を決定するための例示的なプロセス／方法４００のフローチャートである。プロセス及び／又は方法４００は、オンデマンドサービスシステム１００によって実行されてもよい。例えば、プロセス及び／又は方法４００は、ストレージＲＯＭ２３０又はＲＡＭ２４０に記憶された命令のセット（例えば、アプリケーション）として実装されてもよい。ＣＰＵ２２０は、命令のセットを実行してもよく、それに応じてプロセス及び／又は方法４００を実施するように指示されてもよい。以下に提示される例示のプロセス／方法の動作は、例証を意図したものである。いくつかの実施形態では、前記プロセス／方法は、説明されていない１つ以上の動作の追加で、及び／又は１つ以上の論じられた動作なしで実現されてもよい。さらに、図４に示され、以下に説明されるプロセス／方法の動作の順序は、限定的なものではない。
【００６５】
ステップ４１０では、処理エンジン１１２は、要求を受信してもよい。処理エンジン１１２は、ネットワーク１２０を介して、要求元端末１３０から前記要求を受信してもよい。前記要求は、出発地、目的地、出発時間（例えば、現在の瞬間、予定時間など）を含んでもよい。
【００６６】
ステップ４２０では、処理エンジン１１２は、ＧＡＮモデルを決定してもよい。本明細書で用いられるように、前記ＧＡＮモデルは、前記要求に応答して、経路を生成するために用いられてもよい。前記ＧＡＮモデルは、識別モデル及び生成モデルを含んでもよい。処理エンジン１１２は、履歴情報に基づいて、予備生成モデルと予備識別モデルを含む予備ＧＡＮモデルをトレーニングすることによってＧＡＮモデルを決定してもよい。例えば、処理エンジン１１２は、複数の履歴注文に関連付けられた複数のサンプル経路に基づいて予備生成モデル及び予備識別モデルをトレーニングしてもよい。本明細書で用いられるように、「履歴注文」という用語は、一般的に、完了した要求及びそれに関連付けられた情報を指す。例えば、図１に示すアプリケーションシナリオに対して、要求元は、オンデマンドサービスシステム１００に、輸送サービスのための出発地及び目的地を含む要求を送信してもよい。サービス提供元は、前記要求を受け入れ、前記出発地から前記目的地まで移動する経路に沿って輸送サービスを提供してもよい。前記サービス提供元が目的地で要求元を降ろした後、オンデマンドサービスシステム１００は、本開示の他の箇所に開示された記憶装置に経路を記憶してもよい。前記ＧＡＮモデルをトレーニングしてもよいステップ４２０では、前記経路をサンプル経路として用いてもよい。
【００６７】
ステップ４３０では、処理エンジン１１２は、前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動する推奨される経路を決定してもよい。
【００６８】
ステップ４４０では、処理エンジン１１２は、要求元端末１３０及び／又は提供元端末１４０に表示される対象となる前記推奨される経路を送信してもよい。前記推奨される経路は、１つ以上のユーザインタフェース（図示せず）を介して、要求元端末１３０及び／又は前記提供元端末に提示されてもよい。いくつかの実施形態では、前記推奨される経路は、任意の適切な通信プロトコル（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、アドレス解決プロトコル（ＡＲＰ）、動的ホスト構成プロトコル（ＤＨＣＰ）、ファイル転送プロトコル（ＦＴＰ）など）を使用するメッセージを介して、送信及び／又は受信されてもよい。
【００６９】
上記の説明は、例証のみを目的とするものであり、本開示の範囲を限定するものではないことに注意されたい。当業者であれば、本開示の教示の下で多数の変形及び修正を行うことが可能である。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。例えば、例示的なプロセス／方法４００の他の箇所に、１つ以上の他の任意のステップ（例えば記憶ステップ）が追加されてもよい。
【００７０】
図５は、本開示のいくつかの実施形態に係る例示的なトレーニングモジュール３２０を示すブロック図である。トレーニングモジュール３２０は、取得ユニット５１０、生成モデル決定ユニット５２０、識別モデル決定ユニット５３０、及び生成ユニット５４０を含んでもよい。
【００７１】
取得ユニット５１０は、サンプル経路セットを取得するように構成されてもよい。取得ユニット５１０は、本開示の他の箇所に開示されている記憶装置（例えば、データベース１５０、処理エンジン１１２に集積された記憶モジュール（図示せず）など）から前記サンプル経路セットを取得してもよい。本明細書で用いられるように、前記サンプル経路セットは、特定の期間（例えば過去１ヶ月）内の複数の履歴注文に関連付けられたサンプル経路のセットであってもよい。
【００７２】
生成モデル決定ユニット５２０は、生成モデルを決定するように構成されてもよい。生成モデル決定ユニット５２０は、予備生成モデルをトレーニングすることによって生成モデルを決定してもよい。前記予備生成モデルは、オンデマンドサービスシステム１００のデフォルト設定であってもよく、異なる状況下で調整可能であってもよい。前記予備生成モデルは、複数の生成パラメータを含んでもよい。生成モデル決定ユニット５２０は、前記複数の修正された生成パラメータが所定の条件を満たすまで、前記複数の生成パラメータを反復的に修正してもよい。各反復中に、生成モデル決定ユニット５２０は、予備／更新された生成モデルに基づいて、推定経路のセットを生成してもよい。生成モデル決定ユニット５２０は、推定経路のセットを識別モデル決定ユニット５３０に送信して識別してもよい。さらに、生成モデル決定ユニット５２０は、識別結果に基づいて、複数の生成パラメータを修正してもよい。
【００７３】
識別モデル決定ユニット５３０は、識別モデルを決定するように構成されてもよい。識別モデル決定ユニット５３０は、予備識別モデルをトレーニングすることによって前記識別モデルを決定してもよい。前記予備識別モデルは、オンデマンドサービスシステム１００のデフォルト設定であってもよく、異なる状況下で調整可能であってもよい。前記予備識別モデルは、複数の識別パラメータを含んでもよい。識別モジュール決定ユニット５３０は、複数の修正される識別パラメータが所定の条件を満たすまで、複数の識別パラメータを前記サンプル経路のセット及び前記推定経路のセットに基づいて反復的に修正してもよい。
【００７４】
生成ユニット５４０は、前記生成モデル及び前記識別モデルに基づいて、ＧＡＮモデルを生成するように構成されてもよい。前記生成されたＧＡＮモデルは、本開示の他の箇所に開示されている任意の記憶装置（例えば、データベース１５０、処理エンジン１１２に集積された記憶モジュール（図示せず）など）に記憶されてもよい。
【００７５】
上記の説明は、例証のみを目的とするものであり、本開示の範囲を限定するものではないことに注意されたい。当業者であれば、本開示の教示下で複数の変形及び修正を行うことが可能である。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。例えば、トレーニングモジュール３２０は、前記生成モデル及び前記識別モデルに関連付けられた任意の情報を記憶するために用いられる記憶ユニット（図示せず）を含んでもよい。他の例として、トレーニングモジュール３２０内のユニットは、それぞれストレージサンユニット（図示せず）を含んでもよい。さらなる例として、生成モデル決定ユニット５２０及び識別モデル決定ユニット５３０は、生成モデル及び識別モデルの両方を決定してもよい単一モジュールとして集積されてもよい。
【００７６】
図６は、本開示のいくつかの実施形態に係るＧＡＮモデルを決定するための例示的なプロセス／方法６００を示すフローチャートである。プロセス及び／又は方法６００は、オンデマンドサービスシステム１００によって実行されてもよい。例えば、プロセス及び／又は方法６００は、ストレージＲＯＭ２３０又はＲＡＭ２４０に記憶された命令セット（例えばアプリケーション）として実装されてもよい。ＣＰＵ２２０は、命令のセットを実行してもよく、それに応じてプロセス及び／又は方法６００を実施するように指示されてもよい。以下に提示される例示のプロセス／方法の動作は、例証を意図したものである。いくつかの実施形態では、前記プロセス／方法は、説明されていない１つ以上の追加の動作で、及び／又は１つ以上の論じられた動作なしで実現されてもよい。さらに、図６に示され、以下に説明されるプロセス／方法の動作の順序は、限定的なものではない。
【００７７】
ステップ６０２では、処理エンジン１１２は、サンプル経路のセットを取得してもよい。処理エンジン１１２は、本開示の他の箇所に開示されている記憶装置（例えば、データベース１５０、処理エンジン１１２に集積された記憶モジュール（図示せず）など）から前記サンプル経路のセットを取得してもよい。前記サンプル経路のセットの数は、オンデマンドサービスシステム１００のデフォルト設定（例えば、２５６、５１２、１０２４など）であってもよく、又は異なる状況下で調整可能であってもよい。前記サンプル経路のセットは、複数の履歴注文に関連付けられたサンプル経路のセットであってもよい。
【００７８】
いくつかの実施形態では、前記サンプル経路のセットのそれぞれは、サンプル出発地、サンプル目的地、サンプル出発地とサンプル目的地とのリンク情報、サンプル出発時間、サンプル到着時間、サンプル経路に関連付けられた交通情報などを含んでもよい。
【００７９】
前記リンク情報は、前記サンプル出発地と前記サンプル目的地との間のサンプル経路内の複数のリンク（道路又は街路の区間）に関連付けられた情報を指してもよい。例えば、前記リンク情報は、複数のリンクの数、複数のリンクの距離などを含んでもよい。
【００８０】
前記交通情報は、複数のリンクの交通状況情報、交通信号機情報、等級情報（道路又は街路の等級）などを含んでもよい。前記交通状況情報は、交通速度、交通流、交通密度などを含んでもよい。前記交通信号機情報は、交通信号機の分布、交通信号機の数などを含んでもよい。いくつかの実施形態では、前記道路又は街路の等級は、速度制限に従って、高速道路、第１級高速道路、第２級高速道路、第３級高速道路、及び第４級高速道路などの５つの等級に分類されてもよい。いくつかの実施形態では、前記道路又は街路の等級は、地理情報に従って、国道、州道、郡道及び村道などの４つの等級に分類されてもよい。
【００８１】
ステップ６０４では、処理エンジン１１２は、生成モデルを生成してもよい。プロセス／方法６００は、１つ以上の反復を含む反復プロセスであってもよいことに注意されたい。第１の反復では、処理エンジン１１２は、予備生成モデルを生成してもよい。前記予備生成モデルは、畳み込みニューラルネットワーク（ＣＮＮ）モデル、再帰型ニューラルネットワーク（ＲＮＮ）モデルなどを含んでもよい。前記予備生成モデルは、オンデマンドサービスシステム１００のデフォルト設定であってもよく、又は異なる状況下で調整可能であってもよい。前記予備生成モデルは、１つ以上の予備生成パラメータを含んでもよい。
【００８２】
ステップ６０６では、処理エンジン１１２は、前記予備生成モデル及び前記サンプル経路セットに基づいて、推定経路セットを決定してもよい。前記推定経路のセットの数は、前記サンプル経路のセットの数と同じであってもよい。例えば、特定のサンプル出発地及び特定のサンプル目的地を含む特定のサンプル経路に対して、処理エンジン１１２は、特定のサンプル出発地から特定のサンプル目的地までの推定経路を決定してもよい。処理エンジン１１２は、前記推定経路を決定するために、交通情報（例えば、交通状況情報、交通信号機など）を１つのパラメータとして適用してもよい。
【００８３】
ステップ６０８では、処理エンジン１１２は、識別モデルを生成してもよい。前記識別モデルは、前記推定経路のセットが前記サンプル経路のセットにどれだけ近いかを示す前記推定経路のセットの平均確率値を決定するために用いられてもよい。本明細書で用いられるように、前記確率値は、０〜１の範囲内である。ステップ６０２に関して説明されるように、第１の反復では、処理エンジン１１２は、予備識別モデルを生成してもよい。前記予備識別モデルは、ＣＮＮモデル、ＲＮＮモデルなどを含んでもよい。前記予備識別モデルは、オンデマンドサービスシステム１００のデフォルト設定であってもよく、又は異なる状況下で調整可能であってもよい。前記予備生成モデルは、１つ以上の予備識別パラメータを含んでもよい。
【００８４】
ステップ６１０では、処理エンジン１１２は、前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記予備識別モデルの第１の損失関数を決定してもよい。
【００８５】
例えば、処理エンジン１１２は、以下に示す式（１）に従って、前記識別モデルの第１の損失関数を決定してもよい。
【数１】
2019529868.tif 000003
ここで、Ｊ（Ｄ）は、前記識別モデルの第１の損失関数を表してもよく（第１の反復では、以下と同様に予備識別モデルの第１の損失関数を表す）、θ（Ｄ）は、識別モデルの識別パラメータを表してもよく、θ（Ｇ）は、生成モデルの生成パラメータを表してもよく、ｘは、サンプル経路のセットを表してもよく、Ｄ（ｘ）は、識別モデルに基づいて決定されたサンプル経路のセットの平均確率値を表してもよく、ｘ〜ｐｄａｔａは、サンプル経路のセットの分布を表してもよく、ｚは、生成モデルの入力情報（例えば、サンプル出発地、サンプル目的地、交通情報など）を表してもよく、Ｇ（ｚ）は、推定経路のセットを表してもよく、Ｄ（Ｇ（ｚ））は、識別モデルに基づいて決定された推定経路のセットの平均確率値を表してもよく、
【数２】
2019529868.tif 000004
は、サンプル経路のセットの平均期待値を表してもよく（デフォルトでは、サンプル経路の期待値は、「１」に近似する）、Ｅｚは、推定経路のセットの平均期待値を表してもよい（デフォルトでは、推定経路の期待値は「０」に近似する）。
【００８６】
ステップ６１２では、処理エンジン１１２は、第１の損失関数の値が第１の閾値より小さいか否かを決定してもよい。前記第１の閾値は、オンデマンドサービスシステム１００のデフォルト設定（例えば０．５）であってもよく、又は異なる状況下で調整可能であってもよい。
【００８７】
前記第１の損失関数の値が前記第１の閾値未満であるという決定に応答して、処理エンジン１１２は、プロセス／方法６００をステップ６２０まで実行して、前記予備識別モデルを記憶してもよい。
【００８８】
前記第１の損失関数が前記第１の閾値以上であるという決定に応答して、処理エンジン１１２は、プロセス／方法６００をステップ６１３まで実行してもよい。ステップ６１３では、処理エンジン１１２は、前記予備識別モデルを更新してもよい。例えば、処理エンジン１１２は、前記予備識別モデルの１つ以上の識別パラメータを更新してもよい。処理エンジン１１２が前記予備識別モデルを更新した後、処理エンジン１１２は、前記プロセス／方法を実行してステップ６０８に戻り、更新された識別モデルを決定し、前記第１の損失関数の値が前記第１の閾値未満となるまで新しい反復を開始してもよい。
【００８９】
ステップ６０６に戻って、処理エンジン１１２が前記予備生成モデルに基づいて推定経路のセットを決定した後、処理エンジン１１２は、前記プロセス／方法をステップ６１４まで実行してもよい。ステップ６１４では、処理エンジン１１２は、前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記予備生成モデルの第２の損失関数を決定してもよい。
【００９０】
例えば、処理エンジン１１２は、以下に示す式（２）に従って、前記予備生成モデルの第２の損失関数を決定してもよい。
【数３】
2019529868.tif 000005
ここで、Ｊ（Ｇ）は、前記生成モデルの前記第２の損失関数を表してもよい。
【００９１】
ステップ６１６では、処理エンジン１１２は、前記第２の損失関数の値が第２の閾値未満であるか否かを決定してもよい。前記第２の閾値は、オンデマンドサービスシステム１００のデフォルト設定（例えば０．５）であってもよく、又は異なる状況下で調整可能であってもよい。前記第２の閾値は、前記第１の閾値と同じであっても、又は異なってもよい。
【００９２】
前記第２の損失関数が前記第２の閾値未満であるという決定に応答して、処理エンジン１１２は、前記プロセス／方法をステップ６１８まで実行して、前記予備生成モードを記憶してもよい。
【００９３】
前記第２の損失関数の値が前記第２の閾値以上であるという決定に応答して、処理エンジン１１２は、プロセス／方法６００をステップ６１７まで実行してもよい。ステップ６１７では、処理エンジン１１２は、前記予備生成モデルを更新してもよい。例えば、処理エンジン１１２は、前記予備生成モデルの１つ以上の生成パラメータを更新してもよい。処理エンジン１１２が前記予備生成モデルを更新した後、処理エンジン１１２は、プロセス／方法６００を実行してステップ６０４に戻り、更新された生成モデルを決定し、前記第２の損失関数の値が前記第２の閾値未満となるまで新しい反復を開始してもよい。
【００９４】
ステップ６２２では、処理エンジン１１２は、前記（更新された）生成モデル及び前記（更新された）識別モデルに基づいて、ＧＡＮモデルを決定してもよい。処理エンジン１１２は、本開示の他の箇所に開示された記憶装置にＧＡＮモデルをさらに記憶してもよい。
【００９５】
プロセス／方法６００は、反復プロセスであることに注意されたい。前記反復プロセスは、１つ以上の反復を含んでもよい。各反復の間で、処理エンジン１１２は、まず、前記第１の損失関数に基づいて前記識別モデルを更新し、次に、前記第２の損失関数に基づいて前記生成モデルを更新してもよい。理想的な条件では、処理エンジン１１２は、前記第１の損失関数及び前記第２の損失関数がナッシュ均衡に達するまで、反復プロセスを終了してもよい。本明細書で用いられるように、前記ナッシュ均衡は、前記生成モデルに基づいて生成された推定経路のセットがサンプル経路のセットと殆ど同じである均衡ポイントを指してもよい。実際の動作では、処理エンジン１１２は、前記第１の損失関数の値が前記第１の閾値未満であり、前記第２の損失関数の値が前記第２閾値未満となるまで、反復プロセスを終了してもよい。
【００９６】
上記の説明は、例証のみを目的とするものであり、本開示の範囲を限定するものではないことに注意されたい。当業者であれば、本開示の教示の下で多数の変形及び修正を行うことが可能である。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。例えば、例示的なプロセス及び／又は方法６００の他の箇所に、１つ以上の他の任意のステップ（例えばキャッシングステップ）が追加されてもよい。
【００９７】
図７は、本開示のいくつかの実施形態に係る例示的なＧＡＮモデル７００を示す概略図である。図７に示すように、前記ＧＡＮモデルは、生成モデル７１０及び識別モデル７２０を含んでもよい。
【００９８】
生成モデル７１０は、推定経路のセットを生成するために用いられてもよい。前記生成された推定経路のセットは、識別モデル７２０に送信されて、識別されてもよい。識別モデル７２０は、前記サンプル経路のセットと、生成モデル７１０によって生成された前記推定経路のセットとを識別するために用いられてもよい。
【００９９】
識別モデル７２０は、二値分類器であってもよい。識別モデル７２０に対して、前記サンプル経路の期待値が「１」にほぼ等しいと定義される、すなわち、識別モデル７２０は、サンプル経路が実際の経路とほぼ同じであることを期待する。推定経路の期待値が「０」にほぼ等しいと定義されているときに、識別モデル７２０は、前記推定経路を前記サンプル経路とは全く異なる経路として識別することを期待する。推定経路に対して、識別モデル７２０に基づいて、範囲（０，１）内の確率値を決定してもよい。前記確率値は、特定の推定が対応するサンプル経路にどれだけ近いかを示す確率であってもよい。前記確率値が大きいほど、前記推定経路が対応するサンプル経路に近い可能性がある。
【０１００】
前記サンプル経路のセット及び前記推定経路のセットは、識別モデル７２０に基づいて比較され、前記推定経路のセットの平均確率値が決定されてもよい。前記推定経路のセットの平均確率値は、生成モデル７１０に送信され、生成モデル７１０は、それに応じて更新されてもよい。さらに、更新された生成モデル７１０に基づいて、更新された推定経路のセットが生成され、識別モデル７２０に送信されて、さらに識別されてもよい。
【０１０１】
ステップ６１０及びステップ６１４に関連して説明したように、処理エンジン１１２は、サンプル経路のセットの平均期待値、推定経路のセットの平均期待値、推定経路のセットの平均確率値などに基づいて、識別モデル７２０の第１の損失関数及び生成モデル７１０の第２の損失関数を決定してもよい。処理エンジン１１２は、前記第１の損失関数の値が前記第１の閾値未満となり、前記第２の損失関数の値が前記第２の閾値未満となるまで、複数の反復後に生成モデル７１０及び識別モデル７２０に基づいて前記ＧＡＮモデルを決定してもよい。
【０１０２】
上記の説明は、例証のみを目的とするものであり、本開示の範囲を限定するものではないことに注意されたい。当業者であれば、本開示の教示の下で多数の変形及び修正を行うことが可能である。しかしながら、これらの変形及び修正は、本開示の範囲から逸脱するものではない。
【０１０３】
図８は、本開示のいくつかの実施形態に従って、要求元端末１３０、又は提供元端末１４０が実装されてもよい例示的なモバイルデバイス８００の例示的なハードウェア及び／又はソフトウェアコンポーネントを示す概略図である。図８に示すように、モバイルデバイス８００は、通信プラットフォーム８１０、ディスプレイ８２０、グラフィック処理ユニット（ＧＰＵ）８３０、中央処理装置（ＣＰＵ）８４０、Ｉ／Ｏ８５０、メモリ８６０、及びストレージ８９０を含んでもよい。いくつかの実施形態では、システムバス又はコントローラ（図示せず）を含むが、これらに限定されない任意の他の適切なコンポーネントも、モバイルデバイス８００に含まれてもよい。いくつかの実施形態では、ＣＰＵ８４０によって実行されるために、モバイルオペレーティングシステム８７０（例えば、ｉＯＳＴＭ、ＡｎｄｒｏｉｄＴＭ、Ｗｉｎｄｏｗｓ  ＰｈｏｎｅＴＭなど）及び１つ以上のアプリケーション７８０は、ストレージ８９０からメモリ８６０にロードされてもよい。アプリケーション８８０は、例えば、処理エンジン１１２からのオンデマンドサービス又は他の情報に関連する情報を受信及びレンダリングするためのブラウザ又は任意の他の適切なモバイルアプリケーションを含んでもよい。情報ストリームとのユーザ対話は、Ｉ／Ｏ８５０を介して実現され、ネットワーク１２０を介して、オンデマンドサービスシステム１００の処理エンジン１１２及び／又は他のコンポーネントに提供されてもよい。
【０１０４】
本開示で説明される様々なモジュール、ユニット、及びそれらの機能を実装するために、コンピュータハードウェアプラットフォームは、本明細書で説明される１つ以上の要素のハードウェアプラットフォームとして用いられてもよい。ユーザインタフェース要素を有するコンピュータは、パーソナルコンピュータ（ＰＣ）又は任意の他のタイプのワークステーション又は端末装置を実装するために用いられてもよい。適切にプログラムされる場合、コンピュータは、サーバとしても動作してもよい。
【０１０５】
以上のように基本概念を説明してきたが、この詳細な開示を読んだ当業者には、上記の詳細な開示は、単なる例として提示されているに過ぎず、限定的ではないことは明らかであろう。本明細書には明示的に述べられていないが、当業者を対象として様々な改変、改良、及び修正が想定可能である。これらの改変、改良、及び修正は、本開示によって示唆されることが意図されており、本開示の例示的な実施形態の精神及び範囲内にある。
【０１０６】
さらに、所定の用語が、本開示の実施形態を説明するために使用されている。例えば、「一実施形態」、「実施形態」及び／又は「いくつかの実施形態」という用語は、この実施形態に関連して説明される特定の特徴、構造又は特性が本開示の少なくとも１つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」又は「一実施形態」又は「代替実施形態」の２つ以上の言及は、必ずしもすべてが同一の実施形態を指しているわけではないことを強調し、それを理解するものとする。さらに、特定の特徴、構造、又は特性は、本開示の１つ以上の実施形態において適切に組み合わせられてもよい。
【０１０７】
さらに、本開示の態様は、本明細書において、任意の新規かつ有用なプロセス、機械、製造、又は組成物、又はそれらの新規で有用な改善を含む、多くの特許性のある種類又は文脈のいずれかで例示及び説明されることが可能であることが当業者に理解されるであろう。したがって、本開示の態様は、完全にハードウェア、完全にソフトウェア（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、又はソフトウェアとハードウェアとの組み合わせによる実装により実装されてもよく、これらは、本明細書では、一般に「ユニット」、「モジュール」、又は「システム」と称されてもよい。さらに、本開示の態様は、具現化されたコンピュータ可読プログラムコードを有する１つ以上のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができる。
【０１０８】
コンピュータ可読信号媒体は、例えば、ベースバンドに、又は搬送波の一部として組み込まれたコンピュータ可読プログラムコードを有する伝搬データ信号を含んでもよい。このような伝搬信号は、電磁気、光学など、又はそれらの任意の適切な組み合わせを含む様々な形態のいずれかを用いてもよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置もしくはデバイスによって用いられるか、又はこれらに関連させて使用するためのプログラムを通信、伝搬又は伝送し得る任意のコンピュータ可読媒体であってもよい。コンピュータ可読信号媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、ＲＦなど、又はこれらの任意の適切な組み合わせを含む任意の適切な媒体を使用して送信されてもよい。
【０１０９】
本開示の態様の動作を実行するコンピュータプログラムコードは、Ｊａｖａ、Ｓｃａｌａ、Ｓｍａｌｌｔａｌｋ、Ｅｉｆｆｅｌ、ＪＡＤＥ、Ｅｍｅｒａｌｄ、Ｃ＋＋、Ｃ＃、ＶＢ、ＮＥＴ、Ｐｙｔｈｏｎなどのオブジェクト指向プログラミング言語、「Ｃ」プログラミング言語、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｆｏｒｔｒａｎ  ２００３、Ｐｅｒｌ、ＣＯＢＯＬ  ２００２、ＰＨＰ、ＡＢＡＰなどの従来の手続き型プログラミング言語、Ｐｙｔｈｏｎ、Ｒｕｂｙ、及びＧｒｏｏｖｙなどの動的プログラミング言語、又は他のプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで記述されてもよい。プログラムコードは、完全にユーザのコンピュータ上で、部分的にはユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上でかつ部分的にリモートコンピュータ上で、又は完全にリモートコンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、又は接続は、外部コンピュータ（例えば、インターネットサービスプロバイダを使用してインターネットを介して）もしくはクラウドコンピューティング環境で行われるか、又はサービスとしてのソフトウェア（ＳａａＳ）などのようなサービスとして提供されてもよい。
【０１１０】
さらに、処理要素もしくはシーケンス、又はそれに対する数、文字、もしくは他の名称の使用の、記載された順序は、請求項に特定され得る順序を除き、請求された処理及び方法を任意の順序に限定することを意図するものではない。上記の開示は、本開示の様々な有用な実施形態であると現在考えられる様々な例を通して論じているが、そのような詳細事項はその目的のみのためになされているにすぎず、添付の請求項は、開示される実施形態に限定されず、むしろ、開示される実施形態の精神及び範囲内にある変形例及び均等な構成を包含するように意図されることが理解されるであろう。例えば、上述した様々な構成要素の実装は、ハードウェア装置で具体化され得るが、ソフトウェアのみのソリューションとして、例えば、既存のサーバ又はモバイルデバイス上にインストールとして実装されてもよい。
【０１１１】
同様に、本開示の実施形態の前述の説明では、１つ以上の様々な実施形態の理解に資するように本開示を簡素化する目的で、様々な特徴が単一の実施形態、図、又はその説明にまとめられることがあることが理解されるであろう。しかしながら、本開示の方法は、特許請求された主題が各請求項において明示的に記載されたものより多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、特許請求された主題は、前述の単一の開示される実施形態のすべての特徴よりも少ない範囲にある可能性がある。
【図１】
2019529868.tif 000006
【図２】
2019529868.tif 000007
【図３】
2019529868.tif 000008
【図４】
2019529868.tif 000009
【図５】
2019529868.tif 000010
【図６】
2019529868.tif 000011
【図７】
2019529868.tif 000012
【図８】
2019529868.tif 000013
【手続補正書】
【提出日】平成31年2月15日(2019.2.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
要求に関連付けられた少なくとも１つの経路を推奨するための命令のセットを含む少なくとも１つの記憶媒体と、
前記少なくとも１つの記憶媒体と通信するように構成された少なくとも１つのプロセッサと、を備えるシステムであって、
前記少なくとも１つのプロセッサは、前記命令のセットを実行するとき、
端末から、出発地及び目的地を含む要求を受信し、
敵対的生成ネットワーク（ＧＡＮ）モデルを決定し、
前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定し、
前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信する、ように指示される、システム。
【請求項２】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
サンプル経路のセットを取得し、
生成モデルを生成し、
前記生成モデルに基づいて、推定経路のセットを決定し、
識別モデルを生成し、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記識別モデルの第１の損失関数を決定し、
前記第１の損失関数の値が第１の閾値未満であるか否かを決定し、
前記第１の損失関数の値が前記第１の閾値未満であるという決定に基づいて、前記識別モデルを記憶する、ように指示される、請求項１のシステム。
【請求項３】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記第１の損失関数の値が前記第１の閾値以上であるという決定に基づいて、前記識別モデルを更新する、ように指示される、請求項２のシステム。
【請求項４】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記生成モデルの第２の損失関数を決定し、
前記第２の損失関数の値が第２の閾値未満であるか否かを決定し、
前記第２の損失関数の値が前記第２の閾値未満であるという決定に基づいて、前記生成モデルを記憶する、ように指示される、請求項２又は３のシステム。
【請求項５】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記第２の損失関数の値が前記第２の閾値以上であるという決定に基づいて、前記生成モデルを更新する、ように指示される、請求項４のシステム。
【請求項６】
前記ＧＡＮモデルを決定するために、前記少なくとも１つのプロセッサは、さらに、
前記識別モデル及び前記生成モデルに基づいて、前記ＧＡＮモデルを決定する、ように指示される、請求項４又は５のシステム。
【請求項７】
前記サンプル経路のセットの各々は、
サンプル出発地、
サンプル目的地、
前記サンプル出発地と前記サンプル目的地とのリンク情報、
サンプル出発時間、
サンプル到着時間、又は
前記サンプル経路のセットの各々に関連付けられた交通情報、のうちの少なくとも１つを含む、請求項２〜６のいずれか一項のシステム。
【請求項８】
前記生成モデルは、畳み込みニューラルネットワークモデル及び再帰型ニューラルネットワークモデルのうちの一方であり、
前記識別モデルは、畳み込みニューラルネットワークモデル及び再帰型ニューラルネットワークモデルのうちの一方である、請求項２〜７のいずれか一項のシステム。
【請求項９】
前記サンプル経路のセットの数は、２５６、５１２、又は１０２４である、請求項２〜８のいずれか一項のシステム。
【請求項１０】
プロセッサによって、端末から、出発地及び目的地を含む要求を受信するステップと、
前記プロセッサによって、敵対的生成ネットワーク（ＧＡＮ）モデルを決定するステップと、
前記プロセッサによって、前記ＧＡＮモデルに基づいて、前記出発地から前記目的地まで移動するための少なくとも１つの推奨される経路を決定するステップと、
前記プロセッサによって、前記要求に応答して、前記端末に表示される対象となる前記少なくとも１つの推奨される経路を送信するステップと、を含む、方法。
【請求項１１】
前記ＧＡＮモデルを決定するステップは、
サンプル経路のセットを取得することと、
生成モデルを生成することと、
前記生成モデルに基づいて、推定経路のセットを決定することと、
識別モデルを生成することと、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記識別モデルの第１の損失関数を決定することと、
前記第１の損失関数の値が第１の閾値未満であるか否かを決定することと、
前記第１の損失関数の値が前記第１の閾値未満であるという決定に基づいて、前記識別モデルを記憶することと、を含む、請求項１０の方法。
【請求項１２】
前記ＧＡＮモデルを決定するステップは、
前記第１の損失関数の値が前記第１の閾値以上であるという決定に基づいて、前記識別モデルを更新することを含む、請求項１１の方法。
【請求項１３】
前記ＧＡＮモデルを決定するステップは、
前記サンプル経路のセット及び前記推定経路のセットに基づいて、前記生成モデルの第２の損失関数を決定することと、
前記第２の損失関数の値が第２の閾値未満であるか否かを決定することと、
前記第２の損失関数の値が前記第２の閾値未満であるという決定に基づいて、前記生成モデルを記憶することと、を含む、請求項１１又は１２の方法。
【請求項１４】
前記ＧＡＮモデルを決定するステップは、
前記第２の損失関数の値が前記第２の閾値以上であるという決定に基づいて、前記生成モデルを更新することを含む、請求項１３の方法。
【請求項１５】
前記サンプル経路のセットの各々は、
サンプル出発地、
サンプル目的地、
前記サンプル出発地と前記サンプル目的地とのリンク情報、
サンプル出発時間、
サンプル到着時間、又は
前記サンプル経路のセットの各々に関連付けられた交通情報、のうちの少なくとも１つを含む、請求項１１〜１４のいずれか一項の方法。
【国際調査報告】
2019529868.tif 000014
2019529868.tif 000015