(57)【要約】【課題】食事内容にかかわる情報を生成すること。【解決手段】サーバ装置３０は、心拍データと食事期間を取得し、取得した心拍データと、心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する。【選択図】図１
2019136256.tif 000002
【特許請求の範囲】
【請求項１】
心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータに実行させることを特徴とする食事推定プログラム。
【請求項２】
算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする請求項１に記載の食事推定プログラム。
【請求項３】
算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする請求項１に記載の食事推定プログラム。
【請求項４】
心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータが実行することを特徴とする食事推定方法。
【請求項５】
心拍データと食事期間を取得する取得部と、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出する確信度算出部と、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する変換部と、
を有することを特徴とする食事推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、食事推定プログラム、食事推定方法及び食事推定装置に関する。
【背景技術】
【０００２】
ヘルスケアのサポートには、日常生活の様々な行動、例えば食事や排尿、排便などの記録が活用される。これらの行動のうち食事を検知する技術として、計測した心拍データと学習モデルとを比較して、学習モデルとの相関や類似度などから、計測期間中における食事行動期間を特定するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１７／０８１８２９号
【特許文献２】国際公開第２０１７／０８１７８７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術は、食事行動期間として食事が行われた期間を特定するものに過ぎない。それ故、上記の技術では、食事の内容にまで踏み込んだ情報を得るのは困難である。
【０００５】
１つの側面では、本発明は、食事内容にかかわる情報を生成できる食事推定プログラム、食事推定方法及び食事推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一態様では、食事推定プログラムは、心拍データと食事期間を取得し、取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、処理をコンピュータに実行させる。
【発明の効果】
【０００７】
食事内容にかかわる情報を生成できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１に係るヘルスケア支援システムに含まれる各装置の機能的構成の一例を示す図である。
【図２Ａ】図２Ａは、特徴量と食事摂取指標との関係の一例を示す図である。
【図２Ｂ】図２Ｂは、特徴量と食事摂取指標との関係の一例を示す図である。
【図３】図３は、モデルの学習方法の一例を示す模式図である。
【図４】図４は、対応情報の一例を示す図である。
【図５】図５は、実施例１に係る食事推定処理の手順を示すフローチャートである。
【図６】図６は、実施例１及び実施例２に係る食事推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して本願に係る食事推定プログラム、食事推定方法及び食事推定装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１０】
［システム構成］
図１は、実施例１に係るヘルスケア支援システムに含まれる各装置の機能的構成の一例を示す図である。図１に示すヘルスケア支援システム１は、各種のヘルスケア支援サービスを提供するものである。このようなヘルスケア支援サービスの例として、ウェアラブル端末１０により取得される心拍データを用いて、対象者の食事内容にかかわる情報を記録するサービス、さらには、その記録を活用する派生のサービスなどが挙げられる。
【００１１】
ここで言う「食事内容にかかわる情報」の例として、カロリーの高低や食事体積の大小、食事重量の軽重、消化負荷量の大小、満腹度などが対応する。これはあくまで例示であり、食事の摂取に関連する程度が少なくとも相対的に表現された度合いを表す指標の全般がその範疇に含まれる。このような指標のことを以下では「食事摂取指標」と記載する場合がある。この食事摂取指標は、必ずしも定量的に数値化された指標でなくてもかまわない。
【００１２】
図１に示すように、ヘルスケア支援システム１には、ウェアラブル端末１０と、ＩｏＴ（Internet  of  Things）デバイス２０と、サーバ装置３０とが含まれる。なお、図１には、ＩｏＴデバイス２０が１つのウェアラブル端末１０から得られる情報を収容する場合を図示したが、ＩｏＴデバイス２０は複数のウェアラブル端末１０から得られる情報を収容することとしてもかまわない。また、図１には、サーバ装置３０が１つのＩｏＴデバイス２０から得られる情報を収容する場合を例示したが、サーバ装置３０には、複数のＩｏＴデバイス２０が収容されることとしてもかまわない。
【００１３】
これらのうち、ウェアラブル端末１０及びＩｏＴデバイス２０の間では、一例として、ＢＬＥ（Bluetooth（登録商標）  Low  Energy）などの近距離無線通信を介してデータが授受される。これはあくまで一例であり、ウェアラブル端末１０及びＩｏＴデバイス２０が有線により接続されることとしてもかまわない。また、ＩｏＴデバイス２０及びサーバ装置３０の間は、有線または無線を問わず、任意のネットワークを介して接続することができる。このようなネットワークの一例として、３Ｇ（Generation）、ＬＴＥ（Long  Term  Evolution）、４Ｇや５Ｇなどに対応するモバイルネットワークの他、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの構内通信網を始め、インターネットなどが挙げられる。
【００１４】
ウェアラブル端末１０は、上記のヘルスケア支援サービスの提供を受ける対象者が装着することにより利用されるコンピュータである。例えば、ウェアラブル端末１０は、腕輪型、リストバンド型、あるいは指輪型のガジェットであってもよいし、頭部に装着されるヘッドマウントディスプレイやスマートグラスであってもよいし、また、胸部や腰部などの胴体の他、足首に装着されるタイプのデバイスであってもよい。
【００１５】
例えば、ウェアラブル端末１０には、対象者の心拍を計測する心拍センサ１１が搭載される。ここで言う「心拍数」とは、血液を送り出す心臓の拍動回数を指す。例えば、心拍センサ１１に心拍数の変化に対応する血流量の変化を測定する光電脈波センサを採用することにより、単位時間あたりの心拍数を計測できる。このとき、単位時間を１分間とする場合、心拍数はｂｐｍ（beats  per  minute）等で表現される。また、単位時間を１秒間とする場合、心拍数はＨｚで表現される。この他、心拍センサ１１には、心臓の電気的活動を計測する心電センサを採用することもできる。この場合、心電波形におけるＲ波とＲ波の間隔を心拍数の代わりに用いることができる。このように心拍センサ１１により計測される心拍数の時系列データは、ＩｏＴデバイス２０へ出力される。以下では、心拍センサ１１により計測される心拍数の時系列データのことを「心拍データ」と記載する場合がある。
【００１６】
なお、ここでは、心拍センサ１１がウェアラブル端末１０に搭載される場合を例示したが、必ずしもウェアラブル端末１０に搭載されずともよく、対象者が生活する環境側に設置される環境センサであってもかまわない。例えば、対象者の生体の一部が所定のサンプリング周波数で撮像される画像に関する輝度の時系列変化から心拍数を検出したり、ＲＦ（Radio  Frequency）モーションセンサを用いて拍動に伴うドップラ周波数を検出したりすることにより、心拍数の検出を対象者の生体部位に非接触の状態で実現することとしてもかまわない。
【００１７】
ＩｏＴデバイス２０は、ウェアラブル端末１０をネットワークに接続する機能を一側面として有するデバイスである。このＩｏＴデバイス２０には、一例として、対象者が使用するスマートフォンや携帯電話機、ＰＨＳ（Personal  Handyphone  System）などを始め、スレート端末やタブレット端末などの携帯端末装置が対応する。
【００１８】
例えば、ＩｏＴデバイス２０は、ウェアラブル端末１０からＢＬＥ通信等を介して通知された心拍データをネットワークを介してサーバ装置３０に転送する。このようにウェアラブル端末１０からＩｏＴデバイス２０を介してサーバ装置３０へ転送される心拍データなどのセンサイベントは、一例として、ＭＱＴＴ（Message  Queuing  Telemetry  Transport）メッセージとして転送できる。このとき、心拍データは、心拍数が計測される度にリアルタイムで伝送されることとしてもよいし、所定期間、例えば１２時間、１日間、１週間や１ヶ月などにわたって蓄積してから伝送することとしてもかまわない。また、心拍データは、心拍データを受信するサーバ装置３０側で対象者であるウェアラブル端末１０のユーザが識別可能な状態で送信される。例えば、心拍データは、ユーザの識別情報もしくはユーザの識別情報と関連付けられたウェアラブル端末１０のＭＡＣアドレスや個体識別番号などの情報と共にサーバ装置３０へ転送される。
【００１９】
サーバ装置３０は、上記のヘルスケア支援サービスを提供するコンピュータである。例えば、サーバ装置３０は、パッケージソフトウェア又はオンラインソフトウェアとして、上記のヘルスケア支援サービスに対応する機能を実現するヘルスケア支援プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、サーバ装置３０は、上記のヘルスケア支援サービスを提供するＷｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記のヘルスケア支援サービスを提供するクラウドとして実装することとしてもかまわない。
【００２０】
ここで、上記の食事摂取指標を得るという目的を達成するために、本実施例では、食事行動期間の推定に用いる確信度を食事摂取指標へ変換するというアプローチを採用する。ここで言う「確信度」とは、心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示し、例えば、食事である確からしさや非食事である確からしさが数値化された指標として表される。このようなアプローチを採用するのは、機械学習に用いる教師データにラベルを付与する手間を簡素化するという動機付けが存在するからである。
【００２１】
以下では、食事摂取指標の一例として、カロリーを例示して説明を行うが、以下の内容がカロリーの場合だけに該当するという趣旨ではなく、あくまで説明の便宜を図る上での例示であり、他の食事摂取指標であっても以下の内容が該当することは言うまでもない。
【００２２】
このような動機付けがなければ、上記の先行技術文献の欄で挙げた特許文献２のように、１以上の特徴量を含む特徴ベクトルを用いて食事摂取指標を推定するアプローチにしか想到できない。そして、特許文献２のようなアプローチを採用する場合、食事に伴う心拍の反応が複雑であることから、１つの特徴量単独で食事摂取指標を推定するのは困難である。このため、特許文献２では、複数の特徴量を含む特徴ベクトルを用いて食事摂取指標が推定されるが、特徴ベクトルと食事摂取指標との関係を機械学習するためには、教師データごとにカロリーの値をラベル付けする手間が発生する。例えば、カロリーの値のラベル付けには、カロリー計算に栄養学に関する知識が必要となる上、教師データごとにカロリー計算を実行して数値入力を行う手間が発生するので、カロリーの値のラベルを入手する難易度が高い。
【００２３】
これに比べて、食事または非食事のラベルを教師データに付与する手間は、カロリーの値のラベルを教師データに付与する手間よりも少ない。例えば、食事行動期間として、食事開始時刻や食事終了時刻をユーザ入力、電子マネー等の利用履歴または飲食店の購買履歴の分析などにより指定させることにより、食事のラベルを付与する教師データのサンプルを特定できるからである。それ故、食事または非食事のラベルを入手する難易度は相対的に低い。
【００２４】
これらのことから、機械学習に用いる教師データにラベルを付与する手間を簡素化する技術的意義は、上記のヘルスケア支援サービスに対応する機能を実装する難易度を低下させるという一面からみて大きい。
【００２５】
このように本来の用途とは異なる用途で確信度を用いることで、確信度を食事摂取指標へ変換することができる裏付けは、確信度が、単に食事行動の検出だけでなく、食事行動期間に摂取した食事内容との間にも相関があるという知見に基づく。
【００２６】
図２Ａ及び図２Ｂは、特徴量と食事摂取指標との関係の一例を示す図である。図２Ａ及び図２Ｂには、心拍変化の特徴量（イ）を縦軸とすると共に心拍変化の特徴量（ロ）を横軸とするグラフが示されている。さらに、図２Ａ及び図２Ｂに示すグラフには、特徴量（イ）及び特徴量（ロ）の算出に用いられたサンプルがプロットされている。さらに、図２Ａ及び図２Ｂに示すプロットのうち、白丸のプロットは、非食事のサンプルに対応し、ハッチング付きのプロットは、低カロリーの食事のサンプルに対応し、また、黒丸のプロットは、高カロリーの食事のサンプルに対応する。なお、ここでは、説明の便宜上、２次元の特徴空間を例示したが、上記の相関は２次元の特徴空間に限定されず、Ｎ次元の特徴空間で各種類のサンプルに同様の傾向が得られる。
【００２７】
図２Ａに示すように、食事のサンプルの中でも高カロリーのサンプルであるほど、特徴量（イ）及び特徴量（ロ）に食事固有の特徴が顕著に現れる傾向があることがわかる。このような傾向は、高カロリーの食事は、咀嚼や胃液などでの食物分解や栄養素の吸収の過程で大きな身体活動を求めるという事実が存在する側面からも裏付けられる。
【００２８】
図２Ｂには、図２Ａに示すグラフ上に食事および非食事を識別する識別境界Ｂ１がさらに示されている。この識別境界Ｂ１は、一例として、低カロリーの食事のサンプル及び高カロリーの食事のサンプルを正例とすると共に非食事のサンプルを負例として機械学習を実行することにより得られる。図２Ｂに示すように、低カロリーの食事のサンプルは、高カロリーの食事のサンプルに比べて識別境界Ｂ１から近い距離に分布する一方で、高カロリーの食事のサンプルは、低カロリーの食事のサンプルに比べて識別境界Ｂ１から離れた距離に分布することがわかる。これら低カロリー及び高カロリーの食事のサンプルと識別境界Ｂ１との間の距離は、食事および非食事のクラス分類に用いる識別関数が出力する確信度に相当する。
【００２９】
以上のように、カロリーと特徴量（イ）及び（ロ）との関係に定性的な傾向が存在するという発見から発展して、カロリーと確信度との間に相関があると知見を積み上げることができる。
【００３０】
このような知見の裏付けの下、本実施例に係るサーバ装置３０は、食事行動期間の推定を目的として、心拍データから算出される特徴量と、食事または非食事のラベルが付与された特徴量を入力として食事および非食事を識別する学習モデルとの比較から算出される食事らしさの確信度または非食事らしさの確信度を、食事摂取指標の生成に活用する。したがって、本実施例に係るサーバ装置３０によれば、食事内容にかかわる情報を生成できる。さらに、本実施例に係るサーバ装置３０では、食事内容にかかわる情報の生成に、既存の食事行動期間を推定する仕組みを流用できる。
【００３１】
［サーバ装置３０の機能的構成］
次に、本実施例に係るサーバ装置３０の機能的構成について説明する。図１に示すように、サーバ装置３０は、第一の取得部３１Ａと、第二の取得部３１Ｂと、特徴量算出部３２と、モデル記憶部３３と、確信度算出部３４と、対応情報記憶部３５と、変換部３６と、提供部３７とを有する。なお、サーバ装置３０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば他の装置との間で通信制御を行う通信インタフェースなどを有することとしてもかまわない。
【００３２】
図１に示す第一の取得部３１Ａ、第二の取得部３１Ｂ、特徴量算出部３２、確信度算出部３４、変換部３５および提供部３６などの機能部は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などのハードウェアプロセッサにより仮想的に実現される。すなわち、プロセッサは、図示しない記憶装置、例えばＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などの記憶装置からＯＳ（Operating  System）の他、上記のヘルスケア支援プログラムまたはそのモジュールである食推定正プログラムなどのプログラムを読み出す。その上で、プロセッサは、ヘルスケア支援プログラムや食事推定プログラムを実行することにより、ＲＡＭ（Random  Access  Memory）等のメモリ上に上記の機能部に対応するプロセスを展開する。この結果、上記の機能部がプロセスとして仮想的に実現される。ここでは、プロセッサの一例として、ＣＰＵやＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによって実現されることとしてもかまわない。
【００３３】
上記のモデル記憶部３３や対応情報記憶部３５は、記憶装置として実装したり、記憶装置が有する記憶領域の一部を割り当てることにより実装したりすることができる。このような記憶装置には、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリなどの主記憶装置が対応する。また、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、ＨＤＤ、光ディスクやＳＳＤなどを採用できる。
【００３４】
第一の取得部３１Ａは、心拍センサ１１から心拍データを取得する処理部である。この第一の取得部３１Ａにより取得された心拍数データは、特徴量算出部３２へ出力される。このようにウェアラブル端末１０から心拍数データなどのセンサイベントを取得する第一の取得部３１Ａの機能は、一例として、ＭＱＴＴサーバ用のプログラムを実行させることにより実装できる。
【００３５】
第二の取得部３１Ｂは、食事行動期間を取得する処理部である。ここで言う「食事行動期間」は、食事が開始された時刻、食事が終了した時刻、もしくは、これらの両方により定まる食事の期間のうち少なくともいずれか１つに対応する。また食事期間は食事期間の一部であっても良いし、食事が開始または終了した時刻は正確でなくても、その直近直後の時刻であれば良い。以下、これらを個別に説明する場合、「食事開始時刻」、「食事終了時刻」、「食事期間」と記載する場合がある。
【００３６】
一つの側面として、第二の取得部３１Ｂは、ユーザ入力を通じて上記の食事行動期間を取得することができる。例えば、第二の取得部３１Ｂは、上記のヘルスケア支援サービスの提供を受ける対象者が使用するユーザ端末で動作するクライアント用のアプリケーションプログラムが提供するＧＵＩ経由で、上記の食事行動期間の入力を受け付けることができる。このようなクライアント用のアプリケーションプログラムの例として、ブラウザを始め、上記のヘルスケア支援サービスを実現するクライアント用のヘルスケア支援プログラムなどが挙げられる。なお、上記のユーザ端末は、任意のコンピュータであってよく、ウェアラブル端末１０やＩｏＴデバイス２０を始め、対象者が使用する他のコンピュータであってもかまわない。
【００３７】
他の側面として、第二の取得部３１Ｂは、上記のユーザ端末に保存されるユーザデータにＡＩ（Artificial  Intelligence）等を用いた行動分析を実行することにより、上記の食事行動期間を推定することもできる。例えば、ユーザデータの例として、クレジットカードや電子マネー、その他のプリペイドカード等の利用履歴が挙げられる。この利用履歴から飲食店に対応する店名を検索することにより、検索にヒットする店名の利用日時を食事行動期間として推定することができる。このとき、店名の支払いの形態が前払い式に該当する場合、利用日時が食事開始時刻として推定される。一方、店名の支払いの形態が後払い式に該当する場合、利用日時が食事終了時刻として推定される。
【００３８】
特徴量算出部３２は、心拍データから心拍変化にかかわる特徴量を算出する処理部である。
【００３９】
一実施形態として、特徴量算出部３２は、第一の取得部３１Ａにより取得される心拍データに所定の時間長、例えば２１０分間を持つ窓を設定する。続いて、特徴量算出部３２は、窓が設定された区間に対応する部分データを切り出す。その後、特徴量算出部３２は、前回に設定された窓を所定のずらし幅、例えば５分間だけシフトさせる。その上で、特徴量算出部３２は、シフト後の窓に対応する部分データを切り出す。以下、心拍データのうち窓に対応する部分が切り出された部分データのことを「窓データ」と記載する場合がある。
【００４０】
このように切り出される窓データごとに、特徴量算出部３２は、当該窓データの開始時刻から所定の期間、例えば６０分間までの期間を食事前とし、窓データの開始時刻から所定の時間後を「食事開始時刻」として、特徴量の算出を実行する。
【００４１】
ここで、心拍変化にかかわる特徴量の一例について説明する。例えば、食事に伴って食事開始後に発生する心拍数の変化には、時間経過に伴って心拍数が上昇（増加）して下降（減少）に転ずる２つのピークが存在する。すなわち、食事開始時刻から時間経過に伴って、食事開始後に先行して出現する心拍数変化のピークである「第１ピーク」と、第１ピークに後続して出現する心拍数変化のピークである「第２ピーク」とが出現する。なお、以下では、第１ピークの部分の波形を含む所定の領域のことを「第１ピーク領域」と記載し、第２ピークの部分の波形を含む所定の領域のことを「第２ピーク領域」と記載する場合がある。
【００４２】
このうち、「第１ピーク」は、食事行為に伴う心拍上昇であり、例えば、咀嚼や食道の蠕動運動に起因する心拍数上昇と推定される。また、「第２ピーク」は、例えば、食事行為により摂取された摂取物、すなわち食物等に対する消化器官（胃腸等）内の消化活動に起因する心拍数上昇と推定される。このことから、食事後には、第１ピークが現れた後に第２ピークが現れ、かつ第１ピークよりも第２ピークの方が長期間にわたる傾向にあるという知見を得ることができる。
【００４３】
これら第１ピークおよび第２ピークの傾向から、特徴量算出部３２は、上記の窓データから、下記の特徴量を算出することができる。例えば、第１ピーク領域ａ１の面積、及び、第２ピーク領域ａ２の面積などを特徴量として算出できる。また、第１ピークへ至るまでの心拍数の上昇速度、第２ピークへ至るまでの心拍数の上昇速度、第１ピークからの心拍数の回復速度、及び、第２ピークからの心拍数の回復速度なども特徴量として算出できる。また、第１ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数Ｐ１、及び、第２ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数Ｐ２を特徴量として算出できる。また、食事開始時刻を始点としたとき、最大心拍数Ｐ１が計測される時刻を終点とする経過時間ｔ１、最大心拍数Ｐ１を経た心拍数が所定値まで回復する時刻を終点とする経過時間ｔ２、最大心拍数Ｐ２が計測される時刻を終点とする経過時間ｔ３、及び、最大心拍数Ｐ２を経た心拍数が所定値まで回復する時刻を終点とする経過時間ｔ４などを特徴量として算出することもできる。この他、食事開始時刻以前に計測される心拍数のうち最低の値をとる食事前心拍数と、食事開始時刻以前の区間で食事前心拍数から食事開始時刻の心拍数までの心拍数の上昇幅により形成される領域の面積とを特徴量として算出することもできる。なお、以下では、上述の特徴量のうちの１又は複数の特徴量がｎ次元のベクトル形式で表現されたもののことを「特徴ベクトル」と記載する場合がある。
【００４４】
モデル記憶部３３は、上記の食事行動期間の推定に用いるモデルを記憶する記憶領域である。以下では、機械学習のアルゴリズムのあくまで一例として、サポートベクタマシン（ＳＶＭ：Support  Vector  Machine）を例示するが、他の機械学習のアルゴリズム、例えばブースティングやニューラルネットワーク等を用いることができる。
【００４５】
ここで、上記の「モデル」の一例として、上記の窓データを入力とし、食事または非食事のいずれかのクラスの分類結果を出力とするクラス分類器が生成される。例えば、モデルの生成には、上記の窓データごとに当該窓データに対応する区間に正例「食事」または負例「非食事」のクラスのラベルが付与された教師データの学習サンプルの集合がデータセットとして用いられる。このようなデータセットを用いて、サポートベクトルと識別境界との距離を最大化する識別関数のパラメータが学習される。ここで言う「サポートベクトル」とは、食事のクラスのラベルが付与された教師データの集合と、非食事のクラスのラベルが付与された教師データの集合との境界の近傍に位置する教師データの特徴ベクトルに対応する。このような識別関数が出力する値が正負のいずれであるかにより食事または非食事のクラスを分類するクラス分類器がモデルとして得られる。ここで、モデルがクラス分類に用いる識別関数の出力値が識別境界からの距離、すなわち「確信度」に対応する。
【００４６】
図３は、モデルの学習方法の一例を示す模式図である。図３には、モデルの学習に用いる心拍データの波形Ｈ１がグラフ上に示されている。図３に示すグラフの縦軸は、心拍数［ｂｐｍ］を指し、横軸は時刻［ＨＨ：ＭＭ］を指す。図３に示すように、モデルの学習時には、心拍データの波形Ｈ１から窓データＷ１〜Ｗｎが切り出される（Ｓ１）。すなわち、心拍データの波形Ｈ１の先頭の時刻から所定の時間長、例えば２１０分間に対応する区間に窓が設定される。このように窓が設定された区間に対応する部分データが窓データＷ１として切り出される。その後、心拍データの波形Ｈ１に設定する窓の先頭が所定のずらし幅α、例えば５分だけシフトされる。その上で、シフト後の窓に対応する部分データが窓データＷ２として切り出される。このような窓データの切り出しが繰り返されることにより、心拍データの波形Ｈ１から窓データＷ１〜Ｗｎを切り出すことができる。
【００４７】
このように切り出された窓データＷ１〜Ｗｎごとに心拍の時間変化にかかわる特徴量が算出される（Ｓ２）。例えば、上記の特長量算出部３２が算出する特徴量と同じ種類の特徴量が算出される。図３の例で言えば、窓データの先頭から最初に現れる第１ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数Ｐ１が特徴量１として算出されると共に、当該第１ピーク領域ａ１の面積が特徴量２として算出される例が示されている。これにより、窓データＷ１〜Ｗｎごとに算出された２次元の特徴ベクトルが学習サンプルとして用意される。なお、図３には、あくまで一例として、２次元の特徴ベクトルを算出する場合を例示したが、特徴ベクトルの次元数は２次元に限定されず、また、特徴量の種類も上記の２種類に限定されない。例えば、上記の５種類１４個の特徴量のうち任意の種類および任意の個数の特徴量の組がベクトル化された特徴ベクトルをモデルの学習に用いることができる。この他、上記の５種類１４個の特徴量に限らず、既知の任意の特徴量を算出することができるのは言うまでもない。
【００４８】
この特徴量の算出後、もしくは特徴量の算出と並行して、学習サンプルに正解のクラスのラベルを付与するために、上記の食事行動期間が取得される（Ｓ３）。この食事行動期間も上記の第二の取得部３１Ｂと同様の方法で取得することができる。このように取得された食事行動期間にしたがって窓データＷ１〜Ｗｎから算出された特徴量に食事または非食事のラベルが付与される。例えば、食事行動期間として食事開始時刻が取得された場合、食事開始時刻から所定の期間、例えばシステムの設定値やユーザ入力の値などの範囲と重複する窓データにはクラス「食事」のラベルが付与される一方で、上記の範囲と重複しない窓データにはクラス「非食事」のラベルが付与される。また、食事行動期間として食事終了時刻が取得された場合、食事終了時刻から遡って所定の期間の範囲と重複する窓データにはクラス「食事」のラベルが付与される一方で、上記の範囲と重複しない窓データにはクラス「非食事」のラベルが付与される。さらに、食事行動期間として食事期間が取得された場合、食事期間と重複する窓データにはクラス「食事」のラベルが付与される一方で、食事期間と重複しない窓データにはクラス「非食事」のラベルが付与される。
【００４９】
このように学習サンプルの窓データＷ１〜Ｗｎごとに正解のクラスのラベルが付与された教師データの集合をデータセットとして機械学習が実行される（Ｓ４）。例えば、サポートベクタマシンの場合、サポートベクトルと識別境界Ｂ１との距離、いわゆるマージンを最大化する識別関数のパラメータが学習される。このような識別関数が出力する値が正負のいずれであるかにより食事または非食事のクラスを分類するクラス分類器がモデルとしてモデル記憶部３３に保存される。
【００５０】
なお、ここでは、全ての教師データにおいてカロリーの値またはレベルが未知である場合を例示したが、一部の教師データでもカロリーの値またはレベルが入手できる場合、その教師データに対応するカロリーの値またはレベルが高いほど当該教師データの特徴ベクトルに付与する重みよりも大きくすることができる。
【００５１】
確信度算出部３４は、モデルを用いて確信度を算出する処理部である。
【００５２】
一実施形態として、確信度算出部３４は、特徴量算出部３２により窓データごとに特徴量が算出される度に、当該窓データから算出されたｎ次元の特徴ベクトルをモデル記憶部３３に記憶されたモデルに入力する。この特徴ベクトルの入力によって、モデルの識別関数が特徴ベクトルと識別境界との距離を出力する。そして、確信度算出部３４は、モデルの識別関数により出力された特徴ベクトルと識別境界との距離を確信度として算出する。
【００５３】
対応情報記憶部３５は、確信度と食事摂取指標のレベルとが対応付けられた対応情報を記憶する記憶領域である。ここでは、食事摂取指標のあくまで一例として、カロリーの多寡を挙げて説明を行う。図４は、対応情報の一例を示す図である。図４に示す対応情報の例で言えば、確信度「０〜０．７」と食事摂取指標「低カロリー」とが対応付けられ、確信度「０．７〜０．９」と食事摂取指標「中カロリー」が対応付けられると共に、確信度「０．９〜」と食事摂取指標「高カロリー」が対応付けられている。
【００５４】
このような対応情報は、所与の値とする。
【００５５】
変換部３６は、対応情報を用いて、確信度を食事摂取指標に変換する処理部である。
【００５６】
一実施形態として、変換部３６は、確信度算出部３４により確信度が算出された窓データのうち、第二の取得部３１Ｂにより取得された食事行動期間から定まる食事期間に対応する窓データを抽出する。例えば、変換部３６は、窓データのうち窓データの先頭の時刻が上記の食事期間に含まれる窓データを抽出する。続いて、変換部３６は、食事行動期間を用いて抽出された窓データの確信度に統計処理、例えば相加平均値や加重平均値の算出、中央値の抽出、最頻値の抽出などを実行する。これによって、食事行動期間を用いて抽出された窓データの確信度を代表する代表値が算出される。そして、変換部３６は、対応情報に含まれる食事摂取指標のレベルのうち、食事行動期間を用いて抽出された窓データの確信度の代表値に対応する食事摂取指標のレベルを識別する。その上で、変換部３６は、食事行動期間を用いて抽出された窓データの確信度の代表値を先に識別された食事摂取指標のレベルへ変換する。例えば、図４の例で言えば、確信度の代表値が０以上０．７未満である場合、確信度の代表値は食事摂取指標のレベル「低カロリー」に変換される。また、確信度の代表値が０．７以上０．９未満である場合、確信度の代表値は食事摂取指標のレベル「中カロリー」に変換される。また、確信度の代表値が０．９以上である場合、確信度の代表値は食事摂取指標のレベル「高カロリー」に変換される。
【００５７】
なお、ここでは、あくまで一例として、心拍データから生成される窓データのうち食事行動期間に対応する窓データを抽出する処理を確信度から食事摂取指標へ変換する段階で実行する例を説明したがこれに限定されない。例えば、確信度が算出される段階で食事行動期間に対応する窓データを抽出してもよいし、特徴量が算出される段階で食事行動期間に対応する窓データを抽出してもよいし、窓データが生成された段階で食事行動期間に対応する窓データを抽出してもよい。
【００５８】
提供部３７は、上記のヘルスケア支援サービスを提供する処理部である。  
【００５９】
一実施形態として、提供部３７は、食事行動期間が取得される食事イベントごとに食事摂取指標のレベルが対応付けられた履歴を履歴蓄積やレコメンドの出力などの機能をバックエンドで実行するサービスやアプリケーション、ＡＩ、サーバ装置３０外部のコンピュータへ出力する。これによって、上述のヘルスケア支援サービスが実現される。例えば、食事イベントごとの食事摂取指標のレベルを対応付けられた履歴を記録したり、所定期間、例えば１週間などにわたる事摂取指標のレベルの一覧表や推移のグラフを生成した上で出力したりすることができる。この他、食事イベントごとの食事摂取指標のレベルの推移から食習慣またはダイエットに関する分析を行った上で各種のアドバイスやレコメンドを出力したりする。このようなアドバイスやレコメンドは、一例として、対象者により使用されるＩｏＴデバイス２０に出力させることができる他、対象者の関係者、例えば親族、産業医などの医療担当者または介護担当者などにより使用される端末装置に出力することもできる。これによって、上記のヘルスケア支援サービスが実現される。この他にも様々な出力が可能であり、その詳細は後述する。
【００６０】
［処理の流れ］
図５は、実施例１に係る食事推定処理の手順を示すフローチャートである。この処理は、一例として、心拍データが取得された場合に実行される。図５に示すように、第一の取得部３１Ａは、心拍データを取得する（ステップＳ１０１）。これと同時または前後して、第二の取得部３１Ｂは、ユーザ入力、あるいはユーザデータの行動分析等を通じて、食事行動期間を取得する（ステップＳ１０２）。
【００６１】
そして、特徴量算出部３２は、ステップＳ１０１で取得された心拍データの先頭の時刻から順に所定のずらし幅で所定の時間長の窓をシフトさせながら窓を設定することにより、窓が設定される度に当該窓に対応する区間の部分データを窓データとして切り出す。これによって、心拍データから複数の窓データが生成される（ステップＳ１０３）。
【００６２】
続いて、特徴量算出部３２は、ステップＳ１０３で生成された窓データのうち１つの窓データを選択する（ステップＳ１０４）。その上で、特徴量算出部３２は、ステップＳ１０４で選択された窓データから、所定の個数、例えばｎ個の特徴量を算出する（ステップＳ１０５）。
【００６３】
そして、確信度算出部３４は、ステップＳ１０５で窓データから算出されたｎ次元の特徴ベクトルをモデル記憶部３３に記憶されたモデルに入力することにより、モデルの識別関数により出力される特徴ベクトルと識別境界との距離を確信度として算出する（ステップＳ１０６）。
【００６４】
その後、ステップＳ１０３で生成された全ての窓データが選択されるまで（ステップＳ１０７Ｎｏ）、上記のステップＳ１０４〜上記のステップＳ１０６の処理が繰り返して実行される。
【００６５】
そして、ステップＳ１０３で生成された全ての窓データが選択された場合（ステップＳ１０７Ｙｅｓ）、変換部３６は、ステップＳ１０６で確信度が算出された窓データのうち、ステップＳ１０２で取得された食事行動期間から定まる食事期間に対応する窓データを抽出する（ステップＳ１０８）。
【００６６】
続いて、変換部３６は、食事行動期間を用いて抽出された窓データの確信度の代表値、例えば平均値を算出する（ステップＳ１０９）。その上で、変換部３６は、対応情報記憶部３５に記憶された対応情報を用いて、ステップＳ１０８で抽出された窓データの確信度の代表値を食事摂取指標のレベルへ変換する（ステップＳ１１０）。
【００６７】
その後、提供部３７は、ステップＳ１１０で得られた食事イベントの食事摂取指標のレベルを履歴蓄積やレコメンドの出力などの機能をバックエンドで実行するサービスやアプリケーション、ＡＩ、サーバ装置３０外部のコンピュータへ出力し（ステップＳ１１１）、処理を終了する。
【００６８】
［効果の一側面］
上述してきたように、本実施例に係るサーバ装置３０は、食事行動期間の推定を目的として、心拍データから算出される特徴量と、食事または非食事のラベルが付与された特徴量を入力として食事および非食事を識別する学習モデルとの比較から算出される食事らしさの確信度を、食事摂取指標の生成に活用する。したがって、本実施例に係るサーバ装置３０によれば、食事内容にかかわる情報を生成できる。さらに、本実施例に係るサーバ装置３０では、食事内容にかかわる情報の生成に、既存の食事行動期間を推定する仕組みを流用できる。
【実施例２】
【００６９】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７０】
［確信度の補正］
上記の実施例１では、ウェアラブル端末１０が装着される対象者の区別なく、各対象者から計測された心拍データに同様の処理が実行される場合を例示したが、対象者の個人特性や食事の摂取量に合わせて確信度算出部３４が算出する確信度を補正することができる。
【００７１】
（１）確信度の個人差
すなわち、ある対象者Ａが体内に摂取できる最大の食事量で最大カロリーを摂取する場合、すなわち満腹の状態まで食事を摂取する場合には、確信度として０．６５という値が観測されるが、別の対象者Ｂが満腹の状態まで食事を摂取する場合、確信度として０．９という値が観測されるといった個人差が現れる場合がある。そのため、確信度算出部３４が算出する確信度にしたがって、確信度の値が０．７未満の場合はカロリーが低い、０．７〜０．９の場合はカロリーが中程度、０．９以上の場合はカロリーが多い、というような一律な変換を実施すると、次のような事態が起こり得る。すなわち、対象者Ａにとって最大カロリーで摂取された食事であっても、低カロリーと確信度が誤変換されてしまう。
【００７２】
このことから、サーバ装置３０は、心拍データに関連付けられたアカウントから対象者個人を識別し、対象者ごとに過去に算出された確信度の履歴を用いて確信度算出部３４が算出する確信度を補正する補正部をさらに有することができる。例えば、補正部は、対象者の履歴として蓄積された確信度のうち最大値に基づいて確信度算出部３４が算出する確信度を補正する。例えば、補正部は、確信度算出部３４により算出された確信度、もしくは食事行動期間に対応する窓データの確信度の代表値を、履歴に含まれる確信度のうち最大値で除算することにより、確信度を補正することができる。
【００７３】
（２）少量の食事の摂取時の補正
また、補正部は、上記の満腹時の確信度の個人差に着目する補正の他、少量の食事が摂取される場合に関しても補正を行うことができる。このような少量の食事の摂取時に補正を行う場合、次のような創作の困難性がある。すなわち、食事を取ったが、摂取量が少ないというケースは稀であるので、食事時の確信度の最小値を基準に補正を行うと、うまく個人差を吸収することができない。このことから、食事が少ない場合に関しては、非食事の確信度を基準に補正を行う。例えば、補正部は、食事行動期間に対応しない窓データから算出された確信度、すなわち非食事の確信度の平均値を少量の食事の摂取時の値として用い、確信度算出部３４が算出する確信度から非食事の確信度の平均値を減算することにより、補正後の確信度を得ることもできる。
【００７４】
（３）組合せ
さらに、補正部は、上記の（１）および上記の（２）を組み合わせて実行することもできる。例えば、補正部は、確信度算出部３４により算出された確信度、もしくは食事行動期間に対応する窓データの確信度の代表値を下記の式（１）にしたがって補正することができる。さらに、補正部が実行する補正は、食事の時間帯、例えば朝・昼・夜などに分割して行っても良い。これによって、朝食、昼食、夕食でそれぞれ食事摂取物の量が異なる事態に対応できる。
【００７５】
（確信度算出部３４が算出する確信度−非食事の確信度の平均値）／（食事の確信度の分布の最大値−非食事の確信度の平均値）・・・（１）
【００７６】
［確信度からカロリーへの変換の応用例］
上記の実施例１では、確信度からカロリーの摂取または消化のレベルへ変換する例を説明したが、レベルではなく、数値へ変換することもできる。例えば、一日の摂取カロリーの統計値、例えば平均値からカロリーの値を算出しても良い。一般に、１日で摂取するのがよいとされているカロリーは、男性２１００ｋｃａｌ、女性１８００ｋｃａｌとされている。また、理想的な朝・昼・晩の摂取カロリーの比は「３：４：３」と言われている。そのため、例えば、確信度からカロリーへ変換する場合、次のようにして変換することができる。すなわち、「（２１００ｋｃａｌ＋１８００ｋｃａｌ）／２の計算により、１９５０ｋｃａｌを一日合計の想定カロリーとして算出する。その上で、昼の時間帯に対応する食事行動期間における確信度の代表値、例えば最頻値を１９５０ｋｃａｌ×４／（３＋４＋３）となるように、確信度と比例する摂取カロリーを算出する。すなわち、変換部３６は、１９５０ｋｃａｌ×４／（３＋４＋３）／最頻値×今回の食事の確信度（昼）の計算により、今回の食事の摂取カロリー（昼）を算出することができる。なお、対象者のアカウントから男性または女性の性別が識別できる場合には、１９５０ｋｃａｌではなく、２１００ｋｃａｌや１８００ｋｃａｌの値をそのまま用いることができる。この他、３：４：３の摂取カロリーの比率はあくまで一例であり、実態に合わせて変更しても良い。また、朝・昼・晩の摂取カロリーの比の代わりに、朝・昼・晩の食事時間の比を用いることとしても良い。
【００７７】
［食事摂取指標］
上記の実施例１では、食事摂取指標の一例として、カロリーの高低の例を挙げたが、モデルを用いて算出された確信度を食事体積の大小、食事重量の軽重、消化負荷量の大小などの他の食事摂取指標へ変換することもできる。
【００７８】
（１）食事重量
例えば、確信度から食事重量へ変換する場合、変換部３６は、アトウォータ係数を用いて摂取カロリー量から変換できる。そのため、変換部３６は、確信度から摂取カロリーへ変換した後、アトウォータ係数を用いて食事重量を推定する。この時、アトウォータ係数はタンパク質、脂質、糖質によって異なるが、一般的に良く食べられる混合比を用いる。例えば、日本人の場合であれば、たんぱく質１５％、脂質２５％、糖質６０％である。さらに、食事の種類に基づいて変換しても良い。また、ユーザのプロファイルとして脂っこいものを食べる事が多い、といった混合比の偏りに関する情報が得られる場合は、アトウォータ係数の混合比を変更し、脂質の割合をたかくして計算しても良い。この他、何を食べたかの情報が食事毎に与えられる場合には、それらの情報を用いても良い。例えば、手首につけたモーションセンサやスマートフォンで撮影されたカメラを用いることで、現在食べたものの種類がラーメンである、といったようなことが推論できる。その場合、種類とタンパク質・脂質・糖質の混合比の対応関係が保存されたデータベースから現在食べたものの種類の混合比を取得し、その混合比に基づいて食事重量を推定しても良い。
【００７９】
（２）早食い度
また、変換部３６は、確信度から早食い度、すなわち食物が摂取される速さの度合いへ変換することもできる。この場合、変換部３６は、確信度を食事期間で除算することにより、確信度を早食い度へ変換する。この他、変換部３６は、上記の食事重量を求めた後、食事期間で除算された除算値を早食い度として算出することとしてもよい。例えば、確信度が０以上０．０４未満である場合、早食い度「低」へ変換され、０．０４以上０．０８未満である場合、早食い度「中」に変換され、また、０．０８以上である場合、早食い度「高」に変換される。
【００８０】
（３）満腹度
また、変換部３６は、一例として、下記の式にしたがって確信度から満腹度へ変換することもできる。例えば、変換部３６は、人は食事する際、腹８分目の食事が最も多いというヒューリスティクスに基づいて、確信度の履歴から生成された分布、例えばヒストグラムや確率密度分布のうち度数が最大である階級の確信度、すなわち確信度の最頻値を用いて確信度を満腹度へ変換することができる。さらに、変換部は、確信度算出部３４により算出された確信度、もしくは食事行動期間に対応する窓データの確信度の代表値が履歴の最頻値で除算された除算値を腹８分目として、当該除算値に係数α、例えば０．８を乗算することにより、満腹度へ変換することとしてもかまわない。
（確信度算出部３４が算出する確信度−非食事の確信度の平均値）／（食事の確信度の分布の最頻値−非食事の確信度の平均値）×０．８
【００８１】
これらの食事摂取指標は、その種類によって確信度などの入力に対して異なる傾向が現れる。例えば、摂取カロリーと早食い度を例に挙げると、食事期間が１０分間、確信度が０．８である食事イベントから、食事期間が３０分間、確信度が０．９である食事イベントへの推移で異なる傾向が現れる。この場合、摂取カロリーは、確信度が０．８から０．９へ推移しているので、増加する。そのため、確信度から高カロリーへ変換される。一方、早食い度は、０．８／１０分間から０．９／３０分間へ推移しているので、減少する。そのため、確信度が上がったとしても、早食い度は減少する（低と判定）。
【００８２】
［出力の応用例］
上記の実施例１では、食事摂取指標もしくはその推移などの時系列変化が出力される場合を例示したが、確信度の時系列変化を出力することもできるし、前後する食事イベントの間で確信度または食事摂取指標の相対変化、例えば前回に比べて今回は高い、あるいは低いなどを出力することができる。
【００８３】
［スタンドアローン］
上記の実施例１では、上記のヘルスケア支援システム１をクライアントサーバシステムとして構築される場合を例示したが、必ずしもクライアントサーバシステムとして構築されずともよい。例えば、サーバ装置３０が有する機能部により実行される図５に示す食事推定処理は、ウェアラブル端末１０に接続されたＩｏＴデバイス２０によりスタンドアローンで実行されることとしてもかまわない。さらに、ウェアラブル端末１０及びＩｏＴデバイス２０は、必ずしも別個の装置として構成されずともよい。すなわち、心拍センサ１１を搭載するコンピュータにより、サーバ装置３０が有する機能部により実行される図５に示す処理がスタンドアローンで実行されることとしてもかまわない。
【００８４】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第一の取得部３１Ａ、第二の取得部３１Ｂ、特徴量算出部３２、確信度算出部３４、変換部３６又は提供部３７をサーバ装置３０の外部装置としてネットワーク経由で接続するようにしてもよい。また、第一の取得部３１Ａ、第二の取得部３１Ｂ、特徴量算出部３２、確信度算出部３４、変換部３６又は提供部３７を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記のサーバ装置３０の機能を実現するようにしてもよい。
【００８５】
［食事推定プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図６を用いて、上記の実施例と同様の機能を有する食事推定プログラムを実行するコンピュータの一例について説明する。
【００８６】
図６は、実施例１及び実施例２に係る食事推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。図６に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００８７】
ＨＤＤ１７０には、図６に示すように、上記の実施例１で示した第一の取得部３１Ａ、第二の取得部３１Ｂ、特徴量算出部３２、確信度算出部３４、変換部３６及び提供部３７と同様の機能を発揮する食事推定プログラム１７０ａが記憶される。この食事推定プログラム１７０ａは、図１に示した第一の取得部３１Ａ、第二の取得部３１Ｂ、特徴量算出部３２、確信度算出部３４、変換部３６及び提供部３７の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【００８８】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から食事推定プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、食事推定プログラム１７０ａは、図６に示すように、食事推定プロセス１８０ａとして機能する。この食事推定プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち食事推定プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、食事推定プロセス１８０ａが実行する処理の一例として、図５に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【００８９】
なお、上記の食事推定プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に食事推定プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から食事推定プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに食事推定プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから食事推定プログラム１７０ａを取得して実行するようにしてもよい。
【００９０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９１】
（付記１）心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータに実行させることを特徴とする食事推定プログラム。
【００９２】
（付記２）算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする付記１に記載の食事推定プログラム。
【００９３】
（付記３）算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する処理を前記コンピュータにさらに実行させることを特徴とする付記１に記載の食事推定プログラム。
【００９４】
（付記４）前記食事内容にかかわる情報は、カロリー、食事体積、食事重量、消化負荷量または満腹度であることを付記１に記載の食事推定プログラム。
【００９５】
（付記５）心拍データと食事期間を取得し、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出し、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する、
処理をコンピュータが実行することを特徴とする食事推定方法。
【００９６】
（付記６）算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する処理を前記コンピュータがさらに実行することを特徴とする付記５に記載の食事推定方法。
【００９７】
（付記７）算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する処理を前記コンピュータがさらに実行することを特徴とする付記５に記載の食事推定方法。
【００９８】
（付記８）前記食事内容にかかわる情報は、カロリー、食事体積、食事重量、消化負荷量または満腹度であることを付記５に記載の食事推定方法。
【００９９】
（付記９）心拍データと食事期間を取得する取得部と、
取得した前記心拍データと、前記心拍データからある期間が食事か非食事かを識別する学習モデルとに基づき、前記心拍データの特徴が、食事か非食事かどちらの特徴に近いかを示す確信度を少なくとも食事期間について算出する確信度算出部と、
前記確信度と食事内容にかかわる情報とが対応付けられた対応情報を用いて、算出された確信度を食事内容にかかわる情報に変換する変換部と、
を有することを特徴とする食事推定装置。
【０１００】
（付記１０）算出された前記確信度の履歴のうち最大値を用いて、算出された前記確信度を補正する補正部をさらに有することを特徴とする付記９に記載の食事推定装置。
【０１０１】
（付記１１）算出された前記確信度の履歴のうち最頻値を用いて、算出された前記確信度を補正する補正部をさらに有することを特徴とする付記９に記載の食事推定装置。
【０１０２】
（付記１２）前記食事内容にかかわる情報は、カロリー、食事体積、食事重量、消化負荷量または満腹度であることを付記９に記載の食事推定装置。
【符号の説明】
【０１０３】
１    ヘルスケア支援システム
１０    ウェアラブル端末
２０    ＩｏＴデバイス
３０    サーバ装置
３１Ａ  第一の取得部
３１Ｂ  第二の取得部
３２    特徴量算出部
３３    モデル記憶部
３４    確信度算出部
３５    対応情報記憶部
３６    変換部
３７    提供部
【図１】
2019136256.tif 000003
【図２Ａ】
2019136256.tif 000004
【図２Ｂ】
2019136256.tif 000005
【図３】
2019136256.tif 000006
【図４】
2019136256.tif 000007
【図５】
2019136256.tif 000008
【図６】
2019136256.tif 000009