system
A system integrates family data and store sales to generate personalized meal plans and purchase lists, addressing meal management challenges and reducing waste and costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2024-10-02
- Publication Date
- 2026-04-14
AI Technical Summary
Modern families face challenges in managing meal restrictions and preferences for all members, leading to nutritional imbalance, food waste, and inefficient food expenses due to the difficulty in integrating inventory and sale information.
A system that integrates family composition and dietary restriction information with refrigerator inventory and nearby store sales data to generate optimal menus and purchase lists, utilizing AI to suggest meals and automatically manage ingredient lists.
This system allows for efficient meal planning that meets family preferences and restrictions, reduces food waste, and saves expenses by optimizing ingredient purchases.
Smart Images

Figure 2026064634000001_ABST
Abstract
Description
Technical Field
[0001] The technology of the present disclosure relates to a system.
Background Art
[0002] Patent Document 1 discloses a method for controlling a persona chatbot, which is performed by at least one processor, and includes steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to an explanation of a character of the chatbot, 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
Summary of the Invention
Problems to be Solved by the Invention
[0004] In modern busy families, it is very difficult to consider meal restrictions and menus according to the preferences of all family members. Also, it takes time to manage the inventory of food ingredients and find the optimal purchase places. As a result, it is easy for the nutritional balance to be unbalanced or for food ingredients to be wasted. Furthermore, there is also a problem that the food expenses cannot be efficiently saved by overlooking the sale information of neighboring stores. To solve such problems, a system that takes into account the preferences and restrictions of the family, integrates the inventory information of the refrigerator and the sale information of neighboring stores, and proposes an optimal menu and purchase list is needed.
Means for Solving the Problems
[0005] The present invention includes means for inputting family composition information and dietary restriction information, and means for inputting predetermined ingredient information. Furthermore, it includes means for generating a menu based on this information. It also includes means for obtaining sale information and inventory information from nearby stores, and provides means for generating a purchase list of missing ingredients based on the generated menu and store information. This system allows users to easily create menus that meet their family's preferences and restrictions, and to efficiently purchase the necessary ingredients. Furthermore, by including means for automatically obtaining ingredient information by communicating with home appliances such as refrigerators, and means for transmitting the generated menu and purchase list to the user's terminal, the effort required from the user is greatly reduced, and food expenses can also be saved.
[0006] "Family composition information" refers to basic information data such as the age, gender, weight, and height of everyone in the user's household.
[0007] "Dietary restriction information" refers to data on the user's or their family's allergies, likes and dislikes, and nutritional restrictions (e.g., gluten-free, nut-free, vegetarian, etc.).
[0008] "Specified food information" refers to data regarding the types and quantities of food items the user possesses, as well as the location where these items are stored.
[0009] "Method for generating menus" refers to a system or algorithm that automatically suggests and creates appropriate meal menus based on family composition information, dietary restriction information, and specified ingredient information.
[0010] "Means for obtaining sales information and inventory information from nearby stores" refers to a system or algorithm that automatically collects sales information and inventory information from supermarkets and grocery stores near the user.
[0011] "A means of generating a purchase list for missing ingredients" refers to a system or algorithm that identifies the ingredients missing to realize a menu and automatically creates a list for purchasing them.
[0012] "Means of communicating with home appliances" refers to a system or algorithm that acquires and transmits data from home appliances, such as refrigerators and food management devices, by coordinating with them via a network.
[0013] "Means of sending to the user's device" refers to a system or algorithm that sends generated menus, shopping lists, sales information, etc., to the user's smartphone, tablet, personal computer, or other device. [Brief explanation of the drawing]
[0014] [Figure 1] This is a conceptual diagram showing an example of the configuration of a data processing system according to the first embodiment. [Figure 2] This is a conceptual diagram showing an example of the essential functions of a data processing device and a smart device according to the first embodiment. [Figure 3] This is a conceptual diagram showing an example of the configuration of a data processing system according to the second embodiment. [Figure 4] This is a conceptual diagram showing an example of the main functions of a data processing device and smart glasses according to the second embodiment. [Figure 5] This is a conceptual diagram showing an example of the configuration of a data processing system according to the third embodiment. [Figure 6] This is a conceptual diagram showing an example of the main functions of a data processing device and a headset-type terminal according to the third embodiment. [Figure 7] This is a conceptual diagram showing an example of the configuration of a data processing system according to the fourth embodiment. [Figure 8] This is a conceptual diagram showing an example of the main functions of a data processing device and a robot according to the fourth embodiment. [Figure 9] This shows an emotion map where multiple emotions are mapped. [Figure 10] This shows an emotion map where multiple emotions are mapped. [Figure 11] This is a sequence diagram showing the processing flow of the data processing system in Example 1. [Figure 12] It is a sequence diagram showing the processing flow of the data processing system in Application Example 1. [Figure 13] It is a sequence diagram showing the processing flow of the data processing system in Example 2 when combined with an emotion engine. [Figure 14] It is a sequence diagram showing the processing flow of the data processing system in Application Example 2 when combined with an emotion engine.
Mode for Carrying Out the Invention
[0015] Hereinafter, an example of an embodiment of the system according to the technology of the present disclosure will be described with reference to the accompanying drawings.
[0016] First, the language used in the following description will be explained.
[0017] In the following embodiments, the numbered processor (hereinafter simply referred to as "processor") may be one arithmetic unit or a combination of multiple arithmetic units. Also, the processor may be one type of arithmetic unit or a combination of multiple types of arithmetic units. Examples of arithmetic units include CPU (Central Processing Unit), GPU (Graphics Processing Unit), GPGPU (General-Purpose computing on Graphics Processing Units), APU (Accelerated Processing Unit), etc.
[0018] In the following embodiments, the numbered RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a work memory by the processor.
[0019] In the following embodiments, the signed storage is one or more non-volatile storage devices that store various programs and various parameters. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), or magnetic tapes.
[0020] In the following embodiments, the signed communication interface (I / F) is an interface that includes a communication processor and an antenna, etc. The communication interface manages communication between multiple computers. Examples of communication standards applicable to the communication interface include wireless communication standards such as 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), or Bluetooth (registered trademark).
[0021] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." That is, "A and / or B" means that it may be A alone, or B alone, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" applies when expressing three or more things linked by "and / or."
[0022] [First Embodiment]
[0023] Figure 1 shows an example of the configuration of the data processing system 10 according to the first embodiment.
[0024] As shown in Figure 1, the 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.
[0025] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0026] The smart device 14 comprises a computer 36, a reception device 38, an output device 40, a camera 42, and a communication interface 44. The computer 36 comprises a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The reception device 38, output device 40, and camera 42 are also connected to the bus 52.
[0027] The reception device 38 is equipped with a touch panel 38A and a microphone 38B, etc., and receives user input. The touch panel 38A receives user input by detecting contact with an object (e.g., a pen or finger). The microphone 38B receives user input by detecting the user's voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and 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.
[0028] 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 perceptible to the user 20 (e.g., audio and / or text). The display 40A displays visible information such as text and images according to instructions from the processor 46. The speaker 40B outputs audio according to instructions from the processor 46. The camera 42 is a small digital camera equipped with an optical system such as a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0029] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various types of information between processor 46 and processor 28 via network 54.
[0030] Figure 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0031] As shown in Figure 2, in the data processing device 12, a specific processing 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" related to the technology of this 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 according to the specific processing program 56 executed on the RAM 30.
[0032] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0033] In the smart device 14, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. The reception output program 60 is used in conjunction with a 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0034] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0035] The system of this invention integrates the user's family structure information, dietary restriction information, information on ingredients in the refrigerator, and sales and inventory information from nearby stores to propose an optimal menu and shopping list. The following describes how to implement this system.
[0036] Entering family composition information and dietary restriction information
[0037] 1. User: Use a device such as a smartphone or tablet to enter information about family members. For example, the user might enter information such as: family composition is 4 people (father, mother, 2 children), dietary restrictions are: mother is gluten-free, and one of the children has a nut allergy.
[0038] 2. Terminal: Sends the entered family composition information and dietary restriction information to the server. This information is sent in JSON format.
[0039] Retrieving refrigerator inventory data
[0040] 1. User: Use the smartphone app to enter information about the ingredients in your refrigerator. For example, register information about ingredients such as chicken, potatoes, broccoli, and tomatoes.
[0041] 2. Terminal: Sends the entered food information to the server. If the refrigerator is a smart refrigerator, it can also automatically retrieve and send the data to the server.
[0042] Obtaining sales and inventory information from nearby supermarkets
[0043] 1. Server: Regularly retrieves sales and inventory information from nearby supermarkets and grocery stores via API. This information is stored in a database on the server.
[0044] 2. Server: Updates acquired store information as needed to maintain up-to-date information.
[0045] Menu generation
[0046] 1. Server: Generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, if a gluten-free and nut-free menu is requested, it will use the chicken, potatoes, broccoli, and tomatoes in the refrigerator to suggest dishes such as roasted chicken and potatoes or a broccoli and tomato salad.
[0047] 2. Server: Saves the generated menu to the database.
[0048] Generating a purchase list
[0049] 1. Server: Based on the generated menu, it identifies any missing ingredients and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, it adds carrots to the purchase list.
[0050] 2. Server: Identify stores where the necessary ingredients are on sale and add that information to the shopping list.
[0051] Displaying Results
[0052] 1. Server: Sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal.
[0053] 2. Terminal: Displays menu information and a shopping list to the user. For example, it will be displayed as follows:
[0054] Today's menu:
[0055] Roast chicken and potatoes
[0056] Ingredients needed: Chicken, potatoes, broccoli
[0057] Gluten-free pasta with tomato sauce
[0058] Required ingredients: Gluten-free pasta, tomatoes
[0059] Purchase list:
[0060] Carrots (on sale at Super A)
[0061] Radish (currently on sale at Super B)
[0062] In this way, users can receive menus tailored to their family's preferences and dietary restrictions in real time, and purchase ingredients efficiently. This invention contributes to reducing food waste and saving on food expenses.
[0063] The following describes the processing flow.
[0064] Step 1:
[0065] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information such as a family of four (father, mother, and two children), and dietary restrictions such as the mother being gluten-free and one of the children having a nut allergy.
[0066] Step 2:
[0067] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[0068] json
[0069] {
[0070] "family": [
[0071] {"role": "father", "preferences": []},
[0072] {"role": "mother", "preferences": ["gluten_free"]},
[0073] {"role": "child1", "preferences": ["nut_allergy"]},
[0074] {"role": "child2", "preferences": []}
[0075] ]
[0076] }
[0077] Step 3:
[0078] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[0079] Step 4:
[0080] Terminal: Sends the entered ingredient information to the server in JSON format.
[0081] json
[0082] {
[0083] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[0084] }
[0085] Step 5:
[0086] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[0087] http
[0088] GET / api / supermarket / nearby-deals
[0089] Step 6:
[0090] Server: Stores acquired sales and inventory information in the database.
[0091] json
[0092] {
[0093] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[0094] }
[0095] Step 7:
[0096] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "roast chicken and potatoes" and "gluten-free pasta with tomato sauce."
[0097] json
[0098] {
[0099] "menu": [
[0100] {
[0101] "name": "Roasted Chicken with Potato",
[0102] "ingredients": ["chicken", "potato", "broccoli"]
[0103] },
[0104] {
[0105] "name": "Gluten Free Pasta with Tomato Sauce",
[0106] "ingredients": ["gluten_free_pasta", "tomato"]
[0107] }
[0108] ]
[0109] }
[0110] Step 8:
[0111] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[0112] json
[0113] {
[0114] "shopping_list": ["carrot", "daikon"]
[0115] }
[0116] Step 9:
[0117] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[0118] json
[0119] {
[0120] "shopping_list": [
[0121] {"item": "carrot", "store": "Supermarket A"},
[0122] {"item": "daikon", "store": "Supermarket B"}
[0123] ]
[0124] }
[0125] Step 10:
[0126] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[0127] Step 11:
[0128] Terminal: Displays menu information and a shopping list to the user. For example, it will display as follows:
[0129] Today's menu:
[0130] Roast chicken and potatoes
[0131] Ingredients needed: Chicken, potatoes, broccoli
[0132] Gluten-free pasta with tomato sauce
[0133] Required ingredients: Gluten-free pasta, tomatoes
[0134] Purchase list:
[0135] Carrots (on sale at Super A)
[0136] Radish (currently on sale at Super B)
[0137] Through these steps, users can receive menus tailored to their family's preferences and restrictions in real time, and efficiently purchase the necessary ingredients.
[0138] (Example 1)
[0139] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0140] Traditional systems required users to manually manage family composition and dietary restrictions, and then create menus and shopping lists based on that information. This made efficient food use and waste reduction difficult, especially for families with multiple dietary restrictions. Furthermore, generating optimal shopping lists that reflected sales and inventory information from nearby stores was not easy. As a result, food waste and increased food costs became significant problems.
[0141] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0142] In this invention, the server includes means for the user to input family composition information and dietary restriction information, means for the user to input predetermined ingredient information, means for the terminal to transmit the family composition information, the dietary restriction information, and the ingredient information to the server, means for the server to generate a menu based on the information, means for the server to obtain sale information and inventory information from nearby stores, and means for the server to generate a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information. This makes it possible for the user to efficiently use ingredients, reduce waste, and easily generate an optimal purchase list while taking into account family composition and dietary restrictions.
[0143] A "user" is the entity that inputs family structure information, dietary restriction information, and ingredient information into the system.
[0144] A "terminal" is a device used to transmit information entered by a user to a server, and includes smartphones and tablets.
[0145] A "server" is a computer system that analyzes and processes information sent by users and information obtained from external APIs to generate optimal menus and shopping lists.
[0146] "Family structure information" refers to information that describes the number of family members and their relationships. For example, it includes the number of family members, their ages, and their roles (father, mother, child, etc.).
[0147] "Dietary restriction information" refers to information indicating the special dietary restrictions of each family member. For example, this may include restrictions such as gluten-free diets or nut allergies.
[0148] "Food information" refers to information indicating the types and quantities of food items found in the refrigerator or other storage locations.
[0149] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[0150] "Inventory information" refers to information that shows the current inventory status of food and ingredients at nearby stores.
[0151] A "menu" is a meal plan created based on family composition information, dietary restrictions, and ingredient information, and includes a specific menu of dishes.
[0152] A "purchase list" is a list of missing or necessary ingredients based on the generated menu, and also includes information on the best places to buy them and discounts.
[0153] A "generative AI model" is an artificial intelligence model that learns from vast amounts of data and is used to generate optimal menus and shopping lists based on user input and information obtained from external sources.
[0154] The system of this invention integrates user information such as family composition, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby stores to suggest an optimal menu and shopping list. The following describes how to implement this system.
[0155] Entering family composition information and dietary restriction information
[0156] 1. The user uses a smartphone or tablet to enter information about family members and dietary restrictions. For example, the family consists of four people (father, mother, and two children), and the dietary restrictions include the mother being gluten-free and one of the children having a nut allergy.
[0157] 2. The terminal sends the entered family structure information and dietary restriction information to the server. The information is sent in JSON format, and the server parses it and stores it in the database.
[0158] Retrieving refrigerator inventory data
[0159] 1. The user uses a smartphone app to enter information about the ingredients in their refrigerator. For example, they might register information about chicken, potatoes, broccoli, and tomatoes.
[0160] 2. The terminal sends the entered food information to the server. If a smart refrigerator is being used, it is also possible to automatically retrieve and send the data.
[0161] Obtaining sales and inventory information from nearby supermarkets
[0162] 1. The server accesses APIs of nearby supermarkets and grocery stores at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. The retrieved data is parsed in JSON format and stored in a database on the server.
[0163] 2. The server will update the acquired information as it is received to maintain the most up-to-date information.
[0164] Menu generation
[0165] 1. The server uses a generative AI model to generate optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest gluten-free and nut-free menus using chicken, potatoes, broccoli, and tomatoes that are already in the refrigerator.
[0166] 2. The server saves the generated menu information to a database, allowing users to reuse it.
[0167] Generating a purchase list
[0168] 1. The server identifies any missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, carrots will be added to the purchase list.
[0169] 2. When generating a shopping list, the server identifies stores where the necessary ingredients are on sale and includes that information in the list.
[0170] Displaying Results
[0171] 1. The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent in JSON format.
[0172] 2. The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display the dish name and required ingredients as "Today's Menu," with a shopping list and sale information displayed below it.
[0173] Examples of specific cases and prompt statements
[0174] Specific example:
[0175] Family composition information entered by the user:
[0176] Members: Father, mother, 2 children
[0177] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[0178] Information about the ingredients in the refrigerator:
[0179] Ingredients: Chicken, potatoes, broccoli, tomatoes
[0180] Sales information retrieved by the server:
[0181] Carrots are 20% off at Super A.
[0182] Daikon radish is 10% off at Super B.
[0183] Examples of prompts for a generative AI model:
[0184] The user's family structure information is as follows:
[0185] A family of four (father, mother, and two children)
[0186] My mother is gluten-free
[0187] One of the children has a nut allergy.
[0188] The following items are in the refrigerator:
[0189] Chicken, potatoes, broccoli, tomatoes
[0190] Here is the sale information for nearby supermarkets:
[0191] Carrots are 20% off at Super A.
[0192] Daikon radish is 10% off at Super B.
[0193] Based on this information, please generate an optimal menu and shopping list.
[0194] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[0195] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0196] Step 1:
[0197] Users enter family member information and dietary restrictions using devices such as smartphones and tablets. Specifically, they select family composition such as "father," "mother," and "two children" in the app's input form, and specify special dietary restrictions such as "gluten-free" for the mother or "nut allergy" for the children using checkboxes or dropdown menus. The input data is converted into JSON format.
[0198] Step 2:
[0199] The terminal converts the family structure and dietary restriction information entered by the user into JSON format and sends it to the server using the HTTPS protocol. At this time, the input data is validated for integrity and format to prevent the transmission of invalid data. The server analyzes the received data and stores it in a database.
[0200] Step 3:
[0201] Users manually enter information about the ingredients in their refrigerator using a smartphone app. For example, the app's interface has fields for entering the names and quantities of ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes." Users enter the information and press the register button. This converts the ingredient information into JSON format.
[0202] Step 4:
[0203] The terminal converts the entered food information into JSON format and sends it to the server. If a smart refrigerator is used, the refrigerator itself detects food information in real time and automatically sends it to the server. This information is stored in a database.
[0204] Step 5:
[0205] The server accesses the APIs of nearby supermarkets at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. For example, it sends an HTTP request and parses the data returned in JSON format. The retrieved data includes detailed information such as product name, price, sale period, and inventory quantity. This information is stored in a database.
[0206] Step 6:
[0207] The server regularly updates acquired sales and inventory information. To maintain the latest information, it also performs duplicate data removal and archives historical data.
[0208] Step 7:
[0209] The server combines family composition information, dietary restriction information, refrigerator inventory data, and sales information from nearby stores stored in the database, and uses a generative AI model to generate the optimal menu. Specifically, the generative AI model analyzes the user's conditions and combinations of ingredients to suggest the best menu. For example, based on ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes," a gluten-free and nut-free menu may be suggested.
[0210] Step 8:
[0211] The server stores the generated menu information in a database. Each menu includes details such as the necessary ingredients and their quantities, and cooking methods.
[0212] Step 9:
[0213] The server identifies missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires "carrots" and there are none in the refrigerator, "carrots" will be added to the purchase list. In this process, the database is searched to identify the missing ingredients.
[0214] Step 10:
[0215] When generating a shopping list, the server searches for which supermarkets are having sales on the necessary ingredients and creates the most economical shopping plan based on the sale information. This helps reduce food waste and lower costs.
[0216] Step 11:
[0217] The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent from the server to the terminal in JSON format.
[0218] Step 12:
[0219] The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display "Today's Menu" such as "Roast Chicken and Potatoes" or "Gluten-Free Pasta with Tomato Sauce," with the necessary ingredients and a shopping list displayed below.
[0220] Specific example
[0221] Family composition information entered by the user:
[0222] Members: Father, mother, 2 children
[0223] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[0224] Information about the ingredients in the refrigerator:
[0225] Ingredients: Chicken, potatoes, broccoli, tomatoes
[0226] Sales information retrieved by the server:
[0227] Carrots are 20% off at Super A.
[0228] Daikon radish is 10% off at Super B.
[0229] Examples of prompts for a generative AI model:
[0230] The user's family structure information is as follows:
[0231] A family of four (father, mother, and two children)
[0232] My mother is gluten-free
[0233] One of the children has a nut allergy.
[0234] The following items are in the refrigerator:
[0235] Chicken, potatoes, broccoli, tomatoes
[0236] Here is the sale information for nearby supermarkets:
[0237] Carrots are 20% off at Super A.
[0238] Daikon radish is 10% off at Super B.
[0239] Based on this information, please generate an optimal menu and shopping list.
[0240] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[0241] (Application Example 1)
[0242] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart device 14 will be referred to as the "terminal."
[0243] In recent years, dietary demands have diversified, and daily meal preparation has become even more complex, especially for families with dietary restrictions. Furthermore, daily meal-related tasks such as managing ingredients in the refrigerator and checking sales information are extremely time-consuming. While food delivery services are becoming more widespread, ordering menus and ingredients tailored to individual households is often cumbersome. Therefore, there is a need for a system that enables efficient and personalized meal management and ordering.
[0244] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0245] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; and means for ordering missing ingredients and dishes from a food delivery service based on the purchase list. This enables optimized menus and efficient ordering while accommodating the dietary restrictions of household members.
[0246] "Family composition information" refers to the composition of the user's household members, as well as information such as the characteristics of each member and their dietary restrictions.
[0247] "Dietary restriction information" refers to dietary restrictions specific to individual family members, such as the need to avoid certain foods or ingredients.
[0248] "Food information" refers to information indicating the types and quantities of food stored in the refrigerator and kitchen.
[0249] "Means for generating menus" refers to algorithms or software that propose optimal meal menus based on the aforementioned family composition information, dietary restriction information, and ingredient information.
[0250] "Sale information" refers to special offers and discounts being offered at nearby stores.
[0251] "Inventory information" refers to the current stock status of products sold at nearby stores.
[0252] "Methods for generating a purchase list" refers to algorithms or software that list missing or necessary ingredients based on the generated menu and store information.
[0253] "Methods of ordering from food delivery services" refers to algorithms and software used to order necessary ingredients and dishes online through food delivery services.
[0254] A "terminal" refers to a device such as a smartphone, tablet, or computer that a user uses to input information or view suggested menus or shopping lists.
[0255] The "Perfect Food" app is a system designed to help users efficiently manage their daily meals. This system integrates family composition information, dietary restrictions, refrigerator contents, and menu information from nearby food delivery services, and then suggests optimal meal plans and shopping lists based on this information.
[0256] Hardware and software to be used
[0257] Hardware: Smartphones, servers
[0258] Software: JSON parser, database (MySQL®, etc.), API request module, menu generation algorithm (Python, etc.)
[0259] Data processing: Integration of user information, data retrieval from APIs, analysis of vast amounts of menu information.
[0260] Enter and submit user information
[0261] Users use the smartphone app "Perfect Food" to input family composition information and dietary restrictions. This information is sent to the server in JSON format. For example, family composition information might include "Family of 4 (father, mother, 2 children)," and dietary restrictions might include "Mother is gluten-free, one child has a nut allergy."
[0262] Retrieving refrigerator inventory data
[0263] Users enter information about the ingredients in their refrigerator into the app. Furthermore, if a smart refrigerator is installed, inventory data can be automatically retrieved and sent to the server. For example, "chicken, potatoes, broccoli, tomatoes" might be registered.
[0264] Obtaining nearby delivery menu information
[0265] The server periodically retrieves menu information from nearby food delivery services via an API, stores it in a database, and updates it. This retrieved information is stored in a server-based database and updated in real time.
[0266] Menu generation
[0267] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and nearby delivery menu information. For example, if a menu is requested that accommodates "gluten-free" and "nut allergies," the generated menu suggestions might include "roasted chicken and potatoes" and "tomato and broccoli salad."
[0268] Purchase list / Order list generation
[0269] The server lists any missing ingredients or dishes based on the generated menu. Furthermore, it generates a list of items to order from a food delivery service based on that list. For example, if the menu requires "gluten-free pasta" and there is none in the refrigerator, it adds it to the shopping list and makes it available for order from a food delivery service.
[0270] Suggestions for users
[0271] The server sends the generated menu information, purchase list, and order list to the user's smartphone. For example, it will be displayed as follows:
[0272] Today's menu:
[0273] Roasted Chicken and Potatoes
[0274] Required ingredients: Chicken, potatoes, broccoli
[0275] Tomato Sauce for Gluten-Free Pasta
[0276] Required ingredients: Gluten-free pasta, tomatoes
[0277] Shopping list:
[0278] Gluten-free pasta (available for ordering on Delivery Service A)
[0279] Example of prompt text
[0280] An example of the input prompt text to the generative AI model is as follows:
[0281] Family composition information:
[0282] Member 1: Mother, gluten-free
[0283] Member 2: Child, nut allergy
[0284] Refrigerator inventory:
[0285] Chicken, 500g
[0286] Tomatoes, 3
[0287] Neighborhood food delivery menu:
[0288] Delivery Service A: Gluten-free pasta, salad
[0289] Proposed menu and additional orders:
[0290] As described above, the "Perfect Food" app is a system that streamlines household meal management and caters to individual needs. This invention significantly streamlines daily meal preparation by allowing users to receive optimal menu suggestions and easily order missing ingredients or dishes.
[0291] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0292] Step 1:
[0293] Users input family composition and dietary restriction information using the smartphone app "Perfect Food." The entered information is sent to the server in JSON format. This input data includes characteristics and dietary restrictions of each family member. The server analyzes the received information and stores it in a database.
[0294] Input: Family composition information, dietary restriction information
[0295] Output: The analyzed information is stored in the database.
[0296] Step 2:
[0297] The user enters information about the contents of their refrigerator into a smartphone app. If a smart refrigerator is present, it automatically retrieves inventory data and sends it to the server. The entered and retrieved data are sent to the server in JSON format. The server parses the data and stores it in a database.
[0298] Input: Ingredient information
[0299] Output: The analyzed data is saved to the database.
[0300] Step 3:
[0301] The server periodically obtains menu information, sales information, and inventory information of nearby stores and food delivery services through the API. The obtained information is stored in a server-based database and updated in real time.
[0302] Input: Menu information, sales information, and inventory information of stores and food delivery services
[0303] Output: The obtained information is stored in the database and updated.
[0304] Step 4:
[0305] Based on family composition information, dietary restriction information, refrigerator inventory information, and nearby delivery menu information, the server generates an optimal meal plan. For this, a meal plan generation algorithm is used, and an AI model may also be utilized. The generated meal plan is stored in the database.
[0306] Input: Family composition information, dietary restriction information, refrigerator inventory information, and delivery menu information
[0307] Output: An optimal meal plan is generated and stored in the database.
[0308] Step 5:
[0309] Based on the generated meal plan, the server lists the missing ingredients and dishes. The generated purchase list is compared with the menu information of the food delivery service, and an order list is generated.
[0310] Input: The generated meal plan
[0311] Output: A purchase list and an order list are generated.
[0312] Step 6:
[0313] The server sends the generated menu information, shopping list, and order list to the user's smartphone. The user can then view the menu information, shopping list, and delivery service order list through the app.
[0314] Input: Generated menu information, purchase list, and order list
[0315] Output: Information is sent to the user's smartphone.
[0316] As a concrete example of how it works, the user enters information such as "gluten-free" and "nut allergy" into the app. They also register their refrigerator inventory, such as "chicken, potatoes, tomatoes." The system then retrieves information on nearby food delivery services via API and suggests the most suitable menu. For example, a "gluten-free chicken and tomato dish" might be suggested, and the necessary ingredients are automatically added to the shopping list.
[0317] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0318] This invention is a system designed to streamline meal preparation at home and cater to the individual needs of family members, particularly by recognizing the user's emotions and adjusting menus and shopping lists accordingly. The system integrates family composition information, dietary restrictions, refrigerator contents, nearby store sales information, and inventory information to propose optimal menus and shopping lists.
[0319] Entering family composition information and dietary restriction information
[0320] 1. User: Enter family composition information and dietary restrictions on the device. For example, enter information such as a family of four where the mother is gluten-free and one child has a nut allergy.
[0321] 2. Terminal: Sends the entered data to the server.
[0322] Retrieving refrigerator inventory data
[0323] 1. User: Enter information about the food items in the refrigerator into the terminal. If using a smart refrigerator, the refrigerator will automatically send the data to the server.
[0324] 2. Terminal: Sends the entered ingredient information to the server.
[0325] Obtaining sales and inventory information from nearby supermarkets
[0326] 1. Server: Periodically retrieves sales and inventory information from nearby supermarkets via API.
[0327] 2. Server: Stores the retrieved information in the database.
[0328] User emotion recognition by an emotion engine
[0329] 1. Device: The user inputs emotions using a device, or emotions are automatically acquired using facial recognition, voice analysis, etc. (e.g., fatigue, stress, happiness).
[0330] 2. Terminal: Sends the acquired emotion information to the server.
[0331] Menu creation and emotion-based adjustments
[0332] 1. Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores.
[0333] 2. Server: Based on emotional information from the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, the server suggests ingredients and recipes that have a stress-reducing effect.
[0334] Generating a purchase list
[0335] 1. Server: Based on the final menu, it generates a purchase list for any missing ingredients. It also takes sales information into consideration and suggests the best place to buy them.
[0336] 2. Server: Sends the purchase list to the terminal.
[0337] Displaying Results
[0338] 1. Terminal: Displays the generated menu information and purchase list for the user. For example, it will be displayed as follows:
[0339] Today's menu:
[0340] Roast chicken and potatoes
[0341] Ingredients needed: Chicken, potatoes, broccoli
[0342] Gluten-free pasta with tomato sauce
[0343] Required ingredients: Gluten-free pasta, tomatoes
[0344] Purchase list:
[0345] Carrots (on sale at Super A)
[0346] Radish (currently on sale at Super B)
[0347] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[0348] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even adjust them to their emotional state. This reduces the stress of meal preparation and makes it possible to provide meals that satisfy the whole family. This invention also contributes to reducing food waste and saving on food costs.
[0349] The following describes the processing flow.
[0350] Step 1:
[0351] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information that there are four family members, the mother is gluten-free, and one of the children has a nut allergy.
[0352] Step 2:
[0353] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[0354] json
[0355] {
[0356] "family": [
[0357] {"role": "father", "preferences": []},
[0358] {"role": "mother", "preferences": ["gluten_free"]},
[0359] {"role": "child1", "preferences": ["nut_allergy"]},
[0360] {"role": "child2", "preferences": []}
[0361] ]
[0362] }
[0363] Step 3:
[0364] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[0365] Step 4:
[0366] Terminal: Sends the entered ingredient information to the server in JSON format.
[0367] json
[0368] {
[0369] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[0370] }
[0371] Step 5:
[0372] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[0373] http
[0374] GET / api / supermarket / nearby-deals
[0375] Step 6:
[0376] Server: Stores acquired sales and inventory information in the database.
[0377] json
[0378] {
[0379] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[0380] }
[0381] Step 7:
[0382] User: Emotions can be entered via the device, or automatically acquired using facial recognition or voice analysis (e.g., fatigue, stress, happiness).
[0383] Step 8:
[0384] Terminal: Sends the acquired emotion information to the server in JSON format.
[0385] json
[0386] {
[0387] "emotion": "stress"
[0388] }
[0389] Step 9:
[0390] Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "Roast Chicken and Potatoes" and "Gluten-Free Pasta with Tomato Sauce."
[0391] json
[0392] {
[0393] "menu": [
[0394] {
[0395] "name": "Roasted Chicken with Potato",
[0396] "ingredients": ["chicken", "potato", "broccoli"]
[0397] },
[0398] {
[0399] "name": "Gluten Free Pasta with Tomato Sauce",
[0400] "ingredients": ["gluten_free_pasta", "tomato"]
[0401] }
[0402] ]
[0403] }
[0404] Step 10:
[0405] Server: Based on emotional information obtained by the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, it suggests ingredients that have stress-reducing effects (e.g., chamomile tea).
[0406] Step 11:
[0407] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[0408] json
[0409] {
[0410] "shopping_list": ["carrot", "daikon"]
[0411] }
[0412] Step 12:
[0413] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[0414] json
[0415] {
[0416] "shopping_list": [
[0417] {"item": "carrot", "store": "Supermarket A"},
[0418] {"item": "daikon", "store": "Supermarket B"}
[0419] ]
[0420] }
[0421] Step 13:
[0422] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[0423] Step 14:
[0424] Terminal: Displays menu information and a shopping list to the user. For example, it may look like this:
[0425] Today's menu:
[0426] Roast chicken and potatoes
[0427] Ingredients needed: Chicken, potatoes, broccoli
[0428] Gluten-free pasta with tomato sauce
[0429] Required ingredients: Gluten-free pasta, tomatoes
[0430] Purchase list:
[0431] Carrots (on sale at Super A)
[0432] Radish (currently on sale at Super B)
[0433] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[0434] Through these steps, users receive menus tailored to their family's preferences and constraints in real time, and are offered meals adjusted based on their emotional state, enabling efficient and satisfying grocery shopping and cooking.
[0435] (Example 2)
[0436] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the smart device 14 as the "terminal".
[0437] Traditional home meal preparation systems struggled to consider individual family members' dietary restrictions and preferences, and to integrate information from nearby stores to suggest optimal menus and shopping lists. Furthermore, they failed to adjust menus to reflect the user's emotional state. As a result, problems such as food waste and increased stress from meal preparation arose.
[0438] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0439] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; means for obtaining user emotional information; and means for adjusting the menu based on the emotional information. This makes it possible to automatically generate an optimal menu and purchase list that takes into account the user's emotional state while adapting to the family's preferences and dietary restrictions.
[0440] "Family structure information" refers to attribute information of each member of the household, including age, gender, health status, and preferences.
[0441] "Dietary restriction information" refers to each member's dietary restrictions, including allergies, religious restrictions, and health considerations.
[0442] "Specified food information" refers to information about food currently stored in the refrigerator or pantry, including type, quantity, and expiration date.
[0443] "Method for generating menus" refers to the process of determining proposed meal menus based on family composition information, dietary restriction information, and specified ingredient information.
[0444] "Sale information" refers to information about special prices offered at nearby stores, including discounts and promotions.
[0445] "Inventory information" refers to the current stock status of products at nearby stores.
[0446] "Methods for generating a shopping list" refers to the process of creating a list of missing ingredients based on menus and store sales and inventory information.
[0447] "User emotional information" refers to information that indicates the user's current emotional state, including states such as stress, happiness, and fatigue.
[0448] "Methods for adjusting menus based on emotional information" refers to the process of appropriately modifying suggested menus based on the emotional information of the user that has been acquired.
[0449] "Means of communicating with home appliances" refers to the communication functions of home appliances such as smart refrigerators, and includes methods for automatically acquiring food information.
[0450] "Means of sending to the user's device" refers to the process of sending the generated menu and shopping list to the user's individual device (smartphone, tablet, etc.).
[0451] This invention is a system that integrates family composition information, dietary restriction information, information on ingredients in the refrigerator, sales information and inventory information from nearby stores, and proposes an optimal menu and shopping list based on the user's emotional state. The aim of this system is to generate menus that not only take into account family preferences and dietary restrictions, but also reflect the user's emotional state.
[0452] Hardware and software to be used
[0453] Devices: Smartphones, tablets, PCs, etc. This allows users to input information such as family composition, dietary restrictions, and the contents of their refrigerator.
[0454] Server: Cloud servers are used for data processing and storage. MySQL and PostgreSQL are used for the database, and TENSORFLOW® and PyTorch are used for the AI algorithms.
[0455] Home appliances: This includes home appliances that automatically acquire food information, such as smart refrigerators.
[0456] API: We use store APIs (for example, Google® Maps API or individual supermarket APIs) to retrieve sales and inventory information from nearby stores.
[0457] Emotion recognition technology: We use OpenCV and the Google Cloud Speech-to-Text API to obtain user emotion information.
[0458] The specific processing flow of the system
[0459] The user enters family information (e.g., family of four, father has a nut allergy, mother is gluten-free) and dietary restrictions into the device. Next, the device retrieves information about the ingredients in the refrigerator, either manually or via a smart refrigerator, and sends this data to the server. The server periodically retrieves sale and inventory information from nearby supermarkets via an API and stores it in a database.
[0460] Furthermore, the device acquires user emotional information (e.g., stress levels, fatigue) using facial recognition and voice analysis technologies and sends it to the server. The server integrates family composition information, dietary restrictions, ingredients in the refrigerator, sales information from nearby supermarkets, inventory information, and the user's emotional information, and uses an AI algorithm to generate an optimal menu. Subsequently, based on the emotional information, the menu is adjusted to create a final menu and shopping list tailored to the user. The created menu and shopping list are sent to the device and displayed to the user.
[0461] Specific example
[0462] For example, input the following prompt into the generating AI model:
[0463] "We are a family of four; the mother is gluten-free, and one of the children has a nut allergy. Could you please suggest tonight's menu and a shopping list? Also, I'm feeling a bit tired right now, so please suggest any ingredients or recipes that have a relaxing effect."
[0464] This allows the user to receive menus and shopping lists tailored to their conditions and emotional state. For example, "roast chicken and potatoes" or "gluten-free pasta with tomato sauce" might be suggested, and chamomile tea, which is expected to have a relaxing effect, might also be recommended.
[0465] The flow of the specific processing in Example 2 will be explained using Figure 13.
[0466] Step 1:
[0467] Entering family composition information and dietary restriction information
[0468] The user enters family composition information and dietary restriction information into a device such as a smartphone. For example, the user might enter information such as a family of four where the father has a nut allergy and the mother follows a gluten-free diet. The device converts this input data into JSON format and sends it to the server using a REST API. The server stores the received data in a database.
[0469] Input: Family composition information and dietary restriction information
[0470] Output: Data in JSON format is sent to the server and stored in the database.
[0471] Step 2:
[0472] Retrieving refrigerator inventory data
[0473] The user can manually enter information about the food items inside the refrigerator into a terminal, or the smart refrigerator can automatically obtain this information using RFID tags or a barcode scanner. The terminal sends this data to a server, which stores the received data in a database.
[0474] Input: Information about the ingredients in the refrigerator
[0475] Output: Data in JSON format is sent to the server and stored in the database.
[0476] Step 3:
[0477] Obtaining sales and inventory information from nearby supermarkets.
[0478] The server uses an API to periodically retrieve sales and inventory information from nearby supermarkets. For example, a scheduler runs at specific time intervals, sending requests to the supermarket's API to retrieve the necessary information. The retrieved data is stored in a database.
[0479] Input: API Request
[0480] Output: The acquired supermarket sale information and inventory information are saved in the database.
[0481] Step 4:
[0482] User emotion recognition by an emotion engine
[0483] The user inputs their emotions using their device, or the device's camera and microphone are used to automatically acquire the user's emotional information through facial recognition technology (OpenCV) or speech analysis technology (Google Cloud Speech-to-Text API). The device sends this information to the server. The server stores the received data in a database.
[0484] Input: User sentiment information
[0485] Output: Data in JSON format is sent to the server and stored in the database.
[0486] Step 5:
[0487] Menu creation and emotion-based adjustments
[0488] The server generates an initial menu using an AI algorithm (using TensorFlow or PyTorch) based on family composition information, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby supermarkets. The server then adjusts the generated menu based on emotional information from an emotion engine. For example, if the user is stressed, the menu is adjusted to include ingredients with relaxing effects. The final generated menu information is stored in a database.
[0489] Inputs: Family composition information, dietary restrictions, refrigerator inventory data, sales information from nearby supermarkets, user sentiment information.
[0490] Output: The adjusted final menu information is saved to the database.
[0491] Step 6:
[0492] Generating a purchase list
[0493] The server generates a shopping list for any missing ingredients based on the final menu information. It also considers sales information and suggests the best places to buy them. The generated shopping list is stored in the database.
[0494] Input: Final menu information, sales information
[0495] Output: The purchase list is saved to the database.
[0496] Step 7:
[0497] Displaying Results
[0498] The terminal displays the final menu information and shopping list received from the server to the user. For example, "Today's Menu" and "Shopping List" are specifically displayed. Suggestions based on the user's emotions (e.g., chamomile tea, which is expected to have a relaxing effect) are also displayed.
[0499] Input: Final menu information and purchase list received from the server
[0500] Output: The final menu information and shopping list are displayed to the user.
[0501] (Application Example 2)
[0502] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as a "server" and the smart device 14 as a "terminal".
[0503] In preparing meals at home, there is a need to integrate individual family members' dietary restrictions, the amount of ingredients in the refrigerator, and sales information from nearby stores, while also considering the user's emotional state, to create optimal menus and shopping lists. However, current systems struggle to handle this information efficiently and comprehensively, and in particular, they do not adjust menus based on emotional information, thus failing to fully meet user needs. Furthermore, there is a lack of means to reduce food waste and alleviate the stress of meal preparation.
[0504] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for inputting family composition information and dietary restriction information, means for inputting predetermined ingredient information, means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information, means for acquiring sale information and inventory information from nearby stores, means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information, means for recognizing the user's emotional information, and means for adjusting the menu based on the emotional information. This makes it possible to handle family members' dietary restrictions, the inventory of ingredients in the refrigerator, sale information from nearby stores, and the user's emotional information in an integrated manner, enabling the suggestion of an optimal menu and adjustments based on emotions. This makes it possible to reduce food waste, alleviate stress from meal preparation, and provide meals that satisfy the whole family.
[0505] "Family composition information" refers to information such as the age, gender, and dietary preferences of each member of the household.
[0506] "Dietary restriction information" refers to information that records specific allergies or food restrictions that each family member has.
[0507] "Food information" refers to information indicating the types and quantities of food currently in the refrigerator or pantry.
[0508] "Menu" refers to the menu or combination of dishes for a meal.
[0509] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[0510] "Inventory information" refers to information that shows the current stock status of products available at nearby stores.
[0511] A "shopping list" is a list of necessary ingredients, clearly indicating which ingredients should be purchased next.
[0512] "Emotional information" refers to information about the user's current emotional state, such as excitement, fatigue, and happiness.
[0513] "Adjustment" refers to the means or process of optimizing the menu based on the user's emotional information and other conditions.
[0514] This invention is a system that streamlines meal preparation at home and proposes optimal menus and shopping lists according to the individual needs and feelings of each family member. The system consists of a server, terminals, a refrigerator, and a service that provides information on nearby stores.
[0515] Entering family composition information and dietary restriction information
[0516] The user uses a terminal to input family composition information and dietary restriction information. For example, the user might input "a family of four, with the mother being gluten-free and one child having a nut allergy." This data is then sent from the terminal to the server.
[0517] Retrieving refrigerator inventory data
[0518] The user enters information about the food items in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends the food information to the server. This data is also sent from the terminal to the server.
[0519] Obtaining sales and inventory information from nearby supermarkets
[0520] The server periodically retrieves sales and inventory information from nearby supermarkets via an API. The retrieved information is stored in a database.
[0521] User emotion recognition by an emotion engine
[0522] Users can input emotional information using a device, or emotional information can be automatically acquired through functions such as facial recognition or voice analysis. This emotional information is also transmitted from the device to the server. Emotion recognition uses common electroencephalogram (EEG) sensors, camera-equipped devices, and voice analysis software.
[0523] Menu creation and emotion-based adjustments
[0524] The server generates an initial menu based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. It then adjusts the generated menu based on emotional information from the emotion engine. For example, if the user is feeling stressed, it suggests ingredients and recipes that can help reduce stress.
[0525] Generating a purchase list
[0526] The server generates a purchase list for any missing ingredients based on the finalized menu. This list includes optimal suppliers, taking sales information into account. This information is then sent from the server to the terminal.
[0527] Displaying Results
[0528] The terminal displays the generated menu information and shopping list for the user. For example, it might look like this:
[0529] Today's menu:
[0530] Roast chicken and potatoes
[0531] Ingredients needed: Chicken, potatoes, broccoli
[0532] Gluten-free pasta with tomato sauce
[0533] Required ingredients: Gluten-free pasta, tomatoes
[0534] Purchase list:
[0535] Carrots (on sale at Super A)
[0536] Radish (currently on sale at Super B)
[0537] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[0538] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even be adjusted to suit their emotional state.
[0539] Specific example
[0540] As a concrete example, let's consider a case where a user utilizes this system when using a food delivery service.
[0541] If the user is detected as "fatigued," dishes that provide energy or menus with relaxing effects will be suggested. For example, roasted chicken and potatoes or chamomile tea may be added to the menu.
[0542] Example of a prompt:
[0543] "When using a menu suggestion application based on the user's emotional state, please suggest what dishes and ingredients would be appropriate when the user is experiencing stress."
[0544] This invention aims to reduce the stress of meal preparation and help provide meals that satisfy the whole family by suggesting the optimal meal based on the user's emotional information.
[0545] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[0546] Step 1:
[0547] The user enters family structure and dietary restriction information into the terminal. The entered data includes the age, gender, dietary preferences, and allergy information of each family member. This data is sent from the terminal to the server. A specific example of input would be, "A family of four, with the mother following a gluten-free diet and one child having a nut allergy." The server receives this data and stores it in its database.
[0548] Step 2:
[0549] The user enters information about the food currently in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends this information to the server. For example, information such as "chicken, potatoes, broccoli" is entered. The entered data is sent from the terminal to the server, and the server stores this data in a database.
[0550] Step 3:
[0551] The server periodically retrieves sales and inventory information from nearby stores using an API. Specifically, it retrieves information such as "chicken is on sale" or "carrots are in stock" from the stores' online databases. The server records this information in its database.
[0552] Step 4:
[0553] To recognize the user's emotional information, the device uses technologies such as facial recognition and voice analysis. Users can also directly input emotions such as "fatigue" or "stress." This emotional information is sent from the device to a server, which then stores the emotional state in a database. For example, a camera captures a facial image, the image is analyzed by emotion recognition software, and the results are sent to the server.
[0554] Step 5:
[0555] The server automatically generates menus based on family composition information, dietary restrictions, refrigerator contents, and nearby store sales and inventory information. Initial menu generation uses a recipe database and a generation AI model. For example, the server might suggest a gluten-free chicken dish because the mother is gluten-free. This information is retrieved from the database, and the generated menu is temporarily stored.
[0556] Step 6:
[0557] The server adjusts the menu generated based on the user's emotional information. Specifically, if the user is determined to be "tired," ingredients that help with fatigue recovery and drinks with relaxing effects (such as chamomile tea) are added to the menu. The generation AI model makes these adjustments and saves them back to the database.
[0558] Step 7:
[0559] The server generates a purchase list for any missing ingredients based on the adjusted menu. It creates a list that includes the best suppliers, taking into account sales and inventory information. For example, it might generate a list based on information such as, "Carrots are on sale at Supermarket A, and radishes are in stock at Supermarket B." This purchase list is then sent to the terminal.
[0560] Step 8:
[0561] The terminal displays the final menu information and shopping list to the user. Specifically, it displays the suggested menu for "Today's Menu," along with the necessary ingredients and a list of ingredients to purchase. For example, it might display "Roast Chicken with Potatoes and Gluten-Free Pasta in Tomato Sauce," clearly indicating the ingredients and the best place to buy them.
[0562] Through the above processing steps, users can efficiently determine the optimal menu and purchase the necessary ingredients. Data processing and communication between systems at each step are seamless, ensuring that meal preparation proceeds smoothly.
[0563] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating 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.
[0564] Data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of data generation model 58 is ChatGPT (registered trademark) (Internet search).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0565] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart device 14.
[0566] [Second Embodiment]
[0567] Figure 3 shows an example of the configuration of the data processing system 210 according to the second embodiment.
[0568] As shown in Figure 3, the data processing system 210 includes a data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0569] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0570] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication interface 44. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, and camera 42 are also connected to the bus 52.
[0571] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[0572] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[0573] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[0574] Figure 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Figure 4, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[0575] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[0576] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0577] In the smart glasses 214, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[0578] Next, the identification processing performed by the identification processing unit 290 of the data processing device 12 will be described. 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".
[0579] The system of this invention integrates the user's family structure information, dietary restriction information, information on ingredients in the refrigerator, and sales and inventory information from nearby stores to propose an optimal menu and shopping list. The following describes how to implement this system.
[0580] Entering family composition information and dietary restriction information
[0581] 1. User: Use a device such as a smartphone or tablet to enter information about family members. For example, the user might enter information such as: family composition is 4 people (father, mother, 2 children), dietary restrictions are: mother is gluten-free, and one of the children has a nut allergy.
[0582] 2. Terminal: Sends the entered family composition information and dietary restriction information to the server. This information is sent in JSON format.
[0583] Retrieving refrigerator inventory data
[0584] 1. User: Use the smartphone app to enter information about the ingredients in your refrigerator. For example, register information about ingredients such as chicken, potatoes, broccoli, and tomatoes.
[0585] 2. Terminal: Sends the entered food information to the server. If the refrigerator is a smart refrigerator, it can also automatically retrieve and send the data to the server.
[0586] Obtaining sales and inventory information from nearby supermarkets
[0587] 1. Server: Regularly retrieves sales and inventory information from nearby supermarkets and grocery stores via API. This information is stored in a database on the server.
[0588] 2. Server: Updates acquired store information as needed to maintain up-to-date information.
[0589] Menu generation
[0590] 1. Server: Generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, if a gluten-free and nut-free menu is requested, it will use the chicken, potatoes, broccoli, and tomatoes in the refrigerator to suggest dishes such as roasted chicken and potatoes or a broccoli and tomato salad.
[0591] 2. Server: Saves the generated menu to the database.
[0592] Generating a purchase list
[0593] 1. Server: Based on the generated menu, it identifies any missing ingredients and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, it adds carrots to the purchase list.
[0594] 2. Server: Identify stores where the necessary ingredients are on sale and add that information to the shopping list.
[0595] Displaying Results
[0596] 1. Server: Sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal.
[0597] 2. Terminal: Displays menu information and a shopping list to the user. For example, it will be displayed as follows:
[0598] Today's menu:
[0599] Roast chicken and potatoes
[0600] Ingredients needed: Chicken, potatoes, broccoli
[0601] Gluten-free pasta with tomato sauce
[0602] Required ingredients: Gluten-free pasta, tomatoes
[0603] Purchase list:
[0604] Carrots (on sale at Super A)
[0605] Radish (currently on sale at Super B)
[0606] In this way, users can receive menus tailored to their family's preferences and dietary restrictions in real time, and purchase ingredients efficiently. This invention contributes to reducing food waste and saving on food expenses.
[0607] The following describes the processing flow.
[0608] Step 1:
[0609] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information such as a family of four (father, mother, and two children), and dietary restrictions such as the mother being gluten-free and one of the children having a nut allergy.
[0610] Step 2:
[0611] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[0612] json
[0613] {
[0614] "family": [
[0615] {"role": "father", "preferences": []},
[0616] {"role": "mother", "preferences": ["gluten_free"]},
[0617] {"role": "child1", "preferences": ["nut_allergy"]},
[0618] {"role": "child2", "preferences": []}
[0619] ]
[0620] }
[0621] Step 3:
[0622] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[0623] Step 4:
[0624] Terminal: Sends the entered ingredient information to the server in JSON format.
[0625] json
[0626] {
[0627] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[0628] }
[0629] Step 5:
[0630] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[0631] http
[0632] GET / api / supermarket / nearby-deals
[0633] Step 6:
[0634] Server: Stores acquired sales and inventory information in the database.
[0635] json
[0636] {
[0637] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[0638] }
[0639] Step 7:
[0640] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "roast chicken and potatoes" and "gluten-free pasta with tomato sauce."
[0641] json
[0642] {
[0643] "menu": [
[0644] {
[0645] "name": "Roasted Chicken with Potato",
[0646] "ingredients": ["chicken", "potato", "broccoli"]
[0647] },
[0648] {
[0649] "name": "Gluten Free Pasta with Tomato Sauce",
[0650] "ingredients": ["gluten_free_pasta", "tomato"]
[0651] }
[0652] ]
[0653] }
[0654] Step 8:
[0655] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[0656] json
[0657] {
[0658] "shopping_list": ["carrot", "daikon"]
[0659] }
[0660] Step 9:
[0661] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[0662] json
[0663] {
[0664] "shopping_list": [
[0665] {"item": "carrot", "store": "Supermarket A"},
[0666] {"item": "daikon", "store": "Supermarket B"}
[0667] ]
[0668] }
[0669] Step 10:
[0670] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[0671] Step 11:
[0672] Terminal: Displays menu information and a shopping list to the user. For example, it will display as follows:
[0673] Today's menu:
[0674] Roast chicken and potatoes
[0675] Ingredients needed: Chicken, potatoes, broccoli
[0676] Gluten-free pasta with tomato sauce
[0677] Required ingredients: Gluten-free pasta, tomatoes
[0678] Purchase list:
[0679] Carrots (on sale at Super A)
[0680] Radish (currently on sale at Super B)
[0681] Through these steps, users can receive menus tailored to their family's preferences and restrictions in real time, and efficiently purchase the necessary ingredients.
[0682] (Example 1)
[0683] Next, we will describe Example 1. 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."
[0684] Traditional systems required users to manually manage family composition and dietary restrictions, and then create menus and shopping lists based on that information. This made efficient food use and waste reduction difficult, especially for families with multiple dietary restrictions. Furthermore, generating optimal shopping lists that reflected sales and inventory information from nearby stores was not easy. As a result, food waste and increased food costs became significant problems.
[0685] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[0686] In this invention, the server includes means for the user to input family composition information and dietary restriction information, means for the user to input predetermined ingredient information, means for the terminal to transmit the family composition information, the dietary restriction information, and the ingredient information to the server, means for the server to generate a menu based on the information, means for the server to obtain sale information and inventory information from nearby stores, and means for the server to generate a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information. This makes it possible for the user to efficiently use ingredients, reduce waste, and easily generate an optimal purchase list while taking into account family composition and dietary restrictions.
[0687] A "user" is the entity that inputs family structure information, dietary restriction information, and ingredient information into the system.
[0688] A "terminal" is a device used to transmit information entered by a user to a server, and includes smartphones and tablets.
[0689] A "server" is a computer system that analyzes and processes information sent by users and information obtained from external APIs to generate optimal menus and shopping lists.
[0690] "Family structure information" refers to information that describes the number of family members and their relationships. For example, it includes the number of family members, their ages, and their roles (father, mother, child, etc.).
[0691] "Dietary restriction information" refers to information indicating the special dietary restrictions of each family member. For example, this may include restrictions such as gluten-free diets or nut allergies.
[0692] "Food information" refers to information indicating the types and quantities of food items found in the refrigerator or other storage locations.
[0693] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[0694] "Inventory information" refers to information that shows the current inventory status of food and ingredients at nearby stores.
[0695] A "menu" is a meal plan created based on family composition information, dietary restrictions, and ingredient information, and includes a specific menu of dishes.
[0696] A "purchase list" is a list of missing or necessary ingredients based on the generated menu, and also includes information on the best places to buy them and discounts.
[0697] A "generative AI model" is an artificial intelligence model that learns from vast amounts of data and is used to generate optimal menus and shopping lists based on user input and information obtained from external sources.
[0698] The system of this invention integrates user information such as family composition, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby stores to suggest an optimal menu and shopping list. The following describes how to implement this system.
[0699] Entering family composition information and dietary restriction information
[0700] 1. The user uses a smartphone or tablet to enter information about family members and dietary restrictions. For example, the family consists of four people (father, mother, and two children), and the dietary restrictions include the mother being gluten-free and one of the children having a nut allergy.
[0701] 2. The terminal sends the entered family structure information and dietary restriction information to the server. The information is sent in JSON format, and the server parses it and stores it in the database.
[0702] Retrieving refrigerator inventory data
[0703] 1. The user uses a smartphone app to enter information about the ingredients in their refrigerator. For example, they might register information about chicken, potatoes, broccoli, and tomatoes.
[0704] 2. The terminal sends the entered food information to the server. If a smart refrigerator is being used, it is also possible to automatically retrieve and send the data.
[0705] Obtaining sales and inventory information from nearby supermarkets
[0706] 1. The server accesses APIs of nearby supermarkets and grocery stores at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. The retrieved data is parsed in JSON format and stored in a database on the server.
[0707] 2. The server will update the acquired information as it is received to maintain the most up-to-date information.
[0708] Menu generation
[0709] 1. The server uses a generative AI model to generate optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest gluten-free and nut-free menus using chicken, potatoes, broccoli, and tomatoes that are already in the refrigerator.
[0710] 2. The server saves the generated menu information to a database, allowing users to reuse it.
[0711] Generating a purchase list
[0712] 1. The server identifies any missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, carrots will be added to the purchase list.
[0713] 2. When generating a shopping list, the server identifies stores where the necessary ingredients are on sale and includes that information in the list.
[0714] Displaying Results
[0715] 1. The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent in JSON format.
[0716] 2. The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display the dish name and required ingredients as "Today's Menu," with a shopping list and sale information displayed below it.
[0717] Examples of specific cases and prompt statements
[0718] Specific example:
[0719] Family composition information entered by the user:
[0720] Members: Father, mother, 2 children
[0721] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[0722] Information about the ingredients in the refrigerator:
[0723] Ingredients: Chicken, potatoes, broccoli, tomatoes
[0724] Sales information retrieved by the server:
[0725] Carrots are 20% off at Super A.
[0726] Daikon radish is 10% off at Super B.
[0727] Examples of prompts for a generative AI model:
[0728] The user's family structure information is as follows:
[0729] A family of four (father, mother, and two children)
[0730] My mother is gluten-free
[0731] One of the children has a nut allergy.
[0732] The following items are in the refrigerator:
[0733] Chicken, potatoes, broccoli, tomatoes
[0734] Here is the sale information for nearby supermarkets:
[0735] Carrots are 20% off at Super A.
[0736] Daikon radish is 10% off at Super B.
[0737] Based on this information, please generate an optimal menu and shopping list.
[0738] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[0739] The flow of the specific processing in Example 1 will be explained using Figure 11.
[0740] Step 1:
[0741] Users enter family member information and dietary restrictions using devices such as smartphones and tablets. Specifically, they select family composition such as "father," "mother," and "two children" in the app's input form, and specify special dietary restrictions such as "gluten-free" for the mother or "nut allergy" for the children using checkboxes or dropdown menus. The input data is converted into JSON format.
[0742] Step 2:
[0743] The terminal converts the family structure and dietary restriction information entered by the user into JSON format and sends it to the server using the HTTPS protocol. At this time, the input data is validated for integrity and format to prevent the transmission of invalid data. The server analyzes the received data and stores it in a database.
[0744] Step 3:
[0745] Users manually enter information about the ingredients in their refrigerator using a smartphone app. For example, the app's interface has fields for entering the names and quantities of ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes." Users enter the information and press the register button. This converts the ingredient information into JSON format.
[0746] Step 4:
[0747] The terminal converts the entered food information into JSON format and sends it to the server. If a smart refrigerator is used, the refrigerator itself detects food information in real time and automatically sends it to the server. This information is stored in a database.
[0748] Step 5:
[0749] The server accesses the APIs of nearby supermarkets at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. For example, it sends an HTTP request and parses the data returned in JSON format. The retrieved data includes detailed information such as product name, price, sale period, and inventory quantity. This information is stored in a database.
[0750] Step 6:
[0751] The server regularly updates acquired sales and inventory information. To maintain the latest information, it also performs duplicate data removal and archives historical data.
[0752] Step 7:
[0753] The server combines family composition information, dietary restriction information, refrigerator inventory data, and sales information from nearby stores stored in the database, and uses a generative AI model to generate the optimal menu. Specifically, the generative AI model analyzes the user's conditions and combinations of ingredients to suggest the best menu. For example, based on ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes," a gluten-free and nut-free menu may be suggested.
[0754] Step 8:
[0755] The server stores the generated menu information in a database. Each menu includes details such as the necessary ingredients and their quantities, and cooking methods.
[0756] Step 9:
[0757] The server identifies missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires "carrots" and there are none in the refrigerator, "carrots" will be added to the purchase list. In this process, the database is searched to identify the missing ingredients.
[0758] Step 10:
[0759] When generating a shopping list, the server searches for which supermarkets are having sales on the necessary ingredients and creates the most economical shopping plan based on the sale information. This helps reduce food waste and lower costs.
[0760] Step 11:
[0761] The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent from the server to the terminal in JSON format.
[0762] Step 12:
[0763] The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display "Today's Menu" such as "Roast Chicken and Potatoes" or "Gluten-Free Pasta with Tomato Sauce," with the necessary ingredients and a shopping list displayed below.
[0764] Specific example
[0765] Family composition information entered by the user:
[0766] Members: Father, mother, 2 children
[0767] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[0768] Information about the ingredients in the refrigerator:
[0769] Ingredients: Chicken, potatoes, broccoli, tomatoes
[0770] Sales information retrieved by the server:
[0771] Carrots are 20% off at Super A.
[0772] Daikon radish is 10% off at Super B.
[0773] Examples of prompts for a generative AI model:
[0774] The user's family structure information is as follows:
[0775] A family of four (father, mother, and two children)
[0776] My mother is gluten-free
[0777] One of the children has a nut allergy.
[0778] The following items are in the refrigerator:
[0779] Chicken, potatoes, broccoli, tomatoes
[0780] Here is the sale information for nearby supermarkets:
[0781] Carrots are 20% off at Super A.
[0782] Daikon radish is 10% off at Super B.
[0783] Based on this information, please generate an optimal menu and shopping list.
[0784] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[0785] (Application Example 1)
[0786] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[0787] In recent years, dietary demands have diversified, and daily meal preparation has become even more complex, especially for families with dietary restrictions. Furthermore, daily meal-related tasks such as managing ingredients in the refrigerator and checking sales information are extremely time-consuming. While food delivery services are becoming more widespread, ordering menus and ingredients tailored to individual households is often cumbersome. Therefore, there is a need for a system that enables efficient and personalized meal management and ordering.
[0788] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[0789] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; and means for ordering missing ingredients and dishes from a food delivery service based on the purchase list. This enables optimized menus and efficient ordering while accommodating the dietary restrictions of household members.
[0790] "Family composition information" refers to the composition of the user's household members, as well as information such as the characteristics of each member and their dietary restrictions.
[0791] "Dietary restriction information" refers to dietary restrictions specific to individual family members, such as the need to avoid certain foods or ingredients.
[0792] "Food information" refers to information indicating the types and quantities of food stored in the refrigerator and kitchen.
[0793] "Means for generating menus" refers to algorithms or software that propose optimal meal menus based on the aforementioned family composition information, dietary restriction information, and ingredient information.
[0794] "Sale information" refers to special offers and discounts being offered at nearby stores.
[0795] "Inventory information" refers to the current stock status of products sold at nearby stores.
[0796] "Methods for generating a purchase list" refers to algorithms or software that list missing or necessary ingredients based on the generated menu and store information.
[0797] "Methods of ordering from food delivery services" refers to algorithms and software used to order necessary ingredients and dishes online through food delivery services.
[0798] A "terminal" refers to a device such as a smartphone, tablet, or computer that a user uses to input information or view suggested menus or shopping lists.
[0799] The "Perfect Food" app is a system designed to help users efficiently manage their daily meals. This system integrates family composition information, dietary restrictions, refrigerator contents, and menu information from nearby food delivery services, and then suggests optimal meal plans and shopping lists based on this information.
[0800] Hardware and software to be used
[0801] Hardware: Smartphones, servers
[0802] Software: JSON parser, database (MySQL, etc.), API request module, menu generation algorithm (Python, etc.)
[0803] Data processing: Integration of user information, data retrieval from APIs, analysis of vast amounts of menu information.
[0804] Enter and submit user information
[0805] Users use the smartphone app "Perfect Food" to input family composition information and dietary restrictions. This information is sent to the server in JSON format. For example, family composition information might include "Family of 4 (father, mother, 2 children)," and dietary restrictions might include "Mother is gluten-free, one child has a nut allergy."
[0806] Retrieving refrigerator inventory data
[0807] Users enter information about the ingredients in their refrigerator into the app. Furthermore, if a smart refrigerator is installed, inventory data can be automatically retrieved and sent to the server. For example, "chicken, potatoes, broccoli, tomatoes" might be registered.
[0808] Obtaining nearby delivery menu information
[0809] The server periodically retrieves menu information from nearby food delivery services via an API, stores it in a database, and updates it. This retrieved information is stored in a server-based database and updated in real time.
[0810] Menu generation
[0811] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and nearby delivery menu information. For example, if a menu is requested that accommodates "gluten-free" and "nut allergies," the generated menu suggestions might include "roasted chicken and potatoes" and "tomato and broccoli salad."
[0812] Purchase list / Order list generation
[0813] The server lists any missing ingredients or dishes based on the generated menu. Furthermore, it generates a list of items to order from a food delivery service based on that list. For example, if the menu requires "gluten-free pasta" and there is none in the refrigerator, it adds it to the shopping list and makes it available for order from a food delivery service.
[0814] Suggestions for users
[0815] The server sends the generated menu information, purchase list, and order list to the user's smartphone. For example, it will be displayed as follows:
[0816] Today's menu:
[0817] Roasted chicken and potatoes
[0818] Ingredients needed: Chicken, potatoes, broccoli
[0819] Gluten-free pasta with tomato sauce
[0820] Required ingredients: Gluten-free pasta, tomatoes
[0821] Purchase list:
[0822] Gluten-free pasta (available for order through delivery service A)
[0823] Example of a prompt
[0824] An example of an input prompt for a generative AI model is as follows:
[0825] Family composition information:
[0826] Member 1: Mother, gluten-free
[0827] Member 2: Child, nut allergy
[0828] Refrigerator inventory:
[0829] Chicken, 500g
[0830] Tomatoes, 3
[0831] Local food delivery menu:
[0832] Delivery service A: Gluten-free pasta, salad
[0833] Suggested menu and additional orders:
[0834] As described above, the "Perfect Food" app is a system that streamlines household meal management and caters to individual needs. This invention significantly streamlines daily meal preparation by allowing users to receive optimal menu suggestions and easily order missing ingredients or dishes.
[0835] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[0836] Step 1:
[0837] Users input family composition and dietary restriction information using the smartphone app "Perfect Food." The entered information is sent to the server in JSON format. This input data includes characteristics and dietary restrictions of each family member. The server analyzes the received information and stores it in a database.
[0838] Input: Family composition information, dietary restriction information
[0839] Output: The analyzed information is stored in the database.
[0840] Step 2:
[0841] The user enters information about the contents of their refrigerator into a smartphone app. If a smart refrigerator is present, it automatically retrieves inventory data and sends it to the server. The entered and retrieved data are sent to the server in JSON format. The server parses the data and stores it in a database.
[0842] Input: Ingredient information
[0843] Output: The analyzed data is saved to the database.
[0844] Step 3:
[0845] The server periodically retrieves menu information, sales information, and inventory information from nearby stores and food delivery services via APIs. The retrieved information is stored in a server-based database and updated in real time.
[0846] Input: Menu information, sales information, and inventory information for stores and food delivery services.
[0847] Output: The retrieved information is saved and updated in the database.
[0848] Step 4:
[0849] The server generates the optimal menu based on family composition information, dietary restrictions, refrigerator inventory information, and nearby delivery menu information. This is done using a menu generation algorithm, sometimes employing AI models. The generated menu is stored in a database.
[0850] Input: Family composition information, dietary restrictions, refrigerator inventory information, delivery menu information
[0851] Output: An optimal menu is generated and saved to the database.
[0852] Step 5:
[0853] The server lists any missing ingredients or dishes based on the generated menu. The generated purchase list is then cross-referenced with the menu information of the food delivery service to create an order list.
[0854] Input: Generated menu
[0855] Output: A purchase list and an order list are generated.
[0856] Step 6:
[0857] The server sends the generated menu information, shopping list, and order list to the user's smartphone. The user can then view the menu information, shopping list, and delivery service order list through the app.
[0858] Input: Generated menu information, purchase list, and order list
[0859] Output: Information is sent to the user's smartphone.
[0860] As a concrete example of how it works, the user enters information such as "gluten-free" and "nut allergy" into the app. They also register their refrigerator inventory, such as "chicken, potatoes, tomatoes." The system then retrieves information on nearby food delivery services via API and suggests the most suitable menu. For example, a "gluten-free chicken and tomato dish" might be suggested, and the necessary ingredients are automatically added to the shopping list.
[0861] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[0862] This invention is a system designed to streamline meal preparation at home and cater to the individual needs of family members, particularly by recognizing the user's emotions and adjusting menus and shopping lists accordingly. The system integrates family composition information, dietary restrictions, refrigerator contents, nearby store sales information, and inventory information to propose optimal menus and shopping lists.
[0863] Entering family composition information and dietary restriction information
[0864] 1. User: Enter family composition information and dietary restrictions on the device. For example, enter information such as a family of four where the mother is gluten-free and one child has a nut allergy.
[0865] 2. Terminal: Sends the entered data to the server.
[0866] Retrieving refrigerator inventory data
[0867] 1. User: Enter information about the food items in the refrigerator into the terminal. If using a smart refrigerator, the refrigerator will automatically send the data to the server.
[0868] 2. Terminal: Sends the entered ingredient information to the server.
[0869] Obtaining sales and inventory information from nearby supermarkets
[0870] 1. Server: Periodically retrieves sales and inventory information from nearby supermarkets via API.
[0871] 2. Server: Stores the retrieved information in the database.
[0872] User emotion recognition by an emotion engine
[0873] 1. Device: The user inputs emotions using a device, or emotions are automatically acquired using facial recognition, voice analysis, etc. (e.g., fatigue, stress, happiness).
[0874] 2. Terminal: Sends the acquired emotion information to the server.
[0875] Menu creation and emotion-based adjustments
[0876] 1. Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores.
[0877] 2. Server: Based on emotional information from the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, the server suggests ingredients and recipes that have a stress-reducing effect.
[0878] Generating a purchase list
[0879] 1. Server: Based on the final menu, it generates a purchase list for any missing ingredients. It also takes sales information into consideration and suggests the best place to buy them.
[0880] 2. Server: Sends the purchase list to the terminal.
[0881] Displaying Results
[0882] 1. Terminal: Displays the generated menu information and purchase list for the user. For example, it will be displayed as follows:
[0883] Today's menu:
[0884] Roast chicken and potatoes
[0885] Ingredients needed: Chicken, potatoes, broccoli
[0886] Gluten-free pasta with tomato sauce
[0887] Required ingredients: Gluten-free pasta, tomatoes
[0888] Purchase list:
[0889] Carrots (on sale at Super A)
[0890] Radish (currently on sale at Super B)
[0891] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[0892] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even adjust them to their emotional state. This reduces the stress of meal preparation and makes it possible to provide meals that satisfy the whole family. This invention also contributes to reducing food waste and saving on food costs.
[0893] The following describes the processing flow.
[0894] Step 1:
[0895] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information that there are four family members, the mother is gluten-free, and one of the children has a nut allergy.
[0896] Step 2:
[0897] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[0898] json
[0899] {
[0900] "family": [
[0901] {"role": "father", "preferences": []},
[0902] {"role": "mother", "preferences": ["gluten_free"]},
[0903] {"role": "child1", "preferences": ["nut_allergy"]},
[0904] {"role": "child2", "preferences": []}
[0905] ]
[0906] }
[0907] Step 3:
[0908] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[0909] Step 4:
[0910] Terminal: Sends the entered ingredient information to the server in JSON format.
[0911] json
[0912] {
[0913] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[0914] }
[0915] Step 5:
[0916] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[0917] http
[0918] GET / api / supermarket / nearby-deals
[0919] Step 6:
[0920] Server: Stores acquired sales and inventory information in the database.
[0921] json
[0922] {
[0923] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[0924] }
[0925] Step 7:
[0926] User: Emotions can be entered via the device, or automatically acquired using facial recognition or voice analysis (e.g., fatigue, stress, happiness).
[0927] Step 8:
[0928] Terminal: Sends the acquired emotion information to the server in JSON format.
[0929] json
[0930] {
[0931] "emotion": "stress"
[0932] }
[0933] Step 9:
[0934] Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "Roast Chicken and Potatoes" and "Gluten-Free Pasta with Tomato Sauce."
[0935] json
[0936] {
[0937] "menu": [
[0938] {
[0939] "name": "Roasted Chicken with Potato",
[0940] "ingredients": ["chicken", "potato", "broccoli"]
[0941] },
[0942] {
[0943] "name": "Gluten Free Pasta with Tomato Sauce",
[0944] "ingredients": ["gluten_free_pasta", "tomato"]
[0945] }
[0946] ]
[0947] }
[0948] Step 10:
[0949] Server: Based on emotional information obtained by the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, it suggests ingredients that have stress-reducing effects (e.g., chamomile tea).
[0950] Step 11:
[0951] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[0952] json
[0953] {
[0954] "shopping_list": ["carrot", "daikon"]
[0955] }
[0956] Step 12:
[0957] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[0958] json
[0959] {
[0960] "shopping_list": [
[0961] {"item": "carrot", "store": "Supermarket A"},
[0962] {"item": "daikon", "store": "Supermarket B"}
[0963] ]
[0964] }
[0965] Step 13:
[0966] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[0967] Step 14:
[0968] Terminal: Displays menu information and a shopping list to the user. For example, it may look like this:
[0969] Today's menu:
[0970] Roast chicken and potatoes
[0971] Ingredients needed: Chicken, potatoes, broccoli
[0972] Gluten-free pasta with tomato sauce
[0973] Required ingredients: Gluten-free pasta, tomatoes
[0974] Purchase list:
[0975] Carrots (on sale at Super A)
[0976] Radish (currently on sale at Super B)
[0977] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[0978] Through these steps, users receive menus tailored to their family's preferences and constraints in real time, and are offered meals adjusted based on their emotional state, enabling efficient and satisfying grocery shopping and cooking.
[0979] (Example 2)
[0980] Next, we will describe Example 2. 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".
[0981] Traditional home meal preparation systems struggled to consider individual family members' dietary restrictions and preferences, and to integrate information from nearby stores to suggest optimal menus and shopping lists. Furthermore, they failed to adjust menus to reflect the user's emotional state. As a result, problems such as food waste and increased stress from meal preparation arose.
[0982] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[0983] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; means for obtaining user emotional information; and means for adjusting the menu based on the emotional information. This makes it possible to automatically generate an optimal menu and purchase list that takes into account the user's emotional state while adapting to the family's preferences and dietary restrictions.
[0984] "Family structure information" refers to attribute information of each member of the household, including age, gender, health status, and preferences.
[0985] "Dietary restriction information" refers to each member's dietary restrictions, including allergies, religious restrictions, and health considerations.
[0986] "Specified food information" refers to information about food currently stored in the refrigerator or pantry, including type, quantity, and expiration date.
[0987] "Method for generating menus" refers to the process of determining proposed meal menus based on family composition information, dietary restriction information, and specified ingredient information.
[0988] "Sale information" refers to information about special prices offered at nearby stores, including discounts and promotions.
[0989] "Inventory information" refers to the current stock status of products at nearby stores.
[0990] "Methods for generating a shopping list" refers to the process of creating a list of missing ingredients based on menus and store sales and inventory information.
[0991] "User emotional information" refers to information that indicates the user's current emotional state, including states such as stress, happiness, and fatigue.
[0992] "Methods for adjusting menus based on emotional information" refers to the process of appropriately modifying suggested menus based on the emotional information of the user that has been acquired.
[0993] "Means of communicating with home appliances" refers to the communication functions of home appliances such as smart refrigerators, and includes methods for automatically acquiring food information.
[0994] "Means of sending to the user's device" refers to the process of sending the generated menu and shopping list to the user's individual device (smartphone, tablet, etc.).
[0995] This invention is a system that integrates family composition information, dietary restriction information, information on ingredients in the refrigerator, sales information and inventory information from nearby stores, and proposes an optimal menu and shopping list based on the user's emotional state. The aim of this system is to generate menus that not only take into account family preferences and dietary restrictions, but also reflect the user's emotional state.
[0996] Hardware and software to be used
[0997] Devices: Smartphones, tablets, PCs, etc. This allows users to input information such as family composition, dietary restrictions, and the contents of their refrigerator.
[0998] Server: Cloud servers are used for data processing and storage. MySQL and PostgreSQL are used for the database, and TensorFlow and PyTorch are used for the AI algorithms.
[0999] Home appliances: This includes home appliances that automatically acquire food information, such as smart refrigerators.
[1000] API: We use store APIs (for example, Google Maps API or individual supermarket APIs) to retrieve sales information and inventory information from nearby stores.
[1001] Emotion recognition technology: We use OpenCV and the Google Cloud Speech-to-Text API to obtain user emotion information.
[1002] The specific processing flow of the system
[1003] The user enters family information (e.g., family of four, father has a nut allergy, mother is gluten-free) and dietary restrictions into the device. Next, the device retrieves information about the ingredients in the refrigerator, either manually or via a smart refrigerator, and sends this data to the server. The server periodically retrieves sale and inventory information from nearby supermarkets via an API and stores it in a database.
[1004] Furthermore, the device acquires user emotional information (e.g., stress levels, fatigue) using facial recognition and voice analysis technologies and sends it to the server. The server integrates family composition information, dietary restrictions, ingredients in the refrigerator, sales information from nearby supermarkets, inventory information, and the user's emotional information, and uses an AI algorithm to generate an optimal menu. Subsequently, based on the emotional information, the menu is adjusted to create a final menu and shopping list tailored to the user. The created menu and shopping list are sent to the device and displayed to the user.
[1005] Specific example
[1006] For example, input the following prompt into the generating AI model:
[1007] "We are a family of four; the mother is gluten-free, and one of the children has a nut allergy. Could you please suggest tonight's menu and a shopping list? Also, I'm feeling a bit tired right now, so please suggest any ingredients or recipes that have a relaxing effect."
[1008] This allows the user to receive menus and shopping lists tailored to their conditions and emotional state. For example, "roast chicken and potatoes" or "gluten-free pasta with tomato sauce" might be suggested, and chamomile tea, which is expected to have a relaxing effect, might also be recommended.
[1009] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1010] Step 1:
[1011] Entering family composition information and dietary restriction information
[1012] The user enters family composition information and dietary restriction information into a device such as a smartphone. For example, the user might enter information such as a family of four where the father has a nut allergy and the mother follows a gluten-free diet. The device converts this input data into JSON format and sends it to the server using a REST API. The server stores the received data in a database.
[1013] Input: Family composition information and dietary restriction information
[1014] Output: Data in JSON format is sent to the server and stored in the database.
[1015] Step 2:
[1016] Retrieving refrigerator inventory data
[1017] The user can manually enter information about the food items inside the refrigerator into a terminal, or the smart refrigerator can automatically obtain this information using RFID tags or a barcode scanner. The terminal sends this data to a server, which stores the received data in a database.
[1018] Input: Information about the ingredients in the refrigerator
[1019] Output: Data in JSON format is sent to the server and stored in the database.
[1020] Step 3:
[1021] Obtaining sales and inventory information from nearby supermarkets.
[1022] The server uses an API to periodically retrieve sales and inventory information from nearby supermarkets. For example, a scheduler runs at specific time intervals, sending requests to the supermarket's API to retrieve the necessary information. The retrieved data is stored in a database.
[1023] Input: API Request
[1024] Output: The acquired supermarket sale information and inventory information are saved in the database.
[1025] Step 4:
[1026] User emotion recognition by an emotion engine
[1027] The user inputs their emotions using their device, or the device's camera and microphone are used to automatically acquire the user's emotional information through facial recognition technology (OpenCV) or speech analysis technology (Google Cloud Speech-to-Text API). The device sends this information to the server. The server stores the received data in a database.
[1028] Input: User sentiment information
[1029] Output: Data in JSON format is sent to the server and stored in the database.
[1030] Step 5:
[1031] Menu creation and emotion-based adjustments
[1032] The server generates an initial menu using an AI algorithm (using TensorFlow or PyTorch) based on family composition information, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby supermarkets. The server then adjusts the generated menu based on emotional information from an emotion engine. For example, if the user is stressed, the menu is adjusted to include ingredients with relaxing effects. The final generated menu information is stored in a database.
[1033] Inputs: Family composition information, dietary restrictions, refrigerator inventory data, sales information from nearby supermarkets, user sentiment information.
[1034] Output: The adjusted final menu information is saved to the database.
[1035] Step 6:
[1036] Generating a purchase list
[1037] The server generates a shopping list for any missing ingredients based on the final menu information. It also considers sales information and suggests the best places to buy them. The generated shopping list is stored in the database.
[1038] Input: Final menu information, sales information
[1039] Output: The purchase list is saved to the database.
[1040] Step 7:
[1041] Displaying Results
[1042] The terminal displays the final menu information and shopping list received from the server to the user. For example, "Today's Menu" and "Shopping List" are specifically displayed. Suggestions based on the user's emotions (e.g., chamomile tea, which is expected to have a relaxing effect) are also displayed.
[1043] Input: Final menu information and purchase list received from the server
[1044] Output: The final menu information and shopping list are displayed to the user.
[1045] (Application Example 2)
[1046] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server," and the smart glasses 214 will be referred to as the "terminal."
[1047] In preparing meals at home, there is a need to integrate individual family members' dietary restrictions, the amount of ingredients in the refrigerator, and sales information from nearby stores, while also considering the user's emotional state, to create optimal menus and shopping lists. However, current systems struggle to handle this information efficiently and comprehensively, and in particular, they do not adjust menus based on emotional information, thus failing to fully meet user needs. Furthermore, there is a lack of means to reduce food waste and alleviate the stress of meal preparation.
[1048] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for inputting family composition information and dietary restriction information, means for inputting predetermined ingredient information, means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information, means for acquiring sale information and inventory information from nearby stores, means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information, means for recognizing the user's emotional information, and means for adjusting the menu based on the emotional information. This makes it possible to handle family members' dietary restrictions, the inventory of ingredients in the refrigerator, sale information from nearby stores, and the user's emotional information in an integrated manner, enabling the suggestion of an optimal menu and adjustments based on emotions. This makes it possible to reduce food waste, alleviate stress from meal preparation, and provide meals that satisfy the whole family.
[1049] "Family composition information" refers to information such as the age, gender, and dietary preferences of each member of the household.
[1050] "Dietary restriction information" refers to information that records specific allergies or food restrictions that each family member has.
[1051] "Food information" refers to information indicating the types and quantities of food currently in the refrigerator or pantry.
[1052] "Menu" refers to the menu or combination of dishes for a meal.
[1053] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[1054] "Inventory information" refers to information that shows the current stock status of products available at nearby stores.
[1055] A "shopping list" is a list of necessary ingredients, clearly indicating which ingredients should be purchased next.
[1056] "Emotional information" refers to information about the user's current emotional state, such as excitement, fatigue, and happiness.
[1057] "Adjustment" refers to the means or process of optimizing the menu based on the user's emotional information and other conditions.
[1058] This invention is a system that streamlines meal preparation at home and proposes optimal menus and shopping lists according to the individual needs and feelings of each family member. The system consists of a server, terminals, a refrigerator, and a service that provides information on nearby stores.
[1059] Entering family composition information and dietary restriction information
[1060] The user uses a terminal to input family composition information and dietary restriction information. For example, the user might input "a family of four, with the mother being gluten-free and one child having a nut allergy." This data is then sent from the terminal to the server.
[1061] Retrieving refrigerator inventory data
[1062] The user enters information about the food items in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends the food information to the server. This data is also sent from the terminal to the server.
[1063] Obtaining sales and inventory information from nearby supermarkets
[1064] The server periodically retrieves sales and inventory information from nearby supermarkets via an API. The retrieved information is stored in a database.
[1065] User emotion recognition by an emotion engine
[1066] Users can input emotional information using a device, or emotional information can be automatically acquired through functions such as facial recognition or voice analysis. This emotional information is also transmitted from the device to the server. Emotion recognition uses common electroencephalogram (EEG) sensors, camera-equipped devices, and voice analysis software.
[1067] Menu creation and emotion-based adjustments
[1068] The server generates an initial menu based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. It then adjusts the generated menu based on emotional information from the emotion engine. For example, if the user is feeling stressed, it suggests ingredients and recipes that can help reduce stress.
[1069] Generating a purchase list
[1070] The server generates a purchase list for any missing ingredients based on the finalized menu. This list includes optimal suppliers, taking sales information into account. This information is then sent from the server to the terminal.
[1071] Displaying Results
[1072] The terminal displays the generated menu information and shopping list for the user. For example, it might look like this:
[1073] Today's menu:
[1074] Roast chicken and potatoes
[1075] Ingredients needed: Chicken, potatoes, broccoli
[1076] Gluten-free pasta with tomato sauce
[1077] Required ingredients: Gluten-free pasta, tomatoes
[1078] Purchase list:
[1079] Carrots (on sale at Super A)
[1080] Radish (currently on sale at Super B)
[1081] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[1082] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even be adjusted to suit their emotional state.
[1083] Specific example
[1084] As a concrete example, let's consider a case where a user utilizes this system when using a food delivery service.
[1085] If the user is detected as "fatigued," dishes that provide energy or menus with relaxing effects will be suggested. For example, roasted chicken and potatoes or chamomile tea may be added to the menu.
[1086] Example of a prompt:
[1087] "When using a menu suggestion application based on the user's emotional state, please suggest what dishes and ingredients would be appropriate when the user is experiencing stress."
[1088] This invention aims to reduce the stress of meal preparation and help provide meals that satisfy the whole family by suggesting the optimal meal based on the user's emotional information.
[1089] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1090] Step 1:
[1091] The user enters family structure and dietary restriction information into the terminal. The entered data includes the age, gender, dietary preferences, and allergy information of each family member. This data is sent from the terminal to the server. A specific example of input would be, "A family of four, with the mother following a gluten-free diet and one child having a nut allergy." The server receives this data and stores it in its database.
[1092] Step 2:
[1093] The user enters information about the food currently in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends this information to the server. For example, information such as "chicken, potatoes, broccoli" is entered. The entered data is sent from the terminal to the server, and the server stores this data in a database.
[1094] Step 3:
[1095] The server periodically retrieves sales and inventory information from nearby stores using an API. Specifically, it retrieves information such as "chicken is on sale" or "carrots are in stock" from the stores' online databases. The server records this information in its database.
[1096] Step 4:
[1097] To recognize the user's emotional information, the device uses technologies such as facial recognition and voice analysis. Users can also directly input emotions such as "fatigue" or "stress." This emotional information is sent from the device to a server, which then stores the emotional state in a database. For example, a camera captures a facial image, the image is analyzed by emotion recognition software, and the results are sent to the server.
[1098] Step 5:
[1099] The server automatically generates menus based on family composition information, dietary restrictions, refrigerator contents, and nearby store sales and inventory information. Initial menu generation uses a recipe database and a generation AI model. For example, the server might suggest a gluten-free chicken dish because the mother is gluten-free. This information is retrieved from the database, and the generated menu is temporarily stored.
[1100] Step 6:
[1101] The server adjusts the menu generated based on the user's emotional information. Specifically, if the user is determined to be "tired," ingredients that help with fatigue recovery and drinks with relaxing effects (such as chamomile tea) are added to the menu. The generation AI model makes these adjustments and saves them back to the database.
[1102] Step 7:
[1103] The server generates a purchase list for any missing ingredients based on the adjusted menu. It creates a list that includes the best suppliers, taking into account sales and inventory information. For example, it might generate a list based on information such as, "Carrots are on sale at Supermarket A, and radishes are in stock at Supermarket B." This purchase list is then sent to the terminal.
[1104] Step 8:
[1105] The terminal displays the final menu information and shopping list to the user. Specifically, it displays the suggested menu for "Today's Menu," along with the necessary ingredients and a list of ingredients to purchase. For example, it might display "Roast Chicken with Potatoes and Gluten-Free Pasta in Tomato Sauce," clearly indicating the ingredients and the best place to buy them.
[1106] Through the above processing steps, users can efficiently determine the optimal menu and purchase the necessary ingredients. Data processing and communication between systems at each step are seamless, ensuring that meal preparation proceeds smoothly.
[1107] 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 user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1108] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1109] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and the specific processing may also be performed by the smart glasses 214.
[1110] [Third Embodiment]
[1111] Figure 5 shows an example of the configuration of the data processing system 310 according to the third embodiment.
[1112] As shown in Figure 5, the data processing system 310 includes a data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[1113] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1114] The headset terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a display 343. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and display 343 are also connected to the bus 52.
[1115] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1116] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1117] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1118] Figure 6 shows an example of the main functions of the data processing device 12 and the headset terminal 314. As shown in Figure 6, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1119] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[1120] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1121] In the headset terminal 314, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1122] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the headset terminal 314 will be referred to as the "terminal".
[1123] The system of this invention integrates the user's family structure information, dietary restriction information, information on ingredients in the refrigerator, and sales and inventory information from nearby stores to propose an optimal menu and shopping list. The following describes how to implement this system.
[1124] Entering family composition information and dietary restriction information
[1125] 1. User: Use a device such as a smartphone or tablet to enter information about family members. For example, the user might enter information such as: family composition is 4 people (father, mother, 2 children), dietary restrictions are: mother is gluten-free, and one of the children has a nut allergy.
[1126] 2. Terminal: Sends the entered family composition information and dietary restriction information to the server. This information is sent in JSON format.
[1127] Retrieving refrigerator inventory data
[1128] 1. User: Use the smartphone app to enter information about the ingredients in your refrigerator. For example, register information about ingredients such as chicken, potatoes, broccoli, and tomatoes.
[1129] 2. Terminal: Sends the entered food information to the server. If the refrigerator is a smart refrigerator, it can also automatically retrieve and send the data to the server.
[1130] Obtaining sales and inventory information from nearby supermarkets
[1131] 1. Server: Regularly retrieves sales and inventory information from nearby supermarkets and grocery stores via API. This information is stored in a database on the server.
[1132] 2. Server: Updates acquired store information as needed to maintain up-to-date information.
[1133] Menu generation
[1134] 1. Server: Generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, if a gluten-free and nut-free menu is requested, it will use the chicken, potatoes, broccoli, and tomatoes in the refrigerator to suggest dishes such as roasted chicken and potatoes or a broccoli and tomato salad.
[1135] 2. Server: Saves the generated menu to the database.
[1136] Generating a purchase list
[1137] 1. Server: Based on the generated menu, it identifies any missing ingredients and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, it adds carrots to the purchase list.
[1138] 2. Server: Identify stores where the necessary ingredients are on sale and add that information to the shopping list.
[1139] Displaying Results
[1140] 1. Server: Sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal.
[1141] 2. Terminal: Displays menu information and a shopping list to the user. For example, it will be displayed as follows:
[1142] Today's menu:
[1143] Roast chicken and potatoes
[1144] Ingredients needed: Chicken, potatoes, broccoli
[1145] Gluten-free pasta with tomato sauce
[1146] Required ingredients: Gluten-free pasta, tomatoes
[1147] Purchase list:
[1148] Carrots (on sale at Super A)
[1149] Radish (currently on sale at Super B)
[1150] In this way, users can receive menus tailored to their family's preferences and dietary restrictions in real time, and purchase ingredients efficiently. This invention contributes to reducing food waste and saving on food expenses.
[1151] The following describes the processing flow.
[1152] Step 1:
[1153] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information such as a family of four (father, mother, and two children), and dietary restrictions such as the mother being gluten-free and one of the children having a nut allergy.
[1154] Step 2:
[1155] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[1156] json
[1157] {
[1158] "family": [
[1159] {"role": "father", "preferences": []},
[1160] {"role": "mother", "preferences": ["gluten_free"]},
[1161] {"role": "child1", "preferences": ["nut_allergy"]},
[1162] {"role": "child2", "preferences": []}
[1163] ]
[1164] }
[1165] Step 3:
[1166] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[1167] Step 4:
[1168] Terminal: Sends the entered ingredient information to the server in JSON format.
[1169] json
[1170] {
[1171] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[1172] }
[1173] Step 5:
[1174] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[1175] http
[1176] GET / api / supermarket / nearby-deals
[1177] Step 6:
[1178] Server: Stores acquired sales and inventory information in the database.
[1179] json
[1180] {
[1181] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[1182] }
[1183] Step 7:
[1184] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "roast chicken and potatoes" and "gluten-free pasta with tomato sauce."
[1185] json
[1186] {
[1187] "menu": [
[1188] {
[1189] "name": "Roasted Chicken with Potato",
[1190] "ingredients": ["chicken", "potato", "broccoli"]
[1191] },
[1192] {
[1193] "name": "Gluten Free Pasta with Tomato Sauce",
[1194] "ingredients": ["gluten_free_pasta", "tomato"]
[1195] }
[1196] ]
[1197] }
[1198] Step 8:
[1199] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[1200] json
[1201] {
[1202] "shopping_list": ["carrot", "daikon"]
[1203] }
[1204] Step 9:
[1205] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[1206] json
[1207] {
[1208] "shopping_list": [
[1209] {"item": "carrot", "store": "Supermarket A"},
[1210] {"item": "daikon", "store": "Supermarket B"}
[1211] ]
[1212] }
[1213] Step 10:
[1214] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[1215] Step 11:
[1216] Terminal: Displays menu information and a shopping list to the user. For example, it will display as follows:
[1217] Today's menu:
[1218] Roast chicken and potatoes
[1219] Ingredients needed: Chicken, potatoes, broccoli
[1220] Gluten-free pasta with tomato sauce
[1221] Required ingredients: Gluten-free pasta, tomatoes
[1222] Purchase list:
[1223] Carrots (on sale at Super A)
[1224] Radish (currently on sale at Super B)
[1225] Through these steps, users can receive menus tailored to their family's preferences and restrictions in real time, and efficiently purchase the necessary ingredients.
[1226] (Example 1)
[1227] Next, we will describe Example 1. 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."
[1228] Traditional systems required users to manually manage family composition and dietary restrictions, and then create menus and shopping lists based on that information. This made efficient food use and waste reduction difficult, especially for families with multiple dietary restrictions. Furthermore, generating optimal shopping lists that reflected sales and inventory information from nearby stores was not easy. As a result, food waste and increased food costs became significant problems.
[1229] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1230] In this invention, the server includes means for the user to input family composition information and dietary restriction information, means for the user to input predetermined ingredient information, means for the terminal to transmit the family composition information, the dietary restriction information, and the ingredient information to the server, means for the server to generate a menu based on the information, means for the server to obtain sale information and inventory information from nearby stores, and means for the server to generate a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information. This makes it possible for the user to efficiently use ingredients, reduce waste, and easily generate an optimal purchase list while taking into account family composition and dietary restrictions.
[1231] A "user" is the entity that inputs family structure information, dietary restriction information, and ingredient information into the system.
[1232] A "terminal" is a device used to transmit information entered by a user to a server, and includes smartphones and tablets.
[1233] A "server" is a computer system that analyzes and processes information sent by users and information obtained from external APIs to generate optimal menus and shopping lists.
[1234] "Family structure information" refers to information that describes the number of family members and their relationships. For example, it includes the number of family members, their ages, and their roles (father, mother, child, etc.).
[1235] "Dietary restriction information" refers to information indicating the special dietary restrictions of each family member. For example, this may include restrictions such as gluten-free diets or nut allergies.
[1236] "Food information" refers to information indicating the types and quantities of food items found in the refrigerator or other storage locations.
[1237] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[1238] "Inventory information" refers to information that shows the current inventory status of food and ingredients at nearby stores.
[1239] A "menu" is a meal plan created based on family composition information, dietary restrictions, and ingredient information, and includes a specific menu of dishes.
[1240] A "purchase list" is a list of missing or necessary ingredients based on the generated menu, and also includes information on the best places to buy them and discounts.
[1241] A "generative AI model" is an artificial intelligence model that learns from vast amounts of data and is used to generate optimal menus and shopping lists based on user input and information obtained from external sources.
[1242] The system of this invention integrates user information such as family composition, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby stores to suggest an optimal menu and shopping list. The following describes how to implement this system.
[1243] Entering family composition information and dietary restriction information
[1244] 1. The user uses a smartphone or tablet to enter information about family members and dietary restrictions. For example, the family consists of four people (father, mother, and two children), and the dietary restrictions include the mother being gluten-free and one of the children having a nut allergy.
[1245] 2. The terminal sends the entered family structure information and dietary restriction information to the server. The information is sent in JSON format, and the server parses it and stores it in the database.
[1246] Retrieving refrigerator inventory data
[1247] 1. The user uses a smartphone app to enter information about the ingredients in their refrigerator. For example, they might register information about chicken, potatoes, broccoli, and tomatoes.
[1248] 2. The terminal sends the entered food information to the server. If a smart refrigerator is being used, it is also possible to automatically retrieve and send the data.
[1249] Obtaining sales and inventory information from nearby supermarkets
[1250] 1. The server accesses APIs of nearby supermarkets and grocery stores at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. The retrieved data is parsed in JSON format and stored in a database on the server.
[1251] 2. The server will update the acquired information as it is received to maintain the most up-to-date information.
[1252] Menu generation
[1253] 1. The server uses a generative AI model to generate optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest gluten-free and nut-free menus using chicken, potatoes, broccoli, and tomatoes that are already in the refrigerator.
[1254] 2. The server saves the generated menu information to a database, allowing users to reuse it.
[1255] Generating a purchase list
[1256] 1. The server identifies any missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, carrots will be added to the purchase list.
[1257] 2. When generating a shopping list, the server identifies stores where the necessary ingredients are on sale and includes that information in the list.
[1258] Displaying Results
[1259] 1. The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent in JSON format.
[1260] 2. The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display the dish name and required ingredients as "Today's Menu," with a shopping list and sale information displayed below it.
[1261] Examples of specific cases and prompt statements
[1262] Specific example:
[1263] Family composition information entered by the user:
[1264] Members: Father, mother, 2 children
[1265] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[1266] Information about the ingredients in the refrigerator:
[1267] Ingredients: Chicken, potatoes, broccoli, tomatoes
[1268] Sales information retrieved by the server:
[1269] Carrots are 20% off at Super A.
[1270] Daikon radish is 10% off at Super B.
[1271] Examples of prompts for a generative AI model:
[1272] The user's family structure information is as follows:
[1273] A family of four (father, mother, and two children)
[1274] My mother is gluten-free
[1275] One of the children has a nut allergy.
[1276] The following items are in the refrigerator:
[1277] Chicken, potatoes, broccoli, tomatoes
[1278] Here is the sale information for nearby supermarkets:
[1279] Carrots are 20% off at Super A.
[1280] Daikon radish is 10% off at Super B.
[1281] Based on this information, please generate an optimal menu and shopping list.
[1282] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[1283] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1284] Step 1:
[1285] Users enter family member information and dietary restrictions using devices such as smartphones and tablets. Specifically, they select family composition such as "father," "mother," and "two children" in the app's input form, and specify special dietary restrictions such as "gluten-free" for the mother or "nut allergy" for the children using checkboxes or dropdown menus. The input data is converted into JSON format.
[1286] Step 2:
[1287] The terminal converts the family structure and dietary restriction information entered by the user into JSON format and sends it to the server using the HTTPS protocol. At this time, the input data is validated for integrity and format to prevent the transmission of invalid data. The server analyzes the received data and stores it in a database.
[1288] Step 3:
[1289] Users manually enter information about the ingredients in their refrigerator using a smartphone app. For example, the app's interface has fields for entering the names and quantities of ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes." Users enter the information and press the register button. This converts the ingredient information into JSON format.
[1290] Step 4:
[1291] The terminal converts the entered food information into JSON format and sends it to the server. If a smart refrigerator is used, the refrigerator itself detects food information in real time and automatically sends it to the server. This information is stored in a database.
[1292] Step 5:
[1293] The server accesses the APIs of nearby supermarkets at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. For example, it sends an HTTP request and parses the data returned in JSON format. The retrieved data includes detailed information such as product name, price, sale period, and inventory quantity. This information is stored in a database.
[1294] Step 6:
[1295] The server regularly updates acquired sales and inventory information. To maintain the latest information, it also performs duplicate data removal and archives historical data.
[1296] Step 7:
[1297] The server combines family composition information, dietary restriction information, refrigerator inventory data, and sales information from nearby stores stored in the database, and uses a generative AI model to generate the optimal menu. Specifically, the generative AI model analyzes the user's conditions and combinations of ingredients to suggest the best menu. For example, based on ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes," a gluten-free and nut-free menu may be suggested.
[1298] Step 8:
[1299] The server stores the generated menu information in a database. Each menu includes details such as the necessary ingredients and their quantities, and cooking methods.
[1300] Step 9:
[1301] The server identifies missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires "carrots" and there are none in the refrigerator, "carrots" will be added to the purchase list. In this process, the database is searched to identify the missing ingredients.
[1302] Step 10:
[1303] When generating a shopping list, the server searches for which supermarkets are having sales on the necessary ingredients and creates the most economical shopping plan based on the sale information. This helps reduce food waste and lower costs.
[1304] Step 11:
[1305] The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent from the server to the terminal in JSON format.
[1306] Step 12:
[1307] The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display "Today's Menu" such as "Roast Chicken and Potatoes" or "Gluten-Free Pasta with Tomato Sauce," with the necessary ingredients and a shopping list displayed below.
[1308] Specific example
[1309] Family composition information entered by the user:
[1310] Members: Father, mother, 2 children
[1311] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[1312] Information about the ingredients in the refrigerator:
[1313] Ingredients: Chicken, potatoes, broccoli, tomatoes
[1314] Sales information retrieved by the server:
[1315] Carrots are 20% off at Super A.
[1316] Daikon radish is 10% off at Super B.
[1317] Examples of prompts for a generative AI model:
[1318] The user's family structure information is as follows:
[1319] A family of four (father, mother, and two children)
[1320] My mother is gluten-free
[1321] One of the children has a nut allergy.
[1322] The following items are in the refrigerator:
[1323] Chicken, potatoes, broccoli, tomatoes
[1324] Here is the sale information for nearby supermarkets:
[1325] Carrots are 20% off at Super A.
[1326] Daikon radish is 10% off at Super B.
[1327] Based on this information, please generate an optimal menu and shopping list.
[1328] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[1329] (Application Example 1)
[1330] Next, we will explain Application Example 1. In the following explanation, 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."
[1331] In recent years, dietary demands have diversified, and daily meal preparation has become even more complex, especially for families with dietary restrictions. Furthermore, daily meal-related tasks such as managing ingredients in the refrigerator and checking sales information are extremely time-consuming. While food delivery services are becoming more widespread, ordering menus and ingredients tailored to individual households is often cumbersome. Therefore, there is a need for a system that enables efficient and personalized meal management and ordering.
[1332] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1333] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; and means for ordering missing ingredients and dishes from a food delivery service based on the purchase list. This enables optimized menus and efficient ordering while accommodating the dietary restrictions of household members.
[1334] "Family composition information" refers to the composition of the user's household members, as well as information such as the characteristics of each member and their dietary restrictions.
[1335] "Dietary restriction information" refers to dietary restrictions specific to individual family members, such as the need to avoid certain foods or ingredients.
[1336] "Food information" refers to information indicating the types and quantities of food stored in the refrigerator and kitchen.
[1337] "Means for generating menus" refers to algorithms or software that propose optimal meal menus based on the aforementioned family composition information, dietary restriction information, and ingredient information.
[1338] "Sale information" refers to special offers and discounts being offered at nearby stores.
[1339] "Inventory information" refers to the current stock status of products sold at nearby stores.
[1340] "Methods for generating a purchase list" refers to algorithms or software that list missing or necessary ingredients based on the generated menu and store information.
[1341] "Methods of ordering from food delivery services" refers to algorithms and software used to order necessary ingredients and dishes online through food delivery services.
[1342] A "terminal" refers to a device such as a smartphone, tablet, or computer that a user uses to input information or view suggested menus or shopping lists.
[1343] The "Perfect Food" app is a system designed to help users efficiently manage their daily meals. This system integrates family composition information, dietary restrictions, refrigerator contents, and menu information from nearby food delivery services, and then suggests optimal meal plans and shopping lists based on this information.
[1344] Hardware and software to be used
[1345] Hardware: Smartphones, servers
[1346] Software: JSON parser, database (MySQL, etc.), API request module, menu generation algorithm (Python, etc.)
[1347] Data processing: Integration of user information, data retrieval from APIs, analysis of vast amounts of menu information.
[1348] Enter and submit user information
[1349] Users use the smartphone app "Perfect Food" to input family composition information and dietary restrictions. This information is sent to the server in JSON format. For example, family composition information might include "Family of 4 (father, mother, 2 children)," and dietary restrictions might include "Mother is gluten-free, one child has a nut allergy."
[1350] Retrieving refrigerator inventory data
[1351] Users enter information about the ingredients in their refrigerator into the app. Furthermore, if a smart refrigerator is installed, inventory data can be automatically retrieved and sent to the server. For example, "chicken, potatoes, broccoli, tomatoes" might be registered.
[1352] Obtaining nearby delivery menu information
[1353] The server periodically retrieves menu information from nearby food delivery services via an API, stores it in a database, and updates it. This retrieved information is stored in a server-based database and updated in real time.
[1354] Menu generation
[1355] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and nearby delivery menu information. For example, if a menu is requested that accommodates "gluten-free" and "nut allergies," the generated menu suggestions might include "roasted chicken and potatoes" and "tomato and broccoli salad."
[1356] Purchase list / Order list generation
[1357] The server lists any missing ingredients or dishes based on the generated menu. Furthermore, it generates a list of items to order from a food delivery service based on that list. For example, if the menu requires "gluten-free pasta" and there is none in the refrigerator, it adds it to the shopping list and makes it available for order from a food delivery service.
[1358] Suggestions for users
[1359] The server sends the generated menu information, purchase list, and order list to the user's smartphone. For example, it will be displayed as follows:
[1360] Today's menu:
[1361] Roasted chicken and potatoes
[1362] Ingredients needed: Chicken, potatoes, broccoli
[1363] Gluten-free pasta with tomato sauce
[1364] Required ingredients: Gluten-free pasta, tomatoes
[1365] Purchase list:
[1366] Gluten-free pasta (available for order through delivery service A)
[1367] Example of a prompt
[1368] An example of an input prompt for a generative AI model is as follows:
[1369] Family composition information:
[1370] Member 1: Mother, gluten-free
[1371] Member 2: Child, nut allergy
[1372] Refrigerator inventory:
[1373] Chicken, 500g
[1374] Tomatoes, 3
[1375] Local food delivery menu:
[1376] Delivery service A: Gluten-free pasta, salad
[1377] Suggested menu and additional orders:
[1378] As described above, the "Perfect Food" app is a system that streamlines household meal management and caters to individual needs. This invention significantly streamlines daily meal preparation by allowing users to receive optimal menu suggestions and easily order missing ingredients or dishes.
[1379] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1380] Step 1:
[1381] Users input family composition and dietary restriction information using the smartphone app "Perfect Food." The entered information is sent to the server in JSON format. This input data includes characteristics and dietary restrictions of each family member. The server analyzes the received information and stores it in a database.
[1382] Input: Family composition information, dietary restriction information
[1383] Output: The analyzed information is stored in the database.
[1384] Step 2:
[1385] The user enters information about the contents of their refrigerator into a smartphone app. If a smart refrigerator is present, it automatically retrieves inventory data and sends it to the server. The entered and retrieved data are sent to the server in JSON format. The server parses the data and stores it in a database.
[1386] Input: Ingredient information
[1387] Output: The analyzed data is saved to the database.
[1388] Step 3:
[1389] The server periodically retrieves menu information, sales information, and inventory information from nearby stores and food delivery services via APIs. The retrieved information is stored in a server-based database and updated in real time.
[1390] Input: Menu information, sales information, and inventory information for stores and food delivery services.
[1391] Output: The retrieved information is saved and updated in the database.
[1392] Step 4:
[1393] The server generates the optimal menu based on family composition information, dietary restrictions, refrigerator inventory information, and nearby delivery menu information. This is done using a menu generation algorithm, sometimes employing AI models. The generated menu is stored in a database.
[1394] Input: Family composition information, dietary restrictions, refrigerator inventory information, delivery menu information
[1395] Output: An optimal menu is generated and saved to the database.
[1396] Step 5:
[1397] The server lists any missing ingredients or dishes based on the generated menu. The generated purchase list is then cross-referenced with the menu information of the food delivery service to create an order list.
[1398] Input: Generated menu
[1399] Output: A purchase list and an order list are generated.
[1400] Step 6:
[1401] The server sends the generated menu information, shopping list, and order list to the user's smartphone. The user can then view the menu information, shopping list, and delivery service order list through the app.
[1402] Input: Generated menu information, purchase list, and order list
[1403] Output: Information is sent to the user's smartphone.
[1404] As a concrete example of how it works, the user enters information such as "gluten-free" and "nut allergy" into the app. They also register their refrigerator inventory, such as "chicken, potatoes, tomatoes." The system then retrieves information on nearby food delivery services via API and suggests the most suitable menu. For example, a "gluten-free chicken and tomato dish" might be suggested, and the necessary ingredients are automatically added to the shopping list.
[1405] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1406] This invention is a system designed to streamline meal preparation at home and cater to the individual needs of family members, particularly by recognizing the user's emotions and adjusting menus and shopping lists accordingly. The system integrates family composition information, dietary restrictions, refrigerator contents, nearby store sales information, and inventory information to propose optimal menus and shopping lists.
[1407] Entering family composition information and dietary restriction information
[1408] 1. User: Enter family composition information and dietary restrictions on the device. For example, enter information such as a family of four where the mother is gluten-free and one child has a nut allergy.
[1409] 2. Terminal: Sends the entered data to the server.
[1410] Retrieving refrigerator inventory data
[1411] 1. User: Enter information about the food items in the refrigerator into the terminal. If using a smart refrigerator, the refrigerator will automatically send the data to the server.
[1412] 2. Terminal: Sends the entered ingredient information to the server.
[1413] Obtaining sales and inventory information from nearby supermarkets
[1414] 1. Server: Periodically retrieves sales and inventory information from nearby supermarkets via API.
[1415] 2. Server: Stores the retrieved information in the database.
[1416] User emotion recognition by an emotion engine
[1417] 1. Device: The user inputs emotions using a device, or emotions are automatically acquired using facial recognition, voice analysis, etc. (e.g., fatigue, stress, happiness).
[1418] 2. Terminal: Sends the acquired emotion information to the server.
[1419] Menu creation and emotion-based adjustments
[1420] 1. Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores.
[1421] 2. Server: Based on emotional information from the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, the server suggests ingredients and recipes that have a stress-reducing effect.
[1422] Generating a purchase list
[1423] 1. Server: Based on the final menu, it generates a purchase list for any missing ingredients. It also takes sales information into consideration and suggests the best place to buy them.
[1424] 2. Server: Sends the purchase list to the terminal.
[1425] Displaying Results
[1426] 1. Terminal: Displays the generated menu information and purchase list for the user. For example, it will be displayed as follows:
[1427] Today's menu:
[1428] Roast chicken and potatoes
[1429] Ingredients needed: Chicken, potatoes, broccoli
[1430] Gluten-free pasta with tomato sauce
[1431] Required ingredients: Gluten-free pasta, tomatoes
[1432] Purchase list:
[1433] Carrots (on sale at Super A)
[1434] Radish (currently on sale at Super B)
[1435] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[1436] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even adjust them to their emotional state. This reduces the stress of meal preparation and makes it possible to provide meals that satisfy the whole family. This invention also contributes to reducing food waste and saving on food costs.
[1437] The following describes the processing flow.
[1438] Step 1:
[1439] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information that there are four family members, the mother is gluten-free, and one of the children has a nut allergy.
[1440] Step 2:
[1441] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[1442] json
[1443] {
[1444] "family": [
[1445] {"role": "father", "preferences": []},
[1446] {"role": "mother", "preferences": ["gluten_free"]},
[1447] {"role": "child1", "preferences": ["nut_allergy"]},
[1448] {"role": "child2", "preferences": []}
[1449] ]
[1450] }
[1451] Step 3:
[1452] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[1453] Step 4:
[1454] Terminal: Sends the entered ingredient information to the server in JSON format.
[1455] json
[1456] {
[1457] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[1458] }
[1459] Step 5:
[1460] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[1461] http
[1462] GET / api / supermarket / nearby-deals
[1463] Step 6:
[1464] Server: Stores acquired sales and inventory information in the database.
[1465] json
[1466] {
[1467] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[1468] }
[1469] Step 7:
[1470] User: Emotions can be entered via the device, or automatically acquired using facial recognition or voice analysis (e.g., fatigue, stress, happiness).
[1471] Step 8:
[1472] Terminal: Sends the acquired emotion information to the server in JSON format.
[1473] json
[1474] {
[1475] "emotion": "stress"
[1476] }
[1477] Step 9:
[1478] Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "Roast Chicken and Potatoes" and "Gluten-Free Pasta with Tomato Sauce."
[1479] json
[1480] {
[1481] "menu": [
[1482] {
[1483] "name": "Roasted Chicken with Potato",
[1484] "ingredients": ["chicken", "potato", "broccoli"]
[1485] },
[1486] {
[1487] "name": "Gluten Free Pasta with Tomato Sauce",
[1488] "ingredients": ["gluten_free_pasta", "tomato"]
[1489] }
[1490] ]
[1491] }
[1492] Step 10:
[1493] Server: Based on emotional information obtained by the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, it suggests ingredients that have stress-reducing effects (e.g., chamomile tea).
[1494] Step 11:
[1495] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[1496] json
[1497] {
[1498] "shopping_list": ["carrot", "daikon"]
[1499] }
[1500] Step 12:
[1501] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[1502] json
[1503] {
[1504] "shopping_list": [
[1505] {"item": "carrot", "store": "Supermarket A"},
[1506] {"item": "daikon", "store": "Supermarket B"}
[1507] ]
[1508] }
[1509] Step 13:
[1510] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[1511] Step 14:
[1512] Terminal: Displays menu information and a shopping list to the user. For example, it may look like this:
[1513] Today's menu:
[1514] Roast chicken and potatoes
[1515] Ingredients needed: Chicken, potatoes, broccoli
[1516] Gluten-free pasta with tomato sauce
[1517] Required ingredients: Gluten-free pasta, tomatoes
[1518] Purchase list:
[1519] Carrots (on sale at Super A)
[1520] Radish (currently on sale at Super B)
[1521] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[1522] Through these steps, users receive menus tailored to their family's preferences and constraints in real time, and are offered meals adjusted based on their emotional state, enabling efficient and satisfying grocery shopping and cooking.
[1523] (Example 2)
[1524] Next, we will describe Example 2. 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."
[1525] Traditional home meal preparation systems struggled to consider individual family members' dietary restrictions and preferences, and to integrate information from nearby stores to suggest optimal menus and shopping lists. Furthermore, they failed to adjust menus to reflect the user's emotional state. As a result, problems such as food waste and increased stress from meal preparation arose.
[1526] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[1527] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; means for obtaining user emotional information; and means for adjusting the menu based on the emotional information. This makes it possible to automatically generate an optimal menu and purchase list that takes into account the user's emotional state while adapting to the family's preferences and dietary restrictions.
[1528] "Family structure information" refers to attribute information of each member of the household, including age, gender, health status, and preferences.
[1529] "Dietary restriction information" refers to each member's dietary restrictions, including allergies, religious restrictions, and health considerations.
[1530] "Specified food information" refers to information about food currently stored in the refrigerator or pantry, including type, quantity, and expiration date.
[1531] "Method for generating menus" refers to the process of determining proposed meal menus based on family composition information, dietary restriction information, and specified ingredient information.
[1532] "Sale information" refers to information about special prices offered at nearby stores, including discounts and promotions.
[1533] "Inventory information" refers to the current stock status of products at nearby stores.
[1534] "Methods for generating a shopping list" refers to the process of creating a list of missing ingredients based on menus and store sales and inventory information.
[1535] "User emotional information" refers to information that indicates the user's current emotional state, including states such as stress, happiness, and fatigue.
[1536] "Methods for adjusting menus based on emotional information" refers to the process of appropriately modifying suggested menus based on the emotional information of the user that has been acquired.
[1537] "Means of communicating with home appliances" refers to the communication functions of home appliances such as smart refrigerators, and includes methods for automatically acquiring food information.
[1538] "Means of sending to the user's device" refers to the process of sending the generated menu and shopping list to the user's individual device (smartphone, tablet, etc.).
[1539] This invention is a system that integrates family composition information, dietary restriction information, information on ingredients in the refrigerator, sales information and inventory information from nearby stores, and proposes an optimal menu and shopping list based on the user's emotional state. The aim of this system is to generate menus that not only take into account family preferences and dietary restrictions, but also reflect the user's emotional state.
[1540] Hardware and software to be used
[1541] Devices: Smartphones, tablets, PCs, etc. This allows users to input information such as family composition, dietary restrictions, and the contents of their refrigerator.
[1542] Server: Cloud servers are used for data processing and storage. MySQL and PostgreSQL are used for the database, and TensorFlow and PyTorch are used for the AI algorithms.
[1543] Home appliances: This includes home appliances that automatically acquire food information, such as smart refrigerators.
[1544] API: We use store APIs (for example, Google Maps API or individual supermarket APIs) to retrieve sales information and inventory information from nearby stores.
[1545] Emotion recognition technology: We use OpenCV and the Google Cloud Speech-to-Text API to obtain user emotion information.
[1546] The specific processing flow of the system
[1547] The user enters family information (e.g., family of four, father has a nut allergy, mother is gluten-free) and dietary restrictions into the device. Next, the device retrieves information about the ingredients in the refrigerator, either manually or via a smart refrigerator, and sends this data to the server. The server periodically retrieves sale and inventory information from nearby supermarkets via an API and stores it in a database.
[1548] Furthermore, the device acquires user emotional information (e.g., stress levels, fatigue) using facial recognition and voice analysis technologies and sends it to the server. The server integrates family composition information, dietary restrictions, ingredients in the refrigerator, sales information from nearby supermarkets, inventory information, and the user's emotional information, and uses an AI algorithm to generate an optimal menu. Subsequently, based on the emotional information, the menu is adjusted to create a final menu and shopping list tailored to the user. The created menu and shopping list are sent to the device and displayed to the user.
[1549] Specific example
[1550] For example, input the following prompt into the generating AI model:
[1551] "We are a family of four; the mother is gluten-free, and one of the children has a nut allergy. Could you please suggest tonight's menu and a shopping list? Also, I'm feeling a bit tired right now, so please suggest any ingredients or recipes that have a relaxing effect."
[1552] This allows the user to receive menus and shopping lists tailored to their conditions and emotional state. For example, "roast chicken and potatoes" or "gluten-free pasta with tomato sauce" might be suggested, and chamomile tea, which is expected to have a relaxing effect, might also be recommended.
[1553] The flow of the specific processing in Example 2 will be explained using Figure 13.
[1554] Step 1:
[1555] Entering family composition information and dietary restriction information
[1556] The user enters family composition information and dietary restriction information into a device such as a smartphone. For example, the user might enter information such as a family of four where the father has a nut allergy and the mother follows a gluten-free diet. The device converts this input data into JSON format and sends it to the server using a REST API. The server stores the received data in a database.
[1557] Input: Family composition information and dietary restriction information
[1558] Output: Data in JSON format is sent to the server and stored in the database.
[1559] Step 2:
[1560] Retrieving refrigerator inventory data
[1561] The user can manually enter information about the food items inside the refrigerator into a terminal, or the smart refrigerator can automatically obtain this information using RFID tags or a barcode scanner. The terminal sends this data to a server, which stores the received data in a database.
[1562] Input: Information about the ingredients in the refrigerator
[1563] Output: Data in JSON format is sent to the server and stored in the database.
[1564] Step 3:
[1565] Obtaining sales and inventory information from nearby supermarkets.
[1566] The server uses an API to periodically retrieve sales and inventory information from nearby supermarkets. For example, a scheduler runs at specific time intervals, sending requests to the supermarket's API to retrieve the necessary information. The retrieved data is stored in a database.
[1567] Input: API Request
[1568] Output: The acquired supermarket sale information and inventory information are saved in the database.
[1569] Step 4:
[1570] User emotion recognition by an emotion engine
[1571] The user inputs their emotions using their device, or the device's camera and microphone are used to automatically acquire the user's emotional information through facial recognition technology (OpenCV) or speech analysis technology (Google Cloud Speech-to-Text API). The device sends this information to the server. The server stores the received data in a database.
[1572] Input: User sentiment information
[1573] Output: Data in JSON format is sent to the server and stored in the database.
[1574] Step 5:
[1575] Menu creation and emotion-based adjustments
[1576] The server generates an initial menu using an AI algorithm (using TensorFlow or PyTorch) based on family composition information, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby supermarkets. The server then adjusts the generated menu based on emotional information from an emotion engine. For example, if the user is stressed, the menu is adjusted to include ingredients with relaxing effects. The final generated menu information is stored in a database.
[1577] Inputs: Family composition information, dietary restrictions, refrigerator inventory data, sales information from nearby supermarkets, user sentiment information.
[1578] Output: The adjusted final menu information is saved to the database.
[1579] Step 6:
[1580] Generating a purchase list
[1581] The server generates a shopping list for any missing ingredients based on the final menu information. It also considers sales information and suggests the best places to buy them. The generated shopping list is stored in the database.
[1582] Input: Final menu information, sales information
[1583] Output: The purchase list is saved to the database.
[1584] Step 7:
[1585] Displaying Results
[1586] The terminal displays the final menu information and shopping list received from the server to the user. For example, "Today's Menu" and "Shopping List" are specifically displayed. Suggestions based on the user's emotions (e.g., chamomile tea, which is expected to have a relaxing effect) are also displayed.
[1587] Input: Final menu information and purchase list received from the server
[1588] Output: The final menu information and shopping list are displayed to the user.
[1589] (Application Example 2)
[1590] Next, we will explain application example 2. In the following explanation, 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."
[1591] In preparing meals at home, there is a need to integrate individual family members' dietary restrictions, the amount of ingredients in the refrigerator, and sales information from nearby stores, while also considering the user's emotional state, to create optimal menus and shopping lists. However, current systems struggle to handle this information efficiently and comprehensively, and in particular, they do not adjust menus based on emotional information, thus failing to fully meet user needs. Furthermore, there is a lack of means to reduce food waste and alleviate the stress of meal preparation.
[1592] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for inputting family composition information and dietary restriction information, means for inputting predetermined ingredient information, means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information, means for acquiring sale information and inventory information from nearby stores, means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information, means for recognizing the user's emotional information, and means for adjusting the menu based on the emotional information. This makes it possible to handle family members' dietary restrictions, the inventory of ingredients in the refrigerator, sale information from nearby stores, and the user's emotional information in an integrated manner, enabling the suggestion of an optimal menu and adjustments based on emotions. This makes it possible to reduce food waste, alleviate stress from meal preparation, and provide meals that satisfy the whole family.
[1593] "Family composition information" refers to information such as the age, gender, and dietary preferences of each member of the household.
[1594] "Dietary restriction information" refers to information that records specific allergies or food restrictions that each family member has.
[1595] "Food information" refers to information indicating the types and quantities of food currently in the refrigerator or pantry.
[1596] "Menu" refers to the menu or combination of dishes for a meal.
[1597] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[1598] "Inventory information" refers to information that shows the current stock status of products available at nearby stores.
[1599] A "shopping list" is a list of necessary ingredients, clearly indicating which ingredients should be purchased next.
[1600] "Emotional information" refers to information about the user's current emotional state, such as excitement, fatigue, and happiness.
[1601] "Adjustment" refers to the means or process of optimizing the menu based on the user's emotional information and other conditions.
[1602] This invention is a system that streamlines meal preparation at home and proposes optimal menus and shopping lists according to the individual needs and feelings of each family member. The system consists of a server, terminals, a refrigerator, and a service that provides information on nearby stores.
[1603] Entering family composition information and dietary restriction information
[1604] The user uses a terminal to input family composition information and dietary restriction information. For example, the user might input "a family of four, with the mother being gluten-free and one child having a nut allergy." This data is then sent from the terminal to the server.
[1605] Retrieving refrigerator inventory data
[1606] The user enters information about the food items in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends the food information to the server. This data is also sent from the terminal to the server.
[1607] Obtaining sales and inventory information from nearby supermarkets
[1608] The server periodically retrieves sales and inventory information from nearby supermarkets via an API. The retrieved information is stored in a database.
[1609] User emotion recognition by an emotion engine
[1610] Users can input emotional information using a device, or emotional information can be automatically acquired through functions such as facial recognition or voice analysis. This emotional information is also transmitted from the device to the server. Emotion recognition uses common electroencephalogram (EEG) sensors, camera-equipped devices, and voice analysis software.
[1611] Menu creation and emotion-based adjustments
[1612] The server generates an initial menu based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. It then adjusts the generated menu based on emotional information from the emotion engine. For example, if the user is feeling stressed, it suggests ingredients and recipes that can help reduce stress.
[1613] Generating a purchase list
[1614] The server generates a purchase list for any missing ingredients based on the finalized menu. This list includes optimal suppliers, taking sales information into account. This information is then sent from the server to the terminal.
[1615] Displaying Results
[1616] The terminal displays the generated menu information and shopping list for the user. For example, it might look like this:
[1617] Today's menu:
[1618] Roast chicken and potatoes
[1619] Ingredients needed: Chicken, potatoes, broccoli
[1620] Gluten-free pasta with tomato sauce
[1621] Required ingredients: Gluten-free pasta, tomatoes
[1622] Purchase list:
[1623] Carrots (on sale at Super A)
[1624] Radish (currently on sale at Super B)
[1625] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[1626] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even be adjusted to suit their emotional state.
[1627] Specific example
[1628] As a concrete example, let's consider a case where a user utilizes this system when using a food delivery service.
[1629] If the user is detected as "fatigued," dishes that provide energy or menus with relaxing effects will be suggested. For example, roasted chicken and potatoes or chamomile tea may be added to the menu.
[1630] Example of a prompt:
[1631] "When using a menu suggestion application based on the user's emotional state, please suggest what dishes and ingredients would be appropriate when the user is experiencing stress."
[1632] This invention aims to reduce the stress of meal preparation and help provide meals that satisfy the whole family by suggesting the optimal meal based on the user's emotional information.
[1633] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[1634] Step 1:
[1635] The user enters family structure and dietary restriction information into the terminal. The entered data includes the age, gender, dietary preferences, and allergy information of each family member. This data is sent from the terminal to the server. A specific example of input would be, "A family of four, with the mother following a gluten-free diet and one child having a nut allergy." The server receives this data and stores it in its database.
[1636] Step 2:
[1637] The user enters information about the food currently in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends this information to the server. For example, information such as "chicken, potatoes, broccoli" is entered. The entered data is sent from the terminal to the server, and the server stores this data in a database.
[1638] Step 3:
[1639] The server periodically retrieves sales and inventory information from nearby stores using an API. Specifically, it retrieves information such as "chicken is on sale" or "carrots are in stock" from the stores' online databases. The server records this information in its database.
[1640] Step 4:
[1641] To recognize the user's emotional information, the device uses technologies such as facial recognition and voice analysis. Users can also directly input emotions such as "fatigue" or "stress." This emotional information is sent from the device to a server, which then stores the emotional state in a database. For example, a camera captures a facial image, the image is analyzed by emotion recognition software, and the results are sent to the server.
[1642] Step 5:
[1643] The server automatically generates menus based on family composition information, dietary restrictions, refrigerator contents, and nearby store sales and inventory information. Initial menu generation uses a recipe database and a generation AI model. For example, the server might suggest a gluten-free chicken dish because the mother is gluten-free. This information is retrieved from the database, and the generated menu is temporarily stored.
[1644] Step 6:
[1645] The server adjusts the menu generated based on the user's emotional information. Specifically, if the user is determined to be "tired," ingredients that help with fatigue recovery and drinks with relaxing effects (such as chamomile tea) are added to the menu. The generation AI model makes these adjustments and saves them back to the database.
[1646] Step 7:
[1647] The server generates a purchase list for any missing ingredients based on the adjusted menu. It creates a list that includes the best suppliers, taking into account sales and inventory information. For example, it might generate a list based on information such as, "Carrots are on sale at Supermarket A, and radishes are in stock at Supermarket B." This purchase list is then sent to the terminal.
[1648] Step 8:
[1649] The terminal displays the final menu information and shopping list to the user. Specifically, it displays the suggested menu for "Today's Menu," along with the necessary ingredients and a list of ingredients to purchase. For example, it might display "Roast Chicken with Potatoes and Gluten-Free Pasta in Tomato Sauce," clearly indicating the ingredients and the best place to buy them.
[1650] Through the above processing steps, users can efficiently determine the optimal menu and purchase the necessary ingredients. Data processing and communication between systems at each step are seamless, ensuring that meal preparation proceeds smoothly.
[1651] The specific processing unit 290 transmits the result of the specific processing to the headset terminal 314. In the headset terminal 314, the control unit 46A causes the speaker 240 and display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[1652] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1653] In the above embodiment, an example was given in which specific processing is performed by the data processing device 12, but the technology of this disclosure is not limited thereto, and specific processing may also be performed by the headset terminal 314.
[1654] [Fourth Embodiment]
[1655] Figure 7 shows an example of the configuration of the data processing system 410 according to the fourth embodiment.
[1656] As shown in Figure 7, the 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.
[1657] The data processing device 12 comprises a computer 22, a database 24, and a communication interface 26. The computer 22 is an example of a "computer" related to the technology of this disclosure. The computer 22 comprises a processor 28, RAM 30, and storage 32. The processor 28, RAM 30, and storage 32 are connected to a bus 34. The database 24 and the communication interface 26 are also connected to the bus 34. The communication interface 26 is connected to a network 54. An example of the network 54 is a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1658] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication interface 44, and a controlled object 443. The computer 36 includes a processor 46, RAM 48, and storage 50. The processor 46, RAM 48, and storage 50 are connected to a bus 52. The microphone 238, speaker 240, camera 42, and controlled object 443 are also connected to the bus 52.
[1659] The microphone 238 receives voice signals from the user 20 and receives instructions from the user 20. The microphone 238 captures the voice signals from the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio according to the instructions from the processor 46.
[1660] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an image sensor such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the area around the user 20 (for example, an imaging range defined by a field of view equivalent to the width of a typical healthy person's field of vision).
[1661] Communication interface 44 is connected to network 54. Communication interfaces 44 and 26 are responsible for the exchange of various information between processor 46 and processor 28 via network 54. The exchange of various information between processor 46 and processor 28 using communication interfaces 44 and 26 is performed in a secure manner.
[1662] The controlled object 443 includes a display device, LEDs in the eyes, and motors that drive 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 robot 414's emotions can be expressed by controlling these motors. Furthermore, the robot 414's facial expressions can also be expressed by controlling the illumination state of the LEDs in its eyes.
[1663] Figure 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Figure 8, the data processing device 12 performs specific processing using the processor 28. The storage 32 stores the specific processing program 56.
[1664] The specific processing program 56 is an example of a "program" relating to the technology of this 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.
[1665] The storage 32 stores the data generation model 58 and the emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1666] In robot 414, the processor 46 performs the reception output processing. The storage 50 stores the reception output program 60. 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 processing is realized by the processor 46 operating as a control unit 46A according to the reception output program 60 executed on the RAM 48.
[1667] Next, the specific processing performed by the specific processing unit 290 of the data processing device 12 will be described. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1668] The system of this invention integrates the user's family structure information, dietary restriction information, information on ingredients in the refrigerator, and sales and inventory information from nearby stores to propose an optimal menu and shopping list. The following describes how to implement this system.
[1669] Entering family composition information and dietary restriction information
[1670] 1. User: Use a device such as a smartphone or tablet to enter information about family members. For example, the user might enter information such as: family composition is 4 people (father, mother, 2 children), dietary restrictions are: mother is gluten-free, and one of the children has a nut allergy.
[1671] 2. Terminal: Sends the entered family composition information and dietary restriction information to the server. This information is sent in JSON format.
[1672] Retrieving refrigerator inventory data
[1673] 1. User: Use the smartphone app to enter information about the ingredients in your refrigerator. For example, register information about ingredients such as chicken, potatoes, broccoli, and tomatoes.
[1674] 2. Terminal: Sends the entered food information to the server. If the refrigerator is a smart refrigerator, it can also automatically retrieve and send the data to the server.
[1675] Obtaining sales and inventory information from nearby supermarkets
[1676] 1. Server: Regularly retrieves sales and inventory information from nearby supermarkets and grocery stores via API. This information is stored in a database on the server.
[1677] 2. Server: Updates acquired store information as needed to maintain up-to-date information.
[1678] Menu generation
[1679] 1. Server: Generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, if a gluten-free and nut-free menu is requested, it will use the chicken, potatoes, broccoli, and tomatoes in the refrigerator to suggest dishes such as roasted chicken and potatoes or a broccoli and tomato salad.
[1680] 2. Server: Saves the generated menu to the database.
[1681] Generating a purchase list
[1682] 1. Server: Based on the generated menu, it identifies any missing ingredients and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, it adds carrots to the purchase list.
[1683] 2. Server: Identify stores where the necessary ingredients are on sale and add that information to the shopping list.
[1684] Displaying Results
[1685] 1. Server: Sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal.
[1686] 2. Terminal: Displays menu information and a shopping list to the user. For example, it will be displayed as follows:
[1687] Today's menu:
[1688] Roast chicken and potatoes
[1689] Ingredients needed: Chicken, potatoes, broccoli
[1690] Gluten-free pasta with tomato sauce
[1691] Required ingredients: Gluten-free pasta, tomatoes
[1692] Purchase list:
[1693] Carrots (on sale at Super A)
[1694] Radish (currently on sale at Super B)
[1695] In this way, users can receive menus tailored to their family's preferences and dietary restrictions in real time, and purchase ingredients efficiently. This invention contributes to reducing food waste and saving on food expenses.
[1696] The following describes the processing flow.
[1697] Step 1:
[1698] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information such as a family of four (father, mother, and two children), and dietary restrictions such as the mother being gluten-free and one of the children having a nut allergy.
[1699] Step 2:
[1700] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[1701] json
[1702] {
[1703] "family": [
[1704] {"role": "father", "preferences": []},
[1705] {"role": "mother", "preferences": ["gluten_free"]},
[1706] {"role": "child1", "preferences": ["nut_allergy"]},
[1707] {"role": "child2", "preferences": []}
[1708] ]
[1709] }
[1710] Step 3:
[1711] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[1712] Step 4:
[1713] Terminal: Sends the entered ingredient information to the server in JSON format.
[1714] json
[1715] {
[1716] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[1717] }
[1718] Step 5:
[1719] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[1720] http
[1721] GET / api / supermarket / nearby-deals
[1722] Step 6:
[1723] Server: Stores acquired sales and inventory information in the database.
[1724] json
[1725] {
[1726] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[1727] }
[1728] Step 7:
[1729] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "roast chicken and potatoes" and "gluten-free pasta with tomato sauce."
[1730] json
[1731] {
[1732] "menu": [
[1733] {
[1734] "name": "Roasted Chicken with Potato",
[1735] "ingredients": ["chicken", "potato", "broccoli"]
[1736] },
[1737] {
[1738] "name": "Gluten Free Pasta with Tomato Sauce",
[1739] "ingredients": ["gluten_free_pasta", "tomato"]
[1740] }
[1741] ]
[1742] }
[1743] Step 8:
[1744] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[1745] json
[1746] {
[1747] "shopping_list": ["carrot", "daikon"]
[1748] }
[1749] Step 9:
[1750] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[1751] json
[1752] {
[1753] "shopping_list": [
[1754] {"item": "carrot", "store": "Supermarket A"},
[1755] {"item": "daikon", "store": "Supermarket B"}
[1756] ]
[1757] }
[1758] Step 10:
[1759] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[1760] Step 11:
[1761] Terminal: Displays menu information and a shopping list to the user. For example, it will display as follows:
[1762] Today's menu:
[1763] Roast chicken and potatoes
[1764] Ingredients needed: Chicken, potatoes, broccoli
[1765] Gluten-free pasta with tomato sauce
[1766] Required ingredients: Gluten-free pasta, tomatoes
[1767] Purchase list:
[1768] Carrots (on sale at Super A)
[1769] Radish (currently on sale at Super B)
[1770] Through these steps, users can receive menus tailored to their family's preferences and restrictions in real time, and efficiently purchase the necessary ingredients.
[1771] (Example 1)
[1772] Next, we will describe Example 1. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1773] Traditional systems required users to manually manage family composition and dietary restrictions, and then create menus and shopping lists based on that information. This made efficient food use and waste reduction difficult, especially for families with multiple dietary restrictions. Furthermore, generating optimal shopping lists that reflected sales and inventory information from nearby stores was not easy. As a result, food waste and increased food costs became significant problems.
[1774] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 1 is realized by the following means.
[1775] In this invention, the server includes means for the user to input family composition information and dietary restriction information, means for the user to input predetermined ingredient information, means for the terminal to transmit the family composition information, the dietary restriction information, and the ingredient information to the server, means for the server to generate a menu based on the information, means for the server to obtain sale information and inventory information from nearby stores, and means for the server to generate a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information. This makes it possible for the user to efficiently use ingredients, reduce waste, and easily generate an optimal purchase list while taking into account family composition and dietary restrictions.
[1776] A "user" is the entity that inputs family structure information, dietary restriction information, and ingredient information into the system.
[1777] A "terminal" is a device used to transmit information entered by a user to a server, and includes smartphones and tablets.
[1778] A "server" is a computer system that analyzes and processes information sent by users and information obtained from external APIs to generate optimal menus and shopping lists.
[1779] "Family structure information" refers to information that describes the number of family members and their relationships. For example, it includes the number of family members, their ages, and their roles (father, mother, child, etc.).
[1780] "Dietary restriction information" refers to information indicating the special dietary restrictions of each family member. For example, this may include restrictions such as gluten-free diets or nut allergies.
[1781] "Food information" refers to information indicating the types and quantities of food items found in the refrigerator or other storage locations.
[1782] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[1783] "Inventory information" refers to information that shows the current inventory status of food and ingredients at nearby stores.
[1784] A "menu" is a meal plan created based on family composition information, dietary restrictions, and ingredient information, and includes a specific menu of dishes.
[1785] A "purchase list" is a list of missing or necessary ingredients based on the generated menu, and also includes information on the best places to buy them and discounts.
[1786] A "generative AI model" is an artificial intelligence model that learns from vast amounts of data and is used to generate optimal menus and shopping lists based on user input and information obtained from external sources.
[1787] The system of this invention integrates user information such as family composition, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby stores to suggest an optimal menu and shopping list. The following describes how to implement this system.
[1788] Entering family composition information and dietary restriction information
[1789] 1. The user uses a smartphone or tablet to enter information about family members and dietary restrictions. For example, the family consists of four people (father, mother, and two children), and the dietary restrictions include the mother being gluten-free and one of the children having a nut allergy.
[1790] 2. The terminal sends the entered family structure information and dietary restriction information to the server. The information is sent in JSON format, and the server parses it and stores it in the database.
[1791] Retrieving refrigerator inventory data
[1792] 1. The user uses a smartphone app to enter information about the ingredients in their refrigerator. For example, they might register information about chicken, potatoes, broccoli, and tomatoes.
[1793] 2. The terminal sends the entered food information to the server. If a smart refrigerator is being used, it is also possible to automatically retrieve and send the data.
[1794] Obtaining sales and inventory information from nearby supermarkets
[1795] 1. The server accesses APIs of nearby supermarkets and grocery stores at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. The retrieved data is parsed in JSON format and stored in a database on the server.
[1796] 2. The server will update the acquired information as it is received to maintain the most up-to-date information.
[1797] Menu generation
[1798] 1. The server uses a generative AI model to generate optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest gluten-free and nut-free menus using chicken, potatoes, broccoli, and tomatoes that are already in the refrigerator.
[1799] 2. The server saves the generated menu information to a database, allowing users to reuse it.
[1800] Generating a purchase list
[1801] 1. The server identifies any missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires carrots and there are none in the refrigerator, carrots will be added to the purchase list.
[1802] 2. When generating a shopping list, the server identifies stores where the necessary ingredients are on sale and includes that information in the list.
[1803] Displaying Results
[1804] 1. The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent in JSON format.
[1805] 2. The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display the dish name and required ingredients as "Today's Menu," with a shopping list and sale information displayed below it.
[1806] Examples of specific cases and prompt statements
[1807] Specific example:
[1808] Family composition information entered by the user:
[1809] Members: Father, mother, 2 children
[1810] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[1811] Information about the ingredients in the refrigerator:
[1812] Ingredients: Chicken, potatoes, broccoli, tomatoes
[1813] Sales information retrieved by the server:
[1814] Carrots are 20% off at Super A.
[1815] Daikon radish is 10% off at Super B.
[1816] Examples of prompts for a generative AI model:
[1817] The user's family structure information is as follows:
[1818] A family of four (father, mother, and two children)
[1819] My mother is gluten-free
[1820] One of the children has a nut allergy.
[1821] The following items are in the refrigerator:
[1822] Chicken, potatoes, broccoli, tomatoes
[1823] Here is the sale information for nearby supermarkets:
[1824] Carrots are 20% off at Super A.
[1825] Daikon radish is 10% off at Super B.
[1826] Based on this information, please generate an optimal menu and shopping list.
[1827] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[1828] The flow of the specific processing in Example 1 will be explained using Figure 11.
[1829] Step 1:
[1830] Users enter family member information and dietary restrictions using devices such as smartphones and tablets. Specifically, they select family composition such as "father," "mother," and "two children" in the app's input form, and specify special dietary restrictions such as "gluten-free" for the mother or "nut allergy" for the children using checkboxes or dropdown menus. The input data is converted into JSON format.
[1831] Step 2:
[1832] The terminal converts the family structure and dietary restriction information entered by the user into JSON format and sends it to the server using the HTTPS protocol. At this time, the input data is validated for integrity and format to prevent the transmission of invalid data. The server analyzes the received data and stores it in a database.
[1833] Step 3:
[1834] Users manually enter information about the ingredients in their refrigerator using a smartphone app. For example, the app's interface has fields for entering the names and quantities of ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes." Users enter the information and press the register button. This converts the ingredient information into JSON format.
[1835] Step 4:
[1836] The terminal converts the entered food information into JSON format and sends it to the server. If a smart refrigerator is used, the refrigerator itself detects food information in real time and automatically sends it to the server. This information is stored in a database.
[1837] Step 5:
[1838] The server accesses the APIs of nearby supermarkets at regular intervals (e.g., every day at midnight) to retrieve sales and inventory information. For example, it sends an HTTP request and parses the data returned in JSON format. The retrieved data includes detailed information such as product name, price, sale period, and inventory quantity. This information is stored in a database.
[1839] Step 6:
[1840] The server regularly updates acquired sales and inventory information. To maintain the latest information, it also performs duplicate data removal and archives historical data.
[1841] Step 7:
[1842] The server combines family composition information, dietary restriction information, refrigerator inventory data, and sales information from nearby stores stored in the database, and uses a generative AI model to generate the optimal menu. Specifically, the generative AI model analyzes the user's conditions and combinations of ingredients to suggest the best menu. For example, based on ingredients such as "chicken," "potatoes," "broccoli," and "tomatoes," a gluten-free and nut-free menu may be suggested.
[1843] Step 8:
[1844] The server stores the generated menu information in a database. Each menu includes details such as the necessary ingredients and their quantities, and cooking methods.
[1845] Step 9:
[1846] The server identifies missing ingredients based on the generated menu and creates a list of them. For example, if the menu requires "carrots" and there are none in the refrigerator, "carrots" will be added to the purchase list. In this process, the database is searched to identify the missing ingredients.
[1847] Step 10:
[1848] When generating a shopping list, the server searches for which supermarkets are having sales on the necessary ingredients and creates the most economical shopping plan based on the sale information. This helps reduce food waste and lower costs.
[1849] Step 11:
[1850] The server sends the generated menu information, shopping list, and sales information from nearby supermarkets to the user's terminal. The information is sent from the server to the terminal in JSON format.
[1851] Step 12:
[1852] The device analyzes the received data and displays it in a user-friendly interface. For example, the app's main screen might display "Today's Menu" such as "Roast Chicken and Potatoes" or "Gluten-Free Pasta with Tomato Sauce," with the necessary ingredients and a shopping list displayed below.
[1853] Specific example
[1854] Family composition information entered by the user:
[1855] Members: Father, mother, 2 children
[1856] Dietary restrictions: My mother is gluten-free, and one of my children has a nut allergy.
[1857] Information about the ingredients in the refrigerator:
[1858] Ingredients: Chicken, potatoes, broccoli, tomatoes
[1859] Sales information retrieved by the server:
[1860] Carrots are 20% off at Super A.
[1861] Daikon radish is 10% off at Super B.
[1862] Examples of prompts for a generative AI model:
[1863] The user's family structure information is as follows:
[1864] A family of four (father, mother, and two children)
[1865] My mother is gluten-free
[1866] One of the children has a nut allergy.
[1867] The following items are in the refrigerator:
[1868] Chicken, potatoes, broccoli, tomatoes
[1869] Here is the sale information for nearby supermarkets:
[1870] Carrots are 20% off at Super A.
[1871] Daikon radish is 10% off at Super B.
[1872] Based on this information, please generate an optimal menu and shopping list.
[1873] The generated menus and shopping lists allow users to use ingredients efficiently and reduce waste. Furthermore, utilizing sales information can help save on food expenses.
[1874] (Application Example 1)
[1875] Next, we will explain Application Example 1. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[1876] In recent years, dietary demands have diversified, and daily meal preparation has become even more complex, especially for families with dietary restrictions. Furthermore, daily meal-related tasks such as managing ingredients in the refrigerator and checking sales information are extremely time-consuming. While food delivery services are becoming more widespread, ordering menus and ingredients tailored to individual households is often cumbersome. Therefore, there is a need for a system that enables efficient and personalized meal management and ordering.
[1877] The specific processing performed by the specific processing unit 290 of the data processing device 12 in Application Example 1 is realized by the following means.
[1878] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; and means for ordering missing ingredients and dishes from a food delivery service based on the purchase list. This enables optimized menus and efficient ordering while accommodating the dietary restrictions of household members.
[1879] "Family composition information" refers to the composition of the user's household members, as well as information such as the characteristics of each member and their dietary restrictions.
[1880] "Dietary restriction information" refers to dietary restrictions specific to individual family members, such as the need to avoid certain foods or ingredients.
[1881] "Food information" refers to information indicating the types and quantities of food stored in the refrigerator and kitchen.
[1882] "Means for generating menus" refers to algorithms or software that propose optimal meal menus based on the aforementioned family composition information, dietary restriction information, and ingredient information.
[1883] "Sale information" refers to special offers and discounts being offered at nearby stores.
[1884] "Inventory information" refers to the current stock status of products sold at nearby stores.
[1885] "Methods for generating a purchase list" refers to algorithms or software that list missing or necessary ingredients based on the generated menu and store information.
[1886] "Methods of ordering from food delivery services" refers to algorithms and software used to order necessary ingredients and dishes online through food delivery services.
[1887] A "terminal" refers to a device such as a smartphone, tablet, or computer that a user uses to input information or view suggested menus or shopping lists.
[1888] The "Perfect Food" app is a system designed to help users efficiently manage their daily meals. This system integrates family composition information, dietary restrictions, refrigerator contents, and menu information from nearby food delivery services, and then suggests optimal meal plans and shopping lists based on this information.
[1889] Hardware and software to be used
[1890] Hardware: Smartphones, servers
[1891] Software: JSON parser, database (MySQL, etc.), API request module, menu generation algorithm (Python, etc.)
[1892] Data processing: Integration of user information, data retrieval from APIs, analysis of vast amounts of menu information.
[1893] Enter and submit user information
[1894] Users use the smartphone app "Perfect Food" to input family composition information and dietary restrictions. This information is sent to the server in JSON format. For example, family composition information might include "Family of 4 (father, mother, 2 children)," and dietary restrictions might include "Mother is gluten-free, one child has a nut allergy."
[1895] Retrieving refrigerator inventory data
[1896] Users enter information about the ingredients in their refrigerator into the app. Furthermore, if a smart refrigerator is installed, inventory data can be automatically retrieved and sent to the server. For example, "chicken, potatoes, broccoli, tomatoes" might be registered.
[1897] Obtaining nearby delivery menu information
[1898] The server periodically retrieves menu information from nearby food delivery services via an API, stores it in a database, and updates it. This retrieved information is stored in a server-based database and updated in real time.
[1899] Menu generation
[1900] The server generates optimal menus based on family composition information, dietary restrictions, refrigerator inventory data, and nearby delivery menu information. For example, if a menu is requested that accommodates "gluten-free" and "nut allergies," the generated menu suggestions might include "roasted chicken and potatoes" and "tomato and broccoli salad."
[1901] Purchase list / Order list generation
[1902] The server lists any missing ingredients or dishes based on the generated menu. Furthermore, it generates a list of items to order from a food delivery service based on that list. For example, if the menu requires "gluten-free pasta" and there is none in the refrigerator, it adds it to the shopping list and makes it available for order from a food delivery service.
[1903] Suggestions for users
[1904] The server sends the generated menu information, purchase list, and order list to the user's smartphone. For example, it will be displayed as follows:
[1905] Today's menu:
[1906] Roasted chicken and potatoes
[1907] Ingredients needed: Chicken, potatoes, broccoli
[1908] Gluten-free pasta with tomato sauce
[1909] Required ingredients: Gluten-free pasta, tomatoes
[1910] Purchase list:
[1911] Gluten-free pasta (available for order through delivery service A)
[1912] Example of a prompt
[1913] An example of an input prompt for a generative AI model is as follows:
[1914] Family composition information:
[1915] Member 1: Mother, gluten-free
[1916] Member 2: Child, nut allergy
[1917] Refrigerator inventory:
[1918] Chicken, 500g
[1919] Tomatoes, 3
[1920] Local food delivery menu:
[1921] Delivery service A: Gluten-free pasta, salad
[1922] Suggested menu and additional orders:
[1923] As described above, the "Perfect Food" app is a system that streamlines household meal management and caters to individual needs. This invention significantly streamlines daily meal preparation by allowing users to receive optimal menu suggestions and easily order missing ingredients or dishes.
[1924] The flow of a specific process in Application Example 1 will be explained using Figure 12.
[1925] Step 1:
[1926] Users input family composition and dietary restriction information using the smartphone app "Perfect Food." The entered information is sent to the server in JSON format. This input data includes characteristics and dietary restrictions of each family member. The server analyzes the received information and stores it in a database.
[1927] Input: Family composition information, dietary restriction information
[1928] Output: The analyzed information is stored in the database.
[1929] Step 2:
[1930] The user enters information about the contents of their refrigerator into a smartphone app. If a smart refrigerator is present, it automatically retrieves inventory data and sends it to the server. The entered and retrieved data are sent to the server in JSON format. The server parses the data and stores it in a database.
[1931] Input: Ingredient information
[1932] Output: The analyzed data is saved to the database.
[1933] Step 3:
[1934] The server periodically retrieves menu information, sales information, and inventory information from nearby stores and food delivery services via APIs. The retrieved information is stored in a server-based database and updated in real time.
[1935] Input: Menu information, sales information, and inventory information for stores and food delivery services.
[1936] Output: The retrieved information is saved and updated in the database.
[1937] Step 4:
[1938] The server generates the optimal menu based on family composition information, dietary restrictions, refrigerator inventory information, and nearby delivery menu information. This is done using a menu generation algorithm, sometimes employing AI models. The generated menu is stored in a database.
[1939] Input: Family composition information, dietary restrictions, refrigerator inventory information, delivery menu information
[1940] Output: An optimal menu is generated and saved to the database.
[1941] Step 5:
[1942] The server lists any missing ingredients or dishes based on the generated menu. The generated purchase list is then cross-referenced with the menu information of the food delivery service to create an order list.
[1943] Input: Generated menu
[1944] Output: A purchase list and an order list are generated.
[1945] Step 6:
[1946] The server sends the generated menu information, shopping list, and order list to the user's smartphone. The user can then view the menu information, shopping list, and delivery service order list through the app.
[1947] Input: Generated menu information, purchase list, and order list
[1948] Output: Information is sent to the user's smartphone.
[1949] As a concrete example of how it works, the user enters information such as "gluten-free" and "nut allergy" into the app. They also register their refrigerator inventory, such as "chicken, potatoes, tomatoes." The system then retrieves information on nearby food delivery services via API and suggests the most suitable menu. For example, a "gluten-free chicken and tomato dish" might be suggested, and the necessary ingredients are automatically added to the shopping list.
[1950] Furthermore, an emotion engine that estimates the user's emotions may be incorporated. That is, the identification processing unit 290 may use the emotion identification model 59 to estimate the user's emotions and perform identification processing using the user's emotions.
[1951] This invention is a system designed to streamline meal preparation at home and cater to the individual needs of family members, particularly by recognizing the user's emotions and adjusting menus and shopping lists accordingly. The system integrates family composition information, dietary restrictions, refrigerator contents, nearby store sales information, and inventory information to propose optimal menus and shopping lists.
[1952] Entering family composition information and dietary restriction information
[1953] 1. User: Enter family composition information and dietary restrictions on the device. For example, enter information such as a family of four where the mother is gluten-free and one child has a nut allergy.
[1954] 2. Terminal: Sends the entered data to the server.
[1955] Retrieving refrigerator inventory data
[1956] 1. User: Enter information about the food items in the refrigerator into the terminal. If using a smart refrigerator, the refrigerator will automatically send the data to the server.
[1957] 2. Terminal: Sends the entered ingredient information to the server.
[1958] Obtaining sales and inventory information from nearby supermarkets
[1959] 1. Server: Periodically retrieves sales and inventory information from nearby supermarkets via API.
[1960] 2. Server: Stores the retrieved information in the database.
[1961] User emotion recognition by an emotion engine
[1962] 1. Device: The user inputs emotions using a device, or emotions are automatically acquired using facial recognition, voice analysis, etc. (e.g., fatigue, stress, happiness).
[1963] 2. Terminal: Sends the acquired emotion information to the server.
[1964] Menu creation and emotion-based adjustments
[1965] 1. Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores.
[1966] 2. Server: Based on emotional information from the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, the server suggests ingredients and recipes that have a stress-reducing effect.
[1967] Generating a purchase list
[1968] 1. Server: Based on the final menu, it generates a purchase list for any missing ingredients. It also takes sales information into consideration and suggests the best place to buy them.
[1969] 2. Server: Sends the purchase list to the terminal.
[1970] Displaying Results
[1971] 1. Terminal: Displays the generated menu information and purchase list for the user. For example, it will be displayed as follows:
[1972] Today's menu:
[1973] Roast chicken and potatoes
[1974] Ingredients needed: Chicken, potatoes, broccoli
[1975] Gluten-free pasta with tomato sauce
[1976] Required ingredients: Gluten-free pasta, tomatoes
[1977] Purchase list:
[1978] Carrots (on sale at Super A)
[1979] Radish (currently on sale at Super B)
[1980] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[1981] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even adjust them to their emotional state. This reduces the stress of meal preparation and makes it possible to provide meals that satisfy the whole family. This invention also contributes to reducing food waste and saving on food costs.
[1982] The following describes the processing flow.
[1983] Step 1:
[1984] User: Enter family composition information and dietary restrictions into the terminal. For example, enter information that there are four family members, the mother is gluten-free, and one of the children has a nut allergy.
[1985] Step 2:
[1986] Terminal: Sends the entered family composition information and dietary restriction information to the server in JSON format.
[1987] json
[1988] {
[1989] "family": [
[1990] {"role": "father", "preferences": []},
[1991] {"role": "mother", "preferences": ["gluten_free"]},
[1992] {"role": "child1", "preferences": ["nut_allergy"]},
[1993] {"role": "child2", "preferences": []}
[1994] ]
[1995] }
[1996] Step 3:
[1997] User: Enter information about the ingredients in the refrigerator into the terminal. For example, register chicken, potatoes, broccoli, and tomatoes.
[1998] Step 4:
[1999] Terminal: Sends the entered ingredient information to the server in JSON format.
[2000] json
[2001] {
[2002] "inventory": ["chicken", "potato", "broccoli", "tomato"]
[2003] }
[2004] Step 5:
[2005] Server: Regularly retrieves sale and inventory information from nearby supermarkets and grocery stores via API. Example: Supermarket A is having a sale on carrots, radishes, and gluten-free pasta.
[2006] http
[2007] GET / api / supermarket / nearby-deals
[2008] Step 6:
[2009] Server: Stores acquired sales and inventory information in the database.
[2010] json
[2011] {
[2012] "sale_items": ["carrot", "daikon", "gluten_free_pasta"]
[2013] }
[2014] Step 7:
[2015] User: Emotions can be entered via the device, or automatically acquired using facial recognition or voice analysis (e.g., fatigue, stress, happiness).
[2016] Step 8:
[2017] Terminal: Sends the acquired emotion information to the server in JSON format.
[2018] json
[2019] {
[2020] "emotion": "stress"
[2021] }
[2022] Step 9:
[2023] Server: Generates initial menus based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. For example, it might suggest menus such as "Roast Chicken and Potatoes" and "Gluten-Free Pasta with Tomato Sauce."
[2024] json
[2025] {
[2026] "menu": [
[2027] {
[2028] "name": "Roasted Chicken with Potato",
[2029] "ingredients": ["chicken", "potato", "broccoli"]
[2030] },
[2031] {
[2032] "name": "Gluten Free Pasta with Tomato Sauce",
[2033] "ingredients": ["gluten_free_pasta", "tomato"]
[2034] }
[2035] ]
[2036] }
[2037] Step 10:
[2038] Server: Based on emotional information obtained by the emotion engine, the generated menu is adjusted. For example, if the user is feeling stressed, it suggests ingredients that have stress-reducing effects (e.g., chamomile tea).
[2039] Step 11:
[2040] Server: Based on the generated menu, it creates a purchase list for any missing ingredients. For example, if the menu requires carrots and radishes, which are not in stock, they are added to the purchase list.
[2041] json
[2042] {
[2043] "shopping_list": ["carrot", "daikon"]
[2044] }
[2045] Step 12:
[2046] Server: Based on the purchase list, it adds information about which stores are having sales on the relevant ingredients.
[2047] json
[2048] {
[2049] "shopping_list": [
[2050] {"item": "carrot", "store": "Supermarket A"},
[2051] {"item": "daikon", "store": "Supermarket B"}
[2052] ]
[2053] }
[2054] Step 13:
[2055] Server: Sends generated menu information, shopping lists, and sales information from nearby supermarkets to the terminal.
[2056] Step 14:
[2057] Terminal: Displays menu information and a shopping list to the user. For example, it may look like this:
[2058] Today's menu:
[2059] Roast chicken and potatoes
[2060] Ingredients needed: Chicken, potatoes, broccoli
[2061] Gluten-free pasta with tomato sauce
[2062] Required ingredients: Gluten-free pasta, tomatoes
[2063] Purchase list:
[2064] Carrots (on sale at Super A)
[2065] Radish (currently on sale at Super B)
[2066] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[2067] Through these steps, users receive menus tailored to their family's preferences and constraints in real time, and are offered meals adjusted based on their emotional state, enabling efficient and satisfying grocery shopping and cooking.
[2068] (Example 2)
[2069] Next, we will describe Example 2. In the following description, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[2070] Traditional home meal preparation systems struggled to consider individual family members' dietary restrictions and preferences, and to integrate information from nearby stores to suggest optimal menus and shopping lists. Furthermore, they failed to adjust menus to reflect the user's emotional state. As a result, problems such as food waste and increased stress from meal preparation arose.
[2071] The identification process performed by the identification processing unit 290 of the data processing device 12 in Example 2 is realized by the following means.
[2072] In this invention, the server includes means for inputting family composition information and dietary restriction information; means for inputting predetermined ingredient information; means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information; means for obtaining sale information and inventory information from nearby stores; means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information; means for obtaining user emotional information; and means for adjusting the menu based on the emotional information. This makes it possible to automatically generate an optimal menu and purchase list that takes into account the user's emotional state while adapting to the family's preferences and dietary restrictions.
[2073] "Family structure information" refers to attribute information of each member of the household, including age, gender, health status, and preferences.
[2074] "Dietary restriction information" refers to each member's dietary restrictions, including allergies, religious restrictions, and health considerations.
[2075] "Specified food information" refers to information about food currently stored in the refrigerator or pantry, including type, quantity, and expiration date.
[2076] "Method for generating menus" refers to the process of determining proposed meal menus based on family composition information, dietary restriction information, and specified ingredient information.
[2077] "Sale information" refers to information about special prices offered at nearby stores, including discounts and promotions.
[2078] "Inventory information" refers to the current stock status of products at nearby stores.
[2079] "Methods for generating a shopping list" refers to the process of creating a list of missing ingredients based on menus and store sales and inventory information.
[2080] "User emotional information" refers to information that indicates the user's current emotional state, including states such as stress, happiness, and fatigue.
[2081] "Methods for adjusting menus based on emotional information" refers to the process of appropriately modifying suggested menus based on the emotional information of the user that has been acquired.
[2082] "Means of communicating with home appliances" refers to the communication functions of home appliances such as smart refrigerators, and includes methods for automatically acquiring food information.
[2083] "Means of sending to the user's device" refers to the process of sending the generated menu and shopping list to the user's individual device (smartphone, tablet, etc.).
[2084] This invention is a system that integrates family composition information, dietary restriction information, information on ingredients in the refrigerator, sales information and inventory information from nearby stores, and proposes an optimal menu and shopping list based on the user's emotional state. The aim of this system is to generate menus that not only take into account family preferences and dietary restrictions, but also reflect the user's emotional state.
[2085] Hardware and software to be used
[2086] Devices: Smartphones, tablets, PCs, etc. This allows users to input information such as family composition, dietary restrictions, and the contents of their refrigerator.
[2087] Server: Cloud servers are used for data processing and storage. MySQL and PostgreSQL are used for the database, and TensorFlow and PyTorch are used for the AI algorithms.
[2088] Home appliances: This includes home appliances that automatically acquire food information, such as smart refrigerators.
[2089] API: We use store APIs (for example, Google Maps API or individual supermarket APIs) to retrieve sales information and inventory information from nearby stores.
[2090] Emotion recognition technology: We use OpenCV and the Google Cloud Speech-to-Text API to obtain user emotion information.
[2091] The specific processing flow of the system
[2092] The user enters family information (e.g., family of four, father has a nut allergy, mother is gluten-free) and dietary restrictions into the device. Next, the device retrieves information about the ingredients in the refrigerator, either manually or via a smart refrigerator, and sends this data to the server. The server periodically retrieves sale and inventory information from nearby supermarkets via an API and stores it in a database.
[2093] Furthermore, the device acquires user emotional information (e.g., stress levels, fatigue) using facial recognition and voice analysis technologies and sends it to the server. The server integrates family composition information, dietary restrictions, ingredients in the refrigerator, sales information from nearby supermarkets, inventory information, and the user's emotional information, and uses an AI algorithm to generate an optimal menu. Subsequently, based on the emotional information, the menu is adjusted to create a final menu and shopping list tailored to the user. The created menu and shopping list are sent to the device and displayed to the user.
[2094] Specific example
[2095] For example, input the following prompt into the generating AI model:
[2096] "We are a family of four; the mother is gluten-free, and one of the children has a nut allergy. Could you please suggest tonight's menu and a shopping list? Also, I'm feeling a bit tired right now, so please suggest any ingredients or recipes that have a relaxing effect."
[2097] This allows the user to receive menus and shopping lists tailored to their conditions and emotional state. For example, "roast chicken and potatoes" or "gluten-free pasta with tomato sauce" might be suggested, and chamomile tea, which is expected to have a relaxing effect, might also be recommended.
[2098] The flow of the specific processing in Example 2 will be explained using Figure 13.
[2099] Step 1:
[2100] Entering family composition information and dietary restriction information
[2101] The user enters family composition information and dietary restriction information into a device such as a smartphone. For example, the user might enter information such as a family of four where the father has a nut allergy and the mother follows a gluten-free diet. The device converts this input data into JSON format and sends it to the server using a REST API. The server stores the received data in a database.
[2102] Input: Family composition information and dietary restriction information
[2103] Output: Data in JSON format is sent to the server and stored in the database.
[2104] Step 2:
[2105] Retrieving refrigerator inventory data
[2106] The user can manually enter information about the food items inside the refrigerator into a terminal, or the smart refrigerator can automatically obtain this information using RFID tags or a barcode scanner. The terminal sends this data to a server, which stores the received data in a database.
[2107] Input: Information about the ingredients in the refrigerator
[2108] Output: Data in JSON format is sent to the server and stored in the database.
[2109] Step 3:
[2110] Obtaining sales and inventory information from nearby supermarkets.
[2111] The server uses an API to periodically retrieve sales and inventory information from nearby supermarkets. For example, a scheduler runs at specific time intervals, sending requests to the supermarket's API to retrieve the necessary information. The retrieved data is stored in a database.
[2112] Input: API Request
[2113] Output: The acquired supermarket sale information and inventory information are saved in the database.
[2114] Step 4:
[2115] User emotion recognition by an emotion engine
[2116] The user inputs their emotions using their device, or the device's camera and microphone are used to automatically acquire the user's emotional information through facial recognition technology (OpenCV) or speech analysis technology (Google Cloud Speech-to-Text API). The device sends this information to the server. The server stores the received data in a database.
[2117] Input: User sentiment information
[2118] Output: Data in JSON format is sent to the server and stored in the database.
[2119] Step 5:
[2120] Menu creation and emotion-based adjustments
[2121] The server generates an initial menu using an AI algorithm (using TensorFlow or PyTorch) based on family composition information, dietary restrictions, ingredients in the refrigerator, and sales and inventory information from nearby supermarkets. The server then adjusts the generated menu based on emotional information from an emotion engine. For example, if the user is stressed, the menu is adjusted to include ingredients with relaxing effects. The final generated menu information is stored in a database.
[2122] Inputs: Family composition information, dietary restrictions, refrigerator inventory data, sales information from nearby supermarkets, user sentiment information.
[2123] Output: The adjusted final menu information is saved to the database.
[2124] Step 6:
[2125] Generating a purchase list
[2126] The server generates a shopping list for any missing ingredients based on the final menu information. It also considers sales information and suggests the best places to buy them. The generated shopping list is stored in the database.
[2127] Input: Final menu information, sales information
[2128] Output: The purchase list is saved to the database.
[2129] Step 7:
[2130] Displaying Results
[2131] The terminal displays the final menu information and shopping list received from the server to the user. For example, "Today's Menu" and "Shopping List" are specifically displayed. Suggestions based on the user's emotions (e.g., chamomile tea, which is expected to have a relaxing effect) are also displayed.
[2132] Input: Final menu information and purchase list received from the server
[2133] Output: The final menu information and shopping list are displayed to the user.
[2134] (Application Example 2)
[2135] Next, we will explain application example 2. In the following explanation, the data processing device 12 will be referred to as the "server" and the robot 414 as the "terminal".
[2136] In preparing meals at home, there is a need to integrate individual family members' dietary restrictions, the amount of ingredients in the refrigerator, and sales information from nearby stores, while also considering the user's emotional state, to create optimal menus and shopping lists. However, current systems struggle to handle this information efficiently and comprehensively, and in particular, they do not adjust menus based on emotional information, thus failing to fully meet user needs. Furthermore, there is a lack of means to reduce food waste and alleviate the stress of meal preparation.
[2137] In Application Example 2, the specific processing performed by the specific processing unit 290 of the data processing device 12 is realized by the following means. In this invention, the server includes means for inputting family composition information and dietary restriction information, means for inputting predetermined ingredient information, means for generating a menu based on the family composition information, the dietary restriction information and the ingredient information, means for acquiring sale information and inventory information from nearby stores, means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information, means for recognizing the user's emotional information, and means for adjusting the menu based on the emotional information. This makes it possible to handle family members' dietary restrictions, the inventory of ingredients in the refrigerator, sale information from nearby stores, and the user's emotional information in an integrated manner, enabling the suggestion of an optimal menu and adjustments based on emotions. This makes it possible to reduce food waste, alleviate stress from meal preparation, and provide meals that satisfy the whole family.
[2138] "Family composition information" refers to information such as the age, gender, and dietary preferences of each member of the household.
[2139] "Dietary restriction information" refers to information that records specific allergies or food restrictions that each family member has.
[2140] "Food information" refers to information indicating the types and quantities of food currently in the refrigerator or pantry.
[2141] "Menu" refers to the menu or combination of dishes for a meal.
[2142] "Sale information" refers to information about discounts and special offers currently being offered at nearby stores.
[2143] "Inventory information" refers to information that shows the current stock status of products available at nearby stores.
[2144] A "shopping list" is a list of necessary ingredients, clearly indicating which ingredients should be purchased next.
[2145] "Emotional information" refers to information about the user's current emotional state, such as excitement, fatigue, and happiness.
[2146] "Adjustment" refers to the means or process of optimizing the menu based on the user's emotional information and other conditions.
[2147] This invention is a system that streamlines meal preparation at home and proposes optimal menus and shopping lists according to the individual needs and feelings of each family member. The system consists of a server, terminals, a refrigerator, and a service that provides information on nearby stores.
[2148] Entering family composition information and dietary restriction information
[2149] The user uses a terminal to input family composition information and dietary restriction information. For example, the user might input "a family of four, with the mother being gluten-free and one child having a nut allergy." This data is then sent from the terminal to the server.
[2150] Retrieving refrigerator inventory data
[2151] The user enters information about the food items in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends the food information to the server. This data is also sent from the terminal to the server.
[2152] Obtaining sales and inventory information from nearby supermarkets
[2153] The server periodically retrieves sales and inventory information from nearby supermarkets via an API. The retrieved information is stored in a database.
[2154] User emotion recognition by an emotion engine
[2155] Users can input emotional information using a device, or emotional information can be automatically acquired through functions such as facial recognition or voice analysis. This emotional information is also transmitted from the device to the server. Emotion recognition uses common electroencephalogram (EEG) sensors, camera-equipped devices, and voice analysis software.
[2156] Menu creation and emotion-based adjustments
[2157] The server generates an initial menu based on family composition information, dietary restrictions, refrigerator inventory data, and sales information from nearby stores. It then adjusts the generated menu based on emotional information from the emotion engine. For example, if the user is feeling stressed, it suggests ingredients and recipes that can help reduce stress.
[2158] Generating a purchase list
[2159] The server generates a purchase list for any missing ingredients based on the finalized menu. This list includes optimal suppliers, taking sales information into account. This information is then sent from the server to the terminal.
[2160] Displaying Results
[2161] The terminal displays the generated menu information and shopping list for the user. For example, it might look like this:
[2162] Today's menu:
[2163] Roast chicken and potatoes
[2164] Ingredients needed: Chicken, potatoes, broccoli
[2165] Gluten-free pasta with tomato sauce
[2166] Required ingredients: Gluten-free pasta, tomatoes
[2167] Purchase list:
[2168] Carrots (on sale at Super A)
[2169] Radish (currently on sale at Super B)
[2170] Considering the user's current emotional state, chamomile tea, which is expected to have a relaxing effect, is also recommended.
[2171] This system allows users to receive menus tailored to their family's preferences and restrictions in real time, and can even be adjusted to suit their emotional state.
[2172] Specific example
[2173] As a concrete example, let's consider a case where a user utilizes this system when using a food delivery service.
[2174] If the user is detected as "fatigued," dishes that provide energy or menus with relaxing effects will be suggested. For example, roasted chicken and potatoes or chamomile tea may be added to the menu.
[2175] Example of a prompt:
[2176] "When using a menu suggestion application based on the user's emotional state, please suggest what dishes and ingredients would be appropriate when the user is experiencing stress."
[2177] This invention aims to reduce the stress of meal preparation and help provide meals that satisfy the whole family by suggesting the optimal meal based on the user's emotional information.
[2178] The flow of a specific process in Application Example 2 will be explained using Figure 14.
[2179] Step 1:
[2180] The user enters family structure and dietary restriction information into the terminal. The entered data includes the age, gender, dietary preferences, and allergy information of each family member. This data is sent from the terminal to the server. A specific example of input would be, "A family of four, with the mother following a gluten-free diet and one child having a nut allergy." The server receives this data and stores it in its database.
[2181] Step 2:
[2182] The user enters information about the food currently in the refrigerator into the terminal. If a smart refrigerator is being used, the refrigerator automatically sends this information to the server. For example, information such as "chicken, potatoes, broccoli" is entered. The entered data is sent from the terminal to the server, and the server stores this data in a database.
[2183] Step 3:
[2184] The server periodically retrieves sales and inventory information from nearby stores using an API. Specifically, it retrieves information such as "chicken is on sale" or "carrots are in stock" from the stores' online databases. The server records this information in its database.
[2185] Step 4:
[2186] To recognize the user's emotional information, the device uses technologies such as facial recognition and voice analysis. Users can also directly input emotions such as "fatigue" or "stress." This emotional information is sent from the device to a server, which then stores the emotional state in a database. For example, a camera captures a facial image, the image is analyzed by emotion recognition software, and the results are sent to the server.
[2187] Step 5:
[2188] The server automatically generates menus based on family composition information, dietary restrictions, refrigerator contents, and nearby store sales and inventory information. Initial menu generation uses a recipe database and a generation AI model. For example, the server might suggest a gluten-free chicken dish because the mother is gluten-free. This information is retrieved from the database, and the generated menu is temporarily stored.
[2189] Step 6:
[2190] The server adjusts the menu generated based on the user's emotional information. Specifically, if the user is determined to be "tired," ingredients that help with fatigue recovery and drinks with relaxing effects (such as chamomile tea) are added to the menu. The generation AI model makes these adjustments and saves them back to the database.
[2191] Step 7:
[2192] The server generates a purchase list for any missing ingredients based on the adjusted menu. It creates a list that includes the best suppliers, taking into account sales and inventory information. For example, it might generate a list based on information such as, "Carrots are on sale at Supermarket A, and radishes are in stock at Supermarket B." This purchase list is then sent to the terminal.
[2193] Step 8:
[2194] The terminal displays the final menu information and shopping list to the user. Specifically, it displays the suggested menu for "Today's Menu," along with the necessary ingredients and a list of ingredients to purchase. For example, it might display "Roast Chicken with Potatoes and Gluten-Free Pasta in Tomato Sauce," clearly indicating the ingredients and the best place to buy them.
[2195] Through the above processing steps, users can efficiently determine the optimal menu and purchase the necessary ingredients. Data processing and communication between systems at each step are seamless, ensuring that meal preparation proceeds smoothly.
[2196] 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 controlled object 443 to output the result of the specific processing. The microphone 238 acquires audio indicating user input for the result of the specific processing. The control unit 46A transmits the audio data indicating user input acquired by the microphone 238 to the data processing unit 12. In the data processing unit 12, the specific processing unit 290 acquires the audio data.
[2197] Data generation model 58 is a type of so-called generative AI (Artificial Intelligence). One example of data generation model 58 is ChatGPT (Internet search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search) <url: https: gemini.google.com ?hl="ja">Examples of generative AI include the following. The data generation model 58 is obtained by performing deep learning on a neural network. The data generation model 58 is input with prompts containing instructions, and with inference data such as audio data representing speech, text data representing text, and image data representing images. The data generation model 58 infers from the input inference data according to the instructions indicated by the prompts, and outputs the inference results in data formats such as audio data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[2198] 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 this disclosure is not limited thereto, and the specific processing may also be performed by the robot 414.
[2199] Furthermore, the emotion identification model 59, acting 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 a specific mapping, which is an emotion map (see Figure 9). Similarly, the emotion identification model 59 may also determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[2200] Figure 9 shows an emotion map 400 in which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. The closer to the center of the concentric circles, the more primitive the emotions are located. Further out of the concentric circles, emotions representing states and actions arising from mental states are located. Emotion is a concept that includes feelings and mental states. On the left side of the concentric circles, emotions that are generally generated from reactions occurring in the brain are located. On the right side of the concentric circles, emotions that are generally induced by situational judgment are located. Above and below the concentric circles, emotions that are generally generated from reactions occurring in the brain and induced by situational judgment are located. In addition, the emotion of "pleasure" is located on the upper side of the concentric circles, and the emotion of "displeasure" is located on the lower side. Thus, in the emotion map 400, multiple emotions are mapped based on the structure in which emotions arise, and emotions that are likely to occur simultaneously are mapped close together.
[2201] These emotions are distributed at the 3 o'clock position on the Emotion Map 400, and usually fluctuate between feelings of security and anxiety. In the right half of the Emotion Map 400, situational awareness takes precedence over internal feelings, resulting in a calm impression.
[2202] The inside of the Emotion Map 400 represents inner thoughts, while the outside represents actions. Therefore, the further you go from the outside of the Emotion Map 400, the more visible (expressed in actions) your emotions become.
[2203] Here, human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. Similarly, in robots, cars, motorcycles, etc., emotions can be created based on various balances, such as posture and battery level. When these balances deviate from the ideal, it results in discomfort, and when they approach the ideal, it results in pleasure. The emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on a system for analyzing brain physiological signals of speech emotion recognition and emotion, Tokushima University, doctoral dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map contains emotions belonging to a region called "response," where sensation is dominant. The right half of the emotion map contains emotions belonging to a region called "situation," where situational awareness is dominant.
[2204] The emotion map defines two emotions that promote learning. One is the emotion around the middle of the negative "repentance" and "reflection" on the situation side. In other words, it is 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 the emotion around the positive "desire" on the reaction side. In other words, it is when the robot has positive feelings such as "I want more" or "I want to know more."
[2205] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values representing each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple training data sets, which are combinations of user input and emotion values representing each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions located close together have similar values, as shown in the emotion map 900 in Figure 10. Figure 10 shows an example where multiple emotions such as "reassured," "calm," and "confident" have similar emotion values.
[2206] The above description primarily focuses on the functions of the data processing device 12 in relation to this disclosure. However, the system related to this disclosure is not necessarily implemented on a server. The system related to this disclosure may be implemented as a general information processing system. This disclosure may be implemented, for example, as a software program that runs on a personal computer or as an application that runs on a smartphone. The method related to this disclosure may be provided to users in SaaS (Software as a Service) format.
[2207] In the above embodiment, an example was given in which a specific process is performed by a single computer 22. However, the technology of this disclosure is not limited thereto, and a distributed processing of the specific process may be performed by multiple computers, including computer 22. For example, a data generation model 58 may be provided in an external device of the data processing device 12, and the external device may generate data according to the input data.
[2208] In the above embodiment, an example was given in which the specific processing program 56 is stored in the storage 32, but the technology of this disclosure is not limited thereto. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-temporary storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-temporary storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes specific processing according to the specific processing program 56.
[2209] 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.
[2210] Furthermore, it is not necessary to store the entirety 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 the entirety of the specific processing program 56 in the storage 32; it is acceptable to store only a portion of the specific processing program 56.
[2211] The following types of processors can be used as hardware resources to perform specific processing. Examples of processors include a CPU, a general-purpose processor that functions as a hardware resource to perform specific processing by executing software, i.e., a program. Other examples of processors include dedicated electrical circuits, such as FPGAs (Field-Programmable Gate Arrays), PLDs (Programmable Logic Devices), or ASICs (Application Specific Integrated Circuits), which have circuit configurations specifically designed to perform specific processing. All of these processors have built-in or connected memory, and all of them perform specific processing by using memory.
[2212] The hardware resource that performs a specific process may consist of one of these various processors, or it may consist of 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). Alternatively, the hardware resource that performs a specific process may consist of a single processor.
[2213] Examples of configurations using a single processor include, firstly, a configuration in which one or more CPUs and software are combined to form a single processor, and this processor functions as a hardware resource that performs a specific process. Secondly, there is a configuration using a processor that realizes the functions of the entire system, including multiple hardware resources that perform a specific process, on a single IC chip, as exemplified by SoCs (System-on-a-chip). In this way, a specific process is realized using one or more of the above types of processors as hardware resources.
[2214] Furthermore, the hardware structure of these various processors can more specifically utilize electrical circuits that combine circuit elements such as semiconductor devices. Also, the specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps can be deleted, new steps added, or the processing order rearranged, as long as it does not deviate from the main purpose.
[2215] The descriptions and illustrations presented above are detailed explanations of the technical aspects of this disclosure and are merely examples of the technical aspects. For example, the above descriptions of the structure, function, operation, and effect are examples of the structure, function, operation, and effect of the technical aspects of this disclosure. Therefore, it goes without saying that you may delete unnecessary parts, add new elements, or replace elements in the descriptions and illustrations presented above, as long as you do not deviate from the essence of the technical aspects of this disclosure. Furthermore, in order to avoid confusion and facilitate understanding of the technical aspects of this disclosure, explanations of common technical knowledge and the like that do not require special explanation to enable the implementation of the technical aspects of this disclosure have been omitted from the descriptions and illustrations presented above.
[2216] All documents, patent applications, and technical standards described herein are incorporated by reference to the same extent as if each individual document, patent application, and technical standard were specifically and individually noted to be incorporated by reference.
[2217] The following is further disclosed regarding the embodiments described above.
[2218] (Claim 1)
[2219] A means of inputting family composition information and dietary restriction information,
[2220] A means for inputting specified ingredient information,
[2221] A means for generating a menu based on the aforementioned family composition information, the aforementioned dietary restriction information, and the aforementioned ingredient information,
[2222] A means of obtaining sales information and inventory information from nearby stores,
[2223] A means for generating a purchase list of missing ingredients ...
Claims
1. A means of inputting family composition information and dietary restriction information, A means for inputting specified ingredient information, A means for generating a menu based on the aforementioned family composition information, the aforementioned dietary restriction information, and the aforementioned ingredient information, A means of obtaining sales information and inventory information from nearby stores, A means for generating a purchase list of missing ingredients based on the menu generated by the menu generation means and the store information, A system that includes this.
2. The system according to claim 1, further comprising means for communicating with a home appliance such as a refrigerator in order to automatically acquire the aforementioned food ingredient information.
3. The system according to claim 1, further comprising means for transmitting the generated menu and purchase list to the user's terminal.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A