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

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

Info

Publication number
JP6641460B2
JP6641460B2 JP2018510190A JP2018510190A JP6641460B2 JP 6641460 B2 JP6641460 B2 JP 6641460B2 JP 2018510190 A JP2018510190 A JP 2018510190A JP 2018510190 A JP2018510190 A JP 2018510190A JP 6641460 B2 JP6641460 B2 JP 6641460B2
Authority
JP
Japan
Prior art keywords
category
information
user
cooking
time
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
JP2018510190A
Other languages
Japanese (ja)
Other versions
JPWO2017175355A1 (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
Publication of JPWO2017175355A1 publication Critical patent/JPWO2017175355A1/en
Priority to JP2019239501A priority Critical patent/JP6890747B2/en
Application granted granted Critical
Publication of JP6641460B2 publication Critical patent/JP6641460B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Treatment And Welfare Office Work (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、レシピを管理する情報処理装置、情報処理方法及びプログラムについての技術分野に関する。詳しくは、ユーザにレシピを提示するための各種処理に関する。   The present invention relates to a technical field of an information processing apparatus, an information processing method, and a program for managing a recipe. More specifically, the present invention relates to various processes for presenting a recipe to a user.

特開2015−153286号公報JP 2015-153286 A 特開2003−256577号公報JP 2003-256577 A 特開2015−028767号公報JP-A-2005-028767

近年では、一般ユーザの投稿などによって蓄積されたレシピの情報を提供するレシピ検索サービスなどが普及している。
一般的に毎日の食事を考えることは煩わしい作業である。そのため、ユーザにレシピ情報などを推薦(提供)するための様々な技術が提案されている。
例えば、特許文献1には、料理のメニュー情報及び食材の在庫情報とユーザの嗜好情報を用いてユーザの好みにあった材料を使用したメニュー情報を提供する技術について記載されている。
また、特許文献2には、ユーザの健康状態と生活環境と疾患に応じた献立スケジュールのうちユーザに選択された献立スケジュールに設定された弁当を発注する技術について記載されている。
更に、特許文献3には、以前推薦されたレシピが既出レシピとして記憶されており、既出レシピと重複するレシピを除外して残りのレシピを提供する技術について記載されている。
In recent years, a recipe search service that provides information on recipes accumulated by postings of general users and the like has become widespread.
In general, thinking about daily meals is a cumbersome task. Therefore, various techniques for recommending (providing) recipe information and the like to a user have been proposed.
For example, Patent Literature 1 describes a technique for providing menu information using ingredients that meet the user's preference by using menu information of food, stock information of ingredients, and user preference information.
Patent Literature 2 discloses a technique for ordering a lunch set in a menu schedule selected by a user among menu schedules according to a user's health condition, living environment, and disease.
Further, Patent Literature 3 describes a technique in which previously recommended recipes are stored as existing recipes, and the remaining recipes are provided by excluding recipes overlapping with the existing recipes.

しかし、特許文献1に記載の技術によって提供されるメニューは、ユーザの好みの材料を含むメニューに限定されるため、ユーザによって選択できる選択肢がマンネリ化してしまう。
また、特許文献2に記載の技術によって提供されるメニューは、健康状態と生活環境と疾患に応じたメニューに限定されるため、ユーザによって選択できる選択肢がワンパターンとなってしまうといった問題がある。
更に、特許文献3に記載の技術によって提供されたレシピは、所定期間内に再度提供されることを抑制させることができるが、ユーザによるレシピの選択傾向に柔軟に対応することができないといった問題がある。
そこで、本発明は、毎日の食事を考える煩わしさを抑制しつつ、ユーザによるメニューの選択傾向を考慮し、飽きのこない食事を行うための情報を提供可能なサービスを提供する。
However, menus provided by the technique described in Patent Literature 1 are limited to menus that include the user's favorite materials, and the options that can be selected by the user are rut.
Further, since the menu provided by the technique described in Patent Document 2 is limited to a menu corresponding to a health condition, a living environment, and a disease, there is a problem that options that can be selected by a user are one pattern.
Further, the recipe provided by the technique described in Patent Literature 3 can be prevented from being provided again within a predetermined period, but cannot respond flexibly to the tendency of the user to select a recipe. is there.
Thus, the present invention provides a service that can provide information for a meal that does not get tired, while suppressing the trouble of thinking about daily meals and taking into account the user's tendency to select menus.

本発明に係る情報処理装置は、情報の提示先となる対象ユーザを特定するユーザ特定部と、前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得部と、前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定部と、前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定部と、前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御部と、を備え、前記料理カテゴリは階層構造を有し、前記推薦カテゴリ特定部は、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行うものである。
これにより、ユーザの潜在的なニーズを汲み取った情報(推薦カテゴリ)が提示される。
An information processing apparatus according to the present invention acquires a user specifying unit that specifies a target user to whom information is presented, and meal information including at least a use time corresponding to an information providing source user related to the specified target user. A meal information acquisition unit, a use cycle identification unit that identifies a use cycle for each food category based on the use time included in the acquired meal information, and a most used time among the use times included in the acquired meal information. A recommended category specifying unit that specifies a food category to be a recommended category based on a presentation time for each food category calculated based on the last use time that is late and the specified use cycle, and based on the recommended category. recommendation information Te and a presentation control unit which performs control to be presented to the target user, the cooking category has a hierarchical structure, the recommended category Japanese The unit acquires the use cycle and the presentation time for the lower category of the cooking category whose use cycle is equal to or less than the lower threshold when the specified use cycle is equal to or less than a predetermined lower threshold. The recommendation category is specified .
As a result, information (recommended category) that captures the potential needs of the user is presented.

上記した情報処理装置は、前記特定された推薦カテゴリに関連する料理カテゴリの利用に基づいて前記特定された推薦カテゴリの前記提示時期を調整する提示時期調整部を更に備えてもよい。
これにより、類似する料理カテゴリが所定期間内に利用された場合やユーザの先の予定を考慮した情報提示が行われる。
The information processing apparatus described above may further include a presentation time adjustment unit that adjusts the presentation time of the specified recommendation category based on use of a cooking category related to the specified recommendation category.
Thereby, information presentation is performed in the case where a similar dish category is used within a predetermined period or in consideration of a user's previous schedule.

前記料理カテゴリは階層構造を有し、上記した情報処理装置の前記推薦カテゴリ特定部は、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行ってもよい。
これにより、全ての料理カテゴリについての利用周期及び提示時期を取得する必要が無い。
The cooking category has a hierarchical structure, and the recommended category identification unit of the information processing apparatus described above, wherein the usage cycle is less than or less than the lower threshold when the identified usage cycle is less than or less than a predetermined lower threshold. The recommended cycle may be specified by acquiring the use cycle and the presentation time for the lower category of the determined food category.
Thus, it is not necessary to acquire the use cycle and the presentation time for all the cooking categories.

前記推薦カテゴリは階層構造を有し、前記提示時期は、前記料理カテゴリのうち前記利用周期が下限閾値以上またはより大きいとされた料理カテゴリについて算出され、上記した情報処理装置の前記推薦カテゴリ特定部は、前記特定された利用周期が所定の下限閾値以上またはより大きいとされた料理カテゴリの中から前記推薦カテゴリの特定を行ってもよい。
これにより、利用周期が短すぎる料理カテゴリに対して提示時期が算出されることが無くなる。
例えば、その下位となる料理カテゴリに対して提示時期が算出される。延いては、頻繁に同じ料理カテゴリが推薦カテゴリとして提示されることが無くなる。
The recommended category has a hierarchical structure, and the presentation time is calculated for a dish category in which the use cycle is equal to or more than a lower threshold value among the dish categories, and the recommended category specifying unit of the information processing apparatus described above. May specify the recommended category from among the cooking categories in which the specified use cycle is equal to or larger than a predetermined lower threshold.
As a result, the presentation time is not calculated for a dish category whose usage cycle is too short.
For example, the presentation time is calculated for a lower food category. As a result, the same cooking category is not frequently presented as a recommended category.

上記した情報処理装置の前記提示制御部は、前記推薦カテゴリ毎に優先度を付与し、該優先度に応じて前記提示を行ってもよい。
これにより、ユーザにとって有意義な情報ほど優先度を高くすることが可能となる。
The presentation control unit of the information processing apparatus described above may assign a priority to each of the recommended categories, and perform the presentation according to the priority.
This makes it possible to set higher priority for information that is more significant for the user.

上記した情報処理装置の前記食事情報取得部は、前記利用周期に基づいて前記食事情報の取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得してもよい。
これにより、一度算出した利用周期に基づいて次回以降の各処理のための食事情報の取得の範囲(期間)が決定される。
The meal information acquisition unit of the information processing device described above may determine a meal information acquisition start time based on the use cycle, and acquire the meal information from the acquisition start time to the present.
As a result, the range (period) of obtaining the meal information for each process from the next time onward is determined based on the usage cycle once calculated.

前記対象ユーザと関連する関連ユーザが登録されている場合において、上記した情報処理装置の前記食事情報取得部は、前記対象ユーザと前記関連ユーザのうち前記食事情報が充実しているユーザの食事情報を取得してもよい。
これにより、充実した食事情報を元に利用周期や提示時期が算出され、それによって特定された推薦カテゴリが提示される。
In the case where a related user related to the target user is registered, the meal information acquisition unit of the information processing device described above includes meal information of a user whose meal information is enriched among the target user and the related user. May be obtained.
As a result, the use cycle and the presentation time are calculated based on the substantial meal information, and the recommended category specified thereby is presented.

本発明に係る情報処理方法は、情報の提示先となる対象ユーザを特定するユーザ特定ステップと、前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得ステップと、前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定ステップと、前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定ステップと、前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御ステップと、を
を備え、前記料理カテゴリは階層構造を有し、前記推薦カテゴリ特定ステップでは、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行うものである。
この情報処理方法により、毎日の食事を考える煩わしさを抑制しつつ、ユーザによるメニューの選択傾向を考慮し、飽きのこない食事を行うための情報を提供可能な環境を提供する。
本発明に係るプログラムは、上記情報処理方法として実行する処理を情報処理装置に実行させるプログラムである。これらのプログラムにより上記の情報処理装置を実現する。
An information processing method according to the present invention includes a user specifying step of specifying a target user to whom information is presented, and obtaining meal information including at least a use time corresponding to an information providing source user related to the specified target user. Meal information obtaining step, a use cycle specifying step of specifying a use cycle for each food category based on the use time included in the obtained meal information, and the most used of the use times included in the obtained meal information. A recommended category specifying step of specifying a food category to be a recommended category based on the presentation time for each food category calculated based on the last use time that is late and the specified use cycle, and based on the recommended category. and a presentation control step of performing control to be presented to the target user recommendation information Te, with a wo, the cooking category floor Having a structure, in the recommended category identification step, when the identified usage cycle is less than or less than a predetermined lower threshold, the usage cycle is less than or less than the lower threshold. The use category and the presentation time are acquired to specify the recommended category .
With this information processing method, an environment that can provide information for a meal that does not get tired is provided by considering the tendency of the user to select a menu while suppressing the trouble of thinking about a daily meal.
A program according to the present invention is a program for causing an information processing apparatus to execute processing executed as the information processing method. These programs realize the above information processing apparatus.

本発明によれば、毎日の食事を考える煩わしさを抑制しつつ、ユーザによるメニューの選択傾向を考慮し、飽きのこない食事を行うための情報を提供可能なサービスを提供することができる。   Advantageous Effects of Invention According to the present invention, it is possible to provide a service capable of providing information for a meal that does not get tired, while taking into account the tendency of the user to select a menu while suppressing the trouble of thinking about a daily meal.

本発明の実施の形態の情報処理装置を含む全体構成を示す説明図である。FIG. 1 is an explanatory diagram illustrating an entire configuration including an information processing device according to an embodiment of the present invention. レシピ管理サーバの機能構成を示す図である。It is a figure showing functional composition of a recipe management server. コンピュータ装置のブロック図である。It is a block diagram of a computer device. ユーザDBの例を示す図である。It is a figure showing the example of user DB. 食事情報DBの例を示す図である。It is a figure showing the example of meal information DB. 処理の流れの一例を示す図である。It is a figure showing an example of the flow of processing. 推薦情報取得処理を示すフローチャートである。It is a flowchart which shows recommendation information acquisition processing. バッチ処理を示すフローチャートである。It is a flowchart which shows a batch process. 食事情報取得処理を示すフローチャートである。It is a flowchart which shows meal information acquisition processing. 利用周期特定処理を示すフローチャートである。It is a flowchart which shows a use cycle identification process. 第2の実施の形態における推薦情報取得処理を示すフローチャートである。13 is a flowchart illustrating a recommendation information acquisition process according to the second embodiment. バッチ処理の第2例を示すフローチャートである。It is a flowchart which shows the 2nd example of a batch process. バッチ処理の第2例における提示時期調整処理を示すフローチャートである。It is a flowchart which shows the presentation time adjustment process in the 2nd example of a batch process. バッチ処理の第2例における提示時期調整処理の別の例を示すフローチャートである。It is a flowchart which shows another example of the presentation time adjustment process in the 2nd example of a batch process. バッチ処理の第3例における提示時期調整処理を示すフローチャートである。It is a flowchart which shows the presentation time adjustment process in the 3rd example of a batch process. バッチ処理の第4例における食事情報取得処理を示すフローチャートである。It is a flow chart which shows meal information acquisition processing in the 4th example of batch processing. バッチ処理の第4例における利用周期特定処理を示すフローチャートである。It is a flow chart which shows use cycle specification processing in the 4th example of batch processing. 情報提供元ユーザ特定処理の変形例2を示すフローチャートである。14 is a flowchart illustrating a second modification of the information providing source user specifying process. 提示時期算出処理の変形例を示すフローチャートである。It is a flowchart which shows the modification of a presentation time calculation process. 階層化された料理カテゴリの例を示す図である。It is a figure which shows the example of the hierarchical cooking category.

以下、実施の形態を次の順序で説明する。
<1.全体構成>
<2.ハードウェア構成>
<3.DB>
[3−1.ユーザDB]
[3−2.レシピDB]
[3−3.検索DB]
[3−4.食事情報DB53]
[3−5.ウェブページDB]
<4.処理の流れ>
[4−1.第1の実施の形態]
[4−2.バッチ処理]
[4−3.第2の実施の形態]
[4−4.バッチ処理の第2例]
[4−5.バッチ処理の第3例]
[4−6.バッチ処理の第4例]
<5.変形例>
[5−1.情報提供元ユーザ特定処理の変形例1]
[5−2.情報提供元ユーザ特定処理の変形例2]
[5−3.提示時期算出処理の変形例]
<6.まとめ>
<7.プログラム及び記憶媒体>
Hereinafter, embodiments will be described in the following order.
<1. Overall Configuration>
<2. Hardware Configuration>
<3. DB>
[3-1. User DB]
[3-2. Recipe DB]
[3-3. Search DB]
[3-4. Meal information DB 53]
[3-5. Web page DB]
<4. Processing Flow>
[4-1. First Embodiment]
[4-2. Batch processing]
[4-3. Second Embodiment]
[4-4. Second example of batch processing]
[4-5. Third example of batch processing]
[4-6. Fourth example of batch processing]
<5. Modification>
[5-1. Modification Example 1 of Information Source User Identifying Process]
[5-2. Modification 2 of Information Providing User Identification Process]
[5-3. Modification of Presentation Time Calculation Processing]
<6. Summary>
<7. Program and Storage Medium>

<1.全体構成>

先ず、本発明の実施の形態における全体構成を説明する。
尚、以下の説明においては、レシピとして料理レシピ(以降では単にレシピという)を例に挙げて説明する。レシピには、調理手順や使用食材や調理器具などの情報が含まれている。
また、飽きのこない食事をするためにユーザに提供する情報(以降推薦情報と記載する)は、ユーザが食事をする際に参考にできる情報であり、具体的には、使用食材や調理方法が記載された1又は複数のレシピ情報であってもよいし、外食の際の店舗選択のための情報として料理カテゴリ(「ラーメン」や「カレー」など)の情報であってもよい。
<1. Overall Configuration>

First, an overall configuration according to an embodiment of the present invention will be described.
In the following description, a cooking recipe (hereinafter simply referred to as a recipe) will be described as an example of the recipe. The recipe includes information such as a cooking procedure, ingredients used, and cooking utensils.
In addition, information provided to the user in order to have a meal that does not get tired (hereinafter referred to as recommendation information) is information that the user can refer to when eating, and specifically, information on the ingredients used and the cooking method is used. The information may be one or a plurality of described recipe information, or may be information on a food category (such as “Ramen” or “Curry”) as information for selecting a store when eating out.

検索クエリに応じたレシピの検索やレシピの投稿などが可能なサービスを提供するためのポータルサイトとして、レシピ管理サーバ1が運営するレシピサイトを例に挙げる。   A recipe site operated by the recipe management server 1 will be described as an example of a portal site for providing a service capable of searching for a recipe or posting a recipe according to a search query.

本発明の情報処理装置を含む全体構成を図1に示す。
レシピ管理サーバ1は、通信ネットワーク2を介して、ユーザ端末3,3,3,・・・と相互に通信可能な状態で接続されている。また、レシピ管理サーバ1は、ユーザに関する情報が記憶されるユーザDB(Database)50、レシピに関する情報が記憶されるレシピDB51、検索クエリや検索結果の情報が記憶される検索DB52、ユーザの食事情報(後述)が記憶される食事情報DB53、レシピサイトを構成する各種ウェブページのウェブページデータが記憶されるウェブページDB54と接続されている。
尚、レシピ管理サーバ1は、本発明の情報処理装置の実施の形態に相当する。
FIG. 1 shows the entire configuration including the information processing apparatus of the present invention.
The recipe management server 1 is connected via the communication network 2 to the user terminals 3, 3, 3,. Further, the recipe management server 1 includes a user DB (Database) 50 in which information on the user is stored, a recipe DB 51 in which information on the recipe is stored, a search DB 52 in which information on search queries and search results is stored, and user meal information. It is connected to a meal information DB 53 storing (described later) and a web page DB 54 storing web page data of various web pages constituting the recipe site.
Note that the recipe management server 1 corresponds to an embodiment of the information processing device of the present invention.

レシピ管理サーバ1は、ユーザから投稿されるレシピを管理する処理や、検索クエリに応じたレシピを提示するための処理を行う情報処理装置である。また、レシピ管理サーバ1は、ユーザに提示する推薦情報(レシピ情報や料理カテゴリ情報)を提示するための各種処理を実行する。具体的な構成に関しては後述する。   The recipe management server 1 is an information processing device that performs a process of managing a recipe posted by a user and a process of presenting a recipe according to a search query. Further, the recipe management server 1 executes various processes for presenting recommendation information (recipe information and dish category information) to be presented to the user. The specific configuration will be described later.

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

ユーザ端末3は、レシピをレシピ管理サーバ1に投稿するユーザや、レシピ管理サーバ1が管理するレシピ情報の検索や閲覧を行うユーザが使用する端末である。また、レシピ管理サーバ1から提示される推薦情報を閲覧するユーザが使用する端末でもある。
ユーザ端末3では、必要に応じて各種の送受信処理や表示処理などが実行される。また、ユーザ端末3は、例えば、通信機能を備えたPC(Personal Computer)やフィーチャーフォンやPDA(Personal Digital Assistant)、或いは、スマートフォンやタブレット端末などのスマートデバイスなどである。
The user terminal 3 is a terminal used by a user who posts a recipe to the recipe management server 1 and a user who searches and browses recipe information managed by the recipe management server 1. It is also a terminal used by a user who browses recommendation information presented from the recipe management server 1.
In the user terminal 3, various transmission / reception processes and display processes are executed as needed. 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.

レシピ管理サーバ1は、図2に示すように、レシピ管理部1a、ユーザ管理部1b、食事情報取得部1c、利用周期特定部1d、提示時期算出部1e、提示時期調整部1f、推薦カテゴリ特定部1g、推薦レシピ抽出部1h、提示制御部1iを備えている。   As shown in FIG. 2, the recipe management server 1 includes a recipe management unit 1a, a user management unit 1b, a meal information acquisition unit 1c, a use cycle identification unit 1d, a presentation time calculation unit 1e, a presentation time adjustment unit 1f, and a recommendation category identification. 1g, a recommended recipe extracting unit 1h, and a presentation control unit 1i.

レシピ管理部1aは、ユーザが投稿したレシピ情報(レシピタイトルと使用食材と調理方法とレシピが属する料理カテゴリ情報などがレシピ情報を投稿したユーザを識別する識別情報と紐付けられた情報)をレシピDB51に記憶することにより管理する。例えば、あるユーザが投稿した「野菜カレー」のレシピは、カテゴリ「カレー」に属するレシピであり、使用食材情報として、「じゃがいも」、「人参」、「タマネギ」、「ブロッコリー」、「トマト」、「ほうれん草」や、調味料(「塩」や「胡椒」など)や、それに準ずるもの(例えば「カレールー」など)が紐付けられて記憶される。   The recipe management unit 1a stores the recipe information (information in which the recipe title, the ingredients used, the cooking method, the cooking category information to which the recipe belongs, etc., with the identification information identifying the user who posted the recipe information), It is managed by storing it in the DB 51. For example, a recipe of "vegetable curry" posted by a user is a recipe belonging to the category "curry", and as used ingredient information, "potato", "carrot", "onion", "broccoli", "tomato", "Spinach", a seasoning ("salt", "pepper", etc.) and equivalents (eg, "curry roux") are stored in association with each other.

また、レシピ管理部1aは、投稿されたレシピに対して投稿された作成レポートをレシピ毎に管理する。作成レポートは、投稿されたレシピを利用して他のユーザが実際に料理を行った際に、当該レシピに対する感想(例えば、料理を行ったユーザが感じた料理のおいしさや調理手順の手軽さなど)を記したレポートである。作成レポートは、レシピDB51の各レシピに紐付けられて管理される。   Further, the recipe management unit 1a manages a created report posted for the posted recipe for each recipe. When the other user actually cooks using the posted recipe, the creation report provides an impression of the recipe (for example, the taste of the dish felt by the user who cooked, the ease of the cooking procedure, and the like). ). The creation report is managed in association with each recipe in the recipe DB 51.

ユーザ管理部1bは、レシピ管理サーバ1が提供する各種のサービスを利用するユーザの情報を管理するために、種々の処理を行う。
例えば、ユーザを一意に特定可能なユーザIDに対して、氏名、年齢、性別、連絡先(電話番号や電子メールアドレス等)を紐付け、ユーザDB50へ記憶することにより管理を行う。また、ユーザDB50からユーザ情報を取得する処理を行う。
The user management unit 1b performs various processes to manage information of users who use various services provided by the recipe management server 1.
For example, management is performed by associating a name, age, gender, and contact information (such as a telephone number and an e-mail address) with a user ID that can uniquely identify a user and storing the linked information in the user DB 50. Further, a process of acquiring user information from the user DB 50 is performed.

食事情報取得部1cは、対象となるユーザの処理時点よりも過去に飲食した食事情報や処理時点よりも未来に飲食されると推定される食事情報などを食事情報DB53から取得する処理を行う。
食事情報DB53に記憶される各種の食事情報については、後述する。
The meal information acquisition unit 1c performs a process of acquiring, from the meal information DB 53, information on meals eaten and consumed in the past before the processing time of the target user, meal information estimated to be eaten and consumed in the future after the processing time.
Various kinds of meal information stored in the meal information DB 53 will be described later.

食事情報の取得対象となる期間は、例えば、直近の1ヶ月間などのように所定期間であってもよいし、ユーザによって異なる期間であってもよい。また、後述する料理カテゴリの利用周期に応じて期間を決めてもよい。
具体的な各例については、後述する。
食事情報取得部1cは、所定期間或いは算出された取得対象となる期間に応じて取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得する。例えば、取得対象となる期間が10日であった場合、現在から10日前となる取得起算時点を算出し、そこから現在までの食事情報を取得する。
The period during which meal information is to be obtained may be a predetermined period, such as the latest one month, for example, or may be a period that differs depending on the user. Further, the period may be determined in accordance with a use cycle of a cooking category described later.
Specific examples will be described later.
The meal information acquisition unit 1c determines the acquisition start time according to a predetermined period or the calculated acquisition target period, and acquires the meal information from the acquisition start time to the present. For example, if the period to be acquired is 10 days, an acquisition start time that is 10 days before the present is calculated, and the meal information up to the present is acquired therefrom.

また、食事情報の取得対象となるユーザには、いくつかの例が考えられる。例えば、ログインを行い食事に関する推薦情報の提示を受けるユーザ自身であってもよいし、推薦情報の提示を受けるユーザが指定したユーザ(例えば当該ユーザの夫など)であってもよい。更に、情報の提示を受けるユーザ及びその関連ユーザの中で、食事情報が最も充実しているユーザであってもよい。
勿論、複数のユーザ(例えば、情報の提示を受けるユーザとその夫と子供の3人のユーザ)全ての食事情報を取得してもよい。
In addition, there are several examples of the user whose meal information is to be obtained. For example, the user who logs in and receives the presentation of the recommendation information on the meal may be himself / herself, or may be a user designated by the user who receives the recommendation information (for example, the husband of the user). Further, among the users who receive the information and the related users, the user who has the most substantial meal information may be used.
Of course, all meal information may be acquired for a plurality of users (for example, three users, a user who receives information and his / her husband and a child).

利用周期特定部1dは、過去の食事情報に基づいて、各料理カテゴリについて当該料理カテゴリに属する料理を利用する周期をユーザ毎に算出する。料理カテゴリに属する料理の利用とは、当該料理カテゴリに属する料理に関するレシピの利用(レシピを利用したと推定される状態を含む)や、当該料理カテゴリに属する料理の飲食(即ち外食による食事など)である。即ち、当該料理カテゴリに属する料理を何らかの形で飲食したことを指す。   The use cycle specifying unit 1d calculates, for each user, a cycle of using food belonging to the food category for each food category based on past meal information. The use of a dish belonging to the dish category refers to the use of a recipe related to the dish belonging to the dish category (including a state presumed to have used the recipe) or the eating and drinking of a dish belonging to the dish category (that is, a meal by eating out, etc.). It is. That is, it indicates that the food belonging to the food category is eaten and consumed in some way.

提示時期算出部1eは、料理カテゴリの利用周期と最終利用時期に基づいて、料理カテゴリ毎の提示時期を算出する。最終利用時期とは、料理カテゴリを最後に利用した時期(或いは時間)を示す情報である。
尚、提示時期算出部は、階層化された料理カテゴリにおいて、全てのカテゴリレベル毎に算出してもよいし、所定のカテゴリレベルのみ算出してもよい。また、料理カテゴリ毎に異なるカテゴリレベルについて算出してもよいし、料理カテゴリ毎に異なる数のカテゴリレベルについて算出してもよい。
The presentation time calculation unit 1e calculates a presentation time for each food category based on the usage cycle of the food category and the final usage time. The last use time is information indicating the time (or time) when the food category was last used.
It should be noted that the presentation time calculation unit may calculate every category level or only a predetermined category level in the hierarchical cooking category. The calculation may be performed for different category levels for each food category, or may be performed for a different number of category levels for each food category.

提示時期調整部1fは、料理カテゴリ毎に算出された提示時期に対して、種々の要因に応じた調整を行う処理を実行する。即ち、提示時期が3日後となっている料理カテゴリに対して、後述する各種の要因を考慮して一日早い2日後を提示時期とする(即ち調整する)処理などを実行する。
また、類似した料理カテゴリの利用に基づいた提示時期の調整を行う。例えば、「そば」の料理カテゴリの利用が直近にあった場合、「そば」と類似する「うどん」の料理カテゴリの提示時期を延期する(即ち後ろに延ばす)処理などを実行する。
各種の具体的な例については、後述する。
The presentation time adjustment unit 1f executes a process of adjusting the presentation time calculated for each cooking category according to various factors. That is, for a cooking category whose presentation time is three days later, processing that sets two days earlier as the presentation time (ie, adjusts) one day later is performed in consideration of various factors described later.
In addition, the presentation time is adjusted based on the use of similar cooking categories. For example, if the use of the “soba” food category has been used most recently, processing to postpone the presentation time of the “udon” food category similar to “soba” (that is, extend it backward) is performed.
Various specific examples will be described later.

推薦カテゴリ特定部1gは、提示時期算出部1eや提示時期調整部1fによって最終的に決定された提示時期を参照し、提示時期が到来した料理カテゴリを推薦カテゴリとして特定する処理を実行する。   The recommended category specifying unit 1g refers to the presentation time finally determined by the presentation time calculation unit 1e and the presentation time adjustment unit 1f, and performs a process of specifying the food category whose presentation time has arrived as a recommended category.

推薦レシピ抽出部1hは、推薦カテゴリに属するレシピを抽出する処理を実行する。   The recommended recipe extracting unit 1h executes a process of extracting a recipe belonging to a recommended category.

提示制御部1iは、抽出されたレシピをユーザ端末3へ提示するための処理を実行する。提示する情報が複数ある場合には、各情報に提示優先度を付与してもよい。即ち、提示優先度に応じて情報をユーザ端末3へ提示する。
例えば、推薦情報の提示の一例として複数のレシピの提示を行う場合に、提示優先度に応じて各レシピがユーザ端末3の画面上に並ぶように情報を送信する。
The presentation control unit 1i executes a process for presenting the extracted recipe to the user terminal 3. When there are a plurality of pieces of information to be presented, a presentation priority may be given to each piece of information. That is, information is presented to the user terminal 3 according to the presentation priority.
For example, when a plurality of recipes are presented as an example of presentation of recommendation information, information is transmitted such that each recipe is arranged on the screen of the user terminal 3 according to the presentation priority.

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

<2.ハードウェア構成>

図3は、図1に示したレシピ管理サーバ1とユーザ端末3のハードウェア、及び、ユーザDB50とレシピDB51と検索DB52と食事情報DB53とウェブページDB54のハードウェアを例示する図である。それぞれのサーバや端末、DBにおけるコンピュータ装置のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、又は記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力装置106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力装置107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、通信ネットワーク2を介しての通信処理や機器間通信を行う通信部109が接続されている。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
<2. Hardware Configuration>

FIG. 3 is a diagram exemplifying hardware of the recipe management server 1 and the user terminal 3 shown in FIG. 1, and hardware of the user DB 50, the recipe DB 51, the search DB 52, the meal information DB 53, and the web page DB 54. The CPU (Central Processing Unit) 101 of the computer in each server, terminal, and 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. Performs various processes according to the program. The RAM 103 also appropriately stores data necessary for the CPU 101 to execute various processes.
The CPU 101, the ROM 102, and the RAM 103 are mutually connected via a bus 104. An input / output interface 105 is also connected to the bus 104.
The input / output interface 105 includes an input device 106 including a keyboard, a mouse, and a touch panel, a display including an LCD (Liquid Crystal Display), a CRT (Cathode Ray Tube), an organic EL (Electroluminescence) panel, and an output including a speaker. A device 107, a storage unit 108 including a hard disk drive (HDD) or a flash memory device, and a communication unit 109 for performing communication processing and communication between devices via the communication network 2 are connected.
A media drive 110 is 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. Reading is performed.

このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア111を介したデータやプログラムの受け渡しが可能である。
CPU101が各種のプログラムに基づいて処理動作を行うことで、レシピ管理サーバ1、ユーザ端末3、ユーザDB50、レシピDB51、検索DB52、食事情報DB53、ウェブページDB54のそれぞれにおいて後述する情報処理や通信が実行される。
尚、レシピ管理サーバ1、ユーザ端末3、及び、ユーザDB50、レシピDB51、検索DB52、食事情報DB53、ウェブページDB54を構成するそれぞれの情報処理装置は、図3のようなコンピュータ装置が単一で構成されることに限らず、システム化された複数のコンピュータ装置によって構成されてもよい。複数のコンピュータ装置は、LANなどによりシステム化されていてもよいし、インターネットなどを利用したVPN(Virtual Private Network)などにより通信可能な状態で遠隔地に配置されたものでもよい。
In such a computer device, data and programs can be uploaded and downloaded by communication by the communication unit 109, and data and programs can be transferred via the removable medium 111.
When the CPU 101 performs a processing operation based on various programs, information processing and communication to be described later in each of the recipe management server 1, the user terminal 3, the user DB 50, the recipe DB 51, the search DB 52, the meal information DB 53, and the web page DB 54 are performed. Be executed.
It should be noted that the recipe management server 1, the user terminal 3, and the respective information processing apparatuses constituting the user DB 50, the recipe DB 51, the search DB 52, the meal information DB 53, and the web page DB 54 are each a single computer device as shown in FIG. The invention is not limited to the configuration, and may be configured by a plurality of computerized systems. The plurality of computer devices may be systemized by a LAN or the like, or may be remotely located in a communicable state by a VPN (Virtual Private Network) using the Internet or the like.

レシピ管理サーバ1としての各機能は、情報処理装置においてCPU101でプログラムに応じて実行される処理により実現される機能である。但し以下において説明する各構成の処理の全部又は一部をハードウェアにより実現してもよい。
また各機能をソフトウエアで実現する場合に、各機能がそれぞれ独立したプログラムで実現される必要はない。一つのプログラムにより複数の機能の処理が実行されてもよいし、一つの機能が複数のプログラムモジュールの連携で実現されてもよい。
Each function as the recipe management server 1 is a function realized by processing executed in accordance with a program by the CPU 101 in the information processing apparatus. However, all or a part of the processing of each configuration described below may be realized by hardware.
When each function is implemented by software, each function does not need to be implemented 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.

<3.DB>

レシピ管理サーバ1が管理する各DBの説明を行う。各DBは、レシピ管理サーバ1がアクセス可能とされていればどのような形態で実現されていてもよい。例えばレシピ管理サーバ1と同一システム内の記憶部に各DBのすべてが形成されていてもよいし、各DBの一部又は全部が別体とされていてもよいし、遠隔地等のコンピュータシステムに設けられていてもよい。もちろん各DBが一つの装置(例えば一つのHDD等)内に形成されている必要はない。また各DBのそれぞれが、それぞれ一つのDBとして構成される必要もない。例えばユーザDB50として記憶される情報が、複数のユーザDB(例えばログイン用のユーザDBと取引用のユーザDBなど)により記憶管理されてもよい。以下説明する各DBは、実施の形態の処理に関連する情報の記憶部を、それぞれ一つのDBの形態で例示したものに過ぎない。
<3. DB>

Each DB managed by the recipe management server 1 will be described. Each DB may be realized in any form as long as the recipe management server 1 is accessible. For example, all of the DBs may be formed in a storage unit in the same system as the recipe management server 1, some or all of the DBs may be separate, or a computer system such as a remote place may be used. May be provided. Of course, each DB need not be formed in one device (for example, one HDD or the like). Further, each of the DBs does not need to be configured as one DB. For example, information stored as the user DB 50 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 DBs described below is merely an example of the storage unit of the information related to the processing of the embodiment in the form of one DB.

[3−1.ユーザDB]
ユーザDB50にはレシピ管理サーバ1が提供するサービスを受けるユーザの情報が記憶される。例えば、一人のユーザを特定可能な一つのユーザID(Identification)に対して、ログインパスワード、氏名、年齢、性別、メールアドレスなどの個人的な情報が紐付けられて記憶される。また、料理カテゴリ毎の利用周期や常用食事情報などもユーザIDに紐付けられて記憶される。
[3-1. User DB]
The user DB 50 stores information of a user who receives a service provided by the recipe management server 1. For example, personal information such as a login password, name, age, gender, and mail address is stored in association with one user ID (Identification) that can identify one user. In addition, the usage cycle and regular meal information for each cooking category are also stored in association with the user ID.

ここで、常用食事情報について説明する。常用食事情報はユーザが毎日のように飲食している食事の情報であり、ユーザ毎に異なる。例えば、あるユーザにとっての常用食事は、「ご飯」や「パン」や「味噌汁」である。これらのレシピは、利用周期を算出することが不適当なほど毎日のように飲食されているものである。このようなレシピ(或いは料理カテゴリ)は、提示時期などの算出の対象とはならず、ユーザに提示する推薦情報に含まれなくてもよい。
常用食事情報として記憶されるレシピ(或いは料理カテゴリ)は、利用周期が所定期間よりも短い(例えば1日)料理カテゴリであって、それ以上細分化できない料理カテゴリ(即ち下位の料理カテゴリが存在しない)に属している。また、そのようなレシピは、幅広く他のレシピと組み合わせられるものである。具体的には、あらゆる食事にサラダを付けるユーザにとっては、サラダが常用食事となる。即ち、そのようなユーザに対して、サラダの利用周期から提示時期を算出し、情報をユーザに提供することは、ユーザにとって価値のある情報提供にはなり難い。
Here, the regular meal information will be described. The regular meal information is information on meals that the user eats and drinks every day, and differs for each user. For example, a regular meal for a user is “rice”, “bread”, or “miso soup”. These recipes are eaten and consumed on a daily basis so that it is inappropriate to calculate the usage cycle. Such a recipe (or a cooking category) is not a target of calculation of the presentation time or the like, and need not be included in the recommendation information presented to the user.
A recipe (or a cooking category) stored as regular meal information is a cooking category whose use cycle is shorter than a predetermined period (for example, one day), and a cooking category that cannot be further subdivided (that is, there is no lower cooking category). ). Also, such recipes can be widely combined with other recipes. Specifically, for a user who attaches a salad to every meal, the salad is a regular meal. That is, for such a user, calculating the presentation time from the salad use cycle and providing the information to the user is unlikely to provide valuable information to the user.

尚、利用周期が所定期間よりも短かったとしても下位の料理カテゴリが存在する場合には、下位の料理カテゴリにおいて提示時期の算出が行われる。具体的には、「麺類」の料理カテゴリの利用周期が1日であっても、その下位カテゴリである「ラーメン」、「パスタ」、「うどん」、「そば」などでは、1日よりも長い適切な利用周期となる可能性が高い。
従って、「ラーメン」や「パスタ」の料理カテゴリの利用周期から提示時期が算出される。
Even if the use cycle is shorter than the predetermined period, if there is a lower food category, the presentation time is calculated in the lower food category. Specifically, even if the usage cycle of the cooking category of “noodles” is one day, it is longer than one day in the lower categories “ramen”, “pasta”, “udon”, “soba”, etc. It is highly likely that the usage cycle will be appropriate.
Therefore, the presentation time is calculated from the use cycle of the cooking category such as “Ramen” or “Pasta”.

ユーザDB50には、他にも、ユーザ毎の嗜好情報が記憶されてもよい。嗜好情報は、ユーザによるレシピ情報や料理情報に関する検索や閲覧などの挙動に応じてレシピ管理サーバ1が判定したユーザの好みの食材(嗜好食材)や嫌いな食材(非嗜好食材)の情報や、ユーザに関わる投稿情報(テキスト情報やタグ情報や画像情報など)に基づいてレシピ管理サーバ1が判定したユーザの好みの食材(嗜好食材)や嫌いな食材(非嗜好食材)である。嗜好情報は、ユーザがレシピ検索を行った際に利用される。   In addition, the user DB 50 may store preference information for each user. The preference information includes information on the user's favorite ingredients (preferred ingredients) and disliked ingredients (non-preferred ingredients) determined by the recipe management server 1 according to the user's behavior such as search and browsing of recipe information and dish information. The user's favorite ingredients (preferred ingredients) and disliked ingredients (non-preferred ingredients) determined by the recipe management server 1 based on posted information (text information, tag information, image information, etc.) related to the user. The preference information is used when the user performs a recipe search.

具体的に、ユーザDB50に記憶される各種情報について図4を参照して説明する。
図4には、ユーザDB50に記憶されたユーザAに関する情報の一部が示されている。ユーザIDに対して、ログインパスワード、氏名、年齢、性別、メールアドレスが紐付けられて記憶されている。また、料理カテゴリ毎の利用情報が記憶されている。利用情報とは、料理カテゴリIDに対して利用周期や最終利用時期や提示時期が紐付けられた情報であり、ユーザに推薦情報を提示するために用いられる情報である。
Specifically, various types of information stored in the user DB 50 will be described with reference to FIG.
FIG. 4 shows a part of the information on the user A stored in the user DB 50. The login password, name, age, gender, and mail address are stored in association with the user ID. Further, usage information for each cooking category is stored. The use information is information in which a use cycle, a last use time, and a presentation time are associated with a dish category ID, and is information used to present recommendation information to a user.

[3−2.レシピDB]
レシピDB51は、ユーザから投稿されたレシピの情報が記憶されるDBである。具体的には、それぞれのレシピを識別可能なレシピIDに対して、レシピを投稿したユーザを特定するユーザIDと、投稿日時情報と、レシピが属するカテゴリ情報と、レシピの使用食材情報(分量などを含む)と、レシピの調理手順と、料理画像(完成した料理の画像や調理途中の料理の画像)などの画像情報と、レシピを実際に利用した(料理を作成した)他のユーザによって投稿された作成レポートを特定する作成レポートIDと、が紐付けられて記憶される。
[3-2. Recipe DB]
The recipe DB 51 is a DB that stores information on recipes posted by users. Specifically, for a recipe ID capable of identifying each recipe, a user ID for specifying a user who posted the recipe, posted date and time information, category information to which the recipe belongs, and information on ingredients used for the recipe (such as the amount of food) ), The recipe cooking procedure, image information such as cooking images (finished cooking images and cooking halfway cooking images), and postings by other users who actually used the recipes (created the dishes) The created report ID that identifies the created report is stored in association with the created report ID.

また、レシピの詳細ページのURL(Uniform Resource Locator)情報がレシピIDに紐付けられて記憶されてもよい。
更に、レシピDB51には、各レシピに対して投稿された作成レポートの情報が記憶される。作成レポートの情報としては、レポート内容を示すテキストデータや調理した料理の画像や投稿者を識別可能なユーザIDや投稿日時情報などが記憶される。
Further, URL (Uniform Resource Locator) information of the recipe detail page may be stored in association with the recipe ID.
Further, the recipe DB 51 stores information of a created report posted for each recipe. As the information of the creation report, text data indicating the contents of the report, an image of cooked food, a user ID capable of identifying a contributor, post date and time information, and the like are stored.

[3−3.検索DB]
検索DB52は、検索クエリと対応した検索結果が記憶されるDBである。具体的には、「カレー」や「ハンバーグ」などの料理名や「きのこ」や「トマト」などの食材名などの検索クエリに応じて、複数のレシピが検索結果として紐付けられて記憶される。
例えば、ユーザが指定した検索クエリに応じて検索処理が実行され、その結果抽出された検索結果が検索クエリに紐付けられて検索DB52に記憶される。このように紐付けが行われることで、新たな検索要求があった際に検索処理を実行せずに以前の検索結果を利用した検索結果の提示を行うことができる機会が増える。
尚、予め定期的に検索キーワードを用いた検索処理を実行しておき、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶されるようにしてもよい。
[3-3. Search DB]
The search DB 52 is a DB that stores search results corresponding to search queries. Specifically, a plurality of recipes are linked and stored as search results according to a search query such as a dish name such as “curry” or “hamburger” or a food name such as “mushroom” or “tomato”. .
For example, a search process is executed according to a search query specified by the user, and the search results extracted as a result are associated with the search query and stored in the search DB 52. By performing the linking in this manner, when a new search request is issued, the opportunity to present the search result using the previous search result without executing the search process increases.
Note that a search process using a search keyword may be periodically executed in advance, and a search result extracted as a result may be stored in the search DB 52 in association with the search keyword.

[3−4.食事情報DB53]
食事情報DB53には、ユーザが過去に飲食した食事情報や今後飲食すると推定される食事情報が履歴情報として記憶される。
例えば、過去に利用した或いは未来に利用が推定されるレシピの情報や、過去に飲食した或いは未来に飲食が推定される料理の情報や料理カテゴリの情報などである。食事情報DB53に記憶される各食事情報には、料理カテゴリの情報ユーザの食事情報などが記憶される。
過去に飲食した食事情報として食事情報DB53に記憶される情報は、例えば、履歴情報に含まれるレシピの利用履歴、閲覧履歴や検索履歴などに基づいて、ユーザが利用したレシピであると特定又は推定されたレシピの情報や、履歴情報に含まれる飲食店やメニューの閲覧履歴や検索履歴などに基づいて、外食などでユーザが飲食したと特定又は推定された料理や料理カテゴリの情報や、投稿情報に含まれるテキスト情報やタグ情報や画像情報などに基づいて、ユーザが飲食したと特定又は推定された料理や料理カテゴリの情報などである。尚、予め飲食給食の献立表などから得た情報であってもよい。
未来に飲食されると推定される食事情報として食事情報DB53に記憶される情報は、上記と同様に予め飲食される料理のスケジュールに関する情報(例えば給食の献立情報や社員食堂の献立情報など)から得た情報である。また、利用頻度の高い飲食店などの料理を提供するサービスに関する情報に基づいて特定又は推定された料理や料理カテゴリの情報であってもよい。尚、これらの情報は、飲食店などの料理を提供するサービスに関わるウェブページなどから取得してもよいし、ユーザによって入力された情報を取得してもよい。
食事情報DB53に記憶される履歴情報としての各食事情報には、料理カテゴリの情報が含まれる。
具体的には、図5に示すように、ユーザを特定するユーザIDに対して、複数の料理カテゴリの利用履歴が食事情報として記憶される。利用履歴一つに対して、利用日時(利用時期)、料理カテゴリID、取得ルート、利用形態が紐付けられて記憶される。
[3-4. Meal information DB 53]
The meal information DB 53 stores, as history information, meal information that the user has eaten and consumed in the past and meal information that is estimated to be eaten and consumed in the future.
For example, information on recipes used in the past or estimated to be used in the future, information on dishes eaten or consumed in the past or estimated to be eaten in the future, information on dish categories, and the like are included. In each meal information stored in the meal information DB 53, meal information of the information user of the food category is stored.
The information stored in the meal information DB 53 as meal information of meals eaten and consumed in the past is specified or estimated to be a recipe used by the user based on, for example, a use history, a browsing history, and a search history of the recipe included in the history information. Based on the information of the recipes that have been performed, the browsing history and search history of restaurants and menus included in the history information, etc. The information is information of a dish or a dish category that is specified or estimated that the user has eaten or drinks based on text information, tag information, image information, and the like included in. It should be noted that the information may be obtained in advance from a menu for eating and drinking.
The information stored in the meal information DB 53 as the meal information estimated to be eaten and consumed in the future is obtained from information (for example, menu information on lunch and menu information on employee cafeteria) on the schedule of dishes to eat and drink in advance in the same manner as described above. Information obtained. Alternatively, the information may be information on a dish or a dish category specified or estimated based on information on a service that provides a dish such as a frequently used restaurant. Note that these pieces of information may be obtained from a web page or the like relating to a service that provides food such as a restaurant, or information input by a user may be obtained.
Each piece of meal information as history information stored in the meal information DB 53 includes information on a dish category.
Specifically, as shown in FIG. 5, usage histories of a plurality of cooking categories are stored as meal information for a user ID specifying a user. A use date (use time), a dish category ID, an acquisition route, and a use form are stored in association with one use history.

図5は、利用日時順に履歴が並べられている例である。料理カテゴリIDは、料理カテゴリを一意に特定可能なものである。   FIG. 5 is an example in which histories are arranged in order of use date and time. The dish category ID can uniquely specify a dish category.

ここで、料理カテゴリについて説明する。料理カテゴリは階層化されており、例えば「和食」「洋食」などの大分類としての種別、「日本料理」「中華料理」「イタリア料理」「フランス料理」「タイ料理」という地域レベルの種別、「カレー」「ハンバーグ」「ラーメン」などの料理名に応じたレベルの種別、さらには「ビーフカレー」「チキンカレー」「キーマカレー」などの細かいレベルの種別などがある。   Here, the cooking category will be described. The cooking categories are hierarchized, for example, classification as a large classification such as "Japanese food" "Western food", regional level types such as "Japanese food" "Chinese food" "Italian food" "French food" "Thai food", There are types of levels according to the dish name such as “curry”, “hamburger”, and “ramen”, and further, types of fine levels such as “beef curry”, “chicken curry”, and “key curry”.

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

以下の例においては料理カテゴリが3段階に階層化されている例を用いて各説明を行う。
料理カテゴリにおける大分類は「ご飯もの」、「麺類」、「肉料理」、「魚料理」、「カレー」などのように主たる食材によって分類されている。
そして、「麺類」の料理カテゴリの下位カテゴリ(中分類)には、「ラーメン」、「パスタ」、「うどん」、「そば」などの料理カテゴリが設けられている。
更に、「ラーメン」の料理カテゴリの下位カテゴリ(小分類)には、「醤油ラーメン」、「味噌ラーメン」、「塩ラーメン」、「豚骨ラーメン」などの料理カテゴリが設けられている。
In the following examples, each explanation will be made using an example in which the food categories are hierarchized into three levels.
The major categories in the cooking category are classified by main ingredients such as "rice dishes", "noodles", "meat dishes", "fish dishes", and "curry".
Further, in the lower category (middle category) of the cooking category of “noodles”, cooking categories such as “ramen”, “pasta”, “udon”, and “soba” are provided.
Further, in the lower category (small classification) of the cooking category of “Ramen”, cooking categories such as “Soy sauce ramen”, “Miso ramen”, “Salt ramen”, and “Pork bone ramen” are provided.

以降の説明においては、大分類の料理カテゴリ(「麺類」など)をカテゴリレベル1の料理カテゴリと記載する。また、その下位の料理カテゴリ(「ラーメン」などの中分類)をカテゴリレベル2の料理カテゴリと記載する。同様に、更に下位の料理カテゴリ(「醤油ラーメン」などの小分類)をカテゴリレベル3の料理カテゴリと記載する。即ち、下位カテゴリ(細分化されたカテゴリ)ほどカテゴリレベルを示す数値が増加するように設定されている。   In the following description, a large category of food category (such as “noodles”) is described as a category level 1 food category. In addition, the lower food category (middle classification such as “Ramen”) is described as a category level 2 food category. Similarly, a lower-level food category (small classification such as “soy sauce ramen”) is described as a category-level 3 food category. In other words, the lower category (subdivided category) is set so that the numerical value indicating the category level increases.

各料理カテゴリには、各種のレシピが属している。例えば、「我が家の味噌ラーメン」というレシピは、「味噌ラーメン」の料理カテゴリに属するレシピであり、「ラーメン」の料理カテゴリに属するレシピでもあり、更に「麺類」の料理カテゴリに属するレシピでもある。   Various recipes belong to each cooking category. For example, the recipe “Miso ramen at home” is a recipe belonging to the cooking category of “Miso ramen”, a recipe belonging to the cooking category of “Ramen”, and a recipe belonging to the cooking category of “noodles”.

図5の説明に戻ると、料理カテゴリIDは、階層化された料理カテゴリにおいて料理カテゴリ間の関係が分かるように構成されている。
具体的には、カテゴリレベル1の料理カテゴリを示す二桁の数値と、カテゴリレベル2の料理カテゴリを示す二桁の数値と、カテゴリレベル3の料理カテゴリを示す一桁の数値で構成されている。例えば、「C01002」とされた料理カテゴリIDは、カテゴリレベル1の料理カテゴリを特定する数値「01」とカテゴリレベル2の料理カテゴリを特定する数値「00」とカテゴリレベル3の料理カテゴリを特定する数値「2」を含んで構成されている。
即ち、カテゴリIDが「C01002」とされた料理カテゴリと「C01013」とされた料理カテゴリは、カテゴリレベル1において同じ料理カテゴリに属すと共に、カテゴリレベル2において異なる料理カテゴリに属していることが分かる。
Returning to the description of FIG. 5, the dish category ID is configured so that the relationship between the dish categories in the layered dish category can be understood.
More specifically, it is composed of a two-digit numerical value indicating a category-level 1 food category, a two-digit numerical value indicating a category-level 2 food category, and a one-digit numerical value indicating a category-level 3 food category. . For example, the food category ID “C01002” specifies a numerical value “01” that specifies a food category of category level 1, a numerical value “00” that specifies a food category of category level 2, and a food category of category level 3. It is configured to include the numerical value “2”.
In other words, it can be seen that the dish category with the category ID “C01002” and the dish category with “C01013” belong to the same dish category at the category level 1 and belong to different dish categories at the category level 2.

続いて、取得ルートについて説明する。取得ルートは、当該利用履歴としての食事情報をどのような経路で取得したかを示す情報である。例えば、取得ルートが「SNS(Social Networking Service)投稿」とされた履歴情報は、SNSに投稿された記事に基づいて当該料理カテゴリに属する料理を飲食したと推定された履歴情報である。また、「レシピ利用」とされた履歴情報は、作成レポートの投稿やレシピの閲覧履歴などによって当該料理カテゴリに属する料理を飲食したと推定された履歴情報である。更に、「給食情報」とされた履歴情報は、給食の献立表などの料理のスケジュールに関する情報から当該料理カテゴリに属する料理を飲食したと推定された履歴情報である。これらの情報は、例えば、履歴情報の確からしさ(即ち、本当に飲食したかどうかの確度)として用いられる。   Next, the acquisition route will be described. The acquisition route is information indicating the route through which the meal information as the usage history was acquired. For example, the history information whose acquisition route is “SNS (Social Networking Service) posting” is history information that is estimated to have eaten and consumed a dish belonging to the dish category based on an article posted to the SNS. In addition, the history information set to “use recipe” is history information estimated to have eaten and consumed a dish belonging to the dish category based on a creation report posting, recipe browsing history, and the like. Further, the history information set as “lunch information” is history information estimated to have eaten and consumed a dish belonging to the dish category from information on a dish schedule such as a lunch menu. These pieces of information are used, for example, as the certainty of the history information (that is, the certainty of whether or not the user has actually eaten or drinked).

最後に利用形態について説明する。
利用形態は、料理カテゴリの利用形態を示している。例えば、定食屋などの店舗での飲食が推定されたものであれば、「外食」とされる。また、取得ルートが「レシピ利用」であれば、レシピを印刷することによってレシピの利用(即ち料理カテゴリの利用)が推測された場合には「印刷」とされ、作成レポートの投稿によってレシピの利用が推測された場合には「作成レポート投稿」とされ、レシピの所定時間の閲覧によってレシピの利用が推測された場合には「閲覧」とされる。利用形態の情報は、例えば、取得ルートと合わせて履歴情報の確からしさとして用いられる。
Finally, a usage mode will be described.
The usage mode indicates the usage mode of the cooking category. For example, if eating and drinking at a store such as a set meal shop is estimated, it is determined to be “eating out”. Further, if the acquisition route is “use of recipe”, if the use of the recipe (that is, the use of the food category) is estimated by printing the recipe, the use of the recipe is determined by posting the creation report. Is determined to be “creation report posting”, and if the use of the recipe is estimated by browsing the recipe for a predetermined time, it is determined to be “browsing”. The usage mode information is used, for example, as the certainty of the history information together with the acquisition route.

[3−5.ウェブページDB]
ウェブページDB54には、レシピ管理サーバ1がユーザに提供する各種ウェブページのデータが記憶される。具体的には、レシピ検索ページや特集ページや検索結果ページやレシピ詳細ページやユーザページなどのウェブページデータである。
ウェブページデータとしては、ウェブページのURL(Uniform Resource Locator)情報と各ウェブページ上に配置されるオブジェクト(画像やテキストやバナーなど)の配置情報が記憶される。配置情報とは、ウェブページ上における各オブジェクトの配置態様(位置や大きさ、色等)が記載された情報である。
尚、ウェブページDB54に記憶される情報は、例えば、HTML(Hyper Text Markup Language)やXHTML(Extensible HyperText Markup Language)などの構造化文書ファイルで記憶されてもよい。
[3-5. Web page DB]
The web page DB 54 stores data of various web pages provided by the recipe management server 1 to the user. Specifically, it is web page data such as a recipe search page, a special feature page, a search result page, a recipe detail page, and a user page.
As the web page data, URL (Uniform Resource Locator) information of the web page and arrangement information of objects (images, texts, banners, etc.) arranged on each web page are stored. The arrangement information is information in which the arrangement mode (position, size, color, etc.) of each object on the web page is described.
The information stored in the web page DB 54 may be stored in a structured document file such as, for example, Hyper Text Markup Language (HTML) or Extensible HyperText Markup Language (XHTML).

<4.処理の流れ>

レシピ管理サーバ1が実行する各種処理について説明する。

[4−1.第1の実施の形態]
先ず、ユーザが食事のための推薦情報(推薦カテゴリや推薦レシピの情報)を要求する際の第1の実施の形態の全体の流れについて、図6を参照して説明する。
<4. Processing Flow>

Various processes executed by the recipe management server 1 will be described.

[4-1. First Embodiment]
First, an overall flow of the first embodiment when a user requests recommendation information for a meal (information of a recommendation category and a recommendation recipe) will be described with reference to FIG.

ユーザが推薦情報を得るためには、レシピ管理サーバ1が運営するサービスにログインすることが必要である。
従って、ユーザがユーザ端末3を用いてログイン画面を表示させる操作を行ったことに応じ、ユーザ端末3はステップS101において、ログイン画面情報(即ちログイン画面を表示させるためのウェブページデータ)の要求処理を実行する。
In order for a user to obtain recommendation information, it is necessary to log in to a service operated by the recipe management server 1.
Accordingly, in response to the user performing an operation of displaying the login screen using the user terminal 3, the user terminal 3 requests the login screen information (ie, the web page data for displaying the login screen) in step S101. Execute

ログイン画面情報要求処理によりユーザ端末3からレシピ管理サーバ1へログイン画面情報要求が送信されると、レシピ管理サーバ1はステップS201において、ログイン画面情報送信処理を実行する。
これにより、例えば、レシピ管理サーバ1から受信したレシピサイトのログイン画面情報(ウェブページデータ)に応じたウェブページがユーザ端末3上に表示される。
尚、レシピ管理サーバ1はこのとき、ログイン画面をユーザ端末3上に表示させたことを履歴(即ちログイン画面の閲覧履歴)として記憶してもよい。
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.
At this time, the recipe management server 1 may store the fact that the login screen is displayed on the user terminal 3 as a history (that is, a browsing history of the login screen).

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

ユーザ端末3からレシピ管理サーバ1へログイン情報が送信されると、レシピ管理サーバ1はステップS202において認証処理を実行し、続くステップS203においてログイン履歴を記憶する処理を実行し、ステップS204において認証結果通知処理を実行する。
具体的には、レシピ管理サーバ1は、ユーザ端末3上で入力されたユーザIDとパスワードをユーザDB50に記憶された情報と比較して当該ユーザのログイン可否を判定し、当該ログイン可否情報を認証結果としてユーザ端末3へ通知する。尚、認証結果をユーザ端末3へ送信すると共に、レシピサイトのトップページのウェブページデータを送信してもよい。これにより、ユーザ認証がなされると共に、ユーザ端末3上にレシピサイトのトップページが表示される。
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, executes a process of storing a login history in step S203, and executes an authentication result in step S204. Perform notification processing.
Specifically, the recipe management server 1 compares the user ID and the password input on the user terminal 3 with information stored in the user DB 50 to determine whether or not the user can log in, and authenticates the log in / out information. As a result, the user terminal 3 is notified. The authentication result may be transmitted to the user terminal 3 and the web page data of the top page of the recipe site may be transmitted. Thus, the user is authenticated, and the top page of the recipe site is displayed on the user terminal 3.

尚、図6に示す一連の流れは、ステップS202の認証処理においてログイン可と判定された場合を示している。ステップS202においてログイン不可と判定した場合は、ユーザ端末3は再度ステップS102の処理を実行し、これに応じてレシピ管理サーバ1はステップS202の処理を実行する。   Note that a series of flows shown in FIG. 6 shows a case where it is determined that the login is possible in the authentication processing in step S202. If it is determined in step S202 that the login is not possible, the user terminal 3 executes the processing of step S102 again, and the recipe management server 1 executes the processing of step S202 accordingly.

続いて、ユーザ端末3はステップS103において、ユーザ操作に基づいて推薦情報を要求する処理を実行する。このユーザ操作は、例えば、ウェブページ上に設けられた推薦情報を得るための「お勧め情報を見る」ボタンを押下する操作などである。   Subsequently, in step S103, the user terminal 3 executes a process of requesting recommendation information based on a user operation. The user operation is, for example, an operation of pressing a “view recommended information” button for obtaining recommended information provided on the web page.

推薦情報要求がユーザ端末3からレシピ管理サーバ1へ送信されると、レシピ管理サーバ1はステップS205において、推薦情報取得処理を実行する。推薦情報取得処理は、ユーザ端末3に推薦情報として提示する料理カテゴリ(即ち推薦カテゴリ)を取得する処理である。
ステップS205の推薦情報取得処理の詳細について、図7を参照して説明する。
レシピ管理サーバ1は、ステップS301において一つの料理カテゴリを選択し、続くステップS302において当該料理カテゴリの提示時期情報を取得する。
尚、料理カテゴリの提示時期は、図6及び図7の各処理を実行する前にバッチ処理などによって予め算出され、図4に示すユーザDB50に記憶されているように構成してもよい。尚、バッチ処理の詳細については後述する。
When the recommendation information request is transmitted from the user terminal 3 to the recipe management server 1, in step S205, the recipe management server 1 executes a recommendation information acquisition process. The recommendation information acquisition process is a process of acquiring a dish category (that is, a recommendation category) to be presented as recommendation information to the user terminal 3.
Details of the recommendation information acquisition process in step S205 will be described with reference to FIG.
The recipe management server 1 selects one dish category in step S301, and acquires presentation time information of the dish category in step S302.
Note that the presentation time of the dish category may be calculated in advance by performing a batch process or the like before executing each of the processes in FIGS. 6 and 7, and may be configured to be stored in the user DB 50 illustrated in FIG. The details of the batch processing will be described later.

続いて、レシピ管理サーバ1はステップS303において、当該料理カテゴリについて提示時期が条件を満たしているか(即ち現時刻において提示時期が経過したか)を判定する。
提示時期が条件を満たしていると判定した場合、レシピ管理サーバ1はステップS304において、当該料理カテゴリを推薦カテゴリとして選択する。
Subsequently, in step S303, the recipe management server 1 determines whether the presentation time satisfies the condition for the food category (ie, whether the presentation time has elapsed at the current time).
When it is determined that the presentation time satisfies the condition, the recipe management server 1 selects the dish category as a recommended category in step S304.

ステップS304の後、或いは、ステップS303において提示時期が条件を満たしていないと判定した後、レシピ管理サーバ1はステップS305において、処理を行っていない料理カテゴリがあるかどうかを判定する。
処理を行っていない料理カテゴリがあると判定した場合、レシピ管理サーバ1はステップS301乃至S305の処理を再度実行する。
一方、処理を行っていない料理カテゴリがないと判定した場合、図7に示す一連の処理を終了する。
即ち、図7に示す処理を実行することにより、提示時期が到来した料理カテゴリが推薦カテゴリとして選択される。
After step S304 or after determining in step S303 that the presentation time does not satisfy the condition, in step S305, the recipe management server 1 determines whether there is a dish category for which no processing has been performed.
If it is determined that there is a dish category for which no processing has been performed, the recipe management server 1 executes the processing of steps S301 to S305 again.
On the other hand, if it is determined that there is no cooking category for which no processing has been performed, a series of processing illustrated in FIG. 7 ends.
That is, by executing the processing shown in FIG. 7, the dish category for which the presentation time has arrived is selected as the recommended category.

図6の説明に戻る。
推薦情報として推薦カテゴリの情報を取得したレシピ管理サーバ1は、ステップS206において優先度付与処理を実行する。
尚、優先度付与処理は、推薦カテゴリが複数ある場合に実行する処理であり、取得した推薦カテゴリが一つであった場合はステップS206の処理を実行しない。
Returning to the description of FIG.
The recipe management server 1 that has acquired the information on the recommended category as the recommended information executes a priority assignment process in step S206.
Note that the priority assignment process is a process executed when there are a plurality of recommended categories, and does not execute the process of step S206 when the obtained recommended category is one.

優先度付与処理には、いくつかの例が考え得る。例えば、最終利用時期からの経過時間が長い推薦カテゴリの優先度を上げることが考えられる。具体的には、最終利用時期が昨日である推薦カテゴリAと1週間前である推薦カテゴリBでは、推薦カテゴリAよりも推薦カテゴリBの優先度を上げる。   Several examples can be considered for the priority assignment processing. For example, it is conceivable to raise the priority of a recommended category having a long elapsed time from the last use time. Specifically, in the recommended category A whose last use time is yesterday and the recommended category B one week ago, the priority of the recommended category B is higher than that of the recommended category A.

また、優先度付与処理の他の例として、利用周期が短い推薦カテゴリAの優先度を上げることが考えられる。具体的には、利用周期が1週間の推薦カテゴリAと1ヶ月の推薦カテゴリBでは、推薦カテゴリBよりも推薦カテゴリAの優先度を上げる。これは、優先度の低い推薦カテゴリが利用されなかった場合の影響を考えてのことである。即ち、1週間の利用周期が1日延びた場合と1ヶ月の利用周期が1日延びた場合では、1週間の利用周期が1日延びた場合の方が相対的に影響が大きいと考えられる。従って、利用されなかった場合の影響が大きい推薦カテゴリの優先度を上げる。   As another example of the priority assignment processing, it is conceivable to raise the priority of the recommended category A having a short use cycle. Specifically, in the recommended category A having a usage cycle of one week and the recommended category B having a one-month period, the priority of the recommended category A is higher than that of the recommended category B. This is in consideration of the effect when a recommendation category with a low priority is not used. That is, when the one-week use cycle is extended by one day and when the one-month use cycle is extended by one day, it is considered that the effect is greater when the one-week use cycle is extended by one day. . Therefore, the priority of a recommended category that has a large effect when not used is increased.

推薦カテゴリに優先度を付与したレシピ管理サーバ1は、ステップS207において提示処理を行う。
提示処理では、レシピ管理サーバ1からユーザ端末3に向けて優先度が付与された推薦カテゴリの情報が送信される。例えば、優先度順に推薦カテゴリの情報が配置されたウェブページを表示するためのHTMLデータが送信される。
The recipe management server 1 that has assigned the priority to the recommended category performs a presentation process in step S207.
In the presentation process, information on the recommended category to which the priority is assigned is transmitted from the recipe management server 1 to the user terminal 3. For example, HTML data for displaying a web page in which information of recommended categories is arranged in order of priority is transmitted.

[4−2.バッチ処理]
レシピ管理サーバ1が実行するバッチ処理について説明する。バッチ処理では、料理カテゴリ毎の提示時期を算出する処理を実行する。
具体的に、図8を参照して説明する。
[4-2. Batch processing]
The batch processing executed by the recipe management server 1 will be described. In the batch process, a process of calculating a presentation time for each food category is executed.
This will be specifically described with reference to FIG.

図8に示すバッチ処理は、一人のユーザに対しての提示時期を算出する処理である。即ち、全ユーザに対して提示時期を算出する場合には、図8に示す一連の処理をユーザの数だけ繰り返して実行することとなる。また、バッチ処理を行う必要のあるユーザが一人である場合は、図8に示す一連の処理を1回だけ行えばよい。   The batch process shown in FIG. 8 is a process of calculating a presentation time for one user. That is, when the presentation time is calculated for all the users, the series of processes shown in FIG. 8 is repeatedly executed by the number of users. If only one user needs to perform batch processing, the series of processing shown in FIG. 8 may be performed only once.

先ず、レシピ管理サーバ1はステップS401において、レシピ情報の取得対象となるユーザを特定する処理を実行する。推薦情報の提示対象となるユーザを対象ユーザと記載するのに対して、レシピ情報の取得対象となるユーザは推薦情報の提示のための情報の提供元のユーザであることから情報提供元ユーザと記載する。
即ち、情報提供元ユーザの情報に基づいて決定された推薦情報を対象ユーザに提示する。
First, in step S401, the recipe management server 1 executes a process of specifying a user whose recipe information is to be obtained. While the user for whom the recommendation information is presented is referred to as the target user, the user for whom the recipe information is to be acquired is the user who provided the information for the presentation of the recommendation information. Describe.
That is, the recommendation information determined based on the information of the information providing source user is presented to the target user.

対象ユーザと情報提供元ユーザは必ずしも同一のユーザとは限らない。例えば、ユーザAがユーザ端末3を用いてレシピ管理サーバ1のサービスを受ける場合を説明する。即ち、対象ユーザがユーザAとなる場合である。
このとき、情報提供元ユーザは、レシピ管理サーバ1のサービスを受けるユーザA自身であってもよいし、ユーザAが指定したユーザBであってもよい。
The target user and the information providing source user are not necessarily the same user. For example, a case where the user A receives the service of the recipe management server 1 using the user terminal 3 will be described. That is, the target user is the user A.
At this time, the information providing source user may be the user A himself who receives the service of the recipe management server 1 or the user B specified by the user A.

具体的には、ユーザAが自身の食事情報に基づいて推薦情報を受け取る場合、対象ユーザ及び情報提供元ユーザは共にユーザAとなる。
また、ユーザAが配偶者であるユーザBの食事情報に基づいて推薦情報を受け取る場合、対象ユーザはユーザAとなり情報提供元ユーザはユーザAが指定したユーザBとなる。
換言すれば、情報提供元ユーザを決めることは、料理カテゴリの提出時期を算出するために誰の食事情報に基づくかを決めることとなる。
Specifically, when the user A receives the recommendation information based on his / her meal information, the target user and the information provider user are both the user A.
When the user A receives recommendation information based on the meal information of the spouse, the user B, the target user is the user A and the information providing user is the user B designated by the user A.
In other words, deciding the information providing source user is deciding which meal information is to be based on for calculating the presentation time of the cooking category.

続いて、レシピ管理サーバ1はステップS402において、情報提供元ユーザの食事情報を食事情報DB53から取得する処理を実行する。
食事情報取得処理についてはいくつかの例を説明する。ここでは、図9を参照して一つの例を説明し、他の例については後述する。
レシピ管理サーバ1は、食事情報取得処理において、ステップS501のように直近の所定期間における食事情報を取得する。所定期間は、例えば1ヶ月などのように固定の数値(期間)として定められている。固定の所定期間は、料理カテゴリの利用周期を算出するのに十分な期間であることが望ましい。即ち、一つの料理カテゴリが複数回利用される期間とすることが望ましい。
Subsequently, in step S402, the recipe management server 1 executes a process of obtaining the meal information of the information providing source user from the meal information DB 53.
Several examples of the meal information acquisition process will be described. Here, one example will be described with reference to FIG. 9, and other examples will be described later.
In the meal information acquisition process, the recipe management server 1 acquires the meal information in the latest predetermined period as in step S501. The predetermined period is set as a fixed numerical value (period) such as one month, for example. It is desirable that the fixed predetermined period is a period sufficient to calculate the use cycle of the cooking category. That is, it is desirable to set a period in which one cooking category is used a plurality of times.

図8の説明に戻る。
続いて、レシピ管理サーバ1はステップS403において、利用周期特定処理を実行する。
利用周期特定処理について、図10を参照して説明する。
利用周期特定処理は、情報提供元ユーザの食事情報(先のステップS402において取得した情報)に基づいて料理カテゴリ毎の利用周期を特定(算出)する処理である。
Returning to the description of FIG.
Subsequently, in step S403, the recipe management server 1 executes a use cycle specifying process.
The use cycle specifying process will be described with reference to FIG.
The use cycle specifying process is a process of specifying (calculating) a use cycle for each food category based on the meal information of the information providing source user (the information acquired in the previous step S402).

先ず、レシピ管理サーバ1はステップS601において、一つの料理カテゴリを選択する処理を実行する。
続いて、レシピ管理サーバ1はステップS602において、選択された料理カテゴリに常用食事情報が含まれているか(所属しているか)を確認する。
First, in step S601, the recipe management server 1 executes a process of selecting one dish category.
Subsequently, in step S602, the recipe management server 1 checks whether the selected food category includes regular food information (whether or not it belongs).

常用食事情報が含まれていないと判定した場合、レシピ管理サーバ1は、選択された料理カテゴリの最後の利用日時(最終利用時期)をステップS603で取得し、更にもう一つ前の利用日時(利用時期)をステップS604で取得する。各利用日時の情報は、食事情報DB53から取得する。
利用日時とは、先に説明した料理カテゴリを利用した時間(或いは日付情報でもよい)であり、即ち料理カテゴリに属するレシピを利用した日時や料理カテゴリに属する料理を外食などで飲食した日時である。
続くステップS605では、これら二つの利用日時の差分から利用周期を算出する処理をレシピ管理サーバ1は実行する。
尚、二つの利用日時ではなくもっと多くの利用日時から平均的な差分を算出して利用周期としてもよい。
When it is determined that the regular meal information is not included, the recipe management server 1 acquires the last use date and time (last use time) of the selected food category in step S603, and further uses the last use date and time ( Use time) is obtained in step S604. Information on each use date and time is acquired from the meal information DB 53.
The use date and time is the time (or date information) when the above-described cooking category is used, that is, the date and time when a recipe belonging to the cooking category is used or the date and time when a meal belonging to the cooking category is eaten and eaten. .
In subsequent step S605, the recipe management server 1 executes a process of calculating a use cycle from a difference between these two use dates and times.
Note that an average difference may be calculated from a larger number of use dates and times, instead of two use dates and times, and used as a use cycle.

ステップS605を実行した後、レシピ管理サーバ1はステップS606において、処理を行っていない料理カテゴリがあるかどうかを確認する。
処理を行っていない料理カテゴリがあると判定した場合、レシピ管理サーバ1はステップS601の処理を再度実行する。
一方、処理を行っていない料理カテゴリがあると判定した場合、レシピ管理サーバ1は図10に示す一連の処理を終了する。
After executing step S605, in step S606, the recipe management server 1 checks whether there is any dish category that has not been processed.
When it is determined that there is a dish category for which no processing has been performed, the recipe management server 1 executes the processing of step S601 again.
On the other hand, when it is determined that there is a cooking category for which no processing has been performed, the recipe management server 1 ends the series of processing illustrated in FIG.

尚、ステップS602において常用食事情報が含まれていると判定した場合、ステップS603乃至S605の各処理を実行せずにステップS606の処理を実行する。これは、常用食事情報が含まれた料理カテゴリは、前述のように、推薦情報として提示することは不適当であるため、利用周期を算出する必要が無いためである。   If it is determined in step S602 that the regular meal information is included, the process of step S606 is executed without executing the processes of steps S603 to S605. This is because it is not necessary to calculate a use cycle of a cooking category including regular meal information, as described above, because it is inappropriate to present it as recommendation information.

再び図8の説明に戻る。
全ての料理カテゴリについての利用周期を算出したレシピ管理サーバ1は、ステップS404において、利用周期から提示時期を算出する処理を実行する。
提示時期は、最終利用時期と利用周期から次回の利用が予想される時期を提示時期として算出する。具体的には、例えば最終利用時期が3日前であり利用周期が10日である場合、提示時期は7日後となる。
図8に示す一連の処理を実行することにより、料理カテゴリ毎の提示時期が算出される。そして、その後、ユーザから推薦情報の要求を受信した場合に、図6のステップS205乃至S207の各処理を実行することにより、提示時期に基づいた推薦カテゴリが提示される。
Returning to the description of FIG.
In step S404, the recipe management server 1 that has calculated the use cycle for all the cooking categories executes a process of calculating the presentation time from the use cycle.
The presentation time is calculated based on the final use time and the use cycle, at which time the next use is expected. Specifically, for example, when the final use time is three days ago and the use cycle is ten days, the presentation time is seven days later.
By executing a series of processes shown in FIG. 8, the presentation time for each dish category is calculated. Then, when a request for recommendation information is received from the user, the processes in steps S205 to S207 in FIG. 6 are executed, whereby a recommendation category based on the presentation time is presented.

尚、ユーザからの推薦情報の要求を受信するまでに提示時期が渡過した料理カテゴリについては、ユーザに提示してもしなくてもよい。このとき、渡過した時間の長さによって提示するかどうかを決定してもよい。具体的には、渡過してからそれ程時間が経過していない場合は当該料理カテゴリを推薦カテゴリとしてユーザに提示するが、渡過してからの時間経過が長い場合には当該料理カテゴリを推薦情報として提示しないなどが考え得る。
もちろん、渡過した時間の長さによらずにユーザに推薦情報を提示してもよい。
The cooking category whose presentation time has passed by the time the request for recommendation information is received from the user may or may not be presented to the user. At this time, whether or not to present the information may be determined based on the length of the passed time. Specifically, if the time has not passed since passing, the food category is presented to the user as a recommended category, but if the time has passed since passing, the food category is recommended. It is conceivable that it is not presented as information.
Of course, the recommendation information may be presented to the user regardless of the length of time passed.

尚、図8のステップS404の提示時期の算出は、全ての料理カテゴリに対して行ってもよいし、一部の料理カテゴリに対して行ってもよい。一部の料理カテゴリに対して提示時期の算出を行う場合は、先の図10の利用周期特定処理においても一部の料理カテゴリの利用周期を算出すればよい。
一部の料理カテゴリに対して提示時期を算出する例としては、例えば、カテゴリレベル2の料理カテゴリに対して提示時期を算出することが考えられる。これは、カテゴリレベル1に属する料理カテゴリでは利用周期が短すぎるため提示時期が頻繁に来てしまうことや、カテゴリレベル3に属する料理カテゴリでは利用周期が長すぎるため提示時期が中々来ないことを考慮してのことである。
The calculation of the presentation time in step S404 in FIG. 8 may be performed for all the food categories, or may be performed for some of the food categories. When the presentation time is calculated for some of the cooking categories, the usage cycle of some of the cooking categories may be calculated in the usage cycle specifying process of FIG.
As an example of calculating the presentation time for some of the cooking categories, for example, it is conceivable to calculate the presentation time for the category 2 cooking category. This is because the use period is too short for the cooking category belonging to category level 1 and the presentation time frequently comes because the use period is too long for the food category belonging to category level 3 and the presentation time is not so common. It is a matter of consideration.

[4−3.第2の実施の形態]
第2の実施の形態では、推薦情報として料理カテゴリ(推薦カテゴリ)を提示するのではなく、レシピ情報(推薦レシピ)を提示する。
具体的に、図6及び図11を参照して説明する。
[4-3. Second Embodiment]
In the second embodiment, recipe information (recommended recipe) is presented instead of presenting a dish category (recommended category) as recommendation information.
This will be specifically described with reference to FIGS.

レシピ管理サーバ1は図6に示すように、ユーザ端末3から推薦情報要求を受信すると、ステップS205においてユーザに提示する推薦情報を取得し、続くステップS206において優先度を付与し、ステップS207において提示処理を実行する。
第2の実施の形態では、ステップS205の推薦情報取得処理の処理内容が異なる。
As shown in FIG. 6, when receiving the recommendation information request from the user terminal 3, the recipe management server 1 acquires recommendation information to be presented to the user in step S205, assigns a priority in subsequent step S206, and presents it in step S207. Execute the process.
In the second embodiment, the content of the recommendation information acquisition process in step S205 is different.

第2の実施の形態における推薦情報取得処理の例を図11に示す。
推薦情報取得処理では、図11に示すように、レシピ管理サーバ1はステップS301乃至S304において、料理カテゴリ毎の提示時期を取得し、提示時期が到来した料理カテゴリについては推薦カテゴリとして選択する処理を実行する。これらの処理は、図7において同符号を付して説明した処理と同様の処理であるため、詳細な説明は省略する。
FIG. 11 shows an example of the recommendation information acquisition process according to the second embodiment.
In the recommendation information acquisition process, as shown in FIG. 11, the recipe management server 1 acquires a presentation time for each food category in steps S301 to S304, and selects a food category for which the presentation time has arrived as a recommended category. Execute. These processes are the same as the processes described with the same reference numerals in FIG. 7, and thus the detailed description is omitted.

推薦カテゴリを選択したレシピ管理サーバ1は、続くステップS306において、推薦カテゴリに属するレシピを推薦レシピとして抽出する処理を実行する。
例えば、推薦カテゴリが「カレー」である場合、料理カテゴリ「カレー」に属する「我が家のシーフードカレー」や「トマトたっぷりインドカレー」などのレシピが推薦レシピとして抽出される。
In the following step S306, the recipe management server 1 that has selected the recommended category executes a process of extracting a recipe belonging to the recommended category as a recommended recipe.
For example, when the recommended category is “curry”, recipes such as “my home seafood curry” and “tomato full Indian curry” belonging to the cooking category “curry” are extracted as recommended recipes.

尚、ステップS306の推薦レシピの抽出では、推薦カテゴリに属するレシピのうちユーザに推薦することが適切なレシピのみを推薦レシピとして抽出してもよい。
ユーザに推薦することが適切なレシピとは、例えば、ユーザの好みの食材を含むレシピや好まない食材を含まないレシピなどである。また、ユーザが調理可能な(例えば、調理方法において使用する調理器具をユーザが所持している)レシピやユーザが調理しやすい(例えば、頻繁に利用する調理工程や調理手法又は食材を含む)レシピなどを推薦レシピとして抽出する。これによって、ユーザにとってより適切なレシピを推薦レシピとして提示することができ、またユーザにとってより不適切なレシピが推薦レシピとして提示されてしまうことを防止することができる。
In the extraction of the recommended recipe in step S306, only a recipe that is appropriate to be recommended to the user among the recipes belonging to the recommended category may be extracted as the recommended recipe.
The recipe that is appropriate to be recommended to the user is, for example, a recipe that includes a user's favorite food or a recipe that does not include an unfavorable food. In addition, recipes that can be cooked by the user (for example, the user possesses cooking utensils used in the cooking method) and recipes that are easy for the user to cook (for example, include frequently used cooking steps, cooking methods, or ingredients) Are extracted as recommended recipes. Thereby, a more suitable recipe for the user can be presented as a recommended recipe, and a more inappropriate recipe for the user can be prevented from being presented as a recommended recipe.

全ての料理カテゴリに対して図11の処理を終え、推薦レシピを抽出したレシピ管理サーバ1は、図6のステップS206によって優先度付与処理を実行し、ステップS207において提示処理を実行する。
ステップS206の優先度付与処理では、推薦レシピに対する優先度付与処理を行う。優先度は、優先度を高くすべき推薦カテゴリを決定すると共に、高い優先度を付与された推薦カテゴリに属する推薦レシピを高くしてもよい。また、何れの料理カテゴリに属するかは考慮せずに推薦レシピ毎に優先度を付与してもよい。
この場合、例えば、ユーザの好みの食材を含むレシピやユーザの好まない食材を含まないレシピやユーザが調理可能なレシピやユーザが調理しやすいレシピなどの優先度を高くすることが考えられる。また、ユーザに提示することが不適切なレシピの優先度を低くしてもよい。更に、ユーザが今まで利用したことのないレシピの優先度を高くしてもよい。
After completing the processing in FIG. 11 for all the cooking categories, the recipe management server 1 that has extracted the recommended recipes executes the priority assignment processing in step S206 in FIG. 6, and executes the presentation processing in step S207.
In the priority assignment process of step S206, a priority assignment process is performed on the recommended recipe. For the priority, a recommended category to be given a higher priority may be determined, and a recommended recipe belonging to a recommended category given a higher priority may be given a higher priority. Also, priorities may be assigned to each recommended recipe without considering which cooking category it belongs to.
In this case, for example, it is conceivable to increase the priority of a recipe including ingredients that the user likes, a recipe that does not include ingredients that the user does not like, a recipe that can be cooked by the user, and a recipe that is easy for the user to cook. Further, the priority of a recipe that is inappropriate to be presented to the user may be lowered. Furthermore, the priority of a recipe that has not been used by the user may be increased.

ステップS207の提示処理では、レシピ管理サーバ1からユーザ端末3に向けて優先度が付与された推薦レシピの情報が送信される。例えば、優先度順に推薦レシピの情報が配置されたウェブページを表示するためのHTMLデータが送信される。
In the presentation process of step S207, information on the recommended recipes to which the priorities have been assigned is transmitted from the recipe management server 1 to the user terminal 3. For example, HTML data for displaying a web page in which information of recommended recipes is arranged in order of priority is transmitted.

[4−4.バッチ処理の第2例]
バッチ処理の第2例について、図12及び図13を参照して説明する。
バッチ処理の第2例では、算出した提示時期を調整する処理を実行する。
[4-4. Second example of batch processing]
A second example of the batch processing will be described with reference to FIGS.
In the second example of the batch process, a process of adjusting the calculated presentation time is executed.

先ず、レシピ管理サーバ1は図12に示すステップS401乃至S404を実行することにより、情報提供元ユーザの食事情報を取得し、特定した料理カテゴリ毎の利用周期から提示時期を算出する処理を実行する。
ステップS401乃至S404の各処理については、同符号を付して図8で説明した各処理と同様の処理であり、詳述は省く。
First, the recipe management server 1 executes steps S401 to S404 shown in FIG. 12 to acquire the meal information of the information provider user and execute a process of calculating the presentation time from the use cycle for each specified dish category. .
The processes in steps S401 to S404 are denoted by the same reference numerals, and are the same processes as the processes described in FIG. 8, and a detailed description thereof will be omitted.

提示時期を算出したレシピ管理サーバ1は、続くステップS405において、提示時期を調整する処理を実行する。
提示時期調整処理については、いくつかの例が考えられる。先ずは一つ目の例について、図13を参照して説明する。
In the following step S405, the recipe management server 1 that has calculated the presentation time executes a process of adjusting the presentation time.
There are several examples of the presentation time adjustment process. First, the first example will be described with reference to FIG.

先ず、レシピ管理サーバ1はステップS701において、提示時期算出処理(ステップS404)の対象となった料理カテゴリのうちの一つを選択する。即ち、提示時期を算出した料理カテゴリを一つ選択する。
続いて、レシピ管理サーバ1はステップS702において、上位カテゴリが共通の他料理のカテゴリの食事情報(利用履歴)を食事情報DB53から取得する。
First, in step S701, the recipe management server 1 selects one of the dish categories targeted for the presentation time calculation process (step S404). That is, one cooking category whose presentation time has been calculated is selected.
Subsequently, in step S702, the recipe management server 1 acquires, from the meal information DB 53, meal information (use history) of a category of another dish having a common upper category.

具体的に説明すると、例えば、料理カテゴリ「麺類」の下位カテゴリには「ラーメン」、「パスタ」、「うどん」、「そば」などの料理カテゴリが属している。ステップS701において料理カテゴリ「うどん」が選択された場合、上位カテゴリが共通の他料理カテゴリは「ラーメン」、「パスタ」、「そば」となる。従って、ステップS702の処理は、「ラーメン」、「パスタ」、「そば」の料理カテゴリについての利用履歴を取得する処理となる。   More specifically, for example, food categories such as “Ramen”, “Pasta”, “Udon”, and “Soba” belong to the lower category of the food category “Noodles”. When the food category “udon” is selected in step S701, the other food categories having a common upper category are “ramen”, “pasta”, and “soba”. Therefore, the process of step S702 is a process of acquiring the usage history for the “Ramen”, “Pasta”, and “Soba” dish categories.

尚、ステップS702で取得する利用履歴の情報は、バッチ処理のステップS401で情報提供元とされたユーザに関するものである。例えば、情報提供元ユーザが複数人である場合は、利用履歴の取得も当該複数人に対して行う。   Note that the usage history information acquired in step S702 relates to the user who is the information provider in step S401 of the batch processing. For example, when there are a plurality of information providing source users, the use history is also acquired for the plurality of users.

続いて、レシピ管理サーバ1はステップS703において、他料理カテゴリ(ここでの一例としては「ラーメン」、「パスタ」、「そば」の料理カテゴリ)毎の最終利用時期について、直近の所定期間(所定時間でもよい)内であるか否かを判定する。即ち、直近の所定期間内に他料理カテゴリに属する料理の飲食を行ったか否かを判定する。所定期間としては、例えば3日などであり、ユーザに対して似たようなレシピや料理カテゴリを推薦することを回避する期間とされる。
尚、ステップS703の判定処理では、他料理カテゴリの中に一つでも直近の所定期間内に最終利用時期が位置している料理カテゴリがある場合には、最終利用時期が直近の所定期間内であると判定する。
Subsequently, in step S703, the recipe management server 1 determines the last use time for each of the other food categories (here, for example, the “ramen”, “pasta”, and “soba” food categories) for a latest predetermined period (predetermined time). (Or time). That is, it is determined whether or not the food belonging to the other food category has been eaten and consumed within the latest predetermined period. The predetermined period is, for example, three days, and is a period for avoiding recommending similar recipes and cooking categories to the user.
In the determination process of step S703, when there is a food category in which the last use time is located within the latest predetermined period in at least one of the other food categories, the final use time is within the latest predetermined period. It is determined that there is.

他料理カテゴリの最終利用時期が直近の所定期間内であると判定した場合、レシピ管理サーバ1はステップS704において提示時期を調整する処理を実行する。即ち、提示時期を後ろ倒しする。具体的には、例えば、利用周期が1週間である料理カテゴリ「うどん」の提示時期が到来したため、「うどん」を推薦カテゴリとしてユーザに提示したいが、料理カテゴリ「そば」の利用が昨日であったため、料理カテゴリ「うどん」の提示時期を本日から数日分後ろに移動させる。このときの移動量は、料理カテゴリ「そば」の最終利用時期(昨日)から料理カテゴリ「うどん」の利用周期である1週間の間が空くように(即ち昨日から7日後となるように)設定してもよいし、料理カテゴリ「うどん」自体は1週間利用していないことから、利用周期の半分程度(即ち3,4日)後ろ倒しとなるように設定してもよい。
他料理カテゴリ(換言すれば類似する料理カテゴリ)の最終利用時期に応じて提示時期を調整することにより、仮に提示したとしてもユーザによって選択される可能性が低いと推定される推薦情報の送信を制御し、相対的に優先度の低い推薦情報を送信することによって生じる処理負担の増加を抑制することができる。
When it is determined that the last use time of the other food category is within the latest predetermined period, the recipe management server 1 executes a process of adjusting the presentation time in step S704. That is, the presentation time is postponed. Specifically, for example, since the presentation time of the cooking category “Udon” whose usage cycle is one week has come, the user wants to present “Udon” as a recommended category to the user, but the usage of the cooking category “Soba” was yesterday. Therefore, the presentation time of the cooking category "udon" is moved several days behind from today. The amount of movement at this time is set so that there is an interval from the last use time (yesterday) of the food category “Soba” to one week which is the usage cycle of the food category “Udon” (that is, seven days after yesterday). Alternatively, since the cooking category "udon" itself is not used for one week, it may be set to be delayed by about half of the usage cycle (that is, three or four days).
By adjusting the presentation time according to the final use time of another dish category (in other words, a similar dish category), it is possible to transmit the recommendation information estimated to be unlikely to be selected by the user even if presented. By controlling and transmitting recommendation information having a relatively low priority, it is possible to suppress an increase in processing load caused by transmitting the recommendation information having a relatively low priority.

ステップS704の処理を実行した後、或いは、ステップS703において他料理カテゴリの最終利用時期が直近の所定期間内ではないと判定した後、レシピ管理サーバ1はステップS705において、対象の料理カテゴリ(即ち提示時期を算出した料理カテゴリ)の全てに対して上述の処理を適用したか否かを判定する。
対象の料理カテゴリのうち未処理の料理カテゴリがある場合、レシピ管理サーバ1は再びステップS701の処理を実行する。
対象の料理カテゴリのうち未処理の料理カテゴリがない場合、レシピ管理サーバ1は図13に示す一連の処理を終了することで、図12に示すバッチ処理を終了する。
After executing the processing of step S704, or after determining in step S703 that the last use time of another food category is not within the latest predetermined period, the recipe management server 1 determines in step S705 that the target food category (ie, the presentation of the target food category) It is determined whether or not the above-described processing has been applied to all of the cooking categories whose times have been calculated.
If there is an unprocessed food category among the target food categories, the recipe management server 1 executes the processing of step S701 again.
When there is no unprocessed food category among the target food categories, the recipe management server 1 ends the series of processing illustrated in FIG. 13 and ends the batch processing illustrated in FIG.

尚、上位カテゴリが共通の他の料理カテゴリの最終利用時期を取得する代わりに、上位カテゴリの最終利用時期を取得してもよい。下位カテゴリが利用された場合、下位カテゴリの最終利用時期が更新されると共に上位カテゴリの最終利用時期も更新されるためである。   Note that, instead of acquiring the last use time of another cooking category having a common upper category, the last use time of the upper category may be acquired. This is because, when the lower category is used, the last use time of the lower category is updated and the last use time of the upper category is also updated.

次に、提示時期調整処理の二つ目の例について、図14を参照して説明する。
二つ目の例は、ユーザが飲食した料理の属性を考慮した提示時期の調整である。
先ず、レシピ管理サーバ1はステップS801において、提示時期算出処理(ステップS404)の対象となった料理カテゴリのうちの一つを選択する。この処理は、図13のステップS701の処理と同様の処理である。
続いて、レシピ管理サーバ1はステップS802において、情報提供元ユーザ(食事情報の取得対象となるユーザ)の所定期間の食事情報を取得する。対象期間は、ステップS801で選択した料理カテゴリの利用周期によって決めてもよい。例えば、利用周期が1週間であれば、直近の1週間の食事情報(利用履歴)を取得する。
Next, a second example of the presentation time adjustment processing will be described with reference to FIG.
The second example is adjustment of the presentation time in consideration of the attributes of the food that the user has eaten and drink.
First, in step S801, the recipe management server 1 selects one of the dish categories targeted for the presentation time calculation process (step S404). This process is similar to the process of step S701 in FIG.
Subsequently, in step S802, the recipe management server 1 acquires the meal information of the information providing source user (the user whose meal information is to be acquired) for a predetermined period. The target period may be determined based on the use cycle of the dish category selected in step S801. For example, if the usage cycle is one week, meal information (use history) for the latest one week is acquired.

次に、レシピ管理サーバ1はステップS803において、食事情報に基づいて所定期間内に飲食されたと推定される料理の属性情報を取得する。属性情報とは、例えば、味の種類などであり、「味噌味」や「カレー味」などである。   Next, in step S803, the recipe management server 1 acquires attribute information of a dish that is estimated to have been eaten and consumed within a predetermined period based on the meal information. The attribute information is, for example, the type of taste and the like, such as “miso taste” and “curry taste”.

そして、レシピ管理サーバ1はステップS804において、選択した料理カテゴリと共通の属性情報を持つ食事情報(利用履歴)があるかどうかを判定する。
具体的には、ステップS801において料理カテゴリ「カレー」が選択され、ステップS802において取得された食事情報によってユーザが所定期間内に「カレーうどん」を飲食したと推定される場合、ステップS804の判定処理では、共通の属性情報(カレー味)を持つ食事情報ありと判定する。
Then, in step S804, the recipe management server 1 determines whether there is meal information (use history) having attribute information common to the selected food category.
Specifically, when the cooking category “curry” is selected in step S801 and it is estimated that the user has eaten or consumed “curry udon” within a predetermined period based on the meal information acquired in step S802, the determination process in step S804 Then, it is determined that there is meal information having common attribute information (curry taste).

ステップS804において、共通の属性情報を持つ食事情報ありと判定した場合(例えば料理カテゴリは異なるが似たような味の料理を直近の所定期間内に飲食していた場合)、レシピ管理サーバ1はステップS805において、提示時期を調整する処理を実行する。具体的には、共通の属性情報を持つ食事情報ありと判定された料理カテゴリの提示時期を長くなる(遅くなる)ように調整する。調整する処理に関しては、図12のステップS704と同様の処理であり、ステップS801で選択された料理カテゴリの提示時期(この例においては、「カレー」の利用周期)に応じて調整してもよい。   In step S804, when it is determined that there is meal information having common attribute information (for example, when foods having different food categories and similar tastes have been eaten and consumed within the latest predetermined period), the recipe management server 1 In step S805, a process of adjusting the presentation time is executed. Specifically, the presentation time of the cooking category determined to have the meal information having the common attribute information is adjusted so as to be longer (slower). The adjustment process is the same as the process in step S704 in FIG. 12, and may be adjusted according to the presentation time of the dish category selected in step S801 (in this example, the usage cycle of “curry”). .

ステップS805の処理を実行した後、或いは、ステップS804において共通の属性情報を持つ食事情報なしと判定した後、レシピ管理サーバ1はステップS806において、対象の料理カテゴリ(即ち提示時期を算出した料理カテゴリ)の全てに対して上述の処理を適用したか否かを判定する。
対象の料理カテゴリのうち未処理の料理カテゴリがある場合、レシピ管理サーバ1は再びステップS801の処理を実行する。
対象の料理カテゴリのうち未処理の料理カテゴリがない場合、レシピ管理サーバ1は図14に示す一連の処理を終了することで、図12に示すバッチ処理を終了する。
After executing the processing of step S805 or after determining in step S804 that there is no meal information having common attribute information, the recipe management server 1 determines in step S806 that the target food category (ie, the food category for which the presentation time was calculated). It is determined whether or not the above-described processing has been applied to all of the above.
If there is an unprocessed food category among the target food categories, the recipe management server 1 executes the processing of step S801 again.
If there is no unprocessed food category among the target food categories, the recipe management server 1 ends the series of processing illustrated in FIG. 14 and ends the batch processing illustrated in FIG.

[4−5.バッチ処理の第3例]
バッチ処理の第3例について、図12及び図15を参照して説明する。
バッチ処理の第3例では、過去の食事情報だけではなく未来の食事情報も加味して推薦情報の提示時期を調整する。
[4-5. Third example of batch processing]
A third example of the batch processing will be described with reference to FIGS.
In the third example of the batch process, the presentation time of the recommendation information is adjusted in consideration of not only past meal information but also future meal information.

レシピ管理サーバ1はステップS401を実行することによって、情報提供元ユーザを特定した後、ステップS402において食事情報を取得する処理を実行する。更にレシピ管理サーバ1は、ステップS403で利用周期を特定し、ステップS404で提示時期を算出する。提示時期は、全ての料理カテゴリについて算出してもよいし、一部の料理カテゴリについて算出してもよい。   After executing step S401, the recipe management server 1 specifies the information source user, and then executes a process of acquiring meal information in step S402. Further, the recipe management server 1 specifies a use cycle in step S403, and calculates a presentation time in step S404. The presentation time may be calculated for all food categories, or may be calculated for some food categories.

次にレシピ管理サーバ1が実行するステップS405の提示時期調整処理の流れは、先のバッチ処理の第2例で説明した流れ(図13のフローチャート)と同じであるが、処理内容は一部異なる。
バッチ処理の第3例における提示時期調整処理の例について、図15を参照して説明する。
Next, the flow of the presentation time adjustment processing in step S405 executed by the recipe management server 1 is the same as the flow (flow chart in FIG. 13) described in the second example of the batch processing, but the processing contents are partially different. .
An example of the presentation time adjustment process in the third example of the batch process will be described with reference to FIG.

先ず、レシピ管理サーバ1は図15のステップS701において、提示時期算出の対象となった料理カテゴリのうちの一つを選択し、続くステップS706において上位カテゴリが共通の他料理カテゴリ(即ち類似の料理カテゴリ)の食事情報を取得する。
このとき、他料理カテゴリについての食事情報は、過去の食事情報(即ち利用履歴)だけでなく未来の食事情報も取得する。未来の食事情報は、ユーザが将来飲食する予定の食事の情報であり、前述したように給食の献立表や社員食堂の献立表や行きつけの定食屋の日替わり定食の情報などである。他にもユーザ自身によって入力された食事の予定(例えば外食の予定など)であってもよい。
First, in step S701 of FIG. 15, the recipe management server 1 selects one of the dish categories for which the presentation time has been calculated, and in subsequent step S706, another dish category having a common upper category (that is, a similar dish). Category) to get meal information.
At this time, the meal information about the other cuisine category acquires not only past meal information (that is, use history) but also future meal information. The future meal information is information on meals that the user plans to eat and drink in the future, and as described above, is information on menus for lunches, menus for employee cafeterias, and information on daily meals at the set meal shop of your choice. Alternatively, a meal schedule (for example, a meal schedule) input by the user may be used.

そして、レシピ管理サーバ1はステップS707において、過去の最終利用時期及び未来の利用時期が直近の所定期間内であるか否かを判定する。換言すれば、直近の所定期間内に最終利用時期が含まれているか、或いは、未来の利用時期が含まれているかを確認する。
例えば、所定期間が1週間とされ、ステップS701で選択された料理カテゴリの最終利用時期が3日前であったり、未来の利用時期が3日後であったりする場合には、利用時期が直近の所定期間内であると判定する。
Then, in step S707, the recipe management server 1 determines whether the past final use time and the future use time are within the latest predetermined period. In other words, it is confirmed whether the last use time is included in the latest predetermined period or whether the future use time is included.
For example, if the predetermined period is set to one week and the last use time of the cooking category selected in step S701 is three days before or the future use time is three days later, the latest predetermined time is used. It is determined that it is within the period.

利用時期が直近の所定期間内であると判定した場合、レシピ管理サーバ1はステップS704において提示時期の調整を行う。この処理は、先の図13で述べたように、利用周期の分だけ期間が空くように提示時期を後ろ倒しすることで調整してもよい。   If it is determined that the use time is within the latest predetermined period, the recipe management server 1 adjusts the presentation time in step S704. This processing may be adjusted by delaying the presentation time so that the period becomes as long as the use cycle, as described in FIG.

また、他にも、提示時期を前倒しすることによって調整してもよい。例えば、料理カテゴリ「うどん」の利用周期が1週間であり、最終利用時期が5日前であった場合、提示時期は2日後とすることが考えられる。しかし、未来の食事情報では、5日後の給食で「うどん」が出されることが分かっている場合、2日後に料理カテゴリ「うどん」を提示してしまうと、更に3日後に「うどん」を飲食することとなり、間隔が短くなってしまう。
そこで、最終利用時期(5日前)と次回の利用時期(5日後)の中間時期(本日)を提示時期としてもよい。これにより、料理カテゴリの利用間隔に大きな偏りが生じることを防止することができる。
また、最終利用時期と次回の利用時期の間隔が利用周期よりも短い場合、或いは利用周期よりも余り長くない場合には、提示時期を最終利用時期と次回の利用時期の間に設けることを止めてもよい。
Alternatively, the presentation time may be adjusted by moving forward. For example, when the use cycle of the cooking category “udon” is one week and the last use time is five days ago, the presentation time may be two days later. However, in the future meal information, if it is known that "udon" will be served after 5 days of lunch, if the cooking category "udon" is presented two days later, "udon" will be eaten and eaten three days later And the interval becomes short.
Therefore, an intermediate time (today) between the final use time (5 days before) and the next use time (5 days after) may be used as the presentation time. As a result, it is possible to prevent a large deviation in the use intervals of the cooking category.
Also, if the interval between the last use time and the next use time is shorter than the use cycle or not much longer than the use cycle, stop providing the presentation time between the last use time and the next use time. You may.

ステップS704の処理を実行した後、或いは、ステップS707において利用時期が直近の所定期間内でないと判定した後、レシピ管理サーバ1はステップS705において、対象の料理カテゴリ(即ち提示時期を算出した料理カテゴリ)の全てに対して上述の処理を適用したか否かを判定する。
対象の料理カテゴリのうち未処理の料理カテゴリがある場合、レシピ管理サーバ1は再びステップS701の処理を実行する。
対象の料理カテゴリのうち未処理の料理カテゴリがない場合、レシピ管理サーバ1は図13に示す一連の処理を終了することで、図12に示すバッチ処理を終了する。
After executing the processing of step S704, or after determining in step S707 that the use time is not within the latest predetermined period, the recipe management server 1 determines in step S705 the target food category (that is, the food category for which the presentation time was calculated). It is determined whether or not the above-described processing has been applied to all of the above.
If there is an unprocessed food category among the target food categories, the recipe management server 1 executes the processing of step S701 again.
When there is no unprocessed food category among the target food categories, the recipe management server 1 ends the series of processing illustrated in FIG. 13 and ends the batch processing illustrated in FIG.

尚、未来の利用時期も考慮した提示時期調整処理では、図14のように、取得した過去及び未来の食事情報から所定期間内に共通の属性情報を持つ料理を飲食したか否か(するか否か)に応じて提示時期を調整してもよい。
In the presentation time adjustment process in which the future use time is also taken into consideration, as shown in FIG. 14, it is determined whether or not a dish having common attribute information has been eaten and consumed within a predetermined period based on the acquired past and future meal information. The presentation time may be adjusted depending on whether or not).

[4−6.バッチ処理の第4例]
バッチ処理の第4例について、図8,図16及び図17を参照して説明する。
バッチ処理の第4例では、利用周期を算出するための食事情報の取得期間が前述とは異なる。
具体的に、レシピ管理サーバ1は、先ず図8のステップS401において情報提供元ユーザを特定し、ステップS402において食事情報を取得する。
[4-6. Fourth example of batch processing]
A fourth example of the batch processing will be described with reference to FIG. 8, FIG. 16, and FIG.
In the fourth example of the batch process, the period of obtaining the meal information for calculating the use cycle is different from the above.
Specifically, the recipe management server 1 first specifies an information providing source user in step S401 in FIG. 8, and acquires meal information in step S402.

食事情報取得処理は、図9と処理内容が異なる。図16を参照して説明する。
食事情報取得処理では、レシピ管理サーバ1はステップS502において、取得起算時点を算出する処理を実行する。取得起算時点は、前述のように、食事情報の取得対象となる期間の起点となる時間情報である。本例では、情報提供元ユーザに関する各料理カテゴリの利用周期に基づいて取得起算時点を算出する。即ち、これまでのバッチ処理において利用周期が算出済みである場合に、当該算出済みの利用周期から取得起算時点を算出する。
例えば、料理カテゴリA,B,Cがあり、それぞれ利用周期が3日、5日、21日であった場合、取得起算時点は料理カテゴリCの利用周期が再算出可能と思われる21日以前の時間とすることが望ましい。例えば、利用周期の倍の期間となる42日間の食事情報を取得すれば、その中に料理カテゴリCの利用履歴が二つ以上存在する可能性が高くなる。
また、三つ以上の食事情報(利用履歴)から平均的な利用周期を算出する場合には、例えば、21日の3倍である63日よりも前の日時(例えば70日前)を取得起算時点とすることが考えられる。70日分の食事情報を取得すれば、料理カテゴリA,Bに関しては十分な情報が取得できる可能性が高く、更に料理カテゴリCに関しても三つの食事情報が取得できる可能性が高い。
The content of the meal information acquisition process is different from that of FIG. This will be described with reference to FIG.
In the meal information acquisition process, the recipe management server 1 executes a process of calculating an acquisition start point in step S502. The acquisition start point is, as described above, time information serving as a start point of a period in which meal information is to be acquired. In this example, the acquisition start time is calculated based on the use cycle of each cooking category for the information providing source user. That is, when the use cycle has been calculated in the batch processing so far, the acquisition start point is calculated from the calculated use cycle.
For example, if there are cooking categories A, B, and C, and the usage cycles are 3, 5, and 21 days, respectively, the acquisition start time is before 21 days when the usage cycle of the cooking category C can be recalculated. Time is desirable. For example, if meal information for 42 days, which is twice as long as the usage cycle, is acquired, it is highly likely that two or more usage histories of the cooking category C exist therein.
When calculating an average use cycle from three or more pieces of meal information (use history), for example, the date and time (for example, 70 days ago) before 63 days, which is three times 21 days, is calculated. It is conceivable that If the meal information for 70 days is acquired, there is a high possibility that sufficient information can be obtained for the cooking categories A and B, and further, it is highly possible that three meal information can be obtained for the cooking category C.

取得起算時点を算出したレシピ管理サーバ1は、続くステップS503において、取得起算時点から現在までの食事情報を取得する処理を実行する。   In the following step S503, the recipe management server 1 that has calculated the acquisition start time executes a process of obtaining meal information from the acquisition start time to the present.

食事情報取得処理を終えたレシピ管理サーバ1は、図8のステップS403の利用周期特定処理を実行する。
利用周期特定処理については、図17を参照して説明する。
先ず、レシピ管理サーバ1はステップS601において、一つの料理カテゴリを選択し、ステップS602において、選択された料理カテゴリに常用食事情報が含まれているか(所属しているか)を確認する。
The recipe management server 1 that has completed the meal information acquisition process executes the use cycle specifying process of step S403 in FIG.
The use cycle specifying process will be described with reference to FIG.
First, in step S601, the recipe management server 1 selects one food category, and in step S602, checks whether the selected food category includes regular food information (is belonging to).

続いて、レシピ管理サーバ1はステップS603において選択された料理カテゴリの最終利用時期を取得し、ステップS604において更にもう一つ前の利用時期(利用日時)を取得する。
ステップS601乃至S604の各処理は前述と同じであり、詳述は省く。
Subsequently, the recipe management server 1 obtains the last use time of the cooking category selected in step S603, and obtains the immediately preceding use time (use date and time) in step S604.
The processes in steps S601 to S604 are the same as those described above, and will not be described in detail.

最終利用時期及び一つ前の利用時期の二つの情報を取得したレシピ管理サーバ1は、少なくとも当該二つの情報が取得できたか否かを判定する処理をステップS607において実行する。
二つの情報を取得できなかった場合、利用周期の算出ができない。従って、そのような場合には、レシピ管理サーバ1はステップS608において食事情報を追加で取得する処理を実行する。
尚、最終利用時期及び一つ前の利用時期の二つの情報が取得できるまでステップS604,S607,S608が繰り返されるが、余りにも古い食事情報まで遡って取得したにも関わらず当該料理カテゴリの利用周期を算出するための情報が取得できなかった場合には、ステップS605の処理へと移行してもよい。例えば、1年前の情報に基づいて利用周期を算出しても、定期的に当該料理カテゴリを利用している可能性は低く、ユーザにとって有意義な推薦情報を提供できる可能性が低くなるためである。
The recipe management server 1 that has acquired the two pieces of information of the last use time and the immediately preceding use time executes a process of determining whether or not at least the two pieces of information have been obtained in step S607.
If the two pieces of information cannot be obtained, the usage cycle cannot be calculated. Therefore, in such a case, the recipe management server 1 executes a process of additionally obtaining meal information in step S608.
Steps S604, S607, and S608 are repeated until two pieces of information, the last use time and the immediately preceding use time, can be obtained. If the information for calculating the period cannot be obtained, the process may proceed to step S605. For example, even if the usage cycle is calculated based on information one year ago, the possibility that the food category is regularly used is low, and the possibility of providing meaningful recommendation information for the user is low. is there.

利用周期を算出するための情報が取得できたレシピ管理サーバ1は、ステップS605で利用時期の差分時間から利用周期を算出する。   Recipe management server 1 having obtained the information for calculating the use cycle calculates the use cycle from the difference time of the use time in step S605.

ステップS605を実行した後、又はステップS602において常用食事情報が含まれていると判定した後、レシピ管理サーバ1はステップS606において、S601乃至S605の各処理を実行していない料理カテゴリがあるかどうかを判定する。
ステップS601乃至S605の各処理を実行していない料理カテゴリがあると判定した場合、レシピ管理サーバ1はステップS601の処理を再度実行する。
一方、ステップS601乃至S605の各処理を実行していない料理カテゴリがないと判定した場合、レシピ管理サーバ1は図17に示す一連の処理を終了する。
After executing step S605 or determining that the regular meal information is included in step S602, the recipe management server 1 determines in step S606 whether there is a food category for which the processing of steps S601 to S605 has not been performed. Is determined.
When it is determined that there is a dish category for which the processes of steps S601 to S605 have not been executed, the recipe management server 1 executes the process of step S601 again.
On the other hand, when it is determined that there is no dish category for which the processes of steps S601 to S605 have not been executed, the recipe management server 1 ends the series of processes illustrated in FIG.

尚、三つ以上の食事情報(利用履歴)から平均的な利用周期を算出する場合には、ステップS603及びS604において、必要な数の食事情報を取得する処理を行う。更に、ステップS607の処理では必要な数の食事情報を取得できたか否かを判定する。
また、必要な数の食事情報を取得できた場合であっても、利用時期の差分時間から利用周期を算出する際に、利用周期のばらつきが大きい場合には、ステップS608の処理を実行してもよい。例えば、カテゴリAの利用履歴が80日前、75日前、21日前、20日前であった場合、利用周期は三つの差分時間である5日、46日、1日から算出することになるが、ばらつきが大きいため、適切な利用周期が推定できない。そのため、ステップS605で利用周期の算出を試みた後にステップS608で食事情報を追加取得し、再度ステップS605で利用周期の算出を行うことが考えられる。この場合には、追加で取得した食事情報に基づいて、料理カテゴリAの利用周期を46日付近に設定するのか、5日付近に設定するのか、或いは例えば平均日数など他の期間を利用周期として設定するのかを判定する。
When an average use cycle is calculated from three or more pieces of meal information (use history), a process of acquiring a necessary number of pieces of meal information is performed in steps S603 and S604. Further, in the process of step S607, it is determined whether a necessary number of meal information has been obtained.
Further, even when the required number of meal information can be obtained, when calculating the use cycle from the use time difference time, if the use cycle varies widely, the process of step S608 is executed. Is also good. For example, if the usage history of the category A is 80 days ago, 75 days ago, 21 days ago, and 20 days ago, the usage cycle is calculated from three difference times of 5 days, 46 days, and 1 day. Is large, it is not possible to estimate an appropriate use cycle. For this reason, it is conceivable that after calculating the use cycle in step S605, additional meal information is obtained in step S608, and the use cycle is calculated again in step S605. In this case, based on the additionally obtained meal information, the usage cycle of the cooking category A is set to around 46 days, to about 5 days, or another period such as, for example, the average number of days is used as the usage cycle. Determine whether to set.

尚、特定の料理カテゴリに関する所定数の食事情報を食事情報DB53から取得可能なようにDBが構成されている場合には、ステップS603,S604,S607,S608の代わりに所定数の食事情報を食事情報DB53から取得する処理を実行すればよい。   If the DB is configured so that a predetermined number of meal information items relating to a specific cooking category can be obtained from the meal information DB 53, a predetermined number of meal information items are replaced with the meal information instead of steps S603, S604, S607, and S608. What is necessary is just to perform the process acquired from the information DB53.

図17に示す利用周期特定処理を終了したレシピ管理サーバ1は、図8のステップS404の利用周期から提示時期を算出する処理を実行する。この処理の詳細は先に述べたとおりであり、詳述を省く。
The recipe management server 1 that has completed the use cycle specifying process illustrated in FIG. 17 executes the process of calculating the presentation time from the use cycle in step S404 in FIG. The details of this processing are as described above, and a detailed description will be omitted.

<5.変形例>

各処理における変形例について、いくつかの例を説明する。

[5−1.情報提供元ユーザ特定処理の変形例1]
前述した情報提供元ユーザ特定処理では、対象ユーザと情報提供元ユーザが同じ場合(即ち自身の食事情報に基づく推薦情報の提示を受けたい場合)を説明した。また、他にも、対象ユーザが指定したユーザを情報提供元ユーザとする場合(即ちユーザAが配偶者であるユーザBの食事情報に基づいて推薦情報の提示を受けたい場合)を説明した。
<5. Modification>

Some examples of modified examples of each process will be described.

[5-1. Modification Example 1 of Information Source User Identifying Process]
In the information providing source user specifying process described above, a case where the target user and the information providing source user are the same (that is, a case where it is desired to receive presentation of recommendation information based on own meal information) is described. In addition, the case where the user specified by the target user is the information providing source user (that is, the case where the user A wants to receive recommendation information based on the meal information of the user B who is a spouse) has been described.

それに対して、情報提供元ユーザ特定処理の変形例1では、ユーザAが所属するグループのメンバー全員を情報提供元ユーザとする場合を説明する。グループとは、例えばユーザA及びその家族(ユーザB,C,D)が所属する家族グループなどである。換言すれば、ユーザAと一緒に食事する可能性の高いユーザを集めたグループである。   On the other hand, in a first modification of the information providing source user specifying process, a case will be described in which all members of the group to which the user A belongs are the information providing source users. The group is, for example, a family group to which the user A and his or her family (users B, C, and D) belong. In other words, it is a group of users who are likely to eat together with the user A.

ユーザAが他のユーザB,C,Dを指定することによってユーザA,B,C,Dが情報提供元ユーザとして特定される。また、ユーザの住所や投稿情報などに基づいて推定されたユーザAの所属するグループの各メンバーを情報提供元ユーザとして特定するように構成してもよい。   When the user A specifies the other users B, C, and D, the users A, B, C, and D are specified as the information providing source users. Further, each member of the group to which the user A belongs, which is estimated based on the user's address, posted information, and the like, may be configured to be specified as the information providing source user.

これにより、ユーザA,B,C,D全員の食事情報を考慮した推薦情報(料理カテゴリやレシピ)が提示されるため、二日連続同じ料理を食すことになるユーザが出てしまうことを防止することが可能となる。
As a result, recommendation information (cooking category and recipe) in consideration of meal information of all users A, B, C, and D is presented, so that a user who eats the same dish for two consecutive days is prevented from appearing. It is possible to do.

[5−2.情報提供元ユーザ特定処理の変形例2]
情報提供元ユーザ特定処理の変形例2では、ユーザAと関連する関連ユーザ(例えば前述のグループにおけるユーザB,C,D)の中で、食事情報が充実しているユーザを情報提供元ユーザとして特定する。食事情報が充実しているユーザとは、グループに所属する他のユーザに対して食事情報に含まれる情報の量が相対的に多いユーザや、グループに所属する他のユーザに対して食事情報に含まれる料理カテゴリの種類が相対的に多いユーザなどである。
ここで、ユーザAの関連ユーザについての情報は、レシピ管理サーバ1が管理するDBに記憶されている。即ち、何れのユーザがユーザAと関連しているのかを示す情報や、関連ユーザの食事情報などの情報が各DBに記憶されている。
[5-2. Modification 2 of Information Providing User Identification Process]
In the modification 2 of the information providing source user specifying process, among the related users related to the user A (for example, the users B, C, and D in the above-described group), a user who has sufficient meal information is set as the information providing source user Identify. A user who has sufficient meal information includes a user whose amount of information included in the meal information is relatively large with respect to other users belonging to the group and a user whose meal information is relatively large with respect to other users belonging to the group. The user includes a relatively large number of types of cooking categories.
Here, information on the related user of the user A is stored in the DB managed by the recipe management server 1. That is, information indicating which user is related to the user A and information such as meal information of the related user are stored in each DB.

具体的に、図18を参照して説明する。
レシピ管理サーバ1は、ステップS901において、対象ユーザの関連ユーザの情報を取得する。即ち、対象ユーザであるユーザAの関連ユーザはどのユーザであるのかを確認する。
This will be specifically described with reference to FIG.
In step S901, the recipe management server 1 acquires information on the related user of the target user. That is, it is confirmed which user is the related user of the user A who is the target user.

続いて、レシピ管理サーバ1はステップS902において、対象ユーザ及び関連ユーザに関する食事情報のレコード数を食事情報DB53から取得する。レコード数とは、食事情報DB53に記憶されている情報の数であり、例えば、図5に示す一覧の中で1行を構成する各情報の組が1レコードとされる。即ち図5では、ユーザID=U0001とされたユーザの食事情報が少なくとも6レコード記憶されていることが示されている。   Subsequently, in step S902, the recipe management server 1 acquires the number of records of meal information on the target user and the related user from the meal information DB 53. The number of records is the number of information stored in the meal information DB 53. For example, each set of information forming one row in the list shown in FIG. That is, FIG. 5 shows that at least six records of the meal information of the user whose user ID = U0001 are stored.

次に、レシピ管理サーバ1はステップS903において、対象ユーザ及び関連ユーザのうちレコード数が相対的に多いユーザを情報提供元ユーザとして設定する。即ち、バッチ処理におけるステップS402の食事情報取得処理(図8や図12など)では、レコード数が相対的に多いユーザの食事情報のみが取得される。   Next, in step S903, the recipe management server 1 sets a user having a relatively large number of records among the target user and the related user as an information providing source user. That is, in the meal information acquisition process (FIG. 8 or FIG. 12) of step S402 in the batch process, only the meal information of the user having a relatively large number of records is acquired.

尚、食事情報に含まれる料理カテゴリの種類に応じて情報提供元ユーザを特定する場合には、ステップS902において対象ユーザ及び関連ユーザに関する食事情報の料理カテゴリ数を取得し、ステップS903において食事情報の料理カテゴリ数が相対的に多いユーザが情報提供元ユーザとして設定される。
When the information providing source user is specified according to the type of the food category included in the meal information, the number of food categories of the meal information relating to the target user and the related user is obtained in step S902, and the number of the food information in the meal information is determined in step S903. A user having a relatively large number of cooking categories is set as an information provider user.

[5−3.提示時期算出処理の変形例]
提示時期算出処理の変形例について、図19を参照して説明する。
先に述べた提示時期算出処理では、一部の料理カテゴリの提示時期を算出する例を述べた。また、そこでは、一部の料理カテゴリの選択例として、一律同じカテゴリレベルの料理カテゴリ(例えばカテゴリレベル2の料理カテゴリ)を選択する例を述べた。
提示時期算出処理の変形例では、一部の料理カテゴリの選択に際して、利用周期を用いる例を説明する。
尚、図19の処理の開始時には、全ての料理カテゴリの利用周期が特定されている状態とされる。但し、常用食事情報を含む料理カテゴリについては、利用周期が特定されていなくても構わない。
[5-3. Modification of Presentation Time Calculation Processing]
A modification of the presentation time calculation process will be described with reference to FIG.
In the above-described presentation time calculation process, an example has been described in which the presentation times of some food categories are calculated. Also, there has been described an example in which a dish category of the same category level (for example, a category level 2 dish category) is selected as an example of selecting some of the dish categories.
In a modification of the presentation time calculation process, an example will be described in which a use cycle is used when selecting some of the cooking categories.
At the start of the processing in FIG. 19, the use cycle of all the cooking categories is specified. However, for the food category including the regular meal information, the use cycle may not be specified.

先ず、レシピ管理サーバ1はステップS1001において、料理カテゴリの利用周期を取得する処理を実行する。例えば、カテゴリレベル1の料理カテゴリ(大分類の料理カテゴリ)のうちの一つを選択して、利用周期を取得する。   First, in step S1001, the recipe management server 1 executes a process of acquiring a use period of a dish category. For example, one of the food categories of category level 1 (largely classified food category) is selected, and the usage cycle is acquired.

続いて、レシピ管理サーバ1はステップS1002において、利用周期が下限閾値以下であるかどうかを判定する。下限閾値は、例えば1週間や1ヶ月とされる。   Subsequently, in step S1002, the recipe management server 1 determines whether the usage cycle is equal to or less than the lower threshold. The lower threshold is, for example, one week or one month.

利用周期が下限閾値以下であった場合(例えば下限閾値が1週間であるのに対し利用周期が2日であった場合)、レシピ管理サーバ1はステップS1003において、下位カテゴリの利用周期を取得する。そして、レシピ管理サーバ1は再びステップS1002を実行することにより、当該下位カテゴリの利用周期が下限閾値以下であるか否かを判定する。   When the use cycle is equal to or less than the lower threshold (for example, when the lower threshold is 1 week and the use cycle is 2 days), the recipe management server 1 acquires the use cycle of the lower category in step S1003. . Then, the recipe management server 1 executes step S1002 again to determine whether or not the use cycle of the lower category is equal to or less than the lower threshold.

例えば、カテゴリレベル1の料理カテゴリとしての料理カテゴリAがあり、料理カテゴリAの下位カテゴリとして料理カテゴリA1,A2,A3,A4がある場合について、図20を参照して説明する。
1週間とされた加減閾値に対して、料理カテゴリAの利用周期が4日である場合、ステップS1002,S1003によって下位カテゴリである料理カテゴリA1,A2,A3,A4の利用周期が取得される。料理カテゴリA1,A2,A3,A4の利用周期が6日、30日、30日、60日である場合、料理カテゴリA1だけは利用周期が下限閾値以下であるため、再びステップS1003の処理が実行されて、更に下位カテゴリA11,A12の利用周期が取得される。
料理カテゴリA11,A12が15日、10日である場合、更に下位カテゴリについての処理は行われずに、料理カテゴリAについての図19に示す一連の処理が終了する。
For example, a case where there is a food category A as a food category of category level 1 and there are food categories A1, A2, A3 and A4 as lower categories of the food category A will be described with reference to FIG.
When the usage cycle of the cooking category A is 4 days with respect to the adjustment threshold value of one week, the usage cycles of the cooking categories A1, A2, A3, and A4, which are lower categories, are acquired in steps S1002 and S1003. If the use cycle of the food categories A1, A2, A3, and A4 is 6, 30, 30, and 60 days, the processing cycle of step S1003 is executed again because only the use category of the food category A1 is equal to or less than the lower threshold. Then, the usage cycle of the lower categories A11 and A12 is further obtained.
If the food categories A11 and A12 are on the 15th and 10th, the process for the lower category is not performed and the series of processes shown in FIG.

これにより、例えば、料理カテゴリ「カレー(料理カテゴリA)」を4日毎に推薦情報として提示するのではなく、下位カテゴリである「和風カレー(料理カテゴリA2)」や「欧風カレー(料理カテゴリA3)」が適切な周期で推薦情報として提示される。また、「インドカレー(料理カテゴリA1)」については、更に細分化された「キーマカレー(料理カテゴリA11)」や「マトンカレー(料理カテゴリA12)」などが推薦情報として提示される。
このユーザにとっては、カレーは頻繁に飲食する料理カテゴリである。従って、大雑把に「カレー」という料理カテゴリを4日毎に推薦情報として提示するよりも、細分化した料理カテゴリに基づいて推薦情報を提示する方が、このユーザの食事傾向を鑑みても好ましい。
更に、例えばこのユーザが料理カテゴリ「麺類」(料理カテゴリ「ラーメン」や「パスタ」や「うどん」や「そば」を含む)を月に1度しか飲食しない場合には、カテゴリレベルの異なる料理カテゴリ「麺類」と料理カテゴリ「マトンカレー」が推薦情報として提示される。即ち、料理カテゴリ毎のユーザの嗜好の偏りに応じた適切な推薦情報を提示することができる。
Thus, for example, instead of presenting the cooking category “Curry (Cooking category A)” as recommendation information every four days, the lower categories “Japanese curry (Cooking category A2)” and “European curry (Cooking category A3)” Is presented as recommendation information at an appropriate cycle. As for “Indian curry (cooking category A1)”, further subdivided “key curry (cooking category A11)” and “mutton curry (cooking category A12)” are presented as recommendation information.
For this user, curry is a frequent eating and drinking category. Therefore, it is preferable to present the recommendation information based on the subdivided food category rather than presenting the food category “curry” as the recommendation information every four days, even in view of the meal tendency of the user.
Further, for example, if this user eats and drinks only once a month in the cooking category "noodles" (including the cooking categories "Ramen", "Pasta", "Udon", and "Soba"), the cooking categories of different category levels "Noodles" and a cooking category "mutton curry" are presented as recommendation information. That is, it is possible to present appropriate recommendation information according to the bias of the user's preference for each cooking category.

尚、ここでは、図19の処理の開始時において料理カテゴリ毎の利用周期が既に特定されている例を説明したがこれに限られることはない。例えば、図19のS1001の処理において、利用周期の取得の代わりに利用周期の算出を行ってもよい。更に、ステップS1003の処理の後ステップS1001において下位カテゴリの利用周期を算出する処理を実行することにより、必要に応じて下位カテゴリの利用周期が算出される。これにより、利用周期の算出が不要な料理カテゴリについては利用周期の算出が行われないため、レシピ管理サーバ1の処理を減らすことができ、処理負担の軽減を図ることができる。
Here, an example has been described in which the use cycle for each dish category has already been specified at the start of the processing in FIG. 19, but the present invention is not limited to this. For example, in the process of S1001 in FIG. 19, the use cycle may be calculated instead of obtaining the use cycle. Further, after the process of step S1003, the process of calculating the use period of the lower category is executed in step S1001, whereby the use period of the lower category is calculated as necessary. Accordingly, the calculation of the usage cycle is not performed for the cooking category for which the calculation of the usage cycle is unnecessary, so that the processing of the recipe management server 1 can be reduced, and the processing load can be reduced.

<6.まとめ>

上記したレシピ管理サーバ1は、情報の提示先となる対象ユーザを特定するユーザ特定部としてのユーザ管理部1bと、特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得部1cと、取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定部1dと、取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定部1gと、推薦カテゴリに基づいて推薦情報を対象ユーザに提示する制御を行う提示制御部1iと、を備えている。
これにより、ユーザの潜在的なニーズを汲み取った情報(推薦カテゴリ)が提示される。即ち、ユーザの嗜好だけでなく周期を考慮した選択パターンを鑑みて推薦カテゴリ情報が提示される。例えば、ユーザがそろそろ食べたくなった料理カテゴリが抽出されて、ユーザに提示される。
従って、毎日の食事を考える煩わしさを抑制しつつユーザ毎に適した推薦カテゴリを提供することが可能である。
また、ユーザがレシピ等の検索操作を行わなくても情報を提示することが可能であるため、ユーザにとって負担の少ないサービスを提供することができる。
そして、ユーザに適した情報を提示することから、ユーザが更なる検索操作等を行う機会を減少させることができるため、情報処理装置(レシピ管理サーバ1やユーザ端末3)の処理負担軽減や通信量の削減を図ることができる。
<6. Summary>

The above-described recipe management server 1 includes a user management unit 1b as a user specifying unit that specifies a target user to whom information is presented, and at least a use time corresponding to an information providing source user related to the specified target user. A meal information acquisition unit 1c for acquiring meal information, a use cycle identification unit 1d for identifying a use cycle for each food category based on a use time included in the acquired meal information, and a use time included in the acquired meal information A recommended category specifying unit 1g for specifying a food category to be a recommended category based on the presentation time for each food category calculated based on the usage cycle specified as the last usage time with the latest usage time, And a presentation control unit 1i for performing control for presenting recommendation information to the target user based on the category.
As a result, information (recommended category) that captures the potential needs of the user is presented. That is, recommended category information is presented in consideration of not only the user's preference but also a selection pattern that takes into account the cycle. For example, a cooking category that the user wants to eat soon is extracted and presented to the user.
Therefore, it is possible to provide a recommended category suitable for each user while suppressing the trouble of thinking about a daily meal.
Further, since it is possible to present information without the user performing a search operation for a recipe or the like, it is possible to provide a service with a small burden on the user.
Since the information suitable for the user is presented, the opportunity for the user to perform a further search operation or the like can be reduced, so that the processing load on the information processing device (the recipe management server 1 or the user terminal 3) can be reduced and communication can be reduced. The amount can be reduced.

また、バッチ処理の第2例やバッチ処理の第3例で説明したように、レシピ管理サーバ1は、特定された推薦カテゴリに関連する料理カテゴリの利用に基づいて特定された推薦カテゴリの提示時期を調整する提示時期調整部1fを更に備えてもよい。
これにより、例えば、類似する料理カテゴリが所定期間内に利用された場合を考慮した情報提示が行われる。
即ち、例えば、「そば」の料理カテゴリが利用(レシピ利用や外食利用など)されてから所定期間内に同じ麺類である「うどん」の料理カテゴリが提示されることが防止される。
従って、料理カテゴリ毎の利用周期だけでなく、類似した料理カテゴリの利用状況も考慮した最適な情報を提示することができる。
また、ユーザの先の予定まで含めた推薦カテゴリが特定されて提示される。
即ち、ユーザが推薦カテゴリに従って食事を摂取した後、短い期間で再度同一カテゴリに属する食事を摂取してしまうことを防止することができる。
従って、ユーザの過去の食事情報と未来の食事情報の双方を加味した総合的な情報提示を行うことができ、ユーザの利便性の向上を図ることができる。
Further, as described in the second example of the batch process and the third example of the batch process, the recipe management server 1 sets the presentation time of the recommended category specified based on the use of the dish category related to the specified recommended category. May be further provided.
Thereby, for example, information presentation is performed in consideration of a case where a similar dish category is used within a predetermined period.
That is, for example, it is prevented that the cooking category of “udon”, which is the same noodles, is presented within a predetermined period after the cooking category of “soba” is used (use of recipe, use of eating out, etc.).
Therefore, it is possible to present optimal information in consideration of not only the usage cycle of each food category but also the usage status of similar food categories.
In addition, a recommendation category including the user's previous schedule is specified and presented.
That is, it is possible to prevent the user from eating a meal belonging to the same category again in a short period of time after eating the meal according to the recommended category.
Therefore, comprehensive information presentation can be performed in consideration of both the past meal information and the future meal information of the user, and the convenience of the user can be improved.

更に、提示時期算出処理の変形例で説明したように、料理カテゴリは階層構造を有し、推薦カテゴリ特定部1gは、特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての利用周期及び提示時期を取得して推薦カテゴリの特定を行ってもよい。
これにより、全ての料理カテゴリについての利用周期及び提示時期を取得する必要が無い。
従って、レシピ管理サーバ1の処理負担の軽減を図ることができる。
特に、特定された利用周期が所定の下限閾値以下または未満である場合に、下位カテゴリについての提示時期の算出を行う場合には、処理負担の更なる軽減が図られる。
Further, as described in the modified example of the presentation time calculation process, the dish category has a hierarchical structure, and the recommended category specifying unit 1g determines that the usage cycle is less than or equal to the specified usage threshold when the specified usage cycle is equal to or less than a predetermined lower threshold. The recommendation category may be specified by acquiring the use cycle and the presentation time for the lower category of the cooking category for which the value is equal to or less than or less than the lower threshold.
Thus, it is not necessary to acquire the use cycle and the presentation time for all the cooking categories.
Therefore, the processing load on the recipe management server 1 can be reduced.
In particular, when the specified use cycle is equal to or less than or equal to the predetermined lower limit threshold and the presentation time is calculated for the lower category, the processing load is further reduced.

更にまた、提示時期算出処理の変形例で説明したように、推薦カテゴリは階層構造を有し、提示時期算出部1eは、料理カテゴリのうち利用周期が下限閾値以上またはより大きいとされた料理カテゴリの提示時期について算出し、推薦カテゴリ特定部1gは、特定された利用周期が所定の下限閾値以上またはより大きいとされた料理カテゴリの中から推薦カテゴリの特定を行ってもよい。
これにより、利用周期が短すぎる料理カテゴリに対して提示時期が算出されることが無くなる。例えば、その下位となる料理カテゴリに対して提示時期が算出される。延いては、頻繁に同じ料理カテゴリが推薦カテゴリとして提示されることが無くなる。
従って、ユーザにとって飽きのこない有意義な情報を提供することができる。
また、提示時期の算出対象とされる料理カテゴリの利用周期のばらつきがある程度緩和される。即ち、一週間などの所定の期間における献立スケジュールなどを立てる場合に、算出された提示時期に基づいて立てることが容易となる。
Furthermore, as described in the modification of the presentation time calculation process, the recommendation category has a hierarchical structure, and the presentation time calculation unit 1e calculates the cooking category of the cooking category whose usage cycle is equal to or greater than or equal to the lower threshold. May be calculated, and the recommended category specifying unit 1g may specify the recommended category from among the food categories in which the specified use cycle is equal to or larger than the predetermined lower threshold.
As a result, the presentation time is not calculated for a dish category whose usage cycle is too short. For example, the presentation time is calculated for a lower food category. As a result, the same cooking category is not frequently presented as a recommended category.
Therefore, it is possible to provide meaningful information that the user does not get tired of.
In addition, the variation in the use cycle of the cooking category for which the presentation time is to be calculated is reduced to some extent. That is, when setting a menu schedule or the like in a predetermined period such as one week, it is easy to set based on the calculated presentation time.

そして、第1の実施の形態で説明したように、提示制御部1iは、推薦カテゴリ毎に優先度を付与し、該優先度に応じて提示を行う。
これにより、ユーザにとって有意義な情報ほど優先度を高くすることが可能となる。
例えば、提示時期を大幅に経過してしまった料理カテゴリほど優先度を高くする
従って、ユーザにとって利便性の高いサービスを提供することが可能となる。
Then, as described in the first embodiment, the presentation control unit 1i assigns a priority to each recommendation category and performs presentation in accordance with the priority.
This makes it possible to set higher priority for information that is more significant for the user.
For example, the priority is set higher for a cooking category whose presentation time has passed significantly, so that it is possible to provide a service that is more convenient for the user.

また、バッチ処理の第4例で説明したように、食事情報取得部1cは、利用周期に基づいて食事情報の取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得する。
これにより、一度算出した利用周期に基づいて次回以降の各処理のための食事情報の取得の範囲(期間)が決定される。
即ち、不必要に長い期間の食事情報の取得を行わないことも可能となる。
従って、処理の対象となる食事情報の情報量が抑制されるため、情報処理装置の処理負担の軽減を図ることができる。
Further, as described in the fourth example of the batch processing, the meal information acquisition unit 1c determines the meal information acquisition start time based on the usage cycle, and acquires the meal information from the acquisition start time to the present.
As a result, the range (period) of obtaining the meal information for each process from the next time onward is determined based on the usage cycle once calculated.
That is, it is possible not to acquire the meal information for an unnecessarily long period.
Therefore, since the amount of meal information to be processed is suppressed, the processing load on the information processing apparatus can be reduced.

更にまた、情報提供元ユーザ特定処理の変形例2で説明したように、対象ユーザと関連する関連ユーザが登録されている場合において、食事情報取得部1cは、対象ユーザと関連ユーザのうち食事情報が充実しているユーザの食事情報を取得するように構成されていてもよい。
これにより、例えば、最も充実した情報を元に利用周期や提示時期が算出され、それによって特定された推薦カテゴリが提示される。
従って、ユーザに提示される推薦カテゴリは、充実した情報に基づく有意義な情報となり易いため、利便性の高いサービスを提供することができる。
Furthermore, as described in the second modification of the information providing source user specifying process, when the related user related to the target user is registered, the meal information obtaining unit 1c performs the processing of the meal information among the target user and the related user. May be configured to acquire the user's meal information that is substantial.
Thereby, for example, the use cycle and the presentation time are calculated based on the most complete information, and the recommended category specified thereby is presented.
Therefore, the recommended category presented to the user is likely to be meaningful information based on rich information, so that a highly convenient service can be provided.

尚、各処理例において説明した処理内容は、他の処理例において説明した処理によって代替することや他の処理例において説明した処理を追加実施することが可能である。即ち、その処理例において記載した内容に縛られず、他の処理例に記載された内容に基づいて処理が実行されてもよい。
一例として、バッチ処理の第3例において未来の食事情報に基づく調整を行う例を示し、バッチ処理の第4例において過去の所定期間内の食事情報を取得する際の所定期間の定め方の例を示したが、未来の食事情報の取得期間をバッチ処理の第4例と同様に利用周期に基づいて決定してもよい。
The processing content described in each processing example can be replaced by the processing described in another processing example, or the processing described in another processing example can be additionally performed. That is, the processing is not limited to the contents described in the processing example, and the processing may be executed based on the contents described in another processing example.
As an example, an example in which adjustment based on future meal information is performed in a third example of batch processing, and an example of how to determine a predetermined period when acquiring meal information within a predetermined period in the past in a fourth example of batch processing However, the acquisition period of the future meal information may be determined based on the usage cycle as in the fourth example of the batch processing.

上記に示した、所定期間や所定時間の長さは1年間や1ヶ月間や1週間などの長さであってもよいし、1時間や数時間などの長さであってもよい。
The length of the predetermined period or the predetermined time described above may be one year, one month, one week, or one hour or several hours.

<7.プログラム及び記憶媒体>

以上、本発明の情報処理装置の実施の形態としてのレシピ管理サーバ1を説明してきたが、実施の形態のプログラムは、レシピ管理サーバ1における各処理を情報処理装置(CPU等)に実行させるプログラムである。
<7. Program and Storage Medium>

The recipe management server 1 according to the embodiment of the information processing apparatus of the present invention has been described above. It is.

実施の形態のプログラムは、情報の提示先となる対象ユーザを特定するユーザ特定機能を情報処理装置に実行させる。
また、前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得機能を情報処理装置に実行させる。
更に、前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定機能を情報処理装置に実行させる。
更にまた、前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定機能を情報処理装置に実行させる。
そして、前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御機能を情報処理装置に実行させる。
即ちこのプログラムは、レシピ管理サーバ1に対して図6のステップS201乃至S207の各処理、図7乃至図19の各処理を実行させるプログラムである。
The program according to the embodiment causes the information processing apparatus to execute a user specifying function of specifying a target user to whom information is presented.
Further, the information processing apparatus is caused to execute a meal information acquisition function of acquiring meal information including at least the use time corresponding to the information providing user associated with the specified target user.
Further, the information processing apparatus is caused to execute a use cycle specifying function for specifying a use cycle for each food category based on the use time included in the acquired meal information.
Furthermore, a recommendation category and a recommendation category based on a presentation time for each cooking category calculated based on the last use time with the latest use time and the specified use cycle among the use times included in the obtained meal information are used. The information processing apparatus is caused to execute a recommended category specifying function of specifying a cooking category.
Then, the information processing apparatus is caused to execute a presentation control function of performing control for presenting recommendation information to the target user based on the recommendation category.
That is, this program is a program that causes the recipe management server 1 to execute each processing of steps S201 to S207 of FIG. 6 and each processing of FIGS. 7 to 19.

このようなプログラムにより、上述したレシピ管理サーバ1としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROMなどに予め記録しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記憶媒体に、一時的或いは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記憶媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記憶媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
With such a program, an information processing apparatus as the above-described recipe management server 1 can be realized.
Such a program can be recorded in advance on a 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 temporarily or permanently stored (recorded) in a removable storage medium such as a semiconductor memory, a memory card, an optical disk, a magneto-optical disk, or a magnetic disk. Further, such a removable storage medium can be provided as so-called package software.
Such a program can be installed on a personal computer or the like from a removable storage medium, 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 提示時期調整部、1g 推薦カテゴリ特定部、1h 推薦レシピ抽出部、1i 提示制御部、2 通信ネットワーク、3 ユーザ端末、50 ユーザDB、51 レシピDB、52 検索DB、53 食事情報DB、54 ウェブページDB   1 Recipe Management Server, 1a Recipe Management Unit, 1b User Management Unit, 1c Meal Information Acquisition Unit, 1d Usage Cycle Identifying Unit, 1e Presentation Timing Calculating Unit, 1f Presentation Timing Adjustment Unit, 1g Recommended Category Identification Unit, 1h Recommended Recipe Extraction Unit 1i presentation control unit, 2 communication network, 3 user terminal, 50 user DB, 51 recipe DB, 52 search DB, 53 meal information DB, 54 web page DB

Claims (8)

情報の提示先となる対象ユーザを特定するユーザ特定部と、
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得部と、
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定部と、
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定部と、
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御部と、を備え
前記料理カテゴリは階層構造を有し、
前記推薦カテゴリ特定部は、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行う
情報処理装置。
A user identification unit that identifies a target user to whom information is presented;
A meal information acquisition unit that acquires meal information including at least the use time corresponding to the information provider user related to the identified target user;
A use cycle specifying unit that specifies a use cycle for each cooking category based on the use time included in the obtained meal information;
A cooking category that is a recommended category based on a presentation time for each cooking category calculated based on the last usage time that is the latest usage time among the usage times included in the obtained meal information and the specified usage cycle. A recommendation category specifying unit for specifying
A presentation control unit that performs control to present recommendation information to the target user based on the recommendation category ,
The cooking category has a hierarchical structure,
The recommended category specifying unit, when the specified use cycle is less than or less than a predetermined lower threshold, the use cycle and presentation time for a lower category of the cooking category whose use cycle is less than or less than the lower threshold. And an information processing apparatus for acquiring the recommended category and identifying the recommended category .
前記特定された推薦カテゴリに関連する料理カテゴリの利用に基づいて前記特定された推薦カテゴリの前記提示時期を調整する提示時期調整部を更に備えた
請求項1に記載の情報処理装置。
The information processing device according to claim 1, further comprising: a presentation time adjustment unit configured to adjust the presentation time of the specified recommendation category based on use of a cooking category related to the specified recommendation category.
記提示時期は、前記料理カテゴリのうち前記特定された利用周期が前記下限閾値以上またはより大きいとされた料理カテゴリについて算出され、
前記推薦カテゴリ特定部は、前記特定された利用周期が前記下限閾値以上またはより大きいとされた料理カテゴリの中から前記推薦カテゴリの特定を行う
請求項1または請求項の何れかに記載の情報処理装置。
Prior Symbol presentation time is calculated for cooking category said the identified available period is equal to or greater than the lower threshold or greater of the food category,
The recommended category specifying unit, information according to claim 1 or claim 2 wherein the identified usage period to perform certain of the recommendation category from among the food category that is with the above lower threshold or greater Processing equipment.
前記提示制御部は、前記推薦カテゴリ毎に優先度を付与し、該優先度に応じて前記提示を行う
請求項1乃至請求項の何れかに記載の情報処理装置。
The presentation controller, the priority is given to each of the recommended category, the information processing apparatus according to any one of claims 1 to 3 perform the presentation in accordance with the priority degree.
前記食事情報取得部は、前記利用周期に基づいて前記食事情報の取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得する
請求項1乃至請求項の何れかに記載の情報処理装置。
The meal information acquiring unit, the determining the acquisition reckoned point of the meal information based on the usage period, according to any one of claims 1 to 4 to obtain the meal information to the current from said mounting obtain counting time Information processing device.
前記対象ユーザと関連する関連ユーザが登録されている場合において、
前記食事情報取得部は、前記対象ユーザと前記関連ユーザのうち前記食事情報が充実しているユーザの食事情報を取得する
請求項1乃至請求項の何れかに記載の情報処理装置。
When a related user related to the target user is registered,
The information processing apparatus according to any one of claims 1 to 5 , wherein the meal information acquisition unit acquires meal information of a user whose meal information is enhanced among the target user and the related user.
情報の提示先となる対象ユーザを特定するユーザ特定ステップと、
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得ステップと、
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定ステップと、
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定ステップと、
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御ステップと、を情報処理装置が実行する情報処理方法であって、
前記料理カテゴリは階層構造を有し、
前記推薦カテゴリ特定ステップでは、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行う
報処理方法。
A user specifying step of specifying a target user to which information is presented;
A meal information obtaining step of obtaining meal information including at least a use time corresponding to an information providing user related to the specified target user;
A use cycle specifying step of specifying a use cycle for each cooking category based on the use time included in the obtained meal information;
A cooking category that is a recommended category based on a presentation time for each cooking category calculated based on the last usage time that is the latest usage time among the usage times included in the obtained meal information and the specified usage cycle. A recommended category specifying step of specifying
A presentation control step of performing control for presenting recommendation information to the target user based on the recommendation category, and
The cooking category has a hierarchical structure,
In the recommended category specifying step, when the specified use cycle is less than or less than a predetermined lower threshold, the use cycle and presentation time for a lower category of the cooking category whose use cycle is less than or less than the lower threshold. And specify the recommended category
Information processing method.
情報の提示先となる対象ユーザを特定するユーザ特定機能と、
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得機能と、
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定機能と、
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定機能と、
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御機能と、を情報処理装置に実行させるプログラムであって、
前記料理カテゴリは階層構造を有し、
前記推薦カテゴリ特定機能では、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行う
ログラム。
A user identification function for identifying a target user to whom information is presented;
A meal information acquisition function for acquiring meal information including at least the use time corresponding to the information providing source user related to the specified target user;
A use cycle specifying function for specifying a use cycle for each cooking category based on the use time included in the obtained meal information;
A cooking category that is a recommended category based on a presentation time for each cooking category calculated based on the last usage time that is the latest usage time among the usage times included in the obtained meal information and the specified usage cycle. Recommendation category identification function to identify
And a presentation control function of performing control for presenting recommendation information to the target user based on the recommendation category .
The cooking category has a hierarchical structure,
In the recommended category identification function, when the identified usage cycle is less than or less than a predetermined lower threshold, the usage cycle and presentation time for a lower category of the cooking category whose usage cycle is less than or less than the lower threshold. And specify the recommended category
Program.
JP2018510190A 2016-04-07 2016-04-07 Information processing apparatus, information processing method, and program Active JP6641460B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019239501A JP6890747B2 (en) 2016-04-07 2019-12-27 Information processing equipment, information processing methods, programs

Applications Claiming Priority (1)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019239501A Division JP6890747B2 (en) 2016-04-07 2019-12-27 Information processing equipment, information processing methods, programs

Publications (2)

Publication Number Publication Date
JPWO2017175355A1 JPWO2017175355A1 (en) 2019-01-31
JP6641460B2 true JP6641460B2 (en) 2020-02-05

Family

ID=60000935

Family Applications (1)

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

Country Status (2)

Country Link
JP (1) JP6641460B2 (en)
WO (1) WO2017175355A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6527257B1 (en) * 2018-02-27 2019-06-05 ヤフー株式会社 Provision apparatus, provision method and provision program
JP7283865B2 (en) * 2018-03-27 2023-05-30 カルチュア・コンビニエンス・クラブ株式会社 Apparatus, method, and program for making recommendations based on customer attribute information
WO2019188102A1 (en) * 2018-03-27 2019-10-03 カルチュア・コンビニエンス・クラブ株式会社 Device, method and program for making recommendations on the basis of customer attribute information
JP7240936B2 (en) * 2019-04-04 2023-03-16 クックパッド株式会社 Server, server control method and program
CN112954066A (en) * 2021-02-26 2021-06-11 北京三快在线科技有限公司 Information pushing method and device, electronic equipment and readable storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282139A (en) * 1996-04-09 1997-10-31 Sony Corp Information providing device
JP5642771B2 (en) * 2010-03-30 2014-12-17 楽天株式会社 Information processing apparatus, processing method, and program
JP6211342B2 (en) * 2013-08-08 2017-10-11 シャープ株式会社 Menu proposal method

Also Published As

Publication number Publication date
JPWO2017175355A1 (en) 2019-01-31
WO2017175355A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
US10474705B2 (en) Iterative image search algorithm informed by continuous human-machine input feedback
US20190370916A1 (en) Personalized dining experiences via universal electronic food profiles
JP6641460B2 (en) Information processing apparatus, information processing method, and program
US20170316488A1 (en) Systems and Methods of Food Management
US20150079551A1 (en) System for planning meals
JP6291145B2 (en) Information processing apparatus, information processing method, program, and storage medium
US20230169118A1 (en) Information presenting method, recording medium, information presenting system, and terminal device
JP2019045980A (en) Information processing apparatus, information processing method, and program
JP6083786B2 (en) Menu output device, menu output method, and program
JP6262923B1 (en) Information processing apparatus, information processing method, and program
JP6599530B1 (en) Information processing apparatus, information processing method, program, and storage medium
JP6890747B2 (en) Information processing equipment, information processing methods, programs
JP6488531B2 (en) Menu output device, menu output method, and program
JP6279823B1 (en) Information processing apparatus, information processing method, and program
CN114746891A (en) Control method, information terminal, program, and recording medium
CN114761988A (en) Control method, information terminal, program, and recording medium
JP2014052748A (en) Information service system and information service program
JP7469188B2 (en) Information processing device, information processing method, and information processing program
JP2020024490A (en) Information processing device, information processing method, program, and storage medium
JP6275932B1 (en) Information processing apparatus, information processing method, and program
JP2023023636A (en) Food service retrieval support device, food service retrieval support system, food service retrieval support method and food service retrieval support program
Cox Food Culture in Colonial Asia: A Taste of Empire

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180925

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: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191227

R150 Certificate of patent or registration of utility model

Ref document number: 6641460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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