Method and system for providing recipes for cooking
By introducing a trained recipe generator into the food processor system, using large language models to generate diverse and personalized recipes, the problem of limited number of recipes and insufficient creativity in the existing technology is solved, and efficient and personalized recipe generation results are achieved.
Patent Information
- Application Number
- CN202411787817.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-08
- Filing Date
- 2024-12-06
- Publication Date
- 2025-06-10
AI Technical Summary
In the prior art, the number of recipes used in food processors is limited and it is difficult to generate creative and personalized recipes.
By providing a trained recipe generator that generates new recipes based on user triggers and preferences and trains with large language models to generate diverse and personalized recipes.
It is achieved to generate a large number of creative and personalized recipes with small workloads and costs to meet the needs of different flavors and occasions.
Smart Images

Figure CN120123463A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for providing a user of a cooking device with a recipe for cooking, a related data processing program product, a control unit of a cooking device, a related central entity (such as a server or cloud service), and a system comprising a cooking device, a control unit, and a central entity. Background Art
[0002] Household appliances for cooking are attractive to users if they are easy to operate and produce delicious meals. Therefore, household appliance manufacturers are indeed interested in providing their end users with creative and delicious recipes. This is especially true if the cooking device is automatically controlled according to recipes that can be downloaded to, for example, an automatic food processor.
[0003] A food processor is an electronic appliance that can be used, for example, to chop, blend, puree, or grind food while heating it. A food processor typically includes a heating bowl and an electric motor for driving replaceable tools that can be used for various tasks such as cutting vegetables, cutting cheese, making dough, or blending sauces. An example of a food processor is the CookIt manufactured by Bosch.
[0004] Typically, recipes for food processors are downloaded from the Internet, for example, from the server of the household appliance manufacturer or from a social network where users can exchange recipes they have created themselves. Of course, while this method works well, the number of available recipes is limited. Summary of the Invention
[0005] Accordingly, an object of the present invention is to provide an improved technique for providing a user with a recipe for cooking. This object is achieved by the subject matter of the independent claims. Embodiments are described in the dependent claims and in the following description and drawings.
[0006] According to one aspect, the present invention includes a method for providing a cooking recipe to a user of a cooking device. The method can be implemented, for example, by a computer. The cooking device can include one or more of a group of elements, the group of elements including a food processor (which can be automatic), a blender, an oven, a stove, a microwave oven, and a range hood. According to the method, a trained recipe generator or a training recipe generator is provided. The training can also include pre-training and / or fine-tuning. A trigger is received from a user of the cooking device (and / or a control unit of the cooking device), and in response to the trigger, a new recipe is generated using the recipe generator. The new recipe is then provided to the user. This may mean, for example, presenting the recipe step by step to the user using a display or a speaker and / or this may mean automatically controlling the cooking device according to the recipe. The trigger can include a request (e.g., a request formulated by voice and captured by a microphone), an inquiry, or a prompt (e.g., something like "give me a recipe for Chinese roasted duck"). In some embodiments, pressing a button or a simple instruction (such as "start") may be sufficient as a trigger.
[0007] Using a recipe generator can provide the following advantages, namely that the proposed recipes may be particularly creative and / or surprising. In addition, a large number of recipes can be easily generated with little effort and cost. The recipe generator may have been trained using thousands of recipes obtained from the Internet, such that the recipe generator can be capable of providing suitable recipes for any taste and occasion. The trigger can allow the user to reliably guide the recipe generator in the right direction, i.e., the user can give the recipe generator valuable hints about the characteristics that the proposed recipe should have. For example, the user can select the main ingredient (e.g., pork, beef, chicken), the regional cuisine (e.g., Italian cuisine, Chinese cuisine, Thai cuisine), the taste (e.g., sweet, sour, bitter, umami), the diet (e.g., gluten-free, lactose-free), and / or the food category (e.g., cake, soup). Using a very unspecific trigger (such as pressing a button or saying "start"), a large amount of creativity can be expected, while a very specific trigger (such as "give me a recipe for a red wine cake based on spelt flour prepared in a bundt cake pan") may result in a recipe that particularly accurately meets the user's wishes.
[0008] The recipe generator can work based on generative artificial intelligence. It can include, for example, a base model. Preferably, it includes a large language model. Well-known large language models are, for example, GPT-4 (also known as ChatGPT) of OpenAI, PaLM of Google, and LLaMA of Meta. The advantage of large language models is that they can provide very accurate data representations because they usually have millions of parameters and can thus capture the nuances of the data. This can be particularly beneficial when dealing with natural language data because the meaning of words can vary greatly depending on the context of use. In addition, large language models can be trained on very large datasets. This can be relevant because the more data the model is trained on, the better it can generalize to new data.
[0009] In some embodiments, the recipe generator has been trained using language-to-language learning and / or language-to-table learning, and / or the recipe generator is trained using language-to-language learning and / or language-to-table learning. Using language-to-language learning, a large language model can be fine-tuned to a specific task, for example, via a set of question-answer pairs {(x n ,y n )|n = 1,...,N} collected as a training set. More specifically, some questions x of the type "Traditional Swabian dinner, including 500 grams of beans, 100 grams of flour..." n , followed by the exact recipe y n , that is, some detailed and lengthy descriptions of the cooking steps for certain given meals, can be used as the training set so that the large language model is trained to output y n when prompted by x n . Language-to-table learning can be more specifically suitable for an automatic food processor like CookIt because food processors usually use tabular step-by-step instructions (such as "Stir for 2 minutes at 100 rpm", "Bake at 170 °C for 10 minutes", etc.). In this case, a training set {(x n ,z n )|n = 1,...,N} can be collected, where z n is the tabular instruction as a response to the question x n . Of course, for other cooking devices (e.g., for a smart oven), language-to-table learning may also be beneficial and can be used.
[0010] While language-to-table learning can have the advantage of directly providing the tabular data format that the cooking device may require, language-to-language learning may be easier to use because, for example, ChatGPT is already based on language-to-language learning. Therefore, it may be particularly advantageous to combine language-to-language learning and language-to-table learning. Thus, in some embodiments, the method may include the following further step: translating a new recipe into a sequence of steps taken from a list of predetermined actions, the sequence of steps being executable by the cooking device. During the translation, the technical constraints of the cooking device may be taken into account. Thus, as a detailed response y n the new recipe can be translated into a specific tabular format z that the cooking device may require n . The corresponding translation function can be designed manually and / or can also be learned through a large language model.
[0011] Various embodiments regarding the functional distribution within the infrastructure (e.g., including cloud, servers, internet connection, and multiple cooking devices and control units) are possible and are included in the present invention. In some embodiments, a trained recipe generator is provided and / or trained at a central entity. The central entity can be, for example, a server, which can be located somewhere in the internet or at the premises of a household appliance manufacturer. The central entity can also be a cloud service, which is implemented, for example, as a migratable software code within a (possibly global) distributed server cluster, the distributed server cluster preferably performing load balancing to optimize performance. It is also possible to combine a server and a cloud service to form a central entity.
[0012] A trigger can be received from a user at the control unit of the cooking device. The control unit can be integrated into the cooking device, or the control unit can be separate from the cooking device but connected to the cooking device. Especially in the latter case, the control unit preferably includes a computer, a mobile device, a tablet PC, a smartphone, and / or a smart speaker. In a preferred embodiment, the control unit includes a smart kitchen base (a smart speaker provided by Bosch) and a tablet PC or a smartphone. The trigger can be sent from the control unit to the central entity, where, based on the trigger, the recipe generator can generate a new recipe. Then the new recipe can be sent from the central entity to the control unit so that the new recipe can be provided to the user through the control unit.
[0013] In some embodiments, the recipe generator is sent from the central entity to the control unit of the cooking device. This can allow for local execution of the recipe generator and local learning based on input received from the user. Thus, in some embodiments, a trigger from the user is received at the control unit, a new recipe is generated (in particular by the control unit) using the recipe generator according to the trigger, and the new recipe is provided to the user by the control unit.
[0014] In some embodiments, the method includes the further step of: compressing the recipe generator at the central entity to generate a compressed version of the recipe generator. The compressed version of the recipe generator can be sent from the central entity to the control unit of the cooking device. All features mentioned in this disclosure in relation to the recipe generator can also be applied to the compressed version of the recipe generator, and vice versa.
[0015] Knowledge distillation is preferably used to compress the recipe generator, where the recipe generator is the teacher model and the compressed version of the recipe generator is the student model. Knowledge distillation is related to the process of transferring knowledge from a large model to a small model. Since smaller models have lower evaluation costs, they can be deployed on less powerful hardware, such as the control unit of a cooking device. Knowledge distillation is based on the general idea that the small student model is trained under the supervision of the large teacher model. Black-box knowledge distillation and white-box knowledge distillation can be used, in which only the teacher predictions are accessible in the black-box knowledge distillation and the teacher parameters are available for use in the white-box knowledge distillation. Standard knowledge distillation objectives typically minimize an approximate forward Kullback-Leibler divergence between the teacher and student distributions.
[0016] In a preferred embodiment, a method for providing a recipe for cooking to a user of a cooking device may include the following steps:
[0017] - Providing a trained recipe generator and / or
[0018] or training a recipe generator at a central entity, particularly a server or cloud service;
[0019] - Compressing the recipe generator at the central entity to generate a compressed version of the recipe generator;
[0020] - Sending the compressed version of the recipe generator from the central entity to the control unit of the cooking device;
[0021] - Receiving (and storing) the compressed version of the recipe generator at the control unit of the cooking device;
[0022] - Receive a trigger from the user at the control unit;
[0023] - Based on the trigger, generate a new recipe at the control unit using a compressed version of the recipe generator; and
[0024] - Provide the new recipe from the control unit to the user.
[0025] As mentioned above, "trained" can also include "pre-trained". In many cases, especially at the beginning, a pre-trained recipe generator will be provided, or the recipe generator will be pre-trained, especially based on recipes readily available on the Internet. Afterwards, the recipe generator can be fine-tuned locally, for example, based on the input received from the user. In this way, the recipe generator can be customized according to the user's taste.
[0026] Therefore, the present invention can include a method executed on a central entity, the method comprising the following steps:
[0027] - Provide a trained recipe generator and / or a training recipe generator at the central entity, especially a server or a cloud service;
[0028] - Compress the recipe generator at the central entity to generate a compressed version of the recipe generator; and
[0029] - Send the compressed version of the recipe generator from the central entity to the control unit of the cooking device.
[0030] Similarly, the present invention can include a method executed on the control unit of a cooking device, the method comprising the following steps:
[0031] - Receive a compressed version of the recipe generator at the control unit of the cooking device;
[0032] - Receive a trigger from the user at the control unit, especially a request, an inquiry or a prompt;
[0033] - Based on the trigger, generate a new recipe at the control unit using the compressed version of the recipe generator; and
[0034] - Provide the new recipe from the control unit to the user.
[0035] In some embodiments, all of the above methods may include the following further steps: receiving an input from a user. The input may be received, for example, at the control unit. The input may particularly include feedback related to a new recipe. For example, the user may want to let the system know that he really liked the recently recommended recipe, or he may want to say "I don't believe that garlic and peaches taste good together". The input may also be related to some more practical problems, such as "the cake is difficult to remove from the baking pan". Or the input may include a complaint ("How many times have I told you that I have gluten intolerance?") or a suggestion ("Can I also make this with gluten-free flour?"). In some embodiments, the input may include preferences. For example, the user may select from a list (such as presented on the touch screen of the control unit) that he likes Italian and French cuisine, but does not like Asian flavors. Or he may select that he is a vegetarian or has lactose intolerance. Of course, the preferences may also be expressed in relation to a specifically recommended recipe ("Thank you for the suggestion of Thai noodles, but I prefer Italian pasta"). In some embodiments, the input from the user is derived from observations of a camera that observes the dish or food being prepared and / or cooked, and / or the camera observes the user performing the recipe.
[0036] Based on the input, learning may be performed. The learning may be performed, for example, on the central entity and / or the control unit. The learning may use, for example, reinforcement learning and / or self-supervised learning. In some embodiments, contrastive self-supervised learning is used. The learning may include training the recipe generator. Preferably, the learning causes the recipe generator to be (suggestively or actually) updated. The update may include updated parameters related to the model (e.g., artificial neural network) used within the recipe generator and / or the update may include additional training data. For example, newly generated recipes rated as excellent by the user may be added to the training data so that future versions of the recipe generator can also be trained based on that excellent recipe. Additionally, it is possible that the user himself explicitly adds recipes to the training data. These recipes may have been conceived by the user, for example, based on human creativity, or the user may have found these recipes somewhere in a cookbook or on the Internet.
[0037] Based on the input, filtering can be performed. In particular, if the input includes preferences, it may be advantageous to only transmit a part of the recipe generator to the control unit. For example, if the user states that he does not like Asian food, the method can avoid transmitting the part of the recipe generator related to Asian dishes to the control unit. Or, if the user has provided an input that he has gluten intolerance, all cake recipes using gluten-containing flour can be filtered out. In some embodiments, if the newly generated recipe is incorrectly unsuitable for the user's preferences, the newly generated recipe can be filtered out and not provided to the user. In this case, preferably, further new recipes are generated using the recipe generator according to the trigger. This can be repeated until a recipe suitable for the user's preferences has been generated.
[0038] In some embodiments, the input and / or update is sent from the control unit to the central entity, and learning can be performed at the central entity. Additionally or alternatively, the learning can be performed on the control unit (locally). Possibly, the user can be asked under what conditions he wants to send his input and / or update from the control unit to the central entity, and when these conditions are met, the input and / or update is sent from the control unit to the central entity. In some embodiments, the method includes the steps of asking the user under what conditions he wants to send the input and / or update from the control unit to the central entity, when these conditions are met, sending the input and / or update from the control unit to the central entity, and adjusting and / or training the recipe generator at the central entity based on the input and / or update. This can serve the purpose of traffic optimization and / or privacy protection.
[0039] The recipe generator stored on the central entity can be continuously improved as further input and / or updates are received, and can be used to adjust and / or train the recipe generator. After a period of time, a new improved version of the recipe generator can be reallocated to the control unit. In some embodiments, the method may include the steps of asking the user under which update conditions he wants to receive the updated version of the recipe generator from the central entity, sending these update conditions from the control unit to the central entity, receiving the update conditions at the central entity, when the update conditions are met, sending the updated version of the recipe generator from the central entity to the control unit, and receiving the updated version of the recipe generator at the control unit. The user's personal input and / or update can be retained and applied to the newly received recipe generator.
[0040] In a preferred embodiment, the recipe generator is sent from the central entity to a plurality of control units. The recipe generator may be compressed. Each control unit may control one or more cooking devices. Preferably, inputs and / or updates from the plurality of control units are received at the central entity. Each input and / or update may relate to a specific user. In particular, each update may relate to the corresponding user of the cooking device controlled by the respective control unit.
[0041] Some household appliance manufacturers sell their household appliances globally. Thus, it may be the case that the inputs and / or updates relate to users in very different regions of the world. In other words, one of the control units may be located in Germany, another in Brazil, yet another in Nigeria, and still another in China. User preferences and tastes may vary by region. Additionally, even within a region, there may be some people who prefer another cuisine different from the regional cuisine, for example, because they have an immigrant background, or they just want to recall their last vacation. Also, in each region, some people eat meat and some are vegetarians. Therefore, it may be advantageous to cluster users into user groups. Thus, user group-specific recipe generators may be provided and / or trained.
[0042] In some embodiments, the method further comprises the following steps: clustering the inputs and / or updates at the central entity based on the characteristics of the corresponding users related to the inputs and / or updates and / or based on the user's selection of which group he wants to belong to. These characteristics may be determined automatically, for example, they may be learned, and / or they may be provided by the user himself. For example, a user may want to select to belong to user groups called "European vegetarians", "Hot Asian style", "Gluten-free anyway", "Baking grandmothers", "Fish @ Hamburg", or "Luxury on the island of Helgoland". Of course, the user may also choose not to belong to any group. He may select the recipe generator he wants to download and then locally train the downloaded recipe generator based on his own taste.
[0043] In some embodiments, the method includes the following further steps: adjusting and / or training the recipe generator at the central entity based on the clustered input and / or the clustered updates such that a preferably user-group-specific recipe generator is generated. For example, a user-group-specific recipe generator can be generated by selectively evolving the training data set based on the clustered input and / or the clustered updates. This may mean that only gluten-free baking recipes with excellent ratings are added to the training data sets of the user groups "gluten-free anyway" and "baking grandmothers". In this way, starting from a pre-trained general recipe generator, the recipe generator can be forked into multiple user-group-specific recipe generators by applying certain inputs and / or updates only to a specific copy of the original recipe generator.
[0044] In some embodiments, the method includes the following further steps: sending the user-group-specific recipe generator from the central entity to the control unit of the user group. On the control unit, the user-group-specific recipe generator can be further trained to adapt to the taste of a specific user.
[0045] In some embodiments, federated learning and / or collaborative learning can be used to improve the recipe generator. Federated learning and / or collaborative learning can offer the following advantages: training the recipe generator via multiple independent sessions, each using its own data set. This approach can be contrasted with traditional centralized machine learning techniques, in which local data sets are merged into one training session, and also with approaches that assume that local data sets are identically distributed. Federated learning and / or collaborative learning can enable multiple participants to build a general, robust machine learning model without sharing data, thus addressing key issues such as data privacy, data security, data access rights, and access to heterogeneous data.
[0046] In some embodiments, the method may include the following further steps: compressing the user-group-specific recipe generator at the central entity to generate a compressed version of the user-group-specific recipe generator, wherein the step of sending the user-group-specific recipe generator is the step of sending the compressed version of the user-group-specific recipe generator from the central entity to the control unit of the user group. The concept "recipe generator" can refer to any version of the recipe generator. Depending on the context, the concept "recipe generator" can relate to an uncompressed recipe generator, a compressed recipe generator, an uncompressed user-group-specific recipe generator, or a compressed user-group-specific recipe generator.
[0047] Under adverse conditions, a new recipe may violate certain constraints. A human - educated cook or chef will most likely be able to immediately identify that the proposed recipe contains errors, bad ideas, or some kind of obstacle that still needs to be overcome. However, conventional large - language models may still propose such recipes simply because certain words have a certain likelihood of following another word. Additionally, especially when using a food processor like Cookit, it may be advantageous to consider the technical limitations of the cooking device and / or consider health and safety issues. Accordingly, some embodiments of the method may include the following further steps: validating the new recipe at the control unit and / or the central entity using at least one element from a group of elements including a knowledge graph, an ontology, an inference engine, and constraint optimization. For example, ontology - based reasoning related to recipe techniques (solving problems such as "What functions are required of an ingredient or group of ingredients?", "Which ingredients can or cannot be combined?", or "How can I substitute certain ingredients?") has been described in EP 3958688 and EP 3909479. The disclosures of EP 3958688 and EP 3909479 are incorporated herein by reference in their entirety. In some embodiments, auxiliary data may be used to enhance the triggering, especially before the triggering is given to the recipe generator. Accordingly, in some embodiments, the method may include the following further step: enhancing the triggering using auxiliary data such as a knowledge graph, an ontology, a database of available ingredients, and / or knowledge about available cooking devices. The auxiliary data may be stored, for example, in the form of a knowledge graph. In this way, the reliability of the generated recipes can be improved. In some embodiments, machine - learning - based constraint optimization methods may be used. For example, (e.g., in the field of constraint classification) a two - player method that switches between optimizing model parameters and Lagrange multipliers may be used, e.g., when a classifier has to learn to comply with side constraints such as an upper bound imposed on the false - positive rate. The two - player method can utilize a large number of constraints, and the two - player method can be applied to the field of large - language models.
[0048] In some embodiments, the method may include the following further step: translating the new recipe at the control unit and / or the central entity into a sequence of steps taken from a pre - determined list of actions that can be executed by the cooking device. During the translation, the technical constraints of the cooking device may be complied with and / or considered. This translation step helps to optimize the new recipe for a food processor such as CookIt, which typically has a limited number of executable instructions.
[0049] In some embodiments, the method further includes the step of controlling the cooking device by means of the control unit according to the new recipe. The new recipe may already be in a form that can be directly executed by the cooking device (e.g., without problems). If the recipe is in a detailed form and / or natural language, the recipe can still contain paragraphs such as "bake at 200 degrees Celsius for 30 minutes", "preheat the oven", "cook on medium heat", or "stir constantly while cooking". Such instructions can also be sent to the cooking device to control the cooking device.
[0050] In some embodiments, the control unit is adapted to provide the new recipe to the user by guiding the user through the cooking process related to the new recipe and / or by providing recommendations and / or instructions to the user during the cooking process related to the new recipe. For example, the control unit can tell the user to cut the carrots into pieces and add them to the pot, or the control unit can instruct the user to peel the potatoes. In a preferred embodiment, the current cooking situation is determined. For example, this can be done by using a camera attached to the exhaust hood. Preferably, the recommendations and instructions are based on the determined current cooking situation. For example, the method can give the user a suggestion to turn over a piece of meat that has been placed on the same side in a hot pan for 5 minutes.
[0051] In some embodiments, the control unit can be integrated into the cooking device. For example, CookIt includes its own processor, which can be understood as part of the control unit. In other embodiments, the control unit can be separated from the cooking device but connected to the cooking device. The control unit can include, for example, a computer, a mobile device, a tablet PC, a smartphone, and / or a smart speaker. For example, a smartphone can send instructions to the cooking device via a wireless connection such as a Wi-Fi or Bluetooth connection. Thus, the smartphone can be used as the control unit. In a preferred embodiment, the control unit includes Bosch's smart kitchen base (smart speaker) and a tablet PC connected to the smart kitchen base.
[0052] The control unit can be connected to an output unit, or the control unit can include an output unit. The output unit can include a display and / or a speaker. Further, the control unit can be connected to an input unit, or the control unit can include an input unit. The input unit can include, for example, a microphone, a camera, a keyboard, a mouse, a gesture sensor, and / or a touch-sensitive surface. For example, CookIt includes a touch screen on which recipe steps can be displayed and tactile input can be received. Bosch's smart kitchen base includes a speaker such that audio instructions can be presented to the user, and Bosch's smart kitchen base includes a microphone array for receiving triggers or instructions from the user. Some range hoods include a camera that is capable of observing the user during cooking. The control unit can be connected to the range hood and use the observations of the camera to generate user input that is later used for learning.
[0053] According to another aspect, the invention includes a control unit for a cooking device. The cooking device can include, for example, a food processor (especially an automatic food processor), a blender, an oven, a stove, a microwave oven, and / or a range hood. The control unit includes a storage unit for storing a compressed or uncompressed version of a recipe generator and / or recipes. The recipe generator can be specific to a user group. Preferably, the control unit includes a communication unit for communicating with a central entity, which can be, for example, a server or a cloud service. The communication unit can be used to download recipes and / or the recipe generator (in compressed or uncompressed form) to the control unit, which stores the downloaded data in the storage unit. Some initial versions of recipes and / or recipe generators can be pre-installed on the control unit. This can be particularly advantageous if the control unit is integrated into a cooking device, especially into a food processor like CookIt. Other techniques for transferring recipes and / or the recipe generator to the control unit can be connecting the control unit to a USB stick or some other storage device on which the corresponding data is stored.
[0054] In addition, the control unit may include an input unit adapted to receive a trigger from a user of the cooking device, in particular a request, query or prompt. The input unit may include, for example, a microphone, a camera, a keyboard, a mouse, a gesture sensor and / or a touch-sensitive display. In addition, the control unit may include a processor adapted to request a new recipe from the central entity based on the trigger and / or generate a new recipe using the recipe generator stored in the storage unit of the control unit based on the trigger. An output unit for providing the new recipe to the user may also be part of the control unit. In this regard, being able to manipulate the cooking device according to the recipe may be understood as outputting the recipe. Thus, the output unit may include a manipulation unit for controlling the cooking device.
[0055] According to another aspect, the invention includes a central entity. The central entity may be or include, for example, a server or a cloud service. The central entity includes a storage unit for storing a trained recipe generator; a communication unit for communicating with the control unit of the cooking device; and a processor. The processor may be adapted to generate a new recipe based on a trigger received from the control unit, in particular a request, query or prompt, and based on the stored recipe generator. Additionally or alternatively, the processor may be adapted to use the communication unit to send the recipe generator from the central entity to the control unit of the cooking device.
[0056] According to yet another aspect, the invention includes a system for providing a recipe for cooking to a user of a cooking device. The system includes a cooking device, the control unit of the cooking device described above, and the central entity described above, wherein the cooking device includes the control unit or is connected to the control unit. The connection may be based on, for example, Wi-Fi, Bluetooth, Ethernet and / or DSL, and may use protocols such as TCP and / or Internet Protocol and / or standards such as MATTER. The cooking device may include, for example, a food processor, a blender, an oven, a stove, a microwave oven and / or a range hood.
[0057] The method may be implemented in software. Thus, according to another aspect, the invention includes a data processing program product including instructions that, when the program is executed by a data processing device, cause the data processing device to perform the method described above. For example, such a data processing program product may be provided as a downloadable software package.
[0058] The present invention has been described with respect to a method, a data processing program product, a control unit, a central entity, and a system. If not explicitly stated otherwise, features and advantages that have been described with respect to one claim category (e.g., method or data processing program product) can be similarly applied to all other claim categories (e.g., control unit, central entity, and system), and vice versa. This may in particular mean that certain units of the devices mentioned or the devices themselves may be adapted to perform the steps of the method. Such adaptation can be performed, for example, by downloading and installing the data processing program product. Thus, the control unit may include, for example, a button that issues a trigger when pressed. The processor of the central entity may be adapted to compress the recipe generator to generate a compressed version of the recipe generator. The communication unit of the central entity may be adapted to send the recipe generator from the central entity to the control unit of the cooking device in any form (i.e., compressed or uncompressed and in a general or user group - specific form). Of course, in some embodiments, the system includes a plurality of control units and a plurality of cooking devices. The processor of the central entity may be adapted to cluster the input and / or update received from the control unit based on the corresponding user's characteristics related to the input and / or update and / or based on the user's selection of which group he wants to belong to. The storage unit of the central entity may be adapted to store a plurality of user group - specific recipe generators. The processor of the control unit and / or the processor of the central entity may be adapted to verify a new recipe using at least one element from a group of elements including a knowledge graph, an ontology, an inference engine, and constraint optimization. Furthermore, these processors may be adapted to translate the new recipe into a sequence of steps taken from a pre - determined list of actions that can be executed by the cooking device. Similarly, the processor of the control unit may be adapted to control the cooking device according to the new recipe. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Further details and advantages of non - limiting embodiments of the present invention will be described below with reference to the accompanying drawings, which show:
[0060] Figure 1 is an embodiment of a control unit according to the present invention;
[0061] Figure 2 is an example of a cooking device with an integrated control unit;
[0062] Figure 3 is an example of a control unit separated from the cooking device;
[0063] Figure 4 is another example of a control unit separated from the cooking device;
[0064] Figure 5is an embodiment of a central entity according to the present invention;
[0065] Figure 6 is an embodiment of a method according to the present invention;
[0066] Figure 7 is another embodiment of a method according to the present invention;
[0067] Figure 8A and Figure 8B is an illustration related to steps of language - to - language learning, language - to - table learning, and translating new recipes into a sequence of steps;
[0068] Figure 9 is an example triggered by auxiliary data augmentation; and
[0069] Figure 10 is an embodiment of a system according to the present invention. Detailed Description
[0070] In the following, the same elements or elements with similar functions may be identified by the same reference numerals.
[0071] Figure 1 Shows an embodiment of a control unit according to the present invention. The purpose of the control unit may be to control a cooking device, such as a food processor, blender, oven, stove, microwave oven, and / or exhaust hood. The control unit 1 includes a storage unit 2. In this storage unit 2, for example, new recipes and / or a recipe generator may be stored. The recipe generator may be in any form and any version. The recipe generator may be, for example, compressed or uncompressed. The recipe generator may be a newly downloaded general recipe generator or a user - group - specific recipe generator. If the recipe generator has been tuned to the user's taste, it may even be user - specific. The illustrated embodiment of the control unit 1 includes a communication unit 3 for communicating with a central entity. The communication unit 3 may communicate, for example, based on Wi - Fi, Bluetooth, Ethernet, or DSL. It may use Internet protocols and / or may be adapted to communicate according to the MATTER standard of the Connectivity Standards Alliance (CSA). Using the communication unit 3, recipes and / or a recipe generator may be downloaded from a central entity such as a server or cloud service in the Internet.
[0072] The control unit 1 includes an input unit 4. The input unit 4 may include, for example, a button that can be pressed to generate a trigger that instructs the recipe generator to generate a new recipe. The input unit 4 may also include one or more microphones, a keyboard, a touch display, a gesture sensor, and / or a mouse to allow the user to input a trigger. In particular, if the input unit 4 includes a microphone or a keyboard, the trigger may include a request, an inquiry, or a prompt that can instruct the recipe generator to generate a new recipe with certain characteristics. The control unit 1 also includes a processor 5. The processor 5 may be adapted to request a new recipe from a central entity according to the trigger. This is particularly advantageous if the control unit 1 itself does not store the recipe generator. The processor 5 may also be adapted to generate a new recipe according to the trigger using the recipe generator stored in the storage unit 2. In addition, the control unit 1 further includes an output unit 6. The output unit 6 may include, for example, a display (especially a touch-sensitive display), a speaker, a manipulation unit for manipulating the cooking device, an LED, and / or a buzzer.
[0073] Figure 2 An example of a cooking device with an integrated control unit is shown. The shown cooking device 10 is a CookIt, an automatic food processor provided by Bosch. The CookIt includes its own microcomputer, which can be used as the control unit 1. Thus, the cooking device 10 includes a control unit 1 having a storage unit 2, a communication unit 3, and a processor 5. The cooking device 10 also includes a touch-sensitive display that simultaneously forms the input unit 4 and the output unit 6. The cooking device 10 has a main housing 11 that includes, for example, a motor. A canister 12 may be positioned in the main housing 11, and a tool 13 may be mounted to the drive shaft of the canister 12 such that the tool 13 can be driven by the motor of the main housing 11. The canister 12 may be closed with a lid 14.
[0074] Figure 3 An example of a control unit 1 separated from the cooking device 10 is shown. As Figure 3The cooking device 10 shown is also a food processor. However, this time the cooking device 10 does not include a touch-sensitive display and may be rather dumb. The cooking device 10 is wirelessly connected to a control unit 1 which controls the cooking device 10 and which includes a smartphone 20 and a smart kitchen base 30. The smartphone 20 has a touch-sensitive display 21 which can be used as an input unit and an output unit. In addition, the smartphone 20 includes a storage unit 2, a communication unit 3 and a processor 5. The smartphone 20 is positioned on the smart kitchen base 30 and is wirelessly connected to the smart kitchen base 30. For example, the smart kitchen base provided by Bosch has been described in EP 4086727 and EP4142303. The smart kitchen base 30 includes a backrest 31 (to hold and support the smartphone 20), a microphone 32, a speaker 33 and a gesture sensor (not shown). The smart kitchen base 30 may also include a storage unit, a communication unit and a processor. The smart kitchen base 30 operates in a similar manner to a smart speaker, for example, Amazon's Alexa Echo. Commands can be sent from the smartphone 20 to the smart kitchen base 30 and vice versa. Figure 3 The configuration shown can allow the user to provide a trigger to the control unit 1. For example, he might say "Alexa, please give me a recipe for baking a cake with gluten-free flour". The command can be captured by the microphone 32 and the smart kitchen base 30 can use its communication unit and a speech recognition service in the cloud to perform speech recognition. Once the command has been converted into text and / or the user's intent, the command can be provided to a recipe application installed on the smartphone 20. The recipe application can then trigger a recipe generator to generate a new recipe which is subsequently provided to the user by the recipe application. In this way, Figure 3 the control unit 1 shown can act as a smart kitchen assistant which guides the user step by step through the cooking process associated with the new recipe. The recipe application can send commands directly to the cooking device 10 to control the operation of the cooking device 10 according to the new recipe. This can support the user exactly at the step where the user of the recipe is currently working. For example, if the recipe says "stir constantly", the recipe application can ask the cooking device 10 whether a suitable tool 13 is inserted in the vessel 12 of the cooking device 10 and, if so, instruct the cooking device 10 to switch on its motor to drive the tool 13 constantly.
[0075] Figure 4 Another example is shown in which the control unit 1 is separated from the cooking device 10. The control unit 1 is separated from Figure 3is the same as before, but this time the cooking device 10 includes an oven 10A, a stove 10B, and an exhaust hood 10C. The oven 10A includes a camera 40 with a predetermined field of view 41. The camera 40 can identify the dishes placed in the oven 10A and can observe the progress of the dishes during cooking. Based on these observations, an input can be obtained, and this input can be used for learning. In this regard, the input from the user's camera 40 can be considered as "input from the user". What the user does on the stove 10A is captured by another camera 40 integrated in the exhaust hood 10C. Thus, the camera 40 can observe which recipe step the user is currently at. For example, the camera 40 can check how long a piece of meat has been in the pan. The camera 40 can observe at which specific steps the user has particular difficulties. These difficulties may be caused by the user's lack of skills, such that recommendations and / or instructions based on the current cooking situation may be helpful. Especially when observations such as "input from the user" are aggregated at a central entity, the entire system can recognize that at a certain step of a recipe, further written instructions may be helpful and can add these instructions to the recipe. The central entity may also recognize that a certain user group (e.g., like the elderly) has problems or needs that other user groups do not have. Then, user-group-specific instructions can be added to a certain recipe. Another example is that in a certain region, users know how to peel asparagus or prepare sweet and sour sauce, while in other regions, users do not. Then, in regions where most users do not understand the required skills, it may make sense to provide users with further explanations. In addition, the control unit 1 can dynamically control the cooking device 10 based on the current cooking situation. For example, the control unit 1 can identify that a piece of meat is in danger of burning because the heat is too high or the user is currently busy with other tasks, and then can instruct the stove 10B to turn down the heat. In this way, the control unit 1 can support the user during cooking by freeing the user from daily tasks or by warning the user of current threats or contingencies.
[0076] Figure 5An embodiment of the central entity according to the present invention is shown. The central entity can be, for example, a server or a service, such as provided by a cloud infrastructure. The central entity 50 includes a storage unit 51. The storage unit 51 can store one or more trained recipe generators. At the beginning of the learning process, the stored recipe generators may only be pre-trained. The more inputs and / or updates received from the control unit 1 on-site, the better the recipe generators can be trained. In addition, the storage unit 51 can store multiple recipe generators, where preferably each recipe generator is optimized for a specific user group. Furthermore, the central entity 50 also includes a communication unit 52. The central entity 50 can communicate with multiple control units 1 using the communication unit 52. Using the communication unit 52, the central entity 50 can send, for example, recipes and / or recipe generators to the control unit 1 in a compressed or uncompressed version. On the other hand, triggers and / or inputs (especially inputs from users) and / or updates can be received from the control unit 1 using the communication unit 52.
[0077] Furthermore, the central entity 50 includes a processor 53. The processor 53 can be adapted to perform a variety of tasks, such as:
[0078] - Training recipe generators, especially adjusting and / or training recipe generators based on inputs and / or updates;
[0079] - Language-to-language learning and / or language-to-table learning;
[0080] - Performing learning, especially reinforcement learning and / or self-supervised learning;
[0081] - Clustering the inputs and / or updates based on the characteristics of the corresponding users related to the inputs and / or updates and / or based on the user's choice of which group he wants to belong to;
[0082] - Adjusting and / or training the recipe generators based on the clustered inputs and / or clustered updates such that preferably user-group specific recipe generators are generated;
[0083] - Generating new recipes using the recipe generators according to a trigger;
[0084] - Sending the recipe generators to the control unit of the cooking device using the communication unit;
[0085] - Compressing the recipe generators to generate a compressed version of the recipe generators;
[0086] - Performing knowledge distillation;
[0087] - Validating new recipes using at least one element from a group of elements including a knowledge graph, an ontology, an inference engine, and constraint optimization; and
[0088] - Translate the new recipe into a sequence of steps taken from a list of predetermined actions, the sequence of steps being executable by the cooking device, wherein, during the translation, the technical constraints of the cooking device are preferably adhered to.
[0089] Figure 6 An embodiment of the method according to the present invention is shown. On the left side, the steps of method M1 executed on the central entity are depicted. Their reference numerals start with S (such as the server side). On the right side, the steps of method M1 executed on the control unit are shown. Their reference numerals start with U (such as the user side). In step S1, a trained recipe generator is provided or the recipe generator is trained. In step U1, a trigger is received from the user. The user can, for example, press a button or give an instruction to his smart kitchen base "Alexa, provide me with a Chinese recipe for sweet and sour duck". In step U2, the trigger is sent to the central entity. The circled A means that method M1 continues to step S2, in which the trigger is received at the central entity. In step S3, a new recipe is generated using the recipe generator according to the trigger. Then in step S4, the new recipe is sent to the control unit. The circled B means that method M1 continues to step U3, in which the new recipe is received on the control unit.
[0090] In step U4, the new recipe is provided to the user. This may mean, for example, guiding the user through the recipe step by step and / or the cooking device is automatically controlled to perform the necessary steps to implement the recipe. In step U5, an input from the user is received. This may mean, for example, observing the user during cooking and drawing conclusions about the new recipe. Thus, the user can give an input through his cooking behavior. The user can also provide an input more explicitly, for example, by rating the new recipe or by typing in preferences. In step U6, the input is sent from the control unit to the central entity. As shown by the circled C, method M1 continues to step S5, in which the input is received on the central entity. In step S6, learning is performed based on the input such that the recipe generator provided in step S1 is adjusted and / or trained based on the input. This continuous improvement process is represented by the circled D.
[0091] Figure 7Another embodiment of the method according to the present invention is shown. Similarly, the steps of method M2 executed on the central entity are shown on the left and have reference numerals starting with "S". Similarly, the steps of method M2 executed on the control unit are shown on the right, and their reference numerals start with "U". Jumps and branches are again represented by circled letters. In step S11, a trained recipe generator or a training recipe generator is provided. In step S12, the recipe generator is compressed to generate a compressed version of the recipe generator. Thereafter, in step S13, the compressed recipe generator is sent to the control unit, and in step U11, the compressed recipe generator is received and stored in the control unit.
[0092] In step U12, a trigger from the user of the control unit and / or the cooking device is received. For example, the user can scroll through the recipe list on the touch-sensitive display of CookIt and press an item named "Surprise me with a new recipe". In step U13, according to the trigger, a new recipe is generated using the recipe generator, and the new recipe is stored within the control unit. In step U14, the new recipe is provided to the user. For example, the new recipe can be presented on the display of CookIt. Then, in step U15, an input from the user is received. For example, the user can click on the touch-sensitive display whether he likes the new recipe. A rating for the new recipe can also be entered, for example, on a scale from 1 (very bad) to 10 (very good). Based on the input, in step U16, learning is performed on the control unit to determine an update, especially an update to the recipe generator. For example, the rating of the recipe can be incorporated into the fine-tuning process as the sampling weight of the corresponding recipe. Of course, the learning can include adjusting and / or training the local recipe generator stored on the control unit. The user may have been asked under what conditions he wants to send the input and / or the update from the control unit to the central entity. If these conditions are not yet met, method M2 simply jumps back to step U12 and waits for a new trigger. When the conditions are met, the input and / or the update is sent from the control unit to the central entity, where the input and / or the update is received in step S14 (as shown by the circled letter B). If the condition is selected as "false", the user never wants to send any input and / or update from the control unit to the central entity (e.g., for privacy reasons). In this case, the local recipe generator only performs local training and / or adjustment so that the recipe generator can better and better predict the specific taste of the user.
[0093] In step S15, clustering is performed on the inputs and / or updates received from multiple control units. For example, clustering can be performed based on certain characteristics of the users associated with the respective inputs and / or updates. For example, all inputs and / or updates received from region A can be clustered in a first group, and all inputs and / or updates received from region B can be clustered in a second group. It is also possible that individual users have themselves selected which group they want to belong to. For example, a user may have selected that he wants to belong to the "Baking Grandmothers" group. Thus, his inputs and / or updates can be used to adjust and / or train a recipe generator specific to said group. In step S16, adjustment and / or training is performed. The adjustment and / or training can be performed based on the clustered inputs and / or the clustered updates such that a recipe generator specific to preferably the user group is generated. In step S12, these user group specific recipe generators can be compressed again (as indicated by the circled letter C). Usually, the inputs can also be understood as plural. Thus, the inputs can include multiple inputs.
[0094] Figure 8A and Figure 8B shows the relationship between language-to-language learning, language-to-table learning, and the steps of translating a new recipe into a sequence of steps. In Figure 8A , a trigger, in particular a cue 60, is given to a recipe generator RG1, which is adapted to output a detailed recipe. An example of the cue 60 is "Alexa, give me a recipe for marble cake". The recipe generator RG1 generates a new detailed recipe VR (for example, a recipe in natural language known from a regular cookbook). The detailed recipe VR is translated by a translation unit 61 into a sequence of steps taken from a list of predetermined actions, which can be executed by a cooking device, wherein, during the translation, preferably the technical constraints of the cooking device are observed. This sequence of steps can be understood as a tabularized recipe TR. Figure 8B shows a recipe generator RG2, which is adapted to directly output a tabularized recipe TR. The recipe generator RG2 again takes the cue 60 as an input. However, this time no new detailed recipe is generated. Instead, the recipe generator RG2 has been trained to directly output a tabularized recipe TR, which can be directly executed by a cooking device.
[0095] Figure 9Shows an example of trigger enhancement using auxiliary data. The trigger enhancer 70 receives the prompt 60. For example, the prompt can be "Alexa, I want to bake a fruit cake". The trigger enhancer 70 sends an intelligent search request 71 to the knowledge base 72. The knowledge base can include, for example, a knowledge graph and / or an ontology that formalizes knowledge related to cooking. In addition, the knowledge base 72 can also know the ingredients available at home. Therefore, the knowledge base 72 can perform intelligent inventory management. In addition, the knowledge base 72 can know which cooking devices are available to the user and what capabilities and tools the cooking devices have. For example, the knowledge base 72 can know that only dried fruits and rye flour are currently available in the user's home and generate auxiliary data based on this knowledge. The auxiliary data 73 can be returned to the trigger enhancer 70, which generates an enhanced prompt 60E. For example, the enhanced prompt 60E can be "Alexa, I want to bake a fruit cake based on dried fruits and rye flour". This enhanced prompt 60E is given to the recipe generator RG1 or RG2, which generates a detailed recipe VR or a tabular recipe TR.
[0096] Figure 10 Shows an embodiment of the system according to the present invention. The system 80 includes a plurality of cooking devices 10, each cooking device 10 having its own integrated control unit 1. Each cooking device 10 with a control unit 1 can be located in completely different areas. For example, user N1 may be using her cooking device in Germany, while user N2 is settled in Brazil and user N3 is located in the United States. Of course, these three users N1, N2, and N3 may have very different tastes and preferences. The system 80 also includes a central entity 50. The central entity 50 can send recipes and / or recipe generators to the combined cooking devices 10 and control units 1 and can receive inputs and / or updates from the combined cooking devices 10 and control units 1. Since users N1, N2, and N3 are very diverse, it is preferable to cluster the inputs and / or updates and generate user group-specific recipe generators.
[0097] The description of the drawings should be understood as exemplary and not restrictive. Various modifications can be made to the embodiments described with reference to the drawings without departing from the scope of the present invention defined by the appended claims.
[0098] List of reference numerals
[0099] 1 Control unit
[0100] 2 Storage unit
[0101] 3 Communication unit
[0102] 4 Input unit
[0103] 5 Processor
[0104] 6 Output unit
[0105] 10 Cooking device
[0106] 10A Oven
[0107] 10B Stove
[0108] 10C Exhaust hood
[0109] 11 Main housing
[0110] 12 Cylinder
[0111] 13 Tool
[0112] 14 Cover
[0113] 20 Smart phone
[0114] 21 Touch-sensitive display
[0115] 30 Smart kitchen base
[0116] 31 Backrest
[0117] 32 Microphone
[0118] 33 Speaker
[0119] 40 Camera
[0120] 41 Field of view
[0121] 50 Central entity
[0122] 51 Storage unit
[0123] 52 Communication unit
[0124] 53 Processor
[0125] 60 Trigger (prompt)
[0126] 60E Enhanced trigger (prompt) 61 Translation unit
[0127] 70 Trigger enhancer
[0128] 71 Search request
[0129] 72 Knowledge base
[0130] 73 Auxiliary data
[0131] 80 System
[0132] M1 - M2 Method
[0133] N1 - N3 User
[0134] RG1 Recipe generator that outputs a detailed recipe RG2 Recipe generator that outputs a tabular recipe TR Tabular recipe
[0135] VR Detailed recipe
[0136] -M1-S1 Provide a trained recipe generator or train a recipe generator S2 Receive a trigger at the central entity
[0137] S3 Use the recipe generator to generate a new recipe based on the trigger S4 Send the new recipe from the central entity to the control unit S5 Receive input from the user at the central entity S6 Perform learning based on the input
[0138] U1 Receive a trigger from the user at the control unit U2 Send the trigger from the control unit to the central entity U3 Receive the new recipe at the control unit
[0139] U4 Provide the new recipe to the user
[0140] U5 Receive input from the user
[0141] U6 Send the input from the control unit to the central entity -M2-S11 Provide a trained recipe generator or train a recipe generator S12 Compress the recipe generator to generate a compressed recipe generator S13 Send the compressed recipe generator to the control unit
[0142] S14 Receive input and / or updates from the control unit
[0143] S15 Cluster the input and / or updates
[0144] S16 Adjust and / or train the recipe generator
[0145] U11 Receive and store the compressed recipe generator at the control unit
[0146] U12 Receive a trigger from the user
[0147] U13 Use the recipe generator to generate a new recipe based on the trigger
[0148] U14 Provide the new recipe to the user
[0149] U15 Receive input from the user
[0150] U16 Perform learning based on the input to determine an update
[0151] U17 Send the input and / or update from the control unit to the central entity
Claims
1. A method (M1, M2), in particular a computer-implemented method, for providing a recipe (VR, TR) for cooking to a user (N1, N2, N3) of a cooking device (10), wherein: The cooking device preferably comprises a food processor, a blender, an oven (10A), a stove (10B), a microwave oven and / or an exhaust hood (10C), and the method comprises the following steps: - providing (S1, S11) a trained recipe generator and / or training (S1, S11) a recipe generator; - receiving (U1, U11) a trigger, in particular a request, a query or a prompt, from a user of the cooking device; - generating (S3, U13) a new recipe using the recipe generator according to the trigger; and -Providing (U4, U14) the new recipe to the user.
2. The method (M1, M2) according to claim 1, wherein: The recipe generator (RG1, RG2) works based on generative artificial intelligence and preferably comprises a base model, in particular a large language model.
3. The method (M1, M2) according to at least one of the preceding claims, wherein: The recipe generator (RG1, RG2) has been trained using language-to-language learning and / or language-to-table learning, and / or the recipe generator (RG1, RG2) is trained using language-to-language learning and / or language-to-table learning.
4. The method (M1) according to at least one of the preceding claims, wherein: - providing and / or training said trained recipe generator at a central entity (50), in particular a server or a cloud service; - receiving (U1) a trigger (60, 60E) from the user at the control unit (1) of the cooking device; - sending (U2) the trigger (60, 60E) from the control unit (1) to the central entity, where, according to the trigger, a new recipe (VR, TR) is generated (S3) using the recipe generator; and - sending (S4) the new recipe (VR, TR) from the central entity to the control unit, through which the new recipe is provided (U4) to the user.
5. The method (M2) according to any one of claims 1 to 3, wherein: - providing and / or training said trained recipe generator at a central entity (50), in particular a server or a cloud service; - sending (S13) the recipe generator from the central entity to a control unit of the cooking device; - receiving (U12) at the control unit a trigger from the user; - generating (U13) a new recipe by the control unit using the recipe generator according to the trigger, and - providing (U14) said new recipe to said user via said control unit.
6. The method (M2) according to claim 5, wherein: The method further comprises the following steps: - compressing (S12) the recipe generator at the central entity to generate a compressed version of the recipe generator, sending (S13) the compressed version of the recipe generator from the central entity to the control unit of the cooking device; - wherein the recipe generator is preferably compressed using knowledge distillation, the recipe generator is a teacher model and the compressed version of the recipe generator is a student model.
7. The method (M1, M2) according to at least one of the preceding claims, wherein: The method further comprises the following steps: - receiving (U5, U15) at the control unit input from the user, in particular feedback related to the new recipe; and - performing learning (S6, U16), in particular reinforcement learning and / or self-supervised learning, based on the input to determine an update.
8. The method (M1, M2) according to claim 7, wherein: - sending (U6, U17) said inputs and / or updates from said control unit to said central entity and performing learning (S6) at said central entity, and / or - performing learning (U16) on said control unit, - wherein the following further steps are preferably performed: - asking the user under what conditions he wants the inputs and / or updates to be sent from the control unit to the central entity, - when these conditions are met, sending said inputs and / or updates from said control unit to said central entity, and - Adapting and / or training said recipe generator at said central entity based on said input and / or updates.
9. Method (M2) according to at least one of the preceding claims, in particular claim 8, wherein: The recipe generator is preferably sent from the central entity (50) to a plurality of control units (1), and inputs and / or updates are received at the central entity from the plurality of control units, each input and / or update being related to a respective user (N1, N2, N3) of a cooking device controlled by a respective control unit, wherein the method further comprises the steps of: - clustering (S15) the inputs and / or updates at the central entity based on characteristics of the respective users related to the inputs and / or updates and / or based on the user's choice of which group he wants to belong to; - at the central entity, adapting and / or training (S16) the recipe generator based on the clustered input and / or the clustered updates, such that a preferably user group specific recipe generator is generated; and - Preferably, said user group specific recipe generator is sent (S13) from said central entity to a control unit of said user group.
10. The method (M1, M2) according to at least one of the preceding claims, wherein: The method comprises the further step of validating the new recipe at the control unit and / or the central entity using at least one element of the group of elements comprising a knowledge graph, an ontology, a reasoner and a constrained optimization.
11. The method (M1, M2) according to at least one of the preceding claims, wherein: The method comprises the further step of translating the new recipe at the control unit and / or the central entity into a sequence of steps taken from a list of predetermined actions, which sequence of steps can be executed by the cooking device, wherein during the translation, technical constraints of the cooking device are preferably observed.
12. The method (M1, M2) according to at least one of the preceding claims, wherein: The method further comprises the step of controlling the cooking device by means of the control unit according to the new recipe, wherein the control unit is preferably adapted to provide the new recipe to the user by: - by guiding the user through a cooking process associated with the new recipe, and / or - by providing recommendations and / or instructions to said user during a cooking process related to said new recipe, preferably based on the determined current cooking situation.
13. A control unit (1) of a cooking device (10), wherein: The cooking device preferably comprises a food processor, a blender, an oven (10A), a stove (10B), a microwave oven and / or an exhaust hood (10C), and the control unit comprises: - a storage unit (2) for storing a compressed or uncompressed version of the recipe generator and / or recipes; - preferably a communication unit (3) for communicating with a central entity, preferably a server or a cloud service; - an input unit (4) adapted to receive a trigger, in particular a request, a query or a prompt, from a user of the cooking device; - a processor (5) adapted to request a new recipe from the central entity according to the trigger and / or to generate a new recipe using a recipe generator stored in a memory unit of the control unit according to the trigger; and - an output unit (6) for providing the new recipe to the user.
14. A central entity (50), preferably a server or a cloud service, comprising: - a storage unit (51) for storing the trained recipe generator; - a communication unit (52) for communicating with a control unit of the cooking device; as well as - a processor (53), the processor (53) a) for generating a new recipe based on a trigger, in particular a request, a query or a prompt, received from the control unit and based on the stored recipe generator, and / or b) for sending the recipe generator from the central entity to a control unit of the cooking device using the communication unit.
15. A system (80) for providing a recipe for cooking to a user of a cooking device, comprising: - a cooking device (10), wherein the cooking device preferably comprises a food processor, a blender, an oven (10A), a stove (10B), a microwave oven and / or an exhaust hood (10C); - A control unit (1) for a cooking device according to claim 13; and - A central entity (50) according to claim 14; - wherein the control unit (1) is integrated into the cooking device or is separate from the cooking device but connected to the cooking device and preferably comprises a computer, a mobile device, a tablet PC, a smartphone (20) and / or a smart speaker (30).
16. A data processing program product comprising instructions which, when said program is executed by a data processing device, cause said data processing device to carry out the method (M1, M2) according to at least one of claims 1 to 12.
Citation Information
Patent Citations
Determination and execution of a cooking recipe
EP3909479A1
Adapting a recipe
EP3958688A1
Electronic device with a gesture sensor and / or a microphone
EP4086727A1
Electronic device with a microphone and a speaker
EP4142303A1
Cited By
Ice food recipe generation method and device and storage medium
CN120873170A
Ice-cream recipe generation method and apparatus, and storage medium
CN120873170B