Method and device for recommending menu, refrigerator and storage medium

By obtaining user type and feedback information, the recipe is adjusted until the satisfaction reaches the preset conditions, which solves the problem that smart refrigerators cannot take into account user taste preferences and improves the user experience.

CN120723968APending Publication Date: 2025-09-30QINDAO HAIER REFRIGERATOR CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410385789.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-29
Publication Date
2025-09-30

AI Technical Summary

Technical Problem

Existing smart refrigerators fail to take users' taste preferences into account when recommending recipes, resulting in the recommended recipes failing to satisfy users and reducing the user experience.

Method used

By obtaining the user's user type and feedback information, the user's satisfaction with the recipe is analyzed, and the recipe is adjusted when the preset conditions are not met until the satisfaction reaches the preset conditions, generating a recipe that meets the user's personalized taste.

Benefits of technology

It realizes the continuous adjustment of recipes according to user status and feedback information, generates recommended recipes that are more in line with user taste preferences, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120723968A_ABST
    Figure CN120723968A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of intelligent refrigerators, and discloses a menu recommendation method which comprises the following steps: acquiring a menu according to a user type to which a user belongs; analyzing the satisfaction degree of the user to the menu according to the feedback information of the user; under the condition that the satisfaction degree of the user to the menu does not reach the preset condition, adjusting the menu once or multiple times until the satisfaction degree of the user to the menu reaches the preset condition; and recommending the menu with the satisfaction meeting a preset condition to the user as a recommended menu. The menu can be generated according to the user state and the food material list, and the menu can be repeatedly adjusted according to the feedback of the user until the satisfaction degree of the user to the menu reaches the preset condition. Therefore, the generated recommended menu better conforms to the personalized taste of the user. The invention further discloses a menu recommendation device, a refrigerator and a storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of smart refrigerators, for example, to a method, device, refrigerator, and storage medium for recommending recipes. Background Art

[0002] Currently, most smart refrigerators have the ability to recommend recipes to users. Related technologies typically collect datasets of user interactions with recipes online. Then, a neural graph collaborative filtering recommendation algorithm model is used to generate a list of recipe recommendations tailored to the user. Each recipe is then assigned a health score, ultimately selecting the recipe with the highest health score as the recommended recipe.

[0003] However, different users have different taste preferences. Related technologies can only recommend recipes that are consistent with healthy eating habits, while ignoring the user's taste preferences. This results in the recommended recipes not satisfying the user, reducing the user experience.

[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of this application, and therefore may include information that does not constitute prior art known to ordinary technicians in this field. Summary of the Invention

[0005] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not intended to be an extensive review, nor to identify key / critical elements or to delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.

[0006] The present application provides a method, device, refrigerator, and storage medium for recommending recipes to users, so as to recommend recipes that are more in line with the user's personalized taste preferences.

[0007] In a first aspect, the present application provides a method for recommending recipes, comprising:

[0008] Get recipes based on the user type.

[0009] Analyze user satisfaction with recipes based on user feedback;

[0010] If the user's satisfaction with the recipe does not meet the preset conditions, adjust the recipe once or multiple times until the user's satisfaction with the recipe meets the preset conditions;

[0011] The recipes whose satisfaction reaches a preset condition are recommended as recommended recipes and recommended to the user.

[0012] In an optional implementation, obtaining a recipe based on the user type of the user includes:

[0013] Determine the user type and user status of the user;

[0014] Get a recipe that matches the user status and ingredient list from multiple preset recipes included in the user type to which the user belongs.

[0015] In an optional implementation, the user status includes: user gender, user region, user physiological indicators, and user taste preferences;

[0016] The user's physiological indicators include: user age, user blood pressure, and user blood sugar; and the user's taste preferences include: spicy, sweet, and sour.

[0017] In an optional implementation, analyzing user satisfaction with a recipe based on user feedback information includes:

[0018] Obtaining an instant reward parameter based on the user's feedback information, including the user's acceptance and rejection of the recipe; the instant reward parameter is used to represent the user's degree of recognition of the recipe; the higher the user's degree of recognition of the recipe, the larger the instant reward parameter;

[0019] Determine a discount factor based on the user's feedback information and user status; the discount factor is used to represent the confidence of the user's feedback information; the higher the confidence of the user's feedback information, the greater the discount factor;

[0020] Generate user satisfaction with the recipe based on the immediate reward parameters and discount factors.

[0021] In an optional implementation, generating the user's satisfaction with the recipe based on the instant reward parameter and the discount factor includes:

[0022] Performing a multiplication operation on the discount factor and the preset initial parameters to generate an expected utility parameter; wherein the expected utility parameter is used to represent the user's estimated satisfaction with the recipe; the larger the expected utility parameter, the higher the user's estimated satisfaction with the recipe;

[0023] Perform an addition operation on the expected utility parameter and the immediate reward parameter to generate the user's satisfaction with the recipe;

[0024] The preset initial parameter is an integer greater than or equal to 0.

[0025] In an optional implementation, adjusting the recipe one or more times until the user's satisfaction with the recipe reaches a preset condition includes:

[0026] Adjust the recipe;

[0027] Analyze user satisfaction with the adjusted recipes based on user feedback;

[0028] If the user's satisfaction with the adjusted recipe does not meet the preset conditions, the recipe will be adjusted again until the user's satisfaction with the recipe meets the preset conditions.

[0029] In an optional implementation, adjusting the recipe includes:

[0030] Adjust user taste preferences based on user feedback;

[0031] Deleting one or more dishes that do not match the taste of the user from the recipe based on the adjusted user taste preferences;

[0032] Filtering one or more new dishes from a preset dish library corresponding to the adjusted user taste preferences;

[0033] One or more new dishes are added to the recipe to generate an adjusted recipe.

[0034] In an optional implementation, the user's satisfaction with the recipe meets a preset condition, including:

[0035] There is a monotonically increasing sequence in the sequence of user satisfaction with recipes, and the monotonically increasing sequence has an upper bound.

[0036] In an optional implementation, before obtaining a recipe based on the user type of the user, the method further includes:

[0037] Perform clustering processing on multiple preset users to determine multiple user types;

[0038] Generate multiple preset recipes for each user type.

[0039] In an optional implementation, clustering is performed on multiple preset users to determine multiple user types, including:

[0040] Assign the user data of each preset user to the preset cluster center closest to the data set to form multiple clusters;

[0041] Repeat the steps of forming clusters to update the cluster centers until the user data contained in each cluster no longer changes;

[0042] The multiple user data contained in each cluster center are determined as a user type.

[0043] In an optional implementation, before allocating the user data of each preset user to the closest preset cluster center in the data set to form multiple clusters, the method further includes:

[0044] Perform standardization processing on the user data of each preset user;

[0045] The standardized data of multiple users are combined into a data set.

[0046] In an optional implementation, performing the standardization process includes:

[0047] Use one-hot encoding for variable mapping, dimensionless processing, and / or metric uniformity.

[0048] In a second aspect, the present application provides a device for recommending recipes, comprising a processor and a memory storing program instructions, wherein the processor is configured to execute the method for recommending recipes as described above when running the program instructions.

[0049] In a third aspect, the present application provides a refrigerator, comprising a refrigerator body, characterized in that it also includes a device for recommending recipes, which is installed on the refrigerator body.

[0050] In a fourth aspect, the present application provides a storage medium storing program instructions, characterized in that when the program instructions are run, they execute the method for recommending recipes as described above.

[0051] The method, device, refrigerator, and storage medium for recommending recipes provided in the embodiments of the present application can achieve the following technical effects:

[0052] In the embodiment provided by this application, not only can recipes be generated based on the user's status and ingredient list, but the recipes can also be repeatedly adjusted based on user feedback until the user's satisfaction with the recipes reaches a preset condition. The recommended recipes generated in this way are more in line with the user's personalized tastes.

[0053] It should be understood that the above general description and the following description are merely exemplary and explanatory, and are not intended to identify the key or important features of the embodiments of the present application, nor to limit the scope of the present application. Other features of the present application will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] One or more embodiments are exemplarily described by corresponding drawings. These exemplary descriptions and drawings do not limit the embodiments. Elements with the same reference numerals in the drawings are shown as similar elements. The drawings do not constitute a scale limitation. In addition,

[0055] Figure 1 is a schematic diagram of a system environment for a method for recommending recipes provided by an embodiment of the present disclosure;

[0056] Figure 2 is a schematic diagram of a method for recommending recipes provided by an embodiment of the present disclosure;

[0057] Figure 3 is a schematic diagram of another method for recommending recipes provided by an embodiment of the present disclosure;

[0058] Figure 4 A schematic diagram of a device for recommending recipes provided by an embodiment of the present disclosure;

[0059] Figure 5 It is a schematic diagram of a refrigerator provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0060] In order to be able to understand the features and technical content of the embodiments of the present disclosure in more detail, the implementation of the embodiments of the present disclosure is described in detail below in conjunction with the accompanying drawings. The accompanying drawings are for reference only and are not used to limit the embodiments of the present disclosure. In the following technical description, for the sake of convenience of explanation, a full understanding of the disclosed embodiments is provided through multiple details. However, one or more embodiments can still be implemented without these details. In other cases, to simplify the drawings, well-known structures and devices can be simplified for display.

[0061] The terms "include" and "have" and any variations thereof in the description and claims of the embodiments of the present disclosure and the above-mentioned drawings are intended to cover non-exclusive inclusions.

[0062] Unless otherwise stated, the term "plurality" means two or more.

[0063] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.

[0064] The term "correspondence" may refer to an association relationship or a binding relationship. The correspondence between A and B means that there is an association relationship or a binding relationship between A and B.

[0065] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.

[0066] Currently, refrigerator 10 typically collects a dataset of user-recipe interactions from the internet, then uses a neural graph collaborative filtering recommendation algorithm model to generate a list of recipe recommendations corresponding to the user. It then assigns a health score to each recipe, ultimately selecting the recipe with the highest health score as the recommended recipe and pushing it to the user. However, different users have different taste preferences. Refrigerator 10 can only recommend recipes that align with healthy eating habits, ignoring the user's taste preferences. This results in unsatisfactory recommended recipes, reducing the user experience.

[0067] Combine Figure 1As shown, the system of an embodiment of the present application includes a refrigerator 10 and a terminal device 20. The refrigerator 10 is provided with a processor (not shown in the figure) and an interaction module (not shown in the figure). The processor performs operations according to preset instructions, and the interaction module is used to interact with the user's terminal device 20 to facilitate the presentation of recipe information and user operations. In this way, a recipe can be generated based on the user's status and the list of ingredients in the refrigerator, and the recipe can be repeatedly adjusted based on the user's feedback until the user's satisfaction with the recipe reaches the preset conditions. The recommended recipe generated in this way is more in line with the user's personalized taste.

[0068] Figure 2 A schematic diagram of a method for recommending recipes provided by an embodiment of the present disclosure is shown. Figure 2 , the method comprising:

[0069] Step S110: The processor obtains a recipe according to the user type to which the user belongs.

[0070] The user is the one who needs recipe recommendations, and recipes can be recommended to the user by obtaining the user's user type. Recipes are composed of dishes, which can be one or more. Dishes can be of various types, including hot dishes, cold dishes, soups, and staple foods. Hot dishes can be stir-fried, boiled, stewed, and other forms.

[0071] In an optional implementation, the recipe is obtained based on the user type of the user, as follows:

[0072] First, determine the user's user type and user status. User status includes: user gender, user region, user physiological indicators, and user taste preferences; user physiological indicators include: user age, user blood pressure, and user blood sugar; user taste preferences include: spicy, sweet, and sour. Thus, user status includes a variety of data items that affect taste preferences. For example, generally speaking, men tend to prefer meat products with a high oil and salt content, while women tend to prefer light vegetable foods; users in East China tend to prefer sweet and sour flavors, users in North China tend to prefer salty and savory flavors, and users in Sichuan and Chongqing tend to prefer spicy flavors; older users have greater taste differences than younger users, and users with high blood pressure and blood sugar also have greater taste differences than users with normal blood pressure and blood sugar.

[0073] Then, from the multiple preset recipes included in the user type to which the user belongs, a recipe that matches the user status and the ingredient list is obtained. Among them, the user type is the preset taste type to which the user belongs. Each user type corresponds to a preset taste, and multiple preset recipes will be generated for the preset taste. Among them, the ingredient list corresponds to the user, and includes all vegetables, meats, condiments and other ingredients that the user can currently use. When faced with a recipe, only when the ingredient list contains all the ingredients used in the recipe can the recipe be made. In other words, after determining the user type to which the user belongs, it is also necessary to filter out the recipes that can be made from the multiple preset recipes corresponding to the user type according to the ingredient list, and taking into account the user status's preference for dish taste, the recipe that meets the user's taste and ingredient list will eventually be pushed to the user.

[0074] In one specific example, user types include spicy food eaters, sour food eaters, and sweet food eaters. The spicy food eaters have 100 preset recipes, such as Mapo Tofu, Twice-Cooked Pork, Kung Pao Chicken, and Fuqi Feipian. In this case, if a user who needs a recipe recommendation is determined to be a spicy food eater, then based on the three ingredients in the user's ingredient list (tofu, chili peppers, and chicken), and the user's user status indicating a preference for mildly spicy dishes, Kung Pao Chicken is recommended to the user as a recipe. While Mapo Tofu can be made based on the ingredient list, it is not recommended because it does not suit the user's preference for mildly spicy dishes.

[0075] In short, this implementation method aims to filter out suitable recipes from multiple preset recipes corresponding to the user type based on the user's user status and ingredient list, and the recipes can be pushed to the user for subsequent evaluation process.

[0076] By means of the method of obtaining the recipe according to the user type and the ingredient list in step S110, the user's taste and the ingredient preparation can be taken into consideration at the same time, thereby satisfying the user's personalized taste needs.

[0077] Step S120: The processor analyzes the user's satisfaction with the recipe based on the user's feedback information.

[0078] In an optional implementation, based on user feedback, user satisfaction with the recipe is analyzed in the following manner:

[0079] First, an instant reward parameter is obtained based on the user's feedback information, including feedback on whether the user accepts or rejects a recipe. The instant reward parameter represents the user's degree of approval of the recipe; the higher the user's approval of the recipe, the larger the instant reward parameter. User feedback information can include multiple types of feedback. If the user finds the recipe to be satisfying, they will give it a positive rating, indicating that the user accepts the recipe. If the user finds the recipe to be unsatisfactory, they will give it a negative rating, indicating that the user rejects the recipe. Preferably, the feedback included in the user feedback information can be scored: from zero to ten, representing increasing user approval of the recipe's taste. If the user rejects the recipe, the recipe is given a point; if the user finds the recipe average, the recipe is given a point; if the user finds the recipe good, the recipe is given a point; if the user finds the recipe good, the recipe is given a point; and if the user is very satisfied with the recipe, the recipe is given a point. In other words, this method can further confirm the degree of user acceptance / rejection of the recipe. The instant reward parameter is obtained based on the user's feedback on the recipe. The higher the user's evaluation feedback on the recipe, the more the user approves of the recipe, and the larger the instant reward parameter.

[0080] Next, a discount factor is determined based on the user's feedback and user status. The discount factor represents the confidence level of the user's feedback; the higher the confidence level of the user's feedback, the larger the discount factor. The discount factor reflects whether the user's feedback regarding the recipe is trustworthy. To determine the discount factor, the user's feedback regarding the recipe is first obtained, followed by a series of user data contained in the user status. Based on the feedback and user status, the authenticity of the user's evaluation of the recipe is determined.

[0081] For ease of explanation, the following example details how the discount factor is determined: A user's user type is spicy food, their user status indicates they can eat mildly spicy dishes, and the menu includes dishes such as spicy chicken. In this case, the user's feedback on the recipe is "average," meaning that while the user accepts the recipe, their evaluation is low. The user's status then confirms that the user can only eat mildly spicy dishes. Combined with the user's low evaluation of spicy chicken (a spicy dish) in the recipe and their user status indicating they can only eat mildly spicy dishes, the user's feedback is considered highly confident, resulting in a larger discount factor. Conversely, if the user's status indicates they can only eat mildly spicy dishes, but they give the recipe a satisfactory rating, the user's feedback is considered less confident. Possible reasons for this low confidence include: incorrect user feedback due to a mistaken operation, or changes in user tastes.

[0082] Finally, the user's satisfaction with the recipe is calculated based on the immediate reward parameter and discount factor. The immediate reward parameter represents the user's approval of the recipe, while the discount factor indicates the authenticity of the user's evaluation of the recipe. Based on the immediate reward parameter and discount factor, the user's satisfaction with the recipe can be calculated. As a comprehensive evaluation metric, satisfaction effectively represents the user's true evaluation of the recipe by combining user feedback on the recipe and further correcting it based on the confidence level of the feedback.

[0083] Optionally, the user's satisfaction with the recipe is generated based on the immediate reward parameter and the discount factor, which can be achieved by:

[0084] First, a multiplication operation is performed on the discount factor and the preset initial parameters to generate an expected utility parameter. The expected utility parameter represents the user's estimated satisfaction with the recipe; the larger the expected utility parameter, the higher the user's estimated satisfaction with the recipe. The preset initial parameter is a uniformly set calculation base, with a value range of integers greater than or equal to 0. Preferably, to simplify the calculation process, the preset initial parameter can be set to 1. The expected utility parameter represents the user's estimated satisfaction with the recipe. That is, the expected value of the user's satisfaction with the recipe can be determined based on the discount factor and the preset initial parameters.

[0085] Then, we perform an addition operation on the expected utility parameter and the immediate reward parameter to generate the user's satisfaction with the recipe. The user's satisfaction with the recipe can be determined by adding the actual value and the expected value of the user's evaluation of the recipe.

[0086] In short, this implementation method aims to determine the instant reward parameters and discount factors based on user feedback information and user status, and then calculate the user's satisfaction with the recipe, so as to carry out the subsequent process of adjusting the recipe based on the satisfaction.

[0087] By means of step S120, the user's satisfaction with the recipe is determined based on the user's feedback information and user status, and the user's satisfaction with the recipe is accurately analyzed through multi-dimensional factors, thereby obtaining the user's true evaluation of the recipe, which is helpful for subsequent adjustments to the recipe.

[0088] Step S130: If the user's satisfaction with the recipe does not meet the preset condition, the processor adjusts the recipe once or multiple times until the user's satisfaction with the recipe meets the preset condition.

[0089] In an optional implementation, the recipe is adjusted once or multiple times until the user's satisfaction with the recipe reaches a preset condition, which is achieved by:

[0090] First, adjust the recipe.

[0091] Then, based on user feedback, the user's satisfaction with the adjusted recipe is analyzed. If user satisfaction with the adjusted recipe does not meet a preset requirement, the recipe is adjusted again until user satisfaction with the recipe meets a preset requirement. After adjusting the recipe to generate a new recipe, the recipe is pushed to the user again, and the user's satisfaction with the adjusted recipe is obtained. If user satisfaction with the adjusted recipe does not meet a preset requirement, the recipe is adjusted again until user satisfaction meets a preset requirement.

[0092] Optionally, the recipe can be adjusted as follows:

[0093] First, the user's taste preferences are adjusted based on the user's feedback. The user's real-time taste can be determined based on the user's feedback on the recipes. Then, the user's taste preferences, as reflected in the user's status, are adjusted based on the user's real-time taste. For example, if a user rates spicy dishes low, the user's preference for spicy food in their taste preferences is lowered.

[0094] Then, based on the adjusted user's taste preferences, one or more dishes that do not match the taste are deleted from the recipe. For example, when adjusting the user's taste preferences, if the user's preference for spicy food is reduced, the spicier dishes in the recipe are deleted based on the spiciness level, while the less spicy dishes are retained.

[0095] Next, one or more new dishes corresponding to the adjusted user's taste preferences are selected from the preset dish library. The preset dish library contains a large number of dishes with different flavors. Based on the user's adjusted taste preferences, multiple dishes that match the user's current tastes can be selected from the preset dish library. Preferably, the preset dish library is generated based on the user's ingredient list to ensure that every dish in the preset dish library can be prepared.

[0096] Finally, one or more new dishes are added to the recipe to generate an adjusted recipe.

[0097] For ease of explanation, the following example describes the process of repeatedly adjusting a recipe until the user's satisfaction reaches a predetermined level:

[0098] The user's user type is someone who likes spicy dishes. The recommended recipes include five dishes: Boiled Pork Slices, Spicy Chicken, Mapo Tofu, Dry Pot Potato Slices, and Spicy Shrimp. The Dry Pot Potato Slices and Boiled Pork Slices are mildly spicy, the Mapo Tofu and Spicy Shrimp are medium spicy, and the Spicy Chicken is highly spicy. In this case, since the user's feedback on the recipe is "average," the user's preference for spicy dishes is reduced, indicating a low level of spiciness. Therefore, the spicier dishes in the recipe need to be removed and replaced with dishes of a different flavor. Therefore, the highly spicy Spicy Chicken is removed from the recipe, leaving only the mildly spicy Boiled Pork Slices, the medium spicy Mapo Tofu, Dry Pot Potato Slices, and Spicy Shrimp. Then, based on the user's preference for sour dishes, the sour dish "Sauerkraut Shredded Potatoes" is selected from the preset menu of dishes, including Pickled Cabbage Shredded Potatoes, Shredded Pork with Green Peppers, and Braised Beef, and added to the recipe. After the adjustment, the menu now includes Boiled Pork Slices, Mapo Tofu, Dry Pot Potato Slices, Spicy Shrimp, and Shredded Pickled Potatoes. The adjusted menu is then recommended to users, and user satisfaction with the adjusted dishes is analyzed based on their feedback. If the preset conditions are not met, the menu is further adjusted based on user feedback. At this point, the user's feedback on the recipe is "Acceptable." This indicates that the user is more satisfied with the newly added Shredded Pickled Potatoes than the Spicy Chicken included in the original recipe. This indicates that the user has some interest in "sour" dishes. In this case, the moderately spicy dishes, such as Mapo Tofu, can be removed from the menu, and new sour dishes can be selected from the preset menu library and added to the menu. By continuously adjusting the recipe based on user feedback, a recipe that satisfies the user can be created.

[0099] In one optional implementation, user satisfaction with a recipe meets a preset condition, including: a monotonically increasing sequence exists within the user satisfaction series, and this monotonically increasing sequence has an upper bound. Specifically, the user satisfaction scores are collected in the order in which they were generated, forming a satisfaction series. A determination is then made as to whether a monotonically increasing sequence exists within the satisfaction series. If so, this sequence has an upper bound, indicating that the monotonically increasing series has a limit value. The recipe corresponding to the limit value is the user's most satisfied recipe, and no further adjustments are required. The logic behind setting this preset condition is as follows: Each user's satisfaction score with a recipe is collected to form a series. When initially adjusting a recipe, some negative adjustments will inevitably occur, resulting in lower user satisfaction after the adjustments. However, as adjustments and modifications are made to user taste preferences, the recipe adjustments become increasingly precise, leading to a continuous increase in satisfaction. Finding a monotonically increasing series from the satisfaction series shows that every adjustment to the recipe in the series has a positive effect, and the user's satisfaction with the recipe is constantly increasing. Since a monotonically increasing series with an upper bound must converge and have a limit, the user's satisfaction series with the recipe also has a limit, which indicates that the user is very satisfied with the current recipe and does not need to make any adjustments to the recipe. Preferably, the number of times the recipe is adjusted can be set to prevent the user from getting bored due to multiple recipe pushes, which reduces the user experience; the upper limit of satisfaction can also be preset to assist in determining whether the satisfaction reaches the preset conditions. For example, if the upper limit of satisfaction is set to 100, if the user's satisfaction with the recipe reaches 100, it means that the recipe best meets the user's taste preferences, and the recipe adjustment process ends at this time.

[0100] The following uses a specific example to explain in detail how to determine whether a user's satisfaction with a recipe meets the preset conditions:

[0101] The threshold of satisfaction is limited to [0,100], where 0 means the user is very dissatisfied with the recipe, and 100 means the user is very satisfied and the recipe does not need to be adjusted anymore; the number of recipe adjustments is limited to 5 times. In practice, a total of 5 recipe modifications were made, and a total of 6 satisfaction levels were generated together with the initial recipe; arranged in the order of generation, they are: [47, 59, 51, 68, 84, 97]. In the satisfaction series, first find the monotonically increasing series [51, 68, 84, 97]; then determine that the upper bound of the series is 97. This means that after 5 adjustments, the user is most satisfied with the recipe of the last adjustment, with a satisfaction level of 97. Then stop adjusting the recipe, and push the recipe corresponding to a satisfaction level of 97 to the user as a recommended recipe. For another case: the satisfaction series is

[0102] [47, 59, 73, 87, 100]; now we find a monotonically increasing sequence of [47, 59, 73, 87, 100] with an upper bound of 100. Since 100 is the maximum satisfaction value, although we can adjust the recipe up to five times, since the maximum satisfaction value has been reached by the fourth recipe adjustment, we can directly push the recipe corresponding to 100 satisfaction value to the user as a recommended recipe.

[0103] In summary, in addition to determining whether a monotonically increasing series exists within the satisfaction series and whether the monotonically increasing series has an upper bound, a satisfaction threshold can also be set. When the number of recipe adjustments falls below a preset value, and the user's satisfaction with the recipe reaches the threshold, adjustments can be stopped immediately, and the recipe that reaches the threshold can be pushed to the user as a recommended recipe. The two methods described above can be used separately or in combination. Using them together will achieve better technical results than using them separately.

[0104] In short, this implementation method aims to continuously adjust the recipe based on user feedback information until the user's satisfaction with the recipe reaches a certain level, so as to push the recipe that best suits the user's taste preferences to the user.

[0105] By continuously adjusting the recipe according to user feedback in step S130, the recipe can be continuously iterated until it meets the user's taste preferences, thereby improving the user experience.

[0106] Step S140: The processor recommends the recipes whose satisfaction meets the preset conditions as recommended recipes to the user.

[0107] Figure 3 A schematic diagram showing another method for recommending recipes provided by an embodiment of the present disclosure is shown. Figure 3 , the method comprising:

[0108] Step S210: The processor performs clustering processing on a plurality of preset users to determine a plurality of user types.

[0109] In an optional implementation, clustering is performed on multiple preset users to determine multiple user types, which is achieved by:

[0110] First, standardization is performed on the user data of each preset user. Preset users are pre-collected user data with a large order of magnitude. After classification and screening, different user types can be determined more accurately. Standardization refers to converting the original data into a specific unified specification to eliminate the differences in attribute characteristics such as properties, dimensions, and orders of magnitude between different variables, ensuring that the values ​​of each indicator are at the same order of magnitude, and facilitating comprehensive analysis and comparison between indicators. Standardization includes using unique hot encoding for variable mapping, dimensionless processing, and / or indicator consistency processing. Since user data contains data of various different specifications, such as user region data, user physiological indicator data, and user taste preference data, after standardization, the above data can be converted into data in a unified format, which is convenient for subsequent data processing.

[0111] Then, the standardized data of multiple users are combined into a data set.

[0112] Next, the user data of each preset user is assigned to the preset cluster center closest to the data set to form multiple clusters.

[0113] Next, the clustering step is repeated to update the cluster centers until the user data included in each cluster no longer changes.

[0114] Finally, the multiple user data contained in each cluster center are determined as a user type.

[0115] The K-means clustering algorithm is used for clustering: Several user data points are randomly selected from a dataset consisting of multiple user data points as cluster centers. For the remaining user data points, each user data point is assigned to the closest cluster center to form a cluster. After all user data points are clustered, the mean of all user data points within each cluster center is calculated to determine a new cluster center. All data points are then assigned to the closest new cluster center. The cluster center updating process is repeated until the user data within each cluster center is stable and no longer changes. At this point, the user data for multiple users within each cluster center is roughly the same, meaning that users with a certain taste preference form a user type.

[0116] In short, this implementation aims to cluster user data to identify multiple user taste types. By distinguishing users with different taste types, subsequent recipe recommendations can be made by simply matching users to their user types. This allows the user's general taste type to be determined, and multiple recipes generated based on that general taste type can be recommended. Finally, recipes can be continuously adjusted to suit each user's unique taste preferences.

[0117] Step S220: The processor generates a plurality of preset recipes for each user type. After acquiring a plurality of user types, a large number of dishes corresponding to the taste preferences of each user type are generated and constituted into preset recipes.

[0118] Step S110: The processor obtains recipes based on the user type of the user. When recommending recipes to a user, the user type is first determined based on the user data, and then the preset recipes corresponding to the user type are used as matching recipes for the user.

[0119] Step S120: The processor analyzes the user's satisfaction with the recipe based on the user's feedback information.

[0120] Step S130: If the user's satisfaction with the recipe does not meet the preset condition, the processor adjusts the recipe once or multiple times until the user's satisfaction with the recipe meets the preset condition.

[0121] Step S140: The processor recommends the recipes whose satisfaction meets the preset conditions as recommended recipes to the user.

[0122] In summary, this embodiment aims to cluster a large number of users into user types, each of which represents a specific taste preference. When subsequently recommending recipes to a user, the user can be matched with a user type. Preset recipes can then be filtered based on the user type, and then the recipes can be adjusted based on the user's ratings until they meet the user's personalized taste. By identifying user types, personalized recommendations can be made more precisely based on the user's taste preferences, thereby improving user satisfaction and user experience.

[0123] Next, we will use a specific example to explain the specific process of recommending recipes to users:

[0124] Step 1: Data collection and preprocessing.

[0125] Collect the user's gender data and express it as a number. For example, male = 0, female = 1.

[0126] Collect the user's region data, use one-hot encoding to process it, and create a new feature for each region.

[0127] Collect users' physiological indicator data, including age, blood pressure, and blood sugar data; this data needs to be standardized to eliminate possible dimensional effects between different variables.

[0128] Collect user taste preference data, process it using one-hot encoding, and create a new feature for each taste.

[0129] After data processing, various user data are summarized to form the following table (5 users are listed as an example):

[0130] Table 1

[0131]

[0132] Step 2: Cluster users and identify multiple user types.

[0133] Use the K-means clustering algorithm to cluster users. First, set K=100, that is, cluster the data (users) into 100 categories. Then, randomly select 100 points from the data set consisting of user data as the initial cluster centers. For each point, assign it to a cluster based on the distance to the nearest cluster center. Then, update the center of each cluster to the mean of all points in the cluster. Repeat the clustering steps until the cluster center no longer changes significantly. For example, after clustering all the user data contained in step 1, 10 user types are obtained, and each user type has different taste preferences. Then, based on the 10 user types generated by clustering, 100 recipes are generated for each user type.

[0134] Step 3: Build a Q-Learning model to recommend recipes to users.

[0135] The Q-learning model uses a Q-table to store and update the value assessment of different recipe recommendations. The calculation formula is as follows:

[0136] Q new (s,a)←(1-α)·Q(s,a)+α·(r+γ·maxQ(s′,a′))

[0137] Among them, Q(s,a) is the action-value function, which can be understood as the expected satisfaction of recommending a specific recipe under a specific user preference and food inventory status; a is the action, which refers to the specific recipe recommended to the user; s is the state, which may include the user's personal preferences, health needs, regional characteristics, and the ingredients currently available to them. Each Q(s,a) corresponds to a specific "state-action" pair, that is, the probability of recommending a certain recipe given the user's state. new(s,a) represents the updated action-value function, that is, the expected satisfaction of recommending recipe a in state s. Q(s,a) is continuously updated based on real-time user feedback and historical data. It represents the latest estimated user satisfaction for a specific recipe recommendation after the system has learned. maxQ(s′,a′) is the part of the Q-Learning algorithm used to evaluate the expected utility of the best recipe recommendation a′ in the next user state s′. α is the learning rate, which determines how new user feedback affects existing recommendations. A higher learning rate means that new information will more quickly change the recommendation system's evaluation of certain recipes. r is the immediate reward after the user actually selects the recipe. γ is the discount factor, which reflects the recommendation system's assessment of future user satisfaction. s′ is the new state, which refers to the user's new situation after accepting the recommendation, which may include user feedback, ingredient consumption, and new ingredient acquisition. a′ is a new recipe that may be recommended in the new state s′.

[0138] During the Q-Learning training process, the Q table is trained through the interaction between users and the recommendation system to optimize recipe recommendations.

[0139] Step 3.1: Initialize the values ​​of the Q table.

[0140] As shown in Table 2, s1, s2, and s3 represent different user types, and a1 and a2 represent multiple preset recipes corresponding to those user types. The Q-table records the action-value function, which indirectly determines the recipes recommended by the terminal. For example, if the terminal sees that the user belongs to user type s2, it will select the recipe corresponding to the highest Q value in the row corresponding to user type s2 and recommend it.

[0141] Table 2

[0142]

[0143]

[0144] Step 3.2: Get the recipe based on the user type.

[0145] When recommending a recipe to a user, the system first searches for a recipe that matches the user's user status and ingredient list from among the multiple preset recipes corresponding to the user type. For example, if user s's user type is s2, and based on their user status and ingredient list, the recipe that matches is a1. Recipe a1 will then be recommended to user s, and in subsequent steps, the recipe will be adjusted based on user s's feedback on recipe a1.

[0146] Step 3.3: Analyze user satisfaction with the recipe based on user feedback.

[0147] Recommend recipe a1 to user s, using the user's feedback (accepting or rejecting the recipe) as the immediate reward parameter r. A discount factor γ is calculated based on the user's feedback and status. When calculating the satisfaction of the first recipe, the initial parameter maxQ(s′,a′) is set to 1. When calculating satisfaction after adjusting the recipe, maxQ(s′,a′) is the value with the highest satisfaction among all recipes.

[0148] The user's satisfaction with the recipe Q(s,a) is calculated as follows:

[0149] Q(s,a)=α·(r+γ·max Q(s′,a′))

[0150] The above formula is simplified from the calculation formula of Q-Learning model. new In (s,a)←(1-α)·Q(s,a)+α·(r+γ·max Q(s′,a′)), α represents the learning rate, which determines how new user feedback affects existing recommendations. To simplify the calculation and clarify the logic, α = 1 here. However, in practice, the value can be set according to the actual situation.

[0151] Step 3.4: Adjust the user status of user s based on the feedback information of user s.

[0152] Step 3.5: Repeat steps 3.2 to 3.4 until the Q table converges.

[0153] If satisfaction doesn't meet the preset criteria, the recipe is repeatedly adjusted until the user's satisfaction with the recipe reaches the preset criteria. Once the Q-table has been sufficiently trained and converged, it can be used to recommend recipes to the user in real time. Given the user's current state, the system searches the Q-table for the Q-values ​​of all actions corresponding to that state and recommends the recipe with the highest Q-value. In other words, the Q-table stores the user's satisfaction with all recipes.

[0154] Step 3.6: Recommend recipes to users.

[0155] When the Q-table converges, the recipe with the highest Q-value (i.e., the highest satisfaction) is selected from all Q(s, a) stored in the Q-table as the recommended recipe and pushed to the user:

[0156] a * =argmax Q(s,a)

[0157] Among them, Q(s,a) is the satisfaction, arg maxQ(s,a) is the maximum value of all Q(s,a), a * For recommended recipes.

[0158] Throughout the Q-Learning process, the algorithm gradually discovers which user-state-recipe pairs yield the highest long-term rewards. After sufficient learning, the Q-table stabilizes, forming a strategy for selecting the optimal recipe for each user state. Over time, the system better learns and predicts user preferences, enabling more personalized recommendations.

[0159] In summary, the method for recommending recipes provided by this application can not only generate recipes based on the user's status and ingredient list, but also repeatedly adjust the recipes based on user feedback until the user's satisfaction with the recipe reaches a preset condition. The recommended recipes generated in this way are more in line with the user's personalized taste. On the one hand, this application uses the K learning algorithm to perform cluster analysis on users, which can more finely implement personalized recommendations based on the user's personal information, thereby improving user satisfaction and usage experience; on the other hand, the Q-Learning model in this application allows the system to dynamically adjust the recommendation strategy based on the user's real-time feedback and ingredient status, so that the recommendation results are more in line with the user's current actual needs. In addition, updating the Q table based on user feedback can continuously improve the quality of the recommendation strategy. In this way, the recommendation method of this application can encourage users to provide feedback, and this feedback is directly used to optimize future recommendations, forming a virtuous interactive cycle, improving user experience, and enhancing practicality and recommendation effectiveness.

[0160] Combine Figure 4 As shown, an embodiment of the present application provides a device 40 for recommending recipes, including a processor 100 and a memory 101. Optionally, the device may also include a communication interface 102 and a bus 103. The processor 100, the communication interface 102, and the memory 101 can communicate with each other through the bus 103. The communication interface 102 can be used for information transmission. The processor 100 can call the logic instructions in the memory 101 to execute the method for recommending recipes in the above embodiment.

[0161] In addition, the logic instructions in the memory 101 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.

[0162] Memory 101, as a storage medium, can be used to store software programs and computer-executable programs, such as program instructions / modules corresponding to the methods in the embodiments of the present disclosure. Processor 100 executes the program instructions / modules stored in memory 101 to perform functional applications and data processing, thereby implementing the recipe recommendation method in the above-described embodiments.

[0163] The memory 101 may include a program storage area and a data storage area. The program storage area may store an operating system and at least one application required for a function; the data storage area may store data generated based on the use of the terminal device. Furthermore, the memory 101 may include high-speed random access memory and non-volatile memory.

[0164] Combine Figure 5 As shown, an embodiment of the present application provides a refrigerator 50, comprising: a refrigerator body 51, and the above-mentioned device 40 for recommending recipes. The device 40 for recommending recipes is installed on the refrigerator body 51. The installation relationship described here is not limited to placement inside the product, but also includes installation connections with other components of the product, including but not limited to physical connections, electrical connections, or signal transmission connections. It can be understood by those skilled in the art that the device 40 for recommending recipes can be adapted to a feasible product body, thereby realizing other feasible embodiments.

[0165] An embodiment of the present application provides a storage medium storing computer-executable instructions, wherein the computer-executable instructions are configured to execute the above-mentioned method for recommending recipes.

[0166] The aforementioned storage medium may be a transient computer-readable storage medium or a non-transient computer-readable storage medium. Non-transient storage media include various media that can store program code, such as USB flash drives, mobile hard drives, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks. These media may also be transient storage media.

[0167] The above description and accompanying drawings sufficiently illustrate the embodiments of the present disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible variations. Unless expressly required, individual components and functions are optional, and the order of operations may vary. Portions and features of some embodiments may be included in or replace portions and features of other embodiments. Moreover, the terms used in this application are only used to describe the embodiments and are not used to limit the claims. As used in the description of the embodiments and claims, the singular form "a" and "an" shall not be construed as meaning "a" or "an" unless the context clearly indicates otherwise.

[0168] (a), "an" and "the" are intended to include plural forms as well. Similarly, the term "and / or" as used in this application is intended to include any and all possible combinations of one or more of the associated listed items. In addition, when used in this application, the term "including"

[0169] "comprise" and its variations "comprises" and / or comprising refer to the presence of stated features, wholes, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or groups thereof. In the absence of further restrictions, an element defined by the sentence "comprises a..." does not exclude the presence of other identical elements in the process, method or device that includes the element. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the various embodiments can be referenced to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can be found in the description of the method part.

[0170] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. The technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. The technicians will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0171] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architectures, functions and operations of the systems, methods and computer program products according to the embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of the code, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical functions. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, which can depend on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in an order different from that disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action, or may be implemented by a combination of dedicated hardware and computer instructions.

Claims

1. A method for recommending recipes, characterized in that: include: Get recipes based on the user type. Analyze user satisfaction with recipes based on user feedback; If the user's satisfaction with the recipe does not meet the preset conditions, adjust the recipe once or multiple times until the user's satisfaction with the recipe meets the preset conditions; The recipes whose satisfaction reaches a preset condition are recommended as recommended recipes and recommended to the user.

2. The method according to claim 1, characterized in that The step of obtaining a recipe based on the user type of the user includes: Determine the user type and user status of the user; Get a recipe that matches the user status and ingredient list from multiple preset recipes included in the user type to which the user belongs.

3. The method according to claim 2, characterized in that The user status includes: user gender, user region, user physiological indicators and user taste preferences; The user's physiological indicators include: user age, user blood pressure, and user blood sugar; and the user's taste preferences include: spicy, sweet, and sour.

4. The method according to claim 1, wherein Analyzing user satisfaction with recipes based on user feedback information includes: Obtaining an instant reward parameter based on the user's feedback information, including the user's acceptance and rejection of the recipe; the instant reward parameter is used to represent the user's degree of recognition of the recipe; the higher the user's degree of recognition of the recipe, the larger the instant reward parameter; Determine a discount factor based on the user's feedback information and user status; the discount factor is used to represent the confidence of the user's feedback information; the higher the confidence of the user's feedback information, the greater the discount factor; Generate user satisfaction with the recipe based on the immediate reward parameters and discount factors.

5. The method according to claim 4, characterized in that Generating the user's satisfaction with the recipe based on the instant reward parameter and the discount factor includes: Performing a multiplication operation on the discount factor and the preset initial parameters to generate an expected utility parameter; wherein the expected utility parameter is used to represent the user's estimated satisfaction with the recipe; the larger the expected utility parameter, the higher the user's estimated satisfaction with the recipe; Perform an addition operation on the expected utility parameter and the immediate reward parameter to generate the user's satisfaction with the recipe; The preset initial parameter is an integer greater than or equal to 0.

6. The method according to claim 1, characterized in that The one or more adjustments to the recipe, until the user's satisfaction with the recipe reaches a preset condition, include: Adjust the recipe; Analyze user satisfaction with the adjusted recipes based on user feedback; If the user's satisfaction with the adjusted recipe does not meet the preset conditions, the recipe will be adjusted again until the user's satisfaction with the recipe meets the preset conditions.

7. The method according to claim 6, characterized in that The adjustment recipe includes: Adjust user taste preferences based on user feedback; Deleting one or more dishes that do not match the taste of the user from the recipe based on the adjusted user taste preferences; Filtering one or more new dishes from a preset dish library corresponding to the adjusted user taste preferences; One or more new dishes are added to the recipe to generate an adjusted recipe.

8. The method according to claim 1, characterized in that The user's satisfaction with the recipe meets the preset conditions, including: There is a monotonically increasing sequence in the sequence of user satisfaction with recipes, and the monotonically increasing sequence has an upper bound.

9. The method according to any one of claims 1 to 8, characterized in that Before obtaining the recipe according to the user type to which the user belongs, the method further includes: Perform clustering processing on multiple preset users to determine multiple user types; Generate multiple preset recipes for each user type.

10. The method according to claim 9, characterized in that The clustering process is performed on multiple preset users to determine multiple user types, including: Assign the user data of each preset user to the preset cluster center closest to the data set to form multiple clusters; Repeat the steps of forming clusters to update the cluster centers until the user data contained in each cluster no longer changes; The multiple user data contained in each cluster center are determined as a user type.

11. The method according to claim 10, characterized in that Before allocating the user data of each preset user to the closest preset cluster center in the data set to form multiple clusters, the method further includes: Perform standardization processing on the user data of each preset user; The standardized data of multiple users are combined into a data set.

12. The method according to claim 11, characterized in that The performing of the standardization process includes: Use one-hot encoding for variable mapping, dimensionless processing, and / or metric uniformity.

13. A device for recommending recipes, comprising a processor and a memory storing program instructions, characterized in that: The processor is configured to execute the method for recommending recipes according to any one of claims 1 to 12 when running the program instructions.

14. A refrigerator, comprising a refrigerator body, characterized in that: Also includes: The device for recommending recipes according to claim 13 is installed on a refrigerator body.

15. A storage medium storing program instructions, characterized in that: When the program instructions are executed, the method for recommending recipes according to any one of claims 1 to 12 is executed.