説明

行動予測装置、方法及びプログラム

【課題】ユーザが普段と異なる行動を行った場合にも未来の滞在位置を正確に予測できるようにし、しかも位置のみならず滞在時刻も予測可能にする。
【解決手段】ユーザが所持する携帯端末から取得した過去の位置データ履歴をもとに一定の時間間隔でサンプリングした状態遷移系列データを生成すると共に、同様に携帯端末から取得したスケジューラデータに基づいてイベント系列データを生成し、これらの状態遷移系列データ、イベント系列データ、時間帯を表すデータ及び各状態における滞留時間長を確率変数としてDBNモデルに組み込んで、当該確率モデル中において確率分布を定めるパラメータを推定する。そして、ユーザの現在位置及び未来のスケジューラデータと、先に推定したパラメータとをDBNモデルに与え、確率が最大となるときの状態遷移系列を求めて、これをユーザの行動予測結果を表す情報として出力する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ユーザの位置情報とスケジュール情報をもとにユーザの今後の行動を予測する行動予測装置、方法及びプログラムに関する。
【背景技術】
【0002】
GPS(Global Positioning System)に代表される位置計測デバイスを搭載した携帯端末をユーザが携行することで、取得・蓄積された位置データをもとに予測モデルを構成し、ユーザの行動を予測する手法が提案されている。例えば、非特許文献1には、取得されたGPSデータからユーザが滞在した場所をクラスタリングによって抽出し、蓄積されたデータをもとに滞在場所間の移動を表すマルコフモデルを構築し、行動を予測する手法が記載されている。
【0003】
また、非特許文献2には、同様にGPSデータをクラスタリングすることによってユーザが滞在した場所を抽出したのち、ユーザの一日の行動を滞在場所を並べた系列で表現し、その後この系列に対し系列パターンマイニング処理を適用して系列パターンを抽出し、この抽出されたパターンを用いることでユーザの行動を予測する手法が記載されている。
【0004】
ユーザの行動を的確に予測できれば、ユーザに対しより有益な情報を提供することが可能となる。例えば、ユーザが会社にいるときにその帰宅経路を予測することで、予測された経路での災害情報や、経路途中に存在する店舗のタイムセール情報を前もって提供する等、一歩先を読んだ情報提供が可能となる。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Daniel Ashbrook and Thad Starner, “Using GPS to Learn Significant Locations and Predict Movement across Multiple Users”, Personal and Ubiquitous Computing 7(5), pp. 275-286 (2003)
【非特許文献2】M. Nishino, T. Yamada, S. Seko, M. Motegi, S. Muto and M. Abe, A place prediction algorithm based on frequent time-sensitive patterns, In Pervasive 2009 adjunctive proceedings, 2009
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところが、従来の位置データの履歴のみから行動予測を行う手法では、行動の規則性のみを用いて予測を行うため、予測精度に限度がある。一方、ユーザが未来の予定行動等をスケジューラに登録している場合には、スケジューラに記入された予定行動は実行される可能性が高いため、精度よく予測することができる。しかし、スケジューラに記載されている予定行動をユーザが予定通りに実行しない場合や、同じ時間帯に複数の予定行動が登録されている場合等においては、スケジューラのみから精度よくユーザの行動を予測することは難しい。また、スケジューラには一般にすべての予定行動が記入されているわけではないため、スケジューラのみからユーザがどのような行動を起こすかを時間的に連続に予測することは困難である。
【0007】
この発明は上記事情に着目してなされたもので、その目的とするところは、ユーザが普段と異なる行動を行った場合にも未来の滞在位置を正確に予測できるようにし、しかも位置のみならず滞在時刻も予測可能にした行動予測装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するためにこの発明の第1の観点は、ユーザが所持する携帯端末の過去の第1の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する手段又は過程と、上記第1の期間における上記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、上記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する手段又は過程と、上記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する手段又は過程と、パラメータ学習処理を行う手段又は過程とを備える。そして、このパラメータ学習処理を行う手段又は過程において、上記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、上記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、上記設定された時間帯をそれぞれ確率変数として上記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定するようにしたものである。
【0009】
したがって、この発明の第1の観点によれば、ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを利用し、この確率モデルに、ユーザの位置データをもとに生成される状態遷移系列データと、ユーザのスケジューラデータをもとに生成されるイベント系列データと、時間帯を表す情報を確率変数として組み込むことで、確率分布を定めるパラメータが推定される。このため、この推定されたパラメータを利用することで、位置データの履歴と、スケジューラに記入された未来の予定イベントと時間帯を考慮して、ユーザの未来の行動、つまりどの時刻にどの場所に滞在するか、或いはどの場所からどの場所へ移動するかを予測することが可能となる。
【0010】
上記目的を達成するためにこの発明の第2の観点は、上記第1の観点で述べた各手段又は過程に加え、上記記憶された状態遷移系列データに含まれる各状態に上記ユーザが滞留する時間長を求める手段又は過程をさらに備え、パラメータ学習処理を行う手段又は過程において、上記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、上記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、上記設定された時間帯と、上記求められた滞留時間長をそれぞれ確率変数として上記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶するようにしたものである。
したがって、この発明の第2の観点によれば、位置データの履歴、スケジューラに記入された未来の予定イベントとその時間帯に加えて、各状態における滞留時間長をさらに考慮することで、ユーザの未来の行動をさらに高精度に予測することが可能となる。
【0011】
上記第1及び第2の観点においてパラメータ学習処理を実行する際には、確率分布を定めるパラメータを最尤推定法により推定するとよい。
【0012】
また上記第1の観点は、ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて上記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、上記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、上記確率モデルに対し、上記生成された開始状態情報、イベントデータ及びその実行予定時間帯を表す情報を確率変数として与えると共に、上記記憶されたパラメータを与え、当該確率モデルにおいて状態に対応する確率が最大となるときの状態遷移系列を求める手段と、この求められた最大の確率を与える状態遷移系列を、上記ユーザの行動予測結果を表す情報として出力する手段とを、さらに具備することも特徴とする。
【0013】
さらに上記第2の観点は、ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて上記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、上記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、上記確率モデルに対し、上記生成された開始状態情報、イベントデータ、その実行予定時間帯を表す情報及び滞留時間長を表す情報を確率変数として与えると共に、上記記憶されたパラメータを与え、当該確率モデルにおいて状態とその滞留時間長に対応する確率が最大となるときの状態遷移系列を求める手段と、この求められた最大の確率を与える状態遷移系列を、上記ユーザの行動予測結果を表す情報として出力する手段とを、さらに具備することも特徴とする。
【0014】
このようにすると、第1及び第2の観点とも、パラメータ学習処理により事前に推定し記憶しておいたパラメータを利用して、同一の装置内でユーザの未来の行動を予測する処理を実行することが可能となる。
【発明の効果】
【0015】
すなわちこの発明によれば、ユーザが普段と異なる行動を行った場合にも未来の滞在位置を正確に予測することができ、しかも位置のみならず滞在時刻も予測可能にした行動予測装置、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【0016】
【図1】この発明の一実施形態に係わる行動予測装置を備えたシステムの概略構成図。
【図2】図1に示したシステムに設けられる行動予測装置の機能構成を示すブロック図。
【図3】図2に示した行動予測装置による学習モードの処理手順と処理内容を示すフローチャート。
【図4】図3に示した学習モードの処理過程で実行されるパラメータ学習処理の手順と内容を示すフローチャート。
【図5】図2に示した行動予測装置による行動予測モードの処理手順と処理内容を示すフローチャート。
【図6】図5に示した行動予測モードの処理過程で実行される、第1のDBNモデルにおける確率最大遷移探索処理の手順と内容を示すフローチャート。
【図7】図5に示した行動予測モードの処理過程で実行される、第2のDBNモデルにおける確率最大遷移探索処理の手順と内容を示すフローチャート。
【図8】図3に示した学習モードの処理過程で取得される位置データの一例を示す図。
【図9】図3に示した学習モードの処理過程で実行される滞在場所抽出処理の概念を説明するための図。
【図10】図3に示した学習モードの処理過程で生成される滞在行動データの一例を示す図。
【図11】図3に示した学習モードの処理過程において実行される状態遷移系列作成処理の概念を示す図。
【図12】図3に示した学習モードの処理過程で生成される状態遷移系列データの一例を示す図。
【図13】図3に示した学習モードの処理過程で取得されるスケジューラデータの一例を示す図。
【図14】図3に示した学習モードの処理過程において、上記スケジューラデータをもとに生成されるイベントデータの一例を示す図。
【図15】図3に示した学習モードの処理過程において、上記イベントデータをもとに生成されるイベント系列データの一例を示す図。
【図16】ユーザの行動予測に用いる第1のDBNモデルを説明するための図。
【図17】時点と時刻との対応関係の一例を示す図である。
【図18】ユーザが採りうる状態の種類とその識別IDとの対応関係の一例を示す図。
【図19】イベント系列データに表れるイベント内容キーワードの種類とその識別IDとの対応関係の一例を示す図。
【図20】イベント系列データに表れるイベント時刻を含む時間帯とその識別IDとの対応関係の一例を示す図。
【図21】第1のDBNモデルにおける学習データの作成処理を説明するための図。
【図22】ユーザの行動予測に用いる第2のDBNモデルを説明するための図。
【図23】ユーザの滞留長さの種類とその識別IDとの対応関係の一例を示す図。
【図24】第2のDBNモデルにおける学習データの作成処理を説明するための図。
【図25】図5に示した行動予測処理により得られた予測結果の一例を示す図。
【発明を実施するための形態】
【0017】
以下、図面を参照してこの発明に係わる実施形態を説明する。
図1は、この発明の一実施形態に係わる行動予測装置を備えたシステムの概略構成図である。このシステムは、それぞれユーザが所持する複数の携帯端末MS1〜MSnを、通信ネットワークNWを介して、行動予測装置SVに接続可能としたものである。
【0018】
通信ネットワークNWは、IP(Internet Protocol)網と、このIP網にアクセスするためのアクセス網とから構成される。アクセス網としては、公衆通信網、携帯電話網、LAN(Local Area Network)、無線LAN、CATV(Cable Television)網等が用いられる。
【0019】
携帯端末MS1〜MSnは、携帯電話機やPDA(Personal Digital Assistant)、スマートホン、ネットブック等と呼ばれる携帯型のパーソナル・コンピュータ等からなり、音声通信機能やメール送受信機能、ブラウザ機能等の標準的な機能に加えて、位置計測機能と、スケジュール管理機能(スケジューラ)を備えている。
【0020】
位置計測機能は、GPS(Global Positioning System)受信機と、GPS計測制御部と、GPSデータ送信制御部とにより実現される。
GPS受信機は、図示しない複数のGPS衛星から送信されるGPS信号をアンテナを介して受信する。GPS計測制御部は、例えば5分以上の予め定められた計測周期で上記GPS受信機を起動し、当該GPS受信機により受信されたGPS信号を取り込んで自端末の位置データを生成する。位置データは、計測IDに対し、緯度、経度及び計測時刻を関連付けたものにより表される。この生成された位置データは端末内の記憶部に記憶される。
【0021】
GPSデータ送信制御部は、行動予測装置SVから位置データの送信要求が到来した場合に、上記記憶部に記憶された位置データを読み出して要求元の行動予測装置SVに向け送信する。なお、位置データは、定期的又は自端末の緯度経度が一定量以上変化したときに、記憶部から読み出して行動予測装置SVへ送信するようにしてもよい。
【0022】
スケジュール管理機能は、ユーザの入力操作に応じてスケジューラデータを生成して記憶する。そして、行動予測装置SVからスケジューラデータの送信要求が到来した場合に、上記記憶されたスケジューラデータを読み出して要求元の行動予測装置SVに向け送信する。なお、スケジューラデータは、定期的又はイベントの登録内容が更新されるごとに、記憶部から読み出して行動予測装置SVへ送信するようにしてもよい。
【0023】
ところで、行動予測装置SVは例えば通信事業者又はサービス事業者が運用するサービスサーバからなり、次のように構成される。図2はその機能構成を示すブロック図である。
すなわち、行動予測装置SVは、送受信ユニット1と、制御ユニット2と、記憶ユニット3とを備えている。送受信ユニット1は、制御ユニット2の制御の下で通信ネットワークNWとの間で情報の送受信を行う。
【0024】
記憶ユニット3は、HDD(Hard Disc Drive)又はSSD(Solid State Drive)を使用したランダムアクセス可能な不揮発性メモリを使用したもので、この発明を実現するために必要な記憶部として、滞在行動データ記憶部31と、状態遷移系列記憶部32と、スケジューラデータ記憶部33と、イベント系列データ記憶部34と、学習データ記憶部35とを備えている。
【0025】
滞在行動データ記憶部31は、携帯端末MS1〜MSnから取得された位置データをもとに後述する滞在場所抽出処理部22により生成されたユーザの滞在行動データの集合を格納するために使用される。一人のユーザの滞在行動データは、滞在場所を示す識別情報(滞在場所ID)と、その滞在開始時刻及び滞在終了時刻を表す情報を、滞在行動IDに関連付けたものとして表される。
【0026】
状態遷移系列記憶部32は、後述する状態遷移系列作成処理部23により、上記滞在行動データ記憶部31に記憶された滞在行動データをもとに生成された状態遷移系列を、ユーザIDに対応付けて記憶するために使用される。一人のユーザの状態遷移系列は、状態遷移系列IDに対し状態及び時刻を関連付けたものとして表される。
【0027】
スケジューラデータ記憶部33は、後述するスケジューラデータ取得制御部24により携帯端末MS1〜MSnから取得されたスケジューラデータを、ユーザIDに対応付けて記憶するために使用される。一人のユーザのスケジューラデータは、スケジューラデータIDに対し、行動予定(イベント)を表す文字列の情報と、その開始時刻及び終了時刻を表す情報を関連付けたものとして表される。
【0028】
イベント系列データ記憶部34は、上記スケジューラデータ記憶部33に記憶されたスケジューラデータをもとに、後述するスケジューラデータ変換部25により生成されたイベント系列データを記憶するために使用される。1つのイベント系列データは、イベントIDに対し、イベント内容のキーワードと、イベントの開始時刻及び終了時刻とを関連付けたものとして表される。
【0029】
学習データ記憶部35は、後述するパラメータ学習処理部26による学習演算により求められた、ユーザごとのDBN(Dynamic Bayesian Networks)モデルの確率分布パラメータを保存するために使用される。
【0030】
制御ユニット2は、中央処理ユニット(CPU;Central Processing Unit)を中核として備えるもので、この発明を実施するために必要な制御機能として、位置データ取得制御部21と、滞在場所抽出処理部22と、状態遷移系列作成処理部23と、スケジューラデータ取得制御部24と、スケジューラデータ変換部25と、パラメータ学習処理部26と、行動予測処理部27と、予測結果出力制御部28とを備えている。これらの制御機能はいずれもアプリケーション・プログラムを上記CPUに実行させることにより実現される。
【0031】
位置データ収集処理部21は、送受信ユニット1を制御することで、各携帯端末MS1〜MSnに対しそれぞれ異なるタイミングで定期的に位置データの送信要求を送信し、この要求に対し各携帯端末MS1〜MSnから送信される位置データを受信する処理を実行する。
【0032】
滞在場所抽出処理部22は、上記位置データ収集処理部21により取得された位置データを、クラスタリング処理により、ユーザが滞在した場所とその場所に滞在した時間とを組にした滞在行動の集合に変換する。そして、この滞在行動の集合に対して、滞在場所が変化するごとに異なる滞在行動IDを付与し、この滞在行動IDが付与された滞在行動データの集合を上記滞在行動データ記憶部31に記憶させる処理を行う。
【0033】
状態遷移系列作成処理部23は、上記滞在行動データ記憶部31から滞在行動データの集合を読み出し、この読み出された滞在行動データの集合をもとに状態遷移系列を生成する処理を行う。状態遷移系列は、滞在行動データを一定時間ごとにサンプリングして、サンプリングした時刻におけるユーザの状態を並べたものとして定義される。このとき状態は、ある滞在場所に滞留しているか、ある滞在場所から別の滞在場所へ遷移中であるかの2種類である。上記状態遷移系列は、上記状態遷移系列記憶部32に格納される。
【0034】
スケジューラデータ取得制御部24は、携帯端末MS1〜MSnからユーザが予め作成し記憶しておいたスケジューラデータを送受信ユニット1により受信し、この受信されたスケジューラデータをスケジューラデータ記憶部33に記憶させる処理を行う。
スケジューラデータ変換部25は、上記スケジューラデータ記憶部33から読み出したスケジューラデータを所定の前処理によりイベント系列データに変換し、この変換されたイベント系列データをイベント系列データ記憶部34に格納する処理を行う。上記前処理とは、スケジューラデータに含まれる任意の文字列を形態素解析することにより名詞を抽出し、この抽出された名詞をベクトルにより表してこれをスケジュール内容を表すデータとする処理である。
【0035】
パラメータ学習処理部26は、ユーザIDごとに、上記状態遷移系列記憶部32から状態遷移系列を読み出すと共に、イベント系列データ記憶部34からイベント系列データを読み出し、これらのデータをもとに行動予測に用いるDBNモデルの学習を行う。DBNモデルは、事象間の確率的な依存関係を表した時系列モデルであり、学習データからモデル中で用いられている確率分布のパラメータを推定する。パラメータ学習処理部26は、この推定された確率分布のパラメータを、行動予測に使用するデータとして学習データ記憶部35に保存する。
【0036】
行動予測処理部27は以下の処理機能を備えている。
(1) 上記位置データ取得制御部21を起動して、携帯端末よりユーザの現在位置と時刻を表すデータを取得する。そして、滞在場所抽出処理部22及び状態遷移系列作成処理部23を起動して、上記取得した位置データから滞在行動データを生成し、さらにこの滞在行動データをもとに状態遷移系列データを生成する処理。
(2) スケジューラデータ取得制御部24を起動して、予測対象時刻より一定時間後までの期間におけるユーザのスケジュールデータを取得する。そして、スケジューラデータ変換部25を起動して、イベント系列データを生成する処理。
(3) 上記生成された状態遷移系列データ及びイベント系列データと、上記学習データ記憶部35に保存された確率分布のパラメータとを用いて、確率最大遷移探索処理を実行する。確率最大遷移探索処理は、未来のスケジューラデータの時間帯及びイベントの開始状態を入力として、DBNモデルで最大の確率を与える状態遷移系列を求める処理であり、この求められた最大の確率を与える状態遷移系列をユーザの未来の行動予測結果を表す情報として出力する。
【0037】
予測結果出力制御部28は、上記行動予測処理部27により得られた、ユーザの未来の行動予測結果を表す情報を、予測結果の利用契約を行っているサービス業者のサーバ又は端末へ、送受信ユニット1から送信させる処理を行う。
【0038】
次に、以上のように構成された行動予測装置の動作を、予測に必要な学習処理を行う学習フェーズと、学習された結果をもとにユーザの行動を予測する予測フェーズとに分けて説明する。
【0039】
(1)学習フェーズ
学習フェーズでは以下のような処理が行われる。図3は学習フェーズにおける処理手順と処理内容を示すフローチャートである。
(1−1)位置データ計測処理
各ユーザが所持する携帯端末MS1〜MSnでは、定常状態において以下のように位置情報の検出及び送信処理が行われる。すなわち、定常状態において携帯端末は、GPS計測制御部によりGPS計測タイミングになったか否かを監視している。この状態で、前回の計測タイミングから例えば5分が経過すると、GPS計測制御部がGPS受信機を起動し、このGPS受信機により受信されたGPS信号を取り込んで緯度及び経度を算出する。そして、この算出された緯度及び経度に計測時刻と計測IDを付加して位置データとし、この位置データを端末内の記憶部に記憶させる。図8はこの端末内の記憶部に記憶された位置データの一例を示すものである。
【0040】
また携帯端末MS1〜MSnは、上記位置データの計測処理を定期的に実行しながら、位置データ送信制御部により位置データ送信要求の受信を監視する。この状態で、行動予測装置SVから送信要求を受信すると、上記端末内の記憶部から前回の送信より後に記憶された位置データの集合を読み出し、この読み出された位置データの集合を行動予測装置SVに向け送信する。以後、送信要求が受信されるごとに、上記端末内の記憶部に記憶された位置データの集合を行動予測装置SVへ送信する。
【0041】
(1−2)位置データの取得処理
行動予測装置SVの制御ユニット2は、先ずステップS1において位置データ取得制御部21を起動し、この位置データ取得制御部21の制御の下で、各携帯端末MS1〜MSnに対しそれぞれ異なるタイミングで定期的に位置データの送信要求を送信する。そして、この要求に対し各携帯端末MS1〜MSnから送信される位置データの集合を送受信ユニット1により受信し、記憶ユニット内の位置データ記憶部に保存する。
【0042】
(1−3)滞在場所の抽出処理
上記位置データの取得処理により過去の第1の期間、例えば1年又は数ヶ月分の位置データが取得されると、行動予測装置SVの制御ユニット2は続いてステップS2により滞在場所抽出処理部22を起動する。そして、この滞在場所抽出処理部22により、当該位置データの集合を読み込み、この読み込んだ位置データの集合に対しクラスタリング処理を実行して、滞在行動データの集合に変換する。一つの滞在行動データは、ユーザが滞在した場所と、この場所に滞在を開始した時刻と、滞在を終了した時刻とを組にしたものにより表される。そして、滞在場所抽出処理部22はステップS3において、上記変換された滞在行動データのそれぞれに対し、滞在場所が変化するごとに異なる滞在行動IDを付与し、この滞在行動IDが付与された滞在行動データの集合を滞在行動記憶部31に格納する。
【0043】
上記クラスタリング処理のアルゴリズムとしては、例えば位置データの二次元空間における密度に基づいてクラスタリングを行う、DBSCANアルゴリズムを適用することができる。図9にクラスタリング処理により滞在行動を抽出する処理の概念を示す。この例ではC1 ,…,C4 がそれぞれ抽出された滞在場所を表している。なお、クラスタリングにはDBSCANアルゴリズムのほかにk−平均法や階層的クラスタリングなどの一般的なクラスタリングアルゴリズムを適用してもよい。
【0044】
滞在場所抽出処理部22は、上記滞在場所が抽出されると、次に、ユーザがある滞在場所に連続的に滞留していた箇所を滞在行動として抽出する。すなわち、ある滞在行動とは、滞在場所を示すIDと、この滞在場所での滞在を開始した時刻と、滞在を終了した時刻とにより表される。滞在行動データの一例を図10に示す。各滞在行動にはユニークな滞在行動IDが付与される。
【0045】
なお、DBSCANアルゴリズムの詳細は、Martin Ester, Hans-Peter Kriegel, Jorg Sander, and Xiaowei Xu “A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise’’ , in proceedings of 2nd international conference on knowledge discovery and data mining, pp.226-231, 1996.に詳しく記載されている。
【0046】
(1−4)状態遷移系列の作成
行動予測装置SVの制御ユニット2は、次にステップS3において状態遷移系列作成処理部23を起動し、この状態遷移系列作成処理部23により、上記滞在行動データ記憶部31に記憶された滞在行動データの集合をもとに状態遷移系列データを作成する。状態遷移系列は、上記滞在行動データを一定時間間隔でサンプリングして、サンプリングした時刻におけるユーザの状態を並べたものである。ここでいうユーザの状態とは、(1) ある滞在場所に滞留しているか、(2)ある滞在場所から別の滞在場所へ遷移中であるかの2種類である。
【0047】
図11に滞在行動データから状態遷移系列を作成する場合の概念を示す。ユーザが滞在場所ID3、15、12の順に滞在したとき、滞在行動データから10分ごとにサンプリングすることで、状態遷移系列<3,3,3,3,3→15,3→15,15,15,15,12>が得られる。ここで3,15,12はそれぞれ対応する滞在場所IDの場所に滞留していることを表し、3→15は滞在場所3から15への遷移途中であることを表している。図12は、このようにして作成された状態遷移系列データの一例を示すものである。
【0048】
(1−5)スケジューラデータの取得
行動予測装置SVの制御ユニット2は、次にステップS4においてスケジューラデータ取得制御部24を起動し、このスケジューラデータ取得制御部24により、携帯端末MS1〜MSnに対しそれぞれ異なるタイミングでスケジューラデータの送信要求を送信する。そして、この要求に対し各携帯端末MS1〜MSnから送信される、過去の所定期間分、例えば1年又は数ヶ月分のスケジューラデータを送受信ユニット1により受信し、スケジューラデータ記憶部33に格納する。
【0049】
スケジューラデータは、携帯端末MS1〜MSnが備えているスケジューラにユーザが手操作で入力して記憶しておいたものである。スケジューラとしては、ユーザがスケジュールの内容を表す文章と、そのイベントの開始時刻、終了時刻とを記入できるものであるとする。例えば、Google Calendar(登録商標)、 Microsoft(登録商標)社の Office Outlook(登録商標)、サイボウズ(登録商標)社のOfficeが、このようなスケジューラに該当する。
【0050】
(1−6)スケジューラデータの解析
行動予測装置SVの制御ユニット2は、次にステップS5においてスケジューラデータ変換部25を起動し、このスケジューラデータ変換部25により上記スケジューラデータ記憶部33からスケジューラデータを読み出して解析処理を行う。この解析処理では、形態素解析エンジンによりイベント内容の文字列を形態素解析して名詞のみを抽出することにより、イベント内容を示すキーワードの列を作成する。そして、この作成されたイベント内容のキーワードの列にイベント開始時刻及びイベント終了時刻を付与することによりイベントデータを生成する。図14はこのイベントデータの一例を示す。
【0051】
次にスケジューラデータ変換部25は、ステップS6において、上記生成されたイベントデータを一定の時間間隔でサンプリングして、イベント系列データを作成する。すなわち、ある一定の時間間隔で並んだ時刻の列に対し、イベントデータのうち開始時刻から終了時刻までの時間幅にその時刻が含まれていれば、時刻にイベント内容キーワードの列を関連づけてこれを系列とする。そして、この生成されたイベント系列データをイベント系列データ記憶部34に格納する。図15にこのイベント系列データの一例を示す。なお、イベント系列データのイベント時刻は、状態遷移系列データの時刻と等しくなるように設定される。したがって、ある一定の時間間隔で並んだ時刻に対して、ユーザの状態とイベント系列とがそれぞれ対応付けられることになる。
【0052】
(1−7)パラメータ学習処理
行動予測装置SVの制御ユニット2は、次にステップS7においてパラメータ学習処理部26を起動し、このパラメータ学習処理部26の制御の下で、上記イベント系列データ記憶部34からイベント系列データを読み出して、行動予測に用いるDBNモデルの学習を行う。DBNモデルは、事象間の確率的な依存関係を表した時系列モデルであり、学習データからモデル中で用いられている確率分布のパラメータを推定する。この実施形態では、スケジューラデータと位置データとの関係を記述するDBNモデルとして、2種類のモデルを提案する。以下、それぞれのDBNモデルについて、その構造と学習手順を順に説明する。
【0053】
(a)第1のDBNモデル
第1のDBNモデルを図16に示す。図中の各ノードは確率変数を表し、ノード間のアークは、アークの終点に接続されたノードにより表される確率変数の分布がアークの始点に接続されたノードの値によって定まる条件付き確率分布に従うことを表している。DBNモデルでは各ノードに時点tが対応付けられる。時点はt=0,1,2,…,Nであり、NはDBNモデルの大きさを決める定数である。
【0054】
図16にはt−2,t−1,t,t+1のノードのみしか示されていないが、実際には1,2,…,t−3,t+2,…,Nについても同様の構造を有しているものとする。各時点tには対応する時刻が対応付けられており、またある時点tに対応づけられている時刻とt+1に対応づけられている時刻との差Δtは常に一定である。Δtの値は、例えば1分、10分、1時間等に設定される。Δt=10分としたときの時点tと時刻との対応付けの例を図17に示す。
【0055】
図16に示した第1のDBNモデルは、以下の条件付き確率分布を定めている。
【数1】

ここで、Z,W,Gは確率変数の集合であり、それぞれ・Z={z,z,…,z}、W={W,W,…,W}、G={g,g,…,g}で表される。π,・A,B,Cは確率分布を定めるパラメータであり、DBNの学習処理は学習用データからこれらのパラメータを推定する処理に相当する。各確率変数が表す対象、および式(1)の右辺中に出現する確率分布については後述する。
【0056】
続いて、図16に示したDBNモデル中に出現する確率変数z,W,gについて説明する。以下では、K種類の値(x,x,…,x)をとる確率変数をK次元のベクトルx=(x,x,…,x)として表現する。xは値x(1≦k≦K)をとるときにx=1をとり、それ以外の成分は値0となる。
【0057】
は、時点tにおけるユーザの状態、すなわちユーザが滞留している場所もしくはユーザがある場所からある場所への遷移途中であることを表す確率変数であり、M次元のベクトルz={zt1,zt2,…,ztM}として表される。Mはユーザがとりうる状態の種類の総数である。とりうる状態の総数は、先に述べたステップS3で生成されたすべての状態遷移系列に出現する状態の種類の総数としてもよいし、学習データとは別に予め状態の集合を与えて作成してもよい。各状態について図18に示すように1からMまでの状態IDを割り当てる。ある時点tにユーザが図18の状態IDがm(1≦m≦M)の状態にあることを、確率変数zの成分ztmが1であるとして表す。
【0058】
は時点tに対応するイベント内容キーワードの列であり、W={wt1,wt2,…,wt|Wt|}である。|W|は時点tに対応する時刻におけるイベント内容キーワードの総数を表す。各wtiは時点tでi番目に出現しているキーワードを表す確率変数であり、V次元のベクトルWti={wti1,wti2,…,wtiV}によって表現する。Vはイベントデータ中に出現し得るキーワードの種類の総数である。キーワードの総数は、例えばステップS6で生成されたイベント系列データに出現するキーワードの種類の総数としてもよいし、学習データとは別に予めキーワードの集合を与えて作成してもよい。
【0059】
各キーワードについて図19のように1からVまでのIDを割り当てる。ある時点tに出現するイベント内容キーワードのi番目のキーワードが、図19のキーワードIDがv(1≦v≦V)であるキーワードであることを、確率変数wtiの成分wtivが1であるとして表す。例えば、時点tに対応する時刻におけるイベント内容キーワードが“A”、“さん”、“打ち合わせ”だったとすると、W={wt1,wt2,wt3}であり、wt1,wt2,wt3はそれぞれ、キーワード“A”に対応する成分のみが1、残りの成分が0のベクトル、キーワード“さん”に対応する成分のみが1、残りの成分が0のベクトル、キーワード“打ち合わせ”に対応する成分のみが1、残りの成分が0のベクトルとなる。
【0060】
は、時点tが対応する時間帯を表す確率変数であり、R次元のベクトルg={gt1,gt2,…,gtR}で表わされる。Rは一日を分割するときの分割数であり、例えば一日を午前と午後に分けた場合にはR=2となる。分割された各時間帯について、図20に示すように1からRまでの時間帯IDが割り当てられる。ある時点tに対応する時刻がIDr(1≦r≦R)に対応する時間帯に属しているとき、gは成分gtrのみが1、ほかの成分が0であるベクトルになる。
【0061】
上記(1)式に出現する4種類の確率分布を、
【数2】

として定義する。
【0062】
ここで、πはM次元のベクトルであり、
【数3】

を満たす。
【0063】
AはM行M列の行列であり、各j(1≦j≦M)について
【数4】

を満たす。
【0064】
BはM行V列の行列であり、各j(1≦j≦M)について
【数5】

を満たす。
【0065】
CはM行R列の行列であり、各j(1≦j≦M)について
【数6】

を満たす。
【0066】
確率分布は、p(z|π)・は状態の初期分布を、p(zt+1|z,A)・は時点・tからt+1への状態の遷移確率を、p(w|z,B)は時点・tにおけるイベント内容キーワード列の出現確率を、p(g|z,C)・は時刻・tにおける時間帯の出現確率をそれぞれ示す。
【0067】
次に、図16に示した第1のDBNモデルのパラメータ学習処理の手順と内容について図4のフローチャートを用いて説明する。学習処理は上記(1)式のパラメータA,B,Cをイベント系列データから推定する処理に相当する。パラメータπ・は予測処理に用いないため、推定は行わない。
【0068】
パラメータ学習処理部26は、先ずステップS71で学習用のデータを構成する。学習用のデータは、ステップS3により生成された状態遷移系列と、ステップS6により生成されたイベント系列データを変換して作成した、tが0からNまでのそれぞれの確率変数の値の集合L={z,z,…,z,W,W,…,W,g,g,…,g}として与える。学習用データをベクトルに変換する場合の例を図21に示す。図21(a)はステップS3及びS6で与えられた位置遷移系列とイベント系列データである。このデータについて、時刻を図21(b)の時点tと時刻の対応表について変換し、図21(e)によって状態をベクトルzに変換し、図21(c)によってイベント内容キーワードをベクトルの集合Wに変換し、図21(d)によって時間帯を時間帯ベクトルgに変換することにより、学習データ図21(f)を得ている。
【0069】
パラメータ学習処理部26は、続いてステップS72で、上記ステップS71により得られた学習データをもとに、パラメータA,B,Cの推定値A^,B^,C^を最尤推定法によって以下のように推定する。
【数7】

ここで、Tijは学習データ中でzti=1かつzt+1.j=1であるようなz,zt+1の組が発生した回数、Eijは学習データ中で状態zti=1のときにキーワードwtkj=1(ただし1≦k≦|W|であるようなz,wtkの組が発生した回数、Fijは学習データ中でzti=1のときに時間帯gtj=1となるようなz,gの組が発生した回数である。β,βはそれぞれの確率分布のハイパーパラメータであり、学習に先立ってこれらの値を調整することでモデルの性質を調整することができる。推定されたパラメータを出力してパラメータ学習処理を終了する。
【0070】
(b)第2のDBNモデル
第2のDBNモデルを図22に示す。このモデルが表すDBNの確率分布は、
【数8】

である。
【0071】
(2)式中のz,W,gが表すものについては第1のモデルと変わらず、加えて新たなノードdを追加したモデルとなる。D={d,d,…,d}とする。π,・A,B,C,λは確率分布を定めるパラメータであり、第1のDBNモデルと同様に学習処理ではこれらのパラメータをイベント系列データより推定する。
【0072】
は状態zに滞留する時間長さを表す確率変数であり、H次元のベクトルで表現する。dth=1のとき、ユーザは現在の状態zにあとΔth時間だけ連続して滞留することを表す。図23にこの滞留時間長の一例を示す。各滞留時間長にはそれぞれIDが関連付けられる。
【0073】
(2)式の右辺は以下の6つの確率分布によって表す。
【数9】

ここで、δijはi=jのときに1を、それ以外のときに0をとる定数である。λは状態zでの滞在長さを表すパラメータであり、λはH次元のベクトルである。π,・A,B,Cについては第1のDBNモデルと同じである。
【0074】
第2のDBNモデルのパラメータ学習の手順と内容について図4を用いて説明する。
パラメータ学習処理部26は、先ずステップS71で学習データをL={z,z,…,z,w,w,…,w,g,g,…,gN,,d,…,d}により構成する。学習データの作成例を図24に示す。図21に示した第1のDBNモデルにおける学習データ作成処理の場合と同様に、図24(a)より図24(f)を作成するが、その際に新たにテーブル図24(g)を用いて図24(f)にdの列を追加している部分が異なっている。
【0075】
パラメータ学習処理部26は、続いてステップS72でパラメータの推定値A^,B^,C^,λ^を以下の式によって最尤推定する。
【数10】

ここでDは、zt−1,k=1かつdt−1,0=1を満たすdの集合である。
【0076】
以上の手順により第1のDBNモデル又は第2のDBNモデルによりイベント系列データからパラメータを学習することができる。
制御ユニット2は、最後にステップS7において、上記学習処理により得られたパラメータを学習データ記憶部35に記憶し、学習処理を終了する。
【0077】
(2)行動予測フェーズ
さて、携帯端末MS1〜MSnの各ユーザに関する上記学習処理が終了すると、当該各ユーザの今後の行動予測が可能となる。
行動予測フェーズになると行動予測装置SVの制御ユニット2は、以下のように処理を実行する。図5はその処理手順と処理内容を示すフローチャートである。
【0078】
(2−1)予測開始状態及び未来のスケジューラデータの取得
行動予測装置SVの制御ユニット2は行動予測処理部27を起動し、この行動予測処理部27の制御の下で、先ずステップS11により予測を開始する開始状態を表す情報の入力を受け付ける。開始状態を表す情報は、予測を開始する状態とその時刻との組により表される。例えば、位置データ取得制御部21を起動して携帯端末MS1〜MSnからその現在位置データを受信し、この現在位置データを開始状態を表す情報とする。続いてステップS12においてスケジューラデータ取得処理部24を起動し、ユーザの行動予測を開始する時刻以降のスケジューラデータ、つまり未来のスケジューラデータを携帯端末MS1〜MSnから受信する。そして、ステップS13においてスケジューラデータ変換部25を起動し、上記受信されたスケジューラデータについて形態素解析を行ってイベントデータを生成する。
【0079】
(2−2)確率最大遷移探索処理
行動予測処理部27は、次にステップS14において確率最大遷移探索処理を実行する。確率最大遷移探索処理は、未来のスケジューラデータと時間帯、開始状態を入力として、DBNモデルで最大の確率を与える状態遷移の系列z,z,…,zを求める処理であり、例えば隠れマルコフモデルから確率最大の状態遷移系列を求める一般的なアルゴリズムであるビタビアルゴリズムを適用することによって、効率よく求めることが可能である。確率が最大となる状態遷移系列を求める処理は、第1のDBNモデルと第2のDBNモデルとで異なるため、モデルごとに説明する。
【0080】
(a)第1のDBNモデルを利用した場合
第1のDBNモデルにおける確率最大遷移探索処理は以下のように行われる。図6はその処理手順と処理内容を示すフローチャートである。
すなわち、行動予測処理部27は先ずステップS21で変数tを0に初期化したのち、ステップS22で開始状態をもとにzについてのスコアを初期化する。状態に対するスコアをω(zti)と定義する。開始状態でのスコアはω(z0i)=lnp(z0k)によって与えられる。すなわち、入力として与えられた開始状態に対応する状態z0kについてはω(z0k)=0が、その他の状態についてはω(z0i)=−∞とする。
【0081】
次にステップS23においてtの値がDBNモデルの状態数N以下かどうかを調べ、N以下であるならステップS24に進む。ステップS24によりカウンタiを1に設定し、ステップS25でカウンタの値が状態の種類の数M以下であることを確認する。M以下であるならステップS26に進む。
【0082】
ステップS26では、状態ztiに対応するスコアを計算する。スコアは
【数11】

として計算する。
【0083】
次にステップS27において、上記ステップS26でω(zti)に最大値を与えた1つ前の状態zt−1jを、Ψ(zti)=zt−1j として記憶しておく。Ψ(zti)にスコアを最大とする一つ前の状態を記憶しておくことにより、後で確率を最大にする系列を取り出すことができる。
【0084】
続いてステップS28でiの値をインクリメント(1増加)させ、ステップS25に進む。もしi>MとなるならばステップS29に移行し、時点tを1つ増加させ、ステップS23に移行する。以上の処理を時点Nまで繰り返すことで、0≦t≦N及び1≦i≦Mのすべての組み合わせについてω(zti)及びΨ(zti)を計算することができる。
【0085】
次にステップS30において、時点Nにおける最大のスコアをとる状態ω(zNk)を選択する。続いてzN−1j・・Ψ(zNk)を計算し、その計算結果を記憶する。以下、同様に時点N−2,N−3,…,0についても同様にΨ(ztk)によって1つ前の状態を求めていくと、確率を最大とする系列z,z,…,zが得られる。
【0086】
(b)第2のDBNモデルを利用した場合
第2のDBNモデルにおける確率最大遷移探索処理は以下のように行われる。図7はその処理手順と処理内容を示すフローチャートである。処理の手順と内容は第1のDBNモデルを用いた場合とほぼ同じであるが、状態zと当該状態における滞留時間長dとの組に対してスコアを求めるところが異なっている。
【0087】
すなわち、スコアはω(zti,d)とする。ステップS31によりカウンタtを0で初期化し、ステップS32でスコアの初期化を行う。初期状態についてはω(z0k,0)=0、その他のすべての組み合わせについてω(z0i,d)=−∞とおく。続いてステップS33によりtが系列の長さN以下であるか否かを判定し、tが系列の長さN以下であるときにステップS34に移行する。
【0088】
次にステップS34によりカウンタi,jをそれぞれ1,0に初期化し、ステップS35,S36において上記カウンタi,jの値が状態数Mと時間長さの最大値Hを超えているか否かを判定する。そして、カウンタi,jが状態数Mと時間長さの最大値Hを超えていなければ、ステップS37でスコアを計算する。計算式は、
【数12】

で表される。
【0089】
次に、ステップS39,S40,S41により各カウンタの値を増加させながら、すべてのi,j,tの組み合わせについてスコア及びΨの値を計算する。そして、この計算終了後、ステップS42により第1のDBNモデルのときと同様に確率を最大にする系列を選択し、処理を終了する。
【0090】
(2−3)予測結果の出力
行動予測処理部27は、以上述べた確率最大遷移探索処理が終了すると、ステップS15により予測結果出力制御部28を起動し、上記求められた確率を最大とする系列z,z,…,zを、予め登録されているサービス事業者のサーバ又は端末へ向け、送受信ユニット1から送信させる。
【0091】
図25は予測結果の一例を示すもので、一定時間後までの未来の時刻とユーザの状態の組とによって表される。なお、図25では予測される状態を滞在場所IDによって表しているが、IDの代わりにクラスタの座標(緯度・経度)を出力するようにしてもよいし、さらに緯度・経度を対応する住所に変換してこの変換された住所情報を出力するようにしてもよい。
【0092】
以上詳述したようにこの実施形態では、ユーザが所持する携帯端末MS1〜MSnから取得した過去の位置データ履歴をもとに一定の時間間隔でサンプリングした状態遷移系列データを生成すると共に、同様に携帯端末MS1〜MSnから取得したスケジューラデータに基づいてイベント系列データを生成し、これらの状態遷移系列データ、イベント系列データ、時間帯を表すデータ及び各状態における滞留時間長を確率変数としてDBNモデルに組み込んで、当該確率モデル中において確率分布を定めるパラメータを推定する。そして、携帯端末から取得したユーザの現在位置及び未来のスケジューラデータと、先に推定したパラメータとを確率モデルに与え、確率が最大となるときの状態遷移系列を求めて、この求められた状態遷移系列をユーザの行動予測結果を表す情報として出力するようにしている。
【0093】
したがって、ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを利用し、この確率モデルに、ユーザの位置データをもとに生成される状態遷移系列データと、ユーザのスケジューラデータをもとに生成されるイベント系列データと、時間帯を表す情報を確率変数として組み込むことで、確率分布を定めるパラメータが推定される。このため、この推定されたパラメータを利用することで、位置データの履歴と、スケジューラに記入された未来の予定イベントと時間帯を考慮して、ユーザの未来の行動、つまりどの時刻にどの場所に滞在するか、或いはどの場所からどの場所へ移動するかを予測することが可能となる。
【0094】
さらに、位置データの履歴、スケジューラに記入された未来の予定イベントとその時間帯に加えて、各状態における滞留時間長をさらに考慮することで、ユーザの未来の行動をさらに高精度に予測することが可能となる。
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では学習フェーズに係わる処理と、その学習結果を使用した行動予測フェーズに係わる処理を、サーバからなる1台の行動予測装置において実現する場合を例にとって説明した。しかし、これに限定されるものではなく、学習フェーズに係わる処理を行うモデル化装置と、行動予測フェーズに係わる処理を行う予測装置とを別個に配置するようにしてもよい。この場合、予測装置はモデル化装置から通信ネットワーク、信号ケーブル又は記録媒体等の伝送媒体を介して学習結果を表す情報を取得する。そして、このモデル化装置から取得した学習結果を表す情報と、携帯端末から別途取得した過去の直近の期間における位置データ及び近未来の期間のスケジューラデータとをもとに、ユーザの行動予定を予測する処理を行う。
【0095】
また、前記実施形態では、過去の一定期間における位置データを携帯端末内のメモリに記憶しておき、行動予測装置が携帯端末から上記記憶された一定期間分の位置データを取得するようにした。しかしそれに限らず、携帯端末は位置データが得られるごとにこの位置データを行動予測装置へ送信し、行動予測装置が上記位置データを蓄積するようにしてもよい。
【0096】
さらに、前記実施形態では、学習フェーズに係わる処理機能と、その学習結果を使用した行動予測フェーズに係わる処理機能をサーバからなる行動予測装置に備えた場合を例にとって説明したが、上記各処理機能の少なくとも一方を携帯端末に備えるようにしてもよい。
【0097】
さらに、位置データはGPSを利用して計測する以外に、移動通信ネットワークの基地局が提供する携帯端末の位置データを利用するようにしてもよい。その他、行動予測装置の種類や構成、学習フェーズ及び行動予測フェーズにおける処理手順と処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【0098】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0099】
MS1〜MSn…携帯端末、SV…行動予測装置、NW…通信ネットワーク、1…送受信ユニット、2…制御ユニット、3…記憶ユニット、21…位置データ取得制御部、22…滞在場所抽出処理部、23…状態遷移系列作成処理部、24…スケジューラデータ取得制御部、25…スケジューラデータ変換部、26…パラメータ学習処理部、27…行動予測処理部、28…予測結果出力制御部、31…滞在行動データ記憶部、32…状態遷移系列記憶部、33…スケジューラデータ記憶部、34…イベント系列データ記憶部、35…学習データ記憶部。

【特許請求の範囲】
【請求項1】
ユーザが所持する携帯端末の過去の第1の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する手段と、
前記第1の期間における前記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、前記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する手段と、
前記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する手段と、
前記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、前記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、前記設定された時間帯をそれぞれ確率変数として前記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶するパラメータ学習処理手段と
を具備することを特徴とする行動予測装置。
【請求項2】
ユーザが所持する携帯端末の過去の第1の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する手段と、
前記第1の期間における前記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、前記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する手段と、
前記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する手段と、
前記記憶された状態遷移系列データに含まれる各状態に前記ユーザが滞留する時間長を求める手段と、
前記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、前記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、前記設定された時間帯と、前記求められた滞留時間長をそれぞれ確率変数として前記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶するパラメータ学習処理手段と
を具備することを特徴とする行動予測装置。
【請求項3】
前記パラメータ学習処理は、前記確率モデル中において確率分布を定めるパラメータを最尤推定法を用いて推定することを特徴とする請求項1又は2記載の行動予測装置。
【請求項4】
ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて前記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、
前記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、
前記確率モデルに対し、前記生成された開始状態情報、イベントデータ及びその実行予定時間帯を表す情報を確率変数として与えると共に、前記記憶されたパラメータを与え、当該確率モデルにおいて状態に対応する確率が最大となるときの状態遷移系列を求める手段と、
この求められた最大の確率を与える状態遷移系列を、前記ユーザの行動予測結果を表す情報として出力する手段と
を、さらに具備することを特徴とする請求項1記載の行動予測装置。
【請求項5】
ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて前記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、
前記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、
前記確率モデルに対し、前記生成された開始状態情報、イベントデータ、その実行予定時間帯を表す情報及び滞留時間長を表す情報を確率変数として与えると共に、前記記憶されたパラメータを与え、当該確率モデルにおいて状態とその滞留時間長に対応する確率が最大となるときの状態遷移系列を求める手段と、
この求められた最大の確率を与える状態遷移系列を、前記ユーザの行動予測結果を表す情報として出力する手段と
を、さらに具備することを特徴とする請求項2記載の行動予測装置。
【請求項6】
ユーザが所持する携帯端末の過去の第1の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する過程と、
前記第1の期間における前記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、前記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する過程と、
前記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する過程と、
前記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、前記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、前記設定された時間帯をそれぞれ確率変数として前記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶する過程と
を具備することを特徴とする行動予測方法。
【請求項7】
ユーザが所持する携帯端末の過去の第1の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する過程と、
前記第1の期間における前記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、前記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する過程と、
前記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する過程と、
前記記憶された状態遷移系列データに含まれる各状態に前記ユーザが滞留する時間長を求める過程と、
前記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、前記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、前記設定された時間帯と、前記求められた滞留時間長をそれぞれ確率変数として前記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶する過程と
を具備することを特徴とする行動予測方法。
【請求項8】
請求項6又は7記載の行動予定方法が具備する各過程をコンピュータに実行させる行動予測プログラム。

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