(58)【調査した分野】(Int.Cl.,DB名)
前記情報生成部は、前記スケジュール情報における前記ユーザの過去の起床時刻、仕事の勤務時間帯、運動を行う時間帯、就寝時刻のいずれか1つまたは複数に基づき、前記ユーザが食事を開始すべき時刻を算出する、請求項3に記載の情報処理装置。
前記情報生成部は、前記ユーザにレコメンドする食事の献立を決定し、前記ユーザが前記食事の献立の調理を開始すべき時刻を算出し、前記ユーザの調理開始時刻に合わせて食事に関するスケジュール情報を生成し、
前記レコメンド部は、前記食事の献立と、前記ユーザの食事に関するスケジュール情報とをレコメンドする、請求項5に記載の情報処理装置。
前記情報生成部は、前記ユーザの属性情報に含まれる前記ユーザの病態情報、症状情報、嗜好情報、調理スキル情報、環境情報のいずれか1つまたは複数に基づき、前記食事の献立を決定する、請求項6に記載の情報処理装置。
前記情報生成部は、前記ユーザが前記食事の献立を調理するための食材の購入を開始すべき時刻を算出し、前記ユーザの食材購入開始時刻に合わせて食事に関するスケジュール情報を生成し、
前記レコメンド部は、前記ユーザが購入すべき食材をレコメンドする、請求項6から請求項8のいずれか1項に記載の情報処理装置。
前記情報生成部は、前記ユーザにレコメンドした前記ユーザの食事に関する情報と、前記ユーザに当該情報をレコメンドした後に取得された前記ユーザの食事に関する情報と、に基づき、前記ユーザの食事に関する情報を生成する、請求項1から請求項14のいずれか1項に記載の情報処理装置。
前記情報生成部は、前記ユーザにレコメンドした前記ユーザの食事に関する情報を、前記ユーザの属性情報、前記スケジュール情報、または前記ユーザの過去に摂取した食事に関する情報が類似する他のユーザの食事に関する情報から生成する、請求項1から請求項15のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0012】
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称及び機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0013】
<概要>
以下、本開示の実施の形態である、食事に関するスケジュール情報をレコメンドするサービスを提供するレコメンドシステムについて説明する。このレコメンドシステムは、例えば、ユーザにとって健康上好ましい食事に関する情報をレコメンドするためのシステムである。食事に関する情報とは、例えば、ユーザの食事に関するスケジュールや献立、料理レシピの情報である。
【0014】
健康上好ましい食事をするためには、食事内容、具体的には栄養バランスが取れていることも重要であるが、ユーザの生活リズムの中で適切なタイミングで食事を摂取することも重要である。例えば、栄養学上好ましいとされている食事のスケジュールとして、起床後一定の時間内に朝食を摂ること、一日のうちに朝食、昼食、夕食を一定の時間間隔を空けて摂取すること、夕食後一定時間を空けてから就寝すること、等がある。また、食事をする時間帯、具体的には朝食、昼食、夕食に応じて、摂取するのが好ましい栄養素が異なるものとされている。例えば、栄養学上好ましいとされている食事タイミングごとの食事内容として、朝食には炭水化物を摂取すること、夕食にはカロリーを控えめにすること、等がある。
【0015】
しかしながら、ユーザの職業、年齢層、同居家族の有無等によって、生活リズムは様々であり、それぞれ異なる生活スケジュールの中において、最適な食事のスケジュールもそれぞれ異なる。そのため、このレコメンドシステムでは、ユーザの年齢、性別等の属性情報を取得すると共に、ユーザの生活スケジュールを把握するため、ユーザのスケジュール情報を取得している。また、ユーザが実際にどのような食事を摂っているのかを把握するため、ユーザの過去に摂取した食事に関する情報、例えばユーザが実際に摂取した食事を撮影した画像データからどのような食事を摂取したのか、といった情報を取得している。
【0016】
さらに、このレコメンドシステムでは、取得したユーザの属性情報、スケジュール情報、過去に摂取した食事に関する情報、家族構成、及び調理スキルに基づき、当該ユーザの食事に関する情報、例えばユーザの食事スケジュールや献立を最適化して情報生成を行い、レコメンドしている。レコメンドするスケジュール情報は、例えば、食事を開始すべき時刻や、レコメンドした献立を調理するための時間を考慮した調理開始時刻、さらにはユーザのスケジュールを考慮した食材を購入するための移動開始時刻等である。また、食事の献立をレコメンドすると共に、食事の料理レシピもレコメンドしている。
【0017】
さらにまた、このレコメンドシステムでは、レコメンドしたユーザの食事スケジュールや献立と、その後のスケジュール情報や食事を撮影した画像データとを比較し、これらの情報に基づいてさらに最適化を行い、情報生成を行ってレコメンドする。このような構成により、例えば、ユーザが健康上より好ましい食事をするように導くことを目的としている。
【0018】
<第1の実施の形態>
以下、レコメンドシステム1について説明する。以下の説明では、例えば、端末装置10がサーバ20へアクセスすることにより、サーバ20が、端末装置10で画面を生成するための情報を応答する。端末装置10は、サーバ20から受信した情報に基づいて画面を生成し表示する。また、例えば、端末装置10には、サーバ20を運営する管理者が提供するアプリ(例えば、食事等に関するスケジュール情報や献立情報をレコメンドするレコメンドアプリ)がインストールされている。端末装置10は、当該アプリが起動しているときにサーバ20に情報送信リクエストを送信し、当該情報送信リクエストに従って、サーバ20が送信した情報を受信して画面を生成し、表示する。
【0019】
<1 レコメンドシステム1の全体構成>
図1は、レコメンドシステム1の全体の構成を示す図である。
図1に示すように、レコメンドシステム1は、複数の端末装置(
図1では、端末装置10A及び端末装置10Bを示している。以下、総称して「端末装置10」ということもある)と、サーバ20とを含む。端末装置10と、サーバ20とは、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、有線または無線ネットワークにより構成される。
【0020】
端末装置10は、各ユーザが操作する装置である。ここで、ユーザとは、レコメンドシステム1により食事に関する情報のレコメンドを受けるユーザである。端末装置10は、移動体通信システムに対応したスマートフォン、タブレット等の携帯端末等により実現される。この他、端末装置10は、例えば据え置き型のPC(Personal Computer)、ラップトップPCであるとしてもよい。
図1に端末装置10Aとして示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。
【0021】
端末装置10は、ネットワーク80を介してサーバ20と通信可能に接続される。端末装置10は、4G、5G、LTE(Long Term Evolution)等の通信規格に対応した無線基地局81、IEEE(Institute of Electrical and Electronics Engineers)802.11等の無線LAN(Local Area Network)規格に対応した無線LANルータ82等の通信機器と通信することにより、ネットワーク80に接続される。
【0022】
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置13は、ユーザからの入力操作を受け付けるための入力装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード等)である。出力装置14は、ユーザに対し情報を提示するための出力装置(ディスプレイ、スピーカ等)である。メモリ15は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0023】
サーバ20は、ユーザにレコメンドするための献立や料理レシピに関する情報、ユーザの属性情報やスケジュール情報、食事を撮影した画像データ等の過去に摂取した食事に関する情報を管理する装置である。サーバ20は、ユーザの属性情報の入力を受け付け、スケジュール情報を取得し、過去に摂取した食事に関する情報を取得する。また、サーバ20は、ユーザの属性情報、スケジュール情報、及び過去に摂取した食事に関する情報に基づき、食事に関する情報の生成を行い、ユーザにレコメンドを行うため、食事に関する情報を端末装置10へ送信する。
【0024】
サーバ20は、ネットワーク80に接続されたコンピュータである。サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0025】
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0026】
<1.1 端末装置10の構成>
図2は、実施の形態1のレコメンドシステム1を構成する端末装置10のブロック図である。
図2に示すように、端末装置10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する無線通信部(第1無線通信部121、第2無線通信部122)と、操作受付部130(タッチ・センシティブ・デバイス131及びディスプレイ132を含む)と、音声処理部140と、マイク141と、スピーカ142と、位置情報センサ150と、カメラ160と、記憶部170と、制御部180とを含む。端末装置10は、
図2では特に図示していない機能及び構成(例えば、電力を保持するためのバッテリー、バッテリーから各回路への電力の供給を制御する電力供給回路等)も有している。
図2に示すように、端末装置10に含まれる各ブロックは、バス等により電気的に接続される。
【0027】
アンテナ111は、端末装置10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1無線通信部121へ与える。
【0028】
アンテナ112は、端末装置10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2無線通信部122へ与える。
【0029】
第1無線通信部121は、端末装置10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理等を行う。第2無線通信部122は、端末装置10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理等を行う。第1無線通信部121と第2無線通信部122とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路等を含む通信モジュールである。第1無線通信部121と第2無線通信部122とは、端末装置10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部180へ与える。
【0030】
操作受付部130は、ユーザの入力操作を受け付けるための機構を有する。具体的には、操作受付部130は、タッチスクリーンとして構成され、タッチ・センシティブ・デバイス131と、ディスプレイ132とを含む。
【0031】
タッチ・センシティブ・デバイス131は、端末装置10のユーザの入力操作を受け付ける。タッチ・センシティブ・デバイス131は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する。タッチ・センシティブ・デバイス131は、タッチパネルにより検出したユーザの接触位置を示す信号を入力操作として制御部180へ出力する。
【0032】
ディスプレイ132は、制御部180の制御に応じて、画像、動画、テキスト等のデータを表示する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)ディスプレイによって実現される。
【0033】
音声処理部140は、音声信号の変復調を行う。音声処理部140は、マイク141から与えられる信号を変調して、変調後の信号を制御部180へ与える。また、音声処理部140は、音声信号をスピーカ142へ与える。音声処理部140は、例えば音声処理用のプロセッサによって実現される。マイク141は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部140へ与える。スピーカ142は、音声処理部140から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0034】
位置情報センサ150は、端末装置10の位置を検出するセンサであり、例えばGPS(Global Positioning System)モジュールである。GPSモジュールは、衛星測位システムで用いられる受信装置である。衛星測位システムでは、少なくとも3個または4個の衛星からの信号を受信し、受信した信号に基づいて、GPSモジュールが搭載される端末装置10の現在位置を検出する。
【0035】
カメラ160は、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ160は、例えば、カメラ160から撮影対象までの距離を検出できる深度カメラである。
【0036】
記憶部170は、例えばフラッシュメモリ等により構成され、端末装置10が使用するデータ及びプログラムを記憶する。ある局面において、記憶部170は、ユーザ情報171を記憶する。
【0037】
ユーザ情報171は、端末装置10を介して、食事に関する情報のレコメンドを受けるユーザの情報である。ユーザ情報としては、サーバ20に登録されているユーザを識別する情報(ユーザID)、氏名、年齢、性別等が含まれる。
【0038】
制御部180は、記憶部170に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末装置10の動作を制御する。制御部180は、例えば予め端末装置10にインストールされているアプリケーションである。制御部180は、プログラムにしたがって動作することにより、入力操作受付部181と、送受信部182と、データ処理部183と、通知制御部184と、撮影データ送信部185と、位置情報送信部186としての機能を発揮する。
【0039】
入力操作受付部181は、タッチ・センシティブ・デバイス131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。入力操作受付部181は、タッチ・センシティブ・デバイス131に対してユーザが自己の指等を接触させた座標の情報に基づき、ユーザの操作がフリック操作であるか、タップ操作であるか、ドラッグ(スワイプ)操作であるか等の操作の種別を判定する。
【0040】
送受信部182は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルにしたがってデータを送受信するための処理を行う。
【0041】
データ処理部183は、端末装置10が入力を受け付けたデータに対し、プログラムにしたがって演算を行い、演算結果をメモリ等に出力する処理を行う。
【0042】
通知制御部184は、ユーザに対し情報を提示する処理を行う。通知制御部184は、表示画像をディスプレイ132に表示させる処理、音声をスピーカ142に出力させる処理、振動をカメラ160に発生させる処理等を行う。
【0043】
撮影データ送信部185は、ユーザの入力操作によりカメラ160が撮影画像として出力した撮影データを、サーバ20へ送信する処理を行う。
【0044】
位置情報送信部186は、位置情報センサ150が検出した端末装置10の位置情報をサーバ20へ送信する処理を行う。位置情報センサ150が所定の時間間隔で端末装置10の位置情報を検出するので、位置情報送信部186は、サーバ20からの送信要求に応じて最新の位置情報を送信する。
【0045】
<1.2 サーバ20の機能的な構成>
図3は、実施の形態1のレコメンドシステム1を構成するサーバ20の機能的な構成を示す図である。
図3に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0046】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0047】
記憶部202は、サーバ20が使用するデータ及びプログラムを記憶する。記憶部202は、料理レシピデータベース2021と、献立構成データベース2022と、ユーザデータベース2023と、レコメンドデータベース2024等を記憶する。
【0048】
料理レシピデータベース2021は、レコメンドシステム1でレコメンドする献立を構成する、料理の情報及び料理のレシピ情報を保持するためのデータベースである。詳細は後述する。
【0049】
献立構成データベース2022は、レコメンドシステム1でレコメンドする献立の特徴を示す情報と、献立を構成する料理の情報を保持するためのデータベースである。詳細は後述する。
【0050】
ユーザデータベース2023は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザの情報を保持するためのデータベースである。詳細は後述する。
【0051】
レコメンドデータベース2024は、レコメンドシステム1でユーザに対してレコメンドを行った情報と、そのレコメンド情報に対するユーザのスケジュール情報や献立情報を保持するためのデータベースである。上記のように、レコメンドシステム1では、レコメンド情報と、そのレコメンド情報に対するユーザの情報とを比較し、最適化を行うため、これらの情報を紐付けたデータベースである。
【0052】
制御部203は、サーバ20のプロセッサがプログラムにしたがって処理を行うことにより、各種モジュールとして示す機能を発揮する。各種モジュールは、受信制御モジュール2031、送信制御モジュール2032、ユーザ情報受付モジュール2033、スケジュール情報取得モジュール(スケジュール情報取得部)2034、食事情報取得モジュール(食事情報取得部)2035、献立情報決定モジュール(情報生成部)2036、スケジュール情報生成モジュール(情報生成部)2037、レコメンドモジュール(レコメンド部)2038を含む。
【0053】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルにしたがって信号を受信する処理を制御する。
【0054】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルにしたがって信号を送信する処理を制御する。
【0055】
ユーザ情報受付モジュール2033は、レコメンドシステム1を利用して食事に関する情報のレコメンドを受けるユーザが、端末装置10を操作して、ユーザ登録を行い、ユーザの識別情報や属性情報の入力を行うので、端末装置10から送信されるユーザの識別情報や属性情報を受け付ける処理を制御する。ユーザの識別情報や属性情報として、例えば、ユーザの氏名、年齢、性別、職業、既往症や病歴、アレルギー、食事に対する好み、といった情報を受け付ける。ユーザ情報受付モジュール2033は、例えば、ユーザの年齢、性別、職業、既往症や病歴、アレルギー、食事に対する好みのような情報を属性情報として受け付け、「シニア」、「男性1人暮らし」、「オフィスワーカ」、「糖尿病」、「薄味好み」のようなタグ情報を付与し、ユーザデータベース2023に格納する。さらに、ユーザ自身の情報だけではなく、ユーザの居住環境や家族構成のような環境情報を属性情報として受け付けてもよく、家族構成が複数人からなる場合、ユーザの家族の構成員ごとに上記の年齢、性別、職業、既往症や病歴、アレルギー、食事に対する好みのような情報を受け付け、タグ情報を付与してもよい。
【0056】
また、ユーザ情報受付モジュール2033は、例えば、ユーザが所持している、または使用可能な調理器具の情報や、ユーザ自身の調理技術に関する調理スキル情報を属性情報として受け付け、「調理初心者」、「調理経験10年」、「フードプロセッサ使用可能」、「複雑な調理は困難」のようなタグ情報を付与し、ユーザデータベース2023に格納してもよい。
【0057】
さらに、ユーザ情報受付モジュール2033は、後述するスケジュール情報取得モジュール2034、及び食事情報取得モジュール2035で外部サーバから情報取得を行うための、アカウント情報(ID及びパスワード等)を受け付けてもよい。
【0058】
スケジュール情報取得モジュール2034は、ユーザ情報受付モジュール2033でユーザ登録を行ったユーザの行動予定に関する、スケジュール情報を取得する処理を制御する。スケジュール情報取得モジュール2034は、例えば、ユーザの端末装置10にカレンダーのような表示画面のタイムチャートを表示させ、ユーザが端末装置10を操作し、タイムチャートの所定の時間帯をタップすることで選択し、ユーザの各種行動予定情報を入力するので、その入力情報を受け付け、当該ユーザの予定情報としてユーザデータベース2023に格納する。ユーザの各種行動予定情報とは、例えば、「出勤(電車)」、「勤務(オフィス)」、「昼食」、「就寝」等である。スケジュール情報取得モジュール2034は、例えば、端末装置10にインストールされているアプリが備えるスケジュール機能により、タイムチャートを表示させ、スケジュール情報の入力を受け付けてもよい。また、スケジュール情報取得モジュール2034は、ユーザが入力したスケジュール情報だけではなく、ユーザが当該アプリを起動し、または献立情報の検索等に利用した時間を取得してもよい。
【0059】
また、スケジュール情報取得モジュール2034は、ユーザ情報受付モジュール2033が受け付けたアカウント情報を使用して外部サーバにアクセスし、ユーザのスケジュール情報を取得してもよい。ここで、外部サーバは、主にクラウドサービスによりカレンダーアプリ等の形態で提供されているスケジュール管理システムのサーバであり、ユーザの各種予定情報を受け付けて当該ユーザの予定情報として登録することで、当該予定情報の時間になると通知を行うサービスを提供するシステムである。この場合、スケジュール情報取得モジュール2034は、アカウント情報のID及びパスワード等により所定の認証を行い、定期的にアクセスすることで当該ユーザのスケジュール情報を同期するために取得する。
【0060】
また、スケジュール情報取得モジュール2034は、後述する食事情報取得モジュール2035が受け付けた食事の画像データから、ユーザのスケジュール情報を推測して取得してもよい。端末装置10のカメラ160で撮影された画像データには、通常、Exif(Exchangeable image file format)等のフォーマットに従って撮影時刻の情報が埋め込まれている。そのため、スケジュール情報取得モジュール2034は、この情報を読み込んで画像データが撮影された時刻の情報を取得し、食事が開始された時刻を推測して取得する。
【0061】
食事情報取得モジュール2035は、ユーザ情報受付モジュール2033でユーザ登録を行ったユーザの過去の食事に関する情報を取得する処理を制御する。ここで、ユーザの過去の食事に関する情報とは、例えば、ユーザが過去に実際に摂取した食事情報であり、具体的には、食事の献立、食事の量、及びこれらの情報から推測されるユーザの摂取栄養価の情報である。食事情報取得モジュール2035は、例えば、ユーザの端末装置10に献立に含まれる食材や料理の一覧を表示させ、ユーザが端末装置10を操作し、摂取した食材や料理をタップすることで選択し、またはテキスト入力で記載することで食事情報を入力するので、その入力情報を受け付け、当該ユーザの食事情報としてユーザデータベース2023に格納する。ユーザの食事情報とは、例えば、「ごはん(白米) 茶碗1杯(150g)」、「豚肉の生姜焼き 1人分」、「牛乳 200ml」等である。
【0062】
また、食事情報取得モジュール2035は、ユーザが端末装置10のカメラ160で撮影した、ユーザが摂取した食事の画像データを取得し、ユーザの食事情報を推測して取得してもよい。食事情報取得モジュール2035は、例えば、ユーザが端末装置10を操作して、撮影した食事の画像データをサーバ20へ送信するので、この画像データを受信する。また、食事情報取得モジュール2035は、受信した画像データの画像解析を行うことで、ユーザが摂取した食事の献立及び食事の量を推測し、さらにこれらの情報から推測されるユーザの摂取栄養価の情報を取得する。食事情報取得モジュール2035は、例えば、端末装置10にインストールされているアプリが備える食事記録機能により、カメラ機能を起動させ、食事の撮影を行わせてもよい。
【0063】
食事情報取得モジュール2035で行われる画像データの画像解析は、例えば、既知の技術であるパターン認識技術が用いられ、写真の被写体である料理の外観やその料理が盛り付けられた食器等から特徴量抽出を行い、また、例えば料理レシピデータベース2021に格納されている料理の画像データからも同様に特徴量抽出を行い、所定の値以上の一致度で一致しているか否かで、料理の種類や量を推定する。また、食事情報取得モジュール2035で行われる画像データの画像解析において、料理レシピデータベース2021に格納されている料理の画像データからから、教師あり学習やディープラーニング等の手法による機械学習を行い、学習結果により料理の種類や量を推定してもよい。
【0064】
また、食事情報取得モジュール2035は、ユーザ情報受付モジュール2033が受け付けたアカウント情報を使用して外部サーバにアクセスし、ユーザの食事の画像データを取得してもよい。ここで、外部サーバは、主にクラウドサービスにより提供されている写真や動画の画像データ共有サービスやSNSであり、ユーザが食事を撮影した画像データを送信すると、その画像データを受け付けて公開するシステムである。この場合、食事情報取得モジュール2035は、アカウント情報のID及びパスワード(公開情報を取得する場合、パスワードはなくてもよい。)等により定期的にアクセスし、当該ユーザの画像データから食事の画像データを取得する。
【0065】
さらに、食事情報取得モジュール2035は、後述するレコメンドモジュール2038でレコメンドされた食事の献立情報に対する紐付け情報を取得してもよい。紐付け情報とは、レコメンドされた食事の献立情報に対して、ユーザが実際にその献立(料理)を調理して食事をしたか、食事をした場合にはいつなのか、を示す情報である。例えば、ある献立をレコメンドされたユーザが、実際にはレコメンドされた日ではなく、翌日やさらにその後に食事をする場合や、夕食としてレコメンドしたが、実際には翌日以降の昼食として食事をする場合もあるため、食事情報取得モジュール2035は、レコメンドされた食事の献立情報と実際の食事の情報との紐づけ情報を取得する。食事情報取得モジュール2035は、具体的には、食事に関する情報を取得する際、ユーザに対してどのレコメンド情報に基づくものかを質問し、その質問に対する回答を取得してもよく、過去のレコメンド情報から推測してもよい。
【0066】
献立情報決定モジュール2036は、ユーザ情報受付モジュール2033が受け付けたユーザの属性情報、スケジュール情報取得モジュール2034が取得したユーザのスケジュール情報、及び食事情報取得モジュール2035が取得したユーザの過去の食事に関する情報に基づき、ユーザが摂取する食事の献立情報を生成し、献立を決定する処理を制御する。このとき、献立情報決定モジュール2036は、ユーザが個々の状況に応じて健康上好ましい食事をするように、食事の献立情報を生成する。なお、献立情報決定モジュール2036は、所定の特徴から料理レシピデータベース2021の料理の情報を組み合わせ、献立構成データベース2022を参照して献立を決定してもよく、所定の特徴から献立構成データベース2022を参照し、当該特徴に該当する料理の特徴を料理レシピデータベース2021の料理の情報から組み合わせて献立を決定してもよい。また、献立情報決定モジュール2036は、献立の一部の料理(例えば、主菜)をレコメンドし、この料理、またはユーザから他の料理への変更情報を受け付け、変更された料理に合わせてユーザにその他の料理等(付け合わせ、主食、汁物等)を一覧表示して決定させ、献立を作成させて決定してもよい。
【0067】
献立情報決定モジュール2036は、例えば、ユーザデータベース2023に格納されている、当該ユーザの年齢、性別、職業、既往症や病歴、アレルギー、食事に対する好み、居住環境、家屋構成、調理スキル等といった属性情報(病態情報、症状情報、嗜好情報、調理スキル情報、環境情報のうちの1つまたは複数)、及びスケジュール情報を参照し、これからレコメンドすべき献立の特徴を決定する。献立の特徴とは、その献立の全体または一部の食材や栄養価、調理をする上での特徴を示す情報であり、例えば、「簡単手軽」、「旬の食材」、「塩分ひかえめ」等の情報である。献立情報決定モジュール2036は、献立構成データベース2022を参照し、決定した特徴に合致する献立を抽出する。さらに、献立情報決定モジュール2036は、当該ユーザの過去の食事に関する情報から、直近の食事の献立と重複しないように献立を決定する。また、献立情報決定モジュール2036は、当該ユーザの属性情報、スケジュール情報、またはユーザの過去の食事に関する情報から、他のユーザに対してレコメンドした食事の献立情報を当該ユーザの献立として決定してもよい。
【0068】
また、献立情報決定モジュール2036は、ユーザの家族構成に応じた献立を決定してもよい。献立情報決定モジュール2036は、ユーザの家族構成が複数人からなる場合、人数分の献立を決定するだけではなく、複数人の家族の状況に応じて最適な献立を決定する。具体的には、家族のうちの一部の者について、所定の食品についてのアレルギー情報が登録されている場合には、家族全員の献立の料理から当該食品を除外してもよく、家族のうちの一部の者について、所定の食品や料理ジャンルについての嗜好情報(主に嫌いなものについての情報)が登録されている場合、その者について代替可能な料理、例えば途中までの調理工程が共通する料理を含む献立としてもよい。また、家族のスケジュール情報を参照して共通の食事時間が確保可能な場合には、その食事時間に合わせた献立を決定し、共通の食事時間が確保不可能で家族の食事時間がずれる場合には、後で食事をする者が温め直して食事可能なように、温め直し可能な(味が劣化しにくい)料理を含む献立を決定してもよい。
【0069】
また、献立情報決定モジュール2036は、ユーザが食事を調理するために購入した食材の情報の入力を、例えば、いわゆる買い物リストのような形式で受け付け、食材の情報から料理レシピデータベース2021を参照して献立を構成する料理を決定し、その他の料理を組み合わせて献立を決定してもよい。さらに、献立情報決定モジュール2036は、ユーザが過去に購入した食材の情報と、食事情報取得モジュール2035が取得した食事の情報から、余剰食材を推定し、余剰食材から献立を決定してもよい。例えば、キャベツを1個購入し、そのキャベツの1/2個を使用して調理をした場合、残りのキャベツ1/2個が余剰食材となっていることが把握できるので、残りのキャベツ1/2個を使用する料理が入った献立を決定してもよい。
【0070】
さらに、献立情報決定モジュール2036は、後述するレコメンドモジュール2038でレコメンドされた食事の献立情報と、そのレコメンドに対するユーザの過去の食事に関する情報とを比較し、最適化を行って献立情報を決定してもよい。レコメンドした食事の献立情報についてフィードバックするためである。このとき、上記の紐づけ情報に基づいて最適化を行ってもよい。
【0071】
スケジュール情報生成モジュール2037は、ユーザ情報受付モジュール2033が受け付けたユーザの属性情報、スケジュール情報取得モジュール2034が取得したユーザのスケジュール情報、食事情報取得モジュール2035が取得したユーザの過去の食事に関する情報に基づき、ユーザの食事に関するスケジュール情報を生成する処理を制御する。このとき、スケジュール情報生成モジュール2037は、ユーザが個々の状況に応じて健康上好ましい食事をするように、食事に関するスケジュール情報を生成する。
【0072】
スケジュール情報生成モジュール2037は、例えば、ユーザの過去のスケジュール情報から、当該ユーザの起床時刻、仕事の勤務時間帯、運動を行う時間帯、就寝時刻等を把握し、これらの情報のうちいずれか1つまたは複数に基づき、ユーザが食事を開始すべき時刻を算出し、ユーザのスケジュール情報に当てはめて情報生成する。例えば、ユーザの就寝時刻を過去のスケジュール情報の平均値から算出し、夕食の終了時刻から睡眠時刻まで所定の時間(例えば、2時間)空けることが望ましいため、スケジュール情報生成モジュール2037は、睡眠時刻の所定時間に加えて、食事時間も考慮して夕食の開始時刻を決定する。また、スケジュール情報生成モジュール2037は、ユーザの家族構成が複数人からなる場合、ユーザの人数分のスケジュール情報に当てはめて情報生成する。具体的には、ユーザの家族全員について食事時間に相当する時間帯が空いている場合、家族の食事時間としてスケジュール情報を生成してもよく、家族のうちの一部の者について食事時間に相当する時間帯が空いていない場合、その者のみ異なる食事時間としてスケジュール情報を生成してもよい。さらに、スケジュール情報生成モジュール2037は、当該ユーザの属性情報、スケジュール情報、またはユーザの過去の食事に関する情報から、他のユーザに対してレコメンドしたスケジュール情報を当該ユーザのスケジュール情報として決定し、情報生成してもよい。
【0073】
また、スケジュール情報生成モジュール2037は、例えば、算出したユーザが食事を開始すべき時刻から、食事の調理時間を考慮して、食事の調理を開始すべき時刻を算出し、ユーザのスケジュール情報に当てはめて情報生成してもよい。このとき、食事の調理時間は、献立情報決定モジュール2036が決定した献立を調理するための標準的な時間を適用してもよい。献立を調理するための時間は、例えば、料理レシピデータベース2021に格納されている料理の調理時間を、献立を構成する複数の料理について組み合わせを行い、同時進行可能な調理工程を考慮して算出される。
【0074】
さらに、スケジュール情報生成モジュール2037は、例えば、算出した食事の調理を開始すべき時刻から、食材を購入するための時間を考慮して、食材の購入を開始すべき時刻を算出し、ユーザのスケジュール情報に当てはめて情報生成してもよい。食材を購入するための時間は、ユーザの過去のスケジュール情報から食材購入の時間を平均値等により求めてもよい。また、食材を購入する購入先(スーパーマーケット等の店舗)への移動時間を考慮して適用してもよい。
【0075】
さらにまた、スケジュール情報生成モジュール2037は、例えば、起床時刻、運動を行う時間帯、就寝時刻といった生活リズムに関するスケジュール情報を生成してもよい。
【0076】
さらに、スケジュール情報生成モジュール2037は、後述するレコメンドモジュール2038でレコメンドされたユーザの食事に関するスケジュール情報と、そのレコメンドに対するユーザのスケジュール情報とを比較し、最適化を行ってもよい。レコメンドしたスケジュール情報についてフィードバックするためである。
【0077】
ここで、スケジュール情報取得モジュール2034によるユーザのスケジュール情報の取得、及びスケジュール情報生成モジュール2037によるユーザの生活リズムの推測について説明する。例えば、スケジュール情報取得モジュール2034は、ユーザの端末装置10にインストールされている、サーバ20を運営する管理者が提供するアプリが入力を促すことにより、ユーザの起床時刻の情報を取得する。このとき、ユーザの端末装置10にインストールされている他のアプリに登録されているユーザの起床時刻の情報を取得してもよく、朝の時間帯に当該アプリが起動された場合にその時刻を起床時刻と推定してもよい。この起床時刻を起点として、スケジュール情報生成モジュール2037は、ユーザのスケジュール情報に基づいてユーザの1日の行動の中でどの時間帯に食事をすることが可能か、または所定の基準からユーザの健康上好ましいか、という点を考慮してユーザの食事時間を推測する。例えば、スケジュール情報生成モジュール2037は、食事情報取得モジュール2035が取得したユーザの食事情報の送信時刻から食事時間を推測してもよく、スケジュール情報取得モジュール2034が取得したスケジュール情報から食事ができそうにない時間帯を除外して食事時間を推測してもよい。具体的には、スケジュール情報に健康診断の予定がある場合、その前日の夜(例えば、午後10時)以降は食事時間としないように推測する。
【0078】
また、スケジュール情報生成モジュール2037は、ユーザのスケジュール情報に基づき、曜日ごとの行動パターンからユーザの食事時間を推測してもよい。例えば、過去のユーザのスケジュール情報から平日は仕事をしているので朝食時刻は早くなり、土曜、日曜及び祝日は朝食時刻が遅くなり、所定の曜日は在宅勤務の予定なので朝食時刻は少し遅くなるように推測する。また、ユーザ本人及び家族の年齢等から、通勤または通学していると推測し、曜日ごとの行動パターンを推測してユーザの食事時間を推測してもよい。さらに、休日と推測される日に外出予定のスケジュール情報(例えば、公共交通機関の予約情報や宿泊施設の予約情報)がある場合、食事時間が変動すると推測してもよい。
【0079】
また、スケジュール情報生成モジュール2037は、推測した食事時間から逆算を行い、ユーザの調理時間を推測する。例えば、食事時間の直前であり、ユーザのスケジュール情報が入っていない時間帯を調理時間と推測してもよく、家族の送迎や帰宅時刻を推測して調理時間を推測してもよい。このとき、決定した献立の標準的な調理時間(または、他のユーザの調理時間)からユーザの調理時間が決定されるが、ユーザの調理スキル情報から調整されてもよい。
【0080】
さらに、スケジュール情報生成モジュール2037は、推測した食事時間から逆算を行い、食材の購入に行ける時間帯を推測する。例えば、ユーザのスケジュール情報が入っていない時間帯を食材の購入に行ける時間帯と推測してもよく、家族の送迎や帰宅時刻を推測して食材の購入に行ける時間帯を推測してもよい。食材の購入に行ける時間帯を推測する際、ユーザの住所情報等から、食材を購入する購入先の開店時刻や当該店舗への移動時間を考慮して推測してもよい。また、スケジュール情報生成モジュール2037は、ユーザが購入した食材の情報から食材の購入に必要な時間を推測してもよく、例えば、食材の残りが十分にある場合には食材の購入に必要な時間の短縮が可能であると推測してもよく、または食材の購入の必要がないと推測してもよい。
【0081】
さらにまた、スケジュール情報生成モジュール2037は、位置情報センサ150の検出結果や、ユーザの端末装置10にインストールされている、ユーザの生体情報や健康に関する情報を登録するアプリに登録されている歩数データ等の情報との連携を行い、ユーザの通勤時間や運動時間(例えば、ジョギングの時間)を推測してもよい。また、ユーザの生体情報に含まれる体温が高い場合や、推測されt通勤時間や運動時間に移動情報や歩数が検出されない場合、ユーザの体調が以上であると推測してもよい。この場合、献立情報決定モジュール2036は、体調不良時の献立を決定してもよい。
【0082】
レコメンドモジュール2038は、献立情報決定モジュール2036が決定した食事の献立情報、及びスケジュール情報生成モジュール2037が決定した食事に関するスケジュール情報をレコメンドするため、当該ユーザの端末装置10へ送信する処理を制御する。レコメンドモジュール2038は、食事の献立情報、食事に関するスケジュール情報のうちいずれか1つをレコメンドしてもよく、両方をレコメンドしてもよい。食事の献立情報をレコメンドする場合、料理のレシピ情報や、料理の完成状態を撮影した画像データも端末装置10へ送信してもよい。また、食事に関するスケジュール情報をレコメンドする場合、ユーザの端末装置10にカレンダーのような表示画面にタイムチャートを表示させ、当該スケジュール情報を表示させてレコメンドしてもよい。また、レコメンドモジュール2038は、ユーザに対してレコメンドを行った食事の献立情報及び食事に関するスケジュール情報を、レコメンドデータベース2024に格納する。
【0083】
<2 データ構造>
図4は、サーバ20が記憶する料理レシピデータベース2021、献立構成データベース2022のデータ構造を示す図である。また、
図5は、サーバ20が記憶するユーザデータベース2023のデータ構造を示す図である。
【0084】
図4に示すように、料理レシピデータベース2021のレコードのそれぞれは、項目「料理ID」と、項目「料理名」と、項目「料理特徴ID」と、項目「食材」と、項目「レシピ情報」等を含む。
【0085】
項目「料理ID」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理の情報それぞれを識別する情報である。
【0086】
項目「料理名」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理の名称の情報である。
【0087】
項目「料理特徴ID」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理の特徴を識別する情報であり、例えば、料理の特徴を示す「簡単手軽」、「旬の食材」、「塩分ひかえめ」等の情報ごとにタグ付けされた識別情報が格納されている。なお、項目「料理特徴ID」には、料理の特徴を示す「簡単手軽」等の文言がそのまま格納されてもよい。
【0088】
項目「食材」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理を調理するために必要な食材の情報である。
図4に示すように、項目「食材」には、食材の分量の情報が含まれてもよく、所定の人数分の分量として統一された情報が格納されてもよい。
【0089】
項目「レシピ情報」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理を調理するための工程を示すレシピ情報であり、具体的には、項目「調理工程」と、項目「画像ID」等を含む。
【0090】
項目「調理工程」は、料理を調理するための工程を詳細に示すであり、料理レシピをレコメンドする際にWebページに掲載される文言情報である。
【0091】
項目「画像ID」は、項目「調理工程」の工程の状態を示す画像データを識別する情報であり、料理レシピをレコメンドする際にWebページに掲載される画像データである。
【0092】
献立情報決定モジュール2036は、献立を構成する料理を決定する際に、料理レシピデータベース2021を参照する。
【0093】
献立構成データベース2022のレコードのそれぞれは、項目「献立ID」と、項目「特徴ID」と、項目「料理ID」と、項目「料理特徴ID」等を含む。
【0094】
項目「献立ID」は、サーバ20の献立情報決定モジュール2036が決定する、献立の情報それぞれを識別する情報である。
【0095】
項目「特徴ID」は、サーバ20の献立情報決定モジュール2036が決定する、献立の特徴を識別する情報であり、例えば、献立を構成する料理の特徴や、献立全体の特徴を示す「塩分ひかえめ」、「低糖質」、「シニア向け」等の情報ごとにタグ付けされた識別情報が格納されている。なお、項目「特徴ID」には、献立の特徴を示す「塩分ひかえめ」等の文言がそのまま格納されてもよい。
【0096】
項目「料理ID」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理の情報それぞれを識別する情報であり、料理レシピデータベース2021の項目「料理ID」に対応している。
【0097】
項目「料理特徴ID」は、サーバ20の献立情報決定モジュール2036が決定する、献立を構成する料理の特徴を識別する情報であり、料理レシピデータベース2021の項目「料理特徴ID」に対応している。
【0098】
献立情報決定モジュール2036は、献立を決定する際に、献立構成データベース2022を参照する。
【0099】
図5に示すように、ユーザデータベース2023のレコードのそれぞれは、項目「ユーザID」と、項目「氏名」と、項目「年齢」と、項目「性別」と、項目「特徴ID」と、項目「スケジュール情報」と、項目「食事情報」と、項目「閲覧登録情報」と、項目「購入履歴情報」等を含む。
【0100】
項目「ユーザID」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザそれぞれを識別する情報である。
【0101】
項目「氏名」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザの氏名を示す情報である。
【0102】
項目「年齢」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザの年齢を示す情報である。
【0103】
項目「性別」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザの性別を示す情報である。
【0104】
項目「特徴ID」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザの特徴を識別する情報であり、献立構成データベース2022の項目「特徴ID」に対応している。項目「特徴ID」は、ユーザ情報受付モジュール2033が受け付けたユーザの属性情報等に基づき、ユーザの特徴を示すタグ情報を付与したものである。
【0105】
項目「スケジュール情報」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザのスケジュール情報であり、スケジュール情報取得モジュール2034が取得したスケジュール情報である。項目「スケジュール情報」は、具体的には、項目「日時」と、項目「摘要」等を含む。
【0106】
項目「日時」は、スケジュール情報の日時を示す情報である。項目「日時」は、ある時間帯を示す情報でもよく、特定の時刻を示す情報でもよい。
【0107】
項目「摘要」は、スケジュール情報の内容を示す情報であり、例えば、
図5に示すように、ユーザの各種行動予定情報の内容を示す「勤務(オフィス)」、「夕食」等が格納されている。
【0108】
項目「食事情報」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザの過去の食事に関する情報であり、食事情報取得モジュール2035が取得した食事情報、例えばユーザが摂取した食事を撮影した画像データである。項目「食事情報」は、具体的には、項目「受信日時」と、項目「画像ID」等を含む。
【0109】
項目「受信日時」は、ユーザの過去の食事に関する情報、例えばユーザが摂取した食事の画像データをサーバ20で受信した日時を示す情報である。
【0110】
項目「画像ID」は、ユーザが摂取した食事の画像データを識別する情報である。項目「画像ID」には、画像データが格納されてもよい。
【0111】
項目「閲覧登録情報」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザが過去に閲覧した料理に関する情報であり、具体的には、項目「閲覧日時」と、項目「料理ID」等を含む。当該項目の処理については後述する。
【0112】
項目「閲覧日時」は、ユーザが過去に、料理レシピデータベース2021に格納されている料理の情報を閲覧した日時を示す情報である。
【0113】
項目「料理ID」は、ユーザが過去に閲覧した料理の情報それぞれを識別する情報であり、料理レシピデータベース2021の項目「料理ID」に対応している。
【0114】
項目「購入履歴情報」は、レコメンドシステム1で食事に関する情報のレコメンドを受けるユーザが過去に購入した食材に関する情報であり、献立情報決定モジュール2036が受け付けたユーザの食材購入情報である。項目「購入履歴情報」は、具体的には、項目「日時」と、項目「購入品」等を含む。当該項目の処理については後述する。
【0115】
項目「日時」は、ユーザが過去に食材を購入した日時を示す情報である。ユーザが入力した日時情報でもよく、ユーザが購入した食材の情報を端末装置10から送信し、サーバ20で受信した日時情報でもよい。
【0116】
項目「購入品」は、ユーザが過去に購入した食材の名称や分量を示す情報である。
【0117】
ユーザ情報受付モジュール2033は、ユーザの端末装置10から送信されたユーザの識別情報や属性情報を受け付けると、ユーザデータベース2023に格納する。スケジュール情報取得モジュール2034は、スケジュール情報を取得すると、ユーザデータベース2023の項目「スケジュール情報」に格納する。食事情報取得モジュール2035は、ユーザの過去の食事に関する情報を取得すると、ユーザデータベース2023の項目「食事情報」に格納する。また、献立情報決定モジュール2036は、ユーザの購入した食材の情報を取得すると、ユーザデータベース2023の項目「購入履歴情報」に格納する。
【0118】
<3 動作>
以下、
図6ないし
図8を参照しながら、実施の形態1におけるレコメンドシステム1によるレコメンド処理について説明する。
【0119】
図6は、実施の形態1のレコメンドシステム1により、レコメンド処理を行う流れの一例を示すフローチャートである。
【0120】
ステップS111において、端末装置10の入力操作受付部181は、ユーザからレコメンドシステム1のサービスを利用するため、ユーザ情報の入力操作を受け付ける。例えばユーザは、サーバ20が提供するWebページを参照し、ユーザの識別情報や属性情報を入力する操作を行う。送受信部182は、ユーザの識別情報や属性情報をサーバ20へ送信する。
【0121】
ステップS121において、サーバ20のユーザ情報受付モジュール2033は、端末装置10から送信されたユーザの識別情報や属性情報を、通信部201を介して受け付ける。ユーザ情報受付モジュール2033は、受け付けたユーザの識別情報や属性情報を、ユーザデータベース2023に格納する処理を行う。
【0122】
ステップS112において、端末装置10の入力操作受付部181は、ユーザから自己の行動予定に関する、スケジュール情報の入力操作を受け付ける。例えば、通知制御部184は、ディスプレイ132にカレンダーのような表示画面のタイムチャートを表示させ、入力操作受付部181は、ユーザがタイムチャートの所定の時間帯をタップすることで行う各種行動予定情報の入力操作を受け付ける。送受信部182は、スケジュール情報をサーバ20へ送信する。
【0123】
ステップS122において、サーバ20のスケジュール情報取得モジュール2034は、端末装置10から送信されたユーザのスケジュール情報を、通信部201を介して受け付ける。スケジュール情報取得モジュール2034は、受け付けたユーザのスケジュール情報を、ユーザデータベース2023の項目「スケジュール情報」に格納する処理を行う。
【0124】
ステップS113において、端末装置10の入力操作受付部181は、ユーザから自己の過去の食事に関する情報の入力操作を受け付ける。例えば、通知制御部184は、ディスプレイ132に献立に含まれる食材や料理の一覧を表示させ、入力操作受付部181は、ユーザが摂取した食材や料理をタップすることで選択し、またはテキスト入力で記載することで行う過去の食事に関する情報の入力操作を受け付ける。また、例えば、入力操作受付部181は、ユーザからカメラ160の操作を受け付ける。カメラ160は、ユーザの入力操作により撮影対象であるユーザの食事の撮影を行う。データ処理部183は、カメラ160が撮影した画像データと、撮影したときの時期情報とを記憶部170に格納する。送受信部182は、過去の食事に関する情報(食事の画像データ)をサーバ20へ送信する。
【0125】
ステップS123において、サーバ20の食事情報取得モジュール2035は、端末装置10から送信されたユーザの過去の食事に関する情報(食事の画像データ)を、通信部201を介して受け付ける。食事情報取得モジュール2035は、受け付けたユーザの過去の食事に関する情報を、ユーザデータベース2023の項目「食事情報」に格納する処理を行う。
【0126】
ステップS124において、サーバ20の献立情報決定モジュール2036は、ステップS121で受け付けたユーザの属性情報、ステップS122で取得したユーザのスケジュール情報、及びステップS123で取得したユーザの過去の食事に関する情報に基づき、料理レシピデータベース2021及び献立構成データベース2022を参照してユーザが摂取する食事の献立を決定して献立情報を生成する処理を行う。このとき、献立情報決定モジュール2036は、ユーザが個々の状況に応じて健康上好ましい食事をするように、食事の献立情報を生成する。
【0127】
ステップS125において、サーバ20のスケジュール情報生成モジュール2037は、ステップS121で受け付けたユーザの属性情報、ステップS122で取得したユーザのスケジュール情報、及びステップS123で取得したユーザの過去の食事に関する情報に基づき、ユーザの食事に関するスケジュール情報を生成する処理を行う。このとき、スケジュール情報生成モジュール2037は、ユーザが個々の状況に応じて健康上好ましい食事をするように、食事の献立情報を生成する。
【0128】
ステップS126において、サーバ20のレコメンドモジュール2038は、ステップS124で決定した食事の献立情報、及びステップS125で決定した食事に関するスケジュール情報をレコメンドするため、当該ユーザの端末装置10へ送信する処理を行う。レコメンドモジュール2038は、食事の献立情報及び食事に関するスケジュール情報を、ユーザが使用する端末装置10に対して、通信部201を介して送信する処理を行う。
【0129】
ステップS116において、端末装置10の送受信部182は、サーバ20から送信された食事の献立情報及び食事に関するスケジュール情報を受け付ける。通知制御部184は、受け付けた食事の献立情報及び食事に関するスケジュール情報をディスプレイ132に表示させ、当該ユーザにレコメンドする。
【0130】
ステップS127において、サーバ20のレコメンドモジュール2038は、ユーザに対してレコメンドを行った食事の献立情報及び食事に関するスケジュール情報を、レコメンドデータベース2024に格納する処理を行う。
【0131】
以上のように、レコメンドシステム1では、ユーザの属性情報、ユーザのスケジュール情報、及びユーザの過去の食事に関する情報に基づき、ユーザが摂取する食事の献立、及びユーザの食事に関するスケジュール情報が生成される。食事の献立、及びユーザの食事に関するスケジュール情報は、ユーザに対して送信されてレコメンドされる。これにより、ユーザの過去の食事状況及びスケジュール情報に応じた、最適な食事に関する情報をレコメンドすることが可能になる。
【0132】
図7は、実施の形態1のレコメンドシステム1により、レコメンド処理を行う流れの他の例を示すフローチャートである。
図7に示すフローチャートにおけるレコメンド処理は、
図6に示すフローチャートにおけるレコメンド処理のステップS111ないしステップS123に代えて、ステップS211ないしステップS223が行われるため、重複する処理については繰り返して説明しない。
【0133】
ステップS211において、端末装置10の入力操作受付部181は、ユーザからユーザの識別情報や属性情報の入力操作を受け付けると共に、外部サーバから情報取得を行うためのアカウント情報(ID及びパスワード等)の入力操作を受け付ける。送受信部182は、ユーザの識別情報や属性情報、及びユーザのアカウント情報をサーバ20へ送信する。
【0134】
ステップS221において、サーバ20のユーザ情報受付モジュール2033は、端末装置10から送信されたユーザの識別情報や属性情報、及びユーザのアカウント情報を、通信部201を介して受け付ける。ユーザ情報受付モジュール2033は、受け付けたユーザの識別情報や属性情報、及びユーザのアカウント情報を、ユーザデータベース2023に格納する処理を行う。
【0135】
ステップS222において、サーバ20のスケジュール情報取得モジュール2034は、ステップS221で受け付けたアカウント情報を使用して外部サーバにアクセスし、ユーザのスケジュール情報を取得する。スケジュール情報取得モジュール2034は、取得したユーザのスケジュール情報を、ユーザデータベース2023の項目「スケジュール情報」に格納する処理を行う。
【0136】
ステップS223において、サーバ20の食事情報取得モジュール2035は、ステップS221で受け付けたアカウント情報を使用して外部サーバにアクセスし、ユーザの食事の画像データを取得する。スケジュール情報取得モジュール2034は、受け付けたユーザの過去の食事に関する情報を、ユーザデータベース2023の項目「食事情報」に格納する処理を行う。
【0137】
以上のように、レコメンドシステム1では、入力されたアカウント情報を使用して外部サーバにアクセスされ、ユーザのスケジュール情報、及びユーザの食事の画像データが取得される。そのため、ユーザが普段使用しているスケジュール管理システムや画像データ共有サービス、またはSNSから情報提供を受けることが可能になる。これにより、ユーザはレコメンドシステム1に入力することなく、他のクラウドサービス等と同期することが可能になる。
【0138】
図8は、実施の形態1のレコメンドシステム1により、レコメンド処理を行う流れの他の例を示すフローチャートである。
図8に示すフローチャートにおけるレコメンド処理は、
図6に示すフローチャートにおけるレコメンド処理のステップS112及びステップS122の後続処理として、ステップS311及びステップS321が追加され、ステップS124に代えて、ステップS322が行われるため、重複する処理については繰り返して説明しない。なお、ステップS311及びステップS321の処理は、ステップS112及びステップS122の後続処理とは限られず、例えば、ステップS113及びステップS123の後続処理として行われてもよい。また、
図8に示すフローチャートでは、ステップS111及びステップS121の図示を省略する。
【0139】
ステップS311において、端末装置10の入力操作受付部181は、ユーザから食事を調理するために購入した食材の情報の入力を受け付ける。送受信部182は、ユーザが購入した食材の情報をサーバ20へ送信する。
【0140】
ステップS321において、サーバ20の献立情報決定モジュール2036は、端末装置10から送信された、ユーザが購入した食材の情報を、通信部201を介して受け付ける。献立情報決定モジュール2036は、受け付けたユーザが購入した食材の情報を、ユーザデータベース2023の項目「購入履歴情報」に格納する処理を行う。
【0141】
ステップS322において、サーバ20の献立情報決定モジュール2036は、ステップS321で受け付けた食材の情報から、料理レシピデータベース2021及び献立構成データベース2022を参照して献立を構成する料理を決定し、その他の料理を組み合わせて献立を決定する処理を行う。
【0142】
以上のように、レコメンドシステム1では、入力されたユーザが購入した食材の情報に基づき、ユーザが摂取する食事の献立情報が生成され、献立が決定される。これにより、余剰食材を有効活用する献立のレコメンドが可能になる。
【0143】
<4 画面例>
以下、
図9ないし
図11を参照しながら、レコメンドシステム1による食事の献立情報、及び食事に関するスケジュール情報のレコメンド処理の画面例について説明する。
【0144】
図9は、レコメンド処理における端末装置10のカレンダー表示の画面例を示す図である。
図9の画面例は、食事の献立情報、及び食事に関するスケジュール情報をレコメンドするために日付を選択するためのカレンダーが表示された状態の画面例を示す。
図6ないし
図8のステップS116に相当する。
【0145】
図9に示すように、端末装置10のディスプレイ132には、カレンダー表示1031aが表示される。カレンダー表示1031aは、レコメンドするスケジュール情報の日付(例えば、当該サービスを提供するアプリを起動した日付)が含まれるカレンダーを月単位で表示したものであり、この表示形式は、1日単位、週単位、2カ月単位等に変更することが可能になっている。また、カレンダー表示1031aには、レコメンドするスケジュール情報の日付を示す日付表示1031bが強調表示されており、この日付をタップ等することで選択すると、日付表示1031bが示す日付の、後述する献立予定が表示されるようになっている。また、このカレンダー表示1031a内の別の日付をタップ等することで選択すると、日付表示1031bが選択した別の日付に移動し、当該日付の献立予定が表示されるようになっている。
【0146】
図10は、レコメンド処理における端末装置10の献立予定表示の画面例を示す図である。
図10の画面例は、レコメンドされる1日の食事の献立情報、及び食事に関するスケジュール情報が表示された状態の画面例を示す。
図6ないし
図8のステップS116に相当する。
【0147】
図10に示すように、端末装置10のディスプレイ132には、レコメンドするスケジュール情報の日付を示す日付表示1032aが上方に表示される。また、日付表示1032aの下方には、食事の献立情報、及び食事に関するスケジュール情報として、レコメンドされる1日の食事に関するスケジュール情報の時間表示1032bと、それぞれの食事の献立概要情報1032cとが表示される。なお、献立概要情報1032c以外に、起床や通勤といった食事以外の情報が時間表示1032bの下に表示されてもよい。この献立概要情報1032cをタップ等することで選択すると、当該献立の、後述する献立詳細が表示されるようになっている。また、この日付表示1032a内の別の日付をタップ等することで選択すると、日付表示1032aが選択した別の日付に移動し、当該日付の食事の献立情報及び食事に関するスケジュール情報が表示されるようになっている。さらに、この画面には献立追加ボタン1032dが設けられており、この献立追加ボタン1032dをタップ等することで選択すると、任意の献立を追加できるようになっている。
【0148】
図11は、レコメンド処理における端末装置10の献立詳細表示の画面例を示す図である。
図11の画面例は、レコメンドされる献立情報の詳細が表示された状態の画面例を示す。
図6ないし
図8のステップS116に相当する。
【0149】
図11に示すように、端末装置10のディスプレイ132には、献立タイトル表示1033aが表示される。献立タイトル表示1033aは、当該献立の特徴を一言で示した文言がタイトルとして示され、さらに当該献立で摂取可能なエネルギーや栄養価等が表示されている。また、献立タイトル表示1033aの下方には、詳細情報1033bが表示されており、この献立を食べる日時の情報や、当該献立の食事メモ(他のユーザによる感想等)、及び完成写真等が表示されている。詳細情報1033bに表示させる情報はこれらの情報に限られず、例えばレシピ情報や、その他の栄養価の情報が表示されてもよい。
【0150】
<小括>
以上のように、本実施形態によると、ユーザの属性情報、ユーザのスケジュール情報、及びユーザの過去の食事に関する情報が取得され、これらの情報に基づき、ユーザが摂取する食事の献立、及びユーザの食事に関するスケジュール情報が生成される。食事の献立、及びユーザの食事に関するスケジュール情報は、ユーザに対して送信されてレコメンドされる。これにより、ユーザの過去の食事状況及びスケジュール情報に応じた、最適な食事に関する情報をレコメンドすることが可能になる。
【0151】
また、レコメンドされるユーザの食事に関するスケジュール情報は、ユーザのスケジュール情報に当てはめて生成され、ユーザが食事を開始すべき時刻、食事の調理を開始すべき時刻、または食材の購入を開始すべき時刻がレコメンドされる。これにより、精度の高いスケジュール情報をレコメンドすることが可能になる。
【0152】
また、レコメンドされるユーザが摂取する食事の献立情報は、ユーザの病態情報、症状情報、嗜好情報といった属性情報、及びユーザのスケジュール情報に当てはめて生成され、レコメンドされる。これにより、ユーザの状態に合わせた献立をレコメンドすることが可能になる。
【0153】
<第2の実施の形態>
以下、レコメンドシステム1の他の実施の形態について説明する。
【0154】
<1 レコメンドシステム1の全体構成>
図12は、実施の形態2のレコメンドシステム1を構成するサーバ20の機能的な構成を示す図である。第2の実施の形態におけるレコメンドシステム1の全体の構成、端末装置10の構成は、第1の実施の形態と同様であるので、繰り返して説明しない。サーバ20の構成については、
図12に示すように、新たに献立履歴取得モジュール(献立履歴取得部)2039の機能を備える以外、第1の実施の形態と同様である。以下、第2の実施の形態における献立履歴取得モジュール2039の機能について説明する。
【0155】
献立履歴取得モジュール2039は、サーバ20が提供する、料理レシピや献立の情報を掲載するWebページにユーザが端末装置10でアクセスして閲覧した履歴の情報、ユーザが閲覧した料理レシピや献立の情報、またはユーザが料理の情報を閲覧して構成した献立の情報を登録した履歴の情報を取得する処理を制御する。献立履歴取得モジュール2039は、ユーザが閲覧した履歴の情報をアクセスログやトラッキングログ等から取得し、ユーザが登録した履歴の情報はユーザの操作により端末装置10から送信されるので、その情報を受信して取得する。ユーザが登録した履歴の情報とは、例えば、お気に入りメニューとして登録する機能等により登録される情報や、お気に入りや将来作ってみたいと希望する料理を組み合わせて構成した献立を登録した情報である。
【0156】
本実施形態の献立情報決定モジュール2036は、ユーザの属性情報、ユーザのスケジュール情報、ユーザの過去の食事に関する情報に加えて、献立履歴取得モジュール2039が取得した履歴の情報に基づき、ユーザが摂取する食事の献立を決定し、献立情報を生成する処理を制御する。例えば、献立情報決定モジュール2036は、ユーザが登録した自己で構成した献立情報やお気に入りとして登録した献立情報から、当該献立の主菜の料理ジャンルが直近のユーザの過去の食事に関する情報と重複しない場合、献立として決定してもよい。また、献立情報決定モジュール2036は、ユーザの過去の食事に関する情報が、ユーザの家族構成から推測して余分に調理している料理がある場合、作り置きをしていると推測し、次の食事の際に当該料理やその料理を利用したアレンジ料理を献立として組み合わせてもよい。さらに、献立情報決定モジュール2036は、ユーザのスケジュール情報からユーザの仕事が休日であると推測される場合、調理時間が十分に確保できると推測し、ユーザの過去の食事に関する情報から比較して調理時間が余計に必要な、手間のかかる料理であっても、献立に組み合わせてもよく、さらに、上記のようなユーザが閲覧した履歴の情報やお気に入りとして登録されている料理の情報を献立に組み合わせて決定してもよい。さらにまた、ユーザが料理や献立の情報を閲覧している際、特定の検索ワードを用いている場合、当該検索ワードからユーザの症状や体調を推測し、当該検索ワードがタグ情報として登録されている献立情報を決定してもよい。例えば、検索ワードとして「風邪」、「二日酔い」等の検索がされた場合である。
【0157】
本実施形態のスケジュール情報生成モジュール2037は、例えば、ユーザが料理や献立、レシピの情報を長時間閲覧していたような場合、ユーザが調理することが可能な時間帯であると推測してもよい。また、スケジュール情報生成モジュール2037は、上記のようにユーザの過去の食事に関する情報から、ユーザが料理の作り置きをしていると推測される場合、調理時間の短縮が可能であると推測し、食事の調理を開始すべき時刻を算出してスケジュール情報を生成してもよい。さらに、スケジュール情報生成モジュール2037は、ユーザのスケジュール情報からユーザの仕事が休日であると推測される場合、調理時間が十分に確保できると推測し、調理時間を長めにするようにスケジュール情報を生成してもよい。
【0158】
<2 データ構造>
実施の形態2におけるデータ構造は、実施の形態1と同様である。
【0159】
献立履歴取得モジュール2039は、履歴の情報を取得すると、
図5に示すユーザデータベース2023の項目「閲覧登録情報」に格納する。また、献立情報決定モジュール2036は、ユーザデータベース2023の項目「閲覧登録情報」を参照して、ユーザが摂取する食事の献立情報を生成する
【0160】
<小括>
以上のように、本実施形態によると、ユーザが閲覧した料理レシピや献立の情報の履歴の情報、またはユーザが登録した料理レシピや献立の情報の履歴の情報に基づき、ユーザが摂取する食事の献立情報を生成する。そのため、ユーザが興味ありと推測される料理レシピや献立の情報から献立をレコメンドすることができる。これにより、ユーザの嗜好に沿った献立のレコメンドが可能になる。
【0161】
<第3の実施の形態>
以下、レコメンドシステム1の他の実施の形態について説明する。
【0162】
<1 レコメンドシステム1の全体構成>
図13は、実施の形態3のレコメンドシステム1を構成するサーバ20の機能的な構成を示す図である。第3の実施の形態におけるレコメンドシステム1の全体の構成、端末装置10の構成は、第1の実施の形態と同様であるので、繰り返して説明しない。サーバ20の構成については、
図13に示すように、新たに位置情報取得モジュール(位置情報取得部)2040の機能を備える以外、第1の実施の形態と同様である。以下、第3の実施の形態における位置情報取得モジュール2040の機能について説明する。
【0163】
位置情報取得モジュール2040は、レコメンドシステム1を利用して食事に関する情報のレコメンドを受けるユーザが使用する、端末装置10の位置情報送信部186が端末装置10の位置情報をサーバ20へ送信するので、送信された位置情報を取得する処理を制御する。位置情報取得モジュール2040は、端末装置10に対して位置情報の送信要求を送信し、位置情報センサ150が検出した現在位置の情報を位置情報送信部186が送信するので、送信された位置情報を取得する。位置情報取得モジュール2040は、取得した位置情報をユーザデータベース2023に格納するが、図示を省略する。
【0164】
本実施形態のスケジュール情報生成モジュール2037は、位置情報取得モジュール2040が取得した位置情報に基づき、ユーザの現在位置から最適な食材を購入する購入先(スーパーマーケット等の店舗)を決定し、当該店舗への移動時間を考慮して食材の購入を開始すべき時刻を算出し、ユーザのスケジュール情報に当てはめて情報生成する処理を制御する。例えば、スケジュール情報生成モジュール2037は、食材の購入に行ける時間帯を推測する際、位置情報取得モジュール2040が取得した位置情報に基づき、食材を購入する購入先の開店時刻や当該店舗への移動時間を考慮して推測してもよい。
【0165】
<2 データ構造>
実施の形態3におけるデータ構造は、実施の形態1と同様である。
【0166】
<3 動作>
以下、
図14を参照しながら、実施の形態3におけるレコメンドシステム1によるレコメンド処理について説明する。
図14は、実施の形態3のレコメンドシステム1により、レコメンド処理を行う流れの一例を示すフローチャートである。
図14に示すフローチャートにおけるレコメンド処理は、
図6に示すフローチャートにおけるレコメンド処理のステップS113及びステップS123の後続処理として、ステップS411、ステップS421及びステップS422が追加されたものであるため、重複する処理については繰り返して説明しない。なお、
図14に示すフローチャートでは、ステップS111及びステップS121の図示を省略する。
【0167】
ステップS411において、端末装置10の位置情報センサ150は、端末装置10の現在位置を検出する。データ処理部183は、位置情報センサ150が検出した位置情報を記憶部170に格納する処理を行う。送受信部182は、ユーザの位置情報をサーバ20へ送信する。
【0168】
ステップS421において、サーバ20の位置情報取得モジュール2040は、端末装置10から送信されたユーザの位置情報を、通信部201を介して受け付ける処理を行う。位置情報取得モジュール2040は、受け付けたユーザの位置情報を、ユーザデータベース2023に格納する。
【0169】
ステップS422において、サーバ20のスケジュール情報生成モジュール2037は、ステップS421で取得した位置情報に基づき、ユーザの現在位置から最適な食材を購入する購入先(スーパーマーケット等の店舗)を決定する処理を行う。スケジュール情報生成モジュール2037は、決定した当該店舗への移動時間を考慮して食材の購入を開始すべき時刻を算出し、ユーザのスケジュール情報に当てはめて情報生成する。
【0170】
<小括>
以上のように、本実施形態によると、ユーザの現在位置が取得され、ユーザの現在位置から最適な食材を購入する購入先(スーパーマーケット等の店舗)が決定される。当該店舗への移動時間から、食材の購入を開始すべき時刻が算出され、スケジュール情報の生成が行われ、レコメンドされる。これにより、ユーザの現在位置に沿った適切なスケジュール情報の生成及びレコメンドが可能になる。
【0171】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換及び変更を行なって実施することができる。これらの実施形態及び変形例ならびに省略、置換及び変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【0172】
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
【0173】
(付記1)制御部を備え、食事に関する情報をレコメンドするサービスを提供するための情報処理装置であって、制御部は、サービスの提供を受けるユーザのスケジュール情報を取得するスケジュール情報取得部と、ユーザの過去に摂取した食事に関する情報を取得する食事情報取得部と、ユーザの属性情報、スケジュール情報、及びユーザの過去に摂取した食事に関する情報に基づき、ユーザの食事に関する情報を生成する情報生成部と、ユーザの食事に関する情報をレコメンドするレコメンド部と、を備える、情報処理装置。
【0174】
(付記2)情報生成部は、ユーザの食事に関するスケジュール情報を生成し、レコメンド部は、ユーザの食事に関するスケジュール情報をレコメンドする、(付記1)に記載の情報処理装置。
【0175】
(付記3)レコメンド部は、ユーザの食事に関するスケジュール情報を、ユーザが閲覧可能なタイムチャートに表示させてレコメンドする、(付記2)に記載の情報処理装置。
【0176】
(付記4)情報生成部は、ユーザが食事を開始すべき時刻を算出し、ユーザの食事開始時刻に合わせて食事に関するスケジュール情報を生成する、(付記2)または(付記3)に記載の情報処理装置。
【0177】
(付記5)情報生成部は、スケジュール情報におけるユーザの過去の起床時刻、仕事の勤務時間帯、運動を行う時間帯、就寝時刻のいずれか1つまたは複数に基づき、ユーザが食事を開始すべき時刻を算出する、(付記4)に記載の情報処理装置。
【0178】
(付記6)情報生成部は、ユーザが食事の調理を開始すべき時刻を算出し、ユーザの調理開始時刻に合わせて食事に関するスケジュール情報を生成する、(付記2)または(付記3)に記載の情報処理装置。
【0179】
(付記7)情報生成部は、ユーザにレコメンドする食事の献立を決定し、ユーザが食事の献立の調理を開始すべき時刻を算出し、ユーザの調理開始時刻に合わせて食事に関するスケジュール情報を生成し、レコメンド部は、食事の献立と、ユーザの食事に関するスケジュール情報とをレコメンドする、(付記6)に記載の情報処理装置。
【0180】
(付記8)情報生成部は、ユーザの属性情報に含まれるユーザの病態情報、症状情報、嗜好情報、調理スキル情報、環境情報のいずれか1つまたは複数に基づき、食事の献立を決定する、(付記7)に記載の情報処理装置。
【0181】
(付記9)制御部は、さらに、ユーザが閲覧または登録した献立情報の履歴を取得する献立履歴取得部を備え、情報生成部は、ユーザが閲覧または登録した献立情報に基づき、食事の献立を決定する、(付記7)または(付記8)に記載の情報処理装置。
【0182】
(付記10)情報生成部は、ユーザが食事の献立を調理するための食材の購入を開始すべき時刻を算出し、ユーザの食材購入開始時刻に合わせて食事に関するスケジュール情報を生成し、レコメンド部は、ユーザが購入すべき食材をレコメンドする、(付記7)から(付記9)のいずれかに記載の情報処理装置。
【0183】
(付記11)制御部は、さらに、ユーザが使用する端末装置の位置情報を取得する位置情報取得部を備え、情報生成部は、位置情報に基づき食材を購入する購入先を決定し、ユーザの購入先への移動時間を算出して食材の購入を開始すべき時刻を算出する、(付記10)に記載の情報処理装置。
【0184】
(付記12)情報生成部は、ユーザが過去に購入した食材の情報に基づき、食事の献立を決定する、(付記10)または(付記11)に記載の情報処理装置。
【0185】
(付記13)レコメンド部は、食事の献立を調理するためのレシピ情報をレコメンドする、(付記7)から(付記12)のいずれかに記載の情報処理装置。
【0186】
(付記14)情報生成部は、ユーザの生活リズムに関するスケジュール情報を生成し、レコメンド部は、ユーザの生活リズムに関するスケジュール情報をレコメンドする、(付記1)から(付記13)のいずれかに記載の情報処理装置。
【0187】
(付記15)情報生成部は、スケジュール情報に基づきユーザの生活リズムを推測し、ユーザの生活リズムに関するスケジュール情報を生成する、(付記14)に記載の情報処理装置。
【0188】
(付記16)食事情報取得部は、ユーザの食事を撮影した画像データに基づき、ユーザの過去に摂取した食事に関する情報を取得する、(付記1)から(付記15)のいずれかに記載の情報処理装置。
【0189】
(付記17)スケジュール情報取得部は、ユーザの食事を撮影した画像データに基づき、ユーザの食事に関するスケジュール情報を推測して取得する、(付記1)から(付記16)のいずれかに記載の情報処理装置。
【0190】
(付記18)情報生成部は、ユーザにレコメンドしたユーザの食事に関する情報と、ユーザに当該情報をレコメンドした後に取得されたユーザの食事に関する情報と、に基づき、ユーザの食事に関する情報を生成する、(付記1)から(付記17)のいずれかに記載の情報処理装置。
【0191】
(付記19)情報生成部は、ユーザにレコメンドしたユーザの食事に関する情報を、ユーザの属性情報、スケジュール情報、またはユーザの過去に摂取した食事に関する情報が類似する他のユーザの食事に関する情報を生成する、(付記1)から(付記18)のいずれかに記載の情報処理装置。
【0192】
(付記20)プロセッサを備えるコンピュータにより実行され、食事に関する情報をレコメンドするサービスを提供するための方法であって、方法は、プロセッサが、サービスの提供を受けるユーザのスケジュール情報を取得するステップと、ユーザの過去に摂取した食事に関する情報を取得するステップと、ユーザの属性情報、スケジュール情報、及びユーザの過去に摂取した食事に関する情報に基づき、ユーザの食事に関する情報を生成するステップと、ユーザの食事に関する情報をレコメンドするステップと、を実行する、方法。
【0193】
(付記21)プロセッサを備えるコンピュータに実行させ、食事に関する情報をレコメンドするサービスを提供するためのプログラムであって、プログラムは、プロセッサに、サービスの提供を受けるユーザのスケジュール情報を取得するステップと、ユーザの過去に摂取した食事に関する情報を取得するステップと、ユーザの属性情報、スケジュール情報、及びユーザの過去に摂取した食事に関する情報に基づき、ユーザの食事に関する情報を生成するステップと、ユーザの食事に関する情報をレコメンドするステップと、を実行させる、プログラム。
【解決手段】レコメンドシステム1のサーバ20は、その機能として、ユーザの行動予定に関する、スケジュール情報を取得するスケジュール情報取得モジュール2034と、ユーザの過去の食事に関する情報を取得する食事情報取得モジュール2035と、ユーザの属性情報、ユーザのスケジュール情報、及びユーザの過去の食事に関する情報に基づき、ユーザが摂取する食事の献立を生成し、献立を決定する献立情報決定モジュール2036と、ユーザの食事に関するスケジュール情報を生成するスケジュール情報生成モジュール2037と、食事の献立情報、及び食事に関するスケジュール情報をレコメンドするレコメンドモジュール2038と、を備える。