(57)【要約】【課題】情報の収集に関するコストを抑制しながらも、任意の対象者の行動の予測を可能にする。【解決手段】複数の被験者に付与した第１のセンサと予測対象者の行動をイベントとして検出する第２のセンサとを備え、第１のセンサから収集した行動に関する情報と、第２のセンサが検出したイベントから予測対象者の行動を予測する行動予測方法であって、計算機が、第１のセンサから行動に関する情報を連続的に収集して濃いデータとして蓄積し、蓄積した濃いデータから被験者の行動内容を時系列的に結合した行動モデルを生成し、第２のセンサが検出したイベントを薄いデータとして収集したイベントのうち予測対象者のイベントを抽出し、予め設定した定義に基づいて、前記抽出したイベントに対応する行動内容を特定し、特定した行動内容が一致する行動モデルを特定し、当該特定した行動モデルに含まれる行動内容を前記予測対象者の行動として選択する。【選択図】図２
2010211679.tif 000002
【特許請求の範囲】
【請求項１】
複数の被験者に付与した第１のセンサと、予測対象者の行動をイベントとして検出する第２のセンサと、前記第１のセンサと第２のセンサに接続された計算機と、を備えて、前記複数の被験者に付与した第１のセンサから収集した行動に関する情報と、第２のセンサが検出した予測対象者のイベントから前記予測対象者の行動を予測する行動予測方法であって、
前記計算機が、前記複数の被験者に付与した第１のセンサから行動に関する情報を連続的に収集して濃いデータとして蓄積するステップと、
前記計算機が、前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成するステップと、
前記計算機が、前記第２のセンサが検出したイベントを薄いデータとして収集するステップと、
前記計算機が、前記収集したイベントのうち予測対象者のイベントを抽出するステップと、
前記計算機が、予め設定した定義に基づいて、前記抽出したイベントに対応する行動内容を特定するステップと、
前記計算機が、前記特定した行動内容と前記行動モデルとを比較して、前記イベントに対応する行動内容が一致する行動モデルを抽出するステップと、
前記計算機が、前記抽出した行動モデルに含まれる行動内容を前記予測対象者の行動として選択するステップと、
を含むことを特徴とする行動予測方法。
【請求項２】
前記計算機が、前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成するステップは、
前記被験者の１日の行動内容を当該行動内容の開始時刻と終了時刻を設定して時系列に結合して行動モデルを生成し、前記結合した行動モデルのうち行動内容の出現順序が異なる行動モデルから状態遷移グラフを生成し、
前記計算機が、前記第２のセンサが検出したイベントを薄いデータとして収集するステップは、
前記第２のセンサが検出したイベントと当該イベントの発生時刻を収集し、
前記計算機が、前記収集したイベントのうち予測対象者のイベントを抽出するステップは、
前記予測対象者のイベントのうち１日のイベントをイベント列として抽出し、
前記計算機が、前記特定した行動内容と前記行動モデルとを比較して、前記イベントに対応する行動内容が一致する行動モデルを抽出するステップは、
前記イベント列と前記状態遷移グラフを比較して、前記イベント列を構成するイベントのそれぞれについて、各イベントに対応する行動内容の開始時刻と終了時刻の間に前記イベントの発生時刻が含まれる状態遷移グラフのマッチ度数を加算し、状態遷移グラフのうち最もマッチ度数の高いものを抽出することを特徴とする請求項１に記載の行動予測方法。
【請求項３】
前記計算機が、前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成するステップは、
前記被験者の１日の行動内容を当該行動内容の開始時刻と終了時刻を設定して時系列的に結合して行動モデルを生成し、前記結合した行動モデルのうち行動内容の出現順序が異なる行動モデルから状態遷移グラフを生成するステップと、
前記行動内容のうち、第１の行動内容から第２の行動内容へ遷移する確率を遷移確率として演算するステップと、
前記遷移確率を状態遷移グラフに付加するステップと、
を含み、
前記計算機が、前記第２のセンサが検出したイベントを薄いデータとして収集するステップは、
前記第２のセンサが検出したイベントと当該イベントの発生時刻を収集し、
前記計算機が、前記収集したイベントのうち予測対象者のイベントを抽出するステップは、
前記予測対象者のイベントのうち１日のイベントをイベント列として抽出し、
前記計算機が、前記特定した行動内容と前記行動モデルとを比較して、前記イベントに対応する行動内容が一致する行動モデルを抽出するステップは、
前記イベント列と前記状態遷移グラフを比較して、前記イベント列を構成するイベントのそれぞれについて、各イベントに対応する行動内容の開始時刻と終了時刻の間に前記イベントの発生時刻が含まれる状態遷移グラフのマッチ度数を加算し、状態遷移グラフのうち最もマッチ度数の高いものを特定し、
前記計算機が、前記特定した行動モデルに含まれる行動内容を前記予測対象者の行動として選択するステップは、
前記抽出した行動モデルに含まれる行動内容と、当該行動内容に遷移する遷移確率を前記予測対象者の行動として選択することを特徴とする請求項１に記載の行動予測方法。
【請求項４】
前記第２のセンサは、
不揮発性記憶部を備えたＩＣカードを検出し、前記不揮発性記憶部に対して読み書きを行い、
前記計算機が、前記抽出した行動モデルに含まれる行動内容を前記予測対象者の行動として選択するステップは、
前記予測対象者の行動として選択した行動内容を前記第２のセンサに送信し、前記第２のセンサに前記行動内容を前記不揮発性記憶部に書き込ませることを特徴とする請求項１に記載の行動予測方法。
【請求項５】
複数の被験者に付与した第１のセンサと、
予測対象者の行動をイベントとして検出する第２のセンサと、
前記第１のセンサと第２のセンサに接続された計算機と、を備えて、
前記計算機が複数の被験者に付与した第１のセンサから収集した行動に関する情報と、第２のセンサが検出した予測対象者のイベントから前記予測対象者の行動を予測する行動予測システムであって、
前記計算機は、
前記複数の被験者に付与した第１のセンサから行動に関する情報を連続的に収集して濃いデータとして蓄積し、前記第２のセンサが検出したイベントを薄いデータとして蓄積する記憶部と、
前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成する行動モデル生成部と、
前記収集したイベントのうち予測対象者のイベントを抽出し、予め設定した定義に基づいて、前記抽出したイベントに対応する行動内容を特定し、前記特定した行動内容が一致する行動モデルを抽出する行動マッチ度算出部と、
前記抽出した行動モデルに含まれる行動内容を前記予測対象者の行動として選択する行動推定部と、
を備えたことを特徴とする行動予測システム。
【請求項６】
前記記憶部は、
前記第２のセンサが検出したイベントと当該イベントの発生時刻を収集し、
前記行動モデル生成部は、
前記被験者の１日の行動内容を当該行動内容の開始時刻と終了時刻を設定して時系列に結合して行動モデルを生成し、前記結合した行動モデルのうち行動内容の出現順序が異なる行動モデルから状態遷移グラフを生成し、
前記行動マッチ度算出部は、
前記予測対象者のイベントのうち１日のイベントをイベント列として抽出し、
前記イベント列と前記状態遷移グラフを比較して、前記イベント列を構成するイベントのそれぞれについて、各イベントに対応する行動内容の開始時刻と終了時刻の間に前記イベントの発生時刻が含まれる状態遷移グラフのマッチ度数を加算し、状態遷移グラフのうち最もマッチ度数の高いものを特定することを特徴とする請求項５に記載の行動予測システム。
【請求項７】
前記行動モデル生成部は、
前記被験者の１日の行動内容を当該行動内容の開始時刻と終了時刻を設定して時系列に結合して行動モデルを生成し、前記結合した行動モデルのうち行動内容の出現順序が異なる行動モデルから状態遷移グラフを生成し、前記行動内容のうち、第１の行動内容から第２の行動内容へ遷移する確率を遷移確率として演算し、前記遷移確率を状態遷移グラフに付加し、
前記行動マッチ度算出部は、
前記予測対象者のイベントのうち１日のイベントをイベント列として抽出し、前記イベント列と前記状態遷移グラフを比較して、前記イベント列を構成するイベントのそれぞれについて、各イベントに対応する行動内容の開始時刻と終了時刻の間に前記イベントの発生時刻が含まれる状態遷移グラフのマッチ度数を加算し、状態遷移グラフのうち最もマッチ度数の高いものを抽出し、
前記行動推定部は、
前記抽出した行動モデルに含まれる行動内容と、当該行動内容に遷移する遷移確率を前記予測対象者の行動として選択することを特徴とする請求項５に記載の行動予測システム。
【請求項８】
前記第２のセンサは、
不揮発性記憶部を備えたＩＣカードを検出し、前記不揮発性記憶部に対して読み書きを行い、
前記行動推定部は、
前記予測対象者の行動として選択した行動内容を前記第２のセンサに送信し、前記第２のセンサに前記行動内容を前記不揮発性記憶部に書き込ませることを特徴とする請求項５に記載の行動予測システム。
【請求項９】
複数の被験者に付与した第１のセンサと、
予測対象者の行動をイベントとして検出する第２のセンサと、
前記第１のセンサに接続された第１の計算機と、
前記第２のセンサに接続された第２の計算機と、を備えて、
前記複数の被験者に付与した第１のセンサから収集した行動に関する情報と、第２のセンサが検出した予測対象者のイベントから前記予測対象者の行動を予測する行動予測システムであって、
前記第１の計算機は、
前記複数の被験者に付与した第１のセンサから行動に関する情報を連続的に収集して濃いデータとして蓄積する第１の記憶部と、
前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成する行動モデル生成部と、を備え、
前記第２の計算機は、
前記第１の計算機が生成した前記行動モデルを格納する第２の記憶部と、
前記第２のセンサからイベントを収集し、予め設定した定義に基づいて、前記収集したイベントに対応する行動内容を特定し、前記特定した行動内容が一致する行動モデルを抽出する行動マッチ度算出部と、
前記抽出した行動モデルに含まれる行動内容を前記予測対象者の行動として選択する行動推定部と、
を備えたことを特徴とする行動予測システム。
【請求項１０】
前記第２のセンサは、
不揮発性記憶部を備えたＩＣカードを検出し、前記不揮発性記憶部に対して読み書きを行い、
前記行動推定部は、
前記予測対象者の行動として選択した行動内容を前記第２のセンサに送信し、前記第２のセンサに前記行動内容を前記不揮発性記憶部に書き込ませることを特徴とする請求項９に記載の行動予測システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の行動を予測するシステムに関し、特にセンシングデバイスによって測定した被験者の行動に関するデータから任意の対象者の行動を予測する技術に関するものである。
【背景技術】
【０００２】
近年、携帯電話やＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）装置、加速度センサ等を搭載した小型のセンシングデバイス、あるいはＩＣカード等、様々な電子デバイスにより人の行動データを長期間取得する事が可能になってきた。このような行動データを用いて対象者がどのような行動をしているかを予測する技術が研究されている。
【０００３】
ひとつの方向としては、センシングデバイス等で収集したデータを解析して、行動の予測または予測を行い、対象者が現在何をしているかを推測する方法である。例えば、特許文献１では、行動の推測の精度を向上させるため、個人毎の特性を加味した解析手法を開示している。また、特許文献２では、性別や年齢別に収集した行動データを基に、年齢や性別が既知の対象者が、ある期間内に何をしていたかを予測する技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１３４０８０号
【特許文献２】特開２００８−１２３４８７号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来例において、前者の従来例（特許文献１）は、第１の要素として行動を予測する前提として対象者自身が、行動の予測に必要な十分な量の情報が得られるセンサ類を携帯、または装着して行動していなければならない。そして、センシングデバイスで検出したデータを蓄積していかなければならない。また、後者の従来例（特許文献２）は、第２の要素として、行動の予測について十分な精度を得るためにはあらかじめ詳細な行動データを収集しておく必要があり、また、第３の要素として、対象者の属性（ここでは年齢・性別）が既知でないと予測できない。
【０００６】
特に、第１の要素においては、対象者は推測に必要なセンサ類を常時携帯、または装着している必要があり、そのためのデバイス、およびデータ収集にはコストがかかる、という課題がある。第２の要素においても同様であり、あらかじめ対象者の詳細な行動データを収集するためには多大なコストが必要となる。第３の要素は、上記特許文献２の手法は対象者の属性が既知の場合の予測方法であって、対象者の属性が未知の場合には対応できないという課題がある。
【０００７】
そこで、本発明は、情報の収集に関するコストを抑制しながらも、属性が不明の任意の対象者の行動の予測を可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、複数の被験者に付与した第１のセンサと、予測対象者の行動をイベントとして検出する第２のセンサと、前記第１のセンサと第２のセンサに接続された計算機と、を備えて、前記複数の被験者に付与した第１のセンサから収集した行動に関する情報と、第２のセンサが検出した予測対象者のイベントから前記予測対象者の行動を予測する行動予測方法であって、前記計算機が、前記複数の被験者に付与した第１のセンサから行動に関する情報を連続的に収集して濃いデータとして蓄積するステップと、前記計算機が、前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成するステップと、前記計算機が、前記第２のセンサが検出したイベントを薄いデータとして収集するステップと、前記計算機が、前記収集したイベントのうち予測対象者のイベントを抽出するステップと、前記計算機が、予め設定した定義に基づいて、前記抽出したイベントに対応する行動内容を特定するステップと、前記計算機が、前記特定した行動内容と前記行動モデルとを比較して、前記イベントに対応する行動内容が一致する行動モデルを抽出するステップと、前記計算機が、前記抽出した行動モデルに含まれる行動内容を前記予測対象者の行動として選択するステップと、を含む。
【０００９】
また、前記計算機が、前記蓄積した濃いデータから前記被験者の行動内容を時系列的に結合した行動モデルを生成するステップは、前記被験者の１日の行動内容を当該行動内容の開始時刻と終了時刻を設定して時系列に結合して行動モデルを生成し、前記結合した行動モデルのうち行動内容の出現順序が異なる行動モデルから状態遷移グラフを生成し、前記計算機が、前記第２のセンサが検出したイベントを薄いデータとして収集するステップは、前記第２のセンサが検出したイベントと当該イベントの発生時刻を収集し、前記計算機が、前記収集したイベントのうち予測対象者のイベントを抽出するステップは、前記予測対象者のイベントのうち１日のイベントをイベント列として抽出し、前記計算機が、前記特定した行動内容と前記行動モデルとを比較して、前記イベントに対応する行動内容が一致する行動モデルを抽出するステップは、前記イベント列と前記状態遷移グラフを比較して、前記イベント列を構成するイベントのそれぞれについて、各イベントに対応する行動内容の開始時刻と終了時刻の間に前記イベントの発生時刻が含まれる状態遷移グラフのマッチ度数を加算し、状態遷移グラフのうち最もマッチ度数の高いものを抽出する。
【発明の効果】
【００１０】
したがって、本発明によれば、予め被験者の生活行動から行動モデルを作成しておくことで、行動予測を実施する対象者はコストのかかる第１のセンサを所持する必要がなく、また対象者自身の性別、年齢などの属性を公開することなく、コストのかからない第２のセンサから取得できるデータから対象者の行動を予測することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施の形態を示し、行動予測システムの全体的な処理を示すブロック図である。
【図２】本発明の第１の実施の形態を示し、行動予測システムの構成を示すブロック図である。
【図３】本発明の第１の実施の形態を示し、濃いデータを採取するセンサノード１０の一例を示すブロック図である。
【図４】本発明の第１の実施の形態を示し、図２に示したサーバを含む第１のセンサネットワークシステムを示すブロック図である。
【図５】本発明の第１の実施の形態を示し、計算サーバの行動モデル生成部で行われる処理の一例を示すフローチャートである。
【図６】本発明の第１の実施の形態を示し、運動頻度と時刻の関係を示すグラフである。
【図７】本発明の第１の実施の形態を示し、運動頻度を算出するための説明図で加速度と時間の関係を示す。
【図８】本発明の第１の実施の形態を示し、  ＰＣの表示部に表示される行動履歴入力画面の画面イメージである。
【図９】本発明の第１の実施の形態を示し、生活行動モデルを格納する行動内容格納テーブルの一例を示す説明図である。
【図１０】本発明の第１の実施の形態を示し、生活行動モデルを格納する行動内容格納テーブルを１日単位で分割した例を示す説明図である。
【図１１】本発明の第１の実施の形態を示し、行動モデル生成部が行う生活行動パターンの生成処理の一例を示すフローチャートである。
【図１２】本発明の第１の実施の形態を示し、行動内容のリスト構造である。
【図１３】本発明の第１の実施の形態を示し、リスト構造の説明図である。
【図１４】本発明の第１の実施の形態を示し、節点が２つのシーケンスと節点が３つのシーケンス（状態遷移）のリスト構造例を示す。
【図１５】本発明の第１の実施の形態を示し、節点が２つのシーケンスと節点が３つのシーケンス（状態遷移）の状態遷移グラフを示す。
【図１６】本発明の第１の実施の形態を示し、状態遷移付加情報格納テーブル９００の構造を示す説明図である。
【図１７】本発明の第１の実施の形態を示し、節点に行動内容を付与した状態遷移グラフである。
【図１８】本発明の第１の実施の形態を示し、節点に行動内容を付与し、行動内容の繰り返し構造を備える状態遷移グラフである。
【図１９】本発明の第１の実施の形態を示し、図１１のステップＳ１０３で行われる状態遷移グラフの生成処理の詳細を示すフローチャートである。
【図２０】本発明の第１の実施の形態を示し、イベント内容格納テーブルの一例を示す説明図である。
【図２１】本発明の第１の実施の形態を示し、行動マッチ度算出部で行われる処理の一例を示すフローチャートである。
【図２２】本発明の第１の実施の形態を示し、図２１のステップＳ２０４で行われるマッチ度算出処理の詳細を示すフローチャートである。
【図２３】本発明の第１の実施の形態を示し、行動予測部で行われる処理の一例を示すフローチャートである。
【図２４】本発明の第１の実施の形態を示し、同一構造のリスト（状態遷移グラフ）をひとつにまとめた結果を示す説明図である。
【図２５】本発明の第１の実施の形態を示し、行動内容の分岐を含む状態遷移グラフである。
【図２６】本発明の第１の実施の形態を示し、節点と枝の関係を示す説明図である。
【図２７】本発明の第１の実施の形態を示し、遷移確率付き状態遷移グラフである。
【図２８】本発明の第１の実施の形態を示し、各節点の行動内容と開始時刻及び終了時刻に関連する情報を含む状態遷移グラフである。
【図２９】本発明の第１の実施の形態を示し、行動予測対象者の薄いデータと、当該薄いデータから行動予測を行った結果の濃いデータを示すグラフである。
【図３０】本発明の第１の実施の形態を示し、行動予測対象者の薄いデータから行動予測を行った結果の濃いデータを示すグラフと状態遷移グラフ及びイベント内容格納テーブル１３００の関係を示す説明図である。
【図３１】本発明の第１の実施の形態を示し、行動予測システムの構成を示すブロック図である。
【図３２】本発明の第１の実施の形態を示し、交通系ＩＣカードの不揮発性メモリに保持されるデータの一例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を添付図面に基づいて説明する。
【００１３】
図１は、本発明の第１の実施の形態を示し、行動予測システムの全体的な処理を示すブロック図である。
【００１４】
本発明の行動予測システムは、「濃いデータ」と呼ぶ単一または複数のセンサノード１０により生成されたセンシングデータ１０１〜１０４から、生活行動モデルを提供する複数の人（以下、被験者）の生活行動の記録データ１０１〜１１２を採取し、記録データ１０１〜１１２から被験者の生活行動のモデルを生成し、生成した生活行動モデルを複数のパターンに分類して状態遷移グラフを生成する行動モデル生成部１１５と、生成した生活行動モデル１１６（状態遷移グラフ）と、行動の予測を行う対象者（以下、行動予測対象者）の「薄いデータ」の供給源から取得したイベントを格納する記録データ１２５と、濃いデータの要素（行動内容）と薄いデータ（イベント）の対応関係を定義しておき、この定義１３５に基づいて行動モデル１１６と薄いデータからなる記録データ１２５を比較し、生活行動モデル１１６の各パターンのうち薄いデータのタイミングが一致する度合いをマッチ度数(優先順位)として算出する行動マッチ度数算出部１３０と、算出されたマッチ度数から行動予測対象者の生活行動モデルのパターンを決定し、現時点および将来の行動を予測する行動予測部１４０と、及び行動の予測結果を表示する表示部１５０からなる。
【００１５】
ここで、「濃いデータ」とは、当該濃いデータを採取する際にコストはかかるが人の行動の予測をするのに適したセンサ類から得られる情報量の多いデータを示し、「薄いデータ」とは、当該薄いデータを採取する際にかかるコストが低いセンサ類から得られる情報量の少ないデータを示す。
【００１６】
本発明では、濃いデータを提供する被験者と、薄いデータを提供する行動予測対象者は異なる。まず、加速度センサを含むセンサノード１０で複数の被験者の１日の生活行動をセンシングデータ１０１〜１０４として２４時間連続的に採取し、記録データ１０９〜１１２として蓄積しておく。記録データ１０９〜１１２は、例えば、数週間分あるいは数ヶ月分といった所定の期間のセンシングデータ１０１〜１０４を蓄積する。
【００１７】
次に、行動モデル生成部１１５は、蓄積した複数の被験者の生活行動の記録データ１０９〜１１２を、複数のパターンに分類して１日単位のパターンを複数の行動モデル１１６（状態遷移グラフ）として生成しておく。
【００１８】
一方、行動予測対象者からの薄いデータとしては、例えば、交通系ＩＣカード（または交通系ＩＣチップを供えた携帯機器）などの使用履歴を用いる。この場合、交通系ＩＣカードを検出するセンサとしては、駅に備えられた改札機のリーダライタ１２１やバスに備えられた運賃徴収機や売店に備えられた点灯端末機のリーダライタである。センサとしてのリーダライタ１２１は、交通系ＩＣカードの使用履歴をイベントして扱い、このイベントを含むセンシングデータ１２０を、薄いデータである記録データ１２５として計算機に蓄積する。そして、行動予測対象者の行動を検知するセンサとしてのリーダライタ１２１は、既に交通機関や商店に設置されており、行動予測を行うために新たに設置する必要はない。このため、本発明の行動予測システムを実施するのに当たって、新たな設備投資が不要な低コストのセンサとして利用することができる。
【００１９】
次に、行動マッチ度数算出部１３０が、行動を予測する行動予測対象者の薄いデータである記録データ１２５を取得し、予め蓄積しておいた複数の被験者の生活行動モデル１１６と薄いデータ（イベント）の定義１３５に基づいて比較を行い、行動予測対象者の記録データ１２５に対応する行動内容が、複数の生活行動モデル１１６についてマッチするか否かを示すマッチ度数を求める。
【００２０】
そして、行動予測部１４０は、算出されたマッチ度数から行動予測対象者の行動パターンを予測し、現時点または将来の行動を予測する。例えば、センサとしてのリーダライタ１２１が駅に備えられた改札機のリーダライタの場合、ある行動予測対象者が交通系ＩＣカードを使用したときのイベントが、生活行動モデル１１６の「通勤」という行動内容に対応するという定義１３５を予め設定しておく。また、センサとしてのリーダライタ１２１が商店に備えられた店頭端末機のリーダライタの場合は、交通系ＩＣカードを使用したときのイベントが、生活行動モデル１１６の「買い物」という行動内容に対応するという定義１３５を予め設定しておく。
【００２１】
そして、交通系ＩＣカードを使用した時刻（イベントの発生時刻）と行動内容が通勤である生活行動モデル１１６を参照し、上記時刻で通勤の行動内容を含む生活行動モデル１１６のマッチ度数を求める。そして、最もマッチ度数の高い生活行動モデル１１６のパターンを行動予測対象者の生活行動モデル１１６として選択し、当該行動予測対象者が次に行う行動を予測する。これにより、センサとしてのリーダライタ１２１を設置した駅の利用者の行動を予測するデータを構築でき、このデータを、例えば、マーケッティングなどに利用することができるのである。
【００２２】
図２は、本発明の第１の実施の形態を示し、行動予測システムの構成を示すブロック図である。
【００２３】
被験者２１０は、複数であり「濃いデータ」を提供する人の集合である。被験者２１０は生体情報を連続的に取得してセンシングデータとして送信するセンサノード１０をそれぞれ装着し、生活行動のデータを収集する。センサノード１０が送信したセンシングデータは、基地局を介してサーバ２１７、２１８に蓄積される。なお、センサノード１０とサーバ２１７、２１８は濃いデータを収集する第１のセンサネットワークシステムとして機能する。
【００２４】
本実施形態では、センサノード１０を被験者２１０の腕に装着し、被験者２１０の生体情報として加速度をほぼ連続的に測定し、加速度から被験者２１０の生活行動モデル１１６を生成する例を示す。
【００２５】
サーバ２１７、２１８は、各被験者２１０の生体情報を記録データ１０９〜１１２として蓄積し、所定のタイミングでデータサーバ２５０（記憶部）に送信する。
【００２６】
行動予測対象者２３０は、「薄いデータ」を提供する人または人の集合である。行動予測対象者２３０は交通系ＩＣカード２３１を所持しており、駅や店舗などに設置されたセンサとしてのリーダライタ１２１が交通系ＩＣカード２３１の使用（イベント）を検出する。センサとしてのリーダライタ１２１は、例えば、交通系ＩＣカード２３１の読み書きを行うリーダライタで構成され、センサとしてのリーダライタ１２１が取得した情報を薄いデータ（センシングデータ１２０）としてデータサーバ２５０に送信し、データサーバ２５０はセンシングデータ１２０を薄い記録データ１２５として格納する。
【００２７】
行動予測対象者２３０の交通系ＩＣカード２３１を検出して読み書きを行うセンサとしてのリーダライタ１２１は、薄いデータを収集する第２のセンサネットワークシステムとして機能する。
【００２８】
第１のセンサネットワークのサーバ２１７、２１８及び第２のセンサネットワークシステムのセンサとしてのリーダライタ１２１はネットワーク２４０を介してデータサーバ２５０に接続される。このネットワーク２４０には、データサーバ２５０に格納された濃いデータと薄いデータから、薄いデータを提供した行動予測対象者２３０の行動を予測する計算サーバ２６０と、計算サーバ２６０を制御するＰＣ２７０が接続される。
【００２９】
計算サーバ２６０は、図１に示した行動モデル生成部１１５と、行動モデル１１６と、行動マッチ度数算出部１３０及び行動予測部１４０を備え、行動予測部１４０は予測結果をＰＣ２７０に出力する。ＰＣ２７０は、図１に示した表示部１５０を備える。また図示はしないが、ＰＣ２７０は行動の予測を行う行動予測対象者２３０を指定したり、計算サーバ２６０の各種設定等を行う入力部を備える。
【００３０】
計算サーバ２６０は、まず、行動モデル生成部１１５が第１のセンサネットワークシステムのサーバ２１７、２１８から送られた濃いデータ（記録データ１０１〜１１２）から各被験者２１０の生活行動のモデルを生成し、生成した生活行動モデルを複数のパターンに分類して生活行動モデル１１６（状態遷移グラフ）を生成する。状態遷移グラフは、被験者２１０の行動内容を時系列的に結合した１日単位の情報として生成される。そして、ＰＣ２７０が指定した行動予測対象者２３０について、行動マッチ度数算出部１３０がデータサーバ２５０に格納された薄いデータとしての記録データ１２５を抽出し、行動モデル生成部１１５が生成した生活行動モデル１１６及び状態遷移グラフと薄いデータとしての記録データ１２５を比較し、各状態遷移グラフの行動内容のパターンと、薄いデータが示す行動内容の出現時刻の一致度をマッチ度数として算出する。次に、行動予測部１４０は、算出されたマッチ度数の順位で状態遷移グラフを選択し、この状態遷移グラフに対応する生活行動モデル１１６から当該行動予測対象者の生活行動を予測し、予測結果をＰＣ２７０に送信する。なお、本実施形態では、生活行動モデル１１６と状態遷移グラフは等価である。
【００３１】
このように、本発明では、２４時間連続的に採取した濃いデータとしての加速度から１日単位の生活行動モデル１１６を被験者毎に多数作成しておく。そして、行動予測対象者の生活行動を交通系ＩＣカードの使用履歴から取得し、定義１３５により交通系ＩＣカードの使用場所から生活行動モデル１１６の行動内容を特定する。そして、交通系ＩＣカードの使用という断片的なイベントが、複数の生活行動モデル１１６の中から一致するものをマッチ度数を用いて抽出する。そして、抽出した生活行動モデル１１６の行動内容を行動予測対象者の行動としてＰＣ２７０に提示するのである。
【００３２】
図３は、濃いデータを採取するセンサノード１０の一例を示すブロック図である。
【００３３】
腕輪型センサノード１０は、人体の腕に装着するケースの内部に基板１１を設け、この基板１１に電子回路が構成される。図３において、基板１１には、基地局と通信を行うアンテナ５を備えた無線通信部（ＲＦ）２と、ＰＣと有線接続するＵＳＢ通信部３９と、生体情報を測定するセンサ６と及び無線通信部２を制御するマイクロコンピュータ３と、マイクロコンピュータ３を間欠的に起動するためのタイマとして機能するリアルタイムクロック（ＲＴＣ）４と、各部に電力を供給する電池７と、センサ６への電力の供給を制御するスイッチ８が配置される。また、スイッチ８とセンサ６の間には、バイパスコンデンサＣ１が接続されてノイズの除去や、充放電の速度を低減して無駄な電力消費を防ぐ。バイパスコンデンサＣ１への充放電回数を減らすようにスイッチ８を制御することによって、無駄な電力消費を抑えることが可能になる。
【００３４】
マイクロコンピュータ３は、演算処理を実行するＣＰＵ３４と、ＣＰＵ３４で実行するプログラムなどを格納するＲＯＭ３３と、データなどを格納するＲＡＭ３２と、ＲＴＣ４からの信号（タイマ割り込み）に基づいてＣＰＵ３４に割り込みをかける割り込み制御部３５と、センサ６から出力されたアナログ信号をデジタル信号に変換するＡ／Ｄコンバータ３１と、無線通信部２及びＵＳＢ通信部３９との間でシリアル信号にて信号の送受を行うシリアルコミュニケーションインターフェース（ＳＣＩ）３６と、無線通信部２及びＵＳＢ通信部３９とスイッチ８を制御するパラレルインターフェース（ＰＩＯ）３７と、マイクロコンピュータ３内の上記各部へクロックを供給する発振部（ＯＳＣ）３０とを含んで構成される。そして、マイクロコンピュータ３内の上記各部はシステムバス３８を介して接続される。ＲＴＣ４は、マイクロコンピュータ３の割り込み制御部３５に予め設定されている所定の周期で割り込み信号（タイマ割り込み）を出力し、また、ＳＣＩ３６へ基準クロックを出力する。ＰＩＯ３７はＣＰＵ３４からの指令に応じてスイッチ８のＯＮ／ＯＦＦを制御し、センサ６への電力供給を制御する。
【００３５】
腕輪型のセンサノード１０は、所定の周期（例えば、１分等）でマイクロコンピュータ３を起動して、センサ６からセンシングデータを取得し、取得したセンシングデータに腕輪型のセンサノード１０を特定する識別子とタイムスタンプを付与して基地局またはＰＣへ送信する。なお、腕輪型のセンサノード１０の制御の詳細は、例えば、特開２００８−５９０５８号公報等と同様にすることができる。なお、腕輪型のセンサノード１０は、連続的に取得したセンシングデータを、周期的に基地局２１７０またはＰＣへ送信するようにしても良い。
【００３６】
なお、センサノード１０が取得する濃いデータとしての生体情報は、加速度のみに限定されるものではなく、被験者２１０の行動や場所（移動の履歴）を特定可能な情報であればよく、例えば、脈拍などの生体情報を用いたり、被験者２１０が保持する携帯電話の位置情報（例えば、ＧＰＳ情報）を生体情報として用いても良い。また、濃いデータとしては、携帯電話の通話やメールの履歴、パーソナルコンピュータやそれに類する電子機器の操作履歴、交通系ＩＣカード（電子式乗車券）や流通系ＩＣカード（電子マネー）やクレジットカードや銀行のキャッシュカード等の利用履歴、ＩＣカードやＲＦＩＤを用いた入退室の利用履歴、時間毎の歩数を記録できる歩数計、携帯型のＧＰＳ装置やカーナビゲーションシステム上に残る自動車の走行記録、撮影時刻が電子的に記録されるデジタルカメラ、人手で入力した記入時刻入りのコメント、など、あるいはそれらの組み合わせが挙げられる。
【００３７】
図４は、図２に示したサーバ２１７、２１８を含む第１のセンサネットワークシステムを示すブロック図である。腕輪型センサノード１０が送信したセンシングデータは、ＰＣ又は基地局２１７０を介してサーバ２１７のデータ格納部２１７１に蓄積される。なお、サーバ２１８を含むセンサネットワークシステムも図４と同様であるので、重複した説明は省略する。
【００３８】
サーバ２１７は、図示しないプロセッサとメモリ及びストレージ装置を備えて、被験者２１０の腕の加速度をセンサノード１０で測定したセンシングデータ１０１〜１０４をデータ集計部２１７２で集計し、データ格納部２１７１へ格納しておき、所定のタイミング（例えば、１日毎など）でセンシングデータ１０１〜１０４をデータサーバ２５０へ送信する。データ集計部２１７２は、単位時間（例えば、１分間）毎のセンシングデータ１０１〜１０４の集計値を算出し、被験者２１０毎のセンシングデータ１０１〜１０４の集計値をデータ格納部２１７１に格納する。
【００３９】
＜行動モデル生成部＞
次に、図５は、計算サーバ２６０の行動モデル生成部１１５で行われる処理の一例を示すフローチャートである。行動モデル生成部１１５は、特願２００８−３２１７２８と同様の処理であり、以下に概要を説明する。
【００４０】
行動モデル生成部１１５は、シーン分割部Ｓ２と、シーン列挙部Ｓ３と、行動獲得部Ｓ４〜Ｓ８から構成される。
【００４１】
シーン分割部Ｓ２は、データサーバ２５０に格納された記録データ１０９〜１１２を読み込んで解析を行い、被験者２１０の記録データ１０９〜１１２毎に個別の動作状態であるシーン領域および個々の運動状態であるシーン断片を抽出する。
【００４２】
シーン列挙部Ｓ３は、前記抽出したシーン領域とシーン断片に対して、過去のデータから作成したルール、または、予め登録したシーン判定ルールを適用することによって、行動内容の候補であるシーンを抽出する。
【００４３】
行動獲得部Ｓ４〜Ｓ８は、前記抽出したシーンを被験者２１０のＰＣ２７０に提示し、ＰＣ２７０のオペレータまたは管理者が選択したシーンを被験者２１０が申告した行動内容と共にデータサーバ２５０に格納する。
【００４４】
なお、データサーバ２５０に格納される記録データ１０９〜１１２には腕輪型センサノード１０の識別子が付与されている。また、行動内容、動作状態、シーン、および、行動記録のデータには被験者２１０を特定する識別子（例えば、腕輪型センサノード１０の識別子）が付与されて、被験者２１０を識別することができる。
【００４５】
シーン分割部Ｓ２とシーン列挙部Ｓ３と行動獲得部Ｓ４〜Ｓ８は、例えば、プログラムとしてストレージ装置（記憶媒体）に格納され、所定のタイミングで計算サーバ２６０のメモリへロードされてプロセッサにより実行される。なお、以下では、計算サーバ２６０が、シーン分割部Ｓ２とシーン列挙部Ｓ３を所定の周期（例えば、５分間）毎に実行する例、および、行動獲得部Ｓ４〜Ｓ８をオペレータ（または管理者）から要求されたタイミングで実行する例を示す。
【００４６】
図５において、まず、ステップＳ１では、計算サーバ２６０がデータサーバ２５０に格納された記録データ１０９〜１１２を取得する。これらの記録データ１０９〜１１２は、図４に示したサーバ２１７により、センシングデータ１０１〜１０４から単位時間毎の運動頻度を算出したものである。この運動頻度（または動作頻度）の算出結果は図６で示すように単位時間毎の運動頻度を時系列的にソートしたデータとなる。運動頻度の算出方法は、後述する。
【００４７】
そして、図７で示すように、記録データ１０９〜１１２にフィルタ処理を施した加速度のスカラー量が所定の閾値（例えば、０．０５Ｇ）となった回数をゼロクロス回数として算出する。あるいは、加速度のスカラー量が所定の閾値をよぎった回数をゼロクロス回数とする。そして、所定の時間間隔（単位時間）内のゼロクロス回数を運動頻度として求める。また、所定の時間間隔内の運動量の積分値をゼロクロス回数とスカラー量から求めて、この積分値を運動強度とする。またセンシングデータに含まれる温度についても所定の時間間隔内の平均温度を求める。なお、運動頻度は、ＸＹＺの各方向の加速度の値が、正と負に振動した回数（振動数）を各方向の所定時間内に数えて合計してもよいが、本実施形態では、計算を簡略化することができるため、ゼロクロス回数を算出する方法について説明した。
【００４８】
次に、ステップＳ２では、計算サーバ２６０が所定の周期になるとデータサーバ２５０に蓄積された記録データ１０９〜１１２から利用者の一連の動作状態であるシーン領域、および、シーン領域を構成する運動であるシーン断片を作成する。
【００４９】
このシーン領域の作成処理は、センシングデータまたは集計データから抽出可能である所定の動作状態（例えば、歩行、睡眠）を検出し、検出された動作状態、および、検出された動作状態と次の動作状態に挟まれた期間をシーン領域として抽出し、後述する所定の判定ルールを用いて睡眠、安静、軽作業、作業、歩行、運動の動作内容を判定し、各シーン領域に割り当てるものである。
【００５０】
さらに、シーン断片の作成処理は、前記抽出されたシーン領域毎に、センシングデータまたは所定時間単位のセンシングデータの集計データから時系列的なデータの変化点を検出し、変化点から次の変化点までを１つの運動単位または状態単位であるシーン断片として抽出する。センシングデータまたは集計データの変化点とは、激しく動いている状態から静かになった時点などを変化点として抽出する。シーン断片は、シーン断片の抽出方法とシーン断片のグループ分け方法に応じて断片分類が割り当てられる。シーン断片の抽出方法は、シーン断片の抽出に用いるセンシングデータの種類である。シーン断片のグループ分け方法は、シーン断片にグループの識別子である断片分類の値を割り当てるために用いたセンシングデータの内容であり、運動量の統計値を用いたグループ分け、センシングデータの類似度を用いたグループ分け、集計データの類似度を用いたグループ分けなど１以上のグループ分けからなる。そして、断片分類ごとに当該断片分類のグループ分け方法によりグループの識別子である断片分類の値を割り当てる。
【００５１】
このように、シーン断片の抽出のために用いるセンシングデータと、当該シーン断片のグループ分けのために用いるセンシングデータとが同じ種類のみならず、異なる種類であることを特徴とする。例えば、人が屋内から屋外へ出る場合、加速度の変化に比べて温度の変化が著しい場合を想定する。このような場合、加速度データから抽出される各シーン断片を、加速度の類似度を用いてグループ分けするよりも、温度の類似度を用いてグループ分けをした方が、その人の行動をより正確に示す指標となる。そのため、温度の類似度を用いてグループ分けをしたデータをも算出し、後述するシーン判定ルールに基づいて行動内容を判定することにより、判定精度を高めることが可能となる。
【００５２】
上記の処理により、シーン分割部Ｓ２は所定の周期毎にシーン領域とシーン断片を作成し、データサーバ２５０に格納する。
【００５３】
次に、計算サーバ２６０は、ステップＳ３でシーン分割部Ｓ２が抽出したシーン領域とシーン断片、および、前後の行動内容が既に確定している場合にはその行動内容を、登録されているシーン判定ルールに従って判定し、利用者の行動内容の候補であるシーンを作成し、データサーバ２５０に格納する。
【００５４】
登録されたシーン判定ルールは、被験者２１０毎の過去の行動内容、シーン領域、シーン断片のデータから抽出したルール、または、被験者２１０を含むデータサーバ２５０に格納された行動内容、シーン領域、シーン断片のデータから作成したルール、または、既知の知識を用いて構築したシーン判定ルールである。具体的には、行動内容、シーン領域、シーン断片、時間情報の組合せと順序パターンから作成された行動内容の候補であるシーンを判定するシーン判定ルールである。
【００５５】
例えば、早朝の歩行という動作内容であれば、具体的な行動内容の候補は散歩とすることができ、あるいは、「起床後３０〜９０分の間で歩行（１０−１５分）、安静（２０−２５分）、歩行（７−１０分）であれば、その利用者の通常の生活においては定型化している「通勤」として判定する。なお、行動内容は動作内容の組合せなので、多くの場合複数のシーン領域から成り立つが、上述の散歩のように、単一の動作内容と時刻から定まる行動内容も存在する。
【００５６】
次に、行動獲得部Ｓ４〜Ｓ８は、データ格納部に格納されたシーンから、利用者が行った行動内容に一致する可能性の高い順に提示する優先順位を付与する（ステップＳ４）。
【００５７】
次に、計算サーバ２６０は、ステップＳ５で、上記優先順位に従って、各シーンをＰＣ２７０に提示する。ステップＳ６では、ＰＣ２７０を操作するオペレータまたは管理者が、計算サーバ２６０が抽出したシーンに対応する行動内容を確認し、優先順位の順で提示されたシーンを選択することで、被験者２１０毎に日々の行動記録を生成することができる。
【００５８】
次に、ステップＳ７では、ＰＣ２７０で選択されたシーンを行動記録として確定する。
【００５９】
こうして作成された行動記録は、ステップＳ８で被験者２１０の識別子と作成日時などのタイムスタンプとともに、データサーバ２５０へ格納される。
【００６０】
図８は、ＰＣ２７０の表示部１５０に表示される行動履歴入力画面１２００の画面イメージである。計算サーバ２６０は、ＰＣ２７０からユーザＩＤ等を受け付けて、指定された被験者２１０の記録データ１０９〜１１２と、シーン領域データおよびシーンを行動履歴入力画面１２００に表示させる。なお、ＰＣ２７０で稼動するアプリケーションとしては、ブラウザを採用することができる。
【００６１】
行動履歴入力画面１２００は、記録データ１０９〜１１２の運動頻度を測定日時の位置で棒グラフにて表示する運動頻度１２０１と、シーン領域データに格納された領域内容を表示する動作内容１２０２と、シーン領域データの開始日時と終了日時を表示する時刻表示１２０３と、行動記録を入力または表示する行動内容１２０４と、行動記録の入力を行う日時を設定する日時プルダウンメニュー１２０５と、複数のシーン領域を手動にて結合する指令を計算サーバ２６０へ送信するためのシーン結合ボタン１２０６と、マウスカーソルなどで被験者２１０が指定した行動内容１２０３を入力する行動内容入力ボタン１２０７と、入力の完了を指令する入力終了ボタン１２０８とを備える。図示の行動履歴入力画面１２００では、行動内容１２０４の入力が完了した状態を示している。
【００６２】
ＰＣ２７０を操作するオペレータまたは管理者が、行動履歴入力画面１２００の行動内容入力ボタン１２０７を選択した後に、行動内容１２０４を選択すると、上記行動獲得部Ｓ４で求めた行動内容の候補が表示される。オペレータまたは管理者は、ＰＣ２７０の入力部１０３２を構成するマウス等の操作によって、行動内容の候補を選択し、あるいは行動内容の候補に所望の項目がない場合には手動で行動内容を入力することができる。
【００６３】
計算サーバ２６０は、被験者２１０が行動内容１２０４を選択すると、上記シーン分割部３００がシーンデータのエントリ毎に予測した行動内容の候補を行動内容に表示させる。
【００６４】
以上のように、加速度データから抽出した複数のシーン領域を結合し、時刻に対応付けた行動内容１２０４が被験者２１０毎の生活行動モデル１１６として生成される。例えば、３つのシーン領域が、歩行、安静、歩行という時系列で並んでいるデータについては、駅まで徒歩で移動し、電車などの交通機関で目的の駅などに移動し、さらに職場へ向けて徒歩で移動すると被験者２１０が申告した場合、生活行動モデル１１６の行動内容としては「通勤」に決定される。計算サーバ２６０の行動モデル生成部１１５では、複数の被験者２１０毎に生活行動モデル１１６を生成し、データサーバ２５０の行動内容格納テーブル８００に格納する。なお、生活行動モデル１１６としては、多数の人の生活行動モデル１１６を作成しておくのが好ましく、例えば、学生、会社員、主婦などや、平日の生活行動モデル１１６及び休日の生活行動モデル１１６などを作成しておくことが望ましい。上記処理により、被験者２１０の１日の行動内容は、例えば、睡眠から起床して軽作業のシーン領域の「支度」を行い、歩行、安静、歩行のシーン領域を結合した「出勤」と、安静と軽作業のシーン領域を結合した「仕事」と、歩行、安静、歩行のシーン領域を結合した「退勤」と、「安静」、「睡眠」となる。
【００６５】
＜行動モデル生成部＞
図９は生活行動モデル１１６を格納する行動内容格納テーブル８００の一例を示す説明図である。
【００６６】
生活行動モデル１１６の生成で得られたひとつの行動内容（例えば、「出勤」）は、図９に示すように行動内容格納テーブル８００に格納される。
【００６７】
行動内容格納テーブル８００のひとつのレコードには、行動内容の識別子を格納する行動内容ＩＤ８０１と、被験者２１０の識別子を格納するユーザＩＤ８０２と、当該行動内容の開始日時８０３と、当該行動内容の終了日時８０４と、当該行動内容の項目ＩＤ８０５と、当該行動内容を示す行動内容項目８０６と、当該行動内容の開始時刻の最小値８０７と、当該行動内容の開始時刻の最大値８０８と、当該行動内容の開始時刻の平均値８０９と、当該行動内容の開始時刻の標準偏差値８１０と、当該行動内容の終了時刻の最小値８１１と、当該行動内容の終了時刻の最大値８１２と、当該行動内容の終了時刻の平均値８１３と、当該行動内容の終了時刻の標準偏差値８１４と、当該行動内容の継続時間の最小値８１５と、当該行動内容の継続時間の最大値８１６と、当該行動内容の継続時間の平均値８１７と、当該行動内容の継続時間の標準偏差値８１８と、を含む。
【００６８】
図１１は、行動モデル生成部１１５が行う生活行動パターンの生成処理の一例を示すフローチャートである。行動モデル生成部１１５は、生成した生活行動モデル１１６を各被験者２１０毎に１日単位で分割し（Ｓ１０１）、１日の生活行動モデル１１６から生活行動パターンを列挙する（Ｓ１０２）。そして、行動モデル生成部１１５は、列挙した生活行動パターンから状態遷移グラフを生成し（Ｓ１０３）、生活行動パターンが類似する状態遷移グラフを融合し（Ｓ１０４）、さらに、生成した状態遷移グラフを被験者２１０毎に融合し、データサーバ２５０に格納する。
【００６９】
まず、ステップＳ１０１では、行動モデル生成部１１５がデータサーバ２５０から生活行動モデル１１６を読み込んで、各生活行動モデル１１６を１日単位で分割する。
【００７０】
図１０は生活行動モデル１１６を格納する行動内容格納テーブル８００を１日単位で分割した例を示す説明図である。図１０は、ある行動内容が継続している場合に、１日の区切りを午前３時で行う例を示す。１日の生活行動モデル１１６の区切りは、人が行動していないことが望ましい。このため、多くの人の行動内容が睡眠となる午前３時を１日の区切りとする。この例では、２３時３１分から６時５分まで当該行動内容が継続する場合であり、一つの行動内容は、２３時３１分から２時５９分までと、３時０分から６時５分までの２つのレコード８１１，８１２に分割される。
【００７１】
この結果、生活行動モデル１１６は、１日単位で被験者２１０毎の行動の順序をリスト構造で表現することができる。ここで、リスト構造とは、図１３で示すように、ひとつの行動内容（図９の行動内容項目）と、次の行動内容への遷移をグラフの節点６０１と枝（６１１−１，６１１−２，６１１−３，６２１）で表現するものである。これをデータ構造として図１２に示す。
【００７２】
図１２は行動内容のリスト構造を示し、図１３に示した接点と枝で構成される、次の行動内容として３つの行動内容を持つ節点５１１−１〜５１１−３と枝５１２−１、５１２−２の構造である。節点５０１、５１１−１〜５１１−３自体の情報は図９に示した行動内容格納テーブル８００と枝の情報５１１−１〜５１１−３をそれぞれ指す２つのポインタからなる。枝の情報５１１−１〜５１１−３は、図１６に示す枝の状態遷移付加情報格納テーブル９００へのポインタ５１３−１〜５１３−３と、他の枝情報へのポインタ５１２−１、５１２−２と、遷移先の節点情報へのポインタ５１４−１〜５１４−３からなる。
【００７３】
図１６に状態遷移付加情報格納テーブル９００の構造を示す。この状態遷移付加情報格納テーブル９００には図１２に示した状態遷移に関連する情報を格納する。状態遷移付加情報格納テーブル９００に格納する情報は、ある節点から次の行動内容への遷移の総数９０１と、次の行動内容の枝情報が指し示す先への遷移数９０２と，行動内容の遷移の開始時刻９０３と，行動内容の遷移の終了時刻９０４からなる。
【００７４】
図１４に節点が２つのシーケンスと節点が３つの状態遷移（シーケンス）の例を示す。図中７０１は図１２に示した構造５１１−１と同じ枝の構造を持つ行動内容の始点を示し、図中７０２は節点の構造５０１と同じ構造を持つ終点を示す。終点７０２の２つのポインタ（図１２に示した５０２，５０３）はどちらもＮＵＬＬポインタになる。
【００７５】
図１５は、図１４に対応する状態遷移グラフである。始点７０１から節点５００−１、５００−２を経て終点７０２に至る経路と、始点７０１から節点５００−３〜５００−５を経て終点７０２に至る経路を示している。
【００７６】
次に、行動モデル生成部１１５は、図１１のステップＳ１０２でパターン列挙の処理を行う。このパターン列挙の処理では、ステップＳ１０１で読み込んだ生活行動モデル１１６をリスト構造で比較して、行動内容のシーケンスのパターンを列挙し、同じパターンの出現頻度を求める。そして、得られた出現頻度を各シーケンスの状態遷移付加情報格納テーブル９００の遷移総数９０１と遷移数９０２に格納する。なお、シーケンスとは、図１７，図１８で示すように、リスト構造の行動内容を上記図１２〜図１５で示した節点と枝で表記したものである。
【００７７】
次に、行動モデル生成部１１５は、図１１のステップＳ１０３で状態遷移グラフの生成処理を実行する。
【００７８】
まず、ステップＳ１０２で得られた１日単位の行動内容のシーケンスの列挙から、各シーケンスの出現頻度が最も高いシーケンスを選択し、１日単位の状態遷移グラフを生成する。状態遷移グラフは同じ行動内容の繰り返しを検出して、同一の行動内容の繰り返しを一つの行動内容にまとめる。この処理は、例えば、Thompsonの手法（Ken Thompson, “Regular Expression Search Algorithm”, Communications of the ACM, Vol.11, No.6, June, 1968.）を利用することができる。なお、状態遷移グラフの生成処理については後述する。
【００７９】
同一の行動内容の繰り返しを一つの行動内容にまとめた場合、枝に付加する行動内容の遷移の総数と遷移数をまとめた数だけ足し合わせる。また、同じシーケンスでも各行動内容（節点）の開始時刻、終了時刻、継続時間はそれぞれ異なるため、各時刻及び継続時間について、最小値、最大値、平均値、標準偏差値を計算し、図９の行動内容格納テーブル８００に格納する。そして、出現頻度の最も高いシーケンスに行動内容を設定して、図１７，図１８に示すような状態遷移グラフを生成する。
【００８０】
ここで、状態（行動内容）の遷移が繰り返し構造となる例を図１８に示し、図中休憩や昼食のように、もとのデスクワークにもどる行動の場合である。なお、後の処理も含めて、平均値と標準偏差値を逐次更新せず、総和と要素数をそれぞれ計算し、全ての処理が終了した最後に一括して平均値と標準偏差値を求めるようにしてもよい。
【００８１】
次に、行動モデル生成部１１５は、図１１のステップＳ１０４で状態遷移グラフの融合処理を行う。
【００８２】
上記ステップＳ１０３では、出現頻度の最も高いシーケンスについて状態遷移グラフを生成したので、このステップＳ１０４では、残りの総てのシーケンスについて、頻度が高い順に１つのシーケンスを選択し、上記ステップＳ１０３で生成した既存（出現頻度が最高）の状態遷移グラフにマッチするか否かを判定する。また、出現頻度が最高の状態遷移グラフにマッチしない場合には、当該シーケンスについて出現頻度が最高の状態遷移グラフに近似するか否かを判定する。
【００８３】
ここで、選択したシーケンスについて出現頻度が最高の状態遷移グラフにマッチするとは、図１８において繰り返し構造になる部分の出現回数が異なる、あるいは行動内容の順序が異なるが状態遷移グラフとしては同型になるものである。
【００８４】
そして、選択したシーケンスについて出現頻度が最高の状態遷移グラフにマッチする場合は、既存の状態遷移グラフに選択したシーケンスを融合する。この場合は状態遷移グラフの形状を変更することは不要で、状態遷移付加情報格納テーブル９００から、枝に付加した状態遷移付加情報の遷移総数９０１と遷移数９０２を対応する箇所で足し合わせる融合処理を行う。
【００８５】
一方、選択したシーケンスが出現頻度の最も高い状態遷移グラフに近似する形状とは、状態遷移グラフを構成する節点の種類の差異が少なく（例えば、０〜２個）、各節点を除去する(または無視する)、あるいはある枝を除去するとマッチする場合に両者の形状が近似すると定義する。任意の形状の状態遷移グラフではこのような判定処理は複雑であるが、本発明で処理の対象とする状態遷移グラフは、ほとんどの場合は先頭（１日の開始）と末端（１日の終了）が睡眠状態であり、多くのシーケンスでは、出勤（登校）−退勤（下校）のペアは１シーケンスに一つしか存在しない、などの前提となるルールを適用すると、状態遷移グラフの対応箇所を事前に特定でき、状態遷移グラフを分割して規模を小さくすることで容易に上記判定処理を実現することが可能になる。
【００８６】
上記選択したシーケンスが出現頻度の最も高い状態遷移グラフに近似する近い形状の場合は、異なる部分を既存の状態遷移グラフに追加する。この場合、状態遷移グラフの形状は変化する。また、状態遷移グラフの枝に付加した状態遷移付加情報の遷移総数９０１は足し合わせ、遷移数９０２は節点の行動内容が一致する場合には足し合わせ、節点の行動内容が異なる場合はそれぞれ元の値を保持すればよい。なお、選択したシーケンスが、出現頻度の最も高い状態遷移グラフにマッチせず、さらに近似もしない場合は、このシーケンスを上記ステップＳ１０３と同様の処理により状態遷移グラフを生成し、データサーバ２５０に保持しておく。
【００８７】
次に、行動モデル生成部１１５は、図１１のステップＳ１０５で個人パターンの融合処理を行う。個人パターンの融合処理では、上記ステップＳ１０３で生成した出現頻度の最も高いシーケンスの状態遷移グラフと、ステップＳ１０４で生成した最も高い状態遷移グラフに他のシーケンスを融合させた状態遷移グラフとを比較して、状態遷移グラフの始点から終点までの幾つかの経路(グラフ)のそれぞれがマッチするか否かを判定する。マッチしない場合には、出現頻度の最も高いシーケンスの状態遷移グラフと、ステップＳ１０４で生成した最も高い状態遷移グラフに他のシーケンスを融合させた状態遷移グラフの形状が近似しているかを判定し、形状が近似している場合には、ステップＳ１０４で生成した状態遷移グラフと既存のグラフを上記ステップＳ１０４と同様な処理で融合する。一方、出現頻度の最も高いシーケンスの状態遷移グラフと、ステップＳ１０４で生成した最も高い状態遷移グラフに他のシーケンスを融合させた状態遷移グラフの形状がマッチもせず、近い形状でもない場合には、独立した異なるパタンとしてそれぞれデータサーバ２５０に保持する。
【００８８】
次に、上記ステップＳ１０３で行われる状態遷移グラフの生成処理の詳細について説明する。図１９は、ステップＳ１０３で行われる状態遷移グラフの生成処理の詳細を示す。
【００８９】
行動モデル生成部１１５は、図１９において、ステップＳ１０３１で、図１２、図１３で示したリスト構造で、被験者２１０毎に１日毎の行動内容を列挙する。この際に、各節点に行動内容と開始時刻、終了時刻を設定する。なお、各行動内容は、行動内容格納テーブル８００の行動内容項目８０６の値であり、開始時刻は行動内容格納テーブル８００の開始日時８０３の時刻の値であり、終了時刻は行動内容格納テーブル８００の終了日時８０４の時刻の値である。
【００９０】
ステップＳ１０３２では、列挙したリストを比較して同一構造のリストがあればリストの個数Ｎを計数し、その後ひとつのリストにまとめる。ここで、同一構造のリストとは、節点、枝の配置及び節点の行動内容が等しいリストを指す。この結果、ある被験者２１０の記録データ１０９〜１１２について同一構造のリストをまとめ、個数（出現日数）Ｎを算出した結果が図２４で示すようになる。
【００９１】
図２４は、ある被験者２１０の全てのリスト（９０日間の記録データ）から、同一構造のリスト（状態遷移グラフ）をひとつにまとめた結果である。図示のように、全リストのうち、４７日間が始点の睡眠平日Ａ、朝食支度、通勤、仕事午前、昼食、仕事午後、通勤退勤、夕食くつろぐ、睡眠平日Ｂの順で行動内容が出現するシーケンスとなった例を示す。
【００９２】
ステップＳ１０３３では、上記ステップＳ１０３２で、同一構造のリストが一つにまとめられた後に、複数のリストの中から一つのリストをＬ０として選択する。そして、この選択したリストＬ０を状態遷移グラフの初期値Ｇとし、選択したリストＬ０に結合するリストＬｉを選択する。状態遷移グラフの初期値ＧとするリストＬ０の選択は、例えば、最も出現頻度の高いリスト（図２４の４７日出現：Ｎ＝４７）を選択するなど、所定の基準で選択を行う。
【００９３】
次に、ステップＳ１０３４では、選択したリストＬ０の状態遷移グラフの初期値Ｇについて始点から終点までの経路を探索し、結合対象のリストＬｉの節点が同一の順序で、かつ、出現回数が最も多い経路Ｐを求める。
【００９４】
ステップＳ１０３５では、ステップＳ１０３４で求めた経路Ｐに沿って、結合対象のリストＬｉの節点のうち同一のものは、状態遷移グラフの初期値Ｇの既存の節点とし、異なる節点については新たに状態遷移グラフの初期値Ｇに節点を追加して結合対象のリストＬｉを状態遷移グラフの初期値Ｇに融合する。この時、各節点になった元のリストの付加情報（開始時刻、終了時刻、個数など）をすべて記録し、新しく出来た枝にはリストＬｉの個数Ｎを付加情報とし付け、初期値ＧＧの経路を通る場合はその経路の枝の付加情報にＮを加え、状態遷移グラフを生成する。
【００９５】
例えば、図２４のＮ＝４７のリストＬ０を状態遷移グラフの初期値Ｇとした場合、図２５で示すように、Ｎ＝１０のリストＬ１が「出張」を除いて初期値Ｇと一致するので、この「出張」の節点を初期値Ｇに加え、また、「出張」に至る枝の出現回数Ｎ＝１０をセットする。
【００９６】
次に、図１９のステップＳ１０３６では、行動モデル生成部１１５が、次のリストＬｉを選択する。そして、ステップＳ１０３７で、行動モデル生成部１１５は次のリストＬｉの有無を判定し、次のリストＬｉが存在する場合は、上記ステップＳ１０３４に戻って上記処理を繰り返す。一方、次のリストＬｉが存在しない場合には、ステップＳ１０３８へ進む。
【００９７】
ステップＳ１０３８では、状態遷移グラフの初期値Ｇの各節点に保存されている付加情報から図９に示した行動内容格納テーブル８００の行動情報を算出する。各節点の開始時刻と終了時刻は既に設定されており、全てのリストＬｉのｎ個の節点の開始時刻をＴＳｊとし、終了時刻をＴＥｊとすると、以下のように算出する。
【００９８】
開始時刻の最小値８０７  ＝ｍｉｎ（ＴＳｊ，  ｊ＝１〜ｎ）
開始時刻の最大値８０８  ＝ｍａｘ（ＴＳｊ，  ｊ＝１〜ｎ）
開始時刻の平均値８０９  ＝（ΣＴＳｊ  （ｊ＝１〜ｎ））  ／  ｎ
開始時刻の標準偏差値８１０
＝√（（Σ（ＴＳｊ−開始時刻の平均値）2   （ｊ＝１〜ｎ））／ｎ）
終了時刻の最小値８１１  ＝ｍｉｎ（ＴＥｊ，  ｊ＝１〜ｎ）
終了時刻の最大値８１２  ＝ｍａｘ（ＴＥｊ，  ｊ＝１〜ｎ）
終了時刻の平均値８１３  ＝（ΣＴＥｊ  （ｊ＝１〜ｎ））  ／  ｎ
終了時刻の標準偏差値８１４
＝√（（Σ（ＴＥｊ−終了時刻の平均値）2   （ｊ＝１〜ｎ）／ｎ）
持続時間の最小値８１５  ＝ｍｉｎ（ＴＥｊ−ＴＳｊ，  ｊ＝１〜ｎ）
持続時間の最大値８１６  ＝ｍａｘ（ＴＥｊ−ＴＳｊ，  ｊ＝１〜ｎ）
持続時間の平均値８１７  ＝Σ（ＴＥｊ−ＴＳｊ）  （ｊ＝１〜ｎ））／ｎ
持続時間の標準偏差値８１８
＝√（（Σ（ＴＥｊ−ＴＳｊ−持続時間の平均値）2 （ｊ＝１〜ｎ）／ｎ）
次に、図１９のステップＳ１０３９では、状態遷移グラフの初期値Ｇの各枝Ｅｉに保存されている付加情報ｎｉから各枝の遷移確率ｐｉを求める。ある節点から出る枝の付加情報の総和Σｎｊのとき、遷移確率ｐｉは、
ｐｉ＝ｎｉ／Σｎｊ
として求められる。
【００９９】
すなわち、状態遷移グラフの初期値Ｇに、新たに加えた節点の遷移確率を上記より求めて、状態遷移グラフに遷移確率を付加する。図２６は節点と枝の関係を示す説明図である。図２６の遷移確率付きの状態遷移グラフにおいて、始点Ｎｓからある節点Ｎｘに至る確率Ｐｓｘは、節点Ｎｘに至るすべての経路Ｒｉ∈ＳＲ  （ｉ＝１〜Ｎ）について、経路Ｒｉ上の全ての枝の遷移確率Ｐｉｊ（ただし、ｊ＝１〜ｍ）の積  ΠＰｉｊの総和  Σｉ  （Πｊ  Ｐｉｊ）  （ｉ＝１〜Ｎ，  ｊ＝１〜ｍ）と定義する。
【０１００】
例えば、図２６において、節点Ｎ１から節点Ｎ４に至る確率をＰｎ１ｎ４とすると、Ｐｎ１ｎ４  ＝  Ｐ１１＊Ｐ２２  ＋  Ｐ１２＊Ｐ３１
として求めることができる。
【０１０１】
この結果、行動モデル生成部１１５が、図２５のように求めた状態遷移グラフは、図２７で示すように節点（行動内容）への遷移確率Ｐｓｘを付加した遷移確率付き状態遷移グラフを生成する。
【０１０２】
行動モデル生成部１１５は、上記図１１のステップＳ１０１〜１０４の処理と、図１９の処理を、全ての被験者２１０の全ての記録データ１０９〜１１２に対して実施し、被験者２１０毎の状態遷移グラフを生成する。また、状態遷移グラフの各節点に遷移確率を付与した状態遷移グラフを生成する。
【０１０３】
＜薄いデータについて＞
一方、行動予測対象者２３０からの薄いデータとしては、上述したように交通系ＩＣカード（または交通系ＩＣチップを供えた携帯機器）の使用履歴を用いる。
【０１０４】
薄いデータとは、交通系ＩＣカードの使用履歴のように、ＩＣカードを利用したタイミング（これをイベントと呼ぶ）でのみ記録データ１２５が格納されているデータである。ここで交通系ＩＣカードの使用とは、具体的には図２に示したセンサとしてのリーダライタ１２１に交通系ＩＣカードをかざして当該交通系ＩＣカードが認識される事を指す。センサとしてのリーダライタ１２１は、交通系ＩＣカードから読み取った情報をイベント（センシングデータ１２０）として送信し、データサーバ２５０の記録データ１２５に格納される。このイベントは、交通系ＩＣカードが認識されたその瞬間の記録である。例外としては状態変化の際に必ずそのイベントが記録されている場合である。例えば、入退室用のＩＣカードで入室と退室の記録がすべて残っていれば対象者が部屋にいたのか、外にいたのかというイベントの前後の状態を識別することができる。
【０１０５】
薄いデータの記録データ１２５としては、例えば図２０に示すデータ形式でイベントを記録する。イベントを構成する情報は、イベント内容ＩＤ１３０１、ユーザＩＤ１３０２、イベント発生日時１３０３、行動内容１３０４である。例えば、ユーザＩＤ１３０２は交通系ＩＣカードのＩＤを用い、イベント内容ＩＤ１３０１は行動内容１３０４のＩＤを示し、イベント発生日時１３０３は、センサとしてのリーダライタ１２１が交通系ＩＣカードを認識した日時であり、行動内容１３０４としては、乗車（または下車）などの所定の項目が格納される。
【０１０６】
＜行動マッチ度数算出部＞
次に、計算サーバ２６０の行動マッチ度数算出部１３０について説明する。行動マッチ度数算出部１３０は、薄いデータとして採取されたデータサーバ２５０の記録データ１２５のイベントが、行動モデル生成部１１５の状態遷移グラフの中の何れの行動内容(節点)にマッチするかを予め定義しておく。例えば、記録データ１２５の行動内容１３０４が乗車であれば、状態遷移グラフの行動内容が「出勤」または「退勤」にマッチすることを予め設定しておく。
【０１０７】
図２１は、行動マッチ度数算出部１３０で行われる処理の一例を示すフローチャートである。このフローチャートは、行動モデル生成部１１５の上記処理が完了した後に実行される。
【０１０８】
まず、ステップＳ２０１では、行動マッチ度数算出部１３０は、ＰＣ２７０から行動予測対象者２３０の識別子を受け付けて、データサーバ２５０の記録データ１２５に格納された薄いデータから前記識別子と図２０のユーザＩＤ１３０２が一致するデータを抽出する。そして、抽出した記録データ１２５について、１日の起点（例えば、午前３時）から１日単位でイベントを列挙し、これらの列挙したイベントをイベント列として保持する。
【０１０９】
次に、ステップＳ２０２では、上記図１１の行動モデル生成部１１５が生成した複数の状態遷移グラフを順次トレースし、イベントの発生時刻で当該イベントに対応する行動内容(節点)がある場合（マッチする）は、当該イベントを残す。一方、当該イベントが状態遷移グラフにマッチしない場合は、当該イベントを計数の対象から排除する。
【０１１０】
ステップＳ２０３では、行動マッチ度数算出部１３０は、全ての状態遷移グラフについて、イベントの発生時刻が状態遷移グラフの行動内容の開始時刻〜終了時刻に一致し、状態遷移グラフの行動内容の項目が、当該イベントに対応する行動内容に一致するイベントを抽出する。
【０１１１】
次に、ステップＳ２０３では、イベントの数を状態遷移グラフ毎のマッチ数として計数する。すなわち、状態遷移グラフ毎にマッチしたイベント列に含まれるイベントの数をカウントする。このとき複数の状態遷移グラフにマッチしたイベントは、それぞれの状態遷移グラフでマッチ数を計数する。
【０１１２】
次に、ステップＳ２０４では、上記ステップＳ２０３で計数した状態遷移グラフ毎のマッチ数を計数する。そして、マッチ数の総和とイベント列の全日数の比をマッチ度数として求める。なお、マッチ度数は、この他、各状態遷移グラフのマッチ数をマッチ数の総和で除した値としても良い。
【０１１３】
上記処理のステップＳ２０４の処理の詳細を図２２のフローチャートに示す。図２２において、まず、ステップＳ２０４１では、行動マッチ度数算出部１３０が、上記図１１の行動モデル生成部１１５で生成した状態遷移グラフのうち一つをＰｉとして選択する。
【０１１４】
次に、ステップＳ２０４２では、選択した状態遷移グラフ（生活行動モデル１１６のパターン）Ｐｉのマッチ度数ＮＭｐｉを０にリセットする。ステップＳ２０４３では、行動マッチ度数算出部１３０が上記ステップＳ２０１で列挙したイベント列のうち、最初の１日分のイベント列をＬｅとして選択する。このとき、イベント列は、各イベントを時系列的に結合したものである。
【０１１５】
次に、ステップＳ２０４４では、選択した１日分のイベント列Ｌｅのうち、状態遷移グラフの行動内容に対応する最初のイベントＥｉを選択する。ステップＳ２０４５では、状態遷移グラフＰｉを最初の節点（睡眠）から順次辿って、選択中のイベントＥｉに対応する行動内容のうち、開始時刻の最小値８０７と終了時刻の最大値８１２の間に当該イベントＥｉの発生時刻１３０３が含まれる行動内容Ｂｊを探索し、ステップＳ２０４６で該当する行動内容Ｂｊが存在するか否かを判定する。
【０１１６】
ステップＳ２０４６では、選択したイベントＥｉの発生時刻を含む行動内容Ｂｊが存在する場合にはステップＳ２０５３へ進み、存在しない場合にはステップＳ２０４７に進む。
【０１１７】
行動内容Ｂｊが存在するステップＳ２０５３では、イベント列Ｌｅから次のイベントＥｉを選択する。ステップＳ２０５４では、次のイベントＥｉの有無を判定し、次のイベントＥｉが存在すれば上記ステップＳ２０４５の処理に戻って行動内容Ｂｊの探索を行う。
【０１１８】
一方、次のイベントＥｉが存在しない場合には、ステップＳ２０５５に進んでマッチ度数ＮＭｐｉをインクリメントしてステップＳ２０４７に進む。
【０１１９】
ステップＳ２０４７では、ひとつのイベント列Ｌｅについて行動内容Ｂｊの探索が終了したので、次のイベント列Ｌｅを選択する。ステップＳ２０４８では、次のイベント列Ｌｅの有無を判定し、次のイベント列Ｌｅが存在する場合にはステップＳ２０４４の処理に戻って、状態遷移グラフの行動内容に対応するイベントＥｉで行動内容Ｂｊを探索する処理を繰り返す。
【０１２０】
一方、次のイベント列Ｌｅが存在しない場合にはステップＳ２０４９に進んで、マッチ度数Ｍｐｉを現在のマッチ度数Ｍｐｉと全てのイベント列Ｌｅの全日数で除して求める。ステップＳ２０５０では、ひとつの状態遷移グラフＰｉについてイベントＥｉの探索が完了したので、次の状態遷移グラフＰｉを選択する。ステップＳ２０５１では、次の状態遷移グラフＰｉの有無を判定し、次の状態遷移グラフＰｉが存在する場合にはステップＳ２０４２へ戻って上記処理を繰り返す。一方、次の状態遷移グラフＰｉが存在しない場合にはステップＳ２０５２へ進んで、ステップＳ２０４９で求めたマッチ度数Ｍｐｉの順に状態遷移グラフ（生活行動モデル１１６のパターン）Ｐｉを列挙する。
【０１２１】
以上の処理により、ＰＣ２７０から指定された行動予測対象者２３０の薄いデータと、複数の被験者２１０の生活行動モデル１１６から求めた状態遷移グラフから、薄いデータがマッチする行動内容のマッチ度数が得られる。そして、状態遷移グラフはマッチ度数の多い順に列挙される。
【０１２２】
＜行動予測部＞
次に、計算サーバ２６０の行動予測部１４０について説明する。図２３は、行動予測部１４０で行われる処理の一例を示すフローチャートである。このフローチャートは、行動マッチ度数算出部１３０の上記処理が完了した後に起動する。行動マッチ度数算出部１３０が求めたマッチ度数Ｍｐｉの大きい順で列挙された状態遷移グラフについて、行動予測部１４０は薄いデータを提供した行動予測対象者２３０の行動を予測する。
【０１２３】
まず、ステップＳ３０１で行動予測部１４０は、ＰＣ２７０から行動予測対象者２３０の行動を予測する時刻Ｔｅｘを受け付ける。ＰＣ２７０では、オペレータまたは管理者が行動予測対象者２３０の行動を予測したい時刻Ｔｅｘを入力し、行動予測部１４０はＰＣ２７０から行動予測対象者２３０の行動を予測する時刻Ｔｅｘを受け付ける。
【０１２４】
ステップＳ３０２では、行動予測部１４０がマッチ度数の総和Ｓｍを０にリセットして初期化を行い、ステップＳ３０３で、行動マッチ度数算出部１３０が求めたマッチ度数Ｍｐｉが最も大きい状態遷移グラフをパターンＰｉとして選択する。次に、ステップＳ３０４では、行動予測部１４０がマッチ度数総和Ｓｍに、現在選択しているパターンＰｉのマッチ度数Ｍｐｉを加算する。
【０１２５】
ステップＳ３０５では、現在選択したパターンＰｉで上記ステップＳ３０１で受け付けた時刻Ｔｅｘにおける節点の行動内容Ｂｉの集合を、行動内容Ｂｉｔｅｘｊ（ｊ＝１〜Ｎ）とし、上記図１９の処理で求めた行動内容Ｂｉに至る遷移確率ｐｉをｐｂｉｔｅｘｊとし、行動内容Ｂｉｔｅｘｊと遷移確率ｐｂｉｔｅｘｊとを列挙する。
【０１２６】
ステップＳ３０６では、行動予測部１４０が上記ステップＳ３０５で列挙した行動内容Ｂｉｔｅｘｊの非正規化予想確率Ｐｅｘｂｉｔｅｘｊを、上記マッチ度数Ｍｐｉから、
Ｐｅｘｂｉｔｅｘｊ  ＝  Ｍｐｉ×ｐｂｉｔｅｘｊ／１００
として演算する。
【０１２７】
ステップＳ３０７では、行動予測部１４０が上記ステップＳ３０６で求めた全ての行動内容の非正規化予想確率Ｐｅｘｂｉｔｅｘｊの総和を非正規化予想確率総和Ｓｐｅｘとし、
Ｓｐｅｘ  ＝  Σ（ｊ＝１〜Ｎ）  Ｐｅｘｂｉｔｅｘｊ
により演算する。
【０１２８】
ステップＳ３０８では、行動予測部１４０が上記ステップＳ３０６で求めた全ての行動内容の非正規化予想確率Ｐｅｘｂｉｔｅｘｊと、ステップＳ３０７で求めた非正規化予想確率総和Ｓｐｅｘから、各行動内容の正規化予想確率Ｐｓｅｘｂｉｔｅｘｊを、
Ｐｓｅｘｂｉｔｅｘｊ  ＝  Ｐｅｘｂｉｔｅｘｊ／Ｓｐｅｘ
として演算する。
【０１２９】
ステップＳ３０９では、行動予測部１４０が上記ステップＳ３０８で求めた各行動内容の正規化予想確率Ｐｓｅｘｂｉｔｅｘｊと行動内容Ｂｉのペアを列挙する。
【０１３０】
ステップＳ３１０では、行動予測部１４０が上記ステップＳ３０４で更新したマッチ度数総和Ｓｍが所定値としての５０％以上であるか否かを判定する。
【０１３１】
マッチ度数総和Ｓｍが所定値未満の場合には、ステップＳ３１１へ進んで、次の状態遷移グラフＰｉを選択し、ステップＳ３０４に戻って選択した状態遷移グラフのマッチ度数Ｍｐｉをマッチ度数総和Ｓｍに加算する。
【０１３２】
一方、マッチ度数総和Ｓｍが所定値以上であれば、行動予測部１４０は上記ステップＳ３０９で列挙した行動内容Ｂｉと正規化予想確率Ｐｓｅｘｂｉｔｅｘｊのペアを予測結果として出力する。
【０１３３】
上記処理により、行動予測部１４０は、マッチ度数Ｍｐｉの高い順に状態遷移グラフを順次選択し、マッチ度数総和Ｓｍが所定値（５０％）以上となるまで状態遷移グラフのパターンＰｉを選択する。そして、行動予測部１４０は、マッチ度数総和Ｓｍが所定値以上になったときの複数の状態遷移グラフのパターンを、指定された時刻Ｔｅｘにおける行動予測対象者２３０の予想行動パターンとして出力する。
【０１３４】
以上の処理よって、指定した時刻Ｔｅｘにおける行動予測対象者２３０の行動の予測を行う際に、まず、行動内容に関してマッチ度数Ｍｐｉの高い状態遷移グラフのパターンを選択し、指定された時刻Ｔｅｘにおける行動内容Ｂｉと、この行動内容Ｂｉに至る正規化予想確率とをペアで列挙する。
【０１３５】
ここで、指定された時刻Ｔｅｘにおける状態遷移グラフの行動内容は、当該行動内容が継続する時間範囲を持ち、また状態遷移グラフには複数の経路が存在するため、複数の行動内容の集合となる。更に各行動内容の遷移確率に、選択した状態遷移グラフのマッチ度数Ｍｐｉを掛け合わせ、各行動内容に至る予想確率（非正規化予想確率）とし、これらの予想確率の総和が１００％となるように予想確率を正規化し、行動内容とともに列挙する。ここで列挙された行動内容と正規化された予想確率（正規化予想確率）のペアを、行動の予測結果として、ＰＣ２７０の表示部１５０に出力する。
【０１３６】
図２９は、行動予測対象者２３０の薄いデータから行動予測を行った結果の濃いデータを示すグラフである。図２９のグラフは、ある１日の行動内容の変化を時系列で示したものである。図中上段が濃いデータを示し、下段が薄いデータを示す。
【０１３７】
図中下段の薄いデータは、行動予測対象者２３０の記録データ１２５のから選択したイベント列である。このイベント列は、交通系ＩＣカード２３１を使用したイベントを時系列的に列挙したものである。
【０１３８】
図中上段の濃いデータは、図中下段のイベント列にマッチする状態遷移グラフを探索し、上記マッチ度数により選択した状態遷移グラフの行動内容を時系列で列挙したものである。
【０１３９】
図中のイベント列のうち、「通勤出勤」と「通勤退勤」に対応して薄いデータの使用履歴として最寄駅入場または出場がデータサーバ２５０の記録データ１２５に蓄積されている。行動予測の対象時刻Ｔｅｘを現時刻＝１１：００とすると、濃いデータにおける「現在の行動」は「仕事午前」、「次の行動」は「昼食」となる。
【０１４０】
なお、本実施形態では、濃いデータ（行動）と薄いデータ（イベント）の対応を、「自宅最寄入場」〜「仕事場最寄出場」なら「通勤出勤」、「仕事場最寄入場」〜「自宅最寄出場」なら「通勤退勤」と予め定義しておくものとする。この定義は図１に示した定義１３５として計算サーバ２６０のメモリやストレージ装置に記憶しておけばよい。
【０１４１】
図３０は、行動予測対象者２３０の薄いデータから行動予測を行った結果の濃いデータを示すグラフと状態遷移グラフ及びイベント内容格納テーブル１３００の関係を示す説明図である。
【０１４２】
１日のイベント列は図２０に示したデータフォーマットで、図中５つのデータがイベント内容格納テーブル１３００に格納される。上段にある状態遷移グラフを被験者２１０の状態遷移とする。状態遷移グラフの先頭の節点からイベント内容格納テーブル１３００の行動内容と比較していくと、イベントの「自宅最寄入場」〜「仕事場最寄出場」と対応する「通勤出勤」が存在し、その時刻範囲も通勤出勤の範囲(図２８参照)に入っている。更に、イベントの「仕事場最寄入場」〜「自宅最寄出場」と対応する「通勤退勤」が存在し、その時刻範囲も通勤出勤の範囲に入っている。このように、薄いデータに対応する濃いデータの行動が存在し、時刻範囲も定義内にある状態を「マッチする」と呼ぶ。図示の例では、薄いデータのすべてのイベントに対し、濃いデータの対応する節点が存在し、時刻範囲も定義内にあるため、この１日分のイベント列は「マッチした」ことになる。
【０１４３】
上記マッチの処理を記録データ１０９〜１１２の全日分のイベント列に関して行う。例えば、１００日分のイベント列があり、そのうち６０日がある状態遷移グラフの生活行動モデルにマッチすれば、その生活行動モデル（状態遷移グラフ）に対するマッチ度数Ｍｐｉは６０％となる。これを全ての状態遷移グラフ（パターン）に対して行い、マッチ度数Ｍｐｉの高い順に状態遷移グラフを列挙する。（ここまでが（５）行動マッチ度数算出の処理、図２２）
ここで、イベント内容格納テーブル１３００のイベント列は、図２０に示すようにイベント内容格納テーブル１３００に記録された行動予測対象者２３０(ユーザＩＤ)のある１日のレコードの時刻順の列になる。
【０１４４】
図２８の例において、図中状態遷移グラフのマッチ度数Ｍｐｉが６０％のとき、指定時刻Ｔｅｘ＝午前１０：３０の行動予測を行う例を示す。
【０１４５】
まず、時刻Ｔｅｘ  （＝１０：３０）の行動は、仕事午前に至る確率は、図２７より１．０×０．８５×１．０＝０．８５となる。
【０１４６】
また、図２７より、出張に至る確率は、１．０×０．１５＋１．０×０．８５×１．０×０．２＝０．１５＋０．１７＝０．３２となる。
【０１４７】
そして、上述した非正規化予想確率は、次のようになる。
（１）      仕事午前  Ｐｅｘ１＝０．６×０．８５＝０．５１
（２）      出張      Ｐｅｘ２＝０．６×０．３２＝０．１９２
上記非正規化予想確率から正規化予想確率Ｐｓｅｘは、次のようになる。
非正規化予想確率の総和Ｓｐｅｘ  ＝  ０．５１＋０．１９２＝０．７０２
（１）      仕事午前  Ｐｓｅｘ１＝０．５１／０．７０２＝０．７２６５
（２）      出張  Ｐｓｅｘ２＝０．１９２／０．７０２＝０．２７３５
そして、行動予測部１４０から出力される行動内容と正規化予想確率のペアは、
（１）（仕事午前、７２．６５％）
（２）（出張、２７．３５％）
となる。
【０１４８】
以上のように、本発明によれば、複数の被験者２１０に２４時間の生活行動を採取するためのセンサノード１０を付与し、濃いデータとしての記録データ１０９〜１１２を蓄積しておく。そして、濃いデータから状態遷移グラフを含む生活行動モデル１１６を、行動予測の以前に作成しておく。被験者２１０とは異なる行動予測対象者２３０はコストのかかるセンサノード等のセンサ類を所持する必要がなく、また行動予測対象者２３０の性別、年齢などの属性を公開することなく、コストの低いセンサ類（交通系ＩＣカード及びＩＣリーダライタ）から取得できる薄いデータのみから行動予測対象者２３０の行動を予測することが可能となる。
【０１４９】
この行動予測は、例えば、濃いデータを収集するためのコストのかかるセンサ類として特開２００６−３１２０１０号公報に開示されるような生体センサを用い、薄いデータを収集するためのコストのかからないセンサ類として特開平２−１３６９９０号公報に開示されるようなＩＣカード状の乗車券の利用履歴、とすることでＩＣカード状の乗車券の利用履歴から行動予測対象者２３０の行動を詳細に予測する事が可能になる。
【０１５０】
本発明の行動予測を用いることで、次のような効果を得ることができる。
【０１５１】
まず、行動予測対象者２３０がＩＣカード状の乗車券の利用時にどのような行動内容にあり(例えば、通勤の途中等)、次にどのような行動を取るか(例えば、買い物をする等)予測することができる。
【０１５２】
また、被験者２１０から収集した生活行動モデル１１６のパターン毎に、被験者２１０の嗜好(例えば、ファッション、食べ物、映画や音楽等の娯楽)や、商品購入の傾向(どのような時間帯にどのくらいの買い物をするか等)が判っていれば、行動予測対象者２３０の行動予測をより詳細に予測することが可能になる。これらの行動予測結果は、例えば、マーケティングや商品企画、出店計画などに用いる事ができる。
【０１５３】
また、生活行動モデル１１６を特定の病気(生活習慣病等)になりやすい生活習慣の人と、そうでない人のパターンに分けて蓄積しておくことで、行動予測対象者２３０が特定の病気になりやすいか否かの予測を行う事が可能となるのである。
【０１５４】
なお、上記第１の実施形態においては、加速度センサを備えたセンサノードで人の動作を検知する濃いデータを継続的に収集し、交通系ＩＣカードのリーダライタで薄いデータを断続的に収集した。濃いデータは、これに限定されるものではなく、被験者２１０の行動、動作を連続的に検知して、１日の行動内容を時系列的に把握することが可能な情報であればよい。また、薄いデータは、行動予測対象者２３０の行動を断片的に検知することが可能な情報であればよく、イベント型の薄いデータが示すイベントと、濃いデータの特定の行動内容の対応が定義されていれば本発明を適用することができる。例えば、薄いデータの他の一例としては、携帯電話の使用履歴を用いることができ、イベントと濃いデータの関係は、自宅電話番号へ電話をするというイベントを、通勤退勤時の行動内容に対応付け、友人電話番号へ電話をするというイベントを、夕食くつろぐという行動内容に対応付け、写真を撮るというイベントを、買物という行動内容に対応付け、交通機関の乗換案内サービスを利用するというイベントを、出張または買物という行動内容に対応付けることができる。
【０１５５】
＜第２の実施形態＞
図３１、図３２は、第２の実施形態を示し、前記第１実施形態の交通系ＩＣカード２３１に対して、計算サーバ２６０が行動予測対象者２３０の行動予測結果を書き込むようにしたもので、その他の構成は前記第１実施形態と同様である。また、本第２実施形態は、濃いデータを収集する第１のセンサネットワークシステムから分離されて、生活行動モデルを保持して行動予測対象者２３０の行動予測を行って予測結果を交通系ＩＣカード２３１に書き込むスタンドアロンの計算機２８６を備えたものである。
【０１５６】
行動予測対象者２３０が保持する交通系ＩＣカード２３１は、センサとしてのリーダライタ１２１と無線通信を行う無線通信制御回路２３１１と、制御を行うマイクロコントローラ２３１２と、データを保持する不揮発メモリ２３１３を内蔵し、不揮発メモリ２３１２には電子マネーとしての残高金額をデータとして記録し、また、小額決済の機能を持つ。
【０１５７】
行動予測対象者２８０が保持する交通系ＩＣカード２８１も同様であり、センサとしてのリーダライタ２８５と無線通信を行う無線通信制御回路２８１１と、制御を行うマイクロコントローラ２８１２と、データを保持する不揮発メモリ２８１３を内蔵し、不揮発メモリ２８１２には電子マネーとしての残高金額をデータとして記録し、また、小額決済の機能を持つ。なお、リーダライタ１２１は、駅の改札装置に含まれるもので、また、リーダライタ２８５は、商店等の店頭端末に含まれるものである。リーダライタ１２１は、前記第１実施形態と同様にネットワーク２４０を介してデータサーバ２６０及び計算サーバ２６０に接続されるが、リーダライタ２８５は、スタンドアロンの計算機２８６に接続される。
【０１５８】
計算サーバ２６０は、前記第１実施形態の行動モデル生成部１１５、行動マッチ度数算出部１３０及び行動予測部１４０に加えて、行動頻度算出部２６４とカード情報制御部２６５とを備える。行動頻度算出部２６４は交通系ＩＣカード２３１の利用履歴を解析し、利用頻度の高い駅の情報を順に列挙する。カード情報制御部２６５は交通系ＩＣカード２３１の不揮発メモリへの情報の書込み制御を行う。
【０１５９】
スタンドアロンの計算機２８６は、計算サーバ２６０が生成した被験者２１０の生活行動モデル２８６１を保持する記憶部を有しており、行動予測対象者２８０の交通系ＩＣカード２８１の使用履歴（薄いデータ）を受信し、当該使用履歴から行動予測対象者２８０の行動を予測し、予測結果を交通系ＩＣカード２８１に書き込む行動予測部２８６２を備える。計算サーバ２６０が生成した被験者２１０の生活行動モデル２８６１は、オフラインで計算機２８６に転送し、予め計算機２８６の記憶部に格納しておく。あるいは、計算サーバ２６０と計算機２８６をネットワークで接続してオンラインで生活行動モデル２８６１を転送した後に、計算機２８６をネットワークから外してスタンドアロンとしても良い。
【０１６０】
スタンドアロンの計算機２８６の行動予測部２８６２は、計算サーバ２６０の行動マッチ度数算出部１３０及び行動予測部１４０を含み、生活行動モデル２８６１には、遷移確率付きの状態遷移グラフが予め格納されている。スタンドアロンの計算機２８６の行動予測部２８６２は、行動予測対象者２８０の交通系ＩＣカードの使用履歴と生活行動モデル２８６１から前記第１実施形態の行動予測部１４０と同様の処理を行って行動予測対象者２８０の行動内容を予測する。なお、スタンドアロンの計算機２８６が保持する生活行動モデル２８６１は、予め計算サーバ２６０の行動モデル生成部１１５で状態遷移グラフを作成し、オフラインで計算機２８６のストレージ装置に書き込んでおく。
【０１６１】
交通系ＩＣカード２３１（または２８１）に内蔵する不揮発メモリ２３１３（または２８１３）は、図３２に示す情報を格納する。図３２において、交通系ＩＣカード２３１が不揮発性メモリ２３１３に格納するデータとしては、行動予測対象者２８０のＩＤであるユーザＩＤと、交通系ＩＣカード２３１としての本来の機能に必要なデータ（交通系非接触カード向け情報）、そして、生活行動モデル２８６１のパターンＩＤ及び利用頻度の高い駅の識別ＩＤである高頻度利用駅識別ＩＤ１〜ＩＤ４（ここでは頻度の高い４つの駅を格納）を含む。
【０１６２】
駅改札機のリーダライタ１２１は、行動予測対象者２３０が交通系ＩＣカード２３１をかざすと、入場・出場などの改札機としての動作のほかに、交通系ＩＣカード２３１内の不揮発メモリ２３１３にパターンＩＤと利用頻度の高い駅の識別ＩＤ（複数）を書き込む機能を有する。
【０１６３】
計算サーバ２６０は、行動頻度算出部２６４において予め各ユーザＩＤの利用駅の情報を蓄積、解析し、駅の識別ＩＤを利用頻度順に保持している。また、予め、各ユーザＩＤの薄いデータ（ここでは交通系非接触ＩＣカード）の使用履歴を用いて前記第１実施形態に示した行動マッチ度数の算出を行い、最もマッチ度数の高いパターン（状態遷移グラフ）のＩＤを記録しておく。
【０１６４】
行動予測対象者２３０が交通系ＩＣカード２３１をセンサとしてのリーダライタ１２１にかざすと、センサとしてのリーダライタ１２１がユーザＩＤを読み込んで、利用駅の情報（すなわち駅改札機の設置駅）とともに計算サーバ２６０に送られる。そして、計算サーバ２６０ではカード情報制御部２６５が受信したユーザＩＤに対応するパターンＩＤと利用頻度の高い駅の識別ＩＤのうち上位４個を取り出して駅改札機に送信し、駅改札機のリーダライタ１２１が受信したパターンＩＤと駅の識別ＩＤを交通系ＩＣカード２３１に書き込む。
【０１６５】
また、商店などの店頭端末装置のリーダライタ２８５に、行動予測対象者２８０が交通系ＩＣカード２８１をかざすと、交通系ＩＣカード２８１の不揮発メモリ２８１３に格納されているユーザＩＤと、パターンＩＤと、高頻度利用駅識別ＩＤ１〜ＩＤ４を読み出して計算機２８６へ送信する。
【０１６６】
計算機２８６は、リーダライタ２８５から受信した情報のうち、パターンＩＤにより予め計算サーバ２６０より複製しておいた生活行動モデル２８６１から対応するＩＤのパターンを読み出す。また、計算機２８６は、交通系ＩＣカード２８１を読み込んだ店頭端末装置が設置されている場所と読み出した高頻度利用駅識別ＩＤ１〜ＩＤ４を比較して、現在行動予測対象者２８０の場所が高頻度利用駅か否かの判定を行う。
【０１６７】
そして、行動予測部２８６２において、選択したパターンＩＤと、現在の時刻と、現在の場所の情報から、パターンＩＤに該当する生活行動モデル２８６１を参照して、行動予測対象者２８０の現在の行動と次の行動を予測する。
【０１６８】
計算機２８６は、行動の予測結果に基づいて、以下のサービスを行う。
【０１６９】
（Ａ）行動予測対象者２８０に対して、行動内容や、時刻または現在の場所により予め定義しておいた広告などのメッセージを、店頭端末装置のディスプレイ装置や携帯電話のメール機能を用いて伝達する。
【０１７０】
（Ｂ）店舗端末装置を操作する店員に対して、行動予測対象者２８０の行動内容や時刻または現在の場所により予め定義しておいた応対を店員が視認可能なディスプレイ装置に表示させる。
【０１７１】
（Ｃ）計算機２８６内で、行動予測対象者２８０の属性に相当する行動内容や時刻または現在の場所に関する情報を、後のマーケティングに用いるように蓄積する。
【０１７２】
このように、第２の実施形態によれば、行動予測対象者の交通系ＩＣカードの使用履歴がどの生活行動モデル１１６のパターンに相当するかを判定し、判定したパターンのＩＤを交通系ＩＣカードに書き込んでおく。これにより、ネットワークに接続していないリーダライタ２８５でも、予め濃いデータにより作成した生活行動モデルを計算機２８６に保持しておくことで、行動予測対象者のパターンＩＤを読み出すことにより次の行動を予測できる。
【０１７３】
以上のように、第２の実施形態においても、行動予測対象者はコストのかかるセンサ類を所持する必要がなく、また行動予測対象者自身の性別、年齢などの属性を公開することなく、コストの低いセンサ類（リーダライタ１２１、２８５）から取得した薄いデータのみから行動予測対象者の行動を予測することが可能となる。
【０１７４】
なお、上記各実施形態の交通系ＩＣカード２３１、２８１は、非接触式または接触式の何れであっても良い。また、交通系ＩＣカード２３１に代わって読み書き可能なＩＣカードを採用しても良い。
【０１７５】
また、上記各実施形態では、センサノード１０からのセンシングデータを収集するサーバ２１７，２１８と計算サーバ２６０を分離した構成を示したが、計算サーバ２６０にサーバ２１７，２１８の機能を集約しても良い。
【産業上の利用可能性】
【０１７６】
以上のように、本発明によれば、人の行動を予測してサービスやマーケティングに利用する行動予測システムに適用することができる。
【符号の説明】
【０１７７】
１０  センサノード
１２１  リーダライタ
２３１  交通系ＩＣカード
１０９〜１１２  記録データ
１２５  記録データ
１１６  生活行動モデル１１６
２５０  データサーバ
２６０  計算サーバ
１１５  行動モデル生成部
１３０  行動マッチ度数算出部
１４０  行動予測部
【図１】
2010211679.tif 000003
【図２】
2010211679.tif 000004
【図３】
2010211679.tif 000005
【図４】
2010211679.tif 000006
【図５】
2010211679.tif 000007
【図７】
2010211679.tif 000008
【図９】
2010211679.tif 000009
【図１０】
2010211679.tif 000010
【図１１】
2010211679.tif 000011
【図１２】
2010211679.tif 000012
【図１３】
2010211679.tif 000013
【図１４】
2010211679.tif 000014
【図１５】
2010211679.tif 000015
【図１６】
2010211679.tif 000016
【図１７】
2010211679.tif 000017
【図１８】
2010211679.tif 000018
【図１９】
2010211679.tif 000019
【図２０】
2010211679.tif 000020
【図２１】
2010211679.tif 000021
【図２２】
2010211679.tif 000022
【図２３】
2010211679.tif 000023
【図２４】
2010211679.tif 000024
【図２５】
2010211679.tif 000025
【図２６】
2010211679.tif 000026
【図２７】
2010211679.tif 000027
【図２８】
2010211679.tif 000028
【図２９】
2010211679.tif 000029
【図３０】
2010211679.tif 000030
【図３２】
2010211679.tif 000031
【図６】
2010211679.tif 000032
【図８】
2010211679.tif 000033
【図３１】
2010211679.tif 000034