【文献】
上田 真由美、外4名,食材利用履歴に基づき個人の嗜好を反映するレシピ推薦手法,データベースとWeb情報システムに関するシンポジウム,日本,社団法人情報処理学会,2007年12月20日,第2007巻,第3号,p.1−8
【文献】
田中 真、外3名,追加食材と参考レシピの推薦によるオリジナル料理レシピ創出支援システム,第5回データ工学と情報マネジメントに関するフォーラム (第11回日本データベース学会年次大会),日本,電子情報通信学会データ工学研究専門委員会,2013年 6月 5日,p.1−8
(58)【調査した分野】(Int.Cl.,DB名)
前記嗜好食材判定部は、ユーザと食材ごとにスコアを付与し、スコアが第1の閾値以上となった食材を当該ユーザの前記嗜好食材として判定し、第2の閾値未満となった食材を当該ユーザの前記非嗜好食材として判定する
請求項2に記載の情報処理装置。
前記嗜好食材判定部は、ユーザが利用したと推定される利用推定レシピの非通常食材を該ユーザの嗜好食材として判定し、前記利用推定レシピが属するカテゴリにおける通常食材のうちで前記利用推定レシピに使用されていない食材を前記非嗜好食材の候補として判定する
請求項2に記載の情報処理装置。
【発明を実施するための形態】
【0016】
以下、実施の形態を次の順序で説明する。
<1.全体構成>
<2.ハードウェア構成>
<3.DB>
[3−1.レシピDB]
[3−2.ユーザDB]
[3−3.検索DB]
<4.処理の流れ>
[4−1.処理の流れの例]
[4−2.レシピ管理サーバの処理例]
[4−3.提示優先度算出処理の第1例]
[4−4.提示優先度算出処理の第2例]
[4−5.バッチ処理]
[4−6.分類処理]
[4−7.嗜好食材判定処理の第1例]
[4−8.嗜好食材判定処理の第2例]
[4−9.嗜好食材判定処理の第3例]
[4−10.非嗜好食材判定処理の第1例]
[4−11.非嗜好食材判定処理の第2例]
[4−12.非嗜好食材判定処理の第3例]
[4−13.利用推定処理]
[4−14.バッチ処理の実行タイミングの例]
<5.まとめ>
<6.プログラム及び記憶媒体>
【0017】
<1.全体構成>
先ず、本発明の実施の形態における全体構成を説明する。
尚、以下の説明においては、評価対象として料理レシピ(以降では単にレシピという)を例に挙げて説明する。
本発明の情報処理装置を含む全体構成は、
図1に示すように、レシピ管理サーバ1は、通信ネットワーク2を介して、ユーザ端末3,3,3,・・・と相互に通信可能な状態で接続されている。また、レシピ管理サーバ1は、レシピに関する情報が記憶されるレシピDB(Database)50、ユーザに関する情報が記憶されるユーザDB51、検索キーワードや検索結果の情報が記憶される検索DB52と接続されている。レシピ管理サーバ1は、本発明の情報処理装置の実施の形態に相当する。
【0018】
レシピ管理サーバ1は、ユーザから投稿されるレシピを管理する情報処理装置である。具体的な構成に関しては後述する。
【0019】
通信ネットワーク2の構成は特に限定されるものではなく、例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、CATV(Community Antenna TeleVision)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網などが想定される。
また通信ネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線などの有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
【0020】
ユーザ端末3は、レシピをレシピ管理サーバ1に投稿するユーザや、レシピ管理サーバ1が管理するレシピ情報を閲覧するユーザなどが使用する端末である。
ユーザ端末3では、必要に応じて各種の送受信処理や表示処理などが実行される。また、ユーザ端末3は、例えば、通信機能を備えたPC(Personal Computer)やフィーチャーフォンやPDA(Personal Digital Assistant)、或いは、スマートフォンやタブレット端末などのスマートデバイスなどである。
【0021】
レシピ管理サーバ1は、
図2に示すように、レシピ管理部1a、嗜好食材判定部1b、検索部1c、提示部1dを備えている。
【0022】
レシピ管理部1aは、ユーザが投稿したレシピに対して、レシピが属するカテゴリ情報とレシピに使用する食材情報とを紐付けて管理する。例えば、あるユーザが投稿した「野菜カレー」のレシピは、カテゴリ「カレーライス」に属するレシピであり、使用食材情報として、「じゃがいも」、「人参」、「タマネギ」、「ブロッコリー」、「トマト」、「ほうれん草」が紐付けられる。
また、レシピ管理部1aは、カテゴリごとに使用頻度の高い通常食材を管理する。具体的には、「カレーライス」のカテゴリに対して、同カテゴリーに属するレシピの使用食材に頻出する「じゃがいも」、「人参」、「タマネギ」、「牛肉」、「豚肉」、「チキン」を通常食材として設定する。尚、食材に加えて調味料(「塩」や「胡椒」など)やそれに準ずるもの(例えば「カレールー」など)を、通常食材として設定してもよい。
更に、レシピ管理部1aは、レシピに紐付けられたそれぞれの食材を、レシピが属するカテゴリにおける通常食材と非通常食材に分類して管理する。以下の説明においては、通常食材に該当しない食材を全て非通常食材として分類する例を説明するが、通常食材と非通常食材とどちらにも該当しない食材の三つに分類してもよい。
これらの管理は、レシピDB50を用いて行う。
【0023】
レシピ管理部1aは、レシピごとに投稿された作成レポートを管理する。作成レポートは、ユーザが実際にレシピを利用して料理を行った際に感じた料理のおいしさや手軽さなどを記したレポートである。作成レポートは、レシピDB50の各レシピに紐付けられて管理される。
【0024】
嗜好食材判定部1bは、ユーザの嗜好情報(嗜好食材と非嗜好食材の情報)に関する判定処理を実行する。具体的には、ユーザの嗜好食材(好みの食材)を判定する嗜好食材判定処理や、非嗜好食材(好みでない食材)を判定する非嗜好食材判定処理を実行する。各処理については、いくつかの例を後述する。
【0025】
検索部1cは、ユーザが指定した検索条件に応じて、レシピDB50に記憶されたレシピからユーザが所望するレシピを検索する検索処理を実行する。検索条件としては、検索結果として抽出したいレシピと関連するキーワードである検索キーワードと、検索結果から除外したいキーワードである除外キーワードを指定可能である。また、レシピが投稿された日時を指定する場合の日時情報や、評価の高いレシピを検索する際の評価情報なども検索条件に該当する。
検索結果は、予め定期的に実行された検索処理によって検索キーワードに応じた検索結果が抽出され、検索DB52に記憶される。従って、ユーザがレシピの検索操作を行った場合には、検索条件に応じて、検索DB52に記憶された検索結果が抽出される。
尚、検索DB52に記憶されていないキーワードを指定した場合(例えば、検索頻度の低い検索キーワードや検索頻度の低い除外キーワードを指定した場合)には、レシピDB50に記憶された各レシピから検索条件に応じたレシピを検索する処理を実行する。
【0026】
提示部1dは、検索結果として抽出されたレシピをユーザ端末3上に提示する処理を行う。具体的には、ユーザの指定した検索条件に応じて検索部1cが抽出した検索結果に対してそれぞれのレシピの提示優先度を算出する。更に、該提示優先度に応じた検索結果提示ページを生成してユーザ端末3へ送信する処理を実行する。
また、提示部1dは、ユーザの操作に応じた種々のウェブページデータを送信する処理を実行する。種々のウェブページデータとしては、例えばログイン画面のウェブページデータやレシピ詳細ページのウェブページデータや作成レポート投稿ページのウェブページデータなどである。
これらのウェブページのデータは、例えば、HTML(Hyper Text Markup Language)やXHTML(Extensible HyperText Markup Language)などの構造化文書ファイルである。構造化文書ファイルには、レシピ名や使用食材、或いは調理手順としてのテキストデータや料理画像等の画像データと、それらの配置や表示態様(文字色やフォントや大きさや装飾など)が記述されている。
【0027】
レシピ管理サーバ1には、他にも、各種情報を送受信する機能や、ユーザのログイン操作に対する認証処理などを実現するために必要な各部が設けられている。認証処理は、ユーザ端末3から送信されたログイン情報としてのユーザID(Identification)とパスワードを、ユーザDB51に記憶された認証情報と照合する処理である。
【0028】
<2.ハードウェア構成>
図3は、
図1に示したレシピ管理サーバ1とユーザ端末3のハードウエア、及び、レシピDB50とユーザDB51と検索DB52のハードウェアを例示する図である。それぞれのサーバや端末、DBにおけるコンピュータ装置のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力装置106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力装置107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、通信ネットワーク2を介しての通信処理や機器間通信を行う通信部109が接続されている。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
【0029】
このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア111を介したデータやプログラムの受け渡しが可能である。
CPU101が各種のプログラムに基づいて処理動作を行うことで、レシピ管理サーバ1、ユーザ端末3、レシピDB50、ユーザDB51及び検索DB52のそれぞれにおいて後述する情報処理や通信が実行される。
尚、レシピ管理サーバ1、ユーザ端末3、レシピDB50、ユーザDB51及び検索DB52を構成するそれぞれの情報処理装置は、
図3のようなコンピュータ装置が単一で構成されることに限らず、システム化された複数のコンピュータ装置によって構成されてもよい。複数のコンピュータ装置は、LANなどによりシステム化されていてもよいし、インターネットなどを利用したVPN(Virtual Private Network)などにより通信可能な状態で遠隔地に配置されたものでもよい。
【0030】
<3.DB>
[3−1.レシピDB]
レシピDB50は、ユーザから投稿されたレシピの情報が記憶されるDBである。具体的には、
図4に示すように、それぞれのレシピを識別可能なレシピIDに対して、レシピを投稿したユーザを特定するユーザIDと、投稿日時情報と、レシピが属するカテゴリ情報と、レシピの使用食材情報と、レシピの調理手順と、料理画像(完成した料理の画像や調理途中の料理の画像)などの画像情報と、レシピを実際に利用した(料理を作成した)他のユーザによって投稿された作成レポートを特定する作成レポートIDと、が紐付けられて記憶される。
また、レシピの詳細ページのURL(Uniform Resource Locator)情報がレシピIDに紐付けられて記憶されてもよい。
更に、
図5に示すように、レシピDB50には、料理のカテゴリごとに通常食材と非通常食材の情報が紐付けられて記憶される。
尚、非通常食材はレシピDB50に記憶せずに、通常食材以外を全て非通常食材としてもよい。
【0031】
更に、レシピDB50には、各レシピに対して投稿された作成レポートの情報が記憶される。作成レポートの情報としては、レポート内容を示すテキストデータや投稿者を識別可能なユーザIDや投稿日時情報などが記憶される。
尚、
図4に示したレシピ情報と、
図5に示したカテゴリごとの通常/非通常食材情報と、作成レポート情報は、共にレシピDB50に記憶される例を示したが、それぞれが独立したDBに記憶されてもよい。
【0032】
[3−2.ユーザDB]
ユーザDB51は、ユーザのログイン情報が記憶されるDBである。具体的には、それぞれのユーザを識別可能なユーザIDとログインパスワードが紐付けられて記憶される。また、ログイン履歴などの各種履歴情報が記憶されてもよい。
また、ユーザDB51には、ユーザごとの嗜好情報が記憶される。嗜好情報は、ユーザの挙動に応じてレシピ管理サーバ1が判定したユーザの好みの食材(嗜好食材)や嫌いな食材(非嗜好食材)である。
【0033】
[3−3.検索DB]
検索DB52は、検索キーワードと対応した検索結果が記憶されるDBである。具体的には、「カレーライス」や「ハンバーグ」などの料理名や「きのこ」や「トマト」などの材料名などの検索キーワードに応じて、複数のレシピが検索結果として紐付けられて記憶される。
ユーザが検索した際に新たな検索処理を実行せずに済むように、予め定期的に検索キーワードを用いた検索処理を実行しておき、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶される。
【0034】
<4.処理の流れ>
[4−1.処理の流れの例]
レシピ管理サーバ1とユーザ端末3が実行する処理の流れの一例について、
図6を参照して説明する。
ここでは、レシピ管理サーバ1が提供する各種サービスを受けるために、ユーザがユーザ端末3を用いてログイン操作を行い、レシピを検索する例を説明する。
【0035】
ユーザ端末3はステップS101において、ユーザによるログイン画面表示操作に応じたログイン画面情報要求処理を実行する。
【0036】
ログイン画面情報要求処理によりユーザ端末3からレシピ管理サーバ1へログイン画面情報要求が送信されると、レシピ管理サーバ1はステップS201において、ログイン画面情報送信処理を実行する。
これにより、例えば、レシピ管理サーバ1から受信したレシピサイトのログイン画面情報(ウェブページデータ)に応じたウェブページがユーザ端末3上に表示される。
【0037】
次に、ユーザ端末3はステップS102において、ユーザの入力操作に応じたログイン情報(ユーザIDとログインパスワード)をレシピ管理サーバ1へ送信するログイン情報送信処理を実行する。
【0038】
ユーザ端末3からレシピ管理サーバ1へログイン情報が送信されると、レシピ管理サーバ1はステップS202において認証処理を実行し、続くステップS203において認証結果通知処理を実行する。
具体的には、レシピ管理サーバ1は、ユーザ端末3上で入力されたユーザIDとパスワードをユーザDB51に記憶された情報と比較して当該ユーザのログイン可否を判定し、当該ログイン可否情報を認証結果としてユーザ端末3へ通知する。尚、認証結果をユーザ端末3へ返すと共に、レシピサイトのトップページのウェブページデータを送信してもよい。これにより、ユーザ認証がなされると共に、ユーザ端末3上にレシピサイトのトップページが表示される。
尚、
図6に示す一連の流れは、ステップS202の認証処理においてログイン可と判定された場合を示している。ステップS202においてログイン不可と判定した場合は、ユーザ端末3は再度ステップS102の処理を実行し、これに応じてレシピ管理サーバ1はステップS202の処理を実行する。
【0039】
続いて、ユーザ端末3はステップS103において、ユーザが入力したレシピを検索するためのレシピ検索条件をレシピ管理サーバ1へ送信する検索条件送信処理を実行する。
この処理では、例えば、ユーザによって指定されたレシピ名の一部や使用食材などが、検索結果を抽出するための情報として、レシピ管理サーバ1へ伝達される。
【0040】
レシピ検索条件を受信したレシピ管理サーバ1は、ステップS204で検索条件と検索DB52に記憶された情報に基づいてレシピの検索を行い結果を抽出する検索処理を実行する。
更に、レシピ管理サーバ1はステップS205において、検索結果として抽出されたそれぞれのレシピに対して、提示優先度を算出する処理を実行する。提示優先度は、ユーザに応じた各レシピの提示順を決めるための情報であり、提示優先度の高いレシピは優先的にユーザに提示される。優先的に提示するとは、例えば、ユーザ端末3上に各レシピを提示する際に、画面の上の方に提示することである。同じレシピであってもユーザに応じて提示優先度が異なるため、ユーザに合わせたレシピの提示を行うことができる。
尚、本実施の形態における提示優先度算出処理では、ユーザの嗜好情報(嗜好食材と非嗜好食材)と、レシピが属するカテゴリにおける通常食材(「カレーライス」カテゴリにおける「じゃがいも」、「人参」、「タマネギ」など)と非通常食材に応じて、優先度を算出する。提示優先度算出処理については、いくつかの例を後述する。
尚、算出したレシピごとの提示優先度を予めDBへ記憶しておき、ステップS205においては、該DBを参照してレシピごとの提示優先度を取得することによって、提示優先度算出処理の代わりとしてもよい。
【0041】
続いて、レシピ管理サーバ1はステップS206において、ステップS204で抽出した検索結果を提示優先度に基づいてユーザ端末3上に表示させるための提示処理を実行する。この処理では、提示優先度情報が含まれた検索結果がユーザ端末3へ送信される。
【0042】
提示処理が実行されると、ユーザ端末3では、レシピ管理サーバ1から受信した検索結果が提示される。ユーザが検索結果として表示された複数のレシピから一つのレシピを選択する操作を行うと、ユーザ端末3はステップS104において、レシピ選択処理を実行する。
レシピ選択処理は、ユーザが選択したレシピが何れのレシピであるかを選択レシピ情報としてレシピ管理サーバ1に通知する。尚、この処理は、選択したレシピの詳細ページのウェブページデータを要求する処理である。
【0043】
選択レシピ情報を受信したレシピ管理サーバ1は、ステップS207において、選択されたレシピの詳細情報が記載されたウェブページのデータを送信する詳細情報送信処理を実行する。
この処理によって、ユーザ端末3上に、ユーザが選択したレシピに関する詳細情報が提示される。詳細情報とは、例えば、レシピに使用する食材情報や調理手順、調理器具情報などである。
【0044】
[4−2.レシピ管理サーバの処理例]
前述した処理の流れを実現するためにレシピ管理サーバ1が実行する処理例について、
図7を参照して説明する。
レシピ管理サーバ1は、ステップS301,S311,S321,S331を順に実行することにより、各種処理を継続的に行う。具体的には、ステップS301においてログイン情報を受信したか否かを判定する処理を実行し、ステップS311において検索条件を受信したか否かを判定する処理を実行し、ステップS321において作成レポートの投稿やレシピの投稿を受信したか否かを判定する処理を実行し、ステップS331においてウェブページデータの要求を受信したか否かを判定する処理を実行する。
【0045】
ログイン情報は、ユーザがユーザ端末3を用いてログイン操作を行った場合に、ユーザ端末3からレシピ管理サーバ1へ送信される。
ステップS301において、ログイン情報を受信したと判定した場合、レシピ管理サーバ1はステップS302において認証処理を実行し、ステップS303において認証結果をユーザ端末3に通知する処理を実行する。
認証処理においては、ユーザ端末3から送られたログイン情報とユーザDB51に記憶されたユーザ情報(例えば、ユーザIDとログインパスワード)を照合し、ログインの可否を決定する。
【0046】
ステップS303の認証結果通知処理の後、或いは、ステップS301においてログイン情報を受信していないと判定した後、レシピ管理サーバ1はステップS311において検索条件を受信したか否かを判定する処理を実行する。
検索条件は、ユーザがユーザ端末3を用いて所望のレシピを検索する場合に指定した検索キーワードや除外キーワードなどであり、ユーザ端末3からレシピ管理サーバ1へ送信される。
【0047】
ステップS311において検索条件を受信したと判定した場合、レシピ管理サーバ1はステップS312において検索処理を実行し、ステップS313において提示優先度算出処理を実行し、ステップS314において提示処理を実行する。これらの処理は、
図6のステップS204,S205,S206の処理と同様であるため、説明を省略する。
【0048】
ステップS314の提示処理の後、或いは、ステップS311において検索条件を受信していないと判定した後、レシピ管理サーバ1はステップS321において作成レポートの投稿やレシピの投稿を受信したか否かを判定する処理を実行する。
作成レポート投稿やレシピ投稿を受信した場合、レシピ管理サーバ1は続くステップS322において、記憶処理を実行する。記憶処理では、受信した各投稿をレシピDB50へ記憶する処理を実行する。
【0049】
ステップS322の記憶処理の後、或いは、ステップS321において各投稿を受信していないと判定した後、レシピ管理サーバ1はステップS331においてウェブページデータを受信したか否かを判定する処理を実行する。
ウェブページデータ要求を受信したと判定した場合、レシピ管理サーバ1はステップS332において、要求のあったウェブページデータをDBから取得する処理を実行する。具体的には、ユーザページのウェブページデータや、レシピ詳細ページのウェブページデータや、特集ページのウェブページデータなどを取得する。
続いて、レシピ管理サーバ1はステップS333において、当該ウェブページデータをユーザ端末3へ送信する処理を実行する。これにより、ユーザ端末3上にユーザが所望したウェブページが表示される。
【0050】
ステップS333のウェブページデータ送信処理の後、或いは、ステップS331においてウェブページデータ要求を受信していないと判定した後、レシピ管理サーバ1は再びステップS301の処理を実行する。
【0051】
[4−3.提示優先度算出処理の第1例]
提示優先度算出処理の第1例について、
図8を参照して説明する。
提示優先度算出処理の第1例では、ユーザが好みの食材(嗜好食材)と、レシピが属するカテゴリの非通常食材に基づいて、提示優先度を算出する。
尚、ユーザの嗜好食材を判定する嗜好食材判定処理と、カテゴリごとの通常食材と非通常食材を分類する分類処理については、後述する。
即ち、ここでは、ユーザの好みの食材が嗜好食材としてユーザDB51に記憶され、カテゴリごとの通常食材と非通常食材がレシピDB50に記憶された状態とする。
【0052】
先ず、レシピ管理サーバ1はステップS401において、嗜好食材情報をユーザDB51から取得する処理を実行する。
例えば、ユーザの好きな食材である「あんず」が嗜好食材としてユーザDB51に記憶されており、ステップS401の処理において、嗜好食材情報として「あんず」を取得する。
【0053】
続いてレシピ管理サーバ1はステップS402において、レシピが属するカテゴリの非通常食材情報を取得する。この処理では、検索結果として抽出された各レシピについて、それぞれのレシピが属するカテゴリの非通常食材情報をレシピDB50から取得する。
具体的には、ユーザが「洋食」という検索キーワードを用いてレシピ検索を行い、検索処理(例えば
図7のステップS412)によって検索結果として抽出された各レシピが「カレーライス」や「ハンバーグ」などのカテゴリにそれぞれ属していた場合、「カレーライス」カテゴリの非通常食材情報として、「あんず」、「ごぼう」、「セロリ」などを取得し、「ハンバーグ」の非通常食材情報として「白菜」、「アボガド」、「イカ」などを取得する。
即ち、レシピごとに、それぞれのカテゴリの非通常食材情報を取得する。
尚、どのような食材をそのカテゴリの非通常食材として判定するかは、後述する。
【0054】
次に、ステップS403において、提示優先度の算出を行う。提示優先度の算出においては、検索結果として抽出されたそれぞれのレシピに対して、評価値(各ユーザがレシピに対して付与する値)の平均値や投稿日時、作成レポートの数などに応じて提示優先度を算出する。また、特に、ユーザの嗜好食材「あんず」を非通常食材として使用するレシピの提示優先度が高くなるように算出する。
即ち、非通常食材「あんず」を使用する「あんずカレー」の提示優先度は高くなりやすい。しかし、非通常食材として「白菜」が設定されている「白菜ハンバーグ」は、「白菜」がユーザの嗜好食材ではないため、「白菜」が非通常食材であることを理由に提示優先度が高くなることはない。
【0055】
提示優先度の具体的な算出例を示す。先ず、検索キーワードとの一致度合いやレシピの人気度合いなどを考慮して(但し、嗜好食材が非通常食材として設定されているかどうかは未だ考慮しない)、提示優先度を算出する。このとき、ユーザの嗜好食材が使用食材に含まれているかどうかは加味してもよい。
続いて、検索を行ったユーザの嗜好食材がそれぞれのレシピの非通常食材に設定されているかどうかを判定し、該当する場合には、既に算出した提示優先度を1.5倍する。
これにより、ユーザの嗜好食材が非通常食材として設定されているレシピの提示優先度が相対的に高くなる。
尚、ユーザが利用したと推定されるレシピの提示優先度は、1.5倍ではなく1.3倍にするなどして、未だユーザが利用したことのないレシピの提示優先度を高くしてもよい。
【0056】
[4−4.提示優先度算出処理の第2例]
提示優先度算出処理の第2例について、
図9を参照して説明する。
提示優先度算出処理の第2例では、嗜好食材と非通常食材に加えて、ユーザが嫌いな食材(非嗜好食材)の情報を用いて、提示優先度を算出する。
尚、ユーザの非嗜好食材を判定する非嗜好食材判定処理については、後述する。
即ち、ここでは、ユーザの嫌いな食材が非嗜好食材としてユーザDB51に記憶された状態とする。
【0057】
先ず、レシピ管理サーバ1はステップS401において、嗜好食材情報をユーザDB51から取得する処理を実行する。
続いて、レシピ管理サーバ1はステップS404において、非嗜好食材情報をユーザDB51から取得する処理を実行する。
ステップS401,S404の処理により、例えば、レシピ管理サーバ1はユーザの嗜好情報として、嗜好食材「あんず」と非嗜好食材「ピーマン」の情報を取得する。
続いて、レシピ管理サーバ1はステップS402においてレシピが属するカテゴリの非通常食材情報を取得する。この処理は、
図8の処理と同様であるため、説明を省略する。
【0058】
次に、レシピ管理サーバ1は、ステップS403において提示優先度の算出を行う。
提示優先度の算出においては、先の第1例と同様に、検索結果として抽出されたそれぞれのレシピに対して、評価値(各ユーザがレシピに対して付与する値)の平均値や投稿日時、作成レポートの数などに加え、ユーザの嗜好食材情報「あんず」とカテゴリごとの非通常食材情報に応じて提示優先度を算出する。また、本例では特に、ユーザの非嗜好食材「ピーマン」を使用するレシピの提示優先度が低くなるように算出する。
即ち、「カレーライス」カテゴリにおける非通常食材「あんず」を使用する「あんずカレー」(使用食材に「あんず」を含むレシピ)と「あんずピーマンカレー」(使用食材に「あんず」、「ピーマン」を含むレシピ)の二つのレシピの提示優先度を比較した場合、「あんずピーマンカレー」よりも「あんずカレー」の方が相対的に高い提示優先度となりやすい。また、第1例と同様に、非通常食材「白菜」を用いた「白菜ハンバーグ」の提示優先度は高くなりやすくはならない。
【0059】
提示優先度の具体的な算出例を示す。先ず、検索キーワードとの一致度合いやレシピの人気度合いなどを考慮して(但し、嗜好食材が非通常食材として設定されているかどうかは未だ考慮しない)、提示優先度を算出する。このとき、ユーザの嗜好食材が使用食材に含まれているかどうかは加味してもよい。
続いて、検索を行ったユーザの嗜好食材がそれぞれのレシピの非通常食材に設定されているかどうかを判定し、該当する場合には、既に算出した提示優先度を1.5倍する。
最後に、検索を行ったユーザの非嗜好食材がそれぞれのレシピの使用食材に設定されているかどうかを判定し、該当する場合には、提示優先度を0.8倍する。
これにより、ユーザの嗜好食材が非通常食材として設定されているレシピの提示優先度が相対的に高くなり、ユーザの非嗜好食材を用いたレシピの提示優先度は相対的に低くなる。
尚、ユーザが利用したと推定されるレシピの提示優先度は、1.5倍ではなく1.3倍にするなどして、未だユーザが利用したことのないレシピの提示優先度を高くしてもよい。
【0060】
[4−5.バッチ処理]
前述した各処理をレシピ管理サーバ1が実行するために、レシピ管理サーバ1が予め行っておくことが望ましい処理がいくつかある。
ここでは、それらの処理をバッチ処理によって定期的に行う例について、
図10を参照して説明する。
【0061】
先ず、レシピ管理サーバ1はステップS501において、分類処理を実行する。分類処理は、カテゴリごとによく使用される食材を通常食材と設定し、あまり使用されない食材を非通常食材と設定する処理である。具体的な処理手順例は後述する。
【0062】
続いてレシピ管理サーバ1はステップS502において、嗜好食材判定処理を実行する。嗜好食材は、前述のように、ユーザごとに設定される好みの食材である。具体的な処理手順例は後述する。
【0063】
そしてレシピ管理サーバ1はステップS503において、非嗜好食材判定処理を実行する。非嗜好食材は、前述のようにユーザごとに設定される嫌いな食材である。具体的な処理手順例は後述する。
【0064】
最後にレシピ管理サーバ1はステップS504において、利用推定処理を実行する。利用推定処理では、ユーザが実際に調理を行ったレシピを推定する処理である。具体的な処理手順例は後述する。
【0065】
[4−6.分類処理]
分類処理の処理手順の例について、
図11を参照して説明する。
分類処理では、レシピ管理サーバ1は先ずステップS601において、未処理のカテゴリがあるか否かを判定する処理を実行する。分類処理は、カテゴリごとの通常食材と非通常食材を設定する処理であるため、カテゴリに属するレシピに変化がなければ、処理結果も変化することはない。即ち、前回の分類処理の実行後にカテゴリに属するレシピが増えた場合(或いは、一定数以上増えた場合)に、当該カテゴリを未処理としてもよい。
【0066】
未処理のカテゴリがない場合、レシピ管理サーバ1は
図11に示した一連の処理を終了する。
一方、未処理のカテゴリが存在する場合、レシピ管理サーバ1はステップS602において、カテゴリに属するレシピ情報を取得する処理を実行する。
この処理では、カテゴリに属する全てのレシピ情報(特に使用食材情報)を取得する。
【0067】
続いて、レシピ管理サーバ1はステップS603において、集計処理を実行する。集計処理では、先のステップS602で取得したレシピ情報に紐付けられた使用食材情報を集計する処理である。
この処理により、例えば、カテゴリに属するレシピの中で「じゃがいも」を使用するレシピ数や、カテゴリに属するレシピ数に対する「じゃがいも」を使用するレシピ数の割合などが算出される。
【0068】
次に、レシピ管理サーバ1はステップS604において、通常食材判定処理を実行する。
通常食材判定処理では、ある食材を使用するレシピ数(或いはレシピ数の割合)と閾値を比較することにより、その食材が通常食材であるのか否かを判定する。具体的には、閾値を40%としたとき、「カレーライス」カテゴリに属するレシピにおいて、90%のレシピの使用食材に設定されている「じゃがいも」や80%のレシピの使用食材に設定されている「人参」などが、「カレーライス」カテゴリにおける通常食材として設定される。
【0069】
続いて、レシピ管理サーバ1はステップS605において、非通常食材判定処理を実行する。
非通常食材判定処理では、ある食材を使用するレシピ数(或いはレシピ数の割合)と閾値を比較することにより、その食材が非通常食材であるのか否かを判定する。具体的には、閾値を5%としたとき、「カレーライス」カテゴリに属するレシピにおいて、3%のレシピの使用食材に設定されている「あんず」や1%の使用食材に設定されている「みかん」が「カレーライス」カテゴリにおける非通常食材として設定される。
ステップS605の処理を実行した後、レシピ管理サーバ1は再度ステップS601の処理を実行する。
【0070】
尚、本例では、通常食材を判定する際の閾値と非通常食材を判定する際の閾値を異なる数値としたが、双方の閾値を同じ数値としてもよい。この場合には、全ての食材が通常食材か非通常食材に分類される。
【0071】
[4−7.嗜好食材判定処理の第1例]
嗜好食材判定処理の第1例について、
図12を参照して説明する。
嗜好食材判定処理の第1例では、レシピ管理サーバ1は先ずステップS701において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、食材ごとに算出されたスコア情報を元に嗜好食材であるか否かを判定する。スコアが変動していない食材は、判定結果も変動しない。従って、前回の判定処理時のスコアに対して変動の可能性があるユーザのみ、未処理のユーザとしてもよい。
【0072】
ステップS701において、未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図12に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ1は続くステップS702において、食材ごとのスコアを算出する処理を実行する。
食材ごとのスコアは、その食材に対するユーザの好き嫌いの度合いを表す数値である。例えば、その食材が使用食材に設定されたレシピの閲覧やレシピの利用、或いは、作成レポートの作成によってスコアが高く(嗜好食材と判定されやすく)なる。また、検索条件として除外キーワードに設定した場合や、あるカテゴリにおける通常食材であるにもかかわらず、その食材を使用しないレシピを閲覧(或いは利用)した場合などにスコアが低く(嗜好食材と判定されにくく)なる。
【0073】
続いて、レシピ管理サーバ1はステップS703において、各食材のスコアを判定のための閾値と比較する処理を行う。閾値よりも高いスコアが付された食材は、そのユーザの嗜好食材と判定される。この情報は、ユーザDB51に記憶される。
ステップS703の処理を実行した後、レシピ管理サーバ1は再度ステップS701の処理を実行する。
【0074】
[4−8.嗜好食材判定処理の第2例]
嗜好食材判定処理の第2例について、
図13を参照して説明する。
嗜好食材判定処理の第2例では、レシピ管理サーバ1は先ずステップS701において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、ユーザの利用レシピ情報から嗜好食材を判定する。従って、前回の判定処理から利用レシピ情報が更新されていない場合、判定結果も変わらない可能性が高いため、前回の判定処理から利用レシピ情報が更新されているユーザのみ未処理のユーザとしてもよい。
尚、ユーザによるレシピの利用を推定する処理については、後述する。
【0075】
ステップS701において、未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図13に示す一連の処理を終了する。
一方、未処理のユーザがあると判定した場合、レシピ管理サーバ1はステップS704において、対象ユーザの利用レシピ情報を取得する処理を実行する。利用レシピについては、対象ユーザが利用した全てのレシピの情報を取得してもよいし、直近の所定の件数のレシピの情報を取得してもよいし、直近の所定の期間において利用したレシピの情報を取得してもよい。
【0076】
次に、レシピ管理サーバ1はステップS705において、取得した利用レシピごとに非通常食材情報を取得する処理を実行する。これにより、ユーザが利用したレシピに設定された非通常食材が抽出される。
続いて、レシピ管理サーバ1はステップS706において、該当食材を抽出する処理を実行する。この処理では、ユーザが利用したレシピにおいて、非通常食材として設定されている食材を嗜好食材として抽出する。
即ち、レシピが属するカテゴリにおいてあまり使用されない食材を用いたレシピをユーザが利用したということは、当該食材(非通常食材)が好みの食材である可能性が高いという推測が成り立つ。
【0077】
ステップS706の処理の後、レシピ管理サーバ1は再びステップS701の処理を実行する。
【0078】
[4−9.嗜好食材判定処理の第3例]
嗜好食材判定処理の第3例について、
図14を参照して説明する。
嗜好食材判定処理の第3例では、レシピ管理サーバ1は先ずステップS701において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、レシピを検索する際にユーザが指定した検索条件を利用してユーザの嗜好食材を判定する。従って、前回の判定処理以降、ユーザが新たなレシピ検索を行わなかった場合、嗜好食材の判定結果も変わらない可能性が高いため、前回の判定処理からレシピ検索機能を利用したユーザのみ未処理のユーザとしてもよい。
【0079】
ステップS701において、未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図14に示す一連の処理を終了する。
一方、未処理のユーザがあると判定した場合、レシピ管理サーバ1はステップS707において、対象ユーザの検索条件履歴を取得する処理を実行する。この処理では、特に、検索キーワードとして入力された食材の情報を取得する。
次に、レシピ管理サーバ1はステップS708において、該当食材を抽出する処理を実行する。この処理では、ユーザが検索キーワードとして入力した食材のうち、条件を満たす食材を抽出する処理である。具体的には、例えば所定期間内に所定回数以上入力された食材を嗜好食材として抽出してもよいし、期間によらず所定回数以上入力された食材を嗜好食材として抽出してもよい。
【0080】
ステップS708の処理の後、レシピ管理サーバ1は再度ステップS701の処理を実行する。
尚、検索履歴は、ユーザDB51に記憶されていてもよいし、専用のDBに記憶されていてもよい。
【0081】
[4−10.非嗜好食材判定処理の第1例]
非嗜好食材判定処理の第1例について、
図15を参照して説明する。
非嗜好食材判定処理の第1例では、レシピ管理サーバ1は先ずステップS801において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、食材ごとに算出されたスコア情報を元に嗜好食材であるか否かを判定する。スコアが変動していない食材は、判定結果も変動しない。従って、前回の判定処理時のスコアに対して変動の可能性があるユーザのみ、未処理のユーザとしてもよい。
【0082】
ステップS801において、未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図15に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ1はステップS802において、食材ごとのスコアを算出する処理を実行する。この処理は、
図12のステップS702の処理と同様の処理である。
続いて、レシピ管理サーバ1はステップS803において、各食材のスコアを非嗜好食材と判定するための閾値と比較する処理を行う。
閾値よりも低いスコアが付された食材は、そのユーザの非嗜好食材と判定される。この情報は、ユーザDB51に記憶される。
ステップS803の処理を実行した後、レシピ管理サーバ1は再度ステップS801の処理を実行する。
【0083】
尚、
図12で説明した嗜好食材判定処理の第1例において、嗜好食材を判定すると共に非嗜好食材の判定を行ってもよい。これにより、処理の簡素化を図ることができる。
【0084】
[4−11.非嗜好食材判定処理の第2例]
非嗜好食材判定処理の第2例について、
図16を参照して説明する。
非嗜好食材判定処理の第2例では、レシピ管理サーバ1は先ずステップS801において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、レシピを検索する際にユーザが指定した検索条件を利用してユーザの非嗜好食材を判定する。具体的には、ユーザが除外キーワードとして指定した食材の情報を用いる。従って、前回の判定処理以降、ユーザが新たなレシピ検索を行わなかった場合、非嗜好食材の判定結果も変わらない可能性が高いため、前回の判定処理からレシピ検索機能を利用したユーザのみ未処理のユーザとしてもよい。
【0085】
ステップS801において、未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図16に示す一連の処理を終了する。
一方、未処理のユーザがあると判定した場合、レシピ管理サーバ1はステップS804において、対象ユーザの検索条件履歴を取得する処理を実行する。この処理では、特に、除外キーワードとして入力された食材の情報を取得する。
【0086】
次に、レシピ管理サーバ1はステップS805において、該当食材を抽出する処理を実行する。この処理では、ユーザが除外キーワードとして入力した食材のうち、条件を満たす食材を抽出する処理である。具体的には、例えば所定期間内に所定回数以上除外キーワードとして入力された食材を非嗜好食材として抽出してもよいし、期間によらず所定回数以上除外キーワードとして入力された食材を非嗜好食材として抽出してもよい。また、一度でも除外キーワードとして入力された食材を非嗜好食材として抽出してもよい。
【0087】
ステップS805の処理の後、レシピ管理サーバ1は再度ステップS801の処理を実行する。
尚、検索履歴は、ユーザDB51に記憶されていてもよいし、他の専用のDBに記憶されていてもよい。
【0088】
[4−12.非嗜好食材判定処理の第3例]
非嗜好食材判定処理の第3例について、
図17を参照して説明する。
非嗜好食材判定処理の第3例では、レシピ管理サーバ1は先ずステップS801において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、ユーザの利用レシピとそのレシピが属するカテゴリにおける通常食材からユーザの非嗜好食材を判定する。従って、ユーザの利用レシピに変化がない場合、即ち前回の判定処理からユーザが新たにレシピを利用していない場合、当該ユーザは処理済みとしてもよい。
【0089】
ステップS801において未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図17に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ1はステップS806において、利用レシピ情報を取得する処理を実行する。この処理は、
図13のステップS704と同様の処理である。尚、ユーザによるレシピの利用を推定する処理については、後述する。
【0090】
続いて、レシピ管理サーバ1はステップS807において、取得した利用レシピごとに通常食材情報を取得する処理を実行する。これにより、ユーザが利用したレシピに設定された通常食材が抽出される。
次に、レシピ管理サーバ1はステップS808において、該当食材を抽出する処理を実行する。この処理では、ユーザの利用レシピの中に、カテゴリにおける通常食材が使用食材となっていないレシピが多い場合などに当該通常食材を非嗜好食材として判定する。
具体的には、例えば、「カレーライス」のカテゴリにおける通常食材として「じゃがいも」(例えば「カレーライス」のカテゴリに属するレシピの90%に使用食材として設定されている)が設定されているのに対して、ユーザが利用した「カレーライス」カテゴリのレシピ10個においては「じゃがいも」が使用食材として設定されているレシピがなかった場合、ユーザが「じゃがいも」を苦手としていることが推測される。
【0091】
ステップS807の処理の後、レシピ管理サーバ1は再度ステップS801の処理を実行する。
尚、通常食材が使用食材として設定されているレシピの割合(「カレーライス」カテゴリにおいて「ジャガイモ」を使用しているレシピの割合90%)に対して、当該食材がユーザの利用レシピにおいて使用食材として設定されているレシピの割合が所定割合(例えば50%とした場合、90×0.5=45%)を下回っている場合に当該食材を非嗜好食材と判定してもよい。
【0092】
[4−13.利用推定処理]
ここでは、ユーザによるレシピの利用を推定する処理について、
図18を参照して説明する。
先ず、レシピ管理サーバ1はステップS901において、未処理のユーザがあるか否かを判定する処理を実行する。
未処理のユーザがいないと判定した場合、レシピ管理サーバ1は
図18に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ1はステップS902において、当該ユーザが投稿した作成レポートの情報を取得する処理を実行する。作成レポートの投稿対象となったレシピは、ユーザが実際に利用した(調理した)レシピである可能性が高い。
【0093】
続いて、レシピ管理サーバ1はステップS903において、レシピ閲覧情報を取得する。ユーザが閲覧したレシピは、ユーザが実際に利用したレシピである可能性がある。
尚、単に閲覧しただけでなく、レシピごとに設定された調理時間に応じた閲覧時間であれば、利用したレシピである可能性が更に高まる。
【0094】
次に、レシピ管理サーバ1はステップS904において、レシピごとに利用判定を行う。この判定は、ステップS902で取得した作成レポート情報やステップS903で取得したレシピ閲覧情報に応じて行われる。
【0095】
ステップS904の処理を実行した後、レシピ管理サーバ1は再度ステップS901の処理を実行する。
【0096】
尚、レシピの使用食材や調理方法が記載されたレシピ詳細ページにおいて、当該ページにおける使用食材が記載されている部分と調理方法が記載されている部分を交互に閲覧していた場合に、当該レシピをユーザが利用したと判定してもよい。また調理方法が記載されている部分を長時間閲覧した場合に、当該レシピをユーザが利用したと判定してもよい。
【0097】
[4−14.バッチ処理の実行タイミングの例]
図10を用いて説明した先のバッチ処理を実行するタイミングの例について説明する。
例えば、季節ごとにバッチ処理を実行することが考えられる。この場合、季節ごとに
図10のステップS502の嗜好食材判定処理やステップS503の非嗜好食材判定処理が実行される。即ち、季節ごとに嗜好食材や非嗜好食材が更新される。これにより、旬な食材が嗜好食材や非嗜好食材として設定されやすくなる。
【0098】
<5.まとめ>
上記したレシピ管理サーバ1は、レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類するレシピ管理部1aと、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定部1bと、ユーザによって入力された検索条件に基づいてレシピを検索する検索部1cと、検索したレシピのうちで非通常食材に嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示部1dと、を備えている。
ユーザが好みの食材を利用したレシピを提供することは既に行われている。しかし、そのように提示されたレシピは、人気度や評価値などによって抽出されることが多く、ありきたりのレシピである可能性が高い。
一方、本発明似おいては、ユーザが好みの食材を非通常食材として使用するレシピが、高い優先度で提示されやすい。即ち、ユーザが好みの食材を使用した珍しいレシピが提示されやすくなる。
これにより、ユーザの食生活に変化を与えつつ、満足できる可能性の高いレシピを提示することができる。特に、他のレシピサイトでは提示されないようなレシピが提示されることにより、レシピサイトの利用価値を向上させることができる。
更に、ユーザの利用するユーザ端末における限られた(例えば、モニタなどの)提示領域において、価値のある情報(レシピ)を提示することにより、ユーザ端末の資源を有効活用することができる。
【0099】
また、非嗜好食材判定処理の各例(第1例、第2例、第3例)で説明したように、嗜好食材判定部1bは、ユーザが嗜好しない食材を非嗜好食材として判定する。
これにより、ユーザが嗜好する食材だけでなく、嗜好しない食材が管理される。
従って、ユーザに対して、より適したレシピを提示することができる。
【0100】
更に、嗜好食材判定処理の第1例で説明したように、嗜好食材判定部1bは、ユーザと食材ごとにスコアを付与し、スコアが第1の閾値以上となった食材を当該ユーザの嗜好食材として判定し、第2の閾値未満となった食材を当該ユーザの非嗜好食材として判定する。
ユーザと食材の組み合わせごとに、数値化された嗜好情報が管理される。
例えば、ユーザの行動などに応じてその都度、食材のスコアを更新していく場合に、複数回のユーザの行動(例えばある食材を検索するなど)に応じて嗜好情報が蓄積されるため、ある程度の信頼性を担保した上で、ユーザごとの嗜好食材と非嗜好食材を判定することができる。
【0101】
更にまた、嗜好食材判定処理の第2例で説明したように、嗜好食材判定部1bは、ユーザが利用したと推定される利用推定レシピの非通常食材を該ユーザの嗜好食材として判定し、利用推定レシピが属するカテゴリにおける通常食材のうちで利用推定レシピに使用されていない食材を非嗜好食材の候補として判定する。
これにより、ユーザが実際に利用したと推定されるレシピに基づいてユーザの嗜好食材が判定されるため、ユーザに嗜好食材を直接入力させることなく確度の高い情報を収集することができる。
【0102】
加えて、嗜好食材判定処理の第3例で説明したように、嗜好食材判定部1bは、ユーザが検索条件として入力した食材を該ユーザの嗜好食材として判定する。
これにより、ユーザが検索操作を行う際の情報を利用して嗜好食材の情報を収集するため、ユーザに余分な操作負担を強いること無く、効率よく情報の収集が可能となる。
また、検索に用いた食材は、例え嗜好食材でなくてもユーザが使用したいと考えている食材である可能性が極めて高いため、嗜好食材として判定された検索食材を使用するレシピを提案することは、ユーザの目的に沿ったレシピ提示となる。
【0103】
そして、バッチ処理の実行タイミングの例で説明したように、嗜好食材判定部1bは、時期や季節ごとに判定を行う。
定期的に嗜好情報が更新されるため、季節外れの旬でない食材を利用したレシピが提示されることを抑制することができる。また、嗜好食材が変化した場合に応じたレシピの提示を行うことができる。
【0104】
また、提示優先度算出処理の第2例で説明したように、提示部1dは、非嗜好食材を使用するレシピの提示優先度を下げる。
これにより、ユーザの嗜好食材と非嗜好食材の双方を加味したレシピ検索がなされる。
従って、ユーザに対して、より適したレシピを提示することができる。
【0105】
更に、非嗜好食材判定処理の第2例で説明したように、嗜好食材判定部1bは、ユーザが検索条件として設定した除外食材を非嗜好食材として判定する。
これにより、ユーザが検索操作を行う際に入力した情報を利用して非嗜好食材の情報を収集するため、ユーザに余分な操作負担を強いること無く、効率よく情報の収集が可能となる。
【0106】
<6.プログラム及び記憶媒体>
以上、本発明の情報処理装置の実施の形態としてのレシピ管理サーバ1を説明してきたが、実施の形態のプログラムは、レシピ管理サーバ1における各処理を情報処理装置(CPU等)に実行させるプログラムである。
【0107】
実施の形態のプログラムは、レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類する分類手順を情報処理装置に実行させる。
また、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定手順を情報処理装置に実行させる。
更に、ユーザによって入力された検索条件に基づいてレシピを検索する検索手順を情報処理装置に実行させる。
更にまた、前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示手順を情報処理装置に実行させる。
即ちこのプログラムは、レシピ管理サーバ1に対して
図6のステップS201乃至S207の各処理、
図7乃至
図18の各処理を実行させるプログラムである。
【0108】
このようなプログラムにより、上述したレシピ管理サーバ1としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記録媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROMなどに予め記録しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的或いは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。