以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図1において、情報処理装置100は、移動開始時の状況に応じた目的地の推定を可能にするコンピュータである。情報処理装置100は、端末装置110の移動データ120を収集する。
端末装置110は、例えば、車載装置、スマートフォン、タブレット端末などである。移動データ120は、端末装置110の移動開始時の状況と移動終了時の位置とを示すデータである。移動開始時の状況は、例えば、端末装置110の移動開始時の位置、時刻、曜日などである。移動開始時の状況は、移動開始時の時刻、曜日、季節、天候、位置などのうち、少なくとも2つ以上の組み合わせであってもよい。
本実施の形態では、端末装置110の移動データ120を基に、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出し、移動開始時の状況に応じた目的地を推定可能にする情報処理方法について説明する。
図1において、情報処理装置100は、収集した移動データ120のうち、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データ120を特定する。所定の条件は、例えば、移動開始時の時刻を含む時間帯、移動開始時の曜日、移動開始時の位置を含む出発地候補のエリアに関する条件である。
出発地候補のエリアは、同一の出発地から移動開始したと判定される移動開始時の位置が含まれる範囲である。出発地候補のエリアは、例えば、情報処理装置100の管理者によって設定されてもよいし、また、移動データ120を基に情報処理装置100によって自動設定されてもよい。例えば、出発地候補のエリアは、端末装置110の利用者の自宅を中心とした所定範囲に設定される。
所定のエリアは、目的地候補のエリアであって、同一の目的地で移動終了したと判定される移動終了時の位置の範囲である。所定のエリアは、例えば、情報処理装置100の管理者によって設定されてもよいし、また、移動データ120を基に情報処理装置100によって自動設定されてもよい。所定のエリアは、例えば、ランドマークとなる施設や、端末装置110の利用者が頻繁に利用する施設を中心とした所定範囲に設定される。
そして、情報処理装置100は、特定した移動データ120に基づいて、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出し、算出した確度を所定の条件と所定のエリアとに対応付けて出力する。確度とは、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確かさの度合いを示す指標値である。
ここで、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データ120の数は、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了した回数に相当する。この回数が多ければ多いほど、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する可能性が高いといえる。このため、確度として、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データ120の数を用いることができる。
図1の例では、所定の条件として端末装置110の移動開始時の位置が出発地候補のエリアSAに含まれるという条件を用い、所定のエリアとして目的地候補のエリアGAを用いる場合を例に挙げて、情報処理装置100の動作について説明する。また、図1の例では、移動開始時の状況として、移動開始時の位置を用いる。
(1−1)情報処理装置100は、例えば、端末装置110と通信することにより、端末装置110の移動開始時の位置と移動終了時の位置とを示す移動データ120−1〜120−4を収集する。移動データ120−1は、移動開始時の位置S1と移動終了時の位置G1とを示すデータである。移動データ120−2は、移動開始時の位置S2と移動終了時の位置G2とを示すデータである。移動データ120−3は、移動開始時の位置S3と移動終了時の位置G3とを示すデータである。移動データ120−4は、移動開始時の位置S2と移動終了時の位置G4とを示すデータである。
(1−2)情報処理装置100は、収集した移動データ120−1〜120−4のうち、移動開始時の位置が出発地候補のエリアSAに含まれ、かつ、移動終了時の位置が目的地候補のエリアGAに含まれる移動データ120−1,120−2を特定する。そして、情報処理装置100は、特定した移動データ120−1,120−2の数「2」を、移動開始時の位置が出発地候補のエリアSAに含まれる場合に目的地候補のエリアGA内で移動終了する確度として算出する。
(1−3)情報処理装置100は、算出した確度「2」を、移動開始時の位置を含む出発地候補のエリアSAと、目的地候補のエリアGAとに対応付けて、記憶装置101に記憶する。
このように、情報処理装置100によれば、端末装置110の移動データ120に基づいて、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出することができる。これにより、以降において、端末装置110の移動開始時の状況が所定の条件を満たす場合に、所定のエリア内で移動終了する確からしさを判断することができ、移動開始時の状況に応じた目的地を推定可能になる。
具体的には、例えば、情報処理装置100は、端末装置110の移動開始時の状況が所定の条件を満たす場合に、所定の条件に対応する所定のエリア内で移動終了する確度を記憶装置101から取得する。そして、情報処理装置100は、例えば、取得した確度が閾値以上である場合に所定のエリア内のいずれかの位置、例えば、ランドマークとなる施設を、端末装置110の目的地として設定する。
また、情報処理装置100は、ある程度の大きさの所定のエリアを設定して、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する移動データ120の数を計数する。このため、例えば、所定のエリア内のある施設への移動時の移動データ120が示す移動終了時の位置が、誤差によって施設の位置からずれていても、所定のエリアに含まれれば、誤差を吸収して移動データ120の数をカウントアップすることができる。
なお、情報処理装置100は、算出した確度を所定の条件と所定のエリアとに対応付けて、端末装置110に送信してもよい。そして、端末装置110は、移動開始時の状況が所定の条件を満たす場合に、受信した確度に基づいて所定のエリア内のいずれかの位置を端末装置110の目的地に設定することにしてもよい。これにより、以降において、端末装置110の移動開始時の状況が所定の条件を満たす場合に、所定のエリア内で移動終了する確からしさを判断することができ、移動開始時の状況に応じた目的地を推定可能になる。
ここでは、情報処理装置100が端末装置110と別の装置である場合について説明したが、これに限らない。例えば、端末装置110が、情報処理装置100として動作して、自装置の移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出してもよい。
(ナビゲーションシステム200の一例)
次に、図1に示した情報処理装置100を適用した、ナビゲーションシステム200の一例について説明する。
図2は、ナビゲーションシステム200の一例を示す説明図である。図2において、ナビゲーションシステム200は、サーバ装置201と、端末装置110−1〜110−nとを含む。nは、自然数である。以下の説明では、端末装置110−1〜110−nを、「端末装置110」と表記する場合がある。
ナビゲーションシステム200において、サーバ装置201と端末装置110−1〜110−nは、ネットワーク210を介して接続される。ネットワーク210は、例えば、WAN(Wide Area Network)、インターネット、移動体通信網などである。
サーバ装置201は、例えば、ワークステーション、PC(Personal Computer)、ノートPCなどである。端末装置110は、例えば、車載装置、タブレット端末、スマートフォンなどである。
〈ナビゲーションシステム200の具体例(その1)〉
サーバ装置201は、例えば、図4〜図9に後述する座標DB(Data Base)400、移動DB500、出発地エリアDB600、目的地エリアDB700、条件DB800、確度DB900などの各種DBを有する。
サーバ装置201は、各種DBの情報に基づいて、端末装置110の移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出して、各種DBを更新する。また、サーバ装置201は、端末装置110が実際に所定の条件を満たす状況で移動開始した場合には、所定のエリア内で移動終了する確度を取得し、取得した確度に基づいて所定のエリアを端末装置110の目的地に設定する。
また、サーバ装置201は、設定した所定のエリア内のいずれかの位置までの端末装置110の移動経路を探索して、所定のエリア内または探索した移動経路上の渋滞、交通機関、天候、施設でのイベントの情報などを取得する。そして、サーバ装置201は、目的地に設定した所定のエリアの情報とともに、探索した移動経路の情報、取得した渋滞、交通機関、天候、イベントの情報を、端末装置110に送信する。
一方で、端末装置110は、例えば、ディスプレイ(例えば、図10に後述するディスプレイ1006)を有し、サーバ装置201から受信した情報に基づいて図25および図27に後述するナビゲーション画面2500,2700などを表示する。端末装置110は、具体的には、受信した所定のエリアの情報とともに、受信した移動経路の情報、渋滞、交通機関、天候、イベントの情報を、ディスプレイに表示する。
〈ナビゲーションシステム200の具体例(その2)〉
また、サーバ装置201は、例えば、図4〜図9に後述する各種DBを有し、各種DBの情報に基づいて、端末装置110の移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出して、各種DBを更新する。そして、サーバ装置201は、各種DBの情報を端末装置110に提供する。
一方で、端末装置110は、提供された各種DBの情報に基づいて、実際に所定の条件を満たす状況で移動開始した場合に、所定のエリア内で移動終了する確度を取得し、取得した確度に基づいて所定のエリアを端末装置110の目的地に設定する。
端末装置110は、例えば、取得した確度に基づいて所定のエリアの情報を選択可能にディスプレイに表示する。また、端末装置110は、所定のエリア内のいずれかの位置までの端末装置110の移動経路を探索し、所定のエリア内または移動経路上の渋滞、交通機関、天候、施設でのイベントの情報などを取得し、所定のエリアの情報とともにディスプレイに表示してもよい。そして、端末装置110は、端末装置110の利用者から所定のエリアの選択を受け付けると、所定のエリア内のいずれかの位置を今回の目的地として設定する。
これにより、端末装置110は、端末装置110の利用者が今回の目的地を設定する作業量を低減することができる。また、端末装置110は、端末装置110の利用者に、表示された所定のエリア内のいずれかの位置を、今回の目的地として設定するか否かの判断材料を提供することができる。
また、端末装置110は、所定のエリア内のいずれかの位置が今回の目的地として設定された場合に、移動経路の情報を表示することができる。これにより、端末装置110は、端末装置110の利用者に、設定した所定のエリア内のいずれかの位置までの移動経路を把握させることができる。
〈ナビゲーションシステム200の具体例(その3)〉
また、サーバ装置201は、例えば、図4〜図9に後述する各種DBを有していなくてもよい。一方で、端末装置110は、例えば、図4〜図9に後述する各種DBを有していてもよい。そして、端末装置110は、各種DBの情報に基づいて、端末装置110の移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出して、各種DBを更新する。
また、端末装置110は、各種DBの情報に基づいて、実際に所定の条件を満たす状況で移動開始した場合に、所定のエリア内で移動終了する確度を取得する。そして、端末装置110は、例えば、取得した確度に基づいて所定のエリアの情報を選択可能にディスプレイに表示する。また、端末装置110は、所定のエリア内のいずれかの位置までの端末装置110の移動経路を探索し、所定のエリア内または移動経路上の渋滞、交通機関、天候、施設でのイベントの情報などを取得し、所定のエリアの情報とともにディスプレイに表示してもよい。
そして、端末装置110は、端末装置110の利用者から所定のエリアの選択を受け付けると、所定のエリア内のいずれかの位置を今回の目的地として設定する。これにより、端末装置110は、端末装置110の利用者が今回の目的地を設定する作業量を低減することができる。また、端末装置110は、端末装置110の利用者に、表示された所定のエリア内のいずれかの位置を、今回の目的地として設定するか否かの判断材料を提供することができる。
また、端末装置110は、所定のエリア内のいずれかの位置が今回の目的地として設定された場合に、移動経路の情報を表示することができる。これにより、端末装置110は、端末装置110の利用者に、設定した所定のエリア内のいずれかの位置までの移動経路を把握させることができる。この場合では、サーバ装置201は、ナビゲーションシステム200に含まれていなくてもよい。
以下の説明では、上述したナビゲーションシステム200の具体例(その1)において、サーバ装置201を、実施の形態にかかる情報処理装置100として動作させる場合について説明する。
(サーバ装置201のハードウェア構成例)
次に、図3を用いて、図2に示したナビゲーションシステム200に含まれるサーバ装置201のハードウェア構成例について説明する。
図3は、サーバ装置201のハードウェア構成例を示すブロック図である。図3において、サーバ装置201は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、ディスクドライブ304と、ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、サーバ装置201の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。メモリ302は、図4〜図9に後述する座標DB400(DataBase)、移動DB500、出発地エリアDB600、目的地エリアDB700、条件DB800、確度DB900などの各種DBを記憶する。
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示した端末装置110)に接続される。そして、I/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLAN(Local Area Network)アダプタなどを採用することができる。
ディスクドライブ304は、CPU301の制御にしたがってディスク305に対するデータのリード/ライトを制御する。ディスクドライブ304は、例えば、磁気ディスクドライブ、光ディスクドライブなどである。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発メモリである。ディスク305は、メモリ302の代わりに、図4〜図9に後述する座標DB400、移動DB500、出発地エリアDB600、目的地エリアDB700、条件DB800、確度DB900などの各種DBを記憶してもよい。ディスク305は、例えば、磁気ディスク、光ディスクなどである。
サーバ装置201は、上述した構成部のほか、例えば、ディスクドライブ304とディスク305との代わりに、SSD(Solid State Drive)と半導体メモリとを有してもよい。また、サーバ装置201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイなどを有してもよい。
(各種DBの記憶内容)
次に、図4〜図9を用いて、座標DB400、移動DB500、出発地エリアDB600、目的地エリアDB700、条件DB800、確度DB900などの各種DBの記憶内容について説明する。各種DBは、例えば、図3に示したサーバ装置201のメモリ302、ディスク305により実現される。
〈座標DB400の記憶内容〉
次に、図4を用いて、座標DB400の記憶内容の一例について説明する。
図4は、座標DB400の記憶内容の一例を示す説明図である。図4に示すように、座標DB400は、デバイスIDのフィールドに対応付けて、日時と、緯度と、経度と、移動開始/終了フラグとのフィールドを有する。座標DB400は、端末装置110ごとに各フィールドに情報を設定することにより、座標データをレコード400−aとして記憶する。aは、自然数である。図4の例では、aは、1〜6の自然数である。
デバイスIDとは、端末装置110の識別情報である。デバイスIDは、例えば、端末装置110に製造時に設定された製造番号やIMEI(International Mobile Equipment Identity)などである。
日時とは、デバイスIDに対応する端末装置110の位置を取得した日時である。日時は、情報処理装置100が端末装置110の位置を受信した日時であってもよい。緯度とは、地理座標系において、デバイスIDに対応する端末装置110の位置を示す緯度である。経度とは、地理座標系において、デバイスIDに対応する端末装置110の位置を示す経度である。移動開始/終了フラグとは、緯度と経度とに対応する位置が、デバイスIDに対応する端末装置110の移動開始時の位置であるか、移動終了時の位置であるかを示すフラグである。座標DB400は、端末装置110の位置を示す情報として、緯度および経度の代わりに、端末装置110周辺の基地局の識別情報などを記憶してもよい。
〈移動DB500の記憶内容〉
次に、図5を用いて、移動DB500の記憶内容の一例について説明する。
図5は、移動DB500の記憶内容の一例を示す説明図である。図5に示すように、移動DB500は、デバイスIDのフィールドに対応付けて、日時と、緯度と、経度と、移動IDと、移動開始/終了フラグと、エリアIDとのフィールドを有する。移動DB500は、端末装置110ごとに各フィールドに情報を設定することにより、移動データ120をレコード500−bとして記憶する。bは、自然数である。図5の例では、bは、1,2の自然数である。
デバイスIDとは、端末装置110の識別情報である。日時とは、デバイスIDに対応する端末装置110の位置を取得した日時である。緯度とは、地理移動系において、デバイスIDに対応する端末装置110の位置を示す緯度である。経度とは、地理移動系において、デバイスIDに対応する端末装置110の位置を示す経度である。
移動IDとは、移動開始時の位置と移動終了時の位置との組み合わせについての識別情報である。移動開始/終了フラグとは、緯度と経度とに対応する位置が、デバイスIDに対応する端末装置110の移動開始時の位置であるか、移動終了時の位置であるかを示すフラグである。エリアIDとは、緯度と経度とに対応する位置が含まれるエリアの識別情報である。
〈出発地エリアDB600の記憶内容〉
次に、図6を用いて、出発地エリアDB600の記憶内容の一例について説明する。
図6は、出発地エリアDB600の記憶内容の一例を示す説明図である。図6に示すように、出発地エリアDB600は、出発地エリアIDのフィールドに対応付けて、出発日時と、代表出発地エリアIDと、出発地緯度と、出発地経度と、出発地住所とのフィールドを有する。出発地エリアDB600は、出発地エリアごとに各フィールドに情報を設定することにより、出発地データをレコード600−cとして記憶する。cは、自然数である。図6の例では、cは、1〜6の自然数である。
出発地エリアIDとは、端末装置110の移動開始時の位置を含む出発地エリアの識別情報である。出発日時とは、出発地エリアIDに対応する出発地エリア内のいずれかの位置から端末装置110が移動開始した日時である。代表出発地エリアIDとは、出発地エリアIDに対応する出発地エリアが含まれる代表出発地エリアの識別情報である。
出発地緯度とは、地理エリア系において、代表出発地エリアIDに対応する代表出発地エリアの中心点を示す緯度である。出発地経度とは、地理エリア系において、代表出発地エリアIDに対応する代表出発地エリアの中心点を示す経度である。出発地住所とは、代表出発地エリアIDに対応する代表出発地エリア内のいずれかの施設の住所である。
〈目的地エリアDB700の記憶内容〉
次に、図7を用いて、目的地エリアDB700の記憶内容の一例について説明する。
図7は、目的地エリアDB700の記憶内容の一例を示す説明図である。図7に示すように、目的地エリアDB700は、目的地エリアIDのフィールドに対応付けて、代表目的地エリアIDと、目的地緯度と、目的地経度と、目的地住所とのフィールドを有する。目的地エリアDB700は、目的地エリアごとに各フィールドに情報を設定することにより、目的地データをレコード700−dとして記憶する。dは、自然数である。図7の例では、dは、1〜4の自然数である。
目的地エリアIDとは、端末装置110の移動終了時の位置を含む目的地エリアの識別情報である。代表目的地エリアIDとは、目的地エリアIDに対応する目的地エリアが含まれる代表目的地エリアの識別情報である。
目的地緯度とは、地理エリア系において、代表目的地エリアIDに対応する代表目的地エリアの中心点を示す緯度である。目的地経度とは、地理エリア系において、代表目的地エリアIDに対応する代表目的地エリアの中心点を示す経度である。目的地住所とは、代表目的地エリアIDに対応する代表目的地エリア内のいずれかの施設の住所である。
〈条件DB800の記憶内容〉
次に、図8を用いて、条件DB800の記憶内容の一例について説明する。
図8は、条件DB800の記憶内容の一例を示す説明図である。図8に示すように、条件DB800は、条件IDのフィールドに対応付けて、条件と、重みとのフィールドを有する。条件DB800は、条件ごとに各フィールドに情報を設定することにより、条件データをレコード800−eとして記憶する。eは、自然数である。図8の例では、eは、1〜5の自然数である。
条件IDとは、条件の識別情報である。条件とは、端末装置110の移動開始時の状況に対しての条件である。重みとは、端末装置110の移動開始時の状況が条件を満たす場合に端末装置110の移動終了時の位置を含む目的地エリアについて確度を算出する際に用いられる値である。
〈確度DB900の記憶内容〉
次に、図9を用いて、確度DB900の記憶内容の一例について説明する。
図9は、確度DB900の記憶内容の一例を示す説明図である。図9に示すように、確度DB900は、条件IDのフィールドに対応付けて、デバイスIDと、出発地住所と、出発時刻と、出発曜日と、平日フラグと、目的地住所と、到着回数と、確度とのフィールドを有する。確度DB900は、条件ごとに各フィールドに情報を設定することにより、確度データをレコード900−fとして記憶する。fは、自然数である。図9の例では、fは、1〜10の自然数である。
条件IDとは、端末装置110の移動開始時の状況に対しての条件である。デバイスIDとは、端末装置110の識別情報である。出発地住所とは、代表出発地エリア内の施設の住所である。出発時刻とは、出発地住所に対応する施設を含む代表出発地エリア内のいずれかの位置から端末装置110が移動開始した時刻である。出発曜日とは、出発地住所に対応する施設を含む代表出発地エリア内のいずれかの位置から端末装置110が移動開始した曜日である。平日フラグとは、出発曜日が平日であるか休日であるかを示すフラグである。
目的地住所とは、端末装置110が、出発地住所に対応する施設を含む代表出発地エリア内から、出発曜日の出発時刻に移動開始した場合に、移動終了した位置を含む代表目的地エリア内の施設の住所である。到着回数とは、目的地住所に対応する施設を含む代表目的地エリア内で端末装置110が移動終了した回数である。確度とは、到着回数から算出された確度である。
(端末装置110のハードウェア構成例)
次に、図10を用いて、図2に示したナビゲーションシステム200に含まれる端末装置110のハードウェア構成例について説明する。
図10は、端末装置110のハードウェア構成例を示すブロック図である。図10において、端末装置110は、CPU1001と、メモリ1002と、I/F1003と、ディスクドライブ1004と、ディスク1005と、ディスプレイ1006と、入力装置1007と、を有する。また、各構成部はバス1000によってそれぞれ接続される。
ここで、CPU1001は、端末装置110の全体の制御を司る。メモリ1002は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU1001のワークエリアとして使用される。メモリ1002に記憶されるプログラムは、CPU1001にロードされることで、コーディングされている処理をCPU1001に実行させる。
I/F1003は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示したサーバ装置201)に接続される。そして、I/F1003は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。
ディスクドライブ1004は、CPU1001の制御にしたがってディスク1005に対するデータのリード/ライトを制御する。ディスク1005は、ディスクドライブ1004の制御で書き込まれたデータを記憶する。ディスク1005としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
ディスプレイ1006は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ1006は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどである。
入力装置1007は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置1007は、キーボードやマウスなどであってもよいし、タッチパネル式の入力パッドやテンキーなどであってもよい。
端末装置110は、上述した構成部のうち、例えば、ディスクドライブ1004、ディスク1005などを有さないことにしてもよい。また、端末装置110は、上述した構成部のほか、例えば、SSD、半導体メモリ、スキャナ、プリンタなどを有してもよい。また、端末装置110は、GPS(Global Positioning System)信号の受信器を有してもよい。
(情報処理装置100の機能的構成例)
次に、図11を用いて、情報処理装置100の機能的構成例について説明する。
図11は、情報処理装置100の機能的構成例を示すブロック図である。図11において、情報処理装置100は、収集部1101と、特定部1102と、算出部1103と、出力部1104と、取得部1105と、設定部1106と、探索部1107と、送信部1108とを含む。
収集部1101〜送信部1108は、制御部となる機能であり、例えば、図3に示したメモリ302、およびディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、およびディスク305などの記憶装置に記憶される。
収集部1101は、端末装置110の移動開始時の状況と移動終了時の位置とを示す移動データ120を収集する。移動開始時の状況は、例えば、移動開始時の時刻、曜日、季節、天候、位置などである。移動開始時の状況は、移動開始時の時刻、曜日、季節、天候、位置などのうち、少なくとも2つ以上の組み合わせであってもよい。移動開始時の位置は、例えば、地理座標系における緯度および経度の組み合わせである。移動開始時の位置は、端末装置110周辺の基地局の識別情報であってもよい。移動終了時の位置は、例えば、地理座標系における緯度および経度の組み合わせである。移動終了時の位置は、端末装置110周辺の基地局の識別情報であってもよい。
収集部1101は、例えば、端末装置110の位置の時系列変化を示す時系列データを取得する。時系列データは、例えば、図4に示した座標DB400の座標データを時系列にしたがってソートした一連の座標データである。次に、収集部1101は、取得した時系列データから得られる異なる2点間の距離に基づいて、端末装置110の移動開始時の位置と移動終了時の位置とを特定し、特定した移動開始時の位置に基づいて、端末装置110の移動開始時の状況を判断する。そして、収集部1101は、判断した移動開始時の状況と、特定した移動終了時の位置とを示す移動データ120を収集する。
収集部1101は、具体的には、端末装置110が一定時間ごとに送信した、端末装置110の現在日時と現在位置とを示す座標データを受信し、座標DB400を更新する。次に、収集部1101は、座標DB400から時系列データを取得し、取得した時系列データから得られる異なる2点間の距離に基づいて、端末装置110の移動開始時に対応する座標データと、移動終了時に対応する座標データとを特定する。
そして、収集部1101は、特定した移動開始時に対応する座標データに基づいて、端末装置110の移動開始時の状況となる位置、時刻、曜日の組み合わせを特定する。さらに、収集部1101は、特定した移動終了時に対応する座標データに基づいて、特定した移動開始時の状況と、移動終了時の位置とを対応付けた移動データ120を生成し、移動DB500を更新する。
ここでは、端末装置110が、現在日時と現在位置とを示す座標データを送信する場合について説明したが、これに限らない。例えば、端末装置110は、端末装置110の現在位置を示す位置データを送信してもよい。この場合、収集部1101は、位置データの受信時刻を現在時刻として取得し、位置データが示す端末装置110の現在位置に対応付けて、座標データとして取得する。
これにより、収集部1101は、端末装置110が所定時間ごとに送信した座標データの中から、移動開始時と移動終了時とのそれぞれに対応する座標データを特定し、移動データ120を収集することができる。結果として、端末装置110は、移動開始時か移動終了時かを判断しなくてもよく、所定時間ごとに座標データを情報処理装置100に送信すればよいため、端末装置110への機能追加を抑制することができる。
収集部1101は、例えば、端末装置110の動作開始時の状況と動作終了時の位置とを示す移動データ120を収集する。動作開始時は、例えば、端末装置110の電源が投入された時点である。動作終了時は、端末装置110の電源が切断される時点である。
収集部1101は、具体的には、端末装置110が電源を投入された際に送信した、端末装置110の現在日時と現在位置とを示す座標データを、移動開始時の座標データとして受信し、座標DB400を更新する。また、収集部1101は、端末装置110が電源の切断を指示され、シャットダウン処理を行う前に送信した、端末装置110の現在日時と現在位置とを示す座標データを、移動終了時の座標データとして受信し、座標DB400を更新する。次に、収集部1101は、移動開始時の座標データに基づいて、端末装置110の移動開始時の状況となる位置、時刻、曜日の組み合わせを特定する。
そして、収集部1101は、移動終了時の座標データに基づいて、特定した移動開始時の状況と、移動終了時の位置とを対応付けた移動データ120を生成し、移動DB500を更新する。これにより、収集部1101は、移動開始時と移動終了時とのそれぞれに対応する座標データを受信し、移動データ120を収集することができる。端末装置110は、移動開始時と移動終了時以外の座標データを送信しなくてもよいため、通信量を低減することができる。
特定部1102は、収集した移動データ120に基づいて、端末装置110の移動終了時の位置同士を結ぶ線分を半径とする円形領域のうちの所定数以上の円形領域が重複する円形領域群を、所定のエリアとして特定する。特定部1102は、例えば、所定数以上の円形領域が重複する円形領域群を包含する最小の矩形領域を、代表目的地エリアとして特定する。これにより、特定部1102は、複数の移動終了時の位置のそれぞれの位置が、端末装置110が同一の目的地で移動終了した際の位置であるのかを判別する際に用いられる、同一の目的地に対応する代表目的地エリアを特定することができる。特定部1102は、情報処理装置100の管理者が、目的地に対応する代表目的地エリアを設定しなくても、目的地に対応する代表目的地エリアを自動で特定することができ、管理者の作業量を低減することができる。
特定部1102は、収集した移動データ120に基づいて、端末装置110の移動開始時の位置同士を結ぶ線分を半径とする円形領域のうちの所定数以上の円形領域が重複する円形領域群を、出発地候補のエリアとして特定する。特定部1102は、例えば、所定数以上の円形領域が重複する円形領域群を包含する最小の矩形領域を、出発地候補のエリアとなる代表出発地エリアとして特定する。
これにより、特定部1102は、複数の移動終了時の位置のそれぞれの位置が、端末装置110が同一の出発地から移動開始した際の位置であるのかを判別する際に用いられる、同一の出発地に対応する代表出発地エリアを特定することができる。特定部1102は、情報処理装置100の管理者が、移動開始時の状況に対する条件に用いる代表出発地エリアを設定しなくても、条件に用いる代表出発地エリアを自動で特定することができ、管理者の作業量を低減することができる。
算出部1103は、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データ120に基づいて、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する確度を算出する。所定の条件は、例えば、移動開始時の時刻を含む時間帯、移動開始時の曜日、移動開始時の位置を含む出発地候補のエリアのうちの少なくともいずれかに関する条件である。
出発地候補のエリアは、例えば、特定部1102が特定した代表出発地エリアである。出発地候補のエリアを用いることにより、移動開始時の位置が1点に定まらない場合であっても、出発地候補のエリアに含まれるか否かに基づいて、同一の出発地から移動開始したか否かを判別可能になる。所定のエリアは、例えば、特定部1102が特定した代表目的地エリアである。所定のエリアを用いることにより、移動終了時の位置が1点に定まらない場合であっても、所定のエリアに含まれるか否かに基づいて、同一の目的地で移動終了したか否かを判別可能になる。
算出部1103は、例えば、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データ120の数を計数する。そして、算出部1103は、計数した数および条件に応じた重みに基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出する。算出部1103は、具体的には、計数した数に、条件に応じた重みを乗算した値を、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度として算出する。また、算出部1103は、計数した数に、条件に応じた重みを乗算した値を、さらに、移動データ120の数で除算した値を、確度として算出してもよい。
これにより、算出部1103は、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。結果として、算出部1103は、利用者の作業負担を低減することができる。また、算出部1103は、所定の条件が厳しいほど、所定の条件を満たした場合に所定のエリアに移動する確度を高くすることができる。このため、情報処理装置100は、移動開始時の状況が厳しい条件を満たし、過去の移動開始時の状況との類似度が高い場合には、過去に当該状況で移動開始した際に移動終了したエリアで、再び移動終了する可能性が高いと判断することができる。
算出部1103は、例えば、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれるか否かを、移動データ120ごとに判定する。そして、算出部1103は、判定した結果、および条件に応じた重みに基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出する。算出部1103は、具体的には、条件を満たし、かつエリアに含まれると判定する都度、条件に応じた重みを、条件とエリアとに対応する確度に加算していき、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度として算出する。
これにより、算出部1103は、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。結果として、算出部1103は、利用者の作業負担を低減することができる。また、算出部1103は、所定の条件が厳しいほど、所定の条件を満たした場合に所定のエリアに移動する確度を高くすることができる。このため、情報処理装置100は、移動開始時の状況が厳しい条件を満たし、過去の移動開始時の状況との類似度が高い場合には、過去に当該状況で移動開始した際に移動終了したエリアで、再び移動終了する可能性が高いと判断することができる。
算出部1103は、複数のエリアのそれぞれのエリアについて、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれる移動データ120に基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出してもよい。これにより、算出部1103は、同一の条件を満たした場合に移動する可能性があるエリアが複数ある場合に、どのエリアに移動する可能性が高いかを判別可能にすることができる。
算出部1103は、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれる移動データ120に基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出してもよい。これにより、算出部1103は、移動開始時の状況が複数の条件を満たした場合に、どの条件に対応するエリアに移動する可能性が高いかを判別可能にすることができる。
算出部1103は、例えば、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれる移動データ120の数を計数する。そして、算出部1103は、計数した数および条件に応じた重みに基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出する。
これにより、算出部1103は、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。結果として、算出部1103は、利用者の作業負担を低減することができる。また、算出部1103は、所定の条件が厳しいほど所定の条件を満たした場合に所定のエリアに移動する確度を高くすることができる。このため、情報処理装置100は、移動開始時の状況が厳しい条件を満たし、過去の移動開始時の状況との類似度が高い場合には、過去に当該状況で移動開始した際に移動終了したエリアで、再び移動終了する可能性が高いと判断することができる。
算出部1103は、例えば、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれるか否かを、移動データ120ごとに判定する。そして、算出部1103は、判定した結果、および条件に応じた重みに基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出する。
これにより、算出部1103は、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。結果として、算出部1103は、利用者の作業負担を低減することができる。また、算出部1103は、所定の条件が厳しいほど所定の条件を満たした場合に所定のエリアに移動する確度を高くすることができる。このため、情報処理装置100は、移動開始時の状況が厳しい条件を満たし、過去の移動開始時の状況との類似度が高い場合には、過去に当該状況で移動開始した際に移動終了したエリアで、再び移動終了する可能性が高いと判断することができる。
出力部1104は、算出部1103が算出した確度を、所定の条件と所定のエリアとに対応付けて出力する。出力部1104は、例えば、確度と所定の条件と所定のエリアとを対応付けて、メモリ302に記憶する。これにより、出力部1104は、端末装置110が次回移動する際にどこで移動終了するかを判別する際に用いられる情報を、蓄積しておくことができる。
また、出力部1104は、例えば、確度と所定の条件と所定のエリアとを対応付けて、端末装置110に送信する。これにより、出力部1104は、端末装置110が次回移動する際にどこで移動終了するかを判別する際に用いられる情報を、端末装置110に提供しておくことができる。
取得部1105は、端末装置110の状況を示す状況データを取得する。取得部1105は、例えば、時刻、曜日、季節、天候、位置などを含む端末装置110の状況を示す状況データを取得する。状況データは、収集部1101が取得する座標データ群の一つであってもよい。これにより、取得部1105は、端末装置110の現在の状況を把握することができる。
設定部1106は、取得部1105が取得した状況データが示す状況が条件を満たす場合に、算出した確度に基づいて、エリアを端末装置110の目的地のエリアに設定する。設定部1106は、例えば、確度が相対的に高いエリアを、目的地のエリアに設定する。また、設定部1106は、例えば、確度が閾値以上のエリアを、目的地のエリアに設定してもよい。これにより、設定部1106は、端末装置110の目的地のエリアを推定し、自動で目的地のエリアを設定することができる。
設定部1106は、複数の条件のそれぞれの条件について、取得した状況データが示す状況が条件を満たすか否かを判定し、満たすと判定した条件のうちの算出した確度が相対的に高い条件に対応するエリアを端末装置110の目的地のエリアに設定する。これにより、設定部1106は、端末装置110の状況が複数の条件を満たした場合に、どの条件に対応するエリアに移動する可能性が高いかに基づいて、自動で目的地のエリアを設定することができる。
探索部1107は、端末装置110の位置から、設定した目的地エリア内のいずれかの位置までの移動経路を探索する。そして、探索部1107は、探索した移動経路上の渋滞、および天候のうちの少なくともいずれかに関する情報を取得する。これにより、探索部1107は、端末装置110の利用者が、所定のエリアに移動するか否かの判断材料となる情報を取得することができる。
送信部1108は、探索した移動経路上の渋滞、および天候のうちの少なくともいずれかに関する情報を出力する。また、送信部1108は、設定した目的地エリア内の施設におけるイベントに関する情報を、端末装置110に送信する。これにより、送信部1108は、利用者に、所定のエリアまで移動するか否かの判断材料を提供することができる。また、端末装置110は、所定のエリア内のいずれかの位置までの移動経路を探索しなくてもよい。
ここで、上述したナビゲーションシステム200の具体例(その2)のように、サーバ装置201が確度などを算出し、算出した確度などを端末装置110に提供する場合がある。この場合には、収集部1101〜送信部1108のうちの取得部1105〜送信部1108はサーバ装置201によって実現しなくてもよい。この場合には、取得部1105〜送信部1108は端末装置110によって実現してもよい。
また、上述したナビゲーションシステム200の具体例(その3)のように、端末装置110が確度などを算出する場合がある。この場合には、収集部1101〜送信部1108はサーバ装置201によって実現しなくてもよい。この場合には、収集部1101〜送信部1108は端末装置110によって実現されてもよい。
収集部1101〜送信部1108は、端末装置110によって実現される場合、図10に示したメモリ1002およびディスク1005などに記憶されたプログラムをCPU1001に実行させることにより、または、I/F1003により、その機能を実現する。各機能部の処理結果は、例えば、メモリ1002、およびディスク1005などの記憶装置に記憶される。
(実施例)
次に、図12を用いて、実施例について説明する。
図12は、実施例を示す説明図である。図12において、情報処理装置100は、渋滞情報、交通機関の運行情報、天候情報、イベント情報などを記憶する。
図12の例では、(12−1)情報処理装置100は座標データの受信処理を実行する。情報処理装置100は、例えば、端末装置110から座標データを受信し、図4に示した座標DB400を更新する。情報処理装置100は、例えば、端末装置110が5分ごとに取得して情報処理装置100に送信した、デバイスID、日時、緯度、経度を対応付けた座標データを受信し、座標DB400に追加していく。
(12−2)情報処理装置100は、移動データ120の生成処理を実行する。情報処理装置100は、例えば、座標DB400に基づいて、2つの座標データを組み合わせて移動データ120を生成し、図5に示した移動DB500を更新する。ここで、図13および図14の説明に移行し、移動データ120の生成処理について説明する。
〈移動データ120の生成処理〉
図13および図14は、移動データ120の生成処理の一例を示す説明図である。図13において、情報処理装置100は、座標DB400に基づいて、端末装置110の位置の時系列変化を示す時系列データを取得する。情報処理装置100は、例えば、座標DB400から、端末装置110の位置の時系列変化を示す時系列データとして、時系列にしたがってソートした一連の座標データを取得する。
図14において、情報処理装置100は、取得した一連の座標データに基づいて、異なる2点間の距離に基づいて、端末装置110の移動開始時の位置と移動終了時の位置とを特定する。情報処理装置100は、例えば、いずれかの30分の長さの期間での2点間の距離が5km以上である場合に、当該期間での最初の位置を移動開始時の位置として特定する。そして、情報処理装置100は、特定した移動開始時の位置に対応する座標データに、移動開始時の位置であることを示す移動開始/終了フラグ「ON」を設定する。
図14の例では、情報処理装置100は、「9/1 7:00」の位置から「9/1 7:30」の位置までの距離が5km以上であると判定する。そして、情報処理装置100は、判定結果に基づいて、「9/1 7:00」の位置を移動開始時の位置として特定する。
次に、情報処理装置100は、例えば、いずれかの1時間の長さの期間での連続する2点間の距離のそれぞれが200m以下である場合に、当該期間での最初の位置を移動終了時の位置として特定する。そして、情報処理装置100は、特定した移動終了時の位置に対応する座標データに、移動終了時の位置であることを示す移動開始/終了フラグ「OFF」を設定する。さらに、情報処理装置100は、特定した移動開始時の位置に対応する座標データの内容と、特定した移動終了時の位置に対応する座標データの内容とに、同一の移動IDを対応付けて、移動データ120として移動DB500に追加する。
図14の例では、情報処理装置100は、「9/1 7:30」以降、端末装置110の移動がないため、「9/1 7:30」から「9/1 8:30」までの5分ごとの2点間の距離が200m以下であると判定する。そして、情報処理装置100は、判定結果に基づいて、「9/1 7:30」の位置を移動終了時の位置として特定する。
これにより、情報処理装置100は、端末装置110が所定時間ごとに送信した座標データの中から、移動開始時と移動終了時とのそれぞれに対応する座標データを特定し、移動データ120を収集することができる。結果として、端末装置110は、移動開始時か移動終了時かを判断しなくてもよく、所定時間ごとに座標データを情報処理装置100に送信すればよいため、端末装置110への機能追加を抑制することができる。
また、端末装置110が、動作開始時の座標データと、動作終了時の座標データとを情報処理装置100に送信する場合がある。この場合では、情報処理装置100は、動作開始時の座標データを移動開始時の位置に対応する座標データとし、動作終了時の座標データを移動終了時の位置に対応する座標データとして、取得してもよい。これにより、情報処理装置100は、移動開始時と移動終了時とのそれぞれに対応する座標データを受信し、移動データ120を収集することができる。端末装置110は、移動開始時と移動終了時以外の座標データを送信しなくてもよいため、通信量を低減することができる。
図12に戻り、(12−3)情報処理装置100は、エリアデータの生成処理を実行する。情報処理装置100は、例えば、座標DB400に基づいて、出発地エリアおよび目的地エリアを特定し、出発地エリアデータおよび目的地エリアデータを生成し、図6に示した出発地エリアDB600、図7に示した目的地エリアDB700を更新する。ここで、図15〜図18の説明に移行し、エリアデータの生成処理について説明する。
〈エリアデータの生成処理〉
図15〜図18は、エリアデータの生成処理の一例を示す説明図である。図15において、情報処理装置100は、移動DB500から、端末装置110の移動開始時の位置を取得し、取得した移動開始時の位置同士を結ぶ線分の長さを算出する。同様に、情報処理装置100は、移動DB500から、端末装置110の移動終了時の位置を取得し、取得した移動終了時の位置同士を結ぶ線分の長さを算出する。
図16において、情報処理装置100は、取得した移動開始時の位置のそれぞれの位置を中心とし、当該位置について算出した線分の長さのそれぞれの長さを半径とする円形領域を特定する。同様に、情報処理装置100は、取得した移動終了時の位置のそれぞれの位置を中心とし、当該位置について算出した線分の長さのそれぞれの長さを半径とする円形領域を特定する。
図17において、情報処理装置100は、移動開始時の位置のそれぞれの位置について特定した円形領域に外接する矩形領域を、当該位置を含む出発地エリアとして特定し、特定した出発地エリアの頂点座標を算出する。頂点座標は、緯度および経度である。
同様に、情報処理装置100は、移動終了時の位置のそれぞれの位置について特定した円形領域に外接する矩形領域を、当該位置を含む目的地エリアとして特定し、特定した目的地エリアの頂点座標を算出する。頂点座標は、緯度および経度である。
図18において、情報処理装置100は、特定した出発地エリアのうち、1点で所定数以上の出発地エリアが重複した出発地エリア1〜4を特定し、特定した出発地エリア1〜4を包含する最小の矩形領域を、代表出発地エリアAAAとして特定する。これにより、情報処理装置100は、複数の移動終了時の位置のそれぞれの位置が、端末装置110が同一の出発地から移動開始した際の位置であるのかを判別する際に用いられる、同一の出発地に対応する代表出発地エリアを特定することができる。
同様に、情報処理装置100は、特定した目的地エリアのうち、1点で所定数以上の目的地エリアが重複した目的地エリア5〜8を特定し、特定した目的地エリア5〜8を包含する最小の矩形領域を、代表目的地エリアBBBとして特定する。これにより、情報処理装置100は、複数の移動終了時の位置のそれぞれの位置が、端末装置110が同一の目的地で移動終了した際の位置であるのかを判別する際に用いられる、同一の目的地に対応する代表目的地エリアを特定することができる。
図12に戻り、(12−4)情報処理装置100は、確度データの生成処理を実行する。情報処理装置100は、例えば、移動DB500、出発地エリアDB600、目的地エリアDB700、条件DB800に基づいて、確度データを生成して、図9に示した確度DB900を更新する。ここで、図19〜図22の説明に移行し、確度データの生成処理について説明する。
〈確度データの生成処理〉
図19〜図22は、確度データの生成処理の一例を示す説明図である。図19において、情報処理装置100は、出発地エリアDB600、目的地エリアDB700に基づいて、移動DB500のそれぞれの移動データ120について、移動開始時の位置を含む代表出発地エリアと移動終了時の位置を含む代表目的地エリアとを特定する。そして、情報処理装置100は、それぞれの移動データ120について、移動開始時の状況として、移動開始時の位置を含む代表出発地エリアと、出発時刻と、出発日と、出発曜日との組み合わせを特定する。
図20において、情報処理装置100は、条件DB800に基づいて、特定した移動開始時の状況に対応する条件を生成する。情報処理装置100は、例えば、条件DB800のレコード800−1に基づいて、特定した移動開始時の状況と比べて代表出発地エリアと出発時刻とが一致するという条件を生成する。同様に、情報処理装置100は、条件DB800のそれぞれのレコード800−dに基づいて条件を生成する。また、情報処理装置100は、生成済みの条件のうち、特定された移動開始時の状況が満たす条件に対応するエリアとして、特定された移動終了時の位置を含む代表目的地エリアを記憶する。
次に、情報処理装置100は、生成済みの条件のうち、特定された移動開始時の状況が満たす条件があれば、当該条件を満たす場合に代表目的地エリア内で移動終了した回数をインクリメントする。そして、情報処理装置100は、インクリメントして得られた回数に、条件に応じた重みを乗算して、移動開始時の状況が条件を満たす場合に、当該条件に対応する代表目的地エリア内で移動終了する確度を算出する。
ここで、図19の処理により、移動データ120に基づいて、移動開始時の状況として、移動開始時の位置を含む代表出発地エリア「川崎市多摩区1丁目付近」、出発時刻「午前7時」、出発日「平日」、出発曜日「月」が特定された場合について説明する。また、この場合、図19の処理により、移動データ120に基づいて、移動終了時の位置を含む代表目的地エリア「川崎市多摩区東三田1丁目付近」が特定されたとする。
この場合、情報処理装置100は、条件DB800に基づいて、移動開始時の状況のうちの代表出発地エリア「川崎市多摩区1丁目付近」と出発時刻「午前7時」との組み合わせを、第1条件として生成する。条件となる「午前7時」は、「午前7時ちょうど」、「午前7時台」、「午前7時から前後30分」などを意味してもよい。
また、情報処理装置100は、条件DB800に基づいて、移動開始時の状況のうちの代表出発地エリア「川崎市多摩区1丁目付近」を、第2条件として生成する。また、情報処理装置100は、条件DB800に基づいて、移動開始時の状況のうちの出発時刻「午前7時」と出発日「平日」との組み合わせを、第3条件として生成する。また、情報処理装置100は、条件DB800に基づいて、移動開始時の状況のうちの出発曜日「月」を、第4条件として生成する。また、情報処理装置100は、条件DB800に基づいて、移動開始時の状況のうちの出発時刻「午前7時」を、第5条件として生成する。
次に、情報処理装置100は、第1条件〜第5条件のうち、特定された移動開始時の状況が満たす第1条件〜第5条件に、特定された代表目的地エリア「川崎市多摩区東三田1丁目付近」を対応付けて記憶する。そして、情報処理装置100は、第1条件〜第5条件を満たす場合に特定された代表目的地エリア「川崎市多摩区東三田1丁目付近」で移動終了した回数をインクリメントし、回数「1」を計数する。さらに、情報処理装置100は、それぞれの条件と代表目的地エリアとの組み合わせについて計数した回数「1」に、それぞれの条件に応じた重みを乗算して確度を算出する。
図21において、情報処理装置100は、移動データ120から特定された移動開始時の状況と、特定された代表目的地エリアと、条件DB800に基づいて、特定された移動開始時の状況に対応する条件のうち、生成済みではない条件があれば生成する。また、情報処理装置100は、生成済みの条件のうち、特定された移動開始時の状況が満たす条件に対応するエリアとして、特定された移動終了時の位置を含む代表目的地エリアを記憶する。
次に、情報処理装置100は、生成済みの条件のうち、特定された移動開始時の状況が満たす条件があれば、当該条件を満たす場合に代表目的地エリア内で移動終了した回数をインクリメントする。そして、情報処理装置100は、インクリメントして得られた回数に、条件に応じた重みを乗算して、移動開始時の状況が条件を満たす場合に、当該条件に対応する代表目的地エリア内で移動終了する確度を算出する。
ここで、図19の処理により、移動データ120に基づいて、移動開始時の状況として、移動開始時の位置を含む代表出発地エリア「川崎市多摩区1丁目付近」、出発時刻「午前7時」、出発日「平日」、出発曜日「月」が特定された場合について説明する。また、この場合、図19の処理により、移動データ120に基づいて、移動終了時の位置を含む代表目的地エリア「川崎市多摩区東三田1丁目付近」が特定されたとする。
この場合、情報処理装置100は、第1条件〜第5条件が生成済みであり、生成済みではない条件はないため、新たな条件を生成しない。また、情報処理装置100は、第1条件〜第5条件のうち、特定された移動開始時の状況が満たす第1条件〜第5条件に、特定された代表目的地エリア「川崎市多摩区東三田1丁目付近」が既に対応付けられているため、対応付けを行わない。
そして、情報処理装置100は、第1条件〜第5条件を満たす場合に特定された代表目的地エリア「川崎市多摩区東三田1丁目付近」で移動終了した回数をインクリメントし、回数「2」を計数する。さらに、情報処理装置100は、それぞれの条件と代表目的地エリアとの組み合わせについて計数した回数「2」に、それぞれの条件に応じた重みを乗算して確度を更新する。
図22において、情報処理装置100は、移動データ120から特定された移動開始時の状況と、特定された代表目的地エリアと、条件DB800に基づいて、特定された移動開始時の状況に対応する条件のうち、生成済みではない条件があれば生成する。また、情報処理装置100は、生成済みの条件のうち、特定された移動開始時の状況が満たす条件に対応するエリアとして、特定された移動終了時の位置を含む代表目的地エリアを記憶する。
次に、情報処理装置100は、生成済みの条件のうち、特定された移動開始時の状況が満たす条件があれば、当該条件を満たす場合に代表目的地エリア内で移動終了した回数をインクリメントする。そして、情報処理装置100は、インクリメントして得られた回数に、条件に応じた重みを乗算して、移動開始時の状況が条件を満たす場合に、当該条件に対応する代表目的地エリア内で移動終了する確度を算出する。
ここで、図19の処理により、移動データ120に基づいて、移動開始時の状況として、移動開始時の位置を含む代表出発地エリア「川崎市多摩区1丁目付近」、出発時刻「午前7時」、出発日「休日」、出発曜日「土」が特定された場合について説明する。また、この場合、図19の処理により、移動終了時の位置を含む代表目的地エリア「川崎市中原区上小田中4丁目付近」が特定されたとする。
この場合、情報処理装置100は、第1条件〜第5条件とは異なる、移動開始時の状況のうちの出発時刻「午前7時」と出発日「休日」との組み合わせを、第6条件として生成する。また、情報処理装置100は、移動開始時の状況のうちの出発曜日「土」を、第7条件として生成する。
また、情報処理装置100は、第1条件〜第7条件のうち、特定された移動開始時の状況が満たす第1条件、第2条件、第5条件〜第7条件に、特定された代表目的地エリア「川崎市中原区上小田中4丁目付近」を対応付けて記憶する。
そして、情報処理装置100は、第1条件、第2条件、第5条件〜第7条件を満たす場合に特定された代表目的地エリア「川崎市中原区上小田中4丁目付近」で移動終了した回数をインクリメントし、回数「1」を計数する。さらに、情報処理装置100は、それぞれの条件と代表目的地エリアとの組み合わせについて計数した回数「1」に、それぞれの条件に応じた重みを乗算して確度を更新する。
これにより、情報処理装置100は、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。結果として、情報処理装置100は、利用者の作業負担を低減することができる。また、情報処理装置100は、所定の条件が厳しいほど、所定の条件を満たした場合に所定のエリアに移動する確度を高くすることができる。このため、情報処理装置100は、移動開始時の状況が厳しい条件を満たし、過去の移動開始時の状況との類似度が高い場合には、過去に当該状況で移動開始した際に移動終了したエリアで、再び移動終了する可能性が高いと判断することができる。
図12に戻り、(12−5)情報処理装置100は、端末装置110から状況データを受信すると、配信処理を実行する。情報処理装置100は、例えば、確度DB900に基づいて、受信した状況データが示す情報が所定の条件を満たすか否かを判定し、所定の条件を満たす場合に端末装置110が所定のエリア内で移動終了する確度を取得する。そして、情報処理装置100は、確度に基づいて、所定のエリアを目的地のエリアに設定する。
さらに、情報処理装置100は、端末装置110の現在位置から目的地のエリア内のいずれかの位置までの移動経路を探索する。そして、情報処理装置100は、参考情報DB1200に基づいて、目的地のエリア内または移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を特定し、目的地のエリアの情報とともに、端末装置110に送信する。参考情報DB1200は、道路の渋滞情報、交通機関の運行情報、各地の天候情報、目的地のエリア内の施設でのイベント情報などを記憶する。ここで、図23の説明に移行し、配信処理について説明する。
〈配信処理の一例〉
図23は、配信処理の一例を示す説明図である。ここでは、端末装置110が、車載装置2300である場合について説明する。
図23において、(23−1)車載装置2300は、車両のエンジンの始動などに伴って動作開始する。車載装置2300は、動作開始した際に、車載装置2300のデバイスID「11111111」と、車載装置2300の位置に対応する緯度および経度と、出発時刻と、出発曜日と、動作開始したこととを示す状況データを、情報処理装置100に送信する。
(23−2)情報処理装置100は、車載装置2300から、状況データを受信すると、状況データが動作開始したことを示すため、車載装置2300が移動開始すると判断する。そして、情報処理装置100は、車載装置2300が移動開始するため、状況データに基づいて目的地のエリアを設定し、目的地のエリア内のいずれかの位置までの移動経路上の渋滞、交通機関の遅延、天候、イベントなどの各種情報を特定する。ここで、図24の説明に移行し、目的地のエリアを設定する一例について説明する。
〈目的地のエリアを設定する一例〉
図24は、目的地のエリアを設定する一例を示す説明図である。図24において、情報処理装置100は、確度DB900に基づいて、状況データが示す位置を含む代表出発地エリア「川崎市多摩区1丁目付近」と出発時刻「午前7時」と出発曜日「土」とが、複数の条件のそれぞれの条件を満たすか否かを判定する。次に、情報処理装置100は、条件を満たすと判定した条件に対応付けられた代表目的地エリアと確度とを取得する。
そして、情報処理装置100は、取得した確度に基づいて代表目的地エリアのいずれかを目的地のエリアに設定する。情報処理装置100は、例えば、確度が最も高い代表目的地エリアと、確度が2番目に高い代表目的地エリアとを、目的地のエリアに設定する。情報処理装置100は、具体的には、代表目的地エリア「川崎市多摩区東三田1丁目付近」を第1目的地のエリアに、代表目的地エリア「川崎市中原区上小田中4丁目付近」を第2目的地のエリアに設定する。
次に、情報処理装置100は、車載装置2300の現在位置から、設定した目的地のエリアのそれぞれのエリア内のいずれかの位置を目的地として、目的地までの移動経路を探索する。そして、情報処理装置100は、目的地のエリア内または探索した移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を特定する。
図23に戻り、(23−3)情報処理装置100は、目的地のエリアの情報とともに、特定した目的地のエリア内または移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を、車載装置2300に送信する。ここで、図25の説明に移行し、車載装置2300の表示画面の一例について説明する。
〈車載装置2300の表示画面の一例〉
図25は、車載装置2300の表示画面の一例を示す説明図である。図25において、車載装置2300は、目的地のエリアの情報とともに、目的地のエリア内または移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を受信する。そして、車載装置2300は、ナビゲーション画面2500を、ディスプレイ1006に表示する。
ナビゲーション画面2500は、第1目的地のエリアを表示する選択可能な第1目的地表示領域2501と、第1目的地までの移動経路に関する情報を表示する第1参考情報表示領域2502とを含む画面である。図25の例では、第1目的地表示領域2501には第1目的地のエリア「×××丁目付近」が表示され、第1参考情報表示領域2502には第1目的地のエリアまでの移動経路に渋滞があることを示す「渋」が表示される。
また、ナビゲーション画面2500は、第2目的地のエリアを表示する選択可能な第2目的地表示領域2503と、第2目的地までの移動経路に関する情報を表示する第2参考情報表示領域2504とを含む画面である。図25の例では、第2目的地表示領域2503には第2目的地のエリア「○○○丁目付近」が表示され、第2参考情報表示領域2504には第2目的地のエリアの天候が雷雨であることを示す「雷雨マーク」が表示される。
また、ナビゲーション画面2500は、第3目的地のエリアを表示する選択可能な第3目的地表示領域2505と、第3目的地までの移動経路に関する情報を表示する第3参考情報表示領域2506とを含む画面である。図25の例では、第3目的地表示領域2505には第3目的地のエリア「△△△丁目付近」が表示され、第3参考情報表示領域2506には第3目的地のエリアや第3目的地のエリアまでの移動経路に問題がないことを示す「○」が表示される。
車載装置2300は、第1目的地表示領域2501と、第2目的地表示領域2503と、第3目的地表示領域2505とのいずれかが選択されると、選択された表示領域に対応する目的地のエリアへの移動経路の案内を開始する。
これにより、車載装置2300は、利用者に、それぞれの目的地のエリアに移動するか否かの判断材料を提供することができる。利用者は、具体的には、休日に比較的訪れる頻度が高いレジャー施設などに向かう前に、自動で表示された現地の天候などを参考にして、現地まで移動するか否かを判断することができる。
また、車載装置2300は、利用者の選択に応じて、それぞれの目的地のエリアへの移動経路の案内を、利用者に提供することができる。結果として、利用者は、目的地の住所や名称を入力しなくても、表示された目的地を選択すれば目的地までの移動経路の案内を受けることができ、目的地を設定する作業量を低減することができる。
〈配信処理の他の例〉
図26は、配信処理の他の例を示す説明図である。ここでは、端末装置110が、スマートフォン2600である場合について説明する。
図26において、(26−1)スマートフォン2600は、5分ごとに、スマートフォン2600のデバイスID「123456789」と、スマートフォン2600の位置に対応する緯度および経度と、出発時刻と、出発曜日とを示す座標データを生成する。そして、スマートフォン2600は、座標データを生成すると、生成した座標データを、情報処理装置100に送信する。
(26−2)情報処理装置100は、スマートフォン2600から座標データを受信し、図4に示した座標DB400を更新する。
(26−3)情報処理装置100は、図13および図14と同様に、座標DB400に基づいて、スマートフォン2600の位置の時系列変化を示す時系列データを取得する。次に、情報処理装置100は、取得した時系列データから得られる異なる2点間の距離に基づいて、スマートフォン2600の移動開始時の位置を特定する。そして、情報処理装置100は、スマートフォン2600の移動開始時の位置を特定すると、スマートフォン2600が移動開始すると判断する。
(26−4)情報処理装置100は、スマートフォン2600が移動開始するため、状況データに基づいて目的地のエリアを設定する。そして、情報処理装置100は、設定した目的地のエリア内のいずれかの位置までの移動経路上の渋滞、交通機関の遅延、天候、イベントなどの各種情報を特定する。目的地のエリアを設定する一例は、図24と同様である。
(26−5)情報処理装置100は、目的地のエリアの情報とともに、特定した目的地のエリア内または移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を、スマートフォン2600に送信する。ここで、図27の説明に移行し、スマートフォン2600の表示画面の一例について説明する。
〈スマートフォン2600の表示画面の一例〉
図27は、スマートフォン2600の表示画面の一例を示す説明図である。図27において、スマートフォン2600は、目的地のエリアの情報とともに、目的地のエリア内または移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を受信する。そして、スマートフォン2600は、ナビゲーション画面2700を、ディスプレイ1006に表示する。
ナビゲーション画面2700は、第1目的地のエリアを表示する第1目的地表示領域2701と、第1目的地までの移動経路に関する情報を表示する第1参考情報表示領域2702とを含む画面である。図27の例では、第1目的地表示領域2701には第1目的地のエリア「×××丁目付近」が表示され、第1参考情報表示領域2702には第1目的地のエリアまでの移動経路に交通機関の遅延があることを示す「電車事故のマーク」が表示される。
また、ナビゲーション画面2700は、第2目的地のエリアを表示する第2目的地表示領域2703と、第2目的地までの移動経路に関する情報を表示する第2参考情報表示領域2704とを含む画面である。図27の例では、第2目的地表示領域2703には第2目的地のエリア「○○○丁目付近」が表示され、第2参考情報表示領域2704には第2目的地のエリアでイベントがあることを示す「得」が表示される。
また、ナビゲーション画面2700は、第3目的地のエリアを表示する第3目的地表示領域2705と、第3目的地までの移動経路に関する情報を表示する第3参考情報表示領域2706とを含む画面である。図27の例では、第3目的地表示領域2705には第3目的地のエリア「△△△丁目付近」が表示され、第3参考情報表示領域2706には第3目的地のエリアや第3目的地のエリアまでの移動経路に問題がないことを示す「○」が表示される。
スマートフォン2600は、第1目的地表示領域2701と、第2目的地表示領域2703と、第3目的地表示領域2705とのいずれかが選択されると、選択された表示領域に対応する目的地のエリアへの移動経路の案内を開始する。
これにより、スマートフォン2600は、利用者に、それぞれの目的地のエリアに移動するか否かの判断材料を提供することができる。利用者は、具体的には、休日に比較的訪れる頻度が高いレジャー施設などに向かう前に、自動で表示された現地の天候などを参考にして、現地まで移動するか否かを判断することができる。
また、スマートフォン2600は、それぞれの目的地のエリアへの移動経路の案内を、利用者に提供することができる。結果として、利用者は、目的地の住所や名称を入力しなくても、表示された目的地を選択すれば目的地までの移動経路の案内を受けることができ、目的地を設定する作業量を低減することができる。
ここでは、情報処理装置100が、スマートフォン2600が移動開始するか否かを判断する場合について説明したが、これに限らない。例えば、情報処理装置100は、利用者の操作入力などによってスマートフォン2600から送信された配信要求を受信した場合に、配信処理を行ってもよい。
(全体処理手順)
次に、図28を用いて、全体処理手順について説明する。
図28は、全体処理手順を示すフローチャートである。図28において、情報処理装置100は、端末装置110から座標データを受信し、座標DB400を更新する(ステップS2801)。
次に、情報処理装置100は、座標DB400に基づいて、移動データ120の生成処理手順を実行し、移動DB500を更新する(ステップS2802)。そして、情報処理装置100は、座標DB400および移動DB500に基づいて、エリアデータの生成処理を実行し、出発地エリアDB600および目的地エリアDB700を更新する(ステップS2803)。
次に、情報処理装置100は、移動DB500、出発地エリアDB600および目的地エリアDB700に基づいて、確度データの生成処理を実行し、確度DB900を更新する(ステップS2804)。そして、情報処理装置100は、確度DB900に基づいて、配信処理を実行し(ステップS2805)、全体処理を終了する。これにより、情報処理装置100は、端末装置110の移動開始時の状況に応じて端末装置110が移動終了する可能性がある所定のエリアの情報を、端末装置110に提供することができる。
(移動データ120の生成処理手順)
次に、図29を用いて、移動データ120の生成処理手順について説明する。
図29は、移動データ120の生成処理手順を示すフローチャートである。図29において、情報処理装置100は、座標DB400の時系列データに基づいて、時系列の先頭から、順次、30分の長さの期間を選択し、選択した期間での初点と終点の2点間の距離を算出する(ステップS2901)。
次に、情報処理装置100は、算出した距離が、閾値以上であるか否かを判定する(ステップS2902)。ここで、閾値以上ではない場合(ステップS2902:No)、情報処理装置100は、ステップS2901の処理に戻る。
一方で、閾値以上である場合(ステップS2902:Yes)、情報処理装置100は、選択した30分の長さの期間での最初の位置を移動開始時の位置として、座標DB400を更新する(ステップS2903)。
次に、情報処理装置100は、選択した30分の長さの期間以降の時系列の先頭から、順次、1時間の長さの期間を選択し、選択した期間での連続する2点間のそれぞれの距離を算出する(ステップS2904)。
そして、情報処理装置100は、それぞれの距離が閾値以下であるか否かを判定する(ステップS2905)。ここで、いずれかの距離が閾値以下ではない場合(ステップS2905:No)、情報処理装置100は、ステップS2904の処理に戻る。
一方で、それぞれの距離が閾値以下である場合(ステップS2905:Yes)、情報処理装置100は、選択した1時間の長さの期間での最初の位置を移動終了時の位置として、座標DB400を更新する(ステップS2906)。
次に、情報処理装置100は、移動開始時の位置に対応する座標データと、移動終了時の位置に対応する座標データとに、同一の移動IDを対応付けて、移動データ120として移動DB500に追加する(ステップS2907)。そして、情報処理装置100は、移動データ120の生成処理を終了する。これにより、情報処理装置100は、移動開始時または移動終了時に対応する座標データを特定して、移動データを生成することができる。
(エリアデータの生成処理手順)
次に、図30を用いて、エリアデータの生成処理手順の一例について説明する。
図30は、エリアデータの生成処理手順の一例を示すフローチャートである。図30において、情報処理装置100は、移動DB500に基づいて、端末装置110の移動開始時の位置のそれぞれの位置を中心とし、当該位置から他の移動開始時の位置までの線分の長さを半径とする円形領域を特定する(ステップS3001)。また、情報処理装置100は、移動DB500に基づいて、端末装置110の移動終了時の位置のそれぞれの位置を中心とし、当該位置から他の移動終了時の位置までの線分の長さを半径とする円形領域を特定する(ステップS3002)。
次に、情報処理装置100は、移動開始時の位置のそれぞれの位置について特定した円形領域に外接する矩形領域を、当該位置を含む出発地エリアとして特定する(ステップS3003)。また、情報処理装置100は、移動終了時の位置のそれぞれの位置について特定した円形領域に外接する矩形領域を、当該位置を含む目的地エリアとして特定する(ステップS3004)。
そして、情報処理装置100は、特定した出発地エリアのうち、1点で所定数以上の出発地エリアが重複した出発地エリア群を特定し、特定した出発地エリア群を包含する最小の矩形領域を、代表出発地エリアとして特定する(ステップS3005)。また、情報処理装置100は、特定した目的地エリアのうち、1点で所定数以上の目的地エリアが重複した目的地エリア群を特定し、特定した目的地エリア群を包含する最小の矩形領域を、代表目的地エリアとして特定する(ステップS3006)。
そして、情報処理装置100は、エリアデータの生成処理を終了する。これにより、情報処理装置100は、端末装置110の位置を統計処理する際に、代表出発地エリアや代表目的地エリアに含むか否かによって端末装置110の位置をグループ分け可能にすることができる。
(確度データの生成処理手順)
次に、図31を用いて、確度データの生成処理手順の一例について説明する。
図31は、確度データの生成処理手順の一例を示すフローチャートである。図31において、情報処理装置100は、移動DB500のいずれかの移動データ120を選択する(ステップS3101)。次に、情報処理装置100は、出発地エリアDB600、目的地エリアDB700に基づいて、選択した移動データ120が示す移動開始時の位置を含む代表出発地エリアと、移動終了時の位置を含む代表目的地エリアとを特定する(ステップS3102)。
そして、情報処理装置100は、条件DB800に基づいて、移動開始時の位置を含む代表出発地エリアと移動開始時の時刻や曜日とを、移動開始時の状況として特定し、移動開始時の状況に対する条件を生成する(ステップS3103)。
次に、情報処理装置100は、生成した条件ごとに、特定した代表目的地エリア内で移動終了した回数を計数し、移動開始時の状況が生成した条件を満たす場合に特定した代表目的地エリア内で移動終了する確度を算出する(ステップS3104)。
そして、情報処理装置100は、すべての移動データ120を選択したか否かを判定する(ステップS3105)。ここで、移動データ120を選択していない場合(ステップS3105:No)、情報処理装置100は、ステップS3101の処理に戻る。
一方で、すべての移動データ120を選択した場合(ステップS3105:Yes)、情報処理装置100は、確度データの生成処理を終了する。これにより、情報処理装置100は、端末装置110が移動する可能性があるエリアを特定する際に用いられる確度を算出することができる。
(配信処理手順の一例)
次に、図32を用いて、配信処理手順の一例について説明する。
図32は、配信処理手順の一例を示すフローチャートである。図32において、情報処理装置100は、端末装置110から状況データを受信し、端末装置110の移動開始時の位置を含む代表出発地エリアを特定する(ステップS3201)。
次に、情報処理装置100は、状況データに基づいて、出発時刻、出発曜日などを特定する(ステップS3202)。そして、情報処理装置100は、条件DB800に基づいて、特定した代表出発地エリア、出発時刻、出発曜日などを含む移動開始時の状況によって満たされる条件に対応付けられた、代表目的地エリアと確度とを取得する(ステップS3203)。
次に、情報処理装置100は、取得した代表出発地エリアと確度とに基づいて、目的地のエリアを設定する(ステップS3204)。そして、情報処理装置100は、設定した目的地のエリア内のいずれかの位置までの移動経路を探索し、目的地のエリア内または探索した移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を特定する(ステップS3205)。
次に、情報処理装置100は、設定した目的地のエリアの情報とともに、特定した目的地のエリア内または探索した移動経路上の渋滞、交通機関の遅延、天候、イベントなどの情報を端末装置110に送信する(ステップS3206)。そして、情報処理装置100は、配信処理を終了する。これにより、情報処理装置100は、端末装置110の利用者に、所定のエリアに移動するか否かの判断材料を提供することができる。
以上説明したように、情報処理装置100によれば、端末装置110の移動開始時の状況と移動終了時の位置とを示す移動データ120を収集することができる。次に、情報処理装置100によれば、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データ120に基づいて、移動開始時の状況が条件を満たす場合に所定のエリア内で移動終了する確度を算出することができる。そして、情報処理装置100によれば、算出した確度を条件とエリアとに対応付けて出力することができる。これにより、以降において、端末装置110の移動開始時の状況が所定の条件を満たす場合に、所定のエリア内で移動終了する確からしさを判断することができ、移動開始時の状況に応じた目的地を推定可能になる。
また、情報処理装置100は、ある程度の大きさの所定のエリアを設定して、移動開始時の状況が所定の条件を満たす場合に所定のエリア内で移動終了する移動データ120の数を計数する。このため、例えば、所定のエリア内のある施設への移動時の移動データ120が示す移動終了時の位置が、誤差によって施設の位置からずれていても、所定のエリアに含まれれば、誤差を吸収して移動データ120の数をカウントアップすることができる。
さらに、情報処理装置100は、端末装置110の利用者が目的地を指定した走行データなどを用いなくても、以降において端末装置110が移動する際にどこで移動終了するかを判別する際に用いられる情報を蓄積しておくことができる。このため、情報処理装置100は、端末装置110の利用者の作業負担を低減することができる。
また、情報処理装置100によれば、端末装置110の状況を示す状況データを取得し、取得した状況データが示す状況が条件を満たす場合に、算出した確度に基づいて、所定のエリアを端末装置110の目的地のエリアに設定することができる。これにより、情報処理装置100は、端末装置110が所定の条件を満たす状況で移動開始した場合、所定のエリア内で移動終了する確度を取得し、取得した確度に基づいて所定のエリア内のいずれかの位置を端末装置110の目的地に設定することができる。
また、情報処理装置100によれば、複数のエリアのそれぞれのエリアについて、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれる移動データ120を特定することができる。そして、情報処理装置100によれば、特定した移動データ120に基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。これにより、算出部1103は、同一の条件を満たした場合に移動する可能性があるエリアが複数ある場合に、どのエリア内で移動終了するかを判別可能にすることができる。
また、情報処理装置100によれば、所定の条件として、移動開始時の時刻、移動開始時の曜日、移動開始時の位置を含む出発地候補のエリアのうちの少なくともいずれかに関する条件を用いることができる。これにより、情報処理装置100は、端末装置110の利用者の住居や生活リズムに応じた条件を用いることができる。また、情報処理装置100は、移動開始時の位置が出発地候補のエリアに含まれ、同一の出発地から移動開始したという条件を使用可能になる。
また、情報処理装置100によれば、収集した移動データ120に基づいて、端末装置110の移動終了時の位置同士を結ぶ線分を半径とする円形領域のうちの所定数以上の円形領域が重複する円形領域群を、所定のエリアに設定することができる。これにより、情報処理装置100は、複数の移動終了時の位置のそれぞれの位置が、端末装置110が同一の目的地に移動した際の位置であるのかを判別する際に用いられる、同一の目的地に対応する代表目的地エリアを特定することができる。そして、情報処理装置100は、移動終了時の位置に誤差があっても、移動終了時の位置が目的地候補のエリアに含まれ、同一の目的地に移動したか否かを判定可能になる。
また、情報処理装置100によれば、収集した移動データ120に基づいて、端末装置110の移動開始時の位置同士を結ぶ線分を半径とする円形領域のうちの所定数以上の円形領域が重複する円形領域群を、出発地候補のエリアに設定することができる。これにより、特定部1102は、複数の移動終了時の位置のそれぞれの位置が、端末装置110が同一の出発地に移動した際の位置であるのかを判別する際に用いられる、同一の出発地に対応する代表出発地エリアを特定することができる。そして、情報処理装置100は、移動開始時の位置に誤差があっても、移動開始時の位置が出発地候補のエリアに含まれるか否かに基づいて、同一の出発地から移動開始したか否かを判定可能になる。
また、情報処理装置100によれば、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれる移動データ120を特定することができる。そして、情報処理装置100によれば、特定した移動データ120に基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。これにより、算出部1103は、移動開始時の状況が複数の条件を満たした場合に、どの条件に対応するエリアに移動する可能性が高いかを判別可能にすることができる。
また、情報処理装置100によれば、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれる移動データ120の数を計数することができる。そして、情報処理装置100によれば、計数した数および条件に応じた重みに基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。これにより、情報処理装置100は、所定の条件が厳しいほど所定の条件を満たした場合に所定のエリアに移動する可能性を高くすることができる。
また、情報処理装置100によれば、複数の条件のそれぞれの条件について、移動開始時の状況が条件を満たし、かつ、移動終了時の位置がエリアに含まれるか否かを、移動データ120ごとに判定することができる。そして、情報処理装置100によれば、判定した結果、および条件に応じた重みに基づいて、移動開始時の状況が条件を満たす場合にエリア内で移動終了する確度を算出することができる。これにより、情報処理装置100は、所定の条件が厳しいほど所定の条件を満たした場合に所定のエリアに移動する確度を高くすることができる。このため、情報処理装置100は、移動開始時の状況が厳しい条件を満たし、過去の移動開始時の状況との類似度が高い場合には、過去に当該状況で移動開始した際に移動終了したエリアで、再び移動終了する可能性が高いと判断することができる。
また、情報処理装置100によれば、端末装置110の状況を示す状況データを取得し、複数の条件のそれぞれの条件について、取得した状況データが示す状況が条件を満たすか否かを判定することができる。そして、情報処理装置100によれば、満たすと判定した条件のうちの算出した確度が相対的に高い条件に対応するエリアを端末装置110の目的地のエリアに設定することができる。これにより、情報処理装置100は、移動開始時の状況が複数の条件を満たした場合に、どの条件に対応するエリアに移動する可能性が高いかを判別し、目的地のエリアを設定することができる。
また、情報処理装置100によれば、端末装置110の位置の時系列変化を示す時系列データを取得し、取得した時系列データから得られる異なる2点間の距離を算出することができる。そして、情報処理装置100によれば、算出した2点間の距離に基づいて、端末装置110の移動開始時の位置と移動終了時の位置とを特定し、特定した移動開始時の位置に基づいて、端末装置110の移動開始時の状況を判断することができる。情報処理装置100によれば、判断した移動開始時の状況と、特定した移動終了時の位置とを示す移動データ120を収集することができる。
これにより、収集部1101は、端末装置110が所定時間ごとに送信した座標データの中から、移動開始時と移動終了時とのそれぞれに対応する座標データを特定することができる。結果として、端末装置110は、移動開始時か移動終了時かを判断しなくてもよく、所定時間ごとに座標データを情報処理装置100に送信すればよいため、端末装置110への機能追加を抑制することができる。
また、情報処理装置100によれば、端末装置110の動作開始時の状況と動作終了時の位置とを示す移動データ120を収集することができる。これにより、収集部1101は、移動開始時と移動終了時とのそれぞれに対応する座標データを特定することができる。端末装置110は、移動開始時と移動終了時と以外の座標データを送信しなくてもよいため、通信量を低減することができる。
また、情報処理装置100によれば、端末装置110の位置から、設定した目的地エリア内のいずれかの位置までの移動経路を探索し、探索した移動経路上の渋滞、および天候のうちの少なくともいずれかに関する情報を出力することができる。これにより、情報処理装置100は、端末装置110の利用者に、所定のエリアまで移動するか否かの判断材料を提供することができる。
また、情報処理装置100によれば、設定した目的地エリア内の施設におけるイベントに関する情報を、端末装置110に送信することができる。これにより、情報処理装置100は、端末装置110の利用者に、所定のエリアまで移動するか否かの判断材料を提供することができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
端末装置の移動開始時の状況と移動終了時の位置とを示す移動データを収集し、
収集した前記移動データのうち、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出し、
算出した前記確度を前記条件と前記エリアとに対応付けて出力する、
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記コンピュータに、
前記端末装置の状況を示す状況データを取得し、
取得した前記状況データが示す状況が前記条件を満たす場合に、算出した前記確度に基づいて、前記エリアを前記端末装置の目的地のエリアに設定する、
処理を実行させることを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記算出する処理は、
複数のエリアのそれぞれのエリアについて、移動開始時の状況が前記条件を満たし、かつ、移動終了時の位置が前記エリアに含まれる移動データに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出する、ことを特徴とする付記1または2に記載の情報処理プログラム。
(付記4)前記条件は、移動開始時の時刻、移動開始時の曜日、移動開始時の位置を含む出発地候補のエリアのうちの少なくともいずれかに関する条件である、ことを特徴とする付記1〜3のいずれか一つに記載の情報処理プログラム。
(付記5)前記コンピュータに、
収集した前記移動データに基づいて、前記端末装置の移動開始時の位置同士を結ぶ線分を半径とする円形領域のうちの所定数以上の円形領域が重複する円形領域群を、前記出発地候補のエリアに設定する、処理を実行させることを特徴とする付記4に記載の情報処理プログラム。
(付記6)前記コンピュータに、
収集した前記移動データに基づいて、前記端末装置の移動終了時の位置同士を結ぶ線分を半径とする円形領域のうちの所定数以上の円形領域が重複する円形領域群を、前記エリアに設定する、処理を実行させることを特徴とする付記1〜5のいずれか一つに記載の情報処理プログラム。
(付記7)前記算出する処理は、
複数の条件のそれぞれの条件について、移動開始時の状況が前記条件を満たし、かつ、移動終了時の位置が前記エリアに含まれる移動データに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出する、ことを特徴とする付記1〜6のいずれか一つに記載の情報処理プログラム。
(付記8)前記算出する処理は、
前記複数の条件のそれぞれの条件について、移動開始時の状況が前記条件を満たし、かつ、移動終了時の位置が前記エリアに含まれる移動データの数を計数し、計数した前記数および前記条件に応じた重みに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出する、ことを特徴とする付記7に記載の情報処理プログラム。
(付記9)前記算出する処理は、
前記複数の条件のそれぞれの条件について、移動開始時の状況が前記条件を満たし、かつ、移動終了時の位置が前記エリアに含まれるか否かを、前記移動データごとに判定し、判定した結果、および前記条件に応じた重みに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出する、ことを特徴とする付記7に記載の情報処理プログラム。
(付記10)前記コンピュータに、
前記端末装置の状況を示す状況データを取得し、
前記複数の条件のそれぞれの条件について、取得した前記状況データが示す状況が前記条件を満たすか否かを判定し、満たすと判定した前記条件のうちの算出した前記確度が相対的に高い条件に対応する前記エリアを前記端末装置の目的地のエリアに設定する、
処理を実行させることを特徴とする付記7〜9のいずれか一つに記載の情報処理プログラム。
(付記11)前記コンピュータに、
前記端末装置の位置の時系列変化を示す時系列データを取得し、
取得した前記時系列データから得られる異なる2点間の距離に基づいて、前記端末装置の移動開始時の位置と移動終了時の位置とを特定し、特定した移動開始時の位置に基づいて、前記端末装置の移動開始時の状況を判断する、
処理を実行させ、
前記収集する処理は、
判断した移動開始時の状況と、特定した移動終了時の位置とを示す移動データを収集する、ことを特徴とする付記1〜10のいずれか一つに記載の情報処理プログラム。
(付記12)前記収集する処理は、
前記端末装置の動作開始時の状況と動作終了時の位置とを示す移動データを収集する、ことを特徴とする付記1〜11のいずれか一つに記載の情報処理プログラム。
(付記13)前記コンピュータに、
前記端末装置の位置から、設定した前記目的地のエリア内のいずれかの位置までの移動経路を探索し、
探索した前記移動経路上の渋滞、および天候のうちの少なくともいずれかに関する情報を出力する、
処理を実行させることを特徴とする付記2または10に記載の情報処理プログラム。
(付記14)前記コンピュータに、
設定した前記目的地のエリア内の施設におけるイベントに関する情報を、前記端末装置に送信する、
処理を実行させることを特徴とする付記2または10に記載の情報処理プログラム。
(付記15)コンピュータが、
端末装置の移動開始時の状況と移動終了時の位置とを示す移動データを収集し、
収集した前記移動データのうち、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出し、
算出した前記確度を前記条件と前記エリアとに対応付けて出力する、
処理を実行することを特徴とする情報処理方法。
(付記16)端末装置の移動開始時の状況と移動終了時の位置とを示す移動データを収集し、
収集した前記移動データのうち、移動開始時の状況が所定の条件を満たし、かつ、移動終了時の位置が所定のエリアに含まれる移動データに基づいて、移動開始時の状況が前記条件を満たす場合に前記エリア内で移動終了する確度を算出し、
算出した前記確度を前記条件と前記エリアとに対応付けて出力する、
制御部を有することを特徴とする情報処理装置。