WO2025107032A1 - Methods of determining ingredients and controlling food preparation machines - Google Patents
Methods of determining ingredients and controlling food preparation machines Download PDFInfo
- Publication number
- WO2025107032A1 WO2025107032A1 PCT/AU2024/051237 AU2024051237W WO2025107032A1 WO 2025107032 A1 WO2025107032 A1 WO 2025107032A1 AU 2024051237 W AU2024051237 W AU 2024051237W WO 2025107032 A1 WO2025107032 A1 WO 2025107032A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- food
- ingredient
- recipe
- ingredients
- computer
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
- G01N33/02—Food
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/0064—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for processing of food articles
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47J—KITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
- A47J31/00—Apparatus for making beverages
- A47J31/44—Parts or details or accessories of beverage-making apparatus
- A47J31/52—Alarm-clock-controlled mechanisms for coffee- or tea-making apparatus ; Timers for coffee- or tea-making apparatus; Electronic control devices for coffee- or tea-making apparatus
- A47J31/521—Alarm-clock-controlled mechanisms for coffee- or tea-making apparatus ; Timers for coffee- or tea-making apparatus; Electronic control devices for coffee- or tea-making apparatus the electronic control being performed over a network, e.g. by means of a computer or a handheld device
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47J—KITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
- A47J43/00—Implements for preparing or holding food, not provided for in other groups of this subclass
- A47J43/04—Machines for domestic use not covered elsewhere, e.g. for grinding, mixing, stirring, kneading, emulsifying, whipping or beating foodstuffs, e.g. power-driven
- A47J43/07—Parts or details, e.g. mixing tools, whipping tools
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N30/00—Investigating or analysing materials by separation into components using adsorption, absorption or similar phenomena or using ion-exchange, e.g. chromatography or field flow fractionation
- G01N30/02—Column chromatography
- G01N30/62—Detectors specially adapted therefor
- G01N30/72—Mass spectrometers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2136—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on sparsity criteria, e.g. with an overcomplete basis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
Definitions
- the present disclosure broadly relates to recipe creation, determining ingredients, and food preparation. More particularly, the disclosure relates to a system for, and a method of, determining ingredients for recreating a food and controlling a food preparation machine.
- Described herein are methods that can simplify and streamline the creation of new recipes, optimise costs and nutritional value, and allow recipe personalisation.
- the methods and systems described herein allow cooks, FMCG manufacturers, consumers, hospitality hosts and the like to identify promising ingredient combinations and quickly develop them into finalised recipes and easily adapt existing recipes.
- the approaches described herein address the need for personalised dietary solutions and cater to evolving consumer preferences.
- a computer-implemented method of determining ingredients for recreating a food comprising: at a processor: receiving target food characteristics that comprise a mass spectrometry analysis of the food; processing the received target food characteristics to extract food features; and using unsupervised learning comprising sparse coding adapted for ingredient feasibility, comparing the extracted food features with ingredient characteristics to select one or more ingredients suitable for making a food copy.
- the method may comprise: (a) determining the target food characteristics using a mass spectrometry measurements system; and/or (b) retrieving the ingredient characteristics from an ingredient database, wherein the ingredient characteristics include an ingredient feasibility associated with each ingredient; and/or (c) receiving feedback characteristics, and processing the received target food characteristics together with feedback characteristics to extract the food features; and/or (d) storing the selected one or more ingredients in a recipe database as a recipe for making the food copy.
- the unsupervised learning may comprise sparse coding optimisation adapted for ingredient feasibility by including a cost parameter per ingredient.
- a food preparation controller for controlling a food preparation machine comprising an ingredient store with an ingredient delivery module, and a food processing unit, the food preparation controller comprising one or more processors configured to: receive a recipe for making a food copy, wherein the recipe comprises recipe ingredients determined using the method described; based on the received recipe, cause the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle; and cause the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
- Receiving the recipe may comprises: retrieving data from a recipe store, and/or inputting data via a user interface, and/or receiving data via a communication network, and/or requesting data via a communication network.
- the one or more processors may be configured to process the recipe to determine local ingredients based on at least the recipe ingredients and contents of the ingredient store.
- Causing the food processing unit to process the delivered ingredients may comprise one or more of the following: heating, chilling, mixing, shaking, and/or blending the delivered ingredients.
- a method of controlling a food preparation machine comprising an ingredient store with an ingredient delivery module, and a food processing unit, the method comprising: receiving a recipe for making a food copy, wherein the recipe comprises recipe ingredients determined using the method of determining ingredients for recreating a food described; based on the received recipe, causing the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle; and causing the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
- Receiving the recipe may comprise retrieving data from a recipe store, inputting data via a user interface, receiving data via a communication network, and/ or requesting data via a communication network;
- the method may comprise processing the recipe to determine local ingredients (i.e., available ingredients) based on at least the recipe ingredients and contents of the ingredient store.
- Causing the food processing unit to process the delivered ingredients may comprise one or more of the following: heating, chilling, mixing, shaking, or blending the delivered ingredients.
- a data processing system comprising means for carrying out the method of controlling a food preparation machine.
- a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of controlling a food preparation machine.
- a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of controlling a food preparation machine.
- Figure l is a schematic representation of an embodiment of a system for making food and beverages.
- Figure 2 is a block diagram of an example embodiment of a computing device.
- Figure 3 is a flow diagram of an embodiment of a method of determining ingredients for recreating a food.
- Figure 4A is a schematic representation of the components of a mass spectrometry profile for a food.
- Figure 4B illustrates how a combination of mass spectrometry profiles may be used to achieve a combined mass spectrometry profile comparable to that of an original food.
- Figure 5 is a flow diagram of an embodiment of a pattern matching process.
- Figure 6 is a schematic representation of an embodiment of a food preparation controller.
- Figure 7 is a flow diagram of an embodiment of a method of controlling a food preparation machine.
- Figure 8 is a schematic diagram of an embodiment of a food processing machine.
- FIG. 1 of the drawings shows an embodiment of a system 100 that can be used for making food and/or beverages.
- the system includes a computing device 101 running a server 102 in data communication with an ingredient profile database 104 and a recipe database 106.
- a plurality of food preparation controllers 110 each with a controller client 111 and each associated with a respective food preparation machine 112.
- the plurality of food preparation controllers 110 is in communication with the computing device 101 via a communication network 120.
- the food preparation machine 112 may be, for example, a food processor, a cocktail mixer, a coffee maker, or the like.
- the computing device 101 may be in communication with a feedback database 160.
- the feedback database 160 may be updated with user preferences received from various sources, and may include feedback received via one or more of the controllers and/or food preparation machines.
- User devices 150 each with a user client 152 provide the users with access to relevant functionality. This may include, for example, access to personalised recipes, a history of recipes, feedback user interfaces, and the like.
- feedback may be received from users. For example, after a user has received a personalised food beverage, on the user client 152 (e.g., in the form of a mobile app on their device 150), they review the beverage, the review details are received by the server 102, and are stored in the feedback database 160.
- the review data may be used to refine the user’s taste profile and offered products, for example by adjusting a recipe taking into account the review. For example, if a user indicates "it was too sweet", then the sweet ingredients in the recipe may be reduced.
- user feedback may be provided to third parties, e.g., that some customers find their product too sweet.
- FIG. 3 of the drawings is a flow diagram of a method 300 of determining ingredients for recreating a food. This is similar to finding a recipe to achieve a certain taste, nutritional combination, or the like.
- the computing device 101 comprises one or more processors configured to receive (at 302) target food characteristics.
- the “target food characteristics” may include the desired temperature, texture, nutrition, and/or taste of the food or beverage that will be made.
- the target food characteristics may, for example, be provided in the form of a mass spectrometry analysis of the food that is associated with the taste profile of the food.
- the method includes processing the received target food characteristics to extract food features that encompass realistic parameters for a combination of ingredients.
- the method 300 comprises comparing the extracted food features with ingredient characteristics to select one or more ingredients suitable for making a food copy.
- the method may include retrieving the ingredient characteristics from an ingredient database 104.
- the characteristics (being the target food characteristics and/or ingredient characteristics) may comprise one or more food-related parameters including taste, texture, nutritional value (e.g. protein or calorie content), etc.
- the characteristics may comprise one or more non-food related parameters, such as availability, cost, source, etc.
- the method includes determining (at 301) the target food characteristics using a mass spectrometry measurements system.
- the ingredient characteristics include an ingredient feasibility associated with each ingredient.
- Ingredient feasibility may relate to taste, texture, cost, availability, and the like. For example, certain ingredients may need to be controlled in quantity and combination. For instance, it is not feasible to drink a cup of hops oil or mix lemon juice with milk. Some ingredients are expensive, and cheaper alternatives can provide similar flavours. Dietary needs also matter, such as using avocado instead of cream for lactose intolerance.
- the system may include an ingredient feasibility database for storing ingredient feasibility parameters associated with ingredients.
- the method 300 may include receiving feedback characteristics 310, and the received target food characteristics are then processed together with the feedback characteristics (at 304) to extract the food features that represent the desired end product and that are sought within the ingredients.
- the method 300 includes storing the selected one or more ingredients in a recipe database 106 as a recipe for making the food copy.
- the comparison step at 306 comprises unsupervised learning that involves sparse coding optimisation adapted for ingredient feasibility, for example by including a feasibility parameter such as a cost parameter per ingredient.
- the method may be understood with reference to Figures 4A and 4B of the drawings.
- the taste profile of an original beverage is analysed so that a similar beverage with comparable taste profile can be recreated.
- Mass spectrometry can be used to analyse the taste profile of food.
- the mass spectrometry (MS) profile 410 of the original beverage comprises several spectral components. Available ingredients, Component 1 and Component 2, each have a respective MS profile (420 and 430).
- a combination MS profile 440 is created. As shown in Figure 4B, this combination MS profile 440 is similar to or comparable to the original beverage MS profile 410. Therefore, Component 1 and Component 2 may be combined in a beverage recipe to obtain a recreated beverage with a taste profile similar to the original beverage.
- Sparse coding is a technique used in machine learning and signal processing to represent data (like images, audio, or other signals) as a sparse linear combination of basic elements, known as "atoms" or “basis vectors.”
- the goal is to find a set of basis vectors such that each data point can be approximated as a linear combination of a few of these vectors. This leads to a representation that is both sparse (using as few basis vectors as possible) and informative.
- Sparsity relates to representing the data using a small number of non-zero coefficients. This results in a more efficient and compact representation.
- Sparse coding involves learning a dictionary (a set of basis vectors) from data, which can then be used to represent new data points sparsely. It usually involves solving an optimisation problem that balances reconstruction accuracy and sparsity.
- the typical formulation is: where y is the input data, D is the dictionary matrix (to be learned), x is the sparse representation of the data,
- i is the Li-norm (which promotes sparsity), and X is a regularisation parameter that controls the trade-off between reconstruction accuracy and sparsity.
- Sparse coding is typically used to provide efficient, compact, and meaningful data representations and is well suited to tasks involving high-dimensional data.
- MS mass spectrometry
- m/z mass-to-charge ratios
- Mass spectrometry data is also characterised by its noisy nature, resulting from factors like instrumental variability, sample preparation inconsistencies, and environmental influences. Sparse coding proves beneficial in denoising such data, as it focuses on capturing the true signal, thereby emphasizing significant peaks while disregarding noise. Additionally, MS data often contains complex patterns related to molecular structures, fragmentation behaviours, and isotopic distributions. Sparse coding can extract these intricate patterns by learning a set of basis vectors that encapsulate the underlying structure of the data. This capability makes it a powerful tool for feature extraction, aiding in tasks like classification, clustering, and biomarker discovery.
- sparse coding can reconstruct spectra using only a few basis vectors, which enhances the signal-to-noise ratio by filtering out irrelevant noise, thus facilitating easier identification of meaningful peaks. It can also be applied to pattern recognition, enabling the identification of characteristic spectral patterns associated with different conditions, such as distinguishing between healthy and diseased states or differentiating sample types.
- sparse coding supports data compression by reducing storage requirements for large MS datasets, which is particularly advantageous in high-throughput studies. It can also assist in anomaly detection, identifying unusual spectra that deviate from typical patterns, which may indicate unexpected contaminants or novel compounds.
- Mass spectrometry applications can greatly benefit from sparse coding. Given the high-dimensional and often sparse nature of mass spectrometry data, sparse coding provides an effective method for feature extraction, noise reduction, and pattern recognition, leading to more efficient and interpretable representations of complex biochemical information.
- K-SVD K- Singular Value Decomposition
- the K-SVD algorithm is an iterative method that alternates between updating the sparse representations of the data and optimizing the dictionary.
- the algorithm includes initialisation of the dictionary D, and setting the sparsity level T.
- OMP Orthogonal Matching Pursuit
- the optimisation problem is solved for each data sample y.
- the OMP algorithm is then used to find Xi.
- the dictionary D is updated using Singular Value Decomposition, SVD.
- the learned dictionary D is output together with a set of sparse codes X.
- the subsequent step involves comparing these features with existing components stored in a database.
- This comparison entails pattern matching to identify similarities between the newly extracted features and those of known components.
- the extracted feature vectors must undergo normalization to ensure consistency, which may involve scaling them to a specific range or applying L2 normalisation to adjust for differences in magnitude. If the features are highdimensional, dimensionality reduction techniques like Principal Component Analysis (PC A) or t-SNE can be applied to simplify the feature space.
- PC A Principal Component Analysis
- t-SNE can be applied to simplify the feature space.
- the database itself should be structured for efficient retrieval, with each stored component linked to a subset of known features.
- These features can be stored as sparse vectors or as fingerprints that encapsulate the essential characteristics of the components.
- Efficient indexing structures such as KD-trees, ball trees, or Locality-Sensitive Hashing (LSH), facilitate faster search and comparison, particularly in large databases.
- the target food characteristics and/or extracted food features are compared to ingredient characteristics to determine one or more ingredients suitable for making a food copy using sparse coding.
- the process involves learning sparse representations for each dataset independently or jointly, then performing comparisons in the sparse feature space to determine which subsets exhibit similarity.
- the first step is to learn the sparse representations.
- Each dataset is represented as a collection of data samples, denoted as Y x G IR mxW1 for Dataset 1 and Y 2 E IR mxW2 for Dataset 2, where m is the dimensionality of the samples and Ni and N2 are the number of samples in each dataset.
- a sparse coding algorithm is applied to each dataset to learn sparse representations Xi and X2, such that:
- a shared dictionary D may be learned for both datasets to ensure a consistent basis for comparison.
- the next step is normalising the sparse coefficients (Xi and X2) to account for scale differences and ensure meaningful comparisons. Normalisation can, for example, involve Li- or L2-norm scaling.
- the next step is to compare the sparse representations to identify similar subsets between the datasets.
- the similarity between a sample from Dataset 1 and a sample from Dataset 2 can be computed using a similarity metric (e.g. Cosine similarity) or distance metric (e.g., Euclidian distance). By calculating these measures across all pairs of samples, similarity scores or distances are obtained between all combinations of samples from the two datasets.
- a similarity metric e.g. Cosine similarity
- distance metric e.g., Euclidian distance
- the computed similarity measures can then be used to identify subsets in Dataset 2 that correspond closely to specific subsets in Dataset 1. This can be achieved by, for example, retaining pairs with similarity scores above a certain threshold or distances below a threshold, grouping similar samples using clustering techniques like k-means or hierarchical clustering to identify coherent subsets, or for each sample in Dataset 1, finding its nearest neighbours in Dataset 2 based on the similarity measure.
- the resulting similar subsets represent samples from Dataset 2 that align with specific subsets in Dataset 1 in the sparse feature space. This provides insights into shared structures or patterns between the datasets so that one or more ingredients suitable for making a food copy can be identified.
- each beverage x can be represented as a linear combination of ingredients as follows: where q represents the volume of (
- the vector r thus specifies a volume, mass, or other suitable unit for each ingredient, so that the combination of “amounts” result a recipe (although it will be understood that the relative ratios can be used to increase or decrease the final size, quantity, etc. of the food/beverage made).
- a set of K foods/beverages be represented as ?- — and let q.k represent the j th component of the k th recipe vector in R.
- the ingredients are found through optimising the following: is a function associated with a feasibility of an ingredient (for example, reflecting the cost of manufacturing a set of ingredients together with using them according to recipes R).
- C (1Z, X) reflects the feasibility of using and/or creating various ingredients. For example, for some ingredient characteristic vectors (
- the ingredients may include off-the-shelf products (e.g., hop drops), and/or bespoke products (e.g., a beer-like liquid that needs to be brewed).
- bespoke ingredients would typically result in some variation, this can be accommodated by including an analysis of the bespoke ingredients as part of the process. For example, if the recipe creation and application incorporates mass spectrometry, then a MS analysis of the bespoke ingredient can be taken into consideration at the time of recreating the food/beverage in order to adapt the recipe ingredients accordingly.
- the feasibility factor need not be cost, but could relate to taste, chemical composition, health requirements, texture, etc.
- the scalar parameter k is a scaling factor that reflects the relative importance of each term. This is typically determined via a calibration step using a reference data set.
- Equation (2) provides an optimisation-based mechanism for identifying a set of ingredients that might be mixed to reconstruct a set of beverages x. By providing measured characteristics of a set of K beverages, and a cost function C -, •) it is thus possible to determine a set of J ingredients suitable for recreating a food or beverage.
- a food preparation controller associated with a food preparation machine receives a recipe r E which represents the relative amounts, volumes, mass etc. of each of J ingredients from JTto be blended.
- the recipe need only be accessed, received, retrieved, selected, etc. at the time that the food or beverage is made, dispensed, created, served etc., and can be different for each dispensing event.
- the controller Upon receiving a recipe, the controller causes the machine to dispense a specified volume of liquid (or units or mass of dry foodstuff, etc.) such that the relative amounts/volumes of the ingredients are proportioned according to the ratios of ingredients as defined by the recipe r.
- a recipe for x can be recovered by solving equation (3):
- Each recipe r is a vector in U .
- New recipes can thus be created and/or represented by algebraic operations.
- a recipe that is half-way between rb and r a can be constructed as .
- Figure 5 of the drawings is a flow diagram of an embodiment of a pattern matching process 500 used in the comparison step 306 of method 300.
- the pattern matching process 500 optionally includes feature normalisation and preprocessing at 502.
- process 500 compares the two relevant datasets, for example the taste profile (e.g. in the form of a MS analysis) that is aimed for in the final product and the taste profiles of possible ingredients.
- the comparison step may include the use of sparse coding as described elsewhere herein, and/or may include applying a similarity measure or a distance measure to compare the extracted food features with ingredient characteristics to calculate a similarity score.
- Process 500 includes (at 506) applying a comparison threshold or other suitable comparison parameter to the similarity score to identify an ingredient subset.
- Process 500 includes (at 508) assessing combinations within the identified ingredient subset to identify ingredient combinations suitable for making the food copy.
- Selecting the one or more ingredients suitable for making the food copy comprises, at 510, selecting one of the identified ingredient combinations based on criteria that can be predetermined, user defined, determined as part of the learning or comparison processes, or some combination thereof.
- an appropriate similarity or distance measure may be chosen, with options including cosine similarity, Euclidean distance, Manhattan distance, Jaccard similarity, or correlation coefficient, depending on the nature of the feature vectors.
- the system calculates similarity scores or distances relative to the stored components in the database, identifying those with the highest similarity.
- Approximate Nearest Neighbours (ANN) algorithms such as FAISS, Annoy, or FLANN, can be employed to expedite the search process.
- the system assigns the query data point to the category associated with the highest-ranked match. For identification tasks, it retrieves metadata linked to the best-matching component, providing relevant labels, descriptions, or other information. If necessary, post-processing techniques like majority voting, confidence scoring, or ensemble methods may be applied to refine the results, especially when multiple features or criteria are used for matching. Further refinement can also involve hierarchical clustering or graph-based methods to differentiate between closely matched components. The final output includes the most similar components, along with their respective similarity scores or distances. The system may also visualize results using tools such as heatmaps, t-SNE plots, or dendrograms, thereby enhancing interpretability and providing deeper insights into the pattern matching process.
- tools such as heatmaps, t-SNE plots, or dendrograms, thereby enhancing interpretability and providing deeper insights into the pattern matching process.
- This approach is particularly useful in applications like mass spectrometry, where sparse features from a sample spectrum can be compared to a database of known chemical compounds to identify the most similar matches, aiding in tasks such as identifying ingredients or components based on spectral data.
- Figure 6 of the drawings shows a schematic representation of an embodiment of a food preparation controller 610 for controlling a food preparation machine 612 that comprises an ingredient store with an ingredient delivery module, and a food processing unit.
- the food preparation controller comprising one or more processors 620, a control module 630 adapted to output control signals to actuators of the food processing machine 612.
- the one or more processors 620 may comprise the control module 630.
- the food preparation controller 610 includes an I/O module 640 in communication with a user interface 650.
- the controller 610 may include the user interface 650.
- the food preparation controller 610 includes local storage, for example in the form of a local database 660.
- the food preparation controller 610 includes a communications interface 670 for communicating with the server 102.
- Figure 7 of the drawings is a flow diagram of an embodiment of a method 700 of controlling a food preparation machine.
- the one or more processors of the food preparation controller are configured to receive (at 702) a recipe for making a food copy.
- the recipe comprises recipe ingredients determined using the methods described elsewhere herein.
- the method 700 includes, based on the received recipe, causing (at 704) the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle. This may be via solenoids, flow meters, and the like.
- the method 700 includes causing the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
- the food processing may include, for example, heating the ingredients, chilling, mixing, shaking, carbonating, blending or the like.
- the food receptacle may be a serving receptacle.
- the ingredients may be dispensed directly into a glass or cup used for serving.
- receiving the recipe (702) may comprise retrieving data from a recipe store 708, or (at 710) inputting data via a user interface (e.g. a QR code associated with a recipe), and/or requesting and/or receiving data via a communication network (e.g. from the recipe database 106 via the server 102).
- a user interface e.g. a QR code associated with a recipe
- a communication network e.g. from the recipe database 106 via the server 102
- the method 700 may comprise (at 720) processing the recipe to determine local ingredients based on at least the recipe ingredients and contents of the ingredient store.
- FIG. 8 is a schematic diagram of an embodiment of a food processing machine 800 that includes an ingredient store 810 with various ingredient containers 812, an ingredient delivery module 820, and a food processing module 830.
- Various actuators for example in the form of solenoids, flow meters, and the like, are responsive to control signals received from the controller to dispense ingredients into a food or beverage receptacle, for example into a mixing chamber or mixing bowl.
- the food processing machine 800 may optionally include a dispensing module 840 that dispenses the final made beverage or food to a user.
- the dispensing module may include, for example, a tap, a window, a door, components of a vending machine, or the like.
- the ingredient delivery module 820 may incorporate the dispensing module 840.
- Example embodiment 4 recipe recommender
- One of the benefits of the systems and methods described herein is that they facilitate personalisation of foods and beverages. Every food dispensed can be unique. Rather than requiring users to devise their own recipes, a new recipe can be created on the basis of, for example, a user’s general and/or specific preferences, for example a general preference of sweet beverages, or a specific preference of a previously made beverage.
- user preferences can be taken into consideration in the processing step 304 in order to generate a bespoke recipe.
- the feedback may be associated with one particular user, with a user group (where the group may be grouped based on location, demographics, etc.), with a type of ingredient/food/beverage, or combinations of there or other factors.
- the similarity function ⁇ (-, •) measures the correspondence between the scores of two users and [0098] Equation (5) above allows predicting a particular user’s score for a recipe that has not been created previously, but this requires interpolating values for 5* r and
- a database of previous users’ preferences for previous beverages can be used to devise a new recipe f for user C as
- equations (4)-(6) describe using a user’s feedback regarding their own preferences, while equation (7) described also taking into account other users’ feedback.
- the two methods for recipe creation above can be modified to enable users to have direct input into recipe creation, thus enabling them to devise personalised beverage recipes.
- These recipes are represented by a vector r, which can be distributed easily, e.g. electronically via social media, direct messaging, QR code, or the like.
- this recipe recommender method does not require large amounts of data to make an accurate prediction. Instead, the method is able to create a personalised recipe based on a limited number of datapoints due to the use of the combination of mass spectrometry and sparse coding.
- the MA analysis performed on each ingredient provides a bitterness, sweetness, and viscosity to make up ingredients characteristic vectors (4>j).
- )2 [0.9 0.1 0.2]
- >3 [0.2 0.8 0.1]
- whey protein powder 4>1 [0.1 0.3 0.9]
- the recipe vector (rk) [0.4 0.3 0.3] specifies 0.4 (40% cocoa powder), 0.3 (30% stevia), and 0.3 (30% whey protein powder).
- a shake profiles may be given by:
- the ingredient proportions maybe adjusted iteratively to minimise the error. After optimization, the proportions might change to:
- Target Vector Xk [0.1, 0.7, 0.2]
- Cocoa powder (
- )2 [0.9 0.1 0.2];
- Target Vector Xk [0.6, 0.4, 0.5]
- mass spectrometry can be used to analyse the molecular pattern of each ingredient used for a food or beverage.
- the methods described can reduce the proportion of some ingredients in favour of other preferred ingredients (e.g., affordable ingredients) that still achieve the desired flavour profile.
- an original recipe may include whey protein for its protein content (a high-quality, expensive ingredient) and cocoa powder for bitterness.
- the method might optimise costs by reducing the amount of whey protein and replacing part of it with pea protein (a cheaper ingredient that still provides a good protein profile). To maintain the bitterness profile, it might substitute some cocoa powder with a cheaper ingredient like carob powder, which provides similar bitterness but at a lower cost.
- the methods described herein reduce the need for physical trials by simulating and testing ingredient combinations in a virtual environment, significantly saving time, resources, and costs.
- a food preparation machine can then cater for diverse customer preferences while simultaneously gathering data on their flavour choices. This helps producers formulate new recipes that align with evolving consumer trends.
- the systems and methods described herein enable the dispensing of a wide range of foods and beverages according to recipes supplied at the time of dispensing, and based on inputs provided at the time and point of dispensing.
- a novel method of determining the ingredients allows a large variety of foods to be dispensed. Because the recipe is applied at the time of dispensing based on customised or personalised data provides a greater range of foods or beverages that can be dispensed than has previously been possible. Determining individual recipes on the basis of feedback allows users to be provided with their own personalised food or beverage.
- the methods described herein may be used for post-mixable beverages such as beer, gin, seltzer and the like.
- the delivery mechanism is able to mix specified quantities of each ingredient to deliver a combined beverage.
- the recipe specifies the quantities (each quantity being positive).
- the ingredient specification process identifies the ingredients to this process that are best able to generate a set of desired beverages.
- the ingredients that make up the recipes can be provided or made locally.
- the recipes that are based on individual preference are of particular value to the users as they can be customised and/or personalised, and the recipes can move around the world at no cost because they can be in digital form.
- the methods and systems described herein can generate and dispense personalised foods beverages on demand.
- the methods are repeatable, and can be applied at a global scale.
- user preferences with respect to recipes that do not even exist yet can be analysed and applied by combining, averaging, and otherwise processing user preferences at various granularities, i.e., per user, per location, per demographic, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Food Science & Technology (AREA)
- Chemical & Material Sciences (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biochemistry (AREA)
- Analytical Chemistry (AREA)
- Mathematical Physics (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Medicinal Chemistry (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
A computer-implemented method (300) of determining ingredients for recreating a food, the method comprising: at a processor: receiving (302) target food characteristics that comprise a mass spectrometry analysis of the food; processing (304) the received target food characteristics to extract food features; and using unsupervised learning comprising sparse coding adapted for ingredient feasibility, comparing (306) the extracted food features with ingredient characteristics to select one or more ingredients suitable for making a food copy.
Description
Methods of Determining Ingredients and Controlling Food Preparation Machines
Technical Field
[0001] The present disclosure broadly relates to recipe creation, determining ingredients, and food preparation. More particularly, the disclosure relates to a system for, and a method of, determining ingredients for recreating a food and controlling a food preparation machine.
Background
[0002] Creating new food or drink recipes involves finding new ingredient combinations, testing them in basic recipes, and refining them into balanced recipes. This process is time-consuming, costly, and often results in ingredient waste. Additionally, new combinations of ingredients do not always lead to successful end products with desired characteristics, making the effort sometimes futile.
[0003] Current methods can alter known recipes by adjusting ingredient quantities based on taste and aroma targets, but they do not help in discovering or validating new ingredient combinations. These methods also fail to adapt to modem demands for personalised, healthy, and cost-effective food solutions.
[0004] Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present disclosure as it existed before the priority date of each claim of this application.
Summary
[0005] Described herein are methods that can simplify and streamline the creation of new recipes, optimise costs and nutritional value, and allow recipe personalisation. The methods and systems described herein allow cooks, FMCG manufacturers, consumers,
hospitality hosts and the like to identify promising ingredient combinations and quickly develop them into finalised recipes and easily adapt existing recipes. The approaches described herein address the need for personalised dietary solutions and cater to evolving consumer preferences.
[0006] In one aspect there is provided a computer-implemented method of determining ingredients for recreating a food, the method comprising: at a processor: receiving target food characteristics that comprise a mass spectrometry analysis of the food; processing the received target food characteristics to extract food features; and using unsupervised learning comprising sparse coding adapted for ingredient feasibility, comparing the extracted food features with ingredient characteristics to select one or more ingredients suitable for making a food copy.
[0007] The method may comprise: (a) determining the target food characteristics using a mass spectrometry measurements system; and/or (b) retrieving the ingredient characteristics from an ingredient database, wherein the ingredient characteristics include an ingredient feasibility associated with each ingredient; and/or (c) receiving feedback characteristics, and processing the received target food characteristics together with feedback characteristics to extract the food features; and/or (d) storing the selected one or more ingredients in a recipe database as a recipe for making the food copy.
[0008] The unsupervised learning may comprise sparse coding optimisation adapted for ingredient feasibility by including a cost parameter per ingredient.
[0009] The comparing may comprise pattern matching comprising: feature normalisation and preprocessing; applying a similarity measure or a distance measure to compare the extracted food features with ingredient characteristics to calculate a similarity score; applying a comparison threshold to the similarity score to identify an ingredient subset; and assessing combinations within the identified ingredient subset to identify ingredient combinations suitable for making the food copy. Selecting the one
or more ingredients may comprise selecting one of the identified ingredient combinations.
[0010] In another aspect there is provided a data processing system comprising means for carrying out the method described.
[0011] In another aspect there is provided a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method described.
[0012] In another aspect there is provided a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method described.
[0013] In another aspect there is provided a food preparation controller for controlling a food preparation machine comprising an ingredient store with an ingredient delivery module, and a food processing unit, the food preparation controller comprising one or more processors configured to: receive a recipe for making a food copy, wherein the recipe comprises recipe ingredients determined using the method described; based on the received recipe, cause the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle; and cause the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
[0014] Receiving the recipe may comprises: retrieving data from a recipe store, and/or inputting data via a user interface, and/or receiving data via a communication network, and/or requesting data via a communication network.
[0015] The one or more processors may be configured to process the recipe to determine local ingredients based on at least the recipe ingredients and contents of the ingredient store.
[0016] Causing the food processing unit to process the delivered ingredients may comprise one or more of the following: heating, chilling, mixing, shaking, and/or blending the delivered ingredients.
[0017] In another aspect there is provided a method of controlling a food preparation machine comprising an ingredient store with an ingredient delivery module, and a food processing unit, the method comprising: receiving a recipe for making a food copy, wherein the recipe comprises recipe ingredients determined using the method of determining ingredients for recreating a food described; based on the received recipe, causing the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle; and causing the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
[0018] Receiving the recipe may comprise retrieving data from a recipe store, inputting data via a user interface, receiving data via a communication network, and/ or requesting data via a communication network;
[0019] The method may comprise processing the recipe to determine local ingredients (i.e., available ingredients) based on at least the recipe ingredients and contents of the ingredient store.
[0020] Causing the food processing unit to process the delivered ingredients may comprise one or more of the following: heating, chilling, mixing, shaking, or blending the delivered ingredients.
[0021] In another aspect there is provided a data processing system comprising means for carrying out the method of controlling a food preparation machine.
[0022] In another aspect there is provided a computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of controlling a food preparation machine.
[0023] In another aspect there is provided a computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of controlling a food preparation machine.
[0024] Throughout this specification the word “comprise” or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.
Brief Description of Drawings
[0025] Embodiments of the disclosure are now described by way of example with reference to the accompanying drawings in which:
[0026] Figure l is a schematic representation of an embodiment of a system for making food and beverages.
[0027] Figure 2 is a block diagram of an example embodiment of a computing device.
[0028] Figure 3 is a flow diagram of an embodiment of a method of determining ingredients for recreating a food.
[0029] Figure 4A is a schematic representation of the components of a mass spectrometry profile for a food.
[0030] Figure 4B illustrates how a combination of mass spectrometry profiles may be used to achieve a combined mass spectrometry profile comparable to that of an original food.
[0031] Figure 5 is a flow diagram of an embodiment of a pattern matching process.
[0032] Figure 6 is a schematic representation of an embodiment of a food preparation controller.
[0033] Figure 7 is a flow diagram of an embodiment of a method of controlling a food preparation machine.
[0034] Figure 8 is a schematic diagram of an embodiment of a food processing machine.
[0035] In the drawings, like reference numerals designate similar parts.
Detailed Description
[0036] Figure 1 of the drawings shows an embodiment of a system 100 that can be used for making food and/or beverages. The system includes a computing device 101 running a server 102 in data communication with an ingredient profile database 104 and a recipe database 106. A plurality of food preparation controllers 110, each with a controller client 111 and each associated with a respective food preparation machine 112. The plurality of food preparation controllers 110 is in communication with the computing device 101 via a communication network 120. The food preparation machine 112 may be, for example, a food processor, a cocktail mixer, a coffee maker, or the like.
[0037] In some embodiments, the computing device 101 may be in communication with a feedback database 160. The feedback database 160 may be updated with user preferences received from various sources, and may include feedback received via one or more of the controllers and/or food preparation machines.
[0038] User devices 150 each with a user client 152 provide the users with access to relevant functionality. This may include, for example, access to personalised recipes, a history of recipes, feedback user interfaces, and the like. In some embodiments, feedback may be received from users. For example, after a user has received a personalised food beverage, on the user client 152 (e.g., in the form of a mobile app on their device 150), they review the beverage, the review details are received by the server 102, and are stored in the feedback database 160. The review data may be used
to refine the user’s taste profile and offered products, for example by adjusting a recipe taking into account the review. For example, if a user indicates "it was too sweet", then the sweet ingredients in the recipe may be reduced. In some embodiments, user feedback may be provided to third parties, e.g., that some customers find their product too sweet.
[0039] Figure l is a block diagram of an example embodiment of a computing device 200 that can be used in the system described herein, for example as computing device 101 as shown in Figure 1 of the drawings. Each computing device 200 includes a processor 210, storage 220, memory 230, and a communication interface 240 (also referred to as a “data interface” herein) for communicating with other computing devices. The various components of the computing device 200 are interconnected via a bus 250. This configuration may be implemented using a bespoke computing device, or in one or all embodiments standard devices such as a mobile phone, tablet, desktop computer, laptop or the like may be used.
[0040] Figure 3 of the drawings is a flow diagram of a method 300 of determining ingredients for recreating a food. This is similar to finding a recipe to achieve a certain taste, nutritional combination, or the like. The computing device 101 comprises one or more processors configured to receive (at 302) target food characteristics. In some embodiments, the “target food characteristics” may include the desired temperature, texture, nutrition, and/or taste of the food or beverage that will be made. The target food characteristics may, for example, be provided in the form of a mass spectrometry analysis of the food that is associated with the taste profile of the food.
[0041] At 304 the method includes processing the received target food characteristics to extract food features that encompass realistic parameters for a combination of ingredients. At 306 the method 300 comprises comparing the extracted food features with ingredient characteristics to select one or more ingredients suitable for making a food copy. The method may include retrieving the ingredient characteristics from an ingredient database 104.
[0042] The characteristics (being the target food characteristics and/or ingredient characteristics) may comprise one or more food-related parameters including taste, texture, nutritional value (e.g. protein or calorie content), etc. The characteristics may comprise one or more non-food related parameters, such as availability, cost, source, etc.
[0043] In some embodiments, the method includes determining (at 301) the target food characteristics using a mass spectrometry measurements system.
[0044] In some embodiments, the ingredient characteristics include an ingredient feasibility associated with each ingredient. Ingredient feasibility may relate to taste, texture, cost, availability, and the like. For example, certain ingredients may need to be controlled in quantity and combination. For instance, it is not feasible to drink a cup of hops oil or mix lemon juice with milk. Some ingredients are expensive, and cheaper alternatives can provide similar flavours. Dietary needs also matter, such as using avocado instead of cream for lactose intolerance.
[0045] In some embodiments, the system may include an ingredient feasibility database for storing ingredient feasibility parameters associated with ingredients.
[0046] In some embodiments, the method 300 may include receiving feedback characteristics 310, and the received target food characteristics are then processed together with the feedback characteristics (at 304) to extract the food features that represent the desired end product and that are sought within the ingredients.
[0047] In some embodiments, the method 300 includes storing the selected one or more ingredients in a recipe database 106 as a recipe for making the food copy.
[0048] In some embodiments, the comparison step at 306 comprises unsupervised learning that involves sparse coding optimisation adapted for ingredient feasibility, for example by including a feasibility parameter such as a cost parameter per ingredient.
[0049] In general, the method may be understood with reference to Figures 4A and 4B of the drawings. In this example, the taste profile of an original beverage is analysed so that a similar beverage with comparable taste profile can be recreated. Mass spectrometry can be used to analyse the taste profile of food. As shown in Figure 4A, the mass spectrometry (MS) profile 410 of the original beverage comprises several spectral components. Available ingredients, Component 1 and Component 2, each have a respective MS profile (420 and 430). When the component MS profiles 420, 430 are combined, a combination MS profile 440 is created. As shown in Figure 4B, this combination MS profile 440 is similar to or comparable to the original beverage MS profile 410. Therefore, Component 1 and Component 2 may be combined in a beverage recipe to obtain a recreated beverage with a taste profile similar to the original beverage.
Machine Learning: Sparse Coding
[0050] Sparse coding is a technique used in machine learning and signal processing to represent data (like images, audio, or other signals) as a sparse linear combination of basic elements, known as "atoms" or "basis vectors." The goal is to find a set of basis vectors such that each data point can be approximated as a linear combination of a few of these vectors. This leads to a representation that is both sparse (using as few basis vectors as possible) and informative.
[0051] Sparsity relates to representing the data using a small number of non-zero coefficients. This results in a more efficient and compact representation. Sparse coding involves learning a dictionary (a set of basis vectors) from data, which can then be used to represent new data points sparsely. It usually involves solving an optimisation problem that balances reconstruction accuracy and sparsity. The typical formulation is:
where y is the input data, D is the dictionary matrix (to be learned), x is the sparse representation of the data, ||x||i is the Li-norm (which promotes sparsity), and X is a regularisation parameter that controls the trade-off between reconstruction accuracy and sparsity.
[0052] Sparse coding is typically used to provide efficient, compact, and meaningful data representations and is well suited to tasks involving high-dimensional data.
[0053] The output of mass spectrometry (MS) is a type of high-dimensional data that is suitable for sparse coding. Mass spectrometry data typically consists of spectra with intensity values recorded across a wide range of mass-to-charge ratios (m/z), where a single spectrum can contain thousands of m/z values, each representing a potential ion fragment. When analysing multiple samples or time points, the dimensionality of the dataset increases significantly, classifying it as high-dimensional data. Furthermore, these spectra are often sparse, as only a few m/z values exhibit significant intensity peaks, while the majority remain close to zero or are dominated by noise. This inherent sparsity is particularly evident in fields where a limited set of molecules are present in substantial quantities. Sparse coding leverages this sparsity by representing the data using a minimal number of non-zero coefficients, corresponding to the significant m/z peaks.
[0054] Mass spectrometry data is also characterised by its noisy nature, resulting from factors like instrumental variability, sample preparation inconsistencies, and environmental influences. Sparse coding proves beneficial in denoising such data, as it focuses on capturing the true signal, thereby emphasizing significant peaks while disregarding noise. Additionally, MS data often contains complex patterns related to molecular structures, fragmentation behaviours, and isotopic distributions. Sparse coding can extract these intricate patterns by learning a set of basis vectors that encapsulate the underlying structure of the data. This capability makes it a powerful tool for feature extraction, aiding in tasks like classification, clustering, and biomarker discovery.
[0055] Moreover, sparse coding can reconstruct spectra using only a few basis vectors, which enhances the signal-to-noise ratio by filtering out irrelevant noise, thus facilitating easier identification of meaningful peaks. It can also be applied to pattern recognition, enabling the identification of characteristic spectral patterns associated with different conditions, such as distinguishing between healthy and diseased states or
differentiating sample types. In addition to improving data analysis, sparse coding supports data compression by reducing storage requirements for large MS datasets, which is particularly advantageous in high-throughput studies. It can also assist in anomaly detection, identifying unusual spectra that deviate from typical patterns, which may indicate unexpected contaminants or novel compounds.
[0056] Mass spectrometry applications can greatly benefit from sparse coding. Given the high-dimensional and often sparse nature of mass spectrometry data, sparse coding provides an effective method for feature extraction, noise reduction, and pattern recognition, leading to more efficient and interpretable representations of complex biochemical information.
Sparse Coding Example Embodiment 1
[0057] An example of an algorithm suitable for sparse coding is the K-SVD (K- Singular Value Decomposition) algorithm. This method aims to learn a dictionary of basis vectors that can be used to represent the input data sparsely. The process involves two main steps: dictionary learning and sparse coding.
The K-SVD algorithm is an iterative method that alternates between updating the sparse representations of the data and optimizing the dictionary. The algorithm includes initialisation of the dictionary D, and setting the sparsity level T. Using Orthogonal Matching Pursuit, OMP, the optimisation problem is solved for each data sample y. The OMP algorithm is then used to find Xi. Then the dictionary D is updated using Singular Value Decomposition, SVD. After a convergence check, the learned dictionary D is output together with a set of sparse codes X.
[0058] After extracting sparse features from raw data using methods such as sparse coding, the subsequent step involves comparing these features with existing components stored in a database. This comparison entails pattern matching to identify similarities between the newly extracted features and those of known components. Initially, the extracted feature vectors must undergo normalization to ensure consistency, which may involve scaling them to a specific range or applying L2
normalisation to adjust for differences in magnitude. If the features are highdimensional, dimensionality reduction techniques like Principal Component Analysis (PC A) or t-SNE can be applied to simplify the feature space. The database itself should be structured for efficient retrieval, with each stored component linked to a subset of known features. These features can be stored as sparse vectors or as fingerprints that encapsulate the essential characteristics of the components. Efficient indexing structures, such as KD-trees, ball trees, or Locality-Sensitive Hashing (LSH), facilitate faster search and comparison, particularly in large databases.
Sparse Coding Example Embodiment 2
[0059] In another example embodiment, the target food characteristics and/or extracted food features are compared to ingredient characteristics to determine one or more ingredients suitable for making a food copy using sparse coding. The process involves learning sparse representations for each dataset independently or jointly, then performing comparisons in the sparse feature space to determine which subsets exhibit similarity.
[0060] The first step is to learn the sparse representations. Each dataset is represented as a collection of data samples, denoted as Yx G IRmxW1 for Dataset 1 and Y2 E IRmxW2 for Dataset 2, where m is the dimensionality of the samples and Ni and N2 are the number of samples in each dataset. A sparse coding algorithm is applied to each dataset to learn sparse representations Xi and X2, such that:
Yj « DxXi.. Y2 D2X2, where Di and D2 are the learned dictionaries, and Xi and X2 are the sparse coefficient matrices. Alternatively, a shared dictionary D may be learned for both datasets to ensure a consistent basis for comparison.
[0061] The next step is normalising the sparse coefficients (Xi and X2) to account for scale differences and ensure meaningful comparisons. Normalisation can, for example, involve Li- or L2-norm scaling.
[0062] The next step is to compare the sparse representations to identify similar subsets between the datasets. The similarity between a sample from Dataset 1 and a sample from Dataset 2 can be computed using a similarity metric (e.g. Cosine similarity) or distance metric (e.g., Euclidian distance). By calculating these measures across all pairs of samples, similarity scores or distances are obtained between all combinations of samples from the two datasets.
[0063] The computed similarity measures can then be used to identify subsets in Dataset 2 that correspond closely to specific subsets in Dataset 1. This can be achieved by, for example, retaining pairs with similarity scores above a certain threshold or distances below a threshold, grouping similar samples using clustering techniques like k-means or hierarchical clustering to identify coherent subsets, or for each sample in Dataset 1, finding its nearest neighbours in Dataset 2 based on the similarity measure.
[0064] The resulting similar subsets represent samples from Dataset 2 that align with specific subsets in Dataset 1 in the sparse feature space. This provides insights into shared structures or patterns between the datasets so that one or more ingredients suitable for making a food copy can be identified.
[0065] This approach leverages the sparsity and interpretability of the learned representations, allowing for efficient comparison of high-dimensional datasets and identification of meaningful subsets with similar characteristics.
Sparse Coding Example Embodiment 3
Recipes
[0066] In this example embodiment, let the characteristics of a beverage be described by a vector: x G Ikn. In this example we describe both the beverage and its characteristics by x. The characteristics of a beverage might be estimated by a human, or measured by processes such as mass-spectrometry, by chemical testing, or the like.
[0067] Let a set of K beverages be represented as:
[0068] Given a set of beverages X the set of ingredients from which to reconstruct the characteristics xi can be determined as follows. Let both an ingredient and its characteristics be described by a vector (p G IRn. Similarly let a set of J ingredients be i= { fc i-
[0069] The ingredients are combined to recreate a food or beverage. Algebraically this means that each beverage x can be represented as a linear combination of ingredients as follows:
where q represents the volume of (|)j to be added. r i J
[0070] Let the vector r = \rj j=1. The vector r thus specifies a volume, mass, or other suitable unit for each ingredient, so that the combination of “amounts” result a recipe (although it will be understood that the relative ratios can be used to increase or decrease the final size, quantity, etc. of the food/beverage made).
[0071] Specifying a vector r provides a full specification for a beverage, through equation (1). The volume of each ingredient here need only be specified relative to the volume of the other ingredients, and thus the resulting scale indeterminacy can be solved by assuming that
[0072] Let a set of K foods/beverages be represented as ?- —
and let q.k represent the jth component of the kth recipe vector in R. The ingredients are found through optimising the following:
is a function associated with a feasibility of an ingredient (for example, reflecting the cost of manufacturing a set of ingredients together with using them according to recipes R). In some embodiments, C (1Z, X) reflects the feasibility of using and/or creating various ingredients. For example, for some ingredient characteristic vectors (|) it may not be practical to create a corresponding physical ingredient.
[0073] According to equation (2), there are feasibility factors for each ingredient, such as cost, but the total cost of the ingredients required can be minimised to make a given set of products. The ingredients may include off-the-shelf products (e.g., hop drops), and/or bespoke products (e.g., a beer-like liquid that needs to be brewed). Although bespoke ingredients would typically result in some variation, this can be accommodated by including an analysis of the bespoke ingredients as part of the process. For example, if the recipe creation and application incorporates mass spectrometry, then a MS analysis of the bespoke ingredient can be taken into consideration at the time of recreating the food/beverage in order to adapt the recipe ingredients accordingly.
[0074] The feasibility factor need not be cost, but could relate to taste, chemical composition, health requirements, texture, etc.
[0075] The scalar parameter k is a scaling factor that reflects the relative importance of each term. This is typically determined via a calibration step using a reference data set.
[0076] Equation (2) provides an optimisation-based mechanism for identifying a set of ingredients that might be mixed to reconstruct a set of beverages x. By providing measured characteristics of a set of K beverages, and a cost function C -, •) it is thus possible to determine a set of J ingredients suitable for recreating a food or beverage.
Creating a food or beverage using a recipe
[0077] In an example embodiment, a food preparation controller associated with a food preparation machine receives a recipe r E which represents the relative
amounts, volumes, mass etc. of each of J ingredients from JTto be blended. The recipe need only be accessed, received, retrieved, selected, etc. at the time that the food or beverage is made, dispensed, created, served etc., and can be different for each dispensing event.
[0078] Upon receiving a recipe, the controller causes the machine to dispense a specified volume of liquid (or units or mass of dry foodstuff, etc.) such that the relative amounts/volumes of the ingredients are proportioned according to the ratios of ingredients as defined by the recipe r.
The recipe generation process
[0079] In one example embodiment, given a vector of beverage characteristics x, and a set of ingredients Z, a recipe for x can be recovered by solving equation (3):
[0080] Each recipe r is a vector in U . New recipes can thus be created and/or represented by algebraic operations. A recipe that is half-way between rb and ra, for example, can be constructed as
.
[0081] Figure 5 of the drawings is a flow diagram of an embodiment of a pattern matching process 500 used in the comparison step 306 of method 300. The pattern matching process 500 optionally includes feature normalisation and preprocessing at 502. At 503 process 500 compares the two relevant datasets, for example the taste profile (e.g. in the form of a MS analysis) that is aimed for in the final product and the taste profiles of possible ingredients. The comparison step may include the use of sparse coding as described elsewhere herein, and/or may include applying a similarity measure or a distance measure to compare the extracted food features with ingredient characteristics to calculate a similarity score. Process 500 includes (at 506) applying a comparison threshold or other suitable comparison parameter to the similarity score to
identify an ingredient subset. Process 500 includes (at 508) assessing combinations within the identified ingredient subset to identify ingredient combinations suitable for making the food copy.
[0082] Selecting the one or more ingredients suitable for making the food copy comprises, at 510, selecting one of the identified ingredient combinations based on criteria that can be predetermined, user defined, determined as part of the learning or comparison processes, or some combination thereof.
[0083] In some embodiments, to compare the features, an appropriate similarity or distance measure may be chosen, with options including cosine similarity, Euclidean distance, Manhattan distance, Jaccard similarity, or correlation coefficient, depending on the nature of the feature vectors. For each query feature vector, the system calculates similarity scores or distances relative to the stored components in the database, identifying those with the highest similarity. For large databases, Approximate Nearest Neighbours (ANN) algorithms, such as FAISS, Annoy, or FLANN, can be employed to expedite the search process. Once similarity scores are computed, the system applies a threshold to filter out matches that do not meet a predefined similarity level, thus reducing the likelihood of false positives. The remaining matches are ranked by their similarity scores, with higher scores or lower distances indicating closer matches.
[0084] For the purpose of classification, the system assigns the query data point to the category associated with the highest-ranked match. For identification tasks, it retrieves metadata linked to the best-matching component, providing relevant labels, descriptions, or other information. If necessary, post-processing techniques like majority voting, confidence scoring, or ensemble methods may be applied to refine the results, especially when multiple features or criteria are used for matching. Further refinement can also involve hierarchical clustering or graph-based methods to differentiate between closely matched components. The final output includes the most similar components, along with their respective similarity scores or distances. The system may also visualize results using tools such as heatmaps, t-SNE plots, or
dendrograms, thereby enhancing interpretability and providing deeper insights into the pattern matching process.
[0085] This approach is particularly useful in applications like mass spectrometry, where sparse features from a sample spectrum can be compared to a database of known chemical compounds to identify the most similar matches, aiding in tasks such as identifying ingredients or components based on spectral data.
[0086] Figure 6 of the drawings shows a schematic representation of an embodiment of a food preparation controller 610 for controlling a food preparation machine 612 that comprises an ingredient store with an ingredient delivery module, and a food processing unit. The food preparation controller comprising one or more processors 620, a control module 630 adapted to output control signals to actuators of the food processing machine 612. In some embodiments the one or more processors 620 may comprise the control module 630.
[0087] The food preparation controller 610 includes an I/O module 640 in communication with a user interface 650. In some embodiments the controller 610 may include the user interface 650.
[0088] The food preparation controller 610 includes local storage, for example in the form of a local database 660. The food preparation controller 610 includes a communications interface 670 for communicating with the server 102.
[0089] Figure 7 of the drawings is a flow diagram of an embodiment of a method 700 of controlling a food preparation machine. The one or more processors of the food preparation controller are configured to receive (at 702) a recipe for making a food copy. The recipe comprises recipe ingredients determined using the methods described elsewhere herein. The method 700 includes, based on the received recipe, causing (at 704) the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle. This may be via solenoids, flow meters, and the like. At 706, the method 700 includes causing the food processing unit to process the delivered
ingredients in the food receptacle to make the food copy. The food processing may include, for example, heating the ingredients, chilling, mixing, shaking, carbonating, blending or the like.
[0090] In some embodiments the food receptacle may be a serving receptacle. For example, where a beverage is prepared, the ingredients may be dispensed directly into a glass or cup used for serving.
[0091] Optionally, receiving the recipe (702) may comprise retrieving data from a recipe store 708, or (at 710) inputting data via a user interface (e.g. a QR code associated with a recipe), and/or requesting and/or receiving data via a communication network (e.g. from the recipe database 106 via the server 102).
[0092] In some embodiments, the method 700 may comprise (at 720) processing the recipe to determine local ingredients based on at least the recipe ingredients and contents of the ingredient store.
[0093] Figure 8 is a schematic diagram of an embodiment of a food processing machine 800 that includes an ingredient store 810 with various ingredient containers 812, an ingredient delivery module 820, and a food processing module 830. Various actuators, for example in the form of solenoids, flow meters, and the like, are responsive to control signals received from the controller to dispense ingredients into a food or beverage receptacle, for example into a mixing chamber or mixing bowl. The food processing machine 800 may optionally include a dispensing module 840 that dispenses the final made beverage or food to a user. The dispensing module may include, for example, a tap, a window, a door, components of a vending machine, or the like. In some embodiments the ingredient delivery module 820 may incorporate the dispensing module 840.
Example embodiment 4: recipe recommender
[0094] One of the benefits of the systems and methods described herein is that they facilitate personalisation of foods and beverages. Every food dispensed can be unique.
Rather than requiring users to devise their own recipes, a new recipe can be created on the basis of, for example, a user’s general and/or specific preferences, for example a general preference of sweet beverages, or a specific preference of a previously made beverage.
[0095] Referring to the feedback data 310, as shown in Figure 3 of the drawings, user preferences can be taken into consideration in the processing step 304 in order to generate a bespoke recipe. In some embodiments the feedback may be associated with one particular user, with a user group (where the group may be grouped based on location, demographics, etc.), with a type of ingredient/food/beverage, or combinations of there or other factors.
[0096] In one example embodiment, assume that a user has provided ratings (scores) { sl }/= 1 for a provided set of beverages
If we let {n }/=l be the recipes for M , then a beverage that reflects the user’s preferences can be constructed according to recipe:
[0097] To generate and explore new foods/beverages on the basis of scores provided by other users, a collaborative filtering approach may be applied. For example, the score that a user C is predicted to provide for a beverage specified by recipe r may be given by:
where •$ p represents the mean score for recipe r, 5 cf represents the average score of user d and C = {cm}7Ti— i represents the set of users. The similarity function ^(-, •) measures the correspondence between the scores of two users and
[0098] Equation (5) above allows predicting a particular user’s score for a recipe that has not been created previously, but this requires interpolating values for 5* r and
[0099] A database of previous users’ preferences for previous beverages can be used to devise a new recipe f for user C as
[0100] In other words, equations (4)-(6) describe using a user’s feedback regarding their own preferences, while equation (7) described also taking into account other users’ feedback.
[0101] The two methods for recipe creation above can be modified to enable users to have direct input into recipe creation, thus enabling them to devise personalised beverage recipes. These recipes are represented by a vector r, which can be distributed easily, e.g. electronically via social media, direct messaging, QR code, or the like.
[0102] Advantageously, this recipe recommender method does not require large amounts of data to make an accurate prediction. Instead, the method is able to create a personalised recipe based on a limited number of datapoints due to the use of the combination of mass spectrometry and sparse coding.
Example Embodiment 5
[0103] If a user selects 0.2 bitterness level, 0.6 sweetness level and 0.2 viscosity level., then the Target Vector: Xk = [0.2, 0.6, 0.2],
[0104] The MA analysis performed on each ingredient provides a bitterness, sweetness, and viscosity to make up ingredients characteristic vectors (4>j). For example for cocoa powder (|)2 = [0.9 0.1 0.2], for stevia (|>3 = [0.2 0.8 0.1], and for whey protein powder 4>1 = [0.1 0.3 0.9],
[0105] The recipe vector (rk) = [0.4 0.3 0.3] specifies 0.4 (40% cocoa powder), 0.3 (30% stevia), and 0.3 (30% whey protein powder).
[0106] A shake profiles may be given by:
0.4-[0.9 0.1 0.2] + 0.3-[0.2 0.8 0.1] + 0.3-[0.1 0.3 0.9] = [0.45 0.37 0.38], with Error = || [0.2 0.6 0.2] - [0.45 0.37 0.38] ||2 = 0.1478.
[0107] Using optimization techniques (e.g., gradient descent), the ingredient proportions maybe adjusted iteratively to minimise the error. After optimization, the proportions might change to:
Recipe Vector (rk) = [0.3 0.5 0.2]
0.3 (30% cocoa powder)
0.5 (50% stevia)
0.2 (20% whey protein powder)
Shake profile = 0.3-[0.9 0.1 0.2 ]+0.5-[0.2 0.8 0.1 ]+0.2-[0.1 0.3 0.9 ]
= [0.39 0.49 0.29]
(The values represent the level of bitterness, sweetness and viscosity respectively) Error calculation || [0.2 0.6 0.2] - [0.39 0.49 0.29] ||2 = 0.0563
Table 2: Optimised recipe
Example Embodiment 6
[0108] If a user selects 0.1 bitterness level, 0.7 sweetness level and 0.2 viscosity level, the Target Vector Xk = [0.1, 0.7, 0.2], The vector for each ingredient is:
Cocoa powder: (|)2 = [0.9 0.1 0.2];
Stevia: (^3 = [0.2 0.8 0.1];
Whey protein powder: 4> 1 = [0.1 0.3 0.9],
[0109] The initial standard drink Recipe Vector (rk) = [0.4 0.3 0.3], with Shake Profile= [0.45 0.37 0.38], and Error = || [0.10.7 0.2] - [0.45 0.37 0.38] ||2 = 0.5136
[0110] After optimisation using the methods described herein, the recipe vector rk = [0.1 0.6 0.3], with Shake profile = [0.24 0.58 0.35], and Error = || [0.1 0.7 0.2] - [0.24 0.58 0.35] ||2 = 0.0565.
Table 4: Optimised recipe
Example Embodiment 7
[0111] If a user selects 0.6 sweetness level, 0.4 acidity level and 0.5 alcohol level, then the Target Vector Xk = [0.6, 0.4, 0.5],
[0112] If the vector for each ingredient is as follows:
Sugar syrup: 4> 1 = [0.8 0.2 0.0];
Lime juice: (|>2 = [0.1 0.7 0.2]; and vodka: (|>3 = [0.0 0.0 0.9], then the initial standard recipe is given by rk = [0.3 0.5 0.9], with Cocktail profile = [0.34 0.56 0.81], and Error = || [0.6 0.4 0.5] - [0.34 0.56 0.81] ||2 = 0.73
[0113] After optimisation using the methods described herein, the recipe vector becomes rk = [0.5 0.4 0.6], with cocktail profile = [0.44 0.38 0.62], and Error = ||
Table 6: Optimised recipe
[0114] Advantageously, mass spectrometry can be used to analyse the molecular pattern of each ingredient used for a food or beverage. For a protein shake, for example, the methods described can reduce the proportion of some ingredients in favour of other preferred ingredients (e.g., affordable ingredients) that still achieve the desired flavour profile. For example, an original recipe may include whey protein for its protein content (a high-quality, expensive ingredient) and cocoa powder for bitterness. The method might optimise costs by reducing the amount of whey protein and replacing part of it with pea protein (a cheaper ingredient that still provides a good protein profile). To maintain the bitterness profile, it might substitute some cocoa powder with a cheaper ingredient like carob powder, which provides similar bitterness but at a lower cost.
[0115] The methods described herein reduce the need for physical trials by simulating and testing ingredient combinations in a virtual environment, significantly saving time, resources, and costs. A food preparation machine can then cater for diverse customer preferences while simultaneously gathering data on their flavour choices. This helps producers formulate new recipes that align with evolving consumer trends.
[0116] Advantageously, the systems and methods described herein enable the dispensing of a wide range of foods and beverages according to recipes supplied at the time of dispensing, and based on inputs provided at the time and point of dispensing. A novel method of determining the ingredients allows a large variety of foods to be dispensed. Because the recipe is applied at the time of dispensing based on customised or personalised data provides a greater range of foods or beverages that can be dispensed than has previously been possible. Determining individual recipes on the
basis of feedback allows users to be provided with their own personalised food or beverage.
[0117] The methods described herein may be used for post-mixable beverages such as beer, gin, seltzer and the like. The delivery mechanism is able to mix specified quantities of each ingredient to deliver a combined beverage. The recipe specifies the quantities (each quantity being positive). The ingredient specification process identifies the ingredients to this process that are best able to generate a set of desired beverages.
[0118] The ingredients that make up the recipes can be provided or made locally. The recipes that are based on individual preference are of particular value to the users as they can be customised and/or personalised, and the recipes can move around the world at no cost because they can be in digital form.
[0119] The methods and systems described herein can generate and dispense personalised foods beverages on demand. The methods are repeatable, and can be applied at a global scale.
[0120] For example, the popularity of home brewing and craft beer has shown the public enthusiasm for uniqueness in beverages, but the process does not scale. The systems and methods described herein facilitate identical copies of unique foods and beverages to be served globally seconds after being crafted. In this way personalisation is possible at a resolution that has previously been infeasible for foods and/or beverages at any scale, let alone globally.
[0121] Advantageously, due to the ease and scalability of the digital implementation, two users can create a recipe together, and share identical copies of the resulting food or beverage, despite being on opposite sides of the globe.
[0122] Advantageously, user preferences with respect to recipes that do not even exist yet can be analysed and applied by combining, averaging, and otherwise processing
user preferences at various granularities, i.e., per user, per location, per demographic, etc.
[0123] It will be understood to persons skilled in the art of the invention that many modifications may be made without departing from the spirit and scope of the invention.
Claims
1. A computer-implemented method (300) of determining ingredients for recreating a food, the method comprising: at a processor: receiving (302) target food characteristics that comprise a mass spectrometry analysis of the food; processing (304) the received target food characteristics to extract food features; and using unsupervised learning comprising sparse coding adapted for ingredient feasibility, comparing (306) the extracted food features with ingredient characteristics to select one or more ingredients suitable for making a food copy.
2. The method of claim 1, further comprising one or more of the following:
(a) determining (301) the target food characteristics using a mass spectrometry measurements system;
(b) retrieving the ingredient characteristics from an ingredient database (104), wherein the ingredient characteristics include an ingredient feasibility associated with each ingredient;
(c) receiving (310) feedback characteristics, and processing the received target food characteristics together with feedback characteristics to extract the food features; and
(d) storing the selected one or more ingredients in a recipe database (106) as a recipe for making the food copy.
3. The method of claim 1 or claim 2, wherein the unsupervised learning comprises sparse coding optimisation adapted for ingredient feasibility by including a cost parameter per ingredient.
4. The method of any one of the preceding claims, wherein the comparing comprises pattern matching comprising: feature normalisation and preprocessing; applying a similarity measure or a distance measure to compare the extracted food features with ingredient characteristics to calculate a similarity score; applying a comparison threshold to the similarity score to identify an ingredient subset; and assessing combinations within the identified ingredient subset to identify ingredient combinations suitable for making the food copy.
5. The method of claim 4, wherein selecting the one or more ingredients comprises selecting one of the identified ingredient combinations.
6. A data processing system comprising means for carrying out the method of any one of claims 1 to 5.
7. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of any one of claims 1 to 5.
8. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of any one of claims 1 to 5.
9. A food preparation controller for controlling a food preparation machine comprising an ingredient store with an ingredient delivery module, and a food processing unit, the food preparation controller comprising one or more processors configured to: receive a recipe for making a food copy, wherein the recipe comprises recipe ingredients determined using the method of any one of claims 1 to 5; based on the received recipe, cause the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle; and cause the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
10. The food preparation controller of claim 9, wherein one or more of the following apply: receiving the recipe comprises one or more of the following: retrieving data from a recipe store, inputting data via a user interface, receiving data via a communication network, or requesting data via a communication network; the one or more processors are configured to process the recipe to determine local ingredients based on at least the recipe ingredients and contents of the ingredient store; or causing the food processing unit to process the delivered ingredients comprises one or more of the following: heating, chilling, mixing, shaking, or blending the delivered ingredients.
11. A method of controlling a food preparation machine comprising an ingredient store with an ingredient delivery module, and a food processing unit,
the method comprising: receiving a recipe for making a food copy, wherein the recipe comprises recipe ingredients determined using the method of any one of claims 1 to 5; based on the received recipe, causing the ingredient delivery module to deliver ingredients from the ingredient store to a food receptacle; and causing the food processing unit to process the delivered ingredients in the food receptacle to make the food copy.
12. The method of claim 11, wherein one or more of the following apply: receiving the recipe comprises one or more of the following: retrieving data from a recipe store, inputting data via a user interface, receiving data via a communication network, or requesting data via a communication network; the method comprises processing the recipe to determine local ingredients based on at least the recipe ingredients and contents of the ingredient store; or causing the food processing unit to process the delivered ingredients comprises one or more of the following: heating, chilling, mixing, shaking, or blending the delivered ingredients.
13. A data processing system comprising means for carrying out the method of claim 11 or 12.
14. A computer program comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of claim 11 or 12.
15. A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the method of claim 11 or 12.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2023903773 | 2023-11-23 | ||
| AU2023903773A AU2023903773A0 (en) | 2023-11-23 | Mechanical Beverage Device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025107032A1 true WO2025107032A1 (en) | 2025-05-30 |
Family
ID=95825737
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/AU2024/051237 Pending WO2025107032A1 (en) | 2023-11-23 | 2024-11-22 | Methods of determining ingredients and controlling food preparation machines |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025107032A1 (en) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050193901A1 (en) * | 2004-02-18 | 2005-09-08 | Buehler David B. | Food preparation system |
| US20160353932A1 (en) * | 2014-02-14 | 2016-12-08 | The Boeing Company | Multifunction programmable foodstuff preparation |
| US20170292908A1 (en) * | 2016-04-07 | 2017-10-12 | Verifood, Ltd. | Spectrometry system applications |
| US20180149519A1 (en) * | 2012-06-14 | 2018-05-31 | Medibotics Llc | Mobile Device for Food Identification and Quantification using Spectroscopy and Imaging |
| US20190310611A1 (en) * | 2018-04-04 | 2019-10-10 | 6d bytes inc. | Automated Food Production Kiosk |
| US20200365053A1 (en) * | 2019-05-17 | 2020-11-19 | NotCo Delaware, LLC | Systems and methods to mimic target food items using artificial intelligence |
| US11205101B1 (en) * | 2021-05-11 | 2021-12-21 | NotCo Delaware, LLC | Formula and recipe generation with feedback loop |
| WO2022167654A1 (en) * | 2021-02-08 | 2022-08-11 | Marel Further Processing B.V. | A food processing line and method for controlling a food processing line |
-
2024
- 2024-11-22 WO PCT/AU2024/051237 patent/WO2025107032A1/en active Pending
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050193901A1 (en) * | 2004-02-18 | 2005-09-08 | Buehler David B. | Food preparation system |
| US20180149519A1 (en) * | 2012-06-14 | 2018-05-31 | Medibotics Llc | Mobile Device for Food Identification and Quantification using Spectroscopy and Imaging |
| US20160353932A1 (en) * | 2014-02-14 | 2016-12-08 | The Boeing Company | Multifunction programmable foodstuff preparation |
| US20170292908A1 (en) * | 2016-04-07 | 2017-10-12 | Verifood, Ltd. | Spectrometry system applications |
| US20190310611A1 (en) * | 2018-04-04 | 2019-10-10 | 6d bytes inc. | Automated Food Production Kiosk |
| US20200365053A1 (en) * | 2019-05-17 | 2020-11-19 | NotCo Delaware, LLC | Systems and methods to mimic target food items using artificial intelligence |
| WO2022167654A1 (en) * | 2021-02-08 | 2022-08-11 | Marel Further Processing B.V. | A food processing line and method for controlling a food processing line |
| US11205101B1 (en) * | 2021-05-11 | 2021-12-21 | NotCo Delaware, LLC | Formula and recipe generation with feedback loop |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11847684B2 (en) | Systems and method for tracking consumer tasting preferences | |
| Sajadmanesh et al. | Kissing cuisines: Exploring worldwide culinary habits on the web | |
| US9784722B2 (en) | Systems and methods for evaluation of wine characteristics | |
| US20130080438A1 (en) | Systems and Methods for Wine Ranking | |
| CN105787055B (en) | Information recommendation method and device | |
| US20160284004A1 (en) | Methods, Systems, Computer Program Products and Apparatuses for Beverage Recommendations | |
| WO2015110925A2 (en) | Method and system for creating a food or drink recipe | |
| Vasiloglou et al. | Multimedia data-based mobile applications for dietary assessment | |
| Gbashi et al. | Application of a generative adversarial network for multi-featured fermentation data synthesis and artificial neural network (ANN) modeling of bitter gourd–grape beverage production | |
| CN107851183A (en) | Systems and methods for providing recipes | |
| CN111008331A (en) | Shop-side display method and device, electronic equipment and storage medium | |
| CN110851571B (en) | Data processing method, device, electronic device, and computer-readable storage medium | |
| CN110458602B (en) | Product recommendation method, device, electronic device and storage medium | |
| Ribeiro et al. | A comparison of machine learning algorithms for predicting consumer responses based on physical, chemical, and physical–chemical data of fruits | |
| WO2025107032A1 (en) | Methods of determining ingredients and controlling food preparation machines | |
| CN108416628A (en) | An intelligent recommendation system for restaurant dishes that integrates food multi-attribute relationships | |
| US20200279280A1 (en) | Algorithmic generation, qualification, and ranking of potential sales leads for human consumable nondurable goods | |
| CN116703503A (en) | A method and system for intelligently recommending dishes in a campus cafeteria | |
| US12014323B2 (en) | Systems and methods for controlling production and distribution of consumable items based on their chemical profiles | |
| TWI687892B (en) | Information processing apparatus, information processing system, information processing method, and program | |
| US11830056B2 (en) | Providing local recommendations based on images of consumable items | |
| Davarzani et al. | Systematic selection of competing metabolomics methods in a metabolite-sensory relationship study | |
| Xie et al. | Geographical origin discrimination of black beans using near-infrared (NIR) spectroscopy combined with fuzzy regularized complete linear discriminant analysis (FRCLDA) | |
| CN113010810B (en) | Service information ordering system, method and device and electronic equipment | |
| Mouthami et al. | A Healthy Food Recommendation System Using KNN Model and Elasticsearch With Quantum Computing |
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: 24892521 Country of ref document: EP Kind code of ref document: A1 |