Method, apparatus and computer-implemented algorithm for generating meal plans
A computer-implemented algorithm generates personalized meal plans by integrating user data and scoring meal plans to meet nutritional goals, addressing the lack of personalization in existing systems and ensuring balanced dietary intake for various user groups.
Patent Information
- Application Number
- JP2025517452
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-22
- Filing Date
- 2023-09-22
- Publication Date
- 2025-09-11
AI Technical Summary
Existing meal planning systems fail to optimize and personalize nutritional intake based on user preferences, health conditions, and dietary requirements, particularly for vulnerable groups such as pregnant women, lactating women, and elderly individuals.
A method and apparatus utilizing a computer-implemented algorithm to generate personalized meal plans by integrating user dietary information, preferences, and health conditions, employing an evolutionary algorithm to score meal plans based on nutritional goals and user-specific rules, and allowing for user input to modify or replace suggested meal plans.
The system effectively generates optimized meal plans that meet individual nutritional needs and preferences, ensuring balanced and healthy dietary intake for diverse user groups.
Smart Images

Figure 2025530482000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method, apparatus and computer-implemented algorithm for generating a meal plan. [Background technology]
[0002] Nutrition is a vital driver of human health and well-being and is usually obtained through a person's intake of food (including beverages). For certain groups of people, nutritional intake is very important, especially for pregnant or lactating women, people with nutrition-related diseases (e.g., diabetes), and elderly / elderly people with special nutritional needs. Therefore, it is very important to control / personalize nutritional intake according to the different circumstances of each targeted person. Summary of the Invention [Problem to be solved by the invention]
[0003] The present invention provides a method, apparatus and computer-implemented algorithm for generating meal plans that aims to optimize and personalize nutritional intake while taking into account user preferences.
[0004] The present invention also provides a method for finding alternative meal plans to an existing meal plan. [Means for solving the problem]
[0005] The present invention relates to a method, apparatus and computer implemented algorithm / method for meal plan generation.
[0006] The present invention aims to provide a user with a personalized meal plan.
[0007] The invention is defined by the claims.
[0008] The present invention will be discussed in more detail below with reference to the accompanying drawings. [Brief explanation of the drawings]
[0009] [Figure 1A] Here's how to generate a meal plan. [Figure 1B] Here's how to generate a meal plan. [Figure 1C] Show how to modify the suggested meal plan. [Figure 1D] Show how to determine an alternative meal plan. [Figure 2] An example of an evolutionary algorithm for generating a second subset is shown below. [Figure 3] An example of determining a weight value is shown below. [Figure 4] 1 shows an apparatus configured to perform some or all of the steps of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0010] Embodiments of the present disclosure are described herein below with reference to the accompanying drawings. However, the embodiments of the present disclosure are not limited to the particular embodiments, but should be construed to encompass all modifications, variations, equivalent devices and methods, and / or alternative embodiments of the present disclosure.
[0011] As used herein, the terms "have," "may have," "include," and "may include" indicate the presence of the corresponding feature (e.g., a value, function, operation, or element such as a part) and do not exclude the presence of additional features.
[0012] As used herein, the terms "A or B," "at least one of A and / or B," or "one or more of A and / or B" include all possible combinations of the items listed therewith. For example, "A or B," "at least one of A and B," or "at least one of A or B" means (1) the inclusion of at least one A, (2) the inclusion of at least one B, or (3) the inclusion of both at least one A and at least one B.
[0013] As used herein, terms such as "first" and "second" may modify various elements and not limit the corresponding elements, regardless of the order and / or importance of 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 refer to different printed forms, regardless of the order or importance. For example, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element, without departing from the scope of the present invention.
[0014] When an element (e.g., a first element) is "operably or communicatively coupled" or "connected" to another element (e.g., a second element), it will be understood that the element may be directly coupled to the other element, or that there may be intervening elements (e.g., third elements) between the element and the other element. Conversely, when an element (e.g., a first element) is "directly coupled" or "directly connected" to another element (e.g., a second element), it will be understood that there are no intervening elements (e.g., third elements) between the element and the other element.
[0015] As used herein, the phrase "configured to" may be used synonymously with "suitable for," "capable of," "designed to," "adapted to," "made to," or "capable of," depending on the context. The term "configured to" does not necessarily mean "specifically designed to" at the hardware level. Instead, the phrase "apparatus configured to" may mean "capable of" in conjunction with other devices or parts in certain circumstances.
[0016] The terms used in describing various embodiments of the present disclosure are intended to describe particular embodiments and are not intended to limit the present disclosure. As used herein, the singular is intended to encompass the plural as well, unless the context clearly dictates otherwise. All terms used herein, including technical or scientific terms, have the same meaning as commonly understood by those skilled in the art, unless otherwise defined. Terms defined in commonly used dictionaries should be interpreted as having the same or similar meaning as in the context of the relevant art, and should not be interpreted as having an ideal or exaggerated meaning unless expressly defined herein. Depending on the context, terms defined in the present disclosure should not be interpreted as excluding embodiments of the present disclosure.
[0017] The present invention provides a method, apparatus, and computer-implemented algorithm for generating a meal plan, which aims to optimize and personalize nutritional intake while taking into account user preferences. Target users / people may be pregnant women, pregnant women with diabetes, men, infants, children, the elderly, or any other person. For example, the meal plan generation method may be targeted to women at different stages of pregnancy, e.g., preparing for pregnancy, being pregnant, recovering from childbirth, or breastfeeding, as these women may have different lifestyles, personal food preferences, and health conditions that require personalized nutrition.
[0018] FIG. 1A illustrates the meal plan generation method.
[0019] In step 101, dietary information of a user is obtained. The dietary information may include any information related to the user's diet, such as allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, sex, activity level, location information, dietary preferences, user pattern data, dietary history, family history information, and at least one of the user's stage, such as pre-pregnancy, pregnancy, postpartum, or lactation. The dietary information may further include other information, such as health conditions, diseases, body mass index (BMI), age, etc.
[0020] The user pattern data may include user behavior information regarding meal plans, such as at least one of data of recently selected (or saved, searched, commented on, viewed for longer than a predetermined period of time, etc.) meal plans or ingredients. The user pattern data may further include other user data when the user uses the method to obtain meal plan suggestions, such as when using an application / software implementing the method.
[0021] The location information can be the user's current location or previous locations, such as the place of birth, the place where the user spent the longest time in the past, etc.
[0022] Family history information may be information related to the user's family, such as family medical history, family weight, family dietary preferences, and the like.
[0023] The user's user weight data may include the user's current weight, the user's weight change data over a past period, user weight change data related to a meal plan, etc. The user weight change data can be very important because it gives hints about the dynamic changes in the body / weight so that a meal plan can be suggested / scored. For example, a user who is losing weight too quickly may not be healthy, and therefore the suggested diet may temporarily include more energy / calories, or a user who is gaining weight very quickly may not be healthy, and therefore the suggested diet should reduce calories slowly rather than suddenly dropping calories.
[0024] Dietary information may be obtained via at least one of the following methods: for example, by questioning (e.g., on a smartphone / tablet), from an existing database (e.g., authorized medical records, recorded dietary history, etc.), via a specific device (e.g., via a smart scale to capture the user's weight, via a device with a camera to estimate the user's BMI), or in any other way.
[0025] A first subset of meal plans is formed / generated based on the user's acquired dietary information in step 102. The first subset of meal plans includes at least one meal plan.
[0026] A meal plan may be a plan that includes at least one element. For example, an element may be a collection of different foods based on one or more food recipes (e.g., for one or more dishes) (the term "food" in this document includes both solid and mushy foods, colloids, liquids / solutions, and beverages). As another example, the one or more elements in each meal plan may include at least one of a breakfast menu, one or more staple dishes for lunch, one or more staple dishes for dinner, an additional meal menu, one or more dishes for lunch, and one or more dishes for dinner.
[0027] The first subset of meal plans may be formed by meal plans selected from an original set of meal plans (i.e., original meal plans or predetermined meal plan set, used interchangeably in this document). The original set of meal plans may be an original collection of all meal plans stored in a database (either internal or external to the device containing the application / software implementing the method). For example, the first subset of meal plans may be selected from the original set directly for dietary information, e.g., via an artificial intelligence model. Alternatively, the first subset of meal plans may be selected based on certain conditions, e.g., if the dietary information indicates that the user is elderly, meal plans with liquid / soft foods are likely to be selected; if the dietary information indicates that the user likes spicy foods, meal plans with spicy flavors are likely to be selected; if the dietary information indicates that the user has not consumed any dairy foods in the last week, meal plans with cheese and milk are likely to be selected; if the dietary information indicates that the user has a seafood allergy, meal plans with seafood are not selected. Please note that the above conditions are examples only and do not limit the scope of the present invention.
[0028] 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 contain allergens and / or restricted ingredients (based on the dietary information) and / or removing meal plans that contain ingredients other than existing meal preparation ingredients (i.e., the suggested meal plans may be limited to meal plans that can be prepared based on ingredients present in the user's household), 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, forming the first subset of meal plans may be by removing zero, one, or more meal plans that contain allergens and / or restricted ingredients according to the dietary information from the predetermined / original set of meal plans and / or removing meal plans that contain ingredients other than existing meal preparation ingredients, i.e., the first subset may be the set after filtering the original meal plans.
[0029] The first subset of meal plans may be formed based on at least one estimated intake goal, which may be a standard or recommended intake amount (e.g., by mass, volume, or any other measurement method) for a specific period (e.g., day, week, month, entire pregnancy, etc.). For example, prior to step 102, at least one intake goal for each ingredient, e.g., each food category, each macronutrient, and each micronutrient, may be determined / estimated according to dietary information, and each food category, each macronutrient, and each micronutrient may be predetermined. The food categories may include at least one of grains / cereals, dairy foods, fruits, vegetables, soy products / nuts, sweeteners / sugars, water, meat, poultry, fish, and other substitutes. The macronutrients may include at least one of energy, fat, protein, carbohydrates, and other macronutrients. The micronutrients may include at least one of 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, determining the intake target may be further based on standard nutrition recommendations according to the user's dietary information. Determining the intake target may be further based on other information, such as the user's biometric information, microbiome information, and / or blood glucose information.
[0030] The intake target of each food category, each macronutrient, or each micronutrient can be determined according to the acquired dietary information. For example, if the dietary information indicates that the user is pregnant and may require a total energy intake per day within a certain range, a meal plan within this range is more likely to be selected when forming the first subset; if the dietary information indicates that the user is breastfeeding and may require a daily folic acid intake within a range, a meal plan within this folic acid intake range is more likely to be selected when forming the first subset, etc. The database can be formed as at least one lookup table that provides cross-references between different dietary information and standard intake targets of different ingredients.
[0031] For example, each intake goal may be determined by comparing dietary information to a normative reference database (e.g., a lookup table). For example, the normative reference database links the average / standard intake of each ingredient (e.g., each food category, each macronutrient, and / or each micronutrient) to specific dietary information. For example, the database may indicate the average / standard daily energy intake of pregnant women of a particular weight, age, and health status; the average / standard daily vitamin D intake of elderly people of a particular age;
[0032] The above determination of intake targets may be omitted in the method or may additionally be performed before calculating the score for each meal plan in step 104 or during step 103 when using an evolutionary algorithm, as discussed later in this document.
[0033] 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, in step 103. An example of using an evolutionary algorithm is presented below in FIG.
[0034] In step 104, a score is calculated for each meal plan in the second subset. The meal plan score may be calculated based on at least two score portions, which may be an ingredient score, a week score, a day score, a gene score, or a preference score. A higher score may be defined as more desirable, or a lower score may be defined as more desirable. For illustrative purposes, the remainder of this document will assume that a higher score is more desirable, although the option of a lower score being more desirable is implicitly disclosed.
[0035] The ingredient score may be calculated based on at least one of a total food category score, a total macronutrient score, and a total micronutrient score. The total food category score may be the sum of the individual food category scores, and the individual food category score may be calculated according to the amount (mass, volume, and / or other measurement) of the food category included in the meal plan and the intake target of the food category, for example, the food category may be at least one of grains, cereals, dairy foods, fruits, vegetables, soy products, nuts, sweets, water, meat, fish, and substitutes. The total macronutrient score may be the sum of the individual macronutrient scores, and the individual macronutrient score may be obtained according to the amount (mass, volume, and / or other measurement) of the macronutrient included in the meal plan and the intake target of the macronutrient. The total micronutrient score may be the sum of the individual micronutrient scores, and the individual micronutrient score may be obtained according to the amount (mass, volume, and / or other measurement) of the micronutrient included in the meal plan and the intake target of the micronutrient.
[0036] The intake targets for each food category, each macronutrient, and each micronutrient may be determined according to dietary information, which has been presented above and will not be repeated here. An individual food category score may be based on the determined intake target for that individual food category, an individual macronutrient score may be based on the determined intake target for that individual macronutrient, and an individual micronutrient score may be based on the determined intake target for that individual micronutrient. The closer the amount (e.g., by mass, volume, or any other measurement method) of an ingredient included in a meal plan is to the intake target for that ingredient, the higher (e.g., desirable) individual ingredient score (i.e., for any of the food category, macronutrient, and micronutrient) may be given to that individual ingredient (i.e., for any of the food category, macronutrient, and micronutrient). The further the amount of an ingredient included in a meal plan is from the intake target for that ingredient, the lower the individual ingredient score (e.g., less desirable). Some examples of how individual ingredient scores may be determined are provided below.
[0037] An example of an individual food category score table for grain and cereal intake (g / day) is shown in Table 1.
[0038] [Table 1]
[0039] As shown in Table 1, for women in the first trimester of pregnancy, if daily grain and cereal intake is less than 200 grams, the grain and cereal score (as an example of one of the individual food category scores) is 1; if 200-249 grams, the grain and cereal score is 2; if 250-300 grams, the grain and cereal score is 3 (most desirable / healthy according to the intake goals determined for grains and cereals); if 301-350 grams, the grain and cereal score drops to 2 (already too much); and if over 350 grams, the grain and cereal score is 1. Such scores can be calculated for each food category. In this example table, grain and cereal intake goals (i.e., standard or recommended daily grain and cereal intake) according to different dietary information (first trimester, second trimester, third trimester, lactation phase, and other adults) are given in the column where the grain and cereal score is highest (3).
[0040] An example of an individual macronutrient score table for fat intake (g / day) is shown in Table 2.
[0041] [Table 2]
[0042] As shown in Table 2, for a woman in early pregnancy, if daily fat intake is less than 40 grams, the fat score (as an example of one of the individual macronutrient scores) is 1; if 40-44 grams, the fat score is 2; if 45-55 grams, the fat score is 3 (most desirable / healthy); if 56-60 grams, the fat score drops to 2 (already too much); and if above 60 grams, the fat score is 1. Such scores can be calculated for each macronutrient. In this example table, fat intake goals (i.e., standard or recommended daily fat intake) according to different dietary information (pre-pregnancy, first trimester, second trimester, third trimester, lactation, and other adults) are given in the column with the highest fat score (3).
[0043] Individual micronutrient scores can be determined similarly to Tables 1 and 2 for food categories and macronutrients and will not be repeated here.
[0044] 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, then food category score = (grains and cereals score + dairy foods score + fruits score + vegetables score + soy products and nuts score + sweets 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 score among the individual food category scores or the highest score among the individual food category scores, or any other way.
[0045] Similarly, the total macronutrient score may be defined as the average score of at least one of the individual macronutrient scores, and the total micronutrient score may be defined as the average score of at least one of the individual micronutrient scores. Alternatively, the total macronutrient (or micronutrient) score may be defined in other ways, such as the lowest score among the individual scores or the highest score among the individual scores, or any other way.
[0046] The ingredient score (i.e., total ingredient score) may be calculated according to at least one of the total food category score, the total macronutrient score, and the total micronutrient score. The ingredient score may be further adjusted to fit a specific scale, for example, with 10 as the maximum. For example, the ingredient score may 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 may be further adjusted. For example, if the maximum possible scores of the total food category score, the total macronutrient score, and the total micronutrient score are X, Y, and Z, and their total scores (i.e., actual scores) are x, y, and z. The ingredient score may be calculated by Wi * It can be calculated as (x / X+y / Y+z / Z) / 3 or (x / X+y / Y+z / Z) / 3, where Wi is the weight given to the ingredient score when calculating the meal plan score. Other alternatives are possible.
[0047] The week score may be determined according to at least one predetermined week rule. The at least one predetermined week rule may be determined according to dietary information, i.e., different dietary information may correspond to different week rules. If a rule (from the at least one predetermined week rule) is met, an individual rule score (e.g., an integer greater than 0) is assigned; otherwise, another individual rule score (e.g., 0) is assigned. The individual rule score may further be subject to a predetermined weight for the corresponding rule score. An example of the weight for the week rule and the early pregnancy stage (as an example of dietary information) is shown in Table 3.
[0048] [Table 3]
[0049] In the above example of Table 3, there are four weekly rules, each with a different rule weight. If only rule 1 is satisfied, the weekly score (i.e., total score) will be 4. *It can be calculated as 2(2+3+4+5)=0.57. For example, if Rw(i) indicates whether rule i is satisfied by the meal plan, when Rw(i)=1, rule i is satisfied; when Rw(i)=0, rule i is not satisfied. The weight of each rule can be denoted as Ww(i). The total number of rules is Nw. As an example, the weekly score is Nw * sum(Rw(i) * It can be calculated as Ww(i) / sum(Ww(i)).
[0050] The day score may be based on at least one day rule related to a daily meal plan, the gene / DNA score may be based on gene rules related to dietary requirements according to the user's genes / DNA, and the preference score may be based on preference rules related to the user's dietary preferences. The day score, gene / DNA score, and preference score may be calculated in the same way as the week score.
[0051] Examples of day rules, gene rules, and preference rules are shown in Tables 4, 5, and 6, respectively.
[0052] [Table 4]
[0053] [Table 5]
[0054] [Table 6]
[0055] The day score can be calculated in the same way as the week score. The rules referred to here are day rules. 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 denoted as Wd(i). The total number of rules is Nd. As an example, the day score is Nd * sum(Rd(i)* It can be calculated as Wd(i) / sum(Wd(i)).
[0056] The gene / DNA score can be calculated in the same way as the week score. The rules referred to here are gene rules. 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 denoted as Wg(i). The total number of rules is Ng. As an example, the gene score is calculated as Ng * sum(Rg(i) * As another example, rs1801133 from the user's genetic / DNA information may have one of the types GG, AG, and AA, and the folate need / absorption capacity for different types is GG>AG>AA, which may be the basis for generating additional genetic rules / scores.
[0057] The preference score can be calculated in the same way as the week score. The rules referred to here are preference rules. 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 denoted as Wp(i). The total number of rules is Np. As an example, the preference score is calculated as Np * sum(Rp(i) * It can be calculated as Wp(i) / sum(Wp(i)).
[0058] The score of a meal plan may be calculated based on at least two score portions, and / or the score portions may be an ingredient score, a week score, a day score, a gene score, or a preference score. A weight may be assigned to each of the score portions. For example, if the score of score portion j is s(j) and the weight of score portion j is w(j), then the meal plan score S is S=sum(s(j) * w(j)).
[0059] As previously disclosed, weight values (w(j)) may be used when calculating the score of a meal plan. That is, when calculating the score of a meal plan, a weight value may be assigned to each score portion. The weight value (w(j)) of score portion (j) may be determined by: determining the priority of the score portion; assigning initial weight values to the score portion, where higher priority score portions are assigned higher initial weight values; selecting a test subset of meal plans from a predetermined meal plan set, e.g., a portion of all meal plans in the predetermined / original meal plan set; calculating the scores of the score portion based on the initial weight values assigned to the score portion; and 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 score portion, selecting a test subset, and calculating the score. An example of how to determine the weight values of different score portions is shown in FIG. 3.
[0060] In step 301, a priority of the score portions may be determined. For example, if the score portions include an ingredient score, a week score, a day score, a gene score, or a preference score, the priority of the score portions may be determined as ingredient score>=gene score>=week score>=day score>=preference score, or another priority order may be determined.
[0061] In step 302, initial weights may be assigned to the score portions, e.g., higher priority score portions are assigned higher initial weights. For example, initial weights may be assigned as follows: Ingredient Score (10) >= Gene Score (10) >= Weekly Score (10) >= Daily Score (10) >= Preference Score (8), where 10, 10, 10, 10, and 8 are weights, respectively.
[0062] In step 303, a test subset of meal plans is formed from the given set of meal plans (i.e., the original set of meal plans or the original meal plans, which are used interchangeably herein). For example, the total number of meal plans in the test subset can be about 100-200 meal plans or more.
[0063] In step 304, a score portion in each meal plan in the test subset may be calculated. Then, a score for each meal plan in the test subset may be calculated based on the initial weight value of the score portion. During the calculation of the score portion of each test meal plan, some test / predetermined dietary information may be used. The test / predetermined dietary information may be randomly generated or selected from an existing dietary information database according to some predetermined conditions. During the calculation of the score portion of each test meal plan, some test / predetermined dietary information may be used. The test / predetermined dietary information may be randomly generated or selected from an existing dietary information database according to some predetermined conditions. Alternatively, the test / predetermined dietary information may be the dietary information of the current user so that the weight values are personalized (i.e., individual ingredient scores and rule weights are based on the current user's actual dietary information).
[0064] The determined weight values can be further personalized so that the meal plans can be scored more accurately. For example, the test subset can be selected in step 303 based on the current user's dietary information, e.g., in the same way as when selecting the first subset of meal plans in step 102. For example, the test subset can be the same as the first subset of meal plans in step 102 or a part of the first subset of meal plans in step 102. In this way, the weight values are further personalized according to the current user's dietary information.
[0065] In step 305, if one or more of the calculated scores satisfy at least one specific condition, the initial weight value is determined to be the final weight value for the score portion; otherwise, different initial weight values are repeatedly assigned to the score portions, a test subset is selected, and scores are calculated. For example, the at least one specific condition may be that if the percentage of scores from all test meal plans higher than a specific score threshold (e.g., 5, 5.5, 6, 6.5, or other scores) is higher than a specific percentage threshold, e.g., 50%, or other percentage, the initial weight value may be considered sufficiently good and determined to be the final weight value. Another example of a specific condition may be that the scores of all test meal plans calculated based on the initial weight value are approximately the same as those predicted by the corresponding scores given by an expert based on the meal plans, for example, within a predetermined error range of a predetermined reference score. "Approximately the same" can mean that the variability of the scores is within a particular range (e.g., 5% or 10%) and / or the distribution of the percentage of scores within different score ranges (e.g., scores <2, scores 2-4, scores 4-8, scores >8) matches expert predictions. An expert here can be a person or an artificial intelligence model trained to assign scores to meal plans based on dietary information.
[0066] In step 305, if a specific condition is not met, at least one of assigning different initial weight values to the score portion, selecting a test subset, and calculating the score (i.e., repeatedly calculating the score based on at least one of the score portion and the newly assigned initial weight values of the newly selected test subset) is performed. For example, the initial weight values may be adjusted but still satisfy the priority order, in which case the adjusted initial weight values may be used to calculate the score. The adjustment of the weight values may be performed repeatedly until at least one specific condition is met, i.e., until the adjusted weight values become the final weight values. During each iteration of the adjustment of the initial weight values, the test subset of the meal plan may be repeatedly reselected; alternatively, the same test subset of the meal plan may be used until the final weight values are determined. The reselection of the test subset of the meal plan may be based on the same method as the selection of the test subset in step 303; in addition, the reselected test subset may only partially overlap with the test subset in the previous iteration. The overlapping portion (i.e., overlapping meal plans) may be constrained to a maximum extent in the new test subset; for example, a certain percentage of meal plans should never be included in the previous test subset. This percentage may be 20%, 30%, 40%, 50%, 60%, 70%, 80%, and other percentages. For example, if at least one specific condition is not met, the initial weight values may be adjusted, a new test subset may be reselected, and then a score may be calculated based on the adjusted initial weight values and the new test subset. If at least one specific condition is not met, the initial weight values may be adjusted, a new test subset may be reselected, and then a score may be calculated again. The iteration may end when at least one specific condition is met. In addition, the iteration may end when the total number of iterations exceeds a predetermined number, for example, 20, 50, 100, or more.
[0067] Returning to FIG. 1A / FIG. 1B, in step 104, scores for the meal plans in the second subset may be calculated according to the methods disclosed above.
[0068] In step 105, the meal plans in the second subset of meal plans are ranked. Additionally, some of the top-ranked meal plans may be displayed / suggested to the user, with or without a corresponding score displayed, for example, the top 1, top 3, or top 5 ranked meal plans may be displayed and / or suggested to the user. User input selecting one of the top-ranked meal plans may be received. The highest-scoring meal plan from the second subset may be suggested to the user and / or only this meal plan may be output to the user.
[0069] The method may further include replacing at least one ranked meal plan, as shown in step 106 of FIG. 1B. All other steps in FIG. 1B are the same as those in FIG. 1A. For example, after step 105 in which the second subset of meal plans is ranked and / or suggested, user input may be received, and the user input may be to select and modify one or more of the ranked and / or suggested meal plans in step 105. The selected one or more meal plans may then be replaced with other meal plans. Alternatively, the method may automatically select a ranked meal plan (and / or elements in the ranked meal plan) to be modified / replaced based on, for example, one or more predetermined conditions. For example, such a meal plan may be automatically suggested by the device as one to be replaced if the exact same meal plan has been suggested within the last predetermined number of days, if the ranked meal plan includes ingredients that the user does not have or that are not in the current season, or if the user provides further input updating personal preferences or health status, etc.
[0070] For example, a first meal plan in the top-ranked meal plans may be modified, and then input may be received from the user suggesting a second meal plan based on the first meal plan. Additionally or alternatively, the user may be able to select and modify one or more elements in the suggested meal plan in step 105. The selected one or more elements may then be replaced with elements. That is, input may be received from the user to change a staple element (e.g., bread) to another staple element (e.g., bread). A second meal plan may be formed by replacing the selected element with a different (but similar) element.
[0071] The second meal plan may be determined based on at least one of 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 for breakfast may be substituted with fried eggs, bread may 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 the other user's preferred meal plan). If the user selects to replace only one or more elements in the first meal plan, the formation of the second meal plan may further be based on at least the similarity and dietary information between the at least one element being replaced and at least one different element replacing it. For example, similar staple elements may replace each other or similar dairy foods may replace each other when forming the second meal plan.
[0072] For example, the user pattern data in the diet information may include at least one data of user behavior information related to meal plans, which may be used to select a second meal plan as a replacement for the first meal plan. As another example, dietary preferences in the diet information may be used to select the second meal plan.
[0073] Similarities between meal plans may be identified based on at least one of the total weight of the meal, the ingredients included, the proportion of ingredients, the foot category mix, the macronutrient mix, the micronutrient mix, the total calories, and the like.
[0074] Further, in the step of replacing the first meal plan in the ranked meal plan 106, a first element in the first meal plan may be replaced with a second element from the element candidate set to form a second meal plan. A similarity score between the two elements may be calculated based on the nutritional vectors of each of the two elements, and the second element may be the element in the element candidate set that has the highest similarity to the first element.
[0075] Instead of replacing one (or more) elements, the meal plan may be replaced entirely. 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 on the given set of meal plans, the first subset of meal plans, or a second meal plan. During the search for the second meal plan, the similarities between the meal plans may be analyzed. The meal plan that is most similar to the first meal plan (e.g., has the highest similarity score) is then output as the second meal plan (i.e., the replacement meal plan).
[0076] For example, when determining a similarity score between two meal plans or two elements, an analysis of the first meal plan or element may be performed, and the analysis may include obtaining a nutritional vector for each meal plan or element. The nutritional vector may include multiple values, and each value may reflect a nutritional aspect (or dimension) of the meal plan or element. For example, the nutritional vector (of a meal plan or element of a meal plan) may include a vector including values reflecting at least one of food categories, various macronutrient compositions (by weight or volume), and various micronutrient compositions (by weight or volume). A preferred example of a nutritional vector may include values from four dimensions: total energy, total protein, total fat, and total carbohydrate. The values may be the weight, volume, weight percentage, or volume percentage of the corresponding dimension.
[0077] The similarity between meal plans (or two components) can be determined based on a similarity score. The similarity score can be calculated based on the nutritional vectors of the corresponding meal plans (or components). The similarity score can be between [0, 1], with a higher value indicating a higher level of similarity. For example, 1 can represent that the two meal plans (or components) are the same.
[0078] For example, the similarity score between meal plan (or element) a and meal plan (or element) b may be determined according to the nutrition vector A and nutrition vector B corresponding to meal plans (or elements) a and b, respectively. An example of the calculation may follow the formula:
number
[0079] More specifically, in step 106, the substitution may be at the element level rather than the meal plan level. For example, when replacing at least one ranked meal plan, a user input may 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). The search for one or more replacement elements is similar to the above search for a replacement meal plan. For example, first, each of the elements to be replaced (i.e., the first elements) may be analyzed to generate a nutrient vector A, and a replacement candidate element from the candidate set may be analyzed to generate a nutrient vector B. Then, a similarity score between the element to be replaced and the replacement candidate element may be calculated based on the nutrient vectors A and B, as shown in the above formula. After all the candidate elements are compared with the element to be replaced, the most similar candidate element (i.e., the second element that may have the highest similarity score) is used to replace the element to be replaced (i.e., the first element) in the meal plan to be replaced (i.e., the first meal plan) to generate a replacement meal plan (i.e., the second meal plan).
[0080] The above-described modification of the meal plan step in step 106 is summarized in FIG. 1C. In step 106a, user input may be received, where the user input may select one or more first elements to be replaced from the one or more first meal plans and / or ranked / suggested meal plans. This step may be omitted because the selection may be performed automatically by the electronic device, for example, the first meal plan and / or first element may be determined according to at least one predetermined condition, where the predetermined condition may include at least one of: if the same meal plan and / or element has been suggested in the last predetermined number of days; if ingredients for the meal plan and / or element are missing; or if further user input is received that conflicts with the meal plan and / or element, in which case such meal plan is determined to be modified / replaced. Further user input may include dietary information updates, which may include allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, sex, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and stage of the user, e.g., at least one of pre-pregnancy, pregnancy, postpartum, or lactation.
[0081] The selections may even be randomly determined by the electronic device to intentionally vary the suggested meal plans and / or components.
[0082] In step 106b, a first nutritional vector of the first meal plan or first element is obtained. The nutritional vector of a meal plan or element may be a vector including multiple values, each of which may reflect a nutritional aspect (or dimension) of the meal plan or element. For example, the nutritional vector may be a vector including values reflecting at least one of food categories, various macronutrient distributions (by weight or volume), and various micronutrient distributions (by weight or volume). A preferred example of a nutritional vector may be a vector including values from four dimensions: <total energy, total protein, total fat, total carbohydrate>. The values may be the weight, volume, weight percentage, or volume percentage of the corresponding dimension.
[0083] The nutritional vectors may represent nutritional information of a meal plan or element, which may be further used to compare different meal plans or elements (e.g., obtain a similarity level between them). The nutritional vectors may be predetermined and stored in the memory of the electronic device or received from an external device.
[0084] In step 106c, a candidate set of meal plans of elements is obtained. The candidate set defines a search space including candidate second meal plans or elements. For example, the candidate set of meal plans may be one of a predetermined set of meal plans, a first subset of meal plans, or a second meal plan. The candidate set of elements may be a set including all elements within the same type (i.e., belonging to the same type as the first element) within one of the predetermined set of meal plans, the first subset of meal plans, or the second meal plan. The element type may be at least one of a breakfast menu, one or more staple dishes for lunch, one or more staple dishes for dinner, an additional meal menu, one or more dishes for lunch, and one or more dishes for dinner.
[0085] If a candidate set is already available in step 106c, all or some of the candidates are compared with the first meal plan (or first element) to determine the most similar candidate. For example, not all candidates need to be searched, as some of the candidates may be pre-filtered and excluded according to some predetermined rules, i.e., updated dietary information with further user input, which may include, for example, allergens, restricted ingredients, gene / DNA information, number of meals per day, height, weight, genes, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and user stage, for example, at least one of pre-pregnancy, pregnancy, postpartum, or lactation.
[0086] When comparing a candidate meal plan or element to a first meal plan or first element, a candidate nutrition vector for the candidate meal plan or element is obtained in step 106d.
[0087] In step 106e, a 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 already been presented above and will not be repeated here.
[0088] In step 106f, the candidate with the highest similarity to the first meal plan or first element is selected as the second meal plan or second element. If only an element (i.e., not the entire first meal plan) is to be replaced, the second element may be used to replace the selected element in the first meal plan to form the second meal plan. The second meal plan may be notified to the user.
[0089] In the above meal plan modification method, as a preferred embodiment, a suggested / ranked meal plan may first be determined as a first meal plan, and then an element within this meal plan is determined as one to be replaced (as the first element), and in this embodiment, when forming a second meal plan, only the element, not the entire first meal plan, is modified for the second element.
[0090] FIG. 1D illustrates a method for determining a replacement meal plan similar to that of FIG. 1C.
[0091] A first meal, which may include one or more elements, is determined in step 107. For example, the user may input the meal plan directly into the electronic device, the user may select a meal plan from the meal plans suggested in Figures 1A and 1B (e.g., as in step 106a), or the first meal plan may be randomly selected by the device from a predetermined set of meal plans.
[0092] In step 108, a first element in the first meal plan is determined to be replaced. This may be following 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.
[0093] In steps 107 and 108, the first meal plan and / or first element may be determined according to user input or may be determined according to at least one predetermined condition. The predetermined conditions may include at least one of if the same meal plan and / or element has been suggested within a predetermined number of recent days, if the ingredients of the meal plan and / or element are missing, and if further user input is received that conflicts with the meal plan and / or element, in which case such meal plan and / or element is determined to be replaced (as a second meal plan or second element). The further user input may include updating dietary information.
[0094] In step 109, a candidate set of elements is obtained (same as 106d), for example, according to element type. The element type may be at least one of breakfast menu, one or more regular dishes for lunch, one or more regular dishes for dinner, additional meal menu, one or more dishes for lunch, and one or more dishes for dinner. When obtaining the candidate set, some predetermined filtering may be performed according to dietary information or updated dietary information.
[0095] In step 110, nutrient vectors for some or all of the candidate elements in the candidate set may be obtained (same as step 106d).
[0096] 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 step 106e).
[0097] In step 112, the candidate element with the highest similarity score is selected as the second element, which can be used to replace the first element of the first meal plan to form a second meal plan (i.e., a replacement meal plan) (as an alternative to step 106f).
[0098] The methods of Figures 1C and 1D may be performed iteratively. For example, if the user is still not satisfied with the suggested meal plan, further modification inputs and selections of the first meal plan (and / or first elements) may be received, and such a new second meal plan may be suggested.
[0099] 1A / 1B, step 102 of forming a first subset of meal plans and / or step 103 of generating a second subset of meal plans may be performed repeatedly until some or all of the meal plans in the second subset of meal plans have a score (i.e., calculated by step 104) that is equal to or greater than a second predetermined threshold. 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 sufficiently good for the user. This ensures that at least some meal plans that are equal to or greater than the threshold score are suggested.
[0100] If the steps of forming 102 the first subset of meal plans and generating 103 the second subset of meal plans are performed for more than a predetermined number of iterations, the step of selecting 105 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 above a second predetermined threshold, thereby avoiding endless iterations.
[0101] FIG. 2 shows an example of the evolutionary algorithm when generating the second subset in step 103.
[0102] In step 201, an evolving meal plan set may be formed by selecting N first initial meal plans. The N first initial meal plans may be randomly selected from the first subset of meal plans or may be selected based on certain criteria, such as most frequently suggested meal plans, least frequently suggested meal plans, most popular meal plans, user surveys, etc.
[0103] In step 202, a score for each of the first initial meal plans may be calculated, and the score for the i-th C initial meal plan may be denoted as Xi. The score calculation method may be the same as that disclosed for step 104 in Figure 1A / Figure 1B. In addition, if one, some, or all of the scores of Xi satisfy the condition of being equal to or greater than a first predetermined threshold, the first initial meal plan may be directly output as a second subset of meal plans, and the subsequent steps in Figure 2 may not be performed.
[0104] In step 203, one or more elements between two or more first initial meal plans may be swapped to form a second initial meal plan. The one or more elements of each meal plan may include at least one of a breakfast menu, one or more staple dishes for lunch, one or more staple dishes for dinner, an additional meal menu, one or more dishes for lunch, and one or more dishes for dinner. The swapping of elements may be performed randomly; for example, several meal plans may be randomly determined, and then a random number of elements of these meal plans are swapped. For example, a staple dish for lunch in a first meal plan may be swapped with a staple dish for lunch in a second meal plan, and a breakfast menu in a third meal plan may be swapped with a 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.
[0105] In step 204, a score for each of the second initial meal plans is calculated, and the new score may be denoted as Yi for the i-th second initial meal plan. The score calculation method may be the same as that disclosed for step 104 and step 202 in FIG. 1A / FIG. 1B. In addition, if one, some, or all of the scores of Yi meet the condition that they are equal to or greater than the first predetermined threshold, the second initial meal plan may be directly output as a second subset of meal plans, and the subsequent steps in FIG. 2 may not be executed. Otherwise, if one, some, or all of the scores of Yi are lower than the first predetermined threshold, the subsequent steps may be executed.
[0106] In step 205, the evolved meal plan set is updated by replacing the i-th first initial meal plan with the i-th second initial meal plan in the evolved meal plan set if Yi>=Xi. In this way, meal plans with higher scores can be included in the evolved meal plan set.
[0107] In step 206, steps 202-205 are repeatedly performed. The iterations may terminate if more than a predetermined number of iterations have already been performed and / or until some or all of the meal plans in the evolving meal plan set have scores greater than or equal to a first predetermined threshold. For example, the iterations may terminate if one of the meal plans has a score greater than or equal to the first predetermined threshold; or the iterations may terminate only if all of the meal plans have scores greater than or equal to the first predetermined threshold.
[0108] In step 207, the evolved meal plan set is output as a second subset of meal plans.
[0109] Using the method of FIG. 2, meal plans with high scores (e.g., according to the user's specific dietary information) are included in a second subset, and at the same time, the meal plans in the second subset are randomly generated (e.g., by step 203) so that the same meal plan is always suggested to the same user.
[0110] FIG. 4 shows a device 400 for implementing the present invention, such as a mobile phone, tablet, laptop, desktop, smartwatch, TV, etc.
[0111] 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 .
[0112] The processor 401 is configured to execute programs / instructions stored in the memory 405 through the control of other components such as the display 402, the communication unit 403, the memory 405, the camera 406 and other input / output units 407.
[0113] The display 402 can be controlled by the processor 401 to perform all display functions (and input functions if it is a touch screen) in the present invention, such as step 101.
[0114] The communication unit 403 may be controlled by the processor 401 to perform all communication functions in the present invention. For example, when an external device 410 (e.g., a server) is used to perform some functions in the steps of Figures 1A / 1B and / or 2 (e.g., step 101 may be performed in the user device 400, and the final meal plan suggestions may likewise be displayed on the user device 400, while other steps in Figures 1A / 1B and 2 may be performed in the external device 410, e.g., a server; or all steps may be performed in the user device 400; or some of the steps may be performed in the user device 400, and the remaining steps may be performed in at least one or more external devices 410), messages may be communicated via the communication unit 403. Optionally, databases used in the present invention, such as ingredient scores, original meal plan sets, week rules, day rules, gene rules, preference rules, look-up tables of user dietary information, etc., may be stored in the external device 410 or the user device 400.
[0115] The memory 405 may be configured to store instructions for carrying out the method of the present invention. For example, look-up tables of ingredient scores, original meal plan sets, week rules, day rules, gene rules, preference rules, user dietary information, or other necessary information may be stored in the memory 405. The device may provide the user with at least one entry to check / overview these data.
[0116] Camera 406 is configured to capture images and is optional in the present invention.
[0117] Other input / output units 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 suggested meal plans to the user.
[0118] In the present invention, at least a part of the device (e.g., FIG. 4) or method (e.g., FIG. 1A / FIG. 1B, FIG. 2, and / or FIG. 3 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, a mobile app, 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.
[0119] The present invention includes a method executed by an electronic device for suggesting meal plans, the method including: obtaining dietary information of a user; forming a first subset of meal plans from a predetermined set of meal plans according to the dietary information; generating a second subset of meal plans from the first subset of meal plans via an evolutionary algorithm; calculating a score for each meal plan in the second subset of meal plans; and ranking the meal plans in the second subset of meal plans, wherein the score for each meal plan is calculated based on the dietary information and one or more elements included in each meal plan.
[0120] The method may further include displaying a number of top-ranked meal plans and / or receiving input from the user to select a meal plan from the displayed meal plans or suggesting the highest scoring meal plan from a second subset of meal plans.
[0121] The method may further include receiving input from a user to modify a first meal plan in the top-ranked meal plans and suggesting a second meal plan based on the first meal plan, or receiving input from a user to modify 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 the second meal plan.
[0122] In the above method, suggesting the second meal plan may be further based on at least similarities and dietary information between the first meal plan and the second meal plan and / or forming the second meal plan may be further based on at least similarities and dietary information between the at least one element to be replaced and the at least one different element.
[0123] The method may further include determining at least one intake target for each food category, each macronutrient, and / or each micronutrient according to the dietary information, wherein each food category, each macronutrient, and each micronutrient is predetermined.
[0124] In the above method, the one or more elements in each meal plan may include at least one of a breakfast menu, one or more staple dishes for lunch, one or more staple dishes for dinner, an additional meal menu, one or more dishes for lunch, and one or more dishes for dinner.
[0125] In the above method, the dietary information may include allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, sex, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and at least one of the user's stage, for example, pre-pregnancy, pregnancy, postpartum, or lactation.
[0126] In the above method, the genetic / DNA information of rs1801133 can include types GG, AG, and AA, and the folate needs of different types are GG>AG>AA.
[0127] In the above method, forming the first subset of meal plans may include removing zero, one, or more meal plans from the predetermined set of meal plans that include allergens and / or restricted ingredients and / or removing meal plans from the predetermined set of meal plans that may have ingredients other than the meal preparation ingredients present.
[0128] In the above method, the evolutionary algorithm forming an evolved meal plan set by selecting a first N initial meal plans; b. calculating a score for each of the first initial meal plans, where the score for 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. calculating a score for each of the second initial meal plans, where the score for the i-th second initial meal plan is Yi; e. if Yi>=Xi, updating the evolved meal plan set by replacing the i-th first initial meal plan with the i-th second initial meal plan in the evolved meal plan set; f. performing steps b through e a predetermined number of iterations and / or until some or all of the meal plans in the evolving meal plan set have scores that are greater than or equal to a first predetermined threshold; g. outputting the evolved meal plan set as a second subset of meal plans; may include:
[0129] In the above method, if the scores Xi of one, some, or all of the first initial meal plans are greater than or equal to a first predetermined threshold, the N first initial meal plans may be output as a second subset of meal plans, and steps c to g are not performed.
[0130] In the above method, if the scores Yi of one, some, or all of the second initial meal plans are greater than or equal to a first predetermined threshold, the N second initial meal plans may be output as a second subset of meal plans, and steps f and g are not performed.
[0131] In the above method, steps e to g may be performed only if one, some or all of the scores Yi of the second initial eating plans are below a first predetermined threshold.
[0132] In the above method, forming the first subset of meal plans and generating the second subset of meal plans may be performed iteratively until some or all of the meal plans in the second subset of meal plans have a score greater than or equal to a second predetermined threshold.
[0133] In the above method, forming the first subset of meal plans and generating the second subset of meal plans may be performed more than a predetermined number of iterations, and 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 above a second predetermined threshold.
[0134] In the above method, the score of the meal plan may be calculated based on at least two score portions and / or the score portions are an ingredient score, a week score, a day score, a gene score, or a preference score.
[0135] In the above method, the ingredient score may 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 may be the sum of the individual food category scores, and the individual food category score may be calculated according to the mass of the food category included in the meal plan and the intake target of the food category, for example, the food category may be at least one of grains, cereals, dairy foods, fruits, vegetables, soy products, nuts, sweets, water, meat, fish, and substitutes, and the total macronutrient score may be the sum of the individual macronutrient scores, and the individual macronutrient score may be obtained according to the mass of the macronutrient included in the meal plan and the intake target of the macronutrient, and / or the total micronutrient score may be the sum of the individual micronutrient scores, and the individual micronutrient score may be obtained according to the mass of the micronutrient included in the meal plan and the intake target of the micronutrient.
[0136] In the above method, the weekly score may be based on the weekly rules for the weekly meal plan.
[0137] In the above method, the day score may be based on the day rules for the daily meal plan.
[0138] In the above method, the genetic score may be based on genetic rules regarding dietary requirements according to the user's genes.
[0139] In the above method, the preference score may be based on preference rules relating to the user's dietary preferences.
[0140] In the above method, when calculating the score for a meal plan, each score portion may be assigned a weight value.
[0141] In the above method, the weight value of the score part is determining the priority of score portions; assigning initial weight values to the score portions, where higher priority score portions are assigned higher initial weight values; selecting a test subset of meal plans from the predetermined set of meal plans, e.g., a subset of all meal plans in the predetermined set of meal plans; calculating scores for the score portions based on initial weight values assigned to the score portions; determining that the initial weight values are final weight values if one or more of the calculated scores satisfy at least one specified condition, otherwise iteratively calculating the scores based on at least one of assigning different initial weight values to the score portions and selecting test subsets; can be determined by
[0142] In the above method, the at least one specified condition may include at least one of a percentage of the calculated score being higher than a specified score threshold and the calculated score, calculated based on the initial weight values, having a specified error range of a predetermined reference score.
[0143] In the above method, determining the intake target may be further based on standard nutritional recommendations according to the user's dietary information.
[0144] In the above method, determining the intake target may be further based on biometric information, microbiome information, and / or glycemic information of the user.
[0145] The present invention may include an apparatus including at least one processor, the at least one processor configured to perform the above method.
[0146] The present invention may include a storage medium having stored thereon computer instructions, the instructions configured to control at least one processor to perform the above-described method.
[0147] The present invention may include a method executed by an electronic device for suggesting a meal plan, the method including: determining a first element in a first meal plan to be replaced and a first nutrient vector of the first element; obtaining a candidate set of elements; obtaining candidate nutrient vectors for some or all candidate elements in the candidate set; determining respective similarity scores based on each obtained candidate nutrient vector and the first nutrient vector; obtaining a second meal plan based on a second element with the highest similarity score, wherein the first element in the first meal plan is replaced with the second element to form the second meal plan.
[0148] The method may further include displaying several meal plans and / or receiving input from the user selecting a first meal plan from the displayed meal plans.
[0149] Two or more first elements in the first meal plan may each be replaced with two or more second elements.
[0150] The first meal plan and / or the first element may be determined according to a user input or the first meal plan and / or the first element may be determined according to at least one predetermined condition.
[0151] The predetermined conditions may include at least one of: if the same meal plan and / or elements have been suggested in the last predetermined number of days, then the same meal plan and / or elements are determined to be the first meal plan and / or elements; if the meal plan and / or elements include ingredients that are unavailable, then they are determined to be the first meal plan and / or elements; if further user input is received that conflicts with the meal plan and / or elements, then they are determined to be the first meal plan and / or elements; and the further user input may include updated dietary information.
[0152] The similarity score between two elements is calculated using the following formula:
number
[0153] The nutrient vector of an element may contain four values representing the total energy, total protein, total fat, and total carbohydrate by weight or volume of that element.
[0154] The elements in the meal plan may be one of a breakfast menu, one or more staple dishes for lunch, one or more staple dishes for dinner, an additional meal menu, one or more dishes for lunch, and one or more dishes for dinner.
[0155] The dietary information may include allergens, restricted ingredients, genetic / DNA information, number of meals per day, height, weight, sex, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and the user's stage, for example, at least one of pre-pregnancy, pregnancy, postpartum, or lactation.
[0156] The genetic / DNA information of rs1801133 may include types GG, AG, and AA, and the folate needs of different types are GG>AG>AA.
[0157] The present invention may include an apparatus including at least one processor, the at least one processor configured to perform any of the above methods.
[0158] The present invention may include a storage medium having stored thereon computer instructions, the instructions configured to control at least one processor to perform any of the above methods.
Claims
1. 1. A method implemented by an electronic device for suggesting a meal plan, comprising: determining a first component to be replaced and a first nutritional vector for said first component in a first meal plan; obtaining a candidate set of elements; obtaining candidate nutrient vectors for some or all of the candidate elements in the candidate set; determining a respective similarity score based on each obtained candidate nutrient vector and the first nutrient vector; obtaining a second meal plan based on the second factor with the highest similarity score; Including, 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 several meal plans and / or receiving input from a user to select the first meal plan from the displayed meal plans.
3. 3. The method of claim 1 or 2, wherein two or more first elements in the first meal plan are each replaced with two or more second elements.
4. 4. The method according to any one of claims 1 to 3, wherein the first meal plan and / or the first element are determined according to a user input and / or the first element is determined according to at least one predetermined condition.
5. 5. The method of claim 4, wherein the predetermined conditions include at least one of: if the same meal plan and / or elements have been suggested in the last predetermined number of days, then the same meal plan and / or elements are determined to be the first meal plan and / or elements; if the meal plan and / or elements include ingredients that are unavailable, then they are determined to be the first meal plan and / or elements; and if further user input is received that conflicts with the meal plan and / or elements, then they are determined to be the first meal plan and / or elements, wherein the further user input includes updated dietary information.
6. The similarity score between two elements is calculated using the following formula: [Equation 1] where A and B are the nutritional vectors of the two elements, respectively, and A is calculated based on the following formula: 1 , A 2 , ..., A n > and B is <B 1 , B 2 , ..., B n > and S is the similarity score.
7. 7. The method of any one of claims 1 to 6, wherein the nutrient vector of an element comprises four values representing the total energy, total protein, total fat and total carbohydrate by weight or volume of that element.
8. 8. The method of any one of claims 1 to 7, wherein the elements in the meal plan are one of a breakfast menu, one or more staple dishes for lunch, one or more staple dishes for dinner, an additional meal menu, one or more dishes for lunch, and one or more dishes for dinner.
9. 9. The method of claim 1, wherein the dietary information includes allergens, restricted ingredients, gene / DNA information, number of meals per day, height, weight, sex, activity level, location information, dietary preferences, dietary history data, user pattern data, family history information, and at least one of a user's stage, for example, pre-pregnancy, pregnancy, postpartum, or lactation.
10. The method of claim 10, wherein the genetic / DNA information of rs1801133 includes types GG, AG, and AA, and the folate needs of different types are GG>AG>AA.
11. An apparatus comprising at least one processor, said at least one processor configured to perform any of claims 1 to 10.
12. A storage medium having stored thereon computer instructions, said instructions being configured to control at least one processor to perform any of claims 1-10.