JP6890747B2 - Information processing equipment, information processing methods, programs - Google Patents

Information processing equipment, information processing methods, programs Download PDF

Info

Publication number
JP6890747B2
JP6890747B2 JP2019239501A JP2019239501A JP6890747B2 JP 6890747 B2 JP6890747 B2 JP 6890747B2 JP 2019239501 A JP2019239501 A JP 2019239501A JP 2019239501 A JP2019239501 A JP 2019239501A JP 6890747 B2 JP6890747 B2 JP 6890747B2
Authority
JP
Japan
Prior art keywords
information
category
user
cooking
usage
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
JP2019239501A
Other languages
Japanese (ja)
Other versions
JP2020064666A (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 Group 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
Priority claimed from JP2018510190A external-priority patent/JP6641460B2/en
Application filed by Rakuten Group Inc filed Critical Rakuten Group Inc
Priority to JP2019239501A priority Critical patent/JP6890747B2/en
Publication of JP2020064666A publication Critical patent/JP2020064666A/en
Application granted granted Critical
Publication of JP6890747B2 publication Critical patent/JP6890747B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

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

特開2015−153286号公報JP-A-2015-153286 特開2003−256577号公報Japanese Unexamined Patent Publication No. 2003-256577 特開2015−028767号公報Japanese Unexamined Patent Publication No. 2015-028767

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

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

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

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

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

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

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

本発明に係る情報処理方法は、情報の提示先となる対象ユーザを特定するユーザ特定ステップと、前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得ステップと、前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定ステップと、前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定ステップと、前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御ステップと、を
を備え、前記料理カテゴリは階層構造を有し、前記推薦カテゴリ特定ステップでは、前記特定された利用周期が所定の下限閾値以下または未満である場合に利用周期が前記下限閾値以下または未満とされた料理カテゴリの下位カテゴリについての前記利用周期及び提示時期を取得して前記推薦カテゴリの特定を行うものである。
この情報処理方法により、毎日の食事を考える煩わしさを抑制しつつ、ユーザによるメニューの選択傾向を考慮し、飽きのこない食事を行うための情報を提供可能な環境を提供する。
本発明に係るプログラムは、上記情報処理方法として実行する処理を情報処理装置に実行させるプログラムである。これらのプログラムにより上記の情報処理装置を実現する。
The information processing method according to the present invention acquires meal information including a user identification step for specifying a target user to whom information is presented, and at least a usage time corresponding to an information provider user related to the specified target user. The most used of the usage cycle specifying step for specifying the usage cycle for each cooking category based on the meal information acquisition step to be performed and the usage time included in the acquired meal information, and the usage time included in the acquired meal information. Based on the recommended category identification step to specify the cooking category to be the recommended category based on the late final usage time, the specified usage cycle, and the presentation time for each cooking category calculated based on the recommended category, and the recommended category. The cooking category has a hierarchical structure, and the specified usage cycle is a predetermined lower limit threshold value in the recommended category specifying step. The recommended category is specified by acquiring the usage cycle and the presentation time for the subcategories of the cooking category whose usage cycle is equal to or less than or less than the lower limit threshold.
This information processing method provides an environment in which it is possible to provide information for a timeless meal in consideration of the tendency of the user to select a menu while suppressing the troublesomeness of thinking about daily meals.
The program according to the present invention is a program that causes an information processing apparatus to execute a process to be executed as the above information processing method. The above information processing apparatus is realized by these programs.

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

本発明の実施の形態の情報処理装置を含む全体構成を示す説明図である。It is explanatory drawing which shows the whole structure including the information processing apparatus of embodiment of this invention. レシピ管理サーバの機能構成を示す図である。It is a figure which shows the functional structure of the recipe management server. コンピュータ装置のブロック図である。It is a block diagram of a computer device. ユーザDBの例を示す図である。It is a figure which shows the example of the user DB. 食事情報DBの例を示す図である。It is a figure which shows the example of the meal information DB. 処理の流れの一例を示す図である。It is a figure which shows an example of the processing flow. 推薦情報取得処理を示すフローチャートである。It is a flowchart which shows the recommendation information acquisition process. バッチ処理を示すフローチャートである。It is a flowchart which shows a batch process. 食事情報取得処理を示すフローチャートである。It is a flowchart which shows the meal information acquisition process. 利用周期特定処理を示すフローチャートである。It is a flowchart which shows the use cycle specifying process. 第2の実施の形態における推薦情報取得処理を示すフローチャートである。It is a flowchart which shows the recommendation information acquisition process in 2nd 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 processing in the 2nd example of a batch process. バッチ処理の第3例における提示時期調整処理を示すフローチャートである。It is a flowchart which shows the presentation time adjustment process in 3rd example of a batch process. バッチ処理の第4例における食事情報取得処理を示すフローチャートである。It is a flowchart which shows the meal information acquisition process in 4th example of a batch process. バッチ処理の第4例における利用周期特定処理を示すフローチャートである。It is a flowchart which shows the use cycle specifying process in 4th example of a batch process. 情報提供元ユーザ特定処理の変形例2を示すフローチャートである。It is a flowchart which shows the modification 2 of the information providing source user identification processing. 提示時期算出処理の変形例を示すフローチャートである。It is a flowchart which shows the modification of the 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 DB53]
[3-5. Web page DB]
<4. Process 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 example>
[5-1. Modification example of information provider user identification process 1]
[5-2. Modification example of information provider user identification process 2]
[5-3. Modification example of presentation time calculation process]
<6. Summary>
<7. Programs and storage media>

<1.全体構成>

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

First, the overall configuration of the 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 a recipe. The recipe contains information such as cooking procedures, ingredients used, and cooking utensils.
In addition, the information provided to the user for a timeless meal (hereinafter referred to as recommended information) is information that the user can refer to when eating, and specifically, the ingredients used and the cooking method are described. It may be one or more recipe information described, or it may be information on a cooking category (such as "ramen" or "curry") as information for selecting a store when eating out.

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

本発明の情報処理装置を含む全体構成を図1に示す。
レシピ管理サーバ1は、通信ネットワーク2を介して、ユーザ端末3,3,3,・・・と相互に通信可能な状態で接続されている。また、レシピ管理サーバ1は、ユーザに関する情報が記憶されるユーザDB(Database)50、レシピに関する情報が記憶されるレシピDB51、検索クエリや検索結果の情報が記憶される検索DB52、ユーザの食事情報(後述)が記憶される食事情報DB53、レシピサイトを構成する各種ウェブページのウェブページデータが記憶されるウェブページDB54と接続されている。
尚、レシピ管理サーバ1は、本発明の情報処理装置の実施の形態に相当する。
The overall configuration including the information processing apparatus of the present invention is shown in FIG.
The recipe management server 1 is connected to the user terminals 3, 3, 3, ... Via the communication network 2 in a state in which they can communicate with each other. Further, the recipe management server 1 includes a user DB (Database) 50 that stores information about the user, a recipe DB 51 that stores information about the recipe, a search DB 52 that stores information about search queries and search results, and user's meal information. It is connected to the meal information DB 53 in which (described later) is stored and the web page DB 54 in which the web page data of various web pages constituting the recipe site are stored.
The recipe management server 1 corresponds to the embodiment of the information processing apparatus 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 corresponding to a search query. In addition, the recipe management server 1 executes various processes for presenting recommendation information (recipe information and cooking 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, and for example, the Internet, an intranet, an extra net, a LAN (Local Area Network), a CATV (Community Antenna TeleVision) communication network, a virtual private network, and a telephone line. Networks, mobile communication networks, satellite communication networks, etc. are assumed.
Further, various examples are assumed for the transmission medium constituting all or a part of the communication network 2. For example, IEEE (Institute of Electrical and Electronics Engineers) 1394, USB (Universal Serial Bus), power line carrier, telephone line, etc., infrared rays such as IrDA (Infrared Data Association), Bluetooth (registered trademark), 802.11 wireless It can also be used wirelessly, such as mobile phone networks, satellite lines, and terrestrial digital networks.

ユーザ端末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 the recommendation information presented by the recipe management server 1.
On the user terminal 3, various transmission / reception processing, display processing, and the like are executed as necessary. Further, the user terminal 3 is, for example, a PC (Personal Computer) having a communication function, a feature phone, a PDA (Personal Digital Assistant), 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 usage cycle identification unit 1d, a presentation time calculation unit 1e, a presentation time adjustment unit 1f, and a recommendation category identification. It includes a unit 1g, a recommended recipe extraction unit 1h, and a presentation control unit 1i.

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

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

ユーザ管理部1bは、レシピ管理サーバ1が提供する各種のサービスを利用するユーザの情報を管理するために、種々の処理を行う。
例えば、ユーザを一意に特定可能なユーザIDに対して、氏名、年齢、性別、連絡先(電話番号や電子メールアドレス等)を紐付け、ユーザDB50へ記憶することにより管理を行う。また、ユーザDB50からユーザ情報を取得する処理を行う。
The user management unit 1b performs various processes in order to manage information on users who use various services provided by the recipe management server 1.
For example, a user ID that can uniquely identify a user is associated with a name, age, gender, and contact information (telephone number, e-mail address, etc.) and stored in the user DB 50 for management. In addition, 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 the meal information eaten and eaten before the processing time of the target user and the meal information estimated to be eaten and eaten in the future after the processing time.
Various meal information stored in the meal information DB 53 will be described later.

食事情報の取得対象となる期間は、例えば、直近の1ヶ月間などのように所定期間であってもよいし、ユーザによって異なる期間であってもよい。また、後述する料理カテゴリの利用周期に応じて期間を決めてもよい。
具体的な各例については、後述する。
食事情報取得部1cは、所定期間或いは算出された取得対象となる期間に応じて取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得する。例えば、取得対象となる期間が10日であった場合、現在から10日前となる取得起算時点を算出し、そこから現在までの食事情報を取得する。
The period for which the meal information is acquired may be a predetermined period such as the latest one month, or may be a period different depending on the user. In addition, the period may be determined according to the usage cycle of the 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, when the acquisition target period is 10 days, the acquisition start time 10 days before the present is calculated, and the meal information up to the present is acquired from there.

また、食事情報の取得対象となるユーザには、いくつかの例が考えられる。例えば、ログインを行い食事に関する推薦情報の提示を受けるユーザ自身であってもよいし、推薦情報の提示を受けるユーザが指定したユーザ(例えば当該ユーザの夫など)であってもよい。更に、情報の提示を受けるユーザ及びその関連ユーザの中で、食事情報が最も充実しているユーザであってもよい。
勿論、複数のユーザ(例えば、情報の提示を受けるユーザとその夫と子供の3人のユーザ)全ての食事情報を取得してもよい。
In addition, some examples can be considered for the user who is the target of acquiring the meal information. For example, it may be the user himself / herself who logs in and receives the presentation of the recommendation information regarding the meal, or the user designated by the user who receives the presentation of 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 complete meal information may be used.
Of course, the meal information of all the plurality of users (for example, the user who receives the information presentation and the three users of the husband and the child) may be acquired.

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

提示時期算出部1eは、料理カテゴリの利用周期と最終利用時期に基づいて、料理カテゴリ毎の提示時期を算出する。最終利用時期とは、料理カテゴリを最後に利用した時期(或いは時間)を示す情報である。
尚、提示時期算出部は、階層化された料理カテゴリにおいて、全てのカテゴリレベル毎に算出してもよいし、所定のカテゴリレベルのみ算出してもよい。また、料理カテゴリ毎に異なるカテゴリレベルについて算出してもよいし、料理カテゴリ毎に異なる数のカテゴリレベルについて算出してもよい。
The presentation time calculation unit 1e calculates the presentation time for each cooking category based on the usage cycle and the final usage time of the cooking category. The last use time is information indicating the time (or time) when the cooking category was last used.
The presentation time calculation unit may calculate for each category level in the hierarchical cooking category, or may calculate only a predetermined category level. Further, it may be calculated for different category levels for each cooking category, or it may be calculated for different numbers of category levels for each cooking 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 3 days later, a process of setting (that is, adjusting) 2 days earlier, which is one day earlier, is executed in consideration of various factors described later.
In addition, the presentation time will be adjusted based on the use of similar cooking categories. For example, when the cooking category of "soba" has been used most recently, a process of postponing (that is, extending it to the back) the presentation time of the cooking category of "udon" similar to "soba" is executed.
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 executes a process of specifying the cooking category whose presentation time has arrived as the recommended category.

推薦レシピ抽出部1hは、推薦カテゴリに属するレシピを抽出する処理を実行する。 The recommended recipe extraction unit 1h executes a process of extracting recipes belonging to the 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, the presentation priority may be given to each piece of information. That is, the information is presented to the user terminal 3 according to the presentation priority.
For example, when presenting a plurality of recipes as an example of presenting recommendation information, the information is transmitted so that the recipes are lined up 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 various parts necessary for realizing a function of transmitting and receiving various information and an authentication process for a user's login operation. The authentication process is a process of collating the user ID (Identification) and the login password as the login information transmitted from the user terminal 3 with the 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 illustrating the hardware of the recipe management server 1 and the user terminal 3 shown in FIG. 1, and the 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 device in each server, terminal, and DB is loaded into the RAM (Random Access Memory) 103 from the program stored in the ROM (Read Only Memory) 102 or the storage unit 108. Perform various processes according to the program. The RAM 103 also appropriately stores data and the like necessary for the CPU 101 to execute various processes.
The CPU 101, ROM 102, and RAM 103 are connected to each other via the 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 composed of an HDD (Hard Disk Drive), a flash memory device, and the like, and a communication unit 109 that performs communication processing and inter-device communication via the communication network 2 are connected.
A media drive 110 is also connected to the input / output interface 105 as needed, and a removable media 111 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory is appropriately attached to write information to the removable media 111. 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 media 111.
When the CPU 101 performs processing operations based on various programs, information processing and communication described later can be performed 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. Will be executed.
The information processing devices constituting the recipe management server 1, the user terminal 3, and the user DB 50, the recipe DB 51, the search DB 52, the meal information DB 53, and the web page DB 54 have a single computer device as shown in FIG. It is not limited to being configured, and may be configured by a plurality of systemized computer devices. The plurality of computer devices may be systematized by a LAN or the like, or may be arranged in a remote place in a state where communication is possible 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 a process executed by the CPU 101 according to a program in the information processing apparatus. However, all or part of the processing of each configuration described below may be realized by hardware.
Further, when each function is realized by software, it is not necessary for each function to be realized by an independent program. The processing of a plurality of functions may be executed by one program, or one function may be realized by the 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 each DB may be formed in a storage unit in the same system as the recipe management server 1, a part or all of each DB may be separated, or a computer system in a remote location or the like. It may be provided in. Of course, it is not necessary for each DB to be formed in one device (for example, one HDD or the like). Further, it is not necessary for each of the DBs to be configured as one DB. For example, the information stored as the user DB 50 may be stored and managed by a plurality of user DBs (for example, a user DB for login and a user DB for transactions). Each DB described below merely exemplifies a storage unit of 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 on the user who receives the service provided by the recipe management server 1. For example, personal information such as a login password, name, age, gender, and e-mail address is associated with and stored in 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. Regular meal information is information on meals that users eat and drink on a daily basis, and is different for each user. For example, a regular meal for a user is "rice,""bread," or "miso soup." These recipes are eaten and eaten on a daily basis so that it is inappropriate to calculate the usage cycle. Such a recipe (or cooking category) is not subject to calculation such as presentation time, and does not have to be included in the recommendation information presented to the user.
The recipe (or cooking category) stored as regular meal information is a cooking category whose usage cycle is shorter than a predetermined period (for example, one day), and there is no cooking category that cannot be further subdivided (that is, there is no lower cooking category). ) Belongs to. Also, such recipes are widely combined with other recipes. Specifically, for users who add salad to every meal, salad becomes a regular meal. That is, for such a user, calculating the presentation time from the salad usage cycle and providing the information to the user is unlikely to provide valuable information to the user.

尚、利用周期が所定期間よりも短かったとしても下位の料理カテゴリが存在する場合には、下位の料理カテゴリにおいて提示時期の算出が行われる。具体的には、「麺類」の料理カテゴリの利用周期が1日であっても、その下位カテゴリである「ラーメン」、「パスタ」、「うどん」、「そば」などでは、1日よりも長い適切な利用周期となる可能性が高い。
従って、「ラーメン」や「パスタ」の料理カテゴリの利用周期から提示時期が算出される。
Even if the usage cycle is shorter than the predetermined period, if there is a lower cooking category, the presentation time is calculated in the lower cooking category. Specifically, even if the usage cycle of the cooking category of "noodles" is one day, it is longer than one day in the subcategories such as "ramen", "pasta", "udon", and "soba". There is a high possibility that the usage cycle will be appropriate.
Therefore, the presentation time is calculated from the usage cycle of the cooking categories of "ramen" and "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 (favorite ingredients) and disliked ingredients (non-favorite ingredients) determined by the recipe management server 1 according to the behavior of the user such as searching and browsing the recipe information and cooking information. These are the user's favorite ingredients (favorite ingredients) and disliked ingredients (non-favorite ingredients) determined by the recipe management server 1 based on the 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 information stored in the user DB 50 will be described with reference to FIG.
FIG. 4 shows a part of the information about the user A stored in the user DB 50. The login password, name, age, gender, and e-mail address are associated with the user ID and stored. In addition, usage information for each cooking category is stored. The usage information is information in which a usage cycle, a final usage time, and a presentation time are associated with a cooking category ID, and is information used for presenting recommendation information to a user.

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

また、レシピの詳細ページのURL(Uniform Resource Locator)情報がレシピIDに紐付けられて記憶されてもよい。
更に、レシピDB51には、各レシピに対して投稿された作成レポートの情報が記憶される。作成レポートの情報としては、レポート内容を示すテキストデータや調理した料理の画像や投稿者を識別可能なユーザIDや投稿日時情報などが記憶される。
Further, the 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 the information of the creation report posted for each recipe. As the information of the created report, text data indicating the contents of the report, an image of cooked food, a user ID that can identify the poster, posting 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 in which search results corresponding to the search query are stored. Specifically, multiple recipes are linked and stored as search results according to a search query such as a cooking name such as "curry" or "hamburger" or an ingredient name such as "mushroom" or "tomato". ..
For example, the search process is executed according to the search query specified by the user, and the search result extracted as a result is associated with the search query and stored in the search DB 52. By linking in this way, when there is a new search request, there is an increased opportunity to present the search result using the previous search result without executing the search process.
It should be noted that the search process using the search keyword may be executed periodically in advance, and the search result extracted as a result may be associated with the search keyword and stored in the search DB 52.

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

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

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

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

以下の例においては料理カテゴリが3段階に階層化されている例を用いて各説明を行う。
料理カテゴリにおける大分類は「ご飯もの」、「麺類」、「肉料理」、「魚料理」、「カレー」などのように主たる食材によって分類されている。
そして、「麺類」の料理カテゴリの下位カテゴリ(中分類)には、「ラーメン」、「パスタ」、「うどん」、「そば」などの料理カテゴリが設けられている。
更に、「ラーメン」の料理カテゴリの下位カテゴリ(小分類)には、「醤油ラーメン」、「味噌ラーメン」、「塩ラーメン」、「豚骨ラーメン」などの料理カテゴリが設けられている。
In the following examples, each explanation will be given using an example in which the cooking categories are layered in three stages.
The major categories in the cooking category are classified according to the main ingredients such as "rice", "noodles", "meat dishes", "fish dishes", and "curry".
Then, in the subcategory (middle category) of the cooking category of "noodles", cooking categories such as "ramen", "pasta", "udon", and "soba" are provided.
Further, in the subcategory (sub-category) 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, the major cooking categories (such as "noodles") will be referred to as category level 1 cooking categories. In addition, the lower cooking category (middle classification such as "ramen") is described as the cooking category of category level 2. Similarly, a lower cooking category (sub-category such as "soy sauce ramen") is described as a category level 3 cooking category. That is, it is set so that the numerical value indicating the category level increases as the lower category (subdivided category) increases.

各料理カテゴリには、各種のレシピが属している。例えば、「我が家の味噌ラーメン」というレシピは、「味噌ラーメン」の料理カテゴリに属するレシピであり、「ラーメン」の料理カテゴリに属するレシピでもあり、更に「麺類」の料理カテゴリに属するレシピでもある。 Various recipes belong to each cooking category. For example, the recipe "My home miso ramen" is a recipe that belongs to the cooking category of "miso ramen", a recipe that belongs to the cooking category of "ramen", and a recipe that belongs 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 explanation of FIG. 5, the cooking category ID is configured so that the relationship between the cooking categories can be understood in the hierarchical cooking categories.
Specifically, it is composed of a two-digit numerical value indicating a cooking category of category level 1, a two-digit numerical value indicating a cooking category of category level 2, and a single-digit numerical value indicating a cooking category of category level 3. .. For example, the cooking category ID set to "C01002" specifies a numerical value "01" for specifying a cooking category of category level 1, a numerical value "00" for specifying a cooking category of category level 2, and a cooking category of category level 3. It is configured to include the numerical value "2".
That is, it can be seen that the cooking category whose category ID is "C01002" and the cooking category whose category ID is "C01013" belong to the same cooking category at category level 1 and to different cooking categories at category level 2.

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

最後に利用形態について説明する。
利用形態は、料理カテゴリの利用形態を示している。例えば、定食屋などの店舗での飲食が推定されたものであれば、「外食」とされる。また、取得ルートが「レシピ利用」であれば、レシピを印刷することによってレシピの利用(即ち料理カテゴリの利用)が推測された場合には「印刷」とされ、作成レポートの投稿によってレシピの利用が推測された場合には「作成レポート投稿」とされ、レシピの所定時間の閲覧によってレシピの利用が推測された場合には「閲覧」とされる。利用形態の情報は、例えば、取得ルートと合わせて履歴情報の確からしさとして用いられる。
Finally, the usage pattern will be described.
The usage pattern indicates the usage pattern of the cooking category. For example, if eating and drinking at a store such as a set meal shop is presumed, it is considered as "restaurant". Also, if the acquisition route is "recipe use", if the use of the recipe (that is, the use of the cooking category) is estimated by printing the recipe, it will be "printed" and the recipe will be used by posting the creation report. If is inferred, it is referred to as "posting a creation report", and if the use of the recipe is inferred by browsing the recipe for a predetermined time, it is referred to as "browsing". The usage pattern 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 to the user by the recipe management server 1. Specifically, it is web page data such as a recipe search page, a special 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 placement information of objects (images, texts, banners, etc.) placed on each web page are stored. The placement information is information that describes the placement mode (position, size, color, etc.) of each object on the web page.
The information stored in the web page DB 54 may be stored in a structured document file such as HTML (Hyper Text Markup Language) or XHTML (Extensible HyperText Markup Language).

<4.処理の流れ>

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

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

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

[4-1. First Embodiment]
First, the overall flow of the first embodiment when the user requests recommendation information for meals (information on recommended categories and recommended recipes) will be described with reference to FIG.

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

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

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

ユーザ端末3からレシピ管理サーバ1へログイン情報が送信されると、レシピ管理サーバ1はステップS202において認証処理を実行し、続くステップS203においてログイン履歴を記憶する処理を実行し、ステップ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 the authentication process in step S202, executes the process of storing the login history in the following step S203, and the authentication result in step S204. Execute notification processing.
Specifically, the recipe management server 1 compares the user ID and password entered on the user terminal 3 with the information stored in the user DB 50, determines whether or not the user can log in, and authenticates the login possibility 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. As a result, 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の処理を実行する。 The series of flows shown in FIG. 6 shows a case where it is determined that login is possible in the authentication process of step S202. If it is determined in step S202 that login is not possible, the user terminal 3 executes the process of step S102 again, and the recipe management server 1 executes the process of step S202 accordingly.

続いて、ユーザ端末3はステップS103において、ユーザ操作に基づいて推薦情報を要求する処理を実行する。このユーザ操作は、例えば、ウェブページ上に設けられた推薦情報を得るための「お勧め情報を見る」ボタンを押下する操作などである。 Subsequently, in step S103, the user terminal 3 executes a process of requesting recommendation information based on the user operation. This user operation is, for example, an operation of pressing a "view recommended information" button for obtaining recommended information provided on a 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, the recipe management server 1 executes the recommendation information acquisition process in step S205. The recommendation information acquisition process is a process of acquiring a cooking category (that is, a recommendation category) presented as recommendation information to the user terminal 3.
The details of the recommendation information acquisition process in step S205 will be described with reference to FIG. 7.
The recipe management server 1 selects one cooking category in step S301, and acquires the presentation time information of the cooking category in the following step S302.
The cooking category presentation time may be calculated in advance by batch processing or the like before executing each of the processes of FIGS. 6 and 7, and may be stored in the user DB 50 shown in FIG. The details of 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 cooking category (that is, whether the presentation time has passed at the current time).
When it is determined that the presentation time satisfies the condition, the recipe management server 1 selects the cooking category as the 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, the recipe management server 1 determines in step S305 whether or not there is a cooking category that has not been processed.
If it is determined that there is a cooking category that has not been processed, the recipe management server 1 re-executes the processes of steps S301 to S305.
On the other hand, when it is determined that there is no cooking category that has not been processed, the series of processing shown in FIG. 7 is terminated.
That is, by executing the process shown in FIG. 7, the cooking category whose presentation time has come 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 recommendation category information as the recommendation information executes the priority assignment process in step S206.
The priority assignment process is a process to be executed when there are a plurality of recommended categories, and the process of step S206 is not executed when the acquired recommendation category is one.

優先度付与処理には、いくつかの例が考え得る。例えば、最終利用時期からの経過時間が長い推薦カテゴリの優先度を上げることが考えられる。具体的には、最終利用時期が昨日である推薦カテゴリAと1週間前である推薦カテゴリBでは、推薦カテゴリAよりも推薦カテゴリBの優先度を上げる。 There are several possible examples of the prioritization process. For example, it is conceivable to raise the priority of recommended categories that have a long elapsed time since the last use time. Specifically, in the recommendation category A whose last use time is yesterday and the recommendation category B one week ago, the priority of the recommendation category B is raised over the recommendation category A.

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

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

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

図8に示すバッチ処理は、一人のユーザに対しての提示時期を算出する処理である。即ち、全ユーザに対して提示時期を算出する場合には、図8に示す一連の処理をユーザの数だけ繰り返して実行することとなる。また、バッチ処理を行う必要のあるユーザが一人である場合は、図8に示す一連の処理を1回だけ行えばよい。 The batch process shown in FIG. 8 is a process for calculating the presentation time to one user. That is, when calculating the presentation time for all users, the series of processes shown in FIG. 8 is repeatedly executed for the number of users. Further, when there is only one user who 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 identifying a user whose recipe information is to be acquired. While the user who is the target user for presenting the recommendation information is described as the target user, the user who is the target for acquiring the recipe information is the user who provides the information for presenting 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 provider 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 / herself who receives the service of the recipe management server 1, or may be the user B designated by the user A.

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

続いて、レシピ管理サーバ1はステップS402において、情報提供元ユーザの食事情報を食事情報DB53から取得する処理を実行する。
食事情報取得処理についてはいくつかの例を説明する。ここでは、図9を参照して一つの例を説明し、他の例については後述する。
レシピ管理サーバ1は、食事情報取得処理において、ステップS501のように直近の所定期間における食事情報を取得する。所定期間は、例えば1ヶ月などのように固定の数値(期間)として定められている。固定の所定期間は、料理カテゴリの利用周期を算出するのに十分な期間であることが望ましい。即ち、一つの料理カテゴリが複数回利用される期間とすることが望ましい。
Subsequently, in step S402, the recipe management server 1 executes a process of acquiring the meal information of the information providing source user from the meal information DB 53.
Some 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. It is desirable that the fixed predetermined period is a period sufficient to calculate the usage cycle of the cooking category. That is, it is desirable that one cooking category is used a plurality of times.

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

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

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

ステップS605を実行した後、レシピ管理サーバ1はステップS606において、処理を行っていない料理カテゴリがあるかどうかを確認する。
処理を行っていない料理カテゴリがあると判定した場合、レシピ管理サーバ1はステップS601の処理を再度実行する。
一方、処理を行っていない料理カテゴリはないと判定した場合、レシピ管理サーバ1は図10に示す一連の処理を終了する。
After executing step S605, the recipe management server 1 confirms in step S606 whether or not there is a cooking category that has not been processed.
If it is determined that there is a cooking category that has not been processed, the recipe management server 1 executes the process of step S601 again.
On the other hand, when it is determined that there is no cooking category that has not been processed, the recipe management server 1 ends a series of processes shown 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 each of the processes of steps S603 to S605. This is because it is not necessary to calculate the usage cycle because it is inappropriate to present the cooking category including the regular meal information as the recommendation information as described above.

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

尚、ユーザからの推薦情報の要求を受信するまでに提示時期が渡過した料理カテゴリについては、ユーザに提示してもしなくてもよい。このとき、渡過した時間の長さによって提示するかどうかを決定してもよい。具体的には、渡過してからそれ程時間が経過していない場合は当該料理カテゴリを推薦カテゴリとしてユーザに提示するが、渡過してからの時間経過が長い場合には当該料理カテゴリを推薦情報として提示しないなどが考え得る。
もちろん、渡過した時間の長さによらずにユーザに推薦情報を提示してもよい。
It should be noted that the cooking category whose presentation time has passed by the time the request for recommendation information from the user is received may or may not be presented to the user. At this time, it may be decided whether or not to present depending on the length of time passed. Specifically, if the time has not passed since the passing, the cooking category is presented to the user as a recommended category, but if the time has passed since the passing, the cooking category is recommended. It is conceivable that it will not be 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 presentation time of step S404 in FIG. 8 may be calculated for all cooking categories or for some cooking categories. When calculating the presentation time for some cooking categories, the usage cycle of some cooking categories may be calculated also in the usage cycle specifying process shown in FIG.
As an example of calculating the presentation time for some cooking categories, for example, it is conceivable to calculate the presentation time for the cooking category of category level 2. This is because the cooking category belonging to category level 1 has a too short usage cycle and the presentation time comes frequently, and the cooking category belonging to category level 3 has a too long usage cycle and the presentation time does not come very often. It is a consideration.

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

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

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

推薦カテゴリを選択したレシピ管理サーバ1は、続くステップ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 in the following step S306.
For example, when the recommended category is "curry", recipes such as "home seafood curry" and "indian curry with plenty of tomatoes" belonging to the cooking category "curry" are extracted as recommended recipes.

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

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

ステップS207の提示処理では、レシピ管理サーバ1からユーザ端末3に向けて優先度が付与された推薦レシピの情報が送信される。例えば、優先度順に推薦レシピの情報が配置されたウェブページを表示するためのHTMLデータが送信される。
In the presentation process of step S207, the information of the recommended recipe to which the priority is given 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 on 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 batch processing will be described with reference to FIGS. 12 and 13.
In the second example of batch processing, a process of adjusting the calculated presentation time is executed.

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

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

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

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

尚、ステップS702で取得する利用履歴の情報は、バッチ処理のステップS401で情報提供元とされたユーザに関するものである。例えば、情報提供元ユーザが複数人である場合は、利用履歴の取得も当該複数人に対して行う。 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 usage history is also acquired for the plurality of users.

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

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

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

尚、上位カテゴリが共通の他の料理カテゴリの最終利用時期を取得する代わりに、上位カテゴリの最終利用時期を取得してもよい。下位カテゴリが利用された場合、下位カテゴリの最終利用時期が更新されると共に上位カテゴリの最終利用時期も更新されるためである。 In addition, instead of acquiring the last use time of another cooking category in which the upper category is common, 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 timing adjustment process will be described with reference to FIG.
The second example is the adjustment of the presentation time in consideration of the attributes of the food and drink that the user has eaten and eaten.
First, the recipe management server 1 selects one of the cooking categories targeted for the presentation time calculation process (step S404) in step S801. This process is the same as 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 by the usage cycle of the cooking category selected in step S801. For example, if the usage cycle is one week, the meal information (usage history) of the latest one week is acquired.

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

そして、レシピ管理サーバ1はステップS804において、選択した料理カテゴリと共通の属性情報を持つ食事情報(利用履歴)があるかどうかを判定する。
具体的には、ステップS801において料理カテゴリ「カレー」が選択され、ステップS802において取得された食事情報によってユーザが所定期間内に「カレーうどん」を飲食したと推定される場合、ステップS804の判定処理では、共通の属性情報(カレー味)を持つ食事情報ありと判定する。
Then, in step S804, the recipe management server 1 determines whether or not there is meal information (usage history) having attribute information common to the selected cooking category.
Specifically, when the cooking category "curry" is selected in step S801 and it is estimated that the user has eaten or eaten "curry udon" within a predetermined period based on the meal information acquired in step S802, the determination process of 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 a dish having a different cooking category but a similar taste is eaten or eaten within the latest predetermined period), the recipe management server 1 In step S805, the process of adjusting the presentation time is executed. Specifically, the presentation time of the cooking category determined to have meal information having common attribute information is adjusted to be longer (later). The process for adjusting is the same as step S704 in FIG. 12, and may be adjusted according to the presentation time of the cooking 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 process of step S805, or after determining in step S804 that there is no meal information having common attribute information, the recipe management server 1 sets the target cooking category (that is, the cooking category for which the presentation time is calculated) in step S806. ), It is determined whether or not the above processing has been applied.
If there is an unprocessed cooking category among the target cooking categories, the recipe management server 1 executes the process of step S801 again.
When there is no unprocessed cooking category among the target cooking categories, the recipe management server 1 ends the batch processing shown in FIG. 12 by ending the series of processing shown in FIG.

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

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

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

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

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

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

また、他にも、提示時期を前倒しすることによって調整してもよい。例えば、料理カテゴリ「うどん」の利用周期が1週間であり、最終利用時期が5日前であった場合、提示時期は2日後とすることが考えられる。しかし、未来の食事情報では、5日後の給食で「うどん」が出されることが分かっている場合、2日後に料理カテゴリ「うどん」を提示してしまうと、更に3日後に「うどん」を飲食することとなり、間隔が短くなってしまう。
そこで、最終利用時期(5日前)と次回の利用時期(5日後)の中間時期(本日)を提示時期としてもよい。これにより、料理カテゴリの利用間隔に大きな偏りが生じることを防止することができる。
また、最終利用時期と次回の利用時期の間隔が利用周期よりも短い場合、或いは利用周期よりも余り長くない場合には、提示時期を最終利用時期と次回の利用時期の間に設けることを止めてもよい。
In addition, it may be adjusted by advancing the presentation time. For example, if the usage cycle of the cooking category "udon" is one week and the final usage 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 in the lunch after 5 days, if the cooking category "udon" is presented 2 days later, "udon" will be eaten 3 days later. This will result in shorter intervals.
Therefore, the intermediate time (today) between the last use time (5 days before) and the next use time (5 days later) may be set as the presentation time. As a result, it is possible to prevent a large bias in the usage interval 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 if it is not much longer than the use cycle, stop setting 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 process of step S704, or after determining in step S707 that the usage time is not within the latest predetermined period, the recipe management server 1 sets the target cooking category (that is, the cooking category for which the presentation time is calculated) in step S705. ), It is determined whether or not the above processing has been applied.
If there is an unprocessed cooking category among the target cooking categories, the recipe management server 1 executes the process of step S701 again.
When there is no unprocessed cooking category among the target cooking categories, the recipe management server 1 ends the batch processing shown in FIG. 12 by ending the series of processing shown in FIG. 13.

尚、未来の利用時期も考慮した提示時期調整処理では、図14のように、取得した過去及び未来の食事情報から所定期間内に共通の属性情報を持つ料理を飲食したか否か(するか否か)に応じて提示時期を調整してもよい。
In the presentation time adjustment process considering the future usage time, as shown in FIG. 14, whether or not the food having common attribute information is eaten or eaten within a predetermined period from the acquired past and future meal information. The presentation time may be adjusted according to (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 batch processing will be described with reference to FIGS. 8, 16 and 17.
In the fourth example of batch processing, the acquisition period of meal information for calculating the usage cycle is different from the above.
Specifically, the recipe management server 1 first identifies the information providing source user in step S401 of 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 processing 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 the acquisition start time in step S502. As described above, the acquisition start time point is the time information that is the starting point of the period for which the meal information is to be acquired. In this example, the acquisition start time is calculated based on the usage cycle of each cooking category related to the information providing source user. That is, when the usage cycle has already been calculated in the batch processing so far, the acquisition start time is calculated from the calculated usage cycle.
For example, if there are cooking categories A, B, and C, and the usage cycle is 3, 5, and 21 days, respectively, the acquisition start time is 21 days or earlier when the usage cycle of cooking category C can be recalculated. It is desirable to set it as time. For example, if the meal information for 42 days, which is twice the period of the usage cycle, is acquired, there is a high possibility that two or more usage histories of the cooking category C exist in the information.
In addition, when calculating the average usage cycle from three or more meal information (usage history), for example, the date and time before 63 days (for example, 70 days before), which is three times as many as 21 days, is acquired at the time of calculation. Is conceivable. If the meal information for 70 days is acquired, it is highly possible 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 as well.

取得起算時点を算出したレシピ管理サーバ1は、続くステップS503において、取得起算時点から現在までの食事情報を取得する処理を実行する。 The recipe management server 1 that has calculated the acquisition start time is executed in the following step S503 to acquire the 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 usage cycle specifying process in step S403 of FIG.
The usage cycle specifying process will be described with reference to FIG.
First, the recipe management server 1 selects one cooking category in step S601, and confirms in step S602 whether the selected cooking category includes (belongs to) regular meal information.

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

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

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

ステップS605を実行した後、又はステップS602において常用食事情報が含まれていると判定した後、レシピ管理サーバ1はステップS606において、S601乃至S605の各処理を実行していない料理カテゴリがあるかどうかを判定する。
ステップS601乃至S605の各処理を実行していない料理カテゴリがあると判定した場合、レシピ管理サーバ1はステップS601の処理を再度実行する。
一方、ステップS601乃至S605の各処理を実行していない料理カテゴリがないと判定した場合、レシピ管理サーバ1は図17に示す一連の処理を終了する。
After executing step S605 or determining in step S602 that the regular meal information is included, the recipe management server 1 determines in step S606 whether there is a cooking category in which each of the processes S601 to S605 is not executed. To judge.
When it is determined that there is a cooking category in which each of the processes of steps S601 to S605 has 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 cooking category for which each of the processes of steps S601 to S605 has not been executed, the recipe management server 1 ends the series of processes shown in FIG.

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

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

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

<5.変形例>

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

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

Some examples of modification in each process will be described.

[5-1. Modification example of information provider user identification process 1]
In the above-mentioned information providing source user identification process, the case where the target user and the information providing source user are the same (that is, the case where the recommendation information based on the own meal information is desired to be presented) has been described. In addition, the case where the user designated by the target user is the information providing source user (that is, the case where the user A wants to receive the presentation of the recommendation information based on the meal information of the spouse user B) has been described.

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

ユーザAが他のユーザB,C,Dを指定することによってユーザA,B,C,Dが情報提供元ユーザとして特定される。また、ユーザの住所や投稿情報などに基づいて推定されたユーザAの所属するグループの各メンバーを情報提供元ユーザとして特定するように構成してもよい。 By designating other users B, C, and D, user A identifies users A, B, C, and D as information provider 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) considering the meal information of all users A, B, C, and D is presented, so that it is possible to prevent some users from eating the same food for two consecutive days. It becomes possible to do.

[5−2.情報提供元ユーザ特定処理の変形例2]
情報提供元ユーザ特定処理の変形例2では、ユーザAと関連する関連ユーザ(例えば前述のグループにおけるユーザB,C,D)の中で、食事情報が充実しているユーザを情報提供元ユーザとして特定する。食事情報が充実しているユーザとは、グループに所属する他のユーザに対して食事情報に含まれる情報の量が相対的に多いユーザや、グループに所属する他のユーザに対して食事情報に含まれる料理カテゴリの種類が相対的に多いユーザなどである。
ここで、ユーザAの関連ユーザについての情報は、レシピ管理サーバ1が管理するDBに記憶されている。即ち、何れのユーザがユーザAと関連しているのかを示す情報や、関連ユーザの食事情報などの情報が各DBに記憶されている。
[5-2. Modification example of information provider user identification process 2]
In the second modification of the information providing source user identification process, among the related users related to the user A (for example, the users B, C, and D in the above-mentioned group), the user having abundant meal information is set as the information providing source user. Identify. A user who has abundant meal information is a user who has a relatively large amount of information contained in the meal information for other users who belong to the group, or a user who belongs to the group for the meal information. For example, users have a relatively large number of types of cooking categories included.
Here, the information about 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 associated with the user A and information such as meal information of the related user are stored in each DB.

具体的に、図18を参照して説明する。
レシピ管理サーバ1は、ステップS901において、対象ユーザの関連ユーザの情報を取得する。即ち、対象ユーザであるユーザAの関連ユーザはどのユーザであるのかを確認する。
Specifically, it will be described with reference to FIG.
In step S901, the recipe management server 1 acquires the information of 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 regarding 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, in the list shown in FIG. 5, each set of information constituting one line is regarded as one record. That is, in FIG. 5, it is shown that at least 6 records of the meal information of the user with the 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 the information providing source user. That is, in the meal information acquisition process (FIGS. 8 and 12) in 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 provider user is specified according to the type of the cooking category included in the meal information, the number of cooking categories of the meal information regarding the target user and the related user is acquired in step S902, and the meal information is obtained in step S903. A user with a relatively large number of cooking categories is set as an information provider user.

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

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

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

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

例えば、カテゴリレベル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 cooking category A as a cooking category of category level 1 and there are cooking categories A1, A2, A3, and A4 as subcategories of the cooking 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 by steps S1002 and S1003. When the usage cycle of cooking categories A1, A2, A3, and A4 is 6, 30, 30, and 60 days, the usage cycle of only cooking category A1 is below the lower limit threshold, so the process of step S1003 is executed again. Then, the usage cycles of the lower categories A11 and A12 are acquired.
When the cooking categories A11 and A12 are on the 15th and 10th days, the processing for the lower category is not performed, and the series of processing shown in FIG. 19 for the cooking category A is completed.

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

尚、ここでは、図19の処理の開始時において料理カテゴリ毎の利用周期が既に特定されている例を説明したがこれに限られることはない。例えば、図19のS1001の処理において、利用周期の取得の代わりに利用周期の算出を行ってもよい。更に、ステップS1003の処理の後ステップS1001において下位カテゴリの利用周期を算出する処理を実行することにより、必要に応じて下位カテゴリの利用周期が算出される。これにより、利用周期の算出が不要な料理カテゴリについては利用周期の算出が行われないため、レシピ管理サーバ1の処理を減らすことができ、処理負担の軽減を図ることができる。
Here, an example in which the usage cycle for each cooking category has already been specified at the start of the process of FIG. 19 has been described, but the present invention is not limited to this. For example, in the process of S1001 of FIG. 19, the usage cycle may be calculated instead of acquiring the usage cycle. Further, by executing the process of calculating the usage cycle of the lower category in step S1001 after the processing of step S1003, the usage cycle of the lower category is calculated as necessary. As a result, since the usage cycle is not calculated for the cooking category that does not require the calculation of the usage cycle, 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 recipe management server 1 described above includes a user management unit 1b as a user identification unit that identifies a target user to whom information is presented, and at least a usage period corresponding to an information provider user related to the specified target user. The meal information acquisition unit 1c for acquiring meal information, the usage cycle specifying unit 1d for specifying the usage cycle for each cooking category based on the usage time included in the acquired meal information, and the usage time included in the acquired meal information. Of these, the recommended category identification unit 1g, which specifies the cooking category to be the recommended category based on the presentation time for each cooking category calculated based on the last usage time specified as the latest usage time and the specified usage cycle, and the recommendation It includes a presentation control unit 1i that controls to present recommended information to a target user based on a category.
As a result, information (recommended category) that captures the potential needs of the user is presented. That is, the recommended category information is presented in consideration of the selection pattern considering not only the user's preference but also the cycle. For example, a cooking category that the user wants to eat is extracted and presented to the user.
Therefore, it is possible to provide a recommendation category suitable for each user while suppressing the troublesomeness of thinking about daily meals.
Further, since the information can be presented without the user performing a search operation such as a recipe, it is possible to provide a service with less 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 of the information processing device (recipe management server 1 or user terminal 3) can be reduced and communication can be performed. The amount can be reduced.

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

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

更にまた、提示時期算出処理の変形例で説明したように、推薦カテゴリは階層構造を有し、提示時期算出部1eは、料理カテゴリのうち利用周期が下限閾値以上またはより大きいとされた料理カテゴリの提示時期について算出し、推薦カテゴリ特定部1gは、特定された利用周期が所定の下限閾値以上またはより大きいとされた料理カテゴリの中から推薦カテゴリの特定を行ってもよい。
これにより、利用周期が短すぎる料理カテゴリに対して提示時期が算出されることが無くなる。例えば、その下位となる料理カテゴリに対して提示時期が算出される。延いては、頻繁に同じ料理カテゴリが推薦カテゴリとして提示されることが無くなる。
従って、ユーザにとって飽きのこない有意義な情報を提供することができる。
また、提示時期の算出対象とされる料理カテゴリの利用周期のばらつきがある程度緩和される。即ち、一週間などの所定の期間における献立スケジュールなどを立てる場合に、算出された提示時期に基づいて立てることが容易となる。
Furthermore, as described in the modified example of the presentation time calculation process, the recommendation category has a hierarchical structure, and the presentation time calculation unit 1e is a cooking category in which the usage cycle is equal to or larger than the lower limit threshold value. The recommended category identification unit 1g may specify the recommended category from the cooking categories in which the specified usage cycle is equal to or greater than or larger than the predetermined lower limit threshold value.
As a result, the presentation time is not calculated for the cooking category whose usage cycle is too short. For example, the presentation time is calculated for the lower cooking 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 will never get tired of.
In addition, the variation in the usage cycle of the cooking category for which the presentation time is calculated is alleviated to some extent. That is, when setting up a menu schedule for a predetermined period such as one week, it becomes easy to set up 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 recommended category and presents according to the priority.
As a result, the more meaningful the information is to the user, the higher the priority can be.
For example, a cooking category whose presentation time has passed significantly has a higher priority, so that it is possible to provide a service that is highly 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 acquisition start time of the meal information 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 acquiring meal information for each process from the next time onward is determined based on the usage cycle calculated once.
That is, it is possible not to acquire meal information for an unnecessarily long period of time.
Therefore, since the amount of information of the meal information to be processed is suppressed, the processing load of the information processing device can be reduced.

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

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

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

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

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

The recipe management server 1 as an embodiment of the information processing device of the present invention has been described above, but the program of the embodiment is a program that causes the information processing device (CPU or the like) to execute each process in the recipe management server 1. Is.

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

このようなプログラムにより、上述したレシピ管理サーバ1としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROMなどに予め記録しておくことができる。或いはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記憶媒体に、一時的或いは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記憶媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記憶媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
With such a program, the information processing device as the recipe management server 1 described above can be realized.
Such a program can be recorded in advance in an HDD as a storage medium built in a device such as a computer device, a ROM in a microcomputer having a CPU, or the like. Alternatively, it can be 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.
In addition to installing such a program from a removable storage medium on a personal computer or the like, it can also 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 identification unit, 1e Presentation time calculation unit, 1f Presentation time 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 the target user to whom information is presented, and
A meal information acquisition unit that acquires meal information including at least the usage time corresponding to the information provider user related to the specified target user, and a meal information acquisition unit.
Based on the usage time included in the acquired meal information, the usage cycle specifying unit that specifies the usage cycle for each cooking category, and the usage cycle specifying unit.
A cooking category that is a recommended category based on the last usage time that is the latest of the usage time included in the acquired meal information, the specified usage cycle, and the presentation time for each cooking category calculated based on the specified usage cycle. Recommended category identification department to identify
A presentation control unit that controls the presentation of recommendation information to the target user based on the recommendation category is provided .
The meal information acquisition unit is an information processing device that determines the acquisition start time of the meal information based on the usage cycle and acquires the meal information from the acquisition start time to the present.
情報の提示先となる対象ユーザを特定するユーザ特定部と、A user identification unit that identifies the target user to whom information is presented, and
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得部と、A meal information acquisition unit that acquires meal information including at least the usage time corresponding to the information provider user related to the specified target user, and a meal information acquisition unit.
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定部と、Based on the usage time included in the acquired meal information, the usage cycle specifying unit that specifies the usage cycle for each cooking category, and the usage cycle specifying unit.
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定部と、A cooking category that is a recommended category based on the last usage time that is the latest of the usage time included in the acquired meal information, the specified usage cycle, and the presentation time for each cooking category calculated based on the specified usage cycle. Recommended category identification department to identify
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御部と、を備え、A presentation control unit that controls the presentation of recommendation information to the target user based on the recommendation category is provided.
前記対象ユーザと関連する関連ユーザが登録されている場合において、When the related user related to the target user is registered
前記食事情報取得部は、前記対象ユーザと前記関連ユーザのうち前記食事情報が充実しているユーザの食事情報を取得するThe meal information acquisition unit acquires the meal information of the user whose meal information is substantial among the target user and the related user.
情報処理装置。Information processing device.
前記特定された推薦カテゴリに関連する料理カテゴリの利用に基づいて前記特定された推薦カテゴリの前記提示時期を調整する提示時期調整部を更に備えた
請求項1から請求項2の何れかに記載の情報処理装置。
The invention according to any one of claims 1 to 2, further comprising a presentation time adjusting unit for adjusting the presentation time of the specified recommendation category based on the use of the cooking category related to the specified recommendation category. Information processing device.
前記推薦カテゴリは階層構造を有し、
前記提示時期は、前記料理カテゴリのうち前記利用周期が下限閾値以上またはより大きいとされた料理カテゴリについて算出され、
前記推薦カテゴリ特定部は、前記特定された利用周期が所定の下限閾値以上またはより大きいとされた料理カテゴリの中から前記推薦カテゴリの特定を行う
請求項1から請求項3の何れかに記載の情報処理装置。
The recommendation category has a hierarchical structure and has a hierarchical structure.
The presentation time is calculated for the cooking category in which the usage cycle is equal to or greater than the lower limit threshold value.
The recommended category specifying unit is described in any one of claims 1 to 3 , wherein the recommended category is specified from the cooking categories whose specified usage cycle is equal to or larger than a predetermined lower limit threshold value. Information processing device.
情報の提示先となる対象ユーザを特定するユーザ特定ステップと、
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得ステップと、
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定ステップと、
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定ステップと、
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御ステップと、を含み、
前記食事情報取得ステップでは、前記利用周期に基づいて前記食事情報の取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得する
情報処理装置が実行する情報処理方法。
A user identification step that identifies the target user to whom information is presented, and
A meal information acquisition step for acquiring meal information including at least the usage time corresponding to the information provider user related to the specified target user, and
Based on the usage time included in the acquired meal information, the usage cycle specifying step for specifying the usage cycle for each cooking category and the usage cycle specifying step
A cooking category that is a recommended category based on the last usage time that is the latest of the usage time included in the acquired meal information, the specified usage cycle, and the presentation time for each cooking category calculated based on the specified usage cycle. Recommended category identification steps to identify, and
Includes a presentation control step that controls the presentation of recommendation information to the target user based on the recommendation category.
In the meal information acquisition step, an information processing method executed by an information processing device that determines the acquisition start time of the meal information based on the usage cycle and acquires the meal information from the acquisition start time to the present.
情報の提示先となる対象ユーザを特定するユーザ特定機能と、
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得機能と、
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定機能と、
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定機能と、
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御機能と、を含み、
前記食事情報取得機能では、前記利用周期に基づいて前記食事情報の取得起算時点を決定し、該取得起算時点から現在までの食事情報を取得する
情報処理装置に実行させるプログラム。
A user identification function that identifies the target user to whom information is presented, and
A meal information acquisition function that acquires meal information including at least the usage time corresponding to the information provider user related to the specified target user, and
A usage cycle identification function that specifies the usage cycle for each cooking category based on the usage time included in the acquired meal information, and
A cooking category that is a recommended category based on the last usage time that is the latest of the usage time included in the acquired meal information, the specified usage cycle, and the presentation time for each cooking category calculated based on the specified usage cycle. Recommended category identification function to identify
Includes a presentation control function that controls the presentation of recommendation information to the target user based on the recommendation category.
The meal information acquisition function is a program that determines the acquisition start time of the meal information based on the usage cycle and causes an information processing device that acquires the meal information from the acquisition start time to the present to execute the program.
情報の提示先となる対象ユーザを特定するユーザ特定ステップと、A user identification step that identifies the target user to whom information is presented, and
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得ステップと、A meal information acquisition step for acquiring meal information including at least the usage time corresponding to the information provider user related to the specified target user, and
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定ステップと、Based on the usage time included in the acquired meal information, the usage cycle specifying step for specifying the usage cycle for each cooking category and the usage cycle specifying step
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定ステップと、A cooking category that is a recommended category based on the last usage time that is the latest of the usage time included in the acquired meal information, the specified usage cycle, and the presentation time for each cooking category calculated based on the specified usage cycle. Recommended category identification steps to identify, and
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制御ステップと、を含み、Includes a presentation control step that controls the presentation of recommendation information to the target user based on the recommendation category.
前記対象ユーザと関連する関連ユーザが登録されている場合において、When the related user related to the target user is registered
前記食事情報取得ステップでは、前記対象ユーザと前記関連ユーザのうち前記食事情報が充実しているユーザの食事情報を取得するIn the meal information acquisition step, the meal information of the target user and the related user whose meal information is substantial is acquired.
情報処理装置が実行する情報処理方法。An information processing method executed by an information processing device.
情報の提示先となる対象ユーザを特定するユーザ特定機能と、A user identification function that identifies the target user to whom information is presented, and
前記特定された対象ユーザに関連する情報提供元ユーザに対応する少なくとも利用時期を含む食事情報を取得する食事情報取得機能と、A meal information acquisition function that acquires meal information including at least the usage time corresponding to the information provider user related to the specified target user, and
前記取得した食事情報に含まれる利用時期に基づいて、料理カテゴリ毎の利用周期を特定する利用周期特定機能と、A usage cycle identification function that specifies the usage cycle for each cooking category based on the usage time included in the acquired meal information, and
前記取得した食事情報に含まれる利用時期のうち最も利用時期が遅い最終利用時期と前記特定された利用周期と、に基づいて算出された料理カテゴリ毎の提示時期に基づいて推薦カテゴリとなる料理カテゴリを特定する推薦カテゴリ特定機能と、A cooking category that is a recommended category based on the last usage time that is the latest of the usage time included in the acquired meal information, the specified usage cycle, and the presentation time for each cooking category calculated based on the specified usage cycle. Recommended category identification function to identify
前記推薦カテゴリに基づいて推薦情報を前記対象ユーザに提示する制御を行う提示制機能と、を含み、Includes a presentation system function that controls the presentation of recommendation information to the target user based on the recommendation category.
前記対象ユーザと関連する関連ユーザが登録されている場合において、When the related user related to the target user is registered
前記食事情報取得機能では、前記対象ユーザと前記関連ユーザのうち前記食事情報が充実しているユーザの食事情報を取得するThe meal information acquisition function acquires the meal information of the user whose meal information is substantial among the target user and the related user.
情報処理装置に実行させるプログラム。A program to be executed by an information processing device.
JP2019239501A 2016-04-07 2019-12-27 Information processing equipment, information processing methods, programs Active JP6890747B2 (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 (2)

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

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
JP2020064666A JP2020064666A (en) 2020-04-23
JP6890747B2 true JP6890747B2 (en) 2021-06-18

Family

ID=70387401

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP6890747B2 (en)

Family Cites Families (4)

* 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
JP2002041670A (en) * 2000-05-17 2002-02-08 Matsushita Electric Ind Co Ltd Device and system for recommending information
WO2011122575A1 (en) * 2010-03-30 2011-10-06 楽天株式会社 Product recommendation device, product recommendation method, program, and recording medium
JP6211342B2 (en) * 2013-08-08 2017-10-11 シャープ株式会社 Menu proposal method

Also Published As

Publication number Publication date
JP2020064666A (en) 2020-04-23

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
US20080300993A1 (en) Computerized method and system for recipe presentation
JP6291145B2 (en) Information processing apparatus, information processing method, program, and storage medium
JP6083786B2 (en) Menu output device, menu output method, and program
CN104112217A (en) Taste selection information marking method and application method
JP6262923B1 (en) Information processing apparatus, information processing method, and program
JP6279823B1 (en) Information processing apparatus, information processing method, and program
JP6488531B2 (en) Menu output device, menu output method, and program
JP6599530B1 (en) Information processing apparatus, information processing method, program, and storage medium
JP6890747B2 (en) Information processing equipment, information processing methods, programs
JP2018010399A (en) Food product information providing system, food product information providing method, and food product information providing program
JP6310165B1 (en) Information processing apparatus, information processing method, program, and storage medium
JP2014052748A (en) Information service system and information service program
JP2020024490A (en) Information processing device, information processing method, program, and storage medium
JP7469188B2 (en) Information processing device, information processing method, and information processing program
JP6275932B1 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210308

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210408

R150 Certificate of patent or registration of utility model

Ref document number: 6890747

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150