WO2024149246A1 - System, method, and computer-readable medium for providing dietary recommendations using knowledge graphs - Google Patents

System, method, and computer-readable medium for providing dietary recommendations using knowledge graphs Download PDF

Info

Publication number
WO2024149246A1
WO2024149246A1 PCT/CN2024/071352 CN2024071352W WO2024149246A1 WO 2024149246 A1 WO2024149246 A1 WO 2024149246A1 CN 2024071352 W CN2024071352 W CN 2024071352W WO 2024149246 A1 WO2024149246 A1 WO 2024149246A1
Authority
WO
WIPO (PCT)
Prior art keywords
dish
dietary
identifiers
recommendation
portion size
Prior art date
Application number
PCT/CN2024/071352
Other languages
French (fr)
Inventor
Pengwei HU
Dahai LIU
Original Assignee
Merck Patent Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202310382095.7A external-priority patent/CN118335287A/en
Application filed by Merck Patent Gmbh filed Critical Merck Patent Gmbh
Publication of WO2024149246A1 publication Critical patent/WO2024149246A1/en

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/60ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to nutrition control, e.g. diets
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • G16H70/20ICT specially adapted for the handling or processing of medical references relating to practices or guidelines

Definitions

  • the present disclosure relates to providing dietary recommendations. More particularly, the present disclosure relates to a system, method, and computer-readable medium for providing dietary recommendations using knowledge graphs.
  • Diabetes is a chronic disease that occurs when a patient’s pancreas does not produce enough insulin or the patient’s body cannot effectively use the insulin it produces.
  • Insulin is a hormone that regulates blood sugar (i.e., blood glucose) .
  • blood glucose a hormone that regulates blood sugar
  • diabetics may have elevated blood sugar that over time can cause serious damage to the body's tissues, including organs, nerves, and blood vessels.
  • Type 1 diabetes usually starts in childhood and is a result of the pancreas’ inability to produce enough insulin, typically because of improper function or loss of beta cells within the pancreas.
  • Type 2 diabetes is a disease in which the cells throughout the patient’s body fails to respond to insulin properly.
  • Diabetics must manage the disease effectively through a combination of diet, exercise, and sometimes medication. Diabetes can be managed by having a special, modified diet.
  • a primary dietary principle of treating diabetics is to control the patient’s dietary intake under nutritionally balanced conditions. It is especially import for diabetics to control their carbohydrate intake, because it can significantly influence blood-glucose levels.
  • a system of one or more processor-enabled devices can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions.
  • One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
  • a disclosed method may include querying a knowledge graph with at least one query parameter to receive a plurality of dish identifiers.
  • the method may also include scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter.
  • the method may furthermore include sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers.
  • the method may in addition include providing at least one recommendation dish to a user from a predetermined number of dish identifiers from the plurality of dish identifiers.
  • Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
  • Embodiments may include one or more of the following features.
  • the method may include: calculating at least one dietary target; and receiving at least one user-data parameter.
  • the at least one dietary target is based upon the at least one user-data parameter.
  • the method where the at least one user-data parameter includes at least one of a BMI, an age, a gender, a height, a weight, and a work intensity.
  • the method may include: determining at least one portion size in accordance with the plurality of dish identifiers; and providing a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish.
  • the method where the act of determining the at least one portion size includes determining the at least one portion size to correspond to at least one user-data parameter.
  • the method may include calculating a target caloric intake from at least one user-data parameter, where the act of determining the at least one portion size includes determining the at least one portion size to correspond to the target caloric intake.
  • the method may be such that the at least one portion size is a number of servings of a dish identifier.
  • the method may have that the at least one portion size is a plurality of number of servings corresponding to a plurality of ingredient identifiers of a dish identifier.
  • the method may include receiving a dish selection selectable from the at least one recommendation dish.
  • the method may include determining a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish.
  • the corresponding portion size corresponds to the dish selection.
  • a size of the at least one recommendation dish may be an identical size of the plurality of dish identifiers.
  • the at least one dietary-preference parameter may be a category type, such as a breakfast label, a lunch label, a dinner label, an afternoon-tea label, a staple food label, a late-night snack label, a pork label, a beef label, a high heat label, and a high sugar label.
  • the at least one dietary-preference parameter may be an ingredient preference.
  • the at least one dietary-preference parameter may be a dish preference.
  • the method may include calculating at least one of a total amount of calories, a total amount of protein, a total amount of fat, and/or a total amount of carbohydrates of the at least one recommendation dish.
  • the method may include: determining at least one portion size in accordance with the plurality of dish identifiers; determining a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish; calculating a ratio of a target caloric intake for each of the at least one recommendation dish; and adjusting the at least one portion size to achieve the target caloric intake.
  • the act of scoring may include assigning a score weight according to an expert system.
  • the at least one query parameter can correspond to the at least one dietary-preference parameter.
  • the method may calculate a frequency of consumption of the at least one historical recommendation dish.
  • the method may include calculating a frequency of consumption of an ingredient of the at least one historical recommendation dish.
  • the method may include determining at least one portion size based upon at least one of a calorie value, a protein value, a fat value, and a carbohydrate value.
  • the method may include generating the knowledge graph.
  • the act of scoring the plurality of dish identifiers may include scoring a dish in accordance with The symbols ⁇ , and ⁇ may be predetermined constants.
  • the value of ‘a’ can be set to a first value if the dish is in the at least one historical recommendation dish or to a second value if the dish is not in the at least one historical recommendation dish.
  • the variable ‘b’ may be set to a summation of a plurality of inverses where each inverse is an inverse of a frequency of occurrences of ingredients found within the at least one historical recommendation dish when a respective ingredient is an ingredient of the dish.
  • the variable ‘e’ may be set to a first value if the dish is preferred as indicated by the at least one dietary-preference parameter and ‘e’ may be set to a second value if the dish is not indicated as preferred by the at least one dietary-preference parameter.
  • the predetermined number of dish identifiers may be a predetermined number of highest scored dishes of the plurality of the dish identifiers.
  • The may be implemented by an operative set of processor executable instructions configured for execution on at least one processor.
  • Embodiments of the described techniques may include hardware, a method or process, or a computer tangible medium.
  • a system may include one or more processors configured to execute an operative set of processor executable instructions.
  • the operative set of processor executable instructions may be configured to: query a knowledge graph with at least one query parameter to receive a plurality of dish identifiers; score the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter; sort the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers; and provide at least one recommendation dish to an user from a predetermined number of dish identifiers from the plurality of dish identifiers.
  • Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
  • Embodiments may include one or more of the following features.
  • the at least one dietary target may be based upon the at least one user-data parameter.
  • the one or more processors may be further configured to receive a dish selection selectable from the at least one recommendation dish.
  • the one or more processors may be further configured to: determine at least one portion size in accordance with the plurality of dish identifiers; and provide a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish.
  • the one or more processors may be further configured to calculate at least one of a total amount of calories, a total amount of protein, a total amount of fat, and a total amount of carbohydrates of the at least one recommendation dish.
  • the one or more processors may be further configured to: determine at least one portion size in accordance with the plurality of dish identifiers; determine a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish. calculate a ratio of a target caloric intake for each of the at least one recommendation dish; and adjust the at least one portion size to achieve the target caloric intake.
  • the one or more processors may be further configured to score the plurality of dish identifiers in accordance with The symbols ⁇ , and ⁇ may be predetermined constants.
  • the ’a’ may be set to a first value if a respective dish of the plurality of dish identifiers is in the at least one historical recommendation dish or to a second value if the respective dish of the plurality of dish identifiers is not in the at least one historical recommendation dish.
  • the variable ‘b’ may be set to a summation of a plurality of inverses where each inverse is an inverse of a frequency of occurrences of ingredients found within the at least one historical recommendation dish when a respective ingredient is an ingredient of a respective dish of the plurality of dish identifiers.
  • the variable ‘e’ may be set to a first value if a respective dish of the plurality of dish identifiers is preferred as indicated by the at least one dietary-preference parameter and the variable ‘e’ may be set to a second value if the respective dish of the plurality of dish identifiers is not indicated as preferred by the at least one dietary-preference parameter.
  • the predetermined number of dish identifiers from the plurality of dish identifiers may be a predetermined number of the highest scored dishes of the plurality of the dish identifiers.
  • Embodiments of the described techniques may include hardware, a method or process, or a computer tangible medium.
  • a readable medium storing software that realizes a method for providing a dietary recommendation to achieve dietary compliance in diabetics when executed by a computer.
  • the method may include instructions for querying a knowledge graph with at least one query parameter to receive a plurality of dish identifiers.
  • the readable medium may also include instructions for scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter.
  • the readable medium may furthermore include instructions for sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers.
  • the readable medium may in addition include instructions for providing at least one recommendation dish to an user from a predetermined number of dish identifiers from the plurality of dish identifiers.
  • Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
  • Embodiments may include one or more of the following features.
  • the readable medium may include instructions such that the act of scoring the plurality of dish identifiers may include scoring a dish in accordance with
  • the readable medium may have ⁇ , and ⁇ as predetermined constants.
  • the readable medium may have a set to a first value if the dish is in the at least one historical recommendation dish or to a second value if the dish is not in the at least one historical recommendation dish.
  • the readable medium may have b set to a summation of a plurality of inverses where each inverse is an inverse of a frequency of occurrences of ingredients found within the at least one historical recommendation dish when a respective ingredient is an ingredient of the dish.
  • the readable medium may have ‘e’ set to a first value if the dish is preferred as indicated by the at least one dietary-preference parameter or ‘e’ may be set to a second value if the dish is not indicated as preferred by the at least one dietary-preference parameter.
  • the readable medium may be a non-transitory computer-readable medium.
  • Embodiments of the described techniques may include hardware, a method or process, or a computer tangible medium.
  • Fig. 1 shows a block-diagram illustration of a system having a sever-client configuration for providing dietary recommendations using a knowledge graph in accordance with an embodiment of the present disclosure
  • Fig. 2 shows a block-diagram illustration of a computing device for providing dietary recommendations using a knowledge graph in accordance with an embodiment of the present disclosure
  • Fig. 3 shows a representation of an exemplary knowledge graph in accordance with an embodiment of the present disclosure.
  • Figs. 4A-4B show a flow chart diagram of a method for providing dietary recommendations using a knowledge graph in accordance with an embodiment of the present disclosure.
  • Fig. 1 shows a block-diagram illustration of a system 100 having a sever-client configuration for providing dietary recommendations using a knowledge graph 300 (see Fig. 3) in accordance with an embodiment of the present disclosure.
  • Knowledge-graph based, diet-recommendation technology can help diabetics achieve their dietary goals while facilitating long-term compliance to diabetics’ nutritional needs by catering to the taste preferences of the diabetic patient.
  • the knowledge graph 300 is described in more detail below as part of a description of Fig. 3.
  • the system includes a cloud-service provider 102, a personal computer 104, and a mobile device 106.
  • the personal computer 104 and the mobile device 106 communicate via a network 108.
  • the network 108 may be Wi-Fi, ethernet, Bluetooth, etc. and may utilize the internet and associated protocols, such as TCP/IP.
  • the personal computer 104 and mobile device 106 may interface with the cloud-service provider 102 to receive dish recommendations through a web browser or application.
  • a specialize application for interfacing with the dish-recommender component 116 may be used, such as a mobile application on the mobile device 106 or a desktop application on the personal computer 104.
  • the communications may include transmitting data in HTML, XML, JSON, YAML, or any data serialization format.
  • the dish-recommender component 116 recommends the dishes 304, 306 (see Fig. 3) and may provide user-level accounts to individuals through a typical login mechanism.
  • the dish-recommender component 116 may be a web application, a webserver, a web service, etc. and may utilizing one or more protocols to communicate data.
  • a resource dispatcher 110 may dispatch requests for a dish recommendation to one or more virtual servers 122, each of which has a virtual processor 124, a virtual memory 126, and a virtual disk space 128.
  • the virtual servers 122 can be executed on one or more servers 120 on a server farm 118 as is activated by the resource dispatcher 110.
  • the dish-recommender component 116 may suggest one or more dishes 304, 306 of Fig. 3 based upon a user’s interaction with the dish-recommender component 116, data in a knowledge-graph database 130, and data in a database 132.
  • the dish-recommender component 116 can suggest to a user one or more dishes 304, 306 such as food staples, snacks, refreshments, drinks, sides, etc.
  • the dish-recommender component 116 may provide a user a questionnaire to obtain users' dietary preferences and personal information which may be stored in a database 132.
  • the dietary preferences may include favorite foods and tastes.
  • Personal information may include the user's age, gender, height, weight, exercise, and physical-work performed.
  • the dish-recommender component 116 may calculate various dietary targets for the user.
  • the dietary target may include ideal calories, proteins, fats, and carbohydrates that the users should consume in accordance with generally acceptable dietary principals for diabetics.
  • a diabetic could enter in the results of a blood glucose test (e.g., manually, electronically, via using an OCR results of a picture of a blood glucose monitor, via a paired Bluetooth glucose monitor etc. ) . Additionally or alternatively, in some embodiments of the present disclosure, a diabetic could enter the amount, type, and time a particular diabetes drug was taken by the user. In these specific and optional embodiments: based upon the blood glucose value and/or taken medication, the algorithm may lower the target carbohydrates, target sugar, and/or may make other adjustments to prevent the diabetic from becoming hyperglycemic or hypoglycemic.
  • the dietary targets may be adjusted to achieve a weight-loss goal automatically or based upon the user’s input.
  • the user's ideal daily calorie intake is calculated based on the user's personal information (height, weight, work intensity, etc. ) .
  • the user’s personal information is collected legally. The user may have consented to the collection.
  • the ideal daily intake of proteins, fats, and carbohydrates are calculated according to the ideal calorie intake of the day as is provided by the following formulas:
  • Ideal daily intake ideal body weight ⁇ energy coefficient
  • the energy coefficient is related to BMI and activity intensity. Different BMI and activity intensities correspond to different energy coefficients as is shown below in Table 1:
  • the dish-recommender component 116 may query or interface with the knowledge-graph database 130.
  • the knowledge-graph database 130 may include one or more knowledge graphs 300 for one or more users.
  • a data unit of the knowledge graph in the knowledge-graph database 130 may be a triple, such as (entities, relationships/attributes, entities) .
  • Knowledge graphs 300 are generally stored as triple files or graph data.
  • the knowledge-graph database 130 may be a triplestore or RDF store.
  • the knowledge-graph database 130 may be queryable via a search to find one or more matches in the stored knowledge graph 300.
  • Query languages may be one of Gremlin, Cypher, GQL, PGQL, GSQL, AQL, SPARQL, or any RDF query language.
  • the dish-recommender component 116 queries the knowledge-graph database 130 to retrieve all dishes therewithin to score all of the dishes.
  • a user can enter in search criteria, such as filter that limit the dish-recommender component 116 to only consider a particular category of dishes, dishes with particular ingredients, dishes having a particular spice level, dishes corresponding to a particular keyword, etc., or some combination thereof.
  • the dish-recommender component 116 can also query the database 132 that includes user information, user dietary preferences, calculated dietary targets, and historical data.
  • the database 132 may be a relational database, such a MySQL, sqlite3, etc. In some embodiments, the database 132 may be a NoSQL database.
  • the historical data may be used to calculate statistics on the frequency of dishes 304, 306 and ingredients 308-324 recommended based upon past user usage.
  • the dish-recommender component 116 can query the database 132 to obtain the history of dishes 304, 306 recommended to the user previously and the user’s historical selection of dishes 304, 306.
  • the user’s historical selection of dishes 304, 306 may be created by appending each selection of a dish 304, 306 to a table within the database 132.
  • the database 132 keeps a history of all dishes selected by a user.
  • the recommendation frequency of each dish 304, 306 may be calculated and stored in a dictionary A.
  • the ingredients of these dishes 304, 306 may be determined by data from the knowledge graph 300 which can be used to determine the recommendation frequency of each ingredient 308-324 which can be stored in a dictionary B.
  • the dish-recommender component 116 may utilize the data obtained from the knowledge-graph database 130 and the database 132 to score one or more dishes 304, 306 by use of a scoring module 112.
  • the dishes 304, 306 may be identified by a dish identifier, which may be a property of a node such as a “node name” .
  • the dish identifier may be any other value that corresponds to a dish node, such as a hash, node ID, dish ID, etc.
  • the scoring module 112 may utilize a scoring rule set according to the patient's dietary preference, historical recommendation data, and data from the knowledge-graph database 130 to assign a score weight to each rule in the rule set.
  • the score weight may be specified according to predetermined criteria, may be adjusted by a user, or may be adjusted according to the recommendation effect. After scoring, the dishes may be sorted from highest to lowest scores. In some embodiments, the dishes may be given a score weight based upon a 4-star recommendation rating.
  • the scoring rule set may include the following exemplary rules.
  • a rule may use the collection of dishes in dictionary A and the dishes 304, 306 in the knowledge graph 300 to determine whether each dish 304, 306 has been previously eaten or not based upon the user’s history.
  • a dish 304, 306 can have its ‘a’ value set 0 if the user has eaten the dish before or the ‘a’ value of a dish 304, 306 can be set to a score of a constant, such as a 0 , if the user has not eaten the dish 304, 306.
  • a dish 304, 306 can have its ‘a’ value set to a score of a constant, such as a 0 , if the user has not eaten the dish 304, 306 within a trailing predetermined amount of time, such as the last year, month, etc. This is to make sure variety of dishes are recommended and that a balance of nutrition is recommended to the user.
  • the scoring module 112 may utilize a score weight that is predefine. Another rule may be to use dictionary B to obtain the frequencies of occurrences of ingredients 308-324 of the dish being scored. The inverse of these frequencies of each ingredient 308-324 previously eaten (as is in the dictionary B) are added together to obtain the score b of a dish for the ingredients in the dish being scored.
  • Dishes 304, 306 having more ingredients 308-324 will tend to have more ingredients found in Dictionary B and will, consequently, tend to have more inverses of frequencies that are added together to form the b values when the plurality of inverses, where each inverse is an inverse of a frequency of occurrences of ingredients, are summed together from Dictionary B.
  • common ingredients in Dictionary B will tend to have lower inverse values because they will tend to have a high frequency values stored in Dictionary B.
  • dishes 304, 306 having fewer ingredients 308-324 will tend to have fewer ingredients found in Dictionary B and will, as a consequence, tend to have fewer inverses, where each inverse is an inverse of a frequency of occurrences of ingredients b values, when the inverse frequencies of the ingredients are summed together from Dictionary B.
  • dishes with more common ingredients receive lower grades and dishes with less common ingredients receive higher grades.
  • the dishes 304, 306 containing the user's preferred food and taste get an ‘e’ value of e 0 and the dishes 304, 306 that do not contain the user's preferred food and/or taste get a ‘e’ value of 0.
  • Each rule weighted average gives the total score y of the dishes, and each dish is sorted according to the score.
  • the symbols ⁇ , and ⁇ may be predetermined constants.
  • the formula (1) for y is as follows:
  • the knowledge graph 300 may have three category nodes 302 for breakfast, lunch, and dinner such that: (1) breakfast includes a high protein dish and a porridge; and (2) lunch and dinner each include a meat dish, a vegetarian dish and a staple dish.
  • the dishes 304, 306 may be selected such that there is no duplication of the main ingredients for lunch and dinner dishes.
  • the knowledge graph 300 is limited to dishes suitable for diabetics and/or suitable for a particular diabetic that is using the software.
  • the scoring module 112 may calculate the total calorie T_K of all recommended dishes of the dishes 304, 306 according to the knowledge graph 300.
  • the scoring module 112 may calculate the ratio R of the calories of the recommended dishes of the dishes 304, 306 to the user's ideal intake and adjust the recommended amount of ingredients 308-324 in each recommended dish according to R such that the adjustment is an equal proportion adjustment for each ingredient 308-324.
  • the adjustments may be made according to weight, calories, or other value. Although the weight of the ingredients 308-324 and the calorie values of dishes 304, 306 are not linearly related, the following method of scaling the weight of ingredients according to the proportion of calories may be used to control the intake of the diet:
  • the selection module 114 may select a predetermined number of dishes 304, 306 in sorted order according to a 4-star scoring system.
  • the predetermined number may be a user-entered value, may be a software configuration setting, and/or may be based upon the screen size of the device interfacing into the dish-recommender component 116.
  • the dish-recommender component 116 may calculate the total amount of calories, protein, fat and carbohydrates of the recommend dishes 304, 306. This may be done prior to selection of the predetermined number of dishes or after.
  • the dish-recommender component 116 may calculate the ratio of calories to the user's ideal intake K, and adjust the recommended amount of ingredients (portions) in each dish according to K to meet the requirements of controlling dietary intake.
  • the dish-recommender component 116 may provide the dishes 304, 306, along with the adjusted portion sizes, to the user for user selection.
  • the ingredients’ portions may be adjusted proportionally with the portion of the dish.
  • a user can select a dish that he or she intends to consume via a GUI implemented by a selection module 114.
  • Fig. 2 shows a block-diagram illustration of a computing device 200 for providing dietary recommendations using a knowledge graph 300 in accordance with an embodiment of the present disclosure.
  • the computing device 200 of Fig. 2 may be the personal computer 104 or mobile device 106 of Fig. 1.
  • the computing device 200 includes an IO interface 210 to communicate therewithin.
  • the computing device 200 includes a data store 204, a processor 206, a network interface 208, a memory 224, and user I/O devices 226.
  • the data store 204 stores data and may be a hard drive, flash drive, thumb drive, etc.
  • the processor 206 can execute one or more processor-executable instructions, which may be stored in the data store 204 and/or the memory 224.
  • the processor 206 can execute processor-executable instructions stored in 224 memory that was retrieved by the data store 204.
  • the memory 224 also includes program data 214 that may include information related to the processor-executable instructions.
  • the computing device 200 may include user I/O devices 226, such as a cursor device 230 (e.g., touchscreen or mouse) , a keyboard 232 (virtual or physical) , and/or a monitor 228 (which may be a touchscreen) .
  • the computing device 200 communicates with the network 202 via a network interface 208.
  • the dietary recommendation functionality may reside wholly within the computing device 200 of Fig. 2.
  • the dish-recommender component 116 of Fig. 1 may reside within the processor-executable instructions 212 of Fig. 2, as is indicated by the dotted box 234.
  • the knowledge-graph database 220 and the database 222 may store its data in the data store 204.
  • the dish recommender component 234 may include a scoring module 216 and a selection module 218 that operate in a similar manner as the scoring module 112 and the selection module 114 of Fig. 1.
  • the dish recommender component 234 may have a hybrid configuration where some of the functionality is implemented on the computing device 200 and some is implemented on the virtual server 122.
  • Fig. 3 shows a representation of an exemplary knowledge graph 300 in accordance with an embodiment of the present disclosure.
  • the knowledge graph 300 may be stored in the knowledge-graph database 130 of Fig. 1 or stored within the data store 204 of Fig. 2.
  • the knowledge graph 300 may be a knowledge base of a semantic network.
  • the knowledge graph 300 incorporates a multi-relationship organization.
  • the knowledge graph 300 includes nodes (a. k. a. vertices) 302-324.
  • Each of the nodes 302-324 may include one or more labels along with properties.
  • the labels of the nodes 302-324 represents its role and/or purpose within the knowledge graph 300.
  • the labels of the nodes 302-324 may refer to things in the real world such as place names, concepts, drugs, ingredients, companies, etc. In the food knowledge graph context, the labels can represent categories, dishes, or ingredients.
  • Each of the nodes 302-324 can have one or more properties that may be key-value pairs. These properties (i.e., attributes) may be used to describe an intrinsic characteristic of the entities represented by a particular node of the nodes 302-324, in some specific embodiments.
  • Each node 302-324 may include an identification, such as a node name, a node serial number, a node hash, etc.
  • each of the nodes 302-324 i.e., "entities”
  • the relationships 326-346 are used to encode some kind of association between different nodes 302-324.
  • the relationships 326-346 may signify one or many possible kinds of relationships that can be indicated by a relationship label or relationship type. These relationships 326-346 may also have properties expressed in key-value pairs.
  • the nodes 302-324 may have one of three labels including: ingredients, dishes, and categories.
  • a category node 302 has a property of node name: “Lunch” to indicate that it is a menu for lunch items.
  • a category node may be named, for example, Breakfast, Lunch, Dinner, Afternoon Tea, Staple Food, Late-Night Snack, Spicy, Light, Pork, Beef, High Heat, High Sugar, etc.
  • a plurality of different category nodes may be stored within the knowledge graph 300.
  • One or more dish nodes 304, 306 may have a relationship 326, 328 with the category node 302.
  • the relationships 326-346 are represented as directed edges having a relationship type and one or more properties that may be key-value pairs.
  • the dish node 304 has a relationship 326 of “Item of” the category node 302. This indicates that Chicken Soup is an item of Lunch.
  • the servings property of two in the relationship 326 indicates that typically two servings of chicken soup are given during a typical lunch. If the dish node 304 had a relationship (not shown) to a “snack” category, perhaps the servings property would be one or one-half.
  • the dish node 304 has six ingredient nodes 308-318 that correspond to six ingredients used to make chicken soup. Each of the ingredient nodes 308-318 indicates how many portions are needed per serving of chicken soup by edges 330-338.
  • the properties of the ingredient nodes 308-318 may include the content of calories, carbohydrates, protein, fat, fiber etc. in a single serving size. In other embodiments, these properties may be listed per 100 g or other unit of measurement.
  • Another dish 306 is shown as a Burger.
  • the dish node 306 that represents a burger shows three ingredients 320-324.
  • a first ingredient is a beef patty shown as node 320
  • a second ingredient is a bun shown as node 322
  • a final ingredient is a slice of cheese represented as a node 324.
  • dishes, ingredients, and/or categories may be added to the knowledge graph 300.
  • a user may enter in the information which builds the knowledge graph 300 and/or the knowledge graph 300 may be based upon selections made during the questionnaire described above. It can be appreciated, that the ingredients can be proportionally increased or decreased based upon the number of servings being calculated. In consequence, the calories, carbohydrates, proteins, fats, and fiber can also be proportionally adjusted based upon how many servings are being served in a dish.
  • the dishes 304-306 in the knowledge graph 300 are dishes that a diabetic can eat.
  • Figs. 4A-4B show a flow chart diagram of a method 400 for providing dietary recommendations using a knowledge graph 300 in accordance with an embodiment of the present disclosure.
  • the method 400 includes Acts 402-422.
  • Act 402 generates a knowledge graph.
  • Act 404 receives a dietary-preference parameter.
  • the dietary-preference parameter may be a category type, such as a breakfast label, a lunch label, a dinner label, an afternoon-tea label, a staple food label, a late-night snack label, a pork label, a beef label, a high heat label, and a high sugar label.
  • the dietary-preference parameter may be an ingredient preference or a dish preference, in some embodiments.
  • Act 406 receives a user-data parameter or parameters.
  • the user-data parameter may be an age, a gender, a height, a weight, and a work intensity.
  • Act 408 calculates one or more dietary targets based upon the at least one user-data parameter. The targets may be calculated prior to querying the knowledge graph, in some specific embodiment.
  • Act 410 retrieves one or more historical recommendation dishes from a data store.
  • Act 412 queries the knowledge graph with one or more query parameters to receive dish identifiers.
  • Act 414 scores the dish identifiers in accordance with the dietary preference parameter and the one or more historical recommendation dishes.
  • the historical recommendation dishes may be dishes that have been previously recommend and selected for consumption. In some embodiments of the present disclosure, dishes are retrieved first prior to examination (and/or querying) of ingredients.
  • the historical recommendation dish from the data store may be a null value, which indicates that no historical recommendation dishes are stored within the data store.
  • Act 416 sorts the dish identifiers in accordance with each respective score of the plurality of dish identifiers.
  • Act 418 determines portion sizes in accordance with the dish identifiers.
  • the portion size may be a number of servings.
  • the portion size may be set to achieve a target caloric intake.
  • the target caloric intake may be calculated using the information from the user-data parameters inputted by the user. These may be achieved by linearly adjusting the ingredients proportionally to adjusting the number of servings of the dish. For example, if a dish is provided as a one-half serving, each ingredient may be reduced by one-half in the single-serving recipe.
  • the portion sizes may also be adjusted to achieve target fat servings, protein servings, or carbohydrate servings.
  • Act 420 provides recommendation dishes to a user from a predetermined number of dish identifiers. In some cases, all recommendation dishes are presented to the user for selection.
  • the recommended dishes may, in some embodiments, be the dish recommendation with a recommended amount without the ingredients shown. In other embodiments, the recommended dishes show the ingredients with their amount in the dish, which can be used as part as a recipe in some embodiments.
  • Act 422 provides portion sizes corresponding to the recommendation dishes.
  • Act 424 receives a dish selection selectable from the dish recommendations.
  • satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, and/or the like, depending on the context.
  • the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and/or the like) , and may be used interchangeably with “one or more. ” Where only one-item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has, ” “have, ” “having, ” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.

Landscapes

  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Data Mining & Analysis (AREA)
  • Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Bioethics (AREA)
  • Nutrition Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system, method, and computer-readable medium for providing dietary recommendations using knowledge graphs are provided. In some implementations, the method may include querying a knowledge graph with at least one query parameter to receive a plurality of dish identifiers. In addition, the method may include scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter. The method may include sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers. Moreover, the method may include providing at least one recommendation dish to a user from a predetermined number of dish identifiers from the plurality of dish identifiers.

Description

SYSTEM, METHOD, AND COMPUTER-READABLE MEDIUM FOR PROVIDING DIETARY RECOMMENDATIONS USING KNOWLEDGE GRAPHS BACKGROUND
Relevant Field
The present disclosure relates to providing dietary recommendations. More particularly, the present disclosure relates to a system, method, and computer-readable medium for providing dietary recommendations using knowledge graphs.
Description of Related Art
Diabetes is a chronic disease that occurs when a patient’s pancreas does not produce enough insulin or the patient’s body cannot effectively use the insulin it produces. Insulin is a hormone that regulates blood sugar (i.e., blood glucose) . These patients, referred to as diabetics, may have elevated blood sugar that over time can cause serious damage to the body's tissues, including organs, nerves, and blood vessels.
Diabetes is usually divided into two types: Type 1 and Type 2 diabetes. Type 1 diabetes usually starts in childhood and is a result of the pancreas’ inability to produce enough insulin, typically because of improper function or loss of beta cells within the pancreas. Type 2 diabetes is a disease in which the cells throughout the patient’s body fails to respond to insulin properly.
Although there are several treatments for both types of diabetes, there is currently no effective cure. Diabetics must manage the disease effectively through a combination of diet, exercise, and sometimes medication. Diabetes can be managed by having a special, modified diet. Thus, a primary dietary principle of treating diabetics is to control the patient’s dietary intake under nutritionally balanced conditions. It is especially import for diabetics to control their carbohydrate intake, because it can significantly influence blood-glucose levels.
However, adhering to a diet (i.e., diet compliance) has been shown to be difficult for some people. The dishes recommended to a diabetic may not be appealing to the diabetic or may not be suitable for a particular craving or dietary preference of the diabetic. Thus, it may not be easy for a diabetic to achieve nutritional goals while  also enjoying the kinds of dishes and sides that the diabetic likes to eat. Thus, there has been a need to provide recommended dishes to diabetics that are tasty for the diabetic and nutritionally adequate for the special dietary needs of diabetics to increase dietary compliance.
SUMMARY
A system of one or more processor-enabled devices can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.
In one general aspect, a disclosed method may include querying a knowledge graph with at least one query parameter to receive a plurality of dish identifiers. The method may also include scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter. The method may furthermore include sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers. The method may in addition include providing at least one recommendation dish to a user from a predetermined number of dish identifiers from the plurality of dish identifiers. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
Embodiments may include one or more of the following features. The method may include: calculating at least one dietary target; and receiving at least one user-data parameter. The at least one dietary target is based upon the at least one user-data parameter. The method where the at least one user-data parameter includes at least one of a BMI, an age, a gender, a height, a weight, and a work intensity. The method may include: determining at least one portion size in accordance with the plurality of dish identifiers; and providing a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish. The method where the act of determining the at least one portion size includes determining the at  least one portion size to correspond to at least one user-data parameter. The method may include calculating a target caloric intake from at least one user-data parameter, where the act of determining the at least one portion size includes determining the at least one portion size to correspond to the target caloric intake. The method may be such that the at least one portion size is a number of servings of a dish identifier. The method may have that the at least one portion size is a plurality of number of servings corresponding to a plurality of ingredient identifiers of a dish identifier. The method may include receiving a dish selection selectable from the at least one recommendation dish.
The method may include determining a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish. The corresponding portion size corresponds to the dish selection. A size of the at least one recommendation dish may be an identical size of the plurality of dish identifiers. The at least one dietary-preference parameter may be a category type, such as a breakfast label, a lunch label, a dinner label, an afternoon-tea label, a staple food label, a late-night snack label, a pork label, a beef label, a high heat label, and a high sugar label. The at least one dietary-preference parameter may be an ingredient preference. The at least one dietary-preference parameter may be a dish preference. The method may include calculating at least one of a total amount of calories, a total amount of protein, a total amount of fat, and/or a total amount of carbohydrates of the at least one recommendation dish.
The method may include: determining at least one portion size in accordance with the plurality of dish identifiers; determining a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish; calculating a ratio of a target caloric intake for each of the at least one recommendation dish; and adjusting the at least one portion size to achieve the target caloric intake. The act of scoring may include assigning a score weight according to an expert system. The at least one query parameter can correspond to the at least one dietary-preference parameter. The method may calculate a frequency of consumption of the at least one historical recommendation dish. The method may include calculating a frequency of consumption of an ingredient of the at least one historical recommendation dish. The method may include determining at least one portion size based upon at least one of a calorie value, a protein value, a fat value, and a carbohydrate value. The method may include generating the knowledge graph.  The act of scoring the plurality of dish identifiers may include scoring a dish in accordance withThe symbolsβ, and μ may be predetermined constants. The value of ‘a’ can be set to a first value if the dish is in the at least one historical recommendation dish or to a second value if the dish is not in the at least one historical recommendation dish. The variable ‘b’ may be set to a summation of a plurality of inverses where each inverse is an inverse of a frequency of occurrences of ingredients found within the at least one historical recommendation dish when a respective ingredient is an ingredient of the dish. The variable ‘e’ may be set to a first value if the dish is preferred as indicated by the at least one dietary-preference parameter and ‘e’ may be set to a second value if the dish is not indicated as preferred by the at least one dietary-preference parameter. The predetermined number of dish identifiers may be a predetermined number of highest scored dishes of the plurality of the dish identifiers. The may be implemented by an operative set of processor executable instructions configured for execution on at least one processor. Embodiments of the described techniques may include hardware, a method or process, or a computer tangible medium.
In one general aspect, a system may include one or more processors configured to execute an operative set of processor executable instructions. The operative set of processor executable instructions may be configured to: query a knowledge graph with at least one query parameter to receive a plurality of dish identifiers; score the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter; sort the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers; and provide at least one recommendation dish to an user from a predetermined number of dish identifiers from the plurality of dish identifiers. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
Embodiments may include one or more of the following features. The system where the one or more processors are further configured to: calculate at least one dietary target; and receive at least one user-data parameter. The at least one dietary target may be based upon the at least one user-data parameter. The one or more processors may be further configured to receive a dish selection selectable from  the at least one recommendation dish. The one or more processors may be further configured to: determine at least one portion size in accordance with the plurality of dish identifiers; and provide a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish. The one or more processors may be further configured to calculate at least one of a total amount of calories, a total amount of protein, a total amount of fat, and a total amount of carbohydrates of the at least one recommendation dish. The one or more processors may be further configured to: determine at least one portion size in accordance with the plurality of dish identifiers; determine a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish. calculate a ratio of a target caloric intake for each of the at least one recommendation dish; and adjust the at least one portion size to achieve the target caloric intake. The one or more processors may be further configured to score the plurality of dish identifiers in accordance withThe symbolsβ, and μ may be predetermined constants.
The ’a’ may be set to a first value if a respective dish of the plurality of dish identifiers is in the at least one historical recommendation dish or to a second value if the respective dish of the plurality of dish identifiers is not in the at least one historical recommendation dish. The variable ‘b’ may be set to a summation of a plurality of inverses where each inverse is an inverse of a frequency of occurrences of ingredients found within the at least one historical recommendation dish when a respective ingredient is an ingredient of a respective dish of the plurality of dish identifiers. The variable ‘e’ may be set to a first value if a respective dish of the plurality of dish identifiers is preferred as indicated by the at least one dietary-preference parameter and the variable ‘e’ may be set to a second value if the respective dish of the plurality of dish identifiers is not indicated as preferred by the at least one dietary-preference parameter. The predetermined number of dish identifiers from the plurality of dish identifiers may be a predetermined number of the highest scored dishes of the plurality of the dish identifiers. Embodiments of the described techniques may include hardware, a method or process, or a computer tangible medium.
In one general aspect, a readable medium storing software that realizes a method for providing a dietary recommendation to achieve dietary compliance in diabetics when executed by a computer is provided. The method may include instructions for querying a knowledge graph with at least one query parameter to  receive a plurality of dish identifiers. The readable medium may also include instructions for scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter. The readable medium may furthermore include instructions for sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers. The readable medium may in addition include instructions for providing at least one recommendation dish to an user from a predetermined number of dish identifiers from the plurality of dish identifiers. Other embodiments of this aspect include corresponding computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform the actions of the methods.
Embodiments may include one or more of the following features. The readable medium may include instructions such that the act of scoring the plurality of dish identifiers may include scoring a dish in accordance withThe readable medium may haveβ, and μ as predetermined constants. The readable medium may have a set to a first value if the dish is in the at least one historical recommendation dish or to a second value if the dish is not in the at least one historical recommendation dish. The readable medium may have b set to a summation of a plurality of inverses where each inverse is an inverse of a frequency of occurrences of ingredients found within the at least one historical recommendation dish when a respective ingredient is an ingredient of the dish. The readable medium may have ‘e’ set to a first value if the dish is preferred as indicated by the at least one dietary-preference parameter or ‘e’ may be set to a second value if the dish is not indicated as preferred by the at least one dietary-preference parameter. The readable medium may be a non-transitory computer-readable medium. Embodiments of the described techniques may include hardware, a method or process, or a computer tangible medium.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects will become more apparent from the following detailed description of the various embodiments of the present disclosure with reference to the drawings wherein:
Fig. 1 shows a block-diagram illustration of a system having a sever-client configuration for providing dietary recommendations using a knowledge graph in accordance with an embodiment of the present disclosure;
Fig. 2 shows a block-diagram illustration of a computing device for providing dietary recommendations using a knowledge graph in accordance with an embodiment of the present disclosure;
Fig. 3 shows a representation of an exemplary knowledge graph in accordance with an embodiment of the present disclosure; and
Figs. 4A-4B show a flow chart diagram of a method for providing dietary recommendations using a knowledge graph in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION
Referring to Figs. 1 and 3, Fig. 1 shows a block-diagram illustration of a system 100 having a sever-client configuration for providing dietary recommendations using a knowledge graph 300 (see Fig. 3) in accordance with an embodiment of the present disclosure. Knowledge-graph based, diet-recommendation technology can help diabetics achieve their dietary goals while facilitating long-term compliance to diabetics’ nutritional needs by catering to the taste preferences of the diabetic patient.
The knowledge graph 300 is described in more detail below as part of a description of Fig. 3. The system includes a cloud-service provider 102, a personal computer 104, and a mobile device 106. The personal computer 104 and the mobile device 106 communicate via a network 108. The network 108 may be Wi-Fi, ethernet, Bluetooth, etc. and may utilize the internet and associated protocols, such as TCP/IP.
The personal computer 104 and mobile device 106 may interface with the cloud-service provider 102 to receive dish recommendations through a web browser or application. In some embodiments, a specialize application for interfacing with the dish-recommender component 116 may be used, such as a mobile application on the mobile device 106 or a desktop application on the personal computer 104. The communications may include transmitting data in HTML, XML, JSON, YAML, or any data serialization format. The dish-recommender component 116 recommends the dishes 304, 306 (see Fig. 3) and may provide user-level accounts to individuals  through a typical login mechanism. The dish-recommender component 116 may be a web application, a webserver, a web service, etc. and may utilizing one or more protocols to communicate data.
A resource dispatcher 110 may dispatch requests for a dish recommendation to one or more virtual servers 122, each of which has a virtual processor 124, a virtual memory 126, and a virtual disk space 128. The virtual servers 122 can be executed on one or more servers 120 on a server farm 118 as is activated by the resource dispatcher 110.
The dish-recommender component 116 may suggest one or more dishes 304, 306 of Fig. 3 based upon a user’s interaction with the dish-recommender component 116, data in a knowledge-graph database 130, and data in a database 132. The dish-recommender component 116 can suggest to a user one or more dishes 304, 306 such as food staples, snacks, refreshments, drinks, sides, etc.
The dish-recommender component 116 may provide a user a questionnaire to obtain users' dietary preferences and personal information which may be stored in a database 132. The dietary preferences may include favorite foods and tastes. Personal information may include the user's age, gender, height, weight, exercise, and physical-work performed. Based upon the user’s entered information, the dish-recommender component 116 may calculate various dietary targets for the user. The dietary target may include ideal calories, proteins, fats, and carbohydrates that the users should consume in accordance with generally acceptable dietary principals for diabetics. In some embodiments of the present disclosure, a diabetic could enter in the results of a blood glucose test (e.g., manually, electronically, via using an OCR results of a picture of a blood glucose monitor, via a paired Bluetooth glucose monitor etc. ) . Additionally or alternatively, in some embodiments of the present disclosure, a diabetic could enter the amount, type, and time a particular diabetes drug was taken by the user. In these specific and optional embodiments: based upon the blood glucose value and/or taken medication, the algorithm may lower the target carbohydrates, target sugar, and/or may make other adjustments to prevent the diabetic from becoming hyperglycemic or hypoglycemic.
The dietary targets may be adjusted to achieve a weight-loss goal automatically or based upon the user’s input. The user's ideal daily calorie intake is calculated based on the user's personal information (height, weight, work intensity, etc. ) . The user’s personal information is collected legally. The user may have  consented to the collection. Also, the ideal daily intake of proteins, fats, and carbohydrates are calculated according to the ideal calorie intake of the day as is provided by the following formulas:
Ideal daily intake = ideal body weight × energy coefficient
Male: Ideal weight (kg) = [height (cm) -100] ×0.9
Female: Ideal weight (kg) = [height (cm) -100] ×0.9-2.5
The energy coefficient is related to BMI and activity intensity. Different BMI and activity intensities correspond to different energy coefficients as is shown below in Table 1:
Table 1
As previously mentioned, the dish-recommender component 116 may query or interface with the knowledge-graph database 130. The knowledge-graph database 130 may include one or more knowledge graphs 300 for one or more users. A data unit of the knowledge graph in the knowledge-graph database 130 may be a triple, such as (entities, relationships/attributes, entities) . Knowledge graphs 300 are generally stored as triple files or graph data. The knowledge-graph database 130 may be a triplestore or RDF store. The knowledge-graph database 130 may be queryable via a search to find one or more matches in the stored knowledge graph 300. Query languages may be one of Gremlin, Cypher, GQL, PGQL, GSQL, AQL, SPARQL, or any RDF query language.
In some embodiments, the dish-recommender component 116 queries the knowledge-graph database 130 to retrieve all dishes therewithin to score all of the dishes. In some embodiments, a user can enter in search criteria, such as filter that limit the dish-recommender component 116 to only consider a particular category of dishes, dishes with particular ingredients, dishes having a particular spice level, dishes corresponding to a particular keyword, etc., or some combination thereof.
The dish-recommender component 116 can also query the database 132 that includes user information, user dietary preferences, calculated dietary targets, and historical data. The database 132 may be a relational database, such a MySQL, sqlite3, etc. In some embodiments, the database 132 may be a NoSQL database. The historical data may be used to calculate statistics on the frequency of dishes 304, 306 and ingredients 308-324 recommended based upon past user usage.
The dish-recommender component 116 can query the database 132 to obtain the history of dishes 304, 306 recommended to the user previously and the user’s historical selection of dishes 304, 306. The user’s historical selection of dishes 304, 306 may be created by appending each selection of a dish 304, 306 to a table within the database 132. Thus, the database 132 keeps a history of all dishes selected by a user. According to the historical dish data, the recommendation frequency of each dish 304, 306 may be calculated and stored in a dictionary A. The ingredients of these dishes 304, 306 may be determined by data from the knowledge graph 300 which can be used to determine the recommendation frequency of each ingredient 308-324 which can be stored in a dictionary B.
The dish-recommender component 116 may utilize the data obtained from the knowledge-graph database 130 and the database 132 to score one or more dishes 304, 306 by use of a scoring module 112. The dishes 304, 306 may be identified by a dish identifier, which may be a property of a node such as a “node name” . The dish identifier may be any other value that corresponds to a dish node, such as a hash, node ID, dish ID, etc. The scoring module 112 may utilize a scoring rule set according to the patient's dietary preference, historical recommendation data, and data from the knowledge-graph database 130 to assign a score weight to each rule in the rule set. The score weight may be specified according to predetermined criteria, may be adjusted by a user, or may be adjusted according to the recommendation effect. After scoring, the dishes may be sorted from highest to lowest scores. In some embodiments, the dishes may be given a score weight based upon a 4-star recommendation rating.
For example, the scoring rule set may include the following exemplary rules. A rule may use the collection of dishes in dictionary A and the dishes 304, 306 in the knowledge graph 300 to determine whether each dish 304, 306 has been previously eaten or not based upon the user’s history. A dish 304, 306 can have its ‘a’ value set 0 if the user has eaten the dish before or the ‘a’ value of a dish 304, 306 can be set to  a score of a constant, such as a0, if the user has not eaten the dish 304, 306. In alternative embodiments, a dish 304, 306 can have its ‘a’ value set to a score of a constant, such as a0, if the user has not eaten the dish 304, 306 within a trailing predetermined amount of time, such as the last year, month, etc. This is to make sure variety of dishes are recommended and that a balance of nutrition is recommended to the user. The scoring module 112 may utilize a score weightthat is predefine. Another rule may be to use dictionary B to obtain the frequencies of occurrences of ingredients 308-324 of the dish being scored. The inverse of these frequencies of each ingredient 308-324 previously eaten (as is in the dictionary B) are added together to obtain the score b of a dish for the ingredients in the dish being scored. There may be a predetermined weight β which is multiplied to the b as shown in Equation (1) below. Dishes 304, 306 having more ingredients 308-324 will tend to have more ingredients found in Dictionary B and will, consequently, tend to have more inverses of frequencies that are added together to form the b values when the plurality of inverses, where each inverse is an inverse of a frequency of occurrences of ingredients, are summed together from Dictionary B. However, common ingredients in Dictionary B will tend to have lower inverse values because they will tend to have a high frequency values stored in Dictionary B. Likewise, dishes 304, 306 having fewer ingredients 308-324 will tend to have fewer ingredients found in Dictionary B and will, as a consequence, tend to have fewer inverses, where each inverse is an inverse of a frequency of occurrences of ingredients b values, when the inverse frequencies of the ingredients are summed together from Dictionary B. Thus, dishes with more common ingredients receive lower grades and dishes with less common ingredients receive higher grades. According to the knowledge graph 300, the dishes 304, 306 containing the user's preferred food and taste get an ‘e’ value of e0 and the dishes 304, 306 that do not contain the user's preferred food and/or taste get a ‘e’ value of 0. There may be predetermined weight of μ. Each rule weighted average gives the total score y of the dishes, and each dish is sorted according to the score. The symbolsβ, and μ may be predetermined constants. The formula (1) for y is as follows:
However, additional criteria may be utilized so that a nutritionally balanced diet is maintained. Although only one category node 302 for dishes 304, 306 are shown in the knowledge graph 300 in Fig. 3, it is envisioned to have multiple categories stored as multiple category nodes 302 of dishes 304, 306. For example, the knowledge  graph 300 may have three category nodes 302 for breakfast, lunch, and dinner such that: (1) breakfast includes a high protein dish and a porridge; and (2) lunch and dinner each include a meat dish, a vegetarian dish and a staple dish. The dishes 304, 306 may be selected such that there is no duplication of the main ingredients for lunch and dinner dishes. In some embodiments, the knowledge graph 300 is limited to dishes suitable for diabetics and/or suitable for a particular diabetic that is using the software.
The scoring module 112 may calculate the total calorie T_K of all recommended dishes of the dishes 304, 306 according to the knowledge graph 300. The scoring module 112 may calculate the ratio R of the calories of the recommended dishes of the dishes 304, 306 to the user's ideal intake and adjust the recommended amount of ingredients 308-324 in each recommended dish according to R such that the adjustment is an equal proportion adjustment for each ingredient 308-324. The adjustments may be made according to weight, calories, or other value. Although the weight of the ingredients 308-324 and the calorie values of dishes 304, 306 are not linearly related, the following method of scaling the weight of ingredients according to the proportion of calories may be used to control the intake of the diet:
Calories may be calculated as follows: Calories of food (Kcal) = protein content (g) *4 + carbohydrate content (g) *4 + fat content (g) *4 -fiber Content (g) *2
This formula may be used because the user's food intake typically includes a wide range of dishes 304, 306. The selection module 114 may select a predetermined number of dishes 304, 306 in sorted order according to a 4-star scoring system. The predetermined number may be a user-entered value, may be a software configuration setting, and/or may be based upon the screen size of the device interfacing into the dish-recommender component 116.
The dish-recommender component 116 may calculate the total amount of calories, protein, fat and carbohydrates of the recommend dishes 304, 306. This may be done prior to selection of the predetermined number of dishes or after. The dish-recommender component 116 may calculate the ratio of calories to the user's ideal intake K, and adjust the recommended amount of ingredients (portions) in each dish according to K to meet the requirements of controlling dietary intake. The dish-recommender component 116 may provide the dishes 304, 306, along with the adjusted portion sizes, to the user for user selection. The ingredients’ portions may be adjusted proportionally with the portion of the dish. A user can select a dish that he or she intends to consume via a GUI implemented by a selection module 114.
Fig. 2 shows a block-diagram illustration of a computing device 200 for providing dietary recommendations using a knowledge graph 300 in accordance with an embodiment of the present disclosure. The computing device 200 of Fig. 2 may be the personal computer 104 or mobile device 106 of Fig. 1. The computing device 200 includes an IO interface 210 to communicate therewithin. The computing device 200 includes a data store 204, a processor 206, a network interface 208, a memory 224, and user I/O devices 226. The data store 204 stores data and may be a hard drive, flash drive, thumb drive, etc. The processor 206 can execute one or more processor-executable instructions, which may be stored in the data store 204 and/or the memory 224. For example, the processor 206 can execute processor-executable instructions stored in 224 memory that was retrieved by the data store 204. The memory 224 also includes program data 214 that may include information related to the processor-executable instructions. The computing device 200 may include user I/O devices 226, such as a cursor device 230 (e.g., touchscreen or mouse) , a keyboard 232 (virtual or physical) , and/or a monitor 228 (which may be a touchscreen) . The computing device 200 communicates with the network 202 via a network interface 208.
Although the computing device 200 of Fig. 2 may be used as part of the system 100 of Fig. 1, in some embodiments, the dietary recommendation functionality may reside wholly within the computing device 200 of Fig. 2. For example, the dish-recommender component 116 of Fig. 1 may reside within the processor-executable instructions 212 of Fig. 2, as is indicated by the dotted box 234. The knowledge-graph database 220 and the database 222 may store its data in the data store 204. There may be a knowledge-graph database interface program and/or a database interface program stored within the processor-executable instructions 212 as well. Likewise, the dish recommender component 234 may include a scoring module 216 and a selection module 218 that operate in a similar manner as the scoring module 112 and the selection module 114 of Fig. 1. In yet additional embodiments, the dish recommender component 234 may have a hybrid configuration where some of the functionality is implemented on the computing device 200 and some is implemented on the virtual server 122.
Fig. 3 shows a representation of an exemplary knowledge graph 300 in accordance with an embodiment of the present disclosure. The knowledge graph 300 may be stored in the knowledge-graph database 130 of Fig. 1 or stored within the data  store 204 of Fig. 2. The knowledge graph 300 may be a knowledge base of a semantic network. The knowledge graph 300 incorporates a multi-relationship organization.
The knowledge graph 300 includes nodes (a. k. a. vertices) 302-324. Each of the nodes 302-324 may include one or more labels along with properties. The labels of the nodes 302-324 represents its role and/or purpose within the knowledge graph 300. The labels of the nodes 302-324 may refer to things in the real world such as place names, concepts, drugs, ingredients, companies, etc. In the food knowledge graph context, the labels can represent categories, dishes, or ingredients. Each of the nodes 302-324 can have one or more properties that may be key-value pairs. These properties (i.e., attributes) may be used to describe an intrinsic characteristic of the entities represented by a particular node of the nodes 302-324, in some specific embodiments. Each node 302-324 may include an identification, such as a node name, a node serial number, a node hash, etc. In the knowledge graph 300, each of the nodes 302-324 (i.e., "entities" ) may have one or more relationships 326-346 to other nodes 302-324 represented as a directed edge. The relationships 326-346 are used to encode some kind of association between different nodes 302-324. The relationships 326-346 may signify one or many possible kinds of relationships that can be indicated by a relationship label or relationship type. These relationships 326-346 may also have properties expressed in key-value pairs.
The nodes 302-324 may have one of three labels including: ingredients, dishes, and categories. For example, a category node 302 has a property of node name: “Lunch” to indicate that it is a menu for lunch items. A category node may be named, for example, Breakfast, Lunch, Dinner, Afternoon Tea, Staple Food, Late-Night Snack, Spicy, Light, Pork, Beef, High Heat, High Sugar, etc. Although only one category node 302 is shown in Fig. 3 for brevity, in other embodiments, a plurality of different category nodes may be stored within the knowledge graph 300.
One or more dish nodes 304, 306 may have a relationship 326, 328 with the category node 302. As previously mentioned, the relationships 326-346 are represented as directed edges having a relationship type and one or more properties that may be key-value pairs. The dish node 304 has a relationship 326 of “Item of” the category node 302. This indicates that Chicken Soup is an item of Lunch. The servings property of two in the relationship 326 indicates that typically two servings of chicken soup are given during a typical lunch. If the dish node 304 had a relationship  (not shown) to a “snack” category, perhaps the servings property would be one or one-half.
The dish node 304 has six ingredient nodes 308-318 that correspond to six ingredients used to make chicken soup. Each of the ingredient nodes 308-318 indicates how many portions are needed per serving of chicken soup by edges 330-338. The properties of the ingredient nodes 308-318 may include the content of calories, carbohydrates, protein, fat, fiber etc. in a single serving size. In other embodiments, these properties may be listed per 100 g or other unit of measurement.
Another dish 306 is shown as a Burger. The dish node 306 that represents a burger shows three ingredients 320-324. A first ingredient is a beef patty shown as node 320, a second ingredient is a bun shown as node 322, and a final ingredient is a slice of cheese represented as a node 324. Additionally, dishes, ingredients, and/or categories may be added to the knowledge graph 300.
A user may enter in the information which builds the knowledge graph 300 and/or the knowledge graph 300 may be based upon selections made during the questionnaire described above. It can be appreciated, that the ingredients can be proportionally increased or decreased based upon the number of servings being calculated. In consequence, the calories, carbohydrates, proteins, fats, and fiber can also be proportionally adjusted based upon how many servings are being served in a dish. The dishes 304-306 in the knowledge graph 300 are dishes that a diabetic can eat.
Figs. 4A-4B show a flow chart diagram of a method 400 for providing dietary recommendations using a knowledge graph 300 in accordance with an embodiment of the present disclosure. The method 400 includes Acts 402-422. Act 402 generates a knowledge graph. Act 404 receives a dietary-preference parameter. The dietary-preference parameter may be a category type, such as a breakfast label, a lunch label, a dinner label, an afternoon-tea label, a staple food label, a late-night snack label, a pork label, a beef label, a high heat label, and a high sugar label. Additionally or alternatively, the dietary-preference parameter may be an ingredient preference or a dish preference, in some embodiments.
Act 406 receives a user-data parameter or parameters. The user-data parameter may be an age, a gender, a height, a weight, and a work intensity. Act 408 calculates one or more dietary targets based upon the at least one user-data parameter. The targets may be calculated prior to querying the knowledge graph, in  some specific embodiment. Act 410 retrieves one or more historical recommendation dishes from a data store. Act 412 queries the knowledge graph with one or more query parameters to receive dish identifiers. Act 414 scores the dish identifiers in accordance with the dietary preference parameter and the one or more historical recommendation dishes. The historical recommendation dishes may be dishes that have been previously recommend and selected for consumption. In some embodiments of the present disclosure, dishes are retrieved first prior to examination (and/or querying) of ingredients. The historical recommendation dish from the data store may be a null value, which indicates that no historical recommendation dishes are stored within the data store.
Act 416 sorts the dish identifiers in accordance with each respective score of the plurality of dish identifiers. Act 418 determines portion sizes in accordance with the dish identifiers. The portion size may be a number of servings. The portion size may be set to achieve a target caloric intake. The target caloric intake may be calculated using the information from the user-data parameters inputted by the user. These may be achieved by linearly adjusting the ingredients proportionally to adjusting the number of servings of the dish. For example, if a dish is provided as a one-half serving, each ingredient may be reduced by one-half in the single-serving recipe. The portion sizes may also be adjusted to achieve target fat servings, protein servings, or carbohydrate servings. Act 420 provides recommendation dishes to a user from a predetermined number of dish identifiers. In some cases, all recommendation dishes are presented to the user for selection. The recommended dishes may, in some embodiments, be the dish recommendation with a recommended amount without the ingredients shown. In other embodiments, the recommended dishes show the ingredients with their amount in the dish, which can be used as part as a recipe in some embodiments. Act 422 provides portion sizes corresponding to the recommendation dishes. Act 424 receives a dish selection selectable from the dish recommendations.
When the present disclosure mentions dishes, categories, or ingredients and refers to a node, it is submitted that one of ordinary skill in the relevant art would know that the specification refers to the dish, category, or ingredient as represented or encoded by the respective node.
The foregoing disclosure provides illustration and description but is not intended to be exhaustive or to limit the implementations to the precise form disclosed.  Modifications may be made in light of the above disclosure or may be acquired from practice of the implementations. As used herein, the term “component” is intended to be broadly construed as hardware, firmware, or a combination of hardware and software. It will be apparent that systems and/or methods described herein may be implemented in different forms of hardware, firmware, and/or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limiting of the implementations. Thus, the operation and behavior of the systems and/or methods are described herein without reference to specific software code -it being understood that software and hardware can be used to implement the systems and/or methods based on the description herein. As used herein, satisfying a threshold may, depending on the context, refer to a value being greater than the threshold, greater than or equal to the threshold, less than the threshold, less than or equal to the threshold, equal to the threshold, and/or the like, depending on the context. Although particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the disclosure of various implementations. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification.
Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with every other claim in the claim set. No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. Also, as used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more. ” Further, as used herein, the article “the” is intended to include one or more items referenced in connection with the article “the” and may be used interchangeably with “the one or more. ” Furthermore, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, and/or the like) , and may be used interchangeably with “one or more. ” Where only one-item is intended, the phrase “only one” or similar language is used. Also, as used herein, the terms “has, ” “have, ” “having, ” or the like are intended to be open-ended terms. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise. Also, as used herein, the term “or” is intended to be inclusive when used in a series and may be used interchangeably with  “and/or, ” unless explicitly stated otherwise (e.g., if used in combination with “either” or “only one of” ) .
For convenience, a list of references in presented below in Table 2:

Table 2

Claims (36)

  1. A method for providing a dietary recommendation, the method comprising:
    querying a knowledge graph with at least one query parameter to receive a plurality of dish identifiers;
    scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter;
    sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers; and
    providing at least one recommendation dish to a user from a predetermined number of dish identifiers from the plurality of dish identifiers.
  2. The method according to claim 1, further comprising:
    receiving at least one user-data parameter;
    calculating at least one dietary target, wherein the at least one dietary target is based upon the at least one user-data parameter; and
    providing a corresponding portion size corresponding to the dietary target.
  3. The method according to claim 2, wherein the at least one user-data parameter includes at least one of a BMI, an age, a gender, a height, a weight, and a work intensity.
  4. The method according to claim 1, further comprising:
    determining at least one portion size in accordance with the plurality of dish identifiers; and
    providing a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish.
  5. The method according to claim 4, further comprising receiving at least one user-data parameter, wherein the act of determining the at least one portion size includes determining the at least one portion size to correspond to the at least one user-data parameter.
  6. The method according to claim 4, further comprising calculating a target caloric intake from at least one user-data parameter, wherein the act of determining the at least one portion size includes determining the at least one portion size to correspond to the target caloric intake.
  7. The method according to claim 4, wherein the at least one portion size is a number of servings of a dish identifier.
  8. The method according to claim 4, wherein the at least one portion size is a plurality of number of servings corresponding to a plurality of ingredient identifiers of a dish identifier.
  9. The method according to claim 4, further comprising receiving at least one dish selection selectable from the at least one recommendation dish.
  10. The method according to claim 9, further comprising determining a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish, wherein the corresponding portion size corresponds to the at least one dish selection.
  11. The method according to claim 1, wherein a size of the at least one recommendation dish is an identical size of the plurality of dish identifiers.
  12. The method according to claim 1, wherein the at least one dietary-preference parameter is a category type.
  13. The method according to claim 12, wherein the category type is one of a breakfast label, a lunch label, a dinner label, an afternoon-tea label, a staple food label, a late-night snack label, a pork label, a beef label, a high heat label, and a high sugar label.
  14. The method according to claim 1, wherein the at least one dietary-preference parameter is an ingredient preference.
  15. The method according to claim 1, wherein the at least one dietary-preference parameter is a dish preference.
  16. The method according to claim 1, further comprising calculating at least one of a total amount of calories, a total amount of protein, a total amount of fat, and a total amount of carbohydrates of the at least one recommendation dish.
  17. The method according to claim 16, further comprising:
    determining at least one portion size in accordance with the plurality of dish identifiers;
    determining a corresponding portion size from the at least one portion size corresponding to the at least one recommendation dish;
    calculating a ratio of a target caloric intake for each of the at least one recommendation dish; and
    adjusting the at least one portion size to achieve the target caloric intake.
  18. The method according to claim 1, wherein the act of scoring includes assigning a score weight according to an expert system.
  19. The method according to claim 1, wherein the at least one query parameter corresponds to the at least one dietary-preference parameter.
  20. The method according to claim 1, further comprising calculating a frequency of consumption of the at least one historical recommendation dish.
  21. The method according to claim 1, further comprising calculating a frequency of consumption of an ingredient of the at least one historical recommendation dish.
  22. The method according to claim 1, further comprising determining at least one portion size based upon at least one of a calorie value, a protein value, a fat value, and a carbohydrate value.
  23. The method according to claim 1, further comprising generating the knowledge graph.
  24. The method according to claim 1, wherein the act of scoring the plurality of dish identifiers comprises scoring a dish in accordance with
  25. The method according to claim 24, whereinβ, μ are predetermined constants.
  26. The method according to claim 24, wherein a is set to a first value if the dish is in the at least one historical recommendation dish or a second value if the dish is not in the at least one historical recommendation dish.
  27. The method according to claim 24, wherein b is set to a summation of a plurality of inverse frequencies, wherein each frequency is a frequency of occurrences of an ingredient that is found within the at least one historical recommendation dish when the ingredient is part of the dish.
  28. The method according to claim 24, wherein e is set to a first value if the dish is preferred as indicated by the at least one dietary-preference parameter and e is set to a second value if the dish is not indicated as preferred by the at least one dietary-preference parameter.
  29. The method according to claim 1, wherein the predetermined number of dish identifiers from the plurality of dish identifiers are a predetermined number of highest scored dishes of the plurality of the dish identifiers.
  30. The method according to claim 1, wherein the method is implemented by an operative set of processor executable instructions configured for execution on at least one processor.
  31. A system for providing a dietary recommendation, the system comprising:
    a processor means configured to provide:
    a means for querying a knowledge graph with at least one query parameter to receive a plurality of dish identifiers;
    a means for scoring the plurality of dish identifiers in accordance with at least one dietary-preference parameter and at least one historical recommendation dish to thereby achieve a diabetic diet in accordance with the at least one dietary-preference parameter;
    a means for sorting the plurality of dish identifiers in accordance with each respective score of the plurality of dish identifiers; and
    a means for providing at least one recommendation dish to a user from a predetermined number of dish identifiers from the plurality of dish identifiers.
  32. The system according to claim 31, wherein the processor means is further configured to provide a means for implementing the method according to one of Claims 1-30
  33. A system for providing a dietary recommendation implemented by an operative set of processor executable instructions, the system comprising one or more processors configured to execute the operative set of processor executable instructions, wherein the operative set of processor executable instructions are configured to implement the method according to one of Claims 1-30.
  34. A readable medium storing software that realizes a method for providing a dietary recommendation when executed by a computer, the method comprising of one of claims 1-30.
  35. [Rectified under Rule 91, 10.01.2024]
    The readable medium storing software according to claim 34, wherein the readable medium is a non-transitory computer-readable medium.
  36. A computer program product stored on a computer usable medium comprising a computer readable program means for causing a computer to implement the method according to one of Claims 1-30.
PCT/CN2024/071352 2023-01-10 2024-01-09 System, method, and computer-readable medium for providing dietary recommendations using knowledge graphs WO2024149246A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CNPCT/CN2023/071716 2023-01-10
CN2023071716 2023-01-10
CN202310382095.7 2023-04-11
CN202310382095.7A CN118335287A (en) 2023-01-10 2023-04-11 Systems, methods, and computer-readable media for providing diet recommendations using knowledge graphs

Publications (1)

Publication Number Publication Date
WO2024149246A1 true WO2024149246A1 (en) 2024-07-18

Family

ID=89768498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/071352 WO2024149246A1 (en) 2023-01-10 2024-01-09 System, method, and computer-readable medium for providing dietary recommendations using knowledge graphs

Country Status (1)

Country Link
WO (1) WO2024149246A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013123416A2 (en) * 2012-02-17 2013-08-22 Good Measures, Llc Systems and methods for user-specific modulation of nutrient intake

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013123416A2 (en) * 2012-02-17 2013-08-22 Good Measures, Llc Systems and methods for user-specific modulation of nutrient intake

Similar Documents

Publication Publication Date Title
US8647121B1 (en) Food item grading
US9639805B1 (en) Inferring temporal attributes of a recipe
US8504385B2 (en) Personalized nutrition advisor
CN110504019A (en) User individual dietary recommendations continued method, apparatus, electronic equipment and storage medium
US20100136508A1 (en) Meal Plan Management
CN103345591A (en) Personalized nutrition recipe device and method
Eves et al. Food provision and the nutritional implications of food choices made by young adult males, in a young offenders' institution
Ueta et al. A recipe recommendation system based on automatic nutrition information extraction
Chavan et al. A recommender system for healthy food choices: building a hybrid model for recipe recommendations using big data sets
JP2009531768A (en) System and method for recommending recipes
WO2002013046A1 (en) System and method for generating a meal plan
CN103577671A (en) Method and system for generating personalized meal schemes
WO2012156992A2 (en) A system and method for a personal diet management
WO2006031919A1 (en) Method and apparatus for transitioning a diet
JP6410069B1 (en) Recipe information providing apparatus, recipe information providing method, and recipe information providing program
Shirai et al. Identifying ingredient substitutions using a knowledge graph of food
Fahey et al. Conditional Gaussian mixture modelling for dietary pattern analysis
Karikome et al. A system for supporting dietary habits: planning menus and visualizing nutritional intake balance
Wansink et al. The joy of cooking too much: 70 years of calorie increases in classic recipes
Ng et al. Personalized recipe recommendations for toddlers based on nutrient intake and food preferences
WO2024149246A1 (en) System, method, and computer-readable medium for providing dietary recommendations using knowledge graphs
JP6758734B1 (en) Information processing equipment, information processing methods, and programs
CN112528008A (en) Diabetic catering method and device based on knowledge graph
CN118335287A (en) Systems, methods, and computer-readable media for providing diet recommendations using knowledge graphs
Clarke et al. How do cooks actually cook vegetables? A field experiment with low-income households

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24702447

Country of ref document: EP

Kind code of ref document: A1