(57)【特許請求の範囲】
【請求項１】
ユーザが所持する携帯端末の過去の第１の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する手段と、
前記第１の期間における前記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、前記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する手段と、
前記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する手段と、
前記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、前記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、前記設定された時間帯をそれぞれ確率変数として前記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶するパラメータ学習処理手段と
を具備することを特徴とする行動予測装置。
【請求項２】
ユーザが所持する携帯端末の過去の第１の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する手段と、
前記第１の期間における前記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、前記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する手段と、
前記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する手段と、
前記記憶された状態遷移系列データに含まれる各状態に前記ユーザが滞留する時間長を求める手段と、
前記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、前記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、前記設定された時間帯と、前記求められた滞留時間長をそれぞれ確率変数として前記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶するパラメータ学習処理手段と
を具備することを特徴とする行動予測装置。
【請求項３】
前記パラメータ学習処理は、前記確率モデル中において確率分布を定めるパラメータを最尤推定法を用いて推定することを特徴とする請求項１又は２記載の行動予測装置。
【請求項４】
ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて前記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、
前記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、
前記確率モデルに対し、前記生成された開始状態情報、イベントデータ及びその実行予定時間帯を表す情報を確率変数として与えると共に、前記記憶されたパラメータを与え、当該確率モデルにおいて状態に対応する確率が最大となるときの状態遷移系列を求める手段と、
この求められた最大の確率を与える状態遷移系列を、前記ユーザの行動予測結果を表す情報として出力する手段と
を、さらに具備することを特徴とする請求項１記載の行動予測装置。
【請求項５】
ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて前記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、
前記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、
前記確率モデルに対し、前記生成された開始状態情報、イベントデータ、その実行予定時間帯を表す情報及び滞留時間長を表す情報を確率変数として与えると共に、前記記憶されたパラメータを与え、当該確率モデルにおいて状態とその滞留時間長に対応する確率が最大となるときの状態遷移系列を求める手段と、
この求められた最大の確率を与える状態遷移系列を、前記ユーザの行動予測結果を表す情報として出力する手段と
を、さらに具備することを特徴とする請求項２記載の行動予測装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の行動予測装置が具備する各手段としてコンピュータを機能させるための行動予測プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザの位置情報とスケジュール情報をもとにユーザの今後の行動を予測する行動予測装置及びそのプログラムに関する。
【背景技術】
【０００２】
ＧＰＳ（Global Positioning System）に代表される位置計測デバイスを搭載した携帯端末をユーザが携行することで、取得・蓄積された位置データをもとに予測モデルを構成し、ユーザの行動を予測する手法が提案されている。例えば、非特許文献１には、取得されたＧＰＳデータからユーザが滞在した場所をクラスタリングによって抽出し、蓄積されたデータをもとに滞在場所間の移動を表すマルコフモデルを構築し、行動を予測する手法が記載されている。
【０００３】
また、非特許文献２には、同様にＧＰＳデータをクラスタリングすることによってユーザが滞在した場所を抽出したのち、ユーザの一日の行動を滞在場所を並べた系列で表現し、その後この系列に対し系列パターンマイニング処理を適用して系列パターンを抽出し、この抽出されたパターンを用いることでユーザの行動を予測する手法が記載されている。
【０００４】
ユーザの行動を的確に予測できれば、ユーザに対しより有益な情報を提供することが可能となる。例えば、ユーザが会社にいるときにその帰宅経路を予測することで、予測された経路での災害情報や、経路途中に存在する店舗のタイムセール情報を前もって提供する等、一歩先を読んだ情報提供が可能となる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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)
【非特許文献２】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
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、従来の位置データの履歴のみから行動予測を行う手法では、行動の規則性のみを用いて予測を行うため、予測精度に限度がある。一方、ユーザが未来の予定行動等をスケジューラに登録している場合には、スケジューラに記入された予定行動は実行される可能性が高いため、精度よく予測することができる。しかし、スケジューラに記載されている予定行動をユーザが予定通りに実行しない場合や、同じ時間帯に複数の予定行動が登録されている場合等においては、スケジューラのみから精度よくユーザの行動を予測することは難しい。また、スケジューラには一般にすべての予定行動が記入されているわけではないため、スケジューラのみからユーザがどのような行動を起こすかを時間的に連続に予測することは困難である。
【０００７】
この発明は上記事情に着目してなされたもので、その目的とするところは、ユーザが普段と異なる行動を行った場合にも未来の滞在位置を正確に予測できるようにし、しかも位置のみならず滞在時刻も予測可能にした行動予測装置及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明の第１の観点は、ユーザが所持する携帯端末の過去の第１の期間における位置データを取得し、この取得された位置データに基づいて、一定の時間間隔で設定されたサンプリング時刻と当該時刻におけるユーザの滞在状態を表す情報との組として表される状態遷移系列データを生成し記憶する手段又は過程と、上記第１の期間における上記ユーザの予定イベントをその内容と開始予定時刻及び終了予定時刻により表したスケジューラデータを取得し、この取得されたスケジューラデータに基づいて、上記設定されたサンプリング時刻と当該時刻における予定イベントの内容を表すキーワードとの組として表されるイベント系列データを生成し記憶する手段又は過程と、上記記憶された状態遷移系列データ及びイベント系列データに対し、当該各データに含まれるサンプリング時刻をもとに複数の時間帯を設定する手段又は過程と、パラメータ学習処理を行う手段又は過程とを備える。そして、このパラメータ学習処理を行う手段又は過程において、上記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、上記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、上記設定された時間帯をそれぞれ確率変数として上記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定するようにしたものである。
【０００９】
したがって、この発明の第１の観点によれば、ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを利用し、この確率モデルに、ユーザの位置データをもとに生成される状態遷移系列データと、ユーザのスケジューラデータをもとに生成されるイベント系列データと、時間帯を表す情報を確率変数として組み込むことで、確率分布を定めるパラメータが推定される。このため、この推定されたパラメータを利用することで、位置データの履歴と、スケジューラに記入された未来の予定イベントと時間帯を考慮して、ユーザの未来の行動、つまりどの時刻にどの場所に滞在するか、或いはどの場所からどの場所へ移動するかを予測することが可能となる。
【００１０】
上記目的を達成するためにこの発明の第２の観点は、上記第１の観点で述べた各手段又は過程に加え、上記記憶された状態遷移系列データに含まれる各状態に上記ユーザが滞留する時間長を求める手段又は過程をさらに備え、パラメータ学習処理を行う手段又は過程において、上記ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを定義し、上記記憶された状態遷移系列データ及びイベント系列データをそれぞれ読み出して、この読み出された状態遷移系列データと、イベント系列データと、上記設定された時間帯と、上記求められた滞留時間長をそれぞれ確率変数として上記確率モデルに組み込み、当該確率モデル中において確率分布を定めるパラメータを推定し記憶するようにしたものである。  
したがって、この発明の第２の観点によれば、位置データの履歴、スケジューラに記入された未来の予定イベントとその時間帯に加えて、各状態における滞留時間長をさらに考慮することで、ユーザの未来の行動をさらに高精度に予測することが可能となる。
【００１１】
上記第１及び第２の観点においてパラメータ学習処理を実行する際には、確率分布を定めるパラメータを最尤推定法により推定するとよい。
【００１２】
また上記第１の観点は、ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて上記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、上記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、上記確率モデルに対し、上記生成された開始状態情報、イベントデータ及びその実行予定時間帯を表す情報を確率変数として与えると共に、上記記憶されたパラメータを与え、当該確率モデルにおいて状態に対応する確率が最大となるときの状態遷移系列を求める手段と、この求められた最大の確率を与える状態遷移系列を、上記ユーザの行動予測結果を表す情報として出力する手段とを、さらに具備することも特徴とする。
【００１３】
さらに上記第２の観点は、ユーザが所持する携帯端末の現在の位置データを取得し、この取得された現在の位置データに基づいて上記ユーザの行動開始状態とその時刻との組で表される開始状態情報を生成する手段と、上記ユーザの行動開始時刻以降の予定イベントをその内容と開始予定時刻及び終了予定時刻により表した未来のスケジューラデータを取得し、この取得された未来のスケジューラデータに基づいて、予定イベントの内容を表すキーワードとその実行予定時間帯との組として表されるイベントデータを生成する手段と、上記確率モデルに対し、上記生成された開始状態情報、イベントデータ、その実行予定時間帯を表す情報及び滞留時間長を表す情報を確率変数として与えると共に、上記記憶されたパラメータを与え、当該確率モデルにおいて状態とその滞留時間長に対応する確率が最大となるときの状態遷移系列を求める手段と、この求められた最大の確率を与える状態遷移系列を、上記ユーザの行動予測結果を表す情報として出力する手段とを、さらに具備することも特徴とする。
【００１４】
このようにすると、第１及び第２の観点とも、パラメータ学習処理により事前に推定し記憶しておいたパラメータを利用して、同一の装置内でユーザの未来の行動を予測する処理を実行することが可能となる。
【発明の効果】
【００１５】
すなわちこの発明によれば、ユーザが普段と異なる行動を行った場合にも未来の滞在位置を正確に予測することができ、しかも位置のみならず滞在時刻も予測可能にした行動予測装置及びそのプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施形態に係わる行動予測装置を備えたシステムの概略構成図。
【図２】図１に示したシステムに設けられる行動予測装置の機能構成を示すブロック図。
【図３】図２に示した行動予測装置による学習モードの処理手順と処理内容を示すフローチャート。
【図４】図３に示した学習モードの処理過程で実行されるパラメータ学習処理の手順と内容を示すフローチャート。
【図５】図２に示した行動予測装置による行動予測モードの処理手順と処理内容を示すフローチャート。
【図６】図５に示した行動予測モードの処理過程で実行される、第１のＤＢＮモデルにおける確率最大遷移探索処理の手順と内容を示すフローチャート。
【図７】図５に示した行動予測モードの処理過程で実行される、第２のＤＢＮモデルにおける確率最大遷移探索処理の手順と内容を示すフローチャート。
【図８】図３に示した学習モードの処理過程で取得される位置データの一例を示す図。
【図９】図３に示した学習モードの処理過程で実行される滞在場所抽出処理の概念を説明するための図。
【図１０】図３に示した学習モードの処理過程で生成される滞在行動データの一例を示す図。
【図１１】図３に示した学習モードの処理過程において実行される状態遷移系列作成処理の概念を示す図。
【図１２】図３に示した学習モードの処理過程で生成される状態遷移系列データの一例を示す図。
【図１３】図３に示した学習モードの処理過程で取得されるスケジューラデータの一例を示す図。
【図１４】図３に示した学習モードの処理過程において、上記スケジューラデータをもとに生成されるイベントデータの一例を示す図。
【図１５】図３に示した学習モードの処理過程において、上記イベントデータをもとに生成されるイベント系列データの一例を示す図。
【図１６】ユーザの行動予測に用いる第１のＤＢＮモデルを説明するための図。
【図１７】時点と時刻との対応関係の一例を示す図である。
【図１８】ユーザが採りうる状態の種類とその識別ＩＤとの対応関係の一例を示す図。
【図１９】イベント系列データに表れるイベント内容キーワードの種類とその識別ＩＤとの対応関係の一例を示す図。
【図２０】イベント系列データに表れるイベント時刻を含む時間帯とその識別ＩＤとの対応関係の一例を示す図。
【図２１】第１のＤＢＮモデルにおける学習データの作成処理を説明するための図。
【図２２】ユーザの行動予測に用いる第２のＤＢＮモデルを説明するための図。
【図２３】ユーザの滞留長さの種類とその識別ＩＤとの対応関係の一例を示す図。
【図２４】第２のＤＢＮモデルにおける学習データの作成処理を説明するための図。
【図２５】図５に示した行動予測処理により得られた予測結果の一例を示す図。
【発明を実施するための形態】
【００１７】
以下、図面を参照してこの発明に係わる実施形態を説明する。  
図１は、この発明の一実施形態に係わる行動予測装置を備えたシステムの概略構成図である。このシステムは、それぞれユーザが所持する複数の携帯端末ＭＳ１〜ＭＳｎを、通信ネットワークＮＷを介して、行動予測装置ＳＶに接続可能としたものである。
【００１８】
通信ネットワークＮＷは、ＩＰ（Internet Protocol）網と、このＩＰ網にアクセスするためのアクセス網とから構成される。アクセス網としては、公衆通信網、携帯電話網、ＬＡＮ（Local Area Network）、無線ＬＡＮ、ＣＡＴＶ（Cable Television）網等が用いられる。
【００１９】
携帯端末ＭＳ１〜ＭＳｎは、携帯電話機やＰＤＡ（Personal Digital Assistant）、スマートホン、ネットブック等と呼ばれる携帯型のパーソナル・コンピュータ等からなり、音声通信機能やメール送受信機能、ブラウザ機能等の標準的な機能に加えて、位置計測機能と、スケジュール管理機能（スケジューラ）を備えている。
【００２０】
位置計測機能は、ＧＰＳ（Global Positioning System）受信機と、ＧＰＳ計測制御部と、ＧＰＳデータ送信制御部とにより実現される。  
ＧＰＳ受信機は、図示しない複数のＧＰＳ衛星から送信されるＧＰＳ信号をアンテナを介して受信する。ＧＰＳ計測制御部は、例えば５分以上の予め定められた計測周期で上記ＧＰＳ受信機を起動し、当該ＧＰＳ受信機により受信されたＧＰＳ信号を取り込んで自端末の位置データを生成する。位置データは、計測ＩＤに対し、緯度、経度及び計測時刻を関連付けたものにより表される。この生成された位置データは端末内の記憶部に記憶される。
【００２１】
ＧＰＳデータ送信制御部は、行動予測装置ＳＶから位置データの送信要求が到来した場合に、上記記憶部に記憶された位置データを読み出して要求元の行動予測装置ＳＶに向け送信する。なお、位置データは、定期的又は自端末の緯度経度が一定量以上変化したときに、記憶部から読み出して行動予測装置ＳＶへ送信するようにしてもよい。
【００２２】
スケジュール管理機能は、ユーザの入力操作に応じてスケジューラデータを生成して記憶する。そして、行動予測装置ＳＶからスケジューラデータの送信要求が到来した場合に、上記記憶されたスケジューラデータを読み出して要求元の行動予測装置ＳＶに向け送信する。なお、スケジューラデータは、定期的又はイベントの登録内容が更新されるごとに、記憶部から読み出して行動予測装置ＳＶへ送信するようにしてもよい。
【００２３】
ところで、行動予測装置ＳＶは例えば通信事業者又はサービス事業者が運用するサービスサーバからなり、次のように構成される。図２はその機能構成を示すブロック図である。  
すなわち、行動予測装置ＳＶは、送受信ユニット１と、制御ユニット２と、記憶ユニット３とを備えている。送受信ユニット１は、制御ユニット２の制御の下で通信ネットワークＮＷとの間で情報の送受信を行う。
【００２４】
記憶ユニット３は、ＨＤＤ（Hard Disc Drive）又はＳＳＤ（Solid State Drive）を使用したランダムアクセス可能な不揮発性メモリを使用したもので、この発明を実現するために必要な記憶部として、滞在行動データ記憶部３１と、状態遷移系列記憶部３２と、スケジューラデータ記憶部３３と、イベント系列データ記憶部３４と、学習データ記憶部３５とを備えている。
【００２５】
滞在行動データ記憶部３１は、携帯端末ＭＳ１〜ＭＳｎから取得された位置データをもとに後述する滞在場所抽出処理部２２により生成されたユーザの滞在行動データの集合を格納するために使用される。一人のユーザの滞在行動データは、滞在場所を示す識別情報（滞在場所ＩＤ）と、その滞在開始時刻及び滞在終了時刻を表す情報を、滞在行動ＩＤに関連付けたものとして表される。
【００２６】
状態遷移系列記憶部３２は、後述する状態遷移系列作成処理部２３により、上記滞在行動データ記憶部３１に記憶された滞在行動データをもとに生成された状態遷移系列を、ユーザＩＤに対応付けて記憶するために使用される。一人のユーザの状態遷移系列は、状態遷移系列ＩＤに対し状態及び時刻を関連付けたものとして表される。
【００２７】
スケジューラデータ記憶部３３は、後述するスケジューラデータ取得制御部２４により携帯端末ＭＳ１〜ＭＳｎから取得されたスケジューラデータを、ユーザＩＤに対応付けて記憶するために使用される。一人のユーザのスケジューラデータは、スケジューラデータＩＤに対し、行動予定（イベント）を表す文字列の情報と、その開始時刻及び終了時刻を表す情報を関連付けたものとして表される。
【００２８】
イベント系列データ記憶部３４は、上記スケジューラデータ記憶部３３に記憶されたスケジューラデータをもとに、後述するスケジューラデータ変換部２５により生成されたイベント系列データを記憶するために使用される。１つのイベント系列データは、イベントＩＤに対し、イベント内容のキーワードと、イベントの開始時刻及び終了時刻とを関連付けたものとして表される。
【００２９】
学習データ記憶部３５は、後述するパラメータ学習処理部２６による学習演算により求められた、ユーザごとのＤＢＮ（Dynamic Bayesian Networks）モデルの確率分布パラメータを保存するために使用される。
【００３０】
制御ユニット２は、中央処理ユニット（ＣＰＵ；Central Processing Unit）を中核として備えるもので、この発明を実施するために必要な制御機能として、位置データ取得制御部２１と、滞在場所抽出処理部２２と、状態遷移系列作成処理部２３と、スケジューラデータ取得制御部２４と、スケジューラデータ変換部２５と、パラメータ学習処理部２６と、行動予測処理部２７と、予測結果出力制御部２８とを備えている。これらの制御機能はいずれもアプリケーション・プログラムを上記ＣＰＵに実行させることにより実現される。
【００３１】
位置データ収集処理部２１は、送受信ユニット１を制御することで、各携帯端末ＭＳ１〜ＭＳｎに対しそれぞれ異なるタイミングで定期的に位置データの送信要求を送信し、この要求に対し各携帯端末ＭＳ１〜ＭＳｎから送信される位置データを受信する処理を実行する。
【００３２】
滞在場所抽出処理部２２は、上記位置データ収集処理部２１により取得された位置データを、クラスタリング処理により、ユーザが滞在した場所とその場所に滞在した時間とを組にした滞在行動の集合に変換する。そして、この滞在行動の集合に対して、滞在場所が変化するごとに異なる滞在行動ＩＤを付与し、この滞在行動ＩＤが付与された滞在行動データの集合を上記滞在行動データ記憶部３１に記憶させる処理を行う。
【００３３】
状態遷移系列作成処理部２３は、上記滞在行動データ記憶部３１から滞在行動データの集合を読み出し、この読み出された滞在行動データの集合をもとに状態遷移系列を生成する処理を行う。状態遷移系列は、滞在行動データを一定時間ごとにサンプリングして、サンプリングした時刻におけるユーザの状態を並べたものとして定義される。このとき状態は、ある滞在場所に滞留しているか、ある滞在場所から別の滞在場所へ遷移中であるかの２種類である。上記状態遷移系列は、上記状態遷移系列記憶部３２に格納される。
【００３４】
スケジューラデータ取得制御部２４は、携帯端末ＭＳ１〜ＭＳｎからユーザが予め作成し記憶しておいたスケジューラデータを送受信ユニット１により受信し、この受信されたスケジューラデータをスケジューラデータ記憶部３３に記憶させる処理を行う。  
スケジューラデータ変換部２５は、上記スケジューラデータ記憶部３３から読み出したスケジューラデータを所定の前処理によりイベント系列データに変換し、この変換されたイベント系列データをイベント系列データ記憶部３４に格納する処理を行う。上記前処理とは、スケジューラデータに含まれる任意の文字列を形態素解析することにより名詞を抽出し、この抽出された名詞をベクトルにより表してこれをスケジュール内容を表すデータとする処理である。
【００３５】
パラメータ学習処理部２６は、ユーザＩＤごとに、上記状態遷移系列記憶部３２から状態遷移系列を読み出すと共に、イベント系列データ記憶部３４からイベント系列データを読み出し、これらのデータをもとに行動予測に用いるＤＢＮモデルの学習を行う。ＤＢＮモデルは、事象間の確率的な依存関係を表した時系列モデルであり、学習データからモデル中で用いられている確率分布のパラメータを推定する。パラメータ学習処理部２６は、この推定された確率分布のパラメータを、行動予測に使用するデータとして学習データ記憶部３５に保存する。
【００３６】
行動予測処理部２７は以下の処理機能を備えている。  
(1) 上記位置データ取得制御部２１を起動して、携帯端末よりユーザの現在位置と時刻を表すデータを取得する。そして、滞在場所抽出処理部２２及び状態遷移系列作成処理部２３を起動して、上記取得した位置データから滞在行動データを生成し、さらにこの滞在行動データをもとに状態遷移系列データを生成する処理。  
(2) スケジューラデータ取得制御部２４を起動して、予測対象時刻より一定時間後までの期間におけるユーザのスケジュールデータを取得する。そして、スケジューラデータ変換部２５を起動して、イベント系列データを生成する処理。  
(3) 上記生成された状態遷移系列データ及びイベント系列データと、上記学習データ記憶部３５に保存された確率分布のパラメータとを用いて、確率最大遷移探索処理を実行する。確率最大遷移探索処理は、未来のスケジューラデータの時間帯及びイベントの開始状態を入力として、ＤＢＮモデルで最大の確率を与える状態遷移系列を求める処理であり、この求められた最大の確率を与える状態遷移系列をユーザの未来の行動予測結果を表す情報として出力する。
【００３７】
予測結果出力制御部２８は、上記行動予測処理部２７により得られた、ユーザの未来の行動予測結果を表す情報を、予測結果の利用契約を行っているサービス業者のサーバ又は端末へ、送受信ユニット１から送信させる処理を行う。
【００３８】
次に、以上のように構成された行動予測装置の動作を、予測に必要な学習処理を行う学習フェーズと、学習された結果をもとにユーザの行動を予測する予測フェーズとに分けて説明する。
【００３９】
（１）学習フェーズ
学習フェーズでは以下のような処理が行われる。図３は学習フェーズにおける処理手順と処理内容を示すフローチャートである。  
（１−１）位置データ計測処理
各ユーザが所持する携帯端末ＭＳ１〜ＭＳｎでは、定常状態において以下のように位置情報の検出及び送信処理が行われる。すなわち、定常状態において携帯端末は、ＧＰＳ計測制御部によりＧＰＳ計測タイミングになったか否かを監視している。この状態で、前回の計測タイミングから例えば５分が経過すると、ＧＰＳ計測制御部がＧＰＳ受信機を起動し、このＧＰＳ受信機により受信されたＧＰＳ信号を取り込んで緯度及び経度を算出する。そして、この算出された緯度及び経度に計測時刻と計測ＩＤを付加して位置データとし、この位置データを端末内の記憶部に記憶させる。図８はこの端末内の記憶部に記憶された位置データの一例を示すものである。
【００４０】
また携帯端末ＭＳ１〜ＭＳｎは、上記位置データの計測処理を定期的に実行しながら、位置データ送信制御部により位置データ送信要求の受信を監視する。この状態で、行動予測装置ＳＶから送信要求を受信すると、上記端末内の記憶部から前回の送信より後に記憶された位置データの集合を読み出し、この読み出された位置データの集合を行動予測装置ＳＶに向け送信する。以後、送信要求が受信されるごとに、上記端末内の記憶部に記憶された位置データの集合を行動予測装置ＳＶへ送信する。
【００４１】
（１−２）位置データの取得処理
行動予測装置ＳＶの制御ユニット２は、先ずステップＳ１において位置データ取得制御部２１を起動し、この位置データ取得制御部２１の制御の下で、各携帯端末ＭＳ１〜ＭＳｎに対しそれぞれ異なるタイミングで定期的に位置データの送信要求を送信する。そして、この要求に対し各携帯端末ＭＳ１〜ＭＳｎから送信される位置データの集合を送受信ユニット１により受信し、記憶ユニット内の位置データ記憶部に保存する。
【００４２】
（１−３）滞在場所の抽出処理
上記位置データの取得処理により過去の第１の期間、例えば１年又は数ヶ月分の位置データが取得されると、行動予測装置ＳＶの制御ユニット２は続いてステップＳ２により滞在場所抽出処理部２２を起動する。そして、この滞在場所抽出処理部２２により、当該位置データの集合を読み込み、この読み込んだ位置データの集合に対しクラスタリング処理を実行して、滞在行動データの集合に変換する。一つの滞在行動データは、ユーザが滞在した場所と、この場所に滞在を開始した時刻と、滞在を終了した時刻とを組にしたものにより表される。そして、滞在場所抽出処理部２２はステップＳ３において、上記変換された滞在行動データのそれぞれに対し、滞在場所が変化するごとに異なる滞在行動ＩＤを付与し、この滞在行動ＩＤが付与された滞在行動データの集合を滞在行動記憶部３１に格納する。
【００４３】
上記クラスタリング処理のアルゴリズムとしては、例えば位置データの二次元空間における密度に基づいてクラスタリングを行う、DBSCANアルゴリズムを適用することができる。図９にクラスタリング処理により滞在行動を抽出する処理の概念を示す。この例ではＣ1 ，…，Ｃ4 がそれぞれ抽出された滞在場所を表している。なお、クラスタリングにはDBSCANアルゴリズムのほかにｋ−平均法や階層的クラスタリングなどの一般的なクラスタリングアルゴリズムを適用してもよい。
【００４４】
滞在場所抽出処理部２２は、上記滞在場所が抽出されると、次に、ユーザがある滞在場所に連続的に滞留していた箇所を滞在行動として抽出する。すなわち、ある滞在行動とは、滞在場所を示すＩＤと、この滞在場所での滞在を開始した時刻と、滞在を終了した時刻とにより表される。滞在行動データの一例を図１０に示す。各滞在行動にはユニークな滞在行動ＩＤが付与される。
【００４５】
なお、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.に詳しく記載されている。
【００４６】
（１−４）状態遷移系列の作成
行動予測装置ＳＶの制御ユニット２は、次にステップＳ３において状態遷移系列作成処理部２３を起動し、この状態遷移系列作成処理部２３により、上記滞在行動データ記憶部３１に記憶された滞在行動データの集合をもとに状態遷移系列データを作成する。状態遷移系列は、上記滞在行動データを一定時間間隔でサンプリングして、サンプリングした時刻におけるユーザの状態を並べたものである。ここでいうユーザの状態とは、(1) ある滞在場所に滞留しているか、(2)ある滞在場所から別の滞在場所へ遷移中であるかの２種類である。
【００４７】
図１１に滞在行動データから状態遷移系列を作成する場合の概念を示す。ユーザが滞在場所ＩＤ３、１５、１２の順に滞在したとき、滞在行動データから１０分ごとにサンプリングすることで、状態遷移系列＜３，３，３，３，３→１５，３→１５，１５，１５，１５，１２＞が得られる。ここで３，１５，１２はそれぞれ対応する滞在場所ＩＤの場所に滞留していることを表し、３→１５は滞在場所３から１５への遷移途中であることを表している。図１２は、このようにして作成された状態遷移系列データの一例を示すものである。
【００４８】
（１−５）スケジューラデータの取得
行動予測装置ＳＶの制御ユニット２は、次にステップＳ４においてスケジューラデータ取得制御部２４を起動し、このスケジューラデータ取得制御部２４により、携帯端末ＭＳ１〜ＭＳｎに対しそれぞれ異なるタイミングでスケジューラデータの送信要求を送信する。そして、この要求に対し各携帯端末ＭＳ１〜ＭＳｎから送信される、過去の所定期間分、例えば１年又は数ヶ月分のスケジューラデータを送受信ユニット１により受信し、スケジューラデータ記憶部３３に格納する。
【００４９】
スケジューラデータは、携帯端末ＭＳ１〜ＭＳｎが備えているスケジューラにユーザが手操作で入力して記憶しておいたものである。スケジューラとしては、ユーザがスケジュールの内容を表す文章と、そのイベントの開始時刻、終了時刻とを記入できるものであるとする。例えば、Google Calendar（登録商標）、 Microsoft（登録商標）社の Office Outlook（登録商標）、サイボウズ（登録商標）社のOfficeが、このようなスケジューラに該当する。
【００５０】
（１−６）スケジューラデータの解析
行動予測装置ＳＶの制御ユニット２は、次にステップＳ５においてスケジューラデータ変換部２５を起動し、このスケジューラデータ変換部２５により上記スケジューラデータ記憶部３３からスケジューラデータを読み出して解析処理を行う。この解析処理では、形態素解析エンジンによりイベント内容の文字列を形態素解析して名詞のみを抽出することにより、イベント内容を示すキーワードの列を作成する。そして、この作成されたイベント内容のキーワードの列にイベント開始時刻及びイベント終了時刻を付与することによりイベントデータを生成する。図１４はこのイベントデータの一例を示す。
【００５１】
次にスケジューラデータ変換部２５は、ステップＳ６において、上記生成されたイベントデータを一定の時間間隔でサンプリングして、イベント系列データを作成する。すなわち、ある一定の時間間隔で並んだ時刻の列に対し、イベントデータのうち開始時刻から終了時刻までの時間幅にその時刻が含まれていれば、時刻にイベント内容キーワードの列を関連づけてこれを系列とする。そして、この生成されたイベント系列データをイベント系列データ記憶部３４に格納する。図１５にこのイベント系列データの一例を示す。なお、イベント系列データのイベント時刻は、状態遷移系列データの時刻と等しくなるように設定される。したがって、ある一定の時間間隔で並んだ時刻に対して、ユーザの状態とイベント系列とがそれぞれ対応付けられることになる。
【００５２】
（１−７）パラメータ学習処理
行動予測装置ＳＶの制御ユニット２は、次にステップＳ７においてパラメータ学習処理部２６を起動し、このパラメータ学習処理部２６の制御の下で、上記イベント系列データ記憶部３４からイベント系列データを読み出して、行動予測に用いるＤＢＮモデルの学習を行う。ＤＢＮモデルは、事象間の確率的な依存関係を表した時系列モデルであり、学習データからモデル中で用いられている確率分布のパラメータを推定する。この実施形態では、スケジューラデータと位置データとの関係を記述するＤＢＮモデルとして、２種類のモデルを提案する。以下、それぞれのＤＢＮモデルについて、その構造と学習手順を順に説明する。
【００５３】
（ａ）第１のＤＢＮモデル
第１のＤＢＮモデルを図１６に示す。図中の各ノードは確率変数を表し、ノード間のアークは、アークの終点に接続されたノードにより表される確率変数の分布がアークの始点に接続されたノードの値によって定まる条件付き確率分布に従うことを表している。ＤＢＮモデルでは各ノードに時点ｔが対応付けられる。時点はｔ＝０，１，２，…，Ｎであり、ＮはＤＢＮモデルの大きさを決める定数である。
【００５４】
図１６にはｔ−２，ｔ−１，ｔ，ｔ＋１のノードのみしか示されていないが、実際には１，２，…，ｔ−３，ｔ＋２，…，Ｎについても同様の構造を有しているものとする。各時点ｔには対応する時刻が対応付けられており、またある時点ｔに対応づけられている時刻とｔ＋１に対応づけられている時刻との差Δｔは常に一定である。Δｔの値は、例えば１分、１０分、１時間等に設定される。Δｔ＝１０分としたときの時点ｔと時刻との対応付けの例を図１７に示す。
【００５５】
図１６に示した第１のＤＢＮモデルは、以下の条件付き確率分布を定めている。  
【数１】
0005417273.tif 000002
ここで、Ｚ，Ｗ，Ｇは確率変数の集合であり、それぞれ・Ｚ＝｛ｚ０，ｚ１，…，ｚＮ｝、Ｗ＝｛Ｗ０，Ｗ１，…，ＷＮ｝、Ｇ＝｛ｇ０，ｇ１，…，ｇＮ｝で表される。π，・Ａ，Ｂ，Ｃは確率分布を定めるパラメータであり、ＤＢＮの学習処理は学習用データからこれらのパラメータを推定する処理に相当する。各確率変数が表す対象、および式（１）の右辺中に出現する確率分布については後述する。
【００５６】
続いて、図１６に示したＤＢＮモデル中に出現する確率変数ｚｔ，Ｗｔ，ｇｔについて説明する。以下では、Ｋ種類の値（ｘ１，ｘ２，…，ｘＫ）をとる確率変数をＫ次元のベクトルｘ＝（ｘ１，ｘ２，…，ｘＫ）として表現する。ｘは値ｘｋ（１≦ｋ≦Ｋ）をとるときにｘｋ＝１をとり、それ以外の成分は値０となる。
【００５７】
ｚｔは、時点ｔにおけるユーザの状態、すなわちユーザが滞留している場所もしくはユーザがある場所からある場所への遷移途中であることを表す確率変数であり、Ｍ次元のベクトルｚｔ＝｛ｚｔ１，ｚｔ２，…，ｚｔＭ｝として表される。Ｍはユーザがとりうる状態の種類の総数である。とりうる状態の総数は、先に述べたステップＳ３で生成されたすべての状態遷移系列に出現する状態の種類の総数としてもよいし、学習データとは別に予め状態の集合を与えて作成してもよい。各状態について図１８に示すように１からＭまでの状態ＩＤを割り当てる。ある時点ｔにユーザが図１８の状態ＩＤがｍ（１≦ｍ≦Ｍ）の状態にあることを、確率変数ｚｔの成分ｚｔｍが１であるとして表す。
【００５８】
Ｗｔは時点ｔに対応するイベント内容キーワードの列であり、Ｗｔ＝｛ｗｔ１，ｗｔ２，…，ｗｔ｜Ｗｔ｜｝である。｜Ｗｔ｜は時点ｔに対応する時刻におけるイベント内容キーワードの総数を表す。各ｗｔｉは時点ｔでｉ番目に出現しているキーワードを表す確率変数であり、Ｖ次元のベクトルＷｔｉ＝｛ｗｔｉ１，ｗｔｉ２，…，ｗｔｉＶ｝によって表現する。Ｖはイベントデータ中に出現し得るキーワードの種類の総数である。キーワードの総数は、例えばステップＳ６で生成されたイベント系列データに出現するキーワードの種類の総数としてもよいし、学習データとは別に予めキーワードの集合を与えて作成してもよい。
【００５９】
各キーワードについて図１９のように１からＶまでのＩＤを割り当てる。ある時点ｔに出現するイベント内容キーワードのｉ番目のキーワードが、図１９のキーワードＩＤがｖ（１≦ｖ≦Ｖ）であるキーワードであることを、確率変数ｗｔｉの成分ｗｔｉｖが１であるとして表す。例えば、時点ｔに対応する時刻におけるイベント内容キーワードが“Ａ”、“さん”、“打ち合わせ”だったとすると、Ｗｔ＝｛ｗｔ１，ｗｔ２，ｗｔ３｝であり、ｗｔ１，ｗｔ２，ｗｔ３はそれぞれ、キーワード“Ａ”に対応する成分のみが１、残りの成分が０のベクトル、キーワード“さん”に対応する成分のみが１、残りの成分が０のベクトル、キーワード“打ち合わせ”に対応する成分のみが１、残りの成分が０のベクトルとなる。
【００６０】
ｇｔは、時点ｔが対応する時間帯を表す確率変数であり、Ｒ次元のベクトルｇｔ＝｛ｇｔ１，ｇｔ２，…，ｇｔＲ｝で表わされる。Ｒは一日を分割するときの分割数であり、例えば一日を午前と午後に分けた場合にはＲ＝２となる。分割された各時間帯について、図２０に示すように１からＲまでの時間帯ＩＤが割り当てられる。ある時点ｔに対応する時刻がＩＤｒ（１≦ｒ≦Ｒ）に対応する時間帯に属しているとき、ｇｔは成分ｇｔｒのみが１、ほかの成分が０であるベクトルになる。
【００６１】
上記（１）式に出現する４種類の確率分布を、
【数２】
0005417273.tif 000003
として定義する。
【００６２】
ここで、πはＭ次元のベクトルであり、
【数３】
0005417273.tif 000004
を満たす。
【００６３】
ＡはＭ行Ｍ列の行列であり、各ｊ（１≦ｊ≦Ｍ）について
【数４】
0005417273.tif 000005
を満たす。
【００６４】
ＢはＭ行Ｖ列の行列であり、各ｊ（１≦ｊ≦Ｍ）について
【数５】
0005417273.tif 000006
を満たす。
【００６５】
ＣはＭ行Ｒ列の行列であり、各ｊ（１≦ｊ≦Ｍ）について
【数６】
0005417273.tif 000007
を満たす。
【００６６】
確率分布は、ｐ（ｚ０｜π）・は状態の初期分布を、ｐ（ｚｔ＋１｜ｚｔ，Ａ）・は時点・ｔからｔ＋１への状態の遷移確率を、ｐ（ｗｔ｜ｚｔ，Ｂ）は時点・ｔにおけるイベント内容キーワード列の出現確率を、ｐ（ｇｔ｜ｚｔ，Ｃ）・は時刻・ｔにおける時間帯の出現確率をそれぞれ示す。
【００６７】
次に、図１６に示した第１のＤＢＮモデルのパラメータ学習処理の手順と内容について図４のフローチャートを用いて説明する。学習処理は上記（１）式のパラメータＡ，Ｂ，Ｃをイベント系列データから推定する処理に相当する。パラメータπ・は予測処理に用いないため、推定は行わない。
【００６８】
パラメータ学習処理部２６は、先ずステップＳ７１で学習用のデータを構成する。学習用のデータは、ステップＳ３により生成された状態遷移系列と、ステップＳ６により生成されたイベント系列データを変換して作成した、ｔが０からＮまでのそれぞれの確率変数の値の集合Ｌ＝｛ｚ０，ｚ１，…，ｚＮ，Ｗ０，Ｗ１，…，ＷＮ，ｇ０，ｇ１，…，ｇＮ｝として与える。学習用データをベクトルに変換する場合の例を図２１に示す。図２１（ａ）はステップＳ３及びＳ６で与えられた位置遷移系列とイベント系列データである。このデータについて、時刻を図２１（ｂ）の時点ｔと時刻の対応表について変換し、図２１（ｅ）によって状態をベクトルｚｔに変換し、図２１（ｃ）によってイベント内容キーワードをベクトルの集合Ｗｔに変換し、図２１（ｄ）によって時間帯を時間帯ベクトルｇｔに変換することにより、学習データ図２１（ｆ）を得ている。
【００６９】
パラメータ学習処理部２６は、続いてステップＳ７２で、上記ステップＳ７１により得られた学習データをもとに、パラメータＡ，Ｂ，Ｃの推定値Ａ＾，Ｂ＾，Ｃ＾を最尤推定法によって以下のように推定する。  
【数７】
0005417273.tif 000008
ここで、Ｔｉｊは学習データ中でｚｔｉ＝１かつｚｔ＋１．ｊ＝１であるようなｚｔ，ｚｔ＋１の組が発生した回数、Ｅｉｊは学習データ中で状態ｚｔｉ＝１のときにキーワードｗｔｋｊ＝１（ただし１≦ｋ≦｜Ｗｔ｜であるようなｚｔ，ｗｔｋの組が発生した回数、Ｆｉｊは学習データ中でｚｔｉ＝１のときに時間帯ｇｔｊ＝１となるようなｚｔ，ｇｔの組が発生した回数である。βｅ，βｇはそれぞれの確率分布のハイパーパラメータであり、学習に先立ってこれらの値を調整することでモデルの性質を調整することができる。推定されたパラメータを出力してパラメータ学習処理を終了する。
【００７０】
（ｂ）第２のＤＢＮモデル
第２のＤＢＮモデルを図２２に示す。このモデルが表すＤＢＮの確率分布は、
【数８】
0005417273.tif 000009
である。
【００７１】
（２）式中のｚｔ，Ｗｔ，ｇｔが表すものについては第１のモデルと変わらず、加えて新たなノードｄｔを追加したモデルとなる。Ｄ＝｛ｄ１，ｄ２，…，ｄＮ｝とする。π，・Ａ，Ｂ，Ｃ，λは確率分布を定めるパラメータであり、第１のＤＢＮモデルと同様に学習処理ではこれらのパラメータをイベント系列データより推定する。
【００７２】
ｄｔは状態ｚｔに滞留する時間長さを表す確率変数であり、Ｈ次元のベクトルで表現する。ｄｔｈ＝１のとき、ユーザは現在の状態ｚｔにあとΔｔｈ時間だけ連続して滞留することを表す。図２３にこの滞留時間長の一例を示す。各滞留時間長にはそれぞれＩＤが関連付けられる。
【００７３】
（２）式の右辺は以下の６つの確率分布によって表す。  
【数９】
0005417273.tif 000010
ここで、δｉｊはｉ＝ｊのときに１を、それ以外のときに０をとる定数である。λｋは状態ｚｋでの滞在長さを表すパラメータであり、λはＨ次元のベクトルである。π，・Ａ，Ｂ，Ｃについては第１のＤＢＮモデルと同じである。
【００７４】
第２のＤＢＮモデルのパラメータ学習の手順と内容について図４を用いて説明する。  
パラメータ学習処理部２６は、先ずステップＳ７１で学習データをＬ＝｛ｚ０，ｚ１，…，ｚＮ，ｗ０，ｗ１，…，ｗＮ，ｇ１，ｇ２，…，ｇＮ，ｄ１，ｄ２，…，ｄＮ｝により構成する。学習データの作成例を図２４に示す。図２１に示した第１のＤＢＮモデルにおける学習データ作成処理の場合と同様に、図２４（ａ）より図２４（ｆ）を作成するが、その際に新たにテーブル図２４（ｇ）を用いて図２４（ｆ）にｄｔの列を追加している部分が異なっている。
【００７５】
パラメータ学習処理部２６は、続いてステップＳ７２でパラメータの推定値Ａ＾，Ｂ＾，Ｃ＾，λ＾を以下の式によって最尤推定する。  
【数１０】
0005417273.tif 000011
ここでＤｋは、ｚｔ−１，ｋ＝１かつｄｔ−１，０＝１を満たすｄｉの集合である。
【００７６】
以上の手順により第１のＤＢＮモデル又は第２のＤＢＮモデルによりイベント系列データからパラメータを学習することができる。  
制御ユニット２は、最後にステップＳ７において、上記学習処理により得られたパラメータを学習データ記憶部３５に記憶し、学習処理を終了する。
【００７７】
（２）行動予測フェーズ
さて、携帯端末ＭＳ１〜ＭＳｎの各ユーザに関する上記学習処理が終了すると、当該各ユーザの今後の行動予測が可能となる。  
行動予測フェーズになると行動予測装置ＳＶの制御ユニット２は、以下のように処理を実行する。図５はその処理手順と処理内容を示すフローチャートである。
【００７８】
（２−１）予測開始状態及び未来のスケジューラデータの取得
行動予測装置ＳＶの制御ユニット２は行動予測処理部２７を起動し、この行動予測処理部２７の制御の下で、先ずステップＳ１１により予測を開始する開始状態を表す情報の入力を受け付ける。開始状態を表す情報は、予測を開始する状態とその時刻との組により表される。例えば、位置データ取得制御部２１を起動して携帯端末ＭＳ１〜ＭＳｎからその現在位置データを受信し、この現在位置データを開始状態を表す情報とする。続いてステップＳ１２においてスケジューラデータ取得処理部２４を起動し、ユーザの行動予測を開始する時刻以降のスケジューラデータ、つまり未来のスケジューラデータを携帯端末ＭＳ１〜ＭＳｎから受信する。そして、ステップＳ１３においてスケジューラデータ変換部２５を起動し、上記受信されたスケジューラデータについて形態素解析を行ってイベントデータを生成する。
【００７９】
（２−２）確率最大遷移探索処理
行動予測処理部２７は、次にステップＳ１４において確率最大遷移探索処理を実行する。確率最大遷移探索処理は、未来のスケジューラデータと時間帯、開始状態を入力として、ＤＢＮモデルで最大の確率を与える状態遷移の系列ｚ１，ｚ２，…，ｚＮを求める処理であり、例えば隠れマルコフモデルから確率最大の状態遷移系列を求める一般的なアルゴリズムであるビタビアルゴリズムを適用することによって、効率よく求めることが可能である。確率が最大となる状態遷移系列を求める処理は、第１のＤＢＮモデルと第２のＤＢＮモデルとで異なるため、モデルごとに説明する。
【００８０】
（ａ）第１のＤＢＮモデルを利用した場合
第１のＤＢＮモデルにおける確率最大遷移探索処理は以下のように行われる。図６はその処理手順と処理内容を示すフローチャートである。  
すなわち、行動予測処理部２７は先ずステップＳ２１で変数ｔを０に初期化したのち、ステップＳ２２で開始状態をもとにｚ０についてのスコアを初期化する。状態に対するスコアをω（ｚｔｉ）と定義する。開始状態でのスコアはω（ｚ０ｉ）＝lnp（ｚ０ｋ）によって与えられる。すなわち、入力として与えられた開始状態に対応する状態ｚ０ｋについてはω（ｚ０ｋ）＝０が、その他の状態についてはω（ｚ０ｉ）＝−∞とする。
【００８１】
次にステップＳ２３においてｔの値がＤＢＮモデルの状態数Ｎ以下かどうかを調べ、Ｎ以下であるならステップＳ２４に進む。ステップＳ２４によりカウンタｉを１に設定し、ステップＳ２５でカウンタの値が状態の種類の数Ｍ以下であることを確認する。Ｍ以下であるならステップＳ２６に進む。
【００８２】
ステップＳ２６では、状態ｚｔｉに対応するスコアを計算する。スコアは
【数１１】
0005417273.tif 000012
として計算する。
【００８３】
次にステップＳ２７において、上記ステップＳ２６でω（ｚｔｉ）に最大値を与えた１つ前の状態ｚｔ−１ｊを、Ψ（ｚｔｉ）＝ｚｔ−１ｊ  として記憶しておく。Ψ（ｚｔｉ）にスコアを最大とする一つ前の状態を記憶しておくことにより、後で確率を最大にする系列を取り出すことができる。
【００８４】
続いてステップＳ２８でｉの値をインクリメント（１増加）させ、ステップＳ２５に進む。もしｉ＞ＭとなるならばステップＳ２９に移行し、時点ｔを１つ増加させ、ステップＳ２３に移行する。以上の処理を時点Ｎまで繰り返すことで、０≦ｔ≦Ｎ及び１≦ｉ≦Ｍのすべての組み合わせについてω（ｚｔｉ）及びΨ（ｚｔｉ）を計算することができる。
【００８５】
次にステップＳ３０において、時点Ｎにおける最大のスコアをとる状態ω（ｚＮｋ）を選択する。続いてｚＮ−１ｊ・・Ψ（ｚＮｋ）を計算し、その計算結果を記憶する。以下、同様に時点Ｎ−２，Ｎ−３，…，０についても同様にΨ（ｚｔｋ）によって１つ前の状態を求めていくと、確率を最大とする系列ｚ０，ｚ１，…，ｚＮが得られる。
【００８６】
（ｂ）第２のＤＢＮモデルを利用した場合
第２のＤＢＮモデルにおける確率最大遷移探索処理は以下のように行われる。図７はその処理手順と処理内容を示すフローチャートである。処理の手順と内容は第１のＤＢＮモデルを用いた場合とほぼ同じであるが、状態ｚと当該状態における滞留時間長ｄとの組に対してスコアを求めるところが異なっている。
【００８７】
すなわち、スコアはω（ｚｔｉ，ｄｔ）とする。ステップＳ３１によりカウンタｔを０で初期化し、ステップＳ３２でスコアの初期化を行う。初期状態についてはω（ｚ０ｋ，０）＝０、その他のすべての組み合わせについてω（ｚ０ｉ，ｄ０）＝−∞とおく。続いてステップＳ３３によりｔが系列の長さＮ以下であるか否かを判定し、ｔが系列の長さＮ以下であるときにステップＳ３４に移行する。
【００８８】
次にステップＳ３４によりカウンタｉ，ｊをそれぞれ１，０に初期化し、ステップＳ３５，Ｓ３６において上記カウンタｉ，ｊの値が状態数Ｍと時間長さの最大値Ｈを超えているか否かを判定する。そして、カウンタｉ，ｊが状態数Ｍと時間長さの最大値Ｈを超えていなければ、ステップＳ３７でスコアを計算する。計算式は、
【数１２】
0005417273.tif 000013
で表される。
【００８９】
次に、ステップＳ３９，Ｓ４０，Ｓ４１により各カウンタの値を増加させながら、すべてのｉ，ｊ，ｔの組み合わせについてスコア及びΨの値を計算する。そして、この計算終了後、ステップＳ４２により第１のＤＢＮモデルのときと同様に確率を最大にする系列を選択し、処理を終了する。
【００９０】
（２−３）予測結果の出力
行動予測処理部２７は、以上述べた確率最大遷移探索処理が終了すると、ステップＳ１５により予測結果出力制御部２８を起動し、上記求められた確率を最大とする系列ｚ０，ｚ１，…，ｚＮを、予め登録されているサービス事業者のサーバ又は端末へ向け、送受信ユニット１から送信させる。
【００９１】
図２５は予測結果の一例を示すもので、一定時間後までの未来の時刻とユーザの状態の組とによって表される。なお、図２５では予測される状態を滞在場所ＩＤによって表しているが、ＩＤの代わりにクラスタの座標（緯度・経度）を出力するようにしてもよいし、さらに緯度・経度を対応する住所に変換してこの変換された住所情報を出力するようにしてもよい。
【００９２】
以上詳述したようにこの実施形態では、ユーザが所持する携帯端末ＭＳ１〜ＭＳｎから取得した過去の位置データ履歴をもとに一定の時間間隔でサンプリングした状態遷移系列データを生成すると共に、同様に携帯端末ＭＳ１〜ＭＳｎから取得したスケジューラデータに基づいてイベント系列データを生成し、これらの状態遷移系列データ、イベント系列データ、時間帯を表すデータ及び各状態における滞留時間長を確率変数としてＤＢＮモデルに組み込んで、当該確率モデル中において確率分布を定めるパラメータを推定する。そして、携帯端末から取得したユーザの現在位置及び未来のスケジューラデータと、先に推定したパラメータとを確率モデルに与え、確率が最大となるときの状態遷移系列を求めて、この求められた状態遷移系列をユーザの行動予測結果を表す情報として出力するようにしている。
【００９３】
したがって、ユーザの行動予測のために事象間の確率的な共存関係を時系列で表した確率モデルを利用し、この確率モデルに、ユーザの位置データをもとに生成される状態遷移系列データと、ユーザのスケジューラデータをもとに生成されるイベント系列データと、時間帯を表す情報を確率変数として組み込むことで、確率分布を定めるパラメータが推定される。このため、この推定されたパラメータを利用することで、位置データの履歴と、スケジューラに記入された未来の予定イベントと時間帯を考慮して、ユーザの未来の行動、つまりどの時刻にどの場所に滞在するか、或いはどの場所からどの場所へ移動するかを予測することが可能となる。
【００９４】
さらに、位置データの履歴、スケジューラに記入された未来の予定イベントとその時間帯に加えて、各状態における滞留時間長をさらに考慮することで、ユーザの未来の行動をさらに高精度に予測することが可能となる。
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では学習フェーズに係わる処理と、その学習結果を使用した行動予測フェーズに係わる処理を、サーバからなる１台の行動予測装置において実現する場合を例にとって説明した。しかし、これに限定されるものではなく、学習フェーズに係わる処理を行うモデル化装置と、行動予測フェーズに係わる処理を行う予測装置とを別個に配置するようにしてもよい。この場合、予測装置はモデル化装置から通信ネットワーク、信号ケーブル又は記録媒体等の伝送媒体を介して学習結果を表す情報を取得する。そして、このモデル化装置から取得した学習結果を表す情報と、携帯端末から別途取得した過去の直近の期間における位置データ及び近未来の期間のスケジューラデータとをもとに、ユーザの行動予定を予測する処理を行う。
【００９５】
また、前記実施形態では、過去の一定期間における位置データを携帯端末内のメモリに記憶しておき、行動予測装置が携帯端末から上記記憶された一定期間分の位置データを取得するようにした。しかしそれに限らず、携帯端末は位置データが得られるごとにこの位置データを行動予測装置へ送信し、行動予測装置が上記位置データを蓄積するようにしてもよい。
【００９６】
さらに、前記実施形態では、学習フェーズに係わる処理機能と、その学習結果を使用した行動予測フェーズに係わる処理機能をサーバからなる行動予測装置に備えた場合を例にとって説明したが、上記各処理機能の少なくとも一方を携帯端末に備えるようにしてもよい。
【００９７】
さらに、位置データはＧＰＳを利用して計測する以外に、移動通信ネットワークの基地局が提供する携帯端末の位置データを利用するようにしてもよい。その他、行動予測装置の種類や構成、学習フェーズ及び行動予測フェーズにおける処理手順と処理内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【００９８】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００９９】
ＭＳ１〜ＭＳｎ…携帯端末、ＳＶ…行動予測装置、ＮＷ…通信ネットワーク、１…送受信ユニット、２…制御ユニット、３…記憶ユニット、２１…位置データ取得制御部、２２…滞在場所抽出処理部、２３…状態遷移系列作成処理部、２４…スケジューラデータ取得制御部、２５…スケジューラデータ変換部、２６…パラメータ学習処理部、２７…行動予測処理部、２８…予測結果出力制御部、３１…滞在行動データ記憶部、３２…状態遷移系列記憶部、３３…スケジューラデータ記憶部、３４…イベント系列データ記憶部、３５…学習データ記憶部。
【図１】
0005417273.tif 000014
【図２】
0005417273.tif 000015
【図３】
0005417273.tif 000016
【図４】
0005417273.tif 000017
【図５】
0005417273.tif 000018
【図６】
0005417273.tif 000019
【図７】
0005417273.tif 000020
【図８】
0005417273.tif 000021
【図９】
0005417273.tif 000022
【図１０】
0005417273.tif 000023
【図１１】
0005417273.tif 000024
【図１２】
0005417273.tif 000025
【図１３】
0005417273.tif 000026
【図１４】
0005417273.tif 000027
【図１５】
0005417273.tif 000028
【図１６】
0005417273.tif 000029
【図１７】
0005417273.tif 000030
【図１８】
0005417273.tif 000031
【図１９】
0005417273.tif 000032
【図２０】
0005417273.tif 000033
【図２１】
0005417273.tif 000034
【図２２】
0005417273.tif 000035
【図２３】
0005417273.tif 000036
【図２４】
0005417273.tif 000037
【図２５】
0005417273.tif 000038