Notice: Undefined variable: fterm_desc_sub in /mnt/www/biblio_conv.php on line 353
滞在場所推定装置、方法及びプログラム
説明

滞在場所推定装置、方法及びプログラム

【課題】ユーザの位置を密に計測することが困難でも、滞在場所を推定可能とする。
【解決手段】滞在場所抽出処理部32により、先ず期間グループLi ごとにその位置データに対しクラスタリングを行って滞在エリアの集合を抽出し、この抽出された滞在エリア集合に含まれる滞在エリア間の距離が近いもの同士を統合して共通滞在エリアとする。次に、上記共通滞在エリアに含まれる位置データの各々について、当該位置データが出現する期間グループの数をカウントして、そのカウント値がしきい値以上となる位置データを含む共通滞在エリアの集合を抽出する。そして、滞在系列抽出処理部33により、推定対象の期間グループで計測された位置データと、上記抽出された共通滞在エリアの集合に含まれる滞在エリアとの間の距離を計算し、この距離がしきい値以下となる滞在エリアとこれに含まれる位置データの系列を選択し、これらの情報を滞在系列データとする。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、GPS(Global Positioning System)に代表される位置計測デバイスによって取得されたユーザの位置情報からユーザが滞留した地点を推定し、その推定結果をユーザの行動予測に提供する滞在場所推定装置、方法及びプログラムに関する。
【背景技術】
【0002】
GPSに代表される位置計測デバイスを搭載した携帯端末をユーザが携行することで、取得・蓄積された位置データをもとに予測モデルを構成し、ユーザの移動を予測する手法が提案されている。例えば、非特許文献1には、取得されたGPSデータからユーザが滞在した場所をクラスタリングによって抽出し、蓄積されたデータをもとに滞在場所間の移動を表すマルコフモデルを構築し、行動を予測する手法が記載されている。
【0003】
また、非特許文献2には、同様にGPSデータをクラスタリングすることによってユーザが滞在した場所を抽出したのち、ユーザの一日の行動を滞在場所を並べた系列で表現し、その後この系列に対し系列パターンマイニング処理を適用して系列パターンを抽出し、この抽出されたパターンを用いることでユーザの行動を予測する手法が記載されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Daniel Ashbrook and Thad Starner, “Using GPS to Learn Significant Locations and Predict Movement across Multiple Users”, Personal and Ubiquitous Computing 7(5), pp. 275-286 (2003)
【非特許文献2】M. Nishino, T. Yamada, S. Seko, M. Motegi, S. Muto and M. Abe, A place prediction algorithm based on frequent time-sensitive patterns, In Pervasive 2009 adjunctive proceedings, 2009
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、実環境で携帯端末を用いて位置を計測しようとすると、例えばGPS信号を受信し難い場所の存在や携帯端末の性能的な限界の影響により、ユーザの位置計測に失敗したり計測を行う時間間隔が長くなり、その結果位置の計測結果が疎になる場合がある。このような場合、ユーザの滞在場所の系列を把握に取得できなくなり、結果として系列パターンの抽出や行動予測といった処理を失敗するという課題があった。
【0006】
この発明は上記事情に着目してなされたもので、その目的とするところは、ユーザの位置を密に計測することが困難な場合でも、ユーザの滞在場所の系列を正確に検出できるようにし、これにより高精度の行動予測を可能にする滞在場所推定装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
一般に、ユーザの日常の行動には、通勤や通学、商店街で夕飯の買い物をするといった、日々繰り返される行動が存在する。この種の行動については、ある日の行動の位置データが疎な場合でも、同じ行動をとっている別の日に取得された位置データを用いることで、ユーザがどこに滞在したかを推定することが可能である。
【0008】
この発明の1つの観点は、以上の点に着目してなされたもので、携帯端末から当該携帯端末の位置データを複数の期間グループに渡り間欠的に取得して、この取得された位置データを当該位置データの計測時刻が含まれる期間グループに関連付けて記憶する。この状態で、上記期間グループごとに当該期間グループに計測時刻が含まれる位置データに対しクラスタリング処理を行って、複数の位置データが含まれる滞在エリアの集合を抽出し、この抽出されたすべての滞在エリア集合を対象としてこれらの滞在エリア集合に含まれる各滞在エリア間の距離をそれぞれ計算して、この距離が予め設定した第1のしきい値以下の滞在エリア同士を統合してこの滞在エリアを共通滞在エリアとして出力する。次に、上記統合処理により得られた共通滞在エリアに含まれる位置データの各々について、当該位置データが出現する期間グループの数をカウントし、このカウント値が予め設定した第2のしきい値以上となる位置データを含む共通滞在エリアの集合を抽出する。そして、上記記憶された位置データのうち推定対象の期間グループに計時時刻が含まれる位置データを読み出し、この読み出された位置データと上記抽出された共通滞在エリアの集合に含まれる滞在エリアとの間の距離を計算し、この距離の計算結果に基づいて、当該計算された距離が予め設定した第3のしきい値以下となる滞在エリアを抽出すると共にこの抽出された滞在エリアに含まれる位置データの系列を選択し、上記抽出された滞在エリアと当該滞在エリアに含まれる上記選択された位置データの系列を表す情報を、上記推定対象の期間グループにおける滞在系列を表す情報として出力するようにしたものである。
【0009】
したがって、過去の複数の期間グループにおいて計測された位置データからユーザが毎日定常的に滞在する共通滞在エリアが抽出され、この抽出された共通滞在エリアの情報に基づいて、推定対象とする期間グループにおけるユーザの滞在場所を推定することが可能となる。このため、例えば携帯端末の性能的な限界等の影響により、ユーザの位置計測に失敗したりまた計測を行う時間間隔が長くなり、その結果位置データの計測密度が疎になったとしても、推定対象とする期間にユーザがどの場所に滞在したかを高い確率で推定することが可能となる。
【0010】
上記共通滞在エリアを出力する際に使用される滞在エリア間の距離計算手段又は過程としては、滞在エリアの重心の座標間の距離を計算する手段又は過程と、滞在エリアに含まれる複数の位置データのうち位置の座標が最も近いもの同士の距離を計算する手段又は過程と、滞在エリアに含まれるすべての位置データを含む最小の矩形領域間の距離を計算する手段又は過程のいずれかを使用する。
このようにすると、比較的容易に滞在エリア間の距離を計算することができる。
【発明の効果】
【0011】
すなわちこの発明の1つの観点によれば、ユーザの位置を密に計測することが困難な場合でも、ユーザの行動を正確に予測可能にする滞在場所推定装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0012】
【図1】この発明の一実施形態に係わる滞在場所推定方法を実施するシステムの構成を示す図。
【図2】図1に示したシステムにおける携帯端末の機能構成を示すブロック図。
【図3】図1に示したシステムにおけるサービスサーバの機能構成を示すブロック図。
【図4】図3に示したサービスサーバに設けられる位置データ記憶部に記憶される位置データの例を示す図。
【図5】図3に示したサービスサーバに設けられる滞在場所データ記憶部に記憶されるデータの例を示す図。
【図6】図3に示したサービスサーバに設けられる滞在場所抽出処理部による滞在場所抽出処理の手順と内容を示すフローチャート。
【図7】図6に示した滞在場所抽出処理の手順中における共通滞在場所抽出処理の手順と内容を示すフローチャート。
【図8】図7に示した共通滞在場所抽出処理の手順中における日数カウント処理の手順と内容を示すフローチャート。
【図9】図6に示した滞在場所抽出処理の動作説明に使用するための図。
【図10】図7に示した共通滞在場所抽出処理の動作説明に使用するための図。
【図11】図3に示したサービスサーバに設けられる滞在系列抽出処理部による滞在系列抽出処理の手順と内容を示すフローチャート。
【図12】図11に示した滞在系列抽出処理の動作説明に使用するための図。
【発明を実施するための形態】
【0013】
以下、図面を参照してこの発明に係わる実施形態を説明する。
図1は、この発明の一実施形態に係わる滞在場所推定装置を備えたシステムを示す図である。このシステムは、それぞれユーザが所持する複数の携帯端末MS1〜MSnを、通信ネットワークNWを介して、滞在場所推定装置としてのサービスサーバSVに接続可能としたものである。
【0014】
通信ネットワークNWは、IP(Internet Protocol)網と、このIP網にアクセスするためのアクセス網とから構成される。アクセス網としては、公衆通信網、携帯電話網、LAN(Local Area Network)、無線LAN、CATV(Cable Television)網等が用いられる。
【0015】
携帯端末MS0〜MSnは、携帯電話機やPDA(Personal Digital Assistant)、ネットブック等と呼ばれる携帯型のパーソナル・コンピュータからなり、次のように構成される。図2はその機能構成を示すブロック図である。
すなわち、携帯端末MS1〜MSnは、制御部11と、無線送受信部12と、符号化処理部13と、音声インタフェースとしてのスピーカ14及びマイクロホン15と、GPS(Global Positioning System)受信機16と、記憶部17と、入力部18及び表示部19とを備えている。
【0016】
無線送受信部12は、アンテナ12aを介して通信ネットワークNWとの間で無線信号を送受信する。符号化処理部13は、音声やテキスト等の情報データ及び制御データを送受信するために必要な符号化処理及び復号処理を行う。GPS受信機16は、図示しない複数のGPS衛星から送信されるGPS信号をアンテナ16aを介して受信する。記憶部17は、上記情報データを記憶すると共に、後述するGPS計測部111により得られたGPSデータを記憶する。入力部18はダイヤルキーパッド及び複数の機能キーからなり、ユーザが通信に係わる種々情報を入力するために用いる。表示部19は例えば液晶表示器からなり、通信に係わる種々の情報を表示する。
【0017】
制御部11は、この発明に係わる機能として、GPS計測部111と、GPSデータ送信制御部112を備えている。GPS計測部111は、例えば5分以上の予め定められた計測周期で上記GPS受信機16を起動し、当該GPS受信機16により受信されたGPS信号を取り込んで自端末の位置データを生成する。位置データli は、計測IDをi とするとき、経度xi 、緯度yi 、計測時刻ti からなる3つの要素で表される。この生成された位置データli は記憶部17に記憶される。
【0018】
GPSデータ送信制御部112は、サービスサーバSVから位置データの送信要求が到来した場合に、上記記憶部17に記憶された位置データli を読み出して要求元のサービスサーバSVに向け送信する。なお、位置データli は、定期的又は自端末の緯度経度が一定量以上変化したときに、記憶部17から読み出してサービスサーバSVへ送信するようにしてもよい。
【0019】
サービスサーバSVは、例えば通信事業者又はサービス事業者が運用するもので、次のように構成される。図3はその機能構成を示すブロック図である。
すなわち、サービスサーバSVは、送受信ユニット2と、処理ユニット3と、記憶ユニット4とを備えている。送受信ユニット2は、処理ユニット3の制御の下で通信ネットワークNWとの間で情報の送受信を行う。
【0020】
記憶ユニット4は、HDD(Hard Disc Drive)又はSSD(Solid State Drive)を使用したランダムアクセス可能な不揮発性メモリを使用したもので、この発明を実現するために必要な記憶部として、位置データ記憶部41と、滞在場所データ記憶部42と、滞在系列データ記憶部43とを備えている。
【0021】
位置データ記憶部41は、後述する位置データ収集処理部31の制御の下で、上記携帯端末MS1〜MSnから収集された位置データ、つまり経度、緯度、計測時刻を、計測IDと関連付けて記憶するために使用される。
滞在場所データ記憶部42は、後述する滞在場所抽出処理部32により位置データから抽出された滞在場所データを記憶するために使用される。
滞在系列データ記憶部43は、後述する滞在系列抽出処理部33により抽出された滞在系列データを記憶するために使用される。
【0022】
処理ユニット3は、中央処理ユニット(CPU;Central Processing Unit)を中核とするもので、この発明を実施するために必要な処理機能として、位置データ収集処理部31と、滞在場所抽出処理部32と、滞在系列抽出処理部33と、滞在系列出力処理部34とを備えている。これらの処理機能はいずれもアプリケーション・プログラムを上記CPUに実行させることにより実現される。
【0023】
位置データ収集処理部31は、各携帯端末MS1〜MSnに対しそれぞれ異なるタイミングで定期的にGPSデータの送信要求を送信し、この要求に対し各携帯端末MS1〜MSnが送信するGPSデータを送受信ユニット2により受信して位置データ記憶部41に記憶させる処理を実行する。
【0024】
滞在場所抽出処理部32は、次の処理を実行する。
(1) 位置データ記憶部41から、期間グループごとにその位置データを読み込み、この読み込んだ位置データに対しクラスタリング処理を行って、滞在エリアの集合を抽出する処理。
(2) 上記抽出された滞在エリア集合を対象としてこれらの滞在エリア集合に含まれる各滞在エリア間の距離をそれぞれ計算し、この距離が予め設定した第1のしきい値以下の滞在エリア同士を統合して共通滞在エリアとする処理。
(3) 上記統合処理により得られた共通滞在エリアに含まれる位置データの各々について、当該位置データが出現する期間グループの数をカウントして、このカウント値が予め設定した第2のしきい値以上となる位置データを含む共通滞在エリアの集合を抽出して、この共通滞在エリアの集合を(1) で抽出された期間グループごとの滞在エリアの集合と共に滞在場所データ記憶部42に記憶させる処理。
【0025】
滞在系列抽出処理部33は、上記位置データ記憶部41から推定対象の期間グループで計測された位置データを読み込むと共に、上記滞在場所データ記憶部42から上記共通滞在エリアの集合及び期間グループごとの滞在エリアの集合を読み込む。そして、上記推定対象の期間グループで計測された位置データと、上記共通滞在エリアの集合に含まれる滞在エリアとの間の距離を計算する。続いて、この距離の計算結果に基づいて、当該計算された距離が予め設定した第3のしきい値以下となる滞在エリアを抽出すると共に、この抽出された滞在エリアに含まれる位置データの系列を選択し、これらの情報を上記推定対象の期間グループにおける滞在系列データとして、滞在系列データ記憶部43に記憶させる処理を実行する。
【0026】
滞在系列出力処理部34は、例えば図示しない他のサーバから滞在系列データの取得要求が送られた場合に、上記滞在系列データ記憶部43から滞在系列データを読み出して送受信ユニット2から要求元のサーバへ送信する処理を実行する。なお、滞在系列出力処理部34が定期的に、又は滞在系列データが更新されるごとに、当該滞在系列データを自律的に読み出して送信するようにしてもよい。
【0027】
次に、以上のように構成されたシステムによるユーザの滞在場所推定動作を、サービスサーバSVの動作を主体として説明する。
(1)位置データ計測処理
各ユーザが所持する携帯端末MS1〜MSnでは、定常状態において以下のように位置情報の検出及び送信処理が行われる。すなわち、制御部11は定常状態においてGPS計測タイミングになったか否かを監視している。この状態で、前回の計測タイミングから例えば5分が経過すると、GPS計測部111がGPS受信機16を起動し、このGPS受信機16により受信されたGPS信号を取り込んで「緯度」及び「経度」を算出する。そして、この算出された「緯度」及び「経度」に「計測時刻」を付与し、この「計測時刻」が付与された「緯度」及び「経度」を位置データとして記憶部17に格納する。
【0028】
また制御部111は、上記位置データの計測処理を定期的に実行しながら、位置データ送信要求の受信を監視する。この状態で、サービスサーバSVから送信要求を受信すると、位置データ送信制御部112を起動する。そして、位置データ送信制御部112により、上記記憶部17から前回の送信より後に記憶された位置データを読み出し、この読み出された各位置情報を符号化処理部13及び無線送受信部12からサービスサーバSVに向け送信させる。以後、送信要求が受信されるごとに、上記記憶部17に記憶された位置データをサービスサーバSVへ送信させる。
【0029】
(2)位置データの収集処理
サービスサーバSVは、位置データ収集処理部31の制御の下で、各携帯端末MS1〜MSnに対しそれぞれ異なるタイミングで定期的に位置データの送信要求を送信する。そして、この要求に対し各携帯端末MS1〜MSnから送信される位置データを送受信ユニット2により受信し、位置データ記憶部41に記憶させる。図4は、位置データ記憶部41に記憶された位置データの一例を示すものである。
【0030】
なお、この位置データを記憶させる際に、その後の滞在場所抽出処理のために、記憶された位置データをその計測時刻に基づいて幾つかの期間グループに分割する。例えば、ある時刻T0 に対して、T0 ≦ti ≦T0 +τであるようなli の集合をひとつの期間グループ、T0 +τ≦ti ≦T0 +2τであるようなli の集合を別の期間グループとして期間グループ分けを行う。τは定数値であり、例えばτ=24時間とすれば、ひとつの期間グループに含まれる位置データの集合がユーザの1日の行動に対応する。作成された期間グループを、それぞれL1 ,L2, …,LN とする。Nは期間グループの総数である。
【0031】
(3)滞在場所の抽出処理
(3−1)クラスタリング処理
滞在場所抽出処理部32は、位置データ記憶部41に複数日数分の位置データが記憶されると、当該位置データ記憶部41から位置データを上記期間グループL1 ,L2, …,LN ごとに読み込む。そして、この読み込んだ各期間グループL1 ,L2, …,LNの位置データに対しクラスタリング処理を実行してユーザが滞在した場所を抽出する。
【0032】
図6は、この滞在場所抽出処理の手順と処理内容を示すフローチャートである。
滞在場所抽出処理部32は、先ずステップS11によりカウンタiに“1”をセットし、ステップS12により期間グループLi つまり期間グループL1 を選択する。そして、この期間グループL1 に含まれる位置データを位置データ記憶部41から読み込み、クラスタリング処理を実行する。
【0033】
クラスタリング処理には、例えば位置データの密度に基づいてクラスタリングを行うDBSCANアルゴリズムを適用する。このDBSCANアルゴリズムを適用したクラスタリング処理の手順と内容については、J.S. M. Ester, H.P. Kriegel and X. Xu, A density-based algorithm for discovering clusters in large spatial databases with noise, In Proc. of KDD, pp. 226 - 231, 1996.に詳しく記載されている。
【0034】
上記クラスタリング処理によって得られたクラスタの集合をCi ={c1 ,c2 ,…,c|Ci|}とする。ここでci はひとつのクラスタに対応し、|Ci|は期間グループLi から抽出されたクラスタの総数である。得られた各クラスタci が、ユーザがLi の期間中に滞在した場所を表す。図9にクラスタリングによる滞在場所抽出処理の概念図を示す。位置データに対してクラスタリング処理を実行することで、クラスタc1 ,c2 ,c3 ,c4が抽出された様子を示している。
【0035】
上記クラスタリング処理により得られたデータは、例えば以下のように滞在場所データ記憶部42に記憶される。図5はその記憶結果の一例を示すものである。すなわち、位置データを表す計測IDと、期間グループID及び滞在場所IDとが相互に関連付けられて記憶される。期間グループIDはどのLi に位置データが含まれているかを表し、滞在場所IDは位置データがどのクラスタに含まれているかを表す。なお、どのクラスタにも含まれない位置データも存在し、そのような位置データは滞在場所IDを持たない。
【0036】
滞在場所抽出処理部32は、上記期間グループL1 のクラスタ集合C1 の抽出処理が終了すると、続いてステップS14でカウンタiをインクリメントし、ステップS15ですべてのLi に対する処理が終了したか否かを判定する。この判定の結果、まだ処理していないLi があればステップS12に戻って次の期間グループLi を選択し、この選択された期間グループLi に含まれる位置データに対しステップS13においてクラスタリング処理を実行する。以後、同様に未選択のすべての期間グループLi に対し、順次クラスタリング処理を実行する。
かくして、各期間グループLi に対応するクラスタ集合C1 ,C2 ,…,CNが滞在場所データ記憶部42に記憶される。
【0037】
(3−2)共通滞在場所の抽出処理
各期間グループLi に対応するクラスタ集合C1 ,C2 ,…,CNが得られると、滞在場所抽出処理部32は次にステップS16に移行する。そして、上記クラスタ集合C1 ,C2 ,…,CN に共通で含まれている滞在場所を抽出する処理を、以下のように実行する。図7はその処理手順と処理内容を示すフローチャートである。
【0038】
すなわち、滞在場所抽出処理部32は先ずステップS21において、上記滞在場所データ記憶部42からクラスタ集合C1 ,C2 ,…,CN を読み込み、ステップS22においてこれらのクラスタ集合C1 ,C2 ,…,CN の和集合としてのすべてのクラスタを含む集合Cを得る。次にステップS23において上記和集合Cからc≠c’である2つのクラスタc,c’∈Cを取り出し、ステップS24においてこの取り出したクラスタ間の緯度及び経度の距離を算出する。クラスタc,c’間の距離の定義方法としては、例えばクラスタc,c’の重心間の距離を利用する方法や、クラスタc,c’内の位置データのうち最も近いものどうしの距離を利用する方法などが考えられる。
【0039】
次に滞在場所抽出処理部32は、ステップS24において、上記算出されたクラスタc,c’間の距離を予め設定したしきい値と比較する。この比較の結果、クラスタc,c’間の距離がしきい値以下の場合は、クラスタcとc’とは同じ滞在場所を表していると判断してステップS25に移行し、このクラスタcとc’とを統合する。そして、この統合処理後のクラスタを滞在場所データ記憶部42に一時保存する。これに対しクラスタc,c’間の距離がしきい値を超えている場合には、クラスタc,c’の統合を行わずにステップS26に移行する。
【0040】
滞在場所抽出処理部32は、ステップS26において、上記クラスタの和集合Cの中に存在するすべてのクラスタについて、まだ上記ステップS24,S25の処理が行われていない組み合わせが存在するか否かを判定する。そして、未処理の組み合わせが存在する場合には、ステップS23に戻って当該未選択のクラスタの組み合わせを1つ選択し、この選択したクラスタの組み合わせについて上記ステップS24,S25によるクラスタの統合処理を行う。以後同様に、和集合Cの中に存在するすべてのクラスタの組み合わせについて上記ステップS24,S25によるクラスタの統合処理を繰り返し実行し、すべての組み合わせに対する統合処理が終了すると、ステップS27に移行する。
【0041】
滞在場所抽出処理部32は、ステップS27において、上記クラスタの統合処理の結果を用いて日数のカウント処理を以下のように行う。図8はその処理手順と処理内容を示すフローチャートである。
【0042】
滞在場所抽出処理部32は、先ずステップS31において、上記クラスタ間の統合処理が終了したクラスタ集合Cを滞在場所データ記憶部42から読み込む。次に、ステップS32で、出力対象のクラスタ集合C’を初期化(=空集合)したのち、ステップS33においてc∈Cをひとつ取り出す。そして、ステップS34において、上記取り出されたクラスタcに含まれる各位置データについてどの期間グループLi に含まれるかを調べ、cに含まれる位置データが何種類の期間グループに含まれるかをカウントする。例えば、n種類の期間グループに含まれるならば、その滞在場所はn種類の時間区間で出現したことを意味する。例えば、いまτ=24時間であるならば、その滞在場所はn日分の位置データにおいて出現したことに相当する。
【0043】
滞在場所抽出処理部32は、続いてステップS35において、上記ステップS34において得られた期間グループ数のカウント値、つまり日数をしきい値と比較する。この比較の結果、期間グループ数のカウント値(日数)がしきい値以上であれば、ステップS36に移行して、上記ステップS34で取り出されたクラスタcを出力対象のクラスタ集合C’に追加する。これに対し、上記期間グループ数のカウント値(日数)がしきい値以下であれば、ステップS36の処理を行わずにステップS37に移行する。
【0044】
滞在場所抽出処理部32は、ステップS37において、c∈Cであるすべてのクラスタcに対し上記ステップS33〜S36による処理が終了したか否かを判定する。この判定の結果、まだ処理していないクラスタcが残っていれば、ステップS33に戻って未選択のクラスタcをひとつ選択し、この選択したクラスタcに対し上記ステップS34〜S36による処理を実行する。以後、未処理のクラスタをひとつ選択するごとに、上記ステップS34〜S36による処理を実行する。
【0045】
そうして、すべてのクラスタcに対する処理が終了すると、滞在場所抽出処理部32はステップS38(図7のステップS28)において、出力対象のクラスタ集合C’を滞在場所データ記憶部42に記憶させる。滞在場所抽出処理部32は、最後にステップS17に移行して、上記すべての出力対象のクラスタ集合C’に加えて滞在場所集合C1 ,C2 ,…,CN を滞在場所データ記憶部42に記憶させ、処理を終了する。
【0046】
図10は、以上述べた共通滞在場所抽出処理を概念的に示したものである。同図(a)〜(c)はそれぞれ異なる期間グループL1 ,L2 ,L3 のクラスタ集合を表し、点線はユーザが移動した軌跡を表している。
ユーザが移動しているときに、ユーザが携行している端末に搭載されたGPS計測部111を用いてユーザの位置が計測され、この計測された位置データをもとにサービスサーバSVの滞在場所抽出処理部32において滞在場所抽出処理が行われ、これによりユーザの滞在場所としてP01〜P08が抽出されたとする。この場合、図7に示すクラスタの統合処理により、P01、P04及びP07が同一のクラスタとして統合され、かつP02、P05、P03及びP06も同様に同一のクラスタとして統合される。そして、図8に示す日数カウント処理により、P01とP04とP07とを統合したクラスタの期間グループ数が“3”、かつP02とP05とを統合したクラスタ及びP03とP06とを統合したクラスタの期間グループ数が“2”とそれぞれカウントされる。また、ステップS8のステップS35において用いられるしきい値を“2”に設定すると、上記統合されたクラスタがC’に含まれ、最終的に図10(d)に示すようにP09、P10、P11が得られる。
【0047】
(4)滞在系列の抽出処理
上記滞在場所抽出処理部32による滞在場所の抽出処理が終了すると、続いて滞在系列抽出処理部33が以下のように滞在系列データの抽出処理を実行する。図11はその処理手順と処理内容を示すフローチャートである。
【0048】
滞在系列抽出処理部33は、先ずステップS41において位置データ記憶部41からある期間グループLi に含まれる位置データを読み込む。読み込む位置データは、計測された順にli1,li2,…,li|Li|とする。ここで|Li|はLi に含まれる位置データの総数である。次に、ステップS42においてカウンタjの値を1にセットしたのち、ステップS43において位置データlijの座標とクラスタ集合Ci ∪C’に含まれる各クラスタとの間の距離を計算する。距離の定義は幾種類か考えられ、例えば各クラスタの重心の座標間の距離としてもよいし、各クラスタに含まれるすべての計測点を含む最小の矩形領域間の距離としてもよい。
【0049】
滞在系列抽出処理部33は、続いてステップS44において、上記計算された距離が予め設定したしきい値以下となるようなクラスタcが存在するか否かを判定する。この判定の結果、しきい値以下のクラスタcが存在する場合には、当該ユーザは期間グループLiにおいてクラスタcに対応する滞在場所で滞在を開始したと判断し、ステップS45に移行する。
【0050】
ステップS45において滞在系列抽出処理部33は、j≦k≦aを満たすすべてのkについて、likとクラスタcとの間の距離がしきい値以下になるような、最大のaを選択する。liaはクラスタcに対応する滞在場所での滞在が続く期間の終端に相当する。つまり、ユーザがクラスタcに滞在していたときの最後の位置データである。そして滞在系列抽出処理部33は、ステップS46により、lijからliaまでの期間にクラスタcに相当する滞在場所にユーザが滞在した旨の情報を、滞在系列データとして滞在系列記憶部43に記憶する。
【0051】
また滞在系列抽出処理部33は、上記滞在系列データが終了すると、ステップS47でカウンタjをa+1に更新すると共にステップS48でjをj+1に更新し、しかるのちステップS49でjが|Li|を超えていないかどうかを判定する。この判定の結果、jが|Li|を超えていなければ、ステップS43に戻って先に述べたステップS43〜ステップS48の処理を実行する。以後、jが|Li|を超えるまで、各jについて上記ステップS43〜ステップS48の処理を繰り返し実行する。そして、jが|Li|を超えると、滞在系列抽出処理を終了する。
【0052】
図12は、以上述べた滞在系列の抽出処理を概念的に示した図である。例えば、いま期間グループLi において、「開始」と書かれた矢印から「終了」と書かれた矢印に向けてユーザが移動したとする。この移動中に計測された位置データを図11に示した滞在系列抽出処理のフローチャートに沿って処理すると、順にc1 、c2 、c4 の近傍を通過しているため、同図の下部に示すような滞在系列(E01、E02、E03)が得られる。この滞在系列(E01、E02、E03)は滞在系列記憶部43に記憶される。
【0053】
この状態で、例えば他の行動予測機能を持ったサーバから滞在系列データの取得要求が到来すると、滞在系列出力処理部34が上記滞在系列記憶部43からすべての滞在系列データを読み出し、この読み出された滞在系列データを送受信ユニット2から要求元のサーバに向け送信する。
上記滞在系列データを受信したサーバは、この受信した滞在系列データを利用することによって、例えば非特許文献1又は2に記載されたマルコフモデルや系列パターンを用いた行動予測処理が可能になる。
【0054】
以上詳述したようにこの実施形態では、滞在場所抽出処理部32により先ず期間グループLi ごとにその位置データに対しクラスタリングを行って滞在エリアの集合C1 ,C2 ,…,CN を抽出し、この抽出された滞在エリア集合C1 ,C2 ,…,CNを対象としてこれらの滞在エリア集合C1 ,C2 ,…,CNに含まれる各滞在エリア間の距離をそれぞれ計算し、この距離が予め設定した第1のしきい値以下の滞在エリア同士を統合して共通滞在エリアとする。次に、上記統合処理により得られた共通滞在エリアに含まれる位置データの各々について、当該位置データが出現する期間グループの数をカウントして、このカウント値が予め設定した第2のしきい値以上となる位置データを含む共通滞在エリアの集合を抽出する。そして、滞在系列抽出処理部33により、推定対象の期間グループで計測された位置データと、上記抽出された共通滞在エリアの集合に含まれる滞在エリアとの間の距離を計算し、この距離の計算結果に基づいて当該計算された距離が予め設定した第3のしきい値以下となる滞在エリアを抽出すると共にこの抽出された滞在エリアに含まれる位置データの系列を選択し、これらの情報を上記推定対象の期間グループにおける滞在系列を表す情報として出力するようにしている。
【0055】
したがって、過去の複数の期間グループにおいて計測された位置データからユーザが毎日定常的に滞在する共通滞在エリアが抽出され、この抽出された共通滞在エリアの情報に基づいて、推定対象とする期間グループにおけるユーザの滞在場所を推定することが可能となる。このため、例えば携帯端末の性能的な限界等の影響により、ユーザの位置計測に失敗したりまた計測を行う時間間隔が長くなり、その結果位置データの計測密度が疎になったとしても、推定対象とする期間にユーザがどの場所に滞在したかを高い確率で推定することが可能となる。
【0056】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態ではサービスサーバが滞在系列を生成する処理を行い、この処理により得られた滞在系列データを他のサーバ装置に送信し、このサーバ装置で上記滞在系列データをもとにユーザの行動予測を行うようにした。しかし、サービスサーバにおいて上記滞在系列データの生成処理から行動予測処理までを一括して行うようにしてもよい。
その他、滞在場所推定装置の構成、その処理手順と処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【0057】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0058】
MS1〜MSn…携帯端末、SV…サービスサーバ、NW…通信ネットワーク、2…サービスサーバの送受信ユニット、3…処理ユニット、4…記憶ユニット、11…携帯端末の制御部、12…無線送受信部、13…符号化処理部、14…スピーカ、15…マイクロホン、16…GPS受信機、17…携帯端末の記憶部、18…入力部、19…表示部、31…位置データ収集処理部、32…滞在場所抽出処理部、33…滞在系列抽出処理部、34…滞在系列出力処理部、41…位置データ記憶部、42…滞在場所データ記憶部、43…滞在系列記憶部、111…GPS計測部、112…GPSデータ送信制御部。

【特許請求の範囲】
【請求項1】
携帯端末から当該携帯端末の位置データを複数の期間グループに渡り間欠的に取得し、この取得された位置データを当該位置データの計測時刻が含まれる期間グループに関連付けて記憶する手段と、
前記記憶された位置データを前記期間グループごとに読み出し、当該期間グループごとに当該期間グループに計測時刻が含まれる位置データに対しクラスタリング処理を行って、複数の位置データが含まれる滞在エリアの集合を抽出する手段と、
前記期間グループごとに抽出されたすべての滞在エリア集合を対象として、これらの滞在エリア集合に含まれる各滞在エリア間の距離をそれぞれ計算し、この計算された距離が予め設定した第1のしきい値以下の滞在エリア同士を統合して共通滞在エリアとして出力する手段と、
前記統合処理により得られた共通滞在エリアに含まれる位置データの各々について、当該位置データが出現する期間グループの数をカウントし、このカウント値が予め設定した第2のしきい値以上となる位置データを含む共通滞在エリアの集合を抽出する手段と、
前記記憶された位置データのうち推定対象の期間グループに計時時刻が含まれる位置データを読み出し、この読み出された位置データと前記抽出された共通滞在エリアの集合に含まれる滞在エリアとの間の距離を計算する手段と、
前記距離の計算結果に基づいて、当該計算された距離が予め設定した第3のしきい値以下となる滞在エリアを抽出すると共に、この抽出された滞在エリアに含まれる位置データの系列を選択する手段と、
前記抽出された滞在エリアと当該滞在エリアに含まれる前記選択された位置データの系列を表す情報を、前記推定対象の期間グループにおける滞在系列を表す情報として出力する手段と
を具備することを特徴とする滞在場所推定装置。
【請求項2】
前記共通滞在エリアを出力する手段は、滞在エリア間の距離を計算する手段として、滞在エリアの重心の座標間の距離を計算する手段と、滞在エリアに含まれる複数の位置データのうち位置の座標が最も近いもの同士の距離を計算する手段と、滞在エリアに含まれるすべての位置データを含む最小の矩形領域間の距離を計算する手段のいずれかを使用することを特徴とする請求項1記載の滞在場所推定装置。
【請求項3】
携帯端末から当該携帯端末の位置データを複数の期間グループに渡り間欠的に取得し、この取得された位置データを当該位置データの計測時刻が含まれる期間グループに関連付けて記憶する過程と、
前記記憶された位置データを前記期間グループごとに読み出し、当該期間グループごとに当該期間グループに計測時刻が含まれる位置データに対しクラスタリング処理を行って、複数の位置データが含まれる滞在エリアの集合を抽出する過程と、
前記期間グループごとに抽出されたすべての滞在エリア集合を対象として、これらの滞在エリア集合に含まれる各滞在エリア間の距離をそれぞれ計算し、この計算された距離が予め設定した第1のしきい値以下の滞在エリア同士を統合してこの統合された滞在エリアを共通滞在エリアとして出力する過程と、
前記出力された共通滞在エリアに計測時刻が含まれる位置データの各々について、当該位置データが出現する期間グループの数をカウントし、このカウント値が予め設定した第2のしきい値以上となる位置データを含む共通滞在エリアの集合を抽出する過程と、
前記記憶された位置データのうち推定対象の期間グループに計時時刻が含まれる位置データを読み出し、この読み出された位置データと前記抽出された共通滞在エリアの集合に含まれる滞在エリアとの間の距離を計算する過程と、
前記距離の計算結果に基づいて、当該計算された距離が予め設定した第3のしきい値以下となる滞在エリアを抽出すると共に、この抽出された滞在エリアに含まれる位置データの系列を選択する過程と、
前記抽出された滞在エリアと当該滞在エリアに含まれる前記選択された位置データの系列を表す情報を、前記推定対象の期間グループにおける滞在系列を表す情報として出力する過程と
を具備することを特徴とする滞在場所推定方法。
【請求項4】
前記共通滞在エリアを出力する過程は、滞在エリア間の距離を計算する方法として、滞在エリアの重心の座標間の距離を計算する方法と、滞在エリアに含まれる複数の位置データのうち位置の座標が最も近いもの同士の距離を計算する方法と、滞在エリアに含まれるすべての位置データを含む最小の矩形領域間の距離を計算する方法のいずれかを使用することを特徴とする請求項1記載の滞在場所推定方法。
【請求項5】
請求項1又は2記載の滞在場所推定装置が備える各手段に対応する処理を、前記滞在場所推定装置が備えるプロセッサに実行させる滞在場所推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−170811(P2011−170811A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−36604(P2010−36604)
【出願日】平成22年2月22日(2010.2.22)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】