system
The system efficiently prepares nutritionally balanced meals by managing ingredients, past meals, and daily schedules, addressing the challenges of busy lifestyles by suggesting optimal menus and reducing food waste.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-22
- Publication Date
- 2026-03-06
AI Technical Summary
Modern lifestyles make it difficult to prepare nutritionally balanced meals efficiently, as existing systems fail to effectively manage ingredients, past meal history, and suggest menus that consider dietary habits and time constraints.
A system that acquires ingredient information, manages past meal data, analyzes nutritional balance, and proposes optimal menus considering expiration dates and cooking time, using a centralized server and terminal devices to facilitate efficient meal preparation.
Enables users to prepare nutritionally balanced meals quickly while reducing food waste and supporting health by providing personalized menu suggestions based on ingredient availability, past meals, and daily schedules.
Smart Images

Figure 2026038044000001_ABST
Abstract
Description
[Technical Field]
[0001] The technology of the present disclosure relates to a system. [Background technology]
[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]
[0004] In today's busy modern lifestyles, it is not easy to prepare nutritionally balanced meals. It is also time-consuming to make effective use of ingredients purchased from the refrigerator or online supermarkets, and to suggest menus that take into account past meal history. There is a need for a system that can efficiently solve these issues and allow users to easily prepare nutritionally balanced meals. [Means for solving the problem]
[0005] The present invention provides the following means: a system including means for acquiring ingredient information, means for managing past meal information, means for acquiring information on the eating habits of each day, means for analyzing nutritional balance by synthesizing the above information, and means for proposing an optimal menu. Furthermore, one aspect of the present invention includes means for managing the expiration dates of ingredients and preferentially proposing ingredients with upcoming expiration dates. Furthermore, by including means for acquiring cooking time information and proposing an optimal menu, the system allows the user to cook efficiently within a limited time. This allows the user to use ingredients efficiently and easily prepare meals that take nutritional balance into consideration.
[0006] "Ingredient information" is information about the type, quantity, and expiration date of ingredients owned by the user.
[0007] "Past meal information" is information about the contents of meals that the user has eaten in the past.
[0008] "Information about the dietary situation for that day" is information about the contents of the meals that the user plans or has planned for that day and the time available for cooking.
[0009] "Analysis of nutritional balance" is the process of evaluating nutrient deficiencies and excesses based on input food ingredient information and past dietary information.
[0010] "Optimal menu suggestion" means generating and presenting the optimal menu based on the results of nutritional balance analysis, tailored to the user's situation.
[0011] The "means for managing expiration dates" is a function that records and monitors the expiration dates of registered food ingredients and gives priority to suggesting ingredients with an approaching expiration date.
[0012] "Cooking time information" is information about the time available for the user to cook. [Brief explanation of the drawings]
[0013] [Figure 1]1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION
[0014] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.
[0015] First, the terms used in the following description will be explained.
[0016] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).
[0017] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.
[0018] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.
[0019] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.
[0020] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."
[0021] [First embodiment]
[0022] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.
[0023] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.
[0024] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0025] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.
[0026] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.
[0027] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.
[0028] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.
[0029] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.
[0030] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0031] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0032] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0033] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0034] The present invention provides a system for proposing appropriate menus based on the user's meal contents and information on ingredients owned by the user. The system is configured as follows.
[0035] Managing food ingredient information
[0036] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to a server, which then stores the received information in a database. The user can also enter information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into the terminal. This makes it possible to always maintain the latest ingredient information.
[0037] Managing past meal information
[0038] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) through the device. The device sends this information to the server, which then stores the received information in a database. This allows the user's meal history to be accumulated, making it possible to understand the user's preferences and tendencies toward nutritional deficiencies.
[0039] Get status information for the day
[0040] The user inputs their plans and meal situation for the day (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into their device. The device sends this information to the server, which then understands the user's situation for the day. This information is then taken into consideration when suggesting the optimal menu.
[0041] Nutritional balance analysis
[0042] The server performs a comprehensive analysis of the food ingredient information it receives, past meal information, and the day's eating habits. For example, it evaluates whether a specific nutrient, such as a vitamin, mineral, or protein, is in excess or deficient state. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0043] Optimal menu suggestions
[0044] Based on all this information, the server generates the optimal menu. For example, if there is only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." This allows for a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[0045] Specific examples
[0046] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0047] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0048] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0049] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0050] 5. The server receives this information and determines that you are deficient in vitamin C.
[0051] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[0052] 7. The device displays the suggested menu and cooking instructions to the user.
[0053] In this way, users can efficiently prepare nutritionally balanced meals, and the system is a convenient tool for reducing food waste and supporting user health.
[0054] The processing flow will be explained below.
[0055] Step 1:
[0056] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[0057] Step 2:
[0058] The terminal transmits the input ingredient information to the server.
[0059] Step 3:
[0060] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[0061] Step 4:
[0062] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[0063] Step 5:
[0064] The terminal also transmits the inputted information about ingredients in the refrigerator to the server.
[0065] Step 6:
[0066] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[0067] Step 7:
[0068] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[0069] Step 8:
[0070] The device sends past meal information to the server.
[0071] Step 9:
[0072] The server stores past meal information in a database and updates the user's meal history.
[0073] Step 10:
[0074] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[0075] Step 11:
[0076] The device sends information about the day's schedule and meal status to the server.
[0077] Step 12:
[0078] The server analyzes the received information and updates the database.
[0079] Step 13:
[0080] The server comprehensively analyzes food information, past meal information, and the current meal situation, and particularly evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[0081] Step 14:
[0082] The server then generates the optimal menu for the user based on the analysis results. For example, if the user is lacking in vitamin C, the server creates a "chicken and vegetable stir fry" and a "mini salad."
[0083] Step 15:
[0084] The menu information generated by the server is sent to the terminal.
[0085] Step 16:
[0086] The device displays the received menu and cooking instructions to the user. For example, it displays "cooking instructions for stir-fried chicken and vegetables" or "how to make a mini salad."
[0087] Through this series of processes, users can efficiently prepare nutritionally balanced meals within a limited cooking time.
[0088] Example 1
[0089] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0090] In today's busy lifestyles, it is difficult for users to efficiently prepare nutritionally balanced meals. In particular, a system is needed that can manage ingredients, track past meal history, and suggest optimal menus based on the schedule and constraints of the day. However, conventional systems lack the functionality to comprehensively manage this information and suggest appropriate menus to users, making it difficult for users to find nutritionally balanced menus without hassle.
[0091] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0092] In this invention, the server includes means for inputting ingredient information and transmitting it to the server, means for inputting past meal information and transmitting it to the server, means for inputting plans and meal conditions for the day and transmitting it to the server, means for the server to store the received information in a database, means for the server to analyze the stored information and evaluate nutritional balance, means for the server to generate an optimal menu based on the analysis results and transmit it to the terminal, and means for the terminal to display the suggested menu. This allows the user to centrally manage multiple pieces of information and easily find a nutritionally balanced menu.
[0093] "Ingredient information" refers to detailed information such as the type, quantity, and purchase or possession date of specific ingredients purchased or possessed by the user.
[0094] "Past meal information" is information about the menu of meals the user has eaten in the past and the date and time of those meals.
[0095] "Situation information for that day" is information regarding the contents of meals the user plans to eat that day, time constraints, where to eat, and the like.
[0096] The "server" is a centralized computer system that receives, stores, and analyzes information about ingredients, past meals, and the day's situation.
[0097] A "terminal" is a device that allows a user to input information and that sends and receives information by communicating with a server.
[0098] A "database" is an information management system that stores information received by the server in an organized manner so that it can be used for later analysis and retrieval.
[0099] The "means for evaluating nutritional balance" is a function in which the server analyzes the user's nutritional intake status based on the data stored and determines whether a particular nutrient is in excess or deficiency.
[0100] The "means for generating an optimal menu" is a function in which the server uses the analysis results to create an optimal meal menu that matches the user's nutritional balance and the situation of the day.
[0101] The "means for displaying menu" is a function that visually presents the menu information received by the terminal from the server to the user.
[0102] The present invention is implemented using a computer system and software to provide a system that proposes appropriate menus based on the user's dietary details and information on ingredients they own. Specific embodiments of this system are described below.
[0103] System Configuration
[0104] The system consists of the following major components:
[0105] 1. Terminal: A device through which a user enters information (e.g., smartphone, tablet, computer).
[0106] 2. Server: A centralized computer system that receives, stores, analyzes, and generates information.
[0107] 3. Database: An information management system for storing the information received by the server.
[0108] Software used
[0109] 1. Input interface: Application software that allows users to input information about ingredients, past meals, and the situation of the day.
[0110] 2. Data analysis algorithm: Software that allows the server to analyze information and evaluate nutritional balance.
[0111] 3. Menu generation algorithm: Software that allows the server to generate optimal menus based on the analysis results.
[0112] Data processing and calculation
[0113] 1. Ingredient information management:
[0114] The user enters information about ingredients purchased from an online supermarket (e.g., "5 potatoes, 3 carrots, 500g of chicken") into the terminal.
[0115] The device sends this information to the server, which then stores it in a database. Users can also enter and send information about ingredients in their refrigerator (e.g., "two bananas, one bunch of spinach").
[0116] 2. Managing past dietary information:
[0117] The user inputs past meal information (e.g., "I had spaghetti for dinner last night and toast for breakfast") via the terminal.
[0118] The terminal sends this information to the server, and the server stores the received information in a database.
[0119] 3. Get the status information for the day:
[0120] The user inputs the day's plans and meal situation (e.g., "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner") into the terminal.
[0121] The device sends this information to the server, which then understands the user's situation that day. This information is then taken into consideration when suggesting the optimal menu.
[0122] 4. Nutritional Balance Analysis:
[0123] The server comprehensively analyzes the received food ingredient information, past meal information, and the eating situation of the day.
[0124] For example, it evaluates whether a specific nutrient, such as vitamins, minerals, or protein, is in excess or deficient. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0125] 5. Optimal menu suggestions:
[0126] Based on all this information, the server will generate the optimal menu. For example, if you only have 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and "mini salad."
[0127] This allows the user to enjoy a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the device, which then displays the suggested menu and cooking instructions to the user.
[0128] Specific examples
[0129] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0130] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0131] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0132] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0133] 5. The server receives this information and stores it in a database.
[0134] 6. The server determines that you are lacking in vitamin C and suggests a chicken and vegetable stir fry and a mini salad (using a banana).
[0135] 7. The device displays the suggested menu and cooking instructions to the user and prompts them to confirm.
[0136] Example prompt sentence:
[0137] When a user enters "I only have 30 minutes to cook dinner," they enter "I only have 30 minutes to cook dinner today."
[0138] The system helps users prepare nutritionally balanced meals efficiently, reducing food waste and supporting healthy living.
[0139] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0140] Step 1:
[0141] The user inputs ingredient information into the terminal. For example, the user inputs specific ingredient information such as "5 potatoes, 3 carrots, and 500g of chicken," and the terminal converts this information into a data format. The input data includes details such as the ingredient name, quantity, and purchase date.
[0142] Input: Ingredient information entered by the user into the device
[0143] Output: Ingredient data formatted by the device
[0144] Step 2:
[0145] The terminal sends the ingredient information to the server. The terminal then sends the input ingredient data to the server via the network. The sent data includes information such as the ingredient name, quantity, and purchase date.
[0146] Input: Ingredient data formatted on the terminal
[0147] Output: Ingredient information data sent to the server
[0148] Step 3:
[0149] The server stores the received ingredient information in a database. The server analyzes the received ingredient information and stores it appropriately in the database. This ensures that the ingredient information held by the user is kept up to date.
[0150] Input: Ingredient information data sent to the server
[0151] Output: Ingredient data stored in the database
[0152] Step 4:
[0153] The user inputs past meal information into the device. For example, by inputting "I had spaghetti for dinner yesterday and toast for breakfast," the device converts this information into data format. The data includes the meal contents and date and time.
[0154] Input: Past meal information entered by the user into the device
[0155] Output: Past meal data formatted by the device
[0156] Step 5:
[0157] The device sends past meal information to the server. The device then sends the entered past meal data to the server via the network. The sent data includes the menu name and the date and time of intake.
[0158] Input: Past meal data formatted on the device
[0159] Output: Past meal information data sent to the server
[0160] Step 6:
[0161] The server stores the received past meal information in a database. The server analyzes the received past meal information and stores it appropriately in the database. This allows the user's meal history to be recorded and managed.
[0162] Input: Past meal information data sent to the server
[0163] Output: Past meal data stored in a database
[0164] Step 7:
[0165] The user inputs the day's plans and meal situation into the terminal. For example, by inputting "Today's lunch is salad and pasta, and I only have 30 minutes to cook dinner," the terminal converts this into a data format.
[0166] Input: The situation information of the day that the user entered into the terminal
[0167] Output: Terminal formatted status data for the day
[0168] Step 8:
[0169] The terminal sends the situation information for that day to the server. The terminal sends the entered situation data for that day to the server via the network. The sent data includes meal plans and time constraints.
[0170] Input: Terminal formatted status data for the day
[0171] Output: Status information data for that day sent to the server
[0172] Step 9:
[0173] The server stores the received status information for that day in a database. The server analyzes the received information and stores it appropriately in the database to understand the user's status for that day.
[0174] Input: Status information data for that day sent to the server
[0175] Output: The situation data for that day stored in the database
[0176] Step 10:
[0177] The server analyzes the data stored in the database and evaluates nutritional balance. The server comprehensively analyzes information about ingredients, past meals, and the situation on that day. For example, if there is a vitamin C deficiency, it considers ingredients and menus that will compensate for that deficiency.
[0178] Input: Multiple pieces of information stored in a database
[0179] Output: Nutritional balance analysis results
[0180] Step 11:
[0181] The server generates the optimal menu based on the analysis results, taking into account nutritional balance and cooking time, and creates the optimal menu for the user (e.g., "stir-fried chicken and vegetables" and "mini salad").
[0182] Input: Nutritional balance analysis results, user status data
[0183] Output: Generated optimal menu data
[0184] Step 12:
[0185] The server sends the generated menu information to the terminal. The server then sends the generated menu and its cooking instructions to the user terminal and instructs it to display them on the screen.
[0186] Input: Generated optimal menu data
[0187] Output: Menu information sent to the device
[0188] Step 13:
[0189] The terminal displays the proposed menu and cooking instructions to the user. The terminal receives the menu information sent from the server and visually presents it to the user. Specific cooking instructions and necessary ingredients are also displayed.
[0190] Input: Menu information sent from the server
[0191] Output: Menu and cooking instructions displayed to the user
[0192] (Application example 1)
[0193] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0194] In modern society, it is difficult to prepare appropriate meals in the midst of busy lifestyles. In particular, there is a lack of systems that provide nutritionally balanced menus that comprehensively consider individual ingredient information, past meal history, and the situation of the day. Furthermore, there is a need for systems that can smoothly link with food delivery services. To solve this problem, it is necessary to propose optimal menus based on the user's diverse information and food delivery services that match them.
[0195] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0196] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for analyzing nutritional balance by integrating the above information, a means for proposing an optimal menu, and a means for proposing a food delivery service based on the optimal menu. This allows users to efficiently prepare nutritionally balanced meals even during busy lives, and also allows food to be delivered at the appropriate time.
[0197] "Ingredient information" refers to information such as the type and quantity of ingredients owned by the user, and the date of purchase.
[0198] "Past meal information" refers to records of the contents, dates, and amounts of meals that the user has eaten in the past.
[0199] "Information about the dietary situation for that day" refers to information such as the user's plans for that day, dietary restrictions, and available cooking time.
[0200] "Nutritional balance analysis" refers to the process of assessing the excess or deficiency of specific nutrients based on collected information on ingredients, past dietary information, and information on the dietary situation of the day.
[0201] "Optimal menu suggestion" refers to optimizing nutritional balance and generating and suggesting to the user a menu that meets the user's requirements.
[0202] "Food delivery service suggestion" refers to suggesting appropriate food delivery options to a user based on an optimal menu.
[0203] This system acquires information on ingredients owned by the user, past meal information, and daily meal situation, and performs a comprehensive analysis to propose optimal menus. Furthermore, it provides an appropriate food delivery service based on these proposals. The components of this system and their functions are described below.
[0204] System configuration
[0205] 1. Ingredient information management:
[0206] Users enter information about ingredients purchased from the online supermarket and ingredients in their refrigerator into a device such as a smartphone. The device then sends this information to the server, which then stores it in a database.
[0207] 2. Managing past dietary information:
[0208] Users input information about their past meals into the device, which is then sent to the server and stored in a database.
[0209] 3. Get the status information for the day:
[0210] The user inputs the day's plans and meal situation (for example, the time available for cooking) into the terminal. This information is also sent to the server and used as basic data to understand the situation for that day.
[0211] 4. Nutritional Balance Analysis:
[0212] The server evaluates the excess or deficiency of specific nutrients and analyzes nutritional balance based on the collected information on ingredients, past meal information, and information on the eating habits of the day.
[0213] 5. Optimal menu suggestions:
[0214] The server generates an optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This menu is sent to the terminal and displayed to the user.
[0215] 6. Food delivery service proposal:
[0216] Based on the generated menu, the server suggests food delivery service options that can deliver within a specified time frame.
[0217] Natural language explanation of the process
[0218] Hardware / Software used:
[0219] Flask: A Python web application framework used to provide API endpoints.
[0220] Database management: Database systems such as SQLite and MySQL (registered trademarks) can be used to store and manage data.
[0221] Data analysis: Deep learning models such as TENSORFLOW (registered trademark) and PyTorch are used to analyze nutritional balance.
[0222] Data processing / data calculation:
[0223] 1. Ingredient information management:
[0224] The ingredient information entered by the user is stored in a database.
[0225] 2. Managing past dietary information:
[0226] Past meal history is stored in a database.
[0227] 3. Get the status information for the day:
[0228] Store user schedules and cooking time information in a database.
[0229] 4. Nutritional Balance Analysis:
[0230] The stored data is comprehensively analyzed to assess whether there are any excesses or deficiencies of specific nutrients.
[0231] 5. Optimal menu suggestions:
[0232] Based on the analysis results, the optimal menu that meets the user's requirements is generated.
[0233] 6. Food delivery service proposal:
[0234] Suggest food delivery options that fit your menu.
[0235] Specific examples
[0236] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[0237] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[0238] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[0239] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[0240] 5. The server receives this information and determines that you are deficient in vitamin C.
[0241] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[0242] 7. Consider the food delivery services that the server can handle and suggest "Chinese food delivered within 25 minutes" and "salad delivered within 20 minutes."
[0243] In this way, users can efficiently prepare a nutritiously balanced meal and, if necessary, are encouraged to use appropriate food delivery services.
[0244] "Please suggest the optimal dinner menu and food delivery options based on user ID: 123's ingredient information (5 potatoes, 3 carrots, 500g chicken), past meal information (spaghetti, toast), today's schedule (salad and pasta for lunch, only 30 minutes to prepare dinner), and past nutritional analysis results (vitamin C deficiency)."
[0245] This system allows users to efficiently consume nutritionally balanced meals.
[0246] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0247] Step 1:
[0248] The user inputs information about ingredients purchased from the online supermarket and ingredients in the refrigerator into the terminal. The terminal then sends this information to the server. This input includes the type of ingredient, quantity, purchase date, etc. The server stores the received information in a database, ensuring that the latest ingredient information is always kept.
[0249] Step 2:
[0250] The user inputs information about past meals into the device. This information includes the type of meal, the date of meal, and the amount. The device then sends this information to the server, which then stores the received information in a database. This allows the user's dietary history to be accumulated and the user's preferences and tendency for nutritional deficiencies to be identified.
[0251] Step 3:
[0252] The user inputs their plans for the day and their meal situation (for example, the time they can cook) into the terminal. The terminal sends this information to the server, which then understands the user's situation for the day. This input includes the user's schedule and the time they can cook. The server then stores the user's situation in real time in a database.
[0253] Step 4:
[0254] The server comprehensively analyzes the received information on ingredients, past dietary information, and information on the dietary situation for that day. Generative AI models such as TensorFlow and PyTorch are used to evaluate whether specific nutrients are in excess or deficient. Specifically, the system analyzes the user's nutritional status based on nutrient content and intake history, and identifies any nutrients that are lacking.
[0255] Step 5:
[0256] The server generates the optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This generation uses Python logic to generate a menu that meets the user's requirements. The generated menu information is sent to the terminal and displayed to the user. For example, if a user is deficient in vitamin C, a menu using ingredients rich in vitamin C will be suggested.
[0257] Step 6:
[0258] The server reviews available delivery options to suggest an appropriate food delivery service, including delivery times and menu options. Based on the optimal menu, it recommends foods that can be delivered within a specified time frame. This information is also sent to the device and provided to the user.
[0259] Step 7:
[0260] Finally, users can review and select the suggested menu and food delivery service options via their device. This provides information such as ingredients needed for the menu, cooking instructions, and delivery options in one place, allowing users to efficiently prepare meals. They can also easily order food if needed.
[0261] Through these steps, the system helps users prepare nutritionally balanced meals efficiently and promotes the use of appropriate food delivery services, thereby improving user convenience.
[0262] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.
[0263] The present invention provides a system that proposes optimal menus based on the user's emotional state in addition to the user's dietary details and information on ingredients owned by the user. The system is configured as follows.
[0264] Managing food ingredient information
[0265] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to the server, which then stores the received information in a database. Similarly, a user enters information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into a terminal, which then sends this information to the server. This ensures that the latest ingredient information is always maintained.
[0266] Managing past meal information
[0267] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) into the device. The device then sends the past meal information to the server, which then stores the received information in a database. This allows the system to accumulate the user's meal history and understand the user's preferences and tendencies toward nutritional deficiencies.
[0268] Get status information for the day
[0269] The user inputs their plans for the day and their meal situation (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into the device. The device sends this information to the server, which then understands the user's situation for the day. This information is taken into consideration when proposing the optimal menu.
[0270] Acquiring emotional information using an emotion engine
[0271] The user inputs their emotional state (e.g., stressed, tired, relaxed) into the device through an emotion input interface. The device then sends this emotional information to the server, which then uses an emotion engine to store it in a database. This allows the user's emotional state to be grasped in real time and reflected in menu suggestions.
[0272] Nutritional balance analysis
[0273] The server comprehensively analyzes the received information on ingredients, past meal information, the day's eating habits, and emotional information. In particular, it evaluates whether the user is lacking or over-excessive nutrients such as vitamins, minerals, and protein. It also suggests ingredients and menus that suit the user's preferences based on the user's emotional state. For example, if the analysis indicates that the user is lacking in vitamin C, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0274] Optimal menu suggestions
[0275] Based on all this information, the server generates the optimal menu. For example, if the user has only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." Furthermore, if the user is feeling stressed, the server will also suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[0276] Specific examples
[0277] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0278] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0279] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0280] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0281] 5. The user enters "stressful" as their current emotional state.
[0282] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[0283] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[0284] 8. The device displays the suggested menu and cooking instructions to the user.
[0285] In this way, users can efficiently prepare nutritionally balanced meals according to their limited cooking time and their emotional state of the day. This system is a convenient tool for reducing food waste and supporting the overall health and psychological state of users.
[0286] The processing flow will be explained below.
[0287] Step 1:
[0288] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[0289] Step 2:
[0290] The terminal transmits the input ingredient information to the server.
[0291] Step 3:
[0292] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[0293] Step 4:
[0294] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[0295] Step 5:
[0296] The terminal transmits the inputted information about ingredients in the refrigerator to the server.
[0297] Step 6:
[0298] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[0299] Step 7:
[0300] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[0301] Step 8:
[0302] The device sends past meal information to the server.
[0303] Step 9:
[0304] The server stores past meal information in a database and updates the user's meal history.
[0305] Step 10:
[0306] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[0307] Step 11:
[0308] The device sends information about the day's schedule and meal status to the server.
[0309] Step 12:
[0310] The server analyzes the received information and updates the database.
[0311] Step 13:
[0312] The user inputs his / her own emotional state using the emotion input interface on the terminal, for example, inputting "stressed, tired, relaxed."
[0313] Step 14:
[0314] The device transmits the emotion information to the server.
[0315] Step 15:
[0316] The server analyzes the received emotion information using an emotion engine and stores it in a database.
[0317] Step 16:
[0318] The server comprehensively analyzes information on ingredients, past meal information, the eating habits of the day, and emotional information, and in particular evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[0319] Step 17:
[0320] The server then uses the analysis results to create a menu that is optimal for the user. For example, if a user is suffering from a vitamin C deficiency and is feeling stressed, the server will create a menu of stir-fried chicken and vegetables, a mini salad, and relaxing chamomile tea.
[0321] Step 18:
[0322] The menu information generated by the server is sent to the terminal.
[0323] Step 19:
[0324] The device displays the received menu and cooking instructions to the user. For example, it displays "1. Wash and chop the carrots and spinach. 2. Stir-fry the chicken. 3. Add the vegetables and stir-fry."
[0325] In this way, the user can efficiently prepare a nutritionally balanced meal that is responsive to their time and emotional state.
[0326] Example 2
[0327] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0328] In today's busy lifestyles, users face a wide range of challenges when preparing their daily meals. It is particularly difficult to prepare meals that are nutritionally balanced, within a limited time frame, and in line with the user's emotional state that day. Using available ingredients without waste is also an important challenge. Under these circumstances, a system that allows users to prepare meals efficiently is needed.
[0329] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0330] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for acquiring information on the user's emotional state, a means for analyzing nutritional balance by integrating the above information, and a means for proposing an optimal menu, thereby enabling the user to easily determine the optimal menu that takes into account nutritional balance according to the emotional state and situation of the day.
[0331] "Ingredient information" is data relating to the types and quantities of ingredients purchased or owned by the user.
[0332] "Past meal information" is data relating to the menu and contents of meals the user has eaten in the past.
[0333] "Information about the eating situation for that day" is data about the user's plans and constraints for the entire day, such as the time and place of eating, and the amount of time available for cooking.
[0334] "Information about the user's emotional state" is data about the emotions and psychological state that the user subjectively feels, such as stress, fatigue, relaxation, and the like.
[0335] "Means for analyzing nutritional balance" refers to algorithms or analytical systems that evaluate whether a user is getting enough or not enough nutrients based on information about ingredients, past meal information, the eating habits of the day, and the user's emotional state.
[0336] The "means for proposing optimal menus" is a system that generates and proposes meal menus that optimize the user's health and emotional state based on the analysis results.
[0337] MODE FOR CARRYING OUT THE INVENTION
[0338] This invention provides a system that proposes optimal menus based on the user's diet, information on ingredients they own, their situation on that day, and their emotional state. The system is composed of the following elements:
[0339] Managing food ingredient information
[0340] The user inputs information about ingredients purchased from an online supermarket or ingredients in the refrigerator into the terminal. Specifically, the terminal is designed to input ingredient information such as "5 potatoes, 3 carrots, 500g of chicken" using text boxes and check boxes. The terminal verifies this information and sends it to the server after confirming its accuracy. The server stores the received information in a management database (e.g., MySQL) and keeps the ingredient information up to date.
[0341] Managing past meal information
[0342] The user inputs past meal information into the device. For example, the device is designed to input information such as "I had spaghetti for dinner yesterday and toast for breakfast" into the history input screen. The device checks the input information and sends accurate information to the server. The server saves the received information in a management database and records it as a meal history. This makes it possible to understand the user's preferences and trends.
[0343] Get status information for the day
[0344] The user inputs the day's schedule and meal information into the terminal. Specifically, the user enters information such as "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook for dinner" into the input screen. The terminal checks the format of the information and, after confirming that there are no errors, sends it to the server. The server saves the received information in a management database and records it as the day's schedule information.
[0345] Acquiring emotional information using an emotion engine
[0346] The user inputs their emotional state through an emotion input interface (e.g., Emotion API). For example, they select or write their emotional state, such as "stressed, tired, relaxed," on the input screen. The device sends the emotional information to the server, which then uses Emotion API to analyze the emotional state and saves it in a management database. This allows the user's emotional state to be understood and reflected in menu suggestions.
[0347] Nutritional balance analysis
[0348] The server uses a Python script to analyze the received information on ingredients, past meal information, the situation of the day, and emotional information. Specifically, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and determines ingredients and menus that suit the user's preferences.
[0349] Optimal menu generation and suggestions
[0350] The server generates an optimal menu based on all the information. For example, based on the analysis results, in a situation where "you only have 30 minutes to cook dinner," the server will suggest "chicken and vegetable stir-fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect. The generated menu information is sent to the terminal, which then displays the suggested menu and cooking instructions to the user.
[0351] Specific examples
[0352] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0353] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0354] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0355] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0356] 5. The user enters "stressful" as their current emotional state.
[0357] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[0358] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[0359] 8. The device displays the suggested menu and cooking instructions to the user.
[0360] Example prompts to input to the generative AI model
[0361] "Please suggest the optimal menu based on the user's ingredient information, past meal information, situational information for that day, and emotional information. As a specific example, the following information is entered: Ingredient information: 5 potatoes, 3 carrots, 500g chicken, 2 bananas, 1 bunch of spinach. Past meal information: Spaghetti for dinner yesterday, toast for breakfast. Today's situation information: Salad and pasta for lunch, only 30 minutes to cook for dinner. Emotional information: I'm very stressed. Please give me an example of a menu suggestion."
[0362] This system allows users to easily decide on the optimal menu based on their emotional state and situation that day, taking into account nutritional balance.
[0363] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0364] Program processing flow
[0365] Step 1: Gathering information about ingredients
[0366] Specific actions
[0367] The user inputs information about ingredients purchased at the online supermarket and ingredients in the refrigerator into the terminal.
[0368] Input: Type and quantity of ingredients (e.g. "5 potatoes, 3 carrots, 500g chicken")
[0369] The device verifies the ingredient information entered to ensure it is accurate.
[0370] Input: Check the format of the input information
[0371] Output: Verification result (if correct, proceed to next step)
[0372] The terminal transmits the information that has passed the verification to the server.
[0373] The server stores the incoming data in the FoodIngredients table in the MySQL database.
[0374] Output: Save food information data
[0375] Step 2: Collecting past dietary information
[0376] Specific actions
[0377] The user inputs past meal information into the terminal.
[0378] Input: Past meals (e.g., "I had spaghetti for dinner last night and toast for breakfast")
[0379] The device checks the input and sends accurate information to the server.
[0380] Input: Check the format of the input information
[0381] Output: Verification result (if correct, proceed to next step)
[0382] The server stores past meal information in the MealHistory table.
[0383] Output: Save past meal information data
[0384] Step 3: Gathering information about the day
[0385] Specific actions
[0386] The user inputs the day's plans and meal habits into the terminal.
[0387] Input: Your plan for the day (e.g., "Lunch at work is salad and pasta, and I only have 30 minutes to prepare dinner.")
[0388] The terminal checks the format of the information to ensure it is correct.
[0389] Input: Check the format of the input information
[0390] Output: Verification result (if correct, proceed to next step)
[0391] The server stores the status information for that day in the DaySchedule table.
[0392] Output: Save the status information data for that day
[0393] Step 4: Collecting emotional information
[0394] Specific actions
[0395] A user inputs his / her own emotional state into a terminal through an emotion input interface.
[0396] Input: Emotional state (e.g., "stressed, tired, relaxed")
[0397] The device transmits the emotion information to the server.
[0398] The server uses EmotionAPI to analyze the emotional state and stores it in the EmotionData table.
[0399] Output: Save emotional information data
[0400] Step 5: Nutritional analysis
[0401] Specific actions
[0402] The server analyzes nutritional balance based on the various information received.
[0403] Input: Ingredient information, past meal information, situation information for the day, emotional information
[0404] The server uses Python scripts to assess deficiencies and excesses of nutrients such as vitamins, minerals, and protein.
[0405] Output: Nutritional balance evaluation results
[0406] Step 6: Generate and suggest optimal menus
[0407] Specific actions
[0408] The server generates the optimal menu based on all the information.
[0409] Input: Nutritional balance assessment results, user preferences, emotional state
[0410] The server generates the optimal menu and sends it to the device.
[0411] Output: Generate optimal menu
[0412] The device displays the suggested menu and cooking instructions to the user.
[0413] Specific examples
[0414] The specific processing flow is as follows:
[0415] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[0416] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[0417] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[0418] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[0419] 5. The user inputs "stressful" as their current emotional state and sends it to the server.
[0420] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that takes nutritional balance into consideration and reduces stress.
[0421] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the terminal.
[0422] 8. The device displays the suggested menu and cooking instructions to the user.
[0423] (Application example 2)
[0424] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."
[0425] In today's busy lifestyles, it is difficult for users to efficiently prepare meals while maintaining an appropriate nutritional balance. Furthermore, the lack of a system that suggests meal menus tailored to the user's emotional state prevents users from making dietary choices that reduce stress. Furthermore, there is no system that minimizes food waste and suggests optimal meals by comprehensively considering past meal information and the situation on that day.
[0426] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring ingredient information, means for managing past meal information, means for acquiring information on the eating situation for that day, means for acquiring the user's emotional state, means for analyzing nutritional balance by combining the above information, means for proposing an optimal menu based on the user's emotional information, and means for ordering meals based on the proposed menu. This enables the user to efficiently prepare and order nutritionally balanced meals that suit their psychological state.
[0427] The "means for acquiring ingredient information" is a method for the user to input the type and quantity of ingredients they own and send that information to the server.
[0428] The "means for managing past meal information" is a method for a user to record the details of meals that they have eaten in the past and store them on a server.
[0429] The "means for acquiring information on the dietary habits of that day" is a method by which the user inputs the plans and dietary habits of that day and transmits that information to the server.
[0430] The "means for acquiring the user's emotional state" is a method by which the user inputs his or her current emotional state and transmits that information to the server.
[0431] The "means for analyzing nutritional balance" is a method for evaluating the nutritional status of a user based on food ingredient information, past meal information, eating habits, and emotional information.
[0432] The "means for proposing optimal menus based on the user's emotional information" is a method for proposing ingredients and menus that have psychological effects by taking into account the user's emotional state.
[0433] The "means for ordering meals based on the proposed menu" is a method by which a user can review the proposed menu and place an order online.
[0434] This invention provides a system that proposes an optimal menu based on the user's meal contents, information on ingredients in their possession, past meal history, eating situation on that day, and emotional information, and further allows the user to easily order the menu.
[0435] System Configuration
[0436] 1. Hardware and Software
[0437] Device: A user's personal device, such as a smartphone or tablet.
[0438] Server: Any cloud provider (e.g. AWS®, Google® Cloud).
[0439] HTTP request library: requests (implemented primarily in Python).
[0440] Processing flow
[0441] 1. Obtaining ingredient information
[0442] The user inputs the types and quantities of ingredients they own into the terminal, including ingredients purchased from the online supermarket and ingredients in their refrigerator.
[0443] The terminal sends the input information to the server using an HTTP request, and the server stores the received information in a database.
[0444] 2. Managing past meal information
[0445] The user inputs the details of past meals (e.g., yesterday's dinner and breakfast) into the terminal.
[0446] The device sends this information to the server, which stores it in a database.
[0447] 3. Obtaining information on the day's eating habits
[0448] The user inputs the day's plans and meal situation (e.g., what to eat for lunch, how long it will take to cook dinner) into the terminal.
[0449] The device sends this information to the server, which then keeps track of the situation for that day.
[0450] 4. Acquiring emotional information
[0451] The user inputs their current emotional state (e.g., stress, fatigue, relaxation) into the terminal.
[0452] The device sends this emotion information to the server, which then uses an emotion engine to store it in a database.
[0453] 5. Analysis of nutritional balance
[0454] The server analyzes the nutritional balance based on the received ingredient information, past meal information, eating habits, and emotional information. In particular, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and generates an optimal menu based on the results.
[0455] 6. Optimal menu suggestions
[0456] The server then uses the analysis results and emotional information to suggest a menu suited to the user's psychological state. For example, if the user is deficient in vitamin C, it will suggest a menu using ingredients rich in vitamin C. Furthermore, if the user is under a lot of stress, it will also suggest a menu using ingredients that have a relaxing effect.
[0457] The proposed menu information is sent to the terminal, which displays it to the user.
[0458] 7. Ordering food
[0459] It provides a function that allows users to easily order meals based on the proposed menu.
[0460] Specific examples
[0461] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0462] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0463] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0464] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0465] 5. The user enters "stressful" as their current emotional state.
[0466] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[0467] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[0468] 8. The device displays the suggested menu and cooking instructions to the user, who then orders the menu online.
[0469] Prompt Sentence Examples
[0470] "The user has entered the following ingredients: {"Potatoes": 5, "Carrots": 3, "Chicken": 500}
[0471] The user's emotional state is entered as "stressful." The user's past meal information is as follows: Spaghetti. The user's plans and diet for the day are as follows: Salad and pasta for lunch, and 30 minutes to cook dinner. Please suggest the best meal plan based on this information."
[0472] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0473] Step 1:
[0474] The user inputs information about ingredients they own into the terminal. Using a smartphone or tablet, the user inputs ingredients purchased from an online supermarket or ingredients in the refrigerator. This input information includes the type and quantity of ingredients (e.g., "5 potatoes, 3 carrots, 500g of chicken"). The terminal sends the input data to the server using an HTTP request. The server stores the received ingredient information in a database.
[0475] Step 2:
[0476] The user inputs past meal information into the terminal. The user inputs the details of the meals they have eaten in the past (e.g., "I had spaghetti for dinner yesterday and toast for breakfast yesterday") into the terminal. The terminal sends this information to the server via an HTTP request. The server saves the received data in a database and accumulates it as the user's meal history.
[0477] Step 3:
[0478] The user inputs information about the day's diet into the terminal. The user also inputs the plan and diet for that day (e.g., "I'll have salad and pasta for lunch, and only 30 minutes to prepare dinner"). The terminal sends the input data to the server using an HTTP request. The server saves this information in a database and uses it as the plan information for that day.
[0479] Step 4:
[0480] The user inputs their current emotional state into the device. The user inputs their current emotional state (e.g., "stressed, tired, relaxed"). The device sends the input emotional information to the server using an HTTP request. The server stores the received emotional information in a database and uses the emotion engine for analysis.
[0481] Step 5:
[0482] The server analyzes nutritional balance by synthesizing all the information it receives. The server evaluates the food ingredient information, past meal information, the eating habits of the day, and emotional information. Specifically, it evaluates the excess or deficiency of nutrients such as vitamins, minerals, and protein, and analyzes the user's nutritional status. The results of this analysis serve as the basic data for proposing optimal menus.
[0483] Step 6:
[0484] The server proposes the optimal menu taking into account the user's emotional information. The server selects ingredients and menu items that will ease the user's psychological state based on the emotional information as well as the results of the nutritional balance analysis. For example, if the user is deficient in vitamin C, it will suggest ingredients rich in vitamin C (e.g., spinach). If the user is feeling stressed, it will suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The proposed menu information is sent to the device using an HTTP request.
[0485] Step 7:
[0486] The device displays the suggested menu and cooking instructions to the user. The user can check the menu information and cooking instructions displayed on the device and select a menu that suits their lifestyle. Users can also easily order meals online based on the suggested menu.
[0487] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0488] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0489] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.
[0490] [Second embodiment]
[0491] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.
[0492] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.
[0493] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0494] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.
[0495] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0496] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0497] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0498] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0499] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0500] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0501] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0502] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."
[0503] The present invention provides a system for proposing appropriate menus based on the user's meal contents and information on ingredients owned by the user. The system is configured as follows.
[0504] Managing food ingredient information
[0505] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to a server, which then stores the received information in a database. The user can also enter information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into the terminal. This makes it possible to always maintain the latest ingredient information.
[0506] Managing past meal information
[0507] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) through the device. The device sends this information to the server, which then stores the received information in a database. This allows the user's meal history to be accumulated, making it possible to understand the user's preferences and tendencies toward nutritional deficiencies.
[0508] Get status information for the day
[0509] The user inputs their plans and meal situation for the day (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into their device. The device sends this information to the server, which then understands the user's situation for the day. This information is then taken into consideration when suggesting the optimal menu.
[0510] Nutritional balance analysis
[0511] The server performs a comprehensive analysis of the food ingredient information it receives, past meal information, and the day's eating habits. For example, it evaluates whether a specific nutrient, such as a vitamin, mineral, or protein, is in excess or deficient state. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0512] Optimal menu suggestions
[0513] Based on all this information, the server generates the optimal menu. For example, if there is only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." This allows for a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[0514] Specific examples
[0515] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0516] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0517] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0518] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0519] 5. The server receives this information and determines that you are deficient in vitamin C.
[0520] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[0521] 7. The device displays the suggested menu and cooking instructions to the user.
[0522] In this way, users can efficiently prepare nutritionally balanced meals, and the system is a convenient tool for reducing food waste and supporting user health.
[0523] The processing flow will be explained below.
[0524] Step 1:
[0525] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[0526] Step 2:
[0527] The terminal transmits the input ingredient information to the server.
[0528] Step 3:
[0529] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[0530] Step 4:
[0531] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[0532] Step 5:
[0533] The terminal also transmits the inputted information about ingredients in the refrigerator to the server.
[0534] Step 6:
[0535] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[0536] Step 7:
[0537] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[0538] Step 8:
[0539] The device sends past meal information to the server.
[0540] Step 9:
[0541] The server stores past meal information in a database and updates the user's meal history.
[0542] Step 10:
[0543] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[0544] Step 11:
[0545] The device sends information about the day's schedule and meal status to the server.
[0546] Step 12:
[0547] The server analyzes the received information and updates the database.
[0548] Step 13:
[0549] The server comprehensively analyzes food information, past meal information, and the current meal situation, and particularly evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[0550] Step 14:
[0551] The server then generates the optimal menu for the user based on the analysis results. For example, if the user is lacking in vitamin C, the server creates a "chicken and vegetable stir fry" and a "mini salad."
[0552] Step 15:
[0553] The menu information generated by the server is sent to the terminal.
[0554] Step 16:
[0555] The device displays the received menu and cooking instructions to the user. For example, it displays "cooking instructions for stir-fried chicken and vegetables" or "how to make a mini salad."
[0556] Through this series of processes, users can efficiently prepare nutritionally balanced meals within a limited cooking time.
[0557] Example 1
[0558] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0559] In today's busy lifestyles, it is difficult for users to efficiently prepare nutritionally balanced meals. In particular, a system is needed that can manage ingredients, track past meal history, and suggest optimal menus based on the schedule and constraints of the day. However, conventional systems lack the functionality to comprehensively manage this information and suggest appropriate menus to users, making it difficult for users to find nutritionally balanced menus without hassle.
[0560] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[0561] In this invention, the server includes means for inputting ingredient information and transmitting it to the server, means for inputting past meal information and transmitting it to the server, means for inputting plans and meal conditions for the day and transmitting it to the server, means for the server to store the received information in a database, means for the server to analyze the stored information and evaluate nutritional balance, means for the server to generate an optimal menu based on the analysis results and transmit it to the terminal, and means for the terminal to display the suggested menu. This allows the user to centrally manage multiple pieces of information and easily find a nutritionally balanced menu.
[0562] "Ingredient information" refers to detailed information such as the type, quantity, and purchase or possession date of specific ingredients purchased or possessed by the user.
[0563] "Past meal information" is information about the menu of meals the user has eaten in the past and the date and time of those meals.
[0564] "Situation information for that day" is information regarding the contents of meals the user plans to eat that day, time constraints, where to eat, and the like.
[0565] The "server" is a centralized computer system that receives, stores, and analyzes information about ingredients, past meals, and the day's situation.
[0566] A "terminal" is a device that allows a user to input information and that sends and receives information by communicating with a server.
[0567] A "database" is an information management system that stores information received by the server in an organized manner so that it can be used for later analysis and retrieval.
[0568] The "means for evaluating nutritional balance" is a function in which the server analyzes the user's nutritional intake status based on the data stored and determines whether a particular nutrient is in excess or deficiency.
[0569] The "means for generating an optimal menu" is a function in which the server uses the analysis results to create an optimal meal menu that matches the user's nutritional balance and the situation of the day.
[0570] The "means for displaying menu" is a function that visually presents the menu information received by the terminal from the server to the user.
[0571] The present invention is implemented using a computer system and software to provide a system that proposes appropriate menus based on the user's dietary details and information on ingredients they own. Specific embodiments of this system are described below.
[0572] System Configuration
[0573] The system consists of the following major components:
[0574] 1. Terminal: A device through which a user enters information (e.g., smartphone, tablet, computer).
[0575] 2. Server: A centralized computer system that receives, stores, analyzes, and generates information.
[0576] 3. Database: An information management system for storing the information received by the server.
[0577] Software used
[0578] 1. Input interface: Application software that allows users to input information about ingredients, past meals, and the situation of the day.
[0579] 2. Data analysis algorithm: Software that allows the server to analyze information and evaluate nutritional balance.
[0580] 3. Menu generation algorithm: Software that allows the server to generate optimal menus based on the analysis results.
[0581] Data processing and calculation
[0582] 1. Ingredient information management:
[0583] The user enters information about ingredients purchased from an online supermarket (e.g., "5 potatoes, 3 carrots, 500g of chicken") into the terminal.
[0584] The device sends this information to the server, which then stores it in a database. Users can also enter and send information about ingredients in their refrigerator (e.g., "two bananas, one bunch of spinach").
[0585] 2. Managing past dietary information:
[0586] The user inputs past meal information (e.g., "I had spaghetti for dinner last night and toast for breakfast") via the terminal.
[0587] The terminal sends this information to the server, and the server stores the received information in a database.
[0588] 3. Get the status information for the day:
[0589] The user inputs the day's plans and meal situation (e.g., "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner") into the terminal.
[0590] The device sends this information to the server, which then understands the user's situation that day. This information is then taken into consideration when suggesting the optimal menu.
[0591] 4. Nutritional Balance Analysis:
[0592] The server comprehensively analyzes the received food ingredient information, past meal information, and the eating situation of the day.
[0593] For example, it evaluates whether a specific nutrient, such as vitamins, minerals, or protein, is in excess or deficient. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0594] 5. Optimal menu suggestions:
[0595] Based on all this information, the server will generate the optimal menu. For example, if you only have 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and "mini salad."
[0596] This allows the user to enjoy a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the device, which then displays the suggested menu and cooking instructions to the user.
[0597] Specific examples
[0598] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0599] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0600] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0601] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0602] 5. The server receives this information and stores it in a database.
[0603] 6. The server determines that you are lacking in vitamin C and suggests a chicken and vegetable stir fry and a mini salad (using a banana).
[0604] 7. The device displays the suggested menu and cooking instructions to the user and prompts them to confirm.
[0605] Example prompt sentence:
[0606] When a user enters "I only have 30 minutes to cook dinner," they enter "I only have 30 minutes to cook dinner today."
[0607] The system helps users prepare nutritionally balanced meals efficiently, reducing food waste and supporting healthy living.
[0608] The flow of the identification process in the first embodiment will be described with reference to FIG.
[0609] Step 1:
[0610] The user inputs ingredient information into the terminal. For example, the user inputs specific ingredient information such as "5 potatoes, 3 carrots, and 500g of chicken," and the terminal converts this information into a data format. The input data includes details such as the ingredient name, quantity, and purchase date.
[0611] Input: Ingredient information entered by the user into the device
[0612] Output: Ingredient data formatted by the device
[0613] Step 2:
[0614] The terminal sends the ingredient information to the server. The terminal then sends the input ingredient data to the server via the network. The sent data includes information such as the ingredient name, quantity, and purchase date.
[0615] Input: Ingredient data formatted on the terminal
[0616] Output: Ingredient information data sent to the server
[0617] Step 3:
[0618] The server stores the received ingredient information in a database. The server analyzes the received ingredient information and stores it appropriately in the database. This ensures that the ingredient information held by the user is kept up to date.
[0619] Input: Ingredient information data sent to the server
[0620] Output: Ingredient data stored in the database
[0621] Step 4:
[0622] The user inputs past meal information into the device. For example, by inputting "I had spaghetti for dinner yesterday and toast for breakfast," the device converts this information into data format. The data includes the meal contents and date and time.
[0623] Input: Past meal information entered by the user into the device
[0624] Output: Past meal data formatted by the device
[0625] Step 5:
[0626] The device sends past meal information to the server. The device then sends the entered past meal data to the server via the network. The sent data includes the menu name and the date and time of intake.
[0627] Input: Past meal data formatted on the device
[0628] Output: Past meal information data sent to the server
[0629] Step 6:
[0630] The server stores the received past meal information in a database. The server analyzes the received past meal information and stores it appropriately in the database. This allows the user's meal history to be recorded and managed.
[0631] Input: Past meal information data sent to the server
[0632] Output: Past meal data stored in a database
[0633] Step 7:
[0634] The user inputs the day's plans and meal situation into the terminal. For example, by inputting "Today's lunch is salad and pasta, and I only have 30 minutes to cook dinner," the terminal converts this into a data format.
[0635] Input: The situation information of the day that the user entered into the terminal
[0636] Output: Terminal formatted status data for the day
[0637] Step 8:
[0638] The terminal sends the situation information for that day to the server. The terminal sends the entered situation data for that day to the server via the network. The sent data includes meal plans and time constraints.
[0639] Input: Terminal formatted status data for the day
[0640] Output: Status information data for that day sent to the server
[0641] Step 9:
[0642] The server stores the received status information for that day in a database. The server analyzes the received information and stores it appropriately in the database to understand the user's status for that day.
[0643] Input: Status information data for that day sent to the server
[0644] Output: The situation data for that day stored in the database
[0645] Step 10:
[0646] The server analyzes the data stored in the database and evaluates nutritional balance. The server comprehensively analyzes information about ingredients, past meals, and the situation on that day. For example, if there is a vitamin C deficiency, it considers ingredients and menus that will compensate for that deficiency.
[0647] Input: Multiple pieces of information stored in a database
[0648] Output: Nutritional balance analysis results
[0649] Step 11:
[0650] The server generates the optimal menu based on the analysis results, taking into account nutritional balance and cooking time, and creates the optimal menu for the user (e.g., "stir-fried chicken and vegetables" and "mini salad").
[0651] Input: Nutritional balance analysis results, user status data
[0652] Output: Generated optimal menu data
[0653] Step 12:
[0654] The server sends the generated menu information to the terminal. The server then sends the generated menu and its cooking instructions to the user terminal and instructs it to display them on the screen.
[0655] Input: Generated optimal menu data
[0656] Output: Menu information sent to the device
[0657] Step 13:
[0658] The terminal displays the proposed menu and cooking instructions to the user. The terminal receives the menu information sent from the server and visually presents it to the user. Specific cooking instructions and necessary ingredients are also displayed.
[0659] Input: Menu information sent from the server
[0660] Output: Menu and cooking instructions displayed to the user
[0661] (Application example 1)
[0662] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0663] In modern society, it is difficult to prepare appropriate meals in the midst of busy lifestyles. In particular, there is a lack of systems that provide nutritionally balanced menus that comprehensively consider individual ingredient information, past meal history, and the situation of the day. Furthermore, there is a need for systems that can smoothly link with food delivery services. To solve this problem, it is necessary to propose optimal menus based on the user's diverse information and food delivery services that match them.
[0664] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[0665] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for analyzing nutritional balance by integrating the above information, a means for proposing an optimal menu, and a means for proposing a food delivery service based on the optimal menu. This allows users to efficiently prepare nutritionally balanced meals even during busy lives, and also allows food to be delivered at the appropriate time.
[0666] "Ingredient information" refers to information such as the type and quantity of ingredients owned by the user, and the date of purchase.
[0667] "Past meal information" refers to records of the contents, dates, and amounts of meals that the user has eaten in the past.
[0668] "Information about the dietary situation for that day" refers to information such as the user's plans for that day, dietary restrictions, and available cooking time.
[0669] "Nutritional balance analysis" refers to the process of assessing the excess or deficiency of specific nutrients based on collected information on ingredients, past dietary information, and information on the dietary situation of the day.
[0670] "Optimal menu suggestion" refers to optimizing nutritional balance and generating and suggesting to the user a menu that meets the user's requirements.
[0671] "Food delivery service suggestion" refers to suggesting appropriate food delivery options to a user based on an optimal menu.
[0672] This system acquires information on ingredients owned by the user, past meal information, and daily meal situation, and performs a comprehensive analysis to propose optimal menus. Furthermore, it provides an appropriate food delivery service based on these proposals. The components of this system and their functions are described below.
[0673] System configuration
[0674] 1. Ingredient information management:
[0675] Users enter information about ingredients purchased from the online supermarket and ingredients in their refrigerator into a device such as a smartphone. The device then sends this information to the server, which then stores it in a database.
[0676] 2. Managing past dietary information:
[0677] Users input information about their past meals into the device, which is then sent to the server and stored in a database.
[0678] 3. Get the status information for the day:
[0679] The user inputs the day's plans and meal situation (for example, the time available for cooking) into the terminal. This information is also sent to the server and used as basic data to understand the situation for that day.
[0680] 4. Nutritional Balance Analysis:
[0681] The server evaluates the excess or deficiency of specific nutrients and analyzes nutritional balance based on the collected information on ingredients, past meal information, and information on the eating habits of the day.
[0682] 5. Optimal menu suggestions:
[0683] The server generates an optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This menu is sent to the terminal and displayed to the user.
[0684] 6. Food delivery service proposal:
[0685] Based on the generated menu, the server suggests food delivery service options that can deliver within a specified time frame.
[0686] Natural language explanation of the process
[0687] Hardware / Software used:
[0688] Flask: A Python web application framework used to provide API endpoints.
[0689] Database Management: Database systems such as SQLite and MySQL can be used to store and manage data.
[0690] Data analysis: Deep learning models such as TensorFlow and PyTorch are used to analyze nutritional balance.
[0691] Data processing / data calculation:
[0692] 1. Ingredient information management:
[0693] The ingredient information entered by the user is stored in a database.
[0694] 2. Managing past dietary information:
[0695] Past meal history is stored in a database.
[0696] 3. Get the status information for the day:
[0697] Store user schedules and cooking time information in a database.
[0698] 4. Nutritional Balance Analysis:
[0699] The stored data is comprehensively analyzed to assess whether there are any excesses or deficiencies of specific nutrients.
[0700] 5. Optimal menu suggestions:
[0701] Based on the analysis results, the optimal menu that meets the user's requirements is generated.
[0702] 6. Food delivery service proposal:
[0703] Suggest food delivery options that fit your menu.
[0704] Specific examples
[0705] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[0706] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[0707] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[0708] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[0709] 5. The server receives this information and determines that you are deficient in vitamin C.
[0710] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[0711] 7. Consider the food delivery services that the server can handle and suggest "Chinese food delivered within 25 minutes" and "salad delivered within 20 minutes."
[0712] In this way, users can efficiently prepare a nutritiously balanced meal and, if necessary, are encouraged to use appropriate food delivery services.
[0713] "Please suggest the optimal dinner menu and food delivery options based on user ID: 123's ingredient information (5 potatoes, 3 carrots, 500g chicken), past meal information (spaghetti, toast), today's schedule (salad and pasta for lunch, only 30 minutes to prepare dinner), and past nutritional analysis results (vitamin C deficiency)."
[0714] This system allows users to efficiently consume nutritionally balanced meals.
[0715] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[0716] Step 1:
[0717] The user inputs information about ingredients purchased from the online supermarket and ingredients in the refrigerator into the terminal. The terminal then sends this information to the server. This input includes the type of ingredient, quantity, purchase date, etc. The server stores the received information in a database, ensuring that the latest ingredient information is always kept.
[0718] Step 2:
[0719] The user inputs information about past meals into the device. This information includes the type of meal, the date of meal, and the amount. The device then sends this information to the server, which then stores the received information in a database. This allows the user's dietary history to be accumulated and the user's preferences and tendency for nutritional deficiencies to be identified.
[0720] Step 3:
[0721] The user inputs their plans for the day and their meal situation (for example, the time they can cook) into the terminal. The terminal sends this information to the server, which then understands the user's situation for the day. This input includes the user's schedule and the time they can cook. The server then stores the user's situation in real time in a database.
[0722] Step 4:
[0723] The server comprehensively analyzes the received information on ingredients, past dietary information, and information on the dietary situation for that day. Generative AI models such as TensorFlow and PyTorch are used to evaluate whether specific nutrients are in excess or deficient. Specifically, the system analyzes the user's nutritional status based on nutrient content and intake history, and identifies any nutrients that are lacking.
[0724] Step 5:
[0725] The server generates the optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This generation uses Python logic to generate a menu that meets the user's requirements. The generated menu information is sent to the terminal and displayed to the user. For example, if a user is deficient in vitamin C, a menu using ingredients rich in vitamin C will be suggested.
[0726] Step 6:
[0727] The server reviews available delivery options to suggest an appropriate food delivery service, including delivery times and menu options. Based on the optimal menu, it recommends foods that can be delivered within a specified time frame. This information is also sent to the device and provided to the user.
[0728] Step 7:
[0729] Finally, users can review and select the suggested menu and food delivery service options via their device. This provides information such as ingredients needed for the menu, cooking instructions, and delivery options in one place, allowing users to efficiently prepare meals. They can also easily order food if needed.
[0730] Through these steps, the system helps users prepare nutritionally balanced meals efficiently and promotes the use of appropriate food delivery services, thereby improving user convenience.
[0731] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[0732] The present invention provides a system that proposes optimal menus based on the user's emotional state in addition to the user's dietary details and information on ingredients owned by the user. The system is configured as follows.
[0733] Managing food ingredient information
[0734] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to the server, which then stores the received information in a database. Similarly, a user enters information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into a terminal, which then sends this information to the server. This ensures that the latest ingredient information is always maintained.
[0735] Managing past meal information
[0736] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) into the device. The device then sends the past meal information to the server, which then stores the received information in a database. This allows the system to accumulate the user's meal history and understand the user's preferences and tendencies toward nutritional deficiencies.
[0737] Get status information for the day
[0738] The user inputs their plans for the day and their meal situation (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into the device. The device sends this information to the server, which then understands the user's situation for the day. This information is taken into consideration when proposing the optimal menu.
[0739] Acquiring emotional information using an emotion engine
[0740] The user inputs their emotional state (e.g., stressed, tired, relaxed) into the device through an emotion input interface. The device then sends this emotional information to the server, which then uses an emotion engine to store it in a database. This allows the user's emotional state to be grasped in real time and reflected in menu suggestions.
[0741] Nutritional balance analysis
[0742] The server comprehensively analyzes the received information on ingredients, past meal information, the day's eating habits, and emotional information. In particular, it evaluates whether the user is lacking or over-excessive nutrients such as vitamins, minerals, and protein. It also suggests ingredients and menus that suit the user's preferences based on the user's emotional state. For example, if the analysis indicates that the user is lacking in vitamin C, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0743] Optimal menu suggestions
[0744] Based on all this information, the server generates the optimal menu. For example, if the user has only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." Furthermore, if the user is feeling stressed, the server will also suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[0745] Specific examples
[0746] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0747] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0748] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0749] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0750] 5. The user enters "stressful" as their current emotional state.
[0751] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[0752] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[0753] 8. The device displays the suggested menu and cooking instructions to the user.
[0754] In this way, users can efficiently prepare nutritionally balanced meals according to their limited cooking time and their emotional state of the day. This system is a convenient tool for reducing food waste and supporting the overall health and psychological state of users.
[0755] The processing flow will be explained below.
[0756] Step 1:
[0757] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[0758] Step 2:
[0759] The terminal transmits the input ingredient information to the server.
[0760] Step 3:
[0761] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[0762] Step 4:
[0763] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[0764] Step 5:
[0765] The terminal transmits the inputted information about ingredients in the refrigerator to the server.
[0766] Step 6:
[0767] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[0768] Step 7:
[0769] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[0770] Step 8:
[0771] The device sends past meal information to the server.
[0772] Step 9:
[0773] The server stores past meal information in a database and updates the user's meal history.
[0774] Step 10:
[0775] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[0776] Step 11:
[0777] The device sends information about the day's schedule and meal status to the server.
[0778] Step 12:
[0779] The server analyzes the received information and updates the database.
[0780] Step 13:
[0781] The user inputs his / her own emotional state using the emotion input interface on the terminal, for example, inputting "stressed, tired, relaxed."
[0782] Step 14:
[0783] The device transmits the emotion information to the server.
[0784] Step 15:
[0785] The server analyzes the received emotion information using an emotion engine and stores it in a database.
[0786] Step 16:
[0787] The server comprehensively analyzes information on ingredients, past meal information, the eating habits of the day, and emotional information, and in particular evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[0788] Step 17:
[0789] The server then uses the analysis results to create a menu that is optimal for the user. For example, if a user is suffering from a vitamin C deficiency and is feeling stressed, the server will create a menu of stir-fried chicken and vegetables, a mini salad, and relaxing chamomile tea.
[0790] Step 18:
[0791] The menu information generated by the server is sent to the terminal.
[0792] Step 19:
[0793] The device displays the received menu and cooking instructions to the user. For example, it displays "1. Wash and chop the carrots and spinach. 2. Stir-fry the chicken. 3. Add the vegetables and stir-fry."
[0794] In this way, the user can efficiently prepare a nutritionally balanced meal that is responsive to their time and emotional state.
[0795] Example 2
[0796] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0797] In today's busy lifestyles, users face a wide range of challenges when preparing their daily meals. It is particularly difficult to prepare meals that are nutritionally balanced, within a limited time frame, and in line with the user's emotional state that day. Using available ingredients without waste is also an important challenge. Under these circumstances, a system that allows users to prepare meals efficiently is needed.
[0798] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[0799] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for acquiring information on the user's emotional state, a means for analyzing nutritional balance by integrating the above information, and a means for proposing an optimal menu, thereby enabling the user to easily determine the optimal menu that takes into account nutritional balance according to the emotional state and situation of the day.
[0800] "Ingredient information" is data relating to the types and quantities of ingredients purchased or owned by the user.
[0801] "Past meal information" is data relating to the menu and contents of meals the user has eaten in the past.
[0802] "Information about the eating situation for that day" is data about the user's plans and constraints for the entire day, such as the time and place of eating, and the amount of time available for cooking.
[0803] "Information about the user's emotional state" is data about the emotions and psychological state that the user subjectively feels, such as stress, fatigue, relaxation, and the like.
[0804] "Means for analyzing nutritional balance" refers to algorithms or analytical systems that evaluate whether a user is getting enough or not enough nutrients based on information about ingredients, past meal information, the eating habits of the day, and the user's emotional state.
[0805] The "means for proposing optimal menus" is a system that generates and proposes meal menus that optimize the user's health and emotional state based on the analysis results.
[0806] MODE FOR CARRYING OUT THE INVENTION
[0807] This invention provides a system that proposes optimal menus based on the user's diet, information on ingredients they own, their situation on that day, and their emotional state. The system is composed of the following elements:
[0808] Managing food ingredient information
[0809] The user inputs information about ingredients purchased from an online supermarket or ingredients in the refrigerator into the terminal. Specifically, the terminal is designed to input ingredient information such as "5 potatoes, 3 carrots, 500g of chicken" using text boxes and check boxes. The terminal verifies this information and sends it to the server after confirming its accuracy. The server stores the received information in a management database (e.g., MySQL) and keeps the ingredient information up to date.
[0810] Managing past meal information
[0811] The user inputs past meal information into the device. For example, the device is designed to input information such as "I had spaghetti for dinner yesterday and toast for breakfast" into the history input screen. The device checks the input information and sends accurate information to the server. The server saves the received information in a management database and records it as a meal history. This makes it possible to understand the user's preferences and trends.
[0812] Get status information for the day
[0813] The user inputs the day's schedule and meal information into the terminal. Specifically, the user enters information such as "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook for dinner" into the input screen. The terminal checks the format of the information and, after confirming that there are no errors, sends it to the server. The server saves the received information in a management database and records it as the day's schedule information.
[0814] Acquiring emotional information using an emotion engine
[0815] The user inputs their emotional state through an emotion input interface (e.g., Emotion API). For example, they select or write their emotional state, such as "stressed, tired, relaxed," on the input screen. The device sends the emotional information to the server, which then uses Emotion API to analyze the emotional state and saves it in a management database. This allows the user's emotional state to be understood and reflected in menu suggestions.
[0816] Nutritional balance analysis
[0817] The server uses a Python script to analyze the received information on ingredients, past meal information, the situation of the day, and emotional information. Specifically, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and determines ingredients and menus that suit the user's preferences.
[0818] Optimal menu generation and suggestions
[0819] The server generates an optimal menu based on all the information. For example, based on the analysis results, in a situation where "you only have 30 minutes to cook dinner," the server will suggest "chicken and vegetable stir-fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect. The generated menu information is sent to the terminal, which then displays the suggested menu and cooking instructions to the user.
[0820] Specific examples
[0821] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0822] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0823] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0824] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0825] 5. The user enters "stressful" as their current emotional state.
[0826] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[0827] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[0828] 8. The device displays the suggested menu and cooking instructions to the user.
[0829] Example prompts to input to the generative AI model
[0830] "Please suggest the optimal menu based on the user's ingredient information, past meal information, situational information for that day, and emotional information. As a specific example, the following information is entered: Ingredient information: 5 potatoes, 3 carrots, 500g chicken, 2 bananas, 1 bunch of spinach. Past meal information: Spaghetti for dinner yesterday, toast for breakfast. Today's situation information: Salad and pasta for lunch, only 30 minutes to cook for dinner. Emotional information: I'm very stressed. Please give me an example of a menu suggestion."
[0831] This system allows users to easily decide on the optimal menu based on their emotional state and situation that day, taking into account nutritional balance.
[0832] The flow of the identification process in the second embodiment will be described with reference to FIG.
[0833] Program processing flow
[0834] Step 1: Gathering information about ingredients
[0835] Specific actions
[0836] The user inputs information about ingredients purchased at the online supermarket and ingredients in the refrigerator into the terminal.
[0837] Input: Type and quantity of ingredients (e.g. "5 potatoes, 3 carrots, 500g chicken")
[0838] The device verifies the ingredient information entered to ensure it is accurate.
[0839] Input: Check the format of the input information
[0840] Output: Verification result (if correct, proceed to next step)
[0841] The terminal transmits the information that has passed the verification to the server.
[0842] The server stores the incoming data in the FoodIngredients table in the MySQL database.
[0843] Output: Save food information data
[0844] Step 2: Collecting past dietary information
[0845] Specific actions
[0846] The user inputs past meal information into the terminal.
[0847] Input: Past meals (e.g., "I had spaghetti for dinner last night and toast for breakfast")
[0848] The device checks the input and sends accurate information to the server.
[0849] Input: Check the format of the input information
[0850] Output: Verification result (if correct, proceed to next step)
[0851] The server stores past meal information in the MealHistory table.
[0852] Output: Save past meal information data
[0853] Step 3: Gathering information about the day
[0854] Specific actions
[0855] The user inputs the day's plans and meal habits into the terminal.
[0856] Input: Your plan for the day (e.g., "Lunch at work is salad and pasta, and I only have 30 minutes to prepare dinner.")
[0857] The terminal checks the format of the information to ensure it is correct.
[0858] Input: Check the format of the input information
[0859] Output: Verification result (if correct, proceed to next step)
[0860] The server stores the status information for that day in the DaySchedule table.
[0861] Output: Save the status information data for that day
[0862] Step 4: Collecting emotional information
[0863] Specific actions
[0864] A user inputs his / her own emotional state into a terminal through an emotion input interface.
[0865] Input: Emotional state (e.g., "stressed, tired, relaxed")
[0866] The device transmits the emotion information to the server.
[0867] The server uses EmotionAPI to analyze the emotional state and stores it in the EmotionData table.
[0868] Output: Save emotional information data
[0869] Step 5: Nutritional analysis
[0870] Specific actions
[0871] The server analyzes nutritional balance based on the various information received.
[0872] Input: Ingredient information, past meal information, situation information for the day, emotional information
[0873] The server uses Python scripts to assess deficiencies and excesses of nutrients such as vitamins, minerals, and protein.
[0874] Output: Nutritional balance evaluation results
[0875] Step 6: Generate and suggest optimal menus
[0876] Specific actions
[0877] The server generates the optimal menu based on all the information.
[0878] Input: Nutritional balance assessment results, user preferences, emotional state
[0879] The server generates the optimal menu and sends it to the device.
[0880] Output: Generate optimal menu
[0881] The device displays the suggested menu and cooking instructions to the user.
[0882] Specific examples
[0883] The specific processing flow is as follows:
[0884] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[0885] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[0886] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[0887] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[0888] 5. The user inputs "stressful" as their current emotional state and sends it to the server.
[0889] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that takes nutritional balance into consideration and reduces stress.
[0890] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the terminal.
[0891] 8. The device displays the suggested menu and cooking instructions to the user.
[0892] (Application example 2)
[0893] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."
[0894] In today's busy lifestyles, it is difficult for users to efficiently prepare meals while maintaining an appropriate nutritional balance. Furthermore, the lack of a system that suggests meal menus tailored to the user's emotional state prevents users from making dietary choices that reduce stress. Furthermore, there is no system that minimizes food waste and suggests optimal meals by comprehensively considering past meal information and the situation on that day.
[0895] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring ingredient information, means for managing past meal information, means for acquiring information on the eating situation for that day, means for acquiring the user's emotional state, means for analyzing nutritional balance by combining the above information, means for proposing an optimal menu based on the user's emotional information, and means for ordering meals based on the proposed menu. This enables the user to efficiently prepare and order nutritionally balanced meals that suit their psychological state.
[0896] The "means for acquiring ingredient information" is a method for the user to input the type and quantity of ingredients they own and send that information to the server.
[0897] The "means for managing past meal information" is a method for a user to record the details of meals that they have eaten in the past and store them on a server.
[0898] The "means for acquiring information on the dietary habits of that day" is a method by which the user inputs the plans and dietary habits of that day and transmits that information to the server.
[0899] The "means for acquiring the user's emotional state" is a method by which the user inputs his or her current emotional state and transmits that information to the server.
[0900] The "means for analyzing nutritional balance" is a method for evaluating the nutritional status of a user based on food ingredient information, past meal information, eating habits, and emotional information.
[0901] The "means for proposing optimal menus based on the user's emotional information" is a method for proposing ingredients and menus that have psychological effects by taking into account the user's emotional state.
[0902] The "means for ordering meals based on the proposed menu" is a method by which a user can review the proposed menu and place an order online.
[0903] This invention provides a system that proposes an optimal menu based on the user's meal contents, information on ingredients in their possession, past meal history, eating situation on that day, and emotional information, and further allows the user to easily order the menu.
[0904] System Configuration
[0905] 1. Hardware and Software
[0906] Device: A user's personal device, such as a smartphone or tablet.
[0907] Server: Any cloud provider (e.g. AWS, Google Cloud).
[0908] HTTP request library: requests (implemented primarily in Python).
[0909] Processing flow
[0910] 1. Obtaining ingredient information
[0911] The user inputs the types and quantities of ingredients they own into the terminal, including ingredients purchased from the online supermarket and ingredients in their refrigerator.
[0912] The terminal sends the input information to the server using an HTTP request, and the server stores the received information in a database.
[0913] 2. Managing past meal information
[0914] The user inputs the details of past meals (e.g., yesterday's dinner and breakfast) into the terminal.
[0915] The device sends this information to the server, which stores it in a database.
[0916] 3. Obtaining information on the day's eating habits
[0917] The user inputs the day's plans and meal situation (e.g., what to eat for lunch, how long it will take to cook dinner) into the terminal.
[0918] The device sends this information to the server, which then keeps track of the situation for that day.
[0919] 4. Acquiring emotional information
[0920] The user inputs their current emotional state (e.g., stress, fatigue, relaxation) into the terminal.
[0921] The device sends this emotion information to the server, which then uses an emotion engine to store it in a database.
[0922] 5. Analysis of nutritional balance
[0923] The server analyzes the nutritional balance based on the received ingredient information, past meal information, eating habits, and emotional information. In particular, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and generates an optimal menu based on the results.
[0924] 6. Optimal menu suggestions
[0925] The server then uses the analysis results and emotional information to suggest a menu suited to the user's psychological state. For example, if the user is deficient in vitamin C, it will suggest a menu using ingredients rich in vitamin C. Furthermore, if the user is under a lot of stress, it will also suggest a menu using ingredients that have a relaxing effect.
[0926] The proposed menu information is sent to the terminal, which displays it to the user.
[0927] 7. Ordering food
[0928] It provides a function that allows users to easily order meals based on the proposed menu.
[0929] Specific examples
[0930] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0931] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0932] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0933] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0934] 5. The user enters "stressful" as their current emotional state.
[0935] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[0936] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[0937] 8. The device displays the suggested menu and cooking instructions to the user, who then orders the menu online.
[0938] Prompt Sentence Examples
[0939] "The user has entered the following ingredients: {"Potatoes": 5, "Carrots": 3, "Chicken": 500}
[0940] The user's emotional state is entered as "stressful." The user's past meal information is as follows: Spaghetti. The user's plans and diet for the day are as follows: Salad and pasta for lunch, and 30 minutes to cook dinner. Please suggest the best meal plan based on this information."
[0941] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[0942] Step 1:
[0943] The user inputs information about ingredients they own into the terminal. Using a smartphone or tablet, the user inputs ingredients purchased from an online supermarket or ingredients in the refrigerator. This input information includes the type and quantity of ingredients (e.g., "5 potatoes, 3 carrots, 500g of chicken"). The terminal sends the input data to the server using an HTTP request. The server stores the received ingredient information in a database.
[0944] Step 2:
[0945] The user inputs past meal information into the terminal. The user inputs the details of the meals they have eaten in the past (e.g., "I had spaghetti for dinner yesterday and toast for breakfast yesterday") into the terminal. The terminal sends this information to the server via an HTTP request. The server saves the received data in a database and accumulates it as the user's meal history.
[0946] Step 3:
[0947] The user inputs information about the day's diet into the terminal. The user also inputs the plan and diet for that day (e.g., "I'll have salad and pasta for lunch, and only 30 minutes to prepare dinner"). The terminal sends the input data to the server using an HTTP request. The server saves this information in a database and uses it as the plan information for that day.
[0948] Step 4:
[0949] The user inputs their current emotional state into the device. The user inputs their current emotional state (e.g., "stressed, tired, relaxed"). The device sends the input emotional information to the server using an HTTP request. The server stores the received emotional information in a database and uses the emotion engine for analysis.
[0950] Step 5:
[0951] The server analyzes nutritional balance by synthesizing all the information it receives. The server evaluates the food ingredient information, past meal information, the eating habits of the day, and emotional information. Specifically, it evaluates the excess or deficiency of nutrients such as vitamins, minerals, and protein, and analyzes the user's nutritional status. The results of this analysis serve as the basic data for proposing optimal menus.
[0952] Step 6:
[0953] The server proposes the optimal menu taking into account the user's emotional information. The server selects ingredients and menu items that will ease the user's psychological state based on the emotional information as well as the results of the nutritional balance analysis. For example, if the user is deficient in vitamin C, it will suggest ingredients rich in vitamin C (e.g., spinach). If the user is feeling stressed, it will suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The proposed menu information is sent to the device using an HTTP request.
[0954] Step 7:
[0955] The device displays the suggested menu and cooking instructions to the user. The user can check the menu information and cooking instructions displayed on the device and select a menu that suits their lifestyle. Users can also easily order meals online based on the suggested menu.
[0956] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[0957] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[0958] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.
[0959] [Third embodiment]
[0960] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.
[0961] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.
[0962] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[0963] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.
[0964] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[0965] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[0966] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[0967] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[0968] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[0969] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[0970] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[0971] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."
[0972] The present invention provides a system for proposing appropriate menus based on the user's meal contents and information on ingredients owned by the user. The system is configured as follows.
[0973] Managing food ingredient information
[0974] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to a server, which then stores the received information in a database. The user can also enter information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into the terminal. This makes it possible to always maintain the latest ingredient information.
[0975] Managing past meal information
[0976] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) through the device. The device sends this information to the server, which then stores the received information in a database. This allows the user's meal history to be accumulated, making it possible to understand the user's preferences and tendencies toward nutritional deficiencies.
[0977] Get status information for the day
[0978] The user inputs their plans and meal situation for the day (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into their device. The device sends this information to the server, which then understands the user's situation for the day. This information is then taken into consideration when suggesting the optimal menu.
[0979] Nutritional balance analysis
[0980] The server performs a comprehensive analysis of the food ingredient information it receives, past meal information, and the day's eating habits. For example, it evaluates whether a specific nutrient, such as a vitamin, mineral, or protein, is in excess or deficient state. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[0981] Optimal menu suggestions
[0982] Based on all this information, the server generates the optimal menu. For example, if there is only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." This allows for a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[0983] Specific examples
[0984] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[0985] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[0986] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[0987] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[0988] 5. The server receives this information and determines that you are deficient in vitamin C.
[0989] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[0990] 7. The device displays the suggested menu and cooking instructions to the user.
[0991] In this way, users can efficiently prepare nutritionally balanced meals, and the system is a convenient tool for reducing food waste and supporting user health.
[0992] The processing flow will be explained below.
[0993] Step 1:
[0994] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[0995] Step 2:
[0996] The terminal transmits the input ingredient information to the server.
[0997] Step 3:
[0998] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[0999] Step 4:
[1000] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[1001] Step 5:
[1002] The terminal also transmits the inputted information about ingredients in the refrigerator to the server.
[1003] Step 6:
[1004] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[1005] Step 7:
[1006] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[1007] Step 8:
[1008] The device sends past meal information to the server.
[1009] Step 9:
[1010] The server stores past meal information in a database and updates the user's meal history.
[1011] Step 10:
[1012] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[1013] Step 11:
[1014] The device sends information about the day's schedule and meal status to the server.
[1015] Step 12:
[1016] The server analyzes the received information and updates the database.
[1017] Step 13:
[1018] The server comprehensively analyzes food information, past meal information, and the current meal situation, and particularly evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[1019] Step 14:
[1020] The server then generates the optimal menu for the user based on the analysis results. For example, if the user is lacking in vitamin C, the server creates a "chicken and vegetable stir fry" and a "mini salad."
[1021] Step 15:
[1022] The menu information generated by the server is sent to the terminal.
[1023] Step 16:
[1024] The device displays the received menu and cooking instructions to the user. For example, it displays "cooking instructions for stir-fried chicken and vegetables" or "how to make a mini salad."
[1025] Through this series of processes, users can efficiently prepare nutritionally balanced meals within a limited cooking time.
[1026] Example 1
[1027] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1028] In today's busy lifestyles, it is difficult for users to efficiently prepare nutritionally balanced meals. In particular, a system is needed that can manage ingredients, track past meal history, and suggest optimal menus based on the schedule and constraints of the day. However, conventional systems lack the functionality to comprehensively manage this information and suggest appropriate menus to users, making it difficult for users to find nutritionally balanced menus without hassle.
[1029] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1030] In this invention, the server includes means for inputting ingredient information and transmitting it to the server, means for inputting past meal information and transmitting it to the server, means for inputting plans and meal conditions for the day and transmitting it to the server, means for the server to store the received information in a database, means for the server to analyze the stored information and evaluate nutritional balance, means for the server to generate an optimal menu based on the analysis results and transmit it to the terminal, and means for the terminal to display the suggested menu. This allows the user to centrally manage multiple pieces of information and easily find a nutritionally balanced menu.
[1031] "Ingredient information" refers to detailed information such as the type, quantity, and purchase or possession date of specific ingredients purchased or possessed by the user.
[1032] "Past meal information" is information about the menu of meals the user has eaten in the past and the date and time of those meals.
[1033] "Situation information for that day" is information regarding the contents of meals the user plans to eat that day, time constraints, where to eat, and the like.
[1034] The "server" is a centralized computer system that receives, stores, and analyzes information about ingredients, past meals, and the day's situation.
[1035] A "terminal" is a device that allows a user to input information and that sends and receives information by communicating with a server.
[1036] A "database" is an information management system that stores information received by the server in an organized manner so that it can be used for later analysis and retrieval.
[1037] The "means for evaluating nutritional balance" is a function in which the server analyzes the user's nutritional intake status based on the data stored and determines whether a particular nutrient is in excess or deficiency.
[1038] The "means for generating an optimal menu" is a function in which the server uses the analysis results to create an optimal meal menu that matches the user's nutritional balance and the situation of the day.
[1039] The "means for displaying menu" is a function that visually presents the menu information received by the terminal from the server to the user.
[1040] The present invention is implemented using a computer system and software to provide a system that proposes appropriate menus based on the user's dietary details and information on ingredients they own. Specific embodiments of this system are described below.
[1041] System Configuration
[1042] The system consists of the following major components:
[1043] 1. Terminal: A device through which a user enters information (e.g., smartphone, tablet, computer).
[1044] 2. Server: A centralized computer system that receives, stores, analyzes, and generates information.
[1045] 3. Database: An information management system for storing the information received by the server.
[1046] Software used
[1047] 1. Input interface: Application software that allows users to input information about ingredients, past meals, and the situation of the day.
[1048] 2. Data analysis algorithm: Software that allows the server to analyze information and evaluate nutritional balance.
[1049] 3. Menu generation algorithm: Software that allows the server to generate optimal menus based on the analysis results.
[1050] Data processing and calculation
[1051] 1. Ingredient information management:
[1052] The user enters information about ingredients purchased from an online supermarket (e.g., "5 potatoes, 3 carrots, 500g of chicken") into the terminal.
[1053] The device sends this information to the server, which then stores it in a database. Users can also enter and send information about ingredients in their refrigerator (e.g., "two bananas, one bunch of spinach").
[1054] 2. Managing past dietary information:
[1055] The user inputs past meal information (e.g., "I had spaghetti for dinner last night and toast for breakfast") via the terminal.
[1056] The terminal sends this information to the server, and the server stores the received information in a database.
[1057] 3. Get the status information for the day:
[1058] The user inputs the day's plans and meal situation (e.g., "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner") into the terminal.
[1059] The device sends this information to the server, which then understands the user's situation that day. This information is then taken into consideration when suggesting the optimal menu.
[1060] 4. Nutritional Balance Analysis:
[1061] The server comprehensively analyzes the received food ingredient information, past meal information, and the eating situation of the day.
[1062] For example, it evaluates whether a specific nutrient, such as vitamins, minerals, or protein, is in excess or deficient. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[1063] 5. Optimal menu suggestions:
[1064] Based on all this information, the server will generate the optimal menu. For example, if you only have 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and "mini salad."
[1065] This allows the user to enjoy a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the device, which then displays the suggested menu and cooking instructions to the user.
[1066] Specific examples
[1067] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1068] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1069] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1070] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1071] 5. The server receives this information and stores it in a database.
[1072] 6. The server determines that you are lacking in vitamin C and suggests a chicken and vegetable stir fry and a mini salad (using a banana).
[1073] 7. The device displays the suggested menu and cooking instructions to the user and prompts them to confirm.
[1074] Example prompt sentence:
[1075] When a user enters "I only have 30 minutes to cook dinner," they enter "I only have 30 minutes to cook dinner today."
[1076] The system helps users prepare nutritionally balanced meals efficiently, reducing food waste and supporting healthy living.
[1077] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1078] Step 1:
[1079] The user inputs ingredient information into the terminal. For example, the user inputs specific ingredient information such as "5 potatoes, 3 carrots, and 500g of chicken," and the terminal converts this information into a data format. The input data includes details such as the ingredient name, quantity, and purchase date.
[1080] Input: Ingredient information entered by the user into the device
[1081] Output: Ingredient data formatted by the device
[1082] Step 2:
[1083] The terminal sends the ingredient information to the server. The terminal then sends the input ingredient data to the server via the network. The sent data includes information such as the ingredient name, quantity, and purchase date.
[1084] Input: Ingredient data formatted on the terminal
[1085] Output: Ingredient information data sent to the server
[1086] Step 3:
[1087] The server stores the received ingredient information in a database. The server analyzes the received ingredient information and stores it appropriately in the database. This ensures that the ingredient information held by the user is kept up to date.
[1088] Input: Ingredient information data sent to the server
[1089] Output: Ingredient data stored in the database
[1090] Step 4:
[1091] The user inputs past meal information into the device. For example, by inputting "I had spaghetti for dinner yesterday and toast for breakfast," the device converts this information into data format. The data includes the meal contents and date and time.
[1092] Input: Past meal information entered by the user into the device
[1093] Output: Past meal data formatted by the device
[1094] Step 5:
[1095] The device sends past meal information to the server. The device then sends the entered past meal data to the server via the network. The sent data includes the menu name and the date and time of intake.
[1096] Input: Past meal data formatted on the device
[1097] Output: Past meal information data sent to the server
[1098] Step 6:
[1099] The server stores the received past meal information in a database. The server analyzes the received past meal information and stores it appropriately in the database. This allows the user's meal history to be recorded and managed.
[1100] Input: Past meal information data sent to the server
[1101] Output: Past meal data stored in a database
[1102] Step 7:
[1103] The user inputs the day's plans and meal situation into the terminal. For example, by inputting "Today's lunch is salad and pasta, and I only have 30 minutes to cook dinner," the terminal converts this into a data format.
[1104] Input: The situation information of the day that the user entered into the terminal
[1105] Output: Terminal formatted status data for the day
[1106] Step 8:
[1107] The terminal sends the situation information for that day to the server. The terminal sends the entered situation data for that day to the server via the network. The sent data includes meal plans and time constraints.
[1108] Input: Terminal formatted status data for the day
[1109] Output: Status information data for that day sent to the server
[1110] Step 9:
[1111] The server stores the received status information for that day in a database. The server analyzes the received information and stores it appropriately in the database to understand the user's status for that day.
[1112] Input: Status information data for that day sent to the server
[1113] Output: The situation data for that day stored in the database
[1114] Step 10:
[1115] The server analyzes the data stored in the database and evaluates nutritional balance. The server comprehensively analyzes information about ingredients, past meals, and the situation on that day. For example, if there is a vitamin C deficiency, it considers ingredients and menus that will compensate for that deficiency.
[1116] Input: Multiple pieces of information stored in a database
[1117] Output: Nutritional balance analysis results
[1118] Step 11:
[1119] The server generates the optimal menu based on the analysis results, taking into account nutritional balance and cooking time, and creates the optimal menu for the user (e.g., "stir-fried chicken and vegetables" and "mini salad").
[1120] Input: Nutritional balance analysis results, user status data
[1121] Output: Generated optimal menu data
[1122] Step 12:
[1123] The server sends the generated menu information to the terminal. The server then sends the generated menu and its cooking instructions to the user terminal and instructs it to display them on the screen.
[1124] Input: Generated optimal menu data
[1125] Output: Menu information sent to the device
[1126] Step 13:
[1127] The terminal displays the proposed menu and cooking instructions to the user. The terminal receives the menu information sent from the server and visually presents it to the user. Specific cooking instructions and necessary ingredients are also displayed.
[1128] Input: Menu information sent from the server
[1129] Output: Menu and cooking instructions displayed to the user
[1130] (Application example 1)
[1131] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1132] In modern society, it is difficult to prepare appropriate meals in the midst of busy lifestyles. In particular, there is a lack of systems that provide nutritionally balanced menus that comprehensively consider individual ingredient information, past meal history, and the situation of the day. Furthermore, there is a need for systems that can smoothly link with food delivery services. To solve this problem, it is necessary to propose optimal menus based on the user's diverse information and food delivery services that match them.
[1133] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1134] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for analyzing nutritional balance by integrating the above information, a means for proposing an optimal menu, and a means for proposing a food delivery service based on the optimal menu. This allows users to efficiently prepare nutritionally balanced meals even during busy lives, and also allows food to be delivered at the appropriate time.
[1135] "Ingredient information" refers to information such as the type and quantity of ingredients owned by the user, and the date of purchase.
[1136] "Past meal information" refers to records of the contents, dates, and amounts of meals that the user has eaten in the past.
[1137] "Information about the dietary situation for that day" refers to information such as the user's plans for that day, dietary restrictions, and available cooking time.
[1138] "Nutritional balance analysis" refers to the process of assessing the excess or deficiency of specific nutrients based on collected information on ingredients, past dietary information, and information on the dietary situation of the day.
[1139] "Optimal menu suggestion" refers to optimizing nutritional balance and generating and suggesting to the user a menu that meets the user's requirements.
[1140] "Food delivery service suggestion" refers to suggesting appropriate food delivery options to a user based on an optimal menu.
[1141] This system acquires information on ingredients owned by the user, past meal information, and daily meal situation, and performs a comprehensive analysis to propose optimal menus. Furthermore, it provides an appropriate food delivery service based on these proposals. The components of this system and their functions are described below.
[1142] System configuration
[1143] 1. Ingredient information management:
[1144] Users enter information about ingredients purchased from the online supermarket and ingredients in their refrigerator into a device such as a smartphone. The device then sends this information to the server, which then stores it in a database.
[1145] 2. Managing past dietary information:
[1146] Users input information about their past meals into the device, which is then sent to the server and stored in a database.
[1147] 3. Get the status information for the day:
[1148] The user inputs the day's plans and meal situation (for example, the time available for cooking) into the terminal. This information is also sent to the server and used as basic data to understand the situation for that day.
[1149] 4. Nutritional Balance Analysis:
[1150] The server evaluates the excess or deficiency of specific nutrients and analyzes nutritional balance based on the collected information on ingredients, past meal information, and information on the eating habits of the day.
[1151] 5. Optimal menu suggestions:
[1152] The server generates an optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This menu is sent to the terminal and displayed to the user.
[1153] 6. Food delivery service proposal:
[1154] Based on the generated menu, the server suggests food delivery service options that can deliver within a specified time frame.
[1155] Natural language explanation of the process
[1156] Hardware / Software used:
[1157] Flask: A Python web application framework used to provide API endpoints.
[1158] Database Management: Database systems such as SQLite and MySQL can be used to store and manage data.
[1159] Data analysis: Deep learning models such as TensorFlow and PyTorch are used to analyze nutritional balance.
[1160] Data processing / data calculation:
[1161] 1. Ingredient information management:
[1162] The ingredient information entered by the user is stored in a database.
[1163] 2. Managing past dietary information:
[1164] Past meal history is stored in a database.
[1165] 3. Get the status information for the day:
[1166] Store user schedules and cooking time information in a database.
[1167] 4. Nutritional Balance Analysis:
[1168] The stored data is comprehensively analyzed to assess whether there are any excesses or deficiencies of specific nutrients.
[1169] 5. Optimal menu suggestions:
[1170] Based on the analysis results, the optimal menu that meets the user's requirements is generated.
[1171] 6. Food delivery service proposal:
[1172] Suggest food delivery options that fit your menu.
[1173] Specific examples
[1174] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[1175] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[1176] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[1177] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[1178] 5. The server receives this information and determines that you are deficient in vitamin C.
[1179] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[1180] 7. Consider the food delivery services that the server can handle and suggest "Chinese food delivered within 25 minutes" and "salad delivered within 20 minutes."
[1181] In this way, users can efficiently prepare a nutritiously balanced meal and, if necessary, are encouraged to use appropriate food delivery services.
[1182] "Please suggest the optimal dinner menu and food delivery options based on user ID: 123's ingredient information (5 potatoes, 3 carrots, 500g chicken), past meal information (spaghetti, toast), today's schedule (salad and pasta for lunch, only 30 minutes to prepare dinner), and past nutritional analysis results (vitamin C deficiency)."
[1183] This system allows users to efficiently consume nutritionally balanced meals.
[1184] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1185] Step 1:
[1186] The user inputs information about ingredients purchased from the online supermarket and ingredients in the refrigerator into the terminal. The terminal then sends this information to the server. This input includes the type of ingredient, quantity, purchase date, etc. The server stores the received information in a database, ensuring that the latest ingredient information is always kept.
[1187] Step 2:
[1188] The user inputs information about past meals into the device. This information includes the type of meal, the date of meal, and the amount. The device then sends this information to the server, which then stores the received information in a database. This allows the user's dietary history to be accumulated and the user's preferences and tendency for nutritional deficiencies to be identified.
[1189] Step 3:
[1190] The user inputs their plans for the day and their meal situation (for example, the time they can cook) into the terminal. The terminal sends this information to the server, which then understands the user's situation for the day. This input includes the user's schedule and the time they can cook. The server then stores the user's situation in real time in a database.
[1191] Step 4:
[1192] The server comprehensively analyzes the received information on ingredients, past dietary information, and information on the dietary situation for that day. Generative AI models such as TensorFlow and PyTorch are used to evaluate whether specific nutrients are in excess or deficient. Specifically, the system analyzes the user's nutritional status based on nutrient content and intake history, and identifies any nutrients that are lacking.
[1193] Step 5:
[1194] The server generates the optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This generation uses Python logic to generate a menu that meets the user's requirements. The generated menu information is sent to the terminal and displayed to the user. For example, if a user is deficient in vitamin C, a menu using ingredients rich in vitamin C will be suggested.
[1195] Step 6:
[1196] The server reviews available delivery options to suggest an appropriate food delivery service, including delivery times and menu options. Based on the optimal menu, it recommends foods that can be delivered within a specified time frame. This information is also sent to the device and provided to the user.
[1197] Step 7:
[1198] Finally, users can review and select the suggested menu and food delivery service options via their device. This provides information such as ingredients needed for the menu, cooking instructions, and delivery options in one place, allowing users to efficiently prepare meals. They can also easily order food if needed.
[1199] Through these steps, the system helps users prepare nutritionally balanced meals efficiently and promotes the use of appropriate food delivery services, thereby improving user convenience.
[1200] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1201] The present invention provides a system that proposes optimal menus based on the user's emotional state in addition to the user's dietary details and information on ingredients owned by the user. The system is configured as follows.
[1202] Managing food ingredient information
[1203] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to the server, which then stores the received information in a database. Similarly, a user enters information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into a terminal, which then sends this information to the server. This ensures that the latest ingredient information is always maintained.
[1204] Managing past meal information
[1205] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) into the device. The device then sends the past meal information to the server, which then stores the received information in a database. This allows the system to accumulate the user's meal history and understand the user's preferences and tendencies toward nutritional deficiencies.
[1206] Get status information for the day
[1207] The user inputs their plans for the day and their meal situation (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into the device. The device sends this information to the server, which then understands the user's situation for the day. This information is taken into consideration when proposing the optimal menu.
[1208] Acquiring emotional information using an emotion engine
[1209] The user inputs their emotional state (e.g., stressed, tired, relaxed) into the device through an emotion input interface. The device then sends this emotional information to the server, which then uses an emotion engine to store it in a database. This allows the user's emotional state to be grasped in real time and reflected in menu suggestions.
[1210] Nutritional balance analysis
[1211] The server comprehensively analyzes the received information on ingredients, past meal information, the day's eating habits, and emotional information. In particular, it evaluates whether the user is lacking or over-excessive nutrients such as vitamins, minerals, and protein. It also suggests ingredients and menus that suit the user's preferences based on the user's emotional state. For example, if the analysis indicates that the user is lacking in vitamin C, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[1212] Optimal menu suggestions
[1213] Based on all this information, the server generates the optimal menu. For example, if the user has only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." Furthermore, if the user is feeling stressed, the server will also suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[1214] Specific examples
[1215] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1216] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1217] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1218] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1219] 5. The user enters "stressful" as their current emotional state.
[1220] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[1221] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[1222] 8. The device displays the suggested menu and cooking instructions to the user.
[1223] In this way, users can efficiently prepare nutritionally balanced meals according to their limited cooking time and their emotional state of the day. This system is a convenient tool for reducing food waste and supporting the overall health and psychological state of users.
[1224] The processing flow will be explained below.
[1225] Step 1:
[1226] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[1227] Step 2:
[1228] The terminal transmits the input ingredient information to the server.
[1229] Step 3:
[1230] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[1231] Step 4:
[1232] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[1233] Step 5:
[1234] The terminal transmits the inputted information about ingredients in the refrigerator to the server.
[1235] Step 6:
[1236] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[1237] Step 7:
[1238] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[1239] Step 8:
[1240] The device sends past meal information to the server.
[1241] Step 9:
[1242] The server stores past meal information in a database and updates the user's meal history.
[1243] Step 10:
[1244] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[1245] Step 11:
[1246] The device sends information about the day's schedule and meal status to the server.
[1247] Step 12:
[1248] The server analyzes the received information and updates the database.
[1249] Step 13:
[1250] The user inputs his / her own emotional state using the emotion input interface on the terminal, for example, inputting "stressed, tired, relaxed."
[1251] Step 14:
[1252] The device transmits the emotion information to the server.
[1253] Step 15:
[1254] The server analyzes the received emotion information using an emotion engine and stores it in a database.
[1255] Step 16:
[1256] The server comprehensively analyzes information on ingredients, past meal information, the eating habits of the day, and emotional information, and in particular evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[1257] Step 17:
[1258] The server then uses the analysis results to create a menu that is optimal for the user. For example, if a user is suffering from a vitamin C deficiency and is feeling stressed, the server will create a menu of stir-fried chicken and vegetables, a mini salad, and relaxing chamomile tea.
[1259] Step 18:
[1260] The menu information generated by the server is sent to the terminal.
[1261] Step 19:
[1262] The device displays the received menu and cooking instructions to the user. For example, it displays "1. Wash and chop the carrots and spinach. 2. Stir-fry the chicken. 3. Add the vegetables and stir-fry."
[1263] In this way, the user can efficiently prepare a nutritionally balanced meal that is responsive to their time and emotional state.
[1264] Example 2
[1265] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1266] In today's busy lifestyles, users face a wide range of challenges when preparing their daily meals. It is particularly difficult to prepare meals that are nutritionally balanced, within a limited time frame, and in line with the user's emotional state that day. Using available ingredients without waste is also an important challenge. Under these circumstances, a system that allows users to prepare meals efficiently is needed.
[1267] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1268] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for acquiring information on the user's emotional state, a means for analyzing nutritional balance by integrating the above information, and a means for proposing an optimal menu, thereby enabling the user to easily determine the optimal menu that takes into account nutritional balance according to the emotional state and situation of the day.
[1269] "Ingredient information" is data relating to the types and quantities of ingredients purchased or owned by the user.
[1270] "Past meal information" is data relating to the menu and contents of meals the user has eaten in the past.
[1271] "Information about the eating situation for that day" is data about the user's plans and constraints for the entire day, such as the time and place of eating, and the amount of time available for cooking.
[1272] "Information about the user's emotional state" is data about the emotions and psychological state that the user subjectively feels, such as stress, fatigue, relaxation, and the like.
[1273] "Means for analyzing nutritional balance" refers to algorithms or analytical systems that evaluate whether a user is getting enough or not enough nutrients based on information about ingredients, past meal information, the eating habits of the day, and the user's emotional state.
[1274] The "means for proposing optimal menus" is a system that generates and proposes meal menus that optimize the user's health and emotional state based on the analysis results.
[1275] MODE FOR CARRYING OUT THE INVENTION
[1276] This invention provides a system that proposes optimal menus based on the user's diet, information on ingredients they own, their situation on that day, and their emotional state. The system is composed of the following elements:
[1277] Managing food ingredient information
[1278] The user inputs information about ingredients purchased from an online supermarket or ingredients in the refrigerator into the terminal. Specifically, the terminal is designed to input ingredient information such as "5 potatoes, 3 carrots, 500g of chicken" using text boxes and check boxes. The terminal verifies this information and sends it to the server after confirming its accuracy. The server stores the received information in a management database (e.g., MySQL) and keeps the ingredient information up to date.
[1279] Managing past meal information
[1280] The user inputs past meal information into the device. For example, the device is designed to input information such as "I had spaghetti for dinner yesterday and toast for breakfast" into the history input screen. The device checks the input information and sends accurate information to the server. The server saves the received information in a management database and records it as a meal history. This makes it possible to understand the user's preferences and trends.
[1281] Get status information for the day
[1282] The user inputs the day's schedule and meal information into the terminal. Specifically, the user enters information such as "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook for dinner" into the input screen. The terminal checks the format of the information and, after confirming that there are no errors, sends it to the server. The server saves the received information in a management database and records it as the day's schedule information.
[1283] Acquiring emotional information using an emotion engine
[1284] The user inputs their emotional state through an emotion input interface (e.g., Emotion API). For example, they select or write their emotional state, such as "stressed, tired, relaxed," on the input screen. The device sends the emotional information to the server, which then uses Emotion API to analyze the emotional state and saves it in a management database. This allows the user's emotional state to be understood and reflected in menu suggestions.
[1285] Nutritional balance analysis
[1286] The server uses a Python script to analyze the received information on ingredients, past meal information, the situation of the day, and emotional information. Specifically, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and determines ingredients and menus that suit the user's preferences.
[1287] Optimal menu generation and suggestions
[1288] The server generates an optimal menu based on all the information. For example, based on the analysis results, in a situation where "you only have 30 minutes to cook dinner," the server will suggest "chicken and vegetable stir-fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect. The generated menu information is sent to the terminal, which then displays the suggested menu and cooking instructions to the user.
[1289] Specific examples
[1290] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1291] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1292] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1293] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1294] 5. The user enters "stressful" as their current emotional state.
[1295] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[1296] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[1297] 8. The device displays the suggested menu and cooking instructions to the user.
[1298] Example prompts to input to the generative AI model
[1299] "Please suggest the optimal menu based on the user's ingredient information, past meal information, situational information for that day, and emotional information. As a specific example, the following information is entered: Ingredient information: 5 potatoes, 3 carrots, 500g chicken, 2 bananas, 1 bunch of spinach. Past meal information: Spaghetti for dinner yesterday, toast for breakfast. Today's situation information: Salad and pasta for lunch, only 30 minutes to cook for dinner. Emotional information: I'm very stressed. Please give me an example of a menu suggestion."
[1300] This system allows users to easily decide on the optimal menu based on their emotional state and situation that day, taking into account nutritional balance.
[1301] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1302] Program processing flow
[1303] Step 1: Gathering information about ingredients
[1304] Specific actions
[1305] The user inputs information about ingredients purchased at the online supermarket and ingredients in the refrigerator into the terminal.
[1306] Input: Type and quantity of ingredients (e.g. "5 potatoes, 3 carrots, 500g chicken")
[1307] The device verifies the ingredient information entered to ensure it is accurate.
[1308] Input: Check the format of the input information
[1309] Output: Verification result (if correct, proceed to next step)
[1310] The terminal transmits the information that has passed the verification to the server.
[1311] The server stores the incoming data in the FoodIngredients table in the MySQL database.
[1312] Output: Save food information data
[1313] Step 2: Collecting past dietary information
[1314] Specific actions
[1315] The user inputs past meal information into the terminal.
[1316] Input: Past meals (e.g., "I had spaghetti for dinner last night and toast for breakfast")
[1317] The device checks the input and sends accurate information to the server.
[1318] Input: Check the format of the input information
[1319] Output: Verification result (if correct, proceed to next step)
[1320] The server stores past meal information in the MealHistory table.
[1321] Output: Save past meal information data
[1322] Step 3: Gathering information about the day
[1323] Specific actions
[1324] The user inputs the day's plans and meal habits into the terminal.
[1325] Input: Your plan for the day (e.g., "Lunch at work is salad and pasta, and I only have 30 minutes to prepare dinner.")
[1326] The terminal checks the format of the information to ensure it is correct.
[1327] Input: Check the format of the input information
[1328] Output: Verification result (if correct, proceed to next step)
[1329] The server stores the status information for that day in the DaySchedule table.
[1330] Output: Save the status information data for that day
[1331] Step 4: Collecting emotional information
[1332] Specific actions
[1333] A user inputs his / her own emotional state into a terminal through an emotion input interface.
[1334] Input: Emotional state (e.g., "stressed, tired, relaxed")
[1335] The device transmits the emotion information to the server.
[1336] The server uses EmotionAPI to analyze the emotional state and stores it in the EmotionData table.
[1337] Output: Save emotional information data
[1338] Step 5: Nutritional analysis
[1339] Specific actions
[1340] The server analyzes nutritional balance based on the various information received.
[1341] Input: Ingredient information, past meal information, situation information for the day, emotional information
[1342] The server uses Python scripts to assess deficiencies and excesses of nutrients such as vitamins, minerals, and protein.
[1343] Output: Nutritional balance evaluation results
[1344] Step 6: Generate and suggest optimal menus
[1345] Specific actions
[1346] The server generates the optimal menu based on all the information.
[1347] Input: Nutritional balance assessment results, user preferences, emotional state
[1348] The server generates the optimal menu and sends it to the device.
[1349] Output: Generate optimal menu
[1350] The device displays the suggested menu and cooking instructions to the user.
[1351] Specific examples
[1352] The specific processing flow is as follows:
[1353] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[1354] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[1355] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[1356] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[1357] 5. The user inputs "stressful" as their current emotional state and sends it to the server.
[1358] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that takes nutritional balance into consideration and reduces stress.
[1359] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the terminal.
[1360] 8. The device displays the suggested menu and cooking instructions to the user.
[1361] (Application example 2)
[1362] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."
[1363] In today's busy lifestyles, it is difficult for users to efficiently prepare meals while maintaining an appropriate nutritional balance. Furthermore, the lack of a system that suggests meal menus tailored to the user's emotional state prevents users from making dietary choices that reduce stress. Furthermore, there is no system that minimizes food waste and suggests optimal meals by comprehensively considering past meal information and the situation on that day.
[1364] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring ingredient information, means for managing past meal information, means for acquiring information on the eating situation for that day, means for acquiring the user's emotional state, means for analyzing nutritional balance by combining the above information, means for proposing an optimal menu based on the user's emotional information, and means for ordering meals based on the proposed menu. This enables the user to efficiently prepare and order nutritionally balanced meals that suit their psychological state.
[1365] The "means for acquiring ingredient information" is a method for the user to input the type and quantity of ingredients they own and send that information to the server.
[1366] The "means for managing past meal information" is a method for a user to record the details of meals that they have eaten in the past and store them on a server.
[1367] The "means for acquiring information on the dietary habits of that day" is a method by which the user inputs the plans and dietary habits of that day and transmits that information to the server.
[1368] The "means for acquiring the user's emotional state" is a method by which the user inputs his or her current emotional state and transmits that information to the server.
[1369] The "means for analyzing nutritional balance" is a method for evaluating the nutritional status of a user based on food ingredient information, past meal information, eating habits, and emotional information.
[1370] The "means for proposing optimal menus based on the user's emotional information" is a method for proposing ingredients and menus that have psychological effects by taking into account the user's emotional state.
[1371] The "means for ordering meals based on the proposed menu" is a method by which a user can review the proposed menu and place an order online.
[1372] This invention provides a system that proposes an optimal menu based on the user's meal contents, information on ingredients in their possession, past meal history, eating situation on that day, and emotional information, and further allows the user to easily order the menu.
[1373] System Configuration
[1374] 1. Hardware and Software
[1375] Device: A user's personal device, such as a smartphone or tablet.
[1376] Server: Any cloud provider (e.g. AWS, Google Cloud).
[1377] HTTP request library: requests (implemented primarily in Python).
[1378] Processing flow
[1379] 1. Obtaining ingredient information
[1380] The user inputs the types and quantities of ingredients they own into the terminal, including ingredients purchased from the online supermarket and ingredients in their refrigerator.
[1381] The terminal sends the input information to the server using an HTTP request, and the server stores the received information in a database.
[1382] 2. Managing past meal information
[1383] The user inputs the details of past meals (e.g., yesterday's dinner and breakfast) into the terminal.
[1384] The device sends this information to the server, which stores it in a database.
[1385] 3. Obtaining information on the day's eating habits
[1386] The user inputs the day's plans and meal situation (e.g., what to eat for lunch, how long it will take to cook dinner) into the terminal.
[1387] The device sends this information to the server, which then keeps track of the situation for that day.
[1388] 4. Acquiring emotional information
[1389] The user inputs their current emotional state (e.g., stress, fatigue, relaxation) into the terminal.
[1390] The device sends this emotion information to the server, which then uses an emotion engine to store it in a database.
[1391] 5. Analysis of nutritional balance
[1392] The server analyzes the nutritional balance based on the received ingredient information, past meal information, eating habits, and emotional information. In particular, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and generates an optimal menu based on the results.
[1393] 6. Optimal menu suggestions
[1394] The server then uses the analysis results and emotional information to suggest a menu suited to the user's psychological state. For example, if the user is deficient in vitamin C, it will suggest a menu using ingredients rich in vitamin C. Furthermore, if the user is under a lot of stress, it will also suggest a menu using ingredients that have a relaxing effect.
[1395] The proposed menu information is sent to the terminal, which displays it to the user.
[1396] 7. Ordering food
[1397] It provides a function that allows users to easily order meals based on the proposed menu.
[1398] Specific examples
[1399] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1400] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1401] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1402] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1403] 5. The user enters "stressful" as their current emotional state.
[1404] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[1405] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[1406] 8. The device displays the suggested menu and cooking instructions to the user, who then orders the menu online.
[1407] Prompt Sentence Examples
[1408] "The user has entered the following ingredients: {"Potatoes": 5, "Carrots": 3, "Chicken": 500}
[1409] The user's emotional state is entered as "stressful." The user's past meal information is as follows: Spaghetti. The user's plans and diet for the day are as follows: Salad and pasta for lunch, and 30 minutes to cook dinner. Please suggest the best meal plan based on this information."
[1410] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1411] Step 1:
[1412] The user inputs information about ingredients they own into the terminal. Using a smartphone or tablet, the user inputs ingredients purchased from an online supermarket or ingredients in the refrigerator. This input information includes the type and quantity of ingredients (e.g., "5 potatoes, 3 carrots, 500g of chicken"). The terminal sends the input data to the server using an HTTP request. The server stores the received ingredient information in a database.
[1413] Step 2:
[1414] The user inputs past meal information into the terminal. The user inputs the details of the meals they have eaten in the past (e.g., "I had spaghetti for dinner yesterday and toast for breakfast yesterday") into the terminal. The terminal sends this information to the server via an HTTP request. The server saves the received data in a database and accumulates it as the user's meal history.
[1415] Step 3:
[1416] The user inputs information about the day's diet into the terminal. The user also inputs the plan and diet for that day (e.g., "I'll have salad and pasta for lunch, and only 30 minutes to prepare dinner"). The terminal sends the input data to the server using an HTTP request. The server saves this information in a database and uses it as the plan information for that day.
[1417] Step 4:
[1418] The user inputs their current emotional state into the device. The user inputs their current emotional state (e.g., "stressed, tired, relaxed"). The device sends the input emotional information to the server using an HTTP request. The server stores the received emotional information in a database and uses the emotion engine for analysis.
[1419] Step 5:
[1420] The server analyzes nutritional balance by synthesizing all the information it receives. The server evaluates the food ingredient information, past meal information, the eating habits of the day, and emotional information. Specifically, it evaluates the excess or deficiency of nutrients such as vitamins, minerals, and protein, and analyzes the user's nutritional status. The results of this analysis serve as the basic data for proposing optimal menus.
[1421] Step 6:
[1422] The server proposes the optimal menu taking into account the user's emotional information. The server selects ingredients and menu items that will ease the user's psychological state based on the emotional information as well as the results of the nutritional balance analysis. For example, if the user is deficient in vitamin C, it will suggest ingredients rich in vitamin C (e.g., spinach). If the user is feeling stressed, it will suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The proposed menu information is sent to the device using an HTTP request.
[1423] Step 7:
[1424] The device displays the suggested menu and cooking instructions to the user. The user can check the menu information and cooking instructions displayed on the device and select a menu that suits their lifestyle. Users can also easily order meals online based on the suggested menu.
[1425] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.
[1426] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1427] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.
[1428] [Fourth embodiment]
[1429] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.
[1430] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.
[1431] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).
[1432] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.
[1433] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.
[1434] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).
[1435] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.
[1436] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.
[1437] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.
[1438] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.
[1439] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.
[1440] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.
[1441] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1442] The present invention provides a system for proposing appropriate menus based on the user's meal contents and information on ingredients owned by the user. The system is configured as follows.
[1443] Managing food ingredient information
[1444] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to a server, which then stores the received information in a database. The user can also enter information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into the terminal. This makes it possible to always maintain the latest ingredient information.
[1445] Managing past meal information
[1446] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) through the device. The device sends this information to the server, which then stores the received information in a database. This allows the user's meal history to be accumulated, making it possible to understand the user's preferences and tendencies toward nutritional deficiencies.
[1447] Get status information for the day
[1448] The user inputs their plans and meal situation for the day (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into their device. The device sends this information to the server, which then understands the user's situation for the day. This information is then taken into consideration when suggesting the optimal menu.
[1449] Nutritional balance analysis
[1450] The server performs a comprehensive analysis of the food ingredient information it receives, past meal information, and the day's eating habits. For example, it evaluates whether a specific nutrient, such as a vitamin, mineral, or protein, is in excess or deficient state. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[1451] Optimal menu suggestions
[1452] Based on all this information, the server generates the optimal menu. For example, if there is only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." This allows for a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[1453] Specific examples
[1454] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1455] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1456] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1457] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1458] 5. The server receives this information and determines that you are deficient in vitamin C.
[1459] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[1460] 7. The device displays the suggested menu and cooking instructions to the user.
[1461] In this way, users can efficiently prepare nutritionally balanced meals, and the system is a convenient tool for reducing food waste and supporting user health.
[1462] The processing flow will be explained below.
[1463] Step 1:
[1464] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[1465] Step 2:
[1466] The terminal transmits the input ingredient information to the server.
[1467] Step 3:
[1468] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[1469] Step 4:
[1470] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[1471] Step 5:
[1472] The terminal also transmits the inputted information about ingredients in the refrigerator to the server.
[1473] Step 6:
[1474] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[1475] Step 7:
[1476] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[1477] Step 8:
[1478] The device sends past meal information to the server.
[1479] Step 9:
[1480] The server stores past meal information in a database and updates the user's meal history.
[1481] Step 10:
[1482] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[1483] Step 11:
[1484] The device sends information about the day's schedule and meal status to the server.
[1485] Step 12:
[1486] The server analyzes the received information and updates the database.
[1487] Step 13:
[1488] The server comprehensively analyzes food information, past meal information, and the current meal situation, and particularly evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[1489] Step 14:
[1490] The server then generates the optimal menu for the user based on the analysis results. For example, if the user is lacking in vitamin C, the server creates a "chicken and vegetable stir fry" and a "mini salad."
[1491] Step 15:
[1492] The menu information generated by the server is sent to the terminal.
[1493] Step 16:
[1494] The device displays the received menu and cooking instructions to the user. For example, it displays "cooking instructions for stir-fried chicken and vegetables" or "how to make a mini salad."
[1495] Through this series of processes, users can efficiently prepare nutritionally balanced meals within a limited cooking time.
[1496] Example 1
[1497] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1498] In today's busy lifestyles, it is difficult for users to efficiently prepare nutritionally balanced meals. In particular, a system is needed that can manage ingredients, track past meal history, and suggest optimal menus based on the schedule and constraints of the day. However, conventional systems lack the functionality to comprehensively manage this information and suggest appropriate menus to users, making it difficult for users to find nutritionally balanced menus without hassle.
[1499] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.
[1500] In this invention, the server includes means for inputting ingredient information and transmitting it to the server, means for inputting past meal information and transmitting it to the server, means for inputting plans and meal conditions for the day and transmitting it to the server, means for the server to store the received information in a database, means for the server to analyze the stored information and evaluate nutritional balance, means for the server to generate an optimal menu based on the analysis results and transmit it to the terminal, and means for the terminal to display the suggested menu. This allows the user to centrally manage multiple pieces of information and easily find a nutritionally balanced menu.
[1501] "Ingredient information" refers to detailed information such as the type, quantity, and purchase or possession date of specific ingredients purchased or possessed by the user.
[1502] "Past meal information" is information about the menu of meals the user has eaten in the past and the date and time of those meals.
[1503] "Situation information for that day" is information regarding the contents of meals the user plans to eat that day, time constraints, where to eat, and the like.
[1504] The "server" is a centralized computer system that receives, stores, and analyzes information about ingredients, past meals, and the day's situation.
[1505] A "terminal" is a device that allows a user to input information and that sends and receives information by communicating with a server.
[1506] A "database" is an information management system that stores information received by the server in an organized manner so that it can be used for later analysis and retrieval.
[1507] The "means for evaluating nutritional balance" is a function in which the server analyzes the user's nutritional intake status based on the data stored and determines whether a particular nutrient is in excess or deficiency.
[1508] The "means for generating an optimal menu" is a function in which the server uses the analysis results to create an optimal meal menu that matches the user's nutritional balance and the situation of the day.
[1509] The "means for displaying menu" is a function that visually presents the menu information received by the terminal from the server to the user.
[1510] The present invention is implemented using a computer system and software to provide a system that proposes appropriate menus based on the user's dietary details and information on ingredients they own. Specific embodiments of this system are described below.
[1511] System Configuration
[1512] The system consists of the following major components:
[1513] 1. Terminal: A device through which a user enters information (e.g., smartphone, tablet, computer).
[1514] 2. Server: A centralized computer system that receives, stores, analyzes, and generates information.
[1515] 3. Database: An information management system for storing the information received by the server.
[1516] Software used
[1517] 1. Input interface: Application software that allows users to input information about ingredients, past meals, and the situation of the day.
[1518] 2. Data analysis algorithm: Software that allows the server to analyze information and evaluate nutritional balance.
[1519] 3. Menu generation algorithm: Software that allows the server to generate optimal menus based on the analysis results.
[1520] Data processing and calculation
[1521] 1. Ingredient information management:
[1522] The user enters information about ingredients purchased from an online supermarket (e.g., "5 potatoes, 3 carrots, 500g of chicken") into the terminal.
[1523] The device sends this information to the server, which then stores it in a database. Users can also enter and send information about ingredients in their refrigerator (e.g., "two bananas, one bunch of spinach").
[1524] 2. Managing past dietary information:
[1525] The user inputs past meal information (e.g., "I had spaghetti for dinner last night and toast for breakfast") via the terminal.
[1526] The terminal sends this information to the server, and the server stores the received information in a database.
[1527] 3. Get the status information for the day:
[1528] The user inputs the day's plans and meal situation (e.g., "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner") into the terminal.
[1529] The device sends this information to the server, which then understands the user's situation that day. This information is then taken into consideration when suggesting the optimal menu.
[1530] 4. Nutritional Balance Analysis:
[1531] The server comprehensively analyzes the received food ingredient information, past meal information, and the eating situation of the day.
[1532] For example, it evaluates whether a specific nutrient, such as vitamins, minerals, or protein, is in excess or deficient. For example, if the analysis indicates a vitamin C deficiency, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[1533] 5. Optimal menu suggestions:
[1534] Based on all this information, the server will generate the optimal menu. For example, if you only have 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and "mini salad."
[1535] This allows the user to enjoy a nutritionally balanced meal while taking cooking time into consideration. The generated menu information is sent to the device, which then displays the suggested menu and cooking instructions to the user.
[1536] Specific examples
[1537] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1538] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1539] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1540] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1541] 5. The server receives this information and stores it in a database.
[1542] 6. The server determines that you are lacking in vitamin C and suggests a chicken and vegetable stir fry and a mini salad (using a banana).
[1543] 7. The device displays the suggested menu and cooking instructions to the user and prompts them to confirm.
[1544] Example prompt sentence:
[1545] When a user enters "I only have 30 minutes to cook dinner," they enter "I only have 30 minutes to cook dinner today."
[1546] The system helps users prepare nutritionally balanced meals efficiently, reducing food waste and supporting healthy living.
[1547] The flow of the identification process in the first embodiment will be described with reference to FIG.
[1548] Step 1:
[1549] The user inputs ingredient information into the terminal. For example, the user inputs specific ingredient information such as "5 potatoes, 3 carrots, and 500g of chicken," and the terminal converts this information into a data format. The input data includes details such as the ingredient name, quantity, and purchase date.
[1550] Input: Ingredient information entered by the user into the device
[1551] Output: Ingredient data formatted by the device
[1552] Step 2:
[1553] The terminal sends the ingredient information to the server. The terminal then sends the input ingredient data to the server via the network. The sent data includes information such as the ingredient name, quantity, and purchase date.
[1554] Input: Ingredient data formatted on the terminal
[1555] Output: Ingredient information data sent to the server
[1556] Step 3:
[1557] The server stores the received ingredient information in a database. The server analyzes the received ingredient information and stores it appropriately in the database. This ensures that the ingredient information held by the user is kept up to date.
[1558] Input: Ingredient information data sent to the server
[1559] Output: Ingredient data stored in the database
[1560] Step 4:
[1561] The user inputs past meal information into the device. For example, by inputting "I had spaghetti for dinner yesterday and toast for breakfast," the device converts this information into data format. The data includes the meal contents and date and time.
[1562] Input: Past meal information entered by the user into the device
[1563] Output: Past meal data formatted by the device
[1564] Step 5:
[1565] The device sends past meal information to the server. The device then sends the entered past meal data to the server via the network. The sent data includes the menu name and the date and time of intake.
[1566] Input: Past meal data formatted on the device
[1567] Output: Past meal information data sent to the server
[1568] Step 6:
[1569] The server stores the received past meal information in a database. The server analyzes the received past meal information and stores it appropriately in the database. This allows the user's meal history to be recorded and managed.
[1570] Input: Past meal information data sent to the server
[1571] Output: Past meal data stored in a database
[1572] Step 7:
[1573] The user inputs the day's plans and meal situation into the terminal. For example, by inputting "Today's lunch is salad and pasta, and I only have 30 minutes to cook dinner," the terminal converts this into a data format.
[1574] Input: The situation information of the day that the user entered into the terminal
[1575] Output: Terminal formatted status data for the day
[1576] Step 8:
[1577] The terminal sends the situation information for that day to the server. The terminal sends the entered situation data for that day to the server via the network. The sent data includes meal plans and time constraints.
[1578] Input: Terminal formatted status data for the day
[1579] Output: Status information data for that day sent to the server
[1580] Step 9:
[1581] The server stores the received status information for that day in a database. The server analyzes the received information and stores it appropriately in the database to understand the user's status for that day.
[1582] Input: Status information data for that day sent to the server
[1583] Output: The situation data for that day stored in the database
[1584] Step 10:
[1585] The server analyzes the data stored in the database and evaluates nutritional balance. The server comprehensively analyzes information about ingredients, past meals, and the situation on that day. For example, if there is a vitamin C deficiency, it considers ingredients and menus that will compensate for that deficiency.
[1586] Input: Multiple pieces of information stored in a database
[1587] Output: Nutritional balance analysis results
[1588] Step 11:
[1589] The server generates the optimal menu based on the analysis results, taking into account nutritional balance and cooking time, and creates the optimal menu for the user (e.g., "stir-fried chicken and vegetables" and "mini salad").
[1590] Input: Nutritional balance analysis results, user status data
[1591] Output: Generated optimal menu data
[1592] Step 12:
[1593] The server sends the generated menu information to the terminal. The server then sends the generated menu and its cooking instructions to the user terminal and instructs it to display them on the screen.
[1594] Input: Generated optimal menu data
[1595] Output: Menu information sent to the device
[1596] Step 13:
[1597] The terminal displays the proposed menu and cooking instructions to the user. The terminal receives the menu information sent from the server and visually presents it to the user. Specific cooking instructions and necessary ingredients are also displayed.
[1598] Input: Menu information sent from the server
[1599] Output: Menu and cooking instructions displayed to the user
[1600] (Application example 1)
[1601] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1602] In modern society, it is difficult to prepare appropriate meals in the midst of busy lifestyles. In particular, there is a lack of systems that provide nutritionally balanced menus that comprehensively consider individual ingredient information, past meal history, and the situation of the day. Furthermore, there is a need for systems that can smoothly link with food delivery services. To solve this problem, it is necessary to propose optimal menus based on the user's diverse information and food delivery services that match them.
[1603] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.
[1604] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for analyzing nutritional balance by integrating the above information, a means for proposing an optimal menu, and a means for proposing a food delivery service based on the optimal menu. This allows users to efficiently prepare nutritionally balanced meals even during busy lives, and also allows food to be delivered at the appropriate time.
[1605] "Ingredient information" refers to information such as the type and quantity of ingredients owned by the user, and the date of purchase.
[1606] "Past meal information" refers to records of the contents, dates, and amounts of meals that the user has eaten in the past.
[1607] "Information about the dietary situation for that day" refers to information such as the user's plans for that day, dietary restrictions, and available cooking time.
[1608] "Nutritional balance analysis" refers to the process of assessing the excess or deficiency of specific nutrients based on collected information on ingredients, past dietary information, and information on the dietary situation of the day.
[1609] "Optimal menu suggestion" refers to optimizing nutritional balance and generating and suggesting to the user a menu that meets the user's requirements.
[1610] "Food delivery service suggestion" refers to suggesting appropriate food delivery options to a user based on an optimal menu.
[1611] This system acquires information on ingredients owned by the user, past meal information, and daily meal situation, and performs a comprehensive analysis to propose optimal menus. Furthermore, it provides an appropriate food delivery service based on these proposals. The components of this system and their functions are described below.
[1612] System configuration
[1613] 1. Ingredient information management:
[1614] Users enter information about ingredients purchased from the online supermarket and ingredients in their refrigerator into a device such as a smartphone. The device then sends this information to the server, which then stores it in a database.
[1615] 2. Managing past dietary information:
[1616] Users input information about their past meals into the device, which is then sent to the server and stored in a database.
[1617] 3. Get the status information for the day:
[1618] The user inputs the day's plans and meal situation (for example, the time available for cooking) into the terminal. This information is also sent to the server and used as basic data to understand the situation for that day.
[1619] 4. Nutritional Balance Analysis:
[1620] The server evaluates the excess or deficiency of specific nutrients and analyzes nutritional balance based on the collected information on ingredients, past meal information, and information on the eating habits of the day.
[1621] 5. Optimal menu suggestions:
[1622] The server generates an optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This menu is sent to the terminal and displayed to the user.
[1623] 6. Food delivery service proposal:
[1624] Based on the generated menu, the server suggests food delivery service options that can deliver within a specified time frame.
[1625] Natural language explanation of the process
[1626] Hardware / Software used:
[1627] Flask: A Python web application framework used to provide API endpoints.
[1628] Database Management: Database systems such as SQLite and MySQL can be used to store and manage data.
[1629] Data analysis: Deep learning models such as TensorFlow and PyTorch are used to analyze nutritional balance.
[1630] Data processing / data calculation:
[1631] 1. Ingredient information management:
[1632] The ingredient information entered by the user is stored in a database.
[1633] 2. Managing past dietary information:
[1634] Past meal history is stored in a database.
[1635] 3. Get the status information for the day:
[1636] Store user schedules and cooking time information in a database.
[1637] 4. Nutritional Balance Analysis:
[1638] The stored data is comprehensively analyzed to assess whether there are any excesses or deficiencies of specific nutrients.
[1639] 5. Optimal menu suggestions:
[1640] Based on the analysis results, the optimal menu that meets the user's requirements is generated.
[1641] 6. Food delivery service proposal:
[1642] Suggest food delivery options that fit your menu.
[1643] Specific examples
[1644] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[1645] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[1646] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[1647] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[1648] 5. The server receives this information and determines that you are deficient in vitamin C.
[1649] 6. The server suggests "stir-fried chicken and vegetables" and "mini salad (using banana)" and sends them to the terminal.
[1650] 7. Consider the food delivery services that the server can handle and suggest "Chinese food delivered within 25 minutes" and "salad delivered within 20 minutes."
[1651] In this way, users can efficiently prepare a nutritiously balanced meal and, if necessary, are encouraged to use appropriate food delivery services.
[1652] "Please suggest the optimal dinner menu and food delivery options based on user ID: 123's ingredient information (5 potatoes, 3 carrots, 500g chicken), past meal information (spaghetti, toast), today's schedule (salad and pasta for lunch, only 30 minutes to prepare dinner), and past nutritional analysis results (vitamin C deficiency)."
[1653] This system allows users to efficiently consume nutritionally balanced meals.
[1654] The flow of the specific processing in the application example 1 will be described with reference to FIG.
[1655] Step 1:
[1656] The user inputs information about ingredients purchased from the online supermarket and ingredients in the refrigerator into the terminal. The terminal then sends this information to the server. This input includes the type of ingredient, quantity, purchase date, etc. The server stores the received information in a database, ensuring that the latest ingredient information is always kept.
[1657] Step 2:
[1658] The user inputs information about past meals into the device. This information includes the type of meal, the date of meal, and the amount. The device then sends this information to the server, which then stores the received information in a database. This allows the user's dietary history to be accumulated and the user's preferences and tendency for nutritional deficiencies to be identified.
[1659] Step 3:
[1660] The user inputs their plans for the day and their meal situation (for example, the time they can cook) into the terminal. The terminal sends this information to the server, which then understands the user's situation for the day. This input includes the user's schedule and the time they can cook. The server then stores the user's situation in real time in a database.
[1661] Step 4:
[1662] The server comprehensively analyzes the received information on ingredients, past dietary information, and information on the dietary situation for that day. Generative AI models such as TensorFlow and PyTorch are used to evaluate whether specific nutrients are in excess or deficient. Specifically, the system analyzes the user's nutritional status based on nutrient content and intake history, and identifies any nutrients that are lacking.
[1663] Step 5:
[1664] The server generates the optimal menu taking into account the results of the nutritional balance analysis and the user's situation on that day. This generation uses Python logic to generate a menu that meets the user's requirements. The generated menu information is sent to the terminal and displayed to the user. For example, if a user is deficient in vitamin C, a menu using ingredients rich in vitamin C will be suggested.
[1665] Step 6:
[1666] The server reviews available delivery options to suggest an appropriate food delivery service, including delivery times and menu options. Based on the optimal menu, it recommends foods that can be delivered within a specified time frame. This information is also sent to the device and provided to the user.
[1667] Step 7:
[1668] Finally, users can review and select the suggested menu and food delivery service options via their device. This provides information such as ingredients needed for the menu, cooking instructions, and delivery options in one place, allowing users to efficiently prepare meals. They can also easily order food if needed.
[1669] Through these steps, the system helps users prepare nutritionally balanced meals efficiently and promotes the use of appropriate food delivery services, thereby improving user convenience.
[1670] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.
[1671] The present invention provides a system that proposes optimal menus based on the user's emotional state in addition to the user's dietary details and information on ingredients owned by the user. The system is configured as follows.
[1672] Managing food ingredient information
[1673] A user enters information about ingredients purchased from an online supermarket (e.g., 5 potatoes, 3 carrots, 500g of chicken) into a terminal. The terminal sends this information to the server, which then stores the received information in a database. Similarly, a user enters information about ingredients in the refrigerator (e.g., 2 bananas, 1 liter of milk, 1 bunch of spinach) into a terminal, which then sends this information to the server. This ensures that the latest ingredient information is always maintained.
[1674] Managing past meal information
[1675] The user inputs past meal information (e.g., spaghetti for dinner yesterday, toast for breakfast) into the device. The device then sends the past meal information to the server, which then stores the received information in a database. This allows the system to accumulate the user's meal history and understand the user's preferences and tendencies toward nutritional deficiencies.
[1676] Get status information for the day
[1677] The user inputs their plans for the day and their meal situation (e.g., they have salad and pasta for lunch at work, but only 30 minutes to cook for dinner) into the device. The device sends this information to the server, which then understands the user's situation for the day. This information is taken into consideration when proposing the optimal menu.
[1678] Acquiring emotional information using an emotion engine
[1679] The user inputs their emotional state (e.g., stressed, tired, relaxed) into the device through an emotion input interface. The device then sends this emotional information to the server, which then uses an emotion engine to store it in a database. This allows the user's emotional state to be grasped in real time and reflected in menu suggestions.
[1680] Nutritional balance analysis
[1681] The server comprehensively analyzes the received information on ingredients, past meal information, the day's eating habits, and emotional information. In particular, it evaluates whether the user is lacking or over-excessive nutrients such as vitamins, minerals, and protein. It also suggests ingredients and menus that suit the user's preferences based on the user's emotional state. For example, if the analysis indicates that the user is lacking in vitamin C, it will suggest a menu using ingredients rich in vitamin C (e.g., spinach).
[1682] Optimal menu suggestions
[1683] Based on all this information, the server generates the optimal menu. For example, if the user has only 30 minutes for dinner, the server will suggest "stir-fried chicken and vegetables" and a "mini salad." Furthermore, if the user is feeling stressed, the server will also suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The generated menu information is sent to the terminal, which displays the suggested menu and cooking instructions to the user.
[1684] Specific examples
[1685] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1686] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1687] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1688] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1689] 5. The user enters "stressful" as their current emotional state.
[1690] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[1691] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[1692] 8. The device displays the suggested menu and cooking instructions to the user.
[1693] In this way, users can efficiently prepare nutritionally balanced meals according to their limited cooking time and their emotional state of the day. This system is a convenient tool for reducing food waste and supporting the overall health and psychological state of users.
[1694] The processing flow will be explained below.
[1695] Step 1:
[1696] The user enters the information about ingredients purchased from the online supermarket into the terminal. For example, they enter "5 potatoes, 3 carrots, and 500g of chicken."
[1697] Step 2:
[1698] The terminal transmits the input ingredient information to the server.
[1699] Step 3:
[1700] The server stores the received ingredient information in a database, along with the type, quantity, and expiration date of the ingredient.
[1701] Step 4:
[1702] The user inputs information about ingredients in the refrigerator into the terminal. For example, "two bananas, one bunch of spinach."
[1703] Step 5:
[1704] The terminal transmits the inputted information about ingredients in the refrigerator to the server.
[1705] Step 6:
[1706] The server stores the information about ingredients in these refrigerators in a database and integrates it with existing ingredient information.
[1707] Step 7:
[1708] The user inputs past meal information into the terminal. For example, "I had spaghetti for dinner yesterday and toast for breakfast."
[1709] Step 8:
[1710] The device sends past meal information to the server.
[1711] Step 9:
[1712] The server stores past meal information in a database and updates the user's meal history.
[1713] Step 10:
[1714] The user inputs the day's schedule and meal information into the terminal. For example, "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook dinner."
[1715] Step 11:
[1716] The device sends information about the day's schedule and meal status to the server.
[1717] Step 12:
[1718] The server analyzes the received information and updates the database.
[1719] Step 13:
[1720] The user inputs his / her own emotional state using the emotion input interface on the terminal, for example, inputting "stressed, tired, relaxed."
[1721] Step 14:
[1722] The device transmits the emotion information to the server.
[1723] Step 15:
[1724] The server analyzes the received emotion information using an emotion engine and stores it in a database.
[1725] Step 16:
[1726] The server comprehensively analyzes information on ingredients, past meal information, the eating habits of the day, and emotional information, and in particular evaluates nutritional balance (excess or deficiency of vitamins, minerals, protein, etc.).
[1727] Step 17:
[1728] The server then uses the analysis results to create a menu that is optimal for the user. For example, if a user is suffering from a vitamin C deficiency and is feeling stressed, the server will create a menu of stir-fried chicken and vegetables, a mini salad, and relaxing chamomile tea.
[1729] Step 18:
[1730] The menu information generated by the server is sent to the terminal.
[1731] Step 19:
[1732] The device displays the received menu and cooking instructions to the user. For example, it displays "1. Wash and chop the carrots and spinach. 2. Stir-fry the chicken. 3. Add the vegetables and stir-fry."
[1733] In this way, the user can efficiently prepare a nutritionally balanced meal that is responsive to their time and emotional state.
[1734] Example 2
[1735] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1736] In today's busy lifestyles, users face a wide range of challenges when preparing their daily meals. It is particularly difficult to prepare meals that are nutritionally balanced, within a limited time frame, and in line with the user's emotional state that day. Using available ingredients without waste is also an important challenge. Under these circumstances, a system that allows users to prepare meals efficiently is needed.
[1737] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.
[1738] In this invention, the server includes a means for acquiring ingredient information, a means for managing past meal information, a means for acquiring information on the eating habits of the day, a means for acquiring information on the user's emotional state, a means for analyzing nutritional balance by integrating the above information, and a means for proposing an optimal menu, thereby enabling the user to easily determine the optimal menu that takes into account nutritional balance according to the emotional state and situation of the day.
[1739] "Ingredient information" is data relating to the types and quantities of ingredients purchased or owned by the user.
[1740] "Past meal information" is data relating to the menu and contents of meals the user has eaten in the past.
[1741] "Information about the eating situation for that day" is data about the user's plans and constraints for the entire day, such as the time and place of eating, and the amount of time available for cooking.
[1742] "Information about the user's emotional state" is data about the emotions and psychological state that the user subjectively feels, such as stress, fatigue, relaxation, and the like.
[1743] "Means for analyzing nutritional balance" refers to algorithms or analytical systems that evaluate whether a user is getting enough or not enough nutrients based on information about ingredients, past meal information, the eating habits of the day, and the user's emotional state.
[1744] The "means for proposing optimal menus" is a system that generates and proposes meal menus that optimize the user's health and emotional state based on the analysis results.
[1745] MODE FOR CARRYING OUT THE INVENTION
[1746] This invention provides a system that proposes optimal menus based on the user's diet, information on ingredients they own, their situation on that day, and their emotional state. The system is composed of the following elements:
[1747] Managing food ingredient information
[1748] The user inputs information about ingredients purchased from an online supermarket or ingredients in the refrigerator into the terminal. Specifically, the terminal is designed to input ingredient information such as "5 potatoes, 3 carrots, 500g of chicken" using text boxes and check boxes. The terminal verifies this information and sends it to the server after confirming its accuracy. The server stores the received information in a management database (e.g., MySQL) and keeps the ingredient information up to date.
[1749] Managing past meal information
[1750] The user inputs past meal information into the device. For example, the device is designed to input information such as "I had spaghetti for dinner yesterday and toast for breakfast" into the history input screen. The device checks the input information and sends accurate information to the server. The server saves the received information in a management database and records it as a meal history. This makes it possible to understand the user's preferences and trends.
[1751] Get status information for the day
[1752] The user inputs the day's schedule and meal information into the terminal. Specifically, the user enters information such as "I'll have salad and pasta for lunch at work, and I only have 30 minutes to cook for dinner" into the input screen. The terminal checks the format of the information and, after confirming that there are no errors, sends it to the server. The server saves the received information in a management database and records it as the day's schedule information.
[1753] Acquiring emotional information using an emotion engine
[1754] The user inputs their emotional state through an emotion input interface (e.g., Emotion API). For example, they select or write their emotional state, such as "stressed, tired, relaxed," on the input screen. The device sends the emotional information to the server, which then uses Emotion API to analyze the emotional state and saves it in a management database. This allows the user's emotional state to be understood and reflected in menu suggestions.
[1755] Nutritional balance analysis
[1756] The server uses a Python script to analyze the received information on ingredients, past meal information, the situation of the day, and emotional information. Specifically, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and determines ingredients and menus that suit the user's preferences.
[1757] Optimal menu generation and suggestions
[1758] The server generates an optimal menu based on all the information. For example, based on the analysis results, in a situation where "you only have 30 minutes to cook dinner," the server will suggest "chicken and vegetable stir-fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect. The generated menu information is sent to the terminal, which then displays the suggested menu and cooking instructions to the user.
[1759] Specific examples
[1760] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1761] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1762] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1763] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1764] 5. The user enters "stressful" as their current emotional state.
[1765] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[1766] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[1767] 8. The device displays the suggested menu and cooking instructions to the user.
[1768] Example prompts to input to the generative AI model
[1769] "Please suggest the optimal menu based on the user's ingredient information, past meal information, situational information for that day, and emotional information. As a specific example, the following information is entered: Ingredient information: 5 potatoes, 3 carrots, 500g chicken, 2 bananas, 1 bunch of spinach. Past meal information: Spaghetti for dinner yesterday, toast for breakfast. Today's situation information: Salad and pasta for lunch, only 30 minutes to cook for dinner. Emotional information: I'm very stressed. Please give me an example of a menu suggestion."
[1770] This system allows users to easily decide on the optimal menu based on their emotional state and situation that day, taking into account nutritional balance.
[1771] The flow of the identification process in the second embodiment will be described with reference to FIG.
[1772] Program processing flow
[1773] Step 1: Gathering information about ingredients
[1774] Specific actions
[1775] The user inputs information about ingredients purchased at the online supermarket and ingredients in the refrigerator into the terminal.
[1776] Input: Type and quantity of ingredients (e.g. "5 potatoes, 3 carrots, 500g chicken")
[1777] The device verifies the ingredient information entered to ensure it is accurate.
[1778] Input: Check the format of the input information
[1779] Output: Verification result (if correct, proceed to next step)
[1780] The terminal transmits the information that has passed the verification to the server.
[1781] The server stores the incoming data in the FoodIngredients table in the MySQL database.
[1782] Output: Save food information data
[1783] Step 2: Collecting past dietary information
[1784] Specific actions
[1785] The user inputs past meal information into the terminal.
[1786] Input: Past meals (e.g., "I had spaghetti for dinner last night and toast for breakfast")
[1787] The device checks the input and sends accurate information to the server.
[1788] Input: Check the format of the input information
[1789] Output: Verification result (if correct, proceed to next step)
[1790] The server stores past meal information in the MealHistory table.
[1791] Output: Save past meal information data
[1792] Step 3: Gathering information about the day
[1793] Specific actions
[1794] The user inputs the day's plans and meal habits into the terminal.
[1795] Input: Your plan for the day (e.g., "Lunch at work is salad and pasta, and I only have 30 minutes to prepare dinner.")
[1796] The terminal checks the format of the information to ensure it is correct.
[1797] Input: Check the format of the input information
[1798] Output: Verification result (if correct, proceed to next step)
[1799] The server stores the status information for that day in the DaySchedule table.
[1800] Output: Save the status information data for that day
[1801] Step 4: Collecting emotional information
[1802] Specific actions
[1803] A user inputs his / her own emotional state into a terminal through an emotion input interface.
[1804] Input: Emotional state (e.g., "stressed, tired, relaxed")
[1805] The device transmits the emotion information to the server.
[1806] The server uses EmotionAPI to analyze the emotional state and stores it in the EmotionData table.
[1807] Output: Save emotional information data
[1808] Step 5: Nutritional analysis
[1809] Specific actions
[1810] The server analyzes nutritional balance based on the various information received.
[1811] Input: Ingredient information, past meal information, situation information for the day, emotional information
[1812] The server uses Python scripts to assess deficiencies and excesses of nutrients such as vitamins, minerals, and protein.
[1813] Output: Nutritional balance evaluation results
[1814] Step 6: Generate and suggest optimal menus
[1815] Specific actions
[1816] The server generates the optimal menu based on all the information.
[1817] Input: Nutritional balance assessment results, user preferences, emotional state
[1818] The server generates the optimal menu and sends it to the device.
[1819] Output: Generate optimal menu
[1820] The device displays the suggested menu and cooking instructions to the user.
[1821] Specific examples
[1822] The specific processing flow is as follows:
[1823] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal and sends them to the server.
[1824] 2. The user enters the information about the contents of the refrigerator ("2 bananas, 1 bunch of spinach") into the terminal and sends it to the server.
[1825] 3. The user enters "spaghetti" for dinner and "toast" for breakfast yesterday and sends this information to the server.
[1826] 4. The user enters "salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner, and submits these to the server.
[1827] 5. The user inputs "stressful" as their current emotional state and sends it to the server.
[1828] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that takes nutritional balance into consideration and reduces stress.
[1829] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the terminal.
[1830] 8. The device displays the suggested menu and cooking instructions to the user.
[1831] (Application example 2)
[1832] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."
[1833] In today's busy lifestyles, it is difficult for users to efficiently prepare meals while maintaining an appropriate nutritional balance. Furthermore, the lack of a system that suggests meal menus tailored to the user's emotional state prevents users from making dietary choices that reduce stress. Furthermore, there is no system that minimizes food waste and suggests optimal meals by comprehensively considering past meal information and the situation on that day.
[1834] The specification processing by the specification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for acquiring ingredient information, means for managing past meal information, means for acquiring information on the eating situation for that day, means for acquiring the user's emotional state, means for analyzing nutritional balance by combining the above information, means for proposing an optimal menu based on the user's emotional information, and means for ordering meals based on the proposed menu. This enables the user to efficiently prepare and order nutritionally balanced meals that suit their psychological state.
[1835] The "means for acquiring ingredient information" is a method for the user to input the type and quantity of ingredients they own and send that information to the server.
[1836] The "means for managing past meal information" is a method for a user to record the details of meals that they have eaten in the past and store them on a server.
[1837] The "means for acquiring information on the dietary habits of that day" is a method by which the user inputs the plans and dietary habits of that day and transmits that information to the server.
[1838] The "means for acquiring the user's emotional state" is a method by which the user inputs his or her current emotional state and transmits that information to the server.
[1839] The "means for analyzing nutritional balance" is a method for evaluating the nutritional status of a user based on food ingredient information, past meal information, eating habits, and emotional information.
[1840] The "means for proposing optimal menus based on the user's emotional information" is a method for proposing ingredients and menus that have psychological effects by taking into account the user's emotional state.
[1841] The "means for ordering meals based on the proposed menu" is a method by which a user can review the proposed menu and place an order online.
[1842] This invention provides a system that proposes an optimal menu based on the user's meal contents, information on ingredients in their possession, past meal history, eating situation on that day, and emotional information, and further allows the user to easily order the menu.
[1843] System Configuration
[1844] 1. Hardware and Software
[1845] Device: A user's personal device, such as a smartphone or tablet.
[1846] Server: Any cloud provider (e.g. AWS, Google Cloud).
[1847] HTTP request library: requests (implemented primarily in Python).
[1848] Processing flow
[1849] 1. Obtaining ingredient information
[1850] The user inputs the types and quantities of ingredients they own into the terminal, including ingredients purchased from the online supermarket and ingredients in their refrigerator.
[1851] The terminal sends the input information to the server using an HTTP request, and the server stores the received information in a database.
[1852] 2. Managing past meal information
[1853] The user inputs the details of past meals (e.g., yesterday's dinner and breakfast) into the terminal.
[1854] The device sends this information to the server, which stores it in a database.
[1855] 3. Obtaining information on the day's eating habits
[1856] The user inputs the day's plans and meal situation (e.g., what to eat for lunch, how long it will take to cook dinner) into the terminal.
[1857] The device sends this information to the server, which then keeps track of the situation for that day.
[1858] 4. Acquiring emotional information
[1859] The user inputs their current emotional state (e.g., stress, fatigue, relaxation) into the terminal.
[1860] The device sends this emotion information to the server, which then uses an emotion engine to store it in a database.
[1861] 5. Analysis of nutritional balance
[1862] The server analyzes the nutritional balance based on the received ingredient information, past meal information, eating habits, and emotional information. In particular, it evaluates whether there are excesses or deficiencies of nutrients such as vitamins, minerals, and protein, and generates an optimal menu based on the results.
[1863] 6. Optimal menu suggestions
[1864] The server then uses the analysis results and emotional information to suggest a menu suited to the user's psychological state. For example, if the user is deficient in vitamin C, it will suggest a menu using ingredients rich in vitamin C. Furthermore, if the user is under a lot of stress, it will also suggest a menu using ingredients that have a relaxing effect.
[1865] The proposed menu information is sent to the terminal, which displays it to the user.
[1866] 7. Ordering food
[1867] It provides a function that allows users to easily order meals based on the proposed menu.
[1868] Specific examples
[1869] 1. The user enters the items purchased from the online supermarket (5 potatoes, 3 carrots, and 500g of chicken) into the terminal.
[1870] 2. The user enters the contents of the refrigerator (2 bananas and 1 bunch of spinach) into the terminal.
[1871] 3. A user enters that they had "spaghetti" for dinner yesterday and "toast" for breakfast.
[1872] 4. The user enters "Salad and pasta" for lunch today and "I only have 30 minutes to cook" for dinner.
[1873] 5. The user enters "stressful" as their current emotional state.
[1874] 6. The server receives this information, determines that the person is lacking in vitamin C, and suggests a menu that will reduce stress.
[1875] 7. The server suggests "chicken and vegetable stir fry" and "mini salad," as well as "chamomile tea," which is expected to have a relaxing effect, and sends these to the device.
[1876] 8. The device displays the suggested menu and cooking instructions to the user, who then orders the menu online.
[1877] Prompt Sentence Examples
[1878] "The user has entered the following ingredients: {"Potatoes": 5, "Carrots": 3, "Chicken": 500}
[1879] The user's emotional state is entered as "stressful." The user's past meal information is as follows: Spaghetti. The user's plans and diet for the day are as follows: Salad and pasta for lunch, and 30 minutes to cook dinner. Please suggest the best meal plan based on this information."
[1880] The flow of the specific processing in the application example 2 will be described with reference to FIG.
[1881] Step 1:
[1882] The user inputs information about ingredients they own into the terminal. Using a smartphone or tablet, the user inputs ingredients purchased from an online supermarket or ingredients in the refrigerator. This input information includes the type and quantity of ingredients (e.g., "5 potatoes, 3 carrots, 500g of chicken"). The terminal sends the input data to the server using an HTTP request. The server stores the received ingredient information in a database.
[1883] Step 2:
[1884] The user inputs past meal information into the terminal. The user inputs the details of the meals they have eaten in the past (e.g., "I had spaghetti for dinner yesterday and toast for breakfast yesterday") into the terminal. The terminal sends this information to the server via an HTTP request. The server saves the received data in a database and accumulates it as the user's meal history.
[1885] Step 3:
[1886] The user inputs information about the day's diet into the terminal. The user also inputs the plan and diet for that day (e.g., "I'll have salad and pasta for lunch, and only 30 minutes to prepare dinner"). The terminal sends the input data to the server using an HTTP request. The server saves this information in a database and uses it as the plan information for that day.
[1887] Step 4:
[1888] The user inputs their current emotional state into the device. The user inputs their current emotional state (e.g., "stressed, tired, relaxed"). The device sends the input emotional information to the server using an HTTP request. The server stores the received emotional information in a database and uses the emotion engine for analysis.
[1889] Step 5:
[1890] The server analyzes nutritional balance by synthesizing all the information it receives. The server evaluates the food ingredient information, past meal information, the eating habits of the day, and emotional information. Specifically, it evaluates the excess or deficiency of nutrients such as vitamins, minerals, and protein, and analyzes the user's nutritional status. The results of this analysis serve as the basic data for proposing optimal menus.
[1891] Step 6:
[1892] The server proposes the optimal menu taking into account the user's emotional information. The server selects ingredients and menu items that will ease the user's psychological state based on the emotional information as well as the results of the nutritional balance analysis. For example, if the user is deficient in vitamin C, it will suggest ingredients rich in vitamin C (e.g., spinach). If the user is feeling stressed, it will suggest a menu using ingredients that have a relaxing effect (e.g., chamomile). The proposed menu information is sent to the device using an HTTP request.
[1893] Step 7:
[1894] The device displays the suggested menu and cooking instructions to the user. The user can check the menu information and cooking instructions displayed on the device and select a menu that suits their lifestyle. Users can also easily order meals online based on the suggested menu.
[1895] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.
[1896] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.
[1897] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.
[1898] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.
[1899] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.
[1900] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.
[1901] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).
[1902] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.
[1903] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."
[1904] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.
[1905] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).
[1906] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.
[1907] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.
[1908] 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.
[1909] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.
[1910] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.
[1911] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.
[1912] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.
[1913] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.
[1914] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.
[1915] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.
[1916] The following is further disclosed regarding the above embodiment.
[1917] (Claim 1)
[1918] A means for acquiring ingredient information;
[1919] A means for managing past meal information;
[1920] A means for acquiring information on the dietary situation of that day;
[1921] A means of analyzing nutritional balance by synthesizing the above information,
[1922] A way to suggest the best menu,
[1923] A system including:
[1924] (Claim 2)
[1925] 2. The system according to claim 1, further comprising means for managing expiration dates of ingredients and preferentially suggesting ingredients with an approaching expiration date.
[1926] (Claim 3)
[1927] 2. The system according to claim 1, further comprising means for acquiring cooking time information and suggesting an optimal menu.
[1928] "Example 1"
[1929] (Claim 1)
[1930] A means for inputting ingredient information and transmitting it to a server;
[1931] A means for inputting past meal information and transmitting it to a server;
[1932] A means for inputting the schedule and meal situation for that day and transmitting it to a server;
[1933] means for the server to store the received information in a database;
[1934] A means for the server to analyze the stored information and evaluate nutritional balance;
[1935] A means for the server to generate an optimal menu based on the analysis results and transmit the menu to the terminal;
[1936] means for the terminal to display the suggested menu;
[1937] A system including:
[1938] (Claim 2)
[1939] 2. The system according to claim 1, further comprising means for managing expiration dates of ingredients and preferentially suggesting ingredients with an approaching expiration date.
[1940] (Claim 3)
[1941] 2. The system according to claim 1, further comprising means for acquiring cooking time information and suggesting an optimal menu.
[1942] "Application Example 1"
[1943] (Claim 1)
[1944] A means for acquiring ingredient information;
[1945] A means for managing past meal information;
[1946] A means for acquiring information on the dietary situation of that day;
[1947] A means of analyzing nutritional balance by synthesizing the above information,
[1948] A way to suggest the best menu,
[1949] A means for proposing a food delivery service based on an optimal menu;
[1950] A system including:
[1951] (Claim 2)
[1952] The system according to claim 1, wherein the expiration dates of ingredients are managed and ingredients with an approaching expiration date are preferentially suggested.
[1953] (Claim 3)
[1954] 2. The system according to claim 1, further comprising means for acquiring cooking time information and suggesting an optimal menu.
[1955] "Example 2: Combining Emotion Engines"
[1956] (Claim 1)
[1957] A means for acquiring ingredient information;
[1958] A means for managing past meal information;
[1959] A means for acquiring information on the dietary situation of that day;
[1960] means for obtaining information about a user's emotional state;
[1961] A means of analyzing nutritional balance by synthesizing the above information,
[1962] A way to suggest the best menu,
[1963] A system including:
[1964] (Claim 2)
[1965] 2. The system according to claim 1, further comprising means for managing expiration dates of ingredients and preferentially suggesting ingredients with an approaching expiration date.
[1966] (Claim 3)
[1967] 2. The system according to claim 1, further comprising means for acquiring cooking time information and suggesting an optimal menu.
[1968] "Application example 2 when combining emotion engines"
[1969] (Claim 1)
[1970] A means for acquiring ingredient information;
[1971] A means for managing past meal information;
[1972] A means for acquiring information on the dietary situation of that day;
[1973] means for capturing an emotional state of a user;
[1974] A means of analyzing nutritional balance by synthesizing the above information,
[1975] A means for suggesting optimal menus based on the user's emotional information;
[1976] A system including:
[1977] (Claim 2)
[1978] 2. The system according to claim 1, further comprising means for managing expiration dates of ingredients and preferentially suggesting ingredients with an approaching expiration date.
[1979] (Claim 3)
[1980] 2. The system according to claim 1, further comprising means for acquiring cooking time information and suggesting an optimal menu.
[1981] (Claim 4)
[1982] 10. The system of claim 1, further comprising means for ordering a meal based on the suggested menu. [Explanation of symbols]
[1983] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>
Claims
1. A means for acquiring ingredient information; A means for managing past meal information; A means for acquiring information on the dietary situation of that day; A means of analyzing nutritional balance by synthesizing the above information, A way to suggest the best menu, A system including:
2. The system according to claim 1, further comprising means for managing expiration dates of ingredients and preferentially suggesting ingredients whose expiration dates are approaching.
3. The system according to claim 1, further comprising means for acquiring cooking time information and suggesting an optimal menu.
Citation Information
Patent Citations
Persona chatbot control method and system
JP2022180282A