Meal recommendation device and meal recommendation method
Patent Information
- Application Number
- JP2025541217
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2023-08-22
- Publication Date
- 2025-02-27
Abstract
Description
Menu recommendation device and menu recommendation method
[0001] The disclosed technology relates to a menu recommendation device and a menu recommendation method.
[0002] Conventionally, there is known a technique for recommending cooking recipes that take into consideration ingredients and nutritional balance by utilizing a user's cooking history (see, for example, Non-Patent Documents 1 and 2).
[0003] Consideration of handling nutritional information in a recipe recommendation system that takes into account personal preferences, DEIM Forum 2009 E5-3 Proposal of a simple recipe recommendation method that takes into account personal preferences for food and nutritional balance, DEIM Forum 2019 F4-3
[0004] Conventional menu recommendations using dietary history aim to promote nutritional intake by taking into account the preferences of individual dishes. However, since the compatibility of dishes with each other is not taken into account, menus that combine dishes that do not go well together may be recommended to the user. In this case, it is difficult to recommend a menu that takes into account the nutritional balance while maintaining the user's food preferences.
[0005] The disclosed technology has been developed in consideration of the above points, and aims to provide a menu recommendation device and a menu recommendation method that can recommend menus that take nutritional balance into consideration while maintaining the user's dietary preferences as much as possible.
[0006] A first aspect of the present disclosure is a menu recommendation device that includes a creation unit that extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's eating history, and combines the extracted dishes for each cuisine category to create menu candidates to recommend to the user, and a replacement unit that replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.
[0007] A second aspect of the present disclosure is a menu recommendation method in which a menu recommendation device extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's eating history, combines the extracted dishes for each cuisine category to create menu candidates to recommend to the user, and replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.
[0008] The disclosed technology has the effect of being able to recommend menus that take nutritional balance into consideration while maintaining the user's food preferences as much as possible.
[0009] FIG. 1 is a block diagram showing an example of the hardware configuration of a menu recommendation device according to an embodiment. FIG. 2 is a diagram explaining a menu recommendation process according to a comparative example. FIG. 3 is a block diagram showing an example of the functional configuration in a learning phase of a menu recommendation device according to an embodiment. FIG. 4 is a diagram showing an example of a Word2vec model structure. FIG. 5 is a block diagram showing an example of the functional configuration in an estimation phase of a menu recommendation device according to an embodiment. FIG. 6 is a diagram showing an example of a menu recommended to a target user. FIG. 7 is a diagram explaining the menu recommendation process according to an embodiment. FIG. 8 is a diagram explaining the menu recommendation process according to an embodiment. FIG. 9 is a flowchart showing an example of the flow of a menu recommendation process by a menu recommendation program according to an embodiment.
[0010] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that in each drawing, the same or equivalent components and parts are given the same reference numerals. Also, the dimensional proportions in the drawings are exaggerated for the convenience of explanation and may differ from the actual proportions.
[0011] The menu recommendation device according to the present embodiment provides certain improvements over conventional approaches to menu recommendation and represents an advancement in the field of menu recommendation technology.
[0012] FIG. 1 is a block diagram showing an example of the hardware configuration of a menu recommendation device 10 according to this embodiment.
[0013] 1, the menu recommendation device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17. Each component is connected to each other via a bus 18 so as to be able to communicate with each other.
[0014] The CPU 11 is a central processing unit that executes various programs and controls each component. That is, the CPU 11 reads programs from the ROM 12 or storage 14 and executes the programs using the RAM 13 as a work area. The CPU 11 controls the above components and performs various arithmetic processing in accordance with the programs stored in the ROM 12 or storage 14. The ROM 12 or storage 14 stores a menu recommendation program for recommending menus according to this embodiment. Note that, instead of the CPU, for example, a GPU (Graphics Processing Unit) may be used.
[0015] The ROM 12 stores various programs and various data. The RAM 13 temporarily stores programs or data as a working area. The storage 14 is configured with an HDD (Hard Disk Drive) or an SSD (Solid State Drive) and stores various programs including the operating system and various data.
[0016] The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to input various information to the device itself.
[0017] The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may be a touch panel type and function as the input unit 15.
[0018] The communication interface 17 is an interface for communicating with, for example, other external devices, and may use a wired communication standard such as Ethernet (registered trademark) or FDDI (Fiber Distributed Data Interface), or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark).
[0019] The menu recommendation device 10 according to this embodiment is implemented as a general-purpose computer device such as a server computer or a personal computer (PC).
[0020] Here, a comparative example of the menu recommendation process will be described with reference to FIG.
[0021] FIG. 2 is a diagram illustrating a menu recommendation process according to a comparative example.
[0022] As shown in Figure 2, in step S11, the frequency of use and specificity of ingredients included in a dish are calculated from the user's meal history and scored. Specificity is an index value that indicates the degree of specificity of an ingredient in preparing a dish. From this, the total preference score of the ingredients included in each dish combination is calculated.
[0023] In steps (S12) and (S13), the deviation of each dish combination from the dietary reference intakes (e.g., reference energy intake, reference carbohydrate intake) is scored to determine a nutritional score. The preference score determined in step (S11) is then multiplied by the nutritional score determined in steps (S12) and (S13), and the dish combination that yields the highest score is recommended to the user.
[0024] However, in the comparative example described above, the compatibility between dishes for each user is not taken into consideration, and therefore a combination of dishes that does not go well together for the user may be recommended.
[0025] In response to this, the menu recommendation device 10 according to this embodiment quantifies the co-occurrence and intake frequency from the user's meal history as index values representing dietary preferences, and creates menu candidates to recommend to the user based on these index values. To ensure nutritional balance, the created menu candidates are quantified based on the ingredient composition of the dishes, and similar dishes within the same cuisine category of a specific cuisine classification are replaced based on the similarity. This allows the compatibility between dishes and cuisine preferences to be maintained as much as possible, and a nutritionally balanced menu to be recommended to the user.
[0026] However, "co-occurrence" is an index value that indicates the compatibility between dishes. "Intake frequency" is also called frequency of appearance or frequency of use, and is an index value that indicates the preference for a single dish. "Menu" refers to a meal menu and includes one or more dishes. "Dish" refers to ingredients prepared as is, or combined with other ingredients to make it easier to eat, or cooked and flavored according to the ingredients. "Dish" also includes dishes prepared by combining multiple ingredients, and ingredients such as vegetables or fruits themselves. "Dish classification" refers to the classification of the menu, such as staple food, main dish, side dish, dairy product, fruit, etc. "Dish category" refers to categories such as meat dishes, fish dishes, egg dishes, soup dishes, etc.
[0027] Next, the functional configuration of the menu recommendation device 10 will be described with reference to FIGS. 3 and 4. FIG.
[0028] FIG. 3 is a block diagram showing an example of the functional configuration of the menu recommendation device 10 according to this embodiment in the learning phase.
[0029] The menu recommendation device 10 according to this embodiment includes, as functional components, a first learning unit 101, a second learning unit 102, a similar user determination unit 103, and a third learning unit 104. Each functional component is realized by the CPU 11 reading out a menu recommendation program stored in the ROM 12 or the storage 14, expanding it into the RAM 13, and executing it.
[0030] The input data set includes, for example, a target user meal history DB (DataBase) 201, other users meal history DB 202, and general dish combination list DB 203. The target user meal history DB 201, other users meal history DB 202, and general dish combination list DB 203 may be stored in the storage 14 or may be obtained from an external storage device.
[0031] The target user meal history DB201 is a database that registers the meal history of a target user, who is a user for whom a menu is recommended, over a predetermined period in the past. The target user meal history DB201 registers the target user's meal history by food category (staple food, main dish, side dish, dairy product, fruit, etc.).
[0032] The other users' meal history DB202 is a database that registers the meal histories of multiple users other than the target user over a predetermined period of time in the past. The other users' meal history DB202 registers the meal histories of other users by food category (staple food, main dish, side dish, dairy product, fruit, etc.).
[0033] The general dish combination list DB 203 is a database in which general dish combinations are listed and registered by genre, such as Japanese cuisine, Western cuisine, and Chinese cuisine.
[0034] The first learning unit 101 inputs the target user's dietary history from the target user dietary history DB 201 and performs machine learning on the target user's dietary history to generate a target user dietary preference model 204, which is a dietary preference model for the target user. For example, a Word2vec model is used as the target user dietary preference model 204.
[0035] FIG. 4 is a diagram showing an example of a model structure of Word2vec.
[0036] As shown in Figure 4, Word2vec uses one of two model structures: the CBOW (Continuous Bag of Words) model and the Skip-gram model. Word2vec is a model that represents the association between words, and by using this Word2vec model, it is possible to derive the co-occurrence relationship between words, that is, frequently occurring word combinations. In this embodiment, this Word2vec model is applied to meal history, and by replacing words with "dishes included in the meal history," it is possible to derive the compatibility between dishes, that is, the degree of co-occurrence.
[0037] In the target user dietary preference model 204, each dish included in the target user's dietary history is scored based on the degree of co-occurrence. The "score" may be a value indicating the degree of co-occurrence itself, or a value corresponding to the degree of co-occurrence. When a certain dish related to the target user is input, the target user dietary preference model 204 outputs dishes having scores close to the score of the input dish, that is, dishes that go well together. As described above, the degree of co-occurrence is an index value that indicates the compatibility between dishes. According to Word2vec, dishes with a high degree of co-occurrence have a tendency to have scores that are close. Here, "scores that are close" means, for example, that the scores are determined to be close when the difference in scores is equal to or less than a threshold.
[0038] The second learning unit 102 inputs the dietary histories of similar users and performs machine learning on the dietary histories of the similar users to generate a similar user dietary preference model 205, which is a dietary preference model for similar users. A "similar user" is a user whose preferences are similar to those of the target user. As with the target user dietary preference model 204, the similar user dietary preference model 205 uses, for example, a Word2vec model. Here, the similar user determination unit 103 inputs the dietary history of the target user and the dietary histories of other users, and determines and extracts the dietary histories of similar users from the dietary histories of the other users. For example, other users who have a similar frequency of intake of a specific dish in their dietary histories to the target user may be determined to be similar users. The similar user determination unit 103 outputs the extracted dietary histories of similar users to the second learning unit 102.
[0039] When a dish related to a similar user is input, the similar user dietary preference model 205 outputs dishes having scores close to the score of the input dish, that is, dishes that go well together. Here, "scores close" means that the scores are determined to be close when the difference in scores is equal to or less than a threshold, for example.
[0040] The third learning unit 104 inputs general dish combinations by genre from the general dish combination list DB 203 and performs machine learning on the general dish combinations to generate a general food preference model 206, which is a food preference model for general dish combinations by genre. As with the target user food preference model 204 and the similar user food preference model 205, for example, a Word2vec model is used for the general food preference model 206.
[0041] When a certain dish combination related to the target user is input, the general food preference model 206 determines whether the dish combination is appropriate relative to general dish combinations by genre and outputs the determination result. For example, if the score of the input dish combination is close to the score of a general dish combination in Chinese cuisine, that is, if the co-occurrence rate is high, the dish combination is determined to be appropriate.
[0042] FIG. 5 is a block diagram showing an example of the functional configuration of the menu recommendation device 10 according to this embodiment in the estimation phase.
[0043] The menu recommendation device 10 according to this embodiment includes, as functional components, a staple food prediction unit 110, a creation unit 111, a replacement unit 112, a determination unit 113, a calculation unit 114, and a selection unit 115. Each functional component is realized by the CPU 11 reading out a menu recommendation program stored in the ROM 12 or the storage 14, expanding it in the RAM 13, and executing it.
[0044] The storage 14 stores a cooking DB 208, a target user dietary history DB 209, a target user dietary preference model 204, a similar user dietary preference model 205, a general dietary preference model 206, and a dietary reference intake DB 210. The cooking DB 208, the target user dietary history DB 209, the target user dietary preference model 204, the similar user dietary preference model 205, the general dietary preference model 206, and the dietary reference intake DB 210 may be stored in an external storage device. The target user dietary preference model 204, the similar user dietary preference model 205, and the general dietary preference model 206 are trained models obtained by prior training in the training phase of the menu recommendation device 10.
[0045] The dish DB208 stores, for example, nutrient information for dishes, ingredient information for dishes, etc. The target user dietary history DB209 is a database that stores the dietary history of the target user for the past N days by dish category. The data group in the target user dietary history DB209 is newer than the data group in the target user dietary history DB201 used in the learning phase, but some of the data group may overlap. The dietary reference intake DB210 stores information on dishes, such as calories and nutrients.
[0046] The staple food prediction unit 110 inputs the meal history for the past N days from the target user's meal history DB 209, weights the dishes in the food category of "staple food" by "intake frequency (occurrence frequency)", and randomly selects one "staple food" dish.
[0047] The creation unit 111 extracts dishes for each cuisine category based on the co-occurrence and intake frequency obtained from the target user's meal history, and combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the target user. Specifically, the creation unit 111 inputs the staple dishes selected by the staple food prediction unit 110 to the target user's dietary preference model 204. The target user's dietary preference model 204 outputs dishes having co-occurrence scores close to those of the staple dishes, for example, in the order of "main dish," "side dish," "dairy product," and "fruit."
[0048] The creation unit 111 then obtains the intake frequency and the number of days since intake for each dish in each dish category from the meal history for the past N days, and corrects the co-occurrence score for each dish output from the target user meal preference model 204. For example, the following formula (1) is used to correct the score, where N indicates the number of days in the meal history, G indicates the intake frequency (number of times consumed) of a certain dish, and D indicates the number of days since intake of a certain dish.
[0049] (1)
[0050] The creation unit 111 then selectively narrows down the dishes with the highest corrected scores from among those output from the target user dietary preference model 204. In other words, the creation unit 111 extracts dishes with a high intake frequency and a long elapsed time since intake for each cuisine category, and combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the target user.
[0051] In addition, if the creation unit 111 cannot extract dishes for a specific cuisine category (e.g., main dish, side dish) from the menu candidates, it may use the dietary history of similar users with similar tastes to the target user to extract dishes for the specific cuisine category from the similar users, and use the extracted dishes of the similar users as the dishes for the specific cuisine category. In other words, if main dish and side dish dishes cannot be extracted from the target user, there is a possibility that the dietary intake standards will not be met in the first place. Therefore, using the similar user dietary preference model 205, dishes with similar scores in the order of "main dish" and "side dish" from the same staple food of the similar user are extracted, and the extracted main dish and side dish dishes of the similar user are supplemented as the main dish and side dish dishes of the target user.
[0052] If there are multiple similar users, they can be integrated into a single model as collective intelligence. Furthermore, similar users can be grouped using user-based collaborative filtering.
[0053] The replacement unit 112 replaces similar dishes within the same dish category of a specific dish division with respect to the menu candidates created by the creation unit 111, based on the similarity between the dishes calculated based on the ingredient composition of each dish. Specifically, using a "table of dishes vectorized by ingredient composition" described below, dishes whose main dish and side dish categories match the menu candidate and whose cosine similarity is above a preset threshold (= degree of relevance) are added as candidates. The degree of relevance between dishes A and B is expressed by the following formula (2):
[0054] (2)
[0055] The higher the relevance, the more similar dishes are extracted, while the lower the relevance, the lower the degree of similarity but the greater the variety of dishes.
[0056] By using the similar user food preference model 205, it is possible to recommend dishes that suit the preferences of the target user as much as possible, even for a target user who tends to, for example, "eat only the main dish for breakfast" or "not eat side dishes."
[0057] The determination unit 113 determines whether the dish combination of a menu candidate after the dishes have been rearranged by the rearrangement unit 112 is appropriate relative to the dish combinations of menus predetermined for each food genre. Specifically, the general food preference model 206 is used to determine the appropriateness of the dish combination of a menu candidate after the dishes have been rearranged so as not to disrupt the dish combination. When the dish combination of a menu candidate after the dishes have been rearranged by the rearrangement unit 112 is input, the general food preference model 206 determines whether the dish combination is appropriate relative to general dish combinations and outputs the determination result. In other words, if the co-occurrence rate between dishes in each menu candidate is higher than a threshold, the menu candidate is determined to be appropriate relative to general dish combinations and is retained as a menu candidate.
[0058] Since the replaced dishes may not exist in the target user's meal history, the general food preference model 206 can be used to check whether the combination of menu candidates with replaced dishes is close to a combination of general dishes.
[0059] The calculation unit 114 acquires calorie information and nutrient information related to food from the dietary reference intake DB 210, calculates the calories and nutrients that the target user should consume, and calculates the dietary reference intakes of the target user.
[0060] The selection unit 115 selects, from the plurality of menu candidates obtained above, the menu candidate with the smallest deviation from the dietary reference intakes calculated by the calculation unit 114 as the menu to be recommended to the target user. Specifically, for each menu candidate, the deviation from the dietary reference intakes is expressed as, for example, the mean absolute percentage error (MAPE). The selection unit 115 selects the menu candidate with the smallest MAPE, as shown in Figure 6. Figure 6 is a diagram showing an example of a menu to be recommended to the target user.
[0061] The MAPE can be calculated by the following formula (3): where M represents the MAPE and A t indicates the ideal total calories and nutrients, and F t indicates the total calories and nutrients of each dish in the menu candidates, and n indicates the number of dishes (number of items).
[0062] (3)
[0063] Next, the menu recommendation process according to this embodiment will be specifically described with reference to FIGS. 7, 8A, and 8B.
[0064] 7, 8A, and 8B are diagrams illustrating the menu recommendation process according to this embodiment.
[0065] 7 , in (S1), the staple food prediction unit 110 randomly selects a staple dish from the target user's meal history, and the creation unit 111 extracts dishes that co-occur most frequently from the staple food in the order of "main dish," "side dish," "dairy product," and "fruit," utilizing the property that dishes with high co-occurrence scores are close to each other in Word2vec of the target user's food preference model 204. The extracted results are shown as a co-occurrence map.
[0066] In (S2), the creation unit 111 selectively narrows down the extracted dishes to those with high corrected scores using the target user's dietary preference model 204. In other words, for each cuisine category, dishes that are frequently consumed and have been consumed for a long time are extracted, and the extracted dishes for each cuisine category are combined to create menu candidates to be recommended to the target user.
[0067] In (S3), the replacement unit 112 uses a "table in which dishes are vectorized by ingredient composition" as shown in Figures 8A and 8B, for example, to add as candidates dishes whose dish categories match those of the main dish and side dish candidates and whose cosine similarity is equal to or exceeds a preset threshold (= relevance) by comparing the cosine similarity (the higher the similarity, the closer the score). Note that Figure 8A shows a table in which main dish dishes are vectorized by ingredient composition, and Figure 8B shows a table in which side dish dishes are vectorized by ingredient composition.
[0068] In (S4), the creation unit 111 creates a plurality of menu candidates including staple foods, main dishes, side dishes, and fruit dishes as examples of food categories.
[0069] In (S5), the selection unit 115 selects, from among the multiple menu candidates obtained above (e.g., combinations A to C), the menu candidate that has the smallest deviation from the dietary reference intakes calculated by the calculation unit 114 as the menu to be recommended to the target user.
[0070] Next, the operation of the menu recommendation device 10 according to this embodiment will be described with reference to FIG.
[0071] 9 is a flowchart showing an example of the flow of the menu recommendation process by the menu recommendation program according to this embodiment. The menu recommendation process by the menu recommendation program is realized by the CPU 11 of the menu recommendation device 10 writing the menu recommendation program stored in the ROM 12 or the storage 14 to the RAM 13 and executing it.
[0072] In step S101 of FIG. 9, the CPU 11 acquires the target user's meal history for the past N days from the target user meal history DB 209.
[0073] In step S102, the CPU 11 weights the dishes in the food category "staple food" based on the "ingestion frequency (occurrence frequency)" from the meal history for the past N days acquired in step S101, and randomly selects one "staple food" dish.
[0074] In step S103, the CPU 11 inputs the staple dish selected in step S102 into the target user's dietary preference model 204. The target user's dietary preference model 204 outputs dishes with co-occurrence scores similar to that of the staple dish, for example, in the order of "main dish," "side dish," "dairy product," and "fruit." The CPU 11 then calculates the intake frequency and the number of days since intake for each dish category from the meal history for the past N days, corrects the co-occurrence score of each dish output from the target user's dietary preference model 204, and narrows down the dishes with high co-occurrence.
[0075] In step S104, the CPU 11 extracts dishes for each cuisine category that are frequently consumed and have been consumed for a long time based on the score corrected in step S103, and combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the target user.
[0076] In step S105, the CPU 11 determines whether or not there are any main dishes or side dishes among the menu candidates created in step S104. If it is determined that there are main dishes or side dishes (if the determination is negative), the process proceeds to step S106, and if it is determined that there are no main dishes or side dishes (if the determination is positive), the process proceeds to step S107.
[0077] In step S106, the CPU 11 replaces similar dishes within the same cuisine category of a specific cuisine division with those in the menu candidates created in step S104, based on the similarity between the dishes calculated based on the ingredient composition of each dish. Specifically, as an example, using the tables of Figures 8A and 8B described above, dishes whose cuisine categories match those of the main dish and side dish candidates and whose cosine similarity is equal to or exceeds a preset threshold (= relevance) are added as candidates.
[0078] On the other hand, in step S107, the CPU 11, as an example, uses the similar user food preference model 205 to extract dishes with similar scores in the order of "main dish" and "side dish" from the same staple food of the similar user, and complements the extracted main dish and side dish dishes of the similar user as the main dish and side dish dishes of the target user, and proceeds to step S106.
[0079] In step S108, the CPU 11 determines whether the combination of dishes in the menu candidate after the dishes have been replaced in step S106 is appropriate compared to the combination of dishes in the menu predetermined for each food genre. Specifically, to prevent the dish combination from being disrupted, the CPU 11 uses, for example, the general food preference model 206 to determine the appropriateness of the combination of dishes in the menu candidate after the dishes have been replaced.
[0080] In step S109, the CPU 11 determines whether or not all staple foods have been processed. If it is determined that all staple foods have been processed (if the determination is affirmative), the process proceeds to step S110. If it is determined that all staple foods have not been processed (if the determination is negative), the process returns to step S102 and the process is repeated.
[0081] In step S110, the CPU 11 selects, from among the multiple menu candidates obtained above, the menu candidate that has the smallest deviation from the dietary reference intakes calculated for the target user as the menu to be recommended to the target user, and terminates the series of processes performed by this menu recommendation program.
[0082] As described above, according to this embodiment, not only the frequency of intake, which indicates the preference for a single dish, but also the degree of co-occurrence, which indicates the compatibility between dishes, is taken into consideration, so that it is possible to recommend a menu that takes into account nutritional balance while maintaining the user's dietary preferences as much as possible.
[0083] Furthermore, after replacing the dishes in consideration of nutritional balance, it is possible to maintain the compatibility between the dishes and the preference of each individual dish.
[0084] The menu recommendation process executed by the CPU after reading the program in the above embodiment may be executed by various processors other than the CPU. Examples of such processors include programmable logic devices (PLDs) (such as field-programmable gate arrays (FPGAs)) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits, such as application-specific integrated circuits (ASICs), which are processors having a circuit configuration specifically designed to execute specific processes. The menu recommendation process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, a combination of a CPU and an FPGA, etc.). The hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor elements.
[0085] In the above embodiment, the menu recommendation program is described as being pre-stored (also referred to as "installed") in a ROM or storage device, but this is not limiting. The menu recommendation program may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The menu recommendation program may also be downloaded from an external device via a network.
[0086] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[0087] The following additional notes are provided regarding the above-described embodiments.
[0088] (Supplementary Item 1) A menu recommendation device comprising: a memory; and at least one processor connected to the memory, wherein the processor extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's eating history; combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the user; and replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.
[0089] (Appendix 2) A non-transitory storage medium storing a program executable by a computer to execute a menu recommendation process, wherein the menu recommendation process: extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for individual dishes, obtained from the user's eating history; combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the user; and replaces similar dishes within the same cuisine category of a specific cuisine category with the menu candidates based on the similarity between dishes calculated based on the ingredient composition of each dish.
[0090] REFERENCE SIGNS LIST 10 Menu recommendation device 11 CPU 12 ROM 13 RAM 14 Storage 15 Input unit 16 Display unit 17 Communication I / F 18 Bus 101 First learning unit 102 Second learning unit 103 Similar user determination unit 104 Third learning unit 110 Staple food prediction unit 111 Creation unit 112 Replacement unit 113 Determination unit 114 Calculation unit 115 Selection unit
Claims
1. A menu recommendation device comprising: a creation unit that extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each dish, obtained from a user's meal history, and creates menu candidates to be recommended to the user by combining the extracted dishes for each cuisine category; and a replacement unit that replaces similar dishes within the same cuisine category of a specific cuisine category with respect to the menu candidates, based on the similarity between dishes calculated based on the ingredient composition of each dish.
2. The menu recommendation device of claim 1, wherein when the creation unit is unable to extract a dish for a specific cuisine category in the menu candidates, the creation unit extracts a dish of the similar user for the specific cuisine category using the meal history of a similar user who has similar tastes to the user, and sets the extracted dish of the similar user as the dish for the specific cuisine category.
3. A menu recommendation device as described in claim 1 or claim 2, further comprising a judgment unit that judges whether the combination of dishes of a menu candidate in which dishes have been replaced by the replacement unit is appropriate compared to the combination of dishes of a menu predetermined for each food genre.
4. A menu recommendation method in which a menu recommendation device extracts dishes for each cuisine category based on the degree of co-occurrence, which indicates the compatibility between dishes, and the frequency of intake, which indicates the preference for each dish, obtained from the user's meal history, combines the extracted dishes for each cuisine category to create menu candidates to be recommended to the user, and replaces similar dishes within the same cuisine category of a specific cuisine category with respect to the menu candidates, based on the similarity between dishes calculated based on the ingredient composition of each dish.