US2022012566A1PendingUtilityA1
Controllable formula generation
Est. expiryJul 8, 2040(~14 yrs left)· nominal 20-yr term from priority
Inventors:Ofer Philip KorsunskyYoav NavonAadit PatelCarolina CarrielCatalina DonosoKarim PicharaPaula Pesse Delpiano
G06N 3/045G06N 3/044G06N 7/01G06N 3/088G06N 3/042G06N 3/047G06N 3/0442G06N 3/096G06N 3/0895G06N 3/0475G06N 3/0455G06N 3/084G06N 3/0454G06N 3/0427
61
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Techniques to mimic a target food item using artificial intelligence are disclosed. A formula generator learns from open source and proprietary databases of ingredients and recipes. The formula generator is trained using features of the ingredients and using recipes. Given a target food item, the formula generator determines a formula that matches the given target food item and a score for the formula. The formula generator may generate, based on user-provided control definitions, numerous formulas that match the given target food item and may select an optimal formula from the generated formulas based on score.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method comprising:
sampling, according to at least one control definition, a latent space generated by a first autoencoder model to obtain a latent code, wherein the at least one control definition directs where in the latent space to sample, wherein the first autoencoder model is trained to obtain the latent space with a probability distribution of a particular training set comprising groups of vectors representing a plurality of recipes, wherein each recipe of the plurality of recipes corresponds to one group from the groups of vectors; and generating by the first autoencoder model a candidate set of ingredients from the latent code based on a particular encoded representation of a plurality of ingredients.
2 . The method of claim 1 , further comprising:
creating a certain training set for use in training a second autoencoder model, the certain training set comprising a plurality of input vectors associated with the plurality of ingredients, wherein each ingredient of the plurality of ingredients corresponds to an input vector of the plurality of input vectors; and training, using the certain training set, the second autoencoder model to generate a particular encoded representation of the plurality of ingredients; wherein the candidate set of ingredients is generated based on the particular encoded representation of the plurality of ingredients generated by the second autoencoder model.
3 . The method of claim 1 , wherein the at least one control definition comprises a target vector control definition received after the first autoencoder model is trained, wherein the target vector control definition describes a new characterization of features in a target vector.
4 . The method of claim 1 , wherein the at least one control definition comprises a feature ratios control definition received after the first autoencoder model is trained, wherein the feature ratios control definition describes a ratio of desired ingredients, wherein the candidate set of ingredients includes the desired ingredients according to the ratio.
5 . The method of claim 1 , wherein the at least one user-provided control definition comprises a combinations of ingredients control definition received after the first autoencoder model is trained, wherein the combinations of ingredients control definition describes one or more ingredient combinations each including at least a desired ingredient, wherein the candidate set of ingredients includes all ingredients of one of the one or more ingredient combinations.
6 . The method of claim 1 , wherein the at least one user-provided control definition comprises a flavors control definition received after the first autoencoder model is trained, wherein the flavors control definition describes a desired flavor profile, wherein a flavor of the candidate set of ingredients matches the desired flavor profile.
7 . The method of claim 1 , wherein decoding the latent code comprises:
obtaining a certain encoded representation of the plurality of ingredients based on the particular encoded representation of the plurality of ingredients that is generated by a second autoencoder model; and using the certain encoded representation of the plurality of ingredients to decode the latent code.
8 . The method of claim 7 , wherein obtaining the certain encoded representation of the plurality of ingredients from the particular encoded representation of the plurality of ingredients includes masking out particular ingredients in the particular encoded representation of the plurality of ingredients.
9 . The method of claim 1 , further comprising:
determining a score for the candidate set of ingredients; based on at least the score for the candidate set of ingredients and according to the at least one control definition, resampling the latent space of the first autoencoder model to generate another candidate set of ingredients; and determining a score for the another candidate set of ingredients.
10 . One or more non-transitory computer-readable storage media storing one or more instructions programmed for generating a candidate set of ingredients, when executed by one or more computing devices, cause:
sampling, according to at least one control definition, a latent space generated by a first autoencoder model to obtain a latent code, wherein the at least one control definition directs where in the latent space to sample, wherein the first autoencoder model is trained to obtain the latent space with a probability distribution of a particular training set comprising groups of vectors representing a plurality of recipes, wherein each recipe of the plurality of recipes corresponds to one group from the groups of vectors; and generating by the first autoencoder model a candidate set of ingredients from the latent code based on a particular encoded representation of a plurality of ingredients.
11 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the one or more instructions, when executed by the one or more computing devices, further cause:
creating a certain training set for use in training a second autoencoder model, the certain training set comprising a plurality of input vectors associated with the plurality of ingredients, wherein each ingredient of the plurality of ingredients corresponds to an input vector of the plurality of input vectors; and training, using the certain training set, the second autoencoder model to generate a particular encoded representation of the plurality of ingredients; wherein the candidate set of ingredients is generated based on the particular encoded representation of the plurality of ingredients generated by the second autoencoder model.
12 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the at least one control definition comprises a target vector control definition received after the first autoencoder model is trained, wherein the target vector control definition describes a new characterization of features in a target vector.
13 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the at least one control definition comprises a feature ratios control definition received after the first autoencoder model is trained, wherein the feature ratios control definition describes a ratio of desired ingredients, wherein the candidate set of ingredients includes the desired ingredients according to the ratio.
14 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the at least one user-provided control definition comprises a combinations of ingredients control definition received after the first autoencoder model is trained, wherein the combinations of ingredients control definition describes one or more ingredient combinations each including at least a desired ingredient, wherein the candidate set of ingredients includes all ingredients of one of the one or more ingredient combinations.
15 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the at least one user-provided control definition comprises a flavors control definition received after the first autoencoder model is trained, wherein the flavors control definition describes a desired flavor profile, wherein a flavor of the candidate set of ingredients matches the desired flavor profile.
16 . The one or more non-transitory computer-readable storage media of claim 10 , wherein decoding the latent code comprises:
obtaining a certain encoded representation of the plurality of ingredients based on the particular encoded representation of the plurality of ingredients that is generated by a second autoencoder model; and using the certain encoded representation of the plurality of ingredients to decode the latent code.
17 . The one or more non-transitory computer-readable storage media of claim 16 , wherein obtaining the certain encoded representation of the plurality of ingredients from the particular encoded representation of the plurality of ingredients includes masking out particular ingredients in the particular encoded representation of the plurality of ingredients.
18 . The one or more non-transitory computer-readable storage media of claim 10 , wherein the one or more instructions, when executed by the one or more computing devices, further cause:
determining a score for the candidate set of ingredients; based on at least the score for the candidate set of ingredients and according to the at least one control definition, resampling the latent space of the first autoencoder model to generate another candidate set of ingredients; and determining a score for the another candidate set of ingredients.
19 . A computer system comprising:
one or more computer systems comprising one or more hardware processors and storage media; and instructions stored in the storage media and which, when executed by the computing system, cause the computing system to perform:
sampling, according to at least one control definition, a latent space generated by a first autoencoder model to obtain a latent code, wherein the at least one control definition directs where in the latent space to sample, wherein the first autoencoder model is trained to obtain the latent space with a probability distribution of a particular training set comprising groups of vectors representing a plurality of recipes, wherein each recipe of the plurality of recipes corresponds to one group from the groups of vectors; and
generating by the first autoencoder model a candidate set of ingredients from the latent code based on a particular encoded representation of a plurality of ingredients that is generated by the second autoencoder model.
20 . The computing system of claim 19 , wherein the at least one control definition comprises at least one of:
a target vector control definition received after the first autoencoder model is trained, wherein the target vector control definition describes a new characterization of features in a target vector; a feature ratios control definition received after the first autoencoder model is trained, wherein the feature ratios control definition describes a ratio of desired ingredients, wherein the candidate set of ingredients includes the desired ingredients according to the ratio; a combinations of ingredients control definition received after the first autoencoder model is trained, wherein the combinations of ingredients control definition describes one or more ingredient combinations each including at least a desired ingredient, wherein the candidate set of ingredients includes all ingredients of one of the one or more ingredient combinations; or a flavors control definition received after the first autoencoder model is trained, wherein the flavors control definition describes a desired flavor profile, wherein a flavor of the candidate set of ingredients matches the desired flavor profile.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.