(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034786
(43)【公開日】2024-03-13
(54)【発明の名称】情報処理システム、情報処理方法、およびプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240306BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022139265
(22)【出願日】2022-09-01
(71)【出願人】
【識別番号】503376518
【氏名又は名称】東芝ライフスタイル株式会社
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100205785
【弁理士】
【氏名又は名称】▲高▼橋 史生
(74)【代理人】
【識別番号】100203297
【弁理士】
【氏名又は名称】橋口 明子
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100135301
【弁理士】
【氏名又は名称】梶井 良訓
(72)【発明者】
【氏名】中川 達也
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA24
(57)【要約】
【課題】利便性の向上を図ることができる情報処理システム、情報処理方法、およびプログラムを提供することである。
【解決手段】実施形態の情報処理システムは、レシピ提案部と、評価値変更部とを備える。前記レシピ提案部は、レシピを提案する。前記評価値変更部は、前記レシピ提案部により提案されたレシピに関してユーザの所定の操作が検出された場合、前記レシピに設定された評価値を増加させる。
【選択図】
図8
【特許請求の範囲】
【請求項1】
レシピを提案するレシピ提案部と、
前記レシピ提案部により提案されたレシピに関してユーザの所定の操作が検出された場合、前記レシピに設定された評価値を増加させる評価値変更部と、
を備える情報処理システム。
【請求項2】
前記所定の操作は、前記レシピを選択または参照する操作とは異なる操作である、
請求項1に記載の情報処理システム。
【請求項3】
前記所定の操作は、前記レシピに含まれる少なくとも1つの食材を、前記ユーザと関連付けて登録された食材の在庫を示す食材在庫情報から削除または減少させる操作である、
請求項1に記載の情報処理システム。
【請求項4】
前記所定の操作は、前記レシピに含まれる少なくとも1つの食材を、前記ユーザと関連付けて登録された食材の購入予定を示す購入予定情報に追加する操作である、
請求項1に記載の情報処理システム。
【請求項5】
前記所定の操作は、前記レシピの詳細の少なくとも一部を閲覧するための操作である、
請求項1に記載の情報処理システム。
【請求項6】
前記所定の操作は、調理用家電機器に関する操作であって、前記レシピに含まれる調理工程に対応する操作である、
請求項1に記載の情報処理システム。
【請求項7】
前記所定の操作は、前記レシピの提案に合わせて、前記レシピと所定の関係を有する関連レシピが提案される場合、前記関連レシピに関する肯定的な操作である、
請求項1に記載の情報処理システム。
【請求項8】
前記レシピ提案部は、複数のレシピを一覧表示できるように提案可能であり、
前記評価値変更部は、一覧表示された前記複数のレシピに含まれる1つのレシピに関して前記所定の操作が検出された場合、前記1つのレシピの前記評価値を増加させるとともに、前記複数のレシピに含まれる別の1つ以上のレシピの前記評価値を減少させる、
請求項1に記載の情報処理システム。
【請求項9】
前記評価値変更部は、前記レシピ提案部により第1レシピが提案された場合であって、前記第1レシピと類似した第2レシピに関して前記所定の操作が検出された場合、前記第1レシピの前記評価値を減少させる、
請求項1に記載の情報処理システム。
【請求項10】
前記レシピ提案部は、各レシピに設定された自然環境条件に対する適合特性と、レシピを提案する際の自然環境条件とに応じて、複数のレシピのなかから1つ以上のレシピを選択して提案する、
請求項1に記載の情報処理システム。
【請求項11】
前記レシピ提案部は、特別日のためのレシピとして所定基準以上の手間を要する特別レシピを提案する場合に、前記特別日よりも事前に前記特別レシピを提案する、
請求項1に記載の情報処理システム。
【請求項12】
前記レシピ提案部は、前記ユーザが使用する家電機器の使用状況から前記ユーザの家族の人数を推定し、推定した前記家族の人数に応じた前記レシピを提案する、
請求項1に記載の情報処理システム。
【請求項13】
少なくとも一部のレシピには、味付けまたは調理法に基づく分類である料理の種類が対応付けられ、
前記レシピ提案部は、前記料理の種類ごとに算出された前記所定の操作が行われた頻度に関する情報に基づき、複数のレシピのなかから1つ以上のレシピを選択して提案する、
請求項1に記載の情報処理システム。
【請求項14】
コンピュータが、
レシピを提案し、
提案されたレシピに関してユーザの所定の操作が検出された場合、前記レシピの評価値を増加させる、
ことを含む情報処理方法。
【請求項15】
コンピュータに、
表示画面にレシピを表示させる表示制御部と、
前記表示画面に表示されたレシピに関してユーザの所定の操作が検出された場合、前記レシピの評価値を増加させる評価値変更部と、
を実現させるプログラム。
【請求項16】
レシピを提案するレシピ提案部と、
前記レシピ提案部により提案されたレシピに関して、前記レシピに関する直接的な操作とは異なるユーザの所定の操作が検出された場合に、前記レシピを評価する評価部と、
を備える情報処理システム。
【請求項17】
前記所定の操作は、前記レシピに含まれる少なくとも1つの食材を前記ユーザと関連付けて登録された食材の在庫を示す食材在庫情報から削除または減少させる操作、前記レシピに含まれる少なくとも1つの食材を前記ユーザと関連付けて登録された食材の購入予定を示す購入予定情報に追加する操作、調理用家電機器に関する操作であって、前記レシピに含まれる調理工程に対応する操作、または、前記レシピの提案に合わせて前記レシピと所定の関係を有する関連レシピが提案される場合に前記関連レシピに関する肯定的な操作である、
請求項16に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
提示した料理に対するユーザの評価を受け付ける情報処理システムが提案されている。このような情報処理システムは、利便性のさらなる向上が期待されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、利便性の向上を図ることができる情報処理システム、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の情報処理システムは、レシピ提案部と、評価値変更部とを備える。前記レシピ提案部は、レシピを提案する。前記評価値変更部は、前記レシピ提案部により提案されたレシピに関してユーザの所定の操作が検出された場合、前記レシピに設定された評価値を増加させる。
【図面の簡単な説明】
【0006】
【
図1】実施形態の情報処理システムの全体構成を示す図。
【
図2】実施形態の端末装置の機能構成を示すブロック図。
【
図4】実施形態の概要レシピ一覧表示画面の一例を示す図。
【
図5】実施形態の詳細レシピ表示画面の一例を示す図。
【
図6】実施形態の食材在庫リスト画面の一例を示す図。
【
図7】実施形態の購入予定食材リスト画面の一例を示す図。
【
図8】実施形態のサーバの機能構成を示すブロック図。
【
図9】実施形態のユーザDBの内容の一例を示す図。
【
図10】実施形態の機器登録DBの内容の一例を示す図。
【
図11】実施形態のレシピDBの内容の一例を示す図。
【
図12】実施形態のレシピ人気DBの内容の一例を示す図。
【
図13】実施形態の個人嗜好DBの内容の一例を示す図。
【
図14】実施形態の提案履歴DBの内容の一例を示す図。
【
図15】実施形態の日付種類程度DBの内容の一例を示す図。
【
図18】実施形態の処理の全体の流れの一例を示すシーケンス図。
【
図19】実施形態の第1評価処理の流れの一例を示す図。
【
図20】実施形態の第2評価処理の流れの一例を示す図。
【
図21】実施形態の第3評価処理の流れの一例を示す図。
【
図22】実施形態の第4評価処理の流れの一例を示す図。
【
図23】実施形態のレシピ検索処理の流れの一例を示す図。
【発明を実施するための形態】
【0007】
以下、実施形態の情報処理システム、情報処理方法、およびプログラムを、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。本出願で「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含み得る。また「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含み得る。本出願で「XXまたはYY」とは、XXとYYのうちいずれか一方の場合に限定されず、XXとYYの両方の場合も含み得る。これは選択的要素が3つ以上の場合も同様である。XXおよびYYは、任意の要素(例えば任意の情報)である。
【0008】
本出願で「取得」とは、送信要求を送信して能動的に取得する場合に限定されず、他の装置から送信される情報を受動的に受信することで取得する場合も含み得る。また「取得」とは、外部から得られた情報に対して演算または加工などを行い目的の情報を生成することで目的の情報を取得する場合も含み得る。本出願で「参照」とは、「閲覧」の意味で用いられる場合がある。このため以下の説明における「参照」との用語は「閲覧」と読み替えられてもよい。本出願では「データベース」を「DB」と表記する。
【0009】
図1は、実施形態の情報処理システム1の全体構成を示す図である。情報処理システム1は、例えば、家電機器100,101、サーバ200、および端末装置300を備える。なお、本出願で言う「情報処理システム」は、上記例に限定されず、例えば、サーバ200のみで実現されてもよく、端末装置300の家電管理アプリAPPのみで実現されてもよく、サーバ200と端末装置300の家電管理アプリAPPとにより実現されてもよい。ネットワークNWは、例えば、インターネット、セルラー網、Wi-Fi網、LPWA(Low Power Wide Area)、WAN(Wide Area Network)、LAN(Local Area Network)、またはその他の公衆回線や専用回線などを状況に応じて利用すればよい。
【0010】
(家電機器の構成)
家電機器100は、例えば、調理用家電機器であり、より具体的には、オーブンレンジであり、以下、オーブンレンジ100ともいう。ただし調理用家電機器は、上記例に限定されず、電子レンジ、トースターなどでもよい。家電機器101は、例えば、冷蔵庫であり、以下、冷蔵庫101ともいう。家電機器100,101は、例えば、ユーザUの住居内に設置され、ユーザUによって使用される。家電機器100,101は、図示しない無線通信モジュールを備えており、ユーザUの住居内に設置される無線ルータWRおよびモデムMを介してネットワークNWに接続する。家電機器100,101の各々には、予め識別可能な機器ID(Identifier)が付与されている。
【0011】
(端末装置の構成)
端末装置300は、ユーザUが使用する端末装置である。端末装置300は、例えば、スマートフォンまたはタブレット端末装置のような携帯端末装置であってもよいし、パーソナルコンピュータなどであってもよい。端末装置300は、図示しない無線通信モジュールを備えており、無線ルータWRおよびモデムMを介してネットワークNWに接続し、サーバ200との間でデータの送受信を行う。端末装置300は、例えば、液晶ディスプレイなどの表示画面301aを含む表示装置301と、ユーザUの入力を受け付け可能な入力装置302とを備える。入力装置302は、例えば、表示装置301の表示画面301aと重ねるように備えられたタッチパネルである。入力装置302は、端末装置300に設けられたカメラやマイクなどを含み得る。
【0012】
図2に示すように、端末装置300は、例えば、記憶部310、計時部311、表示制御部312、操作受付部313、機器登録部314、レシピ検索要求部315、詳細レシピ要求部316、食材在庫設定部317、購入予定食材設定部318、加熱指示部319、およびカレンダ設定部320を備える。記憶部310は、ハードウェア機能部であり、予めインストールされるアプリケーションプログラムPのデータと、端末内情報350とを記憶する。端末装置300に搭載されたCPU(Central Processing Unit)のような1つ以上のハードウェアプロセッサが、アプリケーションプログラムPを実行することにより構築されるソフトウェア機能部のことを、「家電管理アプリAPP」という。端末内情報350には、ユーザUに固有のユーザ識別情報が含まれる。以下、ユーザ識別情報を、ユーザIDという。
【0013】
計時部311、表示制御部312、操作受付部313、機器登録部314、レシピ検索要求部315、詳細レシピ要求部316、食材在庫設定部317、購入予定食材設定部318、加熱指示部319、およびカレンダ設定部320は、上記した家電管理アプリAPPに含まれるソフトウェア機能部である。
【0014】
計時部311は、例えば、時計であり、他の機能部から要求を受けると、要求を受けた時点の時刻を示す時刻情報を要求元の機能部に出力する。
【0015】
表示制御部312は、例えば、表示装置301に対して、画像や文字などの表示に関するデータを自ら出力、または、他の機能部から受けて出力することにより、当該データに応じた画像や文字などを表示画面301aに表示する。また、表示制御部312は、起動すると、例えば、
図3に示すホーム画面501を表示画面301aに表示する。
【0016】
操作受付部313は、ユーザUの操作を受け付ける。より詳細には、操作受付部313は、ユーザUが入力装置302に対して行った操作を検出し、検出した操作に応じた制御信号を出力する。例えば、
図3に示すホーム画面501の画像内に設けられた操作部51をユーザUが操作した場合、操作受付部313は、操作部51の位置が選択された操作を検出し、検出した操作に応じた起動を示す制御信号を機器登録部314に出力する。操作受付部313は、操作を検出するごとに、計時部311から時刻情報を取得し、検出した操作を示す情報と、取得した時刻情報と、端末内情報350に記憶されたユーザIDとを関連付けて操作情報を生成し、生成した操作情報をサーバ200に送信する。
【0017】
機器登録部314は、機器登録用の画面の生成に用いられるデータに基づいて、表示制御部312を介して表示画面301aに機器登録用の画面を表示する。ここで、「表示制御部312を介して表示画面301aに・・・を表示する」という処理は、表示制御部312が、他の機能部が出力する何らかのデータを取り込み、取り込んだデータから生成する画像などを表示画面301aに表示するという処理を意味する。機器登録部314は、機器登録用の画面に対するユーザUの操作を受けて、ユーザUのユーザIDと、ユーザUが使用する家電機器100,101の各々に対応する機器IDとを関連付ける機器登録の処理を行う。機器登録部314は、端末内情報350に含まれているユーザIDと、1つ以上の機器IDとを含む機器登録指示信号をサーバ200に送信する。
【0018】
レシピ検索要求部315は、例えば、ユーザUが、
図3に示すホーム画面501の画像内に設けられた「レシピ」の文字を含む操作部52を操作することにより、操作受付部313が出力する起動を示す制御信号を受けて起動する。レシピ検索要求部315は、端末内情報350に含まれているユーザIDを含むレシピ検索要求信号をサーバ200に送信する。レシピ検索要求部315は、レシピ検索要求信号に対応するレシピ検索応答信号をサーバ200から受信する。レシピ検索要求部315は、受信したレシピ検索応答信号に含まれているデータに基づいて、表示制御部312を介して表示画面301aに、例えば、
図4に示す概要レシピ一覧表示画面502を表示する。
【0019】
詳細レシピ要求部316は、例えば、ユーザUが、
図4に示す概要レシピ一覧表示画面502の画像内に含まれる「レシピ画像A001」の画像領域に対応する操作部54を操作することにより、操作受付部313が出力する起動を示す制御信号を受けて起動する。操作部54には、レシピA001に予め付与されたレシピIDが対応付けられている。ここで、レシピIDとは、レシピの各々を識別可能なレシピ識別情報であり、サーバ200にレシピのデータが登録される際に、レシピのデータの各々に付与される情報である。
【0020】
詳細レシピ要求部316は、例えば、操作部54に対する操作に起因して起動した場合、操作部54に対応付けられたレシピA001のレシピIDと、端末内情報350に含まれるユーザIDとを含む詳細レシピ要求信号をサーバ200に送信する。詳細レシピ要求部316は、詳細レシピ要求信号に対応する詳細レシピ応答信号をサーバ200から受信する。詳細レシピ要求部316は、受信した詳細レシピ検索応答信号に含まれる詳細レシピデータに基づいて、表示制御部312を介して表示画面301aに、例えば、
図5に示す詳細レシピ表示画面503を表示する。
【0021】
図5に示す詳細レシピ表示画面503には、レシピA001の画像、レシピ名称、食材リストの参照の際に操作される「材料」の文字列を含む操作部56、調理手順の参照の際に操作される「作り方」の文字列を含む操作部57、および符号58で示されるレシピA001に対応する関連レシピを示す情報などの詳細レシピデータに含まれる情報が表示される。これに対して、
図4に示す概要レシピ一覧表示画面502には、例えば、レシピA001に関しては、レシピA001のサムネイル画像と、レシピ名称のみが表示される。以下、
図4の概要レシピ一覧表示画面502に表示される個々のレシピに関するデータを、詳細レシピデータと区別して示すために、概要レシピデータという。
【0022】
図5に示す詳細レシピ表示画面503が示すレシピA001を主レシピとすると、関連レシピとは、主レシピと所定の関係を有するレシピである。関連レシピとは、例えば、主レシピの料理と共に提供することお勧めである料理のレシピを意味する。
【0023】
食材在庫設定部317は、例えば、
図3に示すホーム画面501の画像内に設けられた「食材管理」の文字を含む操作部53をユーザUが操作することにより、操作受付部313が出力する起動を示す制御信号を受けて起動する。食材在庫設定部317は、ユーザUから所定の操作を受けると、表示制御部312を介して表示画面301aに、例えば、
図6に示す食材在庫リスト画面505を表示する。
【0024】
購入予定食材設定部318は、例えば、
図6に示す食材在庫リスト画面505の画像内に設けられた「買い物リスト」の文字を含む操作部62をユーザUが操作することにより、操作受付部313が出力する起動を示す制御信号を受けて起動する。購入予定食材設定部318は、表示制御部312を介して表示画面301aに、例えば、
図7に示す購入予定食材リスト画面506を表示する。
【0025】
加熱指示部319は、例えば、ユーザUが、
図5に示す詳細レシピ表示画面503の画像内に設けられた「送信」の文字を含む操作部59を操作することにより、操作受付部313が出力する起動を示す制御信号を受けて起動する。操作部59には、レシピA001に対応するレシピIDが対応付けられている。加熱指示部319は、操作部59に対する操作に起因して起動した場合、操作部59に対応付けられているレシピA001のレシピIDと、端末内情報350に含まれているユーザIDと、オーブンレンジ100の機器IDとを含む加熱指示信号をサーバ200に送信する。
【0026】
カレンダ設定部320は、サーバ200に、ユーザUのユーザIDに対応するカレンダ情報を要求して取得する。カレンダ設定部320は、取得したカレンダ情報に基づいて、表示制御部312を介して表示画面301aに、取得したカレンダ情報の内容を示すカレンダ画面を表示する。カレンダ設定部320は、カレンダ画面に対してユーザUが特定の日付を指定する操作と、指定した特定の日付に対して特定の日付種類情報を指定する操作とを示す制御情報を操作受付部313から取得する。カレンダ設定部320は、取得した制御情報から得られる特定の日付を示す情報と、特定の日付種類情報と、端末内情報350に含まれるユーザIDとを含むカレンダ情報追加指示信号をサーバ200に送信する。
【0027】
(サーバの構成)
サーバ200は、1つまたは複数のサーバ装置(例えばクラウドサーバ)により構成される。サーバ200は、図示しない通信モジュールを備えており、例えば、ネットワークNWに接続する。サーバ200は、ネットワークNW中のルータに含まれる情報処理部など、エッジコンピューティングやフォグコンピューティングを行う情報処理部を含んでもよい。サーバ200は、クラウドサーバに限定されず、ユーザUの住居にあるコンピュータでもよく、家庭内ルータ(例えば無線ルータWR)などでもよい。
【0028】
図8に示すように、サーバ200は、例えば、記憶部20、計時部21、DB管理部22、レシピ提案部23、評価値変更部24、推奨度算出部25、加熱条件出力部26、および外部情報取得部27を備える。計時部21、DB管理部22、レシピ提案部23、評価値変更部24、推奨度算出部25、加熱条件出力部26、および外部情報取得部27は、例えば、サーバ200に搭載されたCPUのような1つ以上のハードウェアプロセッサがプログラムを実行することにより実現されるソフトウェア機能部である。これら機能部は、複数のサーバ装置に分かれて備えられていてもよい。また、これら機能部のうち1つ以上の機能部が、サーバ200に代えて、端末装置300に備えられていてもよい。
【0029】
記憶部20は、ハードウェア機能部であり、ユーザDB201、機器登録DB202、レシピDB203、食材在庫DB204、購入予定食材DB205、カレンダDB206、操作履歴DB207、レシピ人気DB210、個人嗜好DB211、提案履歴DB212、および日付種類程度DB221を備え、更に、天気適合特性情報222、および再提案特性情報223を記憶する。
【0030】
ユーザDB201は、例えば、
図9に示すように、複数のユーザの各々に付与されるユーザIDと、対応するユーザIDのユーザUが使用する端末装置300に付与されるアドレス情報とを関連付けて記憶する。機器登録DB202は、例えば、
図10に示すように、ユーザIDごとに、機器IDと、家電機器のアドレス情報と、家電機器の型式を示す型式情報とを関連付けて記憶する。
【0031】
レシピDB203は、例えば、
図11に示すように、レシピID,レシピ名称、レシピ画像、食材リスト、調理手順、調理時間、人数分量、加熱、関連レシピ、属性、料理種類、程度、天気適合特性、および再提案特性の情報を対応付けて記憶する。以下、レシピDB203における1つの行のデータ、すなわち、1つのレシピIDに関連付けられているデータをレシピレコードという。なお、本出願において、「レシピ」と記載する場合、原則として、レシピレコードを示しているが、レシピレコードの一部から生成される詳細レシピデータや概要レシピデータを示す場合もある。
【0032】
「レシピID」と「調理手順」の項目の各々には、レシピレコードごとに付与されるレシピIDと、レシピレコードごとのレシピの内容、すなわち、調理手順を示す内容とがそれぞれ記憶される。「食材リスト」の項目には、レシピの各々において用いられる食材の各々の種類と、食材の各々の分量とが記憶される。「レシピ名称」、「レシピ画像」、「人数分量」「調理時間」、の項目の各々には、各々に対応する「調理手順」の項目の調理手順にしたがって、「食材リスト」の項目の食材を調理することにより得られる料理の名称と、当該料理の一例を撮影した画像データと、当該料理の人数分量と、当該調理に要する時間とがそれぞれ記憶される。なお、調理時間の項目に記憶される時間は、調理を行う時間を示している。ただし、下ごしらえ等が必要な場合には、下ごしらえ等に要する時間と調理を行う時間とを加算した時間を示すことになる。
【0033】
「加熱」の項目は、「型式情報」と「加熱条件」のサブ項目を有している。オーブンレンジ100の型式(機種)ごとに加熱条件は変わる。そのため、「加熱」の項目には、型式情報と、型式情報に対応する加熱条件を示す情報とが対応付けて記憶される。「関連レシピ」の項目には、レシピレコードの「レシピID」に対応する関連レシピのレシピIDが記憶される。「属性」の項目には、レシピレコードが示す料理の属性を示す属性情報が記憶される。「料理種類」の項目にはレシピレコードが示す料理の種類を示す料理種類情報が記憶される。ここで、属性情報とは、例えば、「卵料理」のように料理の主食材で分類した際に、各々の料理が属する分類カテゴリを示す情報である。すなわち、属性情報とは、使用する主食材に基づく分類(第1分類)により分けられた区分を示す情報である。属性情報が同一であるということは、用いる主食材が同一である類似した料理であることを意味する。一方で、料理種類情報とは、「中華料理」、「フランス料理」、「揚げ物」などのような味付けまたは調理法に基づいて分類された料理の種類、すなわち料理のジャンルを示す情報である。すなわち、料理種類情報とは、味付けまたは調理法に基づく分類(第2分類)により分けられた区分を示す情報である。なお、関連レシピのレシピID、属性情報、および料理種類情報は、レシピレコードごとに予め登録される。
【0034】
「程度」の項目には、レシピレコードが示す料理の程度、例えば、料理の豪華さ(言い換えると手間の大きさ)などを数値化して示した程度情報が記憶される。程度情報は、例えば、1~10の10段階で示され、数値が大きい方が、程度が高い(手間を要する)ことを示す。本出願で「所定基準以上の手間を要する」とは、例えば、調理時間が所定基準以上である、またはレシピに含まれる食材の数が所定基準以上であることを意味する。程度情報は、程度情報を定める人の主観によって定められてもよいし、レシピレコードの「食材リスト」の項目に示されている食材の種類の多さや、「調理時間」の項目に示されている時間の長さなどの客観的に特定される情報に基づいて演算により求められてもよい。
【0035】
「天気適合特性」の項目には、天気適合特性情報222に記憶されている複数の天気適合特性情報のいずれかであって、レシピレコードに該当する天気適合特性のパターンを示す情報が記憶される。「再提案特性」の項目には、再提案特性情報223に記憶されている複数の再提案特性情報のいずれかであって、レシピレコードに該当する再提案特性のパターンを示す情報が記憶される。
【0036】
食材在庫DB204は、例えば、ユーザIDごとに、ユーザIDが示すユーザUが使用する冷蔵庫101(または冷蔵庫101以外のユーザUの自宅の空間を含み得る)に在庫として存在する食材に関するデータ(食材在庫情報)であって、例えば、
図6に示す食材在庫リスト画面505に表示される食材に関するデータを記憶する。食材在庫DB204は、いわゆる在庫リストであり、ユーザUと関連付けて登録された食材の在庫を示す食材在庫情報の一例である。
【0037】
購入予定食材DB205は、例えば、ユーザIDごとに、ユーザIDが示すユーザUが、購入する予定の食材に関するデータ(購入予定情報)であって、例えば、
図7に示す購入予定食材リスト画面506に表示される食材に関するデータを記憶する。購入予定食材DB205は、いわゆる買い物リストであり、ユーザUと関連付けて登録された食材の購入予定を示す購入予定情報の一例である。
【0038】
カレンダDB206は、例えば、ユーザIDごとのカレンダ情報を記憶する。ここで、カレンダ情報とは、年度ごとの1月から12月までの日付が示されており、日付ごとに、日付種類情報として、曜日を示す情報と、祝日を示す情報とが、予め付与された情報である。カレンダ情報には、更に、端末装置300のカレンダ設定部320によって特定の日付に関連付けて設定された特別日(例えば誕生日やその他の記念日」などの個々のユーザによって異なる日付種類情報が含まれる。
【0039】
操作履歴DB207は、家電機器100,101から受信した操作情報と、端末装置300から受信した操作情報とを時系列順に記憶する。
【0040】
レシピ人気DB210は、例えば、
図12に示すように、レシピIDと、当該レシピIDに対応するレシピに対する全体評価値(例えば、複数のユーザUによる評価の平均値または中央値)とを対応付けて記憶する。ここで、全体評価値とは、情報処理システム1のサーバ200を利用する複数のユーザUによって評価されたレシピの評価値である。
【0041】
個人嗜好DB211は、例えば、
図13に示すように、ユーザIDごとに、レシピIDと、当該レシピIDに対応するレシピに対するユーザ評価値(ユーザU個人による評価値)とを対応付けて記憶する。ここで、「ユーザ評価値」とは、ユーザIDが示すユーザ個人によって評価されたレシピの評値値である。
【0042】
なお、個人嗜好DB211は、ユーザIDごとに、各レシピ(各料理)に対する評価値に代えて/加えて、主食材に対する評価値(材料評価値)を記憶してもよい。この場合、後述するレシピ提案部23は、各レシピに設定された評価値に代えて/加えて、各レシピに含まれる主食材に設定された評価値に基づいて、複数のレシピのなかから1つ以上のレシピを選択してユーザUに提案してもよい。このため以下の説明における「レシピに対する全体評価値」は「レシピに含まれる主食材に対する全体評価値」と読み替えられてもよく、また「レシピに対するユーザ評価値」は「レシピに含まれる主食材に対するユーザ評価値」と読み替えられてもよい。
【0043】
提案履歴DB212は、例えば、
図14に示すように、ユーザIDごとに、レシピIDと、当該レシピIDの詳細レシピデータが、対応するユーザIDが示すユーザUに提案された回数と、直近の提案時刻とを対応付けて記憶する。ユーザIDが示すユーザUに提案された回数とは、例えば、サーバ200が、ユーザIDが示すユーザの端末装置300に、対応するレシピIDの詳細レシピデータを送信した回数である。また、直近の提案時刻とは、対応するユーザIDのユーザUに対して、対応するレシピIDの詳細レシピデータが最後に送信された時刻である。
【0044】
日付種類程度DB221は、例えば、
図15に示すように、日付種類を示す日付種類情報と、提案するレシピの程度を示す程度情報とを対応付けて記憶する。
【0045】
天気適合特性情報222には、例えば、
図16に示すような複数の特性のパターンを示す情報が含まれる。
図16において、横軸は、天気の内容を数値化して示している。例えば、横軸は、良い天気であるほど数値が大きくなるように、天気の内容が数値化されている。縦軸は、各レシピの天気適合度(天気適合特性)を示す。例えば、符号71で示す天気適合特性のパターンのレシピは、晴天の場合に天気適合度が高く、雨天や曇天の場合に天気適合度が低いことを示す。
【0046】
符号71のパターンが、例えば、
図11のレシピDB203において示した天気適合特性パターンAである場合、レシピID「A001」のレシピは、晴天において提供されることが望ましい料理を示すレシピであることを示す。これに対して、符号72のパターンは、全ての天気において一定の天気適合度を示している。そのため、符号72のパターンが適用されたレシピは、天気の状態に関わらず提案されるレシピになるため、例えば、日常的に食する料理を示すレシピには、符号72のパターンが適用されるのが望ましい。
【0047】
再提案特性情報223は、例えば、
図17に示すような複数の特性のパターンを示す情報が含まれている。
図17において、横軸は、最後に提案してからの経過時間を示しており、左端が原点、すなわち「0時間」を示している。縦軸は、再提案すべき度合を示す再提案係数を示している。例えば、符号73で示す再提案特性のパターンは、あるレシピの詳細レシピデータを最後に提案してから、N時間程度の時間が経過しないと、当該あるレシピの詳細レシピデータを再提案しないようにする特性であることを示す。程度情報の数値が大きいレシピは、非常に豪華な料理を示すことになり、このような非常に豪華な料理は、1年に1回、提案すれば十分であると考えられる。この場合、当該レシピに、符号73で示す再提案特性のパターンであって、N時間が、1年分程度の時間であるようなパターンを適用すれば、1年に1回程度の頻度で上記レシピが提案されることになる。
【0048】
これに対して、符号74で示す再提案特性のパターンは、最後に提案してからの経過時間によらず、一定の再提案係数を示している。そのため、符号74のパターンが適用されたレシピは、一定の頻度で提案されるレシピになるため、例えば、日常的に食する料理を示すレシピには、符号74のパターンが適用されるのが望ましい。符号75で示す再提案特性のパターンは、最後に提案してから所定時間以内(例えば同じ季節の間や、特定の食材が旬の間)には再提案され、その後、しばらく再提案されなくなるレシピである。
【0049】
サーバ200において、計時部21は、例えば時計であり、他の機能部から要求を受けると、要求を受けた時点の時刻を示す時刻情報を要求元の機能部に出力する。
【0050】
DB管理部22は、ユーザDB201、機器登録DB202、レシピDB203、食材在庫DB204、購入予定食材DB205、カレンダDB206、操作履歴DB207、および日付種類程度DB221、並びに、天気適合特性情報222、および再提案特性情報223に対するデータの記録や変更などの処理を行う。例えば、情報処理システム1の運用者が、サーバ200に接続された装置を介してDB管理部22を操作することによって、DB管理部22が、外部から取り込むデータを、レシピDB203、日付種類程度DB221、天気適合特性情報222、および再提案特性情報223に対して記録する。
【0051】
DB管理部22は、端末装置300の食材在庫設定部317、購入予定食材設定部318、およびカレンダ設定部320の各々から、追加、変更、削除などの各種の指示信号を受信する。DB管理部22は、受信した指示信号の種類と、指示信号に含まれている指示内容とにしたがって、食材在庫DB204、購入予定食材DB205、カレンダDB206が記憶するデータの追加、変更、削除などの処理を行う。DB管理部22は、家電機器100,101、および端末装置300から操作情報を受信すると、受信した操作情報を操作履歴DB207に記録する。
【0052】
レシピ提案部23は、レシピDB203に記憶された(予め登録された)複数のレシピのなかから1つ以上のレシピを選択してユーザUに提案する。例えば、レシピ提案部23は、ユーザUにより指定された条件(例えばレシピの検索条件)に基づき、上記複数のレシピのなかから1つ以上のレシピを選択してユーザUに提案する。本出願で「レシピを提案する」とは、例えば、選択したレシピに関する情報を端末装置300に送信することを意味する。
【0053】
本実施形態では、レシピ提案部23は、レシピ検索要求信号を端末装置300から受信すると、レシピDB203が記憶するデータから概要レシピデータを生成する。レシピ提案部23は、生成した概要レシピデータを含むレシピ検索応答信号を端末装置300に送信する。レシピ提案部23は、詳細レシピ要求信号を端末装置300から受信すると、レシピDB203が記憶するデータから詳細レシピデータを生成する。レシピ提案部23は、生成した詳細レシピデータを含む詳細レシピ応答信号を端末装置300に送信すると共に、詳細レシピ応答信号の内容にしたがって提案履歴DB212を更新する。
【0054】
本出願では、レシピ提案部23は、各レシピに設定された自然環境条件に対する適合特性と、レシピを提案する際の自然環境条件とに応じて、複数のレシピのなかから1つ以上のレシピを選択して提案する。
【0055】
評価値変更部24は、レシピ提案部23により提案されたレシピ(以下「提案レシピ」と称する場合がある)に関してユーザUの所定の操作が検出された場合、提案レシピに設定された評価値(例えば後述する全体評価値またはユーザ評価値)を増加させる。上記所定の操作の少なくとも1つは、例えば、提案レシピに関する直接的な操作とは異なる操作である。上記所定の操作の少なくとも1つは、例えば、提案レシピを選択または参照する(閲覧する)ユーザUの操作とは異なる操作である。評価値変更部24は、「評価部」の一例である。
【0056】
上記所定の操作の一例は、提案レシピに含まれる少なくとも1つの食材(例えば提案レシピに含まれる主食材)を、ユーザUと関連付けて登録された食材の在庫を示す食材在庫情報(例えば食材在庫DB204、いわゆる在庫リスト)から削除または減少させる操作である。上記所定の操作の別の一例は、提案レシピに含まれる少なくとも1つの食材(例えば提案レシピに含まれる主食材)を、ユーザUと関連付けて登録された食材の購入予定を示す購入予定情報(例えば購入予定食材DB205、いわゆる買い物リスト)に追加する操作である。
【0057】
上記所定の操作の別の一例は、提案レシピの詳細の少なくとも一部を閲覧するための操作(例えば、先に複数の提案レシピの概要の一覧が提供され、当該複数の提案レシピに含まれる1つの提案レシピの詳細の少なくとも一部(例えば材料の詳細情報または調理手順の詳細情報))を閲覧するための操作)である。
【0058】
上記所定の操作の別の一例は、調理用家電機器100に関する操作であって、提案レシピに含まれる調理工程(レシピの調理手順に示される調理工程)に対応する操作である。「調理工程に対応する操作」とは、例えば、加熱の調理工程に対応する加熱情報をサーバ200から調理用家電機器100に送信させるための操作でもよいし、加熱の調理工程に対応する加熱設定を調理用家電機器100に対してユーザUが直接に行う(例えば手動で行う)操作などでもよい。
【0059】
上記所定の操作の別の一例は、提案レシピの提案に合わせて、提案レシピと所定の関係を有する関連レシピが提案される場合、上記関連レシピに関する肯定的な操作である。「関連レシピ」とは、例えば提案レシピが「とんかつ」である場合における豚汁などであり、提案レシピと同じ食事で提供されて食される(組み合わせで提供されて食される)傾向を持つレシピである。関連レシピは、レシピDB203において提案レシピと予め関連付けて登録されている。「肯定的な操作」とは、例えば、関連レシピを選択する操作(例えば、お気に入り登録などを行う操作)、関連レシピの詳細の少なくとも一部を閲覧するための操作、関連レシピに含まれる少なくとも1つの食材(例えば、関連レシピに含まれる主食材)をユーザUと関連付けて登録された上記食材在庫情報(例えば食材在庫DB204)から削除または減少させる操作、関連レシピに含まれる少なくとも1つの食材(例えば、関連レシピに含まれる主食材)をユーザUと関連付けて登録された上記購入予定情報(購入予定食材DB205)に追加する操作、または、調理用家電機器100に関する操作であって、関連レシピに含まれる調理工程(レシピの調理手順に示される調理工程)に対応する操作である。
【0060】
例えば、評価値変更部24は、レシピ提案部23により提案されて一覧表示された複数の提案レシピに含まれる1つのレシピ(以下「選択レシピ」と称する場合がある)に関して上記所定の操作が検出された場合、上記選択レシピの評価値を増加させるとともに、複数の提案レシピに含まれる別の1つ以上のレシピ(以下「非選択レシピ」と称する場合がある)の評価値を減少させる。
【0061】
例えば、評価値変更部24は、レシピ提案部23により第1レシピが提案された場合であって、第1レシピに類似した第2レシピに関して上記所定の操作が検出された場合、第1レシピの評価値を減少させる。例えば、評価値変更部24は、レシピ提案部23により第1レシピと、当該第1レシピに類似した第2レシピが提案された場合であって、第2レシピに関して上記所定の操作が検出された場合、第1レシピの評価値を減少させる。本出願で「レシピが類似」とは、主となる食材および主たる調理法が同じであり、補助的な食材または調理法の細部が異なることを意味する。「第2レシピに関して上記所定の操作が検出された場合」とは、例えば、第2レシピを選択する操作(例えば、お気に入り登録などを行う操作)、第2レシピの詳細の少なくとも一部を閲覧するための操作、第2レシピに含まれる少なくとも1つの食材をユーザUと関連付けて登録された上記食材在庫情報(例えば食材在庫DB204)から削除または減少させる操作、第2レシピに含まれる少なくとも1つの食材をユーザUと関連付けて登録された上記購入予定情報(例えば購入予定食材DB205)に追加する操作、調理用家電機器100に関する操作であって、第2レシピに含まれる調理工程(レシピの調理手順に示される調理工程)に対応する操作である。
【0062】
本実施形態では、評価値変更部24は、レシピDB203に記憶されているレシピレコードと、レシピ提案部23が行う処理に関する情報と、加熱条件出力部26が端末装置300から受信する加熱指示信号と、食材在庫DB204、購入予定食材DB205、または操作履歴DB207に記憶されるデータとに基づいて、レシピ人気DB210の全体評価値、および個人嗜好DB211のユーザ評価値を変更する処理(例えば、増加させる処理、または減少させる処理)を行う。
【0063】
推奨度算出部25は、レシピDB203に記憶されるレシピレコードごとに、レシピ人気DB21の全体評価値と、個人嗜好DB211のユーザ評価値と、計時部21から取得する時刻情報と、カレンダDB206に記憶されているデータと、日付種類程度DB221に記憶されているデータと、天気適合特性情報222と、再提案特性情報223とに基づいて、推奨度を算出する。
【0064】
加熱条件出力部26は、加熱指示信号を端末装置300から受信すると、加熱指示信号に対応する加熱条件をレシピDB203から検出する。加熱条件出力部26は、検出した加熱条件をオーブンレンジ100に送信する。
【0065】
外部情報取得部27は、他の機能部から要求を受けると、例えば、ネットワークNWに接続されている天気の情報を提供するサーバから、要求を受けた時点での天気を示す天気情報を取得する。外部情報取得部27は、取得した天気情報を要求元の機能部に出力する。
【0066】
なお、サーバ200の計時部21、DB管理部22、レシピ提案部23、評価値変更部24、推奨度算出部25、加熱条件出力部26、および外部情報取得部27は、ソフトウェア機能部によって実現することに限られない。これらの機能部の一部または全部は、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはFPGA(Field Programmable Gate Array)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。
【0067】
端末装置300の記憶部310、およびサーバ200の記憶部20は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、またはSSD(Solid State Drive)などの組み合わせにより実現される。
【0068】
(情報処理システムによる処理)
図18は、情報処理システム1によって行われる処理の全体の流れを示すシーケンス図である。ユーザUが、
図3に示すホーム画面501の操作部53を操作し、これにより、レシピ検索要求部315が起動して、端末内情報350に含まれているユーザIDを含むレシピ検索要求信号を生成する。レシピ検索要求部315は、生成したレシピ検索要求信号をサーバ200に送信する(S1)。
【0069】
サーバ200のレシピ提案部23は、レシピ検索要求信号を受信すると、レシピ検索要求処理のサブルーチンを開始する(S2)。なお、レシピ検索要求処理のサブルーチンについては、後述する。レシピ提案部23は、レシピ検索要求処理のサブルーチンにおいて得られたレシピIDの順番にしたがって、レシピIDの各々に対応するレシピレコードから、各々に対応する概要レシピデータを生成する。なお、概要レシピデータは、レシピに関して、例えば、レシピID、レシピ名称、およびレシピのサムネイル画像のみを含むデータである。レシピ提案部23は、レシピ検索要求信号に含まれるユーザID「U100」と、生成した概要レシピデータとを含むレシピ検索応答信号を端末装置300に送信する(S3)。
【0070】
端末装置300のレシピ検索要求部315は、レシピ検索応答信号を受信する。レシピ検索要求部315は、表示制御部312を介して表示画面301aに、受信したレシピ検索応答信号に含まれている概要レシピデータの各々に基づいて生成する概要レシピ一覧表示画面502を表示する(S4)。これにより、
図4に示すような形式で、概要レシピデータの各々に含まれているレシピ画像のデータと、レシピ名称とが、一覧表示される。
【0071】
上記したように、概要レシピ一覧表示画面502に表示されるレシピ画像領域の各々は、操作部になっており、各々に対応するレシピIDが対応付けられている。ここで、ユーザUが、例えば、レシピID「A001」のレシピ画像領域に対応する操作部54を操作すると、詳細レシピ要求部316が起動する。詳細レシピ要求部316は、操作部54に対応付けられたレシピID「A001」(以下、詳細レシピのレシピIDという)と、端末内情報350に含まれるユーザID「U100」と、レシピ検索応答信号に含まれる全ての概要レシピデータのレシピID(以下、概要レシピのレシピIDという)とを含む詳細レシピ要求信号を生成する。詳細レシピ要求部316は、生成した詳細レシピ要求信号をサーバ200に送信する(S5)。
【0072】
サーバ200のレシピ提案部23は、詳細レシピ要求信号を受信し、受信した詳細レシピ要求信号に含まれている詳細レシピのレシピID「A001」と、ユーザID「U100」と、概要レシピのレシピIDとを評価値変更部24に出力する。評価値変更部24は、レシピ提案部23から詳細レシピのレシピID「A001」と、ユーザID「U100」と、概要レシピのレシピIDとを受けると、
図19に示す第1評価処理のサブルーチンを開始する(S6)。
【0073】
(第1評価処理のサブルーチン)
評価値変更部24は、レシピ提案部23が出力する詳細レシピのレシピID「A001」と、ユーザID「U100」と、概要レシピのレシピIDとを取り込む。評価値変更部24は、取り込んだ詳細レシピのレシピID「A001」と、ユーザID「U100」とを関連付けて内部の記憶領域に記録する(Sa1)。
【0074】
評価値変更部24は、レシピ人気DB210において、詳細レシピのレシピID「A001」に対応する全体評価値に対して、全体評価値を増加させるための所定の計算(例えば予め定められた所定値(第1所定値)の加算)を行うことで、全体評価値を増加させる(Sa2)。評価値変更部24は、個人嗜好DB211において、ユーザID「U100」に対応するテーブルを選択する。評価値変更部24は、選択したテーブルにおいて、詳細レシピのレシピID「A001」に対応するユーザ評価値に対して、ユーザ評価値を増加させるための所定の計算(例えば予め定められる所定値(第2所定値)の加算)を行うことで、ユーザ評価値を増加させる(Sa3)。Sa2、Sa3の処理により、提案された複数のレシピの中からユーザUが参照する(閲覧する)ために選択した1つのレシピの全体評価値およびユーザ評価値が増加する。
【0075】
評価値変更部24は、レシピ人気DB210において、取り込んだ概要レシピのレシピIDから詳細レシピのレシピID「A001」とは異なる別のレシピIDの各々(例えば、取り込んだ概要レシピのレシピIDから詳細レシピのレシピID「A001」を除いた残りの全てのレシピIDの各々)に対応する全体評価値に対して、全体評価値を減少させるための所定の計算(例えば予め定められた所定値(第3所定値)の減算)を行うことで、各々に対応する全体評価値を減少させる(Sa4)。評価値変更部24は、個人嗜好DB211において、ユーザID「U100」に対応するテーブルを選択する。評価値変更部24は、選択したテーブルにおいて、取り込んだ概要レシピのレシピIDから詳細レシピのレシピID「A001」とは異なる別のレシピIDの各々(例えば、取り込んだ概要レシピのレシピIDから詳細レシピのレシピID「A001」を除いた残りの全てのレシピIDの各々)に対応するユーザ評価値に対して、ユーザ評価値を減少させるための所定の計算(例えば予め定められた所定値(第4所定値)の減算)を行うことで、各々に対応するユーザ評価値を減少させる(Sa5)。
【0076】
S4の処理においてユーザUに提案された概要レシピのレシピIDから詳細レシピのレシピID「A001」を除いたレシピIDは、ユーザUの好みでないレシピであると見做すことができる。そのため、Sa4,Sa5の処理により、ユーザUの好みでないレシピの全体評価値およびユーザ評価値が減少する。
【0077】
評価値変更部24は、レシピDB203から、詳細レシピのレシピID「A001」に対応するレシピレコードを検出し、検出したレシピレコードの「属性」の項目に記憶された属性情報を検出する。レシピDB203が、
図11に示すレシピID「A001」のレシピレコードを記憶している場合、評価値変更部24は、レシピ「A001」に対する属性情報として「卵料理」を検出する。この場合、評価値変更部24は、取り込んだ概要レシピのレシピIDから詳細レシピのレシピID「A001」を除いたレシピIDであり、かつ属性情報に「卵料理」を含むレシピID(非選択レシピ)を検出する。評価値変更部24は、個人嗜好DB211において、ユーザID「U100」に対応するテーブルを選択する。評価値変更部24は、選択したテーブルにおいて、検出した非選択レシピのレシピIDの各々に対応するユーザ評価値に対して所定の計算を行うことで、各々に対応するユーザ評価値を減少させる(Sa6)。なお、評価値変更部24は、Sa6と同様の処理を、非選択レシピのレシピIDに対応する全体評価値に対して行ってもよい。
【0078】
S4の処理においてユーザUに提案された概要レシピのレシピIDから詳細レシピのレシピIDを除いたレシピIDであって、詳細レシピと同一の属性のレシピは、ユーザUの好みでないレシピであると見做すことができる。そのため、Sa5の処理に加えて、Sa6の処理を行うことにより、ユーザUの好みをより強調して示すことが可能になる。
【0079】
Sa6の処理の後、第1評価処理のサブルーチンは、終了する。なお、上記の第1評価処理において、Sa2~Sa6の処理は、任意の順で行われてもよい。
【0080】
図18に戻り、レシピ提案部23は、受信した詳細レシピ要求信号に含まれているレシピID「A001」に対応するレシピレコードをレシピDB203から検出する。レシピ提案部23は、読み出したレシピID「A001」に対応するレシピレコードから詳細レシピデータを生成する。なお、詳細レシピデータは、対応するレシピレコードに含まれるレシピIDと、レシピ名称と、レシピ画像と、食材リストと、調理手順と、人数分量と、関連レシピのレシピIDとを示す情報を含むデータである。レシピ提案部23は、受信した詳細レシピ要求信号に含まれているユーザID「U100」と、生成した詳細レシピデータを含む詳細レシピ応答信号を生成する。レシピ提案部23は、生成した詳細レシピ応答信号を端末装置300に送信する。
【0081】
レシピ提案部23は、計時部21から時刻情報を取得する。レシピ提案部23は、提案履歴DB212において、送信した詳細レシピ応答信号に含まれているユーザID「U001」に対応するテーブルを選択する。レシピ提案部23は、選択したテーブルにおいて、詳細レシピ応答信号に含まれている詳細レシピのレシピID「A001」に対応する「提案回数」の項目の値に「1」を加算し、「直近の提案時刻」の項目の時刻を、取得した時刻情報に書き換える(S7)。
【0082】
端末装置300の詳細レシピ要求部316は、詳細レシピ応答信号を受信する。詳細レシピ要求部316は、受信した詳細レシピ応答信号に含まれる詳細レシピデータに基づいて、表示制御部312を介して表示画面301aに、
図5に示す詳細レシピ表示画面503を表示する(S8)。
【0083】
ユーザUは、例えば、詳細レシピ表示画面503を参照して、詳細レシピ表示画面503に表示されたレシピID「A001」が示す料理を調理することを決めた場合、レシピに含まれる食材が自宅に存在するか否かの確認を行うことが想定される。例えば、ユーザUは、食材在庫設定部317を起動する操作を行う。食材在庫設定部317は、表示制御部312を介して表示画面301aに
図6に示す食材在庫リスト画面505を表示する。例えば、ユーザUは、「豚肉」を食材として使う場合、食材在庫リスト画面505に設けられている「豚肉」に関連付けられた操作部64において、「豚肉」の在庫登録を削除または減少させるための所定の操作を行う。ここで、食材在庫リスト画面505から食材の在庫登録を削除または減少させるとは、ユーザUが自宅に保有する食材を消費することを意味する。食材在庫設定部317は、端末内情報350に含まれるユーザID「U100」と、「豚肉」の在庫登録を削除または減少させる操作が行われたことを示す情報とを含む食材在庫削除指示信号をサーバ200に送信する(S9)
【0084】
サーバ200のDB管理部22は、食材在庫削除指示信号を受信すると、食材在庫DB204において、受信した食材在庫削除指示信号に含まれるユーザID「U100」に対応するテーブルを選択する。DB管理部22は、選択したテーブルにおいて、食材在庫削除指示信号に含まれる「豚肉」についての食材の在庫登録を削除または減少させる。DB管理部22は受信した食材在庫削除指示信号を評価値変更部24に出力する(S10)。評価値変更部24は、DB管理部22から食材在庫削除指示信号を受けると、
図20に示す第2評価処理のサブルーチンを開始する(S11)。
【0085】
(第2評価処理のサブルーチン)
評価値変更部24は、DB管理部22が出力する食材在庫削除指示信号を取り込む(Sb1)。評価値変更部24は、取り込んだ食材在庫削除指示信号が示す食材を処理対象食材とする(Sb2)。ここでは、評価値変更部24は、「豚肉」を処理対象食材とする。評価値変更部24は、食材在庫削除指示信号に含まれるユーザID「U100」に関連付けられて記憶された詳細レシピのレシピID「A001」を読み出す(Sb3)。なお、レシピID「A001」を示す情報は、ユーザID「U100」に関連付けられて保持されることに代えて、食材在庫削除指示信号に含まれてもよい。
【0086】
評価値変更部24は、レシピDB203からレシピID「A001」に対応するレシピレコードを検出し、検出したレシピレコードの「食材リスト」の項目に記憶された食材を示す情報を読み出す。ここでは、
図11に示すように、評価値変更部24は、食材を示す情報として「豚肉」と「卵」とを読み出したとする。この場合、評価値変更部24は、食材在庫削除指示信号が示す「豚肉」が、読み出した食材を示す情報に含まれるか否かを判定する(Sb4)。評価値変更部24は、食材在庫削除指示信号が示す「豚肉」が、読み出した食材を示す情報に含まれないと判定した場合(Sb4、No)、サブルーチンを終了する。一方、評価値変更部24は、食材在庫削除指示信号が示す「豚肉」が、読み出した食材を示す情報に含まれると判定した場合(Sb4、Yes)、食材在庫削除指示信号に含まれるユーザID「U100」と、内部の記憶領域にユーザID「U100」に関連付けて記憶された詳細レシピのレシピID「A001」とに基づいて、第1評価処理のSa3の処理を行う(Sb5)。すなわち、レシピID「A001」に関するユーザ評価値を増加させる。ここでは、処理対象食材である「豚肉」が、レシピID「A001」の詳細レシピの食材である「豚肉」、「卵」に含まれるため、Sb5の処理が行われることになる。なお、評価値変更部24は、ユーザ評価値を増加させることに代えて/加えて、レシピID「A001」に関する全体評価値を増加させてもよい。
【0087】
評価値変更部24は、レシピDB203から、詳細レシピのレシピID「A001」に対応するレシピレコードを検出し、検出したレシピレコードの「関連レシピ」の項目に記憶された関連レシピのレシピIDを検出する(Sb6)。レシピDB203が、
図11に示すレシピID「A001」のレシピレコードを記憶している場合、評価値変更部24は、関連レシピのレシピIDとしてレシピID「A031」,「A043」の2つを検出する。
【0088】
評価値変更部24は、検出した関連レシピのレシピIDを1つずつ選択して以下の処理を行う。評価値変更部24は、レシピDB203から選択した関連レシピのレシピIDに対応するレシピレコードを検出し、検出したレシピレコードの「食材リスト」の項目に記憶されている食材を示す情報(以下、関連レシピの食材という)を読み出す。評価値変更部24は、食材在庫削除指示信号が示す食材が、選択中の関連レシピの食材に含まれるか否かを判定する(Sb7)。評価値変更部24は、食材在庫削除指示信号が示す食材が、選択中の関連レシピの食材に含まれないと判定した場合(Sb7、No)、次の関連レシピのレシピIDを選択して再びSb7の処理を行う。
【0089】
一方、評価値変更部24は、食材在庫削除指示信号が示す食材が、選択中の選択中の関連レシピの食材に含まれると判定したとする(Sb7、Yes)。この場合、評価値変更部24は、食材在庫削除指示信号に含まれたユーザID「U100」と、Sb3の処理において検出した詳細レシピのレシピID「A001」とに基づいて、第1評価処理のSa3の処理を行う(Sb8)。すなわち、評価値変更部24は、選択中の関連レシピの元であるレシピID「A001」に関するユーザ評価値を増加させる。なお、評価値変更部24は、ユーザ評価値を増加させることに代えて/加えて、レシピID「A001」に関する全体評価値を増加させてもよい。
【0090】
また、評価値変更部24は、個人嗜好DB211において、食材在庫削除指示信号に含まれるユーザID「U100」に対応するテーブルを選択する。評価値変更部24は、選択したテーブルにおいて、関連レシピのレシピIDに対応するユーザ評価値に対して、所定の計算を行うことでユーザ評価値を増加させる(Sb9)。なお、評価値変更部24は、選択中の関連レシピのユーザ評価値を増加させることに代えて/加えて、選択中の関連レシピの全体評価値を増加させてもよい。
【0091】
評価値変更部24は、次の関連レシピのレシピIDを選択して再びSb7の処理を行う。評価値変更部24は、検出した全ての関連レシピのレシピIDについて、Sb7~Sb9の処理を完了すると(ループ処理Lb1s~Lb1e)、サブルーチンを終了する。
【0092】
これにより、詳細レシピであるレシピID「A001」の食材であって、ユーザUの自宅に在庫として存在する食材を、ユーザUが消費したと見做される状態である場合に、Sb5の処理により、個人嗜好DB211において、詳細レシピ「A001」に対するユーザUのユーザ評価値が増加する。また、ユーザUが、関連レシピの食材であって、ユーザUの自宅に在庫として存在する食材を消費したと見做される状態である場合に、Sb8の処理により、個人嗜好DB211において、関連レシピに対応する詳細レシピ「A001」に対するユーザUのユーザ評価値が増加するとともに、Sb9の処理により、関連レシピのユーザUのユーザ評価値が増加する。したがって、ユーザUが、詳細レシピを参照するだけことに加えて/代えて、詳細レシピの食材を自宅の在庫から消費したと見做される場合に、詳細レシピに対するユーザUの評価が強調される。更に、ユーザUが使用しようとする食材が関連レシピに含まれる場合、ユーザUは、関連レシピの料理も合わせて調理することが想定されるので、関連レシピに対してもユーザUの評価が反映され、関連レシピに対応する詳細レシピに対するユーザUの評価も強調される。
【0093】
ユーザUは、例えば、ユーザUの自宅に食材が存在するかを確認した結果、レシピID「A001」の料理を作るために必要な「卵」が不足する、または在庫が無くなるため新たな購入が必要になると把握したとする。この場合、ユーザUは、次に、「卵」を購入するための行為を行うことになる。例えば、ユーザUは、購入予定食材設定部318を起動する操作を行う。購入予定食材設定部318は、表示制御部312を介して表示画面301aに
図7に示す購入予定食材リスト画面506を表示する。ただし、この段階では、購入予定食材リスト画面506に食材に関するデータが表示されていないものとする。
【0094】
例えば、ユーザUは、「卵」を食材として使う場合、購入予定食材リスト画面506に設けられた操作部65を操作して、「卵」についての食材に関するデータ(購入予定の登録)を追加する操作を行う。当該操作を受けて、購入予定食材設定部318は、例えば、
図7に示すように「卵」についての食材に関するデータを購入予定食材リスト画面506に追加で表示する。購入予定食材リスト画面506は、端末内情報350に含まれるユーザID「U100」と、「卵」についての食材に関するデータとを含む購入予定食材追加指示信号をサーバ200に送信する(S12)。
【0095】
サーバ200のDB管理部22は、購入予定食材追加指示信号を受信すると、購入予定食材DB205において、受信した購入予定食材追加指示信号に含まれるユーザID「U100」に対応するテーブルを選択する。DB管理部22は、選択したテーブルにおいて、「卵」についての食材に関するデータを追加する。DB管理部22は受信した購入予定食材追加指示信号を評価値変更部24に出力する(S13)。評価値変更部24は、DB管理部22から購入予定食材追加指示信号を受けると、
図21に示す第3評価処理のサブルーチンを開始する(S14)。
【0096】
(第3評価処理のサブルーチン)
評価値変更部24は、DB管理部22が出力する購入予定食材追加指示信号を取り込む(Sc1)。評価値変更部24は、取り込んだ購入予定食材追加指示信号に含まれる食材を処理対象食材とする(Sc2)。ここでは、評価値変更部24は、「卵」を処理対象食材とすることになる。評価値変更部24は、内部の記憶領域から、取り込んだ購入予定食材追加指示信号に含まれるユーザID「U100」に関連付けられて記憶されている詳細レシピのレシピID「A001」を読み出す(Sc3)。以下、第2評価処理のSb4,Sb5,Sb6と同一の処理が、それぞれSc4,Sc5,Sc6の処理として行われ、ループ処理Lb1s~Lb1eと同一の処理が、ループ処理Lc1s~Lc1eとして行われる。すなわち、評価値変更部24は、レシピID「A001」に関するユーザ評価値を増加させる。なお、評価値変更部24は、ユーザ評価値を増加させることに代えて/加えて、レシピID「A001」に関する全体評価値を増加させてもよい。
【0097】
これにより、ユーザUが、詳細レシピであるレシピID「A001」の食材の購入予定を追加したと見做される場合に、Sc5の処理により、個人嗜好DB211において、詳細レシピ「A001」に対するユーザUのユーザ評価値が増加する。また、ユーザUが、関連レシピの食材の購入予定を追加した見做される場合に、Sc8の処理により、個人嗜好DB211において、関連レシピに対応する詳細レシピ「A001」に対するユーザUのユーザ評価値が増加するとともに、Sc9の処理により、関連レシピのユーザUのユーザ評価値が増加する。したがって、ユーザUが、詳細レシピを参照することに加えて/代えて、詳細レシピの食材の購入予定を追加したと見做される場合に、詳細レシピに対するユーザUの評価が強調される。更に、ユーザUが購入予定を追加した食材が関連レシピに含まれる場合、ユーザUは、関連レシピの料理も合わせて調理することが想定されるので、関連レシピに対してもユーザUの評価が反映され、関連レシピに対応する詳細レシピに対するユーザUの評価も強調される。
【0098】
図18に戻り、レシピ「A001」の食材が揃い、ユーザUが、オーブンレンジ100の庫内に食材を配置した上で、
図5に示す詳細レシピ表示画面503の「送信」の文字を含む操作部59を操作する。当該操作を受けて、加熱指示部319は、操作部57に対応付けられているレシピID「A001」と、端末内情報350に含まれているユーザID「U001」と、オーブンレンジ100に対応する機器IDとを含む加熱指示信号を生成する。加熱指示部319は、生成した加熱指示信号をサーバ200に送信する(S15)。
【0099】
サーバ200の加熱条件出力部26は、加熱指示信号を受信する。加熱条件出力部26は、受信した加熱指示信号を評価値変更部24に出力する。加熱条件出力部26は、加熱指示信号に含まれているレシピID「A001」と、オーブンレンジ100に対応する加熱条件を示す情報と、オーブンレンジ100のアドレス情報とを、それぞれレシピDB203と、機器登録DB202とから検出する。加熱条件出力部26は、検出したアドレス情報を宛先情報として、検出した加熱条件を示す情報をオーブンレンジ100に送信する(S16)。オーブンレンジ100は、加熱条件を示す情報を受信すると、受信した加熱条件を示す情報にしたがって、レシピID「A001」の調理手順に示される加熱の調理工程に対応する加熱を開始する(S18)。
【0100】
評価値変更部24は、加熱条件出力部26から加熱指示信号を受けると、
図22に示す第4評価処理のサブルーチンを開始する(S17)。
【0101】
(第4評価処理のサブルーチン)
評価値変更部24は、加熱条件出力部26が出力する加熱指示信号を取り込む(Sd1)。評価値変更部24は、内部の記憶領域から、取り込んだ加熱指示信号に含まれているユーザID「U100」に関連付けられて記憶された詳細レシピのレシピID「A001」を読み出す。評価値変更部24は、読み出した詳細レシピのレシピID「A001」と、加熱指示信号に含まれているレシピIDとが一致するか否かを判定する(Sd2)。
【0102】
評価値変更部24は、レシピIDが一致しないと判定した場合(Sd2、No)、サブルーチンを終了する。一方、評価値変更部24は、レシピIDが一致すると判定した場合(Sd2、Yes)、加熱指示信号に含まれるユーザID「U100」と、内部の記憶領域にユーザID「U100」に関連付けて記憶された詳細レシピのレシピID「A001」とに基づいて、第1評価処理のSa3の処理を行い(Sd3)、サブルーチンを終了する。すなわち、評価値変更部24は、レシピID「A001」に関するユーザ評価値を増加させる。なお、評価値変更部24は、ユーザ評価値を増加させることに代えて/加えて、レシピID「A001」に関する全体評価値を増加させてもよい。
【0103】
これにより、ユーザUが、詳細レシピの料理を調理した場合に、個人嗜好DB211において、詳細レシピ「A001」に対するユーザUのユーザ評価値が増加する。そのため、ユーザUの評価が強調されることになる。
【0104】
なお、上記した評価値変更部24による処理に加えて、以下のような処理を行ってもよい。
図18のS8の処理において、端末装置300の表示画面301aに
図5に示す詳細レシピ表示画面503が表示される。この場合に、ユーザUが、詳細レシピ表示画面503の操作部56を操作すると、詳細レシピデータに含まれる食材リストの内容が詳細レシピ表示画面503内に表示される。また、ユーザUが、詳細レシピ表示画面503の操作部57を操作すると、詳細レシピデータの調理手順の内容が詳細レシピ表示画面503内に表示される。このように、詳細レシピ表示画面503の一部を追加して参照する(例えば、詳細の少なくとも一部を閲覧する)操作をユーザUが行った場合、ユーザUは、詳細レシピ表示画面503に表示されたレシピの料理を調理する可能性が高いと見做すことができる。そのため、評価値変更部24は、操作部56,57の操作部に対する操作が行われたことを示す操作情報が第1評価処理のSa1の処理を行ってから予め定められる所定時間内に操作履歴DB207に記録されることに応じて、第1評価処理のSa2とSa3の処理を行うようにしてもよいし、Sa3の処理のみを行うようにしてもよい。すなわち、評価値変更部24は、レシピID「A001」に関するユーザ評価値を増加させる。なお、評価値変更部24は、ユーザ評価値を増加させることに代えて/加えて、レシピID「A001」に関する全体評価値を増加させてもよい。
【0105】
詳細レシピ表示画面503において図示しない「お気に入り登録」の操作部が設けられるとする。この場合に、当該操作部がユーザUに操作されて、詳細レシピがお気に入りのレシピとして選択された場合に、評価値変更部24は、Sa2とSa3の処理を行うようにしてもよいし、Sa3の処理のみを行うようにしてもよい。すなわち、評価値変更部24は、レシピID「A001」に関するユーザ評価値を増加させる。なお、評価値変更部24は、ユーザ評価値を増加させることに代えて/加えて、レシピID「A001」に関する全体評価値を増加させてもよい。
【0106】
上記の第1から第4評価処理は、例えば、全ての評価処理が実行されることに代えて、少なくとも1つの評価処理が実行されてもよい。上記の第1から第4評価処理において、評価値変更部24は、レシピ人気DB210、個人嗜好DB211、および提案履歴DB212において、該当するレシピIDのレコードが存在しない場合、当該レシピIDのレコードを生成する。レシピ人気DB210の場合、評価値変更部24は、生成したレコードの「全体評価値」の項目に、予め定められる全体評価値の初期値を設定した上で、全体評価値の初期値を増加、または、減少させる。個人嗜好DB211の場合、評価値変更部24は、生成したレコードの「ユーザ評価値」の項目に、予め定められるユーザ評価値の初期値を設定した上で、ユーザ評価値の初期値を増加、または、減少させる。提案履歴DB212の場合、評価値変更部24は、「提案回数」の値を初期値である「0」に初回の回数分を加算した「1」とし、「直近の提案時刻」の項目に取得した時刻情報を記録する。
【0107】
上記の第1から第4評価処理において、Sa2~Sa6,Sb9,Sc9の処理における所定値は、全てが同一の値に定められていてもよいし、増加の場合と、減少の場合で、異なる値を定めるなど、任意に定めるようにしてもよい。また、全体評価値、およびユーザ評価値の初期値は、同一の値であってもよいし、異なる値であってもよい。また、全体評価値、およびユーザ評価値は、レシピに対して参照などの操作が行われた回数を示す値であってもよい。この場合、全体評価値、およびユーザ評価値の初期値は、例えば、「0」になり、所定値は、「1」になる。
【0108】
(レシピ検索処理のサブルーチン)
上記したS2の処理において行われるレシピ検索処理のサブルーチンについて
図23を参照しつつ説明する。サーバ200のレシピ提案部23は、端末装置300からレシピ検索要求信号を受信すると、レシピ検索要求信号に含まれるユーザID「U100」を読み出す。レシピ提案部23は、読み出したユーザID「U100」を含む検索指示信号を推奨度算出部25に出力する(S50)。推奨度算出部25は、レシピ提案部23から検索指示信号を受けると、検索指示信号に含まれるユーザID「U100」を読み出す。推奨度算出部25は、計時部21から時刻情報を取得する(S51)。推奨度算出部25は、外部情報取得部27から天気情報を取得する(S52)。
【0109】
推奨度算出部25は、レシピDB203に記憶されたいずれか1つのレシピIDを選択する。推奨度算出部25は、レシピ人気DB210から選択中のレシピIDに対応する全体評価値を検出する(S53)。推奨度算出部25は、個人嗜好DB211からユーザID「U100」と、選択中のレシピIDとに対応するユーザ評価値を検出する(S54)。
【0110】
推奨度算出部25は、カレンダDB206からユーザID「U100」に対応するカレンダ情報を読み出す。推奨度算出部25は、読み出したカレンダ情報において、取得した時刻情報に含まれる日付に対応する日付種類情報を検出する(S55)。例えば、推奨度算出部25が取得した時刻情報の年月日が「2020年8月1日」であり、ユーザID「U100」のカレンダ情報には、「誕生日」の日付種類情報が関連付けられているとする。また、「2020年8月1日」は、「月曜日」であるとする。この場合、推奨度算出部25は、日付種類情報として「月曜日」と「誕生日」とを検出する。
【0111】
推奨度算出部25は、検出した「月曜日」と「誕生日」の各々の日付種類情報に対応する程度情報を、日付種類程度DB221から検出する。日付種類程度DB221は、
図15に示すデータを記憶しているので、推奨度算出部25は、「誕生日」の日付種類情報に対して「6~10」を示す程度情報を検出する。推奨度算出部25は、レシピDB203から、選択中のレシピIDに対応する程度情報を検出する。推奨度算出部25は、レシピDB203から検出した程度情報と、日付種類程度DB221から検出した程度情報との一致度合いに基づいて、第1優先度を算出する。例えば、推奨度算出部25は、一致度合いが低い場合、第1優先度が小さい値となり、一致度合いが高い場合、第1優先度が大きな値となるように算出する(S56)。この第1優先度を用いることにより、日付の種類に応じて、適切な程度のレシピを優先して提案することが可能になる。
【0112】
推奨度算出部25は、レシピDB203から選択中のレシピIDに対応する天気適合特性パターンを示す情報を読み出し、読み出した天気適合特性パターンに対応する天気適合特性情報を、天気適合特性情報222から検出する。推奨度算出部25は、選択中のレシピIDに対応する天気適合特性情報と、取得した天気情報とに基づいて、第2優先度を算出する。例えば、選択中のレシピIDに対応する天気適合特性情報が示す特性が、
図16の符号72で示す特性であるとする。この場合、推奨度算出部25は、取得した天気情報が晴天の場合、第2優先度の値が大きな値となり、取得した天気情報が雨天の場合、第2優先度の値が小さな値となるように算出する(S57)。この第2優先度を用いることにより、天気の変化に応じて適切なレシピを優先して提案することが可能になる。
【0113】
推奨度算出部25は、提案履歴DB212において、ユーザID「U100」に対応するテーブルを選択する。推奨度算出部25は、選択したテーブルにおいて、選択中のレシピIDに対応する提案回数と、直近の提案時刻とを検出する。推奨度算出部25は、取得した時刻情報と、検出した直近の提案時刻とから選択中のレシピIDを最後に提案してからの経過時間を算出する(S58)。
【0114】
推奨度算出部25は、レシピDB203から選択中のレシピIDに対応する再提案特性パターンを示す情報を読み出し、読み出した再提案特性パターンに対応する再提案特性情報を、再提案特性情報223から検出する。推奨度算出部25は、検出した提案回数と、算出した最後に提案してからの経過時間と、検出した選択中のレシピIDに対応する再提案特性情報とに基づいて、第3優先度を算出する。例えば、選択中のレシピIDに対応する再提案特性情報が、
図17の符号73で示す特性であるとする。この場合、算出した最後に提案してからの経過時間がN時間以下の時間であれば、再提案係数は、ほぼ「0」の値になる。そのため、推奨度算出部25は、検出した提案回数に、ほぼ「0」の値の再提案係数を乗算して得られる乗算値を第3優先度とする。これに対して、推奨度算出部25は、算出した最後に提案してからの経過時間がN時間を大きく超える時間であれば、再提案係数は、大きな値になる。そのため、推奨度算出部25は、検出した提案回数に、大きな値の再提案係数を乗算して得られる乗算値を第3優先度とする(S59)。この第3優先度を用いることにより、過去の提案の頻度に応じて適切なレシピを優先して提案することが可能になる。
【0115】
推奨度算出部25は、S53の処理において検出した全体評価値、S54の処理において検出したユーザ評価値、S56の処理において算出した第1優先度、S57の処理において算出した第2優先度、S59の処理において算出した第3優先度に基づいて、選択中のレシピIDに対応する推奨度を算出する(S60)。例えば、推奨度算出部25は、全体評価値、ユーザ評価値、第1優先度、第2優先度、および第3優先度を加算することによって、推奨度を算出するようにしてもよい。なお、この場合に、推奨度算出部25は、全体評価値、ユーザ評価値、第1優先度、第2優先度、第3優先度の各々が、例えば、「-1」から「1」の間に収まるように、正規化した上で、推奨度を算出するようにしてもよい。また、推奨度算出部25は、全体評価値、ユーザ評価値、第1優先度、第2優先度、第3優先度の各々に任意の重みを乗算した上で、推奨度を算出するようにしてもよい。
【0116】
推奨度算出部25は、選択していない他のレシピIDを選択し、再びステップS53~S60の処理を行う(ループ処理L50s~L50e)。推奨度算出部25は、レシピDB203に記憶された全てのレシピIDについて、S53~S60の処理を完了すると、推奨度の高い順にレシピIDを順番に並べたデータを、レシピ提案部23に出力して(S61)、サブルーチンを終了する。その後、S3の処理が行われる。
【0117】
(利点)
上記の実施形態では、ユーザUが詳細レシピの参照をしたと見做される場合に第1評価処理を行い、ユーザが詳細レシピに示された食材を消費したと見做される場合に第2評価処理を行い、ユーザが詳細レシピに示された食材の購入予定を追加したと見做される場合に第3評価処理を行い、ユーザが詳細レシピの料理を調理するためにオーブンレンジ100に加熱条件を与える操作を行った場合に第4評価処理が行われる。これらの4つの評価処理により、ユーザの行為、すなわち、端末装置300に対する操作に応じて、詳細レシピ自身の評価値を増加させるだけでなく、詳細レシピと所定の条件で関係性を有するレシピの評価値を増加させたり、減少させたりするようにしている。更に、このようなユーザUの行為に応じて増減された評価値を利用して、レシピ検索処理において、レシピの推奨度を算出し、推奨度の高い順に、レシピをユーザUに提案するようにしている。そのため、ユーザU自身は、レシピを直接的に評価する負担が無いまたは小さいにも関わらず、次回のレシピ検索において、自らが行った評価や、他のユーザが行った評価のフィードバックを受けることができるという利点がある。また、上記のような行為をしていないユーザU、例えば、初めてレシピ検索を利用するユーザUは、他のユーザが行った評価が反映されたレシピの提案を受けることができる。
【0118】
例えば、ユーザにレシピのアンケートをお願いし、得られたアンケートの結果から、レシピを評価し、評価した結果をレシピに反映するといった手段に比べると、本実施形態では、ユーザは、レシピに関係する操作を行うだけで、レシピに対する評価が行われるので、評価に要する時間的なコストを大幅に削減していることになる。また、評価されてから、評価がフィードバックされるまでの時間も大幅に短縮していることになる。そのため、本実施形態では、利便性の向上を図ることができる。
【0119】
上記の実施形態では、評価値として、全体評価値と、ユーザ評価値という2種類の評価値を用いている。全体評価値には、複数のユーザによる評価が反映されることから、多くのユーザにおいて人気がある、言い換えると、世の中の流行が全体評価値により示されているといえる。これに対して、ユーザ評価値には、個々のユーザによる評価が反映されることから、個々のユーザの好みがユーザ評価値により示されているといえる。そのため、全体評価値と、ユーザ評価値とを使い分けることにより、個々のユーザに対する個別設定が可能になる。
【0120】
例えば、上記した実施形態では、詳細レシピの参照や、詳細レシピの食材や調理手順の追加参照や、詳細レシピをお気に入りのレシピとして選択するといった操作以外の異なる操作が行われた場合にも個人嗜好DB211のユーザ評価値を増加させることが行われる。ここで、異なる操作とは、例えば、
図20の第2評価処理のSb4の処理において「Yes」の判定が行われるようなS9の処理における操作と、
図21の第3評価処理のSc4の処理において「Yes」の判定が行われるようなS12の処理における操作と、
図22の第4評価処理のSd2の処理において「Yes」の判定が行われるようなS15の処理における操作である。このような異なる操作の際に、個人嗜好DB211のユーザ評価値を増加させることで、全体評価値と、ユーザ評価値とには、異なる傾向が現れるようにしている。
【0121】
上記の実施形態では、詳細レシピと所定の条件で関係性を有するレシピとして、詳細レシピの料理と共に提案することを勧める料理を示す関連レシピと、概要レシピとして提案されたレシピから詳細レシピを除いたレシピと、詳細レシピと属性が同一のレシピとを定めている。これにより、ユーザUによって参照されたり、調理されたりする機会が少ないレシピについても間接的に評価されるようにしており、レシピDB203に記憶されているレシピに対して万遍なく、ユーザUの評価が反映されるという利点がある。
【0122】
上記の実施形態では、各レシピの推奨度を算出する際に、全体評価値、およびユーザ評価値だけでなく、第1優先度、第2優先度、第3優先度を用いるようにしている。これらの優先度を用いることにより、例えば、レシピを提案する日の状況に応じた適切なレシピを提案することが可能になる。
【0123】
(第1変形例)
上記の実施形態では、評価値変更部24は、詳細レシピの関連レシピに対して肯定的な操作が行われた場合に、Sa3の処理、すなわち関連レシピに対応する詳細レシピのユーザ評価値を増加させる。ここで、肯定的な操作とは、
図20の第2評価処理のSb7の処理において「Yes」の判定が行われるS9の処理における操作、および
図21の第3評価処理のSc7の処理において「Yes」の判定が行われるS12の処理における操作である。これらの肯定的な操作に、以下に示すような操作を加えてもよい。例えば、詳細レシピ表示画面503に含まれる関連レシピの画像領域の操作部に対するユーザUの操作、すなわち、関連レシピの詳細の少なくとも一部を追加で参照する(追加で閲覧する)操作を加えてもよい。また、参照した関連レシピをお気に入りのレシピとして選択する(登録する)操作を加えてもよい。
【0124】
(第2変形例)
評価値変更部24は、操作履歴DB207に、オーブンレンジ100の機器IDを含む加熱条件に関する操作情報が第1評価処理のSa1の処理後の所定時間内に記録されたことを検出したとする。評価値変更部24は、検出した操作情報の機器IDに対応するユーザIDを機器登録DB202から検出する。評価値変更部24は、内部の記憶領域において、検出したユーザIDに関連付けて記憶された詳細レシピのレシピIDを検出する。評価値変更部24は、レシピDB203から検出したレシピIDに対応するレシピレコードを検出する。評価値変更部24は、検出したレシピレコードから、検出した操作情報の機器IDに対応する加熱条件を読み出す。
【0125】
評価値変更部24は、検出した操作情報が示す加熱条件が、レシピDB203から読み出した加熱条件に一致していると判定したとする。この場合、端末装置300の加熱指示部319が加熱指示信号を送信することなく、ユーザUが、オーブンレンジ100を直接操作して、詳細レシピのレシピIDの料理を調理したと見做すことができる。そのため、評価値変更部24は、操作情報に含まれるユーザIDに関連付けて記憶されている詳細レシピのレシピIDを内部の記憶領域から読み出して、第1評価処理のSa3の処理を行うようにしてもよい。これにより、
図18のS15の処理が行われない場合であっても、第4評価処理と同等のことを行うことができる。
【0126】
(第3変形例)
レシピDB203のレシピレコードごとに、上記の実施形態で示した天気という自然環境条件以外の他の自然環境条件のパターンを示す情報を記憶させ、記憶部20に、当該他の自然環境条件のパターンに対応する特性情報を記憶させてもよい。自然環境条件として、天気以外に、温度や湿度、季節(例えば、タケノコなど季節の旬の食材)などを適用することができる。これら情報を適用する場合、外部情報取得部27は、ネットワークNWを介して外部のサーバから温度や湿度、季節を示す情報を取得する。推奨度算出部25は、外部情報取得部27から温度や湿度、季節を示す情報を取得する。
【0127】
例えば、ある冬の寒い日に豚汁のレシピが提案され、提案されたレシピにユーザUが上記所定の操作(肯定的な操作)を行った場合、豚汁のレシピの評価値が増加される。これにより、当該ユーザUに対し豚汁がおすすめされる可能性が高まる。その結果、例えば次の週の再び寒い日、ユーザUには再び豚汁のレシピが提案される。
【0128】
(第4変形例)
推奨度算出部25は、カレンダDB206から読み出したユーザID「U100」に対応するカレンダ情報において、取得した時刻情報に示されている日付を起点として未来の所定期間内(例えば1週間内)に存在する全ての日付に対応する日付種類情報を検出する。
【0129】
第4変形例では、レシピ提案部23は、特別日のためのレシピとして所定基準以上の手間を要する特別レシピを提案する場合、特別日よりも事前に特別レシピを提案する。例えば、レシピ提案部23は、未来の所定期間内(例えば2週間内)に含まれる特別日(誕生日またはその他記念日)については、それら特別日の日付種類に応じてレシピの程度に基づき、レシピを選択して提案する。これにより、レシピ提案部23は、特別日のためのレシピとして所定基準以上の手間を要する特別レシピを提案する。この場合、レシピ提案部23は、特別日よりも事前(例えば1週間前)にレシピを提案する。
【0130】
(第5変形例)
第5変形例では、レシピ提案部23は、料理の種類ごとに算出された上記所定の操作が行われた頻度に関する情報に基づき、複数のレシピのなかから1つ以上のレシピを選択して提案する。例えば、評価値変更部24は、ある1つのレシピIDに対応するユーザ評価値を変更する(増加させる、または減少させる)場合に、以下の処理を行ってもよい。評価値変更部24は、変更対象のユーザ評価値に対応するレシピIDのレシピデータに含まれている料理種類情報と同一の料理種類情報のレシピID(以下、同一料理種類レシピIDという)をレシピDB203から検出する。評価値変更部24は、個人嗜好DB211において、変更対象のユーザ評価値に対応するユーザIDのテーブルを選択する。評価値変更部24は、選択したテーブルにおいて、同一料理種類レシピIDの各々に対応するユーザ評価値に対して、変更対象のユーザ評価値に対する変更と同一の変更を行う。すなわち、評価値変更部24は、変更対象のレシピIDのユーザ評価値を増加させる場合は、同一料理種類レシピIDの各々のユーザ評価値を増加させる。一方で、評価値変更部24は、変更対象のレシピIDのユーザ評価値を減少させる場合は、同一料理種類レシピIDの各々のユーザ評価値を減少させる。これにより、ある1つのレシピIDについて、ユーザ評価値を変更する場合に、当該レシピIDに対応する同一料理種類レシピIDの各々のユーザ評価値に対して同様の変更を行うことができる。そのため、S2のレシピ検索処理において、ユーザUの好みの料理種類のレシピの推奨度を高くすることができる。
【0131】
(第6変形例)
推奨度算出部25は、以下のような優先度を算出して、
図23のS60の処理において、算出した優先度を、推奨度の算出に適用してもよい。推奨度算出部25は、S50の処理で読み出したユーザIDに対する料理種類情報ごとのユーザIDに対応するユーザUの調理の頻度を示す調理頻度情報を操作履歴DB207に記憶された操作情報から生成する。ここで、調理の頻度は、例えば、第1から第4評価処理において、ユーザ評価値が増加された回数としてもよい。推奨度算出部25は、選択中のレシピIDに対応する料理種類情報をレシピDB203から検出し、例えば、検出した料理種類情報に対する調理頻度情報を、ユーザIDに対応する調理頻度情報の合計値で除算した値を、優先度とするようにしてもよい。これにより、S2のレシピ検索処理において、ユーザUの好みの料理種類のレシピの推奨度を高くすることができる。
【0132】
(第7変形例)
ネットワークNWに洗濯乾燥機や空気調和機(以下、エアコンという)などの他の家電機器が接続しており、他の家電機器が、サーバ200の機器登録DB202に登録されているとする。この場合、推奨度算出部25は、以下のような優先度を算出して、
図23のS60の処理において、算出した優先度を、推奨度の算出に適用するようにしてもよい。推奨度算出部25は、他の家電機器の使用状況(例えば、他の家電機器の稼働量)を検出する。例えば、他の家電機器が、洗濯乾燥機である場合、推奨度算出部25は、洗濯量または洗濯頻度を使用状況として検出する。他の家電機器が、エアコンである場合、推奨度算出部25は、エアコンの合計使用時間または電力量を使用状況として検出する。
【0133】
第7変形例では、レシピ提案部23は、ユーザUが使用する家電機器の使用状況からユーザUの家族の人数(同居する家族の人数)を導出し、導出した家族の人数に応じたレシピを提案する。「家族の人数に応じたレシピを提案する」ことは、導出された家族の人数と、レシピレコードに含まれる人数分量とが一致するレシピを選択して提案する、または、導出された家族の人数に応じて、レシピの食材リストに含まれる各食材の必要量の内容を変更してレシピを提案することなどを含み得る。
【0134】
(その他の変形例)
評価値変更部24は、一定の期間ごと、レシピ人気DB210に記憶されている全ての全体評価値と、個人嗜好DB211に記憶されている全てのユーザ評価値とを、初期値に戻すリセット処理を行うようにしてもよい。これにより、例えば、全体評価値、または、ユーザ評価値において、大きな偏りが生じて、概要レシピ一覧表示画面502に表示される概要レシピデータが、レシピ検索を繰り返しても、あまり変わらなくなるような場合に、リセット処理を行って、概要レシピ一覧表示画面502において適切に概要レシピデータが表示されるようにすることができる。この場合において、全ての全体評価値と、全てのユーザ評価値とを同一の初期値に設定するのではなく、個々の評価値の直前の評価値と、初期値との差に応じて、個々の評価値に設定する初期値を定めるようにしてもよい。これにより、例えば、ユーザUがあまり好みでないレシピについては、リセット処理をしても、一般的なレシピよりも低い評価値にして、概要レシピ一覧表示画面502に表示される頻度を低下させるようにすることができる。なお、情報処理システム1の運用者が、任意のタイミングで、上記のリセット処理を行うようにしてもよい。
【0135】
評価値変更部24は、
図19のSa7の処理において、概要レシピのレシピIDから詳細レシピのレシピIDを除いた全てのレシピIDの各々に対応する全体評価値を減少させるようにしている。これに対して、評価値変更部24は、概要レシピのレシピIDから詳細レシピのレシピIDを除いた全てのレシピIDではなく、任意に選択する1つ以上のレシピIDに対応する全体評価値を減少させるようにしてもよい。
【0136】
上記の実施形態において、
図19のSa3の処理において、評価値変更部24は、詳細レシピのレシピIDのユーザ評価値を増加させる際に、以下の処理を行うようにしてもよい。評価値変更部24は、ユーザ評価値を増加させる詳細レシピのレシピIDに対応するレシピレコードの「食材リスト」の項目に含まれている個々の食材をレシピDB203から検出する。評価値変更部24は、検出した食材を含む他のレシピIDをレシピDB203から検出する。評価値変更部24は、検出した他のレシピIDのユーザ評価値に、予め定められる所定数を加算して、ユーザ評価値を増加させるようにしてもよい。これにより、ユーザUの好みの食材を含むレシピのユーザ評価値を増加させることができる。
【0137】
以上説明した実施形態によれば、ユーザは、レシピに関係する操作を行うだけで、レシピに対する評価が行われるので、評価に要する時間的なコストを削減することができる。また、評価されてから、評価がフィードバックされるまでの時間も大幅に短縮することができる。そのため、本実施形態では、利便性の向上を図ることができる。
【0138】
別の1つの観点では、情報処理システムシステムは、レシピ提案部23により提案された提案レシピに関して、提案レシピに関する直接的な操作とは異なるユーザの所定の操作が検出された場合、提案レシピを評価する評価部を有してもよい。この場合、「評価」は、評価値による評価に限定されず、例えば、1度評価されたレシピ(採用されたと推定されるレシピ)を、所定期間内に再度提案するための所定の登録が行われることでもよい。
【0139】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0140】
1…情報処理システム、100…オーブンレンジ、101…冷蔵庫、200…サーバ、21…計時部、22…DB管理部、23…レシピ提案部、24…評価値変更部、25…推奨度算出部、26…加熱条件出力部、27…外部情報取得部、300…端末装置、311…計時部、312…表示制御部、313…操作受付部、314…機器登録部、315…レシピ検索要求部、316…詳細レシピ要求部、317…食材在庫設定部、318…購入予定食材設定部、319…加熱指示部、320…カレンダ設定部