Machine learning-based food recipe development
Patent Information
- Application Number
- JP2025507418
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-08-07
- Filing Date
- 2023-08-07
- Publication Date
- 2026-08-18
AI Technical Summary
Existing digital cooking assistants are limited to searchable databases of fixed recipes or template-based mechanisms, lacking the ability to dynamically adapt recipes based on user preferences, dietary restrictions, nutritional considerations, and environmental impact, while accounting for complex ingredient interactions and cooking techniques.
A machine learning-based system that generates meta-recipes by training a model on a multidimensional space using feature vectors from a dataset of recipes, allowing for the creation of customized sub-recipes that incorporate user inputs such as dietary constraints, nutritional preferences, and environmental considerations, leveraging graph theory and ontology mapping for fine-tuning.
Enables the generation of varied and customized food recipes that maintain flavor and aroma profiles while adhering to user-specific requirements, providing continuous control over recipe inputs and formalizing culinary processes.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of priority from U.S. Provisional Patent Application No. 63 / 395,840, entitled "MACHINE LEARNING DEVELOPMENT OF FOOD RECIPES," filed August 7, 2022, the contents of which are incorporated herein by reference in their entirety. [Background technology]
[0002]
[0002] Digital gastronomy is an emerging academic field that seeks to apply the power of computer science to the field of gastronomy. In recent years, gastronomy has undergone a process of disruptive transformation as chefs around the world seek to create dishes through exploring the boundaries of art, humanities, and science. Several areas of digital gastronomy attempt to create hybrid experiences in which computational technology serves as a tool to enhance the experience of chefs and diners and emotionally involve individuals in the design process.
[0003]
[0003] The foregoing examples of the related art and their associated limitations are intended to be illustrative and not exhaustive. Other limitations of the related art will become apparent to those skilled in the art upon reading this specification and examining the drawings. Summary of the Invention [Problem to be solved by the invention]
[0004] [Means for solving the problem]
[0004] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools, and methods, which are intended to be typical and illustrative and not limiting in scope.
[0005]
[0005] In one embodiment, there is provided a system including at least one hardware processor and a non-transitory computer-readable storage medium having program instructions stored thereon, the program instructions being executable by the at least one hardware processor to: receive data including a plurality of recipes associated with a specified dish of food to be cooked, each of the recipes including at least ingredients and processing steps; calculate, for each of the recipes, a feature vector representing at least the ingredients, the processing steps, and dependencies between the ingredients and the processing steps; and, during a training phase, train a machine learning model to define a multidimensional space representing a meta-recipe associated with the specified dish based on a training set including (i) all of the feature vectors and (ii) labels associated with the specified dish, to obtain a trained machine learning model configured to create sub-recipe instances of the meta-recipe based on the received input.
[0006]
[0006] In one embodiment, there is also provided a computer-implemented method comprising the steps of receiving data including a plurality of recipes associated with a specified dish of food to be cooked, each of the recipes including at least ingredients and processing steps; calculating, for each of the recipes, a feature vector representing at least the ingredients, the processing steps, and the dependencies between the ingredients and the processing steps; and, during a training phase, training a machine learning model to define a multidimensional space representing a meta-recipe associated with the specified dish based on a training set including (i) all of the feature vectors and (ii) labels associated with the specified dish, to obtain a trained machine learning model configured to create sub-recipe instances of the meta-recipe based on the received input.
[0007]
[0007] In one embodiment, there is further provided a computer program product including a non-transitory computer-readable storage medium having program instructions, the program instructions embodied using the non-transitory computer-readable storage medium, the computer program product being executable by at least one hardware processor to: receive data including a plurality of recipes associated with a specified dish of food to be cooked, each of the recipes including at least ingredients and processing steps; calculate, for each of the recipes, a feature vector representing at least the ingredients, the processing steps and the dependencies between the ingredients and the processing steps; and, during a training phase, train a machine learning model to define a multidimensional space representing a meta-recipe associated with the specified dish based on a training set including (i) all of the feature vectors and (ii) labels associated with the specified dish, to obtain a trained machine learning model configured to create sub-recipe instances of the meta-recipe based on received inputs.
[0008]
[0008] In some embodiments, the program instructions are further executable to create a sub-recipe instance, and the method further includes creating the sub-recipe instance, wherein the received input includes one or more constraints associated with at least one of the following constraint categories: dietary constraints, nutritional constraints, taste preference constraints, aroma preference constraints, cooking technique constraints, allergy constraints, and environmental impact constraints.
[0009] In some embodiments, a sub-recipe instance of a meta-recipe is a point in a multi-dimensional space.
[0010]
[0010] In some embodiments, the data includes food ingredient information associated with at least one of the following categories: taste intensity of the food ingredient, aroma intensity of the food ingredient, nutritional value of the food ingredient, allergens of the food ingredient, compatibility of the food ingredient with dietary restrictions, substitutions of the food ingredient, and environmental impact of the food ingredient.
[0011]
[0011] In some embodiments, the data includes food preparation technique information.
[0012]
[0012] In some embodiments, the data includes information regarding interdependencies between at least some of the food ingredient information and the food preparation technique information.
[0013]
[0013] In addition to the exemplary aspects and embodiments described above, further aspects and embodiments will become apparent by reference to the figures and by review of the following detailed description.
[0014]
[0014] In the referenced figures, exemplary embodiments are shown. Dimensions of components and features shown in the figures have generally been chosen for convenience and clarity of presentation and are not necessarily shown to scale. The figures are listed below. [Brief explanation of the drawings]
[0015] [Figure 1]
[0015] A block diagram of an exemplary system for machine learning-based development of meta-recipes from a given set of variations for a specified dish, according to some embodiments of the present disclosure. [Figure 2]
[0016] 1 is a flowchart of functional steps in a method for machine learning-based development of a meta-recipe from a given set of variations for a specified cuisine, according to some embodiments of the present disclosure. [Figure 3A]
[0017] FIG. 10 illustrates an example of a meta-recipe that has been customized for a kosher diet, according to some embodiments of the present disclosure. [Figure 3B]
[0017] FIG. 1 illustrates an example of a meta-recipe customized for a ketogenic diet, according to some embodiments of the present disclosure. [Figure 3C]
[0017] FIG. 1 illustrates an example of a meta-recipe that has been customized for a vegan diet, according to some embodiments of the present disclosure. [Figure 4A]
[0018] FIG. 1 illustrates a schematic diagram of a process for training a machine learning model, according to some embodiments of the present disclosure. [Figure 4B]
[0018] FIG. 1 is a diagram that schematically illustrates a process for training a machine learning model according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0016]
[0019] Disclosed herein are techniques embodied in systems, methods, and computer program products that provide machine learning-based development of meta-recipes from a given set of variations for a specified cuisine.
[0017]
[0020] As used herein, the term "recipe" is used broadly to refer to any set of instructions that describe how to cook or create a dish of food to be prepared. The term "dish" broadly refers to any specific food preparation that can be made by following the set of instructions contained in a recipe.
[0018]
[0021] As used herein, "meta-recipe" broadly refers to a multi-dimensional space containing multiple recipes (each referred to as a "sub-recipe") for a specified cuisine, in which each sub-recipe can be considered or recognized as an instance of the specified cuisine.
[0019]
[0022] In some embodiments, meta-recipes of the present disclosure encompass a space of variations of potentially similar or related dishes based on the relationships and dependencies between user-defined cooking elements. In some embodiments, each sub-recipe instance can be defined as a normalized numeric input vector that controls the state of the meta-recipe.
[0020]
[0023] In some embodiments, the developed meta-recipe can then be transformed in an automated process into a set of variations for the specified dish based on user-provided input regarding a number of parameters, which in some embodiments may include taste preferences, nutritional considerations, dietary restrictions, environmental requirements, etc.
[0021]
[0024] In some embodiments, the technology provides an automated process for assembling a set of variations on a dish based on user-provided inputs on various parameters. Thus, the technology formalizes and models the natural process of culinary progression, allowing users to generate new configurations from given inputs while taking into account ingredient-level allocation probabilities. This may enable continuous control over flavor, aroma, aesthetics, etc.
[0022]
[0025] In some embodiments, a meta-recipe may be modified for one or more of the following reasons: - To make recipes healthier, - To make the recipe more elaborate (for example, to include more ingredients than an everyday version of the same dish), - Adapting recipes to personal tastes (for example, to remove certain types of ingredients) - Adapting recipes based on medical and / or religious dietary restrictions, and / or - For any other reason, such as environmental concerns.
[0023]
[0026] However, adding additional ingredients or substituting ingredients in a recipe is not a simple task because the complex interactions between ingredients, their quantities, and the timing and sequence of cooking steps must be taken into account to produce a recipe that tastes good to the consumer.
[0024]
[0027] In some embodiments, the present disclosure provides for applying modeling methods using, for example, graph theory and ontology mapping to formally define recipes and enable fine-tuning through vectorized, continuous control over recipe inputs.
[0025]
[0028] In some embodiments, the meta-recipes of the present disclosure provide variation in food preparation and cooking, and the space bounded by the meta-recipe allows for the creation of multiple variations and interpretations of the dish. Thus, in some embodiments, the present disclosure can provide for the customization of food recipes in a controlled manner, where the customized recipe remains an instance of the meta-recipe, but is still customized to the preferences and other requirements of a particular user.
[0026]
[0029] This is in contrast to current recipe-based digital cooking assistants, which may simply be a searchable database of fixed recipes or may use template-based recipe mechanisms that are typically limited to, for example, ingredient substitutions.
[0027]
[0030] Reference is made to FIG. 1, which is a block diagram of an exemplary system 100 for machine learning-based development of meta-recipes from a given set of variations for a specified cuisine, according to some embodiments of the present disclosure.
[0028]
[0031] In some embodiments, system 100 may include a hardware processor 102, and random access memory (RAM) 104, and / or one or more non-transitory computer-readable storage devices 106. In some embodiments, system 100 may store software instructions or components in storage device 106 that are configured to operate a processing unit (also referred to as a “hardware processor,” “CPU,” “quantum computer processor,” or simply “processor”), such as hardware processor 102. In some embodiments, the software components may include an operating system that includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between the various hardware and software components.
[0029]
[0032] The software instructions and / or components that operate the hardware processor 102 may include a cooking data module 106a, an encoder module 106b, and / or a recipe generator 106c.
[0030]
[0033] In some embodiments, system 100 may further include a user interface 108, which may include, for example, a display monitor for displaying images, a control panel for controlling system 100, and a speaker for providing audio feedback.
[0031]
[0034] System 100 described herein is merely an exemplary embodiment of the present invention and may in fact be implemented solely in hardware, solely in software, or a combination of both hardware and software. System 100 may have more or fewer components and modules than shown, may combine two or more of the components, or may have a different configuration or arrangement of the components. System 100 may include any additional components that enable system 100 to function as an operational computer system, such as a motherboard, data bus, power supply, network interface card, display, input devices (e.g., keyboard, pointing device, touch-sensitive display), etc. (not shown). The components of system 100 may be co-located or distributed, or the system may be configured to run as one or more cloud computing “instances,” “containers,” “virtual machines,” or other types of encapsulated software applications, as known in the art.
[0032]
[0035] The operation of system 100 will now be discussed with reference to the flowchart of FIG. 2, which illustrates functional steps in a method 200 for machine learning-based development of a meta-recipe from a given set of variations for a specified cuisine, according to some embodiments of the present disclosure.
[0033]
[0036] The various steps of the method 200 will be described with continued reference to the exemplary system 100 shown in FIG.
[0034]
[0037] The various steps of method 200 can be performed in the order in which they are presented, or in a different order (or even in parallel), so long as the order allows the necessary input for a particular step to be obtained from the output of an earlier step. In addition, the steps of method 200 can be performed automatically (e.g., by system 100 of FIG. 1), except where expressly stated otherwise. In addition, the steps of method 200 are shown for illustrative purposes, and it is expected that modifications to the flowchart will typically be required to accommodate various network configurations and network carrier business policies.
[0035]
[0038] The method 200 begins at step 202, where instructions in the dish data module 106a can cause the system 100 to collect data from multiple data sources, including information about dish ingredients, dish preparation techniques and operations, and dependencies between dish ingredients and preparation techniques.
[0036]
[0039] In some embodiments, the instructions of the recipe data module 106a may cause the system 100 to collect such data from publicly available data sources, for example, on the Internet, using a web crawler and / or any similar online data collection method. In some embodiments, the instructions of the recipe data module 106a may cause the system 100 to create a recipe database based on the collected information, including an ontology of foods and food-related ingredients, including, but not limited to, base foods, flavors, spices, enhancers, sauces, etc.
[0037]
[0040] In some embodiments, the data collected can be obtained from gastronomy literature that elaborates on the concept of gastronomy. These data can be categorized and processed to be included in current databases and useful in digital format, and some of the main insights that can be expected to be gleaned from these sources are as follows: - Data detailing ingredient parameters across a number of categories, including nutritional value, flavor intensity, aroma intensity, etc. - Cooking concepts, including ingredient substitutions, cooking technique details, etc.
[0038]
[0041] In some embodiments, the cuisine database of the present disclosure may include at least some of the following categories of food-related information:
[0039] Cooking ingredients and food combinations
[0042] Food ingredients can best be described by their flavor compound (chemical) profile, which represents a group of sensations including aroma (due to molecules that can bind to olfactory receptors), taste (due to molecules that stimulate taste buds), and freshness or pungency (trigeminal sensation).
[0040]
[0043] In some embodiments, the cooking database of the present disclosure may include information regarding food combining patterns, i.e., identification of rules underlying common cooking ingredient pairings and combinations that are likely to taste good together. This may be based, at least in part, on identifying the influence of flavor compounds on commonly favored ingredient combinations in world cuisines and whether such compounds have any kind of common patterns across the most common recipes.
[0041]
[0044] In some embodiments, the cooking database of the present disclosure may include information about each cooking ingredient, such as a variable associated with the taste intensity of each ingredient based on, for example, a study rating the taste intensity of each ingredient on a scale of 1 to 10. In some embodiments, the taste intensity variables used by the database may include, for example, sweetness intensity, saltiness intensity, bitterness intensity, sourness intensity, umami intensity, and greasiness intensity.
[0042]
[0045] Flavor is typically associated with the four most familiar tastes: sour, salty, bitter, and sweet. However, flavor is a more complex phenomenon involving many more variables. Specifically, flavor is not only perceived through taste buds but also involves many other human sensory functions, such as sight, smell, hearing, touch, memory, and imagination. In some embodiments, taste is perceived through taste buds located on our tongues, which can detect salty, sour, sweet, bitter, and umami flavors. However, carbonic acid, fatty acids, calcium, metallics, and kokumi are other flavors that have been studied as highly relevant. In some embodiments, a specific balance between basic flavors is a prerequisite for successful food preparation; for example, a dish should not be too sweet or too bitter compared to the other flavors. Salt, for example, increases the flavor intensity of a food, while the presence of umami is essential to making a dish more palatable. To codify such constraints in this disclosure, studies were used that provide numerical standards for food flavor intensity that can be used in this context.
[0043]
[0046] In some embodiments, the database of the present disclosure can include variables associated with the aroma emanating from a food product, which can be determined by analyzing the chemical components that cause a human to experience the aroma, e.g., volatile compounds, in the food product. Each food product contains hundreds of volatile compounds, and the resulting aroma of the dish is thereby made up of the volatile compounds contained in each ingredient. Information about the volatile compounds in the ingredients is available from a database that provides a definition of the corresponding chemical compounds contained in each food product and its aroma profile. In some cases, statistical models can be applied to the panel of aroma profile reports to identify aroma clusters.
[0044]
[0047] Additionally, each volatile compound has associated with it a particular aroma profile described by a set of descriptors. For example, the volatile compound 2-ethylfuran is associated with the words "earthy," "sweet," "burnt," and "malty." Thus, the database can include variables representing the frequency of association of particular descriptors with ingredients and / or recipes, and each descriptor can be associated with a set of aroma clusters for classification purposes. For example, for the "dairy" cluster, the associated descriptors can be, e.g., "dairy," "milky," "milk," "buttermilk," "cheesy," "creamy," "creamy," "hot milk," "cultured dairy Parmesan," "Roquefort cheese," and / or "butter." Consequently, if a volatile compound in a particular food is associated with one of these descriptors, the aroma intensity of that particular cluster will thereby increase on a scale from 0 to 1. In some embodiments, aroma cluster descriptors may be derived from culinary and / or academic research and may include, for example, "Maillard," "terpene," "botanical," "fruity," "dairy," "floral," "sulfurous," "ocean," "sour," "phenolic," "pungent," "savory," "meaty," "medicinal," "chocolate," "woody," "spice," "herbal," "berry," "green," "nutty," "gasoline," "caramel," "tropical," "ocean," "earthy," "melon," "citrus," "roasted," "pungent," "smoky," "toast," "savory," "rotten," "sweet," and "woody."
[0045] Nutrition and nutritional value
[0048] In the field of nutrition, data mining has been used to investigate people's adherence to major nutritional guidelines (e.g., regarding intake of sodium, saturated fat, sugars, fruits and vegetables, and fats). In particular, the use of data mining has shown that considering a very small number of foods and their consumption habits is sufficient to determine adherence to dietary guidelines.
[0046]
[0049] Food is composed of macronutrients (carbohydrates, fats, and proteins) and micronutrients (vitamins and minerals). Each component has a specific role in providing our bodies with resources for maintenance, growth, or energy. Nutrition research has led to the development of dietary reference intakes (DRIs), which suggest specific optimal daily intakes for every essential macronutrient and micronutrient. DRIs vary by gender and age. For this purpose, the United States Department of Agriculture (2020) has developed a database containing the exact nutrients of thousands of different foods. These values can be compared to the specific nutrients of any food to create an appropriate diet. While very useful for health professionals, they can be difficult for laypeople to understand. However, the Mediterranean diet, rich in fruits and vegetables, whole grains, and legumes, with moderate amounts of fish and dairy products and limited amounts of red meat, has been widely promoted as a means to achieve a healthy diet because it is highly consistent with DRI values.
[0047] Food Allergies and Intolerances
[0050] In some embodiments, the databases of the present disclosure may include information regarding food allergies and intolerances, such as whether a particular ingredient is suitable for vegans, vegetarians, or pescatarians, and the exact nutrient content (e.g., for protein, fat, carbohydrates, calories, starch, sugars, moisture, caffeine, fiber, calcium, minerals, vitamins, cholesterol, saturated carbohydrates, net carbohydrates, etc.) for each of the ingredients.
[0048] Environmental Considerations
[0051] In some embodiments, the database of the present disclosure can include environmental impact variables associated with a particular material, including variables such as land use, water use, greenhouse gas emissions, eutrophication, and acidification. Land use and water use represent the actual land area and water volume required to produce a particular amount of food. Greenhouse gas emissions measure how much the production of a particular food contributes to climate-warming gas emissions. Eutrophication is a phenomenon that occurs when there is a significant increase in one or more of the elements needed for plant growth, such as sunlight, carbon dioxide, or nutrients. In agriculture, this situation manifests itself due to the large-scale use of fertilizers such as nitrogen and phosphorus. This process can lead to dramatic effects across marine ecosystems and even accelerate the rate of climate warming because it can release vast amounts of methane into the atmosphere. Acidification from agriculture is also caused by the use of certain types of fertilizers and the inefficient use of nitrogen. This leads to a chemical imbalance in the soil, which ultimately results in significantly poor soil quality and subsequent reduction in crop yields.
[0049] Cooking and culinary techniques
[0052] In some embodiments, the database of the present disclosure can include an ontology of food preparation and cooking techniques, their associated parameters, and their interdependencies. In some embodiments, cooking and food preparation techniques can include pre-processing, slicing, julienne, dicing, peeling, cooking, baking, frying, marinating, infusing, steaming, fermenting, cooling, heating, or any combination thereof. In some embodiments, the database includes associations of one or more sets of ingredients with one or more appropriate cooking techniques, for example, based on one or more cooking concepts.
[0050] Complete Recipe
[0053] In some embodiments, the collected data may include multiple published recipes collected from publicly available repositories of recipes (e.g., epicurious.com and allrecipes.com). In some embodiments, each such recipe includes a list of ingredients and their respective quantities, as well as step-by-step cooking instructions. In some cases, the recipe includes nutritional values, user ratings, and / or user comments. In some embodiments, each recipe may be considered an instance or sub-recipe of a meta-recipe to be generated by the present disclosure. In some embodiments, the collected data may include multiple sub-recipe instances that deviate from some of the criteria, thereby defining a space for meta-recipe for a specified dish.
[0051]
[0054] Referring back to FIG. 2, at step 204, instructions in the dish data module 106a may cause the system 100 to create a database containing the data collected at step 202.
[0052]
[0055] In step 206, instructions in the recipe data module 106a may cause the system 100 to encode one or more meta-recipes based on the information captured in the database created in step 204.
[0053]
[0056] In some embodiments, the collected data may include multiple published recipes, including ingredients, quantities, steps, nutritional values, user ratings and comments, etc. In some embodiments, each such recipe may be considered an instance or sub-recipe of the final meta-recipe to be generated by the present disclosure. In some embodiments, the collected data may include multiple sub-recipe instances that deviate from some of the criteria, thereby defining a space for meta-recipe for a specified dish.
[0054]
[0057] 3A-3B show three examples of sub-recipes derived from a meta-recipe for a stir-fry dish. A meta-recipe combines ingredients and functions or processes, along with codified dependencies between the two groups. Thus, a meta-recipe for a stir-fry dish might include, for example, a set of stir-fry-ready elements that are added sequentially to a frying pan, all of which are ultimately combined with a sauce and flavorings. Typically, this meta-recipe consists of a main element, sub-elements that are secondary characteristics and may be high in protein, a multi-ingredient sauce that combines soft and hard textures with aromatic spices, and toppings and garnishes that can be sprinkled on top of the cooked dish to provide aesthetic, fragrant, and / or textural interest to the dish.
[0055]
[0058] The inputs to the meta-recipe can be modified to achieve recipe variations. The meta-recipe variations presented in Figures 3A-3C can be formalized into the following numerical inputs: - Material: The most significant control is provided through the selection of material, with linear control over a continuous normalized value between 0 and 1 representing the minimum / maximum amount of material added. - Functions: Functions allow you to apply any cooking technique to a subset of ingredients or intermediate results throughout a recipe. They contain set definitions of controls, such as temperature or time (how long and at what heat to fry), which can be continuous or omitted entirely. To represent this, functions take as input a defined vector, or a binary input that encodes their behavior. - Dependencies: In a recipe, some functions or ingredient inputs are interdependent. For example, the balance between oil and butter may be interdependent and affect the amount of each used. Dependencies are therefore represented as vectors and incorporated into the meta-recipe.
[0056]
[0059] The meta-recipe shown in Figures 3A-3C represents a space of stir-fry meta-recipe recipes, in which a set of stir-fry-ready ingredients are sequentially added to a frying pan and integrated through heat and motion to create a highly flexible dish. For example, this meta-recipe is composed of a main component (barley, cauliflower, or brown rice, as seen in Figures 3A-3C, respectively), a secondary, high-protein subcomponent (chicken breast, ham, or canned lentils, respectively), and a multi-ingredient sauce (fig / port wine / black pepper / salt, butter / turmeric / curcuma / salt, truffle soy sauce / shiitake mushrooms / asparagus / carrots, respectively) that combines soft and firm textures with aromatic spices. Finally, it has garnishes (pistachios, parsley leaves, and hazelnuts, respectively) that provide aromatic, texture, and aesthetic value to the composition.
[0057]
[0060] These elements are present in all possible instances of the meta-recipe, however, it allows a high degree of flexibility to cater to various profiles, such as kosher, vegan, lactose intolerant, etc. Additionally, for each of the ingredients there is a bounded set of values that allow variation depending on the profile. For example, a young child consumes fewer calories than a 20-year-old man, and therefore the amount served of each ingredient may be minimal. However, the minimum / maximum limits vary in relation to all of the gastronomic variables mentioned above, not just calorie content.
[0058]
[0061] The meta-recipe shown in Figures 3A-3C can encompass variations that can meet different profiles, such as a kosher version (Figure 3A), a ketogenic version (Figure 3B), or a vegan version (Figure 3C).
[0059]
[0062] Tables 1A-1C below show variations of sub-recipe organized to accommodate kosher, ketogenic, and vegan dietary requirements.
[0060] [Table 1]
[0061] [Table 2]
[0062] [Table 3]
[0063]
[0063] When concatenated together, the three strings of input can be thought of as a vector corresponding to each meta-recipe. For a meta-recipe with n ingredients, m functions, and l dependencies, any normalized vector of length n+m+l will encode an instance of such a recipe. Meta-recipes will likely be different from one another, and therefore these input vectors for a set of multiple meta-recipe can be normalized (e.g., through padding) to format all their inputs to the same size.
[0064]
[0064] In some embodiments, a typical meta-recipe schema may correspond to conceptualizing meta-recipes under the umbrella of a single ontology, in this case, for cooking lettuce wraps. ID: ##### Type: Meta recipe Name: Lettuce Wraps Group: Rap material: Type: List item: id: ##### Type: Material Name: Lettuce Pretreatment: id: ##### Type: Functional Description: "Cut" Unit: grams Minimum: 40 Max: 100 #...more ingredients Process: Type: Ordered List item: id: ##### Type: Functional Description: "mix together" Dependencies: #... material: #...
[0065]
[0065] By feeding vectorized input into this schema, any new sub-recipes can be defined, as well as existing collections of recipes can be worked into this framework to achieve contiguous space between separate recipe points.
[0066] In some embodiments, meta-recipes of the present disclosure can have multiple degrees of freedom regarding ingredient amounts and how they are combined with various cooking methods. In some embodiments, this can be formalized as follows: The set of all possible ingredients is a finite set
[0067]
number
[0068]
number
[0069]
number
[0070]
number
[0071]
[0067] The degrees of freedom for a recipe are measured in terms of the amounts of each ingredient, so that for |I| = n, there are n degrees of freedom. Techniques are a bit more complicated because each technique can be parameterized with multiple degrees of freedom (e.g., stir-frying can be done at various temperatures and durations). However, it can still be encoded with m parameters that encompass all of C, where |C| ≦ m.
[0072]
[0068] H⊂R d Let S be a multidimensional space, where the parameters d = n + m encode a meta-recipe. A meta-recipe therefore encompasses a subspace in H, denoted as S ⊂ H, that is, all points r ∈ R where r encodes a feasible input with respect to the encoded meta-recipe. d and is considered an instance of a meta-recipe.
[0073] Each meta-recipe instance or sub-recipe can be vectorized, where the two main vectors per meta-recipe are v i (material), v f(functions), where a dependency on these inputs controls both of them. Each feature vector encodes the inputs for the meta-recipe with values between 0 and 1 and can be sparse. V i ∈[0,1] n ,v f ∈[0,1] m
[0074] In some embodiments, classifying recipes into a meta-recipe space can be performed as follows, given an input vector. C1∈0,1
[0075]
number
[0076]
[0071] Referring again to Figure 2, in step 208, the present disclosure provides a trained machine learning model that maps the meta-recipe to a bounded space containing all instances or sub-recipes. Figures 4A-4B schematically illustrate a process for training a machine learning model of the present disclosure.
[0077] In some embodiments, machine learning models of the present disclosure can be trained on a dataset containing multiple instances and / or sub-recipes associated with a meta-recipe, and recipes can be annotated as points in the space of the meta-recipe. In some embodiments, user input can be used to manually annotate collected recipes collected from external sources, for example, within a nominal bounded space for the meta-recipe. Machine learning techniques can be used to generate a model of the multidimensional space that maps the meta-recipes using supervised learning algorithms.
[0078] In some embodiments, a machine learning model can be trained to perform analysis of recipe instances interpolated from input vectors. In some embodiments, this methodology can fill gaps in recipe evaluation, for example, in issues of taste preference beyond what can be described in literature. Using user labeling as a guide, the trained model of the present disclosure may be able to predict what will taste "good" and appeal to diners.
[0079]
[0074] Thus, the trained machine learning model of the present disclosure can regress over k details that define the output for each recipe instance, e.g., a k-dimensional normalized space, from which conclusions can be interpreted. C2∈[0,1] k
[0080] Using the trained machine learning model of the present disclosure, the present disclosure could begin to perform optimization for each meta-recipe with many goals in mind, such as finding the best inputs (ingredients, features) to produce the most environmentally sustainable dish, the best for vegans, or even the most delicious dish. This optimization would be achieved by combining evaluations across the previous two classifiers.
[0081]
[0076] In some embodiments, in step 210, instructions from the recipe generator 106c can cause the system 100 to apply the machine learning model trained in step 208 to generate one or more sub-recipe instances of the meta-recipe created in step 206 based on the received user instructions.
[0082]
[0077] For example, in some embodiments, instructions of recipe generator 106c may cause system 100 to apply the machine learning model trained in step 208 to generate one or more sub-recipe instances of the meta-recipe that are customized to meet specific requirements, for example, religious or other dietary restrictions or environmental considerations.
[0083] For example, a user following a kosher diet may adhere to certain religious dietary restrictions that prohibit certain foods (e.g., shellfish or pork) or certain combinations (e.g., meat and dairy). Other such users may, for example, be lactose intolerant (unable to digest dairy products), be allergic to certain ingredients (e.g., peanuts), or follow a vegan or vegetarian diet. In some examples, a user may be concerned about the environment or prefer certain tastes and aromas. In some embodiments, a user may combine two or more of these restrictions and requirements.
[0084]
[0079] The present invention may be a system, a method, and / or a computer program product that may include computer-readable storage medium(s) having computer-readable program instructions for causing a processor to carry out aspects of the present invention.
[0085]
[0080] A computer-readable storage medium may be a tangible device capable of retaining and storing instructions for use by an instruction-execution device. A computer-readable storage medium may be, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded device having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, computer-readable storage medium should not be construed as a transitory signal itself, such as an electric wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse passing through a fiber optic cable), or an electrical signal transmitted through an electrical wire. Rather, the computer-readable storage medium is a non-transitory (ie, non-volatile) medium.
[0086] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions to a computer-readable storage medium within the respective computing / processing device for storage.
[0087] Computer-readable program instructions for carrying out the operations of the present invention may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, etc., as well as conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (e.g., through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) may execute computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry to perform aspects of the present invention.
[0088] Aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0089]
[0084] These computer-readable program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, whereby the instructions, executing via the processor of the computer or other programmable data processing apparatus, produce means for performing the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams. These computer-readable program instructions can also be stored on a computer-readable storage medium, and these computer-readable program instructions can instruct a computer, programmable data processing apparatus, and / or other device to function in a particular manner, whereby the computer-readable storage medium having instructions stored thereon comprises a product comprising instructions that implement aspects of the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0090]
[0085] Computer-readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other device, thereby creating a computer-implemented process, whereby the instructions executing on the computer, other programmable apparatus, or other device perform the functions / acts specified in one or more blocks of the flowcharts and / or block diagrams.
[0091]
[0086] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). It will also be recognized that each block of the block diagrams and / or flowchart diagrams, and combinations of blocks in the block diagrams and / or flowchart diagrams, can be implemented by a dedicated hardware-based system that performs the specified functions or acts or executes a combination of dedicated hardware and computer instructions.
[0092]
[0087] The description of a range of numerical values should be considered to have specifically disclosed not only each individual numerical value within that range but also all the possible subranges. For example, description of a range of 1 to 6 should be considered to have specifically disclosed not only each individual numerical value within that range, e.g., 1, 2, 3, 4, 5, and 6, but also subranges such as 1 to 3, 1 to 4, 1 to 5, 2 to 4, 2 to 6, 3 to 6, etc. This is true regardless of the broadness of the range.
[0093]
[0088] The description of various embodiments of the present invention is presented for illustrative purposes and is not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used in this specification have been selected to best explain the principles, practical applications, or technical improvements over technology found in the market of the embodiments, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. At least one hardware processor, A non-temporary computer-readable storage medium that stores program instructions and The program instruction includes, Receiving data containing multiple recipes associated with a specified dish of food to be cooked, wherein each of the recipes includes at least ingredients and processing steps, For each of the above recipes, at a minimum, a feature vector representing the material, the processing step, and the dependency relationship between the material and the processing step is calculated, During the training phase, (i) All of the above feature vectors and (ii) The label associated with the specified dish and Based on a training set including the above, train a machine learning model to define a multidimensional space representing meta-recipes associated with the specified dish, To obtain a trained machine learning model configured to create sub-recipe instances of the meta-recipe based on the received input, and A system that can be executed by at least one hardware processor to perform the following.
2. The system according to claim 1, wherein the program instruction is further executable for creating the subrecipe instance, and the received input includes one or more constraints associated with at least one of the constraint categories: dietary constraints, nutritional constraints, taste preference constraints, aroma preference constraints, cooking technique constraints, allergy constraints, and environmental impact constraints.
3. The system according to claim 1 or 2, wherein the sub-recipe instance of the meta-recipe is a point in the multidimensional space.
4. The system according to claim 1, wherein the data includes food material information associated with at least one of the following categories: taste intensity of the food material, aroma intensity of the food material, nutritional value of the food material, allergens of the food material, compatibility with dietary restrictions of the food material, substitution of the food material, and environmental impact of the food material.
5. The system according to claim 4, wherein the aforementioned data includes information on food preparation technology.
6. The system according to claim 5, wherein the data includes information relating to interdependencies between at least some of the food material information and the food preparation technology information.
7. A step of receiving data containing multiple recipes associated with a specified dish of food to be cooked, wherein each of the recipes includes at least ingredients and processing steps, For each of the above recipes, the steps include calculating a feature vector representing the material, the processing step, and the dependency relationship between the material and the processing step, During the training phase, (i) All of the above feature vectors and (ii) The label associated with the specified dish and Based on a training set including the above, train a machine learning model to define a multidimensional space representing meta-recipes associated with the specified dish, The steps include obtaining a trained machine learning model configured to create sub-recipe instances of the meta-recipe based on the received input, and A computer implementation method, including
8. The computer implementation method according to claim 7, further comprising the step of creating the sub-recipe instance, wherein the received input includes one or more constraints associated with at least one of the constraint categories: dietary constraints, nutritional constraints, taste preference constraints, aroma preference constraints, cooking technique constraints, allergy constraints, and environmental impact constraints.
9. The computer implementation method according to claim 7 or 8, wherein the sub-recipe instance of the meta-recipe is a point in the multidimensional space.
10. The computer implementation method according to claim 7, wherein the data includes food material information associated with at least one of the following categories: taste intensity of the food material, aroma intensity of the food material, nutritional value of the food material, allergens of the food material, compatibility with dietary restrictions of the food material, substitution of the food material, and environmental impact of the food material.
11. The computer implementation method according to claim 10, wherein the data includes information on food preparation technology.
12. The computer implementation method according to claim 11, wherein the data includes information relating to interdependencies between at least some of the food material information and the food preparation technology information.
13. A computer program product comprising a non-temporary computer-readable storage medium having program instructions, wherein the program instructions are embodied using the non-temporary computer-readable storage medium, and the program instructions are Receiving data containing multiple recipes associated with a specified dish of food to be cooked, wherein each of the recipes includes at least ingredients and processing steps, For each of the above recipes, at a minimum, a feature vector representing the material, the processing step, and the dependency relationship between the material and the processing step is calculated, During the training phase, (i) All of the above feature vectors and (ii) The label associated with the specified dish and Based on a training set including the above, train a machine learning model to define a multidimensional space representing meta-recipes associated with the specified dish, To obtain a trained machine learning model configured to create sub-recipe instances of the meta-recipe based on the received input, and A computer program product that is executable by at least one hardware processor in order to perform the following.
14. The computer program product according to claim 13, wherein the program instruction is further executable for creating the subrecipe instance, and the received input includes one or more constraints associated with at least one of the constraint categories: dietary constraints, nutritional constraints, taste preference constraints, aroma preference constraints, cooking technique constraints, allergy constraints, and environmental impact constraints.
15. The computer program product according to claim 13 or 14, wherein the sub-recipe instance of the meta-recipe is a point in the multidimensional space.
16. The computer program product according to claim 13, wherein the data includes food material information associated with at least one of the following categories: taste intensity of the food material, aroma intensity of the food material, nutritional value of the food material, allergens of the food material, compatibility with dietary restrictions of the food material, substitution of the food material, and environmental impact of the food material.
17. The computer program product according to claim 16, wherein the aforementioned data includes information on food preparation technology.
18. The computer program product according to claim 17, wherein the data includes information relating to interdependencies between at least some of the food material information and the food preparation technology information.