(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0021】
以下の説明は、いかなる当業者でも本開示を製作および使用することを可能にするために提示され、特定の適用例およびそれの要件の文脈において与えられる。開示される実施形態への様々な変更は当業者には容易に明らかになり、本明細書で定義された一般原理は、本開示の趣旨および範囲から逸脱することなく他の実施形態および適用例に適用され得る。したがって、本開示は、図示の実施形態に限定されず、特許請求の範囲に一致する最も広い範囲を与えられるべきである。
【0022】
本明細書で使用される用語は、特定の例示的な実施形態について説明するためのものにすぎず、限定することを意図するものではない。本明細書で使用される単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとし得る。さらに、本開示で使用される「備える(comprises)」、「備える(comprising)」、「含む(includes)」、および/または「含む(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことを理解されよう。
【0023】
それらのすべてが本明細書の一部を形成する(1つまたは複数の)添付の図面を参照しながら以下の説明を考慮すれば、本開示のこれらおよび他の特徴および特性、ならびに動作の方法および構造の関係する要素の機能および部分の組合せおよび製造の経済性がより明らかになり得る。ただし、(1つまたは複数の)図面は、例示および説明のためのものにすぎず、本開示の範囲を限定するものではないことを明確に理解されたい。図面は一定の縮尺でないことを理解されたい。
【0024】
本開示において使用されるフローチャートは、システムが、本開示のいくつかの実施形態に従って実装する動作を示す。フローチャートの動作は、順不同で実装され得ることを明確に理解されたい。逆に、動作は、逆の順序でまたは同時に実装され得る。その上、1つまたは複数の他の動作が、フローチャートに追加され得る。1つまたは複数の動作が、フローチャートから削除され得る。
【0025】
その上、本開示で開示されるシステムおよび方法は、主に、推定された到着時間を決定することに関して説明されるが、これは例示的な一実施形態にすぎないことも理解されたい。本開示のシステムまたは方法は、任意の他の種類のオンデマンド・サービスに適用され得る。たとえば、本開示のシステムまたは方法は、陸地、海洋、航空宇宙など、またはそれらの任意の組合せを含む、異なる輸送システムに適用され得る。輸送システムの車両は、タクシー、自家用車、ヒッチ(hitch)、バス、列車、超特急列車、高速鉄道、地下鉄、船舶、航空機、宇宙船、熱気球、無人操作車両など、またはそれらの任意の組合せを含み得る。輸送システムは、管理および/または分配を適用する任意の輸送システム、たとえば、至急便を送信および/または受信するためのシステムをも含み得る。本開示のシステムまたは方法の適用シナリオは、ウェブ・ページ、ブラウザのプラグイン、クライアント端末、カスタム・システム、内部分析システム、人工知能ロボットなど、またはそれらの任意の組合せを含み得る。
【0026】
本開示における「乗客」、「要求者」、「サービス要求者」、および「顧客」という用語は、サービスを要求またはオーダーし得る、個人、エンティティまたはツールを指すために互換的に使用される。また、本開示における「ドライバ」、「提供者」、「サービス提供者」、および「供給者」という用語は、サービスを提供するか、またはサービスの提供を容易にし得る、個人、エンティティ、またはツールを指すために互換的に使用される。本開示における「ユーザ」という用語は、サービスを要求するか、サービスをオーダーするか、サービスを提供するか、またはサービスの提供を容易にし得る、個人、エンティティ、またはツールを指し得る。たとえば、ユーザは、乗客、ドライバ、事業者など、またはそれらの任意の組合せであり得る。本開示では、「乗客」および「乗客端末」という用語は互換的に使用され得、「ドライバ」および「ドライバ端末」という用語は互換的に使用され得る。
【0027】
本開示における「サービス要求」という用語は、乗客、要求者、サービス要求者、顧客、ドライバ、提供者、サービス提供者、供給者など、またはそれらの任意の組合せによって開始した要求を指す。サービス要求は、乗客、要求者、サービス要求者、顧客、ドライバ、提供者、サービス提供者、または供給者のうちのいずれか1つによって受け入れられ得る。サービス要求は、有料または無料であり得る。
【0028】
本開示で使用される測位技術は、全地球測位システム(GPS)、グローバル・ナビゲーション衛星システム(GLONASS)、コンパス・ナビゲーション・システム(COMPASS)、Galileo測位システム、準天頂衛星システム(QZSS)、ワイヤレス・フィデリティ(WiFi)測位技術など、またはそれらの任意の組合せを含み得る。上記の測位技術のうちの1つまたは複数は、本開示で互換的に使用され得る。
【0029】
本開示の一態様は、トレーニングされたニューラル・ネットワーク・モデルに基づいて、オンデマンド・サービスのためのサービス要求に関連するETAを決定するためのオンライン・システムおよび方法を提供する。さらに、本システムおよび方法は、ETAを、サービス要求に関連する端末に送信し得る。本システムおよび方法は、複数の履歴サービス・オーダーを取得し、複数の履歴サービス・オーダーに基づいて、トレーニングされたニューラル・ネットワーク・モデルを決定し得る。たとえば、本システムおよび方法は、複数の履歴サービス・オーダーに対応する複数のサンプル画像を決定し、予備ニューラル・ネットワーク・モデルと複数のサンプル画像とに基づいて、トレーニングされたニューラル・ネットワーク・モデルを決定し得る。
【0030】
オンライン・タクシー配車などのオンライン・オンデマンド輸送サービスは、ポスト・インターネット時代にのみ根ざした新しい形式のサービスであることに留意されたい。オンライン・オンデマンド輸送サービスは、ポスト・インターネット時代にのみ生じ得る技術的解決策を、ユーザおよびサービス提供者に与える。プレ・インターネット時代では、ユーザが街路上でタクシーを呼ぶとき、タクシー要求および受入れは、乗客と、乗客を見た1人のタクシードライバとの間でのみ行われる。乗客が通話によってタクシーを呼ぶ場合、サービス要求および受入れは、乗客と1つのサービス提供者(たとえば、1つのタクシー会社またはエージェント)との間でのみ行われ得る。しかしながら、オンライン・タクシー配車は、サービスのユーザが、サービス要求を、ユーザから離れた非常に多くの個々のサービス提供者(たとえば、タクシー)にリアルタイムおよび自動分配することを可能にする。オンライン・タクシー配車は、複数のサービス提供者が、同時におよびリアルタイムでサービス要求に応答することをも可能にする。一方、現代の社会では、タクシー・サービスは、巨大なスケールの産業になった。オンライン・タクシー配車プラットフォームを介して、何百万人もの乗客が毎日タクシーに乗る。ただインターネットの助けによって、乗客のタクシー移動行動の行動を研究することが可能になり得る。したがって、乗客のオンライン・タクシー配車アクティビティを通したタクシー配車の予測も、ポスト・インターネット時代にのみ根ざした新しい形式のサービスである。
【0031】
図1は、本開示のいくつかの実施形態による、例示的なオンデマンド・サービス・システム100の概略図である。たとえば、オンデマンド・サービス・システム100は、タクシー配車、運転代行サービス、配送車両、カープール、バス・サービス、ドライバ雇用、およびシャトル・サービスなど、輸送サービスのためのオンライン輸送サービス・プラットフォームであり得る。オンデマンド・サービス・システム100は、サーバ110と、ネットワーク120と、要求者端末130と、提供者端末140と、ストレージ150とを含むオンライン・プラットフォームであり得る。サーバ110は処理エンジン112を含み得る。
【0032】
いくつかの実施形態では、サーバ110は、単一のサーバ、またはサーバ・グループであり得る。サーバ・グループは、集中型、または分散型であり得る(たとえば、サーバ110は、分散型システムであり得る)。いくつかの実施形態では、サーバ110は、ローカルまたはリモートであり得る。たとえば、サーバ110は、ネットワーク120を介して、要求者端末130、提供者端末140、および/またはストレージ150に記憶された情報および/またはデータにアクセスし得る。別の例として、サーバ110は、記憶された情報および/またはデータにアクセスするために、要求者端末130、提供者端末140、および/またはストレージ150を接続し得る。いくつかの実施形態では、サーバ110は、クラウド・プラットフォーム上に実装され得る。単に例として、クラウド・プラットフォームは、プライベート・クラウド、パブリック・クラウド、ハイブリッド・クラウド、コミュニティ・クラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、サーバ110は、本開示において
図2に示されている1つまたは複数の構成要素を有するコンピューティング・デバイス200上に実装され得る。
【0033】
いくつかの実施形態では、サーバ110は処理エンジン112を含み得る。処理エンジン112は、本開示で説明される1つまたは複数の機能を実施するためにサービス要求に関係する情報および/またはデータを処理し得る。たとえば、処理エンジン112は、トレーニングされたニューラル・ネットワーク・モデルに基づいて、オンデマンド・サービスのためのサービス要求に関連するETAを決定し得る。いくつかの実施形態では、処理エンジン112は、1つまたは複数の処理エンジン(たとえば、(1つまたは複数の)シングルコア処理エンジンまたは(1つまたは複数の)マルチコア・プロセッサ)を含み得る。単に例として、処理エンジン112は、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、特定用途向け命令セット・プロセッサ(ASIP)、グラフィックス処理ユニット(GPU)、物理処理ユニット(PPU)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル論理デバイス(PLD)、コントローラ、マイクロコントローラ・ユニット、縮小命令セット・コンピュータ(RISC)、マイクロプロセッサなど、またはそれらの任意の組合せなど、1つまたは複数のハードウェア・プロセッサを含み得る。
【0034】
ネットワーク120は、情報および/またはデータの交換を容易にし得る。いくつかの実施形態では、オンデマンド・サービス・システム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、提供者端末140、およびストレージ150)は、ネットワーク120を介してオンデマンド・サービス・システム100中の(1つまたは複数の)他の構成要素に情報および/またはデータを送信し得る。たとえば、サーバ110は、ネットワーク120を介して要求者端末130からサービス要求を受信し得る。いくつかの実施形態では、ネットワーク120は、任意のタイプの有線または無線・ネットワーク、あるいはそれらの組合せであり得る。単に例として、ネットワーク130は、ケーブル・ネットワーク、ワイヤライン・ネットワーク、光ファイバネットワーク、電気通信ネットワーク、イントラネット、インターネット、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、公衆電話交換網(PSTN)、Bluetooth(登録商標)ネットワーク、ZigBeeネットワーク、ニア・フィールド通信(NFC)ネットワークなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、ネットワーク120は、1つまたは複数のネットワーク・アクセス・ポイントを含み得る。たとえば、ネットワーク120は、基地局および/またはインターネット交換ポイント120−1、120−2、...などの有線または無線・ネットワーク・アクセス・ポイントを含み得、それらを通して、オンデマンド・サービス・システム100の1つまたは複数の構成要素がネットワーク120に接続されて、それらの間でデータおよび/または情報を交換し得る。
【0035】
いくつかの実施形態では、要求者が、要求者端末130のユーザであり得る。いくつかの実施形態では、要求者端末130のユーザは、要求者以外の誰かであり得る。たとえば、要求者端末130のユーザAが、ユーザBに対するサービス要求を送信するか、あるいはサーバ110からのサービスおよび/または情報もしくは命令を受信するために、要求者端末130を使用し得る。いくつかの実施形態では、提供者が、提供者端末140のユーザであり得る。いくつかの実施形態では、提供者端末140のユーザは、提供者以外の誰かであり得る。たとえば、提供者端末140のユーザCが、ユーザDに対するサービス要求、および/あるいはサーバ110からの情報または命令を受信するために、提供者端末140を使用し得る。いくつかの実施形態では、「要求者」および「要求者端末」は互換的に使用され得、「提供者」および「提供者端末」は互換的に使用され得る。
【0036】
いくつかの実施形態では、要求者端末130は、モバイル・デバイス130−1、タブレット・コンピュータ130−2、ラップトップ・コンピュータ130−3、自動車両中の組込みデバイス130−4など、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、モバイル・デバイス130−1は、スマート・ホーム・デバイス、ウェアラブル・デバイス、スマート・モバイル・デバイス、仮想現実デバイス、拡張現実デバイスなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、スマート・ホーム・デバイスは、スマート照明デバイス、インテリジェント電気装置の制御デバイス、スマート監視デバイス、スマート・テレビジョン、スマート・ビデオ・カメラ、インターホンなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、ウェアラブル・デバイスは、スマート・ブレスレット、スマート・フットギア、スマート・グラス、スマート・ヘルメット、スマート・ウォッチ、スマート衣類、スマート・バックパック、スマート・アクセサリなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、スマート・モバイル・デバイスは、スマートフォン、携帯情報端末(PDA)、ゲーム・デバイス、ナビゲーション・デバイス、ポイント・オブ・セール(POS)デバイスなど、またはそれらの任意の組合せを含み得る。いくつかの実施形態では、仮想現実デバイスおよび/または拡張現実デバイスは、仮想現実ヘルメット、仮想現実グラス、仮想現実パッチ、拡張現実ヘルメット、拡張現実グラス、拡張現実パッチなど、またはそれらの任意の組合せを含み得る。たとえば、仮想現実デバイスおよび/または拡張現実デバイスは、Google Glass(商標)、RiftCon(商標)、Fragments(商標)、Gear VR(商標)などを含み得る。いくつかの実施形態では、自動車両中の組込みデバイス130−4は、オンボード・コンピュータ、オンボード・テレビジョンなどを含み得る。いくつかの実施形態では、要求者端末130は、要求者および/または要求者端末130の位置を特定するための測位技術をもつデバイスであり得る。
【0037】
いくつかの実施形態では、提供者端末140は、要求者端末130と同様であるか、または要求者端末130と同じデバイスであり得る。いくつかの実施形態では、提供者端末140は、提供者および/または提供者端末140の位置を特定するための測位技術をもつデバイスであり得る。いくつかの実施形態では、要求者端末130および/または提供者端末140は、要求者、要求者端末130、提供者、および/または提供者端末140の位置を決定するために、別の測位デバイスと通信し得る。いくつかの実施形態では、要求者端末130および/または提供者端末140は、サーバ110に測位情報を送信し得る。
【0038】
ストレージ150は、データおよび/または命令を記憶し得る。いくつかの実施形態では、ストレージ150は、要求者端末130および/または提供者端末140から取得されたデータを記憶し得る。いくつかの実施形態では、ストレージ150は、サーバ110が、本開示で説明される例示的な方法を実行するか、またはそれらの方法を実施するために使用し得る、データおよび/または命令を記憶し得る。いくつかの実施形態では、ストレージ150は、大容量ストレージ、リムーバブル・ストレージ、揮発性読取りおよび書込みメモリ、読取り専用メモリ(ROM)など、またはそれらの任意の組合せを含み得る。例示的な大容量ストレージは、磁気ディスク、光ディスク、ソリッドステート・ドライブなどを含み得る。例示的なリムーバブル・ストレージは、フラッシュ・ドライブ、フロッピー・ディスク、光ディスク、メモリ・カード、ジップ・ディスク、磁気テープなどを含み得る。例示的な揮発性読取りおよび書込みメモリは、ランダム・アクセス・メモリ(RAM)を含み得る。例示的なRAMは、ダイナミックRAM(DRAM)、ダブル・データ・レート同期ダイナミックRAM(DDR SDRAM:double date rate synchronous dynamic RAM)、スタティックRAM(SRAM)、サイリスタRAM(T−RAM)、およびゼロ・キャパシタRAM(Z−RAM)などを含み得る。例示的なROMは、マスクROM(MROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクト・ディスクROM(CD−ROM)、およびデジタル多用途ディスクROMなどを含み得る。いくつかの実施形態では、ストレージ150は、クラウド・プラットフォーム上に実装され得る。単に例として、クラウド・プラットフォームは、プライベート・クラウド、パブリック・クラウド、ハイブリッド・クラウド、コミュニティ・クラウド、分散型クラウド、インタークラウド、マルチクラウドなど、またはそれらの任意の組合せを含み得る。
【0039】
いくつかの実施形態では、ストレージ150は、オンデマンド・サービス・システム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、提供者端末140)と通信するためにネットワーク120に接続され得る。オンデマンド・サービス・システム100中の1つまたは複数の構成要素は、ネットワーク120を介して、ストレージ150に記憶されたデータまたは命令にアクセスし得る。いくつかの実施形態では、ストレージ150は、オンデマンド・サービス・システム100中の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、提供者端末140)に直接接続されるか、またはそれらと直接通信し得る。いくつかの実施形態では、ストレージ150は、サーバ110の一部であり得る。
【0040】
いくつかの実施形態では、オンデマンド・サービス・システム100の1つまたは複数の構成要素(たとえば、サーバ110、要求者端末130、提供者端末140)は、ストレージ150にアクセスし得る。いくつかの実施形態では、オンデマンド・サービス・システム100の1つまたは複数の構成要素は、1つまたは複数の条件が満たされたとき、要求者、提供者、および/または公衆に関係する情報を読み取り、および/または変更し得る。たとえば、サーバ110は、サービスの後、1つまたは複数のユーザの情報を読み取り、および/または変更し得る。別の例として、提供者端末140は、要求者端末130からサービス要求を受信すると、要求者に関係する情報にアクセスし得るが、提供者端末140は、要求者の関連情報を変更しないことがある。
【0041】
いくつかの実施形態では、オンデマンド・サービス・システム100の1つまたは複数の構成要素の情報交換は、サービスを要求することを通して達成され得る。サービス要求の対象は任意のプロダクト(product)であり得る。いくつかの実施形態では、プロダクトは、有形プロダクトまたは無形プロダクトであり得る。有形プロダクトは、食品、薬品、日用品、化学製品、電気器具、衣類、車、家、贅沢品など、またはそれらの任意の組合せを含み得る。無形プロダクトは、サービス・プロダクト、金融プロダクト、知識プロダクト、インターネット・プロダクトなど、またはそれらの任意の組合せを含み得る。インターネット・プロダクトは、個々のホスト・プロダクト、ウェブ・プロダクト、モバイル・インターネット・プロダクト、商業ホスト・プロダクト、埋込みプロダクトなど、またはそれらの任意の組合せを含み得る。モバイル・インターネット・プロダクトは、モバイル端末のソフトウェア、プログラム、システムなど、またはそれらの任意の組合せにおいて使用され得る。モバイル端末は、タブレット・コンピュータ、ラップトップ・コンピュータ、モバイル・フォン、携帯情報端末(PDA)、スマート・ウォッチ、ポイント・オブ・セール(POS)デバイス、オンボード・コンピュータ、オンボード・テレビジョン、ウェアラブル・デバイスなど、またはそれらの任意の組合せを含み得る。たとえば、プロダクトは、コンピュータまたはモバイル・フォン上で使用される任意のソフトウェアおよび/またはアプリケーションであり得る。ソフトウェアおよび/またはアプリケーションは、社会的活動、ショッピング、輸送、エンターテインメント、学習、投資など、またはそれらの任意の組合せに関係し得る。いくつかの実施形態では、輸送に関係するソフトウェアおよび/またはアプリケーションは、移動ソフトウェアおよび/またはアプリケーション、車両スケジューリング・ソフトウェアおよび/またはアプリケーション、マッピング・ソフトウェアおよび/またはアプリケーションなどを含み得る。車両スケジューリング・ソフトウェアおよび/またはアプリケーションでは、車両は、馬、運搬車(carriage)、人力車(たとえば、手押し車、自転車、三輪車)、車(たとえば、タクシー、バス、自家用車)、列車、地下鉄、船舶、航空機(たとえば、飛行機、ヘリコプター、スペース・シャトル、ロケット、熱気球)など、またはそれらの任意の組合せを含み得る。
【0042】
図1に示されている適用シナリオは、例示の目的で与えられたものにすぎず、本開示の範囲を限定するものではないことに留意されたい。たとえば、オンデマンド・システム100は、ナビゲーション・システムとして使用され得る。ナビゲーション・システムは、ユーザ端末(たとえば、要求者端末130または提供者端末140)とサーバ(たとえば、サーバ110)とを含み得る。ユーザは、ユーザ端末を介して出発地、目的地、および/または出発時間を入力し得る。したがって、ナビゲーション・システムは、本開示で説明されるプロセスおよび/または方法に従って、出発地、目的地、および/または出発時間に基づいて、ETAを決定し得る。
【0043】
図2は、サーバ110、要求者端末130、および/または提供者端末140が、本開示のいくつかの実施形態に従ってその上に実装され得る、コンピューティング・デバイス200の例示的なハードウェアおよびソフトウェア構成要素を示す概略図である。たとえば、処理エンジン112は、コンピューティング・デバイス200上に実装され、本開示で開示される処理エンジン112の機能を実施するように構成され得る。
【0044】
コンピューティング・デバイス200は、汎用コンピュータまたは専用コンピュータであり得、その両方が、本開示のためのオンデマンド・システムを実装するために使用され得る。コンピューティング・デバイス200は、本明細書で説明されるオンデマンド・サービスの任意の構成要素を実装するために使用され得る。たとえば、処理エンジン112は、それのハードウェア、ソフトウェア・プログラム、ファームウェア、またはそれらの組合せを介して、コンピューティング・デバイス200上に実装され得る。便宜上、1つのそのようなコンピュータのみが示されているが、本明細書で説明されるオンデマンド・サービスに関係するコンピュータ機能は、処理負荷を分散させるためにいくつかの同様のプラットフォーム上で分散様式で実装され得る。
【0045】
コンピューティング・デバイス200は、たとえば、データ通信を容易にするためにそれに接続されたネットワークにおよびネットワークから接続されたCOMポート250を含み得る。コンピューティング・デバイス200は、プログラム命令を実行するために、1つまたは複数のプロセッサの形態の、プロセッサ(たとえば、プロセッサ220)をも含み得る。例示的なコンピューティング・デバイスは、様々なデータ・ファイルがコンピューティング・デバイスによって処理および/または送信されるために、内部通信バス210と、たとえば、ディスク270、および読取り専用メモリ(ROM)230、またはランダム・アクセス・メモリ(RAM)240を含む異なる形態のプログラム・ストレージおよびデータ・ストレージとを含み得る。例示的なコンピューティング・デバイスは、プロセッサ220によって実行されるべき、ROM230、RAM240、および/または他のタイプの非一時的ストレージ媒体に記憶されたプログラム命令をも含み得る。本開示の方法および/またはプロセスは、プログラム命令として実装され得る。コンピューティング・デバイス200は、コンピュータと他の構成要素との間の入出力をサポートする、I/O構成要素260をも含む。コンピューティング・デバイス200はまた、ネットワーク通信を介してプログラミングおよびデータを受信し得る。
【0046】
単に例示のために、1つのCPUおよび/またはプロセッサのみが
図2(FI.G 2)に示されている。複数のCPUおよび/またはプロセッサも企図され、したがって、本開示で説明されるように1つのCPUおよび/またはプロセッサによって実施される動作および/または方法のステップは、複数のCPUおよび/またはプロセッサによって一緒にまたは別個に実施されることもある。たとえば、本開示では、コンピューティング・デバイス200のCPUおよび/またはプロセッサがステップAとステップBの両方を実行する場合、ステップAおよびステップBはまた、コンピューティング・デバイス200において、2つの異なるCPUおよび/またはプロセッサによって一緒にまたは別個に実施され得る(たとえば、第1のプロセッサがステップAを実行し、第2のプロセッサがステップBを実行するか、または、第1のプロセッサと第2のプロセッサとがステップAおよびステップBを一緒に実行する)ことを理解されたい。
【0047】
図3は、本開示のいくつかの実施形態による、例示的な処理エンジン112を示すブロック図である。処理エンジン112は、取得モジュール302と、トレーニング・モジュール304と、決定モジュール306と、通信モジュール308とを含み得る。
【0048】
取得モジュール302は、サービス要求を取得するように構成され得る。取得モジュール302は、ネットワーク120を介して要求者端末130からサービス要求を取得し得る。サービス要求は、輸送サービス(たとえば、タクシー・サービス)についての要求であり得る。サービス要求は、サービスに関係する出発地、目的地、および/または出発時間を含み得る。いくつかの実施形態では、取得モジュール302は、サービス要求に関係する基準画像(たとえば、グレースケール画像)を決定し得る。サービス要求に関係する基準画像は、サービス要求に関係する地理的情報、交通情報、および/またはルート情報を示し得る。
【0049】
トレーニング・モジュール304は、サービス要求に関係するETAを決定するために使用され得るトレーニングされたニューラル・ネットワーク・モデルを取得または決定するように構成され得る。トレーニング・モジュール304は、複数の履歴サービス・オーダーに基づいて、トレーニングされたニューラル・ネットワーク・モデルを決定し得る。たとえば、トレーニング・モジュール304は、複数の履歴サービス・オーダーに関係する、ベース画像、複数の履歴特徴画像、および複数の履歴ルート・チャネルを決定し得る。トレーニング・モジュール304は、ベース画像と、複数の履歴特徴画像と、複数の履歴ルート・チャネルとに基づいて、複数のサンプル画像をさらに決定し得る。トレーニング・モジュール304は、予備ニューラル・ネットワーク・モデルを取得し、複数のサンプル画像に基づいて、予備ニューラル・ネットワーク・モデルをトレーニングし得る。トレーニングされたニューラル・ネットワーク・モデルは、決定モジュール306に送信され得るか、または本開示の他の場所で開示される任意のストレージ・デバイス(たとえば、ストレージ150)に記憶され得る。
【0050】
決定モジュール306は、トレーニングされたニューラル・ネットワーク・モデルに基づいて、サービス要求に関係するETAを決定するように構成され得る。取得モジュール302に関して説明されたように、決定モジュール306は、サービス要求に関係する基準画像と、トレーニングされたニューラル・ネットワーク・モデルとに基づいて、ETAを決定し得る。いくつかの実施形態では、取得モジュール302は、サービス要求を決定モジュール306に送信し得、決定モジュール306は、サービス要求に関係する基準画像を決定し得る。
【0051】
通信モジュール308は、表示されるべき、サービス要求に関係するETAを、要求者端末130および/または提供者端末140に送信するように構成され得る。いくつかの実施形態では、ETAは、ユーザ・インターフェース(図示せず)を介して、要求者端末130および/または提供者端末140上で表示され得る。いくつかの実施形態では、ETAは、たとえば、テキスト、画像、オーディオ、ビデオなどのフォーマットで表示され得る。いくつかの実施形態では、通信モジュール308は、好適な通信プロトコル(たとえば、ハイパーテキスト転送プロトコル(HTTP)、アドレス解決プロトコル(ARP)、動的ホスト構成プロトコル(DHCP)、ファイル転送プロトコル(FTP))を介して、要求者端末130および/または提供者端末140にETAを送信し得る。
【0052】
処理エンジン112中のモジュールは、有線接続または無線
接続を介して互いに接続されるか、または互いと通信し得る。有線接続は、メタル・ケーブル、光ケーブル、ハイブリッド・ケーブルなど、またはそれらの任意の組合せを含み得る。無線接続は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、Bluetooth、ZigBee、ニア・フィールド通信(NFC)など、またはそれらの任意の組合せを含み得る。モジュールのうちの2つまたはそれ以上が組み合わせられて、単一のモジュールになり得、モジュールのうちのいずれか1つが、2つまたはそれ以上のユニットに分割され得る。たとえば、取得モジュール302および決定モジュール306は、単一のモジュールとして組み合わせられ得、それらは両方とも、サービス要求を取得し、トレーニングされたニューラル・ネットワーク・モデルに基づいて、サービス要求に関係するETAを決定し得る。別の例として、処理エンジン112は、サービス要求、トレーニングされたニューラル・ネットワーク・モデル、ETA、および/またはサービス要求に関連する任意の情報を記憶するために使用されるストレージ・モジュール(図示せず)を含み得る。
【0053】
図4は、本開示のいくつかの実施形態による、サービス要求に関係するETAを決定するための例示的なプロセスを示すフローチャートである。プロセス400は、オンデマンド・サービス・システム100によって実行され得る。たとえば、プロセス400は、ストレージROM230またはRAM240に記憶された命令のセット(たとえば、アプリケーション)として実装され得る。プロセッサ220は、命令のセットを実行し得、命令を実行したとき、プロセッサ220は、プロセス400を実施するように構成され得る。以下で提示される図示されたプロセスの動作は、例示的であるものとする。いくつかの実施形態では、プロセス400は、説明されない1つまたは複数の追加の動作を用いて、および/または説明される動作のうちの1つまたは複数を用いないで達成され得る。さらに、
図4に示されており、以下で説明されるプロセスの動作の順序は限定されない。
【0054】
402において、処理エンジン112は、要求者端末130からサービス要求を取得し得る。サービス要求は、輸送サービス(たとえば、タクシー・サービス)についての要求であり得る。サービス要求は、出発地、目的地、出発時間などを含み得る。本明細書で使用される出発地は、一般に、サービス提供者が要求者をピック・アップし得るロケーションを指す。目的地は、一般に、サービス提供者が要求者を降ろし得るロケーションを指す。出発時間は、一般に、要求者が輸送サービスを使用することを望む時点を指す。
【0055】
サービス要求は、リアルタイム要求、アポイントメント要求、および/または1つまたは複数のタイプのサービスについての任意の他の要求を含み得る。本明細書で使用されるリアルタイム要求は、要求者が、現時点、または当業者にとって現時点に適度に近いと定義された時間において輸送サービスを使用することを望むことを示し得る。たとえば、要求は、定義された時間が1分、5分、10分、20分など、しきい値よりも短い場合、リアルタイム要求であり得る。アポイントメント要求は、要求者が事前に(たとえば、当業者にとって現時点から適度に遠いと定義された時間において)輸送サービスをスケジュールすることを望むことを示し得る。たとえば、要求は、定義された時間が20分、2時間、1日など、しきい値よりも長い場合、アポイントメント要求であり得る。いくつかの実施形態では、処理エンジン112は、時間しきい値に基づいて、リアルタイム要求またはアポイントメント要求を定義し得る。時間しきい値は、オンデマンド・サービス・システム100のデフォルト設定であり得るか、または異なる状況において調整可能であり得る。たとえば、交通ピーク期間では、時間しきい値は比較的小さくなり得る(たとえば、10分)。アイドル期間(たとえば、午前10:00〜12:00)では、時間しきい値は比較的大きくなり得る(たとえば、1時間)。
【0056】
404において、処理エンジン112は、サービス要求に関係する基準画像を決定し得る。サービス要求に関係する基準画像は、複数のピクセルを含むグレースケール画像であり得る。複数のピクセルは、0から255までの範囲内の複数のピクセル値に対応し得る。いくつかの実施形態では、処理エンジン112は、サービス要求に関係する基準情報に基づいて、基準画像を決定し得る。サービス要求に関係する基準情報は、サービス要求に関係する地理的情報、交通情報、および/またはルート情報を含み得る。
【0057】
406において、処理エンジン112は、トレーニングされたニューラル・ネットワーク・モデルを取得または決定し得る。いくつかの実施形態では、処理エンジン112は、複数の履歴サービス・オーダーに基づいて、予備ニューラル・ネットワーク・モデルをトレーニングすることによって、トレーニングされたニューラル・ネットワーク・モデルを決定し得る。たとえば、処理エンジン112は、複数の履歴サービス・オーダーに対応する複数のサンプル画像を決定し、複数のサンプル画像に基づいて、予備ニューラル・ネットワーク・モデルをさらにトレーニングし得る。
【0058】
いくつかの実施形態では、トレーニングされたニューラル・ネットワーク・モデルは、深層学習に関係する畳み込みニューラル・ネットワーク(CNN)モデルであり得る。CNNモデルは、
図7に示されている複数の処理層(たとえば、入力層、畳み込み層、プーリング層、全結合層、出力層)を含み得る。
【0059】
408において、処理エンジン112は、サービス要求に関係する基準画像と、トレーニングされたニューラル・ネットワーク・モデルとに基づいて、サービス要求に関係するETAを決定し得る。たとえば、処理エンジン112は、サービス要求に関係する基準画像を受信し、CNNモデルに基づいて、基準画像に対して畳み込みを実施し得る。処理エンジン112は、畳み込みに基づいて、サービス要求に関係するETAをさらに決定し得る。
【0060】
410において、処理エンジン112は、ネットワーク120を介して要求者端末130および/または提供者端末140にETAを送信し得る。いくつかの実施形態では、処理エンジン112は、本開示の他の場所で開示されるストレージ・デバイス(たとえば、ストレージ150)にETAを保存し得る。
【0061】
上記の説明は、例示の目的で与えられたものにすぎず、本開示の範囲を限定するものではないことに留意されたい。当業者の場合、本開示の教示の下で、複数の変形および変更が行われ得る。しかしながら、それらの変形および変更は、本開示の範囲から逸脱しない。たとえば、1つまたは複数の他の随意のステップ(たとえば、記憶ステップ)が、例示的なプロセス400中の他の場所に追加され得る。記憶ステップにおいて、処理エンジン112は、サービス要求、サービス要求に関係する基準画像、トレーニングされたニューラル・ネットワーク・モデル、および/またはETAを、本開示の他の場所で開示されるストレージ・デバイス(たとえば、ストレージ150)に記憶し得る。
【0062】
いくつかの実施形態では、プロセス400のステップ404は、サービス要求に関係する基準画像を決定するための
図5に示されている例示的なプロセス500に基づいて実施され得る。プロセス500は、オンデマンド・サービス・システム100によって実行され得る。たとえば、プロセス500は、ストレージROM230またはRAM240に記憶された命令のセット(たとえば、アプリケーション)として実装され得る。プロセッサ220は、命令のセットを実行し得、命令を実行したとき、プロセッサ220は、プロセス500を実施するように構成され得る。以下で提示される図示されたプロセスの動作は、例示的であるものとする。いくつかの実施形態では、プロセス500は、説明されない1つまたは複数の追加の動作を用いて、および/または説明される動作のうちの1つまたは複数を用いないで達成され得る。さらに、
図5に示されており、以下で説明されるプロセスの動作の順序は限定されない。
【0063】
502において、処理エンジン112は、サービス要求に関係するベース画像を取得し得る。ベース画像は、サービス要求に関係する地理的情報を示す画像であり得る。たとえば、サービス要求は、出発地と目的地とを含み得る。出発地は地域A(たとえば、都市A、都市Aの一部分)中にあり得、目的地は地域B(たとえば、都市B、都市Bの一部分)中にあり得る。地域Aは、地域Bと同じであるか、または地域Bと異なり得る。地域Aが地域Bと同じである場合、ベース画像は、その地域の地理的情報を示す画像であり得る。地域Aが地域Bと異なる場合、ベース画像は、地域Aと地域Bとの組合せの地理的情報を示す画像であり得る。便宜上、本開示では、地域Aと地域Bとは同じ地域(たとえば、北京、中国)を指し得る。地理的情報は、建築物(たとえば、学校、オフィス・ビル、市場)に関係する情報、道路または街路に関係する情報などを含み得る。建築物に関係する情報は、たとえば、建築物のロケーション、建築物の分布、建築物の密度を含み得る。道路または街路に関係する情報は、道路または街路の量、道路または街路の分布、道路または街路の密度、道路または街路の幅、道路または街路の長さなどを含み得る。
【0064】
いくつかの実施形態では、ベース画像は、2次元(2D)グレースケール画像であり得る。グレースケール画像は複数のピクセルを含み得る。複数のピクセルの各々は、0から255までの範囲内にあるグレー値を有し得る。グレー値は、対応するピクセルの輝度を示し得る。いくつかの実施形態では、処理エンジン112は、マップ・サービス提供者(たとえば、Google Map(商標)、Tencent Map(商標)、Baidu Map(商標))からベース画像を取得し得る。
【0065】
504において、処理エンジン112は、サービス要求に関係する特徴画像を決定し得る。特徴画像は、サービス要求に関係する交通情報を示し得る。交通情報は、交通速度、交通流、交通密度などを含み得る。処理エンジン112は、ストレージ150、マップ・サービス提供者(たとえば、Google Map(商標)、Tencent Map(商標)、Baidu Map(商標))、ならびに/あるいはサービス要求に関係する交通情報を提供することができる任意の他のデバイスおよび/またはサービス提供者から、交通情報を取得し得る。
【0066】
たとえば、リアルタイム要求を受信したことに応答して、処理エンジン112は、リアルタイム要求に基づいて、出発地Aおよび目的地Bを決定し得る。処理エンジン112は、出発地Aおよび/または目的地Bに関連する地域(たとえば、出発地Aおよび目的地Bがある都市)に関係するリアルタイム交通状態を取得するために、ストレージ150にアクセスし得る。
【0067】
別の例として、アポイントメント要求を受信したことに応答して、処理エンジン112は、アポイントメント要求に基づいて、出発地C、目的地D、および出発時間、次の月曜日の午後7:00を決定し得る。処理エンジン112は、最近の(1つまたは複数の)月曜日(たとえば、最近の2つの月曜日、最近の3つの月曜日、最近の4つの月曜日)の、出発地Cおよび/または目的地Dに関連する地域(たとえば、出発地Cおよび目的地Dがある都市)における、午後7:00頃の履歴交通情報を取得するために、ストレージ150にアクセスし得る。
【0068】
いくつかの実施形態では、特徴画像は複数のチャネルを含み得る。複数のチャネルの各々は、交通情報のタイプを含み得る。たとえば、特徴画像は、第1のチャネルと第2のチャネルとを含み得る。第1のチャネルは交通速度に対応し得、第2のチャネルは交通流に対応し得る。交通速度は、一般に、特定のロケーションにおける車両の平均速度(たとえば、30km/h、40km/h、50km/h)を指す。交通流は、一般に、単位当たり(たとえば、1時間当たり、1分当たり)の特定のロケーションを通過する車両の数を指す。
【0069】
いくつかの実施形態では、特徴画像はグレースケール画像であり得る。処理エンジン112は、交通情報を値範囲(たとえば、0から255までの値範囲)に正規化し得る。たとえば、第1のチャネルについて、処理エンジン112は、正規化アルゴリズムに従って、交通速度を値範囲に正規化し得る。正規化アルゴリズムは、最小最大正規化アルゴリズム、zスコア正規化アルゴリズムなど、またはそれらの組合せを含み得る。
【0070】
いくつかの実施形態では、特徴画像は、ベース画像の上にある層に指定され得る。特徴画像は、複数のピクセルを含む2Dグレースケール画像であり得る。特徴画像のサイズは、ベース画像のサイズと同じであり得る。したがって、特徴画像の複数のピクセルは、ベース画像の複数のピクセルに対応し得る。
【0071】
506において、処理エンジン112は、ベース画像と特徴画像とに基づいて、サービス要求に関係するルート・チャネルを決定し得る。いくつかの実施形態では、ルート・チャネルは、特徴画像の上にある層に指定され得る。いくつかの実施形態では、ルート・チャネルは、特徴画像上のチャネルに指定され得る。処理エンジン112は、サービス要求の出発地と目的地とに基づいて、推奨されたルートを決定し得る。推奨されたルートは、道路または街路の少なくとも一部分に沿ったルートであり得る。処理エンジン112は、推奨されたルートに対応する複数のピクセルを決定し、さらに、複数のピクセルの各々に値(たとえば−1、255)を割り当て得る。処理エンジン112は、推奨されたルートと、特徴画像上の割り当てられた値とに対応する複数のピクセルに基づいて、ルート・チャネルを決定し得る。いくつかの実施形態では、割り当てられた値は、(たとえば、−1から50までの、−1から100までの、150から255までの、200から255までの)値範囲内にあり得る。
【0072】
508において、処理エンジン112は、ベース画像と、特徴画像と、ルート・チャネルとに基づいて、サービス要求に関係する基準画像を決定し得る。処理エンジン112は、サービス要求に関係する基準画像として、ベース画像と、特徴画像と、ルート・チャネルとを組み合わせ得る。
【0073】
上記の説明は、例示の目的で与えられたものにすぎず、本開示の範囲を限定するものではないことに留意されたい。当業者の場合、本開示の教示の下で、複数の変形および変更が行われ得る。しかしながら、それらの変形および変更は、本開示の範囲から逸脱しない。たとえば、1つまたは複数の他の随意のステップ(たとえば、記憶ステップ)が、例示的なプロセス500中の他の場所に追加され得る。別の例として、ステップ502およびステップ504は、処理エンジン112がベース画像および特徴画像を両方とも決定し得る単一のステップとして組み合わせられ得る。
【0074】
図4に戻ると、いくつかの実施形態では、プロセス400のステップ406は、トレーニングされたニューラル・ネットワーク・モデルを決定するための
図6に示されている例示的なプロセス600に基づいて実施され得る。プロセス600は、オンデマンド・サービス・システム100によって実行され得る。たとえば、プロセス600は、ストレージROM230またはRAM240に記憶された命令のセット(たとえば、アプリケーション)として実装され得る。プロセッサ220は、命令のセットを実行し得、命令を実行したとき、プロセッサ220は、プロセス600を実施するように構成され得る。以下で提示される図示されたプロセスの動作は、例示的であるものとする。いくつかの実施形態では、プロセス600は、説明されない1つまたは複数の追加の動作を用いて、および/または説明される動作のうちの1つまたは複数を用いないで達成され得る。さらに、
図6に示されており、以下で説明されるプロセスの動作の順序は限定されない。
【0075】
602において、処理エンジン112は複数の履歴サービス・オーダーを取得し得る。いくつかの実施形態では、処理エンジン112は、ネットワーク120を介してストレージ150から複数の履歴サービス・オーダーを取得し得る。いくつかの実施形態では、処理エンジン112は、処理エンジン112中のストレージ・モジュール(図示せず)から複数の履歴サービス・オーダーを取得し得る。処理エンジン112は、期間(たとえば、過去1カ月間、過去2カ月間)内の複数の履歴サービス・オーダーを取得し得る。本明細書で使用される「履歴サービス・オーダー」という用語は、一般に、完了されたサービス要求を指す。たとえば、要求者は、サービス(たとえば、輸送サービス)についてのサービス要求をオンデマンド・サービス・システム100に送り得る。サービス提供者は、サービス要求を受け入れ、サービスを要求者に提供し、サービス要求が完了されたことを示し得る。オンデマンド・サービス・システム100は、履歴出発地、履歴目的地、履歴出発時間、(「実際の到着時間」とも呼ばれる)履歴到着時間などを含み得る履歴サービス・オーダーとして、このサービス要求をストレージ・デバイス(たとえば、ストレージ150)に保存し得る。
【0076】
604において、処理エンジン112は、複数の履歴サービス・オーダーに関係するベース画像を取得し得る。ステップ502に関して説明されたように、ベース画像は、複数の履歴サービス・オーダーの履歴出発地および/または履歴目的地がその内側にある地域の地理的情報を示す画像であり得る。いくつかの実施形態では、複数の履歴サービス・オーダーに関係するベース画像は、ステップ502に関して説明されたベース画像と同じであり得る。いくつかの実施形態では、地域の地理的情報は、新しい情報が利用可能である(たとえば、新しい建築物が新たに建設され得る)ときに更新され得る。この状況では、複数の履歴サービス・オーダーに関係するベース画像は、ステップ502に関して説明されたベース画像と異なり得る。地域の地理的情報は、特定の期間の間不変のままであり得、便宜上、本開示では、ステップ604およびステップ502に関して説明されるベース画像は、同じ画像を指し得ることに留意されたい。
【0077】
606において、処理エンジン112は、ベース画像に基づいて、複数の履歴サービス・オーダーに関係する複数の履歴特徴画像を決定し得る。複数の履歴サービス・オーダーの各々について、処理エンジン112は、履歴サービス・オーダーの各々に対応する履歴特徴画像を決定し得る。ステップ504に関して説明されたように、履歴特徴画像は、履歴サービス・オーダーに関係する履歴交通情報を含み得る。処理エンジン112は、ストレージ150、マップ・サービス提供者(たとえば、Google Map(商標)、Tencent Map(商標)、Baidu Map(商標))、ならびに/あるいは交通情報を提供し得る任意の他のデバイスおよび/またはサービスから、履歴交通情報を取得し得る。たとえば、特定の履歴サービス・オーダーについて、処理エンジン112は、特定の履歴サービス・オーダーに基づいて、出発地M、目的地N、出発時間T、到着時間T’を決定し得る。処理エンジン112は、出発地Mおよび/または目的地Nに関連する地域(たとえば、都市)に関係する、出発時間T、到着時間T’、または出発時間Tと到着時間T’との間の時点の履歴交通情報を取得するために、ストレージ150にアクセスし得る。
【0078】
ステップ504に関して説明されたように、複数の履歴特徴画像の各々は、複数のチャネル(たとえば、交通速度のためのチャネル、交通流のためのチャネル)を含み得る。処理エンジン112は、正規化アルゴリズムに基づいて、履歴交通情報を値範囲(たとえば、0から255までの値範囲)に正規化し得る。
【0079】
608において、処理エンジン112は、ベース画像と複数の履歴特徴画像とに基づいて、複数の履歴サービス・オーダーに関係する複数の履歴ルート・チャネルを決定し得る。ステップ506に関して説明されたように、複数の履歴サービス・オーダーの各々について、処理エンジン112は、履歴出発地から履歴目的地への履歴ルートを取得し得る。処理エンジン112は、値(たとえば−1、255)を履歴ルートに割り当て、さらに、対応する特徴画像上の履歴ルートに基づいて、履歴ルート・チャネルを生成し得る。
【0080】
610において、処理エンジン112は、ベース画像と、複数の履歴特徴画像と、複数の履歴ルート・チャネルとに基づいて、複数の履歴サービス・オーダーに関係する複数のサンプル画像を決定し得る。複数の履歴サービス・オーダーの各々について、処理エンジン112は、サンプル画像を決定し得る。処理エンジン112は、サンプル画像として、履歴サービス・オーダーに関係する、ベース画像と、対応する履歴特徴画像と、対応する履歴ルート・チャネルとを組み合わせ得る。
【0081】
612において、処理エンジン112は、複数の履歴サービス・オーダーの複数の実際の到着時間(ATA)を取得し得る。処理エンジン112は、ネットワーク120を介してストレージ150から複数のATAを取得し得る。複数の履歴サービス・オーダーの各々について、ATAは、サービス提供者が乗客を降ろした時点であり得る。
【0082】
処理エンジン112は、ノードA613に進み、
図6Bに示されているノードA613から開始するステップのうちの少なくともいくつかを実施し得る。
【0083】
614において、処理エンジン112は、予備ニューラル・ネットワーク・モデルを取得し得る。予備ニューラル・ネットワーク・モデルは、オンデマンド・サービス・システム100によるデフォルト設定を含み得るか、または異なる状況において調整可能であり得る。予備ニューラル・ネットワーク・モデルは、
図7に示されているCNNモデルであり得る。CNNモデルは、複数のパラメータ、たとえば、カーネルの数、カーネルのサイズ、処理層の数などを含み得る。(本明細書では「予備パラメータ」と呼ばれる)予備ニューラル・ネットワーク・モデルのパラメータは、オンデマンド・サービス・システム100によるデフォルト設定を含み得るか、または異なる状況において調整可能であり得る。
【0084】
616において、処理エンジン112は、予備ニューラル・ネットワーク・モデルと複数のサンプル画像とに基づいて、複数のサンプルETAを決定し得る。処理エンジン112は、複数のサンプル画像を予備ニューラル・ネットワーク・モデルに入力し、複数の予備パラメータに基づいて、複数のサンプルETAを決定し得る。
【0085】
618において、処理エンジン112は、複数のATAと複数のサンプルETAとに基づいて、損失関数を決定し得る。損失関数は、予備ニューラル・ネットワーク・モデルの精度を示し得る。いくつかの実施形態では、処理エンジン112は、複数のATAと複数のサンプルETAとの間の差分に基づいて、損失関数を決定し得る。
【0086】
620において、処理エンジン112は、損失関数の値(たとえば、複数のATAと複数のサンプルETAとの間の差分)がしきい値よりも小さいかどうかを決定し得る。しきい値は、オンデマンド・サービス・システム100によるデフォルト設定であり得るか、または異なる状況において調整可能であり得る。
【0087】
損失関数の値がしきい値よりも小さいという決定に応答して、処理エンジン112は、622において、予備ニューラル・ネットワーク・モデルをトレーニングされたニューラル・ネットワーク・モデルに指定し得る。一方、損失関数の値がしきい値よりも大きいかまたはそれに等しいという決定に応答して、処理エンジン112は、プロセス600を実行して614に戻り、損失関数の値がしきい値よりも小さくなるまで、予備ニューラル・ネットワーク・モデルを更新し得る。たとえば、処理エンジン112は、複数の予備パラメータ(たとえば、カーネルの数、カーネルのサイズ、処理層の数)を更新し得る。さらに、処理エンジン112が、更新されたパラメータの下で、損失関数の値がしきい値よりも小さいと決定した場合、処理エンジン112は、ステップ622において、更新された予備ニューラル・ネットワーク・モデルをトレーニングされたニューラル・ネットワーク・モデルに指定し得る。一方、処理エンジン112が、更新されたパラメータの下で、損失関数の値がしきい値よりも大きいかまたはそれに等しいと決定した場合、処理エンジン112は、プロセス600をなお実行して614に戻り、パラメータをさらに更新し得る。ステップ614からステップ620までの反復は、処理エンジン112が、新たに更新されたパラメータの下で、損失関数の値がしきい値よりも小さいと決定するまで継続でき、処理エンジン112は、更新された予備ニューラル・ネットワーク・モデルをトレーニングされたニューラル・ネットワーク・モデルに指定し得る。
【0088】
上記の説明は、例示の目的で与えられたものにすぎず、本開示の範囲を限定するものではないことに留意されたい。当業者の場合、本開示の教示の下で、複数の変形および変更が行われ得る。しかしながら、それらの変形および変更は、本開示の範囲から逸脱しない。たとえば、1つまたは複数の他の随意のステップ(たとえば、記憶ステップ)が、例示的なプロセス600中の他の場所に追加され得る。記憶ステップにおいて、処理エンジン112は、トレーニングされたニューラル・ネットワーク・モデルを、本開示の他の場所で開示されるストレージ・デバイス(たとえば、ストレージ150)に記憶し得る。
【0089】
図7は、本開示のいくつかの実施形態による、例示的なCNNモデル700を示す概略図である。CNNモデルは、入力層702と、畳み込み層704と、プーリング層706と、全結合層708と、出力層710とを含み得る。
【0090】
ステップ402およびステップ404に関して説明されたように、処理エンジン112は、サービス要求に関係する基準画像を決定し得る。サービス要求に関係する基準画像は、複数の要素を含むマトリックスとして表され得る。マトリックス中の複数の要素の各々は、基準画像のピクセル値に対応し得る。処理エンジン112は、入力層702を介してCNNモデルに基準画像を入力し得る。さらに、サービス要求に関係する基準画像は、畳み込み層704中で処理され得る。
【0091】
畳み込み層704は、複数のカーネル(たとえば、704a、704b、704c)を含み得る。いくつかの実施形態では、畳み込み層704中で、処理エンジン112は、サービス要求に関係する基準画像の特徴を抽出し得る。たとえば、複数のカーネルの各々は基準画像の一部分を受信し得、処理エンジン112は、基準画像の一部分に対して畳み込みを実施し、さらに、基準画像の一部分に対応する特徴を抽出し得る。特徴は、交通情報、地理的情報などに関係し得る。
【0092】
プーリング層706は、複数のプーリング・ノード(たとえば、706a、706b、706c)を含み得る。複数のプーリング・ノードは、データ処理の計算要件を削減し、データ処理の速度を増加させるために使用され得る。たとえば、処理エンジン112は、プーリング層706中のサービス要求に関係する基準画像に対応するマトリックスの空間サイズを削減し得る。
【0093】
全結合層708は、複数の結合されたノード(たとえば、708a、708b、708c、708d)を含み得る。
図7に示されているように、複数の結合されたノードは、複数のプーリング・ノードに結合され得る。全結合層708中で、処理エンジン112は、基準画像の特徴に基づいて、複数の結合されたノードに対応する複数のベクトルを決定し、さらに、複数の重み付け係数に従って複数のベクトルを評価し得る。いくつかの実施形態では、CNNモデルは複数の結合された層を含み得る。
【0094】
出力層710中で、処理エンジン112は、全結合層708中で取得された複数のベクトルおよび複数の重み付け係数に基づいて、サービス要求に関係するETAを決定し得る。
【0095】
CNNモデルの上記の説明は、例示の目的で与えられたものであり、本開示の範囲を限定するものではないことに留意されたい。当業者の場合、モジュールは、様々な方法で組み合わせられるか、またはサブシステムとして他のモジュールと接続され得る。本開示の教示の下で、様々な変形および変更が行われ得る。しかしながら、それらの変形および変更は、本開示の趣旨および範囲から逸脱しないことがある。たとえば、CNNモデルに関連する複数のパラメータ(たとえば、カーネルの数、カーネルのサイズ、層の数)は、異なる状況下で調整可能であり得る。
【0096】
ここまで基本概念を説明してきたが、この詳細な開示を読めば、上記の詳細な開示は例として提示されたものにすぎず、限定するものではないことが、当業者には十分に明らかであり得る。本明細書では明確に述べられないが、様々な改変、改善、および変更が行われ得、当業者に意図される。これらの改変、改善、および変更は、本開示によって示唆されるものであり、本開示の例示的な実施形態の趣旨および範囲内にある。
【0097】
その上、本開示の実施形態について説明するために、ある用語が使用された。たとえば、「一実施形態(one embodiment)」、「実施形態(an embodiment)」および/または「いくつかの実施形態(some embodiments)」という用語は、実施形態に関して説明された特定の特徴、構造または特性が、本開示の少なくとも1つの実施形態中に含まれることを意味する。したがって、本明細書の様々な部分における「実施形態」、「一実施形態」、または「代替実施形態(an alternative embodiment)」への2つまたはそれ以上の言及は、必ずしもすべてが、同じ実施形態に言及しているとは限らないことが強調され、そのことを了解されたい。さらに、それらの特定の特徴、構造、または特性は、本開示の1つまたは複数の実施形態において好適なものとして組み合わせられ得る。
【0098】
さらに、本開示の態様は、任意の新しく有用なプロセス、機械、プロダクト、または組成物、あるいはそれらの任意の新しく有用な改善を含むいくつかの特許性があるクラスまたはコンテキストのいずれかにおいて、本明細書で図示および説明され得ることが、当業者によって了解されよう。したがって、本開示の態様は、完全にハードウェア実装されるか、完全に(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)ソフトウェア実装されるか、またはソフトウェア実装とハードウェア実装とを組み合わせて実装され得、それらはすべて、本明細書では一般に「ブロック」、「モジュール」、「エンジン」、「ユニット」、「構成要素」、または「システム」と呼ばれることがある。さらに、本開示の態様は、コンピュータ可読プログラム・コードを具現した1つまたは複数のコンピュータ可読媒体中で具現されたコンピュータ・プログラム・プロダクトの形態をとり得る。
【0099】
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードがその中で具現された伝搬データ信号を、たとえば、ベースバンド内にまたは搬送波の一部として含み得る。そのような伝搬信号は、電磁信号、光信号など、またはそれらの任意の適切な組合せを含む様々な形態のいずれかをとり得る。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム、装置、またはデバイスによってあるいはそれらに関連して使用するためのプログラムを通信するか、伝搬するか、または搬送し得る、任意のコンピュータ可読ストレージ媒体であり得る。コンピュータ可読信号媒体上で具現されたプログラム・コードは、ワイヤレス、ワイヤライン、光ファイバー・ケーブル、RFなど、または前述の任意の好適な組合せを含む、任意の適切な媒体を使用して送信され得る。
【0100】
本開示の態様のための動作を行うためのコンピュータ・プログラム・コードは、Java(登録商標)、Scale、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:software as a service)などのサービスとして提供され得る。
【0101】
さらに、処理要素またはシーケンスの述べられた順序、あるいは数字、文字、または他の表示の使用は、したがって、特許請求の範囲において指定され得る場合を除いて、請求されるプロセスおよび方法をいかなる順序にも限定するものではない。上記の開示は、様々な例を通して、本開示の様々な有用な実施形態であると現在見なされているものを論じたが、そのような詳細は、単にその目的のためのものであることと、添付の特許請求の範囲は、開示された実施形態に限定されず、むしろ、開示された実施形態の趣旨および範囲内にある変更および等価な構成をカバーするものであることとを理解されたい。たとえば、上記の様々な構成要素の実装は、ハードウェア・デバイスで具現され得、それはまた、ソフトウェアのみの解決策、たとえば、既存のサーバまたはモバイル・デバイス上でのインストールとして実装され得る。
【0102】
同様に、本開示の実施形態の上記の説明では、様々な特徴が、様々な実施形態のうちの1つまたは複数の理解を助ける本開示を合理化する目的で、単一の実施形態、図、またはそれらの説明において一緒にグループ化されることがあることを了解されたい。しかしながら、本開示のこの方法は、請求される主題が、各請求項において明確に述べられているよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、請求される主題は、単一の上記の開示された実施形態のすべての特徴よりも少ないことがある。