(57)【特許請求の範囲】
【請求項１】
ユーザが指示したタイミングにおける位置のデータと前記ユーザの識別子とを含むデー タブロックを複数格納するデータ格納部から、所定の条件を満たすユーザの位置のデータを読み出すステップと、
前記所定の条件を満たす各ユーザについて、当該ユーザの位置を所定個数のクラスタに分類するクラスタリング処理を繰り返し、当該繰り返し毎に位置の所定の集中状態を表す 条件を満たす位置を抽出するステップと、 
前記所定の条件を満たす各ユーザについて、抽出された前記位置から最頻出現位置を特定する特定ステップと、
を含み、 
前記クラスタリング処理が、各クラスタについて当該クラスタに属する位置を用いて当該クラスタの重心を算出し、各位置について最も近い重心を有するクラスタに分類し直す処理であり、 
前記特定ステップが、
前記所定の条件を満たす各ユーザについて、抽出された前記位置から２番目に頻出する 位置を特定するステップ 
を含み、
前記データブロックが、前記タイミングについての時刻をさらに含み、 
前記所定の条件を満たす各ユーザについて、前記最頻出現位置及び前記２番目に頻出する位置に該当する第１のデータブロック以外の第２のデータブロック毎に、直前の時刻の データブロックに含まれる位置及び時刻に対する距離を算出するステップと、 
算出された距離によって前記第２のデータブロックを２つにクラスタリングするステッ プと、 
をさらに含み、 
前記距離が、時刻又は位置に対して調整係数を乗じた値を用いて算出される
コンピュータにより実行される情報処理方法。 
【請求項２】
前記特定ステップが、
抽出された前記位置についてヒストグラムを生成するステップ 
を含む請求項１記載の情報処理方法。 
【請求項３】
前記特定ステップが、 
抽出された前記位置についてのカーネル密度関数のカーブにおいてピークを検出するス テップ 
を含む請求項１又は２記載の情報処理方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置情報の解析技術に関する。
【背景技術】
【０００２】
近年、ＧＰＳ（Global Positioning System）受信機を備えた携帯電話機の普及により、自身の位置情報を登録することでゲームを行ったり、様々なサービスの提供を受けることができるようになっている。
【０００３】
一方、企業側では、ユーザによって登録された位置情報を用いて様々な分析を行って、広告を含めて新たなサービスを提供することが検討されている。
【０００４】
このため、携帯端末に搭載された測位機能を用いて、住所又は居所を自動的に推定する技術が存在している。具体的には、ユーザの移動に伴って所持される携帯端末は、測位電波を受信する測位部と、測位部を所定時間周期で起動し且つ測位位置を取得する位置取得手段と、時刻に応じた測位位置を蓄積する位置蓄積手段と、位置蓄積手段に蓄積された多数の測位位置を送信する位置送信手段とを有する。そして、当該携帯端末から多数の測位位置を受信する滞在特性推定サーバは、時系列の測位位置の移動に応じて、移動中位置以外の滞留位置のみを抽出する滞留位置抽出手段と、複数の滞留位置を、空間的なクラスタに区分するクラスタリング手段と、クラスタ毎に、滞留位置が１回でも存在する滞在日数を用いて、日属性に基づく滞在率を算出する滞在率算出手段と、日属性に基づく滞在率が高いクラスタについて、当該クラスタの滞在特性を推定する滞在特性推定手段とを有する。
【０００５】
この技術では、定期的に携帯端末の測位部を起動させて定期的に位置情報を取得することが前提となっており、定期的に位置情報を取得できるので、時刻のデータを活用して移動中位置以外の滞留位置を特定でき、さらに滞留位置を用いて住所又は居所に相当するクラスタを特定するようになっている。しかしながら、必ずしも定期的に位置情報を取得できる訳ではない。特に、ゲームなどの場合には、ユーザが指示したタイミングでしか位置情報が登録されないので、時刻の情報は必ずしもそのユーザの行動における特徴を示しているわけではない。例えば、朝会社に出社した後、昼休みに位置情報の登録を行う場合があるが、位置情報そのものには意味があっても、昼休み中の時刻は移動完了時でもなく移動開始時でもないので、時刻を用いて特徴を抽出することは難しい。また、このような位置情報登録だけでは、滞留位置なのか移動中位置なのかは特定できない。上で述べた技術では、このような点については考察されていない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１７１８７６号公報
【特許文献２】特開２０１２−８５０９５号公報
【特許文献３】特表２０１２−５０７７６０号公報
【特許文献４】特開２０１２−４２９９３号公報
【特許文献５】特開２００９−３６５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、一側面によれば、不定期で位置情報が登録される場合においても位置情報の属性を特定できるようにする技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る情報処理方法は、（Ａ）ユーザが指示したタイミングにおける位置のデータとユーザの識別子とを含むデータブロックを複数格納するデータ格納部から、所定の条件を満たすユーザの位置のデータを読み出すステップと、（Ｂ）所定の条件を満たす各ユーザについて、当該ユーザの位置を所定個数のクラスタに分類するクラスタリング処理を繰り返し、当該繰り返し毎に位置の所定の集中状態を表す条件を満たす位置を抽出するステップと、（Ｃ）所定の条件を満たす各ユーザについて、抽出された位置から最頻出現位置を特定する特定ステップとを含む。そして、クラスタリング処理が、各クラスタについて当該クラスタに属する位置を用いて当該クラスタの重心を算出し、各位置について最も近い重心を有するクラスタに分類し直す処理である。
【０００９】
このような処理を実施することで、位置データの誤差を吸収しつつ、時刻データに依存することなく、ユーザの位置の分布の特徴を強調できるようになる。すなわち、ユーザの本拠地を抽出することができるようになる。位置の所定の集中状態とは、特定のクラスタに偏って分類されている状態であり、例えば１つのクラスタに５０％以上の位置が分類されていたり、２つのクラスタを併せると４０％以上の位置が分類されている状態である。
【００１０】
また、上で述べた特定ステップが、所定の条件を満たす各ユーザについて、抽出された位置から２番目に頻出する位置を特定するステップを含むようにしても良い。これにより、例えば第２の本拠地を抽出することができるようになる。
【００１１】
さらに、上で述べた特定ステップが、抽出された位置についてヒストグラムを生成するステップを含むようにしても良い。これによれば、簡単な処理で本拠地等を抽出できるようになる。
【００１２】
また、上で述べた特定ステップが、抽出された位置についてのカーネル密度関数のカーブにおいてピークを検出するステップを含むようにしても良い。これによって精度良く本拠地等を抽出することができるようになる。
【００１３】
さらに、上で述べたデータブロックが、タイミングについての時刻をさらに含むようにしても良い。この場合、本情報処理方法は、（Ｄ）所定の条件を満たす各ユーザについて、最頻出現位置及び２番目に頻出する位置に該当する第１のデータブロック以外の第２のデータブロック毎に、直前の時刻のデータブロックに含まれる位置及び時刻に対する距離を算出するステップと、算出された距離によって第２のデータブロックを２つにクラスタリングするステップとをさらに含むようにしても良い。そして、上で述べた距離が、時刻又は位置に対して調整係数を乗じた値を用いて算出される場合もある。
【００１４】
このような処理を実施することで、本拠地以外の属性についても設定できるようになる。距離は上で述べたように時間の要素も含むため、ある程度長く滞在した位置（例えば滞留点）、それほど長く滞在していない位置（例えば移動点）といった属性をも特定できるようになる。
【００１５】
なお、上記方法を、コンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【発明の効果】
【００１６】
一側面によれば、不定期で位置情報が登録される場合においても位置情報の属性を特定できるようになる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態に係るシステムの一例を示す図である。
【図２】図２は、本発明の実施の形態に係る情報処理装置の機能ブロック図を示す図である。
【図３】図３は、第１の実施の形態に係るメインの処理フローを示す図である。
【図４】図４は、位置データ格納部に格納されるデータの一例を示す図である。
【図５】図５は、第１データ格納部に格納されるデータの一例を示す図である。
【図６】図６は、本拠地推定処理の処理フローを示す図である。
【図７】図７は、クラスタリングの結果の一例を示す図である。
【図８】図８は、各クラスタに含まれるレコード数の一例を示す図である。
【図９】図９は、本拠地推定処理の処理フローを示す図である。
【図１０】図１０は、第１の評価処理の処理フローを示す図である。
【図１１】図１１は、ヒストグラムの一例を示す図である。
【図１２】図１２は、ヒストグラムの一例を示す図である。
【図１３】図１３は、ユーザ毎の第１本拠地及び第２本拠地のデータの設定例を示す図である。
【図１４】図１４は、レコードに対する第１本拠地及び第２本拠地のラベル設定例を示す図である。
【図１５】図１５は、滞留点及び移動点特定処理の処理フローを示す図である。
【図１６】図１６は、正規化ユークリッド距離の例を示すための図である。
【図１７】図１７は、正規化ユークリッド距離によるクラスタリングを模式的に示すための図である。
【図１８】図１８は、第３データ格納部に格納されるデータの一例を示す図である。
【図１９】図１９は、第２の評価処理の処理フローを示す図である。
【図２０】図２０は、緯度についてのカーネル密度関数のカーブを表す図である。
【図２１】図２１は、経度についてのカーネル密度関数のカーブを表す図である。
【図２２】図２２は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１８】
［実施の形態１］
図１に、本発明の実施の形態に係るシステムの概要を示す。例えば、携帯電話のネットワーク及びインターネットを含むネットワーク１には、基地局ＢＳを介して複数の携帯端末３が接続されており、さらにゲームサーバ５も接続されている。例えば携帯端末３は、ゲームプログラムを実行しており、ゲームサーバ５と通信を行ってゲームを進行させる。さらに、本実施の形態では、携帯端末３は、ＧＰＳ受信機を備えており、現在位置のデータを取得できるようになっている。そして、本実施の形態では、携帯端末３において実行されているゲームプログラムが現在位置のデータをゲームサーバ５に基地局ＢＳ及びネットワーク１を介して送信して、ゲームサーバ５は、現在位置のデータを受信し、位置データ格納部５１にユーザ識別子、時刻及び位置を登録することで、ゲームが進行するものとする。ゲームプログラムは一例であって、他のアプリケーションプログラムであってもよい。
【００１９】
一方、ゲームサーバ５は、例えばゲーム会社におけるＬＡＮ（Local Area Network）であるネットワーク７にも接続されており、当該ネットワーク７には、本実施の形態における主要な処理を実行する情報処理装置９も接続されている。
【００２０】
図２に、本発明の一実施の形態に係る情報処理装置９の機能ブロック図を示す。情報処理装置９は、位置データ取得部９０と、位置データ格納部９１と、前処理部９２と、設定データ格納部９３と、第１データ格納部９４と、第１ラベリング部９５と、第２データ格納部９６と、第２ラベリング部９７と、第３データ格納部９８とを有する。
【００２１】
位置データ取得部９０は、ゲームサーバ５から位置データを取得して、位置データ格納部９１に格納する。前処理部９２は、設定データ格納部９３に格納されているデータを用いて処理を行い、処理結果を第１データ格納部９４に格納する。
【００２２】
第１ラベリング部９５は、クラスタリング部９５１と、抽出部９５２と、評価部９５３とを有し、各ユーザについて第１本拠地（例えば居住地）及び第２本拠地（例えば通学先又は通勤先）を推定する処理を実施する。そして、第１ラベリング部９５は、当該推定結果を用いて、各ユーザについて登録された位置のうち該当する位置に対して第１本拠地又は第２本拠地のラベルを設定し、処理結果を第２データ格納部９６に格納する。
【００２３】
第２ラベリング部９７は、距離算出部９７１と、クラスタリング部９７２と、設定部９７３とを有し、各ユーザについて登録された位置のうち第１本拠地及び第２本拠地以外の位置について滞留点（例えば長時間滞在している位置）と移動点（例えば移動途中の位置）とのいずれかのラベルを設定し、処理結果を第３データ格納部９８に格納する。
【００２４】
次に、図３乃至図１８を用いて、情報処理装置９の処理内容を説明する。
【００２５】
まず、位置データ取得部９０は、ネットワーク７を介してゲームサーバ５から、位置データを取得し、位置データ格納部９１に格納する（図３：ステップＳ１）。例えば、図４に示すようなデータが取得される。図４の例では、時刻と、ユーザ識別子（ユーザＩＤ）と、緯度（ｌａｔ）及び経度（ｌｏｎ）とが格納されるようになっている。本実施の形態では、図４における各レコードは、ユーザが意識的に位置登録を行った場合に登録されるデータである。
【００２６】
また、前処理部９２は、位置データに対して付加データを付与する処理を実行し、処理結果を第１データ格納部９４に格納する（ステップＳ３）。各ユーザについて、レコードを時刻でソートした上で、直前のレコードに含まれる緯度経度と自レコードに含まれる緯度経度から距離及び方角を算出し、同じく直前のレコードに含まれる時刻と自レコードに含まれる時刻から時間を算出し、さらに速度（＝距離／時間）を算出する。また、設定データ格納部９３に、例えば県市区町村の各範囲について緯度経度のデータを地域マスタとして格納しておき、各レコードの緯度経度に対応する県市区町村名を特定する。例えば、第１データ格納部９４には、図５に示すようなデータが格納される。
【００２７】
図５の例では、時刻と、ユーザＩＤと、緯度（ｌａｔ）及び経度（ｌｏｎ）と、県と、市区と、町村と、距離と、方角と、速度とが、各レコードに含まれている。県市区町村については、緯度経度では分かりにくい位置を把握しやすくするために用いられる。なお、距離、方角及び速度については、補助情報であり、算出しなくても良い。
【００２８】
その後、第１ラベリング部９５は、第１データ格納部９４に格納されているデータに対して、本拠地推定処理を実行し、処理結果を第２データ格納部９６に格納する（ステップＳ５）。この本拠地推定処理については後に詳しく述べる。
【００２９】
そして、第２ラベリング部９７は、第２データ格納部９６に格納されているデータを用いて、滞留点及び移動点特定処理を実行し、処理結果を第３データ格納部９８に格納する（ステップＳ７）。この滞留点及び移動点特定処理については後に詳しく述べる。
【００３０】
以上の処理を実行すれば、所定の条件を満たすユーザについては、登録された各位置について第１本拠地、第２本拠地、滞留点又は移動点といったラベルが付与されるようになる。
【００３１】
次に、図６乃至図９を用いて、本拠地推定処理について説明する。第１ラベリング部９５は、第１データ格納部９４に格納されているレコードをユーザＩＤでソートする（図６：ステップＳ１１）。そして、第１ラベリング部９５は、第１データ格納部９４にデータが格納されているユーザのうち未処理のユーザを一人特定する（ステップＳ１２）。
【００３２】
そして、第１ラベリング部９５は、特定されたユーザのデータは以下の処理を実行可能か判断する（ステップＳ１３）。本実施の形態では、ユーザによって指示されたタイミングでしか位置データが登録されないので、ある程度の量位置データが登録されないと有効なラベリングが行われない。従って、本実施の形態では、（ａ）最低２ヶ月以内の位置登録があること、（ｂ）同期間内で、１日の最後に登録された位置が同じ地域内に５回以上あること、を処理実行の要件としている。この他の要件を付加しても良い。
【００３３】
特定されたユーザのデータが処理できない場合には、端子Ａを介して図９の処理に移行する。一方、特定されたユーザのデータが処理可能であれば、第１ラベリング部９５のクラスタリング部９５１は、特定されたユーザの位置のデータについて、クラスタリング処理を実行する（ステップＳ１５）。
【００３４】
例えば、本実施の形態では、クラスタリングの手法としてｋ−ｍｅａｎｓ法を採用する。ｋ−ｍｅａｎｓ法では、初期的にＮ個のクラスタに要素を分類する。そして、各クラスタについて、当該クラスタに包含される要素の重心を当該クラスタの重心として算出し、各要素を、各クラスタの重心のうち最も近い重心のクラスタに再分類する。すなわち、重心は移動するので、クラスタの構成要素も変化する。一般的なｋ−ｍｅａｎｓ法では、このような処理を重心が安定するまで繰り返すものである。本実施の形態では、５個のクラスタに分類する処理を３０回繰り返すことにする。但し、クラスタ数及び繰り返し回数は変更可能である。
【００３５】
模式的に示すと、図７に示すようなクラスタリング結果が得られる。図７の例では、上で述べたように５つのクラスタに分類した例を示している。
【００３６】
１回クラスタリング処理を実施すると、抽出部９５２は、クラスタ毎に当該クラスタに属するレコード数（位置の数）を計数する（ステップＳ１７）。例えば図８に示すようなデータが得られる。図８の例では、クラスタリング処理の実行毎に、クラスタ１乃至５のそれぞれに属するレコードの数が登録されるようになっている。
【００３７】
そして、抽出部９５２は、最も多くのレコードが属している第１位クラスタに含まれるレコードの数が全体の５０％以上となっているか判断する（ステップＳ１９）。例えば、１００レコード中５０以上のレコードが１つのクラスタに属しているか判断する。図８の例では、２回目及び５回目のクラスタリング結果においては、クラスタ１がこの条件を満たしている。
【００３８】
第１位クラスタに含まれるレコードの数が全体の５０％以上となっている場合には、抽出部９５２は、第１位クラスタに含まれるレコードを処理対象に設定する（ステップＳ２１）。そして処理はステップＳ２７に移行する。
【００３９】
一方、第１位クラスタに含まれるレコードの数が全体の５０％未満である場合には、抽出部９５２は、上位２つのクラスタに含まれるレコードの数が全体の４０％以上であるか判断する（ステップＳ２３）。所属するレコードの数が上位２つのクラスタに属するレコードの数の和が、例えば１００レコード中４０以上のレコードであるかを判断する。図８の例では、１回目、３回目及び４回目におけるクラスタ１及び２がこの条件を満たしている。
【００４０】
上位２つのクラスタに含まれるレコードの数が全体の４０％以上である場合には、抽出部９５２は、上位２つのクラスタに含まれるレコードを処理対象に設定する（ステップＳ２５）。そして処理はステップＳ２７に移行する。一方、このような条件を満たさない場合には、処理対象に設定されるレコードはなく、そのまま処理はステップＳ２７に移行する。
【００４１】
ステップＳ１９乃至Ｓ２５の処理は、クラスタリングの結果が、特徴を抽出するのに十分な程度偏っているか否かを判断し、十分偏っていれば、偏りが検出されたクラスタに含まれるレコードを以下の処理の処理対象として設定している。
【００４２】
ｋ−ｍｅａｎｓ法によってクラスタリング処理の繰り返し毎に重心が移動するので、図８に示すように、クラスタに属するレコードは変動し、また処理対象として設定されるクラスタも変動する。これによって、ＧＰＳによる位置データの誤差等のゆらぎを吸収させる。
【００４３】
また、このような処理を繰り返すと、同じレコードが何度も処理対象に設定される。以下の処理では、元々同じレコードであっても、異なるレコードとして処理を行うので、特徴となる位置が強調されることになる。すなわち、特徴を浮き彫りにする効果を有する。
【００４４】
そして、クラスタリング部９５１は、クラスタリング処理の実行回数は閾値に達したか判断する（ステップＳ２７）。クラスタリング処理の実行回数は閾値に達していない場合には、処理はステップＳ１５に戻る。
【００４５】
一方、クラスタリング処理の実行回数が閾値に達した場合には、処理は端子Ｂを介して図９の処理に移行する。
【００４６】
図９の処理の説明に移行して、評価部９５３は、処理対象レコードの評価処理を実行する（ステップＳ２９）。評価処理については、図１０乃至図１４を用いて説明する。
【００４７】
そして、第１ラベリング部９５は、第１データ格納部９４に位置が登録されているユーザのうち未処理のユーザが存在しているか判断する（ステップＳ３１）。未処理のユーザが存在している場合には、処理は端子Ｃを介して図６のステップＳ１２に戻る。一方、未処理のユーザが存在しない場合には、呼び出し元の処理に戻る。
【００４８】
次に、図１０乃至図１４を用いて第１の評価処理について説明する。評価部９５３は、処理対象として設定されたレコードについて、ヒストグラムを生成する（ステップＳ４１）。本実施の形態では、緯度及び経度の各々について、例えば所定の範囲を所定数（例えば５０００）のバンド（レンジとも呼ぶ）に分割して、各バンドの度数を計数することで、ヒストグラムを生成する。例えば、図１１及び図１２に示すようなヒストグラムが得られる。
【００４９】
そして、評価部９５３は、ヒストグラムにおいて、最も出現頻度が高い位置を第１本拠地（例えば自宅位置）、２番目に出現頻度が高い位置を第２本拠地（例えば通勤先又は通学先）として特定する（ステップＳ４３）。図１１及び図１２の例では、緯度についてはａのバンドが最も出現頻度が高いことを表しており、経度についてはｃのバンドが最も出現頻度が高いことを表しているので、バンドａの中央値とバンドｂの中央値とを第１本拠地の緯度経度として採用する。同様に、緯度についてはｂのバンドが２番目に出現頻度が高いことを表しており、経度についてはｄのバンドが２番目に出現頻度が高いことを表しているので、バンドｂの中央値とバンドｄの中央値とを第２本拠地の緯度経度として採用する。
【００５０】
そうすると、例えば図１３に示すようなデータが得られる。すなわち、各ユーザについて、第１本拠地の緯度経度、第２本拠地の緯度経度が得られる。
【００５１】
その後、評価部９５３は、位置ラベルとして第１本拠地及び第２本拠地を、該当するレコードに設定し、処理結果を第２データ格納部９６に格納する（ステップＳ４５）。
【００５２】
例えば、ヒストグラムにおいて第１本拠地として特定されたバンドに含まれるレコードに対して第１本拠地を表すラベルを付与し、ヒストグラムにおいて第２本拠地として特定されたバンドに含まれるレコードに対して第２本拠地を表すラベルを付与する。
【００５３】
他の手法として緯度経度の誤差を勘案して、第１本拠地の緯度経度を中心として所定範囲に緯度経度が含まれるレコードに対して第１本拠地を表すラベルを付与し、第２本拠地の緯度経度を中心として所定範囲に緯度経度が含まれるレコードに対して第２本拠地を表すラベルを付与する。
【００５４】
例えば、図１４に示すように、処理に係るユーザのレコードのうち該当するレコードについて、第１本拠地というラベルと第２本拠地というラベルとが付与される。
【００５５】
以上のような処理を実行することで、自宅と推定される第１本拠地と勤務先又は通学先などであると推定される第２本拠地とを推定でき、該当するレコードに対して位置ラベルとして設定できるようになる。
【００５６】
次に、図１５乃至図１８を用いて滞留点及び移動点特定処理について説明する。
【００５７】
まず、第２ラベリング部９７は、第２データ格納部９６に格納されているデータにおいて、第１及び第２本拠地が特定された未処理のユーザを一人特定する（ステップＳ５１）。そして、第２ラベリング部９７は、第２データ格納部９６から、特定されたユーザのレコードを抽出する（ステップＳ５３）。
【００５８】
距離算出部９７１は、第１及び第２本拠地以外のレコードについて、正規化ユークリッド距離を算出する（ステップＳ５７）。
【００５９】
正規化ユークリッド距離は、以下のように定義される。
【００６０】
【数１】
0005886718.tif 000002
【００６１】
ここで（ｌａｔk−ｌａｔj）は、直前のレコードｊにおける緯度と自レコードｋにおける緯度との差を表し、（ｌｏｎk−ｌｏｎj）は、直前のレコードｊにおける経度と自レコードｋにおける経度との差を表す。
【００６２】
さらに、（ｔ’k−ｔ’j）は、直前レコードｊにおける補正後時刻と自レコードｋにおける補正後時刻との差を表す。時間は、例えば秒単位（又はユニックス時間）の差を用いると全体として時間依存の距離となってしまうので、例えばｔ’＝ｋｔ（調整係数ｋ＝１０-4）というように補正することで、正規化したユークリッド距離ｄが得られるようになる。
【００６３】
例えば、ステップＳ５７を実行すると、図１６に示すようなデータが得られる。図１６の例では、各レコードについて、正規化ユークリッド距離が算出されている。
【００６４】
そして、クラスタリング部９７２は、特定されたユーザについて算出された正規化ユークリッド距離についてクラスタリングを実行する（ステップＳ５９）。クラスタリングについては、ここでもｋ−ｍｅａｎｓ法を用いても良い。また、滞留点と移動点とに分けるため、クラスタは２つとなる。
【００６５】
例えば、図１７は、緯度と経度とで張られた平面において、特定されたユーザについてのレコードに含まれる緯度経度に対応する点に、ステップＳ５７で算出された正規化ユークリッド距離に相当する長さの線分を垂直方向に伸ばした形で表している。この例では、クラスタリングを実施すると、おおよそ距離３以上となっているレコードについては、滞留点のクラスタに属し、おおよそ距離３未満となっているレコードについては、移動点のクラスタに属する。
【００６６】
この結果をより具体的に検討すると、差分時間が短いレコードについては、移動点のクラスタに属し、差分時間が長いレコードについては、滞留点のクラスタに属していることが分かった。このように、ある程度長い正規化ユークリッド距離が算出された位置については滞留点とラベル付けし、あまり長い正規化ユークリッド距離が算出されなかった位置については移動点とラベル付けするのは、妥当性がある。
【００６７】
そして、設定部９７３は、ステップＳ５３で読み出されたレコードのうち、正規化ユークリッド距離が長い方のクラスタに含まれるレコードに滞留点というラベルを設定し、正規化ユークリッド距離が短い方のクラスタに含まれるレコードに移動点というラベルを設定する（ステップＳ６１）。そして、処理結果を、第３データ格納部９８に格納する。
【００６８】
例えば、図１８に示すようなデータが、第３データ格納部９８に格納される。図１８の例では、位置ラベルとして移動点、滞留点についても設定されている。
【００６９】
そして、第２ラベリング部９７は、第１及び第２本拠地が特定された未処理のユーザが第２データ格納部９６に存在しているか判断する（ステップＳ６３）。第１及び第２本拠地が特定された未処理のユーザが存在している場合には、処理はステップＳ５１に戻る。一方、未処理のユーザが存在していない場合には、処理は呼出元の処理に戻る。
【００７０】
以上のような処理を実施することにより、不定期で位置情報を取得する場合においても、時刻情報に依存せず第１本拠地及び第２本拠地を抽出することができるようになる。また、第１本拠地及び第２本拠地が抽出できれば、時間のデータを用いて滞留点及び移動点をも区別できるようになる。
【００７１】
［実施の形態２］
上で述べた実施の形態では、評価処理として図１０の処理を実行してヒストグラムにより第１本拠地及び第２本拠地を特定する例を示したが、例えば、図１９に示すような第２の評価処理を実行するようにしても良い。
【００７２】
まず、評価部９５３は、カーネル密度関数の演算に用いられるパラメータを算出する（図１９：ステップＳ７１）。
【００７３】
カーネル密度関数ｐ（ｘ）は、以下のように表される。
【００７４】
【数２】
0005886718.tif 000003
Ｎは、処理対象レコードの数であり、ｘiは、各処理対象レコードにおける緯度又は経度である。バンド幅ｄ（正規化ユークリッド距離とは異なる）は、以下のように表される。なお、この式は、メジアンを考慮したバンド幅の式である。これ以外にもバンド幅を決定する方法は存在しているが、例えばこのような式を用いればよい。
【００７５】
【数３】
0005886718.tif 000004
σは、処理対象レコードの緯度又は経度についての標準偏差である。
【００７６】
このようにカーネル密度関数ｐ（ｘ）でカーネル密度を算出するには、Ｎ、ｄ及びσを算出しておく。
【００７７】
そして、評価部９５３は、計算されたパラメータを用いてカーネル密度関数の値を計算し、第１のピークにおける緯度経度を第１本拠地として特定し、第２のピークにおける緯度経度を第２本拠地として特定する（ステップＳ７３）。
【００７８】
図２０に緯度についてのカーネル密度関数のカーブを表し、図２１に経度についてのカーネル密度関数のカーブを表す。図２０及び図２１では、同じ処理対象レコードについて生成したヒストグラムを重ねて表している。このようにカーネル密度関数ｐ（ｘ）は、バンド幅ｄ毎に値を計算することで、図２０及び図２１に示すように滑らかなカーブとして表される。バンド幅は、ヒストグラムでは固定的な設定となるが、カーネル密度関数では、処理対象レコードについての緯度及び経度の分布に基づき決定されるので、より適切なカーブが得られる。
【００７９】
ステップＳ７３では、緯度については、第１のピークｐに係るバンド幅の中央値を第１本拠地の緯度として採用し、第２のピークｑに係るバンド幅の中央値を第２本拠地の緯度として採用する。経度については、第１のピークｒに係るバンド幅の中央値を第１本拠地の経度として採用し、第２のピークｓに係るバンド幅の中央値を第２本拠地の経度として採用する。
【００８０】
さらに、評価部９５３は、位置ラベルとして第１本拠地及び第２本拠地を、該当するレコードに設定し、処理結果を第２データ格納部９６に格納する（ステップＳ７５）。
【００８１】
例えば、第１本拠地として特定されたバンドに含まれるレコードに対して第１本拠地を表すラベルを付与し、第２本拠地として特定されたバンドに含まれるレコードに対して第２本拠地を表すラベルを付与する。
【００８２】
他の手法として緯度経度の誤差を勘案して、第１本拠地の緯度経度を中心として所定範囲に緯度経度が含まれるレコードに対して第１本拠地を表すラベルを付与し、第２本拠地の緯度経度を中心として所定範囲に緯度経度が含まれるレコードに対して第２本拠地を表すラベルを付与する。
【００８３】
以上のような処理を実施することで、ヒストグラムより精度良く第１本拠地及び第２本拠地を特定することができるようになる。
【００８４】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図２に示した情報処理装置９の構成は一例であって、プログラムモジュールの実装構成とは異なる場合がある。処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、処理ステップを並列に実行するようにしても良い。
【００８５】
なお、上で述べた情報処理装置９は、コンピュータ装置であって、図２２に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【符号の説明】
【００８６】
９  情報処理装置
９０  位置データ取得部
９１  位置データ格納部
９２  前処理部
９３  設定データ格納部
９４  第１データ格納部
９５  第１ラベリング部
９６  第２データ格納部
９７  第２ラベリング部
９８  第３データ格納部
９５１  クラスタリング部
９５２  抽出部
９５３  評価部
９７１  距離算出部
９７２  クラスタリング部
９７３  設定部
【図１】
0005886718.tif 000005
【図２】
0005886718.tif 000006
【図３】
0005886718.tif 000007
【図４】
0005886718.tif 000008
【図５】
0005886718.tif 000009
【図６】
0005886718.tif 000010
【図７】
0005886718.tif 000011
【図８】
0005886718.tif 000012
【図９】
0005886718.tif 000013
【図１０】
0005886718.tif 000014
【図１１】
0005886718.tif 000015
【図１２】
0005886718.tif 000016
【図１３】
0005886718.tif 000017
【図１４】
0005886718.tif 000018
【図１５】
0005886718.tif 000019
【図１６】
0005886718.tif 000020
【図１７】
0005886718.tif 000021
【図１８】
0005886718.tif 000022
【図１９】
0005886718.tif 000023
【図２０】
0005886718.tif 000024
【図２１】
0005886718.tif 000025
【図２２】
0005886718.tif 000026