(57)【要約】【課題】スケジュール情報に登録されたイベントが実際に実行されたか否かを効果的に判定できるようにし、これにより行動履歴管理情報の信頼性を高める。【解決手段】付与住所一致度算出部３７により、イベントが複数含まれる判定期間を設定し、この判定期間に含まれる全てのイベントについてスケジュール上のイベントの流れを表す第１の関数と滞在系列上のイベントの流れを表す第２の関数をそれぞれ生成してその一致度を第１の一致度として計算する。またそれと共に、上記判定期間に含まれるイベントを選択的に除外することにより組み合わせの異なる全通りのイベント群を定義し、この定義されたイベント群の各々について上記第１及び第２の関数を生成してその一致度を第２の一致度として計算する。さらに行動有無決定部３８により、上記算出された第１及び第２の一致度に基づいて、各イベントに対する実行の有無を判定する。【選択図】図１
2011237925.tif 000002
【特許請求の範囲】
【請求項１】
予め設定されたスケジュール情報に含まれる複数のイベントの各々に対し、当該イベントを実行した滞在場所を表す情報を推定し関連付ける手段を備える行動履歴管理装置であって、
前記スケジュール情報に含まれる各イベントと前記推定し関連付けられた滞在場所を表す情報との間で時系列上の一致度を計算する一致度計算手段と、
前記一致度計算手段により計算された一致度に基づいて、前記各イベントの実行の有無を判定する実行有無判定手段と
を具備し、
前記一致度計算手段は、
前記スケジュール情報に対し複数のイベントが含まれる判定期間を設定する手段と、
前記設定された判定期間に含まれる全てのイベントに対し、イベントの実行予定時間長と各イベントの実行予定時刻とにより定義される実行予定のイベント流れを示す関数を生成する第１の関数生成手段と、
前記判定期間に含まれる全てのイベントに対し関連付けられた滞在場所情報をもとに、滞在場所間の滞在時間間隔と各滞在場所の滞在時刻とにより定義されるイベントの実行結果の流れを示す関数を生成する第２の関数生成手段と、
前記第１の関数生成手段により生成された実行予定のイベントの流れを示す関数と、前記第２の関数生成手段により生成されたイベントの実行結果の流れを示す関数との間の一致度を、第１の一致度として算出する第１の関数一致度算出手段と、
前記判定期間に含まれる複数のイベントを選択的に除外することにより組み合わせの異なる複数通りのイベント群を定義し、この定義された複数通りのイベント群の各々について前記実行予定の流れを示す関数を生成する第３の関数生成手段と、
前記定義された複数通りのイベント群の各々について前記イベントの実行結果の流れを示す関数を生成する第４の関数生成手段と、
前記第３の関数生成手段により生成された実行予定のイベントの流れを示す関数と、前記第４の関数生成手段により生成されたイベントの実行結果の流れを示す関数との間の一致度を、第２の一致度として算出する第２の関数一致度算出手段と
を備え、
前記実行有無判定手段は、
前記第２の関数一致度算出手段により算出された第２の一致度と、前記第１の関数一致度算出手段により算出された第１の一致度とをそれぞれ比較する手段と、
前記比較の結果、前記第２の一致度が前記第１の一致度よりも高くなるイベント群が検出された場合に、この検出されたイベント群における除外したイベントを実行されなかったイベントと仮判定し、かつその他のイベントを実行されたイベントと仮判定する手段と、
前記組み合わせの異なる複数通りのイベント群の中から、その第２の一致度が予め設定されたしきい値以上で、かつ実行されたイベントと仮判定されたイベントを最も多く含むイベント群を選択する手段と、
前記選択されたイベント群に含まれる各イベントに対する仮判定結果を、上記判定期間に含まれる複数のイベントに対する実行有無の最終的な判定結果として決定する手段と
を備えることを特徴とする行動履歴管理装置。
【請求項２】
前記第１及び第３の関数生成手段は、判定対象となるｎ個の各イベントについてその実行予定時刻をｘ座標、イベントの実行予定時間長をｙ座標にそれぞれプロットし、このプロットされた座標値又はその近傍を通過する曲線を表す関数ｆS(x)の係数Ｓ1 〜Ｓ4 を、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、第（１）式により算出し、
ｆS(x) ＝ｆj(x) ＝Ｓ1j＋Ｓ2j (ｘ−ｘj )+Ｓ3j (ｘ−ｘj )2 +Ｓ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（１）
Ｓ10＝ｙ0，…，Ｓ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ｓ1i ←（３／ｈi ）（Ｓ1i ＋１−Ｓ1i）−（３／ｈi-1 ）（Ｓ1i −Ｓ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ｓ3j ←ｚj −μj Ｓ3j+1
Ｓ2j ←｛（Ｓ1j+1 −Ｓ1j）／ｈj ｝−｛ｈj （Ｓ3j+1 ＋ｃj ）／３｝
Ｓ4j ←（Ｓ3j+1 −Ｓ3j）／３ｈj 
前記第２及び第４の関数生成手段は、前記判定対象となる各イベントに対し関連付けられた滞在場所情報をもとに、滞在時刻をｘ座標、滞在場所間の滞在時間間隔をｙ座標にそれぞれプロットし、このプロットされた座標値又はその近傍を通過する曲線を表す関数ｆA(x)の係数Ａ1 〜Ａ4 を、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、第（２）式により算出し、
ｆA(x) ＝ｆj(x) ＝Ａ1j＋Ａ2j (ｘ−ｘj )+Ａ3j (ｘ−ｘj )2 +Ａ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（２）
Ａ10＝ｙ0，…，Ａ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ａ1i ←（３／ｈi ）（Ａ1i ＋１−Ａ1i）−（３／ｈi-1 ）（Ａ1i −Ａ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ａ3j ←ｚj −μj Ａ3j+1
Ａ2j ←｛（Ａ1j+1 −Ａ1j）／ｈj ｝−｛ｈj （Ａ3j+1 ＋ｃj ）／３｝
Ａ4j ←（Ａ3j+1 −Ａ3j）／３ｈj 
前記第１及び第２の関数一致度算出手段は、前記判定期間の時間長をＴとするとき、実行予定のイベントの流れを示す関数とイベントの実行結果の流れを示す関数との間の一致度を、第（３）式
【数１】
2011237925.tif 000007
により算出することを特徴とする請求項１記載の行動履歴管理装置。
【請求項３】
前記スケジュール情報に含まれる複数のイベントの各々に対し、当該イベントを実行した滞在場所を表す情報を推定し関連付ける滞在場所決定手段は、
ユーザが行動を予定するイベントをその内容と実行予定時刻により定義したスケジュール情報を記憶するスケジュール記憶手段と、
前記ユーザの行動域を含む所定範囲の住所を領域の大きさに応じて階層化して表した住所情報を、位置情報と対応付けて記憶した住所変換情報記憶手段と、
緯度経度とその計測時刻とにより表される前記ユーザの位置情報を取得して記憶する位置情報記憶手段と、
前記位置情報記憶手段に記憶された各位置情報をそれぞれ前記住所情報記憶手段に記憶された住所変換情報をもとに住所情報に変換し、この変換された住所情報を対応する前記位置情報に含まれる計時時刻と関連付けて滞在住所履歴として記憶する手段と、
前記記憶された滞在住所履歴をもとに、住所階層別に同一の住所を指し示している滞在時間長と、当該同一の住所に対する滞在時刻を算出する手段と、
前記記憶されたスケジュール情報に含まれるイベントごとに、その実行予定時間長と、前記算出された滞在時間長との間の第１の類似度と、前記記憶されたスケジュール情報の実行予定時刻と前記算出された滞在時刻との間の第２の類似度をそれぞれ算出し、この算出された第１及び第２の類似度の合成値が最も大きくなるときの、前記滞在住所履歴中の住所階層別の滞在住所を選択する選択手段と、
前記選択された滞在住所履歴中の住所階層別の滞在住所を、前記記憶されたスケジュール情報中の該当するイベントに関連付けて記憶させる手段と
を備えることを特徴とする請求項１記載の行動履歴管理装置。
【請求項４】
予め設定されたスケジュール情報に含まれる複数のイベントの各々に対し、当該イベントを実行した滞在場所を表す情報を推定し関連付ける過程を備える行動履歴管理方法であって、
前記スケジュール情報に含まれる各イベントと前記推定し関連付けられた滞在場所を表す情報との間で時系列上の一致度を計算する一致度計算過程と、
前記一致度計算過程により計算された一致度に基づいて、前記各イベントの実行の有無を判定する実行有無判定過程と
を具備し、
前記一致度計算過程は、
前記スケジュール情報に対し複数のイベントが含まれる判定期間を設定する過程と、
前記設定された判定期間に含まれる全てのイベントに対し、イベントの実行予定時間長と各イベントの実行予定時刻とにより定義される実行予定のイベント流れを示す関数を生成する第１の関数生成過程と、
前記判定期間に含まれる全てのイベントに対し関連付けられた滞在場所情報をもとに、滞在場所間の滞在時間間隔と各滞在場所の滞在時刻とにより定義されるイベントの実行結果の流れを示す関数を生成する第２の関数生成過程と、
前記第１の関数生成過程により生成された実行予定のイベントの流れを示す関数と、前記第２の関数生成過程により生成されたイベントの実行結果の流れを示す関数との間の一致度を、第１の一致度として算出する第１の関数一致度算出過程と、
前記判定期間に含まれる複数のイベントを選択的に除外することにより組み合わせの異なる複数通りのイベント群を定義し、この定義された複数通りのイベント群の各々について前記実行予定の流れを示す関数を生成する第３の関数生成過程と、
前記定義された複数通りのイベント群の各々について前記イベントの実行結果の流れを示す関数を生成する第４の関数生成過程と、
前記第３の関数生成過程により生成された実行予定のイベントの流れを示す関数と、前記第４の関数生成過程により生成されたイベントの実行結果の流れを示す関数との間の一致度を、第２の一致度として算出する第２の関数一致度算出過程と
を備え、
前記実行有無判定過程は、
前記第２の関数一致度算出過程により算出された第２の一致度と、前記第１の関数一致度算出過程により算出された第１の一致度とをそれぞれ比較する過程と、
前記比較の結果、前記第２の一致度が前記第１の一致度よりも高くなるイベント群が検出された場合に、この検出されたイベント群における除外したイベントを実行されなかったイベントと仮判定し、かつその他のイベントを実行されたイベントと仮判定する過程と、
前記組み合わせの異なる複数通りのイベント群の中から、その第２の一致度が予め設定されたしきい値以上で、かつ実行されたイベントと仮判定されたイベントを最も多く含むイベント群を選択する過程と、
前記選択されたイベント群に含まれる各イベントに対する仮判定結果を、上記判定期間に含まれる複数のイベントに対する実行有無の最終的な判定結果として決定する過程と
を備えることを特徴とする行動履歴管理方法。
【請求項５】
前記第１及び第３の関数生成過程は、判定対象となるｎ個の各イベントについてその実行予定時刻をｘ座標、イベントの実行予定時間長をｙ座標にそれぞれプロットし、このプロットされた座標値又はその近傍を通過する曲線を表す関数ｆS(x)の係数Ｓ1 〜Ｓ4 を、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、第（１）式により算出し、
ｆS(x) ＝ｆj(x) ＝Ｓ1j＋Ｓ2j (ｘ−ｘj )+Ｓ3j (ｘ−ｘj )2 +Ｓ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（１）
Ｓ10＝ｙ0，…，Ｓ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ｓ1i ←（３／ｈi ）（Ｓ1i ＋１−Ｓ1i）−（３／ｈi-1 ）（Ｓ1i −Ｓ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ｓ3j ←ｚj −μj Ｓ3j+1
Ｓ2j ←｛（Ｓ1j+1 −Ｓ1j）／ｈj ｝−｛ｈj （Ｓ3j+1 ＋ｃj ）／３｝
Ｓ4j ←（Ｓ3j+1 −Ｓ3j）／３ｈj 
前記第２及び第４の関数生成過程は、前記判定対象となる各イベントに対し関連付けられた滞在場所情報をもとに、滞在時刻をｘ座標、滞在場所間の滞在時間間隔をｙ座標にそれぞれプロットし、このプロットされた座標値又はその近傍を通過する曲線を表す関数ｆA(x)の係数Ａ1 〜Ａ4 を、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、第（２）式により算出し、
ｆA(x) ＝ｆj(x) ＝Ａ1j＋Ａ2j (ｘ−ｘj )+Ａ3j (ｘ−ｘj )2 +Ａ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（２）
Ａ10＝ｙ0，…，Ａ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ａ1i ←（３／ｈi ）（Ａ1i ＋１−Ａ1i）−（３／ｈi-1 ）（Ａ1i −Ａ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ａ3j ←ｚj −μj Ａ3j+1
Ａ2j ←｛（Ａ1j+1 −Ａ1j）／ｈj ｝−｛ｈj （Ａ3j+1 ＋ｃj ）／３｝
Ａ4j ←（Ａ3j+1 −Ａ3j）／３ｈj 
前記第１及び第２の関数一致度算出過程は、前記判定期間の時間長をＴとするとき、実行予定のイベントの流れを示す関数とイベントの実行結果の流れを示す関数との間の一致度を、第（３）式
【数２】
2011237925.tif 000008
により算出することを特徴とする請求項４記載の行動履歴管理方法。
【請求項６】
前記スケジュール情報に含まれる複数のイベントの各々に対し、当該イベントを実行した滞在場所を表す情報を推定し関連付ける過程は、
ユーザが行動を予定するイベントをその内容と実行予定時刻により定義したスケジュール情報をスケジュール記憶手段に記憶する過程と、
緯度経度とその計測時刻とにより表される前記ユーザの位置情報を取得して位置情報記憶手段に記憶する過程と、
前記位置情報記憶手段に記憶された各位置情報を、住所を領域の大きさに応じて階層化して表した住所情報に変換し、この変換された住所情報を対応する前記位置情報に含まれる計時時刻と関連付けて滞在住所履歴として記憶する過程と、
前記記憶された滞在住所履歴をもとに、住所階層別に同一の住所を指し示している滞在時間長と、当該同一の住所に対する滞在時刻を算出する過程と、
前記記憶されたスケジュール情報に含まれるイベントごとに、その実行予定時間長と、前記算出された滞在時間長との間の第１の類似度と、前記記憶されたスケジュール情報の実行予定時刻と前記算出された滞在時刻との間の第２の類似度をそれぞれ算出し、この算出された第１及び第２の類似度の合成値が最も大きくなるときの、前記滞在住所履歴中の住所階層別の滞在住所を選択する過程と、
前記選択された滞在住所履歴中の住所階層別の滞在住所を、前記記憶されたスケジュール情報中の該当するイベントに関連付けて記憶させる過程と
を備えることを特徴とする請求項５記載の行動履歴管理方法。
【請求項７】
請求項１乃至請求項３のいずれかに記載の行動履歴管理装置が備える各手段の処理を、当該行動履歴管理装置が備えるコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、スケジュール情報に登録されている各イベントに対し当該イベントを実行した滞在場所を表す住所情報を付与する機能を有する行動履歴管理装置と、この装置により実行される行動履歴管理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、例えばレコメンドサービスを実施するためにユーザの行動履歴を調べその滞在予定場所を特定する技術として、携帯端末が備えるＧＰＳ（Global Positioning Service）位置計測機能を利用する技術が提案されている。この技術は、例えば携帯端末のＧＰＳ位置計測機能により周期的に検出される緯度経度データをメモリに蓄積し、予め設定した一定の時間内に予め設定した範囲内に複数の緯度経度データが集まった場合に、ユーザはこの場所に滞在したと判定するものである。
【０００３】
一方、ユーザの中には自身の行動予定（イベント）をスケジュール情報として自身の情報端末に登録し、この登録されたスケジュール情報に従って行動を管理する人が多く存在する。このようなユーザに対しては、上記した実際の行動履歴から特定した滞在場所を表す住所情報を上記スケジュール情報と関連付けて管理できるようにすると、ユーザ自身にとっても、またサービスを提供する側にとっても都合がよい。
【０００４】
そこで、スケジュール情報に登録された複数のイベントのそれぞれについて、その実行予定時間と、ＧＰＳ位置計測機能の計測結果をもとに検出された実際に行動を起こした時間との重なりの一致度を求め、この一致度をもとにイベントを実行したと推定される滞在場所の住所を特定して、この特定された滞在場所の住所情報を上記イベントに付与する技術が提案されている（例えば、非特許文献１を参照。）。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】牛尼剛聡、渡邉豊英、「ライフログ検索における時間粒度を考慮した索引付け」、情報処理学会研究報告、IPSJ SIG Notes 2005(68)、pp. 469-475, 2005
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、先に述べた非特許文献１に開示された技術では、スケジュール情報に登録された全てのイベントに対して無条件に住所情報が付与される。このため、以下のような解決すべき課題を有する。すなわち、ユーザがスケジュール情報に登録したイベントの中には、登録されていても実際には実行されないイベントも存在する。しかるに、上記非特許文献１に記載された技術では、実際には実行されなかったイベントに対しても、あたかも実行されたかのように滞在場所の住所情報が付与されてしまう。このため、ユーザの行動履歴管理情報の信頼性が低下し、この行動履歴管理情報を利用した各種サービスの品質低下を招く。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、スケジュール情報に登録されたイベントが実際に実行されたか否かを効果的に判定できるようにし、これにより行動履歴管理情報の信頼性を高めた行動履歴管理装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明の第１の観点は、予め設定されたスケジュール情報に含まれる複数のイベントの各々に対し、当該イベントを実行した滞在場所を表す情報を推定し関連付ける手段を備える行動履歴管理装置にあって、上記スケジュール情報に含まれる各イベントと上記推定し関連付けられた滞在場所を表す情報との間で時系列上の一致度を計算する一致度計算手段と、この一致度計算手段により計算された一致度に基づいて上記各イベントの実行の有無を判定する実行有無判定手段を具備する。  
一致度計算手段では、上記スケジュール情報に対し複数のイベントが含まれる判定期間を設定し、この設定された判定期間に含まれる全てのイベントに対し、実行予定のイベントの流れを示す関数を第１の関数生成手段により生成すると共に、当該イベントの実行結果の流れを示す関数を第２の関数生成手段により生成する。そして、これらの生成された実行予定のイベントの流れを示す関数とイベントの実行結果の流れを示す関数との間の一致度を第１の一致度として算出する。なお、上記実行予定のイベントの流れを示す関数は、イベントの実行予定時間長と各イベントの実行予定時刻とにより定義される。一方イベントの実行結果の流れを示す関数は、上記各イベントに関連付けられた滞在場所情報をもとに、滞在場所間の滞在時間間隔と各滞在場所の滞在時刻とにより定義される。  
また一致度計算手段では、上記判定期間に含まれる複数のイベントを選択的に除外することにより組み合わせの異なる複数通りのイベント群を定義し、この定義された複数通りのイベント群の各々について上記実行予定の流れを示す関数及び上記イベントの実行結果の流れを示す関数をそれぞれ第３及び第４の関数生成手段により生成する。そして、この生成された実行予定のイベントの流れを示す関数とイベントの実行結果の流れを示す関数との間の一致度を第２の一致度として算出する。  
一方、実行有無判定手段では、上記組み合わせの異なる複数通りのイベント群について算出された第２の一致度と、上記全てのイベントに対し算出された第１の一致度とをそれぞれ比較し、この比較の結果第２の一致度が第１の一致度よりも高くなるイベント群が検出された場合に、この検出されたイベント群における除外したイベントを「実行されなかったイベント」と仮判定し、かつその他のイベントを「実行されたイベント」と仮判定する。また、上記組み合わせの異なる複数通りのイベント群の中から、その第２の一致度が予め設定されたしきい値以上で、かつ「実行されたイベント」と仮判定されたイベントを最も多く含むイベント群を選択し、この選択されたイベント群に含まれる各イベントに対する仮判定結果を、上記判定期間に含まれる複数のイベントに対する実行有無の最終的な判定結果として決定する。
【０００９】
上記第１及び第３の関数生成手段の一実施態様としては、上記判定期間に含まれるｎ個の各イベントについてその実行予定時刻をｘ座標、イベントの実行予定時間長をｙ座標にそれぞれプロットし、このプロットされた座標値を通過する曲線を表す関数ｆS(x)の係数Ｓ1 〜Ｓ4 を、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、以下の第（１）式により算出するものが考えられる。  
ｆS(x) ＝ｆj(x) ＝Ｓ1j＋Ｓ2j (ｘ−ｘj )+Ｓ3j (ｘ−ｘj )2 +Ｓ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（１）
Ｓ10＝ｙ0，…，Ｓ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ｓ1i ←（３／ｈi ）（Ｓ1i ＋１−Ｓ1i）−（３／ｈi-1 ）（Ｓ1i −Ｓ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ｓ3j ←ｚj −μj Ｓ3j+1
Ｓ2j ←｛（Ｓ1j+1 −Ｓ1j）／ｈj ｝−｛ｈj （Ｓ3j+1 ＋ｃj ）／３｝
Ｓ4j ←（Ｓ3j+1 −Ｓ3j）／３ｈj
【００１０】
上記第２及び第４の関数生成手段の一つの実施態様としては、上記判定期間に含まれる各イベントに対し関連付けられた滞在場所情報をもとに、滞在時刻をｘ座標、滞在場所間の滞在時間間隔をｙ座標にそれぞれプロットし、このプロットされた座標値を通過する曲線を表す関数ｆA(x)の係数Ａ1 〜Ａ4 を、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、以下の第（２）式により算出するものが考えられる。  
ｆA(x) ＝ｆj(x) ＝Ａ1j＋Ａ2j (ｘ−ｘj )+Ａ3j (ｘ−ｘj )2 +Ａ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（２）
Ａ10＝ｙ0，…，Ａ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ａ1i ←（３／ｈi ）（Ａ1i ＋１−Ａ1i）−（３／ｈi-1 ）（Ａ1i −Ａ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ａ3j ←ｚj −μj Ａ3j+1
Ａ2j ←｛（Ａ1j+1 −Ａ1j）／ｈj ｝−｛ｈj （Ａ3j+1 ＋ｃj ）／３｝
Ａ4j ←（Ａ3j+1 −Ａ3j）／３ｈj
【００１１】
また、上記第１及び第２の関数一致度を算出する手段としては、上記判定期間の時間長をＴとするとき、実行予定のイベントの流れを示す関数とイベントの実行結果の流れを示す関数との間の一致度を、以下の第（３）式により算出するものが考えられる。  
【数１】
2011237925.tif 000003
【００１２】
一般に、個々のイベントの実行予定時刻とそれに対応付けられた滞在場所情報の滞在時刻との比較結果だけを見ても、各イベントの実行有無を判断することは難しい。例えば、いま実行予定時間が「10:00 〜 11:00」、「13:00 〜 14:00」に設定された二つのイベントが登録されており、一つ目のイベントが遅れて開始されたことにより後続のイベントも遅れて実行された場合には、全体としては遅れて実行されただけであるが、個々のイベントの実行予定時間と実際に実行された時間との一致度は低下してしまう。
【００１３】
ここで、「実行時刻は遅れたが実行された場合」と、「実行されなかった場合」とを分類すると、前者は時刻が遅れても実行されたため、前後のイベントを含めたイベントの発生間隔及びイベントの時間長はスケジュール情報に登録されたイベント間の実行時間間隔及び各イベントの実行予定時間長とほぼ一致するものと想定される。これに対し後者は、時刻が大幅に遅れるため前後のイベントとの時間間隔がスケジュールに登録された実行予定時間間隔と大きく異なる。
【００１４】
そこでこの発明の一観点では、予め設定した判定期間内の複数のイベントの発生間隔と時間長に着目して、当該判定期間における実行予定のイベントの流れと当該イベントの実行結果の流れを関数によって定義し、イベントごとに「該当イベントが実行された場合」と「該当イベントが実行されなかった場合」の関数の一致度を比較して、その比較結果をもとに上記各イベントの実行の有無を判定するようにしている。このため、複数のイベントの相互の時間的な関連性を考慮したうえで、スケジュール情報に登録されたイベントが実際に実行されたか否かを効果的に判定することが可能となる。
【００１５】
さらに、この発明の一観点は、スケジュール情報に含まれる複数のイベントの各々に対し当該イベントを実行した滞在場所を表す情報を推定し関連付ける手段を、以下のように構成することも特徴とする。  
すなわち、ユーザが行動を予定するイベントをその内容と実行予定時刻により定義したスケジュール情報を記憶するスケジュール記憶手段と、上記ユーザの行動域を含む所定範囲の住所を領域の大きさに応じて階層化して表した住所情報を、位置情報と対応付けて記憶した住所変換情報記憶手段と、緯度経度とその計測時刻とにより表される上記ユーザの位置情報を取得して記憶する位置情報記憶手段と、上記位置情報記憶手段に記憶された各位置情報をそれぞれ上記住所情報記憶手段に記憶された住所変換情報をもとに住所情報に変換し、この変換された住所情報を対応する上記位置情報に含まれる計時時刻と関連付けて滞在住所履歴として記憶する手段と、上記記憶された滞在住所履歴をもとに、住所階層別に同一の住所を指し示している滞在時間長と、当該同一の住所に対する滞在時刻を算出する手段と、上記記憶されたスケジュール情報に含まれるイベントごとに、その実行予定時間長と、上記算出された滞在時間長との間の第１の類似度と、上記記憶されたスケジュール情報の実行予定時刻と上記算出された滞在時刻との間の第２の類似度をそれぞれ算出し、この算出された第１及び第２の類似度の合成値が最も大きくなるときの、上記滞在住所履歴中の住所階層別の滞在住所を選択する選択手段と、上記選択された滞在住所履歴中の住所階層別の滞在住所を、上記記憶されたスケジュール情報中の該当するイベントに関連付けて記憶させる手段とを備える。
【００１６】
このような構成によれば、ユーザの位置に対応する住所情報をもとに、その住所階層別の同一の住所を指し示している滞在時間長と、当該同一の住所に対する滞在時刻の代表値が算出され、この算出された滞在時間長及び滞在時刻の代表値がスケジュール情報により示される行動予定時間及び行動予定代表時刻に対し最も近い住所階層別の滞在住所が選択され、この選択された住所階層別の滞在住所がスケジュール情報中の行動予定に関連付けられる。
【００１７】
例えば、住所情報が「都道府県」、「区・市町村」、「地名」、「番地」からなる４つの階層に階層化されている場合に、「買い物」等のようにユーザが比較的広い範囲を移動する場合には住所階層別の滞在住所として「地名」が選択され、「都道府県」からこの「地名」までの階層により表される住所情報が上記「買い物」に関連付けられる。これに対し、「会議」のようにユーザが固定された場所に滞在する場合には住所階層別の滞在住所として「番地」が選択され、「都道府県」からこの「番地」までのすべての階層により表される住所情報が上記「会議」に関連付けられる。
【００１８】
したがって、スケジュール情報として記憶されるユーザの行動予定の内容と行動開始予定時刻及び終了予定時刻が曖昧な情報だったとしても、この行動予定に対しそのときのユーザの滞在場所を示す住所情報を適切に関連付けることができる。例えば、行動予定の内容が「友人宅」、「会社」又は「歯医者」等のように施設名だったり「渋谷」や「新宿」等のように地域名だったとしても、また滞在予定時間が実際の滞在時間に対しずれていたとしても、スケジュール情報との間のずれを住所階層の単位で吸収して住所情報を適切に関連付けることができる。
【００１９】
なお、一般に会社や自宅等のように滞在時間が長い滞在場所においては、スケジュール情報に複数の行動予定が登録されることが多い。このような場合には、上記複数の行動予定を１つの行動予定群として扱い、この行動予定群と滞在時間長及び滞在代表時刻が類似する滞在住所を選択した方がよい。
【００２０】
そこで、スケジュール情報のイベントに対応する住所階層別の滞在住所を選択する際に、スケジュール情報に含まれる各イベントについて、当該イベントと上記住所階層別の各滞在住所との間で上記第１及び第２の類似度を算出すると共に、上記イベントと当該イベントに対し時系列上で前後するイベントとの各組み合わせについて、当該イベントの組み合わせと上記住所階層別の各滞在住所との間で上記第１及び第２の類似度を算出する。そして、これらの算出結果をもとに、第１及び第２の類似度の合成値が最も大きくなるときの住所階層別の滞在住所を選択する。
【００２１】
このようにすると、例えばスケジュール情報において、指定された期間（１日／１週間／１ヶ月等）に複数のイベントが存在する場合には、これらのイベントのいくつかを１つのイベント群と見なして上記第１及び第２の類似度が計算され、このイベント群に対する類似度が最も高かった場合にはこのときの住所が選択される。したがって、会社や自宅等のように滞在時間が長い滞在場所において設定された複数のイベントに対する滞在住所の決定をより適切に行うことが可能となる。
【００２２】
さらに、一般にスケジュール情報に登録されたイベントの実行予定場所と実際の滞在場所との間では、滞在時間帯及び滞在時刻の一致関係が異なることが多い。例えば、勤務先のように頻繁に訪問又は長期間滞在する場所については、スケジュール情報に含まれない他のイベントも含めて同じ場所に滞在することが多いため、滞在時間長の類似度よりも滞在時刻の類似度の方が高くなる傾向がある。
【００２３】
そこで、スケジュール情報のイベントに対応する住所階層別の滞在住所を選択する際に、上記滞在住所履歴に含まれる住所階層別の滞在住所ごとに、当該対象住所における滞在時間長と上記滞在住所履歴に含まれるすべての住所に対する総滞在時間長との比と、上記対象住所に対する滞在回数と上記滞在住所履歴に含まれる滞在地の延べ総数との比をもとに、滞在時間長が長くなるに従い上記第１の類似度より第２の類似度を増加させるような重み係数を算出する。そして、上記第１及び第２の類似度を算出する際に、当該第１及び第２の類似度に対し上記算出された重み係数に従い重み付け処理を行うようにする。
【００２４】
このようにすると、上記したようにスケジュール情報に登録された実行予定時間と実際に行動を起こした時間とのずれを考慮し、スケジュール情報に登録されたイベントと実際の行動との間の滞在時間の類似度及び滞在代表時刻の類似度を算出するに際し、過去の滞在頻度又は滞在時間に応じて「滞在時刻の類似度」及び「滞在時間長の類似度」に対する重み付けが調整される。このため、勤務先等のように比較的長時間に渡り滞在するイベントに対しては、滞在時間長の類似度より滞在時刻の類似度が重要視されて滞在住所の選択が行われ、これによりスケジュール情報に登録された各イベントのうち、滞在時間が比較的長い行動予定に対して、正確な住所を付与することが可能となる。
【発明の効果】
【００２５】
すなわちこの発明によれば、スケジュール情報に登録されたイベントが実際に実行されたか否かを効果的に判定できるようにし、これにより行動履歴管理情報の信頼性を高めた行動履歴管理装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００２６】
【図１】この発明の一実施形態に係わる行動履歴管理装置の構成を示すブロック図。
【図２】図１に示した行動履歴管理装置に設けられたスケジュールデータベースに記憶されるスケジュール情報の一例を示す図。
【図３】図１に示した行動履歴管理装置に設けられた位置情報データベースに記憶される位置情報の一例を示す図。
【図４】図１に示した行動履歴管理装置に設けられた位置／住所データベースに記憶される位置／住所変換データの一例を示す図。
【図５】図１に示した行動履歴管理装置に設けられた滞在住所履歴データベースに記憶される滞在履歴情報の一例を示す図。
【図６】図１に示した行動履歴管理装置によるスケジュール実行状況判定処理の手順と内容を示すフローチャート。
【図７】図６に示したスケジュール実行状況判定処理のうち住所粒度別滞在時間算出処理の一例を説明するための図。
【図８】図６に示したスケジュール実行状況判定処理のうち滞在時刻及び滞在時間長に対する重み算出処理の一例を説明するための図。
【図９】図６に示したスケジュール実行状況判定処理のうちイベントに対する類似度算出処理の一例を説明するための図。
【図１０】図６に示したスケジュール実行状況判定処理のうち行動有無決定処理の第１の例を説明するための図。
【図１１】図６に示したスケジュール実行状況判定処理のうち行動有無決定処理の第２の例を説明するための図。
【図１２】図６に示したスケジュール実行状況判定処理のうち行動有無決定処理の第３の例を説明するための図。
【発明を実施するための形態】
【００２７】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
図１は、この発明の一実施形態に係わる行動履歴管理装置の機能構成を示すブロック図である。  
この行動履歴管理装置は、例えばユーザが所持する携帯端末、或いはこの携帯端末との間で通信可能なサーバ装置により構成され、インタフェースユニット１０と、記憶ユニット２０と、制御ユニット３０を備えている。なお、携帯端末としては、携帯電話機、スマートホン、ＰＤＡ（Personal Digital Assistant）、携帯可能な小型パーソナル・コンピュータ等が該当する。
【００２８】
インタフェースユニット１０は、スケジュール取得部１１と、位置情報取得部１２とを備えている。  
スケジュール取得部１１は、携帯端末であればユーザがスケジュール情報を手動入力するための入力部及び表示部からなり、またサーバ装置であればユーザの携帯端末からスケジュール情報を受信する受信部からなる。スケジュール取得部１１は、上記入力又は受信されたスケジュール情報を記憶ユニット２０のスケジュールデータベース（スケジュールＤＢ）２１に書き込む。スケジュール情報には複数のイベントデータが含まれ、各イベントデータはそれぞれ、イベントの内容を表す情報と、実行開始予定時刻と、実行終了予定時刻とから構成される。図２はスケジュールＤＢ２１に記憶されたイベントデータの一例を示す図である。
【００２９】
位置情報取得部１２は、携帯端末であればＧＰＳ（Global Positioning Service）受信機と位置計算部とを備える。ＧＰＳ受信機は、図示しない複数のＧＰＳ衛星が送信しているＧＰＳ信号を予め定められた受信周期でそれぞれ受信する。位置計算部は、上記ＧＰＳ受信機により受信されたＧＰＳ信号をもとに自端末の緯度・経度を算出し、この算出された緯度・経度のデータとその計測時刻を含む位置情報を記憶ユニット２０の位置情報データベース（位置情報ＤＢ）２２に書き込む。図３はこの位置情報ＤＢ２２に蓄積された位置情報の一例を示す。
【００３０】
また位置情報取得部１２は、サーバ装置であればユーザの携帯端末或いは当該携帯端末が存在するサービスエリアの基地局から当該ユーザの携帯端末の位置情報を受信し、この受信された位置情報を記憶ユニット２０の位置情報データベース（位置情報ＤＢ）２２に書き込む。
【００３１】
記憶ユニット２０は、上記したスケジュールＤＢ２１及び位置情報ＤＢ２２に加え、位置／住所データベース（位置／住所ＤＢ）２３と、滞在住所履歴データベース（滞在住所履歴ＤＢ）２４を備えている。  
位置／住所ＤＢ２３には、ユーザの行動予定地域を少なくとも含む範囲の住所変換データが記憶されている。この住所変換データは、位置情報の緯度・経度データに対応付けて該当する地点の住所情報を記憶したものである。住所情報は、その領域の大きさに応じて複数の住所粒度に階層化されている。例えば、「都道府県」、「区・市町村」、「地名」及び「番地」の４階層に階層化されている。図４はこの位置／住所ＤＢ２３に記憶された住所変換データの一例を示す。
【００３２】
滞在住所履歴ＤＢ２４には、過去の所定期間（例えば数年間）に得られたユーザの滞在場所を表す滞在住所履歴データが記憶される。滞在住所履歴データは、滞在住所と滞在時間とにより表される。滞在住所は、上記位置／住所ＤＢ２３により変換された階層化住所情報により表される。滞在時間は、滞在開始時刻及び滞在終了時刻により表され、これらの滞在開始時刻及び滞在終了時刻は位置情報ＤＢ２２に記憶された、上記滞在場所に対応する計測時刻により表される。図５はこの滞在住所履歴ＤＢ２４に記憶された滞在住所履歴データの一例を示す。
【００３３】
制御ユニット３０は、この発明を実施するために必要な制御機能として、スケジュール読込部３１と、位置情報読込部３２と、位置／住所変換部３３と、住所粒度別滞在時間算出部３４と、重み係数決定部３５と、住所粒度・住所決定部３６と、付与住所一致度算出部３７と、行動有無決定部３８とを備えている。なお、これらの制御機能はいずれも、図示しないプログラムメモリに格納されたアプリケーション・プログラムを、図示しない中央処理ユニット（Central Processing Unit；ＣＰＵ）に実行させることにより実現される。
【００３４】
スケジュール読込部３１は、スケジュールＤＢ２１に記憶されたスケジュール情報に含まれるイベントデータを１つずつ順に選択し、この選択されたイベントデータごとにその内容、開始予定時刻及び終了予定時刻を読み込む処理を実行する。  
位置情報読込部３２は、上記位置情報ＤＢ２２から位置情報を読み込む処理を実行する。  
位置／住所変換部３３は、上記位置情報読込部３２により読み込まれた位置情報ごとに、当該位置情報に含まれる緯度・経度データをキーとして位置／住所ＤＢ２３に対しアクセスし、当該緯度・経度データに対応する住所情報を読み出す。そして、この読み出された住所情報を、上記位置情報ＤＢ２２に記憶された対応する滞在地点の計時時刻と共に、上記滞在住所履歴ＤＢ２４に追加記憶させる。
【００３５】
住所粒度別滞在時間算出部３４は、上記位置／住所変換部３３により変換された各住所情報を対応する位置情報の取得時刻順に並べ、住所粒度（住所階層）ごとに同一の住所を指し示している隣接する時間の合計値、つまりユーザが同一の住所に連続して滞在しているときの時間長と、その滞在開始時刻及び終了時刻を算出する処理を行う。
【００３６】
重み係数決定部３５は、上記滞在住所履歴ＤＢ２４に記憶された過去の一定期間分の住所情報を読み出し、各住所における滞在時間長と上記滞在住所履歴データに含まれるすべての住所に対する総滞在時間長との比と、上記各住所に対する滞在回数と上記滞在住所履歴データに含まれる滞在地の延べ総数との比をもとに、滞在時間長が長くなるに従い後述する類似度算出処理における「滞在時刻への一致度」の重みの大きさが「滞在時間長の一致度」に対する重みの大きさより大きくなるような重み係数を算出する処理を行う。
【００３７】
住所粒度・住所決定部３６は、以下の処理を実行する。すなわち、先ず上記スケジュールＤＢ２１に記憶された各イベントデータの行動時間長及びその行動開始予定時刻及び終了予定時刻と、上記住所粒度別滞在時間算出部３４により算出された住所粒度別の各住所の滞在時間長及びその滞在開始時刻及び終了時刻と、上記重み係数決定部３５によって算出された重み係数とを用いて、上記イベントと実際の行動履歴との間、及びイベントの組み合わせと実際の行動履歴との間で、それぞれ滞在時間長及び滞在時刻の類似度を算出する。そして、この算出された類似度が最も大きくなるときの住所粒度別の滞在場所の住所を選択し、この選択された住所粒度の住所情報を、上記スケジュールＤＢ２１に記憶されたスケジュール情報中の該当するイベントデータに対し付与する。
【００３８】
付与住所一致度算出部３７は、以下の処理を実行する。  
(1) 上記スケジュールＤＢ２１に記憶されたスケジュール情報に対しイベントが複数含まれる判定期間を設定する。そして、この判定期間に含まれる全てのイベントに対し、イベント間の時間間隔と各イベントの開始又は終了予定時刻とにより定義される第１の関数と、当該各イベントに対し上記住所粒度・住所決定部３６により付与された滞在住所間の時間間隔と当該滞在住所の滞在開始又は終了時刻とにより定義される第２の関数をそれぞれ生成して、これら第１及び第２の関数間の一致度を、第１の一致度として計算する処理。
【００３９】
(2) 上記判定期間に含まれる全てのイベントをＮ個とするとき、これらのイベントから１個以上Ｎ個以下のイベントを順次選択的に除外することにより組み合わせの異なる複数通りのイベント群を定義し、この定義された複数通りのイベント群の各々について上記第１及び第２の関数を生成して、これら第１及び第２の関数間の一致度を、第２の一致度として計算する処理。
【００４０】
行動有無決定部３８は、以下の処理を実行する機能を有する。  
(1) 上記付与住所一致度算出部３７により算出された第２の一致度（イベントを選択的に除外したイベント群について計算した一致度）と、第１の一致度（全てのイベントについて計算した一致度）とをそれぞれ比較する処理。
【００４１】
(2) 上記比較処理の結果、第２の一致度が第１の一致度よりも高くなるイベント群が検出された場合に、この検出されたイベント群における除外したイベントを「実行されなかったイベント」と仮判定し、かつその他のイベントを「実行されたイベント」と仮判定する処理。
【００４２】
(3) 上記組み合わせの異なる複数通りのイベント群の中から、第２の一致度が予め設定されたしきい値以上のイベント群を選択する。そして、この選択されたイベント群の中から、「実行されたイベント」と仮判定されたイベントを最も多く含むイベント群を一つ選択し、この選択されたイベント群に含まれる各イベントに対する実行の有無の仮判定結果を、上記判定期間に含まれる各イベントに対する実行有無の最終的な判定結果として決定する処理。
【００４３】
次に、以上のように構成された装置の動作を説明する。図６はその動作の処理手順と処理内容を示すフローチャートである。  
（１）スケジュール情報の登録と取得
スケジュール情報の登録処理は、ユーザの携帯端末において例えば以下のように行われる。  
すなわち、携帯端末にはスケジュール登録操作に応じてスケジュール入力のためのテンプレート画面が表示部に表示され、この状態でユーザが入力部によりイベントの内容、実行開始予定時刻及び実行終了予定時刻を表すイベントデータを入力すると、この入力されたイベントデータがスケジュール情報として携帯端末内のメモリに格納される。イベントは複数登録することが可能であり、その内容としては例えば図２に示したように「飲み会」等の行事名や、「歯医者」等の一般名称が含まれる。また、「渋谷」、「新宿」等のような地域名を使用することも可能である。
【００４４】
行動履歴管理機能がサーバ装置に設けられている場合には、スケジュール取得部１１の制御の下で、上記携帯端末に記憶されたスケジュール情報が通信ネットワークを介してサーバ装置に伝送され、このスケジュール情報はユーザ又は携帯端末の識別情報と関連付けられて記憶ユニット２０のスケジュールＤＢ２１に格納される。なお、サーバ装置へのスケジュール情報の伝送処理は、携帯端末におけるユーザの操作をトリガとして実行してもよいが、サーバ装置が定期的に取得処理を実行するようにしもよい。
【００４５】
（２）ユーザの位置情報の計測と取得
ユーザの行動中に携帯端末ではユーザの位置情報の検出及び蓄積処理が行われる。すなわち、ＧＰＳ受信機では、複数のＧＰＳ衛星が送信しているＧＰＳ信号が予め定められた受信周期でそれぞれ受信される。位置情報書込部では、上記ＧＰＳ受信機によりＧＰＳ信号が受信されるごとに、この受信された複数のＧＰＳ信号をもとに自端末の緯度・経度が算出され、この算出された緯度・経度とその計測時刻を含む位置情報が位置情報メモリに書き込まれる。
【００４６】
上記位置情報は、携帯端末の自律的な送信処理により、或いはサーバ装置からの定期的な位置情報取得要求に応じて、携帯端末からサーバ装置へ伝送される。サーバ装置では、位置情報取得部１２の制御の下で上記携帯端末からの位置情報の取得処理が行われ、受信された位置情報はユーザ又は携帯端末の識別情報と関連付けられて位置情報ＤＢ２２に格納される。この結果、位置情報ＤＢ２２にはユーザの一定時間ごとの位置情報が移動履歴として蓄積されることになる。
【００４７】
（３）スケジュール情報のイベントに対する滞在地住所の付与
位置情報ＤＢ２２に、例えばユーザの１日分の移動履歴を表す位置情報が蓄積されると、制御ユニット３０はスケジュール情報に含まれるイベントに対しその実行場所を表す滞在地住所を付与するための処理を以下のように実行する。図７乃至図９は当該処理内容の具体例を説明するための図である。
【００４８】
なお、滞在住所履歴ＤＢ２４には、例えば図５に示すように当該ユーザの過去数年間分の滞在住所データが記憶されているものとして説明を行う。個々の滞在住所データは、住所粒度に応じて階層化された滞在場所と、滞在開始時刻と滞在終了時刻とにより表れる滞在時間とにより構成される。
【００４９】
（３−１）スケジュール情報の読み込み  
制御ユニット３０は、先ずステップＳ１１においてスケジュールＤＢ２１から、事前にユーザにより指定された期間のスケジュール情報を読み込む。このスケジュール情報の読込処理は、スケジュール情報の上記指定期間中の行動予定データを選択し、この選択した行動予定データに含まれる行動開始予定時刻及び行動終了予定時刻を読み込むことにより行われる。
【００５０】
（３−２）位置情報の読み込み
制御ユニット３０は、次にステップＳ１２において位置情報読込部３２を起動し、この位置情報読込部３２の制御の下で、上記指定された期間に含まれる位置情報を位置情報ＤＢ２２から読み込む。
【００５１】
（３−３）住所階層ごとの同一住所を指し示す時間長の算出
制御ユニット３０は、ステップＳ１３により位置／住所変換部３３を起動し、この位置／住所変換部３３の制御の下で、上記位置情報読込部３２により位置情報ＤＢ２２から読み込まれた位置情報のそれぞれについて、当該位置情報に含まれる緯度経度データをキーとして位置／住所ＤＢ２３に対しアクセスし、当該緯度経度データに対応する住所情報を読み出す。
【００５２】
例えば、いま緯度が“35.681382”、経度が“139.766084”であれば、図４に示す位置／住所ＤＢ２３から、住所情報として「東京都千代田区丸の内１丁目」が読み出される。かくして、位置情報から住所情報への変換処理が行われる。この変換された住所情報は、当該住所への滞在開始時刻及び滞在終了時刻と関連付けられて滞在住所履歴ＤＢ２４に追加される。なお、滞在開始時刻及び滞在終了時刻は、上記位置情報に含まれる取得時刻から求められる。
【００５３】
制御ユニット３０は、次にステップＳ１４により住所粒度別滞在時間算出部３４を起動し、この住所粒度別滞在時間算出部３４の制御の下で、上記位置／住所ＤＢ２３から読み出された各住所情報の住所階層ごとに、つまり「都道府県」、「区・市町村」、「地名」、「番地」のそれぞれについて、同一の住所を指し示している隣接する時間の合計値を、すなわちユーザが同一の住所に連続して滞在している時間長を算出する。
【００５４】
例えば図７において、都道府県レベルで滞在住所をとらえると、「東京都」に該当する住所は７ａで示される範囲の住所、つまり
「13:30-13:40 東京都 港区 高輪 ３丁目」
「14:00-14:05 東京都 渋谷区 道玄坂 １丁目」
「14:15-14:30 東京都 渋谷区 神南 １−２１」
「14:40-14:55 東京都 渋谷区 宇田川町 １２−１８」
「15:00-15:20 東京都 渋谷区 宇田川町 ２１−１」
「15:25-15:30 東京都 渋谷区 道玄坂 １丁目」
「15:50-16:10 東京都 港区 高輪 ３丁目」
であるため、「東京都」に滞在していた時間帯を上記滞在時刻の中で最も早い13:30から最も遅い16:10までの2:40とし、この算出された滞在時間2:40を上記滞在開始時刻13:30及び滞在終了時刻16:10と共に、図７の７ｃに示すように滞在住所履歴ＤＢ２４内の一時記憶領域に保存する。
【００５５】
また、区・市町村名レベルで滞在住所をとらえると、「東京都 渋谷区」に該当する住所は７ｂで示される範囲の住所群、つまり
「14:00-14:05 東京都 渋谷区 道玄坂 １丁目」
「14:15-14:30 東京都 渋谷区 神南 １−２１」
「14:40-14:55 東京都 渋谷区 宇田川町 １２−１８」
「15:00-15:20 東京都 渋谷区 宇田川町 ２１−１」
「15:25-15:30 東京都 渋谷区 道玄坂 １丁目」
であるため、「東京都 渋谷区」に滞在していた時間帯を14:00から15:30までの1:30とし、この算出された滞在時間1:30を上記滞在開始時刻14:00及び滞在終了時刻15:30と共に、図７の７ｄに示すように滞在住所履歴ＤＢ２４内の一時記憶領域に保存する。  
同様に、住所階層別に滞在時間が連続する同一の住所についてそれぞれ滞在時間が算出され、この算出された滞在時間が滞在開始時刻及び滞在終了時刻と共に保存される。
【００５６】
（３−４）重み係数の決定
制御ユニット３０は、次にステップＳ１５において重み係数決定部３５を起動し、この重み係数決定部３５の制御の下で、後述する類似度を算出する際に使用する重み係数を以下のように求める。  
すなわち、上記住所粒度別滞在時間算出部３４によって算出された住所粒度別の各住所情報と、滞在住所履歴ＤＢ２４に蓄積されている滞在住所情報とをもとに、後述する住所粒度・住所決定部３６による処理が「滞在時刻の類似度」及び「滞在時間長の類似度」を計算するために用いる重み付け係数値を算出する。
【００５７】
一般に、勤務先等、頻繁に訪問する場所や長期間滞在する場所のイベントについては、スケジュール情報に含まれない他のイベントも含めて同じ場所に滞在することが多いと考えられ、この場合には滞在時間長の一致度よりも滞在時刻の一致度が高くなると予想される。また、滞在時間長については、頻繁に訪問しない場所や滞在時間長が短い場所において、一致度が高くなると予想される。
【００５８】
そこで、重み付け係数値は、過去の滞在時間長が長い滞在地ほど、類似度算出における「滞在時刻の類似度」の重みの大きさを大きくするものとし、例えば下式（４）によって算出する。  
【数２】
2011237925.tif 000004
ｘは該当住所にこれまで滞在した時間長、
ｙは滞在住所履歴ＤＢ２４から読み出した滞在履歴の総時間長、
ｕは住所階層（県レベル／市区町村レベル／地名レベル／丁目レベル）別に滞在住所履歴ＤＢ２４に蓄積されている各滞在住所のうちの該当住所に滞在した回数、
ｖは住所粒度（県レベル／市区町村レベル／地名レベル／丁目レベル）別に滞在住所履歴ＤＢ２４に蓄積されている各滞在住所のうち、これまで滞在した住所の総数、
ａは定数
である。  
算出された値は、住所粒度・住所決定部３６において「滞在時刻の一致度」に対する重みをｗt とすると、「滞在時間長の一致度」に対する重みｗl は、例えばｗl ＝（１−ｗt ）とすることができる。
【００５９】
なお、滞在住所履歴ＤＢ２４に蓄積されている情報は、図５に示すように少なくとも滞在開始時刻、滞在終了時刻並びに滞在住所が含まれる。また、ｕ1 、ｖ1 は住所粒度別滞在時間算出部３４によって算出された住所粒度により算出される。例えば、「神奈川県」の粒度は「県名」であるため、滞在住所履歴ＤＢ２４に記憶された滞在地住所において県名が「神奈川県」に一致するもの全てが対象となる。
【００６０】
一例を述べると、いま滞在住所履歴ＤＢ２４に図８の８ａに示す滞在住所履歴データが記憶されているものとする。この場合、「神奈川県 横須賀市 林」については、図８の８ｂ，８ｄに示すように、出現した回数は２回（＝ｕ1 ）、市区町村レベルで蓄積されている住所の数は９個（＝ｖ1 ）となる。また、「神奈川県 横須賀市 林」にこれまで滞在した総時間数は１６時間２０分（＝ｘ1 ）、滞在住所履歴ＤＢ２４に記憶されたすべての住所に対する総滞在時間数は４８時間（＝ｙ1 ）となる。
【００６１】
同様に、「神奈川県 横須賀市」については、図８の８ｃ，８ｅに示すように、出現した回数は２回（＝ｕ1 ）、市区町村レベルで蓄積されている住所の数は６個（＝ｖ1 ）となる。また、「神奈川県 横須賀市」にこれまで滞在した総時間数は１８時間２０分（＝ｘ1 ）、滞在住所履歴ＤＢ２４に記憶されたすべての住所に対する総滞在時間数は４８時間（＝ｙ1 ）となる。  
重み係数決定部３５は、該当住所について上記各パラメータｘ1 ，ｙ1 ，ｕ1 ，ｖ1 を上記（４）式に代入することにより、重み係数ｗt を算出する。
【００６２】
（３−５）類似度の計算
制御ユニット３０は、次にステップＳ１６，Ｓ１７により住所粒度・住所決定部３６を起動し、この住所粒度・住所決定部３６の制御の下で、上記スケジュールＤＢ２１に記憶された各イベントの各々について、上記住所粒度別滞在時間算出部３４により算出された住所粒度別の各滞在時間、つまり滞在住所履歴ＤＢ２４内の一時記憶領域に保存された住所粒度別の各滞在住所の情報との間の、滞在時間長及び滞在開始又は滞在終了時刻の類似度をそれぞれ算出する。
【００６３】
この類似度の算出には、上記スケジュールＤＢ２１に記憶されたイベントデータの実行予定時間長とその実行開始予定時刻及び実行終了予定時刻と、上記住所粒度別滞在時間算出部３４により算出された住所粒度別の滞在時間長とその滞在開始時刻及び滞在終了時刻と、上記重み係数決定部３５によって算出された「滞在時刻」に対する重みｗt 及び「滞在時間長」に対する重みｗl が用いられる。
【００６４】
類似度ｇ（ｘ2 ，ｙ2 ，ｚ2 ）は、イベントの実行予定時間長と該当する滞在地での滞在時間長との間の類似度（一致度）が高く、かつイベントの実行予定時刻と該当する滞在地での滞在時刻との間の類似度（一致度）が高いものほど高くなるように決定され、例えば下式（５）によって算出される。  
【数３】
2011237925.tif 000005
ただし、
ｘ2 は「対象となるイベントの実行終了予定時刻」−「対象となるイベントの実行開始予定時刻」（イベント実行予定時間長）、
ｙ2 は該当する滞在地住所に滞在した時間長（滞在時間長）、
ｚ2 は（「対象となるイベントの実行終了予定時刻」＋「対象となるイベントの実行開始予定時刻」）／２（実行予定代表時刻）、
ｗt 、ｗl は重み係数、
ｂ2 ，ｃ2 は定数
である。
【００６５】
住所粒度・住所決定部３６は、上記各イベントの各々について、当該イベントと各住所粒別滞在住所との間でそれぞれ算出された類似度と、イベントの組み合わせと各住所粒度別の滞在住所との間でそれぞれ算出された類似度の中で、類似度ｇ（ｘ2 ，ｙ2 ，ｚ2 ）の値が最も大きくなるときの住所階層別の滞在住所を選択する。その際、例えば会社や自宅で行われるイベントのように、同じ滞在地において複数のイベントが続けて実行される場合もある。このような場合、これら複数のイベントを一つのイベントとして扱い、合致する付与住所を算出した方がよい。
【００６６】
そこで、指定された期間（例えば１日、１週間、１カ月等）に、複数のイベントが存在する場合には、それらいくつかを１つの大きなイベントとみなして上記類似度を計算し、該当するイベントに対して最も類似度が高い住所を、当該イベントに対する付与住所として決定する。
【００６７】
例えば、いま図９の９ａに示すようなイベントデータがスケジュールＤＢ２１に記憶され、かつ住所粒度別滞在時間算出部３４により９ｂに示すような住所粒度別の滞在住所が得られたとする。この状態で、上記スケジュールＤＢ２１に記憶された各イベントデータのうち、イベントＳＣ２に対応する住所階層別の滞在住所を選択しようとする場合には、
(i) イベントＳＣ２
(ii) イベントＳＣ１とイベントＳＣ２の組み合わせ
(iii) イベントＳＣ２とイベントＳＣ３の組み合わせ
(iv) イベントＳＣ１とイベントＳＣ２とイベントＳＣ３との組み合わせ
からなる４つのイベントの組み合わせについて、それぞれ上記式（５）を用いて住所粒度別の各滞在住所との間の類似度を算出する。  
なお、複数のイベントを組み合わせる場合（(ii)、(iii)、(iv)）は、組み合わせたイベントの中で最も実行開始予定時刻が早いもの、実行終了予定時刻が遅いものを、組み合わせたイベントの開始予定時刻、終了予定時刻として扱う。
【００６８】
そして、上記算出されたすべての類似度の中から、値が最も大きい住所粒度別の滞在住所を選択し、この選択した住所粒度別の滞在住所を上記イベントＳＣ２に対応付ける。例えば、図９ではその９ｃに示すように、類似度ｇ（ｘ2 ，ｙ2 ，ｚ2 ）の値は「０．８」が最も大きいので、この類似度「０．８」が得られたときの「神奈川県横須賀市光の丘」を選択し、この選択された住所粒度別の滞在住所を上記イベントＳＣ２に関連付ける。
【００６９】
以後同様に、住所の設定対象となるすべてのイベントに対し、それぞれ上記した（４）式による重み係数の計算と、（５）式による類似度の計算を行い、この計算の結果類似度が最も大きくなるときの住所粒度別の滞在住所を選択し、この選択された住所粒度別の滞在住所を上記設定対象のイベントに対応付ける。
【００７０】
（４）イベントの実行有無の判定
次に、上記（３）の処理によりイベントに対し付与された滞在住所情報を用いて、当該イベントが真に実行されたか否かを判定する。  
（４−１）判定期間の設定
制御ユニット３０は先ず付与住所一致度算出部３７を起動し、この付与住所一致度算出部３７の制御の下で、先ずステップＳ１９により判定期間を設定する。例えば、少なくとも２個のイベント予定開始時刻又は終了時刻を含むように１日（２４時間）を判定期間として設定する。なお、１日に１個以下のイベントしか登録されていない場合には、２個以上のイベントが含まれるように２日以上を判定期間とする。
【００７１】
（４−２）判定期間に含まれる全てのイベントについて、スケジュール上のイベントの流れと滞在系列上のイベントの流れとの間の一致度を計算する処理
次に付与住所一致度算出部３７は、上記判定期間に含まれる全てのイベントに対し、イベント間の実施予定時間間隔と各イベントの実施開始予定時刻又は終了予定時刻とにより定義される第１の関数、つまり実行予定のイベントの流れを示す関数を生成する。
【００７２】
具体的には、上記判定期間に含まれるｎ個の各イベントについてその実行予定時刻をｘ座標、イベントの実行予定時間長をｙ座標にそれぞれプロットし、これらのプロットされたｎ個の座標に対し三次スプライン補間処理を行うことにより、上記ｎ個の座標又はその近傍を通過する曲線を表す関数ｆS(x)の係数Ｓ1 〜Ｓ4 を算出する。
【００７３】
この関数ｆS(x)の係数Ｓ1 〜Ｓ4 は、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、以下の第（６）式により算出される。  
ｆS(x) ＝ｆj(x) ＝Ｓ1j＋Ｓ2j (ｘ−ｘj )+Ｓ3j (ｘ−ｘj )2 +Ｓ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（６）
Ｓ10＝ｙ0，…，Ｓ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ｓ1i ←（３／ｈi ）（Ｓ1i ＋１−Ｓ1i）−（３／ｈi-1 ）（Ｓ1i −Ｓ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ｓ3j ←ｚj −μj Ｓ3j+1
Ｓ2j ←｛（Ｓ1j+1 −Ｓ1j）／ｈj ｝−｛ｈj （Ｓ3j+1 ＋ｃj ）／３｝
Ｓ4j ←（Ｓ3j+1 −Ｓ3j）／３ｈj
【００７４】
またそれと共に付与住所一致度算出部３７は、上記判定期間に含まれる各イベントに対し上記住所粒度・住所決定部３６により対応付けられた滞在地間の滞在時間間隔と当該滞在地における滞在開始又は終了時刻とにより定義される第２の関数、つまり当該イベントの実行結果の流れを示す関数を生成する。
【００７５】
例えば、上記判定期間に含まれる各イベントに対し対応付けられた滞在地住所情報をもとに、滞在時刻をｘ座標、滞在地間の滞在時間間隔をｙ座標にそれぞれプロットし、これらの座標に対し三次スプライン補間処理を行うことにより、上記プロットされた座標を通過する曲線を表す関数ｆA(x)の係数Ａ1 〜Ａ4 を算出する。
【００７６】
この関数ｆA(x)の係数Ａ1 〜Ａ4 の算出も、上記関数ｆS(x)の算出の場合と同様に行われる。すなわち、ｈ，ｌ，μ，ｚを係数算出に伴う変数、ｉ，ｊを計算時に利用する変数とするとき、以下の第（７）式により算出するものが考えられる。  
ｆA(x) ＝ｆj(x) ＝Ａ1j＋Ａ2j (ｘ−ｘj )+Ａ3j (ｘ−ｘj )2 +Ａ4j (ｘ−ｘj )3
ｘj ≦ｘ≦ｘj+1
…（７）
Ａ10＝ｙ0，…，Ａ1n＝ｙn
ｈi ←ｘi+1−ｘi
Ａ1i ←（３／ｈi ）（Ａ1i ＋１−Ａ1i）−（３／ｈi-1 ）（Ａ1i −Ａ1i-1）
ｌ0 ＝１；μ0 ＝０；ｚ0＝０；
ｌi ←２（ｘi+1−ｘi-1）−ｈi-1μi-1
μi ←ｈi ／ｌi
ｚi ←（ａi −ｈi-1 ｚi-1）／ｌi
Ａ3j ←ｚj −μj Ａ3j+1
Ａ2j ←｛（Ａ1j+1 −Ａ1j）／ｈj ｝−｛ｈj （Ａ3j+1 ＋ｃj ）／３｝
Ａ4j ←（Ａ3j+1 −Ａ3j）／３ｈj
【００７７】
続いて付与住所一致度算出部３７は、ステップＳ２０において、上記式（６）及び式（７）により係数が算出された関数ｆS(x)と関数ｆA(x)とを比較し、その一致度を第１の一致度として算出する。この第１の一致度の計算は、以下の（８）式により行われる。  
【数４】
2011237925.tif 000006
【００７８】
（４−３）一部のイベントを除外したイベント群について、スケジュール上のイベントの流れと滞在系列上のイベントの流れとの間の一致度を計算する処理
次に付与住所一致度算出部３７は、ステップＳ２１において、上記判定期間に含まれる全てのイベントをＮ個とするとき、これらのイベントから１個以上Ｎ個以下のイベントを順次選択的に除外することにより組み合わせの異なる全通りのイベント群を定義する。  
そして、この定義された全通りのイベント群の各々について、上記ステップＳ１９の場合と同様に、実行予定のイベントの流れを示す第１の関数ｆS(x)の係数と、イベントの実行結果の流れを示す第２の関数ｆA(x)の係数をそれぞれ算出する。これら第１の関数ｆS(x)の係数及び第２の関数ｆA(x)の係数の計算は、それぞれ先に述べた（６）式及び（７）式を用いて行われる。  
そして、上記係数が算出された第１の関数ｆS(x)と第２の関数ｆA(x)との間の一致度を、第２の一致度として算出する。この第２の一致度の計算も先に述べた（８）式を用いて行われる。
【００７９】
（４−４）判定期間の各イベントに対する実行有無の判定
上記一部のイベントを除外した全通りのイベント群について第２の一致度の計算が終了すると、制御ユニット３０はステップＳ２２からステップＳ２３に移行する。  
ステップＳ２３では行動有無決定部３８が起動され、この行動有無決定部３８の制御の下で、以下のようにイベントの行動有無の判定処理が実行される。
【００８０】
すなわち、上記算出された第２の一致度、つまり一部のイベントを除外した各イベント群についてそれぞれ計算された一致度を、第１の一致度、つまり判定期間に含まれる全てのイベントについて計算された一致度とそれぞれ比較する。そして、この比較の結果、第２の一致度が第１の一致度よりも高くなるイベント群が検出された場合に、この検出されたイベント群における除外したイベントを「実行されなかったイベント」と仮判定し、かつ他のイベントを「実行されたイベント」と仮判定する。
【００８１】
例えば、いま図１０に示すように、判定期間に含まれる全てのイベントについて求めた、スケジュール上のイベントの流れと滞在系列上のイベントの流れが図１０中の左側に示す関数により表され、これらの関数間の一致度（第１の一致度）が0.0185だったとする。また、上記判定期間に含まれるイベントのうち時系列上の３番目のイベントを除外したイベント群について求めた、スケジュール上のイベントの流れと滞在系列上のイベントの流れが図１０中の右側に示す関数により表され、これらの関数間の一致度（第２の一致度）が0.0325となったとする。この場合、第１の一致度より第２の一致度の方が高いので、上記除外した３番目のイベントは「実行されなかったイベント」と仮判定され、その他のイベントは「実行されたイベント」と仮判定される。
【００８２】
また、例えば図１１に示すように、判定期間に含まれる全てのイベントについて求めた、スケジュール上のイベントの流れと滞在系列上のイベントの流れが図１２中の左側に示す関数により表され、これらの関数間の一致度（第１の一致度）が0.0213だったとする。また、上記判定期間に含まれるイベントのうち時系列上の３番目のイベントを除外したイベント群について求めた、スケジュール上のイベントの流れと滞在系列上のイベントの流れが図１１中の右側に示す関数により表され、これらの関数間の一致度（第２の一致度）が0.0325となったとする。この場合も、第１の一致度より第２の一致度の方が高いので、上記除外した３番目のイベントは「実行されなかったイベント」と仮判定され、その他のイベントは「実行されたイベント」と仮判定される。
【００８３】
これに対し、例えば図１２に示すように、判定期間に含まれる全てのイベントについて求めた、スケジュール上のイベントの流れと滞在系列上のイベントの流れが図１２中の左側に示す関数により表され、これらの関数間の一致度（第１の一致度）が0.0421だったとする。また、上記判定期間に含まれるイベントのうち時系列上の３番目のイベントを除外したイベント群について求めた、スケジュール上のイベントの流れと滞在系列上のイベントの流れが図１２中の右側に示す関数により表され、これらの関数間の一致度（第２の一致度）が0.0325となったとする。この場合には、第２の一致度は第１の一致度より低いので、上記判定期間に含まれる全てのイベントはいずれも「実行されたイベント」と仮判定される。
【００８４】
次に行動有無決定部３８は、上記一部のイベントが除外された全通りのイベント群の中から、第２の一致度が予め設定されたしきい値以上のイベント群を選択する。しきい値σは例えば0.03に設定される。また、この選択されたイベント群の中から、「実行されたイベント」と仮判定されたイベントを最も多く含むイベント群を一つ選択する。そして、この選択されたイベント群に含まれる各イベントに対する実行の有無の仮判定結果を、上記判定期間に含まれる各イベントに対する実行有無の最終的な判定結果として決定する。
【００８５】
以上詳述したようにこの実施形態では、付与住所一致度算出部３７により、イベントが複数含まれる判定期間を設定し、この判定期間に含まれる全てのイベントに対しスケジュール上のイベントの流れを表す第１の関数と、滞在系列上のイベントの流れを表す第２の関数をそれぞれ生成して、これらの関数間の一致度を第１の一致度として計算する。またそれと共に、上記判定期間に含まれるイベントを選択的に除外することにより組み合わせの異なる全通りのイベント群を定義し、この定義された全通りのイベント群の各々について上記第１及び第２の関数を生成して、これらの関数間の一致度を第２の一致度として計算する。さらに行動有無決定部３８により、上記算出された第２の一致度を第１の一致度とそれぞれ比較し、この比較処理の結果第２の一致度が第１の一致度よりも高くなるイベント群が検出された場合に、この検出されたイベント群における除外したイベントを「実行されなかったイベント」と仮判定し、かつその他のイベントを「実行されたイベント」と仮判定する。そして、上記組み合わせの異なる複数通りのイベント群の中から、第２の一致度が予め設定されたしきい値以上で、かつ「実行されたイベント」と仮判定されたイベントを最も多く含むイベント群を一つ選択し、この選択されたイベント群に含まれる各イベントに対する実行の有無の仮判定結果を、上記判定期間に含まれる各イベントに対する実行有無の最終的な判定結果として決定するようにしている。
【００８６】
したがって、図１０に例示したようにスケジュール上のイベントＳＣ３に対し付与された滞在地の時間情報が、滞在時刻は適切であっても滞在時間長がきわめて短いものだった場合や、図１１に例示したようにスケジュール上のイベントＳＣ３に対し付与された滞在地の時間情報が、後続のイベントＳＣ４の実行予定時間と対応するような場合には、上記イベントＳＣ３が「実行されなかったイベント」と判定され、イベントＳＣ３に対する滞在地住所の付与が修正される。このため、複数のイベントの相互の時間的な関連性を考慮したうえで、スケジュール情報に登録されたイベントが実際に実行されたか否かを効果的に判定することが可能となる。
【００８７】
また、この実施形態ではスケジュール情報に含まれる複数のイベントの各々に対し当該イベントを実行した滞在場所を表す情報を推定し付与する際に、先ず取得された位置情報の緯度・経度データをそれぞれ対応する住所情報に変換し、この変換された住所情報をもとに住所粒度別に同一の住所を指し示している滞在時間長と、当該同一の住所に対する滞在時刻の代表値を算出する。次に、イベントごとにその実行開始予定時刻と実行終了予定時刻とにより表される実行予定時間と上記算出された滞在時間長との間の類似度と、上記イベントの実行予定時刻と上記算出された滞在時刻との間の類似度を算出し、この算出された類似度の合成値が最も大きくなるときの住所粒度別の滞在住所を選択する。そして、この選択された住所粒度別の滞在住所を、上記記憶されたスケジュール情報中の該当するイベントに付与するようにしている。
【００８８】
したがって、スケジュール情報として記憶されるユーザのイベントの内容と実行開始予定時刻及び実行終了予定時刻が曖昧な情報だったとしても、このイベントに対しそのときのユーザの滞在場所を示す住所情報を適切に関連付けることができる。例えば、イベント定の内容が「友人宅」、「会社」又は「歯医者」等のように施設名だったり「渋谷」や「新宿」等のように地域名だったとしても、また滞在予定時間が実際の滞在時間に対しずれていたとしても、スケジュール情報との間のずれを住所粒度の単位で吸収して住所情報を適切に関連付けることができる。
【００８９】
なお、この発明は上記実施形態に限定されるものではない。例えば、インタフェースユニット１０、記憶ユニット２０及び制御ユニット３０をすべてサーバ装置に設けた場合を例にとって説明した。しかしこれに限らず、上記インタフェースユニット１０、記憶ユニット２０及び制御ユニット３０を携帯端末に設けてもよい。
【００９０】
また、住所情報は階層が分離できる形式で位置／住所ＤＢ２３に記憶されていればよく、階層構造そのものは「都道府県名」、「区市町村名」、「地域名」、「番地」以外を含んでいてもよい。その他、行動履歴管理装置の種類や構成、イベントの実行有無の判定処理手順及び処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【００９１】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００９２】
１０…インタフェースユニット、１１…スケジュール取得部、１２…位置情報取得部、２０…記憶ユニット、２１…スケジュールデータベース（スケジュールＤＢ）、２２…位置情報データベース（位置情報ＤＢ）、２３…位置／住所データベース（位置／住所ＤＢ）、２４…滞在住所履歴データベース（滞在住所履歴ＤＢ）、３０…制御ユニット、３１…スケジュール読込部、３２…位置情報読込部、３３…位置／住所変換部、３４…住所粒度別滞在時間算出部、３５…重み係数決定部、３６…住所粒度・住所決定部、３７…付与住所一致度算出部、３８…行動有無決定部。
【図１】
2011237925.tif 000009
【図２】
2011237925.tif 000010
【図３】
2011237925.tif 000011
【図４】
2011237925.tif 000012
【図５】
2011237925.tif 000013
【図６】
2011237925.tif 000014
【図７】
2011237925.tif 000015
【図８】
2011237925.tif 000016
【図９】
2011237925.tif 000017
【図１０】
2011237925.tif 000018
【図１１】
2011237925.tif 000019
【図１２】
2011237925.tif 000020