IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 東芝ライフスタイル株式会社の特許一覧

特開2024-37347情報処理システム、情報処理方法、およびプログラム
<>
  • 特開-情報処理システム、情報処理方法、およびプログラム 図1
  • 特開-情報処理システム、情報処理方法、およびプログラム 図2
  • 特開-情報処理システム、情報処理方法、およびプログラム 図3
  • 特開-情報処理システム、情報処理方法、およびプログラム 図4
  • 特開-情報処理システム、情報処理方法、およびプログラム 図5
  • 特開-情報処理システム、情報処理方法、およびプログラム 図6
  • 特開-情報処理システム、情報処理方法、およびプログラム 図7
  • 特開-情報処理システム、情報処理方法、およびプログラム 図8
  • 特開-情報処理システム、情報処理方法、およびプログラム 図9
  • 特開-情報処理システム、情報処理方法、およびプログラム 図10
  • 特開-情報処理システム、情報処理方法、およびプログラム 図11
  • 特開-情報処理システム、情報処理方法、およびプログラム 図12
  • 特開-情報処理システム、情報処理方法、およびプログラム 図13
  • 特開-情報処理システム、情報処理方法、およびプログラム 図14
  • 特開-情報処理システム、情報処理方法、およびプログラム 図15
  • 特開-情報処理システム、情報処理方法、およびプログラム 図16
  • 特開-情報処理システム、情報処理方法、およびプログラム 図17
  • 特開-情報処理システム、情報処理方法、およびプログラム 図18
  • 特開-情報処理システム、情報処理方法、およびプログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024037347
(43)【公開日】2024-03-19
(54)【発明の名称】情報処理システム、情報処理方法、およびプログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20240312BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022142140
(22)【出願日】2022-09-07
(71)【出願人】
【識別番号】503376518
【氏名又は名称】東芝ライフスタイル株式会社
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100205785
【弁理士】
【氏名又は名称】▲高▼橋 史生
(74)【代理人】
【識別番号】100203297
【弁理士】
【氏名又は名称】橋口 明子
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100135301
【弁理士】
【氏名又は名称】梶井 良訓
(72)【発明者】
【氏名】瀧川 正史
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】利便性の向上を図ることができる情報処理システム、情報処理方法、およびプログラムを提供することである。
【解決手段】実施形態の情報処理システムは、目的取得部と、レシピ提案部とを備える。前記目的取得部は、ユーザの行動予定に応じたレシピの検索目的を取得する。前記レシピ提案部は、前記目的取得部により取得された前記検索目的に基づき、1つ以上のレシピを提案する。
【選択図】図7
【特許請求の範囲】
【請求項1】
ユーザの行動予定に応じたレシピの検索目的を取得する目的取得部と、
前記目的取得部により取得された前記検索目的に基づき、1つ以上のレシピを提案するレシピ提案部と、
を備えた情報処理システム。
【請求項2】
前記検索目的は、前記ユーザの行動予定に応じた時間的な条件を含む、
請求項1に記載の情報処理システム。
【請求項3】
前記検索目的の入力を受け付けるための入力部を表示画面に表示させる表示制御部をさらに備える、
請求項1に記載の情報処理システム。
【請求項4】
前記表示制御部は、食材または料理の種類を含むレシピの検索条件を受け付けるための入力画面の一部として、または前記入力画面と重畳して前記入力部を表示させる、
請求項3に記載の情報処理システム。
【請求項5】
前記入力部は、調理予定日に関する入力を受け付け可能である、
請求項3に記載の情報処理システム。
【請求項6】
前記入力部は、調理開始、調理終了、または食事開始の時間に関する入力を受け付け可能である、
請求項3に記載の情報処理システム。
【請求項7】
前記目的取得部は、前記ユーザの行動履歴に基づき前記ユーザの予定を推測し、推測した推測結果に基づき、前記検索目的を取得する、
請求項1に記載の情報処理システム。
【請求項8】
前記ユーザに対して報知を行う報知部をさらに備え、
前記報知部は、前記検索目的として、または、調理予定のレシピと関連付けるために、前記ユーザの所定の行動の開始時間または終了時間が入力された場合、前記開始時間または前記終了時間から逆算された調理開始時間の到来に関する報知を行う、
請求項1に記載の情報処理システム。
【請求項9】
前記報知部は、1回の食事に関して複数のレシピが登録される場合、前記複数のレシピの全てについて前記調理開始時間の到来に関する報知を行うことを抑制する、
請求項8に記載の情報処理システム。
【請求項10】
前記報知部は、1回の食事に関して複数のレシピが登録される場合、1回の食事に関して1つのレシピが登録される場合に対して、前記調理開始時間の到来に関する報知内容を変更する、
請求項8に記載の情報処理システム。
【請求項11】
前記ユーザが調理を実施できる調理可能時間に関する情報を取得する生活時間取得部をさらに備え、
前記報知部は、前記ユーザの前記調理可能時間に応じて前記調理開始時間の到来に関する報知を行う、
請求項8に記載の情報処理システム。
【請求項12】
前記検索目的として、または、調理予定のレシピに関連付けるために、前記ユーザの所定の行動の開始時間または終了時間が入力された場合、前記開始時間または前記終了時間から逆算された調理工程の時間計画を表示画面に表示させるための情報を出力する時間計画出力部をさらに備える、
請求項1に記載の情報処理システム。
【請求項13】
前記ユーザの調理の技量に関する情報を取得する技量取得部をさらに備え、
前記レシピ提案部は、前記検索目的と、前記技量に関する情報とに基づき、前記1つ以上のレシピを提案する、
請求項1に記載の情報処理システム。
【請求項14】
コンピュータが、
ユーザの行動予定に応じたレシピの検索目的を取得し、
取得した前記検索目的に基づき、1つ以上のレシピを提案する、
ことを含む情報処理方法。
【請求項15】
コンピュータに、
ユーザの行動予定に応じた1つ以上のレシピを取得するレシピ取得部と、
前記レシピ取得部により取得された前記1つ以上のレシピを表示画面に表示させる表示制御部と、
を実現させるプログラム。
【請求項16】
前記表示制御部は、前記ユーザの行動予定に応じたレシピの検索目的の入力を受け付けるための入力部を前記表示画面に表示させる、
請求項15に記載のプログラム。
【請求項17】
前記表示制御部は、前記ユーザの所定の行動の開始時間または終了時間が入力された場合、前記開始時間または前記終了時間から逆算された調理開始時間の到来に関する報知を前記表示画面に表示させる、
請求項15に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
料理の内容に関する検索条件に応じてレシピを提供する情報処理システムが提案されている。このような情報処理システムは、利便性のさらなる向上が期待されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-052768号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、利便性の向上を図ることができる情報処理システム、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の情報処理システムは、目的取得部と、レシピ提案部とを備える。前記目的取得部は、ユーザの行動予定に応じたレシピの検索目的を取得する。前記レシピ提案部は、前記目的取得部により取得された前記検索目的に基づき、1つ以上のレシピを提案する。
【図面の簡単な説明】
【0006】
図1】実施形態の情報処理システムの全体構成を示す図。
図2】実施形態の端末装置の機能構成を示すブロック図。
図3】実施形態のホーム画面の一例を示す図。
図4】実施形態の検索目的入力画面の一例を示す図。
図5】実施形態の概要レシピ一覧表示画面の一例を示す図。
図6】実施形態の詳細レシピ表示画面の一例を示す図。
図7】実施形態のサーバの機能構成を示すブロック図。
図8】実施形態のレシピDBの内容の一例を示す図。
図9】実施形態のユーザ情報DBの内容の一例を示す図。
図10】実施形態の登録レシピDBの内容の一例を示す図。
図11】実施形態の処理の全体の流れの一例を示す第1シーケンス図。
図12】実施形態の処理の全体の流れの一例を示す第2シーケンス図。
図13】実施形態のレシピ検索処理の流れの一例を示す図。
図14】実施形態の時間計画処理の流れの一例を示す図。
図15】実施形態の時間計画処理の一例を説明するための図。
図16】実施形態の報知条件設定処理の流れの一例を示す図。
図17】実施形態の時間計画表示画面の一例を示す図。
図18】実施形態の概要レシピ一覧表示画面のその他の例を示す図。
図19】実施形態のレシピ検索画面の一例を示す図。
【発明を実施するための形態】
【0007】
以下、実施形態の情報処理システム、情報処理方法、およびプログラムを、図面を参照して説明する。以下の説明では、同一または類似の機能を有する構成に同一の符号を付す。そして、それら構成の重複する説明は省略する場合がある。本出願で「XXに基づく」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含み得る。また「XXに基づく」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含み得る。本出願で「XXまたはYY」とは、XXとYYのうちいずれか一方の場合に限定されず、XXとYYの両方の場合も含み得る。これは選択的要素が3つ以上の場合も同様である。XXおよびYYは、任意の要素(例えば任意の情報)である。
【0008】
本出願で「取得」とは、送信要求を送信して能動的に取得する場合に限定されず、他の装置から送信される情報を受動的に受信することで取得する場合も含み得る。また「取得」とは、外部から得られた情報に対して演算または加工などを行い目的の情報を生成することで目的の情報を取得する場合も含み得る。本出願では「データベース」を「DB」と表記する。本出願では「指定」と「設定」という用語について特段の区別を有しない。このため以下の説明において「指定」と「設定」という用語は互いに読み替えられてよい。
【0009】
図1は、実施形態の情報処理システム1の全体構成を示す図である。情報処理システム1は、例えば、サーバ200と、端末装置300とを備える。なお、本出願で言う「情報処理システム」は、情報処理システム1に限定されず、サーバ200のみで実現されてもよく、端末装置300の家電管理アプリAPPのみで実現されてもよく、サーバ200と端末装置300の家電管理アプリAPPとにより実現されてもよい。ネットワークNWは、例えば、インターネット、セルラー網、Wi-Fi網、LPWA(Low Power Wide Area)、WAN(Wide Area Network)、LAN(Local Area Network)、またはその他の公衆回線や専用回線などを状況に応じて利用すればよい。
【0010】
(端末装置の構成)
端末装置300は、ユーザUが使用する端末装置である。端末装置300は、例えば、スマートフォンまたはタブレット端末装置のような携帯端末装置であってもよいし、パーソナルコンピュータなどでもよい。端末装置300は、例えば、無線ルータWRおよびモデムMを介してネットワークNWに接続し、サーバ200との間でデータの送受信を行う。端末装置300は、例えば、液晶ディスプレイなどの表示画面301aを含む表示装置301と、ユーザUの入力を受け付け可能な入力装置302とを備える。入力装置302は、例えば、表示装置301の表示画面301aと重ねるように備えられたタッチパネルである。入力装置302は、端末装置300に設けられたカメラやマイクなどを含み得る。
【0011】
図2に示すように、端末装置300は、例えば、記憶部310、表示制御部311、操作受付部312、検索目的設定部(検索目的受付部)313、調理条件設定部(調理条件受付部)314、レシピ検索要求部315、詳細レシピ要求部316、レシピ登録部317、情報取得部318、およびカレンダ設定部319を備える。記憶部310は、ハードウェア機能部であり、予めインストールされるアプリケーションプログラムPのデータと、端末内情報350とを記憶する。端末装置300に搭載されたCPU(Central Processing Unit)のような1つ以上のハードウェアプロセッサが、アプリケーションプログラムPを実行することにより構築されるソフトウェア機能部のことを、まとめて「家電管理アプリAPP」という。
【0012】
端末内情報350には、ユーザUに固有のユーザ識別情報であって端末装置300とサーバ200との間で共有されるユーザ識別情報が含まれる。以下、ユーザ識別情報を、ユーザID(Identifier)という。
【0013】
表示制御部311、操作受付部312、検索目的設定部313、調理条件設定部314、レシピ検索要求部315、詳細レシピ要求部316、レシピ登録部317、情報取得部318、およびカレンダ設定部319は、上記した家電管理アプリAPPに含まれるソフトウェア機能部である。
【0014】
表示制御部311は、例えば、表示装置301に対して、画像や文字などの表示に関するデータを自ら出力、または、他の機能部から受けて出力することにより、当該データに応じた画像や文字などを表示画面301aに表示する。表示制御部311は、例えば、図3に示すホーム画面501を表示画面301aに表示する。
【0015】
操作受付部312は、ユーザUの所定の操作を受け付ける。より詳細には、操作受付部312は、ユーザUが入力装置302に対して行った操作を検出し、検出した操作に応じた制御信号を出力する。例えば、ユーザUが、図3のホーム画面501の画像内に設けられた「レシピ」の文字列を含む操作部51を操作したとする。なお、タッチパネルである入力装置302に対してユーザUが行う操作とは、例えば、タップ操作である。この場合、操作受付部312は、入力装置302において操作部51の位置がタップされたという操作を検出する。操作受付部312は、検出した操作と、操作を検出した際の条件とに応じた制御信号を出力する。
【0016】
検索目的設定部313は、ユーザUの行動予定に応じたレシピの検索目的の指定を受け付ける。例えば、上記検索目的は、ユーザUの行動予定に応じた時間的な条件を含む検索目的である。本実施形態では、検索目的設定部313は、表示制御部311を介して表示画面301aに、図4に示す検索目的入力画面502を表示する。本実施形態では、検索目的設定部313は、図3に示すホーム画面501から、図5に示す概要レシピ一覧表示画面503に画面遷移する間に、検索目的入力画面502を表示させる。ここで、「表示制御部311を介して表示画面301aに・・・を表示する」という処理の記載は、表示制御部311が、他の機能部が出力する何らかのデータを取り込み、取り込んだデータから生成する画像などを表示画面301aに表示するという処理を意味する。
【0017】
検索目的入力画面502において、例えば、符号53で示す破線で囲む領域が入力部(以下「入力部53」という)である。入力部53は、操作受付部312を介して、ユーザUによって入力部53に入力された内容を受け付ける。入力部53は、ユーザUによるレシピの検索目的の入力を受け付ける。
【0018】
例えば、入力部53は、所定時間以内に開始される調理のレシピを検索目的として指定するユーザUの入力を受け付ける。「所定時間」は、例えば30分である。所定時間以内に開始される調理のレシピを検索目的として指定するユーザUの入力は、例えば、「今から作る」のような文字列を伴う操作部によって受け付けられる。なお、「今から作る」のような文字列を伴う操作部は、所定時間以内に調理が終了するレシピを検索目的として指定するユーザUの入力を受け付けるために設けられてもよい。また、入力部53は、上記例に代えて/加えて、調理予定日に関する入力を受け付けてもよいし、調理開始、調理終了、または食事開始の時間に関する入力を受け付けてもよい。調理開始の時間、調理終了の時間、および食事開始の時間は、「ユーザの所定の行動の開始時間または終了時間」の一例である。「所定の行動」は、調理開始や調理終了や食事開始に限定されず、ユーザUの外出、就寝、または別の作業の開始時間などでもよい。なお以下では、「食事開始時間(食事開始日時)」が入力される場合を代表して説明する。このため以下の説明における「食事開始時間(食事開始日時)」は、「調理終了日時(調理終了時間)」、「ユーザの所定の行動の開始時間」、および「ユーザの所定の行動の終了時間」の各々と適宜読み替えられてもよい。
【0019】
本実施形態では、入力部53は、「通常」、「今から作る」、「食事開始日時指定」、「記念日/パーティ」の4つの選択候補と、4つの選択候補の各々に対応する操作部53-1,53-2,53-3,53-4と、「食事開始日時指定」の選択候補が選択された場合に利用される日時入力部53-5と、「決定」の文字列を含む操作部54とを含む。日時入力部53-5は、時間に関する情報(例えば食事開始日時)をレシピの検索目的として受け付ける入力部の一例である。
【0020】
操作部53-1,53-2,53-3,53-4の各々は、右横の選択候補に対応して設けられている。操作部53-1,53-2,53-3,53-4は、ユーザUの操作を受けて選択される操作部であり、いずれか1つが選択可能である。図4では、一例として、「食事開始日時指定」に対応する操作部53-3が選択された状態を示す。
【0021】
4つの選択候補において、「今から作る」、「食事開始日時指定」、および「記念日/パーティ」の3つは、ユーザUの行動予定に応じたレシピの検索目的を指定するための選択候補である。これに対して、「通常」の選択候補は、検索目的を指定しないための選択候補である。「今から作る」と「食事開始日時指定」は、例えば、ユーザUの行動予定に応じた時間的な条件である。「食事開始日時指定」は、日時入力部53-5においてユーザUが入力する日時に食事を開始することを検索目的として指定するための選択候補である。「記念日/パーティ」は、ユーザUの行動予定、例えば、誕生日などの記念日やパーティなどの行動予定に応じた特別料理を検索目的として指定するための選択候補である。ここで、特別料理とは、例えば、料理の見た目が豪華である料理や、料理に用いる食材が高価である料理である。特別料理に対応するレシピには、特別料理であることが予め設定されている。
【0022】
検索目的設定部313は、操作部54がユーザUによって操作され、当該操作を検出した操作受付部312が出力する制御信号を受けると、入力部53において選択された選択候補を示す情報を検出する。検索目的設定部313は、検出した選択候補が「食事開始日時指定」である場合、更に、日時入力部53-5に入力された日時を示す情報を検出する。検索目的設定部313は、検出した情報を示す内容と、端末内情報350に含まれているユーザIDとを含む検索目的設定指示信号をサーバ200に送信する。
【0023】
調理条件設定部314は、ユーザUが指定する調理に関する条件、例えば、ユーザUが所有するコンロの個数、オーブンレンジの個数などを示す情報を受け付け、受け付けた情報をサーバ200に送信する。
【0024】
レシピ検索要求部(レシピ取得部)315は、端末内情報350に含まれているユーザIDを含むレシピ検索要求信号をサーバ200に送信する。レシピ検索要求部315は、サーバ200からレシピ検索応答信号を受信し、受信したレシピ検索応答信号に含まれているデータに基づいて、表示制御部311を介して表示画面301aに、例えば、図5に示す概要レシピ一覧表示画面503を表示する。概要レシピ一覧表示画面503は、例えば、複数のレシピの各々のサムネイル画像および名称の一覧を表示する画面である。以下、図5の概要レシピ一覧表示画面503に表示される個々のレシピに関するデータを、後述する詳細レシピデータと区別して示すために、概要レシピデータという。
【0025】
詳細レシピ要求部(レシピ取得部)316は、例えば、ユーザUが、概要レシピ一覧表示画面503の画像内に含まれる「レシピ画像A001」の画像領域に対応する操作部62を操作することにより起動する。操作部62には、レシピA001に予め付与されているレシピIDが対応付けられている。レシピIDとは、レシピの各々を識別可能なレシピ識別情報である。
【0026】
詳細レシピ要求部316は、例えば、操作部62に対する操作に起因して起動した場合、操作部62に対応付けられたレシピA001のレシピIDと、端末内情報350に含まれているユーザIDとを含む詳細レシピ要求信号をサーバ200に送信する。詳細レシピ要求部316は、サーバ200から詳細レシピ応答信号を受信し、受信した詳細レシピ検索応答信号に含まれる詳細レシピデータに基づいて、表示制御部311を介して表示画面301aに、例えば、図6に示す詳細レシピ表示画面504を表示する。詳細レシピ表示画面504は、例えば、1つのレシピのサムネイル画像、材料リスト、および調理手順などを示す情報を含む。本実施形態では、詳細レシピ表示画面504には、「食事開始日時を設定」の文字列を含む操作部63が含まれる。操作部63は、レシピA001のレシピIDが対応付けられている。操作部63が操作される場合、時間に関する情報(例えば食事開始日時)が入力可能になる。操作部63は、時間に関する情報(例えば食事開始日時)を、調理予定のレシピと関連付けるために受け付ける入力部の一例である。
【0027】
レシピ登録部317は、ユーザUによって選択されるレシピIDを登録レシピIDとする。例えば、レシピ登録部317は、登録レシピIDと、登録レシピIDに対してユーザUが指定する食事開始日時とを受け付け、受け付けた登録レシピIDと、食事開始日時を示す情報とを含むレシピ登録指示信号をサーバ200に送信する。
【0028】
情報取得部318は、サーバ200から受信する情報、例えば、調理の開始を報知する報知情報や、調理工程の時間計画を示す時間計画情報を受信して取得する。情報取得部318は、取得した情報を、表示制御部311を介して表示画面301aに表示する。
【0029】
カレンダ設定部319は、ユーザUが指定する特定の時間の範囲を示す情報と、ユーザUの外出などの予定を示す情報とを受け付け、受け付けた情報をサーバ200に送信する。ここで、時間の範囲とは、日付が同一の2つの時刻で示される範囲のみならず、日付が異なる2つの時刻で示される範囲も含まれる。
【0030】
(サーバの構成)
サーバ200は、1つまたは複数のサーバ装置(例えばクラウドサーバ)により構成される。サーバ200は、図示しない通信モジュールを備えており、例えば、ネットワークNWに接続する。サーバ200は、ネットワークNW中のルータに含まれる情報処理部など、エッジコンピューティングやフォグコンピューティングを行う情報処理部を含んでもよい。サーバ200は、クラウドサーバに限定されず、ユーザUの住居にあるコンピュータでもよく、家庭内ルータ(例えば無線ルータWR)などでもよい。
【0031】
図7に示すように、サーバ200は、例えば、記憶部201、計時部202、DB管理部203、検索目的取得部204、レシピ提案部205、時間計画部206、生活時間取得部207、および報知部208を備える。計時部202、DB管理部203、検索目的取得部204、レシピ提案部205、時間計画部206、生活時間取得部207、および報知部208は、例えば、サーバ200に搭載されたCPUのような1つ以上のハードウェアプロセッサがプログラムを実行することにより実現されるソフトウェア機能部である。サーバ200が備える機能部は、複数のサーバ装置に分かれて備えられていてもよい。また、サーバ200が備える機能部のうち1つ以上の機能部が、サーバ200に代えて、端末装置300に備えられていてもよい。
【0032】
記憶部201は、ハードウェア機能部であり、レシピDB251、ユーザ情報DB252、登録レシピDB253、およびカレンダDB254を備える。
【0033】
レシピDB251は、例えば、図8に示すように、レシピID,レシピ名称、レシピ画像、食材リスト、調理手順、調理工程条件、調理時間、および待機時間を対応付けて記憶する。以下、レシピDB251における1つの行のデータ、すなわち、1つのレシピIDに関連付けられているデータをレシピレコードという。なお、本出願において、「レシピ」と記載する場合、原則として、レシピレコードを示しているが、レシピレコードの一部から生成される詳細レシピデータや概要レシピデータを示す場合もある。
【0034】
「レシピID」の項目には、レシピレコードごとに付与されるレシピIDが記憶される。「食材リスト」の項目には、レシピの各々において用いられる食材の各々の種類と、食材の各々の分量とが記憶される。「調理手順」の項目は「調理工程内容」と「調理工程時間」の副項目を有している。「調理工程内容」の項目には、レシピレコードごとのレシピの内容、すなわち、調理工程ごとに行う調理の内容を示す情報が記憶される。ここで、調理の内容を示す情報には、具体的な手順を文章で示した内容に加えて、調理工程ごとの種類を示す情報、例えば、「下準備」、「非加熱工程」、「加熱工程」などを示す情報が含まれている。「加熱工程」の調理工程の種類を示す情報には、更に、コンロを使う加熱工程か、オーブンレンジを使う加熱工程かといった、使用する調理機器の違いを示す情報も含まれている。「調理工程時間」の項目には、調理工程ごとの調理時間が記憶される。「レシピ名称」、「レシピ画像」の項目の各々には、料理の名称と、当該料理の一例を撮影した画像データ(サムネイル画像のデータ)とがそれぞれ記憶される。
【0035】
「調理工程条件」の項目には、「調理手順」の「調理工程内容」に示される調理工程における調理の進め方の条件を示す情報が記憶される。調理の進め方の条件を示す情報として、例えば、調理工程に存在する待機時間が記憶される。ここで、待機時間とは、例えば、料理の下ごしらえや、パン生地を発酵させるための時間など、ユーザが調理を先に進めることができない時間を意味する。また、調理の進め方の条件を示す情報として、例えば、「調理手順」の項目に示される調理工程において、工程順にしたがっていれば、調理工程の間に時間を空けてもよいという原則の下で、連続して行わなければならない調理工程の組み合わせを示す情報なども記憶される。なお、レシピID「A021」のように、調理工程条件が存在しない場合、「調理工程条件」の項目は、空欄になる。
【0036】
「調理時間」の項目には、「調理手順」の「調理工程時間」の項目に示される調理工程ごとの時間を合計した時間が記憶される。「待機時間」の項目には、「調理工程条件」の項目に示される待機時間を合計した時間が記憶される。なお、レシピID「A021」のように、待機時間が存在しない場合、「待機時間」の項目は、空欄になる。
【0037】
ユーザ情報DB252は、例えば、図9に示すように、ユーザIDごとに、ユーザの検索目的を示す情報と、ユーザの調理に関する条件を示す情報とを対応付けて記憶する。
【0038】
登録レシピDB253は、例えば、図10に示すように、ユーザIDごとに、食事開始日時と、登録レシピIDと、調理開始日時(調理開始予定日時)と、時間計画情報と、報知日時(報知予定日時)と、報知情報(報知内容)と、報知状態とを対応付けて記憶する。食事開始日時とは、ユーザUが食事を開始する日時であって、例えばユーザUにより指定された日時である。登録レシピIDとは、対応する食事開始日時においてユーザUが食する予定の料理を示すレシピであって、ユーザUにより選択されたレシピを示すレシピIDである。図10の食事開始日時「8月1日19:00」の例のように、1つの食事開始日時に関して、複数の料理を示す複数のレシピIDが対応付けて登録可能である。
【0039】
調理開始日時(調理開始予定日時)とは、対応する「登録レシピID」の項目に示されたレシピIDのレシピの調理を開始すべき日時である。時間計画情報とは、ユーザUが調理を行う登録レシピの各々について、調理工程ごとの開始日時および終了日時を示す情報である。
【0040】
報知日時(報知予定日時)とは、調理を開始すべきであることをユーザUに報知する日時、言い換えると、調理開始日時の到来を報知する日時である。報知情報とは、対応する報知日時に報知を行う際に、報知に合わせて提示する情報である。以下、報知日時と報知情報の組み合わせを報知条件ともいう。「報知状態」の項目には、報知が既に行われている場合「報知済み」が記憶され、報知が未だ行われていない場合「未報知」が記憶される。
【0041】
カレンダDB254は、例えば、ユーザIDごとのカレンダ情報を記憶する。ここで、カレンダ情報とは、年度ごとの1月から12月までの日付を含む情報であり、更に、ユーザの外出などの予定を示す情報が、時間の範囲に関連付けて記憶されている情報である。
【0042】
サーバ200において、計時部202は、例えば時計であり、他の機能部から要求を受けると、要求を受けた時点の時刻を示す時刻情報を要求元の機能部に出力する。以下、計時部202が出力する時刻情報を、説明の便宜上、現在時刻情報という。
【0043】
DB管理部203は、レシピDB251、ユーザ情報DB252、登録レシピDB253、およびカレンダDB254に対するデータの記録や変更などの処理を行う。
【0044】
検索目的取得部204は、ユーザUの行動予定に応じたレシピの検索目的を取得する。
本実施形態では、検索目的取得部204は、端末装置300に対するユーザUの入力に基づき、ユーザUの行動予定に応じたレシピの検索目的を取得する。例えば、検索目的取得部204は、端末装置300から検索目的設定指示信号を受信することで、受信した検索目的設定指示信号に基づいて、ユーザUの行動予定に応じたレシピの検索目的を取得する。検索目的取得部204は、ユーザUの行動予定に応じたレシピの検索目的を取得した場合、ユーザ情報DB252に対するデータの記録を行う。なお、後述する変形例で説明するように、検索目的取得部204は、端末装置300に対するユーザUの入力に代えて/加えて、ユーザUの行動予定を推測し、ユーザUの行動予定に関する推測結果に基づいてレシピの検索目的を取得してもよい。検索目的取得部204は、「目的取得部」の一例である。
【0045】
レシピ提案部205は、ユーザUの行動予定に応じたレシピの検索目的が検索目的取得部204により取得された場合、レシピDB251に予め登録された複数のレシピのなかから、例えばユーザUの検索目的に応じて1つ以上のレシピを選択してユーザUに提案する。本出願で「レシピをユーザUに提案する」とは、例えば、選択したレシピを示す情報を端末装置300に送信することを意味する。
【0046】
本実施形態では、レシピ提案部205は、端末装置300からレシピ検索要求信号を受信すると、レシピDB251が記憶するデータから概要レシピデータを生成する。レシピ提案部205は、生成した概要レシピデータを含むレシピ検索応答信号を端末装置300に送信する。レシピ提案部205は、端末装置300から詳細レシピ要求信号を受信すると、レシピDB251が記憶するデータから詳細レシピデータを生成する。レシピ提案部205は、生成した詳細レシピデータを含む詳細レシピ応答信号を端末装置300に送信する。
【0047】
時間計画部206は、新たに登録レシピDB253に記録された登録レシピIDに対する時間計画処理を行って時間計画情報を生成する。時間計画処理については、詳しく後述する。
【0048】
生活時間取得部207は、ユーザUが調理を実施できる調理可能時間に関する情報を取得する。本実施形態では、生活時間取得部207は、ユーザUのユーザIDに対応するカレンダ情報をカレンダDB254から検出し、検出したカレンダ情報に示されるユーザUの予定からユーザUが家の中に存在しない時間の範囲を検出する。生活時間取得部207は、検出したユーザUが家の中に存在しない時間の範囲と、ユーザUによって予め設定されるユーザUの睡眠時間帯とに基づいて調理可能時間を算出する。ここで、調理可能時間とは、ユーザが家の中に存在する時間であって、かつ睡眠中でない時間であり、ユーザUが何らかの通知を受けると、調理を実施することが可能な時間である。
【0049】
報知部208は、検索目的として、または、調理予定のレシピと関連付けるために、食事開始時間が入力された場合、食事開始時間から逆算された調理開始時間の到来に関する報知を行う。例えば、報知部208は、時間計画部206が新たに時間計画情報を生成した場合、新たに生成された時間計画情報と、調理可能時間とに基づいて、食事開始日時ごとの報知日時を算出し、更に、報知情報を生成する。報知部208は、報知日時になると、報知日時に対応する報知情報を情報取得部318に送信する。なお、報知部208は、検索目的として、または、調理予定のレシピと関連付けるために、食事開始日時(食事開始時間)に代えて、ユーザUの別の所定の行動の開始時間または終了時間が入力された場合、入力された開始時間または終了時間に基づいて同様の処理を行い、上記報知情報を生成して送信する。例えば、報知部208は、入力された行動の開始時間または終了時間から逆算されて生成された調理工程の時間計画(時間計画情報)と、調理可能時間とに基づいて報知日時を算出し、上記報知情報を生成する。
【0050】
報知部208は、1回の食事に関して複数のレシピが登録される場合、複数のレシピの全てについて調理開始時間の到来に関する報知を行うことを抑制する(例えば、1回のみ行う)。
【0051】
報知部208は、1回の食事に関して複数のレシピが登録される場合、1回の食事に関して1つのレシピが登録される場合に対して、前記調理開始時間の到来に関する報知内容を変更する。例えば、1回の食事に関して1つのレシピが登録される場合は、「XXの料理を開始しましょう」と報知するのに対して、1回の食事に関して複数のレシピが登録される場合は、単に「料理を開始しましょう」と報知する。これら内容は、詳しく後述する。
【0052】
なお、サーバ200の計時部202、DB管理部203、検索目的取得部204、レシピ提案部205、時間計画部206、生活時間取得部207、および報知部208は、ソフトウェア機能部によって実現することに限られない。これらの機能部の一部または全部は、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、またはFPGA(Field Programmable Gate Array)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアとの協働によって実現されてもよい。
【0053】
端末装置300の記憶部310、およびサーバ200の記憶部201は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、またはSSD(Solid State Drive)などの組み合わせにより実現される。
【0054】
(情報処理システムによる処理)
図11および図12は、情報処理システム1によって行われる処理の全体の流れを示すシーケンス図である。以下では、端末装置300のユーザUに対してユーザID「U100」が付与されるものとする。以下では、ユーザUによる所定の操作により、カレンダ設定部319と、DB管理部203とによって、カレンダDB254のユーザID「U100」に対応するカレンダ情報に、特定の時間の範囲においてユーザUの外出などの予定を示す情報が記録されているものとする。
【0055】
ユーザUによる所定の操作により、調理条件設定部314と、DB管理部203とによって、ユーザ情報DB252のユーザID「U100」に対応するテーブルの「調理条件」の項目に、調理に関する条件を示す情報が記録された状態になっている。例えば、ユーザ情報DB252のユーザID「U100」に対応するテーブルの「調理条件」の項目に、図9に示すユーザUの調理に関する条件を示す情報が記録されたとする。
【0056】
まず、検索目的設定部313は、表示制御部311を介して表示画面301aに、図4の検索目的入力画面502を表示する。ここでは、例えば、ユーザUは、「今から作る」の選択候補に対応する操作部53-2に対して操作を行ったとする。操作受付部312は、当該操作を検出し、検出した操作に応じた制御信号を検索目的設定部313に出力する。これにより、「今から作る」の選択候補が選択された状態になる。
【0057】
続いて、ユーザUによって操作部54が操作されると、操作受付部312は、当該操作を検出し、検出した操作に応じた制御信号を検索目的設定部313に出力する。検索目的設定部313は、当該制御信号を取り込むと、入力部53において選択された選択候補を示す情報を検出する。ここでは、検索目的設定部313は、操作部53-2を示す情報を検出する。検索目的設定部313は、内部の記憶領域に操作部53-1~53-4の各々に関連付けて、選択候補に対応する識別信号を予め記憶させている。検索目的設定部313は、検出した選択候補に対応する識別信号とユーザID「U100」とを含む検索目的設定指示信号をサーバ200に送信する(S11)。
【0058】
検索目的取得部204は、検索目的設定指示信号を受信し、受信した検索目的設定指示信号に含まれているユーザID「U100」に対応するテーブルを、ユーザ情報DB252において選択する。検索目的取得部204は、図9に示すように、選択したテーブルの「検索目的」の項目に、検索目的設定指示信号に含まれた識別信号に対応する選択候補の内容を記録する(S12)。
【0059】
次に、レシピ検索要求部315は、ユーザIDを含むレシピ検索要求信号をサーバ200に送信する(S13)。このとき、ユーザUによって料理または食材に関する指定が行われる場合、当該ユーザによって指定される料理または食材を示す情報がレシピ検索要求信号には含まれる。レシピ提案部205は、レシピ検索要求信号を受信すると、図13に示すレシピ検索処理のサブルーチンを開始する(S14)。
【0060】
(レシピ検索処理のサブルーチン)
レシピ提案部205は、受信したレシピ検索要求信号に含まれる検索目的を示す情報を、ユーザ情報DB252から検出する。なお、検索目的を示す情報が「食事開始日時指定」である場合、ユーザ情報DB252の「検索目的」の項目には、ユーザUによって入力された食事開始日時を示す時間情報も記憶される。この場合、レシピ提案部205は、当該時間情報も、「食事開始日時指定」の検索目的と共に検出する(Sa1)。
【0061】
レシピ提案部205は、検出した検索目的を示す情報が、「通常」、「今から作る」、「食事開始日時指定」、「記念日/パーティ」のいずれであるかを判定する(Sa2)。レシピ提案部205は、検索目的を示す情報が、「通常」であると判定した場合(Sa2、通常)、レシピDB251に記憶されている順に、全てのレシピID(ユーザUによって料理または食材などの条件指定がある場合は、その条件を満たすレシピID)を検出する。
【0062】
レシピ提案部205は、検出したレシピIDの各々に対応するレシピレコードに基づき概要レシピデータを生成する。レシピ提案部205は、生成した概要レシピデータを含むレシピ検索応答信号を端末装置300に送信する(Sa7)。
【0063】
レシピ提案部205は、検索目的を示す情報が「今から作る」であると判定した場合(Sa2、今から作る)、レシピDB251に記憶された各レシピデータの「調理時間」と「待機時間」の項目に示された時間を合計した合計時間が、予め定められた所定時間(例えば30分)以内のレシピIDをレシピDB251から検出する(Sa4)。図8に示す例の場合、レシピID「A001」については、調理時間と待機時間の合計時間が「20分」になる。レシピID「A011」については、調理時間と待機時間の合計時間が「26時間30分」になる。また、レシピID「A021」については、調理時間と待機時間の合計時間が「50分」になる。そのため、この場合、レシピ提案部205は、レシピID「A001」を検出する。レシピ提案部205は、Sa4の処理において検出したレシピIDに基づいて、Sa7の処理を行う。
【0064】
なお、レシピ提案部205は、検索目的を示す情報が「今から作る」であると判定した場合、上記例に代えて、「調理時間」が予め定められた所定時間(例えば30分)以内のレシピIDをレシピDB251から検出してもよく、「待機時間」が予め定められた所定時間(例えば0分)以内のレシピIDをレシピDB251から検出してもよい。「待機時間」が0分以内とは、待機時間が存在しない(すなわち、待機時間を要する下ごしらえなどが存在しない)ことを意味する。
【0065】
レシピ提案部205は、検索目的を示す情報が「食事開始日時指定」であると判定した場合(Sa2、食事開始日時指定)、計時部202から現在時刻情報を取得する。レシピ提案部205は、レシピDB251に記憶された各レシピデータの「調理時間」と「待機時間」の項目に示されている時間を合計した合計時間を算出する。レシピ提案部205は、現在時刻情報が示す時刻に、算出した合計時間を加算した時刻を判定用時刻として算出する。レシピ提案部205は、算出した判定用時刻が、検索目的「食事開始日時指定」と共に、Sa1の処理において検出した時刻情報が示す時刻以前の時刻になるレシピIDをレシピDB251から検出する(Sa5)。例えば、現在時刻情報が示す時刻が「8月1日17:00」であり、日時入力部53-5に入力された日時が「8月1日18:00」である場合、レシピ提案部205は、レシピID「A001」,「A021」を検出する。レシピ提案部205は、Sa5の処理において検出したレシピIDに基づいて、Sa7の処理を行う。
【0066】
レシピ提案部205は、検索目的を示す情報が「記念日/パーティ」であると判定した場合(Sa2、記念日/パーティ)、レシピDB251に記憶された特別料理に該当するレシピIDを検出する(Sa6)。レシピ提案部205は、Sa6の処理において検出したレシピIDに基づいて、Sa7の処理を行う。レシピ提案部205は、Sa7の処理の後、サブルーチンを終了する。
【0067】
ここでは、レシピ提案部205は、Sa1の処理において、検索目的を示す情報として「今から作る」を検出するため、Sa4の処理が行われた後、Sa7の処理が行われることになる。
【0068】
図11に戻り、レシピ提案部205は、レシピ検索処理において生成した概要レシピデータを含むレシピ検索応答信号を端末装置300に送信する(S15)。
【0069】
レシピ検索要求部315は、レシピ検索応答信号を受信する。レシピ検索要求部315は、受信したレシピ検索応答信号に含まれている概要レシピデータの各々に基づいて、表示制御部311を介して表示画面301aに概要レシピ一覧表示画面503を表示する(S16)。これにより、図5に示すような形式で、概要レシピデータの各々に含まれているレシピ画像のデータと、レシピ名称とが、一覧表示される。
【0070】
図5に示す例は、検索目的を示す情報が「通常」の場合の例であり、検索目的を示す情報が「今から作る」の場合には、少なくともレシピID「A001」の概要レシピデータを含む概要レシピ一覧表示画面503が表示されることになる。ユーザUが、例えば、レシピID「A001」のレシピ画像領域に対応する操作部62を操作すると、詳細レシピ要求部316は、操作部62に対応付けられているレシピID「A001」(以下、詳細レシピのレシピIDという)を含む詳細レシピ要求信号を生成する。詳細レシピ要求部316は、生成した詳細レシピ要求信号をサーバ200に送信する(S17)。
【0071】
レシピ提案部205は、受信した詳細レシピ要求信号に含まれる詳細レシピのレシピID「A001」に対応するレシピレコードをレシピDB251から検出する。レシピ提案部205は、読み出した詳細レシピのレシピID「A001」に対応するレシピレコードから詳細レシピデータを生成する。レシピ提案部205は、生成した詳細レシピデータを含む詳細レシピ応答信号を端末装置300に送信する(S18)。
【0072】
詳細レシピ要求部316は、詳細レシピ応答信号を受信する。詳細レシピ要求部316は、受信した詳細レシピ応答信号に含まれている詳細レシピのレシピID「A001」の詳細レシピデータに基づいて、表示制御部311を介して表示画面301aに詳細レシピ表示画面504を表示する(S19)。これにより、図6に示す形式で、詳細レシピのレシピID「A001」の詳細レシピデータが表示される。
【0073】
図12に進み、ユーザUが、詳細レシピ表示画面504に示されたレシピID「A001」の料理を調理することを決めたとする。この場合、ユーザUは、詳細レシピ表示画面504の操作部63を操作する。ここでは、操作部63には、レシピID「A001」が対応付けられている。操作受付部312は、ユーザUの操作部63に対する操作を検出すると、検出した操作に対応するレシピID「A001」を含む制御信号をレシピ登録部317に出力する。レシピ登録部317は、レシピID「A001」を関連付けた所定の食事開始日時設定画面を、表示制御部311を介して表示画面301aに表示する。
【0074】
所定の食事開始日時設定画面において、ユーザUが食事開始日時を示す情報を入力して、完了の操作を行うと、操作受付部312が当該操作を検出する。ここでは、ユーザUは、食事開始日時を示す情報として「8月1日12:00」を入力したとする。操作受付部312は、当該操作を検出する際に、入力された食事開始日時を示す情報「8月1日12:00」と、所定の食事開始日時設定画面に関連付けられているレシピID「A001」とを検出する。操作受付部312は、検出した食事開始日時を示す情報「8月1日12:00」と、レシピID「A001」とを含む制御信号をレシピ登録部317に出力する。レシピ登録部317は、当該制御信号から得らえるレシピID「A001」を登録レシピIDとする。レシピ登録部317は、登録レシピID「A001」と、食事開始日時を示す情報「8月1日12:00」とを含むレシピ登録指示信号をサーバ200に送信する(S20)。
【0075】
DB管理部203は、レシピ登録指示信号を受信すると、ユーザID「U100」に対応するテーブルの「食事開始日時」の項目に、受信したレシピ登録指示信号に含まれる食事開始日時を示す情報「8月1日12:00」を記録し、「登録レシピID」の項目に、受信したレシピ登録指示信号に含まれる登録レシピID「A001」を記録する(S21)。これにより、図10に示す1行目のレコードのうち「食事開始日時」と「登録レシピID」の項目の内容が登録レシピDB253に記録される。
【0076】
DB管理部203は、S21の処理が終了すると、レシピ登録指示信号に含まれる食事開始日時を示す情報「8月1日12:00」を含む起動指示信号を時間計画部206に出力する。時間計画部206は、当該起動指示信号を取り込むと、図14に示す時間計画処理のサブルーチンを開始する(S22)。
【0077】
(時間計画処理のサブルーチン)
時間計画部(時間計画出力部)206は、レシピの検索目的として、または、調理予定のレシピに関連付けるために、食事開始時間が入力された場合、食事開始時間から逆算された調理工程の時間計画を生成する。ここでは、調理予定のレシピに関連付けるために食事開始時間が入力された場合について説明する。ただし本実施形態の説明において、「食事開始時間」は、調理予定のレシピに関連付けるために入力された食事開始時間に代えて、レシピの検索目的として入力された食事開始時間でもよい。なお上述したように、食事開始時間は、「ユーザの所定の行動の開始時間または終了時間」の一例である。時間計画部(時間計画出力部)206は、食事開始時間に代えて、調理終了時間、または、外出や就寝、別の作業の開始時間などユーザの所定の行動の開始時間または終了時間が入力された場合、入力された行動の開始時間または終了時間から逆算された調理工程の時間計画を生成する。このため以下の説明における「食事開始時間」は、「調理終了日時」、「ユーザの所定の行動の開始時間」、および「ユーザの所定の行動の終了時間」の各々と適宜読み替えられてもよい。
【0078】
本実施形態では、時間計画部206は、登録レシピDB253において、取り込んだ起動指示信号に含まれるユーザID「U100」に対応するテーブルを選択する。時間計画部206は、選択したテーブルの「食事開始日時」の項目の内容が、取り込んだ起動指示信号に含まれる食事開始日時を示す情報「8月1日12:00」に一致するレコードを検出する。ここでは、時間計画部206は、図10に示す1行目のレコードを検出することになる。時間計画部206は、検出したレコードの「登録レシピID」の項目に記憶された登録レシピID「A001」を読み出す(Sb1)。時間計画部206は、読み出した登録レシピIDの数が、1つであるか、複数であるかを判定する(Sb2)。
【0079】
(登録レシピIDが1つの場合の処理)
ここでは、時間計画部206が読み出した登録レシピIDは、「A001」の1つであるため、時間計画部206は、1つであると判定する(Sb2、1つ)。時間計画部206は、レシピDB251から登録レシピID「A001」に対応するレシピレコードを検出する。時間計画部206は、検出したレシピレコードの「調理手順」の項目に記憶されている調理手順を示す情報と、「調理工程条件」の項目に記憶されている調理工程条件を示す情報とを取得する(Sb3)。
【0080】
時間計画部206は、取得した調理手順を示す情報および調理工程条件を示す情報と、取り込んだ起動指示信号に含まれる食事開始日時を示す情報「8月1日12:00」とに基づいて、登録レシピ「A001」に対する時間計画を生成する。例えば、時間計画部206は、調理手順を示す情報に含まれる調理工程ごとの調理時間と、調理工程条件を示す情報に含まれる待機時間とに基づいて、食事開始日時を示す情報「8月1日12:00」を基準とした調理工程ごとの開始時刻(開始予定時刻)と終了時刻(終了予定時刻)とを算出する。時間計画部206が算出した調理工程ごとの開始時刻と終了時刻と、登録レシピID「A001」が関連付けられた情報とが時間計画情報になる。時間計画部206は、最初に行われる調理工程の開始時刻を、調理開始時刻(調理開始予定時刻)とする(Sb4)。ここでは、図8に示すように、登録レシピID「A001」の調理時間と待機時間の合計時間は20分であることから登録レシピID「A001」の調理開始時刻は、「8月1日11:40」になる。
【0081】
時間計画部206は、図10に示すように、Sb1の処理において、登録レシピDB253から検出したレコードに対して、以下の処理を行う。時間計画部206は、「調理開始時刻」の項目に、調理開始時刻「8月1日11:40」を記録し、「時間計画情報」の項目に、食事開始日時「8月1日12:00」に対応する時間計画情報を記録する(Sb5)。時間計画部206は、サブルーチンを終了する。
【0082】
(登録レシピIDが複数の場合の処理)
Sb1の処理で、時間計画部206が読み出した登録レシピIDの数が、複数である場合の処理について説明する。この処理を説明するために、以下のような場面を想定する。図10に示す登録レシピDB253の「食事開始日時」の項目が「8月1日19:00」であるレコードの「登録レシピID」の項目に、既に、登録レシピID「A012」と「A051」とが記憶されている場合とする。この状態において、DB管理部203が、図12のS21の処理において、新たに登録レシピID「A073」を追加して記録したとする。この場合、時間計画部206は、DB管理部203からユーザID「U100」と、食事開始日時を示す情報「8月1日19:00」とを含む起動指示信号を受ける。
【0083】
時間計画部206は、図14のSb1の処理において、登録レシピID「A012」,「A051」,「A073」の3つを読み出し、Sb2の処理において「複数」の判定を行う(Sb2、複数)。時間計画部206は、レシピDB251から登録レシピID「A012」,「A051」,「A073」の各々に対応するレシピレコードを検出する。時間計画部206は、検出したレシピレコードの各々から「調理手順」の項目に記憶された調理手順を示す情報と、「調理工程条件」の項目に記憶された調理工程条件を示す情報とを取得する(Sb6)。
【0084】
時間計画部206は、ユーザ情報DB252において、起動指示信号に含まれるユーザID「U100」に対応するテーブルを選択し、選択したテーブルの「調理条件」の項目に記憶された調理に関する条件を読み出して取得する(Sb7)。ここでは、時間計画部206は、図9に示す「コンロ:2個」と「オーブンレンジ:1個」とを調理に関する条件として読み出したとする。
【0085】
時間計画部206は、取得した調理手順を示す情報と、調理工程条件を示す情報と、調理に関する条件とに基づいて、例えば、図15に示すような、3つの登録レシピ「A012」,「A051」,「A073」に対する時間計画を生成する。時間計画部206は、登録レシピ「A012」,「A051」,「A073」の調理手順を示す情報に示されたコンロを用いる加熱工程の調理時間が長い順に並べる。ここでは、例えば、時間計画部206は、図15の符号101の図に示すように、右側から順に、登録レシピ「A073」,「A051」,「A012」に並べたとする。
【0086】
登録レシピ「A073」,「A051」,「A012」の各々の調理工程条件を示す情報において、加熱工程と、非加熱工程とを連続で行わなければならないという条件が示されていないものとする。また、1つの非加熱工程に対する作業のためにユーザUの時間が占有されるため、非加熱工程が並列にならないようにする必要がある。また、調理に関する条件を示す情報には、コンロが2個あることが示されているので、並列してコンロを使う加熱工程の数が、2つ以下になるようにする必要がある。そのため、時間計画部206は、図15の符号102の図に示すように、登録レシピ「A051」の非加熱工程である調理工程1を、加熱工程である調理工程2から分離して、登録レシピ「A073」の非加熱工程である調理工程1-4の前に移動させる。
【0087】
時間計画部206は、並列してコンロを使う加熱工程が2つになるように、登録レシピ「A051」の調理工程2の調理時間に重複しないように登録レシピ「A012」のコンロを使う加熱工程である調理工程4を移動させる。登録レシピ「A012」の調理工程3は、オーブンレンジを使う加熱工程であり、他の登録レシピ「A073」と「A051」の任意の調理工程と重複して行うことができる。そのため、時間計画部206は、登録レシピ「A012」の調理工程4の前に調理工程3の調理時間を割り当てる。
【0088】
最後に残った登録レシピ「A012」の非加熱工程である調理工程1-2については、他の登録レシピ「A073」,「A051」の調理工程と重複しないようにする必要がある。そのため、時間計画部206は、登録レシピ「A051」の非加熱工程である調理工程1-2を、登録レシピ「A051」の非加熱工程である調理工程1の前に移動させる。これにより、図15の符号102の図のように、登録レシピ「A073」,「A051」,「A012」の各調理工程の順番が定まることになる。
【0089】
時間計画部206は、取得した調理手順を示す情報に示されている調理工程ごとの調理時間と、起動指示信号に含まれている食事開始時刻を示す情報「8月1日19:00」から調理工程ごとの開始時刻と、終了時刻とを算出する。時間計画部206が算出した調理工程ごとの開始時刻と終了時刻と、調理工程の各々に対応する登録レシピIDが関連付けられた情報とが時間計画情報になる。時間計画部206は、登録レシピ「A073」の最初に行われる調理工程1の開始時刻「8月1日17:10」を、登録レシピ「A073」の調理開始時刻とする。時間計画部206は、登録レシピ「A051」の最初に行われる調理工程1の開始時刻「8月1日17:00」を、登録レシピ「A051」の調理開始時刻とする。時間計画部206は、登録レシピ「A012」の最初に行われる調理工程1の開始時刻「8月1日16:30」を、登録レシピ「A012」の調理開始時刻とする(Sb8)。
【0090】
時間計画部206は、Sb1の処理において、登録レシピDB253から検出したレコードに対して以下の処理を行う。時間計画部206は、登録レシピID「A012」に対応する「調理開始日時」の項目に、調理開始日時「8月1日16:30」を記録する。時間計画部206は、登録レシピID「A051」に対応する「調理開始日時」の項目に、調理開始日時「8月1日17:00」を記録する。時間計画部206は、登録レシピID「A073」に対応する「調理開始日時」の項目に、調理開始日時「8月1日17:10」を記録する。時間計画部206は、「時間計画情報」の項目に、食事開始日時「8月1日19:00」に対応する時間計画情報を記録する(Sb9)。これにより、登録レシピDB253の食事開始日時「8月1日19:00」に対応するレコードの「食事開始日時」から「時間計画情報」の項目までが、図10に示す状態になる。時間計画部206は、サブルーチンを終了する。
【0091】
図12に戻り、時間計画部206は、取り込んだ起動指示信号を、報知部208に出力する。報知部208は、当該起動指示信号に含まれるユーザID「U100」を含む取得要求信号を生活時間取得部207に出力する。生活時間取得部207は、当該取得要求信号を受けると、受けた取得要求信号に含まれるユーザID「U100」に対応するカレンダ情報をカレンダDB254から検出する。生活時間取得部207は、検出したユーザID「U100」に対応するカレンダ情報から調理可能時間を算出する。生活時間取得部207は、算出した調理可能時間を含む取得応答信号を報知部208に出力する。報知部208は、当該取得応答信号を取り込む(S23)。報知部208は、取得応答情報を取り込むと、報知条件である報知日時と、報知情報とを設定する図16に示す報知条件設定処理のサブルーチンを開始する(S24)。
【0092】
(報知条件設定処理)
報知部208は、取り込んだ起動指示信号に含まれる食事開始日時を示す情報に対応する時間計画情報を登録レシピDB253から検出する(Sc1)。
【0093】
報知部208は、検出した時間計画情報に待機時間が存在し、かつ待機時間の各々が所定時間以内であるか否かを判定する(Sc2)。ここで、所定時間は、例えば、12時間といった比較的長い時間が予め設定される。比較的長い時間を設定する理由は、例えば、前日に下準備などの調理工程を行うレシピについては、前日に下準備の調理工程が行われる際と、当日に調理が行われる際との両方において、報知を行うのが望ましいためである。
【0094】
例えば、所定時間が12時間であるとする。この場合、図8及び図10に示すレシピID「A011」には、24時間という所定時間以内でない待機時間が存在する。そのため、報知部208は、登録レシピID「A011」に対応する食事開始日時「8月3日19:00」の場合には、Sc2の判定処理において、否である判定を行う(Sc2、No)。これに対して、図10に示す食事開始日時「8月3日19:00」以外の食事開始日時については、報知部208は、Sc2の判定処理の条件を満たすと判定したとする(Sc2、Yes)。この場合、報知部208は、最先の調理開始日時を報知日時とし、対応するレコードの「報知日時」の項目に報知日時を記録する(Sc3)。図10の1行目と、3行目の食事開始日時「8月1日12:00」,「8月2日6:00」の場合には、「調理開始日時」の項目に示される日時が報知日時になる。
【0095】
これに対して、図10の2行目の食事開始日時「8月1日19:00」の場合には、3つの調理開始日時が存在するため、最先の「8月1日16:30」を報知日時として設定する。このようにすることで、1回の食事に関して複数の調理開始日時が存在する場合に、複数の調理開始日時の各々に対して報知が行われるのではなく、最先の調理開始日時に1度だけ報知が行われることになり、ユーザUの煩わしさを軽減させることができる。なお、複数の登録レシピIDの全てについて報知を行うことを抑制する、すなわち、全てについて報知を行わず、報知の回数を抑制することができれば、ユーザUの煩わしさを軽減させるという効果が得られる。そのため、例えば、最先の調理開始日時のみを報知日時にするのではなく、複数の調理開始日時の一部を選択し、選択した調理開始日時の各々を報知日時にするようにしてもよい。
【0096】
一方、Sc2の判定処理において「No」の判定を行った場合、報知部208は、最先の調理開始日時と、Sc2の処理の所定時間を超える待機時間が終了した後の調理開始日時とを報知日時として設定し、対応するレコードの「報知日時」の項目に報知日時を記録する(Sc4)。なお、報知部208は、時間計画情報から所定時間を超える待機時間が終了した後の調理開始日時を検出するものとする。図10の4行目の食事開始日時「8月2日19:00」の場合、報知部208は、「調理開始日時」の項目に記録されている「8月2日16:30」を最先の調理開始日時とし、例えば、待機時間が終了した後の調理開始日時として「8月3日17:00」を時間計画情報から検出したとする。
【0097】
報知部208は、設定された報知日時に対応する登録レシピIDの数が、1つであるか、複数であるかを判定する(Sc5)。なお、報知部208は、Sc4の処理を経由してSc5の判定処理を行う場合、設定された複数の報知日時の各々に対してSc5の判定処理を行う。
【0098】
報知部208は、設定された報知日時に対応する登録レシピIDの数が1つであると判定した場合(Sc5、1つ)、次に、Sc5の判定処理において、設定した報知日時が複数存在するか否かを判定する(Sc6)。例えば、図10の1行目と、3行目の食事開始日時「8月1日12:00」,「8月2日6:00」の場合には、それぞれ、1つの報知日時しか存在せず、また登録レシピとして、登録レシピID「A001」または「A009」の1つしか存在しない。
【0099】
そのため、報知部208は、食事開始日時「8月1日12:00」,「8月2日6:00」については、Sc5の処理において「1つ」の判定をし、Sc6の処理において「No」の判定をする。この場合、報知部208は、登録レシピIDと予め定められた所定の文字列である「の調理を開始しましょう」とを組み合わせて報知情報を生成し、生成した報知情報を、対応するレコードの「報知情報」の項目に記録する(Sc7)。例えば、1行目の食事開始日時「8月1日12:00」の場合、報知部208は、「A001の調理を開始しましょう」という報知情報を生成する。これにより、ユーザUは、調理を開始する時刻に、いずれのレシピの調理を開始するのかを示す報知を受けることができる。
【0100】
これに対して、図10の4行目の食事開始日時「8月3日19:00」の場合には、2つの報知日時「8月2日16:30」,「8月3日17:00」が存在し、各々の報知日時に対応する登録レシピIDは、「A011」の1つである。そのため、報知部208は、食事開始日時「8月3日19:00」については、Sc5の処理において「1つ」の判定をし、Sc6の処理において「Yes」の判定をする。この場合、報知部208は、時間計画情報から2つの報知日時の各々に対応する調理工程を検出し、検出した調理工程に対応する調理工程の種類をレシピDB251から検出する。ここでは、報知部208は、報知日時「8月2日16:30」については、調理工程の種類として「下準備」を検出し、報知日時「8月3日17:00」については、調理工程の種類として「非加熱工程」を検出したとする。
【0101】
報知部208は、報知日時ごとに、報知日時に対応する登録レシピIDと、報知日時に対応する調理工程の種類と、予め定められた所定の文字列である「の調理を開始しましょう」とを組み合わせて報知情報を生成する。報知部208は、報知日時ごとに生成した報知情報を、対応するレコードの「報知情報」の項目に記録する(Sc8)。例えば、報知部208は、報知日時「8月2日16:30」に対して、「A011(下準備)の調理を開始しましょう」という報知情報を生成し、報知日時「8月3日17:00」に対して、「A011(非加熱工程)の調理を開始しましょう」という報知情報を生成する。これにより、ユーザUは、前日に下準備を行うレシピの場合に、前日の下準備の調理を開始するタイミングと、当日の調理を開始するタイミングの2度において報知を受けることができる。なお、Sc2の処理に示した判定処理は、一例であり、短い待機時間であっても、待機時間が存在するごとに報知を受けたい場合、所定時間を短くするなど、ユーザUが必要と思われる回数の報知が行われるように任意の判定処理に置き換えるようにしてもよい。
【0102】
一方、報知部208は、Sc5の判定処理において、報知日時に対応する登録レシピIDの数が複数であると判定した場合(Sc5、複数)、登録レシピIDを含めずに、予め定められる所定の文字列「調理を開始しましょう」を報知情報とする。報知部208は、報知情報を、対応するレコードの「報知情報」の項目に記録する(Sc9)。図10の2行目の食事開始日時「8月1日19:00」の場合、1つの報知日時「8月1日16:30」に対して、3つの登録レシピID「A012」,「A051」,「A073」が存在する。そのため、報知部208は、Sc5の処理において「複数」の判定を行い「調理を開始しましょう」という文字列を「報知情報」の項目に記録する。ここで比較例として、Sc9の処理に替えて、Sc7の処理を行うと、最先に調理が開始される登録レシピID「A012」に対応する「A012の調理を開始しましょう」という報知情報となり、「A012」に加えて「A051」,「A073」の調理の開始を知らせる報知情報として不適切な内容になる。そのため、Sc9の処理を採用することにより、ユーザUの勘違いが生じないように抑制することができる。
【0103】
報知部208は、S23の処理において取り込んだ取得応答信号に含まれる調理可能時間に応じて、新たに記録した報知日時を調整して(Sc10)、サブルーチンを終了する。ここでは、調理可能時間に、8月1日~8月3日の「5:00~23:00」が示されているとする。図10の1行目、2行目、4行目の食事開始日時「8月1日12:00」,「8月1日19:00」,「8月3日19:00」については、報知日時は、調理可能時間の範囲内であるため、報知部208は、調整を行わない。これに対して、図10の3行目の食事開始日時「8月2日6:00」については、報知日時が、調理開始日時と同一の「8月2日4:00」になるため、調理可能時間の範囲外ということになる。そのため、報知部208は、調理開始日時「8月2日4:00」以前の時刻で、直近の調理可能時間である「8月1日23:00」を「報知日時」の項目に記録する。これにより、ユーザUは、調理可能時間の範囲内で、確実に報知を受けることができる。
【0104】
図12に戻り、報知部208は、例えば、数秒程度の一定の間隔で計時部202から現在時刻情報を取得することを繰り返し行う。報知部208は、登録レシピDB253における「報知状態」の項目が「未報知」であって、かつ「報知日時」の項目に示される時刻が取得した現在時刻情報が示す時刻以前であるレコード(以下、該当レコードという)に対して以下の処理を行う。報知部208は、該当レコードに対応するユーザIDと、該当レコードの「報知情報」の項目に記憶される報知情報とを含む報知指示信号を生成し、生成した報知指示信号をネットワークNWに送出する(S25)。端末装置300の情報取得部318は、サーバ200から報知指示信号を受信した場合、報知指示信号に含まれる報知情報を、表示制御部311を介して表示画面301aに表示する(S26)。これにより、ユーザUは、調理開始日時の到来に関する報知を受けることになる。
【0105】
例えば、ユーザUが、図3のホーム画面501に設けられた操作部52を操作し、更に、情報取得部318を、時間計画情報を取得させるために起動する所定の操作を行うことにより、情報取得部318は起動する。情報取得部318は、端末内情報350に含まれるユーザID「U100」を含む時間計画取得信号をサーバ200に送信する(S31)。
【0106】
時間計画部206は、レシピの検索目的として、または、調理予定のレシピに関連付けるために、食事開始時間が入力された場合、食事開始時間から逆算された調理工程の時間計画を端末装置300の表示画面301aに表示させるための情報を出力する。
【0107】
本実施形態では、時間計画部206は、時間計画取得信号を受信すると、登録レシピDB253において、時間計画取得信号に含まれるユーザID「U100」に対応するテーブルを選択する。時間計画部206は、選択したテーブルの「時間計画情報」の項目に記録される全ての時間計画情報を読み出す。時間計画部206は、読み出した時間計画情報に含まれるレシピIDに対応するレシピレコードをレシピDB251から検出する。時間計画部206は、検出したレシピレコードの「調理手順」の「調理工程内容」の項目に記憶された調理工程ごとの種類を示す情報を検出し、検出した調理工程ごとの種類を示す情報を、時間計画情報に含まれる調理工程を示す情報に関連付ける。
【0108】
時間計画部206は、調理工程ごとの種類を示す情報が関連付けられた時間計画情報に基づいて、調理工程の各々が時間割の形式で表示される画面表示用の画像データを生成する。時間計画部206は、生成した画像データを結合し、結合した画像データと、時間計画取得信号に含まれるユーザID「U100」とを含む時間計画取得応答信号を生成する。時間計画部206は、生成した時間計画取得応答信号を端末装置300に送信する(S32)。
【0109】
情報取得部318は、時間計画取得応答信号を受信すると、受信した時間計画取得応答信号に含まれる画像データを、表示制御部311を介して表示画面301aに表示する(S33)。これにより、例えば、図17に示す時間計画表示画面505が、表示画面301aに表示される。図17の時間計画表示画面505では、食事開始日時が「8月16日」の19:00であることが示され、その前段の18:00に登録レシピID「A081」の下準備以外の調理が行われることが示されており、17:00に登録レシピID「A081」の下準備が行われること、更に、前日の「8月15日」の16:00に登録レシピID「A081」のもう1つの下準備が行われることが示されている。
【0110】
これにより、例えば、ユーザUは、食事を行う前日と、食事を行う当日とにおいて下準備をする必要があること、食事を行う当日の下準備の後、18:00に開始する調理工程を行うまでの間に、30分程度の空き時間があることを把握することができる。これにより、例えば、ユーザUは、事前に、空き時間に他の事(例えば洗濯など)を行ったりする予定を立てることができる。また、ユーザUが「8月16日」の18時台の調理の画像であって、操作部71として形成された画像を操作したとする。操作受付部312は、当該操作を検出すると、操作に対応する制御信号を情報取得部318に出力する。情報取得部318は、表示制御部311を介して表示画面301aに、下準備以外の複数の調理工程を拡大表示すると共に、複数の調理工程の各々の開始時刻や終了時刻を表示する。これにより、ユーザUは、「8月16日」の18時台に行われる複数の調理工程の詳細を把握することができる。
【0111】
なお、図17の時間計画表示画面505では、8月15日と、8月16日の時間計画のみが表示される。表示画面301aに時間計画表示画面505が表示される状態において、表示画面301aに対してユーザUがスクロールする操作を行うことにより、他の日付の時間計画が表示されることになる。また、S31の処理を行うタイミングは、S22の時間計画処理が終了している状態であれば、任意のタイミングで行うことが可能である。
【0112】
(利点)
上記の実施形態では、サーバ200は、ユーザUの行動目的に応じたレシピの検索目的として、「今から作る」、「食事開始日時指定」、「記念日/パーティ」のいずれか1つをユーザUが選択し、ユーザUが選択した検索目的に応じたレシピを検索してユーザUに提供する。そのため、本実施形態では、ユーザUは、検索のためのキーワードを組み合わせたりするような手間を抑制することができ、検索目的を選択するだけで、ユーザUの行動目的に対して適切なレシピを得ることができる。
【0113】
このような検索により得られたレシピの料理を調理する際に、検索した時点と調理する時点とに時間差がある場合に、調理をする時点で、再度、検索するのは効率が悪い。そのため本実施形態では、検索して得られたレシピに対して、当該レシピが示す料理を食べ始める時刻、すなわち、食事開始日時を関連付けて登録できるようにしている。これにより、本実施形態では、食事開始日時に間に合うように調理を開始する時間を逆算により算出し、算出した時刻にユーザUに調理を開始することを報知する。そのため、例えば、下準備が間に合わずに、料理を食事開始日時に提供することができないといった状況になることを抑制することができる。これにより、利便性の向上を図ることが可能になる。
【0114】
(第1変形例)
上記の実施形態では、図3のホーム画面501から図4の検索目的入力画面502を経て図5の概要レシピ一覧表示画面503が表示画面301aに表示される。第1変形例では、図3のホーム画面501において、操作部51がユーザUに操作された場合、レシピ検索要求部315が起動して、図18に示す入力部53を含む概要レシピ一覧表示画面503aが表示されてもよい。この場合、レシピ検索要求部315が、検索目的設定部313を含むことになる。
【0115】
また、検索目的設定部313の起動は、以下のように行われてもよい。例えば、図5図6などに示される設定用(設定項目の選択用)の操作部81が表示画面301aに表示された状態において、操作部81をユーザUが操作すると、設定用の画面が表示画面301aに表示される。設定用の画面において、所定の操作をユーザUが行うことにより、図4の検索目的入力画面502が表示画面301aに表示されてもよい。ここで、所定の操作とは、例えば、設定用の画面において、設定項目の選択用の複数の選択肢が示されており、複数の選択肢のなかで入力部53を表示させるための選択肢を選択する操作である。
【0116】
検索目的設定部313は、概要レシピ一覧表示画面503よりも先に、図4の検索目的入力画面502を表示画面301aに表示してもよい。検索目的設定部313は、概要レシピ一覧表示画面503の上に、入力部53の部分をダイアログボックスのような形式で表示するようにしてもよい。検索目的設定部313は、概要レシピ一覧表示画面503がスクロール操作されても、入力部53が表示画面301a上の一定の位置に留まるように入力部53をフローティングの操作部として表示してもよい。
【0117】
(第2変形例)
第2変形例では、表示制御部311は、食材または料理の種類を含むレシピの検索条件を受け付けるための入力画面509(図19参照)の一部として、ユーザUの行動に応じた検索目的の入力を受け付けるための入力部53aを表示させる。なお、表示制御部311は、入力画面509の一部として入力部53aを表示させることに代えて、入力画面509と重畳して(例えばフローティング状態で)入力部53aを表示させてもよい。
【0118】
例えば、表示画面301aに図5の概要レシピ一覧表示画面503が表示されている状態において、検索窓の形状の操作部61をユーザUが操作すると、レシピ検索要求部315は、レシピ検索画面を表示画面301aに表示する。ここで、レシピ検索画面とは、レシピの検索条件を受け付けるための入力画面である。この場合に、レシピ検索要求部315は、図19に示すレシピ検索画面506を表示画面301aに表示してもよい。図19のレシピ検索画面506は、例えば、図4に示す入力部53から操作部54を除いた入力部53aを含む。ユーザUは、入力部53aにおいて、ユーザUの行動予定に応じた検索目的に関する所望の選択候補を選択した上で、例えば、検索窓の領域61aに料理の種類または食材の種類などを示す任意の文字列を入力するか、または、符号65で示す範囲に示される料理の種類や食材の種類などを示す検索項目を選択して、所定の検索開始の操作を行う。これにより、レシピ検索要求部315は、任意の文字列、または、検索項目で形成される検索条件に、更に、ユーザUの行動予定に応じた検索目的を含めて検索条件を生成することができる。
【0119】
(第3変形例)
第3変形例では、調理条件設定部314は、ユーザUの調理の技量に関する情報、例えば、技量を直接的に示す「初心者」、「普通」、「熟練者」といった情報や、技量に応じた調理の速さを示す「ゆっくり」、「普通」、「速い」といった情報を受け付けてもよい。この場合、調理条件設定部314は、「技量取得部(技量情報取得部)」の一例に該当し得る。
【0120】
調理条件設定部314は、受け付けたユーザUの調理の技量を示す情報を、ユーザ情報DB252のユーザUに対応するテーブルに設ける「技量」の項目に記録する。レシピ提案部205が図13に示すレシピ検索処理においてレシピDB251の調理時間を用いる際と、時間計画部206が図14に示す時間計画処理においてレシピDB251の調理時間を用いる際とにおいて、ユーザ情報DB252の調理の技量を示す情報に基づいて、以下のようにして、調理時間を変更してもよい。例えば、レシピ提案部205および時間計画部206は、調理時間に、調理の技量を示す情報に応じた所定の係数を乗算して得られる時間を調理時間とする。例えば、調理の技量を示す情報が「初心者」または「ゆっくり」である場合、調理時間が長くなる係数(1よりも大きな係数)を乗算し、調理の技量を示す情報が「熟練者」または「速い」である場合、調理時間が短くなる係数(1よりも小さな係数)を乗算し、調理の技量を示す情報が「普通」である場合、調理時間を変更しない係数(例えば1)を乗算してもよい。これにより、ユーザUの調理の技量に応じて調理時間を変更することができ、より正確な(柔軟な)レシピの検索や、調理に関する時間計画を行うことが可能になる。なお、検索目的設定部(技量取得部)313が、図4に示す検索目的入力画面502において、技量を示す情報の選択候補を表示するようにして、検索目的入力画面502を通じて、ユーザUの技量を示す情報を取得するようにしてもよい。
【0121】
(第4変形例)
上記の実施形態では、サーバ200の検索目的取得部204は、端末装置300の検索目的設定部313を介して、ユーザUが選択する検索目的を示す情報を取得する。第4変形例では、検索目的取得部204は、以下のようにして検索目的を示す情報を取得してもよい。例えば、ネットワークNWには、ユーザUが所有する家電機器(例えばオーブンレンジなどの調理用家電機器)が接続されている。端末装置300および家電機器は、ユーザUから受けた操作を示す操作情報をサーバ200に送信する。この操作情報には、例えば、端末装置300がサーバ200を介して調理用家電機器を操作することを示す操作情報なども含まれ得る。そのため、これらの操作情報は、ユーザUの行動履歴を示すことになる。サーバ200は、受信した操作情報を受信した時系列順に、記憶部201に蓄積する。この状態において、検索目的取得部204は、操作情報に基づいて、ユーザUの行動予定に応じた検索目的を推測し、推測した検索目的を取得してもよい。例えば、検索目的取得部204は、ユーザUが平日の夕方にレシピを検索した後、すぐに調理用家電機器を操作することを検出した頻度が閾値以上であるとする。この場合、検索目的取得部204は、ユーザUが平日の夕方にレシピを検索する場合の検索目的が、上記した「今から作る」に対応する検索目的であると推測することができる。
【0122】
(第5変形例)
第5変形例では、図4の検索目的入力画面502に更に「調理開始日時指定」という選択項目を設け、更に、日時入力部53-5と同様の、日時入力部を設けるようにして、以下のような処理を行ってもよい。ユーザUによって「調理開始日時指定」の選択候補が選択され、日時入力部に調理開始日時が入力される。この場合、サーバ200のレシピ提案部205は、図13のSa2の処理において、検索目的を示す情報が「調理開始日時」であることを判定する。レシピ提案部205は、レシピDB251に記憶された各レシピデータの「調理時間」と「待機時間」の項目に示された時間を合計した合計時間を算出する。レシピ提案部205は、調理開始日時に合計時間を加算して得られる時刻が調理開始日時に含まれる「月」と「日」の部分によって示される日付以内の時刻になるレシピIDをレシピDB251から検出する。その後、Sa7の処理を行う。これにより、例えば、待機時間が長く、調理開始日時に調理を開始すると当日に調理が完了しないレシピが除外される。そのため、ユーザUは、調理開始日時に調理を開始して当日に調理が完了するレシピを得ることができる。
【0123】
(第6変形例)
第6変形例では、図4の検索目的入力画面502に更に「調理日指定」という選択項目を設け、更に、日付を入力する日付入力部を設けるようにして、以下のような処理を行ってもよい。ユーザUによって「調理日指定」の選択候補が選択され、日付入力部に調理日を示す日付が入力される。この場合、サーバ200のレシピ提案部205は、図13のSa2の処理において、検索目的を示す情報が「調理日」であることを判定する。レシピ提案部205は、計時部202から現在時刻情報を取得する。レシピ提案部205は、レシピDB251に記憶された各レシピデータの「調理時間」と「待機時間」の項目に示された時間を合計した合計時間を算出する。レシピ提案部205は、現在時刻情報が示す時刻に合計時間を加算して得られる時刻が、調理日以内となるレシピIDをレシピDB251から検出する。その後、Sa7の処理を行う。これにより、例えば、待機時間が長く、調理日の当日に調理が完了しないレシピが除外される。そのため、ユーザUは、調理日として設定した当日に調理が完了するレシピを検索結果として得ることができる。
【0124】
(第7変形例)
上記の実施形態では、1つの食事開始日時に対して、複数のレシピを登録する場合、1つずつ登録させるようにしている。そのため、レシピが1つ登録されるごとに、時間計画部206および報知部208は、それぞれ時間計画処理および報知条件設定処理を行うことになる。第7変形例では、レシピ登録部317は、複数のレシピを、例えば、晩御飯というグループに登録し、晩御飯というグループに1つの食事開始日時を関連付けた上で、DB管理部203を介してサーバ200の登録レシピDB253に記録させる。これにより、登録レシピDB253において、1つの食事開始日時に対して、一度に複数のレシピが記録されるので、時間計画部206および報知部208は、1つの食事開始日時に対して一度だけ時間計画処理や報知条件設定処理を行えばよくなる。そのため、サーバ200の処理負荷を軽減することができる。
【0125】
(その他の変形例)
上記の実施形態において、時間計画部206が、図12のS22の時間計画処理を行わず、報知部208が、例えば、図15の符号101の図に示すように、3つの登録レシピID「A012」,「A051」,「A073」の調理が開始される際に、調理時間が最も長い、登録レシピID「A073」についてのみ、報知を行うようにしてもよい。これにより、報知回数が減少するため、ユーザUの煩わしさを軽減することが可能になる。
【0126】
上記の実施形態では、検索目的として「今から作る」が選択された場合、レシピ提案部205は、図13に示すレシピ検索処理において、予め定められる所定時間を用いてSa4の処理を行っている。これに対して、例えば、図4の検索目的入力画面502において、「今から作る」の選択候補の下に、上記所定時間を設定または変更するための所定時間入力部を設け、ユーザUが当該所定時間入力部に入力する時間を、所定時間としてSa4の処理で用いてもよい。
【0127】
上記の実施形態において、図4の検索目的入力画面502の日時入力部53-5に対する入力操作、および図6の詳細レシピ表示画面504の操作部63に対する操作後の入力操作により、ユーザUに対して、食事開始日時を入力させるようにしている。これに対して、食事開始日時に替えて、調理終了日時を入力させるようにしてもよい。この場合、図4の検索目的入力画面502には、「食事開始日時指定」に替えて「調理終了日時指定」が表示され、図6の操作部63には「調理終了日時を設定」の文字列が含まれることになる。調終了始日時の場合、図13のSa5の処理、および図12のS20~S24の処理において、「食事開始日時」を「調理終了日時」と読み替えた処理が行われる。
【0128】
以上説明した少なくともひとつの実施形態によれば、情報処理システムは、ユーザの行動目的に応じたレシピの検索目的を取得することにより、ユーザの行動目的に対して適切なレシピを提供することができる。これにより、利便性の向上を図ることができる。
【0129】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0130】
1…情報処理システム、200…サーバ、201…記憶部、202…計時部、203…DB管理部、204…検索目的取得部、205…レシピ提案部、206…時間計画部、207…生活時間取得部、208…報知部、300…端末装置、310…記憶部、311…表示制御部、312…操作受付部、313…検索目的設定部、314…調理条件設定部、315…レシピ検索要求部、316…詳細レシピ要求部、317…レシピ登録部、318…情報取得部、319…カレンダ設定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19