Recipe conversion system
A system for performing recipe conversion is disclosed. The recipe resulting from the conversion may produce superior and more consistent results for less experienced cooks, particularly when instructions are ported to a cooking system that provides step-by-step guidance with a high level of thermal and time control for critical recipe steps. Further, a converted recipe may optionally include more precise instructions and/or graphic content to assist less experienced cooks. The system analyzes, via natural language processing, an original recipe to identify recipe stages and to determine cooking stages corresponding to the recipe stages. The system correlates the cooking stages to machine instructions, and modifies recipe stages to include enhanced content by using the machine instructions. The system reformats the recipe into a digital file that includes a machine instruction set, which is provided to a device to facilitate the performance of recipe stages when preparing a food item.
1 . A system, comprising:
a memory that stores instructions; and
a processor that executes the instructions to perform operations, the operations comprising:
obtaining a digital recipe including digital content, wherein the digital recipe is a recipe for preparing a food item;
identifying keywords associated with the digital content, wherein identifying the keywords comprises parsing, by utilizing a natural language processing engine, the digital content for one or more of the keywords;
identifying at least one recipe stage of the digital recipe based on the keywords;
identifying: (a) each recipe stage of the at least one recipe stage that corresponds to a cooking stage that utilizes heating or cooling to transform one or more ingredients, and (b) each recipe stage of the at least one recipe stage that corresponds to a non-cooking stage that does not utilize heating or cooling to transform one or more ingredients;
for each recipe stage that corresponds to the non-cooking stage, skipping over the respective recipe stage that corresponds to the non-cooking stage so that the respective recipe stage that corresponds to the non-cooking stage is not modified;
for each recipe stage that corresponds to the cooking stage:
identifying a key ingredient in the respective recipe stage that corresponds to the cooking stage, wherein the key ingredient is an ingredient having a critical effect on a cooking time for the cooking stage;
determining, based in part on the key ingredient, whether the respective recipe stage that corresponds to the cooking stage correlates to an existing machine instruction stored in the memory;
following a determination that the respective recipe stage that corresponds to the cooking stage does not correlate to any existing machine instruction stored in the memory, skipping over the respective recipe stage that corresponds to the cooking stage so that the respective recipe stage that corresponds to the cooking stage is not modified; and
following a determination that the respective recipe stage that corresponds to the cooking stage does correlate to the existing machine instruction, substituting, via the existing machine instruction, the respective recipe stage that corresponds to the cooking stage with enhanced content so as to enhance the digital recipe; and
reformatting the digital recipe into a digital file that includes (a) a machine instruction set for enabling a device to facilitate performance of one or more of the at least one recipe stage of the digital recipe, and (b) an enhanced recipe that includes each of (i) the enhanced content for each respective recipe stage that corresponds to the cooking stage and that correlates to the existing machine instruction, (ii) each unmodified recipe stage that corresponds to the cooking stage and does not correlate to any existing machine instruction stored in the memory, and (iii) each unmodified recipe stage that corresponds to the non-cooking stage.
2 . The system of claim 1 , wherein the operations further comprise generating the digital recipe by performing an optical character recognition technique on a scanned document.
3 . The system of claim 1 , wherein the operations further comprise determining a cooking temperature for each recipe stage that corresponds to the cooking stage, wherein the cooking temperature is determined based in part on rules based on the key ingredient.
4 . The system of claim 3 , wherein the operations further comprise determining a cooking time for the key ingredient based on ingredient size of the key ingredient, a weight of the key ingredient, a heat transfer parameter associated with the key ingredient, a heat capacity of the key ingredient, the cooking temperature, a device condition of a device utilized to cook the key ingredient, or a combination thereof.
5 . The system of claim 1 , wherein the operations further comprise presenting at least one question via a user interface of the system soliciting additional information associated with the digital recipe, the key ingredient, other ingredients, a device for cooking the food item, a food-preparation preference associated with preparing the food item, or a combination thereof.
6 . The system of claim 5 , wherein the operations further comprise receiving, via the user interface of the system, at least one input in response to the at least one question, wherein the operations further comprise determining that the existing machine instruction correlates with the at least one recipe stage that corresponds to the cooking stage based on the at least one input.
7 . The system of claim 1 , wherein the operations further comprise inserting step navigation functionality into a graphical user interface of an application supporting functionality of the system, wherein the step navigation functionality enables navigation among a plurality of recipe stages of the reformatted digital recipe when the user interacts with the step navigation functionality.
8 . The system of claim 1 , wherein the operations further comprise visually displaying the digital recipe and the reformatted digital recipe side-by-side on a graphical user interface of the system, and wherein the operations further comprise enabling selection of either the digital recipe or the reformatted digital recipe for use in preparing the food item.
9 . The system of claim 8 , wherein the operations further comprise transmitting, if the reformatted digital recipe is selected, the machine instruction set to the device to facilitate performance of the at least one recipe stage associated with preparing the food item.
10 . The system of claim 1 , wherein the operations further comprise determining a replacement key ingredient having a threshold level of similarity to the key ingredient, and wherein the operations further comprise enabling substitution of the key ingredient with the replacement key ingredient via a user interface of the system.
11 . The system of claim 1 , wherein identifying the keywords further comprises passing the parsed digital content through a series of semantic libraries to identify the one or more of the keywords.
12 . The system of claim 11 , wherein identifying the keywords further comprises comparing the one or more of the keywords to one or more databases to identify one or more additional keywords of the keywords.
13 . The system of claim 12 , wherein the one or more databases comprises one or more graph databases.
14 . A method, comprising:
obtaining a digital recipe including digital content, wherein the digital recipe is a recipe for preparing a food item;
identifying keywords associated with the digital content, wherein identifying the keywords comprises parsing, by utilizing a natural language processing engine, the digital content for one or more of the keywords;
identifying at least one recipe stage of the digital recipe based on the keywords;
identifying: (a) each recipe stage of the at least one recipe stage that corresponds to a cooking stage that utilizes heating or cooling to transform one or more ingredients, and (b) each recipe stage of the at least one recipe stage that corresponds to a non-cooking stage that does not utilize heating or cooling to transform one or more ingredients;
for each recipe stage that corresponds to the non-cooking stage, skipping over the respective recipe stage that corresponds to the non-cooking stage so that the respective recipe stage that corresponds to the non-cooking stage is not modified;
for each recipe stage that corresponds to the cooking stage:
identifying a key ingredient in the respective recipe stage that corresponds to the cooking stage, wherein the key ingredient is an ingredient having a critical effect on a cooking time for the cooking stage;
determining, based in part on the key ingredient, whether the respective recipe stage that corresponds to a cooking stage correlates to an existing machine instruction stored in the memory;
following a determination that the respective recipe stage that corresponds to the cooking stage does not correlate to any existing machine instruction stored in the memory, skipping over the respective recipe stage that corresponds to the cooking stage so that the respective recipe stage that corresponds to the cooking stage is not modified; and
following a determination that the respective recipe stage that corresponds to the cooking stage does correlate to the existing machine instruction, modifying, by utilizing the existing machine instruction, the respective recipe stage that corresponds to the cooking stage with enhanced content so as to enhance the digital recipe; and
reformatting the digital recipe into a digital file that includes (a) a machine instruction set for enabling a device to facilitate performance of one or more of the at least one recipe stage of the digital recipe, and (b) an enhanced recipe that includes each of (i) the enhanced content for each respective recipe stage that corresponds to the cooking stage and that correlates to the existing machine instruction, (ii) each unmodified recipe stage that corresponds to the cooking stage and does not correlate to any existing machine instruction stored in the memory, and (iii) each unmodified recipe stage that corresponds to the non-cooking stage.
15 . The method of claim 14 , wherein identifying the keywords further comprises passing the parsed digital content through a series of semantic libraries to identify the one or more of the keywords.
16 . The method of claim 15 , wherein identifying the keywords further comprises comparing the one or more of the keywords to one or more databases to identify one or more additional keywords of the keywords.
17 . The method of claim 16 , wherein the one or more databases comprises one or more graph databases.
18 . A non-transitory computer-readable medium comprising instructions, which when loaded and executed by a processor, cause the processor to perform operations comprising:
obtaining a digital recipe including digital content, wherein the digital recipe is a recipe for preparing a food item;
identifying keywords associated with the digital content, wherein identifying the keywords comprises parsing, by utilizing a natural language processing engine, the digital content for one or more of the keywords;
identifying at least one recipe stage of the digital recipe based on the keywords;
identifying: (a) each recipe stage of the at least one recipe stage that corresponds to a cooking stage that utilizes heating or cooling to transform one or more ingredients, and (b) each recipe stage of the at least one recipe stage that corresponds to a non-cooking stage that does not utilize heating or cooling to transform one or more ingredients;
for each recipe stage that corresponds to the non-cooking stage, skipping over the respective recipe stage that corresponds to the non-cooking stage so that the respective recipe stage that corresponds to the non-cooking stage is not modified;
for each recipe stage that corresponds to the cooking stage:
identifying a key ingredient in the respective recipe stage that corresponds to the cooking stage, wherein the key ingredient is an ingredient having a critical effect on a cooking time for the cooking stage;
determining, based in part on the key ingredient, whether the respective recipe stage that corresponds to the cooking stage correlates to an existing machine instruction;
following a determination that the respective recipe stage that corresponds to the cooking stage does not correlate to any existing machine instruction, skipping over the respective recipe stage that corresponds to the cooking stage so that the respective recipe stage that corresponds to the cooking stage is not modified; and
following a determination that the respective recipe stage that corresponds to the cooking stage does correlate to the existing machine instruction, enhancing, based on the existing machine instruction, the respective recipe stage that corresponds to the cooking stage with enhanced content; and
reformatting the digital recipe into a digital file that includes (a) a machine instruction set for enabling a device to facilitate performance of one or more of the at least one recipe stage of the digital recipe, and (b) an enhanced recipe that includes each of (i) the enhanced content for each respective recipe stage that corresponds to the cooking stage and that correlates to the existing machine instruction, (ii) each unmodified recipe stage that corresponds to the cooking stage and does not correlate to any existing machine instruction stored in the memory, and (iii) each unmodified recipe stage that corresponds to the non-cooking stage.
19 . The non-transitory computer-readable medium of claim 18 , wherein identifying the keywords further comprises passing the parsed digital content through a series of semantic libraries to identify the one or more of the keywords.
20 . The non-transitory computer-readable medium of claim 19 , wherein identifying the keywords further comprises comparing the one or more of the keywords to one or more databases to identify one or more additional keywords of the keywords.