IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッドの特許一覧

特許7014895情報処理方法、情報処理システムおよび情報処理デバイス
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-24
(45)【発行日】2022-02-01
(54)【発明の名称】情報処理方法、情報処理システムおよび情報処理デバイス
(51)【国際特許分類】
   G06F 16/9035 20190101AFI20220125BHJP
【FI】
G06F16/9035
【請求項の数】 13
(21)【出願番号】P 2020512039
(86)(22)【出願日】2018-08-22
(65)【公表番号】
(43)【公表日】2020-11-05
(86)【国際出願番号】 CN2018101659
(87)【国際公開番号】W WO2019042194
(87)【国際公開日】2019-03-07
【審査請求日】2020-03-26
(31)【優先権主張番号】201710751923.4
(32)【優先日】2017-08-28
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】516317573
【氏名又は名称】ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100165157
【弁理士】
【氏名又は名称】芝 哲央
(74)【代理人】
【識別番号】100205659
【弁理士】
【氏名又は名称】齋藤 拓也
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(74)【代理人】
【識別番号】100185269
【弁理士】
【氏名又は名称】小菅 一弘
(72)【発明者】
【氏名】リー フイジエ
(72)【発明者】
【氏名】ワン クン
(72)【発明者】
【氏名】フアン ゼシャン
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】国際公開第2016/153540(WO,A1)
【文献】特表2013-517566(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
システムであって、
少なくとも1つの個別の推奨に関する命令のセットを含む少なくとも1つの記憶媒体と、
ユーザのユーザ端末と通信するための少なくとも1つのネットワークインタフェースと、
前記少なくとも1つのネットワークインタフェースに動作可能に結合された少なくとも1つのプロセッサであって、前記少なくとも1つのプロセッサは、
前記ユーザ端末上で実行しているアプリケーションを検出し、前記アプリケーションはネットワークを介して前記システムのネットワークサービスと自動的に通信し、
前記ユーザ端末を介して前記ユーザにより送信されたサービス要求に関して前記アプリケーションと通信し、
前記ユーザの1つまたは複数の現在のコンテキストに関連した特徴と、1つまたは複数の現在のユーザに関連した特徴を取得し、
複数の候補推奨アイテムを取得し、
各候補推奨アイテムに関して、
前記候補推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴を決定し、
前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数のユーザに関連した特徴に基づいて、前記候補推奨アイテムに対応する多次元ベクトルを決定し、前記多次元ベクトルは、複数のエレメントを含み、各エレメントは、前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数の現在のユーザに関連した特徴の1つに対応し、
前記候補推奨アイテムに対応する前記多次元ベクトルを、トレーニングされた推奨モデルに入力することにより、前記候補推奨アイテムに対応する候補収入を決定し、
前記複数の候補推奨アイテムに対応する候補収入に基づいて、前記複数の候補推奨アイテムからターゲット推奨アイテムを選択し、
前記ターゲット推奨アイテムを前記アプリケーションに提供して、前記ユーザの前記ユーザ端末のディスプレイ上にプレゼンテーションを生成し、前記プレゼンテーションは、前記ユーザが相互作用することができるユーザインタフェース特徴を提供する、ように構成された、システム。
【請求項2】
前記複数の候補推奨アイテムから前記ターゲット推奨アイテムを選択するために、前記少なくとも1つのプロセッサは
数の候補収入をランク付けすることにより、前記複数の候補推奨アイテムに対応する前記複数の候補収入の最大候補収入を決定し、
前記最大候補収入に対応する前記候補推奨アイテムを、前記ターゲット推奨アイテムとして選択する、
ように構成された、請求項1に記載のシステム。
【請求項3】
各候補推奨アイテムに関して、前記候補推奨アイテムに対応する前記多次元ベクトルを決定するために、前記少なくとも1つのプロセッサは、
多次元ベクトルフレームを取得し、
前記取得した多次元ベクトルフレーム、前記候補推奨アイテムの、前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数のコンテキストに関連した特徴、および前記1つまたは複数の現在のユーザに関連した特徴に基づいて、前記多次元ベクトルを決定する、ように構成された請求項に記載のシステム。
【請求項4】
前記取得した多次元ベクトルフレーム、前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数の現在のユーザに関連した特徴に基づいて、前記多次元ベクトルを決定するために、前記少なくとも1つのプロセッサは、
前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数の現在のユーザに関連した特徴の各々に関して、対応する値を決定し、
前記決定した値を前記取得した多次元ベクトルフレームに埋め込むことにより、前記多次元ベクトルを決定する、
ように構成された、請求項に記載のシステム。
【請求項5】
前記多次元ベクトルは、複数のバイナリエレメントを含むバイナリベクトルである、請求項乃至のいずれか一項に記載のシステム。
【請求項6】
前記トレーニングされた推奨モデルは、トレーニングプロセスに従って少なくとも1つのコンピュータデバイスにより生成され、前記トレーニングプロセスをインプリメントするために、前記少なくとも1つのプロセッサは、
前記ユーザの複数の履歴オーダを取得し、
前記複数の履歴オーダの各々に関して、前記履歴オーダに関連付けられた1つまたは複数のサンプルコンテキストに関連した特徴、前記ユーザに関連づけられた1つまたは複数のサンプルのユーザに関連した特徴、および前記履歴オーダに関連づけられた1つまたは複数のサンプルの推奨アイテムに関連した特徴を決定し、
予備推奨モデルを取得し、
前記複数の履歴オーダの、前記サンプルのコンテキストに関連した特徴、前記複数の履歴オーダの前記サンプルのユーザに関連した特徴、前記複数の履歴オーダの前記サンプルの推奨アイテムに関連した特徴を、前記予備推奨モデルに入力することにより前記トレーニングされた推奨モデルを取得する、ように構成された、請求項1乃至のいずれか一項に記載のシステム。
【請求項7】
前記少なくとも1つのプロセッサは、
前記ターゲット推奨アイテムに関して、前記ユーザ端末からクリック毎の収入を受信し、
前記クリック毎の収入に基づいて、前記トレーニングされた推奨モデルを更新する、ように構成された、請求項1乃至のいずれか一項に記載のシステム。
【請求項8】
前記サービス要求の前記現在のコンテキストに関連した特徴の少なくとも1つは、サービス要求の目的地、前記サービス要求の現在の天気条件、または前記サービス要求のサービスタイプを備える、請求項1乃至のいずれか一項に記載のシステム。
【請求項9】
前記トレーニングされた推奨モデルは、
【数1】
であり、aは、前記ターゲット推奨アイテムのD次元特徴を指し、aは、前記複数の候補推奨アイテムの、ある候補推奨アイテムを指し、Aは、複数の候補推奨アイテムの集合を指し、Xt,aは、前記現在の反復における、ある候補推奨アイテムを選択するための特徴ベクトルを指し、
【数2】
は、前記aについてのtの反復の後、前記ある候補推奨アイテムの、クリック毎の収入に関するマトリクスを指し、Aは、D次元マトリクスを指し、
【数3】
は、標準偏差を指し、但し、
【数4】
であり、ここにおいて、δは定数を指す、請求項1乃至のいずれか一項に記載のシステム。
【請求項10】
ユーザ端末上で実行しているアプリケーションを検出するステップであって、前記アプリケーションはネットワークを介してシステムのネットワークと自動的に通信する、検出するステップと、
前記ユーザ端末を介してユーザにより送信されたサービス要求に関して前記アプリケーションと通信するステップと、
前記ユーザに関して、1つまたは複数の現在のコンテキストに関連した特徴と1つまたは複数の現在のユーザに関連した特徴を取得するステップと、
複数の候補推奨アイテムを取得するステップと、
各候補推奨アイテムに関して、
前記候補推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴を決定するステップと、
前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数のユーザに関連した特徴に基づいて、前記候補推奨アイテムに対応する多次元ベクトルを決定するステップであって、前記多次元ベクトルは、複数のエレメントを含み、各エレメントは、前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数の現在のユーザに関連した特徴の1つに対応する、決定するステップと、
前記候補推奨アイテムに対応する前記多次元ベクトルを、トレーニングされた推奨モデルに入力することにより、前記候補推奨アイテムに対応する候補収入を決定するステップと、
前記複数の候補推奨アイテムに対応する候補収入に基づいて、前記複数の候補推奨アイテムからターゲット推奨アイテムを選択するステップと、
前記ターゲット推奨アイテムを、前記アプリケーションに提供して、前記ユーザのユーザ端末のディスプレイに、プレゼンテーションを生成するステップであって、前記プレゼンテーションは、前記ユーザが相互作用することができるユーザインタフェース特徴を提供する、生成するステップと、
を備えた、方法。
【請求項11】
記複数の候補推奨アイテムからターゲット推奨アイテムを前記選択するステップは
数の候補収入をランク付けすることにより、前記複数の候補推奨アイテムに対応する前記複数の候補収入の最大候補収入を決定するステップと、
前記最大候補収入に対応する前記候補推奨アイテムを、前記ターゲット推奨アイテムとして選択するステップと、
を備えた、請求項10に記載の方法。
【請求項12】
各候補推奨アイテムに関して、前記候補推奨アイテムに対応する前記多次元ベクトルの前記決定するステップは、
多次元ベクトルフレームを取得するステップと、
前記取得した多次元ベクトルフレームと、前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴と、前記1つまたは複数の現在のコンテキストに関連した特徴と、および前記1つまたは複数の現在のユーザに関連した特徴と、に基づいて前記多次元ベクトルを決定するステップと、
を備えた、請求項10に記載の方法。
【請求項13】
前記取得した多次元ベクトルフレーム、前記候補推奨アイテムの前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、および前記1つまたは複数の現在のユーザに関連した特徴に基づいて前記多次元ベクトルを前記決定するステップは、
前記候補推奨アイテムの、前記1つまたは複数の推奨アイテムに関連した特徴、前記1つまたは複数の現在のコンテキストに関連した特徴、前記1つまたは複数のユーザに関連した特徴の各々に関して、対応する値を決定するステップと、
前記決定した値を前記取得した多次元ベクトルフレームに埋め込むことにより前記多次元ベクトルを決定するステップと、
を備えた、請求項12に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、2017年8月28日に出願された中国特許出願第201710751923.4号の優先権を主張し、その全体の内容を参照することによりここに組み込まれる。この開示は、インテリジェント推奨技術の分野に関し、特に、情報処理方法、情報処理システム、情報処理デバイスおよびコンピュータ可読記憶媒体に関する。
【背景技術】
【0002】
関連技術におけるカスタマイズされた推奨方法は、大抵の場合、データオフラインを解析する推奨アルゴリズムに基づいたアルゴリズムモデルを生成することができ、このため、「コールドスタート」(新しいプロダクトがあるとき、または新しいユーザ特徴データが相対的にわずかであるとき)を解決することができず、コンスタントに変化するユーザの好みに適応することができない。それゆえ、異なる移動シーン(travel scenes)において、これらのユーザによって要求されるより良い製品およびサービスを提供するために異なる移動シーンのユーザの好みとコンテキスト特徴(context features)の両方を考慮した適切な広告戦略を設計する必要がある。
【発明の概要】
【0003】
この開示の第1の態様によれば、システムが提供される。システムは、少なくとも1つの記憶媒体と、少なくとも1つの記憶媒体と通信している少なくとも1つのプロセッサを含むことができる。少なくとも1つの記憶媒体は、サービス要求の推奨された情報を決定するための命令のセットを含むことができる。この命令のセットを実行すると、少なくとも1つのプロセッサは、1つ以上の以下の動作を実行するように命令されることができる。少なくとも1つのプロセッサは、ユーザ端末で実行中のアプリケーションを検出することができ、アプリケーションは、自動的にネットワークを介してシステムのネットワークサービスと通信する。少なくとも1つのプロセッサは、ユーザ端末を介してユーザにより送信されたサービス要求に関してアプリケーションと通信することができる。少なくとも1つのプロセッサは、1つ以上の現在のコンテキスに関連した特徴と、ユーザに関する1つ以上の現在のユーザに関連した特徴を取得することができる。少なくとも1つプロセッサは、トレーニングされた推奨モデルを用いて、複数の候補推奨アイテムを取得することができる。少なくとも1つのプロセッサは、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて前記複数の候補推奨アイテムからターゲット推奨アイテムを選択することができる。少なくとも1つのプロセッサは、ターゲット推奨アイテムをアプリケーションに提供して、ユーザのユーザ端末のディスプレイに表示を生成することができ、表示は、ユーザが相互作用することができるユーザインタフェース特徴を提供する。
【0004】
いくつかの実施形態において、複数の候補推奨アイテムから推奨アイテムを選択するために、少なくとも1つのプロセッサは、トレーニングされた推奨モデルを用いて、各候補推奨アイテムに関して、候補推奨アイテム、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて、候補推奨アイテムに対応する候補収入(candidate revenue)を決定することができる。少なくとも1つのプロセッサは、複数の候補収入の最大候補収入を決定するために、複数の候補推奨アイテムに対応する複数の候補収入をランク付けすることができる。少なくとも1つのプロセッサは、ターゲット推奨アイテムとして最大候補収入に対応する、候補推奨アイテムを選択することができる。
【0005】
いくつかの実施形態において、各候補推奨アイテムに関して、トレーニングされた推奨モデルを用いて、候補推奨アイテム、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて、少なくともプロセッサは、1つ以上の以下の動作を実行することができる。少なくともプロセッサは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴を決定することができる。少なくともプロセッサは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴と、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に少なくとも基づいて、候補推奨アイテムに対応する多次元ベクトルを決定することができ、前記多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の1つに対応する。少なくともプロセッサは、候補推奨アイテムに対応する決定された多次元ベクトルを、推奨モデルに入力することにより、候補推奨アイテムに対応する候補収入を決定することができる。
【0006】
いくつかの実施形態において、各候補推奨アイテムに関して、候補推奨アイテムに対応する多次元ベクトルを決定するために、少なくとも1つのプロセッサは、1つ以上の以下の動作を実行することができる。少なくとも1つのプロセッサは、多次元ベクトルフレームを取得することができる。少なくとも、プロセッサは、取得した多次元ベクトルフレーム、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて多次元ベクトルを決定することができる。
【0007】
いくつかの実施形態において、取得した多次元ベクトルフレーム、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて多次元ベクトルを決定するために、少なくとも1つのプロセッサは、1つ以上の以下の動作を実行することができる。少なくとも1つのプロセッサは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴の、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の各々に関して、対応する値を決定することができる。少なくともプロセッサは、決定された値を取得した多次元ベクトルフレームに埋め込んで多次元ベクトルを決定することができる。いくつかの実施形態において、多次元ベクトルは、複数のバイナリエレメントを含むバイナリベクトルである。
【0008】
いくつかの実施形態において、トレーニングされた推奨モデルは、トレーニングプロセスに従う少なくとも1つのコンピューティングデバイスにより生成され、少なくとも1つのプロセッサは、1つ以上の以下の動作を実行することができる。少なくともプロセッサは、ユーザの複数の履歴オーダを取得することができる。少なくともプロセッサは、複数の履歴オーダの各々に関して、履歴オーダに関連した1つ以上のサンプルコンテキストに関連した特徴と、ユーザに関連した1つ以上のサンプルユーザに関連した特徴と、履歴オーダに関連した1つ以上のサンプル推奨アイテムに関連した特徴を決定することができる。少なくともプロセッサは、予備推奨モデルを取得することができる。少なくともプロセッサは、複数の履歴オーダのサンプルコンテキストに関連した特徴、複数の履歴データのサンプルユーザに関連した特徴、及び複数の履歴オーダのサンプル推奨アイテムに関連した特徴を予備推奨モデルに入力することによりトレーニングされた推奨モデルを取得することができる。
【0009】
いくつかの実施形態において、少なくとも1つのプロセッサは、1つ以上の以下の動作を実行することができる。少なくともプロセッサは、ターゲット推奨アイテムに関して、ユーザ端末からクリック毎の収入(revenue-by-click)を受け取ることができる。少なくともプロセッサは、クリック毎の収入に基づいてトレーニングされた推奨モデルを更新することができる。
【0010】
この開示の第2の態様によれば、ユーザ端末上で実行しているアプリケーションを検出するステップであって、アプリケーションは、自動的にネットワークを介してシステムのネットワークサービスと通信する、アプリケーションを検出するステップと、ユーザに関して1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴を取得するステップと、複数の候補推奨アイテムを取得するステップと、トレーニングされた推奨モデルを用いて、1つ以上の現在のコンテキストに関連した特徴および1つ以上の現在のユーザに関連した特徴に基づいて複数の候補推奨アイテムからターゲット推奨アイテムを選択するステップと、ターゲット推奨アイテムをアプリケーションに提供してユーザのユーザ端末のディスプレイ上にプレゼンテーションを生成するステップであって、前記プレゼンテーションは、ユーザが相互作用することができるユーザインタフェースを提供する、プレゼンテーションを生成するステップと、の1つまたは複数の動作を含む方法が提供される。
【0011】
いくつかの実施形態において、トレーニングされた推奨モデルを用いて、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて複数の候補推奨アイテムからターゲット推奨アイテムを選択するステップは、各候補推奨アイテムに関して、トレーニングされた推奨モデルを用いて、候補推奨アイテム、1つ以上の現在のコンテキストに関連した特徴、および1つ以上のユーザに関連した特徴に基づいて、候補推奨アイテムに対応する候補収入を決定するステップと、複数の候補推奨アイテムに対応する複数の候補収入をランク付けして複数の候補収入の最大候補収入を決定するステップと、最大候補収入に対応する候補推奨アイテムをターゲット推奨アイテムとして選択するステップと、を備える。
【0012】
いくつかの実施形態において、各候補推奨アイテムに関して、トレーニングされた推奨モデルを用いて、候補推奨アイテム、1つ以上の現在のコンテキストに関連した特徴および1つ以上の現在のユーザに関連した特徴に基づいて、候補推奨アイテムに対応する候補収入を決定するステップは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴を決定するステップと、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴と、1つ以上の現在のコンテキストに関連した特徴と、1つ以上の現在のユーザに関連した特徴に少なくとも基づいて、候補推奨アイテムに対応する多次元ベクトルを決定するステップであって、前記多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴と、1つ以上の現在のコンテキストに関連した特徴と、1つ以上の現在のユーザに関連した特徴の1つに対応する、決定するステップと、前記候補推奨アイテムに対応する前記決定された多次元ベクトルを推奨モデルに入力することにより候補推奨アイテムに対応する候補収入を決定するステップと、を備える。
【0013】
いくつかの実施形態において、候補推奨アイテムの各々に関して、候補推奨アイテムに対応する多次元ベクトルの決定は、多次元ベクトルフレームを取得するステップと、取得した多次元ベクトルフレームと、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴と、1つ以上の現在のコンテキストに関連した特徴と、1つ以上の現在のユーザに関連した特徴に基づいて多次元ベクトルを決定するステップと、を備える。
【0014】
いくつかの実施形態において、前記取得した多次元ベクトルフレーム、前記候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、前記1つ以上の現在のコンテキストに関連した特徴、および前記1つ以上の現在のユーザに関連した特徴に基づいて前記多次元ベクトルを決定するステップは、前記候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の各々に関して、対応する値を決定するステップと、を備える。いくつかの実施形態において、多次元ベクトルは、複数のバイナリエレメントを含むバイナリベクトルである。
【0015】
いくつかの実施形態において、トレーニングされた推奨モデルは、トレーニングプロセスに従って生成され、トレーニングプロセスは、ユーザの複数の履歴オーダを取得するステップと、複数の履歴オーダの各々に関して、履歴オーダに関連した1つ以上のサンプルコンテキストに関連した特徴、ユーザに関連付けられた1つ以上のサンプルユーザに関連した特徴、および履歴オーダに関連付けられた1つ以上のサンプル推奨アイテムに関連した特徴を決定するステップと、予備推奨モデルを取得するステップと、前記複数の履歴オーダ、前記複数の履歴オーダのサンプルユーザに関連した特徴、前記複数の履歴オーダのサンプル推奨アイテムに関連した特徴を、予備推奨モデルに入力することによりトレーニングされた推奨モデルを取得するステップと
を含む。
【0016】
いくつかの実施形態において、方法は、さらに、1つ以上の以下の動作を含む。ターゲット推奨アイテムに関してユーザ端末からクリック毎の収入を受け取るステップと、クリック毎の収入に基づいてトレーニングされたモデルを更新するステップ。この発明の第3の態様によれば、非一時的可読記憶媒体が提供される。非一時的可読記憶媒体は、少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサに、1つ以上の以下の動作を含む方法を実行させる実行可能な命令群を含むことができる。この開示は、関連技術に存在する技術的問題の少なくとも1つを解決することに向けられている。
【0017】
この目的のために、この開示の一態様は、情報処理方法を提供することである。この発明の他の態様は、情報処理システムを提供することである。この開示のさらに他の態様は、情報処理装置を提供することである。この開示のさらに他の態様は、コンピュータ可読記憶媒体を提供することである。
【0018】
このために、この開示の一態様によれば、推奨モデルを確立するステップと、現在の輸送コンテキスト情報と現在のユーザ特徴情報を推奨モデルに入力するステップと、特定の特徴情報を有する再帰的(recurring)輸送プロダクトを取得するステップと、推奨輸送プロダクトの情報をユーザ端末に送信するステップと、を含む情報処理方法が提案される。この開示により提供される情報処理方法は、オンライン学習アルゴリズムを使用して推奨モデル(または予備推奨モデルと呼ばれる)を確立し、次に、現在のコンテキスト情報(天気、目的地、温度、乗車タイプ、等)と現在のユーザの特徴情報(年齢、性別、価格感応等)を収集する。
【0019】
ユーザの現在の輸送コンテキスト情報と現在のユーザ特徴情報は、推奨モデルに入力することができ、データをクリーニングし、処理し、クラスタリングし、次元削減動作を実行することにより、特定の特徴情報を有する推奨輸送プロダクトの情報を取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と現在のユーザの特徴情報に関連づけることができる。
【0020】
最後に、ユーザが操作中であるとき、対応するシーンがトリガされる。たとえば、輸送アプリケーションがトリガされると、推奨アルゴリズムモデル(またはトレーニングされた推奨モデルと呼ばれる)ユーザの最適プロダクト情報(または推奨輸送情報)に従って決定することができるユーザの最適プロダクト情報をユーザに推奨することができる。
【0021】
この開示は、ユーザ輸送のビッグデータを収取し、オンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築された推奨モデル、及び収集されたビッグデータに基づいて。ある輸送コンテキストにおける、ユーザのリアルタイムの必要性を予測することができる。構築された推奨モデルは、数千回の反復の後に収束することができ、ある時点においてユーザのニーズに正確に一致することができ、ユーザと、ユーザが属する(user is in)輸送コンテキストの組み合わせに従って、各ユーザに関する適切なプロダクト(例えば、ファイナンシャルプロダクト、または保険プロダクト、等)を推奨することができる。この開示は、広告のリターンを大きく改善し、ユーザの広告の嫌悪度を低減することができる。
【0022】
この開示の情報処理方法によれば、1つ以上の以下の技術的特徴を有することができる。上述した技術的解法において、推奨プロダクトのクリック収入を受け取ることができ、推奨モデルは、取得したクリック収入によって最適化される。
【0023】
いくつかの実施形態において、輸送プロダクトの各時間情報がユーザに提示され、提示された輸送プロダクト情報がユーザによりクリックされたか否かが収集される。アルゴリズム内のマトリクスは、推奨されたプロダクトの情報のクリック収入に従って更新され、推奨モデルを最適化する。
【0024】
このように、あるコンテキストにおける推奨プロダクトは、推奨モデルの精度を改善し、異なる輸送コンテキストにおいて、異なるユーザに関する、さらに良い、かつより多くの要求プロダクト提供するために、継続的に探究され、さらに、ユーザの経験を改善することができる。
【0025】
上述した任意の技術的解法において、いくつかの実施形態において、推奨モデルを確立するために、方法は、以下を含むことができる。ユーザの収集した履歴輸送サンプルに対するクラスタリング動作と次元削減動作を実行し、ユーザに関連した情報、コンテキストに関連した情報、およびプロダクトに関連した情報を取得すること、およびユーザに関連した情報、コンテキストに関連した情報、およびプロダクトに関連した情報に基づいて推奨モデルを構築すること。トレーニングした推奨モデルは、
【数1】
であり、但し、aは、推奨アイテム(またはターゲット推奨アイテムと呼ばれる)のD次元特徴ベクトルを指す。Dは1より大きい整数である。いくつかの実施形態において、ターゲット推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、ターゲット推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の1つに対応する。同様に、いくつかの実施形態において、候補推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の1つに対応する。いくつかの実施形態において、推奨アイテムに関する多次元ベクトル(Xベクトルとも呼ばれる)を決定するために、情報処理デバイス112は、多次元ベクトルフレームを取得することができ、ベクトルフレームは、おそらく少なくとも部分的に埋められていなくてもよい(partially unfilled)。情報処理デバイス112は、取得した多次元ベクトルフレーム、推奨アイテム(例えば、候補推奨アイテム)の1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて多次元ベクトルを決定することができる。特に、情報処理デバイス112は、上記特徴を多次元ベクトルフレームに埋め込むことができ、埋め込まれた多次元ベクトルを取得することができ、それは、推奨されたアイテムの多次元ベクトルである。いくつかの実施形態において、上述した特徴を多次元ベクトルフレームに埋め込む前に、1つ以上の特徴を2値化することができる。すなわち、情報処理装置112は、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の各々に関して、対応する値を決定することができ、決定された値を取得した多次元ベクトルフレームに埋め込んで多次元ベクトルを決定することができる。いくつかの実施形態において、バイナリ値(または、バイナリ要素と呼ぶ)を構成するとき、多次元ベクトルは、また、バイナリベクトルと呼ぶこともできる。aは、複数の候補推奨アイテムのある候補推奨アイテムを指す。Aは、複数の候補推奨アイテムの集合(collection)を指す、Xt,aは、t番目の反復におけるある候補推奨アイテムを選択する特徴ベクトルを指す。
【数2】
は、aについてのt回の反復の後の候補推奨アイテムのクリック毎の収入に関するマトリクスを指す。Aは、D次元マトリクスを指し、
【数3】
は、標準偏差を指し、ただし、
【数4】
であり、
δは、定数を指す。
【数5】
は、候補推奨アイテムに対応する候補収入を指す。
【0026】
いくつかの実施形態において、推奨モデルを構築するために、ユーザの履歴輸送サンプルを取得することができる。いくつかの実施形態において、30のバイナリ変数を履歴輸送サンプルからフィルタすることができる。30のバイナリ変数は、20のユーザ特徴変数と、6つのコンテキスト特徴変数と、4つのプロダクト特徴変数を含むことができる。いくつかの実施形態において、ユーザ特徴変数を有するユーザの履歴輸送サンプルは、ユーザが15歳より上の年齢であるか否か、ユーザが40歳より上の年齢であるか否か、ユーザの性別が男性であるか否か、ユーザが価格に敏感であるか否か、ユーザが過去3か月間に20台の高級車を運転したことがあるか否か等、または任意のそれらの組み合わせを含むことができる。
【0027】
いくつかの実施形態において、コンテキスト特徴変数を有するユーザの履歴輸送サンプルは、温度が30度を超すか否か、雨が降っているか否か、霧がでているか否か、車を利用するか否か(taking a car)、車に乗るか否か(taking a ride)、急行電車に乗るか否か、高級車に乗るか否か、目的地が医療機関か否か、目的地が観光名所か否か、目的地が金融機関か否か、目的地が学校か否か等、またはそれらの任意の組み合わせを含むことができる。
【0028】
いくつかの実施形態において、プロダクト特徴変数を有するユーザの履歴輸送サンプルは、高価格なプロダクトであるか否か、財テク商品であるかどうか、保険商品であるかどうか、車に関連しているか否か等、またはそれらの任意の組み合わせを含むことができる。
【0029】
いくつかの実施形態において、クラスタリング動作と次元削減動作は、20のユーザ特徴変数と6つのコンテキスト特徴変数と4つの特徴変数について行うことができ、2つのユーザ特徴変数と、6つのコンテキスト特徴変数と2つのプロダクト特徴変数を含む10次元の特徴ベクトルを決定することができる。いくつかの実施形態において、情報処理システム112は、さらにユーザ関連情報、コンテキスト関連情報、およびプロダクト関連情報に基づいて推奨モデルを構築することができ、次の作業の保証を提供することができる。ここにおいて、D次元マトリクスは、初期化マトリクスであり、Dは、ユーザ特徴、コンテキスト特徴およびプロダクト特徴の次元の合計と同じである。
【0030】
推奨モデルの理論的基礎は、信頼区間の上限を決定することであり、信頼区間は、=クリック当たりの推定収入±(キー値×クリック当たりの推定収入の標準偏差)である。それゆえ、
【数6】
は、ある候補推奨アイテムの広告の推定クリック収入を示すことができる。αは、キー値(それは、調整値(regulation)とみなすことができる)を指すことができ、それは、履歴経験の累積と、経験を考慮しない探索選択の程度を決定し、経験に従って設定することができる。
【0031】
例えば、αは、1に設定することができる。新しい特徴を備えた新しいプロダクトをプロモーションする必要があるとき、値は、相対的に大きな値に設定することにより、システムは、ユーザの端末に推奨されるプロモーションプランとして新しいプロダクトを選択する可能性が高いであろう。Aは、現在選択可能なプロモーションプランまたはプロモーションプロダクトの集合を表す。
【数7】
は、収入の標準偏差を指すことができ、それは、また、収入の平均でもある。
【0032】
いくつかの実施形態において、第1のマトリクスと第2のマトリクスが
【数8】
に従って指定された後(ただし、rは、推奨プロダクトのクリック収入)、推奨モデルは、
【数9】
に従って、最適化することができる。
【0033】
いくつかの実施形態において、各推奨が完了すると、推奨の収入(例えば、クリック当たりの収入)を訂正することができ、アルゴリズム内のマトリクスは、収集された収入に従って更新することができる。アルゴリズム内のマトリクスは、推奨モデルを最適化するように更新され、推奨モデルの自己訂正をインプリメントすることができ、それはさらにユーザの関心を確認するように構成することができる。
【0034】
この開示のいくつかの実施形態において、推奨プロダクトの情報がユーザにより、クリックされると、クリック当たりの収入は、1である。推奨輸送プロダクトの情報がユーザによりクリックされないとき、クリック当たりの収入は、0である。いくつかの実施形態において、推奨プロダクト情報がユーザによりクリックされると、クリック当たりの収入は1であり、そうでなければ、0である。このように、推奨プロダクトに対するユーザの関心の度合いは、取得したクリック当たりの収入に基づいて決定することができ、それはさらに推奨されたアルゴリズムモデル(または推奨モデルと呼ばれる)の最適化のためのベースを提供することができる。この開示のいくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢が15歳より上であるか否か、ユーザが価格に敏感であるか否か等、またはそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度が摂氏30度を超えるか否か、雨が降っているか否か、ユーザがカーサービスを受けているか否か、目的地が医療機関であるか否か、目的地が観光地か否か、目的地が学校か否か等、又は、それらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクトが保険商品か否か、プロダクトが車に関係するか否か等、又は、それらの任意の組み合わせを含む。
【0035】
いくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢、価格に対するユーザの感応度等、又はそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度、天気、乗車モード(ride mode)、目的地等、又は、任意のそれらの組み合わせを含む。輸送プロダクト特徴情報は、プロダクト属性、カテゴリ等を含む。いくつかの実施形態において、ユーザの輸送データに基づいて、種々のシナリオにおいてユーザに最も適したプロダクトを推奨することが可能である。
【0036】
この開示の他の態様によれば、情報処理システムが提供される。システムは、推奨モデルを構築するように構成された構築モジュールを含むことができる。取得モジュールは、ユーザの現在のコンテキストに関連した情報と、現在のユーザに関連した情報を取得するように構成され、取得した現在のコンテキストに関連した情報と、現在のユーザに関連した情報を、推奨モデルに入力することにより、ある特徴情報を備えた修正プロダクト(mended product)を取得するように構成される。推奨モジュールは、推奨プロダクトを、ユーザの端末に送信するように構成される。
【0037】
この開示により提供される情報処理システムは、オンライン学習アルゴリズムを用いて推奨モデルを確立するためのユニットを含む。取得モジュールは、(天気、目的地、温度、乗車タイプ・・・のような)ユーザの現在の輸送コンテキスト情報と(年齢、性別、価格感応度・・・のような)ユーザ特徴情報を収集するように構成される。取得モジュールは、さらに推奨モデルに対する現在のユーザの特徴情報と、ユーザの現在の輸送コンテキスト情報を入力し、データをクリーニングし、処理し、クラスタリングし、次元削減動作を実行することにより、特定の特徴情報を有する推奨される輸送プロダクトの情報を取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と現在のユーザ特徴情報に関連づけることができる。
【0038】
最後に、ユーザが操作中であるとき、対応するシーンがトリガされる。たとえば、輸送アプリケーションがトリガされると、推奨モジュールは、推奨アルゴリズムモデルに従うユーザの最適プロダクト情報を決定し、それをユーザに推奨するように構成することができる。
【0039】
この開示は、ユーザ輸送のビッグデータを収集し、オンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築された推奨モデル、および収集された入札データに基づいてある輸送コンテキストにおけるユーザのリアルタイムの必要性を予測することができる。構築された推奨モデルは、数千回の反復の後に、収束することができ、ユーザを、ある時点における必要性に正確に適合させることができ、ユーザと、ユーザが属する輸送コンテキストに従って、各ユーザに関する適切なプロダクト(例えば、財務プロダクト、保険プロダクト等)を推奨することができる。この開示は、広告収入を大きく改善させ、広告に対するユーザの反感の度合いを低減することができる。
【0040】
この開示によれば、情報処理システムは、1つ以上の以下の特徴を含むことができる。上で説明した技術的解法において、望ましくは、受信モジュール608は、推奨されたモデルのクリック収入を受け取るように構成される。最適化モジュールは、受信したクリック収入に従って、推奨モデルを最適化するように構成することができる。
【0041】
いくつかの実施形態において、輸送プロダクトの各時間情報は、ユーザに提示され、提示された輸送プロダクト情報がユーザによりクリックされたか否かが収集される。アルゴリズム内のマトリクスは、推奨されたプロダクトの情報のクリック収入に従ってアップグレードされ、推奨モデルを最適化する。
【0042】
このように、あるコンテキストにおける推奨されたプロダクトは、継続的に調査および更新され、推奨モデルの精度を改善し、異なる輸送コンテキストにおける異なるユーザに関する、さらに良い、かつ要求の厳しい、プロダクトサービスを提供する。上述した任意の技術的解法において、構築モジュールは、ユーザの履歴輸送サンプルを収集するように構成された収集ユニットを含むことができる。
【0043】
構築モジュール802は、ユーザの収集された履歴輸送サンプルに対するクラスタリング操作と、次元削減操作を実行して、ユーザに関連した情報、コンテキストに関連した情報、およびプロダクトに関連した情報を取得し、ユーザに関連した情報、コンテキストに関連した情報、およびプロダクトに関連した情報に基づいて推奨モデルを構築することができる。
【0044】
ここにおいて、トレーニングされた推奨モデルは、
【数10】
であり、aは、推奨されたアイテム(またはターゲット推奨アイテムと呼ばれる)のD次元特徴ベクトルを指す。Dは1より大きい整数である。いくつかの実施形態において、ターゲット推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、ターゲット推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の1つに対応する。同様に、いくつかの実施形態において、候補推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した情報の1つに対応する。いくつかの実施形態において、推奨アイテムに関する多次元ベクトル(Xベクトルとも呼ばれる)を決定するために、情報処理デバイス112は、多次元ベクトルフレームを取得することができ、ベクトルフレームは、おそらく、少なくとも部分的に、埋め込まれていない部分(partially unfilled)を含むことができる。情報処理デバイス112は、取得した多次元ベクトルフレーム、推奨アイテム(例えば、候補推奨アイテム)の1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴に基づいて、多次元ベクトルを決定することができる。特に、情報処理デバイス112は、上記特徴を多次元ベクトルフレームに埋め込んで、埋め込まれた多次元ベクトルを取得することができ、これは、推奨アイテムの多次元ベクトルである。いくつかの実施形態において、上記特徴を多次元ベクトルフレームに埋め込む前に、1つ以上の特徴が2値化される。すなわち、情報処理デバイス112は、候補推奨アイテムの1つ以上の推奨アイテムに関連した特徴、1つ以上の現在のコンテキストに関連した特徴、および1つ以上の現在のユーザに関連した特徴の各々に関して、対応する値を決定し、決定された値を取得した多次元ベクトルフレームに埋め込んで、多次元ベクトルを決定することができる。いくつかの実施形態において、2値(またはバイナリエレメントと呼ばれる)からなるとき、多次元ベクトルは、またバイナリベクトルと呼ぶことができる。aは、複数の候補推奨アイテムのある候補推奨アイテムを指す。Aは、複数の候補推奨アイテムの集合を指し、Xt,aは、t番目の反復においてある候補推奨アイテムを選択する特徴ベクトルを指す。
【数11】
は、aについてのt回の反復の後のある候補推奨アイテムのクリック毎の収入に関するマトリクスを指し、Aは、D次元マトリクスを指し、
【数12】
は、標準偏差を指し、ここで、
【数13】
であり、δは、定数を指す。
【数14】
は、候補推奨アイテムに対応する候補収入を指す。
【0045】
技術的解法において、構築モジュールは、また、収集ユニットを含む。いくつかの実施形態において、推奨モデルを構築するために、ユーザの履歴輸送サンプルを取得することができる。いくつかの実施形態において、30のバイナリ変数は、履歴輸送サンプルからフィルタリングすることができる。30のバイナリ変数は、20のユーザ特徴変数と、6つのコンテキスト特徴変数と、4つのプロダクト特徴変数を含むことができる。いくつかの実施形態において、ユーザの特徴変数を有するユーザの履歴輸送サンプルは、ユーザが、15歳より上か否か、ユーザが40歳より上の年齢か否か、ユーザの性別は男性か否か、ユーザは価格に敏感か否か、過去3年間に20の高級車に乗車したか否か等、またはそれらの任意の組み合わせを含むことができる。
【0046】
いくつかの実施形態において、コンテキスト特徴変数を有するユーザの履歴輸送サンプルは、温度が30度を超えるか否か、雨が降っているか否か、霧がでているか否か、車を利用しているか否か、車に乗車しているか否か、急行を利用しているか否か、高級車を利用しているか否か、目的地が医療機関か否か、目的地が観光地か否か、目的地が金融機関か否か、目的地が学校か否か等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、プロダクト特徴変数を有するユーザの履歴輸送サンプルは、高価格プロダクトか否か、資産管理プロダクトであるか否か、保険プロダクトであるか否か、車に関連するか否か等、またはそれらの任意の組み合わせを含むことができる。
【0047】
いくつかの実施形態において、クラスタリング操作(a clustering operation)と次元削減操作(a dimensionality reduction operation)は、20のユーザ特徴変数、6つの特徴変数、4つのプロダクト特徴変数について行うことができ、2つのユーザ特徴変数と、6つのコンテキスト特徴変数と、2つのプロダクト特徴変数を含む10次元特徴変数を決定することができる。いくつかの実施形態において、推奨モデルは、さらにユーザ関連情報、コンテキストに関連した情報およびプロダクトに関連した情報に基づいて構築することができ、次の作業のための保証を提供する。
【0048】
ここにおいて、D次元マトリクスは、初期化マトリクスであり、Dはユーザ特徴、コンテキスト特徴およびプロダクト特徴の次元の合計と同じである。推奨モデルの理論的ベースは、信頼区間(confidence interval)の上限を決定することであり、信頼区間=クリック当たりの推定収入±(キー値×クリック当たりの推定収入の標準偏差)である。
【0049】
それゆえ、
【数15】
は、ある候補推奨アイテムの広告の推定クリック収入を示すことができる。αは、キー値(それは調整値とみなすことができる)を指すことができ、それは履歴経験の累積と、経験を考慮せずに探索選択の程度(degree of exploration choice)を決定し、経験に従って設定することができる。
【0050】
例えば、αは1に設定することができる。新しい特徴を備えた新しいプロダクトをプロモートする必要があるとき、値は、相対的に大きな値として設定されるので、システムは、新しいプロダクトを、ユーザの端末に推奨されるプロモーションプランとして選択する可能性が高いであろう。Aは、現在選択可能な、プロモーションプランまたはプロモーションプロダクトの集合を表す。
【数16】
は、収入の標準偏差を指すことができ、これは、収入の平均(mean of the return)でもある。
【0051】
いくつかの実施形態において、最適化モジュール810は、
【数17】
に従って、第1のマトリクスと第2のマトリクスを指定するように構成することができ、rは、推奨されたプロダクトのクリック収入であり、
【数18】
に従って推奨モデルを最適化する。
【0052】
いくつかの実施形態において、最適化モジュール810は、推奨アルゴリズムを最適化するように構成することができる。いくつかの実施形態において、各推奨が完了すると、最適化モジュール810は、推奨の収入(例えば、クリック当たりの収入)を収集することができ、収集された収入に従って、アルゴリズム内のマトリクスを更新することができる。アルゴリズム内のマトリクスは、アップグレードされて、推奨モデルを最適化し、推奨モデルの自己訂正をインプリメントする。これは、さらにユーザの関心を確認するように構成することができる。
【0053】
この開示のいくつかの実施形態において、推奨プロダクトの情報がユーザによりクリックされると、クリック当たりの収入は、1である。推奨輸送プロダクトの情報がユーザによりクリックされないと、クリック当たりの収入は0である。いくつかの実施形態において、推奨プロダクト情報がユーザによりクリックされるクリック当たりの収入は、1であり、そうでない場合は、0である。このように、推奨プロダクト情報に対するユーザの関心の度合いは、取得したクリック当たりの収入に基づいて、決定することができ、これはさらに、推奨アルゴリズムモデル(または推奨モデルと呼ばれる)の最適化のためのベースを提供することができる。
【0054】
この開示のいくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢が15歳より上か否か、ユーザは、価格に敏感か否か等、またはそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度が摂氏30度を超えるか否か、雨が降っているか否か、ユーザが、カーサービス中か否か、目的地が、医療機関か否か、目的地が、観光地か否か、目的地が、学校か否か等、またはそれらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクトが、保険プロダクトか否か、プロダクトが、車に関係するか否か、等またはそれらの任意の組み合わせを含む。
【0055】
いくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢、価格に対するユーザの感応度等、またはそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度、天気、乗車モード、目的地等、またはそれらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクト属性、カテゴリ等を含む。いくつかの実施形態において、ユーザの輸送データに基づいて、種々のシナリオにおいて、ユーザにとって最も適切なプロダクトを推奨することができる。
【0056】
この開示のさらに他の態様によれば、メモリ、プロセッサ、およびメモリに記憶されたコンピュータプログラムであって、プロセッサ上で動作可能なコンピュータプログラムを含み、プロセッサは、コンピュータプログラムを実行して、方法の動作のいずれか1つをインプリメントする。この開示により提供される情報処理装置は、オンライン学習アルゴリズムを用いることにより推奨モデル(または予備推奨モデルと呼ばれる)確立し、(天気、目的地、温度、乗車タイプ等のような)現在のコンテキスト情報、および現在のユーザ特徴情報(年齢、性別、価格感応度等のような)を収集する。
【0057】
この開示により提供される情報処理装置は、さらに、ユーザの現在の輸送コンテキスト情報と、現在のユーザの特徴情報を、推奨モデルに入力することができ、データをクリーニングし、処理し、クラスタリングし、データの次元削減を行うことにより、特定の特徴情報を備えた、推奨された輸送プロダクトの情報を取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と、現在のユーザの特徴情報に関連づけることができる。
【0058】
最後に、ユーザが動作中のとき、対応するシーンがトリガされる。例えば、輸送アプリケーションがトリガされると、推奨モジュールは、推奨アルゴリズムモデルに従って、ユーザの最適プロダクト情報を決定し、それをユーザに推奨することができる。
【0059】
この開示は、ユーザ輸送のビッグデータを収集することができ、オンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築した推奨モデル、および収集した入札データ(bid data)に基づいて、ある輸送コンテキストにおけるユーザのリアルタイムの必要性を予測することができる。構築された推奨モデルは、数千回の反復の後に収束することができ、ユーザを、ある時点における必要性と正確に一致させることができ、ユーザとユーザが属する(user is in)輸送コンテキストの組み合わせに従って、各ユーザに関する適切なプロダクトを推奨することができる。この開示は、広告収入を大きく改善し、広告に対するユーザの反感度合いを低減することができる。
【0060】
この開示のさらに他の態様によれば、コンピュータ可読記憶媒体が提供される。コンピュータ可読記憶媒体は、コンピュータプログラムが記憶され、プロセッサにより実行されると、この開示で説明された情報処理方法の動作をインプリメントする。この開示により提供されるコンピュータ可読記憶媒体は、プロセッサにより実行されると、オンライン学習アルゴリズムを用いて推奨モデル(または予備推奨モデルと呼ばれる)を確立し、(天気、目的地、温度、乗車タイプ等のような)現在のコンテキスト情報と、(年齢、性別、価格感応度等のような)現在のユーザの特徴情報を収集する。
【0061】
コンピュータ可読記憶媒体は、さらに、ユーザの現在の輸送コンテキスト情報と現在のユーザの特徴情報を、推奨モデルに入力することができ、データをクリーニングし、処理し、クラスタリングし、データの次元削減を実行することにより、特定の特徴情報を備えた推奨輸送プロダクトの情報を取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と、現在のユーザの特徴情報に関連付けることができる。
【0062】
最後に、ユーザが動作中であるとき、対応するシーンがトリガされる。例えば、輸送アプリケーションがトリガされると、コンピュータ可読記憶媒体は、ユーザに推奨可能な推奨アルゴリズムモデル(またはトレーニングされた推奨モデルと呼ばれる)に従って、ユーザの最適プロダクト情報(または推奨輸送情報と呼ばれる)を決定することができる。
【0063】
この開示は、ユーザ輸送のビッグデータを収集することが出来、オンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築した推奨モデルと、収集した入札データ(bid data)に基づいてある輸送コンテキストにおけるユーザの、リアルタイムの必要性を予測することができる。構築した推奨モデルは、数千回の反復の後に収束することができ、ユーザをある時点における必要性と正確に一致させることができ、ユーザと、ユーザが属する輸送コンテキストに従って、各ユーザに関して、適切なプロダクト(例えば、財務プロダクト、保険プロダクト等)を推奨することができる。この開示は、広告収入を大きく改善することができ、ユーザの反感度合いを低減することができる。
【0064】
この開示のさらなる態様と利点は、以下に説明する開示の記述から明らかになるであろう。追加の特徴は、一部は、以下の説明に記載され、一部は、以下および添付の図面を検討することにより当業者に明らかになるか、または実施例の生産または操作により習得することができる。本開示の特徴は、以下で議論される詳細な例に記載される方法論、手段および組み合わせの様々な態様の実施または使用によって実現および達成され得る。この開示はさらに、例示実施形態の観点から記載される。これらの例示実施形態は、図面を参照して詳細に記載される。これらの実施形態は、非限定例示実施形態であり、図面のいくつかの図にわたって、類似の参照符号は、類似の構造を表す。
【図面の簡単な説明】
【0065】
図1図1は、この開示のいくつかの実施形態に従う、例示オンデマンドサービスシステムを説明する概略図である。
図2図2は、この開示のいくつかの実施形態に従う、オンデマンドサービスシステムにおける例示コンピューティングデバイスを説明する概略図である。
図3図3は、この開示のいくつかの実施形態に従う、オンデマンドサービスシステムにおける例示モバイルデバイスを説明する概略図である。
図4図4は、この開示のいくつかの実施形態に従う、例示情報処理装置を説明するブロックである。
図5A図5Aは、この開示のいくつかの実施形態に従う、サービス要求に関連した推奨された情報を決定するための例示プロセスを説明するフローチャートである。
図5B図5Bは、この開示のいくつかの実施形態に従う、ターゲット推奨アイテムを決定するための例示プロセス501を説明するフローチャートである。
図5C図5Cは、この開示のいくつかの実施形態に従う、候補収入を決定する例示プロセス502を説明するフローチャートである。
図6図6は、この開示のいくつかの実施形態に従う、トレーニングされた推奨されたモデルを決定するための例示プロセス600を説明するフローチャートである。
図7図7は、この開示のいくつかの実施形態に従う、情報処理装置112の概略図を説明する。
図8A図8Aは、この開示のいくつかの実施形態に従う、情報処理システムの概略図を説明する。
図8B図8Bは、この開示のいくつかの実施形態に従う、情報処理システムの概略図を説明する。
図8C図8Cは、この開示のいくつかの実施形態に従う、情報処理システムを説明する逆略図である。
図9図9は、この開示のいくつかの実施形態に従う、情報処理方法を説明するフローチャートである。
図10図10は、この開示のいくつかの実施形態に従う、情報処理方法を説明するフローチャートである。
図11図11は、この開示のいくつかの実施形態に従う、情報処理方法を説明するフローチャートである。
図12図12は、この開示のいくつかの実施形態に従う、情報処理方法を説明するフローチャートである。
図13A図13Aは、この開示のいくつかの実施形態に従う、情報処理方法の作業プロセスを説明するフローチャートを集合的に説明する。
図13B図13Bは、この開示のいくつかの実施形態に従う、情報処理方法の作業プロセスを説明するフローチャートを集合的に説明する。
図14図14は、この開示の一実施形態に従う、メッセージを表示するための例示アプリケーションインタフェースを説明する。
図15図15は、この開示のいくつかの実施形態に従う、メッセージを表示するアプリケーションインタフェースのスクリーンショットを示す。
【発明を実施するための形態】
【0066】
以下の記述は、当業者がこの開示を作成し、使用することを可能にするために提示され、特定のアプリケーションおよび要件のコンテキストにおいて提供される。開示された実施形態への種々の変更は、当業者には明白であり、ここに定義された一般的原理は、この開示の精神と範囲から逸脱することなく他の実施形態とアプリケーションに適用することができる。従って、この開示は、図示した実施形態に限定されず、特許請求の範囲に一致する最も広い範囲に一致する。
【0067】
ここに記載された用語は、特定の例示実施形態のみを記載するためだけであり、限定することを意図したものではない。ここに使用されるように、単数形「1つ(a)」、「1つ(an)」、および「その(the)」は、コンテキストが明白にそうでないことを示さない限り、複数形も含むことを意図する。本開示で使用されるとき、用語「備える(comprises)」、「含む(comprising)」、「含む(includes)」、および/または「含む(including)」は、述べられた特徴、整数、ステップ、操作、要素、および/またはコンポーネントの存在を指定することがさらに理解される。 ただし、1つ以上の他の機能、整数、ステップ、操作、要素、コンポーネント、および/またはグループの存在または追加を排除するものではない。
【0068】
本開示のこれらおよび他の特徴、並びに特性、並びに構造の関連要素の動作方法および機能、並びに部品の組み合わせ、および製造の経済性は、以下を参照して以下の説明を考慮すると、より明らかになり得る。添付の図面、すべてがこの仕様の一部を形成する。しかしながら、図面は例示および説明のみを目的とするものであり、本開示の範囲を限定することを意図するものではないことを明確に理解されたい。
【0069】
この開示で使用されるフローチャートは、この開示のいくつかの実施形態に従ってシステムがインプリメントする動作を説明する。フローチャートの動作は、順不同でインプリメントされる場合があることを明確に理解されたい。逆に、操作は、逆の順序で、または同時にインプリメント可能である。さらに、1つ以上の他の動作をフローチャートに追加することが可能である。1つ以上の動作をフローチャートから除去することができる。
【0070】
さらに、この開示で開示されたシステムと方法は、主としてオンデマンド輸送サービスに関して記載したけれども、これは一例示実施形態に過ぎないことに留意する必要がある。この開示のシステムおよび方法は、任意の他の種類のオンデマンドサービスに適用することができる。例えば、本開示のシステムまたは方法は、陸上、海洋、航空宇宙など、またはそれらの任意の組み合わせを含む異なる輸送システムに適用されてもよい。輸送システムのビークルは、タクシー、プライベートカー、ヒッチ、バス、列車、新幹線、高速鉄道、地下鉄、船、航空機、宇宙船、熱気球、無人ビークル等、またはそれらの任意の組み合わせを含むことができる。輸送システムは、管理および/または配送を適用する輸送システム、たとえば、エクスプレスを送信および/または受信するためのシステムも含み得る。この開示のシステムまたは方法のアプリケーションシナリオは、ウエブページ、ブラウザのプラグイン、クライアント端末、カスタムシステム、内部解析システム、および人工知能ロボット等、またはそれらの任意の組み合わせを含むことができる。
【0071】
本開示における用語「乗客」、「要求者」、「サービス要求者」、および「顧客」は、サービスを要求、または注文する個人、エンティティ、またはツールを指すために交換可能に使用される。また、本開示における「ドライバ」、「プロバイダ」、「サービスプロバイダ」、および「サプライヤ」という用語は、サービスを提供したり、サービスの提供を促進したりする個人、エンティティ、またはツールを指すために交換可能に使用される。本開示における「ユーザ」という用語は、サービスを要求し、サービスを注文し、サービスを提供し、またはサービスの提供を促進し得る個人、エンティティ、またはツールを指し得る。例えば、ユーザは、乗客、ドライバ、オペレータ等、またはそれらの任意の組み合わせであり得る。この開示において、「乗客」および「乗客端末」という用語は、交換可能に使用することができ、「ドライバ」および「ドライバ端末」は、交換可能に使用することができる。
【0072】
本開示における「サービス要求」という用語は、乗客、要求者、サービス要求者、顧客、運転手、プロバイダ、サービスプロバイダ、サプライヤなど、または任意の組み合わせによって開始された要求を指す。サービスリクエストは、乗客、要求者、サービス要求者、顧客、ドライバ、プロバイダ、サービスプロバイダ、またはサプライヤのいずれかによって受け入れられてもよい。サービスリクエストは、有料、または無料であり得る。
【0073】
本開示で使用される測位技術は、全地球測位システム(GPS)、全地球航法衛星システム(GLONASS)、コンパス航法システム(COMPASS)、ガリレオ測位システム、準天頂衛星システム(QZSS)、ワイヤレス忠実度(WiFi)測位技術等、またはそれらの任意の組み合わせを含むことができる。上述した位置決め技術の1つまたは複数は、この開示において交換可能に使用することができる。
【0074】
この開示の一実施態様は、タクシーサービスのような、オンデマンドサービスに関するサービス要求に関連づけられた推奨情報を決定するオンラインシステムおよび方法を提供する。乗客がオンラインのオンデマンド輸送サービスプラットフォームにタクシーのヘイリング要求(hailing request)を送信すると、プラットフォームのサーバが、乗客の端末からサービス要求を受信することができる。サーバは、ユーザの履歴輸送データを収集し、オンライン学習アルゴリズムに基づいて推奨モデルを構築し、相対的に正確な方法で、構築された推奨モデル、および収集したデータに基づいて、ある輸送コンテキストにおけるユーザのリアルタイムのニーズを予測することができる。
【0075】
オンラインタクシーヘイリング(hailing)などのオンラインオンデマンド輸送サービスは、インターネット後の時代にのみ根付いた、新しい形式のサービスであることに留意する必要がある。それは、ポストインターネット時代にのみ育つことができる技術的ソリューションをユーザとサービスプロバイダに提供する。インターネット前の時代には、ユーザが路上のタクシーを呼ぶとき、タクシーの要求と受諾は、乗客と、乗客を見ているタクシードライバの間でのみ起こり得る。乗客が電話でタクシーを呼ぶ場合、サービスの要求と受諾は、乗客とサービスプロバイダ(例えば、1つのタクシー会社またはエージェント)との間でのみ起こり得る。しかしながら、オンライン・タクシーヘイリングは、サービスの使用者が、リアルタイムでかつ自動的に、サービス要求を、ユーザから離れた距離にある大多数の個々のサービスプロバイダ(例えば、タクシー)に配信することを可能にする。また、それは、複数のサービスプロバイダが、サービス要求を同時にかつリアルタイムで応答することを可能にする。一方、現代社会では、タクシーサービスは、巨大な産業になった。数百万の乗客が、オンライン・タクシーヘイリング・プラットフォームを介して、毎日タクシーを利用する。インターネットの助けによってのみ、乗客のタキシング行動(taxiing behaviors)の研究が可能になる。従って、乗客のオンライン・タクシーヘイリング行動を介した、タクシーヘイリングの予測は、また、インターネット後の時代にのみ根付いた、新しいサービス形態である。
【0076】
図1は、この開示のいくつかの実施形態に従う例示オンデマンドサービスシステム100の概略図である。例えば、オンデマンドサービスシステム100は、タクシーヘイリング、運転手サービス、配達車両、カープール(carpool)、バスサービス(bus service)、ドライバの雇用、およびシャトルサービスなどの輸送サービスのためのオンライン輸送サービスプラットフォームであり得る。オンデマンドサービスシステム100は、サーバ110、ネットワーク120、要求者端末130、プロバイダ端末140およびストレージ150を含む、オンラインプラットフォームであり得る。サーバ110は、情報処理装置112を含むことができる。
【0077】
いくつかの実施形態において、サーバ110は、単一サーバ、またはサーバグループであり得る。サーバグループは、集中化または分散することができる(例えば、サーバ110は分散システムであり得る)。いくつかの実施形態において、サーバ110は、ローカルまたはリモートであり得る。例えば、サーバ110は、ネットワーク120を介して要求者端末130、プロバイダ端末140、および/またはストレージ150に記憶された情報および/またはデータにアクセスすることができる。他の例として、サーバ110は、ネットワーク120を介して、要求者端末130、プロバイダ端末140および/またはストレージ150に記憶された情報および/またはデータにアクセスすることができる。いくつかの実施形態において、サーバ110は、クラウドプラットフォームに、インプリメントすることができる。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウド等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、サーバ110は、この開示の図2に説明する1つ以上のコンポーネントを有するコンピューティングデバイス200上にインプリメントすることができる。
【0078】
いくつかの実施形態において、サーバ110は、情報処理装置112を含むことができる。情報処理装置112は、サービスリクエストに関する情報、および/またはデータを処理してこの開示に記載された1つ以上の機能を実行することができる。例えば、情報処理装置112は、複数のトレーニングされた複数のサブエンドポイント(sub-end-point)領域に基づいて、オンデマンドサービスに関するサービス要求に関連した推奨情報(例えば、推奨ドライブルート、到着推定時間)を決定することができる。いくつかの実施形態において、情報処理装置112は、1つまたは複数の処理エンジン(例えば、シングルコア処理エンジン(複数の場合もある)またはマルチコアプロセッサ(複数の場合もある)を含むことができる。単なる例として、情報処理装置112は、中央処理装置(CPU)、特定用途集積回路(ASIC)、特定用途命令セットプロセッサ(ASIP)、グラフィックプロセッシングユニット(GPU)、物理プロセッシングユニット(PPU)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、マイクロコントローラユニット、縮小命令セットコンピュータ(RISC)、マイクロプロセッサ等、またはそれらの任意の組み合わせのような1つまたは複数のハードウェアプロセッサを含むことができる。
【0079】
ネットワーク120は、情報および/またはデータの交換を容易にすることができる。いくつかの実施形態において、オンデマンドサービスシステム100(例えば、サーバ110、要求者端末120、プロバイダ端末140、およびストレージ150)は、情報および/または端末を、ネットワーク120を介してオンデマンドサービスシステム100内の他のコンポーネント(複数の場合もある)に送信することができる。例えば、サーバ110は、ネットワーク120を介して要求者端末130からサービス要求を受信することができる。いくつかの実施形態において、ネットワーク120は、任意のタイプの有線または無線ネットワーク、またはそれらの組み合わせであり得る。単なる例として、ネットワーク130は、ケーブルネットワーク、有線ネットワーク、光ファイバネットワーク、テレコミュニケーションネットワーク、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ローカルエリアネットワーク(WLAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、公衆交換電話網(PSTN)、ブルートゥース(登録商標)ネットワーク、ZigBeeネットワーク、近距離通信(NFC)ネットワーク等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、ネットワーク120は、1つまたは複数のネットワークアクセスポイントを含むことができる。例えば、ネットワーク120は、基地局および/またはインターネット交換ポイント120-1、120-2、・・・120-n(nは整数)のような有線または無線ネットワークを含むことができ、それらを介して、1つまたは複数のオンデマンドサービスシステム100は、ネットワーク120に接続され、それらの間でデータおよび/または情報を交換することができる。
【0080】
いくつかの実施形態において、要求者は、要求者端末130のユーザであり得る。いくつかの実施形態において、要求者端末130のユーザは、要求者以外の誰かであり得る。例えば、要求者端末130のユーザAは、要求者端末130を使ってユーザBに関するサービス要求を送信することができ、あるいは、サービスおよび/または情報、またはサーバ110からの命令を受信することができる。いくつかの実施形態において、プロバイダは、プロバイダ端末140のユーザであり得る。いくつかの実施形態において、プロバイダ端末140のユーザは、プロバイダ以外の誰かであり得る。例えば、プロバイダ端末140のユーザCは、プロバイダ端末140を用いて、ユーザDに関するサービス要求、および/または情報、またはサーバ110からの命令を受信することができる。いくつかの実施形態において、「要求者」および「要求者端末」は、互換的に使用することができ、「プロバイダ」と「プロバイダ端末」は、互換的に使用することができる。いくつかの実施形態において、要求者端末130は、モバイルデバイス130-1、タブレットコンピュータ130-2、ラップトップコンピュータ130-3、モータービークル130-4内の内蔵デバイス等、またはそれらの任意の組み合わせを含むことができる。
【0081】
いくつかの実施形態において、モバイルデバイス130-1は、スマートホームデバイス、ウエアラブルデバイス、スマートモバイルデバイス、バーチャルリアリティデバイス、オーグメンテッドリアリティデバイス(augmented reality device)等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、スマートホームデバイスは、スマート照明デバイス、インテリジェント電気製品の制御デバイス、スマートモニタリングシステム、スマートテレビジョン、スマートビデオカメラ、インターフォン等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、ウエアラブルデバイスは、スマートブレスレット、スマートフットギア(smart footgear)、スマートグラス、スマートヘルメット、スマートウォッチ、スマートクロージング(smart clothing)、スマートバックパック、スマートアクセサリ等、またはそれらの任意の組み合わせを含むことができる。
【0082】
いくつかの実施形態において、スマートモバイルデバイスは、スマートフォン、パーソナルデジタルアシスタンス(PDA)、ゲーミングデバイス、ナビゲーションデバイス、ポイントオブセール(POS)デバイス、等またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、バーチャルリアリティデバイスおよび/またはオーグメンテッドリアリティデバイスは、バーチャルリアリティヘルメット、バーチャルリアリティグラス、バーチャルリアリティパッチ、オーグメンテッドリアリティヘルメット、オーグメンテッドリアリティグラス、オーグメンテッドリアリティパッチ等、またはそれらの任意の組み合わせを含むことができる。
例えば、バーチャルリアリティデバイスおよび/またはオーグメンテッドリアリティデバイスは、グーグルグラス(登録商法)、RiftCon(登録商標)、Fragments(登録商標)、GearVR(登録商標)等を含むことができる。いくつかの実施形態において、モータービークル130-4の内蔵デバイスは、オンボードコンピュータ、オンボードテレビジョン等を含むことができる。いくつかの実施形態において、要求者端末130は、要求者および/または要求者端末130の位置を突き止めるための位置決め技術を有したデバイスであり得る。
【0083】
いくつかの実施形態において、プロバイダ端末140は、要求者端末130と類似かまたは同じデバイスであり得る。いくつかの実施形態において、プロバイダ端末140は、プロバイダおよび/またはプロバイダ端末140の位置を突き止めるための位置決め技術を有したデバイスであり得る。いくつかの実施形態において、要求者端末130および/またはプロバイダ端末140は、別の位置決めデバイスと通信して、要求者、要求者端末130、プロバイダ、および/またはプロバイダ端末140の位置を決定することができる。いくつかの実施形態において、要求者端末130および/またはプロバイダ端末120は、サーバ110の位置情報を送信することができる。
【0084】
ストレージ150は、データおよび/または命令を記憶することができる。いくつかの実施形態において、ストレージ150は、要求者端末130および/またはプロバイダ端末140から取得したデータを記憶することができる。いくつかの実施形態において、ストレージ150は、サーバ110が実行する、または使用することができるデータおよび/または命令を記憶して、この開示で記載した例示方法を実行することができる。いくつかの実施形態において、ストレージ150は、マスストレージ、リムーバブルストレージ、揮発性のリードアンドライトメモリ、リードオンリメモリ(ROM)等、またはそれらの任意の組み合わせを含むことができる。例示マスストレージは、磁気ディスク、光学ディスク、ソリッドステートドライブ等を含むことができる。例示リムーバブルストレージは、フラッシュドライブ、フロッピーディスク、光ディスク、メモリカード、ジップディスク(zip disk)、磁気テープ等を含むことができる。例示揮発性リードアンドライトメモリは、ランダムアクセスメモリ(RAM)を含むことができる。例示RAMは、ダイナミックRAM(DRAM)、ダブルデートレートシンクロナスダイナミック(double date rate synchronous dynamic)RAM(DDR SDRAM)、スタティックRAM(SRAM)、サイリスタRAM(T-RAM)、ゼロキャパシタRAM(Z-RAM)等を含むことができる。例示ROMは、マスクROM(MROM)、プログラマブルROM(PROM)、イレーザブルプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)、およびデジタルバーサタイルディクROM等を含むことができる。いくつかの実施形態において、ストレージ150は、クラウドプラットフォーム上にインプリメントすることができる。単なる例として、クラウドプラットフォームは、プライベートクラウド、パブリッククラウド、ハイブリッドクラウド、コミュニティクラウド、分散クラウド、インタークラウド、マルチクラウド等、またはそれらの任意の組み合わせを含むことができる。
【0085】
いくつかの実施形態において、ストレージ150は、ネットワーク120に接続され、オンデマンドサービスシステム100(例えば、サーバ110、要求者端末130、プロバイダ端末140)の1つまたは複数のコンポーネントと通信することができる。オンデマンドサービスシステム100の1つ以上のコンポーネントは、ネットワーク120を介してストレージ150に記憶されたデータ、または命令にアクセスすることができる。いくつかの実施形態において、ストレージ150は、オンデマンドサービスシステム100(例えば、サーバ110、要求者端末130、プロバイダ端末140)の1つまたは複数のコンポーネントとダイレクトに接続することができ、または通信することができる。いくつかの実施形態において、ストレージ150は、サーバ110の一部であり得る。いくつかの実施形態において、オンデマンドサービスシステム100(例えば、サーバ110、要求者端末130、プロバイダ端末140)の1つまたは複数のコンポーネントは、ストレージ150にアクセスすることができる。いくつかの実施形態において、オンデマンドサービスシステム100の1つまたは複数のコンポーネントは、1つまたは複数の条件が満足されたとき、要求者、プロバイダ、および/またはパブリックに関する情報を読み、および/または変更することができる。たとえば、サーバ110は、サービス後の1つまたは複数のユーザの情報を読み、および/または変更することができる。他の例として、プロバイダ端末140は、要求者端末130からサービス要求を受信すると、要求者に関する情報にアクセスすることができるが、プロバイダ端末140は、要求者の関連情報を変更することはできない。
【0086】
いくつかの実施形態において、オンデマンドサービスシステム100の1つまたは複数のコンポーネントの情報交換は、サービスを要求することにより達成することができる。サービス要求の対象は、任意のプロダクトであり得る。いくつかの実施形態において、プロダクトは、有形の(tangible)プロダクトまたは無形の(immaterial)プロダクトであり得る。有形のプロダクトは、食料、薬、日用品、化学物質、電気製品、衣類、車、ハウジング、高級品等、またはそれらの任意の組み合わせを含むことができる。無形のプロダクトは、サービスプロダクト、ウエブプロダクト、知識プロダクト、インターネットプロダクト等、またはそれらの任意の組み合わせを含むことができる。インターネット製品は、個々のホスト製品、ウェブ製品、モバイルインターネット製品、商用ホスト製品、組み込み製品等、またはそれらの任意の組み合わせを含むことができる。モバイルインターネットプロダクトは、モバイル端末のソフトウェア、プログラム、システム等、またはそれらの任意の組合せに使用することができる。モバイル端末は、タブレットコンピュータ、ラップトップコンピュータ、モバイルフォン、パーソナルデジタルアシスタンス(PDA)、スマートウォッチ、ポイントオブセール(POS)デバイス、オンボードコンピュータ、オンボードテレビジョン、ウエアラブルデバイス等、またはそれらの任意の組合せを含むことができる。例えば、プロダクトは、コンピュータまたはモバイルフォンに使用される任意のソフトウェア、および/またはアプリケーションであり得る。ソフトウェア、および/またはアプリケーションは、社交、買い物、輸送、娯楽、学習、投資など、またはそれらの任意の組み合わせに関連し得る。
いくつかの実施形態において、輸送に関するソフトウェアおよび/またはアプリケーションは、旅行ソフトウェアおよび/またはアプリケーション、ビークル(vehicle)スケジューリングソフトウエアおよび/またはアプリケーション、マッピングソフトウエアおよび/またはアプリケーション等を含むことができる。ビークルスケジューリングソフトウェアおよび/またはアプリケーションでは、ビークルは、馬、馬車、人力車(たとえば、手押し車、自転車、三輪車)、車(たとえば、タクシー、バス、自家用車)、電車、地下鉄、船、航空機(例えば、飛行機、ヘリコプター、スペースシャトル、ロケット、熱気球)など、またはそれらの任意の組み合わせを含むことができる。
【0087】
図1に説明されるアプリケーションシナリオは、説明の目的のためだけに提供されたものであり、この開示の範囲を限定することを意図したものではないことに留意する必要がある。例えば、オンデマンドシステム100は、ナビゲーションシステムとして使用することができる。ナビゲーションシステムは、ユーザ端末130(例えば、要求者端末130またはプロバイダ端末140)とサーバ(例えば、サーバ110)を含むことができる。ユーザは、ターゲットロケーション(例えば、開始ロケーション、目的地)および/または開始時間を、ユーザ端末を介して入力することができる。従って、ナビゲーションシステムは、この開示に記載されたプロセスおよび/または方法に従って、ターゲットロケーションおよび/または開始時間に基づいて推奨情報(例えば、推奨されるドライビングルール、ETA)を決定することができる。
【0088】
図2は、サーバ110、要求者端末130および/またはプロバイダ端末140が、この開示のいくつかの実施形態に従ってインプリメントすることができるコンピューティングデバイス200の例示ハードウェアおよびソフトウエアコンポーネントを説明する概略図である。例えば、情報処理デバイス112は、コンピューティングデバイス200上でインプリメントすることができ、この開示に開示された情報処理デバイス1112の機能を実行するように構成することができる。コンピューティングデバイス200は、汎用コンピュータ、または特定用途コンピュータであり得、両方とも、この開示のオンデマンドシステムをインプリメントするために使用することができる。
【0089】
コンピューティングデバイス200は、ここに記載したオンデマンドサービスの任意のコンポーネントをインプリメントするために使用することができる。例えば、情報処理デバイス112は、そのハードウェア、ソフトウエアプログラム、ファームウェアまたはそれらの組み合わせを介して、コンピュータデバイス200上にインプリメントすることができる。簡便のために、そのようなコンピュータの1つのみが図示されているけれども、ここに記載したオンデマンドサービスに関するコンピュータ機能は、処理負荷を分散させるために、多数の類似のプラットフォーム上に分散する態様でインプリメントすることができる。
【0090】
コンピューティングデバイス200は、例えば、データ通信を容易にするために、ネットワークと双方向に接続されたCOMポート250を含むことができる。コンピューティングデバイス200は、また、プログラム命令を実行するために、1つまたは複数のプロセッサの形態の、プロセッサ(例えば、プロセッサ220)を含むことができる。例示コンピューティングデバイスは、コンピューティングデバイスにより処理される、および/または送信される種々のデータファイルに関して、内部コミュニケーションバス210、例えば、ディスク270、およびリードオンリメモリ(ROM)、または、ランダムアクセスメモリ(RAM)を含む異なる形態のプログラムストレージおよびデータストレージを含むことができる。例示コンピューティングデバイスは、また、プロセッサ220により実行される、ROM230、RAM240、および/または他のタイプの非一時的記憶媒体に記憶されたプログラム命令を含むことができる。この開示の方法および/またはプロセスは、プログラム命令としてインプリメントすることができる。コンピューティングデバイス200は、また、コンピュータと、他のコンポーネントとの間の入出力をサポートするI/Oコンポーネント260を含む。コンピューティングデバイス200は、また、ネットワーク通信を介してプログラミングおよびデータを受信することができる。
【0091】
単なる説明として、CPUおよび/またはプロセッサのみが図2において説明されている。多数のCPUおよび/またはプロセッサも考えられる。従って、この開示に記載された1つのCPU、および/またはプロセッサにより実行される動作および/または方法ステップは、また、複数のCPUおよび/またはプロセッサにより一緒に、または別個に実行することができる。たとえば、この開示において、コンピューティングデバイス200のCPUおよび/またはプロセッサが、ステップAとステップBの両方を実行する場合、ステップAとステップBは、2つの異なるCPUにより実行してもよいし、および/またはプロセッサは、コンピューティングデバイス200内で一緒に、または別個に実行することもできる(例えば、第1のプロセッサは、ステップAを実行し、第2のプロセッサは、ステップBを実行し、または第1および第2のプロセッサは、一緒にステップAとステップBを実行する)。
【0092】
図3は、この開示のいくつかの実施形態に従って、オンデマンドサービスをインプリメントすることができる例示モバイルデバイスを説明する。図3に説明するように、モバイルデバイス300は、通信プラットフォーム310、ディスプレイ320、グラフィクスプロセッシングユニット(GPU)330、中央処理装置(CPU)340、I/O350、メモリ360、およびストレージ390を含むことができる。いくつかの実施形態において、これらに限定されないが、システムバスまたはコントローラ(図示せず)を含む任意の他の適切なコンポーネントは、またモバイルデバイス300に含めることができる。いくつかの実施形態において、モバイルオペレーティングシステム370(例えば、iOS(登録商標)、アンドロイド(登録商標)、ウインドウズフォーン(登録商標)等)および1つまたは複数のアプリケーション380は、CPU340により実行されるために、ストレージ390からメモリ360へロードすることができる。アプリケーション380は、情報処理デバイス112および/またはストレージ150からのサービス要求(例えば、開始ロケーション、目的地)に関連した情報を受信し、レンダリングするためのブラウザまたは任意の他の適切なモバイルアプリケーションを含むことができる。情報ストリームとのユーザ相互作用は、I/O350により達成することができ、ネットワーク120を介して、オンデマンドサービスシステム100の情報処理装置112および/または他のコンポーネントに提供されることができる。
【0093】
当業者は、オンデマンドサービスシステム100のエレメントが実行するとき、エレメントは、電気信号および/または電磁信号を介して実行することができることを理解するであろう。たとえば、要求者端末120が決定をマスクすること、オブジェクトを識別または選択することのようなタスクを処理するとき、要求者端末130は、プロセッサ内のロジック回路を動作させてそのようなタスクを処理することができる。要求者端末130がサービス要求をサーバ110に送信すると、サービス要求端末130のプロセッサは、サービス要求を符号化する電気信号を生成することができる。要求者端末130のプロセッサは、次に電気信号を出力ポートに送信する。要求者端末130が、有線ネットワークを介してサーバ110と通信する場合、出力ポートは、物理的にケーブルに接続することができ、さらに、電気信号をサーバ110の入力ポートに送信することができる。要求者端末130が、無線ネットワークを介してサーバ110と通信する場合、要求者端末130の出力ポートは、1つ以上のアンテナであり得、電気信号を電磁信号に変換することができる。同様に、プロバイダ端末140は、プロセッサ内のロジック回路の動作を介してタスクを処理することができ、電気信号または電磁信号を介してサーバ110から命令および/またはサービス要求を受信することができる。要求者端末130、プロバイダ端末140、および/またはサーバ110のような電子デバイス内で、それらのプロセッサが、命令を処理し、命令を送信し、および/または動作を実行するとき、命令および/または動作は、電気信号を介して行われる。例えば、プロセッサがストレージ媒体(例えば、ストレージ150)からデータを検索し、またはセーブするとき、電気信号をストレージ媒体の読取り/書込みデバイスに送信することができ、それは構造化データをストレージ媒体から読み、ストレージ媒体に書き込むことができる。構造化データは、電子装置のバスを介して電気信号の形態でプロセッサに送信することができる。ここでは、電気信号は、1つの電気信号、一連の電気信号、および/または複数の離散した電気信号に言及することができる。
【0094】
図4は、この開示のいくつかの実施形態に従う、例示情報処理装置112を説明するブロック図である。情報処理装置112は、取得モジュール410、トレーニングモジュール420、選択モジュール430、通信モジュール440、フィードバックモジュール450、アップグレードモジュール460を含むことができる。
【0095】
取得モジュール410は、情報処理装置112内の1つ以上の他のコンポーネントからデータを取得するように構成することができる。いくつかの実施形態において、取得モジュール410は、サービス要求を取得するように構成することができる。サービス要求は、輸送サービス(例えば、タクシーサービス)に関する要求であり得る。いくつかの実施形態において、取得モジュール410は、さらにサービス要求に関する情報を取得することができる。この情報は、サービス要求、サービス要求に関連づけられた天気情報等に関連したトラフィック情報を含むことができる。例えば、取得モジュール410は、ユーザに関する、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴を取得するように構成することができる。いくつかの実施形態において、取得モジュール410は、さらに、複数の候補推奨アイテムを取得するように構成することができる。例えば、取得モジュール410は、ストレージデバイスから複数の広告を取得することができる。広告は、財務プロダクト、教育プロダクト等のようなプロダクトに関連することができる。
【0096】
いくつかの実施形態において、取得した情報(例えば、サービス要求、サービス要求に関連した情報、または、候補推奨アイテム)は、他のモジュール(例えば、決定モジュール430)に送信されてさらに処理することができる。いくつかの実施形態において、上述した機能を実行する前に、取得モジュール410は、ユーザ端末上で実行しているアプリケーションを検出することができ、アプリケーションは、ネットワークを介して、システムのネットワークサービスと自動的に通信している。
【0097】
トレーニングモジュール420は、トレーニングされた推奨モデルを取得するように構成することができる。いくつかの実施形態にいて、トレーニングモジュール420は、情報処理装置112内の他のコンポーネントから推奨モデルを取得することができる。いくつかの実施形態において、トレーニングモジュールは、複数のサンプルを用いて一次(primary)推奨モデルをトレーニングして、トレーニングした推奨モデルを生成することができる。トレーニングされた推奨モデルを生成するためのトレーニングプロセスは、図6とその記述に説明され、ここでは、繰り返し述べない。いくつかの実施形態において、トレーニングモジュール420は、トレーニングされた推奨モデルを、他のモジュール(例えば、決定モジュール430)に送信してさらに処理することができる。
【0098】
選択モジュール430は、複数の候補推奨アイテムからターゲット推奨アイテムを選択するように構成することができる。選択モジュール430は、トレーニングされた推奨モデルを用いて、1つまたは複数の現在のコンテキストに関連した特徴と、1つまたは複数の現在のユーザに関連した特徴とに基づいて、ターゲット推奨アイテムを選択することができる。いくつかの実施形態において、選択モジュール430は、各候補推奨アイテムに関して、候補推奨アイテム、1つまたは複数の現在のコンテキストに関連した特徴、1つまたは複数の現在のユーザに関連した特徴、およびトレーニングされた推奨モデルに基づいて、候補推奨アイテムに対応する候補収入を決定することができる。いくつかの実施形態において、選択モジュール430は、複数の候補推奨アイテムに対応する複数の候補収入をランク付けして、複数の候補収入の最大候補収入を決定することができる。いくつかの実施形態において、選択モジュール430は、最大候補収入に対応する候補推奨アイテムを、ターゲット推奨アイテムとして選択することができる。
【0099】
いくつかの実施形態において、ターゲット推奨アイテムは、他のモジュール(例えば、通信モジュール440)に送信してさらに処理することができる。通信モジュール440は、ターゲット推奨アイテムを要求者端末130、ストレージ150、および/またはオンデマンドサービスシステム100に関連づけられた任意の他のデバイスに送信するように構成することができる。いくつかの実施形態において、推奨情報は、要求者端末103および/またはプロバイダ端末140に送信してユーザインタフェース(例えば、ディスプレイ320)を介して表示させることができる。いくつかの実施形態において、推奨情報は、例えば、テキスト、イメージ、オーディオ、ビデオ等のフォーマットで表示することができる。いくつかの実施形態において、通信モジュール440は、推奨された情報を、適切な通信プロトコル(例えば、ハイパーテキストトランスファープロトコル(HTTP)、アドレスレゾルーションプロトコル(ARP)、ダイナミックホストコンフィグレーションプロトコル(DHCP)、ファイル転送プロトコル(FTP)等)を介して任意のデバイスに推奨された情報を送信することができる。
【0100】
フィードバックモジュール450は、端末から収入フィードバックを受信するように構成することができる。ユーザは、端末に表示されたターゲット推奨アイテムと相互作用することができる。収入フィードバックは、ターゲット推奨アイテムとのユーザの相互作用に関連することができる。更新モジュール460は、トレーニングされた推奨モデルを更新することができる。いくつかの実施形態において、更新モジュール460は、図12に見出すことができる、取得した収入フィードバック、およびその詳細に基づいて、トレーニングされた推奨モデルを更新することができる。
【0101】
図5Aは、この開示のいくつかの実施形態に従うサービス要求に関連づけられた推奨情報を決定するための例示プロセスを説明するフローチャートである。プロセス500は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス500は、ストレージROM230またはRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220は、命令のセットを実行することができ、命令を実行すると、プロセス500を実行するように構成することができる。下記に示す説明されたプロセスの動作は、例示的であることが意図される。いくつかの実施形態において、プロセス500は、記載していない1つまたは複数のさらなる動作で、および/または説明した動作の1つまたは複数を伴わずに、達成することができる。さらに、図5Aに説明され、以下に記載されるプロセスの動作の順番は、限定することを意図したものではない。
【0102】
510において、情報処理デバイス112は、端末を介してユーザにより送信されたサービス要求を取得することができる。情報処理デバイス112は、ネットワーク120を介して要求者端末130からサービス要求を取得することができる。サービス要求は、輸送サービス(例えば、タクシーサービス)のための要求であり得る。
【0103】
サービス要求は、リアルタイム要求、アポイントメント要求、および/または、1つまたは複数の種類のサービスに関する任意の他の要求を含むことができる。本明細書で使用されるように、リアルタイム要求は、要求者が現在または現時点で合理的に近い、定義された時間に当業者の輸送サービスを使用したいことを示し、それにより、サービス提供者は、サービスを提供するために直ちに、または実質的に直ちに行動することが要求される。例えば、要求は、定義される時間が、しきい値より短い場合、例えば、1分、5分、10分、20分のような場合、リアルタイム要求であり得る。アポイントメント要求は、要求者が輸送サービスを事前に(例えば、当業者の現在の瞬間からかなり遠い定義された時間に)スケジュールしたいことを示すことができ、それにより、サービスプロバイダは、即座に、または実質的に即座に、サービスを提供するために行動する必要がない。例えば、要求は、定義された時間がしきい値より長い場合、例えば、20分、2時間、1日等の場合、アポイントメント要求であり得る。いくつかの実施形態において、情報処理装置112は、時間しきい値に基づいて、リアルタイム要求またはアポイントメント要求を定義することができる。時間しきい値は、オンデマンドサービスシステム100のデフォルト設定値であり得、または、異なる状況下で調節可能である。例えば、トラフィックピーク期間では、時間しきい値は、相対的に小さくすることができる(例えば、10分)。アイドル期間(例えば、午前10:00-12:00)では、時間しきい値は、相対的に大きくすることができる(例えば、1時間)。
【0104】
520において、情報処理装置112は、ユーザに関する、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴を取得することができる。例えば、現在のコンテキストに関連した特徴は、ユーザがサービス要求および/またはサービス要求のサービスコンテキストを送信する条件に関連づけることができる。ユーザがサービス要求を送信する条件は、現在、温度が30度を超えるかどうか、雨が降っているかどうか、霧がでているかどうか等、またそれらの任意の組み合わせを含むことができる。サービスコンテキストは、車を利用しているかどうか、乗車をシェアリングしているかどうか、急行列車を利用しているかどうか、豪華列車を利用しているかどうか、目的地は医療機関であるかどうか、目的地は、観光地であるかどうか、目的地は、金融機関であるかどうか、目的地は、学校であるかどうか等、またはそれらの任意の組み合わせを含むことができる。
【0105】
ブロック530において、情報処理装置112は、複数の候補推奨アイテムを取得することができる。例示推奨アイテムは、推奨プロダクトを含むことができる。例示プロダクトは、高価格プロダクト、金融商品、保険プロダクト、ビークル関連プロダクト等、またはそれらの任意の組み合わせを含むことができる。
【0106】
ブロック540において、情報処理装置112は、トレーニングされた推奨モデルを用いて、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴に基づいて、複数の候補推奨アイテムからターゲット推奨アイテムを選択することができる。ここで使用するように、ターゲット推奨アイテムは、ユーザに送信される推奨アイテムであり得る。いくつかの実施形態において、ターゲット推奨アイテムを選択するために、情報処理装置112は、各候補推奨アイテムに関して、候補推奨アイテム、1つまたは複数の現在のコンテキストに関連した特徴、1つまたは複数の現在のユーザに関連した特徴、およびトレーニングされた推奨モデルに対応する候補収入を決定することができる。トレーニングされた推奨モデルの詳細な記述は、図9乃至12およびそれらの記述に説明される。情報処理装置112は、複数の候補推奨アイテムに対応する複数の候補収入をランク付けして、複数の候補収入の最大候補収入を決定することができる。次に、情報処理装置112は、最大候補収入に対応する候補推奨アイテムをターゲット推奨アイテムとして選択することができる。
【0107】
ブロック540において、情報処理装置112は、ターゲット推奨アイテムを端末へ送信することができる。情報処理装置112は、ネットワーク120を介してターゲット推奨アイテムを要求者端末130へ送信することができる。このようなターゲット推奨アイテムの送信は、電磁信号、光信号等、またはそれらの任意の適切な組み合わせを含む任意の種々の形態を採用することができる。
【0108】
ブロック540において、情報処理装置112は、端末から収入フィードバックを受信することができる。いくつかの実施形態において、ユーザは、端末に表示されたターゲット推奨アイテムと相互作用することができる。例えば、ユーザは、推奨アイテムをクリックしたり、推奨アイテムをスライドさせたり、推奨アイテムを閉じたりすることができる。ユーザが推奨アイテムと相互作用するとき、推奨アイテムの対応する収入フィードバックが生成され、さらに、情報処理装置112により受信される。例えば、ユーザが推奨アイテムをクリックしなかったとき、その収入はゼロであり得る。ユーザが推奨アイテムをクリックすると、対応する収入は、情報処理装置112に予め記憶されたプリセット値、例えば、1であり得る。ブロック550において、フィードバックモジュール450は、推奨アイテムを端末に送信し、ブロック560において、端末から収入フィードバックを受信することができる。
【0109】
ブロック570において、情報処理装置112、例えば更新モジュール460は、受信したフィードバックに基づいてトレーニングされた推奨モデルを更新することができる。受信されたフィードバックに基づいた、トレーニングされた推奨モデルは、図12およびその記述に説明されている。
【0110】
図5Bは、この開示のいくつかの実施形態に従って、ターゲット推奨モデルを決定するための例示プロセス501を説明するフローチャートである。プロセス501のオペレーションは、プロセス500の動作540を達成するように構成することができる。プロセス501は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス501は、ストレージROM230又はROM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220(例えば、選択モジュール430)は、命令のセットを実行することができ、命令を実行すると、プロセス501を実行するように構成することができる。以下に示す説明されたプロセスの動作は、説明的であることを意図している。いくつかの実施形態において、プロセス501は、記載されていない1つまたは複数のさらなる動作を用いて、および/または説明した動作の1つまたは複数を伴わずに、達成することができる。さらに、図5Bに説明され、以下に記載したプロセスの動作の順番は、限定することを意図したものではない。
【0111】
ブロック541において、選択モジュール430は、各候補推奨アイテムに関して、候補推奨アイテム、1つまたは複数の現在のコンテキストに関連した特徴、1つまたは複数の現在のユーザに関連した特徴、及びトレーニングされた推奨モデルに基づいて候補推奨アイテムに対応する候補収入を決定することができる。トレーニングされた推奨モデルの詳細な記述は、この開示のどこかに説明されているので、ここでは繰り返さない。ブロック542において、選択モジュール430は、複数の候補推奨アイテムに対応する候補収入をランク付けし、複数の候補収入の最大候補収入を決定することができる。ブロック543において、選択モジュール430は、最大候補収入に対応する候補推奨アイテムをターゲット推奨アイテムとして選択することができる。
【0112】
図5Cは、この開示のいくつかの実施形態に従う、候補収入を決定するための例示プロセス502を説明するフローチャートである。プロセス502の動作は、プロセス501の動作541を達成するように構成することができる。プロセス502は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス502は、ストレージROM230またはRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220(例えば、選択モジュール430)は、命令のセットを実行することができ、命令を実行すると、プロセス502を実行するように構成することができる。下記に提示された、説明されたプロセスの動作は、例示を目的とする。いくつかの実施形態において、プロセス502は、記載されていない、1つまたは複数のさらなる動作により、および/または、説明した動作の、1つまたは複数なしに、達成することができる。さらに、図5Cおよび下記に記載されたプロセスの動作の順番は、限定することを目的としたものではない。
【0113】
ブロック5411において、選択モジュール430は、候補推奨アイテムの、1つまたは複数の推奨アイテムに関連した特徴を決定することができる。候補推奨アイテムの、例示推奨アイテムに関連した特徴は、候補推奨アイテムの属性、例えば、候補推奨アイテムが金融アイテムかどうか、教育アイテムかどうか等を含むことができる。
【0114】
ブロック5412において、選択モジュール430は、少なくとも候補推奨アイテムの、1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴に基づいて、候補推奨アイテムに対応する多次元ベクトルを決定することができる。多次元ベクトルの次元は、候補推奨アイテムの、1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、1つまたは複数の現在のユーザに関連した特徴の合計に等しくすることができる。多次元ベクトルの各エレメントは、特徴に対応させることができる。
【0115】
ブロック5413において、選択モジュール430は、候補推奨アイテムに対応する決定された多次元ベクトルを推奨モデルに入力することにより、候補推奨アイテムに対応する候補収入を決定することができる。推奨モデルの詳細な記述は、この開示のどこかに見出すことができるので、ここでは、繰り返さない。
【0116】
図6は、この開示のいくつかの実施形態に従う、トレーニングされた推奨モデルを決定するための例示プロセス600を説明するフローチャートである。プロセス600は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス600は、ストレージROM230またはRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220(例えば、選択モジュール430)は、命令のセットを実行することができ、命令を実行すると、プロセス600を実行するように構成することができる。以下に示される図示されたプロセスの動作は、例示的であることを意図している。いくつかの実施形態において、プロセス600は、記載されていない、1つまたは複数のさらなる動作を用いて、および/または説明した動作の1つまたは複数を伴わずに、達成することができる。さらに、図5Cに図示され、以下に記載されたプロセスの動作の順番は、限定することを意図したものではない。
【0117】
ブロック610において、送信モジュール420は、ユーザの複数の履歴の順番を取得することができる。ブロック620において、複数の履歴のオーダの各々に関して、履歴の順番、ユーザに関連した1つまたは複数のサンプルのユーザに関連した特徴、および履歴オーダに関連した、1つまたは複数のサンプルの推奨アイテムに関連した特徴を決定することができる。ブロック630において、トレーニングモジュール420は、予備推奨モデルを取得することができる。ブロック640において、トレーニングモジュール420は、複数の履歴オーダのサンプルのコンテキストに関連した特徴、複数の履歴オーダのサンプルのユーザに関連した特徴、および複数の履歴オーダのサンプルの推奨アイテムに関連した特徴を予備推奨モデルに入力することによりトレーニングされた推奨モデルを取得することができる。トレーニングされた推奨モデルを取得する詳細な記述は、この開示のどこかに見出すことができ、ここでは、繰り返さない。
【0118】
この開示の第1の態様のいくつかの実施形態は、情報処理方法を提供する。図9は、この開示のいくつかの実施形態に従う情報処理方法を説明するフローチャートである。この方法は、1つまたは複数の以下の動作を含むことができる。プロセス900は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス900は、ストレージROM230またはRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220は、命令のセットを実行することができ、命令を実行すると、プロセス900を実行するように構成することができる。下記に提示され、説明されるプロセスの動作は、例示を意図している。いくつかの実施形態において、プロセス900は、記載されていない1つまたは複数のさらなる動作により、および/または説明した1つまたは複数の動作なしに、達成することができる。さらに、図9に例示され、下記に記載されたプロセスの動作は、限定することを意図したものではない。ブロック910において、推奨モデルを構築することができる。
【0119】
ブロック920において、現在のコンテキスト情報(例えば、または、現在のコンテキストに関連した情報と呼ばれ、また現在のコンテキストに関連した特徴と呼ばれる)およびユーザの現在のユーザ特徴情報(または、ユーザの現在のユーザに関連した情報と呼ばれ、またはユーザに関して現在のユーザに関連した特徴と呼ばれる)を取得することができる。ブロック930において、ある特徴情報を備えた推奨されるプロダクト(例えば、推奨された輸送プロダクト)は、取得した現在のコンテキストに関連した情報と、現在のユーザに関連した情報を推奨モデルに入力することにより取得することができる。ブロックブロック940において、推奨されたプロダクトは、ユーザの端末に送信することができる。
【0120】
この開示により提供される情報処理方法は、最初にオンライン学習アルゴリズムを用いて推奨モデルを確立し、次に現在のコンテキスト情報(天気、目的地、温度、乗車タイプなどのような)と、現在のユーザ特徴情報(年齢、性別、価格感応度などのような)を収集する。ユーザの現在の輸送コンテキスト情報と現在のユーザの特徴情報は、推奨モデルに入力することができ、特定の特徴情報を有する推奨される輸送プロダクトの情報は、データをクリーニングし、処理し、クラスタリングし、およびデータの次元削減を実行することにより取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と、現在のユーザの特徴情報に関連づけることができる。
【0121】
最後に、ユーザが動作中のとき、対応するシーンがトリガされる。例えば、輸送アプリケーションがトリガされると、推奨アルゴリズム(または、トレーニングされた推奨モデルと呼ばれる)を用いて決定することができる、ユーザに適した最適プロダクト情報(または推奨された輸送情報と呼ばれる)は、ユーザに推奨することができる。この開示は、ユーザ輸送のビッグデータを収集し、オンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築された推奨モデル、および収集されたビッグデータに基づいてある輸送コンテキストにおけるユーザのリアルタイムのニーズを予測することができる。構築された推奨モデルは、数千回の反復の後収束し、ユーザをある時点におけるニーズに正確に一致させることができ、ユーザとユーザが属する輸送コンテキストに従ってユーザ毎に適切なプロダクト(例えば、金融商品、または保険商品、など)を推奨することができる。この開示は、広告収入を大きく改善し、広告に対するユーザの嫌悪度を低減することができる。
【0122】
図10は、この開示のいくつかの実施形態に従う情報処理方法を説明するフローチャートである。この方法は、1つまたは複数の以下の動作を含むことができる。プロセス1000は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス1000は、ストレージROM230およびRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220は、命令のセットを実行することができ、命令を実行すると、プロセス1000を実行するように構成することができる。以下に提示した説明されたプロセスの動作は、説明することを意図している。いくつかの実施形態において、プロセス1000は、記載されていない1つまたは複数のさらなる動作を用いて、および/または説明した1つまたは複数の動作なしに、達成することができる。さらに、図10に説明され、下記に記載したプロセスの動作の順番は、限定することを意図したものではない。ブロック1010において、推奨モデルを構築することができる。ブロック1020において、ユーザの現在のコンテキストに関連した情報、および現在のユーザに関連した情報を取得することができる。ブロック1020において、ある特徴情報を備えた推奨されたプロダクトは、取得した現在のコンテキストに関連した情報、および現在のユーザに関連した情報を、推奨モデルに入力することにより取得することができる。ブロック1040において、推奨されたモデルは、ユーザの端末に送信することができる。ブロック1050において、推奨されたプロダクトのクリック収入を受信することができる。ブロック1060において、推奨モデルは、受信されたクリック収入に従って最適化される。
【0123】
いくつかの実施形態において、輸送プロダクト(または輸送プロダクトに関連した情報)がユーザに提示される毎に、提示された輸送プロダクトがユーザによりクリックされたかどうかが収集される。アルゴリズム内のマトリクスは、推奨されたプロダクトの情報のクリック収入に従って更新され、推奨モデルを最適化する。このように、あるコンテキストにおける推奨モデルは、継続的に調査され、更新されて、推奨モデルの精度を改善し、異なる輸送コンテキストにおける異なるユーザのための、より良い、かつより要求の厳しいプロダクトを提供し、さらに、ユーザ経験を改善することができる。
【0124】
図11は、この開示のいくつかの実施形態に従う情報処理方法を説明するフローチャートである。この方法は、1つまたは複数の以下の動作を含むことができる。プロセス1100は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス1100は、ストレージROM230およびRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220は、命令のセットを実行することができ、命令を実行すると、プロセス1100を実行するように構成することができる。下記に提示された例示プロセスの動作は、例示的であることが意図される。いくつかの実施形態において、プロセス1100は、記載されていない1つまたは複数のさらなる動作を用いて、および/または記載した1つまたは複数の動作無しに、達成することができる。さらに、図11に説明され、下記に記載されたプロセスの動作の順番は、限定することを意図したものではない。ブロック1110において、ユーザの履歴輸送サンプルを収集することができる。ユーザの履歴輸送サンプルは、またユーザの履歴オーダと呼ぶことができる。
【0125】
ブロック1120において、情報処理システム112は、ユーザの収集された履歴輸送サンプルについてクラスタリング操作と次元削減操作を実行して、ユーザに関連した情報、コンテキストに関連した情報、およびプロダクトに関連した情報を取得することができる。いくつかの実施形態において、複数の履歴オーダの各々に関して、情報処理システム112は、履歴オーダ、ユーザに関連した1つまたは複数のサンプルのユーザに関連した特徴、および履歴オーダに関連した1つまたは複数のサンプルの推奨アイテムに関連した特徴を決定することができる。ブロック1130において、情報処理システム112は、ユーザに関連した情報、コンテキストに関連した情報およびプロダクトに関連した情報に基づいて推奨モデルを構築することができる。ブロック1140において、ユーザの現在のコンテキストに関連した情報および現在のユーザに関連した情報を取得することができる。ブロック1150において、ある特徴情報を備えた推奨プロダクトは、取得した現在のコンテキストに関連した情報および現在のユーザに関連した情報を推奨モデルに入力することにより取得することができる。ブロック1160において、推奨プロダクトは、ユーザの端末に送信することができる。ブロック1170において、推奨されたプロダクトのクリック収入を受信することができる。ブロック1180において、推奨モデルは、受信されたクリック収入に従って最適化することができる。
【0126】
訓練された推奨モデルは、
【数19】
である。ただし、aは、推奨されたアイテム(またはターゲット推奨アイテムと呼ばれる)のD次元特徴ベクトルを指す。Dは1より大きい整数である。いくつかの実施形態において、ターゲット推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、ターゲット推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の1つに対応する。同様に、いくつかの実施形態において、候補推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の1つに対応する。いくつかの実施形態において、推奨アイテムの多次元ベクトル(Xベクトルとも呼ばれる)を決定するために、情報処理装置112は、多次元ベクトルフレームを取得することができ、ベクトルフレームは、おそらく、少なくとも部分的に埋め込まれていない(unfilled)。情報処理装置112は、取得した多次元ベクトルフレーム、推奨されるアイテム(例えば、候補推奨アイテム)の1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴に基づいて多次元ベクトルを決定することができる。特に、情報処理装置112は、上述した特徴を多次元ベクトルに埋め込んで、埋め込まれた多次元ベクトルを取得することができ、それは、推奨アイテムの多次元ベクトルである。いくつかの実施形態において、上述した特徴を多次元ベクトルフレームに埋め込む前に、1つまたは複数の特徴を2値化することができる。すなわち、情報処理デバイス112は、候補推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の各々に関して、対応する値を決定し、決定した値を取得した多次元ベクトルフレームに埋め込んで、多次元ベクトルを決定することができる。いくつかの実施形態において、バイナリ値(またはバイナリエレメントと呼ばれる)で構成するとき、多次元ベクトルは、またバイナリベクトルと呼ぶことができる。aは、複数の候補推奨アイテムのある候補推奨アイテムを指す、Aは、複数の推奨アイテムの集合を指し、Xt,aは、t番目の反復における、ある候補推奨アイテムを選択する特徴ベクトルを指す。
【数20】
は、aに対するtの反復の後で、ある候補推奨アイテムのクリックごとの収入に関するマトリクスを指し、Aは、D次元マトリクスを指す。
【数21】
は、標準偏差を指し、但し、
【数22】
であり、δは定数を指す。
【数23】
は、候補推奨アイテムに対応する候補収入を指す。
【0127】
いくつかの実施形態において、推奨モデルを構築するために、ユーザの履歴輸送サンプルを取得することができる。いくつかの実施形態において、30のバイナリ変数は、履歴輸送サンプルからフィルタリングすることができる。30のバイナリ変数は、20のユーザ特徴変数と、6つのコンテキスト特徴変数と、4つのプロダクト変数を含むことができる。いくつかの実施形態において、ユーザ特徴変数を有するユーザの履歴輸送サンプルは、ユーザ年齢が15より上であるかどうか、ユーザ年齢が40より上であるかどうか、ユーザの性別が男性であるかどう、ユーザが価格に敏感であるかどうか、ユーザが過去3年間に20台の高級車に乗車したかどうか等、またはそれらの任意の組み合わせを含むことができる。
【0128】
いくつかの実施形態において、コンテキスト特徴変数を有するユーザの履歴輸送サンプルは、温度が30度を超えるかどうか、雨が降っているかどうか、急行列車に乗っているかどうか、高級車に乗っているかどうか、目的地が医療機関かどうか、目的地が観光地かどうか、目的地が金融機関かどうか、目的地が学校かどうか等、またはそれらの任意の組合わせを含むことができる。
【0129】
いくつかのプロダクト特徴変数を有するユーザの履歴輸送サンプルは、高価格プロダクトであるかどうか、財産管理プロダクトであるかどうか、保険商品であるかどうか、車に関係するかどうか、等、またはそれらの任意の組み合わせを含むことができる。いくつかの実施形態において、クラスタリング動作および次元削減動作は、20のユーザ特徴変数、6つのコンテキスト特徴変数、および4つのプロダクト特徴変数について実行して、2つのユーザ特徴変数、6つのコンテキスト特徴変数、および2つのプロダクト特徴変数を含む10次元特徴変数を決定することができる。いくつかの実施形態において、情報処理システム112は、さらにユーザ関連情報、コンテキスト関連情報、およびプロダクト関連情報に基づいて推奨モデルを構築することができ、次の作業の保証を提供する。
【0130】
D次元マトリクスは、初期化マトリクスであり、Dはユーザ特徴、コンテキスト特徴およびプロダクト特徴の次元の合計と同じである。推奨モデルの理論的基礎は、自信間隔(confidence interval)の上限を決定することであり、信頼間隔=クリック当たりの推定収入±(キー値×クリック当たりの推定収入の標準偏差)である。それゆえ、
【数24】
は、ある候補推奨アイテムの広告の推定クリック収入を示すことができる。αは、(調節することができる)キー値を指すことができ、履歴経験の累積と、経験を伴わない調査選択の度合いを決定することができ、経験に基づいて決定することができる。
【0131】
例えば、αは1に設定することができる。新しい特徴を有する新しいプロダクトがプロモートする必要があるとき、値は、相対的に大きな値にとして設定されるので、システムは、新しいプロダクトを促進プランとして、選択する可能性が高い。Aは、現在選択することができるプロモーションプランまたはプロモーションプロダクトの集合を表す。
【数25】
は、収入の標準偏差を指すことができ、それはまた収入の平均でもある。
【0132】
図12は、この開示のいくつかの実施形態に従う情報処理方法を説明するフローチャートである。方法は、1つまたは複数の以下の動作を含むことができる。プロセス1200は、オンデマンドサービスシステム100により実行することができる。例えば、プロセス1200は、ストレージROM230またはRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセス220は、命令のセットを実行し、命令を実行すると、プロセス1200を構築することができる。下記に提示した例示プロセスの動作は、説明することを意図している。いくつかの実施形態において、プロセス1200は、記載されていない1つまたは複数のさらなる動作、および/または上述した動作の1つまたは複数無しに、達成することができる。さらに、図12に説明し、下記に記載するプロセスの動作の順番は、限定することを意図したものではない。ブロック1210において、ユーザの履歴輸送サンプルは収集することができる。情報処理システム112は、ユーザの集合された履歴輸送サンプルに対して、クラスタリング操作および次元削減操作を実行することができ、ユーザに関連した情報、コンテキストに関連した情報およびプロダクトに関連した情報を取得することができる。情報処理システム112は、さらに、ユーザ関連情報、コンテキスト関連情報およびプロダクト関連情報に基づいて推奨モデルを構築することができる。
【0133】
ブロック1220において、ユーザの現在のコンテキスト情報と、現在のユーザ関連情報を取得することができる。ブロック1230において、ある特徴情報を備えた推奨プロダクトは、取得した現在のコンテキスト関連情報と現在のユーザ関連情報を推奨モデルに入力することにより取得することができ、それは第1のマトリクスAa,tおよび第2のマトリクス
【数26】
を含む。ブロック1240において、推奨プロダクトは、ユーザの端末に送信することができる。ブロック1250において、推奨プロダクトのクリック収入を受信することができる。ブロック1260において、第1のマトリクスと第2のマトリクスは、
【数27】
に従って指定することができる。ただし、rは、推奨プロダクトのクリック収入である。ブロック1270において、推奨モデルは、
【数28】
に従って、最適化することができる。ここで、トレーニングされた推奨モデルは、
【数29】
であり、
【0134】
ここで、aは、推奨されたアイテム(またはターゲット推奨アイテムと呼ばれる)のD次元特徴を指す。Dは1より大きい正数である。いくつかの実施形態において、ターゲット推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、ターゲット推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の1つに対応する。同様に、いくつかの実施形態において、候補推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補特徴アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の1つに対応する。いくつかの実施形態において、推奨アイテムに関する多次元ベクトル(Xベクトルとも呼ばれる)を決定するために、情報処理装置112は、多次元ベクトルフレームを取得することができ、ベクトルフレームは、おそらく、少なくとも部分的に埋め込まれなくてもよい(unfilled)。情報処理デバイス112は、取得した多次元ベクトルフレーム、推奨アイテム(例えば、候補推奨アイテム)の1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した情報を決定することができる。特に、情報処理装置112は、多次元フレームに、上記特徴を埋め込んで、埋め込まれた多次元ベクトルを取得することができ、それは、推奨アイテムの多次元ベクトルである。いくつかの実施形態において、上述した特徴を多次元ベクトルフレームに埋め込む前に、1つまたは複数の特徴を2値化することができる。すなわち、情報処理装置112は、候補推奨アイテムの、1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の各々に関して、対応する値を決定し、決定した値を取得した多次元ベクトルに埋め込んで多次元ベクトルを決定することができる。いくつかの実施形態において、バイナリ値(またはバイナリエレメントと呼ばれる)を構築するとき、多次元ベクトルは、また、バイナリベクトルとも呼ぶことができる。aは、複数の候補推奨アイテムのある候補推奨アイテムを指す。Aは、複数の候補推奨アイテムの集合を指し、Xt,aは、t番目の反復におけるある候補推奨アイテムを選択する特徴ベクトルを指す。
【数30】
は、aについてのtの反復の後の、候補推奨アイテムのクリック毎の収入に関するマトリクスを指す。Aは、D次元マトリクスを指し、
【数31】
は、標準偏差を指し、但し、
【数32】
であり、δは、定数を指す。
【数33】
は、候補推奨アイテムに対応する候補収入を指す。
【0135】
いくつかの実施形態において、各推奨が完了すると、推奨の収入(例えば、クリック当たりの収入)が収集され、アルゴリズム内のマトリクスは、収集された収入に従ってアップグレードすることができる。アルゴリズム内のマトリクスは、アップグレードされ、推奨されたモデルを最適化して、推奨モデルの自己訂正をインプリメントし、それはさらに、ユーザの関心を確認するように構成することができる。
【0136】
この開示のいくつかの実施形態において、推奨プロダクトの情報がユーザによりクリックされると、クリック当たりの収入は、1である。推奨された輸送プロダクトの情報がユーザによりクリックされないと、クリック当たりの収入は0である。いくつかの実施形態において、推奨されたプロダクト情報がユーザによりクリックされると、クリック当たりの収入は1であり、そうでなければ0である。このように、推奨されたプロダクトに対するユーザの関心の度合いは、取得したクリック当たりの収入に基づいて決定することができ、それはさらに、推奨アルゴリズム(または推奨モデルと呼ばれる)の最適化のベースを提供する。
【0137】
この開示のいくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢が15歳より上かどうか、ユーザが価格に敏感であるかどうか等、またはそれらの任意の組合わせを含む。輸送コンテキスト情報は、温度が、摂氏30度を超えるかどうか、雨が降っているかどうか、ユーザが、カーサービスを受けているかどうか、目的地が、医療機関かどうか、目的地が、観光地かどうか、目的地が、学校か否か等、またはそれらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクトが、保険商品かどうか、プロダクトが、車に関係しているかどうか等、またはそれらの任意の組み合わせを含む。いくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢、価格に対するユーザの敏感度等、またはそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度、天気、乗車モード、目的地等、またはそれらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクトの属性、カテゴリ等を含む。いくつかの実施形態において、ユーザの輸送データに基づいて、種々のシナリオにおいてユーザにとって最も適したプロダクトを推奨することが可能である。
【0138】
この開示の第2の態様のいくつかの実施形態は、情報処理システム112を提供する。図8Aは、この開示のいくつかの実施形態に従う情報処理装置112の概略図を説明する。情報処理装置112は、構築モジュール802、取得モジュール804、推奨モジュール806を含むことができる。構築モジュール802は、推奨モデルを構築するように構成される。取得モジュール804は、ユーザの現在のコンテキストに関連した情報と、現在のユーザに関連した情報を取得するように構成され、取得した現在のコンテキストに関連した情報および現在のユーザに関連した情報を推奨モデルに入力することにより、ある特徴情報を備えた改良したプロダクトを取得するように構成される。推奨されたモジュール806は、推奨されたプロダクトをユーザの端末に送信するように構成される。この開示により提供される情報処理装置112は、オンライン学習アルゴリズムを用いることにより推奨モデルを構築するように構成された構築モジュール802を含む。
【0139】
取得モジュール804は、ユーザの現在の輸送コンテキスト情報(天気、目的地、温度、乗車タイプ・・・)および現在のユーザ特徴情報(年齢、性別、価格感度・・・)、を収集するように構成され、次にユーザの現在の輸送、コンテキスト情報及び現在のユーザ特徴情報は、推奨モデルに入力される。この開示により提供される情報処理方法は、最初にオンライン学習アルゴリズムを用いて推奨モデル(または予備推奨モデルと呼ばれる)を確立し、次に、現在のコンテキスト情報(天気、目的地、温度、乗車タイプ等)、および現在のユーザ特徴情報(年齢、性別、価格感度等)を収集する。
【0140】
取得モジュール804は、データに対して、クリーニングし、処理し、クラスタリングし、次元削減操作を実行することにより特定の特徴情報を備えた推奨輸送プロダクトの情報を取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と、現在のユーザ特徴情報に関連づけることができる。
【0141】
推奨モジュール806は、推奨されたアイテムをユーザへ送信するように構成される。いくつかの実施形態において、ユーザが操作中のとき、対応するシーンがトリガされる。例えば、輸送アプリケーションがトリガされると、推奨モジュールは、推奨アルゴリズムモデルに従ってユーザの最適なプロダクト情報を決定するように構成することができ、それをユーザに推奨することができる。
【0142】
この開示は、ユーザ輸送のビッグデータを収集することができ、収集されたビッグデータおよびオンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築された推奨モデルに基づいて、ある輸送コンテキストにおけるユーザのリアルタイムのニーズを予測することができる。構築された推奨モデルは、数千回の反復の後で収束することができ、ある時点におけるニーズを有するかもしれないユーザと正確に一致させることができ、ユーザとユーザが属する輸送の組み合わせに従って、各ユーザに関して最適なプロダクト(例えば、財務プロダクト、または保険商品等)を推奨することができる。この開示は、広告収入を大きく改善し、広告に対するユーザの反感度を低減することができる。ここに使用されるように、候補推奨アイテムが財務プロダクト、または保険商品等かどうかのような候補推奨プロダクトに関連した特徴(例えば、属性)は、候補推奨アイテムの推奨アイテムに関連した特徴に言及することができる。
【0143】
図8Bは、この開示の他の実施形態に従う、情報処理装置112の概略図を説明する。情報処理システム112は、構築モジュール802、取得モジュール804、推奨モジュール806、受信モジュール808、および最適化モジュール810を含むことができる。構築モジュール802は、推奨モデルを構築するように構成することができる。取得モジュール804は、ユーザの現在のコンテキストに関連した情報および現在のユーザに関連した情報を取得するように構成され、取得した現在のコンテキストに関連した情報および現在のユーザに関連した情報を推奨モデルに入力することによりある特徴情報を備えた改良されたプロダクトを取得するように構成される。推奨モジュール806は、推奨されたプロダクトをユーザの端末に送信するように構成される。受信モジュール808は、推奨されたプロダクトのクリック当たりの収入を受信するように構成される。最適化モジュール810は、受信されたクリック収入に従って、推奨モデルを最適化するように構成することができる。
【0144】
いくつかの実施形態において、情報処理システム112はさらに、受信モジュール808と最適化モジュール810を含み、輸送プロダクトについての情報がユーザに提示される毎に、情報処理の情報がユーザにより収集される。アルゴリズム内のマトリクスは、推奨されたプロダクトの情報のクリック収入に従ってアップグレードされ、推奨モデルを最適化する。このように、あるコンテキストにおける推奨モデルは、推奨モデルの精度を改善するように、連続的に調べられ、異なる輸送コンテキストにおいて異なるユーザのためのより良い、かつより要求の厳しいプロダクトサービスを提供し、それはさらにユーザの経験を改善する。
【0145】
図8Cは、この開示のいくつかの実施形態に従う情報処理システム112の概略図である。情報処理システム112は、構築モジュール802、取得モジュール804、推奨モジュール806、受信モジュール808、最適化モジュール810を含むことができる。構築モジュール806は、収集ユニット8022を含むことができる。構築モジュール802は、推奨モデルを構築するように構成することができる。構築モジュール802は、ユーザの輸送履歴サンプルを収集するように構成された収集ユニット8022を含むことができる。構築モジュール802は、ユーザの収集された履歴輸送サンプルについてクラスタリング操作と次元削減操作を実行して、ユーザ関連情報、コンテキスト関連情報およびプロダクト関連情報を取得し、ユーザ関連情報、コンテキスト関連情報、およびプロダクト関連情報に基づいて推奨モデルを構築することができる。取得モジュール804は、ユーザの現在のコンテキストに関連した情報と、現在のユーザに関連した情報を取得し、取得した現在のコンテキストに関連した情報と、現在のユーザに関連した情報を、推奨されたモデルに入力することにより、ある特徴情報を有した改良されたプロダクトを取得するように構成される。推奨されたモジュール806は、推奨されたプロダクトをユーザの端末に送信するように構成される。受信したモジュール808は、推奨されたプロダクトのクリック収入を受信するように構成される。最適化モジュール810は、プロダクトをユーザに推奨した後、毎回受信したクリック収入に従って推奨されたモデルを最適化するように構成することができ、
【数34】
とAを更新する。
【0146】
但し、トレーニングされた推奨モデルは、
【数35】
であり、aは、推奨されたアイテム(または、ターゲット推奨アイテムと呼ばれる)のD次元特徴ベクトルを指す。Dは、1より大きい正数である。いくつかの実施形態において、ターゲット推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、ターゲット推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の1つに対応する。同様に、いくつかの実施形態において、候補推奨アイテムに関して、多次元ベクトルは、複数のエレメントを含み、各エレメントは、候補推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の1つに対応する。いくつかの実施形態において、推奨されたアイテムに関する多次元ベクトル(Xベクトルとも呼ばれる)を決定するために、情報処理装置112は、多次元ベクトルフレームを取得することができ、ベクトルフレームは、多分少なくとも部分的に埋め込まれなくてもよい。情報処理装置112は、取得した多次元ベクトルフレーム、推奨アイテム(例えば、候補推奨アイテム)の1つまたは複数の推奨されたアイテムに関する特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴に基づいて多次元ベクトルを決定することができる。特に、情報処理装置112は、上記特徴を多次元ベクトルフレームに埋め込むことができ、埋め込まれ得た多次元ベクトルを取得することができ、それは、推奨されたアイテムの多次元ベクトルである。いくつかの実施形態において、上述した特徴を多次元ベクトルフレームに埋め込む前に、1つまたは複数の特徴を2値化することができる。すなわち、情報処理装置112は、候補推奨アイテムの1つまたは複数の推奨アイテムに関連した特徴、1つまたは複数の現在のコンテキストに関連した特徴、および1つまたは複数の現在のユーザに関連した特徴の各々に関して、対応する値を決定することができ、決定した値を取得した多次元ベクトルフレームに埋め込んで、多次元ベクトルを決定することができる。いくつかの実施形態において、バイナリ値(またはバイナリエレメントと呼ばれる)を構成するとき、多次元ベクトルは、またバイナリベクトルと呼ぶことができる。aは、複数の候補推奨アイテムの、ある候補推奨アイテムを指す。Atは、複数の候補推奨アイテムの収集を指し、Xt,aは、t番目の反復におけるある候補推奨アイテムを選択する特徴ベクトルを指す。
【数36】
は、aについてt回の反復の後の、ある候補推奨アイテムのクリック毎の収入に対するマトリクスを指し、Aは、D次元マトリクスを指し、
【数37】
は、標準偏差を指し、ここにおいて、
【数38】
であり、δは、定数を指す。
【数39】
は、候補推奨アイテムに対応する候補収入を指す。
【0147】
いくつかの実施形態において、構築モジュール802はさらに、収集ユニット8022を含む。いくつかの実施形態において、推奨モデルを構築するために、ユーザの履歴輸送サンプルは、収集ユニット8022により取得することができる。いくつかの実施形態において、30のバイナリ変数は、履歴輸送サンプルからフィルタリングされる。30のバイナリ変数は、20のユーザ特徴変数、6つのコンテキスト特徴変数、4つのプロダクト特徴変数を含むことができる。いくつかの実施形態において、ユーザ特徴変数を有するユーザの履歴輸送サンプルは、ユーザが15歳より上かどうか、ユーザが40歳より上かどうか、ユーザの性別は男性かどうか、ユーザは価格に敏感かどうか、ユーザは過去3か月間に高級車に乗車したかどうか等、またはそれらの任意の組み合わせを含むことができる。
【0148】
いくつかの実施形態において、コンテキスト特徴変数を有するユーザの履歴輸送サンプルは、温度が30度を超えるかどうか、雨が降っているかどうか、車を利用しているかどうか、乗車しているかどうか、急行列車を利用しているかどうか、高級車を利用しているかどうか、目的地は医療機関かどうか、目的地は観光地かどうか、目的地は金融機関かどうか、目的地は学校かどうか等またはそれらの任意の組み合わせを含むことができる。
【0149】
いくつかの実施形態において、プロダクト特徴変数を有するユーザの履歴輸送サンプルは、高価格プロダクトかどうか、財務管理プロダクトかどうか、保険商品かどうか、車に関連するかどうか等、またはそれらの任意の組み合わせを含むことができる。
【0150】
いくつかの実施形態において、クラスタリング操作と次元削減操作は、20のユーザ特徴変数、6つのコンテキスト特徴変数、および4つのプロダクト特徴変数に対して実行することができ、2つのユーザ特徴変数、6つのコンテキスト特徴変数、および2つのプロダクト特徴変数を含む10次元特徴ベクトルを決定することができる。いくつかの実施形態において、情報処理システム112は、さらに、ユーザに関連した情報、コンテキストに関連した情報、およびプロダクトに関連した情報に基づいて、推奨モデルを構築することができ、次の作業の保証を提供する。ここにおいてD次元マトリクスは、初期マトリクスであり、Dは、ユーザ特徴、コンテキスト特徴、プロダクト特徴の次元の合計と同じである。
【0151】
推奨モデルの理論的ベースは、信頼区間の上限を決定することであり、信頼区間=クリックごとの推定収入±(キー値×クリックごとの推定収入の標準偏差)である。それゆえ、
【数40】
は、ある候補推奨アイテムの広告の推定クリック収入を示すことができる。αは、キー値(それは調整値(regulation)と考えることができる)を指すことができ、履歴経験の累積と、経験を考慮せずに調査(exploration)選択の度合いを決定し、経験に従って設定することができる。
【0152】
例えば、αは1に設定することができる。新しい特徴を有した新しいプロダクトをプロモートする必要があるとき、値は、相対的に大きな値に設定されるので、システムは、ユーザの端末に推奨されるプロモーションプランとして新しいプロダクトを選択する可能性が高い。Aは、現在選択可能なプロモーションプランまたはプロモーションプロダクトの集合を表す。
【数41】
は、収入の標準偏差を指し、収入の平均でもある。いくつかの実施形態において、最適化モジュール810は、
【数42】
に従って、第1のマトリクスおよび第2のマトリクスを指定するように構成することができ、ここで、rは推奨されたプロダクトのクリック収入であり、
【数43】
に従って、推奨モデルを最適化するように構成されることができる。
【0153】
いくつかの実施形態において、最適化モジュール810は、各推奨が完了すると、推奨の収入(例えば、クリックごとの収入)を収集し、収集した収入に従って、アルゴリズム内のマトリクスをアップグレードするように構成することができる。アルゴリズム内のマトリクスは、推奨モデルを最適化し、推奨モデルの自己訂正をインプリメントするようにアップグレードされ、さらに、ユーザの関心を確認するように構成することができる。この開示のいくつかの実施形態において、推奨プロダクトの情報がユーザによりクリックされると、クリック毎の収入は、1である。推奨輸送プロダクトの情報がユーザによりクリックされないと、クリック当たりの収入は0である。
【0154】
いくつかの実施形態において、推奨プロダクト情報がユーザによりクリックされると、クリック当たりの収入は1であり、そうでない場合0である。このように、推奨プロダクト情報に対するユーザの関心の度合いは、クリック当たりの取得した収入に基づくことができ、それはさらに推奨されたアルゴリズムモデル(または、推奨モデルと呼ばれる)の最適化のベースを提供する。
【0155】
この開示のいくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢が15歳より上かどうか、ユーザは価格に敏感かどうか等、またはそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度が、摂氏30度を超えるかどうか、雨が降っているかどうか、ユーザは、カーサービスを受けているかどうか、目的地が、医療機関であるかどうか、目的地が、観光地かどうか、目的地が、学校かどうか等、またはそれらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクトが、保険商品かどうか、プロダクトが車に関係するかどうか等、またはそれらの任意の組み合わせを含む。
【0156】
いくつかの実施形態において、ユーザ特徴情報は、ユーザの年齢、価格に対するユーザの反応等、またはそれらの任意の組み合わせを含む。輸送コンテキスト情報は、温度、天気、乗車モード、目的地、等、またそれらの任意の組み合わせを含む。輸送プロダクト特徴情報は、プロダクト属性、カテゴリ等を含む。いくつかの実施形態において、ユーザの輸送データに基づいて、種々のシナリオにおいて、ユーザに最も適したプロダクトを推奨することができる。
【0157】
図13Aおよび13Bは、集合的に、この開示のいくつかの実施形態に従う情報処理方法の作業プロセス1300-1および1300-2を説明するフローチャートを集合的に説明することができる。図13Bに説明される動作は、図13Aに説明される動作が実行された後で実行することができる。プロセスは、1つまたは複数の以下の動作を含むことができる。プロセスは、オンデマンドサービスシステム100により実行することができる。例えば、プロセスは、ストレージROM230またはRAM240に記憶された命令のセット(例えば、アプリケーション)としてインプリメントすることができる。プロセッサ220は、命令のセットを実行することができ、命令を実行すると、プロセスを実行するように構成することができる。下記に提示した図示プロセスの動作は、例示に過ぎない。いくつかの実施形態において、プロセスは、記載されていない1つまたは複数の追加の動作を用いて、および/または上述した動作の1つまたは複数無しに、達成することができる。さらに、図13に説明され、下記記載のプロセスの動作の順番は、限定することを意図するものではない。ブロック1301において、ユーザからのサーバ要求を受信することができる。サービス要求は、プライベートビークルを利用する(1302)、急行ビークルを利用する(1303)、ビークルをヘイリングする(1304)、または、駐車係り(valet driver)をヘイリングする(1305)等、またはそれらの任意の組み合わせを含むことができる輸送サービスタイプを含むことができる。ブロック1306において、天気情報および/または目的地情報のようなコンテキスト関連情報は、リアルタイムで収集することができる。ブロック1307において、ユーザ関連情報を取得することができる。
【0158】
1308において、情報処理システム112は、収集したコンテキスト関連情報と取得したユーザ関連情報をクリーニングして2値化し、複数の特徴を決定し、生成した複数の特徴を埋め込まれていないXベクトルに組み入れ、部分的に埋め込まれたXベクトルを生成し、部分的に埋め込まれたXベクトルは、複数のエレメントを含み、各エレメントは、複数の特徴のうちの1つの特徴に対応する。いくつかの実施形態において、ユーザ特徴情報を受信することができる。いくつかの実施形態において、データがクリーニングされ、2値化された後、入力ベクトルが組み込まれる。ブロック1309において、情報処理システム112は、推奨モデルを取得することができる。推奨モデルは、ここでは、トレーニングされた推奨モデルであり得る。トレーニングプロセスは、図6およびその説明に言及する。
【0159】
ブロック1310において、情報処理システム112は、複数の広告情報を取得することができる。情報処理システム112は、広告情報毎に、広告情報の1つまたは複数の特徴を決定し、広告情報の決定した特徴を部分的に埋め込まれたXベクトルに組み込み、埋め込まれたXベクトルを生成し、複数の広告情報に対応する複数の埋め込まれたXbベクトルを推奨モデルに入力して推奨する広告情報を決定する。
【0160】
いくつかの実施形態において、プロダクト広告資料を詳しく検討し、プロダクト特徴を入力ベクトルに組み込み、入力ベクトルを推奨モデルに入力することにより情報処理システム112は、情報処理アルゴリズム(または推奨モデルと呼ばれる)に従って推奨アイテムを決定することができる。ブロック1311において、情報処理システム112は、推奨する広告情報を端末に送信することができる。いくつかの実施形態において、推奨アイテムは、ユーザの輸送アプリケーション情報システムに送信することができる。ブロック1312において、情報処理システム112は、推奨情報に関するユーザクリックを受信することができる。ブロック1313において、情報処理システム112は、推奨モデルを更新することができる。情報処理システム112は、ユーザが推奨プロダクトをクリックすることにより得られる推奨プロダクトのクリック収入に基づいて推奨モデルを更新することができる。推奨輸送プロダクトの情報は、ユーザ輸送アプリケーションメッセージシステムに送信される。最後に、推奨アルゴリズムモデルは、更新された輸送プロダクトの情報を取得する収入に関するユーザのクリックに従って更新される。
【0161】
図14および図15は、この開示のいくつかの実施形態に従う情報処理メッセージのアプリケーションインタフェースのスクリーンショットを示す。図14に示す情報処理メッセージは、ユーザの輸送アプリケーションのインタフェース上に表示される。情報処理メッセージは、またプレゼンテーションと呼ぶこともできる。インタフェース上に提示されるアイテムは、また、ユーザインタフェース特徴と呼ぶこともできる。いくつかの実施形態において、ユーザが情報処理メッセージをクリックした後、図15に示すインタフェース上に表示される。いくつかの実施形態において、ユーザは、アイテムに再度クリックすることができ、アイテムの詳細な情報をインタフェース上に表示することができる。
【0162】
この開示の第3の態様において、情報処理デバイス112が提示され、図7は、この開示の一実施形態に従う、情報処理デバイス112の概略図を示す。情報処理デバイス112は、ストレージデバイス720とプロセッサ740を含むことができる。いくつかの実施形態において、情報処理デバイス112は、ストレージデバイス720、プロセッサ740、およびメモリに記憶され、プロセッサ上で動作可能なコンピュータプログラムを含むことができ、プロセッサは、コンピュータプログラムを実行してこの開示で説明された情報処理方法の動作をインプリメントする。
【0163】
この開示により提供された情報処理デバイス112は、コンピュータプログラムを実行すると、オンライン学習アルゴリズムを用いて推奨モデルを確立し(または、予備推奨モデルと呼ばれる)、つぎに、(天気、目的地、温度乗車タイプ等のような)現在のコンテキスト情報と、(年齢、性別、価格感応度等のような)現在のユーザ特徴情報を収集するプロセッサ740を含む。ユーザの現在の輸送コンテキスト情報と、現在のユーザ特徴情報は、推奨モデルに入力することができ、特定の特徴情報を有する推奨輸送プロダクトの情報は、データをクリーニングし、処理し、クラスタリングし、次元削減動作を行うことにより取得することができ、特定の特徴情報は、ユーザの現在の輸送コンテキスト情報と、現在のユーザ特徴情報に関連づけることができる。最後に、ユーザが動作中であるとき、対応するシーンがトリガされる。例えば、輸送アプリケーションがトリガされると、推奨アルゴリズムモデルに従うユーザの最適プロダクト情報がユーザに推奨される。
【0164】
この開示は、オンライン学習アルゴリズムに従って構築されたモデル及びビッグデータに基づいて輸送シナリオにおけるユーザのリアルタイムのニーズを予測し、ユーザとシーン環境に従って、要求を有するユーザに正確に一致させることができる。異なるユーザに対して組み合わせが推奨され、最も適切なプロダクトを見つける、例えば、金融商品や保険商品の推奨であり、これは、広告収入を大幅に改善し、広告に対するユーザの毛嫌いを低減する。この開示の第4の態様のいくつかの実施形態は、プロセッサにより実行されると、この開示に説明される情報処理方法の動作をインプリメントする、コンピュータプログラムを記憶したコンピュータ可読記憶媒体を提供する。この開示により提供されるコンピュータ可読記憶媒体は、プロセッサにより実行されると、オンライン学習アルゴリズムを用いることにより推奨モデル(または予備推奨モデルと呼ばれる)を確立することが出来、次に、(天気、目的地、温度、乗車タイプ等のような)現在のコンテキスト情報および(年齢、性別、価格、感動度等のような)現在のユーザ特徴情報を取集することができる。
【0165】
ユーザの現在輸送コンテキスト情報および現在のユーザ特徴情報は、推奨モデルに入力することができ、特定の特徴情報を有する推奨輸送プロダクトの情報は、データをクリーニングし、処理し、クラスタリングし、時限削減操作を行うことにより取得することができ、特定特徴情報は、ユーザの現在の輸送コンテキスト情報と、現在のユーザ特徴情報に関連付けることができる。最後に、ユーザが操作中であるとき、対応するシーンがトリガされる。例えば、輸送アプリケーションがトリガされると、推奨アルゴリズムに従うユーザの最適プロダクト情報がユーザに推奨される。この開示は、ユーザ輸送のビッグデータを収集し、収集したビッグデータとオンライン学習アルゴリズムに基づいて推奨モデルを構築し、構築された推奨モデルに基づいて、ある輸送コンテキストにおけるユーザのリアルタイムのニーズを予測することができる。構築された推奨モデルは、数千回の反復の後収束し、ある時点におけるニーズを有するユーザに、正確に一致させることができ、ユーザとユーザが属する輸送コンテキストの組み合わせに従って、各ユーザに関する最も適切なプロダクト(例えば、金融商品、または保険商品等)を推奨することができる。この開示は、広告収入を大幅に改善することができ、ユーザの広告に対する反感を低減することができる。
【0166】
この明細書の開示において、例または複数の例に関連して記載した「一実施形態」、「いくつかの実施形態」、「特定の実施形態」等は、特定の特徴、構造、材料または特徴を意味する。少なくとも1つの実施形態または例。この明細書において、用語の概略表示は、必ずしもサンプル実施形態またはインスタンスに言及しない。さらに、記載した特定の特徴、構造、材料または特徴は、適切な方法で、任意の1つまたは複数の実施形態または例において組み合わせることができる。上記記載は、この開示の好適実施形態に過ぎず、この開示を限定することを意図したものではなく、種々の実施形態と変更をこの開示に対して行うことができる。本開示の趣旨および範囲内で行われた修正、同等の置換、改善などは、本開示の範囲内に含まれることが意図される。
【0167】
以上、基本的概念について述べたが、当業者がこの詳細な開示を読めば、上述した詳細な開示は、例示に過ぎず、限定することを意図したものではないことは明らかである。本明細書で明示的に述べられていないが、様々な変更、改善、および修正が発生する可能性があり、それらは当業者に意図されている。これらの変更、改善、および修正は、本開示によって示唆されることを意図しており、本開示の例示的な実施形態の精神および範囲内にある。さらに、この開示の実施形態を記載するためにある用語を用いた。例えば、用語「一実施形態(one embodiment)」、「一実施形態(an embodiment)」、および/または「いくつかの実施形態(some embodiment)」は、実施形態に関連して記載した特定の特徴、構造、または特性が、この開示の少なくとも1つの実施形態に含まれることを意味する。それゆえ、この明細書の種々の部分における「一実施形態(an embodiment)」、「一実施形態(one embodiment)」、または「代替実施形態」は、必ずしもすべてが同じ実施形態を指しているわけではないことに留意する必要がある。さらに、特定の特徴、構造、または特性は、この開示の1以上の実施形態において、適切に組み合わせることができる。
【0168】
さらに、本開示の態様は、本明細書において、新規かつ有用なプロセス、機械、製造、または組成物またはその新しい有用な改善を含む、いくつかの特許性のあるクラスまたは文脈のいずれかで例示および説明され得ることを理解されたい。したがって、本開示の態様は、完全にハードウェア、完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書で一般に「ブロック」、「モジュール」、「エンジン」、「ユニット」、「コンポーネント」、「システム」と呼ばれるソフトウェアとハードウェアの組み合わせを実装することができる。さらに、この開示の態様は、コンピュータ可読プログラムコードが埋め込まれた、1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラムの形態をとることができる。
【0169】
コンピュータ可読信号媒体は、例えば、ベースバンドまたは搬送波の一部として埋め込まれた、コンピュータ可読プログラムコードを有する伝搬データ信号を含むことができる。そのようなプログラム信号は、電磁気、光学等、またはそれらの任意の適切な組み合わせの形態のいずれかをとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではない、使用するためのプログラムに通信し、伝搬し、または輸送することができる、または命令実行システム、装置またはデバイスと接続されている任意のコンピュータ可読媒体であり得る。コンピュータ可読信号媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RF、等またはこれらの任意の適切な媒体を用いて送信することができる。この開示の態様に関する動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Phthon等 のようなオブジェクト指向プログラミング言語、”C”プログラミング言語、Visual Basic、Fortran1703、Perl、COBOL1702、PHP、ABAPのような汎用プログラミング言語、Phthon、RubyandGroovy、のようなダイナミックプログラミング言語、または他のプログラミング言語 を含む、1つまたは複数のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、スタンドアロンソフトウエアパッケージとして、ユーザのコンピュータ上で完全に実行してもよいし、ユーザのコンピュータ上で一部を実行してもよいし、一部をユーザのコンピュータ上で、一部をリモートコンピュータ上で実行してもよいし、全体をリモートコンピュータ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)などの任意のタイプのネットワークを介してユーザのコンピュータに接続することが出来る。または、外部コンピュータ( たとえば、インターネットサービスプロバイダーを使用してインターネット経由で、またはクラウドコンピューティング環境で、またはサービスとしてのソフトウェア(SaaS)などのサービスとして提供される。
【0170】
さらに、処理要素またはシーケンスの列挙された順序、または数字、文字、または他の指定の使用は、したがって、請求されたプロセスおよび方法を、特許請求の範囲で指定される場合を除き、任意の順序に限定することを意図していない。上記の開示は、本開示の様々な有用な実施形態であると現在考えられているものを様々な例を通して説明しているが、そのような詳細はその目的のためだけであり、添付の特許請求の範囲は、開示された実施形態に限定されないことを理解されたい。しかし、それどころか、開示された実施形態の精神および範囲内にある修正および同等の配置をカバーすることを意図している。たとえば、上記のさまざまなコンポーネントの実装はハードウェアデバイスで実現できるが、ソフトウェアのみのソリューション、たとえば既存のサーバまたはモバイルデバイスへのインストールとしてインプリメントすることも可能でる。
【0171】
同様に、本開示の実施形態の前述の説明では 、さまざまな実施形態の1つまたは複数の理解を支援するために開示を簡素化する目的で、さまざまな特徴が単一の実施形態、図、またはその説明にまとめられることがあることを理解されたい。しかし、この開示方法は、クレームされた主題が、各クレームで明示的に列挙されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、主張される主題は、単一の前述の開示された実施形態のすべての特徴よりも少ないものにあり得る。

図1
図2
図3
図4
図5A
図5B
図5C
図6
図7
図8A
図8B
図8C
図9
図10
図11
図12
図13A
図13B
図14
図15