説明

学習装置および学習方法、予測装置および予測方法、並びにプログラム

【課題】現時刻以降の将来の経路および経過時間を、より正確に予測することができるようにする。
【解決手段】マルチストリーム入力行動学習部113は、位置の時系列データと、時刻の時系列データとに基づいて、ユーザの活動状態を確率的状態遷移モデルにより学習する。確率的状態遷移モデルとしては、例えば、マルチストリームHMMが採用される。行動認識部14は、学習により得られたユーザ活動モデルを用いて、ユーザの現在地に対応する、ユーザの現在の活動状態を認識する。本発明は、例えば、確率的状態遷移モデルを用いた学習装置および予測装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置および学習方法、予測装置および予測方法、並びにプログラムに関し、特に、現時刻以降の将来の経路および経過時間を、より正確に予測することができるようにする学習装置および学習方法、予測装置および予測方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、ユーザが身に着けられるセンサであるウェアラブルセンサから得られる時系列データを用いてユーザの状態をモデル化して学習し、学習により得られたモデルを用いてユーザの現在の状態を認識する研究が盛んである(例えば、特許文献1,2、非特許文献1)。
【0003】
また、本出願人は、未来の所望の時刻におけるユーザの活動状態の複数の可能性を確率的に予測する方法を、特願2009−180780(以下、先願1という)として先に提案している。先願1の方法では、時系列データからユーザの活動状態を確率的状態遷移モデルとして学習し、学習した確率的状態遷移モデルを用いて現在の活動状態を認識し、「所定時間後」のユーザの活動状態を確率的に予測することができる。そして、「所定時間後」のユーザの活動状態の予測の一例として、ユーザの現在の位置を認識し、所定時間後のユーザの行き先(場所)を予測する例が示されている。
【0004】
さらに、本出願人は、先願1をさらに発展させ、「所定時間後」という現在時刻からの経過時間の指定がない場合であっても、複数の目的地への到達確率、経路、時間を予測する方法を、特願2009−208064(以下、先願2という)として提案した。先願2の方法では、確率モデルを構成するノードの中から、目的地のノードに対応するものを見つけることで、目的地の候補を自動的に検出することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−134080号公報
【特許文献2】特開2008−204040号公報
【非特許文献】
【0006】
【非特許文献1】“Life Patterns: structure from wearable sensors”,Brian Patrick Clarkson, Doctor Thesis, MIT, 2002
【発明の概要】
【発明が解決しようとする課題】
【0007】
先願2の方法では、例えば、ある目的地を往復する移動経路を確率モデルとして学習させた場合に、行きと帰りのいずれにおいても通過する共通地点については、行きと帰りを区別して異なるノードが割り当てられると考えられていた。
【0008】
しかし、確率モデルに設定する初期状態やノードの数、時系列データのサンプリング間隔などの設定条件によっては、行きと帰りを区別して異なるノードが割り当てられない場合があった。これにより、例えば、予測処理において、帰路の途中、共通地点から出発地点に引き返すように経路を予測するなどということがあった。帰路の途中、共通地点から出発地点に引き返すように経路を予測することを防止するためには、行きの経路を探索経路から除外するなども考えられるが、そのように経路を除外することは実際の行動に照らすと得策ではない。
【0009】
本発明は、このような状況に鑑みてなされたものであり、現時刻以降の将来の経路および経過時間を、より正確に予測することができるようにするものである。
【課題を解決するための手段】
【0010】
本発明の第1の側面の学習装置は、
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する学習手段と
を備える。
【0011】
本発明の第1の側面の学習方法は、
ユーザの活動状態を表す活動モデルを認識し、ユーザの行動を予測する予測装置で用いるための前記ユーザの活動モデルを確率的状態遷移モデルとして学習する学習装置が、
前記ユーザの位置の時系列データを取得し、
時刻の時系列データを取得し、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記ユーザの活動モデルを前記確率的状態遷移モデルとして学習する。
【0012】
本発明の第1の側面のプログラムは、
コンピュータに、
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する学習手段
として機能させるためのものである。
【0013】
本発明の第1の側面においては、ユーザの位置の時系列データが取得され、時刻の時系列データが取得され、取得された位置の時系列データと時刻の時系列データのそれぞれを入力として、ユーザの活動モデルが確率的状態遷移モデルとして学習される。
【0014】
本発明の第2の側面の予測装置は、
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、学習装置が前記ユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして学習して得られた前記ユーザの活動モデルを用いて、前記ユーザの現在地を認識する行動認識手段と、
前記行動認識手段により認識された前記ユーザの現在地から可能な経路と、その経路の選択確率を予測する行動予測手段と、
予測された前記経路と選択確率から、目的地へ到達する到達時間と到達確率を予測する到達時間予測手段と
を備える。
【0015】
本発明の第2の側面の予測方法は、
学習装置がユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして学習した前記ユーザの活動モデルを用いて予測する予測装置が、
前記ユーザの位置の時系列データを取得し、
時刻の時系列データを取得し、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記学習装置で学習した前記ユーザの活動モデルを用いて、前記ユーザの現在地を認識し、
認識された前記ユーザの現在地から可能な経路と、その経路の選択確率を予測し、
予測された前記経路と選択確率から、目的地へ到達する到達時間と到達確率を予測する。
【0016】
本発明の第2の側面のプログラムは、
コンピュータに、
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、学習装置が前記ユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして学習して得られた前記ユーザの活動モデルを用いて、前記ユーザの現在地を認識する行動認識手段と、
前記行動認識手段により認識された前記ユーザの現在地から可能な経路と、その経路の選択確率を予測する行動予測手段と、
予測された前記経路と選択確率から、目的地へ到達する到達時間と到達確率を予測する到達時間予測手段
として機能させるためのものである。
【0017】
本発明の第2の側面においては、ユーザの位置の時系列データが取得され、時刻の時系列データが取得され、取得された位置の時系列データと時刻の時系列データのそれぞれを入力として、学習装置で学習して得られたユーザの活動モデルを用いて、ユーザの現在地が認識され、認識されたユーザの現在地から可能な経路と、その経路の選択確率が予測され、予測された経路と選択確率から、目的地へ到達する到達時間と到達確率が予測される。
【0018】
学習装置および予測装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【0019】
本発明の第1の側面によれば、現時刻以降の将来の経路および経過時間を、より正確に予測する予測装置が用いる学習パラメータを学習することができる。
【0020】
本発明の第2の側面によれば、現時刻以降の将来の経路および経過時間を、より正確に予測することができる。
【図面の簡単な説明】
【0021】
【図1】先願2における予測システムの第1の構成例を示すブロック図である。
【図2】予測システムのハードウエア構成例を示すブロック図である。
【図3】予測システムに入力される時系列データの例を示す図である。
【図4】HMMの例を示す図である。
【図5】音声認識で利用されるHMMの例を示す図である。
【図6】スパース制約を与えたHMMの例を示す図である。
【図7】行動予測部による経路の探索処理の簡単な例を示す図である。
【図8】ユーザ活動モデル学習処理のフローチャートである。
【図9】到達時間予測処理のフローチャートである。
【図10】先願2における予測システムの第2の構成例を示すブロック図である。
【図11】図10の行動学習部が採用することができる構成の一例を示す図である。
【図12】予測システム1が認識する行動モードについて説明する図である。
【図13】到達時間予測処理のフローチャートである。
【図14】到達時間予測処理のフローチャートである。
【図15】本発明を適用した予測システムの第1の実施の形態のブロック図である。
【図16】本発明を適用した予測システムの第2の実施の形態のブロック図である。
【図17】本発明を適用した予測システムの第3の実施の形態のブロック図である。
【図18】パラメータ再計算部の詳細構成例を示すブロック図である。
【図19】予測システムの第3の実施の形態における学習処理を説明するフローチャートである。
【図20】予測システムの第3の実施の形態における予測処理を説明するフローチャートである。
【図21】図20のステップS123におけるパラメータ再計算処理を説明するフローチャートである。
【図22】予測システム100の第4の実施の形態における構成例の一部を示すブロック図である。
【図23】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図24】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図25】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図26】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図27】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図28】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図29】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図30】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図31】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図32】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図33】本発明を適用した予測システムの効果を検証した実験の結果について説明する図である。
【図34】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、本発明を実施するための形態(以下、実施の形態という)について説明する。なお、説明は、[背景技術]に記載した先願と対比するため、先願2で提案した方法を簡単に説明した後、本発明を適用した実施の形態について説明する。即ち、説明は、以下の順序で行う。
1.先願2の第1の実施例(目的地が指定され、指定された目的地までの経路および到達時間を予測する例)
2.先願2の第2の実施例(目的地も予測して、目的地までの経路および到達時間を予測する例)
3.本発明の第1の実施の形態(時刻と位置の時系列データを用いたマルチストリーム入力のHMMを学習モデルとした実施の形態)
4.本発明の第2の実施の形態(時刻と位置の時系列データ以外の付加情報の時系列データも用いたマルチストリーム入力のHMMを学習モデルとした実施の形態)
5.本発明の第3の実施の形態(時刻と位置の時系列データを用いたマルチストリーム入力HMMとし、その他の情報を付加的に利用した実施の形態)
6.本発明の第4の実施の形態(本発明の第3の実施の形態に、行動モードも認識するようにして、目的地も予測する実施の形態)
7.本発明の実施の形態の検証実験結果の説明
【0023】
<1.先願2の第1の実施例>
[先願2の第1の構成ブロック図]
図1は、先願2で提案した予測システムの第1の構成例を示すブロック図である。
【0024】
予測システム1は、位置取得部11、時系列データ記憶部12、行動学習部13、行動認識部14、行動予測部15、到達時間予測部16、操作部17、および表示部18により構成される。
【0025】
予測システム1は、位置取得部11により取得される現在地を示す時系列データから、ユーザの活動状態(行動・活動パターンを表した状態)を確率的状態遷移モデルとして学習する学習処理を行う。また、予測システム1は、学習処理により得られたパラメータで表される確率的状態遷移モデル(ユーザ活動モデル)を用いて、ユーザが指定した目的地までの経路および時間を予測する予測処理も行う。
【0026】
図1において、点線の矢印は、学習処理におけるデータの流れを示しており、実線の矢印は、予測処理におけるデータの流れを示している。
【0027】
位置取得部11は、例えば、GPSセンサなどにより構成され、自身の位置を示す緯度経度のデータを、一定時間間隔(たとえば、15秒間隔)で順次取得する。なお、位置取得部11が位置のデータを一定間隔に取得することができない場合もある。例えば、GPSセンサはトンネルや地下などでは人工衛星を捕捉することができず、取得間隔が長くなることもある。このような場合には、補間処理を行うことなどにより、データを補うことができる。
【0028】
位置取得部11は、学習処理においては、取得される位置(緯度経度)のデータを時系列データ記憶部12に供給する。また、位置取得部11は、予測処理においては、取得される位置のデータを行動認識部14に供給する。
【0029】
時系列データ記憶部12は、位置取得部11により連続して取得された位置のデータ、すなわち、位置の時系列データを記憶する。ユーザの行動・活動パターンを学習するので、例えば、数日分程度など、ある程度の期間について蓄積された時系列データが必要である。
【0030】
行動学習部13は、時系列データ記憶部12に記憶されている時系列データに基づいて、位置取得部11が組み込まれた機器を携行するユーザの活動状態を、確率的状態遷移モデルとして学習する。時系列データはユーザの位置を示すデータであるので、確率的状態遷移モデルとして学習されるユーザの活動状態は、ユーザの現在地の時系列変化、すなわちユーザの移動経路を表す状態となる。学習に使用される確率的状態遷移モデルとしては、例えば、エルゴディックHMM(Hidden Markov Model)などの、隠れ状態を含む確率的状態遷移モデルを採用することができる。予測システム1では、確率的状態遷移モデルとして、エルゴディックHMMにスパース制約を与えたものを採用する。なお、スパース制約を与えたエルゴディックHMM、エルゴディックHMMのパラメータの算出方法等については、図4乃至図6を参照して後述する。
【0031】
行動学習部13は、学習処理により得られた確率的状態遷移モデルのパラメータを行動認識部14および行動予測部15に供給する。
【0032】
行動認識部14は、学習により得られたパラメータの確率的状態遷移モデルを用いて、位置取得部11からリアルタイムに供給される位置の時系列データから、ユーザの現在の活動状態、すなわち、ユーザの現在地を認識する。行動認識部14は、ユーザの現在の状態ノードのノード番号を行動予測部15に供給する。
【0033】
行動予測部15は、学習により得られたパラメータの確率的状態遷移モデルを用いて、行動認識部14から供給される状態ノードのノード番号が示すユーザの現在地から、ユーザが取りうる経路を過不足なく探索(予測)する。また、行動予測部15は、探索された経路ごとの生起確率を計算することにより、探索された経路が選択される確率である選択確率を予測する。
【0034】
到達時間予測部16には、行動予測部15から、ユーザが取りうる経路と、その選択確率が供給される。また、到達時間予測部16には、操作部17から、ユーザが指定した目的地を示す情報が供給される。
【0035】
到達時間予測部16は、探索結果としてのユーザが取りうる経路から、ユーザが指定した目的地を含む経路を抽出し、抽出された各経路について目的地までの到達時間を予測する。また、到達時間予測部16は、目的地へ到達する確率である到達確率を予測する。到達時間予測部16は、目的地について複数の経路が存在する場合、その複数の経路の選択確率の和を、目的地の到達確率として算出する。目的地への経路が1つのみである場合には、その経路の選択確率が、そのまま目的地の到達確率となる。そして、到達時間予測部16は、予測結果を示す情報を表示部18に供給し、表示させる。
【0036】
操作部17は、ユーザが入力した目的地についての情報を受け付け、到達時間予測部16に供給する。表示部18は、到達時間予測部16から供給される情報を表示する。
【0037】
[予測システムのハードウエア構成例]
以上のように構成される予測システム1は、例えば、図2に示されるハードウエア構成を採用することができる。即ち、図2は、予測システム1のハードウエア構成例を示すブロック図である。
【0038】
図2において、予測システム1は、3台のモバイル端末21−1乃至21−3とサーバ22とにより構成されている。モバイル端末21−1乃至21−3は、同一機能を有する同型のモバイル端末21であるが、モバイル端末21−1乃至21−3では、それを所有するユーザが異なる。従って、図2では、3台のモバイル端末21−1乃至21−3のみが示されているが、実際には、ユーザ数に応じた数のモバイル端末21が存在する。
【0039】
モバイル端末21は、無線通信及びインターネット等のネットワークを介した通信により、サーバ22とデータの授受を行うことができる。サーバ22は、モバイル端末21から送信されてくるデータを受信し、受信したデータに対し所定の処理を行う。そして、サーバ22は、データ処理の処理結果を無線通信等によりモバイル端末21に送信する。
【0040】
従って、モバイル端末21とサーバ22は、無線または有線による通信を行う通信部を少なくとも有する。
【0041】
さらに、モバイル端末21が、図1の位置取得部11、操作部17、および表示部18を備え、サーバ22が、図1の時系列データ記憶部12、行動学習部13、行動認識部14、行動予測部15、および到達時間予測部16を備える構成を採用することができる。
【0042】
この構成が採用される場合、学習処理において、モバイル端末21が、位置取得部11により取得された時系列データを送信する。サーバ22は、受信した学習用の時系列データに基づき、ユーザの活動状態を確率的状態遷移モデルにより学習する。そして、予測処理において、モバイル端末21が、操作部17を介してユーザによって指定された目的地を送信するとともに、位置取得部11によりリアルタイムに取得される位置データを送信する。サーバ22は、学習により得られたパラメータを用いて、ユーザの現在の活動状態、すなわち、ユーザの現在地を認識し、さらに、指定された目的地までの経路および時間を処理結果としてモバイル端末21に送信する。モバイル端末21は、サーバ22から送信されてきた処理結果を表示部18に表示する。
【0043】
また例えば、モバイル端末21が、図1の位置取得部11、行動認識部14、行動予測部15、到達時間予測部16、操作部17、および表示部18を備え、サーバ22が、図1の時系列データ記憶部12および行動学習部13を備える構成を採用することができる。
【0044】
この構成が採用される場合、学習処理において、モバイル端末21が、位置取得部11により取得された時系列データを送信する。サーバ22は、受信した学習用の時系列データに基づき、ユーザの活動状態を確率的状態遷移モデルにより学習し、学習により得られたパラメータをモバイル端末21に送信する。そして、予測処理において、モバイル端末21が、位置取得部11によりリアルタイムに取得される位置データを、サーバ22から受信したパラメータを用いて、ユーザの現在地を認識し、さらに、指定された目的地までの経路および時間を演算する。そして、モバイル端末21は、演算結果としての目的地までの経路および時間を表示部18に表示する。
【0045】
以上のようなモバイル端末21とサーバ22との間の役割分担は、それぞれのデータ処理装置としての処理能力や通信環境に応じて決定することができる。
【0046】
学習処理は、処理に要する1回あたりの時間は非常に長いが、それほど頻繁に処理する必要はない。従って、一般的には、携行可能なモバイル端末21よりもサーバ22の方が処理能力が高いので、サーバ22に、一日に一回程度蓄積された時系列データに基づいて学習処理(パラメータの更新)を行わせるようにすることができる。
【0047】
一方、予測処理は、時々刻々とリアルタイムに更新される位置データに対応させて迅速に処理し、表示することが望ましいので、モバイル端末21で処理を行う方が望ましい。通信環境がリッチであれば、上述したようにサーバ22に予測処理も行わせ、予測結果のみをサーバ22から受信する方が、携行可能な小型化が要求されるモバイル端末21の負荷が軽減され、望ましい。
【0048】
また、モバイル端末21単独で、データ処理装置として学習処理および予測処理を高速に行うことが可能である場合には、図1の予測システム1の構成すべてをモバイル端末21が備えるようにすることも勿論可能である。
【0049】
[入力される時系列データの例]
図3は、予測システム1で取得された位置の時系列データの例を示している。図3において、横軸は経度を表し、縦軸は緯度を表している。
【0050】
図3に示される時系列データは、実験者の1ヶ月半程度の期間に蓄積された時系列データを示している。図3に示されるように、時系列データは、主に、自宅周辺と、勤務先などの4か所の外出先を移動したデータとなっている。なお、この時系列データには、人工衛星を捕捉できず、位置データが飛んでいるデータも含まれている。
【0051】
なお、図3に示される時系列データは、後述する検証実験に使用したデータとは別のデータ例である。
【0052】
[エルゴディックHMMについて]
次に、予測システム1が、学習モデルとして採用するエルゴディックHMMについて説明する。
【0053】
図4は、HMMの例を示している。
【0054】
HMMは、状態と状態間遷移とを有する状態遷移モデルである。
【0055】
図4は、3状態のHMMの例を示している。
【0056】
図4において(以降の図においても同様)、丸印は、状態を表し、矢印は、状態遷移を表す。なお、状態は、上述のユーザの活動状態に対応し、状態ノード、単にノードともいう。
【0057】
また、図4において、si(図4では、i=1,2,3)は、状態(ノード)を表し、aijは、状態siから状態sjへの状態遷移確率を表す。さらに、bj(x)は、状態sjへの状態遷移時に、観測値xが観測される出力確率密度関数を表し、πiは、状態siが初期状態である初期確率を表す。
【0058】
なお、出力確率密度関数bj(x)としては、例えば、正規確率分布等が用いられる。
【0059】
ここで、HMM(連続HMM)は、状態遷移確率aij、出力確率密度関数bj(x)、及び初期確率πiによって定義される。これらの状態遷移確率aij、出力確率密度関数bj(x)、及び初期確率πiを、HMMのパラメータλ={aij,bj(x), πi,i=1,2,・・・,M,j=1,2,・・・,M}という。Mは、HMMの状態数を表す。
【0060】
HMMのパラメータλを推定する方法としては、Baum-Welchの最尤推定法が広く利用されている。Baum-Welchの最尤推定法は、EMアルゴリズム(EM(Expectation-Maximization) algorithm)に基づくパラメータの推定方法である。
【0061】
Baum-Welchの最尤推定法によれば、観測される時系列データx=x1,x2,・・・,xTに基づき、その時系列データが観測(生起)される確率である生起確率から求まる尤度を最大化するように、HMMのパラメータλの推定が行われる。ここで、xtは、時刻tに観測される信号(サンプル値)を表し、Tは、時系列データの長さ(サンプル数)を表す。
【0062】
Baum-Welchの最尤推定法については、例えば、“パターン認識と機械学習(下)”,C.M.ビショップ著,P. 333(英語原書:“Pattern Recognition and Machine Learning (Information Science and Statistics) ”,Christopher M. BishopSpringer, New York, 2006.)(以下、文献Aと称する)に記載されている。
【0063】
なお、Baum-Welchの最尤推定法は、尤度最大化に基づくパラメータ推定方法ではあるが、最適性を保証するものではなく、HMMの構造やパラメータλの初期値によっては、局所解(ローカルミニマム)に収束することがある。
【0064】
HMMは、音声認識で広く利用されているが、音声認識で利用されるHMMでは、一般に、状態の数や状態遷移の仕方等はあらかじめ決定される。
【0065】
図5は、音声認識で利用されるHMMの例を示している。
【0066】
図5のHMMは、left-to-right型と呼ばれる。
【0067】
図5では、状態数は3になっており、状態遷移は、自己遷移(状態siから状態siへの状態遷移)と、左から右隣の状態への状態遷移とのみを許す構造に制約されている。
【0068】
図5のHMMのように、状態遷移に制約があるHMMに対して、図4に示した、状態遷移に制約がないHMM、すなわち、任意の状態siから任意の状態sjへの状態遷移が可能なHMMは、エルゴディック(Ergodic)HMMと呼ばれる。
【0069】
エルゴディックHMMは、構造としては最も自由度の高いHMMであるが、状態数が多くなると、パラメータλの推定が困難となる。
【0070】
例えば、エルゴディックHMMの状態数が、1000である場合、状態遷移の数は、100万(=1000×1000)となる。
【0071】
したがって、この場合、パラメータλのうちの、例えば、状態遷移確率aijについては、100万個の状態遷移確率aijを推定することが必要となる。
【0072】
そこで、状態に対して設定する状態遷移には、例えば、スパース(Sparse)な構造であるという制約(スパース制約)をかけることができる。
【0073】
ここで、スパースな構造とは、任意の状態から任意の状態への状態遷移が可能なエルゴディックHMMのような密な状態遷移ではなく、ある状態から状態遷移することができる状態が非常に限定されている構造である。なお、ここでは、スパースな構造であっても、他の状態への状態遷移は、少なくとも1つ存在し、また、自己遷移は存在することとする。
【0074】
図6は、スパース制約を与えたHMMを示している。
【0075】
ここで、図6では、2つの状態を結ぶ双方向の矢印は、その2つの状態の一方から他方への状態遷移と、他方から一方への状態遷移とを表す。また、図6において、各状態は、自己遷移が可能であり、その自己遷移を表す矢印の図示は、省略されている。
【0076】
図6では、16個の状態が、2次元空間上に格子状に配置されている。すなわち、図6では、横方向に、4個の状態が配置され、縦方向にも、4個の状態が配置されている。
【0077】
いま、横方向に隣接する状態どうしの距離、及び、縦方向に隣接する状態どうしの距離を、いずれも1とすると、図6Aは、距離が1以下の状態への状態遷移は可能とし、他の状態への状態遷移はできないというスパース制約を与えたHMMを示している。
【0078】
また、図6Bは、距離が√2以下の状態への状態遷移は可能とし、他の状態への状態遷移はできないというスパース制約を与えたHMMを示している。
【0079】
予測システム1では、位置取得部11が取得した位置データが、時系列データx=x1,x2,・・・,xTとして、時系列データ記憶部12に供給される。行動学習部13は、時系列データ記憶部12に記憶されている時系列データx=x1,x2,・・・,xTを用い、ユーザ活動モデルを表すHMMのパラメータλを推定する。
【0080】
即ち、ユーザの移動軌跡を表す各時刻の位置(緯度経度)のデータが、HMMの状態sjのいずれかに対応する地図上の一点から、所定の分散値の広がりを持って正規分布した確率変数の観測データであると考える。行動学習部13は、各状態sjに対応する地図上の一点とその分散値、および状態遷移確率aijを最適化する。
【0081】
なお、状態siの初期確率πiは、一様な値に設定することができる。例えば、M個の状態siそれぞれの初期確率πiが、1/Mに設定される。また、位置取得部11が取得した位置データに対して補間処理などの所定の処理を施した後の位置データを、時系列データx=x1,x2,・・・,xTとして、時系列データ記憶部12に供給してもよい。
【0082】
行動認識部14は、学習により得られたユーザ活動モデル(HMM)に対して、ビタビ法を適用し、位置取得部11からの位置データx=x1,x2,・・・,xTが観測される尤度を最も大にする状態遷移の過程(状態の系列)(パス)(以下、最尤パスともいう)を求める。これにより、ユーザの現在の活動状態、即ち、ユーザの現在地に対応する状態siが認識される。
【0083】
ここで、ビタビ法とは、各状態siを始点とする状態遷移のパスの中で、時刻tに、状態siから状態sjに状態遷移する状態遷移確率aijと、その状態遷移において、位置データx=x1,x2,・・・,xTのうちの時刻tのサンプル値xtが観測される確率(出力確率密度関数bj(x)から求められる出力確率)とを、処理後時系列データxの長さTに亘って累積した値(生起確率)を最大にするパス(最尤パス)を決定するアルゴリズムである。ビタビ法の詳細については上述の文献AのP.347に記載されている。
【0084】
[行動予測部15による経路の探索処理]
次に、行動予測部15による経路の探索処理について説明する。
【0085】
学習により得られたHMMの各状態siは、地図上の所定の点(位置)を表し、状態siと状態sjが結ばれているとき、状態siから状態sjを移動する経路を表していると考えることができる。
【0086】
この場合、状態siに対応する各点は、端点、通過点、分岐点、ループのいずれかに分類することができる。端点とは、自己遷移以外の確率が極めて小さく(自己遷移以外の確率が所定の値以下であり)、次に移動可能な点がない点である。通過点とは、自己遷移以外に有意な遷移が一つある、換言すれば、次に移動可能な点が一つある点である。分岐点とは、自己遷移以外に有意な遷移が二つ以上ある、換言すれば、次に移動可能な点が二つ以上ある点である。ループとは、これまで通過した経路上のどれかと一致する点である。
【0087】
目的地への経路を探索する場合、異なる経路がある場合には、それぞれの経路について必要時間等の情報を提示することが望まれる。そこで、可能な経路を過不足なく探索するために、次の条件を設定する。
(1)一度分岐した経路は再度合流した場合でも、別の経路とみなす。
(2)経路内に端点か、これまで通過した経路内に含まれる点が現れた場合、その経路の探索を終了する。
【0088】
行動予測部15は、行動認識部14により認識されたユーザの現在の活動状態、即ち、ユーザの現在の点を出発点として、次の移動先としての状態遷移が可能な点を端点、通過点、分岐点、ループのいずれかに分類することを(2)の終了条件まで繰り返す。
【0089】
行動予測部15は、現在の点が端点であると分類された場合、現在の点をここまでの経路に接続してから、この経路の探索を終了する。
【0090】
一方、現在の点が通過点であると分類された場合、行動予測部15は、現在の点をここまでの経路に接続してから、次の点へ移動する。
【0091】
また、現在の点が分岐点であると分類された場合、行動予測部15は、現在の点をこれまでの経路に接続して、さらに分岐の数だけ、これまでの経路を複製し、分岐点と接続する。そして、行動予測部15は、分岐点の1つを次の点として移動する。
【0092】
現在の点がループであると分類された場合、行動予測部15は、現在の点をこれまでの経路に接続せずに、この経路の探索を終了する。なお、現在の点から、1つ前の点に経路を逆戻りする場合はループに含まれるため考慮しない。
【0093】
[探索処理の例]
図7は、行動予測部15による経路の探索処理の簡単な例を示している。
【0094】
図7の例において、状態sが現在地である場合、最終的に3通りの経路が探索されることになる。1つめの経路は、状態sから状態s,状態s等を経由して状態s10までの経路(以下、経路Aともいう。)である。2つめの経路は、状態sから状態s,状態s11,状態s14,状態s23等を経由して状態s29までの経路(以下、経路Bともいう。)である。3つめの経路は、状態sから状態s,状態s11,状態s19,状態s23等を経由して状態s29までの経路(以下、経路Cともいう。)である。
【0095】
行動予測部15は、探索された各経路が選択される確率(経路の選択確率)を計算する。経路の選択確率は、経路を構成する状態間の遷移確率を順次乗算することで求められる。ただし、次の状態に遷移する場合のみを考慮し、その場所に滞留する場合は考慮する必要がないので、学習により求められた各状態の状態遷移確率aijから、自己遷移確率を除いて規格化された遷移確率[aij]を用いて、経路の選択確率が求められる。
【0096】
自己遷移確率を除いて規格化された遷移確率[aij]は、次式(1)で表すことができる。
【数1】

ここで、δは、クロネッカー関数を表し、添え字のiとjが一致するときのみ1となり、それ以外は0となる関数である。
【0097】
したがって、例えば、図7の状態sの状態遷移確率aijが、自己遷移確率a5,5=0.5,遷移確率a5,6=0.2,遷移確率a5,11=0.3である場合、状態sから状態sまたは状態s11に分岐する場合の遷移確率[a5,6]および遷移確率[a5,11]は、それぞれ、0.4,0.6となる。
【0098】
探索された経路の状態siのノード番号iが、(y,y,・・・,y)であるとき、この経路の選択確率P(y,y,・・・,y)は、規格化された遷移確率[aij]を用いて、次式(2)で表すことができる。
【0099】
【数2】

【0100】
実際には、通過点での規格化された遷移確率[aij]は1であるので、分岐する際の規格化された遷移確率[aij]を順次乗算すれば足りる。
【0101】
図7の例では、経路Aの選択確率は、0.4である。また、経路Bの選択確率は、0.24=0.6×0.4である。経路Cの選択確率は、0.36=0.6×0.6である。そして、計算された経路の選択確率の総和は1=0.4+0.24+0.36であり、過不足ない探索を実現することができることがわかる。
【0102】
以上のように、現在地に基づいて探索された各経路とその選択確率が、行動予測部15から到達時間予測部16に供給される。
【0103】
到達時間予測部16は、行動予測部15によって探索された経路から、ユーザが指定した目的地を含む経路を抽出し、抽出された各経路について目的地までの時間を予測する。
【0104】
例えば、図7の例では、探索された3つの経路A乃至Cのうち、目的地である状態s28を含む経路は経路Bと経路Cである。到達時間予測部16は、経路Bまたは経路Cを通って、目的地である状態s28に到達するまでの時間を予測する。
【0105】
なお、目的地を含む経路が多数あり、全ての経路を表示すると見づらくなる場合や経路の提示数が所定数に設定されている場合には、目的地を含む全ての経路のなかから、表示部18に表示させる経路(以下、適宜、表示経路ともいう。)を決定する必要がある。そのような場合、行動予測部15では、各経路について選択確率が算出されているので、到達時間予測部16は、選択確率の高い順に、所定数の経路を表示経路として決定することができる。
【0106】
現在時刻tの現在地が状態sy1であり、時刻(t,t,・・・,t)における決定された経路が(sy1,sy2,・・・,syg)であるとする。換言すれば、決定された経路の状態siのノード番号iが(y,y,・・・,y)であるとする。以下、簡単のため、位置に相当する状態siを、単に、そのノード番号iで表わす場合もある。
【0107】
現在時刻tでの現在地yは、行動認識部14の認識により確定しているので、現在時刻tの現在地がyである確率Py1(t)は1である。また、現在時刻tにy以外の他の状態にいる確率は0である。
【0108】
一方、所定の時刻tにノード番号yにいる確率Pyn(t)は、
【数3】

で表すことができる。式(3)の右辺第一項は、もともとその位置yにいて、自己遷移した場合の確率を表し、右辺第二項は、1つ前の位置yn−1から位置yに遷移してきた場合の確率を表している。式(3)では、経路の選択確率の計算とは異なり、学習により得られた状態遷移確率aijがそのまま利用される。
【0109】
目的地yへ到達するときの時刻tの予測値<t>は、「その直前の時刻tg−1に目的地yの1つ前の位置yg−1にいて、時刻tに目的地yに移動する確率」を用いて、
【数4】

と表すことができる。
【0110】
即ち、予測値<t>は、現在時刻から、「その直前の時刻tg−1に状態sygの1つ前の状態syg−1にいて、時刻tに状態sygに移動するとき」までの時間の期待値で表される。
【0111】
[ユーザ活動モデル学習処理]
次に、図8のフローチャートを参照して、ユーザの移動経路を、ユーザの活動状態を表す確率的状態遷移モデルとして学習する、ユーザ活動モデル学習処理について説明する。
【0112】
初めに、ステップS1において、位置取得部11は、位置データを取得し、時系列データ記憶部12に供給する。
【0113】
ステップS2において、時系列データ記憶部12は、位置取得部11により連続して取得された位置データ、すなわち、位置の時系列データを記憶する。
【0114】
ステップS3において、行動学習部13は、時系列データ記憶部12に記憶されている時系列データに基づいて、ユーザ活動モデルを確率的状態遷移モデルとして学習する。即ち、行動学習部13は、時系列データ記憶部12に記憶されている時系列データに基づいて、確率的状態遷移モデル(ユーザ活動モデル)のパラメータλを算出する。
【0115】
ステップS4において、行動学習部13は、ステップS3で算出された確率的状態遷移モデルのパラメータλを、行動認識部14および行動予測部15に供給し、処理を終了する。
【0116】
[到達時間予測処理]
次に、図8のユーザ活動モデル学習処理により得られたユーザ活動モデルを表す確率的状態遷移モデルのパラメータλを用いて、目的地までの経路を探索し、到達時間を算出してユーザに提示する到達時間予測処理について説明する。
【0117】
図9は、到達時間予測処理のフローチャートを示している。なお、この例では、図9の処理の前に、目的地が予め決められているものとするが、図9の処理の途中で目的地を入力するようにしてもよい。
【0118】
初めに、ステップS21において、位置取得部11は、位置の時系列データを取得し、行動認識部14に供給する。行動認識部14には、所定のサンプル数の位置の時系列データが一時的に記憶される。
【0119】
ステップS22において、行動認識部14は、学習により得られたパラメータλに基づくユーザ活動モデルから、ユーザの現在の活動状態を認識する。即ち、行動認識部14は、ユーザの現在地を認識する。そして、行動認識部14は、ユーザの現在の状態ノードのノード番号を行動予測部15に供給する。
【0120】
ステップS23において、行動予測部15は、現在探索している状態ノード(以下、適宜、現在の状態ノードともいう。)に対応する点が、端点、通過点、分岐点、またはループのいずれであるかを判定する。ステップS22の処理直後は、ユーザの現在地に対応する状態ノードが現在の状態ノードとなる。
【0121】
ステップS23で、現在の状態ノードに対応する点が端点であると判定された場合、処理はステップS24に進み、行動予測部15は、現在の状態ノードをここまでの経路に接続し、この経路の探索を終了し、ステップS31に進む。なお、現在の状態ノードが現在地に対応する状態ノードである場合、ここまでの経路は存在しないため、接続する処理は行われない。ステップS25,S27、S30でも同様である。
【0122】
ステップS23で、現在の状態ノードに対応する点が通過点であると判定された場合、処理はステップS25に進み、行動予測部15は、現在の状態ノードをここまでの経路に接続する。そして、ステップS26において、行動予測部15は、次の状態ノードを現在の状態ノードとし、移動する。ステップS26の処理後、処理はステップS23に戻る。
【0123】
ステップS23で、現在の状態ノードに対応する点が分岐点であると判定された場合、処理はステップS27に進み、行動予測部15は、現在の状態ノードをここまでの経路と接続する。そして、ステップS28において、行動予測部15は、ここまでの経路を分岐の数だけ複製し、分岐先の状態ノードと接続する。さらにステップS29において、行動予測部15は、複製した経路の1つを選択し、その選択した経路の先の状態ノードを現在の状態ノードとし移動する。ステップS29の処理後、処理はステップS23に戻る。
【0124】
一方、ステップS23で、現在の状態ノードに対応する点がループであると判定された場合、処理はステップS30に進み、行動予測部15は、現在の状態ノードをここまでの経路と接続せずに、この経路の探索を終了し、ステップS31に進む。
【0125】
ステップS31において、行動予測部15は、未探索の経路があるかを判定する。ステップS31で、未探索の経路があると判定された場合、処理はステップS32に進み、行動予測部15は、現在地の状態ノードに戻り、未探索の経路の次の状態ノードを現在の状態ノードとし移動する。ステップS32の処理後、処理はステップS23に戻る。これにより、未探索の経路について、端点またはループにより探索が終了するまで経路の探索が実行される。
【0126】
ステップS31で、未探索の経路がないと判定された場合、処理はステップS33に進み、行動予測部15は、探索された各経路の選択確率(生起確率)を計算する。行動予測部15は、各経路と、その選択確率を到達時間予測部16に供給する。
【0127】
ステップS34において、到達時間予測部16は、行動予測部15によって探索された経路から、入力された目的地を含む経路を抽出し、目的地の到達確率を算出する。具体的には、到達時間予測部16は、目的地に複数の経路が存在する場合、その複数の経路の選択確率の和を、目的地の到達確率として計算する。目的地への経路が1つしかない場合、経路の選択確率が、そのまま、目的地の到達確率とされる。
【0128】
ステップS35において、到達時間予測部16は、抽出された経路の数が提示数として予め設定された所定個数より多いかを判定する。
【0129】
ステップS35で、抽出された経路の数が所定個数より多いと判定された場合、処理はステップS36に進み、到達時間予測部16は、表示部18に表示する所定個数の経路を決定する。例えば、到達時間予測部16は、選択される可能性の高い順に、所定個数の経路を決定することができる。
【0130】
一方、ステップS35で、抽出された経路の数が所定個数以下であると判定された場合、ステップS36の処理がスキップされる。即ち、この場合、目的地に到達するための全ての経路が表示部18に表示される。
【0131】
ステップS37において、到達時間予測部16は、表示部18に表示すると決定された各経路の到達時間を計算する。そして、到達時間予測部16は、目的地の到達確率および目的地までの経路と到達時間を表示する画像の信号を表示部18に供給する。
【0132】
ステップ38において、表示部18は、到達時間予測部16から供給される画像の信号に基づいて、目的地の到達確率および目的地までの経路と到達時間を表示して、処理を終了する。
【0133】
以上のように、予測システム1の第1の構成例では、位置取得部11により取得される位置の時系列データから、ユーザの活動状態を確率的状態遷移モデルとして学習する学習処理を行う。そして、予測システム1は、学習処理により得られたパラメータλで表される確率的状態遷移モデルを用いて、入力された目的地の到達確率および目的地までの経路と到達時間を予測して、ユーザに提示する。
【0134】
したがって、予測システム1の第1の構成例によれば、ユーザが指定した目的地の到達確率および目的地までの経路とその到達時間を予測して、ユーザに提示することができる。
【0135】
<2.先願2の第2の構成例>
[先願2の第2の構成ブロック図]
図10は、先願2で提案した予測システムの第2の構成例を示すブロック図である。なお、図10において、上述した第1の構成例と対応する部分については同一の符号を付してあり、その説明は適宜省略する(その他の図についても同様)。
【0136】
図10の予測システム1は、位置取得部11、速度演算部50、時系列データ記憶部51、行動学習部52、行動認識部53、行動予測部54、目的地予測部55、操作部17、および表示部18により構成される。
【0137】
第1の構成例では、目的地はユーザが指定することとしたが、第2の構成例では、位置取得部11により取得される位置データの時系列データに基づいて、目的地も予測システム1が予測する。目的地は1つだけでなく、複数の目的地が予測されることもある。予測システム1は、予測した目的地について到達確率、経路、および到達時間を算出してユーザに提示する。
【0138】
目的地とされる自宅や勤務先、駅、買い物先、レストランなどでは、ユーザはその場所に所定時間滞在するのが一般的であり、ユーザの移動速度はほぼゼロに近い状態となる。一方、ユーザが目的地に移動している場合には、ユーザの移動速度は、移動手段に応じた特定のパターンで遷移する状態となる。従って、ユーザの移動速度の情報からユーザの行動状態、即ち、ユーザが目的地に滞在している状態(滞在状態)であるのか、または、移動している状態(移動状態)であるのかを認識し、滞在状態の場所を目的地として予測することができる。
【0139】
速度演算部50は、位置取得部11から一定時間間隔で供給される位置データから移動速度を演算する。
【0140】
具体的には、一定の時間間隔でkステップ目(k個目)に得られるときの位置データを、時刻t、経度y、緯度xと表すと、kステップ目のx方向の移動速度vxおよびy方向の移動速度vyは、次式(5)により計算することができる。
【0141】
【数5】

【0142】
式(5)では、位置取得部11から得られる緯度経度のデータをそのまま利用しているが、緯度経度を距離に変換したり、速度を時速や分速で表すように変換するなどの処理は、必要に応じて適宜行うことができる。
【0143】
また、速度演算部50は、式(5)で得られる移動速度vxおよびvyからさらに、式(6)で表されるkステップ目の移動速度vと進行方向の変化θを求め、これを利用することができる。
【0144】
【数6】

【0145】
式(6)で表される移動速度vと進行方向の変化θを利用する方が、式(5)の移動速度vxおよびvyよりも以下の点で、特徴をうまく取り出すことができる。
【0146】
1.移動速度vxおよびvyのデータの分布は、緯度経度軸に対して偏りが生じるため、同じ移動手段(電車や徒歩など)であっても角度が異なった場合に識別できない可能性があるが、移動速度vであればそのような可能性が少ない。
2.移動速度の絶対的な大きさ(|v|)だけで学習すると、機器のノイズによって生じる|v|のため、徒歩と滞在を区別できない。進行方向の変化も考慮することで、ノイズの影響を軽減することができる。
3.移動している場合は進行方向の変化が少ないが、滞在している場合は進行方向が定まらないので、進行方向の変化を使うと移動と滞在の識別がしやすい。
【0147】
以上の理由から、速度演算部50は、移動速度のデータとして、式(6)で表される移動速度vと進行方向の変化θを求め、位置データとともに、時系列データ記憶部12または行動認識部53に供給する。
【0148】
また、速度演算部50は、移動速度vと進行方向の変化θの演算を行う前に、ノイズ成分を除去するため、移動平均によるフィルタリング処理(前処理)を行う。
【0149】
なお、以下では、進行方向の変化θを、進行方向θと略記する。
【0150】
位置取得部11のなかには、移動速度を出力できるものも存在する。そのような位置取得部11が採用されている場合、速度演算部50を省略し、位置取得部11が出力する移動速度をそのまま利用することができる。
【0151】
時系列データ記憶部51は、速度演算部50から供給される位置データおよび移動速度の時系列データを記憶する。
【0152】
行動学習部52は、時系列データ記憶部51に記憶されている時系列データに基づいて、ユーザの移動軌跡と行動状態を確率的状態遷移モデルとして学習する。即ち、行動学習部52は、ユーザの現在地を認識し、目的地と、その経路および到達時間を予測するためのユーザ活動モデルを確率的状態遷移モデルとして学習する。
【0153】
行動学習部52は、学習処理により得られた確率的状態遷移モデルのパラメータλを行動認識部53、行動予測部54、および目的地予測部55に供給する。
【0154】
行動認識部53は、学習により得られたパラメータλの確率的状態遷移モデルを用いて、位置および移動速度の時系列データから、ユーザの現在地を認識する。行動認識部53は、ユーザの現在の状態ノードのノード番号を行動予測部54に供給する。
【0155】
行動予測部54は、学習により得られたパラメータλの確率的状態遷移モデルを用いて、ユーザの現在地から、ユーザが取りうる経路を過不足なく探索し、探索された経路ごとの選択確率を計算する。
【0156】
即ち、行動認識部53および行動予測部54は、移動速度の時系列データを加えることにより移動経路以外に行動状態をも学習したパラメータλを使用する点以外は、第1の構成例の行動認識部14および行動予測部15と同様である。
【0157】
目的地予測部55は、学習により得られたパラメータλの確率的状態遷移モデルを用いて、ユーザの目的地を予測する。
【0158】
具体的には、目的地予測部55は、最初に、目的地候補を列挙する。目的地予測部55は、認識されるユーザの行動状態が滞在状態となる場所を目的地候補とする。
【0159】
そして、目的地予測部55は、列挙した目的地候補のうち、行動予測部54により探索された経路上にある目的地候補を目的地に決定する。
【0160】
次に、目的地予測部55は、決定した目的地ごとの到達確率を算出する。
【0161】
目的地が多数検出された場合には、そのすべてについて表示部18に表示すると見づらくなったり、行く可能性の少ない目的地まで表示することもあり得る。したがって、第1の構成例において、探索された経路を絞り込んだのと同様に、目的地についても、到達確率の高い所定個数の目的地や、到達確率が所定値以上の目的地のみを表示するように、表示対象の目的地を絞り込むことができる。なお、目的地と経路の表示個数は異なっていても構わない。
【0162】
表示対象の目的地が決定された場合、目的地予測部55は、目的地までの経路の到達時間を計算し、表示部18に表示させる。
【0163】
なお、目的地までの経路が多数存在する場合には、目的地予測部55は、第1の構成例と同様に、選択確率に基づいて目的地への経路を所定個数に絞り込んだ上で、表示経路の到達時間のみを計算することができる。
【0164】
また、目的地までの経路が多数存在する場合、選択される可能性の高い順で表示経路を決定する以外に、到達時間の短い順や、目的地までの距離の短い順に、表示経路を決定することも可能である。到達時間の短い順に表示経路を決定する場合には、例えば、目的地予測部55は、最初に、目的地までの経路の全てについて到達時間を計算し、計算された到達時間に基づいて、表示経路を決定する。目的地までの距離の短い順に表示経路を決定する場合には、例えば、目的地予測部55は、最初に、目的地までの経路の全てについて、状態ノードに対応する緯度経度の情報に基づいて目的地までの距離を計算し、計算された距離に基づいて、表示経路を決定する。
【0165】
[行動学習部52の詳細構成例]
図11は、図10の行動学習部52が採用することができる構成の一例を示している。
【0166】
行動学習部52は、時系列データ記憶部51に記憶されている位置および移動速度の時系列データを用いて、ユーザの移動軌跡と行動状態を同時に学習する。
【0167】
行動学習部52は、学習データ変換部61と統合学習部62により構成されている。
【0168】
学習データ変換部61は、状態系列生成部71と行動モード生成部72により構成される。状態系列生成部71は、位置の時系列データを、状態ノードsiの時系列データ(状態系列データ)に変換して、統合学習部62に供給する。行動モード生成部72は、移動速度のデータを、行動モードの時系列データ(行動モード系列データ)に変換して、統合学習部62に供給する。
【0169】
時系列データ記憶部12から供給される位置の時系列データは、状態系列生成部71に供給される。状態系列生成部71は、図1の行動認識部14と同様の構成を採用することができる。即ち、状態系列生成部71は、学習により得られたパラメータλに基づくユーザ活動モデルから、入力されたユーザの現在地に対応する、ユーザの現在の活動状態を認識する。そして、状態系列生成部71は、認識結果としてのユーザの現在の状態ノードsiを、順次、統合学習部62に供給する。
【0170】
時系列データ記憶部12から供給される移動速度の時系列データは、行動モード生成部72に供給される。行動モード生成部72は、ユーザの行動状態を確率的状態遷移モデルとして学習して得られたパラメータλを用いて、供給される移動速度に対応するユーザの行動状態を認識し、認識結果を、順次、行動モードとして統合学習部62に供給する。行動モード生成部72が認識するユーザの行動状態としては、少なくとも滞在状態と移動状態が存在する必要がある。また、移動状態の行動モードを、さらに徒歩、自転車、車などの移動手段によって分類することができる。
【0171】
[行動モードの分類]
図12は、行動モード生成部72が認識するユーザの行動状態(行動モード)について説明する図である。
【0172】
図12に示されるように、まず、ユーザの行動状態は、滞在状態と移動状態に分類することができる。予測システム1では、行動モード生成部72が認識するユーザの行動状態としては、上述したように、少なくとも滞在状態と移動状態が存在する必要があるので、この2つに分類することは必須である。
【0173】
さらに、移動状態は、移動手段によって、電車、車(バスなども含む)、自転車、徒歩に分類することができる。電車は、さらに、特急、快速、ローカルなどに分類することができ、車は、さらに、高速、一般道などに分類することができる。また、徒歩は、走る、普通、散歩などに分類することができる。
【0174】
予測システム1では、ユーザの行動状態を、図12において斜線で示される“滞在”、“電車(快速)”、“電車(ローカル)”、“車(高速)”、“車(一般道)”、“自転車”、および“徒歩”に分類することとする。なお、“電車(特急)”は、学習データが得られなかったため省略した。
【0175】
行動モードの分類の仕方が図12に示した例に限定されるものではないことは言うまでもない。また、移動手段による移動速度の変化はユーザによって大きく異なるものではないので、学習データとしての移動速度の時系列データは、認識対象のユーザのものである必要はない。
【0176】
図11に戻り、統合学習部62は、複数の事象(モーダル)の時系列データを確率的状態遷移モデルにより統合学習する。統合学習部62には、第1の事象の時系列データとして、状態系列データが供給され、第2の事象の時系列データとして、行動モード系列データが供給される。従って、統合学習部62は、状態系列データと行動モード系列データとを用いて、ユーザの活動状態を表す確率的状態遷移モデルとしてのマルチストリームHMMのパラメータλを学習する。
【0177】
マルチストリームHMMは、通常のHMMと同様な遷移確率を有する状態ノードから、複数の異なる確率法則に従うデータが出力されるようなHMMである。マルチストリームHMMでは、パラメータλのうち、観測確率パラメータとしての出力確率密度関数bj(x)が時系列データごとに別々に用意され、更新される。
【0178】
第1の事象の時系列データの出力確率密度関数b1j(x)が、平均μ、標準偏差σxsの正規確率分布であり、第2の事象の時系列データの出力確率密度関数b2j(x)が、平均μ、標準偏差σysの正規確率分布であるとすると、時刻tの第1の事象の時系列データのxと第2の事象の時系列データのyが、状態sから出力されたとする尤度P(s|x,y)は、次式(7)で与えられる。
【0179】
【数7】

【0180】
式(7)において、wおよびwは、重みであり、第1および第2の事象の時系列データが学習モデルに寄与する度合いを表す。この重みwおよびwは、対数尤度で考えると、各事象の対数尤度の線形結合であるといえる。従って、マルチストリームHMMでは、各状態sの尤度が、各ストリームに対して学習モデルの状態が持つ尤度を対数尤度で線形結合したものとなっている。
【0181】
なお、シングルストリームの入力である通常のHMMにおける状態sの尤度は、式(7)において、yの項がなく、重みwを0としたものに相当する。
【0182】
観測確率パラメータとしての出力確率密度関数bj(x)が時系列データごとに別々に更新される点と、式(7)により尤度が計算される点を除いて、学習処理は、通常のHMMと同様である。
【0183】
この例では、時系列データが、状態系列データと行動モード系列データの2つであるので、統合学習部62のマルチストリームHMMでは、地図上のインデックスと行動モードが関連付けられた形でユーザの活動状態が学習(統合学習)される。
【0184】
より具体的には、統合学習部62は、各状態ノードの確率(どの状態ノードが出力されるかの確率)と、各状態ノードの出力する行動モードの確率(どの行動のモードが出力されるかの確率)を学習する。学習により得られた統合モデル(マルチストリームHMM)によれば、”滞在状態”の行動モードが確率的に出力されやすい状態ノードが求められる。そして、認識された状態ノードから、目的地候補の場所を認識することができる。さらに、目的地候補の場所が示す緯度経度分布から、目的地の位置を認識することができる。
【0185】
以上のように、観測される行動モードが“滞在状態”になる確率が高い状態ノードの示す位置がユーザの滞在場所であると推定される。そして、上述したように、“滞在状態”となる場所は多くの場合、目的地であるから、この滞在場所を目的地として推定することができる。
【0186】
統合学習部62は、学習により得られた、ユーザの活動状態を表すマルチストリームHMMのパラメータλを、行動認識部14、行動予測部15、および到達時間予測部16に供給する。
【0187】
なお、上述した例では、状態系列生成部71と行動モード生成部72において、HMMによりモデル化することで、時系列データ記憶部12から供給される位置および移動速度の時系列データを、状態系列データと行動モード系列データに変換するようにした。
【0188】
しかし、これ以外の方法によって、位置および移動速度のデータを、状態系列データと行動モード系列データに変換するようにしてもよい。例えば、行動モードについては、位置取得部11とは別に、加速度センサやジャイロセンサ等のモーションセンサを用いて、加速度等の検出結果から、ユーザの移動の有無を検出し、行動モードを判定した判定結果を取得するようにしてもよい。この場合、行動モード生成部72は省略することができる。
【0189】
[目的地到達時間予測処理]
次に、図13および図14のフローチャートを参照して、図10の予測システム1による目的地到達時間予測処理について説明する。
【0190】
即ち、図13および図14は、位置および移動速度の時系列データから、目的地を予測し、かつ、目的地までの経路および到達時間を算出してユーザに提示する目的地到達時間予測処理のフローチャートである。
【0191】
図13のステップS51乃至ステップS63の処理は、ステップS51で取得する時系列データが、位置と移動速度のデータである以外は、図9に示した到達時間予測処理のステップS21乃至S33と同様であるので、その説明は省略する。
【0192】
図13のステップS51乃至ステップS63の処理により、ユーザの現在地が認識され、そこからユーザが取りうる経路が過不足なく探索され、各経路の選択確率が計算された後、処理は、図14のステップS64に進む。
【0193】
ステップS64において、目的地予測部55は、ユーザの目的地を予測する。具体的には、目的地予測部55は、最初に、目的地候補を列挙する。目的地予測部55は、ユーザの行動状態が滞在状態となる場所を目的地候補とする。そして、目的地予測部55は、列挙した目的地候補のうち、行動予測部54により探索された経路上にある目的地候補を目的地に決定する。
【0194】
ステップS65において、目的地予測部55は、目的地ごとの到達確率を計算する。即ち、目的地予測部55は、複数の経路が存在する目的地については、その複数の経路の選択確率の和を、目的地の到達確率として計算する。1つの経路しかない目的地については、経路の選択確率が、そのまま、目的地の到達確率とされる。
【0195】
ステップS66で、目的地予測部55は、予測された目的地の数が所定個数より多いかを判定する。ステップS66で、予測された目的地の数が所定個数より多いと判定された場合、処理はステップS67に進み、目的地予測部55は、表示部18に表示する所定個数の目的地を決定する。例えば、目的地予測部55は、目的地の到達確率の高い順に、所定個数の経路を決定することができる。
【0196】
一方、ステップS66で、予測された目的地の数が所定個数以下であると判定された場合、ステップS67はスキップされる。即ち、この場合、予測された目的地のすべてが表示部18に表示される。
【0197】
ステップS68において、目的地予測部55は、行動予測部54によって探索された経路から、予測された目的地を含む経路を抽出する。複数の目的地が予測されている場合には、予測された目的地それぞれについて、経路が抽出される。
【0198】
ステップS69において、目的地予測部55は、抽出された経路の数が提示数として予め設定された所定個数より多いかを判定する。
【0199】
ステップS69で、抽出された経路の数が所定個数より多いと判定された場合、処理はステップS70に進み、目的地予測部55は、表示部18に表示する所定個数の経路を決定する。例えば、目的地予測部55は、選択される可能性の高い順に、所定個数の経路を決定することができる。
【0200】
一方、ステップS69で、抽出された経路の数が所定個数以下であると判定された場合、ステップS70の処理がスキップされる。即ち、この場合、目的地に到達するための全ての経路が表示部18に表示される。
【0201】
ステップS71において、目的地予測部55は、表示部18に表示すると決定された各経路の到達時間を計算し、目的地の到達確率および目的地までの経路と到達時間を表示する画像の信号を表示部18に供給する。
【0202】
ステップS72において、表示部18は、目的地予測部55から供給される画像の信号に基づいて、目的地の到達確率および目的地までの経路と到達時間を表示して、処理を終了する。
【0203】
以上のように、図10の予測システム1によれば、位置および移動速度の時系列データから、目的地を予測し、かつ、目的地の到達確率および目的地までの経路と到達時間を算出してユーザに提示することができる。
【0204】
[先願2の方法による問題]
先願2の方法において、一般に、HMMによる学習モデルは、入力された位置の時系列データについて、単なる緯度経度の値を学習するのではなく、その前後関係の時間的つながりをも学習するものである。従って、例えば、ある目的地を往復する移動経路をHMMに学習させた場合に、行きと帰りのいずれにおいても通過する共通地点については、行きと帰りを区別して異なるノードが割り当てられると考えられていた。
【0205】
しかし、学習モデル(HMM)に設定する初期状態やノードの数、時系列データのサンプリング間隔などの設定条件によっては、行きと帰りを区別して異なるノードが割り当てられない場合があった。これにより、例えば、予測処理において、帰路の途中、共通地点から出発地点に引き返すように経路を予測するなどということがあった。
【0206】
<3.本発明の第1の実施の形態>
そこで、帰路の途中、共通地点から出発地点に引き返すように経路を予測することを防ぎ、上述した先願2の方法よりも、より正確に、現時刻以降の将来に、現時刻以降の将来の経路および経過時間を予測することができる実施の形態について説明する。即ち、本発明の実施の形態について説明する。
【0207】
[本発明の第1の実施の形態のブロック図]
図15は、本発明を適用した予測システムの第1の実施の形態のブロック図である。
【0208】
図15において、上述した図1と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【0209】
図1に示した予約システム1では、位置(緯度経度)の時系列データのみに基づいて、ユーザの活動状態が学習された。これに対して、図15の予約システム100では、位置の時系列データと、時刻の時系列データの2つの時系列データに基づいて、ユーザの活動状態が学習される。なお、本実施の形態においても学習モデルとしては、スパース制約を与えたHMMが採用される。
【0210】
図15の予測システム100は、位置取得部11、行動認識部14、行動予測部15、到達時間予測部16、操作部17、表示部18、時刻取得部111、時系列データ記憶部112、およびマルチストリーム入力行動学習部113により構成される。
【0211】
時刻取得部111は、学習処理においては、現在時刻を順次取得し、時系列データ記憶部112に供給する。一方、時刻取得部111は、予測処理においては、現在時刻を順次取得し、行動認識部14に供給する。位置取得部11が、たとえば、GPSセンサで構成されている場合、一般的に、GPSセンサは時刻も取得できるので、時刻取得部111も、GPSセンサにより構成することができる。勿論、その他の時計機能を有する装置やセンサを使用することも可能である。
【0212】
時系列データ記憶部112は、位置取得部11から供給される位置の時系列データと、時刻取得部111から供給される時刻の時系列データを記憶する。そして、時系列データ記憶部112は、マルチストリーム入力行動学習部113に、時刻と位置の時系列データを供給する。
【0213】
マルチストリーム入力行動学習部113は、位置の時系列データと、時刻の時系列データとに基づいて、ユーザの活動状態を確率的状態遷移モデルにより学習し、その結果得られるパラメータλを行動認識部14および行動予測部15に供給する。
【0214】
ここで、位置の時系列データと時刻の時系列データは、異なる性質の時系列データであるため、マルチストリーム入力行動学習部113は、図11の統合学習部62と同様、マルチストリームHMMのパラメータλを学習する。即ち、上述した第1の事象の時系列データが位置の時系列データに対応し、第2の事象の時系列データが時刻の時系列データに対応する。
【0215】
行動認識部14には、予測処理において、位置取得部11から位置の時系列データと、時刻取得部111から時刻の時系列データが供給される。
【0216】
行動認識部14は、学習により得られたユーザ活動モデル(マルチストリームHMM)により、ユーザの現在地に対応する、ユーザの現在の活動状態を認識する。行動予測部15は、認識されたユーザの現在地から経路を探索する。到達時間予測部16は、行動予測部15によって探索された経路から、ユーザが指定した目的地を含む経路を抽出し、抽出された各経路について目的地までの時間を予測する。
【0217】
図15の予測システム100による学習処理は、学習対象のユーザ活動モデルを表す確率的状態遷移モデルがマルチストリームHMMである点以外は図8と同様であるので、その説明を省略する。
【0218】
また、図15の予測システム100による予測処理も、ユーザ活動モデルがマルチストリームHMMである点以外は図9と同様であるので、その説明を省略する。
【0219】
図15の予測システム100の第1の実施の形態によれば、予測処理において、リアルタイムに供給される位置と時刻の時系列データに最も近い状態ノードがユーザの現在の活動状態として認識される。例えば、学習モデルは、行きと帰りでは異なる時刻として学習しているので、行きと帰りでは、別々の状態ノードが認識される。従って、リアルタイムに取得される現在時刻に最も近い状態ノードを探索することにより、行きの移動中において、帰りの経路を予測するようなことはない。即ち、現時刻以降の将来の経路および経過時間を、より正確に予測することができ、また、そのための学習パラメータを学習することができる。
【0220】
<4.本発明の第2の実施の形態>
[本発明の第2の実施の形態のブロック図]
次に、本発明を適用した予測システムの第2の実施の形態について説明する。
【0221】
図16は、本発明を適用した予測システムの第2の実施の形態のブロック図である。
【0222】
図16において、上述した図15と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【0223】
図15に示した予測システム100の第1の実施の形態では、位置と時刻の時系列データのみに基づいて、ユーザの活動状態がスパース制約を与えたHMMにより学習された。さらに、ユーザの活動状態を学習する学習モデルに、より多くの情報を与えれば、より詳しく、ユーザの活動状態を識別することができる。
【0224】
そこで、図16の予測システム100の第2の実施の形態では、マルチストリームHMMは、時刻と位置の時系列データ以外の、曜日、交通状況、気象状況などの付加情報の時系列データも入力として受け付け、学習する。
【0225】
図16の予測システム100は、図15の予測システム100と比較して、曜日取得部121、交通状況取得部122、および気象状況取得部123が新たに設けられている。また、図15の時系列データ記憶部112およびマルチストリーム入力行動学習部113に代えて、時系列データ記憶部124およびマルチストリーム入力行動学習部125が設けられている。
【0226】
曜日取得部121は、現時点の曜日を一定間隔で順次取得する。学習処理では、取得された曜日の時系列データは、時系列データ記憶部124に供給される。一方、予測処理では、取得された曜日の時系列データは、行動認識部14に供給される。
【0227】
交通状況取得部122は、現時点の交通状況を一定間隔で順次取得する。学習処理では、取得された交通状況の時系列データは、時系列データ記憶部124に供給される。一方、予測処理では、取得された交通状況の時系列データは、行動認識部14に供給される。
【0228】
気象状況取得部123は、現時点の気象状況を一定間隔で順次取得する。学習処理では、取得された気象状況の時系列データは、時系列データ記憶部124に供給される。一方、予測処理では、取得された気象状況の時系列データは、行動認識部14に供給される。
【0229】
曜日取得部121、交通状況取得部122、および気象状況取得部123は、例えば、曜日、交通状況、および気象状況の各情報を提供するサーバに接続し、それらの情報を取得する通信装置により構成することができる。なお、位置取得部11、時刻取得部111、曜日取得部121、交通状況取得部122、および気象状況取得部123のそれぞれが情報を取得するときの取得間隔は、同一である必要はない。
【0230】
時系列データ記憶部124は、各部から供給される、位置、時刻、曜日、交通状況、および気象状況の時系列データを記憶し、マルチストリーム入力行動学習部125に供給する。
【0231】
なお、本実施の形態では、位置および時刻の時系列データ以外に、曜日、交通状況、および気象状況の3つの時系列データをマルチストリーム入力行動学習部125に入力するものとするが、曜日、交通状況、および気象状況のいずれか1つまたは2つでもよい。
【0232】
曜日、交通状況、および気象状況の各時系列データは、独立に行動認識部14および時系列データ記憶部124に供給される。ただし、図16では、図を見やすくするため、時系列データの供給線を1本に統合して示している。この点については、後述する図17についても同様である。
【0233】
マルチストリーム入力行動学習部125は、入力される複数のマルチストリームに基づいて、ユーザの活動状態を確率的状態遷移モデルにより学習し、その結果得られるパラメータλを行動認識部14および行動予測部15に供給する。即ち、マルチストリーム入力行動学習部125には、位置、時刻、曜日、交通状況、および気象状況の時系列データが供給され、5つのマルチストリームを入力とするマルチストリームHMMの学習を行う。
【0234】
予測システム100の第2の実施の形態における学習処理および予測処理は、図15の第1の実施の形態と同様である。
【0235】
図16の予測システム100の第2の実施の形態によれば、時刻と位置の時系列データ以外の、曜日、交通状況、気象状況などの付加情報の時系列データも含めて、学習処理および予測処理が実行される。従って、上述した時刻の時系列データで判別可能な行きと帰り以外に、例えば、曜日によって移動経路が異なる場合、天気や渋滞状況によって移動経路が異なる場合などにおいて、別々の状態ノードとして認識させることができる。具体的には、自宅から最寄り駅に向かって移動している場合、平日であれば、会社を目的地と予測し、休日であれば会社以外の場所を目的地とすることが可能である。
【0236】
即ち、予測システム100の第2の実施の形態によれば、現時刻以降の将来の経路および経過時間を、より正確に予測することができ、また、そのための学習パラメータを学習することができる。
【0237】
しかし、マルチストリームHMMに入力し、学習させる時系列データ(ストリーム)の数が増えると、当然ながら、状態ノードの数も増やす必要があり、学習にかかる時間も増大する。曜日、交通状況、気象状況などの付加情報について、所定の条件ごとに時刻と位置の時系列データを分類し、条件ごとに個別に学習モデルを学習し、現時点の条件に合致する学習モデルを選択して予測する方法があるが、各学習モデルのノード数の総数と同程度の数が必要になる。
【0238】
また、ユーザの行動を決定する上での、曜日などの付加情報の時系列データの重み(式(7)の重みw,wに相当)は、時刻と位置の時系列データと同じではなく、また、ユーザや、行動の種類、日によってその重みが変わることも考えられる。
【0239】
<5.本発明の第3の実施の形態>
そこで、学習モデル(マルチストリームHMM)には、時刻と位置の時系列データのみを入力として学習させ、曜日、交通状況、気象状況などの付加情報を付加的な条件として与えることにより、付加情報を考慮し、かつ、より簡単、正確に、予測することができる実施の形態について説明する。
【0240】
[本発明の第3の実施の形態のブロック図]
図17は、本発明を適用した予測システムの第3の実施の形態のブロック図である。
【0241】
図17において、上述した図15または図16と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【0242】
図17の予測システム100の第3の実施の形態では、供給される時系列データから、学習モデルのパラメータλを求める学習装置は、時系列データ記憶部141、マルチストリーム入力行動学習部113、および状態系列生成部142を含んで構成される。
【0243】
一方、供給される時系列データから、ユーザの目的地までの経路とその到達時間を予測する予測装置は、状態系列分類部143、パラメータ再計算部144、行動認識部145、行動予測部146を含んで構成される。
【0244】
時系列データ記憶部141は、学習処理において、各部から供給される、位置、時刻、曜日、交通状況、および気象状況の時系列データを記憶する。時系列データ記憶部141は、位置および時刻の時系列データを、マルチストリーム入力行動学習部113に供給し、曜日などの付加情報の時系列データを、状態系列分類部143に供給する。
【0245】
マルチストリーム入力行動学習部113は、上述した第1の実施の形態と同様に、位置と時刻の時系列データに基づいて、ユーザ活動モデルを学習する。ユーザ活動モデルとしては、確率的状態遷移モデルとしてのマルチストリームHMMが採用される。学習の結果得られたマルチストリームHMMのパラメータλは、状態系列生成部142に供給される。
【0246】
状態系列生成部142は、時系列データ記憶部141から供給される位置と時刻の時系列データを、認識された状態ノードの時系列データ(以下、状態系列データとも称する。)に変換して、状態系列分類部143に供給する。具体的には、状態系列生成部142は、マルチストリーム入力行動学習部113から供給されたパラメータλに基づくユーザ活動モデルから、ユーザのその時点での活動状態を認識する。そして、状態系列生成部142は、認識結果としてのユーザの状態ノードを、順次、状態系列分類部143に供給する。
【0247】
状態系列分類部143には、学習処理において、時系列データ記憶部141から、曜日などの付加情報の時系列データと、位置および時刻の時系列データが供給される。また、状態系列分類部143には、学習処理において、付加情報を含む位置および時刻の時系列データに対応する状態系列データが、状態系列生成部142から供給される。
【0248】
状態系列分類部143は、付加情報を含む位置および時刻の時系列データと状態系列データとを対応付けて、内部の記憶部に記憶する。これにより、状態系列分類部143は、学習データとして使用された位置および時刻の時系列データに対応する状態系列データが、どのような付加条件(付加情報により決定される条件)のときのデータであるかを認識している。
【0249】
一方、予測処理では、状態系列分類部143に、リアルタイムの付加情報の時系列データが供給される。即ち、状態系列分類部143に、曜日取得部121、交通状況取得部122、および気象状況取得部123から、それぞれ、現時点の曜日、交通状況、および気象状況の時系列データが供給される。
【0250】
状態系列分類部143は、学習処理時に記憶しておいた状態系列データと位置および時刻の時系列データのなかから、供給されるリアルタイムの付加条件に合致する状態系列データと位置および時刻の時系列データのみを選択し、パラメータ再計算部144に供給する。
【0251】
パラメータ再計算部144は、予測処理において、統計的処理のみによってマルチストリームHMMのパラメータλを再計算する。即ち、パラメータ再計算部144は、全ての付加条件の位置と時刻の時系列データに対して求めたマルチストリームHMMのパラメータλを、現時点の付加情報に合致する位置と時刻の時系列データのみを用いて再計算する。なお、実際には、現時点の付加情報に合致する位置と時刻の時系列データに対応する状態系列データを用いてパラメータλが再計算される。パラメータ再計算部144のパラメータ再計算処理によって計算されたパラメータλを、再計算パラメータλ’とする。
【0252】
以上のように、状態系列分類部143とパラメータ再計算部144は、予測処理に使用される学習モデルのパラメータを計算するものであることから、状態系列分類部143とパラメータ再計算部144は、学習装置の一部であるということもできる。
【0253】
行動認識部145には、予測処理において、位置取得部11から位置の時系列データと、時刻取得部111から時刻の時系列データが供給される。行動認識部145は、パラメータ再計算部144から供給された再計算パラメータλ’によるユーザ活動モデル(マルチストリームHMM)を用いて、ユーザの現在地に対応する、ユーザの現在の活動状態を認識する。従って、行動認識部145は、位置の時系列データと時刻の時系列データのみを用いて、ユーザの現在の活動状態を認識する。
【0254】
行動予測部146は、パラメータ再計算部144から供給された再計算パラメータλ’によるユーザ活動モデルを用いて、ユーザの現在地から取り得る経路を探索する。到達時間予測部16は、行動予測部15によって探索された経路から、ユーザが指定した目的地を含む経路を抽出し、抽出された各経路について目的地までの時間を予測する。
【0255】
[パラメータ再計算部144の構成例]
図18は、パラメータ再計算部144の詳細構成例を示している。
【0256】
パラメータ再計算部144は、現時点の付加情報に合致する位置と時刻の時系列データに対応する状態系列データを用いてパラメータλを再計算する。
【0257】
パラメータ再計算部144は、遷移頻度カウント部161、遷移パラメータ計算部162、状態頻度カウント部163、時系列データ分類部164、および観測パラメータ計算部165により構成されている。
【0258】
遷移頻度カウント部161は、状態系列分類部143から供給される状態系列データを対象として、各状態遷移の頻度をカウントする。即ち、遷移頻度カウント部161は、状態ノードsiから状態ノードsjに移動する経路の頻度(カウント値)をnijと表すと、状態系列分類部143から供給される状態系列データを対象として、各状態遷移の頻度nij(i=1乃至N,j=1乃至N,Nは、時系列データの最後のノード番号(=ノード数))を求める。
【0259】
遷移パラメータ計算部162は、HMMの状態遷移確率aijに対応する遷移パラメータを計算する。具体的には、遷移パラメータ計算部162は、遷移頻度カウント部161から供給される各状態遷移の頻度nijを基に、式(8)により、遷移確率Aijを計算する。
【0260】
【数8】

【0261】
式(8)により、状態遷移が生じていない遷移確率Aijはゼロとなる。通常のHMMを用いた学習モデルでは、繰り返し回数を十分に大きくしなければ、過去発生しなかった遷移の確率を小さくすることができない。しかし、式(8)によれば、状態遷移が生じていない遷移確率Aijをゼロとすることができるという特徴がある。この特徴は、将来の経路の可能性を探索していくアルゴリズムにおいて、不要な経路の探索を削減するために重要なメリットとなる。
【0262】
遷移パラメータ計算部162は、計算された遷移確率Aijを、HMMの状態遷移確率aijに対応する遷移パラメータとして出力する。
【0263】
状態頻度カウント部163は、状態系列分類部143から供給される状態系列データを対象として、状態頻度をカウントする。即ち、状態頻度カウント部163は、状態系列分類部143から供給される状態系列データを対象として、各状態ノードsiの総数cntiをカウントする。カウント結果である各状態ノードsiの総数cntiは、観測パラメータ計算部165に供給される。
【0264】
時系列データ分類部164には、状態系列分類部143から、状態系列データと位置および時刻の時系列データが供給される。
【0265】
時系列データ分類部164は、状態系列分類部143からから順次供給される位置データxを、状態ノードごとに分類し、グループ化する。状態siにおける位置データの集合データXは、次式(9)で表すことができる。
【0266】
【数9】

【0267】
状態ノードsiの総数がcntiであるので、集合データXの要素の個数はcntiとなる。なお、集合データXの各要素である位置のデータxは、詳しくは、緯度と経度からなる2次元のデータであるが1次元のように省略して表している。
【0268】
また、時系列データ分類部164は、状態系列分類部143からから順次供給される時刻データtを、状態ノードごとに分類し、グループ化する。状態ノードsiにおける時刻データの集合データTは、次式(10)で表すことができる。
【0269】
【数10】

【0270】
式(10)における集合データTの要素の個数もcntiである。
【0271】
時系列データ分類部164は、以上のように、位置と時刻の時系列データを状態ノードごとに分類した分類結果を観測パラメータ計算部165に供給する。換言すれば、時系列データ分類部164は、各状態ノードの集合データXと集合データTを観測パラメータ計算部165に供給する。
【0272】
観測パラメータ計算部165は、位置と時刻の時系列データそれぞれの観測パラメータを計算する。
【0273】
位置の時系列データの観測パラメータとして、観測パラメータ計算部165は、状態頻度カウント部163からの状態ノードsiの総数cntiと時系列データ分類部164からの集合データXを用いて、状態ノードsiの平均値μ1と標準偏差σ1を計算する。
【0274】
【数11】

【0275】
この状態ノードsiの平均値μ1と標準偏差σ1は、状態ノードsiにおける位置データxの観測確率であり、上述したマルチストリーム入力行動学習部113(図17)が出力するマルチストリームHMMの出力確率密度関数b1(x)に対応する。
【0276】
また、観測パラメータ計算部165は、時刻の時系列データの観測パラメータとして、状態頻度カウント部163からの状態ノードsiの総数cntiと時系列データ分類部164からの集合データTを用いて、状態ノードsiの平均値μ2と標準偏差σ2を計算する。
【0277】
【数12】

【0278】
この状態ノードsiの平均値μ2と標準偏差σ2は、状態ノードsiにおける時刻データtの観測確率であり、上述したマルチストリーム入力行動学習部113(図17)が出力するマルチストリームHMMの出力確率密度関数b2(x)に対応する。
【0279】
なお、要素数が少ない場合を考慮して、標準偏差σ1およびσ2については、所定の値よりも大きいようにする制約を設けてもよい。あるいは、マルチストリーム入力行動学習部113で学習された標準偏差を流用するようにしてもよい。
【0280】
パラメータ再計算部144は、以上の構成を採用することにより、状態系列生成部142から供給される状態系列データと位置および時刻の時系列データから、マルチモーダルの確率的状態遷移モデルのパラメータを演算することができる。
【0281】
[予測システム100の第3の実施の形態における学習処理]
次に、図19のフローチャートを参照して、予測システム100の第3の実施の形態における学習処理について説明する。なお、この処理の開始前には、学習データとしての、付加情報を含む位置および時刻の時系列データが時系列データ記憶部141に既に記憶されているものとする。
【0282】
初めに、ステップS101において、マルチストリーム入力行動学習部113は、時系列データ記憶部141に記憶されている位置と時刻の時系列データに基づいて、ユーザ活動モデルを学習する。即ち、マルチストリーム入力行動学習部113は、時系列データ記憶部141に記憶されている位置と時刻の時系列データに基づいて、マルチストリームHMMのパラメータλを算出する。算出されたマルチストリームHMMのパラメータλは、状態系列生成部142に供給される。
【0283】
ステップS102において、状態系列生成部142は、マルチストリーム入力行動学習部113から供給されたパラメータλでなるユーザ活動モデルに基づいて、時系列データ記憶部141からの位置と時刻の時系列データを、状態系列データに変換して、状態系列分類部143に供給する。
【0284】
ステップS103において、時系列データ記憶部141は、状態系列生成部142に供給した位置と時刻の時系列データを、付加情報も含めた形で、状態系列分類部143に供給する。状態系列分類部143は、時系列データ記憶部141からの付加情報を含む位置および時刻の時系列データと、状態系列生成部142からの状態系列データとを対応付けて、内部の記憶部に記憶し、学習処理を終了する。
【0285】
[予測システム100の第3の実施の形態における学習処理]
次に、図20のフローチャートを参照して、予測システム100の第3の実施の形態における予測処理について説明する。
【0286】
初めに、ステップS121において、状態系列分類部143は、現時点の付加情報を取得する。そして、ステップS122において、状態系列分類部143は、学習処理時に記憶しておいた状態系列データと位置および時刻の時系列データから、現時点の付加情報に合致する状態系列データと位置および時刻の時系列データのみを選択し、パラメータ再計算部144に供給する。
【0287】
ステップS123において、パラメータ再計算部144は、現時点の付加情報に合致するように、学習処理においてマルチストリーム入力行動学習部113が計算したマルチストリームHMMのパラメータλを再計算するパラメータ再計算処理を実行する。パラメータ再計算処理では、選択された状態系列データと位置および時刻の時系列データを用いた統計的処理によって、マルチストリームHMMのパラメータλが再計算される。パラメータ再計算部144は、再計算により得られた再計算パラメータλ’を、行動認識部145と行動予測部146に供給する。
【0288】
ステップS124において、行動認識部145は、位置取得部11から供給される位置の時系列データと、時刻取得部111から供給される時刻の時系列データを取得する。
【0289】
ステップS125において、行動認識部145は、パラメータ再計算部144から供給された再計算パラメータλ’によるユーザ活動モデルを用いて、ユーザの現在の活動状態を表す状態ノードを認識することで、ユーザの現在地を認識する。この処理は、上述したステップS22(図8)の処理と同様である。
【0290】
ステップS126において、行動予測部146は、パラメータ再計算部144から供給された再計算パラメータλ’によるユーザ活動モデルを用いて、ユーザの現在地から取り得る経路を探索する。また、行動予測部146は、探索された各経路の選択確率を計算する。この処理は、上述したステップS23乃至S33(図8)の処理と同様である。
【0291】
ステップS127において、到達時間予測部16は、行動予測部146によって探索された経路から、入力された目的地を含む経路を抽出し、目的地の到達確率を算出する。また、到達時間予測部16は、目的地までの各経路の到達時間を計算する。この処理は、上述したステップS34乃至S37(図8)の処理と同様である。
【0292】
ステップS128において、表示部18は、目的地の到達確率および目的地までの経路と到達時間を表示して、処理を終了する。この処理は、上述したステップS38(図8)の処理と同様である。
【0293】
[パラメータ再計算処理]
次に、図21のフローチャートを参照して、図20のステップS123におけるパラメータ再計算処理について説明する。
【0294】
初めに、ステップS141において、遷移頻度カウント部161は、状態系列分類部143から供給される状態系列データを対象として、各状態遷移の頻度nijをカウントする。即ち、遷移頻度カウント部161は、状態ノードsiから状態ノードsjに移動する経路の頻度(カウント値)をnijと表すと、状態系列分類部143から供給される状態系列データを対象として、各状態遷移の頻度nij(i=1乃至N,j=1乃至N,Nは、時系列データの最後のノード番号(=ノード数))を求める。
【0295】
ステップS142において、遷移パラメータ計算部162は、HMMの状態遷移確率aijに対応する遷移パラメータAijを計算する。具体的には、遷移パラメータ計算部162は、遷移頻度カウント部161から供給される各状態遷移の頻度nijを基に、式(8)により、遷移確率Aijを計算する。
【0296】
ステップS143において、状態頻度カウント部163は、状態系列分類部143から供給される状態系列データを対象として、状態頻度cntiをカウントする。即ち、状態頻度カウント部163は、状態系列分類部143から供給される状態系列データを対象として、各状態ノードsiの総数cntiをカウントする。カウント結果である各状態ノードsiの総数cntiは、観測パラメータ計算部165に供給される。
【0297】
ステップS143の処理は、上述したステップS141およびS142の処理より先に実行してもよいし、ステップS141およびS142の処理と並行して実行してもよい。
【0298】
ステップS144において、時系列データ分類部164は、状態系列分類部143からから位置および時刻の時系列データを、状態ノードごとに分類する。即ち、時系列データ分類部164は、状態系列分類部143からから順次供給される位置データxを、状態ノードごとに分類し、グループ化する。また、時系列データ分類部164は、状態系列分類部143からから順次供給される時刻データtを、状態ノードごとに分類し、グループ化する。
【0299】
ステップS145において、観測パラメータ計算部165は、位置と時刻の時系列データそれぞれの観測パラメータを計算する。観測パラメータ計算部165は、位置の時系列データの観測パラメータとして、状態ノードsiの平均値μ1と標準偏差σ1を計算する。また、観測パラメータ計算部165は、時刻の時系列データの観測パラメータとして、状態ノードsiの平均値μ2と標準偏差σ2を計算する。
【0300】
観測パラメータ計算部165は、計算された位置と時刻の時系列データそれぞれの観測パラメータを、行動認識部145と行動予測部146に供給して、図20に戻り、ステップS124に進む。
【0301】
図20および図21の予測処理において、ステップS122とS123の処理はデータの選択と統計処理の演算であるから、再計算パラメータλ’は瞬時に計算することができる。従って、曜日、交通状況、気象状況などの付加情報を付加的な条件を考慮しつつ、目的地までの経路、到達時間等の予測を、より簡単かつ正確に行うことができる。
【0302】
<6.本発明の第4の実施の形態>
上述した予測システム100の第1乃至第3の実施の形態は、先願2の予測システム1の第1の構成例に対応する形態である。即ち、目的地はユーザによって指定され、予測システム100は、指定された目的地の到達確率および目的地までの経路と到達時間を予測する形態である。
【0303】
しかし、予測システム100の第1乃至第3の実施の形態も、目的地をも予測する先願2の予測システム1の第2の構成例に対応する形態とすることが可能である。即ち、予測システム100の第4の実施の形態は、上述した予測システム100の第1乃至第3の実施の形態いずれかと予測システム1の第2の構成例との組み合わせで実現できる。
【0304】
上述した予測システム100の第1または第2の実施の形態を、目的地も予測するようにした実施の形態とするためには、位置および時刻の時系列データの他に、移動速度の時系列データを取得し、行動モードの時系列データ(行動モード系列データ)を加えたマルチストリームHMMの学習を行うようにすればよい。そして、予測処理では、入力されたユーザの移動速度の時系列データから行動モードを認識して、滞在状態の場所を目的地として予測することができる。さらに、予測した目的地について到達確率、経路、および到達時間を算出して、ユーザに提示することができる。
【0305】
[本発明の第4の実施の形態のブロック図]
図22は、予測システム100の第3の実施の形態(図17)を、目的地も予測するようにした形態(以下、予測システム100の第4の実施の形態という。)の、パラメータ再計算処理に関係する部分のブロック図を示している。
【0306】
予測システム100の第4の実施の形態では、位置および時刻の時系列データの他に、移動速度の時系列データが取得され、時系列データ141に記憶される。そして、図22に示されるように、時系列データ141に記憶された移動速度の時系列データを、行動モードの時系列データ(行動モード系列データ)に変換するための行動モード生成部181が新たに設けられる。行動モード生成部181は、例えば、図11の行動モード生成部72と同様の構成を採用することができる。
【0307】
状態系列分類部143は、付加情報を含む位置および時刻の時系列データと、行動モード系列データおよび状態系列データとを対応付けて、内部の記憶部に記憶する。
【0308】
そして、予測処理において、状態系列分類部143は、供給されるリアルタイムの付加条件に合致する、行動モード系列データおよび状態系列データ、並びに、位置および時刻の時系列データを選択し、パラメータ再計算部144に供給する。状態系列データは、パラメータ再計算部144の、遷移頻度カウント部161、状態頻度カウント部163、および時系列データ分類部164に供給される。位置および時刻の時系列データと行動モード系列データは、時系列データ分類部164に供給される。
【0309】
パラメータ再計算部144における位置と時刻の時系列データの観測パラメータは、上述した式(11)乃至式(14)で計算される。
【0310】
一方、行動モードの時系列データの観測パラメータは、次のようにして計算される。
【0311】
時系列データ分類部164は、状態系列分類部143からから順次供給される行動モードmを、状態ノードごとに分類し、グループ化する。状態ノードsiにおける行動モードmの集合データMは、次式(15)で表すことができる。
【0312】
【数13】

【0313】
式(15)における集合データMの要素の個数もcntiである。
【0314】
観測パラメータ計算部165は、行動モードの時系列データの観測パラメータとして、状態ノードsiにおける行動モードの集合データMに対し、次式(16)で表される各行動モードmの出現頻度P(s|m)を算出する。
【0315】
【数14】

【0316】
式(16)において、N(M=m)は、集合データMのなかでの行動モードmの個数を表す。なお、上述した式(11)乃至(14)のように、平均値と標準偏差ではなく、確率で求められるのは、行動モードが連続量ではなく離散値であるためである。
【0317】
観測パラメータ計算部165は、位置および時刻の時系列データと行動モードの観測確率である、各状態の平均値μ1と標準偏差σ1および平均値μ2と標準偏差σ2の他、出現頻度P(s|m)を、観測パラメータとして出力する。
【0318】
予測システム100の第4の実施の形態における予測処理では、以上のようにして再計算されたパラメータλ’を用いて、目的地予測部55(図10)が目的地を予測し、目的地ごとの到達確率を算出する。
【0319】
<7.本発明の実施の形態の検証実験結果の説明>
[予測システム100の第1の実施の形態の検証]
図23乃至図33を参照して、本発明を適用した予測システム100の効果について説明する。なお、図23乃至図33に示す実験は、移動速度の時系列データも入力ストリームとして学習モデル(マルチストリームHMM)に与え、目的地も予測するようにした実施の形態により行った。
【0320】
最初に、図23と図24を参照して、先願2の予測システムの第2の構成例(図10)と、予測システム100の第1の実施の形態(図22)を移動速度の時系列データも入力ストリームとして目的地も予測するようにした実施の形態とを比較する。
【0321】
図23は、図10に示した先願2の予測システムの第2の構成例による予測結果を示している。即ち、図10の予測システム1が、ユーザの現在地から、目的地、並びに、目的地までの経路、到達確率、および到達時間を予測した結果を示している。
【0322】
一方、図24は、予測システム100の第1の実施の形態(図15)を移動速度の時系列データも入力ストリームとして目的地も予測するようにした実施の形態による予測結果を示している。
【0323】
図23および図24において、実際のユーザの行動(予測結果に対応する真値)として、現在地から、矢印で示される進行方向に従ってコンビニエンスストア(以下、コンビニと称する。)より先にある自宅に向かっていることがわかっている。
【0324】
予測システム1は、図23に示されるように、予測結果として、会社の方に50%の確率で5.5分後に戻るか、あるいは、コンビニに50%の確率で3.9分後に寄り道することを出力している。
【0325】
従って、予測システム1は、現在値に対応する状態ノードか、あるいは、現在地から予測された将来通過するだろう状態ノードのいずれかが、行きと帰りの両方の経路を共有するため、現在地の状態ノードから逆向きの経路を予測して、会社へ戻ることも予測している。
【0326】
これに対して、図24に示される予測システム100は、現在地から、自宅に100%の確率で、10分後に到達することを予測している。予測システム100では、行きと帰りで時刻が異なることを利用して、行きと帰りでは、同じ地点に対して別々の状態ノードが割り振られる。従って、予測を行った時刻は0時20分であるが、現在地に対応する状態ノードには、単に緯度経度が近いというだけではなく、時刻0時ごろにある状態ノードが選ばれる。その結果、帰り道の予測のみを行うように、予測結果が改善されている。
【0327】
[予測システム100の第3の実施の形態の検証]
次に、図25乃至図33を参照して、予測システム100の第1の実施の形態(図15)を移動速度の時系列データも入力ストリームとして目的地も予測するようにした形態と、予測システム100の第4の実施の形態(図22)とを比較する。
【0328】
図25は、予測システム100の第1の実施の形態(図15)を目的地も予測するようにした形態において、学習処理後のユーザ行動モデルを地図上に示した図である。この学習データには、平日と休日の両方のユーザの行動が含まれているが、第1の実施の形態では、平日と休日を区別した学習はできない。
【0329】
図25の学習処理後のユーザ行動モデルを参照すると、ユーザの主な目的地として、自宅、会社、のほかに、目的地1、目的地2、目的地3などが検出されている。
【0330】
図26は、図25のユーザ行動モデルを用いて、ある「平日」のユーザの行動を予測した予測結果を示している。
【0331】
図26においては、実際のユーザの行動(予測結果に対応する真値)として、ユーザは、現在地から目的地1へ向かって矢印の進行方向に従って進んでいることがわかっている。
【0332】
目的地も予測する予測システム100の第1の実施の形態で予測処理を行った予測結果は、次の通りである。
(1) 目的地1に17%の到達確率で、14.8分後に到着
(2) 目的地3に6%の到達確率で、50.7分後に到着
(3) 目的地4に11%の到達確率で、13分後に到着
(4) 目的地5に17%の到達確率で、11.4分後に到着
【0333】
図23の予測結果のような、来た道を逆向きに戻るような予測は無いものの、真値である目的地1の到達確率が低く、必ずしもよい予測結果とはいえない。
【0334】
図27は、図26の予測結果を、状態遷移が見易いように書き換えた図である。
【0335】
図27の黒い太線は、現在地ノードまでに経由した状態ノード(通過経路)を表している。また、グレイの太線は、予測経路であり、予測経路の先の丸が目的地の状態ノードである。黒い細線は、状態ノード間の接続を表す。
【0336】
図27によれば、現在地よりも左側の予測経路が入り組んでいて、これが複数の目的地、予測経路を表示する原因になっていることがわかった。
【0337】
図28は、予測システム100の第4の実施の形態(図22)で、「平日」の状態系列データについてパラメータを再計算したときの学習処理後のユーザ行動モデルを地図上に示した図である。
【0338】
図28では、自宅と会社を行き来するような経路のみが出現しており、このユーザの場合、平日は、ほとんど自宅と会社を行き来するような経路であることが学習されている。また、このユーザ行動モデルでは、平日の夕方に目的地1などに寄り道する経路などが出現している。実際のユーザは、平日であっても、祝日などの理由で会社に行かず、目的地1に行くことがあった。
【0339】
これに対して、図28では、目的地3などに行く経路は出現していない。目的地2については、平日は普通、通り過ぎることがほとんどであり、図28においても、目的地としては認識されていないような結果となっている。
【0340】
図29は、予測システム100の第4の実施の形態(図22)で、「平日」のユーザの行動を予測した予測結果を示している。換言すれば、図26の現在地と同一の位置から、予測システム100の第4の実施の形態(図22)で予測したときの予測結果を示している。
【0341】
図29を参照すると、予測された目的地候補は目的地1のみに絞られている。このように、平日という条件で分類することで、一つの目的地に限定することができた。これは、平日という条件で、ユーザが現在地から移動する場合、目的地1に行って戻る例しか経験しなかったことによる。
【0342】
図30は、図29の予測結果を、状態遷移が見易いように書き換えた図である。
【0343】
図27と図30を比較すると、使われている状態ノードが少なくなっていることわかり、特に、現在地から目的地1にかけて、図27では入り組んでいた部分が簡潔になっていることがわかる。このように、付加情報によってパラメータを再計算させることにより、候補を絞り込むことができ、より正確な予測を行なうことが可能になる。
【0344】
図31は、予測システム100の第4の実施の形態(図22)で、「休日」の状態系列データについてパラメータを再計算したときの学習処理後のユーザ行動モデルを地図上に示した図である。
【0345】
図31では、このユーザの学習データでは、休日に会社に行くことは一度も無く、その結果、会社の付近に向かう経路が無いユーザ活動モデルが生成されている。
【0346】
図32は、予測システム100の第4の実施の形態(図22)で、「休日」のユーザの行動を予測した予測結果を示している。換言すれば、図26の現在地と同一の位置から、予測システム100の第4の実施の形態(図22)で予測したときの予測結果を示している。
【0347】
図32を参照すると、図29と同様、予測された目的地候補は目的地1のみに絞られている。
【0348】
図33は、図32の予測結果を、状態遷移が見易いように書き換えた図である。
【0349】
図29と図32だけを参照すると、同じような予測結果に見えるが、図30と図33を比較すると、「平日」と「休日」で異なる経路で予測されていることがわかる。即ち、「平日」と「休日」でそれぞれ別々の状態系列を予測することが可能であることが確認できる。
【0350】
以上のように、本発明を適用した予測システム100によれば、現時刻以降の将来の経路および経過時間を、より正確に予測することができ、また、そのための学習パラメータを学習することができる。
【0351】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0352】
図34は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0353】
コンピュータにおいて、CPU(Central Processing Unit)201,ROM(Read Only Memory)202,RAM(Random Access Memory)203は、バス204により相互に接続されている。
【0354】
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、ドライブ210、およびGPSセンサ211が接続されている。
【0355】
入力部206は、キーボード、マウス、マイクロホンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体212を駆動する。GPSセンサ211は、上述した位置取得部11および時刻取得部111に対応する。
【0356】
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを、入出力インタフェース205及びバス204を介して、RAM203にロードして実行することにより、上述した一連の処理が行われる。
【0357】
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体212に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0358】
コンピュータでは、プログラムは、リムーバブル記録媒体212をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
【0359】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0360】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【0361】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0362】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0363】
11 位置取得部, 14 行動認識部, 15 行動予測部, 16 到達時間予測部, 100 予測システム, 111 時刻取得部, 112 時系列データ記憶部, 113 マルチストリーム入力行動学習部, 121 曜日取得部, 122 交通状況取得部, 123 気象状況取得部, 124 時系列データ記憶部, 125 マルチストリーム入力行動学習部, 141 時系列データ記憶部, 142 状態系列生成部, 143 状態系列分類部, 144 パラメータ再計算部, 145 行動認識部, 146 行動予測部, 161 遷移頻度カウント部, 162 遷移パラメータ計算部, 163 状態頻度カウント部, 164 時系列データ分類部, 165 観測パラメータ計算部, 181 行動モード生成部, 201 CPU, 202 ROM, 203 RAM, 208 記憶部

【特許請求の範囲】
【請求項1】
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する学習手段と
を備える学習装置。
【請求項2】
曜日の時系列データを取得する曜日取得手段をさらに備え、
前記学習手段は、前記曜日の時系列データをさらに入力として加え、前記ユーザの活動状態を表す活動モデルを学習する
請求項1に記載の学習装置。
【請求項3】
交通状況の時系列データを取得する交通状況取得手段か、または、
気象状況の時系列データを取得する気象状況取得手段の少なくとも一方をさらに備え、
前記学習手段は、前記交通状況または前記気象状況の少なくとも一方の時系列データをさらに入力として加え、前記ユーザの活動状態を表す活動モデルを学習する
請求項2に記載の学習装置。
【請求項4】
前記ユーザの位置と前記時刻以外の1種類以上の付加情報の時系列データを取得する付加情報取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データを、前記学習手段により学習された前記ユーザの活動モデルに入力し、前記ユーザの活動モデルの状態ノードの時系列データを出力することにより、前記位置の時系列データと前記時刻の時系列データから、前記状態ノードの時系列データを生成する状態系列生成手段と、
前記付加情報取得手段により取得された前記付加情報の時系列データと、前記状態系列生成手段が生成した前記状態ノードの時系列データを対応付けて記憶し、前記学習手段により学習された前記ユーザの活動モデルを用いて現時点の前記ユーザの活動モデルを予測する場合に、記憶した時系列データのなかから、前記付加情報取得手段で取得された現時点の前記付加情報に対応する前記状態ノードの時系列データのみを選択する選択手段と、
前記選択手段により選択された前記状態ノードの時系列データを用いて、統計的処理により、前記ユーザの活動モデルのパラメータを再計算する再計算手段と
をさらに備える
請求項1に記載の学習装置。
【請求項5】
ユーザの活動状態を表す活動モデルを認識し、ユーザの行動を予測する予測装置で用いるための前記ユーザの活動モデルを確率的状態遷移モデルとして学習する学習装置が、
前記ユーザの位置の時系列データを取得し、
時刻の時系列データを取得し、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記ユーザの活動モデルを前記確率的状態遷移モデルとして学習する
学習方法。
【請求項6】
コンピュータに、
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記ユーザの活動状態を表す活動モデルを、確率的状態遷移モデルとして学習する学習手段
として機能させるためのプログラム。
【請求項7】
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、学習装置が前記ユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして学習して得られた前記ユーザの活動モデルを用いて、前記ユーザの現在地を認識する行動認識手段と、
前記行動認識手段により認識された前記ユーザの現在地から可能な経路と、その経路の選択確率を予測する行動予測手段と、
予測された前記経路と選択確率から、目的地へ到達する到達時間と到達確率を予測する到達時間予測手段と
を備える予測装置。
【請求項8】
曜日の時系列データを取得する曜日取得手段をさらに備え、
前記学習装置は、前記曜日の時系列データをさらに入力として加え、前記ユーザの活動モデルを学習し、
前記行動認識手段および前記行動予測手段は、前記曜日の時系列データをさらに入力として加えて学習して得られた前記ユーザの活動モデルを用いる
請求項7に記載の予測装置。
【請求項9】
前記ユーザの位置と前記時刻以外の1種類以上の付加情報の時系列データを取得する付加情報取得手段と、
学習用データとしての前記位置の時系列データと前記時刻の時系列データを、学習された前記ユーザの活動モデルに入力し、前記ユーザの活動モデルの状態ノードの時系列データを出力することにより、前記位置の時系列データと前記時刻の時系列データから前記学習装置の状態系列生成手段が生成した前記状態ノードの時系列データを、前記学習用データとしての前記位置の時系列データと前記時刻の時系列データが取得されたときの付加情報の時系列データに対応付けて記憶し、記憶した時系列データのなかから、前記付加情報取得手段で取得された現時点の前記付加情報に対応する前記状態ノードの時系列データのみを選択する選択手段と、
前記選択手段により選択された前記状態ノードの時系列データを用いて、統計的処理により、前記ユーザの活動モデルのパラメータを再計算する再計算手段と
をさらに備える
請求項7に記載の予測装置。
【請求項10】
前記学習装置は、前記ユーザの位置に加えて、移動速度の時系列データも用いて、前記ユーザの活動モデルを学習し、
前記行動認識手段は、前記ユーザの移動速度の時系列データをさらに入力として、学習して得られた前記ユーザの活動モデルを用いて、少なくとも移動状態と滞在状態に区別される前記ユーザの行動状態も認識し、
前記到達時間予測手段は、さらに、前記ユーザの行動状態が前記滞在状態になる状態ノードを、前記目的地として予測する
請求項9に記載の予測装置。
【請求項11】
学習装置がユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして学習した前記ユーザの活動モデルを用いて予測する予測装置が、
前記ユーザの位置の時系列データを取得し、
時刻の時系列データを取得し、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、前記学習装置で学習した前記ユーザの活動モデルを用いて、前記ユーザの現在地を認識し、
認識された前記ユーザの現在地から可能な経路と、その経路の選択確率を予測し、
予測された前記経路と選択確率から、目的地へ到達する到達時間と到達確率を予測する
予測方法。
【請求項12】
コンピュータに、
ユーザの位置の時系列データを取得する位置取得手段と、
時刻の時系列データを取得する時刻取得手段と、
取得された前記位置の時系列データと前記時刻の時系列データのそれぞれを入力として、学習装置が前記ユーザの活動状態を表す活動モデルを確率的状態遷移モデルとして学習して得られた前記ユーザの活動モデルを用いて、前記ユーザの現在地を認識する行動認識手段と、
前記行動認識手段により認識された前記ユーザの現在地から可能な経路と、その経路の選択確率を予測する行動予測手段と、
予測された前記経路と選択確率から、目的地へ到達する到達時間と到達確率を予測する到達時間予測手段
として機能させるためのプログラム。

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

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate


【公開番号】特開2011−118777(P2011−118777A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−277000(P2009−277000)
【出願日】平成21年12月4日(2009.12.4)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】