(57)【特許請求の範囲】
【請求項１】
ユーザの動きを検知して動き情報を出力する動きセンサと、
現在地の情報を取得する現在地情報取得部と、
前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、
前記動きセンサから出力された動き情報を解析し、短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出部と、
前記建造物情報取得部により取得された建造物の情報、及び前記第１行動パターン検出部により検出された第１行動パターンをサーバに送信する送信部と、
を有する、携帯端末と、
前記携帯端末から前記建造物の情報、及び前記第１行動パターンを受信する受信部と、
前記受信部により受信された前記建造物の情報、及び前記第１行動パターンを解析し、長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出部と、
を有する、サーバと、
を含む、行動パターン解析システム。
【請求項２】
前記第２行動パターン検出部は、所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第１行動パターンから前記第２行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する、請求項１に記載の行動パターン解析システム。
【請求項３】
前記携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに有し、
前記送信部は、前記建造物情報取得部により取得された建造物の情報、前記第１行動パターン検出部により検出された第１行動パターン、及び前記時間情報取得部により取得された時間の情報を前記サーバに送信し、
前記サーバは、前記第１行動パターンと前記時間の情報との各組み合わせについて、前記建造物の情報と前記第２行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップを保持しており、
前記第２行動パターン検出部は、
前記第１行動パターン検出部により検出された第１行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、抽出した前記スコアの組の中で最大のスコアが所定値以下の場合に、
所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第１行動パターンから前記第２行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する、請求項１に記載の行動パターン解析システム。
【請求項４】
前記携帯端末は、
前記第２行動パターンの組み合わせにより表現することが可能なユーザの行動を時系列で記録したスケジュール情報が格納される記憶部と、
前記記憶部に格納されているスケジュール情報を読み出し、前記スケジュール情報に記録された現在、過去、未来のユーザの行動と、前記第２行動パターン検出部により検出された第２行動パターンとが適合するか否かを判定する適合判定部と、
前記適合判定部による判定結果に応じて前記スケジュール情報に記録されたスケジュールと実際の行動との一致、当該スケジュールからの遅れ、早まりを表示する表示部と、
をさらに有する、請求項１に記載の行動パターン解析システム。
【請求項５】
前記サーバは、前記第２行動パターン検出部により検出された第２行動パターンの履歴を用いて、次にユーザが行う第２行動パターンを予測する行動予測部をさらに有し、
前記適合判定部は、前記第２行動パターンに適合するユーザの行動が前記スケジュール情報に記録されていないと判定した場合に、前記行動予測部により予測された第２行動パターンを前記サーバから取得し、取得した前記第２行動パターンに適合するユーザの行動を前記スケジュール情報から抽出し、
前記表示部は、前記適合判定部により抽出されたユーザの行動に関する情報を表示する、請求項４に記載の行動パターン解析システム。
【請求項６】
前記サーバは、
前記現在地情報取得部により取得された現在地の情報、及び前記第１行動パターン検出部により検出された第１行動パターンを前記受信部により受信し、当該現在地の情報及び当該第１行動パターンの履歴を前記記憶部に格納する位置情報蓄積部と、
前記位置情報蓄積部により前記記憶部に蓄積された前記現在地の情報及び第１行動パターンの履歴を用いてユーザが停留する時間の長い場所をクラスタリングし、前記各場所の停留確率、及び前記場所間の移動確率を算出するクラスタリング部と、
を有し、
前記行動予測部は、前記クラスタリング部により算出された停留確率及び移動確率に基づいて前記次にユーザが行う第２行動パターンを予測する、請求項５に記載の行動パターン解析システム。
【請求項７】
前記行動パターン解析システムには、複数の前記携帯端末が含まれており、
前記サーバは、
所定の時間に通知すべき通知情報と、所定の前記第２行動パターンとを対応付けて記憶する通知情報記憶部と、
前記所定の時間になったときに前記受信部により前記各携帯端末から受信された前記建造物の情報及び第１行動パターンに基づいて前記第２行動パターン検出部により検出された第２行動パターンを参照し、前記所定の第２行動パターンと同じ第２行動パターンに対応する携帯端末に対して前記通知情報を通知する情報通知部と、
をさらに有する、請求項１に記載の行動パターン解析システム。
【請求項８】
前記情報通知部は、前記所定の第２行動パターンと同じ第２行動パターンに対応する携帯端末の数をカウントし、当該携帯端末の数が所定数以上である場合に、前記複数の携帯端末の全てに前記通知情報を通知する、請求項７に記載の行動パターン解析システム。
【請求項９】
ユーザの動きを検知して動き情報を出力する動きセンサと、
現在地の情報を取得する現在地情報取得部と、
前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、
前記動きセンサから出力された動き情報を解析し、短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出部と、
前記建造物情報取得部により取得された建造物の情報、及び前記第１行動パターン検出部により検出された第１行動パターンを解析し、長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出部と、
を備える、携帯端末。
【請求項１０】
前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備え、
前記建造物の情報と前記第２行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第１行動パターンと前記時間の情報との組み合わせ毎に設けられており、
前記第２行動パターン検出部は、
前記第１行動パターン検出部により検出された第１行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、
選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、
抽出した前記スコアの組の中で最大のスコアに対応する前記第２行動パターンを検出する、請求項９に記載の携帯端末。
【請求項１１】
前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備え、
前記建造物の情報と前記第２行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第１行動パターンと前記時間の情報との組み合わせ毎に設けられており、
前記建造物情報取得部は、前記現在地及び現在地周辺に存在する建造物の情報として、当該建造物の分類種別及び当該分類種別毎の建造物数を取得し、
前記第２行動パターン検出部は、
前記第１行動パターン検出部により検出された第１行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、
選択した前記スコアマップから前記建造物情報取得部により取得された前記各分類種別に対応するスコアの組を抽出し、
前記各分類種別に対応するスコアの組に含まれる各スコアを最大スコアで規格化し、
規格化した前記各分類種別に対応するスコアの組に対し、前記建造物情報取得部により取得された分類種別毎の建造物数に応じて重み付けし、
重み付けした前記各分類種別に対応するスコアを前記第２行動パターン毎に合算し、合算結果が最大となる前記第２行動パターンを検出する、請求項９に記載の携帯端末。
【請求項１２】
前記第２行動パターンに対応付けられたアプリケーションを起動するための表示オブジェクトが表示される表示部と、
前記第２行動パターン検出部により検出された第２行動パターンに応じて、当該第２行動パターンに対応付けられたアプリケーションの表示オブジェクトを優先的に前記表示部に表示させる表示制御部と、
をさらに備える、請求項９に記載の携帯端末。
【請求項１３】
ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、を有する携帯端末から、前記動き情報及び前記現在地の情報を受信する受信部と、
前記受信部により受信された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、
前記受信部により受信された動き情報を解析し、短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出部と、
前記建造物情報取得部により取得された建造物の情報、及び前記第１行動パターン検出部により検出された第１行動パターンを解析し、長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出部と、
を備える、行動パターン解析サーバ。
【請求項１４】
動き情報取得部が、ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得ステップと、
現在地情報取得部が、現在地の情報を取得する現在地情報取得ステップと、
建造物情報取得部が、前記現在地情報取得ステップで取得された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得ステップと、
第１行動パターン検出部が、前記動き情報取得ステップで取得された動き情報を解析し、短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出ステップと、
第２行動パターン検出部が、前記建造物情報取得ステップで取得された建造物の情報、及び前記第１行動パターン検出ステップで検出された第１行動パターンを解析し、長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出ステップと、
を含む、行動パターン解析方法。
【請求項１５】
ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得機能と、
現在地の情報を取得する現在地情報取得機能と、
前記現在地情報取得機能により取得された情報が示す現在地に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得機能と、
前記動き情報取得機能により取得された動き情報を解析し、短時間のユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出機能と、
前記建造物情報取得機能により取得された建造物の情報、及び前記第１行動パターン検出機能により検出された第１行動パターンを解析し、長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラムに関する。
【背景技術】
【０００２】
携帯電話等の携帯端末にモーションセンサを搭載し、ユーザの行動履歴を自動的に検出して記録できるようにする技術に注目が集まっている。例えば、下記の特許文献１には、加速度センサやジャイロセンサ等のモーションセンサを利用し、歩く動作、走る動作、左右にターンする動作、静止状態を検知する技術が開示されている。同文献には、モーションセンサの出力データから、歩行ピッチ、歩行パワー、重力軸まわりの回転角を算出し、その算出結果を用いて歩く動作、走る動作、左右にターンする動作、及び静止状態を検知する方法が記載されている。さらに、同文献には、これらの動作や状態の種類、動作や状態が継続していた時間、動作回数等、動作や状態のパターンを入力とする統計的な処理によりユーザの行動パターンを検知する方法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３６５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の方法を用いると、「のんびりした歩行」や「せわしない動作」といった行動パターンを時系列のデータとして得ることができる。しかし、この方法で得られる行動パターンは、比較的短時間に行われるユーザの動作や状態を主に表現したものである。そのため、「今日はデパートで買い物をした」「昨日はホテルのレストランで食事をした」等、具体的な行動内容を行動パターンの履歴から推察することは難しい。上記文献に記載の方法を用いて得られる行動パターンは、比較的短時間に行われる行動の積み重ねである。そして、当該行動パターンを形成する個々の行動自体は、ユーザが目的を持って行っているものではない。一方、具体的な行動内容は、ユーザが目的を持って行っているものが多く、比較的長時間にわたって行われるエンタテイメント性の高いものである。そのため、短時間で行われる行動の積み重ねから上記のような具体的な行動内容を窺い知ることは難しい。
【０００５】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、モーションセンサを用いて得られる比較的短時間の行動パターンから、比較的長時間にわたり行われるエンタテイメント性の高い行動パターンを検出することが可能な、新規かつ改良された行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある観点によれば、ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、前記動きセンサから出力された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出部と、前記建造物情報取得部により取得された建造物の情報、及び前記第１行動パターン検出部により検出された第１行動パターンをサーバに送信する送信部と、を有する、携帯端末と、前記携帯端末から前記建造物の情報、及び前記第１行動パターンを受信する受信部と、前記受信部により受信された前記建造物の情報、及び前記第１行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出部と、を有する、サーバと、を含む、行動パターン解析システムが提供される。
【０００７】
また、前記第２行動パターン検出部は、所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第１状態パターンから前記第２行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第１行動パターンに対応する第２行動パターンを検出するように構成されていてもよい。
【０００８】
また、前記携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに有していてもよい。
【０００９】
そして、前記送信部は、前記建造物情報取得部により取得された建造物の情報、前記第１行動パターン検出部により検出された第１行動パターン、及び前記時間情報取得部により取得された時間の情報を前記サーバに送信し、前記サーバは、前記第１行動パターンと前記時間の情報との各組み合わせについて、前記建造物の情報と前記第２行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップを保持しており、前記第２行動パターン検出部は、前記第１行動パターン検出部により検出された第１行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、抽出した前記スコアの組の中で最大のスコアが所定値以下の場合に、所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第１状態パターンから前記第２行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第１行動パターンに対応する第２行動パターンを検出するように構成されていてもよい。
【００１０】
また、前記携帯端末は、前記第２行動パターンの組み合わせにより表現することが可能なユーザの行動を時系列で記録したスケジュール情報が格納される記憶部と、前記記憶部に格納されているスケジュール情報を読み出し、前記スケジュール情報に記録された現在、過去、未来のユーザの行動と、前記第２行動パターン検出部により検出された第２行動パターンとが適合するか否かを判定する適合判定部と、前記適合判定部による判定結果に応じて前記スケジュール情報に記録されたスケジュールと実際の行動との一致、当該スケジュールからの遅れ、早まりを表示する表示部と、さらに有するように構成されていてもよい。
【００１１】
また、前記サーバは、前記第２行動パターン検出部により検出された第２行動パターンの履歴を用いて、次にユーザが行う第２行動パターンを予測する行動予測部をさらに有していてもよい。
【００１２】
そして、前記適合判定部は、前記第２行動パターンに適合するユーザの行動が前記スケジュール情報に記録されていないと判定した場合に、前記行動予測部により予測された第２行動パターンを前記サーバから取得し、取得した前記第２行動パターンに適合するユーザの行動を前記スケジュール情報から抽出し、前記表示部は、前記適合判定部により抽出されたユーザの行動に関する情報を表示するように構成されていてもよい。
【００１３】
また、前記サーバは、前記現在地情報取得部により取得された現在地の情報、及び前記第１行動パターン検出部により検出された第１行動パターンを前記受信部により受信し、当該現在地の情報及び当該第１行動パターンの履歴を前記記憶部に格納する位置情報蓄積部と、前記位置情報蓄積部により前記記憶部に蓄積された前記現在地の情報及び第１行動パターンの履歴を用いてユーザが停留する時間の長い場所をクラスタリングし、前記各場所の停留確率、及び前記場所間の移動確率を算出するクラスタリング部と、を有し、前記行動予測部は、前記クラスタリング部により算出された停留確率及び移動確率に基づいて前記次にユーザが行う第２行動パターンを予測するように構成されていてもよい。
【００１４】
また、前記行動パターン解析システムには、複数の前記携帯端末が含まれていてもよく、前記サーバは、所定の時間に通知すべき通知情報と、所定の前記第２行動パターンとを対応付けて記憶する通知情報記憶部と、前記所定の時間になったときに前記受信部により前記各携帯端末から受信された前記建造物の情報及び第１行動パターンに基づいて前記第２行動パターン検出部により検出された第２行動パターンを参照し、前記所定の第２行動パターンと同じ第２行動パターンに対応する携帯端末に対して前記通知情報を通知する情報通知部と、をさらに有するように構成されていてもよい。
【００１５】
また、前記情報通知部は、前記所定の第２行動パターンと同じ第２行動パターンに対応する携帯端末の数をカウントし、当該携帯端末の数が所定数以上である場合に、前記複数の携帯端末の全てに前記通知情報を通知するように構成されていてもよい。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、前記動きセンサから出力された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出部と、前記建造物情報取得部により取得された建造物の情報、及び前記第１行動パターン検出部により検出された第１行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出部と、を備える、携帯端末が提供される。
【００１７】
また、上記の携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備えていてもよく、前記建造物の情報と前記第２行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第１行動パターンと前記時間の情報との組み合わせ毎に設けられていてもよく、前記第２行動パターン検出部は、前記第１行動パターン検出部により検出された第１行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、抽出した前記スコアの組の中で最大のスコアに対応する前記第２行動パターンを検出するように構成されていてもよい。
【００１８】
また、上記の携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備えていてもよく、前記建造物の情報と前記第２行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第１行動パターンと前記時間の情報との組み合わせ毎に設けられていてもよく、前記建造物情報取得部は、前記現在地及び現在地周辺に存在する建造物の情報として、当該建造物の分類種別及び当該分類種別毎の建造物数を取得し、前記第２行動パターン検出部は、前記第１行動パターン検出部により検出された第１行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記各分類種別に対応するスコアの組を抽出し、前記各分類種別に対応するスコアの組に含まれる各スコアを最大スコアで規格化し、規格化した前記各分類種別に対応するスコアの組に対し、前記建造物情報取得部により取得された分類種別毎の建造物数に応じて重み付けし、重み付けした前記各分類種別に対応するスコアを前記第２行動パターン毎に合算し、合算結果が最大となる前記第２行動パターンを検出するように構成されていてもよい。
【００１９】
また、上記の携帯端末は、前記第２行動パターンに対応付けられたアプリケーションを起動するための表示オブジェクトが表示される表示部と、前記第２行動パターン検出部により検出された第２行動パターンに応じて、当該第２行動パターンに対応付けられたアプリケーションの表示オブジェクトを優先的に前記表示部に表示させる表示制御部と、をさらに備えていてもよい。
【００２０】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、を有する携帯端末から、前記動き情報及び前記現在地の情報を受信する受信部と、前記受信部により受信された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、前記受信部により受信された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出部と、前記建造物情報取得部により取得された建造物の情報、及び前記第１行動パターン検出部により検出された第１行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出部と、を備える、行動パターン解析サーバが提供される。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得ステップと、現在地の情報を取得する現在地情報取得ステップと、前記現在地情報取得ステップで取得された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得ステップと、前記動き情報取得ステップで取得された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出ステップと、前記建造物情報取得ステップで取得された建造物の情報、及び前記第１行動パターン検出ステップで検出された第１行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出ステップと、を含む、行動パターン解析方法が提供される。
【００２２】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得機能と、現在地の情報を取得する現在地情報取得機能と、前記現在地情報取得機能により取得された情報が示す現在地に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得機能と、前記動き情報取得機能により取得された動き情報を解析し、比較的短時間のユーザが行う行動を分類した複数の第１行動パターンの中から、前記動き情報に対応する第１行動パターンを検出する第１行動パターン検出機能と、前記建造物情報取得機能により取得された建造物の情報、及び前記第１行動パターン検出機能により検出された第１行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第２行動パターンの中から、当該建造物の情報及び第１行動パターンに対応する第２行動パターンを検出する第２行動パターン検出機能と、をコンピュータに実現させるためのプログラムが提供される。
【００２３】
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録されたコンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【００２４】
以上説明したように本発明によれば、モーションセンサを用いて得られる比較的短時間の行動パターンから、比較的長時間にわたり行われるエンタテイメント性の高い行動パターンを検出することが可能になる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図２】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図３】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図４】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図５】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図６】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図７】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図８】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図９】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１０】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１１】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１２】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１３】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１４】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１５】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図１６】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図１７】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図１８】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図１９】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図２０】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２１】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２２】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２３】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２４】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２５】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２６】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２７】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２８】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図２９】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図３０Ａ】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図３０Ｂ】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図３１】本発明の第２実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図３２】同実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図３３】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図３４】同実施形態に係る行動予測部の機能について説明するための説明図である。
【図３５Ａ】同実施形態に係る行動照合部の前段で行われる処理の流れを示す説明図である。
【図３５Ｂ】同実施形態に係る行動照合部により行われる処理の流れを示す説明図である。
【図３５Ｃ】同実施形態に係る行動照合部により行われる処理の流れを示す説明図である。
【図３６】本発明の第３実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図３７】同実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図３８】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図３９】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４０】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４１】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４２Ａ】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４２Ｂ】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４２Ｃ】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４２Ｄ】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４３】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４４】同実施形態に係るＴｏＤｏ管理部の機能について説明するための説明図である。
【図４５】本発明の第４実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図４６】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図４７】本発明の第１〜第４実施形態に係る行動・状況解析システムを構成するサーバ、クライアントの機能を実現することが可能な情報処理装置のハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００２６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２７】
［説明の流れについて］
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図１〜図３０Ｂを参照しながら、本発明の第１実施形態に係る行動・状況解析システムの構成について説明する。次いで、図３１〜図３５Ｃを参照しながら、本発明の第２実施形態に係る行動・状況解析システムの構成について説明する。次いで、図３６〜図４４を参照しながら、本発明の第３実施形態に係る行動・状況解析システムの構成について説明する。次いで、図４５、図４６を参照しながら、本発明の第４実施形態に係る行動・状況解析システムの構成について説明する。次いで、図４７を参照しながら、本発明の大１〜第４実施形態に係る行動・状況解析システムを構成するサーバ、クライアントの機能を実現することが可能な情報処理装置のハードウェア構成例について説明する。
【００２８】
（説明項目）
１：第１実施形態
１−１：システム構成
１−２：動き・状態認識部１０８の機能
１−３：ジオカテゴライズ部１１０の機能
１−４：行動・状況認識部１１２の機能
２：第２実施形態
２−１：システムの概要
２−２：システムの全体構成
２−３：行動予測部２０８の機能
２−４：行動照合部２０６の機能
３：第３実施形態
３−１：システムの概要
３−２：システムの全体構成
３−３：ＴｏＤｏ管理部３０４の機能
４：第４実施形態
４−１：システムの概要
４−２：システムの全体構成
５：ハードウェア構成
【００２９】
＜１：第１実施形態＞
本発明の第１実施形態について説明する。本実施形態は、モーションセンサを利用して検知されたユーザの動きや状態に関する情報と位置センサにより検知された位置情報とを利用してユーザの行動や状況を検出する技術に関する。なお、モーションセンサとしては、例えば、３軸加速度センサ（但し、加速度センサ、重力検知センサ、落下検出センサ等を含む。）や３軸ジャイロセンサ（但し、角速度センサ、手振れ補正センサ、地磁気センサ等を含む。）等が用いられる。また、位置センサとしては、例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）が用いられる。但し、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、Ｗｉ−Ｆｉのアクセスポイント、無線基地局の情報等から現在地の緯度・経度を検出することが可能なため、このような検出手段を位置センサとして利用することもできる。
【００３０】
［１−１：システム構成］
まず、図１を参照しながら、本実施形態に係る行動・状況解析システム１０のシステム構成について説明する。図１は、本実施形態に係る行動・状況解析システム１０の全体的なシステム構成例を示す説明図である。なお、本稿においては、「動き、状態」と「行動、状況」という表現を次のような意味で使い分ける。
【００３１】
（１）「動き、状態」は、数秒から数分程度の比較的短時間にユーザが行う行動を意味し、例えば、「歩き」「走り」「跳躍」「静止」等の行為を指す。また、この行為を纏めて「動き・状態パターン」又は「ＬＣ（Ｌｏｗ−Ｃｏｎｔｅｘｔ）行動」と表現する。一方、（２）「行動、状況」は、「動き、状態」よりも長い時間かけてユーザが行う生活行動であり、例えば、「食事」「買い物」「仕事」等の行為を指す。また、この行為を纏めて「行動・状況パターン」又は「ＨＣ（Ｈｉｇｈ−Ｃｏｎｔｅｘｔ）行動」と表現する。
【００３２】
さて、図１に示すように、行動・状況解析システム１０は、主に、モーションセンサ１０２と、位置センサ１０４と、時間・カレンダー情報取得部１０６と、動き・状態認識部１０８と、ジオカテゴライズ部１１０と、行動・状況認識部１１２とにより構成される。また、行動・状況解析システム１０には、行動・状況認識部１１２により検出される行動・状況パターンを利用するアプリケーションＡＰやサービスＳＶが用意されている。また、アプリケーションＡＰによる行動・状況パターンの利用結果や、ユーザのプロファイル情報が行動・状況認識部１１２に入力されるように構成されていてもよい。
【００３３】
ユーザが行動すると、まず、モーションセンサ１０２により加速度の変化や重力軸周りの回転等（以下、センサデータ）が検知される。モーションセンサ１０２により検知されたセンサデータは、動き・状態認識部１０８に入力される。また、位置センサ１０４により、ユーザの居場所（以下、現在地）を示す位置情報が取得される。現在地は、例えば、緯度・経度により表現される。また、位置センサ１０４により取得された現在地の位置情報は、ジオカテゴライズ部１１０に入力される。
【００３４】
動き・状態認識部１０８は、センサデータを用いて動き・状態パターンを検出する手段である。従って、モーションセンサ１０２からセンサデータが入力されると、動き・状態認識部１０８は、入力されたセンサデータに基づいて動き・状態パターンを検出する。動き・状態認識部１０８により検出可能な動き・状態パターンとしては、例えば、「歩き」「走り」「静止」「跳躍」「電車（搭乗／非搭乗）」「エレベータ（搭乗／非搭乗／上昇／下降）」等がある。なお、動き・状態認識部１０８による動き・状態パターンの検出方法については、後段において詳述する（図７〜図１５を参照）。但し、動き・状態パターンの検出方法は、後述する例に限定されず、機械学習を用いる方法も適用できる。なお、動き・状態認識部１０８により検出された動き・状態パターンは、行動・状況認識部１１２に入力される。
【００３５】
ジオカテゴライズ部１１０は、地図情報ＭＰを取得し、取得した地図情報ＭＰを用いて、入力された位置情報に示された現在地の属性を検出する手段である。但し、ジオカテゴライズ部１１０は、現在地の属性を表現する手段としてジオカテゴリコードを利用する。ジオカテゴリコードは、場所に関連する情報の種別を分類するための分類コードである（図１７を参照）。そして、このジオカテゴリコードは、例えば、建造物の種別、地形の形状、地理的特性、地域性等に応じて設定されている。そのため、現在地のジオカテゴリコードを特定することにより、ユーザが居る環境をある程度認識することができる。
【００３６】
そこで、ジオカテゴライズ部１１０は、取得した地図情報ＭＰを参照し、位置センサ１０４から入力された位置情報に基づいて現在地にある建造物等を特定し、その建造物等に対応するジオカテゴリコードを選択する。ジオカテゴライズ部１１０により選択されたジオカテゴリコードは、行動・状況認識部１１２に入力される。なお、現在地周辺にある環境を行動・状況パターンの検出に利用する場合、ジオカテゴライズ部１１０は、現在地周辺にある複数の建造物等に対応するジオカテゴリコードを選択し、選択したジオカテゴリコード又はそれに基づく情報（図１８を参照）を行動・状況認識部１１２に入力する。
【００３７】
上記のように、行動・状況認識部１１２には、動き・状態認識部１０８から動き・状態パターンが入力され、ジオカテゴライズ部１１０からジオカテゴリコードが入力される。また、行動・状況認識部１１２には、動き・状態認識部１０８を介してセンサデータも入力される。そして、行動・状況認識部１１２には、ジオカテゴライズ部１１０を介して現在地の位置情報も入力される。さらに、行動・状況認識部１１２には、時間・カレンダー情報取得部１０６から時間・カレンダー情報が入力される。この時間・カレンダー情報は、モーションセンサ１０２によりセンサデータが取得され、位置センサ１０４により位置情報が取得された時間を示す情報である。例えば、時間・カレンダー情報には、センサデータや位置情報が取得された時刻の情報、曜日の情報、祝日の情報、年月日の情報等が含まれている。
【００３８】
そこで、行動・状況認識部１１２は、入力された動き・状態パターン、ジオカテゴリコード（又はそれに基づく情報）、時間・カレンダー情報に基づいて行動・状況パターンを検出する。行動・状況パターンは、（１）ルールに基づく判定処理（以下、ルールベース判定）、又は（２）学習モデルに基づく判定処理（以下、学習モデル判定）を利用して検出される。
【００３９】
（１）ルールベース判定について
ルールベース判定とは、ジオカテゴリコードと行動・状況パターンとの組み合わせ毎にスコアを割り当てておき、そのスコアに基づいて入力データに対応する適切な行動・状況パターンを判定する方法である。スコアの割り当てルールは、スコアマップＳＭ（図２１を参照）により表現される。スコアマップＳＭは、年月日、時間帯、曜日等、時間・カレンダー情報毎に用意される。例えば、３月の第１週の月曜日に対応するスコアマップＳＭが用意される。さらに、スコアマップＳＭは、歩行、走行、電車等、動き・状態パターン毎に用意される。例えば、歩行中のスコアマップＳＭが用意される。そのため、スコアマップＳＭは、時間・カレンダー情報と動き・状態パターンとの組み合わせ毎に用意されることになる。従って、複数のスコアマップＳＭが用意されている。
【００４０】
そこで、行動・状況認識部１１２は、用意された複数のスコアマップＳＭの中から、入力された時間・カレンダー情報及び動き・状態パターンに適合するスコアマップＳＭを選択する。そして、行動・状況認識部１１２は、選択したスコアマップＳＭの中からジオカテゴリコードに対応するスコアを抽出する。但し、時間・カレンダー情報、動き・状態パターンによるスコアマップＳＭの選択処理と、ジオカテゴリコードによるスコアの抽出処理とは、その処理順序を適宜変更することが可能である。これらの処理により、行動・状況認識部１１２は、センサデータの取得時点における現在地の状況を考慮して、スコアマップＳＭに存在する各行動・状況パターンのスコアを抽出することができる。
【００４１】
さらに、行動・状況認識部１１２は、抽出したスコアの中から最大スコアを特定し、最大スコアに対応する行動・状況パターンを抽出する。このようにして行動・状況パターンを検出する方法がルールベース判定である。なお、スコアマップＳＭのスコアは、そのスコアに対応する行動・状況パターンをユーザがとると推測される確率を示している。つまり、スコアマップＳＭは、ジオカテゴリコードで表現される現在地の状況でユーザがとると推測される行動・状況パターンのスコア分布を表している。
【００４２】
例えば、日曜日の３時頃、デパートにいるユーザは「買い物中」である確率が高いと推測される。但し、同じデパートにいても１９時頃、デパートにいるユーザは「食事中」である確率も高いと推測される。このように、ある場所で、ある時間にユーザが行っている行動・状況パターンのスコア分布を示したものがスコアマップＳＭ（正確にはスコアマップＳＭ群）なのである。スコアマップＳＭは、例えば、ユーザ又は他人により予め入力されたものであってもよいし、機械学習を利用して得られるものであってもよいし、その他の統計的な手法を用いて構築されたものであってもよい。また、スコアマップＳＭは、個人プロファイル情報ＰＲや、ユーザから得られる行動・状況フィードバックＦＢにより最適化されてもよい。プロファイル情報ＰＲには、例えば、年齢、性別、職業、自宅の情報、職場の情報等が含まれる。また、行動・状況フィードバックＦＢには、出力された行動・状況パターンが正しいか、正しくないかを示す情報が含まれる。
【００４３】
（２）学習モデル判定について
学習モデル判定とは、機械学習アルゴリズムを用いて行動・状況パターンを判定するための判定モデルを生成し、生成した判定モデルを用いて入力データに対応する行動・状況パターンを判定する方法である（図２５を参照）。なお、機械学習アルゴリズムとしては、例えば、ｋ−ｍｅａｎｓ法、Ｎｅａｒｅｓｔ  Ｎｅｉｇｈｂｏｒ法、ＳＶＭ法、ＨＭＭ法、Ｂｏｏｓｔｉｎｇ法等が利用可能である。但し、ＳＶＭは、Ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅの略である。また、ＨＭＭは、Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌの略である。これらの手法に加え、特開２００９−４８２６６号公報に記載の遺伝的探索に基づくアルゴリズム構築方法を利用して判定モデルを生成する方法もある。
【００４４】
なお、特徴量ベクトルとしては、例えば、時間・カレンダー情報、動き・状態パターン、ジオカテゴリコード（又はそれに基づく情報）、センサデータ、現在地の位置情報等が用いられる。但し、遺伝的探索に基づくアルゴリズム構築方法を用いる場合、学習過程における特徴量ベクトルの選定段階で遺伝的探索アルゴリズムが利用される。行動・状況認識部１１２は、まず、正解の行動・状況パターンが分かっている特徴量ベクトルを学習データとして機械学習アルゴリズムに入力し、各行動・状況パターンの確度、又は最適な行動・状況パターンを判定する判定モデルを生成する。
【００４５】
そして、行動・状況認識部１１２は、生成した判定モデルに入力データを入力し、入力データに適合すると推測される行動・状況パターンを判定する。但し、生成した判定モデルを用いて行われた判定結果に対する正誤のフィードバックが得られる場合、そのフィードバックを利用して判定モデルが再構築される。そして、行動・状況認識部１１２は、再構築した判定モデルを用いて入力データに適合すると推測される行動・状況パターンを判定する。このようにして入力データに適合する行動・状況パターンを検出する方法が学習モデル判定である。なお、学習モデル判定は、ルールベース判定に比べて演算量が多い。
【００４６】
以上説明した方法により、行動・状況認識部１１２は、時間・カレンダー情報取得部１０６、動き・状態認識部１０８、ジオカテゴライズ部１１０から入力された入力データに適合する行動・状況パターンを検出する。そして、行動・状況認識部１１２により検出された行動・状況パターンは、行動・状況パターンに応じた推奨サービスＳＶの提供に利用されたり、行動・状況パターンに応じた処理を行うアプリケーションＡＰにより利用される。これら推奨サービスＳＶ、及びアプリケーションＡＰの具体的な構成例については、後述する第２〜第４実施形態の中で、より詳細に説明する。
【００４７】
以上、図１を参照しながら、本実施形態に係る行動・状況解析システム１０の全体的なシステム構成について説明した。次に、行動・状況解析システム１０のサーバ・クライアント構成について説明する。
【００４８】
（サーバ・クライアント構成）
図１に示した行動・状況解析システム１０の各機能は、実際にはサーバやクライアント装置（携帯端末等）により実現される。しかし、サーバに割り当てる機能と、クライアント装置に割り当てる機能とをどのように切り分けるかということは、サーバやクライアント装置の演算処理能力等に応じて適宜変更されるべき事項である。ここではサーバ・クライアント構成の一例（図２〜図６を参照）について紹介する。
【００４９】
（システム構成例（１））
まず、図２に例示したシステム構成例について紹介する。図２の例では、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６、動き・状態認識部１０８、ジオカテゴライズ部１１０がクライアント装置に設けられている。また、アプリケーションＡＰがクライアントに搭載されている。一方、行動・状況認識部１１２は、サーバに設けられている。さらに、スコアマップＳＭがサーバにより保持されている。
【００５０】
行動・状況解析システム１０においてサーバ・クライアント構成を決定する際に留意すべき最も重要なポイントは、行動・状況認識部１１２の演算量にある。特に、学習モデル判定を利用して行動・状況認識部１１２の機能を実現する場合、携帯電話や携帯ゲーム機等のクライアント装置が有する現状の演算能力では実現が困難である。そのため、学習モデル判定を利用する場合には、図２の例に示すように、行動・状況認識部１１２をサーバに設け、サーバから行動・状況パターンを取得して利用する方が好ましい。また、スコアマップＳＭのデータ量が大きい場合、クライアント装置の記憶容量を圧迫してしまうことが危惧されるため、スコアマップＳＭをサーバで保持する方が好ましい。
【００５１】
なお、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６は、ユーザの行動を直接反映した生データの取得手段である。また、アプリケーションＡＰは、検出した行動・状況パターンに基づいて生成される情報や機能をユーザに提供する手段である。そのため、図２の例に示すように、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６、アプリケーションＡＰは、クライアント装置に設けておく必要がある。
【００５２】
また、地図情報ＭＰ、ジオカテゴリ情報ＧＣは、クライアント装置の内部に保持しておいてもよいし、外部から取得するように構成されていてもよい。特に、地図情報ＭＰは、精度が高いものであると非常に大きなデータ量になる。そのため、クライアント装置の記憶容量に応じて、地図情報ＭＰを内部に保持するように構成するか、外部から取得するように構成するかを適宜設計すべきである。また、最新の地図情報ＭＰを常に利用したい場合、クライアント装置の外部にある地図情報ＭＰを利用できるようにする方が好ましい。
【００５３】
（システム構成例（２））
次に、図３に例示したシステム構成例について紹介する。図３の例では、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６、動き・状態認識部１０８、ジオカテゴライズ部１１０、行動・状況認識部１１２、アプリケーションＡＰがクライアント装置に設けられている。さらに、スコアマップＳＭがクライアント装置により保持されている。
【００５４】
上記の通り、学習モデル判定を用いると、行動・状況認識部１１２の演算量が非常に大きくなり、現状のクライアント装置が有する演算能力では実現が困難になる。しかしながら、ルールベース判定を利用する場合、行動・状況認識部１１２の演算量が比較的少なくて済むため、クライアント装置に行動・状況認識部１１２を設けることも可能である。また、将来的にクライアント装置の演算能力が向上した場合や、クライアント装置として高性能なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やゲーム機等を利用する場合、学習モデル判定をクライアント装置により実行することが可能となる。この場合、サーバは、行動・状況パターンに応じた推奨サービスＳＶを提供するに留まる。
【００５５】
このような構成にすると、クライアント装置とサーバとの間で通信する機会が少なくて済むようになり、通信環境が悪い状況においても、行動・状況パターンに応じた処理を実行するアプリケーションＡＰを快適に利用することができるようになる。また、クライアント装置同士で行動・状況パターンに関するフィードバックを交換することにより、友人、家族、同僚といった近い環境で生活する他ユーザの行動・状況パターンを学習データとして利用することができるようになる。そのため、ユーザの生活環境に合った行動・状況パターンの判定モデルやスコアマップＳＭが生成されるようになり、行動・状況パターンの精度が向上する。
【００５６】
（システム構成例（３））
次に、図４に例示したシステム構成例について紹介する。図４の例では、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６、アプリケーションＡＰがクライアント装置に設けられている。また、動き・状態認識部１０８、ジオカテゴライズ部１１０、行動・状況認識部１１２がサーバに設けられている。そして、スコアマップＳＭがサーバにより保持されている。
【００５７】
上記の通り、行動・状況認識部１１２の演算量は比較的大きい。特に、学習モデル判定を利用する場合には、現状のクライアント装置が有する演算能力では行動・状況認識部１１２の機能を実現することは困難である。一方、動き・状態認識部１０８やジオカテゴライズ部１１０の演算量は比較的小さい。しかしながら、クライアント装置のサイズを小型化する場合には、演算能力を犠牲にして発熱量やダイサイズの小さいプロセッサが搭載されることがある。このような場合、図４の例に示すように、動き・状態認識部１０８、ジオカテゴライズ部１１０をサーバに設ける方が好ましい。
【００５８】
このような構成にすることにより、クライアント装置は、演算リソースをアプリケーションＡＰや他の機能に割り当てることができる。また、ジオカテゴライズ部１１０をクライアント装置に設けないため、地図情報ＭＰやジオカテゴリ情報ＧＣを保持したり、取得したりする動作が不要になる。そのため、地図情報ＭＰやジオカテゴリ情報ＧＣにより一時的又は永続的に占有される記憶領域を開放することができるようになる。
【００５９】
（システム構成例（４））
次に、図５に例示したシステム構成例について紹介する。図５の例では、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６、動き・状態認識部１０８、ジオカテゴライズ部１１０、行動・状況認識部１１２、アプリケーションＡＰがクライアント装置に設けられている。また、スコアマップＳＭ又は判定モデルの情報がサーバにより保持されている。
【００６０】
上記の通り、行動・状況認識部１１２の演算量は比較的大きい。特に、学習モデル判定を利用する場合には、現状のクライアント装置が有する演算能力では行動・状況認識部１１２の機能を実現することは困難である。そこで、図５の例に示すように、サーバにより予め判定モデルを算出しておき、クライアント装置に提供するように構成する方法が考えられる。この場合、クライアント装置に設けられた行動・状況認識部１１２は、サーバから提供された判定モデルをそのまま用いて行動・状況パターンの検出を行うか、ユーザのフィードバックに基づいて判定モデルを修正し、修正した判定モデルを利用する。このような構成にすることにより、比較的演算能力の低いクライアント装置でも、行動・状況認識部１１２の機能を実現することが可能になる。
【００６１】
また、ルールベース判定を利用する場合でも、スコアマップＳＭのデータ量は、クライアント装置の記憶領域を圧迫してしまうことがある。そのため、スコアマップＳＭをサーバにより保持しておく方が好ましい場合も多い。また、スコアマップＳＭを最適化する処理も、比較的演算量の多い処理である。そのため、スコアマップＳＭの最適化をサーバにより実行し、最適化されたスコアマップＳＭをクライアント装置の行動・状況認識部１１２により利用することで、クライアント装置により高精度な行動・状況パターンの検出を実現することができる。
【００６２】
（システム構成例（５））
次に、図６に例示したシステム構成例について紹介する。図６の例では、モーションセンサ１０２、位置センサ１０４、時間・カレンダー情報取得部１０６、動き・状態認識部１０８、ジオカテゴライズ部１１０、行動・状況認識部１１２、アプリケーションＡＰがクライアント装置に設けられている。さらに、スコアマップＳＭがクライアント装置により保持されている。図６に例示したシステム構成は、上記のシステム構成例（２）と大部分が同じである。但し、システム構成例（２）では、クライアント装置に地図情報ＭＰ、ジオカテゴリ情報ＧＣが保持されていたが、図６に例示したシステム構成例（５）では、地図情報ＭＰ、ジオカテゴリ情報ＧＣが外部から取得される。このような構成にすることで、利用可能な記憶領域を拡大することができる。また、最新の地図情報ＭＰ、ジオカテゴリ情報ＧＣが利用できるようになるため、より精度良く行動・状況パターンを検出することができるようになる。
【００６３】
以上、行動・状況解析システム１０のサーバ・クライアント構成例について紹介した。なお、後述する第２〜第４実施形態のサーバ・クライアント構成についても同様に、図２〜図６に例示したようなシステム構成にすることができる。以下、行動・状況解析システム１０を構成する各構成要素の機能について、より詳細に説明する。
【００６４】
［１−２：動き・状態認識部１０８の機能］
まず、図７〜図１５を参照しながら、動き・状態認識部１０８の機能について詳細に説明する。図７〜図１５は、動き・状態認識部１０８の機能及び動作を説明するための説明図である。
【００６５】
（入出力データの構成）
図７を参照する。上記の通り、動き・状態認識部１０８には、モーションセンサ１０２からセンサデータが入力される。センサデータとしては、例えば、図７に示すように加速度の波形データ（以下、加速度データ）が入力される。なお、図７の例では判然としないかもしれないが、動き・状態認識部１０８には、ｘ方向の加速度データ（ｘ−ａｃｃ）、ｙ方向の加速度データ（ｙ−ａｃｃ）、ｚ方向の加速度データ（ｚ−ａｃｃ）が入力される。但し、ｘ、ｙ、ｚは互いに直交する方向を示す。また、ジャイロセンサが搭載されている場合には、センサデータとして３次元的なジャイロデータ（ｘ−ｇｙｒｏ，ｙ−ｇｙｒｏ，ｚ−ｇｙｒｏ）が入力される。なお、温度や気圧等に応じてセンサの感度が変化してしまうため、これらのセンサデータはキャリブレーションが施されたものである方が好ましい。
【００６６】
センサデータが入力されると、動き・状態認識部１０８は、入力されたセンサデータに基づいて動き・状態パターンを検出する。動き・状態認識部１０８により検出可能な動き・状態パターンとしては、例えば、「歩く」「走る」「静止」「一時静止」「跳躍」「姿勢変化」「ターン」「電車（搭乗）」「エレベータ（上昇／下降）」「車（搭乗）」「自転車（搭乗）」等がある（図８を参照）。
【００６７】
例えば、歩行状態を検出するアルゴリズムについて考えてみよう。通常、人間が歩くときに検出される加速度データの周波数は２Ｈｚ程度（１秒間に２歩程度）である。そこで、動き・状態認識部１０８は、加速度データの周波数を解析し、周波数が２Ｈｚ付近にある部分を検出する。この処理により検出された部分が動き・状態パターン「歩く」に相当する。また、動き・状態認識部１０８は、加速度データから「歩く」動き・状態パターンの発生時間や継続時間等を検出することもできる。さらに、動き・状態認識部１０８は、加速度データの振幅から「歩く」強度を検出することができる。
【００６８】
このように、センサデータを解析して得られる周波数や強度等のデータに基づいて動き・状態パターン毎の特徴量（以下、動き・状態特徴量）を抽出することができる。なお、「歩く」動き・状態パターンの例では加速度データしか利用されていないが、動き・状態パターンの種類によってはジャイロデータも利用される。動き・状態特徴量の経時変化を得ると、動き・状態認識部１０８は、動き・状態特徴量から、逐次、動き・状態パターンを判定し、時系列で変化する動き・状態パターンを出力する（図７を参照）。但し、ここで得られる動き・状態パターンは、ユーザが短時間に行う行為の寄せ集めに過ぎず、ユーザの具体的な生活行動を示すものではない点に注意されたい。
【００６９】
このようにして動き・状態認識部１０８により得られた動き・状態パターンは、行動・状況認識部１１２に入力される。さて、図８に示した動き・状態パターンの一部に関し、より詳細な検出アルゴリズムについて以下で説明する。
【００７０】
（一時停止（Ｐａｕｓｉｎｇ）／静止（Ｓｔｉｌｌ）の認識方法）
まず、図９を参照しながら、ユーザが一時停止しているのか、或いは、静止しているのかを認識する方法について説明する。図９は、ユーザが一時停止しているのか、或いは、静止しているのかを認識する方法を示した説明図である。
【００７１】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、センサデータをＦＩＦＯ形式で記録する（Ｓ１０００）。所定のデータ分だけ記録されると、動き・状態認識部１０８は、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃの分散値をそれぞれ算出する（Ｓ１００２）。次いで、動き・状態認識部１０８は、各分散値のうち、最も大きい分散値である静止判定用最大分散値（ｄｅｔ）を抽出する（Ｓ１００４）。
【００７２】
静止判定用最大分散値を抽出すると、動き・状態認識部１０８は、抽出した静止判定用最大分散値が、静止状態を示す静止認識値Ｄ１より小さいか否かを判定する（Ｓ１００６）。静止判定用最大分散値がＤ１より小さくない場合、動き・状態認識部１０８は、ユーザが静止していないと判定する。このような判定された場合、ユーザは、何かしらの行動を取っているものと推定される。そのため、動き・状態認識部１０８は、ユーザが静止していないことを示す情報を行動・状況認識部１１２に入力する（Ｓ１０１４）。
【００７３】
一方、静止判定用最大分散値がＤ１よりも小さい場合、動き・状態認識部１０８は、上記の最大分散値がＤ１より小さい状態が静止認識時間Ｔ１より長く続くか否かを判定する（Ｓ１００８）。ここで、静止認識時間Ｔ１とは、ユーザが静止しているものと見なされる最小の時間を示す。Ｔ１より長く続く場合、動き・状態認識部１０８は、ユーザが静止していると判定し、静止を示す情報を行動・状況認識部１１２に入力する（Ｓ１０１０）。Ｔ１より長く続かない場合、動き・状態認識部１０８は、一時的に静止しているものと判定し、一時的に静止している状態を示す情報を行動・状況認識部１１２に入力する（Ｓ１０１２）。
【００７４】
このように、図９の例に従って判定処理を行うことにより、静止状態、一時静止状態、非静止状態を判別することが可能になる。
【００７５】
（歩行（Ｗａｌｋｉｎｇ）／走行（Ｒｕｎｎｉｎｇ）の認識方法）
次に、図１０を参照しながら、ユーザが歩行しているのか、或いは、走行しているのかを認識する方法について説明する。図１０は、ユーザが歩行、或いは、走行しているのかを認識する方法を示した説明図である。
【００７６】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、バンドパスフィルタ（ＢＰＦ）を用いて、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃから、ユーザが歩行又は走行していると認識される周波数領域外の周波数を除去する（Ｓ１１００）。次いで、動き・状態認識部１０８は、ＢＰＦを通過したｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃをＦＩＦＯ形式で記録する（Ｓ１１０２）。
【００７７】
次いで、動き・状態認識部１０８は、ＢＰＦを通過した後で記録されたｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃを所定のデータ分だけ読み出し、読み出したデータについて自己相関関数（ＳＡＣＦ；Ｓｕｍｍａｒｙ  Ａｕｔｏｃｏｒｒｅｌａｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）を算出する。ＳＡＣＦピークの時系列は、歩行や走行の際に生じるユーザの周期的な動きに対応する。しかし、ＳＡＣＦは、歩行や走行に対応する周波数の高調波を含んでしまう。そこで、動き・状態認識部１０８は、算出した自己相関関数（ＳＡＣＦ）に基づいて、増強された自己相関関数（ＥＳＡＣＦ；Ｅｎｈａｎｃｅｄ  ＳＡＣＦ）を算出する（Ｓ１１０６）。そして、動き・状態認識部１０８は、ＥＳＡＣＦに基づいて自己相関ピークを算出し（Ｓ１１０８）、歩行・走行判定用周波数（ｆｒｅｑ）を得る。
【００７８】
また、動き・状態認識部１０８は、ステップＳ１１００でＢＰＦを通過させる前のｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃをＦＩＦＯ形式で記録する（Ｓ１１１０）。次いで、動き・状態認識部１０８は、所定のデータ分だけｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃを読み出して分散値をそれぞれ算出する（Ｓ１１１２）。次いで、動き・状態認識部１０８は、算出した分散値の中から最も大きい分散値を抽出し、歩行・走行判定用最大分散値（ｖａｒ）として出力する（Ｓ１１１４）。
【００７９】
次いで、動き・状態認識部１０８は、上記の歩行・走行判定用周波数（ｆｒｅｑ）と歩行・走行判定用最大分散値（ｖａｒ）とを乗算する（Ｓ１１１６）。単位時間当たりの歩数はｆｒｅｑで表現される。また、動きの大きさはｖａｒで表現される。さらに、歩数と動きの大小とに基づいて歩行であるか、走行であるかを判定することが可能である。そこで、ｆｒｅｑとｖａｒとの積が所定の領域の範囲内にあるか否かを判定することにより、ユーザが歩行しているか否かを判定することができる。まず、この判定の精度を高めるため、動き・状態認識部１０８は、ローパスフィルター（ＬＰＦ）により、ｆｒｅｑ／ｖａｒの積から、歩行／走行が誤認識されやすい周波数領域を除去して歩行・走行判定用データｄｅｔを算出する（Ｓ１１１８）。
【００８０】
次いで、動き・状態認識部１０８は、歩行・走行判定用データが、歩行していると認識される下限値である最小歩行認識値Ｄ２よりも大きく、かつ、歩行していると認識される上限値である最大歩行認識値Ｄ３よりも小さいか否かを判定する（Ｓ１１２０）。Ｄ２よりも大きく、Ｄ３よりも小さい場合、動き・状態認識部１０８は、ユーザが歩行していると判定し、歩行を示す情報を行動・状況認識部１１２に入力する（Ｓ１１２２）。一方、Ｄ２＜ｄｅｔ＜Ｄ３でない場合、動き・状態認識部１０８は、ステップＳ１１２４の処理に進行し、歩行・走行判定データｄｅｔが、Ｄ３よりも大きいか否かを判定する（Ｓ１１２４）。
【００８１】
歩行・走行判定データがＤ３よりも大きい場合、動き・状態認識部１０８は、ユーザが走行していると判定し、走行を示す情報を行動・状況認識部１１２に入力する（Ｓ１１２６）。一方、歩行・走行判定データがＤ２以下である場合、動き・状態認識部１０８は、歩行も走行もしていないと判定し、動き・状態パターンが歩行及び走行ではないことを示す情報を行動・状況認識部１１２に入力する（Ｓ１１２８）。なお、ｆｒｅｑを積分することにより、積分区間に相当する時間の間に歩んだ歩数の情報が得られる。そこで、動き・状態認識部１０８は、歩数の情報を算出して行動・状況認識部１１２に入力する。
【００８２】
このように、図１０の例に従って判定処理を行うことにより、歩行状態、走行状態、非歩行・非走行状態を判別することが可能になる。
【００８３】
（跳躍（Ｊｕｍｐｉｎｇ）の認識方法）
次に、図１１を参照しながら、ユーザが跳躍しているのか否かを認識する方法について説明する。図１１は、ユーザが跳躍しているのか否かを認識する方法を示した説明図である。
【００８４】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃの大きさで表現される跳躍加速度を算出する（Ｓ１２００）。次いで、動き・状態認識部１０８は、バンドパスフィルター（ＢＰＦ）により、ユーザが跳躍していると認識される跳躍認識値領域外の周波数を除去する（Ｓ１２０２）。次いで、動き・状態認識部１０８は、ＢＰＦを通過した値の絶対値を算出し、補正跳躍加速度として出力する（Ｓ１２０４）。このように絶対値をとると、跳躍加速度に比べ、跳躍したときに起きる筐体の揺れや振動等により生じるノイズ成分が除去される。
【００８５】
次いで、動き・状態認識部１０８は、ローパスフィルター（ＬＰＦ）により、補正跳躍加速度から、跳躍として誤認識されやすい周波数領域を除去する（Ｓ１２０６）。次いで、動き・状態認識部１０８は、ＬＰＦを通過したデータから、跳躍しているか否かを判定するための跳躍状態判定値（ｄｅｔ）を算出する。次いで、動き・状態認識部１０８は、跳躍状態判定値が、跳躍していると認識される下限値である最小跳躍認識値Ｄ４よりも大きいか判定する（Ｓ１２０８）。最小跳躍認識値Ｄ４よりも大きい場合、動き・状態認識部１０８は、跳躍していると判定し、跳躍を示す情報を行動・状況認識部１１２に入力する（Ｓ１２１０）。一方、最小跳躍認識値Ｄ４より小さい場合、動き・状態認識部１０８は、跳躍していないと判定し、跳躍していないことを示す情報を行動・状況認識部１１２に入力する（Ｓ１２１２）。
【００８６】
このように、図１１の例に従って判定処理を行うことにより、跳躍状態、非跳躍状態を判別することが可能になる。
【００８７】
（姿勢変化（Ｐｏｓｔｕｒｅ  Ｃｈａｎｇｉｎｇ）の認識方法）
次に、図１２を参照しながら、ユーザが座っているのか、或いは、立っているのかを認識する方法について説明する。図１２は、ユーザが座っているのか、或いは、立っているのかを認識する方法を示した説明図である。なお、座っているのか、立っているのかを認識するということは、座っているユーザが立つことの認識、又は、立っているユーザが座ることの認識に他ならない。つまり、ユーザの姿勢変化を認識することである。
【００８８】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃから、ローパスフィルター（ＬＰＦ）により、ユーザの姿勢変化として誤認識されやすい周波数領域を除去する（Ｓ１３００）。そして、動き・状態認識部１０８は、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃに基づき、それぞれｘ−ｇｒａｖ、ｙ−ｇｒａｖ、ｚ−ｇｒａｖを算出する。ｘ−ｇｒａｖ、ｙ−ｇｒａｖ、ｚ−ｇｒａｖは、重力がかかる方向を示す重力データである。
【００８９】
次いで、動き・状態認識部１０８は、算出したｘ−ｇｒａｖの変化を示す値δ（ｘ−ｇｒａｖ）、ｙ−ｇｒａｖの変化を示すδ（ｙ−ｇｒａｖ）、ｚ−ｇｒａｖの変化を示すδ（ｚ−ｇｒａｖ）を算出する（Ｓ１３０２）。次いで、動き・状態認識部１０８は、δ（ｘ−ｇｒａｖ）、δ（ｙ−ｇｒａｖ）、δ（ｚ−ｇｒａｖ）の大きさを表す姿勢変化値を算出する（Ｓ１３０４）。次いで、動き・状態認識部１０８は、算出した姿勢変化値から、ローパスフィルター（ＬＰＦ）により、ユーザの姿勢変化として誤認識されやすい領域を除去し（Ｓ１３０６）、姿勢変化しているか否かを判定する姿勢変化判定値（ｄｅｔ）を算出する。
【００９０】
次いで、動き・状態認識部１０８は、姿勢変化判定値が、ユーザが姿勢変化していると認識される下限値である最小姿勢変化認識値Ｄ５よりも大きいか否かを判定する（Ｓ１３０８）。姿勢変化判定値がＤ５よりも小さい場合、動き・状態認識部１０８は、姿勢変化が無いもものと判定し、姿勢変化無しを示す情報を行動・状況認識部１１２に入力する（Ｓ１３１６）。一方、姿勢変化閾値がＤ５よりも大きい場合、動き・状態認識部１０８は、ステップＳ１３１０の処理に進行し、ユーザが立っているのか座っているのかを判定する（Ｓ１３１０）。ユーザが既に立っている場合、動き・状態認識部１０８は、ユーザが座ったと判定し、着座を示す情報を行動・状況認識部１１２に入力する（Ｓ１３１２）。一方、ユーザが既に座っている場合、動き・状態認識部１０８は、ユーザが立ったと判定し、起立を示す情報を行動・状況認識部１１２に入力する（Ｓ１３１４）。
【００９１】
このように、図１２の例に従って判定処理を行うことにより、姿勢変化の有無を判別することが可能になる。
【００９２】
（エレベータによる上昇／下降の認識方法）
次に、図１３を参照しながら、ユーザがエレベータに乗っているのか否かを認識する方法について説明する。図１３は、ユーザがエレベータに乗っているのか否かを認識する方法を示した説明図である。
【００９３】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃに基づき、ローパスフィルター（ＬＰＦ）により、重力方向の加速度であると誤認識されやすい周波数領域を除去する（Ｓ１４００）。次いで、動き・状態認識部１０８は、ＬＰＦを通過したｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃに基づいて重力方向加速度センサデータ（ａｃｃ）を算出する（Ｓ１４０２）。
【００９４】
また、動き・状態認識部１０８は、重力の値を調整可能にするために、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃの大きさで表現された重力調整データを算出して記録する（Ｓ１４０４、Ｓ１４０６）。次いで、動き・状態認識部１０８は、所定のデータ分だけ重力調整データを読み出し、その分散値である重力調整分散値（ｖａｒ）を算出する（Ｓ１４０８）。さらに、動き・状態認識部１０８は、所定のデータ分だけ重力調整データを読み出し、その平均値である重力調整平均データを算出する（Ｓ１４０８）。
【００９５】
次いで、動き・状態認識部１０８は、上記の重力調整分散値が、重力の調整を許容する最大の分散値である最大許容重力調整分散値Ｖ１よりも小さいか否か判定する（Ｓ１４１０）。上記の重力調整分散値がＶ１より大きい場合、動き・状態認識部１０８は、重力の値を更新しない（Ｓ１４１２）。一方、上記の重力調整分散値が最大許容重力調整分散値Ｖ１よりも小さい場合、動き・状態認識部１０８は、上記の重力調整平均データが、重力の調整を許容する最小の平均値である最小許容重力平均値Ａ１よりも大きく、かつ、重力の調整を許容する最大の平均値である最大許容重力平均値Ａ２よりも小さいか否かを判定する（Ｓ１４１４）。
【００９６】
上記の重力調整平均データがＡ１よりも大きく、Ａ２よりも小さい場合、動き・状態認識部１０８は、ステップＳ１４１８の処理に進行する。一方、それ以外の場合、動き・状態認識部１０８は、重力の値を更新しない（Ｓ１４１６）。ステップＳ１４１８の処理に進行した場合、動き・状態認識部１０８は、ローパスフィルター（ＬＰＦ）により、重力であると誤認識されやすい低領域を除去し（Ｓ１４１８）、補正重力調整平均データを算出する。次いで、動き・状態認識部１０８は、上記の重力方向加速度センサデータと上記の補正重力調整平均データとの差分を算出する（Ｓ１４２０）。次いで、動き・状態認識部１０８は、算出した差分から、ユーザがエレベータに乗っていると誤認識されやすい周波数領域を除去してエレベータ昇降判定データを算出する（Ｓ１４２２）。
【００９７】
次いで、動き・状態認識部１０８は、エレベータ昇降判定データが所定値Ｄ６よりも大きいか否かを判定する（Ｓ１４２４）。エレベータ昇降判定データが所定値Ｄ６よりも大きい場合、動き・状態認識部１０８は、ステップＳ１４２６の処理に進行する。一方、エレベータ昇降判定データが所定値Ｄ６よりも小さい場合、動き・状態認識部１０８は、ステップＳ１４３２の処理に進行する。但し、所定値Ｄ６は、ユーザがエレベータで上昇を始めたことを認識することが可能な下限値である。
【００９８】
ステップＳ１４２６の処理に進行した場合、動き・状態認識部１０８は、エレベータ昇降判定データが最初に所定値Ｄ６を上回ったのか否かを判定する（Ｓ１４２６）。最初である場合、動き・状態認識部１０８は、ステップＳ１４２８の処理に進行してエレベータで上昇しているものと判定し、エレベータによる上昇を示す情報を行動・状況認識部１１２に入力する（Ｓ１４２８）。一方、最初でない場合、動き・状態認識部１０８は、ステップＳ１４３０の処理に進行してエレベータによる下降が終了したものと判定し、エレベータによる下降の終了を示す情報を行動・状況認識部１１２に入力する（Ｓ１４３０）。
【００９９】
ステップＳ１４３２の処理に進行した場合、動き・状態認識部１０８は、エレベータ昇降判定データが所定値Ｄ７よりも大きいか否かを判定する（Ｓ１４３２）。但し、所定値Ｄ７は、ユーザがエレベータで下降を始めたことを認識することが可能な上限値である。エレベータ昇降判定データが所定値Ｄ７よりも大きい場合、動き・状態認識部１０８は、ステップステップＳ１４３４の処理に進行する。一方、エレベータ昇降判定データが所定値Ｄ７よりも小さい場合、動き・状態認識部１０８は、ステップＳ１４４０の処理に進行する。
【０１００】
ステップＳ１４３４の処理に進行した場合、動き・状態認識部１０８は、エレベータ昇降判定データが最初に所定値Ｄ７を下回ったのか否かを判定する（Ｓ１４３４）。最初である場合、動き・状態認識部１０８は、ステップＳ１４３６の処理に進行してエレベータで下降しているものと判定し、エレベータによる下降を示す情報を行動・状況認識部１１２に入力する（Ｓ１４３６）。一方、最初でない場合、動き・状態認識部１０８は、ステップＳ１４３８の処理に進行してエレベータによる上昇が終了したものと判定し、エレベータによる上昇の終了を示す情報を行動・状況認識部１１２に入力する（Ｓ１４３８）。
【０１０１】
ステップＳ１４４０の処理に進行した場合、動き・状態認識部１０８は、現在、ユーザがエレベータに乗っているか否かを判定する（Ｓ１４４０）。エレベータに乗っている場合、動き・状態認識部１０８は、ステップＳ１４４２の処理に進行してエレベータが加速又は減速の状態にないと判定し、エレベータの加速又は減速がない状態を示す情報を行動・状況認識部１１２に入力する（Ｓ１４４２）。一方、エレベータに乗っていない場合、動き・状態認識部１０８は、ステップＳ１４４４の処理に進行し、エレベータに乗っていない状態を示す情報を行動・状況認識部１１２に入力する（Ｓ１４４４）。
【０１０２】
このように、図１３の例に従って判定処理を行うことにより、エレベータによる上昇／下降を判別することが可能になる。
【０１０３】
（電車に乗っているのか否かの認識方法）
次に、図１４を参照しながら、ユーザが電車に乗っているのか否かを認識する方法について説明する。図１４は、ユーザが電車に乗っているのか否かを認識する方法を示した説明図である。
【０１０４】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃに基づき、ユーザが電車に乗っていると誤認識されやすい周波数領域をローパスフィルター（ＬＰＦ）により除去する（Ｓ１５００）。次いで、動き・状態認識部１０８は、上記の周波数領域が除去されたｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃに基づき、水平方向の加速度データ、及び垂直方向の加速度データを算出する（Ｓ１５０２、Ｓ１５０４）。但し、水平方向、垂直方向とは、電車の走っている地面に対する水平な方向、垂直な方向を意味する。
【０１０５】
次いで、動き・状態認識部１０８は、上記の水平方向の加速度データ、及び垂直方向の加速度データを所定のデータ分だけＦＩＦＯ形式で記録する（Ｓ１５０６、Ｓ１５０８）。次いで、動き・状態認識部１０８は、水平方向の加速度データを所定のデータ分だけ読み出し、その分散値である水平方向分散値（ｈ−ｖａｒ）を算出する（Ｓ１５１０）。また、動き・状態認識部１０８は、垂直方向の加速度データを所定のデータ分だけ読み出し、その分散値である垂直方向分散値（ｖ−ｖａｒ）を算出する（Ｓ１５１２）。水平方向分散値（ｈ−ｖａｒ）は、電車の走行時に検出される水平方向の揺れや振動の度合いを表している。また、垂直方向分散値（ｖ−ｖａｒ）は、電車の走行時に検出される垂直方向の揺れや振動の度合いを表している。
【０１０６】
次いで、動き・状態認識部１０８は、垂直方向分散値（ｖ−ｖａｒ）が、最小の許容される垂直方向分散値である最小許容垂直分散値Ｖ１より大きく、かつ、最大の許容される垂直方向分散値である最大許容垂直分散値Ｖ２より小さいかを判定する（Ｓ１５１４）。垂直方向分散値（ｖ−ｖａｒ）が、Ｖ１以下又はＶ２以上である場合、動き・状態認識部１０８は、電車搭乗判定データ（ｄｅｔ）を０に設定する（Ｓ１５２８）。一方、垂直方向分散値がＶ１より大きく、かつ、Ｖ２より小さい場合、動き・状態認識部１０８は、ステップＳ１５１６の処理に進行する。
【０１０７】
ステップＳ１５１６の処理に進行すると、動き・状態認識部１０８は、垂直方向分散値と水平方向分散値の何れが小さいかを判定する（Ｓ１５１６）。垂直方向分散値（ｖ−ｖａｒ）の方が小さい場合、動き・状態認識部１０８は、垂直方向分散値（ｖ−ｖａｒ）を所定データ分だけ積分し、積分値を算出する（Ｓ１５１８）。一方、水平方向分散値（ｈ−ｖａｒ）の方が小さい場合、動き・状態認識部１０８は、水平方向分散値（ｈ−ｖａｒ）を所定データ分だけ積分し、積分値を算出する（Ｓ１５２０）。そして、ステップＳ１５１８、Ｓ１５２０の処理により得られた積分値は、ユーザが電車に乗っているか否かを判定する電車搭乗判定データ（ｄｅｔ）に設定される。
【０１０８】
次いで、動き・状態認識部１０８は、電車搭乗判定データが、ユーザが電車に搭乗していると認識される下限値である最小電車搭乗認識値Ｄ８よりも大きいか否かを判定する（Ｓ１５２２）。電車搭乗判定データがＤ８よりも大きい場合、動き・状態認識部１０８は、ユーザが電車に乗っていると判定し、電車に乗っている状態を示す情報を行動・状況認識部１１２に入力する（Ｓ１５２４）。一方、電車搭乗判定データがＤ８以下である場合、動き・状態認識部１０８は、ユーザが電車に乗っていないと判定し、ユーザが電車に乗っていないことを示す情報を行動・状況認識部１１２に入力する（Ｓ１５２６）。
【０１０９】
このように、図１４の例に従って判定処理を行うことにより、電車に乗っている状態か否かを判別することが可能になる。電車の加速状態から減速状態までに着目することで、電車に乗車していて電車が駅に停車している場合、電車が停車した場合、電車が駅に着いてユーザが電車から降りて歩き始めた場合等を判別することもできる。これらの判別結果を行動・状況認識部１１２に通知するように構成されていてもよい。
【０１１０】
（右折／左折の認識方法）
次に、図１５を参照しながら、ユーザの右折又は左折を認識する方法について説明する。図１５は、ユーザの右折又は左折を認識する方法を示した説明図である。
【０１１１】
まず、ユーザが行動すると、センサデータが動き・状態認識部１０８に入力される。ここでは３軸方向の加速度データ（ｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ）、及びジャイロデータ（ｘ−ｇｙｒｏ、ｙ−ｇｙｒｏ、ｚ−ｇｒｙｏ）が入力される。センサデータが入力されると、動き・状態認識部１０８は、ローパスフィルター（ＬＰＦ）により、入力されたセンサデータから、右折又は左折していると誤認識されやすい周波数領域を除去する（Ｓ１６００）。次いで、動き・状態認識部１０８は、上記の周波数領域が除去されたｘ−ａｃｃ、ｙ−ａｃｃ、ｚ−ａｃｃ、ｘ−ｇｙｒｏ、ｙ−ｇｙｒｏ、ｚ−ｇｒｙｏに基づいて重力方向の角速度を算出する（Ｓ１６０２）。
【０１１２】
次いで、動き・状態認識部１０８は、算出した角速度から、バンドパスフィルター（ＢＰＦ）により、右折又は左折していると認識するための曲がり認識領域外の値を除去して補正角速度（ｄｅｔ）を算出する（Ｓ１６０４）。次いで、動き・状態認識部１０８は、補正角速度が、ユーザが右折していると認識するための上限値である最大右折認識値Ｄ９よりも小さいか否かを判定する（Ｓ１６０６）。補正角速度がＤ９よりも小さい場合、動き・状態認識部１０８は、ユーザが右折していると判定し、その判定結果を行動・状況認識部１１２に入力する（Ｓ１６０８）。一方、補正角速度がＤ９以上の場合、動き・状態認識部１０８は、ステップＳ１６１０の処理に進行する。
【０１１３】
ステップＳ１６１０の処理に進行すると、動き・状態認識部１０８は、補正角速度が、ユーザが左折していると認識される下限値である最小左折認識値Ｄ１０よりも大きいか否かを判定する（Ｓ１６１０）。補正角速度がＤ１０より大きい場合、動き・状態認識部１０８は、ユーザが左折していると判定し、その判定結果を行動・状況認識部１１２に入力する（Ｓ１６１２）。一方、補正角速度がＤ１０よりも小さい場合、動き・状態認識部１０８は、ユーザが右折も左折もしていないと判定し、その判定結果を行動・状況認識部１１２に入力する（Ｓ１６１４）。
【０１１４】
このように、図１５の例に従って判定処理を行うことにより、ユーザの右折／左折を判別することが可能になる。
【０１１５】
以上、動き・状態認識部１０８の機能について詳細に説明した。上記の通り、動き・状態パターンは、ユーザの具体的な生活行動を表現したものではない。動き・状態パターンとは、ある瞬間（短時間）におけるユーザの状態を表現したものであると言えよう。そのため、動き・状態パターンの履歴を蓄積し、その情報を一日分並べたとしても、自身の記憶を呼び起こさずに一日の行動を振り返るのは難しい。例えば、１０分「歩く」、３０秒「静止」、３分「走る」、１０秒「静止」、「右ターン」、１５分「電車」、１０分「歩く」、「右ターン」、…といった情報を参照しても、どこで何をしたかを理解することは非常に困難である。こうした理由から、より具体的な生活行動（ＨＣ行動）を検出する手段が求められているのである。
【０１１６】
［１−３：ジオカテゴライズ部１１０の機能］
次に、図１６〜図１９を参照しながら、ジオカテゴライズ部１１０の機能について、より詳細に説明する。図１６〜図１９は、ジオカテゴライズ部１１０の機能を説明するための説明図である。
【０１１７】
まず、図１６を参照する。上記の通り、ジオカテゴライズ部１１０は、位置センサ１０４から入力された現在地の位置情報に対応するジオカテゴリコード（又はそれに基づく情報）を選択する。このとき、ジオカテゴライズ部１１０は、地図データベースから地図情報ＭＰ及びジオカテゴリ情報ＧＣを取得し、現在地にある建造物等の属性を検出する。地図データベースには、（Ａ１）地図情報、（Ａ２）形状要素データ（建物・敷地・道路の形状情報）、（Ａ３）建物・敷地に登録されている店舗（職種）等の情報が登録されている。（Ａ１）（Ａ２）は地図情報ＭＰに相当する。（Ａ３）はジオカテゴリ情報ＧＣに相当する。なお、地図データベースは、行動・状況解析システム１０に含まれていなくてもよく、例えば、Ｗｅｂに公開されている地図データベースを利用することもできる。
【０１１８】
図１７に示すように、ジオカテゴリ情報ＧＣは、建造物等を所定の分類種別により分類し、各分類について分類コード（ジオカテゴリコード）を割り当てたものである。また、図１７に示すように、ジオカテゴリは、大分類、中分類、小分類（非図示）に分類されていてもよい。また、図１７の例では、大分類の欄、中分類の欄に記載された分類コードがジオカテゴリコードを表している。例えば、地図情報ＭＰを用いて現在地にバッティングセンターが検出された場合、ジオカテゴライズ部１１０は、ジオカテゴリコード１３０５０００を出力する。
【０１１９】
また、ジオカテゴライズ部１１０は、現在地周辺にある建造物等のジオカテゴリコードを検出し、そのヒストグラムを生成する。但し、行動・状況パターンの検出処理において、現在地周辺の環境までを考慮しない場合には、ヒストグラムの生成を省略することができる。現在地周辺の環境を考慮に入れる場合、ジオカテゴライズ部１１０は、地図情報ＭＰ及びジオカテゴリ情報ＧＣを利用して現在地周辺にある建造物等のジオカテゴリコード群を取得する。次いで、ジオカテゴライズ部１１０は、ジオカテゴリ毎に建造物等の数を集計し、図１８に示すようなジオカテゴリのヒストグラム（以下、ジオカテゴリヒストグラム）を生成する。
【０１２０】
図１９に示すように、ジオカテゴリコードは現在地の環境をピンポイントで表現したものであり、ジオカテゴリヒストグラムは現在地周辺の環境を表現したものである。例えば、ジオカテゴリコードが電車の駅を示している場合、現在地の位置情報が取得された時点におけるユーザの行動は、駅構内で行える範囲の行動に絞り込まれる。一方で、ジオカテゴリコードが一般道路を示している場合、ジオカテゴリコードからユーザの行動をあまり絞り込むことはできない。しかし、ジオカテゴリヒストグラムから小売店舗の多い地域にユーザがいることが分かると、ジオカテゴリコードが同じ一般道路を示していても、ユーザの行動をより絞り込むことができる。
【０１２１】
こうした理由から、ジオカテゴリコードと共にジオカテゴリヒストグラムを利用することにより、後述する行動・状況パターンの検出精度を高めることができる。そのため、ジオカテゴライズ部１１０は、ジオカテゴリコード（Ｂ１）と共にジオカテゴリヒストグラム（Ｂ２）を算出して行動・状況認識部１１２に入力する。また、ジオカテゴライズ部１１０は、現在地を示す緯度・経度や移動量等の情報（Ｂ３）も行動・状況認識部１１２に入力する。
【０１２２】
以上、ジオカテゴライズ部１１０の機能について説明した。なお、現在地の位置情報は、複数の位置情報をクラスタリングして得られる代表点を表すものであってもよい。
【０１２３】
［１−４：行動・状況認識部１１２の機能］
次に、図２０〜図３０Ｂを参照しながら、行動・状況認識部１１２の機能について、より詳細に説明する。図２０〜図３０Ｂは、行動・状況認識部１１２の機能を説明するための説明図である。
【０１２４】
（概要）
まず、図２０を参照する。上記の通り、行動・状況認識部１１２には、時間・カレンダー情報、動き・状態パターン、ジオカテゴリコードが入力される。さらに、行動・状況認識部１１２には、動き・状態パターンの検出に用いた動き・状態特徴量、センサデータ、ジオカテゴリコードから得られるジオカテゴリヒストグラム、移動量、緯度・経度、移動速度等の情報が入力される。また、行動・状況認識部１１２には、個人プロファイル情報やユーザによるフィードバックが入力されることもある。これらの情報が入力されると、行動・状況認識部１１２は、入力された情報の組み合わせに適合する行動・状況パターンを検出する。このとき、行動・状況認識部１１２は、ルールベース判定又は学習モデル判定に基づいて行動・状況パターンを検出する。
【０１２５】
（ルールベース判定：ジオカテゴリコード）
まず、ルールベース判定に基づく行動・状況パターンの検出方法について説明する。但し、ここではジオカテゴリコードに基づく判定方法について説明する。上記の通り、ルールベース判定には、スコアマップＳＭが用いられる。ここでは、図２１に示すようなスコアマップＳＭを想定する。
【０１２６】
図２１の例では、中分類のジオカテゴリコードと各行動・状況パターンとの組み合わせにスコアが割り当てられている。また、図２１の例では、「スポーツ」「散歩」「遊び」「買い物」…「作業」「鑑賞」「就寝」が考慮すべき行動・状況パターンとして挙げられている。但し、行動・状況パターンの種類はこれに限定されず、例えば、図２６に示すような多種多様な行動・状況パターンを考慮することができる。考慮すべき行動・状況パターンは、予めユーザにより選択されていてもよいし、機械学習アルゴリズムを用いて生成された判定モデルにより各ユーザに適したものが自動的に選択されるようにしてもよい。
【０１２７】
また、図２１に示すようなスコアマップＳＭは、時間・カレンダー情報の種類と、動き・状態パターンの種類との組み合わせ毎に設けられている。そのため、複数のスコアマップＳＭが存在する。図２２に示すように、まず、行動・状況認識部１１２は、複数のスコアマップＳＭから、それぞれ入力されたジオカテゴリコードに対応するスコアの組を選択する（Ｓ１０）。図２１の例では、ジオカテゴリコード１９０５０００が行動・状況認識部１１２に入力された場合、「食事＝１、学習＝２、作業＝４」というスコアの組がスコアマップＳＭの種類毎に選択される。つまり、複数組のスコア群が選択される。
【０１２８】
次いで、行動・状況認識部１１２は、入力された動き・状態パターンに対応するスコアマップＳＭの種類を選択する（Ｓ１２）。このとき、行動・状況認識部１１２は、選択した種類のスコアマップＳＭに対応するスコア群を抽出する。次いで、行動・状況認識部１１２は、ステップＳ１２で選択されたスコアマップＳＭの種類の中から、入力された時間・カレンダー情報に対応するスコアマップＳＭの種類を選択する（Ｓ１４）。このとき、行動・状況認識部１１２は、選択した種類のスコアマップＳＭに対応するスコア群を抽出する。その結果、入力された動き・状態パターン、時間・カレンダー情報、ジオカテゴリコードの組み合わせに対応するスコア群が抽出される。
【０１２９】
上記のステップＳ１２の処理において、動き・状態パターンに対応するスコアマップＳＭが選択されるが、この選択処理は、図２３に記載の動作により実現される。図２３に例示するように、各動き・状態パターンには、複数のスコアマップＳＭにより構成されるスコアマップ群Ｐ１〜Ｐ９が対応付けられている。そこで、行動・状況認識部１１２は、入力された動き・状態パターン（及び移動速度・移動量）を所定の判定条件により判別し、その判別結果に対応するスコアマップ群を選択する。例えば、動き・状態パターンが「時間Ｔ１以上継続する歩き」である場合、スコアマップ群Ｐ５が選択される。
【０１３０】
上記のように、入力された動き・状態パターン、時間・カレンダー情報、ジオカテゴリコードの組み合わせに対応するスコア群を抽出すると、行動・状況認識部１１２は、抽出スコア群の中で最大のスコアを検出する。そして、行動・状況認識部１１２は、最大スコアに対応する行動・状況パターンを特定し、特定した行動・状況パターンを出力する。行動・状況認識部１１２により出力された行動・状況パターンは、推奨サービスＳＶやアプリケーションＡＰにおいて利用される。
【０１３１】
なお、行動・状況認識部１１２は、現在の入力に対応するスコア群を用いるだけでなく、過去の入力に対応するスコア群を併せて用い、ＨＭＭ等を利用して行動・状況パターンを特定するように構成されていてもよい。
【０１３２】
以上、ジオカテゴリコードを利用したルールベース判定に基づく行動・状況パターンの検出方法について説明した。
【０１３３】
（ルールベース判定：ジオカテゴリヒストグラム）
次に、図２４を参照しながら、ジオカテゴリヒストグラムを利用したルールベース判定に基づく行動・状況パターンの検出方法について説明する。ジオカテゴリヒストグラムを利用する場合、行動・状況認識部１１２には、現在地周辺にある建造物等のジオカテゴリコードと、そのジオカテゴリのヒストグラムとが入力される。ここでは、現在地周辺に１０個のジオカテゴリ（ＧＣ１、…、ＧＣ１０）が検出されたものとする。
【０１３４】
ジオカテゴリコードが入力されると、行動・状況認識部１１２は、各ジオカテゴリコードに対応するスコア群を各スコアマップＳＭから抽出する。図２４の例では、ジオカテゴリＧＣ１、ＧＣ２、…、ＧＣ１０に対応するジオカテゴリコード２３０３０００、１９０５０００、…、１６０２０００が入力され、それぞれに対応するスコア群が抽出されている。スコア群を抽出すると、行動・状況認識部１１２は、各スコア群を規格化してスコア分布ｐｄ１、ｐｄ２、…、ｐｄ１０を算出する。但し、この規格化は、各スコア群に含まれる最大スコアを用いて行われる。
【０１３５】
次いで、行動・状況認識部１１２は、算出したスコア分布ｐｄ１、ｐｄ２、…、ｐｄ１０に対し、入力されたジオカテゴリヒストグラムの値を乗算する。例えば、スコア分布ｐｄ１には、ジオカテゴリＧＣ１のヒストグラム値０を乗算する。また、スコア分布ｐｄ２には、ジオカテゴリＧＣ２のヒストグラム値１０を乗算する。同様に、スコア分布ｐｄ３、…、ｐｄ１０には、それぞれジオカテゴリＧＣ３、…、ＧＣ１０のヒストグラム値４５、…、２０を乗算する。次いで、行動・状況認識部１１２は、このようにしてヒストグラム値により重み付けされたスコア分布ｐｄ１、…、ｐｄ１０をスコアマップＳＭの種類毎に合計し、スコアマップＳＭ毎のスコア分布ＰＤ１、…、ＰＤｎを算出する。但し、ｎは、時間・カレンダー情報と動き・状態パターンとの組み合わせ数を表す。
【０１３６】
次いで、行動・状況認識部１１２は、入力された時間・カレンダー情報と動き・状態パターンとの組み合わせに対応するスコアマップＳＭの種類（例えば、ｋ番目のスコアマップＳＭ）を特定し、特定した種類に対応するスコア分布ＰＤｋを選択する。次いで、行動・状況認識部１１２は、選択したスコア分布ＰＤｋの中で最大のスコアを検出し、検出した最大のスコアに対応する行動・状況パターンを出力する。このような構成にすることにより、現在地周辺の環境を考慮した行動・状況パターンの検出を行うことができる。なお、ヒストグラム値が最大のジオカテゴリコードを選択し、選択したジオカテゴリコードを用いて行動・状況パターンを検出する方法も考えられる。この方法の場合、例えば、飲食街では高い確率で「食事」という行動・状況パターンが検出されるようになる。
【０１３７】
なお、上記の例では最大スコアを検出する方法が示されたが、例えば、複数の行動・状況パターン候補を選出する場合等においては最大スコアではなく、スコアの高い順に候補となる行動・状況パターンが検出されるように構成されていてもよい。この場合、検出された行動・状況パターンの候補の中から、ユーザのプロファイル情報や過去の行動・状況パターンの検出履歴等に基づいて適切な行動・状況パターンが絞り込まれる。この構成は一例であるが、このような変形例についても当然に本実施形態の技術的範囲に含まれる。
【０１３８】
以上、ジオカテゴリヒストグラムを利用したルールベース判定に基づく行動・状況パターンの検出方法について説明した。なお、ジオカテゴリコードを利用する方法と、ジオカテゴリヒストグラムを利用する方法とを併用してもよい。これらを併用することにより、ピンポイントでユーザがいる場所の環境と、その場所近辺の環境（雰囲気）とを考慮した適切な行動・状況パターンを検出することが可能になる。
【０１３９】
（学習モデル判定：ジオカテゴリコード）
次に、図２５を参照しながら、学習モデル判定に基づく行動・状況パターンの検出方法について説明する。上記の通り、学習モデル判定は、機械学習アルゴリズムを利用して判定モデルを生成し、生成した判定モデルを利用して行動・状況パターンを検出するというものである。機械学習アルゴリズムとしては、例えば、線形回帰、非線形回帰、ＳＶＭ、Ｂｏｏｓｔｉｎｇ等の手法が用いられる。また、これらの機械学習アルゴリズムに遺伝的探索手法による特徴量の選定処理を組み合わせてもよい。
【０１４０】
また、判定モデルを生成する際、教師データとして与えられる特徴ベクトルは、例えば、時間・カレンダー情報（年月日、時刻、曜日、祝日／非祝日等）、動き・状態パターン、動き・状態特徴量、センサデータ（加速度データ、ジャイロデータ等）、ジオカテゴリコード、ジオカテゴリヒストグラム（コード毎の数）、緯度・経度等を含む。また、特徴ベクトルには、ユーザの行動に関連する任意の検出データ及びその加工データを利用することができる。また、教師データとして与えられる目的変数は、正解の行動・状況パターンを示す正解データである。なお、教師データは、「学生」「社会人」「男性」「女性」等の比較的近い行動をとると思われるグループから選択的に採取されたものを利用することで、グループ毎に最適化された判定モデルを生成することもできる。
【０１４１】
機械学習の大まかな仕組みは、正解データが分かっている多数の特徴ベクトルを用意し、所定の関数群から選択された関数の組に特徴ベクトルを作用させ、同じ正解データに対応する複数の特徴ベクトルを同じ関数の組に作用させた場合に同じ特徴量（回答データ）が得られるような関数の組を抽出するというものである。所定の関数群には、例えば、微分演算出力、最大値出力、ローパスフィルタリング、普遍分散出力、フーリエ変換出力等、任意の関数（アルゴリズム）が含まれる。つまり、これらの関数を組み合わせて精度良く正解データを出力することが可能なアルゴリズム（判定モデル）を自動生成するのである。
【０１４２】
このようにして生成された判定モデルは、任意に入力された同形式の特徴ベクトルに対し、正解又は正解に近い行動・状況パターンを出力するものと期待される。そこで、行動・状況認識部１１２は、生成した判定モデルに対し、実際に観測されたセンサデータ等により構成される特徴ベクトルを入力して行動・状況パターンを検出する。十分な学習が行われていれば、この方法により精度良く行動・状況パターンを検出することができる。しかし、機械学習アルゴリズムにより判定モデルを生成する処理は、非常に演算量の多い処理である。そのため、図２〜図６を参照しながら説明したように、学習モデル判定を利用する場合にはシステム構成を工夫する必要がある。また、ルールベース判定と学習モデル判定とを組み合わせて用いる方法も考えられる。
【０１４３】
以上、学習モデル判定を利用した行動・状況パターンの検出方法について説明した。上記の通り、学習モデル判定を利用すると、十分な学習が行われていれば、行動・状況パターンを精度良く検出することができる。また、ユーザによるフィードバックを考慮して判定モデルを再構築することにより、より高精度に行動・状況パターンを検出することが可能な判定モデルを生成することができる。そのため、学習モデル判定を利用することは、行動・状況パターンの検出精度を高める上で有益である。
【０１４４】
（動作フロー）
次に、図２７〜図３０Ｂを参照しながら、行動・状況パターンの検出方法に係る行動・状況認識部１１２の動作フローについて説明する。但し、図２７は、行動・状況解析システム１０の全体的な動作フローを示した説明図である。
【０１４５】
（システム全体）
まず、図２７を参照しながら、行動・状況パターンの検出方法に係る行動・状況解析システム１０の全体的な動作フローについて説明する。
【０１４６】
図２７に示すように、ユーザにより何らかの行動が行われると（Ｓ２０）、モーションセンサ１０２によりセンサデータが取得される（Ｓ２２）。また、位置センサ１０４により現在地の位置情報が取得される。そして、センサデータは動き・状態認識部１０８に入力され、現在地の位置情報はジオカテゴライズ部１１０に入力される。次いで、動き・状態認識部１０８により動き・状態パターンが検知され、ジオカテゴライズ部１１０によりジオカテゴリコード（ヒストグラム）が抽出される（Ｓ２４）。そして、動き・状態パターン及びジオカテゴリコード（ヒストグラム）等の情報は、行動・状況認識部１１２に入力される。
【０１４７】
動き・状態パターン及びジオカテゴリコード（ヒストグラム）等の情報が入力されると、行動・状況認識部１１２は、これらの情報を用いて行動・状況パターンを検出する（Ｓ２６）。なお、ステップＳ２６の処理については後段において詳述する。行動・状況認識部１１２により行動・状況パターンが検出されると、検出された行動・状況パターンの情報はアプリケーション等に入力される（Ｓ２８）。そして、行動・状況パターンを利用した推奨サービスＳＶの提供が行われたり、アプリケーションにより行動・状況パターンに応じた機能がユーザに提供される。以下、ステップＳ２６の処理フローについて、より詳細に説明する。
【０１４８】
（Ａ：ルールベース判定）
ここでは、図２８を参照しながら、ルールベース判定に基づく行動・状況パターンの検出方法に係る行動・状況認識部１１２の動作フローについて説明する。
【０１４９】
図２８に示すように、まず、行動・状況認識部１１２は、ユーザプロファイルが登録されているか否かを判定する（Ｓ１０２）。ユーザプロファイルが登録されている場合、行動・状況認識部１１２は、ステップＳ１０４の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部１１２は、ステップＳ１０８の処理に進行する。
【０１５０】
ステップＳ１０４の処理に進行した場合、行動・状況認識部１１２は、入力された現在地の緯度・経度が自宅又は職場であるか否かを判定する（Ｓ１０４）。例えば、行動・状況認識部１１２は、登録されているユーザプロファイルを参照し、自宅又は職場を示すユーザプロファイルに記載された緯度・経度に一致するか否かを判定する。緯度・経度の位置に自宅も職場もない場合、行動・状況認識部１１２は、ステップＳ１１０の処理に進行する。一方、緯度・経度の位置に自宅又は職場がある場合、行動・状況認識部１１２は、ステップＳ１０６の処理に進行する。
【０１５１】
ステップＳ１０６の処理に進行した場合、行動・状況認識部１１２は、自宅又は職場に対応するスコアマップＳＭ（スコア群）を選択し（Ｓ１０６）、ステップＳ１１２の処理に進行する。また、ステップＳ１０２の判定処理によりステップＳ１０８の処理に進行した場合、行動・状況認識部１１２は、入力されたジオカテゴリコード（ヒストグラム）に基づくスコア群を選択し（Ｓ１０８）、ステップＳ１１２の処理に進行する。
【０１５２】
また、ステップＳ１０４の判定処理によりステップＳ１１０の処理に進行した場合、行動・状況認識部１１２は、ジオカテゴリコード（ヒストグラム）に基づくスコア群を選択する。さらに、行動・状況認識部１１２は、選択したスコア群にユーザプロファイルに基づく重み付けを施し（Ｓ１１０）、ステップＳ１１２の処理に進行する。例えば、ユーザプロファイルに野球好きであることが記載されている場合、行動・状況認識部１１２は、行動・状況パターン＝「野球」のスコアが大きくなるように重み付けをする。
【０１５３】
ステップＳ１１２の処理に進行すると、行動・状況認識部１１２は、動き・状態パターン及び時間・カレンダー情報に基づいてスコアマップＳＭの種類を絞り込む（Ｓ１１２）。次いで、行動・状況認識部１１２は、ステップＳ１１２の処理で絞り込んだ種類に対応するスコア群の中から最大スコアを検出し、検出した最大スコアに対応する行動・状況パターンを選択する（Ｓ１１４）。そして、選択された行動・状況パターンがアプリケーション等に入力され、行動・状況パターンの検出に係る一連の動作が終了する。なお、ジオカテゴリヒストグラムを利用する場合には、ステップＳ１１４にてスコア分布が算出され、最大確率に対応する行動・状況パターンが選択される。
【０１５４】
以上、ルールベース判定に基づく行動・状況パターンの検出方法について説明した。なお、図２８の例では最大スコアに対応する行動・状況パターンの選択方法が用いられているが、行動・状況認識部１１２は、現在の入力に対応するスコア群を用いるだけでなく、過去の入力に対応するスコア群を併せて用い、ＨＭＭ等を利用して行動・状況パターンを選択するように構成されていてもよい。
【０１５５】
（Ｂ：学習モデル判定）
次に、図２９を参照しながら、学習モデル判定に基づく行動・状況パターンの検出方法に係る行動・状況認識部１１２の動作フローついて説明する。
【０１５６】
図２９に示すように、まず、行動・状況認識部１１２は、ユーザプロファイルが登録されているか否かを判定する（Ｓ１２２）。ユーザプロファイルが登録されている場合、行動・状況認識部１１２は、ステップＳ１２４の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部１１２は、ステップＳ１２６の処理に進行する。
【０１５７】
ステップＳ１２４の処理に進行した場合、行動・状況認識部１１２は、ユーザプロファイルを考慮に入れて機械学習アルゴリズムにより生成された判定モデルを選択し（Ｓ１２４）、ステップＳ１２８の処理に進行する。一方、ステップＳ１２６の処理に進行した場合、行動・状況認識部１１２は、ユーザプロファイルを考慮に入れずに機械学習アルゴリズムにより生成された汎用の判定モデルを選択し（Ｓ１２６）、ステップＳ１２８の処理に進行する。
【０１５８】
ステップＳ１２８の処理に進行すると、行動・状況認識部１１２は、入力された情報（特徴ベクトル）をステップＳ１２４又はステップＳ１２６で選択した判定モデルに入力し、入力した特徴ベクトルに適合する行動・状況パターンを検出する（Ｓ１２８）。次いで、行動・状況認識部１１２は、ステップＳ１２８の処理により検出した行動・状況パターンを出力する（Ｓ１３０）。そして、出力された行動・状況パターンがアプリケーション等に入力され、行動・状況パターンの検出に係る一連の動作が終了する。
【０１５９】
以上、学習モデル判定に基づく行動・状況パターンの検出方法について説明した。
【０１６０】
（併用）
次に、図３０Ａ、図３０Ｂを参照しながら、ルールベース判定及び学習モデル判定を併用する行動・状況パターンの検出方法に係る行動・状況認識部１１２の動作フローについて説明する。
【０１６１】
図３０Ａに示すように、まず、行動・状況認識部１１２は、ユーザプロファイルが登録されているか否かを判定する（Ｓ１４２）。ユーザプロファイルが登録されている場合、行動・状況認識部１１２は、ステップＳ１４４の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部１１２は、ステップＳ１４８の処理に進行する。
【０１６２】
ステップＳ１４４の処理に進行した場合、行動・状況認識部１１２は、入力された現在地の緯度・経度が自宅又は職場であるか否かを判定する（Ｓ１４４）。例えば、行動・状況認識部１１２は、登録されているユーザプロファイルを参照し、自宅又は職場を示すユーザプロファイルに記載された緯度・経度に一致するか否かを判定する。緯度・経度の位置に自宅も職場もない場合、行動・状況認識部１１２は、ステップＳ１５０の処理に進行する。一方、緯度・経度の位置に自宅又は職場がある場合、行動・状況認識部１１２は、ステップＳ１４６の処理に進行する。
【０１６３】
ステップＳ１４６の処理に進行した場合、行動・状況認識部１１２は、自宅又は職場に対応するスコアマップＳＭ（スコア群）を選択し（Ｓ１４６）、ステップＳ１５２の処理に進行する。また、ステップＳ１４２の判定処理によりステップＳ１４８の処理に進行した場合、行動・状況認識部１１２は、入力されたジオカテゴリコード（ヒストグラム）に基づくスコア群を選択し（Ｓ１４８）、ステップＳ１５２の処理に進行する。
【０１６４】
また、ステップＳ１４４の判定処理によりステップＳ１５０の処理に進行した場合、行動・状況認識部１１２は、ジオカテゴリコード（ヒストグラム）に基づくスコア群を選択する。さらに、行動・状況認識部１１２は、選択したスコア群にユーザプロファイルに基づく重み付けを施し（Ｓ１５０）、ステップＳ１５２の処理に進行する。例えば、ユーザプロファイルに温泉好きであることが記載されている場合、行動・状況認識部１１２は、行動・状況パターン＝「温泉」のスコアが大きくなるように重み付けをする。
【０１６５】
ステップＳ１５２の処理に進行すると、行動・状況認識部１１２は、動き・状態パターン及び時間・カレンダー情報に基づいてスコアマップＳＭの種類を絞り込む（Ｓ１５２）。次いで、行動・状況認識部１１２は、ステップＳ１５２の処理で絞り込んだ種類に対応するスコア群の中から最大スコアを検出し、検出した最大スコアに対応する行動・状況パターンを選択する（Ｓ１５４）。なお、ジオカテゴリヒストグラムを利用する場合には、ステップＳ１５４にてスコア分布が算出され、最大確率に対応する行動・状況パターンが選択される。
【０１６６】
次いで、行動・状況認識部１１２は、図３０Ｂに示すステップＳ１５６に進行し、ステップＳ１５４において検出された最大スコアが所定値以上であるか否かを判定する（Ｓ１５６）。所定値以上である場合、行動・状況認識部１１２は、ステップＳ１６６の処理に進行する。一方、所定値以上でない場合、行動・状況認識部１１２は、ステップＳ１５８の処理に進行する。
【０１６７】
ステップＳ１５８の処理に進行した場合、行動・状況認識部１１２は、ユーザプロファイルが登録されているか否かを判定する（Ｓ１５８）。ユーザプロファイルが登録されている場合、行動・状況認識部１１２は、ステップＳ１６０の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部１１２は、ステップＳ１６２の処理に進行する。
【０１６８】
ステップＳ１６０の処理に進行した場合、行動・状況認識部１１２は、ユーザプロファイルを考慮に入れて機械学習アルゴリズムにより生成された判定モデルを選択し（Ｓ１６０）、ステップＳ１６４の処理に進行する。一方、ステップＳ１６２の処理に進行した場合、行動・状況認識部１１２は、ユーザプロファイルを考慮に入れずに機械学習アルゴリズムにより生成された汎用の判定モデルを選択し（Ｓ１６２）、ステップＳ１６４の処理に進行する。
【０１６９】
ステップＳ１６４の処理に進行すると、行動・状況認識部１１２は、入力された情報（特徴ベクトル）をステップＳ１６０又はステップＳ１６２で選択した判定モデルに入力し、入力した特徴ベクトルに適合する行動・状況パターンを検出する（Ｓ１６４）。次いで、行動・状況認識部１１２は、ステップＳ１６４の処理により検出した行動・状況パターン、又は図３０ＡのステップＳ１５４において選択した行動・状況パターンを出力する（Ｓ１６６）。そして、出力された行動・状況パターンがアプリケーション等に入力され、行動・状況パターンの検出に係る一連の動作が終了する。
【０１７０】
以上、ルールベース判定及び学習モデル判定を併用する行動・状況パターンの検出方法に係る行動・状況認識部１１２の動作フローについて説明した。なお、図３０Ａの例では、ステップＳ１５４の処理において最大スコアに対応する行動・状況パターンが選択されているが、行動・状況パターンの選択方法については他の方法を用いることもできる。例えば、現在の入力に対応するスコア群に加え、過去の入力に対応するスコア群を併せて用い、ＨＭＭ等を利用して行動・状況パターンを選択する方法を用いることもできる。
【０１７１】
以上説明したように、本実施形態に係る行動・状況パターンの検出方法を用いることにより、図２６に例示したようなユーザの生活行動（ＨＣ行動）に係る行動・状況パターンを検出することが可能になる。その結果、ＬＣ行動の積み重ねで表現された行動履歴からは推測することが難しいユーザの生活行動を利用することができるようになる。
【０１７２】
＜２：第２実施形態＞
次に、本発明の第２実施形態について説明する。本実施形態は、上記の第１実施形態において説明した行動・状況パターンの検出方法により得られる行動・状況パターンの利用方法に関する。特に、本実施形態の技術は、ユーザにより登録されたスケジュール情報と、検出された行動・状況パターンとを連携させ、状況に応じた適切な情報をユーザに提供する方法に関する。
【０１７３】
［２−１：システムの概要］
まず、図３１、図３２を参照しながら、本実施形態に係る行動・状況解析システム２０により実現される機能の概要について説明する。図３１、図３２は、スケジュールアプリケーションとの連携による効果的な情報の提示方法を示した説明図である。
【０１７４】
まず、図３１を参照する。図３１の例では、旅行の工程を示すスケジュール情報がスケジュールアプリケーションに登録されており、この登録情報と行動・状況パターンの検知結果とを組み合わせて通知情報の内容が決定される。例えば、ユーザが、朝、歩きで駅に向かっている時点で通知すべき情報について考えてみよう。なお、図３１の例には、スケジュール情報として「歩き」が記載されているが、これらの記載がなくとも、「電車」の記載及び時刻の情報から、朝、駅に向かっている状況を検知することができる。また、スケジュール情報は、ネットワークを介して取得されるように構成されていてもよい。
【０１７５】
まず、スケジュール情報に登録された「電車、９：００〜１０：００」の情報から、９：００以前に駅に向かう状況が発生することを推測することができる。しかし、駅に向かっているタイミングで通知すべき情報を通知するタイミングについては、スケジュール情報から推測することが困難である。しかし、本実施形態においてはユーザの行動・状況パターンを検知することができるため、検知された行動・状況パターンを利用して通知タイミングを決定することができる。例えば、乗車案内の通知タイミングは、「移動（歩き）」の行動・状況パターンが検知されたタイミングで通知すればよい。
【０１７６】
同様に、行動・状況パターンを利用すれば、観光地に到着する寸前の状況、観光地周辺で観光している状況、観光が終わる頃の状況、帰途についた状況等を認識することができる。さらに、観光地周辺にユーザがいる場合に、ユーザが歩いて観光しているのか、買い物をしているのか、電車に乗って移動中なのかを判別することができる。そこで、例えば、歩いて観光中の場合には観光地情報を提示し、買い物中の場合には土産物屋の情報を提示し、電車で移動中の場合には次の観光地情報を提示するといった情報の提示方法を実現することができる。
【０１７７】
さらに、スケジュールから遅れていたり、予定が早まったりしていても、行動・状況パターンからユーザの行動を把握することができるため、遅れや早まりを検知して適切な情報を提示することができる。例えば、図３２に示すように、スケジュール情報に基づくと、「温泉」の行動・状況パターンが検出されるべきところ、実際には「食事中」の行動・状況パターンが検出された場合に、その遅れをユーザに通知することができる。また、現在地の位置情報、及びスケジュール情報に記載された位置情報と共に、スケジュールの遅れをユーザに提示することもできる。
【０１７８】
このように、適切なタイミングで状況に合った情報が提示されることにより、ユーザは、提示情報に基づいて適切に移動手段を変更したり、スケジュールを変更したりすることができるようになる。また、ユーザがスケジュール情報とは異なるルートで移動したり、スケジュール情報には登録されていない予定を組み込んだ場合にも、行動・状況パターンから、スケジュール情報との違いを検出することが可能である。そのため、検出された行動・状況パターンに基づいて推測されるユーザの行動と、次に予定されている行動とを適切に結びつける情報（例えば、移動手段の提示等）を提示することもできるようになる。
【０１７９】
以下では、上記のようにスケジュール情報と、検出された行動・状況パターンの内容とを連携させてユーザに適切なタイミングで適切な情報を提示することが可能な行動・状況解析システム２０の構成について説明する。
【０１８０】
［２−２：システムの全体構成］
まず、図３３を参照しながら、本実施形態に係る行動・状況解析システム２０の全体的なシステム構成について説明する。図３３は、本実施形態に係る行動・状況解析システム２０の全体的なシステム構成例を示す説明図である。但し、上記の第１実施形態に係る行動・状況解析システム１０と実質的に同じ機能を有する構成要素については同一の符号を付することにより詳細な説明を省略することにする。
【０１８１】
図３３に示すように、行動・状況解析システム２０は、主に、モーションセンサ１０２と、位置センサ１０４と、時間・カレンダー情報取得部１０６と、動き・状態認識部１０８と、ジオカテゴライズ部１１０と、行動・状況認識部１１２とを有する。さらに、行動・状況解析システム２０は、履歴記憶部２０２と、スケジュール記憶部２０４と、行動照合部２０６と、行動予測部２０８と、アプリケーション表示部２１０とを有する。
【０１８２】
ユーザが行動すると、まず、モーションセンサ１０２によりセンサデータが検知される。モーションセンサ１０２により検知されたセンサデータは、動き・状態認識部１０８に入力される。また、位置センサ１０４により、現在地を示す位置情報が取得される。そして、位置センサ１０４により取得された現在地の位置情報は、ジオカテゴライズ部１１０に入力される。
【０１８３】
センサデータが入力されると、動き・状態認識部１０８は、センサデータを用いて動き・状態パターンを検出する。そして、動き・状態認識部１０８により検出された動き・状態パターンは、行動・状況認識部１１２に入力される。また、現在地の位置情報が入力されると、ジオカテゴライズ部１１０は、地図情報ＭＰを取得し、取得した地図情報ＭＰを用いて現在地に対応するジオカテゴリコードを選択する。また、ジオカテゴライズ部１１０は、ジオカテゴリのヒストグラムを算出する。ジオカテゴライズ部１１０により選択されたジオカテゴリコードは、行動・状況認識部１１２に入力される。
【０１８４】
上記のように、行動・状況認識部１１２には、動き・状態認識部１０８から動き・状態パターンが入力され、ジオカテゴライズ部１１０からジオカテゴリコードが入力される。また、行動・状況認識部１１２には、動き・状態認識部１０８を介してセンサデータも入力される。そして、行動・状況認識部１１２には、ジオカテゴライズ部１１０を介して現在地の位置情報も入力される。さらに、行動・状況認識部１１２には、時間・カレンダー情報取得部１０６から時間・カレンダー情報が入力される。
【０１８５】
そこで、行動・状況認識部１１２は、入力された動き・状態パターン、ジオカテゴリコード（ヒストグラム）、時間・カレンダー情報に基づいて行動・状況パターンを検出する。なお、ここで利用される行動・状況パターンの検出方法は、ルールベース判定に基づくものでも、学習モデル判定に基づくものでもよい。行動・状況認識部１１２により検出された行動・状況パターンは、現在地の位置情報と共に履歴記憶部２０２に記録される。なお、以下の説明において、履歴記憶部２０２に蓄積された行動・状況パターンの履歴情報のことを行動履歴と呼ぶ場合がある。同様に、履歴記憶部２０２に蓄積された現在地の位置情報のことを位置履歴と呼ぶ場合がある。
【０１８６】
履歴記憶部２０２に蓄積された行動履歴及び位置履歴は、行動照合部２０６、又は行動予測部２０８により読み出される。行動照合部２０６は、スケジュール情報と実際の行動・状況パターンとを照合する手段である。スケジュール情報は、スケジュール記憶部２０４に記録されている。そこで、行動照合部２０６は、スケジュール記憶部２０４に記録されたスケジュール情報の内容と、位置センサ１０４により検出された現在地の情報及び行動・状況認識部１１２により検出された行動・状況パターンとを比較する。スケジュール情報の内容と、現在地の情報及び行動・状況パターンとが一致している場合、行動照合部２０６は、一致を示す情報をアプリケーション表示部２１０に入力する。
【０１８７】
一方、スケジュール情報の内容と、現在地の情報及び行動・状況パターンとが一致しない場合、行動照合部２０６は、スケジュール情報に登録されている過去又は未来の内容に、現在地の情報及び行動・状況パターンと一致する内容が存在するか否かを判定する。スケジュール情報に登録された過去又は未来の内容に、現在地の情報及び行動・状況パターンと一致する内容が存在する場合、行動照合部２０６は、過去又は未来の一致内容と共に、一致を示す情報をアプリケーション表示部２１０に入力する。一方、スケジュール情報に登録された過去又は未来の内容に、現在地の情報及び行動・状況パターンと一致する内容が存在しない場合、行動照合部２０６は、履歴記憶部２０２から行動履歴及び位置履歴の情報を読み出す。
【０１８８】
そして、行動照合部２０６は、スケジュール情報に登録されている内容と、読み出した行動履歴及び位置履歴とを比較し、スケジュール情報に登録されている行動内容と行動・状況パターンとが不一致になった時点を検出する。そして、行動照合部２０６は、検出した不一致になった時点を示す情報と、その時点における位置履歴及び行動履歴の情報とをアプリケーション表示部２１０に入力する。
【０１８９】
また、行動照合部２０６は、位置センサ１０４から入力される位置情報及び行動・状況認識部１１２から入力される行動・状況パターンと、スケジュール情報の内容とが一致するまで上記の比較処理を繰り返す。そして、行動照合部２０６は、一致した時点で、一致を示す情報及びその時点における位置情報及び行動・状況パターンをアプリケーション表示部２１０に入力する。
【０１９０】
また、行動照合部２０６には、行動予測部２０８から位置情報及び行動・状況パターンの予測結果が入力される。例えば、スケジュール記憶部２０４に登録されたスケジュール情報が存在しない場合、行動照合部２０６は、行動予測部２０８により入力された行動・状況パターンの予測結果と、実際に行動・状況認識部１１２により検出された行動・状況パターンとを比較する。そして、行動照合部２０６は、その比較結果をアプリケーション表示部２１０に入力する。例えば、現在地の次にユーザが訪れるであろう場所や、その場所におけるユーザの行動・状況パターンに応じた情報を提示したいが、スケジュール情報が登録されていない場合に行動予測部２０８による予測結果が利用される。
【０１９１】
行動予測部２０８は、履歴記憶部２０２に蓄積されている行動履歴及び位置履歴の情報を読み出し、読み出した情報に基づいて未来の行動・状況パターン及び位置情報を予測する。例えば、行動予測部２０８は、履歴記憶部２０２から読み出した行動履歴等を利用し、確率的な位置遷移モデルに基づいて次にユーザのとる行動・状況パターンを予測する。確率的な位置遷移モデルとしては、例えば、後述する位置クラスタリングに基づく遷移確率の推定方法等が用いられる。また、図３３には明示していないが、履歴記憶部２０２に他人の行動履歴や位置履歴が記録されている場合、行動予測部２０８は、他人の行動履歴や位置履歴を読み出して行動・状況パターンの予測に利用することもある。他人の行動履歴等を利用することにより、本人の行動履歴等がない場所の行動予測（例えば、多くの人が取ると予測される行動の推定）が可能になる。
【０１９２】
このように、行動照合部２０６により、現在、過去、未来のスケジュール情報と、現在検出された行動・状況パターン等の情報とが照合される。また、行動照合部２０６により、現在、過去、未来スケジュール情報と、過去に検出された行動・状況パターン等の情報とが照合される。さらに、行動照合部２０６により、行動予測部２０８により推定された未来の行動・状況パターン等の情報と、現在検出された行動・状況パターン等の情報とが照合される。これらの照合結果は、アプリケーション表示部２１０に入力される。さらに、行動予測部２０８による予測結果もアプリケーション表示部２１０に入力される。
【０１９３】
これらの情報が入力されると、アプリケーション表示部２１０は、アプリケーションを利用して入力情報に応じた適切な情報をユーザに提示する。また、アプリケーション表示部２１０は、ユーザがスケジュール情報を登録したり、スケジュール情報を管理するためのアプリケーションを表示する。さらに、アプリケーション表示部２１０は、地図を表示するためのアプリケーションを表示したり、そのアプリケーションを介して行動照合部２０６による照合結果等を表示したりする。例えば、図３２に示すように、スケジュール情報に登録された予定と、実際に検出された行動・状況パターンとの時間・空間的な相違を表示する。なお、このような情報は、音声により通知されるように構成してもよい。
【０１９４】
以上、行動・状況解析システム２０の全体的なシステム構成について説明した。
【０１９５】
［２−３：行動予測部２０８の機能］
次に、図３４を参照しながら、行動予測部２０８の機能について説明する。
【０１９６】
図３４には、位置クラスタリングを利用した行動予測方法が示されている。行動予測部２０８は、履歴記憶部２０２から行動履歴及び位置履歴を読み出し、行動履歴に基づいて位置履歴の情報を絞り込む。位置履歴には、ユーザが歩いて移動中に検出された位置情報、電車やバスで移動中に検出された位置情報、静止中に検出された位置情報等、様々な場面で記録された位置情報が含まれている。そのため、全ての位置情報を同等に扱ってユーザがとるであろう行動・状況パターンの傾向を予測するのは非常に難しい。
【０１９７】
そこで、行動予測部２０８は、行動履歴を参照し、「歩き」「静止」の行動・状況パターンに対応する位置情報を位置履歴から抽出する。このようにして位置情報を絞り込むことにより、行動予測にかかる演算量を低減させることができる。また、「歩き」「静止」の行動・状況パターンを抽出することにより、ユーザが、ある範囲内に停留している状況を選別することができる。なお、行動履歴に滞在時間（又は継続時間）や時間・カレンダー情報等の履歴が含まれている場合には、これらの履歴を利用し、滞在時間（又は継続時間）が長い行動履歴に絞り込んだり、予測行動の実施時間帯で行動履歴を絞り込んでもよい。このような絞り込みを行うことにより、行動予測の精度を向上させることができる。
【０１９８】
次に、行動予測部２０８は、行動履歴に基づいて絞り込まれた位置情報（Ａ）をクラスタリングする。つまり、行動予測部２０８は、位置情報のポイントが集中する領域（クラスタ）を抽出し、抽出した各領域に含まれるポイントをグルーピングすると共に、各グループを代表する代表ポイントを決定する。上記のように、行動予測部２０８は、「歩き」「静止」の行動・状況パターンによる絞り込みを実施しているため、各クラスタが大きく広がってしまうことがない。そのため、ユーザの主な停留ポイントを忠実に表現したクラスタマップ（Ｂ）を生成することができる。図３４の例では、３つのクラスタＡ、Ｂ、Ｃが得られる。
【０１９９】
次に、行動予測部２０８は、位置履歴に基づいてクラスタ内及びクラスタ間の遷移確率を計算する。「歩き」「静止」の行動・状況パターンで絞り込まれた位置履歴には、ユーザの移動工程（時系列の位置情報）が含まれている。また、上記のクラスタリングにより、各クラスタの範囲が特定されている。そのため、これらの情報を併せて利用することにより、行動予測部２０８は、移動工程を構成する各位置情報が、どのクラスタに含まれるかを判別することができる。また、行動予測部２０８は、ある移動工程が、どのクラスタから、どのクラスタへと移動するものであるかを判別することができる。
【０２００】
例えば、行動予測部２０８は、クラスタＡ内で移動する移動工程の数ＭＡＡ、クラスタＢ内で移動する移動工程の数ＭＢＢ、クラスタＣ内で移動する移動工程ＭＣＣの数を検出することができる。また、行動予測部２０８は、クラスタＡからクラスタＢへと移動する移動工程の数ＭＡＢを検出することができる。さらに、行動予測部２０８は、クラスタＢからクラスタＡへと移動する移動工程の数ＭＢＡを検出することができる。そして、行動予測部２０８は、クラスタＢからクラスタＣへと移動する移動工程の数ＭＢＣ、クラスタＣからクラスタＢへと移動する移動工程の数ＭＣＢを検出することができる。
【０２０１】
このようにして検出されたＭＡＡ、ＭＢＢ、ＭＣＣ、ＭＡＢ、ＭＢＡ、ＭＡＣ、ＭＣＡ、ＭＢＣ、ＭＣＢの比率に基づき、クラスタ内又はクラスタ間の遷移確率を計算することができる。行動予測部２０８は、このようにして遷移確率を計算すると、計算した遷移確率に基づいて行動を予測する。例えば、図３４（Ｃ）のような遷移確率が算出され（但し、数字の大きさは遷移確率の大きさを示す。）、ユーザがクラスタＡに存在し、行動・状況パターンが「買い物中」の場合、ユーザは買い物を続け、その後でクラスタＢに移動するものと予測される。このように、スケジュール情報が登録されていなくとも、位置履歴及び行動履歴に基づいて行動予測部２０８によりユーザの行動が予測される。
【０２０２】
以上、行動予測部２０８の機能について説明した。
【０２０３】
［２−４：行動照合部２０６の機能］
次に、図３５Ａ〜図３５Ｃを参照しながら、行動照合部２０６の動作フローについて説明する。
【０２０４】
（前段処理）
まず、図３５Ａを参照する。図３５Ａは、行動照合部２０６による行動照合動作の前段で行われる主な処理フローを示す説明図である。図３５Ａに示すように、まず、動き・状態認識部１０８により、センサデータに基づいて動き・状態パターンが検出される（Ｓ２０２）。次いで、ジオカテゴライズ部１１０により、位置情報からジオカテゴリ情報（ジオカテゴリコード、ジオカテゴリヒストグラム）が検出される（Ｓ２０４）。次いで、行動・状況認識部１１２により、動き・状態パターン、及びジオカテゴリ情報から、行動・状況パターンが検出される（Ｓ２０６）。
【０２０５】
次いで、行動照合部２０６により、スケジュール記憶部２０４にスケジュール情報が登録されているか否かが判定される（Ｓ２０８）。スケジュール記憶部２０４にスケジュール情報が登録されている場合、行動照合部２０６は、ステップＳ２１０の処理に進行する。一方、スケジュール記憶部２０４にスケジュール情報が登録されていない場合、行動照合部２０６は、ステップＳ２１２の処理に進行する。ステップＳ２１０の処理に進行した場合、行動照合部２０６は、スケジュール情報から現在の予定と次の予定とを確認する（Ｓ２１０）。一方、ステップＳ２１２の処理に進行した場合、行動照合部２０６は、行動予測部２０８により行動・状況パターンの履歴（行動履歴／位置履歴）に基づいて予測された次の行動を示す情報を取得する（Ｓ２１２）。
【０２０６】
（スケジュール情報が登録されている場合）
次に、図３５Ｂを参照する。スケジュール記憶部２０４にスケジュール情報が登録されている場合、図３５Ａの前段処理により、行動照合部２０６は、スケジュール情報に登録された現在の予定又は次の予定を認識している。そこで、行動照合部２０６は、位置センサ１０４により検出された現在の位置、及び行動・状況認識部１１２により検出された現在の行動・状況パターンが、スケジュール情報に登録された現在の予定に一致するか否かを判定する（Ｓ２２２）。現在の予定と一致している場合、行動照合部２０６は、ステップＳ２２４の処理に進行する。一方、現在の予定と一致していない場合、行動照合部２０６は、ステップＳ２２８の処理に進行する。
【０２０７】
ステップＳ２２４の処理に進行した場合、行動照合部２０６は、現在の予定が既に消化されているか否かを判定する（Ｓ２２４）。現在の予定が未消化の場合、行動照合部２０６は、ステップＳ２２６の処理に進行する。一方、現在の予定が未消化でない場合、行動照合部２０６は、ステップＳ２３０の処理に進行する。ステップＳ２２６の処理に進行した場合、行動照合部２０６は、スケジュール情報に登録された現在の予定を取得し（Ｓ２２６）、ステップＳ２４０の処理に進行する。
【０２０８】
ステップＳ２２２の判定処理によりステップＳ２２８の処理に進行した場合、行動照合部２０６は、現時点で検出された位置情報及び行動・状況パターンが次の予定と一致するか否かを判定する（Ｓ２２８）。次の予定と一致する場合、行動照合部２０６は、ステップＳ２３０の処理に進行する。一方、次の予定と一致していない場合、行動照合部２０６は、ステップＳ２３２の処理に進行する。ステップＳ２３０の処理に進行した場合、行動照合部２０６は、スケジュール情報に登録された次の予定を取得し（Ｓ２３０）、ステップＳ２４０の処理に進行する。
【０２０９】
ステップＳ２２８の判定処理によりステップＳ２３２の処理に進行した場合、行動照合部２０６は、現時点で検出された位置情報及び行動・状況パターンが過去の予定と一致するか否かを判定する（Ｓ２３２）。過去の予定と一致している場合、行動照合部２０６は、ステップＳ２３４の処理に進行する。一方、過去の予定と一致していない場合、行動照合部２０６は、ステップＳ２３６の処理に進行する。ステップＳ２３４の処理に進行した場合、行動照合部２０６は、スケジュール情報に登録された過去の予定を取得し（Ｓ２３４）、ステップＳ２４０の処理に進行する。
【０２１０】
ステップＳ２３２の判定処理によりステップＳ２３６の処理に進行した場合、行動照合部２０６は、現在地周辺の行動予測データを行動予測部２０８から取得する（Ｓ２３６）。次いで、行動照合部２０６は、次にユーザが行きそうな場所の行動予測データを行動予測部２０８から取得し（Ｓ２３８）、ステップＳ２４０の処理に進行する。
【０２１１】
ステップＳ２４０の処理に進行すると、行動照合部２０６は、予定行動の種類を確認する（Ｓ２４０）。予定行動の種類としては、例えば、グルメ（飲食等）、イベント、乗り物等を例示することができる。次いで、行動照合部２０６は、予定行動の種類に応じた情報を取得する（Ｓ２４２）。次いで、行動照合部２０６は、取得した情報をアプリケーション表示部２１０に入力し、その情報をアプリケーションに表示する（Ｓ２４４）。そして、行動照合部２０６は、情報の提示に係る一連の処理を終了する。
【０２１２】
このような構成にすることにより、ユーザの行動がスケジュール情報に登録した予定から外れても、その時点での行動・状況パターンに応じて適切な情報を提供することができる。また、ユーザの行動がスケジュール情報に登録されていないものであっても、予測される行動・状況パターンに基づいて適切な情報がユーザに提示される。
【０２１３】
（スケジュール情報が登録されていない場合）
次に、図３５Ｃを参照する。図３５Ｃは、スケジュール記憶部２０４にスケジュール情報が登録されていない場合、図３５Ａの前段処理において行動予測部２０８により行動予測データが生成されている。そこで、行動照合部２０６は、行動予測部２０８から現在地周辺の行動予測データを取得する（Ｓ２５２）。次いで、行動照合部２０６は、次にユーザが行きそうな場所の行動予測データを取得する（Ｓ２５４）。
【０２１４】
次いで、行動照合部２０６は、行動予測データに基づいて予定行動の種類を確認する（Ｓ２５６）。次いで、行動照合部２０６は、予定行動の種類に応じた情報を取得する（Ｓ２５８）。次いで、行動照合部２０６は、取得した情報をアプリケーション表示部２１０に入力し、その情報をアプリケーションに表示する（Ｓ２６０）。そして、行動照合部２０６は、情報の提示に係る一連の処理を終了する。
【０２１５】
このような構成にすることにより、スケジュール記憶部２０４にスケジュール情報が登録されていなくても、ユーザの行動・状況パターンを予測して、その場面に応じた適切な情報をユーザに提示することが可能になる。
【０２１６】
以上、本発明の第２実施形態について説明した。本実施形態においては、スケジュール情報と行動・状況パターンとを連携させ、場面に応じた適切な情報をユーザに提供する技術が提案された。また、行動履歴及び位置履歴に基づいて効率的に精度良くユーザの行動・状況パターンを予測する技術が提案された。これらの技術を用いることにより、場面に応じて、より効果的な情報をユーザに提示することができるようになる。
【０２１７】
＜３：第３実施形態＞
次に、本発明の第３実施形態について説明する。本実施形態は、上記の第１実施形態において説明した行動・状況パターンの検出方法により得られる行動・状況パターンの利用方法に関する。特に、本実施形態の技術は、ユーザが将来行うべき予定として登録したＴｏＤｏ情報の通知タイミングを絶妙に制御する技術に関する。また、ＴｏＤｏ情報を複数のユーザで共有し、各ユーザの行動・状況パターンに応じて、その通知対象を適切に制御する技術に関する。
【０２１８】
［３−１：システムの概要］
まず、図３６、図３７を参照しながら、本実施形態に係る行動・状況解析システム３０により実現される機能の概要について説明する。図３６、図３７は、ＴｏＤｏ情報の登録・通知アプリケーションとの連携による効果的な情報の提示方法を示した説明図である。
【０２１９】
まず、図３６を参照する。図３６には、ＴｏＤｏ情報を登録するためのアプリケーションにおける登録画面と、登録されたＴｏＤｏ情報の表示画面とが例示されている。登録画面には、登録したＴｏＤＯ情報を通知する期間（現在〜期限）を設定するための「期限」入力ボックスと、通知したいＴｏＤＯ情報を登録するための「表示内容」ボックスと、通知タイミングを設定するためのタイミングボックス（「行動の種類」）と、共有者を設定するための共有者選択ボックス（「ＴｏＤｏの共有？」）とが設けられている。
【０２２０】
登録画面のタイミングボックスには、所定の行動リストの中に含まれている行動・状況パターンを選択的に入力することができる。また、登録画面の共有者選択ボックスには、所定のＧｒｏｕｐリストの中に含まれているグループを選択的に入力することができる。行動リストには、例えば、「仕事中」「食事中」「買い物中」「家事中」「鑑賞中」等の行動・状況パターンが含まれる。また、Ｇｒｏｕｐリストには、例えば、「家族」「サークル」「野球チーム」「仕事関係」「同期仲間」等のグループが含まれる。
【０２２１】
登録画面を利用して上記の各項目が登録されていると、行動・状況パターンの検出結果に応じてＴｏＤｏ情報が表示画面に表示される。例えば、行動リストから「帰宅中」を選択して登録しておいた場合、ユーザの行動に伴って検出された行動・状況パターンが「帰宅中」であるタイミングでＴｏＤｏ情報が表示画面に表示される。図３６の例では、ＴｏＤｏ情報として「帰宅時に買おうと考えている」買い物リストが登録されており、「帰宅中」の行動・状況パターンが検出されたタイミングで登録された買い物リスト「帰りに買う物」「本屋に立ち寄る」が表示されている。
【０２２２】
このように、行動・状況パターンに応じたＴｏＤｏ情報が表示されるように構成することにより、ＴｏＤｏ情報の表示タイミングを個々に設定せずとも、自動的に適切なＴｏＤｏ情報が表示される。そのため、ユーザの登録にかかる手間が減少すると共に、ユーザの行動・状況パターンが予定していたものと異なっていても、適切なタイミングでＴｏＤｏ情報を自動的に表示することが可能になる。
【０２２３】
例えば、ＴｏＤｏ情報の表示タイミングを通常の帰宅時刻に設定しておくと、帰宅時刻が変更になった場合に、実際の帰宅時とは異なるタイミングでＴｏＤｏ情報が表示されてしまうが、図３６のような構成にすると、このような不具合は生じない。
【０２２４】
なお、登録画面でＴｏＤｏ情報の表示内容を入力した際に、入力内容に応じて行動リストの中から行動・状況パターンが自動選択されるように構成されていてもよい。但し、自動選択される行動・状況パターンは、予め設定されていてもよいし、機械学習により自動構築された判定モデルを用いて設定されるように構成されていてもよい。
【０２２５】
例えば、図３７に示すように、ＴｏＤｏ情報の表示内容が「買い物リスト」である場合、「買い物リスト」に対応する行動・状況パターン「移動中（電車、バス、車、自転車）」「帰宅」「買い物中」が自動選択されるように構成されていてもよい。同様に、「連絡リスト」に対しては「移動中（歩き）」「散歩中」、「家計簿記入」に対しては「買い物中」「買い物後」、「カロリーチェック」に対しては「食事中」「食事後」、「英語リスニング」に対しては「移動中（電車、バス）」、「録画番組視聴」に対しては「家事中」「ＴＶ鑑賞中」等が自動選択されるように構成されていてもよい。
【０２２６】
このように、行動・状況パターンに応じた適切なタイミングで効果的にＴｏＤｏ情報が表示されることにより、ＴｏＤｏ情報がより有効に活用できるようになる。また、後述するようにＴｏＤｏ情報を複数のユーザで共有し、行動・状況パターンを利用してＴｏＤｏ情報の通知対象を選別することにより、無関係なユーザへの不適切なＴｏＤｏ情報の通知を抑制し、ユーザの不快感を軽減すると共に、効果的なＴｏＤｏ情報の提供を実現することができる。以下、このような機能を実現することが可能な行動・状況解析システム３０の構成について詳細に説明する。
【０２２７】
［３−２：システムの全体構成］
まず、図３８を参照しながら、本実施形態に係る行動・状況解析システム３０の全体的なシステム構成について説明する。図３８は、本実施形態に係る行動・状況解析システム３０の全体的なシステム構成例を示す説明図である。但し、上記の第１実施形態に係る行動・状況解析システム１０と実質的に同じ機能を有する構成要素については同一の符号を付することにより詳細な説明を省略することにする。
【０２２８】
図３８に示すように、行動・状況解析システム３０は、主に、モーションセンサ１０２と、位置センサ１０４と、時間・カレンダー情報取得部１０６と、動き・状態認識部１０８と、ジオカテゴライズ部１１０と、行動・状況認識部１１２とを有する。さらに、行動・状況解析システム３０は、ＴｏＤｏ登録・通知アプリケーション３０２と、ＴｏＤｏ管理部３０４と、データベース格納部３０６とを有する。
【０２２９】
ユーザが行動すると、まず、モーションセンサ１０２によりセンサデータが検知される。モーションセンサ１０２により検知されたセンサデータは、動き・状態認識部１０８に入力される。また、位置センサ１０４により、現在地を示す位置情報が取得される。そして、位置センサ１０４により取得された現在地の位置情報は、ジオカテゴライズ部１１０に入力される。
【０２３０】
センサデータが入力されると、動き・状態認識部１０８は、センサデータを用いて動き・状態パターンを検出する。そして、動き・状態認識部１０８により検出された動き・状態パターンは、行動・状況認識部１１２に入力される。また、現在地の位置情報が入力されると、ジオカテゴライズ部１１０は、地図情報ＭＰを取得し、取得した地図情報ＭＰを用いて現在地に対応するジオカテゴリコードを選択する。また、ジオカテゴライズ部１１０は、ジオカテゴリのヒストグラムを算出する。ジオカテゴライズ部１１０により選択されたジオカテゴリコードは、行動・状況認識部１１２に入力される。
【０２３１】
上記のように、行動・状況認識部１１２には、動き・状態認識部１０８から動き・状態パターンが入力され、ジオカテゴライズ部１１０からジオカテゴリコードが入力される。また、行動・状況認識部１１２には、動き・状態認識部１０８を介してセンサデータも入力される。そして、行動・状況認識部１１２には、ジオカテゴライズ部１１０を介して現在地の位置情報も入力される。さらに、行動・状況認識部１１２には、時間・カレンダー情報取得部１０６から時間・カレンダー情報が入力される。
【０２３２】
そこで、行動・状況認識部１１２は、入力された動き・状態パターン、ジオカテゴリコード（ヒストグラム）、時間・カレンダー情報に基づいて行動・状況パターンを検出する。なお、ここで利用される行動・状況パターンの検出方法は、ルールベース判定に基づくものでも、学習モデル判定に基づくものでもよい。行動・状況認識部１１２により検出された行動・状況パターンは、ＴｏＤｏ登録・通知アプリケーション３０２に入力される。ＴｏＤｏ登録・通知アプリケーション３０２は、ＴｏＤｏ情報をユーザが登録する際に利用する入力インターフェース（登録画面の内容）を提供すると共に、ＴｏＤｏ情報をユーザに提示する手段（表示画面の内容）である。
【０２３３】
ＴｏＤｏ登録・通知アプリケーション３０２に期限、表示内容、行動・状況パターン、共有対象等（以下、登録情報）が登録されると、ＴｏＤｏ登録・通知アプリケーション３０２からＴｏＤｏ管理部３０４に登録情報が入力される。登録情報が入力されると、ＴｏＤｏ管理部３０４は、登録情報をデータベース格納部３０６に格納する。また、ＴｏＤｏ登録・通知アプリケーション３０２は、行動・状況認識部１１２から入力された行動・状況パターンをＴｏＤｏ管理部３０４に入力する。
【０２３４】
行動・状況パターンが入力されると、ＴｏＤｏ管理部３０４は、データベース格納部３０６に格納された登録情報を参照し、入力された行動・状況パターンに一致するＴｏＤｏ情報をＴｏＤｏ登録・通知アプリケーション３０２に入力する。ＴｏＤｏ管理部３０４からＴｏＤｏ情報が入力されると、ＴｏＤｏ登録・通知アプリケーション３０２は、入力されたＴｏＤｏ情報を表示画面に表示する。
【０２３５】
なお、ＴｏＤｏ管理部３０４には、複数のユーザの行動・状況パターンが入力される。そのため、ＴｏＤｏ管理部３０４は、入力された複数の行動・状況パターンと、複数のユーザが属するグループの情報とを考慮し、データベース格納部３０６に格納された登録情報に基づいてＴｏＤｏ情報の提供先を選択する。そして、ＴｏＤｏ管理部３０４は、選択した提供先のＴｏＤｏ登録・通知アプリケーション３０２にＴｏＤｏ情報を入力する。ＴｏＤｏ管理部３０４からＴｏＤｏ情報が入力されると、各ＴｏＤｏ登録・通知アプリケーション３０２は、入力されたＴｏＤｏ情報を表示画面に表示する。
【０２３６】
このような構成にすることにより、行動・状況パターンに応じて適切なタイミングでＴｏＤｏ情報が適切なユーザに通知される。
【０２３７】
［３−３：ＴｏＤｏ管理部３０４の機能］
次に、図３９〜図４４を参照しながら、ＴｏＤｏ管理部３０４の機能について説明する。
【０２３８】
（概要）
まず、図３９、図４０を参照しながら、ＴｏＤｏ管理部３０４によるＴｏＤｏ情報の登録及び通知の動作について、その概要を説明する。
【０２３９】
図３９に示すように、ＴｏＤｏ登録・通知アプリケーション３０２から登録情報が入力されると、ＴｏＤｏ管理部３０４は、データベース格納部３０６に登録情報を格納する。データベース格納部３０６には、ＴｏＤｏメッセージＤＢ、ユーザ／グループ管理ＤＢ、ユーザ行動状態ＤＢが設けられている。ＴｏＤｏメッセージＤＢは、登録情報として入力されたＴｏＤｏ情報が格納されるデータベースである。ユーザ／グループ管理ＤＢは、登録情報として入力されたユーザ及びグループの情報が格納されるデータベースである。ユーザ行動状態ＤＢは、ユーザ／グループ管理ＤＢに格納されているユーザの行動・状況パターンが格納されるデータベースである。ＴｏＤｏ管理部３０４は、これらのデータベースに登録情報を格納する。
【０２４０】
上記の通り、ＴｏＤｏ管理部３０４には、各ユーザから行動・状況パターンが入力される。そこで、ＴｏＤｏ管理部３０４は、入力された行動・状況パターンに適合するＴｏＤｏ情報をＴｏＤｏメッセージＤＢから抽出し、その行動・状況パターンを入力してきたユーザに提供する。このとき、ＴｏＤｏ情報にグループが紐付けられている場合、行動・状況パターンが一致するユーザの所属グループをユーザ／グループ管理ＤＢから検索し、ＴｏＤｏ情報に紐付けられているグループに属するユーザにもＴｏＤｏ情報を提供する。
【０２４１】
このような構成にすることにより、行動・状況パターンに応じてＴｏＤｏ情報の通知タイミング、及びＴｏＤｏ情報の通知先が決定され、その通知先に行動・状況パターンに応じたタイミングでＴｏＤｏ情報が通知される。
【０２４２】
図４０に示すように、ＴｏＤｏ情報が通知され、ＴｏＤｏの行動をユーザが完了すると、ユーザは、ＴｏＤｏの完了通知をＴｏＤｏ管理部３０４に入力する。完了通知が入力されると、ＴｏＤｏ管理部３０４は、データベース格納部３０６に含まれるＴｏＤｏメッセージＤＢから、完了通知に対応するＴｏＤｏ情報を削除する。そして、ＴｏＤｏ管理部３０４は、ＴｏＤｏ情報を通知したユーザに対して完了通知を送信する。
【０２４３】
このようにして完了通知が各ユーザに送信されることにより、各ユーザはＴｏＤｏの完了を知ることができる。例えば、グループ内の誰かが実行すれば足りるＴｏＤｏが通知された場合、いずれかのユーザがＴｏＤｏを完了させたことが完了通知により通知されることで、グループ内の各ユーザがＴｏＤｏの完了を知ることができる。
【０２４４】
このようにしてＴｏＤｏの登録、通知、完了登録、完了通知が行われる。これらの機能を実現させるためのＴｏＤｏ管理部３０４の詳細な機能構成を以下に示す。
【０２４５】
（詳細な構成、動作フロー）
次に、図４１、図４２Ａ〜図４２Ｄを参照しながら、ＴｏＤｏ管理部３０４の詳細な機能構成、及びＴｏＤｏ管理部３０４の動作フローについて説明する。図４１は、ＴｏＤｏ管理部３０４の詳細な機能構成例を示す説明図である。図４２Ａ〜図４２Ｄは、ＴｏＤｏ管理部３０４の動作フローを示す説明図である。
【０２４６】
図４１に示すように、ＴｏＤｏ管理部３０４は、ＴｏＤｏ登録部３１２と、ＴｏＤｏ完了登録部３１４と、ＴｏＤｏ同期部３１６と、ＴｏＤｏ通知部３１８と、タイマー３２０とにより構成される。
【０２４７】
（ＴｏＤｏ登録部３１２の構成及び動作）
ＴｏＤｏ登録部３１２には、登録時に登録情報が入力される。ここで入力される登録情報には、例えば、宛先ユーザ、通知対象の範囲、トリガー行動の種類（行動リストに含まれる行動・状況パターン）、メッセージ（ＴｏＤｏ情報）、繰り返しの有無等の情報が含まれる。これらの登録情報が入力されると、ＴｏＤｏ登録部３１２は、これらの情報をデータベース格納部３０６に格納する。
【０２４８】
具体的には、図４２Ａに示す動作が行われる。図４２Ａに示すように、登録情報及び登録情報を入力したユーザの情報（ＩＤ）等が入力されると、ＴｏＤｏ登録部３１２は、ユーザ／グループ管理ＤＢを参照し、入力された登録情報に対応するユーザが存在するか否かを判定する（Ｓ３０２）。ユーザ／グループ管理ＤＢに該当ユーザが存在する場合、ＴｏＤｏ登録部３１２は、登録情報に含まれるメッセージをＴｏＤｏメッセージＤＢに登録する（Ｓ３０４）。ＴｏＤｏメッセージＤＢに該当ユーザが複数存在する場合には、全ての該当ユーザについてステップＳ３０４の処理を繰り返し実行する。
【０２４９】
（ＴｏＤｏ完了登録部３１４の構成及び動作）
ＴｏＤｏ完了登録部３１４には、完了したＴｏＤｏのＩＤが入力される。図４２Ｂに示すように、ＩＤが入力されると、ＴｏＤｏ完了登録部３１４は、入力されたＩＤに対応するＴｏＤｏ情報が存在するか否かを判定する（Ｓ３１２）。そして、登録されていない場合には一連の処理を終了し、登録されている場合にはステップＳ３１４の処理に進行する。ステップＳ３１４の処理に進行した場合、ＴｏＤｏ完了登録部３１４は、ＴｏＤｏメッセージＤＢに登録されている該当ＴｏＤｏ情報のステータスを「完了」にする（Ｓ３１４）。但し、繰り返し利用される可能性のないＴｏＤｏ情報の場合には削除してもよい。
【０２５０】
（ＴｏＤｏ同期部３１６の構成及び動作）
ＴｏＤｏ同期部３１６には、ＴｏＤｏ登録部３１２、ＴｏＤｏ完了登録部３１４により行われたＴｏＤｏ情報の更新通知が入力される。図４２Ｃに示すように、ＴｏＤｏ同期部３１６は、まず、通知処理（登録通知、完了通知）がされていないＴｏＤｏが存在するか否かを判定し（Ｓ３２２）、未通知のＴｏＤｏが存在しない場合には一連の処理を終了する。一方、未通知のＴｏＤｏが存在する場合、ＴｏＤｏ同期部３１６は、未通知のＴｏＤｏを選択し（Ｓ３２４）、選択結果をＴｏＤｏ通知部３１８に入力する。
【０２５１】
（ＴｏＤｏ通知部３１８の構成及び動作）
ＴｏＤｏ通知部３１８には、ＴｏＤｏ同期部３１６から未通知のＴｏＤｏを示す情報が入力される。図４２Ｄに示すように、まず、ＴｏＤｏ通知部３１８は、ユーザ行動状態ＤＢに登録されたユーザの行動・状況パターンと、未通知のＴｏＤｏのトリガーとが一致するか否かを判定し（Ｓ３３２）、一致しない場合には一連の処理を終了する。一方、一致する場合、ＴｏＤｏ通知部３１８は、ステップＳ３３４の処理に進行し、未通知のＴｏＤｏをユーザに通知する（Ｓ３３４）。
【０２５２】
以上、ＴｏＤｏ管理部３０４の詳細な構成及び動作について説明した。なお、データベース格納部３０６には、データベースの形式でメンバーリスト、グループ、ユーザ、ＴｏＤｏリスト、ＴｏＤｏアイテム、行動・状況パターンが紐付けて登録されている。このように紐付けられたデータベースを利用することにより、行動・状況パターンやグループ等の関係を考慮して適切な提供先に適切なタイミングでＴｏＤｏ情報を提供することが可能になる。
【０２５３】
例えば、予めＴｏＤｏと行動・状況パターンとを紐付けて登録しておくことにより、登録された行動・状況パターンが検出された際に、その行動・状況パターンに紐付けられたＴｏＤｏ情報をユーザに提示することができる。また、行動・状況パターンの開始時点や終了時点等、時間・カレンダー情報を考慮したＴｏＤｏ情報の提供が行われてもよい。例えば、行動・状況パターン「食事」について、「食事・開始時」にＴｏＤｏ「食事内容を撮影」を提示し、「食事・終了時」にＴｏＤｏ「カロリーチェック」を提示するような構成を例示できる。
【０２５４】
なお、ＴｏＤｏ表示に代えて、行動・状況パターンに応じたタイミングで登録画面を表示するように構成することもできる。この構成にすると、ＴｏＤｏ登録を適切なタイミングで促すことができるようになる。また、自身や他ユーザの登録履歴を利用してＴｏＤｏの周期性やタイミングを検出し、その検出結果を利用してタイミングや提供先を最適化する方法も考えられる。
【０２５５】
また、行動・状況パターンに加え、位置センサ１０４により検知された位置情報や、ジオカテゴライズ部１１０により検出されたジオカテゴリコード（地域性等）を利用してＴｏＤｏの通知タイミングや通知先を最適化する方法も考えられる。例えば、商業地域やデパート内で「買い物中」に「贈り物の購入リスト」を表示するといった応用形態が考えられる。
【０２５６】
（通知先の選択）
上記説明の中で、複数のユーザによりＴｏＤｏ情報を共有する構成について示唆した。ここでは、図４３、図４４を参照しながら、ＴｏＤｏの共有を前提とし、行動・状況パターンに応じてＴｏＤｏ情報の通知先を適切に選択する方法について説明する。なお、ここで説明する方法は、ＴｏＤｏを他人に通知する場合に、相手の状況を考慮して通知相手を自動的に選択したり、ＴｏＤｏの内容に適合する通知相手の数に応じてグループ全体にＴｏＤｏを通知するか否かを自動的に判断する技術に関する。
【０２５７】
（行動・状況パターンが一致するユーザにＴｏＤｏを通知する方法）
まず、図４３を参照する。図４３には、行動・状況パターンが一致するユーザを自動選択し、選択されたユーザにＴｏＤｏを通知する構成が模式的に示されている。図４３の例では、行動・状況パターン「移動中」のユーザに対し、ＴｏＤｏ情報「お店の予約」を通知する場面が想定されている。ＴｏＤｏ情報「お店の予約」は、グループ内の誰か１人が行えば済む行為である。
【０２５８】
また、なるべくなら忙しい状況にないユーザに頼みたい内容である。図４３の例では、グループ内にいる３人のユーザのうち、２人が「仕事中」であり、１人が「移動中」である。行動・状況パターンが「仕事中」のユーザには、「お店の予約」というＴｏＤｏを頼みにくい。また、「仕事中」に「お店の予約」が通知されると、通知されたユーザは、そのＴｏＤｏを通知したユーザに不快感を抱くかもしれない。また、離れた場所に居るユーザの状況を電話等で確認して「お店の予約」を頼むのも手間がかかる。
【０２５９】
しかし、本実施形態の技術を用いると、「移動中」の行動・状況パターンにあるユーザにだけ、自動的にＴｏＤｏ情報「お店の予約」を送ることができるのである。このような機能を実現するため、まず、ＴｏＤｏ管理部３０４は、グループ内の各ユーザから入力される行動・状況パターンを監視し、「移動中」の行動・状況パターンに一致するユーザを選択する。１人のユーザが選択された場合、ＴｏＤｏ管理部３０４は、そのユーザにＴｏＤｏ情報を送信する。また、複数のユーザが選択された場合、ＴｏＤｏ管理部３０４は、複数のユーザにＴｏＤｏ情報を送信するように構成されていてもよいし、その中から選択された１人のユーザにＴｏＤｏ情報を送信するように構成されていてもよい。
【０２６０】
例えば、複数のユーザの中から１人のユーザを選択する場合、ＴｏＤｏ管理部３０４は、行動・状況パターンに加え、位置情報やジオカテゴリコード（ヒストグラム）等を参照してもよい。例えば、「移動中」の行動・状況パターンでも、「移動中（電車）」「移動中（車）」「移動中（歩き）」の３ユーザが存在する場合には、「移動中（歩き）」のユーザに対して優先的にＴｏＤｏ情報を通知する方が好ましい。
【０２６１】
また、ジオカテゴリコード（ヒストグラム）に基づいて「繁華街」「山岳地帯」「オフィス街」にいる３ユーザが存在する場合、「繁華街」にいるユーザに対して優先的にＴｏＤｏ情報を通知する方が好ましい。このように、行動・状況パターンやジオカテゴリコード等の情報を利用してＴｏＤｏ情報の通知先を絞り込むことにより、より適切な通知先を選択することができる。
【０２６２】
（行動・状況パターンが一致するユーザ数に応じた通知先の選択方法）
次に、図４４を参照する。図４４には、行動・状況パターンが一致するユーザ数に応じてグループ内の全ユーザにＴｏＤｏ情報を通知するか否かを自動的に判断する構成が模式的に示されている。図４４の例では、行動・状況パターンが一致する同一グループ内のユーザ数をカウントし、グループ内の過半数が一致している場合にグループ内の全ユーザにＴｏＤｏ情報が通知される。この例では、行動・状況パターン「移動中」、ＴｏＤｏ情報「食事に行こう」が設定されている。
【０２６３】
「食事に行こう」とグループ内のユーザに呼びかける場合、その呼びかけに応じるユーザ数を予め知りたいと思うことがある。また、その呼びかけに応じるユーザ数が多いなら、呼びかけを行おうと考えることもある。しかし、呼びかけに応じるユーザ数は、通常、呼びかけてみなければ分からない。しかし、呼びかけの内容によっては、呼びかけに応じるユーザの数を行動・状況パターンから予測することができる。
【０２６４】
図４４の例に示すように、「食事に行こう」という呼びかけに対し、「仕事中」で忙しい状況のユーザは、呼びかけに応じない可能性が高い。一方、「移動中」等のユーザは、呼びかけに応じる可能性が高い。そのため、行動・状況パターンを指定して、指定した行動・状況パターンに一致するユーザ数をカウントすることにより、呼びかけに応じる人数を推定することができる。そこで、この推定結果に応じて呼びかけを実施（ＴｏＤｏ情報を送信）するか否かを決定すれば、無駄な呼びかけを発信せずに済む。なお、条件は、行動・状況パターンが一致するユーザが過半数の場合、誰か１人でも一致するユーザがいた場合、全員が一致した場合等、ＴｏＤｏの内容に応じて変更してもよい。
【０２６５】
このような方法を用いると、誰１人応じないような呼びかけを防止することが可能になり、効果的なＴｏＤｏ情報をグループ全体に送信できるようになる。図４４の例では、グループ全体にＴｏＤｏ情報を送信する構成を示したが、ＴｏＤｏ情報の送信対象はこれに限定されない。また、ここではＴｏＤｏ情報を例に挙げて説明したが、任意の情報配信技術に図４４の方法を応用することができる。例えば、メールやニュースの配信、ソフトウェアの配信、映像や音楽等のコンテンツ配信等にも、この方法を応用できる。
【０２６６】
（入力支援）
次に、登録画面における入力支援方法について説明する。図３６に例示したように、ＴｏＤｏ情報を登録する際、期限情報、表示内容を入力する操作の他に、行動リストの選択操作、Ｇｒｏｕｐリストの選択操作が生じる。図２６に例示したように、行動リストに記載可能な行動・状況パターンの種類は多数存在する。そのため、行動リストから所望の行動・状況パターンを探すのに手間がかかってしまう。そこで、本件発明者は、表示される行動リストを適切に絞り込む方法を考案した。
【０２６７】
（入力内容に応じた行動リストの絞込み）
まず、ユーザが表示内容の欄に入力した文章の内容から、選択される可能性の高い行動リストを絞り込み方法が考えられる。例えば、各行動・状況パターンに関連する単語群を用意し、その関連度を示すスコアを各単語に割り当てておく。そして、ＴｏＤｏ登録・通知アプリケーション３０２は、入力された文章から上記単語群に含まれる単語を抽出し、抽出した単語のスコアに基づいて文章と行動・状況パターンとの関連度を算出する。さらに、ＴｏＤｏ登録・通知アプリケーション３０２は、算出した関連度が所定値以上となる行動・状況パターンを選出して関連度が高い順に並べ、行動リストとして表示する。
【０２６８】
このようにして関連度の高い行動・状況パターンを優先的に表示することにより、行動リストから所望の行動・状況パターンを効率的に選択することができるようになる。なお、単語の抽出方法には、形態素解析等の手法を用いることができる。また、行動・状況パターンと単語との関連度を示すスコアは、予め設定されたものであってもよいし、統計的な手法を用いて算出されるものであってもよい。
【０２６９】
例えば、ある行動・状況パターンが選択された際に使用されている単語の種類と出現頻度とを履歴情報として蓄積しておき、使用頻度が高い単語を関連度（スコア）の高い単語に設定する方法が考えられる。また、行動・状況パターンの表現に含まれる単語に高い関連度を設定する方法も考えられる。例えば、「移動中（電車）」であれば、「移動」「電車」に高い関連度が設定される。なお、文章中に出現する各単語の出現頻度によりスコアに重み付けをしてもよい。
【０２７０】
（行動・状況パターン等に基づく絞り込み）
次に、現在の行動・状況パターン等に基づく入力文字候補の提示方法、及び行動リストや共有リストの絞り込み方法について紹介する。例えば、現在地の緯度・経度、地域性（ジオカテゴリコード）、行動・状況パターン（ＨＣ行動）に関連する単語を入力候補として優先的に提示する方法が考えられる。同様に、現在地の緯度・経度、地域性（ジオカテゴリコード）、行動・状況パターン（ＨＣ行動）に関連する単語に基づいて行動リストや共有リストの候補を絞り込む方法も考えられる。
【０２７１】
例えば、過去の登録履歴から、現在の状況で入力される確率が高い単語を予測し、予測した単語を提示する方法がある。また、現在の状況で登録される確率が高い行動から順に行動リストを並び替える方法がある。同様に、過去の登録履歴から登録される確率が高いグループ順に共有リスト（Ｇｒｏｕｐリスト）を並び替える方法がある。但し、重要度は、「ＨＣ行動＞地域性＞緯度・経度」の順に設定されていることが好ましく、各要素から確率を算出し、重要度に応じて重み付けする方が好ましい。
【０２７２】
（行動リストと共有リストとの連携）
ＴｏＤｏの内容を入力する前に行動リストから行動・状況パターンが選択された場合、選択された行動・状況パターンと高い関連度を持つ単語の候補を提示し、内容の入力を支援する方法が考えられる。また、過去の登録履歴に基づき、ある行動・状況パターンが選択されたときに入力される確率が高い単語を予測し、その単語を入力候補として提示する方法が考えられる。さらに、過去の登録履歴に基づき、選択される可能性が高い共有グループを順にＧｒｏｕｐリストに並べる方法が考えられる。なお、登録履歴の他、地域性や緯度・経度の情報を利用したり、登録日時の新しいものを優先して利用してもよい。
【０２７３】
以上、本発明の第３実施形態について説明した。本実施形態においては、ＴｏＤｏアプリケーションと行動・状況パターンとを連携させ、通知先の状況に応じて適切なタイミングで適切な提供先にＴｏＤｏを通知する技術が提案された。この技術を利用することにより、より効果的なタイミングでＴｏＤｏ情報をユーザに提供することができるようになる。
【０２７４】
＜４：第４実施形態＞
次に、本発明の第４実施形態について説明する。本実施形態は、上記の第１実施形態において説明した行動・状況パターンの検出方法により得られる行動・状況パターンの利用方法に関する。特に、本実施形態の技術は、ユーザの行動・状況パターンに応じて、ユーザが利用する可能性の高いアプリケーションを画面に表示させ、ユーザのアプリケーション選択操作を支援する技術に関する。また、行動・状況パターンに応じて動作設定等の設定情報が切り替わるように構成することで、環境が変わる度にユーザが設定画面を呼び出して設定を変更する手間を省くことが可能になる。
【０２７５】
［４−１：システムの概要］
まず、図４５を参照しながら、本実施形態に係る行動・状況解析システム４０により実現される機能の概要について説明する。図４５は、行動・状況解析システム４０の動作と、当該動作により実現される表示構成の一例を示す説明図である。
【０２７６】
図４５に示すように、行動・状況解析システム４０においては、まず、位置情報、センサデータが取得される（Ｓ４０２）。次いで、取得された位置情報、センサデータ等に基づいて行動・状況パターンが検出される（Ｓ４０４）。次いで、検出された行動・状況パターンに基づいてアプリケーションの並べ替えが行われる（Ｓ４０６）。例えば、行動・状況パターン「買い物中」が検出されると、図４５に例示したように、買い物に関連するアプリケーションが優先的に表示される。このような構成にすることで、多種多様なアプリケーションが搭載されたクライアント装置を利用する際にも、ユーザが状況に応じた適切なアプリケーションを瞬時に見つけることが可能になり、利便性が大きく向上する。
【０２７７】
なお、各アプリケーションには、予め行動・状況パターンが対応付けられている。但し、アプリケーション自体が行動・状況パターンを利用するか否かは問わない。また、行動・状況パターンが対応付けられていないアプリケーションに対しても、ユーザの使用履歴と行動・状況パターンの履歴とを利用して統計的に関連性が算出された場合には、その関連性に基づいてアプリケーションと行動・状況パターンとを対応付けることもできる。さらに、同じアプリケーションでも、行動・状況パターンに応じて異なる動作設定にすることができる。このような構成にすることにより、行動・状況パターンに応じたユーザインターフェースを提供することができるようになる。
【０２７８】
［４−２：システムの全体構成］
次に、図４６を参照しながら、本実施形態に係る行動・状況解析システム４０の全体的なシステム構成について説明する。図４６は、本実施形態に係る行動・状況解析システム４０の全体的なシステム構成例を示す説明図である。但し、上記の第１実施形態に係る行動・状況解析システム１０と実質的に同じ機能を有する構成要素については同一の符号を付することにより詳細な説明を省略することにする。
【０２７９】
図４６に示すように、行動・状況解析システム４０は、主に、モーションセンサ１０２と、位置センサ１０４と、時間・カレンダー情報取得部１０６と、動き・状態認識部１０８と、ジオカテゴライズ部１１０と、行動・状況認識部１１２とを有する。さらに、行動・状況解析システム４０は、表示制御部４０２と、表示部４０４とを有する。
【０２８０】
ユーザが行動すると、まず、モーションセンサ１０２によりセンサデータが検知される。モーションセンサ１０２により検知されたセンサデータは、動き・状態認識部１０８に入力される。また、位置センサ１０４により、現在地を示す位置情報が取得される。そして、位置センサ１０４により取得された現在地の位置情報は、ジオカテゴライズ部１１０に入力される。
【０２８１】
センサデータが入力されると、動き・状態認識部１０８は、センサデータを用いて動き・状態パターンを検出する。そして、動き・状態認識部１０８により検出された動き・状態パターンは、行動・状況認識部１１２に入力される。また、現在地の位置情報が入力されると、ジオカテゴライズ部１１０は、地図情報ＭＰを取得し、取得した地図情報ＭＰを用いて現在地に対応するジオカテゴリコードを選択する。また、ジオカテゴライズ部１１０は、ジオカテゴリのヒストグラムを算出する。ジオカテゴライズ部１１０により選択されたジオカテゴリコードは、行動・状況認識部１１２に入力される。
【０２８２】
上記のように、行動・状況認識部１１２には、動き・状態認識部１０８から動き・状態パターンが入力され、ジオカテゴライズ部１１０からジオカテゴリコードが入力される。また、行動・状況認識部１１２には、動き・状態認識部１０８を介してセンサデータも入力される。そして、行動・状況認識部１１２には、ジオカテゴライズ部１１０を介して現在地の位置情報も入力される。さらに、行動・状況認識部１１２には、時間・カレンダー情報取得部１０６から時間・カレンダー情報が入力される。
【０２８３】
そこで、行動・状況認識部１１２は、入力された動き・状態パターン、ジオカテゴリコード（ヒストグラム）、時間・カレンダー情報に基づいて行動・状況パターンを検出する。なお、ここで利用される行動・状況パターンの検出方法は、ルールベース判定に基づくものでも、学習モデル判定に基づくものでもよい。行動・状況認識部１１２により検出された行動・状況パターンは、表示制御部４０２に入力される。表示制御部４０２には、行動・状況パターンの他、位置センサ１０４により検出された位置情報、及びジオカテゴライズ部１１０により選択されたジオカテゴリコードが入力されてもよい。
【０２８４】
これらの情報が入力されると、表示制御部４０２は、入力された情報に基づいて表示部４０４に表示されるアプリケーションの配置を変更する。例えば、表示制御部４０２は、行動・状況パターンに対応付けられたアプリケーションだけを表示部４０４に表示する。また、表示制御部４０２は、ユーザの行動履歴とアプリケーションの使用履歴とに基づき、行動・状況パターンと各アプリケーションとの関連度を算出し、関連度が所定値以上に高いアプリケーションだけを表示部４０４に表示する。但し、ここで用いられる関連度は、統計的な手法を用いて算出することができる。また、表示制御部４０２は、アプリケーションの動作設定を行動・状況パターンに応じて変更する。
【０２８５】
以上、本発明の第４実施形態について説明した。本実施形態の技術を用いることで、多種多様なアプリケーションを搭載したクライアント装置を利用する際に、所望のアプリケーションを容易に探し出すことが可能になり、ユーザの利便性が大きく向上する。また、アプリケーションの動作設定が行動・状況パターンに応じて自動的に再設定されることにより、ユーザが特別な設定操作を行うこと無しに、快適な動作環境を得ることができるようになる。なお、バックライト設定、音量設定、電力制御設定等、アプリケーションの動作以外の設定項目にも、本実施形態の技術を応用することが可能である。
【０２８６】
＜５：ハードウェア構成＞
上記サーバ、クライアントの機能は、例えば、図４７に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図４７に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０２８７】
図４７に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０２８８】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０２８９】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０２９０】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０２９１】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０２９２】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０２９３】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０２９４】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０２９５】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０２９６】
１０、２０、３０、４０    行動・状況解析システム
１０２    モーションセンサ
１０４    位置センサ
１０６    時間・カレンダー情報取得部
１０８    動き・状態認識部
１１０    ジオカテゴライズ部
１１２    行動・状況認識部
２０２    履歴記憶部
２０４    スケジュール記憶部
２０６    行動照合部
２０８    行動予測部
２１０    アプリケーション表示部
３０２    ＴｏＤｏ登録・通知アプリケーション
３０４    ＴｏＤｏ管理部
３０６    データベース格納部
３１２    ＴｏＤｏ登録部
３１４    ＴｏＤｏ完了登録部
３１６    ＴｏＤｏ同期部
３１８    ＴｏＤｏ通知部
３２０    タイマー
４０２    表示制御部
４０４    表示部
【図１】
0005440080.tif 000002
【図２】
0005440080.tif 000003
【図３】
0005440080.tif 000004
【図４】
0005440080.tif 000005
【図５】
0005440080.tif 000006
【図６】
0005440080.tif 000007
【図７】
0005440080.tif 000008
【図８】
0005440080.tif 000009
【図９】
0005440080.tif 000010
【図１０】
0005440080.tif 000011
【図１１】
0005440080.tif 000012
【図１２】
0005440080.tif 000013
【図１３】
0005440080.tif 000014
【図１４】
0005440080.tif 000015
【図１５】
0005440080.tif 000016
【図１６】
0005440080.tif 000017
【図１７】
0005440080.tif 000018
【図１８】
0005440080.tif 000019
【図１９】
0005440080.tif 000020
【図２０】
0005440080.tif 000021
【図２１】
0005440080.tif 000022
【図２２】
0005440080.tif 000023
【図２３】
0005440080.tif 000024
【図２４】
0005440080.tif 000025
【図２５】
0005440080.tif 000026
【図２６】
0005440080.tif 000027
【図２７】
0005440080.tif 000028
【図２８】
0005440080.tif 000029
【図２９】
0005440080.tif 000030
【図３０Ａ】
0005440080.tif 000031
【図３０Ｂ】
0005440080.tif 000032
【図３１】
0005440080.tif 000033
【図３２】
0005440080.tif 000034
【図３３】
0005440080.tif 000035
【図３４】
0005440080.tif 000036
【図３５Ａ】
0005440080.tif 000037
【図３５Ｂ】
0005440080.tif 000038
【図３５Ｃ】
0005440080.tif 000039
【図３６】
0005440080.tif 000040
【図３７】
0005440080.tif 000041
【図３８】
0005440080.tif 000042
【図３９】
0005440080.tif 000043
【図４０】
0005440080.tif 000044
【図４１】
0005440080.tif 000045
【図４２Ａ】
0005440080.tif 000046
【図４２Ｂ】
0005440080.tif 000047
【図４２Ｃ】
0005440080.tif 000048
【図４２Ｄ】
0005440080.tif 000049
【図４３】
0005440080.tif 000050
【図４４】
0005440080.tif 000051
【図４５】
0005440080.tif 000052
【図４６】
0005440080.tif 000053
【図４７】
0005440080.tif 000054