本開示の実施形態に関係がある技術的解決策を例示するために、実施形態の説明で参照する図面について簡単な紹介を下記に提供する。明らかに、下記に記載する図面は、本開示のいくつかの実施形態でしかない。当業者は、創造的努力をさらにすることなく、これらの図面に従って本開示を他の類似のシナリオに適用してもよい。特に指定のない限り、または前後関係から明らかではない限り、図面内の同じ参照番号が同じ構造および動作を指す。
本開示および添付の特許請求の範囲で使用するとき、内容が他の方法で明確に指示されない限り、単数形「a」、「an」、および「the」は複数の指示物を含む。用語「comprises(備える)」、「comprising(備える)」、「includes(含む)」、および/または「including(含む)」は、本開示で使用するとき、言及するステップおよび要素の存在を明示するが、1つまたは複数の他の特徴および要素の存在または追加を除外しないことをさらに理解されたい。
本開示および特許請求の範囲で示すように、「システム」、「モジュール」、および/または「ユニット」などの用語は、構造の階層関係を示すためだけに使用され、厳密な意味を有しない。これらの用語を交換可能に使用してもよい、または他の言葉で置き換えてもよいことを理解されたい。
本開示は、本開示のいくつかの実施形態による、システム内のある種のモジュールをさまざまに参照するが、任意の数の異なるモジュールを使用し、クライアント端末および/またはサーバ上で走らせてもよい。モジュールは例示でしかなく、システムおよび方法の、異なる様態が、異なるモジュールおよびユニットを使用してもよい。
用語「モジュール」および/または「ユニット」は、本開示では論理回路、またはハードウェアもしくはファームウェアに記憶された1組のソフトウェア命令を指す。「モジュール」および/または「ユニット」を、ソフトウェアモジュールおよび/またはハードウェアモジュールにより実行することができる、または任意のコンピュータ可読非一時的媒体もしくは他の記憶装置に記憶することができる。いくつかの実施形態では、ソフトウェアモジュールを、実行可能プログラムにコンパイルし、接続してもよい。ソフトウェアモジュールは、自身または他のモジュールにより伝送される情報に応答してもよい、および/またはある種のイベントを検出した、または中断したときに、応答してもよい。コンピューティング機器(たとえば、プロセッサ210)上で動作することができるソフトウェアモジュールを、コンピュータ可読媒体(たとえば、記憶領域220)上に提供してもよく、コンピュータ可読媒体が、ディスク、デジタルディスク、フラッシュディスク、磁気ディスク、または任意の他の種類の有形媒体であってもよい、すなわち、ソフトウェアモジュールをデジタルダウンロード手法によって得てもよい(デジタルダウンロードはまた、実行前に圧縮解除される、または復号される必要がある、圧縮されたパッケージまたはインストールパッケージの形で記憶されたデータを含んでもよい)。ソフトウェアコードが、動作を実行するコンピューティング機器の記憶装置に一部または全部記憶され、コンピューティング機器の動作に適用されてもよい。ソフトウェア命令が、ファームウェア内に、たとえば、消去可能プログラム可能読出し専用メモリ(erasable programmable read only memory、EPROM)内に埋め込まれてもよい。明らかに、ハードウェアモジュールが、接続された論理ユニットを、たとえば、ゲート、トリガを含んでもよい、および/またはプログラム可能ユニットを、たとえば、プログラム可能ゲートアレイもしくはプロセッサを含んでもよい。本明細書に記載するモジュールまたはコンピューティング機器の機能が、好ましくはソフトウェアモジュールとして実装されてもよいが、ハードウェアまたはファームウェアの形で表現されてもよい。一般に、本明細書で参照するモジュールは、論理モジュールであり、特定の物理的形態またはメモリ制約条件により限定されない。モジュールおよび/またはユニットを、他のモジュールおよび/またはユニットと組み合わせてもよい、または一連のサブモジュールおよび/またはサブユニットに分割してもよい。
本開示では、本開示のいくつかの実施形態によるシステムにより遂行される動作を例示するために、フローチャートを使用する。先行する動作または後続の動作が、必ずしも正確に順に遂行されなくてもよいことを理解されたい。むしろ、さまざまなステップを逆の順序で、または同時に処理してもよい。さらに、これらの手順の中に他の動作を追加してもよい、またはこれらの手順から1つまたは複数のステップを取り除いてもよい。
本開示のいくつかの実施形態を、陸上輸送、海上輸送、航空輸送、宇宙輸送など、またはそれらの任意の組合せのうち1つまたは複数を含んでもよいが、それらに限定されない、異なる輸送システムに適用してもよい。たとえば、タクシー、特別車、ヒッチハイク、バス、列車、超特急列車、高速鉄道、地下鉄、船舶、飛行機、飛行船、熱気球、操縦者のいない車両、速達便受信/送信などの輸送システムが、管理および/または割当ての方法を使用する。本開示の異なる実施形態の適用シナリオが、ウェブページ、ブラウザ・プラグ・イン、クライアント、カスタムシステム、企業解析システム、人工知能ロボットなど、またはそれらの任意の組合せのうち1つまたは複数を含んでもよいが、それらに限定されない。本明細書で開示するシステムおよび方法の適用シナリオが、いくつかの実施例または実施形態にすぎないことを理解されたい。当業者が、創造的努力をさらにすることなく、これらの図面を他の適用シナリオに適用してもよい。たとえば、他の類似のサービスシステムに適用してもよい。
本開示に記載する「ユーザ」、「乗客」、「運転者」、「顧客」、「要求者」、「提供者」、「供給者」、「使用要求者」、「サービス要求者」、「サービスを要求する側」、「消費者」、「消費側」、「サービス提供者」、「サービスを提供する側」、「サーバ」、「サービスを提供する側」などの用語が、交換可能であり、サービスを必要とする、もしくはサービスを利用する、および/またはサービスを提供する際にサービスもしくは援助を提供する側を指し、人または道具である。本開示に記載する「ユーザ」が、サービスを必要とする、もしくはサービスを利用する側であってもよい、またはサービスを提供する際にサービスまたは援助を提供する側であってもよい。たとえば、ユーザが、運転者および乗客の任意の一方、または両方を指してもよい。本明細書に記載する「サービス要求」、「配車要求」、および「注文」が、交換可能である。サービスを必要とする、もしくは要求する側が、サービスリクエストを開始するものの役割を果たしてもよい、またはサービスを提供する際にサービスもしくは援助を提供する側が、サービスリクエストを開始するものの役割を果たしてもよい。同様に、サービスリクエストが、サービスを必要とする、もしくは要求する側により、またはサービスを提供する際にサービスもしくは援助を提供する側により、開始されてもよい。「サービスリクエスト」が、消費者とサービス提供者の両方により承認されたサービスリクエストであっても、サービス提供者および消費者の一方だけにより承認されたサービスリクエストであってもよい。「サービスリクエスト」が、有料サービスリクエストであっても、無料サービスリクエストであってもよい。
本開示で使用する測位技術が、全地球測位システム(global positioning system、GPS)、全地球航法衛星システム(global navigation satellite system、GLONASS)、コンパス航法システム(compass navigation system、COMPASS)、Galileo測位システム、準天頂衛星システム(quasi−zenith satellite system、QZSS)、基地局測位、およびWi−Fi測位技術など、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態で、GPS測位技術(たとえば、GPSモジュール、GPS座標、またはデータ点測位)の使用について例示するが、他の測位技術を選択してもよいことを認識されたい。
図1は、本開示のいくつかの実施形態による、輸送サービスシステムの代表的ネットワーク環境100の概略図である。輸送サービスシステムが、輸送サービスサーバ110(「サーバ110」と呼ぶ)、ネットワーク120、ユーザ機器130、およびデータベース140を含んでもよい。いくつかの実施形態では、サーバ110が、ユーザ機器130から現在の注文を得て、ユーザ機器に関連するユーザプロファイルを決定し、ユーザプロファイルに従って、現在の注文に関係がある情報を決定してもよい。いくつかの実施形態では、サーバ110が、事前設定された期間で、ユーザ機器130に関連する1つまたは複数の過去の注文を得て、1つまたは複数の過去の注文に基づき、ユーザ機器に関連するユーザプロファイルを決定してもよい。
いくつかの実施形態では、サーバ110が、サーバであっても、サーバグループであってもよい。サーバグループが、集中型であってもよい、たとえば、サーバグループがデータセンタであってもよい。サーバグループが分散型であってもよい、たとえば、サーバグループが分散システムであってもよい。サーバ110がローカルにあっても、遠隔にあってもよい。たとえば、サーバ110が、ネットワーク120を介してユーザ機器130および/またはデータベース140に記憶された情報にアクセスしてもよい。別の実施例として、サーバ110が、ユーザ機器130および/またはデータベース140に記憶された情報にアクセスするために、ユーザ機器130および/またはデータベース140に直接接続されてもよい。いくつかの実施形態では、サーバ110がクラウドプラットフォームであってもよい。たとえば、クラウドプラットフォームが、パブリッククラウド、プライベートクラウド、コミュニティクラウド、ハイブリッドクラウドなど、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、サーバ110が、図2に例示する1つまたは複数の構成要素を有するコンピューティングプラットフォームであってもよい。
ネットワーク120が、情報交換を提供するためのチャネルであってもよい。たとえば、サーバ110、ユーザ機器130、およびデータベース140が、ネットワーク120を介して情報を交換してもよい。いくつかの実施形態では、ネットワーク120が、単一ネットワークであっても、複数のネットワークの組合せであってもよい。たとえば、ネットワーク120が、ローカル・エリア・ネットワーク、広域ネットワーク、公衆網、プライベートネットワーク、無線ローカル・エリア・ネットワーク、仮想ネットワーク、メトロポリタン・エリア・ネットワーク、公衆交換電話網、Bluetooth(登録商標)ネットワーク、および近距離無線通信ネットワークなど、またはそれらの任意の組合せを含んでもよい。ネットワーク120が、サーバ110、ユーザ機器130、およびデータベース140がネットワーク120に接続し、ネットワーク120を介して情報を受信および伝送してもよい、複数のネットワーク・アクセス・ポイントを、たとえば、有線アクセスポイントもしくは無線アクセスポイント、基地局、またはネットワーク相互接続ポイントを含んでもよい。
本開示に記載する「ユーザ」は、サービスリクエストを必要とする、もしくは利用する側(たとえば、乗客)であってもよい、またはサービスを提供する際にサービスまたは援助を提供する側(たとえば、運転者)であってもよい。本開示では、「ユーザ」および「ユーザ機器」を交換可能に使用してもよい。ユーザはまた、ユーザ機器130を使用する人を含んでもよい。いくつかの実施形態では、人がユーザ自身ではなくてもよい。たとえば、ユーザ機器130を使用する人Aが、ユーザ機器130を使用して、サービスリクエストを伝送しても、サービスを受ける、または他の情報、もしくはユーザBのためにサーバ110により伝送される命令を受信してもよい。簡潔にするために、ユーザ機器130を使用する人を、本開示では単にユーザと呼ぶ場合がある。
いくつかの実施形態では、ユーザ機器130が、移動体機器130−1、タブレットコンピュータ130−2、ラップトップコンピュータ130−3、および車両に内蔵された機器130−4など、またはそれらの任意の組合せを含んでもよい。移動体機器130−1が、スマートホーム機器、ウェアラブル機器、インテリジェントな移動体機器、仮想現実機器、拡張現実感機器など、またはそれらの任意の組合せを含んでもよい。スマートホーム機器が、スマート照明機器、インテリジェントな電気器具の制御機器、スマート監視機器、スマートテレビ、スマート・ビデオ・カメラ、インターホンなど、またはそれらの任意の組合せを含んでもよい。ウェアラブル機器が、スマートブレスレット、スマート履物、スマートメガネ、スマートヘルメット、スマートヘッドバンド、スマート衣服、スマートバックパック、スマートアクセサリなど、またはそれらの任意の組合せを含んでもよい。インテリジェントな移動体機器が、スマートホン、携帯情報端末(personal digital assistance、PDA)、スマートウォッチ、ラップトップコンピュータ、タブレットコンピュータ、車両に内蔵された機器(カーピュータ(carputer)、車載テレビなど)、ゲーム機器、ナビゲーション機器、POS(point of sale)機器など、またはそれらの任意の組合せを含んでもよい。仮想現実機器および/または拡張現実感機器が、仮想現実ヘルメット、仮想現実メガネ、仮想現実パッチ、拡張現実感ヘルメット、拡張現実感メガネ、拡張現実感パッチなど、またはそれらの任意の組合せを含んでもよい。たとえば、グーグルグラス(Google Glass)、オキュラスリフト(Oculus Rift)、ホロレンズ(Hololens)、ギアVR(Gear VR)などを含んでもよい。車両に内蔵された機器130−4が、カーピュータなどであってもよい。いくつかの実施形態では、ユーザ機器130が、ユーザまたはユーザ機器130の位置を決めるための測位機能を有する機器であってもよい。いくつかの実施形態では、ユーザ機器130が、測位を遂行するために、他のポインティング機器と通信してもよい。いくつかの実施形態では、ユーザ機器130が、測位情報をサーバ110に伝送してもよい。
いくつかの実施形態では、データベース140が、一般に記憶機能を有する機器を指す場合がある。データベース140が、ユーザ機器130から収集したデータを記憶してもよい。データベース140が、サーバ110の動作中に発生したさまざまなデータを記憶してもよい。データベース140がローカルにあっても、遠隔にあってもよい。データベース140が、階層型データベース、ネットワークデータベース、リレーショナルデータベースなど、またはそれらの任意の組合せを含んでもよい。データベース140が、情報をデジタル化し、次いで、電子記憶装置、磁気記憶装置、または光記憶装置を使用して情報を記憶してもよい。データベース140が、プログラム、データなどの、複数の情報を記憶してもよい。データベース140が、電気エネルギーを用いて情報を記憶する機器、たとえば、ランダム・アクセス・メモリ(random access memory、RAM)、読出し専用メモリ(read only memory、ROM)などであってもよい。ランダム・アクセス・メモリが、10進計数管、セレクトロン管、遅延線メモリ、ウィリアムズ管(Williams tube)、ダイナミック・ランダム・アクセス・メモリ(dynamic random access memory、DRAM)、スタティック・ランダム・アクセス・メモリ(static random access memory、SRAM)、サイリスタ・ランダム・アクセス・メモリ(thyristor random access memory、T−RAM)、ゼロ・キャパシタ・ランダム・アクセス・メモリ(zero−capacitor random access memory、Z−RAM)など、またはそれらの任意の組合せを含んでもよい。読出し専用メモリが、磁気バブルメモリ、磁気ツイスタ(twistor)メモリ、薄膜メモリ、磁気メッキ線(magnet plated wire)メモリ、磁気コアメモリ、磁気ドラムメモリ、光ディスクドライブ、ハードディスク、テープ、不揮発性ランダム・アクセス・メモリ(non−volatile random access memory、NVRAM)、相変化メモリ、磁気抵抗ランダム・アクセス・メモリ、強誘電体ランダム・アクセス・メモリ、不揮発性SRAM、フラッシュメモリ、電気的消去可能プログラム可能ROM、消去可能プログラム可能ROM、プログラム可能ROM、マスクROM、フローティング接続ゲート・ランダム・アクセス・メモリ、ナノ・ランダム・アクセス・メモリ、レーストラック(racetrack)メモリ、抵抗変化型ランダム・アクセス・メモリ、プログラム可能金属化セルなど、またはそれらの任意の組合せを含んでもよい。データベース140が、磁気エネルギーを用いて情報を記憶する機器、たとえば、ハードディスク、フロッピーディスク、テープ、磁気コアメモリ、磁気バブルメモリ、USBフラッシュディスク、およびフラッシュメモリであってもよい。データベース140が、光学的手法を用いて情報を記憶する機器、たとえば、CDまたはDVDであってもよい。データベース140が、磁気光学的手法を用いて情報を記憶する機器、たとえば、光磁気ディスクであってもよい。データベース140のアクセス手法が、ランダム記憶、順次アクセス記憶、読出し専用記憶など、またはそれらの任意の組合せであってもよい。データベース140が、非永続メモリであっても、永続メモリであってもよい。上記の記憶装置は実施例でしかなく、システム内で使用してもよい記憶装置はそれらに限定されない。いくつかの実施形態では、データベース140が、データ記憶機能を有するクラウドコンピューティングプラットフォームであってもよく、パブリッククラウド、プライベートクラウド、コミュニティクラウド、ハイブリッドクラウドなどを含んでもよい。
データベース140が、ネットワーク120と相互接続されても、通信してもよい、またはサーバ110またはその一部と直接相互接続されても、直接通信してもよい。いくつかの実施形態では、データベース140をサーバ110のバックグラウンドで提供してもよい。いくつかの実施形態では、データベース140が独立しており、ネットワーク120に直接接続されてもよい。データベース140がネットワーク120と相互接続される、または通信するとき、ユーザ機器130が、ネットワーク120を介してデータベース140内の情報にアクセスしてもよい。データベース140、またはシステム内の他の記憶装置が、一般に読出機能/書込機能を使ってすべての媒体を参照する。いくつかの実施形態では、データベース140、またはシステム内の他の記憶装置が、システム内部の機器であっても、システムの外部機器であってもよい。データベース140とシステム内の他の記憶装置との間の接続が、有線であっても、無線であってもよい。データベース140とシステム内の他のモジュールとの間の接続または通信が、有線であっても、無線であってもよい。ネットワーク120が、情報交換を提供するためのチャネルであってもよい。
サーバ110もしくはその一部、および/またはユーザ機器130を、データベース140に別様に接続してもよい。モジュールによるデータベース140へのアクセス権が制限されてもよい。たとえば、サーバ110またはその一部が、データベース140へのアクセス権を有してもよく、データベース140からの公の情報または個人情報を読み出しても、修正してもよいが、その一方で、一定の条件が満たされたとき、ユーザ機器130が、公の情報、またはユーザに関係がある個人情報のうち、いくつかを読み出してもよい。たとえば、サーバ110が、1回または複数回サーバ110を使用するユーザの体験に基づき、データベース140内の公の情報、またはユーザ(乗客または運転者)に関係がある情報を更新/修正してもよい。別の実施例では、ユーザ機器130(サービスを提供する際にサービスまたは援助を提供する側)が、別のユーザ機器130(サービスリクエストを必要とする、または利用する側)からサービスリクエストを受信したとき、データベース140内の、ユーザ機器130(サービスリクエストを必要とする、または利用する側)に関係がある情報を、部分的に閲覧してもよいが、ユーザ機器130(サービスを提供する際にサービスまたは援助を提供する側)が、データベース140内の、ユーザ機器130(サービスリクエストを必要とする、または利用する側)に関係がある情報を自律的に修正してよいのではなく、サーバ110に報告することだけができ、サーバ110が、データベース140内の、ユーザ機器130(サービスリクエストを必要とする、または利用する側)に関係がある情報を修正すべきかどうかを判断してもよい。
いくつかの実施形態では、システム内の異なる部分間の情報交換を、サービスリクエストを用いて行ってもよい。サービスリクエストの対象物が、任意の製品であってもよい。いくつかの実施形態では、製品が有形の製品であっても、無形の製品であってもよい。有形の製品が、任意の形状またはサイズの対象物、たとえば、食糧、医薬品、日用品、化学製品、電気器具、衣服、自動車、不動産、ぜいたく品など、またはそれらの任意の組合せであってもよい。無形の製品が、サービス商品、金融商品、知的産物、インターネット製品など、またはそれらの任意の組合せを含んでもよい。インターネット製品が、情報、娯楽、通信、または商取引に関する、人々のニーズを満たす任意の製品であってもよい。インターネット製品を、多くの方法で分類してもよく、インターネット製品のキャリープラットフォームに基づき分類したとき、インターネット製品が、パーソナルホスト製品、ウェブ製品、移動体インターネット製品、商用ホストプラットフォーム製品、組込型製品など、またはそれらの任意の組合せを含んでもよい。移動体インターネット製品が、移動体端末で使用されるソフトウェア、プログラム、またはシステムであってもよい。移動体端末が、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、携帯情報端末(PDA)、電子時計、POS機器、カーピュータ、車載テレビ、スマートウェアラブル機器など、またはそれらの任意の組合せを含んでもよい。たとえば、社交行事、ショッピング、輸送、娯楽、学習、投資のためにコンピュータまたは携帯電話内で使用するさまざまなソフトウェアまたはアプリケーションを含んでもよい。輸送ソフトウェアまたは輸送アプリケーションが、輸送ソフトウェア、輸送スケジューリングソフトウェアもしくは輸送スケジューリングアプリケーション、地図、または他のソフトウェアもしくはアプリケーションであってもよい。輸送スケジューリングソフトウェアまたは輸送スケジューリングアプリケーションが、馬、馬車、人力車(たとえば、手押し車、二輪自転車、三輪車など)、自動車(たとえば、タクシー、バスなど)、列車、地下鉄、船、および航空機(たとえば、飛行機、ヘリコプタ、スペースシャトル、ロケット、熱気球など)など、またはそれらの任意の組合せを予約してもよい。
図2は、本開示のいくつかの実施形態による代表的サーバおよび/またはユーザ機器200を例示する構造図である。サーバおよび/またはユーザ機器200が、プロセッサ210、記憶領域220、およびネットワークインタフェース230を含んでもよい。いくつかの実施形態では、サーバおよび/またはユーザ機器200が、集中型であっても、分散型であってもよい。サーバおよび/またはユーザ機器200が、ローカルにあっても、遠隔にあってもよい。いくつかの実施形態では、図1に例示するサーバ110および/またはユーザ機器130が、図2に例示するサーバおよび/またはユーザ機器200と同じ、またはそれに類似する構造および/または構成を有してもよい。
プロセッサ210が、コンピュータプログラム命令を介して、サーバおよび/またはユーザ機器200の動作を制御してもよい。コンピュータプログラム命令を、1つまたは複数の記憶領域220に記憶してもよい。いくつかの実施形態では、プロセッサ210が、マイクルコントローラ、縮小命令セットコンピュータ(reduced instruction−set computer、RISC)、特定用途向け集積回路(application specific integrated circuit、ASIC)、ASIP(application specific instruction−set processor)、中央処理装置(central processing unit、CPU)、グラフィック・プロセッシング・ユニット(graphic processing unit、GPU)、PPU(physical processing unit)、マイクロプロセッサユニット、デジタル・シグナル・プロセッサ(digital signal processor、DSP)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array、FPGA)、またはコンピュータプログラム命令を実行することができる他の回路もしくはプロセッサ、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、プロセッサ210が、図3に例示するプロセッサ300と同じ、またはそれに類似する構造および/または構成を有してもよい。
記憶領域220が、複数の情報を、たとえば、サーバおよび/またはユーザ機器200のコンピュータプログラム命令およびデータを記憶してもよい。いくつかの実施形態では、記憶領域220が、電気エネルギーを用いて情報を記憶する機器、たとえば、ランダム・アクセス・メモリ(RAM),読出し専用メモリ(ROM)、または他の異なる種類の記憶領域であってもよい。ランダム・アクセス・メモリが、10進計数機、セレクトロン管、遅延線メモリ、ウィリアムズ管、ダイナミック・ランダム・アクセス・メモリ(DRAM)、スタティック・ランダム・アクセス・メモリ(SRAM)、サイリスタ・ランダム・アクセス・メモリ(T−RAM)、ゼロ・キャパシタ・ランダム・アクセス・メモリ(Z−RAM)など、またはそれらの任意の組合せを含んでもよい。読出し専用メモリが、磁気バブルメモリ、磁気ツイスタメモリ、薄膜メモリ、磁気メッキ線メモリ、磁気コアメモリ、磁気ドラムメモリ、光ディスクドライブ、ハードディスク、テープ、不揮発性ランダム・アクセス・メモリ(NVRAM)、相変化メモリ、磁気抵抗ランダム・アクセス・メモリ、強誘電体ランダム・アクセス・メモリ、不揮発性SRAM、フラッシュメモリ、電気的消去可能プログラム可能ROM、消去可能プログラム可能ROM、プログラム可能ROM、マスクROM、フローティング接続ゲート・ランダム・アクセス・メモリ、ナノ・ランダム・アクセス・メモリ、レーストラックメモリ、抵抗変化型ランダム・アクセス・メモリ、プログラム可能金属化セルなど、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、記憶領域220が、磁気エネルギーを用いて情報を記憶する機器、たとえば、ハードディスク、フロッピーディスク、テープ、磁気コアメモリ、磁気バブルメモリ、USBフラッシュディスク、およびフラッシュメモリであってもよい。いくつかの実施形態では、記憶領域220が、光学的手法を用いて情報を記憶する機器、たとえば、CDまたはDVDであってもよい。いくつかの実施形態では、記憶領域220が、磁気光学的手法を用いて情報を記憶する機器、たとえば、光磁気ディスクであってもよい。いくつかの実施形態では、記憶領域220のアクセス手法が、ランダム記憶、順次アクセス記憶、読出し専用記憶など、またはそれらの任意の組合せであってもよい。いくつかの実施形態では、記憶領域220が、非永続メモリであっても、永続メモリであってもよい。いくつかの実施形態では、記憶領域220が、ローカルにあっても、遠隔にあってもよい(たとえば、記憶領域220がクラウドサーバ内にあってもよい)。
ネットワークインタフェース230が、ネットワーク120を通して、サーバおよび/またはユーザ機器200の一部またはすべての構成要素と、図1に示す1つまたは複数の機器(たとえば、データベース140、ユーザ機器130、サーバ110など)との間の通信を実装してもよい。いくつかの実施形態では、ネットワークインタフェース230が、ネットワーク120を通して、サーバおよび/またはユーザ機器200の一部またはすべての構成要素の間で通信を実装してもよい。ネットワークインタフェース230が、有線ネットワークインタフェースであっても、無線ネットワークインタフェースであってもよい。ネットワークインタフェース230が、金属ケーブル、光ファイバ、ハイブリッドケーブル、接続回路、もしくは他の有線ネットワークインタフェースなど、またはそれらの任意の組合せを含んでもよい。ネットワークインタフェース230が、無線ローカル・エリア・ネットワーク(wireless local area network、WLAN)・インタフェース、ローカル・エリア・ネットワーク(local area network、LAN)・インタフェース、広域ネットワーク(wide area network、WAN)インタフェース、Bluetoothインタフェース、無線センサ・ネットワーク(ZigBee)・インタフェース、近距離無線通信(near field communication、NFC)インタフェースなど、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、ネットワークインタフェース230が、図4に示すネットワークインタフェース400と同じ、またはそれに類似する構造および/または構成を有してもよい。
図3は、本開示のいくつかの実施形態による代表的プロセッサ300を例示する構成図である。いくつかの実施形態では、図3に例示するプロセッサ300が、図2に例示するサーバおよび/またはユーザ機器200内のプロセッサ210と同じ、またはそれに類似する構造または構成を有してもよい。プロセッサ300が、獲得モジュール310、決定モジュール320、予測モジュール330、トレーニングモジュール340、生成モジュール350、および選択モジュール360を含んでもよい。プロセッサ300の構造に関する上記の説明は、単に代表的なものであり、本開示を限定するものではないことに留意されたい。いくつかの実施形態では、プロセッサ300が、他のモジュールまたはユニットをさらに含んでもよい。いくつかの実施形態では、上記モジュールのいくつかを取り除いてもよい。いくつかの実施形態では、上記モジュールのいくつかを組み合わせて、1つのモジュールにしてもよい。いくつかの実施形態では、上記モジュールが、独立していてもよい。いくつかの実施形態では、上記モジュールを相互接続してもよい。上記モジュールのいくつかまたはすべてを、ネットワーク120と接続してもよい。上記モジュールが、集中型であっても、分散型であってもよい。上記モジュールの1つまたは複数が、ローカルにあっても、遠隔にあってもよい。いくつかの実施形態では、1つまたは複数の上記モジュールの機能が、1つまたは複数のプロセッサ300により実装されてもよい。いくつかの実施形態では、1つまたは複数の上記モジュールの機能が、1つまたは複数のプロセッサ210、1つまたは複数の記憶領域220、1つまたは複数のネットワークインタフェース230など、またはそれらの任意の組合せにより実装されてもよい。
獲得モジュール310が、必要な情報を複数の方法で得てもよい。情報を得る方法が、直接的(たとえば、ネットワーク120を介して1つまたは複数のユーザ機器130から情報を直接得る)であっても、間接的(たとえば、データベース140、記憶領域220、またはプロセッサ210内の他のモジュールもしくはユニットを介して情報を得る)であってもよい。いくつかの実施形態では、獲得モジュール310により得た情報が、過去の注文、現在の注文、ユーザの個人情報、ユーザに関連する場面情報、1つまたは複数の場面にユーザが出現する頻度、地図データなど、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、獲得モジュール310により得た情報を、処理するために、プロセッサ210内の他のユニットまたはモジュールに伝送してもよい。いくつかの実施形態では、獲得モジュール310により得た情報を、記憶するために、記憶領域220もしくはデータベース140に伝送してもよい、またはネットワークインタフェース230を介してユーザ機器130に伝送してもよい。
決定モジュール320が、獲得モジュール310、データベース130、記憶領域220、ネットワークインタフェース230、プロセッサ210、または他のユニットもしくはモジュールの情報を受信してもよく、受信した情報を処理してもよい。いくつかの実施形態では、決定モジュール320が、ユーザ機器に関連するユーザプロファイル(輸送手段、目的地、頻繁にとどまる位置、輸送手段モデル、目的地分布モデルなどを含む)を決定してもよい。いくつかの実施形態では、決定モジュール320が、ユーザプロファイルに基づき、現在の注文に関係がある情報を決定してもよい。いくつかの実施形態では、決定モジュール320が、獲得モジュール310により得た場面情報に基づき、1つまたは複数の場面にユーザが出現する頻度を決定してもよい。決定モジュール320が、特徴ベクトルをさらに決定してもよい。いくつかの実施形態では、決定モジュール320が、計算機能などを実装してもよい。いくつかの実施形態では、決定モジュール320により生成された結果を、他のモジュールまたはユニットに伝送してもよい。たとえば、決定モジュール320により生成された結果を、記憶するために、データベース140または記憶領域220に伝送してもよい。決定モジュール320により生成された結果を、他の処理を行うために、予測モジュール330、トレーニングモジュール340、生成モジュール350、または選択モジュール360に伝送してもよい。
予測モジュール330が、獲得モジュール310から情報(たとえば、現在の注文)を受信し、受信した情報を処理してもよい。いくつかの実施形態では、予測モジュール330が、現在の注文に基づき、1つまたは複数の過去の輸送手段の各々に関して、現在の注文の1つまたは複数の注文完了確率を予測し、輸送手段モデルを生成してもよい。いくつかの実施形態では、予測モジュール330が、輸送手段モデルに基づき、1つまたは複数の過去の輸送手段の各々に関して、現在の注文の1つまたは複数の注文完了確率を予測してもよい。
トレーニングモジュール340が、1つまたは複数のモデルを得るためにトレーニングを遂行してもよい。1つまたは複数のモデルが、輸送手段モデル、目的地分布モデルなど、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、トレーニングにより得た輸送手段モデルが、線形回帰モデルであっても、非線形回帰モデルであってもよい。線形回帰モデルが、単純線形回帰モデル、バイナリ線形回帰モデル、多重線形回帰モデル、ロジスティック回帰モデル、サポート・ベクトル・マシン・モデルなど、またはそれらの任意の組合せを含んでもよい。非線形回帰モデルが、単純非線形回帰モデル、バイナリ非線形回帰モデル、および多重非線形回帰モデル、ニューラルネットワーク、決定木、マルコフ連鎖、モンテカルロ法、変分法など、またはそれらの任意の組合せであってもよい。トレーニングデータが、1つまたは複数の入力、および1つまたは複数の出力を含んでもよい。いくつかの実施形態では、1つまたは複数の入力が、注文の特性情報を含んでもよい。
生成モジュール350が、特徴ベクトルを生成してもよい。いくつかの実施形態では、生成モジュール350が、事前設定された時間周期の範囲内で、1つまたは複数の期間での共通位置および/または輸送手段についての、ユーザの意味表現、および事前設定された期間の範囲内で、1つまたは複数の場面にユーザが出現する1つまたは複数の頻度を収集し、輸送場面の下での、ユーザの特徴ベクトルを生成してもよい。いくつかの実施形態では、1つまたは複数の場面が、空港、鉄道駅、映画館、ショッピングモール、外国など、またはそれらの任意の組合せを含んでもよい。
選択モジュール360が、情報を選択してもよい。いくつかの実施形態では、選択モジュール360が、獲得モジュール310により得た過去の注文を選択してもよい。たとえば、選択モジュール360が、一定の条件を設定し、その条件を満たす過去の注文を選択してもよい。いくつかの実施形態では、選択モジュール360が、一定の条件に基づき、輸送手段、目的地、または頻繁にとどまる位置を選択してもよい。たとえば、選択モジュール360が、過去の注文の目的地の中の、事前設定された範囲を超えて出現する目的地を選択してもよい。いくつかの実施形態では、選択モジュール360が、削除ユニット、演算器、および結果決定ユニットをさらに含んでもよい。いくつかの実施形態では、削除ユニットが、第1の情報で第2の事前設定された回数未満出現する位置を削除して、第2の情報を得てもよい。いくつかの実施形態では、演算器が、第2の情報で、1つまたは複数の位置に関する第一の比、1つまたは複数の位置の出現時間間隔、第2の情報での1つまたは複数の位置に関する第2の比、第2の位置など、またはそれらの任意の組合せを決定してもよい。いくつかの実施形態では、結果決定ユニットが、頻繁にとどまる位置のような、一定の条件を満たす位置を決定してもよい。
いくつかの実施形態では、獲得モジュール310、決定モジュール320、予測モジュール330、トレーニングモジュール340、生成モジュール350、および選択モジュール360が、1つのシステム内に組み入れられた異なるモジュールであっても、2つ以上の上記モジュールの機能を実装する、1つのモジュールの中に統合されてもよい。類似の修正形態が、本開示の特許請求の範囲の保護範囲に依然として入る。
図4は、本開示のいくつかの実施形態による代表的ネットワークインタフェース400を例示する構成図である。いくつかの実施形態では、図4に例示するネットワークインタフェース400が、図2に例示するサーバおよび/またはユーザ機器200のネットワークインタフェース230と同じ、またはそれに類似する構造または構成を有してもよい。ネットワークインタフェース400が、サーバ110内のネットワークインタフェースであっても、ユーザ機器130のネットワークインタフェースであってもよい。ネットワークインタフェース400が、受信モジュール410および伝送モジュール420を含んでもよい。受信モジュール410が、情報を受信してもよい。受信した情報が、テキスト、画像、音声、ビデオなど、またはそれらの任意の組合せであってもよい。いくつかの実施形態では、情報が、ユーザ機器130により伝送された現在の注文、ユーザ機器130に関連する過去の注文、ユーザ機器130に関連するユーザ(乗客または運転者)の個人情報、交通情報、気象情報、地図情報など、またはそれらの任意の組合せを含んでもよい。たとえば、受信モジュール410が、現在の注文に関係がある情報に対する確認をユーザ機器130から受信してもよい。いくつかの実施形態では、受信モジュール410はまた、収集または記憶するために、信号変換などを用いて、乗客または背景(たとえば、周囲環境)の視覚情報、聴覚情報、電磁情報、またはそれらの任意の組合せを、静止画像、ビデオ、音声、機械振動などに変換してもよい。
伝送モジュール420が、情報を伝送してもよい。いくつかの実施形態では、伝送モジュール420が、プロセッサ210により生成された情報をユーザ機器130に、または記憶するために記憶装置に伝送してもよい。たとえば、伝送モジュール420が、現在の注文に関係がある情報をユーザ機器130に伝送してもよい。いくつかの実施形態では、伝送モジュール420が、処理するために、生成した情報をプロセッサ210に伝送してもよい。伝送される情報が、テキスト、画像、音声、ビデオなど、またはそれらの任意の組合せであってもよい。
図5は、本開示のいくつかの実施形態による、現在の注文に関係がある情報を決定するための代表的処理500を例示するフローチャートである。現在の注文に関係がある情報を決定するための処理500を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
ステップ510で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザ機器130から現在の注文を得てもよい(たとえば、ユーザ機器と通信し、ネットワーク120を介して現在の注文を得る)。いくつかの実施形態では、現在の注文が、現在の時間情報、およびユーザ機器130の現在位置情報を含んでもよい。いくつかの実施形態では、ユーザ機器上で一定の動作を実行した後に、ユーザ機器130により現在の注文を生成してもよい。たとえば、動作が、ユーザにより、ユーザ機器130上の該当するサービス・アプリケーション・プログラムを開始するステップ、ユーザ機器の表示画面上に示されるサービス・アプリケーション・プログラムのインタフェース(サービス・アプリケーション・プログラム・インタフェース)上のアイコンをクリックするステップ、またはサービス・アプリケーション・プログラムのインタフェース上の入力動作を選ぶステップを含んでもよい。いくつかの実施形態では、現在の注文が、サービスを要求する、ユーザ機器の意図を含んでもよい。いくつかの実施形態では、現在の注文が、注文の位置情報(たとえば、ユーザおよび/またはユーザ機器の現在の測位位置、ユーザにより入力される、現在の注文の出発位置および/または目的地)、注文の時間情報(たとえば、出発時間、現在の注文の出発期間)、ユーザ機器の識別など、またはそれらの任意の組合せを含んでもよい。
ステップ520で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、ユーザ機器130に関連するユーザプロファイルを決定してもよい。いくつかの実施形態では、ユーザプロファイルが、実際のユーザの仮想表現または記述であってもよく、ユーザニーズに関連して対象ユーザを概説し、ユーザ行動を予測するために使用されてもよい。たとえば、ユーザプロファイルが、頻繁にとどまる位置の情報(たとえば、頻繁に利用する出発位置、頻繁に利用する目的地、頻繁に利用する測位位置、目的地分布モデルなど)、輸送手段の情報(たとえば、輸送手段モデル、ユーザ機器130の好ましい輸送手段、1つまたは複数の過去の輸送手段をユーザ機器130が選択する1つまたは複数の確率、1つまたは複数の過去の輸送手段の各々に関する、注文の1つまたは複数の注文完了確率など)、支払情報(たとえば、注文の単価、総額、価格設定手法、追加料金、割引など)、ユーザ機器の識別、ユーザの好みの情報など、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、ユーザプロファイルを使用して、ユーザまたはユーザのグループに印をつけてもよい。たとえば、ユーザプロファイルを商用旅行者、事務員、学生など、またはそれらの任意の組合せとして印をつけてもよい。いくつかの実施形態では、プロセッサ210が、図6に例示する処理600に基づき、ユーザ機器130に関連するユーザプロファイルを決定してもよい。
ステップ530で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、ユーザプロファイルおよび現在の注文に基づき、現在の注文に関係がある情報を決定してもよい。いくつかの実施形態では、現在の注文に関係がある情報が、現在の注文の、頻繁にとどまる位置の情報(たとえば、現在の注文の出発位置、現在の注文の目的地など)、現在の注文に含まれる、現在の輸送手段の情報(たとえは、現在の注文の輸送手段)、現在の注文に含まれる支払情報など、またはそれらの任意の組合せを含んでもよい。たとえば、プロセッサ210が、ユーザプロファイルに基づき、現在の注文に含まれる現在の輸送手段を決定してもよい。別の実施例として、プロセッサ210が、ユーザプロファイルに基づき、現在の注文に含まれる推奨目的地を決定してもよい。
いくつかの実施形態では、サーバ110(たとえば、サーバ110のネットワークインタフェース230、またはネットワークインタフェース230の伝送モジュール410)が、ステップ530で決定した、現在の注文に関係がある情報をユーザ機器130に伝送してもよい。いくつかの実施形態では、ユーザ機器130が、サーバ110により伝送される、現在の注文に関係がある情報に対して動作を遂行してもよい。いくつかの実施形態では、動作が、現在の注文に関係がある情報を確認するステップ、現在の注文に関係がある情報を拒絶するまたは否定するステップ、現在の注文に関係がある情報を修正するステップなど、またはそれらの任意の組合せであってもよい。いくつかの実施形態では、サーバ110(たとえば、サーバ110のネットワークインタフェース230、またはネットワークインタフェース230の受信モジュール410)が、現在の注文に関係がある情報に対して、ユーザ機器130により遂行される動作(たとえば、確認動作、否定動作、修正動作など)を受信してもよい。
図6は、本開示のいくつかの実施形態による、ユーザ機器に関連するユーザプロファイルを決定するための代表的処理600を例示するフローチャートである。処理600を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
ステップ610で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ネットワーク120を介してユーザ機器130との通信を確立し、事前設定された期間の範囲内で、過去の注文をユーザ機器130から得てもよい。たとえば、サーバ110が、一定期間(たとえば、1年、半年、3か月、1か月、10日、1週間など)で、ユーザに関連する過去の注文を得てもよい。過去の注文が、時間情報、位置情報、支払情報、ユーザ機器の識別など、またはそれらの任意の組合せを含んでもよい。
ステップ620で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、過去の注文に基づき、ユーザ機器130に関連するユーザプロファイルを決定してもよい。いくつかの実施形態では、プロセッサ210が、図7に例示する処理700に基づき、ユーザ機器130に関連するユーザプロファイルを決定してもよい。
図7は、本開示のいくつかの実施形態による、ユーザプロファイルを得るための代表的処理700を例示するフローチャートである。
図7に例示するように、ステップ710で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、事前設定された時間周期の範囲内で、1つまたは複数の期間での、ユーザの場面情報を得てもよい。場面が、場所の位置と、場所の周囲環境の組合せを指してもよい。たとえば、場面が、頻繁にとどまる商業地区、頻繁にとどまる行政区画、頻繁にとどまる都市、頻繁にとどまる国などを含んでもよいが、それらに限定されない。いくつかの実施形態では、場面が、公共の場所であっても、私的な場所であってもよい。たとえば、場面が、空港、鉄道駅、ショッピングモール、映画館、波止場、公園、学校、オフィスビル、ホテル、ユーザの居住用の自宅、友人の居住用の自宅など、またはそれらの任意の組合せであってもよい。
いくつかの実施形態では、プロセッサ210が、事前設定された期間の範囲内で、ユーザに関連する過去の注文を得てもよい。過去の注文に基づき、事前設定された時間周期の範囲内で、1つまたは複数の期間での、ユーザの場面情報を得てもよい。たとえば、プロセッサ210が、一定期間(たとえば、1年、半年、3か月、1か月、10日、1週間など)の範囲内で、ユーザに関連する過去の注文を得てもよい。過去の注文が、時間情報、位置情報、支払情報、ユーザ機器の識別など、またはそれらの任意の組合せを含んでもよい。過去の注文に基づき、プロセッサ210が、事前設定された時間周期(たとえば、24時間、7日、10日、1か月など)の範囲内で、1つまたは複数の期間(たとえば、1時間または数時間、1日または数日、1週間または数週間、1か月または数か月など)でのユーザの場面情報を得てもよい。
いくつかの実施形態では、プロセッサ210が、事前設定された期間の範囲内で、ユーザまたはユーザ機器130の測位情報を得てもよい。測位情報に基づき、事前設定された時間周期の範囲内で、1つまたは複数の期間での、ユーザの場面情報を得てもよい。たとえば、ユーザが保持するユーザ機器130が、測位機能を有する機器であってもよい。プロセッサ210が、一定期間(たとえば、1年、半年、3か月、1か月、10日、1週間など)で、ユーザ機器130に関連する測位情報を得てもよい。測位情報が、位置情報、時間情報、ユーザ機器の識別など、またはそれらの任意の組合せを含んでもよい。測位情報に基づき、プロセッサ210が、事前設定された時間周期(たとえば、24時間、7日、10日、1か月など)の範囲内で、1つまたは複数の期間(たとえば、1時間または数時間、1日または数日、1週間または数週間、1か月または数か月など)でのユーザの場面情報を得てもよい。
ステップ720で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、場面情報に基づき、事前設定された時間周期の範囲内で、1つまたは複数の共通位置についての、ユーザの1つまたは複数の意味表現を得てもよい。いくつかの実施形態では、意味表現が、1次元ベクトルであっても、多次元ベクトルであってもよい。意味表現が、期間、共通位置(たとえば、出発位置、目的地、他の位置など)、輸送手段など、またはそれらの任意の組合せを含んでもよい。たとえば、意味表現が、一定期間および、ユーザに関連する一定期間に対応する共通位置であってもよい。別の実施例では、意味表現が、一定期間、出発位置、および目的地だけではなく、ユーザに関連する輸送手段であってもよい。
ステップ730で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、事前設定された期間で、1つまたは複数の場面にユーザ機器が出現する1つまたは複数の頻度を得てもよい。いくつかの実施形態では、場面が、ユーザが頻繁に、または繰り返し訪問する位置とその周囲環境の組合せであってもよい。いくつかの実施形態では、場面が、頻繁にとどまる領域、たとえば、頻繁にとどまる商業地区、頻繁にとどまる行政区画、頻繁にとどまる都市、頻繁にとどまる国などであってもよい。いくつかの実施形態では、場面が、公共の場所であっても、私的な場所であってもよい。たとえば、場面が、空港、鉄道駅、ショッピングモール、映画館、波止場、公園、学校、オフィスビル、ホテル、ユーザの居住用の自宅、友人の居住用の自宅など、またはそれらの任意の組合せであってもよい。いくつかの実施形態では、場面が、ユーザ機器130が頻繁に出現するわけではない位置であっても、訪問するわけではない位置であってもよい。いくつかの実施形態では、場面が、たまにしかとどまらない領域、たとえば、居住している商業地以外の商業地区、頻繁にとどまる行政区画以外の行政区画、頻繁にとどまる都市以外の都市、頻繁にとどまる国以外の国などであってもよい。たとえば、場面が、ユーザが定住または居住する位置以外の位置、たとえば、外国の景勝地、公の警備局、または裁判所であってもよい。
いくつかの実施形態では、事前設定された期間の範囲内で、1つまたは複数の場面にユーザが出現する頻度が、1次元ベクトルであっても、多次元ベクトルであってもよい。たとえば、事前設定された期間の範囲内で、1つまたは複数の場面にユーザが出現する頻度が、3か月の範囲内で、空港にユーザが出現する頻度、3か月の範囲内で、映画館にユーザが出現する頻度、3か月の範囲内で、オフィスビルにユーザが出現する頻度、3か月の範囲内で、外国にユーザが出現する頻度など、またはそれらの任意の組合せを含んでもよい。上記の1次元ベクトルまたは多次元ベクトルを、これらの組合せを定量化することにより得てもよい。
ステップ740で、プロセッサ210(たとえば、プロセッサ210の生成モジュール350)が、事前設定された時間周期の範囲内で、1つまたは複数の共通位置についての、ユーザの意味表現、および事前設定された期間で、1つまたは複数の場面にユーザ機器が出現する頻度に基づき、特徴ベクトルを決定してもよい。いくつかの実施形態では、特徴ベクトルが、輸送場面の下での、ユーザの特徴ベクトルであってもよい。いくつかの実施形態では、特徴ベクトルが、意味表現ベクトルと発生頻度ベクトルとの連結計算結果であってもよい。特徴ベクトルの次元が、意味表現ベクトルの次元と発生頻度ベクトルの次元との和であってもよい。
ステップ750で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、特徴ベクトルに基づき、ユーザプロファイルを得てもよい。いくつかの実施形態では、プロセッサ210が、ユーザプロファイルを得るために、輸送場面の下でユーザの特徴ベクトルをクラスタ化してもよい。いくつかの実施形態では、プロセッサ210が、特徴ベクトルのサイズ、ベクトル間の距離などに基づき、クラスタ化を遂行してもよい。
いくつかの実施形態では、ユーザプロファイルが、実際のユーザの仮想代表者であってもよく、ユーザニーズに関連して対象ユーザを概説し、かつユーザ行動を予測するために使用されてもよい。たとえば、ユーザプロファイルが、共通位置の情報(たとえば、頻繁に利用する出発位置、頻繁に利用する目的地、頻繁に利用する測位位置、目的地分布モデルなど)、輸送手段の情報(たとえば、輸送手段モデル、ユーザ機器130の好ましい輸送手段、ユーザ機器130が1つまたは複数の過去の輸送手段を選択する1つまたは複数の確率、1つまたは複数の過去の輸送手段の各々に関する、注文の1つまたは複数の注文完了確率など)、支払情報(たとえば、注文の単価、総額、価格設定手法、追加料金、割引など)、ユーザの名前、ユーザの好みの情報など、またはそれらの任意の組合せを含んでもよい。
いくつかの実施形態では、プロセッサ210が、ユーザプロファイルに基づき、ユーザを1つまたは複数のユーザおよび/またはユーザグループに分割してもよい。プロセッサ210が、ユーザプロファイルに基づき、異なるユーザおよび/またはユーザグループのための活動を、それらの個々の違い、異なる適用場面などに従って遂行してもよい。たとえば、プロセッサ210が、ユーザプロファイルに基づき、異なるユーザグループに、割引戦略(たとえば、頻繁に出張する商用旅行者に定期便クーポンを伝送する、代行運転サービスを頻繁に要求するユーザに代行運転のための助成金を伝送するなど)、販売促進戦略(たとえば、払戻しを必要とするユーザにタクシーを推奨する、平日の事務員にヒッチハイクを推奨するなど)、マーケティング戦略(たとえば、ユーザに保険コマーシャルを送りつける、ユーザに車両広告を送りつけるなど)など、またはそれらの任意の組合せを、異なるユーザグループに伝送してもよい。
いくつかの実施形態では、図7に例示するような、ユーザプロファイルを得るための処理700の1つまたは複数のステップを、同時に、または異なる順序で遂行してもよい。たとえば、プロセッサ210が、最初に、事前設定された期間の範囲内で、1つまたは複数の場面にユーザが出現する1つまたは複数の頻度を得るステップ730を遂行し、次いで、事前設定された時間周期の範囲内で、ユーザの1つまたは複数の場面情報を得るステップ710、および事前設定された時間周期の範囲内で、1つまたは複数の共通位置に関する、ユーザの1つまたは複数の意味表現を決定するステップ720を遂行してもよい。別の実施例として、プロセッサ210が、ステップ710およびステップ730を同時に遂行し、場面情報、およびユーザの出現頻度を同時に得てもよい。
よりよく理解するために、図8は、24時間という事前設定された時間周期、および3か月という事前設定された期間を使って、図7に例示するような、ユーザプロファイルを得るための代表的処理800を例示するフローチャートである。
ステップ810で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、24時間の範囲内で、1つまたは複数の期間での、ユーザの場面情報を得てもよい。
ステップ820で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、共通位置の意味表現であるベクトル1を得てもよい。たとえば、ベクトル1が、(00:00〜06:59住宅地、…、08:00〜08:59学校、09:00〜18:59オフィスビル、19:00〜19:59ショッピングモール、20:00〜23:59住宅地)であってもよい。
ステップ830で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、3か月の範囲内で、ユーザの場面情報を得てもよい。
ステップ840で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、1つまたは複数の場面にユーザが出現する頻度であるベクトル2を得てもよい。たとえば、ベクトル2が、(3か月の範囲内で、空港にユーザが出現する頻度、3か月の範囲内で、鉄道駅にユーザが出現する頻度、…、3か月の範囲内で、外国にユーザが出現する頻度)であってもよい。
ステップ850で、プロセッサ210(たとえば、プロセッサ210の生成モジュール350)が、ベクトル1およびベクトル2に基づき、特徴ベクトルを決定してもよい。たとえば、特徴ベクトルが、(ベクトル1,ベクトル2)であってもよい。
ステップ860で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、特徴ベクトル(ベクトル1,ベクトル2)に基づき、ユーザプロファイルを得てもよい。たとえば、プロセッサ210が、1つまたは複数の特徴ベクトルをクラスタ化して、1つまたは複数のユーザプロファイルを得てもよい。別の実施例として、プロセッサ210が、特徴ベクトル間の距離に基づき、ユーザの類似度を決定してもよい。ユーザの類似度に基づき、1つまたは複数のユーザプロファイルを得てもよい。
いくつかの実施形態では、ステップ810(またはステップ810およびステップ820)およびステップ830(またはステップ830およびステップ840)を、同時に、または逆順で遂行してもよい。
図6に戻ると、いくつかの実施形態では、ユーザプロファイルが、頻繁にとどまる位置を含んでもよい。過去の注文に基づきユーザプロファイルを決定するステップ620を、図9に例示する、頻繁にとどまる位置を決定する処理900に従って達成してもよい。処理900を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。いくつかの実施形態では、頻繁にとどまる位置が、ユーザが頻繁に出現する位置、たとえば、頻繁に出現する出発位置、頻繁に出現する目的地、頻繁に出現する測位位置などであってもよい。いくつかの実施形態では、用語「頻繁に」を、出現数、出現頻度、出現数の割合など、またはそれらの任意の組合せにより表してもよい。
ステップ910で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザに関連する過去の注文で第1の情報を得てもよい。いくつかの実施形態では、ユーザの過去の注文が、事前設定された期間(たとえば、1年、半年、1か月、10日、1週間など)の範囲内での、ユーザに関連する注文情報の集合であってもよい。いくつかの実施形態では、第1の情報が、位置情報(たとえば、出発位置、目的地、測位位置、地理座標、ユーザに関連する1つまたは複数の位置の出現数など)、時間情報(たとえば、出発時間、到着時間、注文継続期間など)、ユーザの基本情報(たとえば、名前、性別、ユーザの年齢など)など、またはそれらの任意の組合せを含んでもよい。たとえば、サーバ110が、3か月の範囲内で、ユーザに関連する過去の注文で位置情報およびユーザの名前を得て、位置情報およびユーザの名前を第1の情報として決定してもよい。
ステップ920で、プロセッサ210(たとえば、プロセッサ210の選択モジュール360)が、第1の情報で第1の事前設定された回数を超えて出現する少なくとも1つの位置を選択してもよい。いくつかの実施形態では、第1の事前設定された回数が、適用場面に基づきサーバ110により設定された回数(たとえば、3回、5回、10回、20回、100回など)であってもよい。たとえば、プロセッサ210が、第1の情報で6回以上出現する位置を選択してもよい。
ステップ930で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第1の情報で第1の事前設定された回数を超えて出現する少なくとも1つの位置に基づき、ユーザの頻繁にとどまる位置を決定してもよい。いくつかの実施形態では、プロセッサ210が、第1の情報で第1の事前設定された回数を超えて出現する位置を、頻繁にとどまる位置として決定してもよい。たとえば、プロセッサ210が、第1の情報で6回以上出現する位置を、頻繁にとどまる位置として決定してもよい。いくつかの実施形態では、プロセッサ210が、第1の情報で位置に対して、無意味な情報の除去処理を遂行し、処理した位置に基づき、頻繁にとどまる位置を決定してもよい。たとえば、プロセッサ210が、第1の情報で出現数が比較的少ない無意味な位置情報を取り除き、次いで、頻繁にとどまる位置を決定してもよい。
図10は、本開示のいくつかの実施形態による、頻繁にとどまる位置を決定するための代表的処理1000を例示するフローチャートである。
ステップ1010で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザに関連する過去の注文で第1の情報を得てもよい。いくつかの実施形態では、ユーザの過去の注文が、事前設定された期間(たとえば、1年、半年、1か月、10日、1週間など)の範囲内での、ユーザに関連する注文情報の集合であってもよい。いくつかの実施形態では、第1の情報が、位置情報(たとえば、出発位置、目的地、測位位置、地理座標、ユーザに関連する1つまたは複数の位置の出現数など)、時間情報(たとえば、出発時間、到着時間、注文継続期間など)、ユーザの基本情報(たとえば、名前、性別、ユーザの年齢など)など、またはそれらの任意の組合せを含んでもよい。たとえば、プロセッサ210が、3か月の範囲内で、ユーザに関連する過去の注文で位置情報およびユーザの名前を得て、位置情報およびユーザの名前を第1の情報として決定してもよい。
ステップ1020で、プロセッサ210(たとえば、プロセッサ210の選択モジュール360)が、第1の情報で第2の事前設定された回数未満出現する少なくとも1つの位置を削除して、第2の情報を得てもよい。いくつかの実施形態では、第2の事前設定された回数が、適用場面に基づきプロセッサ210により設定された回数(たとえば、1回、2回、3回、5回、10回など)であってもよい。たとえば、124の位置が第1の情報に存在する場合があり、そのうち24が1回以下出現する。プロセッサ210が、第1の情報で1回以下出現する24の位置を削除して、第2の情報を得てもよい。100の位置が第2の情報に存在する場合があり、すべての位置が100回出現する。
ステップ1030で、プロセッサ210(たとえば、プロセッサ210の選択モジュール360)が、第2の情報での、すべての位置の総出現数に対する、第2の情報での、1つまたは複数の位置の出現数の1つまたは複数の第1の比を決定してもよい。たとえば、第2の情報で、すべての位置の総出現数が100回であり、5回出現する位置の第1の比が5%であり、10回出現する位置の第1の比が10%であり、15回出現する位置の第1の比が15%である。
ステップ1040で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第2の情報での、1つまたは複数の位置に関する1つまたは複数の第1の比と、第1の事前設定された比を比較することにより、ユーザの頻繁にとどまる位置を決定してもよい。いくつかの実施形態では、第1の事前設定された比が、適用場面に従ってプロセッサ210により設定された、いくつかの比(たとえば、25%、50%、80%、95%など)であってもよい。たとえば、プロセッサ210が、第2の情報で第1の比が80%を超える位置を、頻繁にとどまる位置として決定してもよい。
図11は、本開示のいくつかの実施形態による、頻繁にとどまる位置を決定するための代表的処理1100を例示するフローチャートである。処理1100を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
ステップ1110で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザに関連する過去の注文で第1の情報を得てもよい。いくつかの実施形態では、ユーザの過去の注文が、事前設定された期間(たとえば、1年、半年、1か月、10日、1週間など)の範囲内での、ユーザに関連する注文情報の集合であってもよい。いくつかの実施形態では、第1の情報が、位置情報(たとえば、出発位置、目的地、測位位置、地理座標、ユーザに関連する1つまたは複数の位置の出現数など)、時間情報(たとえば、出発時間、到着時間、注文継続期間など)、ユーザの基本情報(たとえば、名前、性別、ユーザの年齢など)など、またはそれらの任意の組合せを含んでもよい。たとえば、プロセッサ210が、3か月の範囲内で、ユーザに関連した過去の注文で位置情報およびユーザの名前を得て、位置情報およびユーザの名前を第1の情報として決定してもよい。
ステップ1120で、プロセッサ210(たとえば、プロセッサ210の選択モジュール360)が、第1の情報で第2の事前設定された回数未満出現する少なくとも1つの位置を削除して、第2の情報を得てもよい。いくつかの実施形態では、第2の事前設定された回数が、適用場面に基づきプロセッサ210により設定された回数(たとえば、1回、2回、3回、5回、10回など)であってもよい。たとえば、124の位置が第1の情報に存在する場合があり、そのうち24が1回以下出現する。プロセッサ210が、第1の情報で1回以下出現する24の位置を削除して、第2の情報を得てもよい。100の位置が第2の情報に存在する場合があり、すべての位置が100回出現する。
ステップ1130で、プロセッサ210(たとえば、プロセッサ210の選択モジュール360)が、第2の情報での、すべての位置の総出現数に対する、第2の情報での、1つまたは複数の位置の出現数の、1つまたは複数の第1の比を決定してもよい。たとえば、第2の情報ですべての位置の総出現数が100回であり、5回出現する位置の第1の比が5%であり、10回出現する位置の第1の比が10%であり、15回出現する位置の第1の比が15%である。
ステップ1140で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第2の情報で1つまたは複数の位置の出現時間間隔を決定してもよい。いくつかの実施形態では、時間間隔が、過去の注文の期間を得る以前の、最後の出現時間と、得た過去の注文の期間での、最初の出現時間との間の時間間隔であってもよい。3か月(2016年1月1日〜2016年3月31日)を実施例とすると、過去の注文の期間を得る前に(2016年1月1日以前)、第2の情報での、位置(たとえば、遊園地)の最後の出現時間が、2015年12月14日であり、得た過去の注文のうち、3か月の範囲内での、遊園地の最初の出現時間が、2016年2月14日であり、それに応じて、プロセッサ210が、第2の情報での、遊園地の出現時間間隔を62日と決定してもよい。
ステップ1150で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第2の情報で、1つまたは複数の位置の時間間隔に基づき、1つまたは複数の位置に関する1つまたは複数の時間補正係数を決定してもよい。いくつかの実施形態では、時間補正係数が、時間誤差を補償するために必要な任意の数値であってもよい。いくつかの実施形態では、時間補正係数が、時間間隔に逆比例してもよく、時間間隔が増大するにつれ低減する。いくつかの実施形態では、時間補正係数が、0〜1の間の数値であってもよい。たとえば、時間間隔が80日〜90日であるときに、時間補正係数が0.1であり、時間間隔が70日〜80日であるときに、時間補正係数が0.2であり、時間間隔が60日〜70日であるときに、時間補正係数が0.3であり、時間間隔が50日〜60日であるときに、時間補正係数が0.3であり、時間間隔が0日〜50日であるときに、時間補正係数が1である。遊園地の出現時間間隔が62日であるので、遊園地の時間補正係数が0.3である。
ステップ1160で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、1つまたは複数の位置に関する1つまたは複数の第1の比、および1つまたは複数の位置に関する1つまたは複数の時間補正係数に基づき、1つまたは複数の位置に関する1つまたは複数の第2の比を決定してもよい。いくつかの実施形態では、第2の比が、第1の比と時間補正係数の積であってもよい。たとえば、遊園地の第1の比が20%であり、かつ遊園地の時間補正係数が0.3であると仮定すると、その結果、遊園地の第2の比が6%(20%と0.3の積)になる。
ステップ1170で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、1つまたは複数の位置に関する1つまたは複数の第2の比と、第2の事前設定された比を比較することにより、ユーザの頻繁にとどまる位置を決定してもよい。いくつかの実施形態では、第2の事前設定された比が、適用場面に従ってプロセッサ210により設定された、いくつかの比(たとえば、5%、10%、50%、85%など)であってもよい。たとえば、プロセッサ210が、第2の情報で第2の比が50%を超える1つまたは複数の位置を、頻繁にとどまる位置として決定してもよい。
図12は、本開示のいくつかの実施形態による、頻繁にとどまる位置を決定するための代表的処理1200を例示するフローチャートである。処理1200を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
ステップ1210で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザに関連する過去の注文で第2の情報を得てもよい。いくつかの実施形態では、第2の情報を、図10のステップ1020に例示する方法により得てもよい。いくつかの実施形態では、第2の情報が、位置情報(たとえば、出発位置、目的地、測位位置、地理座標、ユーザに関連する1つまたは複数の位置の出現数など)、時間情報(たとえば、出発時間、到着時間、注文継続期間など)、ユーザの基本情報(たとえば、名前、性別、ユーザの年齢など)など、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、第2の情報が、第1の位置を含んでもよい。いくつかの実施形態では、第1の位置が、第2の情報での、1つまたは複数の位置であってもよい。
ステップ1220で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第2の情報での、1つまたは複数の第1の位置と他の第1の位置の間の距離を決定してもよい。いくつかの実施形態では、第1の位置が、第2の情報での、1つまたは複数の位置であってもよい。いくつかの実施形態では、プロセッサ210が、第2の情報で1つまたは複数の位置を調べて、第2の情報での、第1の位置と他の第1の位置の間の距離を決定してもよい。
ステップ1230で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第2の情報で、他の位置と第1の位置の間の距離と、事前設定された距離を比較し、第1の位置からの距離が、事前設定された距離未満である、その他の第1の位置のうち1つを、第2の位置として決定してもよい。いくつかの実施形態では、事前設定された距離が、適用場面に従ってプロセッサ210により設定された、いくつかの距離(たとえば、200メートル、500メートル、1000メートル、2キロメートルなど)であってもよい。たとえば、プロセッサ210が、第1の位置からの距離が500メートル未満である1つまたは複数の位置を、第2の位置として決定してもよい。いくつかの実施形態では、1つの第1の位置が、少なくとも1つの第2の位置に対応してもよい。たとえば、第2の情報で、第1の位置が、位置A、位置B、位置C、位置D、および位置Eを含んでいる場合がある。プロセッサ210が、位置Aと他の第1の位置(たとえば、位置B、位置C、位置D、および位置E)の間の、1つまたは複数の距離を決定してもよい。位置Bと位置Aの間の距離、および位置Cと位置Aの間の距離が、事前設定された距離未満であり、かつ位置Dと位置Aの間の距離、および位置Eと位置Aの間の距離が、事前設定された距離よりも大きい場合、位置Bおよび位置Cを、第1の位置Aに対応する第2の位置と呼んでもよい。いくつかの実施形態では、プロセッサ210が、第2の情報で各位置を調べて、第2の情報で、位置と他の位置の間の、1つまたは複数の距離を別個に計算し、その位置に対応する第2の位置を決定してもよい。いくつかの実施形態では、たとえば、位置Bを第1の位置Aの第2の位置としてすでに決定した場合、位置Bと他の位置(たとえば、位置C、位置D、または位置E)の間の距離をもはや計算しなくてもよい。この実施例では、第1の位置Aに対応する第2の位置が、位置Bおよび位置Cであり、したがって、プロセッサ210が、位置Dと位置Eの間の距離をさらに計算してもよい。位置Dと位置Eの間の距離が、事前設定された距離未満である場合、位置Eを位置Dに対応する第2の位置と決定する。
ステップ1240で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第2の情報での、第2の位置、第1の位置、第2の位置に関する第2の比、および第1の位置に関する第2の比に基づき、第2の情報での第3の位置、および第3の位置に関する第2の比を決定してもよい。いくつかの実施形態では、第2の位置に関する第2の比、および第1の位置に関する第2の比を、本開示の図11に例示する処理1100に従って決定してもよい。
いくつかの実施形態では、第3の位置が、第1の位置および少なくとも1つの第2の位置を併合した位置であってもよい。表1は、位置情報を併合する代表的表である。たとえば、表1の位置に関しては、第3の位置が、間の距離が500メートル未満の範囲にある第1の位置および第2の位置に基づき併合した位置であってもよい。北京市昌平区文化路に位置するLongyueyuan2区西門と、北京市昌平区龍騰街に位置するLongyueyuan2区西門との間の距離が、343メートルであり、500メートル未満であり、したがって、2つの位置を1つの位置に併合し、第3の位置の役割を果たさせてもよい。北京市永定門東街および北京市永定門東、地下鉄西二七区駅および西二七区地下鉄駅、ならびにピースゲート地下鉄駅およびピースゲートに関しては、これらの位置の各2つの間の距離が、500メートル未満であり、したがって、これらの位置の各2つを1つの位置に併合し、第3の位置の役割を果たさせてもよい。西二七区、および西二七区Mingkeyuanに関しては、2つの位置の間の距離が858メートルであり、500メートルを超えており、したがって、この実施例ではこれらの2つの位置を併合してはならない。
いくつかの実施形態では、第2の位置が1つだけ存在するとき、第3の位置が、第1の位置と第2の位置の間で出現数が相対的により大きい位置であってもよい。たとえば、第1の位置の出現数が8回であり、第2の位置の出現数が26回であり、したがって、第3の位置が、第2の位置という位置になる。いくつかの実施形態では、第2の位置の数が2つ以上であるとき、第3の位置が、複数の位置の中心の位置であってもよい。
いくつかの実施形態では、第3の位置に関する第2の比が、第1の位置に関する第2の比と、第2の位置に関する少なくとも1つの第2の比の和であってもよい。たとえば、第1の位置に関する第2の比が16%であり、3つの第2の位置に関する第2の比が10%、27%、および15%であり、したがって、第3の位置に関する第2の比が68%(16%+10%+27%+15%)である。
図12に戻ると、ステップ1250で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第3の位置に関する第2の比と第3の事前設定された比を比較して、ユーザに関する、頻繁にとどまる位置を決定してもよい。いくつかの実施形態では、第3の事前設定された比が、適用場面に従ってプロセッサ210により設定された、いくつかの比(たとえば、5%、10%、50%、85%など)であってもよい。たとえば、プロセッサ210が、第3の位置に関する第2の比が50%を超える位置を、頻繁にとどまる位置として決定してもよい。
図13は、本開示のいくつかの実施形態による、頻繁にとどまる位置を決定するための代表的処理1300を例示するフローチャートである。処理1300を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
ステップ1310で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザに関連する過去の注文で第1の情報を得てもよい。いくつかの実施形態では、ユーザの過去の注文が、事前設定された期間(たとえば、1年、半年、1か月、10日、1週間など)の範囲内での、ユーザに関連する注文情報の集合であってもよい。いくつかの実施形態では、第1の情報が、位置情報(たとえば、出発位置、目的地、測位位置、地理座標、ユーザに関連する1つまたは複数の位置の出現数など)、時間情報(たとえば、出発時間、到着時間、注文継続期間など)、ユーザの基本情報(たとえば、名前、性別、ユーザの年齢など)など、またはそれらの任意の組合せを含んでもよい。たとえば、プロセッサ210が、3か月の範囲内で、ユーザに関連する過去の注文の位置情報およびユーザの名前を得て、位置情報およびユーザの名前を第1の情報として決定してもよい。
ステップ1320で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、事前設定された期間以前の、ユーザに関連する過去の注文で、第3の情報を得てもよい。いくつかの実施形態では、第3の情報が、位置情報(たとえば、出発位置、目的地、測位位置、地理座標、ユーザに関連する1つまたは複数の位置での出現数など)、時間情報(出発時間、到着時間、注文継続期間など)、ユーザの基本情報(たとえば、名前、性別、ユーザの年齢など)など、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、事前設定された期間以前の過去の注文が、事前設定された期間以前の時間帯の範囲内での、ユーザに関連する過去の注文であってもよい。たとえば、事前設定された期間が3か月であるとき、3か月以前の一定期間(たとえば、1年、半年、3か月、1か月、10日、1週間など)で、ユーザに関連する過去の注文を得る。
ステップ1330で、プロセッサ210(たとえば、プロセッサ210の選択モジュール360)が、第1の情報で第1の事前設定された回数を超えて出現し、かつ第3の情報で第3の事前設定された回数を超えて出現する、少なくとも1つの位置を選択してもよい。いくつかの実施形態では、第3の事前設定された回数が、適用場面に基づきプロセッサ210により設定された回数(たとえば、3回、5回、10回、20回、100回など)であってもよい。たとえば、プロセッサ210が、第1の情報で6回以上出現する位置を選択し、第3の情報で11回以上出現する位置を選択してもよい。
ステップ1340で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、第1の情報および第3の情報で選択した少なくとも1つの位置に基づき、ユーザの頻繁にとどまる位置を決定してもよい。いくつかの実施形態では、プロセッサ210が、第1の情報で第1の事前設定された回数を超えて出現し、かつ第3の情報で第3の事前設定された回数を超えて出現する位置を、頻繁にとどまる位置として決定してもよい。たとえば、プロセッサ210が、第1の情報で6回以上出現し、かつ第3の情報で11回以上出現する位置を、頻繁にとどまる位置として決定してもよい。
いくつかの実施形態では、本開示で明らかにする「第1の事前設定された回数」、「第2の事前設定された回数」、および「第3の事前設定された回数」が、同じ回数であっても、異なる回数であってもよい。いくつかの実施形態では、本開示で明らかにする「第1の事前設定された比」、「第2の事前設定された比」、および「第3の事前設定された比」が、同じ数値の比であっても、異なる数値の比であってもよい。
図14は、本開示のいくつかの実施形態による、輸送手段を決定するための代表的処理1400を例示するフローチャートである。処理1400を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
サーバ110のネットワークインタフェース230が、ユーザ機器130(たとえば、乗客機器)により伝送される現在の注文を受信してもよい。現在の注文が、サービスを要求する、ユーザ機器130の意図を含んでもよい。ユーザ機器130によりいくつかの動作を遂行した後に、現在の注文を生成してもよい。動作が、サービス・アプリケーション・プログラムを開始するステップ、サービス・アプリケーション・プログラムのインタフェース上でアイコンをクリックする、もしくは選択するステップ、またはサービス・アプリケーション・プログラムのインタフェース上で入力動作を遂行するステップなどを含んでもよい。現在の注文が、1つまたは複数の特性情報を含んでもよい。特性情報が、識別情報、時間情報、位置情報、価格情報など、またはそれらの任意の組合せを含んでもよい。識別情報が、アカウント名、頭部の写真、表示名(ニックネーム)、文書(たとえば、運転免許証、IDカードなど)番号、携帯電話番号、登録時間、ユーザ等級/レベル、ユーザ格付け、ユーザグループ(たとえば、職業、教育レベル、職歴、社会階級、および他の属性に従って分類する)、ユーザ機器の識別など、またはそれらの任意の組合せを含んでもよい。時間情報が、注文時間、出発の時間、到着の推定時間、走行時間、推定高速走行時間、推定低速走行時間、推定待ち時間など、またはそれらの任意の組合せを含んでもよい。位置情報が、注文の開始位置(出発位置)、注文の終了位置(目的地)、乗る位置、降りる位置、通過した位置など、またはそれらの任意の組合せを含んでもよい。価格情報が、追加チップ、許容される費用、総費用などを含んでもよい。
ステップ1410で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、現在の注文を得てもよく、現在の注文が、特性情報を含んでもよい。いくつかの実施形態では、現在の注文の特性情報が、現在の注文の出発位置と目的地の間の直線距離(直線距離、道路距離、経路など)、現在の注文に対応するユーザ装置130の周囲の、事前設定された範囲内での注文数、現在の注文に対応するユーザ装置130の周囲の、事前設定された範囲内での、各輸送手段に対応する運転者機器の数、現在の注文に対応するユーザ装置130の周囲の、事前設定された範囲内での、各輸送手段に対応する、一定期間での第3の注文完了量および/または第3の注文完了比、現在の注文の目的地の周囲の、一定範囲内での第4の注文数、現在の注文の目的地の周囲の、一定範囲内での、各輸送手段に対応する運転者機器の数を含んでもよい。事前設定された範囲を、ユーザ機器130の位置の周囲にある、注文数および/または運転者機器の数に基づき決定してもよい。事前設定された範囲が、ユーザ装置130からの距離しきい値の範囲であってもよい。いくつかの実施形態では、距離しきい値が、1キロメートル、2キロメートル、3キロメートルなどであってもよい。本実施形態は、単に例示にすぎず、現在の注文の特性情報の内容を限定せず、特性情報が、実際の状況に従って当業者により選択されてもよいことに留意されたい。
ステップ1420で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、ユーザ機器130に関係がある過去の注文を得てもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間の範囲内で、ユーザ機器130に関係がある過去の注文のすべてまたは一部を得てもよい。事前設定された期間が、1週間、1か月、四半期、半年、1年、または現在の注文時間以前の、任意の他の時間長の範囲内の期間であってもよい。たとえば、現在の注文時間が午前8:00であるとき、事前設定された期間が、1週間前の午前8:00から現在の時間までの期間であってもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間の範囲内で、就業日に関する過去の注文だけを得てもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間の範囲内で、休日に関する過去の注文だけを得てもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間の範囲内で、就業日に関する過去の注文のすべてもしくは一部、および/または事前設定された期間の範囲内で、休日に関する過去の注文のすべてもしくは一部だけを獲得してもよい。いくつかの実施形態では、事前設定された期間が、一定期間の中の指定した時間であってもよい。たとえば、獲得モジュール310が、先月の就業日ごとの、午前6:00〜午前10:00までの過去の注文を得てもよい。
ステップ1430で、プロセッサ210の決定モジュール320が、1つまたは複数の過去の注文に基づき、1つまたは複数の過去の輸送手段をユーザ機器が選択する1つまたは複数の確率を決定してもよい。1つまたは複数の確率の各々が、すべての注文数に対する、ユーザ(たとえば、乗客)により選択された、ある種の輸送手段に関する注文数の比を指してもよい。たとえば、事前設定された期間の範囲内で、過去の注文が10存在し、それらの注文の中で、タクシー、特別車、急行便、およびヒッチハイクに関する注文数が、4、2、2、および2であると仮定すると、その結果それに応じて、ユーザがタクシーを選択する確率が40%であってもよく、ユーザが特別車を選択する確率が20%であってもよく、ユーザが急行便を選択する確率が20%であってもよく、ユーザがヒッチハイクを選択する確率が20%であってもよい。いくつかの実施形態では、ユーザが1つまたは複数の過去の輸送手段を選択する1つまたは複数の確率を、過去の注文での輸送手段に基づき、直接決定してもよい。いくつかの実施形態では、ユーザが1つまたは複数の過去の輸送手段を選択する1つまたは複数の確率を、過去の注文の注文支払情報と、各輸送手段に対応する単価の両方に基づき決定してもよい。たとえば、注文の、キロメートル当たりの単価が、ヒッチハイクの、キロメートル当たりの単価と同じ、またはそれに近いことを、過去の注文が示す場合、過去の注文がヒッチハイクの注文であってもよい。各輸送手段に対応する単価が、固定されていても、変更可能であってもよい。各輸送手段に対応する単価が、同じであっても、異なっていてもよい。各輸送手段に対応する単価が、システムにより設定されても、ユーザにより設定されてもよい。
ステップ1440で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、現在の注文の特性情報に基づき、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率を決定してもよい。注文完了確率が、事前設定された期間の範囲内で、ユーザにより選択されたサービスに関する注文数に対する、ユーザによりある種のサービスが選択され、最終的に完了した注文数の比、たとえば、輸送手段に関するすべての注文数に対する、ユーザに関連する輸送手段に関する、完了した注文数の比を指してもよい。たとえば、事前設定された期間の範囲内で、過去の注文が10存在すると仮定すると、タクシー、特別車、急行便、およびヒッチハイクに関する注文数が、4、2、2、および2である。完了した注文での、タクシー、特別車、急行便、およびヒッチハイクに関する注文数が、3、1、2、および1である。タクシーに関する注文完了確率が75%であってもよく、特別車に関する注文完了確率が50%であってもよく、急行便に関する注文完了確率が100%であってもよく、ヒッチハイクに関する注文完了確率が50%であってもよい。いくつかの実施形態では、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率を、過去の注文での各輸送手段に関する各注文完了確率に基づき直接決定してもよい。いくつかの実施形態では、プロセッサ210が、過去の注文に基づき輸送手段モデルを決定し、現在の注文の特性情報、および輸送手段モデルに基づき、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率をさらに決定してもよい。輸送手段モデルが、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率と、注文の特性情報との間の関係を含んでもよい。
ステップ1450で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、1つまたは複数の過去の輸送手段をユーザ機器130が選択する1つまたは複数の確率、および1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率に基づき、現在の注文の現在の輸送手段を決定してもよい。いくつかの実施形態では、プロセッサ210が、1つまたは複数の過去の輸送手段をユーザ機器130が選択する1つまたは複数の確率と、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率との積を計算し、比較的大きな積を有する輸送手段を、現在の注文の現在の輸送手段として決定してもよい。たとえば、プロセッサ210が、積に基づき輸送手段をソートし、比較的大きな積を有する輸送手段を、現在の輸送手段として決定してもよい。いくつかの実施形態では、プロセッサ210が、最大の積を有する輸送手段を、現在の輸送手段をして決定してもよい。いくつかの実施形態では、プロセッサ210の決定ユニットが、現在の注文が完了した条件の下で、ユーザ機器130が輸送手段を選択する、各輸送手段に関する1つまたは複数の条件付き確率値をさらに決定し、最大の条件付き確率値を有する輸送手段を、現在の注文の現在の輸送手段として決定してもよい。
いくつかの実施形態では、処理が、他のステップを含んでもよく、たとえば、サーバ110が、ステップ1450の後に、現在の輸送手段を記憶してもよい。上述のステップの中間処理結果および/または最終処理結果を記憶してもよい。結果を、データベース130、またはシステム内の、記憶機能を有する他のモジュールもしくはユニットに記憶してもよい。いくつかの実施形態では、サーバ110が、プロセッサ210により決定された現在の輸送手段に対応する1つまたは複数の運転者機器に注文を直接送りつけてもよい。運転者機器が、プロセッサ210により決定された現在の輸送手段に対応してもよい。いくつかの実施形態では、サーバ110が、プロセッサ210により決定された現在の輸送手段をユーザ機器130(乗客機器)に伝送してもよい。乗客が輸送手段を受け入れた場合、サーバ110が、輸送手段に対応する運転者機器に注文を送りつけてもよい。乗客が輸送手段を受け入れない場合、サーバ110が、乗客により選択された輸送手段を受け入れ、乗客により選択された輸送手段に対応する運転者機器に注文を送りつけてもよい。
いくつかの実施形態では、上記処理で、ステップのいくつかを、たとえば、ステップ1430およびステップ1440を、同時に遂行してもよい。いくつかの実施形態では、上記処理で、ステップのいくつかの順序を交換してもよい。たとえば、ステップ1430およびステップ1440の順序を交換してもよい。プロセッサ210が、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率を決定し、次いで、1つまたは複数の過去の輸送手段をユーザ機器が選択する1つまたは複数の確率を決定してもよい。
図15は、本開示のいくつかの実施形態による、1つまたは複数の輸送手段をユーザが選択する1つまたは複数の確率を決定するための代表的処理を例示するフローチャートである。処理1500を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
ステップ1510で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、ステップ1420で得た、過去の注文の支払情報に基づき、過去の注文の各々に対応する単価を決定してもよい。過去の注文の支払情報が、輸送手段、タクシーメータ上に表示された価格、第1の価格、および第2の価格を含んでもよい。第1の価格が、ユーザ(たとえば、乗客)により運転者に支払われる追加費用、たとえば、チップまたは燃料費であってもよい。第2の価格が、割引クーポンまたは金券などの、乗客の支払いからシステムまたは運転者により請求されない費用であってもよい。過去の注文それぞれに対応する単価が、キロメートル当たりの単価であっても、マイル当たりの単価であってもよい。
いくつかの実施形態では、過去の注文での、単価の獲得モデルが、次式であってもよい。
式中、Paは、過去の注文それぞれに対応する単価であり、価格1は、過去の注文に対応する輸送手段の、事前設定された単価であり、P1は、タクシーメータ上に示された価格であり、P2は第1の価格であり、P3は第2の価格である。
いくつかの実施形態では、過去の注文での、単価の獲得モデルが、次式であってもよい。
式中、価格2は、過去の注文に対応する輸送手段の、最適化された単価である。価格1と価格2の間の関係が、任意であってもよい。いくつかの実施形態では、価格2の獲得モデルが、次式であってもよい。
ステップ1520で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、過去の注文の総数に対する、異なる単価に対応する過去の注文数の比を決定してもよい。たとえば、過去の注文が100あり、かつステップ1510で決定した、過去の注文での単価が11あると仮定すると、過去の注文の総数に対する、ステップ1620で得た、異なる単価に対応する過去の注文数の比F(Pa)を表2に示す。
ステップ1530で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、異なる単価と、1つまたは複数の輸送手段の各々に対応する単価を比較して、異なる単価に対応する輸送手段を決定してもよい。たとえば、輸送手段タクシーに関する、対応する事前設定された単価が2.5であり、その結果、表2でPa=2.5に対応する輸送手段がタクシーである。
ステップ1540で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、異なる単価に対応する輸送手段をユーザ機器が選択する確率を決定してもよい。いくつかの実施形態では、プロセッサ210の決定モジュール320が、過去の注文の総数に対する、ステップ1620で得た異なる単価に対応する過去の注文数の比を、1610として決定してもよい。たとえば、表2でPa=2.5に対応する輸送手段がタクシーであり、Pa=2.5に対応する比F(Pa)=20%が、乗客がタクシーを輸送手段として選択する確率である。
いくつかの実施形態では、処理が、他のステップを、たとえば、記憶するステップをさらに含んでもよい。上述のステップの中間処理結果および/または最終処理結果を記憶してもよい。結果を、データベース130、またはシステム内の、記憶機能を有する他のモジュールもしくはユニットに記憶してもよい。いくつかの実施形態では、処理の中にあるステップのいくつかを、たとえば、ステップ1530およびステップ1540を、同時に遂行してもよい。
図16は、本開示のいくつかの実施形態による、1つまたは複数の輸送手段に関する、現在の注文の1つまたは複数の注文完了確率を決定するための代表的処理1600を例示するフローチャートである。処理1600を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
サーバ110のネットワークインタフェース230が、ユーザ機器130(たとえば、乗客機器)により伝送される現在の注文を受信してもよい。ステップ1610で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、現在の注文を得てもよい。現在の注文が特性情報を含んでもよい。いくつかの実施形態では、現在の注文の特性情報が、出発位置と現在の注文の目的地との間の直線距離、現在の注文に対応するユーザ装置130の周囲の、事前設定された範囲内での注文数、現在の注文に対応するユーザ装置130の周囲の、事前設定された範囲内での、各輸送手段に対応する運転者機器の数、現在の注文に対応するユーザ装置130の周囲の、事前設定された範囲内での、各輸送手段に対応する、一定期間での第3の注文完了量および/もしくは第3の注文完了比、現在の注文の目的地の周囲の範囲内での、第4の注文数、現在の注文の目的地の周囲の一定範囲内での、各輸送手段に対応する運転者機器の数など、またはそれらの任意の組合せを含んでもよい。本実施形態は、単に例示にすぎず、現在の注文の特性情報の内容を限定せず、特性情報が、実際の状況に従って当業者により選択されてもよいことに留意されたい。
ステップ1620で、プロセッサ210(プロセッサ210の獲得モジュール310)が、輸送手段モデルを得てもよい。輸送手段モデルを、プロセッサ210のトレーニングモジュール340により遂行されるトレーニングにより得てもよい。輸送手段モデルが、トレーニングデータのような、事前設定された期間の範囲内で、各輸送手段の注文に関係がある特性情報を取り上げてもよく、線形回帰モデルまたは非線形回帰モデルなどの方法を採用してもよい。線形回帰モデルが、単純線形回帰モデル、バイナリ線形回帰モデル、多重線形回帰モデル、ロジスティック回帰モデル、サポート・ベクトル・マシン・モデルなどであってもよい。非線形回帰モデルが、単純非線形回帰モデル、バイナリ非線形回帰モデル、および多重非線形回帰モデル、ニューラルネットワーク、決定木、マルコフ連鎖、モンテカルロ法、変分法などであってもよい。トレーニングデータが、1つまたは複数の入力、および1つまたは複数の出力を含んでもよい。1つまたは複数の入力が、注文に関係がある特性情報を含んでもよい。1つまたは複数の出力が、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率を含んでもよい。
いくつかの実施形態では、輸送手段モデルが、システム内にすでに存在していてもよい。たとえば、輸送手段モデルを、データベース140、記憶領域220、またはシステム内の、記憶機能を有する他のユニットもしくはモジュールに記憶してもよい。プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、データベース140、記憶領域220、またはシステム内の、記憶機能を有する他のユニットもしくはモジュールから輸送手段モデルを得てもよい。いくつかの実施形態では、ユーザ機器により伝送される現在の注文を受信したとき、プロセッサ210が、得た過去の注文に基づき、輸送手段モデルをリアルタイムで決定してもよい。
ステップ1630で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、輸送手段モデル、および現在の注文の特性情報に基づき、1つまたは複数の過去の輸送手段の各々に関する、現在の注文の1つまたは複数の注文完了確率を決定してもよい。
いくつかの実施形態では、処理が、他のステップを、たとえば、記憶するステップをさらに含んでもよい。上述のステップの中間処理結果および/または最終処理結果を記憶してもよい。結果を、データベース130、またはシステム内の、記憶機能を有する他のモジュールもしくはユニットに記憶してもよい。いくつかの実施形態では、処理の複数のステップを、たとえば、ステップ1610およびステップ1620を結合して、1つのステップにしてもよい。現在の注文の特性情報、および輸送手段モデルを、同じステップで得てもよい。いくつかの実施形態では、処理のステップの順序を、たとえば、ステップ1610およびステップ1620の順序を交換してもよい。プロセッサ210が、輸送手段モデルを最初に得て、次いで、現在の注文の特性情報を得てもよい。
図17は、本開示のいくつかの実施形態による、現在の注文の推奨目的地を決定するための代表的処理1700を例示するフローチャートである。処理1700を、図1に例示する輸送サービスシステムに適用してもよい。たとえば、処理を、1組の命令としてサーバ200の非一時的メモリに記憶し、プロセッサ210により呼び出し、実行してもよい。
本開示では、ユーザ機器に推奨する目的地を、現在の目的地と呼ぶ場合がある。たとえば、配車サービスに関しては、ユーザが配車ソフトウェアをオープンして、配車サービスを使用するとき、いくつかの実施形態では、ユーザが、出発位置および目的地などの情報を手作業で入力してもよい。いくつかの実施形態では、ユーザにより手作業で入力する処理をなくし、それにより、ユーザ体験を改善するために、サーバが、ユーザに関連する過去の注文に基づき、目的地をユーザに推奨してもよい。ユーザに推奨する目的地が、過去の目的地であっても、過去の目的地と異なる位置であってもよい。本開示では、過去の目的地が、過去の注文で出現した目的地を指す場合がある。
ステップ1710で、サーバ110のネットワークインタフェース230が、ユーザ機器130(たとえば、乗客機器)により伝送される目的地推奨リクエストを受信してもよい。目的地推奨リクエストが、ユーザ機器130の識別、および現在の時間を含んでもよい。いくつかの実施形態では、現在の時間が、ユーザ機器内のサービス・アプリケーション・プログラム(たとえば、ユーザ機器130内の配車ソフトウェア)をオープンした時間を指してもよい。ユーザ機器の識別が、アカウント名、頭部の写真、表示名(ニックネーム)、文書(たとえば、運転免許証、IDカードなど)番号、携帯電話番号など、またはそれらの任意の組合せを含んでもよい。いくつかの実施形態では、目的地推奨リクエストが、たとえば、サービス・アプリケーション・プログラムをオープンするステップ、サービス・アプリケーション・プログラムのインタフェース内のアイコンに対する動作を遂行するステップ、およびサービス・アプリケーション・プログラムのインタフェース上でサービス・アプリケーション・プログラム内に設定された他の動作を入力する、または実行するステップを含む形で存在してもよい。いくつかの実施形態では、ユーザが、配車ソフトウェアで目的地推奨サービスを設定してもよく、ユーザが配車ソフトウェアをオープンしたとき、サーバ110により決定された現在の目的地を、ユーザ機器により受信してもよい。
ステップ1720で、プロセッサ210(たとえば、プロセッサ210の獲得モジュール310)が、事前設定された期間の範囲内で、ユーザ機器130に関係がある過去の注文を得てもよい。いくつかの実施形態では、獲得モジュール310が、ユーザ機器130に関連する過去の注文をデータベース130から抽出してもよい。いくつかの実施形態では、獲得モジュール310が、ユーザ機器130に関連する過去の注文を得てもよい。過去の注文が、過去の目的地および過去の注文時間を含んでもよい。過去の注文に含まれる他の情報が、本開示の他の場所にある記述と類似していてもよく、ここに繰り返さない。
いくつかの実施形態では、事前設定された期間が、現在の時間に関係があってもよい。事前設定された期間が、1週間、10日、1か月、四半期、半年、1年、または現在の時間以前の任意の他の時間長であってもよい。たとえば、現在の時間が午前8:00である場合、事前設定された期間が、1週間前の午前8:00から現在の時間までの期間であってもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間で、範囲内の就業日に関する過去の注文だけを得てもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間の範囲内で、休日に関する過去の注文だけを得てもよい。いくつかの実施形態では、獲得モジュール310が、事前設定された期間の範囲内で、就業日に関する過去の注文のすべてもしくは一部、および/または事前設定された期間の範囲内で、休日に関する過去の注文のすべてもしくは一部を獲得してもよい。いくつかの実施形態では、事前設定された期間が、現在の時間に関係がなくてもよい。いくつかの実施形態では、事前設定された期間が、一定期間の中の指定した時間であってもよい。たとえば、獲得モジュール310が、先月の就業日ごとの、午前6:00〜午前10:00までの過去の注文を得てもよい。
過去の注文のいくつかの実施例を表3に例示する。表3に例示するように、過去の注文が、過去の注文時間および過去の目的地を含んでもよい。過去の目的地が、中関村ソフトウェア・パーク・ゲート6、Jinguyuanビル1などを含んでもよい。過去の注文時間が、2015年12月10日の午前10:05などを含んでもよい。
ステップ1730で、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、得た過去の注文および現在の時間に基づき、過去の注文で1つまたは複数の過去の目的地をユーザ機器130が選択する1つまたは複数の確率を決定してもよい。いくつかの実施形態では、過去の注文を使用して、過去の注文で1つまたは複数の過去の目的地をユーザ機器130が選択する1つまたは複数の確率を決定してもよい。いくつかの実施形態では、選択モジュール360が、過去の注文を選択し、過去の注文のいくつかを選んで、1つまたは複数の過去の目的地をユーザ機器130が選択する1つまたは複数の確率を決定してもよい。いくつかの実施形態では、過去の注文が、複数の過去の目的地を含んでもよく、決定モジュール310が、すべての過去の注文数に対する、同じ過去の目的地を有する注文数の比を計算してもよく、過去の目的地をユーザ機器130が選択する確率として比を決定してもよい。いくつかの実施形態では、プロセッサ210が、過去の注文に基づき、目的地分布モデルを決定してもよい。さらに、プロセッサ210(たとえば、プロセッサ210の決定モジュール320)が、目的地分布モデルに基づき、異なる過去の目的地をユーザ機器130が選択する1つまたは複数の確率を決定してもよい。
ステップ1740で、プロセッサ210が、過去の注文で1つまたは複数の過去の目的地をユーザ機器130が選択する1つまたは複数の確率に基づき、現在の目的地を決定してもよい。現在の目的地の数が、1つであっても、複数であってもよい。いくつかの実施形態では、サーバ110のネットワークインタフェース230の伝送モジュール420が、現在の目的地をユーザ機器130にさらに伝送してもよい。いくつかの実施形態では、現在の目的地が、過去の注文での、すべての目的地であってもよい。いくつかの実施形態では、現在の目的地を、サービス・アプリケーション・プログラムのユーザインタフェース上に表示してもよい。いくつかの実施形態では、現在の目的地を、ユーザインタフェースの第1の画面上に表示してもよく、その結果、配車ソフトウェアをオープンしている限り、ユーザが現在の目的地を見ることができる。いくつかの実施形態では、ユーザが、入力すべき目的地に関する情報の領域をクリックしたとき、現在の情報を表示してもよい。いくつかの実施形態では、現在の目的地を、表作成、地図、目的地マークなどを含むが、それらに限定されない方法で表示してもよい。
いくつかの実施形態では、現在の目的地が、過去の注文でのいくつかの目的地であってもよい。たとえば、サーバ110が、比較的大きな出現数または比を有する目的地を、たとえば、上位10の、上位5の、上位3の、上位2の、または1位の出現数または比を有する目的地を、ユーザ機器130に伝送してもよい。いくつかの実施形態では、サーバ110が、事前設定されたしきい値に基づき目的地を選択し、第1の画面上に目的地推奨の形で目的地を表示してもよい。たとえば、サーバ110により伝送される現在の目的地が、A、B、およびCを含んでいる場合があり、そこでは、ユーザ機器130によりA、B、およびCが選択される確率がa、b、およびcであり、ユーザ機器で事前設定されたしきい値dとa、b、およびcとの間の関係が、a<b<d<cであると仮定すると、それに従って、cに対応する目的地Cが、ユーザ機器により第1の画面上に目的地推奨の形で表示されてもよい。
いくつかの実施形態では、1つまたは複数の現在の目的地をユーザ機器が選択する1つまたは複数の確率を、現在の目的地と関連付けて、次いで、ユーザ機器130に一緒に伝送してもよい。現在の目的地を、第1の画面上に一定の順序で表示してもよい。たとえば、現在の目的地を、対応する確率、または現在の目的地の出現数に応じて、ユーザ機器130のユーザインタフェース上に、降順に、昇順に、または順不同に表示してもよい。
ユーザ機器130が、現在の目的地を受信したとき、ユーザが望む目的地が現在の目的地に含まれている場合、ユーザが、目的地として住所を直接選択してもよい。ユーザが望む目的地が現在の目的地に含まれていない場合、ユーザが、目的地を手作業で入力しても、現在の目的地を生成するための条件を修正してもよく、その結果、サーバが、ユーザが選択するための現在の目的地を再生成してもよい。
いくつかの実施形態では、処理が、他のステップを、たとえば、記憶するステップをさらに含んでもよい。上述のステップの中間処理結果および/または最終処理結果を記憶してもよい。結果を、データベース140、またはシステム内の、記憶機能を有する他のモジュールもしくはユニットに記憶してもよい。処理で他のステップをさらに追加してもよく、たとえば、ステップ1720で得た後に、過去の注文をさらに選択してもよい。ステップ1740の前に、現在の目的地を生成するための条件をさらに追加してもよく、たとえば、5つの目的地だけを選択し、伝送してもよい。いくつかの実施形態では、処理の中にあるステップのいくつかを、他の方法により置換してもよい。たとえば、過去の注文で1つまたは複数の目的地をユーザ機器が選択する1つまたは複数の確率を決定するステップ1730が、必須ではなくてもよく、サーバが、過去の注文での、目的地の出現数に直接基づき、現在の目的地を生成してもよい。
図18は、本開示のいくつかの実施形態による、サーバによりユーザ機器の現在の目的地を決定するための代表的処理1800を例示するフローチャートである。
ステップ1810で、プロセッサ210が、ユーザ機器の識別に基づき、ユーザ機器に関連する目的地分布モデルを得てもよい。いくつかの実施形態では、目的地分布モデルを、データベース140、記憶領域220、またはシステム内の、記憶機能を有する他のユニットもしくはモジュールから得てもよい。
ステップ1820で、プロセッサ210が、目的地分布モデルおよび現在の時間に基づき、1つまたは複数の過去の目的地をユーザ機器が選択する1つまたは複数の確率を決定してもよい。
ステップ1830で、プロセッサ210が、現在の時間に1つまたは複数の過去の目的地をユーザ機器が選択する1つまたは複数の確率に基づき、現在の目的地を決定してもよい。
いくつかの実施形態では、プロセッサ210が、1つまたは複数の過去の目的地をユーザ機器が選択する、決定した1つまたは複数の確率に基づき、1つまたは複数の過去の目的地をソートしてもよい。いくつかの実施形態では、プロセッサ210が、最高の確率を有する1つまたは複数の目的地を、現在の目的地として決定してもよい。
いくつかの実施形態では、処理が、他のステップを、たとえば、記憶するステップをさらに含んでもよい。上述のステップの中間処理結果および/または最終処理結果を記憶してもよい。結果を、データベース140、またはシステム内の、記憶機能を有する他のモジュールもしくはユニットに記憶してもよい。いくつかの実施形態では、サーバ110が、ネットワークインタフェース230を通してユーザ機器130に、決定した現在の目的地を伝送してもよい。いくつかの実施形態では、サーバ110が、現在の目的地をユーザ機器が選択する、決定した確率をさらに伝送してもよい。いくつかの実施形態では、サーバ110が、ユーザ機器130から情報を受信してもよい。受信した情報が、ユーザ機器130による、現在の目的地の選択/確認/拒否、ユーザ機器130による、1つまたは複数の現在の目的地のソーティング、ユーザ機器130からの、非推奨情報のフィードバックなどを含んでもよい。いくつかの実施形態では、サーバ110により推奨された目的地に関する確率しきい値を、ユーザ機器130内で設定してもよい。いくつかの実施形態では、サーバ110により伝送される、各目的地に関して選択されている確率が、ユーザ機器で設定したしきい値よりも低いことを検出したとき、ユーザ機器130が、非推奨情報というフィードバックをサーバに提供してもよい。サーバ110が、ユーザ機器により伝送される非推奨情報を受信したとき、ユーザ機器130に伝送される各目的地情報に関する確率の中に、要件を満たす確率が存在するように、および推奨目的地がまったく現れない状況を避けるように、過去の注文を選択するための出現数を調節してもよい。
図19は、本開示のいくつかの実施形態による、サーバにより目的地分布モデルを決定するための代表的処理1900を例示するフローチャートである。
ステップ1910で、プロセッサ210が、過去の注文の注文時間に基づき、1つまたは複数の目的地の各々に関する、時間領域での分布データを得てもよい。いくつかの実施形態では、分布データが、ヒストグラムなどの形式であってもよい。代表的な、目的地の分布データを、図20Aおよび図20Bに例示する。図20Aは、目的地として中関村ソフトウェア・パーク・ゲート6を取り上げる、表3に基づき得た分布データであり、図20Bは、目的地としてJinguyuanビル1を取り上げる、表3に基づき得た分布データである。図20Aおよび図20Bでは、水平軸が注文時間分布を表してもよい。図20Aでは、垂直座標が、目的地が中関村ソフトウェア・パーク・ゲート6である過去の注文の出現頻度を表してもよい。図20Aからわかるように、中関村ソフトウェア・パーク・ゲート6が目的地であるとき、ユーザの注文時間が9:00〜10:00の間に集中する。図20Bでは、垂直座標が、目的地がJinguyuanビル1である過去の注文の出現頻度を表してもよい。図20Bからわかるように、Jinguyuanビル1が目的地であるとき、ユーザの注文時間が、18:00〜21:00の間に集中する。
ステップ1920で、プロセッサ210が、分布データに基づき、1つまたは複数の目的地の各々に関する1つまたは複数の確率密度関数を決定してもよい。
いくつかの実施形態では、プロセッサ210が、各目的地に関する、時間領域での分布データに基づき、1つまたは複数の過去の目的地に関する1つまたは複数の確率密度関数f(t)を推定してもよい。時間領域での目的地の分布が、正規分布、ポアソン分布、指数分布、一様分布などであってもよい。同じ目的地への、ユーザの注文時間分布Tが、正規分布に従うと仮定すると、プロセッサ210が、過去の注文での、目的地の時間分布に関する平均値μおよび標準偏差σを計算してもよく、正規分布をN(μ、σ2)と表現してもよい。正規分布に従う、過去の目的地の確率密度関数f(t)を、式(4)により決定してもよい。
ステップ1930で、プロセッサ210が、1つまたは複数の確率密度関数に基づき、目的地分布モデルを決定してもよい。
式(5)に例示するように、過去の目的地の時間確率分布関数を、過去の目的地の1つまたは複数の確率密度関数f(t)に基づき得てもよい。
さらに、時間Tに注文される過去の目的地(Xiにより表す)を含む過去の注文の確率P(T|Xi)を、式(6)により決定してもよい。
式中、ΔTが、小さな時間窓を表してもよく、時間Tを中心とする近傍を、T−ΔT〜T+ΔTによって形成してもよい。Tが正規分布N(μ,σ2)に従うので、
が標準正規分布N(0,1)に従う。
式中、
である。
目的地分布モデルを、式(9)に基づき得てもよい。
式中、n≧1が、過去の注文での、目的地の数を表してもよく、Tが、現在の時間であってもよく、Xiが、過去の注文での、i番目の目的地情報を表してもよく、P(Xi|T)が、現在の時間にi番目の目的地をユーザ機器130が選択する確率を表してもよく、P(Xi)が、i番目の目的地をユーザ機器130が選択する確率を表してもよく、
である。
いくつかの実施形態では、ステップ1910の前に、プロセッサ210が、過去の注文で各目的地に関して、出現数に関する統計情報を収集してもよく、たとえば、同じ目的地を有する過去の注文を集めてもよい。事前設定された回数のしきい値以上出現する目的地を、目的地ごとの異なる出現数だけではなく、事前設定された回数のしきい値に基づき、選択してもよい。いくつかの実施形態では、事前設定された回数のしきい値が、任意であってもよく、たとえば、10回、5回、3回などであってもよい。いくつかの実施形態では、事前設定された回数のしきい値を、過去の注文の、選択した、事前設定された期間に基づき、事前設定してもよい。事前設定された期間が長いほど、それだけ事前設定された回数のしきい値が大きくなり、事前設定された期間が短いほど、それだけ事前設定された回数のしきい値が小さくなる。本実施形態は、単に例示にすぎず、事前設定された回数のしきい値の設定方法を限定するものではなく、当業者が、実際の状況に従って、適切な、事前設定された回数のしきい値を選択してもよいことに留意されたい。
いくつかの実施形態では、何人かのユーザに関する輸送データが疎であって、一様でなくてもよい。表3に例示するように、2つの比較的集中する目的地に加えて、他の目的地が、1度または2度しか出現しない場合があり、それにより、ぴったり合う正規分布関数の標準偏差σが極めて小さくなる場合がある。いくつかの実施形態では、標準偏差σにペナルティ係数
を追加してもよく、そこでは、hが過去の注文の出現数であってもよい。
さらに、理論上、標準偏差の範囲が(−∞,+∞)であるが、実際には、区間(−3σ,+3σ)内の確率がすでに0.999に達する場合があり、したがって、区間(−3σ,+3σ)を超える確率を、最小値0.0001に設定してもよい。
ステップ1920で、1つまたは複数の目的地に関する1つまたは複数の確率密度関数を得るとき、プロセッサ210が、ステップ1910で得た分布データを処理してもよい。最初に、日付を取り除いてもよく、1日の時間だけを保持してもよく、次いで、時間のフォーマットを変換してもよい。たとえば、表3では、9:30を9.5に変換してもよく、22:30を22.5に変換してもよい。表3の時間すべてを変換した後に、表4を得てもよい。表4からわかるように、個々の無意味な情報ポイントに加えて、ユーザが、午前9:00〜午前10:00の期間の範囲内に会社(中関村ソフトウェアパーク)に行き、午後6:00〜午後9:00の期間の範囲内に自宅(Jinguyuan)に戻る注文をしている。
各目的地に関する時間分布および頻度のコンパクト性/疎であることを定量化するために統計情報指標を採用してもよい。統計情報指標が、平均値e、標準偏差d、頻度fなど、またはそれらの任意の組合せを含んでもよい。
図21Aおよび図21Bは、平均値eの計算を例示する。図21Aは、ベクトル化注文時間の概略図を例示し、図21Bは、注文時間のベクトル変換の概略図を例示する。図21Aおよび図21Bの円盤が、時計(1日の中の0:00〜23:59:59)を表してもよく、円弧矢印が時計の進む方向を表してもよく、2つの座標軸がそれぞれx軸およびy軸を表す。図21Aで3つのベクトルにより反時計回りの順で表される時間が、3:00、22:00、および23:00である。3つのベクトルの和をとり(ベクトルに関する加算演算を図21Bに示す)、和ベクトルを得る。円盤上の和ベクトルの位置により表される時間が、3つの時間の平均時間(たとえば、平均値)であってもよい。したがって、3:00、22:00、および23:00の平均時間が0:00であってもよく、8:00、9:00、および10:00の平均時間が9:00であってもよく、23:00、0:00、および4:00の平均時間が1:00であってもよい。
m個のベクトルの和ベクトルに対応する時間を見つけ出す数学的方法を、以下のように表現してもよい、すなわち、k番目の時間のベクトルtkを(cosθk,sinθk)と表現してもよく、式中、
であり、m個の時間ベクトルに対応するベクトルの和ベクトルを
と表現してもよく、このとき、和ベクトルとx軸の間の角度が
であり、θに対応する時間が
である。
表5に例示するデータの、時間分布および分布指標を、表3のデータに基づき得てもよい。
時間T=9:00であると仮定すると、表5中の目的地の時間分布に基づき、以下の情報を得てもよい:
P(T=9|X=中関村ソフトウェア・パーク・ゲート6)=0.3、P(X=中関村ソフトウェア・パーク・ゲート6)=0.47;
P(T=9|X=Jinguyuanビル1)=0.05、P(X=Jinguyuanビル1)=0.37;
P(T=9|X=知春路)=0.02、P(X=知春路)=0.05;
P(T=9|X=五道口ショッピングセンタ)=0.02、P(X=五道口ショッピングセンタ)=0.05;および
P(T=9|X=北京首都国際空港)=0.01、P(X=北京首都国際空港)=0.05。
式(9)に基づき、以下の情報を得てもよい:
P(X=中関村ソフトウェア・パーク・ゲート6|T=9)=0.88125;
P(X=Jinguyuanビル1)|T=9)=0.115625;
P(X=知春路|T=9)=0.00625;
P(X=五道口ショッピングセンタ|T=9)=0.00625;および
P(X=北京首都国際空港|T=9)=0.003125。
いくつかの実施形態では、サーバが、得たデータをユーザ機器に伝送してもよい。ユーザ機器で設定した確率しきい値が0.88であると仮定すると、画面上の目的地推奨で「中関村ソフトウェア・パーク・ゲート6」が表示される。
いくつかの実施形態では、処理が、他のステップを、たとえば、記憶するステップをさらに含んでもよい。上述のステップの中間処理結果および/または最終処理結果を記憶してもよい。結果を、データベース130、またはシステム内の、記憶機能を有する他のモジュールもしくはユニットに記憶してもよい。
基本概念についてこのように記載してきたが、この詳細な開示を読んだ後に、前述の詳細な開示が、単なる実施例として提示されることが意図され、かつ限定していないことが、当業者にかなり明らかになってもよい。本明細書で明示的に言及していないが、さまざまな改変、改善、および修正が行われてもよく、当業者に意図される。これらの改変、改善、修正が、これらの開示により示唆されることが意図され、本開示の代表的実施形態の趣旨および範囲に入る。
さらに、本開示の実施形態を説明するために、ある種の専門用語を使用してきた。たとえば、用語「一実施形態」、「ある実施形態」、および/または「いくつかの実施形態」は、その実施形態に関連して説明する特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本開示のさまざまな部分で「ある実施形態」、「一実施形態」、または「代替実施形態」への2つ以上の参照が、すべて同じ実施形態を参照しているわけでは必ずしもないことを、強調されており、認識されたい。さらに、特定の特徴、構造、または特性を、本開示の1つまたは複数の実施形態で、適切であるとして組み合わせてもよい。
さらに、本開示の様態について、任意の新しく有用な処理、機械、製造、もしくは組成物、またはそれらの任意の新しい有用な改善を含む、いくつかの特許性のあるクラスまたは関係のいずれかで、本明細書で例示し、説明している場合があることが当業者には認識されるであろう。それに応じて、本開示の様態を、完全にハードウェアで、完全にソフトウェアで(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書で一般にすべて「ブロック」、「モジュール」、「エンジン」、「ユニット」、「構成要素」、または「システム」と呼ぶ場合がある、ソフトウェアとハードウェアを組み合わせる実装で、実装してもよい。さらに、本開示の様態が、具体化されたコンピュータ可読プログラムコードを有する1つまたは複数のコンピュータ可読媒体の形で具体化されたコンピュータプログラム製品の形をとってもよい。
コンピュータ可読信号媒体が、中に具体化された、たとえば、ベースバンドの中に、または搬送波の一部として具体化された、コンピュータ可読プログラムコードを有する、伝播データ信号を含んでもよい。そのような伝播信号が、電磁的、光学的など、またはそれらの任意の適切な組合せを含むさまざまな形のいずれをとってもよい。コンピュータ可読信号媒体が、コンピュータ可読記憶媒体ではなく、かつ命令実行システム、装置、または機器により、またはそれらと接続して使用するために、プログラムを伝達し、伝搬し、または転送してもよい、任意のコンピュータ可読媒体であってもよい。コンピュータ可読信号媒体上に具体化されたプログラムコードを、無線、有線、光ファイバケーブル、RFなど、または前述の任意の適切な組合せを含む、任意の適切な媒体を使用して伝送してもよい。
本開示の様態に関する動作を行うためのコンピュータ・プログラム・コードを、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(software as a service)などのサービスとして提供されてもよい。
その結果さらに、処理要素もしくはシーケンスについて説明する順序、または数値、文字、もしくは他の指定の使用が、特許請求の範囲で指定する場合があるときを除いて、特許請求される処理および方法を任意の順序に限定することを意図するものではない。上記の開示は、開示のさまざまな有用な実施形態であると現在考えられることを、さまざまな実施例を通して説明しているが、そのような詳細が、単にその目的のためだけのものであること、および添付の特許請求の範囲が、開示する実施形態に限定されるのではなく、それどころか、開示する実施形態の趣旨および範囲に入る修正形態および均等の構成を包含することが意図されることを理解されたい。たとえば、上述のさまざまな構成要素の実装が、ハードウェア機器の形で具体化されてもよいが、同じく、ソフトウェアだけの解決策として、たとえば、既存のサーバまたは移動体機器上へのインストールとして実装されてもよい。
同様に、本開示の実施形態についての前述の説明では、さまざまな特徴が、本開示を合理化する目的で、さまざまな特徴の単一の実施形態、図、または説明の形で一緒にグループ化されることがあり、さまざまな実施形態の1つまたは複数について理解する手助けになることを認識されたい。しかしながら、この開示方法は、特許請求される主題が、各請求項で明示的に説明されるよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、特許請求される主題が、単一の前述の開示される実施形態の特徴すべてよりも少ない特徴に見いだされる場合がある。
いくつかの実施形態では、ある種の実施形態を説明するために使用する、材料、性質などの量を表現する数値が、いくつかの例では、用語「約」、「およそ」、または「実質的に」により修飾されることを理解されたい。特に指定のない限り、「約」、「およそ」、または「実質的に」が、それが説明する値の±20%の変動を示してもよい。それに応じて、いくつかの実施形態では、明細書および特許請求の範囲に示す数値パラメータは、特定の実施形態の望ましい性質に応じて代わる場合がある近似値である。いくつかの実施形態では、数値パラメータが、所定の有効数字を考慮し、数値パラメータを近似するための一般的な方法を採用してもよい。本開示のいくつかの広範な実施形態を例示するように構成された数値範囲およびパラメータが近似値であるにもかかわらず、具体的な実施例での数値が、実用的範囲内で、できるだけ正確であってもよい。
記事、書籍、取扱説明書、刊行物、文献、論文などの、本明細書で引用するそれぞれの特許、特許出願、特許出願公開、および他の資料が、その全体が参照により本明細書に組み入れられる。本開示の内容と相反する、または矛盾する出願履歴文書は対象外となり、本開示の最も広い範囲を限定する(本開示に現在または後で添付される)文書もまた対象外になる。本開示の添付の出願で使用する説明、定義、および/または用語が、本開示に記載する内容と相反する、または矛盾する場合、本開示の説明、定義、および/または用語の使用が優先されなければならないことに留意されたい。
最後に、本開示に記載する実施形態が、本開示の実施形態の原理の、単に例示にすぎないことを理解されたい。他の修正形態が本開示の範囲に入る場合がある。それに応じて、限定ではなく実施例として、本開示の実施形態の代替構成が、本開示の教示に適合すると考えられる場合がある。それに応じて、本開示の実施形態が、本明細書に明示的に導入され、記載される実施形態に限定されない。