(57)【要約】  情報処理装置（１００）は、複数の心拍数の時系列データを取得する処理と、複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する処理と、心拍数の時系列データごとに、第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する処理と、心拍数の時系列データごとに、第２の時間帯に現れる心拍数の上昇変化に基づいて食事時間を推定する処理とを実行する。
2017077656.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
複数の心拍数の時系列データを取得する処理と、
前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する処理と、
前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する処理と、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化に基づいて食事時間を推定する処理と
を実行することを特徴とする食事時間推定方法。
【請求項２】
前記コンピュータが、
前記複数の心拍数の時系列データの間で、心拍数の統計値を同一の時刻ごとに算出し、前記同一の時刻ごとに算出された統計値の時系列データから心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出することを特徴とする請求項１に記載の食事時間推定方法。
【請求項３】
前記コンピュータが、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化から前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化を検出する処理をさらに実行し、
前記推定する処理は、前記心拍数の時系列データごとに、前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化から前記食事時間を推定することを特徴とする請求項１または２に記載の食事時間推定方法。
【請求項４】
前記コンピュータが、
前記心拍数の時系列データごとに食事に関する特徴ベクトルを算出する処理と、
前記心拍数の時系列データごとに得られる食事時間の推定結果と前記特徴ベクトルとからラベル付きの教師データを生成する処理と、
前記ラベル付きの教師データを用いて、任意の前記特徴ベクトルを食事または非食事に分類する食事推定モデルを生成する処理をさらに実行することを特徴とする請求項１、２、３のいずれかに記載の食事時間推定方法。
【請求項５】
前記コンピュータが、
前記食事推定モデルを用いて、入力される心拍数データから求められた特徴ベクトルを食事または非食事に分類することにより、前記食事時間を推定する処理をさらに実行することを特徴とする請求項４に記載の食事時間推定方法。
【請求項６】
前記算出する処理は、前記心拍数の統計値として平均値を算出することを特徴とする請求項２、３、４、５のいずれかに記載の食事時間推定方法。
【請求項７】
前記検出する処理は、前記第１の時間帯を包含する第２の時間帯に現れる心拍数の上昇変化を検出することを特徴とする請求項１、２、３、４、５、６のいずれかに記載の食事時間推定方法。
【請求項８】
前記検出する処理は、前記統計値の時系列データにおける前記第１の時間帯で計測される波形との間で形状が類似する心拍数の上昇変化を検出することを特徴とする請求項１、２、３、４、５、６、７のいずれかに記載の食事時間推定方法。
【請求項９】
前記推定する処理は、前記食事時間として、食事開始時刻、食事終了時刻及び食事所要時間のうち少なくともいずれか１つを推定することを特徴とする請求項１、２、３、４、５、６、７、８のいずれかに記載の食事時間推定方法。
【請求項１０】
コンピュータに、
複数の心拍数の時系列データを取得する処理と、
前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する処理と、
前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する処理と、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化に基づいて食事時間を推定する処理と
を実行させることを特徴とする食事時間推定プログラム。
【請求項１１】
前記コンピュータに、
前記心拍数の時系列データごとに食事に関する特徴ベクトルを算出する処理と、
前記心拍数の時系列データごとに得られる食事時間の推定結果と前記特徴ベクトルとからラベル付きの教師データを生成する処理と、
前記ラベル付きの教師データを用いて、任意の前記特徴ベクトルを食事または非食事に分類する食事推定モデルを生成する処理とをさらに実行させることを特徴とする請求項１０に記載の食事時間推定プログラム。
【請求項１２】
前記コンピュータに、
前記食事推定モデルを用いて、入力される心拍数データから求められた特徴ベクトルを食事または非食事に分類することにより、前記食事時間を推定する処理をさらに実行することを特徴とする請求項１０または１１に記載の食事時間推定プログラム。
【請求項１３】
複数の心拍数の時系列データを取得する取得部と、
前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する抽出部と、
前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する検出部と、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化に基づいて食事時間を推定する推定部と
を有することを特徴とする食事時間推定装置。
【請求項１４】
前記心拍数の時系列データごとに食事に関する特徴ベクトルを算出する算出部と、
前記心拍数の時系列データごとに得られる食事時間の推定結果と前記特徴ベクトルとからラベル付きの教師データを生成する生成部と、
前記ラベル付きの教師データを用いて、任意の前記特徴ベクトルを食事または非食事に分類する食事推定モデルを生成する学習部とをさらに有することを特徴とする請求項１３に記載の食事時間推定装置。
【請求項１５】
前記食事推定モデルを用いて、入力される心拍数データから求められた特徴ベクトルを食事または非食事に分類することにより、前記食事時間を推定する推定部をさらに有することを特徴とする請求項１３または１４に記載の食事時間推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、食事時間推定方法、食事時間推定プログラム及び食事時間推定装置に関する。
【背景技術】
【０００２】
メタボリック症候群や糖尿病を始めとする生活習慣病の予防、ダイエット、医療サービスなどのヘルスケアが注目されている。かかるヘルスケアを実現する場合、日頃の運動や食事などの生活習慣を記録することにより、自己の生活習慣の問題点に気付き、改善していくプロセスが求められる。【０００３】
例えば、「食事」に関する予防策として、下記の通り、「いつ」、「何を」、「どれだけ」などの食事のコントロール方法が挙げられている。具体的には、規則正しく三食を摂る（いつ）、朝食をとる（いつ）、バランス良く栄養をとる（何を）、カロリーを摂取し過ぎない（どれだけ）、塩分は控える（何を）といった項目が挙げられている。【０００４】
ここで、例えば、「いつ」食べたのかという記録があれば、不規則な食習慣を検知し、予防のアドバイスを提供するなどのヘルスケアサービスを実施することもできる。【０００５】
例えば、食事判定を行う技術の一例として、食行動検知システム、発話・飲食状態検出システムや食事行動検出装置などが提案されている。例えば、食行動検知システムでは、食物摂取の際の、腕を上げて降ろす動作を加速度センサを用いて検出することにより、食事判定を行う。また、発話・飲食状態検出システムでは、物を食べる際に咀嚼する事を利用し、体内音の咀嚼特有の周波数パターンを検出する。また、食事行動検出装置の場合、食卓上などに赤外線センサを設置した状況の下、食卓付近で人体を検出した後に人体が頻繁に動いているかどうかを閾値処理する。【０００６】
ところが、これらの技術のいずれにおいても、食事行動を推定するために、食事の仕方が制限されたり、あるいは食事行動を推定する場所に制約があったりするので、汎用性に欠ける面がある。例えば、食行動検知システムで想定される加速度の傾向は、あくまでも食物摂取時になされる腕の動作の一面にしか対応しておらず、それ以外の腕の動作がなされる場合には加速度の傾向が異なるので、検出漏れが発生する。また、発話・飲食状態検出システムの場合、食事時にマイクを首に装着させることになるので、身体に負担がかかり、かつ見栄えも悪くなってしまう。また、食行動検出装置の場合、赤外線センサが設置された場所などのように、固定された環境での食事しか認識することはできない。【０００７】
また、食事判定に脈波を用いる技術の一例として、生活管理端末装置も提案されている。この生活管理端末装置では、食事時に起る咀嚼特徴が現れることに加え、脈拍数が上昇し、かつ皮膚導電率に急激な上昇がない場合に食事中であると判断する。他の一例として、次のようなライフスタイル評価方法も提案されている。このライフスタイル評価方法では、加速度センサによって検知される体動に大きな変化がなく、心拍センサによって測定される心拍数が上昇し、ＬＦ／ＨＦが低下し、かつＨＦが上昇した場合に摂食開始と判断する。これとは逆に、ライフスタイル評価方法では、心拍センサによって測定される心拍数が低下し、ＬＦ／ＨＦが上昇し、かつＨＦが低下した場合に摂食終了と判断する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０００−２４５７１３号公報
【特許文献２】特開２００３−１７３３７５号公報
【特許文献３】特開２００４−８１４７１号公報
【特許文献４】特開２００７−４８１８０号公報
【特許文献５】特表平１０−５０４７３９号公報
【特許文献６】特開２０１１−１１５５０８号公報
【特許文献７】特開２００８−６１７９０号公報
【特許文献８】特開２０１０−１５８２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の技術では、ラベル付きの教師データが与えられなければ、食事時間の推定精度が低下する場合がある。【００１０】
すなわち、食事に伴う心拍数上昇のパターンには個人差がある。かかる個人差の影響を低減して心拍数や脈拍数などから食事時間を推定するには、ラベル付きの教師データの活用が避けられない一面がある。例えば、上記の生活管理端末装置では、食事が行われた時の脈拍数や皮膚導電率などの教師データがなければ、食事時間の推定結果から個人差の影響を低減するのは困難である。また、上記のライフスタイル評価方法では、食事が行われた時の心拍数、ＬＦ／ＨＦやＨＦなどの教師データがなければ、食事時間の推定結果から個人差の影響を低減するのは困難である。【００１１】
１つの側面では、食事時間の推定精度が低下するのを抑制できる食事時間推定方法、食事時間推定プログラム及び食事時間推定装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
一態様では、コンピュータが、複数の心拍数の時系列データを取得する処理と、前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する処理と、前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する処理と、前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化に基づいて食事時間を推定する処理とを実行する。
【発明の効果】
【００１３】
食事時間の推定精度が低下するのを抑制できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係るヘルスケア支援システムの構成を示す図である。
【図２】図２は、心拍数データの一例を示す図である。
【図３】図３は、ピーク時間帯、第１ピーク及び第２ピークの関連性の一例を示す図である。
【図４】図４は、ピーク時間帯の抽出例を示す図である。
【図５】図５は、実施例１に係る食事時間推定処理の手順を示すフローチャートである。
【図６】図６は、心拍数データの一例を示す図である。
【図７】図７は、機械学習による食事時間の推定方法の一例を示す図である。
【図８】図８は、実施例１及び実施例２に係る食事時間推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して本願に係る食事時間推定方法、食事時間推定プログラム及び食事時間推定装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１６】
［システム構成］
図１は、実施例１に係るヘルスケア支援システムの構成を示す図である。図１に示すヘルスケア支援システム１は、各種のヘルスケア支援サービスを提供するものである。例えば、ヘルスケア支援サービスの一例として、センサ端末１０により採取されたセンシングデータを用いてセンサ端末１０のユーザの生活行動、例えば食事時間を記録するサービス、さらには、その記録を活用する派生のサービスなどが挙げられる。【００１７】
かかるヘルスケア支援サービスの一環として、ヘルスケア支援システム１は、食事後には第１ピークが現れた後に第２ピークが現れ、かつ第１ピークよりも第２ピークの方が長期間にわたる傾向にあるという知見を食事時間の推定に活用する。【００１８】
図２は、心拍数データの一例を示す図である。図２には、一例として、食事開始前後の心拍数の変化がグラフ化されている。図２に示す縦軸は、単位時間当たりの心拍数を指し、横軸は、食事開始直前からの経過時刻（時間）を指す。【００１９】
図２に示すように、食事に伴って食事開始後に発生する心拍数の変化には、時間経過に伴って心拍数が上昇（増加）して下降（減少）に転ずる２つのピークが存在する。すなわち、食事開始時刻Ｔｓから時間経過に伴って、食事開始後に先行して出現する心拍数変化のピークである「第１ピーク」と、第１ピークに後続して出現する心拍数変化のピークである「第２ピーク」とが出現する。なお、以下では、第１ピークの部分の波形を含む所定の領域のことを「第１ピーク領域Ａ１」と記載し、第２ピークの部分の波形を含む所定の領域のことを「第２ピーク領域Ａ２」と記載する場合がある。【００２０】
このうち、「第１ピーク」は、食事行為に伴う心拍上昇であり、例えば、食道の蠕動運動に起因する心拍数上昇と推定される。また、「第２ピーク」は、例えば、食事行為により摂取された摂取物、すなわち食物等に対する消化器官（胃腸等）内の消化活動に起因する心拍数上昇と推定される。【００２１】
このことから、食事後には、第１ピークが現れた後に第２ピークが現れ、かつ第１ピークよりも第２ピークの方が長期間にわたる傾向にあるという知見を得ることができる。【００２２】
このような知見の下、ヘルスケア支援システム１は、複数の心拍数の時系列データが時刻毎に平均された平均心拍数の波形に現れるピーク時間帯と重なる各心拍数の時系列データの第２ピークから第１ピークを検出して食事時間を推定する食事時間推定処理を実現する。これによって、一側面として、教師データが入力として与えられなくとも、食事時間の推定精度が低下するのを抑制する。以下では、心拍数の時系列データのことを「心拍数データ」と記載する場合がある。【００２３】
図３は、ピーク時間帯、第１ピーク及び第２ピークの関連性の一例を示す図である。図３の左部には、一例として、同一のユーザを対象に計測された７月１日〜７月３日の３日分の心拍数データの間で同一の時刻の心拍数同士が平均された平均心拍数の波形が示されている。また、図３の右部には、７月１日〜７月３日の各心拍数データが整列されており、これらを代表して７月１日の心拍数データが示されている。なお、図３に示す縦軸は、単位時間当たりの平均心拍数または心拍数を指し、横軸は、時刻を指す。【００２４】
図３の左部に示す平均心拍数の波形からわかる通り、３日分の心拍数データが時刻ごとに平均された場合、平均心拍数には、３日分の各心拍数データの第２ピークの重なりが現れる。これは、同一のユーザであれば多少のばらつきはあれども一定の習慣、例えば昼休みの間に食事を摂る習慣にしたがって食事が行われる傾向にある点、さらには、第１ピークに比べて第２ピークは長期間であることが基礎となって食事時間にばらつきがあっても大局的にみれば各心拍数データの間で重複部分が長くなる点などが根拠となり得る。このことから、平均心拍数の波形から心拍数の上昇幅Ｈと心拍数の上昇期間Ｗがともに所定の閾値以上である時間帯が抽出される。ここで平均心拍数の波形から抽出される時間帯は、一側面において、各心拍数データにおいて第２ピークが頻出する時間帯とみなすことができるので、以下では、「ピーク時間帯」と記載する場合がある。【００２５】
このようにピーク時間帯が得ることができれば、各心拍数データから第２ピーク、第１ピーク、ひいては食事時間を推定することができる。例えば、図３の右部に示すように、心拍数データごとに上記のピーク時間帯を包含する第２ピークを検出し、第２ピークの発生時刻から遡って所定の期間、例えば１時間以内に存在する第１ピークをさらに検出する。その上で、第１ピークの開始時刻、例えば第１ピーク以前で最初に心拍数の最低値が現れる時刻を「食事開始時刻」と推定し、第１ピークの心拍数が計測される時刻を「食事終了時刻」と推定することができる。この他、「食事開始時刻」及び「食事終了時刻」からその差を算出することにより「食事所要時間」をさらに推定することもできる。このように、「食事開始時刻」、「食事終了時刻」及び「食事所要時間」のうち少なくともいずれか１つまたはこれらの組合せを「食事時間」として推定することができる。【００２６】
図１に示すように、ヘルスケア支援システム１には、センサ端末１０と、情報処理装置１００とが含まれる。なお、図１には、センサ端末１０が１つである場合を図示したが、ヘルスケア支援システム１には、複数のセンサ端末が収容されることとしてもかまわない。【００２７】
これらセンサ端末１０及び情報処理装置１００の間は、相互に通信可能に接続される。ここでは、一例として、センサ端末１０及び情報処理装置１００がＢＬＥ（Bluetooth（登録商標）  Low  Energy）などの近距離無線通信により接続される場合を想定するが、有線または無線を問わず、任意のネットワークを介して互いを接続することができる。例えば、ＬＡＮ（Local  Area  Network）やＶＰＮ（Virtual  Private  Network）などの構内通信網を始め、インターネット（Internet）などの任意の種類の通信網を介して、センサ端末１０及び情報処理装置１００を接続することができる。【００２８】
センサ端末１０は、センサを実装する端末装置である。【００２９】
一実施形態として、センサ端末１０には、ヘルスケア専用の端末装置、スマートグラスやスマートウォッチ等の汎用のウェアラブルガジェットなどを採用できる。【００３０】
センサ端末１０には、少なくとも心拍センサが実装される。この心拍センサを用いて、センサ端末１０は、例えば、センサ端末１０を利用するユーザの単位時間当たりの心拍数を検出する。このように心拍センサを用いてセンシングされる心拍数データが食事時間の推定に用いられる。なお、ここでは、心拍センサが搭載される場合を例示するが、搭載可能なセンサが心拍センサに限定されるわけではなく、他のセンサが搭載されることを妨げない。例えば、センサ端末１０に加速度センサやジャイロセンサなどのモーションセンサが搭載される場合、そのセンシング結果を利用して心拍数データから運動、例えば歩行、昇降や走行に伴う心拍数の上昇期間を除外するのに用いることにより、食事時間の推定を補助することもできる。【００３１】
センサ端末１０に心拍センサが実装される場合、ユーザの生体部位、例えば胸、腕、手首などに装着する装着型の心拍センサを採用することができる。例えば光電脈波センサによる脈拍を採用することもできる。この場合、ヘルスケア専用に心拍センサを実装することもできれば、ウェアラブルガジェットが心拍センサを搭載する場合、その心拍センサを流用することもできる。また、心拍センサには、必ずしも装着型のものを採用せずともかまわない。例えば、ユーザの生体の一部が所定のサンプリング周波数で撮像される画像に関する輝度の時系列変化から心拍数を検出したり、ＲＦ（Radio  Frequency）モーションセンサを用いて拍動に伴うドップラ周波数を検出したりすることにより、心拍数の検出をユーザの生体部位に非接触の状態で実現することとしてもかまわない。【００３２】
ここで言う「心拍数」は、血液を送り出す心臓の拍動回数を表す指標であり、そのセンシング方法は、心臓の電気的活動を計測する方法であっても、血液の流れを計測して脈動を計測する方法であってもかまわない。すなわち、必ずしも心拍数の検出に心拍センサが実装されずともよく、心電信号を検出する心電センサがセンサ端末１０に実装されることとしてもかまわない。【００３３】
このようにセンサ端末１０によりセンシングされた心拍数データは、ユーザの識別情報、例えばセンサ端末１０のマシン名やシリアル番号などと対応付けられた状態で情報処理装置１００へ伝送される。このとき、心拍数データは、心拍数がセンシングされる度にリアルタイムで伝送されることとしてもよいし、所定期間、例えば１２時間、１日間、１週間や１ヶ月などにわたって蓄積してから伝送することとしてもかまわない。なお、ここでは、センサ端末１０から情報処理装置１００へ心拍数データが伝送される場合を例示したが、センサ端末１０に心拍数データから食事時間の推定に用いる平均心拍数の波形を抽出させることとしてもかまわない。【００３４】
情報処理装置１００は、上記のヘルスケア支援サービスを提供するコンピュータである。かかる情報処理装置１００には、携帯端末装置、据置き型やノート型のパーソナルコンピュータを含む計算機全般を採用できる。なお、上記の携帯端末装置には、スマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末のみならず、タブレット端末やスレート端末などがその範疇に含まれる。【００３５】
一実施形態として、情報処理装置１００は、パッケージソフトウェアやオンラインソフトウェアとして上記のヘルスケア支援サービスを実現する食事時間推定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、情報処理装置１００は、センサ端末１０から受け付けた心拍数データを用いて、センサ端末１０のユーザの食事時間を推定する。その上で、情報処理装置１００は、食事時間を記録することができる他、それまでに記録された食事時間から所定期間、例えば１週間などにわたる食事時間帯の一覧表を生成した上で出力したり、それまでに記録された食事時間から食習慣またはダイエットに関する分析を行った上で各種のアドバイスを出力したりすることもできる。例えば、情報処理装置１００が有する表示デバイス、音声出力デバイス、印字デバイスなどの出力デバイスを通じて、上記の各種の情報を出力させることができる。また、情報の出力先は、必ずしも情報処理装置１００に限定されず、ユーザが使用する他の端末装置とすることもできるし、その関係者、例えばユーザの親族、医療または介護の担当者などが使用する端末装置とすることもできる。これによって、上記のヘルスケア支援サービスが実現される。【００３６】
［センサ端末１０の構成］
次に、本実施例に係るセンサ端末１０の機能的構成について説明する。図１に示すように、センサ端末１０は、心拍数データ取得部１１と、通信Ｉ／Ｆ（InterFace）部１３とを有する。なお、センサ端末１０は、図１に示した機能部以外にも既知のコンピュータが有する機能部を有することとしてもよい。例えば、ヘルスケア専用の端末装置、ウェアラブルガジェットまたは携帯端末装置がセンサ端末１０として実行される場合、これらの各装置が標準装備するハードウェア及びソフトウェアを実装できる。【００３７】
心拍数データ取得部１１は、上記の心拍数データを取得する処理部である。【００３８】
一実施形態として、心拍数データ取得部１１は、図示しない心拍センサを制御して、所定のサンプリング周期で心拍センサに心拍数をセンシングさせる。これによって、心拍数データ取得部１１は、サンプリング点ごとに心拍センサによりセンシングされる心拍数の時系列データを心拍数データとして取得する。かかる心拍数データには、一例として、時間及び心拍数などの項目が対応付けられたデータを採用できる。ここで言う「時間」は、センサ端末１０上でローカルに管理されるシステム時間、例えば任意の開始時点からの経過時間であってもよいし、年月日時分秒等のカレンダ上の暦で表現される時間であってもかまわない。また、「心拍数」は、単位時間あたりの心拍数として表現される。例えば、単位時間を１分間とする場合、心拍数はｂｐｍ（beats  per  minute）等で表現される。また、単位時間を１秒間とする場合、心拍数はＨｚで表現される。さらに「心拍数」と相関のある指標であれば、心拍数そのものでなくてもかまわない。例えば、心電波形における心電波形のＲＲ間隔はミリ秒で表現され、心拍数の代わりに用いることができる。【００３９】
ここで、センサ端末１０により心拍数を取得させる趣旨は、食事に伴う循環器の応答を捉えて食事時刻の推定に用いるためであり、心拍数以外にも心電波形や脈波波形から得られる情報や血流量に関わる情報から心拍数と相関のある指標が得られる場合には、その指標を用いることができる。【００４０】
通信Ｉ／Ｆ部１３は、他の装置、例えば情報処理装置１００などとの間で通信制御を行うインタフェースである。【００４１】
一実施形態として、通信Ｉ／Ｆ部１３には、センサ端末１０及び情報処理装置１００の間が近距離無線通信により接続される場合、ＢＬＥモジュールなどを採用できる。この他、ＬＡＮやＶＬＡＮなどの無線通信網により接続される場合、通信Ｉ／Ｆ部１３には、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１３は、上記の心拍数データなどを情報処理装置１００へ送信する。また、通信Ｉ／Ｆ部１３は、上記の心拍数データなどを情報処理装置１００へアップロードする指示や心拍数データを情報処理装置１００へアップロードする間隔に関する指示などの他、食事時間の推定結果やそれを用いた診断結果などを情報処理装置１００から受信することもできる。【００４２】
このように心拍数データ取得部１１により検出される心拍数データは、図示しないＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro-Processing  Unit）などの制御部の指示にしたがって通信Ｉ／Ｆ部１３により情報処理装置１００へ伝送される。このとき、心拍数がサンプリングされる度に当該心拍数の振幅が情報処理装置１００へ伝送されることとしてもよいし、所定の期間、例えば１２時間、１日間、１週間や１ヶ月などにわたって図示しないメモリへ心拍数データを蓄積してから情報処理装置１００へ伝送されることとしてもかまわない。【００４３】
なお、上記の心拍数データ取得部１１などの処理部が用いる主記憶装置には、一例として、各種の半導体メモリ素子、例えばＲＡＭ（Random  Access  Memory)やフラッシュメモリを採用できる。また、上記の各処理部が参照する記憶装置は、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などを採用できる。【００４４】
［情報処理装置１００の構成］
次に、本実施例に係る情報処理装置１００の機能的構成について説明する。図１に示すように、情報処理装置１００は、通信Ｉ／Ｆ部１１０と、取得部１２０と、算出部１３０と、抽出部１４０と、第１検出部１５０と、第２検出部１６０と、推定部１７０と、サービス提供部１８０とを有する。なお、情報処理装置１００は、図１に示した機能部以外にも既知のコンピュータが有する機能部、例えば各種の入出力デバイスなどを有することとしてもよい。【００４５】
通信Ｉ／Ｆ部１１０は、他の装置、例えばセンサ端末１０などとの間で通信制御を行うインタフェースである。【００４６】
一実施形態として、通信Ｉ／Ｆ部１１０には、センサ端末１０及び情報処理装置１００の間が近距離無線通信により接続される場合、ＢＬＥモジュールなどを採用できる。この他、ＬＡＮやＶＬＡＮなどの無線通信網により接続される場合、通信Ｉ／Ｆ部１１０には、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。例えば、通信Ｉ／Ｆ部１１０は、上記の心拍数データなどをセンサ端末１０から受信する。また、通信Ｉ／Ｆ部１１０は、上記の心拍数データをセンサ端末１０にアップロードさせる指示やセンサ端末１０が心拍数データを情報処理装置１００へアップロードする間隔に関する指示などの他、食事時間の推定結果やそれを用いた診断結果などをセンサ端末１０へ送信することができる。【００４７】
取得部１２０は、上記の心拍数データを取得する処理部である。【００４８】
一実施形態として、取得部１２０は、センサ端末１０から近距離無線通信を通じて心拍数データを取得することができる。このような通信によるアクセスの他、取得部１２０は、ハードディスクや光ディスクなどの補助記憶装置またはメモリカードやＵＳＢ（Universal  Serial  Bus）メモリなどのリムーバブルメディアに保存された心拍数データを読み出すことにより心拍数データを取得することもできる。なお、ここでは、センサ端末１０から心拍数データを近距離無線通信により取得する場合を例示したが、情報処理装置１００が心拍センサ等を内蔵または付設する場合には、心拍センサにより出力される心拍数データをそのまま取得してもよい。【００４９】
ここで、食事時間の推定には、上記の平均心拍数の波形を得るために、複数の心拍数データが取得される。各心拍数データは、必ずしも同一の時間長でなくともかまわないが、互いのデータ間で心拍数が計測された時刻が重複している時間が長い心拍数データを収集するほど食事時間の推定精度が向上することが期待できる。また、各心拍数データは、任意の時間長とすることができる。以下では、あくまで一例として、各心拍数データが日次の計測データである場合を想定し、所定日数分の心拍数データが蓄積されることを条件に所定日数分の心拍数データが取得される状況を例示することとする。【００５０】
算出部１３０は、複数の心拍数データの間で心拍数の統計値を時刻毎に算出する処理部である。【００５１】
一実施形態として、算出部１３０は、取得部１２０により複数の心拍数データが取得された場合、各心拍数データの間で同一の時刻に計測された心拍数同士に所定の統計処理を実行することにより、時刻ごとに統計心拍数を算出する。かかる統計処理の一例として、算出部１３０は、相加平均を始め、加重平均、中央値または最頻値などの算出を実行することができる。これによって、時間経過にしたがって所定日数間で同一時刻に計測された心拍数の統計値が整列する統計心拍数データ、一例として平均心拍数データが得られる。【００５２】
ここで、算出部１３０は、上記の平均心拍数データを算出する場合に、必ずしも取得部１２０により取得された全ての心拍数データを用いずともかまわない。例えば、下記に例示する基準によって取得部１２０により取得された心拍数データをフィルタリングすることができる。例えば、算出部１３０は、互いの波形の形状が類似する日付の心拍数データの集合を抽出し、それらの日付の心拍数データから平均心拍数データを算出することができる。なお、波形の形状が類似するか否かは、波形間で算出されるユークリッド距離や相関係数などの類似度を閾値処理することにより判定することができる。また、算出部１３０は、１日の心拍数データの統計量、例えば平均、標準偏差や分散が互いに類似する日付の集合を抽出し、それらの日付の心拍数データから平均心拍数データを算出することができる。また、算出部１３０は、心拍数データに関する日付の情報、例えば曜日、平日、祝祭日が互いに一致する日付の集合を抽出し、それらの日付の心拍数データから平均心拍数データを算出することもできる。また、算出部１３０は、日付ごとに取得した情報、例えば天気や気温が互いに類似する日付の集合を抽出し、それらの日付の心拍数データから平均心拍数データを算出することもできる。また、算出部１３０は、日付ごとにユーザーから取得したセンサ情報、例えば体温や活動量が互いに類似する日付の集合を抽出し、それらの日付の心拍数データから平均心拍数データを算出することもできる。【００５３】
抽出部１４０は、上記の統計心拍数データからピーク時間帯を抽出する処理部である。【００５４】
一実施形態として、抽出部１４０は、算出部１３０により算出された平均心拍数データの波形から心拍数の上昇幅Ｈ及び心拍数の上昇期間Ｗが所定の条件を満たす区間の時間帯をピーク時間帯として抽出する。かかる条件の一例として、心拍数の上昇幅Ｈと比較する閾値として第１の閾値ＴｈＨが設定されると共に、心拍数の上昇期間Ｗと比較する閾値として第２の閾値ＴｈＷが設定される。このような条件設定の下、抽出部１４０は、上記の平均心拍数データの波形上で心拍数の上昇幅Ｈが第１の閾値ＴｈＨ以上であり、かつ心拍数の上昇期間Ｗが第２の閾値ＴｈＷ以上である区間を抽出する。これによって、上記の統計心拍数データの波形からピーク時間帯が抽出されることになる。【００５５】
図４は、ピーク時間帯の抽出例を示す図である。図４の上段には、同一のユーザを対象に計測された７月１日〜７月３日の３日分の心拍数データのうち一部の時間帯の区間が抜粋して示されている。図４の中段には、図４の上段に示す３日分の心拍数データから算出された平均心拍数データの波形が示されている。さらに、図４の下段には、図４の中段に示す平均心拍数データの波形から抽出されるピーク時間帯Ｐｔが示されている。なお、図４に示す各グラフの縦軸は、単位時間当たりの心拍数または平均心拍数を指し、横軸は、時刻を指す。【００５６】
図４に示すように、図４の上段に示す３日分の心拍数データの間で同一の時刻の心拍数同士が平均されることにより、図４の中段に示す平均心拍数データの波形が得られる。これら統計処理前の個別の心拍数データ及び統計処理後の平均心拍数データの間には、次のような相違点および共通点が現れる。すなわち、統計処理前の個別の心拍数データには、第１ピークや運動に起因する心拍数の上昇がピーキーに波形上へ現れるが、統計処理後の平均心拍数データでは、第１ピークや運動に起因する心拍数の上昇が統計処理による平滑化によって鈍くなる結果、微細化または消滅する。このような相違点がある一方で、第２ピークは、第１ピークに比べて長期間継続するので、個別の心拍数データの間で実際の食事時間に多少のずれが存在しても、平均心拍数データに第２ピークの重なりが現れる。【００５７】
その後、図４の中段に示す平均心拍数データの波形から図４の下段に示すピーク時間帯Ｐｔが抽出される。かかるピーク時間帯の開始時刻には、平均心拍数データの波形上で心拍数の上昇幅Ｈが第１の閾値ＴｈＨ以上であり、かつ心拍数の上昇期間Ｗが第２の閾値ＴｈＷ以上である区間で最高値が計測される時刻から遡って最初に極小値が検出される時刻ｔＳが設定される。一方、ピーク時間帯の終了時刻には、上記の条件を満たす区間で最高値が計測される時刻からの時間経過においてピーク時間帯の開始時刻に計測される平均心拍数と同値まで平均心拍数が減少（回復）した時刻ｔＥが設定される。これによって、上記の統計心拍数データの波形からピーク時間帯Ｐｔが定義されることになる。【００５８】
ここで、図４の上段〜下段の各グラフでは、説明の便宜上、１日分のうち一部の時間帯が抜粋された状態で平均心拍数データが図示されているが、これは１つの平均心拍数データから１つのピーク時間帯が抽出されることを限定する趣旨ではない。すなわち、１つの心拍数データの時間長が１日であるとしたとき、必ずしも食事が行われる回数が１回であるとは限らない。つまり、実際に食事が行われる回数にしたがってピーク時間帯が抽出される個数が変化することは言うまでもなく、ピーク時間帯が１つも抽出されない場合もあれば、複数のピーク時間帯が抽出される場合もあることを付言しておく。なお、図４では、ピーク時間帯の開始時刻に計測される平均心拍数と同値まで平均心拍数が減少した時刻をピーク時間帯の終了時刻として設定する場合を例示したが、ピーク時間帯の終了時刻の設定方法はこれに限定されない。例えば、上記の条件を満たす区間で最高値が計測される時刻からの時間経過において最初に極小値が検出される時刻をピーク時間帯の終了時刻に設定することもできる。【００５９】
第１検出部１５０は、各心拍数データからピーク時間帯と少なくとも一部が重なる第２ピークを検出する処理部である。【００６０】
一実施形態として、第１検出部１５０は、抽出部１４０により抽出されたピーク時間帯ごとに、取得部１２０により取得された各心拍数データの第２ピークを検出する。すなわち、第１検出部１５０は、抽出部１４０により抽出されたピーク時間帯のうちピーク時間帯を１つ選択する。さらに、第１検出部１５０は、取得部１２０により取得された心拍数データのうち心拍数データを１つ選択する。その上で、第１検出部１５０は、図３の右部のグラフで示した通り、ピーク時間帯を包含し、かつ平均心拍数データにおけるピーク時間帯の波形との間で波形の形状が類似するという２つの条件を満たす心拍数データの期間を第２ピーク期間として検出する。なお、ここでは、一例として、第１検出部１５０から第２検出部１６０へ第２ピーク期間、すなわち第２ピーク期間の開始時刻及び終了時刻が入力される場合を例示するが、第２ピークの心拍数が計測される第２ピークの計測時刻を入力させることとしてもかまわない。【００６１】
これを具体的に説明すると、第１検出部１５０は、抽出部１４０によりピーク時間帯が抽出される方法と同様のロジックを用いて、第２ピーク期間の候補を抽出する。その上で、第１検出部１５０は、先に抽出された第２ピーク期間の候補の中に、先に選択されたピーク時間帯を包含する候補が存在する候補をさらに抽出する。続いて、第１検出部１５０は、先に選択された心拍数データの波形のうちピーク時間帯を包含する第２ピーク期間の候補に対応する部分波形と、平均心拍数データの波形のうち先に選択されたピーク時間帯に対応する部分波形との間で、互いが重複する各時刻のユークリッド距離を算出する。そして、第１検出部１５０は、各時刻のユークリッド距離の総和が所定の閾値以下である場合、当該ピーク時間帯を包含する第２ピーク期間の候補を第２ピーク期間として検出する。なお、第２ピーク期間の候補の中に上記２つの条件を満たす候補が存在しない場合、第２ピーク期間は検出されない。【００６２】
なお、ここでは、あくまで一例として、第２ピーク期間の候補がピーク時間帯を包含することを第２ピーク期間として抽出する条件としたが、ピーク時間帯と重複する期間が所定の閾値以上である第２ピーク期間の候補を抽出することとしてもよい。また、ここでは、各時刻のユークリッド距離の総和が閾値以下であるか否かにより、平均心拍数データにおけるピーク時間帯の波形との間で形状が類似するか否かを判定する場合を例示したが、他の方法によって形状の類似を判別することとしてもよい。例えば、互いの部分波形の間で算出される類似度、例えば相関係数が閾値以上であるか否かにより、形状の類似を判定することもできる。【００６３】
第２検出部１６０は、各心拍数データから第２ピークに先行して現れる第１ピークを検出する処理部である。【００６４】
一実施形態として、第２検出部１６０は、図３の右部のグラフで示した通り、第１検出部１５０により選択された心拍数データの波形上で第２ピーク期間の開始時刻または第２ピークの心拍数が計測される第２ピークの計測時刻から遡って所定の期間内に、心拍数の上昇幅が所定の閾値以上であるピークを第１ピークとして検出することができる。これ以外の方法でも、第２検出部１６０は、第１ピークを検出することもできるのは言うまでもない。例えば、第２検出部１６０は、第１検出部１５０により検出された第２ピークの計測時刻よりも１つ前に発生しているピークを第１ピークとして検出することもできる。【００６５】
推定部１７０は、各心拍数データから食事時間を推定する処理部である。【００６６】
一実施形態として、推定部１７０は、第２検出部１６０により検出された第１ピークの計測時刻から遡って最初に極小値が検出される時刻、すなわち第１ピーク期間の開始時刻を「食事開始時刻」と推定する。さらに、推定部１７０は、第２検出部１６０により検出された第１ピークの計測時刻を「食事終了時刻」と推定する。さらに、推定部１７０は、食事終了時刻から食事開始時刻を減算することにより「食事所要時間」を推定する。このようして推定された食事開始時刻、食事終了時刻、食事所要時間、もしくは、これらの組合せのうち少なくともいずれか１つがサービス提供部１８０へ出力されることになる。【００６７】
サービス提供部１８０は、上記のヘルスケア支援サービスを提供する処理部である。【００６８】
一実施形態として、サービス提供部１８０は、食事時間、例えば食事開始時刻、食事終了時刻、食事所要時間、もしくは、これらの組合せのうち少なくともいずれか１つを記録したり、それまでに記録された食事時間から所定期間、例えば１週間などにわたる食事時間帯の一覧表を生成した上で出力したり、それまでに記録された食事時間から食習慣またはダイエットに関する分析を行った上で各種のアドバイスを出力したりする。【００６９】
なお、上記の取得部１２０、算出部１３０、抽出部１４０、第１検出部１５０、第２検出部１６０、推定部１７０及びサービス提供部１８０などの処理部は、次のようにして実装できる。例えば、ＣＰＵなどの中央処理装置に、上記の取得部１２０、算出部１３０、抽出部１４０、第１検出部１５０、第２検出部１６０、推定部１７０及びサービス提供部１８０と同様の機能を発揮するプロセスをメモリ上に展開して実行させることにより実現できる。これらの処理部は、必ずしも中央処理装置で実行されずともよく、ＭＰＵに実行させることとしてもよい。また、上記の各機能部は、ハードワイヤードロジックによっても実現できる。【００７０】
また、上記の各処理部が用いる主記憶装置には、一例として、各種の半導体メモリ素子、例えばＲＡＭやフラッシュメモリを採用できる。また、上記の各機能部が参照する記憶装置は、必ずしも主記憶装置でなくともよく、補助記憶装置であってもかまわない。この場合、ＨＤＤ、光ディスクやＳＳＤなどを採用できる。【００７１】
［処理の流れ］
図５は、実施例１に係る食事時間推定処理の手順を示すフローチャートである。この処理は、一例として、複数の心拍数データ、例えば３日分、１週間分、１ヶ月分などの心拍数データがセンサ端末１０または情報処理装置１００などで蓄積された場合に起動される。【００７２】
図５に示すように、複数の心拍数データが取得されると（ステップＳ１０１）、算出部１３０は、各心拍数データの間で同一の時刻に計測された心拍数同士を平均することにより、平均心拍数データを算出する（ステップＳ１０２）。【００７３】
その上で、抽出部１４０は、ステップＳ１０２で得られた平均心拍数データの波形上で心拍数の上昇幅Ｈが第１の閾値ＴｈＨ以上であり、かつ心拍数の上昇期間Ｗが第２の閾値ＴｈＷ以上である区間をピーク時間帯として抽出する（ステップＳ１０３）。【００７４】
そして、第１検出部１５０は、ステップＳ１０３で抽出されたピーク時間帯のうちピーク時間帯を１つ選択する（ステップＳ１０４）。さらに、第１検出部１５０は、ステップＳ１０１で取得された心拍数データのうち心拍数データを１つ選択する（ステップＳ１０５）。【００７５】
その上で、第１検出部１５０は、ステップＳ１０４で選択されたピーク時間帯を包含し、かつ平均心拍数データにおけるピーク時間帯の波形との間で波形の形状が類似する心拍数データの期間を第２ピークとして検出する（ステップＳ１０６）。【００７６】
このとき、ステップＳ１０６で第２ピークの検出に成功した場合（ステップＳ１０７Ｙｅｓ）、第２検出部１６０は、ステップＳ１０５で選択された心拍数データの波形上で第２ピーク期間の開始時刻または第２ピークの心拍数が計測される第２ピークの計測時刻から遡って所定の期間内に、心拍数の上昇幅が所定の閾値以上であるピークを第１ピークとして検出する（ステップＳ１０８）。なお、第２ピークの検出に成功しなかった場合（ステップＳ１０７Ｎｏ）、ステップＳ１１１へ移行する。【００７７】
ここで、ステップＳ１０８で第１ピークの検出に成功した場合（ステップＳ１０９Ｙｅｓ）、推定部１７０は、ステップＳ１０８で検出された第１ピークから「食事開始時刻」、「食事終了時刻」、「食事所要時間」もしくはこれらの組合せのうち少なくともいずれか１つを「食事時間」として推定する（ステップＳ１１０）。なお、第１ピークの検出に成功しなかった場合（ステップＳ１０９Ｎｏ）も、ステップＳ１１１へ移行する。【００７８】
そして、ステップＳ１０１で取得された全ての心拍数データが選択されるまで（ステップＳ１１１Ｎｏ）、上記のステップＳ１０５〜ステップＳ１１０の処理が繰り返し実行される。その後、ステップＳ１０１で取得された全ての心拍数データが選択された場合（ステップＳ１１１Ｙｅｓ）、ステップＳ１１２の処理へ移行する。そして、ステップＳ１０３で抽出された全てのピーク時間帯が選択されるまで（ステップＳ１１２Ｎｏ）、上記のステップＳ１０４〜ステップＳ１１１の処理が繰り返し実行される。最後に、ステップＳ１０３で抽出された全てのピーク時間帯が選択された場合（ステップＳ１１２Ｙｅｓ）、処理を終了する。【００７９】
［効果の一側面］
上述してきたように、本実施例に係る情報処理装置１００は、複数の心拍数データが時刻毎に平均された平均心拍数データの波形に現れるピーク時間帯と重なる各心拍数データの第２ピークから第１ピークを検出して食事時間を推定する食事時間推定処理を実現する。したがって、本実施例に係る情報処理装置１００によれば、一側面として、教師データが入力として与えられなくとも、食事時間の推定精度が低下するのを抑制できる。
【実施例２】
【００８０】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。【００８１】
［食事推定モデルの生成］
例えば、情報処理装置１００は、各心拍数データ及び各心拍数データに対する食事時間の推定結果から生成されるラベル付きの教師データを用いて、入力として与えられる心拍数データから求められる食事に関する特徴量を食事または非食事のいずれかのクラスへ分類する「食事推定モデル」を機械学習することもできる。かかる機械学習には、一例として、サポートベクタマシン、ブースティングやニューラルネットワークなどの任意のアルゴリズムを採用することができる。【００８２】
ここで、上記の特徴量には、任意のものを採用することができるが、その一例について図６を用いて説明する。図６は、心拍数データの一例を示す図である。図６には、食事開始前後の心拍数の変化がグラフ化されており、図６に示す縦軸は、単位時間当たりの心拍数を指し、横軸は、食事開始直前からの経過時刻（時間）を指す。なお、図６に示す「ＢＬ」は、心拍数のベースラインを指す。かかるベースラインＢＬは、食事を原因とする心拍数の上昇幅を求めるための基準値である。これは、ユーザが食事を行う場面の各々で心拍数が同一の値をとるとは限らないので、心拍数の絶対値の代わりに、心拍数の上昇幅を用いて特徴量を求めることにより、食事が摂取される各場面で心拍数がばらつくことによって食事時刻の推定精度が低下するのを抑制するために用いられる。例えば、ベースラインＢＬの心拍数の値として、食事開始時刻Ｔｓの心拍数を用いることができる他、ユーザの食事開始前の３０分間、１時間等の所定期間の心拍数の平均値、食事開始時刻Ｔｓの心拍数、第１ピークと第２ピークとの間で最小となる心拍数を採用できる。【００８３】
例えば、（１）面積、（２）振幅などの観点から、心拍数の変化の原因が食事である尤もらしさを表す特徴量を定義できる。なお、ここでは、２つの特徴量を例示したが、必ずしも全ての特徴量を食事時間の推定に用いずともよく、２つの特徴量のうち少なくともいずれか１つもしくは他の特徴量をさらに組み合わせて特徴ベクトルを算出することができる。【００８４】
すなわち、図６に示すように、第１ピーク領域Ａ１の面積、及び、第２ピーク領域Ａ２の面積が特徴量（１）として定義される。また、図６に示すように、第１ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数Ｐ１、及び、第２ピークを形成する波形のうち心拍数が最大の値をとる最大心拍数Ｐ２が特徴量（２）として定義される。ここでは、上記２つの特徴量についてその算出方法を説明する。【００８５】
上記の特徴量（１）のうち、第１ピーク領域Ａ１の面積Ｓ１は、食事開始時刻Ｔｓを始点とし、心拍数が第１ピークを経てベースラインＢＬまで回復した時刻を終点とする食事期間Ｔａ１においてベースラインＢＬからの心拍数の上昇幅を合計することにより求めることができる。なお、ここでは、心拍数の上昇幅を合計することにより面積を算出する場合を例示したが、心拍数の上昇幅の平均値を算出することにより面積を求めることとしてもかまわない。一方、第２ピーク領域Ａ２の面積Ｓ２は、一例として、第１ピーク領域Ａ１の食事期間Ｔａ１の終点もしくはその終点よりも後の時刻を始点とし、心拍数が第２ピークを経てベースラインＢＬまで回復した時刻を終点とする食後期間Ｔａ２においてベースラインＢＬからの心拍数の上昇幅を合計することにより求めることができる。なお、ここでは、２つの面積を求める場合を例示したが、必ずしも２つとも特徴量を算出せずともかまわず、少なくともいずれか１つの特徴量を算出することとすればよい。【００８６】
上記の特徴量（２）のうち、第１ピークの振幅は、上記の食事期間Ｔａ１で計測される心拍数のうち心拍数が最大である最大心拍数Ｐ１を心拍数データから抽出することにより導出することができる。これと同様に、第２ピークの振幅は、食後期間Ｔａ２で計測される心拍数のうち心拍数が最大である最大心拍数Ｐ２を心拍数データを抽出することにより導出することができる。【００８７】
このような特徴量の定義の下、次のような手順にしたがって心拍数データから特徴量が算出される。具体的には、情報処理装置１００は、心拍数データのうち一部のデータを「窓データ」として切り出し、当該窓データごとに特徴量を算出される。例えば、情報処理装置１００は、心拍数データに所定の時間長、例えば２１０分間を持つ窓を設定する。続いて、情報処理装置１００は、窓が設定された区間に対応する部分データを切り出す。その後、情報処理装置１００は、前回に設定された窓を所定のずらし幅、例えば５分間や３０分間にわたってシフトさせる。そして、情報処理装置１００は、シフト後の窓に対応する部分データを切り出す。このように部分データが窓幅で切り出される度に窓データが作成される。その上で、情報処理装置１００は、窓データごとに当該窓データの開始時刻を食事開始時間の候補とし、上記の面積に関する特徴量や振幅に関する特徴量を算出することができる。【００８８】
ここで、ラベル付きの教師データを生成する場合、情報処理装置１００は、図５に示したフローチャートにしたがって推定された食事時間の推定結果をラベリングに用いる。例えば、情報処理装置１００は、食事時間の推定が実行された心拍数データごとに、当該心拍数データから複数の窓データを生成し、窓データごとに特徴ベクトルを算出する。当該窓データの開始時刻が推定された食事開始時刻と一致した特徴ベクトルにはラベル「食事」を付与してポジティブデータを生成し、当該窓データの開始時刻が推定された食事開始時刻と一致しない特徴ベクトルにはラベル「非食事」を付与してネガティブデータを生成する。このようにネガティブデータを生成する場合、クラス分類の識別境界付近に位置する特徴量ベクトルをネガティブデータとして作成する観点から、特徴ベクトルを算出する窓データの時間帯を所定期間、例えば第２ピーク開始１時間前から第２ピーク終了までに絞り込むこともできる。これによって、ポジティブデータ及びネガティブデータを含むラベル付きの教師データを生成できる。【００８９】
その後、情報処理装置１００は、先のようにして生成されたラベル付きの教師データを用いて機械学習を行うことにより、食事推定モデルを生成する。かかる食事推定モデルを用いることによって、情報処理装置１００は、入力として与えられた任意の心拍数データから窓データごとに算出された特徴ベクトルを食事または非食事のクラスに分類することにより食事時間を推定する。【００９０】
これらによって、教師データにラベルを付与する手作業なしに機械学習による食事時間の推定を実現することができる。なお、ここでは、ポジティブデータ及びネガティブデータの両方を機械学習に用いる場合を例示したが、ポジティブデータのみを機械学習に用いることとしてもよい。【００９１】
図７は、機械学習による食事時間の推定方法の一例を示す図である。図７には、７月１日から７月３日の３日分の心拍数データの食事時間の推定結果をラベル付きの教師データの生成に使用して機械学習を行い、この機械学習により得られた食事推定モデルを用いて、７月４日以降に入力される心拍数データから食事時間を推定する例が示されている。【００９２】
図７に示すように、情報処理装置１００は、７月１日から７月３日の３日分の各心拍数データごとに、当該心拍数データから少なくとも推定結果の食事開始時刻を窓の始点とする窓データを１つ含む複数の窓データを生成し、各窓データに関する特徴ベクトルを算出する（Ａ）。これによって、ポジティブデータ及びネガティブデータがラベル付きの教師データとして得られる。例えば、図示の例で言えば、７月１日の１２時３０分を始点とする窓データの特徴ベクトル、すなわち図７の１行目のデータがポジティブデータとして生成されると共に、７月１日の１２時３０分、１３時００分、１３時３０分、１４時００分を始点とする窓データの特徴ベクトル、すなわち図７の２行目〜４行目のデータがネガティブデータとして生成される。その上で、情報処理装置１００は、上記（Ａ）のようにして生成されたラベル付きの教師データを用いて機械学習を行うことにより、食事推定モデルを生成する（Ｂ）。【００９３】
このように食事推定モデルが生成された状況の下、情報処理装置１００は、７月４日の心拍数データが取得されると、当該心拍数データから複数の窓データを生成し、各窓データごとに特徴ベクトルを算出する（Ｃ）。その上で、情報処理装置１００は、上記の食事推定モデルを用いて、上記（Ａ）のようにして算出された特徴ベクトルを食事または非食事のクラスへ分類することにより、食事時間を推定する。例えば、本例では、７月４日の１３時００分を始点とする窓データの特徴ベクトルが「食事」へ分類されているので、食事時間の推定結果の一例として、食事開始時刻「１３時００分」が出力されることになる。【００９４】
また、ポジティブデータの特徴ベクトルや、食事のクラスへ分類された特徴ベクトルを用いて、食事に関する指標を推定することもできる。食事に関する指標は、人の状態、食行動、摂取カロリーなどである。食事に関する指標は、特徴ベクトルの関数として現すことができるため、特徴ベクトルをｘとした場合に、食事に関する指標はｆ（ｘ）と表すことができる。一例として、食事に関する指標を摂取カロリーとすると、第２ピークの面積をｘとして用いることができる。【００９５】
［スタンドアローン］
上記の実施例１では、センサ端末１０及び情報処理装置１００を含むクライアントサーバシステムとして構築される場合を例示したが、これに限定されない。例えば、心拍数データの取得から食事時刻の推定までの一連の処理をセンサ端末１０、情報処理装置１００、あるいはその他のコンピュータにスタンドアローンで実行させることとしてもかまわない。【００９６】
［システムの応用例］
上記の実施例１では、ヘルスケア支援システム１に情報処理装置１００が含まれることとしたが、必ずしも情報処理装置１００が含まれずともかまわない。すなわち、センサ端末１０がウェアラブルガジェット等として実装される場合、ウェアラブルガジェットにより近距離無線通信等で接続されるスマートフォンやタブレット端末で心拍数データの取得以外の各種の処理、例えば食事時刻の推定を実行させることとしてもかまわない。【００９７】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部１２０、算出部１３０、抽出部１４０、第１検出部１５０、第２検出部１６０、推定部１７０またはサービス提供部１８０を情報処理装置１００の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部１２０、算出部１３０、抽出部１４０、第１検出部１５０、第２検出部１６０、推定部１７０またはサービス提供部１８０を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の情報処理装置１００の機能を実現するようにしてもよい。【００９８】
［食事時間推定プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図８を用いて、上記の実施例と同様の機能を有する食事時間推定プログラムを実行するコンピュータの一例について説明する。【００９９】
図８は、実施例１及び実施例２に係る食事時間推定プログラムを実行するコンピュータのハードウェア構成例を示す図である。図８に示すように、コンピュータ１０００は、操作部１１００ａと、スピーカ１１００ｂと、カメラ１１００ｃと、ディスプレイ１２００と、通信部１３００とを有する。さらに、このコンピュータ１０００は、ＣＰＵ１５００と、ＲＯＭ１６００と、ＨＤＤ１７００と、ＲＡＭ１８００とを有する。これら１１００〜１８００の各部はバス１４００を介して接続される。【０１００】
ＨＤＤ１７００には、図８に示すように、上記の実施例１で示した取得部１２０、算出部１３０、抽出部１４０、第１検出部１５０、第２検出部１６０、推定部１７０及びサービス提供部１８０と同様の機能を発揮する食事時間推定プログラム１７００ａが記憶される。この食事時間推定プログラム１７００ａは、図１に示した取得部１２０、算出部１３０、抽出部１４０、第１検出部１５０、第２検出部１６０、推定部１７０及びサービス提供部１８０の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７００には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７００に格納されればよい。【０１０１】
このような環境の下、ＣＰＵ１５００は、ＨＤＤ１７００から食事時間推定プログラム１７００ａを読み出した上でＲＡＭ１８００へ展開する。この結果、食事時間推定プログラム１７００ａは、図８に示すように、食事時間推定プロセス１８００ａとして機能する。この食事時間推定プロセス１８００ａは、ＲＡＭ１８００が有する記憶領域のうち食事時間推定プロセス１８００ａに割り当てられた領域にＨＤＤ１７００から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、食事時間推定プロセス１８００ａが実行する処理の一例として、図５に示す処理などが含まれる。なお、ＣＰＵ１５００では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。【０１０２】
なお、上記の食事時間推定プログラム１７００ａは、必ずしも最初からＨＤＤ１７００やＲＯＭ１６００に記憶されておらずともかまわない。例えば、コンピュータ１０００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１０００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１０００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１０００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【０１０３】
１    ヘルスケア支援システム
１０    センサ端末
１１    心拍数データ取得部
１３    通信Ｉ／Ｆ部
１００    情報処理装置
１１０    通信Ｉ／Ｆ部
１２０    取得部
１３０    算出部
１４０    抽出部
１５０    第１検出部
１６０    第２検出部
１７０    推定部
１８０    サービス提供部
【図１】
2017077656.tif 000003
【図２】
2017077656.tif 000004
【図３】
2017077656.tif 000005
【図４】
2017077656.tif 000006
【図５】
2017077656.tif 000007
【図６】
2017077656.tif 000008
【図７】
2017077656.tif 000009
【図８】
2017077656.tif 000010
【手続補正書】
【提出日】平成30年5月1日(2018.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが、
複数の心拍数の時系列データを取得する処理と、
前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する処理と、
前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する処理と、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化から前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化を検出する処理と、
前記心拍数の時系列データごとに、前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化から食事時間を推定する処理と
を実行することを特徴とする食事時間推定方法。
【請求項２】
前記コンピュータが、
前記複数の心拍数の時系列データの間で、心拍数の統計値を同一の時刻ごとに算出し、前記同一の時刻ごとに算出された統計値の時系列データから心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出することを特徴とする請求項１に記載の食事時間推定方法。
【請求項３】
前記コンピュータが、
前記心拍数の時系列データごとに食事に関する特徴ベクトルを算出する処理と、
前記心拍数の時系列データごとに得られる食事時間の推定結果と前記特徴ベクトルとからラベル付きの教師データを生成する処理と、
前記ラベル付きの教師データを用いて、任意の前記特徴ベクトルを食事または非食事に分類する食事推定モデルを生成する処理をさらに実行することを特徴とする請求項１、２のいずれかに記載の食事時間推定方法。
【請求項４】
前記コンピュータが、
前記食事推定モデルを用いて、入力される心拍数データから求められた特徴ベクトルを食事または非食事に分類することにより、前記食事時間を推定する処理をさらに実行することを特徴とする請求項３に記載の食事時間推定方法。
【請求項５】
前記検出する処理は、前記第１の時間帯を包含する第２の時間帯に現れる心拍数の上昇変化を検出することを特徴とする請求項１、２、３、４のいずれかに記載の食事時間推定方法。
【請求項６】
前記検出する処理は、前記統計値の時系列データにおける前記第１の時間帯で計測される波形との間で形状が類似する心拍数の上昇変化を検出することを特徴とする請求項１、２、３、４、５のいずれかに記載の食事時間推定方法。
【請求項７】
コンピュータに、
複数の心拍数の時系列データを取得する処理と、
前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する処理と、
前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する処理と、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化から前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化を検出する処理と、
前記心拍数の時系列データごとに、前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化から食事時間を推定する処理と
を実行させることを特徴とする食事時間推定プログラム。
【請求項８】
複数の心拍数の時系列データを取得する取得部と、
前記複数の心拍数の時系列データの間で同一時間帯の心拍数の上昇変化が所定の条件を満たす第１の時間帯を抽出する抽出部と、
前記心拍数の時系列データごとに、前記第１の時間帯と少なくとも一部が重なる第２の時間帯に現れる心拍数の上昇変化を検出する第１検出部と、
前記心拍数の時系列データごとに、前記第２の時間帯に現れる心拍数の上昇変化から前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化を検出する第２検出部と、
前記心拍数の時系列データごとに、前記第２の時間帯よりも前に先行して現れる心拍数の上昇変化から食事時間を推定する推定部と
を有することを特徴とする食事時間推定装置。
【国際調査報告】
2017077656.tif 000011
2017077656.tif 000012
2017077656.tif 000013
2017077656.tif 000014