(57)【特許請求の範囲】
【請求項１】
モバイルコンピューティングデバイスのユーザをプロファイリングするコンピュータにより実行される方法であって、
ユーザのモバイルコンピューティングデバイスからの信号に基づく、前記ユーザの位置履歴を取得するステップであって、前記位置履歴は、地理的位置記録のリストを含み、前記地理的位置記録の各々は、緯度及び経度として表される地理的座標と、前記モバイルコンピューティングデバイスがそれぞれの前記座標に存在していた時間とを含み、位置識別サービスにアクセスできるエンドユーザのポータブルデバイスによって取得される、ユーザの位置履歴を取得するステップと、
前記位置履歴内で識別された、又は前記位置履歴から推測される位置の位置−属性スコアを取得するステップであって、前記位置の位置−属性スコアを取得するステップは、前記位置履歴内の位置を地理情報システム（ＧＩＳ）内のタイルにマッピングするステップを含み、前記タイルは、前記ＧＩＳによって記述された地理的地域の量子化であって前記位置を含み、前記位置の位置−属性スコアを取得するステップは、前記タイルのタイル−属性スコアのリストを前記ＧＩＳから取り出すステップをさらに含み、前記タイル−属性スコアの各々は、前記ユーザが前記タイル内に存在している間の前記ユーザの潜在的な活動と、前記ユーザが前記活動を行う統計的可能性とを、他のユーザが前記タイル内に存在している間の前記他のユーザの挙動に基づいて記述する、前記位置の位置−属性スコアを取得するステップと、
前記位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、
前記ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップと、を含み、前記ユーザプロファイルデータストアは、広告の選択に関連するデータを求める広告主からのクエリに応答する、方法。
【請求項２】
前記ユーザ−属性スコアを決定するステップは、前記取り出した属性スコアのリスト内のタイル−属性スコア毎に、前記ユーザの以前の位置に対応するタイルのスコアに基づいて、前記ユーザのそれぞれの前記属性スコアの中心傾向の測度を更新するステップを含む、請求項１に記載の方法。
【請求項３】
前記ユーザ−属性スコアを決定するステップは、ユーザプロファイルを複数の時間ビンに分割したユーザプロファイル時間ビンにわたるユーザ−属性スコアを決定するステップを含み、同じ属性は、前記ユーザプロファイルの異なる時間ビンでは、所与の時間ビン内の時間中に前記ユーザが前記属性によって記述された活動を行う傾向に対応する異なる値を有する、請求項１に記載の方法。
【請求項４】
前記ユーザ−属性スコアを決定するステップは、
複数の時間ビンを有する前記ユーザプロファイルのうちの、前記ユーザが前記位置に存在していた時間に対応する時間ビンを識別するステップと、
前記識別された時間ビンに対応するユーザ−属性スコアを決定するステップと、を含む請求項１に記載の方法。
【請求項５】
前記位置−属性スコアを取得するステップは、ＧＩＳ内の前記位置に対応する記録のうちの、前記ユーザが前記位置に存在していた時間に対応する時間ビンを識別するステップを含み、
前記方法は、前記位置の前記識別された時間ビンの属性スコアに基づいてユーザ−属性スコアを決定するステップを含む、請求項１に記載の方法。
【請求項６】
前記位置−属性スコアは、前記位置に関する時間ビン固有のスコアであり、前記ユーザ−属性スコアは、前記位置履歴に基づく、前記ユーザに関する時間ビン固有のスコアである、請求項１に記載の方法。
【請求項７】
各ユーザは、各々が１週間内の異なる期間に対応する複数の前記属性スコアに関連付けられる、請求項１に記載の方法。
【請求項８】
前記位置履歴内で識別された、又は前記位置履歴から推測される位置の位置−属性スコアを取得するステップは、前記位置履歴内で識別された前記位置を含む地理的地域を定める、前記ＧＩＳ内の第１のタイルを識別するステップを含み、前記第１のタイルを識別するステップは、前記第１のタイルに隣接する第２のタイル内に前記ユーザが存在することを、前記第１のタイル及び前記第２のタイルの両方の属性スコアに基づいて判定するステップを含む、請求項１に記載の方法。
【請求項９】
前記位置の位置−属性スコアを取得するステップは、
初期時点における前記ユーザの初期位置を取得するステップと、
前記初期時点の１分よりも後の時点である後続時点における前記ユーザの後続位置を取得するステップと、
前記初期位置と前記後続位置の間の位置属性に基づいて、中間時点における前記ユーザの中間位置を推測するステップであって、前記中間位置は、前記ユーザが前記中間位置に存在していた可能性を示す信頼スコアに関連し、前記ユーザ属性スコアは、前記信頼スコアを用いて前記位置−属性スコアに重み付けすることによって計算される、中間時点における前記ユーザの中間位置を推測するステップと、
前記中間位置の位置−属性スコアを取得するステップと、を含む請求項１に記載の方法。
【請求項１０】
前記位置−属性スコアに基づいてユーザ−属性スコアを決定するステップは、
前記位置−属性スコアが、前記ユーザの以前の位置からの前記属性スコアに対して異常値ではないと判定するステップと、
これに応答して、前記ユーザの以前の位置からの前記位置−属性スコア及び前記属性スコアの平均を計算するステップと、を含む請求項１に記載の方法。
【請求項１１】
前記位置−属性スコアに基づいてユーザ−属性スコアを決定するステップは、
隣接する位置が、前記位置−属性スコアと一致する属性スコアを有していると判定するステップと、
これに応答して、前記位置−属性スコアに基づいて前記ユーザ−属性スコアを計算するステップと、を含む請求項１に記載の方法。
【請求項１２】
前記隣接する位置が、前記位置−属性スコアと一致する属性スコアを有していると判定するステップは、閾値量を上回る隣接タイルが、前記位置−属性スコアとの閾値差分内の前記属性スコアを有していると判定するステップを含む、請求項１１に記載の方法。
【請求項１３】
前記複数のユーザの位置履歴及び前記位置履歴によって識別された位置属性に基づいて、複数のユーザの複数の属性を表すユーザ−属性スコアを決定するステップと、
前記ユーザ−属性スコアを、前記ユーザプロファイルデータストア内の複数の対応するユーザプロファイルに記憶するステップと、を含む請求項１に記載の方法。
【請求項１４】
データ処理装置によって実行された時に、請求項１から１３のいずれかの方法を含む動作を前記データ処理装置に実行させる命令を記憶する、有形の非一時的機械可読媒体。
【請求項１５】
１又はそれ以上のプロセッサと、
前記プロセッサによって実行された時に、請求項１から１３のいずれかの方法を含む動作を前記プロセッサに実行させる命令を記憶するメモリと、を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にユーザプロファイルに関し、具体的には、ユーザの位置に基づくユーザプロファイルを作成することに関する。
【背景技術】
【０００２】
ユーザプロファイルは、様々な状況で役立つ。例えば、多くの場合、広告主は、特定の属性を有する潜在顧客に到達したいという要望に基づいて広告を購入する。このような広告主は、しばしばユーザプロファイルを使用して、自身のメッセージをいつ、どこで又はいかにして伝えるかを選択する。同様に、市場調査員は、ユーザプロファイルを分析し、所与の商品又はサービスの買い手の属性に基づいて、これらの商品又はサービスの市場をより良く理解することができる。別の例では、ユーザプロファイルを用いて、例えばソフトウェアアプリケーションのユーザのプロファイルに従ってソフトウェアアプリケーションをカスタマイズすることにより、製品又はサービスをカスタマイズすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、一般に、ユーザは、他者による使用のために自身のプロファイルを作成する動機がほとんどないため、ユーザプロファイルの入手は困難である。このような作業は、面倒かつ不快なものとなり得る。さらに、ユーザが長期にわたる自身の行動を回想することは、信頼性の低いものとなり得る。
【課題を解決するための手段】
【０００４】
以下は、本技術のいくつかの態様を非包括的に列挙したものである。以下の開示では、これらの及びその他の態様について説明する。
【０００５】
いくつかの態様では、本技術は、モバイルコンピューティングデバイスのユーザのプロファイリング処理を含み、この処理は、ユーザのモバイルコンピューティングデバイスからの信号に基づく、ユーザの位置履歴を取得するステップと、位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップと、コンピュータを用いて、位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップとを含む。
【０００６】
いくつかの態様は、命令を記憶する有形の非一時的機械可読媒体を含み、この命令は、データ処理装置によって実行された時に、データ処理装置に、ユーザのモバイルコンピューティングデバイスからの信号に基づく、ユーザの位置履歴を取得するステップと、位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップと、位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップとを含む動作を実行させる。
【０００７】
いくつかの態様は、１又はそれ以上のプロセッサと、命令を記憶したメモリとを備えたシステムを含み、この命令は、プロセッサによって実行された時に、プロセッサに、ユーザのモバイルコンピューティングデバイスからの信号に基づく、ユーザの位置履歴を取得するステップと、位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップと、位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップとを含む動作を実行させる。
【０００８】
本技術の上述の及びその他の態様は、同じ数字が同様の又は同一の要素を示す以下の図に照らして本出願を読むことによってより良く理解されるであろう。
【図面の簡単な説明】
【０００９】
【図１】いくつかの態様による、ユーザプロファイラの動作環境例を示す図である。
【図２】ユーザプロファイリング処理の実施形態を示す図である。
【図３】別のユーザプロファイリング処理の実施形態を示す図である。
【図４】上述のシステム及び処理を実装できるコンピュータシステムの実施形態を示す図である。
【発明を実施するための形態】
【００１０】
本発明は様々な修正及び代替形態が可能であるが、図面にはその特定の実施形態を一例として示し、本明細書ではこれらについて詳細に説明する。図面は縮尺通りでない場合もある。しかしながら、図面及びその詳細な説明は、開示する特定の形態に本発明を限定することを意図するものではなく、むしろ添付の特許請求の範囲によって定められる本発明の思想及び範囲内にある全ての修正物、同等物及び代替物を含むことを意図するものであると理解されたい。
【００１１】
図１に、ユーザプロファイルを作成してユーザプロファイルデータストア１４に記憶するユーザプロファイラ１２を有するコンピュータ環境１０の例を示す。いくつかの実施形態では、ユーザプロファイラ１２が、モバイルデバイス１６からの位置履歴、及び地理情報システム（ＧＩＳ）１８に記憶されている地理的位置の属性に基づいてユーザプロファイルを作成（例えば、インスタンス化又は更新）する。結果として得られるユーザプロファイルは、ユーザが訪れた位置の属性を反映することができる。位置履歴は、インターネット２０を介して遠隔位置に伝えることができ、広告サーバ２２は、ユーザプロファイルを用いて、ユーザに提示するための、又は後述するその他の目的のための広告を選択することができる。
【００１２】
このプロファイルは、ユーザの様々な属性を特徴付けることができる。１つの例示的な使用事例では、ユーザが観光に関連する地理的位置を頻繁に訪れていることが位置履歴によって示されることがあり、したがってこのユーザのプロファイルは、ユーザが頻繁に観光を行っていることを示すように更新することができ、このことは特定のカテゴリの広告主にとって興味深いものとなり得る。或いは、ユーザが、育児及び居住地に関連する地理的地域で就業時間を過ごしている場合もあり、したがってこのユーザのプロファイルは、これらの位置履歴に基づいて、ユーザが未就学児の育児を行っている可能性が高いことを示すように更新することができる。他の例については後述する。
【００１３】
さらに、以下で詳述するように、地理的位置に関連する属性は時間と共に変化することがある（例えば、コーヒーショップ及びバーが存在する地域では、午前中は朝食又はコーヒーの消費との関連性が強く、夜間には弱くなる一方で、娯楽又はナイトライフとの関連性は、午前中に弱く夜間に強くなる）。ユーザプロファイルは、ある地理的地域にユーザが存在する時に優位を占める時間ベースの属性に基づいて作成することができる。また、いくつかの実施形態では、例えば、所与のユーザの平日の朝に関連するプロファイルの一部が、同じユーザの週末の夜に関連するプロファイルの別の部分と異なる属性を有することができるように、ユーザプロファイルを時間的に細分化することもできる。
【００１４】
広告主及びその他は、ユーザが自身の位置履歴の共有を選択する傾向が期待されるように、プライバシーに配慮した形でユーザプロファイルを使用することができる。例えば、このユーザプロファイルを集約して、釣りを趣味とするユーザの数が比較的多い競技場、又はゴルフを趣味とする人々が週末の朝に比較的大勢同時に集まる傾向がある子供のサッカー場などの、１週間のうちの特定の時に特定のタイプのユーザの密度が高い地理的地域を識別することができる。このような相関関係は、個々のユーザを一意に識別できる情報を開示することなく広告主又はその他に提示することができる。他の用途では、ユーザ固有の情報を提供することもでき、例えば、自身のプロファイルを共有することを選択したユーザは、このユーザの個々のプロファイルに基づいて構築されたユーザ固有のサービス又は通信を受け取ることができる。
【００１５】
所与の位置において人々が行う活動は、１日及び１週間のうちの時間に強く依存する傾向にあるので、地理的地域を特徴付ける時間を考慮することは、比較的正確な場所の特徴付けをもたらすと思われる。また、同様の理由により、ユーザをプロファイリングする時間を考慮することは、比較的正確なユーザの特徴付けをもたらすと予想される。位置履歴に基づいてプロファイルを作成することは、これを手作業で行う負担をユーザ自身に課すことなくユーザをプロファイリングできるという利点をさらに提供し、ユーザが移動する地理的地域の属性を使用することは、ユーザに関する比較的プライバシーに配慮したデータをもたらすと予想される。とは言うものの、様々な技術的及びコスト的トレードオフが想定されるので、全ての実施形態がこれらの利点の全部又は一部をもたらすわけではなく、他の実施形態は他の利点をもたらすこともあり、これらのいくつかについては以下で説明する。
【００１６】
上述したように、ユーザプロファイラ１２は、モバイルデバイス１６及び地理情報システム１８からデータを取得して、広告サーバ２２による使用又はその他の目的のために、ユーザプロファイルデータストア１４にユーザプロファイルを出力する。したがって、これらの構成要素については、入力から開始して出力で終了するという順番で説明する。
【００１７】
モバイルデバイス１６は、エネルギー蓄積装置（例えば、バッテリー）を有し、例えばインターネット２０に接続された無線エリアネットワーク又はセルラーネットワークなどのネットワークを介して通信できる様々な異なるタイプのコンピューティングデバイスのいずれかとすることができる。場合によっては、モバイルデバイス１６は、スマートフォン、タブレット若しくは同様のものなどのハンドヘルドモバイルコンピューティングデバイスであるか、ラップトップコンピュータであるか、又は自動車用コンピュータ（例えば、ダッシュボード内蔵型ナビゲーションシステム）などのその他の専用コンピューティングデバイスであることができる。モバイルデバイス１６は、プロセッサと、プロセッサによって実行された時に、本明細書で説明する機能を提供する命令を記憶する有形の非一時的機械可読メモリとを有することができる。メモリは、使用事例に応じて、オペレーティングシステム、専用アプリケーション（アプリ）、及びウェブブラウザのための命令を記憶することができる。しかしながら、本技術はモバイルデバイスに限定されるものではなく、地理的位置（ジオロケーション）の影響を受ける他のコンピューティングデバイスも、ユーザプロファイルの形成に役立つデータを生成することができる。例えば、セットトップボックス、ゲーム機又はインターネット対応テレビの位置をＩＰアドレスに基づいて特定することができ、例えばデバイスに対応する地理的位置（ジオロケーション）にユーザが存在していた時刻を示すこれらのデバイスとの間のユーザインタラクションからのデータを用いてユーザプロファイルを更新することができる。
【００１８】
このソフトウェアは、モバイルデバイスの位置を取得できる外部又は内部サービスにアクセスすることができる。例えば、モバイルデバイスは、衛星に基づく内蔵ジオロケーション装置（例えば、全地球測位システム、すなわちＧＰＳ、ロシアのＧＬＯＮＡＳＳシステム又は欧州連合のガリレオシステムなどの、他の衛星システムから位置を取得するデバイス又は構成要素）を有することができる。別の例では、例えば無線環境の属性（例えば、無線ホットスポットのＳＳＩＤ、セルラータワーの識別子、及び信号強度）を感知し、モバイルデバイスの位置を識別できるリモートサーバにこれらの属性を送信することにより、モバイルデバイスの現在の無線環境に基づいて位置を取得することができる。いくつかの実施形態では、例えば無線ルータのＩＰアドレスをジオコーディングすることにより、モバイルデバイスをインターネットに接続するネットワークノードの識別子に基づいて、又はモバイルデバイスが接続されているセルラータワーの位置に基づいて位置を取得することができる。位置は、緯度及び経度座標又は範囲として表すことができ、場合によっては、何らかの閾値信頼度よりも高い信頼度でデバイスが存在すると予想される範囲を定める半径又は境界ボックスなどの信頼スコアを含むことができる。
【００１９】
時には、モバイルデバイス１６の位置を、これらのモバイルデバイスによって取得することもできる。例えば、ユーザが専用アプリケーションとやりとりする際に、場合によってはこのアプリケーションに、モバイルデバイスの位置を取得して、アプリケーションに関連する第三者サーバ(third party server)にこの位置を報告する許可を与えることにより、ユーザプロファイラ１２がこの第三者サーバから位置を取得できるようにすることもできる。別の例では、ユーザが、モバイルデバイスの現在の位置を取得するコードを有するウェブサイトを訪問することができる。この位置が、ウェブサイトの取得元であるサーバ、又はアフィリエイトネットワークの広告サーバなどの他の何らかの第三者サーバに戻されて、このサーバから位置履歴を取得することができる。別の例では、ネットワークに接続すること以外のモバイルデバイスの関与を伴わずにモバイルデバイス１６の位置を取得することができる。例えば、ユーザは、セルラーサービスプロバイダがセルラー信号に基づいてユーザの位置を検出し、この位置をユーザプロファイラ１２に提供できるようにすることを選択することができる。位置は、位置を取得する方法に応じて、例えばユーザが１日の間に特定のアプリケーションを立ち上げた異なる３回の時点のように間欠的に取得することも、又は、例えばＧＰＳデバイスに定期的にポーリングを行って位置を報告することなどによって比較的頻繁に取得することもできる。場合によっては、位置履歴が、使用事例に応じて、１秒超の間隔、１分超の間隔、１時間超の間隔又はそれ以上の間隔で取得された位置を含むこともできる。
【００２０】
ユーザプロファイラ１２は、モバイルデバイス１６からリアルタイムで位置を取得することができ、又は、実施形態によっては位置履歴を取得することもできる。各位置履歴は、所与のモバイルデバイスの地理的位置の記録、及びモバイルデバイスが各位置にいつ存在していたかを含むことができる。位置履歴を取得するモードによっては、位置履歴の報告又は更新を比較的低頻度でしか行わないものもあるので、場合によっては、位置履歴が、過去の１時間、１日、１週間又は１月を超える期間などの比較的長い期間にわたる位置の記録を含むこともある。所与のモバイルデバイスの位置履歴は、（例えば１０個又は１００個を超える）複数の位置記録を含むことができ、これらの位置記録の各々は、モバイルデバイスの検出された位置に対応するとともに、地理的位置及びその位置にモバイルデバイスが存在していた時刻を含む。これらの位置記録は、検出された位置の精度を示す信頼スコアを含むこともできる。地理的位置は、例えば、緯度及び経度座標の形、地理的地域を分割（例えば、量子化）したグリッド内のタイルの形、又は場所を一意に指定するための他の何らかのフォーマットなどの、様々な特異性度合いを有する様々なフォーマットで表すことができる。
【００２１】
地理情報システム１８は、関心位置を特定するクエリに応答して地理的位置に関する情報を提供するように構成することができる。いくつかの実施形態では、地理情報システム１８が、地理的地域のサブセットにマッピングされたタイルと呼ばれる面積単位に地理的地域を量子化（又は分割）することにより、地理的地域に関する情報を体系化する。場合によっては、これらのタイルは、地理的地域を表現すべき所望の細粒度に応じて、例えば一辺が約１００メートルなどの、辺の長さが１０メートル〜１０００メートルの正方形の面積単位に対応する。
【００２２】
場合によっては、地理的地域の属性が時間と共に変化する。したがって、いくつかの実施形態では、各タイルを時間に基づいて分割する。例えば、いくつかの実施形態では、各タイルを１週間、１ヶ月又は１年などの一定期間のサブセットに分割し、この期間のサブセットにわたってタイルの属性が記録される。例えば、この期間を１週間とし、例えば仕事の日と、週末、勤務時間、勤務時間後、食事時間及び通常の睡眠時間などとの違いを考慮してユーザが自身の１週間を大まかに構築する方法に照らして選択された週の部分によって各タイルを分割することができる。このような時分割の例としては、多くの場合ユーザが朝食を食べて通勤する月曜日の朝の午前６時〜午前８時、多くの場合ユーザが仕事中である午前８時〜午前１１時、多くの場合ユーザが昼食を食べる午前１１時〜午後１時、多くの場合ユーザが仕事中である午後１時〜午後５時、及び多くの場合ユーザが帰宅する午後５時〜午後６時、などに対応するタイルの期間を挙げることができる。例えば、多くの場合ユーザが余暇活動を行っている土曜日の午後８時〜午前零時などの週末についても同様の期間を選択することができる。各タイルでは、これらの期間の各々をプロファイリングすることができる。
【００２３】
いくつかの実施形態では、地理情報システム１８は、各々が地理的地域の異なるサブセットに対応する複数のタイル記録を含む。各タイル記録は、識別子と、タイルに対応する地理的地域の表示（通常サイズのタイルでは識別子とすることができる）と、複数のタイル−時間記録とを含むことができる。各タイル−時間記録は、所与のタイルの上述した時間区分の１つに対応することができ、これらのタイル−時間記録は、１週間のうちの異なる時間中などの異なる時点におけるタイルの属性を特徴付けることができる。各タイル−時間記録は、所与の時点におけるタイル内の人々の数を示す密度スコアを含むこともできる。いくつかの実施形態では、各タイル−時間記録は、記録によって記述される期間の指示（例えば、日曜日の昼食時間又は水曜日の夕食時間）と、各々が何らかの周期（例えば、毎週）中の対応する時間ウィンドウにおけるタイルの属性を記述する複数の属性記録とを含む。
【００２４】
属性は、ユーザプロファイルデータストア１４の消費者の関心を引く可能性のある、ユーザが行う活動の記述とすることができる。例えば、広告主によっては、ユーザがいつどこで特定のタイプのレストランに出かけるか、ユーザがいつどこでゴルフをするか、ユーザがいつどこでスポーツを観戦するか、ユーザがいつどこで釣りをするか、又はユーザがいつどこで特定のカテゴリの仕事を行うかに関心を持つことがある。いくつかの実施形態では、各タイル−時間記録は、タイルを記述すべき所望の特異性に応じて、例えば、１０、１００、１０００又は約４０００を超える属性記録などの比較的多くの属性記録を含むことができる。各属性記録は、特徴となる属性のインジケータと、ユーザがその属性に対応する活動を対応するタイル内で対応する期間に行う傾向にある度合いを示す属性スコアとを含むことができる。場合によっては、属性スコア（又はタイル−時間記録）は、その時点にタイル内で対応する活動を行うと予想されるユーザの数を示す密度スコアによって特徴付けられる。
【００２５】
したがって、地理情報システム１８のいくつかの実施形態を使用するには、金曜日の夕方にニューヨークのダウンタウンの特定のブロックでユーザがどのような活動を行っているかを特定するようにクエリを提出することができ、地理情報システム１８は、その時点におけるこのブロックに対応する属性記録で応答することができる。これらの属性記録は、例えば高級な食事については、一般にユーザがこの時間にこの場所でこの種のレストランに行くことを示す比較的高い属性スコアを示すことができ、ゴルフをすることについては比較的低い属性スコアを示すことができる。属性スコアは、例えば、その属性によって記述される行動を示すユーザの傾向を示す０〜１０の値に正規化することができる。
【００２６】
ユーザプロファイラ１２は、位置履歴と、これらの位置履歴の位置に関連するタイル記録とを統合してユーザプロファイルを作成することができる。したがって、ある場所をユーザが訪れた時点におけるユーザが訪れた場所の属性に従ってユーザを特徴付けることができる。その後、この作成されたユーザプロファイルは、後述するようにユーザプロファイラ１２によってユーザプロファイルデータストア１４に記憶することができる。この目的又はその他の目的のために、ユーザプロファイラ１２のいくつかの実施形態は、位置−履歴取得モジュール２４と、位置−属性取得モジュール２６と、ユーザプロファイルを作成するユーザ−属性アップデータ２８とを含む。
【００２７】
ユーザプロファイラ１２は、図４を参照しながら後述するコンピュータのうちの１つ又はそれ以上によって構築することができる。これらのコンピュータは、これらのコンピュータの１つ又はそれ以上のプロセッサ（又は他の何らかのデータ処理装置）によって実行された時に、本明細書で説明するユーザプロファイラ１２の機能をコンピュータに提供させる命令を記憶する様々な形のメモリなどの、有形の非一時的機械可読媒体を含むことができる。ユーザプロファイラ１２の構成要素は、別個の機能ブロックとして示しているが、これらの機能ブロックを実装するハードウェア及びソフトウェアは異なる形で構築することもでき、例えば、この機能を提供するためのコード又はハードウェアは、混合し、細分化し、結合し、又は別様に異なる形で構成することができる。
【００２８】
図示の位置−履歴取得モジュール２４は、インターネット２０を介してモバイルデバイス１６の位置履歴を取得するように構成することができる。この位置履歴は、モバイルデバイス１６から直接取得することができ、又は、モバイルデバイス１６上に提供されるウェブアプリケーションをホストしている第三者、モバイルデバイス１６上のアプリによって位置履歴を通信する相手先のサーバをホストしている第三者、若しくは、例えばセルラーサービスプロバイダなどの、モバイルデバイス１６にネットワークアクセスを提供する第三者などの様々な第三者から取得することができる。位置−履歴取得モジュール２４は、複数の異なるプロバイダから位置履歴を取得するための複数のサブモジュールを含むことができる。これらのサブモジュールは、これらのプロバイダによって提供されるアプリケーションプログラムインターフェイスを介して、異なるプロバイダのうちのそれぞれのプロバイダに位置履歴を要求し、そこから位置履歴をダウンロードして解析するように構成することができる。これらのサブモジュールは、異なるフォーマットの場合もある異なるプロバイダからの位置履歴を、後の処理で使用できるように共通フォーマットに変換することができる。位置履歴は、例えば毎月、毎週又は毎時などのように定期的に、又はさらに高い頻度で取得することができる。
【００２９】
この実施形態のユーザプロファイラ１２は、位置−属性取得モジュール２６をさらに含む。モジュール２６は、位置履歴取得モジュール２４によって取得された位置履歴に基づいて識別される位置の属性を取得するように構成することができる。例えば、モジュール２６は、各位置履歴によって識別された各位置を反復し、対応する位置にユーザが存在していた時のこれらの位置の属性を地理情報システム１８に問い合わせるように構成することができる。場合によっては、位置−属性取得モジュール２６は、様々な指示の信頼性を評価するために所与のタイルからの信号が周辺タイルの信号に一致しているかどうかをユーザ−属性アップデータ２８が判定できるように、地理情報システム１８に隣接タイルなどの隣接位置の属性を要求することもできる。
【００３０】
取得された位置履歴及び位置属性は、モジュール２４及び２６によってユーザ−属性アップデータ２８に提供することができ、いくつかの実施形態では、このユーザ−属性アップデータ２８が、このデータに基づいてユーザプロファイルを作成するように構成される。場合によっては、ユーザ−属性アップデータ２８が、以下で詳述する図２又は図３の処理の一部を実行し、ユーザのプロファイルにこれらのユーザが訪れた場所の属性を加える。これらのプロファイルは、ユーザ属性アップデータ２８によってユーザプロファイルデータストア１４に記憶することができる。
【００３１】
ユーザプロファイルデータストア１４は、ユーザプロファイルを記憶することができ、いくつかの実施形態では、ユーザプロファイル内のデータを求めるクエリに対応することができる。図示のユーザプロファイルデータストア１４は、各々が所与のユーザ又は所与のモバイルデバイス１６のプロファイルに対応する複数のユーザプロファイル記録を含む。各ユーザプロファイル記録は、（プライバシーを強化するために、他の点ではユーザの識別情報と相関関係のない値とすることができる）記録の識別子と、その後の位置履歴をプロファイルと照合できるようにするように作成されたプロファイルの作成元である位置履歴の１又は複数のソースの識別子（例えば、専用アプリケーションに関連するアカウント、携帯電話番号、又はユーザのプライバシーを強化するためにハッシュ値に変換できる他の何らかの値）とを含むことができる。
【００３２】
各ユーザプロファイル記録は、何らかの時間サイクル中（例えば、週若しくは月の一部、又は地理情報システム１８を参照して上述したようなその他の期間中）の異なる時点におけるユーザプロファイルの属性を示す複数のプロファイル時間記録を含むこともできる。場合によっては、プロファイル−時間記録は、上述した時間−タイル記録の期間と同じ期間に対応することができる。各プロファイル−時間記録は、記述される期間（例えば、木曜日の夕食時間又は土曜日の午前中）の表示、及びプロファイル−時間記録の対応する時間中に、対応するユーザが属性によって記述される活動を行う傾向を各々が示す複数のプロファイル属性記録を含むことができる。プロファイル−時間記録は、ユーザが所与の活動をいつ行う傾向にあるか（時刻、日にち又は週）の追跡を可能にすることができる。いくつかの実施形態では、プロファイル属性記録は、地理情報システム１８を参照して上述したものと同じ属性記録の組に対応する。各プロファイル−属性記録は、特徴となる属性（例えば、子供のサッカーの試合に付き添うこと、ファストカジュアルな食事施設でブランチをとること、両親の使い走りをすること、又は商店街でショッピングすること）の表示、及び対応する時間にユーザがその活動を行う傾向を示す、正規化した０〜１０の値などのスコアを含むことができる。属性記録は、新たなサンプルに重み付けするための、属性スコアの基になるサンプルの数を示すサンプルサイズ、及び異常値を識別するための、これらのサンプル間の変動測度（例えば、標準偏差）をさらに含むことができる。
【００３３】
以下で説明するように、ユーザプロファイル記録は、様々な目的で使用することができる。例えば、広告サーバ２２を運営する広告主は、上述したユーザのアカウント番号又は電話番号のハッシュ値などの、ユーザプロファイル記録の１つを識別するクエリをユーザプロファイルデータストア１４に提出することができ、ユーザプロファイルデータストア１４は、現時点の対応するユーザの属性で応答することができる。いくつかの実施形態では、ユーザのプライバシーをさらに強化するために、特定の属性に対応する広告を提供すべきかどうかを判断するために、その属性のためのクエリを提出することができ、又は属性スコアが閾値を上回るかどうかの２進表示をクエリによって要求することもできる。
【００３４】
別の例では、ユーザプロファイラ１２が、ユーザプロファイルデータストア１４を用いて地理情報システム１８内の記録を増強することができる。例えば、それぞれの属性について（例えば、閾値を上回る）比較的強いスコアを有するユーザが所与の時点に同時に存在する傾向にあるタイルを識別するインデックスを属性毎に作成することができる。これらのインデックスは、例えば、ゴルフに興味のあるユーザが、一日のうちの様々な時間中にどこに存在する傾向にあるかを示すヒートマップに対応することができ（ただし、視覚表示を作成する必要はない）、広告主は、この情報に基づいて広告を選択できるようになる。いくつかの実施形態では、地理情報システム１８の上述した時間区分の各々における各ユーザ属性のためのインデックスを作成することができ、これらのインデックスにクエリを行って、所与の属性又は属性の組み合わせを有するユーザが様々な時点においてどこに同時に存在する傾向にあるかに関連する比較的迅速な応答を提供することができる。これらのインデックスを予め計算しておくことにより、クエリを受け取った時に応答データを生成するよりも速くこのようなクエリに対して応答が行われると予想される。例えば、釣り及び銀行での仕事に関連するインデックスの例を使用すると、広告主は、週末に釣りに行く銀行員達が、月曜日の夕方の退社中に比較的頻繁に特定の１本の道路に沿って車を運転する傾向にあることを突き止め、これに応答して、この道沿いの広告看板上にバス釣りボートの広告を購入できると判断することができる。ソフトウェア及びサービスのカスタマイズ、並びに他の形の分析に関連する他の例については、以下でより詳細に説明する。
【００３５】
要約すれば、コンピュータ環境１０のいくつかの実施形態は、比較的ユーザのプライバシーに配慮したユーザプロファイルを作成し、プロファイルを作成するためにユーザ側又はその他の側で費やされる労力は比較的小さい。これらの利点は、各ユーザの一意の属性にカスタマイズした情報及びサービスを提供しようとする広告主及びその他が使用できる比較的高分解能のユーザプロファイルの比較的包括的な組をもたらし、プライバシーに対するユーザの関心を尊重しながら価値及び関連性の高い広告及びサービスをユーザに提示することを容易にすると予想される。とは言うものの、全ての実施形態がこれらの利点をもたらすわけではなく、実施形態によっては、時間、コスト及び機能に関連する様々な技術的トレードオフに起因して、これらの実施形態の一部又は全部を含まないものもある。
【００３６】
図２に、上述したユーザプロファイラ１２が実行できる処理３０の実施形態を示す。処理３０（及び本明細書で説明する他の処理）のステップは、これらのステップを説明する順序とは異なる順序で実行することもできる。いくつかの実施形態では、処理３０は、ブロック３２によって示すように、ユーザの位置履歴を取得するステップを含む。このステップは、上述した位置−履歴取得モジュール２４によって実行することができる。上述したように、位置履歴は、複数の異なる位置履歴プロバイダから取得することができ、後の処理で使用できるように共通フォーマットに再フォーマットすることができる。
【００３７】
この実施形態の処理３０は、ブロック３４によって示すように、位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップをさらに含む。このステップは、上述した位置−属性取得モジュール２６によって実行することができる。位置−属性スコアは、上述した時間−タイル記録に対応する複数のスコアのうちの１つとすることができる。
【００３８】
いくつかの実施形態では、位置履内で識別された位置が比較的少ない場合があり、これらの明確に識別された位置間の中間位置を推測することができる。例えば、ユーザプロファイラ１２は、２つの位置が閾値時間及び閾値距離よりも離れており、この中間の時間中にユーザがこれらの位置間を移動した可能性が高いことを示していると判断することができる。これに応答して、ユーザプロファイラ１２は、２つの位置間の州間ハイウェイに対応する位置などの移動に関連する位置を地理情報システム１８に問い合わせ、これらの州間ハイウェイ沿いの（又は他の何らかの移動方法に関連する）位置を、中間時点における位置履歴に推測位置として追加することができる。中間位置を推測することにより、ユーザのプロファイルをより包括的に特徴付けることができると予想される。
【００３９】
いくつかの実施形態では、処理３０は、ブロック３６によって示すように、位置属性スコアに基づいてユーザ−属性スコアを決定するステップをさらに含む。ユーザ−属性スコアを決定するステップは、ユーザプロファイル内の対応する属性のサンプルサイズを増分するステップと、更新された平均属性スコアを計算するステップとを含むことができる。平均は、ユーザ−属性スコアを決定するために使用できる様々な異なる形の中心傾向測度(measures)の１つである。他の実施形態では、ユーザが訪れた位置の以前の属性スコアをメモリに記憶することができ、新たに取得された位置−属性スコアとメモリに記憶されているスコアとを用いて中央スコア又はモードスコアを計算することができる。したがって、以前の位置履歴は、特定の活動を行う傾向が比較的低いことを示す可能性が高く、１回の事例による効果を薄める可能性が高いので、ユーザが特定の活動を行う１度だけの事例を示す偏差がユーザプロファイルに与える影響は比較的小さい傾向にある。
【００４０】
いくつかの実施形態では、処理３０が、ブロック３８によって示すように、ユーザプロファイルデータストアにユーザ−属性スコアを記憶するステップをさらに含む。上述したように、このステップは、地理情報システム内の様々な属性に対応するインデックスを更新するステップを含むことができ、ターゲティングしたメッセージ及びサービスを提供しようとする広告主又はその他は、記憶されているユーザプロファイルを問い合わせることができる。ターゲティングは、プロファイリングされた特定のユーザ、若しくはプロファイリングされたユーザが訪れる位置に向けることができ、又はプロファイリングされたユーザ間の属性スコアのパターンに基づくことができる。
【００４１】
図３に、ユーザプロファイル作成処理４０の別の実施形態を示す。この処理は、上述したユーザプロファイラ１２によって実行することができる。図示の処理は、ブロック４２によって示すように、ユーザデバイス上で実行されるアプリケーションからユーザデバイスの位置履歴を受け取るステップから開始する。次に、ブロック４４によって示すように、位置履歴内の位置間の中間位置を推測する。上述したように、いくつかの実施形態では、位置履歴の間隔を識別し、この間隔の境界間のタイルの属性に基づいて中間位置を推測し、例えば移動に関連する中間タイルを選択することができる。この実施形態では、処理４０が、ブロック４６によって示すように、位置履歴内にいずれかの未分析の位置が存在するかどうかを判定するステップを含む。このような位置が残っていないと判定すると、処理は完了する。或いは、分析すべき位置が残っていると判定すると、この実施形態の処理４０は、ブロック４８によって示すように、位置履歴内の次の位置のタイムスタンプに対応する時間ビンの識別を行う。この時間ビンは、上述したタイル又はユーザプロファイルを特徴付ける期間の１つとすることができる。対応する時間ビンは、使用位置のタイムスタンプが収まる時間ビンとすることができる。次に、この処理４０の実施形態は、ブロック５０によって示すように、その位置に対応するタイル及びその隣接タイルのタイル記録を地理情報システムに問い合わせるステップを含む。
【００４２】
いくつかの実施形態では、処理４０が、ブロック５２によって示すように、ユーザが隣接位置に存在する可能性があるかどうかを判定するステップをさらに含む。このような判定は、隣接タイルの属性、又は対象となるユーザ位置のタイムスタンプに対応するタイルの密度スコアに基づいて判定を行うステップを含むことができる。例えば、位置履歴内の位置の属性スコアが、この位置に対応するタイル内で行われたユーザ活動が閾値量未満である（例えば、タイル内の人々の数を示す密度値が閾値未満である）ことを示すのに対し、隣接タイルのうちの１つの属性スコアが、１又はそれ以上の属性の活動の密度又は量が比較的高い（例えば、閾値を上回る又は隣接タイルとの閾値差分を上回る）ことを示す場合がある。この差分に応答して、（例えば、ＧＰＳの不正確な読み取りに起因して）位置履歴内の位置が誤っており、この隣接位置をより可能性の高いユーザの位置として選択できると判断することができる。いくつかの実施形態は、例えば、属性スコアの密度又は集計が最も高い隣接位置を選択することができる。したがって、いくつかの実施形態では、ブロック５４によって示すように、この隣接位置をユーザ位置として指定することができ、又はいくつかの実施形態では、ブロック５２で否定的な判定が行われたことに応答して、このような指定を行わずに次のステップに進むことができる。
【００４３】
実施形態は、ブロック５６によって示すように、隣接タイルの位置−属性スコアが類似しているかどうかを判定するステップをさらに含むことができる。モバイルデバイスによる位置測定は不正確なことが多いので、識別された位置にユーザが存在せず、代わりに隣接タイル内に存在するというリスクが若干ある。しかしながら、隣接タイルの属性スコアが類似している場合、これらの属性は、位置履歴内の位置によって識別された正確なタイル内にユーザが存在するかどうかに関わらず、比較的高い信頼度でユーザに起因することができる。したがって、いくつかの実施形態では、（ユーザ位置の対象となる時点において）隣接タイルが類似する位置属性スコアを有しているかどうかを、例えば閾値数を上回る属性について閾値差分未満の属性スコアを有しているかどうかを判定することができる。他の実施形態では、隣接タイルの類似性に基づいて信頼スコアを計算し、この信頼スコアに基づいてユーザプロファイルの修正に重み付けし、隣接タイルが互いに比較的異なっている場合には信号に低い重み付けを行うか、又は図３に示すようにバイナリ判定を行うことができる。隣接タイルの位置−属性スコアが類似していないと判定すると、いくつかの実施形態はブロック４６に戻る。そうでなければ、処理は次のステップに進むことができる。
【００４４】
処理４０のいくつかの実施形態は、ブロック５８によって示すように、ユーザの位置−属性スコアが異常値であるかどうかを判定するステップを含むことができる。このステップは、ユーザの位置の各位置属性スコアを反復処理し、対象となる時点における属性スコアをユーザプロファイル内の対応する属性スコアと比較して、誤解を生じる可能性のある信号を示す非特徴的な活動を識別するステップを含むことができる。いくつかの実施形態では、位置属性スコアが平均からの閾値差分を超えたことに応答して、例えば位置属性スコアが、ユーザプロファイル内の所与の属性の平均属性スコアよりも３標準偏差を超えて高い又は低いことに応答して、属性を異常値として指定することができる。いくつかの実施形態では、複数の位置属性の各々についてステップ５８の判定が行われ、これらの異常値と見なされる属性をフィルタ処理してから次のステップに進むことができ、又は、いくつかの実施形態は、異常値の検出に応答してステップ４６に戻ることができる。いくつかの実装では、取得した位置履歴内の不正確な信号を検出するために類似性モデルを使用することができる。実施形態は、プロファイルの進展を妨げないように、このようなモデルを用いて疑わしい位置の読み取りをフィルタ除去することができる。例えば、プロファイル分析中に、位置履歴内のエントリに関するメタデータ（例えば、発行者、時刻、位置、ＯＳ、デバイスタイプ、位置特定方法（例えば、ＧＰＳ対ＷｉＦｉ（商標）又はその他の無線ネットワーク））を含むクエリを提出することによってＧＩＳと同様の信頼性データベースを参照することができる。信頼性データベースは、到来する位置の予測精度レベルを示す応答を提供することができる。信頼性データベースは、信頼できることが分かっているソースからのデータを記憶することができ、このデータは、ある位置における予想活動レベルを示すことができる。特定のデータセットがこのデータから著しく逸脱する（例えば、あるタイルの属性スコアが、信頼性データベース内の属性スコアから閾値量を上回って異なる）場合、ユーザプロファイラは、これに応答して位置履歴に精度が低い可能性がある旨のフラグを立て、このようなフラグに基づいてこのデータを破棄するか、又はユーザプロファイルの変更に低く重み付けすることができる。
【００４５】
位置−属性スコアが異常値でないと判断すると、処理４０はステップ６０に進み、この位置−属性スコアに基づいて平均ユーザ−属性スコアを更新する。ユーザ−属性スコアを更新するステップは、ステップ５８においてフィルタ除去されなかった複数の位置−属性スコアに基づいて複数のユーザ−属性スコアの各々を更新するステップを含むことができる。ユーザ−属性スコアを更新するステップは、現在のスコアにこのスコアの基になる測定カウントを乗じ、結果として得られる積に位置−属性スコアを加算し、この和をカウント＋１で除算して新たな平均ユーザ−属性スコアを計算するステップを含むことができる。この値及び増分した形のカウントは、ユーザプロファイル内の対応する属性記録に記憶することができる。
【００４６】
処理４０は、各々が異なるユーザプロファイルに対応する比較的多くの位置履歴の各々について反復することができる。処理４０は、例えば毎晩、毎週又は毎月定期的に反復してユーザプロファイルを更新し、新たなユーザプロファイルをインスタンス化することができる。結果として得られるユーザプロファイルは、上述したユーザプロファイルデータストア１４に記憶することができる。
【００４７】
場合によっては、ユーザプロファイルを更新した後に、地理情報システム１８に対する特定のクエリを迅速に処理するように様々なインデックスを形成することができる。例えば、いくつかの実施形態では、タイル記録又はユーザプロファイル記録内にスコアが保持された各属性に合わせたインデックスを形成することができる。例えば、実施形態は、（例えば、各タイルの密度スコアに属性スコアを乗じ、結果として得られる積を閾値化することにより）上述した時間ビンの１つの最中に所与の属性について閾値を上回るスコアを有するユーザが同時に存在する各タイルを識別するインデックスを計算することができる。このインデックスを用いて、所与の時点における所与の地理的地域が所与の属性に相関付けられており、この属性によって記述される活動を示す人口密度が高いかどうかを比較的素早く判断することができる。さらに、いくつかの実施形態では、このようなインデックスを用いて、一群の属性が比較的強い地理的地域を識別することができ、例えば、複数の異なる属性の各々に対応する値の組の結合を特定して、日曜日の昼下がりにゴルフ、釣り及び旅行に関連するユーザが比較的多く集中しているのはどこであるかを識別することができる。
【００４８】
処理４０の実施形態は、計算を素早く行うために複数のコンピューティングデバイス上で同時に実行することができる。例えば、マスタコンピューティングデバイスがユーザデバイス識別子のリストを反復し、各々が異なるユーザの対応するプロファイルを同時に判断する複数のプロファイリングコンピューティングデバイスの各々にプロファイリングタスクを割り当てることができる。同様の手法を用いて、インデックスの形成を並行処理することもできる。例えば、異なるコンピューティングデバイスの組に各属性を割り当て、このコンピューティングデバイスの組が、属性が（例えば、閾値活動量を上回る）一定の基準を有する地域を識別する一方で、他のコンピューティングデバイスの組が、異なる属性について同じタスクを実行することもできる。全ての実施形態が並行動作を可能にするわけではないが、このような並行動作は、並行動作を行わない場合よりも速いプロファイル及びインデックスの計算を容易にすると予想される。
【００４９】
他の並行処理の使用では、データ検索を素早く行うことができる。例えば、各ユーザイベント（例えば、特定のユーザが特定の時間ウィンドウ中にタイル内に存在すること）の数は非常に大きなものになる可能性があるので、このようなイベント毎にＧＩＳにクエリを行うと、比較的低速になることがある。ＧＩＳからの検索を素早く行うために、いくつかの実施形態では、イベントをグループ化してクエリを減少させることができる。このような実施形態は、他の複数のコンピューティングデバイス（例えば、仮想又はフィジカルコンピューティングインスタンス）の１つに各タイルをマッピングし、かつこれらのデバイスに、それぞれの割り当てられた１又は複数のタイル内で発生するイベントに関するデータをＧＩＳから収集するように（例えば、データセンター内のローカルエリアネットワークを介して）命令するマスタコンピューティングデバイス（例えば、仮想又はフィジカルコンピューティングインスタンス）を含むことができる。これに応答して、他のコンピューティングデバイスの各々は、取得した位置履歴からそれぞれのタイル内で発生するユーザイベントをフィルタ処理し、割り当てられたタイル内で発生するイベントのイベントグループを形成し、（例えば、ユーザがタイル内に存在していた時の）グループ内のユーザイベントに対応する関連する期間中におけるタイルの属性を求める１又はそれ以上のクエリをＧＩＳに提出することができる。他のコンピューティングデバイスは、応答データを取り出した後、イベントグループ内のユーザイベントを有する各ユーザを反復し、各ユーザの応答ＧＩＳデータを対応するユーザプロファイルと結合することができる。したがって、複数のユーザイベントのための関連データを単一のクエリ、又は対象期間ごとに１つのクエリで取り出すことができ、これによってＧＩＳに対するクエリ数を減少させ、ユーザ履歴の分析を素早く行うことができる。さらに、異なるタイルの分析を複数のコンピューティングデバイスにわたって並行処理すると、このような分析がさらに素早く行われると予想される。
【００５０】
さらに、異なるコンピューティングデバイスに異なるタイルを割り当てる上記の並行動作の例では、他のコンピューティングデバイスの各々が、タイルを通過するユーザのユーザプロファイルをメモリ内に保持する。例えば、特定の時点のタイルに対応するユーザプロファイルの数をカウントし、閾値を上回る属性スコアなどの特定の属性を有することにより、このユーザプロファイルデータを集計して、特定の時間ウィンドウにおけるタイルのカウントを計算又は更新することができる。この場合も、並行動作によって素早く分析が行われると予想され、ユーザプロファイルを更新するために、それぞれのタイルに対応するユーザプロファイルデータがメモリ内に存在している間にこのデータを集計すると、ユーザプロファイルデータストアに対する呼び出しが減少し、分析が加速すると予想される。
【００５１】
いくつかの実施形態では、所与のユーザの異なる属性が異なるコンピューティングデバイスによって同時に分析されるとともに、異なるユーザが異なるコンピューティングデバイスによって同時に分析されるように（例えば、ユーザＡ、属性Ｘがデバイス１に、ユーザＡ、属性Ｙがデバイス２に、ユーザＢ、属性Ｘがデバイス３に、などのようにマッピングされるように）、ユーザプロファイルと属性の組み合わせに従ってユーザプロファイルの分析が並行処理される。この場合も、マスタコンピューティングデバイスが、プロファイル−属性の対を他の複数のコンピューティングデバイスの各々にマッピングし、これらのデバイスに、これらのユーザのデータを有する全てのタイルにわたってこれらのユーザのこれらの属性のカウントを合計するように（例えば、データセンター内のローカルエリアネットワークを介して）命令することができる。例えば、上記の技術を用いて、異なるタイルにマッピングされた異なるコンピューティングデバイスによって同時に複数のタイルの各々を分析し、その後、本段落の技術を用いて、例えば、タイルを分析するデバイスに、所与のユーザ及び属性に関するデータを問い合わせてその応答を合計（又は集計）することにより、このデータをタイルにわたってユーザプロファイル／属性の対毎に集計することができる。この場合も、この技術は比較的高速の並行動作をもたらして、そうでなければ分析速度を遅くしたかもしれないデータストアに対する呼び出しを減少させると予想される。
【００５２】
上述の処理及びシステムによって得られるユーザプロファイルは、様々な状況で使用することができる。例えば、上述したように、これらのユーザプロファイルに基づいて広告を選択することができる。別の例では、これらのユーザプロファイルを用いて、例えば特定の時点における企業の位置の各々におけるいずれの属性スコアが比較的高く、この企業の顧客を特徴付けているかを識別することにより、市場調査を行うことができる。別の例では、このユーザプロファイルを用いて、例えば子供がいると分かっているユーザに対し、子供がいない可能性が高いことを示す属性スコアを有するユーザに提示するルック・アンド・フィール又は動作とは異なる形でアプリケーションを構成することにより、ユーザが操作するソフトウェアのルック・アンド・フィール又は動作をカスタマイズすることができる。
【００５３】
したがって、上述の処理は、自動的に、比較的低い支出で、かつプライバシーに配慮した形でユーザプロファイルをもたらすことができる。ユーザが訪れた地理的位置の属性をユーザのプロファイルに関連付け、その地理的位置の時刻を考慮することは、１日の異なる時間中における人々の異なる挙動面を考慮した比較的正確なユーザプロファイルをもたらすと予想される。さらに、中間位置を推測することは、比較的解析精度の高いユーザの特徴付けをもたらすと予想され、ユーザが隣接位置に存在するかどうか、隣接位置が一貫性のある属性を有しているかどうか、及びそのユーザにとって所与の位置の属性が異常値であるかどうかを判定することは、ユーザプロファイルの質をさらに高めると予想される。しかしながら、全ての実施形態がこれらの利点をもたらすわけではない。
【００５４】
図４は、本技術の実施形態による例示的なコンピュータシステム１０００を示す図である。本明細書で説明するシステム及び方法の様々な部分は、コンピュータシステム１０００と同様の１又はそれ以上のコンピュータシステムを含むことができ、又はこれらのコンピュータシステム上で実行することができる。さらに、本明細書で説明する処理及びモジュールは、コンピュータシステム１０００の処理システムと同様の１又はそれ以上の処理システムによって実行することができる。
【００５５】
コンピュータシステム１０００は、システムメモリ１０２０、入出力Ｉ／Ｏデバイスインターフェイス１０３０及びネットワークインターフェイス１０４０に入出力（Ｉ／Ｏ）インターフェイス１０５０を介して結合された１又はそれ以上のプロセッサ（例えば、プロセッサ１０１０ａ〜１０１０ｎ）を含むことができる。プロセッサは、単一のプロセッサ又は複数のプロセッサ（例えば、分散プロセッサ）を含むことができる。プロセッサは、命令を実行又は別様に実施できるいずれかの好適なプロセッサとすることができる。プロセッサは、コンピュータシステム１０００の算術演算、論理演算及び入出力演算を行うためのプログラム命令を実行する中央処理装置（ＣＰＵ）を含むことができる。プロセッサは、プログラム命令の実行環境を形成するコード（例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はこれらの組み合わせ）を実行することができる。プロセッサは、プログラムマブルプロセッサを含むことができる。プロセッサは、汎用又は専用マイクロプロセッサを含むことができる。プロセッサは、メモリ（例えば、システムメモリ１０２０）から命令及びデータを受け取ることができる。コンピュータシステム１０００は、１つのプロセッサ（例えば、プロセッサ１０１０ａ）を含むユニプロセッサシステム、又はあらゆる数の好適なプロセッサ（例えば、１０１０ａ〜１０１０ｎ）を含むマルチプロセッサシステムとすることができる。複数のプロセッサを用いて、本明細書で説明した技術の１又はそれ以上の部分の並行又は連続実行を可能にすることができる。本明細書で説明した論理フローなどの処理は、入力データに対して作用し、対応する出力を生成することによって機能を実行するように１又はそれ以上のコンピュータプログラムを実行する１又はそれ以上のプログラマブルプロセッサによって行うことができる。本明細書で説明した処理は、ＦＰＧＡ（フィールド・プログラマブル・ゲート・アレイ）又はＡＳＩＣ（特定用途向け集積回路）などの専用論理回路によって実行することができ、装置を専用論理回路として実装することもできる。コンピュータシステム１０００は、様々な処理機能を実施するために複数のコンピューティングデバイス（例えば、分散コンピュータシステム）を含むことができる。
【００５６】
Ｉ／Ｏデバイスインターフェイス１０３０は、１又はそれ以上のＩ／Ｏデバイス１０６０をコンピュータシステム１０００に接続するためのインターフェイスを提供することができる。Ｉ／Ｏデバイスは、（例えば、ユーザから）入力を受け取り、又は（例えば、ユーザに）情報を出力するデバイスを含むことができる。Ｉ／Ｏデバイス１０６０は、例えば、ディスプレイ（例えば、ブラウン管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）モニタ）上に表示されるグラフィカルユーザインターフェイス、ポインティングデバイス（例えば、コンピュータマウス又はトラックボール）、キーボード、キーパッド、タッチパッド、スキャン装置、音声認識装置、ジェスチャ認識装置、プリンタ、オーディオスピーカ、マイク又はカメラなどを含むことができる。Ｉ／Ｏデバイス１０６０は、有線又は無線接続を通じてコンピュータシステム１０００に接続することができる。Ｉ／Ｏデバイス１０６０は、遠隔位置からコンピュータシステム１０００に接続することもできる。リモートコンピュータシステム上に存在するＩ／Ｏデバイス１０６０は、例えば、ネットワーク及びネットワークインターフェイス１０４０を介してコンピュータシステム１０００に接続することができる。
【００５７】
ネットワークインターフェイス１０４０は、コンピュータシステム１０００をネットワークに接続するネットワークアダプタを含むことができる。ネットワークインターフェイス１０４０は、コンピュータシステム１０００と、ネットワークに接続された他のデバイスとの間のデータ交換を容易にすることができる。ネットワークインターフェイス１０４０は、有線又は無線接続をサポートすることができる。ネットワークは、インターネット、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）又はセルラー通信ネットワークなどの電子通信ネットワークを含むことができる。
【００５８】
システムメモリ１０２０は、プログラム命令１１００又はデータ１１１０を記憶するように構成することができる。プログラム命令１１００は、本技術の１又はそれ以上の実施形態を実装するようにプロセッサ（例えば、プロセッサ１０１０ａ〜１０１０ｎ）によって実行することができる。命令１１００は、本明細書で説明した１又はそれ以上の技術を様々な処理モジュールに関して実装するためのコンピュータプログラム命令のモジュールを含むことができる。プログラム命令は、（形態によっては、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト又はコードとして知られている）コンピュータプログラムを含むことができる。コンピュータプログラムは、コンパイラ型若しくはインタプリタ型言語、又は宣言型若しくはプロシージャ型言語を含むあらゆる形のプログラミング言語で記述することができる。コンピュータプログラムは、スタンドアロンプログラム、モジュール、コンポーネント、サブルーチンの形を含む、コンピューティング環境で使用するのに適したユニットを含むことができる。コンピュータプログラムは、ファイルシステム内のファイルに対応することも、又はしないこともある。プログラムは、他のプログラム又はデータを保持するファイルの一部（マークアップ言語文書に記憶された１又はそれ以上のスクリプト）、対象のプログラムに特化した単一のファイル、又は複数の協調ファイル（例えば、１又はそれ以上のモジュール、サブプログラム又はコードの一部を記憶するファイル）に記憶することができる。コンピュータプログラムは、１箇所にローカルに配置された、又は複数の離れた場所に分散され通信ネットワークによって相互接続された１又はそれ以上のコンピュータプロセッサ上で実行されるように展開することができる。
【００５９】
システムメモリ１０２０は、プログラム命令を記憶する有形のプログラムキャリアを含むことができる。有形のプログラムキャリアは、非一時的コンピュータ可読記憶媒体を含むことができる。非一時的コンピュータ可読記憶媒体は、機械可読記憶装置、機械可読記憶回路、メモリ素子(memory device)、又はこれらのいずれかの組み合わせを含むことができる。非一時的コンピュータ可読記憶媒体は、不揮発性メモリ（例えば、フラッシュメモリ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭメモリ）、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、同期型ダイナミックＲＡＭ（ＳＤＲＡＭ））又は大容量記憶メモリ（例えば、ＣＤ−ＲＯＭ、及び／又はＤＶＤ−ＲＯＭ、ハードドライブ）などを含むこともできる。システムメモリ１０２０は、本明細書で説明した主題及び機能作用を引き起こすようにコンピュータプロセッサ（例えば、プロセッサ１０１０ａ〜１０１０ｎのうちの１つ又はそれ以上）によって実行可能なプログラム命令を記憶する非一時的コンピュータ可読記憶媒体を含むことができる。メモリ（例えば、システムメモリ１０２０）は、単一のメモリ素子及び／又は複数のメモリ素子（例えば、分散メモリ素子）を含むことができる。いくつかの実施形態では、搬送波、又はパケットストリームを搬送するデジタル信号などの伝播信号によってプログラムを搬送することができる。
【００６０】
Ｉ／Ｏインターフェイス１０５０は、プロセッサ１０１０ａ〜１０１０ｎ、システムメモリ１０２０、ネットワークインターフェイス１０４０、Ｉ／Ｏデバイス１０６０及び／又はその他の周辺デバイス間のＩ／Ｏトラフィックを調整するように構成することができる。Ｉ／Ｏインターフェイス１０５０は、プロトコル変換、タイミング変換又はその他のデータ変換を行って、１つの構成要素（例えば、システムメモリ１０２０）からのデータ信号を、別の構成要素（例えば、プロセッサ１０１０ａ〜１０１０ｎ）による使用に適したフォーマットに変換することができる。Ｉ／Ｏインターフェイス１０５０は、周辺構成要素相互接続（ＰＣＩ）バス規格又はユニバーサルシリアルバス（ＵＳＢ）規格の変形例などの様々なタイプの周辺バスを通じて結合されたデバイスのサポートを含むことができる。
【００６１】
本明細書で説明した技術の実施形態は、単一のコンピュータシステム１０００の例を用いて、又は実施形態の異なる部分又は例をホストするように構成された複数のコンピュータシステム１０００を用いて実装することができる。複数のコンピュータシステム１０００は、本明細書で説明した技術の１又はそれ以上の部分の並行又は連続処理／実行を可能にすることができる。
【００６２】
当業者であれば、コンピュータシステム１０００は例示にすぎず、本明細書で説明した技術の範囲を限定するものではないと理解するであろう。コンピュータシステム１０００は、本明細書で説明した技術を実行することができる、又は別様に実行を可能にすることができるデバイス又はソフトウェアのあらゆる組み合わせを含むことができる。例えば、コンピュータシステム１０００は、クラウドコンピューティングシステム、データセンター、サーバラック、サーバ、仮想サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ装置、クライアント装置、携帯電話機、携帯情報端末（ＰＤＡ）、モバイルオーディオ又はビデオプレーヤ、ゲーム機、車載コンピュータ又は全地球測位システム（ＧＰＳ）などを含むことができ、又はこれらの組み合わせとすることができる。コンピュータシステム１０００は、図示していない他のデバイスに接続することも、或いはスタンドアロン型システムとして機能することもできる。また、いくつかの実施形態では、図示の構成要素によって提供される機能を少ない構成要素で組み合わせることも、又は追加の構成要素で分散させることもできる。同様に、いくつかの実施形態では、図示の構成要素のいくつかの機能を提供しなくてもよく、又は他の追加機能を利用可能にすることもできる。
【００６３】
また、当業者であれば、使用時にはメモリ又はストレージに様々なアイテムが記憶されると説明しているが、メモリ管理及びデータ整合性の目的で、これらのアイテム又はアイテムの一部をメモリと他の記憶装置との間で転送することもできると理解するであろう。或いは、他の実施形態では、ソフトウェア構成要素の一部又は全部を別の装置のメモリ内で実行し、コンピュータ間通信を介して図示のコンピュータシステムと通信することができる。システム構成要素又はデータ構造の一部又は全部をコンピュータアクセス可能媒体又はポータブル物品に（例えば、命令又は構造化データとして）記憶し、上記で様々な例を説明した適当なドライブによって取り出されるようにすることもできる。いくつかの実施形態では、コンピュータシステム１０００とは別個のコンピュータアクセス可能媒体に記憶された命令を、ネットワーク又は無線リンクなどの通信媒体を介して搬送される電気信号、電磁信号又はデジタル信号などの伝送媒体又は信号を介してコンピュータシステム１０００に送信することができる。様々な実施形態は、コンピュータアクセス可能媒体に関する上記説明に従って実装された命令又はデータを受信、送信又は記憶するステップをさらに含むことができる。したがって、本発明は、他のコンピュータシステム構成を用いて実施することもできる。
【００６４】
説明及び図面は、開示する特定の形に本発明を限定するものではなく、むしろ本発明は、添付の特許請求の範囲によって定義される本発明の思想及び範囲に含まれる全ての修正物、同等物及び代替物をカバーすると理解されたい。当業者には、本説明に照らして本発明の様々な態様のさらなる修正及び代替実施形態が明らかであろう。したがって、本説明及び図面は、ほんの例示として解釈すべきであり、当業者に本発明を実施する一般的な方法を教授するためのものである。本明細書で図示し説明した本発明の形態は、実施形態の一例として見なすべきであると理解されたい。本明細書で図示し説明した要素及び材料の代わりに様々な要素及び材料を使用することもでき、部品及び処理は逆転又は省略することもでき、本発明のいくつかの特徴を単独で利用することもでき、当業者には、本発明の説明から恩恵を得た後にこれらの全てが明らかになるであろう。本明細書で説明した要素には、以下の特許請求の範囲に示す本発明の思想及び範囲から逸脱することなく変更を行うことができる。本明細書で使用している表題は、構成を目的とするものにすぎず、本説明の範囲を限定するために使用するものではない。
【００６５】
本出願を通じて使用する「ｍａｙ（〜できる）」という用語は、強制的な意味（すなわち、〜しなければならない（ｍｕｓｔ）の意味）ではなく、許容的な意味（すなわち、可能性があると（ｈａｖｉｎｇ  ｔｈｅ  ｐｏｔｅｎｔｉａｌ  ｔｏ）いう意味）で使用している。「含む（ｉｎｃｌｕｄｅ、ｉｎｃｌｕｄｉｎｇ及びｉｎｃｌｕｄｅｓなど）」という用語は、含むけれども限定されないこと（ｉｎｃｌｕｄｉｎｇ，  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）を意味する。本出願を通じて使用する「ａ」、「ａｎ」及び「ｔｈｅ」という単数形は、文脈において別途明確に示していない限り複数の指示物を含む。したがって、例えば、「ａｎ  ｅｌｅｍｅｎｔ」又は「ａ  ｅｌｅｍｅｎｔ」という言及は、「１又はそれ以上の」などの１又はそれ以上の要素を表す他の用語及び語句が使用されていたとしても、２又はそれ以上の要素の組み合わせを含む。「ｏｒ」という用語は、別途指示していない限り非排他的であり、すなわち「ａｎｄ（及び）」及び「ｏｒ（又は）」の両方を含む。例えば、「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  Ｘ，  Ｙ（Ｘに応答してＹ）」、「ｕｐｏｎ  Ｘ，  Ｙ（Ｘの時にＹ）」、「ｉｆ  Ｘ，  Ｙ（Ｘの場合にＹ）」及び「ｗｈｅｎ  Ｘ，  Ｙ（Ｘの時にＹ）」などの条件関係を記述する用語は、前件が必要な因果的条件である因果関係、前件が十分な因果的条件である因果関係、又は前件が結果に寄与する因果的条件である因果関係を含み、例えば、「Ｙが〜を取得したという条件で状態Ｘが生じる」は、「Ｙの時にのみＸが生じる」及び「ＹかつＺの時にＸが生じる」の汎用表現である。このような条件関係は、結果によっては遅れて生じることもあるので、前件が得られた直後に生じる結果に限定されず、条件文では前件がその結果に関連し、例えば前件は結果の発生確率に関連する。さらに、別途指示していない限り、１つの値又は行為が別の条件又は値に「基づく」という記述は、条件又は値が唯一の要因である場合と、条件又は値が複数の要因のうちの１つである場合の両方を含む。別途明確に示していない限り、説明から明らかな場合、本明細書を通じて「ｐｒｏｃｅｓｓｉｎｇ（処理する）」「ｃｏｍｐｕｔｉｎｇ（算出する）」「ｃａｌｃｕｌａｔｉｎｇ（計算する）」又は「ｄｅｔｅｒｍｉｎｉｎｇ（求める）」などの用語を利用した説明は、専用コンピュータ又は同様の専用電子処理／計算装置などの特定の装置の動作又は処理を意味すると理解されたい。本明細書の文脈において、専用コンピュータ又は同様の専用電子処理又は計算装置は、例えば、これらの専用コンピュータ又は同様の専用処理又は計算装置のメモリ、レジスタ又はその他の情報記憶装置、送信装置又はディスプレイ装置内の、物理的電子量、光学量又は磁気量として表される信号などの信号を操作又は変換することができる。
【００６６】
以下に列挙する実施形態を参照すれば、実施例がより良く理解されるであろう。
１．モバイルコンピューティングデバイスのユーザをプロファイリングする方法であって、
ユーザのモバイルコンピューティングデバイスからの信号に基づく、ユーザの位置履歴を取得するステップと、
位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップと、
コンピュータを用いて、位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、
ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップと、
を含む方法。
２．ユーザの位置履歴を取得するステップは、
ハンドヘルドコンピューティングデバイスの無線環境に基づいて特定された地理的位置（ジオロケーション）と、その地理的位置にユーザが存在していた時間との複数の対を取得するステップを含み、
位置の位置−属性スコアを取得するステップは、
位置履歴内の位置を、地理情報システム（ＧＩＳ）によって記述された地理的地域の量子化であって当該位置を含むＧＩＳ内のタイルにマッピングするステップと、
タイルのタイル−属性スコアのリストをＧＩＳから取り出すステップと、
を含み、タイル−属性スコアの各々は、ユーザがタイル内に存在している間のユーザの潜在的な活動と、ユーザがその活動を行う統計的可能性とを、他のユーザがタイルに存在している間の他のユーザの挙動に基づいて記述し、
ユーザ−属性スコアを決定するステップは、
取り出した属性スコアのリスト内のタイル−属性スコア毎に、ユーザの以前の位置に対応するタイルのスコアに基づいて、ユーザのそれぞれの属性のスコア平均を更新するステップを含み、
ユーザ−属性スコアを記憶するステップは、
更新された各属性の平均を、ユーザプロファイルデータストア内のユーザのプロファイルに記憶するステップを含み、ユーザプロファイルデータストアは、ユーザの属性を求める要求を広告主から受け取り、対応するユーザプロファイルからユーザの属性を取り出し、対応するユーザの属性を広告主に対して識別して、対応するユーザのための広告を広告主が選択するのを支援する、
実施形態１に記載の方法。
３．ユーザ−属性スコアを決定するステップは、ユーザプロファイルを複数の時間ビンに分割したユーザプロファイル時間ビンにわたるユーザ−属性スコアを決定するステップを含み、ユーザプロファイルの異なる時間ビンでは、同じ属性が、所与の時間ビン内の時間中にユーザが属性によって記述された活動を行う傾向に対応する異なる値を有する、
実施形態１〜２のいずれかに記載の方法。
４．ユーザ−属性スコアを決定するステップは、
複数の時間ビンを有するユーザプロファイルのうちの、ユーザが位置に存在していた時間に対応する時間ビンを識別するステップと、
識別された時間ビンに対応するユーザ−属性スコアを決定するステップと、
を含む実施形態１〜３のいずれかに記載の方法。
５．位置−属性スコアを取得するステップは、
ＧＩＳ内の記録の時間ビンを識別するステップであって、記録は位置に対応し、時間ビンはユーザが位置に存在していた時間に対応する、時間ビンを識別するステップと、
位置の識別された時間ビンの属性スコアに基づいてユーザ−属性スコアを決定するステップと、
を含む実施形態１〜４のいずれかに記載の方法。
６．位置−属性スコアは、位置に関する時間ビン固有のスコアであり、ユーザ−属性スコアは、位置履歴に基づく、ユーザに関する時間ビン固有のスコアである、
実施形態１〜５のいずれかに記載の方法。
７．各ユーザは、各々が１週間内の異なる期間に対応する複数の属性スコアに関連付けられる、
実施形態１〜６のいずれかに記載の方法。
８．位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップは、位置履歴内で識別された位置を含む地理的地域を定める、ＧＩＳ内の第１のタイルを識別するステップを含む、
実施形態１〜７のいずれかに記載の方法。
９．タイルを識別するステップは、第１のタイルに隣接する第２のタイル内にユーザが存在することを、第１のタイル及び第２のタイルの両方の属性スコアに基づいて特定するステップを含む、
実施形態１〜８のいずれかに記載の方法。
１０．位置の位置−属性スコアを取得するステップは、
初期時点におけるユーザの初期位置を取得するステップと、
初期時点の１分よりも後の時点である後続時点におけるユーザの後続位置を取得するステップと、
初期位置と後続位置の間の位置属性に基づいて、中間時点におけるユーザの中間位置を推測するステップと、
中間位置の位置−属性スコアを取得するステップと、
を含む実施形態１〜９のいずれかに記載の方法。
１１．中間位置は、ユーザが中間位置に存在していた可能性を示す信頼スコアに関連し、ユーザ属性スコアは、信頼スコアを用いて位置−属性スコアに重み付けすることによって計算される、
実施形態１０に記載の方法。
１２．位置−属性スコアに基づいてユーザ−属性スコアを決定するステップは、ユーザの以前の位置からの位置−属性スコアと属性スコアとを用いて中心傾向の測度を計算するステップを含む、
実施形態１〜１１のいずれかに記載の方法。
１３．位置−属性スコアに基づいてユーザ−属性スコアを決定するステップは、
位置−属性スコアが、ユーザの以前の位置からの属性スコアに対して異常値ではないと判定するステップと、
これに応答して、ユーザの以前の位置からの位置−属性スコアと属性スコアの平均を計算するステップと、
を含む実施形態１〜１２のいずれかに記載の方法。
１４．位置−属性スコアに基づいて、ユーザ−属性スコアを決定するステップは、
隣接する位置が、位置−属性スコアと一致する属性スコアを有していると判定するステップと、
これに応答して、位置−属性スコアに基づいてユーザ−属性スコアを計算するステップと、
を含む実施形態１〜１３のいずれかに記載の方法。
１５．隣接する位置が、位置−属性スコアと一致する属性スコアを有していると判定するステップは、閾値量を上回る隣接タイルが、位置−属性スコアとの閾値差分内の属性スコアを有していると判定するステップを含む、
実施形態１４に記載の方法。
１６．複数のユーザの位置履歴及び位置履歴によって識別された位置属性に基づいて、複数のユーザの複数の属性を表すユーザ−属性スコアを決定するステップと、
ユーザ−属性スコアを、ユーザプロファイルデータストア内の複数の対応するユーザプロファイルに記憶するステップと、
を含む実施形態１〜１５のいずれかに記載の方法。
１７．位置履歴は、地理的位置（ジオロケーション）記録のリストを含み、各地理的位置記録は、緯度及び経度として表される地理的座標と、モバイルコンピューティングデバイスがそれぞれの座標に存在していた時刻とを含み、位置識別サービスにアクセスできるエンドユーザのポータブルデバイスによって取得され、
位置−属性スコアを取得するステップは、
位置履歴内で識別された位置間の位置を推測するステップと、
識別又は推測された位置毎に、ＧＩＳからそれぞれのタイル記録を取り出すステップと、
を含み、このタイル記録は、それぞれの位置が配置されたタイル及び隣接タイルに対応し、各タイル記録は、１００平方メートル〜１００，０００平方メートルの地理的地域に対応するとともに、１又はそれ以上の位置−属性スコアに関連し、各位置−属性スコアは、広告主にとって関心のある活動、及び複数の時間ビンの各々の最中にユーザがタイル内でそれぞれの活動を行う可能性を示す順序値に対応し、時間ビンは、平日の朝のビン、平日のランチタイムのビン、及び週末の夜のビンを含む１週間のうちの異なるサブセットを定め、属性は、ユーザが仕事中であること、ユーザがスポーツ活動中であること、ユーザがショッピング中であること、ユーザが旅行中であることを含み、
ユーザ−属性スコアを決定するステップは、
ユーザが位置に存在していた時間ビンのタイル記録の位置属性スコアが、隣接タイル間で一致していると判断するステップと、
これに応答して、位置−属性スコアに対応する複数のユーザ−属性スコアを決定するステップと、
を含み、それぞれのユーザ−属性スコアは、ユーザがその位置に存在していた時間を含む時間ビンの対応する位置−属性スコアと、他の位置からの属性の以前のスコアとの平均であり、
ユーザ−属性スコアを記憶するステップは、
平均化されたユーザ−属性スコアを、ユーザプロファイルデータストア内のユーザプロファイルに記憶するステップを含み、
ユーザプロファイルは、有形の非一時的機械可読媒体上に記憶され、ユーザプロファイルデータストアは、広告の選択に関連するデータを求める広告主からのクエリに応答する、
実施形態１〜１６のいずれかに記載の方法。
１８．ユーザに関するデータを求める、ユーザ識別子を含む要求を広告主から受け取るステップと、
広告主がユーザプロファイルデータストアにアクセスする権限を有していると判断するステップと、
ユーザ識別子に対応するユーザプロファイルから、対応するユーザの１又はそれ以上の属性を取り出すステップと、
１又はそれ以上の属性を示すデータを広告主に送信するステップと、
を含む実施形態１〜７のいずれかに記載の方法。
１９．企業に対応する複数の位置の各々に存在するユーザのユーザプロファイルを取得するステップと、
企業を特徴付けるユーザプロファイルの属性を集計するステップと、
を含む実施形態１〜１８のいずれかに記載の方法。
２０．アプリケーションを操作しているユーザのユーザプロファイルを取得するステップと、
このユーザプロファイルに基づいてアプリケーションをカスタマイズするステップと、
を含む実施形態１〜１９のいずれかに記載の方法。
２１．データ処理装置によって実行された時にデータ処理装置に動作を実行させる命令を記憶する有形の非一時的機械可読媒体であって、この動作は、
ユーザのモバイルコンピューティングデバイスからの信号に基づく、ユーザの位置履歴を取得するステップと、
位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップと、
位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、
ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップと、
を含む有形の非一時的機械可読媒体。
２２．データ処理装置によって実行された時に実施形態２〜２０のいずれかの動作をデータ処理装置に実行させる命令を有する、
実施形態２１に記載の媒体。
２３．１又はそれ以上のプロセッサと、
プロセッサによって実行された時に、プロセッサに動作を実行させる命令を記憶するメモリと、
を備えたシステムであって、この動作は、
ユーザのモバイルコンピューティングデバイスからの信号に基づく、ユーザの位置履歴を取得するステップと、
位置履歴内で識別された、又は位置履歴から推測される位置の位置−属性スコアを取得するステップと、
位置−属性スコアに基づいてユーザ−属性スコアを決定するステップと、
ユーザ−属性スコアをユーザプロファイルデータストアに記憶するステップと、
を含むシステム。
２４．メモリは、プロセッサによって実行された時に実施形態２〜２０のいずれかの動作をプロセッサに実行させる命令を記憶する、
実施形態２３に記載のシステム。
【符号の説明】
【００６７】
１０  コンピュータ環境
１２  ユーザプロファイラ
１４  ユーザプロファイルデータストア
１６  モバイルデバイス
１８  ＧＩＳ
２２  広告サーバ
２４  位置−履歴取得モジュール
２６  位置−属性取得モジュール
２８  ユーザ−属性アップデータ
１０００  コンピュータシステム
１０１０  プロセッサ
１０２０  システムメモリ
１０３０  Ｉ／Ｏデバイスインターフェイス
１０４０  ネットワークインターフェイス
１０５０  Ｉ／Ｏインターフェイス
１０６０  Ｉ／Ｏデバイス
１１００  プログラム命令
１１１０  データ
【図１】
0006275745.tif 000002
【図２】
0006275745.tif 000003
【図３】
0006275745.tif 000004
【図４】
0006275745.tif 000005