(57)【要約】【課題】ユーザ移動プロファイリングをもたらすこと。【解決手段】方法がもたらされ、方法は、複数のユーザのそれぞれの位置データを、ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、位置データのそれぞれはそれぞれのユーザの位置を示し、バケットのそれぞれはそれぞれの時間間隔を含み、時間間隔は期間を包含し、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する、ステップと、ユーザの各ペアに対しておよび時間間隔のそれぞれに対して、位置データに基づいて、それぞれのペアのユーザの間のそれぞれの部分距離を計算するステップと、ユーザのペアのそれぞれに対して、それぞれのペアのユーザの間の距離を取得するために、期間にわたる部分距離を総計するステップと、互いに最も近い距離を有するユーザをクラスタ化するステップとを含む。【選択図】図１
2018106704.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサ、コンピュータプログラムコードを含んだ少なくとも１つのメモリを備えた装置であって、前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に少なくとも、
複数のユーザのそれぞれの位置データを、前記ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、前記位置データのそれぞれは所定の期間のある時点での前記それぞれのユーザの位置を示し、前記バケットのそれぞれは前記期間のそれぞれの時間間隔を含み、前記時間間隔は重複せず前記期間を包含し、前記時間間隔は前記ユーザのすべてに対して同じであり、前記時間間隔のそれぞれに対して前記ユーザのそれぞれのためのバケットが存在するステップと、
前記ユーザの各ペアに対しておよび前記時間間隔のそれぞれに対して、前記それぞれのバケット内の前記位置データに基づいて、前記それぞれのペアの前記ユーザの間のそれぞれの部分距離を計算するステップと、
前記ユーザの前記ペアのそれぞれに対して、前記それぞれのペアの前記ユーザの間の距離を取得するために、前記期間にわたる前記部分距離を総計するステップと、
前記ユーザのそれぞれのクラスタを取得するために、互いに最も近い距離を有する前記ユーザをクラスタ化するステップと
を少なくとも行わせるように構成された装置。
【請求項２】
前記位置データは通信ネットワークから取得されたハンドオーバデータであり、および／または前記位置データは測位システムから取得されたデータである請求項１に記載の装置。
【請求項３】
前記時間間隔ｉにおける前記ユーザのユーザ１とユーザ２の間の部分距離ｄ（Ｃ1,i，Ｃ2,i）は以下の式、
【数１】
2018106704.tif 000027
および
【数２】
2018106704.tif 000028
の１つによって計算され、Ｃ1,iおよびＣ2,iはそれぞれ前記ユーザ１および前記ユーザ２の前記時間間隔ｉの前記バケット内の前記位置データの集合を表し、
【数３】
2018106704.tif 000029
は共通集合演算子を表し、
【数４】
2018106704.tif 000030
は和集合演算子を表し、
【数５】
2018106704.tif 000031
はそれぞれの集合の濃度を表す
請求項１および２のいずれか１項に記載の装置。
【請求項４】
前記クラスタ化するステップは、凝集型階層的クラスタリングによって行われる、請求項１から３までのいずれか１項に記載の装置。
【請求項５】
前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に、
前記それぞれのクラスタ内の前記ユーザの数が、所定の数より大きいかどうかをチェックするステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい第１のセルを決定するステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい場合、前記第１のセル内のセルブロードキャストによって、前記ユーザに情報をもたらすステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きくない場合、専用メッセージによって前記ユーザに前記情報をもたらすステップと
をさらに行わせるように構成される、請求項１から４までのいずれか１項に記載の装置。
【請求項６】
前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に、
前記それぞれのクラスタ内の前記ユーザの数が所定の数より大きいかどうかをチェックするステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい第２のセルを決定するステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい場合、前記第２のセルの容量を増加させるステップと
をさらに行わせるように構成される、請求項１から５までのいずれか１項に記載の装置。
【請求項７】
少なくとも１つのプロセッサ、コンピュータプログラムコードを含んだ少なくとも１つのメモリを備えた装置であって、前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に少なくとも、
複数のユーザのセルデータを、前記ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、前記セルデータのそれぞれは、所定の期間のある時点での前記ユーザの位置が確認されたセルを示し、前記バケットのそれぞれは前記期間のそれぞれの時間間隔を含み、前記時間間隔は重複せず前記期間を包含し、前記時間間隔は前記ユーザのすべてに対して同じであり、前記時間間隔のそれぞれに対して前記ユーザのそれぞれのためのバケットが存在する、ステップと、
前記それぞれのバケット内の前記セルデータに基づいて、前記時間間隔のそれぞれに対して、前記ユーザのそれぞれの平均位置を計算するステップと、
前記ユーザのそれぞれに対して、および前記時間間隔のそれぞれに対して、前記それぞれの時間間隔に後続する時間間隔における前記平均位置と前記それぞれの時間間隔の前記平均位置の差と、前記時間間隔の持続時間の比として、前記それぞれのユーザの速度を決定するステップと、
前記ユーザのそれぞれのクラスタを取得するために、前記期間の前記時間間隔にわたって、前記ユーザのもう一人の前記それぞれの速度に近いそれぞれの速度を有する、前記ユーザをクラスタ化するステップと
を少なくとも行わせるように構成された装置。
【請求項８】
前記平均位置の少なくとも１つは、前記それぞれの時間間隔の間に前記ユーザの位置が確認された、前記セルのジオロケーションの重心として計算される請求項７に記載の装置。
【請求項９】
前記クラスタ化するステップは、ｋ平均法教師なしクラスタリングによって行われる請求項７および８のいずれか１項に記載の装置。
【請求項１０】
少なくとも１つのプロセッサ、コンピュータプログラムコードを含んだ少なくとも１つのメモリを備えた装置であって、前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に少なくとも、
１つまたは複数のセルのそれぞれに対して、所定の期間中に前記それぞれのセル内でユーザの位置が確認された、それぞれの持続時間を決定するステップと、
前記期間中に前記ユーザの位置が確認されたセルのジオロケーションの加重平均から、前記ユーザの平均位置を計算するステップであって、前記位置のそれぞれの重みは、前記それぞれのセル内で前記ユーザの位置が確認された前記持続時間に基づくステップと
を少なくとも行わせるように構成された装置。
【請求項１１】
前記持続時間の少なくとも１つは、前記ユーザが前記それぞれのセルから第２のハンドオーバを行った第２の時点と、前記ユーザが前記それぞれのセルから第１のハンドオーバを行った第１の時点の間の時間間隔として決定される請求項１０に記載の装置。
【請求項１２】
前記重みの少なくとも１つは、さらに前記それぞれのセルのサイズに基づく請求項１０および１１のいずれか１項に記載の装置。
【請求項１３】
前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に、
第１の広告掲示板が前記平均位置に近いことをチェックするステップと、
前記第１の広告掲示板が前記平均位置に近い場合、前記ユーザの関心に従って、前記第１の広告掲示板に示されるコンテンツを適応させるステップと
をさらに行わせるように構成される、請求項１０から１２までのいずれか１項に記載の装置。
【請求項１４】
前記少なくとも１つのプロセッサは、前記少なくとも１つのメモリおよび前記コンピュータプログラムコードを用いて、前記装置に、
第２の広告掲示板が前記平均位置に近いことをチェックするステップと、
前記第２の広告掲示板が前記平均位置に近くない場合、前記第２の広告掲示板を前記平均位置の近くに配置するステップと
をさらに行わせるように構成される請求項１０から１３までのいずれか１項に記載の装置。
【請求項１５】
方法であって、
複数のユーザのそれぞれの位置データを、前記ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、前記位置データのそれぞれは、所定の期間のある時点での前記それぞれのユーザの位置を示し、前記バケットのそれぞれは、前記期間のそれぞれの時間間隔を含み、前記時間間隔は重複せず前記期間を包含し、前記時間間隔は前記ユーザのすべてに対して同じであり、前記時間間隔のそれぞれに対して前記ユーザのそれぞれのためのバケットが存在するステップと、
前記ユーザの各ペアに対して、および前記時間間隔のそれぞれに対して、前記それぞれのバケット内の前記位置データに基づいて、前記それぞれのペアの前記ユーザの間のそれぞれの部分距離を計算するステップと、
前記ユーザの前記ペアのそれぞれに対して、前記それぞれのペアの前記ユーザの間の距離を取得するために、前記期間にわたる前記部分距離を総計するステップと、
前記ユーザのそれぞれのクラスタを取得するために、互いに最も近い距離を有する前記ユーザをクラスタ化するステップと
を含む方法。
【請求項１６】
前記位置データは通信ネットワークから取得されたハンドオーバデータであり、かつ／または前記位置データは測位システムから取得されたデータである請求項１５に記載の方法。
【請求項１７】
前記時間間隔ｉにおける前記ユーザのユーザ１とユーザ２の間の部分距離ｄ（Ｃ1,i，Ｃ2,i）は以下の式、
【数６】
2018106704.tif 000032
および
【数７】
2018106704.tif 000033
の１つによって計算され、Ｃ1,iおよびＣ2,iはそれぞれ前記ユーザ１および前記ユーザ２の前記時間間隔ｉの前記バケット内の前記位置データの集合を表し、
【数８】
2018106704.tif 000034
は共通集合演算子を表し、
【数９】
2018106704.tif 000035
は和集合演算子を表し、
【数１０】
2018106704.tif 000036
はそれぞれの集合の濃度を表す
請求項１５および１６のいずれか１項に記載の方法。
【請求項１８】
前記クラスタ化するステップは、凝集型階層的クラスタリングによって行われる、請求項１５から１７までのいずれか１項に記載の方法。
【請求項１９】
前記それぞれのクラスタ内の前記ユーザの数が所定の数より大きいかどうかをチェックするステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい第１のセルを決定するステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい場合、前記第１のセル内のセルブロードキャストによって、前記ユーザに情報をもたらすステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きくない場合、専用メッセージによって前記ユーザに前記情報をもたらすステップと
をさらに含む請求項１５から１８までのいずれか１項に記載の方法。
【請求項２０】
前記それぞれのクラスタ内の前記ユーザの数が、所定の数より大きいかどうかをチェックするステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい第２のセルを決定するステップと、
前記それぞれのクラスタ内の前記ユーザの数が、前記所定の数より大きい場合、前記第２のセルの容量を増加させるステップと、
をさらに含む請求項１５から１９までのいずれか１項に記載の方法。
【請求項２１】
方法であって、
複数のユーザのセルデータを前記ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、前記セルデータのそれぞれは、所定の期間のある時点での前記ユーザの位置が確認されたセルを示し、前記バケットのそれぞれは前記期間のそれぞれの時間間隔を含み、前記時間間隔は重複せず前記期間を包含し、前記時間間隔は前記ユーザのすべてに対して同じであり、前記時間間隔のそれぞれに対して前記ユーザのそれぞれのためのバケットが存在するステップと、
前記それぞれのバケット内の前記セルデータに基づいて、前記時間間隔のそれぞれに対して、前記ユーザのそれぞれの平均位置を計算するステップと、
前記ユーザのそれぞれに対して、および前記時間間隔のそれぞれに対して、前記それぞれの時間間隔に後続する時間間隔における前記平均位置と前記それぞれの時間間隔の前記平均位置の差と、前記時間間隔の持続時間の比として、前記それぞれのユーザの速度を決定するステップと、
前記ユーザのそれぞれのクラスタを取得するために、前記期間の前記時間間隔にわたって、前記ユーザのもう一人の前記それぞれの速度に近いそれぞれの速度を有する、前記ユーザをクラスタ化するステップと
を含む方法。
【請求項２２】
前記平均位置の少なくとも１つは、前記それぞれの時間間隔の間に前記ユーザの位置が確認された、前記セルのジオロケーションの重心として計算される請求項２１に記載の方法。
【請求項２３】
前記クラスタ化するステップは、ｋ平均法教師なしクラスタリングによって行われる請求項２１および２２のいずれか１項に記載の方法。
【請求項２４】
方法であって、
１つまたは複数のセルのそれぞれに対して、所定の期間中に前記それぞれのセル内でユーザの位置が確認された、それぞれの持続時間を決定するステップと、
前記期間中に前記ユーザの位置が確認されたセルのジオロケーションの加重平均から、前記ユーザの平均位置を計算するステップであって、前記位置のそれぞれの重みは、前記それぞれのセル内で前記ユーザの位置が確認された前記持続時間に基づくステップと
を含む方法。
【請求項２５】
前記持続時間の少なくとも１つは、前記ユーザが前記それぞれのセルから第２のハンドオーバを行った第２の時点と、前記ユーザが前記それぞれのセルから第１のハンドオーバを行った第１の時点の間の時間間隔として決定される請求項２４に記載の方法。
【請求項２６】
前記重みの少なくとも１つは、さらに前記それぞれのセルのサイズに基づく請求項２４から２５までのいずれか１項に記載の方法。
【請求項２７】
第１の広告掲示板が前記平均位置に近いことをチェックするステップと、
前記第１の広告掲示板が前記平均位置に近い場合、前記ユーザの関心に従って、前記第１の広告掲示板に示されるコンテンツを適応させるステップと
をさらに含む請求項２４および２６のいずれか１項に記載の方法。
【請求項２８】
第２の広告掲示板が前記平均位置に近いことをチェックするステップと、
前記第２の広告掲示板が前記平均位置に近くない場合、前記第２の広告掲示板を前記平均位置の近くに配置するステップと
をさらに含む請求項２４から２７までのいずれか１項に記載の方法。
【請求項２９】
装置上で実行されたとき、請求項１５から２８までのいずれか１項に記載の方法を装置に行わせるように構成された、命令のセットを備えるコンピュータプログラム製品。
【請求項３０】
コンピュータ可読媒体として具体化された、またはコンピュータに直接ロード可能な、請求項２９に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ移動プロファイリングに関連する装置、方法、およびコンピュータプログラム製品に関する。より詳細には本発明は、セル位置データに基づくユーザ移動プロファイリングに関連する装置、方法、およびコンピュータプログラム製品に関する。
【０００２】
略語
３ＧＰＰ  第３世代パートナーシッププロジェクト
Ａ−ＧＰＳ  アシスト型ＧＰＳ
ＤＢ  データベース
Ｇｂ／ｓ  ギガビット／秒
ＧＰＳ  全地球測位システム
ＧＳＭ(登録商標)  移動体通信用グローバルシステム
ＧＵＩ  グラフィカルユーザインターフェース
ＭＮＯ  モバイルネットワークオペレータ
ＰｏＣ  概念実証（Ｐｒｏｏｆ  ｏｆ  Ｃｏｎｃｅｐｔ）
ＰＯＩ  興味のある地点（Ｐｏｉｎｔ  ｏｆ  Ｉｎｔｅｒｅｓｔ）
ＳＭＳ  ショートメッセージサービス
【背景技術】
【０００３】
モバイル行動のみから、微細な細分性でユーザおよび彼等の移動の位置を確認することは自明なことではない。ほとんどの測位システムは、デバイスの位置を能動的に監視するために、Ａ−ＧＰＳサポートを有するＧＰＳ（または同様な衛星システム）を用いる。しかしモバイルオペレータにとっては、あらゆるユーザを能動的に監視することは、いくつかの理由により現実的には選択肢とならない。
・  ほとんどすべての場合においてＧＰＳデータは、オペレータはアクセスできないユーザのモバイルデバイスにおいてのみ使用可能である。
・  ユーザのモバイルデバイスにアプリケーションを強制的にプッシュダウンすることは、販売が難しいプライバシー契約となり得る。
・  ユーザが同意したとしても、すべてのモバイルタイプのためにアプリケーションを開発し、維持することはコストがかかる。
・  常時の能動的な測位がバッテリーを消費し、ユーザエクスペリエンスの悪化に繋がることは言うまでもない。
この分野におけるいくつかの従来技術は以下の通りである。
Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｖｉａ  Ｌｏｃａｔｉｏｎ−Ｐｒｏｆｉｌｉｎｇ  ｉｎ  ＧＳＭ(登録商標)  Ｎｅｔｗｏｒｋｓ  （２００８）
Ｙｏｎｉ  Ｄｅ  Ｍｕｌｄｅｒ，  Ｇｅｏｒｇｅ  Ｄａｎｅｚｉｓ，  Ｌｅｊｌａ  Ｂａｔｉｎａ，  Ｂａｒｔ  Ｐｒｅｎｅｅｌ
【０００４】
この論文において著者は、簡単な１次マルコフ連鎖および階層的クラスタリングを用いて、ＧＳＭ(登録商標)位置データからユーザの動きをプロファイリングした。後の期間において、これらのプロファイルからのユーザ識別に対しては、８０％の精度があること、および１ヶ月に収集された情報は非常に豊富でありその後長い間、ユーザを識別するために用いることができること、を彼等は主張している。
オンラインＰＤＦバージョンは、ｈｔｔｐ：／／ｗｗｗ０．ｃｓ．ｕｃｌ．ａｃ．ｕｋ／ｓｔａｆｆ／Ｇ．Ｄａｎｅｚｉｓ／ｐａｐｅｒｓ／ＧＳＭ(登録商標)Ｌｏｃａｔｉｏｎ−ｐｒｏｆｉｌｅ．ｐｄｆにおいて入手可能である。
Ｍｏｂｉｌｉｔｙ  Ｐｒｏｆｉｌｅｒ：  Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｄｉｓｃｏｖｅｒｉｎｇ  Ｍｏｂｉｌｅ  Ｕｓｅｒ  Ｐｒｏｆｉｌｅｓ  （２００８）
Ａｌｉ  Ｍｕｒａｔ，  Ｄｅｍｉｒｂａｓ  Ｍｕｒａｔ，  Ｅａｇｌｅ  Ｎａｔｈａｎ
【０００５】
この論文は、セルタワー振動（すなわちピンポン）などの問題も取り扱う、完結したモビリティプロファイラフレームワークを導入している。彼等は、セルモビリティパスを構築し、反復して振動するセルペアを識別することによってピンポンを低減し、それらをセルクラスタに変換する。その後彼等は、主要パターンをフィルタ除去し、評価するために、順次的な先験的アルゴリズムを用いた。これらのパターンは、そのユーザのモビリティプロファイルを組み立てることになる。
オンラインＰＤＦバージョン：ｈｔｔｐ：／／ｗｗｗ．ｃｓｅ．ｂｕｆｆａｌｏ．ｅｄｕ／ｔｅｃｈ−ｒｅｐｏｒｔｓ／２００８−１７．ｐｄｆ
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｖｉａ  Ｌｏｃａｔｉｏｎ−Ｐｒｏｆｉｌｉｎｇ  ｉｎ  ＧＳＭ(登録商標)  Ｎｅｔｗｏｒｋｓ  （２００８），  Ｙｏｎｉ  Ｄｅ  Ｍｕｌｄｅｒ，  Ｇｅｏｒｇｅ  Ｄａｎｅｚｉｓ，  Ｌｅｊｌａ  Ｂａｔｉｎａ，  Ｂａｒｔ  Ｐｒｅｎｅｅｌ
【非特許文献２】ｈｔｔｐ：／／ｗｗｗ０．ｃｓ．ｕｃｌ．ａｃ．ｕｋ／ｓｔａｆｆ／Ｇ．Ｄａｎｅｚｉｓ／ｐａｐｅｒｓ／ＧＳＭ(登録商標)Ｌｏｃａｔｉｏｎ−ｐｒｏｆｉｌｅ．ｐｄｆ
【非特許文献３】Ｍｏｂｉｌｉｔｙ  Ｐｒｏｆｉｌｅｒ：  Ａ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｄｉｓｃｏｖｅｒｉｎｇ  Ｍｏｂｉｌｅ  Ｕｓｅｒ  Ｐｒｏｆｉｌｅｓ  （２００８），  Ａｌｉ  Ｍｕｒａｔ，  Ｄｅｍｉｒｂａｓ  Ｍｕｒａｔ，  Ｅａｇｌｅ  Ｎａｔｈａｎ
【非特許文献４】ｈｔｔｐ：／／ｗｗｗ．ｃｓｅ．ｂｕｆｆａｌｏ．ｅｄｕ／ｔｅｃｈ−ｒｅｐｏｒｔｓ／２００８−１７．ｐｄｆ
【非特許文献５】ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｈｉｅｒａｒｃｈｉｃａｌ＿ｃｌｕｓｔｅｒｉｎｇ
【非特許文献６】ｈｔｔｐ：／／ｄｏｃｓ．ｓｃｉｐｙ．ｏｒｇ／ｄｏｃ／ｓｃｉｐｙ／ｒｅｆｅｒｅｎｃｅ／ｃｌｕｓｔｅｒ．ｈｉｅｒａｒｃｈｙ．ｈｔｍｌ
【非特許文献７】ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｋ−ｍｅａｎｓ＿ｃｌｕｓｔｅｒｉｎｇ
【非特許文献８】ｈｔｔｐ：／／ｄｏｃｓ．ｓｃｉｐｙ．ｏｒｇ／ｄｏｃ／ｓｃｉｐｙ／ｒｅｆｅｒｅｎｃｅ／ｇｅｎｅｒａｔｅｄ／ｓｃｉｐｙ．ｃｌｕｓｔｅｒ．ｖｑ．ｋｍｅａｎｓ．ｈｔｍｌ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、従来技術を改善することである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様によれば、装置がもたらされ、装置は少なくとも１つのプロセッサ、コンピュータプログラムコードを含んだ少なくとも１つのメモリを備え、少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に少なくとも、複数のユーザのそれぞれの位置データを、ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、位置データのそれぞれは所定の期間のある時点でのそれぞれのユーザの位置を示し、バケットのそれぞれは期間のそれぞれの時間間隔を含み、時間間隔は重複せず期間を包含し、時間間隔はユーザのすべてに対して同じであり、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する、ステップと、ユーザの各ペアに対しておよび時間間隔のそれぞれに対して、それぞれのバケット内の位置データに基づいて、それぞれのペアのユーザの間のそれぞれの部分距離を計算するステップと、ユーザのペアのそれぞれに対して、それぞれのペアのユーザの間の距離を取得するために、期間にわたる部分距離を総計するステップと、ユーザのそれぞれのクラスタを取得するために、互いに最も近い距離を有するユーザをクラスタ化するステップとを少なくとも行わせるように構成される。
【０００９】
位置データは通信ネットワークから取得されたハンドオーバデータとすることができ、かつ／または位置データは測位システムから取得されたデータとすることができる。
【００１０】
時間間隔ｉにおけるユーザのユーザ１とユーザ２の間の部分距離ｄ（Ｃ1,i，Ｃ2,i）は以下の式、
【数１】
2018106704.tif 000003
および
【数２】
2018106704.tif 000004
の１つによって計算されることができ、Ｃ1,iおよびＣ2,iはそれぞれユーザ１およびユーザ２の時間間隔ｉのバケット内の位置データの集合を表し、
【数３】
2018106704.tif 000005
は共通集合演算子（ｉｎｔｅｒｓｅｃｔｉｏｎ  ｏｐｅｒａｔｏｒ）を表し、
【数４】
2018106704.tif 000006
は和集合演算子（ｕｎｉｏｎ  ｏｐｅｒａｔｏｒ）を表し、
【数５】
2018106704.tif 000007
はそれぞれの集合の濃度（ｃａｒｄｉｎａｌｉｔｙ）を表す。
【００１１】
クラスタ化するステップは、凝集型階層的クラスタリングによって行われ得る。
【００１２】
少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に、それぞれのクラスタ内のユーザの数が所定の数より大きいかどうかをチェックするステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい第１のセルを決定するステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい場合、第１のセル内のセルブロードキャストによって、ユーザに情報をもたらすステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きくない場合、専用メッセージによってユーザに情報をもたらすステップとをさらに行わせるように構成され得る。
【００１３】
少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に、それぞれのクラスタ内のユーザの数が所定の数より大きいかどうかをチェックするステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい第２のセルを決定するステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい場合、第２のセルの容量を増加させるステップとをさらに行わせるように構成され得る。
【００１４】
本発明の第２の態様によれば、装置がもたらされ、装置は少なくとも１つのプロセッサ、コンピュータプログラムコードを含んだ少なくとも１つのメモリを備え、少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に少なくとも、複数のユーザのセルデータをユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、セルデータのそれぞれは、所定の期間のある時点でのユーザの位置が確認されたセルを示し、バケットのそれぞれは期間のそれぞれの時間間隔を含み、時間間隔は重複せず期間を包含し、時間間隔はユーザのすべてに対して同じであり、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する、ステップと、それぞれのバケット内のセルデータに基づいて、時間間隔のそれぞれに対して、ユーザのそれぞれの平均位置を計算するステップと、ユーザのそれぞれに対しておよび時間間隔のそれぞれに対して、それぞれの時間間隔に後続する時間間隔における平均位置とそれぞれの時間間隔の平均位置の差と、時間間隔の持続時間の比として、それぞれのユーザの速度を決定するステップと、ユーザのそれぞれのクラスタを取得するために、期間の時間間隔にわたって、ユーザのもう一人のそれぞれの速度に近いそれぞれの速度を有する、ユーザをクラスタ化するステップとを少なくとも行わせるように構成される。
【００１５】
平均位置の少なくとも１つは、それぞれの時間間隔の間にユーザの位置が確認された、セルのジオロケーションの重心として計算され得る。
【００１６】
クラスタ化するステップは、ｋ平均法（ｋ−ｍｅａｎｓ）教師なし（ｕｎｓｕｐｅｒｖｉｓｅｄ）クラスタリングによって行われ得る。
【００１７】
本発明の第３の態様によれば、装置がもたらされ、装置は少なくとも１つのプロセッサ、コンピュータプログラムコードを含んだ少なくとも１つのメモリを備え、少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に少なくとも、１つまたは複数のセルのそれぞれに対して、所定の期間中にそれぞれのセル内でユーザの位置が確認された、それぞれの持続時間を決定するステップと、期間中にユーザの位置が確認されたセルのジオロケーションの加重平均から、ユーザの平均位置を計算するステップであって、位置のそれぞれの重みは、それぞれのセル内でユーザの位置が確認された持続時間に基づく、ステップとを少なくとも行わせるように構成される。
【００１８】
持続時間の少なくとも１つは、ユーザがそれぞれのセルから第２のハンドオーバを行った第２の時点と、ユーザがそれぞれのセルから第１のハンドオーバを行った第１の時点の間の時間間隔として決定され得る。
【００１９】
重みの少なくとも１つは、さらにそれぞれのセルのサイズに基づくことができる。
【００２０】
少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に、第１の広告掲示板が平均位置に近いことをチェックするステップと、第１の広告掲示板が平均位置に近い場合、ユーザの関心に従って、第１の広告掲示板に示されるコンテンツを適応させるステップとをさらに行わせるように構成され得る。
【００２１】
少なくとも１つのプロセッサは、少なくとも１つのメモリおよびコンピュータプログラムコードを用いて、装置に、第２の広告掲示板が平均位置に近いことをチェックするステップと、第２の広告掲示板が平均位置に近くない場合、第２の広告掲示板を平均位置の近くに配置するステップとをさらに行わせるように構成され得る。
【００２２】
本発明の第４の態様によれば、方法がもたらされ、方法は、複数のユーザのそれぞれの位置データを、ユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、位置データのそれぞれは所定の期間のある時点でのそれぞれのユーザの位置を示し、バケットのそれぞれは期間のそれぞれの時間間隔を含み、時間間隔は重複せず期間を包含し、時間間隔はユーザのすべてに対して同じであり、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する、ステップと、ユーザの各ペアに対しておよび時間間隔のそれぞれに対して、それぞれのバケット内の位置データに基づいて、それぞれのペアのユーザの間のそれぞれの部分距離を計算するステップと、ユーザのペアのそれぞれに対して、それぞれのペアのユーザの間の距離を取得するために、期間にわたる部分距離を総計するステップと、ユーザのそれぞれのクラスタを取得するために、互いに最も近い距離を有するユーザをクラスタ化するステップとを含む。
【００２３】
位置データは通信ネットワークから取得されたハンドオーバデータとすることができ、かつ／または位置データは測位システムから取得されたデータとすることができる。
【００２４】
時間間隔ｉにおけるユーザのユーザ１とユーザ２の間の部分距離ｄ（Ｃ1,i，Ｃ2,i）は以下の式、
【数６】
2018106704.tif 000008
および
【数７】
2018106704.tif 000009
の１つによって計算されることができ、Ｃ1,iおよびＣ2,iはそれぞれユーザ１およびユーザ２の時間間隔ｉのバケット内の位置データの集合を表し、
【数８】
2018106704.tif 000010
は共通集合演算子を表し、
【数９】
2018106704.tif 000011
は和集合演算子を表し、
【数１０】
2018106704.tif 000012
はそれぞれの集合の濃度を表す。
【００２５】
クラスタ化するステップは、凝集型階層的クラスタリングによって行われ得る。
【００２６】
方法は、それぞれのクラスタ内のユーザの数が所定の数より大きいかどうかをチェックするステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい第１のセルを決定するステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい場合、第１のセル内のセルブロードキャストによって、ユーザに情報をもたらすステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きくない場合、専用メッセージによってユーザに情報をもたらすステップとをさらに含むことができる。
【００２７】
方法は、それぞれのクラスタ内のユーザの数が所定の数より大きいかどうかをチェックするステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい第２のセルを決定するステップと、それぞれのクラスタ内のユーザの数が、所定の数より大きい場合、第２のセルの容量を増加させるステップとをさらに含むことができる。
【００２８】
本発明の第５の態様によれば、方法がもたらされ、方法は、複数のユーザのセルデータをユーザのそれぞれのためのそれぞれのバケットに分配するステップであって、セルデータのそれぞれは、所定の期間のある時点でユーザの位置が確認されたセルを示し、バケットのそれぞれは期間のそれぞれの時間間隔を含み、時間間隔は重複せず期間を包含し、時間間隔はユーザのすべてに対して同じであり、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する、ステップと、それぞれのバケット内のセルデータに基づいて、時間間隔のそれぞれに対して、ユーザのそれぞれの平均位置を計算するステップと、ユーザのそれぞれに対しておよび時間間隔のそれぞれに対して、それぞれの時間間隔に後続する時間間隔における平均位置とそれぞれの時間間隔の平均位置の差と、時間間隔の持続時間の比として、それぞれのユーザの速度を決定するステップと、ユーザのそれぞれのクラスタを取得するために、期間の時間間隔にわたって、ユーザのもう一人のそれぞれの速度に近いそれぞれの速度を有する、ユーザをクラスタ化するステップとを含む。
【００２９】
平均位置の少なくとも１つは、それぞれの時間間隔の間にユーザの位置が確認された、セルのジオロケーションの重心として計算され得る。
【００３０】
クラスタ化するステップは、ｋ平均法教師なしクラスタリングによって行われ得る。
【００３１】
本発明の第６の態様によれば、方法がもたらされ、方法は、１つまたは複数のセルのそれぞれに対して、所定の期間中にそれぞれのセル内でユーザの位置が確認された、それぞれの持続時間を決定するステップと、期間中にユーザの位置が確認されたセルのジオロケーションの加重平均から、ユーザの平均位置を計算するステップであって、位置のそれぞれの重みは、それぞれのセル内でユーザの位置が確認された持続時間に基づく、ステップとを含む。
【００３２】
持続時間の少なくとも１つは、ユーザがそれぞれのセルから第２のハンドオーバを行った第２の時点と、ユーザがそれぞれのセルから第１のハンドオーバを行った第１の時点の間の時間間隔として決定され得る。
【００３３】
重みの少なくとも１つは、さらにそれぞれのセルのサイズに基づくことができる。
【００３４】
方法は、第１の広告掲示板が平均位置に近いことをチェックするステップと、第１の広告掲示板が平均位置に近い場合、ユーザの関心に従って、第１の広告掲示板に示されるコンテンツを適応させるステップとをさらに含むことができる。
【００３５】
方法は、第２の広告掲示板が平均位置に近いことをチェックするステップと、第２の広告掲示板が平均位置に近くない場合、第２の広告掲示板を平均位置の近くに配置するステップとをさらに含むことができる。
【００３６】
第４から第６の態様による方法のそれぞれは、ユーザ移動プロファイリングの方法とすることができる。
【００３７】
本発明の第７の態様によれば、装置上で実行されたとき、第４から第６の態様のいずれかによる方法を装置に行わせるように構成された、命令のセットを備えるコンピュータプログラム製品がもたらされる。コンピュータプログラム製品は、コンピュータ可読媒体として具体化され得る、またはコンピュータに直接ロード可能とすることができる。
【００３８】
本発明のいくつかの例示の実施形態によれば、以下の技術的効果の少なくとも１つがもたらされ得る。
・どのユーザが通常一緒に通勤するかを決定すること
・多くのユーザが通勤する時刻を決定すること
・ユーザの自宅位置（ｈｏｍｅ  ｌｏｃａｔｉｏｎ）および／または勤務場所（ｗｏｒｋ  ｌｏｃａｔｉｏｎ）などの、静止エリアを決定すること
【００３９】
さらなる詳細、特徴、目的、および利点は、添付の図面と併せ読まれる、本発明の例示の実施形態の以下の詳細な説明から明らかとなる。
【図面の簡単な説明】
【００４０】
【図１】本発明のいくつかの実施形態による、「一緒の通勤」シナリオにおける距離計算を示す図である。
【図２】ユーザのグループは線種によって区別された、一緒に通勤するユーザの軌跡を示す図である。
【図３】線種によって区別された通勤パターンを示す図である。
【図４】本発明のいくつかの実施形態による、近似する自宅位置の例示の可視化を示す図である。
【図５】本発明のいくつかの実施形態による、概念実証のアーキテクチャを示す図である。
【図６】本発明のいくつかの実施形態による、単一サーバアーキテクチャのアーキテクチャを示す図である。
【図７】本発明のいくつかの実施形態による、概念実証のスケーラブルアーキテクチャを示す図である。
【図８】本発明の例示の実施形態による装置を示す図である。
【図９】本発明の例示の実施形態による方法を示す図である。
【図１０】本発明の例示の実施形態による装置を示す図である。
【図１１】本発明の例示の実施形態による方法を示す図である。
【図１２】本発明の例示の実施形態による装置を示す図である。
【図１３】本発明の例示の実施形態による方法を示す図である。
【図１４】本発明の例示の実施形態による装置を示す図である。
【発明を実施するための形態】
【００４１】
本明細書の以下では、本発明のいくつかの例示の実施形態が添付の図面を参照して詳細に述べられ、例示の実施形態の特徴は、特に明記されない限り、互いに自由に組み合わされ得る。しかし、いくつかの実施形態の記述は例示のためのみに示されるものであり、開示される詳細に本発明を限定する意図は全くないことが明確に理解されるべきである。
【００４２】
さらに、装置は対応する方法を行うように構成されるが、いくつかの場合では装置のみ、または方法のみが述べられることが理解されるべきである。
【００４３】
機械学習および統計分析方法によって本発明のいくつかの実施形態は、セルハンドオーバデータから、毎日のユーザルーチンのプロファイリングを行う。この追加された情報は、オペレータに対して、および特にオンライン広告エコシステムにおいて、広告会社または広告仲介業者などのサードパーティに対しての両方に、有益な情報をもたらすことができる。この知識のいくつかの他の可能性のある使用は、都市計画、または伝染病の場合の緊急対応予測を含むことができる。
【００４４】
本発明のいくつかの実施形態は、モバイルオペレータ側からのセルハンドオーバデータを用いるので、クライアント側アプリケーションの必要はない。実施形態のいくつかは、以下の問題の少なくとも１つに対する答えを与え得る。
１．どのユーザが一緒に通勤するか？
２．ユーザの毎日の移動パターン（通勤／昼食／帰宅時間間隔）は何か？
３．ユーザの静止エリア（例えば、自宅および／または勤務エリア（複数可）および／またはＰＯＩｓ）は何か？
【００４５】
以下では、これらの問題のそれぞれに対して、それらが本発明のいくつかの実施形態によってどのように答えられるかについて述べられる。本発明の単一の実施形態は、これらの問題の１つ、２つ、または３つに答えるように構成され得ることに留意されたい。
【００４６】
作業の間に、以下のパイプラインが用いられた。
１．関連があり得る問題を定式化し、モバイルネットワークユーザについての我々の知識を拡張する。例えば：誰が一緒に通勤するか？
２．より良好な品質を得るために、取得することになるデータをクリーンにする。例えば：ハンドオーバデータからのピンポン効果など、ノイズとなる項目をフィルタ除去する。
３．問題に関してユーザを比較することができる、距離／類似性測度（複数可）を定義する。例えば：一定の期間における、共通のセルと異なるセルの比率。
４．問題記述および距離関数に適したクラスタリングアルゴリズムを選択する、例えば：階層的クラスタリング
５．結果を検証し、パラメータまたは距離測度を精緻化する、例えば：結果可視化。
【００４７】
本発明の具体的な焦点は、このパイプラインの最初の３つの項目に当てられる。
【００４８】
一緒の通勤
この関数の出力は、時間および場所に関して、共通の毎日の移動パターンを有する人々のグループである。これは各グループが、同様な時間に同様の位置で、日々一緒に移動するユーザを得ることになることを意味する。このようなグループの例は、通勤電車の乗客とすることができる。
【００４９】
これらのグループを作成するために、最初に各ユーザの毎日のセル／位置データが収集される。各ユーザは、（セル、タイムスタンプ）タプルのリストを有すると仮定する。これは、ＭＮＯのトラフィックを精査することによって容易にアクセスされ得る。
【表１】
2018106704.tif 000013
【００５０】
最初に我々は、タイムスタンプを時刻データに変換し（本質的に日付部分を捨てる）、１日全体を固定の数のウィンドウ（スロット／バケット）に切り離す。例えば我々は１０分の長さのウィンドウを用い、１４４個のバケットを生成する（１日は１４４０分あるので）。この後、我々はユーザのデータを、彼等のセルをそれらのタイムスタンプに従って各バケットに入れるように編成する。この部分は、我々のデータを低減するだけでなく、ピンポンとしても知られるセルタワー振動の大部分を相殺するので有用である。
【００５１】
我々の実装形態において、我々は１０分のウィンドウを用いており、他の長さも適切となり得るが、長過ぎるウィンドウは粗い結果を生成することになり、短すぎるウィンドウはノイズの影響をより受けやすいことを、我々は考慮しなければならないことに留意されたい。
【００５２】
また本実施形態において、毎日の移動パターンは、時刻が十分な情報となるように考えられる。しかし他の移動期間（例えば毎週、毎月、または毎年）が識別される場合、時間情報は、例えば日の情報を備えるべきである。これと対照的に、毎時間の移動期間が識別される場合、時間の情報は省かれ得る。
【００５３】
変換の後、我々は以下の表２を得る。
【表２】
2018106704.tif 000014
【００５４】
次に我々は、各時間ウィンドウの２人のユーザの間の［０．．１］の値を計算する距離関数を定義することができる。Ｃ1,i、Ｃ2,i集合を有する２人のユーザＵ1、Ｕ2を有すると仮定し、ただしセル集合を含むｉ＝１，２，．．．，１４４（スロットの数）である。我々は式１を用いて、特定の時間スロットｉにおける２人のユーザの間の（部分）距離を計算する。あるいは、代わりにいくつかの場合においてより優れた結果を生じるので、式２も用いられ得る。
式１（交差比率による距離）
【数１１】
2018106704.tif 000015
式２（落合係数による距離）
【数１２】
2018106704.tif 000016
ここでＣ1,iおよびＣ2,iは、それぞれユーザ１およびユーザ２の、時間間隔ｉのバケット内の位置データの集合を表し、
【数１３】
2018106704.tif 000017
は共通集合演算子を表し、
【数１４】
2018106704.tif 000018
は和集合演算子を表し、
【数１５】
2018106704.tif 000019
はそれぞれの集合の濃度を表す。
注記：式のいずれかにおいて分母がゼロになる特別な場合は、我々はｄ＝１を用いる。
【００５５】
一緒に移動するユーザの識別において、これら以外のメトリクスは好結果が得られなかった。
【００５６】
最後に我々は、２人のユーザの間の距離ｄ（Ｕ1，Ｕ2）を取得するために、正規化ユークリッド距離を用いて、これらの部分距離ｄ（Ｃ1,i，Ｃ2,i）を総計することができる。
【数１６】
2018106704.tif 000020
【００５７】
図１は、距離計算（式１による）の観念を示す。
【００５８】
破線（ｄａｓｈｅｄ  ｌｉｎｅｓ）および点線（ｄｏｔｔｅｄ  ｌｉｎｅｓ）は、２人のユーザの移動を表し、基地局はそれらがユーザの時間ウィンドウの両方にある場合は丸印で囲まれ、２人のユーザの時間ウィンドウの一方のみにある場合は囲まれない。文字「Ａ」および「Ｂ」によって、基地局のそれぞれに対して、それぞれの時間ウィンドウにおいてそれら基地局がどちらのユーザのためにあるかが示される。我々は図上で、ユーザが共通の経路（すなわち電車または地下鉄）を共有するのに従ってどのように共通セルの数が増加するか、かつどのように部分距離が計算されるかが分かる。
【００５９】
従って我々は、表３に示されるように距離行列を取得するために、各ユーザペアの間の距離を計算する。
【表３】
2018106704.tif 000021
【００６０】
これは、三角形不等定理が適用できないので有効なユークリッド空間ではなく、従って我々はここでｋ平均法または同様のアルゴリズムを用いることができないことに留意されたい。代わりに我々は、互いに低い距離を有するユーザを結合するために、凝集型階層的クラスタリング方法を用いる（階層的クラスタリング：ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｈｉｅｒａｒｃｈｉｃａｌ＿ｃｌｕｓｔｅｒｉｎｇを参照）。
【００６１】
第１の段階では、すべてのユーザはそれら自体のクラスタを有し、各ステップにおいてアルゴリズムは、２つの最も近いクラスタをマージし、もとの２つのクラスタのユーザの和集合により新しいクラスタを作成する。このステップは、所与の距離閾値に達するまで反復される。適切な閾値レベルの特定は、階層的クラスタリングにおいて深く調べられる。実装のために我々は、「単一」凝集型ルーチンモードにおいて、このクラスタリング方法（ｈｔｔｐ：／／ｄｏｃｓ．ｓｃｉｐｙ．ｏｒｇ／ｄｏｃ／ｓｃｉｐｙ／ｒｅｆｅｒｅｎｃｅ／ｃｌｕｓｔｅｒ．ｈｉｅｒａｒｃｈｙ．ｈｔｍｌ）のＰｙｔｈｏｎ実装形態：ｓｃｉｐｙ．ｃｌｕｓｔｅｒ．ｈｉｅｒａｒｃｈｙを用いた。
【００６２】
このクラスタ化の出力は、実際のデータに基づく図２の市内地図で見ることができるグループである。ここでユーザのグループは、異なる線種によって区別される。グループごとの最小および最大ユーザ数は、適用エリアに依存する。
【００６３】
本発明のいくつかの実施形態による例示のアプリケーションとして、システムは特定のユーザに対して、彼が通勤者グループに属するかどうかを分析する。属さない場合は、専用メッセージ（例えばＳＭＳ、または専用アプリ内の）によって、ユーザに何らかの広告が送られることになる。しかしユーザが十分なサイズ（メンバの数）の通勤者グループに属する場合、広告は、通勤者が一緒に通勤するセル内のこれらの通勤者に、セルブロードキャストによって送られ得る。従ってネットワーク負荷が低減される。
【００６４】
本発明のいくつかの実施形態による、いくつかの他の例示の応用例は以下の通りである。
−  ユーザに、彼／彼女の毎日の移動ルーチンに基づいて、広告または割引クーポンをもたらす。
−  ネットワーク挙動を変更する
・  その時間に彼等は彼等の電話機を用いる可能性が高いので、通勤者のために帯域を最適化する
・  ユーザの既知の軌道（共通の通勤経路）に対して、ネットワークを最適化する
−  病気の発生予測（可能性の高い汚染の経路）：一緒に通勤するおよび一緒にいる人々は、潜在的に互いに影響を及ぼすものとしてラベル付けされ得る。この情報は人々を引き離し、彼等を救うために用いられ得る。従って病気の広がりが、防止または減速され得る。
【００６５】
毎日の移動パターン
本発明のいくつかの実施形態によれば、この関数は時刻にわたるユーザ移動の強度を分析する。「一緒の通勤」関数と異なり、ここでは移動位置ではなく、時間的な移動距離（速度）のみが重要となる。これは、同じ時刻に通勤している、または昼食に出かける、または帰宅する人々を捉えるために有用となる。幸いにもこれはまた、人々が移動時に彼等の電話機によってインターネット上でニュースを読むまたはネットサーフィンする可能性が高い。
【００６６】
図３は通勤パターンを示す：１日の各時間に対して（１０分のステップのｘ軸において）、予め定義された最小値より大きな速度で移動するユーザの数が示される。
【００６７】
いくつかの不明瞭なパターンは別として、我々はすでにどのようにいくらかの人々が異なる移動パターンにおいて、午前５、６、７、８、９または１０時に職場に行くかを見ることができる。おそらく同じ朝の通勤グループ内のユーザの場合であっても人によって異なるので、ここでは帰宅に対するパターンは見ることができない。それでも、昼食および帰宅パターンも、時間フィルタリングを用いて対処され得る。
【００６８】
基礎をなすアルゴリズムは、本明細書で上記で論じられた「一緒の通勤」関数と同様である。我々は、各ユーザに対して１０分の長さのスロットに構成された、時刻に変換されたハンドオーバを用いる。
【表４】
2018106704.tif 000022
【００６９】
次いで我々は、以下のやり方を用いてセルを、各ウィンドウにおけるジオロケーションに変換する：我々は各セルのジオロケーション（例えば基地局の位置、またはセルのカバレージエリアの中心）を地図上の点として取得し、これらの点を用いて重心を計算する。結局我々は、重心を得ることになる。この方法は、セルの急速な変化が環境の状況によりノイズを生成し得る（すなわち移動するバスは現在のセル局を阻止し、バスがそこから離れるまで、モバイル機器は別のものに切り換える）、ピンポンハンドオーバ現象を低減するために有用である。
【表５】
2018106704.tif 000023
【００７０】
この情報から我々は、隣接したウィンドウ（バケット）の各ペアの間の時間にわたる重心の間の距離から、移動速度を内挿することができる。各重心が緯度（ｌａｔ）および経度（ｌｏｎ）座標からなると仮定すると、我々は以下の式を用いて、２つの時間ウィンドウの間を用いて、ｍ／ｓでの近似する速度ｖi,i+1を計算することができる。
【数１７】
2018106704.tif 000024
【００７１】
ここで各バケットは１０分＝６００秒のデータを備えるので、分母の６００が選ばれる。もちろんバケットは異なる持続時間を有することができ、分母はそれに従って調整されることになる。
【００７２】
次に我々は以下の表を取得し、我々はｋ平均法教師なしクラスタリングのための入力として用いることができる（これらの値は１４４次元ユークリッド空間に対して有効であるので）。
【表６】
2018106704.tif 000025
【００７３】
ｋ平均法は、教師なし学習におけるよく知られた基本的クラスタリング方法である。ｋ平均法クラスタリングに関するさらなる情報は、ｈｔｔｐｓ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｋ−ｍｅａｎｓ＿ｃｌｕｓｔｅｒｉｎｇに見出すことができる。ＰｏＣにおいて我々は、ｓｃｉｐｙ．ｃｌｕｓｔｅｒ．ｖｑ．ｋｍｅａｎｓ（ｈｔｔｐ：／／ｄｏｃｓ．ｓｃｉｐｙ．ｏｒｇ／ｄｏｃ／ｓｃｉｐｙ／ｒｅｆｅｒｅｎｃｅ／ｇｅｎｅｒａｔｅｄ／ｓｃｉｐｙ．ｃｌｕｓｔｅｒ．ｖｑ．ｋｍｅａｎｓ．ｈｔｍｌ）クラスを用いて計算を行った。我々は１０個のクラスタを作成し、そのうちの３個は図３に示される。クラスタ化の出力は、各ユーザを最も近い一致パターンに類別するために用いられ得る。
【００７４】
静止エリア（例えば自宅／勤務エリアおよびＰＯＩｓ）
本発明のいくつかの実施形態によれば、この関数は、特定のユーザのＰＯＩおよび／または自宅／勤務エリアなどの、静止エリアを検出する。入力データは、やはりセルハンドオーバから抽出される。自宅／勤務エリアの例のために我々は、規則的な毎日のパターンを有する人々が通常自宅または職場（または学生に対しては学校／大学）にいるようになる、２つの固定の間隔、午後９時〜午前５時および午前１０時〜午後４時をそれぞれ定義する。このような人々に対してこれは平日のほとんどに当てはまることになり、従って我々はこの仮定を用いて彼等の自宅／勤務場所を予測することができる（これはその地域の習慣に基づいて異なる国に対して、または時間におけるユーザの予期される行動に応じて異なるＰＯＩｓに対して、調整され得る）。
【００７５】
最初に我々は、これらの時間間隔内のすべてのハンドオーバターゲットセルを取得し、重みを割り当てる。例えば重みは、次のハンドオーバまでに経過する時間とすることができる（事実上、その特定のセル内でモバイルが過ごした時間）。我々はこれらのハンドオーバセルのジオロケーションに対する加重平均を計算すれば、我々は各時間間隔に対する最も関連のある位置を取得し、従って我々は自宅／勤務場所近似を得ることになる。
【００７６】
詳細には本発明のいくつかの実施形態において、ｈをハンドオーバ、ｗ（ｈ）をハンドオーバの重み、ｔｓ（ｈ）をハンドオーバのタイムスタンプ属性とする。我々は重みｗ（ｈ）を、
ｗ（ｈcurrent）＝ｔｓ（ｈnext）−ｔｓ（ｈcurrent）
となるように計算し、ただしｎｅｘｔは所与のユーザのために並ぶ、次の既知のハンドオーバである。ｇｅｏ（ｈ）をハンドオーバにおけるターゲットセルの２次元ジオロケーション、およびＨhomeを想定された自宅時間間隔（午後９時〜午前５時）に従った、ユーザのハンドオーバのフィルタリングされた集合とする。次に我々は自宅位置を以下により計算する。
【数１８】
2018106704.tif 000026
【００７７】
同様に勤務場所またはＰＯＩが計算され得る。
【００７８】
重みは、特定のセル内にユーザがいる持続時間に基づくだけでなく、他のパラメータも関わることができる。例えば小さなエリアを有するセルは、大きなエリアを有するセルより高い重みをもつことができる。これは例えばセルのエリアに反比例する追加の重み係数として表され得る。従って、ユーザは小さなセル内に短時間だけいる場合があるが、この時間の間、ユーザの位置は高い精度で決定されることが反映され得る。
【００７９】
セルのジオロケーションは、「毎日の移動パターン」のシナリオに対して述べられたものと同じやり方で決定され得る。
【００８０】
図４は、近似する自宅位置の例示の可視化を示す。基地局に示される時間は、ユーザがそれぞれのセルにいつハンドオーバを行ったかを示す。星印は、これらのセルの重み付きジオロケーションから計算された位置を示す。図から分かるように、計算された位置は、実際の位置（大きな家によって示され、他の位置は小さな家として示される）に非常に近い。
【００８１】
従って毎日の移動パターンの結果は、勤務時間が不規則な人々に適合するように、個々に静止期間を検出するために用いられる。我々はこれらの静止期間内の加重平均を用いて、ユーザがより長い時間留まる位置を検出することができ、通常これは職場または自宅位置である。
【００８２】
応用例として、一定の場所に一定の時間留まる（すなわちＰＯＩ、自宅位置、勤務場所など）、行き交う人々のプロファイルに従って、実世界のデジタル広告掲示板に動的コンテンツを載せることができる。ユーザの関心が知られている場合、これらの関心にコンテンツ（例えば広告、公共輸送機関時刻表、ニュース、または交通渋滞の情報）を適応させることができる。さらには、ユーザの静止エリアの知識に基づいて、広告掲示板を配置することができる。
【００８３】
対応する応用例は、通勤者の経路に沿ってデジタル広告掲示板を配置または制御するために、本明細書において上記で述べられた「一緒の通勤」シナリオの位置情報を用いることができる。
【００８４】
概念実証
上述のアルゴリズムは事実上任意の言語で実施され得るが、追加設定なしで用いられ得るもの（Ｐｙｔｈｏｎなど）より、すでに機械学習関連ライブラリを有する言語に対して、より実現可能である。我々の概念実証は、主にＰｙｔｈｏｎ、ワイヤシャーク、およびＰｏｓｔｇｒｅＳＱＬを用いて行われた。アーキテクチャは、図５に見ることができる。
【００８５】
我々のテストデータは、ゲートウェイハンドオーバおよびユーザプレーン関連データを含んだ、Ｓ５／Ｓ１１／Ｓ１Ｕインターフェースからの生のパケット捕捉ファイルからなる。制御プレーンデータからユーザおよび彼等のハンドオーバが抽出され、相互に関係付けられ、データベースに書き込まれた。セルジオロケーションのリストもデータベース内にアップロードされ、そこからユーザ位置を推定することができた。また、本発明のいくつかの実施形態に対して本明細書において上記で述べられたアルゴリズムを含む、分析の結果を可視化するように実装されたＧＵＩがある。このＰｏＣは機能の実証のために良好であり、Ｐｙｔｈｏｎを用いることは迅速な開発を達成するために大きな助けとなった。
【００８６】
実際の製品に対しては、ビッグデータ対応の言語およびフレームワークを用いることが推奨される。単一サーバ展開アーキテクチャは、図６に見ることができる。
【００８７】
この解決策は、Ｓ５／Ｓ１１／Ｓ１Ｕインターフェースからの４０Ｇｂ／ｓパケットデータの処理を達成することを目標とする。相関エンジンは、制御プレーンおよびユーザプレーンの整合を行い、ユーザハンドオーバは、Ｓｐａｒｋストリーミングを用いて書かれた分類およびモデルビルダに転送される。Ｓｐａｒｋストリーミングは、Ａｐａｃｈｅ  Ｓｐａｒｋ上で稼働するポピュラーなバッチストリーム処理エンジンである。我々の現在の推定によれば、４０Ｇｂ／ｓ電話会社ネットワークデータの取り扱いは、単一サーバインスタンスを用いて達成され得る。
【００８８】
しかしＳｐａｒｋのおかげで、この解決策は容易にスケーラブルとなり得る。４０Ｇｂ／ｓを超えるＰｏＣに対する将来の計画は、図７に見ることができる。
【００８９】
図８は、本発明の例示の実施形態による装置を示す。装置はコンピュータ、またはその要素とすることができる。図９は、本発明の例示の実施形態による方法を示す。図８による装置は、図９の方法を行うことができるが、この方法に限定されない。図９の方法は、図８の装置によって行われ得るが、この装置によって行われることに限定されない。
【００９０】
装置は、分配手段１０、計算手段２０、総計手段３０、およびクラスタリング手段４０を備える。分配手段１０、計算手段２０、総計手段３０、およびクラスタリング手段４０は、それぞれ分配回路、計算回路、総計回路、およびクラスタリング回路とすることができる。
【００９１】
分配手段１０は、複数のユーザのそれぞれの位置データを、ユーザのそれぞれのためのそれぞれのバケットに分配する（Ｓ１０）。位置データのそれぞれは、ある時点でのそれぞれのユーザの位置を示す。時間は、日などの所定の期間中である。バケットのそれぞれは、期間のそれぞれの時間間隔（例えば１０分）を含む。時間間隔は重複せず期間を包含する。時間間隔はユーザのすべてに対して同じであり、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する。
【００９２】
計算手段２０は、ユーザの各ペアに対しておよび時間間隔のそれぞれに対して、それぞれのバケット内の位置データに基づいて、それぞれのペアのユーザの間のそれぞれの部分距離を計算する（Ｓ２０）。
【００９３】
総計手段３０は、ユーザのペアのそれぞれに対して、期間（例えば日）にわたる部分距離を総計する（Ｓ３０）。このようにして、それぞれのペアのユーザの間の距離が取得される。
【００９４】
クラスタリング手段４０は、ユーザのそれぞれのクラスタを取得するために、互いに最も近い距離を有するユーザをクラスタ化する（Ｓ４０）。
【００９５】
図１０は、本発明の例示の実施形態による装置を示す。装置はコンピュータ、またはその要素とすることができる。図１１は、本発明の例示の実施形態による方法を示す。図１０による装置は、図１１の方法を行うことができるが、この方法に限定されない。図１１の方法は、図１０の装置によって行われ得るが、この装置によって行われることに限定されない。
【００９６】
装置は、分配手段１１０、計算手段１２０、決定手段１３０、およびクラスタリング手段１４０を備える。分配手段１１０、計算手段１２０、決定手段１３０、およびクラスタリング手段１４０は、それぞれ分配回路、計算回路、決定回路、およびクラスタリング回路とすることができる。
【００９７】
分配手段１１０は、複数のユーザのセルデータを、ユーザのそれぞれのためのそれぞれのバケットに分配する（Ｓ１１０）。セルデータのそれぞれは、例えば日などの所定の期間のある時点で、ユーザの位置が確認されたセルを示す。バケットのそれぞれは、期間のそれぞれの時間間隔（例えば１０分）を含む。時間間隔は重複せず期間を包含する。時間間隔はユーザのすべてに対して同じであり、時間間隔のそれぞれに対してユーザのそれぞれのためのバケットが存在する。
【００９８】
計算手段１２０は、それぞれのバケット内のセルデータに基づいて、時間間隔のそれぞれに対して、ユーザのそれぞれの平均位置を計算する（Ｓ１２０）。
【００９９】
決定手段１３０は、ユーザのそれぞれに対しておよび時間間隔のそれぞれに対して、それぞれのユーザの速度を決定する（Ｓ１３０）。速度は、それぞれの時間間隔に後続する時間間隔における平均位置とそれぞれの時間間隔の平均位置の差と、時間間隔の持続時間の比として計算される。
【０１００】
クラスタリング手段１４０は、ユーザのそれぞれのクラスタを取得するために、期間の時間間隔にわたって、ユーザのもう一人のそれぞれの速度に近いそれぞれの速度を有する、ユーザをクラスタ化する（Ｓ１４０）。
【０１０１】
図１２は、本発明の例示の実施形態による装置を示す。装置はコンピュータ、またはその要素とすることができる。図１３は、本発明の例示の実施形態による方法を示す。図１２による装置は、図１３の方法を行うことができるが、この方法に限定されない。図１３の方法は、図１２の装置によって行われ得るが、この装置によって行われることに限定されない。
【０１０２】
装置は、決定手段２１０および計算手段２２０を備える。決定手段２１０および計算手段２２０は、それぞれ決定回路および計算回路とすることができる。
【０１０３】
決定手段２１０は、１つまたは複数のセルのそれぞれに対して、所定の期間中にそれぞれのセル内でユーザの位置が確認された、それぞれの持続時間を決定する（Ｓ２１０）。
【０１０４】
計算手段２２０は、期間中にユーザの位置が確認されたセルのジオロケーションの加重平均から、ユーザの平均位置を計算する（Ｓ２２０）。位置のそれぞれの重みは、それぞれのセル内でユーザの位置が確認された持続時間に基づく。
【０１０５】
図１４は、本発明の実施形態による装置を示す。装置は、少なくとも１つのプロセッサ６１０、コンピュータプログラムコードを含んだ少なくとも１つのメモリ６２０を備え、少なくとも１つのプロセッサ６１０は、少なくとも１つのメモリ６２０およびコンピュータプログラムコードを用いて、装置に、図９、１１、および１３ならびに関連する記述による方法の少なくとも１つを少なくとも行わせるように構成される。
【０１０６】
Ｍｕｌｄｅｒらと比較して、本発明の実施形態は異なる手法および距離関数を使用し、述べられる基本的なクラスタリングアルゴリズム（階層的クラスタリング）は本発明の「一緒の通勤」機能と同様である。またＭｕｌｄｅｒらの論文は、同様の通勤習慣に対するユーザクラスタリング方法を含まない。
【０１０７】
Ｍｕｒａｔらによって開示された概念は、本発明の実施形態と非常に異なる。Ｍｕｒａｔらによって導入されたセルクラスタリングの欠点は、多くのセルを組み合わせるときに、位置における精度が過度に失われることである。またＭｕｒａｔらの論文は、同様の通勤習慣に対するユーザクラスタリング方法のための方法を導入していない。
【０１０８】
本発明の実施形態は、３ＧＰＰネットワーク（ＬＴＥ、ＬＴＥ−Ａなど）においてのみでなく、ネットワークにおいてユーザのハンドオーバデータが使用可能な他のネットワークにおいて（例えばＧＳＭ(登録商標)ネットワークにおいて）も使用され得る。
【０１０９】
１つの情報は、１つのエンティティから別のエンティティに、１つまたは複数のメッセージにおいて送信され得る。これらのメッセージのそれぞれは、他の（異なる）情報を含むことができる。
【０１１０】
ネットワーク要素、プロトコル、および方法の名前は、現在の標準に基づく。他のバージョンまたは他の技術において、これらのネットワーク要素および／またはプロトコルおよび／または方法の名前は、それらが対応する機能をもたらす限り、異なり得る。
【０１１１】
端末装置は、それぞれのネットワークに接続し得る任意のデバイスとすることができる。例えば端末装置は、ＵＥ、携帯電話、ラップトップ、スマートフォン、マシンタイプ通信デバイスなどとすることができる。
【０１１２】
特に明記されない、またはその他文脈から明らかにされない場合、２つのエンティティが異なるという記述は、それらが異なる機能を行うことを意味する。これは必ずしもそれらが異なるハードウェアに基づくことを意味しない。すなわち本明細書で述べられるエンティティのそれぞれは異なるハードウェアに基づくことができ、あるいはエンティティのいくつかまたはすべては同じハードウェアに基づくことができる。これは必ずしもそれらが異なるソフトウェアに基づくことを意味しない。すなわち本明細書で述べられるエンティティのそれぞれは異なるソフトウェアに基づくことができ、あるいはエンティティのいくつかまたはすべては同じソフトウェアに基づくことができる。本発明の実施形態は全体にまたは部分的にクラウドにおいて使用されることができ、それぞれのタスクのためのリソース（例えばプロセッサ、ソフトウェア、メモリ、ネットワーク）は、他のアプリケーションと共有され得る。
【０１１３】
上記の記述により、従って本発明の例示の実施形態は、例えばコンピュータ、またはその構成要素、同じものを具体化した装置、同じものを制御するかつ／または動作させる方法、および同じものを制御するかつ／または動作させるコンピュータプログラム（複数可）、ならびにこのようなコンピュータプログラム（複数可）を運ぶまたはコンピュータプログラム製品（複数可）を形成する媒体をもたらすことが明らかとなるべきである。
【０１１４】
上述のブロック、装置、システム、技法、手段、エンティティ、ユニット、デバイス、または方法のいずれの実装形態も、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路またはロジック、汎用ハードウェアまたはコントローラまたは他のコンピューティングデバイス、仮想マシン、またはそれらの何らかの組み合わせとしての実装形態を含む。
【０１１５】
実施形態の記述は例としてのみ示され、添付の「特許請求の範囲」によって定義される本発明の範囲から逸脱せずに、様々な変更がなされ得ることが留意されるべきである。
【符号の説明】
【０１１６】
１  ユーザ
２  ユーザ
１０  分配手段
２０  計算手段
３０  総計手段
４０  クラスタリング手段
１１０  分配手段
１２０  計算手段
１３０  決定手段
１４０  クラスタリング手段
２１０  決定手段
２２０  計算手段
６１０  プロセッサ
６２０  メモリ
ｉ  時間間隔
ｄ  部分距離
【図１】
2018106704.tif 000037
【図２】
2018106704.tif 000038
【図３】
2018106704.tif 000039
【図４】
2018106704.tif 000040
【図５】
2018106704.tif 000041
【図６】
2018106704.tif 000042
【図７】
2018106704.tif 000043
【図８】
2018106704.tif 000044
【図９】
2018106704.tif 000045
【図１０】
2018106704.tif 000046
【図１１】
2018106704.tif 000047
【図１２】
2018106704.tif 000048
【図１３】
2018106704.tif 000049
【図１４】
2018106704.tif 000050
【外国語明細書】
2018106704000001.pdf