以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。
[データ解析システム100の概要]
図1は、データ解析システム100のシステム構成の一例を概略的に示す。本実施形態において、データ解析システム100は、例えば、モデル管理サーバ120を備える。本実施形態において、データ解析システム100は、例えば、通信端末140を備える。本実施形態において、本実施形態において、モデル管理サーバ120は、例えば、測定データ収集部122と、学習モデル生成部124と、ログデータ収集部126と、ユーザ情報収集部128とを有する。本実施形態において、通信端末140は、例えば、センサモジュール142と、判定モジュール144と、モデル更新モジュール146と、入出力モジュール148とを有する。
本実施形態において、モデル管理サーバ120及び通信端末140は、通信ネットワーク10を介して、互いに情報を送受することができる。本実施形態において、通信ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、無線通信の伝送路及び有線通信の伝送路の組み合わせであってもよい。通信ネットワーク10は、無線パケット通信網、インターネット、P2Pネットワーク、専用回線、VPN、電力線通信回線、車車間通信回線、車路間通信回線などを含んでもよい。
通信ネットワーク10は、(i)携帯電話回線網などの移動体通信網を含んでもよく、(ii)無線MAN(例えば、WiMAX(登録商標)である。)、無線LAN(例えば、WiFi(登録商標)である。)、Bluetooth(登録商標)、Zigbee(登録商標)、NFC(Near Field Communication)などの無線通信網を含んでもよい。無線LAN、Bluetooth(登録商標)、Zigbee(登録商標)、及び、NFCは、近距離無線通信の一例であってもよい。
[データ解析システム100の第1の機能]
本実施形態において、データ解析システム100は、例えば、通信端末140に搭載されたセンサモジュール142が測定した各種の物理量に基づいて、通信端末140を利用するユーザ40の移動手段を推定する。移動手段としては、徒歩、ランニング又はジョギング、車両、船舶、飛行体などが例示される。
車両としては、自転車、自動二輪車、自動車、電車などが例示される。自動二輪車としては、(i)バイク、(ii)三輪バイク、(iii)セグウェイ(登録商標)、動力ユニット付きキックボード(登録商標)、動力ユニット付きスケートボードのような、動力ユニットを有する立ち乗り二輪車又は三輪車などが例示される。船舶としては、船、ホバークラフト、水上バイク、潜水艦、潜水艇、水中スクータなどが例示される。飛行体としては、飛行機、飛行船又は風船、気球、ヘリコプター、ドローンなどが例示される。
[データ解析システム100の第2の機能]
本実施形態において、データ解析システム100は、例えば、通信端末140に搭載されたセンサモジュール142が測定した各種の物理量に基づいて、通信端末140を利用するユーザ40の属性を推定する。属性としては、年齢、年代、性別、身長、体重、性格、身体活動レベル、及び、健康状態の少なくとも1つが例示される。
年代は、任意の年齢間隔で区分けされてよい。例えば、年代は、5歳間隔又は10歳間隔で区分けされる。身長は、任意の長さ間隔で区分けされてよい。例えば、身長は、1cm間隔、2.5cm間隔、5cm間隔又は10cm間隔で区分けされる。体重は、任意の重さ間隔で区分けされてよい。例えば、体重は、1kg間隔、2.5kg間隔、5kg間隔又は10kg間隔で区分けされる。
ユーザ40の性格としては、活発な性格、おとなしい性格、落ち着きのある性格、落ち着きのない性格などが例示される。身体活動レベルは、ユーザ40のエネルギー消費量の合計を推定するために用いられる指標であって、(i)ユーザ40の24時間のエネルギー消費の合計を基礎代謝量で割った値として算出されてもよく、(ii)ユーザ40が日常的に行う身体的な活動のリストに基づいて推定されてもよい。例えば、身体活動レベルは3段階、4段階又は5段階に区分けされる。健康状態としては、病気の種類、病気の程度、怪我の種類、怪我の程度、怪我又は病気の患部の部位などが例示される。病気又は怪我の種類としては、うつ病、足の捻挫、足の骨折などが例示される。
ところで、計測装置で記録された対象の動作に基づいて、当該対象の歩行を分析する技術は、歩容解析と称される。対象の歩行に影響を与える要因としては、外部要因、内部要因、身体的要因、心理的要因、生理学的要因、病理学的要因などが例示される。外部要因としては、地形、靴、服、荷物などが例示される。内在要因としては、性別、体重、身長、年齢などが例示される。身体的要因としては、体重、身長、体格などが例示される。心理的要因としては、性格、機嫌などが例示される。生理学的要因としては、人体測定学的特質(例えば、体の各サイズと比率である。)などが例示される。病理学的要因としては、トラウマ、神経疾患、筋骨格的異常又は怪我、精神障害などが例示される。
歩容解析において、(i)対象の歩行パターンを定量化し、(ii)当該歩行パターンから当該対象の年齢、体格(例えば、身長、体重などである)、素早さ、健康状態などの属性を導出することが試みられている。しかしながら、従来の歩容解析においては、歩行に関する計測可能な様々なパラメタを設定して対象の歩行パターンを分析する必要があり、より簡便な手法の開発が望まれている。上記のパラメータとしては、歩幅(例えば、一歩分の歩幅、二歩分の歩幅などである)、リズム、速度、力学的基盤、進行方向、足の角度、腰の角度、しゃがむ能力などが例示される。
この点に関し、本実施形態によれば、例えば、通信端末140に搭載されたセンサモジュール142が測定した各種の物理量から、通信端末140を利用するユーザ40に関する属性を推定するための機械学習により生成された推定モデルを用いて、上記の属性が推定される。これにより、簡便な手法により、ユーザ40の属性が推定され得る。
なお、1以上の推定モデルを用いて、上記の属性の少なくとも1つが推定されてよい。この場合において、1以上の推定モデルのそれぞれは、通信端末140に搭載されたセンサモジュール142が測定した各種の物理量から、通信端末140を利用するユーザ40に関する一の属性を推定するための機械学習により生成されてよい。
また、上述されたとおり、データ解析システム100は、通信端末140に搭載されたセンサモジュール142が測定した各種の物理量に基づいて、通信端末140を利用するユーザ40の移動手段を推定し得る。そこで、例えば、一実施形態において、データ解析システム100は、ユーザ40が徒歩、ランニング又はジョギングにより移動していることが推定された場合に、ユーザ40の属性を推定するための処理を実行する。これにより、歩容解析の精度が向上し、ユーザ40の属性が精度よく推定される。
他の実施形態において、通信端末140に搭載されたセンサモジュール142が測定した各種の物理量により、ユーザ40が徒歩、ランニング又はジョギングにより移動している場所の地形(例えば、地面の傾斜、地面の凹凸の程度などである。)が推定され得る。例えば、センサモジュール142の測定結果に基づいて通信端末140にかかる重力加速度の方向が算出可能である場合、上記の地形が推定され得る。そこで、データ解析システム100は、ユーザ40が徒歩、ランニング又はジョギングにより移動していることが推定され、且つ、ユーザ40が移動している場所の地形が予め定められた種類の地形であると推定された場合に、ユーザ40の属性を推定するための処理を実行してよい。地形の種類としては、平地、坂道、階段などが例示される。これにより、歩容解析の精度がさらに向上し、ユーザ40の属性がさらに精度よく推定される。
本実施形態において、モデル管理サーバ120は、例えば、ユーザ40の移動手段の推定に用いられる学習モデルを管理する。モデル管理サーバ120は、例えば、ユーザ40の属性の推定に用いられる学習モデルを管理する。
本実施形態において、測定データ収集部122は、通信端末140から、通信端末140に搭載されたセンサモジュール142が出力したデータを収集する。測定データ収集部122は、1又は複数(1以上と称される場合がある)のユーザ40が所持する1以上の通信端末140から、各端末に搭載されたセンサモジュール142が出力したデータを収集してよい。
測定データ収集部122は、センサモジュール142が出力したデータと、ユーザ40の識別情報とを対応づけて収集してよい。ユーザ40の識別情報としては、データ解析システム100によりユーザ40に割り当てられた識別情報、任意のサービス提供者によりユーザ40に割り当てられた識別情報、ユーザ40の氏名又は名称、通信端末140の識別情報などが例示される。
測定データ収集部122は、通信端末140から収集されたデータを、学習モデル生成部124に出力してよい。例えば、測定データ収集部122は、センサモジュール142が出力したデータと、ユーザ40の識別情報とが対応付けられた情報を、学習モデル生成部124に出力する。
なお、ユーザ40による通信端末140の所持の態様は、ユーザ40が通信端末140を手に持ったり、ユーザ40が通信端末140を着用したりする態様に限定されない。ユーザ40による通信端末140の所持の態様の他の例としては、(i)ユーザ40が、ユーザ40の着用している服のポケットの中に通信端末140を収容している態様、(ii)ユーザ40が、ユーザ40の携行している鞄の中に通信端末140を収容している態様、(iii)ユーザ40が、ユーザ40の搭乗している車両などの中に通信端末140を置いている態様などが例示される。
本実施形態において、学習モデル生成部124は、機械学習用の学習モデルを生成又は更新する。例えば、学習モデル生成部124は、1以上の通信端末140に搭載されたセンサモジュール142が出力したデータを用いて機械学習を実行し、学習済みの学習モデルを生成又は更新する。
[教師データの取得又は生成]
より具体的には、学習モデル生成部124は、1以上の通信端末140のそれぞれの上で動作するアプリケーションプログラムから、各通信端末に搭載された各種のセンサモジュール142が出力したデータのうち、予め定められた種類のデータを取得する。例えば、上記のアプリケーションプログラムは、通信端末140の振動に関連する物理量を測定するセンサモジュール142が出力した測定結果を示すデータを取得する。通信端末140の振動に関連する物理量としては、通信端末140の加速度、角加速度などが例示される。上記のアプリケーションプログラムは、任意のタイミングで上記のデータを取得してもよく、予め定められた条件を満足するタイミングで上記のデータを取得してもよい。
上記のアプリケーションプログラムは、任意のタイミング又は予め定められた条件を満足するタイミングにおいて、上記の測定結果を示すデータを学習モデル生成部124に送信する。上記のアプリケーションプログラムは、上記の測定結果を示すデータを、通信端末140の識別情報と対応付けて、学習モデル生成部124に送信してもよい。
また、学習モデル生成部124は、1以上の通信端末140のそれぞれの上で動作するアプリケーションプログラムから、各通信端末のユーザにより入力された当該ユーザの属性又は移動手段を示す情報を取得する。学習モデル生成部124は、(i)単一のアプリケーションプログラムから、上記のユーザの属性及び移動手段を示す情報を取得してもよく、(ii)複数のアプリケーションプログラムのうちの1つから上記のユーザの属性を示す情報を取得し、他のアプリケーションプログラムの他から、上記のユーザ移動手段を示す情報を取得してもよい。通信端末140のユーザの属性又は移動手段を示す情報を取得するアプリケーションプログラムは、通信端末140に搭載された各種のセンサモジュール142が出力したデータを取得するアプリケーションプログラムと同一のアプリケーションプログラムであってもよく、異なるアプリケーションプログラムであってもよい。
一実施形態において、学習モデル生成部124は、通信端末140ごとに、上記のセンサモジュール142が出力したデータと、上記のユーザの属性を示す情報とを対応付けることで、機械学習用の教師データ(正解データと称される場合もある。)を生成する。他の実施形態において、学習モデル生成部124は、1以上の通信端末140のそれぞれから、上記のセンサモジュール142が出力したデータと、上記のユーザの属性を示す情報とが対応付けられた情報を、機械学習用の教師データとして取得してよい。
[学習済みの学習モデルの取得又は生成]
学習モデル生成部124は、1以上の通信端末140のそれぞれから収集された上記の教師データを用いて機械学習を実行し、通信端末140のユーザの属性及び移動手段の少なくとも一方を目的変数とし、通信端末140の振動に関連する物理量を説明変数とするモデル(学習モデル、推定モデル、予測モデルなどと称される場合がある。)を生成又は更新する。本実施形態において、学習モデル生成部124により生成又は更新された学習モデルは、例えば、通信端末140の判定モジュール144における判定処理に用いられる。なお、他の実施形態において、判定モジュール144における判定処理と同様の処理がモデル管理サーバ120において実行され得ることに留意されたい。
一実施形態において、学習モデル生成部124は、特定の通信端末140の加速度及び角加速度の少なくとも一方から、当該特定の通信端末140のユーザの属性を推定するための学習モデルを生成又は更新する。より具体的には、学習モデル生成部124は、1以上の通信端末140のそれぞれのユーザの属性を示す情報と、1以上の通信端末140のそれぞれの加速度及び角加速度の少なくとも一方を示す情報とが対応付けられた教師データを用いて、通信端末140の加速度及び角加速度の少なくとも一方を示す情報から、通信端末140を利用するユーザ40の属性を推定するための機械学習を実行する。これにより、(i)入力データに含まれる通信端末140の加速度及び角加速度の少なくとも一方を示す情報から、通信端末140を利用するユーザ40の属性を推定し、(ii)当該推定結果を示す情報を出力する学習モデルが生成又は更新される。上記の推定処理は、二値分類であってもよく、多値分類であってもよく、回帰であってもよい。
他の実施形態において、学習モデル生成部124は、特定の通信端末140の加速度及び角加速度の少なくとも一方から、当該特定の通信端末140のユーザの移動手段を推定するための学習モデルを生成又は更新する。より具体的には、学習モデル生成部124は、1以上の通信端末140のそれぞれのユーザの移動手段を示す情報と、1以上の通信端末140のそれぞれの加速度及び角加速度の少なくとも一方を示す情報とが対応付けられた教師データを用いて、通信端末140の加速度及び角加速度の少なくとも一方を示す情報から、通信端末140を利用するユーザ40の移動手段を推定するための機械学習を実行する。これにより、(i)入力データに含まれる通信端末140の加速度及び角加速度の少なくとも一方を示す情報から、通信端末140を利用するユーザ40の移動手段を推定し、(ii)当該推定結果を示す情報を出力する学習モデルが生成又は更新される。上記の推定処理は、二値分類であってもよく、多値分類であってもよい。
本実施形態において、ログデータ収集部126は、通信端末140から、通信端末140の判定モジュール144において実行された、ユーザ40の移動手段及び属性の少なくとも一方に関する判定処理の結果が記録されたログデータを収集する。ログデータ収集部126は、1以上の通信端末140のそれぞれから、1以上のログデータを収集してよい。1以上のログデータのそれぞれは、各通信端末の識別情報と、各通信端末のユーザの移動手段及び属性の少なくとも一方に関する判定処理の結果を示す情報とが対応付けられた情報であってよい。1以上のログデータのそれぞれは、各通信端末の識別情報と、各通信端末のユーザの移動手段及び属性の少なくとも一方に関する判定処理の結果を示す情報と、各端末の移動履歴の少なくとも一部とが対応付けられた情報であってよい。
各通信端末の識別情報は、各通信端末のユーザの識別情報であってもよい。各通信端末のユーザの移動手段及び属性の少なくとも一方に関する判定処理の結果を示す情報は、各通信端末のユーザの移動手段及び属性の少なくとも一方を示す情報であってよい。ログデータの詳細は後述される。
ログデータ収集部126が収集したログデータは、各種のサービスの提供に利用されてよい。上記のサービスは、(i)モデル管理サーバ120、(ii)通信端末140、(iii)モデル管理サーバ120及び通信端末140とは異なる情報処理装置、及び、(iv)これらの組み合わせにより提供されてよい。
上記のサービスとしては、(i)推定されたユーザの属性と、ユーザの実際の属性との比較を可能にするサービス、(ii)ユーザの正当性を確認するサービス又はユーザを認証するサービス、(iii)特定の属性又は移動手段を有するユーザに対して選択的に、予め定められた処理を実行するサービス、(iv)ユーザの属性又は移動手段に関する推定結果が予め定められた条件に合致する場合、予め定められた処理を実行するサービス、(v)特定の地理的範囲に存在するユーザの属性又は移動手段を分析するサービスなどが例示される。
推定されたユーザの属性と、ユーザの実際の属性との比較を可能にするサービスとしては、通信端末140のユーザに対して、通信端末140の振動状態から推定されたユーザの年齢を提示するサービスが例示される。例えば、上記のサービスによれば、ユーザが歩行している期間にサンプリングされた通信端末140の振動状態から推定されたユーザの年齢(歩行年齢と称される場合がある。)が、ユーザに提示される。通信端末140のユーザの歩行年齢は、通信端末140により当該ユーザに提示されてよい。同様にして、ユーザが走っている期間にサンプリングされた通信端末140の振動状態から推定されたユーザの年齢、ユーザが階段又は坂道を昇降している期間にサンプリングされた通信端末140の振動状態から推定されたユーザの年齢などが、ユーザに提示されてよい。
事前に登録されたユーザの属性又は過去の特定の時期における推定結果により示されるユーザの属性と、現在又は直近の推定結果により示されるユーザの属性とが異なる場合、ユーザ属性の登録時又は過去の特定の時期におけるユーザと、現在又は直近のユーザとが異なる可能性が高い。そこで、ユーザの正当性を確認するサービス又はユーザを認証する各種のサービスにおいては、事前に登録されたユーザの属性又は過去の特定の時期における推定結果により示されるユーザの属性と、現在又は直近の推定結果により示されるユーザの属性とが比較されることにより、ユーザの正当性が確認されたり、ユーザが認定されたりする。ユーザの正当性を確認するサービス又はユーザを認証するサービスとしては、(i)現在又は直近の特定の時期において通信端末140を実際に利用するユーザと、事前に登録されたユーザ又は過去の特定の時期におけるユーザとの同一性を判定するサービス、(ii)現在又は直近の特定の時期において通信端末140を実際に利用するユーザが、通信端末140を利用する正当な権利を有するか否かを判定するサービス、(iii)現在又は直近の特定の時期において通信端末140を実際に利用するユーザを認証するサービスなどが例示される。
特定の属性又は移動手段を有するユーザに対して選択的に、予め定められた処理を実行するサービスとしては、特定の属性又は移動手段を有するユーザに対して特定の広告を配信するサービスが例示される。なお、特定の属性又は移動手段を有するユーザ以外のユーザに対しては、当該特定の広告が配信されなくていよい。
ユーザの属性又は移動手段に関する推定結果が予め定められた条件に合致する場合、予め定められた処理を実行するサービスとしては、(i)上記の推定結果により示されるユーザの属性又は移動手段が、予め登録された属性又は移動手段と同一又は類似でない場合に、予め定められたアドレスに通知を送信するサービス、(ii)上記の推定結果により示されるユーザの属性又は移動手段が、予め登録された属性又は移動手段と同一又は類似である場合に、予め定められたアドレスに通知を送信するサービスなどが例示される。なお、上記の予め定められた条件及び予め定められた処理の組み合わせは、上記の具体例に限定されない。
特定の地理的範囲に存在するユーザの属性又は移動手段を分析するサービスとしては、地域別にユーザの属性又は移動手段を集計するサービス、特定の商圏におけるユーザの属性又は移動手段を集計するサービスなどが例示される。なお、上記の分析は、集計処理に限定されない。他の実施形態において、任意の種類の統計処理が実行されてよい。
本実施形態において、ユーザ情報収集部128は、通信端末140から、(i)通信端末140を利用するユーザ40が通信端末140の入出力モジュール148に入力した情報(ユーザ入力情報と称される場合がある)、及び/又は、(ii)通信端末140がユーザ入力を予め定められたアルゴリズムに基づいて処理して得られた情報(ユーザ関連情報と称される場合がある)を収集する。なお、ユーザ入力情報及び/又はユーザ関連情報が、単に、ユーザ情報と称される場合がある。ユーザ情報収集部128は、1以上の通信端末140のそれぞれから、1以上のユーザ情報を収集してよい。
ユーザ情報収集部128は、ユーザ情報と、ユーザ40の識別情報とを対応づけて収集してよい。ユーザ40のユーザ入力情報としては、ユーザ40の属性を示す情報、ユーザ40の移動手段を示す情報などが例示される。上述されたとおり、属性としては、年齢、年代、性別、身長、体重、性格、身体活動レベル、及び、健康状態の少なくとも1つが例示される。
ユーザ40のユーザ情報としては、ユーザ40によるWebサイトの閲覧履歴、ユーザ40による検索履歴、ユーザ40による運輸サービスの利用履歴、ユーザ40による通信端末140の操作履歴などが例示される。運輸サービスとしては、目的地までの経路の検索又は案内サービス、公共交通機関を利用した経路の検索又は案内サービス、車両の貸し出しサービス又はシェアリングサービス、タクシーの利用予約サービス、鉄道又は飛行機の利用予約サービスなどが例示される。
本実施形態において、通信端末140は、可搬式の通信端末である。通信端末140は、無線通信機能を有してよい。通信端末140は、ユーザ40が携行又は携帯することのできる通信端末であればよく、その詳細は特に限定されない。通信端末140パーソナルコンピュータ、携帯端末などが例示される。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどが例示される。
本実施形態において、センサモジュール142は、通信端末140に関する各種の物理量を測定する。センサモジュール142は、各種の物理量の測定結果を示す情報を、判定モジュール144に出力してよい。センサモジュール142は、通信端末140の位置を推定してもよい。センサモジュール142は、通信端末140の位置の推定結果を示す情報を、判定モジュール144に出力してもよい。センサモジュール142の詳細は後述される。
本実施形態において、判定モジュール144は、通信端末140のユーザ40の移動手段及び属性の少なくとも一方を判定する。判定モジュール144は、例えば、機械学習により学習済みの学習モデルを用いて、通信端末140のユーザ40の移動手段及び属性の少なくとも一方を判定する。例えば、判定モジュール144は、モデル管理サーバ120の学習モデル生成部124が生成又は更新した学習モデルを用いて、通信端末140のユーザ40の移動手段及び属性の少なくとも一方を判定する。判定モジュール144は、判定結果を示す情報を、モデル管理サーバ120のログデータ収集部126に送信してよい。判定モジュール144の詳細は後述される。
本実施形態において、モデル更新モジュール146は、判定モジュール144において利用される学習モデルを更新する。学習モデルが更新されるタイミングは特に限定されるものではないが、例えば、通信端末140の起動時、通信端末140の上で動作する特定のアプリケーションプログラムの起動処理時又は終了処理時、通信端末140の上で動作する特定のアプリケーションプログラムに対してバックグラウンドで動作する権限が与えられた場合、通信端末140の位置変動が予め定められた値よりも大きいと判定された場合、ユーザーにより通信端末140に対する特定の指示又は操作が実行された場合、モデル管理サーバ120からモデル更新モジュール146に対して更新処理を実行するための命令が通知された場合などが例示される。上記の特定の指示又は操作としては、通信端末140に配された物理ボタン又はソフトボタンの操作、通信端末140の画面操作、クリック操作、アプリケーションプログラムの開始指示又は終了指示などが例示される。
例えば、モデル更新モジュール146は、モデル管理サーバ120にアクセスして、学習モデル生成部124が生成又は更新した最新の学習モデルのバージョン又は生成時期若しくは更新時期を示す情報を取得する。モデル更新モジュール146は、上記の最新の学習モデルのバージョン又は生成時期若しくは更新時期と、判定モジュール144が判定処理に利用している学習モデルのバージョン又は生成時期若しくは更新時期とを比較する。上記の比較処理の結果、上記の最新の学習モデルが、判定モジュール144が判定処理に利用している学習モデルよりも新しいことが判明した場合、モデル更新モジュール146は、モデル管理サーバ120の学習モデル生成部124から、最新の学習モデルを取得する。また、モデル更新モジュール146は、判定モジュール144が現在判定処理に用いている学習モデルと、上記の学習モデルとを置き換える。
これにより、判定モジュール144が判定処理に用いる学習モデルが更新される。なお、学習モデルの更新手順は本実施形態に限定されない。他の実施形態において、モデル更新モジュール146は、まず、モデル管理サーバ120から最新の学習モデルを取得する。次に、モデル更新モジュール146は、上記の最新の学習モデルのバージョン又は生成時期若しくは更新時期と、判定モジュール144が判定処理に利用している学習モデルのバージョン又は生成時期若しくは更新時期とを比較する。上記の比較処理の結果、上記の最新の学習モデルが、判定モジュール144が判定処理に利用している学習モデルよりも新しいことが判明した場合、モデル更新モジュール146は、判定モジュール144が現在判定処理に用いている学習モデルと、上記の学習モデルとを置き換える。
本実施形態において、入出力モジュール148は、通信端末140及びユーザ40の間のインターフェースとして機能する。例えば、入出力モジュール148は、ユーザ40からの入力を受け付ける。例えば、入出力モジュール148は、ユーザ40に情報を提示する。
一実施形態において、入出力モジュール148は、ユーザ40が通信端末140に入力した情報を、例えば、判定モジュール144に出力する。この場合、判定モジュール144は、ユーザ40が通信端末140に入力した情報を、モデル管理サーバ120のユーザ情報収集部128に送信してよい。他の実施形態において、入出力モジュール148は、ユーザ40が通信端末140に入力した情報を、モデル管理サーバ120のユーザ情報収集部128に送信する。
入出力モジュール148は、キーボード、ポインティングデバイス、タッチパネル、マイク、カメラ、音声入力システム、ジェスチャ入力システムなどの入力装置を含んでよい。入出力モジュール148は、ディスプレイ、プロジェクタなどの表示装置を含んでよい。入出力モジュール148は、スピーカ、イヤホン、ヘッドホンなどの音声出力装置を含んでよい。
データ解析システム100は、情報処理装置の一例であってよい。通信端末140は、情報処理装置の一例であってよい。センサモジュール142は、振動情報取得部の一例であってよい。判定モジュール144は、情報処理装置の一例であってよい。
[データ解析システム100の各部の具体的な構成]
データ解析システム100の各部は、ハードウェアにより実現されてもよく、ソフトウェアにより実現されてもよく、ハードウェア及びソフトウェアにより実現されてもよい。データ解析システム100の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。例えば、パーソナルコンピュータ又は携帯端末が、データ解析システム100のユーザインターフェースとして利用され得る。携帯端末としては、携帯電話、スマートフォン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウェアラブル・コンピュータなどが例示される。
データ解析システム100を構成する構成要素の少なくとも一部がソフトウェアにより実現される場合、当該ソフトウェアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したプログラムを起動することにより実現されてよい。上記の情報処理装置は、例えば、(i)各種プロセッサ(プロセッサとしては、CPU、GPUなどが例示される)、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、(ii)メモリ、HDDなどの記憶装置(外部記憶装置を含む。)とを備える。上記の情報処理装置は、(iii)キーボード、タッチパネル、カメラ、マイク、各種センサ、GPS受信機などの入力装置を備えてもよく、(iv)表示装置、スピーカ、振動装置などの出力装置を備えてもよい。
上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、プログラムを格納してよい。上記のプログラムに記述された情報処理は、例えば、当該プログラムがコンピュータに読込まれることにより、当該プログラムに関連するソフトウェアと、データ解析システム100の少なくとも一部を構成する各種のハードウェア資源とが協働した具体的手段として機能する。そして、上記の具体的手段が、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、当該使用目的に応じたデータ解析システム100又はその一部が構築される。
上記のプログラムは、コンピュータ可読媒体に格納されていてもよい。上記のプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。上記のプログラムは、CD-ROM、DVD-ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。上記のプログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、データ解析システム100の少なくとも一部を構成するコンピュータにインストールされてよい。
上記のプログラムが実行されることにより、コンピュータが、データ解析システム100の各部の少なくとも一部として機能してもよい。上記のプログラムが実行されることにより、コンピュータが、データ解析システム100の少なくとも一部における情報処理方法を実行してもよい。
コンピュータをデータ解析システム100の少なくとも一部として機能させるためのプログラムは、例えば、データ解析システム100の少なくとも一部の動作を規定したモジュールを備える。上記のプログラム又はモジュールが実行されると、上記のプログラム又はモジュールは、データ処理装置、入力装置、出力装置、記憶装置等に働きかけて、コンピュータをデータ解析システム100の少なくとも一部として機能させたり、コンピュータにデータ解析システム100の少なくとも一部における情報処理方法を実行させたりする。
上記の情報処理方法は、例えば、可搬式通信端末であるユーザ端末の加速度及び角加速度の少なくとも一方を示す振動情報を取得する振動情報取得段階を有する。上記の情報処理方法は、例えば、可搬式通信端末の加速度及び角加速度の少なくとも一方から当該可搬式通信端末の利用者の属性を推定するための機械学習により生成された属性推定モデルを用いて、振動情報取得段階において取得された振動情報からユーザ端末を所持するユーザの属性を示す属性情報を出力する属性出力段階を有する。
上記の情報処理方法は、例えば、可搬式通信端末であるユーザ端末の加速度及び角加速度の少なくとも一方を示す振動情報を取得する振動情報取得段階を有する。上記の情報処理方法は、例えば、可搬式通信端末の加速度及び角加速度の少なくとも一方から当該可搬式通信端末の利用者の移動手段を推定するための機械学習により生成された移動手段推定モデルを用いて、振動情報取得段階において取得された振動情報からユーザ端末を所持するユーザの移動手段を出力する移動手段出力段階を有する。
図2は、センサモジュール142及び判定モジュール144の内部構成の一例を概略的に示す。本実施形態において、センサモジュール142は、例えば、加速度センサ222と、ジャイロセンサ224とを備える。センサモジュール142は、環境光センサ226を備えてもよい。センサモジュール142は、位置推定部228を備えてもよい。また、本実施形態において、判定モジュール144は、例えば、測定データ取得部242と、推定部244とを備える。判定モジュール144は、データ送信部246を備えてよい。判定モジュール144は、格納部248を備えてよい。
本実施形態において、加速度センサ222は、通信端末140の加速度を測定する。加速度センサ222は、互いに直交する3つの軸方向(すなわち、x軸、y軸及びz軸である。)のそれぞれの加速度を測定してよい。加速度センサ222は、測定結果を示す情報を、例えば、判定モジュール144に出力する。
加速度センサ222から出力される加速度の値は、重力加速度を含む値であってもよく、重力加速度を含まない値であってもよい。加速度センサ222から出力される加速度の値が重力加速度を含む値である場合、加速度センサ222の出力値は、重力による成分(重力成分と称される場合がある)と、ユーザの行動による成分(ユーザ行動成分と称される場合がある)とに分離されてよい。
加速度センサ222の1回の測定におけるサンプリング間隔及びサンプリング時間として、任意の値が設定されてよい。また、加速度センサ222は、複数回の測定を1セットとして、通信端末140の加速度を測定してもよい。例えば、加速度センサ222は、1回の測定において、0.1秒のサンプリング間隔で2秒間にわたって、通信端末140の加速度を測定する。これにより、1回の測定で20個のサンプルが取得される。また、加速度センサ222は、5回の測定を1セットとして、通信端末140の加速度を測定する。これにより、1セットで100個のサンプルが取得される。
本実施形態において、ジャイロセンサ224は、通信端末140の角加速度を測定する。ジャイロセンサ224は、互いに直交する3つの軸方向(すなわち、x軸、y軸及びz軸である。)のそれぞれの加速度を測定してよい。ジャイロセンサ224は、測定結果を示す情報を、例えば、判定モジュール144に出力する。
ジャイロセンサ224の1回の測定におけるサンプリング間隔及びサンプリング時間として、任意の値が設定されてよい。また、ジャイロセンサ224は、複数回の測定を1セットとして、通信端末140の加速度を測定してもよい。ジャイロセンサ224の1回の測定におけるサンプリング間隔及びサンプリング時間は、加速度センサ222の1回の測定におけるサンプリング間隔及びサンプリング時間と同一であってよい。ジャイロセンサ224の1セット当たりの測定回数は、加速度センサ222の1セット当たりの測定回数と同一であってよい。
本実施形態において、環境光センサ226は、通信端末140の周囲の明るさを測定する。環境光センサ226は、測定結果を示す情報を、例えば、判定モジュール144に出力する。
これにより、判定モジュール144は、通信端末140が鞄、ポケットなどに収容されているか否かを判定することができる。また、判定モジュール144は、通信端末140が屋内に配さているか否かを判定することができる。例えば、夜間における環境光センサ226の測定結果が予め定められた値よりも大きい場合、判定モジュール144は、通信端末140が屋内に配されていることを検知することができる。
本実施形態において、位置推定部228は、通信端末140の位置を推定する。例えば、位置推定部228は、GPS信号を受信して、当該GPS信号に基づいて通信端末140の位置を推定する。位置推定部228は、通信用の電波を受信し、当該電波の電波強度に基づいて通信端末140の位置を推定してもよい。位置推定部228は、通信端末140に配された内界センサの出力に基づいて通信端末140の位置を推定してもよい。位置推定部228は、通信端末140の推定位置を示す情報を、例えば、判定モジュール144に出力する。
これにより、判定モジュール144は、例えば、通信端末140が道路上に位置するか否かを判定することができる。判定モジュール144は、例えば、通信端末140が線路上に位置するか否かを判定することができる。また、判定モジュール144は、例えば、通信端末140の位置変動の大きさ、通信端末140の移動速度などを決定することができる。
本実施形態において、測定データ取得部242は、センサモジュール142から出力された各種の測定結果を示す情報を取得する。測定データ取得部242は、センサモジュール142から出力された通信端末140の推定位置を示す情報を取得してもよい。測定データ取得部242は、測定データ取得部242がセンサモジュール142から取得した各種の情報を、例えば、推定部244に出力する。
本実施形態において、推定部244は、センサモジュール142から出力された各種の情報に基づいて、通信端末140を所持するユーザ40の属性及び移動手段の少なくとも一方を推定する。推定部244は、上記の推定結果に基づいて、上述されたログデータを生成してよい。推定部244は、生成されたログデータをデータ送信部246に出力してよい。
推定部244は、入出力モジュール148から、ユーザ40のユーザ情報を取得してもよい。推定部244は、上記のユーザ情報をデータ送信部246に出力してよい。推定部244の詳細は後述される。
本実施形態において、データ送信部246は、各種のデータを、モデル管理サーバ120に送信する。例えば、データ送信部246は、センサモジュール142が出力した各種の情報を、モデル管理サーバ120に送信する。データ送信部246は、センサモジュール142が出力した各種の情報を推定部244から取得してもよく、上記の各種の情報をセンサモジュール142から取得してもよい。例えば、データ送信部246は、ログデータを、モデル管理サーバ120に送信する。データ送信部246は、ログデータを推定部244から取得してよい。例えば、データ送信部246は、ユーザ情報を、モデル管理サーバ120に送信する。データ送信部246は、ユーザ情報を推定部244から取得してもよく、ユーザ情報を入出力モジュール148から取得してもよい。
本実施形態において、格納部248は、各種の情報を格納する。例えば、格納部248は、判定モジュール144における情報処理に用いられる情報を格納する。例えば、格納部248は、判定モジュール144における情報処理において生成された情報を格納する。格納部248の詳細は後述される。
加速度センサ222は、振動情報取得部の一例であってよい。ジャイロセンサ224は、振動情報取得部の一例であってよい。測定データ取得部242は、振動情報取得部の一例であってよい。推定部244は、属性出力部又は移動手段出力部の一例であってよい。データ送信部246は、属性出力部又は移動手段出力部の一例であってよい。
図3は、推定部244の内部構造の一例を概略的に示す。本実施形態において、推定部244は、前処理部320と、移動手段判定部330と、属性判定部340とを備える。本実施形態において、前処理部320は、画像化部322と、画像変換部324とを有する。本実施形態において、移動手段判定部330は、学習モデル332と、移動手段特定部334とを有する。本実施形態において、属性判定部340は、学習モデル342と、属性特定部344とを有する。
[データの前処理]
本実施形態において、前処理部320は、測定データ取得部242から、加速度センサ222の測定結果を示す情報を取得する。前処理部320は、測定データ取得部242から、ジャイロセンサ224の測定結果を示す情報を取得する。
前処理部320は、加速度センサ222の測定結果を示す情報と、ジャイロセンサ224の測定結果を示す情報とを用いて、移動手段判定部330における判定処理に用いられる学習モデル332の入力に適したデータを生成する。同様に、前処理部320は、加速度センサ222の測定結果を示す情報と、ジャイロセンサ224の測定結果を示す情報とを用いて、属性判定部340における判定処理に用いられる学習モデル342の入力に適したデータを生成する。学習モデル332の入力に適したデータと、学習モデル342の入力に適したデータとは、同一であってもよく、異なってもよい。
本実施形態において、画像化部322は、測定データ取得部242から、加速度センサ222の測定結果を示す情報を取得する。画像化部322は、測定データ取得部242から、ジャイロセンサ224の測定結果を示す情報を取得する。上述されたとおり、加速度センサ222は、1回の測定又は1セットの測定において、サンプリングされた時刻の異なる複数のサンプルを取得する。同様に、ジャイロセンサ224は、1回の測定又は1セットの測定において、サンプリングされた時刻の異なる複数のサンプルを取得する。
本実施形態において、画像化部322は、加速度センサ222が取得した複数のサンプルと、ジャイロセンサ224が取得した複数のサンプルとに基づいて、2次元データ(画像データと称される場合がある。)を生成する。画像化部322は、生成された画像データを、画像変換部324に出力する。画像データの詳細は後述される。
なお、画像化部322は、加速度センサ222が取得した複数のサンプルと、ジャイロセンサ224が取得した複数のサンプルとを解析して、通信端末140が静止しているか否かを判定してもよい。画像化部322は、通信端末140が静止していると判定された場合、画像データの生成処理を実行しなくてもよい。また、画像化部322は、通信端末140が静止していると判定された場合、画像データを出力しなくてもよい。上記の実施形態によれば、通信端末140が静止していると判定された場合には、推定部244における処理が実行されない。これにより、通信端末140のリソースの消耗が抑制される。
本実施形態において、画像変換部324は、画像化部322が生成した画像データを取得する。画像変換部324は、上記の画像データをフーリエ変換して、学習モデル332及び/又はの入力に適した二次元データ(入力データと称される場合がある)を生成する。例えば、画像変換部324は、畳み込みニューラルネットワーク(CNNと称される場合がある。)に適した二次元データを生成する。画像変換部324は、生成された入力データを、移動手段判定部330及び属性判定部340のそれぞれに出力する。
[ユーザ40の移動手段の判定処理]
本実施形態において、移動手段判定部330は、通信端末140のユーザ40の移動手段を判定する。例えば、移動手段判定部330は、画像変換部324から入力データを取得する。移動手段判定部330は、上記の入力データを学習モデル332に入力し、学習モデル332の出力に基づいて、通信端末140を所持するユーザ40の移動手段を推定する。
本実施形態において、学習モデル332は、通信端末140の加速度及び角加速度の少なくとも一方を示す情報が入力され、通信端末140を所持するユーザ40の移動手段を出力する。本実施形態によれば、学習モデル332は、通信端末140の加速度及び角加速度に基づいて生成された入力データが入力され、通信端末140を所持するユーザ40の移動手段を示す情報を、移動手段特定部334に出力する。
上述されたとおり、学習モデル332は、学習モデル生成部124が、可搬式の通信端末の加速度及び角加速度の少なくとも一方から当該可搬式の通信端末の利用者の移動手段を推定するための機械学習を実行することにより生成される。また、学習モデル332は、任意のタイミング又は予め定められたタイミングで、最新の学習モデルに更新される。
本実施形態において、移動手段特定部334は、学習モデル332の出力に基づいて、通信端末140を所持するユーザ40の移動手段を特定する。例えば、移動手段特定部334は、学習モデル332が出力した複数の推定結果に基づいて、通信端末140を所持するユーザ40の移動手段を特定する。
上述されたとおり、加速度センサ222は、1回又は1セットの測定で複数のサンプルを取得する。また、ジャイロセンサ224は、1回又は1セットの測定で複数のサンプルを取得する。例えば、前処理部320が、上記の複数のサンプルを複数のグループに分割して、グループごとに入力データを生成した場合、1回又は1セットの測定結果から、複数の入力データが生成される。移動手段判定部330が、複数の入力データのそれぞれを学習モデル332に入力することで、複数の推定結果が得られる。
例えば、複数の推定結果の全体の個数に対する、特定の移動手段を示す推定結果の個数の割合が予め定められた値よりも大きい場合、移動手段特定部334は、通信端末140を所持するユーザ40が、当該特定の移動手段により移動していると判定する。これにより、ユーザ40の移動手段が特定される。なお、移動手段の特定方法(推定方法と称される場合もある)は、上記の実施形態に限定されない。他の実施形態において、複数の推定結果を用いるのではなく、単独の入力データを用いて、移動手段が特定されてもよいことに留意されたい。
本実施形態において、ユーザ40の移動手段が、徒歩又はランニング若しくはジョギングであると判定された場合、移動手段特定部334は、ユーザ40の移動手段が徒歩、又は、ランニング若しくはジョギングであることを示す信号(検知信号と称される場合がある。)を、属性判定部340に出力してよい。この場合、属性判定部340は、検知信号を受信したことに応じて、ユーザ40の属性に関する判定処理を開始してよい。
一般的に、ユーザ40が徒歩又はランニング若しくはジョギングにより移動している場合、ユーザ40が車両、船舶、飛行隊など搭乗して座席に座っている場合と比較して、ユーザ40の動作の特徴が顕著に表れる。そのため、属性判定部340が、移動手段判定部330からの検知信号を受信したことに応じて、ユーザ40の属性に関する判定処理を開始することで、通信端末140のリソースの消耗が抑制され得る。
以上のとおり、本実施形態によれば、移動手段判定部330は、学習モデル332を用いて、画像化部322が出力した画像データに基づいて、通信端末140を所持するユーザ40の移動手段を推定することができる。また、移動手段判定部330は、学習モデル332を用いて、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルから、通信端末140を所持するユーザ40の移動手段を推定することができる。また、移動手段判定部330は、通信端末140を所持するユーザ40の移動手段を示す情報を出力することができる。
例えば、移動手段判定部330は、通信端末140の加速度及び角加速度がサンプリングされた時刻又は判定処理が実行された時刻を示す情報と、通信端末140を所持するユーザ40の移動手段を示す情報とを対応づけて記録するログデータを生成する。移動手段判定部330は、生成されたログデータを格納部248に出力する。移動手段判定部330は、生成されたログデータをデータ送信部246に出力してもよい。
[ユーザ40の属性の判定処理]
本実施形態において、属性判定部340は、通信端末140のユーザ40の属性を判定する。例えば、属性判定部340は、画像変換部324から入力データを取得する。属性判定部340は、上記の入力データを学習モデル342に入力し、学習モデル342の出力に基づいて、通信端末140を所持するユーザ40の属性を推定する。
上述されたとおり、属性判定部340は、移動手段特定部334から検知信号を受信してよい。属性判定部340は、検知信号を受信したことに応じて、ユーザ40の属性に関する判定処理を開始してよい。上記の実施形態によれば、移動手段判定部330により、ユーザ40が徒歩、又は、ランニング若しくはジョギング以外の移動手段により移動していると判定された場合、属性判定部340はユーザ40の属性に関する判定処理を実行しない。これにより、通信端末140のリソースの消耗が抑制される。
本実施形態において、学習モデル342は、通信端末140の加速度及び角加速度の少なくとも一方を示す情報が入力され、通信端末140を所持するユーザ40の属性を出力する。本実施形態によれば、学習モデル342は、通信端末140の加速度及び角加速度に基づいて生成された入力データが入力され、通信端末140を所持するユーザ40の属性を示す情報を、属性特定部344に出力する。
上述されたとおり、学習モデル342は、学習モデル生成部124が、可搬式の通信端末の加速度及び角加速度の少なくとも一方から当該可搬式の通信端末の利用者の属性を推定するための機械学習を実行することにより生成される。また、学習モデル342は、任意のタイミング又は予め定められたタイミングで、最新の学習モデルに更新される。
本実施形態において、属性特定部344は、学習モデル342の出力に基づいて、通信端末140を所持するユーザ40の属性を特定する。例えば、属性特定部344は、学習モデル342が出力した複数の推定結果に基づいて、通信端末140を所持するユーザ40の属性を特定する。
上述されたとおり、加速度センサ222は、1回又は1セットの測定で複数のサンプルを取得する。また、ジャイロセンサ224は、1回又は1セットの測定で複数のサンプルを取得する。例えば、前処理部320が、上記の複数のサンプルを複数のグループに分割して、グループごとに入力データを生成した場合、1回又は1セットの測定結果から、複数の入力データが生成される。属性判定部340が、複数の入力データのそれぞれを学習モデル332に入力することで、複数の推定結果が得られる。
例えば、複数の推定結果の全体の個数に対する、特定の属性を示す推定結果の個数の割合が予め定められた値よりも大きい場合、属性特定部344は、通信端末140を所持するユーザ40が当該特定の属性を有すると判定する。これにより、ユーザ40の属性が特定される。なお、ユーザ40の属性の特定方法(推定方法と称される場合もある)は、上記の実施形態に限定されない。他の実施形態において、複数の推定結果を用いるのではなく、単独の入力データを用いて、ユーザ40の属性が特定されてもよいことに留意されたい。
以上のとおり、本実施形態によれば、属性判定部340は、学習モデル342を用いて、画像化部322が出力した画像データに基づいて、通信端末140を所持するユーザ40の属性を推定することができる。また、属性判定部340は、学習モデル342を用いて、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルから、通信端末140を所持するユーザ40の属性を推定することができる。また、属性判定部340は、通信端末140を所持するユーザ40の属性を示す情報を出力することができる。
例えば、属性判定部340は、通信端末140の加速度及び角加速度がサンプリングされた時刻又は判定処理が実行された時刻を示す情報と、通信端末140を所持するユーザ40の属性を示す情報とを対応づけて記録するログデータを生成する。属性判定部340は、生成されたログデータを格納部248に出力する。属性判定部340は、生成されたログデータをデータ送信部246に出力してもよい。
画像化部322は、二次元データ出力部の一例であってよい。画像変換部324は、二次元データ変換部の一例であってよい。サンプリングされた時刻の異なる複数のサンプルは、複数の振動情報の一例であってよい。画像データは、第1の二次元データの一例であってよい。入力データは、第2の二次元データの一例であってよい。
移動手段判定部330は、移動手段出力部又は移動手段推定部の一例であってよい。学習モデル332は、移動手段推定モデルの一例であってよい。属性判定部340は、属性出力部又は属性推定部の一例であってよい。学習モデル342は、属性推定モデルの一例であってよい。
本実施形態においては、移動手段判定部330が、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルに基づいて、通信端末140を所持するユーザ40の移動手段を判定する場合を例として、移動手段判定部330の詳細が説明された。しかしながら、移動手段判定部330は本実施形態に限定されない。
他の実施形態において、移動手段判定部330は、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルの少なくとも一方に基づいて、通信端末140を所持するユーザ40の移動手段を判定する。例えば、前処理部320が、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルの少なくとも一方に基づいて、入力データを生成することで、移動手段判定部330は、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルの少なくとも一方に基づいて、通信端末140を所持するユーザ40の移動手段を判定することができる。
本実施形態においては、属性判定部340が、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルに基づいて、通信端末140を所持するユーザ40の属性を判定する場合を例として、属性判定部340の詳細が説明された。しかしながら、属性判定部340は本実施形態に限定されない。
他の実施形態において、属性判定部340は、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルの少なくとも一方に基づいて、通信端末140を所持するユーザ40の属性を判定する。例えば、前処理部320が、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルの少なくとも一方に基づいて、入力データを生成することで、属性判定部340は、加速度センサ222が取得した複数のサンプル、及び、ジャイロセンサ224が取得した複数のサンプルの少なくとも一方に基づいて、通信端末140を所持するユーザ40の属性を判定することができる。
本実施形態においては、ユーザ40の移動手段が徒歩又はランニング若しくはジョギングであると判定されたときに、属性判定部340がユーザ40の属性を判定する場合を例として、属性判定部340の詳細が例示された。しかしながら、属性判定部340は本実施形態に限定されない。
他の実施形態において、属性判定部340は、ユーザ40が徒歩、ランニング又はジョギングにより移動していることが推定され、且つ、ユーザ40が移動している場所の地形が予め定められた種類の地形であると推定された場合に、ユーザ40の属性を推定するための処理を実行してよい。上述されたとおり、地形の種類としては、平地、坂道、階段などが例示される。例えば、属性判定部340は、可搬式の通信端末の加速度及び角加速度の少なくとも一方から当該可搬式の通信端末の利用者が移動している場所の地形を推定するための機械学習を実行することにより生成された学習モデルを利用して、ユーザ40が移動している場所の地形の種類を示す情報を取得する。上記の学習モデルは、例えば、学習モデル生成部124により生成される。
図4及び図5を用いて、画像化部322における情報処理の詳細が説明される。図4は、画像化部322における情報処理の一例を概略的に示す。図5は、画像化部322が出力する画像データ500の一例を概略的に示す。
本実施形態によれば、まず、画像化部322は、特定の時刻における加速度センサ222の測定結果と、当該時刻におけるジャイロセンサ224の測定結果とを用いて、サンプリングデータを生成する。画像化部322は、複数の時刻のそれぞれにおける加速度センサ222の測定結果及びジャイロセンサ224の測定結果を用いて、複数のサンプリングデータを生成する。
図4に示されるとおり、各サンプリングデータは、例えば、サンプリング時刻を示す情報422と、通信端末140の角加速度を示す情報424と、通信端末140の全加速度を示す情報426と、通信端末140の線形加速度を示す情報428とを含む。なお、サンプリングデータに含まれる情報は本実施形態に限定されないことに留意されたい。例えば、他の実施形態において、角加速度を示す情報424、全加速度を示す情報426、及び、線形加速度を示す情報428の少なくとも1つが含まれなくてもよい。
図4に示される例においては、加速度を示す情報424は、x軸方向の角加速度、y軸方向の角加速度、及び、z軸方向の角加速度を示す情報を含む。全加速度を示す情報426は、x軸方向の全加速度、y軸方向の全加速度、及び、z軸方向の全加速度を示す情報を含む。線形加速度を示す情報428は、x軸方向の線形加速度、y軸方向の線形加速度、及び、z軸方向の線形加速度を示す情報を含む。全加速度は重力成分を含む加速度であってよく、線形加速度は重力成分を含まない加速度であってよい。
各サンプリングデータは一次元データであってよい。例えば、図4に示される例において、時刻t1におけるサンプリングデータは、時刻t1におけるx軸方向の角加速度の値Gx1、時刻t1におけるy軸方向の角加速度の値Gy1、時刻t1におけるz軸方向の角加速度の値Gz1、時刻t1におけるx軸方向の全加速度の値Tx1、時刻t1におけるy軸方向の全加速度の値Ty1、時刻t1におけるz軸方向の全加速度の値Tz1、時刻t1におけるx軸方向の線形加速度の値Lx1、時刻t1におけるy軸方向の線形加速度の値Ly1、及び、時刻t1におけるz軸方向の線形加速度の値Lz1という、9個の値を有する1次元データである。
次に、画像化部322は、異なる時刻に取得された複数のサンプリングデータを用いて、基本ブロック440を生成する。基本ブロック440は、2次元データであってよい。例えば、図4に示される例において、画像化部322は、時刻t1からtnまでのそれぞれの時刻に取得されたn個のサンプリングデータを用いて、9×n個のピクセルを有する2次元データを生成する。上記の9×n個のピクセルのそれぞれには、各サンプリングデータの値が格納される。なお、各サンプリングデータがm個の値を有する場合、基本ブロック440は、m×n個のピクセルを有する2次元データであってよい。
画像化部322は、同一のサンプリングデータを用いて、複数の基本ブロック440を生成してよい。例えば、図4に示される例において、画像化部322は、時刻t1からtnまでのそれぞれの時刻に取得されたn個のサンプリングデータを用いて、複数の基本ブロック440を生成する。上述されたとおり、n個のサンプリングデータのそれぞれは、9個の値を有する1次元データであってよく、複数の基本ブロック440のそれぞれは、9行×n列の2次元データであってよい。
一実施形態において、画像化部322は、9行×n列の2次元データを生成する際に、行の順番を入れ替えることで、異なる2次元データを生成する。例えば、図4に示された基本ブロック440の1行目及び3行目を入れ替えることで、図4に示された基本ブロック440とは異なる基本ブロック440が生成される。画像化部322は、1~9行目をランダムに並び替えることで複数の異なる2次元データを生成してもよく、予め定められたアルゴリズムに従って1~9行目を並び替えることで複数の異なる2次元データを生成してもよい。
他の実施形態において、画像化部322は、9行×n列の2次元データを生成する際に、列の順番を入れ替えることで、異なる2次元データを生成する。例えば、図4に示された基本ブロック440の1列目及び3列目を入れ替えることで、図4に示された基本ブロック440とは異なる基本ブロック440が生成される。画像化部322は、1~n列目をランダムに並び替えることで複数の異なる2次元データを生成してもよく、予め定められたアルゴリズムに従って1~n列目を並び替えることで複数の異なる2次元データを生成してもよい。
次に、画像化部322は、複数の基本ブロック440を用いて、画像データ500を生成する。例えば、一実施形態において、画像化部322は、図5に示されるように、4×3個の異なる基本ブロック440からなる二次元データを生成し、画像データ500として出力する。なお、画像データ500の生成手順は、上記の手順に限定されない。他の実施形態において、画像化部322は、p個の異なる基本ブロック440を行方向に結合して、p行×1列の基本ブロック440からなる画像データ500を生成する。さらに他の実施形態において、画像化部322は、q個の異なる基本ブロック440を列方向に結合して、1行×q列の基本ブロック440からなる画像データ500を生成する。
図6は、画像変換部324における情報処理の一例を概略的に示す。図6に示されるとおり、画像変換部324は、画像データ500に高速フーリエ変換を施すことで、CNN用入力データ600を生成する。これにより、CNN用入力データ600を複数の区画に分割した場合に、各区画に、複数のサンプリングデータの一部が含まれ得る。その結果、CNNの入力に適したデータが生成される。画像変換部324は、画像データ500に高速フーリエ変換を施すことで、単一のCNN用入力データ600を生成してもよく、複数のCNN用入力データ600を生成してもよい。
図7は、ログデータ700のデータ構造の一例を概略的に示す。本実施形態において、ログデータ700は、ユーザID722と、時刻を示す情報724と、移動手段判定部330により判定されたユーザ40の移動手段を示す情報726と、属性判定部340により判定されたユーザ40の属性を示す情報728とを対応付けて格納する。本実施形態において、ログデータ700は、サンプリングデータ730を含む。ログデータ700は、例えば、ユーザID722と、サンプリングデータ730とを対応づけて格納する。ログデータ700は、例えば、時刻を示す情報724と、サンプリングデータ730とを対応づけて格納する。
本実施形態において、ユーザID722としては、データ解析システム100によりユーザ40に割り当てられた識別情報、任意のサービス提供者によりユーザ40に割り当てられた識別情報、ユーザ40の氏名又は名称、通信端末140の識別情報などが例示される。本実施形態において、時刻を示す情報724としては、通信端末140の加速度及び角加速度がサンプリングされた時刻を示す情報、判定処理が実行された時刻を示す情報などが例示される。本実施形態において、ユーザ40の移動手段を示す情報726としては、移動手段の種類を示す情報が例示される。本実施形態において、ユーザ40の属性を示す情報728としては、年齢、年代、性別、身長、体重、性格、身体活動レベル、及び、健康状態の少なくとも1つを示す情報が例示される。本実施形態において、サンプリングデータ730は、通信端末140に搭載されるセンサモジュール142が出力する各種の物理量に関する測定結果を示す情報を含む。サンプリングデータ730は、例えば、通信端末140の加速度、通信端末140の角加速度、通信端末140の周辺環境の照度、及び、通信端末140の位置の少なくとも1つに関する測定結果を示す情報を含む。
図8は、格納部248の内部構造の一例を概略的に示す。本実施形態において、格納部248は、測定データ格納部822と、ログデータ格納部824と、モデル情報格納部826と、ユーザ情報格納部828とを備える。
本実施形態において、測定データ格納部822は、センサモジュール142が出力した各種の測定結果を示す情報を格納する。測定データ格納部822は、時刻を示す情報と、当該時刻においてセンサモジュール142が出力した各種の測定結果を示す情報とを対応づけて格納してよい。また、測定データ格納部822は、センサモジュール142が出力した通信端末140の推定位置を示す情報を格納してよい。測定データ格納部822は、時刻を示す情報と、当該時刻においてセンサモジュール142が出力した通信端末140の推定位置を示す情報とを対応付けて格納してもよい。
本実施形態において、ログデータ格納部824は、推定部244が生成したログデータを格納する。本実施形態において、モデル情報格納部826は、学習モデル332のバージョン又は生成時期若しくは更新時期を示す情報を格納する。モデル情報格納部826は、学習モデル342のバージョン又は生成時期若しくは更新時期を示す情報を格納する。本実施形態において、ユーザ情報格納部828は、入出力モジュール148が取得したユーザ情報を格納する。
図9は、本発明の複数の態様が全体的又は部分的に具現化されてよいコンピュータ3000の一例を示す。データ解析システム100の少なくとも一部は、コンピュータ3000により実現されてよい。例えば、モデル管理サーバ120の少なくとも一部が、コンピュータ3000により実現される。例えば、通信端末140の少なくとも一部が、コンピュータ3000により実現される。
コンピュータ3000にインストールされたプログラムは、コンピュータ3000に、本発明の実施形態に係る装置に関連付けられるオペレーション又は当該装置の1又は複数の「部」として機能させ、又は当該オペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ3000に、本発明の実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ3000に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU3012によって実行されてよい。
本実施形態によるコンピュータ3000は、CPU3012、RAM3014、グラフィックコントローラ3016、及びディスプレイデバイス3018を含み、それらはホストコントローラ3010によって相互に接続されている。コンピュータ3000はまた、通信インターフェース3022、ハードディスクドライブ3024、DVD-ROMドライブ3026、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ3020を介してホストコントローラ3010に接続されている。コンピュータはまた、ROM3030及びキーボード3042のようなレガシの入出力ユニットを含み、それらは入出力チップ3040を介して入出力コントローラ3020に接続されている。
CPU3012は、ROM3030及びRAM3014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ3016は、RAM3014内に提供されるフレームバッファ等又はそれ自体の中に、CPU3012によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス3018上に表示されるようにする。
通信インターフェース3022は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ3024は、コンピュータ3000内のCPU3012によって使用されるプログラム及びデータを格納する。DVD-ROMドライブ3026は、プログラム又はデータをDVD-ROM3001から読み取り、ハードディスクドライブ3024にRAM3014を介してプログラム又はデータを提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。
ROM3030はその中に、アクティブ化時にコンピュータ3000によって実行されるブートプログラム等、及び/又はコンピュータ3000のハードウェアに依存するプログラムを格納する。入出力チップ3040はまた、様々な入出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ3020に接続してよい。
プログラムが、DVD-ROM3001又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもあるハードディスクドライブ3024、RAM3014、又はROM3030にインストールされ、CPU3012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ3000に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ3000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
例えば、通信がコンピュータ3000及び外部デバイス間で実行される場合、CPU3012は、RAM3014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェース3022に対し、通信処理を命令してよい。通信インターフェース3022は、CPU3012の制御の下、RAM3014、ハードディスクドライブ3024、DVD-ROM3001、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
また、CPU3012は、ハードディスクドライブ3024、DVD-ROMドライブ3026(DVD-ROM3001)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM3014に読み取られるようにし、RAM3014上のデータに対し様々なタイプの処理を実行してよい。CPU3012は次に、処理されたデータを外部記録媒体にライトバックしてよい。
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU3012は、RAM3014から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM3014に対しライトバックする。また、CPU3012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU3012は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ3000上又はコンピュータ3000近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それにより、上記のプログラムを、ネットワークを介してコンピュータ3000に提供する。
上記実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
[実施例]
次に、スマートフォンの加速度センサ及び角速度センサの出力に基づいて、ユーザの属性及び移動手段を推定した実証実験の結果が説明される。実証実験は、下記の手順により実施された。
(教師データ及び評価用データの準備)
(a)ユーザ属性の推定処理に用いられるデータの取得
スマートフォン用のアプリケーションプログラムであるWalkCoin(Agoop社製)の歩数計機能を利用して、ユーザ属性の推定処理に用いられる教師データ及び評価用データが準備された。WalkCoinは、(i)スマートフォンの3軸加速度センサ及び3軸角速度センサから、加速度及び角加速度のデータを取得し、(ii)加速度及び角加速度のデータと、当該データの取得時刻を示す情報とが対応付けられたログデータを生成した。なお、他の実施形態において、ログデータは、上記の取得時刻を示す情報を含まなくてもよい。
本実施例においては、スマートフォンの3軸加速度センサの出力値が重力成分を含んでいたので、WalkCoinは、当該3軸加速度センサの出力値に基づいて、重力成分を含まない加速度のデータを生成した。これにより、(i)重力成分を含む加速度、(ii)重力成分を含まない加速度、及び、(iii)角加速度を含むログデータが生成された。各ユーザのログデータは、各ユーザのユーザIDと対応付けてサーバに送信された。
また、WalkCoinの利用開始時に、WalkCoinの各ユーザの基本情報として、各ユーザの性別、年代、身長及び体重のデータが、各ユーザにより入力された。WalkCoinに入力された基本情報は、ユーザIDと対応付けてサーバに送信された。なお、ユーザの年代は、1歳刻みで入力された。身長は、1cm刻みで入力された。体重は、1kg刻みで入力された。
上記の基本情報は、上記のログデータを教師データ又は評価用データとして利用するためのラベル(正解ラベルと称される場合がある。)として利用された。具体的には、サーバにおいて、ユーザIDをキーとしてログデータ及び基本情報が統合され、教師用データ及び評価用データが生成された。1つのログデータから1つの教師用データ又は評価用データが生成された。
その結果、WalkCoinのインストールされた4519台のスマートフォンのうち、ユーザの同意が得られたスマートフォンから取得されたログデータの一部が、教師データとして利用された。また、残りのログデータが、評価用データとして利用された。1ログあたりのデータ取得時間は10秒であった。
(b)移動手段の推定処理に用いられるデータの取得
今回の実証実験のために、スマートフォンの3軸加速度センサ及び3軸角速度センサの出力データを取得するためのアプリケーションプログラムが開発された。上記のアプリケーションプログラムは、スマートフォン上で実行されると、当該スマートフォンのコンピュータ又はプロセッサに、当該スマートフォンの3軸加速度センサ及び3軸角速度センサから、加速度及び角加速度のデータを取得する手順を実行させるように構成された。また、上記のアプリケーションプログラムは、スマートフォンのコンピュータ又はプロセッサに、ユーザが測定開始を指示してからユーザが測定終了を指示するまで、上記のデータを取得する手順を実行させるように構成された。
上記のアプリケーションプログラムは、スマートフォンのコンピュータ又はプロセッサに、スマートフォンの3軸加速度センサ及び3軸角速度センサの出力データに基づいて、ログデータを生成するように構成された。具体的には、上記のアプリケーションプログラムは、スマートフォンのコンピュータ又はプロセッサに、例えば、(i)スマートフォンの3軸加速度センサ及び3軸角速度センサの出力データを取得する手順と、(ii)スマートフォンの3軸加速度センサの出力値が重力成分を含んでいる場合、当該3軸加速度センサの出力値に基づいて、重力成分を含まない加速度のデータを生成する手順と、(iii)取得されたデータを分割して、複数のログデータを生成する手順とを実行させるように構成された。
上記のログデータを生成する手順は、測定が開始された直後のデータを除去する手順と、測定が終了される直前のデータを除去する手順と、残りのデータを分割する手順とを含むように構成された。より具体的には、まず、測定が開始された最初の5秒のデータと、測定が終了される最後の5秒のデータとが除去された。次に、残りのデータが10秒ごとに分割された。その後、上記の分割処理により得られた複数のデータのそれぞれが、1つのログデータとして出力された。なお、上記の分割処理において、10秒に満たない端数のデータは破棄された。上記の処理により得られた複数のログデータが、ユーザIDと対応付けてサーバに送信された。
また、上記のアプリケーションプログラムは、測定開始時に、ユーザに対して移動手段及び通信端末の持ち方の入力を要求した。移動手段の選択肢としては、徒歩、電車、バス、車、自転車、新幹線、及び、飛行機が用意された。通信端末の持ち方の選択肢としては、スボン前、ズボン後、鞄、手持ち、及び、その他が用意された。ユーザにより入力された上記の情報は、ユーザIDと対応付けてサーバに送信された。
上記の移動手段及び通信端末の持ち方に関する情報は、上記のログデータを教師データ又は評価用データとして利用するためのラベル(正解ラベルと称される場合がある。)として利用された。具体的には、サーバにおいて、ユーザIDをキーとして、ログデータと、移動手段及び持ち方に関するデータとが統合された。これにより、教師データ及び評価データが生成された。なお、1つのログデータから1つの教師用データ又は評価用データが生成された。
その結果、上記のアプリケーションプログラムがインストールされた31台のスマートフォンのうち、ユーザの同意が得られたスマートフォンから取得されたログデータの一部が教師データとして利用された。また、残りのログデータが、評価用データとして利用された。
(機械学習の詳細)
非特許文献1に記載されたアルゴリズムと同様にして、入力層、第1畳み込み層、第1プーリング層、第2畳み込み層、第2プーリング層、全結合層、及び、出力層を有する畳み込みニューラルネットワークが構築された。入力層、第1畳み込み層、第1プーリング層、第2畳み込み層、第2プーリング層及び全結合層の各層においては、パラメータは異なるものの、同一のアルゴリズムが用いられた。
なお、非特許文献1においては、入力層の次元が36であり、入力層のサンプリング数が68個であり、画像データ500に相当する画像データのみが用いられていたのに対し、本実施例においては、入力層の次元が37であり、入力層のサンプリング数が100個であり、画像データ500及びCNN用入力データ600に相当する画像データが用いられた。また、画像500は、1列に並べられた複数の基本ブロック440により生成された。なお、本実施例においては、入力層のサンプリング間隔が0.1秒であり、各ログデータの長さが10秒であったことから、上記のサンプリング数が100個となった。
上記の畳み込みニューラルネットワークを利用して、スマートフォンの加速度及び角加速度から、ユーザの性別を推定するための学習モデルが生成された。具体的には、上記の畳み込みニューラルネットワークに、24968個の教師データを入力して、機械学習を行った。上記の教師データは、男女比率が均一となるように無作為に抽出された。
同様に、上記の畳み込みニューラルネットワークを利用して、スマートフォンの加速度及び角加速度から、ユーザの年齢を推定するための学習モデルが生成された。具体的には、上記の畳み込みニューラルネットワークに、24968個の教師データを入力して、機械学習を行った。上記の教師データには、年齢が20歳から79歳までのデータが含まれていた。
同様に、上記の畳み込みニューラルネットワークを利用して、スマートフォンの加速度及び角加速度から、ユーザの身長を推定するための学習モデルが生成された。具体的には、上記の畳み込みニューラルネットワークに、24968個の教師データを入力して、機械学習を行った。上記の教師データには、身長が150cmから190cmまでのデータが含まれていた。
同様に、上記の畳み込みニューラルネットワークを利用して、スマートフォンの加速度及び角加速度から、ユーザの体重を推定するための学習モデルが生成された。具体的には、上記の畳み込みニューラルネットワークに、24968個の教師データを入力して、機械学習を行った。上記の教師データは、体重が30kgから143kgまでのデータが含まれていた。
同様に、上記の畳み込みニューラルネットワークを利用して、スマートフォンの加速度及び角加速度から、ユーザの移動手段を推定するための学習モデルが生成された。具体的には、上記の畳み込みニューラルネットワークに、6420個の教師データを入力して、機械学習を行った。
(推定処理の評価)
上記の性別、年齢、身長、体重及び移動手段のそれぞれを推定するための学習モデルに、正解ラベルに関する情報を含まない評価用データを入力して、ユーザの性別、年齢、身長、体重及び移動手段のそれぞれの推定結果が得られた。ユーザの性別、年齢、身長及び体重の推定には、8398個の評価用データが用いられた。また、ユーザの移動手段の推定には、2667個の評価用データが用いられた。
各評価用データに関する推定結果と、各評価用データの正解ラベルとを比較することで、モデルの性能が評価された。具体的には、上記の推定モデルの性能は、Precision、Recall及びAccuracyにより評価された。予測結果が正であり真の結果が正である場合をTP、予測結果が負であり真の結果が正である場合をFN、予測結果が正であり真の結果が負である場合をFP、予測結果が負であり真の結果が負である場合をTNとすると、Precisionは、TP/(TP+FP)として算出される。同様に、Recallは、TP/(TP+FN)として算出される。また、Accuracyは、(TP+TN)/(TP+FP+TN+FN)として算出される。
(評価結果)
(a)性別
ユーザの性別が男性である場合、Precisionが47.2%であり、Recallが66.4%であった。また、ユーザの性別が女性である場合、Precisionが75.5%であり、Recallが75.5%であった。また、全体のAccuracyは、61.2%であった。このように、ユーザの性別が、実用上十分な精度で推定された。
(b)年齢
実際の年齢と推定された年齢との誤差が10歳以内である場合に正解としたとき、Accuracyは、56.2%であった。また、上記の誤差が8歳以内である場合に正解としたとき、Accuracyは、46.6%であった。上記の誤差が5歳以内である場合に正解としたとき、Accuracyは、30.2%であった。このように、ユーザの性別が、実用上十分な精度で推定された。
(c)身長
実際の身長と推定された身長との誤差が10cm以内である場合に正解としたとき、Accuracyは、85.9%であった。また、上記の誤差が8cm以内である場合に正解としたとき、Accuracyは、76.1%であった。上記の誤差が5cm以内である場合に正解としたとき、Accuracyは、53.3%であった。このように、ユーザの性別が、実用上十分な精度で推定された。
(d)体重
実際の体重と推定された体重との誤差が10kg以内である場合に正解としたとき、Accuracyは、59.6%であった。また、上記の誤差が8kg以内である場合に正解としたとき、Accuracyは、48.4%であった。上記の誤差が5kg以内である場合に正解としたとき、Accuracyは、30.9%であった。このように、ユーザの性別が、実用上十分な精度で推定された。
(e)移動手段
ユーザの移動手段が歩行である場合、Precisionが83.9%であり、Recallが90.0%であった。ユーザの移動手段が電車である場合、Precisionが74.9%であり、Recallが96.4%であった。ユーザの移動手段が車である場合、Precisionが69.6%であり、Recallが11.7%であった。ユーザの移動手段が自転車である場合、Precisionが98.5%であり、Recallが39.9%であった。また、全体のAccuracyは、76.9%であった。このように、ユーザの性別が、実用上十分な精度で推定された。
以上のとおり、本実施例によれば、スマートフォンの加速度及び角加速度のデータから、当該スマートフォンのユーザの性別、年齢、身長、体重及び移動手段を推定することができた。上述されたとおり、歩容解析の技術分野において、外部要因、内部要因、身体的要因、心理的要因、生理学的要因、病理学的要因などが、対象の歩行に影響を与えることが知られている。したがって、歩容解析の技術分野における技術常識に鑑みて、これらの各種の要因についても、ユーザの性別、年齢、身長、体重及び移動手段と同様に、スマートフォンの加速度及び角加速度のデータから推定され得ることが推認される。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。また、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。また、各構成要素は、名称が同一で、参照符号が異なる他の構成要素と同様の特徴を有してもよい。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。