(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-07
(45)【発行日】2022-07-15
(54)【発明の名称】受動的な訪問検知
(51)【国際特許分類】
H04M 11/00 20060101AFI20220708BHJP
G06Q 50/10 20120101ALI20220708BHJP
【FI】
H04M11/00 301
G06Q50/10
(21)【出願番号】P 2019536475
(86)(22)【出願日】2017-09-15
(86)【国際出願番号】 US2017051879
(87)【国際公開番号】W WO2018053330
(87)【国際公開日】2018-03-22
【審査請求日】2020-09-14
(32)【優先日】2016-09-16
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-09-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519094167
【氏名又は名称】フォースクエア・ラボズ・インコーポレイテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ステファニー・ヤン
(72)【発明者】
【氏名】ダニエル・クロノヴェット
(72)【発明者】
【氏名】ローレン・ハンナ
(72)【発明者】
【氏名】カトガテイ・バーク・カピシオグル
【審査官】永田 義仁
(56)【参考文献】
【文献】米国特許出願公開第2013/0226857(US,A1)
【文献】国際公開第2012/042814(WO,A1)
【文献】特開2009-159336(JP,A)
【文献】特開2004-112482(JP,A)
【文献】特開2015-002388(JP,A)
【文献】特開2011-059924(JP,A)
【文献】特許第5933863(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G01S5/00-5/14
19/00-19/55
G06F19/00
G06Q10/00-10/10
30/00-30/08
50/00-50/20
50/26-99/00
H04B7/24-7/26
H04M1/00
1/24-3/00
3/16-3/20
3/38-3/58
7/00-7/16
11/00-11/10
99/00
H04W4/00-99/00
(57)【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサのうちの少なくとも1つに結合されているメモリと
を含むシステムであって、前記メモリがコンピュータ実行可能命令を含み、前記コンピュータ実行可能命令が、前記少なくとも1つのプロセッサによって実行されたときに、受動的な訪問検知のための方法を実行し、前記方法が、
モバイルデバイスに関するセンサデータを受信するステップであって、前記センサデータが、少なくとも、前記モバイルデバイスに関する移動データおよび現場に関するネットワークデータを含む、ステップと、
前記センサデータを処理して、特徴セットを識別するステップ
であって、
前記移動データが、地理的ロケーションデータを含み、
前記ネットワークデータが、前記現場に関する1つまたは複数のWi-Fi信号強度を含み、
前記センサデータを解析して、前記1つまたは複数のWi-Fi信号強度を識別するステップと、
統計モデルを使用して、前記識別された1つまたは複数のWi-Fi信号強度を評価するステップであって、
第1の時間においてネットワーク信号の第1のセットを観察するステップと、
第2の時間においてネットワーク信号の第2のセットを観察するステップと、
ネットワーク信号の前記第1のセットをネットワーク信号の前記第2のセットに比較して、前記第1の時間と前記第2の時間との間において前記モバイルデバイスによって進行された推定された距離を特定するステップと
を含む、ステップと、
前記統計モデルによって、前記特徴セットの少なくとも一部分を生成するステップと
を含む、ステップと、
前記特徴セットを評価して、訪問イベントが発生したかどうかを特定するステップと
を含む、システム。
【請求項2】
前記方法が、
前記モバイルデバイスによって、前記センサデータに対応する1つまたは複数のイベントを検知するステップであって、前記1つまたは複数のイベントが、移動イベント、購入イベント、情報配信イベント、および現場チェックインイベントのうちの少なくとも1つに対応する、ステップと、
前記1つまたは複数のイベントを前記1つまたは複数の特徴に相関付けるステップと
をさらに含む、請求項1に記載のシステム。
【請求項3】
前記1つまたは複数のWi-Fi信号強度を評価するステップが、前記Wi-Fi信号強度を使用して、前記モバイルデバイスと前記現場との間における距離を特定するステップを含む、請求項
1に記載のシステム。
【請求項4】
前記特徴セットを評価するステップが、1つまたは複数の現場に関する前記モバイルデバイスの訪問状態を検知するように動作可能な予測モデルに前記特徴セットを提供するステップを含む、請求項1に記載のシステム。
【請求項5】
前記予測モデルが、訪問イベントを検知することに関連している、前記特徴セット内の特徴を特定するように動作可能なHMMである、請求項
4に記載のシステム。
【請求項6】
前記HMMを使用して特定された前記特徴が、ラベル付けされていないデータのセットを評価するように動作可能なEMアルゴリズム用の初期化ポイントとして使用される、請求項
5に記載のシステム。
【請求項7】
前記予測モデルが、前記モバイルデバイス上で実施され、前記予測モデルが、訪問状態をリアルタイムに検知するように動作可能である、請求項
5に記載のシステム。
【請求項8】
前記予測モデルが、ラベル付けされているデータを使用して前記予測モデルをトレーニングすること、およびビッグデータ分析を実行することを行うように動作可能なリモートデバイス上で実施される、請求項
5に記載のシステム。
【請求項9】
前記方法がさらに、前記センサデータに関する観察のセットを生成するステップを含み、観察の前記セットが、前記センサデータの1つまたは複数の特徴と訪問状態との間における相関付けを示す、請求項1に記載のシステム。
【請求項10】
データラベルおよびトレーニングデータのうちの少なくとも1つを含むユーザ入力を受信するように動作可能なユーザインターフェースをさらに含む、請求項1に記載のシステム。
【請求項11】
受動的な訪問検知のための方法であって、
モバイルデバイスにおいてセンサデータを受信するステップであって、前記センサデータが、前記モバイルデバイスに関するロケーションデータ、前記モバイルデバイスに関する移動データ、および現場に関するネットワークデータのうちの少なくとも1つを含む、ステップと、
前記センサデータをリアルタイムに処理して、前記センサデータに関する特徴セットを生成するステップ
であって、
前記移動データが、地理的ロケーションデータを含み、
前記ネットワークデータが、前記現場に関する1つまたは複数のWi-Fi信号強度を含み、
前記センサデータを解析して、前記1つまたは複数のWi-Fi信号強度を識別するステップと、
統計モデルを使用して、前記識別された1つまたは複数のWi-Fi信号強度を評価するステップであって、
第1の時間においてネットワーク信号の第1のセットを観察するステップと、
第2の時間においてネットワーク信号の第2のセットを観察するステップと、
ネットワーク信号の前記第1のセットをネットワーク信号の前記第2のセットに比較して、前記第1の時間と前記第2の時間との間において前記モバイルデバイスによって進行された推定された距離を特定するステップと
を含む、ステップと、
前記統計モデルによって、前記特徴セットの少なくとも一部分を生成するステップと
を含む、ステップと、
HMM実施態様を使用して、前記特徴セットを評価して前記モバイルデバイスの訪問状態を特定するステップと
を含む、方法。
【請求項12】
前記特徴セットを評価するステップがさらに、前記特徴セット内の特徴を1つまたは複数のイベントに相関付けるステップを含み、前記1つまたは複数のイベントが、移動イベント、購入イベント、情報配信イベント、および現場チェックインイベントのうちの少なくとも1つに対応する、請求項
11に記載の方法。
【請求項13】
受動的な訪問検知のための方法であって、
コンピューティングデバイスにおいてセンサデータを受信するステップであって、前記センサデータが、モバイルデバイスに関するロケーションデータ、前記モバイルデバイスに関する移動データ、および現場に関するネットワークデータのうちの少なくとも1つを含む、ステップと、
前記センサデータを処理して、前記センサデータに関する特徴セットを生成するステップ
であって、
前記移動データが、地理的ロケーションデータを含み、
前記ネットワークデータが、前記現場に関する1つまたは複数のWi-Fi信号強度を含み、
前記センサデータを解析して、前記1つまたは複数のWi-Fi信号強度を識別するステップと、
統計モデルを使用して、前記識別された1つまたは複数のWi-Fi信号強度を評価するステップであって、
第1の時間においてネットワーク信号の第1のセットを観察するステップと、
第2の時間においてネットワーク信号の第2のセットを観察するステップと、
ネットワーク信号の前記第1のセットをネットワーク信号の前記第2のセットに比較して、前記第1の時間と前記第2の時間との間において前記モバイルデバイスによって進行された推定された距離を特定するステップと
を含む、ステップと、
前記統計モデルによって、前記特徴セットの少なくとも一部分を生成するステップと
を含む、ステップと、
前記特徴セットを使用して、前記モバイルデバイスの1つまたは複数の訪問状態を検知するように予測モデルをトレーニングするステップと
を含む、方法。
【請求項14】
前記センサデータが、ラベル付けされているデータのセットを含み、前記予測モデルが、ラベル付けされているデータの前記セットを使用して、ラベル付けされているデータの前記セットと、前記1つまたは複数の訪問状態との間における相関付けを特定する、請求項
13に記載の方法。
【請求項15】
前記特定された相関付けが、前記予測モデルのその後のトレーニングに伴って使用するために1つまたは複数のデータストア内に格納される、請求項
14に記載の方法。
【請求項16】
前記トレーニングされた予測モデルのインスタンスが、前記モバイルデバイスへ伝送される、請求項
15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2017年9月15日にPCT国際特許出願として出願されているものであり、2017年9月14日に出願された米国特許出願第15/704,899号に対する優先権を主張するものであり、その出願は、2016年9月16日に出願された米国仮出願第62/395,827号に対する優先権を主張するものであり、それらの開示は、それらの全体が参照によって本明細書に組み込まれている。
【背景技術】
【0002】
訪問検知システムは、モバイルデバイスのロケーションおよび訪問パターンに関連した特定を可能にする。多くのケースにおいては、訪問検知システムは、モバイルデバイスのロケーションを特定するために、ほとんどもっぱら周期的な地理座標系データ(たとえば、緯度、経度、および/または標高座標)に依存している。たとえば、地理座標系データは、モバイルデバイスによる検知された停止が、それに関連付けられている特定の現場またはイベントに相関しているかどうかを特定するために使用されることが可能である。しかしながら、地理座標系データのほとんどもっぱらの使用は、不正確な現場および/または訪問検知という結果になる場合がある。
【0003】
本明細書において開示されている態様が作成されたのは、これらおよびその他の一般的な考慮事項に関連してである。また、比較的特定の問題が論じられている可能性があるが、例は、本開示における背景技術またはその他の箇所において識別された特定の問題を解決することに限定されるべきではないということを理解されたい。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の例は、受動的な訪問検知のためのシステムおよび方法について記述している。複数の態様において、センサのセットを含むモバイルデバイスが、移動イベントまたはユーザ対話データを検知したことに応答してセンサのセットからのセンサデータを収集および格納することが可能である。収集されたセンサデータは、1つまたは複数の予測または統計モデルへの入力として処理および提供されることが可能である。それらのモデルは、センサデータを評価して、モバイルデバイスのロケーション、移動イベント、および訪問イベントを検知することが可能である。それらのモデルは、数ある中でも、センサデータおよび移動/ロケーションベースのイベントの特徴どうしの間における相関関係を特定すること、センサのセットによって収集されるデータのタイプを最適化すること、局限された予測を大規模なエコシステムへ拡張すること、ならびにバッテリー効率のよい状態予測を生成することを行うために使用されることも可能である。いくつかの態様においては、それらのモデルは、センサデータのラベル付けされているおよび/またはラベル付けされていないデータセットを使用してトレーニングされることが可能である。
【0005】
この「発明の概要」は、コンセプトのうちの選択されたものを、簡略化された形式で紹介するために提供されており、それらのコンセプトは、以降で「発明を実施するための形態」においてさらに記述されている。この「発明の概要」は、特許請求される主題の鍵となる特徴または必要不可欠な特徴を識別することを意図されているものではなく、特許請求される主題の範囲を限定するために使用されることを意図されているものでもない。例のさらなる態様、特徴、および/または利点は、以降に続く説明において一部が示されることになり、その説明から一部が明らかになり、または本開示の実践によって理解されることが可能である。
【0006】
下記の図を参照しながら、非限定的かつ非網羅的な例が記述されている。
【図面の簡単な説明】
【0007】
【
図1】本明細書において記述されている受動的な訪問検知のための例示的なシステムの概観を示す図である。
【
図2】本明細書において記述されている受動的な訪問検知を実施するための例示的な入力処理ユニットを示す図である。
【
図3】本明細書において記述されている受動的な訪問検知を実施するための例示的な方法を示す図である。
【
図4】これらの実施形態の1つまたは複数が実施されることが可能である適切な動作環境の一例を示す図である。
【発明を実施するための形態】
【0008】
以降で添付の図面を参照しながら、本開示のさまざまな態様がさらに十分に記述されており、それらの図面は、本明細書の一部を形成しており、特定の例示的な態様を示している。しかしながら、本開示のさまざまな態様は、多くの異なる形態で実施されることが可能であり、本明細書において示されている態様に限定されるものとして解釈されるべきではなく、むしろ、これらの態様は、本開示が徹底的かつ完全になるように、およびこれらの態様の範囲を当業者に十分に伝達するように提供されている。態様は、方法、システム、またはデバイスとして実践されることが可能である。したがって、態様は、ハードウェアの実施態様、完全にソフトウェアの実施態様、または、ソフトウェアの態様とハードウェアの態様とを組み合わせている実施態様の形態を取ることが可能である。したがって、以降の詳細な説明は、限定的な意味に取られるべきではない。
【0009】
本開示は、受動的な訪問検知のためのシステムおよび方法について記述している。受動的な訪問検知は、本明細書において使用される際には、モバイルデバイス(またはそのユーザ)が特定の現場または地理的ロケーションを訪問しているまたは訪問したかどうかを特定するための黙示的なしるしの使用を指すことが可能である。(ユーザによって確認された現場チェックインデータなどの)明示的なユーザ信号を使用する能動的な訪問検知とは対照的に、受動的な訪問検知は、モバイルデバイスのさまざまなセンサからのデータの受動的な収集に依存する。さまざまなモバイルデバイスセンサからのデータの分析は、地理座標系データを使用するだけである従来のアプローチよりも訪問検知の精度および効率を高める。
【0010】
複数の態様においては、モバイルデバイスは、1つまたは複数のセンサを含むことが可能である。例示的なセンサは、GPSセンサ、Wi-Fiセンサ、近接センサ、加速度計、周囲温度センサ、ジャイロスコープ、光センサ、磁力計、ホールセンサ、音響センサ、タッチスクリーンセンサなどを含むことが可能である。モバイルデバイスは、モバイルデバイスがユーザによって使用されているおよび/または運ばれているときにセンサによって検知されるデータをモニタすることが可能である。モバイルデバイスは、移動イベント、購入イベント、情報配信イベント、現場チェックインイベント等などのイベントを検知することも可能である。いくつかの態様においては、イベントの検知は、センサデータが収集および処理されるようにすることが可能である。センサデータを処理することは、センサデータを解析してセンサデータの1つまたは複数の特徴を識別すること、および解析されたデータを1つまたは複数のデータセットへと編成することを含むことが可能である。少なくとも1つの態様においては、センサデータは、モバイルデバイスなどのコンピューティングデバイスにとってアクセス可能なアプリケーションまたはサービスを介してアクセスできることが可能である。アプリケーション/サービスは、ユーザがセンサデータをナビゲートおよび/または操作することを可能にすることができる。たとえば、アプリケーション/サービスは、ユーザがセンサデータをイベント(たとえば、入場/退場イベント、訪問イベント、チェックインイベント、宣伝イベントなど)に相関付けること、および/またはイベントに関連付けられているセンサデータをラベル付けすることを可能にすることができる。ラベル付けされたデータは、サンプルデータまたはトレーニングデータの1つまたは複数のセットへと編成されることが可能である。
【0011】
複数の態様においては、センサデータおよび/またはトレーニングデータは、1つまたは複数の予測または統計モデルへの入力として提供されることが可能である。モデルは、本明細書において使用される際には、1つもしくは複数のキャラクターシーケンス、クラス、オブジェクト、結果セット、もしくはイベントにわたる確率分布を特定するために、および/または1つもしくは複数の予測子から応答値を予測するために使用されることが可能である予測または統計モデルを指すことが可能である。モデルは、ルールベースのモデル、マシン学習リグレッサー、マシン学習分類子、ニューラルネットワークなどであることが可能である。複数の例においては、センサデータおよび/またはトレーニングデータは、モバイルデバイスのロケーション、移動イベント、および/または訪問イベントを検知するようにモデルをトレーニングするために使用されることが可能である。加えて、センサデータおよび/またはトレーニングデータは、センサデータおよび移動またはロケーションベースのイベントの特徴どうしの間における相関関係を特定し、センサのセットによって収集されるデータのタイプ/カテゴリーを最適化するようにモデルをトレーニングするために使用されることが可能である。いくつかの例においては、センサデータおよび/またはトレーニングデータは、局限された予測を大規模なエコシステムへ拡張するために使用されることが可能である。たとえば、ユーザ(またはユーザの小規模なグループ)に関するセンサデータが一般化されて、ユーザのさらに大規模なグループまたはユーザのさまざまなグループを表すことが可能である。いくつかの例においては、センサデータおよび/またはトレーニングデータは、バッテリー効率のよい様式で収集されることが可能である。たとえば、センサデータは、よりバッテリー負荷の高い継続的なセンサポーリングおよび収集プロセスとは対照的に、周期的なインターバル(たとえば、1分に1回、1時間に1回、1日に1回など)で、または要求に応じて収集されることが可能である。複数の態様においては、トレーニングされたモデルが、デバイスのセンサデータを使用して、そのデバイスの現在のおよび/または以前のロケーション、移動イベント、訪問イベント、ならびに現場関連のイベントを検知することが可能である。
【0012】
したがって、本開示は、数ある例の中でも、センサデータを使用して、受動的な訪問イベントを検知するように統計モデルをトレーニングすること、センサデータを移動および/またはロケーションイベントに相関付けること、GPS「ノイズ」およびジッタを除去/軽減することによってユーザの真の動き状態を特定すること、ユーザインターフェースを利用して、センサデータのデータセットをラベル付けすること、センサによって収集されたデータのタイプ/カテゴリーを自動的に修正すること、さまざまなモバイルデバイスセンサを使用した現場/ロケーションデータの収集を可能にすること、バッテリー効率のよいデータ収集、ならびに、本開示の例を利用するアプリケーション/サービスに関する改善された効率および品質を含むがそれらには限定されない複数の技術的な利益を提供する。
【0013】
図1は、本明細書において記述されている現場検知のための例示的なシステムの概観を示している。提示されている例示的なシステム100は、現場検知システムに関する統合された全体を形成するために対話する相互に依存したコンポーネントどうしの組合せである。システムのコンポーネントは、ハードウェアコンポーネント、または、システムのハードウェアコンポーネント上で実施されるおよび/もしくはそれらのハードウェアコンポーネントによって実行されるソフトウェアであることが可能である。複数の例においては、システム100は、ハードウェアコンポーネント(たとえば、オペレーティングシステム(OS)を実行する/稼働させるために使用される)、およびハードウェア上で稼働するソフトウェアコンポーネント(たとえば、アプリケーション、アプリケーションプログラミングインターフェース(API)、モジュール、仮想マシン、ランタイムライブラリなど)のうちのいずれかを含むことが可能である。一例においては、例示的なシステム100は、ソフトウェアコンポーネントが稼働するための環境を提供すること、動作のための制約セットに従うこと、およびシステム100のリソースまたは設備を利用することが可能であり、その場合、コンポーネントは、1つまたは複数の処理デバイス上で稼働するソフトウェア(たとえば、アプリケーション、プログラム、モジュールなど)であることが可能である。たとえば、ソフトウェア(たとえば、アプリケーション、動作命令、モジュールなど)は、コンピュータ、モバイルデバイス(たとえば、スマートフォン/電話、タブレット、ラップトップ、携帯情報端末(PDA)など)、および/またはその他の任意の電子デバイスなどの処理デバイス上で実行されることが可能である。処理デバイス動作環境の一例としては、
図4において示されている例示的な動作環境を参照されたい。その他の例においては、本明細書において開示されているシステムのコンポーネントどうしは、複数のデバイスにわたって分散されることが可能である。たとえば、入力は、クライアントデバイス上で入力されることが可能であり、情報は、1つまたは複数のサーバデバイスなど、ネットワーク内のその他のデバイスから処理またはアクセスされることが可能である。
【0014】
一例として、システム100は、クライアントデバイス102、分散型ネットワーク104、訪問分析システム106、およびストレージ108を含む。システム100などのシステムのスケールは変わることが可能であり、
図1において記述されているよりも多くのまたは少ないコンポーネントを含むことが可能であるということを当業者なら理解するであろう。いくつかの例においては、たとえば、システム100のコンポーネントどうしが分散型ネットワークの1つまたは複数のデバイスにわたって分散されることが可能である場合には、システム100のコンポーネントどうしの間におけるインターフェーシングがリモートで生じることが可能である。
【0015】
クライアントデバイス102は、1つまたは複数の現場に関連したセンサデータを収集するように構成されることが可能である。複数の態様においては、クライアントデバイス102は、1つもしくは複数のセンサを含むこと、またはそれらのセンサにアクセスできることが可能である。それらのセンサは、クライアントデバイス102に関するセンサデータ、たとえば、GPS座標およびジオロケーションデータ、位置データ(水平精度および/または垂直精度など)、Wi-Fi情報、OS情報および設定、ハードウェア情報、信号強度、加速度計データ、時間情報などを検知および/または生成するように動作できることが可能である。クライアントデバイス102は、センサデータを収集して1つまたは複数のデータストア内に格納することが可能である。それらのデータストアは、クライアントデバイス102にとってローカルにあること、クライアントデバイス102にとってリモートにあること、またはそれらの何らかの組合せであることが可能である。たとえば、ユーザ、アカウント、および/またはデバイス識別情報などの機密のユーザ情報は、クライアントデバイス上に格納されることが可能であり、その一方で、ロケーション、移動、および宣伝データは、分散ストレージシステム内に格納されることが可能である。いくつかの態様においては、クライアントデバイス102は、イベント、ロケーションを検知したことまたは1つもしくは複数の基準の充足に応答してセンサデータを収集および/または格納することが可能である。たとえば、センサデータは、クライアントデバイス102による移動イベント(たとえば、加速、方向の修正、長引くアイドリングなど)に応答して、センサのセットから収集されることが可能である。複数の例においては、停止を検知することは、1つまたは複数のマシン学習技術またはアルゴリズム、たとえば、期待値最大化(EM)アルゴリズム、隠れマルコフモデル(HMM)、ビタビアルゴリズム、フォワードバックワードアルゴリズム、固定ラグスムージングアルゴリズム、バウムウェルチアルゴリズム、カルマンフィルタリング/線形二次推定(LQE)などの使用を含むことが可能である。センサデータを収集することは、さまざまなセンサからのデータをアグリゲートすること、それらのデータを1つもしくは複数の基準によって編成すること、および/またはクライアントデバイス102にとってアクセス可能なデータストア(図示せず)にそれらのセンサデータを格納することを含むことが可能である。複数の例においては、それらのデータストアは、クライアントデバイス102にとってローカルにあること、クライアントデバイス102にとってリモートにあること、またはそれらの何らかの組合せであることが可能である。たとえば、ユーザ、アカウント、および/またはデバイス識別情報などの機密のユーザ情報は、クライアントデバイス上にローカルに格納されることが可能であり、その一方で、ロケーション、移動、および宣伝データは、分散ストレージシステム内にリモートに格納されることが可能である。収集されたセンサデータは、分散型ネットワーク104を介して訪問分析システム106などの分析ユーティリティーに提供されること(または分析ユーティリティーによってアクセスできること)が可能である。
【0016】
訪問分析システム106は、センサデータのセットを評価するように構成されることが可能である。複数の態様においては、訪問分析システム106は、センサデータの1つまたは複数のセットにアクセスできることが可能である。たとえば、クライアントデバイス102は、センサデータまたはその表示を訪問分析システム106へ伝送することが可能である。別の例においては、センサデータは、訪問分析システム106へと直接に入力されることが可能である。たとえば、訪問分析システム106は、センサデータと対話するためのインターフェース(アプリケーションまたはサービスなど)を提供すること、またはそのインターフェースにアクセスできることが可能である。そのインターフェースは、実際のデータおよび/またはトレーニングデータを含むデータセットを入力すること、ならびにそれらのデータセットを1つまたは複数の対応するイベント(たとえば、現場に入場すること、現場から退場すること、通過を一時停止すること、宣伝アイテムを分析することなど)に相関付けるラベルを割り振ることを行うために使用されることが可能である。いくつかの態様においては、センサデータおよび/またはラベル付けされたイベントデータは、データ分析コンポーネントまたはユーティリティー(図示されてはいない)に提供されることが可能である。データ分析コンポーネント/ユーティリティー(またはその部分)は、クライアントデバイス102、および/または、訪問分析システム106などの1つもしくは複数の別個のデバイス上に配置されることが可能である。複数の例においては、データ分析コンポーネント/ユーティリティーは、ラベル付けされているまたはラベル付けされていないセンサデータを処理して、1つまたは複数のロケーションおよび/または移動イベントを識別することが可能である。センサデータを処理することは、地理的ロケーションデータ(たとえば、緯度、経度、標高座標など)、Wi-Fi情報(たとえば、ネットワーク周波数、macアドレス、信号強度、サービスセット識別子(SSID)、タイムスタンプなど)、および/または移動データ(たとえば、加速イベント、速度情報など)を含むセンサデータを解析および識別することを含むことが可能である。いくつかの態様においては、解析されたデータの1つまたは複数の部分は、1つまたは複数の数学モデルまたはアルゴリズムに適用されることが可能である。たとえば、訪問分析システム106は、たとえば、デシベルミリワット(dBm)で記録された信号強度を解釈および/または変換する信号強度変換アルゴリズムにアクセスできることが可能である。別の例として、訪問分析システム106は、モバイルデバイスによって進行された距離を特定するためにネットワーク周波数およびWi-Fi信号強度データを評価する信号分析モデルにアクセスできることが可能である。さらに別の例として、訪問分析システム106は、ある期間にわたるモバイルデバイスの変位を推定するためにスムージングアルゴリズムおよび観察されたネットワークデータを使用する信号デルタモデルにアクセスできることが可能である。訪問分析システム106は、数学モデルまたはアルゴリズムからの出力をストレージ108などの1つまたは複数のデータストア内に格納することが可能である。
【0017】
複数の態様においては、訪問分析システム106はさらに、1つまたは複数の予測モデルおよび/またはアルゴリズムを含むこと、またはそれらにアクセスできることが可能である。例示的なモデル/アルゴリズムは、期待値最大化(EM)アルゴリズム、隠れマルコフモデル(HMM)、ビタビアルゴリズム、フォワードバックワードアルゴリズム、固定ラグスムージングアルゴリズム、バウムウェルチアルゴリズム、カルマンフィルタリング/線形二次推定(LQE)などを含む。予測モデルは、訪問検知情報を特定するように動作できることが可能である。たとえば、予測モデルは、イベントおよび対応するセンサデータを含むラベル付けされていないデータのセットにアクセスすることが可能である。データ分析エンジンは、予測モデルに関連付けられているEMアルゴリズムへの入力として、ラベル付けされていないデータのセットを使用することが可能である。EMアルゴリズムは、本明細書において使用される際には、統計モデルにおけるパラメータの最尤または最大事後(MAP)推定値を見つけ出すための反復方法を指すことが可能であり、この場合、そのモデルは、ラベル付けされていないデータに依存する。EMアルゴリズムは、モバイルデバイスユーザが現場をいつ訪問しているかを検知するように予測モデルをトレーニングするために、ラベル付けされていないデータのセットを使用することが可能である。別の例として、予測モデルは、ラベル付けされているイベントおよび対応するセンサデータを含むラベル付けされているデータのセットにアクセスすることが可能である。データ分析エンジンは、HMMへの入力として、ラベル付けされているデータのセットを使用することが可能である。HMMは、本明細書において使用される際には、観察された値のセットが、マルコフ遷移を有する隠された状態のセットによって駆動される時系列モデルを指すことが可能である。HMMは、ラベル付けされているデータのセット内の最も適用可能なパラメータ/特徴を特定するために(またはパラメータ/特徴の既存のセットを再調整するために)、ラベル付けされているデータのセットを使用することが可能である。特定されたパラメータ/特徴は次いで、モバイルデバイスユーザが現場をいつ訪問しているかを検知するために、または、たとえばEMアルゴリズム用の、初期化ポイントとして使用されることが可能である。複数の態様においては、訪問分析システム106にとってアクセス可能な予測モデルまたはアルゴリズムは、クライアントデバイス102、リモートデバイス、またはそれらの何らかの組合せの上に配置されることが可能である。たとえば、訪問検知/予測を実行するために、1つまたは複数の状態予測アルゴリズムが、クライアントデバイス102上で実施されることが可能である。クライアントデバイス102上での実施は、状態予測アルゴリズムを実行するためのネットワーク通信およびバッテリー使用を最小化することが可能である。別の例においては、1つまたは複数のアルゴリズムが、追加として、または代替として、1つまたは複数のリモートデバイス上で実施されてモデルトレーニングおよびデータ分析を実行することが可能である。リモートデバイス上での実施は、高められた処理スピードおよびパワーを活用することが可能である。
【0018】
図2は、本明細書において記述されている、訪問検知のための例示的な入力処理デバイス200の概観を示している。入力処理デバイス200によって実施される訪問検知技術は、
図1において記述されている訪問検知技術およびコンテンツを含むことが可能である。代替例においては、単一のシステム(プロセッサおよび/またはメモリなどの1つまたは複数のコンポーネントを含む)が、システム100および200においてそれぞれ記述されている処理を実行することが可能である。
【0019】
図2を参照すると、入力処理ユニット200は、収集エンジン202、処理エンジン204、データ分析エンジン206、および観察エンジン208を含むことが可能である。収集エンジン202は、センサデータを収集または受信するように構成されることが可能である。複数の態様においては、収集エンジン202は、センサデータを含むおよび/または生成する1つまたは複数のデータソースにアクセスできることが可能である。センサデータは、1つまたは複数のモバイルデバイスに関連付けられているユーザまたは物理的な環境からの入力を表すことが可能である。データソースは、入力処理ユニット200上にローカルに、または1つもしくは複数のコンピューティングデバイス上にリモートに格納されることが可能である。いくつかの態様においては、データソースは、継続的に、周期的なインターバルで、要求に応じて、または1つもしくは複数の基準の充足に応じて、センサデータを収集エンジン202へ伝送することが可能である(または収集エンジン202がデータソースからデータを取り出すことが可能である)。少なくとも1つの態様においては、収集エンジン202は、インターフェースを提供すること、またはインターフェースにアクセスできることが可能である。インターフェースは、センサデータおよびそれに関連付けられているデータをユーザが入力することを可能にすることができる。インターフェースはさらに、データをナビゲートおよび操作することを提供することが可能である。たとえば、ユーザは、インターフェースを使用して、センサデータのセットを収集エンジン202へ入力またはアップロードすることが可能である。センサデータのセットは、ラベル付けされているおよび/またはラベル付けされていないデータを含むことが可能である。インターフェースは、ユーザがセンサデータを見ること、センサデータにラベルを割り振ること(もしくはその他の形で注釈を付けること)、および/またはラベルを修正もしくは除去することを可能にすることができる。
【0020】
処理エンジン204は、センサデータを処理するように構成されることが可能である。複数の態様においては、処理エンジン204は、収集されたセンサデータにアクセスできることが可能である。処理エンジン204は、ラベル付けされているまたはラベル付けされていないセンサデータを処理して、1つまたは複数のロケーションおよび/または移動イベントを識別することが可能である。センサデータを処理することは、地理的ロケーションデータ(たとえば、緯度、経度、標高座標など)、Wi-Fi情報(たとえば、ネットワーク周波数、macアドレス、信号強度、サービスセット識別子(SSID)、タイムスタンプなど)、移動データ(たとえば、加速イベント、速度情報等)などを含むセンサデータを解析および識別することを含むことが可能である。センサデータを処理することは、追加として、または代替として、ラベル付けされているセンサデータを評価して、ラベルおよび対応するセンサ特徴を識別して1つまたは複数のグループへと編成することを含むことが可能である。センサ特徴は、1つまたは複数の動き状態を表すことまたはそれらに対応することが可能であり、「X」秒のタイムピリオドにわたるスピード/速度、加速、前のポイントからの距離、Wi-Fi信号強度等などのデータを含むことが可能である。複数の態様においては、解析されたセンサデータが使用されて、1つまたは複数の特徴ベクトルを生成することが可能である。特徴ベクトルは、本明細書において使用される際には、1つまたは複数のオブジェクトを表す数値特徴のn次元ベクトルを指すことが可能である。特徴ベクトルは、センサデータの特徴、および/または1つもしくは複数の知識ソースもしくはデータストアからの情報を含むことが可能である。たとえば、特徴ベクトルは、1つまたは複数の現場に関するWi-Fi情報、現場に対応する宣伝アイテム、モバイルデバイスに関する移動/変位データ、ユーザの現場チェックインデータ、購入日付、イベント持続時間データなどを含むことが可能である。
【0021】
データ分析エンジン206は、訪問/停止イベントが発生したかどうかを特定するように構成されることが可能である。複数の態様においては、データ分析エンジン206は、1つまたは複数の特徴ベクトルまたは特徴セットにアクセスできることが可能である。データ分析エンジン206は、特徴ベクトル/セットを1つまたは複数の統計または予測モデル/アルゴリズムに適用することが可能である。例示的なモデル/アルゴリズムは、期待値最大化(EM)アルゴリズム、隠れマルコフモデル(HMM)、ビタビアルゴリズム、フォワードバックワードアルゴリズム、固定ラグスムージングアルゴリズム、バウムウェルチアルゴリズム、カルマンフィルタリング/線形二次推定(LQE)などを含む。モデル/アルゴリズムは、入力処理デバイス200上に、1つもしくは複数のリモートデバイス上に、またはそれらの何らかの組合せの上に配置されることが可能である。たとえば、モデル/アルゴリズムの第1のセットは、入力処理デバイス200上で実施されて、センサデータをリアルタイムに処理/評価することが可能であり、モデル/アルゴリズムの第2のセットは、1つまたは複数のリモートサーバデバイス上で実施されて、モデルトレーニングおよびビッグデータ分析をオフラインで(または定期的に)実行することが可能である。1つまたは複数のモデル/アルゴリズムは、モデル/アルゴリズムの第1および第2のセット内にあることが可能である。
【0022】
複数の態様においては、モデル/アルゴリズムは、訪問検知情報および/または現場検知情報を特定するように動作できることが可能である(または特定するようにトレーニングされることが可能である)。たとえば、データ分析エンジン206は、特徴ベクトル/セットのさまざまなデータポイントを「N」個のクラスまたはクラスタへと分類するように動作可能なモデル/アルゴリズムに特徴ベクトル/セットを提供することが可能である。クラスは、さまざまなスピードでの動き(たとえば、移動していないこと、ゆっくりと移動していること、移動していること、速く移動していることなど)に対応することが可能である。モデル/アルゴリズムは、クラス(またはその中のデータ)をセンサデータに照らして評価して、クラス内のデータポイントを動き状態に相関付けることが可能である。代替として、モデル/アルゴリズムは、クラスおよび関連付けられているデータを別個のモデル/アルゴリズムに提供して、相関付けを実行することが可能である。相関付けられたデータがさらに評価されて、訪問の開始および停止を最も正確に特定する動き状態どうしの間における遷移を識別することが可能である。たとえば、モデル/アルゴリズムは、トレーニングデータのセットに対応する特徴セットを3つのクラスへと分類することが可能である。クラス1は、時速1マイル未満の移動スピードを表すことが可能である。クラス2は、時速1マイルと3マイルとの間における移動スピードを表すことが可能である。クラス3は、時速3マイルよりも速い移動スピードを表すことが可能である。この例においては、モデル/アルゴリズムは、クラス1または2からクラス3への遷移が、「移動している」という動き状態に対応しており、その一方で、クラス3または2からクラス1への遷移が、「停止した」という動き状態に対応しているということを特定することが可能である。代替として、ユーザは、1つまたは複数の動き状態に関する特定を行うために、独立して、またはモデル/アルゴリズムの支援を伴って、遷移データを評価することが可能である。
【0023】
特定の態様においては、データ分析エンジン206は、ラベル付けされているおよび/またはラベル付けされていないデータを含むトレーニングデータのセットをHMMに提供することが可能である。HMMは、訪問またはロケーションベースのイベントを検知することに最も関連しているトレーニングデータのセット内のパラメータ/特徴を特定するように動作できることが可能である。加えて、HMMは、トレーニングデータのセットに関する1つまたは複数の観察を特定するように動作できることが可能である。観察は、本明細書において使用される際には、センサデータと、1つまたは複数の訪問状態(たとえば、移動していること、停止したこと、訪問していること、訪問していないことなど)との間における相関付けまたは関連付けについて記述することが可能である。たとえば、HMMは、理想的な状況/行為(たとえば、ポーリングサイクル、速度、動き分布など)を特定して、訪問検知分析を最適化することが可能である。いくつかの態様においては、HMMは、パラメータ/特徴に対応する特定された値およびデータを使用して、1つもしくは複数のモデル/アルゴリズムをトレーニングすること、パラメータ/特徴の既存のセットを再調整すること、またはモバイルデバイスユーザが現場をいつ訪問しているかを検知することが可能である。少なくとも1つの例においては、パラメータ/特徴に対応する値およびデータは、一例としてはEMアルゴリズム用の、初期化ポイントとして使用されることが可能である。
【0024】
本明細書において開示されている態様によって採用されることが可能であるさまざまなシステムについて記述してきたが、本開示は次いで、本開示のさまざまな態様によって実行されることが可能である1つまたは複数の方法について記述する。複数の態様においては、方法300が、
図1のシステム100などの例示的な受動的な訪問検知システムによって実行されることが可能である。複数の例においては、方法300は、オペレーション、プログラム、または命令を格納および実行するように構成されている少なくとも1つのプロセッサを含む入力処理ユニット200などのデバイス上で実行されることが可能である。しかしながら、方法300は、そのような例には限定されない。その他の例においては、方法300は、訪問検知を実行するためのアプリケーションまたはサービス上で実行されることが可能である。少なくとも1つの例においては、方法300は、ウェブサービス/分散型ネットワークサービス(たとえばクラウドサービス)などの分散型ネットワークの1つまたは複数のコンポーネントによって実行されることが可能である(たとえば、コンピュータによって実施されるオペレーション)。
【0025】
図3は、本明細書において記述されている、現場検知のための例示的な方法300を示している。例示的な方法300は、オペレーション302において開始し、オペレーション302においては、クライアントデバイス102または入力処理ユニット200などのコンピューティングデバイスによってセンサデータが収集および格納されることが可能である。複数の態様においては、コンピューティングデバイスは、ユーザまたは物理的な環境からデータを収集するように動作可能な1つまたは複数のセンサを含むことが可能である。センサによって収集されるデータ(たとえば、センサデータ)は、GPS座標/情報、Wi-Fi情報、OS情報/設定、ハードウェア情報、加速度計データ、時間情報等などの情報およびテレメトリーデータを含むことが可能である。センサデータは、さまざまな方法および/または時間で収集されることが可能である。たとえば、センサデータは、センサ(またはセンサのサブセット)によってコンピューティングデバイスのデータストアもしくはコンポーネントへ伝送されること、または収集エンジン202などのコンピューティングデバイスコンポーネントを使用してセンサから取り出されることが可能である。センサデータは、断続的に、周期的なインターバルで、または要求に応じて受信されることが可能である。いくつかの例においては、コンピューティングデバイスは、センサデータと対話するためのアプリケーションまたはサービスへのインターフェースを提供することが可能である。少なくとも1つの例においては、インターフェースは、スーパーユーザ、従業員、テスター等などの承認されたユーザのサブセットにとってのみ利用できることが可能である。
【0026】
任意選択のオペレーション304においては、クライアント側インターフェースが、センサデータに関連付けられている入力を受信することが可能である。その入力は、センサデータ、および/またはセンサデータに対応するイベントに関する1つまたは複数のラベルを含むことが可能である。たとえば、職場に到着すると、ユーザは、受動的な訪問検知システムのインターフェースにアクセスして、「職場に入場している」というラベルを入力することが可能である。そのような例においては、インターフェースは、トレーニングデータの収集を容易にすることが可能であり、スーパーユーザ、従業員、テスター等などの承認されたユーザのサブセットにとってのみ利用できることが可能である。インターフェースは、入力されたラベルに対応するモバイルデバイス状態データにラベルを関連付けるために使用されることが可能である。状態データは、時間の所与のスナップショットにおけるコンピューティングデバイス(またはユーザ)に関する訪問状態(たとえば、移動していること、停止したこと、訪問していること、訪問していないことなど)および/または特徴/パラメータ(たとえば、GPS座標、Wi-Fi信号データ、時間データ、および加速度計データ)のセットを含むこと、またはそれらに対応することが可能である。コンピューティングデバイスは、ユーザが職場にいる間にセンサデータを定期的に収集し続けることが可能である。職場から退場する際に、ユーザは、インターフェースにアクセスして、「職場から退場している」というラベルを入力することが可能である。インターフェースは、入力されたラベルに対応するモバイルデバイス状態データにラベルを再び関連付けることが可能である。代替として、ラベルをインターフェースに手動で入力することの代わりに、コンピューティングデバイスは、1つまたは複数の移動イベントまたは検知されたセンサデータに基づいてセンサデータのセットにラベルを入力すること/割り振ることが可能である。たとえば、「職場」として指定されているロケーションの周囲のジオフェンスを設定されているエリアからコンピューティングデバイスが退場したことを検知すると、コンピューティングデバイスは、「職場から退場している」というラベルを割り振り、「移動している」という訪問状態を特定することが可能である。少なくとも1つの例においては、インターフェースはさらに、状態データを1つまたは複数の個別のイベントへと編成することが可能である。たとえば、インターフェースは、「職場に入場している」というラベルと、「職場から退場している」というラベルとの間において収集されるセンサデータを収集およびパッケージ化することが可能である。インターフェースは次いで、イベント(たとえば、「職場にいる」というイベント)をパッケージ化およびラベル付けすることが可能である。本明細書においては特定のラベル付けの例が提供されているが、これらの例は、本開示の一態様にすぎないということを当業者なら理解するであろう。ラベル付けは、一般的には、現場への訪問がいつ開始(たとえば、入場)していつ終了(たとえば、退場)するかを示すために使用されることが可能である。入場と退場との間において追跡把握された状態データは、特定の現場またはロケーションへの訪問に関連付けられることが可能である。
【0027】
オペレーション306において、センサデータが1つまたは複数のモデルに提供されることが可能である。複数の態様においては、オペレーション302において収集されたセンサデータおよび/またはラベルデータは、処理エンジン204などの分析コンポーネントに提供されることが可能である。分析コンポーネントは、1つまたは複数のモデルまたはアルゴリズムを含むこと(またはそれらにアクセスできること)が可能である。モデル/アルゴリズム(またはそのインスタンス)は、センサデータを解析すること、センサデータ特徴を識別すること、特徴セットを生成すること、およびそれらに基づいてさまざまな計算を実行することを行うように動作できることが可能である。たとえば、解析コンポーネントは、下記の特徴を含むセンサデータの一部分を解析および識別するために使用されることが可能である。
[{'frequency': 2412,
'macaddress': u'e2:55:7d:3f:4b:e3',
'signalstrength': -63,
'ssid': u'IIDI',
'timestamp': 1467215627},
{'frequency': 2412,
'macaddress': u'e2:55:7d:3f:4b:e2',
'signalstrength': -63,
'ssid': u'IDEAL-GUEST',
'timestamp': 1467215627},
{'frequency': 2462,
'macaddress': u'54:3d:37:3e:03:18',
'signalstrength': -78,
'ssid': u'Thrillist',
'timestamp': 1467215627}]
【0028】
解析されたデータは、データ分析エンジン206などの1つまたは複数のデータ分析コンポーネントに提供されることが可能である。データ分析コンポーネントは、1つまたは複数のモデル/アルゴリズムであること、またはそれらにアクセスできることが可能である。たとえば、第1のモデルは、上述の例示的なセンサデータにアクセスすることが可能である。第1のモデルは、所与のタイムスタンプ(たとえば、「1467215627」というタイムスタンプ)におけるコンピューティングデバイスとWi-Fiネットワークとの間の距離を特定するために信号強度アルゴリズムに周波数データおよび信号強度データを適用することが可能である。第2のモデルは、上述のセンサデータと、その後のタイムスタンプ(たとえば、「1467215627」というタイムスタンプの60秒後)におけるセンサデータとを使用して、センサデータ収集サイクルどうしの間において進行された距離を特定することが可能である。第3のモデルは、上述のセンサデータと、複数のその後のタイムスタンプにおけるセンサデータとを使用して、コンピューティングデバイスに関する進行の推定されたコースをプロットすることが可能である。第3のモデルは、1つまたは複数のデータスムージング技術(たとえば、ローリング平均、幾何中央値など)を使用して、誤ったもしくは欠落しているセンサ値または距離の計算ミス(たとえば、ジッタ、ノイズなど)を除外するように動作できることが可能である。そのような例においては、第1、第2、および/または第3のモデルのオペレーションおよび機能性は、単一のモデル内に組み込まれること、または複数のモデルにわたって分散されることが可能である。たとえば、第1のモデルは、第1、第2、および第3のモデルに関して上述されているオペレーションを実行するためにさまざまな特徴を伴って拡張されるHMM実施態様であることが可能である。複数の態様においては、データ分析コンポーネントからの出力は、1つまたは複数のデバイス(もしくはデバイスコンポーネント)へ伝送されること、および/またはストレージ108などのデータストア内に格納されることが可能である。
【0029】
オペレーション308において、訪問イベントが発生したかどうかを特定するために1つまたは複数のデータ分析コンポーネントが使用されることが可能である。複数の態様においては、上述のデータ分析コンポーネントは、訪問および/または動き状態情報を生成または検知するために1つまたは複数のモデルを組み込むことが可能である。それらの1つまたは複数のモデルは、オペレーション306において記述されているのと同じモデルであること(またはそれらのモデルのサブセットを含むこと)が可能である。複数の例においては、モデルは、センサデータ、状態データ、および/または、1つもしくは複数のモデルからの出力を使用して1つまたは複数のタイムピリオド中にコンピューティングデバイスに関する訪問および/または動き状態情報を推定/検知するようにトレーニングされること(または動作できること)が可能である。たとえば、ラベル付けされているデータ(トレーニングデータなど)のセットは、ユーザが家から職場へ進行するにつれてのモバイルデバイスの移動に対応することが可能である。ラベル付けされているデータのセットは、モデルに提供されることが可能である。モデルは、コンピューティングデバイスにとってローカルに、またはモデルトレーニングおよびビッグデータ分析を実行するために使用される1つまたは複数のリモートサーバデバイス上にリモートに配置されることが可能である。モデルは、ラベル付けされているデータおよび/またはラベル付けされているデータに関連付けられているデータのセットにアクセスすることが可能である。モデルは、モニタされているタイムピリオドの全体を通じてコンピューティングデバイスに関するさまざまな訪問および/または動き状態を特定するために、それらのデータを使用することが可能である。一例においては、ラベルデータは、現場を識別すること、および/または訪問もしくは停止が発生しているかどうかを予測することを行うために使用されることが可能である。たとえば、ユーザが家に到着したことに対応するセンサデータのセットが、モデルに提供されることが可能である。「停止した」または「家に入場している」などのラベル、およびユーザに関して記録されている家の住所にマッチするGPS座標セットに基づいて、モデルは、「家」として指定されたロケーションに関する「停止」または「訪問」という訪問状態を特定するようにトレーニングされることが可能である。代替として、モデルは、より記述的な訪問および/または動き状態分析を提供することが可能である。たとえば、モデルは、「家のところで停止した」という動き状態、または「家を訪問している」という訪問状態を特定することが可能であり、それに従って動き/訪問状態をラベル付けすることが可能である。この例においては、センサデータのセットは、ユーザがその後に職場へ進行していることに対応することも可能である。加速度計データ、GPSデータ、Wi-Fi信号、またはその他のセンサデータに基づいて、モデルは、「速く移動している」という動き状態または「訪問していない」という訪問状態を特定するようにトレーニングされることが可能である。センサデータのセットはさらに、ユーザが職場に到着していることに対応することが可能である。「職場に到着した」というラベル、Wi-Fi信号(たとえば、「職場」のWi-Fiネットワークの検知)、および/またはGPSデータに基づいて、モデルは、「停止」という動き状態を特定するようにトレーニングされることが可能である。センサデータのセットはさらに、ユーザが職場に入場していることに対応することが可能である。加速度計データ、Wi-Fi信号(たとえば、「職場」のWi-Fiネットワークに関する高められた信号強度)、および/またはGPSデータに基づいて、モデルは、「ゆっくりと移動している」という動き状態、または「訪問」もしくは「職場を訪問している」という訪問状態を特定するようにトレーニングされることが可能である。いくつかの態様においては、トレーニングされたモデル(もしくはそのインスタンス)、および/またはモデルをトレーニングするために使用されるパラメータは、1つまたは複数のその他のデバイスへ伝送されることが可能である。
【0030】
別の例として、ラベル付けされていないデータのセットは、ユーザが店頭に沿って進行するにつれてのモバイルデバイスの移動に対応することが可能である。モデルは、ラベル付けされていないデータおよび1つまたは複数の統計モデルからの対応する出力のセットにアクセスして、モニタされているタイムピリオドの全体を通じてコンピューティングデバイスに関するさまざまな訪問状態を特定することが可能である。たとえば、第1の期間の間に、モデルは、10個のポーリングサイクルの連続した期間(たとえば、10分間のタイムピリオド)にわたって、Wi-Fi信号(たとえば、「店舗A」のWi-Fiネットワークの検知)を含むセンサデータを分析することが可能である。モデルは、10個のポーリングサイクルのそれぞれの間にWi-Fi信号が検知されたので、モバイルデバイスが継続的に店舗Aに近接していたと特定することが可能である。したがって、モデルは、店舗Aに関する「訪問している」という訪問状態を特定することが可能である。「訪問している」という訪問状態に応答して、モデルは、第1の期間の間にセンサデータを収集および格納することが可能である。第2の期間の間に、モデルは、複数のWi-Fi信号(たとえば、「店舗A」および「店舗B」のWi-Fiネットワークの検知)と、対応する信号強度とを含むセンサデータを分析することが可能である。そのセンサデータに基づいて、モデルは、モバイルデバイスが店舗Bに近接していたがモバイルデバイスは実際にはその店舗に入らなかったと特定することが可能である。たとえば、店舗Bに関するWi-Fiネットワークデバイスは、店頭のドアから55フィート内側にある可能性がある。デバイスは、「店舗B」のWi-Fiネットワークの信号強度を、Wi-Fiネットワークデバイスから55フィートの半径においては-80dBm、Wi-Fiネットワークデバイスから25フィートの半径においては-70dBm、およびWi-Fiネットワークデバイスから5フィートの半径においては-50dBmとして記録することが可能である。第2の期間の間に、モバイルデバイスは、-85と-80との間の信号強度を記録していた可能性があり、それは、モバイルデバイスが店舗Bに入らなかったことを示している。したがって、モデルは、店舗Bに関する「進行している」または「立ち止まった」という訪問状態を特定することが可能である。「進行している」という訪問状態に応答して、モデルは、第2の期間の間にセンサデータを収集および格納しないことが可能である。第3の期間の間に、モデルは、ポーリング期間にわたる加速度計データ、1つまたは複数の電子メッセージ(たとえば、テキストまたはEメールの広告、クーポン、イベントスケジュール、レシートなど)、およびGPS座標を使用して、モバイルデバイスが店舗Cに近接していたと特定することが可能である。たとえば、モデルは、モバイルデバイスが12:05pmに3.5mphで店舗Cから遠ざかって進行していたが、モバイルデバイスは12:06pmに店舗Cに関するEメール広告を受信し、モバイルデバイスは12:08pmに自らのコースを変更して店舗Cに向かって進行し、モバイルデバイスは12:08と12:15との間に3.5mphで店舗Cに向かって進行していたところ、12:15pmに店舗CのWi-Fi「店舗C」が検知され、モバイルデバイスは12:15pmと12:45pmとの間に0.1と1.8mphとの間(たとえば、ぶらつくスピード)で進行していたと識別することが可能である。このデータに基づいて、モデルは、店舗Cに関する「訪問している」という訪問状態を推測することが可能である。「訪問している」という訪問状態に応答して、モデルは、第3の期間の間にセンサデータを収集および格納することが可能である。
【0031】
任意選択のオペレーション310においては、センサデータに関して観察のセットが生成されることが可能である。複数の態様においては、センサデータ、訪問状態の推測、および関連付けられているデータが使用されて、訪問検知に関連した1つまたは複数の観察を生成することが可能である。複数の例においては、訪問状態の推測および対応するセンサデータは、訪問分析システム106またはデータ分析エンジン206などの分析コンポーネントに提供されることが可能である。分析コンポーネントは、以前に生成された訪問状態の推測およびセンサデータを含むストレージ108などのデータストアにアクセスできることも可能である。分析コンポーネントは、現在のデータおよび/または以前に生成されたデータを分析して、1つまたは複数の観察を特定することが可能である。観察は、特定のセンサデータ特徴(またはセンサデータ特徴のセット)が訪問状態に(肯定的にまたは否定的に)相関付けられている確率を示すことが可能である。たとえば、分析コンポーネントは、収集されたセンサデータのセットを分析して、ユーザのうちの85%が、現場から500フィート内で現場からの電子通信を受信した場合に現場を訪問しているということを特定することが可能である。したがって、分析を反映している観察が生成されることが可能である。分析コンポーネントは、特定の現場への訪問のうちの65%が、週末において10:00amから1:30pmの時間の間に発生しているということを特定することも可能である。分析コンポーネントはさらに、時速4.0マイルよりも速いスピードで進行しているユーザが、時速3.1マイル未満で進行しているユーザよりも著しく少ない訪問を実行しているということを特定することが可能である。
【0032】
複数の態様においては、観察に関して1つまたは複数の確率または信頼性メトリックが生成されることが可能である。たとえば、分析コンポーネントは、センサデータのセットに関して観察のセットを生成することが可能である。分析コンポーネントは、セット内の観察のそれぞれに関して信頼性スコアを計算することが可能である。信頼性スコアは、観察の予測された精度または強度を反映することが可能である。信頼性スコアは、ユーザの以前の観察、ユーザのセットに関する観察、距離ベースの分析、ユーザ入力、チェックインデータ、購入履歴、行動データ、ソーシャルネットワークデータなどに基づくことが可能である。いくつかの態様においては、観察は、定期的に、要求に応じて、または事前に定義された条件に従って生成されることが可能である。たとえば、観察は、分析コンポーネントを含むコンピューティングデバイスがオフラインであるか、または定義されたしきい値を下回る計算リソースを使用している場合に生成されることが可能である。別の例として、観察は、訪問状態の特定が実行された場合に生成されることが可能である。少なくとも1つの態様においては、分析コンポーネントは、最も直近に生成された観察をローカルデータストア内に格納することが可能である。格納された観察は次いで、以前の観察データを再処理することの代わりに、その後の観察の生成中に使用されることが可能である。そのような態様においては、最も直近に生成された観察の格納は、デバイスに関する高められたバッテリー効率および低減された計算負荷をもたらすことが可能である。
【0033】
図4は、
図1において記述されている現場検知システムに関する例示的な適切な動作環境を示している。動作環境400は典型的に、その最も基本的な構成において、少なくとも1つの処理ユニット402およびメモリ404を含む。コンピューティングデバイスの厳密な構成およびタイプに応じて、(本明細書において開示されている受動的な訪問検知の実施形態を実行するための命令を格納している)メモリ404は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリ等など)、またはそれら2つの何らかの組合せであることが可能である。この最も基本的な構成は、
図4において破線406によって示されている。さらに、環境400は、磁気または光ディスクまたはテープを含むがそれらには限定されないストレージデバイス(取り外し可能な408、および/または取り外し不能な410)を含むことも可能である。同様に、環境400は、キーボード、マウス、ペン、音声入力等などの入力デバイス414、および/またはディスプレイ、スピーカー、プリンタ等などの出力デバイス416を有することも可能である。LAN、WAN、ポイントツーポイント等などの1つまたは複数の通信接続412が環境内に含まれることも可能である。複数の実施形態においては、それらの接続は、ポイントツーポイント通信、コネクション型通信、コネクションレス通信などを容易にするように動作できることが可能である。
【0034】
動作環境400は典型的に、少なくとも何らかの形態のコンピュータ可読メディアを含む。コンピュータ可読メディアは、処理ユニット402、または動作環境を構成するその他のデバイスによってアクセスされることが可能である任意の利用可能なメディアであることが可能である。限定ではなく、例として、コンピュータ可読メディアは、コンピュータストレージメディアおよび通信メディアを含むことが可能である。コンピュータストレージメディアは、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報の格納のための任意の方法またはテクノロジーにおいて実装される揮発性のメディアおよび不揮発性のメディア、取り外し可能なメディアおよび取り外し不能なメディアを含む。コンピュータストレージメディアは、RAM、ROM、EEPROM、フラッシュメモリ、もしくはその他のメモリテクノロジー、CD-ROM、デジタル多用途ディスク(DVD)、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気ストレージデバイス、または、所望の情報を格納するために使用されることが可能であるその他の任意の非一時的なメディアを含む。コンピュータストレージメディアは、通信メディアを含まない。
【0035】
通信メディアは、搬送波またはその他の伝送メカニズムなどの変調されたデータ信号においてコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを具体化し、任意の情報伝達メディアを含む。「変調されたデータ信号」という用語は、その信号の特性のうちの1つまたは複数が、その信号内で情報をエンコードするような様式で設定または変更されている信号を意味する。限定ではなく、例として、通信メディアは、有線ネットワークまたは直接有線接続などの有線メディア、ならびに、音響メディア、RFメディア、赤外線メディア、マイクロ波メディア、およびその他のワイヤレスメディアなどのワイヤレスメディアを含む。上記のうちのいずれの組合せもまた、コンピュータ可読メディアの範囲内に含まれるものである。
【0036】
動作環境400は、1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で動作する単一のコンピュータであることが可能である。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードであることが可能であり、典型的には、上述されている要素ならびにそのように言及されていないその他の要素のうちの多くまたはすべてを含む。論理接続は、利用可能な通信メディアによってサポートされる任意の方法を含むことが可能である。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいてよく見受けられる。
【0037】
本明細書において記述されている実施形態は、本明細書において開示されているシステムおよび方法を実施および実行するために、ソフトウェア、ハードウェア、または、ソフトウェアとハードウェアとの組合せを使用して採用されることが可能である。特定のデバイスが、特定の機能を実行するものとして本開示を通じて列挙されているが、これらのデバイスは、例示的な目的のために提供されており、本開示の範囲から逸脱することなく、本明細書において開示されている機能性を実行するために、その他のデバイスが採用されることが可能であるということを当業者なら理解するであろう。
【0038】
本開示は、添付の図面を参照しながら本発明のテクノロジーのいくつかの実施形態について記述しており、それらの図面においては、可能な実施形態のうちのいくつかが示されたにすぎない。しかしながら、その他の態様が、多くの異なる形態で具体化されることが可能であり、本明細書において示されている実施形態に限定されるものと解釈されるべきではない。むしろ、これらの実施形態は、本開示が徹底的かつ完全であるように、および可能な実施形態の範囲を当業者に十分に伝達するように提供されたものである。
【0039】
特定の実施形態が本明細書において記述されているが、このテクノロジーの範囲は、それらの特定の実施形態には限定されない。当業者なら、本発明のテクノロジーの範囲および趣旨内にあるその他の実施形態または改良を認識するであろう。したがって、特定の構造、行為、またはメディアは、例示的な実施形態として開示されているにすぎない。このテクノロジーの範囲は、添付の特許請求の範囲およびそれらの中のあらゆる均等物によって定義される。
【符号の説明】
【0040】
100 システム
102 クライアントデバイス
104 分散型ネットワーク
106 訪問分析システム
108 ストレージ
200 入力処理デバイス
202 収集エンジン
204 処理エンジン
206 データ分析エンジン
208 観察エンジン
300 方法
400 動作環境
402 処理ユニット
404 メモリ
408 取り外し可能なストレージデバイス
410 取り外し不能なストレージデバイス
412 通信接続
414 入力デバイス
416 出力デバイス