説明

行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラム

【課題】ユーザの生活行動を検出可能な携帯端末を提供すること。
【解決手段】ユーザの動きを検知して動き情報を出力する動きセンサと現在地の情報を取得する現在地取得部と現在地取得部により取得された位置に存在する建造物の情報又は当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と動きセンサから出力された動き情報を解析し比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から動き情報に対応する第1行動パターンを検出する第1行動検出部と建造物情報取得部により取得された建造物の情報及び第1行動検出部により検出された第1行動パターンを解析し比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動検出部とを有する携帯端末が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラムに関する。
【背景技術】
【0002】
携帯電話等の携帯端末にモーションセンサを搭載し、ユーザの行動履歴を自動的に検出して記録できるようにする技術に注目が集まっている。例えば、下記の特許文献1には、加速度センサやジャイロセンサ等のモーションセンサを利用し、歩く動作、走る動作、左右にターンする動作、静止状態を検知する技術が開示されている。同文献には、モーションセンサの出力データから、歩行ピッチ、歩行パワー、重力軸まわりの回転角を算出し、その算出結果を用いて歩く動作、走る動作、左右にターンする動作、及び静止状態を検知する方法が記載されている。さらに、同文献には、これらの動作や状態の種類、動作や状態が継続していた時間、動作回数等、動作や状態のパターンを入力とする統計的な処理によりユーザの行動パターンを検知する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−3655号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の方法を用いると、「のんびりした歩行」や「せわしない動作」といった行動パターンを時系列のデータとして得ることができる。しかし、この方法で得られる行動パターンは、比較的短時間に行われるユーザの動作や状態を主に表現したものである。そのため、「今日はデパートで買い物をした」「昨日はホテルのレストランで食事をした」等、具体的な行動内容を行動パターンの履歴から推察することは難しい。上記文献に記載の方法を用いて得られる行動パターンは、比較的短時間に行われる行動の積み重ねである。そして、当該行動パターンを形成する個々の行動自体は、ユーザが目的を持って行っているものではない。一方、具体的な行動内容は、ユーザが目的を持って行っているものが多く、比較的長時間にわたって行われるエンタテイメント性の高いものである。そのため、短時間で行われる行動の積み重ねから上記のような具体的な行動内容を窺い知ることは難しい。
【0005】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、モーションセンサを用いて得られる比較的短時間の行動パターンから、比較的長時間にわたり行われるエンタテイメント性の高い行動パターンを検出することが可能な、新規かつ改良された行動パターン解析システム、携帯端末、行動パターン解析方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある観点によれば、ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、前記動きセンサから出力された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出部と、前記建造物情報取得部により取得された建造物の情報、及び前記第1行動パターン検出部により検出された第1行動パターンをサーバに送信する送信部と、を有する、携帯端末と、前記携帯端末から前記建造物の情報、及び前記第1行動パターンを受信する受信部と、前記受信部により受信された前記建造物の情報、及び前記第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出部と、を有する、サーバと、を含む、行動パターン解析システムが提供される。
【0007】
また、前記第2行動パターン検出部は、所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第1状態パターンから前記第2行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第1行動パターンに対応する第2行動パターンを検出するように構成されていてもよい。
【0008】
また、前記携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに有していてもよい。
【0009】
そして、前記送信部は、前記建造物情報取得部により取得された建造物の情報、前記第1行動パターン検出部により検出された第1行動パターン、及び前記時間情報取得部により取得された時間の情報を前記サーバに送信し、前記サーバは、前記第1行動パターンと前記時間の情報との各組み合わせについて、前記建造物の情報と前記第2行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップを保持しており、前記第2行動パターン検出部は、前記第1行動パターン検出部により検出された第1行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、抽出した前記スコアの組の中で最大のスコアが所定値以下の場合に、所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第1状態パターンから前記第2行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第1行動パターンに対応する第2行動パターンを検出するように構成されていてもよい。
【0010】
また、前記携帯端末は、前記第2行動パターンの組み合わせにより表現することが可能なユーザの行動を時系列で記録したスケジュール情報が格納される記憶部と、前記記憶部に格納されているスケジュール情報を読み出し、前記スケジュール情報に記録された現在、過去、未来のユーザの行動と、前記第2行動パターン検出部により検出された第2行動パターンとが適合するか否かを判定する適合判定部と、前記適合判定部による判定結果に応じて前記スケジュール情報に記録されたスケジュールと実際の行動との一致、当該スケジュールからの遅れ、早まりを表示する表示部と、さらに有するように構成されていてもよい。
【0011】
また、前記サーバは、前記第2行動パターン検出部により検出された第2行動パターンの履歴を用いて、次にユーザが行う第2行動パターンを予測する行動予測部をさらに有していてもよい。
【0012】
そして、前記適合判定部は、前記第2行動パターンに適合するユーザの行動が前記スケジュール情報に記録されていないと判定した場合に、前記行動予測部により予測された第2行動パターンを前記サーバから取得し、取得した前記第2行動パターンに適合するユーザの行動を前記スケジュール情報から抽出し、前記表示部は、前記適合判定部により抽出されたユーザの行動に関する情報を表示するように構成されていてもよい。
【0013】
また、前記サーバは、前記現在地情報取得部により取得された現在地の情報、及び前記第1行動パターン検出部により検出された第1行動パターンを前記受信部により受信し、当該現在地の情報及び当該第1行動パターンの履歴を前記記憶部に格納する位置情報蓄積部と、前記位置情報蓄積部により前記記憶部に蓄積された前記現在地の情報及び第1行動パターンの履歴を用いてユーザが停留する時間の長い場所をクラスタリングし、前記各場所の停留確率、及び前記場所間の移動確率を算出するクラスタリング部と、を有し、前記行動予測部は、前記クラスタリング部により算出された停留確率及び移動確率に基づいて前記次にユーザが行う第2行動パターンを予測するように構成されていてもよい。
【0014】
また、前記行動パターン解析システムには、複数の前記携帯端末が含まれていてもよく、前記サーバは、所定の時間に通知すべき通知情報と、所定の前記第2行動パターンとを対応付けて記憶する通知情報記憶部と、前記所定の時間になったときに前記受信部により前記各携帯端末から受信された前記建造物の情報及び第1行動パターンに基づいて前記第2行動パターン検出部により検出された第2行動パターンを参照し、前記所定の第2行動パターンと同じ第2行動パターンに対応する携帯端末に対して前記通知情報を通知する情報通知部と、をさらに有するように構成されていてもよい。
【0015】
また、前記情報通知部は、前記所定の第2行動パターンと同じ第2行動パターンに対応する携帯端末の数をカウントし、当該携帯端末の数が所定数以上である場合に、前記複数の携帯端末の全てに前記通知情報を通知するように構成されていてもよい。
【0016】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、前記動きセンサから出力された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出部と、前記建造物情報取得部により取得された建造物の情報、及び前記第1行動パターン検出部により検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出部と、を備える、携帯端末が提供される。
【0017】
また、上記の携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備えていてもよく、前記建造物の情報と前記第2行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第1行動パターンと前記時間の情報との組み合わせ毎に設けられていてもよく、前記第2行動パターン検出部は、前記第1行動パターン検出部により検出された第1行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、抽出した前記スコアの組の中で最大のスコアに対応する前記第2行動パターンを検出するように構成されていてもよい。
【0018】
また、上記の携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備えていてもよく、前記建造物の情報と前記第2行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第1行動パターンと前記時間の情報との組み合わせ毎に設けられていてもよく、前記建造物情報取得部は、前記現在地及び現在地周辺に存在する建造物の情報として、当該建造物の分類種別及び当該分類種別毎の建造物数を取得し、前記第2行動パターン検出部は、前記第1行動パターン検出部により検出された第1行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記各分類種別に対応するスコアの組を抽出し、前記各分類種別に対応するスコアの組に含まれる各スコアを最大スコアで規格化し、規格化した前記各分類種別に対応するスコアの組に対し、前記建造物情報取得部により取得された分類種別毎の建造物数に応じて重み付けし、重み付けした前記各分類種別に対応するスコアを前記第2行動パターン毎に合算し、合算結果が最大となる前記第2行動パターンを検出するように構成されていてもよい。
【0019】
また、上記の携帯端末は、前記第2行動パターンに対応付けられたアプリケーションを起動するための表示オブジェクトが表示される表示部と、前記第2行動パターン検出部により検出された第2行動パターンに応じて、当該第2行動パターンに対応付けられたアプリケーションの表示オブジェクトを優先的に前記表示部に表示させる表示制御部と、をさらに備えていてもよい。
【0020】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、を有する携帯端末から、前記動き情報及び前記現在地の情報を受信する受信部と、前記受信部により受信された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、前記受信部により受信された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出部と、前記建造物情報取得部により取得された建造物の情報、及び前記第1行動パターン検出部により検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出部と、を備える、行動パターン解析サーバが提供される。
【0021】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得ステップと、現在地の情報を取得する現在地情報取得ステップと、前記現在地情報取得ステップで取得された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得ステップと、前記動き情報取得ステップで取得された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出ステップと、前記建造物情報取得ステップで取得された建造物の情報、及び前記第1行動パターン検出ステップで検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出ステップと、を含む、行動パターン解析方法が提供される。
【0022】
また、上記課題を解決するために、本発明の別の観点によれば、ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得機能と、現在地の情報を取得する現在地情報取得機能と、前記現在地情報取得機能により取得された情報が示す現在地に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得機能と、前記動き情報取得機能により取得された動き情報を解析し、比較的短時間のユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出機能と、前記建造物情報取得機能により取得された建造物の情報、及び前記第1行動パターン検出機能により検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出機能と、をコンピュータに実現させるためのプログラムが提供される。
【0023】
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録されたコンピュータにより読み取り可能な記録媒体が提供される。
【発明の効果】
【0024】
以上説明したように本発明によれば、モーションセンサを用いて得られる比較的短時間の行動パターンから、比較的長時間にわたり行われるエンタテイメント性の高い行動パターンを検出することが可能になる。
【図面の簡単な説明】
【0025】
【図1】本発明の第1実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図2】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図3】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図4】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図5】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図6】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図7】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図8】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図9】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図10】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図11】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図12】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図13】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図14】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図15】同実施形態に係る動き・状態認識部の機能について説明するための説明図である。
【図16】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図17】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図18】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図19】同実施形態に係るジオカテゴライズ部の機能について説明するための説明図である。
【図20】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図21】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図22】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図23】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図24】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図25】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図26】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図27】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図28】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図29】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図30A】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図30B】同実施形態に係る行動・状況認識部の機能について説明するための説明図である。
【図31】本発明の第2実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図32】同実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図33】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図34】同実施形態に係る行動予測部の機能について説明するための説明図である。
【図35A】同実施形態に係る行動照合部の前段で行われる処理の流れを示す説明図である。
【図35B】同実施形態に係る行動照合部により行われる処理の流れを示す説明図である。
【図35C】同実施形態に係る行動照合部により行われる処理の流れを示す説明図である。
【図36】本発明の第3実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図37】同実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図38】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図39】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図40】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図41】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図42A】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図42B】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図42C】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図42D】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図43】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図44】同実施形態に係るToDo管理部の機能について説明するための説明図である。
【図45】本発明の第4実施形態に係る行動・状況解析システムが有する機能の概要を示す説明図である。
【図46】同実施形態に係る行動・状況解析システムのシステム構成例を示す説明図である。
【図47】本発明の第1〜第4実施形態に係る行動・状況解析システムを構成するサーバ、クライアントの機能を実現することが可能な情報処理装置のハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【0026】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0027】
[説明の流れについて]
ここで、以下に記載する本発明の実施形態に関する説明の流れについて簡単に述べる。まず、図1〜図30Bを参照しながら、本発明の第1実施形態に係る行動・状況解析システムの構成について説明する。次いで、図31〜図35Cを参照しながら、本発明の第2実施形態に係る行動・状況解析システムの構成について説明する。次いで、図36〜図44を参照しながら、本発明の第3実施形態に係る行動・状況解析システムの構成について説明する。次いで、図45、図46を参照しながら、本発明の第4実施形態に係る行動・状況解析システムの構成について説明する。次いで、図47を参照しながら、本発明の大1〜第4実施形態に係る行動・状況解析システムを構成するサーバ、クライアントの機能を実現することが可能な情報処理装置のハードウェア構成例について説明する。
【0028】
(説明項目)
1:第1実施形態
1−1:システム構成
1−2:動き・状態認識部108の機能
1−3:ジオカテゴライズ部110の機能
1−4:行動・状況認識部112の機能
2:第2実施形態
2−1:システムの概要
2−2:システムの全体構成
2−3:行動予測部208の機能
2−4:行動照合部206の機能
3:第3実施形態
3−1:システムの概要
3−2:システムの全体構成
3−3:ToDo管理部304の機能
4:第4実施形態
4−1:システムの概要
4−2:システムの全体構成
5:ハードウェア構成
【0029】
<1:第1実施形態>
本発明の第1実施形態について説明する。本実施形態は、モーションセンサを利用して検知されたユーザの動きや状態に関する情報と位置センサにより検知された位置情報とを利用してユーザの行動や状況を検出する技術に関する。なお、モーションセンサとしては、例えば、3軸加速度センサ(但し、加速度センサ、重力検知センサ、落下検出センサ等を含む。)や3軸ジャイロセンサ(但し、角速度センサ、手振れ補正センサ、地磁気センサ等を含む。)等が用いられる。また、位置センサとしては、例えば、GPS(Global Positioning System)が用いられる。但し、RFID(Radio Frequency Identification)、Wi−Fiのアクセスポイント、無線基地局の情報等から現在地の緯度・経度を検出することが可能なため、このような検出手段を位置センサとして利用することもできる。
【0030】
[1−1:システム構成]
まず、図1を参照しながら、本実施形態に係る行動・状況解析システム10のシステム構成について説明する。図1は、本実施形態に係る行動・状況解析システム10の全体的なシステム構成例を示す説明図である。なお、本稿においては、「動き、状態」と「行動、状況」という表現を次のような意味で使い分ける。
【0031】
(1)「動き、状態」は、数秒から数分程度の比較的短時間にユーザが行う行動を意味し、例えば、「歩き」「走り」「跳躍」「静止」等の行為を指す。また、この行為を纏めて「動き・状態パターン」又は「LC(Low−Context)行動」と表現する。一方、(2)「行動、状況」は、「動き、状態」よりも長い時間かけてユーザが行う生活行動であり、例えば、「食事」「買い物」「仕事」等の行為を指す。また、この行為を纏めて「行動・状況パターン」又は「HC(High−Context)行動」と表現する。
【0032】
さて、図1に示すように、行動・状況解析システム10は、主に、モーションセンサ102と、位置センサ104と、時間・カレンダー情報取得部106と、動き・状態認識部108と、ジオカテゴライズ部110と、行動・状況認識部112とにより構成される。また、行動・状況解析システム10には、行動・状況認識部112により検出される行動・状況パターンを利用するアプリケーションAPやサービスSVが用意されている。また、アプリケーションAPによる行動・状況パターンの利用結果や、ユーザのプロファイル情報が行動・状況認識部112に入力されるように構成されていてもよい。
【0033】
ユーザが行動すると、まず、モーションセンサ102により加速度の変化や重力軸周りの回転等(以下、センサデータ)が検知される。モーションセンサ102により検知されたセンサデータは、動き・状態認識部108に入力される。また、位置センサ104により、ユーザの居場所(以下、現在地)を示す位置情報が取得される。現在地は、例えば、緯度・経度により表現される。また、位置センサ104により取得された現在地の位置情報は、ジオカテゴライズ部110に入力される。
【0034】
動き・状態認識部108は、センサデータを用いて動き・状態パターンを検出する手段である。従って、モーションセンサ102からセンサデータが入力されると、動き・状態認識部108は、入力されたセンサデータに基づいて動き・状態パターンを検出する。動き・状態認識部108により検出可能な動き・状態パターンとしては、例えば、「歩き」「走り」「静止」「跳躍」「電車(搭乗/非搭乗)」「エレベータ(搭乗/非搭乗/上昇/下降)」等がある。なお、動き・状態認識部108による動き・状態パターンの検出方法については、後段において詳述する(図7〜図15を参照)。但し、動き・状態パターンの検出方法は、後述する例に限定されず、機械学習を用いる方法も適用できる。なお、動き・状態認識部108により検出された動き・状態パターンは、行動・状況認識部112に入力される。
【0035】
ジオカテゴライズ部110は、地図情報MPを取得し、取得した地図情報MPを用いて、入力された位置情報に示された現在地の属性を検出する手段である。但し、ジオカテゴライズ部110は、現在地の属性を表現する手段としてジオカテゴリコードを利用する。ジオカテゴリコードは、場所に関連する情報の種別を分類するための分類コードである(図17を参照)。そして、このジオカテゴリコードは、例えば、建造物の種別、地形の形状、地理的特性、地域性等に応じて設定されている。そのため、現在地のジオカテゴリコードを特定することにより、ユーザが居る環境をある程度認識することができる。
【0036】
そこで、ジオカテゴライズ部110は、取得した地図情報MPを参照し、位置センサ104から入力された位置情報に基づいて現在地にある建造物等を特定し、その建造物等に対応するジオカテゴリコードを選択する。ジオカテゴライズ部110により選択されたジオカテゴリコードは、行動・状況認識部112に入力される。なお、現在地周辺にある環境を行動・状況パターンの検出に利用する場合、ジオカテゴライズ部110は、現在地周辺にある複数の建造物等に対応するジオカテゴリコードを選択し、選択したジオカテゴリコード又はそれに基づく情報(図18を参照)を行動・状況認識部112に入力する。
【0037】
上記のように、行動・状況認識部112には、動き・状態認識部108から動き・状態パターンが入力され、ジオカテゴライズ部110からジオカテゴリコードが入力される。また、行動・状況認識部112には、動き・状態認識部108を介してセンサデータも入力される。そして、行動・状況認識部112には、ジオカテゴライズ部110を介して現在地の位置情報も入力される。さらに、行動・状況認識部112には、時間・カレンダー情報取得部106から時間・カレンダー情報が入力される。この時間・カレンダー情報は、モーションセンサ102によりセンサデータが取得され、位置センサ104により位置情報が取得された時間を示す情報である。例えば、時間・カレンダー情報には、センサデータや位置情報が取得された時刻の情報、曜日の情報、祝日の情報、年月日の情報等が含まれている。
【0038】
そこで、行動・状況認識部112は、入力された動き・状態パターン、ジオカテゴリコード(又はそれに基づく情報)、時間・カレンダー情報に基づいて行動・状況パターンを検出する。行動・状況パターンは、(1)ルールに基づく判定処理(以下、ルールベース判定)、又は(2)学習モデルに基づく判定処理(以下、学習モデル判定)を利用して検出される。
【0039】
(1)ルールベース判定について
ルールベース判定とは、ジオカテゴリコードと行動・状況パターンとの組み合わせ毎にスコアを割り当てておき、そのスコアに基づいて入力データに対応する適切な行動・状況パターンを判定する方法である。スコアの割り当てルールは、スコアマップSM(図21を参照)により表現される。スコアマップSMは、年月日、時間帯、曜日等、時間・カレンダー情報毎に用意される。例えば、3月の第1週の月曜日に対応するスコアマップSMが用意される。さらに、スコアマップSMは、歩行、走行、電車等、動き・状態パターン毎に用意される。例えば、歩行中のスコアマップSMが用意される。そのため、スコアマップSMは、時間・カレンダー情報と動き・状態パターンとの組み合わせ毎に用意されることになる。従って、複数のスコアマップSMが用意されている。
【0040】
そこで、行動・状況認識部112は、用意された複数のスコアマップSMの中から、入力された時間・カレンダー情報及び動き・状態パターンに適合するスコアマップSMを選択する。そして、行動・状況認識部112は、選択したスコアマップSMの中からジオカテゴリコードに対応するスコアを抽出する。但し、時間・カレンダー情報、動き・状態パターンによるスコアマップSMの選択処理と、ジオカテゴリコードによるスコアの抽出処理とは、その処理順序を適宜変更することが可能である。これらの処理により、行動・状況認識部112は、センサデータの取得時点における現在地の状況を考慮して、スコアマップSMに存在する各行動・状況パターンのスコアを抽出することができる。
【0041】
さらに、行動・状況認識部112は、抽出したスコアの中から最大スコアを特定し、最大スコアに対応する行動・状況パターンを抽出する。このようにして行動・状況パターンを検出する方法がルールベース判定である。なお、スコアマップSMのスコアは、そのスコアに対応する行動・状況パターンをユーザがとると推測される確率を示している。つまり、スコアマップSMは、ジオカテゴリコードで表現される現在地の状況でユーザがとると推測される行動・状況パターンのスコア分布を表している。
【0042】
例えば、日曜日の3時頃、デパートにいるユーザは「買い物中」である確率が高いと推測される。但し、同じデパートにいても19時頃、デパートにいるユーザは「食事中」である確率も高いと推測される。このように、ある場所で、ある時間にユーザが行っている行動・状況パターンのスコア分布を示したものがスコアマップSM(正確にはスコアマップSM群)なのである。スコアマップSMは、例えば、ユーザ又は他人により予め入力されたものであってもよいし、機械学習を利用して得られるものであってもよいし、その他の統計的な手法を用いて構築されたものであってもよい。また、スコアマップSMは、個人プロファイル情報PRや、ユーザから得られる行動・状況フィードバックFBにより最適化されてもよい。プロファイル情報PRには、例えば、年齢、性別、職業、自宅の情報、職場の情報等が含まれる。また、行動・状況フィードバックFBには、出力された行動・状況パターンが正しいか、正しくないかを示す情報が含まれる。
【0043】
(2)学習モデル判定について
学習モデル判定とは、機械学習アルゴリズムを用いて行動・状況パターンを判定するための判定モデルを生成し、生成した判定モデルを用いて入力データに対応する行動・状況パターンを判定する方法である(図25を参照)。なお、機械学習アルゴリズムとしては、例えば、k−means法、Nearest Neighbor法、SVM法、HMM法、Boosting法等が利用可能である。但し、SVMは、Support vector machineの略である。また、HMMは、Hidden Markov Modelの略である。これらの手法に加え、特開2009−48266号公報に記載の遺伝的探索に基づくアルゴリズム構築方法を利用して判定モデルを生成する方法もある。
【0044】
なお、特徴量ベクトルとしては、例えば、時間・カレンダー情報、動き・状態パターン、ジオカテゴリコード(又はそれに基づく情報)、センサデータ、現在地の位置情報等が用いられる。但し、遺伝的探索に基づくアルゴリズム構築方法を用いる場合、学習過程における特徴量ベクトルの選定段階で遺伝的探索アルゴリズムが利用される。行動・状況認識部112は、まず、正解の行動・状況パターンが分かっている特徴量ベクトルを学習データとして機械学習アルゴリズムに入力し、各行動・状況パターンの確度、又は最適な行動・状況パターンを判定する判定モデルを生成する。
【0045】
そして、行動・状況認識部112は、生成した判定モデルに入力データを入力し、入力データに適合すると推測される行動・状況パターンを判定する。但し、生成した判定モデルを用いて行われた判定結果に対する正誤のフィードバックが得られる場合、そのフィードバックを利用して判定モデルが再構築される。そして、行動・状況認識部112は、再構築した判定モデルを用いて入力データに適合すると推測される行動・状況パターンを判定する。このようにして入力データに適合する行動・状況パターンを検出する方法が学習モデル判定である。なお、学習モデル判定は、ルールベース判定に比べて演算量が多い。
【0046】
以上説明した方法により、行動・状況認識部112は、時間・カレンダー情報取得部106、動き・状態認識部108、ジオカテゴライズ部110から入力された入力データに適合する行動・状況パターンを検出する。そして、行動・状況認識部112により検出された行動・状況パターンは、行動・状況パターンに応じた推奨サービスSVの提供に利用されたり、行動・状況パターンに応じた処理を行うアプリケーションAPにより利用される。これら推奨サービスSV、及びアプリケーションAPの具体的な構成例については、後述する第2〜第4実施形態の中で、より詳細に説明する。
【0047】
以上、図1を参照しながら、本実施形態に係る行動・状況解析システム10の全体的なシステム構成について説明した。次に、行動・状況解析システム10のサーバ・クライアント構成について説明する。
【0048】
(サーバ・クライアント構成)
図1に示した行動・状況解析システム10の各機能は、実際にはサーバやクライアント装置(携帯端末等)により実現される。しかし、サーバに割り当てる機能と、クライアント装置に割り当てる機能とをどのように切り分けるかということは、サーバやクライアント装置の演算処理能力等に応じて適宜変更されるべき事項である。ここではサーバ・クライアント構成の一例(図2〜図6を参照)について紹介する。
【0049】
(システム構成例(1))
まず、図2に例示したシステム構成例について紹介する。図2の例では、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106、動き・状態認識部108、ジオカテゴライズ部110がクライアント装置に設けられている。また、アプリケーションAPがクライアントに搭載されている。一方、行動・状況認識部112は、サーバに設けられている。さらに、スコアマップSMがサーバにより保持されている。
【0050】
行動・状況解析システム10においてサーバ・クライアント構成を決定する際に留意すべき最も重要なポイントは、行動・状況認識部112の演算量にある。特に、学習モデル判定を利用して行動・状況認識部112の機能を実現する場合、携帯電話や携帯ゲーム機等のクライアント装置が有する現状の演算能力では実現が困難である。そのため、学習モデル判定を利用する場合には、図2の例に示すように、行動・状況認識部112をサーバに設け、サーバから行動・状況パターンを取得して利用する方が好ましい。また、スコアマップSMのデータ量が大きい場合、クライアント装置の記憶容量を圧迫してしまうことが危惧されるため、スコアマップSMをサーバで保持する方が好ましい。
【0051】
なお、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106は、ユーザの行動を直接反映した生データの取得手段である。また、アプリケーションAPは、検出した行動・状況パターンに基づいて生成される情報や機能をユーザに提供する手段である。そのため、図2の例に示すように、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106、アプリケーションAPは、クライアント装置に設けておく必要がある。
【0052】
また、地図情報MP、ジオカテゴリ情報GCは、クライアント装置の内部に保持しておいてもよいし、外部から取得するように構成されていてもよい。特に、地図情報MPは、精度が高いものであると非常に大きなデータ量になる。そのため、クライアント装置の記憶容量に応じて、地図情報MPを内部に保持するように構成するか、外部から取得するように構成するかを適宜設計すべきである。また、最新の地図情報MPを常に利用したい場合、クライアント装置の外部にある地図情報MPを利用できるようにする方が好ましい。
【0053】
(システム構成例(2))
次に、図3に例示したシステム構成例について紹介する。図3の例では、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106、動き・状態認識部108、ジオカテゴライズ部110、行動・状況認識部112、アプリケーションAPがクライアント装置に設けられている。さらに、スコアマップSMがクライアント装置により保持されている。
【0054】
上記の通り、学習モデル判定を用いると、行動・状況認識部112の演算量が非常に大きくなり、現状のクライアント装置が有する演算能力では実現が困難になる。しかしながら、ルールベース判定を利用する場合、行動・状況認識部112の演算量が比較的少なくて済むため、クライアント装置に行動・状況認識部112を設けることも可能である。また、将来的にクライアント装置の演算能力が向上した場合や、クライアント装置として高性能なPC(Personal Computer)やゲーム機等を利用する場合、学習モデル判定をクライアント装置により実行することが可能となる。この場合、サーバは、行動・状況パターンに応じた推奨サービスSVを提供するに留まる。
【0055】
このような構成にすると、クライアント装置とサーバとの間で通信する機会が少なくて済むようになり、通信環境が悪い状況においても、行動・状況パターンに応じた処理を実行するアプリケーションAPを快適に利用することができるようになる。また、クライアント装置同士で行動・状況パターンに関するフィードバックを交換することにより、友人、家族、同僚といった近い環境で生活する他ユーザの行動・状況パターンを学習データとして利用することができるようになる。そのため、ユーザの生活環境に合った行動・状況パターンの判定モデルやスコアマップSMが生成されるようになり、行動・状況パターンの精度が向上する。
【0056】
(システム構成例(3))
次に、図4に例示したシステム構成例について紹介する。図4の例では、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106、アプリケーションAPがクライアント装置に設けられている。また、動き・状態認識部108、ジオカテゴライズ部110、行動・状況認識部112がサーバに設けられている。そして、スコアマップSMがサーバにより保持されている。
【0057】
上記の通り、行動・状況認識部112の演算量は比較的大きい。特に、学習モデル判定を利用する場合には、現状のクライアント装置が有する演算能力では行動・状況認識部112の機能を実現することは困難である。一方、動き・状態認識部108やジオカテゴライズ部110の演算量は比較的小さい。しかしながら、クライアント装置のサイズを小型化する場合には、演算能力を犠牲にして発熱量やダイサイズの小さいプロセッサが搭載されることがある。このような場合、図4の例に示すように、動き・状態認識部108、ジオカテゴライズ部110をサーバに設ける方が好ましい。
【0058】
このような構成にすることにより、クライアント装置は、演算リソースをアプリケーションAPや他の機能に割り当てることができる。また、ジオカテゴライズ部110をクライアント装置に設けないため、地図情報MPやジオカテゴリ情報GCを保持したり、取得したりする動作が不要になる。そのため、地図情報MPやジオカテゴリ情報GCにより一時的又は永続的に占有される記憶領域を開放することができるようになる。
【0059】
(システム構成例(4))
次に、図5に例示したシステム構成例について紹介する。図5の例では、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106、動き・状態認識部108、ジオカテゴライズ部110、行動・状況認識部112、アプリケーションAPがクライアント装置に設けられている。また、スコアマップSM又は判定モデルの情報がサーバにより保持されている。
【0060】
上記の通り、行動・状況認識部112の演算量は比較的大きい。特に、学習モデル判定を利用する場合には、現状のクライアント装置が有する演算能力では行動・状況認識部112の機能を実現することは困難である。そこで、図5の例に示すように、サーバにより予め判定モデルを算出しておき、クライアント装置に提供するように構成する方法が考えられる。この場合、クライアント装置に設けられた行動・状況認識部112は、サーバから提供された判定モデルをそのまま用いて行動・状況パターンの検出を行うか、ユーザのフィードバックに基づいて判定モデルを修正し、修正した判定モデルを利用する。このような構成にすることにより、比較的演算能力の低いクライアント装置でも、行動・状況認識部112の機能を実現することが可能になる。
【0061】
また、ルールベース判定を利用する場合でも、スコアマップSMのデータ量は、クライアント装置の記憶領域を圧迫してしまうことがある。そのため、スコアマップSMをサーバにより保持しておく方が好ましい場合も多い。また、スコアマップSMを最適化する処理も、比較的演算量の多い処理である。そのため、スコアマップSMの最適化をサーバにより実行し、最適化されたスコアマップSMをクライアント装置の行動・状況認識部112により利用することで、クライアント装置により高精度な行動・状況パターンの検出を実現することができる。
【0062】
(システム構成例(5))
次に、図6に例示したシステム構成例について紹介する。図6の例では、モーションセンサ102、位置センサ104、時間・カレンダー情報取得部106、動き・状態認識部108、ジオカテゴライズ部110、行動・状況認識部112、アプリケーションAPがクライアント装置に設けられている。さらに、スコアマップSMがクライアント装置により保持されている。図6に例示したシステム構成は、上記のシステム構成例(2)と大部分が同じである。但し、システム構成例(2)では、クライアント装置に地図情報MP、ジオカテゴリ情報GCが保持されていたが、図6に例示したシステム構成例(5)では、地図情報MP、ジオカテゴリ情報GCが外部から取得される。このような構成にすることで、利用可能な記憶領域を拡大することができる。また、最新の地図情報MP、ジオカテゴリ情報GCが利用できるようになるため、より精度良く行動・状況パターンを検出することができるようになる。
【0063】
以上、行動・状況解析システム10のサーバ・クライアント構成例について紹介した。なお、後述する第2〜第4実施形態のサーバ・クライアント構成についても同様に、図2〜図6に例示したようなシステム構成にすることができる。以下、行動・状況解析システム10を構成する各構成要素の機能について、より詳細に説明する。
【0064】
[1−2:動き・状態認識部108の機能]
まず、図7〜図15を参照しながら、動き・状態認識部108の機能について詳細に説明する。図7〜図15は、動き・状態認識部108の機能及び動作を説明するための説明図である。
【0065】
(入出力データの構成)
図7を参照する。上記の通り、動き・状態認識部108には、モーションセンサ102からセンサデータが入力される。センサデータとしては、例えば、図7に示すように加速度の波形データ(以下、加速度データ)が入力される。なお、図7の例では判然としないかもしれないが、動き・状態認識部108には、x方向の加速度データ(x−acc)、y方向の加速度データ(y−acc)、z方向の加速度データ(z−acc)が入力される。但し、x、y、zは互いに直交する方向を示す。また、ジャイロセンサが搭載されている場合には、センサデータとして3次元的なジャイロデータ(x−gyro,y−gyro,z−gyro)が入力される。なお、温度や気圧等に応じてセンサの感度が変化してしまうため、これらのセンサデータはキャリブレーションが施されたものである方が好ましい。
【0066】
センサデータが入力されると、動き・状態認識部108は、入力されたセンサデータに基づいて動き・状態パターンを検出する。動き・状態認識部108により検出可能な動き・状態パターンとしては、例えば、「歩く」「走る」「静止」「一時静止」「跳躍」「姿勢変化」「ターン」「電車(搭乗)」「エレベータ(上昇/下降)」「車(搭乗)」「自転車(搭乗)」等がある(図8を参照)。
【0067】
例えば、歩行状態を検出するアルゴリズムについて考えてみよう。通常、人間が歩くときに検出される加速度データの周波数は2Hz程度(1秒間に2歩程度)である。そこで、動き・状態認識部108は、加速度データの周波数を解析し、周波数が2Hz付近にある部分を検出する。この処理により検出された部分が動き・状態パターン「歩く」に相当する。また、動き・状態認識部108は、加速度データから「歩く」動き・状態パターンの発生時間や継続時間等を検出することもできる。さらに、動き・状態認識部108は、加速度データの振幅から「歩く」強度を検出することができる。
【0068】
このように、センサデータを解析して得られる周波数や強度等のデータに基づいて動き・状態パターン毎の特徴量(以下、動き・状態特徴量)を抽出することができる。なお、「歩く」動き・状態パターンの例では加速度データしか利用されていないが、動き・状態パターンの種類によってはジャイロデータも利用される。動き・状態特徴量の経時変化を得ると、動き・状態認識部108は、動き・状態特徴量から、逐次、動き・状態パターンを判定し、時系列で変化する動き・状態パターンを出力する(図7を参照)。但し、ここで得られる動き・状態パターンは、ユーザが短時間に行う行為の寄せ集めに過ぎず、ユーザの具体的な生活行動を示すものではない点に注意されたい。
【0069】
このようにして動き・状態認識部108により得られた動き・状態パターンは、行動・状況認識部112に入力される。さて、図8に示した動き・状態パターンの一部に関し、より詳細な検出アルゴリズムについて以下で説明する。
【0070】
(一時停止(Pausing)/静止(Still)の認識方法)
まず、図9を参照しながら、ユーザが一時停止しているのか、或いは、静止しているのかを認識する方法について説明する。図9は、ユーザが一時停止しているのか、或いは、静止しているのかを認識する方法を示した説明図である。
【0071】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)が入力される。センサデータが入力されると、動き・状態認識部108は、センサデータをFIFO形式で記録する(S1000)。所定のデータ分だけ記録されると、動き・状態認識部108は、x−acc、y−acc、z−accの分散値をそれぞれ算出する(S1002)。次いで、動き・状態認識部108は、各分散値のうち、最も大きい分散値である静止判定用最大分散値(det)を抽出する(S1004)。
【0072】
静止判定用最大分散値を抽出すると、動き・状態認識部108は、抽出した静止判定用最大分散値が、静止状態を示す静止認識値D1より小さいか否かを判定する(S1006)。静止判定用最大分散値がD1より小さくない場合、動き・状態認識部108は、ユーザが静止していないと判定する。このような判定された場合、ユーザは、何かしらの行動を取っているものと推定される。そのため、動き・状態認識部108は、ユーザが静止していないことを示す情報を行動・状況認識部112に入力する(S1014)。
【0073】
一方、静止判定用最大分散値がD1よりも小さい場合、動き・状態認識部108は、上記の最大分散値がD1より小さい状態が静止認識時間T1より長く続くか否かを判定する(S1008)。ここで、静止認識時間T1とは、ユーザが静止しているものと見なされる最小の時間を示す。T1より長く続く場合、動き・状態認識部108は、ユーザが静止していると判定し、静止を示す情報を行動・状況認識部112に入力する(S1010)。T1より長く続かない場合、動き・状態認識部108は、一時的に静止しているものと判定し、一時的に静止している状態を示す情報を行動・状況認識部112に入力する(S1012)。
【0074】
このように、図9の例に従って判定処理を行うことにより、静止状態、一時静止状態、非静止状態を判別することが可能になる。
【0075】
(歩行(Walking)/走行(Running)の認識方法)
次に、図10を参照しながら、ユーザが歩行しているのか、或いは、走行しているのかを認識する方法について説明する。図10は、ユーザが歩行、或いは、走行しているのかを認識する方法を示した説明図である。
【0076】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)が入力される。センサデータが入力されると、動き・状態認識部108は、バンドパスフィルタ(BPF)を用いて、x−acc、y−acc、z−accから、ユーザが歩行又は走行していると認識される周波数領域外の周波数を除去する(S1100)。次いで、動き・状態認識部108は、BPFを通過したx−acc、y−acc、z−accをFIFO形式で記録する(S1102)。
【0077】
次いで、動き・状態認識部108は、BPFを通過した後で記録されたx−acc、y−acc、z−accを所定のデータ分だけ読み出し、読み出したデータについて自己相関関数(SACF;Summary Autocorrelation Function)を算出する。SACFピークの時系列は、歩行や走行の際に生じるユーザの周期的な動きに対応する。しかし、SACFは、歩行や走行に対応する周波数の高調波を含んでしまう。そこで、動き・状態認識部108は、算出した自己相関関数(SACF)に基づいて、増強された自己相関関数(ESACF;Enhanced SACF)を算出する(S1106)。そして、動き・状態認識部108は、ESACFに基づいて自己相関ピークを算出し(S1108)、歩行・走行判定用周波数(freq)を得る。
【0078】
また、動き・状態認識部108は、ステップS1100でBPFを通過させる前のx−acc、y−acc、z−accをFIFO形式で記録する(S1110)。次いで、動き・状態認識部108は、所定のデータ分だけx−acc、y−acc、z−accを読み出して分散値をそれぞれ算出する(S1112)。次いで、動き・状態認識部108は、算出した分散値の中から最も大きい分散値を抽出し、歩行・走行判定用最大分散値(var)として出力する(S1114)。
【0079】
次いで、動き・状態認識部108は、上記の歩行・走行判定用周波数(freq)と歩行・走行判定用最大分散値(var)とを乗算する(S1116)。単位時間当たりの歩数はfreqで表現される。また、動きの大きさはvarで表現される。さらに、歩数と動きの大小とに基づいて歩行であるか、走行であるかを判定することが可能である。そこで、freqとvarとの積が所定の領域の範囲内にあるか否かを判定することにより、ユーザが歩行しているか否かを判定することができる。まず、この判定の精度を高めるため、動き・状態認識部108は、ローパスフィルター(LPF)により、freq/varの積から、歩行/走行が誤認識されやすい周波数領域を除去して歩行・走行判定用データdetを算出する(S1118)。
【0080】
次いで、動き・状態認識部108は、歩行・走行判定用データが、歩行していると認識される下限値である最小歩行認識値D2よりも大きく、かつ、歩行していると認識される上限値である最大歩行認識値D3よりも小さいか否かを判定する(S1120)。D2よりも大きく、D3よりも小さい場合、動き・状態認識部108は、ユーザが歩行していると判定し、歩行を示す情報を行動・状況認識部112に入力する(S1122)。一方、D2<det<D3でない場合、動き・状態認識部108は、ステップS1124の処理に進行し、歩行・走行判定データdetが、D3よりも大きいか否かを判定する(S1124)。
【0081】
歩行・走行判定データがD3よりも大きい場合、動き・状態認識部108は、ユーザが走行していると判定し、走行を示す情報を行動・状況認識部112に入力する(S1126)。一方、歩行・走行判定データがD2以下である場合、動き・状態認識部108は、歩行も走行もしていないと判定し、動き・状態パターンが歩行及び走行ではないことを示す情報を行動・状況認識部112に入力する(S1128)。なお、freqを積分することにより、積分区間に相当する時間の間に歩んだ歩数の情報が得られる。そこで、動き・状態認識部108は、歩数の情報を算出して行動・状況認識部112に入力する。
【0082】
このように、図10の例に従って判定処理を行うことにより、歩行状態、走行状態、非歩行・非走行状態を判別することが可能になる。
【0083】
(跳躍(Jumping)の認識方法)
次に、図11を参照しながら、ユーザが跳躍しているのか否かを認識する方法について説明する。図11は、ユーザが跳躍しているのか否かを認識する方法を示した説明図である。
【0084】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)が入力される。センサデータが入力されると、動き・状態認識部108は、x−acc、y−acc、z−accの大きさで表現される跳躍加速度を算出する(S1200)。次いで、動き・状態認識部108は、バンドパスフィルター(BPF)により、ユーザが跳躍していると認識される跳躍認識値領域外の周波数を除去する(S1202)。次いで、動き・状態認識部108は、BPFを通過した値の絶対値を算出し、補正跳躍加速度として出力する(S1204)。このように絶対値をとると、跳躍加速度に比べ、跳躍したときに起きる筐体の揺れや振動等により生じるノイズ成分が除去される。
【0085】
次いで、動き・状態認識部108は、ローパスフィルター(LPF)により、補正跳躍加速度から、跳躍として誤認識されやすい周波数領域を除去する(S1206)。次いで、動き・状態認識部108は、LPFを通過したデータから、跳躍しているか否かを判定するための跳躍状態判定値(det)を算出する。次いで、動き・状態認識部108は、跳躍状態判定値が、跳躍していると認識される下限値である最小跳躍認識値D4よりも大きいか判定する(S1208)。最小跳躍認識値D4よりも大きい場合、動き・状態認識部108は、跳躍していると判定し、跳躍を示す情報を行動・状況認識部112に入力する(S1210)。一方、最小跳躍認識値D4より小さい場合、動き・状態認識部108は、跳躍していないと判定し、跳躍していないことを示す情報を行動・状況認識部112に入力する(S1212)。
【0086】
このように、図11の例に従って判定処理を行うことにより、跳躍状態、非跳躍状態を判別することが可能になる。
【0087】
(姿勢変化(Posture Changing)の認識方法)
次に、図12を参照しながら、ユーザが座っているのか、或いは、立っているのかを認識する方法について説明する。図12は、ユーザが座っているのか、或いは、立っているのかを認識する方法を示した説明図である。なお、座っているのか、立っているのかを認識するということは、座っているユーザが立つことの認識、又は、立っているユーザが座ることの認識に他ならない。つまり、ユーザの姿勢変化を認識することである。
【0088】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)が入力される。センサデータが入力されると、動き・状態認識部108は、x−acc、y−acc、z−accから、ローパスフィルター(LPF)により、ユーザの姿勢変化として誤認識されやすい周波数領域を除去する(S1300)。そして、動き・状態認識部108は、x−acc、y−acc、z−accに基づき、それぞれx−grav、y−grav、z−gravを算出する。x−grav、y−grav、z−gravは、重力がかかる方向を示す重力データである。
【0089】
次いで、動き・状態認識部108は、算出したx−gravの変化を示す値δ(x−grav)、y−gravの変化を示すδ(y−grav)、z−gravの変化を示すδ(z−grav)を算出する(S1302)。次いで、動き・状態認識部108は、δ(x−grav)、δ(y−grav)、δ(z−grav)の大きさを表す姿勢変化値を算出する(S1304)。次いで、動き・状態認識部108は、算出した姿勢変化値から、ローパスフィルター(LPF)により、ユーザの姿勢変化として誤認識されやすい領域を除去し(S1306)、姿勢変化しているか否かを判定する姿勢変化判定値(det)を算出する。
【0090】
次いで、動き・状態認識部108は、姿勢変化判定値が、ユーザが姿勢変化していると認識される下限値である最小姿勢変化認識値D5よりも大きいか否かを判定する(S1308)。姿勢変化判定値がD5よりも小さい場合、動き・状態認識部108は、姿勢変化が無いもものと判定し、姿勢変化無しを示す情報を行動・状況認識部112に入力する(S1316)。一方、姿勢変化閾値がD5よりも大きい場合、動き・状態認識部108は、ステップS1310の処理に進行し、ユーザが立っているのか座っているのかを判定する(S1310)。ユーザが既に立っている場合、動き・状態認識部108は、ユーザが座ったと判定し、着座を示す情報を行動・状況認識部112に入力する(S1312)。一方、ユーザが既に座っている場合、動き・状態認識部108は、ユーザが立ったと判定し、起立を示す情報を行動・状況認識部112に入力する(S1314)。
【0091】
このように、図12の例に従って判定処理を行うことにより、姿勢変化の有無を判別することが可能になる。
【0092】
(エレベータによる上昇/下降の認識方法)
次に、図13を参照しながら、ユーザがエレベータに乗っているのか否かを認識する方法について説明する。図13は、ユーザがエレベータに乗っているのか否かを認識する方法を示した説明図である。
【0093】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)が入力される。センサデータが入力されると、動き・状態認識部108は、x−acc、y−acc、z−accに基づき、ローパスフィルター(LPF)により、重力方向の加速度であると誤認識されやすい周波数領域を除去する(S1400)。次いで、動き・状態認識部108は、LPFを通過したx−acc、y−acc、z−accに基づいて重力方向加速度センサデータ(acc)を算出する(S1402)。
【0094】
また、動き・状態認識部108は、重力の値を調整可能にするために、x−acc、y−acc、z−accの大きさで表現された重力調整データを算出して記録する(S1404、S1406)。次いで、動き・状態認識部108は、所定のデータ分だけ重力調整データを読み出し、その分散値である重力調整分散値(var)を算出する(S1408)。さらに、動き・状態認識部108は、所定のデータ分だけ重力調整データを読み出し、その平均値である重力調整平均データを算出する(S1408)。
【0095】
次いで、動き・状態認識部108は、上記の重力調整分散値が、重力の調整を許容する最大の分散値である最大許容重力調整分散値V1よりも小さいか否か判定する(S1410)。上記の重力調整分散値がV1より大きい場合、動き・状態認識部108は、重力の値を更新しない(S1412)。一方、上記の重力調整分散値が最大許容重力調整分散値V1よりも小さい場合、動き・状態認識部108は、上記の重力調整平均データが、重力の調整を許容する最小の平均値である最小許容重力平均値A1よりも大きく、かつ、重力の調整を許容する最大の平均値である最大許容重力平均値A2よりも小さいか否かを判定する(S1414)。
【0096】
上記の重力調整平均データがA1よりも大きく、A2よりも小さい場合、動き・状態認識部108は、ステップS1418の処理に進行する。一方、それ以外の場合、動き・状態認識部108は、重力の値を更新しない(S1416)。ステップS1418の処理に進行した場合、動き・状態認識部108は、ローパスフィルター(LPF)により、重力であると誤認識されやすい低領域を除去し(S1418)、補正重力調整平均データを算出する。次いで、動き・状態認識部108は、上記の重力方向加速度センサデータと上記の補正重力調整平均データとの差分を算出する(S1420)。次いで、動き・状態認識部108は、算出した差分から、ユーザがエレベータに乗っていると誤認識されやすい周波数領域を除去してエレベータ昇降判定データを算出する(S1422)。
【0097】
次いで、動き・状態認識部108は、エレベータ昇降判定データが所定値D6よりも大きいか否かを判定する(S1424)。エレベータ昇降判定データが所定値D6よりも大きい場合、動き・状態認識部108は、ステップS1426の処理に進行する。一方、エレベータ昇降判定データが所定値D6よりも小さい場合、動き・状態認識部108は、ステップS1432の処理に進行する。但し、所定値D6は、ユーザがエレベータで上昇を始めたことを認識することが可能な下限値である。
【0098】
ステップS1426の処理に進行した場合、動き・状態認識部108は、エレベータ昇降判定データが最初に所定値D6を上回ったのか否かを判定する(S1426)。最初である場合、動き・状態認識部108は、ステップS1428の処理に進行してエレベータで上昇しているものと判定し、エレベータによる上昇を示す情報を行動・状況認識部112に入力する(S1428)。一方、最初でない場合、動き・状態認識部108は、ステップS1430の処理に進行してエレベータによる下降が終了したものと判定し、エレベータによる下降の終了を示す情報を行動・状況認識部112に入力する(S1430)。
【0099】
ステップS1432の処理に進行した場合、動き・状態認識部108は、エレベータ昇降判定データが所定値D7よりも大きいか否かを判定する(S1432)。但し、所定値D7は、ユーザがエレベータで下降を始めたことを認識することが可能な上限値である。エレベータ昇降判定データが所定値D7よりも大きい場合、動き・状態認識部108は、ステップステップS1434の処理に進行する。一方、エレベータ昇降判定データが所定値D7よりも小さい場合、動き・状態認識部108は、ステップS1440の処理に進行する。
【0100】
ステップS1434の処理に進行した場合、動き・状態認識部108は、エレベータ昇降判定データが最初に所定値D7を下回ったのか否かを判定する(S1434)。最初である場合、動き・状態認識部108は、ステップS1436の処理に進行してエレベータで下降しているものと判定し、エレベータによる下降を示す情報を行動・状況認識部112に入力する(S1436)。一方、最初でない場合、動き・状態認識部108は、ステップS1438の処理に進行してエレベータによる上昇が終了したものと判定し、エレベータによる上昇の終了を示す情報を行動・状況認識部112に入力する(S1438)。
【0101】
ステップS1440の処理に進行した場合、動き・状態認識部108は、現在、ユーザがエレベータに乗っているか否かを判定する(S1440)。エレベータに乗っている場合、動き・状態認識部108は、ステップS1442の処理に進行してエレベータが加速又は減速の状態にないと判定し、エレベータの加速又は減速がない状態を示す情報を行動・状況認識部112に入力する(S1442)。一方、エレベータに乗っていない場合、動き・状態認識部108は、ステップS1444の処理に進行し、エレベータに乗っていない状態を示す情報を行動・状況認識部112に入力する(S1444)。
【0102】
このように、図13の例に従って判定処理を行うことにより、エレベータによる上昇/下降を判別することが可能になる。
【0103】
(電車に乗っているのか否かの認識方法)
次に、図14を参照しながら、ユーザが電車に乗っているのか否かを認識する方法について説明する。図14は、ユーザが電車に乗っているのか否かを認識する方法を示した説明図である。
【0104】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)が入力される。センサデータが入力されると、動き・状態認識部108は、x−acc、y−acc、z−accに基づき、ユーザが電車に乗っていると誤認識されやすい周波数領域をローパスフィルター(LPF)により除去する(S1500)。次いで、動き・状態認識部108は、上記の周波数領域が除去されたx−acc、y−acc、z−accに基づき、水平方向の加速度データ、及び垂直方向の加速度データを算出する(S1502、S1504)。但し、水平方向、垂直方向とは、電車の走っている地面に対する水平な方向、垂直な方向を意味する。
【0105】
次いで、動き・状態認識部108は、上記の水平方向の加速度データ、及び垂直方向の加速度データを所定のデータ分だけFIFO形式で記録する(S1506、S1508)。次いで、動き・状態認識部108は、水平方向の加速度データを所定のデータ分だけ読み出し、その分散値である水平方向分散値(h−var)を算出する(S1510)。また、動き・状態認識部108は、垂直方向の加速度データを所定のデータ分だけ読み出し、その分散値である垂直方向分散値(v−var)を算出する(S1512)。水平方向分散値(h−var)は、電車の走行時に検出される水平方向の揺れや振動の度合いを表している。また、垂直方向分散値(v−var)は、電車の走行時に検出される垂直方向の揺れや振動の度合いを表している。
【0106】
次いで、動き・状態認識部108は、垂直方向分散値(v−var)が、最小の許容される垂直方向分散値である最小許容垂直分散値V1より大きく、かつ、最大の許容される垂直方向分散値である最大許容垂直分散値V2より小さいかを判定する(S1514)。垂直方向分散値(v−var)が、V1以下又はV2以上である場合、動き・状態認識部108は、電車搭乗判定データ(det)を0に設定する(S1528)。一方、垂直方向分散値がV1より大きく、かつ、V2より小さい場合、動き・状態認識部108は、ステップS1516の処理に進行する。
【0107】
ステップS1516の処理に進行すると、動き・状態認識部108は、垂直方向分散値と水平方向分散値の何れが小さいかを判定する(S1516)。垂直方向分散値(v−var)の方が小さい場合、動き・状態認識部108は、垂直方向分散値(v−var)を所定データ分だけ積分し、積分値を算出する(S1518)。一方、水平方向分散値(h−var)の方が小さい場合、動き・状態認識部108は、水平方向分散値(h−var)を所定データ分だけ積分し、積分値を算出する(S1520)。そして、ステップS1518、S1520の処理により得られた積分値は、ユーザが電車に乗っているか否かを判定する電車搭乗判定データ(det)に設定される。
【0108】
次いで、動き・状態認識部108は、電車搭乗判定データが、ユーザが電車に搭乗していると認識される下限値である最小電車搭乗認識値D8よりも大きいか否かを判定する(S1522)。電車搭乗判定データがD8よりも大きい場合、動き・状態認識部108は、ユーザが電車に乗っていると判定し、電車に乗っている状態を示す情報を行動・状況認識部112に入力する(S1524)。一方、電車搭乗判定データがD8以下である場合、動き・状態認識部108は、ユーザが電車に乗っていないと判定し、ユーザが電車に乗っていないことを示す情報を行動・状況認識部112に入力する(S1526)。
【0109】
このように、図14の例に従って判定処理を行うことにより、電車に乗っている状態か否かを判別することが可能になる。電車の加速状態から減速状態までに着目することで、電車に乗車していて電車が駅に停車している場合、電車が停車した場合、電車が駅に着いてユーザが電車から降りて歩き始めた場合等を判別することもできる。これらの判別結果を行動・状況認識部112に通知するように構成されていてもよい。
【0110】
(右折/左折の認識方法)
次に、図15を参照しながら、ユーザの右折又は左折を認識する方法について説明する。図15は、ユーザの右折又は左折を認識する方法を示した説明図である。
【0111】
まず、ユーザが行動すると、センサデータが動き・状態認識部108に入力される。ここでは3軸方向の加速度データ(x−acc、y−acc、z−acc)、及びジャイロデータ(x−gyro、y−gyro、z−gryo)が入力される。センサデータが入力されると、動き・状態認識部108は、ローパスフィルター(LPF)により、入力されたセンサデータから、右折又は左折していると誤認識されやすい周波数領域を除去する(S1600)。次いで、動き・状態認識部108は、上記の周波数領域が除去されたx−acc、y−acc、z−acc、x−gyro、y−gyro、z−gryoに基づいて重力方向の角速度を算出する(S1602)。
【0112】
次いで、動き・状態認識部108は、算出した角速度から、バンドパスフィルター(BPF)により、右折又は左折していると認識するための曲がり認識領域外の値を除去して補正角速度(det)を算出する(S1604)。次いで、動き・状態認識部108は、補正角速度が、ユーザが右折していると認識するための上限値である最大右折認識値D9よりも小さいか否かを判定する(S1606)。補正角速度がD9よりも小さい場合、動き・状態認識部108は、ユーザが右折していると判定し、その判定結果を行動・状況認識部112に入力する(S1608)。一方、補正角速度がD9以上の場合、動き・状態認識部108は、ステップS1610の処理に進行する。
【0113】
ステップS1610の処理に進行すると、動き・状態認識部108は、補正角速度が、ユーザが左折していると認識される下限値である最小左折認識値D10よりも大きいか否かを判定する(S1610)。補正角速度がD10より大きい場合、動き・状態認識部108は、ユーザが左折していると判定し、その判定結果を行動・状況認識部112に入力する(S1612)。一方、補正角速度がD10よりも小さい場合、動き・状態認識部108は、ユーザが右折も左折もしていないと判定し、その判定結果を行動・状況認識部112に入力する(S1614)。
【0114】
このように、図15の例に従って判定処理を行うことにより、ユーザの右折/左折を判別することが可能になる。
【0115】
以上、動き・状態認識部108の機能について詳細に説明した。上記の通り、動き・状態パターンは、ユーザの具体的な生活行動を表現したものではない。動き・状態パターンとは、ある瞬間(短時間)におけるユーザの状態を表現したものであると言えよう。そのため、動き・状態パターンの履歴を蓄積し、その情報を一日分並べたとしても、自身の記憶を呼び起こさずに一日の行動を振り返るのは難しい。例えば、10分「歩く」、30秒「静止」、3分「走る」、10秒「静止」、「右ターン」、15分「電車」、10分「歩く」、「右ターン」、…といった情報を参照しても、どこで何をしたかを理解することは非常に困難である。こうした理由から、より具体的な生活行動(HC行動)を検出する手段が求められているのである。
【0116】
[1−3:ジオカテゴライズ部110の機能]
次に、図16〜図19を参照しながら、ジオカテゴライズ部110の機能について、より詳細に説明する。図16〜図19は、ジオカテゴライズ部110の機能を説明するための説明図である。
【0117】
まず、図16を参照する。上記の通り、ジオカテゴライズ部110は、位置センサ104から入力された現在地の位置情報に対応するジオカテゴリコード(又はそれに基づく情報)を選択する。このとき、ジオカテゴライズ部110は、地図データベースから地図情報MP及びジオカテゴリ情報GCを取得し、現在地にある建造物等の属性を検出する。地図データベースには、(A1)地図情報、(A2)形状要素データ(建物・敷地・道路の形状情報)、(A3)建物・敷地に登録されている店舗(職種)等の情報が登録されている。(A1)(A2)は地図情報MPに相当する。(A3)はジオカテゴリ情報GCに相当する。なお、地図データベースは、行動・状況解析システム10に含まれていなくてもよく、例えば、Webに公開されている地図データベースを利用することもできる。
【0118】
図17に示すように、ジオカテゴリ情報GCは、建造物等を所定の分類種別により分類し、各分類について分類コード(ジオカテゴリコード)を割り当てたものである。また、図17に示すように、ジオカテゴリは、大分類、中分類、小分類(非図示)に分類されていてもよい。また、図17の例では、大分類の欄、中分類の欄に記載された分類コードがジオカテゴリコードを表している。例えば、地図情報MPを用いて現在地にバッティングセンターが検出された場合、ジオカテゴライズ部110は、ジオカテゴリコード1305000を出力する。
【0119】
また、ジオカテゴライズ部110は、現在地周辺にある建造物等のジオカテゴリコードを検出し、そのヒストグラムを生成する。但し、行動・状況パターンの検出処理において、現在地周辺の環境までを考慮しない場合には、ヒストグラムの生成を省略することができる。現在地周辺の環境を考慮に入れる場合、ジオカテゴライズ部110は、地図情報MP及びジオカテゴリ情報GCを利用して現在地周辺にある建造物等のジオカテゴリコード群を取得する。次いで、ジオカテゴライズ部110は、ジオカテゴリ毎に建造物等の数を集計し、図18に示すようなジオカテゴリのヒストグラム(以下、ジオカテゴリヒストグラム)を生成する。
【0120】
図19に示すように、ジオカテゴリコードは現在地の環境をピンポイントで表現したものであり、ジオカテゴリヒストグラムは現在地周辺の環境を表現したものである。例えば、ジオカテゴリコードが電車の駅を示している場合、現在地の位置情報が取得された時点におけるユーザの行動は、駅構内で行える範囲の行動に絞り込まれる。一方で、ジオカテゴリコードが一般道路を示している場合、ジオカテゴリコードからユーザの行動をあまり絞り込むことはできない。しかし、ジオカテゴリヒストグラムから小売店舗の多い地域にユーザがいることが分かると、ジオカテゴリコードが同じ一般道路を示していても、ユーザの行動をより絞り込むことができる。
【0121】
こうした理由から、ジオカテゴリコードと共にジオカテゴリヒストグラムを利用することにより、後述する行動・状況パターンの検出精度を高めることができる。そのため、ジオカテゴライズ部110は、ジオカテゴリコード(B1)と共にジオカテゴリヒストグラム(B2)を算出して行動・状況認識部112に入力する。また、ジオカテゴライズ部110は、現在地を示す緯度・経度や移動量等の情報(B3)も行動・状況認識部112に入力する。
【0122】
以上、ジオカテゴライズ部110の機能について説明した。なお、現在地の位置情報は、複数の位置情報をクラスタリングして得られる代表点を表すものであってもよい。
【0123】
[1−4:行動・状況認識部112の機能]
次に、図20〜図30Bを参照しながら、行動・状況認識部112の機能について、より詳細に説明する。図20〜図30Bは、行動・状況認識部112の機能を説明するための説明図である。
【0124】
(概要)
まず、図20を参照する。上記の通り、行動・状況認識部112には、時間・カレンダー情報、動き・状態パターン、ジオカテゴリコードが入力される。さらに、行動・状況認識部112には、動き・状態パターンの検出に用いた動き・状態特徴量、センサデータ、ジオカテゴリコードから得られるジオカテゴリヒストグラム、移動量、緯度・経度、移動速度等の情報が入力される。また、行動・状況認識部112には、個人プロファイル情報やユーザによるフィードバックが入力されることもある。これらの情報が入力されると、行動・状況認識部112は、入力された情報の組み合わせに適合する行動・状況パターンを検出する。このとき、行動・状況認識部112は、ルールベース判定又は学習モデル判定に基づいて行動・状況パターンを検出する。
【0125】
(ルールベース判定:ジオカテゴリコード)
まず、ルールベース判定に基づく行動・状況パターンの検出方法について説明する。但し、ここではジオカテゴリコードに基づく判定方法について説明する。上記の通り、ルールベース判定には、スコアマップSMが用いられる。ここでは、図21に示すようなスコアマップSMを想定する。
【0126】
図21の例では、中分類のジオカテゴリコードと各行動・状況パターンとの組み合わせにスコアが割り当てられている。また、図21の例では、「スポーツ」「散歩」「遊び」「買い物」…「作業」「鑑賞」「就寝」が考慮すべき行動・状況パターンとして挙げられている。但し、行動・状況パターンの種類はこれに限定されず、例えば、図26に示すような多種多様な行動・状況パターンを考慮することができる。考慮すべき行動・状況パターンは、予めユーザにより選択されていてもよいし、機械学習アルゴリズムを用いて生成された判定モデルにより各ユーザに適したものが自動的に選択されるようにしてもよい。
【0127】
また、図21に示すようなスコアマップSMは、時間・カレンダー情報の種類と、動き・状態パターンの種類との組み合わせ毎に設けられている。そのため、複数のスコアマップSMが存在する。図22に示すように、まず、行動・状況認識部112は、複数のスコアマップSMから、それぞれ入力されたジオカテゴリコードに対応するスコアの組を選択する(S10)。図21の例では、ジオカテゴリコード1905000が行動・状況認識部112に入力された場合、「食事=1、学習=2、作業=4」というスコアの組がスコアマップSMの種類毎に選択される。つまり、複数組のスコア群が選択される。
【0128】
次いで、行動・状況認識部112は、入力された動き・状態パターンに対応するスコアマップSMの種類を選択する(S12)。このとき、行動・状況認識部112は、選択した種類のスコアマップSMに対応するスコア群を抽出する。次いで、行動・状況認識部112は、ステップS12で選択されたスコアマップSMの種類の中から、入力された時間・カレンダー情報に対応するスコアマップSMの種類を選択する(S14)。このとき、行動・状況認識部112は、選択した種類のスコアマップSMに対応するスコア群を抽出する。その結果、入力された動き・状態パターン、時間・カレンダー情報、ジオカテゴリコードの組み合わせに対応するスコア群が抽出される。
【0129】
上記のステップS12の処理において、動き・状態パターンに対応するスコアマップSMが選択されるが、この選択処理は、図23に記載の動作により実現される。図23に例示するように、各動き・状態パターンには、複数のスコアマップSMにより構成されるスコアマップ群P1〜P9が対応付けられている。そこで、行動・状況認識部112は、入力された動き・状態パターン(及び移動速度・移動量)を所定の判定条件により判別し、その判別結果に対応するスコアマップ群を選択する。例えば、動き・状態パターンが「時間T1以上継続する歩き」である場合、スコアマップ群P5が選択される。
【0130】
上記のように、入力された動き・状態パターン、時間・カレンダー情報、ジオカテゴリコードの組み合わせに対応するスコア群を抽出すると、行動・状況認識部112は、抽出スコア群の中で最大のスコアを検出する。そして、行動・状況認識部112は、最大スコアに対応する行動・状況パターンを特定し、特定した行動・状況パターンを出力する。行動・状況認識部112により出力された行動・状況パターンは、推奨サービスSVやアプリケーションAPにおいて利用される。
【0131】
なお、行動・状況認識部112は、現在の入力に対応するスコア群を用いるだけでなく、過去の入力に対応するスコア群を併せて用い、HMM等を利用して行動・状況パターンを特定するように構成されていてもよい。
【0132】
以上、ジオカテゴリコードを利用したルールベース判定に基づく行動・状況パターンの検出方法について説明した。
【0133】
(ルールベース判定:ジオカテゴリヒストグラム)
次に、図24を参照しながら、ジオカテゴリヒストグラムを利用したルールベース判定に基づく行動・状況パターンの検出方法について説明する。ジオカテゴリヒストグラムを利用する場合、行動・状況認識部112には、現在地周辺にある建造物等のジオカテゴリコードと、そのジオカテゴリのヒストグラムとが入力される。ここでは、現在地周辺に10個のジオカテゴリ(GC1、…、GC10)が検出されたものとする。
【0134】
ジオカテゴリコードが入力されると、行動・状況認識部112は、各ジオカテゴリコードに対応するスコア群を各スコアマップSMから抽出する。図24の例では、ジオカテゴリGC1、GC2、…、GC10に対応するジオカテゴリコード2303000、1905000、…、1602000が入力され、それぞれに対応するスコア群が抽出されている。スコア群を抽出すると、行動・状況認識部112は、各スコア群を規格化してスコア分布pd1、pd2、…、pd10を算出する。但し、この規格化は、各スコア群に含まれる最大スコアを用いて行われる。
【0135】
次いで、行動・状況認識部112は、算出したスコア分布pd1、pd2、…、pd10に対し、入力されたジオカテゴリヒストグラムの値を乗算する。例えば、スコア分布pd1には、ジオカテゴリGC1のヒストグラム値0を乗算する。また、スコア分布pd2には、ジオカテゴリGC2のヒストグラム値10を乗算する。同様に、スコア分布pd3、…、pd10には、それぞれジオカテゴリGC3、…、GC10のヒストグラム値45、…、20を乗算する。次いで、行動・状況認識部112は、このようにしてヒストグラム値により重み付けされたスコア分布pd1、…、pd10をスコアマップSMの種類毎に合計し、スコアマップSM毎のスコア分布PD1、…、PDnを算出する。但し、nは、時間・カレンダー情報と動き・状態パターンとの組み合わせ数を表す。
【0136】
次いで、行動・状況認識部112は、入力された時間・カレンダー情報と動き・状態パターンとの組み合わせに対応するスコアマップSMの種類(例えば、k番目のスコアマップSM)を特定し、特定した種類に対応するスコア分布PDkを選択する。次いで、行動・状況認識部112は、選択したスコア分布PDkの中で最大のスコアを検出し、検出した最大のスコアに対応する行動・状況パターンを出力する。このような構成にすることにより、現在地周辺の環境を考慮した行動・状況パターンの検出を行うことができる。なお、ヒストグラム値が最大のジオカテゴリコードを選択し、選択したジオカテゴリコードを用いて行動・状況パターンを検出する方法も考えられる。この方法の場合、例えば、飲食街では高い確率で「食事」という行動・状況パターンが検出されるようになる。
【0137】
なお、上記の例では最大スコアを検出する方法が示されたが、例えば、複数の行動・状況パターン候補を選出する場合等においては最大スコアではなく、スコアの高い順に候補となる行動・状況パターンが検出されるように構成されていてもよい。この場合、検出された行動・状況パターンの候補の中から、ユーザのプロファイル情報や過去の行動・状況パターンの検出履歴等に基づいて適切な行動・状況パターンが絞り込まれる。この構成は一例であるが、このような変形例についても当然に本実施形態の技術的範囲に含まれる。
【0138】
以上、ジオカテゴリヒストグラムを利用したルールベース判定に基づく行動・状況パターンの検出方法について説明した。なお、ジオカテゴリコードを利用する方法と、ジオカテゴリヒストグラムを利用する方法とを併用してもよい。これらを併用することにより、ピンポイントでユーザがいる場所の環境と、その場所近辺の環境(雰囲気)とを考慮した適切な行動・状況パターンを検出することが可能になる。
【0139】
(学習モデル判定:ジオカテゴリコード)
次に、図25を参照しながら、学習モデル判定に基づく行動・状況パターンの検出方法について説明する。上記の通り、学習モデル判定は、機械学習アルゴリズムを利用して判定モデルを生成し、生成した判定モデルを利用して行動・状況パターンを検出するというものである。機械学習アルゴリズムとしては、例えば、線形回帰、非線形回帰、SVM、Boosting等の手法が用いられる。また、これらの機械学習アルゴリズムに遺伝的探索手法による特徴量の選定処理を組み合わせてもよい。
【0140】
また、判定モデルを生成する際、教師データとして与えられる特徴ベクトルは、例えば、時間・カレンダー情報(年月日、時刻、曜日、祝日/非祝日等)、動き・状態パターン、動き・状態特徴量、センサデータ(加速度データ、ジャイロデータ等)、ジオカテゴリコード、ジオカテゴリヒストグラム(コード毎の数)、緯度・経度等を含む。また、特徴ベクトルには、ユーザの行動に関連する任意の検出データ及びその加工データを利用することができる。また、教師データとして与えられる目的変数は、正解の行動・状況パターンを示す正解データである。なお、教師データは、「学生」「社会人」「男性」「女性」等の比較的近い行動をとると思われるグループから選択的に採取されたものを利用することで、グループ毎に最適化された判定モデルを生成することもできる。
【0141】
機械学習の大まかな仕組みは、正解データが分かっている多数の特徴ベクトルを用意し、所定の関数群から選択された関数の組に特徴ベクトルを作用させ、同じ正解データに対応する複数の特徴ベクトルを同じ関数の組に作用させた場合に同じ特徴量(回答データ)が得られるような関数の組を抽出するというものである。所定の関数群には、例えば、微分演算出力、最大値出力、ローパスフィルタリング、普遍分散出力、フーリエ変換出力等、任意の関数(アルゴリズム)が含まれる。つまり、これらの関数を組み合わせて精度良く正解データを出力することが可能なアルゴリズム(判定モデル)を自動生成するのである。
【0142】
このようにして生成された判定モデルは、任意に入力された同形式の特徴ベクトルに対し、正解又は正解に近い行動・状況パターンを出力するものと期待される。そこで、行動・状況認識部112は、生成した判定モデルに対し、実際に観測されたセンサデータ等により構成される特徴ベクトルを入力して行動・状況パターンを検出する。十分な学習が行われていれば、この方法により精度良く行動・状況パターンを検出することができる。しかし、機械学習アルゴリズムにより判定モデルを生成する処理は、非常に演算量の多い処理である。そのため、図2〜図6を参照しながら説明したように、学習モデル判定を利用する場合にはシステム構成を工夫する必要がある。また、ルールベース判定と学習モデル判定とを組み合わせて用いる方法も考えられる。
【0143】
以上、学習モデル判定を利用した行動・状況パターンの検出方法について説明した。上記の通り、学習モデル判定を利用すると、十分な学習が行われていれば、行動・状況パターンを精度良く検出することができる。また、ユーザによるフィードバックを考慮して判定モデルを再構築することにより、より高精度に行動・状況パターンを検出することが可能な判定モデルを生成することができる。そのため、学習モデル判定を利用することは、行動・状況パターンの検出精度を高める上で有益である。
【0144】
(動作フロー)
次に、図27〜図30Bを参照しながら、行動・状況パターンの検出方法に係る行動・状況認識部112の動作フローについて説明する。但し、図27は、行動・状況解析システム10の全体的な動作フローを示した説明図である。
【0145】
(システム全体)
まず、図27を参照しながら、行動・状況パターンの検出方法に係る行動・状況解析システム10の全体的な動作フローについて説明する。
【0146】
図27に示すように、ユーザにより何らかの行動が行われると(S20)、モーションセンサ102によりセンサデータが取得される(S22)。また、位置センサ104により現在地の位置情報が取得される。そして、センサデータは動き・状態認識部108に入力され、現在地の位置情報はジオカテゴライズ部110に入力される。次いで、動き・状態認識部108により動き・状態パターンが検知され、ジオカテゴライズ部110によりジオカテゴリコード(ヒストグラム)が抽出される(S24)。そして、動き・状態パターン及びジオカテゴリコード(ヒストグラム)等の情報は、行動・状況認識部112に入力される。
【0147】
動き・状態パターン及びジオカテゴリコード(ヒストグラム)等の情報が入力されると、行動・状況認識部112は、これらの情報を用いて行動・状況パターンを検出する(S26)。なお、ステップS26の処理については後段において詳述する。行動・状況認識部112により行動・状況パターンが検出されると、検出された行動・状況パターンの情報はアプリケーション等に入力される(S28)。そして、行動・状況パターンを利用した推奨サービスSVの提供が行われたり、アプリケーションにより行動・状況パターンに応じた機能がユーザに提供される。以下、ステップS26の処理フローについて、より詳細に説明する。
【0148】
(A:ルールベース判定)
ここでは、図28を参照しながら、ルールベース判定に基づく行動・状況パターンの検出方法に係る行動・状況認識部112の動作フローについて説明する。
【0149】
図28に示すように、まず、行動・状況認識部112は、ユーザプロファイルが登録されているか否かを判定する(S102)。ユーザプロファイルが登録されている場合、行動・状況認識部112は、ステップS104の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部112は、ステップS108の処理に進行する。
【0150】
ステップS104の処理に進行した場合、行動・状況認識部112は、入力された現在地の緯度・経度が自宅又は職場であるか否かを判定する(S104)。例えば、行動・状況認識部112は、登録されているユーザプロファイルを参照し、自宅又は職場を示すユーザプロファイルに記載された緯度・経度に一致するか否かを判定する。緯度・経度の位置に自宅も職場もない場合、行動・状況認識部112は、ステップS110の処理に進行する。一方、緯度・経度の位置に自宅又は職場がある場合、行動・状況認識部112は、ステップS106の処理に進行する。
【0151】
ステップS106の処理に進行した場合、行動・状況認識部112は、自宅又は職場に対応するスコアマップSM(スコア群)を選択し(S106)、ステップS112の処理に進行する。また、ステップS102の判定処理によりステップS108の処理に進行した場合、行動・状況認識部112は、入力されたジオカテゴリコード(ヒストグラム)に基づくスコア群を選択し(S108)、ステップS112の処理に進行する。
【0152】
また、ステップS104の判定処理によりステップS110の処理に進行した場合、行動・状況認識部112は、ジオカテゴリコード(ヒストグラム)に基づくスコア群を選択する。さらに、行動・状況認識部112は、選択したスコア群にユーザプロファイルに基づく重み付けを施し(S110)、ステップS112の処理に進行する。例えば、ユーザプロファイルに野球好きであることが記載されている場合、行動・状況認識部112は、行動・状況パターン=「野球」のスコアが大きくなるように重み付けをする。
【0153】
ステップS112の処理に進行すると、行動・状況認識部112は、動き・状態パターン及び時間・カレンダー情報に基づいてスコアマップSMの種類を絞り込む(S112)。次いで、行動・状況認識部112は、ステップS112の処理で絞り込んだ種類に対応するスコア群の中から最大スコアを検出し、検出した最大スコアに対応する行動・状況パターンを選択する(S114)。そして、選択された行動・状況パターンがアプリケーション等に入力され、行動・状況パターンの検出に係る一連の動作が終了する。なお、ジオカテゴリヒストグラムを利用する場合には、ステップS114にてスコア分布が算出され、最大確率に対応する行動・状況パターンが選択される。
【0154】
以上、ルールベース判定に基づく行動・状況パターンの検出方法について説明した。なお、図28の例では最大スコアに対応する行動・状況パターンの選択方法が用いられているが、行動・状況認識部112は、現在の入力に対応するスコア群を用いるだけでなく、過去の入力に対応するスコア群を併せて用い、HMM等を利用して行動・状況パターンを選択するように構成されていてもよい。
【0155】
(B:学習モデル判定)
次に、図29を参照しながら、学習モデル判定に基づく行動・状況パターンの検出方法に係る行動・状況認識部112の動作フローついて説明する。
【0156】
図29に示すように、まず、行動・状況認識部112は、ユーザプロファイルが登録されているか否かを判定する(S122)。ユーザプロファイルが登録されている場合、行動・状況認識部112は、ステップS124の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部112は、ステップS126の処理に進行する。
【0157】
ステップS124の処理に進行した場合、行動・状況認識部112は、ユーザプロファイルを考慮に入れて機械学習アルゴリズムにより生成された判定モデルを選択し(S124)、ステップS128の処理に進行する。一方、ステップS126の処理に進行した場合、行動・状況認識部112は、ユーザプロファイルを考慮に入れずに機械学習アルゴリズムにより生成された汎用の判定モデルを選択し(S126)、ステップS128の処理に進行する。
【0158】
ステップS128の処理に進行すると、行動・状況認識部112は、入力された情報(特徴ベクトル)をステップS124又はステップS126で選択した判定モデルに入力し、入力した特徴ベクトルに適合する行動・状況パターンを検出する(S128)。次いで、行動・状況認識部112は、ステップS128の処理により検出した行動・状況パターンを出力する(S130)。そして、出力された行動・状況パターンがアプリケーション等に入力され、行動・状況パターンの検出に係る一連の動作が終了する。
【0159】
以上、学習モデル判定に基づく行動・状況パターンの検出方法について説明した。
【0160】
(併用)
次に、図30A、図30Bを参照しながら、ルールベース判定及び学習モデル判定を併用する行動・状況パターンの検出方法に係る行動・状況認識部112の動作フローについて説明する。
【0161】
図30Aに示すように、まず、行動・状況認識部112は、ユーザプロファイルが登録されているか否かを判定する(S142)。ユーザプロファイルが登録されている場合、行動・状況認識部112は、ステップS144の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部112は、ステップS148の処理に進行する。
【0162】
ステップS144の処理に進行した場合、行動・状況認識部112は、入力された現在地の緯度・経度が自宅又は職場であるか否かを判定する(S144)。例えば、行動・状況認識部112は、登録されているユーザプロファイルを参照し、自宅又は職場を示すユーザプロファイルに記載された緯度・経度に一致するか否かを判定する。緯度・経度の位置に自宅も職場もない場合、行動・状況認識部112は、ステップS150の処理に進行する。一方、緯度・経度の位置に自宅又は職場がある場合、行動・状況認識部112は、ステップS146の処理に進行する。
【0163】
ステップS146の処理に進行した場合、行動・状況認識部112は、自宅又は職場に対応するスコアマップSM(スコア群)を選択し(S146)、ステップS152の処理に進行する。また、ステップS142の判定処理によりステップS148の処理に進行した場合、行動・状況認識部112は、入力されたジオカテゴリコード(ヒストグラム)に基づくスコア群を選択し(S148)、ステップS152の処理に進行する。
【0164】
また、ステップS144の判定処理によりステップS150の処理に進行した場合、行動・状況認識部112は、ジオカテゴリコード(ヒストグラム)に基づくスコア群を選択する。さらに、行動・状況認識部112は、選択したスコア群にユーザプロファイルに基づく重み付けを施し(S150)、ステップS152の処理に進行する。例えば、ユーザプロファイルに温泉好きであることが記載されている場合、行動・状況認識部112は、行動・状況パターン=「温泉」のスコアが大きくなるように重み付けをする。
【0165】
ステップS152の処理に進行すると、行動・状況認識部112は、動き・状態パターン及び時間・カレンダー情報に基づいてスコアマップSMの種類を絞り込む(S152)。次いで、行動・状況認識部112は、ステップS152の処理で絞り込んだ種類に対応するスコア群の中から最大スコアを検出し、検出した最大スコアに対応する行動・状況パターンを選択する(S154)。なお、ジオカテゴリヒストグラムを利用する場合には、ステップS154にてスコア分布が算出され、最大確率に対応する行動・状況パターンが選択される。
【0166】
次いで、行動・状況認識部112は、図30Bに示すステップS156に進行し、ステップS154において検出された最大スコアが所定値以上であるか否かを判定する(S156)。所定値以上である場合、行動・状況認識部112は、ステップS166の処理に進行する。一方、所定値以上でない場合、行動・状況認識部112は、ステップS158の処理に進行する。
【0167】
ステップS158の処理に進行した場合、行動・状況認識部112は、ユーザプロファイルが登録されているか否かを判定する(S158)。ユーザプロファイルが登録されている場合、行動・状況認識部112は、ステップS160の処理に進行する。一方、ユーザプロファイルが登録されていない場合、行動・状況認識部112は、ステップS162の処理に進行する。
【0168】
ステップS160の処理に進行した場合、行動・状況認識部112は、ユーザプロファイルを考慮に入れて機械学習アルゴリズムにより生成された判定モデルを選択し(S160)、ステップS164の処理に進行する。一方、ステップS162の処理に進行した場合、行動・状況認識部112は、ユーザプロファイルを考慮に入れずに機械学習アルゴリズムにより生成された汎用の判定モデルを選択し(S162)、ステップS164の処理に進行する。
【0169】
ステップS164の処理に進行すると、行動・状況認識部112は、入力された情報(特徴ベクトル)をステップS160又はステップS162で選択した判定モデルに入力し、入力した特徴ベクトルに適合する行動・状況パターンを検出する(S164)。次いで、行動・状況認識部112は、ステップS164の処理により検出した行動・状況パターン、又は図30AのステップS154において選択した行動・状況パターンを出力する(S166)。そして、出力された行動・状況パターンがアプリケーション等に入力され、行動・状況パターンの検出に係る一連の動作が終了する。
【0170】
以上、ルールベース判定及び学習モデル判定を併用する行動・状況パターンの検出方法に係る行動・状況認識部112の動作フローについて説明した。なお、図30Aの例では、ステップS154の処理において最大スコアに対応する行動・状況パターンが選択されているが、行動・状況パターンの選択方法については他の方法を用いることもできる。例えば、現在の入力に対応するスコア群に加え、過去の入力に対応するスコア群を併せて用い、HMM等を利用して行動・状況パターンを選択する方法を用いることもできる。
【0171】
以上説明したように、本実施形態に係る行動・状況パターンの検出方法を用いることにより、図26に例示したようなユーザの生活行動(HC行動)に係る行動・状況パターンを検出することが可能になる。その結果、LC行動の積み重ねで表現された行動履歴からは推測することが難しいユーザの生活行動を利用することができるようになる。
【0172】
<2:第2実施形態>
次に、本発明の第2実施形態について説明する。本実施形態は、上記の第1実施形態において説明した行動・状況パターンの検出方法により得られる行動・状況パターンの利用方法に関する。特に、本実施形態の技術は、ユーザにより登録されたスケジュール情報と、検出された行動・状況パターンとを連携させ、状況に応じた適切な情報をユーザに提供する方法に関する。
【0173】
[2−1:システムの概要]
まず、図31、図32を参照しながら、本実施形態に係る行動・状況解析システム20により実現される機能の概要について説明する。図31、図32は、スケジュールアプリケーションとの連携による効果的な情報の提示方法を示した説明図である。
【0174】
まず、図31を参照する。図31の例では、旅行の工程を示すスケジュール情報がスケジュールアプリケーションに登録されており、この登録情報と行動・状況パターンの検知結果とを組み合わせて通知情報の内容が決定される。例えば、ユーザが、朝、歩きで駅に向かっている時点で通知すべき情報について考えてみよう。なお、図31の例には、スケジュール情報として「歩き」が記載されているが、これらの記載がなくとも、「電車」の記載及び時刻の情報から、朝、駅に向かっている状況を検知することができる。また、スケジュール情報は、ネットワークを介して取得されるように構成されていてもよい。
【0175】
まず、スケジュール情報に登録された「電車、9:00〜10:00」の情報から、9:00以前に駅に向かう状況が発生することを推測することができる。しかし、駅に向かっているタイミングで通知すべき情報を通知するタイミングについては、スケジュール情報から推測することが困難である。しかし、本実施形態においてはユーザの行動・状況パターンを検知することができるため、検知された行動・状況パターンを利用して通知タイミングを決定することができる。例えば、乗車案内の通知タイミングは、「移動(歩き)」の行動・状況パターンが検知されたタイミングで通知すればよい。
【0176】
同様に、行動・状況パターンを利用すれば、観光地に到着する寸前の状況、観光地周辺で観光している状況、観光が終わる頃の状況、帰途についた状況等を認識することができる。さらに、観光地周辺にユーザがいる場合に、ユーザが歩いて観光しているのか、買い物をしているのか、電車に乗って移動中なのかを判別することができる。そこで、例えば、歩いて観光中の場合には観光地情報を提示し、買い物中の場合には土産物屋の情報を提示し、電車で移動中の場合には次の観光地情報を提示するといった情報の提示方法を実現することができる。
【0177】
さらに、スケジュールから遅れていたり、予定が早まったりしていても、行動・状況パターンからユーザの行動を把握することができるため、遅れや早まりを検知して適切な情報を提示することができる。例えば、図32に示すように、スケジュール情報に基づくと、「温泉」の行動・状況パターンが検出されるべきところ、実際には「食事中」の行動・状況パターンが検出された場合に、その遅れをユーザに通知することができる。また、現在地の位置情報、及びスケジュール情報に記載された位置情報と共に、スケジュールの遅れをユーザに提示することもできる。
【0178】
このように、適切なタイミングで状況に合った情報が提示されることにより、ユーザは、提示情報に基づいて適切に移動手段を変更したり、スケジュールを変更したりすることができるようになる。また、ユーザがスケジュール情報とは異なるルートで移動したり、スケジュール情報には登録されていない予定を組み込んだ場合にも、行動・状況パターンから、スケジュール情報との違いを検出することが可能である。そのため、検出された行動・状況パターンに基づいて推測されるユーザの行動と、次に予定されている行動とを適切に結びつける情報(例えば、移動手段の提示等)を提示することもできるようになる。
【0179】
以下では、上記のようにスケジュール情報と、検出された行動・状況パターンの内容とを連携させてユーザに適切なタイミングで適切な情報を提示することが可能な行動・状況解析システム20の構成について説明する。
【0180】
[2−2:システムの全体構成]
まず、図33を参照しながら、本実施形態に係る行動・状況解析システム20の全体的なシステム構成について説明する。図33は、本実施形態に係る行動・状況解析システム20の全体的なシステム構成例を示す説明図である。但し、上記の第1実施形態に係る行動・状況解析システム10と実質的に同じ機能を有する構成要素については同一の符号を付することにより詳細な説明を省略することにする。
【0181】
図33に示すように、行動・状況解析システム20は、主に、モーションセンサ102と、位置センサ104と、時間・カレンダー情報取得部106と、動き・状態認識部108と、ジオカテゴライズ部110と、行動・状況認識部112とを有する。さらに、行動・状況解析システム20は、履歴記憶部202と、スケジュール記憶部204と、行動照合部206と、行動予測部208と、アプリケーション表示部210とを有する。
【0182】
ユーザが行動すると、まず、モーションセンサ102によりセンサデータが検知される。モーションセンサ102により検知されたセンサデータは、動き・状態認識部108に入力される。また、位置センサ104により、現在地を示す位置情報が取得される。そして、位置センサ104により取得された現在地の位置情報は、ジオカテゴライズ部110に入力される。
【0183】
センサデータが入力されると、動き・状態認識部108は、センサデータを用いて動き・状態パターンを検出する。そして、動き・状態認識部108により検出された動き・状態パターンは、行動・状況認識部112に入力される。また、現在地の位置情報が入力されると、ジオカテゴライズ部110は、地図情報MPを取得し、取得した地図情報MPを用いて現在地に対応するジオカテゴリコードを選択する。また、ジオカテゴライズ部110は、ジオカテゴリのヒストグラムを算出する。ジオカテゴライズ部110により選択されたジオカテゴリコードは、行動・状況認識部112に入力される。
【0184】
上記のように、行動・状況認識部112には、動き・状態認識部108から動き・状態パターンが入力され、ジオカテゴライズ部110からジオカテゴリコードが入力される。また、行動・状況認識部112には、動き・状態認識部108を介してセンサデータも入力される。そして、行動・状況認識部112には、ジオカテゴライズ部110を介して現在地の位置情報も入力される。さらに、行動・状況認識部112には、時間・カレンダー情報取得部106から時間・カレンダー情報が入力される。
【0185】
そこで、行動・状況認識部112は、入力された動き・状態パターン、ジオカテゴリコード(ヒストグラム)、時間・カレンダー情報に基づいて行動・状況パターンを検出する。なお、ここで利用される行動・状況パターンの検出方法は、ルールベース判定に基づくものでも、学習モデル判定に基づくものでもよい。行動・状況認識部112により検出された行動・状況パターンは、現在地の位置情報と共に履歴記憶部202に記録される。なお、以下の説明において、履歴記憶部202に蓄積された行動・状況パターンの履歴情報のことを行動履歴と呼ぶ場合がある。同様に、履歴記憶部202に蓄積された現在地の位置情報のことを位置履歴と呼ぶ場合がある。
【0186】
履歴記憶部202に蓄積された行動履歴及び位置履歴は、行動照合部206、又は行動予測部208により読み出される。行動照合部206は、スケジュール情報と実際の行動・状況パターンとを照合する手段である。スケジュール情報は、スケジュール記憶部204に記録されている。そこで、行動照合部206は、スケジュール記憶部204に記録されたスケジュール情報の内容と、位置センサ104により検出された現在地の情報及び行動・状況認識部112により検出された行動・状況パターンとを比較する。スケジュール情報の内容と、現在地の情報及び行動・状況パターンとが一致している場合、行動照合部206は、一致を示す情報をアプリケーション表示部210に入力する。
【0187】
一方、スケジュール情報の内容と、現在地の情報及び行動・状況パターンとが一致しない場合、行動照合部206は、スケジュール情報に登録されている過去又は未来の内容に、現在地の情報及び行動・状況パターンと一致する内容が存在するか否かを判定する。スケジュール情報に登録された過去又は未来の内容に、現在地の情報及び行動・状況パターンと一致する内容が存在する場合、行動照合部206は、過去又は未来の一致内容と共に、一致を示す情報をアプリケーション表示部210に入力する。一方、スケジュール情報に登録された過去又は未来の内容に、現在地の情報及び行動・状況パターンと一致する内容が存在しない場合、行動照合部206は、履歴記憶部202から行動履歴及び位置履歴の情報を読み出す。
【0188】
そして、行動照合部206は、スケジュール情報に登録されている内容と、読み出した行動履歴及び位置履歴とを比較し、スケジュール情報に登録されている行動内容と行動・状況パターンとが不一致になった時点を検出する。そして、行動照合部206は、検出した不一致になった時点を示す情報と、その時点における位置履歴及び行動履歴の情報とをアプリケーション表示部210に入力する。
【0189】
また、行動照合部206は、位置センサ104から入力される位置情報及び行動・状況認識部112から入力される行動・状況パターンと、スケジュール情報の内容とが一致するまで上記の比較処理を繰り返す。そして、行動照合部206は、一致した時点で、一致を示す情報及びその時点における位置情報及び行動・状況パターンをアプリケーション表示部210に入力する。
【0190】
また、行動照合部206には、行動予測部208から位置情報及び行動・状況パターンの予測結果が入力される。例えば、スケジュール記憶部204に登録されたスケジュール情報が存在しない場合、行動照合部206は、行動予測部208により入力された行動・状況パターンの予測結果と、実際に行動・状況認識部112により検出された行動・状況パターンとを比較する。そして、行動照合部206は、その比較結果をアプリケーション表示部210に入力する。例えば、現在地の次にユーザが訪れるであろう場所や、その場所におけるユーザの行動・状況パターンに応じた情報を提示したいが、スケジュール情報が登録されていない場合に行動予測部208による予測結果が利用される。
【0191】
行動予測部208は、履歴記憶部202に蓄積されている行動履歴及び位置履歴の情報を読み出し、読み出した情報に基づいて未来の行動・状況パターン及び位置情報を予測する。例えば、行動予測部208は、履歴記憶部202から読み出した行動履歴等を利用し、確率的な位置遷移モデルに基づいて次にユーザのとる行動・状況パターンを予測する。確率的な位置遷移モデルとしては、例えば、後述する位置クラスタリングに基づく遷移確率の推定方法等が用いられる。また、図33には明示していないが、履歴記憶部202に他人の行動履歴や位置履歴が記録されている場合、行動予測部208は、他人の行動履歴や位置履歴を読み出して行動・状況パターンの予測に利用することもある。他人の行動履歴等を利用することにより、本人の行動履歴等がない場所の行動予測(例えば、多くの人が取ると予測される行動の推定)が可能になる。
【0192】
このように、行動照合部206により、現在、過去、未来のスケジュール情報と、現在検出された行動・状況パターン等の情報とが照合される。また、行動照合部206により、現在、過去、未来スケジュール情報と、過去に検出された行動・状況パターン等の情報とが照合される。さらに、行動照合部206により、行動予測部208により推定された未来の行動・状況パターン等の情報と、現在検出された行動・状況パターン等の情報とが照合される。これらの照合結果は、アプリケーション表示部210に入力される。さらに、行動予測部208による予測結果もアプリケーション表示部210に入力される。
【0193】
これらの情報が入力されると、アプリケーション表示部210は、アプリケーションを利用して入力情報に応じた適切な情報をユーザに提示する。また、アプリケーション表示部210は、ユーザがスケジュール情報を登録したり、スケジュール情報を管理するためのアプリケーションを表示する。さらに、アプリケーション表示部210は、地図を表示するためのアプリケーションを表示したり、そのアプリケーションを介して行動照合部206による照合結果等を表示したりする。例えば、図32に示すように、スケジュール情報に登録された予定と、実際に検出された行動・状況パターンとの時間・空間的な相違を表示する。なお、このような情報は、音声により通知されるように構成してもよい。
【0194】
以上、行動・状況解析システム20の全体的なシステム構成について説明した。
【0195】
[2−3:行動予測部208の機能]
次に、図34を参照しながら、行動予測部208の機能について説明する。
【0196】
図34には、位置クラスタリングを利用した行動予測方法が示されている。行動予測部208は、履歴記憶部202から行動履歴及び位置履歴を読み出し、行動履歴に基づいて位置履歴の情報を絞り込む。位置履歴には、ユーザが歩いて移動中に検出された位置情報、電車やバスで移動中に検出された位置情報、静止中に検出された位置情報等、様々な場面で記録された位置情報が含まれている。そのため、全ての位置情報を同等に扱ってユーザがとるであろう行動・状況パターンの傾向を予測するのは非常に難しい。
【0197】
そこで、行動予測部208は、行動履歴を参照し、「歩き」「静止」の行動・状況パターンに対応する位置情報を位置履歴から抽出する。このようにして位置情報を絞り込むことにより、行動予測にかかる演算量を低減させることができる。また、「歩き」「静止」の行動・状況パターンを抽出することにより、ユーザが、ある範囲内に停留している状況を選別することができる。なお、行動履歴に滞在時間(又は継続時間)や時間・カレンダー情報等の履歴が含まれている場合には、これらの履歴を利用し、滞在時間(又は継続時間)が長い行動履歴に絞り込んだり、予測行動の実施時間帯で行動履歴を絞り込んでもよい。このような絞り込みを行うことにより、行動予測の精度を向上させることができる。
【0198】
次に、行動予測部208は、行動履歴に基づいて絞り込まれた位置情報(A)をクラスタリングする。つまり、行動予測部208は、位置情報のポイントが集中する領域(クラスタ)を抽出し、抽出した各領域に含まれるポイントをグルーピングすると共に、各グループを代表する代表ポイントを決定する。上記のように、行動予測部208は、「歩き」「静止」の行動・状況パターンによる絞り込みを実施しているため、各クラスタが大きく広がってしまうことがない。そのため、ユーザの主な停留ポイントを忠実に表現したクラスタマップ(B)を生成することができる。図34の例では、3つのクラスタA、B、Cが得られる。
【0199】
次に、行動予測部208は、位置履歴に基づいてクラスタ内及びクラスタ間の遷移確率を計算する。「歩き」「静止」の行動・状況パターンで絞り込まれた位置履歴には、ユーザの移動工程(時系列の位置情報)が含まれている。また、上記のクラスタリングにより、各クラスタの範囲が特定されている。そのため、これらの情報を併せて利用することにより、行動予測部208は、移動工程を構成する各位置情報が、どのクラスタに含まれるかを判別することができる。また、行動予測部208は、ある移動工程が、どのクラスタから、どのクラスタへと移動するものであるかを判別することができる。
【0200】
例えば、行動予測部208は、クラスタA内で移動する移動工程の数MAA、クラスタB内で移動する移動工程の数MBB、クラスタC内で移動する移動工程MCCの数を検出することができる。また、行動予測部208は、クラスタAからクラスタBへと移動する移動工程の数MABを検出することができる。さらに、行動予測部208は、クラスタBからクラスタAへと移動する移動工程の数MBAを検出することができる。そして、行動予測部208は、クラスタBからクラスタCへと移動する移動工程の数MBC、クラスタCからクラスタBへと移動する移動工程の数MCBを検出することができる。
【0201】
このようにして検出されたMAA、MBB、MCC、MAB、MBA、MAC、MCA、MBC、MCBの比率に基づき、クラスタ内又はクラスタ間の遷移確率を計算することができる。行動予測部208は、このようにして遷移確率を計算すると、計算した遷移確率に基づいて行動を予測する。例えば、図34(C)のような遷移確率が算出され(但し、数字の大きさは遷移確率の大きさを示す。)、ユーザがクラスタAに存在し、行動・状況パターンが「買い物中」の場合、ユーザは買い物を続け、その後でクラスタBに移動するものと予測される。このように、スケジュール情報が登録されていなくとも、位置履歴及び行動履歴に基づいて行動予測部208によりユーザの行動が予測される。
【0202】
以上、行動予測部208の機能について説明した。
【0203】
[2−4:行動照合部206の機能]
次に、図35A〜図35Cを参照しながら、行動照合部206の動作フローについて説明する。
【0204】
(前段処理)
まず、図35Aを参照する。図35Aは、行動照合部206による行動照合動作の前段で行われる主な処理フローを示す説明図である。図35Aに示すように、まず、動き・状態認識部108により、センサデータに基づいて動き・状態パターンが検出される(S202)。次いで、ジオカテゴライズ部110により、位置情報からジオカテゴリ情報(ジオカテゴリコード、ジオカテゴリヒストグラム)が検出される(S204)。次いで、行動・状況認識部112により、動き・状態パターン、及びジオカテゴリ情報から、行動・状況パターンが検出される(S206)。
【0205】
次いで、行動照合部206により、スケジュール記憶部204にスケジュール情報が登録されているか否かが判定される(S208)。スケジュール記憶部204にスケジュール情報が登録されている場合、行動照合部206は、ステップS210の処理に進行する。一方、スケジュール記憶部204にスケジュール情報が登録されていない場合、行動照合部206は、ステップS212の処理に進行する。ステップS210の処理に進行した場合、行動照合部206は、スケジュール情報から現在の予定と次の予定とを確認する(S210)。一方、ステップS212の処理に進行した場合、行動照合部206は、行動予測部208により行動・状況パターンの履歴(行動履歴/位置履歴)に基づいて予測された次の行動を示す情報を取得する(S212)。
【0206】
(スケジュール情報が登録されている場合)
次に、図35Bを参照する。スケジュール記憶部204にスケジュール情報が登録されている場合、図35Aの前段処理により、行動照合部206は、スケジュール情報に登録された現在の予定又は次の予定を認識している。そこで、行動照合部206は、位置センサ104により検出された現在の位置、及び行動・状況認識部112により検出された現在の行動・状況パターンが、スケジュール情報に登録された現在の予定に一致するか否かを判定する(S222)。現在の予定と一致している場合、行動照合部206は、ステップS224の処理に進行する。一方、現在の予定と一致していない場合、行動照合部206は、ステップS228の処理に進行する。
【0207】
ステップS224の処理に進行した場合、行動照合部206は、現在の予定が既に消化されているか否かを判定する(S224)。現在の予定が未消化の場合、行動照合部206は、ステップS226の処理に進行する。一方、現在の予定が未消化でない場合、行動照合部206は、ステップS230の処理に進行する。ステップS226の処理に進行した場合、行動照合部206は、スケジュール情報に登録された現在の予定を取得し(S226)、ステップS240の処理に進行する。
【0208】
ステップS222の判定処理によりステップS228の処理に進行した場合、行動照合部206は、現時点で検出された位置情報及び行動・状況パターンが次の予定と一致するか否かを判定する(S228)。次の予定と一致する場合、行動照合部206は、ステップS230の処理に進行する。一方、次の予定と一致していない場合、行動照合部206は、ステップS232の処理に進行する。ステップS230の処理に進行した場合、行動照合部206は、スケジュール情報に登録された次の予定を取得し(S230)、ステップS240の処理に進行する。
【0209】
ステップS228の判定処理によりステップS232の処理に進行した場合、行動照合部206は、現時点で検出された位置情報及び行動・状況パターンが過去の予定と一致するか否かを判定する(S232)。過去の予定と一致している場合、行動照合部206は、ステップS234の処理に進行する。一方、過去の予定と一致していない場合、行動照合部206は、ステップS236の処理に進行する。ステップS234の処理に進行した場合、行動照合部206は、スケジュール情報に登録された過去の予定を取得し(S234)、ステップS240の処理に進行する。
【0210】
ステップS232の判定処理によりステップS236の処理に進行した場合、行動照合部206は、現在地周辺の行動予測データを行動予測部208から取得する(S236)。次いで、行動照合部206は、次にユーザが行きそうな場所の行動予測データを行動予測部208から取得し(S238)、ステップS240の処理に進行する。
【0211】
ステップS240の処理に進行すると、行動照合部206は、予定行動の種類を確認する(S240)。予定行動の種類としては、例えば、グルメ(飲食等)、イベント、乗り物等を例示することができる。次いで、行動照合部206は、予定行動の種類に応じた情報を取得する(S242)。次いで、行動照合部206は、取得した情報をアプリケーション表示部210に入力し、その情報をアプリケーションに表示する(S244)。そして、行動照合部206は、情報の提示に係る一連の処理を終了する。
【0212】
このような構成にすることにより、ユーザの行動がスケジュール情報に登録した予定から外れても、その時点での行動・状況パターンに応じて適切な情報を提供することができる。また、ユーザの行動がスケジュール情報に登録されていないものであっても、予測される行動・状況パターンに基づいて適切な情報がユーザに提示される。
【0213】
(スケジュール情報が登録されていない場合)
次に、図35Cを参照する。図35Cは、スケジュール記憶部204にスケジュール情報が登録されていない場合、図35Aの前段処理において行動予測部208により行動予測データが生成されている。そこで、行動照合部206は、行動予測部208から現在地周辺の行動予測データを取得する(S252)。次いで、行動照合部206は、次にユーザが行きそうな場所の行動予測データを取得する(S254)。
【0214】
次いで、行動照合部206は、行動予測データに基づいて予定行動の種類を確認する(S256)。次いで、行動照合部206は、予定行動の種類に応じた情報を取得する(S258)。次いで、行動照合部206は、取得した情報をアプリケーション表示部210に入力し、その情報をアプリケーションに表示する(S260)。そして、行動照合部206は、情報の提示に係る一連の処理を終了する。
【0215】
このような構成にすることにより、スケジュール記憶部204にスケジュール情報が登録されていなくても、ユーザの行動・状況パターンを予測して、その場面に応じた適切な情報をユーザに提示することが可能になる。
【0216】
以上、本発明の第2実施形態について説明した。本実施形態においては、スケジュール情報と行動・状況パターンとを連携させ、場面に応じた適切な情報をユーザに提供する技術が提案された。また、行動履歴及び位置履歴に基づいて効率的に精度良くユーザの行動・状況パターンを予測する技術が提案された。これらの技術を用いることにより、場面に応じて、より効果的な情報をユーザに提示することができるようになる。
【0217】
<3:第3実施形態>
次に、本発明の第3実施形態について説明する。本実施形態は、上記の第1実施形態において説明した行動・状況パターンの検出方法により得られる行動・状況パターンの利用方法に関する。特に、本実施形態の技術は、ユーザが将来行うべき予定として登録したToDo情報の通知タイミングを絶妙に制御する技術に関する。また、ToDo情報を複数のユーザで共有し、各ユーザの行動・状況パターンに応じて、その通知対象を適切に制御する技術に関する。
【0218】
[3−1:システムの概要]
まず、図36、図37を参照しながら、本実施形態に係る行動・状況解析システム30により実現される機能の概要について説明する。図36、図37は、ToDo情報の登録・通知アプリケーションとの連携による効果的な情報の提示方法を示した説明図である。
【0219】
まず、図36を参照する。図36には、ToDo情報を登録するためのアプリケーションにおける登録画面と、登録されたToDo情報の表示画面とが例示されている。登録画面には、登録したToDO情報を通知する期間(現在〜期限)を設定するための「期限」入力ボックスと、通知したいToDO情報を登録するための「表示内容」ボックスと、通知タイミングを設定するためのタイミングボックス(「行動の種類」)と、共有者を設定するための共有者選択ボックス(「ToDoの共有?」)とが設けられている。
【0220】
登録画面のタイミングボックスには、所定の行動リストの中に含まれている行動・状況パターンを選択的に入力することができる。また、登録画面の共有者選択ボックスには、所定のGroupリストの中に含まれているグループを選択的に入力することができる。行動リストには、例えば、「仕事中」「食事中」「買い物中」「家事中」「鑑賞中」等の行動・状況パターンが含まれる。また、Groupリストには、例えば、「家族」「サークル」「野球チーム」「仕事関係」「同期仲間」等のグループが含まれる。
【0221】
登録画面を利用して上記の各項目が登録されていると、行動・状況パターンの検出結果に応じてToDo情報が表示画面に表示される。例えば、行動リストから「帰宅中」を選択して登録しておいた場合、ユーザの行動に伴って検出された行動・状況パターンが「帰宅中」であるタイミングでToDo情報が表示画面に表示される。図36の例では、ToDo情報として「帰宅時に買おうと考えている」買い物リストが登録されており、「帰宅中」の行動・状況パターンが検出されたタイミングで登録された買い物リスト「帰りに買う物」「本屋に立ち寄る」が表示されている。
【0222】
このように、行動・状況パターンに応じたToDo情報が表示されるように構成することにより、ToDo情報の表示タイミングを個々に設定せずとも、自動的に適切なToDo情報が表示される。そのため、ユーザの登録にかかる手間が減少すると共に、ユーザの行動・状況パターンが予定していたものと異なっていても、適切なタイミングでToDo情報を自動的に表示することが可能になる。
【0223】
例えば、ToDo情報の表示タイミングを通常の帰宅時刻に設定しておくと、帰宅時刻が変更になった場合に、実際の帰宅時とは異なるタイミングでToDo情報が表示されてしまうが、図36のような構成にすると、このような不具合は生じない。
【0224】
なお、登録画面でToDo情報の表示内容を入力した際に、入力内容に応じて行動リストの中から行動・状況パターンが自動選択されるように構成されていてもよい。但し、自動選択される行動・状況パターンは、予め設定されていてもよいし、機械学習により自動構築された判定モデルを用いて設定されるように構成されていてもよい。
【0225】
例えば、図37に示すように、ToDo情報の表示内容が「買い物リスト」である場合、「買い物リスト」に対応する行動・状況パターン「移動中(電車、バス、車、自転車)」「帰宅」「買い物中」が自動選択されるように構成されていてもよい。同様に、「連絡リスト」に対しては「移動中(歩き)」「散歩中」、「家計簿記入」に対しては「買い物中」「買い物後」、「カロリーチェック」に対しては「食事中」「食事後」、「英語リスニング」に対しては「移動中(電車、バス)」、「録画番組視聴」に対しては「家事中」「TV鑑賞中」等が自動選択されるように構成されていてもよい。
【0226】
このように、行動・状況パターンに応じた適切なタイミングで効果的にToDo情報が表示されることにより、ToDo情報がより有効に活用できるようになる。また、後述するようにToDo情報を複数のユーザで共有し、行動・状況パターンを利用してToDo情報の通知対象を選別することにより、無関係なユーザへの不適切なToDo情報の通知を抑制し、ユーザの不快感を軽減すると共に、効果的なToDo情報の提供を実現することができる。以下、このような機能を実現することが可能な行動・状況解析システム30の構成について詳細に説明する。
【0227】
[3−2:システムの全体構成]
まず、図38を参照しながら、本実施形態に係る行動・状況解析システム30の全体的なシステム構成について説明する。図38は、本実施形態に係る行動・状況解析システム30の全体的なシステム構成例を示す説明図である。但し、上記の第1実施形態に係る行動・状況解析システム10と実質的に同じ機能を有する構成要素については同一の符号を付することにより詳細な説明を省略することにする。
【0228】
図38に示すように、行動・状況解析システム30は、主に、モーションセンサ102と、位置センサ104と、時間・カレンダー情報取得部106と、動き・状態認識部108と、ジオカテゴライズ部110と、行動・状況認識部112とを有する。さらに、行動・状況解析システム30は、ToDo登録・通知アプリケーション302と、ToDo管理部304と、データベース格納部306とを有する。
【0229】
ユーザが行動すると、まず、モーションセンサ102によりセンサデータが検知される。モーションセンサ102により検知されたセンサデータは、動き・状態認識部108に入力される。また、位置センサ104により、現在地を示す位置情報が取得される。そして、位置センサ104により取得された現在地の位置情報は、ジオカテゴライズ部110に入力される。
【0230】
センサデータが入力されると、動き・状態認識部108は、センサデータを用いて動き・状態パターンを検出する。そして、動き・状態認識部108により検出された動き・状態パターンは、行動・状況認識部112に入力される。また、現在地の位置情報が入力されると、ジオカテゴライズ部110は、地図情報MPを取得し、取得した地図情報MPを用いて現在地に対応するジオカテゴリコードを選択する。また、ジオカテゴライズ部110は、ジオカテゴリのヒストグラムを算出する。ジオカテゴライズ部110により選択されたジオカテゴリコードは、行動・状況認識部112に入力される。
【0231】
上記のように、行動・状況認識部112には、動き・状態認識部108から動き・状態パターンが入力され、ジオカテゴライズ部110からジオカテゴリコードが入力される。また、行動・状況認識部112には、動き・状態認識部108を介してセンサデータも入力される。そして、行動・状況認識部112には、ジオカテゴライズ部110を介して現在地の位置情報も入力される。さらに、行動・状況認識部112には、時間・カレンダー情報取得部106から時間・カレンダー情報が入力される。
【0232】
そこで、行動・状況認識部112は、入力された動き・状態パターン、ジオカテゴリコード(ヒストグラム)、時間・カレンダー情報に基づいて行動・状況パターンを検出する。なお、ここで利用される行動・状況パターンの検出方法は、ルールベース判定に基づくものでも、学習モデル判定に基づくものでもよい。行動・状況認識部112により検出された行動・状況パターンは、ToDo登録・通知アプリケーション302に入力される。ToDo登録・通知アプリケーション302は、ToDo情報をユーザが登録する際に利用する入力インターフェース(登録画面の内容)を提供すると共に、ToDo情報をユーザに提示する手段(表示画面の内容)である。
【0233】
ToDo登録・通知アプリケーション302に期限、表示内容、行動・状況パターン、共有対象等(以下、登録情報)が登録されると、ToDo登録・通知アプリケーション302からToDo管理部304に登録情報が入力される。登録情報が入力されると、ToDo管理部304は、登録情報をデータベース格納部306に格納する。また、ToDo登録・通知アプリケーション302は、行動・状況認識部112から入力された行動・状況パターンをToDo管理部304に入力する。
【0234】
行動・状況パターンが入力されると、ToDo管理部304は、データベース格納部306に格納された登録情報を参照し、入力された行動・状況パターンに一致するToDo情報をToDo登録・通知アプリケーション302に入力する。ToDo管理部304からToDo情報が入力されると、ToDo登録・通知アプリケーション302は、入力されたToDo情報を表示画面に表示する。
【0235】
なお、ToDo管理部304には、複数のユーザの行動・状況パターンが入力される。そのため、ToDo管理部304は、入力された複数の行動・状況パターンと、複数のユーザが属するグループの情報とを考慮し、データベース格納部306に格納された登録情報に基づいてToDo情報の提供先を選択する。そして、ToDo管理部304は、選択した提供先のToDo登録・通知アプリケーション302にToDo情報を入力する。ToDo管理部304からToDo情報が入力されると、各ToDo登録・通知アプリケーション302は、入力されたToDo情報を表示画面に表示する。
【0236】
このような構成にすることにより、行動・状況パターンに応じて適切なタイミングでToDo情報が適切なユーザに通知される。
【0237】
[3−3:ToDo管理部304の機能]
次に、図39〜図44を参照しながら、ToDo管理部304の機能について説明する。
【0238】
(概要)
まず、図39、図40を参照しながら、ToDo管理部304によるToDo情報の登録及び通知の動作について、その概要を説明する。
【0239】
図39に示すように、ToDo登録・通知アプリケーション302から登録情報が入力されると、ToDo管理部304は、データベース格納部306に登録情報を格納する。データベース格納部306には、ToDoメッセージDB、ユーザ/グループ管理DB、ユーザ行動状態DBが設けられている。ToDoメッセージDBは、登録情報として入力されたToDo情報が格納されるデータベースである。ユーザ/グループ管理DBは、登録情報として入力されたユーザ及びグループの情報が格納されるデータベースである。ユーザ行動状態DBは、ユーザ/グループ管理DBに格納されているユーザの行動・状況パターンが格納されるデータベースである。ToDo管理部304は、これらのデータベースに登録情報を格納する。
【0240】
上記の通り、ToDo管理部304には、各ユーザから行動・状況パターンが入力される。そこで、ToDo管理部304は、入力された行動・状況パターンに適合するToDo情報をToDoメッセージDBから抽出し、その行動・状況パターンを入力してきたユーザに提供する。このとき、ToDo情報にグループが紐付けられている場合、行動・状況パターンが一致するユーザの所属グループをユーザ/グループ管理DBから検索し、ToDo情報に紐付けられているグループに属するユーザにもToDo情報を提供する。
【0241】
このような構成にすることにより、行動・状況パターンに応じてToDo情報の通知タイミング、及びToDo情報の通知先が決定され、その通知先に行動・状況パターンに応じたタイミングでToDo情報が通知される。
【0242】
図40に示すように、ToDo情報が通知され、ToDoの行動をユーザが完了すると、ユーザは、ToDoの完了通知をToDo管理部304に入力する。完了通知が入力されると、ToDo管理部304は、データベース格納部306に含まれるToDoメッセージDBから、完了通知に対応するToDo情報を削除する。そして、ToDo管理部304は、ToDo情報を通知したユーザに対して完了通知を送信する。
【0243】
このようにして完了通知が各ユーザに送信されることにより、各ユーザはToDoの完了を知ることができる。例えば、グループ内の誰かが実行すれば足りるToDoが通知された場合、いずれかのユーザがToDoを完了させたことが完了通知により通知されることで、グループ内の各ユーザがToDoの完了を知ることができる。
【0244】
このようにしてToDoの登録、通知、完了登録、完了通知が行われる。これらの機能を実現させるためのToDo管理部304の詳細な機能構成を以下に示す。
【0245】
(詳細な構成、動作フロー)
次に、図41、図42A〜図42Dを参照しながら、ToDo管理部304の詳細な機能構成、及びToDo管理部304の動作フローについて説明する。図41は、ToDo管理部304の詳細な機能構成例を示す説明図である。図42A〜図42Dは、ToDo管理部304の動作フローを示す説明図である。
【0246】
図41に示すように、ToDo管理部304は、ToDo登録部312と、ToDo完了登録部314と、ToDo同期部316と、ToDo通知部318と、タイマー320とにより構成される。
【0247】
(ToDo登録部312の構成及び動作)
ToDo登録部312には、登録時に登録情報が入力される。ここで入力される登録情報には、例えば、宛先ユーザ、通知対象の範囲、トリガー行動の種類(行動リストに含まれる行動・状況パターン)、メッセージ(ToDo情報)、繰り返しの有無等の情報が含まれる。これらの登録情報が入力されると、ToDo登録部312は、これらの情報をデータベース格納部306に格納する。
【0248】
具体的には、図42Aに示す動作が行われる。図42Aに示すように、登録情報及び登録情報を入力したユーザの情報(ID)等が入力されると、ToDo登録部312は、ユーザ/グループ管理DBを参照し、入力された登録情報に対応するユーザが存在するか否かを判定する(S302)。ユーザ/グループ管理DBに該当ユーザが存在する場合、ToDo登録部312は、登録情報に含まれるメッセージをToDoメッセージDBに登録する(S304)。ToDoメッセージDBに該当ユーザが複数存在する場合には、全ての該当ユーザについてステップS304の処理を繰り返し実行する。
【0249】
(ToDo完了登録部314の構成及び動作)
ToDo完了登録部314には、完了したToDoのIDが入力される。図42Bに示すように、IDが入力されると、ToDo完了登録部314は、入力されたIDに対応するToDo情報が存在するか否かを判定する(S312)。そして、登録されていない場合には一連の処理を終了し、登録されている場合にはステップS314の処理に進行する。ステップS314の処理に進行した場合、ToDo完了登録部314は、ToDoメッセージDBに登録されている該当ToDo情報のステータスを「完了」にする(S314)。但し、繰り返し利用される可能性のないToDo情報の場合には削除してもよい。
【0250】
(ToDo同期部316の構成及び動作)
ToDo同期部316には、ToDo登録部312、ToDo完了登録部314により行われたToDo情報の更新通知が入力される。図42Cに示すように、ToDo同期部316は、まず、通知処理(登録通知、完了通知)がされていないToDoが存在するか否かを判定し(S322)、未通知のToDoが存在しない場合には一連の処理を終了する。一方、未通知のToDoが存在する場合、ToDo同期部316は、未通知のToDoを選択し(S324)、選択結果をToDo通知部318に入力する。
【0251】
(ToDo通知部318の構成及び動作)
ToDo通知部318には、ToDo同期部316から未通知のToDoを示す情報が入力される。図42Dに示すように、まず、ToDo通知部318は、ユーザ行動状態DBに登録されたユーザの行動・状況パターンと、未通知のToDoのトリガーとが一致するか否かを判定し(S332)、一致しない場合には一連の処理を終了する。一方、一致する場合、ToDo通知部318は、ステップS334の処理に進行し、未通知のToDoをユーザに通知する(S334)。
【0252】
以上、ToDo管理部304の詳細な構成及び動作について説明した。なお、データベース格納部306には、データベースの形式でメンバーリスト、グループ、ユーザ、ToDoリスト、ToDoアイテム、行動・状況パターンが紐付けて登録されている。このように紐付けられたデータベースを利用することにより、行動・状況パターンやグループ等の関係を考慮して適切な提供先に適切なタイミングでToDo情報を提供することが可能になる。
【0253】
例えば、予めToDoと行動・状況パターンとを紐付けて登録しておくことにより、登録された行動・状況パターンが検出された際に、その行動・状況パターンに紐付けられたToDo情報をユーザに提示することができる。また、行動・状況パターンの開始時点や終了時点等、時間・カレンダー情報を考慮したToDo情報の提供が行われてもよい。例えば、行動・状況パターン「食事」について、「食事・開始時」にToDo「食事内容を撮影」を提示し、「食事・終了時」にToDo「カロリーチェック」を提示するような構成を例示できる。
【0254】
なお、ToDo表示に代えて、行動・状況パターンに応じたタイミングで登録画面を表示するように構成することもできる。この構成にすると、ToDo登録を適切なタイミングで促すことができるようになる。また、自身や他ユーザの登録履歴を利用してToDoの周期性やタイミングを検出し、その検出結果を利用してタイミングや提供先を最適化する方法も考えられる。
【0255】
また、行動・状況パターンに加え、位置センサ104により検知された位置情報や、ジオカテゴライズ部110により検出されたジオカテゴリコード(地域性等)を利用してToDoの通知タイミングや通知先を最適化する方法も考えられる。例えば、商業地域やデパート内で「買い物中」に「贈り物の購入リスト」を表示するといった応用形態が考えられる。
【0256】
(通知先の選択)
上記説明の中で、複数のユーザによりToDo情報を共有する構成について示唆した。ここでは、図43、図44を参照しながら、ToDoの共有を前提とし、行動・状況パターンに応じてToDo情報の通知先を適切に選択する方法について説明する。なお、ここで説明する方法は、ToDoを他人に通知する場合に、相手の状況を考慮して通知相手を自動的に選択したり、ToDoの内容に適合する通知相手の数に応じてグループ全体にToDoを通知するか否かを自動的に判断する技術に関する。
【0257】
(行動・状況パターンが一致するユーザにToDoを通知する方法)
まず、図43を参照する。図43には、行動・状況パターンが一致するユーザを自動選択し、選択されたユーザにToDoを通知する構成が模式的に示されている。図43の例では、行動・状況パターン「移動中」のユーザに対し、ToDo情報「お店の予約」を通知する場面が想定されている。ToDo情報「お店の予約」は、グループ内の誰か1人が行えば済む行為である。
【0258】
また、なるべくなら忙しい状況にないユーザに頼みたい内容である。図43の例では、グループ内にいる3人のユーザのうち、2人が「仕事中」であり、1人が「移動中」である。行動・状況パターンが「仕事中」のユーザには、「お店の予約」というToDoを頼みにくい。また、「仕事中」に「お店の予約」が通知されると、通知されたユーザは、そのToDoを通知したユーザに不快感を抱くかもしれない。また、離れた場所に居るユーザの状況を電話等で確認して「お店の予約」を頼むのも手間がかかる。
【0259】
しかし、本実施形態の技術を用いると、「移動中」の行動・状況パターンにあるユーザにだけ、自動的にToDo情報「お店の予約」を送ることができるのである。このような機能を実現するため、まず、ToDo管理部304は、グループ内の各ユーザから入力される行動・状況パターンを監視し、「移動中」の行動・状況パターンに一致するユーザを選択する。1人のユーザが選択された場合、ToDo管理部304は、そのユーザにToDo情報を送信する。また、複数のユーザが選択された場合、ToDo管理部304は、複数のユーザにToDo情報を送信するように構成されていてもよいし、その中から選択された1人のユーザにToDo情報を送信するように構成されていてもよい。
【0260】
例えば、複数のユーザの中から1人のユーザを選択する場合、ToDo管理部304は、行動・状況パターンに加え、位置情報やジオカテゴリコード(ヒストグラム)等を参照してもよい。例えば、「移動中」の行動・状況パターンでも、「移動中(電車)」「移動中(車)」「移動中(歩き)」の3ユーザが存在する場合には、「移動中(歩き)」のユーザに対して優先的にToDo情報を通知する方が好ましい。
【0261】
また、ジオカテゴリコード(ヒストグラム)に基づいて「繁華街」「山岳地帯」「オフィス街」にいる3ユーザが存在する場合、「繁華街」にいるユーザに対して優先的にToDo情報を通知する方が好ましい。このように、行動・状況パターンやジオカテゴリコード等の情報を利用してToDo情報の通知先を絞り込むことにより、より適切な通知先を選択することができる。
【0262】
(行動・状況パターンが一致するユーザ数に応じた通知先の選択方法)
次に、図44を参照する。図44には、行動・状況パターンが一致するユーザ数に応じてグループ内の全ユーザにToDo情報を通知するか否かを自動的に判断する構成が模式的に示されている。図44の例では、行動・状況パターンが一致する同一グループ内のユーザ数をカウントし、グループ内の過半数が一致している場合にグループ内の全ユーザにToDo情報が通知される。この例では、行動・状況パターン「移動中」、ToDo情報「食事に行こう」が設定されている。
【0263】
「食事に行こう」とグループ内のユーザに呼びかける場合、その呼びかけに応じるユーザ数を予め知りたいと思うことがある。また、その呼びかけに応じるユーザ数が多いなら、呼びかけを行おうと考えることもある。しかし、呼びかけに応じるユーザ数は、通常、呼びかけてみなければ分からない。しかし、呼びかけの内容によっては、呼びかけに応じるユーザの数を行動・状況パターンから予測することができる。
【0264】
図44の例に示すように、「食事に行こう」という呼びかけに対し、「仕事中」で忙しい状況のユーザは、呼びかけに応じない可能性が高い。一方、「移動中」等のユーザは、呼びかけに応じる可能性が高い。そのため、行動・状況パターンを指定して、指定した行動・状況パターンに一致するユーザ数をカウントすることにより、呼びかけに応じる人数を推定することができる。そこで、この推定結果に応じて呼びかけを実施(ToDo情報を送信)するか否かを決定すれば、無駄な呼びかけを発信せずに済む。なお、条件は、行動・状況パターンが一致するユーザが過半数の場合、誰か1人でも一致するユーザがいた場合、全員が一致した場合等、ToDoの内容に応じて変更してもよい。
【0265】
このような方法を用いると、誰1人応じないような呼びかけを防止することが可能になり、効果的なToDo情報をグループ全体に送信できるようになる。図44の例では、グループ全体にToDo情報を送信する構成を示したが、ToDo情報の送信対象はこれに限定されない。また、ここではToDo情報を例に挙げて説明したが、任意の情報配信技術に図44の方法を応用することができる。例えば、メールやニュースの配信、ソフトウェアの配信、映像や音楽等のコンテンツ配信等にも、この方法を応用できる。
【0266】
(入力支援)
次に、登録画面における入力支援方法について説明する。図36に例示したように、ToDo情報を登録する際、期限情報、表示内容を入力する操作の他に、行動リストの選択操作、Groupリストの選択操作が生じる。図26に例示したように、行動リストに記載可能な行動・状況パターンの種類は多数存在する。そのため、行動リストから所望の行動・状況パターンを探すのに手間がかかってしまう。そこで、本件発明者は、表示される行動リストを適切に絞り込む方法を考案した。
【0267】
(入力内容に応じた行動リストの絞込み)
まず、ユーザが表示内容の欄に入力した文章の内容から、選択される可能性の高い行動リストを絞り込み方法が考えられる。例えば、各行動・状況パターンに関連する単語群を用意し、その関連度を示すスコアを各単語に割り当てておく。そして、ToDo登録・通知アプリケーション302は、入力された文章から上記単語群に含まれる単語を抽出し、抽出した単語のスコアに基づいて文章と行動・状況パターンとの関連度を算出する。さらに、ToDo登録・通知アプリケーション302は、算出した関連度が所定値以上となる行動・状況パターンを選出して関連度が高い順に並べ、行動リストとして表示する。
【0268】
このようにして関連度の高い行動・状況パターンを優先的に表示することにより、行動リストから所望の行動・状況パターンを効率的に選択することができるようになる。なお、単語の抽出方法には、形態素解析等の手法を用いることができる。また、行動・状況パターンと単語との関連度を示すスコアは、予め設定されたものであってもよいし、統計的な手法を用いて算出されるものであってもよい。
【0269】
例えば、ある行動・状況パターンが選択された際に使用されている単語の種類と出現頻度とを履歴情報として蓄積しておき、使用頻度が高い単語を関連度(スコア)の高い単語に設定する方法が考えられる。また、行動・状況パターンの表現に含まれる単語に高い関連度を設定する方法も考えられる。例えば、「移動中(電車)」であれば、「移動」「電車」に高い関連度が設定される。なお、文章中に出現する各単語の出現頻度によりスコアに重み付けをしてもよい。
【0270】
(行動・状況パターン等に基づく絞り込み)
次に、現在の行動・状況パターン等に基づく入力文字候補の提示方法、及び行動リストや共有リストの絞り込み方法について紹介する。例えば、現在地の緯度・経度、地域性(ジオカテゴリコード)、行動・状況パターン(HC行動)に関連する単語を入力候補として優先的に提示する方法が考えられる。同様に、現在地の緯度・経度、地域性(ジオカテゴリコード)、行動・状況パターン(HC行動)に関連する単語に基づいて行動リストや共有リストの候補を絞り込む方法も考えられる。
【0271】
例えば、過去の登録履歴から、現在の状況で入力される確率が高い単語を予測し、予測した単語を提示する方法がある。また、現在の状況で登録される確率が高い行動から順に行動リストを並び替える方法がある。同様に、過去の登録履歴から登録される確率が高いグループ順に共有リスト(Groupリスト)を並び替える方法がある。但し、重要度は、「HC行動>地域性>緯度・経度」の順に設定されていることが好ましく、各要素から確率を算出し、重要度に応じて重み付けする方が好ましい。
【0272】
(行動リストと共有リストとの連携)
ToDoの内容を入力する前に行動リストから行動・状況パターンが選択された場合、選択された行動・状況パターンと高い関連度を持つ単語の候補を提示し、内容の入力を支援する方法が考えられる。また、過去の登録履歴に基づき、ある行動・状況パターンが選択されたときに入力される確率が高い単語を予測し、その単語を入力候補として提示する方法が考えられる。さらに、過去の登録履歴に基づき、選択される可能性が高い共有グループを順にGroupリストに並べる方法が考えられる。なお、登録履歴の他、地域性や緯度・経度の情報を利用したり、登録日時の新しいものを優先して利用してもよい。
【0273】
以上、本発明の第3実施形態について説明した。本実施形態においては、ToDoアプリケーションと行動・状況パターンとを連携させ、通知先の状況に応じて適切なタイミングで適切な提供先にToDoを通知する技術が提案された。この技術を利用することにより、より効果的なタイミングでToDo情報をユーザに提供することができるようになる。
【0274】
<4:第4実施形態>
次に、本発明の第4実施形態について説明する。本実施形態は、上記の第1実施形態において説明した行動・状況パターンの検出方法により得られる行動・状況パターンの利用方法に関する。特に、本実施形態の技術は、ユーザの行動・状況パターンに応じて、ユーザが利用する可能性の高いアプリケーションを画面に表示させ、ユーザのアプリケーション選択操作を支援する技術に関する。また、行動・状況パターンに応じて動作設定等の設定情報が切り替わるように構成することで、環境が変わる度にユーザが設定画面を呼び出して設定を変更する手間を省くことが可能になる。
【0275】
[4−1:システムの概要]
まず、図45を参照しながら、本実施形態に係る行動・状況解析システム40により実現される機能の概要について説明する。図45は、行動・状況解析システム40の動作と、当該動作により実現される表示構成の一例を示す説明図である。
【0276】
図45に示すように、行動・状況解析システム40においては、まず、位置情報、センサデータが取得される(S402)。次いで、取得された位置情報、センサデータ等に基づいて行動・状況パターンが検出される(S404)。次いで、検出された行動・状況パターンに基づいてアプリケーションの並べ替えが行われる(S406)。例えば、行動・状況パターン「買い物中」が検出されると、図45に例示したように、買い物に関連するアプリケーションが優先的に表示される。このような構成にすることで、多種多様なアプリケーションが搭載されたクライアント装置を利用する際にも、ユーザが状況に応じた適切なアプリケーションを瞬時に見つけることが可能になり、利便性が大きく向上する。
【0277】
なお、各アプリケーションには、予め行動・状況パターンが対応付けられている。但し、アプリケーション自体が行動・状況パターンを利用するか否かは問わない。また、行動・状況パターンが対応付けられていないアプリケーションに対しても、ユーザの使用履歴と行動・状況パターンの履歴とを利用して統計的に関連性が算出された場合には、その関連性に基づいてアプリケーションと行動・状況パターンとを対応付けることもできる。さらに、同じアプリケーションでも、行動・状況パターンに応じて異なる動作設定にすることができる。このような構成にすることにより、行動・状況パターンに応じたユーザインターフェースを提供することができるようになる。
【0278】
[4−2:システムの全体構成]
次に、図46を参照しながら、本実施形態に係る行動・状況解析システム40の全体的なシステム構成について説明する。図46は、本実施形態に係る行動・状況解析システム40の全体的なシステム構成例を示す説明図である。但し、上記の第1実施形態に係る行動・状況解析システム10と実質的に同じ機能を有する構成要素については同一の符号を付することにより詳細な説明を省略することにする。
【0279】
図46に示すように、行動・状況解析システム40は、主に、モーションセンサ102と、位置センサ104と、時間・カレンダー情報取得部106と、動き・状態認識部108と、ジオカテゴライズ部110と、行動・状況認識部112とを有する。さらに、行動・状況解析システム40は、表示制御部402と、表示部404とを有する。
【0280】
ユーザが行動すると、まず、モーションセンサ102によりセンサデータが検知される。モーションセンサ102により検知されたセンサデータは、動き・状態認識部108に入力される。また、位置センサ104により、現在地を示す位置情報が取得される。そして、位置センサ104により取得された現在地の位置情報は、ジオカテゴライズ部110に入力される。
【0281】
センサデータが入力されると、動き・状態認識部108は、センサデータを用いて動き・状態パターンを検出する。そして、動き・状態認識部108により検出された動き・状態パターンは、行動・状況認識部112に入力される。また、現在地の位置情報が入力されると、ジオカテゴライズ部110は、地図情報MPを取得し、取得した地図情報MPを用いて現在地に対応するジオカテゴリコードを選択する。また、ジオカテゴライズ部110は、ジオカテゴリのヒストグラムを算出する。ジオカテゴライズ部110により選択されたジオカテゴリコードは、行動・状況認識部112に入力される。
【0282】
上記のように、行動・状況認識部112には、動き・状態認識部108から動き・状態パターンが入力され、ジオカテゴライズ部110からジオカテゴリコードが入力される。また、行動・状況認識部112には、動き・状態認識部108を介してセンサデータも入力される。そして、行動・状況認識部112には、ジオカテゴライズ部110を介して現在地の位置情報も入力される。さらに、行動・状況認識部112には、時間・カレンダー情報取得部106から時間・カレンダー情報が入力される。
【0283】
そこで、行動・状況認識部112は、入力された動き・状態パターン、ジオカテゴリコード(ヒストグラム)、時間・カレンダー情報に基づいて行動・状況パターンを検出する。なお、ここで利用される行動・状況パターンの検出方法は、ルールベース判定に基づくものでも、学習モデル判定に基づくものでもよい。行動・状況認識部112により検出された行動・状況パターンは、表示制御部402に入力される。表示制御部402には、行動・状況パターンの他、位置センサ104により検出された位置情報、及びジオカテゴライズ部110により選択されたジオカテゴリコードが入力されてもよい。
【0284】
これらの情報が入力されると、表示制御部402は、入力された情報に基づいて表示部404に表示されるアプリケーションの配置を変更する。例えば、表示制御部402は、行動・状況パターンに対応付けられたアプリケーションだけを表示部404に表示する。また、表示制御部402は、ユーザの行動履歴とアプリケーションの使用履歴とに基づき、行動・状況パターンと各アプリケーションとの関連度を算出し、関連度が所定値以上に高いアプリケーションだけを表示部404に表示する。但し、ここで用いられる関連度は、統計的な手法を用いて算出することができる。また、表示制御部402は、アプリケーションの動作設定を行動・状況パターンに応じて変更する。
【0285】
以上、本発明の第4実施形態について説明した。本実施形態の技術を用いることで、多種多様なアプリケーションを搭載したクライアント装置を利用する際に、所望のアプリケーションを容易に探し出すことが可能になり、ユーザの利便性が大きく向上する。また、アプリケーションの動作設定が行動・状況パターンに応じて自動的に再設定されることにより、ユーザが特別な設定操作を行うこと無しに、快適な動作環境を得ることができるようになる。なお、バックライト設定、音量設定、電力制御設定等、アプリケーションの動作以外の設定項目にも、本実施形態の技術を応用することが可能である。
【0286】
<5:ハードウェア構成>
上記サーバ、クライアントの機能は、例えば、図47に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図47に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
【0287】
図47に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
【0288】
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【0289】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
【0290】
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
【0291】
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
【0292】
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
【0293】
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
【0294】
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
【0295】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0296】
10、20、30、40 行動・状況解析システム
102 モーションセンサ
104 位置センサ
106 時間・カレンダー情報取得部
108 動き・状態認識部
110 ジオカテゴライズ部
112 行動・状況認識部
202 履歴記憶部
204 スケジュール記憶部
206 行動照合部
208 行動予測部
210 アプリケーション表示部
302 ToDo登録・通知アプリケーション
304 ToDo管理部
306 データベース格納部
312 ToDo登録部
314 ToDo完了登録部
316 ToDo同期部
318 ToDo通知部
320 タイマー
402 表示制御部
404 表示部


【特許請求の範囲】
【請求項1】
ユーザの動きを検知して動き情報を出力する動きセンサと、
現在地の情報を取得する現在地情報取得部と、
前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、
前記動きセンサから出力された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出部と、
前記建造物情報取得部により取得された建造物の情報、及び前記第1行動パターン検出部により検出された第1行動パターンをサーバに送信する送信部と、
を有する、携帯端末と、
前記携帯端末から前記建造物の情報、及び前記第1行動パターンを受信する受信部と、
前記受信部により受信された前記建造物の情報、及び前記第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出部と、
を有する、サーバと、
を含む、行動パターン解析システム。
【請求項2】
前記第2行動パターン検出部は、所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第1状態パターンから前記第2行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する、請求項1に記載の行動パターン解析システム。
【請求項3】
前記携帯端末は、前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに有し、
前記送信部は、前記建造物情報取得部により取得された建造物の情報、前記第1行動パターン検出部により検出された第1行動パターン、及び前記時間情報取得部により取得された時間の情報を前記サーバに送信し、
前記サーバは、前記第1行動パターンと前記時間の情報との各組み合わせについて、前記建造物の情報と前記第2行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップを保持しており、
前記第2行動パターン検出部は、
前記第1行動パターン検出部により検出された第1行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、抽出した前記スコアの組の中で最大のスコアが所定値以下の場合に、
所定の機械学習アルゴリズムを用いて前記建造物の情報及び前記第1状態パターンから前記第2行動パターンを検出するための検出モデルを生成し、生成した前記検出モデルを用いて、前記受信部により受信された前記建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する、請求項1に記載の行動パターン解析システム。
【請求項4】
前記携帯端末は、
前記第2行動パターンの組み合わせにより表現することが可能なユーザの行動を時系列で記録したスケジュール情報が格納される記憶部と、
前記記憶部に格納されているスケジュール情報を読み出し、前記スケジュール情報に記録された現在、過去、未来のユーザの行動と、前記第2行動パターン検出部により検出された第2行動パターンとが適合するか否かを判定する適合判定部と、
前記適合判定部による判定結果に応じて前記スケジュール情報に記録されたスケジュールと実際の行動との一致、当該スケジュールからの遅れ、早まりを表示する表示部と、
をさらに有する、請求項1に記載の行動パターン解析システム。
【請求項5】
前記サーバは、前記第2行動パターン検出部により検出された第2行動パターンの履歴を用いて、次にユーザが行う第2行動パターンを予測する行動予測部をさらに有し、
前記適合判定部は、前記第2行動パターンに適合するユーザの行動が前記スケジュール情報に記録されていないと判定した場合に、前記行動予測部により予測された第2行動パターンを前記サーバから取得し、取得した前記第2行動パターンに適合するユーザの行動を前記スケジュール情報から抽出し、
前記表示部は、前記適合判定部により抽出されたユーザの行動に関する情報を表示する、請求項4に記載の行動パターン解析システム。
【請求項6】
前記サーバは、
前記現在地情報取得部により取得された現在地の情報、及び前記第1行動パターン検出部により検出された第1行動パターンを前記受信部により受信し、当該現在地の情報及び当該第1行動パターンの履歴を前記記憶部に格納する位置情報蓄積部と、
前記位置情報蓄積部により前記記憶部に蓄積された前記現在地の情報及び第1行動パターンの履歴を用いてユーザが停留する時間の長い場所をクラスタリングし、前記各場所の停留確率、及び前記場所間の移動確率を算出するクラスタリング部と、
を有し、
前記行動予測部は、前記クラスタリング部により算出された停留確率及び移動確率に基づいて前記次にユーザが行う第2行動パターンを予測する、請求項5に記載の行動パターン解析システム。
【請求項7】
前記行動パターン解析システムには、複数の前記携帯端末が含まれており、
前記サーバは、
所定の時間に通知すべき通知情報と、所定の前記第2行動パターンとを対応付けて記憶する通知情報記憶部と、
前記所定の時間になったときに前記受信部により前記各携帯端末から受信された前記建造物の情報及び第1行動パターンに基づいて前記第2行動パターン検出部により検出された第2行動パターンを参照し、前記所定の第2行動パターンと同じ第2行動パターンに対応する携帯端末に対して前記通知情報を通知する情報通知部と、
をさらに有する、請求項1に記載の行動パターン解析システム。
【請求項8】
前記情報通知部は、前記所定の第2行動パターンと同じ第2行動パターンに対応する携帯端末の数をカウントし、当該携帯端末の数が所定数以上である場合に、前記複数の携帯端末の全てに前記通知情報を通知する、請求項7に記載の行動パターン解析システム。
【請求項9】
ユーザの動きを検知して動き情報を出力する動きセンサと、
現在地の情報を取得する現在地情報取得部と、
前記現在地情報取得部により取得された情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、
前記動きセンサから出力された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出部と、
前記建造物情報取得部により取得された建造物の情報、及び前記第1行動パターン検出部により検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出部と、
を備える、携帯端末。
【請求項10】
前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備え、
前記建造物の情報と前記第2行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第1行動パターンと前記時間の情報との組み合わせ毎に設けられており、
前記第2行動パターン検出部は、
前記第1行動パターン検出部により検出された第1行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、
選択した前記スコアマップから前記建造物情報取得部により取得された前記現在地に存在する建造物の情報に対応するスコアの組を抽出し、
抽出した前記スコアの組の中で最大のスコアに対応する前記第2行動パターンを検出する、請求項9に記載の携帯端末。
【請求項11】
前記現在地情報取得部により現在地の情報が取得された時点における時間の情報を取得する時間情報取得部をさらに備え、
前記建造物の情報と前記第2行動パターンとの組み合わせ毎にスコアを割り当てたスコアマップが前記第1行動パターンと前記時間の情報との組み合わせ毎に設けられており、
前記建造物情報取得部は、前記現在地及び現在地周辺に存在する建造物の情報として、当該建造物の分類種別及び当該分類種別毎の建造物数を取得し、
前記第2行動パターン検出部は、
前記第1行動パターン検出部により検出された第1行動パターン及び前記時間情報取得部により取得された時間の情報に基づいて前記スコアマップを選択し、
選択した前記スコアマップから前記建造物情報取得部により取得された前記各分類種別に対応するスコアの組を抽出し、
前記各分類種別に対応するスコアの組に含まれる各スコアを最大スコアで規格化し、
規格化した前記各分類種別に対応するスコアの組に対し、前記建造物情報取得部により取得された分類種別毎の建造物数に応じて重み付けし、
重み付けした前記各分類種別に対応するスコアを前記第2行動パターン毎に合算し、合算結果が最大となる前記第2行動パターンを検出する、請求項9に記載の携帯端末。
【請求項12】
前記第2行動パターンに対応付けられたアプリケーションを起動するための表示オブジェクトが表示される表示部と、
前記第2行動パターン検出部により検出された第2行動パターンに応じて、当該第2行動パターンに対応付けられたアプリケーションの表示オブジェクトを優先的に前記表示部に表示させる表示制御部と、
をさらに備える、請求項9に記載の携帯端末。
【請求項13】
ユーザの動きを検知して動き情報を出力する動きセンサと、現在地の情報を取得する現在地情報取得部と、を有する携帯端末から、前記動き情報及び前記現在地の情報を受信する受信部と、
前記受信部により受信された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得部と、
前記受信部により受信された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出部と、
前記建造物情報取得部により取得された建造物の情報、及び前記第1行動パターン検出部により検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出部と、
を備える、行動パターン解析サーバ。
【請求項14】
ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得ステップと、
現在地の情報を取得する現在地情報取得ステップと、
前記現在地情報取得ステップで取得された現在地の情報が示す位置に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得ステップと、
前記動き情報取得ステップで取得された動き情報を解析し、比較的短時間にユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出ステップと、
前記建造物情報取得ステップで取得された建造物の情報、及び前記第1行動パターン検出ステップで検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出ステップと、
を含む、行動パターン解析方法。
【請求項15】
ユーザの動きを検知する動きセンサの検知結果を示す動き情報を取得する動き情報取得機能と、
現在地の情報を取得する現在地情報取得機能と、
前記現在地情報取得機能により取得された情報が示す現在地に存在する建造物の情報、又は、当該現在地及び現在地周辺に存在する建造物の情報を取得する建造物情報取得機能と、
前記動き情報取得機能により取得された動き情報を解析し、比較的短時間のユーザが行う行動を分類した複数の第1行動パターンの中から、前記動き情報に対応する第1行動パターンを検出する第1行動パターン検出機能と、
前記建造物情報取得機能により取得された建造物の情報、及び前記第1行動パターン検出機能により検出された第1行動パターンを解析し、比較的長時間にわたりユーザが行う行動を分類した複数の第2行動パターンの中から、当該建造物の情報及び第1行動パターンに対応する第2行動パターンを検出する第2行動パターン検出機能と、
をコンピュータに実現させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30A】
image rotate

【図30B】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35A】
image rotate

【図35B】
image rotate

【図35C】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42A】
image rotate

【図42B】
image rotate

【図42C】
image rotate

【図42D】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate


【公開番号】特開2011−81431(P2011−81431A)
【公開日】平成23年4月21日(2011.4.21)
【国際特許分類】
【出願番号】特願2009−230579(P2009−230579)
【出願日】平成21年10月2日(2009.10.2)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】