System
A system that generates weekly menus and shopping lists based on family input efficiently addresses menu planning and ingredient management challenges, enhancing meal variety and reducing time and cost.
Patent Information
- Application Number
- JP2024128351
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-02
- Publication Date
- 2026-02-16
AI Technical Summary
Planning daily menus is burdensome, particularly in creating diverse menus that cater to family members' tastes and budgets, and purchasing ingredients efficiently is challenging due to the lack of daily shopping options.
A system that receives information on family members, cooking preferences, and budget, automatically generates a weekly menu, creates a shopping list, and notifies users, while considering preferences and budget constraints.
Streamlines meal preparation by providing efficient and varied meal plans and ingredient management, saving time and cost.
Smart Images

Figure 2026025542000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] Planning daily menus is a burden for many families. It's particularly difficult to create a similar menu every week, or to come up with a diverse menu that suits the tastes and budget of each family member. Furthermore, in today's busy society, planning and purchasing ingredients for the week is also a major challenge, as it's not possible to go shopping every day. The present invention aims to solve these problems and make meal preparation at home more efficient. [Means for solving the problem]
[0005] The present invention provides a means for receiving information from a user regarding the number of family members, cooking preferences, available cooking utensils, and budget. It also includes a means for automatically generating a weekly menu based on the received information, and a means for creating a shopping list of necessary ingredients based on the generated menu. Furthermore, by including a means for notifying the user of the menu and shopping list, it is possible to streamline home meal preparation. Furthermore, by including a means for filtering recipes taking into account the user's cooking preferences during the menu generation process, and a means for adjusting the menu taking into account the user's input budget, it is possible to provide optimal menus tailored to individual needs.
[0006] "Means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget" refers to the software and / or hardware configuration that allows the user to register user information via an input interface and for the system to receive it.
[0007] The "means for automatically generating a weekly menu based on received information" is a configuration that executes a process to automatically create a weekly meal menu based on information provided by the user using an algorithm, database search, or other methods.
[0008] The "means for creating a shopping list of necessary ingredients based on the generated menu" is a means for analyzing the generated menu, listing all the ingredients needed for it, and compiling them in a form that the user can purchase all at once.
[0009] The "means for notifying the user of the menu and shopping list" is a component for displaying, transmitting, or notifying the user of the generated menu and ingredient list on the user's terminal.
[0010] "Means for filtering recipes taking into account the user's cooking preferences during the menu creation process" refers to the process of selecting or excluding recipes and ingredients to be used based on preferences and allergy information entered by the user.
[0011] The "means for adjusting the menu taking into account the budget entered by the user" refers to a process for managing costs by optimizing the menu contents and ingredients in accordance with the weekly food budget limit set by the user. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14]FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0013] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0014] First, the terms used in the following description will be explained.
[0015] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0016] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0017] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0018] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0019] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0020] [First embodiment]
[0021] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0022] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0023] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0024] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0025] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0026] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0027] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0028] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0029] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0030] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0031] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0032] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0033] ---
[0034] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[0035] Enter user information
[0036] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a form. For example, if the user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[0037] Server reception and analysis
[0038] The server receives and analyzes the information sent by the user, and the received information is stored in an internal database and managed for each user.
[0039] Automatic menu generation
[0040] The server automatically generates a weekly menu based on the received user information, including recipe information for each dish, ingredient list, cooking instructions, etc. For example, if the user likes salads, the server may add Caesar salad to the menu at the beginning of the week, adjusting the menu to suit the user's preferences.
[0041] Creating a grocery shopping list
[0042] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0043] User Notification
[0044] The server notifies the user of the generated weekly menu and shopping list. The user receives a notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0045] Specific examples
[0046] For example, if a user enters the following information:
[0047] Family size: 4 people
[0048] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0049] Usable cooking equipment: gas stove, microwave
[0050] Budget: 10,000 yen
[0051] With this information, the server generates a menu and shopping list like this:
[0052] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0053] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0054] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[0055] ---
[0056] The processing flow will be explained below.
[0057] ---
[0058] Step 1:
[0059] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, and their budget.
[0060] Step 2:
[0061] When the user presses the "send" button, the input information is sent from the terminal to the server.
[0062] Step 3:
[0063] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[0064] Step 4:
[0065] The server automatically generates a weekly menu based on the user's information, selecting appropriate recipes based on the user's cooking preferences, and taking into account available kitchen equipment and budget.
[0066] Step 5:
[0067] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and sorts out any overlapping ingredients.
[0068] Step 6:
[0069] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the contents.
[0070] Step 7:
[0071] The user makes the necessary purchases based on the menu and shopping list notified to them, and then prepares the meal according to the menu notified to them.
[0072] ---
[0073] The above is the specific processing flow of the "Easy Menu Planner" program.
[0074] Example 1
[0075] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0076] In modern society, planning a daily family menu is a very time-consuming task. Providing a balanced diet while taking into account the number of family members, cooking preferences, available cooking equipment, and even the budget is a major challenge. In many households, the complexity of this planning process leads to menus becoming monotonous and unnecessary shopping, resulting in a loss of time and money. There is also a need for efficient menu planning and ingredient management tailored to the individual needs of each household.
[0077] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0078] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for storing and managing the received information in a database, means for automatically generating a weekly menu using a generative AI model based on the stored information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This enables automatic generation of menus that reflect the individual needs of each household and efficient ingredient management, and is expected to result in significant savings in time and cost.
[0079] "User" refers to an individual or household that utilizes the system to provide information about family size, cooking preferences, available cooking equipment, and budget.
[0080] "Number of family members" refers to the number of people with whom the user lives and eats meals.
[0081] "Cuisine preferences" refers to the types of meals a user likes or their preference for specific cuisines.
[0082] "Available cooking equipment" refers to the types of cooking appliances and utensils available to the user at home.
[0083] "Budget" refers to the spending limit set by the user when planning a week's worth of meals.
[0084] "Server" refers to a computer system that receives, analyzes, and manages information from users.
[0085] "Database" refers to the information system for storing user information and generated menus and shopping lists.
[0086] "Generative AI model" refers to an artificial intelligence model that automatically generates a week's worth of menus based on information provided by the user.
[0087] A "menu" refers to a collection of meal menus that a user plans for a week.
[0088] "Ingredient shopping list" refers to a list of ingredients needed based on the generated menu.
[0089] "Notification" refers to a means of transmitting information about a week's worth of menus and shopping lists from the server to the user.
[0090] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[0091] Enter user information
[0092] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits it. For example, the user enters that there are four people in the family, their cooking preferences are "salad, curry, and pasta," and the available cooking utensils are "gas stove and microwave." This input information is sent to the server via an AJAX request.
[0093] Server information reception and analysis
[0094] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database. This database uses, for example, MongoDB or MySQL. The server analyzes the received information and manages it for each user in the database.
[0095] Automatic menu generation
[0096] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. This process takes into account the user's cooking preferences, budget, available cooking equipment, etc. The generated menu includes recipe information for each dish, a list of ingredients, cooking instructions, etc. This information is then stored back in the database.
[0097] An example prompt might be: "Generate a weekly menu for a family of four who prefers salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen."
[0098] Creating a grocery shopping list
[0099] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. This shopping list is also saved in the database. For example, the list includes the ingredients needed for "curry": "meat," "potatoes," "carrots," "onions," and "curry roux."
[0100] User Notification
[0101] The server notifies the user of the generated weekly menu and shopping list via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0102] Specific examples
[0103] For example, if a user enters the following information:
[0104] Family size: 4 people
[0105] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0106] Usable cooking equipment: gas stove, microwave
[0107] Budget: 10,000 yen
[0108] With this information, the server generates a menu and shopping list like this:
[0109] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0110] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0111] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[0112] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0113] Step 1: Enter your user information
[0114] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits the form. The input information includes: number of family members: 4; cooking preferences: salad, curry, pasta; available cooking utensils: gas stove, microwave; budget: 10,000 yen. This input information is sent to the server via an AJAX request.
[0115] Input: User enters family size, cooking preferences, available cooking equipment, and budget.
[0116] Output: The user information sent to the server.
[0117] Step 2: Receive and analyze server information
[0118] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database, such as MongoDB or MySQL. The server analyzes the received information and manages it in the database for each user. Specifically, after receiving an HTTP request, it stores the following information in the database: "Number of family members: 4," "Cooking preferences: salad, curry, pasta," "Usable cooking equipment: gas stove, microwave," and "Budget: 10,000 yen."
[0119] Input: User submits family size, cooking preferences, available kitchen equipment, and budget.
[0120] Output: User information stored in the database.
[0121] Step 3: Automatic menu generation
[0122] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. During this process, the user's cooking preferences, budget, available cooking utensils, etc. are taken into consideration. The server inputs the prompt "Generate a weekly menu for a family of four who likes salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen" into the generative AI model, and receives the following menu as a response: "Curry, salad, pasta, fried chicken, simmered dish, omelet rice." The generated menu is then saved back into the database.
[0123] Input: Saved user information, prompt for the generative AI model.
[0124] Output: A weekly meal plan from a generative AI model.
[0125] Step 4: Make a grocery shopping list
[0126] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux." This shopping list is also saved in the database.
[0127] Input: Generated weekly menu list.
[0128] Output: Shopping list.
[0129] Step 5: Notify users
[0130] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. For example, the server may notify the user by email that "The following weekly menu and shopping list have been generated," and the email will include the menu and shopping list.
[0131] Input: Generated weekly menu list and shopping list.
[0132] Output: Notification to the user.
[0133] (Application example 1)
[0134] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0135] In today's busy lifestyles, many families need to devote time and effort to planning daily meals and gathering the necessary ingredients. However, planning meals and creating shopping lists is time-consuming, placing a burden on those who are not good at cooking or who are pressed for time. In addition, it is difficult to purchase ingredients efficiently and prevent waste. A system that can solve these problems is needed.
[0136] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0137] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, means for notifying the user of the menu and shopping list, and means for delivering an ingredient box containing the necessary ingredients based on the automatically generated menu. This allows the user to easily plan meals for the week and have the necessary ingredients delivered efficiently.
[0138] A "user" is someone who uses the system to input information about the number of family members, cooking preferences, available cooking equipment, and budget.
[0139] "Number of family members" means the total number of people belonging to the household input by the user.
[0140] "Cooking preferences" refers to the types and characteristics of dishes that are preferred in the household and are input by the user.
[0141] "Available cooking equipment" refers to cooking tools and appliances that are available in the home and are input by the user.
[0142] "Budget" means the amount of money that the user can spend on ingredients for one week, which is input by the user.
[0143] "Menu" refers to a weekly meal plan that is automatically generated based on the information received.
[0144] The "grocery shopping list" refers to a list of necessary ingredients that is created based on the generated menu.
[0145] "Notification" refers to the act of informing the user of the menu and shopping list.
[0146] "Ingredient box" refers to a package filled with ingredients needed based on an automatically generated menu.
[0147] "Delivery" means that the food box is delivered to the user.
[0148] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, automatically creates a weekly menu based on that information, creates a shopping list of necessary ingredients, and delivers a food box to the user based on that. The means for realizing this system are described in detail below.
[0149] Enter user information
[0150] A user starts this application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a specified form. For example, if a user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[0151] Receiving and analyzing information by the server
[0152] The server receives and analyzes the information sent by the user. During this analysis, the received information is stored in an internal database and managed for each user. The database also stores the user's name, address, and other related information.
[0153] Automatic menu generation
[0154] The server automatically generates a weekly menu based on the received user information, including recipe information, ingredient lists, and cooking instructions for each dish. It then uses a generative AI model (e.g., OpenAI GPT-3) to generate prompts like the following:
[0155] Prompt Sentence Examples
[0156] You are a cooking expert. The user provided the following information:
[0157] Family size: 4 people
[0158] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[0159] Usable cooking equipment: gas stove, microwave
[0160] Budget: 10,000 yen
[0161] Please suggest a menu for the week and create a list of ingredients based on it.
[0162] Create and notify grocery shopping lists
[0163] Based on the automatically generated menu, the server creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," it includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0164] The generated menu and shopping list are notified to the user, who can then receive a notification on their device and check the menu and shopping list.
[0165] Food box delivery
[0166] Furthermore, the server automatically assembles a food box containing the necessary ingredients based on the generated menu and shopping list, and delivers it to the user via a delivery company. This allows the user to receive all the ingredients they need at once, allowing them to enjoy cooking without any hassle.
[0167] Technology stack used
[0168] Front-end: React Native (building smartphone applications)
[0169] Backend: Node.js, Express.js (server-side processing)
[0170] Database: MongoDB (information storage and management)
[0171] AI model: OpenAI GPT-3 (recipe generation and menu suggestions)
[0172] Notification system: Firebase Cloud Messaging (notifying users)
[0173] Specific examples
[0174] For example, if a user enters the following information:
[0175] Family size: 4 people
[0176] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0177] Usable cooking equipment: gas stove, microwave
[0178] Budget: 10,000 yen
[0179] With this information, the server generates a menu and shopping list like this:
[0180] Weekly menu: "Curry", "Caesar salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0181] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0182] This allows users to plan their daily menu and receive the ingredients they need, streamlining meal preparation.
[0183] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0184] Step 1:
[0185] The user launches the application using a terminal and enters information about the number of family members, cooking preferences, available cooking utensils, and budget into a specified form. This information entered by the user is sent to the server. Examples of input include "Number of family members: 4," "Cooking preferences: Likes salad, curry, and pasta. Doesn't like fish dishes," "Available cooking utensils: Gas stove, microwave," and "Budget: 10,000 yen." Once this input data is sent to the server, the process proceeds to the next step.
[0186] Step 2:
[0187] The server receives and analyzes the information sent by the user. The server analyzes the received data and saves it in an internal database for each user. Specifically, the server saves information about the number of family members, cooking preferences, available cooking utensils, and budget in the database and manages it for each user ID. This allows the user information needed for subsequent processing to be used appropriately.
[0188] Step 3:
[0189] The server automatically generates a weekly menu based on the analyzed user information. This generation process uses a generative AI model (e.g., OpenAI GPT-3) and generates an appropriate menu from the AI model based on the following prompt:
[0190] You are a cooking expert. The user provided the following information:
[0191] Family size: 4 people
[0192] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[0193] Usable cooking equipment: gas stove, microwave
[0194] Budget: 10,000 yen
[0195] This prompt is input into the AI model, which processes the data to generate a weekly menu and recipe information for each dish. An example output would be a weekly list of dishes such as "curry," "Caesar salad," and "pasta."
[0196] Step 4:
[0197] Based on the menu generated by the AI model, the server creates a shopping list of the necessary ingredients. This list lists the specific ingredients needed for each dish. For example, for curry, the list might include "meat," "potatoes," "carrots," "onions," and "curry roux." The server references the database and adds each ingredient to the list to generate the final shopping list.
[0198] Step 5:
[0199] The generated weekly menu and ingredient list are notified to the user. Specifically, a notification system (e.g., Firebase Cloud Messaging) is used to send a notification to the user's smartphone. The user receives the notification on their device and can check the menu and shopping list.
[0200] Step 6:
[0201] The server assembles a food box containing the necessary ingredients based on the automatically generated menu and shopping list. A specific example includes picking ingredients from a warehouse based on the generated shopping list and assembling the food box. Information about this food box is also stored in a database and prepared for delivery.
[0202] Step 7:
[0203] The food box is delivered to the user via a delivery company. The server provides the necessary information to the delivery company, and the food box is delivered to the user's address. This operation allows the user to easily receive the ingredients needed for a week's worth of cooking.
[0204] By integrating these services, users can plan meals and purchase and receive ingredients effortlessly.
[0205] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0206] ---
[0207] The present invention is a system that automatically generates a weekly menu using information about the number of family members, cooking preferences, available cooking utensils, and budget of the user, as well as an emotion engine that recognizes the user's emotions. A specific embodiment for implementing this system is shown below.
[0208] Enter user information
[0209] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, budget, and current emotional state into an input form. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking equipment is "gas stove, microwave," and their current emotional state is "high stress," this information is sent to the server.
[0210] Server reception and analysis
[0211] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine and stores this data as well.
[0212] Automatic menu generation
[0213] The server automatically generates a weekly menu based on the received user information and emotional data. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. It also selects appropriate recipes based on the user's preferences. For example, dishes such as "Caesar salad," "curry," and "pasta" are selected.
[0214] Creating a grocery shopping list
[0215] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0216] User Notification
[0217] The server then notifies the user of the generated weekly menu and shopping list. The user can receive notifications and check the contents on their device. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0218] Specific examples
[0219] For example, if a user enters the following information:
[0220] Family size: 4 people
[0221] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0222] Usable cooking equipment: gas stove, microwave
[0223] Budget: 10,000 yen
[0224] Emotional state: High stress
[0225] With this information, the server generates a menu and shopping list like this:
[0226] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[0227] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0228] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[0229] ---
[0230] The processing flow will be explained below.
[0231] ---
[0232] Step 1:
[0233] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, their budget, and their current emotional state.
[0234] Step 2:
[0235] When the user presses the "send" button, the input information is sent from the terminal to the server.
[0236] Step 3:
[0237] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[0238] Step 4:
[0239] The server runs an emotion engine to analyze the user's emotion data, which is then classified into emotional states (e.g., stressed, relaxed, tired, etc.) and stored in a database.
[0240] Step 5:
[0241] The server automatically generates a week's worth of menus based on the user's family size, cooking preferences, available kitchen utensils, budget, and emotional data. For example, if the user is under high stress, it will prioritize dishes that are easy and quick to prepare.
[0242] Step 6:
[0243] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and organizes and consolidates duplicate ingredients.
[0244] Step 7:
[0245] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the menu and shopping list.
[0246] Step 8:
[0247] The user makes the necessary purchases based on the menu and shopping list provided. After shopping, the user prepares a meal according to the menu provided. This process is expected to improve the user's emotional state.
[0248] ---
[0249] This is the specific flow of processing for the system that combines the emotion engine. This system supports daily meal preparation by providing more appropriate menus based on the user's emotional state.
[0250] Example 2
[0251] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0252] In the past, it was difficult to take the user's emotional state into consideration when planning a menu. While systems existed that automatically generated menus based on the number of family members, cooking preferences, available kitchen utensils, and budget, and then created and notified the user of a shopping list of ingredients based on the menu, these systems did not adjust to the user's emotional state, and therefore could not reduce the user's stress or burden. As a result, users who were particularly stressed had difficulty planning an appropriate menu, which often required a lot of time and effort.
[0253] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for receiving and analyzing information regarding the user's emotional state, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This makes it possible to automatically generate an optimal menu based on the user's emotional state, and to create and notify the user of a list of necessary ingredients.
[0254] "User" refers to an individual or family who enters information to use the system and receives menus and shopping lists.
[0255] "Number of family members" refers to the information about the number of family members that the user enters into the system, and is the basic data for determining the amount of food to be served.
[0256] "Cuisine preferences" refers to the types of cuisine that a user prefers and inputs into the system, and are factors that are taken into consideration when generating a menu.
[0257] "Available cooking equipment" refers to the types of cooking equipment in the home that the user inputs into the system, and is used to select applicable recipes when generating menus.
[0258] "Budget" refers to the amount of money a user can spend on purchasing ingredients that is entered into the system, and is a standard for adjusting menus within financial constraints.
[0259] "Emotional state" refers to information entered by the user about their recent emotions, and this information is used to take the user's mental burden into consideration when selecting a menu.
[0260] "Means for receiving" refers to the technical means for transmitting various information input by the user to the server, and examples include an internet connection and an input form.
[0261] "Means for analyzing" refers to algorithms or programs that process the received information and convert it into appropriate data taking into account the user's condition.
[0262] "Automatic generation means" refers to the programs or algorithms used by the system to automatically generate menus based on user input data.
[0263] "Means for creating a shopping list" refers to a program or algorithm that lists the ingredients needed based on an automatically generated menu.
[0264] "Means for notification" refers to the technical means for sending the generated menu and shopping list to the user's device, examples of which include push notification services and email.
[0265] MODE FOR CARRYING OUT THE INVENTION
[0266] The present invention is a system that automatically generates a weekly menu using information about the user's family size, cooking preferences, available cooking utensils, and budget, as well as an emotion engine that recognizes the user's emotional state. Specific embodiments for implementing this system are described below.
[0267] Enter user information
[0268] The user opens a dedicated application using a terminal. In the application's input form, the user enters the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their recent emotional state is "high stress," this information is sent from the terminal to the server.
[0269] Server reception and analysis
[0270] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine. The emotion engine can be, for example, an open-source emotion analysis library or a commercial emotion analysis service. Examples include the "Affectiva SDK" and the "IBM Watson Tone Analyzer."
[0271] Automatic menu generation
[0272] The server automatically generates a weekly menu based on the received user information and emotional data. Based on the received data, it selects appropriate recipes from a recipe database. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. The menu is also generated taking into account the user's cooking preferences and budget.
[0273] Creating a grocery shopping list
[0274] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0275] User Notification
[0276] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via an application on the device. The notification function may use the push notification service "Firebase Cloud Messaging (FCM)." The user receives the notification on their device and can check the contents.
[0277] Specific examples
[0278] For example, if a user enters the following information:
[0279] Family size: 4 people
[0280] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0281] Usable cooking equipment: gas stove, microwave
[0282] Budget: 10,000 yen
[0283] Emotional state: High stress
[0284] With this information, the server generates a menu and shopping list like this:
[0285] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[0286] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0287] Example prompts to input to the generative AI model
[0288] 1. I have a family of four. My cooking preferences are salad, curry, and pasta, but I don't like fish dishes. The only cooking equipment available is a gas stove and microwave, and my budget is 10,000 yen. I've been feeling very stressed lately. Could you suggest a weekly menu?
[0289] 2. Plan a week's worth of easy and delicious meals for a family of four who love to cook, within an affordable budget. The cooking equipment available is a gas stove and a microwave. Because stress is high, recipes that are easy to prepare are preferred.
[0290] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[0291] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0292] Step 1:
[0293] The user opens the application on their device and enters information into the input form, such as the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. This information is sent from the device to the server as input data. Specifically, when the user enters information into the form and presses the submit button, an HTTP request is generated and the data is sent to the server.
[0294] Input: Family size, cooking preferences, available cooking equipment, budget, current emotional state
[0295] Output: User information sent to the server
[0296] Step 2:
[0297] The server receives and analyzes the information sent by the user. The received information is stored in an internal database. Specifically, the server receives an HTTP request and stores user information in a database (e.g., MySQL or PostgreSQL).
[0298] Input: User information (number of family members, cooking preferences, available cooking equipment, budget, emotional state)
[0299] Output: User information stored in the database
[0300] Step 3:
[0301] The server uses an emotion engine to analyze the user's emotion data. The results of this analysis are also stored in a database. Specifically, the server calls an emotion engine (such as "Affectiva SDK" or "IBM Watson Tone Analyzer"), performs emotion analysis, and stores the results in a database.
[0302] Input: User's emotional state
[0303] Output: Parsed emotion data
[0304] Step 4:
[0305] The server automatically generates a weekly menu based on the user's information and emotional data. Specifically, the server accesses a recipe database, searches for appropriate recipes that take into account the user's preferences and emotional state, and generates an optimal menu.
[0306] Input: User information, emotion data
[0307] Output: Automatically generated weekly menu
[0308] Step 5:
[0309] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. Specifically, the server extracts the ingredients needed for each recipe and compiles them into a shopping list.
[0310] Input: Automatically generated menu
[0311] Output: Shopping list of ingredients needed
[0312] Step 6:
[0313] The server notifies the user of the generated weekly menu and shopping list by using a notification service (such as Firebase Cloud Messaging (FCM)) to push the information to the device.
[0314] Input: Weekly menu, shopping list
[0315] Output: Menu and shopping list notified to the user's device
[0316] (Application example 2)
[0317] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0318] In today's busy lifestyles, users need to significantly reduce the time and effort required to plan daily meals, purchase the necessary ingredients, and then cook them. Furthermore, a user's emotional state significantly influences their meal choices, so there is a need to improve user satisfaction and happiness by providing meals that correspond to their stress level and mood at the time. Current menu generation systems have difficulty flexibly adjusting menus that take the user's emotional state into account and lack the functionality to automatically order ingredients based on the generated menu. To address these issues, a system is needed that can automatically generate a weekly menu that reflects the user's emotional state and efficiently support the preparation of the menu.
[0319] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu, means for creating a shopping list of necessary ingredients based on the generated menu, means for analyzing the user's emotional state using an emotion engine and adjusting the menu and shopping list based on the results, means for ordering ingredients online based on the shopping list, and means for notifying the user of the menu and shopping list. This allows the user to receive a menu that takes into consideration the user's emotional state and automatically order necessary ingredients based on the menu contents, significantly reducing the burden of housework.
[0320] ---
[0321] "User information" refers to information regarding the number of family members, cooking preferences, available cooking utensils, and budget.
[0322] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[0323] "Menu" refers to a weekly plan of meals prepared for the user's family.
[0324] A "shopping list" is a list of ingredients and their quantities needed based on the generated menu.
[0325] A "server" is a computer system that analyzes received user information and performs menu generation and emotion analysis.
[0326] "Online ordering" refers to the act of purchasing ingredients via the internet.
[0327] "Notification means" refers to a method for communicating the generated menu and shopping list to the user (for example, an application's notification function or email).
[0328] ---
[0329] The present invention is a system that collects information about a user's family size, cooking preferences, available cooking utensils, and budget, analyzes the user's emotional state using an emotion engine, automatically generates a weekly menu based on that information, and orders the necessary ingredients online. Specific methods for implementing the present invention are described below.
[0330] Enter user information
[0331] The user opens the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. For example, the user may enter that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their emotional state is "high stress." This information is sent to the server.
[0332] Server reception and analysis
[0333] The server receives and analyzes the information sent by the user. The analysis is performed using the information for each user stored in an internal database. At the same time, an emotion engine is used to analyze the user's emotional data. This is done using an emotion analysis algorithm as specific software.
[0334] Automatic menu generation
[0335] The server automatically generates a weekly menu based on the received user information and analyzed emotional data. For example, if the user is under high stress, it will prioritize dishes that are quick to prepare and easy to make. This is done using a generative AI model.
[0336] Creating a grocery shopping list
[0337] The server analyzes the generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes the necessary ingredients: "meat," "potatoes," "carrots," "onions," and "curry roux."
[0338] Online food ordering
[0339] Based on the shopping list, the server automatically orders the necessary ingredients online through the API of a food delivery service, allowing users to have the ingredients delivered efficiently to their homes.
[0340] User Notification
[0341] The server then notifies the user of the generated weekly menu and shopping list, as well as online ordering details, via in-app notifications or email.
[0342] Specific example explanation
[0343] As a concrete example, consider the case where a user enters the following information:
[0344] Family size: 4 people
[0345] Food preferences: Salad, curry, pasta
[0346] Usable cooking equipment: gas stove, microwave
[0347] Budget: 10,000 yen
[0348] Emotional state: High stress
[0349] Using this information, the server generates a menu and shopping list, and places an online order, like this:
[0350] Menu: "Caesar salad", "curry", "pasta", "omelette rice", "easy fried chicken", "simmered dish", "quick fried rice"
[0351] Shopping list: "Lettuce," "Tomato," "Cucumber," "Dressing," "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Pasta," "Tomato sauce," "Olive oil," etc.
[0352] Prompt Sentence Examples
[0353] "Write a smartphone application that uses an emotion engine to automatically generate a week's worth of meals based on information entered by the user. Use the following user information:
[0354] Family size: 4 people
[0355] Food preferences: salad, curry, pasta
[0356] Usable cooking equipment: gas stove, microwave
[0357] Budget: 10,000 yen
[0358] Emotional state: High stress
[0359] This information is used to generate a weekly meal plan and a grocery list, which is then used to order food from a food delivery service.
[0360] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0361] ---
[0362] Step 1:
[0363] The user launches the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. The entered information is sent from the device to the server. Examples of input data include "number of family members: 4, cooking preferences: salad, curry, pasta, available cooking utensils: gas stove, microwave, budget: 10,000 yen, emotional state: high stress."
[0364] Step 2:
[0365] The server receives the user information sent from the device. The received data is temporarily stored and used for the next analysis. The server then starts the emotion engine and analyzes the user's emotional state data. The analyzed emotional state data is integrated with the user's input data. The emotion engine outputs, for example, "Emotional state: High stress."
[0366] Step 3:
[0367] The server automatically generates a weekly menu based on the integrated user information. Here, it takes into account the results of the emotion engine and prioritizes dishes that are easy to prepare and don't take much time. Using a generative AI model, the optimal menu is selected based on the user's preferences and emotional state. The output might be, for example, "Weekly menu: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice."
[0368] Step 4:
[0369] The server creates a shopping list of ingredients based on the generated menu. Here, it lists the ingredients needed for each dish and calculates the required quantities. For example, a shopping list such as "Caesar salad: lettuce, tomato, cucumber, dressing; curry: meat, potato, carrot, onion, curry roux" may be generated.
[0370] Step 5:
[0371] Based on the generated shopping list, the server orders the necessary ingredients online through the API of a food delivery service. During this process, the server selects the optimal supplier based on the quantity of each ingredient and budget, and sends the order data to the API. For example, data such as "Order details: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; 500g meat, 5 potatoes, 2 carrots, 3 onions, 1 box of curry roux" is sent to the API.
[0372] Step 6:
[0373] After the online order is completed, the server notifies the user of the generated weekly menu, shopping list, and order details. Notifications can be sent via the application's notification function or email. The user can receive the notification and check the details. For example, a notification such as "Menu notification: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice; Shopping list: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; Online order completed" may be sent.
[0374] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0375] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0376] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0377] [Second embodiment]
[0378] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0379] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0380] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0381] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0382] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0383] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0384] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0385] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0386] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0387] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0388] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0389] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0390] ---
[0391] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[0392] Enter user information
[0393] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a form. For example, if the user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[0394] Server reception and analysis
[0395] The server receives and analyzes the information sent by the user, and the received information is stored in an internal database and managed for each user.
[0396] Automatic menu generation
[0397] The server automatically generates a weekly menu based on the received user information, including recipe information for each dish, ingredient list, cooking instructions, etc. For example, if the user likes salads, the server may add Caesar salad to the menu at the beginning of the week, adjusting the menu to suit the user's preferences.
[0398] Creating a grocery shopping list
[0399] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0400] User Notification
[0401] The server notifies the user of the generated weekly menu and shopping list. The user receives a notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0402] Specific examples
[0403] For example, if a user enters the following information:
[0404] Family size: 4 people
[0405] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0406] Usable cooking equipment: gas stove, microwave
[0407] Budget: 10,000 yen
[0408] With this information, the server generates a menu and shopping list like this:
[0409] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0410] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0411] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[0412] ---
[0413] The processing flow will be explained below.
[0414] ---
[0415] Step 1:
[0416] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, and their budget.
[0417] Step 2:
[0418] When the user presses the "send" button, the input information is sent from the terminal to the server.
[0419] Step 3:
[0420] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[0421] Step 4:
[0422] The server automatically generates a weekly menu based on the user's information, selecting appropriate recipes based on the user's cooking preferences, and taking into account available kitchen equipment and budget.
[0423] Step 5:
[0424] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and sorts out any overlapping ingredients.
[0425] Step 6:
[0426] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the contents.
[0427] Step 7:
[0428] The user makes the necessary purchases based on the menu and shopping list notified to them, and then prepares the meal according to the menu notified to them.
[0429] ---
[0430] The above is the specific processing flow of the "Easy Menu Planner" program.
[0431] Example 1
[0432] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0433] In modern society, planning a daily family menu is a very time-consuming task. Providing a balanced diet while taking into account the number of family members, cooking preferences, available cooking equipment, and even the budget is a major challenge. In many households, the complexity of this planning process leads to menus becoming monotonous and unnecessary shopping, resulting in a loss of time and money. There is also a need for efficient menu planning and ingredient management tailored to the individual needs of each household.
[0434] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0435] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for storing and managing the received information in a database, means for automatically generating a weekly menu using a generative AI model based on the stored information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This enables automatic generation of menus that reflect the individual needs of each household and efficient ingredient management, and is expected to result in significant savings in time and cost.
[0436] "User" refers to an individual or household that utilizes the system to provide information about family size, cooking preferences, available cooking equipment, and budget.
[0437] "Number of family members" refers to the number of people with whom the user lives and eats meals.
[0438] "Cuisine preferences" refers to the types of meals a user likes or their preference for specific cuisines.
[0439] "Available cooking equipment" refers to the types of cooking appliances and utensils available to the user at home.
[0440] "Budget" refers to the spending limit set by the user when planning a week's worth of meals.
[0441] "Server" refers to a computer system that receives, analyzes, and manages information from users.
[0442] "Database" refers to the information system for storing user information and generated menus and shopping lists.
[0443] "Generative AI model" refers to an artificial intelligence model that automatically generates a week's worth of menus based on information provided by the user.
[0444] A "menu" refers to a collection of meal menus that a user plans for a week.
[0445] "Ingredient shopping list" refers to a list of ingredients needed based on the generated menu.
[0446] "Notification" refers to a means of transmitting information about a week's worth of menus and shopping lists from the server to the user.
[0447] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[0448] Enter user information
[0449] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits it. For example, the user enters that there are four people in the family, their cooking preferences are "salad, curry, and pasta," and the available cooking utensils are "gas stove and microwave." This input information is sent to the server via an AJAX request.
[0450] Server information reception and analysis
[0451] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database. This database uses, for example, MongoDB or MySQL. The server analyzes the received information and manages it for each user in the database.
[0452] Automatic menu generation
[0453] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. This process takes into account the user's cooking preferences, budget, available cooking equipment, etc. The generated menu includes recipe information for each dish, a list of ingredients, cooking instructions, etc. This information is then stored back in the database.
[0454] An example prompt might be: "Generate a weekly menu for a family of four who prefers salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen."
[0455] Creating a grocery shopping list
[0456] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. This shopping list is also saved in the database. For example, the list includes the ingredients needed for "curry": "meat," "potatoes," "carrots," "onions," and "curry roux."
[0457] User Notification
[0458] The server notifies the user of the generated weekly menu and shopping list via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0459] Specific examples
[0460] For example, if a user enters the following information:
[0461] Family size: 4 people
[0462] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0463] Usable cooking equipment: gas stove, microwave
[0464] Budget: 10,000 yen
[0465] With this information, the server generates a menu and shopping list like this:
[0466] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0467] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0468] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[0469] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0470] Step 1: Enter your user information
[0471] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits the form. The input information includes: number of family members: 4; cooking preferences: salad, curry, pasta; available cooking utensils: gas stove, microwave; budget: 10,000 yen. This input information is sent to the server via an AJAX request.
[0472] Input: User enters family size, cooking preferences, available cooking equipment, and budget.
[0473] Output: The user information sent to the server.
[0474] Step 2: Receive and analyze server information
[0475] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database, such as MongoDB or MySQL. The server analyzes the received information and manages it in the database for each user. Specifically, after receiving an HTTP request, it stores the following information in the database: "Number of family members: 4," "Cooking preferences: salad, curry, pasta," "Usable cooking equipment: gas stove, microwave," and "Budget: 10,000 yen."
[0476] Input: User submits family size, cooking preferences, available kitchen equipment, and budget.
[0477] Output: User information stored in the database.
[0478] Step 3: Automatic menu generation
[0479] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. During this process, the user's cooking preferences, budget, available cooking utensils, etc. are taken into consideration. The server inputs the prompt "Generate a weekly menu for a family of four who likes salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen" into the generative AI model, and receives the following menu as a response: "Curry, salad, pasta, fried chicken, simmered dish, omelet rice." The generated menu is then saved back into the database.
[0480] Input: Saved user information, prompt for the generative AI model.
[0481] Output: A weekly meal plan from a generative AI model.
[0482] Step 4: Make a grocery shopping list
[0483] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux." This shopping list is also saved in the database.
[0484] Input: Generated weekly menu list.
[0485] Output: Shopping list.
[0486] Step 5: Notify users
[0487] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. For example, the server may notify the user by email that "The following weekly menu and shopping list have been generated," and the email will include the menu and shopping list.
[0488] Input: Generated weekly menu list and shopping list.
[0489] Output: Notification to the user.
[0490] (Application example 1)
[0491] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0492] In today's busy lifestyles, many families need to devote time and effort to planning daily meals and gathering the necessary ingredients. However, planning meals and creating shopping lists is time-consuming, placing a burden on those who are not good at cooking or who are pressed for time. In addition, it is difficult to purchase ingredients efficiently and prevent waste. A system that can solve these problems is needed.
[0493] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0494] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, means for notifying the user of the menu and shopping list, and means for delivering an ingredient box containing the necessary ingredients based on the automatically generated menu. This allows the user to easily plan meals for the week and have the necessary ingredients delivered efficiently.
[0495] A "user" is someone who uses the system to input information about the number of family members, cooking preferences, available cooking equipment, and budget.
[0496] "Number of family members" means the total number of people belonging to the household input by the user.
[0497] "Cooking preferences" refers to the types and characteristics of dishes that are preferred in the household and are input by the user.
[0498] "Available cooking equipment" refers to cooking tools and appliances that are available in the home and are input by the user.
[0499] "Budget" means the amount of money that the user can spend on ingredients for one week, which is input by the user.
[0500] "Menu" refers to a weekly meal plan that is automatically generated based on the information received.
[0501] The "grocery shopping list" refers to a list of necessary ingredients that is created based on the generated menu.
[0502] "Notification" refers to the act of informing the user of the menu and shopping list.
[0503] "Ingredient box" refers to a package filled with ingredients needed based on an automatically generated menu.
[0504] "Delivery" means that the food box is delivered to the user.
[0505] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, automatically creates a weekly menu based on that information, creates a shopping list of necessary ingredients, and delivers a food box to the user based on that. The means for realizing this system are described in detail below.
[0506] Enter user information
[0507] A user starts this application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a specified form. For example, if a user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[0508] Receiving and analyzing information by the server
[0509] The server receives and analyzes the information sent by the user. During this analysis, the received information is stored in an internal database and managed for each user. The database also stores the user's name, address, and other related information.
[0510] Automatic menu generation
[0511] The server automatically generates a weekly menu based on the received user information, including recipe information, ingredient lists, and cooking instructions for each dish. It then uses a generative AI model (e.g., OpenAI GPT-3) to generate prompts like the following:
[0512] Prompt Sentence Examples
[0513] You are a cooking expert. The user provided the following information:
[0514] Family size: 4 people
[0515] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[0516] Usable cooking equipment: gas stove, microwave
[0517] Budget: 10,000 yen
[0518] Please suggest a menu for the week and create a list of ingredients based on it.
[0519] Create and notify grocery shopping lists
[0520] Based on the automatically generated menu, the server creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," it includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0521] The generated menu and shopping list are notified to the user, who can then receive a notification on their device and check the menu and shopping list.
[0522] Food box delivery
[0523] Furthermore, the server automatically assembles a food box containing the necessary ingredients based on the generated menu and shopping list, and delivers it to the user via a delivery company. This allows the user to receive all the ingredients they need at once, allowing them to enjoy cooking without any hassle.
[0524] Technology stack used
[0525] Front-end: React Native (building smartphone applications)
[0526] Backend: Node.js, Express.js (server-side processing)
[0527] Database: MongoDB (information storage and management)
[0528] AI model: OpenAI GPT-3 (recipe generation and menu suggestions)
[0529] Notification system: Firebase Cloud Messaging (notifying users)
[0530] Specific examples
[0531] For example, if a user enters the following information:
[0532] Family size: 4 people
[0533] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0534] Usable cooking equipment: gas stove, microwave
[0535] Budget: 10,000 yen
[0536] With this information, the server generates a menu and shopping list like this:
[0537] Weekly menu: "Curry", "Caesar salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0538] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0539] This allows users to plan their daily menu and receive the ingredients they need, streamlining meal preparation.
[0540] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0541] Step 1:
[0542] The user launches the application using a terminal and enters information about the number of family members, cooking preferences, available cooking utensils, and budget into a specified form. This information entered by the user is sent to the server. Examples of input include "Number of family members: 4," "Cooking preferences: Likes salad, curry, and pasta. Doesn't like fish dishes," "Available cooking utensils: Gas stove, microwave," and "Budget: 10,000 yen." Once this input data is sent to the server, the process proceeds to the next step.
[0543] Step 2:
[0544] The server receives and analyzes the information sent by the user. The server analyzes the received data and saves it in an internal database for each user. Specifically, the server saves information about the number of family members, cooking preferences, available cooking utensils, and budget in the database and manages it for each user ID. This allows the user information needed for subsequent processing to be used appropriately.
[0545] Step 3:
[0546] The server automatically generates a weekly menu based on the analyzed user information. This generation process uses a generative AI model (e.g., OpenAI GPT-3) and generates an appropriate menu from the AI model based on the following prompt:
[0547] You are a cooking expert. The user provided the following information:
[0548] Family size: 4 people
[0549] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[0550] Usable cooking equipment: gas stove, microwave
[0551] Budget: 10,000 yen
[0552] This prompt is input into the AI model, which processes the data to generate a weekly menu and recipe information for each dish. An example output would be a weekly list of dishes such as "curry," "Caesar salad," and "pasta."
[0553] Step 4:
[0554] Based on the menu generated by the AI model, the server creates a shopping list of the necessary ingredients. This list lists the specific ingredients needed for each dish. For example, for curry, the list might include "meat," "potatoes," "carrots," "onions," and "curry roux." The server references the database and adds each ingredient to the list to generate the final shopping list.
[0555] Step 5:
[0556] The generated weekly menu and ingredient list are notified to the user. Specifically, a notification system (e.g., Firebase Cloud Messaging) is used to send a notification to the user's smartphone. The user receives the notification on their device and can check the menu and shopping list.
[0557] Step 6:
[0558] The server assembles a food box containing the necessary ingredients based on the automatically generated menu and shopping list. A specific example includes picking ingredients from a warehouse based on the generated shopping list and assembling the food box. Information about this food box is also stored in a database and prepared for delivery.
[0559] Step 7:
[0560] The food box is delivered to the user via a delivery company. The server provides the necessary information to the delivery company, and the food box is delivered to the user's address. This operation allows the user to easily receive the ingredients needed for a week's worth of cooking.
[0561] By integrating these services, users can plan meals and purchase and receive ingredients effortlessly.
[0562] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0563] ---
[0564] The present invention is a system that automatically generates a weekly menu using information about the number of family members, cooking preferences, available cooking utensils, and budget of the user, as well as an emotion engine that recognizes the user's emotions. A specific embodiment for implementing this system is shown below.
[0565] Enter user information
[0566] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, budget, and current emotional state into an input form. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking equipment is "gas stove, microwave," and their current emotional state is "high stress," this information is sent to the server.
[0567] Server reception and analysis
[0568] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine and stores this data as well.
[0569] Automatic menu generation
[0570] The server automatically generates a weekly menu based on the received user information and emotional data. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. It also selects appropriate recipes based on the user's preferences. For example, dishes such as "Caesar salad," "curry," and "pasta" are selected.
[0571] Creating a grocery shopping list
[0572] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0573] User Notification
[0574] The server then notifies the user of the generated weekly menu and shopping list. The user can receive notifications and check the contents on their device. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0575] Specific examples
[0576] For example, if a user enters the following information:
[0577] Family size: 4 people
[0578] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0579] Usable cooking equipment: gas stove, microwave
[0580] Budget: 10,000 yen
[0581] Emotional state: High stress
[0582] With this information, the server generates a menu and shopping list like this:
[0583] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[0584] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0585] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[0586] ---
[0587] The processing flow will be explained below.
[0588] ---
[0589] Step 1:
[0590] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, their budget, and their current emotional state.
[0591] Step 2:
[0592] When the user presses the "send" button, the input information is sent from the terminal to the server.
[0593] Step 3:
[0594] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[0595] Step 4:
[0596] The server runs an emotion engine to analyze the user's emotion data, which is then classified into emotional states (e.g., stressed, relaxed, tired, etc.) and stored in a database.
[0597] Step 5:
[0598] The server automatically generates a week's worth of menus based on the user's family size, cooking preferences, available kitchen utensils, budget, and emotional data. For example, if the user is under high stress, it will prioritize dishes that are easy and quick to prepare.
[0599] Step 6:
[0600] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and organizes and consolidates duplicate ingredients.
[0601] Step 7:
[0602] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the menu and shopping list.
[0603] Step 8:
[0604] The user makes the necessary purchases based on the menu and shopping list provided. After shopping, the user prepares a meal according to the menu provided. This process is expected to improve the user's emotional state.
[0605] ---
[0606] This is the specific flow of processing for the system that combines the emotion engine. This system supports daily meal preparation by providing more appropriate menus based on the user's emotional state.
[0607] Example 2
[0608] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0609] In the past, it was difficult to take the user's emotional state into consideration when planning a menu. While systems existed that automatically generated menus based on the number of family members, cooking preferences, available kitchen utensils, and budget, and then created and notified the user of a shopping list of ingredients based on the menu, these systems did not adjust to the user's emotional state, and therefore could not reduce the user's stress or burden. As a result, users who were particularly stressed had difficulty planning an appropriate menu, which often required a lot of time and effort.
[0610] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for receiving and analyzing information regarding the user's emotional state, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This makes it possible to automatically generate an optimal menu based on the user's emotional state, and to create and notify the user of a list of necessary ingredients.
[0611] "User" refers to an individual or family who enters information to use the system and receives menus and shopping lists.
[0612] "Number of family members" refers to the information about the number of family members that the user enters into the system, and is the basic data for determining the amount of food to be served.
[0613] "Cuisine preferences" refers to the types of cuisine that a user prefers and inputs into the system, and are factors that are taken into consideration when generating a menu.
[0614] "Available cooking equipment" refers to the types of cooking equipment in the home that the user inputs into the system, and is used to select applicable recipes when generating menus.
[0615] "Budget" refers to the amount of money a user can spend on purchasing ingredients that is entered into the system, and is a standard for adjusting menus within financial constraints.
[0616] "Emotional state" refers to information entered by the user about their recent emotions, and this information is used to take the user's mental burden into consideration when selecting a menu.
[0617] "Means for receiving" refers to the technical means for transmitting various information input by the user to the server, and examples include an internet connection and an input form.
[0618] "Means for analyzing" refers to algorithms or programs that process the received information and convert it into appropriate data taking into account the user's condition.
[0619] "Automatic generation means" refers to the programs or algorithms used by the system to automatically generate menus based on user input data.
[0620] "Means for creating a shopping list" refers to a program or algorithm that lists the ingredients needed based on an automatically generated menu.
[0621] "Means for notification" refers to the technical means for sending the generated menu and shopping list to the user's device, examples of which include push notification services and email.
[0622] MODE FOR CARRYING OUT THE INVENTION
[0623] The present invention is a system that automatically generates a weekly menu using information about the user's family size, cooking preferences, available cooking utensils, and budget, as well as an emotion engine that recognizes the user's emotional state. Specific embodiments for implementing this system are described below.
[0624] Enter user information
[0625] The user opens a dedicated application using a terminal. In the application's input form, the user enters the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their recent emotional state is "high stress," this information is sent from the terminal to the server.
[0626] Server reception and analysis
[0627] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine. The emotion engine can be, for example, an open-source emotion analysis library or a commercial emotion analysis service. Examples include the "Affectiva SDK" and the "IBM Watson Tone Analyzer."
[0628] Automatic menu generation
[0629] The server automatically generates a weekly menu based on the received user information and emotional data. Based on the received data, it selects appropriate recipes from a recipe database. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. The menu is also generated taking into account the user's cooking preferences and budget.
[0630] Creating a grocery shopping list
[0631] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0632] User Notification
[0633] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via an application on the device. The notification function may use the push notification service "Firebase Cloud Messaging (FCM)." The user receives the notification on their device and can check the contents.
[0634] Specific examples
[0635] For example, if a user enters the following information:
[0636] Family size: 4 people
[0637] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0638] Usable cooking equipment: gas stove, microwave
[0639] Budget: 10,000 yen
[0640] Emotional state: High stress
[0641] With this information, the server generates a menu and shopping list like this:
[0642] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[0643] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0644] Example prompts to input to the generative AI model
[0645] 1. I have a family of four. My cooking preferences are salad, curry, and pasta, but I don't like fish dishes. The only cooking equipment available is a gas stove and microwave, and my budget is 10,000 yen. I've been feeling very stressed lately. Could you suggest a weekly menu?
[0646] 2. Plan a week's worth of easy and delicious meals for a family of four who love to cook, within an affordable budget. The cooking equipment available is a gas stove and a microwave. Because stress is high, recipes that are easy to prepare are preferred.
[0647] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[0648] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0649] Step 1:
[0650] The user opens the application on their device and enters information into the input form, such as the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. This information is sent from the device to the server as input data. Specifically, when the user enters information into the form and presses the submit button, an HTTP request is generated and the data is sent to the server.
[0651] Input: Family size, cooking preferences, available cooking equipment, budget, current emotional state
[0652] Output: User information sent to the server
[0653] Step 2:
[0654] The server receives and analyzes the information sent by the user. The received information is stored in an internal database. Specifically, the server receives an HTTP request and stores user information in a database (e.g., MySQL or PostgreSQL).
[0655] Input: User information (number of family members, cooking preferences, available cooking equipment, budget, emotional state)
[0656] Output: User information stored in the database
[0657] Step 3:
[0658] The server uses an emotion engine to analyze the user's emotion data. The results of this analysis are also stored in a database. Specifically, the server calls an emotion engine (such as "Affectiva SDK" or "IBM Watson Tone Analyzer"), performs emotion analysis, and stores the results in a database.
[0659] Input: User's emotional state
[0660] Output: Parsed emotion data
[0661] Step 4:
[0662] The server automatically generates a weekly menu based on the user's information and emotional data. Specifically, the server accesses a recipe database, searches for appropriate recipes that take into account the user's preferences and emotional state, and generates an optimal menu.
[0663] Input: User information, emotion data
[0664] Output: Automatically generated weekly menu
[0665] Step 5:
[0666] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. Specifically, the server extracts the ingredients needed for each recipe and compiles them into a shopping list.
[0667] Input: Automatically generated menu
[0668] Output: Shopping list of ingredients needed
[0669] Step 6:
[0670] The server notifies the user of the generated weekly menu and shopping list by using a notification service (such as Firebase Cloud Messaging (FCM)) to push the information to the device.
[0671] Input: Weekly menu, shopping list
[0672] Output: Menu and shopping list notified to the user's device
[0673] (Application example 2)
[0674] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0675] In today's busy lifestyles, users need to significantly reduce the time and effort required to plan daily meals, purchase the necessary ingredients, and then cook them. Furthermore, a user's emotional state significantly influences their meal choices, so there is a need to improve user satisfaction and happiness by providing meals that correspond to their stress level and mood at the time. Current menu generation systems have difficulty flexibly adjusting menus that take the user's emotional state into account and lack the functionality to automatically order ingredients based on the generated menu. To address these issues, a system is needed that can automatically generate a weekly menu that reflects the user's emotional state and efficiently support the preparation of the menu.
[0676] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu, means for creating a shopping list of necessary ingredients based on the generated menu, means for analyzing the user's emotional state using an emotion engine and adjusting the menu and shopping list based on the results, means for ordering ingredients online based on the shopping list, and means for notifying the user of the menu and shopping list. This allows the user to receive a menu that takes into consideration the user's emotional state and automatically order necessary ingredients based on the menu contents, significantly reducing the burden of housework.
[0677] ---
[0678] "User information" refers to information regarding the number of family members, cooking preferences, available cooking utensils, and budget.
[0679] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[0680] "Menu" refers to a weekly plan of meals prepared for the user's family.
[0681] A "shopping list" is a list of ingredients and their quantities needed based on the generated menu.
[0682] A "server" is a computer system that analyzes received user information and performs menu generation and emotion analysis.
[0683] "Online ordering" refers to the act of purchasing ingredients via the internet.
[0684] "Notification means" refers to a method for communicating the generated menu and shopping list to the user (for example, an application's notification function or email).
[0685] ---
[0686] The present invention is a system that collects information about a user's family size, cooking preferences, available cooking utensils, and budget, analyzes the user's emotional state using an emotion engine, automatically generates a weekly menu based on that information, and orders the necessary ingredients online. Specific methods for implementing the present invention are described below.
[0687] Enter user information
[0688] The user opens the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. For example, the user may enter that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their emotional state is "high stress." This information is sent to the server.
[0689] Server reception and analysis
[0690] The server receives and analyzes the information sent by the user. The analysis is performed using the information for each user stored in an internal database. At the same time, an emotion engine is used to analyze the user's emotional data. This is done using an emotion analysis algorithm as specific software.
[0691] Automatic menu generation
[0692] The server automatically generates a weekly menu based on the received user information and analyzed emotional data. For example, if the user is under high stress, it will prioritize dishes that are quick to prepare and easy to make. This is done using a generative AI model.
[0693] Creating a grocery shopping list
[0694] The server analyzes the generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes the necessary ingredients: "meat," "potatoes," "carrots," "onions," and "curry roux."
[0695] Online food ordering
[0696] Based on the shopping list, the server automatically orders the necessary ingredients online through the API of a food delivery service, allowing users to have the ingredients delivered efficiently to their homes.
[0697] User Notification
[0698] The server then notifies the user of the generated weekly menu and shopping list, as well as online ordering details, via in-app notifications or email.
[0699] Specific example explanation
[0700] As a concrete example, consider the case where a user enters the following information:
[0701] Family size: 4 people
[0702] Food preferences: Salad, curry, pasta
[0703] Usable cooking equipment: gas stove, microwave
[0704] Budget: 10,000 yen
[0705] Emotional state: High stress
[0706] Using this information, the server generates a menu and shopping list, and places an online order, like this:
[0707] Menu: "Caesar salad", "curry", "pasta", "omelette rice", "easy fried chicken", "simmered dish", "quick fried rice"
[0708] Shopping list: "Lettuce," "Tomato," "Cucumber," "Dressing," "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Pasta," "Tomato sauce," "Olive oil," etc.
[0709] Prompt Sentence Examples
[0710] "Write a smartphone application that uses an emotion engine to automatically generate a week's worth of meals based on information entered by the user. Use the following user information:
[0711] Family size: 4 people
[0712] Food preferences: salad, curry, pasta
[0713] Usable cooking equipment: gas stove, microwave
[0714] Budget: 10,000 yen
[0715] Emotional state: High stress
[0716] This information is used to generate a weekly meal plan and a grocery list, which is then used to order food from a food delivery service.
[0717] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0718] ---
[0719] Step 1:
[0720] The user launches the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. The entered information is sent from the device to the server. Examples of input data include "number of family members: 4, cooking preferences: salad, curry, pasta, available cooking utensils: gas stove, microwave, budget: 10,000 yen, emotional state: high stress."
[0721] Step 2:
[0722] The server receives the user information sent from the device. The received data is temporarily stored and used for the next analysis. The server then starts the emotion engine and analyzes the user's emotional state data. The analyzed emotional state data is integrated with the user's input data. The emotion engine outputs, for example, "Emotional state: High stress."
[0723] Step 3:
[0724] The server automatically generates a weekly menu based on the integrated user information. Here, it takes into account the results of the emotion engine and prioritizes dishes that are easy to prepare and don't take much time. Using a generative AI model, the optimal menu is selected based on the user's preferences and emotional state. The output might be, for example, "Weekly menu: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice."
[0725] Step 4:
[0726] The server creates a shopping list of ingredients based on the generated menu. Here, it lists the ingredients needed for each dish and calculates the required quantities. For example, a shopping list such as "Caesar salad: lettuce, tomato, cucumber, dressing; curry: meat, potato, carrot, onion, curry roux" may be generated.
[0727] Step 5:
[0728] Based on the generated shopping list, the server orders the necessary ingredients online through the API of a food delivery service. During this process, the server selects the optimal supplier based on the quantity of each ingredient and budget, and sends the order data to the API. For example, data such as "Order details: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; 500g meat, 5 potatoes, 2 carrots, 3 onions, 1 box of curry roux" is sent to the API.
[0729] Step 6:
[0730] After the online order is completed, the server notifies the user of the generated weekly menu, shopping list, and order details. Notifications can be sent via the application's notification function or email. The user can receive the notification and check the details. For example, a notification such as "Menu notification: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice; Shopping list: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; Online order completed" may be sent.
[0731] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0732] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0733] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0734] [Third embodiment]
[0735] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0736] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0737] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0738] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0739] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0740] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0741] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0742] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0743] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0744] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0745] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0746] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0747] ---
[0748] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[0749] Enter user information
[0750] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a form. For example, if the user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[0751] Server reception and analysis
[0752] The server receives and analyzes the information sent by the user, and the received information is stored in an internal database and managed for each user.
[0753] Automatic menu generation
[0754] The server automatically generates a weekly menu based on the received user information, including recipe information for each dish, ingredient list, cooking instructions, etc. For example, if the user likes salads, the server may add Caesar salad to the menu at the beginning of the week, adjusting the menu to suit the user's preferences.
[0755] Creating a grocery shopping list
[0756] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0757] User Notification
[0758] The server notifies the user of the generated weekly menu and shopping list. The user receives a notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0759] Specific examples
[0760] For example, if a user enters the following information:
[0761] Family size: 4 people
[0762] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0763] Usable cooking equipment: gas stove, microwave
[0764] Budget: 10,000 yen
[0765] With this information, the server generates a menu and shopping list like this:
[0766] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0767] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0768] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[0769] ---
[0770] The processing flow will be explained below.
[0771] ---
[0772] Step 1:
[0773] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, and their budget.
[0774] Step 2:
[0775] When the user presses the "send" button, the input information is sent from the terminal to the server.
[0776] Step 3:
[0777] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[0778] Step 4:
[0779] The server automatically generates a weekly menu based on the user's information, selecting appropriate recipes based on the user's cooking preferences, and taking into account available kitchen equipment and budget.
[0780] Step 5:
[0781] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and sorts out any overlapping ingredients.
[0782] Step 6:
[0783] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the contents.
[0784] Step 7:
[0785] The user makes the necessary purchases based on the menu and shopping list notified to them, and then prepares the meal according to the menu notified to them.
[0786] ---
[0787] The above is the specific processing flow of the "Easy Menu Planner" program.
[0788] Example 1
[0789] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0790] In modern society, planning a daily family menu is a very time-consuming task. Providing a balanced diet while taking into account the number of family members, cooking preferences, available cooking equipment, and even the budget is a major challenge. In many households, the complexity of this planning process leads to menus becoming monotonous and unnecessary shopping, resulting in a loss of time and money. There is also a need for efficient menu planning and ingredient management tailored to the individual needs of each household.
[0791] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0792] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for storing and managing the received information in a database, means for automatically generating a weekly menu using a generative AI model based on the stored information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This enables automatic generation of menus that reflect the individual needs of each household and efficient ingredient management, and is expected to result in significant savings in time and cost.
[0793] "User" refers to an individual or household that utilizes the system to provide information about family size, cooking preferences, available cooking equipment, and budget.
[0794] "Number of family members" refers to the number of people with whom the user lives and eats meals.
[0795] "Cuisine preferences" refers to the types of meals a user likes or their preference for specific cuisines.
[0796] "Available cooking equipment" refers to the types of cooking appliances and utensils available to the user at home.
[0797] "Budget" refers to the spending limit set by the user when planning a week's worth of meals.
[0798] "Server" refers to a computer system that receives, analyzes, and manages information from users.
[0799] "Database" refers to the information system for storing user information and generated menus and shopping lists.
[0800] "Generative AI model" refers to an artificial intelligence model that automatically generates a week's worth of menus based on information provided by the user.
[0801] A "menu" refers to a collection of meal menus that a user plans for a week.
[0802] "Ingredient shopping list" refers to a list of ingredients needed based on the generated menu.
[0803] "Notification" refers to a means of transmitting information about a week's worth of menus and shopping lists from the server to the user.
[0804] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[0805] Enter user information
[0806] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits it. For example, the user enters that there are four people in the family, their cooking preferences are "salad, curry, and pasta," and the available cooking utensils are "gas stove and microwave." This input information is sent to the server via an AJAX request.
[0807] Server information reception and analysis
[0808] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database. This database uses, for example, MongoDB or MySQL. The server analyzes the received information and manages it for each user in the database.
[0809] Automatic menu generation
[0810] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. This process takes into account the user's cooking preferences, budget, available cooking equipment, etc. The generated menu includes recipe information for each dish, a list of ingredients, cooking instructions, etc. This information is then stored back in the database.
[0811] An example prompt might be: "Generate a weekly menu for a family of four who prefers salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen."
[0812] Creating a grocery shopping list
[0813] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. This shopping list is also saved in the database. For example, the list includes the ingredients needed for "curry": "meat," "potatoes," "carrots," "onions," and "curry roux."
[0814] User Notification
[0815] The server notifies the user of the generated weekly menu and shopping list via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0816] Specific examples
[0817] For example, if a user enters the following information:
[0818] Family size: 4 people
[0819] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0820] Usable cooking equipment: gas stove, microwave
[0821] Budget: 10,000 yen
[0822] With this information, the server generates a menu and shopping list like this:
[0823] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0824] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0825] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[0826] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0827] Step 1: Enter your user information
[0828] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits the form. The input information includes: number of family members: 4; cooking preferences: salad, curry, pasta; available cooking utensils: gas stove, microwave; budget: 10,000 yen. This input information is sent to the server via an AJAX request.
[0829] Input: User enters family size, cooking preferences, available cooking equipment, and budget.
[0830] Output: The user information sent to the server.
[0831] Step 2: Receive and analyze server information
[0832] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database, such as MongoDB or MySQL. The server analyzes the received information and manages it in the database for each user. Specifically, after receiving an HTTP request, it stores the following information in the database: "Number of family members: 4," "Cooking preferences: salad, curry, pasta," "Usable cooking equipment: gas stove, microwave," and "Budget: 10,000 yen."
[0833] Input: User submits family size, cooking preferences, available kitchen equipment, and budget.
[0834] Output: User information stored in the database.
[0835] Step 3: Automatic menu generation
[0836] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. During this process, the user's cooking preferences, budget, available cooking utensils, etc. are taken into consideration. The server inputs the prompt "Generate a weekly menu for a family of four who likes salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen" into the generative AI model, and receives the following menu as a response: "Curry, salad, pasta, fried chicken, simmered dish, omelet rice." The generated menu is then saved back into the database.
[0837] Input: Saved user information, prompt for the generative AI model.
[0838] Output: A weekly meal plan from a generative AI model.
[0839] Step 4: Make a grocery shopping list
[0840] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux." This shopping list is also saved in the database.
[0841] Input: Generated weekly menu list.
[0842] Output: Shopping list.
[0843] Step 5: Notify users
[0844] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. For example, the server may notify the user by email that "The following weekly menu and shopping list have been generated," and the email will include the menu and shopping list.
[0845] Input: Generated weekly menu list and shopping list.
[0846] Output: Notification to the user.
[0847] (Application example 1)
[0848] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0849] In today's busy lifestyles, many families need to devote time and effort to planning daily meals and gathering the necessary ingredients. However, planning meals and creating shopping lists is time-consuming, placing a burden on those who are not good at cooking or who are pressed for time. In addition, it is difficult to purchase ingredients efficiently and prevent waste. A system that can solve these problems is needed.
[0850] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0851] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, means for notifying the user of the menu and shopping list, and means for delivering an ingredient box containing the necessary ingredients based on the automatically generated menu. This allows the user to easily plan meals for the week and have the necessary ingredients delivered efficiently.
[0852] A "user" is someone who uses the system to input information about the number of family members, cooking preferences, available cooking equipment, and budget.
[0853] "Number of family members" means the total number of people belonging to the household input by the user.
[0854] "Cooking preferences" refers to the types and characteristics of dishes that are preferred in the household and are input by the user.
[0855] "Available cooking equipment" refers to cooking tools and appliances that are available in the home and are input by the user.
[0856] "Budget" means the amount of money that the user can spend on ingredients for one week, which is input by the user.
[0857] "Menu" refers to a weekly meal plan that is automatically generated based on the information received.
[0858] The "grocery shopping list" refers to a list of necessary ingredients that is created based on the generated menu.
[0859] "Notification" refers to the act of informing the user of the menu and shopping list.
[0860] "Ingredient box" refers to a package filled with ingredients needed based on an automatically generated menu.
[0861] "Delivery" means that the food box is delivered to the user.
[0862] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, automatically creates a weekly menu based on that information, creates a shopping list of necessary ingredients, and delivers a food box to the user based on that. The means for realizing this system are described in detail below.
[0863] Enter user information
[0864] A user starts this application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a specified form. For example, if a user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[0865] Receiving and analyzing information by the server
[0866] The server receives and analyzes the information sent by the user. During this analysis, the received information is stored in an internal database and managed for each user. The database also stores the user's name, address, and other related information.
[0867] Automatic menu generation
[0868] The server automatically generates a weekly menu based on the received user information, including recipe information, ingredient lists, and cooking instructions for each dish. It then uses a generative AI model (e.g., OpenAI GPT-3) to generate prompts like the following:
[0869] Prompt Sentence Examples
[0870] You are a cooking expert. The user provided the following information:
[0871] Family size: 4 people
[0872] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[0873] Usable cooking equipment: gas stove, microwave
[0874] Budget: 10,000 yen
[0875] Please suggest a menu for the week and create a list of ingredients based on it.
[0876] Create and notify grocery shopping lists
[0877] Based on the automatically generated menu, the server creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," it includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0878] The generated menu and shopping list are notified to the user, who can then receive a notification on their device and check the menu and shopping list.
[0879] Food box delivery
[0880] Furthermore, the server automatically assembles a food box containing the necessary ingredients based on the generated menu and shopping list, and delivers it to the user via a delivery company. This allows the user to receive all the ingredients they need at once, allowing them to enjoy cooking without any hassle.
[0881] Technology stack used
[0882] Front-end: React Native (building smartphone applications)
[0883] Backend: Node.js, Express.js (server-side processing)
[0884] Database: MongoDB (information storage and management)
[0885] AI model: OpenAI GPT-3 (recipe generation and menu suggestions)
[0886] Notification system: Firebase Cloud Messaging (notifying users)
[0887] Specific examples
[0888] For example, if a user enters the following information:
[0889] Family size: 4 people
[0890] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0891] Usable cooking equipment: gas stove, microwave
[0892] Budget: 10,000 yen
[0893] With this information, the server generates a menu and shopping list like this:
[0894] Weekly menu: "Curry", "Caesar salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[0895] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0896] This allows users to plan their daily menu and receive the ingredients they need, streamlining meal preparation.
[0897] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0898] Step 1:
[0899] The user launches the application using a terminal and enters information about the number of family members, cooking preferences, available cooking utensils, and budget into a specified form. This information entered by the user is sent to the server. Examples of input include "Number of family members: 4," "Cooking preferences: Likes salad, curry, and pasta. Doesn't like fish dishes," "Available cooking utensils: Gas stove, microwave," and "Budget: 10,000 yen." Once this input data is sent to the server, the process proceeds to the next step.
[0900] Step 2:
[0901] The server receives and analyzes the information sent by the user. The server analyzes the received data and saves it in an internal database for each user. Specifically, the server saves information about the number of family members, cooking preferences, available cooking utensils, and budget in the database and manages it for each user ID. This allows the user information needed for subsequent processing to be used appropriately.
[0902] Step 3:
[0903] The server automatically generates a weekly menu based on the analyzed user information. This generation process uses a generative AI model (e.g., OpenAI GPT-3) and generates an appropriate menu from the AI model based on the following prompt:
[0904] You are a cooking expert. The user provided the following information:
[0905] Family size: 4 people
[0906] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[0907] Usable cooking equipment: gas stove, microwave
[0908] Budget: 10,000 yen
[0909] This prompt is input into the AI model, which processes the data to generate a weekly menu and recipe information for each dish. An example output would be a weekly list of dishes such as "curry," "Caesar salad," and "pasta."
[0910] Step 4:
[0911] Based on the menu generated by the AI model, the server creates a shopping list of the necessary ingredients. This list lists the specific ingredients needed for each dish. For example, for curry, the list might include "meat," "potatoes," "carrots," "onions," and "curry roux." The server references the database and adds each ingredient to the list to generate the final shopping list.
[0912] Step 5:
[0913] The generated weekly menu and ingredient list are notified to the user. Specifically, a notification system (e.g., Firebase Cloud Messaging) is used to send a notification to the user's smartphone. The user receives the notification on their device and can check the menu and shopping list.
[0914] Step 6:
[0915] The server assembles a food box containing the necessary ingredients based on the automatically generated menu and shopping list. A specific example includes picking ingredients from a warehouse based on the generated shopping list and assembling the food box. Information about this food box is also stored in a database and prepared for delivery.
[0916] Step 7:
[0917] The food box is delivered to the user via a delivery company. The server provides the necessary information to the delivery company, and the food box is delivered to the user's address. This operation allows the user to easily receive the ingredients needed for a week's worth of cooking.
[0918] By integrating these services, users can plan meals and purchase and receive ingredients effortlessly.
[0919] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0920] ---
[0921] The present invention is a system that automatically generates a weekly menu using information about the number of family members, cooking preferences, available cooking utensils, and budget of the user, as well as an emotion engine that recognizes the user's emotions. A specific embodiment for implementing this system is shown below.
[0922] Enter user information
[0923] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, budget, and current emotional state into an input form. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking equipment is "gas stove, microwave," and their current emotional state is "high stress," this information is sent to the server.
[0924] Server reception and analysis
[0925] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine and stores this data as well.
[0926] Automatic menu generation
[0927] The server automatically generates a weekly menu based on the received user information and emotional data. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. It also selects appropriate recipes based on the user's preferences. For example, dishes such as "Caesar salad," "curry," and "pasta" are selected.
[0928] Creating a grocery shopping list
[0929] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0930] User Notification
[0931] The server then notifies the user of the generated weekly menu and shopping list. The user can receive notifications and check the contents on their device. This information helps the user do their shopping all at once and plan their cooking accordingly.
[0932] Specific examples
[0933] For example, if a user enters the following information:
[0934] Family size: 4 people
[0935] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0936] Usable cooking equipment: gas stove, microwave
[0937] Budget: 10,000 yen
[0938] Emotional state: High stress
[0939] With this information, the server generates a menu and shopping list like this:
[0940] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[0941] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[0942] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[0943] ---
[0944] The processing flow will be explained below.
[0945] ---
[0946] Step 1:
[0947] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, their budget, and their current emotional state.
[0948] Step 2:
[0949] When the user presses the "send" button, the input information is sent from the terminal to the server.
[0950] Step 3:
[0951] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[0952] Step 4:
[0953] The server runs an emotion engine to analyze the user's emotion data, which is then classified into emotional states (e.g., stressed, relaxed, tired, etc.) and stored in a database.
[0954] Step 5:
[0955] The server automatically generates a week's worth of menus based on the user's family size, cooking preferences, available kitchen utensils, budget, and emotional data. For example, if the user is under high stress, it will prioritize dishes that are easy and quick to prepare.
[0956] Step 6:
[0957] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and organizes and consolidates duplicate ingredients.
[0958] Step 7:
[0959] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the menu and shopping list.
[0960] Step 8:
[0961] The user makes the necessary purchases based on the menu and shopping list provided. After shopping, the user prepares a meal according to the menu provided. This process is expected to improve the user's emotional state.
[0962] ---
[0963] This is the specific flow of processing for the system that combines the emotion engine. This system supports daily meal preparation by providing more appropriate menus based on the user's emotional state.
[0964] Example 2
[0965] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[0966] In the past, it was difficult to take the user's emotional state into consideration when planning a menu. While systems existed that automatically generated menus based on the number of family members, cooking preferences, available kitchen utensils, and budget, and then created and notified the user of a shopping list of ingredients based on the menu, these systems did not adjust to the user's emotional state, and therefore could not reduce the user's stress or burden. As a result, users who were particularly stressed had difficulty planning an appropriate menu, which often required a lot of time and effort.
[0967] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for receiving and analyzing information regarding the user's emotional state, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This makes it possible to automatically generate an optimal menu based on the user's emotional state, and to create and notify the user of a list of necessary ingredients.
[0968] "User" refers to an individual or family who enters information to use the system and receives menus and shopping lists.
[0969] "Number of family members" refers to the information about the number of family members that the user enters into the system, and is the basic data for determining the amount of food to be served.
[0970] "Cuisine preferences" refers to the types of cuisine that a user prefers and inputs into the system, and are factors that are taken into consideration when generating a menu.
[0971] "Available cooking equipment" refers to the types of cooking equipment in the home that the user inputs into the system, and is used to select applicable recipes when generating menus.
[0972] "Budget" refers to the amount of money a user can spend on purchasing ingredients that is entered into the system, and is a standard for adjusting menus within financial constraints.
[0973] "Emotional state" refers to information entered by the user about their recent emotions, and this information is used to take the user's mental burden into consideration when selecting a menu.
[0974] "Means for receiving" refers to the technical means for transmitting various information input by the user to the server, and examples include an internet connection and an input form.
[0975] "Means for analyzing" refers to algorithms or programs that process the received information and convert it into appropriate data taking into account the user's condition.
[0976] "Automatic generation means" refers to the programs or algorithms used by the system to automatically generate menus based on user input data.
[0977] "Means for creating a shopping list" refers to a program or algorithm that lists the ingredients needed based on an automatically generated menu.
[0978] "Means for notification" refers to the technical means for sending the generated menu and shopping list to the user's device, examples of which include push notification services and email.
[0979] MODE FOR CARRYING OUT THE INVENTION
[0980] The present invention is a system that automatically generates a weekly menu using information about the user's family size, cooking preferences, available cooking utensils, and budget, as well as an emotion engine that recognizes the user's emotional state. Specific embodiments for implementing this system are described below.
[0981] Enter user information
[0982] The user opens a dedicated application using a terminal. In the application's input form, the user enters the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their recent emotional state is "high stress," this information is sent from the terminal to the server.
[0983] Server reception and analysis
[0984] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine. The emotion engine can be, for example, an open-source emotion analysis library or a commercial emotion analysis service. Examples include the "Affectiva SDK" and the "IBM Watson Tone Analyzer."
[0985] Automatic menu generation
[0986] The server automatically generates a weekly menu based on the received user information and emotional data. Based on the received data, it selects appropriate recipes from a recipe database. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. The menu is also generated taking into account the user's cooking preferences and budget.
[0987] Creating a grocery shopping list
[0988] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[0989] User Notification
[0990] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via an application on the device. The notification function may use the push notification service "Firebase Cloud Messaging (FCM)." The user receives the notification on their device and can check the contents.
[0991] Specific examples
[0992] For example, if a user enters the following information:
[0993] Family size: 4 people
[0994] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[0995] Usable cooking equipment: gas stove, microwave
[0996] Budget: 10,000 yen
[0997] Emotional state: High stress
[0998] With this information, the server generates a menu and shopping list like this:
[0999] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[1000] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[1001] Example prompts to input to the generative AI model
[1002] 1. I have a family of four. My cooking preferences are salad, curry, and pasta, but I don't like fish dishes. The only cooking equipment available is a gas stove and microwave, and my budget is 10,000 yen. I've been feeling very stressed lately. Could you suggest a weekly menu?
[1003] 2. Plan a week's worth of easy and delicious meals for a family of four who love to cook, within an affordable budget. The cooking equipment available is a gas stove and a microwave. Because stress is high, recipes that are easy to prepare are preferred.
[1004] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[1005] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1006] Step 1:
[1007] The user opens the application on their device and enters information into the input form, such as the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. This information is sent from the device to the server as input data. Specifically, when the user enters information into the form and presses the submit button, an HTTP request is generated and the data is sent to the server.
[1008] Input: Family size, cooking preferences, available cooking equipment, budget, current emotional state
[1009] Output: User information sent to the server
[1010] Step 2:
[1011] The server receives and analyzes the information sent by the user. The received information is stored in an internal database. Specifically, the server receives an HTTP request and stores user information in a database (e.g., MySQL or PostgreSQL).
[1012] Input: User information (number of family members, cooking preferences, available cooking equipment, budget, emotional state)
[1013] Output: User information stored in the database
[1014] Step 3:
[1015] The server uses an emotion engine to analyze the user's emotion data. The results of this analysis are also stored in a database. Specifically, the server calls an emotion engine (such as "Affectiva SDK" or "IBM Watson Tone Analyzer"), performs emotion analysis, and stores the results in a database.
[1016] Input: User's emotional state
[1017] Output: Parsed emotion data
[1018] Step 4:
[1019] The server automatically generates a weekly menu based on the user's information and emotional data. Specifically, the server accesses a recipe database, searches for appropriate recipes that take into account the user's preferences and emotional state, and generates an optimal menu.
[1020] Input: User information, emotion data
[1021] Output: Automatically generated weekly menu
[1022] Step 5:
[1023] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. Specifically, the server extracts the ingredients needed for each recipe and compiles them into a shopping list.
[1024] Input: Automatically generated menu
[1025] Output: Shopping list of ingredients needed
[1026] Step 6:
[1027] The server notifies the user of the generated weekly menu and shopping list by using a notification service (such as Firebase Cloud Messaging (FCM)) to push the information to the device.
[1028] Input: Weekly menu, shopping list
[1029] Output: Menu and shopping list notified to the user's device
[1030] (Application example 2)
[1031] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1032] In today's busy lifestyles, users need to significantly reduce the time and effort required to plan daily meals, purchase the necessary ingredients, and then cook them. Furthermore, a user's emotional state significantly influences their meal choices, so there is a need to improve user satisfaction and happiness by providing meals that correspond to their stress level and mood at the time. Current menu generation systems have difficulty flexibly adjusting menus that take the user's emotional state into account and lack the functionality to automatically order ingredients based on the generated menu. To address these issues, a system is needed that can automatically generate a weekly menu that reflects the user's emotional state and efficiently support the preparation of the menu.
[1033] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu, means for creating a shopping list of necessary ingredients based on the generated menu, means for analyzing the user's emotional state using an emotion engine and adjusting the menu and shopping list based on the results, means for ordering ingredients online based on the shopping list, and means for notifying the user of the menu and shopping list. This allows the user to receive a menu that takes into consideration the user's emotional state and automatically order necessary ingredients based on the menu contents, significantly reducing the burden of housework.
[1034] ---
[1035] "User information" refers to information regarding the number of family members, cooking preferences, available cooking utensils, and budget.
[1036] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[1037] "Menu" refers to a weekly plan of meals prepared for the user's family.
[1038] A "shopping list" is a list of ingredients and their quantities needed based on the generated menu.
[1039] A "server" is a computer system that analyzes received user information and performs menu generation and emotion analysis.
[1040] "Online ordering" refers to the act of purchasing ingredients via the internet.
[1041] "Notification means" refers to a method for communicating the generated menu and shopping list to the user (for example, an application's notification function or email).
[1042] ---
[1043] The present invention is a system that collects information about a user's family size, cooking preferences, available cooking utensils, and budget, analyzes the user's emotional state using an emotion engine, automatically generates a weekly menu based on that information, and orders the necessary ingredients online. Specific methods for implementing the present invention are described below.
[1044] Enter user information
[1045] The user opens the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. For example, the user may enter that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their emotional state is "high stress." This information is sent to the server.
[1046] Server reception and analysis
[1047] The server receives and analyzes the information sent by the user. The analysis is performed using the information for each user stored in an internal database. At the same time, an emotion engine is used to analyze the user's emotional data. This is done using an emotion analysis algorithm as specific software.
[1048] Automatic menu generation
[1049] The server automatically generates a weekly menu based on the received user information and analyzed emotional data. For example, if the user is under high stress, it will prioritize dishes that are quick to prepare and easy to make. This is done using a generative AI model.
[1050] Creating a grocery shopping list
[1051] The server analyzes the generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes the necessary ingredients: "meat," "potatoes," "carrots," "onions," and "curry roux."
[1052] Online food ordering
[1053] Based on the shopping list, the server automatically orders the necessary ingredients online through the API of a food delivery service, allowing users to have the ingredients delivered efficiently to their homes.
[1054] User Notification
[1055] The server then notifies the user of the generated weekly menu and shopping list, as well as online ordering details, via in-app notifications or email.
[1056] Specific example explanation
[1057] As a concrete example, consider the case where a user enters the following information:
[1058] Family size: 4 people
[1059] Food preferences: Salad, curry, pasta
[1060] Usable cooking equipment: gas stove, microwave
[1061] Budget: 10,000 yen
[1062] Emotional state: High stress
[1063] Using this information, the server generates a menu and shopping list, and places an online order, like this:
[1064] Menu: "Caesar salad", "curry", "pasta", "omelette rice", "easy fried chicken", "simmered dish", "quick fried rice"
[1065] Shopping list: "Lettuce," "Tomato," "Cucumber," "Dressing," "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Pasta," "Tomato sauce," "Olive oil," etc.
[1066] Prompt Sentence Examples
[1067] "Write a smartphone application that uses an emotion engine to automatically generate a week's worth of meals based on information entered by the user. Use the following user information:
[1068] Family size: 4 people
[1069] Food preferences: salad, curry, pasta
[1070] Usable cooking equipment: gas stove, microwave
[1071] Budget: 10,000 yen
[1072] Emotional state: High stress
[1073] This information is used to generate a weekly meal plan and a grocery list, which is then used to order food from a food delivery service.
[1074] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1075] ---
[1076] Step 1:
[1077] The user launches the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. The entered information is sent from the device to the server. Examples of input data include "number of family members: 4, cooking preferences: salad, curry, pasta, available cooking utensils: gas stove, microwave, budget: 10,000 yen, emotional state: high stress."
[1078] Step 2:
[1079] The server receives the user information sent from the device. The received data is temporarily stored and used for the next analysis. The server then starts the emotion engine and analyzes the user's emotional state data. The analyzed emotional state data is integrated with the user's input data. The emotion engine outputs, for example, "Emotional state: High stress."
[1080] Step 3:
[1081] The server automatically generates a weekly menu based on the integrated user information. Here, it takes into account the results of the emotion engine and prioritizes dishes that are easy to prepare and don't take much time. Using a generative AI model, the optimal menu is selected based on the user's preferences and emotional state. The output might be, for example, "Weekly menu: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice."
[1082] Step 4:
[1083] The server creates a shopping list of ingredients based on the generated menu. Here, it lists the ingredients needed for each dish and calculates the required quantities. For example, a shopping list such as "Caesar salad: lettuce, tomato, cucumber, dressing; curry: meat, potato, carrot, onion, curry roux" may be generated.
[1084] Step 5:
[1085] Based on the generated shopping list, the server orders the necessary ingredients online through the API of a food delivery service. During this process, the server selects the optimal supplier based on the quantity of each ingredient and budget, and sends the order data to the API. For example, data such as "Order details: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; 500g meat, 5 potatoes, 2 carrots, 3 onions, 1 box of curry roux" is sent to the API.
[1086] Step 6:
[1087] After the online order is completed, the server notifies the user of the generated weekly menu, shopping list, and order details. Notifications can be sent via the application's notification function or email. The user can receive the notification and check the details. For example, a notification such as "Menu notification: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice; Shopping list: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; Online order completed" may be sent.
[1088] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1089] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1090] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1091] [Fourth embodiment]
[1092] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1093] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1094] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1095] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1096] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1097] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1098] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1099] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1100] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1101] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1102] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1103] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1104] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1105] ---
[1106] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[1107] Enter user information
[1108] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a form. For example, if the user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[1109] Server reception and analysis
[1110] The server receives and analyzes the information sent by the user, and the received information is stored in an internal database and managed for each user.
[1111] Automatic menu generation
[1112] The server automatically generates a weekly menu based on the received user information, including recipe information for each dish, ingredient list, cooking instructions, etc. For example, if the user likes salads, the server may add Caesar salad to the menu at the beginning of the week, adjusting the menu to suit the user's preferences.
[1113] Creating a grocery shopping list
[1114] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[1115] User Notification
[1116] The server notifies the user of the generated weekly menu and shopping list. The user receives a notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[1117] Specific examples
[1118] For example, if a user enters the following information:
[1119] Family size: 4 people
[1120] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[1121] Usable cooking equipment: gas stove, microwave
[1122] Budget: 10,000 yen
[1123] With this information, the server generates a menu and shopping list like this:
[1124] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[1125] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[1126] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[1127] ---
[1128] The processing flow will be explained below.
[1129] ---
[1130] Step 1:
[1131] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, and their budget.
[1132] Step 2:
[1133] When the user presses the "send" button, the input information is sent from the terminal to the server.
[1134] Step 3:
[1135] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[1136] Step 4:
[1137] The server automatically generates a weekly menu based on the user's information, selecting appropriate recipes based on the user's cooking preferences, and taking into account available kitchen equipment and budget.
[1138] Step 5:
[1139] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and sorts out any overlapping ingredients.
[1140] Step 6:
[1141] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the contents.
[1142] Step 7:
[1143] The user makes the necessary purchases based on the menu and shopping list notified to them, and then prepares the meal according to the menu notified to them.
[1144] ---
[1145] The above is the specific processing flow of the "Easy Menu Planner" program.
[1146] Example 1
[1147] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1148] In modern society, planning a daily family menu is a very time-consuming task. Providing a balanced diet while taking into account the number of family members, cooking preferences, available cooking equipment, and even the budget is a major challenge. In many households, the complexity of this planning process leads to menus becoming monotonous and unnecessary shopping, resulting in a loss of time and money. There is also a need for efficient menu planning and ingredient management tailored to the individual needs of each household.
[1149] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1150] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for storing and managing the received information in a database, means for automatically generating a weekly menu using a generative AI model based on the stored information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This enables automatic generation of menus that reflect the individual needs of each household and efficient ingredient management, and is expected to result in significant savings in time and cost.
[1151] "User" refers to an individual or household that utilizes the system to provide information about family size, cooking preferences, available cooking equipment, and budget.
[1152] "Number of family members" refers to the number of people with whom the user lives and eats meals.
[1153] "Cuisine preferences" refers to the types of meals a user likes or their preference for specific cuisines.
[1154] "Available cooking equipment" refers to the types of cooking appliances and utensils available to the user at home.
[1155] "Budget" refers to the spending limit set by the user when planning a week's worth of meals.
[1156] "Server" refers to a computer system that receives, analyzes, and manages information from users.
[1157] "Database" refers to the information system for storing user information and generated menus and shopping lists.
[1158] "Generative AI model" refers to an artificial intelligence model that automatically generates a week's worth of menus based on information provided by the user.
[1159] A "menu" refers to a collection of meal menus that a user plans for a week.
[1160] "Ingredient shopping list" refers to a list of ingredients needed based on the generated menu.
[1161] "Notification" refers to a means of transmitting information about a week's worth of menus and shopping lists from the server to the user.
[1162] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, and automatically generates a weekly menu based on that information, creates a shopping list of necessary ingredients, and notifies the user. Specific embodiments for implementing this system are described below.
[1163] Enter user information
[1164] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits it. For example, the user enters that there are four people in the family, their cooking preferences are "salad, curry, and pasta," and the available cooking utensils are "gas stove and microwave." This input information is sent to the server via an AJAX request.
[1165] Server information reception and analysis
[1166] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database. This database uses, for example, MongoDB or MySQL. The server analyzes the received information and manages it for each user in the database.
[1167] Automatic menu generation
[1168] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. This process takes into account the user's cooking preferences, budget, available cooking equipment, etc. The generated menu includes recipe information for each dish, a list of ingredients, cooking instructions, etc. This information is then stored back in the database.
[1169] An example prompt might be: "Generate a weekly menu for a family of four who prefers salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen."
[1170] Creating a grocery shopping list
[1171] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. This shopping list is also saved in the database. For example, the list includes the ingredients needed for "curry": "meat," "potatoes," "carrots," "onions," and "curry roux."
[1172] User Notification
[1173] The server notifies the user of the generated weekly menu and shopping list via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. This information helps the user do their shopping all at once and plan their cooking accordingly.
[1174] Specific examples
[1175] For example, if a user enters the following information:
[1176] Family size: 4 people
[1177] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[1178] Usable cooking equipment: gas stove, microwave
[1179] Budget: 10,000 yen
[1180] With this information, the server generates a menu and shopping list like this:
[1181] Weekly menu: "Curry", "Salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[1182] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[1183] The system allows users to easily plan their daily meals and purchase the ingredients they need in bulk, streamlining meal preparation at home and increasing the variety of meals they eat.
[1184] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1185] Step 1: Enter your user information
[1186] A user launches a web application using a terminal. The web application is implemented using a front-end framework such as Angular or React and displays an input form. The user enters information into this form, such as the number of family members, cooking preferences, available cooking utensils, and budget, and submits the form. The input information includes: number of family members: 4; cooking preferences: salad, curry, pasta; available cooking utensils: gas stove, microwave; budget: 10,000 yen. This input information is sent to the server via an AJAX request.
[1187] Input: User enters family size, cooking preferences, available cooking equipment, and budget.
[1188] Output: The user information sent to the server.
[1189] Step 2: Receive and analyze server information
[1190] The server is implemented using Node.js and receives information sent by users. The received information is stored in a database, such as MongoDB or MySQL. The server analyzes the received information and manages it in the database for each user. Specifically, after receiving an HTTP request, it stores the following information in the database: "Number of family members: 4," "Cooking preferences: salad, curry, pasta," "Usable cooking equipment: gas stove, microwave," and "Budget: 10,000 yen."
[1191] Input: User submits family size, cooking preferences, available kitchen equipment, and budget.
[1192] Output: User information stored in the database.
[1193] Step 3: Automatic menu generation
[1194] The server uses a generative AI model (e.g., GPT-3) to generate a weekly menu based on the stored user information. During this process, the user's cooking preferences, budget, available cooking utensils, etc. are taken into consideration. The server inputs the prompt "Generate a weekly menu for a family of four who likes salad, curry, and pasta, has access to a gas stove and microwave, and has a budget of 10,000 yen" into the generative AI model, and receives the following menu as a response: "Curry, salad, pasta, fried chicken, simmered dish, omelet rice." The generated menu is then saved back into the database.
[1195] Input: Saved user information, prompt for the generative AI model.
[1196] Output: A weekly meal plan from a generative AI model.
[1197] Step 4: Make a grocery shopping list
[1198] Based on the generated menu, the server creates a shopping list of the necessary ingredients. The shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux." This shopping list is also saved in the database.
[1199] Input: Generated weekly menu list.
[1200] Output: Shopping list.
[1201] Step 5: Notify users
[1202] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via email or in-app notification. The user receives the notification on their device and can check the menu and shopping list. For example, the server may notify the user by email that "The following weekly menu and shopping list have been generated," and the email will include the menu and shopping list.
[1203] Input: Generated weekly menu list and shopping list.
[1204] Output: Notification to the user.
[1205] (Application example 1)
[1206] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1207] In today's busy lifestyles, many families need to devote time and effort to planning daily meals and gathering the necessary ingredients. However, planning meals and creating shopping lists is time-consuming, placing a burden on those who are not good at cooking or who are pressed for time. In addition, it is difficult to purchase ingredients efficiently and prevent waste. A system that can solve these problems is needed.
[1208] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1209] In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, means for notifying the user of the menu and shopping list, and means for delivering an ingredient box containing the necessary ingredients based on the automatically generated menu. This allows the user to easily plan meals for the week and have the necessary ingredients delivered efficiently.
[1210] A "user" is someone who uses the system to input information about the number of family members, cooking preferences, available cooking equipment, and budget.
[1211] "Number of family members" means the total number of people belonging to the household input by the user.
[1212] "Cooking preferences" refers to the types and characteristics of dishes that are preferred in the household and are input by the user.
[1213] "Available cooking equipment" refers to cooking tools and appliances that are available in the home and are input by the user.
[1214] "Budget" means the amount of money that the user can spend on ingredients for one week, which is input by the user.
[1215] "Menu" refers to a weekly meal plan that is automatically generated based on the information received.
[1216] The "grocery shopping list" refers to a list of necessary ingredients that is created based on the generated menu.
[1217] "Notification" refers to the act of informing the user of the menu and shopping list.
[1218] "Ingredient box" refers to a package filled with ingredients needed based on an automatically generated menu.
[1219] "Delivery" means that the food box is delivered to the user.
[1220] The present invention is a system that receives information from a user about the number of family members, cooking preferences, available cooking utensils, and budget, automatically creates a weekly menu based on that information, creates a shopping list of necessary ingredients, and delivers a food box to the user based on that. The means for realizing this system are described in detail below.
[1221] Enter user information
[1222] A user starts this application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, and budget into a specified form. For example, if a user enters that the number of family members is four, cooking preferences are "salad, curry, pasta," and available cooking equipment is "gas stove, microwave," this information is sent to the server.
[1223] Receiving and analyzing information by the server
[1224] The server receives and analyzes the information sent by the user. During this analysis, the received information is stored in an internal database and managed for each user. The database also stores the user's name, address, and other related information.
[1225] Automatic menu generation
[1226] The server automatically generates a weekly menu based on the received user information, including recipe information, ingredient lists, and cooking instructions for each dish. It then uses a generative AI model (e.g., OpenAI GPT-3) to generate prompts like the following:
[1227] Prompt Sentence Examples
[1228] You are a cooking expert. The user provided the following information:
[1229] Family size: 4 people
[1230] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[1231] Usable cooking equipment: gas stove, microwave
[1232] Budget: 10,000 yen
[1233] Please suggest a menu for the week and create a list of ingredients based on it.
[1234] Create and notify grocery shopping lists
[1235] Based on the automatically generated menu, the server creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," it includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[1236] The generated menu and shopping list are notified to the user, who can then receive a notification on their device and check the menu and shopping list.
[1237] Food box delivery
[1238] Furthermore, the server automatically assembles a food box containing the necessary ingredients based on the generated menu and shopping list, and delivers it to the user via a delivery company. This allows the user to receive all the ingredients they need at once, allowing them to enjoy cooking without any hassle.
[1239] Technology stack used
[1240] Front-end: React Native (building smartphone applications)
[1241] Backend: Node.js, Express.js (server-side processing)
[1242] Database: MongoDB (information storage and management)
[1243] AI model: OpenAI GPT-3 (recipe generation and menu suggestions)
[1244] Notification system: Firebase Cloud Messaging (notifying users)
[1245] Specific examples
[1246] For example, if a user enters the following information:
[1247] Family size: 4 people
[1248] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[1249] Usable cooking equipment: gas stove, microwave
[1250] Budget: 10,000 yen
[1251] With this information, the server generates a menu and shopping list like this:
[1252] Weekly menu: "Curry", "Caesar salad", "Pasta", "Fried chicken", "Simmered dish", "Omurice"
[1253] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[1254] This allows users to plan their daily menu and receive the ingredients they need, streamlining meal preparation.
[1255] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1256] Step 1:
[1257] The user launches the application using a terminal and enters information about the number of family members, cooking preferences, available cooking utensils, and budget into a specified form. This information entered by the user is sent to the server. Examples of input include "Number of family members: 4," "Cooking preferences: Likes salad, curry, and pasta. Doesn't like fish dishes," "Available cooking utensils: Gas stove, microwave," and "Budget: 10,000 yen." Once this input data is sent to the server, the process proceeds to the next step.
[1258] Step 2:
[1259] The server receives and analyzes the information sent by the user. The server analyzes the received data and saves it in an internal database for each user. Specifically, the server saves information about the number of family members, cooking preferences, available cooking utensils, and budget in the database and manages it for each user ID. This allows the user information needed for subsequent processing to be used appropriately.
[1260] Step 3:
[1261] The server automatically generates a weekly menu based on the analyzed user information. This generation process uses a generative AI model (e.g., OpenAI GPT-3) and generates an appropriate menu from the AI model based on the following prompt:
[1262] You are a cooking expert. The user provided the following information:
[1263] Family size: 4 people
[1264] Food preferences: I like salads, curries, and pasta. I don't like fish dishes.
[1265] Usable cooking equipment: gas stove, microwave
[1266] Budget: 10,000 yen
[1267] This prompt is input into the AI model, which processes the data to generate a weekly menu and recipe information for each dish. An example output would be a weekly list of dishes such as "curry," "Caesar salad," and "pasta."
[1268] Step 4:
[1269] Based on the menu generated by the AI model, the server creates a shopping list of the necessary ingredients. This list lists the specific ingredients needed for each dish. For example, for curry, the list might include "meat," "potatoes," "carrots," "onions," and "curry roux." The server references the database and adds each ingredient to the list to generate the final shopping list.
[1270] Step 5:
[1271] The generated weekly menu and ingredient list are notified to the user. Specifically, a notification system (e.g., Firebase Cloud Messaging) is used to send a notification to the user's smartphone. The user receives the notification on their device and can check the menu and shopping list.
[1272] Step 6:
[1273] The server assembles a food box containing the necessary ingredients based on the automatically generated menu and shopping list. A specific example includes picking ingredients from a warehouse based on the generated shopping list and assembling the food box. Information about this food box is also stored in a database and prepared for delivery.
[1274] Step 7:
[1275] The food box is delivered to the user via a delivery company. The server provides the necessary information to the delivery company, and the food box is delivered to the user's address. This operation allows the user to easily receive the ingredients needed for a week's worth of cooking.
[1276] By integrating these services, users can plan meals and purchase and receive ingredients effortlessly.
[1277] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1278] ---
[1279] The present invention is a system that automatically generates a weekly menu using information about the number of family members, cooking preferences, available cooking utensils, and budget of the user, as well as an emotion engine that recognizes the user's emotions. A specific embodiment for implementing this system is shown below.
[1280] Enter user information
[1281] The user opens the application using a terminal and enters information about the number of family members, cooking preferences, available cooking equipment, budget, and current emotional state into an input form. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking equipment is "gas stove, microwave," and their current emotional state is "high stress," this information is sent to the server.
[1282] Server reception and analysis
[1283] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine and stores this data as well.
[1284] Automatic menu generation
[1285] The server automatically generates a weekly menu based on the received user information and emotional data. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. It also selects appropriate recipes based on the user's preferences. For example, dishes such as "Caesar salad," "curry," and "pasta" are selected.
[1286] Creating a grocery shopping list
[1287] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[1288] User Notification
[1289] The server then notifies the user of the generated weekly menu and shopping list. The user can receive notifications and check the contents on their device. This information helps the user do their shopping all at once and plan their cooking accordingly.
[1290] Specific examples
[1291] For example, if a user enters the following information:
[1292] Family size: 4 people
[1293] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[1294] Usable cooking equipment: gas stove, microwave
[1295] Budget: 10,000 yen
[1296] Emotional state: High stress
[1297] With this information, the server generates a menu and shopping list like this:
[1298] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[1299] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[1300] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[1301] ---
[1302] The processing flow will be explained below.
[1303] ---
[1304] Step 1:
[1305] The user opens the application on their device and fills in a form with information about the number of people in their family, their cooking preferences, available kitchen equipment, their budget, and their current emotional state.
[1306] Step 2:
[1307] When the user presses the "send" button, the input information is sent from the terminal to the server.
[1308] Step 3:
[1309] The server receives the information sent by the user, analyzes the received data, and stores it in a database for each user.
[1310] Step 4:
[1311] The server runs an emotion engine to analyze the user's emotion data, which is then classified into emotional states (e.g., stressed, relaxed, tired, etc.) and stored in a database.
[1312] Step 5:
[1313] The server automatically generates a week's worth of menus based on the user's family size, cooking preferences, available kitchen utensils, budget, and emotional data. For example, if the user is under high stress, it will prioritize dishes that are easy and quick to prepare.
[1314] Step 6:
[1315] The server creates a shopping list of ingredients based on the generated menu, analyzes the ingredients needed for each dish, and organizes and consolidates duplicate ingredients.
[1316] Step 7:
[1317] The server notifies the user of the generated menu and shopping list, and the user receives the notification on their device and checks the menu and shopping list.
[1318] Step 8:
[1319] The user makes the necessary purchases based on the menu and shopping list provided. After shopping, the user prepares a meal according to the menu provided. This process is expected to improve the user's emotional state.
[1320] ---
[1321] This is the specific flow of processing for the system that combines the emotion engine. This system supports daily meal preparation by providing more appropriate menus based on the user's emotional state.
[1322] Example 2
[1323] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1324] In the past, it was difficult to take the user's emotional state into consideration when planning a menu. While systems existed that automatically generated menus based on the number of family members, cooking preferences, available kitchen utensils, and budget, and then created and notified the user of a shopping list of ingredients based on the menu, these systems did not adjust to the user's emotional state, and therefore could not reduce the user's stress or burden. As a result, users who were particularly stressed had difficulty planning an appropriate menu, which often required a lot of time and effort.
[1325] The specification process by the specification processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for receiving and analyzing information regarding the user's emotional state, means for automatically generating a weekly menu based on the received information, means for creating a shopping list of necessary ingredients based on the generated menu, and means for notifying the user of the menu and shopping list. This makes it possible to automatically generate an optimal menu based on the user's emotional state, and to create and notify the user of a list of necessary ingredients.
[1326] "User" refers to an individual or family who enters information to use the system and receives menus and shopping lists.
[1327] "Number of family members" refers to the information about the number of family members that the user enters into the system, and is the basic data for determining the amount of food to be served.
[1328] "Cuisine preferences" refers to the types of cuisine that a user prefers and inputs into the system, and are factors that are taken into consideration when generating a menu.
[1329] "Available cooking equipment" refers to the types of cooking equipment in the home that the user inputs into the system, and is used to select applicable recipes when generating menus.
[1330] "Budget" refers to the amount of money a user can spend on purchasing ingredients that is entered into the system, and is a standard for adjusting menus within financial constraints.
[1331] "Emotional state" refers to information entered by the user about their recent emotions, and this information is used to take the user's mental burden into consideration when selecting a menu.
[1332] "Means for receiving" refers to the technical means for transmitting various information input by the user to the server, and examples include an internet connection and an input form.
[1333] "Means for analyzing" refers to algorithms or programs that process the received information and convert it into appropriate data taking into account the user's condition.
[1334] "Automatic generation means" refers to the programs or algorithms used by the system to automatically generate menus based on user input data.
[1335] "Means for creating a shopping list" refers to a program or algorithm that lists the ingredients needed based on an automatically generated menu.
[1336] "Means for notification" refers to the technical means for sending the generated menu and shopping list to the user's device, examples of which include push notification services and email.
[1337] MODE FOR CARRYING OUT THE INVENTION
[1338] The present invention is a system that automatically generates a weekly menu using information about the user's family size, cooking preferences, available cooking utensils, and budget, as well as an emotion engine that recognizes the user's emotional state. Specific embodiments for implementing this system are described below.
[1339] Enter user information
[1340] The user opens a dedicated application using a terminal. In the application's input form, the user enters the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. For example, if the user enters that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their recent emotional state is "high stress," this information is sent from the terminal to the server.
[1341] Server reception and analysis
[1342] The server receives and analyzes the information sent by the user. The received information is stored in an internal database and managed for each user. The server also analyzes the user's emotional data using an emotion engine. The emotion engine can be, for example, an open-source emotion analysis library or a commercial emotion analysis service. Examples include the "Affectiva SDK" and the "IBM Watson Tone Analyzer."
[1343] Automatic menu generation
[1344] The server automatically generates a weekly menu based on the received user information and emotional data. Based on the received data, it selects appropriate recipes from a recipe database. For example, if the user is under high stress, it prioritizes dishes that are easy to prepare and can be prepared quickly. The menu is also generated taking into account the user's cooking preferences and budget.
[1345] Creating a grocery shopping list
[1346] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes "meat," "potatoes," "carrots," "onions," and "curry roux."
[1347] User Notification
[1348] The server notifies the user of the generated weekly menu and shopping list. This notification is sent via an application on the device. The notification function may use the push notification service "Firebase Cloud Messaging (FCM)." The user receives the notification on their device and can check the contents.
[1349] Specific examples
[1350] For example, if a user enters the following information:
[1351] Family size: 4 people
[1352] Food preferences: Likes salad, curry, and pasta. Doesn't like fish dishes.
[1353] Usable cooking equipment: gas stove, microwave
[1354] Budget: 10,000 yen
[1355] Emotional state: High stress
[1356] With this information, the server generates a menu and shopping list like this:
[1357] Weekly menu: "Caesar salad," "Curry," "Pasta," "Omurice," "Easy fried chicken," "Stew," "Quick fried rice"
[1358] Shopping list: "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Lettuce," "Tomato," "Cucumber," "Dressing," "Pasta," "Tomato sauce," "Olive oil," "Chicken," "Potato starch," "Seasoning," "Daikon radish," "Dashi," "Soy sauce," "Egg," "Rice," "Ketchup"
[1359] Example prompts to input to the generative AI model
[1360] 1. I have a family of four. My cooking preferences are salad, curry, and pasta, but I don't like fish dishes. The only cooking equipment available is a gas stove and microwave, and my budget is 10,000 yen. I've been feeling very stressed lately. Could you suggest a weekly menu?
[1361] 2. Plan a week's worth of easy and delicious meals for a family of four who love to cook, within an affordable budget. The cooking equipment available is a gas stove and a microwave. Because stress is high, recipes that are easy to prepare are preferred.
[1362] The system allows users to easily plan their daily meals and buy the ingredients they need in bulk, and it also adjusts the menu based on the user's emotional state, helping to reduce stress and making meal preparation more comfortable.
[1363] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1364] Step 1:
[1365] The user opens the application on their device and enters information into the input form, such as the number of family members, cooking preferences, available cooking utensils, budget, and recent emotional state. This information is sent from the device to the server as input data. Specifically, when the user enters information into the form and presses the submit button, an HTTP request is generated and the data is sent to the server.
[1366] Input: Family size, cooking preferences, available cooking equipment, budget, current emotional state
[1367] Output: User information sent to the server
[1368] Step 2:
[1369] The server receives and analyzes the information sent by the user. The received information is stored in an internal database. Specifically, the server receives an HTTP request and stores user information in a database (e.g., MySQL or PostgreSQL).
[1370] Input: User information (number of family members, cooking preferences, available cooking equipment, budget, emotional state)
[1371] Output: User information stored in the database
[1372] Step 3:
[1373] The server uses an emotion engine to analyze the user's emotion data. The results of this analysis are also stored in a database. Specifically, the server calls an emotion engine (such as "Affectiva SDK" or "IBM Watson Tone Analyzer"), performs emotion analysis, and stores the results in a database.
[1374] Input: User's emotional state
[1375] Output: Parsed emotion data
[1376] Step 4:
[1377] The server automatically generates a weekly menu based on the user's information and emotional data. Specifically, the server accesses a recipe database, searches for appropriate recipes that take into account the user's preferences and emotional state, and generates an optimal menu.
[1378] Input: User information, emotion data
[1379] Output: Automatically generated weekly menu
[1380] Step 5:
[1381] The server analyzes the automatically generated menu and creates a shopping list of the necessary ingredients. Specifically, the server extracts the ingredients needed for each recipe and compiles them into a shopping list.
[1382] Input: Automatically generated menu
[1383] Output: Shopping list of ingredients needed
[1384] Step 6:
[1385] The server notifies the user of the generated weekly menu and shopping list by using a notification service (such as Firebase Cloud Messaging (FCM)) to push the information to the device.
[1386] Input: Weekly menu, shopping list
[1387] Output: Menu and shopping list notified to the user's device
[1388] (Application example 2)
[1389] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1390] In today's busy lifestyles, users need to significantly reduce the time and effort required to plan daily meals, purchase the necessary ingredients, and then cook them. Furthermore, a user's emotional state significantly influences their meal choices, so there is a need to improve user satisfaction and happiness by providing meals that correspond to their stress level and mood at the time. Current menu generation systems have difficulty flexibly adjusting menus that take the user's emotional state into account and lack the functionality to automatically order ingredients based on the generated menu. To address these issues, a system is needed that can automatically generate a weekly menu that reflects the user's emotional state and efficiently support the preparation of the menu.
[1391] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving information from the user regarding the number of family members, cooking preferences, available cooking utensils, and budget, means for automatically generating a weekly menu, means for creating a shopping list of necessary ingredients based on the generated menu, means for analyzing the user's emotional state using an emotion engine and adjusting the menu and shopping list based on the results, means for ordering ingredients online based on the shopping list, and means for notifying the user of the menu and shopping list. This allows the user to receive a menu that takes into consideration the user's emotional state and automatically order necessary ingredients based on the menu contents, significantly reducing the burden of housework.
[1392] ---
[1393] "User information" refers to information regarding the number of family members, cooking preferences, available cooking utensils, and budget.
[1394] An "emotion engine" is an algorithm or software that analyzes a user's emotional state.
[1395] "Menu" refers to a weekly plan of meals prepared for the user's family.
[1396] A "shopping list" is a list of ingredients and their quantities needed based on the generated menu.
[1397] A "server" is a computer system that analyzes received user information and performs menu generation and emotion analysis.
[1398] "Online ordering" refers to the act of purchasing ingredients via the internet.
[1399] "Notification means" refers to a method for communicating the generated menu and shopping list to the user (for example, an application's notification function or email).
[1400] ---
[1401] The present invention is a system that collects information about a user's family size, cooking preferences, available cooking utensils, and budget, analyzes the user's emotional state using an emotion engine, automatically generates a weekly menu based on that information, and orders the necessary ingredients online. Specific methods for implementing the present invention are described below.
[1402] Enter user information
[1403] The user opens the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. For example, the user may enter that there are four people in the family, their cooking preferences are "salad, curry, pasta," the available cooking utensils are "gas stove, microwave," and their emotional state is "high stress." This information is sent to the server.
[1404] Server reception and analysis
[1405] The server receives and analyzes the information sent by the user. The analysis is performed using the information for each user stored in an internal database. At the same time, an emotion engine is used to analyze the user's emotional data. This is done using an emotion analysis algorithm as specific software.
[1406] Automatic menu generation
[1407] The server automatically generates a weekly menu based on the received user information and analyzed emotional data. For example, if the user is under high stress, it will prioritize dishes that are quick to prepare and easy to make. This is done using a generative AI model.
[1408] Creating a grocery shopping list
[1409] The server analyzes the generated menu and creates a shopping list of the necessary ingredients. This shopping list lists the specific ingredients needed for each dish. For example, for "curry," the list includes the necessary ingredients: "meat," "potatoes," "carrots," "onions," and "curry roux."
[1410] Online food ordering
[1411] Based on the shopping list, the server automatically orders the necessary ingredients online through the API of a food delivery service, allowing users to have the ingredients delivered efficiently to their homes.
[1412] User Notification
[1413] The server then notifies the user of the generated weekly menu and shopping list, as well as online ordering details, via in-app notifications or email.
[1414] Specific example explanation
[1415] As a concrete example, consider the case where a user enters the following information:
[1416] Family size: 4 people
[1417] Food preferences: Salad, curry, pasta
[1418] Usable cooking equipment: gas stove, microwave
[1419] Budget: 10,000 yen
[1420] Emotional state: High stress
[1421] Using this information, the server generates a menu and shopping list, and places an online order, like this:
[1422] Menu: "Caesar salad", "curry", "pasta", "omelette rice", "easy fried chicken", "simmered dish", "quick fried rice"
[1423] Shopping list: "Lettuce," "Tomato," "Cucumber," "Dressing," "Meat," "Potato," "Carrot," "Onion," "Curry roux," "Pasta," "Tomato sauce," "Olive oil," etc.
[1424] Prompt Sentence Examples
[1425] "Write a smartphone application that uses an emotion engine to automatically generate a week's worth of meals based on information entered by the user. Use the following user information:
[1426] Family size: 4 people
[1427] Food preferences: salad, curry, pasta
[1428] Usable cooking equipment: gas stove, microwave
[1429] Budget: 10,000 yen
[1430] Emotional state: High stress
[1431] This information is used to generate a weekly meal plan and a grocery list, which is then used to order food from a food delivery service.
[1432] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1433] ---
[1434] Step 1:
[1435] The user launches the application using a device such as a smartphone. The user enters information about the number of family members, cooking preferences, available cooking utensils, budget, and emotional state into an input form. The entered information is sent from the device to the server. Examples of input data include "number of family members: 4, cooking preferences: salad, curry, pasta, available cooking utensils: gas stove, microwave, budget: 10,000 yen, emotional state: high stress."
[1436] Step 2:
[1437] The server receives the user information sent from the device. The received data is temporarily stored and used for the next analysis. The server then starts the emotion engine and analyzes the user's emotional state data. The analyzed emotional state data is integrated with the user's input data. The emotion engine outputs, for example, "Emotional state: High stress."
[1438] Step 3:
[1439] The server automatically generates a weekly menu based on the integrated user information. Here, it takes into account the results of the emotion engine and prioritizes dishes that are easy to prepare and don't take much time. Using a generative AI model, the optimal menu is selected based on the user's preferences and emotional state. The output might be, for example, "Weekly menu: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice."
[1440] Step 4:
[1441] The server creates a shopping list of ingredients based on the generated menu. Here, it lists the ingredients needed for each dish and calculates the required quantities. For example, a shopping list such as "Caesar salad: lettuce, tomato, cucumber, dressing; curry: meat, potato, carrot, onion, curry roux" may be generated.
[1442] Step 5:
[1443] Based on the generated shopping list, the server orders the necessary ingredients online through the API of a food delivery service. During this process, the server selects the optimal supplier based on the quantity of each ingredient and budget, and sends the order data to the API. For example, data such as "Order details: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; 500g meat, 5 potatoes, 2 carrots, 3 onions, 1 box of curry roux" is sent to the API.
[1444] Step 6:
[1445] After the online order is completed, the server notifies the user of the generated weekly menu, shopping list, and order details. Notifications can be sent via the application's notification function or email. The user can receive the notification and check the details. For example, a notification such as "Menu notification: Caesar salad, curry, pasta, omelet rice, simple fried chicken, simmered dish, fried rice; Shopping list: 2 lettuces, 3 tomatoes, 2 cucumbers, 1 bottle of dressing; Online order completed" may be sent.
[1446] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1447] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1448] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1449] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1450] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1451] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1452] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1453] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1454] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1455] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1456] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1457] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1458] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1459] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.
[1460] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1461] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1462] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1463] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1464] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1465] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1466] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1467] The following is further disclosed regarding the above embodiment.
[1468] (Claim 1)
[1469] means for receiving information from a user regarding family size, cooking preferences, available cooking equipment, and budget;
[1470] means for automatically generating a weekly menu based on the received information;
[1471] A means for creating a shopping list of necessary ingredients based on the generated menu;
[1472] means for informing a user of a menu and a shopping list;
[1473] A system including:
[1474] (Claim 2)
[1475] 10. The system of claim 1, further comprising means for filtering recipes during menu generation taking into account a user's cooking preferences.
[1476] (Claim 3)
[1477] 10. The system of claim 1, further comprising means for adjusting the menu taking into account a budget input by a user.
[1478] "Example 1"
[1479] (Claim 1)
[1480] means for receiving information from a user regarding family size, cooking preferences, available cooking equipment, and budget;
[1481] a means for storing and managing the received information in a database;
[1482] A means to automatically generate a weekly menu using a generative AI model based on the stored information;
[1483] A means for creating a shopping list of necessary ingredients based on the generated menu;
[1484] means for informing a user of a menu and a shopping list;
[1485] A system including:
[1486] (Claim 2)
[1487] 10. The system of claim 1, further comprising means for filtering recipes during menu generation taking into account a user's cooking preferences.
[1488] (Claim 3)
[1489] 10. The system of claim 1, further comprising means for adjusting the menu taking into account a budget input by a user.
[1490] "Application Example 1"
[1491] (Claim 1)
[1492] means for receiving information from a user regarding family size, cooking preferences, available cooking equipment, and budget;
[1493] means for automatically generating a weekly menu based on the received information;
[1494] A means for creating a shopping list of necessary ingredients based on the generated menu;
[1495] means for informing a user of a menu and a shopping list;
[1496] a means for delivering a food box containing ingredients required based on the automatically generated menu;
[1497] A system including:
[1498] (Claim 2)
[1499] 10. The system of claim 1, further comprising means for filtering recipes during menu generation taking into account a user's cooking preferences.
[1500] (Claim 3)
[1501] 10. The system of claim 1, further comprising means for adjusting the menu taking into account a budget input by a user.
[1502] "Example 2: Combining Emotion Engines"
[1503] (Claim 1)
[1504] means for receiving information from a user regarding family size, cooking preferences, available cooking equipment, and budget;
[1505] means for receiving and analyzing information relating to the user's emotional state;
[1506] means for automatically generating a weekly menu based on the received information;
[1507] A means for creating a shopping list of necessary ingredients based on the generated menu;
[1508] means for informing a user of a menu and a shopping list;
[1509] A system including:
[1510] (Claim 2)
[1511] 10. The system of claim 1, further comprising means for filtering recipes during menu generation taking into account the user's culinary preferences and emotional state.
[1512] (Claim 3)
[1513] 10. The system of claim 1, further comprising means for adjusting the menu taking into account a budget input by a user.
[1514] "Application example 2 when combining emotion engines"
[1515] New invention details
[1516] In the application example, the novel feature is the technology that utilizes an "emotion engine" to adjust a weekly menu based on the user's emotional state. Another novel feature is the food delivery system that orders ingredients online based on the generated menu. This will be incorporated into the original claim.
[1517] Please enter in the following format:
[1518] (Claim 1)
[1519] means for receiving information from a user regarding family size, cooking preferences, available cooking equipment, and budget;
[1520] means for automatically generating a weekly menu based on the received information;
[1521] A means for creating a shopping list of necessary ingredients based on the generated menu;
[1522] means for informing a user of a menu and a shopping list;
[1523] means for analyzing a user's emotional state using an emotion engine and adjusting menus and shopping lists based on the results of the analysis;
[1524] A way to order ingredients online based on your shopping list;
[1525] A system including:
[1526] (Claim 2)
[1527] 10. The system of claim 1, further comprising means for filtering recipes during menu generation taking into account a user's cooking preferences.
[1528] (Claim 3)
[1529] 10. The system of claim 1, further comprising means for adjusting the menu taking into account a budget input by a user. [Explanation of symbols]
[1530] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. means for receiving information from a user regarding family size, cooking preferences, available cooking equipment, and budget; means for automatically generating a weekly menu based on the received information; A means for creating a shopping list of necessary ingredients based on the generated menu; means for informing a user of a menu and a shopping list; A system including:
2. The system of claim 1 , further comprising means for filtering recipes in the menu creation process, taking into account the user's cooking preferences.
3. 2. The system of claim 1, further comprising means for adjusting the menu taking into account a budget input by the user.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A