(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179727
(43)【公開日】2024-12-26
(54)【発明の名称】プログラム、および情報処理システム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20241219BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023098785
(22)【出願日】2023-06-15
(71)【出願人】
【識別番号】000001421
【氏名又は名称】キユーピー株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】池田 信章
(72)【発明者】
【氏名】内田 海登
(72)【発明者】
【氏名】高野 森乃介
(72)【発明者】
【氏名】船橋 佑子
(72)【発明者】
【氏名】竹田 優美
(72)【発明者】
【氏名】河野 純範
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049AA24
5L049CC11
5L050CC11
(57)【要約】
【課題】献立を作成するユーザとは異なる属性を有するユーザの評価を考慮した献立作成を支援する。
【解決手段】第1属性情報が関連付けられているユーザ、および、第2属性情報が関連付けられているユーザのうち少なくとも一方に関連する情報に基づいて、複数の料理情報の中から少なくとも一部の複数の候補料理情報を選択する第1処理(S204)と、選択された複数の候補料理情報を、第2属性情報が関連付けられているユーザに閲覧可能とする第2処理(S205)と、候補料理情報に対する、第2属性情報が関連付けられているユーザによる第1評価情報を取得する第3処理(S208)と、複数の候補料理情報のうち少なくとも一部の候補料理情報と、当該候補料理情報に対応する第1評価情報に基づく補足情報とを、第1属性情報が関連付けられているユーザに閲覧可能とする第4処理(S209)と、を、コンピュータに実行させる。
【選択図】
図11
【特許請求の範囲】
【請求項1】
第1属性情報が関連付けられているユーザ、および、前記第1属性情報と異なる第2属性情報が関連付けられているユーザのうち少なくとも一方に関連する情報に基づいて、複数の料理情報の中から少なくとも一部の複数の料理情報のそれぞれを候補料理情報として選択する第1処理と、
前記第1処理において選択された複数の前記候補料理情報を、前記第2属性情報が関連付けられているユーザに閲覧可能とする第2処理と、
前記候補料理情報に対する、前記第2属性情報が関連付けられているユーザによる評価を示す第1評価情報を取得する第3処理と、
複数の前記候補料理情報のうち少なくとも一部の候補料理情報と、当該候補料理情報に対応する前記第1評価情報に基づいて生成された当該候補料理情報に関する補足情報とを、前記第1属性情報が関連付けられているユーザに閲覧可能とする第4処理と、
を、コンピュータに実行させる、プログラム。
【請求項2】
前記第1処理では、前記関連する情報に基づいて前記候補料理情報を選択するための選択用モデルを用いる、
請求項1に記載のプログラム。
【請求項3】
前記第1属性情報が関連付けられているユーザについての前記関連する情報は、
前記第1属性情報が関連付けられているユーザの状態を示す情報、および、前記第1属性情報が関連付けられているユーザによって入力された食品の種類を示す食品情報からなる群から選択される1つ以上の情報を含み、
前記第2属性情報が関連付けられているユーザについての前記関連する情報は、
前記第2属性情報が関連付けられているユーザの状態を示す情報、および、前記第2属性情報が関連付けられているユーザによって入力された食品の種類を示す食品情報からなる群から選択される1つ以上の情報を含む、
請求項1に記載のプログラム。
【請求項4】
前記第2処理では、複数の前記候補料理情報の順位を示す順位情報を、前記第2属性情報が関連付けられているユーザに閲覧可能とする、
請求項1に記載のプログラム。
【請求項5】
前記第1属性情報が関連付けられているユーザと、前記第2属性情報が関連付けられているユーザとは、互いに関連付けられている、
請求項1に記載のプログラム。
【請求項6】
前記第4処理は、前記第1属性情報が関連付けられているユーザに閲覧可能とする前記候補料理情報と共に、当該候補料理情報が示す料理の調理に使用する商品を示す情報を閲覧可能とする処理を含む、
請求項1に記載のプログラム。
【請求項7】
前記補足情報は、複数の前記候補料理情報の示す候補料理のそれぞれに対する評価を示す情報、および、複数の前記候補料理情報のうち少なくとも一部の複数の候補料理情報の順位を示す情報のうち、少なくとも一方を含む、
請求項1に記載のプログラム。
【請求項8】
前記第1属性情報が関連付けられているユーザによって、前記第4処理で閲覧可能とされた複数の前記候補料理情報の中から選択された少なくとも一部の候補料理情報を取得する第5処理を、
前記コンピュータにさらに実行させる、請求項1に記載のプログラム。
【請求項9】
前記第1評価情報が含まれるように前記関連する情報を更新する第6処理、または、
前記関連する情報に基づいて前記候補料理情報を選択するための選択用モデルを前記第1処理で用いる場合に、前記第1評価情報を用いて前記選択用モデルを更新する第7処理を、
前記コンピュータにさらに実行させる、請求項1に記載のプログラム。
【請求項10】
前記第5処理で取得した前記少なくとも一部の候補料理情報が含まれるように前記関連する情報を更新する第8処理、または、
前記関連する情報に基づいて前記候補料理情報を選択するための選択用モデルを前記第1処理で用いる場合に、前記第5処理で取得した前記少なくとも一部の候補料理情報を用いて前記選択用モデルを更新する第9処理を、
前記コンピュータにさらに実行させる、請求項8に記載のプログラム。
【請求項11】
前記第4処理の後に、前記第2処理で閲覧可能とされた前記候補料理情報のうちの少なくとも一部に対する、
または、
前記第4処理で閲覧可能とされた前記候補料理情報のうちの少なくとも一部を、前記第2属性情報が関連付けられているユーザに閲覧可能とする第10処理を前記コンピュータにさらに実行させる場合において、当該第10処理で閲覧可能とされた前記候補料理情報のうちの少なくとも一部に対する、
前記第2属性情報が関連付けられているユーザによる評価を示す第2評価情報を取得する第11処理を、
前記コンピュータにさらに実行させる、請求項1に記載のプログラム。
【請求項12】
前記第2評価情報を、前記第1属性情報が関連付けられているユーザに閲覧可能とする第12処理を、
前記コンピュータにさらに実行させる、請求項11に記載のプログラム。
【請求項13】
請求項1に記載のプログラムを実行する少なくとも1つの情報処理装置を備えた、情報処理システム。
【請求項14】
第1属性情報が関連付けられているユーザに情報を閲覧可能とする処理を、コンピュータに実行させるプログラムであって、
前記処理は、
複数の料理情報の中から選択された一部の複数の候補料理情報のうち少なくとも一部の候補料理情報と、
前記第1属性情報と異なる第2属性情報が関連付けられているユーザによる、前記候補料理情報に対する評価を示す、第1評価情報に基づいて生成された、当該候補料理情報に関する補足情報とを、
前記第1属性情報が関連付けられているユーザに閲覧可能とする第13処理を含み、
前記第1属性情報が関連付けられているユーザと、前記第2属性情報が関連付けられているユーザとは、互いに関連付けられている、
プログラム。
【請求項15】
前記第13処理は、当該第1属性情報が関連付けられているユーザの操作に応じて実行される、
請求項14に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、料理情報をユーザに提示する技術に関する。
【背景技術】
【0002】
非特許文献1には、料理情報をユーザに提示するウェブサイトが開示されている。当該ウェブサイトでは、料理名、食材名等からレシピを検索する機能、検索したレシピを閲覧する機能が提供される。また、当該ウェブサイトでは、デイリーアクセス数ランキング、殿堂入りレシピ、等のように、当該ウェブサイトを利用するユーザからの評価が高いレシピを閲覧する機能が提供される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】“レシピ検索No.1/料理レシピ載せるなら クックパッド”、[online]、[2022年12月22日検索]、インターネット<URL:https://cookpad.com>
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、調理者は献立を作成する際に、喫食者(例えば家族等)が今日何を食べたいか、以前に提供した料理に対する喫食者の反応はどうだったか、等といった喫食者からの評価を考慮する。しかしながら、そのように、喫食者の評価を考慮しながら献立を作成することは、調理者にとって簡単な作業ではなく負担である。上述のような従来技術においては、喫食者以外の他のユーザの評価を把握することはできるが、喫食者の評価を把握することはできない。このように、非特許文献1に開示された技術においては、献立を作成するユーザ(調理者等)とは異なる属性(喫食者等)を有するユーザの評価を考慮して献立を作成することが難しい、という問題がある。
【0005】
本発明の一態様は、献立を作成するユーザとは異なる属性を有するユーザの評価を考慮した献立作成を支援する技術を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、本発明の一態様に係るプログラムは、第1属性情報が関連付けられているユーザ、および、前記第1属性情報と異なる第2属性情報が関連付けられているユーザのうち少なくとも一方に関連する情報に基づいて、複数の料理情報の中から少なくとも一部の複数の料理情報のそれぞれを候補料理情報として選択する第1処理と、前記第1処理において選択された複数の前記候補料理情報を、前記第2属性情報が関連付けられているユーザに閲覧可能とする第2処理と、前記候補料理情報に対する、前記第2属性情報が関連付けられているユーザによる評価を示す第1評価情報を取得する第3処理と、複数の前記候補料理情報のうち少なくとも一部の候補料理情報と、当該候補料理情報に対応する前記第1評価情報に基づいて生成された当該候補料理情報に関する補足情報とを、前記第1属性情報が関連付けられているユーザに閲覧可能とする第4処理と、を、コンピュータに実行させる。
【0007】
上記の課題を解決するために、本発明の一態様に係る情報処理システムは、上述のプログラムを実行する少なくとも1つの情報処理装置を備える。
【0008】
上記の課題を解決するために、本発明の一態様に係る他のプログラムは、第1属性情報が関連付けられているユーザに情報を閲覧可能とする処理を、コンピュータに実行させるプログラムであって、前記処理は、複数の料理情報の中から選択された一部の複数の候補料理情報のうち少なくとも一部の候補料理情報と、前記第1属性情報と異なる第2属性情報が関連付けられているユーザによる、前記候補料理情報に対する評価を示す、第1評価情報に基づいて生成された、当該候補料理情報に関する補足情報とを、前記第1属性情報が関連付けられているユーザに閲覧可能とする第13処理を含み、前記第1属性情報が関連付けられているユーザと、前記第2属性情報が関連付けられているユーザとは、互いに関連付けられている。
【発明の効果】
【0009】
本発明の一態様によれば、献立を作成するユーザとは異なる属性を有するユーザの評価を考慮した献立作成を支援する技術を実現することができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る情報処理システムの概要を、一例を用いて説明する模式図である。
【
図2】本実施形態に係る情報処理システムの構成を示すブロック図である。
【
図3】本実施形態に係るサーバおよび端末の構成を示すブロック図である。
【
図4】本実施形態において料理情報DBに記憶される料理情報の一例を説明する図である。
【
図5】本実施形態において商品情報DBに記憶される商品情報の一例を説明する図である。
【
図6】本実施形態においてユーザ情報DBに記憶される情報の一例を説明する図である。
【
図7】本実施形態において評価情報DBに記憶される評価情報の一例を説明する図である。
【
図8】本実施形態における選択用モデルの入出力の一例を説明する模式図である。
【
図9】本実施形態に係る情報処理方法の流れを説明するフロー図である。
【
図10】本実施形態のユーザ登録機能における画面の一例を示す図である。
【
図11】本実施形態に係る他の情報処理方法の流れを説明するフロー図である。
【
図13】本実施形態の献立作成支援機能において調理者に提示される画面の一例を示す図である。
【
図14】本実施形態の献立作成支援機能において喫食者に提示される画面の一例を示す図である。
【
図15】本実施形態の献立作成支援機能において調理者に提示される他の画面の一例を示す図である。
【
図16】本実施形態の献立作成支援機能において喫食者に提示される他の画面の一例を示す図である。
【
図17】本実施形態の献立作成支援機能において調理者に提示されるさらに他の画面の一例を示す図である。
【発明を実施するための形態】
【0011】
〔実施形態〕
以下、本発明の一実施形態について、詳細に説明する。本実施形態に係る情報処理システム1の概要について、
図1を参照して説明する。
図1は、情報処理システム1の概要を、具体例を用いて説明する模式図である。
図1に示すように、例えば、情報処理システム1は、(1)ユーザ登録機能(ステップM1)、(2)献立作成支援機能(ステップM2~M7)を有する。また、ユーザU1~U3は、これらの機能を利用するユーザであり、互いに関係性を有するユーザである。互いに関係性を有するユーザとしては、例えば、家族、または、学校、寮、介護施設、社員食堂等の施設において給食等の食事を調理する者と喫食する者等が挙げられる。ユーザU1~U3を特に区別して説明する必要がない場合には、それぞれを単にユーザとも記載する。また、本実施形態では、互いに関連するユーザの数が3であるものとして説明するが、互いに関連するユーザの数は2であってもよいし、4以上であってもよい。
【0012】
図1において、端末20-1~20-3は、ユーザU1~U3がそれぞれ利用する端末である。なお、端末20-1~20-3は、別体のコンピュータによって構成されることに限られない。例えば、端末20-1~20-3の一部または全部は、物理的に同一のコンピュータ上に実現されていてもよい。例えば、物理的に同一のコンピュータを端末20-1~20-2として、ユーザU1~U2が共有する例について説明する。この場合、例えば、当該コンピュータに対するユーザU2(またはU1)の操作を、ユーザU1(またはU2)が代理で行ってもよい。物理的に同一のコンピュータをユーザU1~U3のうち他の組み合わせまたは全員で共有する場合についても同様である。
【0013】
(1)ユーザ登録機能(ステップM1)
ステップM1において、ユーザU1~U3は、それぞれ、自身に関するユーザ情報を端末20-1~20-3に入力する。ユーザ情報には、ユーザU1~U3が互いに関係性を有する(例えば、家族である等)ことを示す情報が含まれる。端末20-1~20-3は、入力されたユーザ情報をサーバ10に送信することにより登録する。ステップM1は、過去に実行されていれば省略可能である。
【0014】
(2)献立作成支援機能(ステップM2~M7)
ステップM2において、ユーザU1は、例えば当日調理する料理を選択するために、自身が当日の調理者であること、および自身の状態に関するアンケート情報を、端末20-1に入力する。なお、自身が当日の調理者であることは、当日に入力されず、予め登録されていてもよい。端末20-1は、アンケート情報をサーバ10に送信する。サーバ10は、ユーザU1に、調理者等を示す第1属性情報を関連付ける。また、サーバ10は、ユーザU1に対して関係性を有するユーザU2、U3を特定し、特定したユーザU2、U3に、喫食者等を示す第2属性情報を関連付ける。つまり、この例では、ユーザU1が調理者である場合、当該ユーザU1に対して関係性を有するユーザU2、U3を喫食者とみなす。また、サーバ10は、ユーザU1~U3のユーザ情報およびユーザU1のアンケート情報を参照して、複数の料理情報の中から少なくとも一部の複数の料理情報のそれぞれを候補料理情報として選択する。選択する処理には、選択用モデルMLが用いられる。
【0015】
なお、ステップM2において、ユーザU1だけでなく、ユーザU2~U3が、自身が当日の喫食者であること、および自身の状態に関するアンケート情報(例えば、好み、気になる健康課題等)を、端末20-2、20-3に入力してもよい。この場合、端末20-2、20-3は、アンケート情報をサーバ10に送信する。サーバ10は、ユーザU2、U3に、喫食者等を示す第2属性情報を関連付ける。また、サーバ10は、ユーザU1~U3のユーザ情報およびユーザU1~U3のアンケート情報を参照して、複数の料理情報の中から少なくとも一部の複数の料理情報のそれぞれを候補料理情報として選択する。選択する処理には、選択用モデルMLが用いられる。なお、当該ユーザU2~U3による入力は、端末20-1からのアンケート情報の受信に応じてサーバ10から端末20-2、20-3に問い合わせを送信することにより行われてもよい。ただし、この場合、問い合わせに対するユーザU2、U3による入力は省略されてもよい。
【0016】
ステップM3において、サーバ10は、選択した候補料理情報を含むお勧めリストを生成し、端末20-2、20-3に送信する。端末20-2、20-3の表示画面には、お勧めリストが表示される。なお、ステップM3において、ユーザM2、M3は、お勧めリストに含まれる候補料理情報が当日の気分ではない、といった情報を端末20-2、20-3に入力可能であってもよい。
【0017】
ステップM4において、ユーザU2、U3は、お勧めリストに含まれる候補料理情報それぞれに対する喫食前の評価を、端末20-2、20-3に入力する。端末20-2、20-3は、ユーザU2、U3による喫食前の評価をサーバ10に送信する。なお、当該ステップにおいて、ユーザU2、U3だけでなく、ユーザU1が喫食者として喫食前の評価を端末20-1に入力してもよい。また、ユーザU1が、ユーザU2~U3それぞれの評価を代理で入力してもよい。
【0018】
ステップM5において、サーバ10は、ユーザU2、U3による喫食前の評価を参照して、お勧めリストに含まれる複数の候補料理情報のうち、例えば喫食前の評価が高評価条件を満たす少なくとも一部の候補料理情報を特定する。サーバ10は、特定した候補料理情報を含む高評価リストを生成し、端末20-1に送信する。高評価リストには、候補料理情報と、当該候補料理情報に対する喫食前の評価に基づく補足情報と、が含まれる。端末20-1の表示画面には、高評価リストが表示される。これにより、ユーザU1は調理者として、喫食者から高評価の料理情報を把握することができ、その中から献立として採用する料理を示す料理情報を選択することができる。ユーザU1は、当該選択した料理情報を参照して料理を作成し、喫食者に提供する。
【0019】
ステップM6において、ユーザU2、U3は、喫食した料理に対する喫食後の評価を端末20-2、20-3に入力する。端末20-2、20-3は、ユーザU2、U3による喫食後の評価をサーバ10に送信する。なお、当該ステップにおいて、ユーザU2、U3だけでなく、ユーザU1が喫食者として喫食後の評価を端末20-1に入力してもよい。また、ユーザU1が、ユーザU2~U3それぞれの評価を代理で入力してもよい。
【0020】
ステップM7において、サーバ10は、ユーザU2、U3による喫食前の評価、喫食後の評価、ユーザU1により選択された料理情報、等を参照して、選択用モデルMLを更新する。これにより、選択用モデルMLは、次回以降、より精度よく候補料理情報を選択可能となる。また、サーバ10は、当該ステップM7において、ユーザU2、U3による喫食後の評価を、端末20-1に送信する。端末20-1の表示画面には、ユーザU2、U3による喫食後の評価が表示される。これにより、ユーザU1は、調理者として提供した料理に対する喫食者の反応を知ることができ、次回以降の料理情報の選択、または、以降の調理の際に当該反応を参考にすることができるとともに、調理の動機付けが向上する。
【0021】
なお、ステップM2~M7の献立作成支援機能において、端末20-1~20-3における情報の入出力の一部または全部は、例えば、SNS(Social Networking Service)上で行われてもよい。また、この場合、ユーザU1~U3は、当該SNS上で管理されているグループのメンバーであってもよい。また、一例として、当該SNS上のグループには、ユーザU1~U3に加えて、当該献立作成支援機能に対応するボット(献立作成ボット)が含まれていてもよい。この場合、献立作成支援機能を呼び出すための特定のキーワードが予め設定され、ユーザU1~U3により当該キーワードを含む情報が入力された場合に、献立作成ボットが応答してもよい。なお、端末20-1~20-3における情報の入出力の全部ではなく一部がSNS上で行われる場合、他の一部の情報の入出力は、例えばウェブページ上で行われるようにしてもよい。
【0022】
(第1属性情報、第2属性情報)
図1を用いて説明したように、献立作成支援機能において、ユーザU1~U3のそれぞれには、第1属性情報および第2属性情報の何れかが関連付けられる。第1属性情報は、献立を作成する者を示す属性である。上述の例では、第1属性情報は調理者を示している。ただし、第1属性情報は、調理者に限らず、例えば、学校給食の献立を作成する管理栄養士等を示す属性であってもよい。
【0023】
第2属性情報は、提供された料理を評価する者を示す属性である。
図1の例では、第2属性情報は喫食者を示している。ただし、第2属性情報は、喫食者に限らず、例えば、学校給食を喫食した児童/生徒の保護者を示す属性であってもよい。
【0024】
なお、第1属性情報、第2属性情報は、前述したような具体的な内容(調理者、喫食者等)を示す情報自体を含んでいる必要はなく、単に、サーバ10によって、情報を送受信すべき端末20を特定するために用いられる情報であってもよい。
【0025】
なお、
図1に示したユーザU1は、情報処理システム1の各機能を喫食者としても利用可能である。また、ユーザU2、U3は、情報処理システム1の各機能を調理者としても利用可能である。また、ユーザU1~U3のうち調理者として献立作成支援機能を利用するユーザは、同時に喫食者として喫食前および喫食後の評価を入力可能である。換言すると、特定のユーザに対して、静的に第1属性情報または第2属性情報が関連付けられるのではなく、献立作成支援機能の利用時に動的に第1属性情報および第2属性情報の一方または両方が関連付けられる。なお、以降では、説明を簡単にするため、各ユーザに対して第1属性情報および第2属性情報の何れか一方が関連付けられる例を中心に説明する。
【0026】
<情報処理システム1の構成>
情報処理システム1の構成について、
図2を参照して説明する。
図2は、情報処理システム1の構成を示すブロック図である。
図2に示すように、情報処理システム1は、サーバ10、端末20-1、20-2、20-3、…、料理情報DB30、商品情報DB40、ユーザ情報DB50、および、評価情報DB60を含む。サーバ10は、選択用モデルMLを記憶する。また、サーバ10は、料理情報DB30、商品情報DB40、ユーザ情報DB50、および、評価情報DB60のそれぞれと、通信可能に接続される。サーバ10、および端末20-1、20-2、20-3、…は、ネットワークNWを介して通信可能に接続される。ネットワークNWは、無線LAN(Local Area Network)、有線LAN、モバイルデータ通信網、その他のWAN(Wide Area Network)、または、これらの一部または全部の組み合わせによって構成される。端末20-1、20-2、20-3を特に区別して説明する必要がない場合には、それぞれを端末20とも記載する。
図2には、3つの端末20を示しているが、情報処理システム1に含まれる端末20の数は2つであってもよく、4以上であってもよい。また、料理情報DB30、商品情報DB40、ユーザ情報DB50、および、評価情報DB60の一部または全部は、サーバ10の外部に接続されることに限らず、サーバ10のメモリ12に記憶されていてもよい。
【0027】
(サーバ10)
サーバ10の構成について、
図3を参照して説明する。
図3は、サーバ10および端末
20の構成を示すブロック図である。
図3に示すように、サーバ10は、プロセッサ11と、メモリ12と、ネットワークインタフェース13と、を含むコンピュータによって構成される。プロセッサ11は、サーバ10の各部を統括して制御する。メモリ12には、プログラムP1および選択用モデルMLが記憶される。
【0028】
ネットワークインタフェース13は、ネットワークに接続して外部の装置と通信を行う。より詳細には、ネットワークインタフェース13は、端末20と通信するためのネットワークNWに接続するインタフェース(例えば、LANインタフェース等)を含む。また、ネットワークインタフェース13は、料理情報DB30、商品情報DB40、ユーザ情報DB50、および、評価情報DB60と通信するためのインタフェース(例えば、LANインタフェース、または入出力インタフェース等)を含む。
【0029】
(プログラムP1)
プログラムP1は、プロセッサ11に後述する第1処理~第12処理を実行させる。換言すると、プロセッサ11は、プログラムP1を読み込んで実行することにより、第1処理~第12処理を含む各種処理を実行する。以降では、プロセッサ11がプログラムP1を読み込んで処理を実行することを、単に、「サーバ10が処理を実行する」等とも記載する。サーバ10は、プログラムP1を実行する情報処理装置の一例である。
【0030】
(第1処理)
第1処理は、第1属性情報が関連付けられているユーザ、および、第1属性情報と異なる第2属性情報が関連付けられているユーザのうち少なくとも一方に関連する情報に基づいて、複数の料理情報の中から少なくとも一部の複数の料理情報のそれぞれを候補料理情報として選択する処理である。また、第1処理では、関連する情報に基づいて候補料理情報を選択するために選択用モデルが用いられる。選択用モデルの詳細については後述する。
【0031】
ここで、「料理情報」は料理に関する情報であり、例えば、当該料理を調理するために参考となる情報を含む。本実施形態では、複数の料理情報が、料理情報DB30に記憶されている。料理情報DB30に記憶される料理情報の具体例については後述する。
【0032】
また、「第1属性情報が関連付けられているユーザについての関連する情報」は、第1属性情報が関連付けられているユーザの状態を示す情報、および、第1属性情報が関連付けられているユーザによって入力された食品の種類を示す食品情報からなる群から選択される1つ以上の情報を含む。また、「第2属性情報が関連付けられているユーザについての関連する情報」は、第2属性情報が関連付けられているユーザの状態を示す情報、および、第2属性情報が関連付けられているユーザによって入力された食品の種類を示す食品情報からなる群から選択される1つ以上の情報を含む。これらの情報の具体例も後述する。
【0033】
以降では、「第1属性情報が関連付けられているユーザについての関連する情報」および「第2属性情報が関連付けられているユーザについての関連する情報」を特に区別して説明する必要がない場合には、単に「ユーザに関連する情報」と記載する場合もある。「ユーザに関連する情報」は、(1)献立作成支援機能の利用時に当該ユーザに関して取得される情報と、(2)事前に取得可能であり献立作成支援機能の利用時には取得を省略可能な情報と、(3)料理情報に対する当該ユーザによる評価を示す情報と、を含む。上述した「ユーザの状態を示す情報」、「食品情報」等は、献立作成支援機能の利用時に取得される情報の一例である。また、本実施形態では、事前に取得可能な情報の一例として、ユーザ情報DB50が参照される。ユーザ情報DB50に記憶される情報の具体例については後述する。また、本実施形態では、ユーザによる評価を示す情報の一例として、評価情報DB60が参照される。評価情報DB60に記憶される評価情報の具体例については後述する。
【0034】
(第2処理)
第2処理は、第1処理において選択された複数の候補料理情報を、第2属性情報が関連付けられているユーザに閲覧可能とする処理である。また、第2処理では、複数の候補料理情報の順位を示す順位情報を、第2属性情報が関連付けられているユーザに閲覧可能とする。また、第2処理では、順位情報に替えて、または加えて、複数の候補料理情報の各々に関する推薦の程度を示す情報(例えば、スコア、〇×等)を、第2属性情報が関連付けられているユーザに閲覧可能としてもよい。なお、順位情報(または推薦の程度を示す情報)は、複数の候補料理情報の全てについてそれぞれ閲覧可能とされることに限らず、一部の候補料理情報(例えば、最も順位が高い候補料理情報)についてのみ閲覧可能とされてもよい。
【0035】
ここで、「情報をユーザに閲覧可能とする処理」は、当該情報を含む表示用の画像を生成する処理、ユーザが利用する端末20に当該表示用の画像を送信する処理、等を含む。端末20は、「情報をユーザに閲覧可能とする処理」によって受信した表示用の画像を、受信時に表示してもよく、受信時より後にユーザの操作に応じて表示してもよい。これにより、ユーザは、当該情報を閲覧する。
【0036】
(第3処理)
第3処理は、候補料理情報に対する、第2属性情報が関連付けられているユーザによる評価を示す第1評価情報を取得する処理である。第1評価情報が示す評価の対象となる候補料理情報は、第2処理で閲覧可能とされた候補料理情報である。なお、第3処理は、次に説明する第4処理の前に実行されることが望ましい。詳細は後述するが、第4処理が実行されることにより、第1属性情報が関連付けられているユーザにより料理が選択され調理されて、第2属性情報が関連付けられているユーザに提供される可能性が高い。したがって、第4処理の前に実行される第3処理において取得される第1評価情報は、候補料理情報が示す料理が実際に提供される前になされる評価を示す可能性が高い。
【0037】
(第4処理)
第4処理は、複数の候補料理情報のうち少なくとも一部の候補料理情報と、当該候補料理情報に対応する第1評価情報に基づいて生成された当該候補料理情報に関する補足情報とを、第1属性情報が関連付けられているユーザに閲覧可能とする処理である。例えば、「少なくとも一部の候補料理情報」は、複数の候補料理情報のうち第1評価情報が所定の条件を満たす候補料理情報であってもよい。所定の条件とは、例えば、評価が高いことを判定するための高評価条件であってもよい。高評価条件としては、例えば、評価が高いほど大きい数値で第1評価情報が表されている場合に、当該第1評価情報が閾値以上であるとの条件であってもよい。また、例えば、複数の「第2属性情報が関連付けられているユーザ」からそれぞれ第1評価情報が得られている場合に、所定の条件としては、複数の第1評価情報の合計が閾値以上であるとの条件であってもよい。
【0038】
また、補足情報は、複数の候補料理情報の示す候補料理のそれぞれに対する評価を示す情報、および、複数の候補料理情報のうち少なくとも一部の複数の候補料理情報の順位を示す情報のうち、少なくとも一方を含む。例えば、「候補料理のそれぞれに対する評価を示す情報」は、「第2属性情報が関連付けられているユーザ」が候補料理情報のそれぞれに対して入力した第1評価情報(食べたい、普通、あまり食べたくない、等)であってもよい。例えば、複数の「第2属性情報が関連付けられているユーザ」がいる場合、或る1つの候補料理情報についての補足情報は、複数のユーザによる第1評価情報が示す評価のうち最も多い評価(例えば、3人中2人が「食べたい」場合は「食べたい」)を示す情報であってもよい。
【0039】
また、例えば「順位を示す情報」は、或る1人の「第2属性情報が関連付けられているユーザ」が、複数の候補料理情報を自身の評価が高い順に並べた情報(例えば、食べたい順に候補料理情報R1、R2、R3等)であってもよい。また、例えば、複数の「第2属性情報が関連付けられているユーザ」がいる場合、補足情報は、複数のユーザによる順位を示す情報を集計した結果であってもよい。
【0040】
また、第4処理は、第1属性情報が関連付けられているユーザに閲覧可能とする候補料理情報と共に、当該候補料理情報が示す料理の調理に使用する商品を示す情報を閲覧可能とする処理を含んでいてもよい。調理に使用する商品を示す情報(商品情報)は、商品情報DB40に記憶されている。商品情報DB40に記憶される商品情報の具体例については後述する。
【0041】
(第5処理)
第5処理は、第1属性情報が関連付けられているユーザによって、第4処理で閲覧可能とされた複数の候補料理情報の中から選択された少なくとも一部の候補料理情報を取得する処理である。当該ユーザによって選択された「少なくとも一部の候補料理情報」が示す料理は、当該ユーザによって献立として採用された料理を示している。
【0042】
(第6処理)
第6処理は、第1評価情報が含まれるように「ユーザに関連する情報」を更新する処理である。第1評価情報を含めるよう更新する「ユーザに関連する情報」は、「第1属性情報が関連付けられているユーザについての関連する情報」および「第2属性情報が関連付けられているユーザについての関連する情報」の一方または両方であってもよい。本実施形態では、上述したように、「ユーザに関連する情報」として評価情報DB60が参照される。そこで、第6処理では、第1評価情報を追加して記憶するよう評価情報DB60が更新される。更新された評価情報DB60が「ユーザに関連する情報」として参照されることにより、次回の第1処理においてより精度よく複数の候補料理情報が選択され得る。
【0043】
(第7処理)
第7処理は、ユーザに関連する情報に基づいて候補料理情報を選択するための選択用モデルを第1処理で用いる場合に、第1評価情報を用いて選択用モデルを更新する処理である。第1評価情報を用いた選択用モデルの更新については詳細を後述する。更新された選択用モデルが用いられることにより、次回の第1処理においてより精度よく複数の候補料理情報が選択され得る。なお、第6処理および第7処理は、何れか一方が実行されてもよく、両方が実行されてもよい。
【0044】
(第8処理)
第8処理は、第5処理で取得した少なくとも一部の候補料理情報が含まれるように「ユーザに関連する情報」を更新する処理である。当該第5処理で取得した少なくとも一部の候補料理情報を含めるよう更新する「ユーザに関連する情報」は、「第1属性情報が関連付けられているユーザについての関連する情報」および「第2属性情報が関連付けられているユーザについての関連する情報」の一方または両方であってもよい。本実施形態では、上述したように、「ユーザに関連する情報」として評価情報DB60が参照される。そこで、第8処理では、「第5処理で取得した少なくとも一部の候補料理情報」に関する情報を追加して記憶するよう評価情報DB60が更新される。更新された評価情報DB60が「ユーザに関連する情報」として参照されることにより、次回の第1処理においてより精度よく複数の候補料理情報が選択され得る。
【0045】
なお、第8処理は、第5処理で取得した少なくとも一部の候補料理情報に対する、第1属性情報が関連付けられているユーザによる評価を示す第3評価情報を、第4処理の後に取得する処理をさらに含んでいてもよい。この場合、第8処理は、当該第3評価情報が含まれるように「ユーザに関連する情報」を更新する処理をさらに含んでいてもよい。第3評価情報を含めるよう更新する「ユーザに関連する情報」は、「第1属性情報が関連付けられているユーザについての関連する情報」および「第2属性情報が関連付けられているユーザについての関連する情報」の一方または両方であってもよい。ここで、第4処理では、第1属性情報が関連付けられているユーザに対して複数の候補料理情報が閲覧可能とされている。そのため、第4処理の後、第1属性情報が関連付けられているユーザは、第4処理で閲覧可能とされた複数の候補料理情報の中から献立として採用する料理を決定し調理を行うことが可能である。したがって第4処理の後に実行される第8処理において取得される第3評価情報は、候補料理情報が示す料理を実際に提供した後になされる評価である可能性が高い。
【0046】
(第9処理)
第9処理は、ユーザに関連する情報に基づいて候補料理情報を選択するための選択用モデルを第1処理で用いる場合に、第5処理で取得した少なくとも一部の候補料理情報を用いて選択用モデルを更新する処理である。「第5処理で取得した少なくとも一部の候補料理情報」を用いた選択用モデルの更新については詳細を後述する。更新された選択用モデルが用いられることにより、次回の第1処理においてより精度よく複数の候補料理情報が選択され得る。なお、第8処理および第9処理は、何れか一方が実行されてもよく、両方が実行されてもよい。
【0047】
(第10処理)
第10処理は、第4処理で閲覧可能とされた候補料理情報のうちの少なくとも一部を、第2属性情報が関連付けられているユーザに閲覧可能とする処理である。例えば、上述したように、「第4処理によって閲覧可能とされた候補料理情報」が「複数の候補料理情報」の中から「複数の第1評価情報」に基づいて抽出されている場合について説明する。この場合、第2属性情報が関連付けられているユーザは、「第4処理によって閲覧可能とされた候補料理情報」を閲覧することにより、当該ユーザとは異なる他の「第2属性情報が関連付けられているユーザ」も含めた複数の第1評価情報の結果を知ることができる。
【0048】
(第11処理)
第11処理は、第4処理の後に、(1)第2処理で閲覧可能とされた候補料理情報のうちの少なくとも一部に対する、または、(2)第10処理で閲覧可能とされた候補料理情報のうちの少なくとも一部に対する、第2属性情報が関連付けられているユーザによる評価を示す第2評価情報を取得する処理である。ここで、第8処理の説明に記載したように、第4処理では、第1属性情報が関連付けられているユーザに対して複数の候補料理情報が閲覧可能とされている。そのため、第4処理の後、第1属性情報が関連付けられているユーザは、第4処理で閲覧可能とされた複数の候補料理情報の中から献立として採用する料理を決定し調理を行うことが可能である。したがって第4処理の後に実行される第11処理において取得される第2評価情報は、候補料理情報が示す料理が実際に提供された後になされる評価である可能性が高い。
【0049】
(第12処理)
第12処理は、第2評価情報を、第1属性情報が関連付けられているユーザに閲覧可能とする処理である。上述したように、第2評価情報は、候補料理情報が示す料理が実際に提供された後になされた可能性が高いため、第1属性情報が関連付けられているユーザは、提供した料理に対する評価を知ることができる。
【0050】
(端末20)
端末20の構成について、
図3を参照して説明する。
図3に示すように、端末20は、プロセッサ21と、メモリ22と、ネットワークインタフェース23と、入力装置24と、表示装置25と、撮像装置26と、近距離通信インタフェース27と、を含むコンピュータによって構成される。端末20は、例えば、スマートフォン、パーソナルコンピュータ、タブレット等によって構成されてもよい。また、端末20は、近距離通信インタフェース27を介して生体情報センサ28に接続する。ただし、端末20が生体情報センサ28に接続するためのインタフェースは、近距離通信インタフェース27に限らず、例えば、LANインタフェース、周辺機器接続インタフェース(何れも図示せず)等であってもよいが、これらに限られない。
【0051】
プロセッサ21は、端末20の各部を統括して制御する。メモリ22には、プログラムP2が記憶される。ネットワークインタフェース23は、ネットワークに接続して外部の装置と通信を行う。より詳細には、ネットワークインタフェース23は、サーバ10と通信するためのネットワークNWに接続するインタフェース(例えば、LANインタフェース、モバイルデータ通信インタフェース等)を含む。
【0052】
入力装置24は、ユーザによる操作を受け付ける装置である。入力装置24は、例えば、マウス、キーボード、タッチパッド、マイク、またはこれらの組み合わせであってもよいが、これらに限られない。端末20が入力装置24を介して操作を受け付けることを、端末20が操作を受け付ける、端末20に情報が入力される、等とも記載する。表示装置25は、プロセッサ21によって処理された情報を表示する装置である。表示装置25は、例えば、液晶ディスプレイ、有機EL(Electro luminescence)ディスプレイ、等であってもよいが、これらに限られない。端末20が表示装置25に情報を表示することを、端末20が情報を表示する等とも記載し、表示装置25の画面を端末20の画面等とも記載する。なお、入力装置24および表示装置25は、一体に形成されたタッチパネルであってもよい。また、撮像装置26は、端末20の周囲を撮像する装置である。例えば、撮像装置26は、RGBカメラであってもよいが、これに限られない。近距離通信インタフェース27は、周辺装置と近距離で通信を行うためのインタフェースである。近距離通信インタフェース27は、NFC(Near Field Communication)、Bluetooth(登録商標)等により通信を行うインタフェースであってもよいが、これらに限られない。生体情報センサ28は、生体情報を検出するセンサであり、例えば、脈拍センサ、血圧センサ、発汗センサ、体温センサ、等であってもよいが、これらに限られない。
【0053】
なお、入力装置24、表示装置25、および撮像装置26は、端末20に内蔵されることに限らず、外付けで接続されていてもよい。また、生体情報センサ28は、端末20とは別体の装置に限らず、内蔵されていてもよい。
【0054】
(プログラムP2)
プログラムP2は、プロセッサ21に第13処理を実行させる。換言すると、プロセッサ21は、プログラムP2を読み込んで実行することにより、第13処理を含む各種処理を実行する。以降では、プロセッサ21がプログラムP2を読み込んで処理を実行することを、単に、「端末20が処理を実行する」等とも記載する。
【0055】
(第13処理)
第13処理は、(1)「複数の料理情報」の中から選択された「一部の複数の候補料理情報」のうち「少なくとも一部の候補料理情報」と、(2)第2属性情報が関連付けられているユーザによる、候補料理情報に対する評価を示す、第1評価情報に基づいて生成された、当該候補料理情報に関する補足情報とを、第1属性情報が関連付けられているユーザに閲覧可能とする処理である。本実施形態では、前述したように、「複数の料理情報」は、料理情報DB30に記憶されている。また、「一部の複数の候補料理情報」は、上述した第1処理において選択され、第2処理によって第2属性情報が関連付けられているユーザに対して閲覧可能とされた情報である。また、第1評価情報は、上述した第3処理によって取得される情報である。また、「少なくとも一部の候補料理情報」および「補足情報」は、上述した第4処理によって第1属性情報が関連付けられているユーザに対して閲覧可能とされる情報である。換言すると、サーバ10によって実行される第4処理に応答して、端末20において第13処理が実行される。なお、第13処理は、第1属性情報が関連付けられているユーザの操作に応じて実行されてもよい。
【0056】
(料理情報DB30)
料理情報DB30は、料理情報を記憶する。料理情報DB30には、献立作成支援機能が実行される前に予め複数の料理情報が記憶されているものとする。ただし、料理情報DB30に記憶される料理情報は、献立作成支援機能の実行中または実行後に変更、追加、または削除されてもよい。料理情報DB30に記憶される料理情報の一例について、
図4を参照して説明する。
【0057】
図4は、料理情報DB30に記憶される料理情報の一例を説明する図である。
図4に示す各行は、料理情報を示す。各料理情報は、料理ID、カテゴリ、組み合わせ、調理手順、調理時間、カロリー、食材、使用商品、等の各項目を含む。
【0058】
料理IDは、料理情報を識別する情報である。例えば料理IDが「R1」を含む料理情報を、以降、料理情報R1等とも記載する。カテゴリは、例えば、「主食」、「主菜」、「副菜」、「献立」等といった当該料理情報の分類を示す。例えば、「主食」、「主菜」、「副菜」の料理情報は一品料理を示し、「献立」の料理情報は複数品の料理を示す。カテゴリが「献立」の料理情報は、他の料理情報の組み合わせで表されてもよい。例えば、料理情報R4は、カテゴリ「献立」と、組み合わせ「R1、R2、R3」との情報を含む。つまり、料理情報R4は、料理情報R1、R2、R3の組み合わせによって表される献立を示している。ただし、カテゴリ「献立」の料理情報は、必ずしも他の料理情報の組み合わせで表されていなくてもよく、複数品の料理を示す情報自体を含んでいてもよい。
【0059】
また、料理情報に含まれるカテゴリの項目は、1種類に限らず、複数種類であってもよい。複数種類のカテゴリは、階層構造を構成するカテゴリの各階層に対応していてもよく、異なる観点で分類した各カテゴリに対応していてもよい。
【0060】
調理手順の項目は、テキスト、静止画像、動画像、音声、またはこれらの一部または全部の組み合わせにより表される。調理時間の項目は、当該料理に要する時間を示す。カロリーの項目は、当該料理の熱量を示す。食材の項目は、当該料理に用いる食材の識別情報で表される。使用商品の項目は、当該料理の調理に使用する商品を示し、この例では、当該商品の識別情報によって表される。当該料理の調理に使用する商品とは、例えば、当該料理の食材または調理器具等として使用可能な商品であってもよいが、これらに限られない。
【0061】
なお、料理情報DB30に記憶される料理情報は、当該料理情報が示す料理を調理するために参考となる情報を含んでいればよく、
図4に示した情報に限定されない。例えば、各料理情報は、さらに、栄養情報を含んでいてもよい。栄養情報は、例えば、当該料理の栄養(例えば、たんぱく質、糖質、食物繊維、灰分等の含有量等)を示す。カテゴリが「献立」である料理情報R4の栄養情報は、料理情報R4に含まれる料理情報R1、R2、R3の栄養情報から生成された情報であってもよい。
【0062】
(商品情報DB40)
商品情報DB40は、商品情報を記憶する。商品情報は、商品を示す情報であり、当該商品を購入するための情報を含む。商品情報DB40には、少なくとも、料理情報DB30に記憶される料理情報において参照される使用商品についての商品情報が記憶されているものとする。なお、商品情報DB40に記憶される商品情報は、当該使用商品以外の商品情報が記憶されていてもよい。商品情報DB40に記憶される商品情報の一例について、
図5を参照して説明する。
図5は、商品情報DB40に記憶される商品情報の一例を説明する図である。
図5に示す各行は、商品情報を示す。各商品情報は、商品ID、価格、商品説明、等の各項目を含む。商品IDは、商品を識別する情報である。例えば商品IDが「I1」の商品を、以降、商品I1等とも記載する。価格は、当該商品の販売価格を示す。商品説明の項目は、テキスト、静止画像、動画像、音声、またはこれらの一部または全部の組み合わせにより表される。
【0063】
なお、商品情報DB40に記憶される商品情報は、当該商品情報が示す商品を購入するための情報を含んでいればよく、
図5に示した情報に限定されない。例えば、商品を購入するための情報は、当該商品のホームページのURL(Uniform Resource Locator)、当該商品を販売するEC(Electronic Commerce)サイトのURLを含んでいてもよい。
【0064】
(ユーザ情報DB50)
ユーザ情報DB50に記憶される情報は、上述した「ユーザに関連する情報」として主に第1処理において参照される。ユーザ情報DB50は、ユーザ情報およびグループ情報を記憶する。グループ情報は、複数のユーザの識別情報を互いに関連付けるための情報である。ユーザ情報およびグループ情報は、献立作成支援機能の利用時または利用前に、ユーザ登録機能により登録される。なお、ユーザ情報およびグループ情報は、登録後にも変更可能である。
【0065】
ユーザ情報およびグループ情報の一例について、
図6を参照して説明する。
図6は、ユーザ情報DB50に記憶される情報の一例を説明する図である。
図6に示すように、ユーザ情報DB50には、ユーザ情報テーブル51、および、グループ情報テーブル52が記憶される。
【0066】
ユーザ情報テーブル51の各行は、ユーザ情報を示す。各ユーザ情報は、ユーザID、グループID、ユーザ名、体重、食事量、調理スキル、好きな食材、嫌いな食材、等の各項目を含む。各ユーザ情報は、ユーザによってあらかじめ登録される情報を示す。ユーザIDは、ユーザを識別する情報である。ここでは、ユーザU1等の表記における参照符号「U1」等がユーザIDであるとして説明を続ける。グループIDは、ユーザIDが属するグループを識別する情報である。これにより、同一のグループIDを含む複数のユーザ情報がそれぞれ示すユーザは、互いに関連付けられる。ユーザ名の項目は、端末20に表示されるユーザの名前を示す。年齢、体重の各項目は、数値で表される。食事量の項目は、ふつう、少ない、多い、の3段階で表されるが、段階数はこれに限られない。また、食事量の項目は、所定範囲の数値によって表されてもよい。調理スキルの項目は、高い、ふつう、低い、の3段階で表されるが、段階数はこれに限られない。また、調理スキルの項目は、所定範囲の数値によって表されてもよい。好きな食材、嫌いな食材の各項目は、該当する食材の識別情報で表される。なお、ユーザ情報は、図示の情報に限らず、当該ユーザに関連するその他の情報を含んでいてもよい。その他の情報としては、例えば、気になる健康課題(ダイエットしたい、血圧を下げたい、血糖値を抑えたいなど)を示す情報、健康診断情報、薬剤処方履歴、レセプトデータ等が挙げられるが、これらに限られない。
【0067】
グループ情報テーブル52の各行は、グループ情報を示す。各グループ情報は、グループID、グループ名、構成人数、乳幼児有無、高齢者有無、等の各項目を含む。グループIDは、グループを識別する情報である。例えば、グループIDが「G1」のグループを、グループG1等とも記載する。グループ名の項目は、端末20に表示されるグループの名前を示す。構成人数の項目は、当該グループの構成人数を示し、ユーザ情報テーブルに登録されたユーザだけでなく、登録されていないメンバーの人数を含んでいてもよい。乳幼児有無、高齢者有無の各項目は、該当する対象者の有無を示す。
【0068】
この例では、ユーザU1~U3が同一のグループG1に属しており、互いに関連付けられている。また、グループG1は、ユーザU1~U3に加えて、ユーザ情報テーブル51に登録されていない乳幼児を含む4人によって構成される。このように、グループ情報が示すグループは、ユーザ情報テーブル51に登録されたユーザ情報が示すユーザ以外のユーザが含んでいてもよい。
【0069】
なお、ユーザ情報DB50に記憶される情報は、各ユーザについて事前に取得可能な情報、および、複数のユーザ間の関連付けを示す情報を含んでいればよく、
図6に示した情報に限定されない。例えば、ユーザ情報テーブル51に含まれる各ユーザ情報は、グループIDを含む代わりに、関連ユーザIDとの項目をさらに含んでいてもよい。当該項目は、当該ユーザ情報が示すユーザに対して関係性を有する1以上の他のユーザ各々の識別情報によって表される。この場合、ユーザ情報DB50は、グループ情報テーブル52を含んでいなくてもよい。
【0070】
(評価情報DB60)
評価情報DB60に記憶される情報は、上述した「ユーザに関連する情報」として主に第1処理において参照される。評価情報DB60は、評価情報を記憶する。評価情報は、料理情報が示す料理に対するユーザによる評価を示す情報であり、上述した第1評価情報、第2評価情報、および第3評価情報の少なくとも何れかを含んでいる。評価情報は、献立作成支援機能が実行されることにより生成され、評価情報DB60に登録される。評価情報DB60に記憶される評価情報の一例について、
図7を参照して説明する。
【0071】
図7は、評価情報DB60に記憶される評価情報の一例を説明する図である。
図7に示す各行は、評価情報を示す。各評価情報は、評価ID、セッションID、ユーザID、料理ID、第1評価情報、第2評価情報、および第3評価情報、等の各項目を含む。
【0072】
評価IDは、当該評価情報を識別する情報である。例えば、評価IDが「V1」の評価情報を、評価情報V1等とも記載する。セッションIDは、献立作成支援機能が開始されてから終了するまでの一連の処理に対して付与される識別情報であり、一連の処理の実行毎に異なるIDが付与される。換言すると、セッションIDが同一の複数の評価情報は、同じ一連の処理において生成された評価情報である。
【0073】
料理IDは、評価の対象となる料理を示す料理情報の識別情報である。ユーザIDは、当該評価を行ったユーザの識別情報である。前述したように、第1評価情報および第2評価情報は、第2属性情報が関連付けられているユーザによる評価を示す情報である。第3評価情報は、第1属性情報が関連付けられているユーザによる評価を示す情報である。
【0074】
この例では、第1評価情報は、候補料理情報が実際に提供される前における当該候補料理情報に対する評価を示し、「食べたい」、「ふつう」、「食べたくない」の3段階で表されるが、段階数はこれに限られない。また、第1評価情報は、所定範囲の数値によって表されてもよい。また、第2評価情報は、候補料理情報が実際に提供された後における当該候補料理情報に対する評価を示し、5段階の数値で表されるが、段階数はこれに限られない。また、第2評価情報は、数値以外の情報(例えば、「おいしかった」、「ふつう」、「もう食べたくない」等)によって表されてもよい。第3評価情報は、候補料理情報を実際に提供した後における当該候補料理情報に対する評価を示し、5段階の数値で表されるが、段階数はこれに限られない。また、第3評価情報は、数値以外の情報(例えば、「また作りたい」、「ふつう」、「もう作りたくない」等)によって表されてもよい。
【0075】
なお、評価情報DB60に記憶される評価情報は、第1評価情報、第2評価情報、および第3評価情報を含むことが可能であればよく、
図7に示した情報に限定されない。
【0076】
(選択用モデルML)
選択用モデルMLは、ユーザに関連する情報に基づいて複数の料理情報から複数の候補料理情報を選択するためのモデルである。換言すると、選択用モデルMLには、「ユーザに関連する情報」が入力される。選択用モデルMLからは、「複数の料理情報から複数の候補料理情報を選択するための情報」が出力される。例えば、選択用モデルMLは、入力情報が示すユーザにとってより健康に良い候補料理情報を、優先して選択するための情報を出力するよう構成されていてもよい。
【0077】
選択用モデルMLの入出力の一例について、
図8を参照して説明する。
図8は、選択用モデルMLの入出力の一例を説明する模式図である。
【0078】
図8の例において、選択用モデルMLに入力される入力情報は、ユーザU1~U3にそれぞれ関連する情報、を含む。各ユーザに関連する情報の構成はほぼ同様であるため、以下では、ユーザU1に関連する情報について説明し、ユーザU2、U3に関連する情報については説明を繰り返さない。
【0079】
ユーザU1に関連する情報は、当該ユーザの状態を示す情報、当該ユーザにより入力された食品情報、当該ユーザに関するユーザ情報、当該ユーザによる評価情報、を含む。当該ユーザの状態を示す情報、および、当該ユーザにより入力された食品情報は、献立作成支援機能の利用毎に取得される情報であり、本実施形態では、アンケート情報とも記載している。ユーザの状態を示す情報の一例としては、気分、体調、生体情報センサ28により取得された生体情報等が挙げられる。食品情報の一例としては、食材の購入履歴、直近の摂食状況、冷蔵庫の中の食材、等が挙げられる。直近の摂食状況は、一例として、直近に摂取した食品の種類を示す情報を含んでいてもよい。ユーザ情報は、事前に取得可能な情報であり、一例としては、ユーザ情報DB50に記憶された各項目が挙げられる。評価情報は、献立作成支援機能の利用により蓄積されていく情報であり、一例としては、評価情報DB60に記憶された各項目が挙げられる。ただし、ユーザU1に関連する情報の構成は、上述した例に限られない。
【0080】
ユーザU1~U3にそれぞれ関連する情報のうち少なくとも何れかは、第1属性情報に関連付けられているユーザに関連する情報であり、他は、第2属性情報に関連付けられているユーザに関連する情報である。選択用モデルMLは、
図8に示した入力情報のうち少なくとも一部が入力されることにより情報を出力するよう構成され、必ずしも全ての入力情報が入力されることを必須としなくてもよい。例えば、ユーザU1に関連する情報は、「生体情報」を含んでいなくてもよい。また、選択モデルMLに入力される情報は、
図8に示した入力情報以外の情報を含んでいてもよい。例えば、選択モデルMLに入力される情報は、気象データ、国勢調査結果、等を含んでいてもよい。また、選択モデルMLに入力される入力情報は、テキスト情報に限らず、画像であってもよい。入力情報に含まれる画像の一例としては、例えば、食品を被写体として含む画像(食品情報の一例)、ユーザの顔を被写体として含む画像(ユーザの状態を示す情報の一例)、直近の摂取食品種類が音声により入力された音声データ(食品情報の一例)等が挙げられるが、これらに限られない。
【0081】
また、
図8の例において、選択用モデルMLから出力される出力情報は、複数の料理情報から複数の候補料理情報を選択するための情報として、複数の料理情報の各々に関して推薦すべき程度を示すスコアを含む。具体的には、出力情報は、料理情報DB30に記憶された各料理情報について料理IDおよびスコアのペアを含んでいる。この場合、例えば、スコアの高い方から順に所定数まで、または、スコアが閾値以上、等の条件を満たす複数の料理情報のそれぞれが、候補料理情報として選択されてもよい。その他の例としては、出力情報は、複数の料理情報のうち候補料理情報として推薦すべき複数の料理情報の料理ID自体を含んでいてもよい。また、出力情報は、例えば、複数の料理情報を分類するカテゴリのうち推薦すべき1以上のカテゴリを含んでいてもよい。また、出力情報は、例えば、各カテゴリに関して推薦すべき程度を示すスコアを含んでいてもよい。
【0082】
なお、選択用モデルMLを実現するアルゴリズムとしては、回帰分析、深層学習、サポートベクタマシン、ルールベース、協調フィルタリング、またはこれらの一部または全部の組み合わせ等が挙げられるが、これらに限られない。事前に学習が必要なアルゴリズムを採用する場合(換言すると、選択用モデルMLが機械学習モデルである場合)、選択用モデルMLは、学習用データセットを用いて事前に学習される。
【0083】
選択用モデルMLの学習の一例について、選択用モデルMLが変換テーブルである例を中心に説明する。変換テーブルは、例えば、m×nの行列であり、n次元ベクトルをm次元ベクトルに変換するテーブルである(m、nはそれぞれ2以上の整数)。例えば、入力情報がn個の情報を含む場合、入力情報はn次元ベクトルにより表される。また、選択肢となる料理情報がm個である場合、m個の料理情報のスコアからなる出力情報は、m次元ベクトルにより表される。スコアは、例えば0以上1以下の数値で表され、当該入力情報が示すユーザにとって健康によい料理情報である程度を示す。
【0084】
変換テーブルとしての選択用モデルMLを学習させるため、学習用データセットが用いられる。学習用データセットは、複数の学習用データ片によって構成される。学習用データ片は、学習用の入力情報(n次元ベクトル)に対して正解となる出力情報(m次元ベクトル)が関連付けられた情報である。例えば、学習用の入力情報は、実在するユーザについて収集された情報であってもよく、架空のユーザについて生成された情報であってもよい。また、例えば、正解となる出力情報は、学習用の入力情報に対して、m個の料理情報のうち、当該入力情報が示すユーザにとって健康に良い1または複数の料理情報各々のスコアを最大値「1」とし、それ以外を最小値「0」とする情報(m次元ベクトル)であってもよい。そのような健康に良い1または複数の料理情報は、当該入力情報、および当該入力情報が示すユーザについて別途入手される健康診断結果等に鑑みて、管理栄養士等により選択されたものであってもよい。一例として、このような学習用データセットを教師データとして重回帰分析を行うことにより、選択用モデルMLである変換テーブルの各パラメータを算出することができる。このようにして生成された選択用モデルMLは、入力情報に対して、当該入力情報が示すユーザにとって健康に良い料理情報ほど高いスコアを出力するよう重み付けを行うパラメータ群を含んで構成される。ただし、選択用モデルMLは、変換テーブルに限られず、その学習方法は、上述した重回帰分析に限られない。
【0085】
なお、選択用モデルMLは1つに限らず、複数の選択用モデルMLの何れかが選択的に用いられてもよい。例えば、複数の選択用モデルの各々は、ユーザの属性に応じたモデルであってもよい。ユーザの属性とは、上述した第1属性情報および第2属性情報とは異なる属性であり、例えば、年齢層、運動経験の多少等であってもよいがこれらに限られない。一例として、20歳未満のユーザから収集した学習用データセットを用いて第1の選択用モデルが生成され、20歳以上のユーザから収集した学習用データセットを用いて第2の選択用モデルが生成されていてもよい。また、この場合、献立作成支援機能の利用時において、第1属性情報が関連付けられているユーザ(または第2属性情報が関連付けられているユーザ)の属性に応じた選択用モデルが用いられてもよい。または、グループに属するユーザのうち最も多い属性に応じた選択用モデルが用いられてもよい。一例として、20歳未満が20歳以上より多い家族が利用する場合には、第1の選択用モデルが用いられ、20歳以上が20歳未満より多い家族が利用する場合には、第2の選択用モデルが用いられてもよい。また、複数の選択用モデルMLの何れを選択するかを、グループごとに指定可能であってもよい。これにより、例えば、大人2人子供1人の家族であるグループにおいて、子供向けの選択用モデルMLを指定したり、20歳未満からなるグループにおいて、健康のためにシニア向けの選択用モデルMLを指定したりすることが可能となる。
【0086】
<情報処理システム1が実行する方法>
以上のように構成された情報処理システム1が実行する方法について説明する。情報処理システム1は、サーバ10がプログラムP1を実行するとともに端末20がプログラムP2を実行することにより、情報処理方法S1~S2を実行する。
【0087】
(ユーザ登録機能:情報処理方法S1の流れ)
情報処理方法S1は、上述したユーザ登録機能を実現するための方法である。情報処理方法S1は、調理者および喫食者の一方または両方として情報処理システム1を利用したいユーザの端末20と、サーバ10とによって実行される。情報処理方法S1の実行時点においては、ユーザは、調理者であるか喫食者であるかが特定されていなくてもよい。換言すると、情報処理方法S1の実行時点においては、ユーザに、第1属性情報および第2属性情報の何れかが関連付けられていなくてもよい。情報処理方法S1の流れについて、
図9を参照して説明する。
図9は、情報処理方法S1の流れを説明するフロー図である。
図9に示すように、情報処理方法S1は、ステップS101~S102を含む。
【0088】
ステップS101において、端末20は、ユーザ情報およびグループ情報の入力を受け付ける。また、端末20は、入力されたユーザ情報およびグループ情報をサーバ10に送信する。ユーザ情報およびグループ情報の詳細および具体例については、前述した通りである。
【0089】
ステップS102において、サーバ10は、端末20から取得したユーザ情報およびグループ情報を、ユーザ情報DB50に記憶する。ユーザ情報DB50の具体例については、
図6に示した通りである。
【0090】
ステップS101において、ユーザU1~U3がそれぞれ利用する端末20に表示される画面の一例について、
図10を参照して説明する。
図10は、ユーザ登録機能における画面の一例を示す図である。
【0091】
図10において、画面例G1は、ユーザ情報を入力するための画面である。画面例G1において、UI(User Interface)オブジェクト群G11は、
図6に示したユーザ情報に含まれる各項目を入力する操作を受け付ける。UIオブジェクトG12(次へボタン)に対する操作が受け付けられると、端末20は、画面例G1を画面例G2に遷移させる。
【0092】
画面例G2は、グループ情報を入力するための画面である。画面例G2において、UIオブジェクトG21(グループを作成ボタン)に対する操作が受け付けられると、端末20は、画面例G2を画面例G3に遷移させる。画面例G2において、UIオブジェクトG22(グループに参加ボタン)に対する操作が受け付けられると、端末20は、画面例G2を画面例G4に遷移させる。
【0093】
画面例G3は、新規のグループ情報を入力させるための画面である。画面例G3において、UIオブジェクト群G31は、
図6に示したグループ情報に含まれる各項目を入力する操作を受け付ける。UIオブジェクトG32(登録ボタン)に対する操作が受け付けられると、端末20は、画面例G1において入力されたユーザ情報の各項目と、画面例G3において入力されたグループ情報の各項目とを、サーバ10に送信する。
【0094】
サーバ10は、ステップS102において、新たなグループIDを発行し、当該グループIDと、受信したグループ情報の各項目とを含む新たなグループ情報を、グループ情報テーブル52に追加する。また、サーバ10は、新たなユーザIDを発行し、当該ユーザIDと、当該グループIDと、受信したユーザ情報の各項目とを含む新たなユーザ情報を、ユーザ情報テーブル51に追加する。
【0095】
画面例G4は、既存のグループに参加するための画面である。画面例G4において、UIオブジェクトG41は、参加する既存のグループ名を入力する操作を受け付ける。UIオブジェクトG42(登録ボタン)に対する操作が受け付けられると、端末20は、画面例G1において入力されたユーザ情報の各項目と、画面例G4において入力されたグループ名とを、サーバ10に送信する。なお、この例では、グループ名によってグループが一意に識別できるものとするが、これに限られない。例えば、画面例G4は、グループ名を入力する代わりに、グループID、招待コード等を入力可能に構成してもよい。
【0096】
サーバ10は、ステップS102において、グループ情報テーブル52において、受信したグループ名を含むグループ情報のグループIDを特定する。また、サーバ10は、新たなユーザIDを発行し、当該ユーザIDと、特定したグループIDと、受信したユーザ情報の各項目とを含む新たなユーザ情報を、ユーザ情報テーブル51に追加する。
【0097】
(情報処理方法S2の流れ)
情報処理方法S2は、上述した献立作成支援機能を実現するための方法である。以下の説明においては、第1属性情報は調理者を示すものとし、第2属性情報は喫食者を示すものとする。また、第1属性情報が関連付けられているユーザを、「調理者」と記載する。また、第2属性情報が関連付けられているユーザを、「喫食者」と記載する。また、ここでは、ユーザU1が調理者として献立作成支援機能を利用するものとし、ユーザU2、U3が喫食者であるものとする。
【0098】
情報処理方法S2は、調理者の端末20-1においてアンケート情報が入力されることによって開始する。情報処理方法S2の流れについて、
図11~
図12を参照して説明する。
図11は、情報処理方法S2の流れを説明するフロー図である。
図12は、
図11に続く情報処理方法S2の流れを説明するフロー図である。
図11~
図12に示すように、情報処理方法S2は、ステップS201~S221を含む。
【0099】
ステップS201において、端末20-1は、ユーザU1によって、調理者であること、および、アンケート情報の入力を受け付ける。アンケート情報は、調理者の状態を示す情報、および調理者によって入力される食品情報の一例である。端末20-1は、調理者を示す第1属性情報と、ユーザID「U1」と、入力されたアンケート情報とを、サーバ10に対して送信する。
【0100】
ステップS201で端末20-1に表示される画面の一例について、
図13を参照して説明する。
図13は、献立作成支援機能において調理者に提示される画面の一例を示す図である。
図13において、画面例G4は、属性を選択するための画面である。画面例G4において、UIオブジェクトG41は、調理者(調理する人)か、喫食者(食べる人)かを選択する操作を受け付ける。ここでは、調理者を選択する操作が受け付けられたとする。喫食者が選択される場合については、変形例として後述する。UIオブジェクトG42(次へボタン)に対する操作が受け付けられると、端末20-1は、画面例G4を画面例G5に遷移させる。
【0101】
画面例G5は、アンケート情報を入力するための画面である。画面例G5において、UIオブジェクト群G51は、調理者の状態を入力する操作を受け付ける。例えば、調理者の状態の一例である今の気分について「良い、普通、疲れ気味」の何れかを選択する操作が受け付けられる。また、調理者の状態の一例である食欲について「ある、普通、あまりない」の何れかを選択する操作が受け付けられる。
【0102】
また、UIオブジェクト群G51に含まれるUIオブジェクトG511(取り込むボタン)は、調理者の状態の一例である心拍数を、生体情報センサ28の一例である脈拍センサから取り込むための操作を受け付ける。脈拍センサは、例えば、調理者が装着するウェアラブルデバイス(例えば、スマートウォッチ等)に内蔵されていてもよい。UIオブジェクトG511に対する操作が受け付けられると、端末20-1は、生体情報センサ28から近距離通信により心拍数を取得する。
【0103】
UIオブジェクト群G52は、食品情報として、食品の種類を示す食品情報を入力する操作を受け付ける。例えば、食品情報の一例である食べたいものについて、ドロップダウンリストから食品の種類を選択する操作が受け付けられる。また、食品情報の一例である先週の摂食状況について、「肉、魚、卵、野菜、果物」等といった食品の種類を選択する操作が受け付けられる。また、UIオブジェクト群G52に含まれるUIオブジェクトG522(撮影ボタン)は、食品情報の一例である冷蔵庫の中身を入力する操作として、冷蔵庫の中身を撮影する操作を受け付ける。UIオブジェクトG522に対する操作が受け付けられると、端末20-1は、撮像装置26によって生成された周囲を示す画像をリアルタイムに表示装置25に表示し、調理者によるさらなる操作を受け付けた時点において表示中の画像を、食品情報として取得する。画面例G5においてUIオブジェクトG53(送信ボタン)に対する操作が受け付けられると、端末20は、画面例G5において入力されたアンケート情報をサーバ10に送信する。
【0104】
再び
図11を参照してステップS202以降について説明する。ステップS202において、サーバ10は、まず、以前に情報処理方法S2を実行したときに発行したセッションIDとは異なる新たなセッションIDを発行し、メモリ12に一時的に記憶する。当該セッションIDは、少なくとも情報処理方法S2が終了するまで、メモリ12に記憶される。
【0105】
また、ステップS202において、サーバ10は、端末20-1から受信した情報に基づいて、ユーザU1に関連付けられたユーザとして、ユーザU1と同一グループのユーザU2、U3を、喫食者として特定する。また、サーバ10は、ユーザU1に第1属性情報を関連付けるとともに、ユーザU2、U3それぞれに第2属性情報を関連付ける。つまり、第1属性情報が関連付けられているユーザU1と、第2属性情報が関連付けられているユーザU2、U3とは、互いに関連付けられている。これにより、調理者は、自身に関連付けられたユーザを喫食者とする献立作成支援を受けることができる。
【0106】
一例として、サーバ10は、端末20-1から受信した情報に含まれるユーザID「U1」に、調理者を示す第1属性情報を関連付け、メモリ12に一時的に記憶する。また、サーバ10は、ユーザ情報DB50を参照し、ユーザID「U1」を含むユーザ情報U1に対して、同一のグループID「G1」を含む他のユーザ情報U2、U3を特定する。また、サーバ10は、特定したユーザ情報U2、U3に含まれるユーザID「U2」、「U3」のそれぞれに、喫食者を示す第2属性情報を関連付け、メモリ12に一時的に記憶する。ユーザID「U1」および第1属性情報を関連付けた情報と、ユーザID「U2」、「U3」のそれぞれおよび第2属性情報を関連付けた情報とは、少なくとも情報処理方法S2が終了するまで、メモリ12に記憶される。
【0107】
ステップS203において、サーバ10は、調理者のユーザ情報U1および喫食者のユーザ情報U2、U3を、ユーザ情報DB50から取得する。また、サーバ10は、調理者による過去の評価情報として、ユーザID「U1」を含む評価情報V7を、評価情報DB60から取得する。また、サーバ10は、喫食者による過去の評価情報として、ユーザID、「U2」、「U3」を含む評価情報V1~V6を、評価情報DB60から取得する。なお、過去の評価情報としては、例えば、ユーザU1~U3のユーザIDを含む評価情報のうち、所定の条件(例えば、直近の所定期間、直近の所定数等)を満たす評価情報が抽出されて取得されてもよい。
【0108】
ステップS204において、サーバ10は、調理者に関連する情報、および、喫食者に関連する情報を選択用モデルMLに入力し、選択用モデルMLから出力される情報に基づいて、お勧めリストに含める複数の候補料理情報を選択する。当該処理は第1処理の一例である。「お勧めリスト」は、「複数の料理情報から選択された少なくとも一部の複数の候補料理情報」を含む情報の一例である。
【0109】
一例として、サーバ10は、選択用モデルMLに、調理者に関連する情報として、ユーザU1のアンケート情報(ステップS201で受信)と、ユーザ情報U1(ステップS203で取得)と、ユーザU1による過去の評価情報V7(ステップS203で取得)とを入力する。また、サーバ10は、選択用モデルMLに、さらに、喫食者に関連する情報として、ユーザ情報U2、U3(ステップS203で取得)と、ユーザU2、U3による過去の評価情報V1~V6(ステップS203で取得)とを入力する。
【0110】
これにより、選択用モデルMLからの出力情報に、例えば、
図8に示した料理IDおよびスコアのペアが含まれているとする。この場合、サーバ10は、スコアが所定の条件(例えば、スコアが高いものから所定数、スコアが閾値以上、等)を満たす複数の料理IDを選択し、選択した各料理IDが示す料理情報を、候補料理情報として料理情報DB30から取得する。また、サーバ10は、取得した複数の候補料理情報および順位情報を含むお勧めリストを生成する。順位情報は、上述したスコアに基づき算出される。
【0111】
ステップS205において、サーバ10は、お勧めリストを、喫食者に閲覧可能とする。当該処理は、第2処理の一例である。一例として、サーバ10は、お勧めリストを、喫食者がそれぞれ利用する端末20-2~20-3に対して送信する。
【0112】
ステップS206において、端末20-2、20-3は、サーバ10から受信したお勧めリストを表示する。これにより、喫食者は、調理者から提供される可能性がある料理を示す候補料理情報として、調理者および喫食者向けにパーソナライズされたお勧めリストを閲覧することができる。
【0113】
ステップS207において、端末20-2、20-3は、お勧めリストの各候補料理情報に対する第1評価情報を入力する操作を受け付ける。この例では、第1評価情報は、喫食者が候補料理情報を喫食する前に入力されるものとする。そこで、以降、「第1評価情報」を「喫食前の評価情報」とも記載する。端末20-2、20-3は、喫食者による喫食前の評価情報を、サーバ10に対して送信する。
【0114】
ステップS206~S207で端末20-2、20-3に表示される画面の一例について、
図14を参照して説明する。
図14は、献立作成支援機能において喫食者に提示される画面の一例を示す図である。なお、
図14の例では、端末20-3に表示される画面の一例を示しているが、端末20-2に表示される画面についてもほぼ同様に説明される。
【0115】
図14において、画面例G6は、お勧めリストを含む画面の一例である。画面例G6において、UIオブジェクト群G61は、複数の候補料理情報(トマト鍋、たらとじゃがいもソテー、里いもグラタン)と、それらの順位情報(第1位、第2位、第3位)と、を含んでいる。複数の候補料理情報(トマト鍋、たらとじゃがいもソテー、里いもグラタン)は、調理者としてのユーザU1がアンケート情報を入力したことを契機として、サーバ10において料理情報DB30から抽出されたものである。また、UIオブジェクト群G61は、複数の候補料理情報のそれぞれに対する喫食者の喫食前の評価情報を入力する操作を受け付ける。具体的には、UIオブジェクト群G61は、各候補料理情報について「食べたい、普通、食べたくない」の何れかを選択する操作を受け付ける。なお、各候補料理情報に対する評価の段階数は3に限られない。
【0116】
画面例G6において、UIオブジェクトG62(投票を送信ボタン)に対する操作が受け付けられると、端末20-3は、UIオブジェクト群G61が受け付けた喫食前の評価情報を、サーバ10に対して送信する。端末20-2も同様にして、喫食前の評価情報をサーバ10に対して送信する。
【0117】
再び
図11を参照してステップS208以降について説明する。ステップS208において、サーバ10は、お勧めリストの各候補料理情報に対する、喫食者による喫食前の評価情報を、端末20-2、20-3から受信することにより取得する。当該処理は、第3処理の一例である。また、サーバ10は、取得した喫食前の評価情報を、評価情報DB60に登録する。当該処理は、喫食前の評価情報(第1評価情報)により「ユーザに関連する情報」を更新する第6処理の一例である。これにより、次回以降にユーザU1~U3が献立作成支援機能を利用する際に、当該ユーザU2、U3による「喫食前の評価情報」が選択用モデルMLに入力されるので、次回以降のお勧めリストがより精度よく生成される。
【0118】
一例として、サーバ10は、新たな評価IDを発行し、当該評価IDと、ステップS203で記憶したセッションIDと、ユーザID「U2」とを含む評価情報を新たに生成する。また、サーバ10は、当該評価情報に、端末20-2から取得した喫食前の評価情報を第1評価情報として含めて、評価情報DB60に登録する。また、サーバ10は、新たな評価IDを発行し、当該評価IDと、前述のセッションIDと、ユーザID「U3」とを含む評価情報を新たに生成する。また、サーバ10は、当該評価情報に、端末20-3から取得した喫食前の評価情報を第1評価情報として含めて、評価情報DB60に登録する。
【0119】
ステップS209において、サーバ10は、お勧めリストから高評価リストを生成し、生成した高評価リストを、調理者が利用する端末20-1に送信する。「高評価リスト」は、お勧めリストのうち少なくとも一部の候補料理情報と、当該候補料理情報に関する補足情報と、を含む。また、「高評価リスト」は、当該候補料理情報において使用される商品に関する使用商品情報を含んでいてもよい。当該処理は、第4処理の一例である。
【0120】
一例として、サーバ10は、お勧めリストに含まれる複数の候補料理情報のうち、喫食者による喫食前の評価情報が高評価条件を満たす一部の候補料理情報を抽出し、高評価リストに含めてもよい。高評価条件とは、高評価であることを判定するための条件である。高評価条件は、ここでは、例えば、「食べたい」、「ふつう」、「食べたくない」をそれぞれ評価値2、1、0等で表し、評価値の合計が高いものから所定数、等の条件であってもよい。
【0121】
また、一例として、サーバ10は、補足情報として、複数の喫食者のそれぞれによる喫食前の評価情報を統合した情報を生成してもよい。統合した情報とは、例えば、上述した評価値の合計に基づく順位情報であってもよい。
【0122】
また、一例として、サーバ10は、使用商品情報として、高評価リストに含める候補料理情報において使用する商品の商品IDを参照することにより、当該商品IDを含む情報を商品情報DB40から取得可能である。
【0123】
ステップS210において、端末20-1は、サーバ10から取得した高評価リストを表示する。当該処理は、第13処理の一例である。ステップS211において、端末20-1は、表示した高評価リストにおいて複数の候補料理情報の何れかを選択する操作を受け付ける。選択された候補料理情報は、調理者であるユーザU1によって献立として採用された料理を示す。また、端末20-1は、選択された候補料理情報を、サーバ10に送信する。
【0124】
当該ステップS210の実行により、調理者は、お勧めリストに含まれる候補料理情報のうち喫食者に高評価の候補料理情報およびその補足情報を知ることができ、献立として採用する料理を選択するための参考にすることができる。また、調理者は、そのような高評価の候補料理情報で使用される使用商品情報をさらに参考にして、献立として採用する料理を選択することができる。
【0125】
ステップS210~S211で端末20-1に表示される画面の一例について、
図15を参照して説明する。
図15は、献立作成支援機能において調理者に提示される画面の一例を示す図である。
【0126】
図15において、画面例G7は、高評価リストを含む画面である。画面例G7において、UIオブジェクト群G71は、高評価の候補料理情報(トマト鍋、里いもグラタン)を含んでいる。これらの高評価の候補料理情報(トマト鍋、里いもグラタン)は、例えば、お勧めリストに含まれる複数の候補料理情報(トマト鍋、たらとじゃがいもソテー、里いもグラタン)のうち評価値の合計が高いものから2つという高評価条件を満たすものである。また、UIオブジェクト群G71は、高評価の各候補料理情報に関する補足情報として、評価値の合計の順位情報である「第1位、第2位」を含んでいる。また、UIオブジェクト群G71は、高評価の複数の候補料理情報(トマト鍋、里いもグラタン)の中から何れかを選択する操作を受け付ける。調理者は、献立として採用する料理を決定し、決定した料理を示す候補料理情報を選択する操作を行う。
【0127】
また、画面例G7において、UIオブジェクトG72、G73は、高評価の各候補料理情報において使用される商品に関する使用商品情報を含んでいる。例えば、UIオブジェクトG72は、「第1位:トマト鍋」において使用される商品が「ミネストローネの素」であることを示している。また、例えば、UIオブジェクトG73は、「第2位:里いもグラタン」において使用される商品が「マヨネーズ」であることを示している。また、UIオブジェクトG72、G73は、使用商品に関する詳細情報の表示を指示する操作を受け付けてもよい。例えば、UIオブジェクトG72、G73に対する操作が受け付けられると、端末20-1は、画面例G7を、当該使用商品に関する詳細情報を含む画面(図示せず)に遷移させてもよい。そのような詳細情報を含む画面は、サーバ10に対して、商品情報DB40に記憶された商品情報を問い合わせることにより生成される。また、詳細情報を含む画面は、当該使用商品をオンラインで購入するためのUIオブジェクトを含んでいてもよい。
【0128】
また、画面例G7において、UIオブジェクトG74(選択ボタン)に対する操作が受け付けられると、端末20-1は、選択された候補料理情報を示す情報(例えば、料理ID)を、サーバ10に対して送信する。なお、調理者は、1つの候補料理情報を選択してもよく、主菜および副菜等といったように、複数の候補料理情報を選択してもよい。
【0129】
ステップS212において、サーバ10は、調理者によって選択された候補料理情報を、端末20-1から受信することにより取得する。当該処理は、第5処理の一例である。ステップS213において、サーバ10は、端末20-1から受信した、調理者によって選択された候補料理情報を、喫食者が利用する端末20-2、20-3に送信する。当該処理は、第10処理の一例である。
【0130】
ステップS214において、端末20-2、20-3は、調理者によって選択された候補料理情報を表示する。ここで、ステップS213~S214の実行後、調理者は、選択した候補料理情報が示す料理を調理し、喫食者に提供したものとする。また、喫食者は、当該料理を喫食したものとする。続くステップS215以降のステップは、当該料理の喫食後に実行されることが期待される。
【0131】
ステップS215以降のステップについて、
図12を参照して説明する。ステップS215において、端末20-2、20-3は、調理者によって選択された候補料理情報に対する喫食者による第2評価情報を入力する操作を受け付ける。ここで、第2評価情報は、喫食後に入力されることが期待されるため、以降、第2評価情報を、喫食後の評価情報、と記載する。
【0132】
ステップS214~S215で端末20-2、20-3に表示される画面の一例について、
図16を参照して説明する。
図16は、調理者による候補料理情報の選択後に喫食者に提示される画面の一例を示す図である。なお、
図16の例では、端末20-3に表示される画面の一例を示しているが、端末20-2に表示される画面についてもほぼ同様に説明される。
【0133】
図16において、画面例G8は、調理者により選択された候補料理情報を含む画面である。画面例G8において、UIオブジェクトG81は、調理者によって選択された候補料理情報を示す。この例では、調理者としてのユーザU1によって「トマト鍋」の候補料理情報が選択されたことを示している。UIオブジェクトG82は、当該「トマト鍋」に対する喫食後の評価情報を入力する操作を受け付ける。この例では、UIオブジェクトG82は、星マークの色を白から黒に反転させる操作を受け付ける。UIオブジェクトG82において、黒色の星マークの個数は、多いほど評価が高いことを示す。この例では、喫食後の評価情報は、黒色の星マークの個数1~5の5段階で表される。UIオブジェクトG83(評価を送信ボタン)は、入力した喫食後の評価情報を送信する操作を受け付ける。UIオブジェクトG83に対する操作を受け付けると、端末20-2、20-3は、喫食者による喫食後の評価情報を、サーバ10に対して送信する。
【0134】
ステップS216において、サーバ10は、調理者によって選択された候補料理情報に対する、喫食者による喫食後の評価情報を、端末20-2、20-3から受信することにより取得する。当該処理は、第11処理の一例である。また、サーバ10は、取得した喫食後の評価情報を、評価情報DB60に登録する。一例として、サーバ10は、評価情報DB60において、前述したセッションIDと、ユーザID「U2」とを含む評価情報を特定する。
【0135】
また、サーバ10は、特定した評価情報に、端末20-2から取得した喫食後の評価情報を第2評価情報として含めて、評価情報DB60を更新する。また、サーバ10は、評価情報DB60において、前述したセッションIDと、ユーザID「U3」とを含む評価情報を特定する。また、サーバ10は、特定した評価情報に、端末20-3から取得した喫食後の評価情報を第2評価情報として含めて、評価情報DB60を更新する。これにより、次回以降にユーザU1~U3が献立作成支援機能を利用する際に、当該ユーザU2、U3による「喫食後の評価情報」が選択用モデルMLに入力されるので、次回以降のお勧めリストがより精度よく生成される。
【0136】
再び
図12を参照してステップS217以降について説明する。ステップS217において、サーバ10は、喫食者による喫食後の評価情報を、調理者が利用する端末20-1に送信する。当該処理は、第12処理の一例である。
【0137】
ステップS218において、端末20-1は、調理者によって選択された候補料理情報について、喫食者による喫食後の評価情報を表示する。これにより、調理者は、自身が選択した候補料理情報が示す料理に対する喫食後の評価を知ることができ、以降の料理の選択、以降の調理等の参考にすることができる。
【0138】
ステップS219において、端末20-1は、調理者によって選択された候補料理情報に対する当該調理者による第3評価情報を入力する操作を受け付ける。ここで、第3評価情報は、選択された候補料理情報が示す料理を調理した後に入力されることが期待されるため、以降、第3評価情報を、調理後の評価情報、と記載する。
【0139】
ステップS218~S219でユーザU1が利用する端末20-1に表示される画面の一例について、
図17を参照して説明する。
図17は、調理者による候補料理情報の選択後に当該調理者に提示される画面の一例を示す図である。
【0140】
図17において、画面例G9は、喫食後の評価情報を含む画面である。画面例G9において、UIオブジェクト群G91は、選択された候補料理情報に対する、喫食者による喫食後の評価情報を含んでいる。この例では、喫食後の評価情報は、黒色の星マークの個数で表されている。具体的には、選択された「トマト鍋」に対して、ユーザU2による喫食後の評価は5段階中4であり、ユーザU3による喫食後の評価は5段階中5である。
【0141】
UIオブジェクトG92は、当該「トマト鍋」に対する調理後の評価情報を入力する操作を受け付ける。この例では、当該UIオブジェクトG92の詳細については、喫食後の評価情報を入力するためのUIオブジェクトG82と同様に説明されるため、詳細な説明を繰り返さない。UIオブジェクトG93(評価を送信ボタン)は、入力した調理後の評価情報を送信する操作を受け付ける。UIオブジェクトG93に対する操作を受け付けると、端末20-1は、調理者による調理後の評価情報を、サーバ10に対して送信する。
【0142】
再び
図12を参照してステップS220以降について説明する。ステップS220において、サーバ10は、調理者によって選択された候補料理情報に対する当該調理者による調理後の評価情報を、端末20-1から受信することにより取得する。当該処理は、第8処理の一例である。また、サーバ10は、新たな評価IDを発行し、当該評価IDと、前述したセッションIDと、ユーザID「U1」とを含む評価情報を新たに生成する。また、サーバ10は、当該評価情報に、取得した調理後の評価情報を第3評価情報として含めて、評価情報DB60に登録する。これにより、次回以降にユーザU1~U3が献立作成支援機能を利用する際に、当該ユーザU1による「調理後の評価情報」が選択用モデルMLに入力されるので、次回以降のお勧めリストがより精度よく生成される。
【0143】
ステップS221において、サーバ10は、喫食者による喫食前の評価情報、喫食後の評価情報、および調理者による調理後の評価情報を含むよう更新された評価情報DB60を参照して、選択用モデルMLを更新する。当該処理は、第7処理および第9処理の一例である。
【0144】
選択用モデルMLの更新は、次のようにして行われてもよい。例えば、選択用モデルMLが学習用データを用いて学習されている場合について説明する。この場合、サーバ10は、「評価情報DB60に新たに追加された評価情報」を含む入力情報と、「調理者によって選択された候補料理情報の料理IDおよび最も高いスコア」を含む出力情報とを関連付けた新たな学習用データを生成する。また、サーバ10は、既存の学習用データおよび新たに生成した学習用データを含む学習用データを用いて、選択用モデルMLを再学習させてもよい。例えば、サーバ10は、新たに生成した学習用データを用いて重回帰分析を行うことにより、選択用モデルMLとしての変換テーブルを更新してもよい。また、サーバ10は、既存の選択用モデルMLに対して、新たな学習用データを用いて追加学習を行ってもよい。なお、学習を必要としないアルゴリズムにより実現された選択用モデルMLを用いる場合、選択用モデルMLは、新たに評価情報が追加された評価情報DB60を参照して動作する。これにより、選択用モデルMLは、次回以降に候補料理情報を選択する精度を向上させることができる。
【0145】
これにより、選択用モデルMLは、ユーザU1による調理後の評価が高い料理情報についてより高いスコアを算出するよう更新される。また、選択用モデルMLは、ユーザU2、U3による喫食前の評価または喫食後の評価がより高い料理情報についてより高いスコアを算出するよう更新される。その結果、次回以降にユーザU1~U3が献立作成支援機能を利用する際に当該更新された選択用モデルMLが用いられるので、次回以降のお勧めリストがより精度よく生成される。
【0146】
<本実施形態の効果>
このように、本実施形態では、第1処理の一例として、調理者に関連する情報および喫食者に関連する情報に基づいて料理情報DB30から選択した複数の候補料理情報を用いてお勧めリストを生成し、第2処理の一例として、お勧めリストを喫食者に閲覧可能とし、第3処理の一例として、お勧めリストに含まれる候補料理情報に対する喫食者による喫食前の評価情報を取得し、第4処理の一例として、喫食前の評価情報に基づいてお勧めリストから抽出した高評価リストを調理者に閲覧可能とする。高評価リストは、お勧めリストのうち喫食者による喫食前の評価情報が高評価条件を満たすものであり、当該喫食前の評価情報に基づく補足情報も含んでいる。
【0147】
これにより、調理者は、アンケート情報を入力することにより提示される当該高評価リストの中から、喫食者の評価を参考にして、献立として採用する料理を容易に選択することができる。このように、本実施形態に係る情報処理システム1は、喫食者の評価を考慮した献立作成を支援することができる、との効果を奏する。また、このような効果は、例えば、国連が提唱する持続可能な開発目標(SDGs)の目標2「飢餓をゼロに」等の達成にも貢献するものである。
【0148】
〔変形例1〕
上述した実施形態において、ユーザU1が調理者として情報処理システム1を利用する例を中心について説明した。これに限らず、ユーザU2またはU3が調理者として情報処理システム1を利用してもよい。前述したように、献立作成支援機能を利用する都度、ユーザU1~U3のそれぞれには、調理者を示す第1属性情報および喫食者を示す第2属性情報の何れかが動的に関連付けられる。
【0149】
〔変形例2〕
上述した実施形態において、献立作成支援機能を実現する情報処理方法S2は、調理者によるアンケート情報の入力によって開始するものとして説明した。これに限らず、情報処理方法S2は、調理者によるアンケート情報の入力の代わりに、喫食者によるアンケート情報の入力によって開始してもよい。例えば、ステップS201は、端末20-1ではなく端末20-2または20-3において実行されてもよい。この場合、
図13に示した画面例G5において「食べる人」が選択され、画面例G5において入力された情報は、喫食者に関連する情報としてサーバ10に送信される。また、この場合、サーバ10は、調理者として、喫食者と同一グループに属するユーザのうち事前に設定されたユーザ、または、喫食者によって指定されたユーザを特定してもよい。
【0150】
また、情報処理方法S2は、調理者または喫食者によるアンケート情報の入力によらずに、事前に設定された日時に開始してもよい。この場合、サーバ10は、第1処理において、調理者に関連する情報および喫食者に関連する情報として、上述したアンケート情報以外の情報を選択用モデルMLに入力することによりお勧めリストを生成する。
【0151】
また、情報処理方法S2は、撮像装置26による冷蔵庫の中身の撮影、または、生体情報センサ28からの生体情報の取得に応じて開始してもよい。この場合、端末20-1は、例えば、画面例G5において撮影ボタンまたは取り込みボタンのみを表示し、撮影または取り込みに応じて取得した情報をサーバ10に送信するようにしてもよい。
【0152】
〔変形例3〕
上述した実施形態において、サーバ10は、調理者のアンケート情報および喫食者のアンケート情報の双方を取得するようにしてもよい。例えば、サーバ10は、調理者のアンケート情報を受信したことを契機として、喫食者の端末20に画面例G5を表示して喫食者のアンケート情報を受信するようにしてもよい。または、サーバ10は、喫食者のアンケート情報を受信したことを契機として、調理者の端末20に画面例G5を表示して調理者のアンケート情報を受信するようにしてもよい。この場合、サーバ10は、第1処理において、喫食者に関連する情報として、上述した情報に加えて、喫食者のアンケート情報を選択用モデルMLに入力することによりお勧めリストを生成する。
【0153】
〔変形例4〕
上述した実施形態において、サーバ10は、第1処理において、調理者に関連する情報および喫食者に関連する情報の両方を参照してお勧めリストを作成するものとして説明したが、いずれか一方のみを参照してお勧めリストを作成してもよい。
【0154】
〔変形例5〕
上述した実施形態において、サーバ10は、第2処理において、お勧めリストを喫食者に閲覧可能とすることに加えて、調理者に閲覧可能としてもよい。これにより、調理者は、お勧めリストおよび後で提示される高評価リストを比較して、高評価リストに含まれなかった候補料理情報(換言すると、例えば、喫食者による評価が低かった候補料理情報)を知ることができる。
【0155】
〔変形例6〕
上述した実施形態において、サーバ10は、第4処理において、高評価リストを調理者に閲覧可能とすることに加えて、喫食者に閲覧可能としてもよい。これにより、複数の喫食者が存在する場合、各喫食者は、補足情報として、他の喫食者による喫食前の評価情報、または複数の喫食者による喫食前の評価情報を統合した情報を知ることができる。その結果、喫食者は、後で調理者によって選択される候補料理情報に対する納得感を高めることができる。
【0156】
〔変形例7〕
上述した実施形態において、サーバ10は、第12処理において、喫食後の評価情報を調理者に閲覧可能とすることに加えて、喫食者に閲覧可能としてもよい。これにより、複数の喫食者が存在する場合、各喫食者は、他の喫食者による喫食後の評価情報、または複数の喫食者による喫食後の評価情報を統合した情報を知ることができる。
【0157】
〔変形例8〕
上述した実施形態において、サーバ10は、必ずしも第10処理を実行しなくてもよい。換言すると、サーバ10は、調理者によって選択された候補料理情報を、喫食者に閲覧可能としなくてもよい。この場合、端末20-2、20-3において、例えば、喫食前の評価を受け付ける画面例G6において、喫食後の評価がさらに受け付けられてもよい。また、高評価リストを喫食者にも閲覧可能としている場合、高評価リストにおいて喫食後の評価がさらに受け付けられてもよい。
【0158】
〔変形例9〕
上述した実施形態において、サーバ10は、必ずしも調理者による調理後の評価情報を取得しなくてもよい。この場合、サーバ10は、第8処理において、高評価リストに含まれる各候補料理情報に対して調理者が選択したか否かを示す情報を第3評価情報として、評価情報DB60に登録してもよい。これにより、調理者が選択した候補料理情報が、調理者に関連する情報として、次回以降の献立作成支援機能において参照され、次回以降のお勧めリストがより精度よく生成される。また、サーバ10は、第9処理において、そのような第3評価情報を用いて選択用モデルMLを更新してもよい。これにより、選択用モデルMLは、調理者が選択した候補料理情報のスコアがより高くなるよう更新される。その結果、次回以降のお勧めリストがより精度よく生成される。
【0159】
〔変形例10〕
上述した実施形態において、サーバ10は、お勧めリストに含まれる候補料理情報の一部を抽出して高評価リストに含める例について説明した。これに限らず、サーバ10は、お勧めリストに含まれる全ての候補料理情報を、喫食前の評価情報に基づく補足情報とともに含めた補足情報付きのお勧めリストを、高評価リストの代わりに生成してもよい。本変形例は、上述の説明において「高評価リスト」を「補足情報付きのお勧めリスト」と読み替えることにより同様に説明される。
【0160】
〔変形例11〕
上述した実施形態において、情報処理システム1は、必ずしも情報処理方法S1のユーザ登録機能を実行しなくてもよい。換言すると、情報処理システム1は、ユーザ登録を行わなくても利用可能であってもよい。例えば、画面例G5において、調理者のアンケート情報とともに、喫食者を特定する情報が入力されてもよい。この場合、情報処理システム1は、情報処理方法S2の第1処理において、少なくとも調理者のアンケート情報に基づいてお勧めリストを生成し、当該お勧めリストを、入力された喫食者に閲覧可能としてもよい。このような変形例においても、調理者は、お勧めリストから抽出された高評価リストを閲覧し、喫食者の評価を参考にして容易に料理を選択することができる。
【0161】
〔変形例12〕
上述した実施形態において、情報処理システム1は、情報処理方法S2において少なくともステップS201~S210を実行すればよく、必ずしもステップS211以降を実行しなくてもよい。換言すると、情報処理システム1は、喫食後の評価および調理後の評価を取得しなくてもよい。このような変形例においても、調理者は、お勧めリストから抽出された高評価リストを閲覧し、喫食者の喫食前の評価を参考にして容易に料理を選択することができる。
【0162】
〔変形例13〕
上述した実施形態において、第1処理では、献立作成支援機能を利用するグループ内の各ユーザに関連する情報(第1評価情報、第2評価情報、または/および第3評価情報を含む)を参照して、候補料理情報が選択される例について説明した。これに限らず、第1処理において、グループ内だけでなくグループ外のユーザにより入力された評価情報(第1評価情報、第2評価情報、または/および第3評価情報)を参照して候補料理情報が選択されてもよい。グループ外のユーザにより入力された評価情報としては、例えば、評価情報DB60に蓄積されている第1評価情報、第2評価情報、および第3評価情報の一部または全部が参照される。また、サーバ10は、グループに固有の選択用モデルMLを、グループ内の評価情報に基づき再学習させてもよく、各グループに共通の選択用モデルMLを、評価情報DB60に蓄積されている各ユーザの評価情報に基づき再学習させてもよい。グループに固有の選択用モデルMLを用いる場合、ユーザは、自身が属するグループにおける評価が反映された候補料理情報を知ることができる。共通の選択用モデルMLを用いる場合、ユーザは、グループ外の他のユーザの評価も反映された候補料理情報を知ることができる。なお、本変形例においては、グループごとに、グループに固有の選択用モデルMLを用いるか、共通の選択用モデルMLを用いるかを設定可能であってもよい。
【0163】
〔変形例14〕
上述した実施形態において、サーバ10は、評価情報DB60に蓄積されている各ユーザの評価情報に基づいて、料理情報DB30に蓄積された料理情報を更新してもよい。料理情報の更新とは、例えば、評価が低いとの条件を満たす料理情報の削除、評価内容に基づく料理情報の変更、評価が高いとの条件を満たす料理情報を組み合わせた新たな料理情報の追加、等が挙げられるが、これらに限られない。
【0164】
〔記録媒体による実現例〕
サーバ10および端末20に記憶されるプログラムP1およびP2は、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
【0165】
〔ハードウェアによる実現例〕
また、上記プログラムP1およびP2をサーバ10および端末20が実行することにより実現される機能の一部または全部は、論理回路により実現することも可能である。例えば、当該論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記機能を実現することも可能である。
【0166】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0167】
〔まとめ〕
態様1に係るプログラムは、第1属性情報が関連付けられているユーザ、および、前記第1属性情報と異なる第2属性情報が関連付けられているユーザのうち少なくとも一方に関連する情報に基づいて、複数の料理情報の中から少なくとも一部の複数の料理情報のそれぞれを候補料理情報として選択する第1処理と、前記第1処理において選択された複数の前記候補料理情報を、前記第2属性情報が関連付けられているユーザに閲覧可能とする第2処理と、前記候補料理情報に対する、前記第2属性情報が関連付けられているユーザによる評価を示す第1評価情報を取得する第3処理と、複数の前記候補料理情報のうち少なくとも一部の候補料理情報と、当該候補料理情報に対応する前記第1評価情報に基づいて生成された当該候補料理情報に関する補足情報とを、前記第1属性情報が関連付けられているユーザに閲覧可能とする第4処理と、を、コンピュータに実行させる。上記構成によれば、献立を作成するユーザは、第4処理で閲覧可能とされた候補料理情報の中から、当該ユーザとは異なる属性を有するユーザによる評価に基づく補足情報を参考にして、献立として採用する料理を選択することができる。その結果、献立を作成するユーザとは異なる属性を有するユーザの評価を考慮した献立作成を支援することができる。
【0168】
態様2に係るプログラムは、態様1において、前記第1処理では、前記関連する情報に基づいて前記候補料理情報を選択するための選択用モデルを用いる。上記構成により、献立を作成するユーザとは異なる属性を有するユーザに閲覧させるための候補料理情報を、選択用モデルにより精度よく選択することができる。
【0169】
態様3に係るプログラムは、態様1または態様2において、前記第1属性情報が関連付けられているユーザについての前記関連する情報は、前記第1属性情報が関連付けられているユーザの状態を示す情報、および、前記第1属性情報が関連付けられているユーザによって入力された食品の種類を示す食品情報からなる群から選択される1つ以上の情報を含み、前記第2属性情報が関連付けられているユーザについての前記関連する情報は、前記第2属性情報が関連付けられているユーザの状態を示す情報、および、前記第2属性情報が関連付けられているユーザによって入力された食品の種類を示す食品情報からなる群から選択される1つ以上の情報を含む。上記構成により、上記構成により、献立を作成するユーザとは異なる属性を有するユーザに閲覧させるための候補料理情報を、より精度よく選択することができる。
【0170】
態様4に係るプログラムは、態様1から態様3の何れか1つにおいて、前記第2処理では、複数の前記候補料理情報の順位を示す順位情報を、前記第2属性情報が関連付けられているユーザに閲覧可能とする。上記構成により、献立を作成するユーザとは異なる属性を有するユーザは、当該順位情報を参考にして、より容易に第1評価情報を入力することができる。
【0171】
態様5に係るプログラムは、態様1から態様4の何れか1つにおいて、前記第1属性情報が関連付けられているユーザと、前記第2属性情報が関連付けられているユーザとは、互いに関連付けられている。上記構成により、献立を作成するユーザは、当該ユーザに関連付けられているユーザの評価を参考にして、献立として採用する料理を選択することができる。
【0172】
態様6に係るプログラムは、態様1から態様5の何れか1つにおいて、前記第4処理は、前記第1属性情報が関連付けられているユーザに閲覧可能とする前記候補料理情報と共に、当該候補料理情報が示す料理の調理に使用する商品を示す情報を閲覧可能とする処理を含む。上記構成により、献立を作成するユーザは、当該使用する商品を示す情報を参考にして、献立として採用する料理を選択することができる。
【0173】
態様7に係るプログラムは、態様1から態様6の何れか1つにおいて、前記補足情報は、複数の前記候補料理情報の示す候補料理のそれぞれに対する評価を示す情報、および、複数の前記候補料理情報のうち少なくとも一部の複数の候補料理情報の順位を示す情報のうち、少なくとも一方を含む。上記構成により、献立を作成するユーザとは異なる属性を有するユーザは、第3処理において閲覧可能とされた候補料理情報のそれぞれを個別に評価することができるか、または、第3処理において閲覧可能とされた複数の候補料理情報に対して順位をつけることにより評価することができる。
【0174】
態様8に係るプログラムは、態様1から態様7の何れか1つにおいて、前記第1属性情報が関連付けられているユーザによって、前記第4処理で閲覧可能とされた複数の前記候補料理情報の中から選択された少なくとも一部の候補料理情報を取得する第5処理を、前記コンピュータにさらに実行させる。上記構成によれば、献立を作成するユーザは、第4処理で閲覧可能とされた候補料理情報の中から何れか1つを選択して入力することができる。
【0175】
態様9に係るプログラムは、態様1から態様8の何れか1つにおいて、前記第1評価情報が含まれるように前記関連する情報を更新する第6処理、または、前記関連する情報に基づいて前記候補料理情報を選択するための選択用モデルを前記第1処理で用いる場合に、前記第1評価情報を用いて前記選択用モデルを更新する第7処理を、前記コンピュータにさらに実行させる。上記構成によれば、献立を作成するユーザとは異なる属性を有するユーザによる評価を用いて、当該ユーザに対して次回以降に閲覧可能とする候補料理情報を精度よく選択することができる。
【0176】
態様10に係るプログラムは、態様8において、前記第5処理で取得した前記少なくとも一部の候補料理情報が含まれるように前記関連する情報を更新する第8処理、または、前記関連する情報に基づいて前記候補料理情報を選択するための選択用モデルを前記第1処理で用いる場合に、前記第5処理で取得した前記少なくとも一部の候補料理情報を用いて前記選択用モデルを更新する第9処理を、前記コンピュータにさらに実行させる。上記構成によれば、献立を作成するユーザによって選択された候補料理情報を用いて、当該ユーザとは異なる属性を有するユーザに対して次回以降に閲覧可能とする候補料理情報を精度よく選択することができる。
【0177】
態様11に係るプログラムは、態様1から態様10の何れか1つにおいて、前記第4処理の後に、前記第2処理で閲覧可能とされた前記候補料理情報のうちの少なくとも一部に対する、または、前記第4処理で閲覧可能とされた前記候補料理情報のうちの少なくとも一部を、前記第2属性情報が関連付けられているユーザに閲覧可能とする第10処理を前記コンピュータにさらに実行させる場合において、当該第10処理で閲覧可能とされた前記候補料理情報のうちの少なくとも一部に対する、前記第2属性情報が関連付けられているユーザによる評価を示す第2評価情報を取得する第11処理を、前記コンピュータにさらに実行させる。上記構成によれば、献立を作成するユーザが献立として料理を選択した後に、当該ユーザとは異なる属性を有するユーザは、候補料理情報に対する評価を入力することができる。
【0178】
態様12に係るプログラムは、態様11において、前記第2評価情報を、前記第1属性情報が関連付けられているユーザに閲覧可能とする第12処理を、前記コンピュータにさらに実行させる。上記構成によれば、献立を作成するユーザは、自身が料理を選択した後に、当該ユーザとは異なるユーザによってなされた評価を知ることができ、以降の料理の選択等の参考にすることができる。
【0179】
態様13に係る情報処理システムは、態様1から態様12の何れか1つのプログラムを実行する少なくとも1つの情報処理装置を備える。上記構成によれば、態様1から態様12の何れかと同様の効果を奏する。
【0180】
態様14に係るプログラムは、第1属性情報が関連付けられているユーザに情報を閲覧可能とする処理を、コンピュータに実行させるプログラムであって、前記処理は、複数の料理情報の中から選択された一部の複数の候補料理情報のうち少なくとも一部の候補料理情報と、前記第1属性情報と異なる第2属性情報が関連付けられているユーザによる、前記候補料理情報に対する評価を示す、第1評価情報に基づいて生成された、当該候補料理情報に関する補足情報とを、前記第1属性情報が関連付けられているユーザに閲覧可能とする第13処理を含み、前記第1属性情報が関連付けられているユーザと、前記第2属性情報が関連付けられているユーザとは、互いに関連付けられている。上記構成によれば、献立を作成するユーザは、閲覧可能とされた候補料理情報の中から、当該ユーザとは異なる属性を有し且つ当該ユーザに関連付けられているユーザによる評価に基づく補足情報を参考にして、献立として採用する料理を選択することができる。その結果、献立を作成するユーザとは異なる属性を有するユーザの評価を考慮した献立作成を支援することができる。
【0181】
態様15に係るプログラムは、態様14において、前記第13処理は、当該第1属性情報が関連付けられているユーザの操作に応じて実行される。上記構成によれば、献立を作成するユーザは、自身の操作に応じて、献立を作成するための候補料理情報および補足情報を閲覧することができる。
【符号の説明】
【0182】
1 情報処理システム
10 サーバ
11、21 プロセッサ
12、22 メモリ
13、23 ネットワークインタフェース
20、20-1、20-2、20-3 端末
24 入力装置
25 表示装置
26 撮像装置
27 近距離通信インタフェース
28 生体情報センサ