(57)【要約】      （修正有）【課題】個々のユーザに適した食事メニューを推奨するシステム、プログラム及び方法を提供する。【解決手段】システムは、ユーザの過去の食事履歴を示す情報を取得する情報取得部と、情報取得部が取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザに推奨する食事メニューを決定する決定部と、決定部が決定した食事メニューを示す情報を提供する提供部とを備える。コンピュータによって実行される方法は、ユーザの過去の食事履歴を示す情報を取得する段階と、取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザに推奨する食事メニューを決定する段階と、決定した食事メニューを示す情報を提供する段階と、を備える。【選択図】図８
2020181491.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの過去の食事履歴を示す情報を取得する情報取得部と、
前記情報取得部が取得した情報に基づいて、予め登録された複数の食事メニューの中から、前記ユーザに推奨する食事メニューを決定する決定部と、
前記決定部が決定した食事メニューを示す情報を提供する提供部と
を備えるシステム。
【請求項２】
前記情報取得部は、前記ユーザの目標を示す情報をさらに取得し、
前記決定部は、前記ユーザの目標を示す情報にさらに基づいて、前記複数の食事メニューの中から、前記ユーザの目標に適合する食事メニューを決定する
請求項１に記載のシステム。
【請求項３】
前記ユーザが食した食品の画像を示す情報を取得する画像取得部と、
前記画像から前記ユーザが食した食品を認識することにより、前記食品から摂取される栄養を特定する特定部と、
前記ユーザが摂った栄養を示す栄養情報、前記ユーザの識別情報、及び前記ユーザが前記食品を食した日時情報を対応づける情報を、前記食事履歴を示す情報として格納部に格納させる格納制御部と
をさらに備え、
前記情報取得部は、前記食事履歴を示す情報として、前記ユーザの識別情報に対応づけて前記格納部が格納している前記栄養情報及び前記日時情報を取得する
請求項１又は２に記載のシステム。
【請求項４】
前記提供部は、
前記ユーザが食事を提供する店舗内にいる場合に、当該店舗で提供可能な複数のメニューの中から、前記ユーザに推奨する食事メニューを決定し、
前記ユーザが食事を提供する店舗内にいない場合に、前記ユーザの現在位置に関連づけられた複数の店舗で提供可能な複数のメニューの中から、前記ユーザに推奨する食事メニューを決定する
請求項１から３のいずれか一項に記載のシステム。
【請求項５】
前記決定部は、前記ユーザが前記ユーザの生活拠点で食事をする場合に推奨される第１の食事メニューと、前記ユーザが前記生活拠点外で食事をする場合に推奨される第２の食事メニューとを決定する
請求項１から４のいずれか一項に記載のシステム。
【請求項６】
前記提供部は、前記第１の食事メニュー及び前記第２の食事メニューを、前記ユーザの現在位置に基づく優先度で前記ユーザに提供する
請求項５に記載のシステム。
【請求項７】
前記提供部は、前記第１の食事メニュー及び前記第２の食事メニューを、前記現在位置と前記生活拠点との間の距離に基づく優先度で前記ユーザに提供する
請求項６に記載のシステム。
【請求項８】
前記提供部は、前記現在位置が前記生活拠点から遠いほど、前記第２の食事メニューを前記第１の食事メニューより優先して前記ユーザに提供する
請求項６又は７に記載のシステム。
【請求項９】
前記提供部は、前記第１の食事メニュー及び前記第２の食事メニューを、前記ユーザの現在位置及び現在時刻に基づく優先度で前記ユーザに提供する
請求項５から８のいずれか一項に記載のシステム。
【請求項１０】
前記提供部は、前記第１の食事メニュー及び前記第２の食事メニューを、前記現在位置と前記生活拠点との間の距離及び現在時刻に基づく優先度に従って、前記ユーザに提供する
請求項９に記載のシステム。
【請求項１１】
前記食事履歴は、前記ユーザが過去に食事をした時刻を示す情報を含み、
前記提供部は、前記現在位置から前記生活拠点への移動に要する時間、現在時刻、及び前記ユーザが過去に食事をした時刻に基づいて定められる優先度で、前記第２の食事メニューを前記第１の食事メニューより優先して前記ユーザに提供する
請求項９又は１０に記載のシステム。
【請求項１２】
前記第１の食事メニューは、食材から調理することにより得られる食品を含む第３の食事メニューと、調理済み食品を用いた第４の食事メニューとを含む
請求項５から７のいずれか一項に記載のシステム。
【請求項１３】
前記提供部は、前記第３の食事メニュー及び前記第４の食事メニューを、前記ユーザの現在位置と前記生活拠点との間の距離及び現在時刻に基づいて定められる優先度に従って、前記ユーザに提供する
請求項１２に記載のシステム。
【請求項１４】
前記決定部は、前記情報取得部が取得した情報と、前記ユーザの食事に関する行動予定を示す情報とに基づいて、前記複数の食事メニューの中から、前記ユーザに推奨する食事メニューを決定し、
前記提供部は、前記行動予定を示す情報に対応づけて、前記決定部が決定した食事メニューを示す情報を前記ユーザに提供する
請求項１から１３のいずれか一項に記載のシステム。
【請求項１５】
前記行動予定を示す情報は、前記ユーザが次に食事を摂った後に摂る食事メニューを示す情報を含む
請求項１４に記載のシステム。
【請求項１６】
前記行動予定を示す情報は、次に食事を摂った後に前記ユーザが行う運動量を示す情報を含む
請求項１４又は１５に記載のシステム。
【請求項１７】
前記情報取得部は、前記ユーザの過去の運動履歴を示す情報をさらに取得し、
前記決定部は、前記ユーザの過去の運動履歴を示す情報にさらに基づいて、前記複数の食事メニューの中から、前記ユーザに推奨する食事メニューを決定する
請求項１から１６のいずれか一項に記載のシステム。
【請求項１８】
前記情報取得部は、前記ユーザに関連づけられた１以上の他のユーザの過去の食事履歴を示す情報をさらに取得し、
前記決定部は、前記他のユーザの過去の食事履歴を示す情報にさらに基づいて、前記複数の食事メニューの中から、前記ユーザに推奨する食事メニューを決定する
請求項１から１７のいずれか一項に記載のシステム。
【請求項１９】
コンピュータを、請求項１から１８のいずれか一項に記載のシステムとして機能させるためのプログラム。
【請求項２０】
コンピュータによって実行される方法であって、
ユーザの過去の食事履歴を示す情報を取得する段階と、
前記取得した情報に基づいて、予め登録された複数の食事メニューの中から、前記ユーザに推奨する食事メニューを決定する段階と、
前記決定した食事メニューを示す情報を提供する段階と
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、プログラム、及び方法に関する。
【背景技術】
【０００２】
食卓を撮影することで食品の分析と体積の測定を可能にする撮像システムが知られている（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２０１８−１９０２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
個々のユーザに適した食事メニューを推奨することが望まれている。
【課題を解決するための手段】
【０００４】
本発明の第１の態様によれば、システムが提供される。システムは、ユーザの過去の食事履歴を示す情報を取得する情報取得部を備える。システムは、情報取得部が取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザに推奨する食事メニューを決定する決定部を備える。システムは、決定部が決定した食事メニューを示す情報を提供する提供部を備える。
【０００５】
情報取得部は、ユーザの目標を示す情報をさらに取得してよい。決定部は、ユーザの目標を示す情報にさらに基づいて、複数の食事メニューの中から、ユーザの目標に適合する食事メニューを決定してよい。
【０００６】
システムは、ユーザが食した食品の画像を示す情報を取得する画像取得部を備えてよい。システムは、画像からユーザが食した食品を認識することにより、食品から摂取される栄養を特定する特定部を備えてよい。システムは、ユーザが摂った栄養を示す栄養情報、ユーザの識別情報、及びユーザが食品を食した日時情報を対応づける情報を、食事履歴を示す情報として格納部に格納させる格納制御部を備えてよい。情報取得部は、食事履歴を示す情報として、ユーザの識別情報に対応づけて格納部が格納している栄養情報及び日時情報を取得してよい。
【０００７】
提供部は、ユーザが食事を提供する店舗内にいる場合に、当該店舗で提供可能な複数のメニューの中から、ユーザに推奨する食事メニューを決定してよい。提供部は、ユーザが食事を提供する店舗内にいない場合に、ユーザの現在位置に関連づけられた複数の店舗で提供可能な複数のメニューの中から、ユーザに推奨する食事メニューを決定してよい。
【０００８】
決定部は、ユーザがユーザの生活拠点で食事をする場合に推奨される第１の食事メニューと、ユーザが生活拠点外で食事をする場合に推奨される第２の食事メニューとを決定してよい。
【０００９】
提供部は、第１の食事メニュー及び第２の食事メニューを、ユーザの現在位置に基づく優先度でユーザに提供してよい。
【００１０】
提供部は、第１の食事メニュー及び第２の食事メニューを、現在位置と生活拠点との間の距離に基づく優先度でユーザに提供してよい。
【００１１】
提供部は、現在位置が生活拠点から遠いほど、第２の食事メニューを第１の食事メニューより優先してユーザに提供してよい。
【００１２】
提供部は、第１の食事メニュー及び第２の食事メニューを、ユーザの現在位置及び現在時刻に基づく優先度でユーザに提供してよい。
【００１３】
提供部は、第１の食事メニュー及び第２の食事メニューを、現在位置と生活拠点との間の距離及び現在時刻に基づく優先度に従って、ユーザに提供してよい。
【００１４】
食事履歴は、ユーザが過去に食事をした時刻を示す情報を含んでよい。提供部は、現在位置から生活拠点への移動に要する時間、現在時刻、及びユーザが過去に食事をした時刻に基づいて定められる優先度で、第２の食事メニューを第１の食事メニューより優先してユーザに提供してよい。
【００１５】
第１の食事メニューは、食材から調理することにより得られる食品を含む第３の食事メニューと、調理済み食品を用いた第４の食事メニューとを含んでよい。
【００１６】
提供部は、第３の食事メニュー及び第４の食事メニューを、ユーザの現在位置と生活拠点との間の距離及び現在時刻に基づいて定められる優先度に従って、ユーザに提供してよい。
【００１７】
決定部は、情報取得部が取得した情報と、ユーザの食事に関する行動予定を示す情報とに基づいて、複数の食事メニューの中から、ユーザに推奨する食事メニューを決定してよい。提供部は、行動予定を示す情報に対応づけて、決定部が決定した食事メニューを示す情報をユーザに提供してよい。
【００１８】
行動予定を示す情報は、ユーザが次に食事を摂った後に摂る食事メニューを示す情報を含んでよい。
【００１９】
行動予定を示す情報は、次に食事を摂った後にユーザが行う運動量を示す情報を含んでよい。
【００２０】
情報取得部は、ユーザの過去の運動履歴を示す情報をさらに取得してよい。決定部は、ユーザの過去の運動履歴を示す情報にさらに基づいて、複数の食事メニューの中から、ユーザに推奨する食事メニューを決定してよい。
【００２１】
情報取得部は、ユーザに関連づけられた１以上の他のユーザの過去の食事履歴を示す情報をさらに取得してよい。決定部は、他のユーザの過去の食事履歴を示す情報にさらに基づいて、複数の食事メニューの中から、ユーザに推奨する食事メニューを決定してよい。
【００２２】
本発明の第２の態様によれば、プログラムが提供される。プログラムは、コンピュータを、上記管理サーバとして機能させる。
【００２３】
本発明の第３の態様によれば、コンピュータによって実行される方法が提供される。方法は、ユーザの過去の食事履歴を示す情報を取得する段階を備える。方法は、取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザに推奨する食事メニューを決定する段階を備える。方法は、決定した食事メニューを示す情報を提供する段階を備える。
【００２４】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００２５】
【図１】システム１０の一例を概略的に示す。
【図２】サーバ４０の機能構成の一例を概略的に示す。
【図３】サーバ４０による処理の流れの一例を概略的に示す。
【図４】データベース５０に格納される食事履歴情報のデータ構造を示す。
【図５】データベース５０に格納される運動履歴情報のデータ構造を示す。
【図６】データベース５０に格納されるユーザ情報のデータ構造を示す。
【図７】データベース５０に格納される食品情報のデータ構造を示す。
【図８】サーバ４０による処理の流れの一例を概略的に示す。
【図９】ユーザ端末８２に表示される推奨食事メニューの表示内容を概略的に示す。
【図１０】ユーザ端末８２に表示される推奨食事メニューの表示内容を概略的に示す。
【図１１】サーバ４０として機能するコンピュータ１２００のハードウェア構成の一例を概略的に示す。
【発明を実施するための形態】
【００２６】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２７】
図１は、システム１０の一例を概略的に示す。本実施形態に係るシステム１０は、サーバ４０と、データベース５０と、ユーザ端末８２とを備える。システム１０は、ユーザ８０の個々に適した食事メニューを示す情報を提供する。具体的には、システム１０は、ユーザ８０の食事履歴に基づいて、ユーザ８０に推奨される食事メニューを示す情報を提供する。
【００２８】
サーバ４０とユーザ端末８２とは、ネットワーク２０を介して通信する。ネットワーク２０は、移動体通信ネットワーク及びインターネットを含んでよい。移動体通信ネットワークは、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）通信方式、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）通信方式、５Ｇ（５ｔｈ  Ｇｅｎｅｒａｔｉｏｎ）通信方式、及び６Ｇ（６ｔｈ  Ｇｅｎｅｒａｔｉｏｎ）通信方式以降の通信方式のいずれに準拠していてもよい。ユーザ端末８２は、無線基地局を介して移動体通信ネットワークにアクセスしてよく、ＷｉＦｉ（登録商標）を介して移動体通信ネットワークにアクセスしてもよい。
【００２９】
ユーザ端末８２は、ユーザ８０が使用する情報機器である。ユーザ端末８２は、スマートフォン等の携帯電話及びタブレット端末等の携帯通信機器であってよい。ユーザ端末８２は、ノート型パーソナルコンピュータ等の、持ち運び可能な通信機器であってよい。ユーザ端末８２は、パーソナルコンピュータ等の据え置き型の通信機器であってよい。
【００３０】
ユーザ８０は、食事をする場合に、ユーザ端末８２を用いて、配膳された食品の画像を撮影する。ユーザ端末８２は、撮影することにより得られた画像データを含む食事メニュー画像情報を、サーバ４０に送信する。サーバ４０は、ユーザ端末８２から食事メニュー画像情報を受信すると、食事メニュー画像情報に含まれる画像データを解析することにより、ユーザ８０が食した食品を特定して、特定した食品に含まれる栄養を特定する。サーバ４０は、特定した食品を示す情報と、栄養を示す情報と、日時情報と、ユーザ端末８２の位置情報とを含む食事履歴情報を、ユーザ８０の識別情報に対応付けてデータベース５０に格納する。
【００３１】
ユーザ８０は、食事を摂ろうとする場合に、ユーザ端末８２を操作して、ユーザ８０に推奨される食事メニューをサーバ４０に要求する。ユーザ８０は、ユーザ端末８２にインストールされているアプリケーションソフトウェアを立ち上げて、ユーザ８０に推奨される食事メニューを取得するための操作をする。なお、本実施形態において、ユーザ８０に推奨される食事メニューのことを、「推奨食事メニュー」と呼ぶ場合がある。
【００３２】
ユーザ８０の推奨食事メニューを取得するための操作が行われると、ユーザ端末８２は、アプリケーションソフトウェアの制御に従って、ユーザ８０の推奨食事メニューの要求情報をサーバ４０に送信する。サーバ４０は、要求情報を受信すると、ユーザ８０の食事履歴情報に基づいて、ユーザ８０の推奨食事メニューを決定する。例えば、サーバ４０は、データベース５０を参照して、要求情報に含まれるユーザ８０の識別情報に対応づけられた食事履歴情報に基づいて、ユーザ８０の推奨食事メニューを決定する。サーバ４０は、決定した推奨食事メニューを示す情報、ユーザ端末８２に送信する。
【００３３】
システム１０によれば、ユーザ８０の個々の食事履歴に基づいて、ユーザ８０に適切な食事メニューを示す情報を提供することができる。
【００３４】
図２は、サーバ４０の機能構成の一例を概略的に示す。サーバ４０は、処理装置４２、通信装置４６、及び記憶装置４８を備える。
【００３５】
処理装置４２は、プロセッサ等の演算処理装置により実現されてよい。記憶装置４８は、不揮発性の記憶媒体及び／又は揮発性の記憶媒体を含む。処理装置４２は、記憶装置４８に格納された情報を用いて処理を行う。記憶装置４８が格納する情報としては、オペレーティングシステム（ＯＳ）、通信制御ソフトウェア、ＯＳ上で稼動するアプリケーションソフトウェア等を含む。通信装置４６は、ユーザ端末８２との間の通信を担う。通信装置４６は、ネットワーク２０を通じてユーザ端末８２から受信した情報を、処理装置４２に供給する。また、通信装置４６は、処理装置４２により生成されたユーザ端末８２宛ての情報を、ネットワーク２０を通じてユーザ端末８２に送信する。
【００３６】
処理装置４２は、情報取得部２１０、決定部２３０、提供部２４０、及び格納制御部２５０を備える。情報取得部２１０は、ユーザ８０の過去の食事履歴を示す情報を取得する。決定部２３０は、情報取得部２１０が取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザ８０に推奨する食事メニューを決定する。提供部２４０は、決定部２３０が決定した食事メニューを示す情報を提供する。
【００３７】
情報取得部２１０は、ユーザ８０の目標を示す情報をさらに取得する。決定部２３０は、ユーザ８０の目標を示す情報にさらに基づいて、複数の食事メニューの中から、ユーザ８０の目標に適合する食事メニューを決定する。ユーザ８０の目標は、例えば、筋肉増強、ダイエット等の目標である。ユーザ８０の目標とは、例えば、少なくとも食事内容を調整することによってユーザ８０が達成することを希望する目標である。
【００３８】
画像取得部２６０は、ユーザ８０が食した食品の画像を示す情報を取得する。特定部２２０は、画像からユーザ８０が食した食品を認識することにより、食品から摂取される栄養を特定する。格納制御部２５０は、ユーザ８０が摂った栄養を示す栄養情報、ユーザ８０の識別情報、及びユーザ８０が食品を食した日時情報を対応づける情報を、食事履歴を示す情報としてデータベース５０に格納させる。なお、データベース５０は、「格納部」の一例である。栄養情報は、栄養素の種類を示す情報と、各栄養素の量を示す情報とを含んでよい。
【００３９】
情報取得部２１０は、食事履歴を示す情報として、ユーザ８０の識別情報に対応づけてデータベース５０が格納している栄養情報及び日時情報を取得する。決定部２３０は、ユーザ８０から要求情報を受信した場合に、ユーザ８０の識別情報に対応づけられた栄養情報及び日時情報に基づいて、複数の食事メニューの中から、ユーザ８０が次の食事で摂ることを推奨する食事メニューを決定する。
【００４０】
提供部２４０は、ユーザ８０が食事を提供する店舗内にいる場合に、当該店舗で提供可能な複数のメニューの中から、ユーザ８０に推奨する食事メニューを決定する。提供部２４０は、ユーザ８０が食事を提供する店舗内にいない場合に、ユーザ８０の現在位置に関連づけられた複数の店舗で提供可能な複数のメニューの中から、ユーザ８０に推奨する食事メニューを決定する。これにより、ユーザ８０がレストラン内にいるときは、そのレストランが提供可能な食事メニューの中から、ユーザ８０毎に最適化した食事メニューを提供することができる。
【００４１】
決定部２３０は、ユーザ８０がユーザ８０の生活拠点で食事をする場合に推奨される第１の食事メニューと、ユーザ８０が生活拠点外で食事をする場合に推奨される第２の食事メニューとを決定する。生活拠点は、例えば、ユーザ８０の自宅である。ユーザ８０の自宅は、ユーザ端末８２を用いて事前に登録されている。提供部２４０は、第１の食事メニュー及び第２の食事メニューを、ユーザ８０の現在位置に基づく優先度でユーザ８０に提供する。例えば、提供部２４０は、第１の食事メニュー及び第２の食事メニューを、現在位置と生活拠点との間の距離に基づく優先度でユーザ８０に提供する。具体的には、提供部２４０は、現在位置が生活拠点から遠いほど、第２の食事メニューを第１の食事メニューより優先してユーザ８０に提供する。
【００４２】
提供部２４０は、第１の食事メニュー及び第２の食事メニューを、ユーザ８０の現在位置及び現在時刻に基づく優先度でユーザ８０に提供する。例えば、提供部２４０は、第１の食事メニュー及び第２の食事メニューを、現在位置と生活拠点との間の距離及び現在時刻に基づく優先度に従って、ユーザ８０に提供する。例えば、食事履歴は、ユーザ８０が過去に食事をした時刻を示す情報を含む。提供部２４０は、現在位置から生活拠点への移動に要する時間、現在時刻、及びユーザ８０が過去に食事をした時刻に基づいて定められる優先度で、第２の食事メニューを第１の食事メニューより優先してユーザ８０に提供する。
【００４３】
例えば、ユーザ８０が職場から退社したところでユーザ端末８２を用いて推奨食事メニューの要求をしたとする。サーバ４０がユーザ端末８２からの要求情報を受信すると、決定部２３０は、現在位置から自宅までの移動に要する時間を特定して、ユーザ８０が自宅に到着する予想時刻を特定する。提供部２４０は、食事履歴情報に含まれる食事時刻情報の平均値とユーザ８０が自宅に到着する予想時刻との間の時間が予め定められた時間より長い場合に、第１の食事メニューを、第２の食事メニューより優先して提供する。
【００４４】
第１の食事メニューは、食材から調理することにより得られる食品を含む第３の食事メニューと、調理済み食品を用いた第４の食事メニューとを含んでよい。提供部２４０は、第３の食事メニュー及び第４の食事メニューを、ユーザ８０の現在位置と生活拠点との間の距離及び現在時刻に基づいて定められる優先度に従って、ユーザ８０に提供する。例えば、ユーザ８０が職場を出たところでユーザ端末８２を用いて推奨食事メニューの要求をした場合、決定部２３０は、現在位置から自宅までの移動に要する時間を特定して、ユーザ８０が自宅に到着する予想時刻を特定する。また、決定部２３０は、ユーザ８０の推奨食事メニューの作成に要する調理時間を決定する。提供部２４０は、食事履歴情報に含まれる食事時刻情報の平均値と、調理時間と、ユーザ８０が自宅に到着する予想時刻とに基づく優先度に従って、第３の食事メニューを、第４の食事メニューより優先して提供する。例えば、提供部２４０は、食事時刻情報の平均値と、ユーザ８０が自宅に到着する予想時刻に調理時間を加えた時刻との差が予め定められた時間より長い場合に、第３の食事メニューを、第４の食事メニューより優先して提供する。
【００４５】
決定部２３０は、情報取得部２１０が取得した情報と、ユーザ８０の食事に関する行動予定を示す情報とに基づいて、複数の食事メニューの中から、ユーザ８０に推奨する食事メニューを決定する。提供部２４０は、行動予定を示す情報に対応づけて、決定部２３０が決定した食事メニューを示す情報をユーザ８０に提供する。
【００４６】
行動予定を示す情報は、ユーザ８０が次に食事を摂った後に摂る食事メニューを示す情報を含んでよい。例えば、サーバ４０が昼食時に推奨食事メニューの要求情報を受信した場合、決定部２３０は、夕食用の推奨食事メニュー及び昼食用の推奨食事メニューを決定する。提供部２４０は、夕食用の推奨食事メニュー及び昼食用の推奨食事メニューを示す情報を、ユーザ端末８２に送信する。これにより、サーバ４０は、ユーザ８０が夕食時に特定の夕食用の推奨食事メニューの食事を摂ることを条件として、昼食時に昼食用の推奨食事メニューの食事を摂ることを推奨することができる。例えば、ユーザ８０がダイエットを目標としている場合に、夕食時に低カロリーの食事メニューの食事を摂ることを条件として、昼食時に高カロリーの食事メニューの食事を推奨することができる。
【００４７】
行動予定を示す情報は、次に食事を摂った後にユーザ８０が行う運動量を示す情報を含んでよい。運動量を示す情報としては、ユーザ８０が歩行距離を示す情報を含んでよい。歩行距離は、ユーザ８０の自宅の最寄り駅から自宅までの距離であってよい。ユーザ８０の自宅及び最寄り駅は、ユーザ端末８２及び／又はサーバ４０に予め登録されてよい。また、運動量を示す情報は、トレーニングジムでのランニング距離及びランニング速度等のトレーニング情報を含んでよい。なお、ユーザ８０が行うトレーニングメニューを示す情報は、ユーザ端末８２及び／又はサーバ４０に予め登録されてよい。
【００４８】
情報取得部２１０は、ユーザ８０の過去の運動履歴を示す情報をさらに取得する。決定部２３０は、ユーザ８０の過去の運動履歴を示す情報にさらに基づいて、複数の食事メニューの中から、ユーザ８０に推奨する食事メニューを決定する。例えば、決定部２３０は、運動履歴情報に基づいて当日のユーザ８０の運動量を特定し、特定した運動量が多いほど、熱量が高い食事メニューを、ユーザ８０に推奨する食事メニューとして決定してよい。
【００４９】
情報取得部２１０は、ユーザ８０に関連づけられた１以上の他のユーザ８０の過去の食事履歴を示す情報をさらに取得する。決定部２３０は、他のユーザ８０の過去の食事履歴を示す情報にさらに基づいて、複数の食事メニューの中から、ユーザ８０に推奨する食事メニューを決定する。例えば、決定部２３０は、ユーザ８０の生活拠点で食事をする場合にユーザ８０に推奨する食事メニューとして、ユーザ８０及びユーザ８０の家族の食事履歴を示す情報に基づいて、１つの食事メニューを決定する。一方、決定部２３０は、ユーザ８０の生活拠点外で食事をする場合にユーザ８０に推奨する食事メニューとして、ユーザ８０及び家族の食事履歴を示す情報に基づいて決定されるユーザ８０及び家族のそれぞれに推奨される食事メニューのうち、同一の店舗で提供可能な食事メニューを決定する。提供部２４０は、当該同一の店舗で提供可能な食事メニューを、他の食事メニューより優先して、ユーザ８０に提供する。これにより、サーバ４０は、ユーザ８０及び家族にとって適切な食事メニューをユーザ８０に提供することができる。
【００５０】
図３は、サーバ４０による処理の流れの一例を概略的に示す。ここでは、サーバ４０がユーザ端末８２から食事の画像を取得した場合の処理の流れを概略的に示す。図３に示す各処理は、サーバ４０が主体となって実行される。
【００５１】
ステップ（ステップをＳと省略して記載する場合がある。）３０２において、特定部２２０は、ユーザ８０の現在位置を取得する。例えば、ユーザ端末８２が送信する食事メニュー画像情報は、ユーザ端末８２が測位したユーザ端末８２の現在位置情報を含む。特定部２２０は、食事メニュー画像情報に含まれる現在位置情報に基づいて、ユーザ８０の現在位置を特定する。
【００５２】
Ｓ３０４において、特定部２２０は、ユーザ８０の現在位置が特定のレストラン内であるか否かを判断する。特定のレストランとは、提供可能なメニュー情報がデータベース５０に登録されているレストランである。特定のレストランが提供可能なメニュー情報については、図７等に関連して説明する。
【００５３】
ユーザ８０の現在位置が特定のレストラン内でない場合、Ｓ３０６において、特定部２２０は、食事メニュー画像情報に含まれる画像データを解析することによって食品を認識し、食品の種類及びサイズを特定する。例えば、特定部２２０は、食事メニュー画像情報に含まれる画像データ内の被写体の色情報に基づいて、食品の種類を特定する。特定部２２０は、食事メニュー画像情報に含まれる被写体距離情報と、撮像画角情報と、画像データ内の食品の大きさとに基づいて、食品のサイズを特定する。食品のサイズとは、食品の体積を示す情報であってよい。特定部２２０は、画像に写っている食品以外の物体のサイズを考慮して、食品のサイズを特定してよい。特定部２２０は、画像に写っているユーザ８０の手または指の像の大きさを考慮して、食品のサイズを特定してよい。特定部２２０は、画像に写っている皿の像の大きさを考慮して、食品のサイズを特定してよい。このように、特定部２２０は、画像内にサイズが既知の物体の像が含まれている場合に、当該物体のサイズを考慮して、食品のサイズを特定してよい。
【００５４】
食品のサイズとは、食品の体積そのものを示す情報でなく、体積に対応する離散的な情報であってよい。例えば、食品がご飯である場合、食品がゆで卵である場合、食品のサイズとしては「Ｓサイズ」等を例示することができるし、食品のサイズとしては、「大盛り」等を例示することができる。
【００５５】
Ｓ３０８において、特定部２２０は、Ｓ３０６で特定した食品の種類及びサイズに基づいて、食品から摂取される栄養成分量及び熱量を特定する。例えば、食品から摂取される単位体積あたりの栄養成分量及び熱量を示す食品情報は、食品毎にデータベース５０に予め登録されてよい。特定部２２０は、データベース５０に登録されている食品情報と、画像データから特定した食品のサイズとに基づいて、食品から摂取される栄養成分量及び熱量を特定する。
【００５６】
Ｓ３１０において、格納制御部２５０は、Ｓ３０６で特定した食品の種類及びサイズと、Ｓ３１０で特定した栄養成分量及び熱量と、現在時刻情報とを、データベース５０に格納させる。
【００５７】
Ｓ３０４において、現在位置が特定のレストラン内であると判断された場合、Ｓ３１２において、特定部２２０は、食事メニュー画像情報に含まれる画像データを解析することによって、当該レストランで提供されるメニューの中から、ユーザ８０に配膳されたメニューを特定する。例えば、データベース５０には、レストランで提供されるメニューの画像データと、当該メニューから摂取される栄養成分量及び熱量を示す情報とが対応づけて格納されている場合、特定部２２０は、データベース５０に格納されている画像データと、ユーザ端末８２から受信した食事メニュー画像情報に含まれる画像データとをマッチングすることによって、ユーザ８０に配膳されたメニューを特定する。Ｓ３１４において、特定部２２０は、Ｓ３１４で特定したメニューに対応づけられた栄養成分量及び熱量を、データベース５０から取得する。Ｓ３１４の処理の後、Ｓ３１０に処理を進める。
【００５８】
図４は、データベース５０に格納される食事履歴情報のデータ構造を示す。食事履歴情報は、日時情報、場所情報、メニュー・食品情報、熱量情報、栄養成分情報、及び画像データを互いに対応づける。なお、図４は、特定のユーザ８０の識別情報である「Ｕ０００１」に対応づけられた食事履歴情報を示す。データベース５０は、図４に示す食事履歴情報を、他のユーザのそれぞれの識別情報に対応づけて格納する。
【００５９】
日時情報は、サーバ４０が食事メニュー画像情報を受信したときの日時を示す情報であってよい。場所情報は、食事メニュー画像情報に含まれるユーザ端末８２の現在位置情報から定まる情報であってよい。場所情報は、ユーザ端末８２の現在位置の緯度及び経度情報を含んでよい。場所情報は、ユーザ端末８２の現在位置情報から定まるレストランの名前を含んでよい。場所情報は、「自宅」や「職場」など、予め登録された拠点の名称を示す情報を含んでよい。
【００６０】
メニュー・食品情報は、ユーザ８０が食した食事メニューを特定する情報を含んでよい。例えば、メニュー・食品情報は、レストランで提供されたメニューの名称を含んでよい。メニュー・食品情報は、レストランで提供されたメニューに含まれる食品の名称を含んでよい。メニュー・食品情報は、食事メニュー画像情報から特定された食品に基づいて特定部２２０が特定した名称を含んでよい。例えば、メニュー・食品情報は、「豚の生姜焼き」等の名称を含んでよい。
【００６１】
熱量情報は、特定部２２０が特定した熱量を示す情報である。栄養成分情報は、摂取された複数の栄養素の種類毎に、それぞれの質量を示す情報を含む。栄養素の種類としては、糖質、タンパク質、脂質、食物繊維、各種ビタミン、各種ミネラル等を例示することができる。
【００６２】
図３等に関連して説明したように、特定部２２０は、食事メニュー画像情報に基づいて、食事履歴情報を生成してよい。なお、食事メニュー画像の画像データとして、ソーシャルネットワークサービス（ＳＮＳ）に投稿された画像データを用いてもよい。サーバ４０は、ＳＮＳサーバから、投稿された画像データ、投稿日時及び投稿時の位置情報を取得することによって、食事履歴情報を生成してよい。
【００６３】
なお、ユーザ８０は、手入力で食事内容をユーザ端末８２に入力してもよい。例えば、ユーザ８０は、食事内容として、「豚の生姜焼き」、「ご飯」、「味噌汁」等の食品情報と、摂取した食品の量（例えば、「大盛り」、「中盛り」、「少量」等）を示す情報をユーザ端末８２に入力する。ユーザ端末８２は、ユーザ８０が手入力で入力された食事内情報をサーバ４０に送信する。サーバ４０は、ユーザ端末８２から受信した食事情報に基づいて、食事履歴情報を生成してよい。
【００６４】
また、特定部２２０は、購買履歴情報に基づいて食事履歴情報を生成してよい。例えば、サーバ４０は、スーパーやコンビニエンスストア等の店舗でユーザ８０が購入した商品を示す情報を、外部のサーバから取得する。例えば、サーバ４０は、ユーザ８０がコンビニエンスストアで購入した弁当の種類と、当該弁当から摂取される栄養成分及び熱量情報を示す情報を受信する。特定部２２０は、外部のサーバから受信した情報に基づいて、食事履歴情報を生成する。
【００６５】
図５は、データベース５０に格納される運動履歴情報のデータ構造を示す。運動履歴情報は、日時情報、場所情報、種類情報、消費熱量情報、運動強度情報を互いに対応づける。なお、図５は、特定のユーザ８０の識別情報である「Ｕ０００１」に対応づけられた運動履歴情報を示す。データベース５０は、図５に示す運動履歴情報を、他のユーザのそれぞれの識別情報に対応づけて格納する。
【００６６】
サーバ４０は、ユーザ８０の運動情報をユーザ端末８２から受信した場合に、図５に示す運動履歴情報を生成して、データベース５０に格納する。例えば、サーバ４０は、ユーザ端末８２にインストールされた運動管理アプリケーションで管理されている情報を、運動情報としてユーザ端末８２から定期的に受信してよい。
【００６７】
日時情報は、サーバ４０が運動した日時又は期間を示す情報であってよい。場所情報は、ユーザ８０が運動した場所を示す情報であってよい。場所情報は、ユーザ端末８２の位置情報から定まる情報であってよい。場所情報は、ユーザ端末８２が存在する位置の緯度及び経度情報を含んでよい。場所情報は、ユーザ端末８２の位置情報から定まる運動施設の名前を含んでよい。場所情報は、「自宅」、「○×トレーニングジム」など、予め登録された拠点の名前を示す情報を含んでよい。
【００６８】
種類情報は、ユーザ８０の運動内容の種類を示す情報を含んでよい。例えば、種類情報は、ジョギングメニューの名称を含んでよい。種類情報は、運動施設で行ったトレーニングメニューを示す情報を含んでよい。例えば、種類情報は、「４００ｍインターバル走５本」等のトレーニングメニューを示す情報を含んでよい。
【００６９】
消費熱量情報は、運動を行うことによって消費された熱量を示す情報を含む。運動強度情報は、ユーザ８０が行った運動の運動強度を示す情報を含む。運動強度情報は、心拍数等に基づいて測定されてよい。サーバ４０は、熱量情報及び運動強度情報を、運動管理アプリケーションから取得してよい。
【００７０】
なお、サーバ４０は、ソーシャルネットワークサービス（ＳＮＳ）に投稿された情報を用いて、運動履歴情報を生成してもよい。例えば、サーバ４０は、ＳＮＳサーバから、投稿された文字情報、画像データ、投稿日時及び投稿時の位置情報を取得することによって、運動履歴情報を生成してよい。例えば、サーバ４０は、「今日は職場から自宅までジョグで帰ったぜ」という投稿内容に基づいて、運動履歴情報を生成してもよい。
【００７１】
なお、ユーザ８０は、手入力で運動情報をユーザ端末８２に入力してもよい。例えば、ユーザ８０は、運動情報として、「ジョギング」等の種類情報と、走行距離、歩数等の運動量を示す情報をユーザ端末８２に入力する。ユーザ端末８２は、ユーザ８０が手入力で入力された運動情報をサーバ４０に送信する。サーバ４０は、ユーザ端末８２から受信した運動情報に基づいて、運動履歴情報を生成してよい。
【００７２】
図６は、データベース５０に格納されるユーザ情報のデータ構造を示す。ユーザ情報は、ユーザＩＤ、目標情報、体重情報、身長情報、年齢情報、及び拠点情報を互いに対応づける。
【００７３】
ユーザＩＤは、ユーザ８０の識別情報である。目標情報は、ユーザ８０が目標を示す。ここでいう「目標」とは、食事に関する目標である。「目標」とは、目標の達成度が食事内容の影響を受ける目標である。体重情報は、ユーザ８０の体重を示す情報である。目標情報としては、「筋肉増強」、「ダイエット」、「糖尿病対策」、「成人病予防」、「脱アレルギー」、「嗜好重視」等を例示することができる。身長情報は、ユーザ８０の身長を示す情報である。年齢情報はユーザ８０の年齢を示す情報である。
【００７４】
拠点情報は、自宅、職場、最寄り駅、利用する運動施設等の識別情報、種別、名称及び位置を示す情報を含む。自宅は、ユーザ８０の生活拠点の一例である。
【００７５】
決定部２３０は、ユーザ情報を考慮して、各ユーザ８０の推奨食事メニューを決定する。例えば、決定部２３０は、ユーザ８０の目標が「筋肉増強」である場合、体重、身長及び年齢と、運動履歴情報に基づいて、次の食事から摂るべきタンパク質の量を特定して、特定した量のタンパク質を取得できる食事メニューを決定する。また、決定部２３０は、ユーザ８０の目標が「嗜好重視」である場合、食事履歴情報に基づいてユーザ８０の嗜好を判断し、ユーザ８０の嗜好に適合する食事メニューを決定する。例えば、決定部２３０は、ユーザ８０の好きな食材及び嫌いな食材を判断し、ユーザ８０の好きな食材を含み、嫌いな食材を含まない食事メニューを決定する。
【００７６】
また、特定部２２０は、拠点情報に登録された拠点の位置情報に基づいて、例えば自宅と最寄り駅や職場との間の距離を特定し、特定した距離から消費熱量及び運動強度を特定し、特定した消費熱量や運動強度を含む運動履歴情報を生成してよい。また、特定部２２０は、拠点情報に登録された運動施設で提供されているトレーニングメニュー情報に基づいて、消費熱量や運動強度を特定して、特定した消費熱量や運動強度を含む運動履歴情報を生成してよい。
【００７７】
図７は、データベース５０に格納される食品情報のデータ構造を示す。食品情報は、食品ＩＤ、熱量情報、アレルギー成分情報、栄養成分、店舗情報、画像情報、及び関連情報を互いに対応づける。
【００７８】
食品ＩＤは、食品の識別情報である。ここでいう「食品」とは、レストラン等の店舗で提供される食事メニューの他に、コンビニエンスストアやスーパー等の商店で販売される食材、弁当、総菜、及び飲み物を示す情報や、ユーザ８０が調理することにより作成されるメニューを含む。ユーザ８０が調理することにより作成されるメニューとしては、ユーザ８０自身が調理して登録した食事メニューや、料理コミュニティサイトに登録された食事メニューなどを含む。
【００７９】
熱量情報は、食事メニューから摂ることができる熱量である。アレルギー成分情報は、食事メニューに含まれる食品が含むアレルギー成分の種類を示す情報を含む。栄養成分情報は、摂取される複数の栄養素の種類毎に、それぞれの質量を示す情報を含む。上述したように、栄養素の種類としては、糖質、タンパク質、脂質、食物繊維、各種ビタミン、各種ミネラル等を例示することができる。
【００８０】
店舗情報は、店舗を特定する情報である。店舗とは、レストラン、コンビニエンスストア、スーパー等である。店舗情報は、店舗名及び位置情報を含んでよい。画像情報は、対応する商品の画像である。画像情報は、例えば、レストランで提供される食事メニューの画像であってよい。
【００８１】
関連情報は、対応する食品に関連する情報である。例えば、関連情報は、対応する食品を調理して作成するためのレシピ情報、対応する食品を調理するための調理器具の情報、対応する食品を作るための食材の情報、対応する食品の味付けに使用される調味料の情報、対応する食品を好む人が頻繁に購入する食材の情報、対応する食品を好む人が頻繁に利用する調理器具の情報等を例示することができる。
【００８２】
図８は、サーバ４０による処理の流れの一例を概略的に示す。ここでは、サーバ４０がユーザ端末８２から推奨食事メニューの要求情報を受信した場合の処理の流れを概略的に示す。図８に示す各処理は、サーバ４０が主体となって実行される。
【００８３】
Ｓ８０２において、決定部２３０は、ユーザ８０の現在位置を取得する。例えば、ユーザ端末８２から送信される推奨食事メニューの要求情報には、ユーザ端末８２が測位したユーザ端末８２の現在位置情報が含まれる。決定部２３０は、要求情報に含まれる現在位置情報に基づいて、ユーザ８０の現在位置を特定する。
【００８４】
Ｓ８０４において、情報取得部２１０は、データベース５０から、ユーザ８０の食事履歴情報、運動履歴情報、ユーザ情報、及び食品情報を取得する。例えば、情報取得部２１０は、ユーザ８０の識別情報に対応づけてデータベース５０に格納されている食事履歴情報、運動履歴情報、及びユーザ情報を取得するとともに、食品情報を取得する。
【００８５】
Ｓ８０６において、決定部２３０は、ユーザ８０の現在位置が特定のレストラン内であるか否かを判断する。特定のレストランとは、提供可能なメニュー情報がデータベース５０に登録されているレストランである。例えば、決定部２３０は、ユーザ８０の現在位置が、提供可能なメニュー情報が図７の食品情報に登録されているレストラン内であるか否かを判断する。
【００８６】
ユーザ８０の現在位置が特定のレストラン内でない場合、Ｓ８０８において、決定部２３０は、現在時刻、ユーザ８０の現在位置、食事履歴情報、運動履歴情報、ユーザ情報、及び食品情報に基づいて、ユーザ８０の推奨食事メニューを決定する。例えば、決定部２３０は、ユーザ情報に含まれる目標に適合する食事メニューを、推奨食事メニューとして決定する。例えば、上述したように、ユーザ８０の目標が筋肉増強である場合、摂取されるタンパク質の量が定められた量以上の食事メニューを、推奨食事メニューとして決定する。このとき、決定部２３０は、タンパク質の下限量を定める予め定められた量として、運動履歴情報の運動強度情報に応じた量を設定してよい。
【００８７】
また、決定部２３０は、ユーザ８０の目標が脱アレルギーである場合、アレルギーを含まない食事メニュー及び／又はアレルギーを含まない食品から構成される食事メニューを決定する。また、決定部２３０は、自宅で食する場合の食事メニューを決定する場合、ユーザ８０の自宅から予め定められた距離以内に位置する店舗を特定し、食品情報を参照して当該店舗で購入可能な調理済み食品又は食材を特定し、特定した食品を含む推奨食事メニュー及び／又は特定した食材を調理することによって得られる食事メニューを、推奨食事メニューとして決定してよい。決定部２３０は、ユーザ８０の自宅から予め定められた距離以内に位置する店舗の在庫情報に基づいて、ユーザ８０が現在位置から当該店舗までの移動に要する時間を考慮して、ユーザ８０が当該店舗に到着したときに当該店舗に在庫があることが予測される食品又は食材を特定し、特定した食品を含む推奨食事メニュー及び／又は特定した食材を調理することによって得られる食事メニューを、推奨食事メニューとして決定してよい。
【００８８】
このとき、決定部２３０は、現在時刻に基づいて、ユーザ８０が次に摂る食事のタイミングを特定する。例えば、決定部２３０は、現在時刻に基づいて、ユーザ８０が次に摂る食事が朝食、昼食及び夕食のいずれであるかを特定し、食事履歴情報に含まれる日時情報に基づいて、ユーザ８０が次に食事を摂る平均的な時刻を特定する。例えば、決定部２３０は、食事履歴情報に基づいて、朝食、昼食及び夕食のうち特定した食事を摂る時間帯においてユーザ８０が食事をした時刻の平均時刻（「通常の食事時刻」と呼ぶ場合がある。）を特定する。
【００８９】
そして、決定部２３０は、現在位置から自宅までの移動に要する時間、及び食材の調理に要する予め登録された時間に基づいて、推奨する食事メニューの優先度を決定する。例えば、食材の調理を要する推奨食事メニュー、自宅近くの商店で調理済みの弁当や総菜を含む推奨食事メニュー、自宅外のレストラン等で提供可能な推奨食事メニューのそれぞれの優先度を決定する。
【００９０】
例えば、決定部２３０は、自宅までの移動に要する時間を現在時刻に加えた時刻が、通常の食事時刻より予め定められた時間以上早い場合は、自宅で食事をする場合の推奨食事メニューの優先度を、自宅外で食事をする場合の推奨食事メニューの優先度より高くする。
【００９１】
また、決定部２３０は、自宅までの移動に要する時間及び調理時間を現在時刻に加えた時刻が、通常の食事時刻より遅く、自宅までの移動に要する時間を現在時刻に加えた時刻が、通常の食事時刻より早い場合は、食材の調理を要する推奨食事メニューより、調理済みの食品を含む推奨食事メニューの優先度を高くする。
【００９２】
また、決定部２３０は、自宅までの移動に要する時間を現在時刻に加えた時刻が、通常の食事時刻より遅い場合は、自宅で食事をする場合の推奨食事メニューより、自宅外で食事をする場合の推奨食事メニューの優先度を高くする。なお、決定部２３０は、通常の食事時刻までの間に行動可能な範囲内にあるレストランが提供可能な食事メニューの優先度を、通常の食事時刻までの間に行動可能な範囲外にあるレストランが提供可能な食事メニューより高くする。
【００９３】
また、決定部２３０は、ユーザ８０の家族への推奨食事メニューを特定する。決定部２３０は、自宅で食事をする場合の推奨食事メニューについて、ユーザ８０の推奨食事メニュー及びユーザ８０の家族への推奨食事メニューのうち同一の推奨食事メニューの優先度を、他の推奨食事メニューの優先度より高くする。決定部２３０は、自宅外で食事をする場合の推奨食事メニューについて、ユーザ８０の推奨食事メニュー及びユーザ８０の家族への推奨食事メニューのうち、同一のレストランで提供可能な推奨食事メニューの優先度を、他の推奨食事メニューの優先度より高くする。なお、決定部２３０は、ユーザ８０の家族の現在位置に更に基づいて、推奨食事メニューの優先度を決定してよい。
【００９４】
続いて、Ｓ８１０において、Ｓ８０８で決定した推奨食事メニューに対応づけられた関連情報を特定する。関連情報としては、上述したように、レシピ情報、食材情報、調味料情報、調理器具情報、商店情報等を例示することができる。
【００９５】
Ｓ８１２において、提供部２４０は、決定部２３０が決定した推奨食事メニュー及びＳ８１０で特定した関連情報を、通信装置４６を通じてユーザ端末８２宛てに送信させる。
【００９６】
Ｓ８０６の判断において、ユーザ８０の現在位置が特定のレストラン内であると判断した場合、Ｓ８２０において、決定部２３０は、現在時刻、ユーザ８０の現在位置、食事履歴情報、運動履歴情報、ユーザ情報に基づいて、レストランが提供可能な食事メニューの中から、ユーザ８０の推奨食事メニューを決定する。例えば、決定部２３０は、レストランが提供可能な食事メニューの中から、ユーザ情報に含まれる目標に適した食事メニューを、推奨食事メニューとして決定する。推奨食事メニューを決定すると、Ｓ８１０に処理を進める。
【００９７】
なお、決定部２３０は、Ｓ８０８及び／又はＳ８２０で推奨食事メニューを決定する場合、次の食事の後に食する推奨食事メニューに関連づけて、次の食事の食事メニューを決定して良い。例えば、次の食事が昼食である場合、決定部２３０は、夕食の推奨食事メニューに関連づけて、昼食の推奨食事メニューを決定してよい。この場合、提供部２４０は、夕食の推奨食事メニューとともに、昼食の推奨食事メニューをユーザ端末８２に送信する。これにより、ユーザ８０は、昼食の推奨食事メニューを食した場合に、夕食にどのような食事メニューを摂ればよいかを把握することができる。例えば、昼食に高カロリーの食事メニューを食した場合に、夕食にどの程度の食事ができるかを把握することができる。そのため、昼食に高カロリーの食事メニューを食するか否かを、容易に決定することができる。
【００９８】
なお、決定部２３０は、Ｓ８０８及び／又はＳ８２０で推奨食事メニューを決定する場合、次の食事の後の行う運動量を示す情報に関連づけて、次の食事の食事メニューを決定して良い。例えば、決定部２３０は、次の食事の後に行う運動量を考慮して、推奨食事メニューを決定する。例えば、決定部２３０は、ユーザ８０の運動履歴情報に基づいて、ユーザ８０が実行可能な運動を特定する。決定部２３０は、特定した運動をユーザ８０が実行することにより消費されることが予測される熱量を特定する。決定部２３０は、特定した熱量に応じて、次の食事で摂取可能な熱量の範囲の上限を定めて、摂取される熱量が当該熱量の範囲内の食事メニューを、推奨食事メニューとして決定してよい。
【００９９】
図９は、ユーザ端末８２に表示される推奨食事メニューの表示内容を概略的に示す。図９は、ユーザ８０の現在位置が特定のレストラン内にある場合における、昼食の推奨食事メニューの表示画面の一例を示す。
【０１００】
ユーザ端末８２は、アプリケーションソフトの制御に従って、サーバ４０から受信した推奨食事メニューの情報に基づいて、推奨食事メニューを示すオブジェクト９１０ａ〜オブジェクト９１０ｅを表示する。ユーザ端末８２は、優先度の順で各オブジェクト９１０を表示する。また、ユーザ端末８２は、アプリケーションソフトの制御に従って、サーバ４０から受信した関連情報に基づいて、関連情報を閲覧するためのオブジェクト９５０を表示する。
【０１０１】
オブジェクト９１０ａ〜オブジェクト９１０ｅの各オブジェクト９１０は、メニュー名を示す情報と、優先度を示す情報とを含む。例えば、オブジェクト９１０ａは、メニュー名を示す情報９１２と、優先度を示す情報９１６とを含む。
【０１０２】
オブジェクト９１０ｄは、この食事をした後の運動情報が関連づけられた推奨食事メニューを示す。オブジェクト９１０ｄは、この推奨食事メニューを食べた場合に推奨される運動内容を示すオブジェクト９３０を含む。
【０１０３】
オブジェクト９１０ｅは、次の食事における推奨食事メニューが関連づけられた推奨食事メニューを示す。オブジェクト９１０ｄには、この推奨食事メニューを食べた後に次の食事で推奨される食事メニューを示すオブジェクト９４０を含む。
【０１０４】
図１０は、ユーザ端末８２に表示される推奨食事メニューの表示内容を概略的に示す。図１０は、ユーザ８０の現在位置が特定のレストラン内にない場合における、夕食の推奨食事メニューの表示画面の一例を示す。
【０１０５】
ユーザ端末８２は、アプリケーションソフトの制御に従って、サーバ４０から受信した推奨食事メニューの情報に基づいて、推奨食事メニューを示すオブジェクト１０１０ａ〜オブジェクト１０１０ｅを表示する。ユーザ端末８２は、優先度の順で各オブジェクト１０１０ａ〜オブジェクト１０１０ｅを表示する。また、ユーザ端末８２は、アプリケーションソフトの制御に従って、サーバ４０から受信した関連情報に基づいて、関連情報を閲覧するためのオブジェクト１０５０を表示する。
【０１０６】
オブジェクト１０１０ａ及びオブジェクト１０１０ｂは、自宅外で食事をする場合の推奨食事メニューを示す。オブジェクト１０１０ｃ、オブジェクト１０１０ｄ、及びオブジェクト１０１０ｅは、自宅で食事をする場合の推奨食事メニューを示す。オブジェクト１０１０ｃ及びオブジェクト１０１０ｅは、自宅で調理することにより得られる食品を含む推奨食事メニューを示す。オブジェクト１０１０ｄは、調理済み食品を含む推奨食事メニューを示す。
【０１０７】
オブジェクト１０１０ａ〜オブジェクト１０１０ｅの各オブジェクト１０１０は、メニュー名を示す情報と、優先度を示す情報とを含む。例えば、例えば、オブジェクト１０１０ａは、メニュー名を示す情報１０１２と、レストラン名示す情報１０１４と、優先度を示す情報１０１６とを含む。オブジェクト１０１０ｃ〜オブジェクト１０１０ｄは、食材又は食品を購入可能な商店名を示す情報を含む。例えば、オブジェクト１０１０ｃは、食材を購入可能な商店名を示す情報１０１８を含む。
【０１０８】
オブジェクト１０１０ｂは、この推奨食事メニューに類似する食事メニューを自作するためのレシピを参照するためのオブジェクト１０３０を含む。オブジェクト１０１０ｃは、この推奨食事メニューを作成するためのお勧めの食材を参照するためのオブジェクト１０４０を含む。
【０１０９】
また、オブジェクト１０６０ａ〜オブジェクト１０６０ｄは、表示される推奨食事メニューの絞り込み条件を設定に関するオブジェクトである。オブジェクト１０６０ａは、絞り込み条件を解除するためのオブジェクトである。オブジェクト１０６０ｂは、自宅外で食事をする場合の推奨食事メニューのみを表示させるためのオブジェクトである。オブジェクト１０６０ｃは、調理により得られる食品を含む推奨食事メニューのみを表示させるためのオブジェクトである。オブジェクト１０６０ｄは、調理済みの食品を含む推奨食事メニューのみを表示させるためのオブジェクトである。ユーザ端末８２は、オブジェクト１０６０ａ〜オブジェクト１０６０ｄのいずれかが選択された場合、選択されたオブジェクトに対応づけられた条件を満たす推奨食事メニューのみを表示する。
【０１１０】
以上に説明したシステム１０によれば、個々のユーザ８０の食事履歴に基づいて、ユーザ８０に適した食事メニューを推奨することができる。特に、個々のユーザ８０の目標や嗜好、好き嫌いに基づいて、ユーザ８０に特化した食事メニューを推奨することができる。
【０１１１】
なお、本実施形態のシステム１０は、データベース５０を備える。しかし、データベース５０を備えない形態を採用できる。すなわち、サーバ４０は、ユーザ８０の過去の食事履歴を示す情報を、外部のデータベースから取得し、取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザ８０に推奨する食事メニューを決定し、決定した食事メニューを示す情報を提供する機能を備えるシステムとして動作できる。なお、ユーザ端末８２は、サーバ４０が備える機能の少なくとも一部の機能を備えてよい。すなわち、ユーザ端末８２は、単独で、ユーザ８０の過去の食事履歴を示す情報を取得し、取得した情報に基づいて、予め登録された複数の食事メニューの中から、ユーザ８０に推奨する食事メニューを決定し、決定した食事メニューを示す情報を提供する機能を備えるシステムとして動作できる。
【０１１２】
図１１は、サーバ４０として機能するコンピュータ１２００のハードウェア構成の一例を概略的に示す。コンピュータ１２００にインストールされたプログラムは、コンピュータ１２００を、本実施形態に係る装置の１又は複数の「部」として機能させ、又はコンピュータ１２００に、本実施形態に係る装置に関連付けられるオペレーション又は当該１又は複数の「部」を実行させることができ、及び／又はコンピュータ１２００に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ１２００に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、ＣＰＵ１２１２によって実行されてよい。
【０１１３】
本実施形態によるコンピュータ１２００は、ＣＰＵ１２１２、ＲＡＭ１２１４、及びグラフィックコントローラ１２１６を含み、それらはホストコントローラ１２１０によって相互に接続されている。コンピュータ１２００はまた、通信インタフェース１２２２、記憶装置１２２４、ＤＶＤドライブ１２２６、及びＩＣカードドライブのような入出力ユニットを含み、それらは入出力コントローラ１２２０を介してホストコントローラ１２１０に接続されている。ＤＶＤドライブ１２２６は、ＤＶＤ−ＲＯＭドライブ及びＤＶＤ−ＲＡＭドライブ等であってよい。記憶装置１２２４は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ１２００はまた、ＲＯＭ１２３０及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ１２４０を介して入出力コントローラ１２２０に接続されている。
【０１１４】
ＣＰＵ１２１２は、ＲＯＭ１２３０及びＲＡＭ１２１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ１２１６は、ＲＡＭ１２１４内に提供されるフレームバッファ等又はそれ自体の中に、ＣＰＵ１２１２によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス１２１８上に表示されるようにする。
【０１１５】
通信インタフェース１２２２は、ネットワークを介して他の電子デバイスと通信する。記憶装置１２２４は、コンピュータ１２００内のＣＰＵ１２１２によって使用されるプログラム及びデータを格納する。ＤＶＤドライブ１２２６は、プログラム又はデータをＤＶＤ−ＲＯＭ１２２７等から読み取り、記憶装置１２２４に提供する。ＩＣカードドライブは、プログラム及びデータをＩＣカードから読み取り、及び／又はプログラム及びデータをＩＣカードに書き込む。
【０１１６】
ＲＯＭ１２３０はその中に、アクティブ化時にコンピュータ１２００によって実行されるブートプログラム等、及び／又はコンピュータ１２００のハードウェアに依存するプログラムを格納する。入出力チップ１２４０はまた、様々な入出力ユニットをＵＳＢポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ１２２０に接続してよい。
【０１１７】
プログラムは、ＤＶＤ−ＲＯＭ１２２７又はＩＣカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置１２２４、ＲＡＭ１２１４、又はＲＯＭ１２３０にインストールされ、ＣＰＵ１２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ１２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ１２００の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【０１１８】
例えば、通信がコンピュータ１２００及び外部デバイス間で実行される場合、ＣＰＵ１２１２は、ＲＡＭ１２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース１２２２に対し、通信処理を命令してよい。通信インタフェース１２２２は、ＣＰＵ１２１２の制御の下、ＲＡＭ１２１４、記憶装置１２２４、ＤＶＤ−ＲＯＭ１２２７、又はＩＣカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。
【０１１９】
また、ＣＰＵ１２１２は、記憶装置１２２４、ＤＶＤドライブ１２２６（ＤＶＤ−ＲＯＭ１２２７）、ＩＣカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がＲＡＭ１２１４に読み取られるようにし、ＲＡＭ１２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ１２１２は次に、処理されたデータを外部記録媒体にライトバックしてよい。
【０１２０】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。ＣＰＵ１２１２は、ＲＡＭ１２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ１２１４に対しライトバックする。また、ＣＰＵ１２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ１２１２は、当該複数のエントリの中から、第１の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【０１２１】
上で説明したプログラム又はソフトウェアモジュールは、コンピュータ１２００上又はコンピュータ１２００近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はＲＡＭのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ１２００に提供する。
【０１２２】
本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び／又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び／又はアナログハードウェア回路を含んでよく、集積回路（ＩＣ）及び／又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、及びプログラマブルロジックアレイ（ＰＬＡ）等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。
【０１２３】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー（登録商標）ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ又はフラッシュメモリ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（登録商標）ディスク、メモリスティック、集積回路カード等が含まれてよい。
【０１２４】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はＳｍａｌｌｔａｌｋ、ＪＡＶＡ（登録商標）、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、及び「Ｃ」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、１又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【０１２５】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク（ＬＡＮ）、インターネット等のようなワイドエリアネットワーク（ＷＡＮ）を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【０１２６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【０１２７】
特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１２８】
１０  システム、２０  ネットワーク、４０  サーバ、４２  処理装置、４６  通信装置、４８  記憶装置、５０  データベース、８０  ユーザ、８２  ユーザ端末、２１０  情報取得部、２２０  特定部、２３０  決定部、２４０  提供部、２５０  格納制御部、２６０  画像取得部、９１０  オブジェクト、９１２  情報、９１６  情報、９３０  オブジェクト、９４０  オブジェクト、９５０  オブジェクト、１０１０  オブジェクト、１０１２  情報、１０１４  情報、１０１６  情報、１０１８  情報、１０３０  オブジェクト、１０４０  オブジェクト、１０５０  オブジェクト、１０６０  オブジェクト、１２００  コンピュータ、１２１０  ホストコントローラ、１２１２  ＣＰＵ、１２１４  ＲＡＭ、１２１６  グラフィックコントローラ、１２１８  ディスプレイデバイス、１２２０  入出力コントローラ、１２２２  通信インタフェース、１２２４  記憶装置、１２２６  ＤＶＤドライブ、１２２７  ＤＶＤ−ＲＯＭ、１２３０  ＲＯＭ、１２４０  入出力チップ
【図１】
2020181491.tif 000003
【図２】
2020181491.tif 000004
【図３】
2020181491.tif 000005
【図４】
2020181491.tif 000006
【図５】
2020181491.tif 000007
【図６】
2020181491.tif 000008
【図７】
2020181491.tif 000009
【図８】
2020181491.tif 000010
【図９】
2020181491.tif 000011
【図１０】
2020181491.tif 000012
【図１１】
2020181491.tif 000013