JP6262923B1 - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP6262923B1
JP6262923B1 JP2017553200A JP2017553200A JP6262923B1 JP 6262923 B1 JP6262923 B1 JP 6262923B1 JP 2017553200 A JP2017553200 A JP 2017553200A JP 2017553200 A JP2017553200 A JP 2017553200A JP 6262923 B1 JP6262923 B1 JP 6262923B1
Authority
JP
Japan
Prior art keywords
recipe
ingredient
food
information
ingredients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017553200A
Other languages
Japanese (ja)
Other versions
JPWO2017175354A1 (en
Inventor
有紀 内田
有紀 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP6262923B1 publication Critical patent/JP6262923B1/en
Publication of JPWO2017175354A1 publication Critical patent/JPWO2017175354A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/60ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Abstract

食材をユーザの複数回の食事に振り分けるとともに、毎回、ユーザに対して多様なレシピの提案ができるようにする。そこで食材の格納履歴を記憶する記憶装置から所定の条件を満たす食材の情報を取得し、食材が追加される周期を判定し、判定した周期に基づいてレシピ提供回数を特定する。そして取得した食材の情報に含まれる各食材を振り分けて、レシピ提供回数に応じた数の食材グループを設定する。この食材グループ毎に、割り当てられた食材に基づいてレシピを特定し、レシピの提示制御を行う。この場合に、各食材グループについて特定されるレシピの数または料理種別が所定の数量条件を満たすことになるように食材の振り分けを行うようにする。The ingredients are distributed to the user's multiple meals, and various recipes can be proposed to the user each time. Therefore, information on ingredients satisfying a predetermined condition is acquired from a storage device that stores the storage history of the ingredients, the period in which the ingredients are added is determined, and the number of recipe provisions is specified based on the determined period. Then, each ingredient included in the obtained ingredient information is sorted, and the number of ingredient groups corresponding to the number of times the recipe is provided is set. For each food group, a recipe is specified based on the assigned food, and recipe presentation control is performed. In this case, the ingredients are distributed so that the number of recipes or the types of dishes specified for each ingredient group satisfy a predetermined quantity condition.

Description

本発明は情報処理装置、情報処理方法、プログラムに関し、特にユーザに対するレシピの提示処理についての技術分野に関する。   The present invention relates to an information processing apparatus, an information processing method, and a program, and more particularly to a technical field relating to a process of presenting a recipe to a user.

特開2006−277410号公報JP 2006-277410 A 特開2003−30753号公報JP 2003-30753 A

一般のユーザ(レシピ提供者)の投稿などによって蓄積された料理のレシピを提供するサービスが知られている。
特許文献1には、ユーザが入力した手元にある食材に基づいてレシピで使用する一部の食材を代替食材に置換して作成可能なレシピを提供する技術について記載されている。
特許文献2には、オーダーされたメニューに応じて管理している在庫から食材の引当を行い、食材が不足した場合に当該不足したことを通知したり、代替食材を用いた代替メニューを検索して提供したりする技術について記載されている。
There is known a service for providing recipes of dishes accumulated by posting by a general user (recipe provider).
Patent Document 1 describes a technique for providing a recipe that can be created by replacing some ingredients used in a recipe with alternative ingredients based on the ingredients at hand input by the user.
In Patent Literature 2, food is allocated from the inventory managed according to the ordered menu, and when the food is insufficient, the shortage is notified, or the alternative menu using the alternative food is searched. The technology to be provided is described.

ところで、例えば一般の家庭等におけるレシピ閲覧を求めるユーザ(レシピ利用者)を想定したときに、手元の食材を1回の食事で使いきってしまうと翌日以降の食事に用いる食材が足りなくなったり、ある程度の食材が残っていたとしても調理可能なレシピの種類が著しく限定されてしまったりして、レシピ閲覧を行うユーザに対して選択可能な十分なバリエーションの選択肢を提供することが困難であった。
食材が少なくなっていくにつれ、調理可能なレシピの数が減少するためである。
By the way, for example, when assuming a user (recipe user) who wants to read a recipe in a general home, if the ingredients at hand are used up in one meal, the ingredients used for the meal on the next day will be insufficient, Even if a certain amount of ingredients remain, the types of recipes that can be cooked are remarkably limited, making it difficult to provide sufficient variation options that can be selected for the user viewing the recipe. .
This is because the number of recipes that can be cooked decreases as the amount of ingredients decreases.

また、例えば週に1回や特売などにあわせてまとめて食材を購入した方がユーザにとって効率的であり、足りなくなった食材を日々補充することはユーザのとって煩雑である。
さらに食材購入に関するユーザのスタイルとして、生活協同組合等による一括購入、食料品まとめ配送サービス、インターネット通販による一括購入、週一回のマーケットでの大量購入などを行う人も増えており、毎日食材の買い物に行くという生活習慣を持たない人も多い。
これらの人にとっては、次の食材購入までのある程度の期間、保存している食材が徐々に少なくなっていくわけであるが、それらの日々にうまく食材を分散して使用でき、かつそれぞれの日々に十分な選択肢のレシピが提供されることが望まれる。
Further, for example, it is more efficient for the user to purchase foods once a week or in conjunction with special sales, etc., and it is troublesome for the user to replenish foods that are insufficient every day.
In addition, as a user's style for purchasing ingredients, more and more people are making bulk purchases by cooperatives, grocery delivery services, bulk purchases via the Internet, and large-scale purchases once a week. Many people do not have the lifestyle of going shopping.
For these people, the amount of stored ingredients gradually decreases for a certain period until the next food purchase, but the ingredients can be distributed and used well in those days, and each day It is hoped that a recipe with sufficient options will be provided.

特許文献1に記載の技術は「ユーザの入力した食材に基づいてレシピで使用する一部の食材を代替食材に置換して作成可能なレシピを提供する」ものであり、当該提供されたレシピによって使用された食材を除いた、残余の食材によって提供可能なレシピの選択肢が十分であるかは考慮されていない。
特許文献2に記載の技術は「オーダーされたメニューに応じて管理している在庫から食材の引当を行い、食材が不足した場合に代替食材を用いた代替メニューを検索して提供する」ものであり、当該提供されたレシピによって使用された食材を除いた、残余の食材によって提供可能なレシピの選択肢が十分であるかは考慮されていない。
The technology described in Patent Document 1 is “providing a recipe that can be created by replacing some ingredients used in a recipe with substitute ingredients based on ingredients input by the user”, and depending on the provided recipe It is not considered whether there are enough recipe options that can be provided by the remaining ingredients, excluding the ingredients used.
The technology described in Patent Document 2 is “allocation of ingredients from inventory managed according to the ordered menu, and search for and provide an alternative menu using alternative ingredients when there is a shortage of ingredients”. Yes, it is not considered whether there are enough recipe options that can be provided by the remaining ingredients except for the ingredients used by the provided recipe.

そこで本発明では、食材の調達頻度を抑制できるようにしつつ、翌日以降の食材で十分な数量のレシピの選択肢を確保可能であるレシピ提供サービスを実現する。   Therefore, the present invention realizes a recipe providing service that can secure a sufficient quantity of recipe options with the ingredients from the next day while suppressing the frequency of procurement of the ingredients.

本発明に係る情報処理装置は、食材の格納履歴を記憶する記憶装置から少なくとも在庫情報を含む食材の情報を取得する食材情報取得部と、前記記憶装置に記憶された格納履歴に基づいて判定された食材が追加される周期に応じてレシピ提供回数を特定する提供回数特定部と、前記取得した食材の情報と前記特定されたレシピ提供回数に基づいて、当該食材の情報に含まれる各食材を、当該レシピ提供回数に応じた数の食材グループに振り分ける食材グループ設定部と、前記食材グループ毎に、前記振り分けられた食材に基づいてレシピを特定するレシピ特定部と、前記食材グループ毎に特定されたレシピの提示制御を行う提示制御部とを備える。そして前記食材グループ設定部は、前記レシピ特定部が各前記食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすように食材の振り分けを行う。
例えばユーザが一週間に一度、食材をまとめて購入することなどを想定する。この購入した食材を、レシピ提供回数(例えば一週間の毎日の夕食用とすると7回)に振り分けて食材グループを設定する。そして食材グループ毎に、その食材グループ内の食材で調理可能なレシピを特定する。そして食材グループ毎、即ち毎日の夕食毎に、いくつかのレシピをユーザ(レシピ利用者)に提示する。
なお格納履歴とは、各食材についての追加量、追加日時、使用量、使用日時などの情報である。
An information processing apparatus according to the present invention is determined based on a food material information acquisition unit that acquires food information including at least inventory information from a storage device that stores a food storage history, and a storage history stored in the storage device. Based on the information on the acquired ingredients and the specified number of times of providing the recipe, each ingredient included in the information on the ingredients is determined based on the number of times of providing the recipe according to the cycle in which the ingredients are added. , A food material group setting unit that distributes the number of food groups according to the number of times the recipe is provided, a recipe specifying unit that specifies a recipe based on the distributed food material for each food material group, and a specific food material group And a presentation control unit that performs presentation control of the recipe. And the said foodstuff group setting part distributes a foodstuff so that the number of recipes or cooking classification which the said recipe specific | specification part specifies about each said foodstuff group may satisfy | fill predetermined quantity conditions.
For example, it is assumed that a user purchases foods once a week. The purchased ingredients are distributed according to the number of times the recipe is provided (for example, seven times for daily dinner for a week), and an ingredient group is set. And the recipe which can be cooked with the foodstuff in the foodstuff group for every foodstuff group is specified. Then, several recipes are presented to the user (recipe user) for each ingredient group, that is, for each daily dinner.
The storage history is information such as the added amount, added date / time, used amount, and used date / time for each food.

上記した情報処理装置においては、前記食材グループ設定部は、前記取得した食材の情報に含まれる食材毎の汎用性を示す情報を取得し、当該取得した汎用性を示す情報で示される値が相対的に高い食材が異なる食材グループに振り分けられるように食材グループを設定することが考えられる。
汎用性が高い食材とは、より多数のレシピで使用される食材である。ある食材グループに汎用性が高い食材ばかり集められると、その食材グループについては対応するレシピ数が多くなるが、他の食材グループでは対応するレシピ数が少なくなってしまうことが想定される。そこで、汎用性が高い食材が或る食材グループに集中しないようにする。
In the information processing apparatus described above, the food group setting unit acquires information indicating versatility for each of the ingredients included in the acquired information on the food, and the value indicated by the acquired information indicating the versatility is relative. It is conceivable to set a food group so that expensive food can be distributed to different food groups.
A highly versatile food is a food used in a larger number of recipes. When only a highly versatile ingredient is collected in a certain ingredient group, the number of corresponding recipes increases for that ingredient group, but it is assumed that the number of corresponding recipes decreases in other ingredient groups. Therefore, foods having high versatility are prevented from being concentrated on a certain food material group.

上記した情報処理装置においては、前記食材グループ設定部は、食材を分量単位で各食材グループに振り分けて食材グループを設定するとともに、設定した各食材グループについて前記数量条件を満たせなくなる場合は、各食材グループに振り分ける食材の分量の再設定を行うことが考えられる。
1つの食材を必ずしも全て1つの食材グループに振り分ける必要は無い。そこで分量に応じて振り分ける。
そして1つの食材を特定の分量毎に振り分けると、場合によっては対応するレシピ数が極端に減少してしまうこともあるため、数量条件を満たすように振り分ける分量を調整して再設定する。
In the information processing apparatus described above, the food material group setting unit assigns food materials to each food material group in units of quantities, and sets the food material groups. It is possible to reset the amount of ingredients distributed to the group.
It is not always necessary to distribute all the ingredients to one ingredient group. Therefore, sort according to the amount.
If one food is distributed for each specific amount, the number of corresponding recipes may be extremely reduced in some cases. Therefore, the amount to be distributed is adjusted and reset so as to satisfy the quantity condition.

上記した情報処理装置においては、各食材グループに対応したレシピを特定した後において、追加可能な食材の情報を取得した場合、前記食材グループ設定部が食材の再割り当てをおこない、前記レシピ特定部が前記再割り当ての状態で追加レシピを特定し、前記提示制御部は、前記追加レシピを追加した状態でのレシピの提示制御を行うことが考えられる。
例えば1回目の提示は、1回目として1回目用の食材グループとされた食材で調理可能なレシピが提示される。しかし、レシピ利用者としてのユーザがその中でどのレシピを選択して料理を行うかに応じて余剰食材が生ずる。そこで2回目以降の提示の時点では、余剰食材を残りの各食材グループに振り分けた上で、調理可能なレシピを特定し、これを追加レシピとして提示する。
また例えば1週間分の食材の割り当てとレシピの特定を行った後に、食材が追加された場合、以降のレシピ提示としては、追加食材を反映させたレシピも追加提示されるようにする。
In the information processing apparatus described above, after acquiring the recipe corresponding to each food group, when acquiring information on the food that can be added, the food group setting unit reassigns the food, and the recipe specifying unit It is conceivable that an additional recipe is specified in the reallocation state, and the presentation control unit performs recipe presentation control in a state where the additional recipe is added.
For example, the first presentation presents a recipe that can be cooked with ingredients that are the first food group. However, surplus ingredients are generated depending on which recipe is selected and cooked by the user as a recipe user. Therefore, at the time of presentation for the second time and thereafter, after surplus ingredients are distributed to the remaining ingredient groups, recipes that can be cooked are specified and presented as additional recipes.
For example, when an ingredient is added after assigning ingredients for one week and specifying a recipe, as a subsequent recipe presentation, a recipe reflecting the additional ingredients is additionally presented.

上記した情報処理装置においては、各食材グループについて特定されたレシピ数又は各食材グループについて特定されたレシピにおける料理種別の数の偏りについての前記数量条件が、食材グループの数に応じて設定されることが考えられる。
つまり各食材グループについて対応するレシピの数や料理種別数が略同程度となることを条件とする。その同程度と判定する範囲は食材グループ数に応じたものとする。
In the information processing apparatus described above, the quantity condition for the number of recipes specified for each ingredient group or the deviation of the number of cooking types in the recipe specified for each ingredient group is set according to the number of ingredient groups. It is possible.
That is, it is a condition that the number of corresponding recipes and the number of types of dishes are about the same for each ingredient group. The range determined to be the same degree corresponds to the number of food groups.

上記した情報処理装置においては、各食材グループについて特定されたレシピ数又は各食材グループについて特定されたレシピにおける料理種別の数の最小値としての前記数量条件が、食材グループの数に応じて設定されることが考えられる。
つまり各食材グループについて対応するレシピの数やレシピの料理種別の数が、どの食材グループにも所定の最小値以上となっていることを条件とする。その場合の最小値は食材グループ数に応じたものとする。
In the information processing apparatus described above, the quantity condition as the minimum value of the number of recipes specified for each ingredient group or the number of cooking types in the recipe specified for each ingredient group is set according to the number of ingredient groups. It can be considered.
In other words, the condition is that the number of recipes corresponding to each food group and the number of types of recipes are equal to or greater than a predetermined minimum value for any food group. In this case, the minimum value depends on the number of food groups.

本発明に係る情報処理方法は、食材の格納履歴を記憶する記憶装置から少なくとも在庫情報を含む食材の情報を取得する食材情報取得ステップと、前記記憶装置に記憶された格納履歴に基づいて判定された食材が追加される周期に応じてレシピ提供回数を特定する提供回数特定ステップと、前記取得した食材の情報と前記特定されたレシピ提供回数に基づいて、当該食材の情報に含まれる各食材を、当該レシピ提供回数に応じた数の食材グループに振り分ける食材グループ設定ステップと、前記食材グループ毎に、前記振り分けられた食材に基づいてレシピを特定するレシピ特定ステップと、前記食材グループ毎に特定されたレシピの提示制御を行う提示制御ステップとを備える。前記食材グループ設定ステップでは、前記レシピ特定ステップで各前記食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすように食材の振り分けを行う。
この情報処理方法により、情報処理装置によって充実したレシピ提供が可能となる。
本発明に係るプログラムは、上記各ステップに相当する手順を情報処理装置に実行させるプログラムである。これにより上述の情報処理装置の処理を実現する。
The information processing method according to the present invention is determined based on a food material information acquisition step of acquiring food information including at least inventory information from a storage device storing food storage history, and a storage history stored in the storage device. The number of times of providing the recipe according to the period in which the ingredients are added, and the number of steps included in the information of the ingredients based on the information on the acquired ingredients and the specified number of times of providing the recipes. , An ingredient group setting step for assigning to the number of ingredient groups according to the number of times the recipe is provided, a recipe specifying step for specifying a recipe based on the assigned ingredients for each ingredient group, and an ingredient group specified for each ingredient group A presentation control step for controlling the presentation of the recipe. In the food group setting step, the foodstuffs are distributed so that the number of recipes or the type of recipe specified for each food group in the recipe specifying step satisfies a predetermined quantity condition.
By this information processing method, a rich recipe can be provided by the information processing apparatus.
The program according to the present invention is a program that causes an information processing apparatus to execute a procedure corresponding to each of the above steps. This implements the processing of the information processing apparatus described above.

本発明によれば、ユーザの、食材調達頻度を抑制した購入スタイルにあわせて、複数回のレシピ提供の度に十分な選択肢を有する充実したレシピ提供を行うことができる。   ADVANTAGE OF THE INVENTION According to this invention, according to the purchase style which suppressed the user's food procurement frequency, the enriched recipe provision which has sufficient choices can be performed every time a recipe is provided several times.

本発明の実施の形態のシステム構成の説明図である。It is explanatory drawing of the system configuration | structure of embodiment of this invention. 実施の形態のレシピ管理サーバの機能構成の説明図である。It is explanatory drawing of a function structure of the recipe management server of embodiment. 実施の形態の情報処理装置のブロック図である。It is a block diagram of the information processor of an embodiment. 実施の形態のレシピデータベースの説明図である。It is explanatory drawing of the recipe database of embodiment. 実施の形態の格納履歴データベース及び食材データベースの説明図である。It is explanatory drawing of the storage history database and foodstuff database of embodiment. 実施の形態の提示設定データベースの説明図である。It is explanatory drawing of the presentation setting database of embodiment. 実施の形態のレシピ提供に関する処理のフローチャートである。It is a flowchart of the process regarding the provision of a recipe of an embodiment. 実施の形態において提示するレシピの例の説明図である。It is explanatory drawing of the example of the recipe shown in embodiment. 実施の形態のレシピ提示例の説明図である。It is explanatory drawing of the recipe presentation example of embodiment. 実施の形態の提示設定のためのバッチ処理のフローチャートである。It is a flowchart of the batch process for the presentation setting of embodiment. 第1の実施の形態の提示設定処理のフローチャートである。It is a flowchart of the presentation setting process of 1st Embodiment. 実施の形態の食材の分配単位設定の説明図である。It is explanatory drawing of the distribution unit setting of the foodstuff of embodiment. 実施の形態の食材グループへの食材振り分けの説明図である。It is explanatory drawing of the foodstuff distribution to the foodstuff group of embodiment. 実施の形態の食材振り分け処理のフローチャートである。It is a flowchart of the foodstuff distribution process of embodiment. 実施の形態の数量条件チェック処理のフローチャートである。It is a flowchart of quantity condition check processing of an embodiment. 実施の形態の数量条件チェック処理のフローチャートである。It is a flowchart of quantity condition check processing of an embodiment. 実施の形態のレシピ管理サーバの処理のフローチャートである。It is a flowchart of the process of the recipe management server of embodiment. 第2の実施の形態の提示設定処理のフローチャートである。It is a flowchart of the presentation setting process of 2nd Embodiment. 第3の実施の形態の提示設定のためのバッチ処理のフローチャートである。It is a flowchart of the batch process for the presentation setting of 3rd Embodiment. 第3の実施の形態の再提示設定処理のフローチャートである。It is a flowchart of the re-presentation setting process of 3rd Embodiment.

以下、実施の形態を次の順序で説明する。
<1.全体構成>
<2.ハードウェア構成>
<3.DB>
<4.端末とサーバ間の処理の流れ>
<5.第1の実施の形態>
<6.第2の実施の形態>
<7.第3の実施の形態>
<8.まとめ>
<9.プログラム及び記憶媒体>
Hereinafter, embodiments will be described in the following order.
<1. Overall configuration>
<2. Hardware configuration>
<3. DB>
<4. Flow of processing between terminal and server>
<5. First Embodiment>
<6. Second Embodiment>
<7. Third Embodiment>
<8. Summary>
<9. Program and Storage Medium>

<1.全体構成>
実施の形態におけるシステム全体構成を図1により説明する。実施の形態のシステムはユーザに対して料理レシピ(以降では単にレシピという)を提供するサービスを実現するシステムとしている。
本例のシステムは図1に示すように、レシピ管理サーバ1、ユーザ端末3、EC(electronic commerce:電子商取引)サーバ4が、通信ネットワーク2を介して相互に通信可能な状態で接続されている。
レシピ管理サーバ1は、レシピデータベース50、ユーザデータベース51、検索データベース52、格納履歴データベース53、食材データベース55、提示設定データベース56にアクセス可能とされている。
ECサーバ4はユーザデータベース51、格納履歴データベース53、商品データベース54にアクセス可能とされている。
また格納履歴データベース53Aとして示すように、ユーザ端末3に格納履歴データベースが構築され、レシピ管理サーバ1がユーザ端末3から格納履歴データベース53Aの情報を取得するようにしてもよい。以下の説明において、格納履歴データベース53に対するアクセスが発生する処理は、格納履歴データベース53Aを対象とする処理と考えてもよい。
なお、以下「データベース」については「DB」と表記する。
<1. Overall configuration>
The overall system configuration in the embodiment will be described with reference to FIG. The system of the embodiment is a system that realizes a service that provides a user with a cooking recipe (hereinafter simply referred to as a recipe).
In the system of this example, as shown in FIG. 1, a recipe management server 1, a user terminal 3, and an EC (electronic commerce) server 4 are connected via a communication network 2 in a state where they can communicate with each other. .
The recipe management server 1 can access a recipe database 50, a user database 51, a search database 52, a storage history database 53, an ingredient database 55, and a presentation setting database 56.
The EC server 4 can access a user database 51, a storage history database 53, and a product database 54.
Further, as shown as a storage history database 53A, a storage history database may be constructed in the user terminal 3, and the recipe management server 1 may acquire information on the storage history database 53A from the user terminal 3. In the following description, the process in which access to the storage history database 53 occurs may be considered as a process for the storage history database 53A.
Hereinafter, “database” is referred to as “DB”.

レシピ管理サーバ1は、ユーザ(レシピ提供者)から投稿されるレシピを管理し、またユーザからの要求に応じてレシピを提供する(ユーザ端末3において提示させる)処理を行う情報処理装置である。具体的な構成に関しては後述する。
このレシピ管理サーバ1が、本発明請求項の情報処理装置の実施の形態に相当する。
The recipe management server 1 is an information processing apparatus that manages a recipe posted by a user (recipe provider) and performs a process of providing a recipe in response to a request from the user (displayed on the user terminal 3). A specific configuration will be described later.
This recipe management server 1 corresponds to an embodiment of an information processing apparatus according to the claims of the present invention.

通信ネットワーク2の構成は特に限定されるものではなく、例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、CATV(Community Antenna TeleVision)通信網、VPN(Virtual Private Network:仮想専用網)、電話回線網、移動体通信網、衛星通信網などが想定される。
また通信ネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線などの有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
The configuration of the communication network 2 is not particularly limited. For example, the Internet, an intranet, an extranet, a LAN (Local Area Network), a CATV (Community Antenna TeleVision) communication network, a VPN (Virtual Private Network), A telephone line network, a mobile communication network, a satellite communication network, etc. are assumed.
Various examples of transmission media constituting all or part of the communication network 2 are also envisaged. For example, IEEE (Institute of Electrical and Electronics Engineers) 1394, USB (Universal Serial Bus), power line carrier, telephone line, etc., infrared such as IrDA (Infrared Data Association), Bluetooth (registered trademark), 802.11 wireless It can also be used wirelessly, such as mobile phone networks, satellite lines, and digital terrestrial networks.

ユーザ端末3は、レシピをレシピ管理サーバ1に投稿するユーザ(レシピ提供者)や、レシピ管理サーバ1が管理するレシピ情報を検索し閲覧するユーザ(レシピ利用者)などが使用する端末である。
なお、本実施の形態のサービスを利用する「ユーザ」はレシピ提供者、レシピ利用者のいずれにもなり得るが、以下では特に断らない限り、「ユーザ」はレシピ利用者として行動しているユーザ、もしくはレシピ利用者となる可能性を有するユーザを指すものとする。
The user terminal 3 is a terminal used by a user (recipe provider) who submits a recipe to the recipe management server 1 or a user (recipe user) who searches and browses recipe information managed by the recipe management server 1.
The “user” who uses the service of the present embodiment can be either a recipe provider or a recipe user. However, unless otherwise specified, the “user” is a user who acts as a recipe user. Or a user who has the possibility of becoming a recipe user.

ユーザ端末3では、必要に応じて各種の送受信処理や表示処理などが実行される。また、ユーザ端末3は、例えば、通信機能を備えたPC(Personal Computer)やフィーチャーフォンやPDA(Personal Digital Assistant)、或いは、スマートフォンやタブレット端末などのスマートデバイスなどである。   In the user terminal 3, various transmission / reception processes and display processes are executed as necessary. The user terminal 3 is, for example, a PC (Personal Computer), a feature phone, a PDA (Personal Digital Assistant) having a communication function, or a smart device such as a smartphone or a tablet terminal.

ECサーバ4は、商品の取引に関する各種サービスを提供する情報処理装置である。各種サービスとしては、例えば、電子商取引で扱っている商品群の中からユーザが所望する商品を検索して提示する商品検索サービスや、商品提供者が販売したい商品を管理する商品管理サービスがある。また例えば、ユーザ情報を管理し必要に応じて提示するユーザ情報管理サービスや、商品提供者の情報を管理し必要に応じて提示する商品提供者情報管理サービスや、商品の売買が成立した際の代金のやりとりを仲介する決済処理サービスなどもある。
ECサーバ4は、ユーザ端末3へ各種サービスを実現するためのウェブページデータを生成し、送信する処理を行う。
更に、ECサーバ4は、レシピ管理サーバ1からの要求に応じて各種情報をレシピ管理サーバ1へ送信する処理を行う。
またECサーバ4はユーザの食材の購入情報などに応じて格納履歴DB53の更新を行う。
The EC server 4 is an information processing apparatus that provides various services related to merchandise transactions. Examples of the various services include a product search service for searching for and displaying a product desired by a user from a product group handled in electronic commerce, and a product management service for managing a product that a product provider wants to sell. In addition, for example, a user information management service that manages user information and presents it as necessary, a product provider information management service that manages information of a product provider and presents it as necessary, There are also payment processing services that mediate the exchange of payments.
The EC server 4 performs processing for generating and transmitting web page data for realizing various services to the user terminal 3.
Further, the EC server 4 performs a process of transmitting various information to the recipe management server 1 in response to a request from the recipe management server 1.
Further, the EC server 4 updates the storage history DB 53 according to the purchase information of the user's food.

図2は、1又は複数の情報処理装置で構成されるレシピ管理サーバ1としての機能構成、およびレシピ管理サーバ1がアクセスするDBを示している。
レシピ管理サーバ1は、食材情報取得部1a、提供回数特定部1b、食材グループ設定部1c、レシピ特定部1d、提示制御部1e、レシピ管理部1fを備えている。
なお食材情報取得部1a、提供回数特定部1b、食材グループ設定部1c、レシピ特定部1d、提示制御部1e、レシピ管理部1fとしての各機能は、情報処理装置においてCPU(例えば後述する図3のCPU101)でプログラムに応じて実行される処理により実現される機能である。但し以下説明する全部又は一部の各構成の処理をハードウエアにより実現してもよい。
また各機能をソフトウエアで実現する場合に、各機能がそれぞれ独立したプログラムで実現される必要はない。1つのプログラムにより複数の機能の処理が実行されてもよいし、1つの機能が複数のプログラムモジュールの連携で実現されてもよい。
FIG. 2 shows a functional configuration as a recipe management server 1 configured by one or a plurality of information processing apparatuses, and a DB accessed by the recipe management server 1.
The recipe management server 1 includes an ingredient information acquisition unit 1a, an offer count identification unit 1b, an ingredient group setting unit 1c, a recipe identification unit 1d, a presentation control unit 1e, and a recipe management unit 1f.
In addition, each function as the foodstuff information acquisition part 1a, the provision frequency | count identification part 1b, the foodstuff group setting part 1c, the recipe specification part 1d, the presentation control part 1e, and the recipe management part 1f is CPU (for example, FIG. 3 mentioned later) in information processing apparatus. This function is realized by processing executed according to a program in the CPU 101). However, all or a part of the processing described below may be realized by hardware.
Further, when each function is realized by software, each function need not be realized by an independent program. Processing of a plurality of functions may be executed by one program, or one function may be realized by cooperation of a plurality of program modules.

レシピ管理部1fは、レシピ提供サービスとして必要な情報管理を行う機能である。
例えばレシピ管理部1fは、レシピ提供者が投稿したレシピについてレシピDB50の登録を行い、また登録したレシピについては、レシピが属するカテゴリ情報やレシピに使用する食材情報等とを紐付けて管理する。具体的には、あるレシピ提供者が投稿した「野菜カレー」のレシピは、料理種別「カレー」に属するレシピであり、使用食材情報として、「じゃがいも」、「人参」、「タマネギ」、「ブロッコリー」、「トマト」、「ほうれん草」が紐付けられる。
The recipe management unit 1f is a function for performing information management necessary as a recipe providing service.
For example, the recipe management unit 1f registers the recipe DB 50 for the recipe posted by the recipe provider, and manages the registered recipe in association with the category information to which the recipe belongs, the food material information used for the recipe, and the like. Specifically, a recipe of “vegetable curry” posted by a recipe provider is a recipe that belongs to the cooking type “curry”, and the ingredients used are “potato”, “carrot”, “onion”, “broccoli” ”,“ Tomato ”,“ Spinach ”.

なお、料理種別としてはカテゴリのレベルが複数段階に設定される。例えば「和食」「洋食」などの種別、「日本料理」「中華料理」「イタリア料理」「フランス料理」「タイ料理」という地域レベルの種別、「カレー」「ハンバーグ」「ラーメン」などの料理名に応じたレベルの種別、さらには「ビーフカレー」「チキンカレー」「キーマカレー」などの細かいレベルの種別などがある。
以下では説明上、あくまで一例ではあるが、次のように料理種別のレベル(分類の階層)が設定されているとする。
大分類レベル:「日本料理」「中華料理」などの地域別のレベル
中分類レベル:「カレー」「ハンバーグ」等の料理名単位のレベル
細分類レベル:「ビーフカレー」「チキンカレー」等の料理名内の詳細なレベル
レシピ管理部1fは、各レシピについて、このような各レベルでの種別管理も行う。
Note that the category level is set in a plurality of stages as the dish type. For example, types such as “Japanese”, “Western”, “Japanese”, “Chinese”, “Italian”, “French”, “Thai”, “Curry”, “Hamburg”, “Ramen”, etc. Depending on the type of level, there are further types such as “Beef Curry”, “Chicken Curry”, and “Kima Curry”.
In the following description, for the sake of explanation, it is only an example, but it is assumed that the level of the dish type (classification hierarchy) is set as follows.
Major classification level: Levels by region such as “Japanese cuisine” and “Chinese cuisine” Medium classification level: Level of dish name units such as “Curry” and “Hamburg” Subclassification level: Cuisine such as “Beef curry” and “Chicken curry” Detailed Level in Name The recipe management unit 1f also performs type management at each level for each recipe.

なお、料理種別のレベルは多様であり、例えば下記(A)に示すように中分類は肉料理、魚料理、野菜料理のような主たる食材の分類としてもよいし、下記(B)のように、大分類は「主食」「おかず」「副菜」などとしてもよい。
(A)大分類:和食(その他:洋食など)
中分類:肉料理
細分類:肉じゃが/牛肉のしぐれ煮など
中分類:魚料理
細分類:鯖の味噌煮/鮭のちゃんちゃん焼きなど
中分類:野菜料理
細分類:焼き野菜のロースト/きんぴらごぼうなど
(B)大分類:主食(その他:おかず/副菜など)
中分類:肉料理
細分類:ハンバーグ/コロッケなど
中分類:魚料理
細分類:タコのフリット/タラのムニエルなど
中分類:野菜料理
細分類:ポトフ/野菜のトマト煮など
There are various types of dishes, for example, as shown in the following (A), the middle classification may be a classification of main ingredients such as meat dishes, fish dishes, and vegetable dishes, or as shown in (B) below. The major classification may be “main staple”, “side dish”, “side dish”, and the like.
(A) Major classification: Japanese food (Others: Western food, etc.)
Middle classification: Meat dishes
Subcategory: Meat potato / beef simmered
Middle classification: Fish dishes
Subcategory: Miso-boiled crab
Middle classification: Vegetable dishes
Subcategory: Roasted baked vegetables / Kinpira burdock, etc. (B) Large category: staple food (others: side dishes / side dishes, etc.)
Middle classification: Meat dishes
Subcategory: Hamburger / croquette etc.
Middle classification: Fish dishes
Subcategory: Octopus frit / Tara Meuniere, etc.
Middle classification: Vegetable dishes
Subcategory: Potov / Vegetable vegetable tomato

また、レシピ管理部1fは、食材毎に、その食材が用いられるレシピの数を管理する。例えば登録している全てのレシピを対象とし、各食材が、それぞれいくつのレシピで使用されるかをカウントし、食材DB55に登録して管理する。
またレシピ管理部1fは、例えばカテゴリ(料理種別)ごとに使用頻度の高い通常食材を管理する。具体的には、「カレーライス」のカテゴリに対して、同カテゴリに属するレシピの使用食材に頻出する「じゃがいも」、「人参」、「タマネギ」、「牛肉」、「豚肉」、「チキン」を通常食材として設定する。尚、食材に加えて調味料(「塩」や「胡椒」など)やそれに準ずるもの(例えば「カレールー」など)を、通常食材として設定してもよい。
また、レシピ管理部1fは、食材毎に、組み合わされて使用されやすい食材を管理する。例えば各種のレシピにおいて「じゃがいも」と「にんじん」が同時に用いられている例が多い場合、「じゃがいも」と「にんじん」を組み合わせられやすい食材として管理する。
Moreover, the recipe management part 1f manages the number of the recipes in which the foodstuff is used for every foodstuff. For example, for all registered recipes, the number of recipes used for each ingredient is counted and registered in the ingredient DB 55 for management.
Moreover, the recipe management part 1f manages the normal food material with high use frequency for every category (dish type), for example. Specifically, for the category of “curry and rice”, “potato”, “carrot”, “onion”, “beef”, “pork”, and “chicken” that frequently appear in the ingredients used in recipes belonging to the category. Usually set as an ingredient. In addition to foodstuffs, seasonings (such as “salt” and “pepper”) and the like (such as “carrero”) may be set as normal foodstuffs.
Moreover, the recipe management part 1f manages the foodstuffs which are easy to be combined and used for every foodstuff. For example, when there are many examples where “potato” and “carrot” are used at the same time in various recipes, “potato” and “carrot” are managed as easy-to-combine ingredients.

またレシピ管理部1fは、レシピごとに投稿された作成レポートを管理する。作成レポートは、ユーザが実際にレシピを利用して料理を行った際に感じた料理のおいしさや手軽さなどを記したレポートである。作成レポートは、レシピDB50の各レシピに紐付けられて管理される。   Moreover, the recipe management part 1f manages the creation report posted for every recipe. The created report is a report describing the deliciousness and ease of cooking that the user feels when cooking using the recipe. The creation report is associated with each recipe in the recipe DB 50 and managed.

食材情報取得部1aは、食材の格納履歴を記憶する記憶装置である格納履歴DB53から所定の条件を満たす食材の情報を取得する処理を行う。
格納履歴DB53については後述するが、これはユーザ毎に購入した食材の情報や使用した食材の情報が登録されているものである。
食材情報取得部1aは所定のタイミングで、各ユーザや特定のユーザについての格納履歴DB53の情報を取得する。レシピ管理サーバ1は食材情報取得部1aが取得する食材の情報に基づいて後述するレシピ提示設定のための処理を行う。
特には食材情報取得部1aは、ユーザの食材購入に合わせて、格納履歴DB53の内容から、そのユーザの食材在庫を確認し、所定の条件(例えば在庫量や消費期限に関する条件)を満たした食材の情報を取得する。
The food material information acquisition unit 1a performs processing for acquiring food material information satisfying a predetermined condition from the storage history DB 53 that is a storage device that stores the storage history of food materials.
Although the storage history DB 53 will be described later, this is information in which information on the ingredients purchased for each user and information on the ingredients used are registered.
The food material information acquisition unit 1a acquires information in the storage history DB 53 for each user or a specific user at a predetermined timing. The recipe management server 1 performs the process for recipe presentation setting mentioned later based on the information of the foodstuff which the foodstuff information acquisition part 1a acquires.
In particular, the food material information acquisition unit 1a confirms the user's food stock from the contents of the storage history DB 53 in accordance with the user's food purchase, and satisfies the predetermined condition (for example, the condition related to the stock amount and the expiration date). Get information about.

提供回数特定部1bは、格納履歴DB53に記憶された格納履歴に基づいて、特定のユーザの食材が追加される周期を判定し、判定した周期に基づいてレシピ提供回数を特定する処理を行う機能である。   The provision number specifying unit 1b performs a process of determining a period in which a specific user's food is added based on the storage history stored in the storage history DB 53, and specifying a recipe provision number based on the determined period. It is.

食材グループ設定部1cは、食材情報取得部1aが取得した食材の情報、この場合は特定のユーザが現在所有する食材(在庫食材)のうちで例えば在庫量や消費期限に関する条件に応じて取得した食材の種類や量の情報を用いて、各食材を振り分け、レシピ提供回数に応じた数の食材グループを設定する処理を行う機能である。   The ingredient group setting unit 1c acquires the information on the ingredients acquired by the ingredient information acquisition unit 1a, in this case, among the ingredients (stock ingredients) currently owned by a specific user, for example, according to the conditions relating to the inventory amount and the expiration date This is a function of performing processing for distributing each food material using information on the type and amount of the food material and setting the number of food material groups according to the number of times the recipe is provided.

レシピ特定部1dは、食材グループ設定部1cが設定した食材グループ毎に、割り当てられた食材に基づいてレシピを特定する処理を行う機能である。即ち食材グループ毎に、そのグループに割り当てられた食材で料理可能なレシピを、レシピDB50に登録されているレシピの中から検索する。そして各食材グループについて対応するレシピを特定し、そのユーザに提示するレシピとして管理する。特定したレシピは提示設定DB56を用いて管理する。   The recipe specifying unit 1d is a function that performs a process of specifying a recipe based on the assigned ingredients for each ingredient group set by the ingredient group setting unit 1c. That is, for each ingredient group, a recipe that can be cooked with ingredients assigned to the group is searched from recipes registered in the recipe DB 50. And the corresponding recipe is identified about each foodstuff group, and it manages as a recipe shown to the user. The identified recipe is managed using the presentation setting DB 56.

提示制御部1eは、レシピ特定部1dが特定したレシピについてユーザ端末3において提示されるようにする提示制御を行う。
具体的には、或るユーザが、レシピ提供サービスのウェブサイトにログインした際に、そのユーザに薦める料理のレシピを一覧表示するウェブページデータを生成し、ユーザ端末3に送信して、提示されるようにする。
後述するが、食材グループ設定部1c及びレシピ特定部1dによって、対象のユーザに対して、複数回の食事(料理機会)に対応させて上記の食材グループが設定され、それぞれの食材グループに対応して1又は複数のレシピを特定している。提示制御部1eはユーザのログインに応じて、対応するレシピを推奨すべく、提示制御を行う。
また、提示制御部1cは、ユーザの操作に応じた種々のウェブページデータを送信する処理を実行する。種々のウェブページデータとしては、例えばログイン画面のウェブページデータやレシピ詳細ページのウェブページデータや作成レポート投稿ページのウェブページデータなどである。
これらのウェブページのデータは、例えば、HTML(Hyper Text Markup Language)やXHTML(Extensible HyperText Markup Language)などの構造化文書ファイルである。構造化文書ファイルには、レシピ名や使用食材、或いは調理手順としてのテキストデータや料理画像等の画像データと、それらの配置や表示態様(文字色やフォントや大きさや装飾など)が記述されている。
The presentation control unit 1e performs presentation control so that the recipe specified by the recipe specifying unit 1d is presented on the user terminal 3.
Specifically, when a certain user logs in to the recipe providing service website, web page data for displaying a list of recipes recommended for the user is generated, transmitted to the user terminal 3 and presented. So that
As will be described later, the food group setting unit 1c and the recipe specifying unit 1d set the above-described food groups corresponding to a plurality of meals (cooking opportunities) for the target user, and correspond to each food group. Identify one or more recipes. The presentation control unit 1e performs presentation control so as to recommend a corresponding recipe in response to a user login.
In addition, the presentation control unit 1c executes processing for transmitting various web page data corresponding to the user's operation. Examples of various web page data include web page data on a login screen, web page data on a recipe detail page, and web page data on a creation report posting page.
The data of these web pages is a structured document file such as HTML (Hyper Text Markup Language) or XHTML (Extensible HyperText Markup Language). The structured document file describes recipe names, ingredients used, image data such as text data and cooking images as cooking procedures, and their arrangement and display mode (character color, font, size, decoration, etc.). Yes.

レシピ管理サーバ1には、他にも、各種情報を送受信する機能や、ユーザのログイン操作に対する認証処理などを実現するために必要な各部が設けられている。認証処理は、ユーザ端末3から送信されたログイン情報としてのユーザID(Identification)とパスワードを、ユーザDB51に記憶された認証情報と照合する処理である。
In addition, the recipe management server 1 is provided with various units necessary for realizing a function of transmitting and receiving various types of information and an authentication process for a user login operation. The authentication process is a process for collating the user ID (Identification) and password as login information transmitted from the user terminal 3 with the authentication information stored in the user DB 51.

<2.ハードウェア構成>
図3は、図1に示したレシピ管理サーバ1、ユーザ端末3、ECサーバ4のハードウエア、及び、レシピDB50、ユーザDB51、検索DB52、格納履歴DB53、商品DB54、食材DB55、提示設定DB56のハードウェアを例示する図である。
それぞれのサーバや端末、DBにおけるコンピュータ装置のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
<2. Hardware configuration>
FIG. 3 shows the recipe management server 1, user terminal 3, and EC server 4 hardware shown in FIG. It is a figure which illustrates hardware.
A CPU (Central Processing Unit) 101 of a computer device in each server, terminal, or DB is loaded into a RAM (Random Access Memory) 103 from a program stored in a ROM (Read Only Memory) 102 or a storage unit 108. Various processes are executed according to the program. The RAM 103 also appropriately stores data necessary for the CPU 101 to execute various processes.

CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、入力部106、出力部107、記憶部108、通信部109が接続されている。
入力部106はキーボード、マウス、タッチパネルなどにより構成される。
出力部107はLCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどにより構成される。
記憶部108はHDD(Hard Disk Drive)やフラッシュメモリ装置などにより構成される。
通信部109はネットワーク1を介しての通信処理や機器間通信を行う。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
The CPU 101, ROM 102, and RAM 103 are connected to each other via a bus 104. An input / output interface 105 is also connected to the bus 104.
An input unit 106, an output unit 107, a storage unit 108, and a communication unit 109 are connected to the input / output interface 105.
The input unit 106 includes a keyboard, a mouse, a touch panel, and the like.
The output unit 107 includes a display made up of an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), an organic EL (Electroluminescence) panel, etc., and a speaker.
The storage unit 108 includes an HDD (Hard Disk Drive), a flash memory device, or the like.
A communication unit 109 performs communication processing and communication between devices via the network 1.
A media drive 110 is also connected to the input / output interface 105 as necessary, and a removable medium 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately mounted, and information can be written to the removable medium 111. Reading is performed.

このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われる。またリムーバブルメディア111を介したデータやプログラムの受け渡しが可能である。
CPU101が各種のプログラムに基づいて処理動作を行うことで、レシピ管理サーバ1、ユーザ端末3、ECサーバ4等としての必要な情報処理や通信が実行される。
なお、レシピ管理サーバ1等を構成する情報処理装置は、図3のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN等によりシステム化されていてもよいし、インターネット等を利用したVPN等により遠隔地に配置されたものでもよい。
In such a computer device, data and programs are uploaded and downloaded by communication by the communication unit 109. Data and programs can be exchanged via the removable medium 111.
When the CPU 101 performs processing operations based on various programs, necessary information processing and communication as the recipe management server 1, the user terminal 3, the EC server 4, and the like are executed.
In addition, the information processing apparatus which comprises the recipe management server 1 grade | etc., Is not restricted to a single computer apparatus as shown in FIG. 3, and a plurality of computer apparatuses may be systematized. The plurality of computer devices may be systemized by a LAN or the like, or may be arranged at a remote place by a VPN using the Internet or the like.

<3.DB>
各DBについて説明する。
レシピDB50は、レシピ提供者から投稿されたレシピの情報が記憶されるDBである。具体的には、図4に示すように、それぞれのレシピを識別可能なレシピIDに対して、レシピを投稿したレシピ提供者を特定するユーザIDと、投稿日時情報と、レシピが属するカテゴリ(料理種別)情報と、レシピの使用食材情報と、レシピの調理手順と、料理画像(完成した料理の画像や調理途中の料理の画像)などの画像情報と、レシピを実際に利用した(料理を作成した)他のユーザによって投稿された作成レポートを特定する作成レポートIDと、が紐付けられて記憶される。
また、レシピの詳細ページのURL(Uniform Resource Locator)情報がレシピIDに紐付けられて記憶されてもよい。
<3. DB>
Each DB will be described.
The recipe DB 50 is a DB that stores information on recipes posted from recipe providers. Specifically, as shown in FIG. 4, for a recipe ID that can identify each recipe, a user ID that identifies the recipe provider who posted the recipe, post date information, and a category (cooking) to which the recipe belongs. Type) information, recipe ingredients information, recipe cooking procedures, image information such as cooking images (completed cooking images and cooking images), and the actual use of the recipe (create a dish) And a creation report ID for identifying a creation report posted by another user is stored in association with each other.
Further, URL (Uniform Resource Locator) information of the recipe details page may be stored in association with the recipe ID.

更に、レシピDB50には、各レシピに対して投稿された作成レポートの情報が記憶される。作成レポートの情報としては、レポート内容を示すテキストデータや投稿者を識別可能なユーザIDや投稿日時情報などが記憶される。   Further, the recipe DB 50 stores information on creation reports posted for each recipe. As the information of the created report, text data indicating the report content, a user ID that can identify the poster, posting date information, and the like are stored.

ユーザDB51は、ユーザのログイン情報が記憶されるDBである。具体的には、それぞれのユーザを識別可能なユーザIDとログインパスワードが紐付けられて記憶される。また、ログイン履歴などの各種履歴情報が記憶されてもよい。
また、ユーザDB51には、ユーザごとの購入履歴情報が記憶される。例えば各種食材を電子商取引により購入した際の履歴情報が蓄積されている。
またユーザDB51には、ユーザ毎のレシピ閲覧履歴、レシピ投稿履歴なども記憶される。
The user DB 51 is a DB that stores user login information. Specifically, a user ID that can identify each user and a login password are stored in association with each other. Various history information such as login history may be stored.
The user DB 51 stores purchase history information for each user. For example, history information when various foods are purchased by electronic commerce is accumulated.
The user DB 51 also stores recipe browsing history, recipe posting history, and the like for each user.

検索DB52は、検索キーワードと対応した検索結果が記憶されるDBである。具体的には、「カレー」や「ハンバーグ」などの料理名や「きのこ」や「トマト」などの材料名などの検索キーワードに応じて、複数のレシピが検索結果として紐付けられて記憶される。
例えばユーザの検索要求に応じて検索処理が実行され、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶される。このように紐付けが行われることで、検索要求があった際に新たな検索処理を実行せずに済む機会が増える。
なお、予め定期的に検索キーワードを用いた検索処理を実行しておき、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶されるようにしてもよい。
The search DB 52 is a DB that stores search results corresponding to search keywords. Specifically, multiple recipes are linked and stored as search results according to search keywords such as dish names such as “curry” and “hamburg” and ingredient names such as “mushroom” and “tomato”. .
For example, a search process is executed in response to a user search request, and the search result extracted as a result is stored in the search DB 52 in association with a search keyword. By performing the association in this way, there is an increased chance of not performing a new search process when a search request is made.
Note that a search process using a search keyword may be periodically performed in advance, and the search result extracted as a result may be associated with the search keyword and stored in the search DB 52.

格納履歴DB53(又は53A)は、ユーザ毎の食材の購入履歴や使用履歴が記憶されるDBである。
図5Aに一例を示す。例えばユーザIDが“U001”のユーザについて例示しているように、一人のユーザに対して、「じゃがいも」「タマネギ」「にんじん」・・・等の各食材について、購入履歴や使用履歴が記憶されている。例えば購入や使用の情報がデータナンバ毎の情報として随時追加されていく。
購入データとしては、追加日時や追加量が記憶される。
使用データとしては、使用日時や使用量が記憶される。
サーバ側が構築する格納履歴DB53としては、図示のように各ユーザ、例えばユーザIDでいうと“U001”“U002”“U003”・・・毎に、このように購入履歴や使用履歴が記憶される。各ユーザとは例えばレシピ提供サービスに登録してログイン可能なユーザである。
なお、ユーザ端末3において格納履歴DB53Aを構成する場合は、そのユーザ端末3の使用者で或るユーザのみについて購入履歴や使用履歴が記憶され、それをレシピ管理サーバ1が参照可能とされていればよい。
The storage history DB 53 (or 53A) is a DB that stores the purchase history and the use history of ingredients for each user.
An example is shown in FIG. 5A. For example, as illustrated for a user whose user ID is “U001”, purchase history and usage history are stored for each ingredient such as “potato”, “onion”, “carrot”, etc. for one user. ing. For example, purchase and usage information is added as information for each data number.
As purchase data, an addition date and time and an additional amount are stored.
The usage date and time and usage amount are stored as usage data.
The storage history DB 53 constructed on the server side stores the purchase history and usage history in this way for each user, for example, “U001”, “U002”, “U003”... . Each user is, for example, a user who can register and log in to the recipe providing service.
When the storage history DB 53A is configured in the user terminal 3, the purchase history and the use history are stored only for a certain user who is a user of the user terminal 3, and the recipe management server 1 can refer to it. That's fine.

格納履歴DB53は、レシピ管理サーバ1やECサーバ4がデータを追加していく。例えばECサーバ4は各ユーザの電子商取引の情報のうちで食材購入の情報を取得することに応じて購入データを追加する。特に本実施の形態ではユーザによる定期的な購入を想定するため、例えばECサーバ4が提供するマーケットにおいてユーザが定期的な食材に購入を行っていれば、その情報を格納履歴DB53に反映することができる。
またユーザが協同組合や食材配達サービスなどを利用している場合、ユーザ毎の購入履歴情報はそれらの業者で管理されているため、例えばレシピ管理サーバ1が、その業者の管理端末から各ユーザの食材購入履歴情報を取得し、格納履歴DB53を更新してもよい。
さらに、ユーザが実店舗で購入を行っている場合に、ユーザ端末3に接続したリーダー装置によりレシートを読み込ませることで、購入した食材の情報をレシピ管理サーバ1に提供することもできる。また実店舗のPOSシステム(Point of sale system)のデータを例えばユーザの会員情報とリンクさせて収集し、購入食材の情報として反映させてもよい。レシピ管理サーバ1は、例えばこれらの手法で取得した購入データを、逐次格納履歴DB53に登録する。
Data is added to the storage history DB 53 by the recipe management server 1 and the EC server 4. For example, the EC server 4 adds purchase data in response to acquiring information on the purchase of ingredients among the information of electronic commerce for each user. In particular, in the present embodiment, regular purchase by the user is assumed. For example, if the user purchases regular food in the market provided by the EC server 4, the information is reflected in the storage history DB 53. Can do.
In addition, when the user uses a cooperative or a food delivery service, since purchase history information for each user is managed by those vendors, for example, the recipe management server 1 receives each user's management terminal from the management terminal of the vendor. The food purchase history information may be acquired and the storage history DB 53 may be updated.
Furthermore, when the user is making a purchase at an actual store, the receipt information is read by the reader device connected to the user terminal 3, so that the information on the purchased ingredients can be provided to the recipe management server 1. Further, data of a POS system (Point of sale system) of an actual store may be collected by linking with user member information, for example, and reflected as purchased food information. For example, the recipe management server 1 sequentially registers purchase data acquired by these methods in the storage history DB 53.

使用データに関しては、ユーザが使用したレシピの推定に基づいて記憶することが考えられる。レシピの「使用」とは、ここではレシピを参照して料理を作ったという意味である。
例えば或る1つのレシピを使用したと推定した場合に、そのレシピで用いられる食材と量を確認し、それらを使用履歴として登録する。
使用したレシピの推定手法としては、次のような例が考えられる。
・ユーザがレシピ詳細ページ(以下、「詳細ページ」と略称することもある)の要求を1回行った場合は、その詳細ページが要求されたレシピを使用したと推定する。レシピ詳細ページとは、食材や実際の調理手順等が記載されているウェブページである。ユーザは一般に、一覧提示されたレシピの中から選んで詳細ページを要求し、閲覧して調理を行う。
・ユーザがレシピ詳細ページの要求を複数のレシピについて行った場合は、最後の要求に係るレシピを使用したと推定する。ユーザは、複数の詳細ページで各レシピの詳しい調理手順等を確認してから作る料理(使用レシピ)を決めることも多い。従って、最後に詳細ページを見たレシピが、各種レシピを確認した上で決めたものと推定することができる。
・ユーザが詳細ページのプリントを行った場合、そのレシピを使用したと推定する。プリントは、実際の調理の際に、調理手順を確認しやすくするためと考えられるためである。
・詳細ページの閲覧時間が或る程度の時間以上、長い場合に、そのレシピの使用と推定する。画面上で詳細ページを見ながら実際の調理を行っていると想定されるためである。
例えば以上のような手法で使用レシピを推定することで、使用データを追加できる。
もちろん、推定以外にも、実際にユーザに使用レシピの入力を求め、それによって使用データを追加してもよい。またユーザが或るレシピに対して調理のレポートや料理の写真を投稿した場合に、上述の推定処理を確定させたり修正してもよい。
Regarding the usage data, it is conceivable to store the usage data based on the estimation of the recipe used by the user. The “use” of the recipe means here that the dish is prepared with reference to the recipe.
For example, when it is estimated that a certain recipe is used, the ingredients and amount used in the recipe are confirmed, and they are registered as a use history.
The following examples can be considered as the recipe estimation method used.
If the user makes a request for a recipe detail page (hereinafter also referred to as “detail page”) once, it is estimated that the detail page used the requested recipe. The recipe detail page is a web page on which ingredients and actual cooking procedures are described. In general, the user selects a recipe from the list of recipes, requests a detailed page, browses, and cooks.
When the user makes a request for a recipe detail page for a plurality of recipes, it is estimated that the recipe related to the last request has been used. In many cases, the user decides a dish (use recipe) to be made after confirming a detailed cooking procedure of each recipe on a plurality of detail pages. Therefore, it can be presumed that the recipe that last viewed the detailed page is determined after confirming various recipes.
-When the user prints a detailed page, it is estimated that the recipe was used. This is because the print is considered to facilitate confirmation of the cooking procedure during actual cooking.
・ If the detailed page viewing time is longer than a certain time, it is estimated that the recipe is used. This is because it is assumed that actual cooking is performed while viewing a detailed page on the screen.
For example, the usage data can be added by estimating the usage recipe by the method described above.
Of course, in addition to the estimation, the user may actually be requested to input the usage recipe, and the usage data may be added accordingly. Further, when the user submits a cooking report or a cooking photo for a certain recipe, the above-described estimation processing may be fixed or corrected.

いずれにしても格納履歴DB53は、ユーザ毎に、食材購入と食材使用の履歴が登録され、現在のユーザの食材在庫が把握できるものとされれば良い。食材在庫の把握は厳しい正確性を要求するものではなく、少なくとも現在ユーザの自宅にある食材の種類と量が大まかにわかればよい。もちろん冷蔵庫やストッカ等とネットワーク通信により連携して、食材在庫が正確にわかるようなシステムを構築してもよい。
なお図5では食材単位で追加データ、使用データが記憶される例を示しているが、特に食材単位で分けることなく、追加データとして食材名、追加日時、追加量が記憶され、使用データとして食材名、使用日時、使用量が逐次記憶されていくような形態でよいことはいうまでもない。
In any case, the storage history DB 53 may be configured so that the history of the purchase and use of ingredients is registered for each user, and the current user's ingredient inventory can be grasped. Grasping the ingredients inventory does not require strict accuracy, but at least the type and amount of ingredients currently in the user's home need only be roughly known. Of course, it is possible to construct a system for accurately knowing the food stock by linking with a refrigerator, stocker, etc. through network communication.
Note that FIG. 5 shows an example in which additional data and usage data are stored in units of ingredients, but the ingredients name, date and time, and additional amount are stored as additional data without being divided in particular ingredients, and the ingredients are used as usage data. Needless to say, the name, date and time of use, and amount used may be stored sequentially.

商品DB54は、ECサーバ4が電子商取引において扱う各種商品の情報が記憶されている。例えば各仮想店舗の商品についての価格、在庫、商品画像等の各種情報が登録されている。   The product DB 54 stores information on various products handled by the EC server 4 in electronic commerce. For example, various types of information such as prices, stocks, product images, and the like for products of each virtual store are registered.

食材DB55はレシピに用いられる食材に関する情報が記憶されるDBである。
図5Bに例を示すが、各食材が、それぞれいくつのレシピで使用されるかをカウントした値が登録されている。レシピ数が多い食材は、各種の料理で使われやすい食材、つまり
汎用性が高い食材と考えられる。
なお図示していないが、食材DB55としては、組み合わせられやすい食材の情報や、各種の料理種別毎に使用されやすい食材の情報を登録しても良い。組み合わせられやすい食材の情報や、料理種別毎で使われやすい食材の情報は、レシピDB50に登録されているレシピに基づいて生成すればよい。例えば「じゃがいも」を対象とした場合に、登録されているレシピの中で、じゃがいもとともに使われている食材のうちで、該当レシピ数が上位となる食材を「組み合わせられやすい食材」と判定して登録すればよい。また使用されやすい食材の情報は、例えば「カレー」については、料理種別(中分類レベル)が「カレー」とされているレシピを収集し、それらの中で各食材の使用頻度(使用しているレシピ数)を確認し、上位となる食材を「使用されやすい食材」と判定すればよい。
もちろん登録されているレシピに限らず、一般的な認識に基づいてこのような情報を生成し、登録しておくものでも良い。
The food DB 55 is a DB that stores information related to food used in the recipe.
Although an example is shown in FIG. 5B, the value which counted how many recipes each foodstuff is used is registered. Ingredients with a large number of recipes are considered to be easily used in various dishes, that is, highly versatile.
Although not shown, the food DB 55 may register information on ingredients that can be easily combined and information on ingredients that are easily used for various types of dishes. Information on ingredients that can be easily combined and information on ingredients that are likely to be used for each type of dish may be generated based on recipes registered in the recipe DB 50. For example, when targeting potatoes, among the registered recipes, the ingredients with the highest number of corresponding recipes are determined as “easy to combine”. Just register. In addition, for information on easy-to-use ingredients, for example, for “curry”, collect recipes whose curry type (medium classification level) is “curry”, and use frequency of each ingredient (use it) The number of recipes) may be confirmed, and the food at the top may be determined as “easy to use”.
Of course, it is not limited to registered recipes, and such information may be generated and registered based on general recognition.

提示設定DB56はユーザ毎に現在設定中のレシピの情報が登録される。
図6に示すように、ユーザIDに対応して、n個の食材グループGP1〜GPn(ユーザ:U001についてはn=7としている)の設定、食材グループ毎に振り分けられた食材の情報、食材グループ毎に対応するレシピの情報が登録される。各食材グループGP1〜GP7に対応しては、ユーザに提示すべき日時の情報も記憶されている。
また提示設定DB56には、そのユーザが実際に使用したレシピを推定するために用いる情報も記憶される。例えば詳細ページの閲覧履歴や印刷等の情報である。一例としては、この推定情報に基づいて、使用レシピが推定され、推定された使用レシピに基づいて、上述の格納履歴DB53において食材の使用データの記憶が行われる。
これらの提示設定DB56に記憶される情報の詳細については後述する。
In the presentation setting DB 56, information on the recipe currently being set is registered for each user.
As shown in FIG. 6, setting of n food groups GP1 to GPn (user: U001 is set to n = 7) corresponding to the user ID, information on the food ingredients distributed for each food ingredient group, food ingredient groups Recipe information corresponding to each is registered. Corresponding to each of the food groups GP1 to GP7, date and time information to be presented to the user is also stored.
The presentation setting DB 56 also stores information used to estimate the recipe that the user actually used. For example, information such as browsing history of detailed pages and printing. As an example, the use recipe is estimated based on the estimation information, and the use data of the food is stored in the above-described storage history DB 53 based on the estimated use recipe.
Details of the information stored in the presentation setting DB 56 will be described later.

以上の各DB(50〜56)は、レシピ管理サーバ1又はECサーバ4がアクセス可能とされていればどのような形態で実現されていてもよい。例えばレシピ管理サーバ1と同一システム内の記憶部に各DB(レシピDB50、ユーザDB51、検索DB52、格納履歴DB53、食材DB55、提示設定DB56)のすべてが形成されていてもよいし、これら各DBの一部又は全部が別体、遠隔地等のコンピュータシステムに設けられていてもよい。もちろん各DBが一つの装置(例えば一つのHDD等)内に形成されている必要はない。また各DBのそれぞれが、それぞれ1つのDBとして構成される必要もない。例えばユーザDB51として記憶される情報が、複数のユーザDB(例えばログイン用のユーザDBと取引用のユーザDBなど)により記憶管理されてもよい。上記した各DBは、実施の形態の処理に関連する情報の記憶部を、それぞれ1つのDBの形態で例示したものに過ぎない。
Each of the above DBs (50 to 56) may be realized in any form as long as the recipe management server 1 or the EC server 4 is accessible. For example, all the DBs (recipe DB 50, user DB 51, search DB 52, storage history DB 53, food DB 55, presentation setting DB 56) may be formed in the storage unit in the same system as the recipe management server 1, or each of these DBs. May be provided in a computer system such as a separate body or a remote place. Of course, each DB does not need to be formed in one device (for example, one HDD). Each DB does not need to be configured as one DB. For example, information stored as the user DB 51 may be stored and managed by a plurality of user DBs (for example, a login user DB and a transaction user DB). Each of the above-described DBs is merely an example of a storage unit for information related to the processing of the embodiment in the form of one DB.

<4.端末とサーバ間の処理の流れ>
レシピ管理サーバ1とユーザ端末3が実行する処理の流れの一例について、図7を参照して説明する。
ここでは、レシピ管理サーバ1が提供する各種サービスを受けるために、ユーザがユーザ端末3を用いてログイン操作を行い、レシピ提供を受ける例を説明する。なお、この図7の流れはあくまで説明上のモデルとなる一例である。実際の処理が必ずしも常にこの順序で行われるわけではない。
<4. Flow of processing between terminal and server>
An example of the flow of processing executed by the recipe management server 1 and the user terminal 3 will be described with reference to FIG.
Here, in order to receive various services provided by the recipe management server 1, an example will be described in which a user performs a login operation using the user terminal 3 and receives a recipe. The flow of FIG. 7 is merely an example that serves as a model for explanation. Actual processing is not always performed in this order.

ユーザ端末3はステップS101において、ユーザによるログイン画面表示操作に応じたログイン画面情報要求処理を実行する。
ログイン画面情報要求処理によりユーザ端末3からレシピ管理サーバ1へログイン画面情報要求が送信されると、レシピ管理サーバ1はステップS201において、ログイン画面情報送信処理を実行する。
これにより、例えば、レシピ管理サーバ1から受信したレシピサイトのログイン画面情報(ウェブページデータ)に応じたウェブページがユーザ端末3上に表示される。
In step S101, the user terminal 3 executes a login screen information request process corresponding to a login screen display operation by the user.
When a login screen information request is transmitted from the user terminal 3 to the recipe management server 1 by the login screen information request process, the recipe management server 1 executes a login screen information transmission process in step S201.
Thereby, for example, a web page corresponding to the login screen information (web page data) of the recipe site received from the recipe management server 1 is displayed on the user terminal 3.

次に、ユーザ端末3はステップS102において、ユーザの入力操作に応じたログイン情報(ユーザIDとログインパスワード)をレシピ管理サーバ1へ送信するログイン情報送信処理を実行する。   Next, in step S <b> 102, the user terminal 3 executes login information transmission processing for transmitting login information (user ID and login password) according to the user's input operation to the recipe management server 1.

ユーザ端末3からレシピ管理サーバ1へログイン情報が送信されると、レシピ管理サーバ1はステップS202において認証処理を実行し、続くステップS203において認証結果通知処理を実行する。
具体的には、レシピ管理サーバ1は、ユーザ端末3上で入力されたユーザIDとパスワードをユーザDB51に記憶された情報と比較して当該ユーザのログイン可否を判定し、当該ログイン可否情報を認証結果としてユーザ端末3へ通知する。
尚、図7に示す一連の流れは、ステップS202の認証処理においてログイン可と判定された場合を示している。ステップS202においてログイン不可と判定した場合は、ユーザ端末3は再度ステップS102の処理を実行し、これに応じてレシピ管理サーバ1はステップS202の処理を実行する。
When the login information is transmitted from the user terminal 3 to the recipe management server 1, the recipe management server 1 executes an authentication process in step S202, and executes an authentication result notification process in the subsequent step S203.
Specifically, the recipe management server 1 compares the user ID and password input on the user terminal 3 with information stored in the user DB 51 to determine whether the user can log in, and authenticates the login permission information. As a result, the user terminal 3 is notified.
Note that a series of flows shown in FIG. 7 shows a case where it is determined that login is possible in the authentication processing in step S202. If it is determined in step S202 that login is not possible, the user terminal 3 executes the process of step S102 again, and the recipe management server 1 executes the process of step S202 accordingly.

ユーザが認証できた場合、レシピ管理サーバ1は、当該ユーザに対して、レシピの提案(推奨レシピの提示)を行う。例えばレシピサイトのトップページにおいて「本日のお勧めレシピ」などとして提示するとよい。もちろん、ユーザが特に推奨レシピを見たいときに要求するウェブページにおいて提示しても良いが、ここではトップページにおいて表示する例で説明していく。
このような推奨レシピ提示を含むトップページを表示させるために、レシピ管理サーバ1はステップS204,S205,S206を行う。
ここでいう推奨レシピは、一般的に評判のいいレシピなどの不特定ユーザへのお勧めレシピではなく、ログインユーザに特化し、そのユーザの食材在庫に基づいて設定した、n回分の推奨レシピのうちの今回分である。
If the user can be authenticated, the recipe management server 1 proposes a recipe (presents a recommended recipe) to the user. For example, it may be presented as “today's recommended recipe” on the top page of the recipe site. Of course, it may be presented on the web page requested when the user wants to see the recommended recipe, but here, an example of displaying on the top page will be described.
In order to display the top page including such recommended recipe presentation, the recipe management server 1 performs steps S204, S205, and S206.
The recommended recipes here are not recommended recipes for unspecified users, such as generally popular recipes, but are recommended recipes for n times that are specific to the logged-in user and set based on the user's food stock. This is our time.

図8で提示する推奨レシピの提示設定の概要を説明する。
例えば或るユーザについて、図示するような食材情報が取得できたとする。これは、当該ユーザについての格納履歴DB53を参照して取得する、ユーザの現在の食材在庫である。例えばユーザが1週間に一度、食材をまとめて購入する生活習慣を有しているとしたときに、食材情報は、購入直後の食材在庫を示す情報と考えればよい。
食材情報として図示する食材F1,F2,F3・・・とは、具体的な食材を表している。例えばF1は「豚肉」、F2は「牛肉」、F3は「じゃがいも」などである。食材情報は、これらの食材の種類とともに、食材の量の情報も有するようにする。
レシピ管理サーバ1は、この食材情報を、n回分の食事に用いることを想定して、n個(図8ではn=7としている)の食材グループGP1〜GPn(GP7)を設定する。n回分の“n”は、レシピを参考にして料理を行う回数であり、具体的にはn回の食事に相当する。例えば1週間に一度食材を購入するユーザが、毎夕食の料理を行うという場合、1週間分の毎日の夕食という意味で、n=7とされる。“n”の値はユーザ毎に、ユーザの事情に応じて設定される。例えば格納履歴DB53の情報から把握できるユーザの購入周期などに基づいて設定される。
An outline of recommended recipe presentation settings presented in FIG. 8 will be described.
For example, assume that food information as illustrated can be acquired for a certain user. This is the user's current food stock obtained by referring to the storage history DB 53 for the user. For example, when the user has a lifestyle habit of purchasing foods once a week, the food information may be considered as information indicating the food stock immediately after purchase.
Ingredients F1, F2, F3... Shown as the ingredient information represent specific ingredients. For example, F1 is “pork”, F2 is “beef”, F3 is “potato”, and the like. The food material information includes information on the amount of the food material together with the types of the food materials.
The recipe management server 1 sets n food groups GP1 to GPn (GP7) assuming that this food material information is used for n meals (n = 7 in FIG. 8). “n” for n times is the number of times of cooking with reference to the recipe, and specifically corresponds to n meals. For example, when a user who purchases ingredients once a week prepares a meal for each dinner, n = 7 in the sense of a daily dinner for one week. The value of “n” is set for each user according to the circumstances of the user. For example, it is set based on the purchase cycle of the user that can be grasped from the information in the storage history DB 53.

この食材グループGP1〜GP7は、食材情報として取得した食材を振り分けてグループ化したものである。
振り分け方としては、1つの手法として、食材単位で振り分けることが考えられる。例えば1つの種類の食材は1つのグループに割り当てるとする。例えば食材F1は600g全部を1つの食材グループに含めるような振り分け手法である。
また単体毎に振り分けてもよい。例えばじゃがいもが3個の場合、食材グループGP1に1個、食材グループGP2に2個などとしてもよい。
もちろん量で分割して振り分けても良い。例えば豚肉が400gある場合に、100gを食材グループGP1に割り当て、300gを食材グループGP2に割り当てるなどである。
また、これらを組み合わせ、或る食材F1は食材単位、食材F2は単体単位、食材F3は量で分割することも考えられる。
図8の例では、食材情報で示される食材F1,F2・・・を、単体毎や量で分割して食材グループGP1〜GP7に振り分けた例を示している。
The food material groups GP1 to GP7 are obtained by sorting food materials acquired as food material information into groups.
As a method of distribution, as one method, it is conceivable to distribute in units of ingredients. For example, it is assumed that one kind of food is assigned to one group. For example, the food F1 is a sorting method that includes all 600 g in one food group.
Moreover, you may distribute for every single unit. For example, when there are three potatoes, the number may be one for the food group GP1 and two for the food group GP2.
Of course, it may be divided by quantity. For example, when there is 400 g of pork, 100 g is assigned to the food group GP1, and 300 g is assigned to the food group GP2.
Moreover, combining these, it is also conceivable that a certain food F1 is divided by a food unit, the food F2 is a single unit, and the food F3 is divided by an amount.
The example of FIG. 8 shows an example in which the ingredients F1, F2,... Indicated by the ingredient information are divided into the ingredient groups GP1 to GP7 after being divided for each unit or amount.

各食材グループGP1〜GP7については、割り当てられた食材で料理が可能なレシピが検索され、それらが食材グループに対応するレシピとして特定される。図では、例えば食材グループGP1の対応レシピとして、レシピRP1,RP5,RP25,RP31,RP45が特定された例を示している。
なお、これら対応レシピとして特定されたレシピは、その食材グループに割り当てられた食材を使い切るものである必要はなく、割り当てられた食材で調理可能であればよい。従って、異なる食材グループに同じレシピが対応することもある。例えば図8においてレシピRP1は食材グループGP1、GP2に対応している。
For each of the food material groups GP1 to GP7, recipes that can be cooked with the assigned food materials are searched, and these are specified as recipes corresponding to the food material groups. In the figure, for example, recipes RP1, RP5, RP25, RP31, and RP45 are specified as corresponding recipes of the food group GP1.
In addition, the recipe specified as these corresponding recipes does not need to use up the foodstuff allocated to the foodstuff group, and should just be able to cook with the foodstuff allocated. Therefore, the same recipe may correspond to different food groups. For example, in FIG. 8, the recipe RP1 corresponds to the food material groups GP1 and GP2.

各食材グループGP1〜GP7に対応するものとして特定されたレシピが、ユーザに対して各回の推奨レシピとして提示するレシピとなる。
例えば当該設定を行った後、当該ログインユーザへの1回目の推奨レシピ提示の際(例えば1月25日(月)の提示)には、例えばトップページの一部において図9Aのようにレシピ提示が行われる。これらは図8に食材グループGP1に対応するものとして示すレシピRP1,RP5,RP25,RP31,RP45についての画像やテキストとなる。
またその後の当該ログインユーザへの2回目の推奨レシピ提示の際(例えば1月26日(火)の提示)には、図9Bのようにレシピ提示が行われる。これらは図8に食材グループGP2に対応するものとして示すレシピRP1,RP15,RP43,RP51,RP61,RP80についての画像やテキストとなる。
Recipes identified as corresponding to the respective food material groups GP1 to GP7 are recipes to be presented as recommended recipes each time to the user.
For example, after the setting is made, when the recommended recipe is presented to the login user for the first time (for example, on January 25 (Monday)), the recipe is presented as shown in FIG. 9A on a part of the top page, for example. Is done. These are images and texts for the recipes RP1, RP5, RP25, RP31, and RP45 shown as corresponding to the food group GP1 in FIG.
In addition, when the recommended recipe is presented to the login user for the second time (for example, presentation on Tuesday, January 26), the recipe is presented as shown in FIG. 9B. These are images and texts for the recipes RP1, RP15, RP43, RP51, RP61, and RP80 shown as corresponding to the food group GP2 in FIG.

図8のように、特定のユーザ毎に、現在の食材在庫に応じて、食材グループGP1〜GPnを設定し、今後n回の食事において推奨提示するレシピを特定することを説明上、「提示設定」と呼ぶ。そしてその設定内容は、図6の提示設定DB56に登録される。つまり例えば食材グループGP1〜GP7とされた食材の情報や、それぞれの対応レシピが登録される。
レシピ管理サーバ1は、このような提示設定の処理を、例えばバッチ処理として所定時間おきに、各ユーザに対応して実行し、各ユーザについて、提示設定を提示設定DB56に登録しておく。
As shown in FIG. 8, for each specific user, according to the current food inventory, the food material groups GP1 to GPn are set, and the recipe to be recommended and presented in the future n meals is specified. " Then, the setting contents are registered in the presentation setting DB 56 of FIG. In other words, for example, information on the ingredients set to the ingredient groups GP1 to GP7 and the corresponding recipes are registered.
The recipe management server 1 executes such a presentation setting process as a batch process, for example, every predetermined time corresponding to each user, and registers the presentation setting in the presentation setting DB 56 for each user.

図7の処理においてレシピ管理サーバ1は、ログインユーザについて図8のような推奨レシピについての提示設定を確認して、提示制御を行うことになる。
ステップS205でレシピ管理サーバ1は、提示設定DB56を参照して、ログインユーザについての提示設定内容を取得する。
ステップS206でレシピ管理サーバ1は、今回、推奨するものとして提示するレシピを特定する。即ち今回が、設定後の2回目の食事の前のタイミング(例えば図6の例での1月26日の夕食前の時間帯)での提示機会であれば、食材グループGP2に対応するレシピRP1,RP15,RP43,RP51,RP61,RP80を推奨提示レシピとして特定する。
そしてステップS206で提示制御を行う。レシピ管理サーバ1は、そのユーザについて今回分のお勧めレシピの表示を組み込んだトップページデータを生成し、そのウェブページデータをユーザ端末3に送信する。
尚、認証結果をユーザ端末3へ返すと共に、レシピサイトのトップページのウェブページデータを送信してもよい。即ち、ログイン認証OKの場合には、ステップS206の段階で、認証結果送信とともにトップページデータの送信を行うものとしてもよい。
In the process of FIG. 7, the recipe management server 1 confirms the presentation setting for the recommended recipe as shown in FIG. 8 for the login user, and performs presentation control.
In step S205, the recipe management server 1 refers to the presentation setting DB 56 and acquires the presentation setting content for the login user.
In step S206, the recipe management server 1 specifies a recipe to be presented as a recommendation this time. That is, if this time is the presentation opportunity at the timing before the second meal after setting (for example, the time before dinner on January 26 in the example of FIG. 6), the recipe RP1 corresponding to the ingredient group GP2 , RP15, RP43, RP51, RP61, RP80 are specified as recommended presentation recipes.
In step S206, presentation control is performed. The recipe management server 1 generates top page data incorporating a display of recommended recipes for this user and transmits the web page data to the user terminal 3.
In addition, while returning an authentication result to the user terminal 3, you may transmit the web page data of the top page of a recipe site. That is, in the case of login authentication OK, the top page data may be transmitted together with the authentication result in the step S206.

以上のレシピ管理サーバ1の処理により、ユーザ端末3では、レシピサイトのトップページが表示される。このときに、トップページの一部には図9Bに示したような今回の推奨レシピの一覧が表示されることになり、ユーザは、その中でレシピを選ぶこととすれば、それは、そのときのユーザの食材在庫で調理可能なレシピとなっている。   The top page of the recipe site is displayed on the user terminal 3 by the processing of the recipe management server 1 described above. At this time, a list of recommended recipes as shown in FIG. 9B is displayed on a part of the top page, and if the user selects a recipe from that list, It is a recipe that can be cooked with the ingredients stock of the user.

ユーザがユーザ端末3上で推奨レシピを閲覧し、任意のレシピを選択する操作を行うと、ユーザ端末3はステップS103において、レシピ選択処理を実行する。即ちユーザ端末3は、ユーザが選択したレシピが何れのレシピであるかを選択レシピ情報としてレシピ管理サーバ1に通知する。尚、この処理は、選択したレシピの詳細情報ページのウェブページデータを要求する処理である。   When the user browses the recommended recipe on the user terminal 3 and performs an operation of selecting an arbitrary recipe, the user terminal 3 executes a recipe selection process in step S103. That is, the user terminal 3 notifies the recipe management server 1 of which recipe the recipe selected by the user is as selected recipe information. This process is a process for requesting web page data of the detailed information page of the selected recipe.

選択レシピ情報を受信したレシピ管理サーバ1は、ステップS207において、レシピの詳細ページの閲覧履歴を提示設定DB56に、使用レシピの推定のための推定情報として記憶する処理を行う。例えば今回、ユーザ“U001”としてのユーザに対して2回目の推奨レシピ提示を行っているのであれば、食材グループGP2に対応した推定情報として、詳細ページの閲覧履歴を記憶する。
そしてレシピ管理サーバ1はステップS208において、選択されたレシピの詳細情報が記載されたウェブページのデータをユーザ端末3に送信する。
この処理によって、ユーザ端末3上に、当該ユーザが選択したレシピに関する詳細情報が提示される。詳細情報とは、例えば、レシピに使用する食材情報や調理手順、調理器具情報などの情報である。他にも、選択されたレシピに対して投稿された作成レポートの情報などを含んでいてもよい。
ユーザは詳細ページを閲覧しながら調理を行うことができるし、もし詳細ページを閲覧して、その料理に気が進まなければ、他の推奨レシピを選択すればよい。その場合もステップS103,S207,S208の処理により、ユーザは選択したレシピの詳細ページの閲覧をすることができる。
In step S207, the recipe management server 1 that has received the selected recipe information performs a process of storing the browsing history of the recipe detail page in the presentation setting DB 56 as estimation information for estimating the used recipe. For example, if the second recommended recipe is presented to the user as the user “U001” this time, the browsing history of the detailed page is stored as the estimation information corresponding to the food group GP2.
In step S208, the recipe management server 1 transmits web page data describing detailed information of the selected recipe to the user terminal 3.
Through this process, detailed information related to the recipe selected by the user is presented on the user terminal 3. The detailed information is, for example, information on the ingredients used for the recipe, cooking procedures, cooking utensil information, and the like. In addition, information on a creation report posted for the selected recipe may be included.
The user can cook while browsing the detailed page, and if he / she does not like the food by browsing the detailed page, he can select another recommended recipe. Also in this case, the user can browse the detailed page of the selected recipe through the processes of steps S103, S207, and S208.

ユーザ端末3上に詳細情報が表示されたレシピに対し、ユーザが使用したことを推定可能な操作を行った場合、利用したことを推定可能な操作に関する情報がレシピ管理サーバ1に対して送信される。
例えば、レシピ使用が推定される操作として、レシピの詳細情報を印刷するための操作を行った場合、ユーザ端末3はステップS104において、印刷操作に関する情報をレシピ管理サーバ1に送信する処理を実行する。印刷操作に関する情報とは、操作を行ったユーザのユーザIDと印刷対象とされたレシピのレシピIDなどである。
印刷操作情報を受信したレシピ管理サーバ1は、ステップS209において、提示設定DB56に使用レシピの推定情報として、レシピの印刷履歴を記憶する。
尚、レシピ使用が推定される操作の他の例としては、例えば、作成レポートの投稿操作や、お気に入りレシピに登録する操作や、レシピ詳細情報の所定時間(例えば、調理時間の8割の時間)以上の閲覧操作などを挙げることができる。
何れの操作も、ユーザによるレシピの使用(即ち実際に調理を行ったこと)が推測される操作である。
When an operation that can be estimated to be used by a user is performed on a recipe whose detailed information is displayed on the user terminal 3, information related to an operation that can be estimated to be used is transmitted to the recipe management server 1. The
For example, when an operation for printing detailed recipe information is performed as an operation for which recipe use is estimated, the user terminal 3 executes a process of transmitting information related to the printing operation to the recipe management server 1 in step S104. . The information regarding the printing operation includes the user ID of the user who performed the operation and the recipe ID of the recipe to be printed.
In step S209, the recipe management server 1 that has received the printing operation information stores the recipe printing history in the presentation setting DB 56 as estimated recipe information to be used.
In addition, as another example of the operation in which recipe use is estimated, for example, a creation report posting operation, an operation of registering in a favorite recipe, or a predetermined time of recipe detailed information (for example, 80% of cooking time) The above browsing operations can be listed.
Any of these operations is an operation in which the use of the recipe by the user (that is, the actual cooking has been performed) is estimated.

<5.第1の実施の形態>
以上は、ユーザ端末3とレシピ管理サーバ1の処理の流れの一例であるが、結局ユーザにとっては、例えば食材の購入間隔に合わせて、次の購入までの料理の回数に応じて、毎回適切な推奨レシピが提示されることになる。
例えばインターネット通販、生活協同組合による一括購入、生鮮食料品配達サービス、週一でのマーケットでの大量購入をしている人などにとっては、次回の購入までの食材の配分も面倒なものであるが、本実施の形態によれば、次の購入までの毎回の食事について、食材が自動的に振り分けられ、かつ振り分けられた状態で調理可能なレシピが毎回提示されることになる。
<5. First Embodiment>
The above is an example of the processing flow of the user terminal 3 and the recipe management server 1, but for the user, it is appropriate for each user according to the number of dishes until the next purchase, for example, in accordance with the purchase interval of the ingredients. A recommended recipe will be presented.
For example, the distribution of ingredients until the next purchase is cumbersome for Internet shopping, bulk purchases by consumer cooperatives, fresh food delivery services, and people who purchase large quantities in the market once a week. According to the present embodiment, for each meal up to the next purchase, ingredients are automatically distributed, and a recipe that can be cooked in the distributed state is presented each time.

このようなサービスを適切に実現するためのレシピ管理サーバ1の処理を説明していく。
まず、以上のようなサービスを実現するには、ユーザ毎に毎回の推奨レシピが特定された提示設定が行われ、図6の提示設定DB56に登録されている状態とすることが望ましい。そこでレシピ管理サーバ1は、例えば毎日午前零時としての24時間おきなどの所定時間毎のバッチ処理として、各ユーザに対して必要に応じて提示設定を行うようにする。
Processing of the recipe management server 1 for appropriately realizing such a service will be described.
First, in order to realize the service as described above, it is desirable that a presentation setting in which a recommended recipe is specified for each user is performed and registered in the presentation setting DB 56 of FIG. Therefore, the recipe management server 1 performs presentation setting as needed for each user as a batch process at predetermined time intervals such as every 24 hours, for example, every day at midnight.

提示設定のためのバッチ処理例を図10に示す。
レシピ管理サーバ1は、例えば本実施の形態のサービスを利用するものとして登録している各ユーザを順次対象にして図10の処理を行う。
レシピ管理サーバ1はまずステップS301で或る一人のユーザを処理対象として選択する。そしてステップS302で当該ユーザの提示設定DB56の登録内容を確認する。この場合は、現在有効な提示設定が登録されているか否かを確認することになる。現在有効であるとは、次回の提示機会に提示すべき推奨レシピが設定されているという意味である。例えば図6のユーザ“U001”の例でいえば、現在が1月25日から1月31日のいずれかであって、まだ最後の食材グループGP7に対応する推奨レシピの提示が行われていない場合は、有効な提示設定があるということになる。
有効な提示設定が存在すれば、今回は当該ユーザについては処理不要とし、ステップS303からS306に進む。そして他に未処理のユーザが残っていれば、ステップS301に戻って、次のユーザに対して処理を行う。
An example of batch processing for presentation setting is shown in FIG.
For example, the recipe management server 1 sequentially performs processing of FIG. 10 for each user registered as using the service of the present embodiment.
The recipe management server 1 first selects a certain user as a processing target in step S301. In step S302, the registered contents of the user's presentation setting DB 56 are confirmed. In this case, it is confirmed whether or not the currently effective presentation setting is registered. “Currently effective” means that a recommended recipe to be presented at the next presentation opportunity is set. For example, in the example of the user “U001” in FIG. 6, the current recipe is between January 25 and January 31, and the recommended recipe corresponding to the last food group GP7 has not yet been presented. In this case, there is an effective presentation setting.
If there is a valid presentation setting, no processing is required for the user this time, and the process proceeds from step S303 to S306. If another unprocessed user remains, the process returns to step S301 to perform processing for the next user.

現在有効な提示設定が存在しない場合は、レシピ管理サーバ1はステップS303からS304に進み、現在が対象のユーザにとっての食材追加タイミング又は提示設定タイミングのいずれかであるかを確認する。
食材追加タイミングとは、例えば定期的な食材購入を行っているユーザについての食材を取得したタイミングであるか否かである。例えばインターネット通販により、毎週日曜日に食材が届けられるユーザについては、その直後のバッチ処理タイミングが、食材追加タイミングとなる。このような食材追加タイミングは、格納履歴DB53を参照して、ユーザの購入周期を確認し、バッチ処理を行っている現在が最新の購入時期の直後であるか否かを判定することによってもよい。
また実際にユーザの格納履歴DB53を参照して、最新の購入データが、前回のバッチ処理以降である場合に、食材追加タイミングと判定してもよい。
また、ユーザが予め提示設定タイミングを指定しておいてもよい。例えば毎週日曜日時点の食材により、月曜から日曜までについての提示設定を行うように予めユーザが指定しておく。その場合、現在が該当のタイミングであれば、設定タイミングであると判定すればよい。
If there is no presently effective presentation setting, the recipe management server 1 proceeds from step S303 to S304, and checks whether the current time is the food addition timing or the presentation setting timing for the target user.
The ingredient addition timing is, for example, whether or not it is the timing at which the ingredients for the user who purchases the ingredients regularly are acquired. For example, for a user whose food is delivered every Sunday by Internet shopping, the batch processing timing immediately after that is the food addition timing. Such a food addition timing may be determined by referring to the storage history DB 53 to check the user's purchase cycle and determine whether the current batch processing is immediately after the latest purchase time. .
In addition, referring to the user's storage history DB 53, when the latest purchase data is after the previous batch process, it may be determined as the food addition timing.
Further, the user may specify the presentation setting timing in advance. For example, the user designates in advance that the presentation setting for Monday through Sunday is made according to the ingredients at every Sunday. In that case, if the present timing is the relevant timing, it may be determined that it is the set timing.

ステップS304で現在が処理対象のユーザにとっての食材追加タイミング又は設定タイミングであればステップS305に進む。
なお、ステップS304の処理は省略して、対象のユーザに現在有効な提示設定が存在しなければ、常にステップS303からS305に進むようにしてもよい。
ステップS304の処理を加えるのは、レシピ管理サーバ1の処理負担の削減などの事情で、提示設定のための最適なタイミングである場合にのみステップS305に進むこととしたい場合でよい。
If it is determined in step S304 that the present time is the food addition timing or setting timing for the user to be processed, the process proceeds to step S305.
Note that the process of step S304 may be omitted, and the process may always proceed from step S303 to S305 if there is no currently valid presentation setting for the target user.
The process of step S304 may be added when it is desired to proceed to step S305 only when it is the optimum timing for the presentation setting due to circumstances such as reduction of the processing load of the recipe management server 1.

ステップS305では、当該ユーザについての提示設定を行う。
そして提示設定を行ったら、ステップS306で残りのユーザを確認し、他に未処理のユーザが残っていれば、ステップS301に戻って、次のユーザに対して処理を行う。
レシピ管理サーバ1は全ユーザに対して処理を終えたら、図10の処理を終える。
In step S305, presentation setting for the user is performed.
When the presentation setting is performed, the remaining users are confirmed in step S306. If there are other unprocessed users, the process returns to step S301 to process the next user.
When the recipe management server 1 finishes the process for all users, the process of FIG. 10 ends.

図10のステップS305の提示設定処理を図11に詳細に示す。レシピ管理サーバ1は主に図2に示した食材情報取得部1a、提供回数特定部1b、食材グループ設定部1c、レシピ特定部1dの機能により図11の提示設定処理を実行する。   The presentation setting process in step S305 of FIG. 10 is shown in detail in FIG. The recipe management server 1 executes the presentation setting process of FIG. 11 mainly by the functions of the ingredient information acquisition unit 1a, the provision number specifying unit 1b, the ingredient group setting unit 1c, and the recipe specifying unit 1d shown in FIG.

或る処理対象のユーザについて提示設定を行う場合は、レシピ管理サーバ1はまず図11のステップS401で、そのユーザの食材情報を取得する。
この食材情報とは、例えば図8に示したような食材の種類と量の情報である。つまり各食材グループGP1〜GPnに振り分ける前の食材の在庫の情報である。
レシピ管理サーバ1は当該ユーザについての格納履歴DB53を参照し、現在、ユーザが所有(在庫)している食材を判定する。例えば各食材について、最新のものから購入データや使用データを溯っていくことで、現在のユーザの在庫量を判定する。図10のステップS304で食材追加タイミングの直後のバッチ処理であると判定されているときは、最新の購入データの情報を集めることとしても良い。
但し、ここで取得する食材の情報は、ユーザが在庫している食材の全てではなく、料理への使用に適した食材であるという条件を課すことが望ましい。例えば、
・食材毎に設定された最小使用量、又は平均使用量以上の在庫量を有する食材
・食材毎に設定された消費期限が期限内の食材
ということを、食材情報に含める条件とする。これらに適しない食材については、食材情報に含めない。このような条件を課すことで、使えない食材を排除して適切なレシピ検索が行えるようになるためである。
When performing presentation setting for a certain processing target user, the recipe management server 1 first acquires the user's food information in step S401 of FIG.
This food material information is, for example, information on the type and amount of food as shown in FIG. That is, it is the information on the stock of the foodstuffs before allocating to each foodstuff group GP1-GPn.
The recipe management server 1 refers to the storage history DB 53 for the user and determines the ingredients currently owned (stocked) by the user. For example, the current user's stock quantity is determined by obtaining purchase data and usage data from the latest foods. When it is determined in step S304 in FIG. 10 that the batch processing is immediately after the food addition timing, information on the latest purchase data may be collected.
However, it is desirable that the information on the ingredients obtained here imposes a condition that the ingredients are suitable for use in cooking, not all the ingredients that the user stocks. For example,
-It is a condition to include in the ingredient information that the minimum usage amount set for each ingredient or the ingredient whose inventory amount is equal to or greater than the average usage quantity is within the deadline. Ingredients that are not suitable for these are not included in the ingredient information. This is because by imposing such conditions, it becomes possible to perform an appropriate recipe search by eliminating unusable ingredients.

続いてステップS402でレシピ管理サーバ1は、格納履歴DB53の情報から食材の追加周期を判定する。例えば処理対象のユーザについては、週1回のペースで食材購入が行われていることが確認されたら、食材追加周期は7日となる。また3日毎に食材購入のデータが存在すれば食材追加周期は3日となる。毎日買い物を行っているユーザであれば食材追加周期は1日である。
もちろんユーザは、常に規則的に食材購入を行っているとは限らないので、例えば最新の食材購入からその前回の食材購入までの間隔を食材追加周期としたり、過去の平均的な購入間隔を算出して食材追加周期としてもよい。
但し、本実施の形態の処理は、食材を週一度まとめて購入するようなユーザを主なサービス対象としているため、食材追加周期は、ある程度安定していることが想定される。
Subsequently, in step S402, the recipe management server 1 determines the addition period of the ingredients from the information in the storage history DB 53. For example, for a user to be processed, if it is confirmed that the purchase of ingredients is performed once a week, the ingredient addition cycle is 7 days. Further, if there is food purchase data every 3 days, the food addition cycle is 3 days. If the user is shopping every day, the food addition period is one day.
Of course, the user does not always purchase food regularly, so for example, the interval from the latest food purchase to the previous food purchase is used as the food addition cycle, or the past average purchase interval is calculated. And it is good also as a foodstuff addition period.
However, since the processing of the present embodiment mainly targets users who purchase foods once a week, the food addition period is assumed to be stable to some extent.

食材追加周期を判定したらレシピ管理サーバ1はステップS403でレシピ提供回数を特定する。上述したn回分の食事のためのレシピ提供を行うとした場合の“n”の値である。レシピ提供については、1日につき3食、2食、1食のいずれを希望するかを、ユーザが予め選択しておけば良い。例えば夕食についてのみレシピ提供サービスを受けたいユーザは、その旨を予め指定しておく。レシピ管理サーバ1は例えばユーザDB51に、そのようなユーザの設定情報を登録しておく。当該ユーザの食材追加周期が7日であれば、レシピ提供回数を7回とすればよい。また、1日2回のレシピ提供を希望するユーザの食材追加周期が5日であれば、レシピ提供回数は10回となる。   When the food addition cycle is determined, the recipe management server 1 specifies the number of times the recipe is provided in step S403. This is the value of “n” when the above-described recipe for n meals is provided. For providing the recipe, the user may select in advance whether he / she wants three meals, two meals, or one meal per day. For example, a user who wants to receive a recipe providing service only for dinner specifies that in advance. For example, the recipe management server 1 registers such user setting information in the user DB 51. If the user's food addition cycle is 7 days, the number of recipes provided may be 7 times. Moreover, if the ingredient addition period of the user who desires to provide a recipe twice a day is 5 days, the number of times the recipe is provided is 10 times.

ステップS404でレシピ管理サーバ1は、食材の振り分け単位の設定を行う。振り分け単位とは、或る食材グループに割り当てる1単位である。
例えば図12Aは食材種別をそのまま振り分け単位とする例である。食材F1〜Fmについて、各食材については分割しないで、食材F1,F2・・・をそれぞれその単位で振り分ける例である。
図12Bは、食材に応じて、分量単位で振り分けるようにする例である。例えば食材F1はF1−1〜F1−4に分割して、4つの食材グループに振り分けるようにする。食材F3はF3−1〜F3−3に分割して、3つの食材グループに振り分けるようにする。
このような振り分けの単位を設定する。振り分けの単位は、毎回ランダムに決定することが考えられる。但し分量単位の場合、その分量は、食材毎に最低量が決められていることが適切となる。
In step S404, the recipe management server 1 sets a food distribution unit. The distribution unit is one unit assigned to a certain food material group.
For example, FIG. 12A is an example in which the food type is used as it is as a distribution unit. In this example, the ingredients F1, F2,... Are not divided into the ingredients F1 to Fm, and the ingredients F1, F2,.
FIG. 12B is an example in which distribution is made in units of quantity according to the foodstuff. For example, the food material F1 is divided into F1-1 to F1-4 and distributed to four food material groups. The food F3 is divided into F3-1 to F3-3 and distributed to three food groups.
A unit for such distribution is set. The distribution unit may be determined at random each time. However, in the case of a unit of quantity, it is appropriate that the minimum quantity is determined for each ingredient.

食材を分量単位で割り当てる場合には、その分量単位は、食材毎に設定された利用量、例えば基準利用量、平均的な利用量、最小利用量などとする例が考えられる。
また利用量は登録されているレシピ情報に基づいて設定することもできる。
さらにユーザの食材の使用履歴に基づいて利用量を特定するようにしてもよい。
また分量単位は、振り分けが必要な数に応じた量としてもよい。
In the case of assigning foods in units of quantity, an example in which the quantity unit is a usage amount set for each food, for example, a reference usage amount, an average usage amount, a minimum usage amount, or the like can be considered.
The usage amount can also be set based on registered recipe information.
Furthermore, the usage amount may be specified based on the user's food history.
The quantity unit may be an amount corresponding to the number that needs to be sorted.

ステップS405でレシピ管理サーバ1は、レシピ提供回数の値を変数nに代入する。変数nは、食材グループGP1〜GP(n)として、設定する食材グループの数を決める値となる。
またステップS406でレシピ管理サーバ1は振り分け条件を選択する。振り分け条件とは、食材グループGP1〜GP(n)に振り分け単位の食材を振り分ける際の振り分け方を規定する各種条件のことを総称している。
例えば振り分け処理のアルゴリズムとして、
・ランダム振り分け
・食材使用頻度(汎用性)を考慮した振り分け
・消費期限を考慮した振り分け(消費期限までの期間が短いものを、推奨レシピが早く提示される食材グループに入れるようなアルゴリズム)
・食材種別を考慮した振り分け(例えば鮮度の落ち具合が早い食材を、推奨レシピが早く提示される食材グループに入れるようなアルゴリズム)
・全食材グループに葉物野菜を含めるアルゴリズム
・肉類と魚類を交互に振り分けるアルゴリズム
などがある。
例えばこれらのような振り分けアルゴリズムを複数用意しておき、ステップS406では今回実行する処理を選択するようにする。これは特にユーザ個人に対応するものではなく、どのアルゴリズムを用いるかは毎回不規則に選択するとよい。それによって食材グループGP1〜GPnに割り当てられる食材の組み合わせも多様化するためである。つまり同じような食材を毎回購入するようなユーザに対しても、多様なレシピ提示を行う可能性を高めることができるためである。
なお振り分け処理のアルゴリズム以外にも、例えば振り分ける食材の最小分量、振り分け単位の選択、振り分ける順序が優先される食材の設定なども、振り分け条件の1つとすることができる。
In step S405, the recipe management server 1 substitutes the value of the number of times of providing recipes into the variable n. The variable n is a value that determines the number of food groups to be set as the food material groups GP1 to GP (n).
In step S406, the recipe management server 1 selects a distribution condition. The distribution condition is a collective term for various conditions that define how to distribute the food in the distribution unit to the food groups GP1 to GP (n).
For example, as an algorithm for distribution processing,
・ Random distribution ・ Distribution considering the frequency of use of ingredients (general versatility) ・ Distribution considering the expiry date (algorithm that puts a short period until the expiry date into an ingredient group where recommended recipes are presented earlier)
・ Distribution taking into account the type of ingredients (for example, an algorithm that puts ingredients with a low freshness in an ingredient group where recommended recipes are presented quickly)
・ Algorithms that include leafy vegetables in all food groups ・ Algorithms that distribute meat and fish alternately
For example, a plurality of sorting algorithms such as these are prepared, and a process to be executed this time is selected in step S406. This does not correspond to individual users, and it is preferable to select which algorithm to use irregularly every time. This is because the combinations of ingredients allocated to the ingredient groups GP1 to GPn are also diversified. In other words, it is possible to increase the possibility of presenting various recipes to users who purchase similar foods every time.
In addition to the algorithm of the sorting process, for example, the minimum amount of food to be sorted, selection of a sorting unit, setting of a food that gives priority to the sorting order, and the like can be one of the sorting conditions.

ステップS407でレシピ管理サーバ1は、実際の振り分け処理を行って、食材グループGP1〜GPnを設定する。即ちステップS406で選択した振り分けアルゴリズムを用いて、食材情報で示される食材について、ステップS404で設定した振り分け単位で、n個のグループに振り分けを行う。
振り分けアルゴリズムは上記のように各種考えられるが、ここでは食材の汎用性を考慮した振り分け処理の一例を示しておく。
In step S407, the recipe management server 1 performs an actual distribution process and sets the food material groups GP1 to GPn. In other words, using the sorting algorithm selected in step S406, the ingredients indicated by the ingredient information are sorted into n groups in the sorting unit set in step S404.
Various distribution algorithms can be considered as described above. Here, an example of a distribution process in consideration of the versatility of foods will be described.

今、仮に、食材F1,F2・・・Fmが、この数字の順序で汎用性が高いものであるとする。汎用性が高いとは、多くのレシピで使用されているという意味である。レシピ管理サーバ1は食材DB55を参照することで、食材情報に挙げられた各食材の汎用性の高い順序を判別することができる。
図13では、n=7として、汎用性を考慮した振り分けの例を示している。最も汎用性が高い食材F1が、4つのグループに振り分けるように振り分け単位設定されている場合、例えば7個の食材グループGP1〜GP7のうちの4つに食材F1を割り当てる。ここでは一つおきの食材グループGP1,GP3,GP5,GP7に割り当てている。
なお、本実施の形態では食材グループGP1〜GPnは、その数字の順番が提示順として説明している。従って、一つおきの食材グループに、食材F1を割り当てるということは。食材F1を用いる料理のレシピが、連続してユーザに提示されることはないということになる。
Now, suppose that foodstuffs F1, F2,... Fm are highly versatile in this numerical order. High versatility means that it is used in many recipes. The recipe management server 1 can discriminate the highly versatile order of the ingredients listed in the ingredient information by referring to the ingredient DB 55.
FIG. 13 shows an example of distribution in consideration of versatility with n = 7. In the case where the distribution unit is set so that the most versatile food F1 is distributed to four groups, for example, the food F1 is allocated to four of the seven food groups GP1 to GP7. Here, it is assigned to every other food group GP1, GP3, GP5, GP7.
In addition, in this Embodiment, as for the foodstuff group GP1-GPn, the order of the number is demonstrated as a presentation order. Therefore, assigning food F1 to every other food group. This means that cooking recipes using the ingredients F1 are not continuously presented to the user.

次に2番目に汎用性が高い食材F2を、まだ食材割り当てのない食材グループGP2に割り当てる。
さらに3番目に汎用性が高い食材F3は、3つのグループに振り分けるように振り分け単位設定されている場合、まず食材割り当てがない食材グループGP4,GP6に割り当てる。ここまでの割り当てで、比較的汎用性が高い食材が、全ての食材グループに含まれたことになる。そこで、残りの食材F3の一部及び食材F4〜Fmを順次、例えば図13に示すように割り当てていく。
図14はこのような汎用性を考慮した振り分け処理を示している。
レシピ管理サーバ1はまずステップS501で汎用性1位食材を割り当てる。この時点で、ステップS511で全食材グループGP1〜GPnが1以上の食材を含むものとなったか否かを確認する。まだ食材割り当てのない食材グループが存在する場合、次にレシピ管理サーバ1はステップS502で汎用性2位食材を、食材無しのグループに割り当てる。そしてステップS512で全食材グループGP1〜GPnが1以上の食材を含むものとなったか否かを確認する。まだ食材割り当てのない食材グループが存在する場合、次にレシピ管理サーバ1はステップS503で汎用性3位食材を、食材無しのグループに割り当てる。そしてステップS513で全食材グループGP1〜GPnが1以上の食材を含むものとなったか否かを確認する。
Next, the food F2 having the second highest versatility is assigned to the food group GP2 that has not yet been assigned food.
Furthermore, when the allocation unit is set so that the third most versatile ingredient F3 is assigned to three groups, the ingredient F3 is first assigned to the ingredient groups GP4 and GP6 to which no ingredient is assigned. With the assignments so far, ingredients with relatively high versatility are included in all the ingredient groups. Therefore, a part of the remaining food material F3 and the food materials F4 to Fm are sequentially allocated, for example, as shown in FIG.
FIG. 14 shows a sorting process considering such versatility.
First, the recipe management server 1 assigns the first versatile food in step S501. At this time, it is confirmed whether or not all the food material groups GP1 to GPn include one or more food materials in step S511. If there is an ingredient group that has not yet been assigned an ingredient, the recipe management server 1 assigns the second versatile ingredient to the group without the ingredient in step S502. In step S512, it is confirmed whether or not all of the food groups GP1 to GPn include one or more foods. If there is an ingredient group that has not yet been assigned an ingredient, the recipe management server 1 assigns the versatile third-rank ingredient to the group without an ingredient in step S503. In step S513, it is confirmed whether or not all of the food groups GP1 to GPn include one or more foods.

以上のように、全食材グループGP1〜GPnが1以上の食材を含むまで、汎用性が高い順に食材の割り当てを行っていく。
そして全食材グループGP1〜GPnが1以上の食材を含む状態となったら、ステップS520に進み、未割り当ての食材を選択して、或る食材グループに割り当てる。これをステップS521で全食材の振り分けが完了したとされるまで繰り返す。全食材F1〜Fmについて割り当てを行った時点で食材グループGP1〜GPnへの食材の振り分けが完了する。
なお、ステップS50mで汎用性m位、つまり最も汎用性のない食材を割り当てても、全食材グループGP1〜GPnが1以上の食材を含むものとならなかった場合は、振り分ける食材の数(振り分け単位で数えた数)よりも食材グループ数(n)が多い場合である。このような場合は、適切な振り分けが不可能であるため、ステップS51mからステップS530のエラー処理に進む。この場合については図示していないが、図17のステップS404の食材の振り分け設定をやり直すか、或いは図16における当該ユーザについての処理として提示設定エラーとして終了させることが考えられる。
As described above, the ingredients are assigned in descending order of versatility until all the ingredient groups GP1 to GPn include one or more ingredients.
When all the food groups GP1 to GPn include one or more foods, the process proceeds to step S520, where unassigned foods are selected and assigned to a certain food group. This is repeated until it is determined in step S521 that all ingredients have been allocated. When all the ingredients F1 to Fm are assigned, the assignment of the ingredients to the ingredient groups GP1 to GPn is completed.
In addition, even if the most versatile ingredients are assigned in step S50m, that is, even if the least versatile ingredients are allocated, if all the ingredient groups GP1 to GPn do not include one or more ingredients, the number of ingredients to be distributed (distribution unit) This is a case where the number of food groups (n) is larger than the number counted in (1). In such a case, since appropriate distribution is impossible, the process proceeds from step S51m to error processing in step S530. Although not shown in this case, it is conceivable to redo the food material allocation setting in step S404 in FIG. 17 or to end as a presentation setting error as the process for the user in FIG.

以上の図14のような処理により、汎用性が高い食材が各食材グループGP1〜GP7にまんべんなく振り分けられる。これは、各食材グループGP1〜GP7に対応するレシピ数を増加させる効果を生ずる。   By the processing as shown in FIG. 14 described above, foods having high versatility are distributed evenly to the food material groups GP1 to GP7. This produces an effect of increasing the number of recipes corresponding to each of the food material groups GP1 to GP7.

なお、著しく汎用性の低い食材、つまりレシピに登場することが極めてまれな食材というものもある。食材DB55においてレシピ数が極端に少ない食材である。
そのような食材については、各食材グループGP1〜GPnのうちの複数に振り分けることで、その食材を用いたレシピを抽出しやすくすることも考えられる。
例えば食材Fxが、汎用性が極めて低い食材とする。この食材Fxを用いるレシピRPxは、食材F1、F5、Fxを用いるとする。すると、食材Fxを各グループに割り当てることで、食材F1,F5を有するグループが発生する確率を高くでき、レシピRPxを抽出できる可能性を高めることができる。
In addition, there are also ingredients with extremely low versatility, that is, ingredients that are very rare to appear in recipes. In the food DB 55, the number of recipes is extremely small.
About such a foodstuff, it is also considered that it is easy to extract a recipe using the foodstuff by distributing it to a plurality of foodstuff groups GP1 to GPn.
For example, the food Fx is a food having extremely low versatility. It is assumed that the recipes RPx using the ingredients Fx use the ingredients F1, F5, and Fx. Then, by assigning the foodstuff Fx to each group, the probability that a group having the foodstuffs F1 and F5 is generated can be increased, and the possibility that the recipe RPx can be extracted can be increased.

以上は食材グループGP1〜GPnへの食材の振り分け処理の一例である。上述した各種アルゴリズムにより多様な振り分け処理が想定される。
このステップS407により、例えば図8に示したように食材が振り分けられた食材グループGP1〜GPnが設定されることになる。
The above is an example of the distribution process of the foodstuff to foodstuff groups GP1-GPn. Various distribution processes are assumed by the various algorithms described above.
By this step S407, for example, as shown in FIG. 8, the food material groups GP1 to GPn to which the food materials are distributed are set.

食材グループGP1〜GPnを設定したら、続いてレシピ管理サーバ1はステップS408〜S412により、各食材グループGP1〜GPnに対応するレシピを特定する処理を行う。
レシピ管理サーバ1はまずステップS408で変数x=1とする。変数xは処理対象の食材グループを指定する変数である。
When the food material groups GP1 to GPn are set, the recipe management server 1 subsequently performs a process of specifying recipes corresponding to the food material groups GP1 to GPn in steps S408 to S412.
First, the recipe management server 1 sets variable x = 1 in step S408. A variable x is a variable for designating a processing target food group.

次にレシピ管理サーバ1はステップS409で、食材グループGP(x)についてレシピ検索を行う。これは食材グループGP(x)に割り当てられた食材を検索キーとして、レシピDB50を検索し、その食材の範囲で調理が可能なレシピを抽出する処理となる。なお、食材グループGP(x)に割り当てられた食材を全て使うレシピである必要はなく、その割り当てられた食材の範囲内で調理可能なレシピであればよい。
もちろん、割り当てられた食材を使い切るようなレシピを抽出することも考えられる。
但し、食材の種別や賞味期限の事情によっては検索条件を変更することが望ましい。例えば食材グループ内で、肉や魚など、賞味期限までが短い食材が含まれている場合、必ずその食材が使用されるようなレシピに絞って抽出するという処理を行うとよい。
Next, the recipe management server 1 performs a recipe search for the food group GP (x) in step S409. This is a process of searching the recipe DB 50 using the ingredients assigned to the ingredient group GP (x) as search keys and extracting recipes that can be cooked within the range of the ingredients. Note that it is not necessary for the recipe to use all the ingredients assigned to the ingredient group GP (x), and any recipe that can be cooked within the range of the assigned ingredients can be used.
Of course, it is also possible to extract recipes that use up the allocated food.
However, it is desirable to change the search conditions depending on the type of food and the expiration date. For example, in a food group, when a food material such as meat or fish that has a short expiration date is included, it is preferable to perform a process of extracting only a recipe that uses the food material.

最初は変数x=1であるため、レシピ管理サーバ1はまずステップS409で食材グループGP1についてレシピ検索を行う。そしてステップS410で、検索結果として抽出された1又は複数のレシピを食材グループGP1に対応するレシピとして特定する。   Initially, since the variable x = 1, the recipe management server 1 first performs a recipe search for the food group GP1 in step S409. In step S410, one or a plurality of recipes extracted as search results are specified as recipes corresponding to the food group GP1.

ステップS411では変数xが変数nに達しているか否かを確認し、達していなければステップS412に進む。つまり全食材グループGP1〜GPnについてレシピ特定の処理を終了していなければ、ステップS412で変数xをインクリメントしてステップS409に戻る。従って次に食材グループGP2について同様に対応するレシピの特定を行う。
このような処理を全食材グループGP1〜GPnについて実行することで、図8に示すように、各食材グループGP1〜GPnにそれぞれ対応するレシピが特定されたことになる。
In step S411, it is confirmed whether or not the variable x has reached the variable n. If not, the process proceeds to step S412. That is, if the recipe specifying process has not been completed for all the food material groups GP1 to GPn, the variable x is incremented in step S412 and the process returns to step S409. Therefore, next, the corresponding recipe is similarly identified for the food group GP2.
By executing such processing for all the food material groups GP1 to GPn, recipes respectively corresponding to the food material groups GP1 to GPn are specified as shown in FIG.

変数xが変数nに達した時点で、食材グループGP1〜GPnにそれぞれ対応するレシピが特定されたことになり、レシピ管理サーバ1はステップS411からS413に進んで数量条件チェックを行う。
数量条件チェックとは、例えば各食材グループGP1〜GPnについて特定されたレシピの数または料理種別が、ある程度均等化されているか否かをチェックする処理である。或いは、毎回、ある程度十分な選択肢を確保できているか否かをチェックする処理としてもよい。
When the variable x reaches the variable n, the recipes respectively corresponding to the food material groups GP1 to GPn are specified, and the recipe management server 1 proceeds from step S411 to S413 and performs a quantity condition check.
The quantity condition check is a process for checking, for example, whether the number of recipes or the type of recipe specified for each food group GP1 to GPn is equalized to some extent. Alternatively, it may be a process for checking whether or not a certain number of sufficient options can be secured each time.

本実施の形態では、n回分のレシピ提供機会に分けて、推奨するレシピを提案するわけであるが、毎回、ユーザに多様なレシピを提案できると良い。例えば1回目は20個のレシピを提案し、2回目は1個のレシピを提案するというような状態では、ユーザにとっての満足度が低下することが想定される。毎回ある程度多様なレシピを選ぶことができつつ、n回先までの食事が在庫食材でまかなえるようにするものであることで、ユーザが本サービスを利用する満足度が上昇すると考えられる。
そこで、各食材グループGP1〜GPnのそれぞれに対応するレシピの数や種類が、あまり偏っていないか、もしくは少なすぎる回がないかをチェックする。
In the present embodiment, the recommended recipes are proposed in n recipe providing opportunities, but it is preferable that various recipes can be proposed to the user each time. For example, in a state where 20 recipes are proposed at the first time and one recipe is proposed at the second time, it is assumed that the satisfaction level for the user is lowered. It is considered that the user's satisfaction with using this service is increased by making it possible to select a variety of recipes each time and making the food up to n times ahead with stock ingredients.
Therefore, it is checked whether the number and type of recipes corresponding to each of the food groups GP1 to GPn are not too biased or there are too few times.

この数量条件チェックの処理例として、レシピ数又は料理種別の均等化を条件とする例を図15A、図15Bで説明する。
まず図15Aはレシピ数が略均等であるか否かをチェックする処理例である。
図15Aの処理例では、レシピ管理サーバ1はステップS600で食材グループGP1〜GPnのそれぞれについて対応するものとされたレシピの数を、レシピ数NR1〜NRnとして取得する。
レシピ数NR1はステップS410で食材グループGP1に対応するとされたレシピの数であり、図8の例でいえばNR1=5である。
レシピ数NR2はステップS410で食材グループGP2に対応するとされたレシピの数であり、図8の例でいえばNR1=6である。
As an example of the processing for the quantity condition check, an example in which the number of recipes or the type of dish is equalized will be described with reference to FIGS. 15A and 15B.
First, FIG. 15A is a processing example for checking whether or not the number of recipes is substantially equal.
In the processing example of FIG. 15A, the recipe management server 1 acquires the number of recipes corresponding to each of the food material groups GP1 to GPn in step S600 as the number of recipes NR1 to NRn.
The number of recipes NR1 is the number of recipes determined to correspond to the food group GP1 in step S410. In the example of FIG. 8, NR1 = 5.
The number of recipes NR2 is the number of recipes determined to correspond to the food group GP2 in step S410. In the example of FIG. 8, NR1 = 6.

次にステップS601でレシピ管理サーバ1は、条件判定のための閾値thNRの設定を行う。この閾値thNRは固定値とすることも考えられるが、可変値とすることも適切である。ここでは、食材グループGP1〜GPnの数“n”に応じた値に設定するものとする。例えば食材グループ数nが多いほど厳しい値(閾値thNRを小さい値)とし、食材グループ数nが小さい少ないほど緩い値(閾値thNRを大きい値)とすることが考えられる。   In step S601, the recipe management server 1 sets a threshold thNR for condition determination. The threshold thNR may be a fixed value, but may be a variable value. Here, it is assumed that the value is set according to the number “n” of the food material groups GP1 to GPn. For example, it is conceivable that the greater the number n of food groups, the stricter value (threshold value thNR) is, and the smaller the number of food groups n, the lower the value (threshold value thNR).

次にステップS602でレシピ管理サーバ1は、レシピ数NR1〜NRnの内で、最大値を変数NRmaxに代入し、最小値を変数NRminに代入する。そしてステップS603で、NRmax−NRminの演算で差分値ΔNRを求める。
ステップS604でレシピ管理サーバ1は、差分値ΔNRを、所定の閾値thNRと比較する。そしてΔNR≦thRNであれば、各回に提示するレシピ数が略均等であるためステップS605で数量条件OKとし、ΔNR≦thRNでなければステップS606で非均等であるため数量条件を満たしていないと判定する。
つまり差分値ΔNRが閾値thNRより大きい場合は、提案するレシピ数が一番多い回と一番少ない回の差が大きいため、望ましい状態ではないとする。そして各回のレシピ数の差がある程度小さければ、略均等であると判定するものである。
また食材グループ数nが多い場合ほど、食材の種類数の差が顕著になり、レシピ数のばらつきが多くなり、結果としてレシピ数が不均一になりやすいことが想定される。そこで上述のように閾値thNRを食材グループ数nに応じて設定することで、より均等な状況が維持されやすくするようにしている。
In step S602, the recipe management server 1 substitutes the maximum value for the variable NRmax and the minimum value for the variable NRmin among the recipe numbers NR1 to NRn. In step S603, a difference value ΔNR is obtained by calculating NRmax−NRmin.
In step S604, the recipe management server 1 compares the difference value ΔNR with a predetermined threshold thNR. If ΔNR ≦ thRN, the number of recipes to be presented each time is substantially equal, so the quantity condition is OK in step S605. To do.
That is, when the difference value ΔNR is larger than the threshold thNR, the difference between the number of proposed recipes with the largest number of recipes and the number of times with the least number of recipes is large, so it is not desirable. If the difference in the number of recipes at each time is small to some extent, it is determined that they are substantially equal.
Further, it is assumed that the greater the number n of food groups, the more the difference in the number of types of foods becomes, and the variation in the number of recipes increases. As a result, the number of recipes tends to be uneven. Therefore, as described above, the threshold value thNR is set according to the number n of food groups so that a more uniform situation can be easily maintained.

なお閾値thNRは、対応するとされたレシピ数の総数に応じて可変とされるものとしてもよい。
例えば対応レシピ総数GNR=NR1+NR2+・・・+NRnとし、閾値thNRは、thNR=(GNR/n)×kとする。k=0.3とすれば、1回に提示する平均レシピ数の3割を越える差がある場合に、略均等ではないと判定することになる。
もちろん閾値thNRは固定値でもよい。
Note that the threshold thNR may be variable according to the total number of recipes to be handled.
For example, the total number of corresponding recipes is GNR = NR1 + NR2 +... + NRn, and the threshold thNR is thNR = (GNR / n) × k. If k = 0.3, when there is a difference exceeding 30% of the average number of recipes presented at one time, it is determined that the number is not substantially equal.
Of course, the threshold thNR may be a fixed value.

このようなレシピ数の均等をチェックする数量条件チェックの手法としては、他にも考えられる。例えば提示するレシピ数の平均値に対して所定以上の差がある回の有無を調べて、存在したら非均等であると判定しても良い。   There are other possible methods for checking the quantity condition for checking the uniformity of the number of recipes. For example, the presence / absence of a difference having a predetermined difference or more with respect to the average value of the number of recipes to be presented may be checked, and if it exists, it may be determined to be non-uniform.

図15Bは、各食材グループGP1〜GPnに対応するレシピの料理種別の種類数が略均等化することを条件とする例である。
レシピ管理サーバ1は、ステップS620で料理種別のレベルを設定する。料理種別のレベルとは、例えば上述した大分類レベル、中分類レベル、細分類レベルの別である。
このステップS620での料理種別のレベルの設定は、固定的でもよいし、ユーザが指定したレベルでもよい。またユーザの嗜好に応じたレベル設定や、各食材グループGP1〜GPnについて特定された対応レシピに応じたレベル設定でもよい。
固定的なレベル設定とは、ステップS620で設定されるレベルが「日本料理」「中華料理」というような大分類レベルに固定するとか、「カレー」「ハンバーグ」という中分類レベルに固定する例である。毎回、ランダムに大分類、中分類、細分類を選択するという例も考えられる。
ユーザに応じたレベル設定とは、当該処理対象としているユーザのレシピ閲覧履歴、レシピ投稿履歴などに基づいて、そのユーザに合わせたレベルを用いるとする例である。例えば多様な料理のレシピを使用したり、検索したり、投稿しているユーザについてステップS620で大分類レベル或いは中分類レベルを設定する。一方、常にカレーレシピの閲覧や投稿を行っているようなユーザに対しては「ビーフカレー」「チキンカレー」といったような、「カレー」の下の階層の細分類レベルを設定する。これによりユーザのレシピ検索の傾向に合わせた料理種別の数の判定が可能となる。
各食材グループGP1〜GPnについて特定された対応レシピに応じたレベル設定とは、対応レシピとされた各レシピの料理種別の存在傾向に応じて種別レベルを設定する例である。例えば各食材グループGP1〜GPnに対応するとされた全ての対応レシピにおいて大分類レベルで複数の料理種別が含まれていたら大分類レベルとしたり、中分類レベルが1種類しかなければ細分類レベルに設定するなどの例である。ユーザの食材購入傾向によっては、対応レシピが或る大分類レベルの料理(例えばベトナム料理)に偏る場合もあり、逆にそれは、そのユーザが、頻繁にベトナム料理を食べるため、それに合った食材を購入していると考えられるためである。そのような場合、ベトナム料理下での中分類レベルが料理種別のレベルとして好適となる。
FIG. 15B is an example on condition that the number of types of recipes of recipes corresponding to each of the food groups GP1 to GPn is substantially equalized.
The recipe management server 1 sets the level of the dish type in step S620. The dish type level is, for example, the above-described major classification level, middle classification level, or fine classification level.
The setting of the level of the dish type in step S620 may be fixed or may be a level designated by the user. Moreover, the level setting according to a user's preference and the level setting according to the corresponding recipe specified about each foodstuff group GP1-GPn may be sufficient.
The fixed level setting is an example in which the level set in step S620 is fixed to a large classification level such as “Japanese cuisine” or “Chinese cuisine”, or is fixed to a middle classification level “curry” or “hamburg”. is there. An example of randomly selecting a large classification, a medium classification, or a fine classification every time is also conceivable.
The level setting according to the user is an example in which a level suited to the user is used based on the recipe browsing history, recipe posting history, and the like of the user to be processed. For example, a large classification level or a medium classification level is set in step S620 for a user who uses, searches, or posts various cooking recipes. On the other hand, for a user who always browses and posts curry recipes, a sub-category level below “curry” such as “beef curry” and “chicken curry” is set. This makes it possible to determine the number of types of dishes according to the user's recipe search tendency.
The level setting according to the corresponding recipe specified for each of the food material groups GP1 to GPn is an example in which the type level is set according to the presence tendency of the cooking type of each recipe set as the corresponding recipe. For example, if all of the corresponding recipes that are supposed to correspond to each of the food groups GP1 to GPn include a large classification level and a plurality of types of dishes are included, the major classification level is set, or if there is only one middle classification level, the fine classification level is set. This is an example. Depending on the user's tendency to purchase ingredients, the corresponding recipe may be biased towards a certain large level of cuisine (for example, Vietnamese cuisine), and conversely, because the user frequently eats Vietnamese cuisine, It is because it is thought that it has purchased. In such a case, the middle classification level under Vietnamese cuisine is suitable as the level of the cuisine type.

ステップS621でレシピ管理サーバ1は、食材グループGP1〜GPnのそれぞれの対応レシピについて、料理種別の情報を取得する。この場合の料理種別の情報はステップS620で選択した種別レベルに相当する情報でよい。
そしてレシピ管理サーバ1はステップS622で、食材グループGP1〜GPnのそれぞれに対応するものとされたレシピにおける料理種別の数をカウントし、料理種別数VNR1〜VNRnとする。
料理種別数VNR1はステップS410で食材グループGP1に対応するとされたレシピのグループ内の料理種別の数である。料理種別数VNR2はステップS410で食材グループGP2に対応するとされたレシピのグループ内の料理種別の数である。
In step S621, the recipe management server 1 acquires dish type information for each corresponding recipe of the food material groups GP1 to GPn. In this case, the dish type information may be information corresponding to the type level selected in step S620.
In step S622, the recipe management server 1 counts the number of cooking types in the recipe corresponding to each of the food material groups GP1 to GPn, and sets the number of cooking types as VNR1 to VNRn.
The number of cooking types VNR1 is the number of cooking types in the recipe group determined to correspond to the food group GP1 in step S410. The number of cooking types VNR2 is the number of cooking types in the recipe group determined to correspond to the food group GP2 in step S410.

ステップS623でレシピ管理サーバ1は、条件判定のための閾値thVNRの設定を行う。この閾値thVNRは固定値とすることも考えられるが、可変値とすることも適切である。ここでは、食材グループGP1〜GPnの数“n”に応じた値に設定するものとする。例えば食材グループ数nが多いほど厳しい値(閾値thVNRを小さい値)とし、食材グループ数nが小さい少ないほど緩い値(閾値thVNRを大きい値)とすることが考えられる。   In step S623, the recipe management server 1 sets a threshold thVNR for condition determination. The threshold thVNR may be a fixed value, but may be a variable value. Here, it is assumed that the value is set according to the number “n” of the food material groups GP1 to GPn. For example, it is conceivable that the greater the number n of food groups, the more severe the value (threshold value thVNR), and the smaller the number of food groups n, the lower the value (threshold value thVNR).

次にステップS624でレシピ管理サーバ1は、料理種別数VNR1〜VNRnの内で、最大値を変数VNRmaxに代入し、最小値を変数VNRminに代入する。そしてステップS625で、VNRmax−VNRminの演算で差分値ΔVNRを求める。
ステップS626でレシピ管理サーバ1は、差分値ΔVNRを、所定の閾値thVNRと比較する。そしてΔVNR≦thVRNであれば、各回に提示するレシピの料理種別の種類数が略均等であるためステップS627で数量条件OKとし、ΔVNR≦thVRNでなければステップS628で非均等であるため数量条件を満たしていないと判定する。
つまり差分値ΔVNRが閾値thNRより大きい場合は、1回の提案にかかるレシピの料理種別の数が一番多い回と一番少ない回の差が大きいため、望ましい状態ではないとする。そして各回のレシピの料理種別数の差がある程度小さければ、略均等であると判定するものである。
また食材グループ数nが多い場合ほど、料理種別数の偏りが不均一になりやすいことが想定されるため、上述のように閾値thVNRを食材グループ数nに応じて設定することで、より均等な状況が維持されやすくするようにしている。
In step S624, the recipe management server 1 substitutes the maximum value for the variable VNRmax and the minimum value for the variable VNRmin among the number of types of dishes VNR1 to VNRn. In step S625, a difference value ΔVNR is obtained by calculating VNRmax−VNRmin.
In step S626, the recipe management server 1 compares the difference value ΔVNR with a predetermined threshold thVNR. If ΔVNR ≦ thVRN, the number of types of recipes presented in each recipe is substantially equal, so the quantity condition is OK in step S627. If ΔVNR ≦ thVRN, the quantity condition is non-uniform in step S628. Judge that it does not meet.
That is, when the difference value ΔVNR is larger than the threshold thNR, it is not desirable because the difference between the number of cooking types of the recipe for one proposal is the largest and the number of times is the smallest. If the difference in the number of types of recipes in each recipe is small to some extent, it is determined that the recipes are substantially equal.
Further, since it is assumed that the number of types of cooking tends to be uneven as the number of food groups n increases, setting the threshold thVNR according to the number of food groups n as described above makes it more uniform. We try to make the situation easier to maintain.

なお閾値thVNRは、対応するとされた全レシピにおける料理種別の種別数に応じて可変されるようにしてもよい。
例えば料理種別の数をGVNRとしたときに、閾値thVNRは、thVNR=(GVNR/n)×kとする。k=0.3とすれば、1回に提示するレシピにおける料理種別の数の3割を越える差がある場合に、略均等ではないと判定することになる。
もちろん閾値thVNRは固定値でもよい。
Note that the threshold thVNR may be varied according to the number of types of dishes in all recipes that are to be handled.
For example, when the number of types of dishes is GVNR, the threshold thVNR is set to thVNR = (GVNR / n) × k. If k = 0.3, if there is a difference exceeding 30% of the number of types of dishes in a recipe presented at one time, it is determined that they are not substantially equal.
Of course, the threshold thVNR may be a fixed value.

このようなレシピの料理種別数の均等をチェックする数量条件チェックの手法としては、他にも考えられる。例えば提示するレシピの料理種別数の平均値に対して所定以上の差がある回の有無を調べて、存在したら非均等であると判定しても良い。   There are other methods for checking the quantity condition for checking the equality of the number of types of recipes in the recipe. For example, it may be determined that there is a difference that is greater than or equal to a predetermined difference with respect to the average value of the number of types of recipes to be presented.

次に図16Aの処理例は、毎回、少なくとも所定数以上のレシピの選択肢をユーザに提供できるようにする処理例である。
レシピ管理サーバ1はステップS610で食材グループGP1〜GPnのそれぞれについて対応するものとされたレシピの数を、レシピ数NR1〜NRnとして取得する。
Next, the processing example of FIG. 16A is a processing example in which at least a predetermined number of recipe options can be provided to the user each time.
The recipe management server 1 acquires the number of recipes corresponding to each of the food groups GP1 to GPn in step S610 as the number of recipes NR1 to NRn.

ステップS611でレシピ管理サーバ1は、条件判定のための閾値thNRminの設定を行う。この閾値thNRminは固定値とすることも考えられるが、可変値とすることも適切である。ここでは、食材グループGP1〜GPnの数“n”に応じた値に設定するものとする。例えば食材グループ数nが多いほど厳しい値(閾値thNRminを大きい値)とし、食材グループ数nが小さい少ないほど緩い値(閾値thNRminを小さい値)とすることが考えられる。
ステップS612でレシピ管理サーバ1は、レシピ数NR1〜NRnの内で、最小値を変数NRminに代入する。
ステップS613でレシピ管理サーバ1は、最小値である変数NRminを、所定の閾値thNRminと比較する。そしてNRmin≧thRNminであれば、ステップS614で数量条件OKとし、NRmin≧thRNminでなければステップS615で数量条件を満たしていないと判定する。
つまり1回に提示するレシピの最低数を閾値thNRminとして設定し、少なくともその数以上あれば、数量条件を満たしているというものである。この場合、極端にレシピ数が多くなる場合があっても許容されてしまうが、ユーザに対して毎回、少なくともある程度の数の選択肢を用意できるという意味で、数量条件OKとする。
また食材グループ数nが多い場合ほど、食材の種類数の差が顕著になり、レシピ数のばらつきが多くなり、結果としてレシピ数が不均一になりやすいことが想定される。そこで上述のように閾値thNRminを食材グループ数nに応じて設定することで、より均等な状況が維持されやすくするようにしている。
In step S611, the recipe management server 1 sets a threshold thNRmin for condition determination. The threshold thNRmin may be a fixed value, but may be a variable value. Here, it is assumed that the value is set according to the number “n” of the food material groups GP1 to GPn. For example, it is conceivable that the greater the number n of food groups, the more severe the value (threshold value thNRmin), and the smaller the number of food groups n, the lower the value (threshold value thNRmin).
In step S612, the recipe management server 1 substitutes the minimum value for the variable NRmin among the recipe numbers NR1 to NRn.
In step S613, the recipe management server 1 compares the variable NRmin, which is the minimum value, with a predetermined threshold thNRmin. If NRmin ≧ thRNmin, the quantity condition is determined to be OK in step S614. If NRmin ≧ thRNmin is not satisfied, it is determined that the quantity condition is not satisfied in step S615.
That is, the minimum number of recipes to be presented at one time is set as the threshold thNRmin, and if the number is at least that number, the quantity condition is satisfied. In this case, although the number of recipes may be extremely large, it is allowed, but the quantity condition is OK in the sense that at least a certain number of options can be prepared for each user.
Further, it is assumed that the greater the number n of food groups, the more the difference in the number of types of foods becomes, and the variation in the number of recipes increases. As a result, the number of recipes tends to be uneven. Therefore, as described above, the threshold value thNRmin is set according to the number n of food groups so that a more uniform situation can be easily maintained.

もちろん閾値thNRminは固定値としてもよい。
また購入した食材の事情によって、食材グループGP1〜GPnについて対応されるとされたレシピ数が少なくなっている場合、固定の閾値thNRminであると、条件を満たすことができない事態が生ずることがある。そこで、各食材グループGP1〜GPnについての対応レシピ数の平均値に基づいて閾値thNRminを可変設定するとよい。
例えば対応レシピ総数GNR=NR1+NR2+・・・+NRnとし、閾値thNRminは、thNRmin=(GNR/n)×kとする。k=0.3とすれば、1回に提示するレシピ数が、平均レシピ数の3割以下の数となることが発生する場合に、数量条件を満たしていないと判定することになる。
Of course, the threshold thNRmin may be a fixed value.
Further, when the number of recipes to be handled for the food groups GP1 to GPn is small due to the circumstances of the purchased food, there may be a situation where the condition cannot be satisfied if the fixed threshold thNRmin is satisfied. Therefore, the threshold thNRmin may be variably set based on the average value of the number of corresponding recipes for each of the food material groups GP1 to GPn.
For example, the total number of corresponding recipes GNR = NR1 + NR2 +... + NRn, and the threshold thNRmin is set to thNRmin = (GNR / n) × k. If k = 0.3, it is determined that the quantity condition is not satisfied when the number of recipes presented at one time is 30% or less of the average number of recipes.

図16Bは、各食材グループGP1〜GPnに対応するレシピの料理種別の種類数が所定数以上あることを条件とする例である。
レシピ管理サーバ1は、ステップS630で料理種別のレベルを選択し、ステップS631で食材グループGP1〜GPnのそれぞれの対応レシピについて、料理種別の情報を取得する。またレシピ管理サーバ1はステップS632で食材グループGP1〜GPnのそれぞれについて、対応するレシピにおける料理種別の数をカウントし、料理種別数VNR1〜VNRnとして取得する。以上は図15BのステップS621,S622,S623と同様である。
またレシピ管理サーバ1はステップS633で条件判定のための閾値thVNRminの設定を行う。ここでは、食材グループGP1〜GPnの数“n”に応じた値に設定するものとする。例えば食材グループ数nが多いほど厳しい値(閾値thVNRminを大きい値)とし、食材グループ数nが小さい少ないほど緩い値(閾値thVNRminを小さい値)とすることが考えられる。
FIG. 16B is an example on condition that the number of types of recipe types of recipes corresponding to each of the food material groups GP1 to GPn is equal to or greater than a predetermined number.
The recipe management server 1 selects a dish type level in step S630, and acquires dish type information for each corresponding recipe of the food material groups GP1 to GPn in step S631. In step S632, the recipe management server 1 counts the number of dish types in the corresponding recipe for each of the ingredient groups GP1 to GPn, and obtains the number of dish types VNR1 to VNRn. The above is the same as steps S621, S622, and S623 of FIG. 15B.
Also, the recipe management server 1 sets a threshold thVNRmin for condition determination in step S633. Here, it is assumed that the value is set according to the number “n” of the food material groups GP1 to GPn. For example, it is conceivable that the greater the number n of food groups, the more severe the value (threshold value thVNRmin), and the smaller the number of food groups n, the lower the value (threshold value thVNRmin).

ステップS634でレシピ管理サーバ1は、料理種別数VNR1〜VNRnの内で、最小値を変数VNRminに代入する。
ステップS635でレシピ管理サーバ1は、最小値である変数VNRminを、所定の閾値thVNRminと比較する。そしてVNRmin≧thVRNminであれば、ステップS636で数量条件OKとし、VNRmin≧thVRNminでなければステップS637で数量条件を満たしていないと判定する。
つまり1回に提示するレシピの料理種別の最低数を閾値thVNRminとして設定し、少なくともその数以上あれば、数量条件を満たしているというものである。このため、ユーザに対して毎回、少なくともある程度の数以上の料理種別の選択肢を用意できるという意味で、数量条件OKとする。
また食材グループ数nが多い場合ほど、料理種別数が不均一になりやすいことが想定されるため、上述のように閾値thVNRを食材グループ数nに応じて設定することで、より均等な状況が維持されやすくするようにしている。
In step S634, the recipe management server 1 substitutes the minimum value for the variable VNRmin among the number of types of dishes VNR1 to VNRn.
In step S635, the recipe management server 1 compares the variable VNRmin, which is the minimum value, with a predetermined threshold thVNRmin. If VNRmin ≧ thVRNmin, the quantity condition is determined to be OK in step S636. If VNRmin ≧ thVRNmin, it is determined in step S637 that the quantity condition is not satisfied.
That is, the minimum number of recipe types to be presented at one time is set as the threshold thVNRmin, and if it is at least the number, the quantity condition is satisfied. For this reason, the quantity condition is OK in the sense that at least a certain number or more of types of dishes can be prepared for each user.
Moreover, since it is assumed that the number of food types is likely to be non-uniform as the number of food material groups n is larger, setting the threshold thVNR according to the number of food material groups n as described above results in a more even situation. It is easy to maintain.

この場合閾値thNRminは固定値としてよい。但し、購入した食材の事情によって、食材グループGP1〜GPnに対応されるレシピにおける料理種別の数が少なくなっている場合、固定の閾値thVNRminであると、条件を満たすことができない事態が生ずることがある。そこで、各食材グループGP1〜GPnについての料理種別数の平均値に基づいて閾値thVNRminを可変設定するとよい。
例えば対応するレシピ全体での料理種別の数をGVNRとしたときに、閾値thVNRは、thVNR=(GVNR/n)×kとする。k=0.3とすれば、1回に提示するレシピにおける料理種別の数が平均値の3割未満の回があるときに、数量条件を満たしていないと判定することになる。
In this case, the threshold thNRmin may be a fixed value. However, when the number of types of dishes in the recipes corresponding to the ingredient groups GP1 to GPn is reduced due to the circumstances of the purchased ingredients, there may be a situation where the condition cannot be satisfied if the fixed threshold thVNRmin is set. is there. Therefore, the threshold thVNRmin may be variably set based on the average value of the number of cooking types for each of the food material groups GP1 to GPn.
For example, when the number of types of dishes in the entire corresponding recipe is GVNR, the threshold thVNR is set to thVNR = (GVNR / n) × k. If k = 0.3, it is determined that the quantity condition is not satisfied when the number of dish types in the recipe presented at one time is less than 30% of the average value.

図11に戻って、ステップS413で以上のような数量条件チェックが行われたら、レシピ管理サーバ1はステップS414で、数量条件を満足したか否かで処理を分岐する。
数量条件を満足していたら、今回の設定、つまり食材グループGP1〜GPn及びそれぞれの対応レシピの設定を確定され、ステップS416で提示設定DB56に記憶する。つまり、或るユーザに対して、今後n回の料理機会に推奨提示するレシピが決まったことになる。
ところが、数量条件が充足していないと判定されたときは、レシピ管理サーバ1はステップS414からS415に進み、振り分け条件等を変更したうえで、ステップS407からの処理をやりなおす。例えば食材グループGP1〜GPnの生成のための振り分け処理のアルゴリズムを、前回使用したものとは別のアルゴリズムを選択してステップS407の処理を行う。
或いは、このステップS415の際に、振り分ける食材の最小分量、振り分け単位の選択、振り分ける順序が優先される食材の設定などを変更してもよい。特にはステップS404で行った食材の振り分け単位の設定を新たにやり直したり調整することが考えられる。例えば対応するレシピの数が少ない食材グループについて、割り当てる食材の分量を増加し、その分を他の食材グループから引くことが考えられる。もちろん減少させる食材グループは、対応するレシピ数が多かったレシピであることが望ましい。
Returning to FIG. 11, when the quantity condition check as described above is performed in step S413, the recipe management server 1 branches the process depending on whether the quantity condition is satisfied in step S414.
If the quantity condition is satisfied, the current setting, that is, the settings of the food material groups GP1 to GPn and the corresponding recipes are determined and stored in the presentation setting DB 56 in step S416. In other words, a recipe to be recommended and presented to a certain user at n cooking occasions in the future has been determined.
However, when it is determined that the quantity condition is not satisfied, the recipe management server 1 proceeds from step S414 to S415, and after changing the distribution condition etc., repeats the processing from step S407. For example, an algorithm different from that used last time is selected as the algorithm of the distribution process for generating the food material groups GP1 to GPn, and the process of step S407 is performed.
Alternatively, at the time of this step S415, the minimum amount of food to be distributed, selection of a distribution unit, setting of food for which the order of distribution is prioritized may be changed. In particular, it may be possible to newly redo or adjust the setting of the food distribution unit performed in step S404. For example, for an ingredient group with a small number of corresponding recipes, it is conceivable to increase the amount of ingredients to be allocated and subtract that amount from other ingredient groups. Of course, it is desirable that the food material group to be reduced is a recipe having a large number of corresponding recipes.

このような図11の提示設定処理は、一人のユーザに対して、今後n回の料理機会にそれぞれ提案する推奨レシピを設定するが、それら提示されるレシピの数や料理種別のバリエーションが、ある程度充実するように、推奨提示するレシピの設定が行われる。   In such a presentation setting process of FIG. 11, recommended recipes to be proposed for n cooking occasions are set for one user in the future, but the number of recipes to be presented and variations in the cooking types are to some extent. Recipes to be recommended are set so as to improve.

この図11のような提示設定処理が図10のステップS305で行われることで、現在処理対象のユーザについての推奨レシピの提示設定が完了し、提示設定DBに登録される。
レシピ管理サーバ1は図10のステップS306で未処理の残りのユーザの有無を確認し、残りのユーザが存在すればステップS301に戻って、次のユーザに対して同様の処理を行う。従って、レシピ管理サーバ1が提供する本例のサービスを受けるユーザについて、有効な提示設定が存在しなければ提示設定が行われ、サービスを受けることができるようにされる。
When the presentation setting process as shown in FIG. 11 is performed in step S305 in FIG. 10, the recommended recipe presentation setting for the current processing target user is completed and registered in the presentation setting DB.
The recipe management server 1 confirms whether or not there are remaining unprocessed users in step S306 of FIG. 10, and if there are remaining users, the process returns to step S301 to perform the same processing for the next user. Therefore, for a user who receives the service of this example provided by the recipe management server 1, if there is no effective presentation setting, the presentation setting is performed so that the user can receive the service.

以上の図10〜図16で説明した処理がバッチ処理で行われて、提示設定DBに提示設定が登録された状態となったユーザに対しては、図7で示したユーザ端末3とレシピ管理サーバ1のやりとりで、推奨レシピ提示が行われることになる。
図7の処理を実現するためのレシピ管理サーバ1の処理を図17に示す。レシピ管理サーバ1は主に図2に示した提示制御部1e、レシピ管理部1fの機能により図17の処理を実行する。
The user terminal 3 and the recipe management shown in FIG. 7 are processed for a user who has been processed in a batch process and the presentation settings are registered in the presentation setting DB. The recommended recipe is presented by the exchange of the server 1.
The processing of the recipe management server 1 for realizing the processing of FIG. 7 is shown in FIG. The recipe management server 1 executes the process of FIG. 17 mainly by the functions of the presentation control unit 1e and the recipe management unit 1f shown in FIG.

レシピ管理サーバ1は、ステップS701,S711,S721を順に実行することにより、各種処理を継続的に行う。
具体的には、ステップS701においてログイン情報を受信したか否かを判定する処理を実行し、ステップS711においてウェブページデータの要求を受信したか否かを判定する処理を実行し、ステップS721で使用推定情報を受信したか否かを判定する処理を実行する。
なお、これら以外にもレシピ管理サーバ1では、作成レポートの投稿やレシピの投稿を受信した場合の処理、レシピ検索条件を受信したときのレシピ検索処理等も行われるが、本実施の形態に直接関係しないため、それらの処理についての記載は省略している。
The recipe management server 1 performs various processes continuously by sequentially executing steps S701, S711, and S721.
Specifically, a process for determining whether or not login information is received in step S701 is executed, and a process for determining whether or not a request for web page data is received in step S711, which is used in step S721. A process of determining whether or not the estimation information has been received is executed.
In addition to these, the recipe management server 1 also performs processing when a creation report post or recipe post is received, recipe search processing when a recipe search condition is received, and the like. Since they are not related, the description of these processes is omitted.

ログイン情報は、ユーザがユーザ端末3を用いてログイン操作を行った場合に、ユーザ端末3からレシピ管理サーバ1へ送信される。
ステップS701において、ログイン情報を受信したと判定した場合、レシピ管理サーバ1はステップS702において認証処理を実行し、ステップS703において認証結果をユーザ端末3に通知する処理を実行する。
認証処理においては、ユーザ端末3から送られたログイン情報とユーザDB51に記憶されたユーザ情報(例えば、ユーザIDとログインパスワード)を照合し、ログインの可否を決定する。
The login information is transmitted from the user terminal 3 to the recipe management server 1 when the user performs a login operation using the user terminal 3.
If it is determined in step S701 that login information has been received, the recipe management server 1 executes an authentication process in step S702, and executes a process of notifying the user terminal 3 of the authentication result in step S703.
In the authentication process, the login information sent from the user terminal 3 and the user information (for example, user ID and login password) stored in the user DB 51 are collated to determine whether or not login is possible.

レシピ管理サーバ1は、認証OKでなければ、ステップS701,D711,S721のループに戻るが、認証OKであれば、そのユーザのユーザ端末3においてレシピサイトのトップページ送信を行う。例えばこの場合に、当該ユーザに対して今回の推奨レシピ提示を行う。
まずレシピ管理サーバ1はステップS704で、ログインユーザの提示設定の情報を提示設定DB56から取得する。そしてステップS705で、今回の提示が何回目か、もしくは現在の日時に基づいて、今回提示すべきレシピを特定する。
ステップS706でレシピ管理サーバ1は、今回推奨提示するレシピを含むトップページデータを生成し、ステップS707でそのトップページデータをユーザ端末3に送信する。これにより図7のステップS206で説明したように、ユーザ端末3において今回の推奨レシピが例えば図9Aや図9Bのように提示される。
If the authentication is not OK, the recipe management server 1 returns to the loop of steps S701, D711, and S721, but if the authentication is OK, the user terminal 3 of the user transmits the top page of the recipe site. For example, in this case, the current recommended recipe is presented to the user.
First, in step S704, the recipe management server 1 acquires information on the presentation user's presentation setting from the presentation setting DB 56. In step S705, the recipe to be presented this time is specified based on the number of times this presentation is made or the current date and time.
In step S706, the recipe management server 1 generates top page data including the recipe that is recommended and presented this time, and transmits the top page data to the user terminal 3 in step S707. As a result, as described in step S206 of FIG. 7, the current recommended recipe is presented on the user terminal 3 as shown in FIGS. 9A and 9B, for example.

レシピ管理サーバ1は、ステップS711においては、ウェブページデータ要求を受信したか否かを判定する処理を実行する。
ウェブページデータ要求を受信したと判定した場合、レシピ管理サーバ1はステップS712において、要求のあったウェブページデータをDBから取得する処理を実行する。具体的には、ユーザページのウェブページデータや、レシピ詳細ページのウェブページデータや、特集ページのウェブページデータなどを取得する。
続いて、レシピ管理サーバ1はステップS713において、当該ウェブページデータをユーザ端末3へ送信する処理を実行する。これにより、ユーザ端末3上にユーザが所望したウェブページが表示される。
In step S711, the recipe management server 1 executes processing for determining whether a web page data request has been received.
If it is determined that the web page data request has been received, the recipe management server 1 executes processing for acquiring the requested web page data from the DB in step S712. Specifically, web page data of a user page, web page data of a recipe detail page, web page data of a special feature page, and the like are acquired.
Then, the recipe management server 1 performs the process which transmits the said web page data to the user terminal 3 in step S713. Thereby, the web page desired by the user is displayed on the user terminal 3.

レシピ管理サーバ1はステップS721において使用推定情報を取得した場合は、ステップS723で、提示設定DB56に推定情報又は使用レシピの記憶を行う。
上述のように、例えば詳細ページのリクエストや、プリント操作の情報、あるいは詳細ページの閲覧時間の情報などは、使用したレシピを特定するための推定情報となる。これらの情報を取得した場合、提示設定DB56におけるログインユーザの今回のレシピ提示に対応する推定情報として記憶する。
また推定情報を取得したことに応じて、ステップS724で使用レシピの推定を行う。推定手法は上述したとおりである。そして使用レシピの推定確度が高いと判定できた場合は、そのレシピに含まれる食材の情報や使用日時を使用データとして格納履歴DB53に記憶する。
なお、必ずしもユーザは推奨提示したレシピを使用するわけではない。推奨提示とは全く別のレシピをユーザが検索してしようする場合もある。ステップS724では、使用推定情報から、他のレシピが推定された場合も、そのレシピで用いられる食材が使用されたと推定し、食材の使用データとして格納履歴DB53に記憶させればよい。
また、推定情報ではなく、ユーザが、自分が使用したレシピを示す情報をレシピ管理サーバ1に送信できるようにしてもよい。例えば詳細ページの閲覧時に、「このレシピで料理を始めますか?」というような質問を表示し、ユーザにイエス・ノーの回答を入力させてもよい。そのような回答情報も、推定情報と同様に扱って、推定情報の記憶や使用データの記憶を行うことが適切である。
なおレシピ管理サーバ1はステップS724の時点で、推定した使用レシピ自体を示す情報を、例えば推定情報に対応させて提示設定DB56に記憶させるようにしてもよい。
If the recipe management server 1 acquires the usage estimation information in step S721, the recipe management server 1 stores the estimation information or the usage recipe in the presentation setting DB 56 in step S723.
As described above, for example, a detailed page request, print operation information, or detailed page viewing time information is estimated information for specifying a used recipe. When such information is acquired, it is stored as estimated information corresponding to the current recipe presentation of the logged-in user in the presentation setting DB 56.
In response to the acquisition of the estimation information, the used recipe is estimated in step S724. The estimation method is as described above. If it is determined that the estimation accuracy of the used recipe is high, information on the ingredients contained in the recipe and the date and time of use are stored in the storage history DB 53 as usage data.
Note that the user does not necessarily use the recommended recipe. In some cases, the user searches for a recipe that is completely different from the recommended presentation. In step S724, when other recipes are estimated from the usage estimation information, it is estimated that the ingredients used in the recipe are used and stored in the storage history DB 53 as the usage data of the ingredients.
Further, instead of the estimated information, the user may be able to transmit information indicating the recipe used by the user to the recipe management server 1. For example, when viewing a detailed page, a question such as “Do you want to start cooking with this recipe?” May be displayed, and the user may enter a yes / no answer. It is appropriate to handle such answer information in the same manner as the estimated information, and store the estimated information and the usage data.
The recipe management server 1 may store the information indicating the estimated used recipe itself in the presentation setting DB 56 in association with the estimated information at the time of step S724, for example.

以上の処理によれば、ログインユーザに対して、その日時に応じて、これから開始する料理の推奨レシピが、複数、提示されることになる。それらは毎回、ユーザが購入した食材で料理可能なものとなる。
According to the above processing, a plurality of recommended recipes for cooking to be started are presented to the login user according to the date and time. Each time they can be cooked with ingredients purchased by the user.

<6.第2の実施の形態>
第2の実施の形態について説明する。
なお、以降第2、第3の実施の形態の説明においては、第1の実施の形態と異なる処理についてのみ説明する。言及していない処理については第1の実施の形態と同様である。
<6. Second Embodiment>
A second embodiment will be described.
Hereinafter, in the description of the second and third embodiments, only processes different from those of the first embodiment will be described. Processing that is not mentioned is the same as in the first embodiment.

図18は第2の実施の形態の提示設定処理を示している。つまり図10のステップS305で行われる処理例である。
図11と同一処理は同一のステップ番号を付し、重複説明を避ける。図18において図11と異なるのは、ステップS420,S421の処理である。
FIG. 18 illustrates a presentation setting process according to the second embodiment. That is, this is an example of processing performed in step S305 in FIG.
The same processes as those in FIG. 11 are given the same step numbers to avoid redundant explanation. 18 differs from FIG. 11 in the processing of steps S420 and S421.

ステップS413での数量条件チェックにおいて数量条件を満たさないと判定された場合は、レシピ管理サーバ1はステップS420で、レシピ自体として食材の分量を変更可能なレシピが存在するか否かを判定する。例えばレシピ管理サーバ1は、レシピに含まれる或る食材の分量を多少減らしても調理可能であるレシピが存在するか否かを判定する。
レシピDB50に登録されている各レシピについては、予め、分量を変更できる食材を設定しておく。例えばレシピ作成者に依頼し、材料不足の場合の分量などとして、分量の異なる情報を送信してもらい、それを取得して登録しておくようにしてもよい。
When it is determined in the quantity condition check in step S413 that the quantity condition is not satisfied, the recipe management server 1 determines in step S420 whether or not there is a recipe that can change the amount of ingredients as the recipe itself. For example, the recipe management server 1 determines whether there is a recipe that can be cooked even if the amount of a certain ingredient contained in the recipe is slightly reduced.
For each recipe registered in the recipe DB 50, an ingredient whose amount can be changed is set in advance. For example, a recipe creator may be requested to have different amounts of information transmitted as an amount in the case of a shortage of materials, and may be acquired and registered.

そしてレシピDB50に分量変更可能なレシピが存在しなければ、レシピ管理サーバ1はステップS420からS415に進む。つまり第1の実施の形態と同様に、振り分け条件を変更して食材グループGP1〜GPnの再設定からやり直す。
一方、分量変更可能なレシピが存在すれば、ステップS421で、その分量変更後のレシピを対象とするようにレシピ検索設定を変更する。そしてステップS408以降の処理で、各食材グループGP1〜GPnのそれぞれに対応するレシピを、分量設定を変更したレシピを対象として行う。
これにより、食材グループに対応するものとして抽出できるレシピの数を増加させることが期待できる。
従ってこの処理で対応レシピを特定したら、ステップS413の数量条件チェックでOKとなる可能性が得られる。
If there is no recipe whose quantity can be changed in the recipe DB 50, the recipe management server 1 proceeds from step S420 to S415. That is, as in the first embodiment, the sorting condition is changed and the food groups GP1 to GPn are reset.
On the other hand, if there is a recipe whose quantity can be changed, in step S421, the recipe search setting is changed so that the recipe after the quantity change is targeted. And by the process after step S408, the recipe corresponding to each of each foodstuff group GP1-GPn is performed for the recipe which changed quantity setting.
This can be expected to increase the number of recipes that can be extracted as corresponding to the food group.
Therefore, if a corresponding recipe is specified in this process, there is a possibility that the quantity condition check in step S413 is OK.

このように第2の実施の形態では、数量条件を満たせなくなる場合に、レシピに設定されている食材の分量を変更することで、数量条件を満たすか否かを試行するものである。
As described above, in the second embodiment, when the quantity condition cannot be satisfied, whether or not the quantity condition is satisfied is tried by changing the amount of ingredients set in the recipe.

<7.第3の実施の形態>
第3の実施の形態のレシピ管理サーバ1の処理を図19、図20で説明する。なお図19において図10と同一の処理は同一のステップ番号を付し説明を省略する。
図19は、図10の処理にステップS310,S311を加えたものである。
図10の例では、現在有効な提示設定が存在するユーザについては、提示設定処理をスキップしたが、図19の例では、このようなユーザについてステップS310の確認を行う。
<7. Third Embodiment>
Processing of the recipe management server 1 according to the third embodiment will be described with reference to FIGS. 19 and 20. In FIG. 19, the same processes as those in FIG. 10 are denoted by the same step numbers and the description thereof is omitted.
FIG. 19 is obtained by adding steps S310 and S311 to the process of FIG.
In the example of FIG. 10, the presentation setting process is skipped for a user who currently has a valid presentation setting. In the example of FIG. 19, the confirmation in step S310 is performed for such a user.

即ちレシピ管理サーバはステップS310で、処理対象となっているユーザに対して、初回の推奨レシピ提示をすでに終えているか否か、又は格納履歴DB53の情報を参照して、追加食材があるか否かを確認する。   That is, in step S310, the recipe management server determines whether or not the initial recommended recipe presentation has already been completed for the user to be processed, or whether there is additional food by referring to the information in the storage history DB 53. To check.

すでに1回以上、推奨レシピの提示を行ったユーザでは、使用レシピによっては、その食材グループのうちで使われなかった食材がある可能性がある。例えば食材グループGP1に対応するレシピは、全てが食材グループGP1の食材を全て使い切るレシピではなく、食材グループGP1の食材で調理可能なレシピが選ばれているためである。
また、ユーザが不定期に食材を購入した場合に、追加食材の情報を取得できる場合もある。
つまり提示設定が有効な期間も、新たに使用すべき食材が発生する。そこで図19の例では、そのような場合にステップS311で再提示設定処理を行うようにしている。
再提示設定処理とは、先にステップS305で行った提示設定処理で特定された推奨レシピの情報は有効としたまま、追加のレシピを特定する処理である。
For a user who has already presented a recommended recipe once or more, there is a possibility that there are ingredients that have not been used in the ingredient group depending on the recipe used. For example, the recipe corresponding to the ingredient group GP1 is not a recipe that uses all the ingredients of the ingredient group GP1, but a recipe that can be cooked with the ingredients of the ingredient group GP1 is selected.
Moreover, when a user purchases foodstuffs irregularly, the information of additional foodstuffs can be acquired.
In other words, new ingredients to be used are generated even during the period when the presentation setting is valid. Therefore, in the example of FIG. 19, the re-presentation setting process is performed in step S311 in such a case.
The re-presentation setting process is a process for identifying an additional recipe while the information on the recommended recipe identified in the presentation setting process performed in step S305 is valid.

再提示設定処理を図20に示す。
レシピ管理サーバ1はステップS801で、処理対象のユーザの格納履歴DB53を参照して、追加食材の有無を判定する。即ち先にステップS305で提示設定処理を行った後の時点において購入した食材の情報である。
レシピ管理サーバ1は、そのような食材が存在する場合はステップS802で、その食材の種類や量を追加食材情報として取得する。
The re-presentation setting process is shown in FIG.
In step S801, the recipe management server 1 refers to the storage history DB 53 of the user to be processed and determines the presence or absence of additional ingredients. That is, the information on the ingredients purchased at the time after the presentation setting process is performed in step S305.
If such a food exists, the recipe management server 1 acquires the type and amount of the food as additional food information in step S802.

ステップS803でレシピ管理サーバ1は、現時点で初回の推奨レシピの提示が終えているか、つまり食材グループGP1に対応するレシピの提示は過去に行い、現在は、次に、食材グループGP2〜GPnのいずれかの対応レシピを提示する時点であるか否かを判定する。
1回以上でも推奨レシピの提示が行われていたら、その提示の際の実際の使用レシピによって、その食材グループにおける余った食材が存在する可能性がある。
そこで初回提示済みであればレシピ管理サーバ1はステップS804で、まず格納履歴DB53を参照して、それまでの使用食材を特定する。つまり食材の使用データとして該当する日時のデータを抽出する。
ステップS805でレシピ管理サーバ1は、抽出した使用データから食材毎の使用量を算出する。
そしてステップS806でレシピ管理サーバ1は、食材毎の使用量と、対応する食材グループに元々振り分けられた食材及び量の情報を用いて、対応レシピ既提示の食材グループに振り分けられた食材のうちで、余った食材の種類と量を算出する。
In step S803, the recipe management server 1 has completed the presentation of the first recommended recipe at the present time, that is, the recipe corresponding to the ingredient group GP1 has been presented in the past, and now any of the ingredient groups GP2 to GPn It is determined whether or not it is time to present the corresponding recipe.
If the recommended recipe has been presented even once or more, there may be extra ingredients in the ingredient group depending on the actual recipe used at the time of presentation.
Therefore, if it has already been presented for the first time, the recipe management server 1 first identifies the ingredients used so far by referring to the storage history DB 53 in step S804. That is, the date and time data corresponding to the use data of the food is extracted.
In step S805, the recipe management server 1 calculates the amount of use for each ingredient from the extracted use data.
In step S806, the recipe management server 1 uses the information on the amount used for each ingredient and the information on the ingredients and the amount originally assigned to the corresponding ingredient group. , Calculate the type and amount of surplus ingredients.

ステップS807でレシピ管理サーバ1は、次回、対応レシピを提示する食材グループのナンバを変数xに代入する。例えば現在が、食材グループGP1、GP2までの対応レシピを提示済みであって、次回は3回目の提示であるなら、x=3とする。
そしてステップS808で、食材グループGP(x)〜GPn(なおx=nの場合もある)に、残り食材や追加食材を振り分ける処理を行う。
In step S807, the recipe management server 1 substitutes the number of the ingredient group for presenting the corresponding recipe next time into the variable x. For example, if the present recipe has already been presented to the food groups GP1 and GP2 and the next presentation is the third presentation, x = 3.
In step S808, a process of distributing the remaining ingredients and additional ingredients to the ingredient groups GP (x) to GPn (which may be x = n) is performed.

今後の提示にかかる食材グループGP(x)〜GPnに食材を追加したら、続いてレシピ管理サーバ1はステップS809〜S812により、各食材グループGP(x)〜GPnに対応するレシピを特定する処理を行う。
即ちレシピ管理サーバ1はステップS809で、食材グループGP(x)についてレシピ検索を行う。これは食材グループGP(x)に、最初の提示設定処理で割り当てられた食材と、今回追加的に割り当てられた食材を含めて検索キーとして、レシピDB50を検索し、その食材の範囲で調理が可能なレシピを抽出する処理となる。
そしてステップS810で、食材グループGP(x)の追加レシピを特定する。この場合、食材が増えることで、最初の提示設定の際のレシピを含んで、追加的に該当するレシピが抽出されることが予想される。従って、追加レシピとは、今回抽出されたレシピの中で、最初の提示設定時に抽出された中に含まれていないレシピとなる。
After adding ingredients to the ingredient groups GP (x) to GPn for future presentation, the recipe management server 1 subsequently performs a process of specifying recipes corresponding to the ingredient groups GP (x) to GPn in steps S809 to S812. Do.
That is, the recipe management server 1 performs a recipe search for the food group GP (x) in step S809. This searches the recipe DB 50 as a search key including the ingredients assigned in the first presentation setting process to the ingredient group GP (x) and the ingredients additionally assigned this time, and cooking is performed within the range of the ingredients. This is a process for extracting possible recipes.
In step S810, an additional recipe of the food material group GP (x) is specified. In this case, it is expected that additional recipes will be extracted including the recipe for the first presentation setting due to the increase in food ingredients. Accordingly, the additional recipe is a recipe that is not included in the recipe extracted at the time of the first presentation setting among the recipes extracted this time.

レシピ管理サーバ1はステップS811で変数x=nとなるまで、ステップS812で変数xをインクリメントしながら、ステップS809、S810を行う。従って、今後の時点で対応レシピを提示する食材グループについて、対応レシピが追加されていくことになる。
食材グループGPnについてまでの処理を終えたら、ステップS813に進み、提示設定DB56の内容を更新する。つまり今後の時点で対応レシピを提示する食材グループについて、対応レシピを追加する記憶を行う。
従って上述の図17の処理で推奨レシピの提示が行われる場合、残りの食材や追加購入した食材が考慮されて推奨レシピが提示されることになる。
The recipe management server 1 performs steps S809 and S810 while incrementing the variable x in step S812 until the variable x = n in step S811. Therefore, the corresponding recipe is added to the food material group that presents the corresponding recipe at a future time.
When the processing up to the food group GPn is finished, the process proceeds to step S813, and the contents of the presentation setting DB 56 are updated. In other words, for the ingredient group that presents the corresponding recipe at a future time, the corresponding recipe is stored.
Accordingly, when the recommended recipe is presented in the above-described process of FIG. 17, the recommended recipe is presented in consideration of the remaining ingredients and additionally purchased ingredients.

なお、この再提示設定の際には、数量条件チェックは不要としてもよいし、この場合も数量条件チェックを実行してもよい。
例えば図16のような最低数の選択肢を提供するという考え方に則れば、すでに数量条件チェックは満たされているため、例えば図20の処理で行う必要は無い。
一方、図15のような均一性を考慮する場合、残りの回で、レシピ数や料理種別数の均一性を保つようにするのであれば、図15A又は図15Bのような処理で数量条件チェックを行い、満たされなければステップS808からやり直すことも考えられる。
もちろん、一旦均一性が確保されていることを考えれば、追加レシピによって多少均一性が崩れてもよしとする考え方もあるため、数量条件チェックを行なわなくてもよい。
再提示設定処理の際には数量条件チェックを省くことで、レシピ管理サーバ1の処理負担を削減できる。
In this re-presentation setting, the quantity condition check may be unnecessary, and in this case, the quantity condition check may be executed.
For example, according to the idea of providing the minimum number of options as shown in FIG. 16, the quantity condition check has already been satisfied, so there is no need to perform the process in FIG.
On the other hand, if the uniformity as shown in FIG. 15 is considered, if the uniformity of the number of recipes and the number of types of dishes is to be maintained in the remaining times, the quantity condition check is performed by the processing as shown in FIG. 15A or 15B. If it is not satisfied, it can be considered to start again from step S808.
Of course, once the uniformity is ensured, there is a way of thinking that the uniformity may be slightly lost by the additional recipe, so the quantity condition check need not be performed.
By omitting the quantity condition check during the re-presentation setting process, the processing load on the recipe management server 1 can be reduced.

<8.まとめ>
以上、実施の形態について説明してきたが、実施の形態では以下の効果が得られる。
第1〜第3の実施の形態のレシピ管理サーバ1(情報処理装置)は、食材の格納履歴を記憶する記憶装置(格納履歴DB53)から少なくとも在庫情報を含む食材の情報を取得する食材情報取得部1a(図11のS401参照)を備える。またレシピ管理サーバ1は、格納履歴DB53に記憶された格納履歴に基づいて判定された食材が追加される周期に応じてレシピ提供回数を特定する提供回数特定部1b(S402,S403参照)と、取得した食材の情報と特定されたレシピ提供回数に基づいて、当該食材の情報に含まれる各食材を、当該レシピ提供回数に応じた数の食材グループGP1〜GPnに振り分ける食材グループ設定部1c(S407参照)と、食材グループGP1〜GPn毎に、振り分けられた食材に基づいてレシピを特定するレシピ特定部1d(S408〜S412参照)を備える。さらにレシピ管理サーバ1は、食材グループGP1〜GPn毎に特定されたレシピの提示制御を行う提示制御部1e(図17のS704〜S707参照)を備える。そして食材グループ設定部1cは、レシピ特定部1dが各食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすように食材の振り分けを行う(図11のS413、S414、S415等参照)。
<8. Summary>
Although the embodiments have been described above, the following effects can be obtained in the embodiments.
The recipe management server 1 (information processing apparatus) according to the first to third embodiments obtains information on ingredients including at least inventory information from a storage device (storage history DB 53) that stores the storage history of ingredients. Part 1a (refer to S401 in FIG. 11). The recipe management server 1 also provides a provision number specifying unit 1b (see S402 and S403) that specifies the number of times the recipe is provided according to the period in which the ingredients determined based on the storage history stored in the storage history DB 53 are added. An ingredient group setting unit 1c that distributes each ingredient included in the ingredient information to the number of ingredient groups GP1 to GPn according to the number of recipe provisions based on the acquired ingredient information and the specified number of recipe provision times (S407). And a recipe specifying unit 1d (see S408 to S412) that specifies a recipe on the basis of the distributed ingredients for each of the ingredient groups GP1 to GPn. Furthermore, the recipe management server 1 includes a presentation control unit 1e (see S704 to S707 in FIG. 17) that performs presentation control of the recipe specified for each of the food material groups GP1 to GPn. The ingredient group setting unit 1c sorts the ingredients so that the number of recipes or the type of recipe specified by the recipe specifying unit 1d for each ingredient group satisfies a predetermined quantity condition (see S413, S414, S415, etc. in FIG. 11). ).

例えばユーザが一週間に一度、食材をまとめて購入することなどを想定する。この購入した食材を、レシピ提供回数(例えば一週間の毎日の夕食用とすると7回)に振り分けて食材グループGP1〜GPnを設定する。そして食材グループGP1〜GPn毎に、その食材グループ内の食材で調理可能なレシピを特定する。そして食材グループ毎、例えば毎日の夕食毎に、いくつかのレシピをユーザに提示する。   For example, it is assumed that a user purchases foods once a week. The purchased ingredients are distributed to the number of times the recipe is provided (for example, seven times for dinner for one week), and the ingredient groups GP1 to GPn are set. And the recipe which can be cooked with the foodstuff in the foodstuff group for every foodstuff group GP1-GPn is specified. Then, several recipes are presented to the user for each ingredient group, for example, for each daily dinner.

これにより、食材を必要な回数に振り分けた上で、毎回の食事について適切(つまり現在ある食材で調理可能)なレシピがユーザに提供されることになる。ユーザにとっては、毎回提示されるレシピのうちで任意のレシピを選択して料理をおこなっていけば、例えば1週間分などとしてまとめて購入した食材を、うまく毎日の食事に振り分けて利用できることになる。従って、ユーザは食材の配分を気にしていなくてもよい。   Thereby, after distributing ingredients to the required number of times, a recipe appropriate for each meal (that is, cooking with existing ingredients) is provided to the user. For the user, if an arbitrary recipe is selected from the recipes presented each time and cooking is performed, for example, ingredients purchased together for one week, etc. can be distributed and used for daily meals. . Therefore, the user does not have to be concerned about the distribution of ingredients.

また、毎回の食事毎に予め配分された食材で提示されるレシピが特定されるため、毎回多様なレシピが提供される。特にレシピの数または種別が数量条件を満たすような食材グループ設定が行われることで、毎回提示されるレシピの数、或いは料理種別の種類の数が、適度に多く、バリエーションに富んだものにできる。このためユーザの選択肢が豊富で満足度の高いレシピ提供サービスを実現できる。
そして毎回ある程度多様なレシピを選ぶことができつつ、n回先までの食事を在庫の食材でまかなえることで、ユーザが本サービスを利用する満足度が上昇する。
特にインターネット通販による定期購入、生活協同組合による一括購入、生鮮食料品配達サービスを利用した購入、週一でのマーケットでの大量購入などを実行しているユーザにとって好適である。
Moreover, since the recipe shown with the foodstuff previously distributed for every meal is specified, various recipes are provided each time. In particular, by setting the food group so that the number or type of recipes satisfies the quantity condition, the number of recipes or the number of types of dishes presented each time can be moderately large and rich in variations. . Therefore, it is possible to realize a recipe providing service with abundant user options and high satisfaction.
In addition, while being able to select a variety of recipes to some extent each time, the user's satisfaction with using this service is increased by providing food up to n times ahead with the ingredients in stock.
It is particularly suitable for users who are performing regular purchases via Internet shopping, collective purchases by consumer cooperatives, purchases using fresh food delivery services, bulk purchases on the market once a week, and the like.

またユーザが短時間で容易に望みのレシピを発見できるような使用性の良いレシピ提供システムを実現できる。現状で調理可能なレシピが充実した選択肢で提示されるためである。
またこれによって、検索のし直しなども減少することが見込まれるため、ネットワークシステムでの総通信量の削減や、それによる通信トラフィックの有効利用を促進できる。
更に、ユーザの利用するユーザ端末3における限られた(例えば、モニタなどの)提示領域において、価値のある情報(レシピ)を提示することにより、ユーザ端末3の資源を有効活用することができる。
Further, it is possible to realize a recipe providing system with good usability so that the user can easily find a desired recipe in a short time. This is because recipes that can be cooked at present are presented with a wide range of choices.
In addition, since it is expected that the number of re-searches will be reduced, it is possible to promote the reduction of the total communication amount in the network system and the effective use of the communication traffic.
Furthermore, by presenting valuable information (recipe) in a limited presentation area (for example, a monitor) in the user terminal 3 used by the user, the resources of the user terminal 3 can be effectively utilized.

実施の形態では、食材グループGP1〜GPnの設定に関し、取得した食材の情報に含まれる食材毎の汎用性を示す情報を取得し、取得した汎用性を示す情報で示される値が相対的に高い食材が異なる食材グループに振り分けられるように食材グループを設定する例を示した(図13,図14参照)。
ある食材グループに汎用性が高い食材ばかり集められると、その食材グループについては対応するレシピ数が多くなるが、他の食材グループでは対応するレシピ数が少なくなってしまうことが想定される。そこで、汎用性が高い食材があるグループに集中しないようにする。これにより、各食材グループに対応するレシピの数や種類をある程度均等化でき、毎回の提示の際のユーザの選択肢を確保しやすくなる。
またこのアルゴリズムを用いて食材グループGP1〜GPnの設定を行うことで、数量条件をクリアできる可能性も高くなり、設定のやり直しが減少することが見込まれる。従ってレシピ管理サーバ1の処理負担も低減できる。
In the embodiment, regarding the setting of the food groups GP1 to GPn, information indicating the versatility of each food contained in the acquired food information is acquired, and the value indicated by the acquired information indicating the generality is relatively high The example which sets an ingredient group so that ingredients could be distributed to different ingredient groups was shown (refer to Drawing 13 and Drawing 14).
When only a highly versatile ingredient is collected in a certain ingredient group, the number of corresponding recipes increases for that ingredient group, but it is assumed that the number of corresponding recipes decreases in other ingredient groups. Therefore, avoid concentrating on groups with highly versatile ingredients. As a result, the number and types of recipes corresponding to each ingredient group can be equalized to some extent, and it becomes easy to secure the user's options for each presentation.
In addition, by setting the food material groups GP1 to GPn using this algorithm, the possibility that the quantity condition can be cleared increases, and it is expected that re-setting will be reduced. Therefore, the processing load on the recipe management server 1 can be reduced.

実施の形態では、食材を分量単位で各食材グループGP1〜GPnに振り分けて食材グループGP1〜GPnを設定する例を述べた(図8、図12B参照)。
これにより、各食材グループGP1〜GPnにおいて共通の食材を用いたレシピも対応可能であり、各食材グループGP1〜GPnに対応するレシピの数や料理種別数を確保しやすいものとすることができる。
また実施の形態としての図11の処理では、食材を、食材毎に設定された分量単位で各食材グループに振り分けたことにより数量条件を満たせなくなる場合は、各食材グループに振り分ける食材の分量の調整を行う例を述べた(S415)。
これは1つの食材を特定の分量毎に振り分けると、場合によっては対応するレシピ数が極端に減少してしまうこともあるため、数量条件を満たすように振り分ける分量を調整するものである。これにより、1つの食材を柔軟に各食材グループに振り分け、もって各食材グループに対応するレシピの数や料理種別数を確保しやすいものとすることができる。
In the embodiment, an example has been described in which food ingredients are allocated to the food ingredient groups GP1 to GPn in units of quantities and the food ingredient groups GP1 to GPn are set (see FIGS. 8 and 12B).
Thereby, recipes using common ingredients can be handled in each of the ingredient groups GP1 to GPn, and the number of recipes and the number of types of dishes corresponding to the ingredient groups GP1 to GPn can be easily secured.
In the process of FIG. 11 as an embodiment, when the quantity condition cannot be satisfied by distributing the ingredients to each ingredient group in the unit of quantity set for each ingredient, adjustment of the quantity of ingredients to be assigned to each ingredient group An example of performing is described (S415).
This is to adjust the amount to be distributed so as to satisfy the quantity condition because the number of corresponding recipes may be extremely reduced in some cases if one food is distributed for each specific amount. Thereby, one foodstuff can be flexibly distributed to each foodstuff group, and it can be made easy to secure the number of recipes and the number of cooking types corresponding to each foodstuff group.

また第2の実施の形態としての図18の処理では、食材を分量単位で各食材グループGP1〜GPnに振り分けたことにより数量条件を満たせなくなる場合において、レシピに設定されている食材の分量を変更することで、数量条件を満たすか否かを確認するようにしている(S420,S421参照)。
食材の分量が足りなくて、あるレシピがある食材グループに対応できないとされる場合がある。その場合に、そのレシピに設定されている分量を変更することで、当該レシピを食材グループに対応するレシピとすることができる。
これにより、1つの食材グループに対応するレシピの数や料理種別数を確保しやすいものとすることができる。
またこの手法で数量条件をクリアできる場合、食材グループGP1〜GPnについての設定はやり直さなくてよいためレシピ管理サーバ1の処理負担が軽減される。
Further, in the process of FIG. 18 as the second embodiment, the amount of ingredients set in the recipe is changed when the quantity condition cannot be satisfied by distributing the ingredients to each ingredient group GP1 to GPn in units of quantities. By doing so, it is confirmed whether or not the quantity condition is satisfied (see S420 and S421).
In some cases, the amount of ingredients is insufficient, and a certain recipe cannot be handled by a certain ingredient group. In that case, the recipe can be made into the recipe corresponding to a foodstuff group by changing the quantity set to the recipe.
Thereby, the number of recipes corresponding to one food group and the number of types of dishes can be easily secured.
Further, when the quantity condition can be cleared by this method, the processing load on the recipe management server 1 is reduced because it is not necessary to redo the settings for the food material groups GP1 to GPn.

実施の形態では、各食材グループに対応したレシピを特定した後において、追加可能な食材の情報を取得した場合、食材の再割り当て、再割り当ての状態での追加レシピの特定、及び追加レシピを追加した状態でのレシピの提示制御を行う例を挙げた。
即ち第3の実施の形態においては、各食材グループGP1〜GPnに対応したレシピを特定した後において、2回目以降のレシピ提供の際には、前回以前のレシピ提供にかかる余剰食材の再割り当てをおこない、再割り当ての状態で追加レシピを特定する(図19のS311参照)。そして追加レシピを追加した状態でのレシピの提示制御を行う。
例えば1回目の提示は、1回目として1回目用の食材グループGP1とされた食材で調理可能なレシピが提示される。しかし、ユーザがその中でどのレシピを選択して料理を行うかに応じて余剰食材が生ずる。そこで2回目以降の提示の時点では、余剰食材を残りの各食材グループGP2〜GPnに振り分けた上で、調理可能なレシピを特定し、これを追加レシピとして提示する。
これにより、2回目以降のレシピ提示の際には、それまでに余った食材が有効利用されて多様なレシピが表示できる。ユーザの選択によっては、余剰食材を有効利用できることになる。またユーザにとっては、なるべく余剰食材を生じないようなレシピ選択の機会が与えられる。
また、この第3の実施の形態においては、食材の追加情報を取得した場合も追加食材の再割り当てをおこない、再割り当ての状態で追加レシピを特定する(図19のS311参照)。そして追加レシピを追加した状態でのレシピの提示制御を行う。
例えば1週間分の食材の割り当てとレシピの特定を行った後に、食材が追加された場合、以降のレシピ提示としては、追加食材を反映させたレシピも追加提示されるようにする。
これにより追加食材が有効利用されて多様なレシピが表示できる。
In the embodiment, after acquiring recipes corresponding to each ingredient group, if information on the ingredients that can be added is acquired, the ingredients are reassigned, the additional recipe is specified in the reassigned state, and the additional recipe is added. The example which performs the presentation control of the recipe in the state which carried out was given.
That is, in the third embodiment, after specifying the recipe corresponding to each food group GP1 to GPn, when the recipe is provided for the second time or later, the surplus ingredients related to the previous and previous recipes are reallocated. The additional recipe is specified in the reassigned state (see S311 in FIG. 19). And the presentation control of the recipe in the state which added the additional recipe is performed.
For example, the first presentation presents a recipe that can be cooked with ingredients that are the first food group GP1. However, surplus ingredients are generated depending on which recipe the user selects to cook. Therefore, at the time of presentation for the second time and thereafter, after the surplus ingredients are distributed to the remaining ingredient groups GP2 to GPn, a recipe that can be cooked is specified and presented as an additional recipe.
As a result, when presenting recipes for the second and subsequent times, a variety of recipes can be displayed by effectively using the remaining ingredients. Depending on the user's selection, the surplus ingredients can be used effectively. In addition, the user is given an opportunity to select a recipe that generates as little extra food as possible.
Moreover, in this 3rd Embodiment, also when the additional information of foodstuff is acquired, reassignment of an additional foodstuff is performed and an additional recipe is specified in the state of reassignment (refer S311 of FIG. 19). And the presentation control of the recipe in the state which added the additional recipe is performed.
For example, when an ingredient is added after assigning ingredients for one week and specifying a recipe, a recipe reflecting the additional ingredients is additionally presented as a subsequent recipe presentation.
Thereby, additional ingredients can be used effectively and various recipes can be displayed.

実施の形態では、数量条件として、各食材グループGP1〜GPnについて特定されたレシピ数の差、又は各食材グループGP1〜GPnについて特定されたレシピにおける料理種別の数の差が所定範囲内とする例を述べた(図15A、図15B参照)。
これにより毎回提示するレシピのうち、あるときだけ極端にレシピ数が少なくなってしまったり、あるときは過大となるような不均一な状態を避けられ、安定した数の選択肢をユーザに提供できる。
ここで、各食材グループGP1〜GPnについて特定されたレシピ数又は各食材グループについて特定されたレシピにおける料理種別の数の偏りについての数量条件が、食材グループの数に応じて設定されるものとした(図15AのS601,図15BのS623参照)。
例えば食材グループ数が多いほど、条件を厳しくすることで、不均一な状態を避け、安定した数の選択肢をユーザに提供できる状態を維持できる。
In the embodiment, as the quantity condition, an example in which the difference in the number of recipes specified for each food group GP1 to GPn or the difference in the number of cooking types in the recipe specified for each food group GP1 to GPn is within a predetermined range. (See FIGS. 15A and 15B).
This makes it possible to avoid a non-uniform state in which the number of recipes that are presented each time is extremely small or excessive in some cases, and a stable number of options can be provided to the user.
Here, the quantity condition about the number of recipes specified for each ingredient group GP1 to GPn or the deviation of the number of cooking types in the recipe specified for each ingredient group is set according to the number of ingredient groups. (See S601 in FIG. 15A and S623 in FIG. 15B).
For example, the larger the number of food groups, the more severe the conditions, thereby avoiding a non-uniform state and maintaining a state where a stable number of options can be provided to the user.

なお、食材が余ること自体は、本実施の形態では問題としていない。つまり余ってもよい。例えば結果的に一週間後に余った食材が存在しても、それは次の提示設定に反映させればよいためである。また余った食材はユーザが自由に使用すればよいためでもある。本実施の形態は、ある複数回の調理機会において、それぞれ食材を分配し、バリエーション豊かなレシピを提案することを主眼としている。従って、第3の実施の形態のような追加レシピ設定を行わない第1の実施の形態も十分に有効である。   It should be noted that the surplus of food itself is not a problem in the present embodiment. In other words, it may be left. For example, as a result, even if there is a surplus food material after one week, it may be reflected in the next presentation setting. Moreover, it is because a user should just use the surplus foodstuff freely. The present embodiment is mainly intended to provide a variety of recipes by distributing foods at a plurality of cooking occasions. Therefore, the first embodiment that does not perform additional recipe setting as in the third embodiment is also sufficiently effective.

また実施の形態では、数量条件として、各食材グループGP1〜GPnについて特定されたレシピの数、又は各食材グループGP1〜GPnについて特定されたレシピにおける料理種別の数が、所定の最小値以上であるとする例を述べた(図16A、図16B参照)。
これにより毎回提示するレシピのうち、あるときだけ極端に少ないレシピ数や料理種別数で提示が行われることを避けられ、毎回十分な選択肢をユーザに提供できる。
ここで、各食材グループGP1〜GPnについて特定されたレシピ数又は各食材グループについて特定されたレシピにおける料理種別の数の最小値としての数量条件が、食材グループの数に応じて設定されるものとした(図16AのS611,図16BのS623参照)。
例えば食材グループ数が多いほど、最小値の条件を厳しくすることで、不均一な状態を避け、安定した数の選択肢をユーザに提供できる状態を維持できる。
In the embodiment, as the quantity condition, the number of recipes specified for each ingredient group GP1 to GPn, or the number of dish types in the recipe specified for each ingredient group GP1 to GPn is equal to or greater than a predetermined minimum value. (See FIGS. 16A and 16B).
As a result, it is possible to avoid presenting with an extremely small number of recipes and the number of types of dishes among recipes to be presented each time, and to provide sufficient options to the user each time.
Here, the quantity condition as the minimum value of the number of recipes specified for each ingredient group GP1 to GPn or the number of cooking types in the recipe specified for each ingredient group is set according to the number of ingredient groups. (See S611 in FIG. 16A and S623 in FIG. 16B).
For example, as the number of food groups increases, the condition of the minimum value is tightened, so that a non-uniform state can be avoided and a state where a stable number of options can be provided to the user can be maintained.

なお本発明の情報処理装置の構成や処理は上記実施の形態で言及した物に限定されず、さらに多様な変形例が想定される。
毎回提供する推奨レシピとしては、例えば主菜のみとしたり、或いは、主菜、副菜のセット、さらには1食分の全てのセットとして複数レシピの組で提示してもよい。例えばメインディッシュのレシピ、スープのレシピ、サラダのレシピを1組の推奨レシピとしてもよい。
Note that the configuration and processing of the information processing apparatus of the present invention are not limited to the ones mentioned in the above embodiment, and various modifications can be assumed.
As a recommended recipe to be provided every time, for example, only a main dish, or a set of main dishes and side dishes, or a set of a plurality of recipes may be presented as a set of all meals. For example, a main recipe, a soup recipe, and a salad recipe may be used as a set of recommended recipes.

実施の形態では、毎回の提示機会にユーザに対して、その回の推奨レシピの提示を行う例としたが、例えば残りの回の全てをユーザが閲覧できるようにしてもよい。
例えばあるユーザについて1週間分の推奨レシピを特定したら、そのユーザがレシピサイトを訪問した際に、その1週間分の推奨レシピを提示する。これによってユーザは献立の計画を立てやすくなる。
In the embodiment, the recommended recipe is presented to the user at each presentation opportunity. However, for example, the user may be able to view all the remaining times.
For example, when a recommended recipe for one week is specified for a certain user, when the user visits the recipe site, the recommended recipe for the week is presented. This makes it easier for the user to plan a menu.

また実施の形態では言及していないが、複数人分のレシピ設定を予め入力することで、
それに応じて食材グループ設定、レシピ特定が行われることは当然に考えられる。
例えば家族4人のユーザに対しては、食材グループGP1〜GPnの食材は、それぞれ4人分の食材ということで調理可能なレシピ検索が行われればよい。
Although not mentioned in the embodiment, by inputting recipe settings for a plurality of people in advance,
Naturally, it is conceivable that food group setting and recipe identification are performed accordingly.
For example, for a user of four family members, it is only necessary to search for recipes that can be cooked because the ingredients of the ingredient groups GP1 to GPn are ingredients for four people.

図10〜図16で説明した処理は、必ずしもバッチ処理でおこなわれるようにする必要は無い。上記処理が十分に高速に実現できるのであれば、ユーザがログインしたときに、そのログインユーザについて図10の処理を行い、必要に応じて提示設定処理を行うようにすることもできる。   The processing described with reference to FIGS. 10 to 16 is not necessarily performed by batch processing. If the above process can be realized at a sufficiently high speed, when the user logs in, the process shown in FIG. 10 may be performed for the logged-in user, and the presentation setting process may be performed as necessary.

推奨レシピを提示するのはレシピサイトのトップページでなくてもよい。
その場合、ユーザ端末3からの推奨レシピの提示の要求に応じてレシピ管理サーバ1は図17のステップS704〜S707の処理を行えばよい。
It is not necessary to present the recommended recipe on the top page of the recipe site.
In that case, the recipe management server 1 may perform the processes of steps S704 to S707 in FIG. 17 in response to a request for presentation of a recommended recipe from the user terminal 3.

実施の形態では、食材情報を格納履歴DB53で把握できる実際の追加の履歴から取得するものとしたが、食材追加の推定を行って未来の時点での追加食材情報を取得することも考えられる。
例えば過去の食材情報の格納履歴に基づいて、ある時点での追加量を推定することができる。
また食材の残余の量に基づいて追加量を推定することもできる。
またまだ購入前であるが生活協同組合やネットスーパーなどの注文情報に基づいて、未来のある時点での食材追加量を特定することもできる。
このような食材の追加の推定に基づいて、未来の時点での提示設定を行ったり、再提示設定を行って推奨レシピを追加することもできる。
また食材の追加可能性を、例えば食材の残余の量に基づいて推定したり、食材の現在価格に基づいて推定することもできる。特にユーザ毎の購入価格の相場を判定し、それを考慮して、ある食材が安くなったら、そろそろ購入しそうだという推定を行い、それを提示設定処理や再提示設定処理で反映させてもよい。
In the embodiment, the food material information is acquired from the actual additional history that can be grasped by the storage history DB 53. However, it is also conceivable to perform additional food material estimation and acquire additional food material information at a future time point.
For example, the additional amount at a certain point in time can be estimated based on the storage history of past food information.
Further, the additional amount can be estimated based on the remaining amount of the food material.
It is also possible to specify the amount of food added at a certain point in the future, based on order information from a consumer cooperative or internet supermarket, but not yet purchased.
Based on such additional estimation of ingredients, it is also possible to make a presentation setting at a future point in time or add a recommended recipe by performing a re-presentation setting.
Moreover, the possibility of addition of foodstuffs can be estimated based on the remaining amount of foodstuffs, for example, or can be estimated based on the current price of foodstuffs. In particular, it is possible to determine the market price of the purchase price for each user, and take into consideration that, when a certain ingredient becomes cheaper, estimate that it is likely to purchase soon, and reflect it in the presentation setting process and re-presentation setting process .

<9.プログラム及び記憶媒体>
本発明の実施の形態のプログラムは、レシピ管理サーバ1における食材情報取得部1a、提供回数特定部1b、食材グループ設定部1c、レシピ特定部1d、提示制御部1eの機能による処理を情報処理装置(CPU等)に実行させるプログラムである。
<9. Program and Storage Medium>
The program according to the embodiment of the present invention is an information processing apparatus that performs processing based on the functions of the ingredient information acquisition unit 1a, the provision number specifying unit 1b, the ingredient group setting unit 1c, the recipe specifying unit 1d, and the presentation control unit 1e in the recipe management server 1. This is a program to be executed by (CPU etc.)

実施の形態のプログラムは、食材の格納履歴を記憶する記憶装置から所定の条件を満たす食材の情報を取得する食材情報取得手順(S401)と、記憶装置(格納履歴DB53)に記憶された格納履歴に基づいて、食材が追加される周期を判定し、判定した周期に基づいてレシピ提供回数を特定する提供回数特定手順(S402,S403)と、食材情報取得手順で取得した食材の情報に含まれる各食材を振り分けて、レシピ提供回数に応じた数の食材グループGP1〜GPnを設定する食材グループ設定手順(S407)と、食材グループ毎に、割り当てられた食材に基づいてレシピを特定するレシピ特定手順(S410)と、食材グループGP1〜GPn毎に特定されたレシピの提示制御を行う提示制御手順(S704〜S707)とを情報処理装置に実行させる。さらに、食材グループ設定手順では、レシピ特定手順で各食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすことになる食材の振り分けを情報処理装置に実行させる(S407〜S415)。   The program according to the embodiment includes an ingredient information acquisition procedure (S401) for acquiring information on ingredients satisfying a predetermined condition from a storage device that stores the storage history of ingredients, and a storage history stored in the storage device (storage history DB 53). The number of times of adding foods is determined, and the provision number specifying procedure (S402, S403) for specifying the number of times the recipe is provided based on the determined period and the information on the ingredients acquired in the ingredient information acquisition procedure are included. The ingredients group setting procedure (S407) for assigning each ingredient and setting the number of ingredient groups GP1 to GPn according to the number of times the recipe is provided, and the recipe identifying procedure for identifying the recipe based on the assigned ingredients for each ingredient group (S410) and a presentation control procedure (S704 to S707) for performing presentation control of the recipe specified for each of the food material groups GP1 to GPn. To be executed by the broadcast processing apparatus. Further, in the food material group setting procedure, the information processing apparatus is caused to execute a food material distribution in which the number of recipes or the cooking type specified for each food material group in the recipe specifying procedure satisfies a predetermined quantity condition (S407 to S415).

このようなプログラムにより、上述したレシピ管理サーバ1はとしての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置等の機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記憶しておくことができる。あるいはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記憶媒体に、一時的あるいは永続的に格納(記憶)しておくことができる。またこのようなリムーバブル記憶媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記憶媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
By such a program, the information processing apparatus as the above-described recipe management server 1 can be realized.
Such a program can be stored in advance in an HDD as a storage medium built in a device such as a computer device, a ROM in a microcomputer having a CPU, or the like. Alternatively, it can be stored (stored) temporarily or permanently in a removable storage medium such as a semiconductor memory, memory card, optical disk, magneto-optical disk, or magnetic disk. Such a removable storage medium can be provided as so-called package software.
Further, such a program can be installed from a removable storage medium to a personal computer or the like, or can be downloaded from a download site via a network such as a LAN or the Internet.

1 レシピ管理サーバ、1a 食材情報取得部、1b 提供回数特定部、1c 食材グループ設定部、1d レシピ特定部、1e 提示制御部、1f レシピ管理部、2 ネットワーク、3 ユーザ端末、4 ECサーバ、50 レシピDB、51 ユーザDB、52 検索DB、53,53A 格納履歴DB、54 商品DB、55 食材DB、56 提示設定DB   DESCRIPTION OF SYMBOLS 1 Recipe management server, 1a Ingredient information acquisition part, 1b Provision number specification part, 1c Ingredient group setting part, 1d Recipe specification part, 1e Presentation control part, 1f Recipe management part, 2 network, 3 user terminal, 4 EC server, 50 Recipe DB, 51 User DB, 52 Search DB, 53, 53A Storage History DB, 54 Product DB, 55 Food DB, 56 Presentation Settings DB

Claims (8)

食材の格納履歴を記憶する記憶装置から少なくとも在庫情報を含む食材の情報を取得する食材情報取得部と、
前記記憶装置に記憶された格納履歴に基づいて判定された食材が追加される周期に応じてレシピ提供回数を特定する提供回数特定部と、
前記取得した食材の情報と前記特定されたレシピ提供回数に基づいて、当該食材の情報に含まれる各食材を、当該レシピ提供回数に応じた数の食材グループに振り分ける食材グループ設定部と、
前記食材グループ毎に、前記振り分けられた食材に基づいてレシピを特定するレシピ特定部と、
前記食材グループ毎に特定されたレシピの提示制御を行う提示制御部と、
を備え、
前記食材グループ設定部は、前記レシピ特定部が各前記食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすように食材の振り分けを行う
情報処理装置。
An ingredient information acquisition unit for acquiring information on ingredients including at least inventory information from a storage device for storing the storage history of the ingredients;
A provision number specifying unit that specifies the number of times the recipe is provided according to the period in which the ingredients determined based on the storage history stored in the storage device are added;
Based on the information on the acquired ingredients and the specified number of times of providing the recipe, each ingredient included in the information on the ingredients is divided into a number of ingredient groups according to the number of times of providing the recipe,
For each food group, a recipe identifying unit that identifies a recipe based on the sorted food,
A presentation control unit for controlling the presentation of the recipe specified for each food group;
With
The food material group setting unit distributes foods so that the number of recipes or the type of food specified by the recipe specifying unit for each food group satisfies a predetermined quantity condition.
前記食材グループ設定部は、前記取得した食材の情報に含まれる食材毎の汎用性を示す情報を取得し、当該取得した汎用性を示す情報で示される値が相対的に高い食材が異なる食材グループに振り分けられるように食材グループを設定する
請求項1に記載の情報処理装置。
The food group setting unit acquires information indicating versatility for each food contained in the acquired information on the food, and the food groups having different relatively high values indicated by the acquired information indicating the versatility The information processing apparatus according to claim 1, wherein the food material group is set so as to be distributed to each other.
前記食材グループ設定部は、食材を分量単位で各食材グループに振り分けて食材グループを設定するとともに、設定した各食材グループについて前記数量条件を満たせなくなる場合は、各食材グループに振り分ける食材の分量の再設定を行う
請求項1又は請求項2に記載の情報処理装置。
The ingredient group setting unit assigns ingredients to each ingredient group in units of quantities and sets the ingredient groups. If the quantity condition cannot be satisfied for each ingredient group that has been set, the ingredient group assignment unit is re-established. The information processing apparatus according to claim 1, wherein setting is performed.
各食材グループに対応したレシピを特定した後において、追加可能な食材の情報を取得した場合、
前記食材グループ設定部が食材の再割り当てをおこない、
前記レシピ特定部が前記再割り当ての状態で追加レシピを特定し、
前記提示制御部は、前記追加レシピを追加した状態でのレシピの提示制御を行う
請求項1乃至請求項3のいずれかに記載の情報処理装置。
After identifying recipes that correspond to each ingredient group, if you get information on ingredients that can be added,
The ingredient group setting unit reassigns ingredients,
The recipe identification unit identifies an additional recipe in the reassigned state,
The information processing apparatus according to claim 1, wherein the presentation control unit performs recipe presentation control in a state where the additional recipe is added.
各食材グループについて特定されたレシピ数又は各食材グループについて特定されたレシピにおける料理種別の数の偏りについての前記数量条件が、食材グループの数に応じて設定される
請求項1乃至請求項4のいずれかに記載の情報処理装置。
5. The quantity condition for the number of recipes specified for each ingredient group or the deviation of the number of cooking types in the recipe specified for each ingredient group is set according to the number of ingredient groups. The information processing apparatus according to any one of the above.
各食材グループについて特定されたレシピ数又は各食材グループについて特定されたレシピにおける料理種別の数の最小値としての前記数量条件が、食材グループの数に応じて設定される
請求項1乃至請求項4のいずれかに記載の情報処理装置。
The quantity condition as the minimum value of the number of recipes specified for each ingredient group or the number of types of recipes in the recipe specified for each ingredient group is set according to the number of ingredient groups. The information processing apparatus according to any one of the above.
情報処理装置が実行する情報処理方法として、
食材の格納履歴を記憶する記憶装置から少なくとも在庫情報を含む食材の情報を取得する食材情報取得ステップと、
前記記憶装置に記憶された格納履歴に基づいて判定された食材が追加される周期に応じてレシピ提供回数を特定する提供回数特定ステップと、
前記取得した食材の情報と前記特定されたレシピ提供回数に基づいて、当該食材の情報に含まれる各食材を、当該レシピ提供回数に応じた数の食材グループに振り分ける食材グループ設定ステップと、
前記食材グループ毎に、前記振り分けられた食材に基づいてレシピを特定するレシピ特定ステップと、
前記食材グループ毎に特定されたレシピの提示制御を行う提示制御ステップと、
を備え、
前記食材グループ設定ステップでは、前記レシピ特定ステップで各前記食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすように食材の振り分けを行う
情報処理方法。
As an information processing method executed by the information processing apparatus,
Ingredient information acquisition step for acquiring information on ingredients including at least inventory information from a storage device that stores the storage history of the ingredients;
A provision number specifying step for specifying the number of times the recipe is provided according to the period in which the ingredients determined based on the storage history stored in the storage device are added,
Ingredient group setting step of allocating each ingredient included in the ingredient information to the number of ingredient groups according to the recipe provision number based on the acquired ingredient information and the specified recipe provision number,
Recipe identifying step for identifying a recipe based on the sorted ingredients for each ingredient group,
A presentation control step for controlling the presentation of the recipe specified for each food group;
With
In the food material group setting step, the food material is distributed so that the number of recipes or the type of food specified for each food material group in the recipe specifying step satisfies a predetermined quantity condition.
食材の格納履歴を記憶する記憶装置から少なくとも在庫情報を含む食材の情報を取得する食材情報取得手順と、
前記記憶装置に記憶された格納履歴に基づいて判定された食材が追加される周期に応じてレシピ提供回数を特定する提供回数特定手順と、
前記取得した食材の情報と前記特定されたレシピ提供回数に基づいて、当該食材の情報に含まれる各食材を、当該レシピ提供回数に応じた数の食材グループに振り分ける食材グループ設定手順と、
前記食材グループ毎に、前記振り分けられた食材に基づいてレシピを特定するレシピ特定手順と、
前記食材グループ毎に特定されたレシピの提示制御を行う提示制御手順と、
を情報処理装置に実行させるとともに、
前記食材グループ設定手順では、前記レシピ特定手順で各前記食材グループについて特定するレシピの数または料理種別が所定の数量条件を満たすことになる食材の振り分けを情報処理装置に実行させるプログラム。
Ingredient information acquisition procedure for acquiring information on ingredients including at least inventory information from a storage device that stores the storage history of ingredients;
A provision number specifying procedure for specifying the number of recipe provisions according to the period in which the ingredients determined based on the storage history stored in the storage device are added,
Ingredient group setting procedure for allocating each ingredient included in the ingredient information based on the acquired ingredient information and the identified recipe provision number to the number of ingredient groups according to the recipe provision number,
Recipe identification procedure for identifying a recipe based on the sorted ingredients for each ingredient group,
A presentation control procedure for performing presentation control of the recipe specified for each food group;
To the information processing device,
In the food material group setting procedure, a program for causing the information processing apparatus to execute a food material distribution in which the number of recipes or the cooking type specified for each food material group in the recipe specifying procedure satisfy a predetermined quantity condition.
JP2017553200A 2016-04-07 2016-04-07 Information processing apparatus, information processing method, and program Active JP6262923B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/061394 WO2017175354A1 (en) 2016-04-07 2016-04-07 Information processing device, information processing method, and program

Publications (2)

Publication Number Publication Date
JP6262923B1 true JP6262923B1 (en) 2018-01-17
JPWO2017175354A1 JPWO2017175354A1 (en) 2018-04-19

Family

ID=60001083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017553200A Active JP6262923B1 (en) 2016-04-07 2016-04-07 Information processing apparatus, information processing method, and program

Country Status (2)

Country Link
JP (1) JP6262923B1 (en)
WO (1) WO2017175354A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7043378B2 (en) * 2018-09-20 2022-03-29 ヤフー株式会社 Information provision system, information provision method, and program
JP7433833B2 (en) 2019-10-16 2024-02-20 株式会社日立ソリューションズ・クリエイト Menu provision system
WO2024069724A1 (en) * 2022-09-27 2024-04-04 三菱電機株式会社 Food supply support system, food supply support device, and food supply support method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041667A (en) * 2000-07-31 2002-02-08 Kyushu Hitachi Maxell Ltd Method for managing food material
JP2010061276A (en) * 2008-09-02 2010-03-18 Nomura Research Institute Ltd Menu proposition device
JP2010250793A (en) * 2009-03-24 2010-11-04 Naoshi Hashimoto Cooking support system, program, recording medium, and method, for supporting purchase and inventory management of food for cooking
JP2013058061A (en) * 2011-09-08 2013-03-28 Dainippon Printing Co Ltd Menu recommending server, menu recommending system, menu recommending method, program, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041667A (en) * 2000-07-31 2002-02-08 Kyushu Hitachi Maxell Ltd Method for managing food material
JP2010061276A (en) * 2008-09-02 2010-03-18 Nomura Research Institute Ltd Menu proposition device
JP2010250793A (en) * 2009-03-24 2010-11-04 Naoshi Hashimoto Cooking support system, program, recording medium, and method, for supporting purchase and inventory management of food for cooking
JP2013058061A (en) * 2011-09-08 2013-03-28 Dainippon Printing Co Ltd Menu recommending server, menu recommending system, menu recommending method, program, and recording medium

Also Published As

Publication number Publication date
JPWO2017175354A1 (en) 2018-04-19
WO2017175354A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
JP6458129B2 (en) Method and system for providing meal recommendations
JP5956706B1 (en) Information processing system, information processing apparatus, information processing method, and program
JP7284408B2 (en) Information processing device, information processing method and program
JP6957879B2 (en) Food ordering system and food ordering method
JP6291145B2 (en) Information processing apparatus, information processing method, program, and storage medium
JP6641460B2 (en) Information processing apparatus, information processing method, and program
JP6262923B1 (en) Information processing apparatus, information processing method, and program
JP5956707B1 (en) Information processing system, information processing apparatus, information processing method, and program
JP7447800B2 (en) Receipt processing device, control method, and program
JP6599530B1 (en) Information processing apparatus, information processing method, program, and storage medium
JP6279823B1 (en) Information processing apparatus, information processing method, and program
JP6681679B2 (en) Information processing apparatus, information processing method, and program
JP7127324B2 (en) Information processing device, information processing method and program
JP7095267B2 (en) Information processing equipment, information processing methods and programs
JP6890747B2 (en) Information processing equipment, information processing methods, programs
JP7303425B2 (en) Information processing device, information processing method and program
JP4895619B2 (en) Product information provision system
JP4895618B2 (en) Product information provision system
JP4895620B2 (en) Product information provision system
US9165303B2 (en) Fresh product system
JP2012043106A (en) Information processing system and information processing method
JP2022043924A (en) Information processing system, information processing method, and information processing program
JP2023087659A (en) Information processing system, information processing method and program
JP2021043721A (en) Method for managing menu, system, program, recording medium, server and terminal
JP2019028854A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171010

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171010

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171214

R150 Certificate of patent or registration of utility model

Ref document number: 6262923

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250