説明

行動識別装置、行動識別方法、及びプログラム

【課題】行動の識別処理において、効率よく学習用データを収集するとともに、再学習に必要な計算コストを低減し得る、行動識別装置、行動識別方法、及びプログラムを提供する。
【解決手段】行動識別装置100は、ユーザの行動に起因して生成されたセンサデータから、予め行動毎に学習データを用いて構築されている識別器によって、ユーザの行動を識別する、行動識別部20と、識別の結果をユーザに向けて出力し、ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、入出力処理部90と、選択された修正候補の識別に用いられる識別器を参照して、ユーザの行動を識別した識別器を、その構築用の学習データと、センサデータとを用いて、再構築する、識別器構築部60と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの行動に起因して生成されたセンサデータを用いて、ユーザの行動を識別する、行動識別装置、行動識別方法、及びこれらを実現するためのプログラムに関する。
【背景技術】
【0002】
近年、各種センサ(加速度センサ、角速度センサ、心拍センサなど)を装着した携帯端末を用いて、ユーザの日常から、センサデータを収集し、ユーザの行動(歩く、走行、電車乗車中など)を識別する技術が提案されている。例えば、特許文献1及び特許文献2は、それぞれ、人の行動を識別する装置の一例を開示している。
【0003】
具体的には、特許文献1に開示の装置は、まず、加速度データから、それに含まれる姿勢の特徴量と動きの特徴量とを分離し、姿勢、動きそれぞれについてモデル化を行う。次に、特許文献1に開示の装置は、さらに、各モデルと対応する行動との関係を学習し、学習した関係を用いて、人の行動を識別する。
【0004】
また、特許文献2に開示の装置は、人の詳細な行動を識別するため、抽出レベル毎に、複数の認識モジュールを備えている。各認識モジュールは、対応する抽出レベルにおける人の行動を認識するために用いられる。具体的には、特許文献2に開示の装置は、各認識モジュールを用いて、まず、低い抽象レベルの行動を識別し、更に、そのシーケンスから、高い抽象レベルの行動を識別する。
【0005】
また、特許文献1及び特許文献2に開示された装置では、人の行動を識別するために、識別器が構築される。識別器の構築は、決定木、Support Vector Machine、ニューラルネットワーク、及びベイジアンネットワークなどの学習技術を利用し、予め収集されている学習データを学習することによって、行なわれる。なお、学習データは、センサデータと、そのデータを計測した際の人の行動とを、組としたデータである。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010−207488号公報
【特許文献2】特開2010−213782号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述した特許文献1及び2に開示された装置を用いれば、人の行動を容易に識別できるとも考えられるが、これらの装置において、識別器を再構築する際において、次の2つの課題が存在している。
【0008】
第1の課題は、効率良く学習データの収集、再学習が行えないということである。識別精度向上のためには、継続的に効率良く学習データの収集、再学習が必要であるのに対して、特許文献1及び特許文献2は、単に、予め学習用データを収集しておく旨しか開示しておらず、継続的に効率良く学習データを収集するための手法を開示していないからである。
【0009】
一般に、高精度な識別器を構築するためには、再構築の場合を含め、様々な環境での学習データが大量に必要となるが、開発者が事前にすべての環境を網羅した学習データを用意することは困難である。
【0010】
そのため、高精度に行動を識別するためには、ユーザ毎に、各ユーザに適応した識別器を構築しておくことが考えられるが、日常行動のなかで学習データを収集するのは、ユーザにとって非常に面倒である。具体的には、ユーザが、日常行動において歩いている、走っているなどを逐次記録していくことは、ユーザにとって非常に面倒な作業である。また、識別対象となる行動が多い場合には、記録間違いが起きる可能性が高くなってしまう。これらの点から、継続的に効率良く学習データを収集するのは、困難である。
【0011】
第2の課題は、識別器を再構築するためには、大きな計算コストがかかるということである。つまり、各ユーザに適応するためには、識別器を頻繁に再構築する必要があるが、一般に学習技術を用いた識別器の構築には、多くの計算が必要となり、計算コストが増大する。また、このため、頻繁に識別器を再構築すること、更には、計算能力の低い携帯端末上で識別器を構築して識別処理を行うことは、困難である。
【0012】
[発明の目的]
本発明の目的の一例は、上記問題を解消し、行動の識別処理において、効率よく学習用データを収集するとともに、再学習に必要な計算コストを低減し得る、行動識別装置、行動識別方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明の一側面における行動識別装置は、ユーザの行動に起因して生成されたセンサデータを用いて、前記ユーザの行動を識別する装置であって、
予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、行動識別部と、
前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、入出力処理部と、
選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、識別器構築部と、を備えていることを特徴とする。
【0014】
また、上記目的を達成するため、本発明の一側面における行動識別方法は、ユーザの行動に起因して生成されたセンサデータを用いて、前記ユーザの行動を識別するための方法であって、
(a)予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、ステップと、
(b)前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、ステップと、
(c)選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、ステップと、を有することを特徴とする。
【0015】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、ユーザの行動に起因して生成されたセンサデータを用いて、コンピュータによって、前記ユーザの行動を識別するためのプログラムであって、
前記コンピュータに、
(a)予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、ステップと、
(b)前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、ステップと、
(c)選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、ステップと、を実行させることを特徴とする。
【発明の効果】
【0016】
以上のように、本発明によれば、行動の識別処理において、効率よく学習用データを収集するとともに、再学習に必要な計算コストを低減することができる。
【図面の簡単な説明】
【0017】
【図1】図1は、センサが加速度センサである場合のセンサデータの一例を示す図である。
【図2】図2は、本発明の実施の形態1における行動識別装置の構成を示すブロック図である。
【図3】図3は、本発明の実施の形態1において、識別器記憶部が格納している識別器及び学習データの一例を示す図である。
【図4】図4(a)及び(b)は、それぞれ、本発明の実施の形態1においてユーザに提示される識別結果の一例を示す図である。
【図5】図5(a)及び(b)は、それぞれ、本発明の実施の形態1において行動モデル記憶部が記憶している行動モデルの一例を示す図である。
【図6】図6は、本発明の実施の形態1において行動モデル記憶部が記憶している情報の一例を示す図である。
【図7】図7(a)及び(b)は、それぞれ、ユーザに提示される修正候補の一例を示す図である。
【図8】図8は、本発明の実施の形態1において修正候補記憶部が格納しているデータの一例を示す図である。
【図9】図9は、本発明の実施の形態1における行動識別装置のセンサデータ取得処理の際の動作を示すフロー図である。
【図10】図10は、本発明の実施の形態1における行動識別装置の行動識別処理の際の動作を示すフロー図である。
【図11】図11は、本発明の実施の形態1における行動識別装置の識別器再構築処理の際の動作を示すフロー図である。
【図12】図12は、本発明の実施の形態2における行動識別装置の構成を示すブロック図である。
【図13】図13は、本発明の実施例1における識別結果の一例を示す図である。
【図14】図14は、本発明の実施例2における識別器再構築処理の概念を説明するための図である。
【図15】図15は、本発明の実施例3において修正候補記憶部が格納しているデータの一例を示す図である。
【図16】図16は、本発明の実施の形態2における行動識別装置105を実現するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【0018】
(用語解説)
はじめに、本発明の実施の形態1及び2の内容を説明する前に、本発明で取り扱う「行動」、「センサデータ」、「識別器」といった用語について以下に説明する。
【0019】
本発明において「行動」とは、ユーザの行動、姿勢、及び状態を総称したものであり、例えば、「停まる」、「歩く」、「走る」、「座る」、「階段を昇る」、「階段を降りる」、「しゃがむ」、「寝ている」、「電車に乗っている」等が挙げられる。
【0020】
本発明において「センサデータ」とは、ユーザが保持するセンサから、出力されたデータである。つまり、センサデータは、ユーザの行動に起因して生成され、ユーザの行動を識別するために用いられる。また、本発明においてセンサデータは、センサから直接出力されたアナログデータであっても良いし、デジタル処理された後のデジタルデータであっても良い。センサデータに基づいて、加速度等の計測値が得られる。更に、本発明において、センサは、ユーザの身体に取り付けられていても良いし、ユーザが所持している携帯端末(携帯電話、スマートフォン等)に備えられていても良い。
【0021】
ここで、センサデータの具体例について図1を用いて説明する。図1は、センサが加速度センサである場合のセンサデータの一例を示す図である。図1の例では、加速度センサは、ユーザが保持する携帯端末に備えられている。また、図1の例では、センサデータは、加速度センサから、100ms間隔で出力されている。更に、図1の例では、横軸は、基準時からの経過時間を表している。縦軸は、センサデータの出力レベルではなく、出力レベルに基づいて検出された物理量、即ち、加速度を表している。
【0022】
また、図1に示すように、センサデータに対しては、現在時刻を基準とした過去一定期間までの時間窓が設定される。そして、その時間窓内のセンサデータに対して、分散及び平均等の統計処理、フーリエ変換による周波数解析処理等が実行され、これらの処理結果に基づいて、行動を識別するための特徴量が求められる。その後、識別器が、求められた特徴量を用いてユーザの行動を識別する。
【0023】
本発明において「識別器」とは、センサデータを用いて、ユーザの行動識別処理を実行するプログラムモジュールである。識別器は、携帯電話等の端末装置、コンピュータ等で動作するプログラムとして、または、プログラムに組み込まれるクラス及びDLL(dynamic link library)のいずれかとして、実装される。
【0024】
また、識別器は、ユーザの行動毎に用意され、識別結果として、各行動かどうかを表す評価値、又は各行動の「らしさ」をあらわす評価値を出力する。例えば、「歩く」行動に対して、決定木を用いて識別器が構築されている場合、この識別器はセンサデータに対して、「歩く」又は「歩くではない」を出力する。また、「歩く」行動に対して、ベイジアンネットワークを用いて識別器が構築されている場合、識別器は、センサデータに対して、「歩く」らしさをあらわす評価値として、確率を出力する。
【0025】
また、本発明において、識別器は、センサデータが取得されている間、定期的に、識別処理を実行し、逐次識別結果を出力する。なお、本発明は、識別器を再構築するための学習データの収集、再構築された識別器の選択、等に関し、本発明において、識別器の実装方法は特定に限定されるものではない。
【0026】
(実施の形態1)
以下、本発明の実施の形態1における、行動識別装置、行動識別方法、及びプログラムについて、図2〜図8を参照しながら説明する。
【0027】
[装置構成]
最初に、本実施の形態1における行動識別装置の構成を、図2を用いて説明する。図2は、本発明の実施の形態1における行動識別装置の構成を示すブロック図である。
【0028】
図2に示す本実施の形態1における行動識別装置100は、ユーザの行動に起因して生成されたセンサデータを用いて、ユーザの行動を識別する装置である。図2に示すよう、行動識別装置100は、行動識別部20と、入出力処理部90と、識別器構築部60とを備えている。なお、以降においては、説明の便宜上、1度の行動識別処理を中心に説明が行なわれるが、本実施の形態1において、行動識別処理の回数、及び実行タイミングは、特に限定されるものではない。
【0029】
行動識別部20は、識別器によって、センサデータから、ユーザの行動を識別する。識別器は、上述したように、予め行動毎に、学習データを用いて構築されている。
【0030】
入出力処理部90は、識別の結果をユーザに向けて出力する。そして、入出力処理部90は、ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる。
【0031】
識別器構築部60は、選択された修正候補の識別に用いられる識別器を参照して、ユーザの行動を識別した識別器を、その構築用の学習データと、センサデータとを用いて、再構築する。
【0032】
このように、本実施の形態1では、識別結果が間違っている場合において、修正候補を絞り込んでユーザに提示できるので、簡単に修正内容が特定される。このため、本実施の形態1によれば、識別器の再構築に必要な学習用データを即座に特定でき、学習用データの収集を効率良く行なうことが可能となる。また、本実施の形態1によれば、再構築が必要な識別器が特定され、全ての識別器を再構築する必要がないため、再学習に必要な計算コストの低減も図られる。
【0033】
ここで、図2に加えて、図3〜図7を用いて本実施の形態1における行動識別装置100の構成を更に具体的に説明する。
【0034】
図2に示すように、本実施の形態1においては、行動識別装置100は、センサ102を備えた携帯端末101の内部に構築されている。具体的には、携帯端末101は、アプリケーションプログラムを実行可能なコンピュータを備えた、携帯電話、スマートフォン、タブレット型端末等である。行動識別装置100は、携帯端末101に、コンピュータにアプリケーションプログラムを実行させることによって構築されている。このアプリケーションプログラムが、後述する本実施の形態1におけるプログラムである。
【0035】
また、図2に示すように、本実施の形態1においても、センサデータを出力するセンサ102は、携帯端末101に備えられている。センサ102としては、加速度センサ、角速度センサ、速度センサ、GPS(Global Positioning System)モジュール等が挙げられる。また、携帯端末101は、種類の異なる複数のセンサを備えていても良い。なお、以降においては、センサ102として、加速度センサが用いられる場合について説明する。
【0036】
また、図2の例では、センサ102は、携帯端末101に内蔵されているが、本実施の形態1はこれに限定されるものではない。センサ102は、携帯端末101に接続された別の機器、例えば、玩具、健康器具等に備えられていても良い。また、本実施の形態1では、センサ102が単独で、ユーザに直接取り付けられていても良い。
【0037】
また、図2に示すように、各携帯端末101は、センサ102の他に、ディスプレイ装置103と、入力部104とを備えている。このうち、入力部106は、テンキー、タッチパネル等の入力機器であり、ユーザによる操作を受け付け、受け付けた操作を行動識別装置100に入力する。
【0038】
行動識別装置100は、行動識別部20、入出力処理部90、及び識別器構築部60に加えて、センサデータ取得部10と、修正候補記憶部40と、行動モデル記憶部50と、識別器記憶部80とを備えている。
【0039】
センサデータ取得部10は、行動識別装置100の起動中、センサ102から、連続的にセンサデータを取得し、取得したセンサデータを行動識別部20に出力する。また、本実施の形態1では、センサデータ取得部10は、例えば、10ms毎に、センサデータを取得する。
【0040】
本実施の形態1では、センサデータ取得部10は、取得したセンサデータを、一旦、バッファに記憶することもできる。なお、この場合、バッファは、行動識別装置100を構築するコンピュータ(図1において図示せず)に備えられた、メモリ、ハードディスクなどの記憶装置の記憶領域上に作成される。
【0041】
識別器記憶部80は、各種の行動毎に、その行動を識別する識別器と、この識別器を構築する際に使用した学習データとを格納している。図3は、本発明の実施の形態1において、識別器記憶部が格納している識別器及び学習データの一例を示す図である。
【0042】
図3に示すように、各行動と、その行動を識別する識別器と、識別器を構築する際に使用した学習データとが、互いに関連付けられて記憶されている。図3の例では、「停止」行動に対して、「MOD_STOP」という名前の識別器が対応付けられている。更に、「MOD_STOP」は、「STOP_DATA」という識別子で管理された学習データを用いて構築されている。
【0043】
行動識別部20は、本実施の形態1では、まず、センサデータ取得部10が取得したセンサデータに対して、識別器記憶部80が記憶する各識別器を適用する。これにより、各識別器は、センサデータに対して、当該センサデータが、対応する行動に該当するか否かを示す信号、又は対応する行動についての評価値を出力する。例えば、あるセンサデータに対して、「停止」を識別する識別器が適用されたとすると、当該識別器は、このセンサデータが停止に該当するかどうかを識別し、識別結果を示す信号を出力する。
【0044】
入出力処理部90は、本実施の形態1では、識別結果提示部30と修正候補設定部70とを備えている。このうち、識別結果提示部30は、行動識別部20が各行動の識別器によって識別した識別結果を、ディスプレイ装置103の画面に表示させて、ユーザに提示する。
【0045】
図4(a)及び(b)は、それぞれ、本発明の実施の形態1においてユーザに提示される識別結果の一例を示す図である。図4(a)の例では、識別結果21は、ユーザに提示されている現在の識別結果を示している。識別結果21には、更に、ユーザの行動等に基づいて検索された「おすすめ情報」も提示されている。また、図4(b)の例では、識別結果22は、現在だけでなく、最近の設定期間内の識別結果を示している。識別結果22が提示されると、ユーザは、最近の行動を確認することができる。なお、図4(a)において、23は後述する「間違いボタン」である。
【0046】
また、図4(a)及び(b)の例では、行動識別部20による識別結果が、直接表示されているが、本実施の形態1では、識別結果は他の態様によって表示されていても良い。例えば、行動識別部20が、「電車」、「停止」という識別結果を出力した場合に、識別結果提示部30は、人が電車で座っている状態を表すアイコンを表示しても良い。
【0047】
更に、行動識別部20が、例えば、「新幹線」、「電車」、「停止」という識別結果を出力した場合に、識別結果提示部30は、このうちの「新幹線」のみを選択して表示することもできる。つまり、本実施の形態1では、識別結果提示部30は、行動識別装置100が提供するサービスに応じて、識別結果を選択し、選択した識別結果のみをユーザに提示しても良いし、選択した識別結果を組み合わせた状態で提示しても良い。
【0048】
また、識別結果提示部30は、ユーザが識別結果を誤りとしない場合は、逐次、識別結果を提示し続けるが、ユーザが識別結果を誤りとした場合は、識別結果を、修正候補設定部70に送信する。
【0049】
修正候補設定部70は、ユーザから識別結果が誤りである旨が入力されると、行動モデル記憶部50が記憶している行動モデル(図5(a)、図5(b)、及び図6参照)を用いて、識別結果に対する修正候補を選択する。また、修正候補設定部70は、選択した修正候補を、ディスプレイ装置103の画面に表示させて、ユーザに選択を促す。
【0050】
図5(a)及び(b)は、それぞれ、本発明の実施の形態1において行動モデル記憶部が記憶している行動モデルの一例を示す図である。図5(a)は、全身運動に関する行動モデル51の一例を示し、図5(b)は、乗り物に関する行動モデル52の一例を示している。また、行動モデル51及び52では、各行動の主従関係が示されている。
【0051】
例えば、図5(b)に示す行動モデル52では、「乗り物」の種類として「電車」及び「自動車」が示されており、さらに「電車」の下位行動として、「新幹線」、「JR・私鉄」、「地下鉄」が示されている。
【0052】
また、行動モデル記憶部50は、行動モデルに加えて、図6に示す情報も格納している。図6は、本発明の実施の形態1において行動モデル記憶部が記憶している情報の一例を示す図である。図6に示すように、行動モデル記憶部50は、行動モデルに加えて、各行動と対応する識別器との関係53を格納している。図6に示す関係53は、例えば、全身運動カテゴリの歩く(識別器:MOD_WALK)の下位行動として、階段昇(識別器:MOD_UPSTAIRS)が存在することを示している。
【0053】
また、本実施の形態1において、ユーザによる修正候補の選択は、例えば、図4(a)に示す識別結果21において、ユーザが携帯端末101の入力デバイスを用いて、画面上の「間違い」ボタンをクリックすることによって行なわれる。また、図4(b)に示す識別結果22においては、ユーザによる修正候補の選択は、画面上において、ユーザが入力デバイスによって「歩く」を選択することによって行なわれる。そして、ユーザによるこれらの操作が実行された後、修正候補設定部70は、図7(a)及び(b)に示すように、修正候補を提示する。
【0054】
図7(a)及び(b)は、それぞれ、ユーザに提示される修正候補の一例を示す図である。例えば、ユーザが、図4(a)の識別結果21において、間違いボタン23をクリックすると、修正候補設定部70は、図7(a)に示すように、修正候補71を提示する。具体的には、修正候補設定部70は、図5(b)に示す行動モデル52と図6に示す関係53とを参照して、「JR・私鉄」に対して同レベルの行動である「新幹線」及び「地下鉄」を修正候補として抽出し、これらを提示する。なお、修正候補71に含まれる「それ以外」は、「新幹線」及び「地下鉄」のいずれでもない行動であることを示す選択肢である。
【0055】
また、別の例として、ユーザが、図4(b)の識別結果22において、「歩く」を選択すると、修正候補設定部70は、図7(b)に示すように、修正候補72を提示する。具体的には、修正候補設定部70は、図5(a)に示す行動モデル51と図6に示す関係53とを参照して、「歩く」に対して同レベルの行動である「走る」と、「歩く」に対して下位の行動である「階段昇」及び「階段降」とを、修正候補として提示する。なお、修正候補72に含まれる「それ以外」は、図7(a)に示した修正候補71の場合と同様に、「走る」、「階段昇」、「階段降」のいずれでもない行動であることを示す選択肢である。
【0056】
そして、修正候補設定部70は、識別結果と、ユーザが選択した修正候補とを、修正候補記憶部40に出力し、それに格納させる。また、修正候補設定部70は、このとき、識別に用いたセンサデータも、識別結果及び修正候補と共に、修正候補記憶部40に出力し、組みデータとして格納させる(図8参照)。
【0057】
修正候補記憶部40は、識別結果、ユーザが選択した修正候補、及び識別に用いたセンサデータを、一組のデータとして格納する。図8は、本発明の実施の形態1において修正候補記憶部が格納しているデータの一例を示す図である。
【0058】
図8に示すように、本実施の形態1では、修正候補記憶部40は、組データ集合81を格納している。各組データは、識別が実行された時刻(識別時刻)、識別結果、識別結果に対してユーザが選択した修正候補、及び識別に利用したセンサデータのID(センサデータID)で構成されている。なお、図8の例では、識別結果は、識別結果を出力した識別器の名称で表され、修正候補は、修正候補となる行動を識別する識別器の名称で表されている。
【0059】
また、本実施の形態1では、識別器構築部60は、修正候補記憶部40が格納している「識別結果、修正候補、及びセンサデータID」と、識別器記憶部80が格納している「各識別器を構築する際の学習データ」とを用いて、識別器を再構築する。本実施の形態1では、再構築の対象となる識別器は、ユーザの行動を識別した識別器と、修正候補となる行動を識別する識別器とである。
【0060】
また、識別器構築部60は、本実施の形態1では、再構築の開始条件が満たされている場合、例えば、識別処理毎又は一定時間毎に、識別器の再構築を行うことができる。加えて、識別器構築部60は、再構築の開始条件として、修正候補記憶部40に一定数以上の識別器が修正候補として記憶されたことを用いて、識別器の再構築を行うこともできる。
【0061】
後者の場合、例えば、修正候補記憶部40が、図8に示す組みデータ集合70を記憶しているとする。そして、後者の場合において、識別器構築部60は、修正候補記憶部40に、識別結果と修正候補とが同一の組データが、閾値回数(例えば、3回等)以上格納されていることを条件にして、識別結果である識別器と修正候補となる行動の識別器とを再構築することができる。
【0062】
図8の例では、識別器構築部60は、識別結果である「JR・私鉄」を識別する識別器と、修正候補となる行動の「地下鉄」識別器とを再構築する。具体的には、識別器構築部60は、「JR・私鉄」を識別する識別器については、「JR・私鉄」を識別する識別器に利用した「JR・私鉄」の学習データ(「JR_DATA」)に、「JR・私鉄」以外の行動を特定するための学習データとして「DATA3、DATA4、DATA5」のセンサデータを加え、これらに基づいて識別器を再構築する。一方、識別器構築部60は、「地下鉄」を識別する識別器については、「地下鉄」を識別する識別器に利用する「地下鉄」の学習データ(「SUBWAY_DATA」)に、「地下鉄」を識別するための学習データとして「DATA3、DATA4、DATA5」を加え、得られたデータに基づいて識別器を再構築する。
【0063】
また別の再構築の開始条件の例として、以下の第1〜第5の例が挙げられる。第1の例は、識別器構築部60が、現在時刻に近い数件の識別結果と修正候補との組を取得し、その中で最も多い組み合わせの識別結果と修正候補とに対応する識別器を、再構築の対象とする、例である。第2の例は、識別器構築部60が、修正候補が記憶される毎に、識別結果と修正候補とに対応する識別器を再構築する、例である。
【0064】
第3の例は、識別器構築部60が、1日ごとに再構築処理を実行する例である。第4の例は、識別器構築部60が、提示された修正候補の数が一定数以上となった場合(貯まってきた場合)に、再構築処理を実行する例である。第5の例は、識別器構築部60が、ユーザによる明示的な指示に応じて再構築処理を実行する例である。
【0065】
また、本実施の形態1において、識別器構築部60は、識別器の再構築時に参照した識別結果と修正候補との組を、一度参照したことを条件に、修正候補記憶部40から削除することもできる。
【0066】
更に、上述した例では、識別器構築部60は、識別器記憶部80が記憶している識別器毎に、再構築を実行しているが、本実施の形態1は、この例に限定されるものではない。本実施の形態1では、識別器構築部60は、頻繁に修正候補に挙げられる識別器同士を用いて、これらをまとめた識別器を構築することもできる。言い換えると、識別器構築部60は、ユーザの行動を識別した識別器の構築用の学習データと、修正候補となる行動を識別する識別器の構築用の学習データと、センサデータとを用いて、識別結果の行動と修正候補となる行動とに対応する新たな識別器を構築する。
【0067】
例えば、図5(b)に示す行動モデル52と図6に示す関係53とが、行動モデル記憶部50に格納されており、図3に示す識別器及び学習データが、識別器記憶部80に格納されているとする。このときに、JR・私鉄と識別され、ユーザが、地下鉄への修正を頻繁に行なったとする。又は、その逆に、地下鉄と識別され、ユーザが、JR・私鉄への修正を頻繁行なったとする。このような場合、識別器構築部60は、「JR・私鉄」と「地下鉄」との行動をまとめて判定する識別器を構築する。
【0068】
なお、上記の態様については、後述の実施例2において図14を用いて具体的に説明する。また、「JR・私鉄」と「地下鉄」との行動をまとめて判定する識別器は、ユーザの行動が「JR・私鉄・地下鉄」であるのか、「それ以外」であるのかを判定する。
【0069】
そして、上記のように識別器構築部60が識別器を再構築した場合、新たに識別器を構築した場合は、識別器構築部60は、これらを識別器記憶部80に出力し、これに格納させる。
【0070】
[装置動作]
次に、本発明の実施の形態1における行動識別装置100の動作について図9〜図11を用いて説明する。また、本実施の形態1では、行動識別装置100を動作させることによって、行動識別方法が実施される。よって、本実施の形態1における行動識別方法の説明は、以下の行動識別装置100の動作説明に代える。以下の説明においては、適宜図1〜図8を参酌する。
【0071】
また、本形態では、行動識別装置100は、センサデータの取得処理と、行動識別処理及び識別器再構築処理とを並行して実行する。また、行動識別装置100は、開始条件が満たされた場合に、識別器再構築処理を実行する。よって、以下の説明は、処理毎に行なう。
【0072】
[センサデータ取得処理]
最初に、図9を用いて、センサデータ取得処理について説明する。図9は、本発明の実施の形態1における行動識別装置のセンサデータ取得処理の際の動作を示すフロー図である。
【0073】
図9に示すように、まず、センサデータ取得部10は、センサ102から、現在時刻におけるセンサデータを、取得する(ステップA1)。
【0074】
次に、センサデータ取得部100は、ステップA1で取得したセンサデータを、バッファに格納する(ステップA2)。なお、バッファは、本実施の形態1では、行動識別装置100を構築するコンピュータに搭載された記憶装置の記憶領域上に作成される。記憶装置としては、メモリ、ハードディスクなどが挙げられる。
【0075】
ステップA1及びA2の実行によって、現在時刻におけるセンサデータの取得及び格納が終了する。そして、ステップA1及びA2は、例えば、一定時間毎に、順に繰り返し実行されるので、継続してセンサデータが取得される。
【0076】
[行動識別処理]
次に、図10を用いて、行動識別処理について説明する。図10は、本発明の実施の形態1における行動識別装置の行動識別処理の際の動作を示すフロー図である。
【0077】
図10に示すように、まず、行動識別部20は、識別器記憶部80が記憶している識別器を用い、センサデータ取得部10が取得したセンサデータに対して、行動の識別を実行する(ステップB1)。また、ステップB1において、行動識別部20は、識別結果を入出力処理部90に出力する。
【0078】
次に、入出力処理部90において、識別結果提示部30は、行動識別部20が識別した行動(識別結果)を、ディスプレイ装置103の画面に表示させる(ステップB2)。ステップB2により、ユーザに対して識別結果が提示されることになる。また、ステップB2では、入出力処理部90は、ユーザから、入力部104を介して、識別結果が誤りであるかどうかを示す入力を受け付ける。
【0079】
次に、識別結果提示部30は、ユーザによって識別結果が誤りである旨が入力されているかどうかを判定する(ステップB3)。ステップB3の判定の結果、ユーザによって識別結果が誤りである旨が入力されていない場合は、行動識別処理は終了する。
【0080】
一方、ステップB3の判定の結果、ユーザによって識別結果が誤りである旨が入力されている場合は、識別結果提示部30は、識別結果を、修正候補設定部70に送信する。これにより、修正候補設定部70は、行動モデル記憶部50が記憶している行動モデルを用いて、識別結果に対する修正候補を選択し、選択した修正候補を、ディスプレイ装置103の画面に表示させる(ステップB4)。
【0081】
次に、修正候補設定部70は、ユーザが入力部104を介して画面上で修正候補を選択すると、識別結果と選択された修正候補とを組データにして、修正候補記憶部40に出力し、これに格納させる(ステップB5)。また、本実施の形態1では、ステップB5において、修正候補設定部70は、このとき、識別に用いたセンサデータも、組データに加えて、修正候補記憶部40に出力する。
【0082】
また、ステップB1〜B5は、取得されたセンサデータの数だけ、繰り返し実行される。従って、例えば、ユーザによって識別結果が誤りである旨が入力されない場合は、ステップB1〜B3のみが何度も繰り返し実行される。また、ユーザによって識別結果が誤りである旨が入力されると、その度に、修正候補が提示され、修正候補の選択が行なわれる。
【0083】
[識別器再構築処理]
次に、図11を用いて、識別器再構築処理について説明する。図11は、本発明の実施の形態1における行動識別装置の識別器再構築処理の際の動作を示すフロー図である。
【0084】
図11に示すように、まず、識別器構築部60は、再構築の開始条件が満たされているかどうかを判定する(ステップC1)。ステップC1における再構築の開始条件としては、一定時間が経過していること、修正候補記憶部40が記憶する識別結果と修正候補との組の数が閾値を超えたタイミングであること、等が挙げられる。
【0085】
ステップC1の判定の結果、再構築の開始条件が満たされていない場合は、識別器構築部60は、処理を終了する。一方、ステップC1の判定の結果、再構築の開始条件が満たされている場合は、識別器構築部60は、再構築の対象となる識別器を選択する(ステップC2)。例えば、修正候補記憶部40に、識別結果と修正候補とが同一の組データが、閾値回数以上格納されていることが、開始条件となっている場合は、識別器構築部60は、この識別結果の識別器と修正候補の識別器とを再構築の対象とすることができる。
【0086】
次に、識別器構築部60は、選択された識別器を再構築する。(ステップC3)。具体的には、識別器構築部60は、修正候補記憶部40が格納している「識別結果、修正候補、及びセンサデータID」と、識別器記憶部80が格納している「各識別器を構築する際の学習データ」とを用いて、再構築を実行する。
【0087】
次に、識別器構築部60は、再構築した識別器を識別器記憶部80に出力し、これに格納させる(ステップC4)。また、識別器構築部60は、ステップC4の実行後、再度、ステップC1を実行する。ステップC1〜C4は、ステップC1において、再構築の開始条件が満たされていないと判定されるまで、繰り返し実行される。
【0088】
[実施の形態1による効果]
以上のように、本実施の形態1では、識別結果が間違えている場合は、行動モデルを用いて修正候補が絞り込まれ、絞り込まれた修正報補が提示される。よって、ユーザは修正候補のなかから正しい行動を選択するだけで良く、簡単に識別器の再構築のための学習データを特定できる。また、本実施の形態1では、全ての行動に関する識別器を再構築する必要はなく、更に、再構築が必要となる識別器の特定は簡単である。このため、本実施の形態1によれば、行動の識別処理において、効率よく学習用データを収集でき、加えて、再学習に必要な計算コストを低減することができる。
【0089】
[プログラム]
本実施の形態1におけるプログラムは、携帯端末に備えられたコンピュータに、図9に示すステップA1〜A2、図10に示すステップB1〜B5、図11に示すステップC1〜C4を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1における行動識別装置100と行動識別方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、センサデータ取得部10、行動識別部20、入出処理部90、及び識別器構築部60として機能し、処理を行なう。
【0090】
また、本実施の形態1では、修正候補記憶部40、行動モデル記憶部50、及び識別器記憶部80は、携帯端末に備えられたメモリ等の記憶媒体に、これらを構成するデータファイルを格納することによって実現できる。
【0091】
(実施の形態2)
次に、本発明の実施の形態2における、行動識別装置、行動識別方法、及びプログラムについて、図12を参照しながら説明する。図12は、本発明の実施の形態2における行動識別装置の構成を示すブロック図である。
【0092】
図12に示すように、本実施の形態2においては、行動識別装置105は、サーバコンピュータといったネットワークの内部に、本実施の形態2におけるプログラムによって構築されている。また、行動識別装置105は、ネットワーク200を介して、1又は2以上の携帯端末201に接続されている。このため、行動識別装置105は、通信部106を備えている。通信部106は、携帯端末201との間で通信を行なうための通信インターフェイスとして機能する。
【0093】
また、本実施の形態2においても、携帯端末201は、実施の形態1と同様に、携帯電話、スマートフォン等の通信機能を備えた端末である。ネットワーク200の具体例としては、携帯電話網等が挙げられる。
【0094】
更に、本実施の形態2においても、センサデータを出力するセンサ202は、各携帯端末201に備えられている。センサ202としても、実施の形態1と同様に、加速度センサ、角速度センサ、速度センサ、GPS(Global Positioning System)モジュール等が挙げられる。また、携帯端末201は、種類の異なる複数のセンサを備えていても良い。また、センサ202は、携帯端末101に接続された別の機器、例えば、玩具、健康器具等に備えられていても良い。更に、センサ202が単独で、ユーザに直接取り付けられていても良い。
【0095】
また、図12に示すように、各携帯端末201は、センサ202の他に、ディスプレイ装置203と、入力部204と、演算処理部205と、通信部206とを備えている。このうち、通信部206は、ネットワーク200を介して、外部との間でデータの送受信を行なう通信モジュールである。入力部204は、テンキー、タッチパネル等の入力機器であり、ユーザによる操作を受け付け、受け付けた操作を演算処理部205に入力する。
【0096】
演算処理部205は、センサ102から入力されたセンサデータ、入力部204から入力された操作等に対して、演算処理を実行する。例えば、演算処理部205は、センサデータをデジタル信号に変換し、通信部206を介して、行動識別装置105に送信する。また、演算処理部205は、ユーザが入力した操作に応じた処理を行ない、処理結果を、通信部206を介して行動識別装置105に送信する。また、演算処理部205は、行動識別装置105から送信されてきたデータ、ユーザが入力した操作の内容等を、ディスプレイ装置203の画面に表示させる。
【0097】
なお、各携帯端末101の構成は共通であるため、図12においては、1つの携帯端末101についてのみ、内部の機能ブロックが図示されている。
【0098】
また、本実施の形態2において、行動識別装置105を構成する、センサデータ取得部10、行動識別部20、識別器構築部60、及び入出力処理部90は、実施の形態1と同様に動作する。更に、修正候補記憶部40、行動モデル記憶部50、及び識別器記憶部80は、実施の形態1で示したデータと同様のデータを格納している。
【0099】
具体的には、本実施の形態1においても、センサデータ取得部10は、図9に示したステップA1及びステップA2を実行する。但し、ステップA1及びA2は、各携帯端末201に対して行なう必要があるが、全ての携帯端末101に対して一斉に実行されても良いし、携帯端末毎101に順次実行されても良い。
【0100】
また、行動識別部20は、識別器記憶部80を用いて、図10に示したステップB1を実行し、入出力処理部90は、図10に示したステップB2〜B5を実行する。但し、ステップB1〜B5は、携帯端末201毎に実行される。更に、識別器構築部60は、修正候補記憶部60を用いて、ステップC1〜ステップC4を実行する。
【0101】
このように、本実施の形態2においては、センサ202が備えられた携帯端末201から独立して行動識別装置105が構築される。よって、携帯電話201における処理は、実施の形態1に比べて軽減できるため、携帯端末が高い処理能力を備えていなくても良い。また、1つの行動識別装置105が、複数の携帯端末201からのセンサデータを処理するため、システム構築にかかるコストの低減も図られる。
【0102】
また、本実施の形態2におけるプログラムは、サーバコンピュータに、図9に示すステップA1〜A2、図10に示すステップB1〜B5、図11に示すステップC1〜C4を実行させるプログラムであれば良い。このプログラムをサーバコンピュータにインストールし、実行することによって、本実施の形態2における行動識別装置105と行動識別方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、センサデータ取得部10、行動識別部20、入出処理部90、及び識別器構築部60として機能し、処理を行なう。
【0103】
また、本実施の形態2では、修正候補記憶部40、行動モデル記憶部50、及び識別器記憶部80は、サーバコンピュータに備えられたハードディスク等の記憶装置に、これらを構成するデータファイルを格納することによって実現できる。
【0104】
更に、本実施の形態2においては、プログラムを実行するサーバコンピュータは、ネットワークによって互いに接続された複数のコンピュータであっても良い。具体的には、1つのコンピュータによって、センサデータ取得部10、行動識別部20、入出処理部90、及び識別器構築部60が構築され、別のコンピュータによって、修正候補記憶部40、行動モデル記憶部50、及び識別器記憶部80が構築されている態様であっても良い。更に、識別器60、行動識別部20、及び入出力処理部90が、それぞれ別々のコンピュータによって構築されている態様であっても良い。
【0105】
ここで、実施の形態2におけるプログラムを実行することによって、行動識別装置105を実現するコンピュータについて図16を用いて説明する。図16は、本発明の実施の形態2における行動識別装置105を実現するコンピュータの一例を示すブロック図である。
【0106】
図16に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
【0107】
CPU111は、記憶装置113に格納された、本実施の形態1におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態1におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態1におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
【0108】
また、記憶装置113の具体例としては、ハードディスクの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0109】
また、記録媒体120の具体例としては、CF(Compact Flash)及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
【0110】
[適用分野]
次に、本実施の形態1及び2の具体的な適用分野について説明する。
(1)コンテキストアウェアサービス(情報推薦等)
コンテキストアウェアサービスでは、サービスの公開前に、開発者が学習データを収集し、各行動に対する識別器と、識別システムとを構築する。構築された識別システムは、ユーザの行動を識別し、識別結果に基づいて、お店及び施設等の各種情報をユーザに推薦する。
【0111】
そして、ユーザが、推薦される情報は適切でないと感じる場合、システムが識別した行動が間違えている可能性がある。この場合において、識別システムに、本実施の形態1が適用されるとすると、ユーザは、自己の端末等を介して、行動の識別が間違っていることを指摘することができる。
【0112】
また、この場合、識別システムが修正候補を提示するので、ユーザは、修正案を直接入力する必要はなく、その中から正解の行動を選択すれば良い。そして、識別システムは、修正の対象となる行動に関する識別器の再構築を行う。
【0113】
(2)ライフログサービス(運動管理等)
ライフログサービスでも、サービス公開前に、開発者が学習データを収集し、各行動に対する識別器と、識別システムとを構築する。構築された識別システムは、ユーザの行動を識別し、ユーザの日常生活での行動をグラフなどにより可視化する。
【0114】
そして、ユーザが実際は電車に乗っている時間帯において歩いていると表示される等、識別結果が間違っている場合がある。この場合、ユーザは、修正候補を設定する必要があるが、識別システムに、本実施の形態1が適用されるとすると、ユーザは、修正案を直接入力する必要はない。識別システムが修正候補を提示するので、ユーザは、その中から行動を選択すれば良い。そして、識別システムは、修正指示が行われた行動に関する識別器の再構築を行う。
【実施例1】
【0115】
以下、本発明の実施例1について説明する。実施例1は、実施の形態1における行動識別装置100の具体例を示しており、以下に詳細に説明する。また、本実施例1では、図9〜図11それぞれに示した処理毎に、説明を行なう。また、以下の説明においては、適宜、図1、図3〜図11、及び図12を参照する。
【0116】
なお、以下の説明では、センサデータ取得処理、行動識別処理、及び識別器再構築処理が、それぞれ1度だけ実行される場合についての処理が示されているが、実際の実施においては、各処理は、一定時間間隔で繰り返し実行される。
【0117】
また、本実施例1では、行動識別装置100は、図2に示したように、センサ102を備えた携帯端末101の内部に構築されているとする。センサ102は、加速度センサであり、行動識別装置100は、加速度センサから得られたセンサデータを用いて行動を識別し、識別結果を、逐次、携帯端末101のディスプレイ装置103の画面に表示するものとする。
【0118】
[センサデータ取得処理]
本実施例1において、センサデータ取得部10は、例えば、センサデータとして、図1に示す加速度データを一定時間毎に取得する(図9のステップA1参照。)。本実施例では、センサデータ取得部10は、例えば、10ms間隔で加速度データを取得する。
【0119】
また、センサデータ取得部10は、ステップA1で取得した加速度データを、バッファに記憶する(図9のステップA2参照。)。本実施例1では、バッファは、携帯端末101のメモリの記憶領域上に作成されている。
【0120】
[行動識別処理]
行動識別処理では、行動識別部20は、ステップA2でバッファに格納されたセンサデータに対して、識別器記憶部60が記憶している識別器を適用して、ユーザの行動を識別する(図10のステップB2)。本実施例1では、図13に示す識別結果が得られたとする。図13は、本発明の実施例1における識別結果の一例を示す図である。
【0121】
図13の例では、「電車」に関する識別器と「JR・私鉄」に関する識別器とが対象行動である(TRUE)と識別し、それ以外の識別器が対象行動でない(FALSE)と識別している。このため、行動識別部20は、図13に示した識別結果に基づき、識別結果として、「電車」及び「JR・私鉄」を入出力処理部90に出力する。
【0122】
次に、入出力処理部90において、識別結果提示部30は、例えば、図4に示したように、ステップB2で得られた識別結果21を、携帯端末101のディスプレイ装置103の画面に表示する(図10のステップB2)。
【0123】
次に、識別結果提示部30は、ユーザによって「間違いボタン23」(図4(a)参照)が選択されているかどうかを判定する(図10のステップB3)。判定の結果、ユーザによって間違いボタン23が選択されていない場合は、行動識別処理は終了する。一方、ユーザによって間違いボタンが選択されている場合は、識別結果提示部30は、識別結果を、修正候補設定部70に送信する。
【0124】
識別結果が送信されてくると、修正候補設定部70は、行動モデル記憶部50が記憶している行動モデルを用いて、識別結果に対する修正候補を選択し、選択した修正候補を、ディスプレイ装置103の画面に表示させる(図10のステップB4)。
【0125】
例えば、行動モデル記憶部50が、図5(b)に示した行動モデル52を記憶しているとする。行動モデル52は、ツリー構造、又はネットワーク構造で管理されており、識別器間の関係を特定している。具体的には、行動モデル52では、図6に示すように、全身運動のカテゴリにおいて、「歩く(MOD_WALK)」に、「階段昇(MOD_UPSTAIRS)」と「階段降(MOD_DOWNSTAIRS)」とが関連付けられている。
【0126】
よって、修正候補設定部70は、ユーザが「JR・私鉄」について「間違いボタン23」を選択した場合は、「JR・私鉄」と同じレベルの行動を修正候補として提示する。つまり、図5(b)に示した行動モデル52において、「JR・私鉄」の上位行動は「電車」であるので、修正候補設定部70は、その下位行動である「新幹線」と「地下鉄」とを修正候補として提示する。具体的には、修正候補設定部70は、図7(a)に示すように、修正候補71、即ち、「新幹線」、「地下鉄」、「それ以外」をディスプレイ装置103に提示し、ユーザに選択を促す。
【0127】
次に、ユーザがいずれかの修正候補、例えば、地下鉄を選択すると、修正候補記憶部40は、図8に示すように、識別結果と、ユーザが選択した修正候補と、センサデータとを、組データ82として格納する(図10のステップB5)。
【0128】
[識別器再構築処理]
本実施例1において、識別器構築部60は、再構築の開始条件として、修正候補記憶部40が記憶する識別結果と修正候補との組の数が閾値を超えているかどうかを判定し、閾値を超えたタイミングである場合に、識別器の再構築処理を実行する(図11のステップC1)。
【0129】
次に、識別器構築部60は、修正候補記憶部40が記憶している識別結果と修正候補とを用いて、修正すべき識別器を選択する。本実施例1では、識別結果と修正候補とが同一の組データの個数を求め、もっとも個数の多い組データの識別結果及び修正候補に関する識別器を修正対象として選択する(図11のステップC2)。
【0130】
図8の例では、もっとも個数の多い組データは、識別結果が「JR・私鉄」であり、修正候補が「地下鉄」である、組データである。よって、識別器構築部60は、「JR・私鉄」を識別する識別器と、「地下鉄」を識別する識別器とを、再構築の対象として選択する。
【0131】
次に、識別器構築部60は、選択した識別器について、識別器記憶部80が記憶する識別器の学習に利用したセンサデータ(学習データ)と、ステップB1で識別に利用したセンサデータとを用いて、識別器を再構築する(図11のステップC3)。
【0132】
本実施例1では、「JR・私鉄」を識別する識別器については、「JR・私鉄」を識別する識別器の学習に利用したセンサデータ(「JR_DATA」)に、「JR・私鉄」以外の行動を特定するための学習データとして「DATA3、DATA4、DATA5」のセンサデータが加えられて、再構築が行なわれる。
【0133】
同様に、「地下鉄」を識別する識別器については、「地下鉄」を識別する識別器の学習に利用したセンサデータ(SUBWAY_DATA)に、「地下鉄」を識別するための学習データとして「DATA3、DATA4、DATA5」センサのデータが加えられて、識別器が再構築される。
【0134】
その後、識別器構築部60は、再構築した識別器を識別器記憶部80に出力し、これに格納させる(図11のステップC4)。また、識別器構築部60は、ステップC4の実行後、再度、ステップC1を実行する。本実施例1において、ステップC1〜C4は、ステップC1において、再構築の開始条件が満たされていないと判定されるまで、繰り返し実行される。
【0135】
また、本実施例では、再構築の開始条件として、一定期間が経過していること、修正候補記憶部40が記憶する修正候補の数が設定するであること、等を用いることもできる。この場合、識別器構築部60は、例えば、1日毎に、再構築を実行する。また、識別器構築部60は、提示された修正候補の数が一定数以上となった場合に、再構築を実行する。更に、本実施例1では、開始条件として、ユーザによる明示的な指示が入力されたことを用いることもできる。
【0136】
以上のように、本実施例1によれば、行動の識別処理において効率よく学習用データを収集できる。また、本実施例1によれば、再学習に必要な計算コストを低減することもできる。
【実施例2】
【0137】
次に、本発明の実施例2について説明する。実施例2も、実施例1と同様に、実施の形態1における行動識別装置100の具体例を示している。但し、本実施例2では、識別器再構築処理のみが、実施例と異なり、識別器構築部60は、識別器記憶部80が記憶している識別器を以外の識別器を構築する。以下、実施例1との相違点を中心に説明する。
【0138】
[識別器再構築処理]
まず、識別器構築部60は、実施例1と同様に、再構築の開始条件として、修正候補記憶部40が記憶する識別結果と修正候補との組の数が閾値を超えているかどうかを判定し、閾値を超えたタイミングである場合に、識別器の再構築処理を実行する(図11のステップC1)。
【0139】
次に、識別器構築部60は、実施例1と同様に、修正候補記憶部40が記憶している識別結果と修正候補とを用いて、修正すべき識別器を選択する。本実施例2でも、識別結果と修正候補とが同一の組データの個数を求め、もっとも個数の多い組データの識別結果及び修正候補に関する識別器を修正対象として選択する(図11のステップC2)。図8の例では、識別器構築部60は、「JR・私鉄」を識別する識別器と、「地下鉄」を識別する識別器とを、再構築の対象として選択する。
【0140】
次に、識別器構築部60は、実施例1と異なり、識別器記憶部80が記憶する識別器の学習に利用したセンサデータ(学習データ)と、ステップB1で識別に利用したセンサデータとを用いて、識別結果の行動と修正候補となる行動とに対応する新たな識別器を構築する。例えば、本実施例2では、図14に示すように、識別器構築部60は、「JR・私鉄」と「地下鉄」とを区別せず識別する識別器を構築する。図14は、本発明の実施例2における識別器再構築処理の概念を説明するための図である。
【0141】
具体的には、識別器構築部60は、「JR・私鉄」を識別する識別器の学習に利用したセンサデータ(JR_DATA)、と、「地下鉄」を識別する識別器の学習に利用したセンサデータ(SUBWAY_DATA)、と、図8に示す「DATA3、DATA4、DATA5」とを用いる(図3及び図8参照)。このとき、識別器構築部60は、これらを「JR・私鉄・地下鉄」を識別するための学習データとして利用し、「JR・私鉄・地下鉄以外の行動」を特定するための学習データとして、「JR・私鉄・地下鉄以外の行動」を識別する各識別器の学習に利用したセンサデータを利用する。
【0142】
その後、識別器構築部60は、新たに構築した識別器を識別器記憶部80に出力し、これに格納させる(図11のステップC4)。また、本実施例2では、このとき、識別器構築部60は、「JR・私鉄」を識別する識別器と、「地下鉄」を識別する識別器とを、識別器記憶部80から削除する。
【0143】
また、識別器構築部60は、本実施例2でも、ステップC4の実行後、再度、ステップC1を実行する。本実施例2においても、ステップC1において、再構築の開始条件が満たされていないと判定されるまで、繰り返し実行される。
【0144】
以上のように、本実施例2によれば、識別器の再構築だけでなく、識別器の再編成を行なうことができるので、いっそう、行動の識別処理において効率よく学習用データを収集できる。また、本実施例2においても、実施例1と同様に、再学習に必要な計算コストを低減することができる。
【実施例3】
【0145】
次に、本発明の実施例3について説明する。実施例3も、実施例1と同様に、実施の形態1における行動識別装置100の具体例を示している。但し、以下の点で、実施例1と異なっている。以下、実施例1との相違点を中心に説明する。
【0146】
本実施例3では、行動識別装置100は、図1に示したように、ユーザの携帯端末102に接続されたコンピュータ(サーバコンピュータ)によって構築されている。行動識別装置100は、複数のユーザの携帯端末102から、各ユーザにおける修正候補及びその際のセンサデータを収集し、識別器を再構築する。また、本実施例3では、各携帯端末102にも行動識別装置を構築でき、この場合、行動識別装置100は、各携帯端末102に、再構築した識別器を配布することができる。
【0147】
また、本実施例3では、修正候補記憶部40は、サーバコンピュータの記憶装置によって構築されており、各ユーザにおける識別結果及びセンサデータと、修正候補設定部70によって各ユーザに対して設定された修正候補とを取得し、記憶する。
【0148】
具体的には、図15に示すように、修正候補記憶部40は、識別結果と、修正候補と、識別に用いたセンサデータと、ユーザIDとを、互いに関連付けて記憶する。また、図15の例でも、図8の例と同様に、識別結果は、識別結果を出力した識別器の名称で表され、修正候補は、修正候補となる行動を識別する識別器の名称で表されている。図15は、本発明の実施例3において修正候補記憶部が格納しているデータの一例を示す図である。図15において、83は、組データ集合を示し、84は、ユーザの属性を示している。
【0149】
識別器構築部60は、修正候補記憶部40が記憶している識別結果、修正候補、及び識別に利用したセンサデータと、識別器記憶部80が記憶している各識別器を構築する際の学習データと用いて、対象となる識別器を再構築する。但し、その際、本実施例3では、識別器構築部60は、対象となった識別器が行動を識別したユーザの属性を特定し、特定したユーザの属性が設定条件を満たす場合に、対象となった識別器を再構築する。
【0150】
具体的には、識別器構築部60は、ユーザの属性(住所、年齢、性別、利用する路線、勤務地など)を特定し、特定したユーザの属性に基づいて、設定条件が満たされるかどうかを判断し、識別器の再構築に利用する修正候補及びセンサデータを選択する。例えば、図15に示すように、属性84が登録されているとする。そして、属性84において、「大阪府に住んでいる」こと、及び、修正候補が、同じ住所のユーザが選択した修正候補のうち最も多い識別器であることが、識別器の再構築の設定条件であるとする。
【0151】
図15の例の場合、識別器構築部60は、属性84から大阪府に住んでいるユーザはBである判断し、更に、組データ集合83から、ユーザBについての組データのうち、修正候補の数が最も多い組データを特定し、特定した組データにおける識別器を再構築する。つまり、識別器構築部60は、「JR・私鉄」を識別する識別器と、「地下鉄」を識別する識別器とを、再構築の対象とする。なお、本実施例3においても、具体的な再構築の処理は、実施例1と同様であるため、当該処理についての説明は省略する。
【0152】
以上のように、本実施例3によれば、多数のユーザを対象にして、識別器の再構築を行なうことができる。また、その際、ユーザの属性に応じて、再構築に用いる学習データを選択できるので、処理速度の低下も抑制される。また、実施例3を用いた場合も、実施例1で述べた効果が得られる。
【0153】
上述した実施の形態1の一部又は全部は、以下に記載する(付記1)〜(付記18)によって表現することができるが、以下の記載に限定されるものではない。
【0154】
(付記1)
ユーザの行動に起因して生成されたセンサデータを用いて、前記ユーザの行動を識別する装置であって、
予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、行動識別部と、
前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、入出力処理部と、
選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、識別器構築部と、
を備えている、ことを特徴とする行動識別装置。
【0155】
(付記2)
前記識別器構築部が、前記ユーザの行動を識別した識別器に加え、修正候補となる行動を識別する識別器も対象として、前記対象となった識別器それぞれを、当該識別器の構築用の学習データと、前記センサデータとを用いて、再構築する、
付記1に記載の行動識別装置。
【0156】
(付記3)
前記行動間の関係として、上位及び下位の関係が設定されており、
前記入出力処理部が、前記修正候補として、前記識別の結果の行動に対して下位の関係にある行動を選択し、選択した行動を表示する、
付記1または2に記載の行動識別装置。
【0157】
(付記4)
予め行動毎に構築されている前記識別器を格納する、識別器記憶部を備え、
前記識別器記憶部は、前記識別器構築部によって再構築が行なわれた場合に、再構築された識別器を更に格納する、
付記1〜3のいずれかに記載の行動識別装置。
【0158】
(付記5)
前記識別器構築部が、前記ユーザの行動を識別した識別器を再構築する代わりに、
前記ユーザの行動を識別した識別器の構築用の学習データと、前記修正候補となる行動を識別する識別器の構築用の学習データと、前記センサデータとを用いて、前記識別の結果の行動と前記修正候補となる行動とに対応する新たな識別器を構築する、
付記1〜4のいずれかに記載の行動識別装置。
【0159】
(付記6)
前記識別器構築部が、前記対象となった識別器それぞれに対して、当該識別器が行動を識別したユーザの属性を特定し、特定したユーザの属性が設定条件を満たす場合に、当該識別器を再構築する、
付記2に記載の行動識別装置。
【0160】
(付記7)
ユーザの行動に起因して生成されたセンサデータを用いて、前記ユーザの行動を識別するための方法であって、
(a)予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、ステップと、
(b)前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、ステップと、
(c)選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、ステップと、
を有する、ことを特徴とする行動識別方法。
【0161】
(付記8)
前記(c)のステップにおいて、前記ユーザの行動を識別した識別器に加え、修正候補となる行動を識別する識別器も対象として、前記対象となった識別器それぞれを、当該識別器の構築用の学習データと、前記センサデータとを用いて、再構築する、
付記7に記載の行動識別方法。
【0162】
(付記9)
前記行動間の関係として、上位及び下位の関係が設定されており、
前記(b)のステップにおいて、前記修正候補として、前記識別の結果の行動に対して下位の関係にある行動を選択し、選択した行動を表示する、
付記7または8に記載の行動識別方法。
【0163】
(付記10)
(d)予め行動毎に構築されている前記識別器を格納する、ステップを更に備え、
前記(d)のステップにおいて、前記(c)のステップによって再構築が行なわれた場合に、再構築された識別器を更に格納する、
付記7〜9のいずれかに記載の行動識別方法。
【0164】
(付記11)
前記(c)のステップにおいて、前記ユーザの行動を識別した識別器を再構築する代わりに、前記ユーザの行動を識別した識別器の構築用の学習データと、前記修正候補となる行動を識別する識別器の構築用の学習データと、前記センサデータとを用いて、前記識別の結果の行動と前記修正候補となる行動とに対応する新たな識別器を構築する、
付記7〜10のいずれかに記載の行動識別方法。
【0165】
(付記12)
前記(c)のステップにおいて、前記対象となった識別器それぞれに対して、当該識別器が行動を識別したユーザの属性を特定し、特定したユーザの属性が設定条件を満たす場合に、当該識別器を再構築する、
付記8に記載の行動識別方法。
【0166】
(付記13)
ユーザの行動に起因して生成されたセンサデータを用いて、コンピュータによって、前記ユーザの行動を識別するためのプログラムであって、
前記コンピュータに、
(a)予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、ステップと、
(b)前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、ステップと、
(c)選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、ステップと、
を実行させるプログラム。
【0167】
(付記14)
前記(c)のステップにおいて、前記ユーザの行動を識別した識別器に加え、修正候補となる行動を識別する識別器も対象として、前記対象となった識別器それぞれを、当該識別器の構築用の学習データと、前記センサデータとを用いて、再構築する、
付記13に記載のプログラム。
【0168】
(付記15)
前記行動間の関係として、上位及び下位の関係が設定されており、
前記(b)のステップにおいて、前記修正候補として、前記識別の結果の行動に対して下位の関係にある行動を選択し、選択した行動を表示する、
付記13または14に記載のプログラム。
【0169】
(付記16)
(d)予め行動毎に構築されている前記識別器を格納する、ステップを更に前記コンピュータに実行させ、
前記(d)のステップにおいて、前記(c)のステップによって再構築が行なわれた場合に、再構築された識別器を更に格納する、
付記13〜15のいずれかに記載のプログラム。
【0170】
(付記17)
前記(c)のステップにおいて、前記ユーザの行動を識別した識別器を再構築する代わりに、前記ユーザの行動を識別した識別器の構築用の学習データと、前記修正候補となる行動を識別する識別器の構築用の学習データと、前記センサデータとを用いて、前記識別の結果の行動と前記修正候補となる行動とに対応する新たな識別器を構築する、
付記13〜16のいずれかに記載のプログラム。
【0171】
(付記18)
前記(c)のステップにおいて、前記対象となった識別器それぞれに対して、当該識別器が行動を識別したユーザの属性を特定し、特定したユーザの属性が設定条件を満たす場合に、当該識別器を再構築する、
付記14に記載のプログラム。
【産業上の利用可能性】
【0172】
本発明によれば、行動の識別処理において、効率よく学習用データを収集するとともに、再学習に必要な計算コストを低減することができる。本発明は、センサを用いてユーザの行動を識別する分野に有用である。具体的には、携帯電話、玩具、健康器具などの組み込み機器等に取り付けられたセンサからセンサデータを取得し、取得したセンサデータを用いて、見守りサービス、健康サービス、情報推薦サービスといったサービスを提供するシステムに有用である。
【符号の説明】
【0173】
10 センサデータ取得部
20 行動識別部
30 識別結果提示部
40 修正候補記憶部
50 行動モデル記憶部
60 識別器構築部
70 修正候補設定部
80 識別器記憶部
90 入出力処理部
100 行動識別装置(実施の形態1)
101 携帯端末
102 センサ
103 ディスプレイ装置
104 入力部
105 行動識別装置(実施の形態2)
106 通信部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
201 携帯端末
202 センサ
203 ディスプレイ装置
204 入力部
205 演算処理部
206 通信部

【特許請求の範囲】
【請求項1】
ユーザの行動に起因して生成されたセンサデータを用いて、前記ユーザの行動を識別する装置であって、
予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、行動識別部と、
前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、入出力処理部と、
選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、識別器構築部と、
を備えている、ことを特徴とする行動識別装置。
【請求項2】
前記識別器構築部が、前記ユーザの行動を識別した識別器に加え、修正候補となる行動を識別する識別器も対象として、前記対象となった識別器それぞれを、当該識別器の構築用の学習データと、前記センサデータとを用いて、再構築する、
請求項1に記載の行動識別装置。
【請求項3】
前記行動間の関係として、上位及び下位の関係が設定されており、
前記入出力処理部が、前記修正候補として、前記識別の結果の行動に対して下位の関係にある行動を選択し、選択した行動を表示する、
請求項1または2に記載の行動識別装置。
【請求項4】
予め行動毎に構築されている前記識別器を格納する、識別器記憶部を備え、
前記識別器記憶部は、前記識別器構築部によって再構築が行なわれた場合に、再構築された識別器を更に格納する、
請求項1〜3のいずれかに記載の行動識別装置。
【請求項5】
前記識別器構築部が、前記ユーザの行動を識別した識別器を再構築する代わりに、
前記ユーザの行動を識別した識別器の構築用の学習データと、前記修正候補となる行動を識別する識別器の構築用の学習データと、前記センサデータとを用いて、前記識別の結果の行動と前記修正候補となる行動とに対応する新たな識別器を構築する、
請求項1〜4のいずれかに記載の行動識別装置。
【請求項6】
前記識別器構築部が、前記対象となった識別器それぞれに対して、当該識別器が行動を識別したユーザの属性を特定し、特定したユーザの属性が設定条件を満たす場合に、当該識別器を再構築する、
請求項2に記載の行動識別装置。
【請求項7】
ユーザの行動に起因して生成されたセンサデータを用いて、前記ユーザの行動を識別するための方法であって、
(a)予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、ステップと、
(b)前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、ステップと、
(c)選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、ステップと、
を有することを特徴とする行動識別方法。
【請求項8】
ユーザの行動に起因して生成されたセンサデータを用いて、コンピュータによって、前記ユーザの行動を識別するためのプログラムであって、
前記コンピュータに、
(a)予め行動毎に学習データを用いて構築されている識別器によって、前記センサデータから、前記ユーザの行動を識別する、ステップと、
(b)前記識別の結果を前記ユーザに向けて出力し、前記ユーザから識別結果が誤りである旨が入力された場合に、予め設定された行動間の関係に基づいて、修正候補となる行動を表示し、いずれかの行動をユーザに選択させる、ステップと、
(c)選択された前記修正候補の識別に用いられる前記識別器を参照して、前記ユーザの行動を識別した識別器を、その構築用の学習データと、前記センサデータとを用いて、再構築する、ステップと、
を実行させるプログラム。

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


【公開番号】特開2013−41323(P2013−41323A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−175957(P2011−175957)
【出願日】平成23年8月11日(2011.8.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.COMPACTFLASH
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】