Dietary plan generation method and device and computer-implemented algorithm thereof
Through a meal plan generation method based on user diet information, and using evolutionary algorithms and scoring systems, the problem of difficulty in personalizing and optimizing nutritional intake in the existing technology is solved, and the nutritional needs satisfaction and dietary plan optimization of different groups of people are achieved.
Patent Information
- Application Number
- CN202380073277.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-22
- Filing Date
- 2023-09-22
- Publication Date
- 2025-06-06
AI Technical Summary
The prior art is difficult to personalize and optimize nutritional intake, especially for specific groups of people such as pregnant or breastfeeding, people suffering from nutrition-related diseases, and the elderly, and cannot effectively consider user preferences and specific needs.
Through a meal plan generation method and device, a personalized meal plan is generated based on the user's dietary information using a computer-implemented algorithm. The method includes obtaining the user's dietary information, forming an initial meal plan subset, generating a second meal plan subset through an evolutionary algorithm, and calculating the scores of each meal plan, and finally ranking and recommendation of the meal plan.
It has achieved personalized optimization of nutritional intakes in different groups, meeting user preferences and specific needs, and providing a healthier and more effective meal plan.
Smart Images

Figure CN120113009A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and device for generating a meal plan and an algorithm implemented by a computer thereof. Background Art
[0002] Nutrition is a key driver of human health and well-being, and nutrition is usually obtained by people from food (including beverages) intake. For specific populations, nutrition intake is very critical, for example, for pregnant or breastfeeding women, people with nutrition-related diseases (e.g., diabetes), and specific groups such as the elderly / older people with special nutrition intake needs. Therefore, it is very important to control / personalize nutrition intake according to the different situations of each target person.
[0003] The present invention provides a meal plan generation method, apparatus and computer-implemented algorithm thereof, which are designed to optimize and personalize nutritional intake while taking into account user preferences.
[0004] The present invention also provides a method of finding a replacement meal plan for an existing meal plan. Summary of the invention
[0006] The present invention relates to a method and device for generating a meal plan and an algorithm / method implemented by a computer thereof.
[0007] The present invention aims to provide users with personalized meal plans.
[0008] The present invention is defined by the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The present invention will now be discussed in more detail with reference to the accompanying drawings, in which:
[0010] Figure 1A A meal plan generation method is shown.
[0011] Figure 1B A meal plan generation method is shown.
[0012] Figure 1C A method for changing a suggested meal plan is shown.
[0013] Figure 1D A method for determining an alternative meal plan is shown.
[0014] Figure 2 An example of the evolutionary algorithm when generating the second subset is shown.
[0015] Figure 3 An example of determining weight values is shown.
[0016] Figure 4The apparatus configured to perform a part or all of the steps in the present invention is shown. DETAILED DESCRIPTION
[0017] The embodiments of the present disclosure will be described below with reference to the accompanying drawings. However, the embodiments of the present disclosure are not limited to specific embodiments, but should be understood to include all modifications, changes, equivalent devices and methods, and / or alternative embodiments of the present disclosure.
[0018] The terms “having”, “may have”, “including” and “may include” used herein indicate the existence of corresponding features (for example, elements such as numerical values, functions, operations or components), and do not exclude the existence of additional features.
[0019] The terms "A or B", "at least one of A or / and B", or "one or more of A or / and B" as used herein include all possible combinations of the items listed therein. For example, "A or B", "at least one of A and B", or "at least one of A or B" means (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B.
[0020] As used herein, terms such as "first" and "second" may modify various elements, regardless of the order and / or importance of the corresponding elements, and do not limit the corresponding elements. These terms may be used to distinguish one element from another. For example, a first printed form and a second printed form may represent different printed forms, regardless of order or importance. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
[0021] It should be understood that when an element (e.g., a first element) is "(operably or communicatively) coupled / coupled to" or "connected to" another element (e.g., a second element), the element may be directly coupled to the other element, and an intervening element (e.g., a third element) may exist between the element and the other element. Conversely, it should be understood that when an element (e.g., a first element) is "directly coupled / coupled to" or "directly connected to" another element (e.g., a second element), there is no intervening element (e.g., a third element) between the element and the other element.
[0022] As used herein, the expression "configured to (or set to)" may be used interchangeably with "suitable for", "capable of", "designed to", "adapted to", "manufactured to", or "capable of", depending on the context. The term "configured to (set to)" does not necessarily mean "specially designed to" at the hardware level. Rather, the expression "the device is configured to ..." may mean that the device, together with other devices or components, is "capable of ..." in a specific context.
[0023] The terms used to describe the various embodiments of the present disclosure are to describe specific embodiments and are not intended to limit the present disclosure. Unless the context clearly states otherwise, the singular form used herein is also intended to include the plural form. Unless otherwise defined, all terms (including technical or scientific terms) used herein have the same meaning as those generally understood by those of ordinary skill in the relevant art. Unless clearly defined herein, the terms defined in the commonly used dictionaries should be interpreted as having the same or similar meaning as the contextual meaning of the relevant technology, and should not be interpreted as having an ideal or exaggerated meaning. Depending on the circumstances, even the terms defined in the present disclosure should not be interpreted as excluding the embodiments of the present disclosure.
[0024] The present invention provides a method, apparatus and computer-implemented algorithm for generating a meal plan, which is intended to optimize and personalize nutritional intake while taking into account user preferences. The target user / person may be a pregnant woman, a pregnant woman with diabetes, a man, an infant, a child, an elderly person or any other person. For example, the meal plan generation method may be targeted at women at different stages, such as women preparing for pregnancy, pregnant, recovering from childbirth or breastfeeding, especially because women at different stages may have different lifestyles, personal food preferences and health conditions, which require personalized nutrients.
[0025] Figure 1A A meal plan generation method is shown.
[0026] In step 101, the user's dietary information is obtained. The dietary information may include any information related to the user's diet, for example, at least one of the following items: allergens, restricted ingredients, gene / DNA information, number of meals per day, height, weight, gender, activity level, location information, dietary preferences, user pattern data, dietary history, family history information, and the stage of the user, for example, the stage is before pregnancy, during pregnancy, during the postpartum period, or during lactation. The dietary information may further include other information, for example, health status, disease, body mass index (BMI), age, etc.
[0027] The user pattern data may include data about at least one of the meal plans (e.g., the most recently selected (or any of the saved, searched, reviewed, viewed over a predetermined period of time, etc.) meal plans) or user behavior information about ingredients. The user pattern data may further include other user data when the user uses the present method to obtain meal plan suggestions (e.g., when using an application / software implementing the present method).
[0028] The location information may be the user's current location or previous location, such as birth location, location where the user has stayed the longest in the past, and the like.
[0029] The family history information may be relevant information about the user's family members, such as family member disease records, family member weight, family member dietary preferences, etc.
[0030] The user weight data of the user may include the user's current weight, the user's weight change data in the past period, the user's weight change data related to the meal plan, etc. The user weight change data may be very important because it gives a hint about the dynamic changes of the body / weight so that the meal plan can be suggested / scored accordingly. For example, a user who loses weight too quickly may be unhealthy, so the suggested meal may temporarily include more energy / calories; or a user who gains weight too quickly should slowly reduce the energy in the suggested meal instead of reducing calories immediately.
[0031] Dietary information may be obtained via at least one of the following means: for example, a questionnaire (e.g., on a smartphone / tablet), from an existing database (e.g., authorized medical records, recorded dietary history, etc.), via certain devices (e.g., via a smart scale for obtaining the user's weight, via a device with a camera for estimating the user's BMI), or any other means.
[0032] In step 102, a first meal plan subset is formed / generated based on the obtained dietary information of the user. The first meal plan subset includes at least one meal plan.
[0033] A meal plan may be a plan comprising at least one element. For example, an element may be a collection of different foods (the term "food" in this document includes solid or pasty foods, colloids, liquids / solutions, and beverages), for example, based on one or more food recipes (e.g., one or more dishes). As another example, one or more elements in each meal plan may include at least one of the following: a breakfast menu, one or more lunch staples, one or more dinner staples, an additional meal menu, one or more lunch dishes, and one or more dinner dishes.
[0034] The first subset of meal plans may be formed by meal plans selected from an original set of meal plans (i.e., an original set of meal plans or a predetermined set of meal plans used interchangeably in this document). The original set of meal plans may be an original collection of all meal plans stored in a database (inside or outside a device including an application / software implementing the present method). For example, the first subset of meal plans may be selected directly from the original set based on dietary information, for example, via an artificial intelligence model. Alternatively, the first subset of meal plans may be selected based on certain conditions, for example, if the dietary information indicates that the user is an elderly person, a meal plan with liquid / soft food is more likely to be selected; if the dietary information indicates that the user prefers spicy food, a meal plan with a strong spicy flavor is more likely to be selected; if the dietary information indicates that the user has not consumed any dairy products in the past week, a meal plan with cheese and milk is more likely to be selected; if the dietary information indicates that the user is allergic to seafood, a meal plan with seafood will not be selected. Please note that the above conditions are merely examples and they do not limit the scope of the present invention.
[0035] The first subset of meal plans may be formed from a filtered set of original meal plans (i.e., from the original set of meal plans), i.e., the original meal plans are first filtered by removing all meal plans that include allergens and / or restricted ingredients (based on dietary information) and / or removing meal plans that include ingredients other than existing meal ingredients (i.e., the suggested meal plans may be limited to meal plans that can be prepared based on existing food ingredients in the user's home); and then meal plans are selected from the filtered original set when forming the first subset of meal plans (i.e., by any of the methods disclosed above). For example, the first subset of meal plans may be formed by removing zero, one or more meal plans that include allergens and / or restricted ingredients and / or removing meal plans that include ingredients other than existing meal ingredients from the predetermined / original set of meal plans based on dietary information, i.e., the first subset may be the filtered set of original meal plans.
[0036] The first dietary plan subset can be formed based on at least one estimated intake goal, wherein the intake goal can be a standard or recommended intake (e.g., mass, volume, or according to any other measurement method) during a specific period of time (e.g., one day, one week, one month, the entire pregnancy, etc.). For example, before step 102, at least one intake goal for each ingredient (e.g., each food category, each macronutrient, and each micronutrient) can be determined / estimated based on dietary information, wherein each food category, each macronutrient, and each micronutrient can be predetermined. Food categories can include at least one of the following: grains / cereal foods, dairy products, fruits, vegetables, soy products / nuts, sweets / sugar, water, meat, poultry, fish, and other substitutes. Macronutrients can include at least one of the following: energy, fat, protein, carbohydrates, and other macronutrients. Micronutrients may include at least one of the following: calcium, Fe (iron / ferrum), zinc, folic acid, vitamin D, vitamin B12, vitamin B6, vitamin C, vitamin B2, vitamin E, DHA (docosahexaenoic acid), and other micronutrients. For example, the determination of the intake target may be further based on standard nutrient recommendations based on the user's dietary information. The determination of the intake target may be further based on other information, such as the user's biometric information, microbiome information, and / or blood sugar information.
[0037] Each intake target for each food category, each macronutrient, or each micronutrient can be determined based on the obtained dietary information. For example, if the dietary information indicates that the user is pregnant (which can request a daily total energy intake within a specific range), a meal plan within that range has a higher chance of being selected when forming the first subset; if the dietary information indicates that the user is breastfeeding (which can request a daily folate intake within a certain range), a meal plan within that folate intake range has a higher chance of being selected when forming the first subset; and so on. The database can be formed as at least one lookup table that provides a cross-reference between different dietary information and standard intake targets for different ingredients.
[0038] For example, each intake target can be determined by comparing the dietary information to a standard reference database (e.g., a lookup table). For example, the standard reference database associates the average / standard intake for each ingredient (e.g., each food category, each macronutrient, and / or each micronutrient) to specific dietary information. For example, the database can indicate what the average / standard daily energy intake is for a pregnant woman of a specific weight, age, and health condition; what the average / standard vitamin D intake is for an elderly person of a specific age in a day.
[0039] The above-described determination of an intake goal may be omitted in the method, or in addition, may be performed before calculating a score for each meal plan in step 104 or when using an evolutionary algorithm during step 103, which will be discussed later in this document.
[0040] In step 103, a second subset of meal plans is generated from the first subset of meal plans, for example via an evolutionary algorithm or a trained artificial intelligence model. Figure 2 An example of using an evolutionary algorithm is presented in .
[0041] In step 104, a score is calculated for each meal plan in the second subset. The score of the meal plan can be calculated based on at least two score components, wherein the score component can be a component score, a weekly score, a daily score, a gene score, or a preference score. A higher score can be defined as more desirable, or a lower score can be defined as more desirable. For ease of explanation, in the rest of this document, it is assumed that a higher score is more desirable, however, the option of a lower score being more desirable is also implicitly disclosed.
[0042] The ingredient score can be calculated based on at least one of the total food category score, the total macronutrient score, and the total micronutrient score. The total food category score can be the sum of the scores of the individual food categories, and a separate food category score can be calculated based on the amount (mass, volume / or other measurement method) of the food category included in the meal plan and the intake target of the food category, for example, the food category is at least one of grains, cereals, dairy products, fruits, vegetables, soy products, nuts, sweets, water, meat, fish, and substitutes. The total macronutrient score is the sum of the scores of the individual macronutrients, and a separate macronutrient score can be obtained based on the amount (mass, volume / or other measurement method) of the macronutrients included in the meal plan and the intake target of the macronutrients. The total micronutrient score can be the sum of the scores of the individual micronutrients, and a separate micronutrient score can be obtained based on the amount (mass, volume / or other measurement method) of the micronutrients included in the meal plan and the intake target of the micronutrients.
[0043] Intake targets for each food category, each macronutrient, and each micronutrient can be determined based on the dietary information presented above and will not be repeated here. A separate food category score can be based on the determined intake target for the separate food category; a separate macronutrient score can be based on the determined intake target for the separate macronutrient; and a separate micronutrient score can be based on the determined intake target for the separate micronutrient. If the amount (e.g., mass, volume, or according to any other measurement method) of the ingredient contained in the meal plan is closer to the intake target of the ingredient, a higher (e.g., more desirable) separate ingredient score (i.e., for any one of the food category, macronutrient, and micronutrient) can be given to the separate ingredient (i.e., for any one of the food category, macronutrient, and micronutrient). When the amount of the ingredient contained in the meal plan is further away from the intake target of the ingredient, the separate ingredient score is lower (e.g., less desirable). Some examples of how to determine separate ingredient scores are shown below.
[0044] An example of a separate food category scoring table for grain and cereal food intake (g / day) is shown in Table 1. Table 1. Examples of scoring for grains and cereal foods Dietary information and grain and cereal food ratings 1 2 3 2 1 Early pregnancy <200 200-249 250-300 301-350 >350 Second trimester <225 225-274 275-325 326-375 >375 Late pregnancy <250 250-299 300-350 351-400 >400 Lactation <250 250-299 300-350 351-400 >400 Other adults <200 200-249 250-300 301-350 >350
[0045] As shown in Table 1, for women in early pregnancy, if the intake of cereals and grains during the day is less than 200 grams, the cereal and grain food score (as an example of one of the scores for each food category) is 1; if the intake is 200 to 249 grams, the cereal and grain food score is 2; if the intake is 250 to 300 grams, the cereal and grain food score is 3 (based on the determined intake target of cereals and grains, this is the most desirable / healthy); if the intake is 301 to 350 grams, the cereal and grain food score drops to 2 (too much); if the intake is more than 350, the cereal and grain food score is 1. For each food category, such a score can be calculated. In this example table, when the cereal and grain food score is the highest (3), the cereal and grain food intake target (i.e., the standard or recommended daily intake of cereals and grains) according to different dietary information (early pregnancy, second trimester, third trimester, lactation, and other adults) is given in the column.
[0046] An example of a separate macronutrient score table for fat intake (g / day) is shown in Table 2. Table 2. Examples of fat scores Dietary Information and Fat Score 1 2 3 2 1 Preparing for pregnancy <40 40-44 45-55 56-60 >60 Early pregnancy <40 40-44 45-55 56-60 >60 Second trimester <47.2 47.2-52.1 53.1-64.9 65.9-70.8 >70.8 Late pregnancy <50.4 50.4-55.7 56.7-69.3 70.3-75.6 >75.6 Lactation <51.2 51.2-56.6 57.6-70.4 71.4-76.8 >76.8 Other adults <40 40-44 45-55 56-60 >60
[0047] As shown in Table 2, for women in early pregnancy, if the intake of fat during the day is less than 40 grams, the fat score (as an example of one of the individual macronutrient scores) is 1; if the intake is 40 to 44 grams, the fat score is 2; if the intake is 45 to 55 grams, the fat score is 3 (most desirable / healthiest); if the intake is 56 to 60 grams, the fat score drops to 2 (too much); if the intake is more than 60, the fat score is 1. For each macronutrient, such a score can be calculated. In this example table, when the fat score is the highest (3), the fat intake target (i.e., the standard or recommended daily intake of fat) according to different dietary information (pre-pregnancy, early pregnancy, mid-pregnancy, late pregnancy, lactation, and other adults) is given in the column.
[0048] Individual micronutrient scores may be determined in a similar manner as in Tables 1 and 2 for food groups and macronutrients (which will not be repeated here).
[0049] The total food category score may be defined as the average score of at least one of the individual food category scores. For example, if eight different food categories are considered, the food category score = (grains and cereal food score + dairy product score + fruit score + vegetable score + soy products and nuts score + sweet food score + water score + meat, poultry, fish and substitutes) / 8. Alternatively, the total food category score may be defined in other ways, such as the lowest within the individual food category scores or the highest within the individual food category scores or any other way.
[0050] Similarly, the total macronutrient score can be defined as the average score of at least one of the individual macronutrient scores; and the total micronutrient score can be defined as the average score of at least one of the individual micronutrient scores. Alternatively, the total macronutrient (or micronutrient) score can be defined in other ways, such as the lowest within the individual scores or the highest within the individual scores or any other way.
[0051] The composition score (i.e., total composition score) can be calculated according to at least one of the total food category score, the total macronutrient score, and the total micronutrient score. The composition score can be further adjusted to fit a specific measure, for example, with 10 as the highest value. For example, the composition score can be the sum of at least one of the total food category score, the total macronutrient score, and the total micronutrient score. Or after the sum, the value can be further adjusted. For example, if the maximum possible score of the total food category score, the total macronutrient score, and the total micronutrient score is X, Y, and Z and their total score (i.e., the true score) is x, y, and z. The composition score can be calculated as Wi*(x / X+y / Y+z / Z) / 3 or (x / X+y / Y+z / Z) / 3, where Wi is the weight given to the composition score when calculating the score of the meal plan. Other alternatives are also possible.
[0052] The weekly score can be determined according to at least one predetermined weekly rule. The at least one predetermined weekly rule can be determined according to the dietary information, that is, different dietary information can correspond to different weekly rules. If the rule (from the at least one predetermined weekly rule) is met, a separate rule score (e.g., an integer greater than 0) is assigned, otherwise, another separate rule score (e.g., 0) is assigned. The separate rule score can be further based on a predetermined weight for the corresponding rule score. An example of weekly rules and weights for the early pregnancy stage is shown in Table 3 (as an example of dietary information). Table 3. Examples of weekly rules and weights for the first trimester phase. Weekly Rules Index Weekly Rules Weight 1 Eat seafood 2 to 3 times a week 2 2 Eat high-Fe dishes 1 to 2 times a week 3 3 Eat high-iodine dishes twice a week 4 4 Eat high-DHA dishes twice a week 5
[0053] In the above example in Table 3, there are four weekly rules, and each rule has a different rule weight. If only Rule 1 is met, the weekly score (i.e., total) can be calculated as 4*2 / (2+3+4+5)=0.57. For example, if Rw(i) indicates whether the meal plan satisfies Rule i, then when Rw(i)=1, Rule i is met; when Rw(i)=0, Rule i is not met. The weight of each rule can be indicated as Ww(i). The total number of rules is Nw. As an example, the weekly score can be calculated as Nw*sum(Rw(i)*Ww(i)) / sum(Ww(i)).
[0054] The daily score can be based on at least one daily rule related to a daily meal plan; the gene / DNA score can be based on a gene rule related to the dietary requirements according to the user's genes / DNA; the preference score can be based on a preference rule related to the user's dietary preferences. The daily score, gene / DNA score, and preference score can be calculated in the same way as for the weekly score.
[0055] Examples of daily rules, gene rules, and preference rules are shown in Tables 4, 5, and 6, respectively. Table 4. Examples of daily rules and weights for the first trimester phase. Daily Rules Index Daily Rules Weight 1 Green vegetables>=1 time 2 2 Soy products>=1 time 2 3 Iodized salt contains 96 to 144 μg 1 4 Calcium>=1000 1 Table 5. Examples of gene / DNA rules and weights for early pregnancy stages. Gene Rule Index Gene rules Weight 1 High vitamin D requirements 1 2 High vitamin B6 requirement 2 Table 6. Examples of preference rules and weights for early pregnancy stages.
[0056] The daily score can be calculated in the same way as for the weekly score. Here, the rule mentioned is the daily rule. For example, if Rd(i) indicates whether rule i is satisfied, then when Rd(i)=1, rule i is satisfied; when Rd(i)=0, rule i is not satisfied. The weight of each rule can be indicated as Wd(i). The total number of rules is Nd. As an example, the daily score can be calculated as Nd*sum(Rd(i)*Wd(i)) / sum(Wd(i)).
[0057] Gene / DNA score can be calculated in the same way as for weekly score. Here, the rule mentioned is gene rule. For example, if Rg(i) indicates whether rule i is satisfied, then when Rg(i)=1, rule i is satisfied; when Rg(i)=0, rule i is not satisfied. The weight of each rule can be indicated as Wg(i). The total number of rules is Ng. As an example, gene score can be calculated as Ng*sum(Rg(i)*Wg(i)) / sum(Wg(i)). As another example, rs1801133 from the user's gene / DNA information can have one of the types of GG, AG and AA, and different types of folic acid requirements / absorptive capacity are GG>AG>AA, which can be the basis for generating additional gene rules / scores.
[0058] The preference score can be calculated in the same way as for the weekly score. Here, the rule referred to is the preference rule. For example, if Rp(i) indicates whether rule i is satisfied, then when Rp(i)=1, rule i is satisfied; when Rp(i)=0, rule i is not satisfied. The weight of each rule can be indicated as Wp(i). The total number of rules is Np. As an example, the preference score can be calculated as Np*sum(Rp(i)*Wp(i)) / sum(Wp(i)).
[0059] The score of the meal plan can be calculated based on at least two score components, and / or the score components are ingredient scores, weekly scores, daily scores, gene scores, or preference scores. A weight can be assigned to each score component. For example, if the score of score component j is s(j) and the weight of score component j is w(j), then the meal plan score S can be calculated as S=sum(s(j)*w(j)).
[0060] As disclosed above, when calculating the score of a meal plan, a weight value (w(j)) can be used. That is, when calculating the score of a meal plan, a weight value can be assigned to each scoring item. The weight value (w(j)) of the scoring item (j) can be determined by the following operations: determining the priority of the scoring item; assigning initial weight values to the scoring items, assigning initial higher weight values to scoring items with higher priorities; selecting a test subset of meal plans from a predetermined set of meal plans, for example, a portion of all meal plans in the predetermined / original set of meal plans; calculating the score of the scoring item based on the initial weight values assigned to the scoring items; if one or more of the calculated scores meet at least one specific condition, determining that the initial weight value is the final weight value, otherwise, iteratively assigning different initial weight values to the scoring items and selecting a test subset and calculating the score. In Figure 3 An example of a method for determining weight values for different scoring items is shown in FIG.
[0061] In step 301, the priority of the scoring items may be determined. For example, if the scoring items include component scores, weekly scores, daily scores, gene scores, or preference scores, the priority of the scoring items may be determined as component scores>=gene scores>=weekly scores>=daily scores>=preference scores, or another priority order may be determined.
[0062] In step 302, initial weight values may be assigned to the scoring items, for example, a higher initial weight value may be assigned to a scoring item with a higher priority. For example, the initial weight values may be assigned as component score (10)>=gene score (10)>=weekly score (10)>=daily score (10)>=preference score (8), where 10, 10, 10, 10, and 8 are weight values, respectively.
[0063] In step 303, a test subset of meal plans is formed from a predetermined set of meal plans (ie, an original set of meal plans or original meal plans used interchangeably in this document). For example, the total number of meal plans in the test subset may be approximately 100 to 200 meal plans or even more.
[0064] In step 304, the scoring items in each of the meal plans in the test subset can be calculated. Then, the score of each of the meal plans in the test subset can be calculated based on the initial weight values of the scoring items. During the calculation of the scoring items for each test meal plan, some test / predetermined dietary information can be used. The test / predetermined dietary information can be randomly generated or selected from an existing dietary information database according to some predetermined conditions. Alternatively, the test / predetermined dietary information can be the dietary information of the current user (that is, the individual component scores and rule weights are based on the actual dietary information of the current user), so that the weight values are personalized.
[0065] The determined weight values may be further personalized so that the meal plans may be scored more accurately. For example, a test subset may be selected in step 303 based on the dietary information of the current user, for example, in the same manner as when the first meal plan subset is selected in step 102. For example, the test subset may be the same as the first meal plan subset in step 102 or a portion of the first meal plan subset in step 102. In this way, the weight values are further personalized according to the dietary information of the current user.
[0066] In step 305, if one or more of the calculated scores meet at least one specific condition, it is determined that the initial weight value is the final weight value of the score item, otherwise, different initial weight values are iteratively assigned to the score item and the test subset is selected and the score is calculated. For example, the at least one specific condition can be that if the percentage of the scores (e.g., 5, 5.5, 6, 6.5 or other scores) higher than a specific score threshold from all test meal plans is higher than a specific percentage threshold, for example, 50% or other percentages, then the initial weight value can be considered to be good enough and determined to be the final weight value. Another example of a specific condition can be that if the scores of all test meal plans calculated based on the initial weight value have a predetermined error range of a predetermined reference score, for example, these scores are approximately the same as predicted by the corresponding scores given by (multiple) experts based on the meal plan. "Approximately the same" can mean that the score changes in a specific range (e.g., 5% or 10%), and / or the distribution of the percentage of the scores in different score ranges (e.g., score <2, between 2 and 4, between 4 and 8, >8) matches the expert's prediction. The expert here can be a human or an artificial intelligence model trained to score meal plans based on dietary information.
[0067] In step 305, if the specific condition is not met, at least one of the following items is iteratively performed: assigning different initial weight values to the scoring items, selecting a test subset, and calculating the score, that is, iteratively calculating the score based on at least one of the following items: the initial weight value newly assigned to the scoring item; and the newly selected test subset. For example, the initial weight value can be adjusted but still meets the priority order, and then the adjusted initial weight value can be used to calculate the score. The adjustment of the weight value can be iteratively performed until the at least one specific condition is met (that is, the adjusted weight value becomes the final weight value). During each iterative adjustment of the initial weight value, the meal plan test subset can be iteratively reselected, alternatively, the same meal plan test subset can be used until the final weight value is determined. The reselection of the meal plan test subset can be based on the same method as the selection of the test subset in step 303; in addition, the reselected test subset can overlap only partially with the test subset in the previous iteration. The overlapping portion (that is, the overlapping meal plan) can be constrained to the maximum range in the new test subset, for example, a specific percentage of the meal plan should not be included in the previous test subset. The percentage may be 20%, 30%, 40%, 50%, 60%, 70%, 80% and other percentages. For example, if the at least one specific condition is not met, the initial weight value may be adjusted and a new test subset may be reselected, and then the score may be calculated based on the adjusted initial weight value and the new test subset; if the at least one specific condition is not met, the initial weight value may be adjusted and a new test subset may be reselected again, and then the score may be calculated again; the iteration may end when the at least one specific condition is met. In addition, the iteration may also end when the total number of iterations is more than a predefined number (e.g., 20, 50, 100 or even more).
[0068] Back to Figure 1A / 1B, in step 104, the scores of the meal plans in the second subset may be calculated according to the method disclosed above.
[0069] In step 105, the meal plans in the second subset of meal plans are ranked. In addition, a plurality of top-ranked meal plans may be displayed / suggested to the user, for example, the top one, three, or five ranked meal plans may be displayed and / or suggested to the user, with or without corresponding ratings. User input may be received to select one of the top-ranked meal plans. The meal plan from the second subset with the highest rating may be suggested to the user and / or only that meal plan may be output to the user.
[0070] The method may further include the step of replacing at least one of the ranked meal plans, such as Figure 1B As shown in step 106 of . Figure 1B All other steps in Figure 1A . For example, after step 105 of ranking and / or suggesting the second subset of meal plans, a user input may be received, which may be a selection and change of one or more of the meal plans ranked and / or suggested in step 105. The selected one or more meal plans may then be replaced with other meal plans. Alternatively, the method may automatically select the ranked meal plans (and / or elements in the ranked meal plans) to be changed / replaced, for example, based on one or more predetermined conditions. For example, if exactly the same meal plan has been suggested within the last predetermined number of days, the ranked meal plan includes ingredients that are not available for the user or in the current season, or if the user has provided additional input with updated personal preferences or updated health conditions, etc., such meal plans will be suggested to be automatically replaced by the device.
[0071] For example, input may be received from a user to change a first meal plan within the top ranked meal plans, and then a second meal plan may be suggested based on the first meal plan. Additionally or alternatively, a user may be able to select and change one or more elements in the suggested meal plan in step 105. The selected one or more elements may then be replaced with an element. That is, input may be received from a user to change a staple element (e.g., bread) to another staple element (e.g., bread). By replacing the selected element with a different element (but similar), a second meal plan may be formed.
[0072] The second meal plan may be determined based on at least one of the following: one or more properties of the first meal plan (e.g., similarity between the two meal plans), dietary information (e.g., dietary preferences, user pattern data, etc.), some general rules obtained from a group of users (e.g., milk in breakfast can be replaced with fried eggs, bread can be used to replace potatoes, etc.), and meal plans preferred by other similar users (e.g., if two users are determined to be similar, the replacement meal plan may be from another user's preferred meal plan). If the user only chooses to replace one or more elements in the first meal plan, the formation of the second meal plan may be further based on at least the similarity between the at least one element to be replaced and the at least one different element to be replaced and the dietary information. For example, when forming the second meal plan, similar staple food elements may replace each other, or similar dairy products may replace each other.
[0073] For example, the user pattern data in the dietary information may include data on at least one of the user behavior information about the meal plan, which may be used to select the second meal plan as a replacement for the first meal plan. As another example, the dietary preferences in the dietary information may be used to select the second meal plan.
[0074] The similarity between the meal plans may be determined based on at least one of the following: the total weight of the meal, the ingredients included, the ratio of the ingredients, the food category composition, the macro-ingredient composition, the micro-ingredient composition, the total calories, etc.
[0075] In addition, in the step 106 of replacing the first meal plan in the ranked meal plans, the first element in the first meal plan can be replaced with the second element from the element candidate set to form a second meal plan. A similarity score between the two elements can be calculated based on their corresponding nutrition vectors, and among the elements in the element candidate set, the second element can have the highest similarity score with the first element.
[0076] Instead of replacing one (or more) elements, the meal plan may be replaced in its entirety. For example, in step 106, the first meal plan to be replaced may be analyzed, and a further search for a replacement meal plan may be performed in a predetermined set of meal plans, a subset of the first meal plan, or a second meal plan. During the search for the second meal plan, similarities between the meal plans may be analyzed. The meal plan that is most similar to the first meal plan (e.g., having the highest similarity score) is then output as the second meal plan (i.e., the replacement meal plan).
[0077] For example, when determining a similarity score between two meal plans or two elements, an analysis of a first meal plan or element can be performed, which can include obtaining a nutrition vector for each meal plan or element. The nutrition vector can include multiple values, and each value can reflect a nutritional aspect (or dimension) of a meal plan or element. For example, a nutrition vector (of a meal plan or an element of a meal plan) can include a vector containing values reflecting at least one of the following items: food category, various macronutrient compositions (by weight or volume), and various micronutrient compositions (by weight or volume). A preferred example of a nutrition vector can include values from four dimensions, i.e. <total energy, total protein, total fat, total carbohydrates>. These values can be weight, volume, weight percentage, or volume percentage of the corresponding dimensions.
[0078] The similarity between the meal plans (or two elements) can be determined based on a similarity score. The similarity score can be calculated based on the nutrition vectors of the corresponding meal plans (or elements). The similarity score can be between [0, 1], where a larger value can indicate a higher level of similarity. For example, 1 can indicate that the two meal plans (or elements) are identical.
[0079] For example, the similarity score between meal plans (or elements) a and meal plans (or elements) b may be determined based on the nutrition vectors A and B corresponding to meal plans (or elements) a and b, respectively. An example of the calculation may be based on the following equation: Among them, A is 1 , A 2 , …A n >, and B is 1 , B 2 , …B n >. As can be seen from the above equation, it calculates cos(θ), where θ is the angle between vector A and vector B, that is, when θ=0, the two vectors are identical, that is, the highest similarity is 1; when θ=π / 2, the two vectors are orthogonal to each other, that is, the lowest similarity is 0.
[0080] More specifically, in step 106, the replacement can be at the element level, rather than at the meal plan level. For example, when replacing at least one ranked meal plan, a user input can be received to replace one or more elements (i.e., one or more of the first elements) in the meal plan to be replaced (i.e., the first meal plan). Searching for one or more replacement elements is similar to the above-mentioned search for replacing a meal plan. For example, first, each of the elements to be replaced (i.e., the first element) can be analyzed to generate a nutrition vector A, and the candidate replacement elements from the candidate set can be analyzed to generate a nutrition vector B. Then, the similarity score between the element to be replaced and the candidate replacement element can be calculated based on the nutrition vectors A and B in the same manner as shown in the above equation. After all candidate elements are compared with the element to be replaced, the element to be replaced (i.e., the first element) in the meal plan to be replaced (i.e., the first meal plan) is replaced with the most similar candidate element (i.e., the second element that can have the highest similarity score) to generate a replacement meal plan (i.e., the second meal plan).
[0081] exist Figure 1C The above changes to the meal planning step in step 106 are summarized in . In step 106a, user input may be received, and the user input may select one or more first meal plans, and / or select one or more first elements to be replaced from the ranked / suggested meal plans. This step may be omitted because the selection may be automatically performed by the electronic device, for example, the first meal plan and / or the first element may be determined according to at least one predetermined condition, and the predetermined condition may include at least one of the following items: if the same meal plan and / or element has been suggested within the last predetermined number of days, if the ingredients in the meal plan and / or element are not available, or if another user input that conflicts with the meal plan and / or element is received, it will be determined that such meal plan is to be changed / replaced. The other user input may include updated dietary information, which may include at least one of the following items: allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, gender, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and the stage of the user, for example, the stage is pre-pregnancy, pregnancy, puerperium, or lactation.
[0082] The selections may even be randomly determined by the electronic device in order to intentionally vary the suggested meal plans and / or elements.
[0083] In step 106b, a first nutrition vector is obtained for a first dietary plan or a first element. The nutrition vector of a dietary plan or an element may be a vector comprising a plurality of values, and each value may reflect a nutritional aspect (or dimension) of the dietary plan or element. For example, a nutrition vector may be a vector comprising values reflecting at least one of the following items: food category, various macronutrient compositions (by weight or volume), and various micronutrient compositions (by weight or volume). A preferred example of a nutrition vector may be a vector comprising values from four dimensions, i.e. <total energy, total protein, total fat, total carbohydrates>. These values may be weight, volume, weight percentage, or volume percentage of the corresponding dimension.
[0084] The nutrition vector may represent nutrition information of a meal plan or element, which nutrition information may be further used to compare different meal plans or different elements (e.g., obtain a level of similarity between these different meal plans or different elements). The nutrition vector may be predetermined and stored in a memory of the electronic device, or received from an external device.
[0085] In step 106c, a set of candidate meal plans for elements is obtained. The candidate set defines a search space that includes candidates for the second meal plan or element. For example, the candidate set of meal plans may be one of a predetermined meal plan set, a first subset of meal plans, or a second meal plan. The candidate set of elements may be a set of all elements within a predetermined meal plan set, a first subset of meal plans, or one of the second meal plans that are included in an element of the same type (i.e., belonging to the same type as the first element). The element type may be at least one of a breakfast menu, one or more lunch staples, one or more dinner staples, an additional meal menu, one or more lunch dishes, and one or more dinner dishes.
[0086] When the candidate set is prepared in step 106c, some or all of the candidates will be compared with the first dietary plan (or first element) and the most similar candidate will be determined. For example, it may not be necessary to search all candidates because some of these candidates can be screened out according to some predetermined rules (e.g., updated dietary information in additional user input), and the updated dietary information may include at least one of the following items: allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, gender, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and the stage of the user, such as pre-pregnancy, pregnancy, puerperium, or lactation.
[0087] When the candidate meal plan or component is compared with the first meal plan or first component, in step 106d, a candidate nutrient vector of the candidate meal plan or component is obtained.
[0088] In step 106e, each similarity score between each candidate meal plan or element and the first meal plan or element is calculated. The similarity score can be calculated based on the corresponding nutrition vector of the candidate and the nutrition vector of the first meal plan or element. An example of the calculation has been presented above, which will not be repeated here.
[0089] In step 106f, the candidate with the highest similarity score to the first meal plan or first element is selected, i.e., as the second meal plan or second element. If only elements are exchanged (i.e., not the entire first meal plan), the second element may be used to replace the selected element within the first meal plan to form the second meal plan. The user may be notified of the second meal plan.
[0090] In the above-mentioned meal plan changing method, as a preferred embodiment, the recommended / ranked meal plan can be first determined as the first meal plan and then the element to be changed within the meal plan (as the first element) can be determined, wherein in this embodiment, when the second meal plan is formed, only the element is changed to the second element instead of changing the entire first meal plan.
[0091] Figure 1D A method for determining an alternative meal plan is shown. Figure 1C The method in is similar.
[0092] In step 107, a first meal that may include one or more elements is determined. For example, a user may input a meal plan directly into an electronic device, and the user may select a meal plan from the user's computer. Figure 1A and Figure 1B The first meal plan may be selected from the meal plans suggested in (eg, as in step 106a), or the first meal plan may be randomly selected by the device from a set of predetermined meal plans.
[0093] In step 108, a first element in the first meal plan is determined to be replaced. This may be based on a further selection input by the user or a random selection by the device. After the first element is determined, a first nutritional vector for the first element is determined, as in step 106b.
[0094] In steps 107 and 108, the first meal plan and / or first element may be determined based on user input or may be determined based on at least one predetermined condition. The predetermined condition may include at least one of the following: if the same meal plan and / or element has been suggested within the last predetermined number of days, if an ingredient in the meal plan and / or element is unavailable, and if additional user input is received that conflicts with the meal plan and / or element, then it will be determined that such meal plan and / or element is to be replaced (as a second meal plan or second element). Additional user input may include updated dietary information.
[0095] In step 109, a candidate element set is obtained, for example, according to element type (same as in 106d). The element type may be at least one of a breakfast menu, one or more lunch staples, one or more dinner staples, an additional meal menu, one or more lunch dishes, and one or more dinner dishes. When the candidate set is obtained, some predetermined screening may be performed according to the dietary information or updated dietary information.
[0096] In step 110, nutrient vectors for some or all of the candidate elements in the candidate set may be obtained (same as in step 106d).
[0097] In step 111 , a similarity score between the candidate element and the first element may be determined based on their corresponding nutrient vectors (same as in step 106 e ).
[0098] In step 112, the candidate element with the highest similarity score is selected as the second element and may be used to replace the first element in the first meal plan to form a second meal plan (ie, a replacement meal plan) (as in an alternative to step 106f).
[0099] Can be executed iteratively Figure 1C and Figure 1D For example, if the user is still not satisfied with the suggested meal plan, further change input and selection of the first meal plan (and / or the first element) may be received, and such a new second meal plan may be suggested.
[0100] exist Figure 1A In the method of / 1B, step 102 (forming a first subset of meal plans) and / or step 103 (generating a second subset of meal plans) may be iteratively performed until some or all of the meal plans in the second subset of meal plans have a score that is higher than or equal to a second predetermined threshold (i.e., calculated by step 104). For example, the first subset of meal plans and / or the second subset of meal plans may be regenerated until at least some of the meal plans in the second subset are good enough for the user. This ensures that the suggested meal plans are higher than or equal to at least the threshold score.
[0101] If step 102 (forming the first subset of meal plans) and step 103 (generating the second subset of meal plans) are performed for more than a predetermined iteration, step 105 (selecting a meal plan from the second subset of meal plans) may be performed even if none of the meal plans in the second subset of meal plans has a score higher than or equal to a second predetermined threshold. This may avoid endless iterations.
[0102] Figure 2 An example of the evolutionary algorithm when the second subset is generated in step 103 is shown.
[0103] In step 201, an evolving meal plan set may be formed by selecting a number N of first initial meal plans. The N first initial meal plans may be randomly selected from the first meal plan subset, or selected based on certain conditions, such as the most frequently suggested meal plan, the least frequently suggested meal plan, the most popular meal plan based on a survey of users, etc.
[0104] In step 202, a score of each first initial meal plan may be calculated, wherein the score may be represented as Xi for the i-th first initial meal plan. The score calculation method may be as follows: Figure 1A In addition, if one, some or all of the scores of Xi meet the condition that they are equal to or higher than the first predetermined threshold, the first initial meal plan can be directly output as the second subset of the meal plan and the execution of the first initial meal plan may not be performed. Figure 2 in the later steps.
[0105] In step 203, one or more elements can be exchanged between two or more first initial meal plans to form a second initial meal plan. One or more elements in each meal plan can include at least one of the following items: a breakfast menu, one or more lunch staples, one or more dinner staples, an additional meal menu, one or more lunch dishes, and one or more dinner dishes. These elements can be exchanged randomly, for example, the number of meal plans can be randomly determined, and then the random number of elements in these meal plans are exchanged. For example, the lunch staple in the first meal plan is exchanged with the lunch staple in the second meal plan, and the breakfast menu in the third meal plan is exchanged with the breakfast menu in the first meal plan. In this step, a new (i.e., second initial) meal plan is generated based on the previous (i.e., first initial) meal plan.
[0106] In step 204, a score is calculated for each second initial meal plan, wherein a new score can be denoted as Yi for the i-th second initial meal plan. The score calculation method can be the same as that for Figure 1A / 1B and step 104 and step 202 disclosed in the same calculation method. In addition, if one, some or all of the scores of Yi meet the condition that they are equal to or higher than the first predetermined threshold, the second initial meal plan can be directly output as the second subset of the meal plan and the execution of the second initial meal plan may not be performed. Figure 2 Otherwise, if one, some or all of the scores of Yi are below the first predetermined threshold, the later steps may be performed.
[0107] In step 205, the evolved meal plan set is updated by replacing the i-th first initial meal plan in the evolved meal plan set with the i-th second initial meal plan if Yi>=Xi. In this way, higher scoring meal plans can be included in the evolved meal plan set.
[0108] In step 206, steps 202 to 205 are iteratively performed. The iteration may end if the iteration has been performed more than a predetermined number of times and / or until a portion or all of the meal plans in the set of evolved meal plans have a score equal to or higher than a first predetermined threshold. For example, the iteration may end if one of the meal plans has a score equal to or higher than the first predetermined threshold; or the iteration may end only if all of the meal plans have a score equal to or higher than the first predetermined threshold.
[0109] In step 207 , the evolved meal plan set is output as a second meal plan subset.
[0110] about Figure 2 In the method, meal plans with high scores (e.g., based on the user's specific dietary information) are included in the second subset, and at the same time, the meal plans in the second subset have been randomly generated (e.g., through step 203) so that the same meal plan will always be recommended to the same user.
[0111] Figure 4 A device 400 is shown for performing the present invention, such as a mobile phone, tablet computer, laptop computer, desktop computer, smart watch, television, etc.
[0112] The device 400 may include a processor 401 , a display 402 , a communication unit 403 , a memory 405 , a camera 406 , and other input / output units 407 .
[0113] The processor 401 is configured to execute programs / instructions stored in the memory 405 , for example, via controlling other components such as the display 402 , the communication unit 403 , the memory 405 , the camera 406 , and other input / output units 407 .
[0114] The display 402 may be controlled by the processor 401 to perform all display functions (and input functions if the display is a touch screen) in the present invention, such as in step 101 .
[0115] The communication unit 403 can be controlled by the processor 401 to perform all communication functions of the present invention. For example, if the external device 410 (eg, a server) is used to perform Figure 1A / 1B and / or Figure 2 Some functions in the steps of (for example, step 101 may be performed on the user device 400 and the final meal plan suggestion may also be displayed on the user device 400, but may be performed on the external device 410 (for example, the server) Figure 1A / 1B and Figure 2 or all steps may be performed on the user device 400; or a portion of the steps may be performed on the user device 400 and the rest of the steps may be performed on at least one or more external devices 410), the message may be transmitted via the communication unit 403. Optionally, the database used in the present invention may be stored in the external device 410 or the user device 400, for example, a lookup table for component scoring, an original meal plan set, weekly rules, daily rules, gene rules, preference rules, user's dietary information, etc.
[0116] The memory 405 may be configured to store instructions for executing the method of the present invention. For example, a lookup table for component scoring, an original meal plan set, weekly rules, daily rules, gene rules, preference rules, a user's dietary information or other necessary information may also be stored in the memory 405. The device may provide at least one entry for the user to check / overview these data.
[0117] The camera 406 is configured to capture images, which is optional in the present invention.
[0118] The other input / output unit 407 may be configured to perform other input / output functions of the present invention, for example, to receive user input of dietary information and output a suggested meal plan to the user.
[0119] In the present invention, a device (e.g., Figure 4 ) or method (e.g., Figure 1A / 1B, Figure 2 and / or Figure 3 At least a portion of the algorithm (as a computer-implemented algorithm) may be implemented as instructions stored in a non-transitory computer-readable storage medium, for example, in the form of a program module, software, mobile application, and / or other form. The instructions, when executed by a processor (e.g., processor 401), may enable the processor to perform corresponding functions according to the present invention. The non-transitory computer-readable storage medium may be memory 405.
[0120] The present invention includes a method performed by an electronic device for suggesting a meal plan, the method comprising: obtaining dietary information of a user; forming a first meal plan subset from a predetermined meal plan set based on the dietary information; generating a second meal plan subset from the first meal plan subset via an evolutionary algorithm; calculating a score for each meal plan in the second meal plan subset; and ranking the meal plans in the second meal plan subset, wherein the score for each meal plan is calculated based on the dietary information and one or more elements included in each meal plan.
[0121] The above method may further include: displaying a number of top-ranked meal plans and / or receiving input from a user to select a meal plan from the displayed meal plans; or suggesting a meal plan with a highest rating from the second subset of meal plans.
[0122] The above method may further include: receiving input from a user to change a first meal plan within a top-ranked meal plan, and suggesting a second meal plan based on the first meal plan; or receiving input from a user to change at least one element in the first meal plan, and replacing the at least one element in the first meal plan with at least one different element to form a second meal plan.
[0123] In the above method, the suggestion of the second meal plan can be further based at least on the similarity between the first meal plan and the second meal plan and the dietary information, and / or the formation of the second meal plan can be further based at least on the similarity between the at least one element to be replaced and the at least one different element and the dietary information.
[0124] The above method may further include: determining at least one intake target for each food category, each macronutrient and / or each micronutrient based on the dietary information, wherein each food category, each macronutrient and each micronutrient is predetermined.
[0125] In the above method, the one or more elements in each meal plan may include at least one of the following: a breakfast menu, one or more lunch main meals, one or more dinner main meals, an additional meal menu, one or more lunch dishes, and one or more dinner dishes.
[0126] In the above method, the dietary information may include at least one of the following items: allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, gender, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information and the stage of the user, such as the pre-pregnancy, pregnancy, postpartum period or lactation period.
[0127] In the above method, the gene / DNA information of rs1801133 may include types of GG, AG, and AA, and the different types of folic acid requirements are GG>AG>AA.
[0128] In the above method, the forming of the first subset of meal plans may include removing zero, one or more meal plans including allergens and / or restricted ingredients from the predetermined set of meal plans, and / or removing meal plans from the predetermined set of meal plans that may have ingredients other than existing meal ingredients.
[0129] In the above method, the evolutionary algorithm may include: a. Forming an evolutionary meal plan set by selecting a number N of first initial meal plans; b. Calculate the score of each first initial meal plan, the score of the i-th first initial meal plan is Xi; c. exchanging one or more elements between two or more first initial meal plans to form a second initial meal plan; d. Calculate the score of each second initial meal plan, the score of the i-th second initial meal plan is Yi; e. updating the evolutionary meal plan set by replacing the i-th first initial meal plan in the evolutionary meal plan set with the i-th second initial meal plan if Yi>=Xi; f. performing steps b to e for a predetermined iteration and / or until a portion or all of the meal plans in the set of evolved meal plans have a score equal to or higher than a first predetermined threshold; g. Output the evolved meal plan set as the second meal plan subset.
[0130] In the above method, if the score Xi of one, some or all of the first initial meal plans is equal to or higher than the first predetermined threshold, the N first initial meal plans may be output as the second meal plan subset, and steps c to g are not performed.
[0131] In the above method, if the score Yi of one, some or all of the second initial meal plans is equal to or higher than the first predetermined threshold, the N second initial meal plans may be output as the second meal plan subset, and steps f and g are not performed.
[0132] In the above method, steps e to g may be performed only if the scores Yi of one, some or all of the second initial meal plans are below a first predetermined threshold.
[0133] In the above method, the forming of the first meal plan subset and the generating of the second meal plan subset may be performed iteratively until a portion or all of the meal plans in the second meal plan subset have a score higher than or equal to a second predetermined threshold.
[0134] In the above method, if the forming of the first subset of meal plans and the generating of the second subset of meal plans can be performed for more than predetermined iterations, selecting a meal plan from the second subset of meal plans can be performed even if none of the meal plans in the second subset of meal plans has a score higher than or equal to a second predetermined threshold.
[0135] In the above method, the score of the dietary plan may be calculated based on at least two score components, and / or the score components are ingredient scores, weekly scores, daily scores, genetic scores, or preference scores.
[0136] In the above method, the ingredient score can be calculated based on at least one of the total food category score, the total macronutrient score and the total micronutrient score, and / or the total food category score can be the sum of the individual food category scores, and a separate food category score can be calculated based on the quality of the food category included in the meal plan and the intake target of the food category, for example, the food category is at least one of grains, cereal foods, dairy products, fruits, vegetables, soy products, nuts, sweets, water, meat, fish and substitutes, the total macronutrient score can be the sum of the individual macronutrient scores, and a separate macronutrient score can be obtained based on the quality of the macronutrients included in the meal plan and the intake target of the macronutrients, and / or the total micronutrient score can be the sum of the individual micronutrient scores, and a separate micronutrient score can be obtained based on the quality of the micronutrients included in the meal plan and the intake target of the micronutrients.
[0137] In the above method, the weekly rating may be based on weekly rules related to meal planning during the week.
[0138] In the above method, the daily score may be based on daily rules related to the daily meal plan.
[0139] In the above method, the gene score may be based on a gene rule related to a dietary requirement according to the user's genes.
[0140] In the above method, the preference score may be based on a preference rule related to the user's dietary preferences.
[0141] In the above method, when calculating the score of the meal plan, a weight value may be assigned to each score item.
[0142] In the above method, the weight value of the scoring item can be determined by the following operations: Determine the priority of scoring items; Assigning initial weight values to the scoring items, assigning initial higher weight values to the scoring items with higher priorities; selecting a test subset of meal plans from the set of predetermined meal plans, e.g., a portion of all meal plans in the set of predetermined meal plans; Calculating a score for a rating item based on the initial weight value assigned to the rating item; If one or more of the calculated scores meet at least one specific condition, the initial weight value is determined to be the final weight value, otherwise, the scores are iteratively calculated based on at least one of the following items: assigning different initial weight values to the score items; and selecting a test subset.
[0143] In the above method, at least one specific condition may include at least one of the following items: the percentage of the calculated score above a specific score threshold is higher than the specific percentage threshold; and the calculated score calculated based on the initial weight value has a predetermined error range of a predetermined reference score.
[0144] In the above method, determination of the intake target may be further based on standard nutrient recommendations according to the user's dietary information.
[0145] In the above method, the determination of the intake target may be further based on the user's biometric information, microbiome information, and / or blood glucose information.
[0146] The present invention may include an apparatus including at least one processor, wherein the at least one processor is configured to perform the above method.
[0147] The present invention may include a storage medium storing computer instructions, wherein the instructions are configured to control at least one processor to execute the above method.
[0148] The present invention may include a method performed by an electronic device for suggesting a meal plan, the method comprising: determining a first element in a first meal plan to be replaced and a first nutritional vector of the first element; obtaining a set of candidate elements; obtaining candidate nutritional vectors for some or all of the candidate elements in the candidate set; determining each similarity score based on each obtained candidate nutritional vector and the first nutritional vector; obtaining a second meal plan based on a second element having a highest similarity score, wherein the first element in the first meal plan is replaced with the second element to form the second meal plan.
[0149] The method may further include displaying a number of meal plans and / or receiving input from a user to select a first meal plan from the displayed meal plans.
[0150] More than one first element in the first meal plan may be replaced with more than one second element, respectively.
[0151] The first meal plan and / or the first element may be determined according to a user input, or may be determined according to at least one predetermined condition.
[0152] The predetermined conditions may include at least one of the following: if the same meal plan and / or element has been suggested within the most recent predetermined number of days, determining the same meal plan and / or element as the first meal plan and / or element; if the meal plan and / or element includes an unavailable ingredient, determining the meal plan and / or element as the first meal plan and / or element; and if additional user input is received that conflicts with the meal plan and / or element, determining the meal plan and / or element as the first meal plan and / or element, wherein the additional user input may include updated dietary information.
[0153] The similarity score between two features can be calculated based on the following equation: Among them, A and B are the nutritional vectors of the two elements, A is 1 , A 2 , …A n >, B is 1 , B 2 , …B n >, and S is the similarity score.
[0154] The nutrition vector for an element may include four values representing the total energy, total protein, total fat, and total carbohydrates in the element by weight or volume.
[0155] Elements in a meal plan can be one of the following: a breakfast menu, one or more lunch main dishes, one or more dinner main dishes, an additional meal menu, one or more lunch dishes, and one or more dinner dishes.
[0156] Dietary information may include at least one of the following: allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, gender, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and the stage of the user, such as pre-pregnancy, pregnancy, postpartum period, or lactation.
[0157] The gene / DNA information of rs1801133 may include types of GG, AG, and AA, and the different types of folic acid requirements are GG>AG>AA.
[0158] The present invention may include an apparatus including at least one processor, wherein the at least one processor is configured to perform any of the above methods.
[0159] The present invention may include a storage medium storing computer instructions, wherein the instructions are configured to control at least one processor to perform any of the above methods.
Claims
1. A method for suggesting a meal plan performed by an electronic device, the method comprising: determining a first element of a first dietary plan to be replaced and a first nutrient vector for the first element, Get the candidate feature set, Get the candidate nutrient vectors for some or all candidate elements in the candidate set, determining each similarity score based on each obtained candidate nutrient vector and the first nutrient vector, obtaining a second meal plan based on a second factor having a highest similarity score, in, The first element in the first meal plan is replaced with the second element to form the second meal plan.
2. The method of claim 1, further comprising displaying a number of meal plans and / or receiving input from a user to select the first meal plan from among the displayed meal plans.
3. A method according to any one of the preceding claims, in, More than one first element in the first meal plan is replaced with more than one second element respectively.
4. A method as claimed in any one of the preceding claims, in, The first meal plan and / or the first element are determined according to user input, or according to at least one predetermined condition.
5. The method according to claim 4, in, The predetermined condition includes at least one of the following: if the same meal plan and / or element has been suggested within the last predetermined number of days, determining the same meal plan and / or element as the first meal plan and / or element; if the meal plan and / or element includes an unavailable ingredient, determining the meal plan and / or element as the first meal plan and / or element; and if further user input is received that conflicts with the meal plan and / or element, determining the meal plan and / or element as the first meal plan and / or element, wherein the further user input includes updated dietary information.
6. A method as claimed in any one of the preceding claims, in, The similarity score between two features is calculated based on the following equation: Among them, A and B are the nutritional vectors of the two elements, A is 1 , A 2 , …A n >, B is 1 , B 2 , …B n >, and S is the similarity score. 7. A method as claimed in any one of the preceding claims, in, The nutrient vector for an element includes four values representing the total energy, total protein, total fat, and total carbohydrates in the element by weight or volume.
8. A method as claimed in any one of the preceding claims, in, An element in a meal plan is one of the following: a breakfast menu, one or more lunch main dishes, one or more dinner main dishes, an additional meal menu, one or more lunch dishes, and one or more dinner dishes.
9. A method as claimed in any one of the preceding claims, in, The dietary information includes at least one of the following items: allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, gender, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and the stage of the user, such as pre-pregnancy, pregnancy, postpartum period or lactation.
10. The method according to claim 10, in, The gene / DNA information of rs1801133 includes types of GG, AG, and AA, and the different types of folic acid requirements are GG>AG>AA.
11. A device comprising at least one processor, in, The at least one processor is configured to perform any one of claims 1 to 10.
12. A storage medium storing computer instructions, in, The instructions are configured to control at least one processor to perform any one of claims 1 to 10.