以下、図面とともに教師データ生成装置の実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。また、以下の説明における実施形態は、本発明の具体例であり、特に本発明を限定する旨の記載がない限り、これらの実施形態に限定されないものとする。
図1は、本実施形態に係る教師データ生成装置1を含む健康値推定システム3のシステム構成図である。図1に示す通り、健康値推定システム3は、教師データ生成装置1及び一つ以上の携帯端末2を含んで構成される。教師データ生成装置1と各携帯端末2とは移動体通信ネットワーク等のネットワークによって互いに通信接続され、互いに情報を送受信可能である。
教師データ生成装置1は、携帯端末2を携帯するユーザの健康状態を示す健康値を推定するための推定モデルを教師あり機械学習によって構築する際に利用する、健康値の教師データを生成するサーバ装置である。教師データ生成装置1は、さらに、携帯端末2に蓄積されたログ情報に基づく特徴量と、生成した健康値の教師データとの組から、教師あり機械学習によって推定モデルを構築する。そして、教師データ生成装置1は、携帯端末2に蓄積された新たなログ情報に基づく特徴量を、構築した推定モデルに入力することで、当該携帯端末2を携帯するユーザの健康値を推定する。教師データ生成装置1の詳細については後述する。
携帯端末2は、移動体通信を行う移動体通信端末、スマートフォン、及びノートパソコン等のコンピュータ装置である。携帯端末2は、携帯端末2のユーザによって携帯される。
携帯端末2は、各種センサを備え、センサが定期的又は任意のタイミングで取得したセンサログを蓄積し、蓄積したセンサログを定期的又は任意のタイミングで教師データ生成装置1に送信する。具体的には、携帯端末2はセンサとして、携帯端末2の位置情報(緯度、経度等)のログを取得するGPS(Global Positioning System)、携帯端末2における気圧のログを取得する気圧センサ、携帯端末2における照度のログを取得する照度センサ、及び携帯端末2の加速度(x軸方向成分、y軸方向成分及びz軸方向成分の加速度等)のログを取得する加速度センサを備える。携帯端末2は、センサが取得したセンサログを蓄積する際に、センサログを取得した日時を示す日時情報と、携帯端末2のユーザを識別するユーザIDとを対応付けて蓄積してもよい。
携帯端末2は、携帯端末2の動作に基づく動作ログを定期的又は任意のタイミングで蓄積し、蓄積した動作ログを定期的又は任意のタイミングで教師データ生成装置1に送信する。具体的には、携帯端末2は動作ログとして、携帯端末2にて起動したアプリケーションを識別するアプリケーション識別情報(アプリケーションのパッケージ名等)と起動した日時を示す日時情報とから構成されるアプリ起動ログ、及び携帯端末2の画面をON(点灯)に切り替えた日時を示す日時情報及び携帯端末2の画面をOFF(消灯)に切り替えた日時を示す日時情報から構成される端末ログを蓄積する。携帯端末2は、動作ログを蓄積する際に、携帯端末2のユーザを識別するユーザIDを対応付けて蓄積してもよい。
携帯端末2は、その他に備えるセンサが定期的又は任意のタイミングで取得して蓄積したセンサログ、及び定期的又は任意のタイミングで蓄積したその他の動作ログを、定期的又は任意のタイミングで教師データ生成装置1に送信してもよい。
続いて、教師データ生成装置1の機能の詳細について説明する。図2は、教師データ生成装置1の機能ブロック図である。図2に示す通り、教師データ生成装置1は、ログ情報格納部10、特徴量算出部11、特徴量情報格納部12、クラスタリング部13、クラスタ情報格納部14、健康情報取得部15(健康情報取得部)、動作情報取得部16(動作情報取得部)、教師データ生成部17(教師データ生成部)、推定モデル生成部18、推定モデル格納部19及び健康値推定部20を含んで構成される。
図2に示す機能ブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及び/又はソフトウェアの任意の組み合わせによって実現される。また、各機能ブロックの実現手段は特に限定されない。すなわち、各機能ブロックは、物理的及び/又は論理的に結合した1つの装置により実現されてもよいし、物理的及び/又は論理的に分離した2つ以上の装置を直接的及び/又は間接的に(例えば、有線及び/又は無線)で接続し、これら複数の装置により実現されてもよい。
例えば、教師データ生成装置1は、コンピュータとして機能してもよい。図3は、教師データ生成装置1のハードウェア構成の一例を示す図である。上述の教師データ生成装置1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。教師データ生成装置1のハードウェア構成は、図3に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
教師データ生成装置1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、上述の特徴量算出部11、クラスタリング部13、健康情報取得部15、動作情報取得部16、教師データ生成部17、推定モデル生成部18及び健康値推定部20などは、プロセッサ1001で実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、本実施形態で説明する動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、上述の特徴量算出部11、クラスタリング部13、健康情報取得部15、動作情報取得部16、教師データ生成部17、推定モデル生成部18及び健康値推定部20などは、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本実施形態に係るページング方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。例えば、上述のログ情報格納部10、特徴量情報格納部12、クラスタ情報格納部14及び推定モデル格納部19などは、ストレージ1003で実現されてもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。例えば、上述の健康情報取得部15及び動作情報取得部16などは、通信装置1004で実現されてもよい。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、教師データ生成装置1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以下、図2に示す教師データ生成装置1の各機能ブロックについて説明する。
ログ情報格納部10は、携帯端末2から受信したセンサログ及び動作ログを、ログ情報として格納する。ログ情報格納部10は、ログ情報を、携帯端末2から受信するのではなく教師データ生成装置1の管理者の入力等により予め格納してもよいし、他の装置から受信して格納してもよい。図4〜8は、ログ情報格納部10によって格納された各種のログ情報のテーブル例を示す図である。以下、具体的に説明する。
図4(a)は、ログ情報の一つである測位履歴テーブルのテーブル例を示す図である。測位履歴テーブルは、携帯端末2が備えるGPSが取得した位置情報のログで構成される。図4(a)のテーブル例に示す通り、測位履歴テーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2の位置情報を取得した日時を示す「日時」と、当該位置情報に含まれる緯度を示す「緯度」と、当該位置情報に含まれる経度を示す「経度」とが対応付いている。
図4(b)は、ログ情報の一つである滞留点テーブルのテーブル例を示す図である。滞留点テーブルは、教師データ生成装置1が備える滞留点算出部(不図示)によって、測位履歴テーブルに基づいて算出され、ログ情報格納部10によって格納される。以下、滞留点算出部による算出方法について説明する。まず、測位履歴テーブルから特定のユーザのログ(測位履歴)が取得される(例えば、1ヶ月分のログが取得される)。次に、時間的及び空間的に近い位置情報(測位点)がクラスタリングされ、滞留点が抽出される。次に、各滞留点にID(滞留点ID)が振られる。滞留点の算出については、下記非特許文献2に開示されている。
非特許文献2:西田京介、戸田浩之、倉島健、内山匡,「確率的訪問POI分析:時空間行動軌跡からのユーザモデリング」,マルチメディア、分散、協調とモバイル(DICOMO2013)シンポジウム,平成25年7月
次に、滞留点が空間的にクラスタリングされ、クラスタ(滞在場所)に滞留点IDとは異なるID(滞留点クラスタID)が振られる。滞留点のクラスタリングについては、例えばMean−Shiftクラスタリングが利用される。次に、取得したログに含まれる日時に基づいて、滞在場所に滞在を開始した日時及び滞在を終了した日時が算出される。
図4(b)のテーブル例に示す通り、滞留点テーブルでは、携帯端末2のユーザを識別する「ユーザID」と、上述の通り算出された、当該携帯端末2が滞留している位置情報を示す「滞留点ID」と、上述の通り算出された、当該携帯端末2の滞在場所を示す「滞留点クラスタID」と、上述の通り算出された、当該携帯端末2が滞在場所に滞在を開始した日時を示す「滞在開始日時」と、上述の通り算出された、当該携帯端末2が滞在場所に滞在を終了した日時を示す「滞在終了日時」と、当該滞留点IDが示す位置情報の緯度を示す「緯度」と、当該滞留点IDが示す位置情報の経度を示す「経度」とが対応付いている。
図5(a)は、ログ情報の一つである気圧センサテーブルのテーブル例を示す図である。気圧センサテーブルは、携帯端末2が備える気圧センサが取得した気圧のログで構成される。図5(a)のテーブル例に示す通り、気圧センサテーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2における気圧を取得した日時を示す「日時」と、当該気圧の値(単位はヘクトパスカル)を示す「センサ値」とが対応付いている。
図5(b)は、ログ情報の一つである照度センサテーブルのテーブル例を示す図である。照度センサテーブルは、携帯端末2が備える照度センサが取得した照度のログで構成される。図5(b)のテーブル例に示す通り、照度センサテーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2における照度を取得した日時を示す「日時」と、当該照度の値(単位はルクス)を示す「センサ値」とが対応付いている。
図6は、ログ情報の一つである加速度センサテーブルのテーブル例を示す図である。加速度センサテーブルは、携帯端末2が備える加速度センサが取得した加速度のログで構成される。図6のテーブル例に示す通り、加速度センサテーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2の加速度を取得した日時を示す「日時」と、当該加速度のx軸方向成分の値(単位はメートル毎秒毎秒)を示す「センサ値X」と、当該加速度のy軸方向成分の値(単位はメートル毎秒毎秒)を示す「センサ値Y」と、当該加速度のz軸方向成分の値(単位はメートル毎秒毎秒)を示す「センサ値Z」とが対応付いている。
図7は、ログ情報の一つであるアプリ起動履歴テーブルのテーブル例を示す図である。アプリ起動履歴テーブルは、携帯端末2のアプリ起動ログで構成される。図7のテーブル例に示す通り、起動履歴テーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2にてアプリケーションを起動した日時を示す「日時」と、当該アプリケーションを識別するアプリケーション識別情報を示す「パッケージ名」とが対応付いている。
図8は、ログ情報の一つである端末ON/OFF履歴テーブルのテーブル例を示す図である。端末ON/OFF履歴テーブルは、携帯端末2の端末ログで構成される。図8のテーブル例に示す通り、端末ON/OFF履歴テーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2の画面をON又はOFFに切り替えた日時を示す「日時」と、切り替えた後の状態(ON又はOFF)を示す「項目」とが対応付いている。
図2に戻り、特徴量算出部11は、ログ情報格納部10によって格納されたログ情報に基づいて、各ログ情報の特徴量(行動に関連する特徴量)を算出する。特徴量は、1日の総回数や平均値にて算出してもよい。以下、特徴量算出部11によるログ情報ごとの特徴量の算出方法について具体的に説明する。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「総移動距離」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び日付に対応付いた滞留点が(一つ以上)抽出される。次に、抽出された滞留点間の距離が算出される。例えば、滞留点IDが「1」、「2」及び「3」である3つの滞留点が抽出された場合、滞留点IDが「1」及び「2」の滞留点同士の距離、滞留点IDが「2」及び「3」の滞留点同士の距離が算出される。次に、(指定した日付の)1日分の移動距離の総和が、総移動距離として算出される。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「2地点間の最大移動距離」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び日付に対応付いた滞留点が(一つ以上)抽出される。次に、抽出された滞留点間の距離が算出される。例えば、滞留点IDが「1」、「2」及び「3」である3つの滞留点が抽出された場合、滞留点IDが「1」及び「2」の滞留点同士の距離、滞留点IDが「2」及び「3」の滞留点同士の距離が算出される。次に、滞留点間の最大距離が、2地点間の最大移動距離として算出される。例えば、滞留点IDが「1」及び「2」の滞留点同士の距離と、滞留点IDが「2」及び「3」の滞留点同士の距離とが比較され、距離が長い方が抽出される。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「移動の標準偏差」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び日付に対応付いた滞留点が(一つ以上)抽出される。次に、抽出された滞留点間の距離が算出される。例えば、滞留点IDが「1」、「2」及び「3」である3つの滞留点が抽出された場合、滞留点IDが「1」及び「2」の滞留点同士の距離、滞留点IDが「2」及び「3」の滞留点同士の距離が算出される。次に、全滞留点間の距離が算出された後に、標準偏差が、移動の標準偏差として算出される。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「自宅からの最大距離」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び日付に対応付いた滞留点が(一つ以上)抽出される。次に、自宅の位置情報が予め格納されている自宅テーブルから、自宅の位置情報が取得される。次に、各滞留点と自宅との距離が算出される。次に、算出された距離のうち最大値が、自宅からの最大距離として算出される。なお、自宅の位置情報は、自宅テーブルに予め格納されているとしたが、予め携帯端末2のユーザが入力したものでもよい。また、滞留点テーブルにおける所定期間(例えば1週間)の滞留点のログに基づいて、最も滞在日数が多い滞留点の位置を算出し、算出した位置を自宅の位置情報としてもよい。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「総訪問施設数」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び日付に対応付いた滞留点が(一つ以上)抽出される。次に、滞留点数がカウントされ、カウントされた値が、総訪問施設数として算出される。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「重要施設訪問数」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び特定期間に対応付いた滞留点が(一つ以上)抽出される。次に、滞留点クラスタIDごとに訪問回数がカウントされる。次に、滞留点クラスタIDごとの訪問回数が降順にソートされ、上位N件(Nは所定の件数)が取得され、重要施設と識別される。次に、本特徴量を計算する対象日が設定され(予め設定されていてもよい)、滞留点テーブルにおいて、指定したユーザID及び設定された対象日に対応付いた滞留点が抽出される。次に、抽出された滞留点のうち、識別された重要施設に訪問した数がカウントされ、重要施設訪問数として算出される。
特徴量算出部11は、ログ情報格納部10によって格納された滞留点テーブルに基づいて、特徴量である「新しく訪問した場所数」を算出する。具体的には、まず、滞留点テーブルにおいて、指定したユーザID及び特定期間に対応付いた滞留点が(一つ以上)抽出される。次に、滞留点クラスタIDの重複が削除され、ユニークな滞留点クラスタIDのリストが、既訪問場所リストとして作成される。次に、本特徴量を計算する対象日が設定され(予め設定されていてもよい)、滞留点テーブルにおいて、指定したユーザID及び設定された対象日に対応付いた滞留点が抽出される。次に、抽出された滞留点のうち、作成された既訪問場所リストに含まれる滞留点クラスタIDに含まれない滞留点の数がカウントされ、新しく訪問した場所数として算出される。
特徴量算出部11は、ログ情報格納部10によって格納された気圧センサテーブルに基づいて、特徴量である「気圧平均Q1〜Q4」を算出する。なお、Q1〜Q4は、24時間を6時間ごとに区切った時間帯を示す。すなわち、Q1は0時〜6時、Q2は6時〜12時、Q3は12時〜18時、Q4は18時〜24時を示す。具体的には、まず、気圧センサテーブルにおいて、指定されたユーザID及び日付に対応付いたQ1のセンサ値が取得される。次に、取得されたセンサ値の平均値が算出される。Q2、Q3、Q4についても同様にセンサ値が取得され、取得されたセンサ値の平均値が算出される。算出されたQ1〜Q4のセンサ値の平均値が、気圧平均Q1〜Q4である。
特徴量算出部11は、ログ情報格納部10によって格納された気圧センサテーブルに基づいて、特徴量である「気圧の1日平均」を算出する。具体的には、まず、気圧センサテーブルにおいて、指定されたユーザID及び日付に対応付いたセンサ値が取得される。次に、取得されたセンサ値の平均値が、気圧の1日平均として算出される。
特徴量算出部11は、ログ情報格納部10によって格納された気圧センサテーブルに基づいて、特徴量である「気圧の最大最小の差分、最大値、最小値」を算出する。具体的には、まず、気圧センサテーブルにおいて、指定されたユーザID及び期間に対応付いたセンサ値が取得される。次に、センサ値の最大値及び最小値が抽出される。次に、抽出された最大値と最小値との差が算出される。算出されたセンサ値の最大値と最小値との差、最大値及び最小値が、それぞれ気圧の最大最小の差分、最大値、最小値である。
特徴量算出部11は、ログ情報格納部10によって格納された照度センサテーブルに基づいて、特徴量である「照度平均Q1〜Q4」、「照度の1日平均」及び「照度の最大最小の差分、最大値、最小値」を算出する。算出方法は、それぞれ上述の「気圧平均Q1〜Q4」、「気圧の1日平均」及び「気圧の最大最小の差分、最大値、最小値」の算出方法と同様である(参照先が気圧センサテーブルから照度センサテーブルに変更される)。
特徴量算出部11は、ログ情報格納部10によって格納された加速度センサテーブルに基づいて、特徴量である「歩行時間Q1〜Q4」を算出する。具体的には、まず、加速度センサテーブルにおいて、指定されたユーザID及び日付に対応付いたQ1のセンサ値(センサ値X、センサ値Y、センサ値Z)が取得される。次に、センサ値に基づいてユーザが歩行している時間帯が抽出される。なお、歩行の検出は下記非特許文献3に開示されている従来技術を利用してもよい。Q2、Q3、Q4についても同様にセンサ値が取得され、取得されたセンサ値に基づいてユーザが歩行している時間帯が抽出される。抽出されたQ1〜Q4のユーザが歩行している時間帯が、歩行時間Q1〜Q4である。
非特許文献3:倉沢央、川原圭博、森川博之、青山友紀,「センサ装着場所を考慮した3軸加速度センサを用いた姿勢推定手法」,情報処理学会研究報告ユビキタスコンピューティングシステム 2006(54(2006−UBI−011)),pp15−22
特徴量算出部11は、ログ情報格納部10によって格納されたアプリ起動履歴テーブルに基づいて、特徴量である「メール利用回数Q1〜Q4」を算出する。具体的には、まず、アプリ起動履歴テーブルにおいて、指定されたユーザID及び日付に対応付いたQ1のアプリ起動ログが取得される。次に、予め指定されたパッケージ名に一致するアプリ起動ログのレコード数がカウントされる。ここで例えば、パッケージ名「jp.co.nttdocomo.carriermail」及び「com.android.email」はメールアプリケーションであることを示すリストを予め作成しておくことを想定する。これにより、パッケージ名から特定のアプリケーション(例えば、メールアプリケーションや電話アプリケーションなど)を判定することができる。Q2、Q3、Q4についても同様にアプリ起動ログが取得され、取得されたアプリ起動ログに基づいて予め指定されたパッケージ名に一致するアプリ起動ログのレコード数がカウントされる。カウントされたQ1〜Q4のレコード数が、メール利用回数Q1〜Q4である。
特徴量算出部11は、ログ情報格納部10によって格納されたアプリ起動履歴テーブルに基づいて、特徴量である「電話利用回数Q1〜Q4」を算出する。算出方法は、上述の「メール利用回数Q1〜Q4」の算出方法と同様である。なお、パッケージ名「com.android.incallui」及び「com.android.dialer」は電話アプリケーションであることを示すリストを予め作成しておくことを想定する。
特徴量算出部11は、ログ情報格納部10によって格納された端末ON/OFF履歴テーブルに基づいて、特徴量である「画面ON/OFF回数」を算出する。具体的には、まず、端末ON/OFF履歴テーブルにおいて、指定されたユーザID及び日付に対応付いた画面ON/OFFの端末ログが取得される。次に、取得された端末ログのレコード数がカウントされ、画面ON/OFF回数として算出される。
特徴量情報格納部12は、特徴量算出部11によって算出された各ログ情報の特徴量を特徴量テーブルとして格納する。特徴量テーブルは、ユーザ毎及び日付毎に各ログ情報の特徴量を対応付けてもよい。図9は、特徴量テーブルのテーブル例を示す図である。図9に示すテーブル例の通り、特徴量テーブルでは、携帯端末2のユーザを識別する「ユーザID」と、当該携帯端末2の各ログ情報の対象(算出元)となる日付を示す「日付」と、上述の特徴量算出部11によって算出された各特徴量(「総移動距離」、「2地点間の最大移動距離」、「移動の標準偏差」、…、「電話利用回数Q3」、「電話利用回数Q4」及び「画面ON/OFF回数」)とが対応付いている。
クラスタリング部13は、特徴量情報格納部12によって格納された特徴量テーブルに基づいた情報をクラスタリングし、クラスタリングによって生成された何れかのクラスタに携帯端末2のユーザを割り当てる。以下、クラスタリング部13による処理について具体例を挙げて説明する。まず、図9に示す特徴量テーブルのテーブル例について、「ユーザID」及び「日付」を除くカラムに対して、次元圧縮が適用され、2次元ベクトルに変換される。圧縮手法は、主成分分析及びtSNEなど既存の手法を利用してもよい。図10は、2次元ベクトル(第1成分及び第2成分)に変換された、次元圧縮特徴量テーブルのテーブル例を示す図である。図10に示すテーブル例の通り、次元圧縮特徴量テーブルでは、変換前の特徴量テーブルにおける「ユーザID」及び「日付」と、変換された2次元ベクトルの第1成分を示す「第1成分」と、変換された2次元ベクトルの第2成分を示す「第2成分」とが対応付いている。
次に、次元圧縮特徴量テーブルによって示される2次元ベクトルが、k−means法などの既存のクラスタリング手法でクラスタリングされる。図11は、次元圧縮した特徴量をクラスタリングした結果の例を示す図である。図11に示すクラスタリングした結果の例では、各プロットが各ユーザの1日毎の特徴量を示しており、各プロットが4つのクラスタであるC1〜C4に分類されている。次に、ユーザ毎に、各日付の特徴量がどのクラスタに属しているか集計され、最頻のクラスタにユーザが割り当てられる。クラスタリング部13によるクラスタリングにより、行動(行動特徴)が似ているユーザがクラスタリングされる。
クラスタ情報格納部14は、クラスタリング部13によって割り当てられた携帯端末2のユーザのクラスタを示す所属クラスタ情報を格納する。図12は、所属クラスタ情報を示す所属クラスタテーブルのテーブル例を示す図である。図12に示す通り、所属クラスタテーブルでは、携帯端末2のユーザの識別情報を示す「ユーザID」と、当該ユーザが所属するクラスタの識別情報を示す「所属クラスタ」とが対応付いている。
健康情報取得部15は、ユーザの健康情報(例えば、ユーザの心拍間隔の変動時系列であるRRI(RR Interval)時系列データ(以降、「RRIデータと記す」)などの生体情報、又は憂鬱加減などを示すアンケートデータ)を取得する。より具体的には、健康情報取得部15は、ログ情報格納部10によって格納された、ユーザのRRIデータのうち、指定した区間(所定の区間)のRRIデータを取得する。図13(a)は、2名分のRRIデータの例を示す図である。各推移が各ユーザを示す。図13(a)に示す例の通り、RRIデータは、x軸を計測時間(単位は秒)とし、y軸をRRI(単位はミリ秒)とした2次元グラフで示される。なお、ログ情報格納部10によって格納されたRRIデータは、携帯端末2のユーザのRRIデータであり、当該ユーザが体に装着した専用のセンサから取得し、教師データ生成装置1に送信されたデータである。RRIデータには、RRIを取得した日時を示す日時情報、及びユーザを識別するユーザIDが対応付いている。また、健康情報は、生体情報であるユーザの心拍間隔に限定されず、携帯端末2のユーザの生体又は健康に関するあらゆる情報やアンケートであってもよい。
動作情報取得部16は、健康情報取得部15によってユーザの健康情報を取得した際の、当該ユーザが携帯する携帯端末2の動作を示す動作情報(例えば、携帯端末2の加速度)を取得する。より具体的には、動作情報取得部16は、ログ情報格納部10によって格納された、健康情報取得部15によってユーザのRRIデータを取得した際の、当該ユーザが携帯する携帯端末2の加速度を取得する。例えば、動作情報取得部16は、健康情報取得部15によって所定の区間(所定の開始日時〜所定の終了日時)のユーザのRRIデータが取得された際に、当該ユーザが携帯する携帯端末2の当該所定の区間(当該所定の開始日時〜当該所定の終了日時)の加速度を取得する。ユーザ及び所定の区間の同期を取るため、健康情報取得部15及び動作情報取得部16(並びに後述の教師データ生成部17)は、互いにユーザを識別するユーザID及び所定の区間に関する情報を適宜送受信する。なお、動作情報は、携帯端末2の加速度に限定されず、携帯端末2の動作に関するあらゆる情報であってもよい。
教師データ生成部17は、健康情報取得部15によって取得された健康情報と動作情報取得部16によって取得された動作情報とに基づいて、健康値の教師データを生成する。教師データ生成部17は、健康情報取得部15によって取得された健康情報に基づいて健康値を算出し、算出された健康値を動作情報取得部16によって取得された動作情報に基づいて補正することで健康値の教師データを生成してもよい。算出された健康値は、ユーザの心拍間隔(RRIデータ)に基づく周波数領域(フーリエ変換することで得られる周波数領域)の低周波(低周波成分LF)と高周波(高周波成分HF)とに基づく値であり、ユーザのストレスの状態を示す値である。図13(b)は、LF及びHF成分の例を示す図である。図13(b)に示す通り、RRIデータに基づく周波数領域のパワースペクトルのうち、0.15Hz以下の領域の強度の合計量がLFであり、0.15Hzより大きい領域の強度の合計量がHFである。前述のとおり計算したLFとHFからLF÷HFにより計算した値(LF/HF)を健康値とする。なお、健康値は、携帯端末2のユーザのストレスの状態を示す値に限定されず、携帯端末2のユーザの健康に関する状態を示すあらゆる値であってもよい。
以下では、健康情報取得部15、動作情報取得部16及び教師データ生成部17の具体的な処理内容について図14及び図15に示すフローチャートに基づいて説明する。
図14は、教師データ生成装置1により実行される教師データ生成処理の第1例を示すフローチャートである。第1例は、所定の区間において、加速度が所定の値より大きい場合に健康情報を利用しない(除去する)例である。まず、教師データ生成部17により、算出区間が設定される(ステップS01)。例えば、最終的に1日分(ある日の0:00:00〜23:59:59)の健康値の教師データを生成する場合、最初(1回目)は0:00:00〜0:04:59(5分間。以降、区間である5分間は固定)の算出区間が設定され、後述のループごとに、開始時刻が1秒ずつ後ろにずらされる(2回目は0:00:01〜0:05:00)。S01の次に、教師データ生成部17により算出区間がまだあるか否かが判定される(ステップS02)。S02にて算出区間が無いと判定されると(例えば、上述の例で言うと、算出区間23:55:00〜23:59:59のループが終わった直後)、処理を終了する。
一方、S02にて算出区間があると判定されると、続いて、教師データ生成部17の指示に基づいて健康情報取得部15により、S01にて設定された算出区間のRRIデータが取得される(ステップS03)。次に、教師データ生成部17の指示に基づいて動作情報取得部16により、S01にて設定された算出区間の加速度(S03にて取得したRRIデータに対応する加速度)が取得される(ステップS04)。次に、教師データ生成部17により、S04にて取得した、S01にて設定された算出区間の加速度について、加速度の絶対値が閾値(例えば10m/s2)より大きい部分が所定時間(例えば1分)あるか否かが判定される(ステップS05)。ここで、図16は、加速度と閾値との関係例を示す図である。図16に示す通り、加速度は、x軸を計測時間(単位は秒)とし、y軸を加速度(単位はメートル毎秒毎秒)とした2次元グラフで示され、閾値として10m/s2が太線で示されている。S05では、太線を越えた部分(加速度が10m/s2より大きいか、−10m/s2より小さい部分)が所定時間あるか否かが判定される。
S05にて、大きい部分が所定時間あると判定されると、当該ループを終え、S01に戻る。一方、S05にて、大きい部分が所定時間無いと判定されると、続いて、教師データ生成部17により、S03にて取得された、S01にて設定された算出区間のRRIデータから、LF及びHFを算出した上でLF/HFである健康値が算出される(ステップS06)。S06の処理が終わると、当該ループを終え、S01に戻る。教師データ生成部17(並びに健康情報取得部15及び動作情報取得部16)は、以上の処理(ループ)を、開始時刻を1秒ずつ後ろにずらしながら繰り返し行い、1日分の健康値を算出し、中央値をその日の代表値である、健康値の教師データとして生成する。
なお、S03は、S04とS05の間、又はS05とS06の間に行ってもよい。また、S04は、S02とS03の間に行ってもよい。
図15は、教師データ生成装置1により実行される教師データ生成処理の第2例を示すフローチャートである。第2例は、所定の区間において、加速度が所定の値より大きい場合に補正する例である。まず、教師データ生成部17により、算出区間が設定される(ステップS10)。例えば、最終的に1日分(ある日の0:00:00〜23:59:59)の健康値の教師データを生成する場合、最初(1回目)は0:00:00〜0:04:59(5分間。以降、区間である5分間は固定)の算出区間が設定され、後述のループごとに、開始時刻が1秒ずつ後ろにずらされる(2回目は0:00:01〜0:05:00)。S10の次に、教師データ生成部17により算出区間がまだあるか否かが判定される(ステップS11)。S11にて算出区間が無いと判定されると(例えば、上述の例で言うと、算出区間23:55:00〜23:59:59のループが終わった直後)、処理を終了する。
一方、S11にて算出区間があると判定されると、続いて、教師データ生成部17の指示に基づいて健康情報取得部15により、S10にて設定された算出区間のRRIデータが取得される(ステップS12)。次に、教師データ生成部17の指示に基づいて動作情報取得部16により、S10にて設定された算出区間の加速度(S12にて取得したRRIデータに対応する加速度)が取得される(ステップS13)。次に、教師データ生成部17により、S12にて取得された、S10にて設定された算出区間のRRIデータから、LF及びHFを算出した上でLF/HFである健康値が算出される(ステップS14)。次に、教師データ生成部17により、S13にて取得した、S10にて設定された算出区間の加速度について、加速度の絶対値が閾値(例えば10m/s2)より大きい部分が所定時間(例えば1分)あるか否かが判定される(ステップS15)。
S15にて、大きい部分が所定時間あると判定されると、教師データ生成部17により、S14にて算出された健康値に対して、S13にて取得した、S10にて設定された算出区間の加速度の絶対値の平均で除算される(ステップS16)。すなわち、S16にて、教師データ生成部17により、S14にて算出された健康値が、S13にて取得した加速度に基づいて補正される。S16の処理が終わると、当該ループを終え、S01に戻る。一方、S15にて、大きい部分が所定時間無いと判定されると、当該ループを終え、S01に戻る。教師データ生成部17(並びに健康情報取得部15及び動作情報取得部16)は、以上の処理(ループ)を、開始時刻を1秒ずつ後ろにずらしながら繰り返し行い、1日分の健康値(補正された健康値を含む)を算出し、中央値をその日の代表値である、健康値の教師データとして生成する。
なお、S12は、S13とS14の間に行ってもよい。また、S13は、S14とS15の間に行ってもよい。
図2に戻り、推定モデル生成部18は、特徴量情報格納部12によって格納された特徴量テーブル(携帯端末に蓄積されたログ情報に基づく特徴量のテーブル)と、教師データ生成部17によって生成された健康値の教師データとの組に基づいて、推定モデルを生成(構築)する。図17は、推定モデルの入力となるデータのテーブル例を示す図である。図17に示す通り、推定モデルの入力となるデータのテーブル例は、図9に示す特徴量テーブルのテーブル例のそれぞれのレコードに対して、教師データ生成部17によって生成された健康値(「健康値」カラム)を追記したものである。教師データ生成装置1は、図17の健康値のカラムを教師データ、総移動距離から画面ONOFF回数までのカラムを特徴量として、教師有り機械学習によって、推定モデルを生成する。なお、機械学習の手法としては、例えばSVM、Random Forest、K近傍法、ニューラルネットワークなど、既存の手法を利用してもよい。
推定モデル生成部18は、クラスタ情報格納部14によって格納された(ログ情報に基づいて算出された)所属クラスタ情報にさらに基づいて、ユーザがクラスタリングされたクラスタ毎に推定モデルを生成してもよい。具体的には、推定モデル生成部18は、推定モデルの入力となるデータのうち、所定の所属クラスタに属するユーザのみのデータを所属クラスタ情報に基づいて抽出し、抽出したデータを用いて、教師有り機械学習によって、クラスタ毎に推定モデルを生成する。
推定モデル格納部19は、推定モデル生成部18によって生成された推定モデルを格納する。
健康値推定部20は、ストレスを推定したいユーザの、ストレスを推定したい対象の日の特徴量として、携帯端末2に蓄積されたログ情報に基づく特徴量(特徴量情報格納部12によって格納された特徴量テーブルが示す特徴量)を、推定モデル格納部19によって格納された推定モデルに入力することで、当該携帯端末2を携帯するユーザの健康値を推定する。図18は、入力となる特徴量のテーブル例を示す図である。図18に示す通り、入力となる特徴量のテーブル例は、図9に示す特徴量テーブルのテーブル例の1レコード分の内容と同様である。入力となる特徴量は、予め特徴量情報格納部12によって格納されていてもよいし、任意のタイミングで携帯端末2から受信してもよいし、教師データ生成装置1の管理者や携帯端末2のユーザによって健康値推定部20に入力されてもよい。
次に、本実施形態のように構成された教師データ生成装置1を含む健康値推定システム3の作用効果について説明するが、まずは、背景や従来技術の課題について説明する。
従来、企業において従業員のメンタルヘルスに対する支援が注目されている。メンタルヘルスの状態が悪化したことを早期に検知するには毎日継続的に計測が必要となる。既存のストレスチェックはアンケートによるものが多く、数十問のアンケートに毎日回答することはユーザの負担が大きいことや本人がストレスに気づいていない場合などもあり、自動でストレスを計測・推定できるシステムが有用である。既存の研究では、機械学習を用いて、アンケートで計測できるストレス値を正解データとしてスマートフォンログ(位置情報、加速度、アプリケーション利用ログなど)から生成した特徴量をもとに推定するものがある。しかしながら、アンケートによるストレスの計測では本人が気づいていない場合、計測結果に反映されないため、生体情報(心拍)を正解データとしてストレス値の正解データを作ることが考えられる。ここで、機械学習によりスマートフォンログからストレスを推定するためには、長期間の学習データが必要となる。従来、生体情報をストレスの指標とする場合、短期間(5分間や車の運転中など)の心拍を計測してストレス値をしていた。しかしながら、長期的に日常生活のストレス値を計測する際には、ストレスなど心理的負荷だけでなく、歩行や運動など身体的負荷により心拍データが変動することが想定される。
本実施形態のように構成された教師データ生成装置1を含む健康値推定システム3によれば、取得したユーザの健康情報(携帯端末2のユーザのRRIデータ等の生体情報)と当該ユーザが携帯する携帯端末2の動作を示す動作情報(携帯端末2の加速度等)とに基づいて健康値の教師データが生成される。つまり、ユーザがアンケートに答えた結果等、ユーザによる主観的なデータに基づかず、健康情報と動作情報とに基づいて健康値の教師データが生成されるため、教師あり機械学習においてより適切な教師データを生成することができる。また、健康情報だけでなく、動作情報にさらに基づいて健康値の教師データが生成されるため、より正確な教師データを生成することができる。
また、健康値推定システム3によれば、教師データ生成部17により、健康情報取得部15によって取得された健康情報に基づいて健康値が算出され、算出された健康値が動作情報取得部16によって取得された動作情報に基づいて補正されることで健康値の教師データが生成される。つまり、携帯端末2の動作状態、すなわちユーザの動作状態を考慮した健康値の教師データが生成されるため、より精度の良い健康値の教師データを生成することができる。
また、健康値推定システム3によれば、健康情報はユーザの心拍間隔であり、算出された健康値は、ユーザの心拍間隔に基づく周波数領域の低周波と高周波とに基づく値である。ユーザの心拍間隔に基づく周波数領域の低周波と高周波とに基づく値は、ユーザのストレスの状態を示す値でもあるため、健康値推定システム3により、携帯端末2のユーザのストレスの状態を示す値を推定することができる。
また、健康値推定システム3によれば、動作情報は携帯端末2の加速度である。一般的に、ユーザの心拍間隔は、ユーザの動作状態、例えばユーザの加速度に基づいて変動する。健康値推定システム3によれば、ユーザの加速度でもある携帯端末2の加速度に基づいて健康値が補正されるため、より精度の良い健康値の教師データを生成することができる。
また、健康値推定システム3によれば、推定モデルは、携帯端末2に蓄積されたログ情報に基づいてユーザがクラスタリングされたクラスタ毎に構築される。これにより、例えば携帯端末2のユーザと行動が似ているユーザのクラスタに対して構築される推定モデルを用いて健康値を推定することができるため、より精度の良い健康値を推定することができる。
以上の通り、本実施形態のように構成された教師データ生成装置1を含む健康値推定システム3によれば、加速度センサを用いて運動負荷の影響を除く、または補正して教師データを作成することができる。これにより、身体的負荷による影響を除くことで精度よくストレスを推定することができる。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態は、LTE、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
情報等は、上位レイヤ(または下位レイヤ)から下位レイヤ(または上位レイヤ)へ出力され得る。複数のネットワークノードを介して入出力されてもよい。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
移動通信端末は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
上記の各装置の構成における「手段」を、「部」、「回路」、「デバイス」等に置き換えてもよい。
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。