(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-07
(45)【発行日】2023-07-18
(54)【発明の名称】行動推定装置、行動推定方法および行動推定プログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20230710BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2020036594
(22)【出願日】2020-03-04
【審査請求日】2022-02-14
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山下 純平
(72)【発明者】
【氏名】熊田 孝恒
【審査官】速水 雄太
(56)【参考文献】
【文献】特開2017-215963(JP,A)
【文献】特開2016-097228(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
ユーザに装着されたセンサの出力するセンサデータを取得する取得部と、
取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルにより、該センサデータに対応する前記潜在変数を特定し、特定した該潜在変数をクラスタに分類する分類部と、
異なる前記クラスタをまたがる直線上の潜在変数の各点で
前記モデルを用いて復元されるセンサデータについて、所定の統計量を算出する算出部と、
算出された前記統計量の前記直線上の点の移動に対応した変化に基づいて、異なる前記クラスタへの分割に寄与する前記統計量を特定する特定部と、
特定された前記統計量を用いて、前記クラスタのそれぞれに対応する前記ユーザの行動を推定する推定部と、
を有することを特徴とする行動推定装置。
【請求項2】
前記センサは、眼球運動を計測することを特徴とする請求項1に記載の行動推定装置。
【請求項3】
前記センサは、さらに頭部の位置および運動を計測することを特徴とする請求項2に記載の行動推定装置。
【請求項4】
確率分布に従う前記潜在変数を用いて、前記モデルを学習により取得する学習部を、さらに備えることを特徴とする請求項1に記載の行動推定装置。
【請求項5】
前記学習部は、前記確率分布の強さを調節するペナルティ項を含む評価関数を用いた学習により、前記モデルを取得することを特徴とする請求項4に記載の行動推定装置。
【請求項6】
前記推定部は、ユーザの行動の種類を示す行動種別と前記統計量との関係を参照して、前記ユーザの行動を推定することを特徴とする請求項1に記載の行動推定装置。
【請求項7】
行動推定装置で実行される行動推定方法であって、
ユーザに装着されたセンサの出力するセンサデータを取得する取得工程と、
取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルにより、該センサデータに対応する前記潜在変数を特定し、特定した該潜在変数をクラスタに分類する分類工程と、
異なる前記クラスタをまたがる直線上の潜在変数の各点で
前記モデルを用いて復元されるセンサデータについて、所定の統計量を算出する算出工程と、
算出された前記統計量の前記直線上の点の移動に対応した変化に基づいて、異なる前記クラスタへの分割に寄与する前記統計量を特定する特定工程と、
特定された前記統計量を用いて、前記クラスタのそれぞれに対応する前記ユーザの行動を推定する推定工程と、
を含んだことを特徴とする行動推定方法。
【請求項8】
ユーザに装着されたセンサの出力するセンサデータを取得する取得ステップと、
取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルにより、該センサデータに対応する前記潜在変数を特定し、特定した該潜在変数をクラスタに分類する分類ステップと、
異なる前記クラスタをまたがる直線上の潜在変数の各点で
前記モデルを用いて復元されるセンサデータについて、所定の統計量を算出する算出ステップと、
算出された前記統計量の前記直線上の点の移動に対応した変化に基づいて、異なる前記クラスタへの分割に寄与する前記統計量を特定する特定ステップと、
特定された前記統計量を用いて、前記クラスタのそれぞれに対応する前記ユーザの行動を推定する推定ステップと、
をコンピュータに実行させるための行動推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動推定装置、行動推定方法および行動推定プログラムに関する。
【背景技術】
【0002】
ユーザに装着した眼球運動センサ等のセンサから取得したセンサデータを用いて、機械学習アルゴリズムによりユーザの行動を推定する技術が知られている。例えば、機械学習アルゴリズムに教師あり学習を利用する場合には、事前に書類整理、電話応答等といった行動種別を定義してモデルの訓練を行い、訓練で得られたモデルを利用する(非特許文献1参照)。この場合には、適切な訓練用データを用意することや、事前に定義した行動種別以外の行動を推定することが困難である。
【0003】
そこで、センサデータを所定のルールで分割した信号を類似度によりクラスタリングして、クラスタから行動を推定する技術が知られている(非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】Andreas Bulling, Jamie A.Ward, Hans Gellersen, Gerhard Troester, “Eye Movement Analysis for Activity Recognition Using Electrooculography”、[online]、2011年4月、IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.33, NO.4、[2020年1月10日検索]、インターネット<URL:https://www.researchgate.net/publication/224130025_Eye_Movement_Analysis_for_Activity_Recognition_Using_Electrooculography>
【文献】Julian Steil, Saarbruecken, Andreas Bulling, “Discovery of Everyday Human Activities From Long-Term Visual Behaviour Using Topic Models”、[online]、UbiComp’15、[2020年1月10日検索]、インターネット<URL:https://perceptual.mpi-inf.mpg.de/files/2015/08/Steil_Ubicomp15.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、センサデータに対して複雑な前処理が必要であり、この前処理によりクラスタリングの精度低下を招く恐れがある。例えば、クラスタから行動を推定する場合には、クラスタの意味を解釈するために、センサデータの特徴を表す統計量を事前に想定して算出する前処理が必要であるが、センサデータの特徴は人が視覚的に容易に把握することは困難である。そのため、不適切な前処理により一部の情報が排除され、クラスタリングの精度が低下する場合がある。
【0006】
本発明は、上記に鑑みてなされたものであって、ユーザに装着したセンサから取得したセンサデータのクラスタリングを、前処理を行うことなく容易かつ適切に行なって、ユーザの行動を推定することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る行動推定装置は、ユーザに装着されたセンサの出力するセンサデータを取得する取得部と、取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルにより、該センサデータに対応する前記潜在変数を特定し、特定した該潜在変数をクラスタに分類する分類部と、異なる前記クラスタをまたがる直線上の各点に対応するセンサデータについて、所定の統計量を算出する算出部と、算出された統計量の直線上の点の移動に対応した変化に基づいて、異なる前記クラスタへの分割に寄与する前記統計量を特定する特定部と、特定された前記統計量を用いて、前記クラスタのそれぞれに対応する前記ユーザの行動を推定する推定部と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、ユーザに装着したセンサから取得したセンサデータのクラスタリングを、前処理を行うことなく容易かつ適切に行なって、ユーザの行動を推定することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態の行動推定装置の概要を説明するための図である。
【
図2】
図2は、本実施形態の行動推定装置の概略構成を例示する模式図である。
【
図3】
図3は、学習部の処理を説明するための図である。
【
図4】
図4は、学習部の処理を説明するための図である。
【
図5】
図5は、算出部および特定部の処理を説明するための図である。
【
図6】
図6は、行動推定処理手順を示すフローチャートである。
【
図7】
図7は、行動推定プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0011】
[行動推定装置の概要]
図1は、本実施形態の行動推定装置の概要を説明するための図である。本実施形態において、まず、ユーザに装着したセンサから出力されたセンサデータが、所定のルールで分割される。例えば、
図1(a)には、眼球運動を表すセンサデータが例示されている。この図において、縦軸は眼球信号の垂直方向または水平方向等の方向を示し、横軸は時間を示す。そして
図1(a)に示すように、眼球運動を示すセンサデータが、所定の期間ごとに分割される。次に、
図1(b)~(c)に示すように、分割された信号が類似度によってクラスタリングされる。
【0012】
そして、本実施形態の行動推定装置は、
図1(d)に示すように、後述する行動推定処理を行うことにより、センサデータの特徴を表す統計量を事前に想定せずに、クラスタリングされた各クラスタの信号の特徴を把握して、各クラスタの意味を解釈する。これにより、行動推定装置は、各クラスタのユーザの行動を推定する。
【0013】
[行動推定装置の構成]
図2は、本実施形態の行動推定装置の概略構成を例示する模式図である。
図1に例示するように、本実施形態の行動推定装置10は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、記憶部14、および制御部15を備える。
【0014】
入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。例えば、出力部12には、後述する行動推定処理の結果が表示される。
【0015】
通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、センサデータを管理する管理装置等と制御部15との通信を制御する。
【0016】
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、行動推定装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。
【0017】
制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、
図1に例示するように、取得部15a、学習部15b、分類部15c、算出部15d、特定部15eおよび推定部15fとして機能する。なお、これらの機能部は、それぞれあるいは一部が異なるハードウェアに実装されてもよい。例えば、学習部15bは、その他の機能部とは異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。
【0018】
取得部15aは、ユーザに装着されたセンサの出力するセンサデータを取得する。例えば、取得部15aは、入力部11あるいは通信制御部13を介して、センサから出力されたセンサデータを管理する管理装置等から、所定の時間ごと等の所定のルールで分割された多数のセンサデータを取得する。取得部15aは、取得したセンサデータを記憶部14に記憶させてもよい。その場合には、後述する学習部15bおよび分類部15cは、処理対象のセンサデータを記憶部14から取得してもよい。
【0019】
ここで、センサとは、例えば、ウェアラブルデバイスに装着され、眼球運動を計測するセンサである。具体的には、センサは、例えば、眼電位を計測する眼電位計である。眼球運動の計測は、ユーザの行動のうち、特にデスク作業に関する行動の推定に有効である。
【0020】
このセンサは、さらに、頭部の位置および運動を計測してもよい。例えば、センサには、眼球が存在する頭部の加速度を計測する加速度センサ、頭部の回転量を計測する回転量センサが含まれていてもよい。その場合には、頭部の位置および運動を表すセンサデータ用に、後述する潜在変数の次元を増やしてもよい。
【0021】
学習部15bは、取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルを学習により取得する。具体的には、学習部15bは、確率分布に従う潜在変数を用いて、モデルを取得する。例えば、学習部15bは、センサデータが3次元の潜在変数で生成されると仮定して、潜在変数とセンサデータとの対応関係を表すモデルを取得する。
【0022】
ここで、
図3および
図4は、学習部15bの処理を説明するための図である。学習部15bが、多くとも3次元すなわち最大3個の連続的な潜在変数を用いることにより、後述する行動推定処理において、
図3に例示するように、各潜在変数を空間上の軸とする、視認可能な潜在空間に、全てのセンサデータに対応する点を同時に描画できる。
【0023】
そして、3つの潜在変数(潜在変数A、B、C)の値の組み合わせをモデルに入力すると、センサデータが出力される。つまり、
図3に示すように、3つの潜在変数A、B、Cのそれぞれを空間上の軸とする潜在空間の各点に対応して、センサデータが生成される。
【0024】
ここで、例えば、潜在変数Aの値を大きくするとセンサデータの振幅が大きくなる場合には、潜在変数Aがセンサデータの振幅を決定していると解釈することができる。さらに潜在変数A、潜在変数B、潜在変数Cの値を組み合わせて変化させ、計測されたセンサデータの特徴のばらつきの大部分を表現することができれば、3つの潜在変数からセンサデータを生成する過程をモデル化することができたと解釈することができる。
【0025】
なお、センサデータは、例えば、水平方向の眼球運動の時系列データとし、1秒間に100Hzで取得される10秒分の時系列データとする。この場合に、センサデータは、1×1000次元のベクトルとして扱うことができる。
【0026】
ここで、
図4に示すように、学習部15bは、例えば、Variational Autoencoderを用いたモデルを取得する。ここで、Variational Autoencoderとは、ニューラルネットワークで構成されたEncoderおよびDecoderを持つ教師なし学習器である。
【0027】
Encoderは、入力信号を、潜在変数をサンプリングするための確率分布のパラメータに写像するネットワークである。本実施形態では、Encoderは、1000次元のセンサデータを入力信号として、パラメータとして平均μ(x)および分散δ(x)を出力する。そして、
図4に示すように、Encoderから出力された3次元の平均μ(x)および分散δ(x)の値から、3次元の潜在変数Zが、正規分布上でランダムにサンプリングされる。
【0028】
また、Decoderは、3次元の潜在変数の値を1000次元の出力に写像するネットワークである。本実施形態では、学習部15bは、Decoderの出力が入力信号を復元するように、誤差逆伝播法等によって学習を行う。これにより、Encoderが入力信号を生成した潜在変数を推定し、Decoderが潜在変数からセンサデータを生成(復元)する過程をモデル化する。
【0029】
なお、学習部15bは、確率分布の強さを調節するペナルティ項を含む評価関数を用いた学習により、モデルを取得してもよい。これにより、行動推定装置10は、どの程度の強さで潜在変数が確率分布に従うかを調整することが可能となる。
【0030】
また、学習部15bの処理は、後述する分類部15cの処理に先立って行われればよい。例えば、学習部15bの処理と分類部15cの処理とが、必ずしも連続して実行されなくてもよい。
【0031】
図2の説明に戻る。分類部15cは、取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルにより、該センサデータに対応する潜在変数を特定し、特定した潜在変数をクラスタに分類する。具体的には、分類部15cは、まず、学習部15bが取得したモデルのEncoderに新たに取得されたセンサデータを入力し、Decoderが復元するセンサデータの元となった潜在変数を推定することにより、センサデータに対応する潜在変数を特定する。
【0032】
次に、分類部15cは、センサデータに対応する潜在変数を、例えばK-means法等により潜在空間上でクラスタリングして、複数のクラスタに分類する。K-means法によれば、各クラスタのセントロイド(中心)が潜在空間のどこに存在するかを確認することができる。
【0033】
また、上述したように、3つの潜在変数による潜在空間は人の目で確認することが可能であるため、潜在空間内に存在するクラスタの数を発見することが可能である。そこで、後述する処理において意味を解釈するクラスタの数を指定することにより、容易にクラスタリングを行うことが可能となる。
【0034】
算出部15dは、異なるクラスタをまたがる直線上の各点に対応するセンサデータについて、所定の統計量を算出する。また、特定部15eは、算出された統計量の直線上の点の移動に対応した変化に基づいて、異なるクラスタへの分割に寄与する統計量を特定する。
【0035】
ここで、
図5は、算出部15dおよび特定部15eの処理を説明するための図である。まず、算出部15dは、潜在空間上で、分類部15cが分類した複数のクラスタをまたがる直線上の複数の点に対応するセンサデータを生成(復元)する。
図5に示す例では、算出部15dは、クラスタ1のセントロイドとクラスタ2のセントロイドとを結ぶ直線上の複数の点について、それぞれに対応するセンサデータを生成している。この直線は、2つのクラスタを分割する分割平面に直交している。
【0036】
なお、算出部15dの処理対象の直線は、2つのクラスタのセントロイド間を結ぶ直線に限定されない。例えば、クラスタの中心から任意の方向に離れた場合等、分析の場面に応じて、潜在空間上で2つのクラスタをまたがる直線を定義することができる。
【0037】
また、算出部15dは、生成した各センサデータについて、イベント、振幅、平均値、加速度等といった所定の代表的な統計量を算出する。このような代表的な統計量は、各センサデータの特徴を要約する統計量ということができる。
図5に示す例では、算出部15dは、代表的な統計量として、統計量A、B、C等を算出している。
【0038】
そして、特定部15eは、各センサデータについて算出された統計量を比較して、直線上の点の移動すなわち潜在変数の値の変化にともなって変化する統計量を特定する。例えば、2つのクラスタのセントロイド間を結ぶ直線により、2つのクラスタのセントロイド間の違いを潜在変数の値の違いと対応させることができる。また、2つのクラスタをまたがる直線上の点の移動に伴って変化する統計量を特定することにより、2つのクラスタへの分割に寄与する統計量を特定することができる。
【0039】
図5に示す例では、2つのクラスタのセントロイド間を結ぶ直線上の移動にともなって統計量Bのみが変化しているため、センサデータに対応する潜在変数のクラスタ1/クラスタ2への分割に寄与する統計量として、統計量Bを特定することができる。
【0040】
このように、潜在変数の直線上での移動にともなってセンサデータに現れた統計量の違いは、直線付近に分布する潜在変数から生成されるセンサデータの特徴の違いを表す。したがって、顕著に変化した統計量が、潜在空間でのクラスタ間の分割に大きく寄与する値と解釈できる。
【0041】
また、本実施形態の行動推定装置10では、複数の代表的な統計量を算出し、その中から顕著に変化するものを特定することにより、容易かつ迅速にクラスタ間で生じるセンサデータの特徴の変化の傾向を把握することが可能となる。このように、無数のセンサデータと無数の統計量との膨大な組み合わせを比較することなく、容易にクラスタ間の分割に寄与する統計量を特定することが可能となる。
【0042】
推定部15fは、特定された統計量を用いて、クラスタのそれぞれに対応するユーザの行動を推定する。具体的には、推定部15fは、特定された統計量により、クラスタ間の分割の意味を解釈する。これにより、推定部15fは、各クラスタの意味を解釈し、各クラスタのユーザの行動を推定する。例えば、推定部15fは、
図5に示した例において、特定部15eが特定した統計量Bが「頭の動きのばらつき」を表している場合には、2つのクラスタは、頭の動きのばらつきの大小で分割されたものと解釈することができる。
【0043】
このように、推定部15fは、クラスタ間の分割の意味を解釈することにより、各クラスタの意味を推測することが可能となる。同様の作業を繰り返すことにより、推定部15fは、各クラスタがユーザのどのような作業を表しているのかを推定することが可能となる。
【0044】
なお、推定部15fは、ユーザの行動の種類を示す行動種別と統計量との関係を参照して、ユーザの行動を推定してもよい。例えば、外部のデータベースの過去事例における行動種別と統計量との既知の関係を参照して、ユーザの行動を推定してもよい。例えば、スマートフォンを利用した作業時に特有なセンサデータの特徴を反映する所定の統計量が既知の場合に、同様の特徴を示すクラスタのセントロイドは同様の作業を表すと推定することができる。これにより、行動推定装置10は、より簡易かつ高精度にユーザの行動を推定することが可能となる。
【0045】
[行動推定処理]
次に、
図6を参照して、本実施形態に係る行動推定装置10による行動推定処理について説明する。
図6は、行動推定処理手順を示すフローチャートである。
図6のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
【0046】
まず、取得部15aが、ユーザに装着された眼球運動等を測定するセンサの出力するセンサデータを取得する(ステップS1)。
【0047】
次に、学習部15bが、最大3個(多くとも3次元)の潜在変数を用いてセンサデータを生成(復元)する過程をモデル化し、学習によりモデルを取得する(ステップS2)。
【0048】
分類部15cが、モデルを用いて、新たに取得されたセンサデータを潜在空間に写像することにより、センサデータに対応する潜在変数を特定する(ステップS3)。また、分類部15cは、特定した潜在変数を潜在空間でクラスタリングを行なって、クラスタに分類する(ステップS4)。
【0049】
次に、算出部15dが、潜在空間の異なるクラスタをまたがる直線上の点に対応するセンサデータを生成する(ステップS5)。また、算出部15dは、生成されたセンサデータについて、所定の代表的な統計量を算出する(ステップS6)。
【0050】
次に、特定部15eが、各センサデータについて算出された所定の代表的な統計量の一覧から、潜在空間の直線上の点の移動に対応して変化する統計量を把握する(ステップS7)。例えば、特定部15eは、顕著に変化する統計量を、2つのクラスタ間の分割に寄与する統計量として特定する。また、推定部15fが、特定された統計量により、クラスタ間の分割の意味を解釈する。
【0051】
推定部15fは、全てのクラスタ間の分割の意味を解釈したかを確認する(ステップS8)。全てのクラスタ間の分割の意味を解釈していない場合には(ステップS8、No)、推定部15fは、ステップS5に処理を戻す。
【0052】
一方、全てのクラスタ間の分割の意味を解釈した場合には(ステップS8、Yes)、推定部15fは、クラスタ間の分割の意味の解釈に基づいて、各クラスタの意味を解釈し、各クラスタのユーザの行動を推定する。これにより、一連の行動推定処理が終了する。
【0053】
以上、説明したように、本実施形態の行動推定装置10において、取得部15aが、ユーザに装着されたセンサの出力するセンサデータを取得する。分類部15cが、取得されたセンサデータを、多くとも3次元の潜在変数を用いて復元するモデルにより、該センサデータに対応する潜在変数を特定し、特定した該潜在変数をクラスタに分類する。算出部15dが、異なるクラスタをまたがる直線上の各点に対応するセンサデータについて、所定の統計量を算出する。特定部15eが、算出された統計量の直線上の点の移動に対応した変化に基づいて、異なるクラスタへの分割に寄与する統計量を特定する。推定部15fが、特定された統計量を用いて、クラスタのそれぞれに対応するユーザの行動を推定する。
【0054】
これにより、行動推定装置10は、センサデータの特徴を表す統計量を事前に想定して算出する前処理を行うことなくクラスタリングを行えるので、クラスタリングの精度低下を抑制することが可能である。このように、行動推定装置10は、ユーザに装着したセンサから取得したセンサデータのクラスタリングを、前処理を行うことなく容易かつ適切に行なって、ユーザの行動を推定することが可能となる。
【0055】
また、センサが眼球運動を計測することにより、行動推定装置10は、ユーザの行動のうち、特にデスク作業を有効に推定することが可能となる。また、センサがさらに頭部の位置および運動を計測することにより、ユーザの行動の推定精度がさらに向上する。
【0056】
また、学習部15bが、確率分布に従う潜在変数を用いて、モデルを学習により取得する。例えば、潜在変数が正規分布に従う場合には、センサデータは、振幅が中程度のものが多く、振幅が大きくなるにつれ、あるいは振幅が小さくなるにつれ、サンプル数が減少する。このように、潜在変数が確率分布に従うことを仮定したことにより、潜在空間上のセンサデータを表す潜在変数の存在が疎になることを防止して、最大3つという少ない数の潜在変数でセンサデータを表現することが可能となる。
【0057】
また、学習部15bは、確率分布の強さを調節するペナルティ項を含む評価関数を用いた学習により、モデルを取得してもよい。これにより、行動推定装置10は、どの程度の強さで潜在変数が確率分布に従うかを調整して、クラスタリングの精度と各クラスタの意味の解釈のしやすさとのバランスを調整することが可能となる。
【0058】
また、推定部15fは、ユーザの行動の種類を示す行動種別と統計量との関係を参照して、ユーザの行動を推定してもよい。これにより、行動推定装置10は、より簡易かつ高精度にユーザの行動を推定することが可能となる。
【0059】
[プログラム]
上記実施形態に係る行動推定装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、行動推定装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の行動推定処理を実行する行動推定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の行動推定プログラムを情報処理装置に実行させることにより、情報処理装置を行動推定装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistant)などのスレート端末などがその範疇に含まれる。また、行動推定装置10の機能を、クラウドサーバに実装してもよい。
【0060】
図7は、行動推定プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
【0061】
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
【0062】
ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。
【0063】
また、行動推定プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した行動推定装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
【0064】
また、行動推定プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
【0065】
なお、行動推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、行動推定プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0066】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0067】
10 行動推定装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
15 制御部
15a 取得部
15b 学習部
15c 分類部
15d 算出部
15e 特定部
15f 推定部