(57)【要約】  ユーザの嗜好食材を使用した珍しいレシピの提示を図る。そのために情報処理装置は、レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類するレシピ管理部と、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定部と、ユーザによって入力された検索条件に基づいてレシピを検索する検索部と、前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示部と、を備える。
2017046845.tif 000002
【特許請求の範囲】
【請求項１】
レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類するレシピ管理部と、
ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定部と、
ユーザによって入力された検索条件に基づいてレシピを検索する検索部と、
前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示部と、を備えた
情報処理装置。
【請求項２】
前記嗜好食材判定部は、ユーザが嗜好しない食材を非嗜好食材として判定する
請求項１に記載の情報処理装置。
【請求項３】
前記嗜好食材判定部は、ユーザと食材ごとにスコアを付与し、スコアが第１の閾値以上となった食材を当該ユーザの前記嗜好食材として判定し、第２の閾値未満となった食材を当該ユーザの前記非嗜好食材として判定する
請求項２に記載の情報処理装置。
【請求項４】
前記嗜好食材判定部は、ユーザが利用したと推定される利用推定レシピの非通常食材を該ユーザの嗜好食材として判定し、前記利用推定レシピが属するカテゴリにおける通常食材のうちで前記利用推定レシピに使用されていない食材を前記非嗜好食材の候補として判定する
請求項２に記載の情報処理装置。
【請求項５】
前記嗜好食材判定部は、ユーザが検索条件として入力した食材を該ユーザの前記嗜好食材として判定する
請求項１に記載の情報処理装置。
【請求項６】
前記嗜好食材判定部は、時期や季節ごとに前記判定を行う
請求項１に記載の情報処理装置。
【請求項７】
前記提示部は、前記非嗜好食材を使用するレシピの前記提示優先度を下げる
請求項２に記載の情報処理装置。
【請求項８】
前記嗜好食材判定部は、ユーザが検索条件として設定した除外食材を非嗜好食材として判定する
請求項２に記載の情報処理装置。
【請求項９】
レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類する分類ステップと、
ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定ステップと、
ユーザによって入力された検索条件に基づいてレシピを検索する検索ステップと、
前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示ステップと、を
情報処理装置に実行させる情報処理方法。
【請求項１０】
レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類する分類手順と、
ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定手順と、
ユーザによって入力された検索条件に基づいてレシピを検索する検索手順と、
前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示手順と、を
情報処理装置に実行させるプログラム。
【請求項１１】
レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類する分類手順と、
ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定手順と、
ユーザによって入力された検索条件に基づいてレシピを検索する検索手順と、
前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示手順と、を
情報処理装置に実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レシピを管理する情報処理装置、情報処理方法、プログラム及び記憶媒体についての技術分野に関する。詳しくは、ユーザにレシピを提示するための各種処理に関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２０１３−１１７７７５号公報
【背景技術】
【０００３】
近年では、一般ユーザの投稿などによって蓄積されたレシピをＰＣなどのコンピュータから検索可能なレシピ検索のサイトやソフトウェアが普及している（例えば特許文献１）。これらの分野においては、例えば、ユーザに対してユーザが所望してるであろうレシピを推測して提示することが行われている。この場合には、ユーザの嗜好情報（嗜好食材や非嗜好食材の情報）に基づいてレシピを検索して提示することもある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ユーザの嗜好情報に基づくレシピ提示は、ユーザ自身が思いつくようなありきたりのレシピになることが多い。
そこで、本発明は、ユーザの嗜好食材を使用した珍しいレシピの提示を図ることを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、
レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類するレシピ管理部と、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定部と、ユーザによって入力された検索条件に基づいてレシピを検索する検索部と、前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示部と、を備えている。
これにより、ユーザの食生活に変化を与えつつ、満足できる可能性の高いレシピが提示される。【０００６】
上記した情報処理装置の前記嗜好食材判定部は、ユーザが嗜好しない食材を非嗜好食材として判定する。
これにより、ユーザが嗜好する食材だけでなく、嗜好しない食材が管理される。【０００７】
上記した情報処理装置の前記嗜好食材判定部は、ユーザと食材ごとにスコアを付与し、スコアが第１の閾値以上となった食材を当該ユーザの前記嗜好食材として判定し、第２の閾値未満となった食材を当該ユーザの前記非嗜好食材として判定する。
これにより、ユーザと食材の組み合わせごとに、数値化された嗜好情報が管理される。【０００８】
上記した情報処理装置の前記嗜好食材判定部は、ユーザが利用したと推定される利用推定レシピの非通常食材を該ユーザの嗜好食材として判定し、前記利用推定レシピが属するカテゴリにおける通常食材のうちで前記利用推定レシピに使用されていない食材を前記非嗜好食材の候補として判定する。
これにより、ユーザが実際に利用したと推定されるレシピに基づいてユーザの嗜好食材が判定される。【０００９】
上記した情報処理装置の前記嗜好食材判定部は、ユーザが検索条件として入力した食材を該ユーザの前記嗜好食材として判定する。
これにより、ユーザが検索操作を行う際の情報を利用して嗜好食材の情報を収集するため、ユーザに余分な操作負担を強いること無く、効率よく情報の収集が可能となる。【００１０】
上記した情報処理装置の前記嗜好食材判定部は、時期や季節ごとに前記判定を行う。
これにより、季節に応じて定期的に嗜好情報が更新される。【００１１】
上記した情報処理装置の前記提示部は、前記非嗜好食材を使用するレシピの前記提示優先度を下げる。
これにより、ユーザの嗜好食材と非嗜好食材の双方を加味したレシピ検索がなされる。【００１２】
上記した情報処理装置の前記嗜好食材判定部は、ユーザが検索条件として設定した除外食材を非嗜好食材として判定する。
これにより、ユーザが検索操作を行う際に入力した情報を利用して非嗜好食材の情報が収集される。【００１３】
本発明に係る情報処理方法は、レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類する分類ステップと、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定ステップと、ユーザによって入力された検索条件に基づいてレシピを検索する検索ステップと、前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示ステップと、を備えたものである。
この情報処理方法により、ユーザの嗜好食材を使用した珍しいレシピが提示されやすい環境を構築する。
本発明に係るプログラムは、上記情報処理方法として実行する処理を情報処理装置に実行させるプログラムである。
本発明に係る記憶媒体は、上記プログラムを記憶した記憶媒体である。これらのプログラムや記憶媒体により上記の情報処理装置を実現する。
【発明の効果】
【００１４】
本発明によれば、ユーザの嗜好食材を使用した珍しいレシピが提示されやすくすることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態の情報処理装置を含む全体構成を示す説明図である。
【図２】レシピ管理サーバと他の装置を含む構成を示すブロック図である。
【図３】コンピュータ装置のブロック図である。
【図４】レシピＤＢに記憶される情報の一部を説明する図である。
【図５】レシピＤＢに記憶される情報の一部を説明する図である。
【図６】処理の流れの一例を示す図である。
【図７】レシピ管理サーバが実行する処理の流れを示すフローチャートである。
【図８】提示優先度算出処理の第１例を示すフローチャートである。
【図９】提示優先度算出処理の第２例を示すフローチャートである。
【図１０】バッチ処理の例を示すフローチャートである。
【図１１】分類処理の例を示すフローチャートである。
【図１２】嗜好食材判定処理の第１例を示すフローチャートである。
【図１３】嗜好食材判定処理の第２例を示すフローチャートである。
【図１４】嗜好食材判定処理の第３例を示すフローチャートである。
【図１５】非嗜好食材判定処理の第１例を示すフローチャートである。
【図１６】非嗜好食材判定処理の第２例を示すフローチャートである。
【図１７】非嗜好食材判定処理の第３例を示すフローチャートである。
【図１８】利用推定処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、実施の形態を次の順序で説明する。
＜１．全体構成＞
＜２．ハードウェア構成＞
＜３．ＤＢ＞
［３−１．レシピＤＢ］
［３−２．ユーザＤＢ］
［３−３．検索ＤＢ］
＜４．処理の流れ＞
［４−１．処理の流れの例］
［４−２．レシピ管理サーバの処理例］
［４−３．提示優先度算出処理の第１例］
［４−４．提示優先度算出処理の第２例］
［４−５．バッチ処理］
［４−６．分類処理］
［４−７．嗜好食材判定処理の第１例］
［４−８．嗜好食材判定処理の第２例］
［４−９．嗜好食材判定処理の第３例］
［４−１０．非嗜好食材判定処理の第１例］
［４−１１．非嗜好食材判定処理の第２例］
［４−１２．非嗜好食材判定処理の第３例］
［４−１３．利用推定処理］
［４−１４．バッチ処理の実行タイミングの例］
＜５．まとめ＞
＜６．プログラム及び記憶媒体＞
【００１７】
＜１．全体構成＞
先ず、本発明の実施の形態における全体構成を説明する。
尚、以下の説明においては、評価対象として料理レシピ（以降では単にレシピという）を例に挙げて説明する。
本発明の情報処理装置を含む全体構成は、図１に示すように、レシピ管理サーバ１は、通信ネットワーク２を介して、ユーザ端末３，３，３，・・・と相互に通信可能な状態で接続されている。また、レシピ管理サーバ１は、レシピに関する情報が記憶されるレシピＤＢ（Database）５０、ユーザに関する情報が記憶されるユーザＤＢ５１、検索キーワードや検索結果の情報が記憶される検索ＤＢ５２と接続されている。レシピ管理サーバ１は、本発明の情報処理装置の実施の形態に相当する。
【００１８】
レシピ管理サーバ１は、ユーザから投稿されるレシピを管理する情報処理装置である。具体的な構成に関しては後述する。
【００１９】
通信ネットワーク２の構成は特に限定されるものではなく、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ（Local Area Network）、ＣＡＴＶ（Community Antenna TeleVision）通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網などが想定される。
また通信ネットワーク２の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４、ＵＳＢ（Universal Serial Bus）、電力線搬送、電話線などの有線でも、ＩｒＤＡ（Infrared Data Association）のような赤外線、ブルートゥース（登録商標）、８０２．１１無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
【００２０】
ユーザ端末３は、レシピをレシピ管理サーバ１に投稿するユーザや、レシピ管理サーバ１が管理するレシピ情報を閲覧するユーザなどが使用する端末である。
ユーザ端末３では、必要に応じて各種の送受信処理や表示処理などが実行される。また、ユーザ端末３は、例えば、通信機能を備えたＰＣ（Personal Computer）やフィーチャーフォンやＰＤＡ（Personal Digital Assistant）、或いは、スマートフォンやタブレット端末などのスマートデバイスなどである。
【００２１】
レシピ管理サーバ１は、図２に示すように、レシピ管理部１ａ、嗜好食材判定部１ｂ、検索部１ｃ、提示部１ｄを備えている。
【００２２】
レシピ管理部１ａは、ユーザが投稿したレシピに対して、レシピが属するカテゴリ情報とレシピに使用する食材情報とを紐付けて管理する。例えば、あるユーザが投稿した「野菜カレー」のレシピは、カテゴリ「カレーライス」に属するレシピであり、使用食材情報として、「じゃがいも」、「人参」、「タマネギ」、「ブロッコリー」、「トマト」、「ほうれん草」が紐付けられる。
また、レシピ管理部１ａは、カテゴリごとに使用頻度の高い通常食材を管理する。具体的には、「カレーライス」のカテゴリに対して、同カテゴリーに属するレシピの使用食材に頻出する「じゃがいも」、「人参」、「タマネギ」、「牛肉」、「豚肉」、「チキン」を通常食材として設定する。尚、食材に加えて調味料（「塩」や「胡椒」など）やそれに準ずるもの（例えば「カレールー」など）を、通常食材として設定してもよい。
更に、レシピ管理部１ａは、レシピに紐付けられたそれぞれの食材を、レシピが属するカテゴリにおける通常食材と非通常食材に分類して管理する。以下の説明においては、通常食材に該当しない食材を全て非通常食材として分類する例を説明するが、通常食材と非通常食材とどちらにも該当しない食材の三つに分類してもよい。
これらの管理は、レシピＤＢ５０を用いて行う。
【００２３】
レシピ管理部１ａは、レシピごとに投稿された作成レポートを管理する。作成レポートは、ユーザが実際にレシピを利用して料理を行った際に感じた料理のおいしさや手軽さなどを記したレポートである。作成レポートは、レシピＤＢ５０の各レシピに紐付けられて管理される。
【００２４】
嗜好食材判定部１ｂは、ユーザの嗜好情報（嗜好食材と非嗜好食材の情報）に関する判定処理を実行する。具体的には、ユーザの嗜好食材（好みの食材）を判定する嗜好食材判定処理や、非嗜好食材（好みでない食材）を判定する非嗜好食材判定処理を実行する。各処理については、いくつかの例を後述する。
【００２５】
検索部１ｃは、ユーザが指定した検索条件に応じて、レシピＤＢ５０に記憶されたレシピからユーザが所望するレシピを検索する検索処理を実行する。検索条件としては、検索結果として抽出したいレシピと関連するキーワードである検索キーワードと、検索結果から除外したいキーワードである除外キーワードを指定可能である。また、レシピが投稿された日時を指定する場合の日時情報や、評価の高いレシピを検索する際の評価情報なども検索条件に該当する。
検索結果は、予め定期的に実行された検索処理によって検索キーワードに応じた検索結果が抽出され、検索ＤＢ５２に記憶される。従って、ユーザがレシピの検索操作を行った場合には、検索条件に応じて、検索ＤＢ５２に記憶された検索結果が抽出される。
尚、検索ＤＢ５２に記憶されていないキーワードを指定した場合（例えば、検索頻度の低い検索キーワードや検索頻度の低い除外キーワードを指定した場合）には、レシピＤＢ５０に記憶された各レシピから検索条件に応じたレシピを検索する処理を実行する。
【００２６】
提示部１ｄは、検索結果として抽出されたレシピをユーザ端末３上に提示する処理を行う。具体的には、ユーザの指定した検索条件に応じて検索部１ｃが抽出した検索結果に対してそれぞれのレシピの提示優先度を算出する。更に、該提示優先度に応じた検索結果提示ページを生成してユーザ端末３へ送信する処理を実行する。
また、提示部１ｄは、ユーザの操作に応じた種々のウェブページデータを送信する処理を実行する。種々のウェブページデータとしては、例えばログイン画面のウェブページデータやレシピ詳細ページのウェブページデータや作成レポート投稿ページのウェブページデータなどである。
これらのウェブページのデータは、例えば、ＨＴＭＬ（Hyper Text Markup Language）やＸＨＴＭＬ（Extensible HyperText Markup Language）などの構造化文書ファイルである。構造化文書ファイルには、レシピ名や使用食材、或いは調理手順としてのテキストデータや料理画像等の画像データと、それらの配置や表示態様（文字色やフォントや大きさや装飾など）が記述されている。
【００２７】
レシピ管理サーバ１には、他にも、各種情報を送受信する機能や、ユーザのログイン操作に対する認証処理などを実現するために必要な各部が設けられている。認証処理は、ユーザ端末３から送信されたログイン情報としてのユーザＩＤ（Identification）とパスワードを、ユーザＤＢ５１に記憶された認証情報と照合する処理である。
【００２８】
＜２．ハードウェア構成＞
図３は、図１に示したレシピ管理サーバ１とユーザ端末３のハードウエア、及び、レシピＤＢ５０とユーザＤＢ５１と検索ＤＢ５２のハードウェアを例示する図である。それぞれのサーバや端末、ＤＢにおけるコンピュータ装置のＣＰＵ（Central Processing Unit）１０１は、ＲＯＭ（Read Only Memory）１０２に記憶されているプログラム、または記憶部１０８からＲＡＭ（Random Access Memory）１０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ１０３にはまた、ＣＰＵ１０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
ＣＰＵ１０１、ＲＯＭ１０２、およびＲＡＭ１０３は、バス１０４を介して相互に接続されている。このバス１０４には、入出力インターフェース１０５も接続されている。
入出力インターフェース１０５には、キーボード、マウス、タッチパネルなどよりなる入力装置１０６、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）、有機ＥＬ（Electroluminescence）パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力装置１０７、ＨＤＤ（Hard Disk Drive）やフラッシュメモリ装置などより構成される記憶部１０８、通信ネットワーク２を介しての通信処理や機器間通信を行う通信部１０９が接続されている。
入出力インターフェース１０５にはまた、必要に応じてメディアドライブ１１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１が適宜装着され、リムーバブルメディア１１１に対する情報の書込や読出が行われる。
【００２９】
このようなコンピュータ装置では、通信部１０９による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア１１１を介したデータやプログラムの受け渡しが可能である。
ＣＰＵ１０１が各種のプログラムに基づいて処理動作を行うことで、レシピ管理サーバ１、ユーザ端末３、レシピＤＢ５０、ユーザＤＢ５１及び検索ＤＢ５２のそれぞれにおいて後述する情報処理や通信が実行される。
尚、レシピ管理サーバ１、ユーザ端末３、レシピＤＢ５０、ユーザＤＢ５１及び検索ＤＢ５２を構成するそれぞれの情報処理装置は、図３のようなコンピュータ装置が単一で構成されることに限らず、システム化された複数のコンピュータ装置によって構成されてもよい。複数のコンピュータ装置は、ＬＡＮなどによりシステム化されていてもよいし、インターネットなどを利用したＶＰＮ（Virtual Private Network）などにより通信可能な状態で遠隔地に配置されたものでもよい。
【００３０】
＜３．ＤＢ＞
［３−１．レシピＤＢ］
レシピＤＢ５０は、ユーザから投稿されたレシピの情報が記憶されるＤＢである。具体的には、図４に示すように、それぞれのレシピを識別可能なレシピＩＤに対して、レシピを投稿したユーザを特定するユーザＩＤと、投稿日時情報と、レシピが属するカテゴリ情報と、レシピの使用食材情報と、レシピの調理手順と、料理画像（完成した料理の画像や調理途中の料理の画像）などの画像情報と、レシピを実際に利用した（料理を作成した）他のユーザによって投稿された作成レポートを特定する作成レポートＩＤと、が紐付けられて記憶される。
また、レシピの詳細ページのＵＲＬ（Uniform Resource Locator）情報がレシピＩＤに紐付けられて記憶されてもよい。
更に、図５に示すように、レシピＤＢ５０には、料理のカテゴリごとに通常食材と非通常食材の情報が紐付けられて記憶される。
尚、非通常食材はレシピＤＢ５０に記憶せずに、通常食材以外を全て非通常食材としてもよい。
【００３１】
更に、レシピＤＢ５０には、各レシピに対して投稿された作成レポートの情報が記憶される。作成レポートの情報としては、レポート内容を示すテキストデータや投稿者を識別可能なユーザＩＤや投稿日時情報などが記憶される。
尚、図４に示したレシピ情報と、図５に示したカテゴリごとの通常／非通常食材情報と、作成レポート情報は、共にレシピＤＢ５０に記憶される例を示したが、それぞれが独立したＤＢに記憶されてもよい。
【００３２】
［３−２．ユーザＤＢ］
ユーザＤＢ５１は、ユーザのログイン情報が記憶されるＤＢである。具体的には、それぞれのユーザを識別可能なユーザＩＤとログインパスワードが紐付けられて記憶される。また、ログイン履歴などの各種履歴情報が記憶されてもよい。
また、ユーザＤＢ５１には、ユーザごとの嗜好情報が記憶される。嗜好情報は、ユーザの挙動に応じてレシピ管理サーバ１が判定したユーザの好みの食材（嗜好食材）や嫌いな食材（非嗜好食材）である。
【００３３】
［３−３．検索ＤＢ］
検索ＤＢ５２は、検索キーワードと対応した検索結果が記憶されるＤＢである。具体的には、「カレーライス」や「ハンバーグ」などの料理名や「きのこ」や「トマト」などの材料名などの検索キーワードに応じて、複数のレシピが検索結果として紐付けられて記憶される。
ユーザが検索した際に新たな検索処理を実行せずに済むように、予め定期的に検索キーワードを用いた検索処理を実行しておき、その結果抽出された検索結果が検索キーワードに紐付けられて検索ＤＢ５２に記憶される。
【００３４】
＜４．処理の流れ＞
［４−１．処理の流れの例］
レシピ管理サーバ１とユーザ端末３が実行する処理の流れの一例について、図６を参照して説明する。
ここでは、レシピ管理サーバ１が提供する各種サービスを受けるために、ユーザがユーザ端末３を用いてログイン操作を行い、レシピを検索する例を説明する。
【００３５】
ユーザ端末３はステップＳ１０１において、ユーザによるログイン画面表示操作に応じたログイン画面情報要求処理を実行する。
【００３６】
ログイン画面情報要求処理によりユーザ端末３からレシピ管理サーバ１へログイン画面情報要求が送信されると、レシピ管理サーバ１はステップＳ２０１において、ログイン画面情報送信処理を実行する。
これにより、例えば、レシピ管理サーバ１から受信したレシピサイトのログイン画面情報（ウェブページデータ）に応じたウェブページがユーザ端末３上に表示される。
【００３７】
次に、ユーザ端末３はステップＳ１０２において、ユーザの入力操作に応じたログイン情報（ユーザＩＤとログインパスワード）をレシピ管理サーバ１へ送信するログイン情報送信処理を実行する。
【００３８】
ユーザ端末３からレシピ管理サーバ１へログイン情報が送信されると、レシピ管理サーバ１はステップＳ２０２において認証処理を実行し、続くステップＳ２０３において認証結果通知処理を実行する。
具体的には、レシピ管理サーバ１は、ユーザ端末３上で入力されたユーザＩＤとパスワードをユーザＤＢ５１に記憶された情報と比較して当該ユーザのログイン可否を判定し、当該ログイン可否情報を認証結果としてユーザ端末３へ通知する。尚、認証結果をユーザ端末３へ返すと共に、レシピサイトのトップページのウェブページデータを送信してもよい。これにより、ユーザ認証がなされると共に、ユーザ端末３上にレシピサイトのトップページが表示される。
尚、図６に示す一連の流れは、ステップＳ２０２の認証処理においてログイン可と判定された場合を示している。ステップＳ２０２においてログイン不可と判定した場合は、ユーザ端末３は再度ステップＳ１０２の処理を実行し、これに応じてレシピ管理サーバ１はステップＳ２０２の処理を実行する。
【００３９】
続いて、ユーザ端末３はステップＳ１０３において、ユーザが入力したレシピを検索するためのレシピ検索条件をレシピ管理サーバ１へ送信する検索条件送信処理を実行する。
この処理では、例えば、ユーザによって指定されたレシピ名の一部や使用食材などが、検索結果を抽出するための情報として、レシピ管理サーバ１へ伝達される。
【００４０】
レシピ検索条件を受信したレシピ管理サーバ１は、ステップＳ２０４で検索条件と検索ＤＢ５２に記憶された情報に基づいてレシピの検索を行い結果を抽出する検索処理を実行する。
更に、レシピ管理サーバ１はステップＳ２０５において、検索結果として抽出されたそれぞれのレシピに対して、提示優先度を算出する処理を実行する。提示優先度は、ユーザに応じた各レシピの提示順を決めるための情報であり、提示優先度の高いレシピは優先的にユーザに提示される。優先的に提示するとは、例えば、ユーザ端末３上に各レシピを提示する際に、画面の上の方に提示することである。同じレシピであってもユーザに応じて提示優先度が異なるため、ユーザに合わせたレシピの提示を行うことができる。
尚、本実施の形態における提示優先度算出処理では、ユーザの嗜好情報（嗜好食材と非嗜好食材）と、レシピが属するカテゴリにおける通常食材（「カレーライス」カテゴリにおける「じゃがいも」、「人参」、「タマネギ」など）と非通常食材に応じて、優先度を算出する。提示優先度算出処理については、いくつかの例を後述する。
尚、算出したレシピごとの提示優先度を予めＤＢへ記憶しておき、ステップＳ２０５においては、該ＤＢを参照してレシピごとの提示優先度を取得することによって、提示優先度算出処理の代わりとしてもよい。
【００４１】
続いて、レシピ管理サーバ１はステップＳ２０６において、ステップＳ２０４で抽出した検索結果を提示優先度に基づいてユーザ端末３上に表示させるための提示処理を実行する。この処理では、提示優先度情報が含まれた検索結果がユーザ端末３へ送信される。
【００４２】
提示処理が実行されると、ユーザ端末３では、レシピ管理サーバ１から受信した検索結果が提示される。ユーザが検索結果として表示された複数のレシピから一つのレシピを選択する操作を行うと、ユーザ端末３はステップＳ１０４において、レシピ選択処理を実行する。
レシピ選択処理は、ユーザが選択したレシピが何れのレシピであるかを選択レシピ情報としてレシピ管理サーバ１に通知する。尚、この処理は、選択したレシピの詳細ページのウェブページデータを要求する処理である。
【００４３】
選択レシピ情報を受信したレシピ管理サーバ１は、ステップＳ２０７において、選択されたレシピの詳細情報が記載されたウェブページのデータを送信する詳細情報送信処理を実行する。
この処理によって、ユーザ端末３上に、ユーザが選択したレシピに関する詳細情報が提示される。詳細情報とは、例えば、レシピに使用する食材情報や調理手順、調理器具情報などである。
【００４４】
［４−２．レシピ管理サーバの処理例］
前述した処理の流れを実現するためにレシピ管理サーバ１が実行する処理例について、図７を参照して説明する。
レシピ管理サーバ１は、ステップＳ３０１，Ｓ３１１，Ｓ３２１，Ｓ３３１を順に実行することにより、各種処理を継続的に行う。具体的には、ステップＳ３０１においてログイン情報を受信したか否かを判定する処理を実行し、ステップＳ３１１において検索条件を受信したか否かを判定する処理を実行し、ステップＳ３２１において作成レポートの投稿やレシピの投稿を受信したか否かを判定する処理を実行し、ステップＳ３３１においてウェブページデータの要求を受信したか否かを判定する処理を実行する。
【００４５】
ログイン情報は、ユーザがユーザ端末３を用いてログイン操作を行った場合に、ユーザ端末３からレシピ管理サーバ１へ送信される。
ステップＳ３０１において、ログイン情報を受信したと判定した場合、レシピ管理サーバ１はステップＳ３０２において認証処理を実行し、ステップＳ３０３において認証結果をユーザ端末３に通知する処理を実行する。
認証処理においては、ユーザ端末３から送られたログイン情報とユーザＤＢ５１に記憶されたユーザ情報（例えば、ユーザＩＤとログインパスワード）を照合し、ログインの可否を決定する。
【００４６】
ステップＳ３０３の認証結果通知処理の後、或いは、ステップＳ３０１においてログイン情報を受信していないと判定した後、レシピ管理サーバ１はステップＳ３１１において検索条件を受信したか否かを判定する処理を実行する。
検索条件は、ユーザがユーザ端末３を用いて所望のレシピを検索する場合に指定した検索キーワードや除外キーワードなどであり、ユーザ端末３からレシピ管理サーバ１へ送信される。
【００４７】
ステップＳ３１１において検索条件を受信したと判定した場合、レシピ管理サーバ１はステップＳ３１２において検索処理を実行し、ステップＳ３１３において提示優先度算出処理を実行し、ステップＳ３１４において提示処理を実行する。これらの処理は、図６のステップＳ２０４，Ｓ２０５，Ｓ２０６の処理と同様であるため、説明を省略する。
【００４８】
ステップＳ３１４の提示処理の後、或いは、ステップＳ３１１において検索条件を受信していないと判定した後、レシピ管理サーバ１はステップＳ３２１において作成レポートの投稿やレシピの投稿を受信したか否かを判定する処理を実行する。
作成レポート投稿やレシピ投稿を受信した場合、レシピ管理サーバ１は続くステップＳ３２２において、記憶処理を実行する。記憶処理では、受信した各投稿をレシピＤＢ５０へ記憶する処理を実行する。
【００４９】
ステップＳ３２２の記憶処理の後、或いは、ステップＳ３２１において各投稿を受信していないと判定した後、レシピ管理サーバ１はステップＳ３３１においてウェブページデータを受信したか否かを判定する処理を実行する。
ウェブページデータ要求を受信したと判定した場合、レシピ管理サーバ１はステップＳ３３２において、要求のあったウェブページデータをＤＢから取得する処理を実行する。具体的には、ユーザページのウェブページデータや、レシピ詳細ページのウェブページデータや、特集ページのウェブページデータなどを取得する。
続いて、レシピ管理サーバ１はステップＳ３３３において、当該ウェブページデータをユーザ端末３へ送信する処理を実行する。これにより、ユーザ端末３上にユーザが所望したウェブページが表示される。
【００５０】
ステップＳ３３３のウェブページデータ送信処理の後、或いは、ステップＳ３３１においてウェブページデータ要求を受信していないと判定した後、レシピ管理サーバ１は再びステップＳ３０１の処理を実行する。
【００５１】
［４−３．提示優先度算出処理の第１例］
提示優先度算出処理の第１例について、図８を参照して説明する。
提示優先度算出処理の第１例では、ユーザが好みの食材（嗜好食材）と、レシピが属するカテゴリの非通常食材に基づいて、提示優先度を算出する。
尚、ユーザの嗜好食材を判定する嗜好食材判定処理と、カテゴリごとの通常食材と非通常食材を分類する分類処理については、後述する。
即ち、ここでは、ユーザの好みの食材が嗜好食材としてユーザＤＢ５１に記憶され、カテゴリごとの通常食材と非通常食材がレシピＤＢ５０に記憶された状態とする。
【００５２】
先ず、レシピ管理サーバ１はステップＳ４０１において、嗜好食材情報をユーザＤＢ５１から取得する処理を実行する。
例えば、ユーザの好きな食材である「あんず」が嗜好食材としてユーザＤＢ５１に記憶されており、ステップＳ４０１の処理において、嗜好食材情報として「あんず」を取得する。
【００５３】
続いてレシピ管理サーバ１はステップＳ４０２において、レシピが属するカテゴリの非通常食材情報を取得する。この処理では、検索結果として抽出された各レシピについて、それぞれのレシピが属するカテゴリの非通常食材情報をレシピＤＢ５０から取得する。
具体的には、ユーザが「洋食」という検索キーワードを用いてレシピ検索を行い、検索処理（例えば図７のステップＳ４１２）によって検索結果として抽出された各レシピが「カレーライス」や「ハンバーグ」などのカテゴリにそれぞれ属していた場合、「カレーライス」カテゴリの非通常食材情報として、「あんず」、「ごぼう」、「セロリ」などを取得し、「ハンバーグ」の非通常食材情報として「白菜」、「アボガド」、「イカ」などを取得する。
即ち、レシピごとに、それぞれのカテゴリの非通常食材情報を取得する。
尚、どのような食材をそのカテゴリの非通常食材として判定するかは、後述する。
【００５４】
次に、ステップＳ４０３において、提示優先度の算出を行う。提示優先度の算出においては、検索結果として抽出されたそれぞれのレシピに対して、評価値（各ユーザがレシピに対して付与する値）の平均値や投稿日時、作成レポートの数などに応じて提示優先度を算出する。また、特に、ユーザの嗜好食材「あんず」を非通常食材として使用するレシピの提示優先度が高くなるように算出する。
即ち、非通常食材「あんず」を使用する「あんずカレー」の提示優先度は高くなりやすい。しかし、非通常食材として「白菜」が設定されている「白菜ハンバーグ」は、「白菜」がユーザの嗜好食材ではないため、「白菜」が非通常食材であることを理由に提示優先度が高くなることはない。
【００５５】
提示優先度の具体的な算出例を示す。先ず、検索キーワードとの一致度合いやレシピの人気度合いなどを考慮して（但し、嗜好食材が非通常食材として設定されているかどうかは未だ考慮しない）、提示優先度を算出する。このとき、ユーザの嗜好食材が使用食材に含まれているかどうかは加味してもよい。
続いて、検索を行ったユーザの嗜好食材がそれぞれのレシピの非通常食材に設定されているかどうかを判定し、該当する場合には、既に算出した提示優先度を１．５倍する。
これにより、ユーザの嗜好食材が非通常食材として設定されているレシピの提示優先度が相対的に高くなる。
尚、ユーザが利用したと推定されるレシピの提示優先度は、１．５倍ではなく１．３倍にするなどして、未だユーザが利用したことのないレシピの提示優先度を高くしてもよい。
【００５６】
［４−４．提示優先度算出処理の第２例］
提示優先度算出処理の第２例について、図９を参照して説明する。
提示優先度算出処理の第２例では、嗜好食材と非通常食材に加えて、ユーザが嫌いな食材（非嗜好食材）の情報を用いて、提示優先度を算出する。
尚、ユーザの非嗜好食材を判定する非嗜好食材判定処理については、後述する。
即ち、ここでは、ユーザの嫌いな食材が非嗜好食材としてユーザＤＢ５１に記憶された状態とする。
【００５７】
先ず、レシピ管理サーバ１はステップＳ４０１において、嗜好食材情報をユーザＤＢ５１から取得する処理を実行する。
続いて、レシピ管理サーバ１はステップＳ４０４において、非嗜好食材情報をユーザＤＢ５１から取得する処理を実行する。
ステップＳ４０１，Ｓ４０４の処理により、例えば、レシピ管理サーバ１はユーザの嗜好情報として、嗜好食材「あんず」と非嗜好食材「ピーマン」の情報を取得する。
続いて、レシピ管理サーバ１はステップＳ４０２においてレシピが属するカテゴリの非通常食材情報を取得する。この処理は、図８の処理と同様であるため、説明を省略する。
【００５８】
次に、レシピ管理サーバ１は、ステップＳ４０３において提示優先度の算出を行う。
提示優先度の算出においては、先の第１例と同様に、検索結果として抽出されたそれぞれのレシピに対して、評価値（各ユーザがレシピに対して付与する値）の平均値や投稿日時、作成レポートの数などに加え、ユーザの嗜好食材情報「あんず」とカテゴリごとの非通常食材情報に応じて提示優先度を算出する。また、本例では特に、ユーザの非嗜好食材「ピーマン」を使用するレシピの提示優先度が低くなるように算出する。
即ち、「カレーライス」カテゴリにおける非通常食材「あんず」を使用する「あんずカレー」（使用食材に「あんず」を含むレシピ）と「あんずピーマンカレー」（使用食材に「あんず」、「ピーマン」を含むレシピ）の二つのレシピの提示優先度を比較した場合、「あんずピーマンカレー」よりも「あんずカレー」の方が相対的に高い提示優先度となりやすい。また、第１例と同様に、非通常食材「白菜」を用いた「白菜ハンバーグ」の提示優先度は高くなりやすくはならない。
【００５９】
提示優先度の具体的な算出例を示す。先ず、検索キーワードとの一致度合いやレシピの人気度合いなどを考慮して（但し、嗜好食材が非通常食材として設定されているかどうかは未だ考慮しない）、提示優先度を算出する。このとき、ユーザの嗜好食材が使用食材に含まれているかどうかは加味してもよい。
続いて、検索を行ったユーザの嗜好食材がそれぞれのレシピの非通常食材に設定されているかどうかを判定し、該当する場合には、既に算出した提示優先度を１．５倍する。
最後に、検索を行ったユーザの非嗜好食材がそれぞれのレシピの使用食材に設定されているかどうかを判定し、該当する場合には、提示優先度を０．８倍する。
これにより、ユーザの嗜好食材が非通常食材として設定されているレシピの提示優先度が相対的に高くなり、ユーザの非嗜好食材を用いたレシピの提示優先度は相対的に低くなる。
尚、ユーザが利用したと推定されるレシピの提示優先度は、１．５倍ではなく１．３倍にするなどして、未だユーザが利用したことのないレシピの提示優先度を高くしてもよい。
【００６０】
［４−５．バッチ処理］
前述した各処理をレシピ管理サーバ１が実行するために、レシピ管理サーバ１が予め行っておくことが望ましい処理がいくつかある。
ここでは、それらの処理をバッチ処理によって定期的に行う例について、図１０を参照して説明する。
【００６１】
先ず、レシピ管理サーバ１はステップＳ５０１において、分類処理を実行する。分類処理は、カテゴリごとによく使用される食材を通常食材と設定し、あまり使用されない食材を非通常食材と設定する処理である。具体的な処理手順例は後述する。
【００６２】
続いてレシピ管理サーバ１はステップＳ５０２において、嗜好食材判定処理を実行する。嗜好食材は、前述のように、ユーザごとに設定される好みの食材である。具体的な処理手順例は後述する。
【００６３】
そしてレシピ管理サーバ１はステップＳ５０３において、非嗜好食材判定処理を実行する。非嗜好食材は、前述のようにユーザごとに設定される嫌いな食材である。具体的な処理手順例は後述する。
【００６４】
最後にレシピ管理サーバ１はステップＳ５０４において、利用推定処理を実行する。利用推定処理では、ユーザが実際に調理を行ったレシピを推定する処理である。具体的な処理手順例は後述する。
【００６５】
［４−６．分類処理］
分類処理の処理手順の例について、図１１を参照して説明する。
分類処理では、レシピ管理サーバ１は先ずステップＳ６０１において、未処理のカテゴリがあるか否かを判定する処理を実行する。分類処理は、カテゴリごとの通常食材と非通常食材を設定する処理であるため、カテゴリに属するレシピに変化がなければ、処理結果も変化することはない。即ち、前回の分類処理の実行後にカテゴリに属するレシピが増えた場合（或いは、一定数以上増えた場合）に、当該カテゴリを未処理としてもよい。
【００６６】
未処理のカテゴリがない場合、レシピ管理サーバ１は図１１に示した一連の処理を終了する。
一方、未処理のカテゴリが存在する場合、レシピ管理サーバ１はステップＳ６０２において、カテゴリに属するレシピ情報を取得する処理を実行する。
この処理では、カテゴリに属する全てのレシピ情報（特に使用食材情報）を取得する。
【００６７】
続いて、レシピ管理サーバ１はステップＳ６０３において、集計処理を実行する。集計処理では、先のステップＳ６０２で取得したレシピ情報に紐付けられた使用食材情報を集計する処理である。
この処理により、例えば、カテゴリに属するレシピの中で「じゃがいも」を使用するレシピ数や、カテゴリに属するレシピ数に対する「じゃがいも」を使用するレシピ数の割合などが算出される。
【００６８】
次に、レシピ管理サーバ１はステップＳ６０４において、通常食材判定処理を実行する。
通常食材判定処理では、ある食材を使用するレシピ数（或いはレシピ数の割合）と閾値を比較することにより、その食材が通常食材であるのか否かを判定する。具体的には、閾値を４０％としたとき、「カレーライス」カテゴリに属するレシピにおいて、９０％のレシピの使用食材に設定されている「じゃがいも」や８０％のレシピの使用食材に設定されている「人参」などが、「カレーライス」カテゴリにおける通常食材として設定される。
【００６９】
続いて、レシピ管理サーバ１はステップＳ６０５において、非通常食材判定処理を実行する。
非通常食材判定処理では、ある食材を使用するレシピ数（或いはレシピ数の割合）と閾値を比較することにより、その食材が非通常食材であるのか否かを判定する。具体的には、閾値を５％としたとき、「カレーライス」カテゴリに属するレシピにおいて、３％のレシピの使用食材に設定されている「あんず」や１％の使用食材に設定されている「みかん」が「カレーライス」カテゴリにおける非通常食材として設定される。
ステップＳ６０５の処理を実行した後、レシピ管理サーバ１は再度ステップＳ６０１の処理を実行する。
【００７０】
尚、本例では、通常食材を判定する際の閾値と非通常食材を判定する際の閾値を異なる数値としたが、双方の閾値を同じ数値としてもよい。この場合には、全ての食材が通常食材か非通常食材に分類される。
【００７１】
［４−７．嗜好食材判定処理の第１例］
嗜好食材判定処理の第１例について、図１２を参照して説明する。
嗜好食材判定処理の第１例では、レシピ管理サーバ１は先ずステップＳ７０１において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、食材ごとに算出されたスコア情報を元に嗜好食材であるか否かを判定する。スコアが変動していない食材は、判定結果も変動しない。従って、前回の判定処理時のスコアに対して変動の可能性があるユーザのみ、未処理のユーザとしてもよい。
【００７２】
ステップＳ７０１において、未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１２に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ１は続くステップＳ７０２において、食材ごとのスコアを算出する処理を実行する。
食材ごとのスコアは、その食材に対するユーザの好き嫌いの度合いを表す数値である。例えば、その食材が使用食材に設定されたレシピの閲覧やレシピの利用、或いは、作成レポートの作成によってスコアが高く（嗜好食材と判定されやすく）なる。また、検索条件として除外キーワードに設定した場合や、あるカテゴリにおける通常食材であるにもかかわらず、その食材を使用しないレシピを閲覧（或いは利用）した場合などにスコアが低く（嗜好食材と判定されにくく）なる。
【００７３】
続いて、レシピ管理サーバ１はステップＳ７０３において、各食材のスコアを判定のための閾値と比較する処理を行う。閾値よりも高いスコアが付された食材は、そのユーザの嗜好食材と判定される。この情報は、ユーザＤＢ５１に記憶される。
ステップＳ７０３の処理を実行した後、レシピ管理サーバ１は再度ステップＳ７０１の処理を実行する。
【００７４】
［４−８．嗜好食材判定処理の第２例］
嗜好食材判定処理の第２例について、図１３を参照して説明する。
嗜好食材判定処理の第２例では、レシピ管理サーバ１は先ずステップＳ７０１において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、ユーザの利用レシピ情報から嗜好食材を判定する。従って、前回の判定処理から利用レシピ情報が更新されていない場合、判定結果も変わらない可能性が高いため、前回の判定処理から利用レシピ情報が更新されているユーザのみ未処理のユーザとしてもよい。
尚、ユーザによるレシピの利用を推定する処理については、後述する。
【００７５】
ステップＳ７０１において、未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１３に示す一連の処理を終了する。
一方、未処理のユーザがあると判定した場合、レシピ管理サーバ１はステップＳ７０４において、対象ユーザの利用レシピ情報を取得する処理を実行する。利用レシピについては、対象ユーザが利用した全てのレシピの情報を取得してもよいし、直近の所定の件数のレシピの情報を取得してもよいし、直近の所定の期間において利用したレシピの情報を取得してもよい。
【００７６】
次に、レシピ管理サーバ１はステップＳ７０５において、取得した利用レシピごとに非通常食材情報を取得する処理を実行する。これにより、ユーザが利用したレシピに設定された非通常食材が抽出される。
続いて、レシピ管理サーバ１はステップＳ７０６において、該当食材を抽出する処理を実行する。この処理では、ユーザが利用したレシピにおいて、非通常食材として設定されている食材を嗜好食材として抽出する。
即ち、レシピが属するカテゴリにおいてあまり使用されない食材を用いたレシピをユーザが利用したということは、当該食材（非通常食材）が好みの食材である可能性が高いという推測が成り立つ。
【００７７】
ステップＳ７０６の処理の後、レシピ管理サーバ１は再びステップＳ７０１の処理を実行する。
【００７８】
［４−９．嗜好食材判定処理の第３例］
嗜好食材判定処理の第３例について、図１４を参照して説明する。
嗜好食材判定処理の第３例では、レシピ管理サーバ１は先ずステップＳ７０１において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、レシピを検索する際にユーザが指定した検索条件を利用してユーザの嗜好食材を判定する。従って、前回の判定処理以降、ユーザが新たなレシピ検索を行わなかった場合、嗜好食材の判定結果も変わらない可能性が高いため、前回の判定処理からレシピ検索機能を利用したユーザのみ未処理のユーザとしてもよい。
【００７９】
ステップＳ７０１において、未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１４に示す一連の処理を終了する。
一方、未処理のユーザがあると判定した場合、レシピ管理サーバ１はステップＳ７０７において、対象ユーザの検索条件履歴を取得する処理を実行する。この処理では、特に、検索キーワードとして入力された食材の情報を取得する。
次に、レシピ管理サーバ１はステップＳ７０８において、該当食材を抽出する処理を実行する。この処理では、ユーザが検索キーワードとして入力した食材のうち、条件を満たす食材を抽出する処理である。具体的には、例えば所定期間内に所定回数以上入力された食材を嗜好食材として抽出してもよいし、期間によらず所定回数以上入力された食材を嗜好食材として抽出してもよい。
【００８０】
ステップＳ７０８の処理の後、レシピ管理サーバ１は再度ステップＳ７０１の処理を実行する。
尚、検索履歴は、ユーザＤＢ５１に記憶されていてもよいし、専用のＤＢに記憶されていてもよい。
【００８１】
［４−１０．非嗜好食材判定処理の第１例］
非嗜好食材判定処理の第１例について、図１５を参照して説明する。
非嗜好食材判定処理の第１例では、レシピ管理サーバ１は先ずステップＳ８０１において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、食材ごとに算出されたスコア情報を元に嗜好食材であるか否かを判定する。スコアが変動していない食材は、判定結果も変動しない。従って、前回の判定処理時のスコアに対して変動の可能性があるユーザのみ、未処理のユーザとしてもよい。
【００８２】
ステップＳ８０１において、未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１５に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ１はステップＳ８０２において、食材ごとのスコアを算出する処理を実行する。この処理は、図１２のステップＳ７０２の処理と同様の処理である。
続いて、レシピ管理サーバ１はステップＳ８０３において、各食材のスコアを非嗜好食材と判定するための閾値と比較する処理を行う。
閾値よりも低いスコアが付された食材は、そのユーザの非嗜好食材と判定される。この情報は、ユーザＤＢ５１に記憶される。
ステップＳ８０３の処理を実行した後、レシピ管理サーバ１は再度ステップＳ８０１の処理を実行する。
【００８３】
尚、図１２で説明した嗜好食材判定処理の第１例において、嗜好食材を判定すると共に非嗜好食材の判定を行ってもよい。これにより、処理の簡素化を図ることができる。
【００８４】
［４−１１．非嗜好食材判定処理の第２例］
非嗜好食材判定処理の第２例について、図１６を参照して説明する。
非嗜好食材判定処理の第２例では、レシピ管理サーバ１は先ずステップＳ８０１において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、レシピを検索する際にユーザが指定した検索条件を利用してユーザの非嗜好食材を判定する。具体的には、ユーザが除外キーワードとして指定した食材の情報を用いる。従って、前回の判定処理以降、ユーザが新たなレシピ検索を行わなかった場合、非嗜好食材の判定結果も変わらない可能性が高いため、前回の判定処理からレシピ検索機能を利用したユーザのみ未処理のユーザとしてもよい。
【００８５】
ステップＳ８０１において、未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１６に示す一連の処理を終了する。
一方、未処理のユーザがあると判定した場合、レシピ管理サーバ１はステップＳ８０４において、対象ユーザの検索条件履歴を取得する処理を実行する。この処理では、特に、除外キーワードとして入力された食材の情報を取得する。
【００８６】
次に、レシピ管理サーバ１はステップＳ８０５において、該当食材を抽出する処理を実行する。この処理では、ユーザが除外キーワードとして入力した食材のうち、条件を満たす食材を抽出する処理である。具体的には、例えば所定期間内に所定回数以上除外キーワードとして入力された食材を非嗜好食材として抽出してもよいし、期間によらず所定回数以上除外キーワードとして入力された食材を非嗜好食材として抽出してもよい。また、一度でも除外キーワードとして入力された食材を非嗜好食材として抽出してもよい。
【００８７】
ステップＳ８０５の処理の後、レシピ管理サーバ１は再度ステップＳ８０１の処理を実行する。
尚、検索履歴は、ユーザＤＢ５１に記憶されていてもよいし、他の専用のＤＢに記憶されていてもよい。
【００８８】
［４−１２．非嗜好食材判定処理の第３例］
非嗜好食材判定処理の第３例について、図１７を参照して説明する。
非嗜好食材判定処理の第３例では、レシピ管理サーバ１は先ずステップＳ８０１において、未処理のユーザがあるか否かを判定する処理を実行する。
本例では、ユーザの利用レシピとそのレシピが属するカテゴリにおける通常食材からユーザの非嗜好食材を判定する。従って、ユーザの利用レシピに変化がない場合、即ち前回の判定処理からユーザが新たにレシピを利用していない場合、当該ユーザは処理済みとしてもよい。
【００８９】
ステップＳ８０１において未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１７に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ１はステップＳ８０６において、利用レシピ情報を取得する処理を実行する。この処理は、図１３のステップＳ７０４と同様の処理である。尚、ユーザによるレシピの利用を推定する処理については、後述する。
【００９０】
続いて、レシピ管理サーバ１はステップＳ８０７において、取得した利用レシピごとに通常食材情報を取得する処理を実行する。これにより、ユーザが利用したレシピに設定された通常食材が抽出される。
次に、レシピ管理サーバ１はステップＳ８０８において、該当食材を抽出する処理を実行する。この処理では、ユーザの利用レシピの中に、カテゴリにおける通常食材が使用食材となっていないレシピが多い場合などに当該通常食材を非嗜好食材として判定する。
具体的には、例えば、「カレーライス」のカテゴリにおける通常食材として「じゃがいも」（例えば「カレーライス」のカテゴリに属するレシピの９０％に使用食材として設定されている）が設定されているのに対して、ユーザが利用した「カレーライス」カテゴリのレシピ１０個においては「じゃがいも」が使用食材として設定されているレシピがなかった場合、ユーザが「じゃがいも」を苦手としていることが推測される。
【００９１】
ステップＳ８０７の処理の後、レシピ管理サーバ１は再度ステップＳ８０１の処理を実行する。
尚、通常食材が使用食材として設定されているレシピの割合（「カレーライス」カテゴリにおいて「ジャガイモ」を使用しているレシピの割合９０％）に対して、当該食材がユーザの利用レシピにおいて使用食材として設定されているレシピの割合が所定割合（例えば５０％とした場合、９０×０．５＝４５％）を下回っている場合に当該食材を非嗜好食材と判定してもよい。
【００９２】
［４−１３．利用推定処理］
ここでは、ユーザによるレシピの利用を推定する処理について、図１８を参照して説明する。
先ず、レシピ管理サーバ１はステップＳ９０１において、未処理のユーザがあるか否かを判定する処理を実行する。
未処理のユーザがいないと判定した場合、レシピ管理サーバ１は図１８に示す一連の処理を終了する。
一方、未処理のユーザありと判定した場合、レシピ管理サーバ１はステップＳ９０２において、当該ユーザが投稿した作成レポートの情報を取得する処理を実行する。作成レポートの投稿対象となったレシピは、ユーザが実際に利用した（調理した）レシピである可能性が高い。
【００９３】
続いて、レシピ管理サーバ１はステップＳ９０３において、レシピ閲覧情報を取得する。ユーザが閲覧したレシピは、ユーザが実際に利用したレシピである可能性がある。
尚、単に閲覧しただけでなく、レシピごとに設定された調理時間に応じた閲覧時間であれば、利用したレシピである可能性が更に高まる。
【００９４】
次に、レシピ管理サーバ１はステップＳ９０４において、レシピごとに利用判定を行う。この判定は、ステップＳ９０２で取得した作成レポート情報やステップＳ９０３で取得したレシピ閲覧情報に応じて行われる。
【００９５】
ステップＳ９０４の処理を実行した後、レシピ管理サーバ１は再度ステップＳ９０１の処理を実行する。
【００９６】
尚、レシピの使用食材や調理方法が記載されたレシピ詳細ページにおいて、当該ページにおける使用食材が記載されている部分と調理方法が記載されている部分を交互に閲覧していた場合に、当該レシピをユーザが利用したと判定してもよい。また調理方法が記載されている部分を長時間閲覧した場合に、当該レシピをユーザが利用したと判定してもよい。
【００９７】
［４−１４．バッチ処理の実行タイミングの例］
図１０を用いて説明した先のバッチ処理を実行するタイミングの例について説明する。
例えば、季節ごとにバッチ処理を実行することが考えられる。この場合、季節ごとに図１０のステップＳ５０２の嗜好食材判定処理やステップＳ５０３の非嗜好食材判定処理が実行される。即ち、季節ごとに嗜好食材や非嗜好食材が更新される。これにより、旬な食材が嗜好食材や非嗜好食材として設定されやすくなる。
【００９８】
＜５．まとめ＞
上記したレシピ管理サーバ１は、レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類するレシピ管理部１ａと、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定部１ｂと、ユーザによって入力された検索条件に基づいてレシピを検索する検索部１ｃと、検索したレシピのうちで非通常食材に嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示部１ｄと、を備えている。
ユーザが好みの食材を利用したレシピを提供することは既に行われている。しかし、そのように提示されたレシピは、人気度や評価値などによって抽出されることが多く、ありきたりのレシピである可能性が高い。
一方、本発明似おいては、ユーザが好みの食材を非通常食材として使用するレシピが、高い優先度で提示されやすい。即ち、ユーザが好みの食材を使用した珍しいレシピが提示されやすくなる。
これにより、ユーザの食生活に変化を与えつつ、満足できる可能性の高いレシピを提示することができる。特に、他のレシピサイトでは提示されないようなレシピが提示されることにより、レシピサイトの利用価値を向上させることができる。
更に、ユーザの利用するユーザ端末における限られた（例えば、モニタなどの）提示領域において、価値のある情報（レシピ）を提示することにより、ユーザ端末の資源を有効活用することができる。
【００９９】
また、非嗜好食材判定処理の各例（第１例、第２例、第３例）で説明したように、嗜好食材判定部１ｂは、ユーザが嗜好しない食材を非嗜好食材として判定する。
これにより、ユーザが嗜好する食材だけでなく、嗜好しない食材が管理される。
従って、ユーザに対して、より適したレシピを提示することができる。
【０１００】
更に、嗜好食材判定処理の第１例で説明したように、嗜好食材判定部１ｂは、ユーザと食材ごとにスコアを付与し、スコアが第１の閾値以上となった食材を当該ユーザの嗜好食材として判定し、第２の閾値未満となった食材を当該ユーザの非嗜好食材として判定する。
ユーザと食材の組み合わせごとに、数値化された嗜好情報が管理される。
例えば、ユーザの行動などに応じてその都度、食材のスコアを更新していく場合に、複数回のユーザの行動（例えばある食材を検索するなど）に応じて嗜好情報が蓄積されるため、ある程度の信頼性を担保した上で、ユーザごとの嗜好食材と非嗜好食材を判定することができる。
【０１０１】
更にまた、嗜好食材判定処理の第２例で説明したように、嗜好食材判定部１ｂは、ユーザが利用したと推定される利用推定レシピの非通常食材を該ユーザの嗜好食材として判定し、利用推定レシピが属するカテゴリにおける通常食材のうちで利用推定レシピに使用されていない食材を非嗜好食材の候補として判定する。
これにより、ユーザが実際に利用したと推定されるレシピに基づいてユーザの嗜好食材が判定されるため、ユーザに嗜好食材を直接入力させることなく確度の高い情報を収集することができる。
【０１０２】
加えて、嗜好食材判定処理の第３例で説明したように、嗜好食材判定部１ｂは、ユーザが検索条件として入力した食材を該ユーザの嗜好食材として判定する。
これにより、ユーザが検索操作を行う際の情報を利用して嗜好食材の情報を収集するため、ユーザに余分な操作負担を強いること無く、効率よく情報の収集が可能となる。
また、検索に用いた食材は、例え嗜好食材でなくてもユーザが使用したいと考えている食材である可能性が極めて高いため、嗜好食材として判定された検索食材を使用するレシピを提案することは、ユーザの目的に沿ったレシピ提示となる。
【０１０３】
そして、バッチ処理の実行タイミングの例で説明したように、嗜好食材判定部１ｂは、時期や季節ごとに判定を行う。
定期的に嗜好情報が更新されるため、季節外れの旬でない食材を利用したレシピが提示されることを抑制することができる。また、嗜好食材が変化した場合に応じたレシピの提示を行うことができる。
【０１０４】
また、提示優先度算出処理の第２例で説明したように、提示部１ｄは、非嗜好食材を使用するレシピの提示優先度を下げる。
これにより、ユーザの嗜好食材と非嗜好食材の双方を加味したレシピ検索がなされる。
従って、ユーザに対して、より適したレシピを提示することができる。
【０１０５】
更に、非嗜好食材判定処理の第２例で説明したように、嗜好食材判定部１ｂは、ユーザが検索条件として設定した除外食材を非嗜好食材として判定する。
これにより、ユーザが検索操作を行う際に入力した情報を利用して非嗜好食材の情報を収集するため、ユーザに余分な操作負担を強いること無く、効率よく情報の収集が可能となる。
【０１０６】
＜６．プログラム及び記憶媒体＞
以上、本発明の情報処理装置の実施の形態としてのレシピ管理サーバ１を説明してきたが、実施の形態のプログラムは、レシピ管理サーバ１における各処理を情報処理装置（ＣＰＵ等）に実行させるプログラムである。
【０１０７】
実施の形態のプログラムは、レシピに設定された使用食材を、該レシピが属するカテゴリにおいて使用頻度の高い通常食材と使用頻度の低い非通常食材とに分類する分類手順を情報処理装置に実行させる。
また、ユーザが嗜好する食材を嗜好食材として判定する嗜好食材判定手順を情報処理装置に実行させる。
更に、ユーザによって入力された検索条件に基づいてレシピを検索する検索手順を情報処理装置に実行させる。
更にまた、前記検索したレシピのうちで前記非通常食材に前記嗜好食材が含まれるレシピの提示優先度を上げてユーザに提示する提示手順を情報処理装置に実行させる。
即ちこのプログラムは、レシピ管理サーバ１に対して図６のステップＳ２０１乃至Ｓ２０７の各処理、図７乃至図１８の各処理を実行させるプログラムである。
【０１０８】
このようなプログラムにより、上述したレシピ管理サーバ１としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記録媒体としてのＨＤＤや、ＣＰＵを有するマイクロコンピュータ内のＲＯＭなどに予め記録しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的或いは永続的に格納（記録）しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、ＬＡＮ、インターネットなどのネットワークを介してダウンロードすることもできる。
【符号の説明】
【０１０９】
１  レシピ管理サーバ、１ａ  レシピ管理部、１ｂ  嗜好食材判定部、１ｃ  検索部、１ｄ  提示部、２  通信ネットワーク、３  ユーザ端末、５０  レシピＤＢ、５１  ユーザＤＢ、５２  検索ＤＢ
【図１】
2017046845.tif 000003
【図２】
2017046845.tif 000004
【図３】
2017046845.tif 000005
【図４】
2017046845.tif 000006
【図５】
2017046845.tif 000007
【図６】
2017046845.tif 000008
【図７】
2017046845.tif 000009
【図８】
2017046845.tif 000010
【図９】
2017046845.tif 000011
【図１０】
2017046845.tif 000012
【図１１】
2017046845.tif 000013
【図１２】
2017046845.tif 000014
【図１３】
2017046845.tif 000015
【図１４】
2017046845.tif 000016
【図１５】
2017046845.tif 000017
【図１６】
2017046845.tif 000018
【図１７】
2017046845.tif 000019
【図１８】
2017046845.tif 000020
【国際調査報告】
2017046845.tif 000021
2017046845.tif 000022
2017046845.tif 000023
2017046845.tif 000024