説明

滞在地コンテキスト抽出装置、滞在地コンテキスト抽出方法およびプログラム

【課題】連続的に収集される移動履歴情報から、屋内屋外を問わず、滞在区間を逐次抽出する、滞在地コンテキスト抽出装置、滞在地コンテキスト抽出方法およびプログラムを提供する。
【解決手段】滞在地コンテキスト抽出装置100は、位置情報収集装置200からGPSログ(ログ情報)と無線LAN装置のアクセスポイント検知履歴とを移動履歴情報として取得し、移動履歴情報DB141に記憶する。そして、滞在地コンテキスト抽出装置100は、移動履歴情報DB141からGPSログを所定の間隔で取得し、取得した情報の緯度、経度、検出日時の平均値と、その直前区間の各平均値とを用いて、2つのデータの距離および速度が所定値以下の場合に、滞在区間を抽出する。また、移動履歴情報DB141からアクセスポイント検知履歴を取得し、同じアクセスポイント情報が所定時間連続する区間を滞在区間として抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、滞在地コンテキスト抽出装置、滞在地コンテキスト抽出方法およびプログラムに関する。
【背景技術】
【0002】
日記的ブログのための行動思い出しの促進、自分史の自動作成のための行動蓄積、安全や効率的な行動レコメンドのための行動解析などの実現に際し、人の行動履歴を自動で把握するためには様々な要件が必要となる。その中で、身近にある機器を用いて連続的に抽出される移動履歴データから、屋内屋外を問わず、意味のある場所と想定される滞在地を漏れなく離散系列データとして逐次抽出することが、特に重要となる。
この要件に関連する従来技術には、以下の方式がある。
【0003】
例えば、非特許文献1には、GPS(Global Positioning System)ロガーを用いて定期的に蓄積されたGPSデータを、データ・カテゴライズ技術を用いて処理し、データが集中するエリア、すなわち滞在したであろう場所を抽出する技術が開示されている。
【0004】
また、非特許文献2には、無線LAN機器(WiFi(登録商標):Wireless Fidelity)の全アクセスポイントに位置情報(緯度、経度)を付加してサーバ側で予め管理しておき、利用者が収集した1つ以上のWiFiデータをサーバに送信すると、当該データから三角測量などの技術を利用して、現在位置を推定する技術が開示されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】西野、外5名、「滞在地遷移情報からの行動パターン抽出方式の検討」、情報処理学会、第20回UBI研究会、2008年11月13日
【非特許文献2】暦本純一、味八木崇「When becomes Where: WiFiセルフロギングによる継続的位置履歴取得とその応用」、情報処理学会インタラクション2007
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1に記載された技術は、ある程度、データを蓄積しないと精度の高い滞在地の抽出ができないため、リアルタイムでの滞在地情報の逐次の抽出には適さない。また、GPSデータ取得が欠落したビルの谷間や屋内のGPSデータの補完には、線形補完を用いるため、屋内入口で欠落し、同じ地点でGPSデータを再補足した場合、当該入口が滞在地として誤抽出されるなどの問題があった。
【0007】
また、非特許文献2に記載された技術では、たとえば、無線LAN機器のアクセスポイントが収集できない人里離れた場所などでは、方式上、現在地を推定することができない。また、アクセスポイントの場所は容易に想定できるものではなく、緯度および経度情報を予め正確に登録する手間が大きいなどの課題がある。
【0008】
このような背景に鑑みて本発明がなされたのであり、本発明は、身近にある機器を用いて連続的に収集される移動履歴データから、屋内屋外を問わず、滞在情報を逐次抽出する、滞在地コンテキスト抽出装置、滞在地コンテキスト抽出方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
前記した課題を解決するため、請求項1に記載の発明は、衛星電波通信手段および無線ネットワーク通信手段を備えた位置情報収集装置に通信ネットワークを介して接続され、前記衛星電波通信手段からの電波情報をもとに逐次検出される前記位置情報収集装置の前記ユーザの緯度、経度およびその緯度、経度を検出した検出日時からなるログ情報と、前記無線ネットワーク通信手段により検出される無線通信ネットワークのアクセスポイント情報およびそのアクセスポイント情報の検出日時からなるアクセスポイント検知履歴と、を前記ユーザの移動履歴情報として前記位置情報収集装置から受信し、前記受信した移動履歴情報を用いて、前記ユーザが滞在した滞在地情報と滞在時間とによりユーザの移動中における滞在区間を示した滞在区間情報を生成する滞在地コンテキスト抽出装置であって、前記移動履歴情報が記憶される移動履歴情報データベース、および前記滞在区間情報が記憶される滞在区間情報データベースを格納する記憶部と、前記位置情報収集装置から前記移動履歴情報を受信し、前記移動履歴情報データベースに記憶させる位置情報取得部と、前記複数の移動履歴情報を用いて、前記滞在区間情報を生成し、前記滞在区間情報データベースに記憶させる滞在区間抽出部と、を備え、前記滞在区間抽出部は、前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの複数の前記ログ情報を取得し、前記取得した複数のログ情報を所定の時間間隔に分割し、その分割された区間に属するログ情報群について、時刻の古い区間順に、前記滞在区間に含めるか否かを判断するため、前記ログ情報群の緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、前記計算した各平均値を、次の区間のログ情報群を滞在区間に含めるかを判断するための直前区間情報として順次上書きして記憶し、前記次の区間におけるログ情報群に示される緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、当該計算した各平均値と、前記直前区間情報として記憶した各平均値とから、当該区間と直前区間との間の距離および速度を計算し、前記計算した距離が所定値未満であり、かつ前記計算した速度が所定値未満である場合に、当該区間のログ情報群および直前区間のログ情報群を合わせて前記各平均値を計算し、当該計算した情報を第1の滞在区間情報として抽出し、さらに、前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの前記複数のアクセスポイント検知履歴を取得し、同じ前記アクセスポイント情報が所定時間連続するアクセスポイント検知履歴群を第2の滞在区間情報として抽出し、前記第1の滞在区間情報として取得できなかった時間における滞在区間情報として、その取得できなかった時間の前記第2の滞在区間情報を追加して前記滞在区間情報を生成することを特徴とする。
【0010】
請求項4に記載の発明は、衛星電波通信手段および無線ネットワーク通信手段を備えた位置情報収集装置に通信ネットワークを介して接続され、前記衛星電波通信手段からの電波情報をもとに逐次検出される前記位置情報収集装置の前記ユーザの緯度、経度およびその緯度、経度を検出した検出日時からなるログ情報と、前記無線ネットワーク通信手段により検出される無線通信ネットワークのアクセスポイント情報およびそのアクセスポイント情報の検出日時からなるアクセスポイント検知履歴と、を前記ユーザの移動履歴情報として前記位置情報収集装置から受信し、前記受信した移動履歴情報を用いて、前記ユーザが滞在した滞在地情報と滞在時間とによりユーザの移動中における滞在区間を示した滞在区間情報を生成する滞在地コンテキスト抽出装置に用いられる滞在地コンテキスト抽出方法であって、前記滞在器コンテキスト抽出装置は、前記移動履歴情報が記憶される移動履歴情報データベース、および前記滞在区間情報が記憶される滞在区間情報データベースを格納する記憶部を備え、前記位置情報収集装置から前記移動履歴情報を受信し、前記移動履歴情報データベースに記憶させるステップと、前記複数の移動履歴情報を用いて、前記滞在区間情報を生成し、前記滞在区間情報データベースに記憶させるステップと、を実行し、さらに、前記滞在区間情報を生成するステップは、前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの複数の前記ログ情報を取得し、前記取得した複数のログ情報を所定の時間間隔に分割し、その分割された区間に属するログ情報群について、時刻の古い区間順に、前記滞在区間に含めるか否かを判断するため、前記ログ情報群の緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、前記計算した各平均値を、次の区間のログ情報群を滞在区間に含めるかを判断するための直前区間情報として順次上書きして記憶するステップと、前記次の区間におけるログ情報群に示される緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、当該計算した各平均値と、前記直前区間情報として記憶した各平均値とから、当該区間と直前区間との間の距離および速度を計算し、前記計算した距離が所定値未満であり、かつ前記計算した速度が所定値未満である場合に、当該区間のログ情報群および直前区間のログ情報群を合わせて前記各平均値を計算し、当該計算した情報を第1の滞在区間情報として抽出するステップと、さらに、前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの前記複数のアクセスポイント検知履歴を取得し、同じ前記アクセスポイント情報が所定時間連続するアクセスポイント検知履歴群を第2の滞在区間情報として抽出するステップと、前記第1の滞在区間情報として取得できなかった時間における滞在区間情報として、その取得できなかった時間の前記第2の滞在区間情報を追加して前記滞在区間情報を生成するステップと、を実行することを特徴とするを特徴とする。
【0011】
このようにすることで、滞在地コンテキスト抽出装置は、位置情報収集装置からログ情報およびアクセスポイント検知履歴を移動履歴情報として受信することができる。そして、滞在地コンテキスト抽出装置は、受信した移動履歴情報から取得した複数のログ情報を、所定の時間間隔毎に分割し、分割した区間毎にログ情報群の緯度、経度、検出日時の平均値を計算する。そして、その計算した平均値と、その直前区間で計算されたログ情報群の緯度、経度、検出日時の平均値とから、当該区間とその直前区間との間の距離と速度を計算する。続いて、滞在地コンテキスト抽出装置は、計算した距離が所定値未満であり、かつ計算した速度が所定値未満である場合に、当該区間のログ情報群および直前区間のログ情報群を合わせて各平均値を計算し、計算した情報を第1の滞在区間情報として抽出する。
さらに、滞在地コンテキスト抽出装置は、受信した移動履歴情報からアクセスポイント検知履歴を取得し、同じアクセスポイント情報が所定時間連続するアクセスポイント検知履歴群を第2の滞在区間として抽出する。
そして、滞在地コンテキスト抽出装置は、第1の滞在区間として取得できなかった時間における滞在区間情報として、第2の滞在区間情報を追加して滞在区間情報を生成する。
【0012】
つまり、滞在地コンテキスト抽出装置は、衛星電波通信手段および無線ネットワーク通信手段を備えた位置情報収集装置から移動履歴情報を取得し、屋外においてログ情報から得た移動履歴情報を用いて、屋内においてはアクセスポイント検知履歴から得た移動履歴情報を用いて、逐次滞在区間を抽出することができる。
【0013】
請求項2に記載の発明は、請求項1に記載の滞在地コンテキスト抽出装置において、前記滞在区間情報データベースから、前記計算したログ情報の検出日時の平均値が隣接する2つの滞在区間情報を抽出し、前記抽出した2つの滞在区間情報の前記ログ情報の検出日時の平均値の間隔が所定値以下であり、かつ前記抽出した2つの滞在区間情報それぞれの前記ログ情報群の緯度および経度により示される滞在地の領域が重なる場合に、前記2つの滞在区間情報を1つの滞在区間情報として前記滞在区間情報データベースに記憶させる滞在区間連結部を備えることを特徴とするを特徴とする。
【0014】
このようにすることで、滞在地コンテキスト抽出装置が抽出した滞在区間情報を補正することができる。具体的には、滞在地コンテキスト抽出装置は、検出日時が近くかつ位置の近い2つの滞在区間情報を、1つの滞在区間情報として連結することができる。よって、隣接する2つの滞在区間情報を1つの滞在区間として抽出することが可能となる。
【0015】
請求項3に記載の発明は、請求項2に記載の滞在地コンテキスト抽出装置において、前記滞在区間情報データベースから前記滞在区間情報を抽出し、前記滞在区間の開始時間から終了時間までの長さが所定値未満の場合に、当該滞在区間情報を前記滞在区間情報データベースから削除する滞在区間削除部を備えることを特徴とするを特徴とする。
【0016】
このようにすることで、滞在区間情報として抽出された情報であっても、滞在時間が短時間であり、滞在情報として記録しておく必要がないと判定される滞在区間情報を削除することができる。
【0017】
請求項5に記載の発明は、請求項4に記載の滞在地コンテキスト抽出方法を、コンピュータに実行させるためのプログラムとした。
【0018】
このようなプログラムによれば、請求項4に記載の滞在地コンテキスト抽出方法を、一般的なコンピュータで実行させることができる。
【発明の効果】
【0019】
本発明によれば、身近にある機器を用いて連続的に収集される移動履歴データから、屋内屋外を問わず、滞在情報を逐次抽出する、滞在地コンテキスト抽出装置、滞在地コンテキスト抽出方法およびプログラムを提供することができる。
【図面の簡単な説明】
【0020】
【図1】本実施形態に係る滞在地コンテキスト抽出システムの全体構成を示す図である。
【図2】本実施形態に係る滞在地コンテキスト抽出システムによる滞在区間の抽出方法を説明する概念図である。
【図3】本実施形態に係る滞在地コンテキスト抽出システムの構成例を示す機能ブロック図である。
【図4】本実施形態に係る滞在地コンテキスト抽出装置による滞在区間の抽出処理の全体の流れを示すフローチャートである。
【図5】本実施形態に係る滞在区間情報の抽出処理の流れを示すフローチャートである。
【図6】本実施形態に係る滞在区間判定処理の流れを示すフローチャートである。
【図7】本実施形態に係る滞在区間情報の補正処理の流れを示すフローチャートである。
【図8】本実施形態に係る滞在区間情報の連結処理の流れを示すフローチャートである。
【図9】本実施形態に係るWiFi滞在区間情報抽出処理の流れを示すフローチャートである。
【図10】本実施形態に係る滞在区間情報の削除処理の流れを示すフローチャートである。
【図11】本実施形態に係る滞在地情報の付加処理の流れを示すフローチャートである。
【図12】本実施形態に係る移動履歴情報の一例を示す図である。
【図13】本実施形態に係る移動履歴情報の一例を示す図である。
【図14】本実施形態に係る直前区間情報の一例を示す図である。
【図15】本実施形態に係る滞在区間情報の一例を示す図である。
【図16】本実施形態に係るエリア情報の一例を示す図である。
【図17】本実施形態に係るユーザ情報の一例を示す図である。
【図18】本実施形態に係る滞在区間情報の一例を示す図である。
【図19】本実施形態に係る直前区間情報の一例を示す図である。
【図20】本実施形態に係る滞在区間情報リストの一例を示す図である。
【図21】本実施形態に係る滞在区間情報リストの一例を示す図である。
【図22】本実施形態に係る滞在区間情報リストの一例を示す図である。
【図23】本実施形態に係る滞在区間情報の一例を示す図である。
【図24】本実施形態に係るエリア情報の一例を示す図である。
【図25】本実施形態に係るエリア−滞在区間情報の一例を示す図である。
【発明を実施するための形態】
【0021】
次に、本発明を実施するための形態(「実施形態」という)について、適宜図面を参照しながら詳細に説明する。
【0022】
図1は、本実施形態に係る滞在地コンテキスト抽出システム1の全体構成を示す図である。
図1に示すように、本実施形態に係る滞在地コンテキスト抽出システム1では、滞在地コンテキスト抽出装置100が、インターネットなどの通信ネットワーク400に接続され、その通信ネットワーク400には、ユーザの位置情報収集装置200(200a,200b,200c,…)が接続されている。
【0023】
ここで、位置情報収集装置200は、GPS(衛星電波通信手段)や無線LAN通信手段(無線ネットワーク通信手段)を内蔵または外付けで具備し、収集した情報を滞在地コンテキスト抽出装置100に送信する。この位置情報収集装置200は、例えば、GPSおよび無線LAN通信手段の双方を具備した携帯端末や、無線LAN通信手段を具備したPC(Personal Computer)などに、GPSロガー201を接続した装置などである。
【0024】
滞在地コンテキスト抽出装置100と通信ネットワーク400を介して接続されるランドマーク検索装置300は、例えば、外部のクラウドサービスとして利用するものであり、中心地(緯度、経度)と探索半径を渡すと、指定した中心地に近い順に探索半径までのランドマーク情報の検索結果を提供する。滞在地コンテキスト抽出装置100が、抽出した滞在情報にランドマーク情報を付加したい場合に接続する。
【0025】
また、図1には記していないが、抽出された滞在情報を利用しサービスを提供するサーバは、通信ネットワーク400に接続され、抽出された滞在情報を滞在地コンテキスト抽出装置100から取得し、ユーザに参照させる。このサービスには、日記的ブログの作成支援、自分史の作成支援、行動レコメンドなどが考えられる。
【0026】
図2は、本実施形態に係る滞在地コンテキスト抽出システム1による滞在区間の抽出方法を説明する概念図である。
図2に示すように、本実施形態に係る滞在地コンテキスト抽出システム1によれば、ユーザが屋外にいるときは、位置情報収集装置200が備えるGPSロガーからの情報により、滞在情報を抽出する。また、GPSが使えない屋内にユーザがいるときは、無線LAN通信手段を用いて、滞在情報を抽出する。
【0027】
また、本実施形態に係る滞在地コンテキスト抽出装置100は、位置情報収集装置200からの移動履歴に基づき、移動距離が少なく、移動速度の遅い滞在情報について、滞在区間として抽出する。そして例えば、A駅、B駅、職場、コンビニ(コンビニエンスストア)、C公園などの滞在地を、緯度、経度や半径で示す滞在区間情報として抽出することができる。
【0028】
図3は本実施形態に係る滞在地コンテキスト抽出システム1の構成例を示す機能ブロック図である。
図3に示すように、本実施形態に係る滞在地コンテキスト抽出装置100は、位置情報収集装置200のGPSログ収集部220およびWiFiアクセスポイント検知ログ収集部230が収集した位置情報(移動履歴情報)を、位置情報送信部210の処理により、通信ネットワーク400を介して受信するものである。また、滞在地コンテキスト抽出装置100は、滞在区間のランドマーク情報を必要とする場合には、通信ネットワーク400を介してランドマーク検索装置300にアクセスする。
【0029】
滞在地コンテキスト抽出装置100は、ユーザが備える位置情報収集装置200から収集したGPSログ(ログ情報)とWiFiのアクセスポイント検知履歴をもとに、概ねの滞在場所である滞在区間情報を離散系列データとして抽出するものである。
この滞在地コンテキスト抽出装置100は、図3に示すように、制御部10と、通信部11と、入出力部12と、メモリ部13と、記憶部14とを含んで構成される。
【0030】
制御部10は、位置情報収集装置200から受信した移動履歴情報を取得し、滞在区間を抽出する処理を行い、位置情報取得部110および滞在区間抽出部120を有する。なお、この制御部10の機能は、例えば滞在地コンテキスト抽出装置100の記憶部14に記憶されたプログラムをCPU(Central Processing Unit)がメモリ部13に展開し実行することで実現される。
【0031】
位置情報取得部110は、通信部11を介して、位置情報収集装置200から移動履歴情報(図12,図13参照)を受信し、後記するユーザ情報データベース(DB:DataBase)147に記憶されたユーザ情報(図17参照)に基づいて、ユーザ認証を行った上で、認証に成功した移動履歴情報を記憶部14に記憶する。
【0032】
滞在区間抽出部120は、移動履歴情報から滞在区間情報(図15参照)を抽出し、その抽出した滞在区間情報を補正する処理を行う。また、滞在区間抽出部120は、滞在区間判定部121と、滞在区間連結部122と、WiFi履歴処理部123と、滞在区間削除部124と、滞在地情報付加部125とを含んで構成される。
【0033】
滞在区間判定部121は、移動履歴情報から抽出したGPSデータについて、「滞在区間の開始」、「滞在区間の継続」、滞在区間ではないため「滞在区間の抽出処理終了」のいずれかを判定する。そして、滞在区間判定部121は、「滞在区間の開始」と判断した場合には、滞在区間IDを取得して滞在区間情報を生成する。
【0034】
滞在区間連結部122は、抽出した2つの滞在区間情報について、検出日時の時間間隔が所定値以内であり、かつ距離が所定値以内である場合に、2つの滞在区間情報を1つの滞在区間情報として連結させる。
【0035】
WiFi履歴処理部123は、WiFiのアクセスポイント検知履歴を取得し、滞在区間情報を生成する処理を行う。
【0036】
滞在区間削除部124は、抽出された滞在区間情報について、滞在時間を算出し、滞在時間が所定値未満の場合は、その滞在区間情報を削除する処理を行う。
【0037】
滞在地情報付加部125は、ランドマーク検索装置300(図3参照)、後記するエリア情報DB144、住所DB145を検索して、エリア情報IDを取得し、エリア情報IDと滞在区間IDとを関連付けるエリア−滞在区間情報(図25参照)を生成する。
【0038】
次に、通信部11は、通信ネットワーク400を介して各装置との情報の送受信を行うためのインタフェースからなる。
入出力部12は、キーボードなどからなり制御部10の処理に関する指示を与える入力手段と、液晶ディスプレイなどからなる出力手段を有する。
メモリ部13は、RAM(Random Access Memory)などの記憶手段からなり、制御部10の制御に必要な情報を一時的に記憶する。
【0039】
記憶部14は、GPSログ(ログ情報)とWiFiのアクセスポイント検知履歴から得た情報である移動履歴情報(図12,図13参照)が記憶される移動履歴情報DB141と、直前に処理した区間の情報である直前区間情報(図14参照)が記憶される直前区間情報DB142と、抽出された滞在区間に関する情報である滞在区間情報(図15参照)が記憶される滞在区間情報DB143と、滞在地の名称を管理するエリア情報(図16参照)が記憶されるエリア情報DB144と、緯度および経度と住所との対応情報が記憶される住所DB145と、滞在区間とエリア情報との関係を管理するエリア−滞在区間情報(図25参照)が記憶されるエリア−滞在区間DB146と、ユーザ情報(図17参照)が記憶されるユーザ情報DB147とを含んで構成される。なお、これらの情報の具体的なデータ構成は、後記において具体的に説明する。
【0040】
次に、本実施形態に係る滞在地コンテキスト抽出装置100による滞在地コンテキスト抽出方法について具体的に説明する。
【0041】
図4は、本実施形態に係る滞在地コンテキスト抽出装置100による滞在区間の抽出処理の全体の流れを示すフローチャートである。
図4に示すように、まず、滞在地コンテキスト抽出装置100の位置情報取得部110は、通信部11を介して位置情報収集装置200から、ユーザ情報と、GPSログ(ログ情報)あるいはアクセスポイント検知履歴とを移動履歴情報として受信する(ステップS1000)。
【0042】
ここで、ユーザ情報(図17参照)は、ユーザ名とパスワードから構成される情報である。
また、移動履歴情報(図12,図13参照)は、ユーザに固有の番号であるユーザIDと、受信した情報がGPSデータかWiFiデータかの別を示す種別と、検出日時と、GPSから取得される緯度および経度と、WiFiのアクセスポイント検知履歴から取得されるMACアドレスと、電波強度と、無線LANのアクセスポイントの識別子であるSSID(Service Set Identifier)とを有する。
【0043】
次に、位置情報取得部110は、取得したユーザ名とパスワードがユーザ情報DB147に登録されているか否かを判断するユーザ情報の認証を行う(ステップS2000)。
そして、ユーザ情報がユーザ情報DB147に登録されており、認証が成功すれば(ステップS3000→Yes)、次のステップS4000に進む。一方、認証に失敗した場合は(ステップS3000→No)、エラーとして滞在区間情報の抽出処理を終了する(ステップS6000)。
【0044】
ステップS4000において、位置情報取得部110は、ユーザ認証に成功した移動履歴情報(図12,図13参照)を、記憶部14内の移動履歴情報DB141に登録する。
【0045】
そして、滞在区間抽出部120は、移動履歴情報DB141に登録された移動履歴情報を用いて、滞在区間を抽出する処理(滞在区間情報の抽出処理)を行う(ステップS5000)。なお、滞在区間情報の抽出処理については、次に示す図5において詳細に説明する。
【0046】
(滞在区間情報の抽出処理)
図5は、本実施形態に係る滞在区間情報の抽出処理の流れを示すフローチャートである。
まず、滞在区間抽出部120は、ユーザIDをキーとして、直前の滞在区間の情報である直前区間情報を直前区間情報DB142から取得する(ステップS5100)。
【0047】
この直前区間情報(図14参照)は、ユーザIDと、その直前区間内で検出されたデータの緯度および経度の相加平均と、検出日時の相加平均と、滞在区間フラグと、そのデータの開始日時・終了日時と、滞在区間IDとを有する。
ここで、滞在区間フラグとは、その直前区間が滞在区間として抽出されたか否かを示す情報であり、直前区間が滞在区間として抽出されていれば「true」と入力され、抽出されていなければ「false」と入力される。また、滞在区間フラグが「true」の場合には、その滞在区間に付された滞在区間IDが入力され、「false」の場合には、「null」が入力される。
【0048】
次に、滞在区間抽出部120は、移動履歴情報DB141からGPSログを抽出する(ステップS5200)。
そして、滞在区間抽出部120は、データの古い順に、所定の時間間隔(区間)毎のGPSログを取得する(ステップS5300)。この所定の時間間隔(区間)は、例えば、1分間隔、3分間隔などとし、予め設定しておくものである。
【0049】
続いて、滞在区間抽出部120は、取得したデータ件数が0件か否かを判断する(ステップS5400)。そして、取得した件数が0件でなければ(ステップS5400→No)、ステップS5500へ進む。
【0050】
ステップS5500において、滞在区間判定部121は、取得したデータが、新たな滞在区間の開始、滞在区間の継続、滞在区間の抽出処理終了のいずれに該当するかを判断する(滞在区間判定処理)。なお、滞在区間判定処理については、図6において詳細に説明する。
【0051】
次に、ステップS5400において、取得したデータ件数が0件だった場合、またはステップS5500の滞在区間判定処理を終えた場合に、滞在区間抽出部120は、すべてのGPSログを処理したか否かを判断する(ステップS5600)。ここで、まだ処理していないGPSログがある場合には(ステップS5600→No)、ステップS5300へ戻り処理を続ける。一方、すべてのGPSログの処理を終えた場合には(ステップS5600→Yes)、次のステップS5700に進み、滞在区間情報の補正処理(後記する図7参照)を行う。
【0052】
(滞在区間判定処理)
次に、図5のステップS5500において、滞在区間判定部121が行う滞在区間判定処理について説明する。
図6は、本実施形態に係る滞在区間判定処理の流れを示すフローチャートである。
まず、滞在区間判定部121は、図5のステップS5300において所定間隔内で取得したGPSログの緯度の相加平均、経度の相加平均、検出日時の相加平均を計算する(ステップS5510)。
【0053】
続いて、滞在区間判定部121は、ステップS5510で計算した各平均値と、直前区間情報(図14参照)の緯度の相加平均値、経度の相加平均値、検出日時の相加平均値とから、移動した距離と速度を計算する(ステップS5520)。なお、この直前区間情報は、図5のステップS5300において所定の時間間隔で取得された当該区間の一つ前に取得され処理された区間に関する情報が、直前区間情報DBに上書きされて記憶されているものである(後記するステップS5540,S5570,S5590参照)。
【0054】
そして、滞在区間判定部121は、計算した距離が所定値未満であり、かつ速度が所定値未満であるか否かを判断する(ステップS5530)。
ここで、距離が所定値未満、かつ速度が所定未満でない場合は(ステップS5530→No)、そのGPSログについての滞在区間の抽出処理を終了する(滞在区間の抽出処理終了)。その際、ステップS5510で計算したデータを直前区間情報に記憶し、滞在区間フラグを「false」にし、滞在区間IDを「null」にして、直前区間情報DB142を上書きする(ステップS5540)。
【0055】
一方、距離が所定値未満、かつ速度が所定値未満である場合には(ステップS5530→Yes)、取得したデータの滞在区間情報を生成または更新するため、ステップS5550へ進む。
【0056】
ステップS5550において、直前区間情報の滞在区間フラグが「false」の場合は(ステップS5550→Yes)、ステップS5510で計算したデータと、直前区間情報とを用いて、滞在区間情報を生成し、滞在区間IDを取得して滞在区間情報DB143に記憶する(ステップS5560)。
そして、滞在区間判定部121は、ステップS5510で計算したデータを直前区間情報DBに上書きする(ステップS5570)。その際、滞在区間フラグを「true」に設定して記憶させる。
なお、このGPSログのデータをもとに生成された滞在区間情報を、請求項において第1の滞在区間情報という。
【0057】
ステップS5550において、直前区間情報の滞在区間フラグが「false」でない(つまり「true」)場合は(ステップS5550→No)、ステップS5510で計算したデータと、直前区間データとを用いて滞在区間情報を更新し、滞在区間情報DB143に記憶する(ステップS5580)。
そして、滞在区間判定部110は、ステップS5510で計算したデータを直前区間情報DBに上書きする(ステップS5590)。その際、滞在区間フラグを「true」に設定して記憶させる。
【0058】
この滞在区間情報(図15参照)は、滞在区間毎に付される固有の番号である滞在区間IDと、ユーザIDと、受信した情報がGPSデータかWiFiデータかの別を示す種別と、緯度および経度の相加平均値と、半径と、検出日時の相加平均値と、WiFiエリア名と、取得したデータの開始日時・終了日時とを有する。
ここで、半径は、滞在区間内の日時のGPSタグのデータ群の位置情報から重心を計算し、すべてのデータを包むようにして算出する。また、種別がWiFiデータの場合は、緯度、経度、半径の値は「null」となり、WiFiエリア名が入力される。なお、GPSデータを用いた滞在区間情報の場合は、WiFiエリア名は「null」となる。
【0059】
(滞在区間情報の補正処理)
次に、図5のステップS5700における滞在区間情報の補正処理について説明する。
図7は、本実施形態に係る滞在区間情報の補正処理の流れを示すフローチャートである。
まず、滞在区間抽出部120は、滞在区間情報DB143から滞在区間情報を取得し、メモリ部13(図3参照)に、滞在区間情報リスト(図20参照)を生成する(ステップS5710)。
【0060】
次に、ステップS5720において、滞在区間連結部122は、古い順に連続する滞在区間情報2つを読み込み、検出日時の間隔と滞在区間の重心間の距離とに基づき、2つの滞在区間情報を連結する処理(滞在区間情報の連結処理)を行う(後記する図8参照)。
【0061】
そして、ステップS5730において、WiFi履歴処理部123は、WiFiのアクセスポイント検知履歴(WiFiデータ)を取得し、滞在区間情報の抽出処理を行う(後記する図9参照)。
【0062】
続いて、ステップS5740において、滞在区間削除部124は、滞在区間情報から滞在区間の長さ(時間)を算出し、その時間が所定値未満の場合は、その滞在区間情報を削除(滞在区間情報の削除処理)する(後記する図10参照)。
【0063】
次に、ステップS5750において、滞在地情報付加部125は、滞在区間情報とエリア情報とを結びつけ、滞在区間にエリア名を付加する滞在地情報の付加処理を行う(後記する図11参照)
【0064】
(滞在区間情報の連結処理)
次に、図7のステップS5720における滞在区間情報の連結処理について説明する。
図8は、本実施形態に係る滞在区間情報の連結処理の流れを示すフローチャートである。
まず、滞在区間連結部122は、図7のステップS5710で生成した滞在区間情報リストのうち、古い日時の順に滞在区間情報を2つずつ読み込む(ステップS5721)。そして、滞在区間連結部122は、読み込みができなければ(ステップS5722→No)、処理を終える。一方、読み込みができた場合には(ステップS5722→Yes)、次のステップS5723へ進む。
【0065】
次に、滞在区間連結部122は、2つの滞在区間情報の検出日時の間の時間が所定値以下であるかを判定する(ステップS5723)。所定値以下でなければ(ステップS5723→No)、ステップS5721へ戻り処理を続ける。所定値以下であれば(ステップS5723→Yes)、ステップS5724へ進む。
【0066】
そして、滞在区間連結部122は、読み込んだ2つの滞在区間情報それぞれのGPSログから得た緯度および経度により示される滞在地(緯度および経度を重心として、半径で求まる円領域)に重なる領域があるか否かを判定する。具体的には、2つの滞在区間情報の重心間の距離より、半径の和の方が大きいかを判定する(ステップS5724)。半径の和の方が小さければ(ステップS5724→No)、ステップS5721へ戻り処理を続ける。一方、半径の和の方が大きければ(ステップS5724→Yes)、滞在区間に重なる領域があると判定し、次のステップS5725へ進む。
【0067】
ステップS5725において、滞在区間連結部122は、ステップS5721で読み込んだ2つの滞在区間情報を連結し、滞在区間情報リストを上書きし、滞在区間情報DB143に記憶する。
具体的には、1つ前の滞在区間情報の終了日時を当該滞在区間情報の終了日時で上書きし、当該滞在区間情報をリストから削除し、滞在区間内の日時のGPSデータを移動履歴情報から取得し、重心を計算し、全体を含むような半径を計算し、1つ前の滞在区間情報について滞在区間情報リストと滞在区間情報DB143とを上書きする。
【0068】
(WiFi滞在区間情報抽出処理)
次に、図7のステップS5730におけるWiFi滞在区間情報抽出処理について説明する。
図9は、本実施形態に係るWiFi滞在区間情報抽出処理の流れを示すフローチャートである。
まず、WiFi履歴処理部123は、移動履歴情報DB141からWiFiのアクセスポイント検知履歴(図12,13参照)を取得する(ステップS5731)。
【0069】
次に、WiFi履歴処理部123は、アクセスポイント検知履歴を取得できたか否かを判定し(ステップS5732)、アクセスポイント検知履歴が取得できなければ(ステップS5732→No)、処理を終える。一方、取得できた場合には(ステップS5732→Yes)、ステップS5733へ進む。なお、このとき、同じ検出日時のものは、強度(電波強度)が最大のものを取得する。
【0070】
続いて、ステップS5733において、WiFi履歴処理部123は、同じアクセスポイント情報(MACアドレス)が、所定時間以上連続する区間を滞在区間として抽出する。ここで異なるMACアドレスでも、同じWiFiエリア名を有するアクセスポイント情報は、同じ滞在区間として抽出する。
なお、このアクセスポイント検知履歴のデータをもとに生成された滞在区間情報を、請求項において第2の滞在区間情報という。
【0071】
そして、WiFi履歴処理部123は、抽出した滞在区間を滞在区間情報リストに登録し(ステップS5734)、同じく抽出した滞在区間を滞在区間情報DB143に記憶する(ステップS5735)。
【0072】
このようにすることで、例えば、ユーザが屋内や地下などに移動し、GPSログから滞在区間情報(第1の滞在区間情報)を生成できなかった時間においても、アクセスポイント検知履歴から滞在区間情報(第2の滞在区間情報)を生成し、追加して滞在区間情報を生成することができる。
【0073】
(滞在区間情報の削除処理)
次に、図7のステップS5740における滞在区間情報の削除処理について説明する。この滞在区間情報の削除処理は、滞在区間情報として抽出された情報であっても、滞在時間が短時間であり、滞在情報として記録しておく必要がないと判定される滞在区間情報を滞在区間情報DB143から削除するものである。
【0074】
図10は、本実施形態に係る滞在区間情報の削除処理の流れを示すフローチャートである。
まず、滞在区間削除部124は、滞在区間情報リストの先頭から順に滞在区間情報を読み込む(ステップS5741)。そして、読み込んだ滞在区間情報があるか否かを判定する(ステップS5742)。すべての滞在区間情報を処理して、読み込む滞在区間情報がなくなれば(ステップS5742→No)、処理を終える。一方、読み込んだ滞在区間情報がある場合には(ステップS5742→Yes)、次のステップS5743へ進む。
【0075】
ステップS5743において、滞在区間削除部124は、滞在区間情報における滞在区間の長さ(時間)を算出し、その長さが所定値未満か否かを判断する(ステップS5743)。そして、滞在区間の長さが所定値未満でない場合には(ステップS5743→No)、ステップS5741へ戻り、処理を続ける。一方、滞在区間の長さが所定値未満の場合は(ステップS5743→Yes)、その滞在区間情報をリストから削除し、滞在区間情報DB143からも削除する(ステップS5744)。
【0076】
(滞在値情報の付加処理)
次に、図7のステップS5750における滞在地情報の付加処理について説明する。
図11は、本実施形態に係る滞在地情報の付加処理の流れを示すフローチャートである。
まず、滞在地情報付加部125は、滞在区間情報リストの先頭から順に滞在区間情報を読み込む(ステップS5751)。そして、読み込んだ滞在区間情報があるか否かを判定する(ステップS5752)。すべての滞在区間情報を処理して、読み込む滞在区間情報がなくなれば(ステップS5752→No)、処理を終える。一方、読み込んだ滞在区間情報がある場合には(ステップS5752→Yes)、次のステップS5753へ進む。
【0077】
次に、滞在地情報付加部125は、滞在区間情報の種別がGPSか否かを判定する(ステップS5753)。種別がGPSの場合は(ステップS5753→Yes)、ステップS5754へ進み、種別がGPSでなくWiFiである場合は(ステップS5753→No)、ステップS5757へ進む。
【0078】
そして、滞在地情報付加部125は、滞在区間がGPSログから抽出されたものの場合(ステップS5753→Yes)、以下の3つの方法により、滞在区間のエリア名を検索する。
まず、滞在地情報付加部125は、記憶部14内のエリア情報DB144を用いて、緯度、経度、半径をキーに検索を行い、エリアが重なるレコードがあれば、その重心の最も近いレコードを取得し、その情報のエリア情報IDを取得する(ステップS5754)。
【0079】
次に、滞在地情報付加部125は、緯度、経度、探索半径に関する情報を、ランドマーク検索装置300に送信し、中心地に近い順に探索半径までのランドマーク情報の検索結果を取得する。そして、新規に取得したランドマーク名は、エリア情報DB144に登録し、エリア情報IDを取得する(ステップS5755)。
【0080】
続いて、滞在地情報付加部125は、住所と緯度および経度とのマッピング情報が記憶された住所DB145を用いて、滞在区間のエリア名を検索する。そして、新規に取得した住所は、エリア情報DB144に登録し、エリア情報IDを取得する(ステップS5756)。
【0081】
一方、ステップS5753において、滞在区間情報がWiFiのアクセスポイント検知履歴から生成されたもので、種別がGPSではないと判定された場合には(ステップS5753→No)、WiFiエリア名をキーにエリア情報DB144を検索する。そして、ヒットするレコードがなければ、そのエリア情報をエリア情報DB144に登録し、エリア情報IDを取得する(ステップS5757)。
【0082】
そして、滞在地情報付加部125は、ステップS5754〜S5757において、取得したエリア情報IDと、滞在区間情報の滞在区間IDとを関連付け、エリア−滞在区間DB146に登録する(ステップS5758)。
【0083】
(データ処理の詳細説明)
次に、具体的に滞在地コンテキスト抽出装置100に、位置情報収集装置200から移動履歴情報が入力されたものとして、各処理をより詳細に説明する。
【0084】
まず、滞在地コンテキスト抽出装置100が行う処理の前提として、記憶部14に記憶されている情報は、直前区間情報が図14、滞在区間情報が図15、エリア情報が図16、そしてユーザ情報が図17のように登録されている状態とする。
そして、位置情報取得部110の処理により、ユーザ情報(図17)を用いてユーザ認証が行われ(図4のステップS2000)、記憶部14内の移動履歴情報DB141内には、ステップS4000の処理により、図12,図13に示す移動履歴情報が登録されているものとして説明する。なお、図12および図13は、ステップS4000により、一度に処理され登録されたものであり、そのデータの一部を図12,図13として示している。
【0085】
(滞在区間情報の抽出処理)
滞在区間抽出部120は、ユーザIDをキーとして、直前区間情報を直前区間情報DB142から取得する(図5のステップS5100)。その結果として、以下の直前区間情報を取得する。
【0086】
【表1】

【0087】
そして、滞在区間抽出部120は、移動履歴情報DB141からGPSログを抽出し(図5のステップS5200)、データの古い順に、所定の時間間隔毎のGPSログを取得する(図5のステップS5300)。本実施形態では、所定の時間間隔を2分とし、以下のような、区間毎にGPSログのデータ群(ログ情報群)を取得する。
【0088】
【表2】

【0089】
(滞在区間判定処理)
次に、滞在区間判定部121は、滞在区間判定処理(図5のステップS5500)を行う。具体的には、滞在区間判定部121は、抽出したGPSログの緯度の相加平均値、経度の相加平均値、検出日時の相加平均値を計算する(図6のステップS5510)。そして以下のような結果を得る。
【0090】
【表3】

【0091】
続いて、滞在区間判定部121は、1つ前に取得した区間の情報である直前区間情報の緯度の相加平均値、経度の相加平均値、検出日時の相加平均値と、上記した(表3)の結果を用いて、距離(km)を計算する。また、距離と時間差から速度を求める(図6のステップS5520)。そして、以下の結果を得る。
【0092】
【表4】

【0093】
そして、滞在区間判定部121は、計算した距離が所定値未満であり、かつ速度が所定値未満であるか否かを判断する(図6のステップS5530)。本実施形態では、距離の所定値を「0.1km」、速度の所定値を「2km/h」とする。
【0094】
従って、滞在区間判定部121は、
(1)速度が2km/h未満、かつ距離が0.1km未満、直前区間情報の滞在区間フラグが「false」の場合(図6のステップS5550→Yes)、滞在区間を開始するため、図6のステップS5560へ進む。
(2)速度が2km/h未満、かつ距離が0.1km未満、直前区間情報の滞在区間フラグが「true」の場合(図6のステップS5550→No)、滞在区間を継続するため、図6のステップS5580へ進む。
(3)上記以外の場合は、滞在区間の抽出処理終了のため、図6のステップS5540へ進む。
【0095】
よって、(表4)の各データについて、滞在区間判定部121は、以下のように処理する。
(a)〔2009-4-12 04:56:45 UTC 〜 2009-4-12 04:58:45 UTCの区間〕は、滞在区間の抽出処理終了のため、図6のステップS5540へ進む(滞在区間の抽出処理終了)。
(b)〔2009-4-12 04:58:45 UTC 〜 2009-4-12 05:00:45 UTCの区間〕は、滞在区間の抽出処理終了のため、図6のステップS5540へ進む(滞在区間の抽出処理終了)。
(c)〔2009-4-12 05:00:45 UTC 〜 2009-4-12 05:02:45 UTCの区間〕は、滞在区間を開始するため、図6のステップS5560へ進む(滞在区間開始処理)。
(d)〔2009-4-12 05:02:45 UTC 〜 2009-4-12 05:04:45 UTCの区間〕は、滞在期間を継続するため、図6のステップS5580へ進む(滞在区間継続処理)。
【0096】
(滞在区間の抽出処理了)
図6のステップS5540の滞在区間の抽出処理終了において、滞在区間判定部121は、(表3)で計算した、検出日時の相加平均、緯度の相加平均、経度の相加平均を、直前区間情報に上書きし、滞在区間フラグを「false」にする。そして、図5のステップS5300の(表2)で抽出したGPSログの最古検出日時を直前区間情報の開始日時に、また、最新検出日時を直前区間情報の終了日時に設定し、さらに、滞在区間IDを「null」に設定して、直前区間情報DB142を上書き保存する。
【0097】
上記(a)のデータの結果として、直前区間情報DB142を以下の直前区間情報で上書きする。
【0098】
【表5】

【0099】
上記(b)のデータの結果として、直前区間情報DB142を以下の直前区間情報で上書きする。
【0100】
【表6】

【0101】
(滞在区間開始処理)
図6のステップS5560において、滞在区間判定部121は、直前区間情報の開始日時を、滞在区間情報の開始日時として登録し、また、図5のステップS5300の結果である(表2)で抽出したデータの最新日時を、滞在区間情報の終了日時として登録する。さらに、滞在区間内の日時のGPSデータを移動履歴情報DB141から取得し、重心を計算し、全体を包むような半径を計算し、当該滞在区間情報の緯度、経度、半径として滞在区間情報DB143に登録する。
【0102】
また、滞在区間判定部121は、(表3)で計算した、検出日時の相加平均、緯度の相加平均、経度の相加平均を、直前区間情報に上書きし、滞在区間フラグを「true」にする。そして、図5のステップS5300の(表2)で抽出したGPSログの最古検出日時を直前区間情報の開始日時に、また、最新検出日時を直前区間情報の終了日時に設定し、さらに、滞在区間IDを設定して、直前区間情報DB142を上書き保存する。
【0103】
上記の滞在区間開始処理の結果として、上記(c)の〔2009-4-12 05:00:45 UTC 〜 2009-4-12 05:02:45 UTCの区間〕において、滞在区間ID「100」を得て、滞在区間情報を(表7)のように登録する。また、直前区間情報を(表8)のように上書き保存する。
【0104】
【表7】

【0105】
【表8】

【0106】
(滞在区間継続処理)
図6のステップS5580において、滞在区間判定部121は、直前区間情報の滞在区間IDをキーに滞在区間情報DB143の滞在区間情報の終了日を、図5のステップS5300の結果である(表2)で抽出したGPSログの最新日時で上書きする。さらに、滞在区間内の日時のGPSデータを移動履歴情報DB141から取得し、重心を計算し、全体を包むような半径を計算し、当該滞在区間情報の緯度、経度、半径として滞在区間情報DB143に登録する。
【0107】
また、滞在区間判定部121は、(表3)で計算した、検出日時の相加平均、緯度の相加平均、経度の相加平均を、直前区間情報に上書きし、滞在区間フラグを「true」にする。そして、図5のステップS5300の(表2)で抽出したGPSログの最古検出日時を直前区間情報の開始日時に、また、(表2)で抽出したGPSログの最新検出日時を直前区間情報の終了日時に設定し、さらに、滞在区間IDをそのままに設定して、直前区間情報DB142を上書き保存する。
【0108】
上記の滞在区間継続処理の結果として、上記(d)の〔2009-4-12 05:02:45 UTC 〜 2009-4-12 05:04:45 UTCの区間〕において、滞在区間ID「100」をそのままに、以下の滞在区間情報を(表9)のように登録する。また、直前区間情報を(表10)のように上書き保存する。
【0109】
【表9】

【0110】
【表10】

【0111】
(滞在区間情報の補正処理)
次に、図7に示す滞在区間情報の補正処理について、詳細に説明する。
まず、滞在地コンテキスト抽出装置100が行う滞在区間情報の補正処理の前提として、記憶部14に、図18に示す滞在区間情報と、図19に示す直前区間情報が、図5のステップS5200の移動履歴情報DB141からのGPSログの抽出により、登録されている状態とする。
【0112】
図7のステップS5710において、ユーザID「1」の情報について、記憶部14に記憶された図18に示す滞在区間情報と、その直前1件の滞在区間情報とを滞在区間情報DB143から取得し、図20に示す滞在区間情報リストを生成する。ただし、本実施形態においては、直前1件の滞在区間情報は0件である。
【0113】
(滞在区間情報の連結処理)
次に、滞在区間連結部122は、図7のステップS5720の滞在区間情報連結処理を行う。
まず、図7のステップS5710で取得した滞在区間情報リスト(図20参照)において、古い日時から順に2つ滞在区間情報を読み込む(図8のステップS5721)。
【0114】
そして、滞在区間連結部122は、取得した2つの滞在区間情報の滞在区間の検出日時の間の時間が所定値以下であるかを判定する(図8のステップS5723)。本実施形態では、所定を2分とすると、滞在区間ID「100」と滞在区間ID「101」の間は20分あり、所定値より大きいため、何もしない。また、滞在区間ID「101」と滞在区間ID「102」の間は、21分であり、所定値より大きいため、何もしない。
【0115】
(WiFi滞在区間情報抽出処理)
次に、WiFi履歴処理部123は、WiFiのアクセス検知履歴からの滞在区間情報の抽出処理を行う(図7のステップS5730)。
【0116】
まず、WiFi履歴処理部123は、移動履歴情報DB141(図12,図13参照)からWiFiのアクセスポイント検知履歴を取得する(図9のステップS5731)。ここで、同じ検出日時のものは、強度が最大のものを取得する。
【0117】
次に、WiFi履歴処理部123は、取得したアクセスポイント検知履歴から、MACアドレスを抽出する。そして、MACアドレスとして、「aa:aa:aa:aa:aa:aa」,「bb:bb
:bb:bb:bb:bb」,「cc:cc:cc:cc:cc:cc:」,「dd:dd:dd:dd:dd:dd」,「ee:ee:ee:ee:ee:
ee」を得る。
【0118】
続いて、WiFi履歴処理部123は、記憶部14に記憶されたエリア情報DB144(図16参照)を用いて、エリア名を取得する。ヒットしなければ、WiFiエリア名として、SSIDを使用する。そして、結果として、WiFi履歴処理部123は、以下リストを得る。
【0119】
【表11】

【0120】
そして、WiFi履歴処理部123は、同じアクセスポイント情報(MACアドレス)が所定時間以上連続する区間を滞在区間として抽出する(図9のステップS5733)。そして、以下の結果を得る。なお、異なるMACアドレスでも、同じWiFiエリア名を持つアクセスポイント情報は、同じ滞在区間として抽出する。
【0121】
【表12】

【0122】
続いて、WiFi履歴処理部123は、上記のように抽出した滞在区間を滞在区間情報リストに登録し(図9のステップS5734)、さらに、滞在区間情報DB143に記憶する(図9のステップS5735)。図21はWiFi履歴処理部123が抽出した滞在区間を滞在区間リストに登録した結果を示している。
【0123】
(滞在区間情報の削除処理)
次に滞在区間削除部124は、滞在区間の長さが短い滞在区間情報を削除する処理を行う(図7のステップS5740)。
【0124】
まず、滞在区間削除部124は、図21に示す滞在区間情報リストの先頭から順に、滞在区間情報を読み込む(図10のステップS5741)。
そして、滞在区間削除部124は、滞在区間の長さ(終了日時 − 開始日時)を算出し、その長さが所定値(本実施形態では5分とする)未満の場合は(図10のステップS5743→Yes)、その滞在区間情報を滞在区間情報リストおよび滞在区間情報DB143から削除する(図10のステップS5744)。
【0125】
図21の滞在区間情報リストにおいて、滞在区間ID「102」は、滞在区間の長さが3分30秒であり、所定時間の5分未満であるため、滞在区間情報リストおよび滞在区間情報DB143から削除する。
また、滞在区間ID「103」も、滞在区間の長さが4分30秒であり、所定時間の5分未満であるため削除する。
この結果として、滞在区間情報リストは、図22に示すようになる。
【0126】
(滞在地情報の付加処理)
次に、滞在地情報付加部125は、滞在区間のエリア名を取得し、滞在区間情報とエリア情報とを関連付ける滞在地情報の付加処理を行う(図7のステップS5750)。
【0127】
まず、滞在地情報付加部125は、滞在区間情報リストの先頭から順に、滞在区間情報を読み込む(図11のステップS5751)。続いて、滞在地情報付加部125は、滞在区間情報の種別がGPSか否かを判定する(図11のステップS5753)。
【0128】
そして、滞在地情報はGPSデータである場合は(図11のステップS5753→Yes)、滞在地情報付加部125は、まず、緯度、経度、半径をキーにエリア情報DB144を検索する(図11のステップS5754)。ここでは、滞在区間ID「100」,「101」については、エリアが重なるレコードがないので、何もしない。
【0129】
次に、滞在地情報付加部125は、通信ネットワーク400を介して接続されたランドマーク検索装置300を利用し、滞在区間のエリア名の検索を行う(図11のステップS5755)。
そして、滞在区間ID「100」について、以下のデータを取得する。
【0130】
【表13】

【0131】
このデータを、エリア情報DB144に登録し、取得したエリア情報ID「3」をエリア−滞在区間DB146に登録する(図11のステップS5758)。
また、滞在区間ID「101」について、以下のデータを取得する。
【0132】
【表14】

【0133】
このデータを、エリア情報DB144に登録し、取得したエリア情報ID「4」をエリア−滞在区間DB146に登録する(図11のステップS5758)。
【0134】
次に、滞在地情報付加部125は、住所と緯度および経度とのマッピング情報が記憶された住所DB145を用いて、滞在区間のエリア名の検索を行う(図7のステップS5756)。
【0135】
一方、滞在区間がWiFiのアクセスポイント検知履歴から生成された緯度および経度が「null」値である滞在区間ID「104」については、エリア情報DB144からエリア名を検索する(図11のステップS5757)。その結果、滞在区間ID「104」についてエリア情報ID「2」を得る。そして、取得したエリア情報ID「2」を、エリア−滞在区間DB146に登録する(図11のステップS5758)。
【0136】
この結果として、図23に示す滞在区間情報、図24に示すエリア情報、そして図25に示すエリア−滞在区間情報を得ることができる。
【0137】
本実施形態に係る滞在地コンテキスト抽出装置、滞在地コンテキスト抽出方法およびプログラムによれば、身近なデバイスを用いることを志向したため、GPS情報はGPS機能付き携帯電話またはGPSロガーを用意すればよく、WiFiのアクセスポイント履歴情報はゲーム機、PDA、ノートPCなどを用意すればよく、ユーザが容易に本発明を実施する環境を整えることが可能である。
また、滞在区間は、収集したGPSデータやWiFiのアクセスポイント情報から自動的に抽出するため、ユーザの手を煩わせることなく、漏れなく抽出することが可能である。
さらに、屋外を得意とするGPSと、屋内を得意とするWiFiを組み合わせた処理が可能なアルゴリズムにより、屋内屋外を問わず、逐次的に滞在区間を抽出していくことが可能である。
【符号の説明】
【0138】
1 滞在地コンテキスト抽出システム
10 制御部
11 通信部
12 入出力部
13 メモリ部
14 記憶部
100 滞在地コンテキスト抽出装置
110 位置情報取得部
120 滞在区間抽出部
121 滞在区間判定部
122 滞在区間連結部
123 WiFi履歴処理部
124 滞在区間削除部
125 滞在地情報付加部
141 移動履歴情報DB
142 直前区間情報DB
143 滞在区間情報DB
144 エリア情報DB
145 住所DB
146 エリア−滞在区間DB
147 ユーザ情報DB
200 位置情報収集装置
201 GPSロガー
300 ランドマーク検索装置
400 通信ネットワーク

【特許請求の範囲】
【請求項1】
衛星電波通信手段および無線ネットワーク通信手段を備えた位置情報収集装置に通信ネットワークを介して接続され、前記衛星電波通信手段からの電波情報をもとに逐次検出される前記位置情報収集装置の前記ユーザの緯度、経度およびその緯度、経度を検出した検出日時からなるログ情報と、前記無線ネットワーク通信手段により検出される無線通信ネットワークのアクセスポイント情報およびそのアクセスポイント情報の検出日時からなるアクセスポイント検知履歴と、を前記ユーザの移動履歴情報として前記位置情報収集装置から受信し、前記受信した移動履歴情報を用いて、前記ユーザが滞在した滞在地情報と滞在時間とによりユーザの移動中における滞在区間を示した滞在区間情報を生成する滞在地コンテキスト抽出装置であって、
前記移動履歴情報が記憶される移動履歴情報データベース、および前記滞在区間情報が記憶される滞在区間情報データベースを格納する記憶部と、
前記位置情報収集装置から前記移動履歴情報を受信し、前記移動履歴情報データベースに記憶させる位置情報取得部と、
前記複数の移動履歴情報を用いて、前記滞在区間情報を生成し、前記滞在区間情報データベースに記憶させる滞在区間抽出部と、を備え、
前記滞在区間抽出部は、
前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの複数の前記ログ情報を取得し、前記取得した複数のログ情報を所定の時間間隔に分割し、その分割された区間に属するログ情報群について、時刻の古い区間順に、前記滞在区間に含めるか否かを判断するため、前記ログ情報群の緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、前記計算した各平均値を、次の区間のログ情報群を滞在区間に含めるかを判断するための直前区間情報として順次上書きして記憶し、
前記次の区間におけるログ情報群に示される緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、当該計算した各平均値と、前記直前区間情報として記憶した各平均値とから、当該区間と直前区間との間の距離および速度を計算し、前記計算した距離が所定値未満であり、かつ前記計算した速度が所定値未満である場合に、当該区間のログ情報群および直前区間のログ情報群を合わせて前記各平均値を計算し、当該計算した情報を第1の滞在区間情報として抽出し、
さらに、前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの前記複数のアクセスポイント検知履歴を取得し、同じ前記アクセスポイント情報が所定時間連続するアクセスポイント検知履歴群を第2の滞在区間情報として抽出し、
前記第1の滞在区間情報として取得できなかった時間における滞在区間情報として、その取得できなかった時間の前記第2の滞在区間情報を追加して前記滞在区間情報を生成すること
を特徴とする滞在地コンテキスト抽出装置。
【請求項2】
前記滞在区間情報データベースから、前記計算したログ情報の検出日時の平均値が隣接する2つの滞在区間情報を抽出し、前記抽出した2つの滞在区間情報の前記ログ情報の検出日時の平均値の間隔が所定値以下であり、かつ前記抽出した2つの滞在区間情報それぞれの前記ログ情報群の緯度および経度により示される滞在地の領域が重なる場合に、前記2つの滞在区間情報を1つの滞在区間情報として前記滞在区間情報データベースに記憶させる滞在区間連結部を備えること
を特徴とする請求項1に記載の滞在地コンテキスト抽出装置。
【請求項3】
前記滞在区間情報データベースから前記滞在区間情報を抽出し、前記滞在区間の開始時間から終了時間までの長さが所定値未満の場合に、当該滞在区間情報を前記滞在区間情報データベースから削除する滞在区間削除部を備えること
を特徴とする請求項2に記載の滞在地コンテキスト抽出装置。
【請求項4】
衛星電波通信手段および無線ネットワーク通信手段を備えた位置情報収集装置に通信ネットワークを介して接続され、前記衛星電波通信手段からの電波情報をもとに逐次検出される前記位置情報収集装置の前記ユーザの緯度、経度およびその緯度、経度を検出した検出日時からなるログ情報と、前記無線ネットワーク通信手段により検出される無線通信ネットワークのアクセスポイント情報およびそのアクセスポイント情報の検出日時からなるアクセスポイント検知履歴と、を前記ユーザの移動履歴情報として前記位置情報収集装置から受信し、前記受信した移動履歴情報を用いて、前記ユーザが滞在した滞在地情報と滞在時間とによりユーザの移動中における滞在区間を示した滞在区間情報を生成する滞在地コンテキスト抽出装置に用いられる滞在地コンテキスト抽出方法であって、
前記滞在器コンテキスト抽出装置は、
前記移動履歴情報が記憶される移動履歴情報データベース、および前記滞在区間情報が記憶される滞在区間情報データベースを格納する記憶部を備え、
前記位置情報収集装置から前記移動履歴情報を受信し、前記移動履歴情報データベースに記憶させるステップと、
前記複数の移動履歴情報を用いて、前記滞在区間情報を生成し、前記滞在区間情報データベースに記憶させるステップと、を実行し、
さらに、前記滞在区間情報を生成するステップは、
前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの複数の前記ログ情報を取得し、前記取得した複数のログ情報を所定の時間間隔に分割し、その分割された区間に属するログ情報群について、時刻の古い区間順に、前記滞在区間に含めるか否かを判断するため、前記ログ情報群の緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、前記計算した各平均値を、次の区間のログ情報群を滞在区間に含めるかを判断するための直前区間情報として順次上書きして記憶するステップと、
前記次の区間におけるログ情報群に示される緯度、経度、およびそのログ情報の検出日時の各平均値を計算し、当該計算した各平均値と、前記直前区間情報として記憶した各平均値とから、当該区間と直前区間との間の距離および速度を計算し、前記計算した距離が所定値未満であり、かつ前記計算した速度が所定値未満である場合に、当該区間のログ情報群および直前区間のログ情報群を合わせて前記各平均値を計算し、当該計算した情報を第1の滞在区間情報として抽出するステップと、
さらに、前記移動履歴情報データベースに記憶された前記移動履歴情報から、前記ユーザの前記複数のアクセスポイント検知履歴を取得し、同じ前記アクセスポイント情報が所定時間連続するアクセスポイント検知履歴群を第2の滞在区間情報として抽出するステップと、
前記第1の滞在区間情報として取得できなかった時間における滞在区間情報として、その取得できなかった時間の前記第2の滞在区間情報を追加して前記滞在区間情報を生成するステップと、を実行すること
を特徴とする滞在地コンテキスト抽出方法。
【請求項5】
請求項4に記載の滞在地コンテキスト抽出方法を、コンピュータに実行させるためのプログラム。


【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2010−277190(P2010−277190A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−126913(P2009−126913)
【出願日】平成21年5月26日(2009.5.26)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】