特許第6984467号(P6984467)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許6984467食事推定プログラム、食事推定方法及び食事推定装置
<>
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000002
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000003
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000004
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000005
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000006
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000007
  • 特許6984467-食事推定プログラム、食事推定方法及び食事推定装置 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6984467
(24)【登録日】2021年11月29日
(45)【発行日】2021年12月22日
(54)【発明の名称】食事推定プログラム、食事推定方法及び食事推定装置
(51)【国際特許分類】
   A61B 5/0255 20060101AFI20211213BHJP
   G06Q 50/22 20180101ALI20211213BHJP
【FI】
   A61B5/0255 Z
   G06Q50/22
【請求項の数】5
【全頁数】19
(21)【出願番号】特願2018-21448(P2018-21448)
(22)【出願日】2018年2月8日
(65)【公開番号】特開2019-136256(P2019-136256A)
(43)【公開日】2019年8月22日
【審査請求日】2020年11月10日
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】森 達也
(72)【発明者】
【氏名】前田 一穂
(72)【発明者】
【氏名】内田 大輔
(72)【発明者】
【氏名】猪又 明大
(72)【発明者】
【氏名】柳沼 義典
【審査官】 田辺 正樹
(56)【参考文献】
【文献】 国際公開第2017/081829(WO,A1)
【文献】 国際公開第2017/081787(WO,A1)
【文献】 国際公開第2017/077615(WO,A1)
【文献】 国際公開第2016/092707(WO,A1)
【文献】 特開2003−173375(JP,A)
【文献】 米国特許出願公開第2012/0316451(US,A1)
【文献】 特開2016−053801(JP,A)
【文献】 特開2017−012249(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A61B5/02−5/03
G06Q50/22
G16H10/00
(57)【特許請求の範囲】
【請求項1】
心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータに実行させることを特徴とする食事推定プログラム。
【請求項2】
算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の食事推定プログラム。
【請求項3】
算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする請求項1に記載の食事推定プログラム。
【請求項4】
心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータが実行することを特徴とする食事推定方法。
【請求項5】
心拍データと食事期間を取得する取得部と、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出する確信度算出部と、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する変換部と、
を有することを特徴とする食事推定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、食事推定プログラム、食事推定方法及び食事推定装置に関する。
【背景技術】
【0002】
ヘルスケアのサポートには、日常生活の様々な行動、例えば食事や排尿、排便などの記録が活用される。これらの行動のうち食事を検知する技術として、計測した心拍データと学習モデルとを比較して、学習モデルとの相関や類似度などから、計測期間中における食事行動期間を特定するものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2017/081829号
【特許文献2】国際公開第2017/081787号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の技術は、食事行動期間として食事が行われた期間を特定するものに過ぎない。それ故、上記の技術では、食事の内容にまで踏み込んだ情報を得るのは困難である。
【0005】
1つの側面では、本発明は、食事内容にかかわる情報を生成できる食事推定プログラム、食事推定方法及び食事推定装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
一態様では、食事推定プログラムは、心拍データと食事期間を取得し、取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、処理をコンピュータに実行させる。
【発明の効果】
【0007】
食事内容にかかわる情報を生成できる。
【図面の簡単な説明】
【0008】
図1図1は、実施例1に係るヘルスケア支援システムに含まれる各装置の機能的構成の一例を示す図である。
図2A図2Aは、特徴量と食事摂取指標との関係の一例を示す図である。
図2B図2Bは、特徴量と食事摂取指標との関係の一例を示す図である。
図3図3は、モデルの学習方法の一例を示す模式図である。
図4図4は、対応情報の一例を示す図である。
図5図5は、実施例1に係る食事推定処理の手順を示すフローチャートである。
図6図6は、実施例1及び実施例2に係る食事推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して本願に係る食事推定プログラム、食事推定方法及び食事推定装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0010】
[システム構成]
図1は、実施例1に係るヘルスケア支援システムに含まれる各装置の機能的構成の一例を示す図である。図1に示すヘルスケア支援システム1は、各種のヘルスケア支援サービスを提供するものである。このようなヘルスケア支援サービスの例として、ウェアラブル端末10により取得される心拍データを用いて、対象者の食事内容にかかわる情報を記録するサービス、さらには、その記録を活用する派生のサービスなどが挙げられる。
【0011】
ここで言う「食事内容にかかわる情報」の例として、カロリーの高低や食事体積の大小、食事重量の軽重、消化負荷量の大小、満腹度などが対応する。これはあくまで例示であり、食事の摂取に関連する程度が少なくとも相対的に表現された度合いを表す指標の全般がその範疇に含まれる。このような指標のことを以下では「食事摂取指標」と記載する場合がある。この食事摂取指標は、必ずしも定量的に数値化された指標でなくてもかまわない。
【0012】
図1に示すように、ヘルスケア支援システム1には、ウェアラブル端末10と、IoT(Internet of Things)デバイス20と、サーバ装置30とが含まれる。なお、図1には、IoTデバイス20が1つのウェアラブル端末10から得られる情報を収容する場合を図示したが、IoTデバイス20は複数のウェアラブル端末10から得られる情報を収容することとしてもかまわない。また、図1には、サーバ装置30が1つのIoTデバイス20から得られる情報を収容する場合を例示したが、サーバ装置30には、複数のIoTデバイス20が収容されることとしてもかまわない。
【0013】
これらのうち、ウェアラブル端末10及びIoTデバイス20の間では、一例として、BLE(Bluetooth(登録商標) Low Energy)などの近距離無線通信を介してデータが授受される。これはあくまで一例であり、ウェアラブル端末10及びIoTデバイス20が有線により接続されることとしてもかまわない。また、IoTデバイス20及びサーバ装置30の間は、有線または無線を問わず、任意のネットワークを介して接続することができる。このようなネットワークの一例として、3G(Generation)、LTE(Long Term Evolution)、4Gや5Gなどに対応するモバイルネットワークの他、LAN(Local Area Network)やVPN(Virtual Private Network)などの構内通信網を始め、インターネットなどが挙げられる。
【0014】
ウェアラブル端末10は、上記のヘルスケア支援サービスの提供を受ける対象者が装着することにより利用されるコンピュータである。例えば、ウェアラブル端末10は、腕輪型、リストバンド型、あるいは指輪型のガジェットであってもよいし、頭部に装着されるヘッドマウントディスプレイやスマートグラスであってもよいし、また、胸部や腰部などの胴体の他、足首に装着されるタイプのデバイスであってもよい。
【0015】
例えば、ウェアラブル端末10には、対象者の心拍を計測する心拍センサ11が搭載される。ここで言う「心拍数」とは、血液を送り出す心臓の拍動回数を指す。例えば、心拍センサ11に心拍数の変化に対応する血流量の変化を測定する光電脈波センサを採用することにより、単位時間あたりの心拍数を計測できる。このとき、単位時間を1分間とする場合、心拍数はbpm(beats per minute)等で表現される。また、単位時間を1秒間とする場合、心拍数はHzで表現される。この他、心拍センサ11には、心臓の電気的活動を計測する心電センサを採用することもできる。この場合、心電波形におけるR波とR波の間隔を心拍数の代わりに用いることができる。このように心拍センサ11により計測される心拍数の時系列データは、IoTデバイス20へ出力される。以下では、心拍センサ11により計測される心拍数の時系列データのことを「心拍データ」と記載する場合がある。
【0016】
なお、ここでは、心拍センサ11がウェアラブル端末10に搭載される場合を例示したが、必ずしもウェアラブル端末10に搭載されずともよく、対象者が生活する環境側に設置される環境センサであってもかまわない。例えば、対象者の生体の一部が所定のサンプリング周波数で撮像される画像に関する輝度の時系列変化から心拍数を検出したり、RF(Radio Frequency)モーションセンサを用いて拍動に伴うドップラ周波数を検出したりすることにより、心拍数の検出を対象者の生体部位に非接触の状態で実現することとしてもかまわない。
【0017】
IoTデバイス20は、ウェアラブル端末10をネットワークに接続する機能を一側面として有するデバイスである。このIoTデバイス20には、一例として、対象者が使用するスマートフォンや携帯電話機、PHS(Personal Handyphone System)などを始め、スレート端末やタブレット端末などの携帯端末装置が対応する。
【0018】
例えば、IoTデバイス20は、ウェアラブル端末10からBLE通信等を介して通知された心拍データをネットワークを介してサーバ装置30に転送する。このようにウェアラブル端末10からIoTデバイス20を介してサーバ装置30へ転送される心拍データなどのセンサイベントは、一例として、MQTT(Message Queuing Telemetry Transport)メッセージとして転送できる。このとき、心拍データは、心拍数が計測される度にリアルタイムで伝送されることとしてもよいし、所定期間、例えば12時間、1日間、1週間や1ヶ月などにわたって蓄積してから伝送することとしてもかまわない。また、心拍データは、心拍データを受信するサーバ装置30側で対象者であるウェアラブル端末10のユーザが識別可能な状態で送信される。例えば、心拍データは、ユーザの識別情報もしくはユーザの識別情報と関連付けられたウェアラブル端末10のMACアドレスや個体識別番号などの情報と共にサーバ装置30へ転送される。
【0019】
サーバ装置30は、上記のヘルスケア支援サービスを提供するコンピュータである。例えば、サーバ装置30は、パッケージソフトウェア又はオンラインソフトウェアとして、上記のヘルスケア支援サービスに対応する機能を実現するヘルスケア支援プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置30は、上記のヘルスケア支援サービスを提供するWebサーバとして実装することとしてもよいし、アウトソーシングによって上記のヘルスケア支援サービスを提供するクラウドとして実装することとしてもかまわない。
【0020】
ここで、上記の食事摂取指標を得るという目的を達成するために、本実施例では、食事行動期間の推定に用いる確信度を食事摂取指標へ変換するというアプローチを採用する。ここで言う「確信度」とは、心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示し、例えば、食事である確からしさや非食事である確からしさが数値化された指標として表される。このようなアプローチを採用するのは、機械学習に用いる教師データにラベルを付与する手間を簡素化するという動機付けが存在するからである。
【0021】
以下では、食事摂取指標の一例として、カロリーを例示して説明を行うが、以下の内容がカロリーの場合だけに該当するという趣旨ではなく、あくまで説明の便宜を図る上での例示であり、他の食事摂取指標であっても以下の内容が該当することは言うまでもない。
【0022】
このような動機付けがなければ、上記の先行技術文献の欄で挙げた特許文献2のように、1以上の特徴量を含む特徴ベクトルを用いて食事摂取指標を推定するアプローチにしか想到できない。そして、特許文献2のようなアプローチを採用する場合、食事に伴う心拍の反応が複雑であることから、1つの特徴量単独で食事摂取指標を推定するのは困難である。このため、特許文献2では、複数の特徴量を含む特徴ベクトルを用いて食事摂取指標が推定されるが、特徴ベクトルと食事摂取指標との関係を機械学習するためには、教師データごとにカロリーの値をラベル付けする手間が発生する。例えば、カロリーの値のラベル付けには、カロリー計算に栄養学に関する知識が必要となる上、教師データごとにカロリー計算を実行して数値入力を行う手間が発生するので、カロリーの値のラベルを入手する難易度が高い。
【0023】
これに比べて、食事または非食事のラベルを教師データに付与する手間は、カロリーの値のラベルを教師データに付与する手間よりも少ない。例えば、食事行動期間として、食事開始時刻や食事終了時刻をユーザ入力、電子マネー等の利用履歴または飲食店の購買履歴の分析などにより指定させることにより、食事のラベルを付与する教師データのサンプルを特定できるからである。それ故、食事または非食事のラベルを入手する難易度は相対的に低い。
【0024】
これらのことから、機械学習に用いる教師データにラベルを付与する手間を簡素化する技術的意義は、上記のヘルスケア支援サービスに対応する機能を実装する難易度を低下させるという一面からみて大きい。
【0025】
このように本来の用途とは異なる用途で確信度を用いることで、確信度を食事摂取指標へ変換することができる裏付けは、確信度が、単に食事行動の検出だけでなく、食事行動期間に摂取した食事内容との間にも相関があるという知見に基づく。
【0026】
図2A及び図2Bは、特徴量と食事摂取指標との関係の一例を示す図である。図2A及び図2Bには、心拍変化の特徴量(イ)を縦軸とすると共に心拍変化の特徴量(ロ)を横軸とするグラフが示されている。さらに、図2A及び図2Bに示すグラフには、特徴量(イ)及び特徴量(ロ)の算出に用いられたサンプルがプロットされている。さらに、図2A及び図2Bに示すプロットのうち、白丸のプロットは、非食事のサンプルに対応し、ハッチング付きのプロットは、低カロリーの食事のサンプルに対応し、また、黒丸のプロットは、高カロリーの食事のサンプルに対応する。なお、ここでは、説明の便宜上、2次元の特徴空間を例示したが、上記の相関は2次元の特徴空間に限定されず、N次元の特徴空間で各種類のサンプルに同様の傾向が得られる。
【0027】
図2Aに示すように、食事のサンプルの中でも高カロリーのサンプルであるほど、特徴量(イ)及び特徴量(ロ)に食事固有の特徴が顕著に現れる傾向があることがわかる。このような傾向は、高カロリーの食事は、咀嚼や胃液などでの食物分解や栄養素の吸収の過程で大きな身体活動を求めるという事実が存在する側面からも裏付けられる。
【0028】
図2Bには、図2Aに示すグラフ上に食事および非食事を識別する識別境界B1がさらに示されている。この識別境界B1は、一例として、低カロリーの食事のサンプル及び高カロリーの食事のサンプルを正例とすると共に非食事のサンプルを負例として機械学習を実行することにより得られる。図2Bに示すように、低カロリーの食事のサンプルは、高カロリーの食事のサンプルに比べて識別境界B1から近い距離に分布する一方で、高カロリーの食事のサンプルは、低カロリーの食事のサンプルに比べて識別境界B1から離れた距離に分布することがわかる。これら低カロリー及び高カロリーの食事のサンプルと識別境界B1との間の距離は、食事および非食事のクラス分類に用いる識別関数が出力する確信度に相当する。
【0029】
以上のように、カロリーと特徴量(イ)及び(ロ)との関係に定性的な傾向が存在するという発見から発展して、カロリーと確信度との間に相関があると知見を積み上げることができる。
【0030】
このような知見の裏付けの下、本実施例に係るサーバ装置30は、食事行動期間の推定を目的として、心拍データから算出される特徴量と、食事または非食事のラベルが付与された特徴量を入力として食事および非食事を識別する学習モデルとの比較から算出される食事らしさの確信度または非食事らしさの確信度を、食事摂取指標の生成に活用する。したがって、本実施例に係るサーバ装置30によれば、食事内容にかかわる情報を生成できる。さらに、本実施例に係るサーバ装置30では、食事内容にかかわる情報の生成に、既存の食事行動期間を推定する仕組みを流用できる。
【0031】
[サーバ装置30の機能的構成]
次に、本実施例に係るサーバ装置30の機能的構成について説明する。図1に示すように、サーバ装置30は、第一の取得部31Aと、第二の取得部31Bと、特徴量算出部32と、モデル記憶部33と、確信度算出部34と、対応情報記憶部35と、変換部36と、提供部37とを有する。なお、サーバ装置30は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば他の装置との間で通信制御を行う通信インタフェースなどを有することとしてもかまわない。
【0032】
図1に示す第一の取得部31A、第二の取得部31B、特徴量算出部32、確信度算出部34、変換部35および提供部36などの機能部は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などのハードウェアプロセッサにより仮想的に実現される。すなわち、プロセッサは、図示しない記憶装置、例えばHDD(Hard Disk Drive)、光ディスクやSSD(Solid State Drive)などの記憶装置からOS(Operating System)の他、上記のヘルスケア支援プログラムまたはそのモジュールである食推定正プログラムなどのプログラムを読み出す。その上で、プロセッサは、ヘルスケア支援プログラムや食事推定プログラムを実行することにより、RAM(Random Access Memory)等のメモリ上に上記の機能部に対応するプロセスを展開する。この結果、上記の機能部がプロセスとして仮想的に実現される。ここでは、プロセッサの一例として、CPUやMPUを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによって実現されることとしてもかまわない。
【0033】
上記のモデル記憶部33や対応情報記憶部35は、記憶装置として実装したり、記憶装置が有する記憶領域の一部を割り当てることにより実装したりすることができる。このような記憶装置には、各種の半導体メモリ素子、例えばRAM(Random Access Memory)やフラッシュメモリなどの主記憶装置が対応する。また、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、HDD、光ディスクやSSDなどを採用できる。
【0034】
第一の取得部31Aは、心拍センサ11から心拍データを取得する処理部である。この第一の取得部31Aにより取得された心拍数データは、特徴量算出部32へ出力される。このようにウェアラブル端末10から心拍数データなどのセンサイベントを取得する第一の取得部31Aの機能は、一例として、MQTTサーバ用のプログラムを実行させることにより実装できる。
【0035】
第二の取得部31Bは、食事行動期間を取得する処理部である。ここで言う「食事行動期間」は、食事が開始された時刻、食事が終了した時刻、もしくは、これらの両方により定まる食事の期間のうち少なくともいずれか1つに対応する。また食事期間は食事期間の一部であっても良いし、食事が開始または終了した時刻は正確でなくても、その直近直後の時刻であれば良い。以下、これらを個別に説明する場合、「食事開始時刻」、「食事終了時刻」、「食事期間」と記載する場合がある。
【0036】
一つの側面として、第二の取得部31Bは、ユーザ入力を通じて上記の食事行動期間を取得することができる。例えば、第二の取得部31Bは、上記のヘルスケア支援サービスの提供を受ける対象者が使用するユーザ端末で動作するクライアント用のアプリケーションプログラムが提供するGUI経由で、上記の食事行動期間の入力を受け付けることができる。このようなクライアント用のアプリケーションプログラムの例として、ブラウザを始め、上記のヘルスケア支援サービスを実現するクライアント用のヘルスケア支援プログラムなどが挙げられる。なお、上記のユーザ端末は、任意のコンピュータであってよく、ウェアラブル端末10やIoTデバイス20を始め、対象者が使用する他のコンピュータであってもかまわない。
【0037】
他の側面として、第二の取得部31Bは、上記のユーザ端末に保存されるユーザデータにAI(Artificial Intelligence)等を用いた行動分析を実行することにより、上記の食事行動期間を推定することもできる。例えば、ユーザデータの例として、クレジットカードや電子マネー、その他のプリペイドカード等の利用履歴が挙げられる。この利用履歴から飲食店に対応する店名を検索することにより、検索にヒットする店名の利用日時を食事行動期間として推定することができる。このとき、店名の支払いの形態が前払い式に該当する場合、利用日時が食事開始時刻として推定される。一方、店名の支払いの形態が後払い式に該当する場合、利用日時が食事終了時刻として推定される。
【0038】
特徴量算出部32は、心拍データから心拍変化にかかわる特徴量を算出する処理部である。
【0039】
一実施形態として、特徴量算出部32は、第一の取得部31Aにより取得される心拍データに所定の時間長、例えば210分間を持つ窓を設定する。続いて、特徴量算出部32は、窓が設定された区間に対応する部分データを切り出す。その後、特徴量算出部32は、前回に設定された窓を所定のずらし幅、例えば5分間だけシフトさせる。その上で、特徴量算出部32は、シフト後の窓に対応する部分データを切り出す。以下、心拍データのうち窓に対応する部分が切り出された部分データのことを「窓データ」と記載する場合がある。
【0040】
このように切り出される窓データごとに、特徴量算出部32は、当該窓データの開始時刻から所定の期間、例えば60分間までの期間を食事前とし、窓データの開始時刻から所定の時間後を「食事開始時刻」として、特徴量の算出を実行する。
【0041】
ここで、心拍変化にかかわる特徴量の一例について説明する。例えば、食事に伴って食事開始後に発生する心拍数の変化には、時間経過に伴って心拍数が上昇(増加)して下降(減少)に転ずる2つのピークが存在する。すなわち、食事開始時刻から時間経過に伴って、食事開始後に先行して出現する心拍数変化のピークである「第1ピーク」と、第1ピークに後続して出現する心拍数変化のピークである「第2ピーク」とが出現する。なお、以下では、第1ピークの部分の波形を含む所定の領域のことを「第1ピーク領域」と記載し、第2ピークの部分の波形を含む所定の領域のことを「第2ピーク領域」と記載する場合がある。
【0042】
このうち、「第1ピーク」は、食事行為に伴う心拍上昇であり、例えば、咀嚼や食道の蠕動運動に起因する心拍数上昇と推定される。また、「第2ピーク」は、例えば、食事行為により摂取された摂取物、すなわち食物等に対する消化器官(胃腸等)内の消化活動に起因する心拍数上昇と推定される。このことから、食事後には、第1ピークが現れた後に第2ピークが現れ、かつ第1ピークよりも第2ピークの方が長期間にわたる傾向にあるという知見を得ることができる。
【0043】
これら第1ピークおよび第2ピークの傾向から、特徴量算出部32は、上記の窓データから、下記の特徴量を算出することができる。例えば、第1ピーク領域a1の面積、及び、第2ピーク領域a2の面積などを特徴量として算出できる。また、第1ピークへ至るまでの心拍数の上昇速度、第2ピークへ至るまでの心拍数の上昇速度、第1ピークからの心拍数の回復速度、及び、第2ピークからの心拍数の回復速度なども特徴量として算出できる。また、第1ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数P1、及び、第2ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数P2を特徴量として算出できる。また、食事開始時刻を始点としたとき、最大心拍数P1が計測される時刻を終点とする経過時間t1、最大心拍数P1を経た心拍数が所定値まで回復する時刻を終点とする経過時間t2、最大心拍数P2が計測される時刻を終点とする経過時間t3、及び、最大心拍数P2を経た心拍数が所定値まで回復する時刻を終点とする経過時間t4などを特徴量として算出することもできる。この他、食事開始時刻以前に計測される心拍数のうち最低の値をとる食事前心拍数と、食事開始時刻以前の区間で食事前心拍数から食事開始時刻の心拍数までの心拍数の上昇幅により形成される領域の面積とを特徴量として算出することもできる。なお、以下では、上述の特徴量のうちの1又は複数の特徴量がn次元のベクトル形式で表現されたもののことを「特徴ベクトル」と記載する場合がある。
【0044】
モデル記憶部33は、上記の食事行動期間の推定に用いるモデルを記憶する記憶領域である。以下では、機械学習のアルゴリズムのあくまで一例として、サポートベクタマシン(SVM:Support Vector Machine)を例示するが、他の機械学習のアルゴリズム、例えばブースティングやニューラルネットワーク等を用いることができる。
【0045】
ここで、上記の「モデル」の一例として、上記の窓データを入力とし、食事または非食事のいずれかのクラスの分類結果を出力とするクラス分類器が生成される。例えば、モデルの生成には、上記の窓データごとに当該窓データに対応する区間に正例「食事」または負例「非食事」のクラスのラベルが付与された教師データの学習サンプルの集合がデータセットとして用いられる。このようなデータセットを用いて、サポートベクトルと識別境界との距離を最大化する識別関数のパラメータが学習される。ここで言う「サポートベクトル」とは、食事のクラスのラベルが付与された教師データの集合と、非食事のクラスのラベルが付与された教師データの集合との境界の近傍に位置する教師データの特徴ベクトルに対応する。このような識別関数が出力する値が正負のいずれであるかにより食事または非食事のクラスを分類するクラス分類器がモデルとして得られる。ここで、モデルがクラス分類に用いる識別関数の出力値が識別境界からの距離、すなわち「確信度」に対応する。
【0046】
図3は、モデルの学習方法の一例を示す模式図である。図3には、モデルの学習に用いる心拍データの波形H1がグラフ上に示されている。図3に示すグラフの縦軸は、心拍数[bpm]を指し、横軸は時刻[HH:MM]を指す。図3に示すように、モデルの学習時には、心拍データの波形H1から窓データW1〜Wnが切り出される(S1)。すなわち、心拍データの波形H1の先頭の時刻から所定の時間長、例えば210分間に対応する区間に窓が設定される。このように窓が設定された区間に対応する部分データが窓データW1として切り出される。その後、心拍データの波形H1に設定する窓の先頭が所定のずらし幅α、例えば5分だけシフトされる。その上で、シフト後の窓に対応する部分データが窓データW2として切り出される。このような窓データの切り出しが繰り返されることにより、心拍データの波形H1から窓データW1〜Wnを切り出すことができる。
【0047】
このように切り出された窓データW1〜Wnごとに心拍の時間変化にかかわる特徴量が算出される(S2)。例えば、上記の特長量算出部32が算出する特徴量と同じ種類の特徴量が算出される。図3の例で言えば、窓データの先頭から最初に現れる第1ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数P1が特徴量1として算出されると共に、当該第1ピーク領域a1の面積が特徴量2として算出される例が示されている。これにより、窓データW1〜Wnごとに算出された2次元の特徴ベクトルが学習サンプルとして用意される。なお、図3には、あくまで一例として、2次元の特徴ベクトルを算出する場合を例示したが、特徴ベクトルの次元数は2次元に限定されず、また、特徴量の種類も上記の2種類に限定されない。例えば、上記の5種類14個の特徴量のうち任意の種類および任意の個数の特徴量の組がベクトル化された特徴ベクトルをモデルの学習に用いることができる。この他、上記の5種類14個の特徴量に限らず、既知の任意の特徴量を算出することができるのは言うまでもない。
【0048】
この特徴量の算出後、もしくは特徴量の算出と並行して、学習サンプルに正解のクラスのラベルを付与するために、上記の食事行動期間が取得される(S3)。この食事行動期間も上記の第二の取得部31Bと同様の方法で取得することができる。このように取得された食事行動期間にしたがって窓データW1〜Wnから算出された特徴量に食事または非食事のラベルが付与される。例えば、食事行動期間として食事開始時刻が取得された場合、食事開始時刻から所定の期間、例えばシステムの設定値やユーザ入力の値などの範囲と重複する窓データにはクラス「食事」のラベルが付与される一方で、上記の範囲と重複しない窓データにはクラス「非食事」のラベルが付与される。また、食事行動期間として食事終了時刻が取得された場合、食事終了時刻から遡って所定の期間の範囲と重複する窓データにはクラス「食事」のラベルが付与される一方で、上記の範囲と重複しない窓データにはクラス「非食事」のラベルが付与される。さらに、食事行動期間として食事期間が取得された場合、食事期間と重複する窓データにはクラス「食事」のラベルが付与される一方で、食事期間と重複しない窓データにはクラス「非食事」のラベルが付与される。
【0049】
このように学習サンプルの窓データW1〜Wnごとに正解のクラスのラベルが付与された教師データの集合をデータセットとして機械学習が実行される(S4)。例えば、サポートベクタマシンの場合、サポートベクトルと識別境界B1との距離、いわゆるマージンを最大化する識別関数のパラメータが学習される。このような識別関数が出力する値が正負のいずれであるかにより食事または非食事のクラスを分類するクラス分類器がモデルとしてモデル記憶部33に保存される。
【0050】
なお、ここでは、全ての教師データにおいてカロリーの値またはレベルが未知である場合を例示したが、一部の教師データでもカロリーの値またはレベルが入手できる場合、その教師データに対応するカロリーの値またはレベルが高いほど当該教師データの特徴ベクトルに付与する重みよりも大きくすることができる。
【0051】
確信度算出部34は、モデルを用いて確信度を算出する処理部である。
【0052】
一実施形態として、確信度算出部34は、特徴量算出部32により窓データごとに特徴量が算出される度に、当該窓データから算出されたn次元の特徴ベクトルをモデル記憶部33に記憶されたモデルに入力する。この特徴ベクトルの入力によって、モデルの識別関数が特徴ベクトルと識別境界との距離を出力する。そして、確信度算出部34は、モデルの識別関数により出力された特徴ベクトルと識別境界との距離を確信度として算出する。
【0053】
対応情報記憶部35は、確信度と食事摂取指標のレベルとが対応付けられた対応情報を記憶する記憶領域である。ここでは、食事摂取指標のあくまで一例として、カロリーの多寡を挙げて説明を行う。図4は、対応情報の一例を示す図である。図4に示す対応情報の例で言えば、確信度「0〜0.7」と食事摂取指標「低カロリー」とが対応付けられ、確信度「0.7〜0.9」と食事摂取指標「中カロリー」が対応付けられると共に、確信度「0.9〜」と食事摂取指標「高カロリー」が対応付けられている。
【0054】
このような対応情報は、所与の値とする。
【0055】
変換部36は、対応情報を用いて、確信度を食事摂取指標に変換する処理部である。
【0056】
一実施形態として、変換部36は、確信度算出部34により確信度が算出された窓データのうち、第二の取得部31Bにより取得された食事行動期間から定まる食事期間に対応する窓データを抽出する。例えば、変換部36は、窓データのうち窓データの先頭の時刻が上記の食事期間に含まれる窓データを抽出する。続いて、変換部36は、食事行動期間を用いて抽出された窓データの確信度に統計処理、例えば相加平均値や加重平均値の算出、中央値の抽出、最頻値の抽出などを実行する。これによって、食事行動期間を用いて抽出された窓データの確信度を代表する代表値が算出される。そして、変換部36は、対応情報に含まれる食事摂取指標のレベルのうち、食事行動期間を用いて抽出された窓データの確信度の代表値に対応する食事摂取指標のレベルを識別する。その上で、変換部36は、食事行動期間を用いて抽出された窓データの確信度の代表値を先に識別された食事摂取指標のレベルへ変換する。例えば、図4の例で言えば、確信度の代表値が0以上0.7未満である場合、確信度の代表値は食事摂取指標のレベル「低カロリー」に変換される。また、確信度の代表値が0.7以上0.9未満である場合、確信度の代表値は食事摂取指標のレベル「中カロリー」に変換される。また、確信度の代表値が0.9以上である場合、確信度の代表値は食事摂取指標のレベル「高カロリー」に変換される。
【0057】
なお、ここでは、あくまで一例として、心拍データから生成される窓データのうち食事行動期間に対応する窓データを抽出する処理を確信度から食事摂取指標へ変換する段階で実行する例を説明したがこれに限定されない。例えば、確信度が算出される段階で食事行動期間に対応する窓データを抽出してもよいし、特徴量が算出される段階で食事行動期間に対応する窓データを抽出してもよいし、窓データが生成された段階で食事行動期間に対応する窓データを抽出してもよい。
【0058】
提供部37は、上記のヘルスケア支援サービスを提供する処理部である。
【0059】
一実施形態として、提供部37は、食事行動期間が取得される食事イベントごとに食事摂取指標のレベルが対応付けられた履歴を履歴蓄積やレコメンドの出力などの機能をバックエンドで実行するサービスやアプリケーション、AI、サーバ装置30外部のコンピュータへ出力する。これによって、上述のヘルスケア支援サービスが実現される。例えば、食事イベントごとの食事摂取指標のレベルを対応付けられた履歴を記録したり、所定期間、例えば1週間などにわたる事摂取指標のレベルの一覧表や推移のグラフを生成した上で出力したりすることができる。この他、食事イベントごとの食事摂取指標のレベルの推移から食習慣またはダイエットに関する分析を行った上で各種のアドバイスやレコメンドを出力したりする。このようなアドバイスやレコメンドは、一例として、対象者により使用されるIoTデバイス20に出力させることができる他、対象者の関係者、例えば親族、産業医などの医療担当者または介護担当者などにより使用される端末装置に出力することもできる。これによって、上記のヘルスケア支援サービスが実現される。この他にも様々な出力が可能であり、その詳細は後述する。
【0060】
[処理の流れ]
図5は、実施例1に係る食事推定処理の手順を示すフローチャートである。この処理は、一例として、心拍データが取得された場合に実行される。図5に示すように、第一の取得部31Aは、心拍データを取得する(ステップS101)。これと同時または前後して、第二の取得部31Bは、ユーザ入力、あるいはユーザデータの行動分析等を通じて、食事行動期間を取得する(ステップS102)。
【0061】
そして、特徴量算出部32は、ステップS101で取得された心拍データの先頭の時刻から順に所定のずらし幅で所定の時間長の窓をシフトさせながら窓を設定することにより、窓が設定される度に当該窓に対応する区間の部分データを窓データとして切り出す。これによって、心拍データから複数の窓データが生成される(ステップS103)。
【0062】
続いて、特徴量算出部32は、ステップS103で生成された窓データのうち1つの窓データを選択する(ステップS104)。その上で、特徴量算出部32は、ステップS104で選択された窓データから、所定の個数、例えばn個の特徴量を算出する(ステップS105)。
【0063】
そして、確信度算出部34は、ステップS105で窓データから算出されたn次元の特徴ベクトルをモデル記憶部33に記憶されたモデルに入力することにより、モデルの識別関数により出力される特徴ベクトルと識別境界との距離を確信度として算出する(ステップS106)。
【0064】
その後、ステップS103で生成された全ての窓データが選択されるまで(ステップS107No)、上記のステップS104〜上記のステップS106の処理が繰り返して実行される。
【0065】
そして、ステップS103で生成された全ての窓データが選択された場合(ステップS107Yes)、変換部36は、ステップS106で確信度が算出された窓データのうち、ステップS102で取得された食事行動期間から定まる食事期間に対応する窓データを抽出する(ステップS108)。
【0066】
続いて、変換部36は、食事行動期間を用いて抽出された窓データの確信度の代表値、例えば平均値を算出する(ステップS109)。その上で、変換部36は、対応情報記憶部35に記憶された対応情報を用いて、ステップS108で抽出された窓データの確信度の代表値を食事摂取指標のレベルへ変換する(ステップS110)。
【0067】
その後、提供部37は、ステップS110で得られた食事イベントの食事摂取指標のレベルを履歴蓄積やレコメンドの出力などの機能をバックエンドで実行するサービスやアプリケーション、AI、サーバ装置30外部のコンピュータへ出力し(ステップS111)、処理を終了する。
【0068】
[効果の一側面]
上述してきたように、本実施例に係るサーバ装置30は、食事行動期間の推定を目的として、心拍データから算出される特徴量と、食事または非食事のラベルが付与された特徴量を入力として食事および非食事を識別する学習モデルとの比較から算出される食事らしさの確信度を、食事摂取指標の生成に活用する。したがって、本実施例に係るサーバ装置30によれば、食事内容にかかわる情報を生成できる。さらに、本実施例に係るサーバ装置30では、食事内容にかかわる情報の生成に、既存の食事行動期間を推定する仕組みを流用できる。
【実施例2】
【0069】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0070】
[確信度の補正]
上記の実施例1では、ウェアラブル端末10が装着される対象者の区別なく、各対象者から計測された心拍データに同様の処理が実行される場合を例示したが、対象者の個人特性や食事の摂取量に合わせて確信度算出部34が算出する確信度を補正することができる。
【0071】
(1)確信度の個人差
すなわち、ある対象者Aが体内に摂取できる最大の食事量で最大カロリーを摂取する場合、すなわち満腹の状態まで食事を摂取する場合には、確信度として0.65という値が観測されるが、別の対象者Bが満腹の状態まで食事を摂取する場合、確信度として0.9という値が観測されるといった個人差が現れる場合がある。そのため、確信度算出部34が算出する確信度にしたがって、確信度の値が0.7未満の場合はカロリーが低い、0.7〜0.9の場合はカロリーが中程度、0.9以上の場合はカロリーが多い、というような一律な変換を実施すると、次のような事態が起こり得る。すなわち、対象者Aにとって最大カロリーで摂取された食事であっても、低カロリーと確信度が誤変換されてしまう。
【0072】
このことから、サーバ装置30は、心拍データに関連付けられたアカウントから対象者個人を識別し、対象者ごとに過去に算出された確信度の履歴を用いて確信度算出部34が算出する確信度を補正する補正部をさらに有することができる。例えば、補正部は、対象者の履歴として蓄積された確信度のうち最大値に基づいて確信度算出部34が算出する確信度を補正する。例えば、補正部は、確信度算出部34により算出された確信度、もしくは食事行動期間に対応する窓データの確信度の代表値を、履歴に含まれる確信度のうち最大値で除算することにより、確信度を補正することができる。
【0073】
(2)少量の食事の摂取時の補正
また、補正部は、上記の満腹時の確信度の個人差に着目する補正の他、少量の食事が摂取される場合に関しても補正を行うことができる。このような少量の食事の摂取時に補正を行う場合、次のような創作の困難性がある。すなわち、食事を取ったが、摂取量が少ないというケースは稀であるので、食事時の確信度の最小値を基準に補正を行うと、うまく個人差を吸収することができない。このことから、食事が少ない場合に関しては、非食事の確信度を基準に補正を行う。例えば、補正部は、食事行動期間に対応しない窓データから算出された確信度、すなわち非食事の確信度の平均値を少量の食事の摂取時の値として用い、確信度算出部34が算出する確信度から非食事の確信度の平均値を減算することにより、補正後の確信度を得ることもできる。
【0074】
(3)組合せ
さらに、補正部は、上記の(1)および上記の(2)を組み合わせて実行することもできる。例えば、補正部は、確信度算出部34により算出された確信度、もしくは食事行動期間に対応する窓データの確信度の代表値を下記の式(1)にしたがって補正することができる。さらに、補正部が実行する補正は、食事の時間帯、例えば朝・昼・夜などに分割して行っても良い。これによって、朝食、昼食、夕食でそれぞれ食事摂取物の量が異なる事態に対応できる。
【0075】
(確信度算出部34が算出する確信度−非食事の確信度の平均値)/(食事の確信度の分布の最大値−非食事の確信度の平均値)・・・(1)
【0076】
[確信度からカロリーへの変換の応用例]
上記の実施例1では、確信度からカロリーの摂取または消化のレベルへ変換する例を説明したが、レベルではなく、数値へ変換することもできる。例えば、一日の摂取カロリーの統計値、例えば平均値からカロリーの値を算出しても良い。一般に、1日で摂取するのがよいとされているカロリーは、男性2100kcal、女性1800kcalとされている。また、理想的な朝・昼・晩の摂取カロリーの比は「3:4:3」と言われている。そのため、例えば、確信度からカロリーへ変換する場合、次のようにして変換することができる。すなわち、「(2100kcal+1800kcal)/2の計算により、1950kcalを一日合計の想定カロリーとして算出する。その上で、昼の時間帯に対応する食事行動期間における確信度の代表値、例えば最頻値を1950kcal×4/(3+4+3)となるように、確信度と比例する摂取カロリーを算出する。すなわち、変換部36は、1950kcal×4/(3+4+3)/最頻値×今回の食事の確信度(昼)の計算により、今回の食事の摂取カロリー(昼)を算出することができる。なお、対象者のアカウントから男性または女性の性別が識別できる場合には、1950kcalではなく、2100kcalや1800kcalの値をそのまま用いることができる。この他、3:4:3の摂取カロリーの比率はあくまで一例であり、実態に合わせて変更しても良い。また、朝・昼・晩の摂取カロリーの比の代わりに、朝・昼・晩の食事時間の比を用いることとしても良い。
【0077】
[食事摂取指標]
上記の実施例1では、食事摂取指標の一例として、カロリーの高低の例を挙げたが、モデルを用いて算出された確信度を食事体積の大小、食事重量の軽重、消化負荷量の大小などの他の食事摂取指標へ変換することもできる。
【0078】
(1)食事重量
例えば、確信度から食事重量へ変換する場合、変換部36は、アトウォータ係数を用いて摂取カロリー量から変換できる。そのため、変換部36は、確信度から摂取カロリーへ変換した後、アトウォータ係数を用いて食事重量を推定する。この時、アトウォータ係数はタンパク質、脂質、糖質によって異なるが、一般的に良く食べられる混合比を用いる。例えば、日本人の場合であれば、たんぱく質15%、脂質25%、糖質60%である。さらに、食事の種類に基づいて変換しても良い。また、ユーザのプロファイルとして脂っこいものを食べる事が多い、といった混合比の偏りに関する情報が得られる場合は、アトウォータ係数の混合比を変更し、脂質の割合をたかくして計算しても良い。この他、何を食べたかの情報が食事毎に与えられる場合には、それらの情報を用いても良い。例えば、手首につけたモーションセンサやスマートフォンで撮影されたカメラを用いることで、現在食べたものの種類がラーメンである、といったようなことが推論できる。その場合、種類とタンパク質・脂質・糖質の混合比の対応関係が保存されたデータベースから現在食べたものの種類の混合比を取得し、その混合比に基づいて食事重量を推定しても良い。
【0079】
(2)早食い度
また、変換部36は、確信度から早食い度、すなわち食物が摂取される速さの度合いへ変換することもできる。この場合、変換部36は、確信度を食事期間で除算することにより、確信度を早食い度へ変換する。この他、変換部36は、上記の食事重量を求めた後、食事期間で除算された除算値を早食い度として算出することとしてもよい。例えば、確信度が0以上0.04未満である場合、早食い度「低」へ変換され、0.04以上0.08未満である場合、早食い度「中」に変換され、また、0.08以上である場合、早食い度「高」に変換される。
【0080】
(3)満腹度
また、変換部36は、一例として、下記の式にしたがって確信度から満腹度へ変換することもできる。例えば、変換部36は、人は食事する際、腹8分目の食事が最も多いというヒューリスティクスに基づいて、確信度の履歴から生成された分布、例えばヒストグラムや確率密度分布のうち度数が最大である階級の確信度、すなわち確信度の最頻値を用いて確信度を満腹度へ変換することができる。さらに、変換部は、確信度算出部34により算出された確信度、もしくは食事行動期間に対応する窓データの確信度の代表値が履歴の最頻値で除算された除算値を腹8分目として、当該除算値に係数α、例えば0.8を乗算することにより、満腹度へ変換することとしてもかまわない。
(確信度算出部34が算出する確信度−非食事の確信度の平均値)/(食事の確信度の分布の最頻値−非食事の確信度の平均値)×0.8
【0081】
これらの食事摂取指標は、その種類によって確信度などの入力に対して異なる傾向が現れる。例えば、摂取カロリーと早食い度を例に挙げると、食事期間が10分間、確信度が0.8である食事イベントから、食事期間が30分間、確信度が0.9である食事イベントへの推移で異なる傾向が現れる。この場合、摂取カロリーは、確信度が0.8から0.9へ推移しているので、増加する。そのため、確信度から高カロリーへ変換される。一方、早食い度は、0.8/10分間から0.9/30分間へ推移しているので、減少する。そのため、確信度が上がったとしても、早食い度は減少する(低と判定)。
【0082】
[出力の応用例]
上記の実施例1では、食事摂取指標もしくはその推移などの時系列変化が出力される場合を例示したが、確信度の時系列変化を出力することもできるし、前後する食事イベントの間で確信度または食事摂取指標の相対変化、例えば前回に比べて今回は高い、あるいは低いなどを出力することができる。
【0083】
[スタンドアローン]
上記の実施例1では、上記のヘルスケア支援システム1をクライアントサーバシステムとして構築される場合を例示したが、必ずしもクライアントサーバシステムとして構築されずともよい。例えば、サーバ装置30が有する機能部により実行される図5に示す食事推定処理は、ウェアラブル端末10に接続されたIoTデバイス20によりスタンドアローンで実行されることとしてもかまわない。さらに、ウェアラブル端末10及びIoTデバイス20は、必ずしも別個の装置として構成されずともよい。すなわち、心拍センサ11を搭載するコンピュータにより、サーバ装置30が有する機能部により実行される図5に示す処理がスタンドアローンで実行されることとしてもかまわない。
【0084】
[分散および統合]
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第一の取得部31A、第二の取得部31B、特徴量算出部32、確信度算出部34、変換部36又は提供部37をサーバ装置30の外部装置としてネットワーク経由で接続するようにしてもよい。また、第一の取得部31A、第二の取得部31B、特徴量算出部32、確信度算出部34、変換部36又は提供部37を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置30の機能を実現するようにしてもよい。
【0085】
[食事推定プログラム]
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図6を用いて、上記の実施例と同様の機能を有する食事推定プログラムを実行するコンピュータの一例について説明する。
【0086】
図6は、実施例1及び実施例2に係る食事推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。図6に示すように、コンピュータ100は、操作部110aと、スピーカ110bと、カメラ110cと、ディスプレイ120と、通信部130とを有する。さらに、このコンピュータ100は、CPU150と、ROM160と、HDD170と、RAM180とを有する。これら110〜180の各部はバス140を介して接続される。
【0087】
HDD170には、図6に示すように、上記の実施例1で示した第一の取得部31A、第二の取得部31B、特徴量算出部32、確信度算出部34、変換部36及び提供部37と同様の機能を発揮する食事推定プログラム170aが記憶される。この食事推定プログラム170aは、図1に示した第一の取得部31A、第二の取得部31B、特徴量算出部32、確信度算出部34、変換部36及び提供部37の各構成要素と同様、統合又は分離してもかまわない。すなわち、HDD170には、必ずしも上記の実施例1で示した全てのデータが格納されずともよく、処理に用いるデータがHDD170に格納されればよい。
【0088】
このような環境の下、CPU150は、HDD170から食事推定プログラム170aを読み出した上でRAM180へ展開する。この結果、食事推定プログラム170aは、図6に示すように、食事推定プロセス180aとして機能する。この食事推定プロセス180aは、RAM180が有する記憶領域のうち食事推定プロセス180aに割り当てられた領域にHDD170から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、食事推定プロセス180aが実行する処理の一例として、図5に示す処理などが含まれる。なお、CPU150では、必ずしも上記の実施例1で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【0089】
なお、上記の食事推定プログラム170aは、必ずしも最初からHDD170やROM160に記憶されておらずともかまわない。例えば、コンピュータ100に挿入されるフレキシブルディスク、いわゆるFD、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に食事推定プログラム170aを記憶させる。そして、コンピュータ100がこれらの可搬用の物理媒体から食事推定プログラム170aを取得して実行するようにしてもよい。また、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される他のコンピュータまたはサーバ装置などに食事推定プログラム170aを記憶させておき、コンピュータ100がこれらから食事推定プログラム170aを取得して実行するようにしてもよい。
【0090】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0091】
(付記1)心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータに実行させることを特徴とする食事推定プログラム。
【0092】
(付記2)算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする付記1に記載の食事推定プログラム。
【0093】
(付記3)算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする付記1に記載の食事推定プログラム。
【0094】
(付記4)前記食事内容にかかわる情報は、カロリー、食事体積、食事重量、消化負荷量または満腹度であることを付記1に記載の食事推定プログラム。
【0095】
(付記5)心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータが実行することを特徴とする食事推定方法。
【0096】
(付記6)算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する処理を前記コンピュータがさらに実行することを特徴とする付記5に記載の食事推定方法。
【0097】
(付記7)算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する処理を前記コンピュータがさらに実行することを特徴とする付記5に記載の食事推定方法。
【0098】
(付記8)前記食事内容にかかわる情報は、カロリー、食事体積、食事重量、消化負荷量または満腹度であることを付記5に記載の食事推定方法。
【0099】
(付記9)心拍データと食事期間を取得する取得部と、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出する確信度算出部と、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する変換部と、
を有することを特徴とする食事推定装置。
【0100】
(付記10)算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する補正部をさらに有することを特徴とする付記9に記載の食事推定装置。
【0101】
(付記11)算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する補正部をさらに有することを特徴とする付記9に記載の食事推定装置。
【0102】
(付記12)前記食事内容にかかわる情報は、カロリー、食事体積、食事重量、消化負荷量または満腹度であることを付記9に記載の食事推定装置。
【符号の説明】
【0103】
1 ヘルスケア支援システム
10 ウェアラブル端末
20 IoTデバイス
30 サーバ装置
31A 第一の取得部
31B 第二の取得部
32 特徴量算出部
33 モデル記憶部
34 確信度算出部
35 対応情報記憶部
36 変換部
37 提供部
図1
図2A
図2B
図3
図4
図5
図6