(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-25
(45)【発行日】2022-04-04
(54)【発明の名称】オンラインツーオフラインサービスに関する推定された到着時間を決定するためのシステムおよび方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20220328BHJP
G06Q 10/04 20120101ALI20220328BHJP
【FI】
G06Q50/10
G06Q10/04
(21)【出願番号】P 2020530965
(86)(22)【出願日】2018-05-25
(86)【国際出願番号】 CN2018088341
(87)【国際公開番号】W WO2019109604
(87)【国際公開日】2019-06-13
【審査請求日】2020-07-17
(31)【優先権主張番号】201711268624.1
(32)【優先日】2017-12-05
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】516317573
【氏名又は名称】ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】リ ジュンチン
【審査官】田中 秀樹
(56)【参考文献】
【文献】特開2002-279588(JP,A)
【文献】特開2002-024659(JP,A)
【文献】国際公開第2017/181932(WO,A1)
【文献】中国特許出願公開第107305742(CN,A)
【文献】中国特許出願公開第107203824(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G08G 1/00- 1/16
(57)【特許請求の範囲】
【請求項1】
オンラインツーオフライン(O2O)サービスのための推定到着時刻(ETA)を決定するためのシステムにおいて、
命令のセットを含む少なくとも1つの非一時的コンピュータ可読媒体と、
前記少なくとも1つの非一時的コンピュータ可読媒体と通信している少なくとも1つのプロセッサとを備え、命令を実行しているとき、前記少なくとも1つのプロセッサは、前記システムに、
ターゲット要求者端末により開始されたポテンシャルサービスオーダに関連する第1の情報を取得させることであって、前記第1の情報は、前記ポテンシャルサービスオーダのスタートロケーションを含む、取得させることと、
前記スタートロケーションからしきい値距離内の1つまたは複数の候補サービスプロバイダに関連する第2の情報を取得させることであって、前記第2の情報の少なくとも一部は、前記1つまたは複数の候補サービスプロバイダが前記ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示す、取得させることと、
前記スタートロケーションから前記しきい値距離内の1つまたは複数のポテンシャル要求者端末に関連した需要情報を取得させることと、
前記第1の情報
、前記第2の情報
、および前記需要情報をETAのトレーニングされたニューラルネットワークモデルに入力することにより前記ポテンシャルサービスオーダに関するETAを決定させることと、
前記ポテンシャルサービスオーダの前記ETAを表示のために前記ターゲット要求者端末に送信させることと、
を行わせるように指示される、システム。
【請求項2】
前記1つまたは複数の候補サービスプロバイダに関連した前記第2の情報を取得するために、前記少なくとも1つのプロセッサは、さらに、前記システムに、
前記スタートロケーションから前記しきい値距離内の前記1つまたは複数の候補サービスプロバイダを決定させ、
前記スタートロケーションから前記しきい値距離内の1つまたは複数のポテンシャル要求者端末を決定させ、
前記1つまたは複数の候補サービスプロバイダを前記1つまたは複数のポテンシャル要求者端末と前記ターゲット要求者端末に事前割当させ、
前記事前割当結果に基づいて、前記1つまたは複数の候補サービスプロバイダの各々が前記ポテンシャルサービスオーダの前記ターゲットサービスプロバイダに成る可能性を決定させるようにさらに指示される、請求項1に記載のシステム。
【請求項3】
前記ETAのトレーニングされたニューラルネットワークモデルは、トレーニングプロセスに従って生成され、前記トレーニングプロセスは、
複数のサンプルポテンシャルサービスオーダの各々に関して、前記サンプルポテンシャルサービスオーダに関連した第3の情報を取得することであって、前記第3の情報は、前記サンプルポテンシャルサービスオーダのサンプルスタートロケーションを含む、取得することと、
前記複数のサンプルポテンシャルサービスオーダの各々に関して、対応する
前記サンプルスタートロケーションからサンプルしきい値距離内の1つまたは複数のサンプル候補サービスプロバイダに関連した第4の情報を取得することであって、前記第4の情報の少なくとも一部は、前記1つまたは複数のサンプル候補サービスプロバイダの各々が前記サンプルポテンシャルサービスオーダのサンプルターゲットサービスプロバイダになるサンプル可能性を示す、取得することと、
予備ニューラルネットワークモデルを取得することと、
前記複数のサンプルポテンシャルサービスオーダの前記第3の情報と前記第4の情報を用いて前記予備ニューラルネットワークモデルをトレーニングすることによりETAの前記トレーニングされたニューラルネットワークモデルを生成することと、を備えた、請求項
1または2のいずれか一項に記載のシステム。
【請求項4】
ETAの前記トレーニングされたニューラルネットワークモデルは、さらに、
前記複数のサンプルポテンシャルサービスオーダの各々に関して、前記対応するサンプルスタートロケーションから前記しきい値距離内の1つまたは複数のサンプルポテンシャル要求者端末に関連したサンプル需要情報を取得することと、
前記第3の情報、前記第4の情報および前記複数のサンプルポテンシャルサービスオーダの各々の前記サンプル需要情報を用いて前記予備ニューラルネットワークモデルをトレーニングすることにより、ETAの前記トレーニングされたニューラルネットワークモデルを決定することと、をさらに備えた、請求項
3に記載のシステム。
【請求項5】
ETAの前記トレーニングされたニューラルネットワークモデルを決定することは、
(1)前記複数のサンプルポテンシャルサービスオーダの第1の部分に対応する前記第3の情報および前記第4の情報により前記予備ニューラルネットワークモデルをトレーニングすることと、
(2)テストパラメータを決定することにより、前記複数のサンプルポテンシャルサービスオーダの第2の部分に対応する前記第3の情報および前記第4の情報で前記トレーニングされた予備ニューラルネットワークモデルをテストすることと、
前記テストパラメータが前記テストしきい値以上であると決定するとステップ(1)乃至(2)を反復するか、または前記テストパラメータが前記テストしきい値未満であると決定すると、前記トレーニングされた予備ニューラルネットワークモデルを前記トレーニングされた予備ニューラルネットワークモデルと指定することと、
をさらに備える、請求項
3に記載のシステム。
【請求項6】
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分に対応する前記第3の情報および前記第4の情報により前記予備ニューラルネットワークモデルをトレーニングすることは、
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分の各々に関して、前記ポテンシャルサービスオーダの実際の到着時刻(ATA)を決定することと、
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分の各々に関して、前記サンプルポテンシャルサービスオーダの前記第3の情報と前記第4の情報を前記予備ニューラルネットワークモデルに入力することにより予測ETAを決定することと、
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分の前記予測ETAsと前記ATAsに基づいて損失関数を決定することと、
前記損失関数がトレーニングしきい値未満であるかどうかを判断することと、
前記損失関数が前記トレーニングしきい値未満であるとの判断に応答して前記予備ニューラルネットワークモデルを前記トレーニングされた予備ニューラルネットワークモデルとして指定するか、あるいは前記損失関数が前記トレーニングしきい値未満でないとの判断に応答して、前記予備ニューラルネットワークモデルを更新することと、
を備えた請求項
5に記載のシステム。
【請求項7】
少なくとも1つのプロセッサと、少なくとも1つのコンピュータ可読記憶媒体およびネットワークに接続された通信プラットフォームを有するコンピュータデバイス上にインプリメントされる、オンラインツーオフライン(O2O)サービスのための推定到着時刻(ETA)を決定するための方法において、
ターゲット要求者端末により開始されるポテンシャルサービスオーダに関連する第1の情報を取得することであって、前記第1の情報は、前記ポテンシャルサービスオーダのスタートロケーションを含む、取得するステップと、
前記スタートロケーションからしきい値距離内の1つまたは複数の候補サービスプロバイダに関連した第2の情報を取得することであって、前記第2の情報の少なくとも一部は、前記1つまたは複数の候補サービスプロバイダの各々が前記ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示す、取得するステップと、
前記スタートロケーションから前記しきい値距離内の1つまたは複数のポテンシャル要求者端末に関連した需要情報を取得するステップと、
前記第1の情報
、前記第2の情報
、および前記需要情報をETAのトレーニングされたニューラルネットワークモデルに入力することにより前記ポテンシャルサービスオーダに関するETAを決定するステップと、
前記ポテンシャルサービスオーダの前記ETAを表示のために前記ターゲット要求者端末に送信するステップと、
を備えた方法。
【請求項8】
前記1つまたは複数の候補サービスプロバイダに関連した前記第2の情報を取得することは、
前記スタートロケーションから前記しきい値距離内の前記1つまたは複数の候補サービスプロバイダを決定するステップと、
前記スタートロケーションから前記しきい値距離内の1つまたは複数のポテンシャル要求者端末を決定するステップと、
前記1つまたは複数の候補サービスプロバイダを前記1つまたは複数のポテンシャル要求者端末と前記ターゲット要求者端末に事前割当するステップと、
前記事前割当結果に基づいて、前記1つまたは複数の候補サービスプロバイダの各々が前記ポテンシャルサービスオーダの前記ターゲットサービスプロバイダになる可能性を決定するステップと、
を備えた、請求項
7に記載の方法。
【請求項9】
前記ETAのトレーニングされたニューラルネットワークモデルは、トレーニングプロセスに従って生成され、前記トレーニングプロセスは、
複数のサンプルポテンシャルサービスオーダの各々に関して、前記サンプルポテンシャルサービスオーダに関連した第3の情報を取得するステップであって、前記第3の情報は、前記サンプルポテンシャルサービスオーダのサンプルスタートロケーションを含む、取得するステップと、
前記複数のサンプルポテンシャルサービスオーダの各々に関して、対応する
前記サンプルスタートロケーションからサンプルしきい値距離内の1つまたは複数のサンプル候補サービスプロバイダに関連した第4の情報を取得するステップであって、前記第4の情報の少なくとも一部は、前記1つまたは複数のサンプル候補サービスプロバイダの各々が前記サンプルポテンシャルサービスオーダのサンプルターゲットサービスプロバイダなるサンプル可能性を示す、取得するステップと、
予備ニューラルネットワークモデルを取得するステップと、
前記複数のサンプルポテンシャルサービスオーダの前記第3の情報と前記第4の情報を用いて前記予備ニューラルネットワークモデルをトレーニングすることによりETAの前記トレーニングされたニューラルネットワークモデルを生成するステップと、
を備えた、請求項
7または8のいずれか一項に記載の方法。
【請求項10】
前記ETAのトレーニングされたニューラルネットワークモデルを生成するステップは、
前記複数のサンプルポテンシャルサービスオーダの各々に関して、前記対応するサンプルスタートロケーションから前記しきい値距離内の1つまたは複数のサンプルポテンシャル要求者端末に関連したサンプル需要情報を取得するステップと、
前記第3の情報、前記第4の情報、および前記複数のサンプルポテンシャルサービスオーダの各々の前記サンプル需要情報を用いて前記予備ニューラルネットワークモデルをトレーニングすることにより前記ETAのトレーニングされたニューラルネットワークモデルを決定するステップと、
をさらに備えた、請求項
9に記載の方法。
【請求項11】
前記ETAのトレーニングされたニューラルネットワークモデルを決定するステップは、
(1)前記複数のサンプルポテンシャルサービスオーダの第1の部分に対応する前記第3の情報および前記第4の情報により前記予備ニューラルネットワークモデルをトレーニングするステップと、
(2)テストパラメータを決定することにより、前記複数のサンプルポテンシャルサービスオーダの第2の部分に対応する前記第3の情報と前記第4の情報で前記トレーニングされた予備ニューラルネットワークモデルをテストするステップと、
前記テストパラメータが前記テストしきい値以上であると判断すると、ステップ(1)-(2)を反復し、前記テストパラメータが前記テストしきい値未満であると判断すると、前記トレーニングされた予備ニューラルネットワークモデルを前記トレーニングされたニューラルネットワークモデルとして指定するステップと、
をさらに備えた、請求項
10に記載の方法。
【請求項12】
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分に対応する前記第3の情報および前記第4の情報により前記複数の予備ニューラルネットワークモデルをトレーニングするステップは、
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分の各々に関して、前記複数のサンプルポテンシャルサービスオーダの実際の到着時刻(ATA)を取得するステップと、
前記複数のサンプルポテンシャルサービスオーダの前記第1の部分の各々に関して、前記サンプルポテンシャルサービスオーダの前記第3の情報と前記第4の情報を前記予備ニューラルネットワークモデルに入力することにより予測されたETAを決定するステップと、
前記サンプルポテンシャルサービスオーダの前記第1の部分の前記予測されたETASと前記ATAsに基づいて損失関数を決定するステップと、
前記損失関数がトレーニングしきい値未満であるかどうかを決定するステップと、
前記損失関数が前記トレーニングしきい値未満であると判断すると、前記予備ニューラルネットワークモデルを前記トレーニングされた予備ニューラルネットワークモデルとして指定するか、または、前記損失関数が前記トレーニングしきい値未満でないとの判断に応答して前記予備ニューラルネットワークモデルを更新するステップと、
を備えた、請求項
11に記載の方法。
【請求項13】
オンラインツーオフライン(O2O)サービスに関する推定された到着時刻(ETA)を決定するためのシステムの少なくとも1つのプロセッサにより実行されると、前記システムに方法を実行させるための命令を記憶する非一時的コンピュータ可読媒体において、前記方法は、
ターゲット要求者端末により開始されるポテンシャルサービスオーダに関連した第1の情報を取得するステップであって、前記第1の情報は、前記ポテンシャルサービスオーダのスタートロケーションを含む、ステップと、
前記スタートロケーションからしきい値距離内の1つまたは複数の候補サービスプロバイダに関連した第2の情報を取得するステップであって、前記第2の情報の少なくとも一部は、前記1つまたは複数の候補サービスプロバイダの各々が前記ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示す、ステップと、
前記スタートロケーションから前記しきい値距離内の1つまたは複数のポテンシャル要求者端末に関連した需要情報を取得するステップと、
前記第1の情報
、前記第2の情報
、および前記需要情報をETAのトレーニングされたニューラルネットワークモデルに入力することにより前記ポテンシャルサービスオーダのETAを決定するステップと、
前記ポテンシャルサービスオーダの前記ETAを表示のために前記ターゲット要求者端末に送信するステップと、を備えた、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
この出願は、2017年12月5日に出願された中国特許出願第201711268624.1の優先権を主張しその内容のすべてが参照されることによりここに組み込まれる。この開示は一般にオンラインツーオフライン(O2O)サービスプラットフォームに関し、特に、オンラインO2Oサービスプラットフォームにおける推定到着時刻(ETA)を判断するためのシステムおよび方法に関する。
【背景技術】
【0002】
インターネット技術の発展に伴い、O2Oサービス、例えばオンラインタクシーヘイリングサービス(online taxi hailing services)およびデリバリサービスは、人々の日々の生活において、より一層重要な役割を担っている。例えば、オンラインタクシーヘイリングサービスは、乗客により煩雑に使用されてきた。乗客がスタートロケーション(start location)でタクシーを呼ぶとき、彼/彼女は、ここでは簡潔にするためにETAと呼ばれる、サービス提供者がスタートロケーションに到着する推定時間を知りたいと思うかもしれない。ETAは、スタートロケーション周辺の利用可能なサービスプロバイダの数、利用可能なサービスプロバイダとスタートロケーションとの間の距離、トラフィック状況、天気状況、スタートロケーション周辺の需要と供給の関係等のような種々の要因により影響を受ける可能性がある。これらの種々の要因を考慮することなしに、ETAは、正確に決定することはできない。従って、ETAに影響を及ぼす可能性がある1つまたは複数の要因を考慮することによりオンラインO2OサービスにおけるETAを決定するための効率的なシステムおよび方法を開発することが望ましい。
【発明の概要】
【0003】
この開示の1つの態様において、システムは、少なくとも1つの非一時的コンピュータ可読記憶媒体と、前記少なくとも1つの非一時的コンピュータ可読記憶媒体と通信している少なくとも1つのプロセッサを含むことができる。非一時的コンピュータ可読記憶媒体は、ETAを決定するための命令のセットを含むことができる。命令のセットを実行しているとき、少なくとも1つのプロセッサは、システムに対象要求車端末により開始される、潜在サービスオーダに関連した第1の情報を取得させるように指示されることができる。第1の情報は、潜在的なサービスオーダのスタートロケーションを含むことができる。少なくとも1つのプロセッサは、システムにスタートロケーションからしきい値距離内の、1つまたは複数の候補サービスプロバイダに関連づけられた第2の情報を取得させるように指示されることができる。第2の情報の少なくとも一部は、1つまたは複数の候補サービスプロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示すことができる。少なくとも1つのプロセッサは、また、システムに、第1の情報と第2の情報をETAのトレーニングされたニューラルネットワークモデルへ入力することにより、ポテンシャルサービスオーダのためのETAを決定させるように指示されることができる。少なくとも1つのプロセッサは、さらに、システムに、ポテンシャルサービスオーダのETAを対象要求者端末に送信して表示させるように、さらに指示されることができる。
【0004】
いくつかの実施形態において、1つまたは複数の候補サービスプロバイダに関連づけられた第2の情報を取得するために、少なくとも1つのプロセッサは、システムにスタートロケーションからしきい値距離内の1つまたは複数のサービスプロバイダを決定させるように指示されることができる。少なくとも1つのプロセッサは、システムに、スタートロケーションからしきい値距離内の、1つまたは複数の潜在的要求者端末を決定させ、1つまたは複数の候補サービスプロバイダを、1つまたは複数の潜在要求者端末と対象要求者端末に、事前割当させるように指示されることができる。少なくとも1つのプロセッサはさらに、システムに、事前割当結果に基づいて、1つまたは複数の候補サービスプロバイダの各々が、潜在サービスオーダの対象サービスプロバイダになる可能性を決定させるように、指示されることができる。
【0005】
いくつかの実施形態において、潜在的サービスオーダのためのETAを決定するために、少なくとも1つのプロセッサは、システムに、スタートロケーションからしきい値距離内の1つまたは複数の潜在要求者端末に関連づけられた需要情報を取得させるように指示されることができる。少なくとも1つのプロセッサは、また、第1の情報、第2の情報、および需要情報をETAのトレーニングされたニューラルネットワークモデルへ入力することにより潜在的サービスオーダのためのETAを決定させるように指示されることができる。
【0006】
いくつかの実施形態において、需要情報は、時間情報、ロケーション情報、サービスオーダ情報、または、1つまたは複数の潜在的要求者端末に関連づけられたユーザ情報の少なくとも1つを含むことができる。
【0007】
いくつかの実施形態において、第1の情報は、さらに、時間情報、ロケーション情報、天気情報、交通情報、ポリシー情報、ニュース情報、または潜在的サービスオーダに関連づけられたユーザ情報の少なくとも一部を含むことができる。
【0008】
いくつかの実施形態において、第2の情報はさらに、乗り物情報、キャパシティ情報、価格情報、サービス情報、ロケーション情報、または1つまたは複数の候補サービスプロバイダに関連づけられたパフォーマンス情報の少なくとも一部を含むことができる。
【0009】
いくつかの実施形態において、ETAのトレーニングされたニューラルネットワークモデルは、トレーニングプロセスに従って生成することができ、トレーニングプロセスは、複数の同じ潜在的サービスオーダの各々に関するサンプルの潜在的サービスオーダに関連づけられた第3の情報を取得することを含むことができる。第3の情報は、サンプルポテンシャルサービスオーダのサンプルスタートロケーションを含むことができる。トレーニングプロセスは、また複数のサンプルポテンシャルサービスオーダの各々に関する対応するサンプルスタートロケーションからのサンプルしきい値距離内の、1つまたは複数のサンプル候補サービスプロバイダに関連づけられた第4の情報を取得することを含む。第4の情報の少なくとも一部は、1つまたは複数のサンプル候補サービスプロバイダの各々が、サンプルポテンシャルサービスプロバイダのサンプルターゲットサービスプロバイダになるサンプル可能性を示すことができる。トレーニングプロセスは、さらに、予備ニューラルネットワークモデルを取得することと、複数のサンプルポテンシャルオーダの第3の情報と第4の情報を用いて予備ニューラルネットワークモデルをトレーニングすることにより、ETAのトレーニングされたニューラルネットワークモデルを生成することを含むことができる。
【0010】
いくつかの実施形態において、ETAのトレーニングされたニューラルネットワークモデルを生成することは、複数のサンプルポテンシャルオーダの各々に関する対応するサンプルスタートロケーションからのしきい値距離内の、1つまたは複数のサンプルポテンシャル要求者端末に関連づけられた、サンプル需要情報を取得することを含むことができる。ETAのトレーニングされたニューラルネットワークモデルを生成することは、さらに、複数のサンプルポテンシャルサービスオーダの各々の第3情報、第4情報、およびサンプル需要情報を用いて、予備ニューラルネットワークモデルをトレーニングすることにより、ETAのトレーニングされたニューラルネットワークモデルを決定することを含むことができる。
【0011】
いくつかの実施形態において、ETAのトレーニングされたニューラルネットワークモデルを決定することは、(1)複数のサンプルポテンシャルサービスオーダの第1の部分に対応する第3情報および第4情報により予備ニューラルネットワークをトレーニングすることを含むことができる。ETAのトレーニングされたニューラルネットワークモデルを決定することは、さらに、(2)テストパラメータを決定することにより複数のサンプルポテンシャルサービスオーダの第2の部分に対応する第3情報および第4情報を用いて、トレーニングされた予備ニューラルネットワークモデルをテストすることを含むことができる。ETAのトレーニングされたニューラルネットワークモデルを決定することは、テストパラメータがテストしきい値以上であると判断するとステップ(1)-(2)を反復し、あるいは、テストパラメータがテストしきい値未満であると判断すると、トレーニングされた予備ニューラルネットワークモデルをETAのトレーニングされたニューラルネットワークモデルとして指定することをさらに含むことができる。
【0012】
いくつかの実施形態において、複数のサンプルポテンシャルサービスオーダの第1の部分に対応する第3情報および第4情報により予備ニューラルネットワークモデルをトレーニングすることは、複数のサンプルポテンシャルサービスオーダの第1の部分の各々に関して、サンプルポテンシャルオーダの実際の到着時刻(ATA)を取得することと、サンプルポテンシャルサービスオーダの第3情報および第4情報を予備ニューラルネットワークモデルへ入力することにより予測ETAを決定することとを、含むことができる。複数のサンプルポテンシャルサービスオーダの第1の部分に対応する第3情報および第4情報によって、予備ニューラルネットワークモデルをトレーニングすることは、また、同じポテンシャルサービスオーダの第1の部分の予測されるETAsとATAsに基づく損失関数を決定することと、損失関数がトレーニングしきい値未満かどうかを判断することを含むことができる。複数のサンプルポテンシャルオーダの第1の部分に対応する第3情報および第4情報により予備ニューラルネットワークモデルをトレーニングすることは、さらに、損失関数がトレーニングしきい値未満であると判断すると、予備ニューラルネットワークモデルをトレーニングされた予備ニューラルネットワークモデルとして指定し、あるいは、損失関数がトレーニングされたしきい値未満ではないとの判断に応答して、予備ニューラルネットワークモデルを更新することを含むことができる。
【0013】
この開示の他の態様において、方法が提供される。この方法は、少なくとも1つのプロセッサ、少なくとも1つのコンピュータ可読記憶媒体、およびネットワークに接続された通信プラットフォームを有するコンピューティングデバイス上にインプリメントすることができる。この方法は、対象要求者端末により開始されるポテンシャルサービスオーダに関連付けられた第1の情報を取得することを含むことができる。第1の情報は、ポテンシャルサービスオーダのスタートロケーションを含むことができる。この方法は、スタートロケーションからしきい値距離内の1つまたは複数の候補サービスプロバイダに関連づけられた第2の情報を取得することを含むことができる。第2の情報の少なくとも一部は、1つまたは複数の候補サービスプロバイダの各々が、ポテンシャルサービスプロバイダの、ターゲットサービスプロバイダになる可能性を示すことができる。この方法は、また、第1の情報と第2の情報をETAのトレーニングされたニューラルネットワークモデルへ入力することにより、ポテンシャルサービスオーダに関するETAを決定することを含むことができる。この方法はさらに、ポテンシャルサービスオーダのETAを、ターゲット要求者端末に送信して表示することを含むことができる。
【0014】
この開示の他の態様において、非一時的コンピュータ可読記憶媒体は、命令のセットを含むことができる。命令のセットが少なくとも1つのプロセッサにより実行されると、命令のセットは、システムに方法を実行させることができる。この方法は、ターゲット要求者により開始される、ポテンシャルサービスオーダに関連付けられる、第1の情報を取得することができる。第1の情報は、ポテンシャルサービスオーダのスタートロケーションを含むことができる。この方法は、スタートロケーションからしきい値距離内の1つまたは複数の候補サービスプロバイダに関連づけられた、第2の情報を取得することを含むことができる。第2の情報の少なくとも一部は、1つまたは複数の候補サービスプロバイダの各々が、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示すことができる。この方法はまた、第1の情報と第2の情報を、ETAのトレーニングされたニューラルネットワークモデルへ入力することにより、ポテンシャルサービスオーダに関するETAを決定することを含むことができる。この方法はさらに、ポテンシャルサービスオーダのETAを、ターゲット要求者端末に送信して表示することを含むことができる。
【0015】
さらに、この開示の他の態様において、システムが提供される。システムは、取得モジュール、決定モジュール、送信モジュールを含むことができる。取得モジュールは、ターゲット要求者端末により開始される、ポテンシャルサービスオーダに関連付けられた第1の情報を取得し、スタートロケーションからしきい値内の1つまたは複数のサービスプロバイダに関連づけられた、第2の情報を取得するように構成することができる。第1の情報は、ポテンシャルサービスオーダのスタートロケーションを含むことができる。第2の情報の少なくとも一部は、1つまたは複数の候補サービスプロバイダの各々が、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示すことができる。決定モジュールは、第1の情報と第2の情報を、ETAのトレーニングされたニューラルネットワークモデルへ入力することによりポテンシャルサービスオーダに関するETAを、決定するように構成することができる。送信モジュールは、ポテンシャルサービスオーダのETAを、ターゲット要求者端末に送信して表示するように構成することができる。
【0016】
さらなる特徴は、以下の記述において一部記載され、一部は、以下の添付図面を検証することにより当業者には明白であり、あるいは例の制作または動作により学習することができる。本開示の特徴は、以下で論じられる詳細な例に示される方法論、手段、および組み合わせの様々な態様の実践または使用によって実現および達成され得る。この開示はさらに例示実施形態の観点からさらに記載される。これらの例示実施形態は、図面を参照して詳細に記載される。これらの実施形態は、非限定的な例示実施形態であり、図面のいくつかの図全体を通して同様の参照符号は、同様の構造を示す。
【図面の簡単な説明】
【0017】
【
図1】この開示のいくつかの実施形態による例示O2Oサービスシステムである。
【
図2】この開示のいくつかの実施形態による例示コンピューティングデバイスの例示ハードウェアとソフトウェアを例示する概略図である。
【
図3】この開示のいくつかの実施形態に従って、ユーザ端末がインプリメントすることができる、例示モバイルデバイスの例示ハードウェアおよび/またはソフトウェアコンポーネントを図示する概略図である。
【
図4A】この開示のいくつかの実施形態による例示処理エンジンを例示するブロック図である。
【
図4B】この開示のいくつかの実施形態による例示処理エンジンを例示するブロック図である。
【
図5】この開示のいくつかの実施形態による、O2Oサービスに関するETAを決定するための例示プロセスを図示するフローチャートである。
【
図6】この開示のいくつかの実施形態による、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を決定するための例示プロセスを図示するフローチャートである。
【
図7】この開示のいくつかの実施形態による、ETAのトレーニングされたニューラルネットワークモデルを決定するための例示プロセスを図示するフローチャートである。
【0018】
以下の記述は当業者がこの開示を制作し使用することを可能にするために提示され、特定のアプリケーションとその要件のコンテキストにおいて提供される。開示した実施形態に対する種々の変形は、当業者には容易に明白であり、ここに定義された一般的原理は、この開示の精神と範囲に逸脱することなく、他の実施形態およびアプリケーションに適用することができる。従って、この開示は図示実施形態に限定されるものではなく、特許請求の範囲に一致する最も広い範囲に一致する。
【0019】
ここに使用される用語は、特定の例示実施形態のみを記載するために使用され、限定することを意図したものではない。ここに使用されるように、単数形である「1つの(a)」、「1つの(an)」、および「その(the)」は、コンテキストがそうでないことを明瞭に示さない限り、複数形も含む。さらに、用語「備える(comprise)」、「備える(comprises)」、および/または「備える(comprising)」、「含む(include)」、「含む(includes)」および/または「含む(including)」は、この明細書において使用されるとき、記載した特徴、整数、ステップ、動作、エレメントおよび/またはコンポーネントの存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、エレメントコンポーネント、および/またはそれらのグループの存在のまたは追加を排除するものではないことが理解されるであろう。
【0020】
この開示のこれら及び他の特徴、および特性、並びに、構造の関連するエレメントの動作と機能の方法、パーツの組合せおよび製造の経済性は、そのすべてがこの開示の一部を形成する、添付図面を参照して以下の記述を考慮するとき、より明白になり得る。しかしながら、図面は、例示と記述目的のためだけであり、この開示の範囲を限定することを意図していないことは、明確に理解されるであろう。図面は縮尺通りではないことが理解される。
【0021】
この開示において使用されるフローチャートは、この開示のいくつかの実施形態に従って、システムがインプリメントする動作を例示する。フローチャートの動作は、順不同でインプリメントできることは、容易に理解される。逆に、動作は、逆の順序であるいは同時にインプリメントすることができる。さらに、1つまたは複数の他の動作をフローチャートに追加することができる。1つまたは複数の動作は、フローチャートから削除することができる。
【0022】
さらに、この開示におけるシステムと方法は、主として、輸送サービスに関する要求を配信することに関して記載されているが、この開示は限定することを意図したものではない。この開示のシステムと方法は、任意の他の種類のO2Oサービスに提供することができる。例えば、この開示のシステムと方法は、陸、海、航空宇宙等、またはそれらの組合せを含む異なる環境の輸送システムに適用することができる。輸送システムの乗り物は、タクシー、自家用車、ヒッチ(hitch)、バス、電車、新幹線、高速鉄道、地下鉄、船、航空機、宇宙船、熱気球、無人車両等またはそれらの組合せを含むことができる。輸送システムはまた、管理および/または分配のための任意の輸送システム、例えば、速達を送信および受信するためのシステムを含むことができる。この開示のシステムまたは方法のアプリケーションは、ユーザデバイス上にインプリメントすることができ、ウェブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部解析システム、人工知能ロボット等またはそれらの任意の組合せを含む。
【0023】
この開示において「乗客」、「要求者」、「サービス要求者」、および「顧客」という用語は、要求することができる、またはサービスをオーダする個人、エンティティ、またはツールを指すように、交換可能に使用される。また、この開示において、「ドライバ」、「プロバイダ」および「サービスプロバイダ」という用語は、サービスを提供することができる、またはサービスの提供を容易にすることができる個人、エンティティ、またはツールを指すように交換可能に使用される。
【0024】
この開示において、「サービス要求」、「サービスのための要求」、「要求」という用語は、乗客、サービス要求者、顧客、ドライバ、プロバイダ、サービスプロバイダ等、またはそれらの任意の組合せにより開始することができる要求を指すように、交換可能に使用することができる。サービス要求は、乗客、サービス要求者、顧客、ドライバ、プロバイダまたはサービスプロバイダのいずれかにより受け付けることができる。
サービス要求は有料または無料であり得る。
【0025】
この開示において、「サービスプロバイダ端末」および「ドライバ端末」という用語は、サービスを提供するために、またはサービスの提供を容易にするために、サービスプロバイダにより使用されるモバイル端末を指すように交換可能に使用される。この開示において、「サービス要求端末」および「乗客端末」という用語は、サービスを要求またはオーダするためにサービス要求者により使用されるモバイル端末を指すように交換可能に使用される。
【0026】
本開示で使用される測位技術は、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパス航法システム(COMPASS)、ガリレオ測位システム、準天頂衛星システム(QZSS)、ワイヤレスフィデリティ(WiFi)測位技術など、またはそれらの任意の組み合わせに基づくことができる。上記測位システムの1つまたは複数は、この開示において交換可能に使用することができる。
【0027】
この開示の一態様は、オンラインO2Oサービスプラットフォームにおいて、ETAを決定するためのシステム及び方法に関連する。サービスプロバイダがサービスオーダのスタートロケーションに到着する推定時刻を指すETAは、種々の要因により影響を受ける可能性がある。これらの要因は、ETAの決定において考慮する必要があり得る。この開示によれば、システムと方法は、ターゲット要求者端末により開始されるポテンシャルサービスオーダに関連する第1の情報を取得することができる。第1の情報は、ポテンシャルサービスオーダのスタートロケーションを含むことができる。また、システムと方法は、スタートロケーションから、しきい値内の1つまたは複数の候補サービスプロバイダに関連する第2の情報を、取得することができる。第2の情報の少なくとも一部は、各候補サービスプロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示すことができる。いくつかの実施形態において、システムと方法はさらにスタートロケーションからしきい値距離内の1つまたは複数のポテンシャル要求者端末に関連する需要情報を取得することができる。次に、システムと方法は、第1の情報、第2の情報およびオプションで需要情報をETAのトレーニングされたニューラルネットワークモデルへ入力することにより、ポテンシャルサービスオーダのETAを決定することができる。そのため、ポテンシャルサービスオーダのETAは、正確かつ効率的に決定することができる。
【0028】
図1は、この開示のいくつかの実施形態による例示O2Oサービスシステムを図示するブロック図である。例えば、O2Oサービスシステム100は、輸送サービスに関するオンライン輸送サービスプラットフォーム、食料配送サービスに関するオンライン配送サービスプラットフォーム等であり得る。O2Oサービスシステム100は、サーバ110、ネットワーク120、サービス要求者端末130、サービスプロバイダ端末140、乗り物150、ストレージデバイス160、およびナビゲーションシステム170を含むことができる。
【0029】
O2Oサービスシステム100は、複数のサービスを提供することができる。例示サービスは、タクシーヘイリングサービス(taxi-hailing service)、ショーファーサービス(chauffeur service)、イクスプレスカーサービス、カープールサービス、バスサービス、ドライバハイヤサービス、およびシャトルサービスを含むことができる。いくつかの実施形態において、O2Oサービスは、食事の予約、ショッピング等、またはそれらの任意の組合せのような任意のオンラインサービスであり得る。
【0030】
いくつかの実施形態において、サーバ110は、単一サーバまたはサーバグループであり得る。サーバグループは、集中型または分散型であり得る(例えば、サーバ110は、分散システムであり得る)。いくつかの実施形態において、サーバ110はローカルまたはリモートであり得る。例えば、サーバ110は、ネットワークを介した、サービス要求者端末130、サービスプロバイダ端末140、および/またはストレージデバイス160に記憶された情報、および/またはデータにアクセスすることができる。他の例として、サーバ110は、サービス要求者端末130、サービスプロバイダ端末140、および/またはストレージデバイス160に直接接続して記憶された情報、および/またはデータにアクセスすることができる。いくつかの実施形態において、サーバ110はクラウドプラットフォームにインプリメントすることができる。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウド等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、サーバ110は、この開示の
図2に例示する1つまたは複数のコンポーネントを有するコンピューティングデバイス200にインプリメントすることができる。
【0031】
いくつかの実施形態において、サーバ110は、処理エンジン112を含むことができる。処理エンジン112は、サービス要求に関連する処理情報、および/またはデータを処理して、この開示に記載された1つまたは複数の機能を実行することができる。例えば、処理エンジン112は、サービスオーダに関するETAを決定することができる。他の例として、処理エンジン112は、ETAのトレーニングされたニューラルネットワークモデルを生成することができる。いくつかの実施形態において、処理エンジン112は、1つまたは複数の処理エンジン(例えば、シングルコア処理エンジン(複数の場合もある)またはマルチコアプロセッサ(複数の場合もある))。単なる例として、処理エンジン112は、中央処理装置(CPU)、特定用途集積回路(ASIC)、特定用途命令セットプロセッサ(ASIP)、グラフィクス処理ユニット(GPU)、物理処理ユニット(PPU)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)マイクロプロセッサ等、またはそれらの任意の組合せを含むことができる。
【0032】
ネットワーク120は、情報および/またはデータの交換を容易にすることができる。いくつかの実施形態において、O2Oサービスシステム100の1つまたは複数のコンポーネント(例えば、サーバ110、サービス要求者端末130、サービスプロバイダ端末140、乗り物150、ストレージデバイス160、およびナビゲーションシステム170)は、情報および/またはデータを、ネットワーク120を介して、O2Oサービスシステム100の他のコンポーネント(複数の場合もあり得る)に送信することができる。例えば、サーバ110は、ネットワーク120を介してサービス要求者端末130からサービス要求を受信することができる。いくつかの実施形態において、ネットワーク120は、任意のタイプの有線または無線ネットワーク、またはそれらの組合せであり得る。単なる例として、ネットワーク120は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、テレコミュニケーションネットワーク、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、公衆電話交換網(PSTN)、ブルートゥース(登録商標)ネットワーク、ジグビーネットワーク、近距離通信(NFC)ネットワーク等またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、ネットワーク120は、1つまたは複数のネットワークアクセスポイントを含むことができる。例えば、ネットワーク120は、データおよび/または情報を交換するためにO2Oサービスシステム100の1つまたは複数をネットワーク120に接続することができる、基地局および/またはインターネット交換ポイント120-1、120-2、・・・のような有線または無線ネットワークアクセスポイントを含むことができる。
【0033】
いくつかの実施形態において、乗客は、サービス要求者端末130のオーナであり得る。いくつかの実施形態において、サービス要求者端末130のオーナは、乗客以外の誰かであり得る。例えば、サービス要求者端末130のオーナAは、サービス要求者端末130を用いて、乗客Bのためのサービス要求を送信することができ、あるいは、サーバ110からのサービス確認および/または情報または命令を受信することができる。いくつかの実施形態において、サービスプロバイダは、サービスプロバイダ端末140のユーザであり得る。いくつかの実施形態において、サービスプロバイダ端末140のユーザは、サービスプロバイダ以外の誰かであり得る。例えば、サービスプロバイダ端末140のユーザCは、サービスプロバイダ端末140を用いてサービスプロバイダDに関するサービス要求を受信することができ、及び/またはサーバ110から情報または命令を受信することができる。いくつかの実施形態において、「乗客」および「乗客端末」は交換可能に使用することができ、「サービスプロバイダ」と「サービスプロバイダ端末」は、交換可能に使用することができる。いくつかの実施形態において、サービスプロバイダ端末は、1つまたは複数のサービスプロバイダ(例えば、夜勤サービスプロバイダ、または日勤サービスプロバイダ)と関連づけることができる。
【0034】
いくつかの実施形態において、サービス要求者端末130は、モバイルデバイス130-1、タブレットコンピュータ130-2、ラップトップコンピュータ130-3、乗り物130-4内蔵デバイス等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、モバイルデバイス130-1は、スマートホームデバイス、スマートモバイルデバイス、バーチャルリアリティデバイス、オーグメンテッドリアリティデバイス等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、スマートホームデバイスは、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマートモニタリングデバイス、スマートテレビジョン、スマートビデオカメラ、インターフォン等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、ウェアラブルデバイスは、スマートブレスレット、スマートフットギア、スマートグラス、スマートヘルメット、スマートウォッチ、スマート服、スマートバックパック、スマートアクセサリ等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、スマートモバイルデバイスは、スマートフォン、パーソナルデジタルアシスタンス(PDA)、ゲームデバイス、ナビゲーションデバイス、ポイントオブセールデバイス(POS)デバイス等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、バーチャルリアリティデバイスおよび/またはオーグメンテッドリアリティデバイスは、バーチャルリアリティヘルメット、バーチャルリアリティグラス、バーチャルリアリティパッチ、オーグメンテッドリアリティヘルメット、オーグメンテッドリアリティグラス、オーグメンテッドリアリティパッチ等、またはそれらの任意の組合せを含むことができる。例えば、バーチャルリアリティデバイスおよび/またはオーグメンテッドリアリティデバイスは、グーグル(登録商法)グラス、オキュラスリフト、ホロレンズ(HoloLens)、Gear VR等を含むことができる。いくつかの実施形態において、乗り物130-4内に内蔵されるデバイスは、オンボードコンピュータ、オンボードテレビジョン等を含むことができる。いくつかの実施形態において、サービス要求者端末130は、乗客および/またはサービス要求者端末130の位置を突き止める測位技術を有するデバイスであり得る。
【0035】
サービスプロバイダ端末140は、複数のサービスプロバイダ端末140-1、140-2、・・・、140-nを含むことができる。いくつかの実施形態において、サービスプロバイダ端末140は、サービス要求者端末130と類似のまたは同じデバイスであり得る。いくつかの実施形態において、サービスプロバイダ端末140は、オンラインオンデマンド輸送サービスをインプリメントすることができるように、カスタマイズすることができる。いくつかの実施形態において、サービスプロバイダ端末140は、サービスプロバイダ、サービスプロバイダ端末140、および/またはサービスプロバイダ端末140に関連づけられた乗り物150を測位するための測位技術を有するデバイスであり得る。いくつかの実施形態において、サービス要求者端末130及び/またはサービスプロバイダ端末140は、他の測位デバイスと通信して、乗客、サービス要求者端末130、サービスプロバイダおよび/またはサービスプロバイダ端末140の位置を決定することができる。いくつかの実施形態において、サービス要求者端末130および/またはサービスプロバイダ端末140は、周期的に測位情報をサーバ110に送信することができる。いくつかの実施形態において、サービスプロバイダ端末140は、また周期的に利用可能性ステータスをサーバ110に送信することができる。利用可能性ステータスは、サービスプロバイダ端末140に関連づけられた乗り物150が、乗客を運ぶのに利用可能であるかどうかを示すことができる。例えば、サービス要求者端末130および/またはサービスプロバイダ端末140は、測位情報と利用可能性情報を、30分毎にサーバ110に送信することができる。他の例として、サービス要求者端末130及び/またはサービスプロバイダ端末140は、ユーザがオンラインオンデマンド輸送サービスに関連づけられたモバイルアプリケーションにログインする毎に、測位情報と利用可能性ステータスをサーバ110に送信することができる。
【0036】
いくつかの実施形態において、サービスプロバイダ端末140は、1つまたは複数の乗り物150に対応付けることができる。乗り物150は、乗客を乗せ目的地へ移動することができる。乗り物150は、複数の乗り物150-1、150-2、・・・、150-nを含むことができる。1つの乗り物は1つのサービスタイプ(例えば、タクシーヘイリングサービス、ショーファーサービス、イクスプレスカーサービス、カープールサービス、バスサービス、ドライバハイヤ(driver hire)サービス、またはシャトルサービス)に対応づけることができる。
【0037】
ストレージデバイス160は、データおよび/または命令を記憶することができる。いくつかの実施形態において、ストレージデバイス160は、サービス要求者端末130および/またはサービスプロバイダ端末140から取得したデータを記憶することができる。いくつかの実施形態において、ストレージデバイス160は、この開示において記載した例示方法を実行するために、サーバ110が使用または実行することができるデータおよび/または命令を記憶することができる。いくつかの実施形態において、ストレージデバイス160は、マスストレージ、リムーバブルストレージ、揮発性リードアンドライトメモリ、リードオンリメモリ(ROM)等、またはそれらの任意の組合せを含むことができる。例示マスストレージは、磁気ディスク、光ディスク、ソリッドステートドライブ等を含むことができる。例示リムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、ジップディスク、磁気テープ等を含むことができる。例示ボラタイルリードアンドライトメモリは、ランダムアクセスメモリ(RAM)を含むことができる。例示RAMは、ダイナミックRAM(DRAM)、ダブルデートレートシンクロナスダイナミックRAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)、およびゼロキャパシタRAM(Z-RAM)等を含むことができる。例示ROMは、マスクROM(MROM)、プログラマブルROM(PROM)、イレーザブルプログラマブルROM(EPROM)、及びデジタルバーサタイルディスクROM等を含むことができる。いくつかの実施形態において、ストレージデバイス160は、クラウドプラットフォーム上にインプリメントすることができる。単なる例示として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウド等、またはそれらの任意の組合せを含むことができる。
【0038】
いくつかの実施形態において、ストレージデバイス160は、ネットワーク120に接続してO2Oサービスシステム100の1つまたは複数のコンポーネント(例えば、サーバ110、サービス要求者端末130、またはサービスプロバイダ端末140)と通信することができる。O2Oサービスシステムの1つまたは複数のコンポーネントは、ネットワークを介してストレージデバイス160に記憶されたデータまたは命令にアクセスすることができる。いくつかの実施形態において、ストレージデバイス160は、O2Oサービスシステム100(例えば、サーバ110、サービス要求者端末130、サービスプロバイダ端末140)の1つまたは複数のコンポーネントと直接接続するか、または通信することができる。いくつかの実施形態において、ストレージデバイス160は、サーバ110の一部であり得る。
【0039】
ナビゲーションシステム170は、オブジェクト、例えば、サービス要求者端末130、サービルプロバイダ端末140、乗り物150等の1つまたは複数に関連づけられた情報を決定することができる。いくつかの実施形態において、ナビゲーションシステム170は、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパス航法システム(COMPASS)、北斗航法衛星システム、ガリレオ測位システム、準天頂衛星システム(QZSS)などであり得る。情報は、オブジェクトのロケーション、高度、速度、または加速度、または現在時刻を含むことができる。ナビゲーションシステム170は、1つまたは複数の衛星、例えば、衛星170-1、衛星170-2、および衛星170-3を含むことができる。衛星170-1乃至170-3は、上で示した情報を独立して、または一緒に決定することができる。衛星ナビゲーションシステム170は、上で示した情報を、無線接続を介して、ネットワーク120、サービス要求者端末130、サービスプロバイダ端末140、または乗り物150に送信することができる。
【0040】
いくつかの実施形態において、O2Oサービスシステム100の1つまたは複数のコンポーネント(例えば、サーバ110、サーバ要求端末130、サービスプロバイダ端末140)は、ストレージデバイス160をアクセスするための許可を有することができる。いくつかの実施形態において、O2Oサービスシステム100の1つまたは複数のコンポーネントは、1つまたは複数の条件が満足されると、乗客、サービスプロバイダ、および/またはパブリックに関連した情報を読み取りおよび/または変更することができる。例えば、サーバ110は、サービス完了後、一人または複数の乗客の情報を読み取りおよび/または変更することができる。他の例として、サーバ110は、サービス完了後、1つまたは複数のサービスプロバイダの情報を読み取りおよび/または変更することができる。
【0041】
いくつかの実施形態において、O2Oサービスシステム100の1つまたは複数のコンポーネントの情報交換は、サービスを要求することにより開始することができる。サービス要求のオブジェクトは任意のプロダクトであり得る。いくつかの実施形態において、プロダクトは、食料、医薬品、日用品、化学製品、電気機器、服、車、ハウジング、贅沢品等またはそれらの組合せを含むことができる。いくつかの他の実施形態において、プロダクトは、サービス・プロダクト、金融プロダクト、知識プロダクト、インターネットプロダクト等、またはそれらの任意の組合せを含むことができる。インターネットプロダクトは、個々のホストプロダクト、ウェブプロダクト、モバイルインターネットプロダクト、コマーシャルホストプロダクト、埋め込みプロダクト等またはそれらの任意の組合せを含むことができる。モバイルインターネットプロダクトは、モバイル端末のソフトウェア、プログラム、システム等、またはそれらの任意の組合せにおいて使用することができる。モバイル端末は、タブレットコンピュータ、ラップトップコンピュータ、モバイルフォン、パーソナルデジタルアシスタンツ(PDA)、スマートウォッチ、ポイントオブセール(POS)デバイス、オンボードコンピュータ、オンボードテレビジョン、ウェアラブルデバイス等、またはそれらの任意の組合せを含むことができる。例えば、プロダクトは、コンピュータまたはモバイルフォンに使用される任意のソフトウェア及び/またはアプリケーションであり得る。ソフトウェアおよび/またはアプリケーションは、社交、買い物、輸送、娯楽、学習、投資など、またはそれらの任意の組み合わせに関係し得る。いくつかの実施形態では、輸送に関連するソフトウェアおよび/またはアプリケーションは、移動ソフトウェアおよび/またはアプリケーション、乗り物スケジューリングソフトウェアおよび/またはアプリケーション、マッピングソフトウェアおよび/またはアプリケーションなどを含み得る。乗り物スケジューリングソフトウェアおよび/またはアプリケーションにおいて、乗り物は、馬、馬車、人力車(例えば、手押し車、自転車、三輪車など)、自動車(例えば、タクシー、バス、 自家用車など)、電車、地下鉄、船舶、航空機(飛行機、ヘリコプター、スペースシャトル、ロケット、熱気球など)など、または任意のそれらの組み合わせを含むことができる。
【0042】
当業者は、O2Oサービスシステム100の要素(または構成要素)が実行するとき、要素が電気信号および/または電磁信号を通じて実行し得ることを理解するであろう。例えば、サービスリクエスタ端末130がサービス要求をサーバ110に送信するとき、サービスリクエスタ端末130のプロセッサは、要求を符号化する電気信号を生成することができる。次に、サービス要求者端末130のプロセッサは、電気信号を出力ポートに送信することができる。サービス要求者端末130が有線ネットワークを介してサーバ110と通信する場合、出力ポートはケーブルに物理的に接続され得、ケーブルはさらに電気信号をサーバ110の入力ポートに送信し得る。サービス要求者端末130が無線ネットワークを介してサーバ110と通信する場合、サービス要求者端末130の出力ポートは、電気信号を電磁信号に変換する1つまたは複数のアンテナであり得る。同様に、サービスプロバイダ端末130は、電気信号または電磁石信号を介して、サーバ110から命令および/またはサービス要求を受信することができる。サービスリクエスタ端末130、サービスプロバイダ端末140、および/またはサーバ110などの電子デバイス内で、そのプロセッサが命令を処理し、命令を送信し、および/またはアクションを実行すると、命令および/または またはアクションは、電気信号を介して行われる。例えば、プロセッサが記憶媒体からデータを検索または保存するとき、プロセッサは、記憶媒体の構造化データを読み取りまたは書き込むことができる記憶媒体の読み取り/書き込みデバイスに電気信号を送信することができる。構造化データは、電子デバイスのバスを介して電気信号の形でプロセッサに送信されてもよい。ここで、電気信号は、1つの電気信号、一連の電気信号、および/または複数の個別の電気信号を指し得る。
【0043】
図2は、本開示のいくつかの実施形態による、サーバ110、サービス要求者端末130、および/またはサービスプロバイダ端末140がインプリメントされ得るコンピューティングデバイス200の例示的なハードウェアおよびソフトウェアコンポーネントを示す概略図である。たとえば、処理エンジン112は、コンピューティングデバイス200上に実装され、本開示で開示される処理エンジン112の機能を実行するように構成され得る。
【0044】
コンピューティングデバイス200は、いくつかの実施形態では、専用コンピュータであり得る。コンピューティングデバイス200は、本開示のためのO2Oシステムをインプリメントするために使用され得る。コンピューティングデバイス200は、本明細書で説明するように、O2Oサービスの任意のコンポーネントをインプリメントすることができる。
図1乃至2では、純粋に便宜上の目的で、そのようなコンピュータ装置は1つだけ示されている。当業者は、本願の出願時に、本明細書に記載されるO2Oサービスに関連するコンピュータ機能が、処理負荷を分散するために、いくつかの同様のプラットフォーム上で、分散方式によりインプリメントされ得ることを理解するであろう。
【0045】
コンピューティングデバイス200は、例えば、データ通信を容易にするために、ネットワークに接続されたCOMポート250を含み得る。コンピューティングデバイス200はまた、プログラム命令を実行するための1つまたは複数のプロセッサの形態の中央処理装置(CPU、またはプロセッサ)220を含み得る。例示的なコンピュータプラットフォームは、コンピュータによって処理および/または送信されるさまざまなデータファイルに関する、内部通信バス210、異なる形式のプログラムストレージおよびデータストレージ、例えば、ディスク270、および読み取り専用メモリ(ROM)230、またはランダムアクセスメモリ(RAM)240を含み得る。例示的なコンピュータプラットフォームはまた、ROM230、RAM240、および/またはCPU /プロセッサ220によって実行される他のタイプの非一時的な記憶媒体に記憶されたプログラム命令を含み得る。本開示の方法および/またはプロセスは、プログラム命令としてインプリメントされ得る。コンピューティングデバイス200はまた、コンピュータと、ユーザインターフェース要素(
図2には図示せず)などの、他のコンポーネントとの間の入出力をサポートするI / Oコンポーネント260を含むことができる。コンピューティングデバイス200はまた、ネットワーク通信を介してプログラミングおよびデータを受信し得る。
【0046】
単なる例示のために、コンピューティングデバイス200には、1つのCPU /プロセッサ220のみが記載されている。しかしながら、本開示におけるコンピューティングデバイス200はまた、複数のCPU/プロセッサを含み得、したがって、本開示において説明されるような、1つのCPU/プロセッサ220によって実行される動作および/または方法ステップはまた、共同または 複数のCPU/プロセッサによって個別に実行される。例えば、本開示において、コンピューティングデバイス200のCPU /プロセッサ220が、ステップAおよびステップBの両方を実行する場合、ステップAおよびステップBはまた、2つの異なるCPU/プロセッサによって共同で、または別々に実行されてもよいことを理解されたい。コンピューティングデバイス200(例えば、第1のプロセッサがステップAを実行し、第2のプロセッサがステップBを実行するか、または第1および第2のプロセッサが共同してステップAおよびBを実行する)。
【0047】
図3は、本開示のいくつかの実施形態による、ユーザ端末がインプリメントされ得る例示的なモバイルデバイス300の例示的なハードウェアおよび/またはソフトウェアコンポーネントを示す概略図である。
図3に示すように、モバイルデバイス300は、通信プラットフォーム310、ディスプレイ320、グラフィック処理ユニット(GPU)330、中央処理ユニット(CPU)340、I/O350、メモリ360、およびストレージ390を含み得る。いくつかの実施形態において、これに限定されないが、システムバスまたはコントローラ(図示せず)を含む任意の他の適切なコンポーネントは、またモバイルデバイス300内に含むことができる。いくつかの実施形態において、モバイルオペレーティングシステム30(例えば、iOS TM、AndroidTM、Windows Phone TM等)および1つまたは複数のアプリケーション380は、CPU340により実行されるようにストレージ390からメモリ360にロードすることができる。アプリケーション380は、画像処理または処理エンジン112からの他の情報に関連する情報を受信し、レンダリングするためのブラウザまたは任意の他の適切なモバイルアプリを含むことができる。情報ストリームとのユーザ相互作用は、I/O350を介して達成することができ、ネットワーク120を介して処理エンジン112および/またはサービスシステム100の他のコンポーネントに提供することができる。
【0048】
この開示に記載された種々のモジュール、ユニットおよびそれらの機能をインプリメントするために、コンピュータハードウェアプラットフォームは、ここに記載されたエレメントの1つまたは複数のためのハードウェアプラットフォーム(複数の場合もある)として使用することができる。ユーザインタフェースエレメントを備えたコンピュータは、パーソナルコンピュータ(PC)または任意の他のタイプのワークステーションまたは端末デバイスをインプリメントするのに使用することができる。コンピュータは、また、適切にプログラムされた場合に、サーバとしても動作することができる。
【0049】
図4Aおよび
図4Bは、この開示のいくつかの実施形態に従う例示処理エンジン112Aおよび112Bをそれぞれ例示するブロック図である。いくつかの実施形態において、処理エンジン112Aは、サービスオーダのETAを決定するように構成することができ、処理エンジン112Bは、ETAのトレーニングされたニューラルネットワークモデルを生成するように構成することができる。いくつかの実施形態において、処理エンジン112Aと112Bは、それぞれ
図2に示したコンピューティングデバイス200(例えば、CPU210)、または
図3に示したCPU340にインプリメントすることができる。単なる例示として、処理エンジン112Aは、モバイルデバイスのCPU340にインプリメントすることができ、処理エンジン112Bは、コンピューティングデバイス200にインプリメントすることができる。あるいは、処理エンジン112Aと112Bは、同一コンピューティングデバイス200または同一CPU340にインプリメントすることができる。
【0050】
処理エンジン112Aは、取得モジュール401、決定モジュール402および送信モジュール403を含むことができる。モジュールは、処理エンジン112Aのすべてまたは一部のハードウェア回路であり得る。モジュールは、また処理エンジン112Aにより読み取られおよび実行されるアプリケーションまたは命令のセットとしてインプリメントすることができる。さらに、モジュールは、ハードウェア回路およびアプリケーション/インストラクションの任意の組み合わせであり得る。例えば、モジュールは、処理エンジン112Aがアプリケーション/命令のセットを実行しているとき、処理エンジン112Aの一部であり得る。
【0051】
取得モジュール401は、O2Oサービスシステム100に関連した情報を取得するように構成することができる。例えば、取得モジュール401は、ターゲット要求者端末により開始された、」潜在的サービスオーダに関連した第1の情報、ポテンシャルサービスオーダのスタートロケーションからしきい値距離内の1つまたは複数の候補サービスプロバイダに関連した第2の情報、スタートロケーションからしきい値距離内の1つまたは複数の要求者端末に関連した需要情報、ETAのトレーニングされたニューラルネットワークモデル等、またはそれらの任意の組み合わせを取得することができる。いくつかの実施形態において、取得モジュール401は、ストレージデバイス160、処理エンジン112B、要求者端末130、および/またはプロバイダ端末140のようなO2Oサービスシステムの1つまたは複数のコンポーネントから情報を取得することができる。さらに、あるいは代替的に、取得モジュール401は、ネットワーク120を介して外部データソース(図示せず)から情報を取得することができる。
【0052】
決定モジュール402は、ポテンシャルサービスオーダのETAを決定するように構成することができる。例えば、決定モジュール402は、ポテンシャルサービスオーダに関連した第1、第2、および/または需要情報をETAのトレーニングされたニューラルネットワークモデルに入力することによりETAを決定することができる。いくつかの実施形態において、決定モジュール402は、さらに、各候補サービスプロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を決定するように構成することができる。例えば、決定モジュール402は、種々のファクタ、例えば、ポテンシャルサービスオーダのスタートロケーション周辺近くの領域内の需要と供給の関係、スタートロケーションおよび/または目的地周辺のエリアの交通ルールと道路交通法、および/または候補サービスプロバイダのオーダ受付レート等、またはそれらの任意の組み合わせのような種々のファクタに基づいて、決定することができる。可能性の判断に関するさらなる記述は、この開示のどこかに見出すことができる。例えば、
図6の動作520およびその関連する記述に見出すことができる。
【0053】
送信モジュール403は、ターゲット要求者端末へ、表示のためにポテンシャルサービスオーダのETAを送信することができる。ポテンシャルサービスオーダのETAは、音声、テキスト、グラフ、画像等またはそれらの任意の組み合わせでターゲット要求者端末に表示することができる。
【0054】
処理エンジン112Bは、取得モジュール404、トレーニングモジュール405、テストモジュール406を含むことができる。モジュールは、処理エンジン112Bのすべて、または一部のハードウェア回路であり得る。モジュールは、また処理エンジン112Bにより読取られ、実行されるアプリケーション、または命令のセットとしてインプリメントすることができる。さらにモジュールは、ハードウェア回路およびアプリケーション/命令の任意の組合せであり得る。例えば、モジュールは、処理エンジン112Bが、アプリケーション/命令のセットを実行しているとき、処理エンジン12Bの一部であり得る。
【0055】
取得モジュール404は、ETAのトレーニングされたニューラルネットワークモデルを生成するために使用される情報を取得するように構成することができる。例えば、取得モジュール404は、サンプルポテンシャルサービスオーダに関連した情報、例えば、サンプルポテンシャルオーダに関連した第3の情報、対応するサンプルスタートロケーションからサンプルしきい値距離内のサンプル候補サービスプロバイダ、対応するサンプルスタートロケーションからサンプルしきい値距離内の、1つまたは複数のサンプルポテンシャル要求者端末に関連したサンプル需要情報、予備ニューラルネットワークモデル、サンプルポテンシャルサービスオーダの実際の到着時刻(ATA)等、またはそれらの任意の組み合わせに関する情報を取得することができる。いくつかの実施形態において、取得モジュール404は、O2Oサービスシステム100の1つまたは複数のコンポーネント、例えば、ストレージデバイス160、要求者端末130、および/またはプロバイダ端末140から情報を取得することができる。さらに、または代替的に、取得モジュール404は、ネットワーク120を介して外部データソース(図示せず)から情報を取得することができる。
【0056】
トレーニングモジュール405は、予備ニューラルネットワークモデルをトレーニングすることによりETAのトレーニングされたニューラルネットワークモデルを生成するように構成することができる。いくつかの実施形態において、トレーニングモジュール405は、複数のサンプルポテンシャルサービスオーダ、またはサンプルポテンシャルサービスオーダの一部の、予測されたETAsとATAsとの間の差分である損失関数を決定することにより予備ニューラルネットワークモデルをトレーニングすることができる。予備ニューラルネットワークモデルのトレーニングに関するさらなる記述は、この開示のどこかに見出すことができる。例えば、動作703、707および関連する記述を参照。
【0057】
テストモジュール406は、テストパラメータを決定することによりトレーニングされた、予備ニューラルネットワークモデルをテストするように構成することができる。いくつかの実施形態において、テストパラメータは、トレーニングされた予備ニューラルネットワークモデルおよびサンプルポテンシャルオーダの第2の部分に基づいて決定することができる。テストパラメータに関するさらなる記述は、この開示のどこかに見出すことができる。例えば、動作708、709とその関連する記載を参照のこと。
【0058】
処理エンジン112Aおよび112Bの上述した記述は、例示目的のために提供され、この開示の範囲を限定することを意図したものではないことに留意する必要がある。当業者には、複数の変形及び変更を、この開示の教示に基づいて行うことができる。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。いくつかの実施形態において、上で示した任意のモジュールは、2以上のユニットに分割することができる。例えば、取得モジュール401は、ポテンシャルサービスオーダに関連した第1の情報、ポテンシャルサービスオーダのスタートロケーションからしきい値距離内の、1つまたは複数の候補サービスプロバイダに関連した、第2の情報を取得するように構成された、第2の取得ユニットに分割することができる。さらに、または代替的に、取得モジュール401は、スタートロケーションからしきい値距離内の、1つまたは複数のポテンシャルリクエスタ端末に関連した需要情報を取得するように構成された、第3の取得モジュールを含むことができる。
【0059】
いくつかの実施形態において、処理エンジン112Aおよび/または112Bは、さらに、1つまたは複数の追加モジュールまたは1つまたは複数の、上で示したモジュールを省略することができる。例えば、処理エンジン112Aは、さらに、トレーニングモジュール405に類似したトレーニングモジュールを含むことができる。いくつかの実施形態において、トレーニングモジュールは、複数のサンプルポテンシャルサービスオーダに関連した第3および第4の情報、およびETAのトレーニングされたネットワークモデルをトレーニングするように構成されたトレーニングユニットを含むことができる。さらに、または代替的に、トレーニングモジュール405は、サンプルポテンシャルサービスオーダのATAsを取得するように構成された、第5の取得ユニット、およびモデルをテストするように構成されたテストユニットを含むことができる。いくつかの実施形態において、処理エンジン112Aと処理エンジン112Bは、単一の処理エンジン112に統合することができる。
【0060】
図5は、この開示のいくつかの実施形態に従うO2Oサービスに関するETAを決定する例示プロセスを例示するフローチャートである。プロセス500は、O2Oサービスシステム100により実行することができる。例えば、プロセス500は、ストレージデバイス160に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。いくつかの実施形態において、処理エンジン112Aは、命令のセットを実行することができ、O2Oサービスプラットフォーム内のプロセス500を実行するように命令されることができる。プラットフォームは、インターネットを介して、サービスプロバイダと要求者を接続するインタネットベースプラットフォームであり得る。
【0061】
ステップ510において、処理エンジン112A(例えば、取得モジュール401)は、ターゲット要求者端末により開始されるポテンシャルサービスオーダに関連した第1の情報を取得することができる。
【0062】
ポテンシャルサービスオーダは、既知のスタートロケーションを有するサービスオーダであるが、ターゲット要求者端末の要求者により正式に発行されていないサービスオーダを指すことができる。ここで、使用されるように、サービスオーダのための要求が成されなかったか、またはターゲット要求者端末を介して要求者によりO2Oサービスシステム100のサーバ110に送信されなかった場合、サービスオーダは、要求者により正式に発行されなかったとみなすことができる。例えば、O2Oサービスに関する要求を行うことを意図しているとき、要求者は、スタートロケーションを入力するか、またはターゲット要求者端末により提供されたスタートロケーションを使用することができるが、要求を行わなかった。そのような場合、サービスオーダは、ポテンシャルサービスオーダとみなすことができる。
【0063】
いくつかの実施形態において、スタートロケーションが決定され、要求が要求者によりなされる前に、ターゲット要求者端末は、ポテンシャルサービスオーダをサーバ110に送信することができる。さらに、または代替的にターゲット要求者端末は、連続的に、または周期的にターゲット要求者端末に関連する情報をサーバ110に送信することができる。サーバ110(例えば、処理エンジン112A)は、受信した情報に従うターゲット要求者端末を介して要求者によって開始されたポテンシャルサービスオーダがあるかどうかを判断することができる。受信したまたは決定したポテンシャルサービスオーダに応答して、処理エンジン112Aは、プロセス500を実行してターゲットサービスプロバイダが、ポテンシャルサービスオーダのスタートロケーションに到着するための推定時刻を決定することができ、簡単のためにポテンシャルサービスオーダのETAと呼ばれる。
【0064】
いくつかの実施形態において、ポテンシャルサービスオーダは、O2Oサービスに関連したサービスオーダであり得る。例示O2Oサービスは、輸送サービス(例えば、タクシーヘイリングサービス、ショーファーサ-ビス、イクスプレスカーサービス、カープールサービス、バスサービス、ドライバハイヤサービス、およびシャトルサービス)、ポストサービス、食料品オーダサービス、持ち帰りサービス等、またはそれらの任意の組み合わせを含むことができる。ターゲット要求者端末は、要求者端末130であり得、それを介して要求者は、O2Oサービスに関する要求を行う。
【0065】
第1の情報は、ポテンシャルサービスオーダに関する任意の情報を含むことができる。例示の第1の情報は、これらに限定されないが、時間情報、ロケーション情報、天気情報、交通情報、政策情報、ニュース情報、ユーザ情報等、またはそれらの任意の組み合わせを含むことができる。時間情報は、要求時刻、要求日、要求時間の特定日にちセクション(例えば、平日、週末、休日、祭日)、タイムインターバル(例えば、ラッシュアワー時、日中、夜間)等、またはそれらの任意の組み合わせを含むことができる。ロケーション情報は、要求者の現在のロケーション、ポテンシャルサービスオーダのスタートロケーションおよび/または目的地、スタートロケーションおよび/または目的地周辺のビルの密度、スタートロケーションから目的地までのルート等、またはそれらの任意の組み合わせを含むことができる。天気情報は、大気質指数、温度、視界、湿度、気圧、風速、PM2.5指数、降水量、降水のタイプ(例えば、雪、雨)、降水量の可能性のパーセンテージ等、またはそれらの任意の組み合わせを含むことができる。天気情報は、例えば、リアルタイムの天気情報、実質的にリアルタイムの天気情報、および/または天気予報情報を含むことができる。トラヒック情報は、スタートロケーションおよび/目的地における、または、ポテンシャルサービスオーダのスタートロケーションから目的地までのルートに沿った交通量、交通渋滞状況、交通事故件数およびその場所、乗り物速度(例えば、平均速度、瞬間速度)情報等、またはそれらの任意の組みあわせを含むことができる。政策情報は、交通、乗り物管理(例えば、あるプレート番号(例えば偶数または奇数)を有する乗り物のみが、あるエリアで運転することができる)、速度等、またはそれらの任意の組み合わせに関する法律と規則を含むことができる。ニュース情報は、ポテンシャルサービスオーダのスタートロケーションおよび/または目的地周辺のイベントの数(例えば、コンサート、展示会、競争、市場プロモーション)を含むことができる。ユーザ情報は、ポテンシャルサービスオーダの要求者の嗜好情報、プロファイル情報(例えば、性別、年齢、教育レベル、職業、出生地、住居)、性能情報(例えば、サービスプロバイダにより評価された性能スコア)等、またはそれらの任意の組み合わせを含むことができる。
【0066】
いくつかの実施形態において、第1の情報はO2Oサービスシステム100の1つまたは複数のコンポーネント、例えば、ターゲット要求者端末130、ストレージデバイス160、処理エンジン112Aから取得することができる。さらに、または代替的に、第1の情報の少なくとも一部または全部は、ネットワーク120を介して外部ソースから取得することができる。例えば、天気情報は、天気予報データベースまたはウェブサイトから取得することができる。
【0067】
いくつかの実施形態において、ポテンシャルサービスオーダに関連する第1の情報は、少なくともポテンシャルサービスオーダのスタートロケーションを含むことができる。ポテンシャルサービスオーダのスタートロケーションは、ターゲット要求者端末の要求者がO2Oサービスを受信することを望む、および/または必要とするスタートロケーションを指すことができる。いくつかの実施形態において、ターゲット要求者端末の要求者は、自分自身または他のユーザのためのサービス要求を開始することができる。この発明の実施形態は、当業者により知られているマイナーな変更を用いて、他者シナリオのための要求サービス(request-service-for-others scenario)に適用することができるが、以下の記述は、例として、自己要求サービスシナリオ(request-service-for-self-scenario)を使用する。
【0068】
いくつかの実施形態において、ポテンシャルサービスオーダのスタートロケーションは、ターゲット要求者端末の現在のロケーションであり得る。例えば、ターゲット要求者端末の現在のロケーションは、ターゲット要求者端末にインストールされたO2Oサービスのためのアプリケーションを開く、または使用するときのスタートロケーションとして設定することができる。ターゲット要求者端末の現在のロケーションは、これに限定されないが、GPS測位技術、基地局測位技術、WIFI測位技術等のような測位技術に基づいて決定することができる。いくつかの実施形態において、ターゲット要求者端末の現在のロケーションは、自動的にターゲット要求者端末により、取得モジュール401に送信することができる。
【0069】
さらに、または代替的に、スタートロケーションは、ターゲット要求者端末を介して要求者により入力することができ、次に取得モジュール401に送信することができる。要求者は、タイピング、ライティング、自分の声で、ジェスチャで、ターゲット要求者端末のインタフェースをタッチすることにより、等またはそれらの任意の組合せによりスタートロケーションを入力することができる。例えば、要求者は、ターゲット要求者端末のスクリーンをタッチすることにより、スタートロケーションを入力することができる。単なる例示として、ターゲット要求者端末は、スタートロケーションが、ピンによりマーキングされた地図を表示することができ、要求者が地図上のピンをドラッグすることによりスタートロケーションを移動させることができる。移動されたスタートロケーションを、スタートロケーションとして設定することができる。
【0070】
ステップ520において、処理エンジン112A(例えば、取得モジュール401)は、ポテンシャルサービスオーダのスタートロケーションからしきい値距離内の、1つまたは複数の候補サービスプロバイダに関連した第2の情報を取得することができる。第2の情報の少なくとも一部は、1つまたは複数のサービス候補プロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示すことができる。
【0071】
候補サービスプロバイダは、スタートロケーションからしきい値距離内にあり、ポテンシャルサービスプロバイダを受諾可能である、または受諾可能予定である任意のサービスプロバイダであり得る。例えば、候補サービスプロバイダは、スタートロケーションからしきい値内内にあり、サービスオーダを待っているサービスプロバイダであり得る。他の例として、候補サービスプロバイダは、スタートロケーションからしきい値内にあり、サービスを提供するプロセス中であるが、ある期間、例えば、0.5分、1分内に最後のサービスオーダを終了するサービスプロバイダであり得る。さらに他の例として、候補サービスプロバイダは、スタートロケーションからしきい値距離内にあり、他の要求者にサービス中であるが、同時にポテンシャルサービスオーダを受諾可能であるサービスプロバイダであり得る。ある種のO2Oサービスの場合、これに限定されないが、例えば、カープールサービス、デリバリサービス、持ち帰りサービスの場合、サービスプロバイダは、同時に複数のサービス要求者にサービスを提供することができる。例えば、配送者は、商品を配送する処理において、新しいサービスオーダのスタートロケーションが自分の配達の途中にある場合、新しいサービスオーダを受け入れることができる。
【0072】
しきい値距離は、任意の正の値を有することができ、例えば、これに限定されないが、50m、100m、または1km等であり得る。しきい値距離は、ストレージデバイス(例えば、ストレージデバイス160)に記憶されたデフォルトパラメータであり得るか、またはO2Oサービスシステム100のユーザにより設定することができる。いくつかの実施形態において、しきい値は、O2Oサービスシステム100内の1つまたは複数のコンポーネント、例えばこれに限定されないが、処理エンジン112Aにより決定することができる。いくつかの実施形態において、しきい値距離は、異なる状況、例えば、異なる要求時間、異なるサービスエリア、異なる天気等により変化することができる。単なる例示として、都市のスタートロケーションに対応するしきい値距離は、地区のスタートロケーションに対応する値よりも小さくすることができる。
【0073】
各候補サービスプロバイダに関して、第2の情報は、これに限定されないが、乗り物情報、キャパシティ情報、価格情報、サービス情報、ロケーション情報、またはパフォーマンス情報、またはそれらの任意の組合せを含むことができる。乗り物情報とキャパシティ情報は、候補サービスプロバイダが、サービスを提供する際に使用する乗り物に関連づけることができる。乗り物情報は、乗り物タイプ、乗り物のブランド、乗り物の経過年数等、またはそれらの任意の組合せを含むことができる。キャパシティ情報は、乗り物のシートの数、乗り物の負荷容量(例えば、乗り物が運ぶことができる製品の重量)等、またはそれらの任意の組合せを含むことができる。価格情報は、サービスを提供するために候補サービスプロバイダの基本価格、単位価格(例えば、単位距離あたりの価格)、動的価格レート等、またはそれらの任意の組合せを含むことができる。サービス情報は、オーダ受付率、オーダ完了率、オーダキャンセル率、サービス応答時間、候補サービスプロバイダの過去のサービスオーダの数等、またはそれらの任意の組合せを含むことができる。ロケーション情報は、候補サービスプロバイダの現在のロケーション、候補サービスプロバイダと、ポテンシャルサービスプロバイダのスタートロケーションとの距離、候補サービスプロバイダとスタートロケーションとの間のルートに沿った交差点の数等、またはそれらの任意の組合せを含むことができる。候補サービスプロバイダとスタートロケーションとの間の距離は、直線距離、またはそれらの間のルートの距離であり得る。性能情報は、要求者により評価された性能スコア、要求者から受けた苦情の数等、またはそれらの任意の組合せを含むことができる。
【0074】
いくつかの実施形態において、第2の情報の少なくとも一部は、各候補サービスプロバイダがポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を示すことができる。ここに使用されるように、ターゲットサービスプロバイダは、ポテンシャルサービスオーダを受け付けるサービスプロバイダに言及することができる。O2Oサービスシステム100において、候補サービスプロバイダがポテンシャルサービスオーダBのスタートロケーションに近づくと、ポテンシャルサービスオーダAの候補サービスプロバイダは、ポテンシャルサービスオーダBのターゲットサービスプロバイダに成ることができる。このような場合、各候補サービスプロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を考慮せずに、ポテンシャルサービスオーダのETAは、正確に決定することができない。この発明は、各候補サービスプロバイダが、ポテンシャルサービスオーダのターゲット要求者端末に成る可能性を考慮することにより、ETAのより正確な決定を提供するための方法とシステムを提供する。
【0075】
候補サービスプロバイダがポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性は、種々のファクタ、例えば、ポテンシャルサービスオーダのスタートロケーション周辺のエリアにおける需要と供給の関係、スタートロケーションおよび/または目的地周辺における交通ルール、および道路交通法、サービス領域、サービス時間、運転方向、および/または候補サービスプロバイダの受注率等、またはそれらの任意の組合わせにより、影響を受ける可能性がある。
【0076】
スタートロケーションまたは目的地近辺のエリアは、スタートロケーションまたは目的地を取り囲む、規則的または不規則的なエリアである。あるエリアにおける需要と供給の関係は、そのエリアにおける候補サービスプロバイダの数と、サービスオーダの数(例えば、ポテンシャルサービスオーダおよび/または要求者により為されたサービスオーダ)によって決定することができる。例えば、あるエリアにおけるサービスオーダの数が、候補サービスプロバイダの数よりも多い場合、そのエリアは、供給が不足している可能性がある。交通規則および道路交通法は、交通、乗り物管理(例えば、あるプレート番号(例えば、偶数または奇数)を有する乗り物のみが、あるエリアにおいて運転できる)、速度制限等に関連づけることができる。
【0077】
いくつかの実施形態において、処理エンジン112A(例えば、決定モジュール402)は、上述したファクタの1つ以上を考慮することにより、各候補サービスプロバイダのための可能性を決定することができる。例えば、ポテンシャルサービスプロバイダのスタートロケーション周辺のエリアが、供給不足であるとき、決定モジュール403は、付近のエリアが十分な供給である場合よりも、候補サービスプロバイダの可能性を相対的に低く割り当てることができる。他の例として、ポテンシャルサービスオーダの目的地が、候補サービスプロバイダのサービス領域外であるとき、決定モジュール402は、候補サービスプロバイダの可能性を0に設定することができる。さらなる例として、候補サービスプロバイダのプレート番号が、目的地付近のエリアに制限される場合、決定モジュール402は、候補サービスプロバイダの可能性を0に設定することができる。いくつかの実施形態において、決定モジュール402は、
図6に関連して記載したプロセス600の1つまたは複数の動作を実行することにより、各候補サービスプロバイダの可能性を決定することができる。
【0078】
ステップ530において、処理エンジン112A(例えば、取得モジュール401)は、スタートロケーションからしきい値距離内の、1つまたは複数のポテンシャル要求者端末に関連した、需要情報を取得することができる。
【0079】
ポテンシャル要求者端末は、ポテンシャルサービスオーダのスタートロケーションから、しきい値距離内に位置する要求者端末130に言及することができ、所定期間に他のポテンシャルサービスオーダを開始する。ステップ520に関連して記載したように、ポテンシャルサービスオーダのスタートロケーションの周辺エリアの需要と供給の関係は、より正確に決定するために、ポテンシャルサービスオーダのETAの決定において考慮する必要があるかもしれない。スタートロケーションの周辺エリアのO2Oサービスの供給は、ステップ520で取得した、スタートロケーションからしきい値距離内の候補サービスプロバイダ(複数の場合もある)に関連した、第2の情報により反映させることができる。スタートロケーションの周辺エリアのO2Oサービスの需要は、スタートロケーションからしきい値距離内のポテンシャル要求者端末(複数の場合もある)に関連づけられた、需要情報により反映させることができる。
【0080】
所定期間は、ポテンシャルサービスオーダが、ターゲット要求者端末により開始される前の第1の期間、および/またはポテンシャルサービスオーダが、ターゲット要求者端末により開始された後の、第2の期間を含む任意の期間であり得る。第1の期間および/または第2の期間は、これに限定されないが、30秒、1分、2分、3分等の任意の期間を有することができる。第1の期間と第2の期間は、同じ期間、または異なる期間を有することができる。いくつかの実施形態において、ステップ530においてポテンシャル要求者端末(複数の場合もある)に関するしきい値距離は、ステップ520において候補サービスプロバイダ(複数の場合もある)を定義するしきい値距離と同じであってもよいし、あるいは異なっていてもよい。
【0081】
いくつかの実施形態において、需要情報は、各ポテンシャル要求者端末に関連した情報、ポテンシャルサービスオーダに対応するポテンシャル要求者端末の数、各ポテンシャル要求者端末と、ポテンシャルサービスオーダの各候補サービスプロバイダとの間の距離等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、ポテンシャル要求者端末に関連した情報は、ポテンシャル要求者端末により開始されるポテンシャルサービスオーダに関連した情報であって、ステップ510に関連して記載したターゲット要求者端末により開始されるポテンシャルサービスオーダに関連した、第1の情報に類似した情報を含むことができる。
【0082】
いくつかの実施形態において、取得モジュール401は、スタートロケーションからしきい値距離内のポテンシャル要求者端末(複数の場合もある)のすべての、または選択されたグループに関連した需要情報を取得することができる。例えば、ポテンシャルサービスオーダの要求者は、必ずしも正式な依頼をしないかもしれないので、取得モジュール401は、スタートロケーションから所定しきい値内のポテンシャル要求者端末(複数の場合もある)のあるパーセンテージの需要情報のみを取得する。あるパーセンテージは、O2Oサービスシステム100のユーザにより設定された、あるいは処理エンジン112Aにより決定された、ストレージデバイス(例えば、ストレージデバイス160)に記憶されたデフォルトパラメータであり得る。
【0083】
ステップ540において、処理エンジン112A(例えば、決定モジュール402)は、第1の情報、第2の情報、および需要情報を、ETAのトレーニングされたニューラルネットワークモデルに入力することによりポテンシャルサービスオーダのためのETAを決定することができる。
【0084】
ETAのトレーニングされたニューラルネットワークモデルは、入力(例えば、第1の情報、第2の情報、および/または需要情報)に基づいてポテンシャルサービスオーダのETAを決定するように構成することができる。いくつかの実施形態において、ETAのトレーニングされたニューラルネットワークネットワークモデルは、O2Oシステム100内のストレージデバイス(例えば、ストレージデバイス160)および/またはネットワークを介した外部データソース(図示せず)から取得モジュール401により獲得することができる。
【0085】
いくつかの実施形態において、処理エンジン112B(例えば、トレーニングモジュール405)は、ETAのトレーニングされたニューラルネットワークモデルを生成し、ストレージデバイスに記憶することができる。取得モジュール401は、ストレージデバイスをアクセスして、ETAのトレーニングされたニューラルネットワークモデルを検索することができる。いくつかの実施形態において、処理エンジン112Bは、マシンラーニングメソッドに基づいてETAのトレーニグされたニューラルネットワークモデルを生成することができる。マシンラーニングメソッドは、これに限定されないが、人工ニューラルネットワークアルゴリズム、ディープラーニングアルゴリズム、デシジョンツリーアルゴリズム、相関ルールアルゴリズム、帰納論理プログラミングアルゴリズム、サポートベクタマシンアルゴリズム、クラスタリングアルゴリズム、ベイジアン(Bayesian)ネットワークアルゴリズム、強化学習(reinforcement learning)アルゴリズム、表現学習アルゴリズム、類似性および軽量学習(similarity and metric learning)アルゴリズム、疎辞書学習(sparse dictionary learning)アルゴリズム、遺伝的アルゴリズム、ルールベースマシンラーニングアルゴリズム等、またはそれらの任意の組合せを含むことができる。いくつかの実施形態において、処理エンジン112Bは、
図7に図示するプロセス700の1つまたは複数の動作を実行することによりETAのトレーニングされたニューラルネットワークモデルを決定することができる。
【0086】
ステップ550において、処理エンジン112A(例えば、送信モジュール403は、ポテンシャルサービスオーダのETAを表示のために、ターゲット要求者端末に送信することができる。
【0087】
ポテンシャルサービスオーダのETAは、音声、テキスト、グラフ、画像等またはそれらの任意の組合せの形式でターゲット要求者端末に表示することができる。たとえば、ポテンシャルサービスオーダのETAは、テキストとして、例えば、「1分」、「2分」、「5分」をターゲット要求者端末のインタフェースに表示することができる。他の例として、ポテンシャルサービスオーダのETAは、ターゲット要求者端末によりブロードキャストすることができる。いくつかの実施形態において、ポテンシャルサービスオーダのETAは、ターゲット要求者端末にインストールされたO2OサービスのためのAPP上にまたはAPPにより表示することができる。
【0088】
プロセス500に関する上述した記載は、単に、例示目的のために提供されたものであり、この開示の範囲を制限することを意図したものではないことに留意する必要がある。当業者には、この開示の教示に基づいて、複数の変形および変更が可能である。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。
【0089】
例えば、1つまたは複数のさらなるオプションの動作を追加することができ、および/または上述した動作の1つまたは複数を省略することができる。例えば、動作530は省略することができる。ステップ540において、決定モジュール402は、第1および第2の情報をETAのトレーニングされたニューラルネットワークモデルに入力することによりETAを決定することができる。いくつかの実施形態において、プロセス500の動作の順番は、変更することができる。例えば、動作510乃至530は、同時にまたは任意の順番で実行することができる。いくつかの実施形態において、プロセス500内の動作は、複数のサブ動作に分割することができる。単なる例として、動作540は、トレーニングモジュール405がETAのトレーニングされたニューラルネットワークモデルを生成する第1のサブ動作と、決定モジュール402が、第1、第2および/または需要情報をETAのトレーニングされたニューラルネットワークモデルに入力することによりポテンシャルサービスオーダのETAを決定する第2のサブ動作に分割することができる。
【0090】
図6は、この開示のいくつかの実施形態に従う、候補サービスルプロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる確率を決定する例示プロセスを図示するフローチャートである。プロセス600は、O2Oサービスシステム100により実行することができる。例えば、プロセス600は、ストレージデバイス160に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。いくつかの実施形態において、処理エンジン112Aは、命令のセットを実行し、O2Oサービスプラットフォームのプロセス600を実行するように指示されることができる。プラットフォームは、インターネットを介してサービスプロバイダと要求者を接続するインタネットベースプラットフォームであり得る。いくつかの実施形態において、プロセス600は、
図5を参照する動作520の少なくとも一部を達成するように実行することができる。
【0091】
ステップ610において、処理エンジン112A(例えば、決定モジュール402)は、ポテンシャルサービスオーダのスタートロケーションから、しきい値距離内の1つまたは複数のサービスプロバイダを決定することができる。
【0092】
動作520に関連して記載したように、ポテンシャルサービスオーダの候補サービスプロバイダは、ポテンシャルサービスオーダのスタートロケーションから、しきい値距離内にあるか、またはポテンシャルサービスオーダを受け入れるために利用可能である、あるいは利用可能になろうとしている任意のサービスプロバイダであり得る。O2Oサービスシステム100において、サービスプロバイダ端末140は、連続的にまたは周期的に情報(例えば、測位情報および/または利用可能ステータス)を、ネットワーク120を介してサーバ110に送信することができる。O2Oサービスシステム100のサービスプロバイダ端末140の、すべてまたは一部の受信した情報に基づいて、サーバ110(例えば、処理エンジン112A)は、サービスプロバイダ端末140の、すべてまたは一部の中で、候補サービスプロバイダ(複数の場合もあり得る)を決定することができる。
【0093】
単なる例として、サービスプロバイダ端末140に関して、処理エンジン112Aは、サービスプロバイダ端末140が、スタートロケーションからしきい値距離内に位置しているかどうかを判断することができる。サービスプロバイダ端末140が、スタートロケーションからしきい値距離内に位置しているとの判断に応答して、処理エンジン112Aは、さらにサービスプロバイダ端末140が、ポテンシャルサービスオーダを受け付けることができるかどうかをさらに判断することができる。サービスプロバイダ端末140が、ポテンシャルサービスオーダを受け付けることができるとの判断に応答して、サービスプロバイダ端末140は、候補サービスプロバイダ(複数の場合もある)の1つとして決定することができる。
【0094】
ステップ620において、処理エンジン112A(例えば、決定モジュール402)は、スタートロケーションからしきい値距離内の1つまたは複数のポテンシャル要求者端末を決定することができる。
【0095】
動作530に関連して記載したように、ポテンシャル要求者端末は、ポテンシャルサービスオーダスタートロケーションから、しきい値距離内に位置するサービス要求者端末に言及することができ、所定期間に別のポテンシャルサービスオーダを開始する。O2Oサービスシステム100において、サービス要求者端末130は、連続的にまたは周期的に、ポテンシャル要求者端末に関連した情報(例えば、測位情報および/または要求情報)を、ネットワーク120を介してサーバ110に送信することができる。O2Oサービスシステム100内のサービス要求者端末130の、すべてまたは一部の受信した情報に基づいて、サーバ110(例えば、処理エンジン112A)は、サービス要求者端末130の、すべてまたは一部の中でポテンシャル要求者端末(複数の場合もある)を決定することができる。
【0096】
単なる例示として、サービス要求者端末130に関して、処理エンジン112Aは、サービス要求者端末130が、スタートロケーションからしきい値距離内に位置するかどうかを判断することができる。サービス要求者端末130が、スタートロケーションから、しきい値距離内に位置するとの判断に応答して、処理エンジン112Aは、さらに、サービス要求者端末が、所定期間にポテンシャルサービスオーダを開始するかどうかをさらに判断することができる。サービス要求者端末130が、所定期間にポテンシャルサービスオーダを開始するとの判断に応答して、サービス要求者端末130は、ポテンシャル要求者端末(複数の場合もある)の1つとして指定することができる。
【0097】
ステップ630において、処理エンジン112A(例えば、決定モジュール402)は、候補サービスプロバイダ(複数の場合もある)を1つまたは複数のポテンシャル要求者端末およびターゲット要求者端末に事前割当することができる。
【0098】
いくつかの実施形態において、事前割当は、各候補サービスプロバイダから各ポテンシャル要求者端末、またはターゲット要求者端末までの距離、各候補サービスプロバイダから各ポテンシャル要求者端末、またはターゲット要求者端末により開始されるポテンシャルサービスオーダのスタートロケーションまでの距離、各候補サービスプロバイダが、各ポテンシャル要求者端末、またはターゲット要求者端末に到達するための推定時間、各候補サービスプロバイダが、各ポテンシャル要求者端末またはターゲット要求者端末により開始されるポテンシャルサービスオーダのスタートロケーションに到達するまでの推定時間、各ポテンシャル要求者端末とターゲット要求者端末の要求者の嗜好など、またはそれらの任意の組合せに基づいて実行することができる。単なる例として、事前割当は、各候補サービスプロバイダから各ポテンシャル要求者端末、またはターゲット要求者端末までの距離に基づいて実行することができる。候補サービスプロバイダと、ポテンシャルまたはターゲット要求者端末との間の距離は、直線距離またはそれらの間のルート距離であり得る。いくつかの実施形態において、候補サービスプロバイダは、候補サービスプロバイダに最も近い、ポテンシャルまたはターゲット要求者端末に割当てることができる。
【0099】
ステップ640において、処理エンジン112A(例えば、決定モジュール402)は、事前割当結果に基づいて、各候補サービスプロバイダが、ポテンシャルサービスオーダのターゲットサービスプロバイダになる可能性を判断することができる。
【0100】
いくつかの実施形態において、決定モジュール402は、候補サービスプロバイダが事前割当されるサービス要求者端末に従う、候補サービスプロバイダに対する可能性を割り当てることができる。例えば、ポテンシャル要求者端末に事前割当される候補サービスプロバイダAの場合、対応する可能性は、第1の値として設定することができる。ターゲット要求者端末に事前割当される候補サービスプロバイダBの場合、対応する可能性は、第2の値として設定することができる。第1の値は、第2の値よりも小さくてもよく、BがAよりもターゲット要求者端末になる可能性がより高いことを示す。いくつかの実施形態において、ポテンシャルサービス要求者端末に事前割当される、異なる候補サービスプロバイダに割り当てられた第1の値は、同じであってもよいし、異なっていてもよい。ターゲット要求者端末に事前割当された異なる候補サービスプロバイダに割り当てられた第2の値は、同じであってもよいし、異なっていてもよい。ターゲット要求者端末に事前割当てされた候補サービスプロバイダは、ターゲット要求者端末により開始されるポテンシャルサービスオーダのスタートロケーションに対するそれらの距離に応じて、可能性の別の第2の値を割り当てることができる。
【0101】
いくつかの実施形態において、決定モジュール402は、事前割当結果、並びに可能性に影響を与える可能性がある、1つまたは複数の他のファクタ、例えば、ポテンシャルサービスオーダのスタートロケーションおよび/または目的地周辺エリアの交通ルールおよび道路交通法、サービス領域、サービス時間、運転方向、および/または候補サービスプロバイダの受注率等、またはそれらの任意の組合せに従って、各候補サービスプロバイダに対応する可能性を決定することができる。例えば、候補サービスプロバイダが、ターゲット要求者端末に事前割当されるが、ポテンシャルサービスオーダの目的地が、候補サービスプロバイダのサービス領域外である場合、決定モジュール402は、候補サービスプロバイダの可能性を0として決定することができる。他の例として、候補サービスプロバイダが、ターゲット要求者端末に事前割当され、ポテンシャルサービスオーダの目的地が、候補サービスプロバイダの運転方向に沿っている場合、決定モジュール402は、候補サービスプロバイダの可能性を第2の値よりも高く設定することができる。さらに他の例として、候補サービスプロバイダが、ターゲット要求者端末に事前割当されるが、候補サービスプロバイダの受注率が低い場合、決定モジュール402は、候補サービスプロバイダの可能性を、第2の値よりも低く設定することができる。
【0102】
プロセス600の上述した記述は、例示目的のために提供され、この開示の範囲を限定することを意図したものではないことに留意する必要がある。当業者には、上述した方法およびシステムのアプリケーションの形態と詳細における種々の変形および変更は、この開示における原理から逸脱することなく生じさせることができる。しかしながら、これらの変形および変更はまた、この開示の範囲内である。例えば、動作610と620は、動作610の前に実行することができる。他の例として、動作610において、候補サービスプロバイダ(複数の場合もある)を定義するためのしきい値距離は、動作620においてポテンシャルサービスオーダ(複数の場合もある)を定義するためのしきい値距離と異なっていてもよい。
【0103】
図7は、この開示のいくつかの実施形態に従う、ETAのトレーニングされたニューラルネットワークモデルを決定するための例示プロセスを例示するフローチャートである。プロセス700は、O2Oサービスシステム100により実行することができる。例えば、プロセス700は、ストレージデバイス160に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。いくつかの実施形態において、処理エンジン112Bは、命令のセットを実行することができ、したがって、O2Oサービスプラットフォームのプロセス700を実行するように指示されることができる。プラットフォームは、インターネットを介してO2Oサービスプロバイダと要求者を接続するインタネットベースプラットフォームであり得る。いくつかの実施形態において、ETAのトレーニングされたニューラルネットワークモデルを用いて、
図5に関連して記載したポテンシャルサービスオーダのETAを決定することができる。
【0104】
ステップ701において、処理エンジン112B(例えば、取得モジュール404)は、複数のサンプルポテンシャルサービスオーダに関連した第3の情報を取得することができる。サンプルポテンシャルサービスオーダに関連する第3の情報は、サンプルポテンシャルサービスオーダのサンプルスタートロケーションを含むことができる。
【0105】
サンプルポテンシャルサービスオーダは、完了した過去のポテンシャルサービスオーダであり得る。ここに使用されるように、過去のポテンシャルサービスオーダがサービス要求者により正式に出され、サービスプロバイダにより受け付けられた場合であって、サービスプロバイダが、サービス要求者にサービスするために、過去のポテンシャルサービスオーダのスタートロケーションに到着した場合、過去のポテンシャルサービスオーダは、完了したとみなすことができる。そのような過去のサービスオーダは、サービスプロバイダが、過去のポテンシャルサービスオーダのスタートロケーションに到着した、既知の実際の時間を有することができ、モデルトレーニングにおけるサンプルポテンシャルサービスオーダとして使用することができる。簡単のために、サービスプロバイダが、過去のポテンシャルサービスオーダのスタートロケーションに到着する時刻は、過去のポテンシャルサービスオーダの実際の到着時刻(ATA)と呼ぶことができる。
【0106】
第3の情報は、サンプルポテンシャルサービスオーダに関する任意の情報、例えば、時間情報、ロケーション情報、天気情報、交通情報、政策情報、ニュース情報、サービスオーダ情報、ユーザ情報等、またはそれらの任意の組合せを含むことができる。サンプルポテンシャルサービスオーダのサンプルスタートロケーションは、サンプルポテンシャルサービスオーダの要求者がO2Oサービスを所望するおよび/または必要とするロケーションを指すことができる。サンプルポテンシャルサービスオーダの第3の情報とサンプルスタートロケーションは、それぞれステップ510に関連して記載した、ポテンシャルサービスオーダの第1の情報とスタートロケーションと同様であり、それゆえそれらの記載を重複しない。
【0107】
ステップ702において、複数のサンプルポテンシャルサービスオーダの各々に関して、処理エンジン112B(例えば、取得モジュール404)は、対応するサンプルスタートロケーションから、サンプルしきい値距離内の1つまたは複数のサンプル候補サービスプロバイダに関する第4の情報を取得することができる。第4の情報の少なくとも一部は、1つまたは複数のサンプル候補サービスプロバイダの各々が、サンプルポテンシャルサービスオーダの、サンプルターゲットサービスプロバイダになるサンプル可能性を示すことができる。
【0108】
サンプルポテンシャルサービスオーダの、サンプル候補サービスプロバイダは、対応するサンプルスタートロケーションサンプルしきい値距離内にあり、サンプルポテンシャルサービスオーダを受け付ける任意のサービスプロバイダを受け付けるために利用可能な、あるいは利用可能になろうとしている任意のサービスプロバイダであり得る。サンプル候補サービスプロバイダに関する第4の情報は、これに限定されないが、サンプル候補サービスプロバイダの乗り物情報、キャパシティ情報、価格情報、サービス情報、ロケーション情報、性能情報、またはそれらの任意の組合せを含むことができる。サンプル候補サービスプロバイダおよび第4の情報は、それぞれ、ステップ520に関連して記載した、候補サービスプロバイダと第2の情報と同様であり、それらの記述は反復しない。サンプルしきい値距離は、任意の正の値、例えば、これらに限定されないが、50m、100mまたは1km等を有することができる。サンプルしきい値距離は、ストレージデバイス(例えば、ストレージデバイス160)に記憶されたデフォルトパラメータ、またはO2Oサービスシステム100のユーザにより設定された、パラメータであり得る。サンプル候補サービスプロバイダ(複数の場合もある)を定義するサンプルしきい値距離は、
図5の候補サービスプロバイダ(複数の場合もある)を定義するためのサンプルしきい値距離と同じか、または異ならせてもよい。
【0109】
ステップ703において、処理エンジン112B(例えば、取得モジュール404)は、予備ニューラルネットワークモデルを取得することができる。
【0110】
いくつかの実施形態において、予備ニューラルネットワークモデルは、O2Oサービスシステム100により決定された、あるいは異なる状況において調節可能なデフォルト設定(例えば、1つ以上の予備パラメータ)を有することができる。いくつかの実施形態において、予備ニューラルネットワークモデルは、これらに限定されないが、畳み込みニューラルネットワーク(CNN)モデル、人工ニューラルネットワーク(ANN)モデル、リカレントニューラルネットワーク(RNN)モデル、ディープトラスト(deep trust)ネットワークモデル、パーセプトロンニューラルネットワークモデル、スタックセルフコーディング(stack self-coding)ネットワークモデル、または任意の他の適切なニューラルネットワークモデルを含むことができる。
【0111】
いくつかの実施形態において、サンプルポテンシャルサービスオーダを用いて、ETAのトレーニングされたニューラルネットワークモデルを生成するために、サンプルポテンシャルサービスオーダの第1の部分と第2の部分を、サンプルポテンシャルサービスオーダから選択することができる。サンプルポテンシャルサービスオーダの第1の部分(簡単のために第1の部分と呼ぶ)は、予備ニューラルネットワークモデルをトレーニングする際に適用することができる。サンプルポテンシャルサービスオーダの第2の部分(簡単のために第2の部分と呼ぶ)は、トレーニングされた予備ニューラルネットワークモデルをテストする際に、適用することができる。第1の部分は、第1のパーセンテージ、例えば、サンプルポテンシャルサービスオーダの50%、60%、70%、80%、または90%であり得る。第2の部分は、第2のパーセンテージ、例えば、サンプルポテンシャルサービスオーダの50%、60%、70%、80%、または90%であり得る。第1および第2のパーセンテージは、同じかまたは異ならせることができる。第1の部分と第2の部分は、オーバラップしてもよいし、しなくてもよい。いくつかの実施形態において、第1の部分は、またトレーニングセットと呼ぶこともできるし、第2の部分は、また、テスティングセットと呼ぶこともできる。
【0112】
ステップ704において、第1の部分の各ポテンシャルサービスオーダに関して、処理エンジン112B(例えば、トレーニングモジュール405)は、サンプルポテンシャルサービスオーダの第3の情報と第4の情報を予備ニューラルネットワークモデルに入力することにより予測ETAを決定することができる。
【0113】
ステップ705において、第1の部分の各サンプルポテンシャルサービスオーダに関して、処理エンジン112B(例えば、取得モジュール404)は、サンプルポテンシャルサービスオーダのATAを取得することができる。いくつかの実施形態において、取得モジュール404は、ストレージデバイス(例えば、ストレージデバイス160、ストレージ390、または
図4に示されていないストレージモジュール)からのサンプルポテンシャルサービスオーダのATAを取得することができる。
【0114】
ステップ706において、処理エンジン112B(例えば、トレーニングモジュール405)は、サンプルポテンシャルサービスオーダの、第1の部分の予測ETAsとATAsに基づいて損失関数を決定することができる。損失関数は、予備ニューラルネットワークモデルの精度を示すことができる。いくつかの実施形態において、トレーニングモジュール405は、第1の部分の予測ETAsとATAsの間の差分に基づいて、損失関数を決定することができる。いくつかの実施形態において、サンプルポテンシャルサービスオーダの予測ETAとATAの差分は、例えば、平均絶対%誤差(MAPE)、平均二乗誤差(MSE)、二乗平均平方根誤差(RMSE)等、またはそれらの任意の組合せに基づいて決定することができる。
【0115】
ステップ707において、処理エンジン112B(例えば、トレーニングモジュール405)は、損失関数(例えば、第1の部分の予測ETAsとATAsとの間の差分)がトレーニングしきい値未満かどうかを判断することができる。トレーニングしきい値は、O2Oサービスシステム100におけるデフォルト設定であり得るか、または異なる状況において調節可能である。
【0116】
損失関数の値がトレーニングしきい値未満であるとの判断に応答して、処理エンジン112Bは、予備モデルをトレーニングされた予備モデルとして指定することができプロセス700乃至708を実行することができる。
【0117】
他方、いくつかの実施形態において、損失関数の値がトレーニングしきい値以上であるとの判断に応答して、処理エンジン112Bは、プロセス700を実行し、ステップ703に戻って、損失関数がトレーニングしきい値未満になるまで、予備ニューラルネットワークモデルを更新することができる。例えば、処理エンジン112Bは複数の予備パラメータ(例えば、モデルトレーニングに使用される情報に対応する重み)を更新することができる。さらに、いくつかの実施形態において、処理エンジン112Bが更新されたパラメータ下で、損失関数の値がトレーニングしきい値未満であると判断した場合、処理エンジン112Bは、更新されたニューラルネットワークモデルを、トレーニングされた予備ニューラルネットワークモデルとして指定することができ、ステップ708のプロセスを実行することができる。他方、処理エンジン112Bが更新されたパラメータの下で、損失関数の値が、トレーニングしきい値以上であると判断した場合、処理エンジン112Bは、依然としてプロセス700を実行してステップ703に戻りパラメータを、さらに更新することができる。動作703乃至707の反復は、処理エンジン112Bが、新しく更新されたパラメータの下で、損失関数の値が、トレーニングしきい値未であると判断するまで継続することができ、処理エンジン112Bは、プロセス700乃至708を実行することができる。
【0118】
ステップ708において、処理エンジン112(例えば、テストモジュール406)は、サンプルポテンシャルサービスオーダの第2の部分に対応する第3の情報と第4の情報に基づいて、トレーニングされた予備ニューラルネットワークモデルのテストパラメータを決定することができる。テストパラメータは、トレーニングされた予備ニューラルネットワークモデルの精度をテストするために使用することができる。いくつかの実施形態において、テストパラメータは、これらに限定されないが、精度、再現率(recall)、Fスコア、混同行列(confusion matrix)、受信者動作特性(ROC)、曲線下面積(AUC)、分散などを含むことができる。いくつかの実施形態において、テストパラメータは、第2の部分のATAsとETAsとの間の差分に基づいて決定することができる。第2の部分のATAsとETAsは、第1の部分のそれと同様に決定または取得することができる。
【0119】
ステップ709において、処理エンジン112B(例えば、トレーニングモジュール405)は、テストパラメータがテストしきい値未満であるかどうか判断することができる。テストしきい値は、O2Oサービスシステム100のデフォルト設定であり得るか、または異なる状況において調節可能である。
【0120】
ステップ710において、テストパラメータがテストしきい値未満であるとの判断に応答して、処理エンジン112Bは、トレーニングされた予備ニューラルネットワークモデルを、ETAのトレーニングされたニューラルネットワークモデルとして指定することができる。いくつかの実施形態において、処理エンジン112Bは、構造化データの形態でストレージ媒体(例えば、ストレージデバイス160)にトレーニングされたニューラルネットワークモデルをセーブすることができる。トレーニングされたニューラルネットワークモデルの構造化データは、Bツリーまたはハッシュテーブルに基づいて処理エンジン112Bにより構築または検索することができる。いくつかの実施形態において、構造化データは、データライブラリの形態でストレージデバイスに記憶またはセーブすることができる。
【0121】
他方、いくつかの実施形態において、テストパラメータが、しきい値未満でないとの判断に応答して、処理エンジン112Bは、プロセス700にステップ702に戻って、テストパラメータがテストしきい値未満になるまで(トレーニングされた)予備ニューラルネットワークモデルを再トレーニングするように指示する。例えば、処理エンジン112Bは、さらに(トレーニングされた)予備ニューラルネットワークモデルのパラメータをさらに更新することができる。他の例として、処理エンジン112は、異なるタイプの予備ニューラルネットワークモデルを、トレーニングのために取得することができる。いくつかの実施形態において、テストパラメータが、テストしきい値未満でないとの判断に応答して、処理エンジン112Bは、プロセス700に、ステップ704に戻って、動作704から707に、サンプルポテンシャルサービスオーダの他の再取得した、第1の部分を用いて(更新された)予備ニューラルネットワークモデルをトレーニングするように指示することができる。
【0122】
動作703乃至707の反復は、処理エンジン112Bが第1の部分(または再取得した第1の部分)に基づく損失関数が、トレーニングされたしきい値未満であると判断するまで継続することができ、処理エンジン112Bは、プロセス700乃至708を指示することができる。ステップ708において、処理エンジン112Bは、オリジナルの第2の部分、または別の再取得した第2の部分に対応する第3および第4の情報に基づいて新しくトレーニングされた予備ニューラルネットワークモデルをテストするために、テストパラメータを決定することができる。
【0123】
動作703乃至709の反復は、処理エンジン112Bは、新しくトレーニングされた予備ニューラルネットワークモデルの下で、テストパラメータがテストしきい値未満であると決定するまで継続することができ、処理エンジン112Bは、新しくトレーニングされた予備ニューラルネットワークモデルを、トレーニングされたETAのニューラルネットワークモデルとして指定することができる。
【0124】
プロセス700の上述した記述は、単に、例示目的のために提供され、この開示の範囲を制限することを意図したものではないことに留意する必要がある。当業者には、複数の変形および変更を、この開示の教示の下で行うことができる。しかしながら、これらの変形および変更は、この開示の範囲から逸脱しない。いくつかの実施形態において、1つまたは複数の動作は、1つの動作に統合することができる。例えば、動作704乃至707は、処理エンジン112B(例えば、トレーニングモジュール405)がサンプルポテンシャルサービスオーダの第1の部分に対応する第3および第4の情報を用いて、予備ニューラルネットワークモデルをトレーニングする1つの動作に統合することができる。他の例として、動作708と709は、処理エンジン112B(例えば、テストモジュール406)がテストパラメータを決定することにより、サンプルポテンシャルサービスオーダの第2の部分に対応する第3および第4の情報を用いてトレーニングされた、予備ニューラルネットワークモデルをテストすることができる。いくつかの実施形態において、プロセス700における動作の順番は変更することができる。例えば、動作701乃至703は、同時に、または任意の順番で実行することができる。他の例として、動作704と705は、動作時にまたは任意の順番で実行することができる。
【0125】
いくつかの実施形態において、1つ又は複数のさらなる動作は、追加することができ、および/または、上述した1つまたは複数の動作は、省略することができる。例えば、ETAのトレーニングされたニューラルネットワークモデルは、さらに動作710の後で評価することができる。他の例として、動作704の前に、サンプルポテンシャルサービスオーダの各々に関して、処理エンジン112B(例えば、取得モジュール404)は、対応するサンプルスタートロケーションからサンプルしきい値距離内の、1つ又は複数のサンプルポテンシャル要求者に関連したサンプル需要情報を、取得することができる。サンプルポテンシャルサービスオーダに対応する、サンプルポテンシャル要求者端末とサンプル需要情報は、
図5に記載したポテンシャルサービスオーダに対応するポテンシャル要求者端末と、需要情報に類似し得る。処理エンジン112Bは、サンプルポテンシャルサービスオーダの第1の部分に対応する第3の情報、第4の情報およびサンプル需要情報により、予備ニューラルネットワークモデルをトレーニングすることができる。処理エンジン112Bは、サンプルポテンシャルサービスオーダの第2の部分に対応する第3の情報、第4の情報および需要情報を用いてトレーニングされた、予備ニューラルネットワークモデルをテストすることもできる。いくつかの実施形態において、動作708と709は、省略することができる。トレーニングモジュール405は、サンプルポテンシャルサービスオーダを用いて予備ニューラルネットワークモデルをトレーニングすることができ、トレーニングされた予備ニューラルネットワークモデルは、ETAのトレーニングされたニューラルネットワークモデルとして指定することができる。
【0126】
以上基本的な概念について記載したが、当業者には、この詳細な記述を読んだ後で、上述の詳細な開示は、例示のためだけに提供され限定するものではないことが明白であり得る。本明細書では明示的に述べられていないが、様々な変更、改善、および修正が行われる可能性があり、当業者を対象とする。これらの変更、改良、および修正は、本開示によって示唆されることが意図されており、本開示の例示的な実施形態の精神および範囲内にある。
【0127】
さらに、本開示の実施形態を説明するために特定の用語が使用されている。例えば、「一実施形態」、「実施形態」および/または「いくつかの実施形態」という用語は、実施形態に関連して説明される特定の特徴、構造または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」、「一実施形態」、または「代替実施形態」への2つ以上の言及は、必ずしもすべてが同じ実施形態を指しているわけではないことを理解されたい。さらに、特定の特徴、構造、または特性は、本開示の1つまたは複数の実施形態において適切であるように組み合わせることができる。
【0128】
さらに、当業者には理解されるであろうが、本開示の態様は、新規かつ有用なプロセス、機械、製造、または物質の組成、または任意の新しいかつ有用な改良を含む、いくつかの特許可能なクラス、またはコンテキストのいずれかで、本明細書で図示および説明され得る。たがって、本開示の態様は、完全にハードウェア、完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書ではすべて「ブロック」、「モジュール」、「エンジン」、「ユニット」、「コンポーネント」、または「システム」と総称されるソフトウェアおよびハードウェアインプリメンテーションの組み合わせでインプリメントされ得る。さらに、本開示の態様は、コンピュータ可読プログラムコードが、その上に実施される1つまたは複数のコンピュータ可読媒体で実施されるコンピュータプログラム製品の形をとることができる。
【0129】
コンピュータ可読信号媒体は、たとえばベースバンド内または搬送波の一部として、コンピュータ可読プログラムコードがその中に具体化された伝搬データ信号を含むことができる。そのような伝播信号は、電磁、光学など、またはそれらの任意の適切な組み合わせを含む、様々な形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを通信、伝播、または移送することができる任意のコンピュータ可読媒体であり得る。コンピュータ可読信号媒体上で具現化されたプログラムコードは、無線、有線、光ファイバーケーブル、RFなど、または前述の任意の適切な組み合わせを含む、任意の適切な媒体を使用して送信され得る。
【0130】
本開示の態様の動作を実行するためのコンピュータプログラムコードは、Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C ++、C#などのオブジェクト指向プログラミング言語 VB、 NET、Pythonなど、「C」プログラミング言語、Visual Basic、Fortran 1703、Perl、COBOL 1702、PHP、ABAPなどの従来の手続き型プログラミング言語、Python、Ruby、Groovyなどの動的プログラミング言語、またはその他のプログラミング 言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、完全にユーザのコンピュータで、一部はユーザのコンピュータで、スタンドアロンソフトウェアパッケージとして、一部はユーザのコンピュータで、一部はリモートコンピュータで、または完全にリモートコンピュータまたはサーバで実行することができる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、外部コンピュータ(たとえば、インターネット経由でインターネットサービスプロバイダーを使用して)、クラウドコンピューティング環境で、またはサービスとしてのソフトウェア(SaaS)などのサービスとして提供することができる。
【0131】
さらに、処理要素またはシーケンスの列挙された順序、または数字、文字、または他の指定の使用は、したがって、請求されたプロセスおよび方法を、請求項で指定される場合を除いて、任意の順序に限定することを意図しない。上記の開示は、現在開示の様々な有用な実施形態であると考えられるものを様々な例を通して説明しているが、そのような詳細は単にその目的のためであり、添付の特許請求の範囲は、開示された実施形態に限定されないことを理解されたい。 しかし、逆に、開示された実施形態の精神および範囲内にある修正および同等の配置をカバーすることを意図している。たとえば、上記のさまざまなコンポーネントのインプリメンテーションは、ハードウェアデバイスでインプリメントされるが、ソフトウェアのみのソリューション、たとえば既存のサーバ、またはモバイルデバイスへのインストールとしてインプリメントされる場合もある。
【0132】
同様に、本開示の実施形態の前述の説明では、様々な特徴が、単一の実施形態、図、またはその説明にまとめられることがあり、開示を簡素化して、1つまたは複数のさまざまな実施形態の理解を助けることを目的としている。しかしながら、この開示の方法は、請求される主題が各請求項で明示的に列挙されるよりも、多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、請求される主題は、前述の単一の開示された実施形態のすべての特徴より少ない場合がある。